--- np2/pccore.c 2007/11/11 12:46:06 1.108 +++ np2/pccore.c 2011/01/15 05:33:07 1.110 @@ -189,7 +189,7 @@ static void pccore_set(const NP2CFG *pCo // -------------------------------------------------------------------------- #if !defined(DISABLE_SOUND) -static void sound_init() +static void sound_init(void) { UINT rate; @@ -247,7 +247,7 @@ void pccore_init(void) { fddfile_initialize(); #if !defined(DISABLE_SOUND) - sound_init(&np2cfg); + sound_init(); #endif rs232c_construct(); @@ -294,12 +294,22 @@ void pccore_cfgupdate(void) { int i; renewal = FALSE; - for (i=0; i<8; i++) { - if (np2cfg.memsw[i] != mem[MEMX_MSW + i*4]) { + for (i=0; i<8; i++) + { + if (np2cfg.memsw[i] != mem[MEMX_MSW + i*4]) + { np2cfg.memsw[i] = mem[MEMX_MSW + i*4]; renewal = TRUE; } } + for (i=0; i<3; i++) + { + if (np2cfg.dipsw[i] != pccore.dipsw[i]) + { + np2cfg.dipsw[i] = pccore.dipsw[i]; + renewal = TRUE; + } + } if (renewal) { sysmng_update(SYS_UPDATECFG); } @@ -314,7 +324,7 @@ void pccore_reset(void) { if (soundrenewal) { soundrenewal = 0; sound_term(); - sound_init(&np2cfg); + sound_init(); } #endif ZeroMemory(mem, 0x110000); @@ -335,7 +345,7 @@ void pccore_reset(void) { CPU_SETEXTSIZE((UINT32)pccore.extmem); CPU_TYPE = 0; - if (np2cfg.dipsw[2] & 0x80) { + if (pccore.dipsw[2] & 0x80) { CPU_TYPE = CPUTYPE_V30; } if (pccore.model & PCMODEL_EPSON) { // RAM ctrl