|
|
| version 1.70, 2005/02/04 05:32:23 | version 1.75, 2005/03/16 06:05:17 |
|---|---|
| Line 56 const IODATA *pterm; | Line 56 const IODATA *pterm; |
| gdc_biosreset(); | gdc_biosreset(); |
| p = iodata; | p = iodata; |
| pterm = iodata + (sizeof(iodata) / sizeof(IODATA)); | pterm = iodata + NELEMENTS(iodata); |
| while(p < pterm) { | while(p < pterm) { |
| iocore_out8(p->port, p->data); | iocore_out8(p->port, p->data); |
| p++; | p++; |
| Line 85 static void bios_reinitbyswitch(void) { | Line 85 static void bios_reinitbyswitch(void) { |
| UINT8 prxcrt; | UINT8 prxcrt; |
| UINT8 prxdupd; | UINT8 prxdupd; |
| UINT8 biosflag; | UINT8 biosflag; |
| UINT8 extmem; | |
| UINT8 boot; | UINT8 boot; |
| if (!(np2cfg.dipsw[2] & 0x80)) { | if (!(np2cfg.dipsw[2] & 0x80)) { |
| Line 132 static void bios_reinitbyswitch(void) { | Line 133 static void bios_reinitbyswitch(void) { |
| biosflag |= 0x40; | biosflag |= 0x40; |
| } | } |
| mem[MEMB_BIOS_FLAG1] = biosflag; | mem[MEMB_BIOS_FLAG1] = biosflag; |
| mem[MEMB_EXPMMSZ] = (UINT8)(pccore.extmem << 3); | extmem = pccore.extmem; |
| extmem = min(extmem, 14); | |
| mem[MEMB_EXPMMSZ] = (UINT8)(extmem << 3); | |
| if (pccore.extmem >= 15) { | |
| mem[0x0594] = pccore.extmem - 15; | |
| } | |
| mem[MEMB_CRT_RASTER] = 0x0f; | mem[MEMB_CRT_RASTER] = 0x0f; |
| // FDD initialize | // FDD initialize |
| Line 211 static void setbiosseed(UINT8 *ptr, UINT | Line 217 static void setbiosseed(UINT8 *ptr, UINT |
| void bios_initialize(void) { | void bios_initialize(void) { |
| BOOL biosrom; | BOOL biosrom; |
| char path[MAX_PATH]; | OEMCHAR path[MAX_PATH]; |
| FILEH fh; | FILEH fh; |
| UINT i; | UINT i; |
| UINT32 tmp; | UINT32 tmp; |
| UINT pos; | UINT pos; |
| biosrom = FALSE; | biosrom = FALSE; |
| getbiospath(path, str_biosrom, sizeof(path)); | getbiospath(path, str_biosrom, NELEMENTS(path)); |
| fh = file_open_rb(path); | fh = file_open_rb(path); |
| if (fh != FILEH_INVALID) { | if (fh != FILEH_INVALID) { |
| biosrom = (file_read(fh, mem + 0x0e8000, 0x18000) == 0x18000); | biosrom = (file_read(fh, mem + 0x0e8000, 0x18000) == 0x18000); |
| Line 249 void bios_initialize(void) { | Line 255 void bios_initialize(void) { |
| } | } |
| #if defined(SUPPORT_PC9821) | #if defined(SUPPORT_PC9821) |
| getbiospath(path, "bios9821.rom", sizeof(path)); | getbiospath(path, OEMTEXT("bios9821.rom"), sizeof(path)); |
| fh = file_open_rb(path); | fh = file_open_rb(path); |
| if (fh != FILEH_INVALID) { | if (fh != FILEH_INVALID) { |
| if (file_read(fh, mem + 0x0d8000, 0x2000) == 0x2000) { | if (file_read(fh, mem + 0x0d8000, 0x2000) == 0x2000) { |
| Line 259 void bios_initialize(void) { | Line 265 void bios_initialize(void) { |
| } | } |
| file_close(fh); | file_close(fh); |
| } | } |
| #if defined(BIOS_SIMULATE) | |
| mem[0xf8e80] = 0x98; | mem[0xf8e80] = 0x98; |
| mem[0xf8e81] = 0x21; | mem[0xf8e81] = 0x21; |
| mem[0xf8e82] = 0x1f; | |
| mem[0xf8e83] = 0x20; // Model Number? | |
| mem[0xf8e84] = 0x2c; | |
| mem[0xf8e85] = 0xb0; | |
| // mem[0xf8eaf] = 0x21; // <- これって何だっけ? | |
| #endif | |
| #endif | #endif |
| #if defined(BIOS_SIMULATE) | #if defined(BIOS_SIMULATE) |