void ersatz_perform (uint16_t what) { switch (what) { case EOP_INIT: ersatz_init (); break; case EOP_SERVEINT: { uint16_t intreq = get_word (0xDFF01E); /* Just reset all the interrupt request bits */ if (intreq & 0x0008) get_byte (0xbfed01); /* possible keyboard interrupt */ put_word (0xDFF09C, intreq & 0x3FFF); break; } case EOP_DOIO: ersatz_doio (); break; case EOP_AVAILMEM: m68k_dreg (regs, 0) = m68k_dreg (regs, 1) & 4 ? 0 : 0x70000; break; case EOP_ALLOCMEM: m68k_dreg (regs, 0) = m68k_dreg (regs, 1) & 4 ? 0 : 0x0F000; break; case EOP_ALLOCABS: m68k_dreg (regs, 0) = m68k_areg (regs, 1); break; case EOP_NIMP: write_log (_T("Unimplemented Kickstart function called\n")); ersatz_failed (); /* fall through */ case EOP_LOOP: m68k_setpc (0xF80010); break; case EOP_OPENLIB: default: write_log (_T("Internal error. Giving up.\n")); ersatz_failed (); } }
void ersatz_perform (uae_u16 what) { switch (what) { case EOP_INIT: ersatz_init (); break; case EOP_SERVEINT: /* Just reset all the interrupt request bits */ put_word (0xDFF09C, get_word (0xDFF01E) & 0x3FFF); break; case EOP_DOIO: ersatz_doio (); break; case EOP_AVAILMEM: m68k_dreg (regs, 0) = m68k_dreg (regs, 1) & 4 ? 0 : 0x70000; break; case EOP_ALLOCMEM: m68k_dreg (regs, 0) = m68k_dreg (regs, 1) & 4 ? 0 : 0x0F000; break; case EOP_ALLOCABS: m68k_dreg (regs, 0) = m68k_areg (regs, 1); break; case EOP_NIMP: printf ("Unimplemented Kickstart function called\n"); ersatz_failed (); break; /* fall through */ case EOP_LOOP: m68k_setpc (0xF80010); break; case EOP_OPENLIB: default: printf ("Internal error. Giving up.\n"); ersatz_failed (); break; } }
void ersatz_perform (uae_u16 what) { switch (what) { case EOP_INIT: ersatz_init (); break; case EOP_SERVEINT: /* Just reset all the interrupt request bits */ put_word (0xDFF09C, get_word (0xDFF01E) & 0x3FFF); break; case EOP_DOIO: ersatz_doio (); break; case EOP_AVAILMEM: _68k_dreg(0) = _68k_dreg(1) & 4 ? 0 : 0x70000; break; case EOP_ALLOCMEM: _68k_dreg(0) = _68k_dreg(1) & 4 ? 0 : 0x0F000; break; case EOP_ALLOCABS: _68k_dreg(0) = _68k_areg(1); break; case EOP_NIMP: write_log ("Unimplemented Kickstart function called\n"); g_emulator.uae_quit (); /* fall through */ case EOP_LOOP: _68k_setpc (0xF80010); break; case EOP_OPENLIB: default: write_log ("Internal error. Giving up.\n"); return; } }