|
|
| version 1.2, 2003/12/08 00:55:30 | version 1.7, 2005/05/20 13:59:46 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "cpucore.h" | #include "cpucore.h" |
| #include "memory.h" | |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | #include "iocore.h" |
| #include "bios.h" | #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) { | static void printerbios_11(void) { |
| if (iocore_inp8(0x42) & 0x04) { // busy? | if (iocore_inp8(0x42) & 0x04) { // busy? |
| Line 21 static void printerbios_11(void) { | Line 35 static void printerbios_11(void) { |
| } | } |
| } | } |
| void bios0x1a_main(void) { // ver0.30 | void bios0x1a_prt(void) { |
| switch(CPU_AH & 0x0f) { | switch(CPU_AH & 0x0f) { |
| case 0x00: | case 0x00: |
| if (CPU_AH == 0x30) { | if (CPU_AH == 0x30) { |
| if (CPU_CX) { | if (CPU_CX) { |
| do { | do { |
| CPU_AL = i286_membyte_read(CPU_ES, CPU_BX); | CPU_AL = MEMR_READ8(CPU_ES, CPU_BX); |
| printerbios_11(); | printerbios_11(); |
| if (CPU_AH & 0x02) { | if (CPU_AH & 0x02) { |
| CPU_AH = 0x02; | CPU_AH = 0x02; |
| Line 50 void bios0x1a_main(void) { // | Line 64 void bios0x1a_main(void) { // |
| CPU_AH = (iocore_inp8(0x42) >> 2) & 1; | CPU_AH = (iocore_inp8(0x42) >> 2) & 1; |
| } | } |
| break; | break; |
| case 0x01: | case 0x01: |
| printerbios_11(); | printerbios_11(); |
| break; | break; |
| case 0x02: | case 0x02: |
| CPU_AH = (iocore_inp8(0x42) >> 2) & 1; | CPU_AH = (iocore_inp8(0x42) >> 2) & 1; |
| break; | break; |
| default: | default: |
| CPU_AH = 0x00; | CPU_AH = 0x00; |
| break; | break; |
| } | } |
| } | } |
| void bios0x1a(void) { | |
| if (CPU_AH & 0x10) { | |
| bios0x1a_main(); // ver0.30 | |
| } | |
| else { | |
| if (CPU_AH == 0x04) { | |
| CPU_AH = 0x02; | |
| } | |
| else { | |
| CPU_AH = 0x00; | |
| } | |
| } | |
| } | |