mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-04-25 07:37:32 -05:00
Dump Gb Player screen data
This commit is contained in:
parent
589b962b68
commit
ecb5f9f0b8
21
data/rom.s
21
data/rom.s
|
|
@ -9,7 +9,7 @@ gUnknown_08055A68:: @ 0x08055A68
|
|||
|
||||
.include "data/mon_locations.inc"
|
||||
|
||||
gUnknown_08055C44:: @ 0x08055C44
|
||||
gSineTable:: @ 0x08055C44
|
||||
.2byte 0x0000, 0x0007, 0x000F, 0x0017, 0x001E, 0x0026, 0x002E, 0x0035
|
||||
.2byte 0x003D, 0x0045, 0x004C, 0x0054, 0x005C, 0x0063, 0x006B, 0x0073
|
||||
.2byte 0x007A, 0x0082, 0x008A, 0x0091, 0x0099, 0x00A1, 0x00A8, 0x00B0
|
||||
|
|
@ -655,17 +655,20 @@ gEmptyOamData:: @ 0x08057C46
|
|||
.4byte 0x00F000F4, 0x00000000
|
||||
|
||||
.align 2, 0
|
||||
gUnknown_08058048:: @ 0x08058058
|
||||
.incbin "baserom.gba", 0x58048, 0x200
|
||||
gGbPlayerPalettes:: @ 0x08058058
|
||||
@ This one is weird because some of the colors set the unused bit, so we can't do a matching conversion
|
||||
@ from a JASC palette format. Naming it with a ".bin" suffix to prevent `make clean` from deleting it.
|
||||
.incbin "graphics/gb_player/gb_player.gbapal.bin"
|
||||
|
||||
gUnknown_08058248:: @ 0x08058248
|
||||
.incbin "baserom.gba", 0x58248, 0x4000
|
||||
gGbPlayerGfx:: @ 0x08058248
|
||||
.incbin "graphics/gb_player/gb_player.8bpp"
|
||||
|
||||
gUnknown_0805C248:: @ 0x0805C248
|
||||
.incbin "baserom.gba", 0x5C248, 0x500
|
||||
gGbPlayerTilemap:: @ 0x0805C248
|
||||
.incbin "graphics/gb_player/gb_player_tilemap.bin"
|
||||
|
||||
gUnknown_0805C748:: @ 0x0805C748
|
||||
.incbin "baserom.gba", 0x5C748, 0x8
|
||||
Sio32ConnectionData:: @ 0x0805C748
|
||||
@ NINTENDO
|
||||
.2byte 0x494E, 0x544E, 0x4E45, 0x4F44
|
||||
|
||||
gBonusFieldSelectStateFuncs:: @ 0x0805C750
|
||||
.4byte LoadBonusFieldSelectGraphics
|
||||
|
|
|
|||
18
extract.py
Normal file
18
extract.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import sys
|
||||
|
||||
def extract_bytes(input_file, output_file, start, length):
|
||||
with open(input_file, 'rb') as f:
|
||||
f.seek(start)
|
||||
data = f.read(length)
|
||||
with open(output_file, 'wb') as f:
|
||||
f.write(data)
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) != 5:
|
||||
print(f"Usage: {sys.argv[0]} <input_file> <output_file> <start> <length>")
|
||||
sys.exit(1)
|
||||
input_file = sys.argv[1]
|
||||
output_file = sys.argv[2]
|
||||
start = int(sys.argv[3], 0)
|
||||
length = int(sys.argv[4], 0)
|
||||
extract_bytes(input_file, output_file, start, length)
|
||||
BIN
graphics/gb_player/gb_player.gbapal.bin
Normal file
BIN
graphics/gb_player/gb_player.gbapal.bin
Normal file
Binary file not shown.
BIN
graphics/gb_player/gb_player.png
Normal file
BIN
graphics/gb_player/gb_player.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
BIN
graphics/gb_player/gb_player_tilemap.bin
Normal file
BIN
graphics/gb_player/gb_player_tilemap.bin
Normal file
Binary file not shown.
|
|
@ -105,7 +105,7 @@ extern int gUnknown_02019C04;
|
|||
extern int gUnknown_02019C08;
|
||||
extern int gGameBoyPlayerEnabled;
|
||||
extern u8 gUnknown_02019C10;
|
||||
extern u8 gUnknown_02002008[];
|
||||
extern u8 gGbPlayerTilemapBuffer[];
|
||||
#define INTR_COUNT 14
|
||||
extern IntrFunc gIntrTable[14];
|
||||
extern void (*gMainCallback)(void);
|
||||
|
|
|
|||
|
|
@ -98,11 +98,11 @@ extern s16 gUnknown_0202BEEC;
|
|||
//extern ? gMPlayInfo_BGM;
|
||||
//extern ? gMPlayMemAccArea;
|
||||
extern const u16 gWildMonLocations[AREA_COUNT][2][WILD_MON_LOCATION_COUNT];
|
||||
extern const s16 gUnknown_08055C44[];
|
||||
extern const s16 gSineTable[];
|
||||
extern const struct OamData gEmptyOamData[128];
|
||||
extern const u8 gUnknown_08058048[];
|
||||
extern const u8 gUnknown_08058248[];
|
||||
extern const u8 gUnknown_0805C248[];
|
||||
extern const u8 gGbPlayerPalettes[];
|
||||
extern const u8 gGbPlayerGfx[];
|
||||
extern const u8 gGbPlayerTilemap[];
|
||||
extern StateFunc gTitlescreenStateFuncs[];
|
||||
//extern ? gIntroCopyright_Gfx;
|
||||
//extern ? gIntroCopyright_Pal;
|
||||
|
|
@ -393,7 +393,7 @@ extern u8 gUnknown_08118680[];
|
|||
|
||||
extern u16 gCommonAndEggWeights[];
|
||||
extern u16 gUnknown_0200B18E[10];
|
||||
extern u16 gUnknown_0805C748[4];
|
||||
extern u16 Sio32ConnectionData[4];
|
||||
extern u32 gUnknown_02002814;
|
||||
|
||||
#endif // GUARD_VARIABLES_H
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@ static u8 CheckGameBoyPlayer(void)
|
|||
lastDetectedFrame = 0;
|
||||
prevDetectedFrame = 0;
|
||||
VBlankIntrWait();
|
||||
DmaCopy16(3, gUnknown_08058248, (void *)BG_CHAR_ADDR(2), BG_CHAR_SIZE);
|
||||
DmaCopy16(3, gUnknown_08058048, (void *)BG_PLTT, BG_PLTT_SIZE);
|
||||
DmaCopy16(3, gUnknown_0805C248, gUnknown_02002008, 0x500);
|
||||
DmaCopy16(3, gUnknown_02002008, (void *)BG_SCREEN_ADDR(0), BG_SCREEN_SIZE);
|
||||
DmaCopy16(3, gGbPlayerGfx, (void *)BG_CHAR_ADDR(2), BG_CHAR_SIZE);
|
||||
DmaCopy16(3, gGbPlayerPalettes, (void *)BG_PLTT, BG_PLTT_SIZE);
|
||||
DmaCopy16(3, gGbPlayerTilemap, gGbPlayerTilemapBuffer, 0x500);
|
||||
DmaCopy16(3, gGbPlayerTilemapBuffer, (void *)BG_SCREEN_ADDR(0), BG_SCREEN_SIZE);
|
||||
REG_BG0CNT = BGCNT_256COLOR | BGCNT_CHARBASE(2);
|
||||
for (i = 0; i <= 16; i++)
|
||||
{
|
||||
|
|
@ -61,7 +61,7 @@ static u8 CheckGameBoyPlayer(void)
|
|||
VBlankIntrWait();
|
||||
{
|
||||
vu32 *dmaRegs = dma3;
|
||||
dmaRegs[0] = (vu32)gUnknown_02002008;
|
||||
dmaRegs[0] = (vu32)gGbPlayerTilemapBuffer;
|
||||
dmaRegs[1] = BG_SCREEN_ADDR(0);
|
||||
dmaRegs[2] = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_INC) << 16 | (BG_SCREEN_SIZE / sizeof(u32)));
|
||||
dmaRegs[2];
|
||||
|
|
@ -333,7 +333,7 @@ void Sio32IDIntr(void)
|
|||
// green
|
||||
if (gUnknown_02002808.count < 4)
|
||||
{
|
||||
gUnknown_02002808.send_id = *(gUnknown_02002808.count + gUnknown_0805C748); // oh no
|
||||
gUnknown_02002808.send_id = *(gUnknown_02002808.count + Sio32ConnectionData); // oh no
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -195,7 +195,7 @@ s16 Sin(u16 arg0)
|
|||
if (index > 0xFFF)
|
||||
index = 0x2000 - index;
|
||||
|
||||
return gUnknown_08055C44[index] * var0;
|
||||
return gSineTable[index] * var0;
|
||||
}
|
||||
|
||||
s16 Cos(u16 arg0)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ sGbPlayerCurKeys: @ 0x2002000
|
|||
.space 0x2
|
||||
sGbPlayerPrevKeys: @ 0x2002002
|
||||
.space 0x6
|
||||
gUnknown_02002008: @ 0x2002008
|
||||
gGbPlayerTilemapBuffer: @ 0x2002008
|
||||
.space 0x800
|
||||
gUnknown_02002808: @ 0x2002808
|
||||
.space 0xC
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user