Subversion Repositories pentevo

Rev

Rev 1124 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  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.   Status = 0;
  13.   RdBuff = 0xff;
  14. }
  15.  
  16. void TZc::Wr(u32 Port, u8 Val)
  17. {
  18.   switch(Port & 0xFF)
  19.   {
  20.     case 0x77: // config
  21.         SdCard.Cs(Val);
  22.     break;
  23.  
  24.     case 0x57: // data
  25.         RdBuff = SdCard.Rd();
  26.         SdCard.Wr(Val);
  27.       //printf("\nOUT %02X  in %02X",Val,RdBuff);
  28.     break;
  29.   }
  30. }
  31.  
  32. u8 TZc::Rd(u32 Port)
  33. {
  34.   switch(Port & 0xFF)
  35.   {
  36.     case 0x77: // status
  37.       return Status;      // always returns 0
  38.  
  39.     case 0x57: // data
  40.         u8 tmp = RdBuff;
  41.      
  42.         RdBuff = SdCard.Rd();
  43.         SdCard.Wr(0xff);
  44.      
  45.       //printf("\nout FF  IN %02X (next %02X)",tmp,RdBuff);
  46.       return tmp;
  47.   }
  48.  
  49.   return 0xFF;
  50. }
  51.  
  52. TZc Zc;
  53.