Jump to content
doctorclu

Working Atari 2600/VCS games on VirtualVCS

Recommended Posts

That worked quite well!  :D.  How much extra space did you have to add for all the text to look legible?

None.  I just changed the relative placement of P0 and P1 on those scanlines.  Like I said, it looks weird, but you can read it.  Based on what I've read in this thread about things not be resized or duplicated, I'm assuming the emulator doesn't support NUSIZ.  So there's not really anything we can do about the missing graphics.

Share this post


Link to post
Share on other sites

I downloaded Virtual Jaguar and gave it a go.  Played as all the different characters.  Won a game or two.  So display issues aside it seems to work ok.  The display is heavily timing dependent, and the emulator timing seems a little off.  I may be able to tweak things and get it looking more or less correct (except for the missing sprite copies).  It will probably take a lot of trial and error though.  Since I don't want to bug you every time, I just want to verify that you are just copy/pasting into the existing binary at those specific locations?  Are you using a regular hex editor or is there something written specifically for the Jaguar?  

Share this post


Link to post
Share on other sites

Virtual Jaguar displayed VirtualVCS?  :O  What version?   The version I was using on the Mac didn't get past the opening menu screen.  

 

You got it!  :D.  Been using Hexfiend on the Mac.

 

Dungeon 2 was pasted into the hex at 38768 or you can search for the opening hex string "78D8A200 8AA8CA9A"

 

Cool that you are willing to alter a game for this limited emulator if nothing else to note what is not working (specially) :P and maybe get some pointers on how to alter other games to work with the emulator in it's current state.  

 

So for the above...  :thumbsup:   (Wanted to Salute but they didn't have that one in the forum emojis)

 

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

 

I got a request yesterday for the google spreadsheet of working games.   I don't mind granting access to that.  But I kinda abandoned that as soon as I started it.  Reason: when I first started that list I was EXTREMELY lucky with the few games I initially tried like the fan made Mario Brothers (which all but completely worked), Frogger, Astroblast, Gorf, and a few others.   That was before I did the "852c" hex search, found about 300 games at 4K or less, and then systematically found less than a 100 games that even displayed and even less that that did anything worth talking about.

 

Was easier to mentioned the games worth any note than to say what didn't work at that point.

Edited by doctorclu

Share this post


Link to post
Share on other sites

v2.1.3 in Linux.

 

[attachment=627925:Screenshot from 2019-03-24 11-13-38.png]

 

I imagine the vast bulk of the games are going to be pretty much unplayable.

Share this post


Link to post
Share on other sites

Here we go, a copy with a better menu screen.

Share this post


Link to post
Share on other sites

I've pretty much confirmed it doesn't process NUSIZ.  I removed all the NUSIZ commands from my 2600 rom and the game world displays identical (see attached) to what we see on the Jaguar.

 

[attachment=627982:d2(wNUSIZ turned off for comparison to VirtualVCS).bin]

 

NUSIZ is used in a lot of programs.  So that would mean for example no 3 enemy planes in Combat.  The bomber would only be normal sized.  Pretty much any Space Invader type game would be messed up.  Etc.  So between that, the insane speed things get run at, collision detection issues, flicker issues, etc. I would be shocked if you find more then a few that work good enough to be called playable.  Everything pretty much needs to be turn based (board games, etc).

 

I've tried, but can't get the text to display any better than what we have in that last rom you posted.  Move it a pixel closer to each other and you get the squished mess.  It also moves things at the top of the screen too close to each other depending on the layout (whenever the initial placement of the sprite is not on the left).  This of course doesn't happen in Stella, z26, or on hardware, so I'm not sure what all the differences are, but it is obviously doing things differently and the overall timing is off.   

 

 

Share this post


Link to post
Share on other sites

Ha... yeh playing the game you put together is basically the experience on VirtualVCS.   WITH SOUND!  :P. Well I applaud you for trying and for helping nail down one of the major areas I would have worked on. 

 

What you say makes a lot of sense.   Even Space Battle, which is the best operating game I've found, seemed effected by NUSIZ as the characters in the game are smaller than usual by just a little bit.   The speed of the game I attribute to be on difficulty A, the default setting for VirtualVCS.   So at this point if I could get a programmers help for Carl at Songbird (who currently has the source code) I would get them to focus on setting up a difficulty switch and see about getting NUSIZ working.

 

That would help Gorf, Frogger, Gopher/Gravedigger, Lock and Chase, and a few other non-hit detection games work.

 

AND allow Dungeon 2 to display right.

 

Wonder how much paytheon we would need to raise to get a programmer to do that much?

Share this post


Link to post
Share on other sites

Out of curiosity, I tried several of my games.  Anything written in bB fails immediately.  Even the really old versions.  My asm stuff works but has the usual issues.   Bifröst displays and plays (attached if you want to see).  It has collision detection and NUSIZ issues as expected.  It also has positioning issues as seen in Dungeon II.  That could be a byproduct of not processing things like the NUSIZ and sound commands.  The cycles that would have been used for that don't get used.  Or there could be a flaw in the HMOVE emulation.  Don't know.  Even throwing money at it, I doubt you'll be able to find a programmer to get the issues ironed out.  It's most likely going to require somebody who really knows the in and outs of writing a 2600 emulator.  Only a handful of those guys are around and they are busy with their own projects.

 

2600 rom

[attachment=628394:bifrost_20181104.bin]

 

Jag rom

[attachment=628395:vvcs-bifrost.rom]

Share this post


Link to post
Share on other sites

Out of curiosity, I tried several of my games.  Anything written in bB fails immediately.  Even the really old versions.  My asm stuff works but has the usual issues.   Bifröst displays and plays (attached if you want to see).  It has collision detection and NUSIZ issues as expected.  It also has positioning issues as seen in Dungeon II.  That could be a byproduct of not processing things like the NUSIZ and sound commands.  The cycles that would have been used for that don't get used.  Or there could be a flaw in the HMOVE emulation.  Don't know.  Even throwing money at it, I doubt you'll be able to find a programmer to get the issues ironed out.  It's most likely going to require somebody who really knows the in and outs of writing a 2600 emulator.  Only a handful of those guys are around and they are busy with their own projects.

 

2600 rom

attachicon.gifbifrost_20181104.bin

 

Jag rom

attachicon.gifvvcs-bifrost.rom

 

All good points and I'll give the bifrost Jag binary a try tomorrow.   This emulator has a lot of potential. I play some games (Space Attack, Sky Diver, a few others) and it's really a lot of fun.   Amazing how well the Tom processor on the Jaguar can handle the 6507 emulation.   I've pitched some ideas, mainly the patheon idea.   For now it is what it is, bugs and all.  But still far more than I ever expected a system with a 68000 could do. 

Share this post


Link to post
Share on other sites

I'm definitely not a 2600 programmer, so what is NUSIZ?

 

Sorry that VVCS never makes it to the top of my hobby projects list -- it's a bit daunting to learn how to emulate the 2600 hardware inside a Jaguar program. Maybe when I'm retired. ;)

Share this post


Link to post
Share on other sites

Cool reference doc, thanks!

 

I just glanced through the VVCS source and can confirm I did not find any references to NUSIZ beyond a single declaration of two emulator variables. So it's defined, but not used in the code. Same is probably true for numerous other TIA features.

Share this post


Link to post
Share on other sites

I'm definitely not a 2600 programmer, so what is NUSIZ?

 

Sorry that VVCS never makes it to the top of my hobby projects list -- it's a bit daunting to learn how to emulate the 2600 hardware inside a Jaguar program. Maybe when I'm retired. ;)

 

Totally get you there.  Baby steps.   So now I think adding a difficulty switch would be awesome.  :D

 

Cool reference doc, thanks!

 

I just glanced through the VVCS source and can confirm I did not find any references to NUSIZ beyond a single declaration of two emulator variables. So it's defined, but not used in the code. Same is probably true for numerous other TIA features.

 

No problem.   Been fun to tinker with.

 

Yeh aside from 6507 emulation I think it would be easier to count what does work for TIA features verses what doesn't (since they are numerous.)

 

All the same, I played Hangman on my phone emulating a Jaguar emulating a 2600 today while in a meeting.  ;)

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