you will need a linux environment (wsl, mingw...) with ruby and make
you will also need the macroassembler as providing asl.
get mas from the AUR or download and build:
wget http://john.ccac.rwth-aachen.de:8000/ftp/as/source/c_version/asl-current-142-bld213.tar.bz2
tar -xf asl-current-142-bld213.tar.gz
cd asl-current
# copy appropriate makefile.def, e.g.:
cp Makefile.def-samples/Makefile.def-unknown-linux Makefile.def
make
make installNOTE: make sure original roms landmakr.zip and landmakrj.zip are in the roms/ folder.
run make in any patch subfolder
patched files will be in out/
additional make targets:
make ips:: create ips patch files (requires cmdpack-uips)make landmakr:: Land Maker 2.02O-only targetmake landmakrj:: Land Maker 2.01J-only target
the steps for patching are:
- interleave source files into program binary
- assemble
patch.Sover original program usingasl - generate patched program binary from object file with
p2bin - deinterleave patched binary into original rom files
- package up new files, create ips patches
- copy
example/template with assembler source and makefile - write patch
make landmakrormake landmakrj
to make patches compatible with both rom versions, include the shift table: shifts.S
for every ROM address referenced, add the closest SHIFT constant less than the desired address. for example:
ORG $8EC70 + SHIFT_15FBC
ORG $93BF4 + SHIFT_91470
ORG $1FFFFE + SHIFT_A1416for more information on the shift tables and their derivation, see: https://qcs.shsbs.xyz/share/ywy/land-maker#shifts
rom map: < wip >
palette mods: https://github.com/y-ack/landmaker-color-mod
land maker english fan translation patch homepage: https://qcs.shsbs.xyz/share/ywy/land-maker-english-translation.html
y's land maker investigation homepage: https://qcs.shsbs.xyz/share/ywy/land-maker