Commit Graph

1172 Commits

Author SHA1 Message Date
Sven Schnelle
395d6a93b1 mb87030: add new SCSI controller (nw) 2018-10-07 15:37:23 +02:00
mooglyguy
b159118e22 vii: Device-ified the SPG2xx SoC. [Ryan Holtz] 2018-10-06 20:45:03 +02:00
Nigel Barnes
42b42714ed bbc_tube_6502/65c102: Added ReCo6502 Tube 1.21 ROM.
- Rewritten using bankdev and combined 6502/65c102 variants (nw)
2018-09-25 17:18:13 +01:00
AJR
fad9283ecc Preliminary emulation of National DP8350 CRT controller family 2018-09-25 00:51:14 -04:00
mooglyguy
27ee4f3915 -sun4: Added a sun4c MMU device. Currently wraps the functionality of S4-buffer, S4-cache, and S4-MMU, will eventually be split. [Ryan Holtz]
-sun4: Significant optimization, from 150% -> 330% unthrottled on an i7-5930K. [Ryan Holtz]
2018-09-22 19:41:10 +02:00
Patrick Mackinlay
895ffe0763 jazz: new skeleton driver (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
2018-09-20 18:08:59 +07:00
Vas Crabb
b5758f5273 Re-write serial mouse support:
* 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.
2018-09-19 20:00:56 +10:00
Nigel Barnes
282ebf014d bbc: Added Acorn Bitstik and Bitstik 2 analogue controllers. 2018-09-17 19:42:45 +01:00
Nigel Barnes
bcad4e9c09 bbcb: Added floppy disc controller options:-
- AMS 3" Microdrive Disc System
- Microware DDFS FDC (not working)
2018-09-17 19:18:38 +01:00
Vas Crabb
b566662a05 Add Sun mouse port and hook it up to sun3, sun3x, sun4, and sun4c.
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.
2018-09-17 20:03:25 +10:00
mooglyguy
59254bc5de -sbus: Added a skeleton device for the Artecon SB300P 3-serial 1-parallel SBus card. [Ryan Holtz] 2018-09-16 06:06:45 +02:00
mooglyguy
0a86f2efe9 -cgsix: Renamed turbogx.* to cgsix.* and added TurboGX+ support. [Ryan Holtz, Andrew Liles] 2018-09-15 20:28:53 +02:00
mooglyguy
c7170bed75 -sbus: Added a skeleton device for the SunSwift 10/100 + Fast Wide SCSI SBus board. [Ryan Holtz, Andrew Liles] 2018-09-15 18:33:57 +02:00
mooglyguy
cbdc9a71c7 -sbus: Added a skeleton device for the SunPC 5x86 Accelerator SBus board. [Ryan Holtz, Andrew Liles] 2018-09-15 18:03:05 +02:00
Ryan Holtz
7d3082e044 -sun4: Added basic support for cgsix/TurboGX SBus card. [Ryan Holtz] 2018-09-13 13:37:12 +02:00
mooglyguy
0c3074d912 -sbus: Added preliminary cgthree support. [Ryan Holtz] 2018-09-13 01:40:51 +02:00
mooglyguy
4948941213 -sun4: Added SBus slot bus and basic bwtwo slot device. [Ryan Holtz] 2018-09-13 00:30:10 +02:00
mooglyguy
a24d9ab6ae -am79c90: Added rudimentary AMD 79C90 LANCE ethernet controller support, enough to make sun4 happy. [Ryan Holtz] 2018-09-08 18:03:15 +02:00
mooglyguy
40efe9785f -st62xx: Added a skeleton driver for the STmicro ST6 series of microcontrollers. [Ryan Holtz]
New machines marked as NOT_WORKING
----------------------------------
Catherine Wheel [f205v, Ryan Holtz]
2018-08-25 00:18:07 +02:00
ajrhacker
d916d00911
Merge pull request #3795 from felipesanches/gtrak10_2018-jul-27
A large portion of the Atari Gran Trak 10 schematics (1974) implemented on MAME using the netlist subsystem.
2018-08-24 11:13:27 -04:00
cam900
3204234f8d Add huc6230 Emulation (#3829)
* 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?
2018-08-23 21:47:41 -04:00
Olivier Galibert
6e0bf6736a tms57002: Trick to reduce the compiler memory usage [O. Galibert] 2018-08-23 19:20:33 +02:00
Vas Crabb
012cbee2c3 Amiga keyboard overhaul:
* 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
2018-08-23 00:25:21 +10:00
Tomasz Slanina
403196c318 New Working Game
-------------------------------
Nightmare [Tomasz Slanina, Roberto Fresca, Jordi Beltran, Paco Ortiz, Recreativas.org]
2018-08-22 10:19:16 +02:00
Ryan Holtz
6641adfc90 -pcf8583: Added rudimentary Philips PCF8583 RTC emulation, based on the PCF8593 device. [Ryan Holtz] 2018-08-20 14:41:49 +02:00
Vas Crabb
98cbeff482 amiga: add support for Amiga 2000 keyboard with 8039 and external ROM manufactured by Cherry
(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.
2018-08-15 12:45:58 +10:00
arbee
31a32f451d h8: H8/3003 support [R. Belmont] 2018-08-02 20:27:11 -04:00
Patrick Mackinlay
7957feaefc taptun: add support for Windows (#3790)
* taptun: add support for Windows

Looking for feedback only at this point, because it's the first time I've attempted any OSD stuff - be gentle.

This extends the existing taptun OSD module to support Windows through the TAP-Windows6 driver (https://github.com/OpenVPN/tap-windows6).
* TAP-Windows6 is GPLv2, however only the header file is required in MAME, and the driver itself is entirely optional.
* I've tried to minimise the size of the diff, rather than completely separate the Windows/non-Windows implementations - not sure which is preferable in this case.
* The license file has Mac(?) line-endings - unsure if they should be normalized or used verbatim.
* Uncertain about the non-Windows case (or the Windows SDL case) - existing code uses __linux__, but I'm not clear on how that works with OSX, for example?
* I can't claim this actually "works" yet, because I don't know enough to configure the tap end of it properly to get networking doing something useful, but I will get there and correct anything necessary in a subsequent real PR.

* minor fixes/improvements (nw)

* Use Unicode Windows APIs, and UTF-8 for MAME
* Deal with unterminated registry string values
* Cancel any pending I/O in destructor
2018-07-30 18:52:11 +10:00
Felipe Corrêa da Silva Sanches
e88ec6a7a5 A large portion of the Atari Gran Trak 10 schematics (1974)
implemented on MAME using the netlist subsystem.
2018-07-28 11:37:12 -03:00
Vas Crabb
9db24aa2e9 Better support for screen orientation/geometry:
* Eliminates the need for the horizontal/vertical/LCD/SVG layout files
* Screens can now have orientation and physical aspect ratio specified
* RASTER/VECTOR defaults to 4:3, LCD/SVG defaults to square pixels at config time
* System orientation is applied on top of screen orientation

Automatically generated single-screen views and orientation flags in XML
output now work correctly for systems with multiple screens in different
geometries/orientations, e.g. housemnq, rocnms, stepstag, or netmerc.

The "core rotation options" only interact with system orientation.
Allowing multi-screen systems to work well with one monitor per emulated
screen is a complex topic.  System orientation also affects the GFX
viewer while screen orientation doesn't.  The orientation displayed in
the system selection menu is from the system orientation.

Let me know if I've broken any systems or use cases.

Also, add save state support for std::array/C array nested to any depth.
2018-07-26 23:11:02 +10:00
David Haywood
88b1546f30 Flesh out TLCS870 core (#3763)
* rewrote most of the execution for my tlcs870 core

* no longer the case (nw)

* note updates (nw)

* address concerns, const qualify more things where possible (nw)

* more const (nw)

* oops (nw)

* consistency (nw)
2018-07-23 10:24:10 +10:00
Justin Kerk
7809e9005d Better Emscripten parameter handling, & update docs (nw) 2018-07-21 22:05:45 +00:00
mooglyguy
eed782f1e3 ps2sony: Some basic VU1 support, major file reshuffling, nw 2018-07-21 10:07:00 +02:00
mooglyguy
5db11a5e02 ps2sony: Checkpoint, nw 2018-07-17 18:14:24 +02:00
Justin Kerk
38df7f4219 Update WebAssembly parameters for current Emscripten (nw) 2018-07-15 04:17:09 +00:00
AJR
47a460a35a New skeleton device: Western Digital WD1007A ESDI hard disk controller [Al Kossow] 2018-07-14 18:15:42 -04:00
Nigel Barnes
51fa9aa2e8 Acorn Bus slot devices for:-
Acorn Atom:
- AtomSID
- Acorn Atom Disc Pack
- Econet Board
Acorn System:
- 32K Dynamic RAM Board
- 8K Static RAM Board
- Cassette Interface Board
- Econet Board
- Floppy Disc Controller Board
- 40 Column VDU Board
- 80x25 VDU Board
- Versatile Interface Board
CMS:
- CMS 40/80 Video Terminal Card
- CMS Floppy Disc Controller
- CMS High Resolution Colour Graphics Card
2018-07-10 11:34:36 +01:00
Olivier Galibert
a704ed7b1b emumem: Backend modernization [O. Galibert] 2018-06-29 20:04:28 +02:00
AJR
96bc593eaa Fix copy/paste mistake (nw) 2018-06-21 19:53:45 -04:00
mooglyguy
ee604f4454 -39in1: Split Intel XScale PXA255 peripherals into a separate device. [Ryan Holtz]
note: will apply this change to any drivers using copy/pasted PXA255 code tomorrow.
2018-06-21 23:18:26 +02:00
Sven Schnelle
22ba8d40dd Add HP9122 floppy drive (#3657)
* Revert "Revert "Add 9122c floppy (#3647)""

This reverts commit 0aa81fc184.

* Address pull request comments

Signed-off-by: Sven Schnelle <svens@stackframe.org>

* MR#3657: address comments

Signed-off-by: Sven Schnelle <svens@stackframe.org>

* MR#3657: address MR comments

Signed-off-by: Sven Schnelle <svens@stackframe.org>

* MR#3657: address MR comments

Signed-off-by: Sven Schnelle <svens@stackframe.org>
2018-06-17 16:55:51 +10:00
Sergey Svishchev
02197ab4ca ec1841: mouse emulation (Logitech bus mouse protocol) (#3623)
* ec1841: mouse emulation (Logitech bus mouse protocol)

* follow-up to PR#3623
2018-06-11 20:57:53 +10:00
Vas Crabb
0aa81fc184 Revert "Add 9122c floppy (#3647)"
This reverts commit c63c4e111e.
2018-06-11 20:16:28 +10:00
Sven Schnelle
c63c4e111e Add 9122c floppy (#3647)
* 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>
2018-06-10 17:43:49 -04:00
cracyc
a99407afb5 Discord plugin try 2 (#3640)
* plugins/discord: discord presence plugin [Carl]

* plugins/discord: use domain sockets and pipes [Carl]

* winptty: fix connecting to existing socket (nw)
plugins/discord: show pause state (nw)

* plugins/discord: fix pause behavior (nw)
2018-06-08 19:25:39 -04:00
Sven Schnelle
7698173e29 Add HP98543 medium-res color graphics card (#3575)
* 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>
2018-05-28 16:28:44 -04:00
angelosa
9dcc4aaa8a pc9801.cpp: Merge -26 / -86 / -118 joystick port implementations (nw) 2018-05-26 16:59:53 +02:00
Wilbert Pol
07d51ecf71 ef9340/1: make character set external. [Wilbert Pol] 2018-05-18 19:06:30 +10:00
Patrick Mackinlay
90dc810023 interpro: wip checkpoint (nw) (#3573)
* 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
2018-05-15 16:01:13 +02:00
Patrick Mackinlay
44d80b6fb0 proposal: move z80daisy* to devices/machine (#3572)
* proposal: move z80daisy* to devices/machine

Seems to me this is a machine, not a CPU? Main reason was to stop the Z80 CPU from being dragged into systems that don't have one just because they use a Z80 family peripheral.

* missed this one (nw)

* missed a spot (nw)
2018-05-15 17:53:07 +10:00