Experimental fix for Treasure Island and Star Trek

This commit is contained in:
Brendan Saricks
2026-05-14 14:30:54 -05:00
parent 37c37bbb57
commit c8dec417ff
8 changed files with 42 additions and 6 deletions

View File

@@ -93,6 +93,8 @@ The grounded input port is 0 when unset, and the 1-based index otherwise (so `"g
| PowerOff | 27 |
| Keypad | 28 |
| Custom | 29 |
| CustomUpDown | 30 |
| CustomButtonHour | 31 |
| Mark Unused | `0x7F` |
### Images

View File

@@ -369,3 +369,9 @@ No `sys/` framework files were changed.
- Added `tripleHorizontal` screen metadata so `sm511_tripleh(...)` titles such as Tronica Treasure Island can be represented by the ROM generator manifest.
- Taught the extractor to handle Konami `ktmnt2`-derived constructors that call `ktmnt2(config)` and then replace the SVG screen size with `mcfg_svg_screen(...)`, covering `kst25` and `ktopgun2`.
- Documented format value `0x3` for triple-horizontal packages. Konami external sample/ADPCM audio and MAME `IPT_CUSTOM` shared-button behavior remain separate core/input-scope issues; these changes make the titles representable in the manifest and generator.
### 2026-05-14 non-keypad IPT_CUSTOM input mappings
- Split known non-keypad MAME `IPT_CUSTOM` lines into explicit package actions instead of treating every custom condition as one generic input.
- Added `CustomUpDown` for Konami Star Trek's shared Up/Down input and `CustomButtonHour` for Tronica Treasure Island's shared Start/Jump/Pick or Hour line.
- Updated `rtl/input_config.sv` so `CustomUpDown` maps to D-pad Up or Down and `CustomButtonHour` maps to Button1 on the existing controller layout. Generic `Custom` and keypad-derived custom inputs remain intentionally unhandled.
- Updated the local ignored `rom generator/manifest.json`; existing `.gnw` packages for affected games must be regenerated to carry the new action IDs.

View File

@@ -44,7 +44,7 @@ cargo run --manifest-path "rom generator/Cargo.toml" --release --locked -- \
Make sure to replace the brackets with the actual paths to your files. The MAME path should be the folder that contains the `artwork` and `roms` folders. The output path must already exist.
The `supported` filter includes SM510, SM511, SM512, SM510 Tiger, and SM5a titles. For SM511/SM512 titles the generator pads the program ROM area to `0x1000` bytes and appends the 256 byte melody ROM automatically, matching the package layout documented in [Format](format.md).
The `supported` filter includes SM510, SM511, SM512, SM510 Tiger, and SM5a titles. Known non-keypad MAME `IPT_CUSTOM` shared inputs are converted into explicit `CustomUpDown` or `CustomButtonHour` actions when they fit the core controller layout. For SM511/SM512 titles the generator pads the program ROM area to `0x1000` bytes and appends the 256 byte melody ROM automatically, matching the package layout documented in [Format](format.md).
You can also generate a single game, all of the games for a certain CPU, and more.