--- np2/lio/lio.h 2004/02/20 16:20:41 1.4 +++ np2/lio/lio.h 2004/02/21 04:48:35 1.6 @@ -7,59 +7,48 @@ enum { typedef struct { - UINT8 mode; - UINT8 sw; - UINT8 act; + UINT8 scrnmode; + UINT8 pos; + UINT8 plane; + UINT8 fgcolor; + UINT8 bgcolor; + UINT8 padding; + UINT8 color[8]; + BYTE viewx1[2]; + BYTE viewy1[2]; + BYTE viewx2[2]; + BYTE viewy2[2]; UINT8 disp; -} LIOGSCREEN; + UINT8 access; +} LIOMEM; + +enum { + LIODRAW_PMASK = 0x03, + LIODRAW_MONO = 0x04, + LIODRAW_UPPER = 0x20, + LIODRAW_4BPP = 0x40 +}; typedef struct { SINT16 x1; SINT16 y1; SINT16 x2; SINT16 y2; - UINT8 vdraw_bg; - UINT8 vdraw_ln; -} LIOGVIEW; - -typedef struct { + UINT32 base; + UINT8 flag; UINT8 palmax; - UINT8 bgcolor; - UINT8 bdcolor; - UINT8 fgcolor; - UINT8 palmode; -} LIOGCOLOR1; - - -// ---- - -typedef struct { - UINT16 top; - UINT16 lines; UINT8 bank; - UINT8 plane; - UINT8 disp; - UINT8 dbit; -} LIO_SCRN; - -typedef struct { - SINT16 x1; - SINT16 y1; - SINT16 x2; - SINT16 y2; -} LIORANGE; + UINT8 sbit; +} LIODRAW; typedef struct { - LIO_SCRN scrn; - LIOGSCREEN gscreen; - LIOGVIEW gview; - LIOGCOLOR1 gcolor1; - UINT8 degcol[8]; + LIOMEM mem; + UINT8 palmode; // ---- work - UINT32 wait; - LIORANGE range; + UINT32 wait; + LIODRAW draw; } _LIOWORK, *LIOWORK; @@ -72,7 +61,7 @@ extern const UINT32 lioplaneadrs[4]; void lio_initialize(void); void bios_lio(REG8 cmd); -void lio_updaterange(LIOWORK lio); +void lio_updatedraw(LIOWORK lio); void lio_pset(const _LIOWORK *lio, SINT16 x, SINT16 y, REG8 pal); void lio_line(const _LIOWORK *lio, SINT16 x1, SINT16 x2, SINT16 y, REG8 pal);