DEV Community

Nivando Soares
Nivando Soares

Posted on

Porting Test Drive II from SNES to PC, Part 33: Closing the SNES downstream rival-grid structure

Porting Test Drive II from SNES to PC, Part 33: Closing the SNES downstream rival-grid structure

After closing the top-menu semantics, the next unresolved front-end surface was
the downstream screen at L00C20B.

That was the missing structural step in the current user-guided flow:

Ballistic -> initial menu -> Play TDII -> cars -> adversary/clock -> phase -> gameplay

The structure is now closed.

$1C70 is a real 2x2 selector surface

Inside L00C20B, bank 1 edits $1C70 as a 2-bit field.

That part was already visible in static code.

What closes the surface is the hidden callback at 01:C1D2.

That callback redraws 1E:8000 row 0x1D as a selection box over four
coordinate pairs from 01:C1C2..01:C1D0:

  • (85, 109)
  • (173, 109)
  • (85, 173)
  • (173, 173)

So $1C70 is no longer just “some unlabeled downstream bitfield”.

It is a concrete post-car, pre-track 2x2 selection grid.

SNES downstream selection-box row 0x1D

Three cells are explicit rear-car renders

L00C20B itself lays out row 6 from three different descriptor bases before
entering the input loop:

  • 16:8000 row 6
  • 18:8000 row 6
  • 1B:8000 row 6

Those are three explicit rear-car cells, not generic UI glyphs.

Rear-car cell from 16:8000 row 6

Rear-car cell from 18:8000 row 6

Rear-car cell from 1B:8000 row 6

The remaining gap is now narrow

This is the useful consequence:

the geometry and OAM ownership of the post-car, pre-track surface are now
closed.

What is still open is the meaning of the bottom-right slot.

Given the static call chain

L00BAE8 -> L008B3E -> L00C20B -> L00BE76

and the user-guided flow

cars -> adversary/clock -> phase

the strongest current read is still:

  • three rival-car cells
  • one time-only / clock cell

But that last semantic step is still only PROBABLE.

It is not promoted as verified yet.

The car-sheet PNGs are now committed too

One side benefit of this checkpoint is that the front-end OBJ car catalogs now
also have committed PNG sheets in the repo instead of only scratch renders:

  • Porsche 959
  • Lamborghini Diablo
  • Ferrari F40

That keeps later writeups and asset references anchored to committed artifacts
instead of /home/.../tmp directories.

Top comments (0)