* new WORKING machines
-------
Disney Princesses (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, David Haywood, anonymous]
Capcom 3-in-1 (1942, Commando, Ghosts'n Goblins) (JAKKS Pacific TV Game, Game-Key Ready) (29 MAR 2005 B) [Sean Riddle, David Haywood, anonymous]
new NOT WORKING machines
-----
Care Bears TV Games (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, David Haywood, anonymous]
* new NOT WORKING software list entries
-------
ekara_japan_a.xml:
a3 : A-3 Pichi Pichi Pitch vol.3 (Japan) [David Haywood, Sean Riddle]
evio.xml:
em2: eM2 - evio Selection 02 [David Haywood, Peter Wilhelmsen, ShouTime, Sean Riddle]
em3: eM3 - Anime Mix 1 [David Haywood, Peter Wilhelmsen, ShouTime, Sean Riddle]
em4: eM4 - I Love Classic 1 [David Haywood, Peter Wilhelmsen, ShouTime, Sean Riddle]
em7: eM7 - Pure Kiss 1 [David Haywood, Peter Wilhelmsen, ShouTime, Sean Riddle]
em8: eM8 - Hard Soul 1 [David Haywood, Peter Wilhelmsen, ShouTime, Sean Riddle]
em9: eM9 - evio Selection 03 [David Haywood, Peter Wilhelmsen, ShouTime, Sean Riddle]
em16: eM16 - Chisako Takashima Selection [David Haywood, Peter Wilhelmsen, ShouTime, Sean Riddle]
em18: eM18 - unknown [David Haywood, Peter Wilhelmsen, ShouTime, Sean Riddle]
* additional cartridge info [AJR]
At least some of these are required for operation with terminals. For example
the SWTPC 8212 terminal uses DTR to CTS for hardware flow control, and that is
needed even at 9600 baud.
The code notes that reading the iir register "will clear the int if
this is the source of the int" and the code cleared a pending THRE
interrupt if it was *pending*. This causes a lost THRE interrupt for
the SWTPC 8121 terminal firmware and this locks up the TX side of the
terminal. This occurred regularly when the ISR read this register upon
a higher priority RX pending interrupt. The documented operation has
been reinterpreted as only clearly the THRE interrupt if THRE is the
highest priority interrupt and so is the pending interrupt *causing*
the interrupt. This fixes that lost THRE interrupt for the SWTPC 8121
terminal.
- optimized the core queue dispatching logic. Minor performance
increase.
- fixed a number of bugs in parray. Now parray<double, 0> will be purely
dynamic allocation with the number of elements passed in the
constructor.
- Added noexpr where appropriate.
- Simplified the queue
Checked with gcc-7 (ubuntu), gcc-9, clang-10, macosx clang 10, mingw
cross compile on linux.
- moved netlists out of driver code into audio/ or machine/ as
nl_xxx.cpp files.
- identified and documented extended validation
- updated arcade, mess and nl targets
* imagedev/cassette: add bitwise operators for cassette_state so a lot of ugly casts can go away
* audio/leland.cpp, cubeqst.cpp: make better use of loops in machine configuration
* screen: validate crystal values used for set_raw
* driver: get rid of sound start/reset overrides in machine configuration
* vrender0.cpp, nexus3d.cpp: corrected pixel clock crystal value
* mw8080bw.cpp: turned several audio subsystems into devices
* bus/sat_ctrl: don't start subdevices in device_start - the machine does it for you
* mb14241.cpp: simplify handlers
* fgoal.cpp: updated for simplified handlers
* devfind, screen: repair some doxy comments that had rotted with refactoring
* doxygen: disable warnings for undocumented things - it's most of our codebase
* snowbros.cpp: restore an output level setting lost in MCFG removal
There's an outstanding validation error from the HP98543 DIO video card
not using a valid crystal value. Someone needs to find a picture of the
card and confirm or deny the existence of the 39.504MHz crystal.
The various start/reset overrides are bugs waiting to happen. It's not
immediately obvious that the ones run earlier can end up being called
multiple times if subsequent ones throw missing dependencies exceptions.
They're a relic of when everything from the old C-style drivers was
thrown into classes all jumbled together.
I haven't tested the hh_sm510.cpp changes very well yet - I'll give it
another review soon, and test it some more before the end of the month.
I'm not sure about whether any of the B or BA handlers should be in the
base config methods for G&W. I've left them there for some
configurations that always have them, but I might rip them out of the
common methods altogether. It's not like Tiger where all the games use
them.
sid.cpp : Reduce duplicates, Add postload function
sidvoice.cpp : Fix type value when DIRECT_FIXPOINT defined
sidenvel.cpp, sidvoice.cpp, sid.cpp : Fix spacings
* tms34020: Fix out of bounds read, when extra logging is enabled
* tms34020: Annotate unimplemented clip opcode
* tms34020: Implement CLIP instruction
* upd765, next, sun3x: fix FDC mode being treated as clock frequency (MCFG removal gone wrong)
* h01x: translate some comments from Chinese to English
* snes/sfx: trampoline constructors should be private
* subhuntr.cpp: S2636 PVI was seemingly uncommented by mistake in 93308b483e - offsets and sound routing seem to be copy/pasted from somewhere
* phi: prettier config
* scramble.cpp, wallc.cpp: avoid some calls to subdevice<...>(...)
* makedep.py: open source files as UTF-8 (GitHub #5482)
* minimaws: be less trusting
INTRQ logic in general is -
Reset conditions: status register read, command register write.
Setting conditions: command-specific (completion etc), command 0xDX is in command register and one of I0-3 conditions met.
Various WD FDC doc's statements 'command D0 is the only command which may clear interrupt after D8' is not correct, any other than Dx command write to command register will do this aw well.
(nw) This has been a long time coming but it's here at last. It should
be easier now that logerror, popmessage and osd_printf_* behave like
string_format and stream_format. Remember the differences from printf:
* Any object with a stream out operator works with %s
* %d, %i, %o, %x, %X, etc. work out the size by magic
* No sign extending promotion to int for short/char
* No widening/narrowing conversions for characters/strings
* Same rules on all platforms, insulated from C runtime library
* No format warnings from compiler
* Assert in debug builds if number of arguments doesn't match format
(nw) Also removed a pile of redundant c_str and string_format, and some
workarounds for not being able to portably format 64-bit integers or
long long.
- Identify CPU type used by vreadere as ePG3231
- Add preliminary port I/O handlers and callbacks
- Add stub handlers and state variables for interrupt controller, timers, synthesizer, UART and SPI
- Fix TBRD addressing of external data memory
- Fix calculation of carry flag for normal additive operations
- Implement multi-byte carry/borrow for applicable registers
- Implement signed multiplication option
- Add internal stack buffer for saving PCH during calls/interrupts
* hcd62121: Added xor instruction with indirect addressing (needed for zoom menu in graph mode to work).
* cfx9850.cpp: Reduce RAM size to 32 KB (0000-7FFF) and add overlapping region 8000-FFFF. The code that detects memory size assumes that FFFF aliases 7FFF.
* mark drawgfx core templates inline to prevent linker trying to coalesce them across compilation units, and hopefully encourage the compiler to specialise them when drivers call them with fixed argument values
* make wraparound parameter for ROZ drawing functions bool - it's a simple true/false value
* clean up spacing in a few places
* ngpc.xml: fixed some Japanese titles
* ds1994.cpp: added FIXME comments, removed redundant tag from logging helper, corrected device name, removed copy/pasted application note (copyright infringement)
* midvunit.cpp: marked "recreated" PAL program as a bad dump
- Remove both arguments from CUSTOM_INPUT_MEMBER (adding template parameters as necessary)
- Remove 'param' from PORT_CUSTOM_MEMBER and assume 'device' is DEVICE_SELF (use PORT_CUSTOM_DEVICE_MEMBER if it isn't)
- Replace PORT_CUSTOM_MEMBER with PORT_READ_LINE_MEMBER where applicable
Add implicit DEVICE_SELF variants of PORT_READ_LINE_DEVICE_MEMBER and PORT_WRITE_LINE_DEVICE_MEMBER (nw)
Remove ioport_field argument from PORT_CROSSHAIR_MAPPER (nw)
captflag, gmgalax: Separate driver classes from base (nw)
Add notes, Reduce duplicates, Use struct for sprite drawing routines, Fix spacings, Use shorter / correct type values
hyprduel.cpp : Add MACHINE_NO_COCKTAIL flag related to wrong flipped screen displaying
* hp9825: fixed a bug in 9825t
* hp9845: TACO driver re-written from scratch, DC100 tape separated into
a new device, various adaptations
* hp9845: "new TACO" renamed to just "TACO"
-indigo: Switched to using the new R4000 core. [Ryan Holtz]
-hal2: Corrected chip revision ID to match real hardware. [Ryan Holtz]
-sgi_mc: Correctly flag EISA bus present on both Indigo 2 and Indy, as VINO uses the EISA signals for GIO64 arbitration. [Ryan Holtz]