Commit Graph

2488 Commits

Author SHA1 Message Date
arbee
da6196f70d apple3: Support for the Titan "/// Plus II" Apple II emulation card. [R. Belmont] 2021-06-15 23:12:56 -04:00
Nigel Barnes
efcdeeaed4 bus/coco: Added the Dragon MSX 2+, The Dragon's Claw, Peaksoft Prestel, and CoCo WordPak/WordPak II/WordPak RS/WordPak 2+ devices. 2021-06-14 13:20:35 +01:00
Vas Crabb
73d97b7dc4 Added helpers for 64-bit count leading zeroes/ones. 2021-06-13 09:38:01 +10:00
AJR
35f317e027 New skeleton ISA device: Lark Associates LRK-331 ESDI Controller [Bitsavers] 2021-06-11 20:50:45 -04:00
Patrick Mackinlay
80fb62cce5 ns32082: new device 2021-06-07 19:05:07 +07:00
xray-sky
24df3089f8
fix pcap builds (#8150) [xray-sky, R. Stricklin] 2021-06-06 21:40:17 -04:00
Aaron Giles
973373e712 ymfm: Sync with upstream:
* Fix panning calculations in OPL4 (YMF278B)
* Make OPQ reverb less ridiculous
2021-06-01 09:54:44 -07:00
Dirk Best
fa08c5f552 vtech: Rework expansion bus emulation
- Use memory taps instead of directly installing into the memory map
- Use address_maps to specify address ranges
- Add missing save states
- Support the BennVenn SD Loader (preliminary)
- Move lightpen skeleton to a device
2021-06-01 13:16:52 +02:00
tim lindner
eb1df97c6b
bus/coco: add CoCo Max Hi Res Input Module (#8104) 2021-05-31 16:29:01 -04:00
Aaron Giles
05cacea947 ympsr60: Fleshed out the PSR60/PSR70 drivers
* Split YM2154 into a separate device
* Created fake YM2154 ROMs as placeholders
* Created new BBD sound device in src/devices/sound/bbd.cpp
* Created new mixer device in src/devices/sound/mixer.cpp
* Connected YM2154 and BBD devices
* Approximated BBD driver behavior
* Exposed analog sliders as adjusters (accessible via ` menu)
* Added sliders to layout and animated them
2021-05-31 11:20:28 -07:00
AJR
c7d7b25caa Better fix for vt_dsk.h header name clash 2021-05-26 14:39:05 -04:00
Olivier Galibert
9add8034d2 vtech: Add floppy formats and fs 2021-05-26 19:15:31 +02:00
Olivier Galibert
da1bd3b0ec reorganize the floptool code, add some write support 2021-05-24 14:06:06 +02:00
hap
681b9c9675 ymtx81z: leave lcd color up to the (internal)artwork 2021-05-24 13:42:20 +02:00
Aaron Giles
d9db7d77c4
ymfm: Sync with latest, add complete YMF278B support (#8090)
* Sync with upstream. I/O callbacks are now consolidated into a single read callback and a single write callback, with an access type specifier.
* Initial working implementation of YM278B. Most features implemented, except vibrato.
* Implement vibrato and status register flags. Fix envelope rate computation.
* Rename ymfm_interface::external_type to access_class and clean up the fallout.
* Formally replace the old YMF278B engine with the one from ymfm
* Rotated YMF278B outputs into a more logical order.
* Re-evaluted envelope calculations and 2x works better than the weird 15/8 I came up with before. Also changed the way FM resampling is computed to be more precise (and simpler). Turned off extraneous debugging.
* Start of/reset to a null state with no loaded waveforms.
* Fix YM2608 I/O ports.
2021-05-22 12:33:21 -04:00
arbee
15a5731492 adb: preliminary working A9M0330 IIgs keyboard emulation (not used yet). [R. Belmont] 2021-05-22 09:16:23 -04:00
Nigel Barnes
24189a9346 bus/bbc/tube: Added Sprow ARM7TDMI Co-Processor. 2021-05-21 22:32:11 +01:00
hap
262aa23c89 saitek_osa: added maestro/analyst B/C/D/D+/D++ module [hap, Berger, anonymous] 2021-05-21 19:06:07 +02:00
AJR
1382af68f4 unidasm: Add CPU16 disassembler 2021-05-21 08:28:01 -04:00
AJR
ab88bacf35 decmate2, decmate3: Emulate HD-6120 CPU; add enough I/O to initialize various peripheral ICs and run tests on disk controller 2021-05-19 18:27:34 -04:00
arbee
24b7ed9ec5 adb: add skeleton for model A9M0331 ADB mouse. [R. Belmont, Al Kossow] 2021-05-17 20:14:26 -04:00
Olivier Galibert
3b13ae6d71 pc_formats: Believe it or not, but it seems there has been released pc-format ipfs 2021-05-16 19:53:59 +02:00
MooglyGuy
c3ebd9ebb2
-bus/vsmile: Added Smart Keyboard in US, French, and German layouts. [Ryan Holtz, PulkoMandy] (#8059)
Software list items promoted to working
---------------------------------------
vsmile_cart: V.Smile Smart Keyboard (USA), V.Smile Clavier Tip Tap (France), V.Smile Schreibspaß (Germany) [Ryan Holtz, PulkoMandy]
2021-05-16 03:26:22 +10:00
hap
8ba12dd6da saitek_osa: add skeleton device for Sparc module [hap, Berger] 2021-05-15 13:37:52 +02:00
Aaron Giles
3cfc522458
ymfm: Refactor new FM engine into a 3rdparty library (#8046)
ymfm: refactor the code into a separate 3rdparty library
* Moved ymfm core implementation to 3rdparty/ymfm
* Split out each family (OPM/OPN/OPL/etc) into its own source file
* Added preliminary OPQ and OPZ support, still WIP
* Put all 3rdparty code into its own namespace ymfm
* Fixed various bugs reported in #8042
* Created interface class for communication between the 3rdparty engine and the emulator
* Standardized MAME implementation of all Yamaha devices based on a template class
* Created standard base class ym_generic that can be used when multiple YM chips are swapped in
* Changed YM2203/2608/2610 to embed a YM2149 as a subdevice instead of deriving from ay8910_device
* Also provided compile-time option to use a simplified built-in SSG rather than using MAME's at all (currently off)
* Consolidated MAME header files from one-per-chip (ym2151.h, ym2203.h, etc) to one-per-family (ymopm.h, ymopn.h, etc)
2021-05-14 18:33:49 -07:00
hap
c8d53cabbd added saitek OSA module interface used in leonardo/renaissance 2021-05-14 22:00:42 +02:00
Olivier Galibert
7ff6ed667f cdr-254sh: Skeleton 2021-05-10 09:14:54 +02:00
arbee
e13ea1cd39 Retiring my original NCR5380 implementation. [R. Belmont, AJR] 2021-05-08 16:55:52 -04:00
arbee
fa5977301e apple2: Add support for the BOOTI card [R. Belmont] 2021-05-08 16:19:36 -04:00
AJR
741595c312 qbus: Add dump and skeleton device for Data Systems Design A4432 Floppy Disk Interface [AJR, Bitsavers] 2021-05-05 09:36:12 -04:00
Sandro Ronco
800a422e42 ertictac.cpp: convert to use IOC and MEMC devices. 2021-05-01 23:07:51 +02:00
Olivier Galibert
8709e06b67 floppy: start block-devicing fielsystem support 2021-04-28 16:17:56 +02:00
arbee
f08b0c9c6c bus/rs232: Preliminary emulation of the Mockingboard D "sound card" for the Apple IIc. [R. Belmont, Apple II Documentation Project] 2021-04-25 22:24:44 -04:00
hap
5f977adf3f fix arcade target link 2021-04-23 18:55:31 +02:00
hap
d79ba952ac smartboard: add internal artwork for the pc version 2021-04-19 14:53:28 +02:00
hap
9194b83f3b smartboard: add support to connect it to pc printer port 2021-04-19 13:01:19 +02:00
Olivier Galibert
c037dfd822 thomson: Turn the extensions into slot devices, modernize the floppies 2021-04-19 09:50:19 +02:00
AJR
56ea894a84 nscsi: Add dump and skeleton device for Sony CDU561-25 CD-ROM drive [Bitsavers] 2021-04-16 15:19:23 -04:00
Olivier Galibert
9c8b72a5fe sound: Pulseaudio support 2021-04-16 14:49:16 +02:00
Olivier Galibert
6cbee7f176 cdu415: Add skeleton 2021-04-14 09:34:44 +02:00
Olivier Galibert
b663c4bc50 cdu75s: start the driver 2021-04-08 09:15:25 +02:00
Olivier Galibert
e0d69fad4c h8: Add the h8/3032 2021-04-07 14:29:28 +02:00
arbee
e42e059b23 Add bus/adb for real ADB device emulation [O. Galibert, R. Belmont] 2021-04-06 22:40:10 -04:00
Vas Crabb
958189731b bus/a2bus: Added Orange Micro Grappler printer interface card. 2021-04-07 04:33:43 +10:00
Aaron Giles
52f0acb25c
New BSD-licensed OPL/OPLL (YM3526, YM3812, YM2413, Y8950, YMF262, etc) cores (#7869)
* OPL prep. Define FAMILY constant in register classes, and use that instead of template specialization for family-specific behaviors. Expand channel masks to 32 bits. Add is_keyon() helper.

* Made FM channel and operator mapping more flexible. Operators are now owned by the engine and can be dynamically assigned to channels. Register classes now provide a mapping between a linear set of operators and channels. The register data array is now a regular array instead of a vector.

* Minor change for consistency.

* Introduce OPL registers and create a ymopl_engine. Add support for sustain-less notes and the OPL envelope clocks (which does not divide by 3).

* Moved keycode calculations into register class. Removed unnecessary recalc in phase generator. Lined up OPL frequency, feedback, algorithm, and total level.

* Implement key scale level and OPL-specific LFO and phase handling.

* Create new YM3526 device based on new OPL. Fix keyon and sustain behaviors.

* Fix weird OPL multiple values. Clean up and further document OPL LFO.

* No busy flag on OPL, so no need to do the work. Add a right shift of 1 to the output stage to line up volume with old implementation.

* More compact way of representing key scale level values.

* Move the KSL bitswap into the registers since it's apparently fixed in OPLL and perhaps others.

* Add support for ryhthm generation in OPL. Change compute_volume to take a phase value directly, and expose operator phase.

* Fix OPL timers.

* Start LFSR with a non-zero value to ensure it actually starts generating for OPL.

* Fix silly bug in sustain logic for OPL. Fixes a lot of previously missing sounds.

* Create OPL2 engine. Add waveform support for OPL2/3 waveforms.

* Wire up YM3812 to the new OPL2 engine.

* Reset OPL timers when the mask is written as well.

* Manage rhythm key ons separately. Fixes Wardner awfulness.

* Explicitly make channel logic handle 0, 2, or 4 operators rather than checking each one for null. Also simplify the combining logic for the 2 operator case.

* Reverse bit order of LFSRs to make things a little simpler. Fix OPL LFSR so that it has its full 23-bit period.

* Change outputs along the path to arrays rather than stereo items. This allows for four channel output. Also add a constant for the number of outputs to the register class.

* Move status register bit definitions to the registers class. Generically support the IRQ bit.

* Create shared helpers for FP encode/decode/roundtrip and use them throughout. Also update TMNT to use the FP decoder.

* No need to clamp when using the roundtrip.

* Clear the EOS flag when execute is turned off on ADPCM-B. Fix combine_status in YM2608 to ignore previously set flags.

* Add missing note_select in base class. Don't add 1 to the OPL release rate.

* Move Y8950 over to new OPL engine.

* Remove old y8950, along with fmopl and ymdeltat

* Add updates prior to status reads for ADPCM systems.

* Add status_mask and irq_reset logic into the core. Clean up documentation on family-specific registers. Includes some temporary gross debugging stuff.

* Made debugging less gross by giving operators and channels a reference back to their owner.

* Fix status port address in OPL chips. Reduce ADPCM volume to match previous implementation.

* Fix Y8950 ADPCM start. Return masked status properly.

* Initial cut at OPLL mapping.

* Add YM2413 support based on ymfm; renamed vrc7snd to ds1001; added YM2423 amd YMF281 variants as well. Instrument data is now loaded via external ROMs. Added 'depress' envelope support to the core engine. Fixed a number of issues in the ymopll_engine. Documented hard-coded values. Moved register clear into register-specific reset.

* Add missing identifier.

* Y8950 is OPL not OPL2.

* Some documentation cleanup. Consistency fixes in the register classes.

* Consolidate large comments. Add support for delayed modulators for OPL. Broke out 2-op and 4-op cases to help simplify logic. Fixed overflow handling in fp encoding.

* Fix silly bug.

* Changed operator assignment mechanism to be more readable. Added prepare method to be called at the start of sound update. Added ALL_CHANNELS constant to register files. Updated all consumers to call prepare and use constants where applicable.

* Move YMF262 and YMF278B to use new FM engine for OPL3/4. Fix several issues in OPL3 logic, which now seems to work ok.

* Minor fixes. More documentation.

* Fix MSVC build.

* Add caching of data to prepare methods to improve performance. Moved non-register decoding logic out of the .h file and into .cpp file. Move phase_step calculation into register class.

* More notes. Removed keycode from cache. Split 2/4-operator outputs into separate functions. Changed OPN/OPL to use templates for variants. Added channel/operator_offset helpers.

* Fairly substantial overhaul of register interface. Register interface is now stateless and contains family-specific state. Channel and operator accessors are prefixed by ch_/op_ now and require an offset to the specific channel or operator. Moved LFO/noise generation into register class, along with keyon logging.

* Add noise back to OPL/OPLL

* Added early-out for low envelope. Moved waveform logic out into family-specific code. General clean up of ordering. Reduced family base class to minimal needed.

* More aggressively track active channels to help performance.

* Use only summing outputs for consideration of active channels. Centralize the logic of determined 4-op vs 2-op.

* More conservative channel deactivation.

* Add helper to compute the sample rate and use it in all implementations. Remove unneeded chnum/opnum members.

* Fix error in YM2612 that caused crashes.

* Switching parameters and locals to 32-bit values gives a noticeable performance boost. Checkpoint 1.

* More moving to 32-bit values. Checkpoint 2.

* Last of the 32-bit promotions.

* Ensure SSG inverted flag is only tested on systems with SSG support in the innermost loops.

* Make most constants 32-bit as well. Expose some constants via the engine class.

* Expand waveforms ahead of time. Optimize the attenuation lookup a bit.

* If volume is low, don't erase output, just leave it alone. Fixes missing sound in raimais.

* Replace a couple of magic numbers with constants.

* Normalization of FM engine usage across consumers.

* Removed explicit external prepare() call; this logic is now automatically done after writes and periodically. Changed OPL/OPLL to use native formats for block/fnum. Fixed waveform generation. Fixed PM and AM depth on OPL/OPLL.

* Cache multiple value. Clean up output handling a bit.

* Move multiple caching ahead of phase step caching.

* Fully split OPLL from OPL. Remove many hacks now that OPLL registers can have state. Created shared helpers between OPL/OPLL. Removed more aggressive channel disables since it was not rhythm friendly and didn't really buy much.

* Remove old comment

* Remove bad write in OPL mode case. Fixes fsoccer intro. Only call set_reset_status() once per mode call.

* Remove FM output boost in YM2608/2610. Not sure why I did that. Better matches previous volume now.

* Make AM/PM logging less confusing.

* Let's actually set DYNAMIC_OPS properly, eh?

* Improved logging.

* Comment cleanups. Add constant for dynamic phase. Pre-shift sustain level. Srcclean.

* Fix memory regions on YM2608 games.

* Clean up ymadpcm to line up with recent ymfm changes.

* y8950: Reshuffle read/write handlers. Rename them to less confusing names.

* ym2413: Reshuffle read/write handlers. Rename them to less confusing names.

* ym3526/ym3812: Reshuffle read/write handlers. Rename them to less confusing names.

* ymf262: Match read/write details to datasheet and previous tests.

* Use a constexpr function instead of macro for packing operator numbers. Pre-compute OPM LFO waveforms.

* Generate OPL4 engine to support the proper clock divider and new flags. Update YMF278B to use FM timers and status rather than replicating the logic.

* Fix 4-operator enable on new OPL4 instance.

* Fix FM downsampling and adjust balance in YM278B.
2021-04-02 19:58:04 +02:00
AJR
4d3afe00fc Restore legacy pc_dsk floppy support for imgtool only 2021-03-29 22:48:14 -04:00
Vas Crabb
e298c31a69 srcclean in preparation for release 2021-03-28 14:34:50 +11:00
Olivier Galibert
c8b532068f xt446: Use its real name 2021-03-22 22:51:49 +01:00
Olivier Galibert
5270d43692 keyboardmania: Interface with the mu100 2021-03-21 23:01:23 +01:00
hap
001eadf294 pps41: add preliminary mm78la/mm77la 2021-03-19 17:53:12 +01:00
Olivier Galibert
cdb06b7a99 pmac6100: Move it to a new driver 2021-03-12 21:35:02 +01:00
hap
82461369ff pps41: added mm78 disasm and mm77/mm78 skeleton device 2021-03-08 15:52:04 +01:00
fulivi
3fe689f03f
HP9845: added synchronous I/O for RS232 port and HP98046 module (#7695)
* rs232: added device for synchronous I/O

* hp9845: implemented external clocking in hp98046 serial module

Co-authored-by: ajrhacker <ajrhacker@users.noreply.github.com>
2021-03-07 13:31:39 -05:00
Olivier Galibert
e8ab2b8a78 Fix messed-up merge 2021-03-05 14:10:44 +01:00
Olivier Galibert
92326e47af floppy: Beginning of the support for preformatted floppy images.
What's missing:
- parameters (like the disk name when it exists)
- possibly a cleanup of ram_open and friends (but not sure of the appropriate direction in which to go)
2021-03-05 10:17:20 +01:00
hap
d65c5159f1 pps41: add skeleton MM76-derived devices 2021-03-04 13:10:10 +01:00
Dirk Best
e5d1cec868 formats: Fix missed RC759 format 2021-03-04 11:24:17 +01:00
Olivier Galibert
d436cbd3a6 formats: Create mame_formats_full_list which gives access to all the supported formats, make floptool use it. Castool should use it too probably, but I don't want to touch it. 2021-03-04 10:14:24 +01:00
Dirk Best
23769b0970 rc759: Add RTC and floppy, start cleanup 2021-03-03 13:38:54 +01:00
Olivier Galibert
a52b69d27c Fix dependencies 2021-03-02 20:51:01 +01:00
Olivier Galibert
faf0417271 defaults: pc format is in, ipf is out 2021-03-02 20:20:20 +01:00
hap
323250bbee mastmind: shuffle around bit/byte ordering, disasm looks better now 2021-03-02 19:49:53 +01:00
hap
dd75841b96 machine.lua: correct applefdintf file pointer 2021-03-02 12:24:01 +01:00
AJR
f74d0978a9 Revert "fileio.cpp: This doesn't technically require emu.h"
This reverts commit 6d6073054b.
2021-02-28 13:25:25 -05:00
Nigel Barnes
fda2a0e482 econx25: Added the dual Z80 co-processor board (incomplete). 2021-02-28 12:22:22 +00:00
AJR
7002aae556 New working machines
--------------------
Mark 1 FORTH Computer [AJR]
2021-02-27 11:58:40 -05:00
Aaron Giles
95869d5718
New BSD-licensed implementation of Yamaha OPN and OPM FM audio chips (#7808)
New BSD-licensed implementation of Yamaha OPN and OPM FM audio chips, along with new device drivers for YM2203, YM2608, YM2610, YM2610B, YM2612, YM3438, and YM2151 based upon these.
2021-02-27 21:57:43 +11:00
hap
2f02c96baf added MM76 disassembler and preliminary PPS-4/1 MCU core [hap]
New machines marked as NOT_WORKING
----------------------------------
Electronic Master Mind (Invicta) [hap, Sean Riddle]
2021-02-26 18:24:59 +01:00
AJR
6d6073054b fileio.cpp: This doesn't technically require emu.h 2021-02-26 12:07:44 -05:00
cam900
0a2caa105d
Refactored Seta sound, adding preliminary ST0032 sound support. (#7800)
* Renamed sound/nile.cpp to sound/setapcm.cpp.
* Added preliminary support for 16-voice ST0032 variant.
* jclub2.cpp: Hooked up ST0032 sound.
* jclub2.cpp, srmp6.cpp: Derive sound clocks from crystal frequencies.
2021-02-23 23:12:22 +11:00
Nigel Barnes
2a4a487ec2 bus/bbc/tube: Added the CMS 6809, Acorn 16032, and Acorn A500 2nd processors. 2021-02-20 00:22:05 +00:00
hap
147b5e72a4 added MM5799 MCU emulation [hap]
New working machines
--------------------
Basketball (Mattel) [hap, Sean Riddle]
QuizKid Speller [hap, Sean Riddle]

New working clones
------------------
QuizKid Racer (MM5799 version) [hap, Sean Riddle]
2021-02-14 23:23:28 +01:00
Roberto Benfatto
02d6b1e457
scripts: Remove references to non-existent headers and duplicate source file references. (#7770) 2021-02-14 22:15:17 +11:00
hap
ad11e2d46e added ds8874 device 2021-02-07 17:12:19 +01:00
AJR
c47ed0112e coretmpl.h: Move lru_cache_map to separate header 2021-02-03 17:42:14 -05:00
AJR
75a7445a98 unidasm: Add disassemblers for NEC/Renesas V850 family 2021-01-30 12:30:56 -05:00
Vas Crabb
adc23f3f74 Goodbye 64 suffix on the main executable, it was nice knowing you.
If you want to build 64-bit and 32-bit in the same tree without them
stomping on each other, use SEPARATE_BIN=1 (you already need to do this
for TOOLS=1 anyway).
2021-01-26 15:37:11 +11:00
Curt Coder
39c150bd1e New working machines
--------------------
Facit DTC (DeskTop Computer) [Luxor ABC arkivet, Curt Coder]

abc800: Added new revisions of ROMs, and skeletons for DataBoard 4106/4107. [Luxor ABC arkivet, Curt Coder]
2021-01-14 08:27:37 +02:00
Sandro Ronco
5a57d03cfe
-Acorn Archimedes code reorganization: (#7627)
* Separated Acorn IOC and MEMC into devices.
* Emulated 8051-based serial keyboard.
* acorn_machine/memc.cpp: Ensure only one logical page is mapped to a single physical page.
* Fixed RISC OS POST IOC register test.
* aa310.cpp: Added debug code to display RISC OS POST failures.

-machine/archimedes_keyb.cpp: Dumped Acorn Archimedes keyboard microcontroller. [Phil Pemberton]
2021-01-12 23:39:14 +11:00
Ryan Holtz
1fad52d8ee - m950x0: Added implementation for STmicro M950x0 SPI EEPROM series. [Ryan Holtz]
- sa1110: Added rudimentary support for the ICP and DMA blocks. [Ryan Holtz]

- sa1111: Various changes. [Ryan Holtz]
 * Hooked up I2S audio DMA support.
 * Hooked up IRQ support.
 * Hooked up basic GPIO support.

- uda1344: Added initial pass at audio support, based on DMADAC. [Ryan Holtz]

- sed1356: Added support for BitBLT solid-fill command. [Ryan Holtz]

- jornada: Added more keys, touch pen support, and fixed EEPROM access. [Ryan Holtz]
2021-01-10 13:24:20 +01:00
hap
d329aa03f7 odyssey2: add service test cart 7seg output 2021-01-04 21:11:54 +01:00
AJR
c231ee373a render.h, rendlay.h: Dependency refactoring
- render.h: Split out layout class declarations into rendlay.h, with some adjustments for the resulting incomplete types (std::reference_wrapper unfortunately does not allow these by C++17 rules)
- rendlay.h: Move old header contents to layout/generic.h
2021-01-04 12:15:09 -05:00
AJR
60e518cc50 Low-level #include overhaul
- vecstream.h: Revert changes made in aa29519528. The std::string_view conversion has been made a non-member function (util::buf_to_string_view) and moved to coretmpl.h.
- strformat.h: Remove the using declaration importing util::string_format into the global namespace. It has been moved to emucore.h and a few tool sources; other references have been qualified.
- osdcore.h: Split out file, directory and path classes and methods to a new header (osdfile.h), Doxygenizing the documentation comments.
- Disaggregate many #includes that were including other standard or custom headers. emu.h now includes basically the same things that it did, but other headers have been streamlined; for instance, emucore.h no longer stealth-includes osdcore.h several ways.
2021-01-02 15:18:15 -05:00
Ryan Holtz
29bc7e25b7 -arm7: Moved WinCE call logging into a separate .hxx file. [Ryan Holtz] 2021-01-01 23:23:42 +01:00
Ryan Holtz
139f044859 -arm7: Added optional logging for Windows CE calls. [Ryan Holtz]
-uda1344: Added skeleton audio device for Philips UDA13444 Codec. [Ryan Holtz]

-sa1111: Hooked up basic L3 audio transceiver support. [Ryan Holtz]
2020-12-31 19:18:54 +01:00
Patrick Mackinlay
763a780f37 romp: initial storage channel implementation 2020-12-31 16:39:20 +07:00
tim lindner
c49f1ee406
bus/coco Added CoCo and Dragon MIDI cartridges. (#7589) 2020-12-25 14:28:09 +11:00
Nigel Barnes
8aacde2c3f saa5240.cpp: Preliminary SAA5240/43 Computer Controlled Teletext emulation. 2020-12-25 00:09:52 +00:00
Ryan Holtz
7ebdb0bd97 New machines marked as NOT_WORKING
------------------
Hewlett-Packard Jornada 720 [Ryan Holtz]

* arm7: Fixed interaction between instruction prefetching with the MMU enabled. [Ryan Holtz]

* sa111: Added skeleton device for Intel SA-1111 Microprocessor Companion Chip. [Ryan Holtz]

* sed1356: Added skeleton device for Epson/Seiko SED1356 video controller. [Ryan Holtz]

* sa1110: Various cleanups. Added rudimentary SSP module support. [Ryan Holtz]
2020-12-24 18:59:14 +01:00
AJR
f7585b3cdb a2bus: Add (corrected) ROM dumps and emulation of CCS Model 7710 Asynchronous Serial Interface [AJR, Apple II Documentation Project] 2020-12-24 10:02:48 -05:00
AJR
5bf175cb05 New device: Fairchild 4702B Bit Rate Generator 2020-12-24 09:56:49 -05:00
AJR
0d77739c27 Add dump and skeleton devices for Emerald Technology 3XTwin ISA board 2020-12-23 10:56:26 -05:00
arbee
add5e8a421 apple2: Support for the Videx Uniprint parallel card [R. Belmont, Golden Child] 2020-12-22 21:54:58 -05:00
AJR
4f70f2d58b Add CompactRISC CR16C disassembler to unidasm (largely untested) 2020-12-16 12:17:56 -05:00
arbee
30247885aa 3rdparty: use -Wno-strict-prototypes when building SDL2 on macOS [R. Belmont] 2020-12-13 17:03:16 -05:00
arbee
ca1bf9a040 Add AudioToolbox framework when building SDL2 on macOS, fixes TOOLS=1 link errors [R. Belmont] 2020-12-13 16:48:55 -05:00
AJR
04b59f8323 unidasm: Add disassembler for M32C architecture 2020-12-07 15:41:45 -05:00
Ryan Holtz
be92cc6c65 -scoop: Added skeleton device for Sharp "Scoop" peripheral IC from the Zaurus PDA line. [Ryan Holtz]
-ucb1200: Added skeleton device for Philips UCB1200 audio/telecom codec. [Ryan Holtz]

-sa1110: Added rudimentary framework for the MCP codec interface module. [Ryan Holtz]
2020-12-06 14:52:40 +01:00
Ryan Holtz
8287057888 -locomo: Added a skeleton device for the LoCoMo peripheral controller used in some Sharp Zaurus models. [Ryan Holtz]
-sa1110: Added OS Timer, RTC, Reset, GPIO, and partial UART3 controller module support. [Ryan Holtz]
2020-12-06 14:52:40 +01:00
Nigel Barnes
f25283c81f accomm: Added PCF8573 RTC.
- Added RTC interrupt, fixes TIME function.
- Realigned video handling with the Electron.
2020-12-04 12:23:11 +00:00
Vas Crabb
1bdf8d272a frontend: Lua engine improvements.
Added methods for enabling and disabling breakpoints and watchpoints,
and made debugger views update when breakpoints/watchpoints are
manipulated from Lua.  Made breakpoints and watchpoints objects rather
than tables.  (It’s not possible to enable/disable a breakpoint or
watchpoint from the object itself, you have to go through its owners'
debug interface.)

Exposed more device_t members for dealing with child/sibling tags and
devices.  Also provided a way to get regions/shares/banks from a device
using relative tags rather than going through the memory manager with
absolute tags.
2020-11-30 12:01:14 +11:00
Olivier Galibert
574daf4e49 Implement views, which are essentially bankdevs integrated into the
memory map system. [O. Galibert]
2020-11-22 19:43:52 +01:00
AJR
390bb74da9 Add dump of AppleCD 150 [DBWBP] 2020-11-20 12:35:18 -05:00
AJR
0bdbb0aa2e Separate TX-0 from PDP-1; separate some SoC types in build 2020-11-19 20:54:24 -05:00
Vas Crabb
612b6472e7 -unidasm: Allow input piped from stdin by specifying a bare hyphen as the filename. [AJR, Vas Crabb]
-netlist: Give devices the C++17 namespace treatment.

-Tidied up compiler warning options for 3rdparty.

-emu/render.cpp: Exposed a few information view item properties.
2020-11-18 00:58:30 +11:00
arbee
48d1f0de37 macOS: Disable BGFX threading, which causes crashes and wrong drawing on Catalina and Big Sur. [Balrog] 2020-11-16 23:28:00 -05:00
Vas Crabb
ac270744f3 Fix most implicit fallthrough warnings from clang 2020-11-17 09:18:37 +11:00
tim lindner
d6fbd53d2b
bus/coco: Added symphony 12 music device. (#7472) 2020-11-17 01:01:55 +11:00
Vas Crabb
b524aa701a frontend: split lua_engine user type registrations across a few files to make it a bit more manageable 2020-11-16 23:11:43 +11:00
Vas Crabb
4298ce18fb Enable GCC implicit fallthrough warning.
I've guessed whether break or [[fallthrough]] is appropriate.  In cases
where it looked particularly suspicious, I added a FIXME comment.  All
of these changes should be reviewed by someone familiar with the code.
2020-11-15 03:58:54 +11:00
Vas Crabb
55b8ca317a -Switch to building MAME as C++17.
* Updated sol2 to 3.2.2
* Updated pugixml to 1.10
* Increased minimum clang version to 6
* Cleaned up some stuff that can use new features
2020-11-15 03:53:47 +11:00
arbee
5ca983d83f apple2: Support the SUP'R'TERMINAL 80-column card. [R. Belmont] 2020-11-09 23:03:14 -05:00
Olivier Galibert
b644308114 mu5: Add the lc7985nd and the lcd [O. Galibert] 2020-11-05 14:00:00 +01:00
Sandro Ronco
2dbfe3db33 pce220.cpp: split HD61202 and SED1560 into separate devices. [Sandro Ronco]
Machines promoted to WORKING
----------------------------
Sharp PC-E220 [Sandro Ronco]
Sharp PC-G815 [Sandro Ronco]
2020-10-31 23:36:12 +01:00
Nigel Barnes
d44b1552cf aquarius: Peripherals implemeted as slot devices: 4K/16K/32K/16K+ Memory Cartridges, Mini Expander (now with controllers), Quick Disk (not working), C1541 DOS Interface (not working)
- Implemented memory mapper for CP/M.
- Serial printer port.
- External RAM is now scrambled.
- SuperCart bankswitching board implemented for Aquaricart.
- Cartridge images of size 4K, 8K, 16K now supported, was previously 16K only.
2020-10-31 21:33:20 +00:00
Vas Crabb
cf7fe1e04d -bus/a2bus: Added Apple II Parallel Printer Interface Card.
-frontend/mame/audit.cpp: Fixed another annoying edge case.

-Cleaned up RawInput code slightly.
2020-11-01 00:37:28 +11:00
Olivier Galibert
331baa268a lc57, msm65x2: Add disassemblers [O. Galibert] 2020-10-26 11:42:43 +01:00
tim lindner
d37876bd20
bus/coco: Added Speech Systems Stereo Composer cartridge. (#7379) 2020-10-26 19:42:18 +11:00
AJR
67ac7f437f 3rdparty.lua: Another build fix for older OS X versions 2020-10-25 15:29:24 -04:00
Justin Kerk
56f2ebaeaf Emscripten: Allow memory size to grow at runtime when targeting WebAssembly as there is no longer a performance hit 2020-10-24 00:44:57 -07:00
Vas Crabb
515e85ba80 bus/a2bus: Added Orange Micro Grappler+ Printer Interface. [Vas Crabb, Golden Child, archive.org] 2020-10-23 17:03:09 +11:00
Aaron Giles
89dbabd04d
volt_reg: Remove uses that are not needed anymore with the recent (#7367)
DAC changes. Which is all of them. Remove the device as well.
2020-10-20 10:59:34 -04:00
Nigel Barnes
af16e6fbe9 aquarius: Added support for .CAQ cassette images.
- Select 20K RAM as default.
2020-10-19 21:14:54 +01:00
Nigel Barnes
382e6fea50 bus/bbc/rom: Added support for the Gemini DataGem ROM carrier board. 2020-10-19 21:14:53 +01:00
AJR
31bf57410e m68000: Separate FPU code from header 2020-10-15 20:51:21 -04:00
cam900
24d5367e8f
Implement TT5665 emulation (#6841)
* Implement TT5665 emulation
Similar as OKIM6295, but with Support more ROM capacity and phrase spaces, 2 sound outputs
used in bowltry, igs_m036 (for some hardwares with TT5665, ex: cjddzsp)
bowltry.cpp: Fix game name (BOWLING TRY! in both poster and PCB)

* bowltry.cpp: Typo

* Fix endline

* tt5665.cpp: Reduce unnecessary argument
2020-10-15 14:18:21 -04:00
Vas Crabb
d256f069a5 -3rdparty/expat: Update to 2.2.10."
-Fixed tiny build (missing s11c_bg_device) and unused lambda capture in emu/rendlay.cpp.
2020-10-15 04:28:42 +11:00
Vas Crabb
c751a5348a -emu/natkeyboard.cpp: Allow keyboard devices to be enabled/disabled.
This fixes the "typing on all keyboards at once" issue.  You can now
enable and disable keyboard/keypad inputs per device in the Keyboard
Mode menu.  Default is to enable the first device with keyboard inputs,
and all device with keypad inputs but no keyboard inputs.  The settings
are saved in the CFG file for the machine.

Typing in natural keyboard mode only ever types on one keyboard at a
time, but now you can control which keyboard it types on, as it will be
the first enabled keyboard.

You can easily try this out with something like:
mame64d zorba -rs232 terminal cpm

-ui/inputmap.cpp: Show device descriptions as well as tag paths.

-mac128.cpp: Fixed mouse axis wrap compensation, cleaned up mouse code,
eliminated static variables for mouse input state.

You could see the issue with wrap detection easily enough just by
running mac128k/mac512k/macplus and tapping the arrow keys to move the
mouse one pixel at a time.  As you moved past the point where the axis
count wrapped, it would move one pixel in the opposite direction.

There were two function static variables related to mouse input state,
probably still lurking from when the code was initially made to use a
driver state class.  This obviously messes with save states and prevents
multiple instances.

- bus/a2bus/mouse.cpp: Fixed mouse axis wrap compensation.

This device had the same bug with wrap compensation as mac128k.cpp.
2020-10-11 02:58:46 +11:00
Patrick Mackinlay
e67a06058f ns32202: new device (wip) 2020-10-10 13:28:41 +07:00
Ryan Holtz
dbea17a536 Software list items promoted to working
-----------------------------------
vsmile_cart: V.Smile Tanz Mit Center (Germany), V.Smile Défi Gym (France), Gimnasio Interactivo V.Smile (Spain)

-vsmile: Added support for the Jammin' Gym Class dance mat. [bmx, Ryan Holtz]
2020-10-10 00:44:01 +02:00
Jonathan Gevaryahu
63dc4b41ed
Major update for HC55516 CVSD audio device and related filtering, as well as hooking it to drivers. (#7290)
* Split hc55516 core into separate cores/subclasses for hc55516 and hc55532 (new 'digital' implementation based on decap/die tracing) as well as mc3417 and mc3418 (old existing 'analog' implementation left alone) and hooked the hc55516 and mc3417 implementations to the appropriate hardware drivers. This should vastly improve CVSD sound quality in drivers that use the hc55516. [Lord Nightmare, Sean Riddle]
* Made Exidy's mouse trap use a timer to clock the mc3417 and update the state readable by the z80 rather than relying on the mc3417 to accept a clock parameter and update the z80 state via a callback. The timer implementation ensures proper synchronization and prevents missed clock transitions from the z80 side causing noise in the CVSD audio. [Lord Nightmare]
* Added a biquad-based 2nd order filter emulation for an audio stream (to go along with flt_rc 1st order filter emulation) and hooked it to Exidy's mouse trap (mc3417) and williams drivers (hc55516) following the original schematics. For hc55516 this is necessary as the original chip produces a very pronounced audible 16khz 'carrier' in its output audio even on the real chip, and these filters suppress this. This also happens to a lesser extent with the 8khz quieting waveform noise on both mc3417 and hc55516. [Lord Nightmare]
* Made Williams System 11 and s11_bg relative sound mixing more accurate to the original audio flow on the PCB itself. [Lord Nightmare]
* Switched Williams Joust 2 to use the s11_bg common sound device rather than its own implementation. [Lord Nightmare]
2020-10-10 04:25:40 +11:00
r09
dd73e03c08
fmtowns: add devices for the SCSI card slot and the FMT-121 card (#7306)
* fmtowns: add a SCSI card slot for the original models
- Add a slot device for the Model 1/2 dedicated SCSI slot
- Add a device for the FMT-121 SCSI Card
- Modify the I/O maps and machine configurations so the slot and the
  integrated controller don't overlap
2020-10-08 03:20:32 +11:00
Vas Crabb
b90fd35515 Various improvements to image file handling:
Moved MS DIB parser out of ICO file reader and made it available for
artwork and layout images.

Added more efficient I/O and better error checking for JPEG file loading
(MAME will no longer exit immediately on a bad JPEG file).

Made caller responsible for opening files for loading images, to avoid
decompressing images used in ZIP/7z artwork multiple times.

Added support for JPEG and Windows DIB to picture_image_device.

Added support for SVG image files in external artwork.

Added support for using I/O port value for animation state and masking
animation state values.

Made bounds elements more flexible in layouts.

Reworked headers to reduce dependencies.

Updated layout file format documentation.
2020-10-08 02:04:31 +11:00
Patrick Mackinlay
def86684ac ns32000: avoid potential slave dependency issue 2020-10-06 09:54:38 +07:00
Patrick Mackinlay
a89f9b274e ns32081: new device 2020-10-05 16:02:23 +07:00
couriersud
3a95d1e4fd netlist: Convert driver filenames to lower case. 2020-09-30 08:38:06 +02:00
Olivier Galibert
5352cdbc5e lc58: Add disassembler [O. Galibert] 2020-09-29 13:12:14 +02:00
David Haywood
3cd14b2e0a
machines promoted to WORKING (plug play) (#7299)
machines promoted to WORKING
----
TV MegaMax active power game system 30-in-1 (MegaMax GPD001SDG) [David Haywood]

* added files for the VT APU type, currently no extra functionality, but will be built upon
2020-09-29 19:05:21 +10:00
Justin Kerk
56f30e3ca0 Remove embed files unintentionally added to Emscripten build 2020-09-28 10:04:36 -07:00
Emmanuel Vadot
e996e148f3
FreeBSD fixes (#7295)
* psixptty: Fix for FreeBSD

We need to check for __FreeBSD__ not __FreeBSD_kernel__

* FreeBSD: Use gl includes from pkg-config

FreeBSD doesn't install the includes from 3rdparty software in a default
location so use pkg-config to get the correct path.

* FreeBSD: genieos is named simple bsd
2020-09-27 20:41:14 +10:00
Vas Crabb
6e807013c5 Disable SOUND_DEBUG for non-debug builds, and srcclean 2020-09-27 11:00:56 +10:00
Nigel Barnes
e7b852c7a3 bus/bbc/1mhzbus: Added the Acorn Music 500, Hybrid Music 5000 Synthesiser, Hybrid Music 3000 Expander, and Peartree Music 87 Synthesiser. 2020-09-25 11:06:45 +01:00
couriersud
1bb99466bc netlist: code refactoring
* use default move and copy constructors
* various minor edits like adding noexcept
* removed a lot of inline keywords - you can't beat the compiler
2020-09-24 15:22:22 +02:00
Nigel Barnes
70d8b5deb8 bus/bbc/userport: Added the Hybrid Music 4000 Keyboard. 2020-09-22 19:52:14 +01:00
David Haywood
04672777eb
pcp8718 / pcp8728 / bkid218 - make menu controller a shared device (#7270) 2020-09-21 13:17:25 -04:00
arbee
d3138d7dd4 apple2: preliminary support for the Sider SASI card and the Xebec OEM version [R. Belmont] 2020-09-20 22:41:42 -04:00
couriersud
63efcfcb85 netlist: code refactoring.
- rename mat_cr.h to pmatrix_cr.h
- Optimization to the gmres solver.
- Simplifcation of vector operation code
2020-09-20 17:34:54 +02:00
couriersud
0348faf9ae
Merge pull request #7214 from Lord-Nightmare/master
netlist: devices for MCM14524, CD4029, CD4030, CD4042, CD4049, CD4076 [Lord Nightmare]
2020-09-18 18:44:58 +02:00
couriersud
ed6900b990
emscripten: netlist and OpenGL improvements. (#7254)
* Most OpenGL link issues fixed. Two remain from drawogl.cpp.
    This isn't working anyhow.
* "-video accel" now uses WebGL. This allows GL based scaling and
    provides a performance improvement.
* Fixed pong and other games by adding another function to the
    exception whitelist
* Target now is mame.html. This allows emrun to be used for testing.
    mame.js is created as well and thus the current behaviour
    unchanged.
2020-09-18 23:06:48 +10:00
Lord-Nightmare
bff0710c57 Netlist devices for MCM14524, CD4029, CD4030, CD4042, CD4049, CD4076 [Lord Nightmare] 2020-09-17 22:56:49 -04:00
couriersud
c127811083 netlist: Move ICL8038_DIP and NE556_DIP to core.
* Remove code duplication.
2020-09-17 19:44:51 +02:00
Patrick Mackinlay
eb3d3ccb50 machine.lua: revert unwanted addition 2020-09-17 19:09:37 +07:00
Patrick Mackinlay
4b9cef80f2 news_68k: incorporate dmac changes
* NEWS-OS now boots and runs in serial console mode
2020-09-17 19:06:09 +07:00
MetalliC
bd89e921a3 fix build 2020-09-17 12:22:03 +03:00
Erwin Jansen
9a0c63f673
Add MDCR support for P2000t (#7215)
This adds support for the mini digital cassette recorder that can be
found inside a P2000t. This implementation is based on documentation
that can be found in https://github.com/p2000t/documentation.

In memory of NPM Jansen, who taught me all the magic of bits and bytes.
2020-09-17 18:39:48 +10:00
AJR
7e121d68bb kl5c80a12, kl5c80a16: Added emulation of KP63(A) Timer/Counter unit. This improves timings in animalc, haekaka, pyenaget and tdoboon.
* animalc: Pile kludge upon kludge for poorly understood video timing register
* gocowboy, itazuram: Increase frequency of one timer interrupt (and hopper timing in gocowboy)
* kc82, kp69: Modernize state_add syntax
2020-09-14 23:32:58 -04:00
couriersud
48fada3c34 netlist: remove obsolete headers from netlist.lua 2020-09-13 12:20:11 +02:00
cam900
612bf6546f Device-fied PRO-CT0
for protection, aka ALPHA-8921(in Some later 80s alpha denshi PCBs) or SNK-9201
prot_fatfury2.cpp: Convert protection into alpha_8921.cpp device
2020-09-13 18:51:53 +10:00
couriersud
ca31c844cd netlist: move to generated header and link support files files.
* Removed device and macro header files.
* All of those can be generated automatically so going forward there is
no need for these any longer.
* Introduced the modules concept. Modules are netlists for which
automatic lib entries are generated.
* Going forward you just store them in macro/modules and they will be
automatically registered as device elements.
* You need to do a "make generated" is src/lib/netlist/build
* Some_device.cpp still needs to be added to netlist.lua
* Added documentation on how to add devices to netlist.
* Please refer to adding_devices.md for more information.
2020-09-12 23:20:16 +02:00
Nigel Barnes
e5b039078f bus/electron/cart: Added the Pace RS423 Communications cartridge. 2020-09-07 16:58:02 +01:00
Michael Zapf
82b7fb4ece ti99: Added SID Master expansion card. 2020-09-02 00:04:02 +02:00
Rhett Aultman
49466dc4ad
bus/a2bus: Added Uthernet card emulation for Apple IIgs (#7090)
* Ported Cirrus Logic CS8900A Crystal LAN MAC emulation from VICE and hooked it up to Apple II card device.
* Adds Ethernet networking support for Apple IIgs.
2020-08-31 11:22:32 +10:00
Vas Crabb
97a409b2a9 formats/flopimg.cpp: Use appropriate standard exceptions for reporting errors, allowing libemu to be removed from imgtool and floptool. 2020-08-30 17:22:17 +10:00
Nigel Barnes
471781f99a bus/bbc/userport: Added the Sprow LCD Display. 2020-08-27 19:47:53 +01:00
couriersud
0aa5aea84f netlist: Fix various issues around include directories.
* removed include directory src/lib/netlist from various genie files to
avoid potential issues.
* Code using netlist should use #include "netlist/*".
* Updated includes.
* Fixed standalone makefile depend target to properly deal with relative
paths.
2020-08-25 19:41:32 +02:00
Nigel Barnes
2027f49eb3 bus/electron: Added the P.R.E.S. AP1/AP6 and First Byte Printer Interface devices. 2020-08-23 22:15:36 +01:00
Nigel Barnes
fc785cecbc bus/electron: Added the JAFA Mode 7 Display Unit. 2020-08-19 22:59:51 +01:00
arbee
9006bf69c1 apple2: added HAL Labs Gizmo digital joystick adapter [R. Belmont, Golden Child] 2020-08-16 14:59:44 -04:00
Ryan Holtz
e2231ddcd2 -atarittl: Added netlist for Tank. currently runs at about 0.005% of full speed, unsure why. 2020-08-16 20:04:34 +02:00
Nigel Barnes
ea75086da7 bus/bbc/fdc: Added the Kenda Professional DMFS and Microware/UDM DDFS boards. 2020-08-16 16:14:07 +01:00
ajrhacker
90a55f779d
Merge pull request #7063 from belegdol/disable-obsolete-imgui-functions-consistently
Define IMGUI_DISABLE_OBSOLETE_FUNCTIONS consistently
2020-08-12 15:00:54 -04:00
couriersud
87b702b31f netlist: more include untangling.
* nl_base.h now basically only includes files from core.
* all headers in core compile on their own.
2020-08-12 20:17:10 +02:00
Julian Sikorski
65b0df8761
Fix non-x86 build and try to make sure it does not break silently again (#7041)
* Do not build x64 DRC backend when C backend is forced
* New CI target (mametiny + kinst)
* Switch travis to CI target
* Switch appveyor to CI target
2020-08-12 12:54:22 -04:00
Julian Sikorski
1096db17b6 Define IMGUI_DISABLE_OBSOLETE_FUNCTIONS consistently
IMGUI_DISABLE_OBSOLETE_FUNCTIONS was defined in osd/modules.lua but not
in 3rdparty.lua. As a result, two different variants of struct ImGuiIO
were being defined, causing a C++ One Definition Rule violation
2020-08-12 18:22:59 +02:00
hap
138a281c6c odyssey2: add preliminary Videopac+ C7420 Home Computer Module emulation 2020-08-12 14:41:56 +02:00
hap
19f596c3ad untangle bus/odyssey2/rom.cpp 2020-08-12 00:20:49 +02:00
hap
9baaf19580 odyssey2: add support for 16KB bankswitched roms 2020-08-11 22:43:18 +02:00
Vas Crabb
2a342ec7c9 cpu/nec: use anonymous namespaces to avoid ODR violations with enums 2020-08-11 16:57:47 +10:00
couriersud
9809a7b991 netlist: align naming of files within the macro folder.
* Use a consistent naming scheme. This is a preparational step towards
improved parsing performance.
2020-08-10 18:31:34 +02:00
couriersud
923de88abb netlist: more header file separation 2020-08-08 20:10:12 +02:00
arbee
6fe3a9fa7c apple2: Added support for the CMS SCSI II Card [R. Belmont, Apple II Documentation Project] 2020-08-08 12:56:58 -04:00
Ryan Holtz
e404f347c6 -fireone: Committed netlist for couriersud to have a look at. 2020-08-06 20:16:22 +02:00
Justin Kerk
d2b7643753 netlist: Better fixes for Emscripten (#7031)
Silence indentation warning in 3rdparty/ under Emscripten (#7031)
2020-08-04 23:53:52 -07:00
Justin Kerk
2dd0985999 netlist: Fix build under Emscripten (#7031)
netlist: Fix crash under Emscripten by disabling aligned optimizations
2020-08-05 05:58:14 +00:00
hap
8aa4963218 odyssey2: add support for 4in1 cartridge 2020-08-03 02:51:42 +02:00
fulivi
206767bf56
hp9825: hp98036 serial I/O module added (#7024) 2020-08-01 12:35:59 -04:00
Aaron Giles
9414a219a9 netlist: Added CD4017/4022 devices.
* Also contains squashed clang signedness fixes
2020-08-01 18:27:21 +02:00
Aaron Giles
c0ecd68341 netlist: Device refactoring
* Move DIPs for 82S16, 82S115, and 2102A devices into nlm_proms
* Moved 7448 DIP to a macro. Replaced 7442 with truthtable and macro.
* Moved 74LS629 DIP into macro.
* Expand truthtable to handle 10 outputs.
2020-08-01 18:27:17 +02:00
couriersud
c7359e0aea netlist: Fix an issue during proxy hookup.
* Add cd4053 to netlist.lua
* Recreated nld_devinc.h
2020-07-28 20:44:07 +02:00
AJR
ff5144809c sigmab98.cpp: Change CPU to new KC82-derived type for Sigma/Banpresto games
* dashhero: Add back NVRAM (and more of it) now that memory map has been corrected

* getbass: Add KL5C80A16 I/O CPU to configuration
2020-07-27 22:25:18 -04:00
AJR
4aae75d753 kl5c80a12: Emulate interrupt controller 2020-07-27 14:22:58 -04:00
fulivi
943fc34f39
HP IPC: support for I/O slots and 82919 serial card added (#7001)
* mc68681: tx/rx clocking from timer fixed, added partial support for
break signal

* hp_ipc: support for I/O slots added, 82919 serial I/O card added
2020-07-27 14:12:05 -04:00
couriersud
494690081b netlist: separate nl_base.h into separate header files.
* This clean-up exercise will hopefully make it easier to navigate the
core code. Another long term goal is to further straighten the object
model.
2020-07-25 14:47:22 +02:00
MetalliC
cd02b2f1fd bus/spectrum: add common printer interfaces: ZX Lprint, ZX Lprint III, Kempston Centronics E Interface ('flat' and 'upright' models) 2020-07-25 02:59:28 +03:00
hap
b44810404e added Hughes HLCD 0438 LCD Driver device 2020-07-24 13:31:36 +02:00
Nigel Barnes
de637b8dbb bus/bbc/1mhzbus: Added the Torch Hard Disc Pack. 2020-07-22 12:06:43 +01:00
Dirk Best
8a21783e19 centronics: Add SAMDAC device 2020-07-20 19:22:38 +02:00
Dirk Best
f5ded52474 samcoupe: Add support for the S D IDE Adapter 2020-07-20 13:17:46 +02:00
AJR
9e23d2184a Add ACB-2072 BIOS dumps and skeleton device [rfka01, minuszerodegrees.net] 2020-07-18 20:12:03 -04:00
68bit
bd0b4d9dd0
New WORKING machines
New WORKING machines
--------------------------
Motorola M6800 EXORciser (M68SDT) [68bit]
2020-07-18 08:12:28 -04:00
MetalliC
896a982d1b spectrum: implemented Swift Disc and Swift Disc II interfaces 2020-07-17 00:50:06 +03:00
cam900
e07a7f19b5
Implement FDS sound emulation (#6953)
* Implement FDS sound emulation
2020-07-14 16:56:22 -04:00
MetalliC
fd8088de83 spectrum: add "SDI" VC1541 disk interface (not working), Logitek Proceed1 notes. 2020-07-14 19:24:14 +03:00
Nigel Barnes
d6cbfb3814 bus/bbc/userport: Renamed palette.h->palext.h 2020-07-13 14:34:32 +01:00
Dirk Best
4d89de93c0 samcoupe: Rework driver (WIP)
- Rewrite memory system, now allows supporting expansion devices and better prepared for contention emulation
- Add expansion interfaces for rear expansion, drive ports and mouse
- Now supports the following rear expansion devices:
  * Blue Alpha Sound Sampler
  * Dallas Clock
  * 1 Mb Interface
  * SAMBUS 4-slot Expansion Interface (with clock)
  * SID Interface (6581 and 8580 variants)
  * S.P.I. SAM Parallel Interface
  * Voicebox
- Added support for the Atom HDD interface, used in place of a floppy drive
- Simplified and cleaned up driver
- Temporarily deactivated joystick code, interferes with the keyboard
2020-07-13 11:22:13 +02:00
MetalliC
97042aa7f9 spectrum: add Logitek Proceed 1 C1541 disk interface (not fully working yet) 2020-07-12 22:58:58 +03:00
Ryan Holtz
68f6988509 -midzeus: Moved some Zeus2-specific members into the appropriate subclass, and added more state registration. [Ryan Holtz]
-tsb12lv01a: Added a skeleton device for the TI TSB12LV01A IEEE 1394 link-layer controller. [Ryan Holtz]

-ibm21s850: Added a skeleton device for the iBM 21S850 IEEE 1394 PHY controller. [Ryan Holtz]
2020-07-11 21:21:08 +02:00
MetalliC
fb7f6b7841 spectrum: implemented Speccy-DOS and FloppyOne DOS interfaces, add "IC-DOS" Beta Plus clone 2020-07-11 17:34:41 +03:00
68bit
5972474a21
New machines added as WORKING
New machines added as WORKING
---
Motorola EXORterm 155 [68bit]
2020-07-10 15:41:52 -04:00
Aaron Giles
a6239d582b netlist: Add 74113 device. 2020-07-10 20:04:17 +02:00
AJR
cff37cc7ee Remove x86emit.h 2020-07-10 09:21:14 -04:00
fulivi
729b27d7c1
hp_ipc: added beeper (#6893) 2020-07-02 14:04:21 -04:00
68bit
d5187fe74c MDOS disk format support
Motorola DOS, used on the EXORciser etc.
2020-07-03 00:16:35 +10:00
couriersud
319be2dfd2 netlist: code maintenance and bug fixes.
* palloc.h/pmatrix2d.h: Fix static_assert warnings at the origin.
* Rework hints to broaden their use and fix NC hint.
* 74377: use NC hint
* plists.h: Fix debugging in MSVC
* Include cleanup: Move everything not needed by netlists from
nl_setup.h into core/setup.h
* Fix some clang tidy warnings
* srcclean
2020-07-01 20:59:04 +02:00
MetalliC
2a2a45c024 spectrum: implemented Kempston Disc Interface 2020-07-01 19:47:53 +03:00
Vas Crabb
802de3995d Slotified Mac 128k/512k/512ke/Plus keyboard port.
Available keyboards are us (M0110, U.S.), gb (M0110B, British), fr
(M0110F, French), pad (M0120F, numeric keypad with passthrough port)
and plus (M0110A, U.S. with integrated numeric keypad).  The mac128k,
mac512k and mac512ke drivers default to the numeric keypad with the
U.S. keyboard connected to the passthrough port; the macplus driver
defaults to the U.S. keyboard with integrated numeric keypad.

Note that the numeric keypad may seem strange.  Four of the operators
work as cursor arrows if you don't hold shift.  There is a comma on one
of the keys, but by the time System 6 was released, Apple had decided
an equals sign was more useful, so that's what it will produces on
newer system versions.  The U.S. keyboard with integrated numeric
keypad emulates these aspects of the stand-alone keypad - pressing the
operator keys on the keypad sends fake shit key down/up events, and
using the arrow keys while holding shift will produces operator
characters rather than selecting text.

The ISO layout keyboards (M0110B and M0110F) produce different scan
codes to the ANSI keyboards (M0110 and M0110A) but they don't report a
different identification byte.  To use an ISO keyboard, you must open
the Keyboard control panel and change the layout to International (and
change it back to Domestic if you switch back to an ANSI keyboard).

This doesn't actually work at the moment due to issues with 6522 VIA
emulation, but it will work with macplus sys603 if applied on top of
revision 963a2c166d.
-----------------------------------------------------------------------
2020-07-01 02:37:55 +10:00
AJR
040c88bf1d New machines marked as NOT_WORKING
----------------------------------
Korg WaveStation EX [DBWBP]
Korg WaveStation A/D [DBWBP]
Korg WaveStation SR [DBWBP]

-Add H16 disassembler and skeleton HD641016 CPU device [AJR]
2020-06-28 20:03:13 -04:00
Julian Sikorski
a8bd59055e Only build asmjit on x86 and x86_64 2020-06-27 15:42:47 +02:00
Ryan Holtz
5b115c6fd3 -zaurus: Added skeleton Intel SA-1110 device. Added proper OS dumps for the SL-5500. [Ryan Holtz, O. Galibert] 2020-06-22 22:47:03 +02:00
MetalliC
fc7f76dc12 this format was redundant (nw) 2020-06-22 12:43:34 +03:00
AJR
562cb2139f New machines marked as NOT_WORKING
----------------------------------
Kawai KSP10 Digital Piano [DBWBP]
2020-06-21 20:41:49 -04:00
Vas Crabb
01661be41c srcclean and cleanup (nw) 2020-06-21 14:59:50 +10:00
MetalliC
5c3f020bf8 spectrum.cpp: add Didaktik D40/D80 disk interface 2020-06-21 01:51:11 +03:00
Ryan Holtz
9cc98f0b62 -bgfx: Corrected a data overrun in the d3d12 backend from allocating only enough texture data for width*height, not rowpixels*height. [Ryan Holtz] 2020-06-20 15:37:14 +02:00
AJR
5b502b74c5 Correct cycle counts for TLCS-900/H CPU core; prepare to add support for original TLCS-900 devices 2020-06-19 23:51:50 -04:00
AJR
9c36794ded tlcs900: Split derived types into separate files; no need for separate 8-bit and 16-bit maps now (nw) 2020-06-18 18:15:41 -04:00
AJR
45850cd0be Fix OS X build on older Xcode versions (nw) 2020-06-18 11:17:37 -04:00
Nigel Barnes
19437e461e bus/bbc/fdc: Added Solidisk DDFS Issues 1/2 and DFDC disk controller boards. 2020-06-15 17:12:06 +01:00
couriersud
e949e9c29d netlist: Performance improvement and refactoring. [Couriersud]
Kidniki now achieves up to 910% when run with static solvers and with
nltool. That is significant better than the 860% we have seen
previously.

This increase is driven by using a global memory pool in the solver
code.

In addition the following refactoring and code maintenance work is
included. Please excuse the large commit, some of this took interfered
with other work and the detail development steps were ugly.

- gsl support: This commit adds pgsl.h which implements a very limited
  number of the functionality of the gsl header described in the c++ core
  guidelines.
- clang-tidy fixes
- A significant refactoring of palloc.h. Aligned hints were removed,
  they added complexity without a significant performance gain. Vector
  operations should better be done on special spans/views.

The code has been tested on linux with g++-7, g++-9, clang-11.
On Windows mingw-10 and VS2019, OSX clang-11.
2020-06-13 15:49:35 +02:00
AJR
18f663e49b Fix OS X build with Xcode 7 (nw) 2020-06-12 18:22:15 -04:00
Patrick Mackinlay
19214dd8e6 asmjist: sync with upstream (nw) 2020-06-12 11:55:10 +07:00
Olivier Galibert
1edc4eb359 pic1670: Add a disassembler [O. Galibert] 2020-06-11 23:14:04 +02:00
Sandro Ronco
cdb5ca42c6 Hyperscan updates: [Sandro Ronco]
- Added emulation of the SPG290 CDServo
- Added joypad inputs
- Added RFID card support
- Split SPG290 PPU, Timers and I2C into separate devices
- Added a softlist for the RFID cards
2020-06-11 19:54:45 +02:00
AJR
763ee4e215 tti: Convert driver to QBUS device (qts1) 2020-06-07 14:40:02 -04:00
Andrew Green
77cf3b0413
Support Colecovision Megacart. (#6788)
* Support Colecovision Megacart.
Assume that a rom file that is more than 32K in size is a megacart
and that it should be bankswitched using Megacart protocol.

* Put megacart functionality in its own cartridge type.
2020-06-05 00:15:58 +02:00
AJR
f84e4d036b New machines marked as NOT_WORKING
----------------------------------
Novation BassStation Rack Analogue Synthesizer Module [DBWBP]
Novation Drum Station [DBWBP]
Novation Super Bass Station [DBWBP]

Add disassembler and skeleton CPU device for Panasonic MN1880 architecture [AJR]
2020-06-04 16:21:46 -04:00
hap
7bff87f979 msx: add matra ink cartridge (nw) 2020-06-04 15:09:51 +02:00
David Haywood
4f7c1a03ed
prepare SunPlus rendering code for sharing between SPG2xx and GPL16250 (nw) (#6780) 2020-06-02 14:10:17 -04:00
couriersud
3fd176a7a6 netlist: device factory enhancements. (nw)
Factory elements can now pass additional parameters to device
constructors. This makes the design of interface objects like analog
callbacks easier.

The change also allowed to remove some "deep" calls into the core from
the MAME interface in netlist.h
2020-06-01 19:59:52 +02:00
AJR
d423a96969 Revert "Fix Mac Clang build (nw)"
This reverts commit e84a738432. The problem this addresses was fixed in bc0c1b74c7.
2020-05-31 11:40:20 -04:00
R. Belmont
e84a738432
Fix Mac Clang build (nw) 2020-05-30 17:00:56 -04:00
R. Belmont
531b2fd3ba
Merge pull request #6756 from pmackinlay/asmjit
asmjit: new 3rdparty library
2020-05-30 12:57:14 -04:00
AJR
0b345e7bb6 New machines marked as NOT_WORKING
----------------------------------
JoMoX XBase 09 Midi Controlled Analogue Drum Module [DBWBP]

Add disassembler for PIC17 family and preliminary PIC17C4X emulation [AJR]
2020-05-29 16:32:11 -04:00
Patrick Mackinlay
45615b7f4b asmjit: new 3rdparty library 2020-05-28 20:24:40 +07:00
Sergey Svishchev
963e16d63c Add MM58174 real time clock and use it (nw) 2020-05-26 21:31:20 +03:00
couriersud
10e4f10d41 netlist: split plists.h and fix nvcc compile for 10.2 (nw)
plists.h was splitted into plists.h, pmulti_threading.h and
ptimed_queue.h. In addition removed plists.h from a number of files it
wasn't used in.

Certain minor adjustment needed to be made for cuda toolkit 10.1 and
10.2.
2020-05-25 23:57:49 +02:00
AJR
0fa6e7eb86 Debugger expression and memory access overhaul
- Memory references in expressions no longer default to the console's visible CPU if no device name was specified, except when entered through the console itself. Expressions in view windows now use the context of the currently selected device instead.
- The pcatmem debug command and similar qt mouseover function now produce an error message if the initial address translation fails.

Related internal changes (nw)
- The debugger_cpu class no longer interprets memory accesses. The existing routines have been moved into symbol_table (which used to invoke them as callbacks), and reimplemented in most other places. Thecode duplication is a bit messy, but could be potentially improved in the future with new utility classes.
- The cheat engine no longer needs to hook into the debugger_cpu class or instantiate a dummy instance of it.
- The inclusion of debug/express.h within emu.h has been undone. Some debugging structures now need unique_ptr to wrap the resulting incomplete classes; hopefully the performance impact of this is negligible. Another direct consequence is that the breakpoint, watchpoint and registerpoint classes are no longer inside device_debug and have their own source file.
- The breakpoint list is now a std::multimap, using the addresses as keys to hopefully expedite lookup.
- The visible CPU pointer has been removed from the debugger_cpu class, being now considered a property of the console instead.
- Many minor bits of code have been simplified.
2020-05-25 11:15:39 -04:00
Olivier Galibert
22513fb6fe emumem: A little more speedup. cache and specific change syntax, and are not pointers anymore [O. Galibert]
The last(?) two changes are:

- Add a template parameter to everything (theoretically the address
  space width, in practice a level derived from it to keep as much
  compatibility between widths as possible) so that the shift size
  becomes a constant.

- Change the syntax of declaring and initializing the caches and
  specifics so that they're embedded in the owner device.  Solves
  lifetime issues and also removes one indirection (looking up the base
  dispatch pointer through the cache/specific pointer).
2020-05-25 16:42:57 +02:00
couriersud
de615ac138 netlist: move penum into own header file. (nw) 2020-05-24 10:48:06 +02:00
arbee
1c684902e2 apple2: introduce new accurate IWM controller and switch apple2cr1/3/4 to use it [O. Galibert, R. Belmont] 2020-05-23 19:28:13 -04:00
Sergey Svishchev
9a3245009e pdp11: qbus skeleton, pc11 2020-05-23 12:35:22 +03:00
couriersud
6141fa4a9c netlist: Fix performance issues and VC2019. [Couriersud]
For reasons unknown to me compile optimizations do not behave for
template code. If the implementation is in separate compile units, the
code compiles and performs.
2020-05-22 01:15:18 +02:00
couriersud
5a43cc6432 netlist: consolidate 9316-type counters. [Couriersud]
This needs more attention since for certain compilers there is a
considerable performance degregation. It looks like this is only
triggered if too many variants are declared in one cpp file and the
compiler stops inlining.
2020-05-22 01:15:18 +02:00
tim lindner
eb2db91c65
IMGTOOL: Added Dragon DOS module [tlindner] 2020-05-17 12:04:31 -04:00
couriersud
7d4bb358c8 netlist: Fix cd4013 implementation and include it in compile. (nw) 2020-05-17 02:08:51 +02:00
couriersud
7035821f87 netlist: rewrite rom devices from scratch. [Couriersud]
Thanks to Aaron Giles who made me think about a different approach.

This is a rewrite from scratch for rom devices. It uses a generic
template to implement rom devices which is used together with a
description struct to define a rom device. This leads to highly
efficient code since all information is available at compile time.

This is also a step forward to support tristate outputs. All rom devices
covered by this approach have tristate or open collector outputs and
thus all code changes to support tristate outputs can now be made
consistently in one file.
2020-05-17 01:34:16 +02:00
Ryan Holtz
4feb71b0a7 -unsp: Added DIVQ and extended BIT_OP opcodes. [Ryan Holtz] 2020-05-16 20:50:15 +02:00
Aaron Giles
5739043ced netlist: Add 74377/74378/74379 devices to netlist. [Aaron Giles] 2020-05-15 13:10:15 +02:00
couriersud
88edd7c665 netlist: code cleanup and development stage tristate [Couriersud]
Code cleanup to better separate the following stages:

- parsing
- setup
- run

In addition preliminary native tristate support was added. Not yet
production ready, please don't use it.
2020-05-15 13:09:22 +02:00
hap
97879948c2 6801: remove hack, the real cause of adam locking up at boot was fixed recently with TCSR_OCF clear (nw) 2020-05-09 16:45:45 +02:00
hap
623dc28919 Machines promoted to working
----------------------------
Monty Plays Scrabble [hap]
Master Monty [hap]
2020-05-08 21:39:17 +02:00
tim lindner
2dfb819208
CoCo: Added Disto RAM cartridge (#6664)
* adding disto ram cart

* logging update

* minor change stil no worky

* DSTOTEST.BIN passed tests.
2020-05-08 06:32:30 -04:00
couriersud
b2c40086e6 netlist: Add two noise sources. [Couriersud]
The two sources act as voltage sources, though noise may also be
injected as conductivy or current noise.

SYS_NOISE_MT_U: Mersenne Twister uniform noise
SYS_NOISE_MT_N: Mersenne Twister normal noise

nld_sys_noise is templated:

	using NETLIB_NAME(sys_noise_mt_u) =
		NETLIB_NAME(sys_noise)<plib::mt19937_64,
plib::uniform_distribution_t>;

Thus the approach is scalable. The implementation is state save aware,
and thus reproducible results are guaranteed.

An example use case is provided as well, see examples/noise.cpp.
2020-05-03 17:23:50 +02:00
Ryan Holtz
e9ea36bf28 -am2901b: Added a skeleton device for the AMD Am2901B 4-bit Bipolar Microprocessor Slice. [Ryan Holtz] 2020-05-02 11:29:45 +02:00
David Haywood
a17d577403
Plug and Play work (#6609)
* new WORKING machines
Millennium M505 Arcade Neo Portable Spielkonsole (Family Sport 100-in-1) [TeamEurope]

* new NOT WORKING software list entries
tvgogo.xml : Baseball (US) [Sean Riddle, David Haywood]
tvgogo.xml : What-A-Mole (US) [Sean Riddle, David Haywood]

* added internal NAND dump to didj [Sean Riddle, Clawgrip]
2020-05-01 13:39:42 -04:00
couriersud
9dd0b48b3e netlist: add 393 to netlist.lua (nw) 2020-05-01 10:23:08 +02:00
couriersud
13f6e92cec netlist: Add the NE566 as a macro device. [Couriersud]
The device can be found in nlm_other.cpp.
Removed nld_ne566.*
Added SYS_SW, SYS_SW2 and SYS_COMP. These are single switch,
alternating switch and a analog comparator with digital outputs.
Renamed RES_SWITCH to SYS_SW.
Added example ne566.cpp in netlist/examples.
2020-05-01 10:04:22 +02:00
AJR
9556e3a5bd New working machines
--------------------
MDT 60 Video Display Terminal [Bitsavers, AJR]

z29: Add skeleton for undumped keyboard; try (and fail) to make this work with the MDT 60 keyboard instead

z22: Separate driver (nw)
2020-04-29 11:16:14 -04:00
couriersud
184c198a88 Fixed indenting in netlist.lua. (nw) 2020-04-29 16:00:35 +02:00
couriersud
c782a0ef33 netlist: add NE566 to netlist.lua. (nw) 2020-04-29 14:38:58 +02:00
Vas Crabb
01a4fbef4f
Merge release0221 into master (nw) 2020-04-29 02:17:12 +10:00
Vas Crabb
63a6b19c4a whitespace cleanup (nw) 2020-04-27 18:17:35 +10:00
usernameak
ee76fc0337
Heavily improved emulation of GRiD Compass 1101 (#6599)
Changes:

- added known dump checksums of 1101 BIOS
- high-level emulation of GPIB disk devices
- partial implementation of DMA (currently ignores ACCRQ so devices must have zero latency in order for it to work)
- serial is now properly memory-mapped
- modem stub in order to make system properly ignore modem device
- it now boots without any patches and debug scripts
- merged #6597 (needed in order to make disk devices work)

Still not implemented:

- RTC/MACHINE_ID
- modem
- has problems with multiple disk devices working simultaneously (possibly BIOS bug because this BIOS had some problems with that on real device)
2020-04-26 18:05:40 -04:00
Vas Crabb
8a923f9361 srcclean and manual cleanup (nw) 2020-04-26 12:04:54 +10:00
smf-
90cdeaad89 fixed stray character (nw) 2020-04-25 21:01:00 +01:00
smf-
ad819a3243 appease vs2019_clang with llvm 10.0 2020-04-25 20:52:35 +01:00
smf-
42e8d29742 unbreak vs2019 after 822e051896 (nw) 2020-04-25 03:40:45 +01:00
smf-
822e051896 fixes for clang 10.0.0 misleading indentation and xor used as a pow warnings (nw) 2020-04-23 17:04:29 +01:00
npwoods
7610231242
Refactoring of AVI/MNG recording code (#6537)
* Initial refactor of AVI/MNG movie recording, consolidation of copy and paste
code, hiding of AVI/MNG behind interfaces

* Extracted recording specific code out of src/emu/video.cpp and put into
src/emu/recording.cpp

* Took the opportunity to move slightly more logic out of video.cpp into
recording.cpp

* Bug fix

* Consolidated frame counting logic
2020-04-22 19:00:30 -04:00
couriersud
0054862e3c netlist: compile time improvement and code maintenance. (nw)
Added a define NL_USE_ACADEMIC_SOLVERS and disabled it in the build.
This will not compile in solvers which are either illustrative or only
perform for large sparse matrices like GMRES.
2020-04-19 16:08:43 +02:00
couriersud
7c96a897dc main.lua: fix linking order of netlist. (nw)
Moved netlist between dasm and utils,expat,... link statements
This fixes the resolution of symbols in netlist code which may be used
in machine/netlist.cpp.
Change tested on ubuntu, windows and macosx.
2020-04-18 15:40:35 +02:00
Michael Zapf
efeddba15b bq48xx: Adding Benchmarq RTC chip emulations. 2020-04-14 23:58:11 +02:00
couriersud
5b6013caea netlist: improve performance up to 65% on audio netlists. [Couriersud]
This commit introduces precompiled static solver code. Due to
additional optimizations the compiler can use because the detail
calculation steps for the solution are known e.g. the kidniki netlist
sees a 100% speed increase.

In all environments (windows/*nix/osx) the source for the static
solver code can be created using
	bash src/lib/netlist/nl_create_mame_solvers.sh

This will create src/lib/netlist/generated/static_solvers.cpp which is
compiled into the mame binary.
The script is just a temporary workaround. The intention is that nltool
whill be able to create this file with one call.

There are other improvements in this commit speeding up the processing
of timestep and dynamic calculations.
2020-04-13 21:32:00 +02:00
Vas Crabb
af82c0eca8 util: re-implement SHA-1 and get rid of the two third-party implementations (nw) 2020-04-13 06:16:03 +10:00
hap
1c728274e9 microvsn: move lcd chip emulation to device (nw) 2020-04-12 15:37:21 +02:00
cracyc
fdeca033d8 nec: 8080 mode [Carl] 2020-04-11 21:37:54 -05:00
hap
d708a86325 added Philips PCF2100 LCD Driver (nw) 2020-04-10 15:33:13 +02:00
Michael Zapf
4ef6a1d594 ti99: Add PGRAM card; fixed IDE adapter card. 2020-04-10 00:00:08 +02:00
AJR
2d68e6dae9 m3002: New device 2020-04-07 19:39:17 -04:00
AJR
f47877cfd1 pasopia, pasopia2: PAC2 overhaul
- PAC2 is now a separate bus with slot devices
- Kanji ROM and RAM PAC2 expansions are no longer built into pasopia7, but may be configured as slot options
- RAM PAC2 expansion made nonvolatile and provided in multiple sizes
- Two PAC2 slots added to pasopia
2020-04-06 21:20:01 -04:00
hap
7a86e1910e 6800ops: unneeded workaround? (nw) 2020-04-06 19:30:03 +02:00
Michael Zapf
c5b838bc2c Add octal registered transceiver 74543 2020-04-06 13:39:34 +02:00
Robbbert
b5e08ae5e8 H8: added support for H8T tapes. 2020-04-06 01:37:05 +10:00
AJR
9abc6733ba Add H8/500 disassembler and skeleton CPU device family
alesis_qs.cpp: Document XTALs; replace legacy MCFG in comments (nw)

picno.cpp: Replace legacy MCFG in comments (nw)
2020-04-04 17:21:59 -04:00
cam900
6aef7adadd
Split S-SMP and S-DSP implement in snes_snd.cpp (#6417)
* Split S-SMP and S-DSP implement in snes_snd.cpp
both convert memory handler into device_memory_interface, Internalize ROM region of S-SMP
s_smp.cpp : Use callback for S-DSP interface, Split internal and external memory space
snes.cpp : Convert WRAM into shared_ptr

* s_dsp.cpp : Reduce #define macros
2020-04-04 08:59:50 -04:00
Olivier Galibert
6e7fe63f60 upd177x disassembler [O. Galibert] 2020-04-04 12:42:48 +02:00
hap
ceabc2c798 cpu/alph8201 can be removed now (nw) 2020-04-03 21:58:40 +02:00
Patrick Mackinlay
5693fa0691 cxd1185: new device 2020-03-29 18:21:11 +07:00
Olivier Galibert
d35c3977c9 unidasm: Add pic16 generic disassembler with extended instructions [O. Galibert] 2020-03-28 19:45:41 +01:00
AJR
6c6a55d5bb upd7001: New device
ssv.cpp: Split state class up a bit (nw)
2020-03-28 12:05:15 -04:00
arbee
8434fd6213 Added ICM7170 real-time clock device. [R. Belmont] 2020-03-22 21:01:59 -04:00
Nigel Barnes
24579647dc bus/bbc/1mhzbus: Added PEDL Multiform Z80. 2020-03-22 02:26:12 +00:00
Vas Crabb
bdd2a33776 compile in the contents of the COPYING file for the about box - safer than assuming it will be in the working directory. no attempt at compressing it for now (nw) 2020-03-22 00:03:07 +11:00
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
hap
ed0202220a screenless: make it a device (nw) 2019-06-14 17:45:53 +02:00
AJR
e49e75c122 Add device emulation for MM5307 Baud Rate Generator 2019-06-14 00:32:55 -04:00
AJR
7e54e1263b apple2, apple2e, apple2gs: Generic emulation of Game I/O connector. Joysticks are now slot devices.
mbc55x: Add Game I/O port
2019-06-10 16:34:44 -04:00
mooglyguy
8689ada5a3 -am2910: Added prelminary, largely-untested Am2910 Microprogram Controller device emulation. [Ryan Holtz]
-dpb7000: Initial pass at Disk Sequencer Card emulation. Needs debugging. [Ryan Holtz, Mark Nias]
2019-06-05 04:41:21 +02:00
feos
aa1875694d fix vsllvm configuration
- dxsdk was missing from includes
- winmm was missing from libs
- narrowing warning was silenced for VS, but not from vsllvm, where it leads to an error in menu_video_options::handle()
2019-06-03 14:29:01 +03:00
hap
0a213f860c chessmachine: device was in wrong folder and forgot to update compile script (nw) 2019-06-01 14:53:14 +02:00
hap
22b7b3f4de added shared chessmachine device for Mephisto risc, chessmachine EC, chessmachine DR (nw) 2019-06-01 13:16:29 +02:00
Patrick Mackinlay
d00c294732 hle_mouse: high-level emulation of PS/2 mouse 2019-05-31 16:01:54 +07:00
AJR
84b924a1f7 Revert "-Removed sbus and gio64 buses..."
This reverts commit 3207d504fe.
2019-05-29 16:08:47 -04:00
MooglyGuy
3207d504fe -Removed sbus and gio64 buses since they aren't up to his majesty AJR's bar of quality, nw 2019-05-29 19:15:27 +02:00
tyfighter
78d3026f86 SGI GIO rename to GIO64 (#5125)
-gio: Renamed GIO slot device implementation to GIO64, nw
2019-05-29 01:44:58 +02:00
Dirk Best
244b03bb52 New device: UPD7004 ADC 2019-05-28 09:48:59 +02:00
hap
93060c917e New NOT_WORKING software list additions
---------------------------------------
ibm5170: The ChessMachine (Installer V3.0) [hap]
ibm5170: The ChessMachine (Installer V2.2) [hap]
2019-05-27 19:19:59 +02:00
fulivi
41c456c3a6 Hp9845: added 98046 module emulation (#5115)
* hp9845: fixed handling of optional ROMs (nw)

* z80sio: massive enhancement to Z80 SIO driven by HP98046 test sw

* hp9845: implemented the HP98046 serial I/O module
2019-05-26 12:00:33 -04:00
Vas Crabb
626b566fee srcclean (nw) 2019-05-26 13:10:03 +10:00
AJR
6f91e0a2f4 Preliminary emulation of ASC-88 SCSI adapter [AJR, minuszerodegrees.net] 2019-05-22 20:39:13 -04:00
AJR
6fff18773b i386: Improve splitting of unaligned accesses (excluding program fetches)
(nw) This entails a major code reorganization just to keep the scale of it all halfway sane.
2019-05-19 17:41:50 -04:00
AJR
d1e1e830d7 Add dumps of Atari 800 floppy controller ROMs [Atari Age]
bus/a2sio: Skeleton device work, fleshing out interface (nw)
2019-05-17 01:14:09 -04:00
Kiall Mac Innes
16bbe847ef Disable WII Lightgun hack by default (#5056) 2019-05-14 16:55:59 -04:00
grullosgo
aff42a9969 Add DS1994 device (#5054)
Add DS1994 device
amaticmg driver: added ds1994 device, modified prom load, added ds1994 to romload
2019-05-14 16:07:02 -04:00
Curt Coder
e25255a525 c64: Added skeleton for BusCard II cartridge. [Curt Coder] 2019-05-13 20:49:35 +03:00
hap
582b9e279f c64: added mouse controller (nw) 2019-05-13 19:12:23 +02:00
Nigel Barnes
5f68641241 bbc: Implemented PMS Genie ROM device. 2019-05-12 16:10:39 +01:00
Nigel Barnes
037714e412 bbc: Added ATPL AutoPrommer and User Port Splitter devices. 2019-05-11 18:42:27 +01:00
Nigel Barnes
e0f9fdf1f8 dragon.cpp: Added Premier Sprites board. 2019-05-11 18:42:27 +01:00
David Haywood
de235f4623 allow smartfp to show.. something (nw) (#5030)
* smartfp generate an interrupt, add a palette (nw)

* video registers look a lot like the spg220 hw here (nw)

* getting ready to split into video (nw)

* code shuffle (nw)

* shuffle (nw)

* (nw)

* (nw)

* (nw)
2019-05-10 20:23:34 -04:00
AJR
610897fd38 Preliminary emulation of T6963C and related LCD controllers 2019-05-06 20:27:20 -04:00
AJR
d3132cc13b Add AIC-565 device 2019-05-06 00:24:11 -04:00
Curt Coder
73f372e55d abc80: Added skeleton for Owoco Super Smartaid. [Curt Coder, Anders Sandahl] 2019-05-05 16:39:34 +03:00
Curt Coder
8050b0c466 c64: Added skeleton for BusCard cartridge. [Curt Coder] 2019-05-05 16:39:34 +03:00
mooglyguy
d64b1781d7 -gio: Added basic SGI GIO slot device support to the Indy and Indigo 2 drivers. [Ryan Holtz]
-newport: Converted to GIO slot device and added 8-bit XL and 24-bit XL board support. [Ryan Holtz]
2019-05-05 14:59:09 +02:00
David Haywood
f8656d9246 TV Game Work (progress towards smartfp and wrlshunt) (#4956)
* unsp refactoring / tv game work (nw)

* unsp refactoring / tv game work (nw)

* srcclean (nw)

* more ops (nw)

* (nw)

* (nw)

* guesses (nw)

* more guesses (nw)

* (nw)
2019-04-30 19:04:53 -04:00
Olivier Galibert
ea9cd8aea1 m680x0: gratuitously convert the generator to python [O. Galibert] 2019-04-29 22:04:15 +02:00
Olivier Galibert
0ce1c644e3 mu50: Enhance, add the swp00 [O. Galibert] 2019-04-28 14:52:20 +02:00
tim lindner
8a8fcba120 Fix OS-9 disk writing bug (#4925)
* Start fixing OS9 disk handling

* Got it working, now need to refine and test

* Almost complete. Doing more testing...

* Tested aginst a varient of sotware. Solved bug. Cleaned up tabs.

* Turned on sector interleaving in OS9_DSK and retested.
2019-04-26 12:12:01 -04:00
Kiall Mac Innes
489087f173 Enable Xinput by default
On Linux, enable Xinput support by default. The Xinput lightgun driver is the
only reliable+accurate method to use lightguns on Linux, we should enable this
by default to reduce the friction for Linux Lightgun users. This should have no
effect on users of Windows/Mac etc.
2019-04-21 12:48:51 -07:00
AJR
adeeb00143 machine.lua: Fix copy/paste mistake (nw) 2019-04-21 01:17:29 -04:00
AJR
9b3a449790 Add very preliminary Intel 82355 BMIC device 2019-04-21 00:35:59 -04:00
Vas Crabb
112062f7bb Add AMD/Plessey 2812 FIFO device (for WIP Star Rider driver) 2019-04-21 13:43:52 +10:00
AJR
06fc72cdcb Add skeleton devices for Tekram EISA SCSI contrllers [Metropoli BBS Archive, I-Shou University File Server] 2019-04-17 21:57:39 -04:00
AJR
cdd6766fe4 scc68070: Merge CPU device with on-chip peripheral emulation
- Add internal clock divider
- Add a few crude hacks to force status bits in unemulated UART and I2C
2019-04-17 15:41:23 -04:00
AJR
295d25cff0 Add skeleton device for UltraStor Ultra-24F EISA SCSI controller [Metropoli BBS Archive] 2019-04-14 21:19:50 -04:00
AJR
e01935498f Add skeleton device for UltraStor Ultra-14F SCSI controller [Metropoli BBS Archive] 2019-04-14 18:22:18 -04:00
DavidHaywood
a816cffe18 pull SunPlus GCM394 titles out of vii.cpp
- it's a newer SoC (with a lot more capabilities, eg rotate, zoom, twice the sound channels)
- it uses an updated unSP core (with some extra opcodes)

also made the modifications needed to allow for extension of the unSP + disassembler once we've worked out what the extra opcodes are.
2019-04-14 00:06:28 +01:00
Olivier Galibert
adc473b74d swp20, dspv: Skeletons [O. Galibert] 2019-04-09 08:53:40 +02:00
couriersud
8eb674abc0 Added nld_generic_models.h to netlist.lua. (nw) 2019-03-31 23:49:03 +02:00
cam900
80a48d5229 Add Namco 163 sound emulation (#4814)
* Add Namco 163 sound emulation

* namco_163.cpp : Typo

* namco_163.cpp : Fix spacing

* namco_163.h : Fix comment (nw)

* namco_163.cpp : Correct update behavior
device/bus/nes/namcot.* : Remove / Fix outdated comments

* namco_163.cpp : Remove unnecessary value (nw)

* namco_163.cpp : Add notes (nw)

* namco_163.cpp : inline'd sample function, Minor fix

* namco_163.cpp : Fix notes
2019-03-29 17:57:27 -04:00
David Haywood
9873d6afaa spg110: tweaks for jak_capb, improves rendering, identifies several things (#4816)
* spg110: jak_capb misc guesses (nw)

* misc priority stuff (nw)

* tweaks (nw)

* more tweaks (nw)

* small spg2xx refactor (nw)

* some spg2xx refactoring (nw)

* (nw)

* tidy (nw)

* these have all been moved out into modules (nw)

* sprite work in progress (nw)

* (nw)

* spg110: shift some stuff around and split into files here too

* (nw)

* (nw)

* (nw)

* sprite improvements
2019-03-27 22:40:35 -04:00
AJR
5cbbd0499f Add dumps and skeleton device for Ultra 12F ISA ESDI controller 2019-03-27 17:56:18 -04:00
Vas Crabb
97b6717027 (nw) Clean up the mess on master
This effectively reverts b380514764 and
c24473ddff, restoring the state at
598cd52272.

Before pushing, please check that what you're about to push is sane.
Check your local commit log and ensure there isn't anything out-of-place
before pushing to mainline.  When things like this happen, it wastes
everyone's time.  I really don't need this in a week when real work™ is
busting my balls and I'm behind where I want to be with preparing for
MAME release.
2019-03-26 11:13:37 +11:00
andreasnaive
b380514764 Revert "conflict resolution (nw)"
This reverts commit c24473ddff, reversing
changes made to 009cba4fb8.
2019-03-25 23:13:40 +01:00
ajrhacker
b4cfd4f501
Merge pull request #4811 from DavidHaywood/250319
SPG110 - use some SPG24X I/O handling to give inputs in Classic Arcade Pinball
2019-03-25 16:57:34 -04:00
couriersud
39a7c420b1 netlist: add MOSFET model. [Couriersud]
- added MOSFET model. Currently capacitances are not modelled.
  This is a 3-pin model (Bulk connected to Source) with provisions to
  extend it to 4-pin at a later stage.
- Add a capacitor generic model which is charge conserving.
  Switch netlist to use this model instead of constant capacity model.
- Start putting constants into a central place.

Please expect minor timing differences due to a different numerical
path.
The cmos inverter example illustrates the analog implementation of a
cmos inverter gate. These were used a lot back in the 70s/80s to
generate sinus waves. The model should also be able to better emulate
4066 analog switches.
The addition of a relatively simple capacitor model is planned at a
later stage.
Expect everything from the MOSFET model at the current stage. Wrong
results as well as convergence issues and crashes.
2019-03-25 21:45:37 +01:00
DavidHaywood
a500ebecb1 refactoring checkpoint (nw) 2019-03-25 16:31:10 +00:00
Nigel Barnes
9e122168ef ns32000: Skeleton CPU device with disassembler for NS32000 family.
bbc: Added preliminary Acorn 32016 2nd Processor, incomplete CPU emulation.
2019-03-23 11:55:09 +00:00
Olivier Galibert
b445d10135 ymmu100: Start adding the MEG [O. Galibert] 2019-03-23 12:09:54 +01:00
AJR
6b57e483d6 Add skeleton ISA device for Novell Disk Coprocessor Board [modem7, minuszerodegrees.net] 2019-03-22 21:57:13 -04:00
AJR
c3dc67c1fb Add skeleton AHA-1740 and AHA-1742A ISA devices 2019-03-22 19:12:08 -04:00
Nigel Barnes
60e30e44b3 spectrum: Added the Opus Discovery disc system, and OPD floppy format. 2019-03-22 19:24:13 +00:00
Ryan Holtz
5a09b0feb2 -astrocde: Slot-ified accessory port and added lightpen device. [Ryan Holtz] 2019-03-22 17:40:33 +01:00
AJR
44ea330991 Add AHA-1542A, AHA-1542B, and BIOS v1.02 of AHA-1542C ROMs from Adaptec 2019-03-18 23:13:07 -04:00
AJR
4f2da56718 aha1542: Add more ROMs, rename and split into three variants
- AHA-1542C [modem7, minuszerodegrees.net]
- AHA-1542CF v2.11 [Jolaes76, VOGONS Vintage Driver Library]
- AHA-1542CP [modem7, minuszerodegrees.net]
2019-03-17 22:57:52 -04:00
mooglyguy
b5c19e9fb2 -astrocade: Various changes. [Ryan Holtz]
* Removed inaccurate comment from astrocde.xml regarding the 2000-baud tape interface.
 * Converted astrohome controllers to slot devices.
 * Added preliminary (not yet working) 300-baud cassette tape slot device.
 * Changed potentiometer callbacks from tagged IO ports to devcb3.

-device: Added feature flag to indicate lack of, or support for, cassette. (nw)
2019-03-17 00:28:54 +01:00
yz70s
a81cb8469e i386: add a simple cache to the athlon xp processor (nw)
.
A single 64K 2-way set associative cache
Used for both instructions and data
Enabled only for addresses in the first megabyte
Works always in writeback mode
.
It is needed by the nforce motherboard bios that uses it to simulate a
block of ram at address d0000 before ddr ram is configured
2019-03-14 21:03:12 +01:00
Nigel Barnes
3a8fc3967b spectrum: Added the Cheetah SpecDrum device. 2019-03-14 14:01:32 +00:00
Nigel Barnes
596c68e755 spectrum: Added the Technology Research Beta 128 Disk Interface. 2019-03-14 12:07:50 +00:00
David Haywood
cb60e245dc SPG2XX - Make audio emulation a subdevice (#4757)
* SPG2XX - Make audio emulation a subdevice

(I need to reuse some of it for SPG110)

* these will end up in different places on spg110 so split the handler (nw)

* refactor a little for cleaner use later (nw)

* realign logging with function names (nw)

* (nw)

* (nw)

* recent change in audio_beat_tick appears to break "icanpian jjs" seems unintentional? (MG please verify)
also documented an existing suspicious use of 'channel' in code.

* use channel_bit here instead, seems more logical (nw)

* reorganize code here a bit too (nw)
2019-03-14 22:35:19 +11:00
AJR
8bb26b3bc0 Add skeleton BusLogic BT-545S SCSI host adapter device [modem7, minuszerodegrees.net] 2019-03-13 00:34:21 -04:00
Dirk Best
8169286fcc svi3x8: Hook up controllers to the Coleco Game Adapter
Also use our Coleco cartridge emulation instead of generic sockets
and move the cartridge and controller bus emulations to their own
directory.
2019-03-12 11:49:56 +01:00
Nigel Barnes
5511ce41e2 mtx: Added expansion bus with SDX floppy controller.
- 80 column card with SDX in CP/M mode.
- ROM/RAM banking fixed for CP/M, and MTX500 now correctly detected.
- Support for Type 03 and Type 07 .mfloppy images.
- Added alternate MTX2 romset (German).
- Keyboard ROM now selected in Configuration.
- Quickload .RUN files.
2019-03-10 17:23:39 +00:00
Nigel Barnes
d1d395e282 New working software list additions
-----------------------------------
electron_cart: ROMPlus-144
2019-03-10 16:03:41 +00:00
Nigel Barnes
09f698ddc8 spectrum: Improved expansion interface to allow devices to act on opcode fetches.
- Added Multiface One/128/3, and MultiPrint devices.
2019-03-10 16:03:40 +00:00
hap
f86ffd0802 added mm5445_device (nw) 2019-03-07 21:06:38 +01:00
AJR
156619b401 Add skeleton CPU device and disassembler for HPC architecture 2019-03-03 16:56:13 -05:00
enikland2
5309bae38b sg1000m3: Add keyboard cable link for F-16 Fighting Falcon's 2p mode (#4680)
* sg1000m3: Add keyboard cable link for F-16 Fighting Falcon's 2p mode

* included missing files
2019-02-27 01:02:31 -05:00
Peter Ferrie
487cb60ae6 further quieting of MS-LLVM (nw) 2019-02-25 14:48:37 -08:00
Dirk Best
ddc3672bad apricot: Add support for the Winchester controller 2019-02-23 20:42:01 +01:00
Dirk Best
093d7cbf18 New device: Western Digital WD1010-05 2019-02-23 20:41:50 +01:00
couriersud
672f9b092a Move ptime struct into plib namespace and fix relative includes. (nw) 2019-02-23 18:54:27 +01:00
ajrhacker
03753c9fbf
Merge pull request #4671 from shattered/_6dd3d90695
imgtool: new read-only filesystem: DEC RT-11 (take 2)
2019-02-21 07:04:49 -05:00
Patrick Mackinlay
455195eecf xc1700e: new device 2019-02-20 13:25:12 +07:00
Sergey Svishchev
8313f096d3 imgtool: new read-only filesystem: DEC RT-11 (take 2) 2019-02-20 00:42:40 +03:00
Vas Crabb
8ffff5d2d3 (nw) misc stuff:
* Document cross-compilation options
* Use lowercase for some libraries that are lowercase in system32 on Windows anyway
* Make USE_BUNDLED_LIB_SDL2=0 not use the bundled SDL
2019-02-18 21:13:44 +11:00
Vas Crabb
176ba64b26 attempt to fix testkeys linking in more configurations (nw) 2019-02-18 14:28:00 +11:00
couriersud
c1ea281761 Fix testkeys compile/link on windows. (nw) 2019-02-17 14:01:57 +01:00
couriersud
d72df29988 testkeys: remove dead code, don't build on windows. (nw) 2019-02-17 12:45:20 +01:00
couriersud
44bd859b04 Added sdl testkeys as a tool again. (nw) 2019-02-17 12:45:19 +01:00
couriersud
9c9fe82d4f Fix cross compile mame/sdl/windows. (nw) 2019-02-17 12:45:18 +01:00
cam900
9e495a17eb
scripts/src/netlist.lua : Fix spacing 2019-02-14 06:48:56 +09:00
couriersud
fb685c05b9 netlist: memory allocation clean-up. (nw) 2019-02-13 22:37:07 +01:00
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