Jump to content
IGNORED

"gameselect" multigame loader


RevEng

Recommended Posts

A short while back I posted a simple game-selecting bank-switch menu in this thread: http://www.atariage.com/forums/index.php?showtopic=143328

 

Due to a few PMs I got with questions, I went ahead and cleaned it up a little to hopefully make it a bit self-explanatory. (and also made the joystick selection UI a bit easier)

 

The source has compile-time options for 16k/4-bank or 32k/8-bank carts (since those are the easiest to get) but it should be pretty easy to modify for other schemes. In the save vein, this time around the source includes the bankswitching code as assembly code rather than binary data.

 

gameselect.bas

score_graphics.asm.txt (remove the ".txt" and put in the same dir as the .bas file.)

 

gameselect.bas.bin

 

The attached bin has *no* games stuck to it presently. To do this, concatenate 3 files onto gameselect.bas.bin. In linux/cygwin/MacOS/*BSD use "cat file1.bin file2.bin file3.bin >> gameselect.bas.bin". In DOS/Windows-CMD I believe something like the following should work "copy /b gameselect.bas.bin+file1.bin+file2.bin+file3.bin full_gameselect.bas.bin"

 

As is, it should work with bB bins and *some* assembly-generated bins. The latter depends on if the game co-incidentally uses a hotspot location for its regular data. Since the F6/F4 hotspots are near the end of the cart, games that are packed to the gills with data are likely to crash. Nothing to be done in that situation, short of dissassembling the bin, modifying it, and re-assembling it.

 

Question: can I disassemble a bin and just move data from $1FF6 to another location, like $3FF6 or $FFF6?

Answer: no. because of it's shortage of address lines, when the 2600 tries to access $FFF6, the exact same cartridge lines are used as when it tries to access $1FF6, $3FF6, $5FF6, ... , $DFF6. Programmers use those "high" locations in their code to differentiate between their banks/locations logically, but physically they are equivalent to a 2600. For more info, read the stella hardware docs.

 

Question: where are all the cool graphics and stuff?

Answer: Its bB and you have the source code. You know what to do!

Edited by RevEng
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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