VLDC #13 ends in
Views: 995,008,349
8 users online:  Alex, BabaYegha, gabriel09213535, kurtistrydiz, m4nze123, Maw, Mohamad20ZX, PhantasyReal - Guests: 73 - Bots: 146 Users: 54,541 (2,074 active)
Latest: Eli Jenkins YK
Tip: Try playing around with the Horizontal Level Settings in Lunar Magic. You can create some uniquely-designed levels unlike anything seen in the original Super Mario World.
Not logged in.
Posts by dubiousdinobot
dubiousdinobot's Profile - Posts by dubiousdinobot
Pages: « 1 2 »
I'm trying to expand the "nintendo presents" section since my screen name is too big to fit into the regular file. I applied the 64x64 logo patch ( but the logo comes up as garbled when I load up the ROM.

If I go into YYCHR and set it to 4BPP I see it just fine...wondering why this might happen and how to fix it.

Note: I am a rube.
Originally I did not change the !GFX_File define, I simply pasted the ExGFXBD.bin into the extracted graphics folder and reloaded into ROM. It did not work.

I then changed the !GFX_File define to 00 (just to see what would happen) and it did load the original GFX00.bin in 64x64. For some reason the ExGFXBD.bin is not appearing.

Also note I have added custom music with AMK. I know it says something about editing AMK's tweaks.asm and rerunning, but I'm not even sure what I'd be editing in tweaks.asm.
Ahhhhh, I did not. Thanks so much for your help! It works now! :)
I would like to be able to adjust the speed of falling platforms.

I've downloaded the Grey Falling Platform v1.1 ( and wanted some help on which values to change to alter speed, and then how to insert them into my ROM.

I have PIXI and CFG editor, I've made the list.txt file. When I apply the patch I get a whole host of errors:

grey_plat.asm:6: warning: (W1008): Missing org or freespace command. [PHB]
grey_plat.asm:22 (called from grey_plat.asm:22): error: (E5094): Macro 'SubOffScreen' wasn't found. [%SubOffScreen()]
grey_plat.asm:23 (called from grey_plat.asm:22): error: (E5088): Define 'AA' wasn't found.
grey_plat.asm:26 (called from grey_plat.asm:22): error: (E5088): Define '1540' wasn't found.
grey_plat.asm:28 (called from grey_plat.asm:22): error: (E5088): Define 'AA' wasn't found.
grey_plat.asm:33 (called from grey_plat.asm:22): error: (E5088): Define 'AA' wasn't found.
grey_plat.asm:35 (called from grey_plat.asm:22): error: (E5088): Define 'BankB' wasn't found.
grey_plat.asm:37 (called from grey_plat.asm:22): error: (E5088): Define 'BankB' wasn't found

Which I know means I to define what the variables are, but I'm not sure how exactly to change them, or what to change them to. If it wasn't already obvious I'm new to this whole thing. Sorry if the question is silly.
So I was doing that, but I'm still getting some errors.

My pixi.bat file reads:
@echo off
pixi.exe -pl %1

My list.txt file reads:
01:B0 grey_plat.cfg

Which should correspond to my first level 01.

The grey_plat.cfg and grey_plat.asm file are both in the 'sprites' folder of the PIXI folder. I keep getting the error message: "Error on line 1: Trying to insert per level sprites without the -pl flag".

So colour me puzzled!

Note: I previously attempted the global insertion route, and it seemed to 'work' in that it didn't give me an error message, but it didn't seem to have any effect on the grey platforms in the ROM.
Hmmmm. So I went back to global insertion, changed the value to 'AF' in the list.txt file, and it didn't give me any errors when I ran Pixi.exe. Seems to have worked just fine! I really appreciate the help!
Editing the title screen.

Open the 8x8 Overworld Tile Selector screen. This is where you see "Super Mario World" etc (in GFX28 + 29). I've been editing this document to spell out the title of my hack, but I find myself lacking the space necessary and would like to add an exGFX into this 8x8 tile selector area so that I can have more tiles to draw upon.

Q: is this possible?

In the 8x8 overworld tile selector there is a bunch of extra space below the first four areas (LG5 to LG8 which are 'disabled'). Is there a way to enable those and to map them to a particular exGFX?
Ahhhh great thanks so much!
I'm using this SMB3 Chain Chomp ( whose graphic tiles are drawn from the SP4 slot.

I have two issues:

(1) I want to edit the asm so it draws the tiles from the ExGFX file being used in the SP3 slot instead of the SP4 slot. I cannot see/don't know where to look in the ASM file to change which sprite slot to draw the graphics from.

(2) The second issue is that the values at the beginning of the ASM don't seem to match the values in the GFX file supplied with the sprite - which complicates troubleshooting for a rube like me.

The code at the very beginning of the ASM reads as follows:

I thought this would correspond to the appropriate graphics tiles in the GFX file that came with the sprite, but that's not the case...(see image). In the GFX file they are $05, $0A and $06 respectively.

I was going to switch those values over to match the ones in my custom GFX file (see image) which would end up being something like:

I think that solves the issue for #2 if I can solve the first problem. Any help would be appreciated!
Ahhhhh I see. That's awesome thanks a million! Creating a ROM hack has been very fun. I'm learning quite a bit and the forum has been excellently helpful!
Just to update everyone, in case the issue comes up for others, even though my pixi.bat file had -pl in it, I have to use the command prompt, navigate to the PIXI folder, and execute "pixi.exe -pl ROM.smc" manually to get the local insertion to work.
Good afternoon everyone!

- Working on hack, been testing it just fine with BSNES
- Start working on a layer 2 level; import a ghost house background, play around with bypasses and GFX files, etc.
- Adjust the per-level sprite list
- Go to test layer 2 effect - ROM doesn't load; remains a black screen

I am not even sure where to begin troubleshooting this. If anyone has any tips please let me know.
Well interesting you should ask!

I decided to revert back to a previous restore point and it seemed to be ok. I went to insert some shooters using PIXI - these ones to be precise (

Put the .asm and .cfgs in the shooter folder, added them to the list.txt file with C0 and C1 (I only decided to put the horizontal lr and vertical up shooters in).

I ran pixi through the command line 'pixi.exe -pl "ROM NAME".smc' like usual. Everything seemed fine. There is this little note:
Extra bytes change detected
Sprites remapped successfully.

And now the ROM has a bad checksum according to SNES9x and crashes when I try to run in an emulator (both internal/external emulator options from within LM, and if I just try to open the rom in SNES9x on it's own).

The error message is:

The ROM Crashed.
Technical Information: 879 and 967.

VERY STRANGE. I have no idea why this would happen.

EDIT: now - even if I just run pixi on the ROM with no additional added sprites, it appears the ROM gets corrupted somehow? Any ideas why this would happen?
I don't know what the cause was - but I just re-patched and re-uploaded all the sprites/music/blocks/map16 data to a fresh rom and it seemed to fix the issue. :/

Kind of a bummer - I wish I knew what did it. I don't want to have to keep restarting like this.
Hi all - currently trying to remap the tile for the Falling Spike disassembly ( but I'm not sure exactly where to modify the code, or how best to go about it. I want to be able to point the code to a different area of the GFX. I know the ROM address for the falling spike tile is $03921C, and thought that would give me a place to start but no success.

I could pretty easily just change the GFX file (in my case to paste the falling spike graphic over the Big Boo's mouth) but I thought it would be an interesting and fun learning experience.

Currently diving deep into Ersanio's assembly tutorials, but thought I would reach out for advice. :)

Here is the code for the disassembly for easier reference:
FALLINGSPIKE:       JSL $0190B2    
                    LDY !15EA,x               ; Y = Index into sprite OAM 
					LDA !7FAB10,x
					AND #$04
					BEQ ExbitNotSet
					LDA !15F6,x
					ORA #$80
					STA !15F6,x
                    LDA #$E0                
                    STA $0302|!Base2,y        
                    LDA $0301|!Base2,y         
                    DEC A                     
                    STA $0301|!Base2,y         
                    LDA !1540,x             
                    BEQ LABEL_ONE           
                    AND #$01                
                    ADC $0300|!Base2,y         
                    STA $0300|!Base2,y         
LABEL_ONE:          LDA $9D     
                    BNE LABEL_TWO           
                    JSL $01802A     
                    LDA !C2,x     
                    JSL $0086DF       

POINTER:            dw LABEL_THREE         
                    dw LABEL_TWO     

LABEL_THREE:        STZ !AA,x                 ; Sprite Y Speed = 0 
                    LDA $0E                  
                    ADC #$40                
                    CMP #$80                
                    BCS RTN_ONE          
                    INC !C2,x     
                    LDA #$40                
                    STA !1540,x             
RTN_ONE:            RTS                       ; Return 

					LDA !1540,x             
                    BNE FREEZE_SPR
					LDA !7FAB10,x
					AND #$04
					BEQ +
					LDA #$B0                 ; Maximum rising speed, don't go below #$80.
                    CMP !AA,x
                    BPL RTN_ONE
                    LDA !AA,x
                    SBC #$06
                    STA !AA,x
                    JSL $01A7DC	
FREEZE_SPR:         STZ !AA,x                 ; Sprite Y Speed = 0 
                    RTS                       ; Return 
Hi all - using the Grey Falling Platform disassembly I'd like to have a 2 tile wide platform instead of a 4 tile-wide platform. I'm pretty OK with the graphical component of it, but less so the hit-box component. As it stands now I have a nice 2-tile platform with 4-tiles of 'hit box'.

Can anyone provide some advice on which portion of the .asm to edit?

Current ASM included here for ease of discussion:
;  Grey Falling Platform    ;

print "MAIN ",pc
	JSR GreyFallingPlat
print "INIT ",pc

	JSR Graphics            ; Always Draw graphics for the sprite.       
	LDA $9D                 ;\
	BNE .return             ;/ If sprites are locked, return.  

	LDA !AA,X               ;\
	BEQ .checkContact       ;/ If sprite is stationary, branch.
	LDA.w !1540,X			;\             
	BNE .updateSpeed        ;/ If initial fall timer is set, branch.
	LDA !AA,X               ;\   
	CMP.b #$40             ; | Wait until it gets faster and goes beyond 40 ..
	BPL .updateSpeed        ;/ Then branch.
	ADC.b #$08            ; Increase the speed by 02 all the time (until it's above 40).                
	STA !AA,X               ; Store Y speed.  
	JSL $01801A|!BankB      ; Apply update with affecting position.
	JSL $01B44F|!BankB      ; Make the sprite "solid".     
	BCC .return          
	LDA !AA,X               ;\    
	BNE .return             ;/ If the Y speed is non-zero, there's no need to continue.
	LDA.b #$06             ;\   originally 6               
	STA !AA,X               ;/ Initial Y speed when stood on.
	LDA.b #$0A 			;\   originally 2           
	STA.w !1540,X           ;/ Timer it takes to fall down initially when stood upon.
	RTS                     ; Return 

; Graphics
 db $00,$10       ;db $00,$10,$20,$30  
 db $60,$62

	LDX #$01              ; # of tiles to go through loop and draw tiles = 03.
	LDA $00                ;\
	CLC                    ; |
	ADC XDISP,x            ; | Load X position and apply X displacement.
	STA $0300|!Base2,y     ;/ Store to sprite X position.
	LDA $01                ;\01
	STA $0301|!Base2,y     ;/ There is no YDISP, so return.
	LDA Tiles,x            ;\
	STA $0302|!Base2,y     ;/ Draw current tile from loop.
	LDA #$09               ;\ Property from .cfg
	ORA $64                ; | Add in sprite property byte.
	STA $0303|!Base2,y     ;/ And store to sprite props.
	INY #4                 ; Increment Y 4 times, because OAM is 8x8.
	DEX                    ; Decrease # of times to go through loop.
	BPL .loop              ; Loop until all tiles are done.

	LDX $15E9|!Base2       ; Pull sprite index.
	LDY #$02               ; 16x16 tiles.
	LDA #$01               ; We drew 4 tiles.
	JSL $01B7B3|!BankB     ; Call OAM write.
	RTS                    ; Return.
Awesome! Those two values worked optimally for a 3-tile wide platform (I couldn't find one that worked perfectly for the 2-tile platform, but it works fine for my purposes!

Thanks again! :)
Awesome! Thanks!
Hi all - I'm trying to use these platforms ( as blocks, but I'm not fully understanding the read me file that's included.

I've inserted the blocks using GPS (changed their designations to 340-347 numbered_platform.asm and 348-34B numbered_platform_small.asm) and have inserted the custom GFX in BG3. I'm just not sure how to implement the actual blocks.

When I try to put say, a small block in, I step on it and a blue koopa appears and flies off to the left of the screen.
So I've now inserted the sprite - which works as intended.

I still can't figure out the blocks though. They map a routine to draw the sprite when you step on a block. Despite having the sprite added, the same koopa spawning happens when I insert the block. Is there something I have to edit in the platform block asm?

I could 100% be missing something exceedingly obvious...

I've made a little video showing off the issue. The first platform is the sprite (the graphics are an easy fix) it works as intended. The second and subsequent platforms are the blocks - that do not work.

Pages: « 1 2 »
dubiousdinobot's Profile - Posts by dubiousdinobot

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2022 - SMW Central
Legal Information - Privacy Policy - Link To Us


Follow Us On

  • YouTube
  • Twitch
  • Twitter


  • Super Mario Bros. X Community
  • Mario Fan Games Galaxy
  • sm64romhacks