fixed some warnings and compiling errors, when compiling with G++ instead of GCC

This commit is contained in:
Frank Buss 2021-06-19 08:26:49 +02:00
parent 8abf954b33
commit b81e3c9da7
3 changed files with 9 additions and 9 deletions

View File

@ -19,10 +19,10 @@ void step_delay()
nanosleep(&req, &rem); nanosleep(&req, &rem);
} }
void run_cpu(long cycle_stop, int verbose, int mem_dump, int break_pc, int fast) void run_cpu(uint64_t cycle_stop, int verbose, int mem_dump, int break_pc, int fast)
{ {
long cycles = 0; uint64_t cycles = 0;
int cycles_per_step = (CPU_FREQ / (ONE_SECOND / STEP_DURATION)); uint64_t cycles_per_step = (CPU_FREQ / (ONE_SECOND / STEP_DURATION));
for (;;) { for (;;) {
for (cycles %= cycles_per_step; cycles < cycles_per_step;) { for (cycles %= cycles_per_step; cycles < cycles_per_step;) {
@ -94,7 +94,7 @@ int main(int argc, char *argv[])
{ {
int a, x, y, sp, sr, pc, load_addr; int a, x, y, sp, sr, pc, load_addr;
int verbose, interactive, mem_dump, break_pc, fast; int verbose, interactive, mem_dump, break_pc, fast;
long cycles; uint64_t cycles;
int opt; int opt;
verbose = 0; verbose = 0;

6
6502.c
View File

@ -416,12 +416,12 @@ static inline uint8_t stack_pull()
static inline uint8_t *read_ptr() static inline uint8_t *read_ptr()
{ {
return read_addr = get_ptr[inst.mode](); return (uint8_t*) (read_addr = get_ptr[inst.mode]());
} }
static inline uint8_t *write_ptr() static inline uint8_t *write_ptr()
{ {
return write_addr = get_ptr[inst.mode](); return (uint8_t*) (write_addr = get_ptr[inst.mode]());
} }
/* Branch logic common to all branch instructions */ /* Branch logic common to all branch instructions */
@ -1068,7 +1068,7 @@ int step_cpu(int verbose) // returns cycle count
return inst.cycles + extra_cycles; return inst.cycles + extra_cycles;
} }
void save_memory(char *filename) { // dump memory for analysis (slows down emulation significantly) void save_memory(const char *filename) { // dump memory for analysis (slows down emulation significantly)
if (filename == NULL) filename = "memdump"; if (filename == NULL) filename = "memdump";
FILE *fp = fopen(filename, "w"); FILE *fp = fopen(filename, "w");
fwrite(&memory, sizeof(memory), 1, fp); fwrite(&memory, sizeof(memory), 1, fp);

4
6502.h
View File

@ -58,7 +58,7 @@ typedef enum {
} Mode; } Mode;
typedef struct { typedef struct {
char *mnemonic; const char *mnemonic;
void (*function)(); void (*function)();
Mode mode; Mode mode;
uint8_t cycles; uint8_t cycles;
@ -74,4 +74,4 @@ int load_rom(char *filename, int load_addr);
int step_cpu(int verbose); int step_cpu(int verbose);
void save_memory(char *filename); void save_memory(const char *filename);