Homebrew A5200DS - Improved

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
You NEED the Bounty Bob Strikes Back "Merged" rom. The normal one won't load under emulation due to the funky memory layout. I may create an on-the-fly patch to handle that in the future... but for now, get the "Merged" version.

In the readme.txt I list the MD5SUM (which is a program you can download for virtually every computer under the sun) so that you know you're running the right one.
 
  • Like
Reactions: Alexander1970

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
Well, Bounty Bob Strikes Back runs full speed. And since that’s been my #1 game on the 5200 since I was a kid, I’m more or less in bliss. Only thing I notice is that the scaling leaves something to be desired. I haven’t fired up my originals in years, but I don’t recall the graphics being so blurry (especially in the top half of the screen). Did this game run at a higher resolution than all other games?
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Hey MKF - yeah, I was as surprised as anyone to get BBSB working full speed! It was the largest released game back in the original lifetime of the console - 40kb and it used a bank switching scheme that swapped chunks of code in and out to get all that platforming goodness on screen.

The resolution of the Atari 5200 was max 320 x 240 which is just about awful for the DS which is 256x192. Many games don't use the full resolution so I cheat a bit and if the game only uses 200 visible pixel lines (the rest being blank or "black") then I'll just render the 200 and fit them into the 192 and only "lose" 8 pixel rows. But BBSB uses everything ... and as such has to be shrunk down both vertically and horizontally. I got back as many of those pixels as I could by scaling up slightly and cutting off the very top and bottom of the screen but it's just not enough to render it properly...

But! It's playable and still quite enjoyable and such is life when dealing with mis-matched screen resolutions.

Also, TV and older monitors use phosphor that just feels smoother when it comes to these old graphics. It rounds corners and lingers on the back of the retina. LCD screens can't do that - they are just too fast to let pixels linger. What I have noticed is that the XL/LL versions of the DSi have different screens which do seem to be a little slower in terms of refresh and the pixels do linger slightly longer than the non XL versions which makes playing these emulators even more enjoyable.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Version 2.4: https://github.com/wavemotion-dave/A5200DS

* Ported the improved bankswitching scheme from A7800DS which renders even the biggest games fully playable at full speed with the only exception being Bosconian which has slowdown (it's playable - but when it starts in on the music it will crawl for a few seconds).
* More games added - 184 games (see readme) are supported which includes the original 69 games released back in the 80s plus tons of XL 8-bit conversions and homebrews.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Version 2.5: https://github.com/wavemotion-dave/A5200DS

This is a spit-and-polish release with more than 100 tweaks to screen scaling and pixel positioning to make every game look as good as possible. This should help with some of the "too sharp" edges or "too blurry" edges on many games. I'm now using a slight anti-aliasing scheme to help render the screens a bit more faithful to the Atari 5200. It's always an uphill struggle as the screen resolution of the Atari 5200 is 320x240 and the DS is 256x192 but with these graphical improvements, I think we've got it as close as it can get.

Enjoy!
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Very nice, meticulous job.
Found a problem with the 'readme' file. It specifies the BIOS as 5200.bin , but afaik its filename should be 5200.rom. BTW, it doesn't specify where should be put (root folder?)
Good catch! Yeah, it's 5200.rom and it needs to go in the same folder as the A5200DS.NDS

I'll correct the readme now.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Random musings...

I found a way to get the new (well, 2018) Bosconian homebrew (the only 512k multi-banked game) running full speed. But it comes at a cost of non-banked games running about 10% sower. The DSi has the head-room to absorb the 10% hit but the DS-LITE and DS-PHAT do not. So I'm not going to include it in the stock build... having one game run properly is not worth diminishing many other games.

For now, I've got the Bosconian-capable build compile switched out but I can turn it on. I'm bummed out because there are no really good ports of Bosconian on the NDS - it was never included in the Namco packs for the GBA nor NDS and the Colecovision port requires the Super Game Module. The 8-bit/5200 version is most excellent - and a worthy addition to classic 8-bit gaming.

upload_2021-1-15_7-35-20.png
 

MarioKartFan

Well-Known Member
Member
Joined
Aug 27, 2019
Messages
596
Trophies
0
XP
2,319
Country
Algeria
Finally got a chance to test your latest release. You significantly improved Bounty Bob’s scaling, which was impacting playability previously because the blurring made it difficult to identify which patches had not been mapped yet. The scaling isn’t perfect. You can still notice a line here or there. But it’s a massive improvement over the prior version.

On an unrelated point, I’ve noticed that while ports to the C-64 generally look better — with some exceptions — the 5200 ports run more smoothly. For example, Montezuma’s revenge on the C-64 features excellent sprites, colors, etc. The 5200 looks like a hot mess in comparison. But the 5200 version plays more “smoothly” - more responsive controls, smoother movement, etc.

I recall this distinction back when I was a kid in the 80s, but not quite as stark as it currently feels.

I’d love to know the technical reason...I’m not sure if its a frame rate a frame pacing or something else.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Hey MKF - thanks, as always, for the feedback!

Yeah, I'm much happier with the anti-aliasing on the latest build which renders the screens a bit cleaner. It WAS hard to know what platforms you had covered (same problem in other excellent 8-bit conversions which are similarly improved by this change). As you note, the scaling isn't perfect nor is it likely to be given the screen resolution differences... but it's trending in the right direction :D

I don't know why the 5200 ports would run more smoothly on actual hardware. The C64 would appear to have more RAM to play with and, in theory, should be able to outpace the 5200. It probably comes down to programmer talent I guess. I'm always amazed at what can be produced on the old Atari 2600 (the brand new Venture Reloaded is superior to even the Colecovision version despite only using 256 bytes of RAM).

PS: If you want my local build that is capable of playing the new Bosconian port, let me know.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
So I finally got a chance to check out Atari800.NDS thanks to @maorninja

https://github.com/asiekierka/atari800/tree/port-nds-v2

This is an 8-bit emulator which covers both the Atari 400/800/XL/etc line as well as the 5200 Console.

It claims to be the fastest Atari 8-bit emulator on the NDS but I beg to differ :)

Seriously though - it's pretty nice and covers more than just the 5200. Some games don't run right... Bounty Bob Strikes Back is at 70% speed and games like Berzerk which purport to run at full speed don't handle speech sounds right. It also doesn't handle any carts bigger than 32k (so no Berks4 or Bosconian... though you could just play the 8-bit versions instead). I'd say my port of A5200DS is roughly 30% faster across the board. I looked into the code base for Atari800 and it's very familiar - apparently we both started from a similar source though Atari800 is newer and covers a lot more ground than just a 5200 console emulator. It wouldn't be hard to port some of the tricks I used to get faster banks switching in place to get games like Bosconian and Bounty Bob running full speed.

I'm hesitant to add back all the computer code to A5200DS just to support a handful of games I really enjoy. I'd love for my emulator to be able to play some of the 8-bit classics that never got converted - and Atari800 is a nice emulator to run games like Boulderdash and Eidolon. Hmmm......
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Version 2.6: https://github.com/wavemotion-dave/A5200DS

Nothing Earth-shattering here. Just some changes I've been wanting to commit.
Another 2% speed improvement across the board from the most unlikely of memory tweaks.
I scoured the planet for the last of the XL Conversions - found another half dozen and added compatibility settings for those.
Although it's not part of the official release, the nightly build contains A5200DSi.NDS which is the DSI-only build that will support the massive Bosconian at full speed (it's 5% slower than the regular build, but the DSi has enough CPU power to handle that on all other games). The normal build is fine for 99.8% of muggles.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Version 2.7: https://github.com/wavemotion-dave/A5200DS

Frame Skip is implemented. It's ON by default for older DS hardware and OFF by default for DSi and above. This same scheme is now used in XEGS-DS (see that post for more details). I've also ported over the faster directory/game listing and screen scaling (using the shoulder buttons) from XEGS.
 

wavemotion

Benign Geek
OP
Member
Joined
Nov 23, 2020
Messages
911
Trophies
1
XP
7,273
Country
United States
Version 2.8: https://github.com/wavemotion-dave/A5200DS

Just a fresh coat of paint on this one... new logo on the main screen and file selection screen. A few minor bugs squashed and a couple of improvements that I made over on the XEGS-DS (Atari 8-bit) side that ported easily to the 5200 emulator.

upload_2021-3-20_17-1-43.png
 
Last edited by wavemotion,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    StatusN @ StatusN: hi, i need help with unbanning my 3ds, can somebody show me a link to a seed that still works...