Commit Graph

300 Commits

Author SHA1 Message Date
goldnchild
c21bea828d
Adding bitmap_printer_device and convert epson_lx810 to use it. (#8863) 2022-01-07 15:07:58 -05:00
AJR
23bbd37da6 device_image_interface: Interface overhaul
- Remove the iodevice_t classification, which was not used that much and was incomplete anyway. Image device implementations must now provide their own instance names and brief instance names. Several new parent classes have been created to make it easier to use the old standard names.
- Change must_be_loaded from a pure virtual function to be overridden in implementations to a getter for a base class property that can be set on the host side (as was formerly made possible for NES, MD and "generic" cartridge slots) but defaults to false for all types. This restrictive property has been unset for a small number of cases.
- Create parent classes for paper tape and magnetic tape devices. At present these are dummy classes that do little to nothing, but may help unify implementations in the future.
- Change several member functions to take std::string_view parameters rather than const std::string & or const char *.
- Make update_names take into account brief names, as discussed in PR #2555.
- Remove the obsolete uses_file_extension function (which used thread-unsafe strtok).

* portfolio_ccm_slot: Change image type from "cartridge" to "memcard"
* i7220, datapack: Add custom instance names that weren't there before
* pc11: Add note
2022-01-06 20:59:02 -05:00
holub
1e32a43b50
Added preliminary TS-Configuration for ZX Evolution driver. (#8989)
New machines marked as not working
-------------------------
NedoPC, TS-Labs ZX Evolution TS-Configuration
2021-12-25 06:58:14 +11:00
arbee
a3ba70ad14 gt913: fix single-driver build, fix invalid Unicode character. [R. Belmont] 2021-12-14 11:26:27 -05:00
shattered
3e26ee8cfb
dl11: DEC DL11-type serial line unit (#8894) 2021-12-02 22:43:19 -05:00
Nigel Barnes
8acb4d846d New devices for Archimedes machines:
- Acorn Battery Management Unit
- Acorn LC ASIC (preliminary)
- Universal Peripheral Controller 82C710/82C711
2021-11-14 19:08:39 +00:00
Devin Acker
8962638b77
Casio CTK-551 [Daivn Acker]
* New machine marked as NOT_WORKING
----------------------------------
Casio CTK-551 [Devin Acker]
2021-10-13 09:35:00 +02:00
arbee
ea8102906e apple2: support for the AppleIISD card [R. Belmont, Florian Reitz] 2021-09-07 19:51:34 -04:00
Angelo Salese
0e4ba6d49a
Major state refactoring of pc98 based HW (#8475)
First major step in splitting up machine classes in NEC PC98 family tree:
* Splits up derivative HWs into own state machine and files (pc98ha.cpp, pc9821.cpp and pc9801_epson.cpp);
* Adds a preliminary uPD4991a parallel RTC, used by pc98ha;
* Fix -26, -86, -118 C-bus sound board dips or jumper settings;
* Fix default sound card for pc9821 (-86) and pc9821ce2 / pc9821cx3 (-118);
* Adds preliminary MAD Factory Otomichan-kai C-bus sound board;
* Adds boilerplate code for C-bus installing board I/Os, avoiding the possible inconvenience of board(s) getting silently unmapped by other installed boards;
* Major refactoring of HW dip switches readouts, using required_ioports instead of scattering things around in PPI hooks;
* Extensive QA rundown, including research on missing features and undumped machines.
 
pc9801.cpp: Don't passthrough mouse irq frequency when cycle setting is setup too, fixes jastrike mouse input on options menu.
pc9801.cpp: Fix kanji RAM window LR readback, makes telenetm to properly display 8x16 chars on RS and derivative machines.
pc8801.cpp: fixed OPNA RAM readback, allowing SWs to playback ADPCMs properly.

New machines marked as NOT_WORKING
----------------------------------
PC-98LT [anonymous]
PC-98HA "Handy98" [anonymous]
PC-9821Nr15 (98NOTE Lavie) [flyingharuka]
PC-9821Nr166 (98NOTE Lavie) [flyingharuka]
PC-9821Nw150 (98NOTE Lavie) [flyingharuka]
PC-9821Ra266 (98MATE R) [flyingharuka]
PC-9821Cx3 (98MULTi CanBe) [flyingharuka]
PC-9801VX [qazmko1029]
PC-9801US [CoolMod]
2021-08-24 10:22:03 +02:00
AJR
918da8411d maciifx: Add preliminary PIC (Peripheral Interface Controller) devices and OSS interrupt control
* machine/applefdintf.*: Correct permissions
2021-07-29 23:40:16 -04:00
Patrick Mackinlay
de881afb9e ncr5380n: reclaim ncr5380 device name 2021-07-20 12:22:15 +07:00
hap
e4c8d9f538 New working machines
--------------------
TI-1680 [hap, Sean Riddle]
2021-07-13 11:12:14 +02:00
cracyc
3f5cec732b vis: fix card comms and crc 2021-06-23 16:41:27 -05:00
cracyc
188a28c9ff vis: add memory card device 2021-06-22 17:10:30 -05:00
Patrick Mackinlay
80fb62cce5 ns32082: new device 2021-06-07 19:05:07 +07: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
Sandro Ronco
800a422e42 ertictac.cpp: convert to use IOC and MEMC devices. 2021-05-01 23:07:51 +02:00
hap
5f977adf3f fix arcade target link 2021-04-23 18:55:31 +02:00
hap
9194b83f3b smartboard: add support to connect it to pc printer port 2021-04-19 13:01:19 +02:00
Olivier Galibert
cdb06b7a99 pmac6100: Move it to a new driver 2021-03-12 21:35:02 +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
hap
ad11e2d46e added ds8874 device 2021-02-07 17:12:19 +01: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
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
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
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
Patrick Mackinlay
e67a06058f ns32202: new device (wip) 2020-10-10 13:28:41 +07:00
Patrick Mackinlay
a89f9b274e ns32081: new device 2020-10-05 16:02:23 +07:00
David Haywood
04672777eb
pcp8718 / pcp8728 / bkid218 - make menu controller a shared device (#7270) 2020-09-21 13:17:25 -04: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
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
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
68bit
bd0b4d9dd0
New WORKING machines
New WORKING machines
--------------------------
Motorola M6800 EXORciser (M68SDT) [68bit]
2020-07-18 08:12:28 -04: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
68bit
5972474a21
New machines added as WORKING
New machines added as WORKING
---
Motorola EXORterm 155 [68bit]
2020-07-10 15:41:52 -04:00
fulivi
729b27d7c1
hp_ipc: added beeper (#6893) 2020-07-02 14:04:21 -04: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
Vas Crabb
01661be41c srcclean and cleanup (nw) 2020-06-21 14:59:50 +10: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
David Haywood
4f7c1a03ed
prepare SunPlus rendering code for sharing between SPG2xx and GPL16250 (nw) (#6780) 2020-06-02 14:10:17 -04:00
Sergey Svishchev
963e16d63c Add MM58174 real time clock and use it (nw) 2020-05-26 21:31:20 +03: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
Ryan Holtz
4feb71b0a7 -unsp: Added DIVQ and extended BIT_OP opcodes. [Ryan Holtz] 2020-05-16 20:50:15 +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
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
Michael Zapf
efeddba15b bq48xx: Adding Benchmarq RTC chip emulations. 2020-04-14 23:58:11 +02:00
AJR
2d68e6dae9 m3002: New device 2020-04-07 19:39:17 -04:00
Michael Zapf
c5b838bc2c Add octal registered transceiver 74543 2020-04-06 13:39:34 +02: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
Patrick Mackinlay
5693fa0691 cxd1185: new device 2020-03-29 18:21:11 +07: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
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
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
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
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
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
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
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
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
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
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
AJR
d4eb7c7d2c aha1542a, aha1542b: Split out AIC-580 emulation to new device (nw) 2019-10-25 16:51:03 -04:00
68bit
99e048d599 IDE devices are now on bus/ata, build fix. 2019-10-24 22:00:08 +11:00
ajrhacker
23a05f7e85 Move IDE devices into bus/ata (nw) (#5756) 2019-10-23 10:22:17 -04:00
AJR
f398123bc3 Emulate ADC0804 and add device to various drivers 2019-10-16 00:16:14 -04: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
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
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
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
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
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
AJR
de57ef7b97 atronic.cpp: Add more onboard devices, including new PCF8584 skeleton (nw) 2019-08-17 22:40:15 -04:00
AJR
83e63dacf4 Add device emulation for DS17x85 series of MC146818-compatible RTCs with additional features 2019-08-14 09:12:12 -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
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
Patrick Mackinlay
1f9fd834af wtl3132: new device 2019-07-15 22:28:19 +07:00
AJR
60d4805d55 Move modern SCSI CD/HD devices into src/devices/bus/nscsi (nw) 2019-07-11 14:20:32 -04: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
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
AJR
e49e75c122 Add device emulation for MM5307 Baud Rate Generator 2019-06-14 00:32:55 -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
hap
0a213f860c chessmachine: device was in wrong folder and forgot to update compile script (nw) 2019-06-01 14:53:14 +02:00