|
|
| version 1.8, 2004/02/21 04:48:35 | version 1.9, 2004/02/21 06:26:34 |
|---|---|
| Line 8 | Line 8 |
| #include "vram.h" | #include "vram.h" |
| typedef struct { | typedef struct { |
| BYTE mode; | BYTE mode; |
| BYTE sw; | BYTE sw; |
| Line 53 REG8 lio_ginit(LIOWORK lio) { | Line 52 REG8 lio_ginit(LIOWORK lio) { |
| iocore_out8(0x006a, 0); | iocore_out8(0x006a, 0); |
| gdc_paletteinit(); | gdc_paletteinit(); |
| lio->mem.scrnmode = 0; | ZeroMemory(&lio->mem, sizeof(lio->mem)); |
| lio->mem.pos = 0; | // lio->mem.scrnmode = 0; |
| // lio->mem.pos = 0; | |
| lio->mem.plane = 1; | lio->mem.plane = 1; |
| lio->mem.bgcolor = 0; | // lio->mem.bgcolor = 0; |
| lio->mem.fgcolor = 7; | lio->mem.fgcolor = 7; |
| for (i=0; i<8; i++) { | for (i=0; i<8; i++) { |
| lio->mem.color[i] = (UINT8)i; | lio->mem.color[i] = (UINT8)i; |
| } | } |
| STOREINTELWORD(lio->mem.viewx1, 0); | // STOREINTELWORD(lio->mem.viewx1, 0); |
| STOREINTELWORD(lio->mem.viewy1, 0); | // STOREINTELWORD(lio->mem.viewy1, 0); |
| STOREINTELWORD(lio->mem.viewx2, 639); | STOREINTELWORD(lio->mem.viewx2, 639); |
| STOREINTELWORD(lio->mem.viewy2, 399); | STOREINTELWORD(lio->mem.viewy2, 399); |
| lio->palmode = 0; | lio->palmode = 0; |
| i286_memstr_write(CPU_DS, 0x0620, &lio->mem, sizeof(lio->mem)); | |
| i286_membyte_write(CPU_DS, 0x0a08, lio->palmode); | |
| return(LIO_SUCCESS); | return(LIO_SUCCESS); |
| } | } |
| Line 201 REG8 lio_gscreen(LIOWORK lio) { | Line 203 REG8 lio_gscreen(LIOWORK lio) { |
| TRACEOUT(("bios1842 - %.2x", mode)); | TRACEOUT(("bios1842 - %.2x", mode)); |
| bios0x18_42(mode); | bios0x18_42(mode); |
| iocore_out8(0x00a6, lio->mem.access); | iocore_out8(0x00a6, lio->mem.access); |
| i286_memstr_write(CPU_DS, 0x0620, &lio->mem, sizeof(lio->mem)); | |
| return(LIO_SUCCESS); | return(LIO_SUCCESS); |
| gscreen_err5: | gscreen_err5: |
| Line 232 REG8 lio_gview(LIOWORK lio) { | Line 235 REG8 lio_gview(LIOWORK lio) { |
| STOREINTELWORD(lio->mem.viewy1, (UINT16)y1); | STOREINTELWORD(lio->mem.viewy1, (UINT16)y1); |
| STOREINTELWORD(lio->mem.viewx2, (UINT16)x2); | STOREINTELWORD(lio->mem.viewx2, (UINT16)x2); |
| STOREINTELWORD(lio->mem.viewy2, (UINT16)y2); | STOREINTELWORD(lio->mem.viewy2, (UINT16)y2); |
| i286_memstr_write(CPU_DS, 0x0620, &lio->mem, sizeof(lio->mem)); | |
| return(LIO_SUCCESS); | return(LIO_SUCCESS); |
| } | } |
| Line 266 REG8 lio_gcolor1(LIOWORK lio) { | Line 270 REG8 lio_gcolor1(LIOWORK lio) { |
| } | } |
| lio->palmode = dat.palmode; | lio->palmode = dat.palmode; |
| } | } |
| i286_memstr_write(CPU_DS, 0x0620, &lio->mem, sizeof(lio->mem)); | |
| i286_membyte_write(CPU_DS, 0x0a08, lio->palmode); | |
| return(LIO_SUCCESS); | return(LIO_SUCCESS); |
| gcolor1_err5: | gcolor1_err5: |
| Line 296 REG8 lio_gcolor2(LIOWORK lio) { | Line 302 REG8 lio_gcolor2(LIOWORK lio) { |
| gdc_setanalogpal(dat.pal, offsetof(RGB32, p.g), | gdc_setanalogpal(dat.pal, offsetof(RGB32, p.g), |
| (UINT8)(dat.color2 & 0x0f)); | (UINT8)(dat.color2 & 0x0f)); |
| } | } |
| i286_memstr_write(CPU_DS, 0x0620, &lio->mem, sizeof(lio->mem)); | |
| return(LIO_SUCCESS); | return(LIO_SUCCESS); |
| gcolor2_err5: | gcolor2_err5: |