Added f3dex2.08 with point lighting (Paper Mario)

This commit is contained in:
Mr-Wiseguy
2021-04-19 18:23:04 -04:00
parent 87ba0c8462
commit f987c8120a
3 changed files with 32 additions and 24 deletions

View File

@@ -9,6 +9,7 @@ NoN ?= 0
# 2.08 (Banjo-Tooie, the best game on the N64)
# 2.07 (Rocket: Robot on Wheels)
# 2.04H (Kirby 64, Smash 64)
# 2.08PM (Paper Mario, this is F3DZEX 2.08J with two instructions changed and renamed to F3DEX2 2.08)
#
# F3DZEX:
# 2.08J (Animal Forest) (Recommended over 2.08I due to a change properly zeroes out $v0)
@@ -21,14 +22,16 @@ ARMIPS ?= armips
OUTPUT_DIR ?= ./
# List of all microcodes buildable with this codebase
UCODES := F3DEX2_2.08 F3DEX2_2.07 F3DEX2_2.04H \
F3DEX2_NoN_2.08 F3DEX2_NoN_2.07 F3DEX2_NoN_2.04H \
UCODES := F3DEX2_2.08 F3DEX2_2.07 F3DEX2_2.04H F3DEX2_2.08PL \
F3DEX2_NoN_2.08 F3DEX2_NoN_2.07 F3DEX2_NoN_2.04H F3DEX2_NoN_2.08PL \
F3DZEX_2.08J F3DZEX_2.08I F3DZEX_2.06H \
F3DZEX_NoN_2.08J F3DZEX_NoN_2.08I F3DZEX_NoN_2.06H
# F3DEX2
MD5_CODE_F3DEX2_2.08 := 6ccf5fc392e440fb23bc7d7f7d71047c
MD5_DATA_F3DEX2_2.08 := 3a3a406acb4295d33fa6e918dd3a7ae4
MD5_CODE_F3DEX2_2.08PL := 6a5117e62e51d87020fb81dc493efcb6
MD5_DATA_F3DEX2_2.08PL := 1a6b826322aab9c93da61356af5ead40
MD5_CODE_F3DEX2_2.07 := 1523b8e38a9eae698b48909a0c0c0279
MD5_DATA_F3DEX2_2.07 := 25be72ec04e2e6a23dfa7666645f0662
MD5_CODE_F3DEX2_NoN_2.08 := b5c366b55a032f232aa309cda21be3d7
@@ -45,24 +48,28 @@ MD5_DATA_F3DZEX_NoN_2.06H := e48c7679f1224b7c0947dcd5a4d0c713
# Microcode strings
# F3DEX2
NAME_F3DEX2_2.08 := RSP Gfx ucode F3DEX fifo 2.08 Yoshitaka Yasumoto 1999 Nintendo.
NAME_F3DEX2_2.07 := RSP Gfx ucode F3DEX fifo 2.07 Yoshitaka Yasumoto 1998 Nintendo.
NAME_F3DEX2_2.04H := RSP Gfx ucode F3DEX fifo 2.04H Yoshitaka Yasumoto 1998 Nintendo.
NAME_F3DEX2_NoN_2.08 := RSP Gfx ucode F3DEX.NoN fifo 2.08 Yoshitaka Yasumoto 1999 Nintendo.
NAME_F3DEX2_NoN_2.07 := RSP Gfx ucode F3DEX.NoN fifo 2.07 Yoshitaka Yasumoto 1998 Nintendo.
NAME_F3DEX2_NoN_2.04H := RSP Gfx ucode F3DEX.NoN fifo 2.04H Yoshitaka Yasumoto 1998 Nintendo.
NAME_F3DEX2_2.08 := RSP Gfx ucode F3DEX fifo 2.08 Yoshitaka Yasumoto 1999 Nintendo.
NAME_F3DEX2_2.07 := RSP Gfx ucode F3DEX fifo 2.07 Yoshitaka Yasumoto 1998 Nintendo.
NAME_F3DEX2_2.04H := RSP Gfx ucode F3DEX fifo 2.04H Yoshitaka Yasumoto 1998 Nintendo.
NAME_F3DEX2_2.08PL := RSP Gfx ucode F3DEX fifo 2.08 Yoshitaka Yasumoto/Kawasedo 1999.
NAME_F3DEX2_NoN_2.08 := RSP Gfx ucode F3DEX.NoN fifo 2.08 Yoshitaka Yasumoto 1999 Nintendo.
NAME_F3DEX2_NoN_2.07 := RSP Gfx ucode F3DEX.NoN fifo 2.07 Yoshitaka Yasumoto 1998 Nintendo.
NAME_F3DEX2_NoN_2.04H := RSP Gfx ucode F3DEX.NoN fifo 2.04H Yoshitaka Yasumoto 1998 Nintendo.
# Use the same name as no NoN so that emulators recognize it since there was no F3DEX2PL with NoN
NAME_F3DEX2_NoN_2.08PL := RSP Gfx ucode F3DEX fifo 2.08 Yoshitaka Yasumoto/Kawasedo 1999.
# F3DZEX
NAME_F3DZEX_2.08J := RSP Gfx ucode F3DZEX.NoN fifo 2.08J Yoshitaka Yasumoto/Kawasedo 1999.
NAME_F3DZEX_2.08I := RSP Gfx ucode F3DZEX.NoN fifo 2.08I Yoshitaka Yasumoto/Kawasedo 1999.
NAME_F3DZEX_2.06H := RSP Gfx ucode F3DZEX.NoN fifo 2.06H Yoshitaka Yasumoto 1998 Nintendo.
NAME_F3DZEX_2.08J := RSP Gfx ucode F3DZEX.NoN fifo 2.08J Yoshitaka Yasumoto/Kawasedo 1999.
NAME_F3DZEX_2.08I := RSP Gfx ucode F3DZEX.NoN fifo 2.08I Yoshitaka Yasumoto/Kawasedo 1999.
NAME_F3DZEX_2.06H := RSP Gfx ucode F3DZEX.NoN fifo 2.06H Yoshitaka Yasumoto 1998 Nintendo.
# Use the same name as NoN so that emulators recognize it since there was no F3DZEX without NoN
NAME_F3DZEX_NoN_2.08J := RSP Gfx ucode F3DZEX.NoN fifo 2.08J Yoshitaka Yasumoto/Kawasedo 1999.
NAME_F3DZEX_NoN_2.08I := RSP Gfx ucode F3DZEX.NoN fifo 2.08I Yoshitaka Yasumoto/Kawasedo 1999.
NAME_F3DZEX_NoN_2.06H := RSP Gfx ucode F3DZEX.NoN fifo 2.06H Yoshitaka Yasumoto 1998 Nintendo.
NAME_F3DZEX_NoN_2.08J := RSP Gfx ucode F3DZEX.NoN fifo 2.08J Yoshitaka Yasumoto/Kawasedo 1999.
NAME_F3DZEX_NoN_2.08I := RSP Gfx ucode F3DZEX.NoN fifo 2.08I Yoshitaka Yasumoto/Kawasedo 1999.
NAME_F3DZEX_NoN_2.06H := RSP Gfx ucode F3DZEX.NoN fifo 2.06H Yoshitaka Yasumoto 1998 Nintendo.
ID_F3DEX2_2.04H := 0
ID_F3DEX2_2.07 := 1
ID_F3DEX2_2.08 := 2
ID_F3DEX2_2.04H := 0
ID_F3DEX2_2.07 := 1
ID_F3DEX2_2.08 := 2
ID_F3DEX2_2.08PL := 3
ID_F3DZEX_2.06H := 0
ID_F3DZEX_2.08I := 1

View File

@@ -2,9 +2,10 @@
Matching and (partially) documented disassemblies of the f3dex2/f3dzex N64 RSP microcode families
Currently matches the following microcodes:
* F3DEX2 2.08 (Banjo-Tooie)
* F3DEX2 2.07 (Rocket: Robot on Wheels)
* F3DEX2 2.04H (Kirby 64, Smash 64)
* F3DZEX 2.08J (Animal Forest)
* F3DZEX 2.08I (Majora's Mask)
* F3DZEX 2.06H (Ocarina of Time)
* F3DEX2 2.08 (e.g. Banjo-Tooie)
* F3DEX2 2.07 (e.g. Rocket: Robot on Wheels)
* F3DEX2 2.04H (e.g. Kirby 64, Smash 64)
* F3DZEX 2.08J (e.g. Animal Forest)
* F3DZEX 2.08I (e.g. Majora's Mask)
* F3DZEX 2.06H (e.g. Ocarina of Time)
* F3DEX2 2.08 with point lighting (e.g. Paper Mario), nicknamed F3DEX2PL

View File

@@ -55,7 +55,7 @@ DPC_STATUS_CLR_XBUS equ 0x0001
TYPE_F3DEX2 equ 0
TYPE_F3DZEX equ 1
UCODE_HAS_POINT_LIGHTING equ (UCODE_TYPE == TYPE_F3DZEX && UCODE_ID >= 1)
UCODE_HAS_POINT_LIGHTING equ ((UCODE_TYPE == TYPE_F3DZEX && UCODE_ID >= 1) || (UCODE_TYPE == TYPE_F3DEX2 && UCODE_ID == 3))
UCODE_IS_206_OR_OLDER equ ((UCODE_TYPE == TYPE_F3DZEX && UCODE_ID < 1) || (UCODE_TYPE == TYPE_F3DEX2 && UCODE_ID < 1))
UCODE_IS_207_OR_OLDER equ ((UCODE_TYPE == TYPE_F3DZEX && UCODE_ID < 1) || (UCODE_TYPE == TYPE_F3DEX2 && UCODE_ID < 2))
UCODE_IS_F3DEX2_204H equ (UCODE_TYPE == TYPE_F3DEX2 && UCODE_ID == 0)