Atari Lynx Core
- SegaSnatcher
- Posts: 163
- Joined: Sun May 24, 2020 9:18 pm
- Has thanked: 36 times
- Been thanked: 43 times
Re: New Atari Lynx Core coming for MiSTer FPGA
Played around with this core yesterday, pretty neat little system.
- LamerDeluxe
- Top Contributor
- Posts: 1179
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 822 times
- Been thanked: 264 times
Re: New Atari Lynx Core coming for MiSTer FPGA
Imagine this as a handheld in 1989, the same year the original Gameboy came out. It was revolutionary, it can do things Amigas can't do. But with the hardware being designed by people also responsible for designing the Amiga hardware, that isn't really a surprise.
All the graphics you see on screen are (scaled/stretched, skewed, tapered, run-length encoded) sprites (even the backgrounds) of almost unlimited size (511 x unlimited) and of an amount only limited by memory. They are just a linked list of sprites anywhere in memory, drawn in that order. The sprites are actually more like blitter objects. There is no tiling hardware.
They are placed in a virtual 32K x 32K 'world' and then the screen is placed somewhere within this world to draw the desired view.
The Lynx can also draw lines and filled polygons. This is done by correctly distorting a single pixel sprite.
The graphics chip (Suzy) can also be used for multiply and divide calculations, combined with add/subtract, of two 16-bit numbers, with a 32-bit result. This happens in parallel to the CPU.
There are vertical and horizontal blanking interrupts, so you can change things per scan line, mostly used to change colors, for sky gradients, or to have more than 16 colors on screen at once.
The Lynx has four channels of enhanced Atari-style sound (semi-random square or delta waves, for pure, buzzer or noise sounds), or eight bit audio samples, which can be streamed (compressed if needed) from the cartridge. The Lynx 2 has stereo audio (through the headphone output) with variable stereo panning for each channel.
The full 64KB of memory can be used (the custom chip addresses can be switched out of memory addressing). Data from the cartridge is loaded, not switched into a memory range, unlike how many other systems worked.
The multi-player hardware limitation (performance-wise) is 15 players, using ComLynx cables. The commercial game supporting the most simultaneous players is Slime World, with up to eight players.
Battery life of the Lynx is about 5 hours, which isn't too bad, but rechargeable batteries weren't great at the time and it used six AA batteries. A power supply was used a lot.
The display is backlit, with 16 out of 4096 colors (or more with horizontal blanking interrupts), it is washed out and has a lot of motion blur. Atari sold an official Sun Visor to play outside, that folds up as a display protector and looks really cool.
All the graphics you see on screen are (scaled/stretched, skewed, tapered, run-length encoded) sprites (even the backgrounds) of almost unlimited size (511 x unlimited) and of an amount only limited by memory. They are just a linked list of sprites anywhere in memory, drawn in that order. The sprites are actually more like blitter objects. There is no tiling hardware.
They are placed in a virtual 32K x 32K 'world' and then the screen is placed somewhere within this world to draw the desired view.
The Lynx can also draw lines and filled polygons. This is done by correctly distorting a single pixel sprite.
The graphics chip (Suzy) can also be used for multiply and divide calculations, combined with add/subtract, of two 16-bit numbers, with a 32-bit result. This happens in parallel to the CPU.
There are vertical and horizontal blanking interrupts, so you can change things per scan line, mostly used to change colors, for sky gradients, or to have more than 16 colors on screen at once.
The Lynx has four channels of enhanced Atari-style sound (semi-random square or delta waves, for pure, buzzer or noise sounds), or eight bit audio samples, which can be streamed (compressed if needed) from the cartridge. The Lynx 2 has stereo audio (through the headphone output) with variable stereo panning for each channel.
The full 64KB of memory can be used (the custom chip addresses can be switched out of memory addressing). Data from the cartridge is loaded, not switched into a memory range, unlike how many other systems worked.
The multi-player hardware limitation (performance-wise) is 15 players, using ComLynx cables. The commercial game supporting the most simultaneous players is Slime World, with up to eight players.
Battery life of the Lynx is about 5 hours, which isn't too bad, but rechargeable batteries weren't great at the time and it used six AA batteries. A power supply was used a lot.
The display is backlit, with 16 out of 4096 colors (or more with horizontal blanking interrupts), it is washed out and has a lot of motion blur. Atari sold an official Sun Visor to play outside, that folds up as a display protector and looks really cool.
-
- Top Contributor
- Posts: 995
- Joined: Thu Dec 10, 2020 5:44 pm
- Has thanked: 309 times
- Been thanked: 228 times
Re: New Atari Lynx Core coming for MiSTer FPGA
For those who haven't subbed, v2 beta has a ton of new features: sound, hardware collision detection, vertical rotation, doubled resolution for analog output. Everything seems to play great and it looks very close to releasable.
-
- Top Contributor
- Posts: 995
- Joined: Thu Dec 10, 2020 5:44 pm
- Has thanked: 309 times
- Been thanked: 228 times
Re: New Atari Lynx Core coming for MiSTer FPGA
Didn't want to spam Owlnonymous again but you forced my hand! This should start around 5:20 where he brings out the webcam and shows off the "240p mode" on his BVM, and compares to the original. And there's also an epic long stream of Lynx games in there under v2 beta if you want it.
Re: New Atari Lynx Core coming for MiSTer FPGA
New Core: AtariLynx
See readme for boot.rom information
https://github.com/MiSTer-devel/AtariLynx_MiSTer
See readme for boot.rom information
https://github.com/MiSTer-devel/AtariLynx_MiSTer
- LamerDeluxe
- Top Contributor
- Posts: 1179
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 822 times
- Been thanked: 264 times
-
- Posts: 24
- Joined: Mon May 25, 2020 7:48 am
- Has thanked: 2 times
- Been thanked: 4 times
Re: Atari Lynx Core
Fantastic, thanks to the dev(s) for your hard work! Is there any possibility of cheat engine support being added in the future?
-
- Core Developer
- Posts: 380
- Joined: Sat May 23, 2020 12:55 pm
- Has thanked: 38 times
- Been thanked: 383 times
Re: Atari Lynx Core
I will look into it, but it seems the databases don't hold codes for many games....
-
- Posts: 24
- Joined: Mon May 25, 2020 7:48 am
- Has thanked: 2 times
- Been thanked: 4 times
Re: Atari Lynx Core
No there aren't many games with codes on Gamehacking.org. It'd be great if cheat support could be added though, thanks again.
- MiSTerEggman
- Posts: 38
- Joined: Wed Aug 12, 2020 6:33 am
- Has thanked: 2 times
Re: Atari Lynx Core
Does this core require a bios?
Put some stuff with .lnx file extension in games folder, shows it loads it up with progress bar but then a black screen
What gives? using 1080p integer scaled on my TV, tried rebooting MiSTER and the core.
Put some stuff with .lnx file extension in games folder, shows it loads it up with progress bar but then a black screen
What gives? using 1080p integer scaled on my TV, tried rebooting MiSTER and the core.
-
- Top Contributor
- Posts: 1911
- Joined: Wed May 27, 2020 1:59 pm
- Has thanked: 145 times
- Been thanked: 454 times
Re: Atari Lynx Core
viewtopic.php?p=21031#p21031MiSTerEggman wrote: ↑Fri Mar 19, 2021 2:59 pm Does this core require a bios?
Put some stuff with .lnx file extension in games folder, shows it loads it up with progress bar but then a black screen
What gives? using 1080p integer scaled on my TV, tried rebooting MiSTER and the core.
- MiSTerEggman
- Posts: 38
- Joined: Wed Aug 12, 2020 6:33 am
- Has thanked: 2 times
Re: Atari Lynx Core
im a moron lol... thanksjca wrote: ↑Fri Mar 19, 2021 3:02 pmviewtopic.php?p=21031#p21031MiSTerEggman wrote: ↑Fri Mar 19, 2021 2:59 pm Does this core require a bios?
Put some stuff with .lnx file extension in games folder, shows it loads it up with progress bar but then a black screen
What gives? using 1080p integer scaled on my TV, tried rebooting MiSTER and the core.
just surprised my script didn't do its thing that is supposed to cover that
-
- Top Contributor
- Posts: 1911
- Joined: Wed May 27, 2020 1:59 pm
- Has thanked: 145 times
- Been thanked: 454 times
Re: Atari Lynx Core
No, just too exited to try a new core like many of us are. Not being near my MISTer I had time to RTFM.MiSTerEggman wrote: ↑Fri Mar 19, 2021 3:11 pm im a moron lol... thanks
just surprised my script didn't do its thing that is supposed to cover that
Are you the author of the BIOS getter script? In the affirmative shame on you, you may have killed some baby seals.
- Brettster
- Posts: 103
- Joined: Mon May 25, 2020 9:44 am
- Location: Leeds, UK
- Has thanked: 36 times
- Been thanked: 11 times
Re: Atari Lynx Core
Awesome Core, the hours I used to spend playing BMX on California games did not cover the cost of 6 Duracell batteries every couple of hours lol
Arcade, Video Game and Tech Junkie
-
- Posts: 160
- Joined: Mon Jan 04, 2021 12:04 pm
- Has thanked: 14 times
- Been thanked: 15 times
-
- Top Contributor
- Posts: 995
- Joined: Thu Dec 10, 2020 5:44 pm
- Has thanked: 309 times
- Been thanked: 228 times
Re: Atari Lynx Core
I'm getting some weird analog output on my VGA CRT via the Analog I/O board (not direct_video). I've got the forced scandoubler on, and I use the 240p mode setting in the core menu. The entire screen appears wavy, like every other line is shifted slightly left or right, although it is stable like this it appears rather fuzzy. This even applies to the OSD. It goes away if I use the HQ2X scandoubler mode and only that one, its fully present with scanlines or off. This might be because the total pixel clock is a bit low or something, only 408p tall? I know I can get around it with vga_scaler on a vga monitor but thought I would bring it up.
- LamerDeluxe
- Top Contributor
- Posts: 1179
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 822 times
- Been thanked: 264 times
Re: Atari Lynx Core
I'm using: LCD Effects -> Integer Scaling Effects -> LCD_NN_Type3_100
LCD Effects -> LCD_Effect_08 looks good as well.
Note that these filters don't work correctly in 240 mode. Haven't compared to my original Lynx yet.
The core is great, it runs everything really well. Very mature for a brand new core. Really happy to see the Lynx supported on MiSTer.
When testing a color trick demo, which changes the palette every scan line, racing the beam with horizontal blanking interrupts, you can see that the timing doesn't match that of a real Lynx, possibly because of the non-standard frame rates of the Lynx.
The turbo option often doesn't have an effect, but when it does it is often way too fast. It would be great if it could be set in steps. I'd personally love to see a 24Mhz option that speeds up everything, including audio and timers, so it could be used to develop something for real Lynxes with 16 Mhz to 24 Mhz overclocking (I have an overclocked Lynx). 24 Mhz was the original clock speed of the Lynx, lowered to increase battery life.
I've made some small Lynx demos that use flicker transparency effects. The display of an original Lynx is very slow and blends about three subsequent frames together. The popular physically released home-brew game Zaku uses this effect as well. I'd love to see an option in the core to blend at least two frames, if possible. This could also make the games look more smooth.
I noticed an odd sync problem with one of my demos, IIRC it uses the horizontal blacking interrupt to create vertical gradients. I'd have to look at my code to see what it does exactly.
Re: Atari Lynx Core
Are you using Vga_scaler=1?metalfacemark wrote: ↑Fri Mar 19, 2021 4:43 pm great job on the core - the 240p mode works briliantly on my CRT TV.
Via natural analog I get a minuscule erratic image on my CRT. (Consumer television, not cathodic pc monitor).
-
- Top Contributor
- Posts: 995
- Joined: Thu Dec 10, 2020 5:44 pm
- Has thanked: 309 times
- Been thanked: 228 times
Re: Atari Lynx Core
You need to enable "240p mode" in the menu to make the image larger. Though I'm curious about the erratic part and if it still stays erratic after enabling.
-
- Top Contributor
- Posts: 552
- Joined: Sun May 24, 2020 8:07 pm
- Has thanked: 183 times
- Been thanked: 308 times
- Contact:
Re: Atari Lynx Core
Yeah I am seeing the same thing on my VGA MoniVision Presentation display at 31Hz. It's almost like every other line horizontally is shifting quickly left and right causing a "fuzzy" look. I noticed if you turn on the scandoubler and turn up the scanlines to either 50% or 75% it fixes it or "hides it"FoxbatStargazer wrote: ↑Fri Mar 19, 2021 4:47 pm I'm getting some weird analog output on my VGA CRT via the Analog I/O board (not direct_video). I've got the forced scandoubler on, and I use the 240p mode setting in the core menu. The entire screen appears wavy, like every other line is shifted slightly left or right, although it is stable like this it appears rather fuzzy. This even applies to the OSD. It goes away if I use the HQ2X scandoubler mode and only that one, its fully present with scanlines or off. This might be because the total pixel clock is a bit low or something, only 408p tall? I know I can get around it with vga_scaler on a vga monitor but thought I would bring it up.
-
- Posts: 160
- Joined: Mon Jan 04, 2021 12:04 pm
- Has thanked: 14 times
- Been thanked: 15 times
Re: Atari Lynx Core
No, vga-scaler 0 - its on my CRT TV. It was very small till i changed it to 240p option.Jegriva wrote: ↑Sat Mar 20, 2021 12:23 pmAre you using Vga_scaler=1?metalfacemark wrote: ↑Fri Mar 19, 2021 4:43 pm great job on the core - the 240p mode works briliantly on my CRT TV.
Via natural analog I get a minuscule erratic image on my CRT. (Consumer television, not cathodic pc monitor).
-
- Core Developer
- Posts: 380
- Joined: Sat May 23, 2020 12:55 pm
- Has thanked: 38 times
- Been thanked: 383 times
Re: Atari Lynx Core
Please send me the HBlank IRQ demo so i can debug the core with it.LamerDeluxe wrote: ↑Sat Mar 20, 2021 11:11 am When testing a color trick demo, which changes the palette every scan line, racing the beam with horizontal blanking interrupts, you can see that the timing doesn't match that of a real Lynx, possibly because of the non-standard frame rates of the Lynx.
The turbo option often doesn't have an effect, but when it does it is often way too fast. It would be great if it could be set in steps. I'd personally love to see a 24Mhz option that speeds up everything, including audio and timers, so it could be used to develop something for real Lynxes with 16 Mhz to 24 Mhz overclocking (I have an overclocked Lynx). 24 Mhz was the original clock speed of the Lynx, lowered to increase battery life.
I've made some small Lynx demos that use flicker transparency effects. The display of an original Lynx is very slow and blends about three subsequent frames together. The popular physically released home-brew game Zaku uses this effect as well. I'd love to see an option in the core to blend at least two frames, if possible. This could also make the games look more smooth.
For 24Mhz mode: i plan to add Turbo/Fastforward speed select. Currently it's 400%, but i will also do 50%, 100% and 200%.
Interframe Blending could be added. If you have a demo to test, please also send me.
For the scandoubler problems: i cannot reproduce this with HDMI output here and i don't have any analog out board or CRT here.
Not sure what i can do...
-
- Top Contributor
- Posts: 995
- Joined: Thu Dec 10, 2020 5:44 pm
- Has thanked: 309 times
- Been thanked: 228 times
Re: Atari Lynx Core
Mister is reporting 32.02 khz for analog output when using the forced scandoubler (whether hq2x or not). Meanwhile gameboy advance reports 31.55 khz. Maybe something is related there? Didn't you do some work on the gameboy/advance cores, maybe you can use similar settings?