summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2013-04-28 18:53:43 -0700
committerMike Pavone <pavone@retrodev.com>2013-04-28 18:53:43 -0700
commit9c4a07e1e04310480313e9b963d5ee49421a319b (patch)
tree89995d6c0bae5b9660a2719a2ea1cc0258656c10
parentcc0f4563e52f42b7653544e77e9e9b0f03426ea8 (diff)
Implement cycle limit in Z80 core.
-rw-r--r--transz80.c7
-rw-r--r--z80_to_x86.h5
2 files changed, 10 insertions, 2 deletions
diff --git a/transz80.c b/transz80.c
index 3465efb..680a520 100644
--- a/transz80.c
+++ b/transz80.c
@@ -22,10 +22,13 @@ int main(int argc, char ** argv)
init_z80_context(&context, &opts);
//cartridge ROM
context.mem_pointers[0] = z80_ram;
- context.target_cycle = 0x7FFFFFFF;
+ context.sync_cycle = context.target_cycle = 0x7FFFFFFF;
//work RAM
context.mem_pointers[1] = context.mem_pointers[2] = NULL;
z80_reset(&context);
- z80_run(&context);
+ for(;;)
+ {
+ z80_run(&context);
+ }
return 0;
}
diff --git a/z80_to_x86.h b/z80_to_x86.h
index 453f580..7b155a1 100644
--- a/z80_to_x86.h
+++ b/z80_to_x86.h
@@ -37,6 +37,11 @@ typedef struct {
uint8_t * mem_pointers[ZNUM_MEM_AREAS];
uint8_t iff1;
uint8_t iff2;
+ uint16_t scratch1;
+ uint16_t scratch2;
+ void * extra_pc;
+ uint32_t sync_cycle;
+ uint32_t int_cycle;
native_map_slot * static_code_map;
native_map_slot * banked_code_map;
void * options;