mirror of
https://github.com/kalymos/PsNee.git
synced 2026-01-11 23:53:07 +00:00
Page:
Edit mode: General Description of the BIOS_patching.h
Pages
BIOS V1.0j V1.1j 32PIN
BIOS V1.0j V1.1j 40PIN
BIOS v2.2j 40PIN
BIOS v2.2j v3.0j 32PIN
BIOS v4.0j ‐ v4.5e 32PIN
Edit mode: General Description of the BIOS_patching.h
General Description of the settings.h
Guide for using BIOS dumper
Home
How does a PlayStation 1 PsNee work?
ISP gateway
Just what you need to know to know your BIOS with BIOS Dumper 2.6.
LibCrypt
List of motherboards by console version number
MCU.h: General Description
My test material
Output, avrdude, ATmegy328p, #define SCPH_xxx1, or #define SCPH_xxx2, and #define SCPH_103
PIN_LED
PIN_SWITCH
PM‐41 (2) diagram
PM‐41 diagram
PSNee_V**.ino
PU‐16 diagram
PU‐18 diagram
PU‐20 diagram
PU‐22 diagram
PU‐23 diagram
PU‐7 diagram
PU‐8 diagram
Personal recipe to make a good PSNee
Pinout Arduino Nano
Pinout ATtiny25_45_85
Pinout Arduino Micro
Pinout Arduino Pro Micro
Pinout Arduino Pro Mini
PlayStation 1 modchip history
Programming via ISP
Protected Games [JAP NTSC]
Protected Games [PAL]
Protected Games [US NTSC]
Table of different BIOS versions and associated models
The fuses
The iceberg
Tutorial for injections via USB, only for ATmega without biospatch!
_Sidebar.md
Clone
0
Edit mode: General Description of the BIOS_patching.h
kalymos edited this page 2025-03-15 11:03:54 +01:00
General Description of the BIOS_patching.h File
The BIOS_patching.h file is responsible for managing the patching process of the PlayStation BIOS. It contains functions and interrupt service routines (ISRs) that facilitate patching based on specific trigger events. The file includes configuration for handling interrupts and timing delays during the BIOS patching process, ensuring that it operates correctly for different consoles and patching scenarios.
Key Features
Interrupt Service Routines (ISRs)
PIN_AX_INTERRUPT_VECTOR: Used for the primary patching process. Once the defined impulse (TRIGGER) is reached, it performs the patching by toggling the state ofPIN_DXand applying the patch.PIN_AY_INTERRUPT_VECTOR: Used for the secondary patching process (ifHIGH_PATCHis defined). It performs similar actions to the primary patching once the second impulse (TRIGGER2) is reached.
Patch Process
The patching procedure is divided into two stages:
- First Stage: When the first trigger condition (
TRIGGER) is met, the firmware waits for the AX pin to change states, starts a timer, and performs actions at the definedCHECKPOINT. - Second Stage (if
HIGH_PATCHis defined): A secondary interrupt handles the second stage of patching, with a separate trigger condition (TRIGGER2) and its own set of timing parameters (CHECKPOINT2).
Timer Functions
Timer_StartandTimer_Stop: These functions are used to measure elapsed time in microseconds. The BIOS patching process relies on precise timing to complete the patching at the correct moments.
Region-Specific Settings
The patching behavior is controlled by various preprocessor directives:
LOW_TRIGGER: Determines whether the interrupt triggers on the falling or rising edge of the signal.HIGH_PATCH: Enables the second patching stage.BIOS_PATCH: Controls whether the BIOS patching is enabled for the specific console.
Patch Completion
The patching process is signaled by setting the patch variable, which is checked during the process to ensure that each stage of patching is completed before moving to the next.