From http://www.jwz.org/xscreensaver/xscreensaver-5.38.tar.gz
[xscreensaver] / hacks / asm6502.c
index c95e5babd9e8e50cbb9fd0cf3017e173edfbeb18..27d2824f45e1c050fdb077c72c9d57cd72691e9b 100644 (file)
@@ -549,7 +549,7 @@ static void jmpBIT(machine_6502 *machine, m6502_AddrMode adm){
   Pointer ptr;
   BOOL isValue = getValue(machine, adm, &ptr);
   warnValue(isValue);
-  machine->regP = setBit(machine->regP, ZERO_FL, (ptr.value & machine->regA));
+  machine->regP = setBit(machine->regP, ZERO_FL, !(ptr.value & machine->regA));
   machine->regP = setBit(machine->regP, OVERFLOW_FL, bitOn(ptr.value, OVERFLOW_FL));
   machine->regP = setBit(machine->regP, NEGATIVE_FL, bitOn(ptr.value, NEGATIVE_FL));
   
@@ -2042,7 +2042,7 @@ static BOOL compileCode(machine_6502 *machine, const char *code){
       AsmLine *p;
       if(asmlist != NULL){
         for (p = asmlist; p != NULL; p = p->next)
-          fprintf(stderr,"%s lbl: %s addr: %d ParamLbl: %s ParamAddr: %d\n",
+          fprintf(stderr,"%s lbl: %s addr: %x ParamLbl: %s ParamAddr: %x\n",
                   p->command, p->label->label, p->label->addr,
                   p->param->label, p->param->lbladdr);
             }
@@ -2199,7 +2199,7 @@ void m6502_eval_file(machine_6502 *machine, const char *filename, m6502_Plotter
   do{
     sleep(0); /* XXX */
 #if 0
-    trace(machine);
+    m6502_trace(machine, stdout);
 #endif
     execute(machine);
   }while(machine->codeRunning);