Diff for /xmil/io/memio.c between versions 1.4 and 1.5

version 1.4, 2004/08/20 23:01:16 version 1.5, 2005/02/04 06:42:11
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
   #include        "dosio.h"
 #include        "z80core.h"  #include        "z80core.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
   #include        "defipl.res"
   
   
         UINT8   biosmem[0x8000];          UINT8   biosmem[0x8000];
Line 13 Line 15
 void memio_update(void) {  void memio_update(void) {
   
 #if defined(SUPPORT_BANKMEM)  #if defined(SUPPORT_BANKMEM)
         if (memio.bank & 0x10) {          if (iocore.s.bankmem & 0x10) {
 #endif  #endif
                 if (!memio.ram) {                  if (!(iocore.s.ppib & 0x10)) {
                         z80core.e.memread = biosmem;                          z80core.e.memread = biosmem;
                 }                  }
                 else {                  else {
Line 25  void memio_update(void) { Line 27  void memio_update(void) {
 #if defined(SUPPORT_BANKMEM)  #if defined(SUPPORT_BANKMEM)
         }          }
         else {          else {
                 z80core.e.memread = bankmem[memio.bank & 15];                  z80core.e.memread = bankmem[iocore.s.bankmem & 15];
                 z80core.e.memwrite = bankmem[memio.bank & 15];                  z80core.e.memwrite = bankmem[iocore.s.bankmem & 15];
         }          }
 #endif  #endif
 }  }
Line 34  void memio_update(void) { Line 36  void memio_update(void) {
 #if defined(SUPPORT_BANKMEM)  #if defined(SUPPORT_BANKMEM)
 void IOOUTCALL memio_bank_o(UINT port, REG8 dat) {  void IOOUTCALL memio_bank_o(UINT port, REG8 dat) {
   
         memio.bank = dat;          iocore.s.bankmem = dat;
         memio_update();          memio_update();
         (void)port;          (void)port;
 }  }
Line 42  void IOOUTCALL memio_bank_o(UINT port, R Line 44  void IOOUTCALL memio_bank_o(UINT port, R
 REG8 IOINPCALL memio_bank_i(UINT port) {  REG8 IOINPCALL memio_bank_i(UINT port) {
   
         (void)port;          (void)port;
         return(memio.bank);          return(iocore.s.bankmem);
 }  }
 #endif  #endif
   
 void IOOUTCALL memio_rom(UINT port, REG8 dat) {  void IOOUTCALL memio_rom(UINT port, REG8 dat) {
   
         memio.ram = 0x00;          iocore.s.ppib &= ~0x10;
 #if defined(SUPPORT_BANKMEM)  #if defined(SUPPORT_BANKMEM)
         if (memio.bank & 0x10) {          if (iocore.s.bankmem & 0x10) {
 #endif  #endif
                 z80core.e.memread = biosmem;                  z80core.e.memread = biosmem;
 #if defined(SUPPORT_BANKMEM)  #if defined(SUPPORT_BANKMEM)
Line 62  void IOOUTCALL memio_rom(UINT port, REG8 Line 64  void IOOUTCALL memio_rom(UINT port, REG8
   
 void IOOUTCALL memio_ram(UINT port, REG8 dat) {  void IOOUTCALL memio_ram(UINT port, REG8 dat) {
   
         memio.ram = 0x10;          iocore.s.ppib |= 0x10;
 #if defined(SUPPORT_BANKMEM)  #if defined(SUPPORT_BANKMEM)
         if (memio.bank & 0x10) {          if (iocore.s.bankmem & 0x10) {
 #endif  #endif
                 z80core.e.memread = mainmem;                  z80core.e.memread = mainmem;
 #if defined(SUPPORT_BANKMEM)  #if defined(SUPPORT_BANKMEM)
Line 77  void IOOUTCALL memio_ram(UINT port, REG8 Line 79  void IOOUTCALL memio_ram(UINT port, REG8
   
 // ----  // ----
   
   static const OEMCHAR iplromx1[] = OEMTEXT("IPLROM.X1");
   static const OEMCHAR iplromx1t[] = OEMTEXT("IPLROM.X1T");
   
 void memio_reset(void) {  void memio_reset(void) {
   
         memio.ram = 0x00;  const OEMCHAR   *iplfile;
           UINT            iplsize;
           FILEH           fh;
   
           ZeroMemory(biosmem, 0x8000);
           CopyMemory(biosmem, defaultiplrom, sizeof(defaultiplrom));
           if (pccore.ROM_TYPE >= 1) {
                   if (pccore.ROM_TYPE >= 2) {
                           iplfile = iplromx1t;
                           iplsize = 0x8000;
                   }
                   else {
                           iplfile = iplromx1;
                           iplsize = 0x8000;
                   }
                   fh = file_open_rb_c(iplfile);
                   if (fh != FILEH_INVALID) {
                           file_read(fh, biosmem, iplsize);
                           file_close(fh);
                   }
           }
   
 #if defined(SUPPORT_BANKMEM)  #if defined(SUPPORT_BANKMEM)
         memio.bank = 0x78;          iocore.s.bankmem = 0x78;
 #endif  #endif
         memio_update();          memio_update();
 }  }

Removed from v.1.4  
changed lines
  Added in v.1.5


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