Page 1 of 3

Re: New Atari Lynx Core coming for MiSTer FPGA

Posted: Sun Mar 07, 2021 6:57 pm
by werpu
Gave it a quick run... love this core

Re: New Atari Lynx Core coming for MiSTer FPGA

Posted: Sun Mar 07, 2021 9:03 pm
by SegaSnatcher
Played around with this core yesterday, pretty neat little system.

Re: New Atari Lynx Core coming for MiSTer FPGA

Posted: Sun Mar 07, 2021 10:03 pm
by LamerDeluxe
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.

Re: New Atari Lynx Core coming for MiSTer FPGA

Posted: Sun Mar 07, 2021 11:28 pm
by FoxbatStargazer
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.

Re: New Atari Lynx Core coming for MiSTer FPGA

Posted: Mon Mar 08, 2021 1:08 am
by dmckean
Doubled resolution for analog output sounds really nice. Anyone have a video of what this looks like?

Re: New Atari Lynx Core coming for MiSTer FPGA

Posted: Mon Mar 08, 2021 1:57 am
by FoxbatStargazer
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

Posted: Fri Mar 12, 2021 5:41 pm
by Xbytez
It looks like a public Lynx core release is not far away.


Re: New Atari Lynx Core coming for MiSTer FPGA

Posted: Fri Mar 19, 2021 7:28 am
by 8tpercent
New Core: AtariLynx
See readme for boot.rom information

https://github.com/MiSTer-devel/AtariLynx_MiSTer

😍

Re: New Atari Lynx Core coming for MiSTer FPGA

Posted: Fri Mar 19, 2021 7:58 am
by LamerDeluxe
Awesome! Can't wait to try it!

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 8:52 am
by Alkadian
Excellent news, thanks for the heads up! Can't wait either!

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 8:59 am
by 8tpercent
It's more than a bit awesome 😍

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 11:21 am
by retrofan01
Fantastic, thanks to the dev(s) for your hard work! Is there any possibility of cheat engine support being added in the future?

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 1:46 pm
by FPGAzumSpass
I will look into it, but it seems the databases don't hold codes for many games....

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 2:18 pm
by retrofan01
No there aren't many games with codes on Gamehacking.org. It'd be great if cheat support could be added though, thanks again.

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 2:33 pm
by 8tpercent

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 2:59 pm
by MiSTerEggman
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.

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 3:02 pm
by jca
MiSTerEggman 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.
viewtopic.php?p=21031#p21031

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 3:11 pm
by MiSTerEggman
jca wrote: Fri Mar 19, 2021 3:02 pm
MiSTerEggman 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.
viewtopic.php?p=21031#p21031
im a moron lol... thanks

just surprised my script didn't do its thing that is supposed to cover that

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 3:40 pm
by jca
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
No, just too exited to try a new core like many of us are. Not being near my MISTer I had time to RTFM.
Are you the author of the BIOS getter script? In the affirmative shame on you, you may have killed some baby seals.

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 4:08 pm
by Brettster
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

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 4:43 pm
by metalfacemark
great job on the core - the 240p mode works briliantly on my CRT TV.

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 4:47 pm
by FoxbatStargazer
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.

Re: Atari Lynx Core

Posted: Fri Mar 19, 2021 11:54 pm
by Megahurtz
What's a good filter for this? I tried the GBC LCD one but it didn't look like how I remember the Lynx screen. I'm no Lynx expert though.

Re: Atari Lynx Core

Posted: Sat Mar 20, 2021 11:11 am
by LamerDeluxe
Megahurtz wrote: Fri Mar 19, 2021 11:54 pm What's a good filter for this? I tried the GBC LCD one but it didn't look like how I remember the Lynx screen. I'm no Lynx expert though.
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

Posted: Sat Mar 20, 2021 12:23 pm
by Jegriva
metalfacemark wrote: Fri Mar 19, 2021 4:43 pm great job on the core - the 240p mode works briliantly on my CRT TV.
Are you using Vga_scaler=1?

Via natural analog I get a minuscule erratic image on my CRT. (Consumer television, not cathodic pc monitor).

Re: Atari Lynx Core

Posted: Sat Mar 20, 2021 2:11 pm
by FoxbatStargazer
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.

Re: Atari Lynx Core

Posted: Sat Mar 20, 2021 2:17 pm
by flynnsbit
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.
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"

Re: Atari Lynx Core

Posted: Sat Mar 20, 2021 2:50 pm
by metalfacemark
Jegriva wrote: Sat Mar 20, 2021 12:23 pm
metalfacemark wrote: Fri Mar 19, 2021 4:43 pm great job on the core - the 240p mode works briliantly on my CRT TV.
Are you using Vga_scaler=1?

Via natural analog I get a minuscule erratic image on my CRT. (Consumer television, not cathodic pc monitor).
No, vga-scaler 0 - its on my CRT TV. It was very small till i changed it to 240p option.

Re: Atari Lynx Core

Posted: Sat Mar 20, 2021 6:10 pm
by FPGAzumSpass
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.
Please send me the HBlank IRQ demo so i can debug the core with it.

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...

Re: Atari Lynx Core

Posted: Sat Mar 20, 2021 10:19 pm
by FoxbatStargazer
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?