• 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 !

94
Posts
10
Years
    • Seen Sep 18, 2023
    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:
    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:

    Blah

    Free supporter
    1,924
    Posts
    11
    Years
  • 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.
     
    94
    Posts
    10
    Years
    • Seen Sep 18, 2023
    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:
    94
    Posts
    10
    Years
    • Seen Sep 18, 2023
    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!
     

    Blah

    Free supporter
    1,924
    Posts
    11
    Years
  • 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

    • Extended diploma screens problems !
      latiosIndexed.png
      2.7 KB · Views: 3
    94
    Posts
    10
    Years
    • Seen Sep 18, 2023
    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 ?
     
    94
    Posts
    10
    Years
    • Seen Sep 18, 2023
    Since no one knows why it isn´t working on my hack, I will simply not use pictures in my intro. Sad, but acceptable...
     

    Lance32497

    LanceKoijer of Pokemon_Addicts
    792
    Posts
    9
    Years
  • 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
     
    94
    Posts
    10
    Years
    • Seen Sep 18, 2023
    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.
     

    Blah

    Free supporter
    1,924
    Posts
    11
    Years
  • 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.
     

    Lance32497

    LanceKoijer of Pokemon_Addicts
    792
    Posts
    9
    Years
  • 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