* elan sound stuff (nw)
* move more audio bits into audio file (nw)
* new NOT WORKING machines
-----
Texas Hold'em TV Poker - 6 Player Edition (UK) [David Haywood, Morten Kirkegaard, Peter Wilhelmsen]
need to emulate the controllers etc. (currently requires debug hack to boot past initial logo)
* start moving some more elan stuff around (nw)
* add (non-working) CM-32P driver
* CM-32P: make booting test mode sort of work (nw)
* CM-32P: fix initialization, working test mode (nw)
- test mode now boots properly and shows error report
- test mode can be enabled/disabled
- RCC-CPU check passes
- PCM ROM check passes, PCM card check fails (requires SN-U110-04 card)
* CM-32P: add research notes (nw)
* hp80: refactored optional ROM device as requested in issue #5839
* hp9825: refactored optional ROM device as requested in issue #5839
* hp9845: refactored optional ROM device as requested in issue #5839
- Added slot interface for internal expansion boards.
- Added BBC Master cartridge slot interface to allow implementation of more complex cartridges, including Electron cartridge devices.
- Removed Sideways RAM configuration option, to be re-implemented as internal boards.
- Empty BBC Master cartridge sockets return video data on data bus.
* elan eu3a05 / eu3a14 - identify some common bits (nw)
* some elan refactoring baed on current knowledge / standards (nw)
* elan refactoring (nw)
* elan splitting / refactoring (nw)
* validate (nw)
* note used areas (nw)
* register observations (nw)
* another observation (nw)
* add the sprite double feature (nw)
* rendering tweaks (nw)
* rendering improvements for air blaster 3d stages (nw)
* refactoring (nw)
* galaga: Implement accurate starfield based on reverse eng. 05xx
----------------------------------------------------------------
This commit implements an accurate starfield for Galaga and
Bosconian based on reverse engineering the Namco 05xx chip.
Documentation and notes have been added inline to the code
for the galaga video driver.
Changes in this commit:
1. Regenerates starfield colors based on LFSR state for every frame
2. Pixel accurate to Namco original 05xx
3. Restores one line horizontal starfield shift for every 256
vertical pixel shifts
4. Properly handles LFSR reset (_STARCLR)
5. Restores missing 4 stars from previous implementations
6. Fixes potential issue with the number of stars on screen at any
one time
7. Restores 4 pixel/line scrolling capability (not currently used
for any driver)
* galaga: inplement accurate starfield - change request 1
-------------------------------------------------------
1. Remove stdlib.h from src/mame/video/galaga.cpp
* galaga: inplement accurate starfield - change request 2
-------------------------------------------------------
1. Refactor starfield generator into stand-alone video
device
2. Simplify Bosconian and Galaga video drivers
3. Add in documentation about different LFSR form used
by Wolfgang Scherr and Jindřich Makovička.
* galaga: inplement accurate starfield - change request 3
---------------------------------------------------------
Minor changes from pull request review
--------------------
RS-232 DCE-DCE Bridge
(nw) This is a simple machine for wiring together two things that want
to plug into an RS-232 port. This means that for DCE-like things (e.g.
serial printers) there's no need to create an extra machine to allow
them to talk to the outside world with the null_modem device. (Also
added some asserts, removed a FIXME, and put the swtpc8212 terminal in
the default RS-232 devices.)
This patch gets it running, and splits it into two front ends, one
being a rs232 bus slot so that is can be used as a terminal option. It
adds the MCM66750 character generator, and implements the MC6845 row
update function. Most of the I/O has been worked out with help from
the CT-82 user manual. The various screen formats and the graphics
modes appear to be working and plausible. Printer support has been
added, and a beeper.
* hp9825: optional ROM cartridges added (9825b only, ATM)
* hp9825: optional ROMs added to 9825t, added support for banked ROMs
@5c00, separated RAM & ROM spaces in 9825t
* hp9885: added missing post-amble when writing sectors on disk
* hp9825: added acknowledgments to comments (nw)
* hp9825: changes requested by V.Crabb (nw)
- 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
* 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.
Motorola MC6802 evaluation kit. This emulator implements the Keypad and the
LED display, and the MEK68R2 CRT and parallel keyboard interface with support
from the D3BUG2 ROM, and the RS232 terminal support using the MEK68IO and with
support for this also included in the D3BUG2 ROM. Much of the monitor commands
appear to operate properly.
* MEK6809D4: new machine
Motorola MC6809 evaluation board. This emulation implements the keypad and LED
7 segment display, the RS-232 terminal interface, and the MEK68R2 MC6845 CRT
and parallel keyboard interface. The RAM and ROM banking is not yet
implemented but most of the D4BUG monitor commands are supported.
* MEK6802D5: new machine
Motorola MC6802 trainer board. This emulation implements the keypad
and LED 7 segment display, and the RS-232 terminal interface even
though there is no monitor support for it. All the D5BUG monitor
commands appear to be working.
* 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"
* Improved encapsulation between video and machine SoC periperals;
* Split up HWs in individual files where they don't belong to Crystal System HW, makes future development easier;
* Untangled reads/writes to draw/display bankswitches from screen_update, now they can be unthrottled safely;
* Added CRTC screen raw parameters;
* Add DMA hold feature and clear irq on mask writes, specific for P's Attack;
* Improved Cross Puzzle flash loading, currently failing at POST for a SPU error;
nexus3d.cpp: add some preliminary work, currently does some VRender3d pipeline fill with a debug trick [Angelo Salese]
(out of whatsnew)
Some stuff definitely needs fine graining, like removing the few lines that are still necessary to configure the VRender0 from driver files, which I'm gonna do in my next feature branch.
Credits: ClawGrip, Roberto Fresca, Recreativas.org,
Dumping Union, System11, Dirk Best
This is based on an MCS-51 core, like the MK3 bootleg. They are
clearly based on the same code, so the MK3 bootleg was moved to
this driver.
* Enable precompiled header usage in the Visual Studio compiler
But only for libraries emu frontend precompile dasm optional
Also add emu.h include to hpcdasm.cpp
* Include emu.h in some disassembler sources to use precompiled headers
* Remove debug message
--------------
Mephisto [hap, Berger]
Mephisto II [hap, Berger]
Mephisto III [hap, Berger]
New working clone added
---------------
Mephisto Amsterdam (older) [Berger]
Mephisto London 16 Bit [Berger]
- Clean up notes, add TODO
- Use pulse_input_line for NMI
- Document coin lockout
- Document attribute RAM layout
- Background layer color is actually 3 bits
--------------------
Hektor III [Nigel Barnes, jltursan]
New machines marked as NOT_WORKING
----------------------------------
Hektor II [Nigel Barnes]
- Replace additional driver RAM with S-100 bus
- Convert Video Terminal Interface into a S-100 bus device
- Add skeleton S-100 bus device for SSSD disk controller
* move princ out of prestige.cpp (it should have never been put there) and into a new driver
fix graphic alignment on the salter gym machines, also promote htem both to working (the hang I saw before on cycle doesn't seem to happen now)
made a note in redclash.cpp about possible sets needing rearrangement
note, princ uses a F2MC-16L based CPU, I don't believe we have a core, but there are plenty of docs available should somebody want to write a disassembler at least.
* reparent the RedClash sets, it appears to be a Kaneko game (Cat logo in the corner etc.)
* change guess (nw)
--
Big Karnak (Modular System) [Recreativas.org, ArcadeHacker, ClawGrip, David Haywood]
as with other Modular System things, it's not really very close to original hw at all (and uses different boards in a different configuration to other modular system setups) so new driver
* rad_hnt3 misc improvements (nw)
* better support for alt modes used in rad_hnt3 and rad_foot
* tidy/comments (nw)
* test note (nw)
* actually not a special case (nw)
* document other test modes (nw)
* palette selection improvements (nw)
* switch according to test mode (nw)
* improved palette handling for rad_foot (7bpp mode)
* ramsize (nw)
* exploring the ram based layer (nw)
* ram tile layer in hnt3 is 2bpp, hardcode stuff for now until we've found the proper register bits
* slight refactor (nw)
* some palette fixes (nw)
* fix 2bpp tile colours (nw)
* rename rad_eu to elan_eu
* rework tile pri (nw)
* refactor (nw)
* note updates (nw)
* kludge (nw)
* some weird regs notes (nw)
* new NOT WORKING clones
---
Gals Panic (Modular System bootleg) [Juan Romero, Recreativas.org, ClawGrip, David Haywood]
these things are *ugly* from a hardware perspective (massive 6 board stack just for Gals Panic with many, many code hacks to work around hardware changes) so I felt it best to create a new driver with the background bits copy+pasted; the sprites + sound system specific to these bootlegs will need adding.
* bleah (nw)
* Bally pinball by35: Move pinball sound boards to a new file.
* Bally pinball by35: Move as8888 code to a proper device.
* Bally pinball by35: Add Cheap Squeak sound board.
* m6801: Fix bug where irq is never triggered.
* Bally pinball by35: Mark the AS888 games as non-skeleton.
* Bally pinball by35: Refactor state classes.
* Add support for pcnfrk2m - Percussion Freaks 2nd Mix (GE912 VER. KAA)
* WIP audio for k573dio
* WIP
* Move 3rd party library to 3rdparty folder
* Use MAME's BIT and bitswap
* Fix regression which caused songs to stutter/lag when they should have been read completely in one shot
* Replace gain_to_db switch with equivalent math
-newport: Unified command handling, should function better and faster as a result. [Ryan Holtz]
-hpc3: Added intstat register and DAC volume controls. [Ryan Holtz]
Added IBGR444 format to palette_device.
Minor consistency fix to laserbat.cpp. (nw).
New machines marked NOT_WORKING
-------------------------------
Star Rider
* Start fixing OS9 disk handling
* Got it working, now need to refine and test
* Almost complete. Doing more testing...
* Tested aginst a varient of sotware. Solved bug. Cleaned up tabs.
* Turned on sector interleaving in OS9_DSK and retested.
Eventually, the svg should be used instead of the pre-rendered ppm.
I'm a little afraid of the performance impact of the 3840 outputs
though, so one thing at a time...
- it's a newer SoC (with a lot more capabilities, eg rotate, zoom, twice the sound channels)
- it uses an updated unSP core (with some extra opcodes)
also made the modifications needed to allow for extension of the unSP + disassembler once we've worked out what the extra opcodes are.
Split video functions into video/raiden2.cpp, Cleanup ACCESSING_BITs, Fix naming, Reduce runtime tag lookups, Reduce unused, Add save state for sprite encryption values
Fix xsedae config because This game is running into modified Zero Team Hardware, And second OKI chip/surface are not exists.
raiden2.h : Use protected:/private:
r2dx_v33.cpp : Fix compile, Fix naming, Reduce runtime tag lookups, Reduce duplicates between raiden2.cpp
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.
- Fix typo'd constant in m68kmmu that prevented trapping user accesses to kernel space
- Remove need for intrusive m68k modifications
- Fix crash in 3c505 networking
- Fix Domain/OS booting in Normal mode
* code shuffle (nw)
* refactoring (nw)
* make it actually possible to control epo_guru. note, chase scenes seem to run in slow motion, while the timer runs at normal speed, making them impossible, need to fix that before promoting.
* (nw)
* 4 bits either way works better in practice
* promoted to WORKING
---
Gururin World (Japan) [David Haywood, Sean Riddle, Peter Wilhelmsen. ShouTime]
* tidy (nw)
* some more dirt rebel inputs (nw)
* shuffle some code around (nw)
* shuffle some code around (nw)
* fix controls in Popira 2
* put stuff in better place (nw)
* machines promoted to WORKING
---
Popira 2 (Japan) [David Haywood, Peter Wilhelmsen, Sean Riddle, ShouTime]
* remove old comment (nw)
-astrocde: Various changes. [Ryan Holtz]
* Added I/O access handling to expansion slot.
* Added INS8154 I/O functionality to Blue RAM boards (RAM not yet hooked up).
* Hooked up cassette saving and loading to Blue RAM boards.
- 80 column card with SDX in CP/M mode.
- ROM/RAM banking fixed for CP/M, and MTX500 now correctly detected.
- Support for Type 03 and Type 07 .mfloppy images.
- Added alternate MTX2 romset (German).
- Keyboard ROM now selected in Configuration.
- Quickload .RUN files.
-----------------------------------------
Advanced Pico BEENA: Fresh Pretty Cure [Team Europe, R. Belmont]
This is a little weird because it's a new system and we have a cartridge dump but not the BIOS.
* Disassembly names Monitor ROM entry points, I/O locations, and common zero-page locations
* Disassembly shows ProDOS calls with the call name and lets you step completely over them
* new WORKING machines
---
Winnie the Pooh - Piglet's Special Day (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 21 external donators]
Spider-Man (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 21 external donators]
Dora the Explorer - Race to Play Park (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 21 external donators] (previous 'Race to Play Park' was renamed to 'Nursery Rhyme Adventure' last week)
new WORKING software list additions
---
jakks_gamekey_mv:bcatdoc Black Cat & Doc Ock [Sean Riddle, 21 external donators]
* notes (nw)
* actually demote jak_pooh for now, one of the minigames is very broken (nw)
* give jak_sdoo a menu button (nw)
* give default set of inputs a pause / menu button too (nw)
* describe problem better, half of the issue is a DRC bug (nw)
* new NOT WORKING
---
Excite Boxing (Japan) [Sean Riddle, Peter Wilhelmsen]
* new WORKING machines
---
Nicktoons (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 22 external donators]
new WORKING software list entries
---
jakks_gamekey_nk:volbird Nicktoons Vollyball & Birdie Putt
new NOT WORKING machines
---
Dream Life [Sean Riddle]
One Piece - Virtual Punching Battle (Japan) [Sean Riddle, Peter Wilhelmsen]
* new machines marked as NOT WORKING
---
Challenge Ai-chan! Excite Ping Pong (Japan) [Sean Riddle, Peter Wilhelmsen]
probably just needs inputs mapping
* new NOT WORKING machines
---
Play TV Soccer [Sean Riddle, Peter Wilhelmsen]
again, needs inputs
* new WORKING software list addition
---
jakks_gamekey_nk:popsnow Spongebob Sponge Pop & Snowball Showdown (15 AUGUST 2005 D) [Sean Riddle, 22 external donators]
* xavix - support global tile flipping
* new NOT WORKING software list entries
---
monon_color:bigwolf Xǐyángyáng yǔ huītàiláng-juézhàn miē xīng [Peter Wilhelmsen, zhongtiao1]
* new NOT WORKING software list additions
---
sega_beena_cart:fpc Fresh Pretty Cure [Sean Riddle, Team Europe]
New WORKING machines
---
Ms. Pac-Man 5-in-1 (Ms. Pac-Man, Pole Position, Galaga, Xevious, Mappy) (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, Peter Wilhelmsen, 19 external donators]
Disney Princess (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 20 external donators]
New WORKING Software List entries
---
jakks_gamekey_nm:nrxdig New Rally X & Dig Dug [Sean Riddle, Peter Wilhelmsen, 19 external donators]
note, Pole Position is not really very playable at the moment due to raster rendering glitches, the rest are, aside from some obvious sound issues (nw)
New machines marked as NOT WORKING
---
Wheel of Fortune (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 20 external donators]
There is a video rendering glitch (lkely another off by x lines raster issue) causing the letter selection text to not render properly, it appears the letters scroll instead of the text scroller below, which doesn't. (nw)
-spg2xx: Make rowscroll offset configurable, can't find register to control it, but JAKKS games need 0, while the chinese stuff needs 15 (nw)
-jak_wof: Marked as working, analog wheel isn't emulated, but is optional (I don't see where / how it maps) (nw)
-jak_wof: Improved inputs (nw)
-gamekeys now save to the gamekey seeprom not the system one (nw)
* new WORKING Software List entries
---
gamate:fortress Fortress of Fierceness [Peter Wilhelmsen]
new NOT WORKING Software List entries
---
ekara_japan_a:a7 A-7 Pichi Pichi Pitch Pure Chapter 3 (Japan) [Peter Wilhelmsen, Sean Riddle]
ekara_japan_a:a5 A-5 Pichi Pichi Pitch Karaoke Party (Japan) [Peter Wilhelmsen, Sean Riddle]
ekara_japan_a:a4 A-4 Pichi Pichi Pitch Pure Chapter 1 (Japan) [Peter Wilhelmsen, Sean Riddle]
ekara_japan_a:a1 A-1 Pichi Pichi Pitch vol.1 (Japan) [Peter Wilhelmsen, Sean Riddle]
new NOT WORKING clones
---
Play 2000 (Super Slot & Gran Tesoro) (v7.0i) (Italy) [Peter Wilhelmsen, Morten Shearman Kirkegaard]
* new WORKING machines
---
Dragon Ball Z (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 19 external donators]
* flag (nw)
* allow 'a7' to boot (nw)
* move XaviX2 sets to new files (nw)
* new machines marked as NOT WORKING
---
Let's TV Play Naruto [Peter Wilhelmsen, Sean Riddle]
This is another XaviX2 thing.
* new NOT WORKING machines
---
C2 Color [zhongtiao1]
35 in 1 Super Twins [Sean Riddle]
LeapPad [Sean Riddle]
My First LeapPad [Sean Riddle]
-leappad: Added software lists. [David Haywood]
-c2color: Added software lists. [David Haywood]
leappad note: Currently BIOS is not dumped for LeapPad, but some carts are, BIOS is dumped for My First LeapPad, but not carts. (nw)
c2color note: Again the internal ROM isn't dumped, but we need the placeholder driver for the software list hookup, 2 carts are dumped. (nw)
-vsmile: Added softlist loading for some of the trickier vsmile cases based on new dumps from Sean Riddle. Note, the Vsmile Motion game is 16MB so clearly needs some kind of banking. (nw)
----------------------------
V.Smile Baby (US) [Ryan Holtz]
New working clones
--------------------
V.Smile Baby (Sweden) [Ryan Holtz, Sean Ridde, Clawgrip]
-vsmileb: Split into a separate CPP file. Identified input codes and hooked up inputs. [Ryan Holtz, bmx]
* new NOT WORKING
----
Storio [Team Europe]
created this so that Clawgrip can add to it
* add seemingly pointless line to seemingly pointless file
* move info (nw)
* vtech (nw)