Author
|
Topic: Bubble Bobble (SMS) hacking the levels. (Read 1 times)
|
RRB Brick
Guest
|
|
« on: August 11, 2010, 09:59:51 am » |
|
Okay, well, I'm having a sort of pointer problem. I have found the pointers for the levels, which is located at $18000. But, I don't have an idea of where the actual level data is. I will show you the pointers:
9C 41 - Level 1, D5 41 - Level 2, 24 42 - Level 3, CB 42 - Level 4, 7D 43 - Level 5 etc.
This doesn't affect what sprites are on the screen (monsters) or the location of where the items pop up.
Now, I'm thinking you might have to add those bytes to $18000 to get your actual location, but, it's confusing me, because adding 9C 41 to $18000 would get $21C41, for which it's not level data, it's main art. Anyone got an idea? Thanks in advance.
~ RRB Brick
|
|
|
|
KingMike
Guest
|
|
« Reply #1 on: August 11, 2010, 10:25:40 am » |
|
I THINK SMS allows bankswapping in the $0000-3FFF, $4000-7FFF and $8000-BFFF ranges. So, since your pointer is between $4000 and $7FFF, that means you should (first, reverse the bytes because Z80 is little-endian, and then) subtract $4000, so 4C91 = $18000 + 0C91 = $18C91.
|
|
|
|
RRB Brick
Guest
|
|
« Reply #2 on: August 11, 2010, 10:38:05 am » |
|
Yeah, I just tried it and it works, but you made a little mistake with the bytes, which it was 419C, not 49C1. So I tried at $1819C instead, and the level was changed. Now I will figure out the next levels' starting data and even do a document of how the levels work. Thanks, KingMike.
EDIT: I've documented the level positions, and well, some of the level data is in different positions. for example, 78-79-81-82 and 98-99-100-s1-s2-s3-s4-80-101. Some use pointers for previous levels as there is no change to it, for example: 2-102, 3-103, 4-104 etc.
What really got me is the different sizes between these levels, as I thought they would have all been the same size, which might have made it a lot easier. At least there is one thing I know: The first 2 bytes of every level determine how many shafts there are at the top and at the bottom.
As soon as I grasp on how the levels work, I will let you know. I think this level design code is quite confusing.
|
|
« Last Edit: August 13, 2010, 06:16:04 pm by RRB Brick »
|
|
|
|
|