Jump to content

Mord's Blog

  • entries
    170
  • comments
    93
  • views
    98,681

8k->16k

Sign in to follow this  
Mord

89 views

I had this idea that it would be easy to change the 8k rom into a 16k rom.

 

Yeah, I'm still laughing myself.

 

I'm still planning on it, since I'll need it for extra room for objects, but I have a few things to separate first.

 

Collision Routines: For some unknown reason, I decided to put collision labels in the object data itself instead of into a table. (Like what I did for AI routines) This had to be removed and put into a table so that I can push all of those into their own bank.

 

This is done.

 

Secondly I have the rest of the object data intermixed with the graphics data. This made a little more sense but it's going to make it harder to store graphics data in the display bank. So the next mini-goal is to separate that. This results in some difficulties however with setting up a table for graphics data if the graphics data and object data are in separate banks. I'm probably overlooking an obvious solution. I'm too tired to think on it right now anyway.

 

This is the next part.

 

Thirdly, I'll take a closer look at the collision problems revolving around the gate and key not always working, even tho I'm using hardware collision latches, the gate is always displayed every screen, and we know the key is flickering in. As soon as it flickers in, there should be a 100% chance of it triggering. But that is not happening. What's worse is that sometimes it DOES happen but sometimes it doesn't. My gut is telling me to look at the gate's AI routine (which tests for collision with the key - the key just handles it's moving around if held) the Object Manager, and the GetHardwareSprite routine. The least likely place of the 3 to be the culprit is probably GetHardwareSprite, but it's the only used by the gate AI right now so it's by default under suspect.

 

 

After that's cleared up, I'll work on adding the extra banks. First I'll convert it to a 16k bank that happens to only use the bottom 2 banks, exactly as it does now. Then I'll attempt to rewire the Overscan portion to another bank. (This is some setup code, the Tick related code, and the Collision routines.) Once that's working, I'll finish by moving the Vertical Blank code to it's own bank as well. This is mostly display setup and AI.

 

The Roomloader bank is luckily already self-contained the way it was going to be. So beyond some alterations revolving around bank switching, there shouldn't be anything I need to do with that bank.

Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

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