• Print

no$psx 1.5


no$psx is a PlayStation emulator / debugger for Windows.

The Emulation should be complete with all hardware features fully implemented and working, though as by now it's tested with only a dozen of games, so there may be still some problems with other games (bug reports are welcome).

The BIOS is emulated via a BIOS-clone, which is free and faster than the original PSX-BIOS. There may be still some compatibilty issues (especially as most PSX games are applying patches the to original BIOS; the BIOS clone is reproducing known patches, but may fail on unknown ones). In case of problems, it may be recommended to use a copy of the original BIOS (with filename PSX-BIOS.ROM in no$psx folder).

CDROMs are supported via real CDROM drive, via complete disk images (in .NRG or .CUE+BIN format), via single-track images (.ISO files), or as raw executables (.EXE files).

Requirements are 1-2GHz, which is maybe not so fast (other PSX emulators are said to be working at 200MHz). CPU emulation is currently done on the fly (I might get that faster by using pre-compiled code in future versions). Rendering is done by software (I could maybe improve speed by adding dual core processor support) (another way would be using hardware acceleration, but my experiences are that this stuff isn't too pixel accurate, if it's working at all).

Debugging/Development functions include disassembler, debugger, breakpoints, assembler, I/O map viewer, VRAM viewer, polygon viewer, TTY console window, and complete PSX hardware specs.


25 Apr 2013 no$psx v1.5

  • multimachine: implemented cdrom load to "all machines" option (default)
  • multimachine: fixed cdrom loader load to "1st/2nd/3rd/4th machine" options
  • multimachine: bugfix: doesn't try to use "seed_vals" for newly added machines
  • multimachine: bugfix: doesn't hang on invalidated windows of removed machines
  • multimachine: apply autostart/reset only to machines with newly loaded cdroms
  • multimachine: apply_bios_patches now applied to ALL machines (eg skip intro)
  • sizing: added fullscreen mode, and added sizing/maximize in multimachine mode
  • memcards: now saved as *.mcd in new MEMCARD subdirectory (formerly no$psx.mcN)
  • memcards: first card: .mcd (auto-excluding "(DiscN)" etc.)
  • memcards: others: "_MM_N_X_mcd" (MM=machine1..12, N=slot1/2, X=sub-slotA..D)
  • memcards: prevents .mcd creation on sector 03Fh dummy writes
  • memcards: added support for multitap memcards (IDs 82h..84h in slot 1..2)
  • gpu: help/emu: added textured-rectangle-xyflip feature (thanks William Birkin)
  • gte: help/emu: reproduced real GTE division inaccuracies (thanks ogamespec)
  • cdrom: help/emu: cdrom is initially demuted (fixes missing audio in v1.3+v1.4)
  • cdrom: ignores nonzero writes to unused bits (without suppressing other bits)
  • cdrom: removed "cdrom response overkill" warning (some games may survive it)
  • spu: emulates spu-capture-buffer interrupt (needed for crash team racing)
  • spu: allows glitchless spu-ram-read (as far as [1F801014h].bit24-27=nonzero)
  • spu: added "generate_sample_till_now" for updating spustat and endx on reads
  • spu: better key_on handling (supporting lead_delay, and forced adpcm start)
  • spu: better LOOP-END behaviour (ENDX flag, plus optional mute+release)
  • spu: implemented fully functional 8bit/32bit reads from 16bit spu registers
  • spu: help/emu: dumped/documented gauss_table and emulated adpcm interpolation
  • spu: help/emu: tested/documented pitch_modulation effect and emulated it
  • spu: help/emu: max adpcm pitch (clip values in range 4000h..FFFFh to fastest)
  • help: added info on no$psx debug hotkeys and memory access breakpoints
  • help: added info on glitchless spu-ram-read (used by Herc's Adventures)
  • help: added info on cdrom sector buffer (has 8 slots, but only 2 accessible?)
  • help: added some basic notes on psx-based arcade cabinets
  • pinouts: added IC106-109,IC202,IC303,IC305,IC307,IC309,IC501,IC701,IC723,ICsss
  • pinouts: improved IC304,IC602 pinouts (also IC405, but it's still unclear)
  • gui: created own help engine (instead of microcrap's suicidal windows .hlp)
  • gui: discovered and fixed major resource leak (destroymenu on context menu)
  • debug: added user cycle-counter in iomap (profiling purposes), added ctrl+e
  • debug: added optional DMA logging in TTY window (shows chn,addr,len,ctrl,name)
  • bios: tweaked "bizarre_outdated_pad" function to accept joypads in analog mode
  • vram viewer: bug-fixed "@@app_raw_blend" (test bit0, instead of test "al")
  • webpage: updated info on my current monetary stats (small donations welcome)
  • webpage: updated txt/htm versions of the psx-spx playstation specifications






blog comments powered by Disqus