Skip to content

1.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Jul 12:14

sd2psXtd 1.4.0

GitHub Downloads (all assets, specific tag)

Features

  • Added a USB-CDC command interface for card/channel switching, Game ID selection, PS1/PS2 mode changes, PS2 variant changes, help, and device/bootloader reset commands.
  • Added PS2 card-size handling for larger cards, including 128 MB card creation from settings/GUI and validation for existing images up to 2 GB.
  • Added PS2 MMCEMAN commands for atomic card-and-channel selection and filesystem rename operations.
  • Added PS1 MMCE reset support and direct PS1 MMCE set-card/set-channel handling.
  • Added settings and GUI controls for enabling/disabling PS1 controller combos and limiting the maximum card index per mode.
  • Added SD-root splash.bin deployment so a splash image can be imported into flash automatically at boot.
  • Added support for different-sized flash chips to make firmware builds more flexible because of the current chip supply crisis.
  • Added SD-card CID/details to diagnostics and the on-device Info menu.
  • Updated splashgen with a modern simple/advanced UI, histogram preview, Otsu/adaptive thresholding, dithering, input levels, invert output, improved selection behavior, and UF2 validation.

Fixes

  • Fixed PS1 Game2Folder mapping so the mapped folder is not overwritten by the raw parent Game ID.
  • Fixed Game ID, card, and channel edge cases around boot cards, Game ID cards, and card switching.
  • Fixed multiple overflow and bounds risks in Game ID parsing, card configuration parsing, MMCEMAN paths, and filesystem command handling.
  • Fixed stale PS2 data-interface operations and history-tracker slot data during card changes.
  • Fixed invalid PS2 card images causing fatal errors by moving corrupt/invalid images aside and recreating them.
  • Fixed PS2 MagicGate key-select handling to use only the documented low parameter bits.
  • Improved SD write reliability with retries and more useful SD failure diagnostics.
  • Fixed PMC three-button handling and related input initialization issues.

Changed behavior

  • USB-CDC stdio is now enabled for release builds so the serial command interface is available outside debug firmware.
  • Settings serialization now includes EnableControllerCombo and MaxCardIdx, and settings files are rewritten with truncation to remove stale content.
  • Flash layout is now derived from detected flash capacity, with fallback handling for the legacy splash offset.
  • Card selection now honors configured maximum-card-index limits for PS1 and PS2.
  • Channel up/down behavior on non-GUI builds now clamps at the valid range edge instead of wrapping invisibly.
  • PS2 card formatting now builds the superblock and FAT data dynamically for the selected card size.
  • Imported SD-root splash.bin files are removed after successful deployment to flash.

Commits:

Feat

  • Add SD Diagnostic output at boot (BBsan)
  • Add SD card Info in Info menu (BBsan)
  • Activate / Deactivate PS1 Combos in GUI (BBsan)
  • Mention in README (BBsan)
  • Find offsets based on flash size #86 (BBsan)
  • Auto Deploy splash.bin if none is available at boot #86 (BBsan)
  • Better Autodeploy #86 (BBsan)
  • Add proposed rename command (BBsan)
  • Rename, set card&chan (BBsan)
  • Add serial terminal like USB-CDC interface (BBsan)
  • Add support for cards 1Mb..2048MB #92 (BBsan)
  • Add PS1 MMCE reset command as drafted #93 (BBsan)

Fix

  • weird game ids (#65) (BBsan)
  • Verbosity (BBsan)
  • verbosity (BBsan)
  • Add output to fatal error (BBsan)
  • First go back from Game Image, then switch (BBsan)
  • Fix some issues with maxChan (BBsan)
  • Add well deserved credit to niemasd! #80 (BBsan)
  • Make sure after card switch, game img is updated! (BBsan)
  • Splash logic (BBsan)
  • Proper reset logic (BBsan)
  • Fix set channel for BootCard and GameID (BBsan)
  • Initialize array properly (BBsan)
  • Includes and GUI guards (BBsan)
  • Additional guard (BBsan)
  • Re-add version include (BBsan)
  • PMC 3 Buttons (BBsan)
  • Make sure USB-CDC output is also available in release builds (BBsan)
  • PS1 Game2Folder mapping (BBsan)
  • Edge case broken indexing (BBsan)
  • Potential non empty history buffer on card change (BBsan)
  • Potential overflows (BBsan)
  • Potential Overflow (BBsan)
  • Potential overflows (BBsan)
  • Make sure pipeline is run also on PR (BBsan)

others

  • 39f2287: Options "MaxCards" and "EnableControllerCombo" (ottelo) #76
  • 3f1ea45: add new Option MaxCardIdx [PS1,PS2] and EnableControllerCombo [PS1] (ottelo9) #76
  • 1b86ac7: add new Option MaxCardIdx [PS1,PS2] and EnableControllerCombo [PS1] (ottelo9) #76
  • b1015cb: [PS2 0x7F] consider only first two bits of parameter (Matías Israelson) #77
  • b61c65a: document ps2_mc_auth_dummyA (Matías Israelson)
  • d96a626: Merge branch 'feat/ComboActivation' into develop (BBsan)
  • More explicit checking and no heap alloc (BBsan)
  • Get rid of sprintf (BBsan)
  • path parsing (BBsan)
  • FD checks (BBsan)
  • respect volatile (BBsan)
  • factor out some functions for better structur (BBsan)
  • safety (BBsan)
  • 93dba62: More efficient printing (BBsan)
  • Better variant switch handling (BBsan)
  • Minor correctness fixes (BBsan)
  • 36dc838: Merge branch 'develop' of github.com:sd2psXtd/sd2psx_firmware into develop (BBsan)
  • Add CHANGELOG (BBsan)
  • Better splashgen (BBsan)
  • Update README (BBsan)
  • Prepare release (BBsan)
  • Prepare for release (BBsan)
  • 8a20bd9: Merge branch 'develop' (BBsan)