--- np2/io/cgrom.c 2004/06/03 16:20:52 1.11 +++ np2/io/cgrom.c 2007/11/03 00:00:20 1.15 @@ -27,7 +27,7 @@ static void cgwindowset(CGROM cr) { cgwindow.writable |= 1; high += cr->lr; } - else if ((code >= 0x08) && (code < 0x0c)) { + else if ((code >= 0x09) && (code < 0x0c)) { // ver0.78 if (cr->lr) { high = low; } @@ -62,6 +62,7 @@ static void IOOUTCALL cgrom_oa1(UINT por CGROM cr; +// TRACEOUT(("%.4x:%.2x [%.4x:%.4x]", port, dat, CPU_CS, CPU_IP)); cr = &cgrom; cr->code = (dat << 8) | (cr->code & 0xff); cgwindowset(cr); @@ -73,6 +74,7 @@ static void IOOUTCALL cgrom_oa3(UINT por CGROM cr; +// TRACEOUT(("%.4x:%.2x [%.4x:%.4x]", port, dat, CPU_CS, CPU_IP)); cr = &cgrom; cr->code = (cr->code & 0xff00) | dat; cgwindowset(cr); @@ -108,17 +110,17 @@ static void IOOUTCALL cgrom_oa9(UINT por static REG8 IOINPCALL cgrom_ia9(UINT port) { CGROM cr; -const BYTE *ptr; +const UINT8 *ptr; int type; cr = &cgrom; ptr = fontrom; type = cr->code & 0x00ff; if ((type >= 0x09) && (type < 0x0c)) { // ver0.78 -// if (cr->lr) { + if (!cr->lr) { ptr += (cr->code & 0x7f7f) << 4; return(ptr[cr->line & 0x0f]); -// } + } } else if (cr->code & 0xff00) { ptr += (cr->code & 0x7f7f) << 4; @@ -145,7 +147,7 @@ static const IOINP cgromia1[8] = { NULL, NULL, NULL, NULL, cgrom_ia9, NULL, NULL, NULL}; -void cgrom_reset(void) { +void cgrom_reset(const NP2CFG *pConfig) { CGWINDOW cgw; @@ -159,6 +161,8 @@ void cgrom_reset(void) { cgw->fonthigh = fontrom + 0x7fff0; #endif cgw->writable = 0; + + (void)pConfig; } void cgrom_bind(void) {