1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#include "apple.h"
#include "video/interface.h"
#include <ncurses.h>
#include <unistd.h>
#include "cpu/6502.h"
int main() {
AppleOn();
DisplayInit();
FILE *Log = fopen("log/log.raw", "w+");
int Time = 0;
while(1) {
// Computing
CallInstructionTable();
// Logging
fprintf(Log,
"%04x : %04x : %02x : %02x : %02x : %c%c_%c%c%c%c%c : %02x\n",
Time, PC, acc, X, Y,
getFlag(flag_N) ? 'N':'.' ,
getFlag(flag_V) ? 'V':'.' ,
getFlag(flag_B) ? 'B':'.' ,
getFlag(flag_D) ? 'D':'.' ,
getFlag(flag_I) ? 'I':'.' ,
getFlag(flag_Z) ? 'Z':'.' ,
getFlag(flag_C) ? 'C':'.' ,
S);
fflush(Log);
// Display information
PrintInfo();
// Logging
Time++;
}
DisplayClose();
return 0;
}
|