Beefed up the warnings and cleared them up.
m68kfpu.c is no longer included by m68kcpu.c.
Removed a bunch of internal function forward declarations, except for those used by macros.
Converted CRLF line endings to LF.
m68k_set_reg() is used to set registers to a given value. Modifying the
status register should not check for interrupts and especially not update
the stack pointer.
Fixes various freezes happening when loading save states or cycling between
CPU emulators.
This means that multiple changes without any execution will be seen as atomic. It also means that PULSE_LINE no longer works for signalling IRQs.
Added checks in the debug build to catch people who try to use
PULSE_LINE for non-NMI and non-RESET input lines on CPUs that no
longer support direct interrupt generation. Over time expect this
list to increase.
Before this patch a:
cpunum_set_input_line(5, ASSERT_LINE);
cpunum_set_input_line(3, ASSERT_LINE);
cpunum_set_input_line(3, CLEAR_LINE);
loses the state of line 5. This patch fixes it by adding an explicit
but optional "virtual irq line" support to the 68k interface.
Fix m68k interrupt handling by some drivers.
Clearing the NMI line to clear all the IRQ lines worked, but it just
doesn't make sense. Now that the irq lines are really independant,
the handling can be simplified.
Changed slapstic management to always install an opbase handler to more
aggressively catch code executing in the slapstic region. Updated all
drivers to separate the slapstic region of ROM into a different ROM
section from the fixed ROM.
`name` field in `struct opcode_struct` is an array,
so the condition is always false.
```sh
$ gcc -o m68kmake -I. -Wall -Werror -DM68K_COMPILE_FOR_MAME=0 m68kmake.c
m68kmake.c:652:36: error: comparison of array 'op->name' not equal to a null pointer is always true [-Werror,-Wtautological-pointer-compare]
for(op = g_opcode_input_table;op->name != NULL;op++)
~~~~^~~~ ~~~~
m68kmake.c:668:36: error: comparison of array 'op->name' not equal to a null pointer is always true [-Werror,-Wtautological-pointer-compare]
for(op = g_opcode_input_table;op->name != NULL;op++)
~~~~^~~~ ~~~~
2 errors generated.
```