|
|
| version 1.7, 2003/12/12 01:04:41 | version 1.10, 2005/02/09 20:11:35 |
|---|---|
| Line 8 | Line 8 |
| SOUNDROM soundrom; | SOUNDROM soundrom; |
| static const char file_sound[] = "sound"; | static const OEMCHAR file_sound[] = OEMTEXT("sound"); |
| static const char file_extrom[] = ".rom"; | static const OEMCHAR file_extrom[] = OEMTEXT(".rom"); |
| static const BYTE defsoundrom[9] = { | static const UINT8 defsoundrom[9] = { |
| 0x01,0x00,0x00,0x00,0xd2,0x00,0x08,0x00,0xcb}; | 0x01,0x00,0x00,0x00,0xd2,0x00,0x08,0x00,0xcb}; |
| static BOOL loadsoundrom(UINT address, const char *name) { | static BRESULT loadsoundrom(UINT address, const OEMCHAR *name) { |
| char romname[24]; | OEMCHAR romname[24]; |
| char path[MAX_PATH]; | OEMCHAR path[MAX_PATH]; |
| FILEH fh; | FILEH fh; |
| UINT rsize; | UINT rsize; |
| file_cpyname(romname, file_sound, sizeof(romname)); | file_cpyname(romname, file_sound, NELEMENTS(romname)); |
| if (name) { | if (name) { |
| file_catname(romname, name, sizeof(romname)); | file_catname(romname, name, NELEMENTS(romname)); |
| } | } |
| file_catname(romname, file_extrom, sizeof(romname)); | file_catname(romname, file_extrom, NELEMENTS(romname)); |
| getbiospath(path, romname, sizeof(path)); | getbiospath(path, romname, NELEMENTS(path)); |
| fh = file_open_rb(path); | fh = file_open_rb(path); |
| if (fh == FILEH_INVALID) { | if (fh == FILEH_INVALID) { |
| goto lsr_err; | goto lsr_err; |
| Line 36 static BOOL loadsoundrom(UINT address, c | Line 36 static BOOL loadsoundrom(UINT address, c |
| if (rsize != 0x4000) { | if (rsize != 0x4000) { |
| goto lsr_err; | goto lsr_err; |
| } | } |
| file_cpyname(soundrom.name, romname, sizeof(soundrom.name)); | file_cpyname(soundrom.name, romname, NELEMENTS(soundrom.name)); |
| soundrom.address = address; | soundrom.address = address; |
| if (address == 0xd0000) { | |
| CPU_RAM_D000 &= ~(0x0f << 0); | |
| } | |
| else if (address == 0xd4000) { | |
| CPU_RAM_D000 &= ~(0x0f << 4); | |
| } | |
| return(SUCCESS); | return(SUCCESS); |
| lsr_err: | lsr_err: |
| Line 52 void soundrom_reset(void) { | Line 58 void soundrom_reset(void) { |
| ZeroMemory(&soundrom, sizeof(soundrom)); | ZeroMemory(&soundrom, sizeof(soundrom)); |
| } | } |
| void soundrom_load(UINT32 address, const char *primary) { | void soundrom_load(UINT32 address, const OEMCHAR *primary) { |
| if (primary != NULL) { | if (primary != NULL) { |
| if (loadsoundrom(address, primary) == SUCCESS) { | if (loadsoundrom(address, primary) == SUCCESS) { |
| Line 67 void soundrom_load(UINT32 address, const | Line 73 void soundrom_load(UINT32 address, const |
| soundrom.address = address; | soundrom.address = address; |
| } | } |
| void soundrom_loadex(UINT sw, const char *primary) { | void soundrom_loadex(UINT sw, const OEMCHAR *primary) { |
| if (sw < 4) { | if (sw < 4) { |
| soundrom_load((0xc8000 + ((UINT32)sw << 14)), primary); | soundrom_load((0xc8000 + ((UINT32)sw << 14)), primary); |