JaCzekanski / Avocado

🥑 PlayStation 1 emulator
GNU General Public License v2.0
536 stars 31 forks source link

Tomba! (USA) SCUS-94236 - Broken rendering #83

Closed tummyache123 closed 3 years ago

tummyache123 commented 3 years ago

Game: Tomba! SCUS-94236

Version: d224545

Hardware: Ryzen 7 3700X, 2070 Super, 32GB RAM, Windows 10 2004 x64

Behavior: Certain graphics are broken/do not display properly. The peach plant in the beginning of the game does not render properly, and the fog is instead a black void.

Attachments:

Tomba_SCUS-94236_2

Expected behavior: https://youtu.be/pzhBSgq8Ep8?t=248

PS-X Realtime Kernel Ver.2.5 Copyright 1993,1994 (C) Sony Computer Entertainment Inc. KERNEL SETUP!

Configuration : EvCB 0x10 TCB 0x04 System restarted System ROM Version 2.2 12/04/95 A Copyright 1993,1994,1995 (C) Sony Computer Entertainment Inc. ResetCallback: _96_remove .. [GPU] GP0(0) nop: non-zero argument (0x07920c) [GPU] GP0(0) nop: non-zero argument (0x07920c) System Controller ROM Version 94/09/19 c0 SetGraphDebug:level:1,type:0 reverse:0

BOOTSTRAP LOADER Type C Ver 2.1 03-JUL-1994 Copyright 1993,1994 (C) Sony Computer Entertainment Inc. setup file : cdrom:SYSTEM.CNF;1 TCB 00000004 EVENT 00000010 STACK 80200000 BOOT = cdrom:\SCUS_942.36;1 argument = KERNEL SETUP!

Configuration : EvCB 0x10 TCB 0x04 boot file : cdrom:\SCUS_942.36;1 EXEC:PC0(8006b58c) T_ADDR(80010000) T_SIZE(00088000) boot address : 8006b58c 80200000 Execute !

            S_ADDR(80200000)  S_SIZE()

[Timer1]: Synchronization enabled: 3 [GPU] GP0(0) nop: non-zero argument (0x090c54)

JaCzekanski commented 3 years ago

Looks like Tomba! uses undocumented GPU polygon commands and Avocado was not reading color for the first vertex for those polygons. Fixed.

Screenshot 2020-09-08 at 00 23 48 Screenshot 2020-09-08 at 00 23 22