X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cpu%2Ffame%2Ffame.h;h=0baabf2606a7bf77495fd1447d2700b6460b06c7;hb=7669591e0876778fc4f3977b145c012f2e3a12e9;hp=2f9d8508a1d03cf4b38aace9a1525ba0da8d49e1;hpb=99ade2ee2f76fa8170fb4e1abacc24f39a150c44;p=picodrive.git diff --git a/cpu/fame/fame.h b/cpu/fame/fame.h index 2f9d850..0baabf2 100644 --- a/cpu/fame/fame.h +++ b/cpu/fame/fame.h @@ -143,7 +143,13 @@ typedef struct unsigned long Fetch[M68K_FETCHBANK1]; } M68K_CONTEXT; -extern M68K_CONTEXT *g_m68kcontext; +typedef enum +{ + fm68k_reason_emulate = 0, + fm68k_reason_init, + fm68k_reason_idle_install, + fm68k_reason_idle_remove, +} fm68k_call_reason; /************************/ /* Function definition */ @@ -151,12 +157,15 @@ extern M68K_CONTEXT *g_m68kcontext; /* General purpose functions */ void fm68k_init(void); -int fm68k_reset(void); -int fm68k_emulate(int n, int idle_mode); -int fm68k_would_interrupt(void); // to be called from fm68k_emulate() +int fm68k_reset(M68K_CONTEXT *ctx); +int fm68k_emulate(M68K_CONTEXT *ctx, int n, fm68k_call_reason reason); +int fm68k_would_interrupt(M68K_CONTEXT *ctx); // to be called from fm68k_emulate() -unsigned fm68k_get_pc(M68K_CONTEXT *context); +unsigned int fm68k_get_pc(const M68K_CONTEXT *ctx); +// PICODRIVE_HACK +int fm68k_idle_install(void); +int fm68k_idle_remove(void); #ifdef __cplusplus }