Jump to content

thomasd3

Members
  • Content Count

    2
  • Joined

  • Last visited

Posts posted by thomasd3


  1.  

    Joust does count on carry status being set or clear following LSR SWCHB to handle game reset (it does this twice). So it may have been confusing to the new hardware when DDR has not been changed from read-only? Game Select is handled common enough...LDA SWCHB followed by 2xLSR.

    Could be right; I don't have anything setup anymore, so unfortunately I can't validate.


  2. I wrote VCS2600 back in '96. Similarly, I had the action pack and this was pretty much it. I wrote it in ASM and released it but collisions were not working properly in the first version. Then I fixed most of it, but there were a few bugs remaining.

    After that Dan came up with A26 which I think was better. I don't think I ever fixed the remaining bugs.

     

    Dan and I took very different approaches where he'd emulate the CPU and TIA in lockstep while I emulated the CPU until the collision registers were read or the next hblank was hit; then I'd catch up the TIA; while this created very efficient loops, it also created architectural problems that were hard to fix.

     

    Later on, we worked on a commercial project to remake a hardware 2600; I've thought about open-sourcing the VHDL code but never got around it. It has all the bankswitch types and supports everthing but Pitfall 2 (however supercharger games, things like burger king, etc are totally supported). We ran a real 2600 with a logic analyzer and compared the bus with the VHDL output and everything is 100% but we could never figure out one bug in Joust due to the input: on startup our HW implementation starts the game instantly, as if you pressed game reset; we chalked it up as something in the startup state being different, but we never found out.

     

    The menu system was using the 2600's hardware where an extra set of registers would appear to control memory banking (to access the game directory) and the video was replaced by a simple 40x24 text mode with rom character set; I remember that the CPU would conflict with the video system that was grabbing whatever was on the bus for the display, so the cpu had to sleep during the display area otherwise 'snow' would appear on screen. Fun memories!

    • Like 1
×
×
  • Create New...