Jump to content
doctorclu

Working Atari 2600/VCS games on VirtualVCS

Recommended Posts

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

post-4709-0-06467300-1522252722.png

 

VirtualVCS - Muticart 01 released March 27, 2018: Download

post-4709-0-42061500-1522252871.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 released a later version here.

 

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.

 

Mario bros_4k_v2.bin

 

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)

 

vvcs-Mario brothers.rom

 

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

 

vvcs.rom

 

Other downloads:

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

 

post-4709-0-27265300-1523989337.png

 

Adult Pack 01-Women (April 17, 2018)

Adult 01-Women.zip

 

Adult Pack 02- Men (April 17, 2018)

Adult 02-Men.zip

 

Puzzle Pack 01 (April 18, 2018)

Puzzle 01.zip

 

Sci-Fi Pack 01 (December 31, 2018)

vvcs-Sci-Fi Pack.rom

Edited by doctorclu
  • Like 6

Share this post


Link to post
Share on other sites

Youtube video here...

 

 

Edited by doctorclu
  • Like 3

Share this post


Link to post
Share on other sites

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?

vvcs-Bubsy2.rom

Edited by doctorclu

Share this post


Link to post
Share on other sites

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.

  • Like 7

Share this post


Link to post
Share on other sites

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.

  • Like 1

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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.

  • Like 2

Share this post


Link to post
Share on other sites

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

  • Like 1

Share this post


Link to post
Share on other sites

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

Yes.... if I hit lotto.

  • Like 5

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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

 

post-4709-0-44358300-1522206784.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.

 

 

post-4709-0-69733600-1522211797_thumb.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.]

 

post-4709-0-17814800-1522211925_thumb.jpgpost-4709-0-41164900-1522211943_thumb.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.

 

post-4709-0-73156800-1522212016_thumb.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!

 

post-4709-0-29837300-1522212136_thumb.jpg

4. Flag Capture

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

 

post-4709-0-49868800-1522212212_thumb.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. ;)

 

post-4709-0-60198200-1522212375_thumb.png

6. DKVCS intro screen

20180327_215942.mp4

 

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.

vvcs-multi01.rom

Edited by doctorclu
  • Like 5

Share this post


Link to post
Share on other sites

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

 

post-4709-0-53899000-1522241148.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!

vvcs-multi01gfx.rom

Edited by doctorclu
  • Like 6

Share this post


Link to post
Share on other sites

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
  • Like 1

Share this post


Link to post
Share on other sites

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.

  • Like 1

Share this post


Link to post
Share on other sites

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

  • Like 4

Share this post


Link to post
Share on other sites

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.

  • Like 5

Share this post


Link to post
Share on other sites

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.

A-Good.zip

  • Like 3

Share this post


Link to post
Share on other sites

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

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