Commit Graph

4198 Commits

Author SHA1 Message Date
Nigel Barnes
76bff24a89 bus/archimedes/podule: Podules for Acorn Archimedes:
- Baildon Electronics IDE HD Interface
- SJ Research Nexus Interface (A500) (not working)
- Wild Vision/Computer Concepts Eagle M2 (not working)
2021-11-15 21:05:03 +00:00
Nigel Barnes
da5f67a62c bus/archimedes/podule: Various podules for Acorn Archimedes:
- Acorn AGA30 BBC I/O Podule
- Acorn AKA05 ROM Podule
- Acorn AKA10 BBC I/O Podule
- Acorn AKA12 User Port/MIDI Podule
- Acorn AKA15 MIDI and BBC I/O Podule
- Acorn AKA16 MIDI Podule
- Acorn AKA25 Ethernet
- Acorn Tube Podule
- Archimedes Dual RS423 Serial Interface (not working)
- Armadillo Systems A448 Sound Sampler (not working)
- Armadillo Systems A448b Stereo MIDI Sound Sampler (not working)
- Atomwide Serial Expansion Card
- Baildon Electronics IDE HD Interface
- Clares Armadeus Sampler Board
- Computer Concepts Fax-Pack (not working)
- Computer Concepts LaserDirect (Canon LBP-4) (not working)
- Computer Concepts ScanLight (not working)
- Computer Concepts ScanLight Junior (not working)
- Computer Concepts ScanLight Video 256 (not working)
- Digital Services Ethernet Podule (not working)
- HCCS User/Analogue Podule
- RISC Developments Ethernet Card (not working)
- RISC Developments IDE Hard Disc System
- VTI User Port and SCSI Podule
- Watford Electronics BBC User I/O Card
- Wild Vision MidiMax
- Wild Vision/Computer Concepts Lark A16
2021-11-14 19:08:41 +00:00
Nigel Barnes
3d0246d5e7 bus/archimedes/econet: Archimedes econet interface devices:
- Econet interface (not working)
- RTFM Joystick Interface
2021-11-14 19:08:41 +00:00
Nigel Barnes
63b97c5cb4 bus/centronics: Added Vertical Twist Joystick Interface (for Archimedes) 2021-11-14 19:08:39 +00: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
0kmg
15093de56d
bus/nes_ctrl: Added support for Doremikko piano keyboard. (#8790) 2021-11-11 00:55:21 +11:00
ClawGrip
2b5b1a4b91
New NOT_WORKING machine (#8778)
* arcade.lua: Add stop.cpp

* New NOT_WORKING machine

----------------------------------
Stop [jordigahan, ClawGrip]
2021-11-07 15:30:05 -05:00
smf-
467a116884 fixes for variables set but not used 2021-11-07 11:25:27 +00:00
Vas Crabb
270276c4d3 -Enabled complex combinations for analog axes:
* Made it possible to add digital controls to axis settings as enables.
* Mix multiple analog controls assigned to an axis setting.
* Added a "reverse" modifier for analog controls (useful with mixing).
* Fixed an issue assigning mouse axes using multiple mouse-like devices
  with -nomultimouse.

-frontend: More cleanup:

* Got rid of some abuse of "special main menus".
* Added a helper class for auto-pause menus that don't spawn submenus.
* Got rid of the fake menu that schedules an exit on the first frame.
* Turned the confirm quit prompt into a menu, eliminated one more
  special-cased event loop.
* Fixed the confirm quit prompt resuming if you return to emulation if
  you weren't paused to begin with.

-bus/centronics: Fixed conflicting DIP locations, reversed order and
 inverted polarity for Epson printers.

* Also added the LX-810 (without L suffix) DIP switches for reference -
  we don't have a device for this printer yet.
2021-11-06 13:52:48 +11:00
0kmg
dce1fd7dfa
bus/nes_ctrl: Added emulation for IGS Tap-tap Mat controller. (#8772)
* Refactored Family Trainer and Tap-tap Mat into common base class.

Software list items promoted to working (nes.xml)
---------------------------------------
Super Mogura Tataki!! Pokkun Moguraa (Japan)
2021-11-03 06:46:43 +11:00
Vas Crabb
d64ea5331b
-frontend: Refactored menu event handling and fixed a number of issues. (#8777)
* Moved common code for drawing about box, info viewer, and other text box menus to a base class; removed the last of the info viewer logic and the multi-line item hack from the base menu class.
* Added previous/next group navigation for general inputs and plugin input selection menus.
* Moved message catalog logic to lib/util, allowing osd and emu to use localised messages.
* Made the base menu class use the UI manager’s feature for holding session state rather than a static map and mutex.
* Improved menu event handling model, and fixed many issues, particularly with menus behaving badly when hidden/shown.
* Added better support for menus that don’t participate in the usual menu stack, like the menuless sliders and the save/load state menus.
* Made a number of menus refresh state when being shown after being hidden (fixes MT08121 among other issues).
* Fixed indication of mounted slot option in the slot option details menu.
* Improved appearance of background menus when emulation isn't running - draw all menus in the stack, and darken the background menus to make the edges of the active menu clearer.
* Fixed locale issues in -listxml.

-debugger: Made GUI debuggers more uniform.
* Added new memory view features to Win32 debugger.
* Fixed spelling of hexadecimal in Cocoa debugger and added decimal address option.
* Fixed duplicate keyboard shortcut in Cocoa debugger (Shift-Cmd-D was both new device window and 64-bit float format).
* Made keyboard shortcuts slightly more consistent across debuggers.

-plugins: Moved input selection menu and sequence polling code to a common library.  Fixed the issue that prevented keyboard inputs being mapped with -steadykey on.

-docs: Started adding some documentation for MAME's internal UI, and updated the list of example front-ends.

-Regenerated message catalog sources.  For translators, the new strings are mostly:
* The names of the inputs provided by the OS-dependent layer for things like fullscreen and video features. These show up in the user interface inputs menu.
* The names for automatically generated views. These show up in the video options menu - test with a system with a lot of screens to see more variants.
* The input macro plugin UI.
* A few format strings for analog input assignments.
* A few strings for the about box header.
2021-10-31 12:31:16 +11:00
AJR
ba4b7c7d84 New machines marked as NOT_WORKING
----------------------------------
F387X PEP System [Bitsavers]
2021-10-30 15:50:48 -04:00
Devin Acker
935d28a675
new NOT_WORKING machine (Casio CTK-2100) (#8757)
* ctk2100: preliminary work

* ctk2100: possible keyboard hookup

* ctk2100: hook up rudimentary timers

* ctk2100: add ports and hook up the LCD

* ctk2100: timer tweaks, input tweaks

* ctk2100: fix I/O port reads (stops constant LCD resets)

* gt913: increase key polling rate (fixes ctk2100 test mode)

* ctk2100: add ADCs, clean up and comment some other stuff

* lpc210x: add the PL190 VIC here too while i'm at it

* vic_pl192: fix clang build

* unidasm: add gt913
2021-10-27 10:21:46 +02:00
Miodrag Milanovic
9513034521 Few more leftovers removed 2021-10-26 11:53:27 +02:00
Miodrag Milanovic
8aa5c5a29c Remove OSD_UWP from rest of code 2021-10-26 11:45:04 +02:00
Miodrag Milanovic
67389f4cbd Remove uwp specific sources 2021-10-26 11:28:11 +02:00
Miodrag Milanovic
9d61cf33d1 Remove uwp from build system 2021-10-26 11:24:03 +02:00
Miodrag Milanovic
9e7455b057 Remove of winstore/winphone 2021-10-26 11:18:31 +02:00
Miodrag Milanovic
63f907ee32 vs2019_clang target is now used instead of vsllvm 2021-10-26 11:11:35 +02:00
Miodrag Milanovic
34d4c26e40 Remove old VisualStudio 2021-10-26 11:07:34 +02:00
Miodrag Milanovic
22d5ba05dc xcode4 and ios removal 2021-10-26 10:59:28 +02:00
Miodrag Milanovic
9dce821cbb mips platform is not supported for Android for some time 2021-10-26 10:52:26 +02:00
Miodrag Milanovic
1a79bb82b1 rpi target was not used, but regular linux one anyway 2021-10-26 10:50:09 +02:00
Miodrag Milanovic
7d75eee51e Remove CI20 2021-10-26 10:42:34 +02:00
Miodrag Milanovic
97a7d8bec8 Remove steamlink 2021-10-26 10:40:30 +02:00
Miodrag Milanovic
f317b4d534 Remove pnacl remains 2021-10-26 10:32:43 +02:00
David Haywood
eca8831836
remove deco_zoomspr device, refactor deco32 - drgngun, lockload to use the namco_c355spr device instead (#8725) 2021-10-22 22:52:21 -04:00
Vas Crabb
0ba5d664f9 Add new files to SDL OSD as well as Mac OSD. 2021-10-18 08:46:17 +11:00
Vas Crabb
40a30af10f Still more user experience improvements:
Changed the default mapping for UI select to not trigger on Alt+Enter
fullscreen toggle.  (Fullscreen toggle still doesn't work in menus -
actually fixing that is complicated.)

frontend: Made the about box wrap text properly, made the title and
backtrack menu item always visible, and added a footer with the VCS
revision.

frontend: Don't highlight the favourites and info toolbar buttons if
there's no selection (can happen if filters produce no results).  Also
made the info viewer appear even if no info is available - it's less
confusing to see an empty menu than wonder why clicking the button does
nothing.

debugger: Added a register points view to the GUI debuggers, to go with
the breakpoints and watchpoints views.

debugger: Extended [brw]p(clear|(en|dis)able) commands to accept
multiple arguments to perform the same action on multiple
(break|watch|register)points at once.  Also made rplist accept a CPU for
showing a single CPU's register points ([bw]plist already support this).

docs: Updated registerpoints debugger commands page, and updated other
pages for latest extensions to syntax.
2021-10-18 08:22:21 +11:00
Ivan Vangelista
edc339dbca New machines marked as NOT_WORKING
----------------------------------
Exciting Boat Race [Phil Bennett]
Speed Basketball [Tailsnic Retroworks]
2021-10-15 17:12:35 +02:00
Vas Crabb
22bc3486c3 More user experience improvements:
frontend: Made it possible to cancel a media audit while it's in
progress.  Also made the media audit multi-threaded so it's faster.

frontend: Made the DIP switches in the DIP switch preview clickable.

frontend: Made the system and software selection menus leave focus on
the same system when clearing the search rather than jumping to the
first item.  Also fixed a couple of bugs in the logic for keeping the
selected item visible.

frontend: Fixed a few places that weren't showing localised system
names.

frontend: Made UI Cancel clear a search in the file manager the same way
it does on the system and sofware selection menus.

frontend: Made it possible for plugin menus to handle UI Cancel more
naturally, backing up to the previous plugin menu rather than dropping
straight back to the list of plugins.  Updated the autofire, cheat and
cheatfind plugins, and fixed a few other issues in the cheatfind plugin.

debugger: Made the mount and unmount commands accept instance names as
well as brief instance names.  Also updated another page of debugger
documentation.
2021-10-15 10:12:56 +11:00
Ivan Vangelista
afc2ca17f1 asuka.cpp: split in subclasses 2021-10-14 06:24:31 +02:00
Vas Crabb
96ca1dbd96 More user experience improvements:
frontend: Allow clicking the adjuster arrows on menu items.  This allows
things like video options and DIP switches to be configured using a
mouse only.  Also fixed a bug preventing paging menus with a mouse if
the first item scrolled off the bottom is not selectable.

debugger: Allow wplist and bplist to accept a CPU argument to list
breakpoints/watchpoints for a single CPU only.

debugger: Fixed some corner cases in address space syntax in memory
accesses, and allowed memory region accesses to use tags relative to the
visible CPU.

emu/softlist.cpp: Ignore notes elements when loading software lists.
It's effectively a comment that isn't a comment syntactically, it's
being used for things that are not useful to display in the internal UI,
and it slows down startup.

docs: Updated three more pages of debugger documentation.  Also updated
more of the built-in debugger help.

minimaws: Fixed up schema for software list notes, made sofware list
notes display initially collapsed.
2021-10-14 08:00:04 +11: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
0kmg
32574013d2
bus/nes: Improved support for various VRC clone boards. (#8687)
* Expanded VRC4 CHR bank regs to 9-bit. This functionality is verified on Konami VRC4 hardware as well but is only used by clones (World Hero here).
* Removed board for World Hero. Its VRC4 clone chip is under a glop top but is thought to be identical to Konami's.
* Reimplemented TF1201 (Lethal Weapon) as a VRC4 subclass. Its clone chip is only known to differ by the IRQ reload bit, which it ignores.
* Reimplemented Shui Guan Pipe as a VRC4 subclass. Its clone chip has different PRG banking but is otherwise standard.

Software list items promoted to working (nes.xml)
---------------------------------------
Gimmick! (Asia, pirate)
Lethal Weapon (China)
World Hero (Asia)
World Hero (Asia, alt)
2021-10-11 23:49:37 +11:00
Vas Crabb
fd6309ee91 frontend: Keep cleaning up.
Got rid of one of the UI audit inputs.  There only needs to be one, and
the options can be presented in the confirmation menu.  Two secret
keystrokes is too confusing.  Also got rid of the long-obsolete UI
Toggle Debugger input.

Added audit media button to the toolbar so it's a bit less opaque, and
it can be accessed with a mouse/trackball (not just by knowing the key
mapping).

Made default I/O port names localisable.

Made autofire plugin save port fields using the { port, mask, type }
tuple, the same way MAME does.  Unfortunately this will break existing
autofire configuration, but it should be more stable going forward.

Added some more UI keys to the default key mappings documentation.
2021-10-11 13:14:31 +11:00
Vas Crabb
38082ccbee
Overdue internal UI enhancements (#8674)
* frontend: Added support for message context to localisations.
* frontend: Added string_view versions of the message lookup functions.
* frontend: Added a few more folder options to the internal UI.
* emu/softlist.cpp: Use more appropriate containers.
* Switched to Python 3 by default - this will become a requirement.
* Updated msgfmt.py for message context support.
* frontend: Show all software item info in the internal UI.
* frontend: Search alternate titles in software selection menu.
* 3rdparty/utf8proc: Updated to v2.6.1 (has several fixes).
* frontend: Added software filters for common info fields.
* frontend: Allow UI manager to hold onto persistent session data.
* frontend: Cache software lists for eight machines.
* frontend: Added support for loading localised system names.
* frontend: Add UI for selecting localised system names.
2021-10-09 12:16:17 +11:00
Patrick Mackinlay
24e14ba50a New machines marked as NOT_WORKING
---
Omron Luna [Plamen Mihaylov]
2021-10-08 08:42:08 +07:00
Ivan Vangelista
82f27190f0 - cchasm.cpp: removed duplicated include
- dietgo.cpp: moved everything into the driver file, as video/dietgo.cpp only had one method
2021-10-07 17:28:11 +02:00
wilbertpol
eae75824d3
softlist.cpp: Add support for a 'notes' field to store information ab… (#8482)
* softlist.cpp: Add support for a 'notes' field to store information about a software list or software list item.  [Wilbert Pol]

* Add software list and software notes to minimaws
2021-10-05 19:16:42 +02:00
Vas Crabb
aeb9eae874
util: Further API cleanups: (#8661)
* Turned `core_file` into an implementation of `random_read_write`.
* Turned PNG errors into a standard error category.
* Added a helper for generating what look like derived classes on-the-fly.
2021-10-05 03:34:45 +11:00
AJR
a271303a9f Add Z80-derived stub devices for eZ80 and R800 CPUs 2021-10-03 13:56:49 -04:00
Vas Crabb
299265cc52 bus/rs232: Added a configurable patch box device, and various cleanups.
Added comments with V.24 interchange circuit numbers and names to
rs232.h to make the meanings of the abbreviated signal names clearer.

Moved a few slot card classes out of headers and into anonymous
namespaces to reduce compile depedencies and exported symbols.

Transliterated a Korean NES game title.
2021-10-03 03:52:22 +11:00
Julian Sikorski
0eeb918991
Update bgfx, bx and bimg to latest upstream (fixes issue #8057) (#8645) 2021-10-02 12:21:12 -04:00
Dirk Best
635a7e6c2b karnov: Cleanup 2021-10-01 12:56:50 +02:00
Vas Crabb
18188c7191 -minimaws: Changed geometry of disclosure triangles.
-util/delegate.cpp: Fixed typo in comment.
2021-09-29 14:27:57 +10:00
Angelo Salese
ec33fac7c7
Add floppy support to NEC PC-8001 (#8532)
New clones marked as NOT_WORKING
--------------------------------
PC-8001mkIISR [anonymous]

* Generate a new pc8001_flop.xml list, based off Neo Kobe dumps;
* Move several items from pc8801_flop.xml to the new pc8001_flop.xml;
* Generate new lists for pc8001mk2_flop.xml and pc8001mk2sr_flop.xml;
* Hook aforementioned lists where they belongs
( i.e. N-Basic list is now shared between pc8801.cpp and pc8001.cpp,
  N80 list belongs to pc8001mk2 and pc8001mk2sr,
  N80SR list belongs to pc8001mk2sr alone)

* upd3301.cpp: fix scrolling glitch when unthrottled

* pc8001.cpp: fix machine configs inheritance

* pc8001.cpp: constexpr the XTALs

* pc8001.cpp: allow to enter into N80 BASIC mode for mk2 machines

* Ported pc80s31k to device interface, and hooked it up to pc8001

* Fix validation errors

* Misc documentation updates

* uPD3301.cpp: implement bulk of attribute fields

* upd3301: fix olyboss compile and crashing, add rvv signal

* upd3301.cpp: fix last value of attribute row (7narabe), fix graphic mode when in width 40 (15puzzle)

* upd3301.cpp: consider an attribute end of 0 equal to max size, fixes starfire

* upd3301.cpp: rvv is definitely a global reverse rather than acting on palette for PC8001, document flgworld attribute weirdness (double somersault)

* pc8001_flop.xml: QA selected SW

* pc80s31k.cpp: split into PC80S31 (2d) and PC80S31K (2d/2dd/2hd) devices, rearrange disk bioses

* pc8801.cpp: inherit pc80s31k device and kill off FDC legacy code

* pc80s31k.cpp: documentation updates

* pc8001_flop: move Magic Copy and a alt versions of ay1 and 4d house in here

* pc98.xml: move daivacal from PC88 since it really belongs here

* pc8801_flop.xml: major QA testing on suspicious floppy activities

* pc8801.cpp: remove logging of High [TV]RAM

* pc8801_flop.xml: fix rogue extra comment closing

* pc80s31k.cpp: mailbox the PPI ports, fix barbatus booting;
pc80s31k.cpp: allow filemst to boot, and add note about its unemulated
extended HW;

* upd3301.cpp: convert AT1/AT0/SC to an aggregate variable

* upd3301.cpp: convert attribute fetch to be a client delegate

* pc8001.cpp: move some shared functions to pc8001_base_state

* pc8001.cpp: add DMA functions

* pc8001.cpp: add extension setter for 24KHz mode (which will be used by PC-8801 once implementation is merged)

* pc8801_flop.xml: fix description duplicate

* Bulk replace pc8*_flop.xml capitalized Alt into lowercase

* pc80s31k.cpp: add space.unmap() for terminal_count_r, reorder headers, make constructor trampoline protected

* Standardize Daiva titles across XMLs

* pc8801_cass.xml: revert of software name t[ape] postfixes

* pc8801_flop.xml: more identification of N/V1 BASIC SWs
2021-09-25 16:00:29 +02:00
Vas Crabb
7a6e383cb9 minimaws: Added disclosure triangle controls to many sections. 2021-09-23 23:59:19 +10:00
Vas Crabb
d35ff4bca6 -minimaws: Made table sort widgets (and the code behind them) less ugly.
-util/delegate.cpp: Added a couple of comments about assumptions.
2021-09-23 17:03:20 +10:00
Ivan Vangelista
fd1bba9a58 - konmedal68k.cpp: tentatively identified the unkkonmd set [Wayder]
- model2.cpp: minor documentation update [Brian Troha]

- arcade.lua: fixed arcade build compiling [Brian Troha]
2021-09-23 06:32:55 +02:00
David Haywood
47e5d8c5c6
Dumped the 68705P3 MCUs on 2 different types of sp.ACE fruit machine reel driver PCBs [TTX] (#8593) 2021-09-21 22:26:09 -04:00
0kmg
cdf1780074
bus/nes: Added support for several Shenzhen Jncota RPGs. (#8500)
* Also corrected metadata for lots of items.

Software list items promoted to working (nes.xml)
---------------------------------------
Jīng Kē Xīnzhuàn (China, Shenzhen Jncota)
Shènghuǒ Lièzhuàn (China)
Xiákè Chuánqí (China)
Zhànguó Fēngyún (China)
2021-09-21 04:31:28 +10:00
arbee
ef41d5f454 Fix build script typo [R. Belmont] 2021-09-19 20:09:18 -04:00
arbee
463fb129c4 New games added as MACHINE_NOT_WORKING
--------------------------------------
Unknown medal game GS471 [Phil Bennett, R. Belmont]
2021-09-19 19:47:14 -04:00
0kmg
2976726f82 bus/nes: Added support for Super Russian Roulette.
New working software list additions (nes.xml)
-----------------------------------
Super Russian Roulette [re4mat]
2021-09-18 10:19:26 -08:00
Vas Crabb
df8703523b util/strformat.h: Detect C++ standard > C++17 before doing weird stuff. 2021-09-18 02:02:58 +10:00
Vas Crabb
d334586156 -util/delegate.cpp: One less level of indirection for functoid delegates.
* If a delegate is set to a functoid (e.g. a lambda) with a signature
  that is an exact match for the delegate's signature, it will be bound
  directly.  If arguments or the return value need conversion, a static
  adaptor will be generated.  This removes unnecessary indirection
  through std::function::operator().

-Added a few more documentation comments.
2021-09-16 02:02:45 +10:00
hap
934eb69361 New working machines
--------------------
Checker Challenger (model CR, 2 levels) [hap, Sean Riddle]
2021-09-14 23:26:15 +02:00
Vas Crabb
f7d1c0dca4 -goldnpkr.cpp: Base screen parameters on how games program the CRTC.
* Filled in proper screen parameters for goldnpkr, witchcrd and
  megadpkr.  There may be other games that use different parameters.
* Demoted megadpkr and megadpkrb to not working as they can only boot
  once before writing timekeeper data that prevents booting again.

-Tidied up a few drivers a little.
2021-09-13 06:24:23 +10:00
ajrhacker
bebc2c4917
Merge pull request #8559 from 0kmg/nes-mappers-297,374
bus/nes: Added support for MMC1-based multicarts.
2021-09-11 19:18:01 -04:00
AJR
0da505b43e Formats-related refactoring
- Remove opresolv.h from emu.h and some other base headers
- Split legacy floppy image class into a separate file
- Clean up a lot of #includes in src/lib and src/tools/imgtool
2021-09-11 16:09:27 -04:00
Robbbert
63e2028788 New machines marked as NOT_WORKING
----------------------------------
Recel Bios
Alaska
Hot & Cold
Screech
Mr Evil
Torneo
Crazy Race
Fair Fight
Poker Plus
Mr Doom
Cavalier
Swashbuckler
Don Quijote
The Flipper Game
Black Magic 4   [Robbbert]
2021-09-11 14:43:21 +10:00
0kmg
968fb7f491 bus/nes: Added support for MMC1-based multicarts.
- Modified MMC1 base class (SxROM) to have outer bank base/mask to make it extensible by multicarts.
- Implemented two boards, reset-based SxROM and a 2-in-1 by TXC, as proof of concept.
- Marked Operation Wolf games as partially supported due to zapper inputs not working.
- Marked Space Shadow as not supported since it requires the extra buttons on the Bandai Hyper Shot gun.

New working software list additions (nes.xml)
-----------------------------------
1997 Super HiK 4 in 1 (JY-021) [MLX]
1995 Super HiK 4 in 1 (JY-022) [NewRisingSun, taizou]
1996 Super HiK 4 in 1 (JY-051) [NewRisingSun, taizou]
2 in 1 Uzi Lightgun [CaH4e3]
2021-09-09 17:04:22 -08:00
smf-
2811cda9c6 fixed vs2019, broken by clang fix. 2021-09-09 12:55:56 +01:00
Vas Crabb
693764eb9c Miscellaneous cleanup.
cchasm.cpp: Combined source files, added I/O port finder, reduced audio
levels to avoid hitting the limiter.

redalert.cpp: Converted sound boards to devices and removed a couple of
trampolines, making the driver state class considerably tidier.

bus/amiga/keyboard, bus/sunkbd: Put a bunch of implementation classes in
anonymous namespaces, getting implementation details out of headers and
out of the global namespace.
2021-09-09 04:12:45 +10:00
arbee
ea8102906e apple2: support for the AppleIISD card [R. Belmont, Florian Reitz] 2021-09-07 19:51:34 -04:00
Ivan Vangelista
304e133862 - airraid.cpp, hanaawas.cpp: used finders instead of tagmap lookups and other minor cleanups
-  flstory.cpp: corrected main CPU clock for rumba, fixes sound regression [David Haywood]

- sbmjb.cpp: lowered Oki volume
2021-09-07 19:08:44 +02:00
Vas Crabb
88f6393be8 minimaws: Better equality for devices. 2021-09-07 00:43:52 +10:00
Vas Crabb
4f495994c4 -ui: Made zoom controls a bit more intuitive.
* The UI controls are described as zoom in/out, but they had the
  opposite effect on the palette and tile viewers.  That has been
  changed to make them consistent with the tilemap viewer.
* Made the default zoom key not act as a toggle.  People are familiar
  with the function of Ctrl+0/=/- in web browsers, so making them behave
  similarly in MAME should make it more approachable.  Also added the
  default zoom key to the relevant documentation page.
* Implemented the default zoom key for the palette and tile viewers.
* In the tilemap viewer, if the view is in default expand to fit mode,
  zoom in/out starting from the actual zoom ratio.  Once again, this
  behaves more like the zoom controls in a web browser displaying an
  image so it should be more intuitive.
* Made more messages from the tilemap viewer localisable.

-util/zippath.cpp: Fixed MT08074.

* There were multiple issues at play here.  After #8443 was applied,
  is_root was simply never returning true on Windows, as OSD_WINDOWS
  isn't actually defined outside libosd and libocore.  This caused
  phantom parent items to appear in disk roots on Windows, but it meant
  that the check in zippath_resolve would always fail so the trailing
  backslash would be trimmed.  Fixing the macro test in is_root meant
  the trailing backslash from C:\ would no longer be trimmed, which
  caused the stat in zippath_resolve to fail.

-bigbord2.cpp: Hooked up floppy DRQ that had somehow got lost.

-Reduced tag map lookups in several drivers and devices.

-util/coretmpl.h: Removed an overload of bitswap that can be avoided
 using if constexpr.

-Added doxygen comments to some classes, and fixed several doxygen
 warnings.

-util, osd: Test for _WIN32 rather than WIN32.

* In C++17 mode, WIN32 is no longer a predefined macro, although various
  things in 3rdparty define it to maintain legacy support.  We're better
  off moving forward anyway for when WIN32 disappears entirely.  (WIN32
  is not a reserved name, while _WIN32 is, starting with an underscore
  follwed by an uppercase letter.)
2021-09-06 06:34:42 +10:00
npwoods
5e02ff231e
Decoupled RPK logic from TI-99 cartridge code. (#7880)
Decoupled support for RPK (RomPacK cartridge images) from TI-99 code, enabling the logic to be leveraged by other drivers.
2021-09-06 03:48:30 +10:00
smf-
32267e4852 fixes for building with clang 12.0.1 on windows 2021-09-04 20:09:51 +01:00
AJR
fb6b0f0cc4 unidasm: Add disassembler for DEC VAX architecture 2021-09-03 13:27:48 -04:00
Ivan Vangelista
44d514aa70 funkyjet.cpp: moved everything into the driver file, as video/funkyjet.cpp only had one method 2021-09-03 06:19:54 +02:00
AJR
ccaa00b3ed Move endianness type into lib/util header 2021-08-31 12:30:11 -04:00
Vas Crabb
7e1795ae6b More miscellaneous cleanup:
emu/render.cpp: Use I/O filter for zlib decompression, avoiding the need
to use zlib directly.

audo/bally.cpp: Moved several constructors out of the header, fixed a
save state issue, and made outputs use finders.

exidy.cpp: Split up state class and reduced reliance on driver init
functions.

Changed various drivers to use output finders.
2021-08-30 23:05:02 +10:00
ajrhacker
fc97bea7b7
Merge pull request #8495 from 0kmg/nes-mappers-114,115,182
bus/nes: Simplified a few related boards by Kasheng and Hosenkan.
2021-08-26 20:34:01 -04:00
0kmg
b1dcb15ba2 bus/nes: Simplified a few related boards by Kasheng and Hosenkan.
- Reduced redundant code by making "kasing" device parent class for sglionk/sgboog. The latter are identical save for the extended register/address scrambling.
- Eliminated hosenkan device altogether (mapper 182). It is identical to sglionk (mapper 114).
2021-08-26 15:21:48 -08: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
Vas Crabb
e8bbea1fc6
formats, osd, util: Started refactoring file I/O stuff. (#8456)
Added more modern generic I/O interfaces with implementation backed by stdio, osd_file and core_file, replacing io_generic.  Also replaced core_file's build-in zlib compression with a filter.

unzip.cpp, un7z.cpp: Added option to supply abstract I/O interface rather than filename.

Converted osd_file, core_file, archive_file, chd_file and device_image_interface to use std::error_condition rather than their own error enums.

Allow mounting TI-99 RPK from inside archives.
2021-08-22 09:06:15 +10:00
Nigel Barnes
8db344fcc5 bus/electron: Added a homebrew 68000 second processor. 2021-08-21 14:54:12 +01:00
Miodrag Milanovic
24c63a3f3d Revert "enable BGFX_CONFIG_DEBUG to get proper asserts"
This reverts commit 4abb9da0ec.
2021-08-20 09:43:41 +02:00
ClawGrip
05a8e3784d
New NOT_WORKING machine (#8468)
* arcade.lua: Add 'opercoin.cpp'

* New NOT_WORKING machine

--------------------------
Multi Baby [jordigahan, ClawGrip]
2021-08-19 13:46:03 -04:00
AJR
82a7adad6b New machines marked as NOT_WORKING
----------------------------------
Hammond GM-1000 GM Sound Module [DBWBP]
Yamaha PSR-16 [DBWBP]
Yamaha PSR-36 [DBWBP]
Yamaha PSR-40 [DBWBP]
Yamaha PSS-680 [DBWBP]
2021-08-18 16:44:23 -04:00
Miodrag Milanovic
4abb9da0ec enable BGFX_CONFIG_DEBUG to get proper asserts 2021-08-13 14:00:53 +02:00
Miodrag Milanović
36218bcdde
Merge pull request #8419 from mamedev/new_bgfx
Update bx, bimg and bgfx
2021-08-12 13:07:51 +02:00
arbee
7e5ea52797 apple2: Support for the Stellation Q-68 and Q-68 Plus 68008 coprocessor cards. [Rob Justice, R. Belmont] 2021-08-10 22:26:52 -04:00
Miodrag Milanovic
ba1e6dff41 Compile bgfx 2021-08-10 20:54:12 +02:00
MooglyGuy
7fe8f9f74c
Assorted N64 fixes (#8415)
* -rdp: Fixed incorrect channel swapping on 32-bit resampled framebuffers. [Ryan Holtz]
* -rsp: Fixed LWV and VMOV behavior. Added reserved instructions V056, V057, V073, and VNULL. [Ryan Holtz, krom]
* -rdp: Temporarily adjusted framebuffer resampling to not exceed screen bounds in some games. [Ryan Holtz]
* -n64: Fixed SP DMA behavior based on hardware tests. [Ryan Holtz]
* -rsp: Removed unused DRC and SIMD support. General code cleanup. [Ryan Holtz]
* -n64: Pass K4 and K5 factors to threaded drawing code. Fixes black geometry in Conker's Bad Fur Day. [Ryan Holtz]
* -aleck64: Fixed compile issue with previous commits. [Ryan Holtz]
2021-08-09 21:06:08 -04:00
Miodrag Milanovic
73255dbfa0 New machines marked as NOT_WORKING
----------------------------------
Smith Corona PWP System 14 [FozzTexx]
2021-08-09 16:46:57 +02:00
ClawGrip
49b65941df
New NOT_WORKING machines (#8372)
* Add 'radikaldarts.cpp'

* New NOT_WORKING machines
------------------------
Radikal Darts (Diana Version 7.29.25) [jordigahan, ClawGrip]
2021-08-08 18:12:28 -04:00
Dirk Best
1e7d83cc4b apxen: Checkpoint, get something on screen
- Implement video slot and mono graphics video card
- Hook up CIO, SIO, RTC, PIT, SN76489
- Add daisy chain for Z80 devices and hook it up to the PIC
- Add system control ports
2021-08-04 19:30:45 +02:00
Miodrag Milanovic
da7ff625de little hack to make it build fine with current build system 2021-08-02 13:59:21 +02:00
Miodrag Milanovic
4790deb5b7 Genearate seaparate dasm header for TMS57002 2021-08-02 10:51:14 +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
Vas Crabb
23bd2ecf6a Slightly cleaned up OSD input modules.
Removed support for DirectInput 7 and earlier.  It hasn't been tested in
years, and it's not relevant on any supported OS.  DirectInput is
effectively finalised at version 8, and is unlikely to get an API update
in the future.

Use more string[_view] and fewer C strings, and tightened up scope of a
few things.
2021-07-29 15:22:51 +10:00
AJR
db1ddb7cee motoxgo: Add "extra" I/O CPU to configuration 2021-07-28 23:12:41 -04:00
Dirk Best
063928663c New machines marked as NOT_WORKING
----------------------------------
ACT Apricot XEN [John Elliott]
2021-07-27 09:06:06 +02:00
AJR
d1e6e5b830 New machines marked as NOT_WORKING
----------------------------------
Sony DPS-V55 Multi-Effect Processor [DBWBP]
2021-07-26 14:09:04 -04:00
hap
b8974ddcba New NOT_WORKING software list additions
---------------------------------------
msx1+cart: Easi-Speech [hap]
2021-07-23 19:00:08 +02:00
AJR
af7bfe3324 f2mc16: Rewrite disassembler
- Fix bug in CPU core advancing PC by one too many bytes when executing ADDL A, RLn
2021-07-21 10:34:36 -04:00
Vas Crabb
1d106ea414 Tie up a few loose ends in drivers:
neogeo.cpp: Added newer Universe BIOS versions to irrmaze - this allows
the Japanese version to be seen by switching the region, and joystick
play using a cheat (although 2.3 and later also support trackball play,
a joystick is still required for setup and to use the in-game menu).
Also changed roboarma to roboarmya, as this matches the software list,
and we prefer to make clone set names using suffixes.

neogeo.xml: Added irrmaze with usage note explaining that newer
Universe BIOS versions support joystick play as a cheat (must be enabled
each session - Universe BIOS does not save cheat state to NVRAM).

lwriter.cpp: Got rid of a couple of literal tags, make use of Allman
style a bit more consistent, and got rid of a redundant part of a
bitwise or expression.

runaway.cpp: Merged video code into main driver file, split state
classes, reduced a bit of redundancy, eliminated runtime input tag
lookups, and generally tidied up code.

dai3wksi.cpp: Noted manufacture in description for runaways.
2021-07-21 01:12:43 +10:00
Patrick Mackinlay
de881afb9e ncr5380n: reclaim ncr5380 device name 2021-07-20 12:22:15 +07:00
Calvin Buckley
4ab4f74106
Implement 68k FPU FATAN instruction (#8287) 2021-07-18 12:53:08 -04:00
Robbbert
f608bce75f exp85: fixed keyboard problem, added save-state support. 2021-07-18 13:06:22 +10:00
arbee
064bc3aafb apple3: Preliminary support for Microsoft SoftCard /// [Rob Justice, R. Belmont] 2021-07-17 12:45:53 -04:00
Patrick Mackinlay
37e4c7d146 New WORKING machines
---
National Semiconductor DB32016 [Al Kossow]
2021-07-16 15:17:56 +07:00
Robbbert
895a27783e hd63484 include in mess build to fix linking error 2021-07-15 21:49:35 +10:00
Patrick Mackinlay
72ddd181d9 New machines marked as NOT_WORKING
---
Casio SX1010 [Plamen Mihaylov]
2021-07-14 15:16:29 +07:00
cracyc
6f55569f2f fix build 2021-07-13 13:50:06 -05:00
hap
d199ad1e80 New working machines
--------------------
Eldorado Chess Challenger [hap, bataais]
2021-07-13 19:42:12 +02:00
cam900
1d7e9c0284
-pce.cpp: Converted PC Engine controller ports to slot devices. (#8028)
-ggconnie.cpp: Add notes for IRQ.
2021-07-13 22:55:25 +10:00
hap
e4c8d9f538 New working machines
--------------------
TI-1680 [hap, Sean Riddle]
2021-07-13 11:12:14 +02:00
Aaron Giles
03d1877680 Disable another MSVC warning that is known to be noisy (and which showed up with the recent setjmp workaround). 2021-07-09 09:14:42 -07:00
ksherlock
a9fefd8363
-bus/a2bus: Added //SHH SYSTEME LANceGS Card. (#8264)
-machine/smc91c9x.cpp adjustments:
* Reset should disable promiscuous mode.
* RCR - handle promiscuous changes, adjust soft reset handling.
* EPH_STATUS should be LINK_OK by default (previous code wouldn't set LINK_OK unless RX_EN is set but LANceGS won't set RX_EN unless LINK_OK is set).
* B0_BANK bits 4-8 are unspecified in the documentation but LANceGS expects a 3 (used in Card detection logic).
* MIR values depend on device type and resets when the mmu resets.
* Reading/writing the data register needs to be aware of 8-bit I/O.
* Calculate FCS.
* Removed WMS OUI filtering hack.
2021-07-09 11:38:52 +10:00
Aaron Giles
6ffc98289c
video/voodoo.cpp: Major rewrite: (#8267)
* Changed to use modern poly.h instead of polylgcy.h.
* Moved helper classes into separate voodoo namespace.
* Derived device classes from video_device_interface.
* Split classes so that later versions derive from earlier versions.
* Created device maps to be directly included.
* Redesigned register mapping to use helper classes and delegates.
* Rewrote rasterizers to use C++ templates instead of macros.
* Added logic to compute equations for color/texture combine units.
* Added special generic identity-texel rasterizer cases.
* Removed pipeline stalls on texture and palette changes.
* Removed pipeline stalls on most all parameter changes.
* Generally re-thought and cleaned up logic throughout.
* Parameterized cycle stealing on status reads; updated all existing voodoo consumers to configure it as it was before.

-vidoe/poly.h: Various improvements:
* Exposed poly_array class for broader use.
* Changed poly_array to intelligently determine maximum size.
* Added logic to track multiple "last" instances in poly_array.
* Extended logic to support up to 16m work items.
* Removed MaxPolys parameter from poly_manager template.
* Added Flags parameter to poly_manager template.
* Added POLY_FLAG_NO_CLIPPING flag to remove clipping code when not needed.
* poly_manager now supports a MaxParams value of 0.
* Made paramcount a template parameter for render_* functions.
* Added reset_after_wait() method to be overridden by derived classes.
* Switched to using std:: helpers instead of internal methods.
* Removed useless dependency on screen_device.
* TRACK_POLY_WAITS now produces more complete statistics.

-video/polylgcy.cpp: Removed legacy implementation of polygon renderer.

-machine/gt64xxx.cpp: Prevent lockups by disallowing 0-duration timers.

-machine/pci.cpp: Added support for adding subdevice maps directly.

-emu/video/rgbsse.h: Improved min/max for SSE4.1+ and scale+clamp operations for all.

-emu/vidoe/rgbutil.h: Made palette expansion constexpr and added argbexpand function.

-osd/osdcore.cpp: Changed osd_ticks to use QueryPerformanceCounter on Windows since the mingw std::chrono::high_resolution_clock is anything but.
2021-07-09 11:35:00 +10:00
AJR
3d4c25b2e0 mt420, mt5510: Split to separate drivers 2021-07-02 19:33:15 -04:00
Vas Crabb
3dcc095e86 MAME 0.233
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE0DYtsBhE4EM627+6wXSxAYxAcQ4FAmDcdEoACgkQwXSxAYxA
 cQ7dsxAAkKnl71MHAZ9E3mOTUrcTMvDp6eQIJOkiaUx7ZBprM5Pnf8JLrcvxXtMY
 8Asy2X/87msvBZlXqpHeHAuQHfCONF/KiZF48zMYvnBGghgD73flBTBISag0K2+B
 gaaVyekcE8QC1ZnWk0HwounEfKSG6GPCk0n/GIst4hhcUhf6uxEg+f6uJteRiHqu
 /Aa42OLljNVRXrcpnsz0rlDvNHe4LQoki/r/9Z3mWlwNYnphC6sPJt+lFCrYD8ge
 NF7vSdn8Ivo2NEustEt9t6HGG+jOiKcJaIZGkaqTbnniIv1aBU9WzAIrTA4htg4z
 8kQYkiUUaTYX/F5u/C3q3GwuGoHxn423VapIxk8wX2fWirLSTcpbjXzFSkim/eum
 b5FHrYsGrK3gSffr640SGrDHIZABvJIjQ4r13P20ilFZVyvRun7j/S4we4cxrEkR
 baKwk5beHLRsMTwkSZmhO+g1fDmXgwwhWZiqhk2beEgviEqSO+1geDjDSLkp8tnW
 deaVAqYSiZMtaCywwmlsg14Xv2zYpiLBzvUaUTr9tw86Yd4z1ij6dGX9jYI5s0fe
 PLs4ozZIbwbR0DQhAvdUINzQs537jSefU2hm6HLMPoNoPnpGr9T3FHQtDDyYCk/t
 Mp3Ayw5V8PJNEOcX5ZzXyWv5paqlT70V21M3QyKwm1zPHA9fsYI=
 =gV5o
 -----END PGP SIGNATURE-----

Merge tag 'mame0233' into mainline-master

MAME 0.233
2021-07-01 13:00:05 +10:00
Vas Crabb
e1ceb9f3e8 Add pofo_kbd.h to build scripts so it's picked up when generating IDE projects. 2021-06-30 22:45:06 +10:00
Ivan Vangelista
0532bfc63f New machines marked as NOT_WORKING
----------------------------------
TV Phone Doraemon [Phil Bennett]
2021-06-29 17:58:04 +02:00
0kmg
8796124eb4
add mapper 29 and preliminary mapper 30 support (#8225)
New working software list additions
-----------------------------------
2A03Puritans [rainwarrior]
E.T. [KHAN]
Glider [anonymous]

* mapper 29: support should be complete but there are few if any other homebrew roms to test against
* mapper 30: only supports the most basic board that doesn't use flashable memory - tested on a dozen or so roms, all working
* add a game each for mappers 29 (Glider), 30 (E.T.), and 31 (2A03Puritans) so there is something in the software lists to actually test against. Glider is discontinued by manufacture, the other two are freely available from their authors.
 * various naming clean ups, like BTL- prefixes for things that are not bootlegs
2021-06-25 17:39:09 -04:00
Ivan Vangelista
5387c58e67 New machines marked as NOT_WORKING
----------------------------------
VS Mahjong Triangle [system11]
2021-06-24 19:22:35 +02:00
Vas Crabb
50da25ae5b -util: Retire legacy object pool, removing vestigial references.
Thanks to AJR, Ivan Vangelista and Aaron Giles for helping make this
possible.

Also fixed debug build of imgtool.
2021-06-24 23:12:27 +10:00
cracyc
3f5cec732b vis: fix card comms and crc 2021-06-23 16:41:27 -05:00
David Haywood
b0628a92ec
Re-worked System 18 Alien Storm bootlegs, put in their own driver to study. (#8212)
This renders the tile strip backgrounds, making them a lot more playable.
2021-06-23 23:31:30 +10:00
cracyc
188a28c9ff vis: add memory card device 2021-06-22 17:10:30 -05:00
AJR
c7bbfc5459 New machines marked as NOT_WORKING
----------------------------------
Hohner ADAM Advanced Digital/Analog Musical Instrument [DBWBP]
2021-06-22 14:31:13 -04:00
AJR
b915e69902 Remove emualloc.* 2021-06-22 09:01:01 -04:00
hap
20a03efe41 New working software list additions
-----------------------------------
lk3000: Calculator, Electronic Notebook [hap, Sean Riddle]

New NOT_WORKING software list additions
---------------------------------------
lk3000: English-German [hap, Sean Riddle]
2021-06-21 14:00:58 +02:00
AJR
0d0f25642c New machines marked as NOT_WORKING
----------------------------------
Yamaha SY35 Music Synthesizer [DBWBP]
2021-06-20 12:44:33 -04:00
AJR
75517876f4 New machines marked as NOT_WORKING
----------------------------------
Yamaha AN1x Control Synthesizer [DBWBP]
Yamaha DX100 Digital Programmable Algorithm Synthesizer [DBWBP]
2021-06-20 11:03:48 -04:00
hap
e5390ab1fb New machines marked as NOT_WORKING
----------------------------------
LK-3000 [hap, Sean Riddle]
2021-06-20 16:58:53 +02:00
tim lindner
0f17b85baf
mc10.cpp: Converted expansion port to slot device and removed fake machines. (#8184) 2021-06-17 03:13:56 +10:00
arbee
da6196f70d apple3: Support for the Titan "/// Plus II" Apple II emulation card. [R. Belmont] 2021-06-15 23:12:56 -04:00
Jaen
3c1ca80a75
pofo.cpp: Converted keyboard to device. (#8192)
Fixes multiple keys being pressed simultaneously.
2021-06-16 04:35:20 +10:00
Ivan Vangelista
2306f4132a scripts/mame/arcade.lua: moved Model Racing drivers to separate project 2021-06-15 18:35:15 +02: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
David Haywood
3098ee38ae
Reworked rockclim driver to be based on galaxian.cpp (was in galaxold.cpp). (#8182) 2021-06-14 13:11:07 +10:00
Vas Crabb
73d97b7dc4 Added helpers for 64-bit count leading zeroes/ones. 2021-06-13 09:38:01 +10:00
cam900
838da5bea9
inufuku.cpp: Merged */inufuku.* into drivers/inufuku.cpp, minor cleanups. (#8172)
* Removed unnecessary VRAM read trampolines.
* Use buffered_spriteram16_device for buffered sprite RAM.
* Derive clocks from crystals.
* Reduced runtime tag lookups, unnecessary region size.
* Fix naming, spacing.
* Use generic graphics layouts, fix color usage of gfxdecode related to palette size.
* Restrict rowscroll to screen clipping rectangle.
2021-06-13 01:55:06 +10:00
AJR
35f317e027 New skeleton ISA device: Lark Associates LRK-331 ESDI Controller [Bitsavers] 2021-06-11 20:50:45 -04:00
yz70s
ba3e5baffc naomi: add a new device for the Sega 837-14438 "SH I/O BD" hopper board 2021-06-08 21:36:37 +02: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
MooglyGuy
7aa7502bb6
-supracan.cpp: Added basic sound emulation. (#8143) [Ryan Holtz, superctr]
* Many features still need fleshing out, including sample sources and envelopes.
2021-06-06 08:11:19 +10:00
ClawGrip
43a68379a1
New NOT_WORKING machine (#8122)
* New NOT_WORKING machine
----------------------
Super Chexx (EM Bubble Hockey) [ClawGrip]
2021-06-02 21:32:41 -04:00
cracyc
37b944eaf9 New machines NOT_WORKING
----------------------------------
Philips :YES [Svenska, rfka01, Carl]
2021-06-02 19:30:08 -05:00
Ivan Vangelista
682090918b stv.cpp: moved the few remaining protection functions in stvprot.cpp to the driver file and eliminated strvprot.* 2021-06-02 17:06:42 +02:00
David Haywood
50be96c46d
new educational / plug and play dumps / cartridges from Sean [Sean Riddle, Dave "Foxhack" Silva] (#8113)
* add some dumped data to the innotab2 driver, split from storio [Sean Riddle]

* new NOT WORKING software list entry
------
leapfrog_zippity_cart.xml:
The Princess and the Frog - Magical Bayou Adventure (500-13779-A) (UK) [Sean Riddle]

* new NOT WORKING machines
-----
Compact Cyber Arcade TV - 120 in 1 (JL2370) [Sean Riddle, taizou]
Leapster Explorer [David Haywood]

* new NOT WORKING software list entries
------------
leapfrog_leapster_explorer_cart.xml:
TinkerBell and the Lost Treasure (500-14226-A) [Dave "Foxhack" Silva]
Mr. Pencil Saves Doodleburg (500-14221-A) [Dave "Foxhack" Silva]
Adventure Sketchers (500-15340-A) (Creativity Learning Game) [Dave "Foxhack" Silva]

* new NOT WORKING software list entries
-------
vtech_innotab_cart.xml:
The Penguins of Madagascar (80-230500, US) [Dave "Foxhack" Silva]
Teenage Mutant Ninja Turtles - Turtle Power! (80-231300, US) [Dave "Foxhack" Silva]

* mobigo_cart.xml: remove jakenevalt, it's a bad dump "80-252800 - Jake and the Neverland Pirates (US).bin                         FIXED BITS (xxxxxx1xxxxxxxxx)"

* mobigo_cart.xml: remove dprinces, it's a bad dump "mobigo_251100.bin                               BADADDRxxxxxxxxx-xxxxxxxxxxxxxx"

* new NOT WORKING software list entries
------
mobigo_cart.xml:
Disney/Pixar Cars 2 (USA, rev 2?) [Sean Riddle, Dave "Foxhack" Silva]
Thomas & Friends - Really Useful Engines (USA, rev 2?) [Sean Riddle, Dave "Foxhack" Silva]

* - added German ltleappad BIOS [Team Europe, Sean Riddle]

* new NOT WORKING software list entries
------
vtech_storio_cart.xml:
Cars 2 (USA) [Sean Riddle, Dave "Foxhack" Silva]
Dora and the 3 Little Pigs (USA) [Sean Riddle, Dave "Foxhack" Silva]
Hello Kitty's Surprise (USA) [Sean Riddle, Dave "Foxhack" Silva]
Disney Princess - A Gift From The Heart & Belle's Special Treat (USA) [Sean Riddle, Dave "Foxhack" Silva]
TinkerBell and the Great Fairy Rescue (USA) [Sean Riddle, Dave "Foxhack" Silva]
Mickey Mouse Clubhouse (USA) [Sean Riddle, Dave "Foxhack" Silva]

* update notes in storio xml

* add some more known cartridge info to juicebox.xml
2021-06-01 14:11:00 -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
Ivan Vangelista
6e5f1cbb77 New machines marked as NOT_WORKING
----------------------------------
Play Sonic 4 [Juan Romero, ClawGrip]
2021-06-01 18:12:44 +02: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
AJR
57d621860c tek410x: Add keyboard [AJR, Bitsavers]
* tek440x: Hook up 410X keyboard to pass boot test
* mc68681: Wait until transmitter is actually empty to set TxEMT
2021-05-31 22:15:36 -04: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
Ivan Vangelista
599c33e839 New machines marked as NOT_WORKING
----------------------------------
Fortune Wheel [coolmod]
2021-05-29 07:13:58 +02:00
Olivier Galibert
293a5c9129 Stupid warning is stupid 2021-05-26 22:35:19 +02: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
Vas Crabb
5fe20586ee srcclean for release 2021-05-23 17:33:52 +10:00
MooglyGuy
fe08fee386
-pbo: Added skeleton for Philips BO (Videosynthesizer Prototype). [Ryan Holtz, MrMii6, CD-i Fan] (#8093) 2021-05-22 12:34:15 -04: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
Robbbert
eab3ae7e54 New working machines
--------------------
Capital Radio Engineering Institute CREI-680 [Robbbert]
2021-05-22 00:53:45 +10:00
AJR
1382af68f4 unidasm: Add CPU16 disassembler 2021-05-21 08:28:01 -04:00
987123879113
c7b89485ea
ksys573: Add incomplete support for Dance Dance Revolution Karaoke Mix (#8047) 2021-05-20 19:15:02 -04:00
arbee
52e917793b Preliminary support for GCC 11.1 (Fedora 34) [R. Belmont] 2021-05-20 13:04:46 -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
Ivan Vangelista
6fb35fced8 New machines marked as NOT_WORKING
----------------------------------
Dangerous Bar [Museo del Recreativo (Amusement Museum)]
2021-05-16 08:48:22 +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
Nigel Barnes
2c3530a57a New machines marked as NOT_WORKING
----------------------------------
Kyber Minus [Nigel Barnes, Alessandro Liberalato]
2021-05-14 21:43:53 +01:00
Nigel Barnes
eabd5ddbcd New machines marked as NOT_WORKING
----------------------------------
MG-1 [Tom Stepleton, Andrew McPherson]
2021-05-14 21:43:52 +01:00
hap
c8d53cabbd added saitek OSA module interface used in leonardo/renaissance 2021-05-14 22:00:42 +02:00
Dirk Best
96b871cff8 bingoc: Convert terminal to a device, partially works now 2021-05-12 17:51:11 +02:00
AJR
3955b5c9e9 New machines marked as NOT_WORKING
----------------------------------
DECmate II (PC278) [AJR, Vince Slyngstad]
DECmate III (PC238) [AJR, Vince Slyngstad]
2021-05-11 13:59:42 -04:00
Patrick Mackinlay
9ef03aa399 New machines marked as NOT_WORKING
---
Tektronix 6130 [Randon Michels, Patrick Mackinlay]
2021-05-10 16:42:45 +07: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
bca8f60c47 Update arcade.lua with new devices. [R. Belmont] 2021-05-08 16:30:01 -04:00
arbee
fa5977301e apple2: Add support for the BOOTI card [R. Belmont] 2021-05-08 16:19:36 -04:00
AJR
7ed1de96c9 mac.cpp, mac128.cpp, macprtb.cpp, macpwrbk030.cpp, macquadra.cpp: Add helper device to permit use of "new" SCSI bus and 53(C)80 emulation with macse and later 2021-05-08 13:02:41 -04:00
Robbbert
173a0cf3b6 h01x: added mc6845 and cleanup. 2021-05-09 02:30:21 +10:00
Dirk Best
763151a18c missamer: Move to its own driver
- Flesh out driver to make it mostly work
- Create artwork showing all lamps and inputs
2021-05-07 17:50:37 +02:00
Ivan Vangelista
3bdefe103f hornet.cpp, nwk-tr.cpp: extracted nwk-tr.cpp lan board implementation to a device and hooked it up to thrilldbu in hornet.cpp. It doesn't reset anymore but needs analog controls hook-up 2021-05-05 20:23:59 +02: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
hap
993e9e69e0 chessmst: split driver into chessmst/chessmstdm 2021-05-03 23:39:53 +02:00
Ivan Vangelista
84cf42a2ab New machines marked as NOT_WORKING
----------------------------------
Panic Shot Rockman [SpinalFeyd]
2021-05-02 10:47:40 +02:00
Sandro Ronco
800a422e42 ertictac.cpp: convert to use IOC and MEMC devices. 2021-05-01 23:07:51 +02:00
ClawGrip
243ee045e1
New NOT_WORKING machine (#7986)
-----------------------
Ajofrin City [jordigahan, ClawGrip]
2021-04-30 03:32:38 +10:00
Olivier Galibert
c8b751da56 mess: Add forgetten module 2021-04-28 16:19:40 +02:00
Olivier Galibert
8709e06b67 floppy: start block-devicing fielsystem support 2021-04-28 16:17:56 +02:00
hap
5f27fc8951 poly880: move header file into driver 2021-04-28 00:10:49 +02:00
hap
03ea2d2207 slc1a: remove driver, turns out it's a mod of poly880 2021-04-27 23:52:51 +02:00
arbee
3b6f5c69f6 New NOT WORKING machines
========================
Yamaha PSR-60 PortaSound [R. Belmont, JKN0, d-tech]
2021-04-27 07:42:37 -04: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
Dirk Best
02516af978 basf7100: Hook up interrupt controller, keyboard
- Hooked up PIC and connected keyboard and vblank interrupts
- Implemented HLE keyboard (all keys mapped, using the translation ROM for keycodes)
- Increased shared memory to 40k
- Fixed interrupt flags register
- Implemented cursor and roll offset
2021-04-19 19:27:33 +02:00
AJR
3cee2739a2 mame.lst, mess.lua: Fix build errors from c037dfd822 2021-04-19 12:42:11 -04: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
7dc0aab8df thomson,bm3: Correct compile errors due to incorrectly pushing a not entirely mature patch (but good enough for a start) 2021-04-19 11:44:03 +02:00
Olivier Galibert
c037dfd822 thomson: Turn the extensions into slot devices, modernize the floppies 2021-04-19 09:50:19 +02:00
AJR
daa6c94699 New machines marked as NOT_WORKING
----------------------------------
Roland PR-100 Digital Sequencer [AJR, Valley Bell]
2021-04-18 14:05:21 -04:00
Robbbert
92ebbbaee1 radionic: Split radionic to its own source. 2021-04-19 02:40:19 +10:00
Robbbert
a9938f507e New machines marked as NOT_WORKING
----------------------------------
Intellec 8 MCS
2021-04-18 23:00:25 +10:00
Robbbert
a37f66aa70 New machines marked as NOT_WORKING
----------------------------------
Elektronikladen Elzet 80/K
Elektronikladen Elzet 80/P
2021-04-18 02:52:53 +10: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
Robbbert
f627dff3ad New machines marked as NOT_WORKING
----------------------------------
Junior-80
2021-04-17 02:44:11 +10:00
Olivier Galibert
9c8b72a5fe sound: Pulseaudio support 2021-04-16 14:49:16 +02:00
Robbbert
4269a89525 New machines marked as NOT_WORKING
----------------------------------
Lobo Max-80
2021-04-16 15:54:33 +10:00
Justin Kerk
6462fb5e00 Fix compilation with Emscripten versions greater than 2.0.8 (#7794) [Sam Clegg] 2021-04-16 02:44:16 +00:00
Furrtek
c1bf2b99cb
Added Konami 007452 multiplier/divider (#7951)
* Added 007452 multiplier/divider, fixes rolling mines trajectories in contra
* Plugged k007452 in combatsc, flkatck, wecleman
2021-04-15 01:09:22 +02:00
Olivier Galibert
6cbee7f176 cdu415: Add skeleton 2021-04-14 09:34:44 +02:00
hap
f498f61295 mephisto_montec.cpp: split driver file into montec/smondial 2021-04-12 00:36:52 +02:00
hap
ba646af6d8 mephisto_glasgow.cpp: split driver file into glasgow/amsterdam 2021-04-11 00:02:50 +02:00
hap
e56f56d624 added device for 1st version of mephisto display module 2021-04-10 17:21:14 +02:00
hap
55e356f13a mephisto_mondial.cpp: split driver file into mondial/mondial2 2021-04-09 11:54:50 +02:00
Olivier Galibert
b663c4bc50 cdu75s: start the driver 2021-04-08 09:15:25 +02:00
hap
0dca4d3106 mephisto_polgar.cpp: split driver into polgar, risc, milano 2021-04-07 23:11:20 +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
Dirk Best
ba29e1f553 New machines marked as NOT_WORKING
----------------------------------
BASF 7120 [rfka01, Dirk Best]
2021-04-06 17:49:05 +02:00
feos
4e337734f7 Fix vs2019_clang build 2021-04-05 13:00:48 +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
hap
0d897d07e6 namcos2/c355 sprites: color 0xfe is for a palette offset instead of shadow [dink, hap] 2021-04-01 21:01:36 +02:00
Robbbert
b44de86569 Moved lnw80 to its own driver. 2021-04-01 20:34:23 +11:00
Vas Crabb
71b8df0417 MAME 0.230
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE0DYtsBhE4EM627+6wXSxAYxAcQ4FAmBjCXUACgkQwXSxAYxA
 cQ6PAhAAuSgrMmBQiTdMrBvCDcB080E9yFNOkFpMgcH/RD9Md9hC5lN3sHVlGvex
 1hfA2hz1P2E3Icl2hI6oqhvXh192oo+AOj3EJ6bQdtn8c4UHhpFxNZ2tqbO0gcz5
 uuoThQx4Y29tAcYsurFcL7n782tcDym+QvTRl+UDiRWEMLXOTcd0IgKwYTm8scRL
 8c02Ks07cXJgawjDkyZYYQIvUjodppwTwdIW0hL3vvVNjFptG9ailtfTibLdfZRC
 QBTKLLewQxLDGROzfkY3lQwN+9TPdkSiITm63tBr9d+mCBT4Ib64MafplNGuxOVC
 vXBdjEsJyz2WDn490FXw3ZevOJI/BZCKuYZaW54owNbqgvLDXvc7AJMeEpqBGH8h
 soyJOx8NWY6FSB3yIgU6EROa+4IT3ZLdth3Q742ZNIBPlG1zIOvatredHnAQNis/
 VQM6y0jdbyIiMTRRfn3WLDp/CI0U2XO65d8+S9f86+5I8kbxTrJGSxx8YfM9c3up
 xuUbCBIU/egYBpYOaQzxxg9vFf+kWs50qdH2hMIxQjFM1IpUzWokiukUjCjRiVPp
 a4tRW3bdDmL76vkcQ/S4gQrSeDCLMBcPIZ5ffkBuaEar+C01/GOOKzn3UJWEkkmB
 dnw8HRLvJviPyTN2IiFWSZT+wYdgM0d3G3YofLsH6JTsaSF3xq8=
 =WmoT
 -----END PGP SIGNATURE-----

Merge tag 'mame0230' into mainline-master

MAME 0.230
2021-03-31 12:05:54 +11:00
David Haywood
196a342ae4
Refactoring and bug fixes for bbusters and mechatt: (#7902)
* Moved sprite handling to a device.
* Adjusted audio balance on mechatt (channel 0 was overpowering everything).
* Adjusted priority handing on mechatt (planes now correctly rise from underground hanger on stage 3, train carts in later level).
* Split driver in two, general refactoring etc.
* Removed player 2 inputs from mechattu1 - it doesn't respond to them at all.
2021-03-31 00:13:02 +11:00
hap
2247ffefa2 makefile: added param to override ar 2021-03-30 13:58:16 +02:00
AJR
2610d8771d Restore legacy pc_dsk floppy support for imgtool only 2021-03-29 22:50:26 -04:00
AJR
4d3afe00fc Restore legacy pc_dsk floppy support for imgtool only 2021-03-29 22:48:14 -04:00
hap
ab3a834deb remove references to "mame64" from comments 2021-03-29 15:26:38 +02:00
Vas Crabb
438edcd151 Fix building with clang 6
Annoyingly, clang 6 produces warnings for unused private static data
members, but does not recognise the [[maybe_unused]] attribute for them.
2021-03-29 04:30:37 +11:00
Vas Crabb
e298c31a69 srcclean in preparation for release 2021-03-28 14:34:50 +11:00
Ivan Vangelista
6ea5487515 New machines marked as NOT_WORKING
----------------------------------
Bee-Zerk [Bad A Billy, Smitdogg, The Dumping Union]
unknown VLC multigame [Bad A Billy, Smitdogg, The Dumping Union]
2021-03-25 12:45:10 +01:00
Robbbert
f2fa9bd3b1 Fixed arcade build. 2021-03-24 20:16:29 +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
AJR
3f122ae7df New machines marked as NOT_WORKING
----------------------------------
Akai MPC60 MIDI Production Center [DBWBP]
2021-03-07 23:35:00 -05: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
Brian Troha
a5f7033245 arcade.lua: Remove unnecessary BUS device. 2021-03-06 16:50:48 -06:00
Brian Troha
864040eade Fix 'arcade' build 2021-03-06 01:00:33 -06: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
David Haywood
2746058dcf
new WORKING machines (TV Board Games 6-in-1) (#7824)
new WORKING machines
-------
TV Board Games 6-in-1: Silly 6 Pins, Candy Land, Hungry Hungry Hippos, Match 'em, Mixin' Pics, Checkers [Sean Riddle, David Haywood]
TV Board Games 6-in-1: Simon, Battleship, Mouse Trap, Checkers, Link-a-Line, Roll Over [Sean Riddle, David Haywood]
2021-03-02 13:53:31 -05: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
Dirk Best
8b5e6f363e rc759: Fix cassette error, add keyboard 2021-02-27 14:33:00 +01: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
Ivan Vangelista
081817139d New machines marked as NOT_WORKING
----------------------------------
Mini Money [jordigahan, ClawGrip]
2021-02-26 18:10:34 +01:00
AJR
6d6073054b fileio.cpp: This doesn't technically require emu.h 2021-02-26 12:07:44 -05:00
AJR
5dda26dd69 fddebug.cpp: Remove from build 2021-02-26 12:06:59 -05:00
Ivan Vangelista
72cc272622 simple_st0016.cpp: got rid of tagmap lookups and other small cleanups 2021-02-23 20:55:37 +01: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
ClawGrip
757e506018
New machines marked as NOT_WORKING (#7769)
New machines marked as NOT_WORKING
----------------------------------
Silverball (8.01) [jordigahan, ClawGrip]

New clones marked as NOT_WORKING
--------------------------------
Silverball (6.32) [Asure]
Silverball (7.20) [Asure]
Silverball Bulova (4.09, set 1) [Asure]
Silverball Bulova (4.09, set 2) [Asure]
2021-02-20 06:14:10 +01:00
ClawGrip
f834335d26
New machines marked as NOT_WORKING (#7700)
New machines marked as NOT_WORKING
----------------------------------
Photo Play 2001 (Spanish) [jordigahan, ClawGrip]
2021-02-20 06:11:35 +01: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
ClawGrip
8be77e81fb
New machines marked as NOT_WORKING (#7801)
* New machines marked as NOT_WORKING
----------------------------------
PlayCenter Champions Tournament (v9.3) [Recreativas.org]
2021-02-19 20:18:06 +01: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
307261ec8a New machines marked as NOT_WORKING
----------------------------------
G.T. Block Challenger [hap, chaneman]
2021-02-11 12:21:52 +01:00
hap
856f17da03 novag_supremo: redumped the ROM [bataais]
novag_supremo: move driver to novag_snova [hap]
2021-02-09 18:14:25 +01:00
fulivi
70f0f9cd44
hp_ipc.cpp: Added support for expansion ROMs. (#7726)
New working software
-----------------
hp_ipc_rom: Software Engineering ROM
2021-02-08 21:51:51 +11:00
hap
ad11e2d46e added ds8874 device 2021-02-07 17:12:19 +01:00
Dirk Best
f288a2af04 New machines marked as NOT_WORKING
----------------------------------
Insight Enterprises Z80 SBC (Prototype?) [Dirk Best, Tech Time Traveller]
2021-02-05 19:31:39 +01:00
AJR
c47ed0112e coretmpl.h: Move lru_cache_map to separate header 2021-02-03 17:42:14 -05:00
Dirk Best
23752742b3 m3: Rewrite driver
System is now mostly working. The monitor ROM can be used. No software available, so the floppy hookup isn't finished.
2021-02-03 13:15:13 +01:00
AJR
75a7445a98 unidasm: Add disassemblers for NEC/Renesas V850 family 2021-01-30 12:30:56 -05:00
Stiletto
3153838929
Update "2020" text to "2021" (#7713)
Update "2020" text to "2021".
2021-01-28 00:11:17 -05:00
ClawGrip
7c0f2644db
New machines marked as NOT_WORKING (#7702)
* New machines marked as NOT_WORKING
----------------------------------
Games Family [Victor Fernandez (City Game), ClawGrip]
2021-01-27 01:52:13 +11: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
Ivan Vangelista
bdeac67bfb rolla.cpp: moved set to skylncr.cpp 2021-01-23 20:11:29 +01:00
Ivan Vangelista
84fd31d587 New machines marked as NOT_WORKING
----------------------------------
unknown 'Rolla' slot machine [caius]
2021-01-23 17:42:34 +01:00
Vas Crabb
6ba369b3fc -docs update:
* Added note explaining that view options saved in machine CFG take
  precedence over INI/command line.
* Added prerequisites for building HTML documentation under MSYS2 and
  Fedora Linux.
* Explicitly mentioned that Ubuntu modifies GCC to enable "fortify
  source" by default in the relevant section.
* Removed obsolete reference to glibstdc++6.
* Re-formated compiling guide source (hard wrap at 80 columns,
  typographical quotes, code blocks for sample command lines).

-genie.lua: Show GCC ignored attribute warnings, but don't fail for
them.
2021-01-23 16:34:25 +11:00
AJR
1eb22dd22c genie.lua: Attempted fix for GCC build 2021-01-22 15:16:02 -05:00
AJR
d90099fc75 cosmicg: Driver overhaul
- Separate driver from cosmic.cpp
- Add MC6845 CRTC and use it for all video updates
- Configure screen with raw parameters
- Add support for display flipping in cocktail mode
2021-01-19 21:28:17 -05:00
hap
77d9253b55 New machines marked as NOT_WORKING
----------------------------------
Get A Way [hap, Sam Grech]
2021-01-19 20:53:34 +01:00
Ivan Vangelista
a349984880 New machines marked as NOT_WORKING
----------------------------------
Pontoon (Konami) [Michel Pichot]
2021-01-19 17:16:21 +01:00
AJR
3857001876 mess.lua: Fix full build 2021-01-18 11:30:08 -05:00
Patrick Mackinlay
35a5832063 New machines marked as NOT_WORKING
---
Data General AViiON 4600 [Plamen Mihaylov, Patrick Mackinlay]
2021-01-18 20:43:11 +07:00
Dirk Best
400ff8ceb5 tabe22: Make it mostly work
- Move to its own driver
- Implement keyboard
- Implement char/attr RAM switch
- Improve video rendering
- Hook up RS232 ports
- Add gfxdecode
2021-01-16 15:10:10 +01:00
Patrick Mackinlay
8ccfa3762c New machines marked as NOT_WORKING
---
NEC EWS4800/310 [Plamen Mihaylov, Patrick Mackinlay]
2021-01-15 17:00:19 +07: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
Brian Troha
158cf0047d fix 'arcade' build - fixes recent ksys572 memory card update & jpmimpct update 2021-01-12 23:42:29 -06:00
AJR
e325adaed3 roland_s10.cpp, roland_s50.cpp: Add skeleton sampler devices 2021-01-12 13:29:34 -05: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
fulivi
fad7c9e0be
hp2640.cpp: Added tape emulation. (#7625)
* formats/hti_tape.cpp: Added support for Manchester encoded DC100 cassettes.
* machine/hp2640_tape.cpp: added emulation of DC100 tape drives.
* machine/hp_dc100_tape.cpp: Added unit name display.
2021-01-12 23:29:30 +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
ClawGrip
17ea951a84
New machines marked as NOT_WORKING (#7648)
* New machines marked as NOT_WORKING
----------------------------------
AlphaSmart 3000 [TeamEurope, ClawGrip]

* New NOT_WORKING software list additions
---------------------------------------
alphasmart_kapps.xml: Accelerated Reader (1.3, English (UK)), Accelerated Reader (1.2, English (UK)), AlphaQuiz (3.1, English (UK)), AlphaWord Plus (3.4, English (UK)), Beamer (1.01, English (UK)), Calculator (3.02, English (UK)), Control Panel (1.07, English (UK)), Control Panel (1.04, English (UK)), KeyWords (3.6, English (UK)), KeyWords Wireless (4.2, English (UK)), MathFacts in a Flash RP (1.3, English (UK)), MathFacts in a Flash RP (1.1, English (UK)), MathFacts in a Flash (offline) (1.2, English (UK)), MathFacts in a Flash (offline) (1.0, English (UK)), Neo Font - Large (4 lines) (1.0, English (UK)), Neo Font - Medium (5 lines) (1.0, English (UK)), Neo Font - Small (6 lines) (1.0, English (UK)), Neo Font - Very Large (3 lines) (1.0, English (UK)), Neo Font - Extra Large (2 lines) (1.0, English (UK)), Responder (1.2, English (UK)), SpellCheck Large USA (1.03, English (UK)), SpellCheck Large USA (1.02, English (UK)), SpellCheck Small USA (1.03, English (UK)), SpellCheck Small USA (1.02, English (UK)), SpellCheck Spanish (1.0, Dutch), Text2Speech Updater (1.4, English (UK)), Text2Speech Updater (1.3, English (UK)), Thesaurus Large USA (1.1, English (UK)), Thesaurus Large USA (1.0, English (UK)), Thesaurus Small USA (1.1, English (UK)), Thesaurus Small USA (1.0, English (UK)), Wireless File Transfer (1.1, English (UK)), Wireless Updater (2.0, English (UK)), Wireless Updater (1.3, English (UK)) [ClawGrip]
2021-01-08 14:10:09 -05:00
Patrick Mackinlay
89b519f58e New machines marked as NOT_WORKING
---
IBM RT PC [Bitsavers]
2021-01-08 15:10:31 +07:00
Ivan Vangelista
78c211b3bb New machines marked as NOT_WORKING
----------------------------------
Mini Guay [jordigahan, ClawGrip]
2021-01-07 19:26:41 +01:00
Ivan Vangelista
8c82ffd935 wrally.cpp: fixed MT07836 2021-01-06 12:27:16 +01:00
Vas Crabb
8228719f03 Tidy up loose ends:
* Fixed a couple of fixed-size buffers in Windows OSD code.
* Marked MAME as aware of long paths in Windows manifest.
* Made a cleaner, thread-safe API for getting volume names.
* Added compile-time option to disable recompiler W^X mode.
* NuBus image device current directory doesn't need to be pinned.
2021-01-06 19:09:16 +11:00
Vas Crabb
4eca05fe67 cpu: Allow recompilers to work with W^X policy 2021-01-06 02:18:04 +11:00
hap
d329aa03f7 odyssey2: add service test cart 7seg output 2021-01-04 21:11:54 +01:00
Ivan Vangelista
e900729c13 New machines marked as NOT_WORKING
----------------------------------
Sonic Blast Man's Janken Battle [Phil Bennett]
2021-01-04 19:42:18 +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
Ivan Vangelista
ca01e891e1 New machines marked as NOT_WORKING
----------------------------------
Heroine's Memory [The Dumping Union]
2021-01-02 16:26:44 +01:00
Ryan Holtz
29bc7e25b7 -arm7: Moved WinCE call logging into a separate .hxx file. [Ryan Holtz] 2021-01-01 23:23:42 +01:00
ClawGrip
e5b66d27d8
New machines marked as NOT_WORKING (#7606)
----------------------------------
Diamond King [jordigahan, ClawGrip]
2021-01-01 14:03:34 +11: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
AJR
07129a74e3 trebol: Transfer to missbamby.cpp driver, since hardware appears to be almost the same 2020-12-29 09:49:11 -05:00
Vas Crabb
f6f0901551 Merge branch 'release0227' into mainline-master 2020-12-29 04:45:24 +11:00
AJR
54e03f47e0 New machines marked as NOT_WORKING
----------------------------------
Hungry Hungry Hippos (redemption game) [Museo del Recreativo, The Dumping Union]
2020-12-26 22:48:43 -05:00
Vas Crabb
6071450833 Fix linking the virutal subtarget. 2020-12-27 13:15:02 +11:00
Ivan Vangelista
509c946736 New machines marked as NOT_WORKING
----------------------------------
unknown Cointek game [Siftware]
2020-12-26 15:16:30 +01:00
ClawGrip
5e153f7bac
New machines marked as NOT_WORKING (#7591)
----------------------------------
RF51W14-CG [jordigahan, ClawGrip]
2020-12-25 14:42:18 +11:00
tim lindner
c49f1ee406
bus/coco Added CoCo and Dragon MIDI cartridges. (#7589) 2020-12-25 14:28:09 +11:00
Nigel Barnes
f26a25384a New machines marked as NOT_WORKING
----------------------------------
Datacast Controller (The Stock Exchange) [Tony Jewell, Nigel Barnes]
2020-12-25 00:09:53 +00: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
David Haywood
531eedcc7f
shuffle a few things around re: the BBL ST2302U based handhelds, give bbl338 its own map due to internal ROM etc. (#7584)
* shuffle a few things around re: the BBL ST2302U based handhelds, give bbl338 its own map due to internal ROM etc.

* fake some interrupts on bbl338

* better document test draw command, so that we can verify we're in test mode
2020-12-24 11:35:03 -05: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
Lord-Nightmare
a23ea53673 Add skeleton driver for MGA MIUCHIZ handhelds [Lord Nightmare, ChrisMiuchiz]
New machines marked as NOT_WORKING
------------------
MIUCHIZ Virtual Companions
2020-12-22 12:47:48 -05:00
hap
bf4338f9a8 New machines marked as NOT_WORKING
----------------------------------
Super Nova (Novag) [hap, Berger]
2020-12-22 13:40:02 +01:00
AJR
6b0288beee New machines marked as NOT_WORKING
----------------------------------
MBC020-65 CPU/Video Board (Torque Systems OEM)
2020-12-20 23:37:31 -05:00
David Haywood
91c0991e55
refactored LCDC code used by bbl handhelds into a device [David Haywood] (#7568)
* refactored LCDC code used by bbl handhelds into a device [David Haywood]
2020-12-18 16:38:51 -05:00
AJR
4f70f2d58b Add CompactRISC CR16C disassembler to unidasm (largely untested) 2020-12-16 12:17:56 -05:00
Ryan Holtz
59d299463a New machines marked as NOT_WORKING
----------------------------------
Twin Basket [Museo Del Recreativo]

-st62xx: Various changes. [Ryan Holtz]
 * Fixed RETI and LD rr,A opcodes.
 * Optimized internal register handling.
 * Converted to use logmacro.
 * Added initial timer support.
2020-12-15 20:07:17 +01:00
Ivan Vangelista
1070337a8a New machines marked as NOT_WORKING
----------------------------------
unknown Cirsa slot machine on 820501 A PCB [jordigahan, ClawGrip]
2020-12-14 18:15:16 +01: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
arbee
2c63fde1d0 Add macosx_arm64_clang target support [R. Belmont, Miodrag Milanovic] 2020-12-12 20:00:04 -05:00
Vas Crabb
4d7ef27490 -luaengine.cpp: Clean up render classes and expose screen image adjustments.
* Started moving Lua class reference to docs.  Expecting people to find
  the class reference material in the source isn’t going to help make it
  approachable.  The docs allow longer explanations, better formatting,
  and cross reference links.

* Added another layout scripting example to the docs.

-goldnpkr.cpp: Minor clean-up.

* Improved the short names for Witch Card and Witch Game clone sets.

* Made Witch Up & Down artwork clickable.

* Added working Video Klein sets where the parent is a working Video
  Klein set to the tiny subtarget.

* Removed history from the header comment - we have version control for
  a readon.
2020-12-13 09:54:03 +11:00
David Haywood
7936345809
new NOT WORKING machines (Plug and Play) (#7541)
* set additions, see main decription

* not working additions, see main description

* more not working bits, see main description

* more not working additions, see main description

* consistency fix
2020-12-10 14:36:44 -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
AJR
7d89ac0608 Seta video encapsulation
- seta001: Move gfxdecode down into device; add putative master clocks
- x1_012: Separate emulation of tile layers as new device
2020-11-30 20:49:31 -05: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
3ae7e0f528 Make exidy compilable with SOURCES= and fix sidetrac 2020-11-28 12:12:54 +01:00
Angelo Salese
b88fe8a45e
Miscellaneous late 90s Jaleco HW fixes and cleanups (#7445)
* ms32.cpp: fix/document memory map

* ms32.cpp: preliminary CRTC hookup

* ms32.cpp: implement sprite direction bit, nuke per-game kludges

* Move note where it belongs (nw)

* ms32.cpp, bnstars.cpp: correct sprite RAM ranges

* tetrisp2.cpp: kill some legacy screen params, need those anyway

* Improve notes (nw)

* ms32.cpp: move CRTC to a new sysctrl device

Also added a bare-bones Python script for generating new device file
defs to src/mame/etc

* gen_python_def.py: address issues, misc improvements

* Kill device_memory_interface in favour of direct address_map, QA always broken flip_screen in flags

* ms32.cpp: reinstated flip screen thru callback

* ms32.cpp: Make mixing to honor cliprects instead of erratic screen.width / height call

* Need a safeguard somehow, and a symbols build doesn't help here lalala

* Fix notes, cannot repro the bug, next

* Move irq assert/clear lines to device, add preliminary prg timer, make 30 Hz irq to behave like one.
(Note: very untested, feedback is appreciated)

* Send a prg timer ack if irq is disabled

* Misc cleanups

* Nuke emu_timers in favour of configure_scanline, preliminary bnstars1 hookup

* No magic number please

* Add sysctrl to tetrisp2.cpp, move rockms stuff into its own state machine, misc

* Kill off 30 Hz refresh rate hack in stepstag/vjdash sub screens

* Flag all those xtals as unknown

* Move has_zoom/has_yuv in ms32_sprite init constructor, fix dummy config bug with stepstag right screen update

* jalcrpt.h doesn't belong to tetrisp2.cpp, errata on sysctrl reset line

* Fix build

* Left-over

* Fix bool comparison to itself (blame JS habits), nuke bnstars1 mahjong
switch case altogether.

* Notes

* Fix bnstars1 crash

* update_color fn doesn't work without a memory_share_creator, documentation

* Translate clamp_to_12bits_neg to a constexpr method

* Fix crashing in main ms32 driver, except it now has very broken priority for seemingly no reason

* Fix nasty spriteram buffer RAM allocation bug

* Make objectram_size to be calculated at init time

* First (naive) pass in moving common interface to a ms32_base_state

Move m_irqreg save state from video_start to machine_start fn;
Fix embarassing palette overflow bug in ms32.cpp;
Add bitswap for bnstars1 mahjong panel;
.bytes() -> .length() for objectram_size;

* bnstars: template video handlers

* bnstars: fix config, split sprite chips/gfxdecode/palette into two, fix palette ranges

* ms32.cpp: implement proper irq acknowledge lines

* Add config setter in sysctrl for inverted vblank/field lines, make tp2ms32 and wpksocv2 happy

* Move f1superb to own state

* MS32 merge sound maps

* Remove TIMER_DEVICE_CALLBACK_MEMBER in favour of emu_timer
2020-11-25 21:14:04 +11:00
Vas Crabb
ec80428647 Fairly significant overhaul of Lua engine and some cleanup.
The things that were previously called device iterators are not
iterators in the C++ sense of the word.  This is confusing for
newcomers.  These have been renamed to be device enumerators.

Several Lua methods and properties that previously returned tables now
return lightweight wrappers for the underlying objects.  This means
creating them is a lot faster, but you can't modify them, and the
performance characteristics of different operations varies.

The render manager's target list uses 1-based indexing to be more like
idiomatic Lua.

It's now possible to create a device enumerator on any device, and then
get subdevices (or sibling devices) using a relative tag.

Much more render/layout functionality has been exposed to Lua.  Layout
scripts now have access to the layout file and can directly set the
state of an item with no bindings, or register callbacks to obtain
state.  Some things that were previously methods are now read-only
properties.

Layout files are no longer required to supply a "name".  This was
problematic because the same layout file could be loaded for multiple
instances of the same device, and each instance of the layout file
should use the correct inputs (and in the future outputs) for the device
instance it's associated with.

This should also fix video output with MSVC builds by avoiding delegates
that return things that don't fit in a register.
2020-11-25 19:18:26 +11:00
David Haywood
334c801c55
Plug and Play bits (working and not working machines) (#7509)
* replaced dgun2869 dump with good one [Sean Riddle]
* also did some work on the dreamGear unit, works now
* an innotab2 driver entry was also added to hold the software list, but the ROM isn't dumped yet

machines promoted to WORKING
------
My Arcade Retro Micro Controller - 220 Built-In Video Games (DGUN-2869) [Zup, Team Europe, Sean Riddle]

new WORKING machines
------
Code Lyoko (25-in-1 handheld) [KaruzoHikari, Team Europe, David Haywood]
My Arcade Pac-Man Pocket Player (DGUNL-3227) [Sean Riddle]

new NOT WORKING machines
------
Palace Arcade [Sean Riddle, Kamaal Brown]

new NOT WORKING Software List entries
------
vtech_innotab_cart.xml : Mickey Mouse Clubhouse (UK) [Team Europe]
2020-11-25 14:44:37 +11:00
Dirk Best
69454e20cd New machines marked as NOT_WORKING
----------------------------------
Azkoyen Design D6 [jordigahan, ClawGrip, Dirk Best]
Azkoyen Design (Euro) [maquinasdetabaco.com, Dirk Best]
2020-11-24 15:08:40 +01:00
arbee
4bb94f0e93 New machines added as MACHINE_NOT_WORKING
-----------------------------------------
Yamaha PSR-340 PortaSound [R. Belmont, HIGHWAYMAN]
2020-11-23 22:53:36 -05:00
shattered
593e2f5d9c
AT&T Blit terminal (skeleton) (#7469)
New machines marked as NOT_WORKING
------------------
AT&T Blit
2020-11-23 12:38:04 +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
Lord-Nightmare
40646cd9dd tsispch.cpp: bring the driver more up to modern MAME coding standards 2020-11-19 05:12:17 -05:00
AJR
554e9822d6 New machines marked as NOT_WORKING
----------------------------------
Akai VX600 Programmable Matrix Synthesizer [DBWBP]
2020-11-17 16:15:50 -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
Vas Crabb
5f750e0376 Fixed clang warning in Lua engine properly, converted a few fallthrough comments to attributes, sorted some warning options alphabetically 2020-11-17 03:51:20 +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
David Haywood
da2f9c7841
identify 'seahuntr' as Black Touch II, move to correct driver (#7477) 2020-11-15 15:22:07 +01:00
Ivan Vangelista
27309ec944 New machines marked as NOT_WORKING
----------------------------------
Sea Hunter [Jorge Silva, Fernando Oliveira]
2020-11-15 12:48:02 +01:00
Vas Crabb
d1666d2ec9 Add C++17 flag for visual studio (hopefully in the right place) 2020-11-15 07:15:23 +11:00
Nigel Barnes
292025b227 New machines marked as NOT_WORKING
----------------------------------
AlphaTantel [Binary Dinosaurs, Nigel Barnes]
2020-11-14 17:37:16 +00: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
Vas Crabb
fe9ac15ca9 -emu/devfind: More cleanup/consistency changes.
* Removed .mask(), as it’s not reliable in the general case.
 * Added asserts to things that assume power-of-two sizes.
 * Got rid of virtual qualifier on pointer-to-member operator.
 * Made helpers a bit more assertive about logging warnings.

-emu/rendlay.cpp: Use delegates to avoid hot conditional branches.

-docs: Finished off description of object finders and output finders.
2020-11-13 15:26:31 +11:00
Ivan Vangelista
055249b50c New machines marked as NOT_WORKING
----------------------------------
IQ-7000 [Sean Riddle, Recreativas.org]

New NOT_WORKING software list additions
---------------------------------------
3 Dimensional Spreadsheet (IQ-8B01) [Recreativas.org]
8-Language Translator (IQ-703A) [Sean Riddle, Recreativas.org]
Time Expense Manager (IQ-701A) [Recreativas.org]
2020-11-10 19:39:41 +01:00
arbee
5ca983d83f apple2: Support the SUP'R'TERMINAL 80-column card. [R. Belmont] 2020-11-09 23:03:14 -05:00
shattered
c73e27e699
agat.cpp: Native keyboard, video and floppy improvements. (#7449) 2020-11-10 12:58:10 +11:00
Ivan Vangelista
3da8da807b New machines marked as NOT_WORKING
----------------------------------
Trio de Bingo [Yasu]
2020-11-07 08:47:08 +01:00
Olivier Galibert
b644308114 mu5: Add the lc7985nd and the lcd [O. Galibert] 2020-11-05 14:00:00 +01:00
David Haywood
39978cae75
new NOT WORKING machines (InnoTV) (#7435)
new NOT WORKING machines
----------------------
InnoTV [Team Europe]

new NOT WORKING software list entries
----------------------
vtech_innotv_innotabmax_cart.xml:
pawpatrl: Paw Patrol - Pups Save a UFO! (80-274103 UK) [Team Europe]
dcgcr: DC Comics - Gotham City Robots (80-274803 UK) [Team Europe]
finddory: Finding Dory (80-274903 UK) [Team Europe]
liongrd: The Lion Guard (80-275203 UK) [Team Europe]

new WORKING software list entries
----------------------
gameking.xml:
mc_4v07a: 4 in 1 - TrojanLegend (Trojan) + HappyBall + Supermotor (Motor) + Lanneret (Hawk) (512KB cartridge) [Team Europe]
mc_4v16a: 4 in 1 - Manhunt + Bobby + Tantivy + Racing Car (512KB cartridge) [Team Europe]
2020-11-05 11:47:57 +11:00
arbee
bef3056d12 New machines added as NOT_WORKING
---------------------------------
Yamaha MU-5 [Edward d-tech, DBWBP.com, R. Belmont]
2020-11-01 22:27:28 -05: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
Olivier Galibert
f814777e46 wavesynth: waveblaster-based virtual expander, ks1064 for now [O. Galibert] 2020-10-31 21:47:49 +01: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
AJR
ceaedaabb6 mess.lua: Fix build 2020-10-29 11:24:55 -04:00
Felipe Corrêa da Silva Sanches
c82bdb636a new driver: TecToy Pense Bem (2017)
Equivalent to VTech Smart Start from the 80s.
2020-10-30 02:03:36 +11:00
David Haywood
2137f26981
-Plug and Play work (lots of new sets from Sean etc.) (#7401)
new WORKING machines
-----
The New York Times Sudoku [David Haywood, Sean Riddle, Kamaal Brown]
Vs Maxx 25-in-1 (VT03 hardware) [David Haywood, Sean Riddle, Kamaal Brown]
6-in-1 Sudoku Plug & Play [David Haywood, Sean Riddle]
Plug 'N' Play 50-in-1 (DGUN-853) [David Haywood, Sean Riddle, Kamaal Brown]

new WORKING clones
-----
Mega Drive Collection Volume 2 (Radica, Arcade Legends) (UK) [David Haywood, Sean Riddle]
Super Sonic Gold (Radica Plug & Play) (UK) [David Haywood, Sean Riddle]

new NOT WORKING machines
-----
Plug 'N' Play 25-in-1 (DGUN-806) [David Haywood, Sean Riddle, Kamaal Brown]
IQuest (US) [David Haywood, Sean Riddle, Kamaal Brown]

- Added MegaDrive side ROM to sarc110 sets, moved to skeleton 'hybrid' driver based on megadriv_rad.cpp and demoted to not working for now as they're meant to boot from the MD side with the VT03 games as bonus items [Sean Riddle, Team Europe]
- Moved reactmd to a skeleton 'hybrid' driver, demoted to not working, it's also meant to boot from the MD side with the SunPlus games as bonus items.
2020-10-30 00:53:03 +11:00
Vas Crabb
3a3e83d6b2 Apple calls llvm/clang 10 Xcode 12, update warning flags. 2020-10-29 12:40:25 +11:00
Ivan Vangelista
d8ece59cc7 New machines marked as NOT_WORKING
----------------------------------
Win Bingo 2006 [f205v]
2020-10-28 20:30:29 +01: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