--- np2/lio/lio.c 2004/02/22 00:05:56 1.14 +++ np2/lio/lio.c 2004/06/12 15:32:53 1.19 @@ -7,20 +7,12 @@ #include "biosmem.h" #include "vram.h" #include "lio.h" +#include "lio.res" void lio_initialize(void) { - UINT i; - - mem[0xf9900] = 0x11; - for (i=0; i<0x11; i++) { - mem[0xf9904 + i*4] = 0xa0 + i; - mem[0xf9905 + i*4] = 0x00; - SETBIOSMEM16(0xf9906 + i*4, 0x100 + i*4); - SETBIOSMEM32(0xf9a00 + i*4, 0xcf90fb90); - } - mem[0xf9944] = 0xce; + CopyMemory(mem + (LIO_SEGMENT << 4), liorom, sizeof(liorom)); } void bios_lio(REG8 cmd) { @@ -29,8 +21,8 @@ void bios_lio(REG8 cmd) { UINT8 ret; // TRACEOUT(("lio command %.2x", cmd)); - i286_memstr_read(CPU_DS, 0x0620, &lio.work, sizeof(lio.work)); - lio.palmode = i286_membyte_read(CPU_DS, 0x0a08); + MEML_READSTR(CPU_DS, 0x0620, &lio.work, sizeof(lio.work)); + lio.palmode = MEML_READ8(CPU_DS, 0x0a08); lio.wait = 0; switch(cmd) { case 0x00: // a0: GINIT @@ -65,8 +57,9 @@ void bios_lio(REG8 cmd) { ret = lio_gline(&lio); break; -// case 0x08: // a8: GCIRCLE -// break; + case 0x08: // a8: GCIRCLE + ret = lio_gcircle(&lio); + break; // case 0x09: // a9: GPAINT1 // break;