OSDN Git Service

[VM][FM7] Not clear timer-int automatically.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Tue, 14 Apr 2015 14:52:56 +0000 (23:52 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Tue, 14 Apr 2015 14:52:56 +0000 (23:52 +0900)
source/src/vm/fm7/fm7_mainio.cpp
source/src/vm/mc6809.cpp

index 03209a3..30d0627 100644 (file)
@@ -1121,7 +1121,7 @@ void FM7_MAINIO::event_callback(int event_id, int err)
                        break;
                case EVENT_TIMERIRQ_ON:
                        if(!irqmask_timer) set_irq_timer(true);
-                       register_event(this, EVENT_TIMERIRQ_OFF, 10000.0 / (4.9152 * 2.0) , false, NULL); // TIMER IRQ
+                       //register_event(this, EVENT_TIMERIRQ_OFF, 10000.0 / (4.9152 * 2.0) , false, NULL); // TIMER IRQ
                        break;
                case EVENT_TIMERIRQ_OFF:
                        if(!irqmask_timer) set_irq_timer(false);
index d7c8c98..1761571 100644 (file)
 #define SET_FLAGS8D(a)         {CC |= flags8d[a & 0xff];}
 
 /* combos */
-#define SET_NZ8(a)             {SET_N8(a); SET_Z(a);}
-#define SET_NZ16(a)            {SET_N16(a); SET_Z(a);}
+#define SET_NZ8(a)             {SET_N8(a); SET_Z8(a);}
+#define SET_NZ16(a)            {SET_N16(a); SET_Z16(a);}
 #define SET_FLAGS8(a,b,r)      {SET_N8(r); SET_Z8(r); SET_V8(a, b, r); SET_C8(r);}
 #define SET_FLAGS16(a,b,r)     {SET_N16(r); SET_Z16(r); SET_V16(a, b, r); SET_C16(r);}
 #define SET_HNZVC8(a,b,r)      {SET_H(a,b,r);SET_N8(r);SET_Z8(r);SET_V8(a,b,r);SET_C8(r);}
@@ -1590,7 +1590,8 @@ inline pair MC6809::GET_INDEXED_DATA16(void)
 inline void MC6809::NEG_MEM(uint8 a_neg)
 {                                                      
        uint16 r_neg;                                   
-       r_neg = -a_neg;                                 
+       r_neg = a_neg;
+       r_neg = -a_neg;
        CLR_NZVC;                                               
        SET_FLAGS8(0, a_neg, r_neg);                    
        WM(EAD, r_neg);