nocash

no$psx 1.7

PSX emulator for Windows

  1. nocash
    no$psx is a PSX emulator for Windows.

    What's new:
    26 Nov 2013 - no$psx v1.7
    - gpu/detail: added dithering for tex-blended POLYs (unlike tex-blended RECTs)
    - gpu/detail: added dithering for monochrome LINEs (unlike mono POLYs and RECTs)
    - gpu/detail: faster gouraud rendering when dithering is off (no dummy dither)
    - gpu/bugfix: swapped setmask/chkmask in cpu-to-vram transfer (fixes RC Revenge)
    - gte/detail: supports 32bit rtps/rtpt overflows (fixes R4 Ridge Racer Type 4)
    - dma: added delay before DMA1 IRQs (fixes DinoCrisis1+2,FearEffect,Xenogears)
    - dma: pauses CPU during DMA (more accurate and releases cpu emulation load)
    - dma: accepts non-standard control values (with warning) (instead of rejecting)
    - mdec: low level IDCT emulation (slow, used only for nonstandard scaletable)
    - mdec: accurate RLE emulation (with rounding, saturation, and quant disable)
    - mdec: emulates status bit31 (data.out.fifo not empty) (for manual reading)
    - dma/mdec: removed pusha/popa pairs (allows to modify mips intcount register)
    - help: gpu: corrected dithering info (different cases for polys/lines/rects)
    - help: add notes on CPU being stopped during DMA (and resumed between blocks)
    - help: added info on the two DMA "start" flags (start/busy and start/trigger)
    - help: added list of commonly used DMA control register values for DMA starting
    - help: added basic info on DMA transfer timings and DRAM hyper page mode
    - help: added info on DMA chopping mode (runs CPU during gaps in DMA transfer)
    - help: mdec/y_to_mono: supports only max 9bit (bigger values aren't saturated)
    - help: mdec/idct: added note that scaletable uses upper 13bit only (not 16bit)
    - help: mdec/idct: low level idct formula (diagonally mirrored matrix multiply)
    - help: mdec/rle: rle result is rounded up (plus 4 before div 8)
    - help: mdec/rle: rle result is saturated to signed 11bit range
    - help: mdec/rle: q_scale=0 forces n*2 instead of n*qt[k], or n*qt[k]*q_scale
    - help: fast mdec decoder: simplified idct_core (flipped src/dst instead of x/y)
    - help: fast mdec decoder: fixed "scalezag" pseudo code (divide entries by 8)
    - help: added IC703 "SONY CXA1791N" pinouts (RF Amplifier on PU-18 boards)
    - help: added notes on Garbage Area at Address 00000000h (for R-Types/FadeToB)
    - debug: profiler supports dma transfer logging (shown as "DMAn.subfunctions")
    - debug: iomap resolves timer clock-source, sync-mode, and some timer flags
    - debug: tty irq-logging shows dma channel names(s) that have caused dma-irq3
    - debug: tty gpu-command-logging (can log more than 1 frame, unlike vram viewer)
    - screenshot: fixed num_colors entry in truecolor bmp header (1 SHL bpp AND 1FE)
    - screenshot: fixed auto-generated screenshot filenames (.bmp instead .gif)
    - bios: fixed messed-up stack in bios clone's do_exec (fixes developers demo)
    - bios: applies [00000004h]=275A0C80h garbage (required for bugged FadeToBlack)
    - bios: applies [00000000h]=00000003h garbage (required for bugged R-Types)
    - bios: skips "patch_missing_cop0r13_nonfunctional" (bugged hitmen/minimum demo)
    - cd/loader: accepts cue/bin with 920h-byte sectors (eg. pdx-rh.cue demo)
    - controls: changed default to digital joypad (avoids incompatibility issues)