Page 1 of 1

Laser500 Core

Posted: Fri Jun 19, 2020 6:57 pm
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

Re: Laser500 Core

Posted: Fri Jun 19, 2020 11:16 pm
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.

Re: Laser500 Core

Posted: Sun Jun 21, 2020 4:11 am
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.

Re: Laser500 Core

Posted: Wed Jun 24, 2020 11:38 pm
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

Re: Laser500 Core

Posted: Wed Jun 24, 2020 11:43 pm
by dshadoff
Were you able to enter a brief BASIC program and get it to run ?

Re: Laser500 Core

Posted: Thu Jun 25, 2020 12:34 am
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?

Re: Laser500 Core

Posted: Thu Jun 25, 2020 1:37 am
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.

Re: Laser500 Core

Posted: Thu Jun 25, 2020 2:11 am
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

Re: Laser500 Core

Posted: Thu Jun 25, 2020 3:39 am
by alanswx
What is the LM80c? There are emulators for both in his account as well.

Re: Laser500 Core

Posted: Thu Jun 25, 2020 8:43 am
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

Re: Laser500 Core

Posted: Fri Jun 26, 2020 11:47 am
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.

Re: Laser500 Core

Posted: Tue Jun 30, 2020 3:38 am
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 .

Re: Laser500 Core

Posted: Tue Jun 30, 2020 9:49 pm
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!!

Re: Laser500 Core

Posted: Tue Jun 30, 2020 9:55 pm
by alanswx
I am just fixing that, and putting in the joystick support.

Re: Laser500 Core

Posted: Wed Jul 01, 2020 5:12 am
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.

Re: Laser500 Core

Posted: Thu Jul 02, 2020 12:00 am
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.

Re: Laser500 Core

Posted: Thu Jul 02, 2020 12:25 am
by NML32
Nice!!
You are making some quick progress. :)

Re: Laser500 Core

Posted: Thu Jul 02, 2020 5:34 am
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.

Re: Laser500 Core

Posted: Thu Jul 02, 2020 7:08 pm
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.

Re: Laser500 Core

Posted: Fri Jul 03, 2020 7:16 am
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.

Re: Laser500 Core

Posted: Fri Jul 03, 2020 1:31 pm
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.

Re: Laser500 Core

Posted: Wed Sep 29, 2021 12:51 pm
by Moondandy
Hey guys, was there any progress on getting the Laser500 core closer to being in MiSTer?