R.C. Grand Prix

Introduction

R.C. Grand Prix was an attempt to emulate the success of R.C. Pro-Am on the NES. It was one of the few US-developed SMS games, but sadly it’s also rather poor; the collision detection is weak, the physics inaccurate and the developer couldn’t get the grass interaction right so you just bump into a wall whenever you go off the track... which is all the time.

Anyway, the cool thing is that the tracks are all on one huge “field”, as you’ll see below, so I can map them all in one image.

Unfortunately, this didn’t work out too well. It turns out that whenever the game gets busy (i.e. when there are other cars on-screen), its scrolling update ends up part-way down the screen so the view is warped. That meant my original map was screwy and there wasn’t much I could do about it. So, some months later, I took a new tack: hacking.

; R.C. Grand Prix mapping hack
[mekacrc:A3E4BFF29BB8066F]
; infinite time - must apply after race has started
ROM[14b9]=0
; no collisions
ROM[4881]=c9
; other cars head southwest
ROM[4306]=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

It was rather complicated, but basically this hack takes out the time decrement (so the race never times out), the collision detection (by returning from the first byte of the routine) and the other cars’ logic (by nopping out a whole block of calls). With all this, I was able to map freely with no warping or constraints on where I could drive.

Brief game guide

Race, win, upgrade, rinse, repeat.

Controls:

  • L/R = steer
  • 1 = accelerate

Tracks

All Tracks (222KB, 6306×3640)

Original map

This is the original design from which the game was programmed back in ~1988.

Original Map (967KB, 5212×3023)

Read more about the game’s development over at SMS TRIBUTES.