- Rewrite DMAC DMA controller. Now actually transfers data.
- Add preliminary support for the A590 hard disk controller
- Add preliminary support for the Action Replay freezer devices
- Add support for the MegaMix 500 RAM expansion
- Add preliminary support for the A2091 hard disk controller
New working software list additions
-----------------------------------
A590 Setup Disk 1.7 (Western Digital Harddisk) [Turran FTP]
A2091 Setup Disk 1.27 [Amiga Hardware Database]
* Build all native back-ends if any native back-end is enabled so errors
caused by changing interfaces can be found faster.
* cpu/drcbeut.cpp: Moved resolved member function stuff to a place where
it can be shared by back-ends.
* cpu/drcbearm64.cpp: Use ubfx instruction to extract unordered flag.
* cpu/drcbearm64.cpp, cpu/drcbex64.cpp: Bypass trampolines when calling
get map variable value and debugger instruction hook functions.
* cpu/drcbearm64.cpp: Moved some internal helpers that don't need to be
members to anonymous namespace.
* cpu/drcbearm64.cpp: Added a comment with some info to help when
debugging generated code.
* cpu/drcbec.cpp: Put code in the drc namespace.
* util/delegate.cpp, cpu/drcbex64.cpp, cpu/drcbearm64.cpp: Use common member function resolution code.
-cpu/drcbearm64.cpp, cpu/drcbex64.cpp, cpu/drcbex86.cpp: Moved some stuff to anonymous namespaces.
-cpu/drcbex64.cpp, cpu/drcbex86.cpp: Defer allocating labels if they aren't always needed.
* z80sio: add support for wait/ready, fix rx int logic, fix SDLC bit stuffing bug
* hp98x6: added support for HP98628 & HP98629 exp. cards
* hp98x6: removed dependency on buggy hp_dio functions, restored original hp_dio.*
* The CPU passes its initial memory test, but no I/O is connected.
-dynax/ddenlovr.cpp: Identified 18 of 40 DIP switches for hanakanz with
high confidence, and improved inputs.
* Properly support Wayland under EGL and Vulkan. (#3358)
* Dynamically load libwayland-egl.so.1 when dealing with Wayland to remove dependencies at program startup. (#3359)
* Cleanup.
* Support both X11 and Wayland in the same build. (#3360)
* Support both X11 and Wayland in the same build.
- Works for both Vulkan and OpenGL.
- Remove --with-wayland from genie options.
- Vulkan loads all three extensions for surface creation instead of only one.
- Add width and height parameter to GlContext::createSwapChain(), which is needed for EGL to create
a SwapChain with the given window size.
- Dirty-fix the example-22-windows to recreate the FrameBuffer by first destroying and then
recreating to make sure the window is released of its swapchain.
- Fix dbgText glitch in example-22-windows.
- Remove old X11-related dependencies for GLFW3.
* Formatting.
* Adapt to latest bgfx wayland code
* Cleanup.
* Fix Vulkan swapchain invalidation issue. (#3379)
* Fix Vulkan swapchain invalidation issue.
* Always clamp render pass to frame buffer size.
* Fix formatting.
* Hopefully fix macOS build
* Hopefully fix macOS build, attempt 2
---------
Co-authored-by: Martijn Courteaux <courteauxmartijn@gmail.com>
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
* rename previous ds1315 to earlier/original ds1215 device
* support both ds1215 and transparent access methods
* implement rtc and nvram interfaces
* support updating registers
* cpu/upd177x/upd177x.cpp: Add NEC uPD177x cpu core.
* scv.xml: Promoted 1 item.
Software list items promoted to working
------------------------------------------
Star Speeder
* cpu/upd177x/upd177x.cpp: Remove a comment.
* cpu/upd177x/upd177x.cpp: Remove callback on PA.
* cpu/upd177x/upd177x.cpp: Update comment about setting m_pc to 1 during reset.
* Add a different workaround for the sync issue between the 2 cpus in scv.
* cpu/upd1771x/updf177x.cpp: Use little endian.
* cpu/upd177x/upd177x.cpp: Include device tag in fatalerror messages.
* epoch/scv.cpp: Update upd1771c rom region sizes.
* nec/apc.cpp: Switch to upd177x_cpu_device.
* epoch/scv.cpp: Add location to upd1771c rom name.
* cpu/upd177x/upd177x.h: Remove 'overrides' comments.
New working software list additions
-----------------------------------
Rainbow II Diashow Professional V1.92 [Amiga Hardware Database]
RainbowPainter V0.99b [Amiga Hardware Database]
* Fixed 2P side inputs for tenkai, ougonhai and mjmyster.
* Use hanafuda input types for hginga.
* Use proper bookkeeping and memory reset inputs for hginga and hanakanz.
* Started using I/O port finders for mahjong keyboards.
* More side effects checks.
* Reduced some duplication.
* Replaced hjingi hopper hack with a hopper device.
* Improved DIP switch labels for mjembase and hooked up hopper.
* Improved a few DIP switch labels for mjelctrn.
-Fixed some more #include guards and added a CI task to check them in
src/devices and src/mame.
* Updated to GENie 1181.
* Applied local fix for GENie resource include directory bug, sent upstream as bkaradzic/GENie#572.
* Set MSVC flags to use conformant preprocessor, standards conformance mode, and assume UTF-8 encoding.
* abandoned cassette vison work
* remove comment now that the useful table is gone
* force github to rebuild because github is being github
* add a note based on earlier research
* bring this part over from the previous tree too, it seems worth having still
* actually use this version instead, I thought it was broken, but it actually has advantages
* I've been informed this will be merged if I assign a copyright holder, so as I don't really recognize it as my own design anymore, I'm assigning Vas.
* Update cpu.lua
* Start cleaning up:
* cassvisn_cart.xml: Fixed program region width.
* cassvisn_cart.xml: Added Japanese titles and proper markup for release
dates.
* epoch/cassvisn.cpp: Removed unnecessary byte swapping when loading
software list items.
* cpu/upd777.cpp: Made order of declarations and definitions more
consistent with each other, added more inline and const hints.
* tools/unidasm.cpp: Make data source big Endian to match CPU core.
* epoch/cassvisn.cpp: Digit grouping for big numbers, better error messages.
---------
Co-authored-by: David Haywood <hazemamewip@hotmail.com>
Co-authored-by: Vas Crabb <vas@vastheman.com>
New systems added as NOT WORKING
---------------------------------------
Ferie Kitten (1994, Sega)
Ferie Puppy (1995, Sega)
Ferie World Travel (1995, Sega)
- to8, to9 & to9p now include the FDC in the base configuration. to9 uses a WD1770 (WD2793 appears to fail calibration), while to8 & to9p use the THM-FC-1 gate array (now a separate device). This eliminates the need to, and ability to, configure floppy disk extensions for the to8, to9 and to9p.
- Changed sector offsets for double-sided .fd images so that they load correctly (usually).
- Uses the real I/O decoding PROMs
- Z-37 and MMS 77316 floppy controllers converted to cards
- H-88-3 serial and H-88-5 cassette interfaces converted to cards
- Sigmasoft Sound card converted to a card
New devices added:
Namco Cyber Lead I/O LED(I/O) PCB 8699014200
Namco Cyber Lead I/O LED(I/O) PCB 8699014200 (compatibility patch)
Namco Cyber Lead I/O LED(LED) PCB 8699014500
Namco AMC PCB (Extra I/O,JPN,Ver1.10)
Namco ASCA-1 (Multipurpose I/O,JPN,Ver2.00)
Namco ASCA-3 (Multipurpose + Rotary Encoder,JPN,Ver2.04)
Namco ASCA-3 (Multipurpose + Rotary Encoder,JPN,Ver2.02)
Namco ASCA-5 (Multipurpose,JPN,Ver2.09)
Namco CSZ1 MIU-I/O (GUN-EXTENTION,JPN,Ver2.05)
Namco EM I/O1-02 (Techno-Drive I/O,JPN&EXP,Ver2.00)
Namco TSS-I/O (GUN-EXTENTION,JPN,Ver2.02)
Namco XMIU1 TSS-I/O (GUN-EXTENTION,JPN,Ver2.11,Ver2.12)
Note: the Cyber Lead compatibility patch is required because later versions aren't
Namco FCA-1 (Multipurpose + Rotary Encoder,JPN,Ver1.00)
Namco FCA-1 (Multipurpose + Rotary Encoder,JPN,Ver1.01)
Namco FCB (TouchPanel&Multipurpose,JPN,Ver1.02)
Note: These use ASCA3 patched to return the correct ID string as the full ROM is yet to be extracted
Namco EM Pri1-01
Note: The printer for Techno Drive is HLE'd only enough to make the game happy
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