* Squashed commit of the following:
commit 40c58abf1d
Merge: 1fc9c377c65b22
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Fri Oct 6 09:00:07 2023 +0200
Merge branch 'master' of https://github.com/yxkalle/Main_MiSTer
commit 1fc9c37c07
Author: Rikard Bengtsson <rikard.bengtsson@yahoo.se>
Date: Fri Oct 6 08:57:57 2023 +0200
N64: Just some cleanup. Made code simpler. Added some comments where needed.
commit 7c65b22cab
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Fri Oct 6 04:09:51 2023 +0200
Delete MiSTer_noface
commit fe2169544f
Merge: c163956ee5659a
Author: Rikard Bengtsson <rikard.bengtsson@yahoo.se>
Date: Fri Oct 6 03:28:02 2023 +0200
Merge branch 'master' into add-id-to-db
commit c1639563da
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Fri Oct 6 03:15:05 2023 +0200
Update n64.cpp
commit f4a6b98b5d
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Fri Oct 6 03:12:51 2023 +0200
cleanup
commit 401b9dc6a9
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Tue Oct 3 22:48:03 2023 +0200
Clean-up
Clean-up the code, added some comments. Allow uppercase md5s in the database.
commit e0e2affdfe
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Mon Oct 2 20:05:28 2023 +0200
Cleaner code?
commit 554666832b
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Sun Oct 1 02:13:00 2023 +0200
Delete N64-database.txt
Delete before PR
commit 9e8fc3f30c
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Sun Oct 1 02:09:07 2023 +0200
Some commenting and clean-up
commit be19bb6e67
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Sun Oct 1 01:19:05 2023 +0200
Autodetect settings by ID
Settings are saved in the database text files as usual, but you can match by both MD5 (first 4096), MD5 (full) as well as ID + region + revision.
* Added support for hacked boot codes
* Update n64.cpp
- Add an expanded key option to include core pixel freq in key E.g. Corename_FPS_Fpix=PhaseInc
- Fixes issue with matching YC key when Saturn core changes from low res to high res mode, as the FPS remains the same when the pixel clocks change (E.g. 6.71Mhz vs 7.16Mhz)
- Tested with existing yc.txt list as well as new Saturn keys for yc.txt
* Squashed commit of the following:
commit 40c58abf1d
Merge: 1fc9c377c65b22
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Fri Oct 6 09:00:07 2023 +0200
Merge branch 'master' of https://github.com/yxkalle/Main_MiSTer
commit 1fc9c37c07
Author: Rikard Bengtsson <rikard.bengtsson@yahoo.se>
Date: Fri Oct 6 08:57:57 2023 +0200
N64: Just some cleanup. Made code simpler. Added some comments where needed.
commit 7c65b22cab
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Fri Oct 6 04:09:51 2023 +0200
Delete MiSTer_noface
commit fe2169544f
Merge: c163956ee5659a
Author: Rikard Bengtsson <rikard.bengtsson@yahoo.se>
Date: Fri Oct 6 03:28:02 2023 +0200
Merge branch 'master' into add-id-to-db
commit c1639563da
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Fri Oct 6 03:15:05 2023 +0200
Update n64.cpp
commit f4a6b98b5d
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Fri Oct 6 03:12:51 2023 +0200
cleanup
commit 401b9dc6a9
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Tue Oct 3 22:48:03 2023 +0200
Clean-up
Clean-up the code, added some comments. Allow uppercase md5s in the database.
commit e0e2affdfe
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Mon Oct 2 20:05:28 2023 +0200
Cleaner code?
commit 554666832b
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Sun Oct 1 02:13:00 2023 +0200
Delete N64-database.txt
Delete before PR
commit 9e8fc3f30c
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Sun Oct 1 02:09:07 2023 +0200
Some commenting and clean-up
commit be19bb6e67
Author: Rikard Bengtsson <rikard@loginhasselberg.se>
Date: Sun Oct 1 01:19:05 2023 +0200
Autodetect settings by ID
Settings are saved in the database text files as usual, but you can match by both MD5 (first 4096), MD5 (full) as well as ID + region + revision.
* Added support for hacked boot codes
ID, region and revision are grabbed from the games' header and are looked up in the database text file, the same file where MD5 hashes are now. Both MD5 and ID will be valid ways of determining ROM settings, so old database files will still work. The benefit of this is that the database can be shrunk quite considerably, as many, many duplicates can be removed. It will be (much) easier to maintain. I'm hoping to see fewer pull request made to the database repository as a consequence of this change.
* input.cpp: pass dev nr to joy_analog
This allows for per-controller behavior
* N64: add emulation for the analog joystick
This applies the reduced-range octagonal gate of the N64 analog stick to
regular analog sticks.
The code was mostly written by Patrick Pollock with small optimizations
by Martin Donlon and myself.
Some users complained that some games weren't working anymore after my submission. The reason is that I always set save type to "none" when the game wasn't detected in the db. This reverts some of the old behavior, don't touch the save type and controller pak settings when these settings are unknown because of missing db.
* Auto detect system region, CIC, and save type if the ROM is missing from N64-database
Make it possible to to load games with correct settings even if they are missing from the database file.
* Removed auto-detection of save type
Only detect system region and cic type, use db for save type.
* Replace info texts with shorter variants
.
* add n64 type
* use a custom loader for N64
This loader:
- converts little-endian and byte-swapped ROMs
- auto-detects ROM properties, this requires a N64-database.txt file in
the N64 games folder
- add Thrustmaster Guillemot Force Feedback Racing Wheel (06f8:0004)
case to setup_wheel for axis 8 (wheel), 9 (accel) and 10 (brake) with
FF_AUTOCENTER support. This wheel uses the built-in `iforce` kernel
module
- prevent input_cb from skipping axis 7 and 8 (previously assumed to be
both paddle axis) if QUIRK_WHEEL is set on the device
- add wh_pedal_invert field to indicate that the pedal range needs to be
inverted after normalization as the device input goes from minimum (0)
offset to maximum (255) offset on pedal depression rather than maximum
to minimum (like the existing supported wheels)
- comment the existing wh_ fields in setup_wheel to indicate their
function
Fixes#799
Co-authored-by: Dominic Evans <oldmanuk@gmail.com>