------------------------------------
Spirit of 76 [PinMAME]
New not working clone
-----------------------------------
Black Knight 2000 (PF-1) [PinMAME]
* 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.
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]
-----------------------------------
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)
* tee allows two peripherals to be connected in parallel
* glinkhle is an RS232 (9600 8N1) adaptor
* bitsock sends raw assert/release line signals to/from a bitbanger device
* monospkr is a speaker connected between tip/ring in parallel and sleeve
* stereospkr is two speakers: left across tip and sleeve, right across ring and sleeve
Use glinkhle to make emulated calculators talk with cooked sockets, e.g.
mame ti82 -linkport glinkhle -linkport:glinkhle:rs232 null_modem -bitb socket.127.0.0.1:2345
Use bitsock to make emulated calculators talk with cooked sockets, e.g.
mame ti82 -linkport bitsock -bitb socket.127.0.0.1:2345
You can use tee to do stuff like listen to data activity for debugging purposes, e.g.
mame ti82 -linkport tee -linkport:tee:a stereospkr -linkport:tee:b glinkhle -linkport:tee:b:glinkhle:rs232 null_modem -bitb socket.127.0.0.1:2345
* Remove fake interrupts and rewrite coin handling
* Use correct CPU type
* Use screen raw parameters
* Use generic 8x8x1 gfx layout
* Update ROM filenames
- Use tilemap system to draw background/foreground characters (and use
generic gfx_8x8x2_planar layout)
- Add mario and dkong3 bootlegs running on extended hardware (color
PROMs for those haven't been dumped, using the PROMs from the original
currently)
- Update and correct dip switches
- Document tile attribute RAM and sprite RAM layout bits
- Use screen raw parameters
- Add connector layout
- Update TODO list
- Update ROM filenames
New working driver:
-------------------
Donkey Kong 3 (bootleg on Ambush hardware)
* Use size_t for sizes and <algorithm> for algorithms
* Fix up some files that were getting linked into multiple libs
* Add missing virtual method to sh2 peripheral class
* Put shortname in driver struct for locality
* Use shared pointers in config LRU cache for safety
- Created devices for the galaxy games carts (EEPROM + Flash + PIC) and the slot(s)
- Removed code patches and emulated the PIC communication and bank switching
- Converted the blitter to a device (cesblit.cpp)
- moved the Galaxy Games from tmaster.cpp to their own driver (galgames.cpp)
Provided the PIC code for all four StarPak cartridges [Keith M. Kolmos]
New working machines
--------------------
Galaxy Games StarPak 3
[Keith M. Kolmos, Rod_Wod, Sean Sutton, Soren Skou Nielsen, Russell Howard, Francis Ramirez,
Tourniquet, BrianT, coolmod, Smitdogg, The Dumping Union, Luca Elia]
- Create EFO, Promat, Terminal, Wing projects to help reduce the weight of libmisc
- Eliminate Veltmeijer Automaten project (only two games by this company are in MAME, and one actually on Excellent System hardware)
m68705: expose more more internal registers through the state interface
* shows contents of registers that can't be read by program code
i8251: make receive more reliable clean up a little
zorba: meat on the bones
* create emulated keyboard device
- 88 of 96 matrix keys identified, 6 of 8 DIP switches identified, 3 of 6 outputs identified
* connect IEEE-488, RS232 and Centronics ports
* hook up all IRQ sources and connect PIT to UARTs
* more notes
osborne1, gladiatr: use input changed member (nw)
* remove non-obvious mcu_status_r and semaphore_r members and move to drivers (varies by system)
* slap fight functionality can be safely folded into base class so do so
* remove leftover crud from driver state classes
qix.cpp, bub68705, changela: use new MC68705P3 core
- Conversion of the Cedar Magnet board from a base device class to a mix-in interface
- Emulate EFO ZSU as main variant of the Cedar Magnet sound board
- Hook up ZSU1 to Skill Flight and Phantom Ship
- Modernize ZSU soundlatch/IRQ mechanism
- More hardware notes (nw)
- Various associated code cleanups (nw)
we've been sitting on this for a while, progress was shown a few years ago, but is apparently lost. Smitdogg should be able to clarify the exact part numbers, they're not readable in the pictures.
Mario driver now uses netlist audio implementation instead of discrete
implementation. The previous discrete sound emulation has not been
removed yet because it still contains a lot of documentation.
[Couriersud]
Mario driver now uses netlist audio implementation instead of discrete
implementation. The previous discrete sound emulation has not been
removed yet because it still contains a lot of documentation.
[Couriersud]
in the mizar lib. This is suboptimal, but the code seems to
crossreference across object files and from the bus code into the driver
code.
At least the source now links again. (nw)
- MSM5205 hooked up through 40105 FIFO
- Various notes based on Z80 code and schematics for related pinball sound board
40105 device improvements (nw)
- Split up configuration macros
- Tweaked device name and device type name
- New callback for automatic output write
- A few bug fixes for so_w
- Many comments and pinout added
It doesn't have much in common with the other games in the driver. Also
clean up the implementation, make spriteram 8-bit, add some hardware
info and add button descriptions.
- Uses the standard 6840 PTM core for sound generation
- New MM583 Noise Generator device
- New DAC-76 DAC sound
- Use resistor network values for colors
- Use bankdev device for banking
Archimedes 305, Archimedes 440, Archimedes 3000, Archimedes 410/1, Archimedes 420/1, Archimedes 440/1, Archimedes 540, Acorn A5000, Acorn A4, Acorn A4000, Acorn A5000 Alpha
- renamed a310->aa310 to avoid conflict with Amiga machines
- added all missing OS releases Arthur 0.30, RISC OS 2.01, RISC OS 3.00, RISC OS 3.10, RISC OS 3.19 (German)
- all machines default to OS (Arthur, RISC OS 2, RISC OS 3) they were shipped with
- corrected ROM labels/locations
- added default CMOS to boot to desktop
- mapped Acorn A4 Power Management extension
the bios and turn off JP1 as part of the installation. A v1 bios flash is included, but
you aren't forced to use it. [smf]
Moved G-NET protection out of ATAFLASH and into individual devices for each type of card [smf]
Implemented enough analogue control reading on ZN1/ZN2 for RC De Go & Go By RC [smf]
Fixed ZN1/ZN2 DSW descriptions [smf]
Added build dates and times to G-NET game descriptions [smf]
New machines added or promoted from NOT_WORKING status
------------------------------------------------------
Shikigami no Shiro - internal build (V1.02J 2001/09/27 18:45) [rtw, ShouTime, smf, O.Galibert]
Go By RC (V2.03O 1999/05/25 13:31) [smf]
RC De Go (V2.03J 1999/05/22 19:29) [smf]
05928: nbajamex: game crashes / nvram gets corrupted
- Emulated the Acclaim RAX sound board, adding sound to Batman Forever and NBA Jam Extreme [Phil Bennett]
- Hooked up extra NVRAM in NBA Jam Extreme [Phil Bennett]
with the following games
Time Scanner (TS 2.0, Magnet System, prototype)
Exzisus (EX 1.0, Magnet System, prototype)
Xain'd Sleena (SC 3.0, Magnet System, prototype)
this is a checkpoint, there is a sizeable ToDo list but I think this is a good enough state for initial inclusion before working out the remaining issues. ArcadeHacker has the hardware working for questions etc.
I would especially appreciate help with sound (haven't a clue how it hooks up, tried lots of things, no luck) and some help in going over the CPU comms, especially with the sprite CPU as I think I must be missing something important. Likewise help from somebody more familiar with the floppy code from MESS so that it can use that, I had no luck in getting it to work with the copy protection or from a rom region, I've kept all floppy related code in a device so it's very easy to swap out so for now what I've got isn't intrusive.
note, very weird idea for a system, they've ported 3 arcade games from other manufacturers, original titles were advertised, but it's likely nothing more of the system exists.
the system uses 5 PCBs, one Z80 on each and instead of having dedicated sprite / tilemap chips they have the Z80s doing software rendering, using 8bpp framebuffers. 2 of the boards are for background planes, 1 of the boards is for sprites. The hardware has various memory expansions which look like afterthoughts as they're addressed in strange ways.
ataxx: Fixed missing sound channel caused by one dac not being hooked up and one dac being hooked up to two addresses.
bestbest: Fixed high pitch screech caused by incorrect addressing (two dacs weren't hooked up and two were hooked up to two addresses).
cchasm: Fixed static noise generation caused by feeding the same bit to both dacs.
cheekyms: Slightly improved sound by implementing sound triggers as 8 x 1 bit dacs instead of 1 x 8 bit dac.
galeb: Fixed sound by implementing it according to http://www.deltasoft.com.hr/retro/galebemu.htm & implemented enough of LOAD/SAVE to stop it hanging.
hard drivin: (all games in driver) Improved 12 bit controls, although centre still goes out of sync.
mea8000: Converted to a sound device.
megaphx: Fixed noisy samples due to wrong format.
microvsn: Fixed sound pitch caused by incorrect usage of write_signed8().
seicross: Changed to a 4 bit dac as samples are packed nibble.
spaceg: Preliminary sound using space invaders samples.
suna8: Changed to a 4 bit dac as samples are packed nibble.
vcombat: Fixed static during machine gun fire due to incorrect dc offset removal.
vectrex: Fixed noisy samples due to wrong format.
wheelfir: Fixed sound, eeprom & analogue steering wheel and brake pedal.
this is similar to, but not identical to goldstar.cpp / skylncr.cpp. it might be possible to merge it in, however my gut feeling is that said driver should be split up into different machine types all using some generic but fleixlbe video device that can handle these 8x8 tiles, 8x32 reel cases as most of them are based on the same basic concepts, just with their own tweaks.
reels, sounds, inputs are not hooked up here.
see
http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=107569&page=1
for PCB information.
Mahjong Senpu [system11. David Haywood]
displays the game image, upside down, no palette for now, no inputs for now, no sound for now, going to continue work on it.
Use: ./mame vgmplay -bitb file.vgm/vgz
Lots of chips missing, no visualization, no control of anything, no
volume control either, and no sound shutdown on end of file.
Air Raid, Street Fight and Dark Mist all basically use very similar video systems (4 layers, 2 of them being ROM based tilemaps, a CLUT prom for each layer which controls colours and transparency handling)
this takes some steps towards allowing a common implementation of it.