- Rewrite memory system, now allows supporting expansion devices and better prepared for contention emulation
- Add expansion interfaces for rear expansion, drive ports and mouse
- Now supports the following rear expansion devices:
* Blue Alpha Sound Sampler
* Dallas Clock
* 1 Mb Interface
* SAMBUS 4-slot Expansion Interface (with clock)
* SID Interface (6581 and 8580 variants)
* S.P.I. SAM Parallel Interface
* Voicebox
- Added support for the Atom HDD interface, used in place of a floppy drive
- Simplified and cleaned up driver
- Temporarily deactivated joystick code, interferes with the keyboard
Available keyboards are us (M0110, U.S.), gb (M0110B, British), fr
(M0110F, French), pad (M0120F, numeric keypad with passthrough port)
and plus (M0110A, U.S. with integrated numeric keypad). The mac128k,
mac512k and mac512ke drivers default to the numeric keypad with the
U.S. keyboard connected to the passthrough port; the macplus driver
defaults to the U.S. keyboard with integrated numeric keypad.
Note that the numeric keypad may seem strange. Four of the operators
work as cursor arrows if you don't hold shift. There is a comma on one
of the keys, but by the time System 6 was released, Apple had decided
an equals sign was more useful, so that's what it will produces on
newer system versions. The U.S. keyboard with integrated numeric
keypad emulates these aspects of the stand-alone keypad - pressing the
operator keys on the keypad sends fake shit key down/up events, and
using the arrow keys while holding shift will produces operator
characters rather than selecting text.
The ISO layout keyboards (M0110B and M0110F) produce different scan
codes to the ANSI keyboards (M0110 and M0110A) but they don't report a
different identification byte. To use an ISO keyboard, you must open
the Keyboard control panel and change the layout to International (and
change it back to Domestic if you switch back to an ANSI keyboard).
This doesn't actually work at the moment due to issues with 6522 VIA
emulation, but it will work with macplus sys603 if applied on top of
revision 963a2c166d.
-----------------------------------------------------------------------
* Support Colecovision Megacart.
Assume that a rom file that is more than 32K in size is a megacart
and that it should be bankswitched using Megacart protocol.
* Put megacart functionality in its own cartridge type.
--------------------
MDT 60 Video Display Terminal [Bitsavers, AJR]
z29: Add skeleton for undumped keyboard; try (and fail) to make this work with the MDT 60 keyboard instead
z22: Separate driver (nw)
Changes:
- added known dump checksums of 1101 BIOS
- high-level emulation of GPIB disk devices
- partial implementation of DMA (currently ignores ACCRQ so devices must have zero latency in order for it to work)
- serial is now properly memory-mapped
- modem stub in order to make system properly ignore modem device
- it now boots without any patches and debug scripts
- merged #6597 (needed in order to make disk devices work)
Still not implemented:
- RTC/MACHINE_ID
- modem
- has problems with multiple disk devices working simultaneously (possibly BIOS bug because this BIOS had some problems with that on real device)
- PAC2 is now a separate bus with slot devices
- Kanji ROM and RAM PAC2 expansions are no longer built into pasopia7, but may be configured as slot options
- RAM PAC2 expansion made nonvolatile and provided in multiple sizes
- Two PAC2 slots added to pasopia
* hp80: added HP82939 serial I/O module.
Fixed a small bug in INS8250 that prevented module self-test to pass.
Improved the interrupt handling of hp80 systems.
* hp80: changed scheduling to use "set_perfect_quantum"
- Make second 8355 into ROM expansion slot that can load custom 8755 programs
- Add software list for expansion ROMs, including Peter Naszvadi's version of Mastermind
- Add optional TTY interface
- Improve accuracy of button labels and change key bindings
- Add vectored interrupt and soft reset buttons
* 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.
* Changed emu_fatalerror to use util::string_format semantics
* Fixed some incorrectly marked up stuff in build scripts
* Make internal layout compression type a scoped enum (only zlib is supported still, but at least the values aren't magic numbers now)
* Fixed memory leaks in Xbox USB
* There can only be one "perfect quantum" device - enforce that only the root machine can set it, as allowing subdevices to will cause weird issues with slot cards overiding it
* Allow multiple devices to set maximum quantum and use the most restrictive one (it's maximum quantum, it would be minimum interleave)
* Got rid of device_slot_card_interface as it wasn't providing value
* Added a helper template to reduce certain kinds of boilerplate in slots/buses
* Cleaned up some particularly bad slot code (plenty more of that to do), and made some slots more idiomatic
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)
* 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)
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.
- 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
* 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
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.
- 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.
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)
- 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.
-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.
- 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
* 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)
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
-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.
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.
* 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.
* 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.
* hp9k_3xx: fix timer connection for /320 models
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* hp9k_3xx: add HP9122C floppy
Remove HP9895 from the default configuration. 3.5" where
standard on /300 and there's almost no software on it available.
If a user really needs 8" floppy drives on /300, he can do that via
commandline.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* add Intel i8291a GPIB Talker/Listener
Required for the HP 9122C floppy, and used in many other devices.
Basic functionality was implemented to make the HP 9122C work, a few
things are still missing and will be added later. Most of the missing
things where simply not used in the HP9122C so i cannot test them.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* Add HP 9122C floppy drive
These drives where common on HP9000/300 workstations. With the current
implementation TD0's from hpmuseum can be used to boot, and initializing,
reading and writing discs in HP basic works. Tested both high and double
density media. Supported Media formats are TD0 and MFI.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* Remove vram_rw and ctrl_rw wrapper functions
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* topcat: replace hardcoded display width by m_fb_width
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* topcat: prepare topcat for multi plane operation
framebuffer vram is only 1 bit wide.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* 98544: set single topcat plane
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* add nereid mapper used on HP98543/98545 graphic cards
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* prepare for multi-topcat operation
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* add HP 98543 4 plane graphics card
* hp9k_3xx: add hp98543 card
* topcat,nerid: disable VERBOSE
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* hp98543: use required_device_array
* 98543: use required_region_ptr
* 98544: use required_region_ptr
* topcat: add save state support
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* nereid: add save state support
* hp98544,hp98543,topcat: use shared memory space
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* nereid: remove redundant variable
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* topcat, nereid: remove trailing underscore from include guard
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* topcat,hp98543: code style fixes proposed in PR
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* softfloat3: do we like this better? (nw)
* softfloat3: it gets the hose again (nw)
* softfloat3: sonofa (nw)
* interpro: wip checkpoint (nw)
* added 6x00 models
* added EDGE graphics skeleton
* split bus/cards into two types
* various fixes/changes
* interpro: slotify mouse (nw)
Needed to make the mouse a slot device to enable it to be connected to graphics boards under development.
* add validity check (nw)
The 98603A and 98603B cards have different base addresses and sizes
for the rom region. Split up the cards so that we can boot HP BASIC 4
and HP BASIC 5.1.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
* remote488: work started
* remote488: fixed a crash when using socketed bitbangers on Linux machines
* remote488: added ieee-488 remotizer device
* remote488: added remotizer devices to ieee-488 buses of HP9845 & HP85
* remote488: added missing emu.h inclusion
* Revert "remote488: fixed a crash when using socketed bitbangers on Linux machines"
This reverts commit edfeb1768ec332ccdb77584e272d93b756819c41.
* remote488: nudge..
* remote488: no longer use locale-dependent functions, added commas and
semicolons as msg separators, improved use of util::string_format
- P.R.E.S. Advanced Plus 3/4
- Advanced Quarter Meg Ram
- Cumana Floppy Disk System
- Sound Expansion
- Sound Expansion v3
- Stop Press 64
- Solidisk EFS
New working software list additions
-----------------------------------
electron_cart: Solidisk EFS 2.1E
New NOT_WORKING software list additions
---------------------------------------
electron_cart: Stop Press 64
Software list items promoted to working
---------------------------------------
electron_cart: Advanced Plus 3, Advanced Quarter Meg RAM, Slogger Electron Disk System, Sound Expansion v3
* fix/tidy tvboy driver (nw)
* missed file (nw)
* framework for adding 'gamebooster' (need to figure out how it actually works / maps tho) (nw)
(code based on zx spectrum expansion port code)
* (nw)
* lost a line (nw)
* allow it to run (nw)
* continued work (nw)
* mame64 psj -parallel gamebooster -cart tetris now works
* rm outdated (nw)
* remove unneeded code (nw)
* limit accesses, log unexpected ones, might have custom banking (nw)
* write bytes in an order that keeps the gb code happier , sml boots (nw)
Use "mame einstein -pipe tk02" to attach the 80 column device.
* Removed no longer needed einstei2 driver
* Added cursor rendering to the 80 column device
* Added support for the alternate character set (use dip switch to
change)
* Cleaned up and added save state support to the 80 column device
* added basic support for the system bus variously referred to as SR, SR bus, SRX and CBUS
* added an initial GT graphics card implementation, only supports the video ram and ramdac for now, but sufficient to boot the diagnostic monitor in graphics mode
* added a high-level emulation of the InterPro keyboard
protection handled etc. written from scratch based on notes from Kevtris and Peter
banking in the slot system seems somewhat archaic compared to proper modern banking, but this is how all other drivers I saw using slot roms did it.
* hp85: added support for optional ROM cartridges. Started optional ROM
sw list (not finished).
* hp85: refactored mapping of opt. ROMs according to cuavas' comments
* Implemented front panel mode switches/LEDs and reset switch
* Added skeleton bus for "universal" slots and connected control lines
(nw) Default keyboard mapping is annoying because left shift, Z and X
are used both for typing into the TTY and switching program bank. You're
better off changing the mapping to make it less annoying or using a
socket and talking to it with telnet.
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.
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)
* 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
* Make device_creator a variable template and get rid of the ampersands
* Remove screen.h and speaker.h from emu.h and add where necessary
* Centralise instantiations of screen and speaker finder templates
* Add/standardise #include guards in many hearers
* Remove many redundant #includes
* Order #includesr to help catch headers that can't be #included alone
(nw) This changes #include order to be prefix, unit header if applicable
then other stuff roughly in order from most dependent to least dependent
library. This helps catch headers that don't #include things that they
use.
* Put Amiga keyboard implementations in a namespace
* Factor out matrix keys to a common module shared by A500/A1200
* Make new German matrix based on US matrix with Alt-chars hooked up
* Remove outdated comment