Commit Graph

1495 Commits

Author SHA1 Message Date
Patrick Mackinlay
a035eafdfe jazz: wip checkpoint (nw)
At this point, jazz can start Windows NT 4.0 from cdrom, but crashes launching the session manager just prior to running setup.
2019-02-12 18:09:47 +07:00
David Haywood
dea868dfaa new WORKING machines (JAKKS stuff) (#4624)
New WORKING machines
---
Ms. Pac-Man 5-in-1 (Ms. Pac-Man, Pole Position, Galaga, Xevious, Mappy) (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, Peter Wilhelmsen, 19 external donators]
Disney Princess (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 20 external donators]

New WORKING Software List entries
---
jakks_gamekey_nm:nrxdig New Rally X & Dig Dug  [Sean Riddle, Peter Wilhelmsen, 19 external donators]

note, Pole Position is not really very playable at the moment due to raster rendering glitches, the rest are, aside from some obvious sound issues (nw)

New machines marked as NOT WORKING
---
Wheel of Fortune (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 20 external donators]

There is a video rendering glitch (lkely another off by x lines raster issue) causing the letter selection text to not render properly, it appears the letters scroll instead of the text scroller below, which doesn't. (nw)

-spg2xx: Make rowscroll offset configurable, can't find register to control it, but JAKKS games need 0, while the chinese stuff needs 15 (nw)

-jak_wof: Marked as working, analog wheel isn't emulated, but is optional (I don't see where / how it maps) (nw)

-jak_wof: Improved inputs (nw)

-gamekeys now save to the gamekey seeprom not the system one (nw)
2019-02-10 18:47:03 +01:00
Peter Ferrie
e769e76ce4 enable sub-second snapshot timers (nw) (#4493)
* enable sub-second snapshot timers (nw)

* switch to attotime, accept doubles

* support LLVM extension in MSVC

make vsllvm

using extension from here:

https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain
2019-02-04 13:05:46 -05:00
AJR
44f375b47d Add skeleton CRT9028 device (nw) 2019-02-03 13:13:30 -05:00
Patrick Mackinlay
ba8d7b1c8f r4000: experimental mips3 implementation (nw)
WIP checkpoint: while I believe it's largely accurate (and very slow), neither jazz nor sgi systems can fully boot yet using this device, so it remains experimental.

This implementation should go away when it has helped identify the improvements required for mips3.
2019-02-01 15:27:13 +07:00
Vas Crabb
76323eb770 srcclean and cleanup (nw) 2019-01-27 14:22:20 +11:00
AJR
68735745b0 New skeleton ISA16 device: InterLan NP600A-3 Intelligent Protocol Processor [modem7, minuszerodegrees.net] 2019-01-26 14:30:36 -05:00
AJR
79b6956563 New skeleton ISA16 device: Everex EV-346 disk controller [modem7, minuszerodegrees.net] 2019-01-26 01:43:10 -05:00
AJR
35c6f44849 New skeleton ISA16 device: Joincom JC-1310 FDC [Tronix, minuszerodegrees.net] 2019-01-26 01:03:23 -05:00
Nigel Barnes
41f70ede78 bbc: Added the Logotron Sprite Board on the 1MHz bus (for use with Logotron Logo). 2019-01-25 23:25:39 +00:00
Patrick Mackinlay
bb0702d2d5 alpha: new cpu, disassembler only 2019-01-24 15:03:38 +07:00
Vas Crabb
e55e20c79e Revert "nes_vt: APU improvements (#4476)"
This reverts commit 6d3238ead8.
2019-01-24 11:06:08 +11:00
Nigel Barnes
89c09536ac electron: Amended cartridge slot interface to include OE and OE2 lines to specify ROM13.
- Added Slogger Plus 2 Expansion, Acorn Tube Interface and P.R.E.S. Advanced Plus 5 cartridge devices.
- Use derived 16Mhz clock on expansion bus and cartridge slots.
- Removed MCFG and added devcb3 in expansion and cartridge devices.
2019-01-23 02:10:10 +00:00
Olivier Galibert
9ef08696cc wd33c9x: Convert the remaining drivers, kill the old driver [O. Galibert] 2019-01-22 22:20:54 +01:00
arbee
32703cfa5a decstation: move SFB video chip to separate device for future AlphaAXP sharing [R. Belmont] 2019-01-20 21:29:32 -05:00
MooglyGuy
953d9737d4 -vsmile: Converted to use slot devices for controllers. Breaks controller input. Checkin in so Vas can look at it, nw 2019-01-20 05:12:08 +01:00
MooglyGuy
165e617ca2 -spg2xx: Added additional timer logging, nw.
-vsmile: Demoted all drivers to MNW, nw.

This reverts commit d48481df90.
2019-01-19 19:43:31 +01:00
MooglyGuy
d48481df90 -vsmile: Removed all of my work and returned to a skeleton driver, since it's not good enough for Haze. nw 2019-01-19 18:36:05 +01:00
Vas Crabb
db178071f5 no need to add that twice (nw) 2019-01-20 02:02:19 +11:00
Vas Crabb
57d9f16115 vsmile: add skeleton controller bus 2019-01-20 01:25:44 +11:00
Vas Crabb
9198c2bd58 More UI stuff:
* Split up the different parts of ICO loading in the menus (locating files, scaling, drawing, etc.)
* Added icon support to software selection menu
* Added support for more ICO file variants, including PNG-in-ICO (new DIB parser is overkill for ICO but I can factor it out for BMP loading at some point)
* Added favourites filter for software menus - includes software that's favourited on any system, so GBC includes DMG favourties and vice versa
* Eliminated unnecessary member variables and O(n) walks in software selection menu
* Made the menus' cached texture structures a bit more efficient
2019-01-19 17:34:43 +11:00
mooglyguy
eb6223426d -vsmile: Added proper slot device emulation for the cartridge slot. Gets vsmile techart fully working. [Ryan Holtz]
-vsmileb: Found enough port bits to show the VTech logo and V.Smile Baby intro. No game boots yet. [Ryan Holtz]

-spg2xx: Added separate logging for external interrupts and address mapping. [Ryan Holtz]
2019-01-17 19:05:46 +01:00
Nigel Barnes
01ef9a6a44 bbc: Re-implemented ROM slots to be able to handle non-standard ROM devices, and added support for:
- 32K ROM slots in B+ and Master series.
- PALPROM carrier boards from Computer Concepts, Watford Electronics, etc.
- Real Time Clock ROM devices from Solidisk and PMS.
- UserRAM sideways RAM from Acorn User.
- MRM E00 DFS.
2019-01-16 20:05:03 +00:00
David Haywood
884a2fd070 new NOT WORKING --- Classic Arcade Pinball (JAKKS Pacific TV Game) [Sean Riddle, David Haywood] (#4502)
* new NOT WORKING --- Classic Arcade Pinball (JAKKS Pacific TV Game) [Sean Riddle, David Haywood]

* move to new driver instead (nw)

* minor note updates (nw)

* map inputs in matelcs (currently needs a hack to boot, so won't show anything yet) also removed a pointless bitswapping in a read function for some other stuff in the driver, and just correct the ports instead

* fix a typo (nw)

* note (nw)
2019-01-13 11:19:06 -05:00
R. Belmont
665eb5001c
Merge pull request #4501 from fulivi/hp9825_dev4
hp9825: added HLE of HP9885 floppy drive
2019-01-13 11:18:39 -05:00
AJR
830b460819 uts20: Add UTS 400-Format Keyboard as slot option [AJR, Bitsavers] 2019-01-12 13:23:56 -05:00
fulivi
c6dff30d7a hp9825: added HLE of HP9885 floppy drive. Extended HPI format to
handle single-sided disks.
2019-01-12 18:57:39 +01:00
MooglyGuy
6784650038 unsp: Created a SunPlus u'nSP recompiler. [Ryan Holtz] 2019-01-12 12:51:22 +01:00
AJR
66b50810f2 uts20, uts10: Keyboard emulation and more
- Add custom keyboard port and emulate most of the Expanded Typewriter Keyboard
- Add unidirectional printer port
- Use addressable latch devices to control various things, including disabling display during RAM test
- Hack to pass non-volatile memory test on uts10
2019-01-08 17:52:10 -05:00
R. Belmont
43110c956e
Merge pull request #4487 from shattered/_1c5572b0c3
netlist wip: 7474, 7497, test driver
2019-01-07 16:12:35 -05:00
Sergey Svishchev
737093be1e netlist wip: 7474, 7497, test driver 2019-01-07 22:33:54 +03:00
David Shah
6d3238ead8 nes_vt: APU improvements (#4476)
* nes_vt: Add support for second APU and VT03 PCM

* nes_vt: Add support for VT3x PCM in DGUN2573, etc

* nes_vt_apu: Tidy up after rebase (nw)

Signed-off-by: David Shah <dave@ds0.me>

* nes_vt_apu: Add IRQ support

Signed-off-by: David Shah <dave@ds0.me>

* nes_vt_apu: Remove debug printing (nw)

* nes_vt_apu: Fix indentation (nw)
2019-01-05 21:31:57 -05:00
Vas Crabb
8d40db558e additional documentation on compiling MAME (nw) 2019-01-01 23:30:41 +11:00
Patrick Mackinlay
a6f8b885da wd33c9x: somebody dropped this (nw) 2019-01-01 09:17:02 +07:00
Justin Kerk
3c34a1d307 Fix errors with single-driver build of vsnes.cpp [Justin Kerk] 2018-12-30 12:54:48 -08:00
arbee
b242f119b6 Added a skeleton for the DEC DC7085 (aka "DZ") quad UART. [R. Belmont] 2018-12-30 00:25:32 -05:00
David Haywood
35ff1ea40b XaviX work (new softlist entries etc. promote ddrfammt, popira, nostalgia, card night etc. to working) (#4439)
* XaviX work
new Software List items [Sean Riddle, David Haywood]
ekara_japan_d:dc0002 BAT Volume 6 (Japan) (DC0002-BAT)
ekara_japan_d:dc0005 TV Pop Volume 9 (Japan) (DC0005-TPJ)
ekara_japan_p:pc0001 BHT Volume 4 (Japan) (PC0001-BHT)
ekara_japan_p:pc0003 ENB Volume 1 (Japan) (PC0003-ENB)
ekara_japan_g:gc0001 BAT Volume 1 (Japan) (GC0001-BAT)
ekara_japan_g:gc0016 TV Pop Volume 5 (Japan) (GC0016-TPJ)
ekara_japan_web:ekaraweb12 e-kara Web cartridge 12M (blank) (Japan)

new clones
e-kara (US?, NTSC, set 2) [Sean Riddle]

enable support for 'p' type cartridges for use with ddrfammt [David Haywood]

various documentation improvements [Sean Riddle, David Haywood]

(there are also 3 bad dumps, currently commented out, will replace later)

* improved filenames (nw)

* for later (nw)

* checkpoint (nw)

* seeprom stuff (nw)

* (nw)

* correctly saves, does not correctly reload, also promote popira and ddrfammt to working

* new Software List entries [Sean Riddle, David Haywood]

ekara_japan:ec0001 J-Pop Mix Volume 1 (Japan) (EC0001-JPM)
ekara_japan:ec0032 ANM Volume 2 (Japan) (EC0032-ANM)
ekara_japan:ec0037 ENK Volume 4 (Japan) (EC0037-ENK)
ekara_japan:ec0046 J-Pop Mix Volume 20 (Japan) (EC0046-JPM)
ekara_japan:ec0005 J-Pop Mix Volume 5 (Japan) (EC0005-JPM)
ekara_japan:ec0007 1976-78 Volume 1 (Japan) (EC0007-G76)
ekara_japan:ec0079 ETZ (Japan) (EC0079-ETZ)
ekara_japan:ec0082 Matthew's Best Hit Selection (Japan) (EC0082-MBH)
ekara_japan:ec0009 ANM Volume 1 (Japan) (EC0009-ANM)
ekara_japan_en:en3 EN-3 (Japan)
ekara_japan_m:mc0013 KSM Mini Volume 5 (Japan) (MC0005-KSM)
ekara_japan_s:sc0012 SAI (series 3) Volume 3 (Japan) (SC0012-SAI)
ekara_japan_s:sc0004 SAI (series 1) Volume 1 (Japan) (SC0004-SAI)
ekara_japan_g:gc0002 BHT Volume 1 (Japan) (GC0002-BHT)
ekara_japan_g:gc0003 BAT Volume 2 (Japan) (GC0003-BAT)
ekara_japan_g:gc0004 BHT Volume 2 (Japan) (GC0004-BHT)
ekara_japan_p:pc0004 BHT Volume 7 (Japan) (PC0004-BHT)

* (nw)

* notes (nw)

* (nw)

* this register seems to be r/w (nw)

* fix crash in popira when pausing (requires register readback)

* save state stuff (nw)

* give excite fishing some inputs while I'm making misc minor changes (nw)

* also promote the Nostalgia games, and Card Night, as they have simple digital inputs and seem to work

* (nw)

* copy+paste modernization

* 2 more dumps (nw)

* doesn't seem to have an seeprom (nw)

* preliminary taikodp controls (nw)

* P4 uses SEEPROM (nw)

* rejig some bases (nw)
2018-12-28 21:03:40 -05:00
Nigel Barnes
2eb95974d9 bbc: Added Music 2000 and EMR BBC Midi Interface 1MHz bus devices. 2018-12-22 17:46:25 +00:00
mooglyguy
dc8834b8dc Last round of macro removals before the freeze. (nw)
-sound/discrete, okim6295: Removed MCFG macros. [Ryan Holtz]

-norautp, osi, audio/mario: Removed MACHINE_CONFIG macros. [Ryan Holtz]

-vsmile: Split into its own driver from vii.cpp. [Ryan Holtz]

-vii: Fixed broken controller inputs. [Ryan Holtz]

-konamim2: Massive update. Most games work, but are still marked non-working due to rare MAME crashes in the PPC DRC. [Phil Bennett, Ryan Holtz]
2018-12-22 17:06:47 +01:00
mooglyguy
f25021c47f Actually, let's not completely break compilation with MSVC just because someone is really enthusiastic about unsupported build flags. 2018-12-16 17:04:54 +01:00
R. Belmont
2d814a363a
Merge pull request #4402 from DavidHaywood/131218
add derived CPU type for AXC51-CORE (used by AX208 and others) so that we can start to customize disassembly and execution
2018-12-14 14:19:35 -05:00
Dirk Best
625cfabe02 amiga: Add support for the A2058 memory expansion 2018-12-14 19:50:18 +01:00
DavidHaywood
90fef4da16 add derived CPU type for AX51-CORE (used by AX208 and others) so that we can start to customize disassembly and execution 2018-12-14 11:54:49 +00:00
Celelibi
2f70f9698e Fix compilation errors with -Og
Signed-off-by: Celelibi <celelibi@gmail.com>
2018-12-11 14:26:30 +01:00
yz70s
bac960a725 i386.cpp: move cpuid and msr routines to new file cpuidmsrs.hxx ... (nw)
... and add placeholders for athlonxp msrs.
2018-12-09 13:57:13 +01:00
mooglyguy
0bd02131b6 3rdparty: Updated bgfx, bimg, and bx to latest upstream. [Ryan Holtz] 2018-12-05 19:45:08 +01:00
fulivi
72dc8609aa hp9825 & hp9845: refactored I/O sub-system. Added 98032 GPIO module. (#4353) 2018-12-05 01:10:58 +11:00
Sven Schnelle
8ac744ebcf hp9122: add layout (nw) 2018-11-23 13:37:47 +01:00
Sven Schnelle
1edf5a32fd Add HP98643 LANIC network card 2018-11-21 21:44:50 +01:00
Nigel Barnes
0e59a7fa27 bbc: Added Aries B488 and Acorn IEEE488 Interface devices on 1MHz bus. 2018-11-20 21:55:05 +00:00
Dirk Best
76637c49f4 Initial version of Commodore A2065 Ethernet card 2018-11-20 17:20:46 +01:00
ajrhacker
2c575fe8bc
Merge pull request #4313 from hp9k/hp98550
add HP98550 high-res color graphic card
2018-11-18 22:47:37 -05: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
7b4440920a -o2.cpp: Added CRIME and MACE skeleton devices. [Ryan Holtz]
-mips3.cpp: Various changes: [Ryan Holtz]
 * Added an #ifdef to display DPRINTF calls from the SGI O2 PROM.
 * Switched R4000BE/LE, R4400BE, R4600BE, and R5000BE to 64-bit data bus.
 * Fixed a bug that caused a crash with 64-bit data bus and the DRC.

-indy_indigo2.cpp: Moved a number of devices into HPC3. [Ryan Holtz]

-hpc3.cpp: Fixed an oversight with IRQs. [Ryan Holtz]
2018-11-18 21:51:53 +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
mooglyguy
1b08996e2b -dp8573.cpp: Added DP8573 Real-Time Clock emulation. [Ryan Holtz]
-indigo.cpp: Hooked up new DP8573 implementation. [Ryan Holtz]
2018-11-12 02:42:19 +01:00
Patrick Mackinlay
9df6cfe087 r3000: call it like it is (nw) 2018-11-06 17:21:01 +07:00
Olivier Galibert
cc537e30db mu100: Make some noise [O. Galibert]
Two sample roms are missing, sad.  Volume is not taken into account
yet (because the registers are not yet understood), pan is though.
Don't even think about reverb or effects :-)

Current code plays a scale in a loop.  Comment the timer alloc in
machine_reset to kill that.

Demo song (missing lots of sounds, because roms): U then > until demo
then ENTER ENTER.
2018-11-05 15:35:07 +01:00
yz70s
4f5f5c6c92 i386.cpp: prepare to change hxx files into regular cpp files (nw)
-change order of include files at top of i386.cpp
-move some routines between i386.cpp and i386priv.h
-move part of x87ops.hxx into new file x87priv.h
.
Now you only have to rename the hxx files to cpp and add the following
at the top of each one
.
 #include "emu.h"
 #include "i386.h"
 #include "i386priv.h"
 #include "x87priv.h"
 #include "cycles.h"
 #include "debugger.h"
 #include "debug/debugcpu.h"
 #undef i386
2018-11-03 10:25:11 +01:00
Patrick Mackinlay
8740d148c1 v53: final tidy (nw)
* changed copyright holder due to near-complete replacement
* name changed to v5x which better reflects actual use
* minor comment cleanup
2018-11-01 11:47:28 +07:00
Patrick Mackinlay
a3244603db aic6250: new device (nw)
Very WIP status and some obvious issues, but working well enough to load RISC/os.
2018-10-31 18:19:24 +07: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
Brandon Munger
fbcc6c1b37 r9751: Implement proper SMIOC emulation through new uart emulation (#4188)
* [R9751] (Squashed) Early work on SMIOC emulation

commit 9b587be762abfd576e92792c612cd205c570924d
Author: Stephen Stair <sgstair@akkit.org>
Date:   Tue Apr 10 19:41:55 2018 -0700

    Connected SMIOC DMA to 68k

    * SMIOC now reading bytes for serial from the 68k memory space successfully.

commit 0f801a05a3fa5b78768a1a2bcb9981466e8f2b0e
Author: Stephen Stair <sgstair@akkit.org>
Date:   Tue Mar 27 18:31:32 2018 -0700

    68k now running in lockstep with SMIOC for serial

    * 68k now uses actual SMIOC as source of SMIOC status, so it waits for the SMIOC to complete commands before continuing.
    * SMIOC DMA controllers now being asked to move bytes around
    * "write character" (4100) commands to SMIOC are now completing and resulting in correct status being written and sent back to the 68k
    * Every now and then the SMIOC stalls for a bit, it seems to be due to spending some time trying to communicate with the 8051 CPU (used to communicate with another cpu on the serial breakout box) that is not currently present in the emulated device.

    Next Steps:
    * We're going to move the terminal from the r9751 into the SMIOC, and hook it up to the DMA controllers as a hacky temporary solution.
    * We need to emulate the 5xxxx memory range in SMIOC to proxy data to/from the 68k memory
    * Then we'll start work on emulating the octal uart properly and hooking it up to RS232 channels.

commit ca91614fca3f43d87755d0c3439521276d7bfafb
Author: Stephen Stair <sgstair@akkit.org>
Date:   Wed Mar 14 19:52:04 2018 -0700

    Tinkering to get SMIOC further along

    1) Enable 188 cpu to advance DMA immediatley if DRQ is held high when source synchronous DMA is started (It's not clear whether the DMA actually works this way yet)
    2) Retrigger the DMA DRQ when a memory access is made to the DMA window (future work needed to proxy the reads/writes to the 68k's main memory) This is needed to support multibyte DMA reads/writes to the 68k window.
    3) Reverse the bytes in the status register (based on current incomplete understanding of how this is encoded)
    4) Connect the status register back to the r9751 on SMIOC status read
    Current state: SMIOC's main board DMA state machine now completes the DMA transfer from the main board (With incorrect data), but we are still getting stuck.
    Next steps: SMIOC is now hanging waiting on DMA to UART to complete, we need to implement some emulation of the UART and its connections to the surrounding 16 dma channels in order to make progress.

commit 62c1455c97a53ed970622e08cb03a225625914fd
Author: Stephen Stair <sgstair@akkit.org>
Date:   Sun Mar 4 20:13:32 2018 -0800

    Progress on emulating SMIOC

commit daee8498c5840417aee3ed9def0acfba5476335a
Author: Stephen Stair <sgstair@akkit.org>
Date:   Sun Feb 25 20:02:32 2018 -0800

    Working on bringing up SMIOC

    Trying to get emulated SMIOC in lockstep with the main 68k.

commit 5a929fde90307040a0544682888f2f21a914b900
Author: Stephen Stair <sgstair@akkit.org>
Date:   Wed Feb 21 20:06:27 2018 -0800

    re-enable SMIOC, Logging improvements, first steps towards emulating on-board hardware.

commit f0c7a1665a18c99df5527ae45994f39f95223814
Author: Stephen Stair <sgstair@akkit.org>
Date:   Sun Feb 11 16:26:31 2018 -0800

    Emulation fix - Terminal now responds to input

commit ecff4035f3fdaa0329df46f99ccd516aa23ec8af
Author: Stephen Stair <sgstair@akkit.org>
Date:   Tue Feb 6 19:00:35 2018 -0800

    Hacky emulation of SMIOC

    now successfully receiving serial characters!

commit 376bca90dff311d24e1f5014d8d6f0dc297bf671
Author: Stephen Stair <sgstair@akkit.org>
Date:   Sun Jan 28 18:31:38 2018 -0800

    Experimenting with SMIOC emulation

* Partial fixes for line state issues with persistent line values

When the AM9517 DMA controller mode is updated to change the polarity of DACK/DREQ, it doesn't update the DACK line values / request values (respectively).
This fixes this issue for one of the emulated devices in the file, but the other device has the same problem.

* Add skeleton of SCC2698B UART device

* Early progress on emulating SCC2698B Octal UART

Core structure for IO lines and writing registers is in place.

* Update address maps to new format.

* SCC2698b: Add tx/rx, baud rate generation

* Emulation improvements for scc2698b device

* MPP output pins emulated
* Improved logging for baud rate changes
* Channel configuration emulated
* Support for TX/RX Enable
* Started integrating new features into SMIOC

* Minor progress on the path to enabling new UART for SMIOC

* Resolved code issues related to upstream changes
* Working around an apparent problem with callbacks on sub-device devices
* Terminal added for serial port attached to SCC2698B UART.
* Things compile and seem to work.

* SMIOC: Serial is now outputting correctly through emulated SMIOC

Some glitches to work out, but this is nearly ready.

* AM9517a should not forget about input line status on master reset.

* Disable tracing

* SMIOC: Improving diagnostics and making some progress on the emulation

* Revised tracing in SMIOC and SCC2698B
* Improved tracing approach in r9751
* Minor progress towards working SMIOC emulation.

* [R9751] Update drivers  to new code patterns after rebase

Rebased on latest mame, Fixed a few issues and updated the callback code patterns based on recent changes in devcb

* [R9751] Improve logging, fix interrupt race

Serial no longer drops output characters

* [R9751] Working on SMIOC emulation

Improved SMIOC emulation accuracy, Made some progress in getting through the disktool initialization sequence, but we are still hitting a problem - It looks like disktool should be resetting the SMIOC board when it starts, but the mechanism for this has not been found.

* [R9751] Improve tracing for system board registers

* [R9751] Improve SMIOC emulation

Still having some trouble with SMIOC but this seems to be an improvement.
SMIOC is now waiting for a status to be read before applying a new status, and mandatory parameter read logic is in place.

* [R9751] Incremental emulation improvements

the SMIOC failure was understood and fixed, and a new approach to getting the hardware to bootstrap correctly was implemented - Still having some problems with it though.

* [R9751] Fixed emulation issues

* Disktool now boots to the console
* UART receive only partly working, I don't think it's fully connected yet.

* [R9751] Further progress on SMIOC emulation

* Figured out the missing command parameter interface to the SMIOC board
* Still blocked because the SMIOC interface to the breakout board through an onboard 8051 is not emulated and the disktool software depends on properties coming from it.

* [R9751] Terminal is fully working for disktool

* Improved the emulation of the 80188 to 451 connection in order to reliably set a status bit disktool depends on.

* [R9751] Fix build after rebase

* [R9751] Cleanup, tracing improvements

* Remove second emulated terminal - SMIOC is now stable enough to run the terminal.
* Remove older and unnecessary emulation/tracing code

* r9751: Fix compile error and modify copyright holders
2018-10-24 20:16:35 -04:00
Justin Kerk
bcb672ce32 Don't error on undefined GL symbols for the WebAssembly target (#4187) 2018-10-23 21:52:39 -07:00
Patrick Mackinlay
cea5bbace4 z8038: new device (nw)
Zilog Z8038 FIO (FIFO Input/Output Interface Unit). Used to drive the parallel/printer port on the MIPS Rx2030. Passes basic diagnostic tests, but further work depends on progress in the mips.cpp driver.
2018-10-18 18:00:02 +07:00
AJR
c6900b12fd New machines marked as NOT_WORKING
----------------------------------
Scientific Instruments Model 5500 Temperature Controller [ClawGrip]
2018-10-12 22:45:15 -04: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
Sven Schnelle
395d6a93b1 mb87030: add new SCSI controller (nw) 2018-10-07 15:37:23 +02:00
mooglyguy
b159118e22 vii: Device-ified the SPG2xx SoC. [Ryan Holtz] 2018-10-06 20:45:03 +02:00
Nigel Barnes
42b42714ed bbc_tube_6502/65c102: Added ReCo6502 Tube 1.21 ROM.
- Rewritten using bankdev and combined 6502/65c102 variants (nw)
2018-09-25 17:18:13 +01:00
AJR
fad9283ecc Preliminary emulation of National DP8350 CRT controller family 2018-09-25 00:51:14 -04:00
mooglyguy
27ee4f3915 -sun4: Added a sun4c MMU device. Currently wraps the functionality of S4-buffer, S4-cache, and S4-MMU, will eventually be split. [Ryan Holtz]
-sun4: Significant optimization, from 150% -> 330% unthrottled on an i7-5930K. [Ryan Holtz]
2018-09-22 19:41:10 +02:00
Patrick Mackinlay
895ffe0763 jazz: new skeleton driver (nw)
A skeleton for the Microsoft Jazz architecture, which was implemented in the MIPS Magnum 4000, Olivetti M700-10 and was the base/origin of several other MIPS ARC systems.
* added skeleton Inmos G300/G332/G364 device
* added skeleton NatSemi DP83932C SONIC device
* added skeleton MCT-ADR device
2018-09-20 18:08:59 +07:00
Vas Crabb
b5758f5273 Re-write serial mouse support:
* Separate Microsoft 2-button mouse and Logitech 3-button Microsoft-compatible mouse
* Add Microsoft wheel mouse
* Make Mouse Systems mouse behave more realistically
* Add Mouse Systems "rotatable" mouse
* Simplify code and eliminate timers

(nw) X/Y translation and buttons works for all devices.  The wheel on
the wheel mouse seems to be transmitting the right data, and CuteMouse
detects the wheel as being present, but no software seems to support it
properly.  Software supporting the Mouse Systems "rotatable" mouse is
very rare - typically people just set the DIP switches on their M-1 for
"non-rotatable" mode.  A standard mouse driver will see the "rotatable"
mouse moving two mickeys for each count, and move eratically on
rotation.  The "rotable" mouse is poorly tested due to lack of software.

(nw) MAME doesn't have a proper input type for a mouse wheel, and it
doesn't seem to be possible to map the host mouse wheel to an axis when
configuring inputs.  The default mapping ends up assigining the wheel or
rotation to one of the translation axes, which is very unhelpful.
2018-09-19 20:00:56 +10:00
Nigel Barnes
282ebf014d bbc: Added Acorn Bitstik and Bitstik 2 analogue controllers. 2018-09-17 19:42:45 +01:00
Nigel Barnes
bcad4e9c09 bbcb: Added floppy disc controller options:-
- AMS 3" Microdrive Disc System
- Microware DDFS FDC (not working)
2018-09-17 19:18:38 +01:00
Vas Crabb
b566662a05 Add Sun mouse port and hook it up to sun3, sun3x, sun4, and sun4c.
Also add notes to Sun keyboard emulation.

There's a hack to make the 1200 Baud mouse actually run at 9600 Baud.
This is necessary because the SCC is incorrectly expecting 9600 Baud
rather than 1200 Baud.  I don't have time to fix the SCC, so I'd
appreciate it if someone else would.

There's no way it should be expecting 9600 Baud on the mouse port.
Solaris 2.3 and later support 1200 Baud and 4800 Baud, and earlier
versions support 1200 Baud only.  No version of Solaris works with a
9600 Baud mouse.

The workaround allows the mouse to be used in SunView on sun4_60 - I
haven't tested any other drivers.
2018-09-17 20:03:25 +10:00
mooglyguy
59254bc5de -sbus: Added a skeleton device for the Artecon SB300P 3-serial 1-parallel SBus card. [Ryan Holtz] 2018-09-16 06:06:45 +02:00
mooglyguy
0a86f2efe9 -cgsix: Renamed turbogx.* to cgsix.* and added TurboGX+ support. [Ryan Holtz, Andrew Liles] 2018-09-15 20:28:53 +02:00
mooglyguy
c7170bed75 -sbus: Added a skeleton device for the SunSwift 10/100 + Fast Wide SCSI SBus board. [Ryan Holtz, Andrew Liles] 2018-09-15 18:33:57 +02:00
mooglyguy
cbdc9a71c7 -sbus: Added a skeleton device for the SunPC 5x86 Accelerator SBus board. [Ryan Holtz, Andrew Liles] 2018-09-15 18:03:05 +02:00
Ryan Holtz
7d3082e044 -sun4: Added basic support for cgsix/TurboGX SBus card. [Ryan Holtz] 2018-09-13 13:37:12 +02:00
mooglyguy
0c3074d912 -sbus: Added preliminary cgthree support. [Ryan Holtz] 2018-09-13 01:40:51 +02:00
mooglyguy
4948941213 -sun4: Added SBus slot bus and basic bwtwo slot device. [Ryan Holtz] 2018-09-13 00:30:10 +02:00
mooglyguy
a24d9ab6ae -am79c90: Added rudimentary AMD 79C90 LANCE ethernet controller support, enough to make sun4 happy. [Ryan Holtz] 2018-09-08 18:03:15 +02:00
mooglyguy
40efe9785f -st62xx: Added a skeleton driver for the STmicro ST6 series of microcontrollers. [Ryan Holtz]
New machines marked as NOT_WORKING
----------------------------------
Catherine Wheel [f205v, Ryan Holtz]
2018-08-25 00:18:07 +02:00
ajrhacker
d916d00911
Merge pull request #3795 from felipesanches/gtrak10_2018-jul-27
A large portion of the Atari Gran Trak 10 schematics (1974) implemented on MAME using the netlist subsystem.
2018-08-24 11:13:27 -04:00
cam900
3204234f8d Add huc6230 Emulation (#3829)
* Add huc6230 Emulation
huc6272.cpp : Add ADPCM transfer, Add save states
PC-FXGA for PC-9801 C Bus is released in December 1995 in Japan, Correct metadata

* huc6272.cpp : Fix ADPCM address

* huc6230.cpp : Simpler interpolate

* huc6230.cpp : Fix clamp
huc6272.cpp : Fix ADPCM nibble

* huc6272.cpp : Fix data type

* Revert pcfxga year; PC-FXGA for PC9801 C-bus is not dumped?
2018-08-23 21:47:41 -04:00
Olivier Galibert
6e0bf6736a tms57002: Trick to reduce the compiler memory usage [O. Galibert] 2018-08-23 19:20:33 +02:00
Vas Crabb
012cbee2c3 Amiga keyboard overhaul:
* Implement Mitsumi Amiga 500, 600, and 2000/3000/4000/CDTV keyboards
* Add unlabeled keys to UK layout
* Restrict available keyboards depending on system type
* Note that C-A-A reset is now broken on "big box" Amigas as MAME doesn't implement it properly, and the hack providing a fake dedicated reset line has been removed

6502 MCU: fix execute loop

6500/1: implement as device with onboard peripherals

Fix some bogus comments
2018-08-23 00:25:21 +10:00
Tomasz Slanina
403196c318 New Working Game
-------------------------------
Nightmare [Tomasz Slanina, Roberto Fresca, Jordi Beltran, Paco Ortiz, Recreativas.org]
2018-08-22 10:19:16 +02:00
Ryan Holtz
6641adfc90 -pcf8583: Added rudimentary Philips PCF8583 RTC emulation, based on the PCF8593 device. [Ryan Holtz] 2018-08-20 14:41:49 +02:00
Vas Crabb
98cbeff482 amiga: add support for Amiga 2000 keyboard with 8039 and external ROM manufactured by Cherry
(nw) New keyboard only has U.S./Canada and UK variants for now.  This keyboard doesn't
drive a dedicated reset line, instead using some sequence on the clock line detected by
the host chipset.  MAME doesn't support this, so keyboard reset won't work.  Also started
documenting the character labels on the keypad NumLock/ScrLock keys for language variants
but still need more pictures.
2018-08-15 12:45:58 +10:00
arbee
31a32f451d h8: H8/3003 support [R. Belmont] 2018-08-02 20:27:11 -04:00
Patrick Mackinlay
7957feaefc taptun: add support for Windows (#3790)
* taptun: add support for Windows

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

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

* minor fixes/improvements (nw)

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

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

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

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

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

* no longer the case (nw)

* note updates (nw)

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

* more const (nw)

* oops (nw)

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

This reverts commit 0aa81fc184.

* Address pull request comments

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

* MR#3657: address comments

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

* MR#3657: address MR comments

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

* MR#3657: address MR comments

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

* follow-up to PR#3623
2018-06-11 20:57:53 +10:00
Vas Crabb
0aa81fc184 Revert "Add 9122c floppy (#3647)"
This reverts commit c63c4e111e.
2018-06-11 20:16:28 +10:00
Sven Schnelle
c63c4e111e Add 9122c floppy (#3647)
* hp9k_3xx: fix timer connection for /320 models

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

* hp9k_3xx: add HP9122C floppy

Remove HP9895 from the default configuration. 3.5" where
standard on /300 and there's almost no software on it available.
If a user really needs 8" floppy drives on /300, he can do that via
commandline.

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

* add Intel i8291a GPIB Talker/Listener

Required for the HP 9122C floppy, and used in many other devices.
Basic functionality was implemented to make the HP 9122C work, a few
things are still missing and will be added later. Most of the missing
things where simply not used in the HP9122C so i cannot test them.

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

* Add HP 9122C floppy drive

These drives where common on HP9000/300 workstations. With the current
implementation TD0's from hpmuseum can be used to boot, and initializing,
reading and writing discs in HP basic works. Tested both high and double
density media. Supported Media formats are TD0 and MFI.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
2018-06-10 17:43:49 -04:00
cracyc
a99407afb5 Discord plugin try 2 (#3640)
* plugins/discord: discord presence plugin [Carl]

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

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

* plugins/discord: fix pause behavior (nw)
2018-06-08 19:25:39 -04:00
Sven Schnelle
7698173e29 Add HP98543 medium-res color graphics card (#3575)
* Remove vram_rw and ctrl_rw wrapper functions

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

* topcat: replace hardcoded display width by m_fb_width

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

* topcat: prepare topcat for multi plane operation

framebuffer vram is only 1 bit wide.

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

* 98544: set single topcat plane

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

* add nereid mapper used on HP98543/98545 graphic cards

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

* prepare for multi-topcat operation

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

* add HP 98543 4 plane graphics card

* hp9k_3xx: add hp98543 card

* topcat,nerid: disable VERBOSE

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

* hp98543: use required_device_array

* 98543: use required_region_ptr

* 98544: use required_region_ptr

* topcat: add save state support

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

* nereid: add save state support

* hp98544,hp98543,topcat: use shared memory space

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

* nereid: remove redundant variable

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

* topcat, nereid: remove trailing underscore from include guard

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

* topcat,hp98543: code style fixes proposed in PR

Signed-off-by: Sven Schnelle <svens@stackframe.org>
2018-05-28 16:28:44 -04:00
angelosa
9dcc4aaa8a pc9801.cpp: Merge -26 / -86 / -118 joystick port implementations (nw) 2018-05-26 16:59:53 +02:00
Wilbert Pol
07d51ecf71 ef9340/1: make character set external. [Wilbert Pol] 2018-05-18 19:06:30 +10:00
Patrick Mackinlay
90dc810023 interpro: wip checkpoint (nw) (#3573)
* softfloat3: do we like this better? (nw)

* softfloat3: it gets the hose again (nw)

* softfloat3: sonofa (nw)

* interpro: wip checkpoint (nw)

* added 6x00 models
* added EDGE graphics skeleton
* split bus/cards into two types
* various fixes/changes
2018-05-15 16:01:13 +02:00
Patrick Mackinlay
44d80b6fb0 proposal: move z80daisy* to devices/machine (#3572)
* proposal: move z80daisy* to devices/machine

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

* missed this one (nw)

* missed a spot (nw)
2018-05-15 17:53:07 +10:00
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