626 Commits
Author SHA1 Message Date
sonninnos 292e4d40ad Merge tag 'mame0289' of https://github.com/mamedev/mame into 0289
MAME 0.289
2026-07-31 20:07:54 +03:00
sonninnos afc5e47a90 Merge branch '0288-bonus' 2026-07-28 23:52:47 +03:00
holub 0db76a9944 asmjs: Made buildable with latest emscripten 6.0.2 -- [holub, Steve Elbows] (#15663) 2026-07-19 15:33:41 -04:00
arbee 8b78d81440 M68k: MMU fixes and updates [R. Belmont]
- 68040 form of PTEST fixed and handled (previously didn’t decode correctly)
- Fixed PFLUSH decoding so incorrect F-line traps don't occur
- Indirect page descriptors write back U/M bits properly instead of potentially corrupting the page table
- Reset now properly clears ITTx/DTTx
- MMUSR now shown in the debugger to help track failed translations
- PFLUSH on 68881/68030 now properly compare the ATC tag
- Fixed typo causing misinterpretation of long-format descriptors
- Indirect descriptors now are handled properly
- PTEST on 68881/68030 properly handles levels shallower than the table depth
- PMOVE to TTx now properly flushes the ATC
- TC consistency check no longer throws exceptions on valid TC values with junk in the TI fields
- MMU EA decoding now only accepts forms the real MMUs do
- Added some guards against invalid page tables

M68k: FPU fixes and updates [R. Belmont]
- FPU opcode now validated before doing any EA calculations
- 68040-specific FSxxx/FDxxx instructions implemented
- 68881 transcendentals implemented and verified

M68k: cycle counting overhauled for 68030 and 68040.  Timings are significantly better but still inaccurate, especially on 68040. [R. Belmont]

3rdparty/softfloat3: Fixed several errors in the transcendental helpers, including wrong parameter order [R. Belmont]

AI disclosure: MMU and FPU debug/tracing and fix planning assisted by Claude Fable 5.  Cycle count refactor assisted by GPT 5.6 Terra.

Testing: A/UX 3.1.1 now boots properly on a range of 68030 and 68040 machines (with some driver changes not included here).  It previously was impossible to boot on 68040.  A generated Lua boot script hijacked 68030 and 68040 Macs to run a variety of synthetic FPU and MMU tests.  Tested taitojc, Marathon, Wolfenstein 3D, and Jigsaw Puzzle on Mac OS.  Tested NeXTSTEP on 68030 and 68040.  Tested HP/UX m68k.  Tested funkball on x86 to verify x87 is unhurt by the softfloat3 helper fixes.
2026-07-18 08:56:15 -04:00
Craig Carnell 6ab7db56f3 libretro: still need to static link c++ with new NDK 2026-07-18 13:16:20 +01:00
sonninnos ece17cc112 Merge tag 'mame0288' of https://github.com/mamedev/mame into 0288
MAME 0.288
2026-06-30 01:13:13 +03:00
Vas Crabb fc381c1e99 3rdparty/zlib/zconf.h: Hard-code macros set by configuration script. 2026-06-19 02:10:18 +10:00
Vas Crabb 60dd3aeeb1 3rdparty/zlib: Updated to upstream version 3.1.2.
There are supposed to be empty directories at
zlib/test/find_package_no_components_test and
zlib/test/find_package_wrong_components_test but git doesn't have a way
to represent that.
2026-06-19 02:07:49 +10:00
Vas Crabb a053d25c53 3rdparty/portmidi/pm_win: Fixed discarded const qualifier errors. 2026-06-18 20:11:15 +10:00
Vas Crabb 07ca600c99 3rdparty/portmidi: Updated to upstream version 2.0.8. 2026-06-18 20:04:31 +10:00
Julian Sikorski d9808e651a genie: Disable command line string escaping - fixes GitHub #13150. (#15413)
Cherry-picked from commit e745009c30.
2026-06-06 06:20:15 +10:00
Patrick Mackinlay 1810633dcc 3rdparty: Retired softfloat2. (#15270)
cpu/i386, machine/i8087.cpp: Migrated to SoftFloat 3.
2026-04-28 23:04:48 +10:00
Patrick Mackinlay b07a73f86f build: Add support for VS2026; 3rdparty/genie: Local fixes:
* Local fix for GENie resource include directory bug, sent upstream as bkaradzic/GENie#572
* Local fix to disable broken command line escaping
* Local fix to use MPARAM instead of hard-coded -m64
2026-04-10 01:35:25 +10:00
Patrick Mackinlay 2949f8dba5 3rdparty/genie: Sync with upstream 1196. 2026-04-10 01:34:49 +10:00
Patrick Mackinlay 73d8882b86 3rdparty/asmjit: Sync with upstream version 1.21. (#15205)
From asmjit/asmjit@0bd5787b54
2026-04-09 03:42:29 +10:00
sonninnos 8a9612baff Merge tag 'mame0287' of https://github.com/mamedev/mame
MAME 0.287
2026-04-01 20:49:38 +03:00
cracyc 56dea05162 i386: qword ptr also needs the fix 2026-03-07 09:46:17 -06:00
cracyc 9641b67e91 i386: fix softfloat with gcc 15 optimizer 2026-03-06 22:20:17 -06:00
sonninnos a8ec5de0b9 Merge tag 'mame0284' of https://github.com/mamedev/mame into 0284
MAME 0.284
2026-01-01 15:55:40 +02:00
Vas Crabb 9d91c14a57 3rdparty/ymfm: Fixed endianness and alignment issues when writing WAV files. 2025-12-12 02:18:20 +11:00
hap 66deabe176 ymfm: adpcm updates from https://github.com/aaronsgiles/ymfm/pull/40 [Aaron Giles] 2025-11-30 20:40:14 +01:00
angelosa cf4b853952 3rdparty/ymfm/src/ymfm_adpcm.h: extend at_end fn by 1
* pc98:metlfrce wants this to detect the speakboard, cfr. note in header card
2025-11-23 22:03:02 +01:00
sonninnos 98aecfb24e Merge tag 'mame0282' of https://github.com/mamedev/mame into 0282
MAME 0.282
2025-10-31 23:21:56 +02:00
Vas Crabb 53137914d2 Fixed up a pile of stuff and commented out games added without credits.
* You actually need to add copyright notices when adding stuff in
  3rdparty.
* bus/bk: Fixed bad exposed class.
* Metadata fixes.
* Got rid of non-const function statics.
2025-10-31 07:50:51 +11:00
Patrick Mackinlay b1945cf415 3rdparty/asmjit: Sync with upstream version 1.20. (#14330)
From https://github.com/asmjit/asmjit/commit/5134d396bd00c1b63259387acdbb12dfdf009f9b
2025-10-16 23:21:29 +11:00
mamehaze af47c272d6 pgm3.cpp - bootstrap first decrypted block from internal Flash [Peter Wilhelmsen, David Haywood] (#14259) 2025-10-03 18:35:24 +02:00
sonninnos 87e4b9f6ca Merge tag 'mame0280' of https://github.com/mamedev/mame into 0280
MAME 0.280
2025-09-02 02:09:02 +03:00
Vas Crabb 19fd5ff4b9 3rdparty/bgfx: Fix SPIRV shader builder compilation error with newer standard library that doesn't implicitly include stdint in as many places. 2025-08-01 19:00:50 +10:00
sonninnos 204e4bb619 Merge tag 'mame0278' of https://github.com/mamedev/mame into 0278
MAME 0.278
2025-07-03 01:59:25 +03:00
Pino Toscano de1d577492 Various GNU/Hurd fixes (#13792)
* bx: Small platform detection/usage improvements

* Use BX_PLATFORM_POSIX where needed

The semaphone implementation already uses BX_PLATFORM_POSIX to include
<pthread.h> on all the POSIX platforms; do the same also in other places
for consistency. This is done also for <sched.h>, which is a POSIX API,
and sched_yield() from it is already guarded by BX_PLATFORM_POSIX.

* Drop support for GNU libc older than 2.12

glibc 2.12 was released on 2010, and at this point any supported Linux
distro has that version or way greather than that.

From bkaradzic/bx@b59b7debd3

* bx: fix <pthread/pthread.h> include on Hurd

<pthread/pthread.h> does not exist, the standard <pthread.h> does exist
so switch to it.

* osd/modules/file: use dirent::d_type on any GNU libc platform

This BSD extension is provided by GNU libc, so enable its usage with
that C library.

* osd/modules/file: use <pty.h> on any GNU libc platform

openpty() is implemented by GNU libc for all the OSes, so include
<pty.h> when using that C library.

* osd/modules/file: cast dirent::d_name to const char* before using it

According to POSIX [1], the type of dirent::d_name is loosely defined
as "char d_name[]", as array with an undefined size. In particular, few
ways are seen in the wild:
(a) "char d_name[size]", i.e. as proper array with a full size
(b) "char d_name[1]"/"char d_name[0]", i.e. as C flexible arrays
Regardless of its type, dirent::d_name is used as if it was a classic
const char *, i.e. as pointer to a null-terminated string.

util::string_format() uses C++ templates to collect all the arguments,
and thus it will use the actual type of dirent::d_name. In case of (a)
there is no issue, however for (b) the result is that only the first
character is used.

To ensure that dirent::d_name is fully used, explicitly cast it to
const char * before passing it to util::string_format(), so the whole
string is used.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/dirent.h.html
2025-06-09 10:35:50 +02:00
Patrick Mackinlay cb045de3d2 3rdparty: cherry-pick upstream fixes for clangcl 2025-05-13 11:41:23 +07:00
holub 745e040e16 3rdparty/expat: Updated expat to version 2.7.1. (#13643) 2025-05-03 00:18:06 +10:00
sonninnos d3292a331b Merge tag 'mame0277' of https://github.com/mamedev/mame into 0277
MAME 0.277
2025-04-30 01:10:56 +03:00
Vas Crabb 32c0279c14 Correct syntax for template instantiation 2025-04-21 09:44:21 +10:00
Olivier Galibert 7864c26e17 Try helping the CI 2025-04-21 01:37:51 +02:00
Vas Crabb 6c8fb3d5e6 3rdparty/bgfx: Updated ImGui to 1.91.9b.
This was not straightforward, and we're now ahead of the ImGui version
in upstream bgfx.

Updated the bgfx-specific memory editor widget rather than just
partially removing the code.

Had to add an explicit template instantiation to imgui_widgets.cpp to
avoid a link error in the bgfx-specific range slider widget.

Got the imgconfig.h header a lot closer to the template from upstream
ImGui.
2025-04-21 07:35:00 +10:00
Vas Crabb d1e35612fa 3rdparty/portmidi: Another undefined macro warning. 2025-04-20 18:46:19 +10:00
Vas Crabb 3f69ebaa82 3rdparty/portmidi: Fixed more discarded const and undefined macro errors. 2025-04-20 17:38:24 +10:00
Vas Crabb f28dac8e0c 3rdparty/portmidi: Fix the right uninitialised local variable. 2025-04-20 15:29:31 +10:00
Vas Crabb 53cd382d4a 3rdparty/portmidi: Fixed more macOS errors. 2025-04-20 11:02:29 +10:00
Vas Crabb 74085ae6ef 3rdparty/portmidi: More cases of ignoring const in the macOS code. 2025-04-20 10:11:26 +10:00
Vas Crabb 485a93c011 3rdparty/portmidi: Another batch of K&R function declarations that upset clang. 2025-04-20 09:46:56 +10:00
Vas Crabb 9c28c45517 3rdparty/portmidi: Another place that needs const hit by Linux. 2025-04-20 09:41:11 +10:00
Vas Crabb 435f04a4c5 3rdparty/portmidi: Fixes for Linux and clang builds. 2025-04-20 09:12:55 +10:00
Vas Crabb 91cc7c0992 3rdparty/softfloat3: Proper way to detect presence of __int128 on GCC/clang. 2025-04-20 08:38:43 +10:00
Vas Crabb cfec4a0ec0 3rdparty/portmidi: Try to get PortMidi into a state where it will build with sane compiler settings. 2025-04-20 08:18:21 +10:00
Vas Crabb 844af3a173 3rdparty/portmidi: Updated to PortMidi 2.0.4. 2025-04-20 08:16:03 +10:00
sonninnos 839b3a24b6 Merge tag 'mame0276' of https://github.com/mamedev/mame into 0276
MAME 0.276
2025-03-31 00:37:52 +03:00
holub 52f1f3ac1c 3rdparty/zlib: Updated to 1.3.1. (#13505) 2025-03-26 21:52:28 -04:00
hap 1b4a43302d softfloat: remove unused global LITTLEENDIAN/BIGENDIAN macros, as well as TRUE/FALSE macros 2025-03-15 19:00:34 +01:00