CPU core exposes the RMW line for onboard devices.
Log messages will contain the address of the start of the instruction, rather than the next byte the CPU is about to fetch.
Added INT9/INT addr16 & INT addr24 software interrupt instructions.
Fixed INCW @RWx & DECW @RWx instruction length
Added missing fetch of immediate value in MOV @RWx + RW7, #imm8.
Rewrote Tomy Prin-C keyboard handling and pen to use new onboard devices, substantially increasing the reload timer 0 frequency as it's now correctly waiting for 0x7530 underflows with reload = 0x37f at startup.
* VFD is not emulated, but all other features are present.
-machine/sc16is741.cpp: Emulated basic SC16IS741A UART functionality in
SPI interface mode.
-macine/spi_sdcard.cpp: Improved interface logic:
* Start in unprotected mode as specified by the standard.
* Ignore stop bits in unprotected mode - apparenty real cards do this.
* Set protected or unprotected mode in response to CMD59.
* Reset SPI logic when initially selected.
-machine/spi_psram.cpp: Started adding PSRAM QPI functionality.
-emu/diserial.cpp: Got rid of the per-instance parity lookup table.
New working systems
-------------------
Dmitry Grinberg Linux/4004
New working software list items (lnux4004.xml)
----------------------------------------------
uMIPS Linux 4.4.292+
* The Linux/4004 firmware gets very upset if the CSD looks like an SDHC
Card but the card acts like an SD Card or vice versa.
-machine/spi_psram.cpp: Added SPI ram device compatible with SPI SRAM
and Pseudo-SRAM chips for small transfers. Additional functionality
will be added as use cases arise.
-cpu/mcs40: Don't log messages about NOP aliases for the 4004 (the
Linux/4004 firmware uses these for instrumentation points).
* sound/upd65043gfu01.cpp: Added basic support for NEC uPD65043GF-U01 sound chip.
* casio/zoomer_rtc.cpp: Emulated Zoomer real-time clock chip.
* src/devices/cpu/nec: Don't log message on bus lock by default.
New working systems
----------
Casio / Tandy Zoomer (Z-PDA / Z-7000) [Devin Acker]
* This adds basic execution to XA core. It emulates enough of the XA to give fearless and superkds working sound.
* only the exact forms of the opcodes used so far have been implemented
* no optimizations have been done, use of const, inline use, templates etc. are planned for a future update; code is still primed for debugging and development
* overall structure, code style are not 100% final (see above) and will be adjusted as the CPU is better understood
* peripherals, interrupts etc. are not yet fully implemented, nor is anything outside of the page zero mode used here due to lack of test cases
Machines Promoted to WORKING
----------------------------------
Super Kids (S019CN) [David Haywood, XingXing]
Fearless Pinocchio (V101US) [David Haywood, XingXing, Peter Wilhelmsen, rtw]
---------
Co-authored-by: David Haywood <hazemamewip@hotmail.com>
* msx2_flop.xml: Added 2 items.
New working software list items
-------------------------------
Sunrise IDE firmware (v2.50) [anonymous]
Sunrise IDE firmware (v2.40) [anonymous]
* machine/atahle.cpp:
- Clear DMA modes when switching to PIO mode.
- Do not log reads when reading from the debugger.
* bus/msx/cart/ide.cpp: Add support for Sunrise ATA-IDE [msxpro, Wilbert Pol]
- Removed undocumented Z80 instructions that are not supported by the R800
- Updated basic instruction timing
- Implement MULUB and MULUW
Other R800 features are not implemented
* show size types on these for consistency with IDA output (manual indicates they're usually optional, but does show this syntax in places)
* use the real CPU type (with internal map for internal ROM space) rather than 'XA' directly.
---------
Co-authored-by: David Haywood <hazemamewip@hotmail.com>
* LDP1450: Added HLE of player and hookups to some games that use it
* LDP1450: Tweaked timings
* LDP1450 - added some more comms, and text overlay logging
* cops.cpp: Fixed loose input that stopped Nova games from booting
* cops.cpp: Add Revelations support
* LDP1450: Added multibyte command support
* Revelations: Add SHA1 for disc image (needs redump)
apple/cuda.cpp: Refactored using 68HC05E1 and 68HC05E4 devices as a base. [R. Belmont]
apple/egret.cpp: Refactored using 68HC05E1 device as a base. [R. Belmont]
apple/macquadra630.cpp: Switched to the correct Cuda 2.40, which no longer crashes during boot with the refactored devices. [R. Belmont]