You're using a layer 2 level, from what I hear. Well, you need to use Level Mode 00 for normal levels.
If it isn't a layer 2 level, then do not put the background as normal objects as it will turn out as a blank space once you put a coin over it after collecting it.
PC and Hex is the same. What you meant is PC to SNES, which can be done via Lunar Address.
Also, what do you need help with exactly?
Look, it's really easy.
- Apply levelnum.ips to your hack
- Apply levelasm.asm to your hack via Xkas (put levelnames_table.bin in the same folder and point to some free space before)
- Now let's say you've inserted the table at $128000 in SNES, which is x90200 in Hex. All you have to do is jump to x90200, find the level you want the ASM hack in and JSL from there i.e.
22 xx xx xx 6B where xx xx xx is the SNES address in little endian format of your code's starting address (excluding RATS tags) you inserted it to.
Let's say your code for that level is located at x200200 PC, which is $408000 in SNES, your JSL will look like this:
22 00 80 40 6B
Why? Little endian is backwards.
12 34 56 becomes 56 34 12 etc
I hope this helps.
Find some NMI routine to hook it to and check if Mario/Luigi is in a level.
It just tells Lunar Magic, which blocks were inserted at what Map16 number, so you can find them easier.
BlockTool actually saves all the blocks you inserted before. If that's not the case for you, you will have to reinsert all blocks.
With some tweaking you can have SMB3 doors used in some forts, sweet. =)
Strike Witches
Elfenlied
Naruto
NMI = Not Maskable Interrupt
Check this page:
http://wiki.smwcentral.net/wiki/Routine_00/816A
Jeckyll & Hyde - La Dans Macabre
Send me the hack via PM and I'll look over it. Also, which levelnames did you install? The Xkas patch made by me with 32 letters or the one from BMF with 16 letters?
Originally posted by Maxx
Well, I must of done something right, because a screwed over page 5 of the map16.
Here's what I did:
12A195 (Level 104 in my code) is where i inserted. E4 BB 12, for 12BBE4, SNES for where the code is. I don't think there is a 12 bank, so something might be wrong. There were still 00 afterward.
The code is A9 00 85 19 6B, LDA 00, STA 19, RTL. Should make mario small no matter what. Instead the code decided to mess up page 5 of the map16.
Any help?
Ahhh, Ahhh. Gasp..
All you did was put E4 BB 12 at x12A195? Where is the JSL and RTL to it? It should be 22 E4 BB 12 6B
Since I was bored and I had free time I decided to convert this into a Xkas patch, which allows Luigi to jump higher in every level without even putting something in them.
EDIT: Dead Link removed.
Of course it has to be in free space, otherwise I wouldn't have made a defintion for it.
Weird, it worked when I checked it last time. I'll fix it an re-release a working version.
Edit: This should work now. I've tested it on a clean ROM.
NOTE: You WILL have to expand the ROM to 1MB using Lunar Magic. Just save a level to do so, otherwise it will corrupt the ROM. Also be sure to point the main code to some free space!!!
EDIT: Dead Link removed.
Thats's the way to go.
http://www.spriters-resource.com/
That I'll try to repair it. >_> Send me the one with levelnames installed, please.
Try changing
Code
ORG $BBBBBB
to another location like $208200 or something.
Also be sure your ROM is big enough when inserting ASM hacks.
Expand it to 32MBit (4MB).
This looks like SMW's levels just with SMAS graphics..
Screen 1: Yoshi's Island 1
Screen 2: Yoshi's Island 2
Screen 3: Sunken Ship
Screen 4 & 5 look like Butter Bridge or something.
What sunnzero said. It's working fine except for the palette.
However, you can try this version:
Code
lorom
header
macro RATS_start(id)
db "STAR"
dw RATS_Endcode-RATS_Startcode
dw RATS_Endcode-RATS_Startcode^#$FFFF
RATS_Startcode:
endmacro
macro RATS_end(id)
RATS_Endcode:
endmacro
org $0081C1 ;\ Hijack NMI routine
JSL NmiSub ;| and point to our
NOP ;/ code.
org $2FFFFF ;| POINT TO SOME FREE SPACE!!
%RATS_start(0)
NmiSub:
LDA $44 ;\ Restore what we overwrote
STA $2130 ;/ (Initial sttings for Color Addition)
LDA $0100 ;\ Only execute,
CMP #$14 ;| if Mario is in a
BEQ Execute ;| level, otherwise
RTL ;/ return.
Execute:
PHP ;\ Push processor flag
REP #$20 ;| Processor 16 bit
LDY #$80 ;| Increment VRAM
STY $2115 ;| by 80.
LDA #$5000 ;| Starting position
STA $2116 ;| of layer 3 text.
LDA #$000B ;\ Data to
STA $7EC100 ;| temporary
LDA #$0000 ;| storage.
STA $7EC102 ;| Should be
STA $7EC104 ;| printed as
LDA #$000B ;| B00B
STA $7EC106 ;/ on the SNES screen
LDA #$1801 ;\ Parameters for
STA $4300 ;| DMA transfer
LDA #$C100 ;| SNES Bank
STA $4302 ;| low byte
LDA #$087E ;| SNES Bank
STA $4304 ;| high byte
LDY #$01 ;| Enable DMA transfer
STY $420B ;| on channel 1
SEP #$20 ;| Processor 8 bit
PLP ;/ Pull processor flag
Return:
RTL ;| Return
%RATS_end(0)
It only executes in levels. Feel free to add a check in which level the player is in or something.