Diff for /np2/lio/lio.c between versions 1.17 and 1.21

version 1.17, 2004/06/03 15:53:40 version 1.21, 2005/05/20 13:59:47
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 29  void bios_lio(REG8 cmd) { Line 21  void bios_lio(REG8 cmd) {
         UINT8   ret;          UINT8   ret;
   
 //      TRACEOUT(("lio command %.2x", cmd));  //      TRACEOUT(("lio command %.2x", cmd));
         MEML_READSTR(CPU_DS, 0x0620, &lio.work, sizeof(lio.work));          MEMR_READS(CPU_DS, 0x0620, &lio.work, sizeof(lio.work));
         lio.palmode = MEML_READ8(CPU_DS, 0x0a08);          lio.palmode = MEMR_READ8(CPU_DS, 0x0a08);
         lio.wait = 0;          lio.wait = 0;
         switch(cmd) {          switch(cmd) {
                 case 0x00:                      // a0: GINIT                  case 0x00:                      // a0: GINIT
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 292  void lio_line(const _GLIO *lio, SINT16 x Line 282  void lio_line(const _GLIO *lio, SINT16 x
 }  }
 #endif  #endif
   
   
 #if 0  
 void lio_look(UINT vect) {  
   
         BYTE    work[16];  
   
         TRACEOUT(("lio command %.2x [%.4x:%.4x]", vect, CPU_CS, CPU_IP));  
         if (vect == 0xa7) {  
                 i286_memstr_read(CPU_DS, CPU_BX, work, 16);  
                 TRACEOUT(("LINE %d %d %d %d - %d %d / %d : %.2x %.2x",  
                                         LOADINTELWORD(work),  
                                         LOADINTELWORD(work+2),  
                                         LOADINTELWORD(work+4),  
                                         LOADINTELWORD(work+6),  
                                         work[8], work[9], work[10], work[11], work[12]));  
         }  
         else if (vect == 0xad) {  
                 i286_memstr_read(CPU_DS, CPU_BX, work, 16);  
                 TRACEOUT(("GPUT2 x=%d / y=%d / chr=%.4x / %d / %d %d %d",  
                         LOADINTELWORD(work),  
                         LOADINTELWORD(work+2),  
                         LOADINTELWORD(work+4),  
                         work[6], work[7], work[8], work[9]));  
         }  
 }  
 #endif  
   

Removed from v.1.17  
changed lines
  Added in v.1.21


RetroPC.NET-CVS <cvs@retropc.net>