--- np2/bios/bios.c 2004/01/22 01:10:03 1.28 +++ np2/bios/bios.c 2004/01/23 15:05:04 1.31 @@ -6,8 +6,6 @@ #include "bios.h" #include "biosmem.h" #include "sxsibios.h" -#include "sound.h" -#include "fmboard.h" #include "lio.h" #include "fddfile.h" #include "fdd_mtr.h" @@ -50,9 +48,20 @@ static void bios_reinitbyswitch(void) { SETBIOSMEM16(0x00486, CPU_DX); #endif + if (!(np2cfg.dipsw[2] & 0x80)) { +#if defined(CPUCORE_IA32) + mem[MEMB_SYS_TYPE] = 0x02; // 80386กม +#else + mem[MEMB_SYS_TYPE] = 0x01; // 80286 +#endif + } + else { + mem[MEMB_SYS_TYPE] = 0x00; // V30 + } + mem[MEMB_BIOS_FLAG0] = 0x01; CPU_TYPE = 0; - prxcrt = 0xc8; + prxcrt = 0x48; // ver0.74 if (gdc.display & 2) { prxcrt |= 0x04; // color16 } @@ -99,7 +108,8 @@ static void bios_reinitbyswitch(void) { } gdcs.textdisp |= GDCSCRN_EXT; - if (((pccore.model & PCMODELMASK) >= PCMODEL_VX) && (usesound & 0x7e)) { + if (((pccore.model & PCMODELMASK) >= PCMODEL_VX) && + (pccore.sound & 0x7e)) { iocore_out8(0x188, 0x27); iocore_out8(0x18a, 0x3f); } @@ -120,6 +130,7 @@ static void bios_reinitbyswitch(void) { // IDE initialize if (pccore.hddif & PCHDD_IDE) { + mem[MEMB_SYS_TYPE] |= 0x80; // IDE CPU_AX = 0x8300; sasibios_operate(); }