comparison z80_to_x86.h @ 1376:70d88d9bfe13

Implemented Z80 NMI
author Michael Pavone <pavone@retrodev.com>
date Sun, 28 May 2017 21:02:47 -0700
parents 5c8b1c33ca10
children 4e5797b3935a
comparison
equal deleted inserted replaced
1375:b68732dcbf00 1376:70d88d9bfe13
74 void * system; 74 void * system;
75 uint32_t int_enable_cycle; 75 uint32_t int_enable_cycle;
76 uint16_t pc; 76 uint16_t pc;
77 uint32_t int_pulse_start; 77 uint32_t int_pulse_start;
78 uint32_t int_pulse_end; 78 uint32_t int_pulse_end;
79 uint32_t nmi_start;
79 uint8_t breakpoint_flags[(16 * 1024)/sizeof(uint8_t)]; 80 uint8_t breakpoint_flags[(16 * 1024)/sizeof(uint8_t)];
80 uint8_t * bp_handler; 81 uint8_t * bp_handler;
81 uint8_t * bp_stub; 82 uint8_t * bp_stub;
82 uint8_t * interp_code[256]; 83 uint8_t * interp_code[256];
83 z80_ctx_fun next_int_pulse; 84 z80_ctx_fun next_int_pulse;
84 uint8_t reset; 85 uint8_t reset;
85 uint8_t busreq; 86 uint8_t busreq;
86 uint8_t busack; 87 uint8_t busack;
88 uint8_t int_is_nmi;
87 uint8_t ram_code_flags[]; 89 uint8_t ram_code_flags[];
88 }; 90 };
89 91
90 void translate_z80_stream(z80_context * context, uint32_t address); 92 void translate_z80_stream(z80_context * context, uint32_t address);
91 void init_z80_opts(z80_options * options, memmap_chunk const * chunks, uint32_t num_chunks, memmap_chunk const * io_chunks, uint32_t num_io_chunks, uint32_t clock_divider, uint32_t io_address_mask); 93 void init_z80_opts(z80_options * options, memmap_chunk const * chunks, uint32_t num_chunks, memmap_chunk const * io_chunks, uint32_t num_io_chunks, uint32_t clock_divider, uint32_t io_address_mask);
101 void z80_run(z80_context * context, uint32_t target_cycle); 103 void z80_run(z80_context * context, uint32_t target_cycle);
102 void z80_assert_reset(z80_context * context, uint32_t cycle); 104 void z80_assert_reset(z80_context * context, uint32_t cycle);
103 void z80_clear_reset(z80_context * context, uint32_t cycle); 105 void z80_clear_reset(z80_context * context, uint32_t cycle);
104 void z80_assert_busreq(z80_context * context, uint32_t cycle); 106 void z80_assert_busreq(z80_context * context, uint32_t cycle);
105 void z80_clear_busreq(z80_context * context, uint32_t cycle); 107 void z80_clear_busreq(z80_context * context, uint32_t cycle);
108 void z80_assert_nmi(z80_context *context, uint32_t cycle);
106 uint8_t z80_get_busack(z80_context * context, uint32_t cycle); 109 uint8_t z80_get_busack(z80_context * context, uint32_t cycle);
107 void z80_adjust_cycles(z80_context * context, uint32_t deduction); 110 void z80_adjust_cycles(z80_context * context, uint32_t deduction);
108 111
109 #endif //Z80_TO_X86_H_ 112 #endif //Z80_TO_X86_H_
110 113