* 68k: fix carry flag clear in divs instruction
I was debugging why the HP9000/300 selftests where hanging on hp9k_3xx.
Debugger showed the following code:
move.l (a2)+, d0
move.l (a2)+, d1
move d6, ccr
divs.w d0,d1
loop: bcs.s loop
Clearly this tests whether the carry flag is cleared - the Motorola Reference
Manual says it's always cleared. However, in our implementation, it's not
cleared on overflow.
* 68k: fix carry flag clear in divu instruction
It is always cleared, even on overflow.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* 20pacgal.cpp : Add palette_device, Move video start functions into video_start, Reduce runtime tag lookups, Convert some arrays into std::unique_ptr, Make drawing sprite/chars functions related to cliprect, Add notes
* 20pacgal.cpp : Minor cleanup of palette
* 5220 changes part 1: comments
* 5220 changes part 2: renaming improperly capitalized pseudo-macros, and remove pseudo-macros from lvalues
* 5220 part 3: reorganize savestate values into a sane, maintainable order
* 5220 changes part 4: remove the unused, deprecated time_to_ready and cycles_to_ready functions
* 5220 changes part 5: fix the race condition bug with m_buffer_low and m_buffer_empty flags not being updated before setting the interrupt state
* 5220 changes part 6: fix the issue where if no VSM is actually attached to the 5220, the chip will get stuck speaking silence forever if it gets a Speak VSM command. In reality (at least on the tms51xx and probably the same here) the pin reads as open bus/noise, but will eventually hit a stop frame by reading 4 ones in a row.
* (missed lines from parts 1 and 2)
* 5220 changes part 7: add/fix debugger fences for read functions where they were missing, and a write function where it was unnecessary and caused issues when issuing manual writes from the debugger
* 5220 changes part 8: change the types of the flag variables already used for boolean values to bool, and simplified comparisons with them; also renamed the ambiguous m_data_register variable to the more descriptive name of m_read_byte_register
* (more missed lines from parts 1 and 2)
* 5220 changes part 9: change status_read such that reading the status register from the debugger returns a valid value instead of 0, but doesn't otherwise affect the emulation
* 5220 changes 10: make it so the /READY(readyq) callback only changes state to ready after a write during speak external mode, if the write actually completed because there was room in the FIFO. If not, it polls the fifo state every 16 cycles until there is room, and only then asserts the readyq callback.
* 5220 changes part 11: actually zero the fifo during initialization and when speak external goes active. replace memset calls with std::fill
* commit two forgotten lines
* hp9k_3xx: add software list
And remove the BASIC rom cards from the default config. As we can boot
from floppy now.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* change HP to Hewlett-Packard and fix spacing
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* m92.cpp : Cleanup duplicates, Reduce runtime tag lookups, Make EEPROM Save/loadable, Fix spacing, Split machine configs/address maps related to main CPU ROM, Add notes
* m92.cpp : Minor fix spacing