* cpu/m6805: Removed unnecessary comparison that can't be true from
'HC05 timer handler.
* machine/z80scc.cpp: Fixed flag test in logging.
* emu/devdelegate.h: Fixed use-after-move in functoid constructor.
* util/unzip.cpp: Fixed integer promotion issue in ZIP16 member header
handling.
* util/xmlfile.cpp: Got rid of custom allocator functions that have
alignment issues and no longer provide value.
* capcom/alien.cpp: Use machine().rand() for determinism.
* ensoniq/esqpanel.cpp: I/O stream eof() returns whether a read stopped
short due to EOF, not whether the file pointer is at EOF.
* sega/sms.cpp: Fixed a few use-after-move errors.
* osd/modules/monitor: Fixed an apparent bug in what appears to be a
setter member function.
Adds support for using /W//REQ as the RX DMA pin, as well as the /DTR//REQ pin as the TX DMA pin, allowing software that uses both directions simultaneously to function.
machine/z80scc.cpp: Fixed a cast-to-bool that broke detection of changes
to one register bit.
formats/fsmeta.cpp: Use visitors with variants where it makes sense.
docs: Updated minimum required SDL version to 2.0.6 for all targets,
added note that Python 3 is included with Xcode and updated instructions
for downloading stand-alone Python 3 for macOS.
ksys573.cpp: Don't create an insane number of textures for fghtmn and
pnchman internal artwork.
Tidied another batch of slot machine layouts.
z80scc: Removed unused Z80SCC_USE_LOCAL_BRG and simplified
WR15_ZEROCOUNT usage to reduce the likelihood of needless timer
activation.
mips3drc: Additional micro-optimizations to generate_checksum_block.
* machine/53c7xx.cpp: DFE bit is not reset when status register is read.
* cpu/i386: Fixed multiple issues with breakpoint emulation.
* machine/bacta_datalogger.cpp: Prevent continuous transmission of 0xff.
* machine/z80scc.cpp: Fixed incorrect setting of baud rate due to uninitialised variables.
New working machines
--------------
Football Crazy (Video Quiz) [Paul-Arnold]
- Simplify handler signatures
- Rename cd_ab_r/w and ba_cd_inv_r/w to dc_ab_r/w and ab_dc_r/w to be more hardware-accurate
- Eliminate cd_ba_r/w and ba_cd_r/w (no legitimate uses in existing code)
mvme162: Fix SCC addressing (nw)
Note that the SCC's address inputs are A/~B and D/~C, rather than the Z80 SIO's B/~A and C/~D.
This effectively reverts b380514764 and
c24473ddff, restoring the state at
598cd52272.
Before pushing, please check that what you're about to push is sane.
Check your local commit log and ensure there isn't anything out-of-place
before pushing to mainline. When things like this happen, it wastes
everyone's time. I really don't need this in a week when real work™ is
busting my balls and I'm behind where I want to be with preparing for
MAME release.
* interpro: headless boot working
These fixes enable booting and CLIX installation on headless InterServe systems (InterPro systems without graphics) using a VT100 or VT220 compatible terminal on serial port 2 (0 for ip6000). It's now possible to install and boot CLIX on the ip6000 system, as this works around the issues with the incomplete graphics hardware support in the driver.
* interpro: tidy serial configuration, add missing control lines
* ioga: fix serial dma
* z80scc: update /WREQ when transmitter is enabled/disabled, use 0 for assert state of active low output
* softlist: added 60x0 CLIX root floppies
* z80scc: tidy (nw)
* /CTS, /DCD and /SYNC are active low lines represented as 1's in rr0 when asserted
* immediately deassert /RTS in some circumstances
* fix rr1 "all sent" status handling
* there is no ring indicator input line
* generate interrupts for /SYNC input
- PULSE_LINE is no longer a value. Existing uses have been changed to pulse_input_line with attotime::zero as the second argument.
- Formerly only INPUT_LINE_NMI and INPUT_LINE_RESET were allowed with PULSE_LINE. INPUT_LINE_NMI no longer receives special handling; instead, CPU devices must specify which of their input lines are edge-triggered and thus may be used with zero-width pulses by overriding the execute_input_edge_triggered predicate. INPUT_LINE_RESET is still special-cased, however.
- execute_default_irq_vector now allows a different default vector to be specified for each input line. This added flexibility may or may not prove useful.
Beware, the device context does not follow in MCFG_FRAGMENT_ADD
anymore due to the prototype change. So creating a device then
configuring through a fragment doesn't work as-is. The simplest
solution is just to add a MCFG_DEVICE_MODIFY at the start of the
fragment with the correct tag.
* Switched to delegate timers
- Frees implementations from having to call timer method
- Eliminates risk of ID conflicts with implementations/other interfaces
* Moved save state registration to interface post start
- Plays nicely with device_missing_dependencies exceptions
- Frees implementation from having to call save state registration method
- Improves save state support in devices that neglected to call method
* improved initiator transfer information logic
* split transfer count/counter
* added rudimentary 53c90a/53c94 support
* reworked initiator transfer information state machine: should now support all scsi phases
* improved handling of dma/non-dma commands
* added an undocumented hack to make InterPro work
* match updated 5390 device
* inherit memory map
* z80scc: basic wait/dma request implementation
* z80scc: renamed WRDY to WREQ to match datasheet, minor touch-up