the cutting room mirror

NBA Live 96 (Genesis)

NBA Live 96 builds on the success of the previous game, though it did so in the shadow of the series' debut on a fifth-gen system.

Debug Symbols#

Like other EA Sports games on the Genesis, several functions have their original names present. They can be found after each corresponding function's last instruction (typically rts). They can be recovered with a Ghidra script.

Version Screen#

An unreferenced build version screen contains a compile date, which can be found in the ROM at A1D62. This screen can be forced to load instead of the license screen, by following these steps with a debugger:

  • Place a breakpoint on address A24FE (first instruction of function license);
  • On breakpoint hit, remove breakpoint, then set the program counter to address A290E (first instruction of function version).

Animation Debug#

NBALive96_Genesis_AnimationsMenuEntry.png NBALive96_Genesis_AnimationsTest.png

To access the dummied out debugging menu, we can restore its entry to the pause menu. It is shown when a memory variable checked at FFEFB3 is toggled at 0B835C. However, some conditional branches need to be patched out with nop instructions, in order to reach the toggle address:

  • 0B832E:4E71
  • 0B835A:4E71

If these patches are directly applied to the ROM, then a fail case branch will be taken in a checksum verification function. That branch must also be patched out:

  • 1FBE68:4E71

This menu is also present in Coach K College Basketball.

Debug Text#

This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: Is this still accessible?

At ABAA6, there is some text that seems to be associated with a debug menu.

ram queue
view globals
screens
scroll table
jersey nums
smgr vram
blank char
cmap
NBAart.shp
shotclock
overlay graphics
graphic