Files
6502PC/inc/cpu.h
T
2026-08-26 23:09:04 +02:00

34 lines
647 B
C

#ifndef CPU_H
#define CPU_H
#include <stdint.h>
#include <unistd.h>
typedef struct {
uint16_t ProgrammeCounter;
uint8_t StackPointer;
uint8_t Accumulator;
uint8_t X;
uint8_t Y;
union {
uint8_t FlagsByte;
struct {
uint8_t CarryFlag : 1;
uint8_t ZeroFlag : 1;
uint8_t InterruptDisable : 1;
uint8_t DecimalMode : 1;
uint8_t BreakCommand : 1;
uint8_t UNUSED : 1;
uint8_t OverflowFlag : 1;
uint8_t NegativeFlag : 1;
} Flags;
};
} CPU;
void initCPU(CPU *cpu);
void resetCPU(CPU *cpu, uint8_t *rom);
useconds_t runCycle(CPU *cpu, uint8_t *ram, uint8_t *rom);
#endif // CPU_H