* 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]
- Update to Softloat 3 from 2
- FREM and FMOD now generate the quotient bits in FPSR, required by Apple's SANE to do sin/cos/tan properly.
- FMOVE of a float to a Dx integer register generates the exception status bits, fixing square roots in SANE
- Rewrote how FMOVEM instructions are decoded and executed, fixing issues including skipping too few or too many
opcode bytes and causing serious weird behavior.
- FPU instructions all now have more realistic cycle timings for a 68881.
- All FPU instructions now generate exception bits in FPSR.
3rdparty/softfloat3: Updates [R. Belmont]
- Softfloat3 was always being built for a big-endian host, causing incorrect math on LE x64 and AArch64 machines.
- Fixed up Softfloat3 to build properly as part of MAME and up-ported the Bochs extensions. In latest Bochs, they
were only partially up-ported and Softfloat3 had been hacked up to be more like 2; here they're fixed to work
with stock Softfloat3.
machine/dimm_spd.cpp: Refactored using the i2chle mix-in. [R. Belmont]
apple/valkyrie.cpp: Collected more information, fixed the display enable, and mixed in i2chle to set the pixel clock over I2C. [R. Belmont]
apple/macquadra630.cpp: Hook I2C up between Cuda and Valkyrie. [R. Belmont]