- solver now uses dynamic allocation on systems larger than 512x512
- fixed osx build
- moved nl_lists.h classes to plists.h
- fixed netlist makefile clint section
- readability and typos
- 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
* Sync with bgfx upstream revision b91d0b6
* Sync with bx upstream revision d60912b
* Sync with bimg upstream revision bd81f60
* Add astc-codec decoder
* Rename VertexDecl to VertexLayout
* Rename UniformType enum Int1 to Sampler.
* Add NVN stub
* Fix unused-const-variable error on macOS
* Drop redundant explicit language parameters
buildoptions_cpp are only applied to c++ files and buildoptions_objcpp are only
applied to objective c++ files. As such, hardcoding -x offers no benefit while
preventing overrides (such as one needed by 3rdparty/bgfx/src/renderer_vk.cpp on
macOS) from working.
* Re-introduce -x c++ in places where C code is compiled as C++ to prevent clang from throwing a warning
* Build bgfx as Objective-C++ on macOS
It is needed due to included headers
* Enable Direct3D12 and Vulkan bgfx rendering backends
* Enable building of spirv shaders
* Properly escape /c in cmd call
* Comment out dx12 bgfx renderer
* Honor VERBOSE setting during shaders build
* Only invert hlsl shader XYZ_TO_sRGB matrix for opengl
* Add spirv shaders
* OpenGL ES needs transposed matrix too
* Metal needs transposed matrix as well
* 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.
* Re-write makedep.py for better performance and better parsing front-end
* Make srcclean deal with kinds of preprocessor abuse I never want to see in real life
(nw) The new parser front-end is better at recognising C++ syntax and
also substantially faster - bootstrapping a single-driver build should
be noticeably quicker. Having a single parser for C++, .lst and .flt
files also gets us a bit closer to making it simpler to create custom
subtargets.
* 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
(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.
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.
This will compile, link, and run a driver all the way to the first info screen, provided you use -video bgfx.
However, although there's a valid NSWindow created, it never actually appears on screen for unknown (but likely silly) reasons.
Inputs are not implemented and fullscreen exists but is untried.
* 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"
* Made some experimental work with menghong based HW, allowing crzyddz2 to boot and improving menghong colors;
* Internalize video and audio components inside the SoC;
* Wrote a preliminary UART subdevice;
* Made external video clock to be settable by the host driver;
* spectrum bus : rename beta.cpp to beta128.cpp as the original beta is somewhat different (nw)
* (nw)
* start making a device for the actual original beta disk interfaces (nw)
* flesh out beta stuff a bit (nw)
It appears that it is sufficient to include `-s USE_SDL_TTF=2`, and
emcc links in the SDL2_tff library, and it does not like attempts to
link this twice.
The current Emscripten release is not happy with the use of
"-s ERROR_ON_MISSING_LIBRARIES=0" as a link option, it gives an error
stating that all libraries must now be present, so remove that use.
This leaves a missing 'util' library. This did not appear to be
needed on the few builds I have tried, and this patch avoids adding
this library for asmjs.
* 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.
Split out the floppy disk controller from the swtpc09 machine, adding it to
the ss50 interface. The DC5 is compatible with both the SWTPC 6800 and 6809
systems, supporting the 4 and 16 byte I/O interfaces respectively, via a
jumper setting, so can be used on the MAME swtpc and swtpc09 machines. The
DC5, like the DC4, supports double sided and density disks, and claimed
backward compatibility with the DC1, DC2 and DC3.
Split out the PIA IDE hard disk interface from the swtpc09 machine. This
support appears to have been incomplete or to have bit rotten, and has been
updated and tested lightly with FLEX9.
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
The UniFLEX disk format is not compatible with the Flex format. Significantly it
does not use a mix of single density for booting on some double density disks
which makes it simpler - hardware required a new boot ROM to run UniFLEX.
Further, the UniFLEX sector size is 512 bytes versus 256 for Flex, and the
UniFLEX 'SIR' info sector record is completely different to the info on Flex
disk, and the file system format is also not at all compatible.
Thus the UniFlex format can rely largely on the WD17xx format, with an
overload to handle the sector numbering on the second side continuing from the
first side (one feature in common with the Flex format). This gives a quick
'save' capability and shares code.
Support for 8" disks is included as this was the initial distribution format
and the only one found so far.
* gdbstub: added new GDB stub debugger
This debugger can be used to connect to an external debugger that
communicates using the GDB Remote Serial Protocol, such as GDB itself
or many other GDB frontends.
Currently i386 (ct486), arm7 (gba), and ppc (pmac6100) are supported.
* gdbstub: enable GDB stub debugger in mac and windows builds
--------------
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
* There is no longer a concept of "layers" - there are only screens and elements.
* Elements are now instantiated with <element ref="...">
* Screens and elements can have explicit blending mode specified with blend="..."
* Default blending mode for screens is "add" and default for other elements is "alpha"
* Other supported modes are "none" and "multiply"
* This removes the options to enable/disable layers individually - use views instead
* Legacy layouts can still be loaded, and support won't be removed for at least a year
The current artwork model is over-stretched. It's based on a Space
Invaders cabinet model, and isn't applicable to a lot of the systems
MAME emulates now. The fact that MAME has to switch to an "alternate"
mode to deal with games like Golly! Ghost! without requiring pre-matted
bitmaps shows that the Space Invaders model wasn't even adequate for
general arcade use. It shows in that for a lot of the systems that
heavily depend on artwork, people just seem to randomly choose layers
for elements until they get something that works. Also, the fact that
MAME will switch to an alternate (Golly! Ghost!) mode depending on the
combination of elements is a trap for people learning to make artwork.
There are cases that the current approach of implying the blending mode
from the layer doesn't work with. Examples include LEDs behind
diffusers (requires additive blending for layout elements), and mutliple
stacked LCD panels (requires RGB multiplication for screens).
For configurability, it's now a lot easier to make multiple views using
groups. For example, if you want to make it possible to hide the
control panel section of your layout, you can put the control panel
elements in a group and create views with and without it.
I will gradually migrate the internal artwork to use the new approach.
I have an XSLT stylesheet that helps with this, but I'm not comfortable
adding it because it isn't a complete solution and it still requires
manul steps.
I wanted to get the re-worked pointer handling done sooner so I could
push them both at the same time, but unfortunately various things have
prevented me from progressing as quickly as I wanted to. Sorry guys,
that stuff's going to have to wait.
* 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)
- dxsdk was missing from includes
- winmm was missing from libs
- narrowing warning was silenced for VS, but not from vsllvm, where it leads to an error in menu_video_options::handle()
* hp9845: fixed handling of optional ROMs (nw)
* z80sio: massive enhancement to Z80 SIO driven by HP98046 test sw
* hp9845: implemented the HP98046 serial I/O module
* 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
* smartfp generate an interrupt, add a palette (nw)
* video registers look a lot like the spg220 hw here (nw)
* getting ready to split into video (nw)
* code shuffle (nw)
* shuffle (nw)
* (nw)
* (nw)
* (nw)
-newport: Unified command handling, should function better and faster as a result. [Ryan Holtz]
-hpc3: Added intstat register and DAC volume controls. [Ryan Holtz]
* unsp refactoring / tv game work (nw)
* unsp refactoring / tv game work (nw)
* srcclean (nw)
* more ops (nw)
* (nw)
* (nw)
* guesses (nw)
* more guesses (nw)
* (nw)
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.
On Linux, enable Xinput support by default. The Xinput lightgun driver is the
only reliable+accurate method to use lightguns on Linux, we should enable this
by default to reduce the friction for Linux Lightgun users. This should have no
effect on users of Windows/Mac etc.
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
* spg110: jak_capb misc guesses (nw)
* misc priority stuff (nw)
* tweaks (nw)
* more tweaks (nw)
* small spg2xx refactor (nw)
* some spg2xx refactoring (nw)
* (nw)
* tidy (nw)
* these have all been moved out into modules (nw)
* sprite work in progress (nw)
* (nw)
* spg110: shift some stuff around and split into files here too
* (nw)
* (nw)
* (nw)
* sprite improvements
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.
- added MOSFET model. Currently capacitances are not modelled.
This is a 3-pin model (Bulk connected to Source) with provisions to
extend it to 4-pin at a later stage.
- Add a capacitor generic model which is charge conserving.
Switch netlist to use this model instead of constant capacity model.
- Start putting constants into a central place.
Please expect minor timing differences due to a different numerical
path.
The cmos inverter example illustrates the analog implementation of a
cmos inverter gate. These were used a lot back in the 70s/80s to
generate sinus waves. The model should also be able to better emulate
4066 analog switches.
The addition of a relatively simple capacitor model is planned at a
later stage.
Expect everything from the MOSFET model at the current stage. Wrong
results as well as convergence issues and crashes.
- 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.
.
A single 64K 2-way set associative cache
Used for both instructions and data
Enabled only for addresses in the first megabyte
Works always in writeback mode
.
It is needed by the nforce motherboard bios that uses it to simulate a
block of ram at address d0000 before ddr ram is configured
* SPG2XX - Make audio emulation a subdevice
(I need to reuse some of it for SPG110)
* these will end up in different places on spg110 so split the handler (nw)
* refactor a little for cleaner use later (nw)
* realign logging with function names (nw)
* (nw)
* (nw)
* recent change in audio_beat_tick appears to break "icanpian jjs" seems unintentional? (MG please verify)
also documented an existing suspicious use of 'channel' in code.
* use channel_bit here instead, seems more logical (nw)
* reorganize code here a bit too (nw)
- 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
I don't really understand why this works, but it enables building with VS 2017 15.7.6 as before. Apologies if it breaks LLVM on VS - I don't have that configuration to test.
* Document cross-compilation options
* Use lowercase for some libraries that are lowercase in system32 on Windows anyway
* Make USE_BUNDLED_LIB_SDL2=0 not use the bundled SDL
* 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)
WIP checkpoint: while I believe it's largely accurate (and very slow), neither jazz nor sgi systems can fully boot yet using this device, so it remains experimental.
This implementation should go away when it has helped identify the improvements required for mips3.
- Added Slogger Plus 2 Expansion, Acorn Tube Interface and P.R.E.S. Advanced Plus 5 cartridge devices.
- Use derived 16Mhz clock on expansion bus and cartridge slots.
- Removed MCFG and added devcb3 in expansion and cartridge devices.
----------------------------
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]
* Split up the different parts of ICO loading in the menus (locating files, scaling, drawing, etc.)
* Added icon support to software selection menu
* Added support for more ICO file variants, including PNG-in-ICO (new DIB parser is overkill for ICO but I can factor it out for BMP loading at some point)
* Added favourites filter for software menus - includes software that's favourited on any system, so GBC includes DMG favourties and vice versa
* Eliminated unnecessary member variables and O(n) walks in software selection menu
* Made the menus' cached texture structures a bit more efficient
* 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)
-vsmileb: Found enough port bits to show the VTech logo and V.Smile Baby intro. No game boots yet. [Ryan Holtz]
-spg2xx: Added separate logging for external interrupts and address mapping. [Ryan Holtz]
- 32K ROM slots in B+ and Master series.
- PALPROM carrier boards from Computer Concepts, Watford Electronics, etc.
- Real Time Clock ROM devices from Solidisk and PMS.
- UserRAM sideways RAM from Acorn User.
- MRM E00 DFS.
* new NOT WORKING --- Classic Arcade Pinball (JAKKS Pacific TV Game) [Sean Riddle, David Haywood]
* move to new driver instead (nw)
* minor note updates (nw)
* map inputs in matelcs (currently needs a hack to boot, so won't show anything yet) also removed a pointless bitswapping in a read function for some other stuff in the driver, and just correct the ports instead
* fix a typo (nw)
* note (nw)
* new NOT WORKING
---
Play TV Buckmasters Huntin' (NTSC) [Sean Riddle, Peter Wilhelmsen]
(gun needs mapping)
* new NOT WORKING
---
Track & Field Challenge [Sean Riddle, Clawgrip]
HELP! can't figure out what architecture this is, need to identify CPU type etc.
* rad_hnt digital controls (nw)
* more digital inputs (nw)
* change CPU type to G65816 based on feedback
* improve notes (nw)
- Add custom keyboard port and emulate most of the Expanded Typewriter Keyboard
- Add unidirectional printer port
- Use addressable latch devices to control various things, including disabling display during RAM test
- Hack to pass non-volatile memory test on uts10
* nes_vt: Add support for second APU and VT03 PCM
* nes_vt: Add support for VT3x PCM in DGUN2573, etc
* nes_vt_apu: Tidy up after rebase (nw)
Signed-off-by: David Shah <dave@ds0.me>
* nes_vt_apu: Add IRQ support
Signed-off-by: David Shah <dave@ds0.me>
* nes_vt_apu: Remove debug printing (nw)
* nes_vt_apu: Fix indentation (nw)
* new NOT WORKING ClickStart [Sean Riddle, Clawgrip, TeamEurope] + a Software List for it
seems to be something missing, jumps to outside of code area, maybe secondary small internal ROM of CPU. I did think the dumps were half size for various reasons, but there is a checksum in the footer of each one that matches the data (even if another checksum in the header for some of them we can't match) Possible BIOS is wrong tho as that checksum in the footer doesn't match by quite a significant amount.
most games show something just by putting a 'RET' opcode in the upper areas it attempts to jump to.
Ryan credited in driver since it's more or less just a stripped down copy of vsmile.cpp
* more correct (although does less now because of extra checks in new code) (nw)
* (nw)
* (nw)
* XaviX work
new Software List items [Sean Riddle, David Haywood]
ekara_japan_d:dc0002 BAT Volume 6 (Japan) (DC0002-BAT)
ekara_japan_d:dc0005 TV Pop Volume 9 (Japan) (DC0005-TPJ)
ekara_japan_p:pc0001 BHT Volume 4 (Japan) (PC0001-BHT)
ekara_japan_p:pc0003 ENB Volume 1 (Japan) (PC0003-ENB)
ekara_japan_g:gc0001 BAT Volume 1 (Japan) (GC0001-BAT)
ekara_japan_g:gc0016 TV Pop Volume 5 (Japan) (GC0016-TPJ)
ekara_japan_web:ekaraweb12 e-kara Web cartridge 12M (blank) (Japan)
new clones
e-kara (US?, NTSC, set 2) [Sean Riddle]
enable support for 'p' type cartridges for use with ddrfammt [David Haywood]
various documentation improvements [Sean Riddle, David Haywood]
(there are also 3 bad dumps, currently commented out, will replace later)
* improved filenames (nw)
* for later (nw)
* checkpoint (nw)
* seeprom stuff (nw)
* (nw)
* correctly saves, does not correctly reload, also promote popira and ddrfammt to working
* new Software List entries [Sean Riddle, David Haywood]
ekara_japan:ec0001 J-Pop Mix Volume 1 (Japan) (EC0001-JPM)
ekara_japan:ec0032 ANM Volume 2 (Japan) (EC0032-ANM)
ekara_japan:ec0037 ENK Volume 4 (Japan) (EC0037-ENK)
ekara_japan:ec0046 J-Pop Mix Volume 20 (Japan) (EC0046-JPM)
ekara_japan:ec0005 J-Pop Mix Volume 5 (Japan) (EC0005-JPM)
ekara_japan:ec0007 1976-78 Volume 1 (Japan) (EC0007-G76)
ekara_japan:ec0079 ETZ (Japan) (EC0079-ETZ)
ekara_japan:ec0082 Matthew's Best Hit Selection (Japan) (EC0082-MBH)
ekara_japan:ec0009 ANM Volume 1 (Japan) (EC0009-ANM)
ekara_japan_en:en3 EN-3 (Japan)
ekara_japan_m:mc0013 KSM Mini Volume 5 (Japan) (MC0005-KSM)
ekara_japan_s:sc0012 SAI (series 3) Volume 3 (Japan) (SC0012-SAI)
ekara_japan_s:sc0004 SAI (series 1) Volume 1 (Japan) (SC0004-SAI)
ekara_japan_g:gc0002 BHT Volume 1 (Japan) (GC0002-BHT)
ekara_japan_g:gc0003 BAT Volume 2 (Japan) (GC0003-BAT)
ekara_japan_g:gc0004 BHT Volume 2 (Japan) (GC0004-BHT)
ekara_japan_p:pc0004 BHT Volume 7 (Japan) (PC0004-BHT)
* (nw)
* notes (nw)
* (nw)
* this register seems to be r/w (nw)
* fix crash in popira when pausing (requires register readback)
* save state stuff (nw)
* give excite fishing some inputs while I'm making misc minor changes (nw)
* also promote the Nostalgia games, and Card Night, as they have simple digital inputs and seem to work
* (nw)
* copy+paste modernization
* 2 more dumps (nw)
* doesn't seem to have an seeprom (nw)
* preliminary taikodp controls (nw)
* P4 uses SEEPROM (nw)
* rejig some bases (nw)
-sound/discrete, okim6295: Removed MCFG macros. [Ryan Holtz]
-norautp, osi, audio/mario: Removed MACHINE_CONFIG macros. [Ryan Holtz]
-vsmile: Split into its own driver from vii.cpp. [Ryan Holtz]
-vii: Fixed broken controller inputs. [Ryan Holtz]
-konamim2: Massive update. Most games work, but are still marked non-working due to rare MAME crashes in the PPC DRC. [Phil Bennett, Ryan Holtz]
Marked as non-working because the correct terminal isn't emulated, so we
can't fully verify that everything works. Run it with '-ser terminal' to
see the garbled output.
This also adds the clone Grundig FL-100.
* Fix compile for Android, set API to 24
* Update Android Studio project to API 24
* Fixed project file to latest Android Studio
* fix build with gradle alone
* Added new driver: HP 3478A Multimeter
WIP, machine not working, skeleton, highly incomplete. Compiles, that's
about all.
* hp3478a: implement ROM banking
code runs "properly" at least to the CAL RAM check (fails, RAM not
implemented)
* hp3478a: some IO work
Interpret CS lines for external accesses (GPIB, CAL RAM, DIP switches).
Also, remove MCFG_ stuff
Also, use logmacro.h stuff
* hp3478a: partial emulation of LCD
The main CPU has a serial link to the LCD module. This WIP splits
commands and data mostly successfully (still some bogus shifting which
would be fairly easy to ignore). None of the commands are implemented
yet, and no actual display is generated yet.
Includes unrelated tweak : only change bank when the A12 line changes.
* hp3478a: added LCD rendering !
code shamelessly stolen from tranz330 and roc10937 drivers.
Not clickable yet.
* hp3478a: implement CAL NVRAM
Finally. IO mapping has provisions for the DIP switches as well as i8291
GPIB interface registers.
* hp3478a: improve LCD rendering
Remove some artifacts: with the LCD "not selected", some data is sent on IWA (probably
to purge a shift register ?) but was parsed with the last m_lcdiwa
state. Reset this everytime PWO is deselected.
Also parse decimal point, comma and "all segments".
* hp3478a: implement keypad
* hp3478a: CAL switch to write-protect NVRAM
* hp3478a: implement DIP switches
* hp3478a: fix self-test reset freeze (missing WDT)
There is an external WDT counter that is periodically reset by the CPU
in normal operation. When forcing a reset from the front panel, this
counter is allowed to overflow (20th bit, clocked at Xtal / 15), giving
a reset time of about 1.3s.
* Add per-language compiler flag options to help with exotic setups
* Get rid of a potention buffer overrun in NuBus image card
* CHAR_WIDTH and LONG_WIDTH are preprocessor macros in limits.h with glibc if __GLIBC_USE (IEC_60559_BFP_EXT) is enabled - avoid using them as names
* Make formats/upd765_dsk.h slightly safer with defualt initialisers for key format members
* Don't rely on random BSS data being zero in imagedev/floppy.cpp
4D/20 is a Personal Iris. The IP15 ROM in this skeleton belongs to the IRIS POWER Series model 4D/4x0, so I've assumed that's what the driver should be for.
Used in the high end HP9000/300 machines. Provides a resolution
of 1280x1024 @ 8bpp. It also provides two overlay planes and one
phantom plane. Each plane contains two window movers that are used
for copying characters and tiles on the screen. It also has a RUG
for line/vector drawing. The current state implements everything
that is required to have a working HP Visual user environment in
MAME.
Working:
- window mover
- pixel replacement rules
- window replacement rules
- f0 tripple replacement rule (copy src or keep destination depending on pattern register)
- VRAM bit access mode
- solid line drawing
Not implemented yet:
- drawing circles
- linetype vector/circles
- rectangles
- filling areas
- tripple replacement rules other than f0
-mips3.cpp: Various changes: [Ryan Holtz]
* Added an #ifdef to display DPRINTF calls from the SGI O2 PROM.
* Switched R4000BE/LE, R4400BE, R4600BE, and R5000BE to 64-bit data bus.
* Fixed a bug that caused a crash with 64-bit data bus and the DRC.
-indy_indigo2.cpp: Moved a number of devices into HPC3. [Ryan Holtz]
-hpc3.cpp: Fixed an oversight with IRQs. [Ryan Holtz]
- Rename driver
- Remove skeleton QVT-102 we already had, add its alternate ROM to the
driver along with the keyboard MCU ROM
- Major gfx rendering update, supports all attributes but needs
verification
- Add NVRAM
-nscsi_cd.cpp: Added various new-SCSI CD-ROM devices which support 512-byte blocks by default. [Ryan Holtz]
-sgikbd.cpp: Added a rudimentary HLE SGI Indigo keyboard device. Still needs keys to be mapped. [Ryan Holtz]
-indigo.cpp: Various changes: [Ryan Holtz]
* Expanded logging.
* Enabled PIT8254 timer. Has the wrong clock value; the correct clock causes a hang.
* Improved RAM layout.
* Added stubs for DSP RAM and Entry-level graphics.
Two sample roms are missing, sad. Volume is not taken into account
yet (because the registers are not yet understood), pan is though.
Don't even think about reverb or effects :-)
Current code plays a scale in a loop. Comment the timer alloc in
machine_reset to kill that.
Demo song (missing lots of sounds, because roms): U then > until demo
then ENTER ENTER.
-change order of include files at top of i386.cpp
-move some routines between i386.cpp and i386priv.h
-move part of x87ops.hxx into new file x87priv.h
.
Now you only have to rename the hxx files to cpp and add the following
at the top of each one
.
#include "emu.h"
#include "i386.h"
#include "i386priv.h"
#include "x87priv.h"
#include "cycles.h"
#include "debugger.h"
#include "debug/debugcpu.h"
#undef i386
* [R9751] (Squashed) Early work on SMIOC emulation
commit 9b587be762abfd576e92792c612cd205c570924d
Author: Stephen Stair <sgstair@akkit.org>
Date: Tue Apr 10 19:41:55 2018 -0700
Connected SMIOC DMA to 68k
* SMIOC now reading bytes for serial from the 68k memory space successfully.
commit 0f801a05a3fa5b78768a1a2bcb9981466e8f2b0e
Author: Stephen Stair <sgstair@akkit.org>
Date: Tue Mar 27 18:31:32 2018 -0700
68k now running in lockstep with SMIOC for serial
* 68k now uses actual SMIOC as source of SMIOC status, so it waits for the SMIOC to complete commands before continuing.
* SMIOC DMA controllers now being asked to move bytes around
* "write character" (4100) commands to SMIOC are now completing and resulting in correct status being written and sent back to the 68k
* Every now and then the SMIOC stalls for a bit, it seems to be due to spending some time trying to communicate with the 8051 CPU (used to communicate with another cpu on the serial breakout box) that is not currently present in the emulated device.
Next Steps:
* We're going to move the terminal from the r9751 into the SMIOC, and hook it up to the DMA controllers as a hacky temporary solution.
* We need to emulate the 5xxxx memory range in SMIOC to proxy data to/from the 68k memory
* Then we'll start work on emulating the octal uart properly and hooking it up to RS232 channels.
commit ca91614fca3f43d87755d0c3439521276d7bfafb
Author: Stephen Stair <sgstair@akkit.org>
Date: Wed Mar 14 19:52:04 2018 -0700
Tinkering to get SMIOC further along
1) Enable 188 cpu to advance DMA immediatley if DRQ is held high when source synchronous DMA is started (It's not clear whether the DMA actually works this way yet)
2) Retrigger the DMA DRQ when a memory access is made to the DMA window (future work needed to proxy the reads/writes to the 68k's main memory) This is needed to support multibyte DMA reads/writes to the 68k window.
3) Reverse the bytes in the status register (based on current incomplete understanding of how this is encoded)
4) Connect the status register back to the r9751 on SMIOC status read
Current state: SMIOC's main board DMA state machine now completes the DMA transfer from the main board (With incorrect data), but we are still getting stuck.
Next steps: SMIOC is now hanging waiting on DMA to UART to complete, we need to implement some emulation of the UART and its connections to the surrounding 16 dma channels in order to make progress.
commit 62c1455c97a53ed970622e08cb03a225625914fd
Author: Stephen Stair <sgstair@akkit.org>
Date: Sun Mar 4 20:13:32 2018 -0800
Progress on emulating SMIOC
commit daee8498c5840417aee3ed9def0acfba5476335a
Author: Stephen Stair <sgstair@akkit.org>
Date: Sun Feb 25 20:02:32 2018 -0800
Working on bringing up SMIOC
Trying to get emulated SMIOC in lockstep with the main 68k.
commit 5a929fde90307040a0544682888f2f21a914b900
Author: Stephen Stair <sgstair@akkit.org>
Date: Wed Feb 21 20:06:27 2018 -0800
re-enable SMIOC, Logging improvements, first steps towards emulating on-board hardware.
commit f0c7a1665a18c99df5527ae45994f39f95223814
Author: Stephen Stair <sgstair@akkit.org>
Date: Sun Feb 11 16:26:31 2018 -0800
Emulation fix - Terminal now responds to input
commit ecff4035f3fdaa0329df46f99ccd516aa23ec8af
Author: Stephen Stair <sgstair@akkit.org>
Date: Tue Feb 6 19:00:35 2018 -0800
Hacky emulation of SMIOC
now successfully receiving serial characters!
commit 376bca90dff311d24e1f5014d8d6f0dc297bf671
Author: Stephen Stair <sgstair@akkit.org>
Date: Sun Jan 28 18:31:38 2018 -0800
Experimenting with SMIOC emulation
* Partial fixes for line state issues with persistent line values
When the AM9517 DMA controller mode is updated to change the polarity of DACK/DREQ, it doesn't update the DACK line values / request values (respectively).
This fixes this issue for one of the emulated devices in the file, but the other device has the same problem.
* Add skeleton of SCC2698B UART device
* Early progress on emulating SCC2698B Octal UART
Core structure for IO lines and writing registers is in place.
* Update address maps to new format.
* SCC2698b: Add tx/rx, baud rate generation
* Emulation improvements for scc2698b device
* MPP output pins emulated
* Improved logging for baud rate changes
* Channel configuration emulated
* Support for TX/RX Enable
* Started integrating new features into SMIOC
* Minor progress on the path to enabling new UART for SMIOC
* Resolved code issues related to upstream changes
* Working around an apparent problem with callbacks on sub-device devices
* Terminal added for serial port attached to SCC2698B UART.
* Things compile and seem to work.
* SMIOC: Serial is now outputting correctly through emulated SMIOC
Some glitches to work out, but this is nearly ready.
* AM9517a should not forget about input line status on master reset.
* Disable tracing
* SMIOC: Improving diagnostics and making some progress on the emulation
* Revised tracing in SMIOC and SCC2698B
* Improved tracing approach in r9751
* Minor progress towards working SMIOC emulation.
* [R9751] Update drivers to new code patterns after rebase
Rebased on latest mame, Fixed a few issues and updated the callback code patterns based on recent changes in devcb
* [R9751] Improve logging, fix interrupt race
Serial no longer drops output characters
* [R9751] Working on SMIOC emulation
Improved SMIOC emulation accuracy, Made some progress in getting through the disktool initialization sequence, but we are still hitting a problem - It looks like disktool should be resetting the SMIOC board when it starts, but the mechanism for this has not been found.
* [R9751] Improve tracing for system board registers
* [R9751] Improve SMIOC emulation
Still having some trouble with SMIOC but this seems to be an improvement.
SMIOC is now waiting for a status to be read before applying a new status, and mandatory parameter read logic is in place.
* [R9751] Incremental emulation improvements
the SMIOC failure was understood and fixed, and a new approach to getting the hardware to bootstrap correctly was implemented - Still having some problems with it though.
* [R9751] Fixed emulation issues
* Disktool now boots to the console
* UART receive only partly working, I don't think it's fully connected yet.
* [R9751] Further progress on SMIOC emulation
* Figured out the missing command parameter interface to the SMIOC board
* Still blocked because the SMIOC interface to the breakout board through an onboard 8051 is not emulated and the disktool software depends on properties coming from it.
* [R9751] Terminal is fully working for disktool
* Improved the emulation of the 80188 to 451 connection in order to reliably set a status bit disktool depends on.
* [R9751] Fix build after rebase
* [R9751] Cleanup, tracing improvements
* Remove second emulated terminal - SMIOC is now stable enough to run the terminal.
* Remove older and unnecessary emulation/tracing code
* r9751: Fix compile error and modify copyright holders
Zilog Z8038 FIO (FIFO Input/Output Interface Unit). Used to drive the parallel/printer port on the MIPS Rx2030. Passes basic diagnostic tests, but further work depends on progress in the mips.cpp driver.
A driver for machines made by MIPS Computer Systems, which used MIPS R2000, R3000 and R6000 CPUs and ran RISC/os (a port of UNIX System V Release 3). Initial focus is the RC2030 headless workstation. As of this commit, it gets part-way through its I/O processor diagnostics with output to a serial terminal.
* naming changes (nw)
* move stub audio related functions to their own file (nw)
* addressing notes (nw)
* control sprite mode with sprite reg instead of value set in init (nw)
* refactor a bit (nw)
* sprite DMA connects directly to spriteram, not through the main bus (nw)
* minor changes (nw)
* fix multiplier unit use in rad_madf (nw)
* implement 'text array / memory emulator' (nw)
* some naming (nw)
* code treats this like another palette entry (bg pen maybe)
On HP9000/300, these modules where always a logical unit connected to
the DIO bus. On some systems this was even a seperate DIO module. Lets
represent this in software. It also cleans up hp9k_3xx.cpp.
* hphybrid: major overhaul to add the 09825-67907 variant
* hphybrid: adapted hp64k & hp9845 to revised hphybrid CPUs
* hp9825: first release of HP9825B emulator
* hphybrid: added 09825-67907 to unidasm
* hp9825: improved appearance of blinking cursor
* hphybrid: minor changes
* mwarr.cpp refactoring
* mwarr.cpp refactoring
* stlforce refactor (nw)
* use suggested syntax, unless there's something to actually modify instead of outright replace?
* ok, no need to signal that we're modifying a device at all, just modify it (nw)
* move includes as requested (nw)
* do stuff modern way (nw)
* namco checkpoint (including cam900 submission)
* move code into device (nw)
* start splitting DSP support code into devices (nw)
* fix crash (nw)
* prepare for further splitting (nw)
* move code for C67 based DSP PCB into it's own device (nw)
* survive F3 resets without crashing or breaking the 3D (nw)
* less magic numbers (nw)
* optional -> required
don't use fake bootstrap on older type, suspend CPU instead
* restore CPU yield hack for solvalou (nw)
* (nw)
* give galaxian3 some DSPs (nw)
* address hap's concern with a different workaround since MAME is awkward (nw)
* split namco21 driver into 3 drivers as the different configurations really are entirely different boardsets with similar components, not a real 'system'
emulated entire PCB set for driveyes ( http://www.tvspels-nostalgi.com/Bilder/PCB/Namco/driverseye_cage_inside.jpg ) although how the PCBs communicate is not yet known (C139 maybe, which might also be an MCU)
* remove empty file (nw)
* actually thinking about it, this is cleaner (nw)
* mark cybsledj as World instead, there's nothing about this set other than the CY1 code to indicate that it's a Japanese set, and I don't think the Namco codes represent region, just release order.
* newline (nw)
* newline (nw)
A skeleton for the Microsoft Jazz architecture, which was implemented in the MIPS Magnum 4000, Olivetti M700-10 and was the base/origin of several other MIPS ARC systems.
* added skeleton Inmos G300/G332/G364 device
* added skeleton NatSemi DP83932C SONIC device
* added skeleton MCT-ADR device
* Separate Microsoft 2-button mouse and Logitech 3-button Microsoft-compatible mouse
* Add Microsoft wheel mouse
* Make Mouse Systems mouse behave more realistically
* Add Mouse Systems "rotatable" mouse
* Simplify code and eliminate timers
(nw) X/Y translation and buttons works for all devices. The wheel on
the wheel mouse seems to be transmitting the right data, and CuteMouse
detects the wheel as being present, but no software seems to support it
properly. Software supporting the Mouse Systems "rotatable" mouse is
very rare - typically people just set the DIP switches on their M-1 for
"non-rotatable" mode. A standard mouse driver will see the "rotatable"
mouse moving two mickeys for each count, and move eratically on
rotation. The "rotable" mouse is poorly tested due to lack of software.
(nw) MAME doesn't have a proper input type for a mouse wheel, and it
doesn't seem to be possible to map the host mouse wheel to an axis when
configuring inputs. The default mapping ends up assigining the wheel or
rotation to one of the translation axes, which is very unhelpful.
Also add notes to Sun keyboard emulation.
There's a hack to make the 1200 Baud mouse actually run at 9600 Baud.
This is necessary because the SCC is incorrectly expecting 9600 Baud
rather than 1200 Baud. I don't have time to fix the SCC, so I'd
appreciate it if someone else would.
There's no way it should be expecting 9600 Baud on the mouse port.
Solaris 2.3 and later support 1200 Baud and 4800 Baud, and earlier
versions support 1200 Baud only. No version of Solaris works with a
9600 Baud mouse.
The workaround allows the mouse to be used in SunView on sun4_60 - I
haven't tested any other drivers.
* split namco c169 roz chip from namcos2 by making it a device (nw)
some reorganization still needed (eg move init stuff to config)
* push on this way, old non-device code was working by chance (nw)
* use std::fill instead of memset
* tidy (nw)
* split out the c355 sprites into a device too (nw)
* this isn't used (nw)
* also not used (nw)
* split out c123 tilemap chip
* modern here too (nw)
* namco system2 sprite chip is a device, move content of machine/namcoic.h to a text file in 'etc' as it's not really code at all, and the cpp file is no longer needed
* Namco System 2 ROZ is a device (so only gets created on games that have it, avoids a crash in old code in tilemap viewer)
* untangle namcofl from namcos2 now that things are devices
* untangle namconb1 from namcos2
* untangle gal3.cpp from namcos2
* untangle namcos2 and namcos21 - part 1 (ugly part)
* untangle system2 and system21, part 2
* use c68 for c68 based games in namcos21.cpp and some cleanup / notes / reorganization / default nvrams
* naming cleanups (nw)
* c123 - move init to device config
* c169 init -> device config
* c355 init -> device config
* new clones
Four Trax (Japan) [ShouTime, The Dumping Union]
note, one of the gfx roms in the MAME set has an 'fx2' label, it should be verified.
also replaced the ROMs for the fourtraxa set, the old ones had a 0x00 fill instead of a 0xff fill but were otherwise identical, it's a weird mod of the World set that hides most of the advertising banners, replacing them with generic ones, presumably for legal reasons?
- Add and identify some extra IOC firmware revisions (v1.3 from Bitsavers)
- More descriptive names for ROMs of latest IOC revision (from Bitsavers)
imds: Remove skeleton driver; ROMs preserved as v1.4 of imds2ioc
* Add huc6230 Emulation
huc6272.cpp : Add ADPCM transfer, Add save states
PC-FXGA for PC-9801 C Bus is released in December 1995 in Japan, Correct metadata
* huc6272.cpp : Fix ADPCM address
* huc6230.cpp : Simpler interpolate
* huc6230.cpp : Fix clamp
huc6272.cpp : Fix ADPCM nibble
* huc6272.cpp : Fix data type
* Revert pcfxga year; PC-FXGA for PC9801 C-bus is not dumped?
* Implement Mitsumi Amiga 500, 600, and 2000/3000/4000/CDTV keyboards
* Add unlabeled keys to UK layout
* Restrict available keyboards depending on system type
* Note that C-A-A reset is now broken on "big box" Amigas as MAME doesn't implement it properly, and the hack providing a fake dedicated reset line has been removed
6502 MCU: fix execute loop
6500/1: implement as device with onboard peripherals
Fix some bogus comments
(nw) New keyboard only has U.S./Canada and UK variants for now. This keyboard doesn't
drive a dedicated reset line, instead using some sequence on the clock line detected by
the host chipset. MAME doesn't support this, so keyboard reset won't work. Also started
documenting the character labels on the keypad NumLock/ScrLock keys for language variants
but still need more pictures.