sc68fordevelopers  2.2.1
emu68.h
Go to the documentation of this file.
1 
10 /* Copyright (C) 1998-2001 Ben(jamin) Gerard */
11 
12 #ifndef _EMU68_H_
13 #define _EMU68_H_
14 
15 #include "emu68/struct68.h"
16 #include "emu68/getea68.h"
17 #include "emu68/macro68.h"
18 #include "emu68/error68.h"
19 #include "emu68/cc68.h"
20 #include "emu68/inst68.h"
21 #include "emu68/mem68.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
29 
31 extern reg68_t reg68;
32 
43 
45 void EMU68_set_registers(const reg68_t *r);
46 
49 
51 void EMU68_set_cycle(u32 cycle);
52 
54 u32 EMU68_get_cycle(void);
55 
61 
71 void EMU68_reset(void);
72 
93 int EMU68_init(u8 * buffer, u32 maxmem);
94 
97 void EMU68_kill(void);
98 
104 
111 int EMU68_memvalid(u32 dest, u32 sz);
112 
117 u8 EMU68_peek(u32 addr);
118 
123 u8 EMU68_poke(u32 addr, u8 v);
124 
133 int EMU68_memput(u32 dest, u8 *src, u32 sz);
134 
143 int EMU68_memget(u8 *dest, u32 src, u32 sz);
144 
150 
152 void EMU68_step(void);
153 
162 void EMU68_level_and_interrupt(u32 cycleperpass);
163 
166 void EMU68_cycle(u32 cycleperpass);
167 
172 void EMU68_break(u32 breakpc);
173 
179 
186 int EMU68_debugmode(void);
187 
191 #ifdef __cplusplus
192 }
193 #endif
194 
195 #endif /* End of file emu68.h */
196 
io68_t * EMU68_set_interrupt_io(io68_t *io)
Set new interrupt IO.
void EMU68_cycle(u32 cycleperpass)
Execute for given number of cycle.
68k memory and IO manager.
u8 EMU68_peek(u32 addr)
Get byte in 68K onboard memory.
Struture definitions.
unsigned int u32
Must be an unsigned 32 bit integer.
Definition: type68.h:37
int EMU68_debugmode(void)
Get EMU68 debug mode.
int EMU68_memvalid(u32 dest, u32 sz)
Check if a memory block is in 68K on-board memory range.
void EMU68_level_and_interrupt(u32 cycleperpass)
Execute until RTS.
void EMU68_reset(void)
68K Hardware Reset
unsigned char u8
Must be an unsigned 8 bit integer.
Definition: type68.h:31
int EMU68_init(u8 *buffer, u32 maxmem)
First time init.
void EMU68_kill(void)
Clean exit.
u32 EMU68_get_cycle(void)
Get EMU68 internal cycle counter.
int EMU68_memget(u8 *dest, u32 src, u32 sz)
Get 68K on-board memory into a memory block.
void EMU68_get_registers(reg68_t *r)
Copy EMU68 internal register set to specified register set.
68K instruction emulation macro definitions.
Condition code function table.
int EMU68_memput(u32 dest, u8 *src, u32 sz)
Put a memory block to 68K on-board memory.
68k effective address calculation function table.
Error message handler.
reg68_t reg68
EMU68 internal 68K register set structure.
void EMU68_set_cycle(u32 cycle)
Set EMU68 internal cycle counter.
68K emulator registers, memory and IO.
Definition: struct68.h:84
void EMU68_step(void)
Execute one instruction.
68k arithmetic and logical instruction emulation.
u8 EMU68_poke(u32 addr, u8 v)
Put a byte in 68K onboard memory.
IO emulator pluggin structure.
Definition: struct68.h:66
void EMU68_break(u32 breakpc)
Execute until PC reachs breakpoint.
void EMU68_set_registers(const reg68_t *r)
Copy specified register set to EMU68 internal register set.