From 46db74a053d7fca9dee69e8737a435e65b538577 Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Thu, 25 Apr 2013 21:01:11 -0700 Subject: Get Z80 core working for simple programs --- transz80.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 transz80.c (limited to 'transz80.c') diff --git a/transz80.c b/transz80.c new file mode 100644 index 0000000..3465efb --- /dev/null +++ b/transz80.c @@ -0,0 +1,31 @@ +#include "z80inst.h" +#include "z80_to_x86.h" +#include "mem.h" +#include +#include + +uint8_t z80_ram[0x2000]; + +int main(int argc, char ** argv) +{ + long filesize; + uint8_t *filebuf; + x86_z80_options opts; + z80_context context; + FILE * f = fopen(argv[1], "rb"); + fseek(f, 0, SEEK_END); + filesize = ftell(f); + fseek(f, 0, SEEK_SET); + fread(z80_ram, 1, filesize < sizeof(z80_ram) ? filesize : sizeof(z80_ram), f); + fclose(f); + init_x86_z80_opts(&opts); + init_z80_context(&context, &opts); + //cartridge ROM + context.mem_pointers[0] = z80_ram; + context.target_cycle = 0x7FFFFFFF; + //work RAM + context.mem_pointers[1] = context.mem_pointers[2] = NULL; + z80_reset(&context); + z80_run(&context); + return 0; +} -- cgit v1.2.3