Jump to content

Recommended Posts

Hi all,

 

I've been recently working on updating the Atari 2600 emulation of Z64K and I'm now looking for a comprehensive test suite of programs to test all aspects of the emulation, especially the TIA. Any suggestions on games that are good test cases would be welcome as well. note: Z64K checking of cartridge type is still a WIP so some non-standard cartridges types won't be detected properly. Ideally it would be nice to have a cartridge format similar to what VICE uses for the c64 but that can be another topic. ;)

 

To date I've been using the following programs for testing beyond the officially documented TIA behaviour.

  • Tricks and demos from minidig.
  • Rsync Test by Omegamatrix
  • Hmove Tes by Bradford W.Mott
  • Extra Terrestrials (to test RSYNC)
  • Bang demo and Cosmic ark (to test star field)

 

Thanks in advance for any help in updating the above list. :)

 

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Dungeon 2 works on hardware, Stella, & z26. It does not work on the Atari Flashback Portable (which is known to use a sketchy emulator). You might want to try it. If it works, you at least know you haven't gone down the wrong path they have.

 

You can get the rom here:

http://atariage.com/forums/topic/261370-dungeon-ii-solstice/

 

You may also want to try some of the other roms that don't work on the AFP (the ones that aren't controller related). If the original works, then you know you're on the right track.

http://atariage.com/forums/topic/259166-flashback-portable-needed-controller-hacks/

  • Like 1

Share this post


Link to post
Share on other sites

Haunted House is one. It has a player positioning bug that manifests on rare consoles, and also emulators that don't handle undriven-bits/floating-bus like a typical console. It does a "SBC $0F" instead of "SBC #$0F".

 

Also, OmegaMatrix's Startup Values program might come in handy.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for the suggestions so far. I tested Dungeon 2 and Haunted house and they both seem to work perfectly.

 

I had to add 8K superchip detection to the emulator for the startup values program to work properly. The values I see are what I expect with my current implementation. It will be a very handy program for future testing so thanks. :)

  • Like 1

Share this post


Link to post
Share on other sites

I've got a few ;)

 

  • The mega bitmap demo. This is very sensitive to the timing details of HMOVE.
  • Meltdown is sensitive to the effects of changing NUSIZ during or close to drawing a sprite. I checked your emulator, and although all four rows of circles are drawn correctly, the half-images of the right two columns are off by a pixel or so (resulting in a "wobbling" effect).
  • Both Realsports Boxing and Activision Grand Prix are sensitive to similar effects of NUSIZ. Watch for stray lines in the sprites that may appear depending on sprite placement.
  • Mr. Roboto (a Bezerk hack by Paul Slocum) is sensitive to the precise timing of the RIOT
  • Pole Position is sensitive to the exact timing of BRK. Failure to emulate it correctly will result in a shift of the road
  • Snoopy and the Red Baron: many emulators have trouble with the landscape and clouds
  • Edtris will work correctly on if reads from invalid addresses are emulated sufficiently well.
  • Eshu's 32 char demos are very sensitive to RESP during draw.
  • This Stella issue on github contains several test programs that test the accuracy of RIOT timer emulation
  • This Stella issue has test code for the details of changing NUSIZ while drawing
  • There's even more of this stuff here on AAge
  • There's a bunch of tests that go into the details of collision handling during HBLANK here

Even though there are some minor kinks, you already have pretty accurate TIA emulation :thumbsup: Do you have the source of your emulator somewhere on the web?

Edited by DirtyHairy
  • Like 2

Share this post


Link to post
Share on other sites

Thanks heaps!

 

That's an awesome list and will keep me busy for awhile. I need to crash out now for work tomorrow but I just had time to check mega bitmap demo. What an impressive program for the Atari 2600! It actually displays a lot more accurate in an older version of Z64K so a recent update I did obviously killed it. :P (** Fixed 3 June ** :) )

 

I haven't made Z64K open source yet but happy to share parts of my code with other developers.

 

My main focus has been on the C128 emulation of Z64K so the Atari 2600 emulation has been very neglected. I plan on focusing on the Atari 2600 for the next few weeks and all the links everyone has provided will be very valuable. :)

Edited by willymanilly

Share this post


Link to post
Share on other sites

Thanks everyone for all the suiggestions so far for programs to test against. I've been able to improve my Atari 2600 TIA emulation substantially. :)

 

I don't currently have real hardware to benchmark against so I've been using Stella as a reference for now. I'm confident Stella probably has the most accurate TIA emulation available but I always prefer to test on real hardware when I can for all of my emulators so I'd be very grateful if someone can test a few programs on real hardware and post the results here. I only have a couple of requests for now.

 

1. Position variations of the test program located here by pushing joystick fire button to move the player horizontally.

  • Stellar 6.0 first shows three triangles in row 5 at 9 shifts right
  • Z64K first shows three triangles in row 5 at 14 shifts right

2. Does the slideshow located here display correctly on real hardware? Z64K it does, Stella 6.0 it doesn't.

 

Thanks in advance.

Share this post


Link to post
Share on other sites

2. Does the slideshow located here display correctly on real hardware? Z64K it does, Stella 6.0 it doesn't.

 

I can't test on hardware right now, but it looks like you found a Stella bug. Stellerator (see the link in my signature) and Stella share the TIA core, and Stellerator looks correct. I can get Stella to display correctly if I enter the debugger while the demo is running, reset the demo in the debugger and hit "run" again. Opened a bug on the Stella tracke here.

  • Like 3

Share this post


Link to post
Share on other sites

Bug is now fixed in Stella. It was a simple initialization error that wasn't resetting 'fast fetch mode' flag.

  • Like 2

Share this post


Link to post
Share on other sites

Thanks everyone for all the suiggestions so far for programs to test against. I've been able to improve my Atari 2600 TIA emulation substantially. :)

 

I don't currently have real hardware to benchmark against so I've been using Stella as a reference for now. I'm confident Stella probably has the most accurate TIA emulation available but I always prefer to test on real hardware when I can for all of my emulators so I'd be very grateful if someone can test a few programs on real hardware and post the results here.

 

If you want to emulate Stella be careful to avoid the default Phosphor emulation in the latest version which combines frames to break the display on classics like ESB and newer releases including Retron 77 games like WARPDRIVE:

 

http://atariage.com/forums/topic/289929-stella-6-on-the-r77-the-eagle-is-landing/?p=4277457

 

WARPDRIVE is a good stress test for TIA emulation as the only Atari game that pushes 60 FPS of full screen animation, bw switch toggles it during play.

  • Like 1

Share this post


Link to post
Share on other sites

 

If you want to emulate Stella be careful to avoid the default Phosphor emulation in the latest version which combines frames to break the display on classics like ESB and newer releases including Retron 77 games like WARPDRIVE:

 

Cool, thanks for the suggestion. :)

 

For now I'm simply using Stella as a benchmark until I get my hands on a real Atari 2600. I don't intend on emulating Stella at all, but considering it is probably the most accurate Atari 2600 emulator available, I inadvertently will be emulating it. ;) Most of my development to date has been from referring to technical documents and schematics. I actually started the Atari 2600 emulation way back in 2014 but only really giving it some well deserved attention now. The closest thing to the Phosphor emulation in my emulator is the "blending" option which combines the current frame with the previous. It's not on by default so some games flicker, which if I recall correctly from my childhood, happens on real hardware.

 

I'll definitely check out WARPDRIVE!

 

Edit: Looks like I need to implement FA cartridge support and detection code for Warpdrive before it will work. From reading the mappers document it doesn't look that complicated so I will do that now (implemented now)

Edited by willymanilly
  • Like 1

Share this post


Link to post
Share on other sites

Cool, thanks for the suggestions. icon_smile.gif

Sometimes it is better to double check certain suggestions. :)

  • Like 4

Share this post


Link to post
Share on other sites

willymanilly,

Here are two versions of WARPDRIVE with different schemes that should play exactly the same:

 

SuperCharger_WARPDRIVE.bin

WARPDRIVE_AFP.bin

 

The AFP version uses CBS RAM but relies on the decimal flag being clear on powerup, the previous version of Stella on the Flashback 9 console sets this flag by default though now that has changed.

 

Defaults should allow the greatest range of compatibility imo, very cool you have merge frames off by default to get the classics to look right.

 

----------------

 

Hey TJ, you follow me around throwing insults - most recently during a live review of my new games; why not be inspired instead to add artifact color support or invent game maker programing languages or new technologies like motion blur reduction?

 

At least come up with a new game :P

 

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...