]> www.vanbest.org Git - sasc-ng.git/commitdiff
nagra1: add ROM10 hwreg 0x02 handling
authorleslie <unknown>
Sat, 26 Jul 2008 06:14:52 +0000 (14:14 +0800)
committerleslie <unknown>
Sat, 26 Jul 2008 06:14:52 +0000 (14:14 +0800)
systems/nagra/nagra1.c

index 48679846d0ea7e2f9346ffd3d645caaae6ab01f3..b3729b47bfc3788c2ecc09908486f563664daab7 100644 (file)
@@ -333,6 +333,7 @@ protected:
   struct Map { unsigned char A[64], B[64], C[64], D[4], opSize; } map;
   //
   virtual void Stepper(void);
+  virtual void WriteHandler(unsigned char seg, unsigned short ea, unsigned char &op);
   virtual void ReadHandler(unsigned char seg, unsigned short ea, unsigned char &op);
   bool DoMaps(bool hasExt, int romSize);
   bool CoreInitSetup(void);
@@ -343,12 +344,20 @@ public:
 
 cEmuRom10Core::cEmuRom10Core(void)
 {
-  hasReadHandler=true;
+  hasReadHandler=hasWriteHandler=true;
 }
 
 void cEmuRom10Core::Stepper(void)
 {}
 
+void cEmuRom10Core::WriteHandler(unsigned char seg, unsigned short ea, unsigned char &op)
+{
+  if(ea==0x02) {
+    unsigned char old=Get(0x02);
+    if(!(old&0x80)) op=(op&0xFE) | (old&0x01);
+    }
+}
+
 void cEmuRom10Core::ReadHandler(unsigned char seg, unsigned short ea, unsigned char &op)
 {
   switch(ea) {