NO$PSX V2.2 Released (16th Dec 2022)
Posted: December 17th, 2022, 12:36 pm
New update, http://problemkaputt.de/psx.htm
16 Dec 2022 - no$psx v2.2
- cdrom/emu/help: chd compression (thanks null for many test cases)
- cdrom/emu/help: pbp compression (partially supported, without encryption)
- irq: more accurate port 1F8010F4h dma irq handling (and removed alone_fix)
- windows: closes child windows (help,iomap,tty,etc) on exit (regain keyb focus)
- windows: uses SendNotifyMessage instead SendMessage for broadcast (avoid hang)
- bios clone: cd-audio player shows both left/right waveforms (white/gray)
- spu: bugfixed capture (voice 3 was accidently written to 400h instead C00h)
- cdrom/setup: scex mode optionally normal, unlicensed, dumb/stealth modchip
- cdrom: command 04h,05h,10h,11h,1Dh trigger error 80h when disk is stopped
- cdrom/emu: allocates larger cue sheet (for many tracks with multiple indices)
- cpu: conditional jump reserved bits (emulated, with optional warning)
- cpu: conditional bltzal/bgezal always set ra=$+8 (even when condition=false)
- cpu: emulates mul/div timings, fixed JALR opcode (for unstable rd=rs)
- cpu: emulates lwl/lwr as generic 'any_mem_ecx_mac' memory access
- cpu: emulates irq triggered after NEXT opcode after SR.bit0 changing 0-to-1
- cpu: emulates opcode.bit26-27 stored in cause.bi28-29
- cpu: allows/warns on unused/mirrored COP0 opcodes (vs invalid TLB opcodes)
- timers: fixed cmall clock cycle leak in process_event function
- gte: supports cop2 disable, emulates cop2cmd timings
- gte: accurate mvmva glitches for Vx=2 and Mx=3 (thanks mednafen source code)
- gte: fixed overflow flags for nclip/gpl
- gte: reading IRGB/ORGB registers takes 1 extra clock cycle (when gte busy)
- cop1/cop3: supports dummy cop1/cop3 opcodes (when enabled in SR.bit29/bit31)
- cop0: emulates glitchy jf/jt/lwc0/swc0 opcodes (versus SR.bit28)
- compression help: added note on BIOS/GUI using same LZSS as Destruction Derby
- kernel/help: added notes on NOPs in exception handler C(06h)
- debug/ass/dis: movl/movr opcodes (alias for native lwl/swl/lwr/swr opcodes)
- debug/iomap: resolves DMA control flags (IE,IF,prio from DICR/DPCR)
- help: added dtl-h2000-only CDROM kernel functions; in A(79h) .. A(8Fh) range
- help: added note about faulty SetSession TOC reading in older cdrom firmwares
- help: added note on undocumented cause.bit30 (branch delay condition)
- a22i: fixed slt(i)(u) opcode in native asm syntax
- file formats: blaster master chunks, ape escape sound archives, xz, upx, bm
16 Dec 2022 - no$psx v2.2
- cdrom/emu/help: chd compression (thanks null for many test cases)
- cdrom/emu/help: pbp compression (partially supported, without encryption)
- irq: more accurate port 1F8010F4h dma irq handling (and removed alone_fix)
- windows: closes child windows (help,iomap,tty,etc) on exit (regain keyb focus)
- windows: uses SendNotifyMessage instead SendMessage for broadcast (avoid hang)
- bios clone: cd-audio player shows both left/right waveforms (white/gray)
- spu: bugfixed capture (voice 3 was accidently written to 400h instead C00h)
- cdrom/setup: scex mode optionally normal, unlicensed, dumb/stealth modchip
- cdrom: command 04h,05h,10h,11h,1Dh trigger error 80h when disk is stopped
- cdrom/emu: allocates larger cue sheet (for many tracks with multiple indices)
- cpu: conditional jump reserved bits (emulated, with optional warning)
- cpu: conditional bltzal/bgezal always set ra=$+8 (even when condition=false)
- cpu: emulates mul/div timings, fixed JALR opcode (for unstable rd=rs)
- cpu: emulates lwl/lwr as generic 'any_mem_ecx_mac' memory access
- cpu: emulates irq triggered after NEXT opcode after SR.bit0 changing 0-to-1
- cpu: emulates opcode.bit26-27 stored in cause.bi28-29
- cpu: allows/warns on unused/mirrored COP0 opcodes (vs invalid TLB opcodes)
- timers: fixed cmall clock cycle leak in process_event function
- gte: supports cop2 disable, emulates cop2cmd timings
- gte: accurate mvmva glitches for Vx=2 and Mx=3 (thanks mednafen source code)
- gte: fixed overflow flags for nclip/gpl
- gte: reading IRGB/ORGB registers takes 1 extra clock cycle (when gte busy)
- cop1/cop3: supports dummy cop1/cop3 opcodes (when enabled in SR.bit29/bit31)
- cop0: emulates glitchy jf/jt/lwc0/swc0 opcodes (versus SR.bit28)
- compression help: added note on BIOS/GUI using same LZSS as Destruction Derby
- kernel/help: added notes on NOPs in exception handler C(06h)
- debug/ass/dis: movl/movr opcodes (alias for native lwl/swl/lwr/swr opcodes)
- debug/iomap: resolves DMA control flags (IE,IF,prio from DICR/DPCR)
- help: added dtl-h2000-only CDROM kernel functions; in A(79h) .. A(8Fh) range
- help: added note about faulty SetSession TOC reading in older cdrom firmwares
- help: added note on undocumented cause.bit30 (branch delay condition)
- a22i: fixed slt(i)(u) opcode in native asm syntax
- file formats: blaster master chunks, ape escape sound archives, xz, upx, bm