Commit Graph

349 Commits

Author SHA1 Message Date
Dirk Best
76637c49f4 Initial version of Commodore A2065 Ethernet card 2018-11-20 17:20:46 +01:00
Sven Schnelle
f6efe2921f add HP98550 high-res color graphic card
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
2018-11-18 23:18:36 +01:00
mooglyguy
882b5376a8 -scsicd512.cpp: Added various legacy SCSI CD-ROM devices which support 512-byte blocks by default. [Ryan Holtz]
-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.
2018-11-13 17:55:47 +01:00
Nigel Barnes
9bcf933bcc bbcmc: Added expansion port and Mertec Companion expansion device. 2018-10-26 17:42:36 +01:00
Nigel Barnes
e4f1635973 bbcb: Added ReCo6502 co-processor. 2018-10-26 17:42:36 +01:00
R. Belmont
2226914ddf
Merge pull request #4119 from hp9k/hp_hil_mouse
hp_hil: add HP 46060B mouse
2018-10-11 07:49:08 -04:00
Sven Schnelle
75fde4b0f0 hp_hil: add HP 46060B mouse
- move hle_device_base to it's own files
    - add hlemouse.{cpp,h}
    - add mouse device to hp_ipc and hp9k_3xx
2018-10-11 12:56:24 +02:00
Patrick Mackinlay
10b6b71e13 pcat101: skeleton for IBM Model M PC/AT and PS/2 keyboard 2018-10-11 17:44:08 +07:00
Sven Schnelle
c0a6d6bf23 hp9k_3xx: add HP98265A SCSI controller (nw) 2018-10-09 20:11:24 +02:00
dxl
ad3ad560a6 hp9k_3xx: add HP98620 DMA controller (#4094)
* hp9k_3xx: add HP98620 DMA controller

* hp98620: remove unused defines (nw)
2018-10-09 13:46:35 -04:00
Sven Schnelle
d929f8b41b hp9k_3xx: move Sound, GPIB, Keyboard and RTC to human interface module
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.
2018-10-08 22:51:40 +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
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
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
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
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
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
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
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
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
bd9f203b65 interpro: slotify mouse (nw) (#3543)
* 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)
2018-05-11 16:25:42 +10:00
Michael Zapf
7adec69c08 ti99_2: New WORKING driver. New and verified ROM dumps, re-implementation, fixes. 2018-05-05 22:26:39 +02:00
Nigel Barnes
a1bcf4035f bbc: Added Beeb Speech Synthesiser device. 2018-05-04 22:09:41 +01:00
Nigel Barnes
1e76d5fd5e bbc: Added various pointer devices on userport:
- AMX Mouse
- Acorn Master 512 Mouse
- Marconi RB2 Tracker Ball
2018-05-04 12:41:01 +01:00
Bavarese
88b77caea7 (PC-ISA): Add Lba enhancer card (28 bit LBA) (#3465)
* Create lbaenhancer.cpp

* Create lbaenhancer (header file)

* Update isa_cards.cpp (storage section)

* Update isa_cards (lba_gen added to SLOT_INTERFACE)

* Update bus.lua

* Update lbaenhancer.cpp

* Update isa_cards.cpp

* Update lbaenhancer.h

* Update lbaenhancer.cpp

* Update lbaenhancer.cpp

* Update lbaenhancer.cpp

* Update lbaenhancer.cpp 

device_reset() changed to make sure ROM is installed only once. Old solution used a static variable and was unsafe.

* Update lbaenhancer.h

Add variable to ensure ROM is only installed once per session.

* Update lbaenhancer.cpp

* Update lbaenhancer: CONFNAME

jumpers, not DIPs.

* Update lbaenhancer (spacing)
2018-04-26 21:34:01 -04:00
Curt Coder
9b7c48de6a vic10: Added MultiMAX cartridge skeleton. [Curt Coder] 2018-04-24 16:59:50 +03:00
Vas Crabb
d79226cc3d Revert "(PC-ISA): Add Action Replay card for DOS (1994) (#3445)"
This reverts commit ff815797c9.
2018-04-17 22:04:10 +10:00
Bavarese
ff815797c9 (PC-ISA): Add Action Replay card for DOS (1994) (#3445)
* Allow write protect of a banked segment

* Allow write protect of a banked segment

* Create Action Replay driver for DOS

* Create Action Replay driver (header file)

* Update bus.lua

* Update isa_cards.cpp

* (white space changes)
2018-04-16 17:00:49 -04:00
Sven Schnelle
5832c7c2de split up hp98603 basic rom card
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>
2018-04-16 15:11:26 +02:00
Patrick Mackinlay
3a8d630ab4 interpro: skeleton for keyboard lle (nw) 2018-04-14 01:12:22 +10:00
Sven Schnelle
d9a631daa2 hp9k_3xx: add 98644 async serial card 2018-04-04 21:45:46 +02:00
R. Belmont
f772e0ea5a
Merge pull request #3419 from JoakimLarsson/sad8852_2
NEW non working ISA16 card: Ericsson Information Systems IBM3270/5250…
2018-04-03 11:16:30 -04:00
joakim
bdaad5598e NEW non working ISA16 card: Ericsson Information Systems IBM3270/5250 terminal adapter card 2018-04-02 21:44:32 +02:00
Michael Zapf
fda26ee7dd ti99: Hexbus floppy system; logging updates 2018-03-31 00:38:31 +02:00
Nigel Barnes
d295e418c4 electron: Added Mega Games Cartridge device. 2018-03-30 12:58:31 +01:00
fulivi
2e4c96157d IEEE-488 remotizer device (#3241)
* 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
2018-03-18 05:20:00 +11:00
Joakim Larsson Edström
df5a232104
Merge pull request #3208 from JoakimLarsson/cadabc_1
CAD ABC mouse/hi-res card
2018-02-14 23:26:07 +01:00
Joakim Larsson Edstrom
fea4a1294b cadmouse.cpp: NEW non working mouse/hi-res unit for the abcbus [Valgrind] 2018-02-14 22:05:38 +01:00
Sergey Svishchev
8fef96dbd9 agat7: add serial/parallel interface card, hardcoded into Agat-Author configuration for now. 2018-02-13 23:16:48 +03:00
Nigel Barnes
91da52721e electron: Added cartridge devices for:
- 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
2018-01-31 18:38:05 +00:00
David Haywood
ff61c2c50d framework for adding 'gamebooster' (need to figure out how it actually works / maps tho) (#3134)
* 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)
2018-01-27 10:17:37 -05:00
Nigel Barnes
4143172f7c electron: Re-implemented cartridge slot device, and added cartridge devices:
- Standard cartridge (2x16K ROM)
- Advanced Battery-Backed RAM (ABR)
- Slogger Click
- Slogger Pegasus 400
2018-01-26 21:04:33 +00:00
Nigel Barnes
8cd0b2545e electron: Added Rombox, Rombox+ expansion devices, and electron_rom software list. 2018-01-11 18:46:05 +00:00
arbee
1392b241cc mac: preliminary support for AE Quadralink 4-port serial [R. Belmont, Al Kossow] 2018-01-02 16:49:05 -05:00
arbee
aadaf0c303 mac: Support for "BootBug" NuBus remote debugger card [Al Kossow, R. Belmont] 2017-12-25 22:27:02 -05:00
Joakim Larsson Edström
59824c1929
Merge pull request #2946 from JoakimLarsson/stepone_2
myb3k: WIP adding ISA bus, cards, devices and branded clones
2017-12-16 02:05:07 +01:00
Joakim Larsson Edstrom
2922b345d5 myb3k: Added three new ISA8 cards, one COM card and two FDC, specific for the MyBrain 3000 and its branded variants JB-3000 and Ericsson PC step/one 2017-12-15 21:21:26 +01:00
AJR
5334d77c78 Add Seals 8K SC Memory Board to S-100 bus emulation 2017-12-14 22:58:06 -05:00
Firehawke
9ece34eb21 Revert "Revert "Merge branch 'master' of https://github.com/mamedev/mame""
This reverts commit 54155441e9.
2017-12-13 21:31:27 -07:00
Firehawke
54155441e9 Revert "Merge branch 'master' of https://github.com/mamedev/mame"
This reverts commit f537428e5a, reversing
changes made to 0d70d79810.
2017-12-13 21:01:10 -07:00
Sergey Svishchev
00c9b62a24 agat7: 840KB floppy HLE; minor fixes -> mark WORKING (#2912)
* agat7: add port_char definitions to allow access from Lua, &c (nw)

* agat7: adapt "apple2: Break up handlers for C000-C07F range" (nw)

* agat7: timer and vblank interrupts (nw)

* agat7: HLE of 840KB floppy controller, read-only (nw)

* agat7: memory expansion wip (nw)

* agat7: update todo list, mark partially WORKING
2017-12-08 18:46:23 -05:00
AJR
112fbd83ab Clones promoted to working
--------------------------
SWTPC 6800 Computer System (with MIKBUG) [AJR]
2017-12-01 16:57:15 -05:00
AJR
fc87d24cf6 swtpc: Preliminary SS-50 I/O bus 2017-11-30 19:37:07 -05:00
hap
e7edf2e16a bus.lua: add some missing h files (nw) 2017-11-23 18:23:29 +01:00
Nigel Barnes
26d94f2275 cfa3000: Added input devices on userport, analogue, and 1MHz bus. 2017-11-20 13:22:08 +00:00
Nigel Barnes
c25af26b01 bbc: Added ARM Evaluation System co-processor device. 2017-11-20 13:22:08 +00:00
Dirk Best
a5a8e0cbdb einstein: Improve interrupts, add WIP Speculator support
Also removes a bogus character in the initial centronics output.
2017-11-20 01:37:42 +01:00
Curt Coder
c2cf2f7504 tmc600: Added Euro bus skeleton. [Curt Coder] 2017-11-11 14:02:22 +02:00
Dirk Best
58b5eab4a8 einstein: Add support for the Silicon Disc RAM drive
Enable it with "-pipe silicon_disc" and use it as drive 3.
2017-11-09 01:13:08 +01:00
Nigel Barnes
e40f2551aa electron: Added Acorn Plus 1 expansion device
- moved cart slots from machine to plus1
- replaced OS ROM with good dump
2017-11-08 20:42:09 +00:00
Nigel Barnes
780340b355 bbcb: Added Computer Village 1797 FDC (LVL Dos), not working. 2017-11-06 21:42:13 +00:00
arbee
bd7cbf196c apple2: preliminary support for AE TransWarp accelerator card [R. Belmont, Apple II Documentation Project] 2017-11-03 21:50:59 -04:00
Dirk Best
346a935839 einstein: Add support for mouse connected to the user port
Enable with "-user mouse" and try it with "-flop1 mouseart".
2017-11-01 09:51:36 +01:00
arbee
07de0d575d apple2: preliminary support for "SSB Apple" speech board [R. Belmont, Apple II Documentation Project] 2017-10-31 21:50:32 -04:00
Dirk Best
908529aa32 einstein: Add bus interface for the user port and emulate speech cart 2017-10-31 11:46:53 +01:00
Dirk Best
4ee376d989 einstein: Move pipe bus to its own directory 2017-10-31 11:46:47 +01:00
Dirk Best
09f25df20d einstein: Create "Tatung Pipe" bus and convert 80 column device
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
2017-10-28 17:36:29 +02:00
R. Belmont
fb20279b92 Merge pull request #2749 from fulivi/hp80_dev04
HP85: support for I/O slots & HP-IB interface module
2017-10-25 15:39:55 -04:00
fulivi
bd7800c9a6 hp85: support for I/O slots added. Emulation of HP82937 module added. 2017-10-25 16:25:42 +02:00
Patrick Mackinlay
fa45a71bce interpro: expansion bus/slots and keyboard
* 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
2017-10-23 19:05:25 +07:00
David Haywood
b8feed7929 use slot device for gamate cartridge slot, do protection handling there (it's a mapper chip in the cartridge)
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.
2017-10-20 12:14:23 +11:00
Nigel Barnes
a02ec54132 bbc: Added Torch Z80 Communicator as Tube slot device. 2017-10-11 12:03:01 +01:00
Joakim Larsson Edström
ec326352ff Merge pull request #2695 from shattered/_eef7cb7
vme_hcpu30: Besta HCPU30 VME board, skeleton driver.
2017-10-08 02:49:31 +02:00
Curt Coder
fa612073a6 abc800: Added skeleton for Databoard 4112-23 floppy disk controller. [Curt Coder] 2017-10-04 21:21:37 +03:00
Curt Coder
ec017ff2f5 abc800: Fixed Turbo Kontroller name to UNI DISK and identified CPU type. [Curt Coder] 2017-10-03 23:36:37 +03:00
Sergey Svishchev
1483853c0e vme_hcpu30: Besta HCPU30 VME board, skeleton driver. 2017-10-03 01:05:56 +03:00
Nigel Barnes
a65015f5cb abc310: Added 80286 2nd processor. 2017-10-02 02:00:21 +01:00
Nigel Barnes
cdde9d6814 spectrum: Added expansion slot, and devices:
- ZX Interface 1 (not working)
- ZX Interface 2
- Fuller Box
- Kempston Joystick Interface (moved from driver)
- Didaktik Melodik
- Mikro-Plus (Shadow of the Unicorn)
- Protek Joystick Interface
- Currah MicroSlot
- Currah MicroSpeech [Thomas Busse]
- Currah MicroSource

spec128: Added expansion slot, and devices:
- ZX Interface 1 (not working)
- ZX Interface 2
- Kempston Joystick Interface (moved from driver)
- Mikro-Plus (Shadow of the Unicorn)
- Protek Joystick Interface
- Spectrum +2 Test Software
2017-09-21 23:08:50 +01:00
Sven Schnelle
5216b5414f hp9k_3xx: add 98603 ROM card
Even if BASIC doesn't boot yet it's handy to have the ROM card in the code
and BASIC in the software list.
2017-09-06 03:03:51 +10:00
arbee
c39d66b671 apple2: Preliminary support for the Synetix SuperSprite card. [Golden Child, R. Belmont] 2017-08-30 21:11:18 -04:00
fulivi
05c792eee7 hp85: support of opt. ROMs (#2604)
* hp85: added support for optional ROM cartridges. Started optional ROM
sw list (not finished).
* hp85: refactored mapping of opt. ROMs according to cuavas' comments
2017-08-29 21:45:36 +10:00
Nigel Barnes
d9297807e2 bbc: Added various 2nd processors as Tube slot devices:
- Acorn 6502 2nd Processor, Acorn 65C102 Co-Processor, Acorn Z80 2nd Processor, Acorn 80186 Co-Processor, Casper 68000 2nd Processor
2017-08-25 20:03:44 +01:00
Nigel Barnes
5fdfce856e bbc: BeebSID slot device for the 1MHz bus. 2017-08-24 12:59:29 +01:00
Dirk Best
75734b41f8 psi98: Add HLE ASCII keyboard and make it default
Keyboard input now works
2017-08-10 02:21:20 +02:00
Dirk Best
147f1d89b0 psi98: Add keyboard slot interface, create skeleton for keyboard 2017-08-10 01:42:10 +02:00
angelosa
952af08ca6 Added a very preliminary PC9801 AMD98 sound board emulation [Angelo Salese] 2017-08-06 03:23:41 +02:00
Vas Crabb
7892bf71f9 intellec4: implement imm4-22 program/data storage module 2017-07-15 00:03:34 +10:00
Vas Crabb
641d0ac7a3 intellec4: implememnt PROM memory module 2017-07-13 18:34:57 +10:00
Vas Crabb
f1b30abacf intellec4: add high-speed paper tape reader card (installed in slot j7 by default, select with J command for loading BNPF/HEX) 2017-07-13 03:28:04 +10:00
Michael Zapf
7d98022797 ti99: Moved Hexbus one level up 2017-07-10 17:49:16 +02:00
Vas Crabb
3f44052c06 intlc440 improvements:
* 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.
2017-07-01 18:03:01 +10:00
cracyc
38436b340d pc9801: move cbus to bus and add WIP mpu401 [Carl] 2017-06-26 14:16:54 -05:00
mahlemiut
03f21234b8 - Add preliminary Yamaha YM3802 MIDI controller
- Add X68000 expansion device using the YM3802
2017-06-21 18:37:23 +12:00
arbee
8bf9290a1e hp9k_3xx: preliminary support for DIO and DIO-II buses and 98544 video card. [R. Belmont] 2017-06-20 21:40:03 -04:00
Nigel Barnes
acdaf11b73 d64plus: Implemented banking of extra 64K, and 6845 with chargen. Machine promoted to WORKING.
dragon32: Added JCB Sound Extension cartridge.

dragon200e: Added correct keyboard.
2017-06-15 18:43:33 +01:00
Michael Zapf
6e577c5465 ti99: Hexbus implementation; floppy HX5102 early WIP 2017-06-06 16:21:51 +02:00
npwoods
4d50a02111 CoCo: Overhaul to the cartridge slot subsystem and Speech/Sound Cartridge support [Nathan Woods, Tim Lindner] 2017-06-01 12:45:51 +02:00
Michael Zapf
347e8a4fb7 ti99: Created bus gromport, split monster file gromport 2017-05-25 16:01:23 +02:00
Michael Zapf
1e77ec65c1 ti99: Added console connector "ioport" with PEB as slot option 2017-05-25 00:34:17 +02:00
Michael Zapf
50b20ddf23 ti99: Wrapped into namespaces; minor rearrangement 2017-05-23 23:22:06 +02:00
tim lindner
239f178cfe Merge branch 'master' into games_master_cartridge 2017-05-14 13:35:43 -07:00
Vas Crabb
0f0d39ef81 Move static data out of devices into the device types. This is a significant change, so please pay attention.
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.
2017-05-14 21:44:11 +10:00
tim lindner
06d430fbcb Emulation of Games Master Cartridge 2017-05-13 13:29:53 -07:00
Nigel Barnes
735ab4f355 electron: Added Power Software joystick interface 2017-04-21 16:42:52 +01:00
Nigel Barnes
3ee922ace8 electron: Added First Byte joystick interface 2017-03-23 20:47:26 +00:00
R. Belmont
8b9ef0b09e Merge pull request #2172 from kazblox/master
Additions/improvements to nes driver and softlist
2017-03-21 15:23:29 -04:00
kazblox
c488308495 nes: Add Subor Type 2 board. (nw)
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)
2017-03-21 07:46:36 -04:00
Michael Zapf
5322568267 ti99/geneve: Bus mouse now a separate device, may also be used with evpc. 2017-03-19 00:22:33 +01:00
ajrhacker
1265aae040 Merge pull request #2154 from shattered/_b85368c
hp_ipc: de-skeletonize.
2017-03-16 23:35:15 -04:00
Sergey Svishchev
7d4d6382e7 hp_ipc: de-skeletonize. 2017-03-16 22:26:49 +03:00
Sergey Svishchev
7f12847c28 agat: split from apple2, implement basic agat7 hardware (take 2). 2017-03-16 18:16:52 +03:00
Sergey Svishchev
dc6b566136 ie15: convert to a device with frontends (standalone driver and rs232 slot device) (take 2) 2017-03-13 05:37:46 +03:00
Vas Crabb
73e2a3f542 ti85.cpp: Convert TI-8x link port to a bus with emulated peripherals, should work with TI-82 and TI-85.
* 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
2017-03-01 16:36:42 +11:00
Vas Crabb
6c23897483 Self-registering devices prep:
* 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.
2017-02-27 22:57:14 +11:00
Vas Crabb
ba8cbb9732 Revert "ie15: convert to a device with frontends (standalone driver and rs232…" 2017-02-27 17:43:31 +11:00
Sergey Svishchev
0b4832bdf3 ie15: convert to a device with frontends (standalone driver and rs232 slot device) 2017-02-27 00:16:35 +03:00
ajrhacker
a0aa981a6e Merge pull request #2086 from kazblox/master
iNES Mapper 190 support, miscellanous cleanups in some drivers
2017-02-24 18:21:53 -05:00
Kaz
b9209aadbf nes: Add Magic Kid Googoo board. 2017-02-24 16:40:55 -05:00
arbee
dd82e28c83 Get rid of now-deprecated a2lang (nw) 2017-02-06 21:24:56 -05:00
Curt Coder
f419eba57e vic20: Emulated the Data 20 Display Manager 40/80 column video cartridge. [Curt Coder] 2017-02-06 12:34:41 +02:00
Vas Crabb
94e4c48732 Amiga keyboard updates:
* 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
2017-02-05 16:47:28 +11:00
Curt Coder
f626cefe85 c64: Emulated the PPP Speakeasy 64 (Votrax SC-01-A) cartridge. [Curt Coder] 2017-02-01 21:59:03 +02:00
Curt Coder
e4be985024 vic20: Emulated the PPP SpeakEasy (Votrax SC-01-A) cartridge. [Curt Coder] 2017-02-01 21:16:28 +02:00
Dirk Best
189ac471b4 Convert the Amiga keyboards to a bus interface with slot devices 2017-01-22 11:51:09 +01:00
Vas Crabb
edf64df1db srcclean (nw) 2017-01-22 15:37:37 +11:00
Joakim Larsson Edstrom
615b815259 Added fccpu20 to Miniforce as a VME card 2017-01-21 22:03:21 +01:00
R. Belmont
4cd61d1c72 Merge pull request #1926 from fulivi/hp9845_dev9
HP9895 dual-floppy drive (WIP)
2017-01-05 15:07:40 -05:00
Joakim Larsson Edstrom
52906f6ede - Force Computers VME boards: Converted fcisio1 and fcscsi1 board drivers to VME slot devices and added VME interface to the fccpu30 board driver
- hd63450.h: Added harness against multiple inclusions
- Cleaned up LOG macro usage
2017-01-05 17:34:07 +01:00
fulivi
5e2bf6ea13 hp9845: draft of HP9895 floppy drive. PHI passes POST. 2017-01-05 12:12:33 +01:00
Joakim Larsson Edstrom
25a3e81a1f VME: converted mvme350 board driver to slot device and a general cleanup 2017-01-04 20:30:13 +01:00
Joakim Larsson Edstrom
f6a7d59496 Moved and renamed mame/bus/vme files to devices/bus/vme for now 2017-01-02 13:55:34 +01:00
couriersud
6eaa60953f Slightly better solution to the VME issue. (nw) 2016-12-28 15:58:30 +01:00
couriersud
301a967276 Fix linking issues due to VME commits. All vme bus objects files are now
in the mizar lib. This is suboptimal, but the code seems to
crossreference across object files and from the bus code into the driver
code. 
At least the source now links again. (nw)
2016-12-28 15:01:33 +01:00
Joakim Larsson Edstrom
9bfcd85cc3 Added VME device and divided mzr8105 in board and card devices. Naughty segfault needs to be fixed (nw) 2016-12-26 22:49:50 +01:00
Joakim Larsson Edström
f34174de56 Added coco2 clone t4426 (nw) (#1819)
* Added coco2 clone t4426 (nw)
2016-12-16 14:37:33 +01:00
fulivi
a7ee0a41e9 hp9845: implemented 98034 module (HPIB interface) 2016-11-22 09:53:39 +01:00
Miodrag Milanovic
114aa294cd Fix some single driver builds (nw) 2016-11-08 12:28:56 +01:00