diff -Nru old/arm7.c new/arm7.c
--- old/arm7.c 2008-02-24 21:25:19.000000000 +0100
+++ new/arm7.c 2008-02-24 21:25:26.000000000 +0100
@@ -51,7 +51,6 @@
// sane startup values
ARM7.fiq = 0;
ARM7.irq = 0;
- ARM7.swi = 0;
ARM7.carry = 0;
ARM7.overflow = 0;
ARM7.flagi = FALSE;
@@ -175,14 +174,6 @@
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
- /** Sets SWI state. */
-void ARM7_SetSWI (void)
- {
- ARM7.swi = 1;
- }
- //--------------------------------------------------------------------------
-
- //--------------------------------------------------------------------------
/** Tests for pending interrupts, switches to one if possible. */
void ARM7_CheckIRQ ()
{
@@ -219,19 +210,6 @@
ARM7.irq = 0;
}
}
-
- if (ARM7.swi)
- {
- ARM7_SetCPSR ((sr & 0xffffffc0) | ARM7_CPSR_M_svc);
- ARM7.Rx [ARM7_SPSR] = sr;
-
- if (sr & ARM7_CPSR_T)
- ARM7.Rx [ARM7_LR] = ARM7.Rx [ARM7_PC] + 2;
- else
- ARM7.Rx [ARM7_LR] = ARM7.Rx [ARM7_PC] + 4;
- ARM7.Rx [ARM7_PC] = 0x00000008;
- ARM7.swi = 0;
- }
#endif
}
//--------------------------------------------------------------------------
diff -Nru old/arm7.h new/arm7.h
--- old/arm7.h 2008-02-24 21:25:19.000000000 +0100
+++ new/arm7.h 2008-02-24 21:25:26.000000000 +0100
@@ -101,7 +101,7 @@
ARM7_REG Rx_bank [6][10];
/** FIQ and IRQ interrupt requests. */
- int fiq, irq, swi;
+ int fiq, irq;
/** Carry flag for barrel shifter and ALU operations. */
int carry;
@@ -141,8 +141,6 @@
void ARM7_SetFIQ (int stan);
/** Sets IRQ line state. */
void ARM7_SetIRQ (int stan);
- /** Sets SWI state. */
-void ARM7_SetSWI (void);
/** Tests for pending interrupts, switches to one if possible. */
void ARM7_CheckIRQ (void);