Commit Graph

1480 Commits

Author SHA1 Message Date
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
Patrick Mackinlay
4f9ef3e373 softfloat3: fix msvc build (nw) (#3566)
* softfloat3: fix msvc build (nw)

Is this how we do these things? I assume we don't touch the library code itself, and have to "fix" any problems via this header instead?

* softfloat3: do we like this better? (nw)

* softfloat3: it gets the hose again (nw)

* softfloat3: sonofa (nw)
2018-05-14 09:18:24 -04:00
arbee
62be291842 Initial import of SoftFloat release 3E [R. Belmont]
This is a pre-usage import so everyone can get things in line for various compilers.  GCC/Clang should be OK on most targets as-is;
MSVC may need to edit 3rdparty/softfloat3/build/MAME/build.h to conform.  Please report failure/success with various compilers.
2018-05-13 19:52:33 -04:00
hap
0fae49dc31 sm5*: added sm530 disasm (nw) 2018-05-12 17:37:41 +02:00
Sven Schnelle
e6b55ad7a6 Add topcat asic (#3558)
* add topcat template

HP topcat was an ASIC used on HP900/300 graphics cards.

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

* hook up topcat asic to HP98544

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

* topcat: add basic configuration macros for fb planes, height and width

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

* hp98544: move logic to topcat video driver

Preparation to support multi plane graphic cards
like the HP98543/98545/98547.

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

* xtal: add 35.904MHz XTAL
2018-05-11 17:17:55 -04: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
Patrick Mackinlay
1373f80b74 bt45x: new devices (#3536)
* bt45x: new devices

Basic implementation of various Brooktree RAMDAC devices. Two of these (bt457, bt458) are used by InterPro graphics boards currently under development, the others are unused/untested at this point.

* bt45x: tweak descriptions (nw)
2018-05-08 23:07:39 +10:00
Sergey Svishchev
f9304e5ff9 gridcomp: hook up TMS9914 GPIB controller (nw) 2018-05-06 22:01:14 +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
David Haywood
6627a9e480 start looking at the extra opcodes in the SSD 2000 type XaviX chip (s… (#3514)
* start looking at the extra opcodes in the SSD 2000 type XaviX chip (seems some undocumented 6502 opcodes are replaced with more custom ones)

* (nw)

* the xavix memory mapping gets stranger with each piece of new evidence (nw)
2018-05-04 12:22:18 -04: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
AJR
20f49a2f4e Rename machine/latch.* to machine/output_latch.* (nw)
- Use device_resolve_objects to resolve callbacks in output_latch_device (nw)

Note that this renaming is not just for human convenience; genie seems to get confused by modifications to a header called latch.h and decides to recompile everything involving gen_latch.h as well.
2018-05-02 00:05:32 -04:00
yz70s
c663e1d7cc New device, SMSC FDC37C93x Plug and Play Compatible Ultra I/O Controller ! [Samuele Zannoli]
It is not complete yet but the floppy disk and keyboard work and is enough to boot the m55hi-plus motherboard.
2018-04-27 09:43:50 +02: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
fulivi
c7fd7ad2c8 hp_ipc: added HPIB interface chip & remotizer device 2018-04-26 16:27:47 +02:00
Curt Coder
9b7c48de6a vic10: Added MultiMAX cartridge skeleton. [Curt Coder] 2018-04-24 16:59:50 +03:00
mooglyguy
5ae175ff11 vp415 skeleton updates, nw 2018-04-18 19:17:11 +02: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
Ryan Holtz
c2c576dad4 Added skeleton SAA1403 device, nw 2018-04-13 21:04:46 +02:00
mooglyguy
593340af38 -vp415: Skeleton driver for Philips VP415 LV-ROM Player. Includes basic device implementation of Fujitsu MB88303 Television Display Controller. [Ryan Holtz] 2018-04-13 18:25:35 +02:00
Patrick Mackinlay
3a8d630ab4 interpro: skeleton for keyboard lle (nw) 2018-04-14 01:12:22 +10:00
Olivier Galibert
1d338061af mb86233/4 rewrite [O. Galibert]
model1: Use the real 315-5573 Virtua Racing coprocessor program [Team Caps0ff]
model2: Rewamp the coprocessors communications [O. Galibert]
2018-04-05 15:01:26 +02: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
Justin Kerk
50c373be6f Fixed issues with CHD loading under Emscripten. [Justin Kerk] 2018-03-28 04:35:34 +00:00
Vas Crabb
010155a3c5 Reshuffle some stuff:
* Move around the debugger hooks to get a small but measurable performance increase
* Remove emucore from external tools
* Improve performance of DSP16 interpreter a little by generating six variants of execution loop
2018-03-28 05:25:15 +11:00
Julian Sikorski
9a154947d1 Added possibility of building using system pugixml 2018-03-27 10:19:22 +11:00
Vas Crabb
1c3684787c get rid of dioutput - it's only used in one place, and it upset GCC on Linux debug builds for some reason 2018-03-25 04:31:07 +11:00
Vas Crabb
08dde5eb0a srcclean and regenerate localisations (nw) 2018-03-25 02:03:24 +11:00
Ariane Fugmann
2ad88fd875 M1COMM: Add preliminary MB89374 emulation (#3378)
* M1COMM: Add preliminary MB89374 emulation (nw)

* M1COMM: moved knowns roms to device. (nw)

* MB89374: arrays and savestates (nw)
2018-03-24 08:40:45 -04:00
Nigel Barnes
7ad824c85b New machines marked as NOT_WORKING
----------------------------------
Poly Proteus (Standalone) [Nigel Barnes, Andrew Trotman]
2018-03-21 20:53:11 +00:00
Vas Crabb
b787818d0c dsp16: move most core state into DRC cache - keeps a lot of details out of the main header (DRC is still stubbed out) (nw) 2018-03-21 21:01:36 +11:00
Vas Crabb
724c602fd5 prettier way of adding DRC framework on-demand (nw) 2018-03-20 20:27:49 +11: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
Dirk Best
3ffd6b839f uPD934G: Preliminary emulation 2018-03-17 09:10:18 +01:00
Vas Crabb
5976a48035 dsp16: start adding recompiler boilerplate (nw) 2018-03-17 06:51:50 +11:00
Vas Crabb
245f822e7d use more constexpr and literal classes in UML to give compiler more optimisation opportunities (nw) 2018-03-17 00:58:54 +11:00
angelosa
bb11fbd2bd Blind faith fixed long names for almost all CPUs (nw)
mb86235.cpp: renamed pcs_ptr into pcp, and added a file for future interpreter core (nw)
2018-03-15 18:07:39 +01:00
Vas Crabb
3f67473bb4 QSound LLE available with a 3-character change 2018-03-16 02:27:24 +11:00
Vas Crabb
0bf88bda8f Cycle-accurate DSP16 core (disabled in QSound for performance reasons) 2018-03-15 19:02:43 +11:00
Olivier Galibert
b9ac659837 Fuck genie, Enhanced edition (nw) 2018-03-12 19:14:29 +01:00
Vas Crabb
7c9d75df13 forgot these are listed explicitly (nw) 2018-03-12 19:26:36 +11:00
Justin Kerk
1f80e58a10 Disable multithreading on the Emscripten target as it is not currently supported. Fixes e.g. drivers using discrete audio components. [Justin Kerk] 2018-03-06 07:39:05 +00:00
R. Belmont
5ffc8a79a4
Merge pull request #3266 from JoakimLarsson/diablo_1
WIP: Diablo printer CPU
2018-02-28 14:03:10 -05:00
Vas Crabb
8dad4881f6 srcclean (nw) 2018-02-25 01:34:04 +11:00
joakim
35a7f3e628 WIP: Diablo printer CPU 2018-02-24 02:32:36 +01:00
AJR
1a157c0600 Create RST interrupt buffer device 2018-02-18 20:59:06 -05:00
Olivier Galibert
109e2dadb8 NUON disassembler [O. Galibert] 2018-02-18 22:56:53 +01: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
cracyc
3195ba191d am9519: add am9519 uic device [Carl] 2018-02-10 14:23:30 -06:00
Julian Sikorski
8cc758355d Enable use of system-wide asio, glm and rapidjson (#3172)
* Fixed building using system utf8proc

* Fixed building using system portaudio

* Allow using system-wide asio headers (1.11.0 or higher required).

* Allow using system-wide glm headers

* Allow using system-wide rapidjson headers
2018-02-08 16:06:25 -05:00
David Haywood
1e09ab0ceb create derived 6502 type for XaviX because it has at least one custom… (#3154)
* create derived 6502 type for XaviX because it has at least one custom 4-byte opcode that doesn't fit any other type.
treating that opcode as NOP for now.

have a feeling it might be something to do with the other integrated hardware, might be 'execute co-processor code chain at this address' or something similar
It isn't a standard JSL (Jump Subroutine Long)  like the SNES cpu opcode in the same place as this, it seems to point at some code-like structures tho)
could also be a secondary operation mode with different encoding like ARM's Thumb mode tho I guess.

We currently only have a single XaviX based dump (taitons1) but there are more on the way.  I'm going to see if the code flow makes any sense at all with these missing, or if any of it gives a clue as to what they should actually do.

* xavix - let's call these callf and retf then

after further investigation these are some kind of extra 'long jump' subroutine / task handlers, the 0x80 also being a custom opcode was throwing me off trying to identify them before.

looks like they might have been hacking 65816 features into the regular 6502 core?

* prepare for extra address bits (nw)

* better program flow (nw)
2018-02-02 14:34:12 -05: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
Olivier Galibert
03ba80e0ef xtal.h is dead, long live to xtal.cpp [O. Galibert] 2018-01-23 10:25:25 +01:00
Luca Elia
9eca0c6c45 New device: SN54/74166 8-Bit Parallel-In/Serial-Out Shift Register [Dirk Best, Luca Elia] 2018-01-21 23:47:59 +01:00
mooglyguy
7f3f8fd245 -bgfx: Abstracted some view-related functions into bgfx_view class, nw 2018-01-13 22:13:38 +01:00
Vas Crabb
ba5715596a This causes huge changes in behaviour that can't be hand-waved away.
Revert "Removal of voltage_regulator_device (nw)"

This reverts commit 1af133752a.

Revert "New way to provide DAC reference inputs (nw)"

This reverts commit 1c6a7ab40c.
2018-01-13 02:06:27 +11:00
Nigel Barnes
8cd0b2545e electron: Added Rombox, Rombox+ expansion devices, and electron_rom software list. 2018-01-11 18:46:05 +00:00
AJR
1af133752a Removal of voltage_regulator_device (nw) 2018-01-10 02:11:25 -05:00
AJR
62da1dbe29 meters, ticket: Move these generic devices into src/devices (nw) 2018-01-09 15:14:04 -05:00
Ivan Vangelista
31ffaa7819 machine.lua: compile myb3k_kbd only when needed (nw) 2018-01-09 20:46:11 +01:00
Björn Moser
71074fe126 VS Compile Fix 2018-01-08 22:29:19 +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
AJR
64524a652c Add ER1400 serial EAROM device 2017-12-31 11:39:28 -05:00
mooglyguy
ce54579557 -e132xs: fix botched DRC merge, nw 2017-12-29 22:46:36 +01:00
mooglyguy
5d36ef2d30 fixed build errors, nw 2017-12-29 13:43:36 +01:00
smf-
a3f8dcf915 remove qtmain on windows, it conflicts with SDL2_Main (nw) 2017-12-26 23:06:03 +00:00
smf-
68b16a8808 added -lSDL2main to fix linking with gcc 7 [smf] 2017-12-26 11:11:50 +00:00
arbee
64d73e68aa Merge branch 'master' of https://github.com/mamedev/mame 2017-12-25 22:28:14 -05:00
arbee
aadaf0c303 mac: Support for "BootBug" NuBus remote debugger card [Al Kossow, R. Belmont] 2017-12-25 22:27:02 -05:00
Vas Crabb
25f84e3bf0 srcclean and manual cleanups (nw)
please people, remember to keep source UTF-8 and if you're committing on behalf of others, clean up indents to meet MAME conventions
anyone can run srcclean over a submission and see what will get hit
2017-12-24 15:03:04 +11:00
hap
e08f42a74e tms1000c: added correct microinstructions pla (nw) 2017-12-21 23:50:29 +01:00
cracyc
a3e4c79be6 i386: x87 bug fixes and FERR support [Andrey Merkulov]
i8087: separate 8087 device [Carl]
2017-12-16 14:24:24 -06: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
3faf6ab474 myb3k: preliminary keyboard support for Ericsson step/one brand [Fredrik Ohrstrom] 2017-12-15 21:27:47 +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
AJR
141f2364cc New generic ripple counter device 2017-12-10 09:06:41 -05: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
mooglyguy
5d51e91100 no help = no hyperstone drc, nw 2017-12-06 21:51:34 +01:00
Patrick Mackinlay
ad9b6fe4e5 dp8510: new device
An implementation of the National Semiconductor DP8510 BITBLT Processing Unit. This is used on the InterPro GT family graphics boards, and this implementation seems to be correct enough to enable me to progress there, hence the PR. While I'd love to have another system to test against, I'm not aware of any other systems that ever used this device other than some NatSemi reference designs, which are not (yet) in MAME.
2017-12-06 18:58:55 +07:00
mooglyguy
bccc962b69 e132xs: initial work on drc, nw 2017-12-02 04:02:37 +01:00
mooglyguy
495df45315 e132xs: initial drc work, and templated conditional db/b, nw 2017-12-02 04:02:37 +01:00
AJR
112fbd83ab Clones promoted to working
--------------------------
SWTPC 6800 Computer System (with MIKBUG) [AJR]
2017-12-01 16:57:15 -05:00
Miodrag Milanovic
3917627494 Updated GENie, BGFX, BX, added BIMG since it is separated now, updated all shader binaries and MAME part of code to support new interfaces [Miodrag Milanovic] 2017-12-01 13:22:27 +01:00
AJR
fc87d24cf6 swtpc: Preliminary SS-50 I/O bus 2017-11-30 19:37:07 -05:00
Olivier Galibert
6caef2579a dvdisasm: Overhaul [O. Galibert]
Disassemblers are now independant classes.  Not only the code is
cleaner, but unidasm has access to all the cpu cores again.  The
interface to the disassembly method has changed from byte buffers to
objects that give a result to read methods.  This also adds support
for lfsr and/or paged PCs.
2017-11-26 17:41:27 +01:00
hap
e7edf2e16a bus.lua: add some missing h files (nw) 2017-11-23 18:23:29 +01:00
angelosa
56828c2446 Rewritten Imagetek i4100 / i4220 / i4300 video display processor family, hooked it up to metro.cpp [Angelo Salese] 2017-11-21 07:06:03 +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
David Haywood
7d0279601f split pgm2 up into drivers/video, correct main ram size, make some notes etc. 2017-11-17 18:25:36 +00:00
Patrick Mackinlay
f87cc5c671 28fxxx: initial commit for new flash memory device (#2805)
Implementation of 28F010 and family flash memory devices. These are not compatible with the JEDEC-standard flash command protocol implemented in intelfsh.
2017-11-16 23:53:02 +11:00
Vas Crabb
46c4dfb5f9 z80sio updates:
* Don't use device_serial_interface for transmit - it can't support sync modes, on-the-fly register updates, and other weirdness.
* Better modelling of 1-deep transmit queue.
* Better RTS/CTS behaviour.
* Completely overhauled interrupt logic - vectors should be correct for most async modes.
* Implemented different auto-reset receive errors in MPSC vs SIO.
* Implemented SDLC transmission including bit stuffing, transmit CRC, abort, and underrun/end-of-message behaviour.

Added an SDLC consumer device that logs SNA frame headers and data.
2017-11-16 22:22:20 +11:00
hap
7a900dd692 i8085: moved opcode macros to main file, will convert these to functions (nw) 2017-11-14 16:55:12 +01:00
hap
2e857fa8bd rename misleading i8085cpu.h to i8085ops.hxx (nw) 2017-11-14 03:02:39 +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
Dirk Best
faeedc757c einstein: Major cleanup, add a ADC0844 device
The analogue joystick is now emulated. Also fixed a few minor issues
with the memory map.

This also adds a generic Z80 dasisy chain device, for use in drivers
with non-Z80 peripherals.
2017-11-06 20:47:38 +01: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
Vas Crabb
4c29419cab srcclean (nw) 2017-10-22 12:34:30 +11: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
Patrick Mackinlay
9a68224e4a bt459: new device
Used in InterPro graphics boards.
2017-10-19 19:36:01 +07:00
David Haywood
7851b3786c Preliminary SH3 / SH4 recompiler [David Haywood] (#2711) 2017-10-11 22:23:26 +02:00
Nigel Barnes
a02ec54132 bbc: Added Torch Z80 Communicator as Tube slot device. 2017-10-11 12:03:01 +01:00
angelosa
d4f7cfd631 saturn.cpp: Moved SCU related functions inside a device [Angelo Salese] 2017-10-09 22:24:14 +02: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
fulivi
70d6a5addd Support for HP85 tapes added to imgtool (#2688) 2017-10-03 23:14:15 +11:00
Sergey Svishchev
1483853c0e vme_hcpu30: Besta HCPU30 VME board, skeleton driver. 2017-10-03 01:05:56 +03:00
David Haywood
c0ee79f3db use 'sh' instead of 'superh' 2017-10-02 19:47:35 +01:00
David Haywood
48aabf4122 move sh2 / sh4 to a folder called superh 2017-10-02 17:31:38 +01:00
AJR
da7cd69f88 Remove timer_device from emu.h and move it out of src/emu (nw) 2017-10-01 22:46:42 -04:00
Nigel Barnes
a65015f5cb abc310: Added 80286 2nd processor. 2017-10-02 02:00:21 +01:00
AJR
83d5618b34 am9513: New device 2017-09-22 01:35:51 -04:00
Dirk Best
c7d1aeb956 deco32: Improvements and cleanups
* Emulate LC7535 based volume control for Dragon Gun board based games
* Add DSW3 and DIP locations to Captain Avenger
* Reorganize driver and start cleaning it up (in progress)
2017-09-22 03:51:24 +02:00
angelosa
e3ccbe1852 Wrote a new device for TA7630, hooked it up to buggychl.cpp (nw) 2017-09-22 02:01:42 +02: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
npwoods
3d553eda60 Attempted to sanitize/rationalize how we access UTF-8 command line arguments (#2532)
Specifically, this creates a call osd_get_command_line() that returns UTF-8 command line arguments as std::vector<std::string>.  On non-Windows platforms, this does nothing more than build the vector.  On Windows, this invokes GetCommandLineW() and CommandLineToArgvW().  This also attempts to unwind usage of wmain()/_tmain() on Windows, which is not standard.

Related to this, this fixes a bug in Imgtool; specifically, non-7 bit ASCII was not being handled correctly in Windows.

This is really an admission that the way that Windows handles Unicode and command line arguments sucks, and it is my belief that having a wmain() or _tmain() declaration specific for Windows is a worse solution.  C'est la vie.

I'm very open to the idea that src/osd/osdcore.[cpp|h] is not the best place to do this.  Let me know if I should move it.
2017-09-18 20:28:53 -04: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
c967171c7a tube: New TUBE device. Acorn Tube ULA for use in Acorn 2nd Processors 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
Miso Kim
41e044ae01 Modification for Android build (NDK r14b, build-tools 21.1.2 and gradle 2.2.1) (#2585) 2017-08-23 13:09:38 +10:00
Felipe Corrêa da Silva Sanches
f2407286b1 new drivers for "Control ID x628" fingerprint-reader and for the NT7534 LCD controller (#2583)
* initial skelethon: ControlID X628 fingerprint reader
* first draft of an implementation of the NT7534 device (LCD controller)
* fix emulation of ControlID x628 + NT7534 LCD controller
* cidx628: fix LCD color palette on Control ID x628 driver
* Adding a header with details of the hardware. This is the first MAME driver with an LCD controlled by a NT7534 chip, so I wrote an initial implementation of that new device.
2017-08-23 11:53:00 +10:00
Vas Crabb
73107179b5 clean up some of the UI filter stuff, show list descriptions rather than names when choosing list to filter on (nw) 2017-08-18 18:26:26 +10:00
fulivi
4c5ed8b64b hp85: implemented tape drive 2017-08-16 10:38:22 +02:00
fulivi
480f865bcf hp9845: re-factored handling of HTI images into a dedicated format module 2017-08-16 10:38:22 +02: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
AJR
ac06279df0 Create explicit i386dasm include for x86 DRC (nw) 2017-08-01 00:55:59 -04:00
Vas Crabb
01decf78b0 need this for debug trace logging on DRC cores (nw) 2017-08-01 14:37:05 +10:00
AJR
3b4315a4b5 Fix single build for i386-based drivers (nw) 2017-07-31 19:53:12 -04:00
yz70s
5ebe819cce In the windows debugger log window add a Log/Clear menu to remove all logged messages (nw) 2017-07-30 19:09:59 +02:00
AJR
dab683e78f New 74LS259/9334/CD4099 devices
These humble 16-pin logic devices were commonly used in 8-bit arcade games to control coin counters/lockouts, IRQ flipflops, graphics banking, slave CPU reset lines, discrete audio triggers, screen flipping, serial EEPROMs and much else. Over 100 drivers and a few bus devices have been updated to use the new implementation, and a great deal of research has gone into documenting the physical location of these devices on actual PCBs in the source. Write handlers have been provided for both orthodox and somewhat less conventional memory mappings.

Incidental to this update, coin counters and/or lockouts have been added to Atari System 1 games, Basketball, Gauntlet, Gyruss, Hana Yayoi, Hole Land, Jr. Pac-Man, Mahjong Sisters, Pooyan, Roc'n Rope, Squash, Thunder Hoop, Time Limit, Time Pilot '84 and many others. This also cleans up coin counter behavior in Sauro and Rally Bike.

(nw) The purpose of committing this change, which has been several months in the making, early in the 0.189GIT cycle will be to allow time for fixing potential regressions; I've fixed a number of drivers that lost sound from this for various reasons (hnayayoi.cpp having missing or garbage ADPCM was particularly painful, since the three games in that driver all work slightly differently), but I can't test all affected drivers exhaustively. @Tafoid, don't bother running automated screen capture comparison tests on this, as many drivers are now expected to have the screen flipped for the first few seconds after reset.
2017-07-25 11:21:43 +10:00
Joshua Root
97d5034d1b Fix include path with USE_LIBSDL on macOS
The cflags will contain an include path ending in "SDL2", not just "SDL", and removing just the latter leaves a stray "2" on the end.
2017-07-22 22:27:34 +10:00
Joakim Larsson Edstrom
4ae48e9865 sda5708: NEW DEVICE Siemens SDA5708 8 character 7x5 dot matrix LED display (nw) 2017-07-17 13:45:16 +02:00
James Baicoianu
785e6f2fc9 Export soft_reset, hard_reset, exit, load, and save functions for Emscripten builds 2017-07-15 15:17:29 +10:00
James Baicoianu
15c2bb0c08 Fix save/load states in Emscripten build (#2470)
* Fix save/load states in Emscripten build
* Simplified Emscripten integration points
* Moved standalone JS functions to be static member functions of running_machine
* Improved Emscripten main loop
* Use convenience functions for cleaner code

As an added bonus, this now allows for proper shutdown of the running machine when running in the Emscripten environment - previously, attempts to exit the program were just being ignored.
2017-07-15 14:00:09 +10: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
Patrick Mackinlay
f91404a088 i82586: intel 82586/82596 ethernet controllers, skeleton only (nw) (#2456)
* i82586: initial commit, skeleton only

* oops (nw)

* i82586: added databook references

* use address space for memory access
2017-07-10 13:11:28 +02:00
Joakim Larsson Edström
28b8120788 Merge pull request #2452 from JoakimLarsson/fccpu1_3
New device: MC14411 Bit Rate Generator
2017-07-08 23:48:01 +02:00
fulivi
5201a7f6bf Begin of HP80 emulation (#2448)
What works:
* HP85A machine with 16K of RAM
* Capricorn CPU works
* Keyboard works (with minor issues)
* CRT text / graphics modes work (correct speed is not emulated yet so service ROM complaints)
* BASIC is usable

What is missing (and I'll have hopefully working soon):
* HW timers
* Beeper
* Integral printer
* DC100 cassette drive
* Extension ROMs
* I/O modules (especially the HPIB interface so that we can hook up floppy drives)
* Other models in the family (e.g. HP86)
2017-07-08 19:31:42 +10:00
Joakim Larsson Edstrom
4af3d0ac83 mc14411: NEW DEVICE Motorola MC14411 Bit Rate Generator 2017-07-08 00:14:06 +02:00
David Haywood
907115ed06 create c-chip device with correct CPU type in it and a bunch of notes (pinout etc.)
create a uPD78C11 derived CPU type for this purpose, with internal ROM map
use internal ROM map for other uPD78C10 chips as it's always present.
add missing NO_DUMP definitions to various games using C-Chips with correct size etc.
pump megablast through the device code as really all it ever does is bank the c-chip window and test the RAM.
2017-07-05 01:45:09 +01: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
Brandon Munger
5836d9e48b r9751: Add initial SMIOC device (#2423) 2017-06-30 10:11:21 +10:00
cracyc
38436b340d pc9801: move cbus to bus and add WIP mpu401 [Carl] 2017-06-26 14:16:54 -05:00
Vas Crabb
5ada035d17 Rewrote 4004 core and disassembler:
* Renamed to MCS-40.
* Emulated 8-clock instruction cycle, interruptible at any point.
* Converted TEST input to an input line.
* Added SYNC and CM output lines.
* Added support for 4040 CY output, logical operations, extended registers, ROM banking and disassembly.
* Made I/O space mapping more flexible to support the variety of peripherals available.
* Notable missing features are 4040 interrupt and halt, and "program memory" space.
2017-06-27 04:25:18 +10:00
npwoods
1b28df0b39 Reintroduced a state save menu, take two (#2358)
* This turns the current state save feature to a menu; one can still press 0-9, but you can also browse a menu when loading and saving state

* Fixed some issues requested by Vas Crabb

* Updated state menu to support arbitrary character slots

* WIP, transitioned 'entry_char' to std::string

Still need to address Joystick and FR keyboard concerns

* Reimplemented state save support with joystick buttons

* Changed the state menu to be "code driven" rather than "character driven"

When the menu is displayed, it will look at the filenames, and translate them to a visual representation as per the user's locale

* Vas feedback
2017-06-25 12:48:13 +10:00
hap
bca24133da sm510: made KB1013VK12 device a clone of SM5A (nw) 2017-06-23 00:34:16 +02: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
AJR
d046fd723f New device: TE7750 Super I/O Expander 2017-06-15 19:44:24 -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
Sergey Svishchev
24d016f62c New skeleton: GRiD Compass series 2017-06-06 21:29:43 +03:00
Michael Zapf
6e577c5465 ti99: Hexbus implementation; floppy HX5102 early WIP 2017-06-06 16:21:51 +02:00
arbee
876f0bb0b3 Initial support for SiS85c496/497 PCI chipset. [R. Belmont] 2017-06-05 22:26:49 -04:00
Olivier Galibert
cb29a590d0 Revert "state: Turns the current state save feature to a menu [Nathan Woods]"
This breaks saving a state from a joystick button, e.g. the
joy%i-%i.sta states, which are rather useful when you don't have a
keyboard handy.
2017-06-01 18:41:21 +02:00
npwoods
82974981a6 state: Turns the current state save feature to a menu [Nathan Woods]
* This turns the current state save feature to a menu; one can still press 0-9, but you can also browse a menu when loading and saving state

* Fixed some issues requested by Vas Crabb

* Updated state menu to support arbitrary character slots
2017-06-01 12:56:36 +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
tim lindner
2c2458bbac Added read support for the disk format SDF used in the CoCoSDC (#2345) 2017-05-31 16:23:49 +10:00
Vas Crabb
e892661905 srcclean (nw) 2017-05-28 13:40:48 +10:00
Vas Crabb
2d4ba2471d netlist: add a crude TTL schmitt trigger model and hook up in 1B11142
sound board, completing the tromba circuit

(nw) I'm not sure whether the model works properly or not, but in the
circuit where it's used, I don't think it can work properly with the
current TTL output model.  A capacitor is charged by the Q output of a
74LS74 flipflop (U3A) until the voltage passes the Schmitt trigger's
threshold, causing it to reset the flipflop.  However, the positive
trigger voltage of the Schmitt trigger is 1.6V, but our TTL output model
has a high output voltage of 1.0V (see nl_base.cpp:89).  I realise the
simplified model of TTL logic with high impedance inputs and outputs
behaving as though thery're loaded is convenient and fast to simulate,
but it's not detailed enough for applications like this where
7400-series chips are used in analog circuitry.  This is what held me up
last time I tried adding a netlist for this sound board.
2017-05-27 18:44:23 +10:00
couriersud
bc29593982 Netlist refactoring:
- OPENMP refactored. All OPENMP operations are now templatized in pomp.h
- We don't need thread-safe priority queue. Event code updating analog
outputs now runs outside the parallel code. 
(nw)
2017-05-27 00:11:14 +02:00
AJR
b201ad2cc0 Update cpu.lua properly (nw) 2017-05-26 17:20:31 -04:00
AJR
d1fb75b2e7 Quick and dirty split of most MC6801/MC6803/HD63701 features from base M6800 class (nw)
The code remains generally archaic and awful and in need of a sweeping rewrite. At least one static variable is no more.
2017-05-26 17:08:54 -04: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
R. Belmont
fbd2e33023 Merge pull request #2332 from DavidHaywood/nesvt2
preliminary steps for basic VT03 (NES clone) support
2017-05-23 21:22:07 -04:00
Michael Zapf
50b20ddf23 ti99: Wrapped into namespaces; minor rearrangement 2017-05-23 23:22:06 +02:00
David Haywood
7eeae7892d basic VT03 support 2017-05-23 21:12:26 +01:00
Vas Crabb
96c9112785 general cleanup:
* move rarely-used output and pty interfaces out of emu.h
* consolidate and de-duplicate forward declarations, also remove some obsolete ones
* clean up more #include guard macros
* scope down a few more things

(nw) Everyone, please keep forward declarations for src/emu in src/emu/emufwd.h -
this will make it far easier to keep them in sync with declarations than having
them scattered through all the other files.
2017-05-23 15:01:11 +10:00
dankan1890
f09ba1e562 Fixed some inaccuracies in file names in lua scripts. 2017-05-21 15:22:03 +10:00
fulivi
e2b9e11da0 Hp9845: Support for HPI floppy format (#2310)
hp9845: Support for HPI floppy format [F. Ulivi, A.Kückes]
2017-05-16 09:52:31 +02:00
smf-
dc1dcd260b fix MSVC debug builds by specifying /bigobj (needed for mpu4). Release builds don't seem to require it. (nw) 2017-05-16 07:56:04 +01:00
Dirk Best
85c01f5721 New device: SN54/74166 8-Bit Parallel-In/Serial-Out Shift Register 2017-05-16 00:24:08 +02:00
cracyc
40e1e3e698 Merge pull request #2303 from cracyc/linenoise_new
linenoise work
2017-05-15 11:41:06 -05: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
dankan1890
0e638ad0a2 Lua scripts cleanup. 2017-05-14 14:20:38 +10:00
cracyc
4ebc18aeec linenoise: replace linenoise-ng with a different port that is simpler and uses a different UTF8 parser [Carl]
plugins/console: better completions [Carl]
2017-05-13 16:57:47 -05:00
Ted Green
d2224d2eee vrc5074: Added new Nile 4 System Controller device 2017-05-13 14:30:06 -06:00
tim lindner
06d430fbcb Emulation of Games Master Cartridge 2017-05-13 13:29:53 -07:00
Lord-Nightmare
3d18cb2faa Add preliminary Sharp SM590 CPU core [Lord Nightmare, hap] 2017-05-09 14:24:39 -04:00
Olivier Galibert
2b066459bd k054321: Implement as a device [O. Galibert, Phil Bennett] 2017-04-25 19:54:17 +02:00
Vas Crabb
dac6dc4f62 srcclean (nw) 2017-04-23 12:27:42 +10:00
Nigel Barnes
735ab4f355 electron: Added Power Software joystick interface 2017-04-21 16:42:52 +01:00
AJR
0188b4e80b segaybd.cpp, srallyc: Add OKI MSM6253 device 2017-04-12 23:09:13 -04:00
cracyc
490d00afb7 ds1205: Add Dallas DS1205 Multikey [Carl] 2017-04-12 17:32:22 -05:00
AJR
32984a5a51 segaxbd.cpp: Rewrite CXD1095 as a device and also add it to megatech.cpp 2017-04-10 22:55:00 -04:00
AJR
5f29d0b1a3 Fix OS X tools build when MAME_DIR includes spaces (nw) 2017-04-09 10:36:18 -04:00
AJR
8fe18e9ecc New device interface for palettes
- Create device_palette_interface, which takes over most functionality from palette_device except for the initialization/decoding routines and RAM interface.
- Update screen_device and device_gfx_interface to use a device_palette_interface object rather than a palette_device. This necessitates slight alterations to a few drivers and devices.
- Modify v9938 and v9958 to use the new device_palette_interface rather than a subdevice. This entails breaking a cyclic dependency between device_video_interface and screen_device for this case.
2017-04-06 11:30:40 +10:00
Miodrag Milanovic
eb04392728 well issue is on any gcc 5.x (nw) 2017-03-30 08:50:24 +02:00
Miodrag Milanovic
3fff3faf6c proper fix (nw) 2017-03-30 08:36:15 +02:00
Miodrag Milanovic
0921d7aaae 2nd try (nw) 2017-03-29 18:14:35 +02:00
Miodrag Milanovic
456d9e3b47 Fix linux compile (nw) 2017-03-29 17:58:36 +02:00
Branimir Karadžić
49f7c99c77 Update BGFX and BX (nw) 2017-03-29 17:09:40 +02:00
Nigel Barnes
3ee922ace8 electron: Added First Byte joystick interface 2017-03-23 20:47:26 +00:00
Nigel Barnes
f224898523 archimedes: Added JFD floppy format as used by JASPP (Archimedes Software Preservation Project) 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
Miodrag Milanovic
ad2bedf06b Refactored HTTP handling to be easier to extend and use (nw) 2017-03-19 18:35:05 +01: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
hap
7f5c0d8703 fix compile (nw) 2017-03-15 16:57:45 +01:00
R. Belmont
b72b363175 Merge pull request #2142 from shattered/_9a6d02f
ie15: convert to a device with frontends (take 2)
2017-03-15 10:47:12 -04: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
Sergey Svishchev
8fd315da7e eurocom2, waveterm: new skeleton drivers (Eltec EurocomII SBC, PPG Waveterm A) 2017-03-12 17:17:06 +03:00
hap
3e867504c1 added hlcd0538 device (nw) 2017-03-10 16:44:33 +01: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
Mark Garlanger
9533352c6b Fix Heath H19 keyboard (#2066)
* Fix Heath H19 keyboard
* Fix how enable/disable of 25th line is handled.
* Updated to use internal ROM in MM5740.
2017-02-25 11:58:16 +11: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
Vas Crabb
8f15315a52 srcclean (nw) 2017-02-19 11:40:55 +11:00
R. Belmont
7b193346a8 Merge pull request #2068 from JoakimLarsson/prodigy_display
Prodigy display
2017-02-17 21:59:51 -05:00
couriersud
0716d96514 Reworked truthtables a bit.
- Moved 9312 and 74279 to ttl macro library.
- Renamed TTL_9312_* to DM9312. This is more appropriate.
- Fixed a number of warnings from latest ubuntu clang-5.0.
2017-02-17 20:10:15 +01:00
Joakim Larsson Edstrom
520e693dc2 prodigy: added new devices to script files 2017-02-17 09:05:30 +01:00
R. Belmont
1835b25d6d Merge pull request #2062 from shattered/_fb4f4dd
ms0515.cpp -- hook up keyboard and floppy, improve video emulation etc. (take 2)
2017-02-15 21:58:06 -05:00
Vas Crabb
fb087b6c92 Cherry-pick some features from self-registering drivers PoC:
* Use size_t for sizes and <algorithm> for algorithms
* Fix up some files that were getting linked into multiple libs
* Add missing virtual method to sh2 peripheral class
* Put shortname in driver struct for locality
* Use shared pointers in config LRU cache for safety
2017-02-16 12:20:35 +11:00
Sergey Svishchev
1837531d2d ms0515.cpp -- hook up keyboard and floppy, improve video emulation etc. 2017-02-13 22:09:31 +03:00
Olivier Galibert
a2557f1b02 Remove emu.h from headers (nw)
Per Vas' request.  If the compile fails for you (i'm thinking osx and
windows native debuggers here in particular), add '#include "emu.h"'
as first include of the cpp files that fail.

Due to our use of precompilation and forced inclusion, emu.h must be
included as the very first non-comment thing we do if we want to be
sure msvc compiles are identical to gcc/clang ones.  Doing it directly
instead of through an include increases the correctness probability by
a magnitude.
2017-02-11 18:31:20 +01:00
couriersud
9a71daa2e0 Make windows builds of nltool and nlwav understand unicode.
nltool and nlwav now use wmain, i.e. UNICODE main on windows. (nw)
2017-02-10 21:53:01 +01:00
couriersud
ab17457707 Make sure netlist includes are not found directly on include path.
Instead, they have to be prefixed by "netlist/". Removed unneeded link
librariers for nltool and nlwav along the way. (nw)
2017-02-10 21:52:09 +01:00
Miodrag Milanovic
d2d26c6771 added RGB unit testing (nw) 2017-02-09 11:19:36 +01: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
Luca Elia
4170ed789e More complete Galaxy Games emulation: [Luca Elia]
- Created devices for the galaxy games carts (EEPROM + Flash + PIC) and the slot(s)
- Removed code patches and emulated the PIC communication and bank switching
- Converted the blitter to a device (cesblit.cpp)
- moved the Galaxy Games from tmaster.cpp to their own driver (galgames.cpp)

Provided the PIC code for all four StarPak cartridges [Keith M. Kolmos]

New working machines
--------------------
Galaxy Games StarPak 3
  [Keith M. Kolmos, Rod_Wod, Sean Sutton, Soren Skou Nielsen, Russell Howard, Francis Ramirez,
   Tourniquet, BrianT, coolmod, Smitdogg, The Dumping Union, Luca Elia]
2017-02-05 22:44:38 +01:00
ajrhacker
a59a5cbbb5 preliminary TLCS-870 disassembler - Work in Progress (#1967) 2017-02-05 16:36:06 -05:00
Miodrag Milanovic
18882607f9 Removed not needed files from bgfx build (nw) 2017-02-05 15:29:29 +01:00
Miodrag Milanovic
00ad4ab0ae Update build scripts, BX is now static library (nw) 2017-02-05 14:15:25 +01:00
Miodrag Milanovic
39370345d6 Remove some dependency between src/devices/ and src/mame (nw) 2017-02-05 12:46:44 +01: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
Vas Crabb
06e22ce79d m6805: added skeleton CMOS devices
* Added m146805 and m68hc05 to unidasm
* Made opcode tables configurable in m6805_base_device, provided tables for HMOS, CMOS and HC families
* Implemented MUL instruction, made unimplemented STOP and WAIT raise fatal error
* Added skeleton MC68HC05C4 with RAM and ROM in correct locations in memory map
2017-01-30 23:10:51 +11:00
couriersud
c713f9ed1d Separate include file usage for netlist.
Device implementations (all cpp files in netlist/devices) now should
only include nl_base.h. 
Netlist implementation sources should only include "net_lib.h". 
Refactored netlist.h and netlist.cpp to avoid namespace congestion in
netlist.h.
Fixed VC2015 build. (nw)
2017-01-29 15:47:12 +01:00
Dirk Best
f2f55c1568 Amiga: Move and rename amiga sound device, add pinout and description 2017-01-29 12:42:58 +01:00
couriersud
5c88873a87 Cleanup of includes. (nw) 2017-01-27 15:22:17 +01:00
angelosa
4ba1c0f2ca Added stub Rainbow device (nw) 2017-01-26 17:52:11 +01:00
Julian Sikorski
4c6cae2570 Fixed building using system portaudio 2017-01-26 19:11:46 +11:00
Julian Sikorski
c50ddac28b Fixed building using system utf8proc 2017-01-26 09:28:21 +11:00
Vas Crabb
145cd1618f Merge tag 'mame0182' of https://github.com/mamedev/mame
MAME 0.182

Conflicts:
	src/mame/drivers/aristmk5.cpp
2017-01-25 12:21:30 +11:00
R. Belmont
5bb61a8965 Merge pull request #2016 from pmackinlay/interpro
Interpro
2017-01-24 14:02:51 -05:00
Patrick Mackinlay
875f3c9d12 initial pull request 2017-01-24 21:53:51 +07:00
Vas Crabb
192c09b374 comma (nw) 2017-01-23 19:42:19 +11:00
Vas Crabb
2d6477f872 This isn't behaving how I expect, investigate another time (nw) 2017-01-23 19:37:51 +11:00
Vas Crabb
110bc692fa portaudio needs COM (nw) 2017-01-23 19:12:47 +11: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
Vas Crabb
f249941f3a Merge pull request #2007 from JoakimLarsson/miniforce
Miniforce and fccpu20 slot device
2017-01-22 15:25:55 +11:00
Joakim Larsson Edstrom
615b815259 Added fccpu20 to Miniforce as a VME card 2017-01-21 22:03:21 +01:00
hap
41e4bb5797 added hlcd0515 skeleton device (nw) 2017-01-21 01:46:33 +01:00
R. Belmont
da169d7fe0 Merge pull request #2002 from wilbertpol/hcd62121
hcd62121/cfx9850: several small cleanups (nw)
2017-01-20 15:29:12 -05:00
Vas Crabb
19a9122748 add logmacro.h inspired by Edstrom's log macros
* should be #included after other headers and after optionally #defining VERBOSE
* usage samples in z80scc.cpp and m68705.cpp

68705: add lots of logging to help trace issues
2017-01-20 16:53:12 +11:00
Wilbert Pol
fc16e06975 hcd62121: several small cleanups (nw) 2017-01-19 22:50:30 +01:00
couriersud
ca11021d73 Netlist:
- refactored reverse polish notation evaluator into own source files.
- added function parameter to current and voltage sources VS and CS.
  You can now use those to e.g. produce a sine wave.
- Changed code to allow devices to optionally be treated as dynamic or 
  timestepping devices.
[Couriersud]
2017-01-17 01:35:16 +01:00
Joakim Larsson Edström
976d3d5c7f Merge pull request #1990 from JoakimLarsson/mpcc_1
- WIP: Refactored device: MPCC 68561 (nw)
2017-01-16 23:55:05 +01:00
Joakim Larsson Edstrom
a2f105b8e4 - WIP: Refactored device: MPCC 68561 (nw)
- 68230 PIT: Added support for the PSR register, H1-H4 sense and direct pin levels
- WIP: fccpu20: added mpcc device and serial interface (nw)
2017-01-16 23:49:55 +01:00
Nigel Barnes
2188df0263 apd_dsk: new floppy format 'Archimedes Protected Disk' 2017-01-16 20:44:43 +00:00
Curt Coder
9d371eb5ba cop400: Properly separated COP444L from COP444C. [Curt Coder] 2017-01-16 22:06:11 +02:00
Curt Coder
af0805d848 cop400: Removed non-working, incomplete COP440 code. (nw) 2017-01-16 20:13:31 +02:00
intealls
e74399a722 fix msvc compile 2017-01-14 23:34:33 +01:00
couriersud
674077f89f Prepare source for consistent error message usage. (nw) 2017-01-14 16:35:57 +01:00
R. Belmont
32c13ad929 Merge pull request #1959 from intealls/pa_oct16
PortAudio library update and backend
2017-01-12 20:30:12 -05:00
Joakim Larsson Edstrom
be76377dcf New device: BIM 68153 2017-01-12 10:39:55 +01:00
Vas Crabb
02d69ca65a m6805: refactoring and improvements
* Moved 68705 devices into their own file.
* Made P3, P5 and U3 variants and made them load bootstrap ROMs.
* Implemented EPROM control (write is stubbed out with a logerror).
* Implemented differences for open drain I/O ports.

(nw) Base device with peripherals should really derive from the 6805
device directly, not the 68705 devices, as I/O ports are present on mask
devices (e.g. 6805P2).  All drivers and devices that were using
M68705_NEW have been changed to M68705P5 - someone who knows the drivers
better should fix them up.
2017-01-12 19:05:12 +11:00
inte alls
cd03a64284 Initial PortAudio backend with build script changes to support library version 20161030 2017-01-11 20:24:00 +01:00
couriersud
9d3d07b771 Move netlists into macro folder. (nw) 2017-01-09 00:28:31 +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 Edström
34c3e7866b Merge pull request #1927 from JoakimLarsson/vme_1
Converted fcisio1 and fcscsi1 boards to VME slot devices
2017-01-05 17:37:59 +01: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
couriersud
02c3f45bff Fix clang "-Wno-weak-vtables" warnings in netlist source. Refactored
code along the way. (nw)
2017-01-05 01:43:31 +01:00
Joakim Larsson Edström
7907229e28 Merge pull request #1922 from JoakimLarsson/vme1
VME: converted mvme350 board driver to slot device and a general cleanup
2017-01-04 20:31:55 +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
couriersud
78ef96336e Added SIGFPE enabling code to plib/pexception.*. Moved plib exceptions
into these files as well. The code uses <cfenv> which is part of c++11
standard. Non-standard glib extensions are currently only used on linux
and (i386 or x86_64). (nw)
2017-01-04 18:01:22 +01:00
Miodrag Milanovic
63e3f48775 Added initial HTTP/HTTPS webserver/websocket server support (nw) 2017-01-04 16:15:57 +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
Nathan Woods
123ccb1790 Heh missed these too 2016-12-31 20:07:30 -05:00
Nathan Woods
4f08110c53 Introduced 'ext_lib("utf8proc")' to a number of the tools builds 2016-12-31 17:07:14 -05:00
Nathan Woods
5be1b8e6e0 Introduced utf8proc and created wrapper code to expose a prettier API 2016-12-31 11:17:07 -05:00
Brad Hughes
b47ec24df6 Move special windows.h include directives to build defines (nw) 2016-12-28 15:07:28 -05: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
couriersud
63f4e52dae Moved proxy code into separate file. (nw) 2016-12-28 13:48:48 +01:00
MooglyGuy
92820ea460 Merge pull request #1880 from JoakimLarsson/VME_1
-mzr8105: Added VME device and divided mzr8105 in board and card devices. [Edstrom]
2016-12-26 23:38:40 +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
MooglyGuy
fbb8ee0fe8 -netlist: Added 82S123 256-bit (32x8) TTL bipolar PROM. [Ryan Holtz] 2016-12-24 22:09:59 +01:00
therealmogminer@gmail.com
9c4c4d0a5b -netlist: Added 82S126 4kbit (512x8) TTL bipolar PROM. [Ryan Holtz] 2016-12-23 23:29:45 +01:00
Vas Crabb
f5bc78c211 netlist: Added 4316 bilateral switch pack. 2016-12-23 14:54:54 +11:00
therealmogminer@gmail.com
677aaaec3d -netlist: Added 74165, 74194, 7475, 7485, and DM9322 devices. [Ryan Holtz] 2016-12-22 19:39:52 +01:00
AJR
ff68193741 Overhaul of devcb (nw)
- Allow stringing multiple callbacks together recursively. Chained callbacks will be read or written in sequence, and each can be configured with its own type and mask/shift/XOR parameters.
- Chained input callbacks cannot have overlapping masks (there's no such thing as a free multiplex). Chained output callbacks have no such restriction.
- Remove the constant parameter for the LOGGER callback type: it makes no sense for output, was always zero in existing usage, and is now unnecessary with callback chaining.
- Change LOGGER behavior for writes to log the user-defined message only if the output as masked is nonzero. With callback chaining, this can be used to monitor when individual bits become active.
- Constant read callbacks can no longer have MCFG_DEVCB_XOR or MCFG_DEVCB_INVERT specified (makes no sense in this context).
- Add a MEMBANK callback type to allow output bits to be used for bank-switching.
- Add ASSERTLINE and CLEARLINE callback types that raise or lower an interrupt line if the selected bit of the written value is active. These are intended for where periodic or ready-pulse signals from devices are used to trigger IRQs that the CPU program will independently acknowledge.
- Add MCFG_DEVCB_BIT as shorthand for masking and shifting out an individual bit for a callback.
- Removed DEVCB_LINE_DISPATCH_<n>. Where we're going, we don't need line dispatcher devices.

The incompatibility of compilers with regard to post-C90 printf string formats is shockingly bad. There seems to be no easy way to format a 64-bit value and please both gcc and clang, let alone MSVC.
2016-12-21 15:20:54 -05:00
therealmogminer@gmail.com
66abfa8e6d -netlist: Added shared RAM pointer, for use by netlist RAM devices which need updating by non-netlist driver code. [Ryan Holtz]
-netlist: Added new devices: [Ryan Holtz]
 * Intel 2102A 1Kbit (1024 x 1) Static RAM
 * 74365 Hex Bus Driver with 3-State Outputs
 * Generic 2- and 3-terminal Tristate device
 * Note: Tristate device and 74365 do not actually tristate, they are simply a way of combining multiple outputs + chip enables.
2016-12-21 20:32:49 +01:00
therealmogminer@gmail.com
4a71e6bdcf -netlist: Added 74166 Parallel-Load 8-Bit Shift Register device. [Ryan Holtz] 2016-12-21 20:32:48 +01:00
therealmogminer@gmail.com
e3e38025c3 -netlist: Added 2716 16 Kbit (2 Kbit x 8) UV EPROM. [Ryan Holtz] 2016-12-21 20:32:47 +01:00
therealmogminer@gmail.com
32d0f10418 -netlist: Added 74174 Hex D-Type Flip-Flop with Clear [Ryan Holtz] 2016-12-21 20:32:47 +01:00
therealmogminer@gmail.com
19165cfbfd netlist: Added 82S126 1K-bit bipolar PROM device. [Ryan Holtz] 2016-12-21 20:32:47 +01:00
therealmogminer@gmail.com
72f4f2a20e netlist: Device additions: [Ryan Holtz]
* 74161 Synchronous 4-Bit Binary Counter with Clock
 * 7473 Dual Master-Slave J-K Flip-Flops with Clear and Complementary Outputs
 * Am2847 Quad 80-bit Static Shift Register
 * DM9334 8-bit Addressable Latch
2016-12-21 20:32:46 +01:00
Ville Linde
dbcf903c78 Added preliminary MB86235 recompiler [Ville Linde] 2016-12-17 22:09:09 +02: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
Vas Crabb
be26ac9abf coretmpl: add an associative LRU cache with map-like behaviour
selmenu: use LRU cache so icons don't all need to be reloaded on scroll

uismall.bdf: set default character for missing glyphs

rendfont.cpp:
* encapsulate many BDF and BDC handling details
* make file I/O 64-bit clean, check for allocation errors
* more solid BDF parser with error messages and trace logging
* fix heap smash when building bitmaps for BDF fonts
* extend BDC format to support high planes and default character
* render default character if glyph not found for BDF/BDC
2016-12-15 17:00:34 +11:00
Dirk Best
92ce7cd13c beezer: Rewrite driver
- Uses the standard 6840 PTM core for sound generation
- New MM583 Noise Generator device
- New DAC-76 DAC sound
- Use resistor network values for colors
- Use bankdev device for banking
2016-12-12 01:08:29 +01:00
Miodrag Milanovic
124f30dbbc Enable building projects that are separate of MAME but use same core and lives in separate git tree (nw) 2016-12-08 11:46:15 +01:00
R. Belmont
84f9def81f Merge pull request #1788 from ajrhacker/ls157
Create new 74LS157 device and hook it up to MSM5205 on Rastan
2016-12-02 16:13:12 -05:00
cracyc
5ad9b67e1d new not working
----------------
Dulmont Magnum [Carl, Dave Jones]

isbc: new isbc8630 sct set [Al Kossow]
2016-12-02 15:07:26 -06:00
AJR
5044432ff6 Create new 74LS157 device and hook it up to MSM5205 on Rastan 2016-12-02 06:59:45 -05:00
Dirk Best
d7ae91ffb2 Create an ef9369 device and use it for guab 2016-11-30 18:35:03 +01:00
Vas Crabb
7238415d1f srcclean (nw) 2016-11-27 09:56:49 +11:00
Miodrag Milanovic
dbbd5e9c98 As promised, removing this part of code since it is used for compilers check, no need for this to be in release (nw) 2016-11-23 08:37:05 +01:00
fulivi
a7ee0a41e9 hp9845: implemented 98034 module (HPIB interface) 2016-11-22 09:53:39 +01:00
Brad Hughes
f9a6e8711b Remove unneeded 7z file that is unsupported by UWP (nw) 2016-11-19 18:47:49 -05:00
Vas Crabb
bb99eba11d Update LZMA to 16.04 (security and portability fixes) 2016-11-18 20:37:20 +11:00
Vas Crabb
aef214ac80 Merge pull request #1718 from npwoods/dasmstream_nec
Changed the NEC disassembler to use 'std::ostream &' internally
2016-11-17 11:33:06 +11:00
Miodrag Milanovic
8e61a7d3d3 Added VS2017 support into project files (nw) 2016-11-16 21:00:29 +01:00
Miodrag Milanovic
47a05778bf Updated SDL2 to 2.0.5 (nw) 2016-11-16 16:28:01 +01:00
Nathan Woods
dc4086847a Put necv_dasm_one() into a header file 2016-11-16 08:07:33 -05:00
Miodrag Milanović
3d09d05647 Merge pull request #1676 from mmicko/testing
Add more applicable Catch testing framework. Converted all tests to be done properly by guideline. (nw)
2016-11-14 15:30:11 +01:00
Miodrag Milanovic
b73126e85a added OPTION_HOMEPATH to point to read/write folder,for now used by LUA scripts (nw)
Copied all needed files so plugins could be started under UWP
2016-11-12 15:27:22 +01:00
Miodrag Milanovic
75c6c0f059 Make executable for test follow rules for main file (nw)
Make normal notation for require (nw)
Split properly tests (nw)
2016-11-12 14:54:21 +01:00
Miodrag Milanovic
3c577aedb8 Converted existing test to catch framework (nw) 2016-11-12 11:12:11 +01:00
Brad Hughes
2e49823a06 Add basic keyboard input to UWP (nw) 2016-11-11 12:58:41 -05:00
Miodrag Milanovic
7c765ea147 No need for osd_malloc, osd_malloc_array and osd_free (nw)
MALLOC_DEBUG not applicable anymore since we use new to allocate in 99.9% of cases
2016-11-11 16:12:01 +01:00
Miodrag Milanovic
46fa51e60e move asset files to proper place 2016-11-11 09:43:42 +01:00
Brad Hughes
bcabf45f08 UWP builds again but by no means working (nw) 2016-11-10 16:26:05 -05:00
Miodrag Milanovic
0f877e08b3 Fixed android build (nw) 2016-11-10 19:14:44 +01:00
Miodrag Milanovic
9c364cdfa9 Adding video and window code to UWP(nw) 2016-11-10 14:53:56 +01:00
Miodrag Milanovic
a18497e7a2 Some more work on UWP (nw) 2016-11-10 13:13:51 +01:00
Miodrag Milanovic
cddd8bbe7a Add more UWP support (nw) 2016-11-09 15:44:44 +01:00
Miodrag Milanovic
0d1f5b6be4 Make 3rdparty compile for UWP and start adding new OSD for UWP based on previous Brad work (nw) 2016-11-09 14:53:19 +01:00
Miodrag Milanovic
114aa294cd Fix some single driver builds (nw) 2016-11-08 12:28:56 +01:00
Miodrag Milanovic
cf4a8b9e03 resurected sqlite3 and lsqlite3 (nw) 2016-11-07 16:12:06 +01:00
Miodrag Milanovic
e2d2355352 Trying to do link fix (nw) 2016-11-07 14:47:17 +01:00
Miodrag Milanovic
de7e80804e Added ability to use ASIO in all core MAME parts (nw) 2016-11-07 10:47:27 +01:00
Miodrag Milanovic
fc58a0bec8 Added basic HTTP server, not active yet, based on ASIO example with small refactoring included (nw) 2016-11-07 10:42:23 +01:00
cracyc
2de04414ed plugins/console: add lua console [Carl] 2016-11-06 13:41:43 -06:00
R. Belmont
f05e7ffad0 Merge pull request #1637 from fulivi/hp9845_dev7
Hp9845: re-implemented 98035 module with a nanoprocessor driver
2016-11-05 14:22:46 -04:00
Miodrag Milanovic
421b5e2638 Added lua-linenoise by Carls request (nw) 2016-11-04 15:25:21 +01:00
Miodrag Milanovic
2682adc5d7 Fixed x64 builds with new luaengine on VS2015(nw) 2016-11-03 19:09:55 +01:00
fulivi
5f54097e53 nanoprocessor: initial support. Disassembler only is known to work at this point. 2016-11-03 14:52:41 +01:00
Miodrag Milanovic
e2d58b6a16 ASIO - header only mode (nw) 2016-11-02 14:34:06 +01:00
Justin Kerk
4efc19b68a Update bgfx shader path for Emscripten build (nw) 2016-11-01 06:11:18 +00:00
Miodrag Milanovic
73bdc2ab36 added non-legacy i82439tx and created a driver using it in pcipc (nw)
added vga hack to be able to test pcipc.cpp
pcipc -bios 3 and pcipctx can initialize more if 0xAA is written at 0x4f0
2016-10-30 17:40:04 +01:00
R. Belmont
86548bc507 Merge pull request #1557 from ajrhacker/inputdev
Polymorphize input_device and input_class; move to separate source fi…
2016-10-29 20:41:28 -04:00
Branimir Karadžić
a3b4058bf7 Updated BGFX and BX and recompiled shaders (nw) 2016-10-29 09:11:50 +02:00
Justin Kerk
b99be73f2d Experimental support for compiling to WebAssembly using Emscripten (not yet working) (nw) 2016-10-29 06:00:45 +00:00
therealmogminer@gmail.com
fc5fc6d4c2 New devices added
-----------------
7400 Quad 2-Input NAND Gate [Ryan Holtz]
7404 Hex Inverter [Ryan Holtz]
82S126/82S129 256x4-bit PROM [Ryan Holtz]
2016-10-28 20:08:21 +02:00
therealmogminer@gmail.com
c35c2a9cdc New devices added
-----------------
54/7416x Hex/Quad D Flip-Flops with Clear [Ryan Holtz]
9334/DM9334 8-Bit Addressable Latch [Ryan Holtz]
2016-10-28 02:37:23 +02:00
therealmogminer@gmail.com
93735cdf7e -core: Added 54/74160,161,162,163 device emulation. [Ryan Holtz] 2016-10-28 02:37:22 +02:00
therealmogminer@gmail.com
8225a140ee -hazeltin: Added preliminary video, still broken due to timing issues. [Ryan Holtz] 2016-10-27 13:46:42 +02:00
AJR
99c705f9de Polymorphize input_device and input_class; move to separate source file (nw) 2016-10-24 17:28:35 -04:00
Nathan Woods
293bfef845 Merging Konami disassembler with M6809/HD6309 disassemblers 2016-10-23 21:27:45 -04:00
Nathan Woods
81294aa08f Merged the M6809 and HD6309 disassemblers, and changed to properly use streams 2016-10-23 18:03:36 -04:00
Vas Crabb
129c0feeed srcclean (nw) 2016-10-23 22:36:24 +11:00
Miodrag Milanovic
f5d88ac12e fix VS build (noticed only when using MSBUILD=1) (nw) 2016-10-23 11:36:36 +02:00
Miodrag Milanovic
ddb290d5f6 NOTICE (TYPE NAME CONSOLIDATION)
Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8
also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
2016-10-22 13:13:17 +02:00
Miodrag Milanovic
e2f54f5333 Cleanup, TIMER_CALLBACK was only in unused parts (nw) 2016-10-21 16:26:22 +02:00
smf-
36944269bd DAC WIP, started documenting the DACs in use. [smf]
ataxx: Fixed missing sound channel caused by one dac not being hooked up and one dac being hooked up to two addresses.
bestbest: Fixed high pitch screech caused by incorrect addressing (two dacs weren't hooked up and two were hooked up to two addresses).
cchasm: Fixed static noise generation caused by feeding the same bit to both dacs.
cheekyms: Slightly improved sound by implementing sound triggers as 8 x 1 bit dacs instead of 1 x 8 bit dac.
galeb: Fixed sound by implementing it according to http://www.deltasoft.com.hr/retro/galebemu.htm & implemented enough of LOAD/SAVE to stop it hanging.
hard drivin: (all games in driver) Improved 12 bit controls, although centre still goes out of sync.
mea8000: Converted to a sound device.
megaphx: Fixed noisy samples due to wrong format.
microvsn: Fixed sound pitch caused by incorrect usage of write_signed8().
seicross: Changed to a 4 bit dac as samples are packed nibble.
spaceg: Preliminary sound using space invaders samples.
suna8: Changed to a 4 bit dac as samples are packed nibble.
vcombat: Fixed static during machine gun fire due to incorrect dc offset removal.
vectrex: Fixed noisy samples due to wrong format.
wheelfir: Fixed sound, eeprom & analogue steering wheel and brake pedal.
2016-10-17 16:04:02 +01:00