• Stars
    star
    212
  • Rank 186,122 (Top 4 %)
  • Language VHDL
  • License
    GNU General Publi...
  • Created almost 3 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PSX for MiSTer

Playstation for MiSTer Platform

Hardware Requirements

SDRAM of any size is required.

Features

  • Savestates
  • Option for core pause when OSD is open
  • Optional manual Memory Card file loading (.MCD)
  • CUE+BIN and CHD format support
  • Multiple Disc Game support with automatic Lid open/close toggle
  • Fast Boot (Skips BIOS)
  • Dithering On/Off Toggle
  • Bob or Weave Deinterlacing
  • Texture Filtering
  • 24 Bit rendering
  • Widescreen modes
  • Screen roation by 180°
  • 8 Mbyte mode(from dev units, mostly for homebrew)
  • Inputs: DualShock, Digital, Analog, Mouse, NeGcon, Wheel, Justifier and Guncon support.
  • Native Input support through SNAC

Bios

Rename your playstation bios file (e.g. scph-1001.bin/ps-22a.bin ) and place it in the ./games/PSX/ folder.

boot.rom  => US BIOS
boot1.rom => JP BIOS
boot2.rom => EU BIOS

You can also place a cd_bios.rom in the same directory as the CD or 1 directory above, to have it uses together with that CD. This can be used for games that depend on a special BIOS beyond usual US,EU,JP.

If you get a black screen with "ED" overlay in upper left corner, either your BIOS files are corrupt or missing or you have no SDRAM module installed.

Region

Region settings (e.g. Clock, BIOS, CD check) are selected automatically when loading a CD. You can force a different Region in OSD.

Memory Card

Games that are in their own folder will create it's own memory card in media/fat/saves/psx as .sav

One card can be mounted for each controller slot. Cards are in raw .mcd format. An empty formatted .mcd file is available for download here.

You need to save them either manually in the OSD or turn on autosave. Saving or loading a card will pause the core for a short time.

Multiple Disc Games

To swap discs while the game is running, you will need have all of the disc files for the game placed in the same folder. Then when loading a new disc for most games you will need to toggle the Lid Open/Close option to tell the game you have opened the lid and closed it. Example folder structure of a multi disc game:

/media/fat/games/PSX/Final Fantasy VII (USA)/Final Fantasy VII (USA) (Disc 1).chd
/media/fat/games/PSX/Final Fantasy VII (USA)/Final Fantasy VII (USA) (Disc 2).chd
/media/fat/games/PSX/Final Fantasy VII (USA)/Final Fantasy VII (USA) (Disc 3).chd

Video output

Core can output through HDMI and Analog out.

HDMI also offers a debugging framebuffer mode with support of full VRAM as 1024x512 pixel image(debug only)

Analog out from Direct Video is full 24Bit Color, but from Analog Board will only deliver 18 Bits of color. You can activate the 24 Bit dithering option to remove color banding in FMVs without decreasing the image quality in 16 bit color ingame. Do not use with HDMI or you get artifacts!

Fixed Hblank as well as Fixed Vblank can help delivering correct aspect rations and keeping the screen in sync with e.g. shaking animations. Both also offer crop options for games that depend on CRT viewports to hide artifacts at the edge of the image.

Sync 480i for HDMI will make 480i content run with 240p timings, making it easier for HDMI devices to keep the sync when switching between both modes in games. Do not use with VGA/Analog out or you get artifacts!

Libcrypt

Some games are secured with Libcrypt and will not work if it's not circumvented.

You can provide a .sbi file to do that. If there is a .sbi file next to a .cue with the same name, it is loaded automatically when mounting the CD image.

Unsafe options

The core offers various options to improve gameplay for some games, but those options cannot be considered stable through all games. If you use one or more of these options, the core will warn you every time you start a game.

  • 480i to 480p hack: Allows to render some games with full 480p resolution, removing interlacing artifacts. Only works for some full 3D 480i titles.

  • Turbo: Increases CPU, DMA, Memory and GTE performance by ~10%(Low), ~20%(Medium) or 50%(High). Cheats cannot be used while Turbo is on and are disabled automatically.

  • Pause when CD slow: CD data must be returned in a fixed time frame, otherwise the core will pause until the data has arrived. Disabling this will remove these pauses, but also risk that the game hangs up due to CD data being late.

  • PAL 60Hz Hack: Runs PAL games with 60Hz. PAL Games will often run faster with this hack on. Screen height is limited to 256 lines in this mode, so some games might be cropped.

  • CD Fast Seek: CD will seek the next sector in the minimal possible time. Decreases loading time of games, but some games depend on the long loading times and will crash.

  • CD Speed: Allows to run the CD drive with fixed higher speed to decrease loading times, but some games depend on the long loading times and will crash. CD will automatically speed down to original speed for FMVs or CD audio playback and back to increased speed in loading areas. The higher speed rates are more unstable and require proper storage to be usable with bin/cue files reaching higher performance than chd.

  • Limit Max CD Speed: Will hold back any new CD data until the game has processed the last data. Mostly useful to prevent CD data overrun when using higher speed modes, leading to overall faster loading times due to less read retries.

  • RAM: 8 Mbyte option from development consoles. Only use for homebrew that requires it, otherwise there is a high chance of crashing games.

Error messages

If there is a recognized problem, an overlay is displayed, showing which error has occured. You can hide these messages with an OSD option, by default they are on.

List of Errors:

  • E2 - CPU exception(only relevant if game shows issues)
  • E3..E6 - GPU hangs (e.g. corrupt display list)
  • E7 - CPU2VRAM with mask-AND enabled
  • E8 - DMA chopping enabled
  • E9 - GPU FIFO overflow
  • EA - SPU timeout
  • EB - DMA and CPU interlock error
  • EC - DMA FIFO overflow
  • ED - CPU Data/Bus request timeout -> will also appear if the BIOS is not found or corrupt or no SDRAM module is installed
  • EF - BusWidth for SPU was set to 8 Bit (but should be 16 bit)

Debug Options

The debug menu is intended for use by developers only. They don't really serve any purpose for regular users so it's best to leave them at their default setting as a lot of undesirable behavior could occur.

Pad Options

The following pad types are emulated by the core and can be independently assigned to each port:

  • DualShock: Switch Digital/Analog mode with mouse/touchpad click or L3+R3+Up/Down or mapable button
  • Digital
    (ID 0x41) Ten button digital pad.
  • Analog
    (ID 0x73) Twinstick pad.
  • Mouse
    (ID 0x12) Two button mouse.
  • Off
    Pad unplugged from port.
  • GunCon
    (ID 0x62) GunCon compatible lightgun.
  • Justifier
  • NeGcon
    (ID 0x23) NeGcon compatible racing pad.
    Primarily developed for dual analog stick usage with the following mapping (genuine NeGcons
    may work if usb adapters map steering to Left Analog and I/II to Right Analog):
    • Steering -> Left Analog (you can also use a paddle controller for this axis)
    • Circle -> Circle
    • Triangle -> Triangle
    • I -> Right Analog Up, Cross (100% pressed), R2 (100% pressed)
    • II -> Right Analog Down, Rectangle (100% pressed), L2 (100% pressed)
    • L -> L1 (100% pressed)
    • R -> R1

SNAC can be selected for each port and will support gamepads and memory cards on the corresponding slot. When SNAC is enabled for a slot, the emulated gamepad/memory for this slot is disconnected.

Controller mapping reference

NeGcon based controllers

DualShock (for reference) NeGcon Volume Pachinko
D-PAD D-PAD
RX Axis Twist Paddle Handle
RY Axis I
LX Axis L1
LY Axis II
O A B
â–³ B
R1 R1
Start Start A Button

Lightgun

DualShock (for reference) Guncon Justifier
O Trigger Trigger
Start A (Left) Start
X B (Right) Special

Status

Many games working

--

CPU : 90%

  • exception for read in invalid instruction and data area missing

GPU : 90%

  • mask bits not implemented for cpu2vram -> nothing yet found that uses it
  • vram2vram read/modify/write race condition when copying to same line

IRQ : 90%

  • irq_SIO missing because unused

PAD : 90%

  • full configurable multitap missing

Memctrl: register stubs only

SIO : register stubs only

Timer : 90%

  • accuracy for dotclock and gates timer not tested

GTE : 90%

  • CPU <-> GTE Transfer pipeline delay not fully correct

MDEC : 90%

  • timing slightly too fast (4996/5376)

CD : 90%

  • accurate CD access model for correct seek times should be added
  • drive and controller logic should be seperated

More Repositories

1

Main_MiSTer

Main MiSTer binary and Wiki
C
2,805
star
2

ao486_MiSTer

ao486 port for MiSTer
Verilog
264
star
3

mr-fusion

Mr. Fusion - Universal MiSTer SD card image
Shell
263
star
4

SNES_MiSTer

SNES for MiSTer
VHDL
196
star
5

Hardware_MiSTer

Daughter boards
HTML
191
star
6

NES_MiSTer

SystemVerilog
169
star
7

NeoGeo_MiSTer

NeoGeo for MiSTer
Verilog
145
star
8

GBA_MiSTer

GBA for MiSTer
VHDL
144
star
9

Minimig-AGA_MiSTer

Verilog
121
star
10

Genesis_MiSTer

Sega Genesis for MiSTer
Verilog
118
star
11

Wiki_MiSTer

115
star
12

Downloader_MiSTer

Tool for installing and updating MiSTer cores and other files
Python
109
star
13

Gameboy_MiSTer

Gameboy for MiSTer
Verilog
103
star
14

TurboGrafx16_MiSTer

TurboGrafx-16 CD / PC Engine CD for MiSTer
VHDL
94
star
15

C64_MiSTer

SystemVerilog
93
star
16

Distribution_MiSTer

This repository contains all the files that you'll want in your MiSTer
Shell
90
star
17

Arcade-Cave_MiSTer

MiSTer arcade core for Cave 68K arcade classics.
Verilog
77
star
18

Template_MiSTer

Template with latest framework for MiSTer
Verilog
75
star
19

Updater_script_MiSTer

Bash script for updating MiSTer
Shell
75
star
20

SD-Installer-Win64_MiSTer

MiSTer SD card installer (Windows 64bit)
72
star
21

Scripts_MiSTer

Miscellaneous Bash scripts for MiSTer
Shell
63
star
22

X68000_MiSTer

Sharp X68000 for MiSTer
VHDL
56
star
23

MegaCD_MiSTer

Mega CD for MiSTer
Verilog
56
star
24

S32X_MiSTer

Sega 32X implementation for MiSTer
SystemVerilog
54
star
25

Saturn_MiSTer

Sega Saturn for MiSTer
SystemVerilog
54
star
26

MkDocs_MiSTer

MiSTer FPGA Documentation site built using Material for MkDocs.
HTML
53
star
27

MegaDrive_MiSTer

Sega Megadrive for MiSTer
Verilog
46
star
28

MiSTerLaggy_MiSTer

A display latency measurement tool
Verilog
44
star
29

C128_MiSTer

Verilog
42
star
30

SMS_MiSTer

Sega Master System for MiSTer
VHDL
40
star
31

N64_MiSTer

VHDL
38
star
32

Menu_MiSTer

Verilog
37
star
33

Apple-II_MiSTer

Apple II+ for MiSTer
VHDL
36
star
34

Filters_MiSTer

Custom Filters for MiSTer's HDMI Scaler
MATLAB
35
star
35

MSX_MiSTer

MSX for MiSTer
VHDL
35
star
36

Fonts_MiSTer

Fonts for MiSTer
Python
34
star
37

MacPlus_MiSTer

Macintosh Plus for MiSTer
SystemVerilog
32
star
38

Atari2600_MiSTer

Atari 2600 for MiSTer
VHDL
31
star
39

AtariST_MiSTer

Atari ST/STe for MiSTer
Verilog
27
star
40

ZXNext_MISTer

VHDL
27
star
41

Atari800_MiSTer

Atari 800XL/65XE/130XE for MiSTer
VHDL
24
star
42

Archie_MiSTer

Acorn Archimedes for MiSTer
Verilog
21
star
43

Amstrad_MiSTer

Amstrad CPC 6128 for MiSTer
VHDL
21
star
44

TI-99_4A_MiSTer

Texas Instrument 99/4A Home Computer
VHDL
20
star
45

Arcade-Pacman_MiSTer

Arcade: Pacman for MiSTer
VHDL
20
star
46

MemTest_MiSTer

Verilog
19
star
47

Arcade-DonkeyKong_MiSTer

Arcade: Donkey Kong for MiSTer
VHDL
19
star
48

PC88_MiSTer

NEC PC8801 MKII SR For MiSTer
VHDL
19
star
49

BBCMicro_MiSTer

BBC Micro B and Master 128K for MiSTer
VHDL
19
star
50

PDP1_MiSTer

PDP-1 for MiSTer
Verilog
18
star
51

Arcade-IremM92_MiSTer

VHDL
17
star
52

MSX1_MiSTer

Computer MSX1
VHDL
17
star
53

Linux_Image_creator_MiSTer

Shell
17
star
54

TRS-80_MiSTer

Tandy TRS-80 Model I (port of HT1080Z to MiSTer)
VHDL
16
star
55

ShadowMasks_MiSTer

HDMI Shadow Masks
16
star
56

Arcade-IremM72_MiSTer

C++
15
star
57

Arcade-GnG_MiSTer

Arcade Ghosts'n Goblins for MiSTer
Verilog
15
star
58

Arcade-Raizing_MiSTer

Bakraid, Batrider, Garegga, Kingdom Grandprix & Sorcer Striker MiSTer Cores
Verilog
15
star
59

VIC20_MiSTer

Commodore VIC-20 for MiSTer
VHDL
14
star
60

N64_ROM_Database

A database of rom metadata for properly handling N64 games.
13
star
61

AtariLynx_MiSTer

VHDL
13
star
62

Linux-Kernel_MiSTer

C
12
star
63

C16_MiSTer

Commodore C16 and Plus/4 for MiSTer
SystemVerilog
12
star
64

GnW_MiSTer

MiSTer Port of Game and Watch Games
Verilog
12
star
65

Presets_MiSTer

A collection of preset video configurations for MiSTer.
12
star
66

Arcade-Galaga_MiSTer

Arcade: Galaga for MiSTer
VHDL
12
star
67

WonderSwan_MiSTer

WonderSwan Color for MiSTer
VHDL
12
star
68

Arduboy_MiSTer

Arduboy core for MiSTer, based on Iulian Gheorghiu's atmega core.
Verilog
12
star
69

Arcade-Tecmo_MiSTer

MiSTer arcade core for Tecmo arcade classics: Rygar (1986), Gemini Wing (1987), and Silkworm (1988).
VHDL
12
star
70

Intv_MiSTer

Intellivision for MiSTer
VHDL
11
star
71

Vectrex_MiSTer

Vectrex for MiSTer
VHDL
11
star
72

QL_MiSTer

Sinclair QL for MiSTer
VHDL
11
star
73

CoCo3_MiSTer

CoCo3FPGA port to MiSTer
VHDL
11
star
74

Arcade-Centipede_MiSTer

Arcade: Centipede
C++
11
star
75

EDSAC_MiSTer

FPGA Verilog implementation of 1949 EDSAC Computer with animated tape reader, panel, teleprinter and CRT scope
Verilog
11
star
76

Arcade-Galaxian_MiSTer

Arcade: Galaxian for MiSTer
VHDL
11
star
77

PET2001_MiSTer

Commodore PET for MiSTer
Verilog
10
star
78

MultiComp_MiSTer

Port of Grant Searle's MultiComp to the MiSTer
Assembly
10
star
79

AliceMC10_MiSTer

Matra-Hachette Alice MC-10 for MiSTer FPGA
Verilog
10
star
80

Arcade-TaitoSystemSJ_MiSTer

Taito System SJ Arcade Core
VHDL
9
star
81

Apple-I_MiSTer

Apple I for MiSTer
Verilog
9
star
82

Arcade-1943_MiSTer

CAPCOM's 1943 arcade clone. (port of JT1943 core)
Verilog
9
star
83

Arcade-Scramble_MiSTer

Arcade: Scramble for MiSTer
VHDL
9
star
84

Arcade-IremM62_MiSTer

Irem62 from pace, and mist including Lode Runner, etc
VHDL
9
star
85

Hardware_alternative

128MB sdram module, horizontal. Fits on official IO addon
9
star
86

SD-InstallTool_Win_MiSTer

SD Card preparation tool for MiSTer FPGA project
C#
9
star
87

SharpMZ_MiSTer

Sharp MZ Series Personal/Business Computer Emulator for FPGA
VHDL
8
star
88

Arcade-BurgerTime_MiSTer

Arcade: Burger Time for MiSTer
Verilog
8
star
89

Arcade-Defender_MiSTer

Arcade: Defender for MiSTer
VHDL
8
star
90

MRA-Alternatives_MiSTer

Alternative (hacks, other versions) MRA files for arcade cores
8
star
91

Amstrad-PCW_MiSTer

Amstrad PCW MiSTer core
Verilog
8
star
92

Arcade-BombJack_MiSTer

Arcade: Bomb Jack for MiSTer
VHDL
8
star
93

xow_MiSTer

Linux driver for the Xbox One wireless dongle compiled for MiSTer
Shell
8
star
94

Life_MiSTer

Conway's Game of Life for MiSTer
Verilog
7
star
95

AY-3-8500-MiSTer

Port of AY-3-8500 to MiSTer
Verilog
7
star
96

Chess_MiSTer

VHDL
7
star
97

Arcade-SEGASYS1_MiSTer

Sega System 1 for MiSTer
Verilog
7
star
98

BK0011M_MiSTer

Verilog
7
star
99

ColecoVision_MiSTer

ColecoVision for MiSTer
VHDL
7
star
100

Arcade-MrDo_MiSTer

Mr. Do! Universal 1982
Verilog
7
star