Commit graph

80446 commits

Author SHA1 Message Date
987123879113
cf56fff9c2
New clone marked as WORKING (#8586)
--------------------------------
beatmania complete MIX (ver AA-C) [DeepSeaSqueeze]
2021-09-21 04:59:41 +10:00
0kmg
91b4d0267b
bus/nes: Added support for Star Versus. (#8598)
New working software list additions (nes.xml)
-----------------------------------
Star Versus [anonymous]
2021-09-21 04:34:57 +10: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
0kmg
501c949c25
bus/nes: Several small separate fixes. (#8580)
* Fixed empty menu in Supervision 16 in 1.
* Fixed softlist loading of GB 63 in 1 and hooked it up with a compatible board type. Removed old partially-working code.
* Removed a spurious line in PCB loader that set WRAM in SMB2J bootlegs--they don't have any!

Software list items promoted to working (nes.xml)
---------------------------------------
Ghostbusters 63 in 1
Super 128k - 16 in 1
2021-09-21 04:21:31 +10:00
Vas Crabb
da1af2b0d6 -delegates: Fixed structure return with MSVC C++ ABI.
* Automatically use delegate_mfp_compatible to generate an adaptor for
  member functions that return non-scalar, non-reference types
  (partially addresses #8597).
* Enabled the MSVC delegate implemenation for MSVC on AArch64.
* Switched back to neater delegate types for layout item bounds and
  colour.

-docs: Updated the example layout links to point to 0.235 - this means
 there's now an example of embedded SVG.
2021-09-21 01:02:11 +10:00
Robbbert
362d859dc1 arcade.flt: added konmedal020.cpp 2021-09-20 23:44:59 +10:00
Ivan Vangelista
d2ea56516b New clones marked as NOT_WORKING
--------------------------------
Faeton (6 digits) [Jordi, Orlando, PinMAME]
Hardbody (rev. D) [PinMAME]
Hook (UK 4.06, display A4.01) [PinMAME]
MotorDome (rev. B) [PinMAME]
2021-09-20 09:08:51 +02:00
Ivan Vangelista
5d8d5bf5e2 namcos1.cpp: corrected the program ROM label for Tank Force (US, 2 Players) [Action Jackson] 2021-09-20 08:09:24 +02:00
Ivan Vangelista
cd43ead03c New clones marked as NOT_WORKING
--------------------------------
Peacock Flutter (01J00011, NSW/ACT) [Dam0, Heihachi_73]
2021-09-20 08:07:04 +02:00
arbee
ef41d5f454 Fix build script typo [R. Belmont] 2021-09-19 20:09:18 -04:00
arbee
e89bd996d2 Fix compile on GCC x64 Linux [R. Belmont] 2021-09-19 19:59:10 -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
Vas Crabb
e135ac348d util/delegate.cpp: Fixed calculation of this pointer when casting member function pointers across virtual inheritance relationships using MSVC with /vmg. 2021-09-20 05:29:43 +10:00
Vas Crabb
401b22bbf5 util/delegate.h: Try to catch issues earlier, and some cleanup.
Optimised generation of late bind helper functions.  The late bind
helper function doesn't depend on the delegate signature - only on the
late bind base class and function target class.  Having it inside the
delegate base class means it needs to be instantiated for every
combination of late bind base class, function target class and delegate
signature.  In a typical driver file, there is only one late bind base
class (delegate_late_bind), and there will be delegates with multiple
signatures bound to function members of the same class (e.g. read and
write handlers, possibly of different widths, bound to members of the
driver state class).  By moving the late bind helper out of the delegate
base class, the number of required instantiations can be reduced.  By
moving the body out of the enclosing class declaration, the compiler can
be encouraged to coalese instantiations across translation units.  While
this won't give a further reduction in compile time, it should at least
reduce the output binary size by reducing duplication for devices that
frequently have handlers installed in memory maps.

Added an additional template parameter to delegates allowing the late
bind base class to be changed if desired.

Moved the MSVC implementation "this" pointer optimisation out-of-line
and added logging.  Also cleaned up the Itanium "this" pointer
adjustment and code pointer resolution implementation to reduce
duplication and conditional compilation.

Made binding_type_exception give a more meaningful what() message than
"std::exception".

Added extensive validity tests for delegate functionality.  Pointers to
member functions are tested, including multiple inheritance, virtual and
non-virtual member functions, and checking for generational loss across
copying/assigning delegates.  This should properly exercise "this"
pointer adjustment for the Itanium and MSVC implementations, and vtable
lookup for the Itanium implementation.  So-called late binding
functionality is tested, including exceptions on failure.  Functoids are
tested, although given the encapsulation it's not possible to check that
an apator isn't generated when it shouldn't be.
2021-09-20 03:03:26 +10:00
Dirk Best
566a741f4f
sharrier: Hook up MCU, remove simulation (#8552)
- The MCU for the sharrier1 set is handcrafted and marked BAD_DUMP
- There is a slight issue with the initial synchronisation, so there is a hack to ignore the problematic write
2021-09-19 17:45:33 +02:00
ClawGrip
4e972dc95b
merits.cpp: Correctly identified set as "Pub Time Darts II" (#8595) 2021-09-19 17:36:33 +02:00
ajrhacker
0147443cf8
Merge pull request #8596 from ArcadeShadow/samcoupe_flop_202109
samcoupe_flop.xml: New working software list additions
2021-09-19 11:27:24 -04:00
ArcadeShadow
6528816a3c Update samcoupe_flop.xml 2021-09-19 16:11:54 +01:00
ajrhacker
a570a7aea7
Merge pull request #8591 from 0kmg/nes-batlab
bus/nes: Added support for Super Russian Roulette.
2021-09-18 23:10:29 -04:00
Vas Crabb
e7afb00aea util/delegate.cpp: Fixed multiple issues.
* Fixed this pointer displacement being reapplied after delegates are
  copied - caused issues with classes with multiple inheritance.
* Made null member function pointer test conformant with Itanium C++ ABI
  specification.
* Corrected size of this pointer displacement - fixes issues on big
  Endian targets.
* Fixed function addresses for virtual member functions on targets that
  use function descriptors (e.g. PPC64).
* Applied shift to this pointer displacement for targets that use the
  ARM variant of the Itanium ABI.
* Fixed this pointer displacement not being applied for virtual member
  functions on targets using ARM variant of the Itanium ABI.
* Fixed this pointer displacement being incorrectly applied to vptr on
  targets using ARM variant of the Itanium ABI.
* Made less code conditionally compiled to make it easier to catch
  errors.
2021-09-19 05:10:55 +10:00
arbee
a06f194642 spi_sdcard: add a child device which supports the SDV2 (non-HC) standard. [R. Belmont] 2021-09-18 14:30:03 -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
arbee
8ffadea809 spi_sdcard: Support CMD16 (SET_BLOCKLEN) for improved SDv2 compatibility. [R. Belmont] 2021-09-18 13:33:35 -04:00
arbee
13201c72ec harddisk.cpp: Allow specifying the desired block size for loose files / verifying a CHD's block size. [R. Belmont] 2021-09-18 13:28:14 -04:00
ajrhacker
40c382bdbc
Merge pull request #8584 from 0kmg/nes-mappers-382,392
bus/nes: Added support for two more multicarts.
2021-09-18 10:48:54 -04:00
ajrhacker
079300de6d
Merge pull request #8585 from 0kmg/nes-mapper58
bus/nes: Fixed graphics glitches for BMC-GKB board multicarts.
2021-09-18 10:48:07 -04:00
0kmg
8327dbefb5 bus/nes: Fixed graphics glitches for BMC-GKB board multicarts.
- Removed code for both BMC-NOVEL1 and BMC-NOVEL2 which are indentical to BMC-21IN1 and BMC-GKB, respectively. This fixes graphics for the NOVEL2 game as well.
2021-09-18 02:16:51 -08:00
0kmg
3f7fe14add bus/nes: Added support for two more multicarts.
New working software list additions
-----------------------------------
9 in 1 (Journey to the West) [anonymous]
Super 8 in 1 (Supervision menu) [v5100v5100]
2021-09-18 00:56:04 -08:00
AJR
e5baf6f1d7 sound/disc_sys.hxx, ymz770: Use std::clamp for clamping 2021-09-17 14:17:21 -04:00
hap
b6b740e0a6 wrinkles: added most of the sensors 2021-09-17 19:54:03 +02:00
Vas Crabb
df8703523b util/strformat.h: Detect C++ standard > C++17 before doing weird stuff. 2021-09-18 02:02:58 +10:00
Graham Inggs
91a9904a84
Do not build with -m64 on riscv64 (#8578) 2021-09-17 11:20:42 -04:00
Vas Crabb
d1e68f25dd util/strformat.h, util/delegate.h: More cleanup and future-proofing.
* util/strformat.h: Found a SFINAE trick to detect absence of stream-out
  operators. Fixes building with C++20 standard library (#6275).
* util/delegate.h: Fixed a commend and removed an unused declaration
  from MSVC member function pointer wrapper.
* util/delegate.h: Added support for discarding functoid return values
  for delegates returning void.
* util/delegate.h: Added support for using std::ref to bind non-copyable
  functoids.
2021-09-18 01:09:23 +10:00
tim lindner
6e3adb7199
fix gime master interrupt switches (#8583)
coco3: fix GIME master interrupt switches [tim lindner]
2021-09-17 09:43:53 -04:00
hap
bc0c0b22f6 4004clk: fix 50hz setting 2021-09-17 12:40:04 +02:00
0kmg
4c9efbc43b
msx.cpp: Fixed typo (MT8084) (#8581) 2021-09-16 23:16:57 +02:00
AJR
a656497a62 plaparse: Fix regression caused by parser eating '#' comment characters 2021-09-16 14:26:49 -04:00
Dirk Best
6b96a5d24b vtech/sdloader: Add support for SPI SD card 2021-09-16 12:54:17 +02:00
Ivan Vangelista
0fb4ca2c8b segas16b.cpp: decapped and dumped I8751 MCU for altbeastj [simzy, Gor, Ryan Holtz, iq_132, Darksoft, Briah Troha, TeamEurope] 2021-09-16 09:22:02 +02:00
Aaron Giles
082670c4b5 Remove VISIBLE_SOUND_OVERDRIVE compile-time option in favor of enabling the red overdrive border when speaker_report is non-zero. 2021-09-15 23:59:49 -07:00
Justin Kerk
541879d4be New working software list additions
-----------------------------------
vectrex: Star Sling Turbo Edition, Vec Sports Boxing
2021-09-15 22:52:58 -07:00
AJR
92ce4078b1 Fix build on systems where size_t is not the same as uint64_t 2021-09-15 22:13:10 -04:00
AJR
43133765c1 Convert JED, PLA and JEDBIN parsers to (mostly) use ioprocs instead of raw memory interfaces 2021-09-15 21:26:26 -04:00
Vas Crabb
caa9d4654e mrgame.cpp: Fixed 5bpp sprite layout, only put attribute handler over tilemap attribute area of object RAM. 2021-09-16 04:51:32 +10:00
Vas Crabb
55c73a821e mrgame.cpp: Add tilemap drawing - dakar works properly, wcup90 has some issues. 2021-09-16 04:29:53 +10:00
Vas Crabb
263e1af894 Fixed some delegate use issues. 2021-09-16 03:14:26 +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
ajrhacker
4a39d895af
Merge pull request #8573 from 0kmg/nes-mapper233
bus/nes: Improved emulation of reset-based 42 in 1 cartridge.
2021-09-15 11:12:20 -04:00
ajrhacker
5a33d5e5bf
Merge pull request #8574 from 0kmg/nes-mapper435
bus/nes: Added support for an NTDEC 14 in 1 cartridge.
2021-09-15 11:11:33 -04:00
hap
3e8c6e10e5 namcos12: update notes 2021-09-15 16:28:46 +02:00