Register | Login | |||||
Main
| Memberlist
| Active users
| ACS
| Commons
| Calendar
| Online users Ranks | FAQ | Color Chart | Photo album | IRC Chat |
| |
Acmlm's Board - I2 Archive - - Posts by mikeyk |
Pages: 1 2 3 4 5 6 |
User | Post | ||
mikeyk Koopa Level: 18 Posts: 41/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
Here's a bunch of random data that I pulled out of the portions of my notes that were easier to read. There's a chance that some of this may be inaccurate seeing as I havent used most of it in quite a while. If anyone has any requests for data related to a specific sprite, i have plenty of documents that i can look through for info. ---------- Mario ---------- 0x5E78 [01 02 02 02] number of animation frames to use for walking mario, paged by mario?s status 0x5e7c - Mario animation speed 6206/620c Mario tilemaps 59cf [ff 01 01 ff ff 01] - cape speed 54bd - jump height while still 54c9 54c7 - jump height while running fast 59a5 - [06] normal fall speed, not holding jump 59b9 - [10] float speed 5877 - [50] Mario fly time 59ba - [c8] fly gain (added to y speed) 5b09 - [20] float timer 643a - Cape tile map 6466 - cape offsets 628f - cape heads table 0 1 2 walking 3 looking up 4 5 6 running 7 8 9 running with object 11 jumping 12 flying 13 turning 15 using pipe, turning with shell 16 about to run up wall 17 18 19 running up pipe horiz 21 climbing 22 24 26 swimming 32 33 on yoshi 38 posing 39 40 using yoshi 36 soaring ------------------- Bullet Bill ------------------- 0x91D7 - x speed (right left) [20 E0] 0x91DF - y speed (right left) [00 00] 0x91C7 - palette (right left) [42 02] 0x91CF - tiles (right left) [00 00] ------------------- Bob-omb ------------------- SNES $02/808D - explosion area SNES $01/9631 - explosion sound effect SNES $02/8113 - explosion gfx tile SNES $02/80F0 - explosion gfx animation 0x10272 (explosion x spacing) 00 08 06 FA F8 06 08 00 F8 FA 0x1027C (explosion y spacing) F8 FE 06 06 FE FA 02 08 02 FA ------------------- Rex -------------------- 0x1984C rex tile horizontal displacement table (0xC entries for facing left, 0xC entries for facing right) 0x19864 0xC entries (rex tile vertical displacement table) 0x19870 0xC entries (rex tiles) 0x1987C 2 entries (rex walking left info, rex walking right info) xyppccct format 0x19714 <- normal rex walking speed (loaded at instr $03/9564) 0x19716 <- smushed rex walking speed ---------- Misc ---------- 0x0149E8 [FE] - BD Chargin Chucks unlimited stomping hp 0x0149EF [03] - 01-FF Chargin Chuck stomping hp 0x0122FC [FE] - BD Chargin Chuck Unlimted fire hp 0x012303 [05] - 01-FF Chargin Chuck fire hp 0x00A916 [A9] - 60 Blue Koopas don't kick 0x00A98D [F0] - 80 Blue Koopas don't stop shells 0x00AC29 [FF] - 01-FF Stun timer for Goombas, Buzzy Beetles, Mechakoopas, Bob-ombs 0x00AC15 [02] - 00-01 Shelless Koopas aren't spawned 0x00AC15 [02] - 03-FF Stun timer for Koopas (Shelless hide in shells rather than sliding out) 0x00ABD9 [20] - 01-FF Timer for displaying smashed shelless Koopas 0x00A9D1 [04] - Enemy spawned from stomping horizontal green winged koopas 0x00A9D2 [04] - Enemy spawned from stomping bouncing green winged koopas 0x00A9D3 [05] - Enemy spawned from stomping vertical red winged koopas 0x00A9D4 [05] - Enemy spawned from stomping horizontal red winged koopas 0x00A9D5 [07] - Enemy spawned from stomping yellow winged koopas 0x00A9D9 [0F] - Enemy spawned from stomping winged goombas ------------------- point data ------------------- 0x12f4c - 1st point tile 00 83 83 83 83 44 54 46 47 44 54 46 47 56 29 39 38 5E 5E 5E 5E 5E 0x12f62 - 2nd point tile 00 44 54 46 47 45 45 45 45 55 55 55 55 57 57 57 57 4E 44 4F 54 5D 12f78 - point values low byte 00 01 02 04 08 0A 14 28 50 64 C8 90 20 00 00 00 00 12f89 - point values high byte 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 00 00 12f9a -point rise speed (edited by mikeyk on 08-12-05 01:31 PM) |
|||
mikeyk Koopa Level: 18 Posts: 42/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
Trashy, I believe this is what you are looking for. I'll post a bunch more having to do with the Bowser battle when I get a chance. 0x1AAEE - [74] - Sprite Princess Throws 0x01B231 [A2] - Sprite Bowser Throws (Mecha Koopa) 0x01A823 [A1] - Sprite Bowser Throws (Bowling Ball) 0x01A30B [02] - Bowser hit count for first phase 0x01A883 [02] - Bowser hit count for final 2 phases 0x01A2F9 [80] - Bowser's initial Y Pos 0x01A2FD [FF] - Bowser's initial Y Pos high byte 0x01A302 [D0] - Bowser's initial X Pos 0x01A306 [00] - Bowser's initial X Pos high byte 0x00385E - Iggy/Larry Platform Pallette 0x00389E - 14 bytes - Bowser's Pallette (edited by mikeyk on 03-11-05 02:17 PM) (edited by mikeyk on 03-11-05 03:21 PM) (edited by mikeyk on 03-29-05 02:49 AM) (edited by mikeyk on 07-24-05 10:17 PM) |
|||
mikeyk Koopa Level: 18 Posts: 43/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
It's looking really good. When I get a chance I'll look through my notes and make sure that raccoon mario makes his way into this hack. I made some other SMB3 type things a few weeks ago like donut blocks and para beetles... if I have a lot of free time coming up there's a chance I can provide those as well. Keep up the good work. | |||
mikeyk Koopa Level: 18 Posts: 44/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
how would you like the POW block to work... I may be able to help there. | |||
mikeyk Koopa Level: 18 Posts: 45/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
my question is how he wants it to be activated... hit it from the bottom like a block, pick it up and throw it, etc. I already know the location of the routine for the cape ground shake so it a matter of how to activate it. | |||
mikeyk Koopa Level: 18 Posts: 46/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
making a POW that you can carry around like the Throw Blocks is a pretty complicated task. The Throw Blocks in SMW are converted to sprites (number 53) when Mario picks them up. All that could be done with block tool alone is a POW block similar to the one in the non-side scrolling Mario Bros. | |||
mikeyk Koopa Level: 18 Posts: 47/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
If you tell me which sprite # are you trying to change, then I can tell you which byte to modify. | |||
mikeyk Koopa Level: 18 Posts: 48/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
The table that has the data for most sprite pallettes starts at 0x3F5FE. You just have to add the sprite number to that address: Bouncing goomba (sprite 10) - 0x3F60E Ninja (sprite 51) - 0x3F64F These values can be changed in Mario Reconfig. This byte is listed as "graphic byte 1." The format of the byte is as follows: bit 0: gfx page bit 1-3: palette (8-F) bit 4: disable fireball killing bit 5: disable cape interaction bits 6,7: unknown You'll need to change bits 1-3 to edit the pallette of a sprite. |
|||
mikeyk Koopa Level: 18 Posts: 49/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
389E - 14 bytes - Bowsers pallette If I'm not mistaken you can't have 4bpp graphics on a layer with mode 7 rotation (edited by mikeyk on 03-29-05 04:38 AM) |
|||
mikeyk Koopa Level: 18 Posts: 50/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
ROM addy 0x87CC is the table of ASM pointers... 2 bytes per sprite that tell where in bank 01 to jump to. Take Rex, sprite AB, the pointer at 0x8922 (0x87CC + 2 * 0xAB) equals 8E 87. This means that the start of code used by Rex is at SNES $01878E. As you can see from the code posted below, the pointer for Rex is used by many sprites, and his specific code doesn't begin until $039517. //location jumped to by following ASM pointer $01/878E 22 18 A1 03 JSL $03A118[$03:A118] A:878E X:0007 Y:0000 //determines which sprite is being handled $03/A118 8B PHB A:878E X:0007 Y:0000 $03/A119 4B PHK A:878E X:0007 Y:0000 $03/A11A AB PLB A:878E X:0007 Y:0000 $03/A11B B5 9E LDA $9E,x [$00:00A5] A:878E X:0007 Y:0000 $03/A11D C9 C8 CMP #$C8 A:87AB X:0007 Y:0000 $03/A11F D0 05 BNE $05 [$A126] A:87AB X:0007 Y:0000 $03/A126 C9 C7 CMP #$C7 A:87AB X:0007 Y:0000 $03/A128 D0 05 BNE $05 [$A12F] A:87AB X:0007 Y:0000 $03/A12F C9 51 CMP #$51 A:87AB X:0007 Y:0000 $03/A131 D0 05 BNE $05 [$A138] A:87AB X:0007 Y:0000 $03/A138 C9 1B CMP #$1B A:87AB X:0007 Y:0000 $03/A13A D0 05 BNE $05 [$A141] A:87AB X:0007 Y:0000 $03/A141 C9 C6 CMP #$C6 A:87AB X:0007 Y:0000 $03/A143 D0 05 BNE $05 [$A14A] A:87AB X:0007 Y:0000 $03/A14A C9 7A CMP #$7A A:87AB X:0007 Y:0000 $03/A14C D0 05 BNE $05 [$A153] A:87AB X:0007 Y:0000 $03/A153 C9 7C CMP #$7C A:87AB X:0007 Y:0000 $03/A155 D0 05 BNE $05 [$A15C] A:87AB X:0007 Y:0000 $03/A15C C9 C5 CMP #$C5 A:87AB X:0007 Y:0000 $03/A15E D0 05 BNE $05 [$A165] A:87AB X:0007 Y:0000 $03/A165 C9 C4 CMP #$C4 A:87AB X:0007 Y:0000 $03/A167 D0 05 BNE $05 [$A16E] A:87AB X:0007 Y:0000 $03/A16E C9 C2 CMP #$C2 A:87AB X:0007 Y:0000 $03/A170 D0 05 BNE $05 [$A177] A:87AB X:0007 Y:0000 $03/A177 C9 C3 CMP #$C3 A:87AB X:0007 Y:0000 $03/A179 D0 05 BNE $05 [$A180] A:87AB X:0007 Y:0000 $03/A180 C9 C1 CMP #$C1 A:87AB X:0007 Y:0000 $03/A182 D0 05 BNE $05 [$A189] A:87AB X:0007 Y:0000 $03/A189 C9 C0 CMP #$C0 A:87AB X:0007 Y:0000 $03/A18B D0 05 BNE $05 [$A192] A:87AB X:0007 Y:0000 $03/A192 C9 BF CMP #$BF A:87AB X:0007 Y:0000 $03/A194 D0 05 BNE $05 [$A19B] A:87AB X:0007 Y:0000 $03/A19B C9 BE CMP #$BE A:87AB X:0007 Y:0000 $03/A19D D0 05 BNE $05 [$A1A4] A:87AB X:0007 Y:0000 $03/A1A4 C9 BD CMP #$BD A:87AB X:0007 Y:0000 $03/A1A6 D0 05 BNE $05 [$A1AD] A:87AB X:0007 Y:0000 $03/A1AD C9 BC CMP #$BC A:87AB X:0007 Y:0000 $03/A1AF D0 05 BNE $05 [$A1B6] A:87AB X:0007 Y:0000 $03/A1B6 C9 B8 CMP #$B8 A:87AB X:0007 Y:0000 $03/A1B8 F0 04 BEQ $04 [$A1BE] A:87AB X:0007 Y:0000 $03/A1BA C9 B7 CMP #$B7 A:87AB X:0007 Y:0000 $03/A1BC D0 05 BNE $05 [$A1C3] A:87AB X:0007 Y:0000 $03/A1C3 C9 B9 CMP #$B9 A:87AB X:0007 Y:0000 $03/A1C5 D0 05 BNE $05 [$A1CC] A:87AB X:0007 Y:0000 $03/A1CC C9 BA CMP #$BA A:87AB X:0007 Y:0000 $03/A1CE D0 05 BNE $05 [$A1D5] A:87AB X:0007 Y:0000 $03/A1D5 C9 BB CMP #$BB A:87AB X:0007 Y:0000 $03/A1D7 D0 05 BNE $05 [$A1DE] A:87AB X:0007 Y:0000 $03/A1DE C9 B3 CMP #$B3 A:87AB X:0007 Y:0000 $03/A1E0 D0 05 BNE $05 [$A1E7] A:87AB X:0007 Y:0000 $03/A1E7 B5 9E LDA $9E,x [$00:00A5] A:87AB X:0007 Y:0000 $03/A1E9 C9 B2 CMP #$B2 A:87AB X:0007 Y:0000 $03/A1EB D0 05 BNE $05 [$A1F2] A:87AB X:0007 Y:0000 $03/A1F2 C9 AE CMP #$AE A:87AB X:0007 Y:0000 $03/A1F4 D0 05 BNE $05 [$A1FB] A:87AB X:0007 Y:0000 $03/A1FB C9 B6 CMP #$B6 A:87AB X:0007 Y:0000 $03/A1FD D0 05 BNE $05 [$A204] A:87AB X:0007 Y:0000 $03/A204 C9 B0 CMP #$B0 A:87AB X:0007 Y:0000 $03/A206 D0 05 BNE $05 [$A20D] A:87AB X:0007 Y:0000 $03/A20D C9 B1 CMP #$B1 A:87AB X:0007 Y:0000 $03/A20F D0 05 BNE $05 [$A216] A:87AB X:0007 Y:0000 $03/A216 C9 AC CMP #$AC A:87AB X:0007 Y:0000 $03/A218 F0 04 BEQ $04 [$A21E] A:87AB X:0007 Y:0000 $03/A21A C9 AD CMP #$AD A:87AB X:0007 Y:0000 $03/A21C D0 05 BNE $05 [$A223] A:87AB X:0007 Y:0000 $03/A223 C9 AB CMP #$AB A:87AB X:0007 Y:0000 $03/A225 D0 05 BNE $05 [$A22C] A:87AB X:0007 Y:0000 $03/A227 20 17 95 JSR $9517 [$03:9517] A:87AB X:0007 Y:0000 //start of rex specific code $03/9517 20 7E 96 JSR $967E [$03:967E] A:87AB X:0007 Y:0000 |
|||
mikeyk Koopa Level: 18 Posts: 51/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
I have inserted all of my created sprites by setting the ASM pointer to 8E 87, tweaking the existing code, and adding a bit more to handle the new sprites. -------------------------------------------------------------------------- original code -------------------------------------------------------------------------- //location jumped to by following ASM pointer $01/878E 22 18 A1 03 JSL $03A118[$03:A118] //determines which sprite is being handled $03/A118 8B PHB $03/A119 4B PHK $03/A11A AB PLB $03/A11B B5 9E LDA $9E,x [$00:00A5] //loads sprite number to acc. $03/A11D C9 C8 CMP #$C8 $03/A11F D0 05 BNE $05 [$A126] $03/A121 20 F5 C1 $03/A124 AB $03/A125 6B $03/A126 C9 C7 CMP #$C7 $03/A128 D0 05 BNE $05 [$A12F] -------------------------------------------------------------------------- original code to modify -------------------------------------------------------------------------- Replace $03/A11D through $03/A120 with 5C XX XX XX //jump command to the code below -------------------------------------------------------------------------- new code -------------------------------------------------------------------------- C9 C8 F0 10 C9 XX //sprite number of your new enemy D0 08 22 XX XX XX //JSL to your custom code 5C 24 A1 03 5C 26 A1 03 5C 21 A1 03 Since I really haven't been doing too much with sprite hacking lately, I may release some notes on how i created some sprites from scratch in the next few days. |
|||
mikeyk Koopa Level: 18 Posts: 52/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
I dont know if you have written the code for your new boss yet, but I was curious if you were familiar with some things like drawing sprite graphics, handling interactions with mario or other sprites, etc. I may be able to help you out with some of these if you need it. Glad to see someone taking some steps forward in this area. | |||
mikeyk Koopa Level: 18 Posts: 53/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
Depending on the pallette that you want to use, you have to change "Graphic Byte 1" from 11 to one of the following: 13, 15, 17, 19, 1B, 1D, or 1F | |||
mikeyk Koopa Level: 18 Posts: 54/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
Change 0x18A82 from 01 to 03,05,07,09,0B,0D,0F | |||
mikeyk Koopa Level: 18 Posts: 55/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
nope... that addy is just for an instruction in the graphics routine that's i believe is just for mega mole | |||
mikeyk Koopa Level: 18 Posts: 56/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
this is very possible. what exactly did you have in mind, maybe i can help you out | |||
mikeyk Koopa Level: 18 Posts: 57/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
I'd like to give it a try | |||
mikeyk Koopa Level: 18 Posts: 58/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
Without actually opening up LM or MWR, I'm going to go out on a limb and guess that the falling spike has an ASM pointer of 878E in MWR. I'm also guessing that the affect that you saw was something like the one talked about in this thread http://board.acmlm.org/thread.php?id=9554. If so, this effect can be seen by changing any sprite ASM pointer to 878E, provided it didn't originally use that pointer. What is happening is that the game goes though a bunch of code that tests for certain sprite numbers. If it's not one of the sprites that that routine handles, the code responsible for the bowser battle lightning is reached and run. | |||
mikeyk Koopa Level: 18 Posts: 59/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
I've definitely posted this several times before. The routine for Bowser's lightning is SNES $03DFCC. The only side effect of calling this routine is that It overwrites pallette 0 with the Bowser palette. It will work perfectly if you make the background use a pallette other than 0. | |||
mikeyk Koopa Level: 18 Posts: 60/110 EXP: 25086 For next: 4811 Since: 07-17-04 Since last post: 45 days Last activity: 44 days |
| ||
I made a POW block a while back that just calls the ground pound routine and turns to the next block in the Map16. If anyone is interested you can get it here. Feel free to build on it. This block uses the MAP16++ routine by Kenny3900, so you must patch your rom using the Map16++ patch found here. For anyone concerned, the patch writes to the ROM addresses from 0xD0228 to 0xD038C |
Pages: 1 2 3 4 5 6 |
Acmlm's Board - I2 Archive - - Posts by mikeyk |