Commit Graph

2261 Commits

Author SHA1 Message Date
Miodrag Milanović
5581eaa50a
Update BGFX, BX and BIMG (#10750)
* Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433
Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
2023-01-04 23:12:10 -05:00
angelosa
f0fb9723c9 bus/pc8801: preliminary implementation of HAL HMB-20 sound card, addresses #10703 2022-12-25 19:32:42 +01:00
Sven Schnelle
0ce06a9d74
formats/hp300_dsk.cpp, formats/hp_lif.cpp: Added HP 300 floppy format and LIF filesystem. (#10729)
Added support for various disk formats used with HP computers. Named
'hp300', but also contains formats used with HP85 and HP150 computers,
using the same floppy drivers as the 300 series.

Most of the information was taken from "HP Flexible Disk Formats" by
Martin Hepperle.

HP LIF was used in quite a lot of different HP products like the
HP 9000/300, HP85/87 and HP150 computers.  Added support for
reading this filesystem.
2022-12-25 06:33:59 +11:00
fulivi
045f23d116
hp/hp9825.cpp: Added support for HP 9825A and HP 9831. (#10595)
* bus/hp9845_io: Added HP9871 printer.

New working machines
------------------
Hewlett-Packard HP 9825A
Hewlett-Packard HP 9831A

New working software list items
------------------
hp9825_rom: 9862 Plotter/Gen I/O ROM for 9825
hp9825_rom: General/extended I/O ROM for 9825
hp9825_rom: General/extended I/O/9862 plotter ROM for 9825
hp9825_rom: General/extended I/O/plotter ROM for 9825
hp9825_rom: Plotter/Gen I/O ROM for 9825
hp9825_rom: String/Advanced programming ROM for 9825
hp9831_rom: Mass storage ROM for 9831

New not working software list items
------------------
hp9831_rom: Matrix/plotter ROM for 9831
2022-12-24 20:15:16 +11:00
MooglyGuy
3178442049
More MC68EZ328 work for palmm100 and iqunlim (#10696) [Ryan Holtz]
* palm/palm.cpp: Promoted palmm100 to working.  Split Palm LCD into a separate device.
* machine/mc68328.cpp: Improved LCD controller emulation.  Fixed reported Coverity issues
* vidoe/mc68328lcd.cpp: Added a generic device to handle MC68328-style LCD output signals.
* vtech/iqunlim.cpp: Hooked up MC68EZ328 device.

Clones promoted to working
---------------------
3Com Palm m100 [Ryan Holtz]
2022-12-22 03:15:56 +11:00
Vas Crabb
bdf4645b73 bus/pce_ctrl: Added PC Engine Mouse support. 2022-12-21 08:26:53 +11:00
hap
d3fbba3a5e m6809: rename *.ops to *.lst 2022-12-18 17:06:25 +01:00
Vas Crabb
a32b70c034 More Micom Soft controller wrangling:
* bus/msx/ctrl: Added XE-1AP pad with defaults for personal computers.
* bus/pce_ctrl: Added XHE-3 PC joystick adapter.
2022-12-18 22:21:33 +11:00
Vas Crabb
d57396edf0 bus/sms_ctrl: Added support for Denpa XE-1AP controller.
This is the "horsehoe crab" game pad version of the Denpa Micom Soft
Analog/Digital Intelligent Controller System (the other version is the
desktop "cyber stick").

Mega Drive games only support this controller in analog mode (the
default).  Digital mode is designed to be used for games on computers
with MSX-style controller ports that don't support analog controls.
2022-12-18 06:40:56 +11:00
Vas Crabb
d464f33772 bus/sms_ctrl: Added Konami Hyper Shot for Sega, too. 2022-12-17 07:56:52 +11:00
Vas Crabb
f87d24a4a2 bus/msx/ctrl: Added Konami Hyper Shot controller. 2022-12-17 07:21:59 +11:00
MooglyGuy
16e265185e
palm/palm.cpp: Improved Palm IIIc support. (#10684) [Ryan Holtz]
* machine/mc68328.cpp: Split MC68328 device into a base class with shared functionality, and derived MC68328 and MC68EZ328 models.
* video/sed1375.cpp: Added roughly-functional implementation of the Epson SED1375 LCD controller.

Machines promoted to working
------------------------
3Com Palm IIIc [Ryan Holtz]
2022-12-16 23:44:37 +11:00
Vas Crabb
905470b653 bus/sms_ctrl: Added support for Sega mouse and four-player adaptor. 2022-12-16 17:52:06 +11:00
Vas Crabb
01c5fe81f1
sega/sms.cpp: Refactored Game Gear handling. (#10682)
Use a memory view to switching between Game Gear and Master System compatibility I/O space mapping.  Got rid of most of the conditional code checking whether it's a Game Gear driver.

Got rid of the special Game Gear EXT port slot.  It's the same thing as a Mega Drive controller/expansion I/O port with a different connector.

sega/mdioport.cpp: Added a variant for the Game Gear with the TH/PC6 interrupt latch, and added it to the Game Gear.
2022-12-14 19:26:21 +11:00
Vas Crabb
85fd7f8c45 -bus/sms_ctrl: Added raphnet DIY SMS/Mark III paddle.
-cpu/avr8: Added minimal ADC support (in particular, ADC interrupts are
 not implemented).

-sega/megadriv.cpp: Further broke up base Mega Drive class.
* Created a light-weight base class with just the core functionality,
  used for "Genie" hardware (Puckman Pockimon).
* Moved built-in controller emulation to a derived class so it isn't
  lurking underneath the consoles with pluggable controllers.
* Moved the Sun Mixing Mega Drive bootlegs to their own source file -
  they're substantially different, not using the I/O blocks for input.

-sega/sms.cpp: Untangled SG-1000 Mark III slightly.
2022-12-13 08:00:03 +11:00
Nigel Barnes
3e8cb6894c bus/archimedes/podules: Added Ethernet podules (not working)
- Acorn AEH50 Ethernet II
- Acorn AEH54 10Base2 Ethernet Podule
- ANT Ethernet 10base2 mini-podule
2022-12-12 20:44:33 +00:00
Nigel Barnes
e09c883434 mdcr: Moved philips/p2000t_mdcr.cpp->machine/mdcr.cpp to allow use with other machines. 2022-12-12 18:47:14 +00:00
Nigel Barnes
8d06c14709 New machines marked as NOT_WORKING
----------------------------------
MiniB Computer [Nigel Barnes, Sprow]
2022-12-12 18:13:59 +00:00
Nigel Barnes
66f4e8d40b bus/archimedes/podule: Added SCSI Interface podules (not working).
- Acorn A500 SCSI Interface
- Acorn AKA31 SCSI Expansion Card
- Acorn AKA32 CDFS & SCSI Expansion Card
- Cumana 16bit SCSI Interface
- Lingenuity SCSI Podule
- Morley Electronics 16bit Cached SCSI card
- Oak Solutions 16 bit SCSI Interface
2022-12-11 23:04:03 +00:00
Nigel Barnes
e3c1dc11fc mt65: Slotified the keyboard port, devicified Microtan Keypad (MT006), Microtan Keyboard (MT009), and ETI Space Invasion Key Unit.
- Added cards ETI Real Time Clock, ETI Sound Card, Microtanic Real Time Clock, TUG Combo Card, and TUG EPROM Storage Card.

mt6809: Fixed keyboard input, RALBUG commands now work, and promoted to working.
- Added support for FLEX and BBC Micro floppy formats.

spinveti: Replaced incorrect ROM to load at &F800.
2022-12-11 22:16:32 +00:00
Vas Crabb
6e5d7328cb sega/mdioport.cpp: Added Mega Drive I/O port controller device.
Adapted all Mega Drive hardware drivers to work with the new I/O port
device, and moved based Mega Drive 68k peripherals to a common address
map function.

sega/megadriv_acbl.cpp: Added base machine configuration to attach an
optional I/O port to the EXP port, and moved some stuff to derived
classes.

sega/megadriv_rad.cpp: Simplified code.

bus/sms_ctrl: Added an RS-232 adapter.  Only sending from the console to
the attached device works so far, reception will have to wait.
2022-12-12 04:25:30 +11:00
AJR
e8823c2ab8 thomson.cpp: Extension bus cleanup
- Make CC 90-232 serial/parallel interface an extension device
- Eliminate spurious custom Centronics interface from MO5NR (CC 90-232 is used with this model instead)
- Make RF 57-932 serial interface an extension device
- Make MD 90-120 modem interface an extension device (emulation still needs work)
- Make Midipak an extension device and completely rewrite emulation
- Make MEA8000-based speech interface an extension device
- Configure 1 MHz E clock for extension bus
- Add FIRQ & IRQ outputs from extension bus
- Expand extension I/O address range from $x7D0-$x7DF to $x7C0-$x7FF
- Clean up various bits of driver code
2022-12-10 18:32:36 -05:00
Vas Crabb
dc360abb02 bus/sms_ctrl: Reworked Sega Master System controller bus.
Rationalised interface, got rid of TH from the "pulled" lines, and
extended to support output on all data lines.  Renamed to be less
specific as the same interface is shared by multiple consoles.

Removed a lot of unnecessary indirection through I/O ports and multiple
levels of inversion in peripheral emulation that was obfuscating the
code.

Made Rapid Fire Unit switches toggles so they can be assigned to
controller buttons and switched on/off easily during gameplay.  You can
still see/change the current state in the Toggle Inputs menu if you
don't want to assign buttons.

Implemented idle timeout in Furrtek 4-player Master System adapter.

Improved crosshair tracking in Graphic Board, added ability to
raise/lower pen, and greatly cleaned up code.

Fixed paddle controller when used with export consoles.

Added 3-button and 6-button Mega Drive control devices.

sega/sms.cpp: SG-1000 Mark III has pin 7 of controller ports tied low -
indicate this to attached controllers (this pin became TH on the Master
System).

sega/mdconsole.cpp: Replaced controller emulation in the driver with
Sega controller ports.  Also removed some vestigial code from the driver
base class.

sharp/x68k.cpp: Replaced controller emulation in the driver with MSX
controller ports.

bus/msx/ctrl: Added a Sega controller adapter device, supported by
X68000 software including chelnov and ssf2.
2022-12-08 05:24:59 +11:00
arbee
0d93398fb3 imgtool: properly remove all Apple modules. (GitHub #10594) [R. Belmont] 2022-12-06 20:15:09 -05:00
tim lindner
b7a807443a
trs/coco12.cpp, trs/coco3.cpp: Moved real-time clocks to where they belong (addresses MT08416). (#10575)
*bus/coco: Remove real-time clock and no-halt functions from Radio Shack floppy disk controller.
* bus/coco: Added Disto Super Controller II floppy disk controller that contains no-halt functionality
* bus/coco: Added "mini expansion bus" that the SCII uses for add on cards, and added slots to SCII and Disto RAM cartridges.
* bus/coco: Added Disto "Realtime Clock" MEB slot device (also includes a parallel printer interface).
2022-12-05 17:09:00 +11:00
AJR
b3ec67fc4c unidasm: Add IBM 1800, IBM 1130 and (DG) Nova disassemblers 2022-12-02 21:52:57 -05:00
wilbertpol
3b9fa5f3c6
bus/msx: Added support for Hudson Soft Bee Card and Electric Software Astron Softcard media. (#10610)
* Copied or moved Bee Cards entries from msx1_cart.xml to msx1_bee_card.xml.
* Copied or moved SoftCard entries from msx1_cart.xml to msx_softcard.xml.
2022-12-03 02:46:39 +11:00
Vas Crabb
516f6b5d2b -debugger: Improved session save/restore.
* Qt: Save expression for memory and disassembly views.
* Qt: Made command history behave more like Cocoa.
* Qt: Added expression history and made behaviour more like Cocoa.
* Qt: Refactored global notifications to use signals.
* Win32: Increased command/expression history size to 100 items.
* Cocoa: Save state of device info viewer windows.
* Qt/Win32/Cocoa: Save command/expression history.

-util/xmlfile.cpp: Fixed bug where copyInto failed to copy nodes.
2022-12-02 02:25:57 +11:00
Vas Crabb
17b9672b1f bus/msx/ctrl: Added Micomsoft Libble Rabble Joypad. 2022-11-26 18:49:19 +11:00
Vas Crabb
f46a046799 -fujitsu/fmtowns.cpp: Use MSX controller slots for pad ports.
-bus/msx/ctrl: Added 2-button and 6-button FM Towns pads.
2022-11-26 03:32:29 +11:00
wilbertpol
be34605ffd
msx.cpp: Made the general purpose ports (joystick/mouse) a slot device. (#10579)
* Also moved msx slot devices to subfolders.
2022-11-24 16:58:31 +11:00
AJR
d653fc0703 Update cpu.lua for 9bb87665ba 2022-11-16 15:35:52 -05:00
Vas Crabb
6c0257b1a1 bus/gameboy: Added support for Liebao Technology cartridges.
gameboy.xml: Changed default NVRAM fill for dbzgeki to 0xff - this will
cause it to treat the three save files as empty rather than starting in
a glitchy state.

New working software list items
-------------------------------
Dragon Ball Z English [lana_chan_, taizou]
2022-11-12 03:39:21 +11:00
Vas Crabb
2a33336d95 bus/gameboy: Added support for newer NT/Makon cartridges.
bus/gameboy: Removed the non-working "Digimon 2" cartridge device.

gbcolor.xml: Corrected titles for a few Chinese games.

New working software items (gbcolor.xml)
----------------------------------------
Capcom Vs. SNK: Millennium Fight 2001 (China) [Pepper9801, taizou]
Digimon 02 4 (China) [taizou]
Digimon 2 (China) [Robyn A1200, taizou]
Digimon Pocket (China) [taizou]
Harry Potter 3 (China) [taizou]
Pokémon Diamond: Special Pikachu Edition [taizou]
Pokémon Jade: Special Pikachu Edition [taizou]
Pokémon: Mewtwo Strikes Back [taizou]
Street Fighter Zero 4 (China) [taizou]

Software items promoted to working (gbcolor.xml)
------------------------------------------------
Shùmǎ Bào Lóng 02 4 (China) [Vas Crabb]
Shùmǎ Bào Lóng 3 Shuǐjīng Bǎn (China) [Vas Crabb]
2022-11-10 03:45:57 +11:00
wilbertpol
ac4af4b16b
msx/msx.cpp, bus/msx_cart, bus/msx_slot: Reimplemented memory using views. (#10473) [Wilbert Pol]
* Made some devices which were not present in all msx models optional; install software lists based on components of the system.
* Updated hardware descriptions.
* Implemented bruc100 firmware banking.
* Added m5.00.011 version of Yamaha SFG05 cartridge.
* Fixed phc28 RAM misconfiguration.
* Added AX-230 internal games mapper.
* Started adding support for FS-A1FM modem.
* Updated input port definitions.
* Added support for kanji font from raw FS-A1FX ROM dump.
* Started adding support for RS-232.
* Added support for Toshiba HX-M200 kanji cartridge - allows hx21 and hx22 to start their firmware.
* Fixed most floppy problems.
* Marked all ROMs that need verification as bad dumps.
* Moved floppy controller and drive configuration from main state to msx_slot disk devices.

New working machines
---------------------------------------
Hitachi MB-H1 (MSX1, Japan)
Mitsubishi ML-8000 (MSX1, Japan)
Panasonic CF-2700 (MSX1, UK)
Pioneer", "UC-V102 (MSX2, Japan)
Sakhr AX-200 (MSX1, Arabic/English)
Sakhr AX-230 (MSX1, Arabic)
Sakhr AX-350 II (MSX2, Arabic)
Sakhr AX-500 (MSX2, Arabic)
Sanyo MPC-25FS (MSX2, Japan)
Sanyo PHC-23 / Wavy23 (MSX2, Japan)
Toshiba HX-32 (MSX1, Japan)
Toshiba HX-51I (MSX1, Italy, Spain)
Yamaha SX-100 (MSX1, Japan)
Victor HC-80 (MSX2, Japan)

New working clones
---------------------------------------
Frael Bruc 100-2 (MSX1, Italy)
Hitachi MB-H1E (MSX1, Japan)
Philips NMS 8250/16 (MSX2, Spain)
Sakhr AX-200M (MSX1, Arabic/English)
Sakhr AX-350 II F (MSX2, Arabic)
Sony HB-101 (MSX1, Japan)
Sony HB-75 (MSX1, Japan)
Sony HB-F500 2nd version (MSX2, Japan)
Spectravideo SVI-728 (MSX1, Spanish)
Talent DPC-200 (MSX1, Argentina, international keyboard)
Toshiba HX-20E (MSX1, Spain)
2022-11-08 15:00:55 +11:00
Olivier Galibert
624ea9dacf 68000: Add a level of transparent indirection, turn the reset output line into devcb. 2022-11-03 09:32:13 +01:00
Nigel Barnes
4c776b71ba bus/electron: Added Millsgrade Voxbox Speech Synthesiser. 2022-10-18 20:23:03 +01:00
Brian Johnson
601b5430c4
Rework QX10 Keyboard implementation (#10384)
* qx10: Rework keyboard code

    * Split keyboard into ascii and hasci variants
    * Update keymappings to be more complete
    * Add output_finders for keyboard LEDs
    * Keyboard now uses sync serial, fixes timing issues with CP/M Plus

* qx10: Add layouts for both hasci and ascii keyboards
2022-10-15 11:21:41 +02:00
fulivi
153f096fd6
Added support for Intel ISIS-II filesystem (#10367)
* fs_isis: support for Intel ISIS-II filesystem added

* fs_isis: fix after CI failure

* fs_isis: adapted to changes in 5499683a23

* all.cpp: fixed amount of ws
2022-10-15 11:02:48 +02:00
Brian Johnson
604d40c826
bus/epson_qx: Added YM2149-based sound card for the Epson QX-10. (#10400) 2022-10-15 03:33:31 +11:00
AJR
6c1e5da058 unkts: Hook up new skeleton CPU device 2022-10-12 13:22:26 -04:00
AJR
8f2beee479 unidasm: Add Nios II disassembler 2022-10-11 21:42:57 -04:00
Brian Johnson
b4ecb617be
bus/epson_qx: Added hard disk support for the Epson QX-10. (#10378)
* Added IDE hard disk option board.
* Added ComFiler CR-1510 option board.
2022-10-08 00:05:28 +11:00
Vas Crabb
f4b23f1737 bus/gameboy: Moved MBC3/MBC30 to their own file as separate devices.
New working software list additions
-----------------------------------
gbcolor.xml: Juéduì Wǔlì (China), Wàixīng Tànxiǎn zhī Xīngqiú Dàzhàn (China) [Robyn A1200, taizou]
2022-10-04 12:51:33 +11:00
Olivier Galibert
71f1f480fd m68000: split the header to make future semi-indenpendant implementations sane 2022-09-30 10:58:31 +02:00
Olivier Galibert
f9870d6f02 ap2_dsk: Move the applesauce formats in their own file
as_dsk: Create a common base class, merge what is currently identical
2022-09-28 17:44:09 +02:00
AJR
60a3acb970 Move UTF8_xxx string literal macros to new header in lib/util 2022-09-25 22:23:29 -04:00
arbee
a9cdc7d7c2 Fix missed build file from previous commits. [R. Belmont] 2022-09-24 20:32:06 -04:00
arbee
1651ed37c0 apple2: final removal of Apple II support for the legacy floppy system. [R. Belmont] 2022-09-24 20:18:35 -04:00
arbee
f9adf9ffaa sonydriv.cpp: retired. [R. Belmont] 2022-09-22 22:17:28 -04:00
Olivier Galibert
ab4680981d mtu130: Implement the banking using the actual sequencer prom 2022-09-20 23:06:26 +02:00
0kmg
a9b22a67ea
Renamed n2a03 to rp2a03 throughout source tree. (#10343) 2022-09-20 05:43:55 +10:00
Vas Crabb
76541e8c81 Debugger updates:
Made closing the Qt debugger console window hide all debugger windows
and run the emulated machine (debugger windows will be shown on next
user break or breakpoint hit).  This matches the behaviour of the Win32
and Cocoa debuggers.

Made Qt debugger clean up its windows on exit rather than on subsequent
starts.  This fixes GitHub #9789.

Made Qt debugger less reliant on global variables, and made code to save
and load configuration a bit less convoluted.  It still needs more
refactoring on this front, but it's in slightly better shape now.

Made Qt debugger a bit less crashy on invalid configuration.  Still
plenty of ways to crash it, but every little bit counts.

Made Qt debugger do less comparisons on menu item names and object
names - it might be possible to localise one day.

Moved all the C++ debugger implementations into namespaces.  They're
using awfully generic class names, so it's about time.
2022-09-20 04:22:51 +10:00
Vas Crabb
796d8d6720 bus/gameboy: Fixes for multi-game cartridges.
* Reset the system from a timer callback for the Vast Fame/SL/J.Y.
  Company multi-game cartridges.  This fixes games on gbcolor.
* Reset system when leaving configuration mode for GBCK003.  Fixes most
  issues with games.
* Moved GBCK003 to its own source file, and added notes for both
  multi-game cartridge types.
2022-09-19 03:26:16 +10:00
Vas Crabb
33f2b34198 bus/gameboy: Added partial support for some Chinese multi-game cartridges.
Cartridge RAM features are not implemented yet.

New working software list items
---------------------
gbcolor.xml: New Super Color 145 in 1 (China) [taizou, Vas Crabb]
2022-09-18 06:05:43 +10:00
Vas Crabb
c76cf754b3 debugger/win: Added capability to save/restore window arrangement.
* Format is mostly compatible with the Cocoa debugger, besides reversed
  vertical positioning.
* Made Qt debugger more compatible with configuration format used by
  Win32 and Cocoa debuggers.
* emu/config.cpp: Preserve elements with no registered handlers in
  default and system configuation files.
2022-09-16 22:23:34 +10:00
hap
ad338bd3e7 source org: move gmaster to handheld folder 2022-09-16 00:18:00 +02:00
smf-
5acbdb2e86 fix visual studio builds after bdb9404c08 2022-09-15 18:22:03 +01:00
smf-
bdb9404c08 fixes for clang 15.0 on windows [smf] 2022-09-15 13:39:13 +01:00
Vas Crabb
5db7ffb86a Reimplemented Game Boy and Mega Duck cartridge slots:
Allow cartridges to install themselves rather than putting accesses
through trampolines.  Use memory banks even when they aren't installed
directly, as it exposes script bindings and declares intent.

Added support for MBC6 Flash, and MBC7 two-axis accelerometer and 128*16
or 256*16 serial EEPROM.  Added basic support for Game Boy Camera image
capture (various M64282FP processing features are not implemented).
Improved MBC3 real-time clock emulation.

Added basic support for Hudson Soft HuC-1 cartridges (infrared I/O not
supported) and HuC-3 cartridges (real-time clock and infrared I/O not
supported).

Added full support for Vast Fame VF001 cartridges.

Separated Mega Duck flat and banked ROM cartridge types, and allowed
software list items to specify whether a cartridge has fixed and
selectable 16K banks or a single selectable 32K bank.

Added support for RAM sizes smaller than 8K that will be mirrored in the
0xA000-0xBFFF area.  Implemented correct ROM mapping for sizes that are
not powers of two.  Corrected size of MBC2 internal static RAM.

Added support for various hypothetical cartridge wirings, such as MBC5
with outer ROM banking for up to 128M, M161 and Wisdom Tree cartridges
with flat RAM, and MBC1 or MBC5 with fewer than the maximum number of
inner ROM bank lines used.

Fixed logo spoofing logic for many pirate cartridges, including Rocket
Games, Sachen MMC1 and MMC2, Sintax, Li Cheng, and Niutoude.  Identified
fine bank mask register for GBCK003 board.

Added basic support for GBX format ROM images.  Added heuristic for
detecting raw dumps of M161 cartridge images.  Removed unreliable
unlicensed cartridge detection heuristics - these need to be
reimplemented in a better way.

Software list items promoted to working
---------------------------------------
gameboy.xml:
Game Boy Camera (Europe, USA)
Game Boy Camera Gold (USA)
Pocket Camera (Japan, Rev 1)
gbcolor.xml:
Command Master (Japan)
Kirby Tilt 'n' Tumble (USA)
Korokoro Kirby (Japan)
Street Hero (Taiwan)
Thunder Blast Man (Europe)
4 in 1 + 8 in 1 (World, 4B-001)
4 in 1 + 8 in 1 (World, 4B-002)
4 in 1 + 8 in 1 + 16 in 1 (World, 4B-005)
4 in 1 + 8 in 1 (World, 4B-007)
31 in 1 Mighty Mix (Taiwan)
31-in-1 Mighty Mix (Australia)
Nǚwáng Gédòu 2000 (Taiwan)
Chāojí Gédòu 2001 Alpha (Taiwan)
Gédòu Jiàn Shén - Soul Falchion (Taiwan)
2022-09-13 06:27:33 +10:00
Olivier Galibert
2da17be127 mtu130: Add support for the datamover (68k board) 2022-09-11 11:56:36 +02:00
0kmg
1e85658dd3
bus/nes_ctrl: Added Sharp Cassette Interface AN-300SL device. (#10318)
Clones promoted to working
--------------------------
Sharp My Computer Terebi C1 [kmg]
2022-09-10 12:13:29 -04:00
AJR
d90da03d0e Add skeleton devices for MPS-1200 & MPS-1250 IEC printers 2022-09-08 19:10:34 -04:00
AJR
a7be70a183 Add preliminary M50734 emulation 2022-09-07 09:14:06 -04:00
Olivier Galibert
ef8ac6eee8 * new WORKING machine
----
MTU-130 [Olivier Galibert, David Williams, Disk Blitz, Eric Wright]
2022-09-06 19:04:46 +02:00
Vas Crabb
051c380fd1 Patched up some gaps in functionality and fixed some bugs.
ui: Added some missing functionality:
* Added an option to copy input device IDs to the relevant menus.
* Added an item for setting the software lists files path (-hashpath) to
  the folder setup menu.
* Allow pasting text from clipboard in most places that allow typing
  (searching, entering filenames, entering barcodes).
* Changed the software selection menu heading to be a bit less
  misleading.
* Made barcode menu less eager to rebuild itself unnecessarily, and
  removed some confusing and apparently pointless code.

Exposed more Lua bindings:
* Added low-level palette objects.
* Added indexed bitmap types.
* Added a bitmap method for extracting pixels from a rectangular area as a
  packed binary string.
* Changed screen device pixels method to return width and height in
  addition to the pixels.

osd: Added some functionality and cleaned up a little:
* Added a function for copying text to the clipboard.
* Moved function for converting Windows error codes to standard error
  conditions to winutil.cpp so it can be used from more places.
* Removed duplicate declaration of osd_get_clipboard_text and made the
  function noexcept (including fixing implementations).
* Made macOS implementation of osd_get_clipboard_text skip the encoding
  conversion if it finds UTF-8 text first.
* Changed the default -uimodekey setting so it doesn't lose the "not
  shift" that stops the default from interfering with UI paste.

Various bug fixes:
* util/unicode.cpp: Fixed the version of utf8_from_uchar that returns
  std::string blowing up on invalid codepoints.
* util/bitmap.h: Fixed wrapping constructors for indexed bitmaps taking
  the wrong parameter type (nothing was using them before).
* util/bitmap.cpp: Fixed potential use-after-free issues with bitmap
  palettes.
* emu/input.cpp, emu/inputdev.cpp: Log 1-based device numbers, matching
  what's shown in the internal UI and used in tokens in CFG files.
* emu/emumem.cpp: Added the bank tag to a fatal error message where it
  was missing.

docs: Reworked and expanded documentation on configuring stable
controller IDs.

For translators, the changes are quite minor:
* There's a menu item for copying a device ID to the clipboard, and
  associated success/failure messages.
* There's the menu item for setting the software list file search path.
* One of the lines in the software selection menu heading has changes as
  it could be interpreted as implying it showed a software list name.
2022-09-02 08:55:16 +10:00
Michael R. Furman
46ecd84148
formats/fdos_dsk.cpp: Added FDOS disk format for the SWTPC 6800. (#10273)
Allows the SWTPC 6800 machine to boot FDOS in MAME using Mike Douglas'
FDOSMPS.DSK, and to read/write other available disk images.
2022-08-28 07:07:30 +10:00
npwoods
695a9eb091
Initial FAT file system support for Floptool (#9119)
* Initial FAT file system support for Floptool

Current Limitations:
- Read only
- Only supports floppy disks
- No FAT32 support
- No Long Filenames Support
2022-08-25 14:48:45 -04:00
Patrick Mackinlay
361f9f487c mn1610: new disassembler 2022-08-25 16:07:11 +07:00
Vas Crabb
74fa8ec158 -nintendo/gb.cpp: Use taps to handle the boot ROM overlay.
-Moved some stuff out of misc and skeleton:
* Moved Innovative Concepts machines to their own project.
* Moved various things out of skeleton to existing company projects.
2022-08-24 03:45:50 +10:00
Ivan Vangelista
f8dd800d3d bus.lua, machine.lua: fixed a couple of entries 2022-08-21 20:01:29 +02:00
David Haywood
7d346689de
Greatly improve Monon Color emulation (#10158)
* added emulation of required/used AXC51 / AX208 extended operations
* added preliminary emulation of required/used AXC51 / AX208 features
* added support for many Monon specific features, such as the video controller
* most games are playable, those not requiring a card/badge scanner to function at all are promoted
* no music, as it's contained in a game specific MCU under a glob on each cart
2022-08-21 01:33:41 +02:00
Paul-Arnold
0a18e66463
misc/magicard.cpp: Added required devices and default NVRAM contents. (#9970)
* cpu/pic16c5x: Expose driven lines to I/O handlers in mask.
* machine/ds1207.cpp: Added DS1207 Time Key device.
* machine/msm6242.cpp: Fixed interrupt output pulse duration.
* machine/scc66470.cpp: Added Philips SCC66470 Video and System controller device.

Machines promoted to working
-------------------------------
Puzzle Me!
Lucky 7 (Impera) V04/91a

Clones promoted to working
-------------------------------
Magic Card Export 94 (V2.11a, set 3)
Magic Card - Wien (Sicherheitsversion 1.2)
unknown Poker 'TE06'
2022-08-18 23:41:08 +10:00
Michael R. Furman
0ef256b317
formats/cp68_dsk.cpp: Added CP/68 disk format for SWTPC 6800. (#10178) 2022-08-13 23:18:48 +10:00
hap
f9725bbe95 tms1000: added tms2xxx skeleton devices 2022-08-05 20:57:38 +02:00
Brice Onken
7add0628c5
machine/spifi3.cpp: Implemented HP 1TV3-0302 SPIFI3 SCSI controller. (#10137) 2022-08-05 20:49:51 +10:00
holub
c92c0c967f
sinclair/atm.cpp: Got ATM Turbo 2 mostly working. (#10149)
Implemented memory banking, video modes, palette and COVOX.

Machines promoted to working
--------------------------
MicroART ATM-Turbo 2
2022-08-05 01:41:30 +10:00
0kmg
744493d3ac
bus/pce_ctrl: Added support for Coconuts Japan Pachinko Controller CJPC-102. (#10165)
For all controllers, added %p player specifier, made device_input_ports() protected, and moved initializations from headers to constructors.
2022-08-05 01:08:48 +10:00
AJR
c19f2c5d46 a800: Add support for the ICD R-Time 8 cartridge 2022-07-30 15:36:04 -04:00
David Haywood
d08013cc66
cloned the mcs51 core as axc51, stripped it back, will allow monon work to continue without making a mess of the original mcs51 core. (#10140)
* cloned the mcs51 core as axc51, stripped it back, will allow monon work to continue without making a mess of the original mcs51 core.

* remove some redundant bits

* replace SFR table with AXC51 / AX208 one, removing some other functionality which is not the same on this series

* remove some other bits that are redundant now we're not trying to support other mcs51 models in the axc core
2022-07-28 14:53:34 -04:00
Patrick Mackinlay
9540628cd5 am9516: new device 2022-07-20 19:47:39 +07:00
Patrick Mackinlay
1a6147aeb9 opus100pm: add opus 108pm isa bus card 2022-07-11 14:14:45 +07:00
Vas Crabb
ba98284097 Minor cleanup:
* Don't put full path to target resources in generated version resource
  file.
* apple/sonora.cpp: Only #include "emu.h" as first thing in .cpp file to
  avoid PCH issues.
* taito/rbisland.cpp: Cleaned up a few details.
2022-07-11 01:25:39 +10:00
AJR
21c3c10564 Seta X1-001 sprite device cleanup
- Use 16-bit pointer for sprite RAM storage (despite some systems only having 8-bit CPUs)
- Rename device and move to src/devices
- Clean up variable naming in associated drivers
- neobattl: Add DIP switch locations
- krzybowl: Reduce clocks to match known XTAL value
2022-07-01 23:14:45 -04:00
Olivier Galibert
96e24fc56b There is only one Sega 2022-07-01 17:44:39 +02:00
Olivier Galibert
2e8c8a3792 Move avgdvg into devices 2022-07-01 16:23:31 +02:00
npwoods
ab3a5e1df7
Created a CBM DOS file system driver and added it to the 1541 implementation (#9922) 2022-06-30 09:25:50 +02:00
hap
7a434982fb source org: move kr1601rr1 earom chip device to devices/machine 2022-06-29 15:14:17 +02:00
AJR
21efb0e47c Start moving devices out of src/mame/shared to more appropriate places 2022-06-28 14:41:16 -04:00
Vas Crabb
871837b123 More quality of life features for new source layout:
Added support for wildcards in .flt filter files.  You'll need to quote
them to avoid /* being parsed as a comment initiator, like "seta/*.cpp"
on a line including the quotes.

Added an XSLT filter for listing system driver sources, like
mame -lx | xsltproc scripts/xslt/list-system-sources.xslt

Converted the ci subtarget (which isn't really used much) into a .flt
rather than .lua and .lst files.
2022-06-29 01:29:04 +10:00
Miodrag Milanović
1442ceeb5a
Prevent src/devices from inadvertently including headers from src/mame. (#9996) 2022-06-28 19:04:31 +10:00
Vas Crabb
513e30cbbb Added make opions for filter file, adjusted source path display.
Added SOURCEFILTER option to specify a driver filter file in your make
options, e.g. like make SUBTARGET=custom SOURCEFILTER=mydrivers.flt (or
put it in your useroptions.mak if you'll be using it a lot).  It
functions more-or-less like SOURCES on steroids.

Changed the way system/device source file paths are displayed to suit
the new source layout better.  INI file loading hasn't changed, that
still just uses the base file name.

Added overlooked trigger to src/bus.lua to include NES controller bus if
the NES zapper sensor is needed.
2022-06-28 16:33:06 +10:00
Vas Crabb
ab6237da82 Eliminated cross dependencies between driver projects.
Driver projects now use globs to search for files.  There's less effort
editing the Lua files when things are moved around.  Remember it won't
automatically pick up a change, so if you add/remove/change files, you
should touch makefile to get it to find the change.

Driver projects no longer get the top-level MAME directory as an include
path.  This means you need to think about how you structure things and
not introduce nasty circular dependencies.

Subtarget projects can now be generated entirely from .flt files without
the need for separate Lua scripts and .lst files.  This has been done
for the arcade, mess and virtual targets.  It effectively works like a
SOURCES= build on a large scale.  This means you need to organise things
so the dependency genrators can find them.

There's an issue with the mess subtarget right now.  For some reason,
decmate2.cpp isn't picking up the dependency on the PDP8 CPU core for
the HD6120 device.  I'll debug it later
2022-06-27 18:06:20 +10:00
Vas Crabb
38fed2ff78 bus/nubus: Got rid of CRTC hacks in Macintosh Display Card emulation.
* Changed name of cards for slot selection to "mdc48" and "mdc824" as
  they're unrelated to the later 8*24 GC card.
* Also cleaned up code substantially and got rid of artificial
  differences between Display Card 4*8 and 8*24.
* Moved lists of NuBus and SE/30 PDS cards to a common place.
* Got some class declarations out of headers to reduce recompiles.
2022-06-25 10:27:36 +10:00
Vas Crabb
af97d42dd3 bus/nubus: More Mac video card improvements.
Started implementing the Macintosh Display Card CRTC.  It gives correct
resolutions, although refresh rates are incorrect.  Added machine
configuration settings allowing several monitors to be selected.

Implemented the Macintosh Display Card's packed RGB mode.  The
base/stride in RGB mode make more sense with this implemented.

Cleaned up the code for the SuperMac Spectrum cards, and fixed the
garbage at the bottom of the screen on the Spectrum/8.

Put a layout with views for common monitor aspect ratios in a place
where cards can use it.  This is especially useful for the NuBus cards
that can support portrait monitors.
2022-06-24 07:05:48 +10:00
AJR
e50b51fe78 pc_kbd: Add emulation of Cherry G80-1500 keyboard, minus smartcard reader 2022-06-23 08:24:58 -04:00
Vas Crabb
449f65cfc4 bus/nubus: More improvements to SuperMac Spectrum video cards.
Factored CRTC and shift register out of Spectrum/8 and added to Spectrum
PDQ.  Fixes video mode selection and resolution for Spectrum PDQ.

Implemented vertical interrupt position, stride, line offset and clock
source registers for Spectrum PDQ.  Added a hack to work around line end
control not being understood.  Also added save state support.

Slightly modernised the Macintosh Display Card (JMFB) device code.

Initialised some driver state class members that were causing System 7
to fail to see files. [Ivan Vangelista]
2022-06-23 07:05:46 +10:00
Nigel Barnes
1ebcd7cfd5 bus/archimedes/podule: Added Hard Disk podules (not working).
- Acorn AKD52 Hard Disc Podule
- Computerware Hard Disk Podule
- Morley Electronics Hard Disc Podule
- Watford Electronics Archimedes Hard Disk Podule
2022-06-22 21:40:55 +01:00
Vas Crabb
60179d8c95 Acknowledge presence of circular dependencies to keep GNU ld happy on Linux. 2022-06-17 23:51:57 +10:00
AJR
3a66b9211f mc68hc11z1, cfp1080s: Separate source file for MCU; add numerous logging stubs 2022-06-16 20:35:41 -04:00
Vas Crabb
94c22aaf78 More scheduler optimisation, Visual Studio build fixes, and cleanup.
emu/schedule.cpp: Fixed a few more pessimising assumptions.  Gains a few
percent in Ketsui and SNES SuperFX.

util/endianness.h: Added some more operations on endian-swizzlers.
Changed a few more drivers to use them.

sun2.cpp: Fixed uninitialised variable that could cause corrupt video.

Fixed some issues with Visual Studio project generation after the
changes to Windows resource creation.
2022-06-17 05:36:24 +10:00
Vas Crabb
1964365f34 Optimisation, and baby steps towards untangling stuff:
Optimised the scheduler's handling of unscheduled timers - gives a 50%
performance improvement in some timer-heavy drivers.

Added better endianness swizzling helpers.

Got rid of some of the OSD input modules' dependence on concrete input
classes from emu.
2022-06-16 03:32:46 +10:00
Vas Crabb
d8854e4e55 Updated scripts to support SOURCES= builds after the reorganisation happens. 2022-06-15 05:07:09 +10:00
Olivier Galibert
e76d23fc73 saa7191: Move to devices/machine too 2022-06-14 12:07:55 +02:00
Olivier Galibert
58650bd681 at, cammu: kick upstairs too 2022-06-14 12:07:55 +02:00
Olivier Galibert
ec1cdc738c archimedes_keyb: also kick upstairs in devices/machine 2022-06-13 19:14:39 +02:00
Olivier Galibert
0ed8bbcab7 fm_scsi: kick upstairs in devices/machine 2022-06-13 19:14:39 +02:00
Vas Crabb
74fe6e9d5c -Got rid of some legacy MESS support glue.
* Got rid of the special-casing for the "mess" subtarget name.
* Got rid of the MESS-specific Windows resources, emuator info source
  and man page.
* Added subtarget name to the internal name and original name in Windows
  resources.

-ui: Put the system-specific items on the input settings menu together,
 and fixed the crosshair visibility settings.
2022-06-13 16:53:23 +10:00
Vas Crabb
f47f9c3db3
ui, docs: Added menus to fill a couple of gaps, improved consistency. (#9915)
Added menus for controlling toggle inputs, and showing recognised input
devices and control state.  Moved input menu options off main menu to a
submenu, as there are a lot of them now.

Moved menu heading drawing into base class, added headings to more
menus, and made headings more consistent with the menu items used to
reach them.  Also made terminology more consistent.

Changed the default names for buttons and hat switches/D-pads to use
1-based numbering.  DirectInput still returns 0-based button numbers for
some devices.

Removed local copy of MinGW xaudio2.h as it’s now included in the MSYS2
package.  Also fixed building the DirectSound sound output module with
the SDL OSD on Windows - the Windows headers are sensitive to include
order.

Started adding documentation for menus, to hopefully help people find
menus they remember seeing but can't recall how to access.

For translators, this makes terminology more consistent.  In particular:
* "Settings" is preferred over "configuration" in a number of places, as
  the latter can be construed as referring specifically to settings
  stored in .cfg files in the cfg_directory folder.  Also, references to
  saving machine configuration could be interpreted as relating to the
  settings on the "Machine Configuration" menu.
* The controls on host input devices (e.g. keys, buttons, joystick axes)
  are referred to as "controls", while emulated inputs are referred to
  as "inputs".
* The menus for assigning host controls to emulated inputs are called
  "input assignments" menus to distinguish them from other input
  settings menus.
* Combinations of controls that can be assigned to emulated inputs are
  referred to as "combinations" rather than "sequences".
* The potentially confusing term "ROM set" has been removed altogether.
  Use "short name" to refer to a device or system's identifier.
* "System" is used in almost places to refer to a complete, runnable
  system rather than "Machine".
* "Driver" is now only used to refer to source files where systems or
  devices are defined - it is no longer used to refer to individual
  systems.
* A few more menus have message context for the messages.  This makes it
  a bit easier to guess where the messages are used.  It also means you
  can use different translations in different places if necessary (e.g.
  if the same English text should be translated differently as an item
  in one menu and as a heading in another).
2022-06-11 21:47:19 +10:00
Miodrag Milanovic
da0cf02007 New working clones
------------------
RC2014 Micro [Miodrag Milanovic]
SC203 - Modular Z180 Computer [Miodrag Milanovic]
SC105 - Modular Backplane (RC2014) [Miodrag Milanovic]
SC112 - Modular Backplane (RC2014) [Miodrag Milanovic]
SC116 - Modular Backplane (RC2014) [Miodrag Milanovic]
SC133 - Modular Backplane (RC2014) [Miodrag Milanovic]
2022-06-06 13:37:08 +02:00
Miodrag Milanović
b26c4ed848
Z180 ASCI (#9762)
New working machines
-----------------------------------
Micromint SB180 [Miodrag Milanovic]

-z180: implemented ASCI serial communication [Miodrag Milanovic]
-tim011: hookup serial keyboard [Miodrag Milanovic]

-20pacgal:  Add support for terminal
2022-06-06 10:48:41 +02:00
arbee
536755e380 apple2: support for the Excel-9 6809 card, which runs Flex09. [Rob Justice, R. Belmont] 2022-06-05 22:27:26 -04:00
Nigel Barnes
e0b3f53210 bus/bbc/userport: Added SD Card, and SD Turbo interfaces (not working). 2022-06-05 12:06:40 +01:00
Nigel Barnes
3a49ac4301 bus/bbc/modem: Added Master Extra User Port device. 2022-06-05 12:06:40 +01:00
Nigel Barnes
2094666305 New working software list additions
-----------------------------------
electron_cart: ElkSD Plus 1 [Ramtop, Nigel Barnes]
bbcm_cart: Master SD [Ramptop, Nigel Barnes]
2022-06-05 12:06:40 +01:00
Nigel Barnes
b788307114 bus/electron: Added the ElkSD64 and ElkSD128 Electron SD interfaces. 2022-06-05 12:06:40 +01:00
Patrick Mackinlay
5a3533b277 labtam: add 8086 vdu comm board [Xolod] 2022-05-31 17:24:02 +07:00
AJR
f6994d2d42 kl5c80a12: Add KP64 timer/counter units to emulation 2022-05-30 17:35:10 -04:00
Vas Crabb
9ce44fa048 osd: Cleaned up Windows API usage a little.
* Bumped target windows version to 6.0.0 (Vista).
* Use WRL COM pointers to manage some COM-like objects.
* Cleaned up logging in DirectSound module.
* Cleaned up includes in Windows input modules.
* Switched to Common Item Dialogs in Windows debugger.
* Replaced disabled code that never really worked with a TODO comment.
2022-05-26 03:07:28 +10:00
Patrick Mackinlay
f28212d524 labtam: labtam 3000 z80 sbc work in progress [Xolod] 2022-05-25 19:27:55 +07:00
Patrick Mackinlay
91f886d371 labtam: rename 3232 device 2022-05-25 19:18:29 +07:00
Angelo Salese
e6180e3510
Initial work towards a sis630 based chipset driver (#9635)
- Add more or less complete implementations of sis630_host, sis950_lpc, sis630_gui, sis5513_ide, sis7001_usb, sis7018_audio, sis900_eth devices;
- Removed gamecstl.cpp in favour to the new sis630.cpp driver;
- i386.cpp: enable CMOV feature for Pentium III and 4;
- i386.cpp: add PSN stub feature for Pentium III;

New machines marked as NOT_WORKING
----------------------------------
Shuttle MS-11 [Angelo Salese, archive.org]
2022-05-23 17:27:33 +02:00
Vas Crabb
3984f8f883 srcclean in preparation for release 2022-05-22 09:36:01 +10:00
smf-
988a9b974a partial revert of 68ebb786d1 2022-05-20 16:31:52 +01:00
smf-
68ebb786d1 Added Z80 Video Pak cartridge to Commodore 64. [smf]
Fixed XL-80 cartridge lower case and inverse video [smf]
2022-05-20 15:06:04 +01:00
Patrick Mackinlay
56702e4217 labtam3232: new card skeleton 2022-05-20 14:55:29 +07:00
couriersud
0c258c9d70
netlist: Fixes to address PR #9752 and issue #8590 / EMSCRIPTEN (#9773)
netlist: pointer to member function code 

- Address PR #9752 and issue #8590
- change comments in ppmf.h
- add support for function desciptors (IA64)
- sizeof(size_t) may be different on build targets
  make plib::hash use uint64 to ensure consistent static solver
  hashes across platforms (EMSCRIPTEN)
- Moved constructor and member functions outside the class declaration
  with the exception of "call" member functions.
- Updated comment on accessing RDX
- Added more test cases

* Removed execution bit on certain files
I have separated out the raw processing code into `ppmf.cpp`. I have
also taken first steps to clean the abi identification.

The code submitted now supports:

a) The unknown virtual inheritance case with specific code for MSVC for
simple (i.e. scalar, void, reference, pointer) return types using the
optimized code. This is the test case only supported under MSVC and
which should return 7. Please have a look at the code. Basically
m_vptr_offset is an index into a pointer table. It needs to be
multiplied by `sizeof(void *)`.

b) If you enable PPMF_EXPERIMENTAL complex return type member functions
for MSVC will also use the optimized code path. This is explained in
detail in the code in ppmf, including caveats and possible solutions.

c) Enabling PPMF_USE_MAME_DELEGATES will use `src/lib/util/delegate.h`
as a replacement for `ppmf.h`. This allows to run the same tests
(`nltool -c tests` from standalone build) as for the ppmf code.

d) The code now also supports `clang-cl`

e) sizeof(size_t) may be different on build targets.

Make plib::hash use uint64 to ensure consistent static solver hashes
across platforms. This fixes loading static solvers (if enabled) on
EMSCRIPTEN.
2022-05-19 19:40:00 +02:00
Nigel Barnes
b81f68eb66 mtx.cpp: New expansion devices CFX System and MAGROM.
- Added Reset keys and joystick ports.
- Re-implemented cartridge slot as external ROMPAK device.
2022-05-18 21:07:44 +01:00
Miodrag Milanović
6d595718f5
bus/rc2014 code review fixes (#9768)
* Unmap I/O space on bus reset and install I/O on card reset.
* Cleaned up code.
2022-05-17 05:12:28 +10:00
Miodrag Milanović
36204d73da
RC2014 (#9759)
New working clones
------------------
RC2014 Mini with CP/M Upgrade [Miodrag Milanovic]


-rc2014: added RTC, IDE, FDC and Sound module, fix memory and i/o mapping, proper flash mapping
2022-05-15 18:58:59 +02:00
Nigel Barnes
3377ee1d79 bus/bbc/internal: Added the Memex-B20 board. 2022-05-15 16:15:00 +01:00
Miodrag Milanović
437f504eef
RC2014 (#9716)
New working machines
--------------------
RC2014 Classic [Miodrag Milanovic]
RC2014 Pro [Miodrag Milanovic]
RC2014 Classic II [Miodrag Milanovic]
RC2014 Zed [Miodrag Milanovic]
RC2014 Zed Pro [Miodrag Milanovic]
2022-05-10 15:03:30 +02:00
AJR
c0ace34b7e New disassemblers for unidasm: hp2100, hp21mx, v620, v75 2022-05-04 23:54:46 -04:00
couriersud
a8fe401275
Suppress compile warnings in asmjit with GCC 7. (#9675) 2022-05-04 04:44:44 +10:00
Miodrag Milanović
394107b576
-tim011.cpp: Hooked up floppy drives properly. (#9649)
* Hooked up floppy drives and controller properly, and implemented video display.
* formats/tim011_dsk.cpp: Added TIM 011 floppy image format.

-machine/upd765.cpp: If waiting for additional command bytes, treat a data register read as an open bus write (tested on real hardware) and always trigger the DRQ line even if in nodma mode. [Carl

-cpu/z180: Added callbacks for tend; decrement bcr1 when DMA channel 1 is active. [Carl]
2022-05-02 04:45:47 +10:00
Angelo Salese
e383606922
pc8801.cpp: major groundwork cleanups (#9533)
* pc80s31k.cpp: minor XTAL cleanup

* pc8801.cpp: reduce signature name fns

* pc8801.cpp: separate dictionary and CD-ROM later model use into own state machines

* pc8801.cpp: clean input ports a bit

* pc8801.cpp: bulk printf -> logerror

* pc8801.cpp: misc cleanups

* pc8801.cpp: more misc cleanups

* pc8801.cpp: initial batch of exporting PC8801-31 to a separate device

* pc8801_31.cpp: document register map, add machine ID

* pc8801.cpp: fix configuration mistake for CPU speed

* pc8801.cpp: add base diplocations, massage documentation of ports $30, $31, $40, misc cleanups

* pc8801.cpp: fix mouse cursor jump bugs, remove deprecated PORT_RESET usage;
pc8801.cpp: rework and extend expansion slot descriptions;

* pc8801.cpp: add note about extended FH keyboards

* pc8801.cpp: add dip positions for BASIC dips

* pc8801_31.cpp: add stub SCSI bus controller

* pc8801.cpp: blind fix kanji LV2 hookup

* pc8801.cpp: use required_region_ptr for ROM regions, split kanji_lv2 to own one

* pc8801.cpp: move a few notes to XML

* pc8801_flop.xml: correct Digan no Maseki title

* pc8801.cpp: remove unneeded port $33 hookup (should be unmapped on all PC8801 variants)

* pc8801.cpp: initial implementation of interrupts using i8214 as base. Fixes at least yojukiko and bishojbg BGMs

* pc8801.cpp: add clock calculation for internal DAC1BIT, add reported V1 revision numbers for each romset.

* pc8801.cpp: move OPN/OPNA sound chip mounts to internal model types, add stereo mixing

* pc8801.cpp: add sound irq pending mechanism, particularly needed by Telenet games

* pc8801_flop.xml: update QA notes

* pc8801_flop.xml: more misc QA notes

* pc8801.cpp: improve irq semantics, connect rxrdy_irq_w signal

* pc8801.cpp: fix some irq regressions

* pc8801.cpp: make OPNA a bit less louder, QA checkpoint

* pc8801.cpp: fix broken link, unmapped I/O documentation

* pc8801.cpp: add JMB-X1 map, other minor notes

* pc8801_flop.xml: fix metalora title and manufacturer

* pc8801.cpp: minor cleanups

* pc8801.cpp: start inheriting from base pc8001_base_state, add initial hooks for actual 3301 + i8257 devices

* pc8801.cpp: fix port40_r reading mistake

* pc8801.cpp: fix 24kHz pixel clock

* pc8801.cpp: 3301 irq is tied to VRTC not INT

* upd3301.cpp: fix VRTC vblank/display bit timer

* pc8801.cpp: fix DMA readback

* upd3301.cpp: convert to logmasked

* upd3301.cpp: support for no attributes/no special control mode

* pc8801.cpp: simplify bitmap 3bpp drawing and add preliminary palette rasters

* pc8801.cpp: misc documentation updates

* upd3301.cpp: clear bitmap layer on FIFO reset

* i8214.cpp: PoC in separating INT ASSERT and CLEAR phases
pc8801.cpp: tie acknowledge to INT rather than inside callback. Avoids spurious irq regressions;

* upd3301.cpp: handle bitmaps as pure transparent;
pc8801.cpp: add BG Pal handling, honor transparency in all bitmap layers;

* pc8801.cpp: minor cleanups

* pc8801.cpp: better handling of bitmap fills

* pc8001.cpp: carry over attribute fetches between lines when 3301 is in color mode

* pc8801_flop.xml: update QA, move notes from main driver

* pc8801.cpp: implement colorized b&w graphic modes

* pc8801.cpp: cleanup obsolete functions

* pc8801.cpp: extend a bunch of notes

* pc8801.cpp: add boilerplate code for base irq mechanism

* pc8801.cpp: add expansion card support, with JMB-X1 (partly addresses #8709), PC-8801-23 and PCG-8100 as PoC examples.

* pc8801_exp.h: fix CI clang build

* pc8801_31.cpp: SW list hookup

New NOT_WORKING software list additions
---------------------------------------
pc8801_cdrom.xml: CD Takarabako [r09]

* pc8801.cpp: promote some romsets to parent

* pc8801.h: reinstate dummy initialization in state machines

* pc8801.cpp: save_item to all variables in state machines
2022-04-16 01:36:53 +02:00
hap
efb0ba9dcd cpu.lua: fix typo from prev commit 2022-04-10 13:51:09 +02:00
hap
cd52b38151 rw5000: added b5500 2022-04-10 13:25:02 +02:00
Patrick Mackinlay
3c76a688d3 New machines marked as NOT_WORKING
---
Signetics SMVME2000 [Plamen Mihaylov]
2022-04-07 09:13:39 +07:00
Olivier Galibert
e4564eb99a cdrom_file: classify. Could use more internal work, but it's a step 2022-04-01 11:36:55 +02:00
hap
334120cd95 New working machines
--------------------
10R (Rockwell) [hap, Sean Riddle]
12R (Rockwell) [hap, Sean Riddle]
2022-03-31 19:25:08 +02:00
Patrick Mackinlay
d016a6d409 isbc8024: new multibus card with unknown firmware [Andy Welburn] 2022-03-31 17:50:30 +07:00
hap
9d9ec1a2f7 rw5000: add a5500 2022-03-29 15:14:55 +02:00
hap
f876dd8241 rw5000: add a5000/a5900 2022-03-29 01:43:47 +02:00
hap
eb7bfe8450 b5000: rename base class to rw5000 2022-03-28 23:52:01 +02:00
MooglyGuy
06e60e848f
Time Traveler (set 1) - promoted to working (#9468) [Ryan Holtz]
* machine/laserdsc.cpp: Added functionality to retrieve if a disc is CAV.
* machine/ldv4200hle.cpp: Added high-level Pioneer LD-V4200 player emulation.

Machines promoted to working
----------------------------
Time Traveler (set 1) [Ryan Holtz, Matt O, ld-decode Team]
2022-03-27 00:41:51 +11:00
Brian Johnson
9a6faae734
qx10: add multifont option card (#9286) 2022-03-20 23:31:38 -04:00
Michael Zapf
f2ddee6df3 ti99: New expansion card "TIPI". 2022-03-20 20:03:51 +01:00
hap
8b8bb2fa75 b5000: add b6000, b6100 2022-03-20 00:19:50 +01:00
Nigel Barnes
3e438cde6c bus/archimedes/podule: Added MIDI devices:
- EMR MIDI 2 Interface
- EMR MIDI 4 Interface
2022-03-17 22:17:14 +00:00
Nigel Barnes
08882ee89e bus/archimedes/econet: Added MIDI devices:
- The Serial Port MIDI Interface
- The Serial Port Sampler and MIDI Interface
2022-03-17 22:17:14 +00:00
0kmg
acca7d5898
bus/nes_ctrl: Split zapper sensor off as a reusable device. (#9417) 2022-03-17 12:29:56 -04:00
hap
2dab71e7e0 add b5000 cpu core file placeholders 2022-03-17 14:07:17 +01:00
arbee
935380746d Add missing cpu.lua entries for the rest of the SM5* family. Fixes single-driver builds. [R. Belmont] 2022-03-14 22:21:18 -04:00
hap
5efd366143 nes: added R.O.B. 2022-03-15 00:10:17 +01:00
Patrick Mackinlay
2b5755845b pcmx2: boot to monitor
* refactored into cards
* boots to firmware monitor
2022-03-11 19:37:55 +07:00
Patrick Mackinlay
89b850c9d9 ns32382: new device 2022-03-04 12:36:33 +07:00
Nigel Barnes
42910ab7b6 bus/bbc/joyport: Added the Master Compact mouse. 2022-02-27 16:23:03 +00:00
Vas Crabb
e539b09943 Re-enabled some compiler warnings and cleaned up some Python scripts a little. 2022-02-24 16:35:13 +11:00
Angelo Salese
deff4306c5
amiga.cpp: modernization changes (#9263)
Structural changes:

- amiga_copper.cpp: convert to device, added copins implementation as debugging mailbox, convert to logmacro.h;
- 8364_paula.cpp: convert audio implementation accessors from switch-case to per-channel maps;
- amiga.cpp: convert OCS/ECS/AGA chipset flavours to address_map_bank_device, currently using the older custom_chip_r/_w as a legacy trampoline that will be progressively removed once that we have working implementations of Agnus/Denise and derivatives;
- akiko.cpp: convert to logmacro.h;
- amigafdc.cpp: better elaborate QA notes, add "Trackdisk" to device long name as officially referred by Amiga SDK:
- amiga.cpp: kicked off an amiga_demos.xml SW list hookup;

Adds the following implementation detail changes:
- amigaaga.cpp: fix sprites and bitplanes in dualpf modes, fixes at very least cd32:dstreets on gameplay;
- amigaaga.cpp: fix BPLCON0 when planes == 7 is set, fixes title screen GFXs in surfninj;
- amigaaga.cpp: use HAM6 when not in AGA mode, fixes colors in cdtv:townona when run with CD32 system;
- amigaaga.cpp: fix sprite control fetches when FMODE != 0, fixes at very least Digger AGA sprites display;
- amigaaga.cpp: add extended bitplane delay hooks;
- amigaaga.cpp: fix HAM8 when in HIRES mode, fixes at least roadkill title and car screens;
- amiga.cpp: allow LOF bit to be set by writing bit 15 on VPOSW, fix roadkill AGA boot;
- amigaaga.cpp: implement Extra Half-Brite mode, used by bblow_a main menu
- amiga.cpp: disallow blitter address writes to go beyond the allocated chip RAM, fixes OCS sockid and AGA sockid_a drawing spurious filled tiles on playfield;
- amiga.cpp, amigaaga.cpp: workaround most GFX pitch corruptions, caused by implicit DDFSTOP overrunning width loop;
- amiga.cpp: allow DDFSTRT and DDFSTOP to read bit 2 in lores mode, fix swordsod GFX pitch in gameplay;
- amiga.cpp: use pf2pri for non-dual playfield, fixes alfred player sprite visibility;
- akiko.cpp: subq command adds +2 in command buffer, fixes cdtv:defcrown hardlock emulation;
- amigaaga.cpp: implement bscan2;
- amiga.cpp: disable floppy drive default for CD32;
- cubo.cpp: add inputs to eldoralg/odeontw/odeontw2;
- amiga.cpp: allow CD32 to read CDTV titles from SW list;

New NOT_WORKING software list additions
---------------------------------------
cdtv.xml: 17 Bit - Collection for Amiga CDTV, 17 Bit - Continuation Disc,
A Bun for Barney (USA), Advanced Military Systems (Europe),
American Heritage Illustrated Encyclopedic Dictionary (USA, 1991a Edition),
Barney Bear Goes to School (USA), Cinderella - The Original Fairy Tale (USA),
Defender of the Crown CDTV (Europe), Deutschland Kompakt (Germany),
Fantastic Voyage (USA), Garden Fax - Garden Plants (USA),
Garden Fax - Trees, Shrubs, Roses, and Conifers (USA),
Language TV - English (France), Lemmings (Europe), Log!cal (Europe),
Mud Puddle (USA, Multi 5), Pandora's CD v1.0 (alt), Psycho Killer (U2A2020UA),
CDTV Demo Disc (Europe), Raffles (Sweden),
Snoopy - The Case of the Missing Blanket (Sweden), Team Yankee (Europe),
The Curse of Ra (Germany),
The Demo Collection for Amiga CDTV (Europe, Black Disc),
The Hutchinson Encyclopedia (Europe),
The New Basics Electronic Cookbook (USA, 1991a Edition),
Time Table of History - Business, Politics & Media (USA, 1991a Edition),
Trivial Pursuit - The CDTV Edition (Europe, v1.0a),
Turrican (Germany, alt), Turrican II: The Final Fight (Germany, alt),
Welcome to CDTV Multimedia (USA, CDRM-499000), Wrath of the Demon (USA),
Xenon 2 - Megablast (Eng, Fra, Ger, Ita), Ten on Ten Compilation [redump.org]
2022-02-22 00:20:36 +01:00
Nigel Barnes
72340954af New working clones
------------------
BBC Micro Model B (Norway) [Nigel Barnes]

New clones marked as NOT_WORKING
--------------------------------
Cisco SIST1 Terminal [Nigel Barnes]
2022-02-19 17:08:09 +00:00
Nigel Barnes
8b7d833599 bus/coco: Added Glenside IDE Adapter. 2022-02-19 17:08:08 +00:00
Patrick Mackinlay
e4588d1f45 asmjit: mame integration 2022-02-13 21:26:55 +07:00
Vas Crabb
a185091855
Addressed some Lua scripting pitfalls. (#9294)
Addressed pure virtual function call crash on end of emulation session
if you haven't explicitly removed all address space taps, memory
corruption on end of emulation session if you haven't explicitly removed
all address space change notifiers, and symbol being garbage-collected
out from under you while you have parsed expressions or other symbol
tables that depend on them.

Removed the copy constructor for parsed expressions as the underlying
C++ copy constructor appears to be broken, and simplified symbol table
constructors.  Also made symbol table add methods return the new entry
to avoid the need for an extra lookup.

Fixed breakpoint/watchpoint objects being inappropriately copied into
the tables returned by bplist() and wplist(), allowing the enabled
property to be modifiable for breakpoint and watchpoint objects in Lua.

Fixed drivers and devices causing a new memory pass-through handler to
be allocated on each soft reset, and fixed multiple instances of taps
being installed in the event the machine is reset before the tap is
removed.

Added classes for managing broadcast subscriptions, and adapted address
spaces to use this for change notifications.
2022-02-12 04:10:39 +11:00
ksherlock
69271581e6
bus/a2bus: Added Apple II 3.5" Disk Controller Card. (#9215)
Apple II 3.5" Disk Controller Card, Apple P/N A0076LL/A, Announced July 1991, Released March 1992. $149.95 MSRP
2022-02-09 04:00:32 +11:00
Brian Johnson
8b5307cee0
bus/epson_qx, qx10.cpp: Added Epson QX-10 expansion bus. (#9241) 2022-02-09 03:36:14 +11:00
Curt Coder
8099d46984 abc1600: Added sector dump floppy image format. [Curt Coder] 2022-02-07 09:28:14 +02:00
AJR
3f690ce5ee 65C02 updates
- Add W65C02S CPU emulation with subtly different fetch patterns from classic 65C02 and use it for arbv2, cmmb103, cmmb162 and bbc_tube_rc6502
- Replace ST2XXX's slightly customized CPU emulation with hooks into new W65C02S core
2022-01-27 09:31:03 -05:00
Tom
eb3c4e67da
zx spectrum: new slot devices, floating bus restore, big mface tidy-up (#7913) 2022-01-25 07:45:31 -05:00
AJR
e9b1702be1 Add build file missing from 12a1291f5a 2022-01-15 19:54:07 -05:00
Robbbert
25e2a1c634 Fixed arcade build; added missing newline. 2022-01-08 09:39:01 +11:00
goldnchild
c21bea828d
Adding bitmap_printer_device and convert epson_lx810 to use it. (#8863) 2022-01-07 15:07:58 -05:00
npwoods
fd73621285
Created an initial file system implementation for OS-9 under the CoCo (#9096)
* Created an initial file system implementation for OS-9 under the CoCo

* Minor fixes to directory entry handling

* Changed to use fsblk_t::r[8|16|24|32]b()
- Changed the above functions to be const
2022-01-07 18:04:07 +01: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
arbee
436525a8c7 apple2: Added support for the ProDOS ROM Drive card. [R. Belmont] 2022-01-04 21:26:58 -05:00
npwoods
84236b7f7c
Added a 'version' verb to floptool (#9079) 2022-01-04 05:20:42 +11:00
shattered
7d56d3a70b
qbus device: DVK KGD framebuffer (#9058) 2022-01-03 09:55:16 -05:00
npwoods
fbff8a2483
Reimplemented support for the CoCo's RS-DOS filesystem on top of the "fsmgr" framework (currently read only) (#9080)
* Reimplemented support for the CoCo's RS-DOS filesystem on top of the "fsmgr" framework (currently read only)

* Added support for file_type and ascii_flag metadata, minor bug fix decoding file allocation table entries

* Creating a "CoCo Raw Disk" format and changing the CoCo RS-DOS filesystem to use it

* 1.  Adding COCO_RAWDSK to all.cpp
2.  Fixing sector order on CoCo raw disk
2022-01-03 09:47:01 +01:00
0kmg
9b853c77fd
-bus/nes_ctrl: Added support for Famicom Turbofile backup RAM. (#9034)
-nes.xml: Corrected Metroid release year.
2021-12-26 02:50:08 +11: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
Justin Kerk
3fd7f8ac57 Fix build with newer versions of Emscripten; minimum supported version is now 2.0.25. 2021-12-23 02:13:53 +00:00
0kmg
0e66408732
bus/nes_ctrl: Added a SNES controller port adapter. (#9027) 2021-12-22 08:29:21 -05:00
hap
a44de917e1 sm510: fix wakeup after CEND, reorganize files a bit 2021-12-21 17:45:56 +01:00
shattered
0285af475f
besta: Converted to VME device. (#9008) 2021-12-20 03:42:05 +11:00
arbee
10457bb855 a2bus: add support for the Grafex-32 uPD7220 video card [Rob Justice, R. Belmont] 2021-12-16 21:24:38 -05:00
arbee
c6d1c58433 a2bus: consolidate card lists to clean up the drivers. [R. Belmont] 2021-12-16 20:15:20 -05:00
AJR
1214aac092 Filesystem code cleanup
- Eliminate dependencies on emu.h, replacing most fatalerror calls and floptool's ersatz emu_fatalerror class with standard exception classes
- Use range-based std::string constructors in some methods
- Move filesystem metadata handling to a separate source file
- Eliminate src/emu as an include path for libformats (necessitates kludge in ti99_dsk.cpp)
2021-12-14 21:42:42 -05:00
arbee
a3ba70ad14 gt913: fix single-driver build, fix invalid Unicode character. [R. Belmont] 2021-12-14 11:26:27 -05:00
cam900
00f45b9df1
Atari Lynx emulation updates (#8931)
* Atari Lynx emulation updates
- Use memory_view for address mapping
- Support variable framerate, Fix screen overscan (102 visible + 3 blank lines)
- Fix collision handling (possibly copy-paste error?)
- Reduce unnecessary shared pointers, Some duplications
- Use inlines values for bit flags
- Add support for variable page size for cartridge, AUDIN pin for bankswitch
- Add hardware notes, Initialize values
- Fix namings, Fix spacings, Use shorter/correct type values
- Move lynx sound functions into device/sound/lynx.*, Fix sound pitch (input clock related)
2021-12-14 10:31:51 -05:00
Nigel Barnes
a3e1eb3413 bus/archimedes/podule: Podules for Acorn Archimedes. [Centre for Computing History]
- ACE Joy Connect
- Beebug Spectra Colour Scanner
- Computer Concepts GreyHawk Video Digitiser
- Computer Concepts ScanLight Junior MkIII
- Morley Electronics Analogue and User Interface
- Morley Electronics User/MIDI/Analogue Interface
- Watford Electronics 256 Grey-Scale Scanner
- Wild Vision MidiMax II
2021-12-03 22:16:15 +00:00
shattered
3e26ee8cfb
dl11: DEC DL11-type serial line unit (#8894) 2021-12-02 22:43:19 -05:00
Dirk Best
620f531c54 Remove a few outdated references to MESS 2021-12-02 13:34:15 +01:00
arbee
83352ba766 New machines added as WORKING
-----------------------------
Franklin Ace 2200 [R. Belmont]
2021-12-01 23:52:48 -05:00
Robbbert
0863066da5 stv: moved video into video/saturn.cpp to remove possible circular dependency. (#8915) 2021-12-01 22:36:51 +11:00
Patrick Mackinlay
e8fbcd5000 3rdparty.lua: fix msvc build by reordering configuration statements 2021-11-30 15:35:37 +07:00
AJR
3ef2082c5f Add CPU16 and HDD device skeletons for Conner CFP1080S 2021-11-25 09:58:50 -05:00
Michael Zapf
b4109bea07 ti99/geneve: Added WHTech SCSI adapter card 2021-11-21 16:38:45 +01:00
0kmg
2b3337f90b
bus/nes_ctrl: Added support for Exciting Boxing air bag controller. (#8817)
Software list items promoted to working (nes.xml)
---------------------------------------
Exciting Boxing (Japan)
2021-11-20 01:27:39 +11:00
smf-
5926a2e760 clang fixes 2021-11-19 07:55:50 +00:00
Luigi Thirty
1300c4b6e0
New NOT_WORKING machines
---
Motorola MVME12x [Katherine Rohl]
2021-11-16 10:53:07 +07:00