|
|
| version 1.17, 2004/06/03 15:53:40 | version 1.20, 2005/02/07 14:46:12 |
|---|---|
| Line 7 | Line 7 |
| #include "biosmem.h" | #include "biosmem.h" |
| #include "vram.h" | #include "vram.h" |
| #include "lio.h" | #include "lio.h" |
| #include "lio.res" | |
| void lio_initialize(void) { | void lio_initialize(void) { |
| UINT i; | CopyMemory(mem + (LIO_SEGMENT << 4), liorom, sizeof(liorom)); |
| 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; | |
| } | } |
| void bios_lio(REG8 cmd) { | void bios_lio(REG8 cmd) { |
| Line 66 void bios_lio(REG8 cmd) { | Line 58 void bios_lio(REG8 cmd) { |
| break; | break; |
| case 0x08: // a8: GCIRCLE | case 0x08: // a8: GCIRCLE |
| #if 0 | |
| ret = lio_gcircle(&lio); | ret = lio_gcircle(&lio); |
| break; | break; |
| #endif | |
| // case 0x09: // a9: GPAINT1 | // case 0x09: // a9: GPAINT1 |
| // break; | // break; |
| Line 178 void lio_updatedraw(GLIO lio) { | Line 168 void lio_updatedraw(GLIO lio) { |
| static void pixed8(const _GLIO *lio, UINT addr, REG8 bit, REG8 pal) { | static void pixed8(const _GLIO *lio, UINT addr, REG8 bit, REG8 pal) { |
| BYTE *ptr; | UINT8 *ptr; |
| addr = LOW15(addr); | addr = LOW15(addr); |
| vramupdate[addr] |= lio->draw.sbit; | vramupdate[addr] |= lio->draw.sbit; |
| Line 225 static void pixed8(const _GLIO *lio, UIN | Line 215 static void pixed8(const _GLIO *lio, UIN |
| void lio_pset(const _GLIO *lio, SINT16 x, SINT16 y, REG8 pal) { | void lio_pset(const _GLIO *lio, SINT16 x, SINT16 y, REG8 pal) { |
| UINT addr; | UINT addr; |
| BYTE bit; | UINT8 bit; |
| if ((lio->draw.x1 > x) || (lio->draw.x2 < x) || | if ((lio->draw.x1 > x) || (lio->draw.x2 < x) || |
| (lio->draw.y1 > y) || (lio->draw.y2 < y)) { | (lio->draw.y1 > y) || (lio->draw.y2 < y)) { |
| Line 244 void lio_pset(const _GLIO *lio, SINT16 x | Line 234 void lio_pset(const _GLIO *lio, SINT16 x |
| void lio_line(const _GLIO *lio, SINT16 x1, SINT16 x2, SINT16 y, REG8 pal) { | void lio_line(const _GLIO *lio, SINT16 x1, SINT16 x2, SINT16 y, REG8 pal) { |
| UINT addr; | UINT addr; |
| BYTE bit, dbit; | UINT8 bit, dbit; |
| SINT16 width; | SINT16 width; |
| if ((lio->draw.y1 > y) || (lio->draw.y2 < y)) { | if ((lio->draw.y1 > y) || (lio->draw.y2 < y)) { |
| Line 296 void lio_line(const _GLIO *lio, SINT16 x | Line 286 void lio_line(const _GLIO *lio, SINT16 x |
| #if 0 | #if 0 |
| void lio_look(UINT vect) { | void lio_look(UINT vect) { |
| BYTE work[16]; | UINT8 work[16]; |
| TRACEOUT(("lio command %.2x [%.4x:%.4x]", vect, CPU_CS, CPU_IP)); | TRACEOUT(("lio command %.2x [%.4x:%.4x]", vect, CPU_CS, CPU_IP)); |
| if (vect == 0xa7) { | if (vect == 0xa7) { |