Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Mario Land Enemy/Object Data Complete!
  
User name:
Password:
Reply:
 

UserPost
Violent J
Posts: 549/749
Meh...Im not finding anything new. Yet...I found some more enemy data but woopdie forking doo! lol. I will post the enemy data spots when I get them all for 1-1.
VL-Tone
Posts: 160/200
Originally posted by Keitaro
Hip Tanaka designed the sound hardware? News to me *shrug*. And HH, yer thinking of SML2


I said that he probably did.
Let me tell you why I think so.

First, Hirokazu "Hip" Tanaka, for his first job at Nintendo designed the sound hardware (and software) for the original Donkey Kong arcade machine. I would assume he had at least a small role in designing the NES/Famicom sound hardware having previous experience at that. Tanaka was part of R&D1, directed by Gunpei Yokoi (part of R&D1 became intelligent systems http://intsys.co.jp). He did the music for most of the first small NES games like Balloon fight, Gyromite, Duck Hunt and others (Like Metroid!). He also wrote his own tools to generate music and sfx for the NES. The GameBoy was designed by the R&D1 team, and Tanaka was a hardware and software sound engineer so he probably at least co-designed the GameBoy sound hardware. SML really looks like it was the first game designed for the GB, and the game probably evolved as they were designing the HW, so it was best for them to have a sfx and music composer working on the HW. Another thing pointing to an involvement in the GB hardware is that Tanaka in fact designed the GameBoy Camera hardware, and directed the software aspect (I'm betting that he coded the DJ mini-game himself).

Anyhow, let's get back to Super Mario Land hacking (sorry for the off-topic post).
HyperLamer
Posts: 6464/8210
Yeah, that was it. I knew it was one of the SML games.
Someguy
Posts: 374/397
Originally posted by HyperHacker
I figured that out from the Metroid 2 resources laying around in the SML (or was it SML2?) ROM.


You most likely mean 2, because I myself found the entire credits in SML2.

EDIT: Sorta skipped over part of Keitaro's post, whoops.
Keitaro
Posts: 1258/1342
Hip Tanaka designed the sound hardware? News to me *shrug*. And HH, yer thinking of SML2
HyperLamer
Posts: 6439/8210
I figured that out from the Metroid 2 resources laying around in the SML (or was it SML2?) ROM.
VL-Tone
Posts: 158/200
Wow SML hacking at last! Great jorb guys!

SML is one of the game I wish to be seen hacked/edited, (since I played it alot when I had my gameboy in 1988)

In the "did you know that" section: Did you know that SML was produced by Gunpei Yokoi and part of the Metroid team? Hip Tanaka (who worked on Metroid) did the music and sfx for SML. He's very good at giving the impression that the gameboy could play more than 3 notes at the same time, even more so since he probably designed the sound hardware for the gameboy.
HyperLamer
Posts: 6417/8210
The Hard Mode list should be exactly the same as the normal list. The high bit just indicates whether they should be hidden in normal mode.
Violent J
Posts: 533/749
Frank holy crap awsome! That means I didn't get all the data! all those "Nothings" were hard mode enemys! Well damn, now I have to figure out a way to start hard mode always

Uh oh....ever since Prier messed with my layout...It killed the thread!!
Coolman
Posts: 27/32
If somebody is interested:
Mario position is definded in the routine at 03:4823
Frank15
Posts: 123/126
Originally posted by Sonicandtails
2. Find the hard mode enemys
I may have lost my notes, but this I remember: from 80-FF are the hard mode enemies: they'll appear as nothing unless you're in hard mode, whether it's enemies or moving platforms or anything like that. Like 00 is a Goomba. 80 would be a Goomba that appears in hard mode only.
HyperLamer
Posts: 6402/8210
Yeah, the MBC1-5 are all pretty much compatible. Unless a game is using the MBC3's clock, you can upgrade it pretty much just by changing some header bytes.
Originally posted by Keitaro
Sweet....HH found my notes. You rock, I lost them on my old hardrvie anyways, yep. that's basicly what I found. So yeah, it uses a olumn system which I beleive to be similar to Zelda's...I still have to look into things a little more, but hopefully this will help some other people looking as well.

I actually forgot I had those. They weren't in my ROM Hacking folder, for some reason.

Also I think Mario's start position is hardcoded to be the same in every level, but I can hack that pretty easily. (I actually made such a hack a while back, but I barely knew ASM, so it was buggy as hell. )
Coolman
Posts: 26/32
Perhaps you should also know, that tiles FDh, 70h, 80h, 5Fh and 81h are special.
If the tile is FDh it takes another byte from the ROM and outputs this instead of reading one tile after the other.
Example:
52 FD 05
So the output ist 05 05 at the 5th row.
I don't know how 70h, 80h, 5F and 81h work. I've just seen in code that they are special.

offset1 = [0x4000 + [FFE4] * 2]
offset2 = [offset1 + [FFE5] * 2]
This is the way to calculate the map offsets.
Don't know what rom bank this is for. Sorry, but haven't found the code which loads the rom bank. ^^"

I hope this is useful...
Violent J
Posts: 531/749
Awesome! Alright, so we can expand and give more space to the ROM! That music address file will add geatly to all this too. Looks like we're getting a little group together

Im still fiddleing with the damn level layout. Im really getting confused as some things can contadict other things and cancel each other out :s (This one thing I did got rid of the first pipe, but another thing I did, brought it back :s)
Keitaro
Posts: 1256/1342
True, GB/C expansion is perhaps one of the easiest things imaginable. And I could look a little bit more into this for you, too Sonicandtails. I still have that level's music data somewhere (it was stored in its own little area, each level in order, and it was just hex numbers for what songs played. a table, if you will.)
Coolman
Posts: 24/32
Well, you can resize almost every gb-game to 2MByte.
All you have to do is to change the memory bank controller, change the rom size by filling up with 00-bytes and change the rom size in the rom header.
For details read gbspecs.txt.
Violent J
Posts: 529/749
Holy Shit your sprite list is almost the same and just as funny as mine XD . Anyways, wow those notes are nice, but I already figured out the "lines" for the level layout, and where 1-1 starts. I think if we could add more space to the ROM, we could put more into it. Wait...Isn't hard mode where theres more enemys? Would this mean we could delete all that extra enemy data and have more for adding spaces for blocks and such?

List of things to do (You guys need to help too )
1. Find way to expand rom
2. Find the hard mode enemys
3. Figure out a cleaner way to edit the level "lines" (I can do it, but it takes alot of guess and check, so we need to find out an easier more efficent way.)
4. Mario's start position would be nice

Alright, lets get to work (That is, if you guys are helping)
Keitaro
Posts: 1255/1342
Sweet....HH found my notes. You rock, I lost them on my old hardrvie anyways, yep. that's basicly what I found. So yeah, it uses a olumn system which I beleive to be similar to Zelda's...I still have to look into things a little more, but hopefully this will help some other people looking as well.
HyperLamer
Posts: 6384/8210
Aha! I have those notes!



World 1-1 data starts at A200
World 1-2 data starts at A9A6

Each screen is made up of vertical lines. FE comes between each vertical line (there are no pointers for these, they can be freely moved around)

Each vertical line is made up "background elements", which is just a way of not have the blank space listen in the ROM. One byte at beginning of each background element:
- First digit gives the vertical position (the background elements do _not_ have to be placed in the ROM in order from highest to lowest)
- Second digit gives the number of tiles
Then there's a byte for each tile in the background element

This does not include anything that moves or is animated. As far as I can tell, it includes everything else.

There must be a list somewhere in the ROM that determines the properties of each tile.

It doesn't have the entire level encoded this way - it has each _screen_ encoded this way, and somewhere in the ROM there is a list of the order the screens should go in. In each level there are many entire screens that get repeated over and over again.

Special tiles:
79 - Block (something else determines what type of block it is)
F4 - Coin

Random notes:
- Changing 05ED screws up the graphics
- Changing 05DE screws them up even more
- Changing 063B stops Mario jumping!
- Changing 063E takes you back to the title screen as soon as the game starts
- Changing 0644 removes Mario, and makes the timer stay on 400
- Changing 07FD makes the music continue playing when you pause the game
- Changing 087A changes how the collison between a mushroom and the top of Mario's head works
- Changing 0892 makes it so Mario goes straight through enemies and items (other than coins)
- Changing 08DE makes it so Mario kills an enemy when he touches it, or goes through it if it's not an enemy that can be jumped on
- Changing 0918 stops a score appearing when you kill enemies by jumping on them
- Changing 09BB completely removes the effect mushrooms have on you
- Changing 09BD does the same, and if you change it to 9A it also turns on hard mode for some reason
- Changing 09BE removes the animation for when Mario transforms
---
- 0216 is on 00 by default - changing it to 01 turns hard mode on, 02+ do various continuey things
- 0348 controlls the offset of some of the title screen graphics O.o
- 0354 controlls the offset of the rest of the title screen graphics O.o
- 0375 controlls the often of the graphics for the text on the title screen
- 0394 seems to be the start of the actual layout of the title screen
- 05EB controlls the offset of the in-game graphics (except for enemies, etc.)
- 05EF screws up what different things look like depending on what you change it to
- 05F7 controlls the offset of the enemy, item, etc. graphics
- 0613 controlls the location of the text (i.e. not numbers) in the info bar
- 0742 controlls the location of the "Pause" text
- 07C1 turns off music during levels (but strangely, not when you're in a coin room)
- 080B does something VERY weird!
- 0871 is the can't-hit-items-or-enemies thing again... but this time it wears off O.o



And a sprite list:


Sprite data starts at A004. Format:
[type] [x coord] [y coord] [unknown 6 bytes]

Note: Some of these appear all wrong, I'm guessing there are multiple sprite graphic sets. Sprites marked with a ? need more studying. Descriptions "#xx" mean they're the same as the number specified, IE 11 = #0D means 11 is the same as 0D.
00 = Goomba
01 = Dead Goomba
02 = Piranah Plant
03 = Bouncy Ball Shooter?
04 = Koopa
05 = Exploding shell
06 = Pounding Hand
07 = Elevator up, limited time, slightly above set location
08 = Fire-breathing lion with boss music
09 = Fire-barfing moving plant
0A = 3-part platform, down-left?
0B = 3-part platform, left/right
0C = Falling Brick
0D = Nothing?
0E = Jumping bug
0F = Dead bug
10 = Jumping thing
11 = #0D
12 = #0D
13 = #07 but on ground
14 = #13 but doesn't wait for you
15 = Something dying?
16 = ?
17 = Robot head?
18 = ? Becomes #16 when nearby
19 = #15
1A = Water boss (doesn't come down - may require a celing to bounce off)
1B = Fireball
1C = #15, delayed
1D = Flying invincible lion?
1E = Low fireball
1F = High energy ball
20 = Bug bounces in place?
21 = Explosion + 2 energy balls
22 = Low slow energy ball
23 = Fast up+left energy ball
24 = Lion, bounces very high and spits fire
25 = #18?
26 = #0D
27 = Explosion
28 = Mushroom, goes right*
29 = Mushroom, goes left*
2A = 1up, goes right*
2B = 1up, goes left*
2C = Star, goes right*
2D = Flower (off ground a bit)*
2E = Flower*
2F = 3 fish?
30 = 1 fish?
31 = Lion scooting around on its butt? O_o
32 = Ball-throwing boss?
33 = Bouncy ball?
34 = Star, goes left*
35 = Falling spikes
36 = Falling II block thing
37 = #0D
38 = 3-part platform, up-right/down-left
39 = 3-part platform, up-left/down-right
3A = 2-part platform, down?
3B = 2-part platform, left/right
3C = Flying head (looks like a bird in 1-1)
3D = ?
3E = #15
3F = Lion
40 = Dead lion
41 = #3D
42 = Bug, drops arrows
43 = Dead bug
44 = #15
45 = Arrow
46 = Explosion
47 = #33
48 = Boss?
49 = Cannon
4A = Bullet
4B = Low Bullet
4C = II thing, takes you to the end of the level!
4D = #4C but doesn't wait
4E = #0D
4F = Alternate explosion
50 = Bullet, up-right
51 = Ball, goes up then down through ground, hurts Mario?
52 = Charging bug, jumps, shoots bullet down-right?
53 = ?
54 = Circling energy ball
55 = ?
56 = Jumping bug, doesn't die (could be Ninja)?
57 = "Dead" #56 (comes back to life)
58 = Funny energy ball, left fast
59 = ? Nothing shows, stays still, 800 points?
5A = Bullet up-left
5B = Last boss?
5C = 3 energy balls fast**
5D = Energy ball, up-left then left, fast
5E = #58, different GFX
5F = Energy ball, down-left
60 = Boss?
61 = Boss 2?
62 = Explosion, then #5B
63 = Lightning fast Goomba up-left?

*There is, unfortunately, no interaction for these (you can't get them).
** One goes left then left-up, one goes left, and one goes left then left-down.
There can only be 10 sprites per line and I believe 40 onscreen before things go wrong.



And a table file!


00=0
01=1
02=2
03=3
04=4
05=5
06=6
07=7
08=8
09=9
0A=A
0B=B
0C=C
0D=D
0E=E
0F=F
10=G
11=H
12=I
13=
14=K
15=L
16=M
17=N
18=O
19=P
1A=Q
1B=R
1C=S
1D=T
1E=U
1F=V
20=W
21=
22=Y
23=.
24=
25=:
26=,
27=Z
28=!
29=-
2A=$
2B=*

Violent J
Posts: 521/749
Well, I also have starting data of regular objects (Like the ground and such) and its coming along good. Only problem is, it dosn't seem like you can add much more data if you wanted to so you could add ground and other objects . Also, I also know the enemy locations, but I havn't really gone in depth with them yet...Expect more tomorrow or later. Im taking a break...Oh, and if anyone wants to test it...
0xA004 is the first Goomba. Just the byte to something in my data and tada! Instant customization of the first Goomba. If anyone knows a way to maybe add bytes (expand) to a ROM, that would be supurb. There isn't much for empty space on the ROM(About 1/8 of a levels worth...), so if you were to make a level hack, you'd really have to work with what you have.
Also Im using Version 1.1, because other version just wont load up for me in Translhextion.

*Keitaro: Any help would be appreciated to gather all the data we can faster!*
This is a long thread. Click here to view it.
Acmlm's Board - I2 Archive - Rom Hacking - Mario Land Enemy/Object Data Complete!


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.004 seconds.