550D 1.0.9:
int i; unsigned int *bmp_ram_addr = bmp_vram_info; for (i=0; i<2; i++) DebugMsg( DM_MAGIC, 3, "bmp_vram[]=0x%08x, 0x%08x, 0x%08x", bmp_ram_addr[3*i+0], bmp_ram_addr[3*i+1], bmp_ram_addr[3*i+2] ); unsigned int *vram_info_addr = vram_info; for (i=0; i<3; i++) DebugMsg( DM_MAGIC, 3, "vram_info[]=0x%08x, w=%4d, h=%4d, p=%4d, n=%4d", vram_info_addr[5*i+0], vram_info_addr[5*i+1], vram_info_addr[5*i+2], vram_info_addr[5*i+3], vram_info_addr[5*i+4] ); unsigned int *stateobj_disp = 0x23D8+0x90; // see FF05DAF8 SetBitmapVramAddress DebugMsg( DM_MAGIC, 3, "stateobj_disp+0xb0[]=0x%08x,0x%08x,0x%08x,", stateobj_disp[0], stateobj_disp[1], stateobj_disp[2]);
produced this:
1fc1f 2109: 9760.005 [MAGIC] bmp_vram[]=0xc0f140d0, 0x00000000, 0x02087100 1fc68 2110: 9760.045 [MAGIC] bmp_vram[]=0xc0f140d4, 0x00000000, 0x02087100 1fcb1 2111: 9760.082 [MAGIC] vram_info[]=0x40d07800, w= 720, h= 720, p= 480, n= 2 1fd03 2112: 9760.116 [MAGIC] vram_info[]=0x4c233800, w= 720, h= 720, p= 480, n= 0 1fd55 2113: 9760.149 [MAGIC] vram_info[]=0x4f11d800, w= 720, h= 720, p= 480, n= 0 1fda7 2114: 9760.194 [MAGIC] stateobj_disp+0xb0[]=0x42080008,0x40d07800,0x40958c3c,
See SetBitmapVramAddress
ROM:FF05DAF8 SetBitmapVramAddress ROM:FF05DAF8 STMFD SP!, {R4-R6,LR} ROM:FF05DAFC LDR R4, =0x23D8 ROM:FF05DB00 ADR R2, aSetbitmapvramaddressPbitmap_addr ; "SetBitmapVramAddress pBitmap_Address=%x"... ROM:FF05DB04 LDR R3, [R4,#0x90]
600D 1.0.1
this code
int i; unsigned int *bmp_ram_addr = bmp_vram_info; for (i=0; i<2; i++) DebugMsg( DM_MAGIC, 3, "bmp_vram[]=0x%08x, 0x%08x, 0x%08x", bmp_ram_addr[3*i+0], bmp_ram_addr[3*i+1], bmp_ram_addr[3*i+2] ); unsigned int *vram_info_addr = vram_info; for (i=0; i<3; i++) DebugMsg( DM_MAGIC, 3, "vram_info[]=0x%08x, w=%4d, h=%4d, p=%4d, n=%4d", vram_info_addr[5*i+0], vram_info_addr[5*i+1], vram_info_addr[5*i+2], vram_info_addr[5*i+3], vram_info_addr[5*i+4] ); unsigned int *stateobj_disp = 0x23DC+0xb0; // see FF062CEC SetBitmapVramAddress DebugMsg( DM_MAGIC, 3, "stateobj_disp+0xb0[]=0x%08x,0x%08x,0x%08x,", stateobj_disp[0], stateobj_disp[1], stateobj_disp[2]);
produced this
629: 28499.078 [MAGIC] bmp_vram[0]=0xc0f140d0, 0x00000000, 0x02087100 630: 28499.124 [MAGIC] bmp_vram[1]=0xc0f140d4, 0x00000000, 0x02087100 631: 28499.161 [MAGIC] vram_info[0]=0x40d07800, w= 720, h= 720, p= 480, n= 1 632: 28499.198 [MAGIC] vram_info[1]=0x4c233800, w= 720, h= 720, p= 480, n= 0 633: 28499.233 [MAGIC] vram_info[2]=0x4f11d800, w= 720, h= 720, p= 480, n= 0 634: 28499.279 [MAGIC] stateobj_disp+0xb0={0x42080008,0x4c233800,0x40a82a14}