Set up Formation Frame Buffer

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

0011315c: 27bdffa8 addiu r29,r29,0xffa8
00113160: afbf0054 sw r31,0x0054(r29)
00113164: afb60050 sw r22,0x0050(r29)
00113168: afb5004c sw r21,0x004c(r29)
0011316c: afb40048 sw r20,0x0048(r29)
00113170: afb30044 sw r19,0x0044(r29)
00113174: afb20040 sw r18,0x0040(r29)
00113178: afb1003c sw r17,0x003c(r29)
0011317c: 0c041a66 jal 0x00106998                 # 00106998 - 00106a0c
00113180: afb00038 sw r16,0x0038(r29)
00113184: 0c0498dd jal 0x00126374                 # 00126374 - 001263a4
00113188: 00002021 addu r4,r0,r0
0011318c: 3c03801d lui r3,0x801d
00113190: 8463d218 lh r3,-0x2de8(r3)
00113194: 2402fffe addiu r2,r0,0xfffe
00113198: 1062000e beq r3,r2,0x001131d4
0011319c: 34140240 ori r20,r0,0x0240
001131a0: a7a00010 sh r0,0x0010(r29)              # x = 0
001131a4: a7a00012 sh r0,0x0012(r29)              # y = 0
001131a8: 34020100 ori r2,r0,0x0100               
001131ac: a7a20014 sh r2,0x0014(r29)              # w = 0x100
001131b0: 340201e0 ori r2,r0,0x01e0 
001131b4: a7a20016 sh r2,0x0016(r29)              # h = 0x1e0
001131b8: 27a40010 addiu r4,r29,0x0010            # rectangle
001131bc: 00002821 addu r5,r0,r0
001131c0: 00003021 addu r6,r0,r0
001131c4: 0c00921a jal 0x00024868                 # SYS ClearImage clear screen (0,0,100,1e0)
001131c8: 00003821 addu r7,r0,r0                  # rgb = 0
001131cc: 0c00918e jal 0x00024638                 # SYS SetDispMask
001131d0: 34040001 ori r4,r0,0x0001               # turn on
001131d4: a7b40010 sh r20,0x0010(r29)             # x = 0x240
001131d8: 34020100 ori r2,r0,0x0100
001131dc: a7a20012 sh r2,0x0012(r29)              # y = 0x100
001131e0: 34100040 ori r16,r0,0x0040
001131e4: a7b00014 sh r16,0x0014(r29)             # w = 0x40
001131e8: 34020030 ori r2,r0,0x0030
001131ec: a7a20016 sh r2,0x0016(r29)              # h = 0x30
001131f0: 3c05801d lui r5,0x801d
001131f4: 8ca5d830 lw r5,-0x27d0(r5)              # image address in open file?
001131f8: 0c04b5b7 jal 0x0012d6dc                 # Move Image to Frame Buffer and Wait (WORLD)
001131fc: 27a40010 addiu r4,r29,0x0010            # RECT *recp (240,100,40,30) (this 30 pixels high space seems to contain some menu background graphics...?)
00113200: a7b40010 sh r20,0x0010(r29)             # x = 0x240
00113204: 340201fa ori r2,r0,0x01fa 
00113208: a7a20012 sh r2,0x0012(r29)              # y = 0x1fa
0011320c: a7b00014 sh r16,0x0014(r29)             # w = 0x40
00113210: 34020004 ori r2,r0,0x0004
00113214: a7a20016 sh r2,0x0016(r29)              # h = 0x4
00113218: 3c058019 lui r5,0x8019
0011321c: 24a5b804 addiu r5,r5,0xb804             # 0x8018b804
00113220: 0c04b5b7 jal 0x0012d6dc                 # Move Image to Frame Buffer and Wait (WORLD)
00113224: 27a40010 addiu r4,r29,0x0010            # RECT *recp (240,1fa,40,4) (this 4 pixels high space I would wager is palette information for the above, as well as scrollable list text.)
00113228: 341603c0 ori r22,r0,0x03c0
0011322c: a7b60010 sh r22,0x0010(r29)             # x = 0x3c0
00113230: 340201f0 ori r2,r0,0x01f0
00113234: a7a20012 sh r2,0x0012(r29)              # y = 0x1f0
00113238: 34130010 ori r19,r0,0x0010
0011323c: a7b30014 sh r19,0x0014(r29)             # w = 0x10
00113240: 34100001 ori r16,r0,0x0001
00113244: a7b00016 sh r16,0x0016(r29)             # h = 0x1
00113248: 27b20018 addiu r18,r29,0x0018
0011324c: 27a40010 addiu r4,r29,0x0010            # RECT *recp (this points to frame.bin palette 0)
00113250: 0c04b5c3 jal 0x0012d70c                 # Move Image to RAM from VRAM and Wait (WORLD)
00113254: 02402821 addu r5,r18,r0                 # 
00113258: a7a00020 sh r0,0x0020(r29)
0011325c: a7a00028 sh r0,0x0028(r29)
00113260: a7a00030 sh r0,0x0030(r29)              # manually clearing certain pixels from image????
00113264: 34020260 ori r2,r0,0x0260
00113268: a7a20010 sh r2,0x0010(r29)              # x = 0x260
0011326c: 341101fe ori r17,r0,0x01fe
00113270: a7b10012 sh r17,0x0012(r29)             # y = 0x1fe
00113274: a7b30014 sh r19,0x0014(r29)             # w = 0x10
00113278: a7b00016 sh r16,0x0016(r29)             # h = 1
0011327c: 27a40010 addiu r4,r29,0x0010            # RECT * recp (moves frame.bin palette 0 to the scrolling text stuff. menu background colour it seems, with some colours omitted. the red ones?)
00113280: 0c04b5b7 jal 0x0012d6dc                 # Move Image to Frame Buffer and Wait (WORLD)
00113284: 02402821 addu r5,r18,r0                 # take image back out of stack
00113288: a7b40010 sh r20,0x0010(r29)             # x = 0x240
0011328c: a7b10012 sh r17,0x0012(r29)             # y = 0x1fe
00113290: 3414000c ori r20,r0,0x000c
00113294: a7b40014 sh r20,0x0014(r29)             # w = c
00113298: a7b00016 sh r16,0x0016(r29)             # h = 1
0011329c: 27b50020 addiu r21,r29,0x0020           # 
001132a0: 27a40010 addiu r4,r29,0x0010            # RECT * recp
001132a4: 0c04b5b7 jal 0x0012d6dc                 # Move Image to Frame Buffer and Wait (WORLD) (I can't decode this one. moves a palette again, but only 0xc bytes.)
001132a8: 02a02821 addu r5,r21,r0                 # another image in stack?
001132ac: a7b60010 sh r22,0x0010(r29)             # x = 0x3c0
001132b0: 340201f4 ori r2,r0,0x01f4
001132b4: a7a20012 sh r2,0x0012(r29)              # y = 0x1f4
001132b8: a7b30014 sh r19,0x0014(r29)             # w = 0x10
001132bc: a7b00016 sh r16,0x0016(r29)             # h = 1
001132c0: 27a40010 addiu r4,r29,0x0010
001132c4: 0c04b5c3 jal 0x0012d70c                 # Move Image to RAM from VRAM and Wait (WORLD) (frame.bin palette 4; menu background colour when faded)
001132c8: 02402821 addu r5,r18,r0
001132cc: a7a00020 sh r0,0x0020(r29)
001132d0: a7a00028 sh r0,0x0028(r29)
001132d4: a7a00030 sh r0,0x0030(r29)
001132d8: 34020270 ori r2,r0,0x0270
001132dc: a7a20010 sh r2,0x0010(r29)              # x = 0x270
001132e0: a7b10012 sh r17,0x0012(r29)             # y = 0x1fe
001132e4: a7b30014 sh r19,0x0014(r29)             # w = 0x10
001132e8: a7b00016 sh r16,0x0016(r29)             # h = 1
001132ec: 27a40010 addiu r4,r29,0x0010
001132f0: 0c04b5b7 jal 0x0012d6dc                 # Move Image to Frame Buffer and Wait (WORLD) (move to tpage 9 with the other palettes)
001132f4: 02402821 addu r5,r18,r0
001132f8: 34020250 ori r2,r0,0x0250               
001132fc: a7a20010 sh r2,0x0010(r29)              # x = 0x250
00113300: a7b10012 sh r17,0x0012(r29)             # y = 0x1fe
00113304: a7b40014 sh r20,0x0014(r29)             # w = 0xc
00113308: a7b00016 sh r16,0x0016(r29)             # h = 1
0011330c: 27a40010 addiu r4,r29,0x0010
00113310: 0c04b5b7 jal 0x0012d6dc                 # Move Image to Frame Buffer and Wait (WORLD) (another duplicate only moving 0xc bytes?)
00113314: 02a02821 addu r5,r21,r0
00113318: 3c048019 lui r4,0x8019
0011331c: 2484c0d0 addiu r4,r4,0xc0d0             # points to tpage 6, at the bottom
00113320: 3c058019 lui r5,0x8019
00113324: 24a5bb50 addiu r5,r5,0xbb50             # proposition & Equip graphics baked into WORLD.BIN
00113328: 0c04b5b7 jal 0x0012d6dc                 # Move Image to Frame Buffer and Wait (WORLD) move proposition & equipping graphics from WORLD into tpage 6
0011332c: 00000000 nop
00113330: 3c01801d lui r1,0x801d
00113334: ac20d754 sw r0,-0x28ac(r1)
00113338: 00002021 addu r4,r0,r0
0011333c: 00002821 addu r5,r0,r0
00113340: 0c0498f2 jal 0x001263c8                 # 001263c8 - 001264a4
00113344: 00003021 addu r6,r0,r0
00113348: 0c04b515 jal 0x0012d454                 # 0012d454 - 0012d488
0011334c: 00000000 nop
00113350: 0c04ae43 jal 0x0012b90c                 # 0012b90c - 0012b92c
00113354: 00000000 nop
00113358: 3c018019 lui r1,0x8019
0011335c: a020ba24 sb r0,-0x45dc(r1)
00113360: 0c045022 jal 0x00114088                 # 00114088 - 001140b8
00113364: 00000000 nop
00113368: 0c04b5ed jal 0x0012d7b4                 # 0012d7b4 - 0012d894
0011336c: 00002021 addu r4,r0,r0
00113370: 0c04b5ed jal 0x0012d7b4                 # 0012d7b4 - 0012d894
00113374: 34040001 ori r4,r0,0x0001
00113378: 0c04b5ed jal 0x0012d7b4                 # 0012d7b4 - 0012d894
0011337c: 34040002 ori r4,r0,0x0002
00113380: 0c04b5ed jal 0x0012d7b4                 # 0012d7b4 - 0012d894 run 4 times, might be text entry related? input is switch case.
00113384: 34040003 ori r4,r0,0x0003
00113388: 3c03801d lui r3,0x801d
0011338c: 2463d908 addiu r3,r3,0xd908
00113390: 3c02801d lui r2,0x801d
00113394: 2442d558 addiu r2,r2,0xd558
00113398: ac620000 sw r2,0x0000(r3)
0011339c: 3c028019 lui r2,0x8019
001133a0: 2442b670 addiu r2,r2,0xb670
001133a4: ac620008 sw r2,0x0008(r3)
001133a8: 3c018019 lui r1,0x8019
001133ac: a020ba28 sb r0,-0x45d8(r1)
001133b0: 3c018019 lui r1,0x8019
001133b4: a020e48c sb r0,-0x1b74(r1)
001133b8: 8fbf0054 lw r31,0x0054(r29)
001133bc: 8fb60050 lw r22,0x0050(r29)
001133c0: 8fb5004c lw r21,0x004c(r29)
001133c4: 8fb40048 lw r20,0x0048(r29)
001133c8: 8fb30044 lw r19,0x0044(r29)
001133cc: 8fb20040 lw r18,0x0040(r29)
001133d0: 8fb1003c lw r17,0x003c(r29)
001133d4: 8fb00038 lw r16,0x0038(r29)
001133d8: 27bd0058 addiu r29,r29,0x0058
001133dc: 03e00008 jr r31
001133e0: 00000000 nop