|
|
| version 1.7, 2004/02/21 00:25:33 | version 1.8, 2004/02/21 04:48:35 |
|---|---|
| Line 343 static REG8 putsub(LIOWORK lio, const LI | Line 343 static REG8 putsub(LIOWORK lio, const LI |
| } | } |
| addr = (lput->x >> 3) + (lput->y * 80); | addr = (lput->x >> 3) + (lput->y * 80); |
| if (lio->scrn.top) { | if (lio->draw.flag & LIODRAW_UPPER) { |
| addr += 16000; | addr += 16000; |
| } | } |
| setdirty(addr, (lput->x & 7) + lput->width, lput->height, lio->draw.sbit); | setdirty(addr, (lput->x & 7) + lput->width, lput->height, lio->draw.sbit); |
| Line 357 static REG8 putsub(LIOWORK lio, const LI | Line 357 static REG8 putsub(LIOWORK lio, const LI |
| datacnt = (lput->width + 7) >> 3; | datacnt = (lput->width + 7) >> 3; |
| off = lput->off; | off = lput->off; |
| flag = (lio->gcolor1.palmode == 2)?0x0f:0x07; | flag = (lio->palmode == 2)?0x0f:0x07; |
| flag |= (lput->fg & 15) << 4; | flag |= (lput->fg & 15) << 4; |
| flag |= (lput->bg & 15) << 8; | flag |= (lput->bg & 15) << 8; |
| Line 492 REG8 lio_gget(LIOWORK lio) { | Line 492 REG8 lio_gget(LIOWORK lio) { |
| datacnt = (x2 + 7) >> 3; | datacnt = (x2 + 7) >> 3; |
| size = datacnt * y2; | size = datacnt * y2; |
| leng = LOADINTELWORD(dat.leng); | leng = LOADINTELWORD(dat.leng); |
| if (lio->scrn.plane & 0x80) { | if (!(lio->draw.flag & LIODRAW_MONO)) { |
| if (lio->gcolor1.palmode == 2) { | if (lio->draw.flag & LIODRAW_4BPP) { |
| size *= 4; | size *= 4; |
| mask = 0x0f; | mask = 0x0f; |
| } | } |
| Line 503 REG8 lio_gget(LIOWORK lio) { | Line 503 REG8 lio_gget(LIOWORK lio) { |
| } | } |
| } | } |
| else { | else { |
| mask = 1 << (lio->scrn.plane & 3); | mask = 1 << (lio->draw.flag & LIODRAW_PMASK); |
| } | } |
| if (leng < (size + 4)) { | if (leng < (size + 4)) { |
| return(LIO_ILLEGALFUNC); | return(LIO_ILLEGALFUNC); |
| Line 512 REG8 lio_gget(LIOWORK lio) { | Line 512 REG8 lio_gget(LIOWORK lio) { |
| i286_memword_write(seg, off+2, (REG16)y2); | i286_memword_write(seg, off+2, (REG16)y2); |
| off += 4; | off += 4; |
| addr = (x >> 3) + (y * 80); | addr = (x >> 3) + (y * 80); |
| if (lio->scrn.top) { | if (lio->draw.flag & LIODRAW_UPPER) { |
| addr += 16000; | addr += 16000; |
| } | } |
| gt.sft = x & 7; | gt.sft = x & 7; |
| Line 567 REG8 lio_gput1(LIOWORK lio) { | Line 567 REG8 lio_gput1(LIOWORK lio) { |
| lput.bg = dat.bg; | lput.bg = dat.bg; |
| } | } |
| else { | else { |
| lput.fg = lio->gcolor1.fgcolor; | lput.fg = lio->mem.fgcolor; |
| lput.bg = lio->gcolor1.bgcolor; | lput.bg = lio->mem.bgcolor; |
| } | } |
| } | } |
| else { | else { |
| Line 583 REG8 lio_gput1(LIOWORK lio) { | Line 583 REG8 lio_gput1(LIOWORK lio) { |
| lput.bg = 0; | lput.bg = 0; |
| } | } |
| } | } |
| TRACEOUT(("put1 - %d,%d / %d / %d %d %d", lput.width, lput.height, lput.mode, lput.sw, lput.fg, lput.bg)); | |
| return(putsub(lio, &lput)); | return(putsub(lio, &lput)); |
| } | } |
| Line 622 REG8 lio_gput2(LIOWORK lio) { | Line 621 REG8 lio_gput2(LIOWORK lio) { |
| lput.bg = dat.bg; | lput.bg = dat.bg; |
| } | } |
| else { | else { |
| lput.fg = lio->gcolor1.fgcolor; | lput.fg = lio->mem.fgcolor; |
| lput.bg = lio->gcolor1.bgcolor; | lput.bg = lio->mem.bgcolor; |
| } | } |
| return(putsub(lio, &lput)); | return(putsub(lio, &lput)); |
| } | } |