Jump to content

Mario Kart 2600


Recommended Posts

I've been working on my first hack project for about a week now -- Hacking Sprintmaster into Mario Kart for the 2600!


I still have a LOT of work to do.


Right now I am working on the screen title and kart sprites, Maybe I'll find a way to hack the 'Traction' & 'Speed' cubes into mushrooms.


So, Enjoy MARIO KAKTER! (I'll Get rid of the K & A, and change the T,E & R into A,R & T. To make:






I might also change the movie car at the title screen.











Mario Kart 2600.bin

Edited by Cortat G
  • Like 1
Link to comment
Share on other sites

The problem here is that your diagonal sprite located at 0x00003A86--0x00003A8E is crossing its boundary. I've attached a picture to show exactly where the issue is happening. You can actually shift that sprite up by one pixel so that it begins at 0x00003A87 and ends at 0x00003A8F and you'll be just fine. :)



Link to comment
Share on other sites

  • 1 month later...

It's easy to change them once you found the locations, so try playing the game in the Stella emulator and:


- on the playing use the ~ key to enter the debugger

- click the TIA tab

- Pay attention to COLUP0 and COLUP1 on the TIA tab. Continually click the "SCAN" (scanline) button in the top right corner under you see either COLUP0 or COLUP1 change to the players color. Now hit the vertical arrow button (rewind) beside the "Scan" button to go back a scanline. Use "Step" to go instruction by instruction until you find the place the colors are loaded from. You can directly change them in Stella and save the rom, or use HOM3 now that you know where the location is.



There are more ways to find the colors. One was is to use a "trapwrite". On the prompt tab in the debugger, type trapwrite 06 07 and this well stop the game and enter the debugger right after either COLUP0 or COLUP1 is being written too. Use the ~ key to exit the debugger, and it will break at the next tap write. type trapwrite 06 07 again in the prompt tab to clear the traps.



Not to confuse you here, but I'm using one trapwrite statement her to trap both COLUP0 and COLUP1. I can do this because they lie one after the other in memory space, and I'm trapwriting as a range of registers. You can trapread as well (useful for rom space), and trap for both read and write.


Also some games use 0x36 and 0x37 for COLUP0 and COLUP1 instead of 0x06 and 0x07.

Link to comment
Share on other sites

  • 3 months later...

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.

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...