PS1HDMI.md

PS1Digital

PS1Digital

Original version: 2020-01-18, last update: 2020-10-24

PS1Digital is a digitial to digitial HDMI mod for Playstation 1

Compatible PS1 versions

PS1Digital compatibility

Useful resources

Feature-Roadmap

Firmware v1.0

  • Support for all PS1 output resolutions

    This is working, except the correct vertical alignment of 256p and 512i.
    Is there even a game out there which uses these modes?

vertical \ horizontal 256 320 384 512 640
240p NTSC/PAL NTSC/PAL NTSC/PAL NTSC/PAL NTSC/PAL
256p PAL PAL PAL PAL PAL
480i NTSC/PAL NTSC/PAL NTSC/PAL NTSC/PAL NTSC/PAL
512i PAL PAL PAL PAL PAL
  • 256, 384 and 512 horizontal resolutions are interpolated to match the 4:3 picture aspect ratio

    Done, but needs some tweaking

    Done (2020-01-24)

  • Configurable (fast/instant) interlaced/progressive switching

    Interlaced video uses 262.5 total lines (263/262, depending on displayed field), while progressive uses 263 lines. The HDMI link is kept active, when a switch from interlaced to progressive (and back) is occuring, but the video timings change. Some monitors/TVs can handle this without loosing sync, others do not.

    PS1Digital supports forcing 240p (480i) based output timings, so no HDMI sync drop will happen. Input video and output video will be (slightly) out of sync (when interlaced is forced to progressive and vice versa), so a tearing effect occurs periodcally)

    Done

  • Upscaling support

    • VGA/480p, 960p and 1080p for NTSC consoles

    • 576p for PAL consoles

    Done

  • Color correction

    Input video color mode (RGB555, RGB565, ...) is detected and converted to RGB888.

    Done

  • Gamma correction with option for custom color mapping

    PS1Digital supports gamma correction and also allows the creation of custom maps, which can be uploaded through the web interface.

    Done

  • Digital sound via HDMI

    I2S signal from the audio DAC is embedded into HDMI.

    Done

  • WiFi firmware updates

    Done

  • Basic deinterlacing

    Bob/weave deinterlacing can be selected via OSD.

    Done

  • Controller integration / OSD

    Done

  • Modchip integration

    PS1Digital will integrate integrates an ESP32 port of PsNee. Thanks to rama3! (nfggames.com)

    WIP, latest board revision is already prepared for this (incl. flat flex)

    Done (2020-02-06)

  • NTSC/PAL reference oscillator mod integration

    PS1Digital uses a programmable PLL to create the various clocks needed for operation.
    This could also be used to integrate this mod.

    Further testing and another hardware revision needed

    PS1Digital can take control of the GPU clock. This will be the recommended default install method, but it can also be used with the original PS1 clock.
    This allows correct frame rates, when running NTSC games on PAL consoles and vice versa.

    Only one resisitor has to be removed, no trace cutting needed.

    Done (2020-04-17), Updated (2020-04-23)

  • Scanlines

    Done

  • HQ2X filter

    Done (2020-03-08)

  • In-game reset

    (2020-04-17)

  • Fully PSIO compatible

    (2020-04-17)

  • Fully XStation compatible

    (2020-08-25)

  • 960p50 and 1080p50 upscaling for PAL

    Done (2020-04-22)

  • Custom OSD fonts

    See Quick guide to fonts/character maps for details.

    Done (2020-05-17), Updated (2020-09-15)

  • Custom gamma maps

    See Quick guide to gamma/color maps for details.

    Done (2020-05-17), Updated (2020-09-15)

  • XStation: reset to loader

    Done (2020-08-25)

  • IAP (Installer access point) mode

    See Installer Readme for details.

    Done (2020-08-25)


Firmware v1.1

  • OSD option to configure horizontal scaling mode for each input resolution

    Horizontal scaler can be configured for each input resolution:

    • auto (maintain a 4:3 aspect ratio with linear interpolation for input resolutions not having a 4:3 aspect ratio already)

    • 1x - 8x (fixed scaling multiplier)

    Done (2020-09-15)

  • OSD option to configure vertical scaling per input resolution for output modes 960p and 1080p

    • auto

    • 2x - 4x (960p) and 2x - 5x (1080p)

    • 3x - 6x (960p/1080p)

    Done (2020-09-26), Updated (2020-09-29)

  • Improved input video format detection

    Input video format is now detected within 1 frame/field

    Done (2020-09-15)

  • Glitchless 240p/480i switching in force modes

    Memory alignment was changed to prevent video glitches during resolution switching in force 240p/480i mode.

    Done (2020-09-15)

  • XStation: OSD lid switch control

    Toggle lid switch from the OSD.

    Done (2020-09-15)

  • Fixed: PsNee is now working correctly

    Done (2020-09-28)


Firmware v1.2.0

  • Automatic vertical alignment correction

    Done (2020-10-24)

  • Fully standard compliant 1080p and 960p timings

    Done (2020-10-24)


Firmware v1.3.0

  • New clock adjust modes for seamless 240p/480i, 480i/240p switching without tearing

    • vfr-hdmi adjusts hdmi clock

    • overclock overclocks PS1 GPU clock

    Refer to Advanced Video Settings for details

    Done (2020-10-24)


Firmware v2.0

  • Advanced deinterlacing

  • Wireless serial port

    Currently, it's planned to use ESP-Now to create a wireless link for the serial port occupied by PS1Digital.
    A separate small ESP32 board to connect to the serial port will be available.

    WIP, current board revision is already prepared for this (incl. flat flex)

  • 720p50 and 720p60 upscaling

  • 5x mode for 240p (1200p)