DEV Community

Nivando Soares
Nivando Soares

Posted on

Porting Test Drive II from SNES to PC, Part 34: Closing the SNES Select Opponent clock slot

Porting Test Drive II from SNES to PC, Part 34: Closing the SNES Select Opponent clock slot

The last checkpoint closed the geometry of the downstream L00C20B screen:

  • a 2x2 selection grid on $1C70
  • three explicit rear-car cells
  • one unresolved fourth slot

That unresolved slot is no longer unresolved.

The fourth slot is not a hidden fourth car

The useful clue was that the odd slot did not behave like the three car
cells in debug.

That turned out to be exactly right.

The three car choices are still the same OAM-facing rear-car descriptors from:

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

But the fourth slot does not belong to that family at all.

Helper 8 carries the missing surface on BG1

An isolated rebuild of helper bundle 8 on BG1 now renders the missing
surface directly.

It is not another car row.

It is a Select Opponent background with a stopwatch / clock icon in the
bottom-right quadrant.

SNES Select Opponent BG1 surface

The enlarged export makes the fourth slot much clearer:

SNES Select Opponent BG1 surface enlarged

This closes the ownership split

So the downstream Select Opponent surface is now closed as:

  • three rear-car opponent choices carried by OAM-style descriptor rows
  • one separate clock slot carried by helper 8 on BG1

That is why the fourth element appeared “outside the car listing” in debug.

It really is outside that car-row family.

The practical consequence

The old open question was:

“what is the bottom-right slot?”

That question is done.

The next remaining front-end question is no longer menu geometry.

It is the later runtime meaning of choosing the clock slot: how that selection
actually hands off into the gameplay/session path compared to picking one of
the car-based opponent cells.

Top comments (0)