Jump to content

Photo

Working Atari 2600/VCS games on VirtualVCS

Atari 2600 Atari VCS Atari Jaguar

41 replies to this topic

#1 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Fri Mar 23, 2018 5:31 AM

Welcome to the VirtualVCS (Atari 2600) emulator for the Atari Jaguar

written by Bryan Edewaard and Damien Jones of Temporary Sanity Designs (TSD).

 

Fun stories of the development can be found at this place, and this place.

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

Over time TSD handed the VirtualVCS source code to Carl Forhan who assemebled, with considerable work, the VirtualVCS demo that has floated around the internet for years.  With the release by Curt Vendel, Atari Historian, of the other Atari 2600 emulator, it has been the hope of Carl, Curt, and many others (including myself) to one day see working Atari 2600 games on the Atari Jaguar.

 

As later explained in this message under "Background information" game images have been hex edited in to replace the game images already in the VirtualVCS demo.  The menu graphics format in VirtualVCS were unraveled by sh3-rg. 

 

The main objective is to find games that work in the confines of the abilities of VirtualVCS in it's alpha state.  The strengths of this emulator being very close to true speed emulation, good controls, and many display abilities intact.  The weaknesses being no sound, no hit detection, some display abilities needing refinement and no apparent bank switching ability using rom images of 4K or less.   Limiting, but not impossible.

 

All efforts are for the enjoyment of the Jaguar community, and in the hopes to understanding the true technical limitations to add in better development of VirtualVCS and/or the 2600 emulator later down the road.   Images can be loaded on rom loaders (Skunkboard, Flash card (though not tested)) to try out.  No actual cartridges will be sold from this, strictly fun and research.

 

The following games have been found to work (more than less) under these conditions:

 

Mario Brother 4K fan game released March 23, 2018:  Download

Screen Shot 2018-03-28 at 10.55.45 AMb.png

 

VirtualVCS - Muticart 01 released March 27, 2018: Download

Screen Shot 2018-03-28 at 10.55.23 AM.png

 

More multicarts are planned.  Instructions have been provided for others to experiment with VirtualVCS to find other games that work as well.

 

A Google Spreadsheet has been started to record the testing of Atari 2600 titles that could work in VirtualVCS.  If you would like to participate in research, send me a PM.

 

 

 

---Background information on the Hex Editing ---

---Posted Fri Mar 23, 2018 6:31 AM  --------------------------------------------------

So this whole idea started with hacking my Bubsy hack into VirtualVCS, and it displayed pretty well.  

 

Then I started to wonder, what if I could find a game that could work in the limited range of games that would actually work on VirtualVCS and hack those in with a hex editor.

 

So far I have found that 2K and 4K images work.  So far no luck with anything greater.

 

A sweep for "STA CXCLR" (85 2c) and those that use that method of hit detection also helped.

 

And after playing around, I found a game that displayed fairly well, and actually interacted in the environment at least somewhat.  A 4K version of Mario Brothers.   The turtles won't kill you, but you can hit from underneath and knock them over, and then afterwards go up and knock them over.   Actually playing the original Mario Brothers game, it has it where the Turtles do no kill you, and all the hit detection I mentioned above. 

 

Attached File  Mario bros_4k_v2.bin   4KB   52 downloads

 

All that is not working then on the Virtual VCS in this case is the score.  :D

 

So here we have a working VCS game on the Jaguar under VirtualVCS.  Just select option 2 (where Pac-Man was, on the menu)

 

Attached File  vvcs-Mario brothers.rom   1016KB   59 downloads

 

A fun find.  :D   Plans are try other images, see what games don't have the limitations of the VirtualVCS, and find other games that more than less work.  Such games as Video Checkers and chess, hangman, and others have been suggested.  Asteroids was suggested as it did not use the 85 2c style of hit detection.   If we could get a 8K game to work on VirtualVCS.

 

And for that, maybe some of the Super Charger hacks will come in handy?  

 

More to come.   Or perhaps if you want to try hex hacking, here is the copy of Virtual VCS that I found...

 

Attached File  vvcs.rom   1016KB   49 downloads

 

Other downloads:

50 VirtualVCS roms with 300 Atari 2600 roms to try. (April 4, 2018)

 

Screen Shot 2018-04-17 at 10.45.58 AM.png

 

Adult Pack 01-Women (April 17, 2018)

Attached File  Adult 01-Women.zip   970.28KB   50 downloads

 

Adult Pack 02-  Men (April 17, 2018)

Attached File  Adult 02-Men.zip   1013.51KB   49 downloads

 

Puzzle Pack 01          (April 18, 2018)

Attached File  Puzzle 01.zip   675.25KB   45 downloads


Edited by doctorclu, Wed Apr 18, 2018 12:17 PM.


#2 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Fri Mar 23, 2018 6:22 AM

Youtube video here...

 

 


Edited by doctorclu, Fri Mar 23, 2018 6:23 AM.


#3 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Fri Mar 23, 2018 10:21 AM

Here are the rom bank locations I have found so far:

 

Combat                2K    07770        07F60
Pac-Man               4K    08770        09760
Adventure             4K    09770        0A760
Yars Revenge          4K   
Defender              4K   
Berzerk               4K   

 

Here is what I've tested:

Asteroids - haven't been able to get anything over 4K to display

Checkers - Activision - Displays half the board.

Dragster - a non-85 2C game, doesn't display right.

Missile Command - Half a display, no cursor.

Night Driver - Car with no moving road.

Superman - An established 85 2C game so no hit detection.   Jittery screen, but displays and you can fly Superman around.

Okie-Dokie - black screen.

 

One interesting thing, if you check the "Bubsy2" game, both version of the Bubsy hack were 4K games, yet #1 on the number pad (a 2K slot) loads one 4K game, and #2 (a 4K slot) loads the next 4K game.  All said, not entirely sure the hex locations are important or if it is looking for roms in a sequential order?

Attached Files


Edited by doctorclu, Fri Mar 23, 2018 10:25 AM.


#4 Bryan OFFLINE  

Bryan

    Quadrunner

  • 10,925 posts
  • Cruise Elroy = 4DB7
  • Location:Chesaning, MI

Posted Fri Mar 23, 2018 11:17 AM

It's so cool to see this running again. Damien Jones and I wrote it (Damien was majorly into fractals and did that title screen & my biggest contribution was the 6507 emulator on Tom) and we did a ton of testing to figure out how to shave wait states on the RAM bus. We were so sure Atari was going to love it. They said they did but kept putting us off because Dave Staugas was also working on an emulator in house (although we didn't know that at the time) so we stopped working on it. Soon after the Jag was gone.
 
I now use the TSD logo on all my Atari PCB projects.

#5 neo_rg OFFLINE  

neo_rg

    Moonsweeper

  • 368 posts
  • Location:U.K.

Posted Fri Mar 23, 2018 12:24 PM

Do you have a later or more complete version than the one available?

#6 Bryan OFFLINE  

Bryan

    Quadrunner

  • 10,925 posts
  • Cruise Elroy = 4DB7
  • Location:Chesaning, MI

Posted Fri Mar 23, 2018 12:37 PM

Do you have a later or more complete version than the one available?

Unfortunately, no. Carl Forhan said the version he got from us didn't compile without some work, so I'll never know what actually happened and if he got the last version. We also made a video tape of all the Jaguar stuff we wrote and that got lost as well.



#7 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Fri Mar 23, 2018 4:38 PM

Good hearing your input on this Bryan!  :D   I would ask how much functional the last version was, but unless we find that, what's the point.

 

Maybe a better question is what was it like programming based on the Tom processor?   The speed it was working at was fluid and definitely better than what the 68000 could do by a long shot.

 

So was the plan to tap into the Jerry chip for the sound eventually?



#8 Bryan OFFLINE  

Bryan

    Quadrunner

  • 10,925 posts
  • Cruise Elroy = 4DB7
  • Location:Chesaning, MI

Posted Fri Mar 23, 2018 6:30 PM

Tom is pretty quick as long as you can fit the whole job inside it.  The only thing we did on Tom was the CPU emulation, I think. I can remember 2 tricks that really helped. One was saving each byte of the game as a 32-bit word that had the next 3 bytes included (1 to 4 expansion of the data**). The idea was to never make another bus fetch necessary when processing a single instruction. Once you know the length of the current instruction, you can start the next one fetching. The other trick was to put some LUTs in Tom to shave cycles off of common instructions, especially regarding setting the flags.

 

The idea was that Jerry would be free to do everything else. Tom would pass a list of time-stamped register updates to Jerry and the sound and video would be made from those. The 68000 would only be used for maintenance things here and there.

 

The idea was to hit the bus as little as possible since that's where the Jag steps on its own balls.

 

 

 

** A 2600 cartridge would be copied to RAM like this:

 

B0, B1, B2, B3, B4, B5 -> becomes -> B3B2B1B0, B4B3B2B1, B5B4B3B2 etc..

 

This way, you can always have 4 bytes loaded in a register starting at any arbitrary byte position and just shift them down.



#9 Stephen OFFLINE  

Stephen

    Quadrunner

  • 7,184 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Fri Mar 23, 2018 7:20 PM

I know the answer, but I'll poke anyhow.  Any chance of resuming work on the project?



#10 Bryan OFFLINE  

Bryan

    Quadrunner

  • 10,925 posts
  • Cruise Elroy = 4DB7
  • Location:Chesaning, MI

Posted Fri Mar 23, 2018 7:41 PM

I know the answer, but I'll poke anyhow.  Any chance of resuming work on the project?

Yes.... if I hit lotto.



#11 walter_J64bit OFFLINE  

walter_J64bit

    Quadrunner

  • 5,158 posts
  • Location:Goldsboro NC

Posted Fri Mar 23, 2018 8:44 PM

Yes.... if I hit lotto.

 

D'oh!



#12 Bryan OFFLINE  

Bryan

    Quadrunner

  • 10,925 posts
  • Cruise Elroy = 4DB7
  • Location:Chesaning, MI

Posted Fri Mar 23, 2018 8:51 PM

Even then, I'd finish some 8-bit projects first. :)



#13 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Sun Mar 25, 2018 10:06 AM

Here's a question, with this way this is currently written do you think any rom images over 4K will possibly work?   Current roms are a 2K rom followed by several 4K roms.   Do you remember if the code pull from a location or looked for a rom not looking at the length but when the rom appears in order or in a directory?



#14 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Tue Mar 27, 2018 11:08 PM

Played with this more tonight.   And have a new rom image to present, but first the game graveyard...

 

cannonfodder.png

So far from tinkering this emulator requires that we have games that are 4K or less, and have no hit detection.  So that eliminates many.

 

So then are the brave games that tried and crashed and burned due to display reasons.  Those poor volunteers were:

2048 2600 Puzzle 

2048 4vcs Beta4   (jumbled black and white graphics)

2600 Hero

3D Tic Tac Toe  (shows half the boards)

Action Simon Says

Assembloids Demo  (shows an awesome first page, and that's all)

Asteriods (multiple tries for a 8K game)

Basic Math

Blackjack

Casino 

Dig Dug (Attempt at a 16k game)

Dragster (the original inspiration for this thread, controls work, dragster is all squished)

Missile Command (only half a screen displays

Night Driver  (shows "car" but no road movement.)

Slot Machine  (black screen)

Video Checkers (black screen)

Checkers Activision (displayed half the board)

Video Chess (displayed half the board)

 

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

So what do we have tonight?   For the first time ever, a Jaguar game cart with multiple playable VCS/2600 games.   As soon as the title screen comes up just hit the number of the games listed below.  No, the menu screen is not modified yet but come to find out, it is a unnecessary step if you know where you're going.

 

 

20180327_230327.jpg

1. Frogger

Leap past cars you can see and can't see while crossing logs you can see and can't see.  :P   The trick?  Stick close to the cars you can see, and if you jump and miss a turtle or log, there is a 50/50 chance there is an invisible one that might catch you....

 

[Don't forget that at the beginning your frog will not move till the intro song (which naturally we can't hear as the emulator has no sound currently) finishes.]

 

20180327_232529.jpg 20180327_232502.jpg

2. Astrosmash

Frantic asteroid and bomb blasting fun from this Intellivision classic converted to the VCS played on a Jaguar!   You'll be hitting the option button many times to reset this game to show you can't be punked by some rapidly falling rocks.

 

20180327_223444.jpg

3. Gorf

Enjoy this Midway classic as aliens are blasted only to have others appear and take their place!!

The missing artifact of duplication in display makes for a new level of challenge in a familar game!

 

20180327_215756.jpg

4. Flag Capture

It's Minesweeper before that was a thing, now playable with a Jaguar controller!  :P

 

20180327_215617.jpg

5. Hangman

Complementing the relaxing game of Flag Capture is Hangman, the other, non-hit detection game that inspired a whole line of games that would actually play on a alpha version of a VCS emulator, showing as the screenshot says that this "could" be done.  ;)

 

Screen Shot 2018-03-27 at 11.45.47 PM.png

6. DKVCS intro screen

Attached File  20180327_215942.mp4   10.52MB   43 downloads

 

Sadly every version of Donkey Kong I've downloaded had hit detection that will not work on the VirtualVCS, and they were all above 8K to boot.  However the title sequence of DKVCS was available at 4K and thought I would throw it in as it is an amazing version of Donkey Kong on the 2600 if you have not already tried it.

 

Enjoy this first ever Jaguar cart to contain five playable (more than less) games from the Atari 2600.

 

More multi-carts to follow!   And you're welcome.  ;)

 

 

 

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

Things discovered:

The games can be selected on the number pad from the opening screen.   Numbers 1 through 9 try to load something.

 

So far the game looks like it has allocation for six 4K banks that started and stopped as follows...

 

Combat                  2K    Yes    07770    78D8 A2FF        07F60    00F0 0F11
                       (4K)       —                            08760
                                     08770
Pac-Man                 4K    Yes    07F70    78D8 A2FF        09760    00F0 0000
Adventure               4K    Yes    09770    4CEF F278        0A760    00F0 00F0
Yars Revenge            4K    Yes    0A770    E8A4 9DE4        0B760    FBFC FBFC
Defender                4K    Yes    0B770    78D8 A2FF        0C760    00F0 00F0
Berzerk                 4K    Yes    0C770    4CAC F9A5        0d760    00F0

 

Cutting and pasting 4K images into those areas is what worked in the image I gave above.

 

In the games numbers 1-3 were select and other toggles.  Option was used to start.

Attached Files


Edited by doctorclu, Tue Mar 27, 2018 11:27 PM.


#15 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Wed Mar 28, 2018 6:46 AM

Thanks to sh3-rg we have an accurate menu for VirtualVCS - Multi01 *

 

Screen Shot 2018-03-28 at 7.38.45 AM.png

 

 

* We are still perfecting the menu process so if some of the games don't work (unable to test since I am at work), feedback will be appreciated.  Thanks!

Attached Files


Edited by doctorclu, Wed Mar 28, 2018 6:57 AM.


#16 Saturn OFFLINE  

Saturn

    River Patroller

  • 3,544 posts
  • Pillar of the Jaguar Community
  • Location:TX

Posted Wed Mar 28, 2018 6:51 AM

Nice! :cool:

#17 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Wed Mar 28, 2018 8:03 AM

Thanks all!  

 

One thing I realized I need to test:  This emulator was written in the hay day of Atari, so around 1992-1993.  

 

Before LCD monitors.   More modern VCS emulators adjust for this.

 

Can someone try this out on a CRT monitor and see if games like Frogger and Gorf, which might have used a flicker effect, are displaying a little more accurately?


Edited by doctorclu, Wed Mar 28, 2018 8:15 AM.


#18 walter_J64bit OFFLINE  

walter_J64bit

    Quadrunner

  • 5,158 posts
  • Location:Goldsboro NC

Posted Wed Mar 28, 2018 1:26 PM

Awesome! :)

 

 

 



#19 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Wed Mar 28, 2018 10:45 PM


Can someone try this out on a CRT monitor and see if games like Frogger and Gorf, which might have used a flicker effect, are displaying a little more accurately?

 

Did and... no change.  Worth a shot though.

 

Got better at Frogger.  You want to stay in front of the cars as the "invisible" cars trail after the ones you see.  Haven't figured out the logs yet but probably the same.

 

Defeated the mothership in Gorf tonight.



#20 Bryan OFFLINE  

Bryan

    Quadrunner

  • 10,925 posts
  • Cruise Elroy = 4DB7
  • Location:Chesaning, MI

Posted Thu Mar 29, 2018 11:50 AM

The part of the emulator that really needs work is the DSP/Jerry code. It was supposed to do all the graphics, sound, and hit detection. At this point it's at the "Hey, let's show Atari we got something running" stage.

 

I do kinda wish I had the time to look at it again. :)



#21 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Thu Mar 29, 2018 7:14 PM

I do kinda wish I had the time to look at it again. :)

 

Well when you do just know, as you are seeing now, that there are those that would enjoy your work. 



#22 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Sun Apr 1, 2018 10:39 AM

Looked for the hit detection hex values in like 1,400 roms, so far 304 games could possibly work.

 

These are the more official titles weeding out anything over 4K, and then combing for the 852c code.  Now to apply to VirtualVCS and see how they do.

Attached Files



#23 walter_J64bit OFFLINE  

walter_J64bit

    Quadrunner

  • 5,158 posts
  • Location:Goldsboro NC

Posted Sun Apr 1, 2018 1:26 PM

I know that I'm doing when get from work!

#24 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,626 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Sun Apr 1, 2018 5:41 PM

Haha... for those that downloaded the last attachment, those are the roms that could work or at least don't have the hardware hit detection.  So if you see games you want tried out, I can set them up and upload them here.   Taking requests.  ;)



#25 WAVE 1 GAMES OFFLINE  

WAVE 1 GAMES

    Stargunner

  • 1,036 posts
  • Location:Charlotte, NC

Posted Mon Apr 2, 2018 9:11 PM

Very nice work /experimentation doctorclu. Keep it up!







Also tagged with one or more of these keywords: Atari 2600, Atari VCS, Atari Jaguar

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users