Cleaning up definitions, and preparing for multitasking.

This commit is contained in:
Russell-S-Harper
2018-10-04 21:03:55 -04:00
parent 65267903c1
commit c3b51fe912
2 changed files with 37 additions and 20 deletions

View File

@@ -2,11 +2,15 @@
#include <stdio.h>
#include "emulator.h"
/* Register E maintains common status */
#define _RE 0xf8
/* Register I6 maintains common status */
#define _R0 0xb4
#define _R8 0xd4
#define _I0 0xdc
#define _I6 0xf4
#define _I8 0xfc
/* (dd cc bb aa) aa: index for register stack RS / ccbb: program counter PC / dd: flags F UONPZLGE */
#define _RSI _RE /* register stack index */
#define _RSI _I6 /* register stack index */
#define _PCL _RSI + 1 /* program counter low */
#define _PCH _PCL + 1 /* program counter high */
#define _F _PCH + 1 /* flags */
@@ -26,18 +30,18 @@ void hook() {
int i, j;
printf("\n%04x %u %u\n", pc, instructions, clockticks6502);
for (i = 0x00b8; i < 0x00d8; i += 4) {
printf("R%d: ", (i - 0x00b8) / 4);
for (i = _R0; i < _R8; i += 4) {
printf("R%d: ", (i - _R0) / 4);
for (j = 0; j < 4; ++j)
printf("%02x ", memory[i + j]);
if (((i - 0x00b8) / 4) % 4 == 3)
if (((i - _R0) / 4) % 4 == 3)
printf("\n");
}
for (i = 0x00e0; i < 0x0100; i += 4) {
printf("I%d: ", (i - 0x00e0) / 4);
for (i = _I0; i < _I8; i += 4) {
printf("I%d: ", (i - _I0) / 4);
for (j = 0; j < 4; ++j)
printf("%02x ", memory[i + j]);
if (((i - 0x00e0) / 4) % 4 == 3)
if (((i - _I0) / 4) % 4 == 3)
printf("\n");
}
}