Commit Graph

25 Commits

Author SHA1 Message Date
paulb-nl
425780205a Minor: N64 fix include path. SNES load rom with index 0 only (#921) 2024-10-03 14:34:28 +08:00
Rikard Bengtsson
b2c96be7f8 **N64** (#916)
Add in-memory patching to the few remaining games that still don't work property, like Jet Force Gemeni and Resident Evil 2.
Removed unused tag.
2024-09-04 14:18:14 +08:00
Rikard Bengtsson
f3736a4e13 Fix potential error in the trim() function (#912)
String length returned at line #514 could be longer than 20, not good. Using strnlen instead, to avoid reading garbage bytes.
2024-08-27 18:30:39 +08:00
RoboSchmied
bd096798a0 Fix: 8 typos (#892)
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-03-29 16:37:43 +08:00
Sorgelig
77b41d0c6a MGL/MRA: add same_dir attribute for setname. 2024-03-26 01:11:12 +08:00
Rikard Bengtsson
6ab4f0036f N64: Software cheats (#882)
* N64: Implement cheats

* Remove unused function

* Corrected byte mask condition (skip if 0xffffffff)

* Meow

* Final changes to make the parser compatible with gamehacking.org's cheat files.

* Revert back to old pointer convention.
2024-03-07 19:39:20 +08:00
Rikard Bengtsson
9ba9b7febd N64: Push transfer pak save data directly to GAMEBOY folder (#871)
* N64: Implement improved save handling for Transfer Pak games.
2024-02-03 23:47:53 +08:00
Rikard Bengtsson
03b4e0097c N64: Hide auto-detect info with MiSTer.ini (#868) 2024-01-16 20:24:40 +08:00
Rikard Bengtsson
09e2f4fd03 Fix bug in dead zone code affecting DS3/DS4 (#866)
A small bug was introduced with the new dead zone code that made it ignore "quirks" regarding DS3/DS4. These devices should automatically be given a dead zone of 10, as it was before.
2024-01-15 13:00:13 +08:00
Rikard Bengtsson
1b8ed443a8 Add setting to disable automatic switching of controller pak for p1 (#863) 2023-12-22 14:36:23 +08:00
Marcoen Hirschberg
52076b908b N64: support fast ROM loading (#862)
Normal ROM loading is still supported to not break older versions of the
core.
2023-12-16 01:35:57 +08:00
Rikard Bengtsson
e9340593f4 N64 improvements, save files (#859)
N64 improvements. Split N64 save files into eep, sra, fla, mpk and tpk files.
Add "wide" tag detection to database, auto-switches to widescreen if found.
Prioritize N64-database_user.txt, so that people can override games already in the regular database file.
Honor order that rpak, cpak and tpak are written in database, for p1 controller.
2023-12-05 20:55:12 +08:00
Rikard Bengtsson
c802a6a014 N64 improvements. (#853)
* N64 improvements.

Better Auto detection of N64 games (region, security chips, save type).
Better info message after loading a game. Clean up.

* Update n64.cpp

Accidentally included the header file twice.
2023-11-21 02:08:58 +08:00
trbocode
c0e69e170b Fix N64 for gb file extension (#847)
Previous commit detected .gb files as N64
2023-11-06 16:34:00 +08:00
trbocode
c3c0d8cf64 Fix N64 condition (#845) 2023-11-03 18:41:22 +08:00
Rikard Bengtsson
61efed2cba N64: Add CIC5101 type. Don't analyze gameboy roms. (#843)
* Squashed commit of the following:

commit 40c58abf1d
Merge: 1fc9c37 7c65b22
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: c163956 ee5659a
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
2023-10-29 06:52:17 +08:00
trbocode
78edf5f58c Added controller handling for new N64 options (#838)
* Added controller handling for new N64 options

* Move to N64 folder and add per stick ranges

* Improve latency
2023-10-16 07:08:44 +08:00
Patrick Pollock
22834acc98 Scale N64 analog optimally for different gate shapes (#834)
* Scale N64 analog optimally wrt gate shapes

* Limit max_range to near diagonals

* Make magic numbers adjustable constants
2023-10-11 03:05:52 +08:00
Rikard Bengtsson
c9994f9dd2 Cleanup of n64.cpp (#833)
* Squashed commit of the following:

commit 40c58abf1d
Merge: 1fc9c37 7c65b22
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: c163956 ee5659a
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
2023-10-07 02:36:57 +08:00
Rikard Bengtsson
ee5659ad9c N64: Find ROM settings in database by ID, region and revision (#830)
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.
2023-10-01 19:56:12 +08:00
Marcoen Hirschberg
d53a998eac N64 joystick emulation (#828)
* 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.
2023-09-24 17:22:02 +08:00
Rikard Bengtsson
257e81ed32 Fix my previous pull request (#827)
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.
2023-09-24 13:42:07 +08:00
Rikard Bengtsson
dc7fa8253f Always try to auto detect system region and CIC (#825)
* 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

.
2023-09-23 21:38:22 +08:00
Marcoen Hirschberg
d98ae034e0 N64: also search in N64-database_user.txt for rom info (#821)
Having a 2nd user database has the advantage of allowing custom entries
without losing them every time when N64-database.txt is overwritten.
2023-09-15 15:07:59 +08:00
Marcoen Hirschberg
aa76842194 N64 loading improvements (#804)
* 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
2023-08-18 19:27:46 +08:00