--- np2/bios/bios1a.c 2003/12/12 01:04:39 1.3 +++ np2/bios/bios1a.c 2004/03/19 00:30:00 1.6 @@ -5,6 +5,21 @@ #include "bios.h" +// ---- CMT + +void bios0x1a_cmt(void) { + + if (CPU_AH == 0x04) { + CPU_AH = 0x02; + } + else { + CPU_AH = 0x00; + } +} + + +// ---- Printer + static void printerbios_11(void) { if (iocore_inp8(0x42) & 0x04) { // busy? @@ -20,14 +35,14 @@ static void printerbios_11(void) { } } -void bios0x1a_main(void) { // ver0.30 +void bios0x1a_prt(void) { switch(CPU_AH & 0x0f) { case 0x00: if (CPU_AH == 0x30) { if (CPU_CX) { do { - CPU_AL = i286_membyte_read(CPU_ES, CPU_BX); + CPU_AL = MEML_READ8(CPU_ES, CPU_BX); printerbios_11(); if (CPU_AH & 0x02) { CPU_AH = 0x02; @@ -49,30 +64,18 @@ void bios0x1a_main(void) { // CPU_AH = (iocore_inp8(0x42) >> 2) & 1; } break; + case 0x01: printerbios_11(); break; + case 0x02: CPU_AH = (iocore_inp8(0x42) >> 2) & 1; break; + default: CPU_AH = 0x00; break; } } -void bios0x1a(void) { - - if (CPU_AH & 0x10) { - bios0x1a_main(); // ver0.30 - } - else { - if (CPU_AH == 0x04) { - CPU_AH = 0x02; - } - else { - CPU_AH = 0x00; - } - } -} -