Laser500 Core
Laser500 Core
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
Source: https://github.com/nippur72/Laser500_MiST
Forum topic: https://www.atari-forum.com/viewtopic.php?f=115&t=36757
-
- Core Developer
- Posts: 300
- Joined: Sun May 24, 2020 6:55 pm
- Has thanked: 5 times
- Been thanked: 154 times
Re: Laser500 Core
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
https://github.com/alanswx/Laser310_MiSTer
Re: Laser500 Core
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 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
Re: Laser500 Core
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
Re: Laser500 Core
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
Re: Laser500 Core
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.
-
- Core Developer
- Posts: 300
- Joined: Sun May 24, 2020 6:55 pm
- Has thanked: 5 times
- Been thanked: 154 times
Re: Laser500 Core
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 .
Re: Laser500 Core
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.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 .
Thanks!!
-
- Core Developer
- Posts: 300
- Joined: Sun May 24, 2020 6:55 pm
- Has thanked: 5 times
- Been thanked: 154 times
Re: Laser500 Core
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.NML32 wrote: ↑Tue Jun 30, 2020 9:49 pmI 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.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 .
Thanks!!
-
- Core Developer
- Posts: 300
- Joined: Sun May 24, 2020 6:55 pm
- Has thanked: 5 times
- Been thanked: 154 times
Re: Laser500 Core
The joysticks are working now.alanswx wrote: ↑Wed Jul 01, 2020 5:12 amI 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.NML32 wrote: ↑Tue Jun 30, 2020 9:49 pmI 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.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 .
Thanks!!
Re: Laser500 Core
@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.
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.
-
- Core Developer
- Posts: 300
- Joined: Sun May 24, 2020 6:55 pm
- Has thanked: 5 times
- Been thanked: 154 times
Re: Laser500 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 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.
Re: Laser500 Core
@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.
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.
-
- Core Developer
- Posts: 300
- Joined: Sun May 24, 2020 6:55 pm
- Has thanked: 5 times
- Been thanked: 154 times
Re: Laser500 Core
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.