Commit Graph

1685 Commits

Author SHA1 Message Date
Nigel Barnes
e42ad156b5 bus/coco: Added CoCo PSG cartridge device. [Roberto Fernandez, Nigel Barnes, Ed Snider] 2020-03-21 02:20:16 +00:00
Nigel Barnes
49264dd6e1 bus/bbc/userport: Added the Clwyd Technics Colour Palette and Chameleon devices. 2020-03-21 02:20:16 +00:00
Julian Sikorski
931aee1b54 Roll back no longer needed /ZI workaround
It has been fixed as of Visual Studio 2019 16.5
2020-03-19 20:51:21 +01:00
Michael Zapf
fa500f400d ti99: Added FORTi sound card. 2020-03-17 23:27:19 +01:00
arbee
6f3f0b805e mac: Initial support for the Sigma Designs LaserView monochrome NuBus video card [Al Kossow, R. Belmont] 2020-03-15 21:43:38 -04:00
David Haywood
389126869f
Plug & Play / sh6578 work (#6447)
* PPU refactoring (nw)

* PPU refactoring (nw)

* start making a new device (nw)

* PPU device refinements (nw)

* tear things down (nw)

* refactoring (nw)

* more refactor and teardown (nw)

* (nw)

* rebuilding (nw)

* (nw)

* (nw)

* (nw)

* (nw)

* checkpoint (nw)
2020-03-15 15:26:47 -04:00
ajrhacker
07c987b5bc
Merge pull request #6448 from ValleyBell/cm32p
add CM-32P PCM emulation
2020-03-15 14:36:56 -04:00
Valley Bell
539598fab4 add Roland PCM sound emulation for CM-32P 2020-03-15 18:58:38 +01:00
Nigel Barnes
692f254c21 bus/bbc/1mhzbus: Added the RetroClinic DataCentre. [Nigel Barnes, RetroClinic] 2020-03-15 17:06:04 +00:00
Michael Zapf
5fda8f6406 ti99: Added Myarc DDCC-1 disk controller card. 2020-03-15 11:46:31 +01:00
Olivier Galibert
e4e91bd6bd ks0164: Turn it into a device (nw) 2020-03-14 12:05:59 +01:00
Michael Zapf
91b633c363 ti99: Added CorComp disk controller cards. 2020-03-14 01:27:29 +01:00
MooglyGuy
4a909eb16b -frontend: Added an About menu option to display the contents of COPYING in order to be more license-compliant. [Ryan Holtz] 2020-03-11 22:11:20 +01:00
AJR
6ab1dfb1a8 Clean up odds and ends (nw)
- com8116: Delete SY2661-1/-2 tables (these are just second sources of SCN2661A/B)
- mc2661: Remove obsolete device
- rs232: Remove 7200 baud setting formerly required by one driver to work around incorrect table
2020-03-06 15:03:31 -05:00
Vas Crabb
ddfe149872 (nw) It helps if you're using the same data types in both places (VGM
visualiser device and WDL FFT libarary).

I changed the VGM visualiser to use single-precision float which is the
default for WDL FFT.  GCC's loop vectoriser can make better use of SSE
with single-precision maths, and the extra precision shouldn't be needed
for the visualisation.  If this is a problem, let me know and I'll
revert this and flip the WDL FFT library over the other way.
2020-03-07 07:01:48 +11:00
AJR
415128cae4 New and completely rewritten emulation of SCN2651 PCI, SCN2661 EPCI & SCN2641 ACI
This is far more thorough and accurate than the preexisting MC2661 device emulation. Synchronous modes have been implemented but not tested.
2020-03-06 14:37:35 -05:00
Vas Crabb
5bce46bd75 Removed winpcap and cleaned up network module selection.
(nw) The pcap.h header itself has the problematic original BSD license,
including the obnoxious advertising clause.  Using tap/tun networking on
Windows provides a much better experience, so the extra setup is worth
it.  This patch also allows you to enable pcap on platforms where it's
disabled by default with USE_PCAP=1 if you really want to use it.
2020-03-05 21:23:21 +11:00
R. Belmont
43a9794c20
Merge pull request #6388 from fulivi/hp80_dev07
HP82900 CP/M module
2020-03-04 10:45:30 -05:00
Vas Crabb
11ac7454db Maintenance:
* Removed empty nl_examples from dist.mak
* Added copyright acknowledgements and full text of licenses to binary distribution
* Fixed up the list of third-party libraries
* Moved WDL fft.c to 3rdparty
2020-03-04 22:41:15 +11:00
mahlemiut
d291908486 Added Microlog Baby Blue II CPU Plus ISA card. [Barry Rodewald] 2020-03-04 15:35:42 +13:00
Nigel Barnes
660194d7ce bus/bbc/1mhzbus: Added Pull Down RAM and Colour Card 500 devices. 2020-03-03 19:40:23 +00:00
Nigel Barnes
a1a70c4357 cms6502: Cleanups and promoted to working.
- Corrected M4 ROM ordering.
- Added IEEE controller card.
2020-03-03 19:40:23 +00:00
fulivi
d469028abc hp80: added HP82900 CP/M module 2020-03-03 12:55:35 +01:00
Sergey Svishchev
c155d424ac ibmxdf_dsk: IBM Extended Disk Format support (nw) 2020-03-02 20:21:04 +03:00
fulivi
8b70a55e7d
hp80: HP82939 serial I/O module added (#6366)
* hp80: added HP82939 serial I/O module.
Fixed a small bug in INS8250 that prevented module self-test to pass.
Improved the interrupt handling of hp80 systems.

* hp80: changed scheduling to use "set_perfect_quantum"
2020-03-01 14:11:01 -05:00
MooglyGuy
bcefd95275 -vgmplay: Added a visualizer. [Ryan Holtz, Justin Frankel] 2020-03-01 19:58:07 +01:00
mooglyguy
d808dd967a -ex1280: Added skeleton device for Vectrix EX1280 ISA card. [Ryan Holtz, Bitsavers] 2020-03-01 13:20:42 +01:00
AJR
8e52be5c1e z80dart: Replace old device with new variant of modern SIO emulation
z80sio: Make LOGBIT less spammy; booleanize a few members (nw)

machine/mtx.cpp: Remove unnecessary includes (nw)
2020-02-29 22:49:10 -05:00
Vas Crabb
f011a9134d clean up crud (nw) 2020-02-29 18:32:52 +11:00
Vas Crabb
001389f052 Remove src2html tool (nw)
This tool was previously used to generate HTML-formatted source for
the website from releases.  It hasn't been used in years, since we
rely on the repository browsing features of GitHub/GitLab/SourceForge.
It also hasn't been updated to handle C++14, Lua, and other changes to
the source.  If we do want to publish source code on our own web site
in the future, we'd be better off using an off-the-shelf library to
handle parsing the source.
2020-02-29 04:49:56 +11:00
AJR
ae0a68c935 New skeleton device: Am79C30A DSC
eurit30: LCDC writes identified, but exact type remains unknown (nw)
2020-02-27 20:55:37 -05:00
Patrick Mackinlay
6038ff41f7 rtpc keyboard: new device (nw)
The host is a long way from being done, but the keyboard seems to be working well enough already.
2020-02-25 20:32:57 +07:00
Olivier Galibert
c849d1dc42 ks0164: First try at a disassembler [David Carne, O. Galibert] 2020-02-22 16:45:32 +01:00
cam900
21dae89c14
Add skeleton LZ8420M device (#6339)
* Add skeleton LZ8420M device
It has additional IO, Embedded RAM
Used in psikyo.cpp

* lz8420m.cpp : Fix copyright holder
2020-02-21 10:43:56 -05:00
Patrick Mackinlay
52d1a412fa romp: new device 2020-02-13 21:35:44 +07:00
AJR
9ce46c7cd5 New machines marked as NOT_WORKING
----------------------------------
Roland D-50 (Ver. 2.xx) [DBWBP, depblue]

New NOT_WORKING clones
----------------------
Roland D-50 (Ver. 1.xx) [DBWBP]
Roland D-550 [DBWBP]

Add disassembler for NEC 78K/III architecture [AJR]
2020-02-12 11:59:41 -05:00
AJR
d7db95aea9 Add disassemblers for NEC 78K/0, 78K/I and 78K/II MCU types
hotd2: Make "Gun Sense" board a separate device
2020-02-10 23:43:03 -05:00
Joakim Larsson Edström
1f12ad3fca
Alfaskop 4110 keyboard and related improvements (#6291)
* mc6844.cpp: WIP NEW DEVICE Motorola mc6844 DMA controller (devicified from swtpc09.cpp)

* 6821pia.cpp: improved LOG messages a bit

* mc6854: Added support for external clocks, DMA, improved LOG messages and fine tuning of IRQ handling

* mc6846: Removed nonexistant CP1 output callback and added a CP1 input interface call

* 6850acia.cpp: Updated use of logmacro.h

* alfaskop4110: WIP added keyboard and fixed build errors
2020-02-10 19:30:11 -05:00
Olivier Galibert
536652387f Oops (nw) 2020-02-07 21:35:46 +01:00
Olivier Galibert
23556e65f5 xavix2: First stab at the cpu [O. Galibert, N. Gilbert] 2020-02-07 21:31:25 +01:00
AJR
b5eb7d4bab a2bus: Add 8251-based RS232 serial interface from BYTE magazine 2020-02-03 22:23:30 -05:00
Ivan Vangelista
a0e4df0deb
sound.lua: fixed mm5837 entry, allows clean single driver build of beezer.cpp to complete (nw) 2020-02-03 10:39:13 +01:00
Vas Crabb
bddfe1030c
Revert "Alfaskop improvements" 2020-01-31 20:05:02 +11:00
Joakim Larsson Edström
7d5c59f6e5
Merge pull request #6068 from JoakimLarsson/alfaskop_pla
Alfaskop improvements
2020-01-31 09:50:18 +01:00
AJR
4e0540d25b sdk85: Updates and expansion
- Make second 8355 into ROM expansion slot that can load custom 8755 programs
- Add software list for expansion ROMs, including Peter Naszvadi's version of Mastermind
- Add optional TTY interface
- Improve accuracy of button labels and change key bindings
- Add vectored interrupt and soft reset buttons
2020-01-29 20:03:31 -05:00
Melissa Goad
e6595b06a7
iphone2g wip (nw) (#6226)
* iphone2g wip (nw)

* fixup

* fixup

* fixup

* iphone2g: hacky spi and non-existent timers (nw)
2020-01-29 10:13:48 -05:00
Vas Crabb
a7fec751ed srcclean, manual adjustments (nw) 2020-01-26 12:39:27 +11:00
couriersud
42d351a4eb netlist: New devices and some fixes. [Couriersud]
- add CD4006 and CD4070 devices
- add TL084 opamp model
- Clock now supports proxies, i.e. can be connected to
  analog devices.
- Fixed netlists using CLOCK
- added some comments
- removed a forgotten header file.
2020-01-25 15:26:59 +01:00
AJR
0f052a51f8 New machines marked as NOT_WORKING
----------------------------------
NCD19c [Don Maslin Archive]

Add disassemblers for Motorola MC88100 and MC88110 [AJR]
2020-01-23 16:45:51 -05:00
hap
685907679b gigatron: fix compile (nw) 2020-01-23 11:58:29 +01:00
Nigel Barnes
967092ccb9 bus/bbc/1mhzbus: Added Acorn Winchester Disc. 2020-01-22 21:42:34 +00:00
Nigel Barnes
417176a102 bbcmaiv: Added internal modem port, with Acorn AIV SCSI Host Adaptor. 2020-01-22 21:42:34 +00:00
Sterophonick
0ff7e2ea0d new NOT_WORKING machine (#5811)
* minor spelling fix

* new NOT_WORKING machine

Gigatron TTL Microcomputer [Sterophonick]

also add a skeleton cpu core

* Revert Minor Spelling Fix

* Make some fixes

thanks cuavas

* Fix resolution

* gigatron: update cpu device name

* update copyright

* fix part of gigatron disassembler

* Set screen refresh rate

* found a set of all the ROM files, update main ROM name

* Fix cpu.lua

* Whoops

* Update gigatron.cpp

* gigatron: clear execute_set_input

* Update gigatron.h

* Update gigatrondasm.cpp

* Update gigatrondasm.h

* clean up but doesnt compile ffs
2020-01-21 13:33:33 -05:00
AJR
96ec01a614 Add tentative VT61/VT62 disassembler and skeleton CPU device 2020-01-13 21:18:27 -05:00
Nigel Barnes
9e93b10838 Revert "bus/centronics: Added a R-2R ladder DAC device."
This reverts commit 1564c566c1.
2020-01-07 16:47:42 +00:00
Nigel Barnes
1564c566c1 bus/centronics: Added a R-2R ladder DAC device. 2020-01-07 12:39:16 +00:00
Nigel Barnes
5b46a3b8ab bus/bbc/1mhzbus: Added Sprow BeebIDE 16-bit and RetroClinic BBC 8-bit IDE interfaces. 2020-01-07 12:39:16 +00:00
Nigel Barnes
b1d16b6c9a bus/bbc/1mhzbus: Added BeebOPL FM Synthesiser. 2020-01-07 12:39:16 +00:00
AJR
cdb9578471 rx01: Dumped firmware PROMs [Lord Nightmare]
rx01: Add disassembler and skeleton CPU device for custom firmware architecture [AJR]
2020-01-06 09:21:09 -05:00
fulivi
2ec25ca6d5 Emulation of isbc202 floppy disk controller (#6119)
* imds2: isbc202 floppy disk controller added

* imds2: attempt to fix problems with CI checks
2020-01-04 16:11:48 -05:00
yz70s
00ac4f46f5 Lower number of warnings disabled with visual studio from 71 to 27 (nw)
And most of the remaining ones could be removed with simple code
modifications.
2020-01-02 12:36:09 +01:00
AJR
f48f57ef81 Add new disassembler for WE32100 architecture
New machines marked as NOT_WORKING
----------------------------------
AT&T 3B2/300 [Bitsavers]

New clones marked as NOT_WORKING
--------------------------------
AT&T 3B2/310 [Bitsavers]
AT&T 3B2/400 [Bitsavers]
2019-12-30 19:15:31 -05:00
AJR
14c4dcc643 Add new disassembler for PACE architecture
New machines marked as NOT_WORKING
----------------------------------
unknown INS8900 Multibus card (980305652) [Bitsavers]
2019-12-28 12:39:46 -05:00
AJR
5da18d7422 New machines marked as NOT_WORKING
----------------------------------
VT52 [Dalby Datormuseum]
2019-12-18 11:07:59 -05:00
Joakim Larsson Edstrom
73732ffb39 WIP NEW DEVICE Motorola mc6844 DMA controller (devicified from swtpc09.cpp) 2019-12-18 12:35:45 +01:00
Angelo Salese
f58c3ea264
Rewrite ARM IOMD/VIDC20 chips into own devices, merged implementations from ssfindo.cpp & riscpc.cpp [Angelo Salese] #6047
* riscpc now enters in desktop mode with a valid nvram;
* adds preliminary sound for ppcar;
2019-12-13 21:42:42 +01:00
arbee
24eb8d5d07 apple2: add support for paddles [R. Belmont] 2019-12-10 22:56:48 -05:00
hap
323914f25b added Hitachi HD61603 LCD Driver (nw) 2019-12-08 19:47:30 +01:00
AJR
efbe4b30ba New S-100 device: ASC Associates SASI Host Computer Adapter [AJR, Bitsavers] 2019-12-06 19:02:57 -05:00
hap
cc116dc972 added LC7582 LCD Driver (nw) 2019-12-06 02:25:10 +01:00
algestam
f5869f4018 Add bgfx artwork path for Emscripten build (nw) 2019-12-03 22:03:19 +01:00
AJR
e69ff59e42 New machines marked as NOT_WORKING
----------------------------------
Speedcom VD56SP [ClawGrip]

Add disassembler and basic execution core for Rockwell R65C19 [AJR]
2019-11-25 22:55:20 -05:00
Vas Crabb
d2f3d02908 pre-fill things allocated with operator new with 0xcd in debug builds (value can be changed by setting global g_mame_new_prefill_byte with a debugger) - this is gonna hurt performance, but it will help catch issues exposed when we remove pre-clearing before constructing devices 2019-11-25 03:20:08 +11:00
Vas Crabb
e64edf6c71 srcclean and indentation cleanup (nw) 2019-11-24 13:52:11 +11:00
MooglyGuy
6d9e191488 -netlist: Added 7442 4-Line BCD to 10-Line Decimal Decoder. [Ryan Holtz] 2019-11-23 13:52:24 +01:00
MooglyGuy
2aa304ebc7 -netlist: Added 7492 Divide-by-12 Counter. [Ryan Holtz] 2019-11-23 12:43:30 +01:00
Nigel Barnes
50d394f973 bml3: Added Hitachi Real Time Clock card [Russell Bull] 2019-11-22 23:18:04 +00:00
Joakim Larsson Edstrom
92c614cfe5 mda.cpp, eis_hgb107x: Ericsson High resolution Monochrome Graphics Board 1070 split out in its own file as being an oddity 2019-11-22 00:15:52 +01:00
Tom
b400364824 new working ZX Spectrum slot devices: DISCiPLE and +D disk interfaces (#5931)
* plusd working (rom patch)

* plusd done

* added disciple, not working

* disciple working

* wd_fdc fix

* final tidy-up

* ready for pr

* Pernod70 changes

* cuavas changes #1

* combine devices + files

* sort out side_effects
2019-11-22 02:52:10 +11:00
Vas Crabb
eaf07fffa3 UI input menu: treat codes containing a postive and negative of the same thing as invalid (e.g. A S not A)
ioport.cpp:
* better than 50% reduction in compile time, and better locality for static data
* better encapsulation, const correctness and noexcept usage
2019-11-21 16:07:04 +11:00
Vas Crabb
6c61aa61d2 UI input mapping menu updates:
* When a switch-type input is selected, show feedback when it's pressed
* If an invalid code is entered (e.g. only negatives) abandon the change rather than cycling default/none
* If an invalid code is entered display a message until the user takes some other action

input.cpp updates:
* constexpr crusade on input_code and input_seq and some very slight optimisation to input_seq
* seq_poll* is a frontend function and had no business being in the core, so it's a utility class now
* seq_poll* now exposes a bit more detail, enabling improved interaction on the UI inputs menu
* global state is reduced a little, but the poll_* functions are still members of the input manager with global state

(nw) The Lua engine has been updated in a way that maintains source compatibility with existing Lua
scripts.  This is less than ideal, but it minimises impact.  Ideally someone (possibly me) will be
able to expose the input sequence poller helper properly.  I tested the changes with the cheat and
autofire plugins and I was able to assign sequences.  However I found two issues: it's seems
impossible to assign a more complex sequence than a single key/button in the autofire plugin (i.e.
no AND or NOT conditions, I confirmed this is pre-existing, not a regression), and in both the cheat
and autofire plugins I found it a bit unwieldy trying to enter a complex sequence without live
feedback of the sequence as it's built (this was also applicable to MAME's own input mapping menu
until I added the live display yesterday).
2019-11-21 03:36:19 +11:00
mooglyguy
b54cb1804b -sun4c_mmu.cpp: Made generic to support sun4 MMU mode, and cleaned up save state usage. [Ryan Holtz]
-sun4.cpp: Various changes: [Ryan Holtz]
 * Split sun4 and sun4c hardware emulation into separate derived classes.
 * Hooked up Sbus IRQs.
 * Removed now-unnecessary duplicate MMU code.

-cgsix.cpp: Added VSync IRQ, cleaned up save state usage, and added THC MISC register. [Ryan Holtz]

-sparc.cpp: Renamed MB86901 to SPARCV7, and added a separate class for SPARCV8. [Ryan Holtz]

-bt45x.cpp: Made logmacro.h usage more consistent. [Ryan Holtz]
2019-11-18 17:31:09 +01:00
Patrick Mackinlay
f821d80e01 dsp56000: new disassembler 2019-11-18 18:15:09 +07:00
Vas Crabb
9e2601c56b UI updates:
* Made DIP switch display scale with UI font and improved layout
* Improved analog control display giving an indication of neutral position
* Fixed menu heading sizes not being recalculated after font is changed
2019-11-17 00:31:48 +11:00
Vas Crabb
85eeea5d57 Display emulated analog input values on the anaolg controls menu screen 2019-11-16 02:21:45 +11:00
AJR
8306e7a0ef Add dump and skeleton device for Sony SMO-C501 MO Disk Controller [Don Maslin Vintage Computer Archive] 2019-11-12 22:18:43 -05:00
Nigel Barnes
68bfd84495 bbcb: Added Morley Electronics RAM Disc and PMS 64K Non-Volatile Ram Module devices. 2019-11-11 18:45:26 +00:00
fulivi
c2a6ebd366 HP optional ROMs: address issue #5839 (#5873)
* hp80: refactored optional ROM device as requested in issue #5839

* hp9825: refactored optional ROM device as requested in issue #5839

* hp9845: refactored optional ROM device as requested in issue #5839
2019-11-08 13:42:09 +11:00
Nigel Barnes
7fccf88c44 bbcb: Added the Robin Voice Box device. 2019-11-07 18:45:16 +00:00
Nigel Barnes
d4df190a68 autoc15: Added RAM disc device.
daisy: Corrected ROM SHA1 (nw)
2019-11-07 18:07:40 +00:00
Nigel Barnes
139e0eb561 electron: Added Wizard Sidewinder Rom Expansion Board. [Nigel Barnes, Binary Dinosaurs] 2019-11-06 11:49:39 +00:00
Nigel Barnes
f8af6df01f bbcm: Added Slogger Click, Solidisk Mega 256, Peartree MR8000, Master Smart Cartridge devices. 2019-11-06 11:49:39 +00:00
Nigel Barnes
71f101d9a7 bbcb: Added many internal ROM/RAM expansion boards from Aries, ATPL, Computech, Peartree, Solidisk, and Watford Electronics.
bbcbp: Added ATPL Sidewise+ internal expansion board.

bbcm: Added Morley Master 'AA' and Vine Micros Overlay internal expansion boards.
2019-11-06 11:49:38 +00:00
Nigel Barnes
9f5f84272e bbc.cpp: Replaced ROM/RAM memory banks with handlers to allow access from internal expansion boards.
- Added slot interface for internal expansion boards.
- Added BBC Master cartridge slot interface to allow implementation of more complex cartridges, including Electron cartridge devices.
- Removed Sideways RAM configuration option, to be re-implemented as internal boards.
- Empty BBC Master cartridge sockets return video data on data bus.
2019-11-06 11:49:38 +00:00
couriersud
60379b658a netlist: code maintenance. (nw)
- Separate code out into pmath.h and pstonum.h.
- Fix VC build error
- optimize pfmtlog.h a bit
2019-11-03 23:19:52 +01:00
AJR
27ddae4ecf Preliminary SoC emulation for Sitronix ST2204 and ST2205U 2019-11-03 11:32:32 -05:00
Vas Crabb
6f4c1f6e5b Spring cleaning:
* Changed emu_fatalerror to use util::string_format semantics
* Fixed some incorrectly marked up stuff in build scripts
* Make internal layout compression type a scoped enum (only zlib is supported still, but at least the values aren't magic numbers now)
* Fixed memory leaks in Xbox USB
* There can only be one "perfect quantum" device - enforce that only the root machine can set it, as allowing subdevices to will cause weird issues with slot cards overiding it
* Allow multiple devices to set maximum quantum and use the most restrictive one (it's maximum quantum, it would be minimum interleave)
* Got rid of device_slot_card_interface as it wasn't providing value
* Added a helper template to reduce certain kinds of boilerplate in slots/buses
* Cleaned up some particularly bad slot code (plenty more of that to do), and made some slots more idiomatic
2019-11-01 00:47:41 +11:00
68bit
7aa1490a7e swtpc8212: get it running, and on the rs232 bus (#5729)
This patch gets it running, and splits it into two front ends, one
being a rs232 bus slot so that is can be used as a terminal option. It
adds the MCM66750 character generator, and implements the MC6845 row
update function. Most of the I/O has been worked out with help from
the CT-82 user manual. The various screen formats and the graphics
modes appear to be working and plausible. Printer support has been
added, and a beeper.
2019-10-30 13:02:31 +11:00
couriersud
cac86fb1b4 netlist: code maintenance. (nw)
- Removed code no longer used
- Add noexcept where appropriate
- split pparser.[c|h] into ppreprocessor and ptokenizer
- smaller optimizations, e.g. use of std::size_t
- fix lint warnings
2019-10-29 19:55:53 +01:00
Joakim Larsson Edström
530101b53f
Merge pull request #5794 from JoakimLarsson/epc_4
WIP: TWIB board - EPC terminal adapter for IBM mainframe and Alfaskop system
2019-10-28 19:44:06 +01:00
Vas Crabb
d80e7f95eb cpu/saturn: clean up a little (nw) 2019-10-27 02:16:50 +11:00
Vas Crabb
32868b8e2a srcclean (nw) 2019-10-26 10:40:50 +11:00
AJR
d4eb7c7d2c aha1542a, aha1542b: Split out AIC-580 emulation to new device (nw) 2019-10-25 16:51:03 -04:00
Sandro Ronco
5d5e0345e0 dmv: added HD interface. [Sandro Ronco] 2019-10-24 20:13:30 +02:00
68bit
99e048d599 IDE devices are now on bus/ata, build fix. 2019-10-24 22:00:08 +11:00
Joakim Larsson Edstrom
ddcd5eb92a eis_twib: WIP ISA8 card, an IBM terminal emulator board for the Ericsson PC 2019-10-24 11:33:30 +02:00
AJR
da07c8901b New skeleton device: PleXCombo PX-320A DVD/CD-RW Drive [Firmware HQ] 2019-10-23 21:54:26 -04:00
AJR
41a333e791 Add Fujitsu FR disassembler and skeleton CPU device 2019-10-23 21:54:26 -04:00
fulivi
430bd2d508 Hp9825: support for external ROM cartridges added (#5761)
* hp9825: optional ROM cartridges added (9825b only, ATM)

* hp9825: optional ROMs added to 9825t, added support for banked ROMs
@5c00, separated RAM & ROM spaces in 9825t

* hp9885: added missing post-amble when writing sectors on disk

* hp9825: added acknowledgments to comments (nw)

* hp9825: changes requested by V.Crabb (nw)
2019-10-23 10:23:12 -04:00
ajrhacker
23a05f7e85 Move IDE devices into bus/ata (nw) (#5756) 2019-10-23 10:22:17 -04:00
algestam
d4c94b861b Add bgfx file for asmjs build (nw) 2019-10-21 18:01:36 +00:00
algestam
4d3a474283 Fix bimg build for asmjs (nw) 2019-10-21 18:01:36 +00:00
AJR
31be3bc264 isa: Add Music Quest PC MIDI Card [AJR, VOGONS Vintage Driver Library] 2019-10-19 00:39:27 -04:00
Julian Sikorski
6e66a83642 Odroid n2 build fixes (#5751)
* Allow specifying NO_OPENGL manually

* Switch bgfx to OpenGL ES renderer if NO_X11 is specified

* Only link against EGL when NO_X11 is specified on linux, netbsd and openbsd

* Only switch bgfx to OpenGL ES on linux, netbsd and openbsd

* Indentation fix
2019-10-18 10:31:08 -04:00
Julian Sikorski
93a1cde67d Continuous integration improvements (#5703)
* Add workaround for imgtool and jedutil failing vs2019 debug builds with /ZI

* No longer allow msvc build to fail

* Enable tools build for travis to make it more useful

* Switch travis to Xcode 11 in order to fix nltool linking failure

* Prefer 64-bit compiler with VS 2019 too

* Setting PreferredToolArchitecture to x64 is not needed, genie puts it into the project files for vs2015 or later

* OPTIMIZE=1 build is faster that OPTIMIZE=0 for some reason. So fast in fact, that TOOLS=1 can be enabled without hitting the 60 minute timeout

* Switch MINGW build to VS 2017 image until appveyor figure out why builds on VS 2019 are almost twice as slow

* Run pacman twice to account for core system upgrades
2019-10-18 10:30:48 -04:00
couriersud
db318046c4 Netlist: code maintenance and bug fixes. (nw)
- solver now uses dynamic allocation on systems larger than 512x512
- fixed osx build
- moved nl_lists.h classes to plists.h
- fixed netlist makefile clint section
- readability and typos
2019-10-17 10:21:00 +02:00
AJR
f398123bc3 Emulate ADC0804 and add device to various drivers 2019-10-16 00:16:14 -04:00
Julian Sikorski
5ff784e58c -x c++ should not be applied to targets like msvc 2019-10-15 19:40:32 +02:00
AJR
73c4665039 Fix BGFX build on older OS X systems (nw)
The Vulkan renderer has to be disabled on Yosemite and older because its backend depends on Metal.
2019-10-14 07:47:37 -04:00
smf-
cd6b9ac9be fix for clang 9.0.0 on windows (nw) 2019-10-13 19:56:41 +01:00
yz70s
7d69cbeedb Add include folder 3rdparty/bgfx/3rdparty/khronos too (nw) 2019-10-13 19:20:51 +02:00
Julian Sikorski
0837e7451a WIP: sync bgfx, bx and bimg with latest upstream (#5723)
* Sync with bgfx upstream revision b91d0b6

* Sync with bx upstream revision d60912b

* Sync with bimg upstream revision bd81f60

* Add astc-codec decoder

* Rename VertexDecl to VertexLayout

* Rename UniformType enum Int1 to Sampler.

* Add NVN stub

* Fix unused-const-variable error on macOS

* Drop redundant explicit language parameters
buildoptions_cpp are only applied to c++ files and buildoptions_objcpp are only
applied to objective c++ files. As such, hardcoding -x offers no benefit while
preventing overrides (such as one needed by 3rdparty/bgfx/src/renderer_vk.cpp on
macOS) from working.

* Re-introduce -x c++ in places where C code is compiled as C++ to prevent clang from throwing a warning

* Build bgfx as Objective-C++ on macOS
It is needed due to included headers

* Enable Direct3D12 and Vulkan bgfx rendering backends

* Enable building of spirv shaders

* Properly escape /c in cmd call

* Comment out dx12 bgfx renderer

* Honor VERBOSE setting during shaders build

* Only invert hlsl shader XYZ_TO_sRGB matrix for opengl

* Add spirv shaders

* OpenGL ES needs transposed matrix too

* Metal needs transposed matrix as well
2019-10-13 07:50:38 -04:00
couriersud
8f83e4392f netlist: code maintenance (nw)
- clang lint and pedantic fixes
- mat_cr.h: separate solving linear systems from underlying matrix
2019-10-12 19:36:50 +02:00
Vas Crabb
4b414fa45b clean up some .hxx abuse (nw) 2019-10-05 14:02:58 +10:00
Vas Crabb
bcfa6047c3 Build system maintenance:
* Re-write makedep.py for better performance and better parsing front-end
* Make srcclean deal with kinds of preprocessor abuse I never want to see in real life

(nw) The new parser front-end is better at recognising C++ syntax and
also substantially faster - bootstrapping a single-driver build should
be noticeably quicker.  Having a single parser for C++, .lst and .flt
files also gets us a bit closer to making it simpler to create custom
subtargets.
2019-10-04 22:55:01 +10:00
smf-
a42f6019b6 Fix for Visual Studio builds (nw) 2019-10-01 13:15:38 +01:00
AJR
12c08b06c8 Split generic Z180 device into several subtypes. HD647180X now has specific device emulation for the internal PROM, RAM and parallel ports. 2019-09-30 21:30:10 -04:00
couriersud
cc8114f394 netlist: less cpp - more headers (nw)
- move more code in headers - delete some cpp files.
2019-09-29 00:31:30 +02:00
Vas Crabb
9a12ab37af Make osd_printf_* use util/strformat semantics.
(nw) This has been a long time coming but it's here at last.  It should
be easier now that logerror, popmessage and osd_printf_* behave like
string_format and stream_format.  Remember the differences from printf:
* Any object with a stream out operator works with %s
* %d, %i, %o, %x, %X, etc. work out the size by magic
* No sign extending promotion to int for short/char
* No widening/narrowing conversions for characters/strings
* Same rules on all platforms, insulated from C runtime library
* No format warnings from compiler
* Assert in debug builds if number of arguments doesn't match format

(nw) Also removed a pile of redundant c_str and string_format, and some
workarounds for not being able to portably format 64-bit integers or
long long.
2019-09-26 20:53:06 +10:00
mooglyguy
1a5bf558cc -avivideo.cpp: Added an image device to provide looping uncompressed AVI frames as input. [Ryan Holtz]
-vino.cpp: Adapted to support both avivideo_image_device and picture_image_device. [Ryan Holtz]
2019-09-23 17:44:05 +02:00
Vas Crabb
5036387ab4 srcclean (nw) 2019-09-22 13:34:40 +10:00
AJR
9afcd9c9b9 acorn_vidc: All right, move this back to src/devices/machine (nw) 2019-09-20 11:12:44 -04:00
AJR
0917a7295f acorn_vidc: Move to src/devices/video and fix full build (nw) 2019-09-20 10:13:01 -04:00
Angelo Salese
3e6b9f9756
Rewritten Acorn VIDC10 into own device file [Angelo Salese] #5671
* Improved raster effects on games that dynamically change palette on active frame;
* Added stereo sound support;
2019-09-20 15:38:24 +02:00
Vas Crabb
36cbaa12b1 (nw) misc cleanup:
* Fix path for coleco cartridge bus header
* Remove some assert_always
* Fix some comments that seem to have been victims of scripted editing
2019-09-19 13:16:01 +10:00
Michael Zapf
4495c35113 geneve: Add PC KBD connector; allow for using XT keyboards in place of the currently high-level emulated XT/AT 101 keyboard. 2019-09-17 17:47:14 +02:00
AJR
e4903df939 drawgfxm.h: Rename to drawgfxt.ipp and replace the mega-macros with template functions (nw) 2019-09-16 22:21:29 -04:00
arbee
2292cf332c Preliminary Mac native OSD. Not working yet. [R. Belmont]
This will compile, link, and run a driver all the way to the first info screen, provided you use -video bgfx.

However, although there's a valid NSWindow created, it never actually appears on screen for unknown (but likely silly) reasons.

Inputs are not implemented and fullscreen exists but is untried.
2019-09-15 20:00:59 -04:00
fulivi
d4e2fbd306 HP9845: TACO driver re-written (#5601)
* hp9825: fixed a bug in 9825t

* hp9845: TACO driver re-written from scratch, DC100 tape separated into
a new device, various adaptations

* hp9845: "new TACO" renamed to just "TACO"
2019-09-09 16:05:41 -04:00
Nigel Barnes
035380ca97 dragon32: Added JCB Speech Synthesis cartridge. 2019-09-07 17:39:53 +01:00
Olivier Galibert
5eff6a0beb Sigh (nw) 2019-09-05 09:38:52 +02:00
Olivier Galibert
e6ecaac339 vrender0: Fix link by moving mame/video/vrender0 to devices (nw) 2019-09-05 09:37:27 +02:00
Angelo Salese
11f9727726
Various improvements over Vrender0 based systems [Angelo Salese] (#5580)
*   Made some experimental work with menghong based HW, allowing crzyddz2 to boot and improving menghong colors;
*   Internalize video and audio components inside the SoC;
*   Wrote a preliminary UART subdevice;
*   Made external video clock to be settable by the host driver;
2019-09-02 07:27:21 +02:00
AJR
0b039c68e1 Add dump and emulation of Alpha Micro AM-310 Communications Controller [AJR, Bitsavers] 2019-08-28 19:19:27 -04:00
David Haywood
b77d8ecb03 Spectrum betadisk stuff (#5564)
* spectrum bus : rename beta.cpp to beta128.cpp as the original beta is somewhat different (nw)

* (nw)

* start making a device for the actual original beta disk interfaces (nw)

* flesh out beta stuff a bit (nw)
2019-08-29 00:15:06 +03:00
68bit
5c482945c6 asmjs: avoid explicitly linking SDL2_ttf.
It appears that it is sufficient to include `-s USE_SDL_TTF=2`, and
emcc links in the SDL2_tff library, and it does not like attempts to
link this twice.
2019-08-28 14:25:27 +00:00
68bit
6d76d3f8f8 asmjs: can not ignore errors on missing libraries
The current Emscripten release is not happy with the use of
"-s ERROR_ON_MISSING_LIBRARIES=0" as a link option, it gives an error
stating that all libraries must now be present, so remove that use.

This leaves a missing 'util' library. This did not appear to be
needed on the few builds I have tried, and this patch avoids adding
this library for asmjs.
2019-08-28 14:25:27 +00:00
68bit
5c53673c5e WD1000: new hard disk controller
Used by the SWTPC09 DMAF3 and it boots UniFLEX on a disk image, and
perhaps some other machines can leverage this.
2019-08-26 13:06:26 +10:00
arbee
a40bc736e7 apple2: Initial support for ComputerEyes/2 slot card [R. Belmont, Golden Child] 2019-08-25 20:19:17 -04:00
Angelo Salese
f5b2fd9ee6
Major refactoring of VRender0 SoC device [Angelo Salese] (#5527)
*    Improved encapsulation between video and machine SoC periperals;
*    Split up HWs in individual files where they don't belong to Crystal System HW, makes future development easier;
*    Untangled reads/writes to draw/display bankswitches from screen_update, now they can be unthrottled safely;
*    Added CRTC screen raw parameters;
*    Add DMA hold feature and clear irq on mask writes, specific for P's Attack;
*    Improved Cross Puzzle flash loading, currently failing at POST for a SPU error;

nexus3d.cpp: add some preliminary work, currently does some VRender3d pipeline fill with a debug trick [Angelo Salese]

(out of whatsnew)
Some stuff definitely needs fine graining, like removing the few lines that are still necessary to configure the VRender0 from driver files, which I'm gonna do in my next feature branch.
2019-08-24 11:33:39 +02:00
hap
0617790932 add md4330/4332 lcd driver (nw) 2019-08-21 14:52:35 +02:00
mooglyguy
450a57568e -dsp56k: Renamed relevant classes, files and namespaces to indicate that it is a DSP56156 core, not a DSP5600x core. [Ryan Holtz] 2019-08-19 15:53:47 +02:00
AJR
de57ef7b97 atronic.cpp: Add more onboard devices, including new PCF8584 skeleton (nw) 2019-08-17 22:40:15 -04:00
68bit
3d5aefd1e1 SS-30 DC5 floppy disk interface
Split out the floppy disk controller from the swtpc09 machine, adding it to
the ss50 interface. The DC5 is compatible with both the SWTPC 6800 and 6809
systems, supporting the 4 and 16 byte I/O interfaces respectively, via a
jumper setting, so can be used on the MAME swtpc and swtpc09 machines. The
DC5, like the DC4, supports double sided and density disks, and claimed
backward compatibility with the DC1, DC2 and DC3.
2019-08-16 13:35:58 +10:00
mahlemiut
daa3de1f6a amstrad: add Ram Electronics Music Machine MIDI and sampler expansion. [Barry Rodewald] 2019-08-16 14:43:49 +12:00
68bit
e133bf83cc SS-30 PIA IDE hard disk interface
Split out the PIA IDE hard disk interface from the swtpc09 machine. This
support appears to have been incomplete or to have bit rotten, and has been
updated and tested lightly with FLEX9.
2019-08-16 09:21:36 +10:00
DavidHaywood
639a5c1fe6 don't use my ill-conceived generator for arcompact, easier to work with as regular files (nw) 2019-08-15 14:42:48 +01:00
68bit
a4e23e061e SS-30 MP-S2: Dual Serial Interface
For the SWTPC09.
2019-08-14 23:35:14 +10:00
AJR
83e63dacf4 Add device emulation for DS17x85 series of MC146818-compatible RTCs with additional features 2019-08-14 09:12:12 -04:00
S.Z
a3588c18bf Enable precompiled header usage in the Visual Studio compiler (#5473)
* Enable precompiled header usage in the Visual Studio compiler
But only for libraries emu frontend precompile dasm optional
Also add emu.h include to hpcdasm.cpp

* Include emu.h in some disassembler sources to use precompiled headers

* Remove debug message
2019-08-13 13:20:53 -04:00
R. Belmont
98e518f1b6
Merge pull request #5469 from 68bit/ss50-mpt
SS-30: add support for the MP-T timer / counter card.
2019-08-13 13:19:15 -04:00
68bit
10f480911d swtpc09: add a UniFLEX specific floppy format.
The UniFLEX disk format is not compatible with the Flex format. Significantly it
does not use a mix of single density for booting on some double density disks
which makes it simpler - hardware required a new boot ROM to run UniFLEX.
Further, the UniFLEX sector size is 512 bytes versus 256 for Flex, and the
UniFLEX 'SIR' info sector record is completely different to the info on Flex
disk, and the file system format is also not at all compatible.

Thus the UniFlex format can rely largely on the WD17xx format, with an
overload to handle the sector numbering on the second side continuing from the
first side (one feature in common with the Flex format). This gives a quick
'save' capability and shares code.

Support for 8" disks is included as this was the initial distribution format
and the only one found so far.
2019-08-13 13:42:13 +10:00
68bit
d041a264de SS-30: add support for the MP-T timer / counter card.
E.g. this can be used SWTPC FLEX for a timer tick.
2019-08-13 12:11:13 +10:00
Ramiro Polla
fb5a3dcfaa gdbstub: added new GDB stub debugger (#5456)
* gdbstub: added new GDB stub debugger

This debugger can be used to connect to an external debugger that
communicates using the GDB Remote Serial Protocol, such as GDB itself
or many other GDB frontends.

Currently i386 (ct486), arm7 (gba), and ppc (pmac6100) are supported.

* gdbstub: enable GDB stub debugger in mac and windows builds
2019-08-11 12:21:16 -04:00
arbee
b9d3f359e5 apple2: Support the original gameport ComputerEyes [R. Belmont, Golden Child] 2019-08-09 22:10:49 -04:00
arbee
f6e204b4ae Add still-frame PNG image device for use by digitizers/cameras/etc. [R. Belmont]
Other formats can be added, we already have libjpeg in 3rdparty/.
2019-08-09 19:57:10 -04:00
mahlemiut
d7267c1cdd pcipc: added a slightly more usable PCI S3 Virge/DX video card.
s3virge: added PCI interface, and linear framebuffer support. [Barry Rodewald]
2019-08-09 15:00:48 +12:00
shattered
5936b650b6 agat: Nippel Clock slot device (#5425) 2019-08-04 15:47:29 -04:00
AJR
6a3e79f9a7 e9161: Add skeleton CRTC device; document SIO accesses (nw) 2019-08-03 10:51:44 -04:00
Dirk Best
8632105397 juku: Floppy support WIP, enable BASIC 2019-08-02 16:15:04 +02:00
David Haywood
d193b2f3ad steps towards some spectrum expansions - attempt 2 (resynced to AJRs changes) (nw) (#5417)
* steps towards some spectrum expansions - attempt 2 (nw)

* (nw)

* (nw)
2019-07-31 18:08:48 -04:00
AJR
b218528e1f microdrv: Change image type to magtape; default clock; move to imagedev (nw) 2019-07-30 21:04:38 -04:00
arbee
00db3c0c21 apple2: Add support for the 4Play Joystick Card [R. Belmont] 2019-07-29 23:16:09 -04:00
arbee
908be55775 apple2: support Sirius JoyPort on compatible Apple II models. [R. Belmont] 2019-07-28 21:43:18 -04:00
Nigel Barnes
7e988f9563 microtan.cpp: The Microtan driver overhaul!
- Renamed driver microtan->mt65
- Added alternative monitor ROMs: TANBUG V3.1, TANBUG V.3B, TUGBUG V1.1, TANBUG V1.
- Replaced XBug with original 0.75MHz version, fixes cassette loading.
- New machine Micron, consisting of MT65 and Tanex boards only.
- Implemented the Microtan motherboard backplane and moved Tanex to slot device.
- Additional boards implemented: Bulldog Sound Generator Board, Mousepacket Designs Colour VDU Card, Tangerine Tandos Board (not working), Tangerine High Resolution Graphics Card (monochrome), Tangerine High Resolution Graphics Card (colour), Tangerine Tanram Board, TUG 64K RAM Card, TUG Programmable Graphic Module Card,  Microtanic Video 80/82 (not working), Ralph Allen 32K EPROM-RAM Card (incomplete), Ralph Allen Disc Controller Card (not working), Ralph Allen Colour VDU card
- Added Microtan 6809 System, not yet working.
- Added Space Invasion (ETI), the DIY project from Electronics Today based on the Microtan.
2019-07-26 12:46:24 +01:00
AJR
385138a88e Add dump and skeleton device for Philips CDD2000 CD-R [Cyberia/2 Filebase]
Add dump and skeleton device for Caravalle CD-R N820s [I-Shou University File Server]

h83048: Undo variable shadowing (nw)
2019-07-24 10:22:48 -04:00
Patrick Mackinlay
ca8cd90e2b bt431: new device (nw) 2019-07-23 17:55:17 +07:00
arbee
0d716bfb5e mac128/512: preliminary (not working) support for the GCC HyperDrive hard disk interface [R. Belmont, Guru] 2019-07-21 17:25:41 -04:00
Robbbert
65054fc4f1 (nw) split binbug into 3 sources. 2019-07-22 01:22:40 +10:00
AJR
b5e018a5ab poly88, poly8813: Add PolyMorphic 16K RAM card and make one the default 2019-07-19 00:18:26 -04:00
AJR
63bda946e2 poly88, poly8813: Bus expansion
- Replace additional driver RAM with S-100 bus
- Convert Video Terminal Interface into a S-100 bus device
- Add skeleton S-100 bus device for SSSD disk controller
2019-07-18 20:24:03 -04:00
Nigel Barnes
7e74ffcde1 New working software list additions
-----------------------------------
dragon_cart: AMTOR/AX25 [David Linsley]
2019-07-16 21:55:56 +01:00
Patrick Mackinlay
1f9fd834af wtl3132: new device 2019-07-15 22:28:19 +07:00
AJR
4105acd1ed cw7501, cdr4201: Transform skeleton drivers into SCSI bus devices 2019-07-11 17:08:12 -04:00
AJR
cbaa8520ca Default list of nscsi devices (nw) 2019-07-11 14:59:16 -04:00
AJR
60d4805d55 Move modern SCSI CD/HD devices into src/devices/bus/nscsi (nw) 2019-07-11 14:20:32 -04:00
AJR
30afb4579d Add disassembler and skeleton CPU device for CompactRISC CR16B architecture
vtech_unk1.cpp: Driver moved to glcx.cpp (nw)
2019-07-05 19:02:43 -04:00
ajrhacker
5035b85be0
Merge pull request #5303 from shattered/_430d642ac2
agat: basic emulation of agat9 (video, apple compat mode, LLE floppy)
2019-07-04 14:46:16 -04:00
arbee
515bbedaf3 f2mc16: add MB90610A and MB90611A microcontrollers. [R. Belmont] 2019-07-03 20:56:10 -04:00
arbee
306f4e6884 Preliminary Fujitsu F2MC-16 CPU core, currently disassembly only [R. Belmont] 2019-07-01 22:21:00 -04:00
Sergey Svishchev
a152d1125f agat: basic emulation of agat9 (video, apple compat mode, LLE floppy)
also included: MX floppy format (nw)
2019-07-02 01:13:38 +03:00
Patrick Mackinlay
4b70016e83 new device seeq8003 2019-06-26 20:21:15 +07:00
hap
e73cf96fbd added sensorboard with piece recognition (nw) 2019-06-23 00:58:37 +02:00
AJR
48f7db090f Add disassembler and skeleton device for DP8344 Biphase Communications Processor 2019-06-22 18:14:16 -04:00
AJR
81eec8d860 Preliminary disassembler and skeleton CPU device for Elan RISC II/RII series architecture 2019-06-20 17:01:38 -04:00
Patrick Mackinlay
4c15ecdbb6 bt47x: new device (nw) 2019-06-20 18:28:06 +07:00
MooglyGuy
1af85e45ca -74381: Added untested 74S381 ALU / Function Generator device. [Ryan Holtz]
-dpb_brushproc: Added PROM signal lookups, nw

-am25s55x: Fixed some incorrect comments, nw
2019-06-18 14:37:14 +02:00
MooglyGuy
56af5d0d26 -dpb_brushproc: Added skeleton device for DPB-7000 Brush Processor Card. [Ryan Holtz]
-am25s55x: Initial device implementation for Am25S557 and 25S558 Combinatorial Multiplier chips. [Ryan Holtz]

-dpb_combiner: Fixed validation, nw

-dpb7000: Added devices for new Brush Processor Card skeleton, nw
2019-06-18 01:50:20 +02:00
mooglyguy
ccc03cab08 -tdc1008: Fixed latching of RND, TC, ACC, and SUB signals. [Ryan Holtz]
-tmc208k: Added device for TRW TMC208K/TMC28KU 8x8-bit Parallel Multiplier. [Ryan Holtz]

-dpb7000: Added placeholder devices for TMC multipliers on the Combiner Card, nw
2019-06-17 02:13:09 +02:00
mooglyguy
68d9445979 -tdc1008: Initial untested implementation of the TRW TDC1008 Multiplier-Accumulator. [Ryan Holtz]
-dpb7000: Added TDC1008 devices for the Filter Card, albeit not hooked up yet, nw
2019-06-16 23:46:22 +02:00