Home Artists Posts Import Register

Content

Hi everyone,

it was time to move all the recent changes of the last 4 weeks into a new official release and here it is.

These last weeks I mixed tests and accuracy improvements for DMA, Joypad and Video timings together with a bunch of bugfixes, as well as the new 480p hack.

Markun contributed the new analog Multitap into this release, so you can now play with 4 analog pads. It's still the old Analog pad with legacy rumble and no dualshock, but being able to play Crash Team Racing with 4 players, all with analog controls is a very nice addition.

I will use the last weeks this year to through the remaining ~20 open bugs and see what I can do.

Have fun!


The full changelog:

-----------------------------------------------

new features:
- 4 x analog multitap with rumble(by markun)
- 480i to 480p hack
- disable automatic reset when switching CDs while LID is open in OSD
- display button names for guns and NeGcon while doing button mapping

games affected by fixes:
- Star Wars - The Phantom Menace
- Parasite Eve 2
- Firemen 2
- Soccer 97
- Ogre Battle
- Destruction Derby 2 Demo in Registration Demo PAL
- Tobal
- Crisis Beat
- Jeopardy!
- Castrol Honda Superbike Racing
- Next Tetris

fixes/changes:
- Corrected mapping config string(by Zakk)
- MDEC: implement double buffer colorram so IDCT and COLOR stage can work in parallel without interfering
- MDEC: fix color decoding overflow
- MDEC: reduce decoding speed for 15bit mode
- DMA: DMA to RAM does not write if uppermost address bit is set(8..16mbyte area)
- GPU: latch interlaced drawing bit when drawing is idle so it doesn't change while drawing a primitive
- GPU: rework Palette cache reset
- Video: set interlace field when turning on interlaced mode based on odd/even frame

accuracy improvements:
- DMA: implement configurable CD timing(memctrl)
- DMA: corrected block mode pausing
- DMA: corrected linked list mode starting pause, and timing between list entries
- JOYPAD: adjusted emulated pad response timing according to measurements
- CD: count up readSectorPointer so multiple sectors can be fetched before buffer overrun occurs
- CD: fix a bug where late ack from e.g. command could trigger sector read pointer update
- GPU: fix timing of GPUSTAT bits odd-even(31) and interlace field(13) around vsync
- GPU: GPUSTAT_DrawingOddline on/off moved slightly before line end in 240p mode -> fulfills test against hardware
- GPU: GPUSTAT_DrawingOddline on moved one line earlier in 480i mode -> fulfills test against hardware