Jump to content
  • entries
    658
  • comments
    2,707
  • views
    906,956

release candidate 5


Used up the 400 bytes and then some.

  • Fixed a "find the ship" bug in the Magna-Mine targeting logic which would cause the mines to wander around off-screen in the vertical screen-wrap zone.
  • Revised the vertical wrap zone to use a 16 scan line off-screen zone for all objects. It previously used to be 8, 16 or 32 scan lines depending upon the size of the object.
  • Fixed top-side-of-screen collision detection. It had the same problem that left-side-of-screen collision detection had; but was occuring in the off-screen wrap-zone so it wasn't very noticeable.
  • Brightened up the multi-color asteroids. They used to use LUMA values 4-11, they now use 6-13. Mostly noticeable with dark grey asteroids.
  • Respawn changed to always face your ship upward, except for 2 player concurrent games which still respawns with a random heading.
  • Shield time decreased
  • Longer end-of-game delay before returning to the menu.
  • Revised the CONTROL menu to only show 2 controls when needed. Should make the option less confusing.
  • Revised KIDS game to also set FRICTION=YES, BONUS=5K and MAGNA-MINES=NO alongside OPTION = (unlimited) SHIELDS,

2 controllers in CONTROL option

blogentry-3056-0-08452500-1352583011_thumb.png

 

1 control in CONTROL option

blogentry-3056-0-96100300-1352583020_thumb.png

 

revised KIDS setting:

blogentry-3056-0-51684900-1352583027_thumb.png

 

Screen wrap - large objects can now concurrently appear at the top and bottom. Small objects still hide out in the wrap zone for a little bit.

blogentry-3056-0-17121700-1352583035_thumb.png blogentry-3056-0-66383600-1352583042_thumb.png

 

 

A lot of things where changed during the optimizations, so please let me know right away if something isn't working correctly. Thanks!

 

 

ROMs

spacerocks20121110_NTSC.bin

spacerocks20121110_PAL.bin

 

Source

spacerocks20121110.zip

  • Like 1

3 Comments


Recommended Comments

Hmm, looking at the code this could have happened before, though making everything use a 16 scan-line wrap zone increased the odds as the saucers used to use an 8 scan-line wrap zone.

 

There's only 10 bytes free in the ARM space. Having everything use 16 simplified a lot of logic, which shrank the ROM requirements for that code, so I'm not able to make the saucer use 8 again. I've not encountered this yet in my tests, so I'd like to see how frequently it occurs. If it's a rare occurrence then it probably won't get fixed.

I took a look at the saucer code and found where I can add some extra logic to keep it from hanging out off-screen in the wrap-zone. It would tie into the logic that keeps the saucer explosion moving in a straight line without random direction changes. I can easily modify that routine to also check the saucer's Y position to see if it entered the wrap-zone. If the saucer stops making direction changes upon entering the wrap-zone, then it will just proceed along it's current heading until it reappears on the other side of the screen.

 

A "bandaid fix" will take 12 bytes, a proper fix will take 20. Either way, that's more space than I have. If the saucer hides out again, for anybody, in the next few weeks then let me know and I'll see what I can do.

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