Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1. // Z-Controller by KOE
  2. // Only SD-card
  3. #include "std.h"
  4. #include "emul.h"
  5. #include "vars.h"
  6. #include "sdcard.h"
  7. #include "zc.h"
  8.  
  9. void TZc::Reset()
  10. {
  11.         SdCard.Reset();
  12.         Cfg = 0;
  13.         Status = 0;
  14.    
  15. //      RdReg = 0xFF;
  16.         RdBuff = 0xff;  //NEDOREPO
  17. }
  18.  
  19. void TZc::Wr(u32 Port, u8 Val)
  20. {
  21.     switch(Port & 0xFF)
  22.     {
  23.         case 0x77:                      // config
  24.             Cfg = Val & 3;
  25.         break;
  26.        
  27.         case 0x57:                      // data
  28.             //SdCard.Wr(Val); //0.39.0
  29.             //break;
  30.             if (!(Cfg & 2))             // SD card selected
  31.             {
  32.                 RdBuff = SdCard.Rd();
  33.                 SdCard.Wr(Val);         //NEDOREPO
  34.             }
  35.             else
  36.             {
  37.                 RdBuff = 255;
  38.             }
  39.            
  40.             //printf("\nOUT %02X  in %02X",Val,RdBuff);
  41.         break;
  42.     }
  43. }
  44.  
  45. u8 TZc::Rd(u32 Port)
  46. {
  47.     switch(Port & 0xFF)
  48.     {
  49.         case 0x77:              // status
  50.         return Status;          // always returns 0
  51.  
  52.         case 0x57:              // data
  53.         {
  54.         //      u8 tmp = RdReg;         //0.39.0
  55.         //      RdReg = SdCard.Rd();
  56.         //      return tmp;
  57.        
  58.         u8 tmp = RdBuff;
  59.         if (!(Cfg & 2))   // SD card selected
  60.         {
  61.                 RdBuff = SdCard.Rd();
  62.                 SdCard.Wr(0xff);
  63.         }
  64.         else
  65.                 RdBuff = 255;
  66.                 //printf("\nout FF  IN %02X (next %02X)",tmp,RdBuff);
  67.                 return tmp;
  68.         }
  69.     }
  70.     return 0xFF;
  71. }
  72.  
  73. TZc Zc;
  74.