Hangar.La tienda de software del Amiga

SC2000RTG 1.5

SimCity 2000 retargetable graphics patch

Short:        SimCity 2000 retargetable graphics patch
Author:       tobi@themaster.de (Tobias 'MastaTabs' Seiler)
Uploader:     polluks+aminet sdf org (Stefan Haubenthal)
Type:         game/patch
Version:      1.5
Requires:     The original game
Architecture: m68k-amigaos
URL:          https://codefloe.com/MastaTabs/sc2krtg

SimCity 2000 AGA -- patches and tools
=====================================

Two independent patches for the Amiga (AGA) release of SimCity 2000, and the
sources that produce them.

NEITHER PATCH CONTAINS THE GAME. You supply your own original executable; the
patchers read it, check it, and write a new file next to it. Your original is
never written to. If a check fails, nothing is written at all.


SC2000RTG 1.5 -- run it on a graphics card
------------------------------------------

SimCity 2000 AGA renders its map with a software chunky-to-planar conversion
straight into the eight bitplane pointers of the screen's BitMap. On a
Picasso96 / RTG screen there are no bitplanes, so the render loop scribbles
over Picasso96's own structures and takes the machine down.

SC2000RTG decides at run time whether the screen is planar or chunky and, on
a chunky screen, copies the already-chunky pixels straight into the
framebuffer. On a native planar screen the original code path runs untouched,
so one binary does both, and it stays V39 (Kickstart 3.0) clean.

The game also renders into an off-screen bitmap whenever the target is not the
map window -- the preview pictures in the power plant and arcology choosers
are drawn that way -- and converts that bitmap to chunky and back around the
drawing. On RTG the bitmap is already chunky, so both conversions were wrong
and the previews came out as eight narrow slices side by side. The patch
gates both conversions on the same planar/chunky test.

One thing it fixes has nothing to do with RTG. The port's palette put a
near-black dark green at colour 9, where the Mac original has white, and
sixteen of the game's own pictures use colour 9 as a white highlight -- the
weather icons draw their raindrops and snowflakes with it, and came out
speckled with black dots. Colour 9 is now white.

It also makes the screenmode requester list 8-bit modes only, lets the screen,
window and map view open at the full size of whichever mode you pick instead
of a fixed 640x512, and centres the Maxis logo on the startup screen.

    SC2000RTG [FROM] [TO] [FORCE]

    FROM   original executable         (default: SimCity2000)
    TO     patched file to write       (default: SimCity2000.RTG)
    FORCE  overwrite TO if it exists

Hold either SHIFT key while the game starts to get the screenmode requester.
Full details in patcher/README (German: patcher/LiesMich); every changed byte
with before/after disassembly is in patcher/PATCHES.


SC2000MIDI 1.0 -- MT-32 and General MIDI music
----------------------------------------------

The DOS Special Edition shipped Maxis' own MT-32 arrangements, and the song
numbers are identical across the Amiga, Mac and DOS releases. SC2000MIDI is a
small background program that plays standard MIDI files through camd.library.
SC2000MIDIPATCH puts a hook in the game that tells it which song to start.

    SC2000MIDIPATCH [FROM] [TO] [FORCE]

If you want both patches, run SC2000RTG first and SC2000MIDIPATCH second.
Not the other way round: SC2000RTG knows its builds by size and checksum and
refuses a file that has already been changed, while SC2000MIDIPATCH searches
for an instruction sequence and so is the one that can come afterwards.

If SC2000MIDI is not running -- no camd.library, no MIDI driver in DEVS:midi/,
or you simply did not start it -- the hook finds no port and the game plays
its own Amiga music exactly as before. The fallback costs nothing and cannot
fail.

SC2000MIDI is configured through the Tooltypes in its icon (MODE, LOCATION,
MIDIDIR, DEVICE, CAMDLIB, VOLUME, LOOP, DEBUG); the same names work as shell
arguments. SCMIDICTL sends PLAY, STOP and QUIT by hand, for testing.

Details in midiplayer/LIESMICH (German).


What is in this archive
-----------------------

    README              this file
    SC2000RTG           the RTG patcher
    SC2000MIDIPATCH     the MIDI patcher
    SC2000MIDI          the MIDI player
    SC2000MIDI.info     its icon, carrying the Tooltypes
    SCMIDICTL           send PLAY / STOP / QUIT by hand

    patcher/            SC2000RTG: source, patch tables, documentation
    midiplayer/         SC2000MIDI, SCMIDICTL, SC2000MIDIPATCH: sources and
                        the game-side hook in 68k assembly
    amiga-midi/         scripts that convert the game's own music to MIDI

The music itself is not in this archive, and neither is anything else out of
the game.


Recognised builds
-----------------

Four builds are recognised and each gets its own patch set. They are told
apart by size and checksum, so a file that is not one of them, or one that has
already been patched, is rejected rather than corrupted.

    0.031 German  (Oct 28 1994), 377400 bytes
    0.031 English (Oct 27 1994), 374904 bytes
    0.037 German  (Jan 28 1995), 378096 bytes -- Maxis' own SimPatch update
    0.037 English (Jul  3 2016), 375724 bytes -- the same update applied to
                                                 the English 0.031; supported,
                                                 but not tested on hardware


Building
--------

Both patchers are plain C and build for AmigaOS with vbcc:

    vc +aos68k -O2 sc2000rtg.c -o SC2000RTG

midiplayer/mkmidi.sh builds everything on that side: it assembles the
game-side hook, turns it into hookdata.h, and builds SC2000MIDI, SCMIDICTL
and SC2000MIDIPATCH. Both patchers also compile for the host with cc, which
is how they are tested.


Licence and credit
------------------

SimCity 2000 is copyright Maxis. This is an unofficial patch; it ships no
part of the game beyond the byte differences it has to apply.

Gratis

Descargar 134 KB

Desde el Amiga: abre Hangar y busca SC2000RTG.

Autortobi@themaster.de (Tobias 'MastaTabs' Seiler)
Categoríagame/patch
Tamaño134 KB
Fecha2026-10-30
Param68k-amigaos
NecesitaThe original game
Webhttps://codefloe.com/MastaTabs/sc2krtg
OrigenAminet