Mercurial > repos > blastem
view trans.c @ 296:f90aeea98e53
Fix encoding of "extended" instructions in Z80 test generator
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 08 May 2013 21:02:33 -0700 |
parents | e657a99b5abf |
children | 306986209cba |
line wrap: on
line source
#include "68kinst.h" #include "m68k_to_x86.h" #include "mem.h" #include <stdio.h> #include <stdlib.h> int main(int argc, char ** argv) { long filesize; unsigned short *filebuf; char disbuf[1024]; unsigned short * cur; x86_68k_options opts; m68k_context context; FILE * f = fopen(argv[1], "rb"); fseek(f, 0, SEEK_END); filesize = ftell(f); fseek(f, 0, SEEK_SET); filebuf = malloc(filesize); fread(filebuf, 2, filesize/2, f); fclose(f); for(cur = filebuf; cur - filebuf < (filesize/2); ++cur) { *cur = (*cur >> 8) | (*cur << 8); } init_x86_68k_opts(&opts); init_68k_context(&context, opts.native_code_map, &opts); //cartridge ROM context.mem_pointers[0] = filebuf; context.target_cycle = 0x7FFFFFFF; //work RAM context.mem_pointers[1] = malloc(64 * 1024); uint32_t address; address = filebuf[2] << 16 | filebuf[3]; translate_m68k_stream(address, &context); m68k_reset(&context); return 0; }