Huichelaar's Assembly Adventures

In MinimugPalette, It is using the bottom 0x200 of the text buffer, which seems to be incompatible with the translation patch.
Using Soundroom buffer 0x201F148 solved the problem.
This is with FE8J, but maybe there is a similar problem with FE8U.

for FE8J

@ Buffers minimug tiles. Hooked at 0x5968.	@{U}
@                                  0x5870.	@{J}
.thumb

@ Functions
@.equ	UnLZ77Decompress,	0x8012F50|1		@{U}
.equ	UnLZ77Decompress,	0x8013008|1		@{J}
@.equ	RegisterTileGraphics,	0x8002014|1	@{U}
.equ	RegisterTileGraphics,	0x8001F64|1	@{J}

@Use sound room buffer
@.equ	MMP_Buffer,	0x201F148				@{U}
.equ	MMP_Buffer,	0x201F148				@{J}

push  {r4-r6, r14}


@ We're using non-scratch registers set by callee.
ldr   r0, [r4, #0x4]
ldr   r6, =MMP_Buffer
lsl   r6, #0x5
lsr   r6, #0x5
mov   r1, r6
ldr   r4, =UnLZ77Decompress
bl    GOTO_R4

mov   r0, r6
lsl   r1, r5, #0x5
ldr   r2, =0x6000000
add   r1, r2
ldr   r2, =0x200
ldr   r4, =RegisterTileGraphics
bl    GOTO_R4


pop   {r4-r6}
pop   {r0}
bx    r0
GOTO_R4:
bx    r4

0x201F148 is the same address for both FE8J and FE8U.
This is where the random mode song id, etc. in the sound room are stored.
After that, there is a 0x00 area that goes all the way to 0x00, which I am not sure what it is used for.
It doesn’t seem to matter if I use 0x200 bytes.

If you have a problem with this area, you might be able to use the Network arena area.

0203DB64 Link Arena {U}
0203DB60 Link Arena {J}

1 Like