• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Other] Extended diploma screens problems !

Nah, you don't need it.



mov r0, #0x0
mov r2, #0x0
mov r3, #0x0
ldr r4, gpu_tilemap_config_and_commit

change that to

mov r0, #0x1
mov r2, #0x0
mov r3, #0x0
str r0, [SP]
mov r0, r2
ldr r4, gpu_tilemap_config_and_commit


then check in VBA's map viewer if BG0 exists/the pals are actually being written to.

If that doesn't work, idk, it's your image. Remember you've set this up to be on pal 0x6 and a size of 16 colors.

I checked the BG0 and:
[PokeCommunity.com] Extended diploma screens problems !

But I don´t think it´s the picture. You can check it, I uploaded it with palette and tilemap: https://www.dropbox.com/s/sgi4k5h2i1p1y7h/Project.rar?dl=0

If it´s relevant, I inserted the Image and Pal with UnLz GBA by selecting export image and export pal and I inserted the .raw with load raw and import picture (also UnLz GBA)( I always selected auto fix pointers)
 
Last edited:
Did you try the code revision I posted last post? I'm unsure why it didn't work for you, as the code is almost a direct RIP from my ROM.
 
Did you try the code revision I posted last post? I'm unsure why it didn't work for you, as the code is almost a direct RIP from my ROM.
Yes I did.Eventually my Raw is wrong. What size does it have to have? Same for the tileset?

You could sent me your Latios Sprite thing with the .raw so that I can check that. With them I could also try if it would work with them!
 
Last edited:
Did you try the code revision I posted last post? I'm unsure why it didn't work for you, as the code is almost a direct RIP from my ROM.
I now tried it with a clean new rom, it still just locks the game up!
So what size does the raw have? Same for the tileset?

You could sent me your Latios Sprite thing with the .raw so that I can check that. With them I could also try if it would work with them!
 
I now tried it with a clean new rom, it still just locks the game up!
So what size does the raw have? Same for the tileset?

You could sent me your Latios Sprite thing with the .raw so that I can check that. With them I could also try if it would work with them!

This isn't going to help you. You're messing up somewhere along the line, the routine works fine. I'm not really down to sit here and debug basic insertion with you.

If it helps you understand better, here are the files I used for my Latias.
https://www.mediafire.com/download/669bfv14ydb94sw/latiosTileMap.raw
https://www.mediafire.com/view/6dzljpkk3o35pol/latiosIndexed.png
https://www.mediafire.com/download/lqgyu1vgcc3p1d8/latiosPal.gpl
 

Attachments

  • [PokeCommunity.com] Extended diploma screens problems !
    latiosIndexed.png
    2.7 KB · Views: 3
This isn't going to help you. You're messing up somewhere along the line, the routine works fine. I'm not really down to sit here and debug basic insertion with you.

If it helps you understand better, here are the files I used for my Latias.
https://www.mediafire.com/download/669bfv14ydb94sw/latiosTileMap.raw
https://www.mediafire.com/view/6dzljpkk3o35pol/latiosIndexed.png
https://www.mediafire.com/download/lqgyu1vgcc3p1d8/latiosPal.gpl

Ok. I now used a stock Firered, your files (picture,raw,pal),inserted them where you did (everything with UnLz GBA and fix pointers),inserted the original routine at 0x800050 ( also tried the
mov r0, #0x1
mov r2, #0x0
mov r3, #0x0
str r0, [SP]
mov r0, r2
ldr r4, gpu_tilemap_config_and_commit
thing)
and this script: '-----------------------
#org 0x71A38D
callasm 0x8800051
waitstate
end

Now everything locks up! Music hungs, the screen freezes, everything! I really don´t know whats wrong...
I tried inserted the Pal one time with APE and one time with UnLZ GBA.
Eventually it would help if you could sent me your script + already compiled routine ?
 
Since no one knows why it isn´t working on my hack, I will simply not use pictures in my intro. Sad, but acceptable...
 
You are better off making your own routines for this I'd say. Just build a good framework routine, then call a generic BG display one. It'd be much better than hacking the diploma screen in my eyes.


No. "08" means it's in the ROM, while "02" would mean RAM. Though when dealing with BGs and Pals these regions are not used (you get 05 and 06).

You can run a routine to do 256 colored BGs. From there making animating OAMs has already been documented. I've written a "Show BG" routine before for my titlescreen's Latios. I'll share for the uninitiated:

Code:
.text
.align 2
.thumb
.thumb_func

main:
	push {r4-r6, lr}
	sub SP, SP, #0x4
	ldr r4, bg_positions_reset
	bl linker
	
loadTileSet:
	@tileset doesn't require updating
	ldr r1, image
	mov r0, #0x0
	str r0, [sp]
	mov r0, #0x0
	mov r2, #0x0
	mov r3, #0x0
	ldr r4, decompress_with_fallback
	bl linker 
	
loadPal:
	ldr r0, new_pal
	mov r1, #0xD0 @slot
	mov r2, #0x20 @size
	ldr r4, gpu_pal_apply
	bl linker
	ldr r0, new_pal
	ldr r4, gpu_pal_obj_alloc_tag_and_apply
	bl linker
	
loadTileMap:
	ldr r1, tilemap
	mov r0, #0x0
	mov r2, #0x0
	mov r3, #0x0
	ldr r4, gpu_tilemap_config_and_commit
	bl linker
	mov r0, #0x0
	ldr r4, bgid_send_tilemap
	bl linker
	ldr r0, tilemap
	ldr r4, gpu_tile_obj_alloc_tag_and_upload
	bl linker

showBG:
	mov r0, #0x0
	ldr r4, =(0x80019BC +1)
	bl linker
	
end:
	add SP, SP, #0x4
	pop {r4-r6, pc}
	
linker:
	bx r4
	
.align 2

@resources:
new_pal:
	.word 0x8EAD5E8
	
image:
	.word 0x8B03DE0
	
tilemap:
	.word 0x8B04660
	
	
@Functions:
gpu_pal_obj_alloc_tag_and_apply:
	.word 0x8008928 +1
	
gpu_tilemap_config_and_commit:
	.word 0x8002040 +1
	
gpu_tile_obj_alloc_tag_and_upload:
	.word 0x80086DC +1
	
bgid_send_tilemap:
	.word 0x80020BC +1
	
decompress_with_fallback:
	.word 0x80F6878 +1

gpu_pal_apply:
	.word 0x80703EC +1
	
bg_positions_reset:
	.word 0x812D594 +1

This Routine requires a set-up routine to fade the screen, and delete existing BGs and OAs. Otherwise it will just overwrite the BG defined by the BG slot in the routine (in this case 0) and just take up your screen.
You will need to change the "Resources" data and the slot/size field of the loadPal section to match the total amount of colors. Finally, depending on which BG you are planning to use, you must also edit the BG slot. It does support 256 colors.

Once again, I recommend that you first build your own BG calling framework to call a modified version of this routine. That way you can support as many BGs as you want in an efficient manner.
After all of that, make sure you credit me if you use my research or routine!

well, I got it working, but I dunno how to hide the OAM after it is executed
 
Just follow what he had said, I forgot where the rom is so I can't check it right now, if I will have a spare time, I'll redo that and tell to you the procedure
Well, I followed what he said, but he didn't said how to insert the picture,tilemap and palette... I inserted them with UnlZ Gba and did he rest like he said. But as you see in this thread, that was not working... But take your time. There is no need to hurry.
 
It matters where you are coming into the BG from. If it's from the Overworld it should work fine. Somewhere like the Bag, or name selection or something, it'd require more work to setup the IOregs.

Please first verify it's working for a normal 16 color indexed image before you try the 256 one.
 
Well, I followed what he said, but he didn't said how to insert the picture,tilemap and palette... I inserted them with UnlZ Gba and did he rest like he said. But as you see in this thread, that was not working... But take your time. There is no need to hurry.

I do not know what's wrong with FBI's code, it works for me. As for the Picture, I think the palette number of tilemap is wrong, or you had inserted the image incorrectly, it's either the tileset or the tilemap. I'm currently busy on the school, thus if I have a free time, I will try to reinsert it on the rom and tell you the step-by-step procedure. But for now, keep on trying until you figure out what bugs the code.
 
Back
Top