Work-in-progress ARMHF loader for the Android Marmalade build of Call of Duty: Black Ops Zombies.
This repository contains only loader/source code, a first-launch APK extractor, and packaging scripts. It does not contain redistributable game data.
Place your legally owned Android APK on the device at:
ports/codboz/apk/game.apk
On first launch, PortMaster's patcher UI runs ports/codboz/codboz_setup. The setup extracts the bundled Marmalade payload and music assets into ports/codboz/assets, decompresses boz.s3e to boz.s3e.unpacked, reads the resource CDN from that unpacked payload, and downloads the required .dz archives into ports/codboz/assets.
The expected APK version is 1.0.11 with SHA-256:
359ee68b6e0a3a66e921ec9b955b290dedb93135fd3c20904bc1bb6f47b5499d
src/: loader and runtime source.include/: runtime headers.tools/apk_extract/: first-launch APK extraction helper.third_party/lzma/: public-domain LZMA SDK decoder used by the helper.packaging/: PortMaster launcher files.scripts/: build and deployment helpers.build/: generated output.Dockerfile: ARMHF build environment.
scripts/build-docker.shThis builds the ARMHF loader, builds the APK extraction helper, and stages a PortMaster package tree under:
build/package/ports/codboz/
Host checks:
make check
make test-host-sanitizeLocal Wi-Fi works without a server. Play Online uses the settings in
config.txt in the port directory:
multiplayer_server=boz-online.xubi.org
multiplayer_proxy=0
voice_chat=1
player_name=JeKaleVader
New installations default to boz-online.xubi.org, the server used by the PS
Vita port, so Play Online supports cross-play without additional setup. Existing
config.txt files are preserved during updates. All players in a match must use
the same server address. Keep multiplayer_proxy=0; it is only relevant during
development.
A compatible Go server and self-hosting instructions live in the
cod-boz-online repository.
Voice chat defaults to on so remote players can be heard. The game also attempts
to open a microphone when voice_chat=1, but most Linux handhelds do not expose
an ALSA capture device. Voice input on those systems requires a supported USB
microphone or audio adapter. Set voice_chat=0 to disable both playback and
capture.
The default player name is JeKaleVader. player_name accepts up to 13 letters,
numbers, spaces, hyphens, underscores or periods.
After building, run the deploy script for the operating system on your PortMaster
device. The OS-specific scripts use scripts/deploy.sh internally; do not run
scripts/deploy.sh directly.
scripts/deploy-muos.sh <ssh-host>
scripts/deploy-knulli.sh <ssh-host>
scripts/deploy-darkos.sh <ssh-host>
scripts/deploy-rocknix.sh <ssh-host>
scripts/deploy-amberelec.sh <ssh-host>
scripts/deploy-spruce.sh <ssh-host>Replace <ssh-host> with the device's hostname or IP address.
The muOS script defaults to /mnt/mmc and also supports --sdcard.
The KNULLI script defaults to KNULLI's active storage (/userdata/roms).
It also supports --share, --roms, and --root PATH.
The dArkOS/ArkOS script defaults to /roms and also supports --roms2 and --root PATH.
The ROCKNIX script defaults to /storage/roms and also supports --root PATH.
The AmberELEC script defaults to /storage/roms and also supports --root PATH.
The SpruceOS script defaults to /mnt/SDCARD/Roms/PORTS and also supports --root PATH.
SpruceOS is not an officially supported PortMaster platform, so port compatibility
depends on the device and SpruceOS version.
The deployment scripts install from the staged package tree. Run scripts/build-docker.sh first.