// sram\r
struct PicoSRAM\r
{\r
- unsigned char *data; // actual data\r
- unsigned int start; // start address in 68k address space\r
+ unsigned char *data; // actual data\r
+ unsigned int start; // start address in 68k address space\r
unsigned int end;\r
- unsigned char resize; // 1=SRAM size changed and needs to be reallocated on PicoReset\r
- unsigned char reg_back; // copy of Pico.m.sram_reg to set after reset\r
+ unsigned char resize; // 0c: 1=SRAM size changed and needs to be reallocated on PicoReset\r
+ unsigned char reg_back; // copy of Pico.m.sram_reg to set after reset\r
unsigned char changed;\r
unsigned char pad;\r
};\r
unsigned char bank;\r
int pad1;\r
\r
- struct pcm_chan\r
+ struct pcm_chan // 08, size 0x10\r
{\r
unsigned char regs[8];\r
- unsigned int addr; // played sample address\r
+ unsigned int addr; // .08: played sample address\r
int pad;\r
} ch[8];\r
};\r
unsigned short hint_vector;\r
unsigned char busreq;\r
unsigned char s68k_pend_ints;\r
- unsigned int state_flags; // emu state: reset_pending,\r
+ unsigned int state_flags; // 04: emu state: reset_pending,\r
unsigned int counter75hz;\r
- unsigned short audio_offset; // for savestates: play pointer offset (0-1023)\r
+ unsigned short audio_offset; // 0c: for savestates: play pointer offset (0-1023)\r
unsigned char audio_track; // playing audio track # (zero based)\r
char pad1;\r
- int timer_int3;\r
+ int timer_int3; // 10\r
unsigned int timer_stopwatch;\r
int pad[10];\r
};\r
\r
typedef struct\r
{\r
- unsigned char bios[0x20000]; // 128K\r
- union { // 512K\r
+ unsigned char bios[0x20000]; // 000000: 128K\r
+ union { // 020000: 512K\r
unsigned char prg_ram[0x80000];\r
unsigned char prg_ram_b[4][0x20000];\r
};\r
- union { // 256K\r
+ union { // 0a0000: 256K\r
struct {\r
unsigned char word_ram2M[0x40000];\r
unsigned char unused[0x20000];\r
unsigned char word_ram1M[2][0x20000];\r
};\r
};\r
- union { // 64K\r
+ union { // 100000: 64K\r
unsigned char pcm_ram[0x10000];\r
unsigned char pcm_ram_b[0x10][0x1000];\r
};\r
- unsigned char bram[0x2000]; // 8K\r
- unsigned char s68k_regs[0x200]; // GA, not CPU regs\r
- struct mcd_pcm pcm;\r
+ unsigned char s68k_regs[0x200]; // 110000: GA, not CPU regs\r
+ unsigned char bram[0x2000]; // 110200: 8K\r
+ struct mcd_misc m; // 112200: misc\r
+ struct mcd_pcm pcm; // 112240:\r
_scd_toc TOC; // not to be saved\r
CDD cdd;\r
CDC cdc;\r
_scd scd;\r
Rot_Comp rot_comp;\r
- struct mcd_misc m;\r
} mcd_state;\r
\r
#define Pico_mcd ((mcd_state *)Pico.rom)\r
\r
// cd/Memory.c\r
void PicoMemSetupCD(void);\r
+void PicoMemResetCD(int r3);\r
+void PicoMemResetCDdecode(int r3);\r
unsigned char PicoReadCD8 (unsigned int a);\r
unsigned short PicoReadCD16(unsigned int a);\r
unsigned int PicoReadCD32(unsigned int a);\r