Mercurial > repos > blastem
diff transz80.c @ 235:d9bf8e61c33c
Get Z80 core working for simple programs
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 25 Apr 2013 21:01:11 -0700 |
parents | |
children | df8a36bf5e1d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/transz80.c Thu Apr 25 21:01:11 2013 -0700 @@ -0,0 +1,31 @@ +#include "z80inst.h" +#include "z80_to_x86.h" +#include "mem.h" +#include <stdio.h> +#include <stdlib.h> + +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; +}