------------------------------------
Spirit of 76 [PinMAME]
New not working clone
-----------------------------------
Black Knight 2000 (PF-1) [PinMAME]
* This turns the current state save feature to a menu; one can still press 0-9, but you can also browse a menu when loading and saving state
* Fixed some issues requested by Vas Crabb
* Updated state menu to support arbitrary character slots
sound board, completing the tromba circuit
(nw) I'm not sure whether the model works properly or not, but in the
circuit where it's used, I don't think it can work properly with the
current TTL output model. A capacitor is charged by the Q output of a
74LS74 flipflop (U3A) until the voltage passes the Schmitt trigger's
threshold, causing it to reset the flipflop. However, the positive
trigger voltage of the Schmitt trigger is 1.6V, but our TTL output model
has a high output voltage of 1.0V (see nl_base.cpp:89). I realise the
simplified model of TTL logic with high impedance inputs and outputs
behaving as though thery're loaded is convenient and fast to simulate,
but it's not detailed enough for applications like this where
7400-series chips are used in analog circuitry. This is what held me up
last time I tried adding a netlist for this sound board.
- OPENMP refactored. All OPENMP operations are now templatized in pomp.h
- We don't need thread-safe priority queue. Event code updating analog
outputs now runs outside the parallel code.
(nw)
* Tromba (trumpet) sound is not working - requires Schmitt trigger device
* Connecting cassa (bass drum) swamps other instruments so it's disconnected for now
* Mixing melody sound with speech/SFX is not done in netlist (should be)
* Relative levels of melody/speech/SFX are probably still wrong
(nw) A good test case for this is the Money Money driver (monymony).
There's a bit of buzzing on this one as well. The problem with the
cassa could be caused by running into non-ideal characteristics of opams
again (the LM3900 seems to ignore the V+ value supplied to it). When
the netlist library gets Schmitt trigger support, the tromba can be
completed. Unfortunately, the tromba is a key part of the
characteristic sound of these boards, so you really notice when it's
lacking.
(nw) It doesn't work quite right yet. The "Hammer" and "Pest" sounds
are generated by free-running 555/556 timers and gated with LM324
applifiers. For whatever reason, the netlist system produces a kind of
buzzing from the "Hammer" circuit when it's supposed to be suppressed,
and it doesn't think the pest sound should be suppressed completely so
you can always hear it at a low level in the background. The "Cheese"
circuit is a bit weird - either they're using the base-emitter junction
of a 2SC945 as a signal diode, or there's an error in the schematic
(collector is shown unconnected). Connecting this part of the circuit
causes the netlist system to hang, so R2/R3/C8/Q2 are not connected for
now.
* move rarely-used output and pty interfaces out of emu.h
* consolidate and de-duplicate forward declarations, also remove some obsolete ones
* clean up more #include guard macros
* scope down a few more things
(nw) Everyone, please keep forward declarations for src/emu in src/emu/emufwd.h -
this will make it far easier to keep them in sync with declarations than having
them scattered through all the other files.
The core changes are:
* Short name, full name and source file are no longer members of device_t, they are part of the device type
* MACHINE_COFIG_START no longer needs a driver class
* MACHINE_CONFIG_DERIVED_CLASS is no longer necessary
* Specify the state class you want in the GAME/COMP/CONS line
* The compiler will work out the base class where the driver init member is declared
* There is one static device type object per driver rather than one per machine configuration
Use DECLARE_DEVICE_TYPE or DECLARE_DEVICE_TYPE_NS to declare device type.
* DECLARE_DEVICE_TYPE forward-declares teh device type and class, and declares extern object finders.
* DECLARE_DEVICE_TYPE_NS is for devices classes in namespaces - it doesn't forward-declare the device type.
Use DEFINE_DEVICE_TYPE or DEFINE_DEVICE_TYPE_NS to define device types.
* These macros declare storage for the static data, and instantiate the device type and device finder templates.
The rest of the changes are mostly just moving stuff out of headers that shouldn't be there, renaming stuff for consistency, and scoping stuff down where appropriate.
Things I've actually messed with substantially:
* More descriptive names for a lot of devices
* Untangled the fantasy sound from the driver state, which necessitates breaking up sound/flip writes
* Changed DECO BSMT2000 ready callback into a device delegate
* Untangled Microprose 3D noise from driver state
* Used object finders for CoCo multipak, KC85 D002, and Irem sound subdevices
* Started to get TI-99 stuff out of the TI-990 directory and arrange bus devices properly
* Started to break out common parts of Samsung ARM SoC devices
* Turned some of FM, SID, SCSP DSP, EPIC12 and Voodoo cores into something resmbling C++
* Tried to make Z180 table allocation/setup a bit safer
* Converted generic keyboard/terminal to not use WRITE8 - space/offset aren't relevant
* Dynamically allocate generic terminal buffer so derived devices (e.g. teleprinter) can specify size
* Imporved encapsulation of Z80DART channels
* Refactored the SPC7110 bit table generator loop to make it more readable
* Added wrappers for SNES PPU operations so members can be made protected
* Factored out some boilerplate for YM chips with PSG
* toaplan2 gfx
* stic/intv resolution
* Video System video
* Out Run/Y-board sprite alignment
* GIC video hookup
* Amstrad CPC ROM box members
* IQ151 ROM cart region
* MSX cart IRQ callback resolution time
* SMS passthrough control devices starting subslots
I've smoke-tested several drivers, but I've probably missed something. Things I've missed will likely blow up spectacularly with failure to bind errors and the like. Let me know if there's more subtle breakage (could have happened in FM or Voodoo).
And can everyone please, please try to keep stuff clean. In particular, please stop polluting the global namespace. Keep things out of headers that don't need to be there, and use things that can be scoped down rather than macros.
It feels like an uphill battle trying to get this stuff under control while more of it's added.
-----------------------------------
Space Cyclone [David Haywood, Nicolas Francfort, Sean Sutton, Tourniquet, ShouTime, Anonymous Donator, ranger_lennier, David Stevens, Mr. Goodwraith, John Wilke, Paul Vining, Ryan Gatto, rtw, Jan Stuhler, Rod_Wod, Elliott Kipper, Greg Stout, *=/STARRIDER\=*, Ross Esposito, Paul Gaulton, Chris Heflin, Anonymous Donator from Switzerland, Fabien Marsaud, Surgeville, krick, B2K24, Anonymous Donator from Italy, David Jorge, Andrea Babich, Ciacchi Stefano, Mucci, gamez fan, Brian Troha, VFR750P, anonymous, Mr. Anonymous from Outer Space, InsertMoreCoins, Game Preservation Society, dax_PL, Russell Howard, Peter Wilhelmsen, Sébastien Monassa, f205v, Smitdogg, Gerald (COY), Brian Sutherland, The Dumping Union]
- Create device_palette_interface, which takes over most functionality from palette_device except for the initialization/decoding routines and RAM interface.
- Update screen_device and device_gfx_interface to use a device_palette_interface object rather than a palette_device. This necessitates slight alterations to a few drivers and devices.
- Modify v9938 and v9958 to use the new device_palette_interface rather than a subdevice. This entails breaking a cyclic dependency between device_video_interface and screen_device for this case.
-----------------------------------
Gaelco Championship Tuning Race [Mark F., Smitdogg, The Dumping Union]
Also renamed the driver from tokyocop.cpp to gaelcopc.cpp. Other game on this hardware is Ring Riders. (nw)
-----------
Unknown Poker Game by Chain Leisure [Gerald (COY), The Dumping Union]
My name as the copyright holder is a placeholder. Please remove as soon as someone fleshes this driver out. (nw)
nes: Fix debug output when reading iNES headers. (nw)
nes/ppu2c0x: Improved PAL clone timings. (nw)
nes/n2a03: Refactored clock definitions [includes other drivers using the
N2A03] (nw)
nes: Improved refresh rates and timings to reflect nesdev (nw)
nes: Softlist improvements and corrections [koko, mkgoogoo and others] (nw)
nes: Verified koko in the softlist as a good dump (nw)
nes: Softlist additions [subor5, subor6, subor10, subor11, subor13, doolybld]
(nw)
New not working machines added: Subor SB-486, M82 Display Unit (PAL) (nw)
nes: Marked drpcjr as NOT WORKING due to missing hardware. (nw)
New working machines added: Micro Genius IQ-501, Micro Genius IQ-502, Dendy Classic 2 (nw)
nes: marked dendy as a clone of iq501 (nw)