Laser500 Core

User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Laser500 Core

Unread post by NML32 »

Could the Video Technology Laser 350/500/700 for the MiST FPGA be ported to the MiSTer?

Source: https://github.com/nippur72/Laser500_MiST

Forum topic: https://www.atari-forum.com/viewtopic.php?f=115&t=36757
dshadoff
Core Developer
Posts: 534
Joined: Sun May 24, 2020 9:30 pm
Has thanked: 19 times
Been thanked: 141 times

Re: Laser500 Core

Unread post by dshadoff »

I think that anything on MIST can probably be ported to MiSTer... but it would need to be done by somebody who wants to do it - for their own personal reasons.
User avatar
Moondandy
Top Contributor
Posts: 535
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 32 times
Been thanked: 97 times

Re: Laser500 Core

Unread post by Moondandy »

It's using Sorgs T80 core, maybe of interest to him? Weird to see new computer cores being developed for MiST and not MiSter.
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Laser500 Core

Unread post by alanswx »

I did an initial port, but I had trouble with the disk drive and the tape I believe. I couldn't get it to load software.

https://github.com/alanswx/Laser310_MiSTer
dshadoff
Core Developer
Posts: 534
Joined: Sun May 24, 2020 9:30 pm
Has thanked: 19 times
Been thanked: 141 times

Re: Laser500 Core

Unread post by dshadoff »

Were you able to enter a brief BASIC program and get it to run ?
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: Laser500 Core

Unread post by NML32 »

alanswx wrote: Wed Jun 24, 2020 11:38 pm I did an initial port, but I had trouble with the disk drive and the tape I believe. I couldn't get it to load software.

https://github.com/alanswx/Laser310_MiSTer
Did you look at nippur72's MiST port? I'm not sure if it would be any easier to port from the MiST to MiSTer?
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Laser500 Core

Unread post by alanswx »

Where is the code? Gehstock’s wasn’t more complete last time I looked and he abandoned it I think. He was frustrated.
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: Laser500 Core

Unread post by NML32 »

alanswx wrote: Thu Jun 25, 2020 1:37 am Where is the code? Gehstock’s wasn’t more complete last time I looked and he abandoned it I think. He was frustrated.
Laser 350/500/700 for the MiST FPGA https://github.com/nippur72/Laser500_MiST

I'm not sure if you saw Nippur72 is also working on LM80c for the MiST: https://github.com/nippur72/LM80C_MiST
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Laser500 Core

Unread post by alanswx »

What is the LM80c? There are emulators for both in his account as well.
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: Laser500 Core

Unread post by NML32 »

alanswx wrote: Thu Jun 25, 2020 3:39 am What is the LM80c? There are emulators for both in his account as well.
Looks like it's a homebrew computer.
LM80C - A Z80-based homebrew computer: https://github.com/leomil72/LM80C
MiST forum topic: https://www.atari-forum.com/viewtopic.p ... 6ac9fbe7ec
nippur72
Posts: 4
Joined: Mon Jun 22, 2020 2:37 pm

Re: Laser500 Core

Unread post by nippur72 »

the laser 500 MiST core is a complete mess (it was my first FPGA project) I have to reorganize it and make it a separate module isolated from MiST, so that porting to other platform will be easier. I'll do that myself if when I'll get a MiSTer unit.
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Laser500 Core

Unread post by alanswx »

I decided to take another pass at the Laser 310 -- which I believe is incompatible with the Laser 500. I have it half loading vz images. I need to look at how steddyman set the CPU PC in TRS-80 to get the other half working. I loaded up circus, and another game and they looked good but the controls don't seem quite right. Also the clocks don't seem super happy and the video seems a bit unstable. Now that I can load software, I should probably have the motivation to get it to be more stable. Source is on my github .
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: Laser500 Core

Unread post by NML32 »

alanswx wrote: Tue Jun 30, 2020 3:38 am I decided to take another pass at the Laser 310 -- which I believe is incompatible with the Laser 500. I have it half loading vz images. I need to look at how steddyman set the CPU PC in TRS-80 to get the other half working. I loaded up circus, and another game and they looked good but the controls don't seem quite right. Also the clocks don't seem super happy and the video seems a bit unstable. Now that I can load software, I should probably have the motivation to get it to be more stable. Source is on my github .
I tried Invaders, and the Keyboard controls worked fine, but the game was crazy fast. The Turbo setting is reversed, when I turned Turbo on in the OSD Invaders played at normal speed.

Thanks!!
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Laser500 Core

Unread post by alanswx »

I am just fixing that, and putting in the joystick support.
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Laser500 Core

Unread post by alanswx »

NML32 wrote: Tue Jun 30, 2020 9:49 pm
alanswx wrote: Tue Jun 30, 2020 3:38 am I decided to take another pass at the Laser 310 -- which I believe is incompatible with the Laser 500. I have it half loading vz images. I need to look at how steddyman set the CPU PC in TRS-80 to get the other half working. I loaded up circus, and another game and they looked good but the controls don't seem quite right. Also the clocks don't seem super happy and the video seems a bit unstable. Now that I can load software, I should probably have the motivation to get it to be more stable. Source is on my github .
I tried Invaders, and the Keyboard controls worked fine, but the game was crazy fast. The Turbo setting is reversed, when I turned Turbo on in the OSD Invaders played at normal speed.

Thanks!!
I think I fixed the loading for binary vz files now. Closer. Not sure the joystick works. I need to write / find a test program for the joystick.
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Laser500 Core

Unread post by alanswx »

alanswx wrote: Wed Jul 01, 2020 5:12 am
NML32 wrote: Tue Jun 30, 2020 9:49 pm
alanswx wrote: Tue Jun 30, 2020 3:38 am I decided to take another pass at the Laser 310 -- which I believe is incompatible with the Laser 500. I have it half loading vz images. I need to look at how steddyman set the CPU PC in TRS-80 to get the other half working. I loaded up circus, and another game and they looked good but the controls don't seem quite right. Also the clocks don't seem super happy and the video seems a bit unstable. Now that I can load software, I should probably have the motivation to get it to be more stable. Source is on my github .
I tried Invaders, and the Keyboard controls worked fine, but the game was crazy fast. The Turbo setting is reversed, when I turned Turbo on in the OSD Invaders played at normal speed.

Thanks!!
I think I fixed the loading for binary vz files now. Closer. Not sure the joystick works. I need to write / find a test program for the joystick.
The joysticks are working now.
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: Laser500 Core

Unread post by NML32 »

Nice!!
You are making some quick progress. :)
nippur72
Posts: 4
Joined: Mon Jun 22, 2020 2:37 pm

Re: Laser500 Core

Unread post by nippur72 »

@alanswx sorry I'm newly registered to the forum and it doesn't allow me to reply to messages :?

Regarding the Laser 500, I have to fix a problem in the SDRAM in the MiST core, then I'll refactor it to make it more "generic" and easier to port to other FPGAs. So it's best to wait for this code refactor first.

Laser 310: it should work out of the box with a 50 Mhz clock, I know of another guy who is using it on a DE board and reported to work fine.

The VZ format is a snapshot that was born with the "vzemu" emulator as a quick way to load programs, and then it became a stardard. As for assembly files, it's perfectly fine the don't autorun, it's how they work in the original machine.

Honestly I don't like how the code zzcn-emu/Laser310_FPGA is written, the 310 is a very simple computer, perhaps the simplest possible Z80 computer, so the code should be clean and easy to read. I also don't like that the video chip (6847) outputs to VGA, ideally it should mimic the original timings and let the MiSTer do the conversion to HDMI (or maintaing the native NTSC/PAL signal).

The video chip should also emulate the "snow" that is displayed when both CPU and VDC access the RAM, as the Laser 310 does not have any form of memory contention. I don't think this is addressed in the current core.
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Laser500 Core

Unread post by alanswx »

nippur72 wrote: Thu Jul 02, 2020 5:34 am
Honestly I don't like how the code zzcn-emu/Laser310_FPGA is written, the 310 is a very simple computer, perhaps the simplest possible Z80 computer, so the code should be clean and easy to read. I also don't like that the video chip (6847) outputs to VGA, ideally it should mimic the original timings and let the MiSTer do the conversion to HDMI (or maintaing the native NTSC/PAL signal).

The video chip should also emulate the "snow" that is displayed when both CPU and VDC access the RAM, as the Laser 310 does not have any form of memory contention. I don't think this is addressed in the current core.
I did a first release today. I agree that the clocks, the video, and the coding style aren't great. It is too complicated for what it is doing. The core does play games with a joystick now so I figure it is worth putting out there. We can replace it, or rewrite parts of it, let me know if you want to tackle it together / seperately.
nippur72
Posts: 4
Joined: Mon Jun 22, 2020 2:37 pm

Re: Laser500 Core

Unread post by nippur72 »

@alanswx good work! if L310 is working then it's fine, we can improve it later.

I would like to port it to the MiST as well, but that requires the video to have a NTSC output instead of VGA. This is the first thing to address.
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Laser500 Core

Unread post by alanswx »

nippur72 wrote: Fri Jul 03, 2020 7:16 am @alanswx good work! if L310 is working then it's fine, we can improve it later.

I would like to port it to the MiST as well, but that requires the video to have a NTSC output instead of VGA. This is the first thing to address.
As you port it let’s improve it. My source is based on a version Gehstock did. But I realize the source in the original repo may be better in some ways.

I think it makes sense to fix the video to be ntsc.
User avatar
Moondandy
Top Contributor
Posts: 535
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 32 times
Been thanked: 97 times

Re: Laser500 Core

Unread post by Moondandy »

Hey guys, was there any progress on getting the Laser500 core closer to being in MiSTer?
Post Reply