The Witcher file we were working with had EN in its name. Its actual resources were Russian. We followed what was inside the package.WT01
What was actually there.
Earlier MIDP compatibility work supplied the starting interfaces. The original joystick codes still needed their own meanings, and absent optional splash files could fall through to the game’s original PNG path rather than becoming a reason to invent replacement art.WT02WT03
Then we found a more consequential gap in the checkpoint. The RMS persistence code survived in the original APK DEX, but its Java source was missing. We kept that compiled implementation instead of guessing how to rebuild its storage behavior.WT04
Another session needs original defaults.
Original Quit and restart required fresh session values for static fields. Restoration used values from the original class initializers so a later launch began from the intended defaults, while record stores retained their separate job.WT05
The older notes keep the opening and first-level/RMS checks. Our later framework fixture checks the shell and Quit/static restoration without executing those preserved RMS save methods. There wasn’t a retained gameplay image in this checkpoint to add here.WT06WT07
About these records
This chapter describes the supplied Russian Nokia N73 Java ME edition. The preserved RMS DEX and later test boundaries are stated separately. Historical notes are not relabeled as a newly captured game run, and no missing gameplay image has been reconstructed. The source window is narrower than a complete recovery chronology.
The receipts
Selected source lines, investigation notes and recorded feedback. Open a receipt for the original context and scope.
WT01 / The original EN filename does not supply English Witcher textCheckpoint investigation notes
Source: Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE_CHECKPOINT.zip / Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE/evidence/original_v0.1.0_docs/IMPLEMENTATION.txt · selected lines 44–46
The EN filename is misleading: original game story/menu/help text decoded from /r is Russian. English text for unrelated promotional titles in /r is not an English Witcher language pack. No built-in English Witcher choice was found.
WT02 / Earlier MIDP work and distinct joystick codesCheckpoint investigation notes
Source: Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE_CHECKPOINT.zip / Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE/evidence/original_v0.1.0_docs/IMPLEMENTATION.txt · selected lines 5–9, 16–27
Original BPGameMIDlet and six obfuscated classes run as Android DEX through a focused MIDP compatibility layer. Guest class patches redirect classpath resource loading and observe caught exceptions; original game logic/assets are preserved. Runtime foundation reused from local Nowhere/Ratchet J2ME work. Presentation principles reference REGenesis v0.6.1. Report saving follows RE4 Zeebo principles. [... selected excerpt ...] Original b.run sleeps toward 100ms each update. This original pacing is intact. Independent input delivery does not depend on repaint. The original joystick codes -1/-2/-3/-4/-5 are distinct from numeric keys in native text entry modes. Left/right softkeys -6/-7 remain original. Original Help (text entry 129) confirms run, jump, block, attack, cast, change sign and change sword mappings. Numeric 0 and left softkey both cast in gameplay; all numeric inputs remain accessible. Added compatibility: Image.createRGBImage with alpha, sparse RMS IDs and atomic persistence with tombstones, MIDP media Controllable/VolumeControl, native text rendering for the game's numeric debug overlay, offline HTTP API surface, and platformRequest reporting as unavailable rather than success. Online score and promotional services remain unavailable. No network feature is fabricated.
WT03 / Absent optional splash files have an original PNG fallbackCheckpoint investigation notes
Source: Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE_CHECKPOINT.zip / Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE/evidence/original_v0.1.0_docs/IMPLEMENTATION.txt · selected lines 29–37
The original tries optional s.ani/s.bgs splash animation, catches their absence, and falls back to intact /s PNG screens. Those two assets are absent in the original JAR. Only corresponding caught NullPointerExceptions are classified as known optional-asset observations, not runtime faults. All other faults retain stack evidence and automatic report export. Native MIDI bytes go unchanged to Android MediaPlayer, including volume and background pause/resume. Audibility/timbre on a physical phone is unobserved. Host audio capture preserves requested bytes rather than claiming handset sound.
WT04 / The missing RMS source survives as original DEXCheckpoint investigation notes
Source: Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE_CHECKPOINT.zip / Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE/ORIGINAL_RMS_PROVENANCE.txt · selected lines 1–20
Original RecordStore binary provenance, private build Source: Witcher_Crimson_Trail_Bridge_v0.1.0_PRIVATE.apk (original signed APK). The original v0.1.0 checkpoint contained the adapted JavaME runtime but not source for the following six javax.microedition.rms classes: RecordStore, RecordStoreException, RecordStoreNotFoundException, RecordStoreNotOpenException, RecordStoreFullException, InvalidRecordIDException. The script tools/restore_original_rms_classes.py selects the six class_def entries from the original APK classes.dex and retains their ORIGINAL DEX bytecode, method code, strings and constant pools. It does not decompile/rewrite those classes or implement substitute saves. The selected class definitions were then passed to Android's D8 compiler to emit the minimum-api-26 prebuilt DEX at: runtime/prebuilt/witcher-original-rms.dex SHA-256: 22d606e12fc4f7df87125c3b0f0cbe857d89e92accd2059c8eb757bc92f05d33 BUILD_LINUX.sh merges that DEX into the signed application alongside the same original game JAR, engine and source compatibility code. These classes were included in the rebuilt DEX and passed tooling validation, but save behavior must still be verified on an actual Android device.
WT05 / Quit and static restoration use original initializer valuesCheckpoint investigation notes
Source: Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE_CHECKPOINT.zip / Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE/NORMALIZATION_NOTES.txt · selected lines 5–12
Changed MainActivity only for kit configuration, explicit inline original keypad, hardware-source ownership, saved mode, startup fault capture and real Back cleanup. Engine now fences actual teardown off the UI, uses native d.l() Quit, lets the original worker run destroyApp (which saves via d.h and closes audio via d.i), and restores the previous uncaught handler when it owns it. OriginalSession captures original non-final static fields after their actual class initializers, then restores fresh copies on re-entry after old teardown completes. It does not invent game values, modify persisted data or alter original gameplay timing.
WT06 / Later framework and RMS test boundariesCheckpoint investigation notes
Source: Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE_CHECKPOINT.zip / Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE/README_FIRST.txt · selected lines 55–65
CHECKS 12 supplied Android framework checks passed against the exact v1.1.2 JAR. 4 Witcher Activity wiring checks passed under Android API34/Robolectric; those use a connection fixture and platform drawable, not substitute gameplay. Original Quit/static restoration checks run the real original class initializers and Quit routine with API-only RMS names for host verification; no save method runs in that fixture. The APK contains the preserved original RMS DEX instead. Android build, D8, signature/alignment and original preservation checks passed. Physical phone gameplay, comfort/insets, sound, Downloads export and save/load remain untested in this normalization session. Historical gameplay evidence is kept separately and is not represented as a new test.
WT07 / Original opening, first level and RMS checks in historical docsHistorical host verification
Source: Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE_CHECKPOINT.zip / Witcher_Crimson_Trail_Bridge_v0.1.2_PRIVATE/evidence/original_v0.1.0_docs/VERIFICATION.txt · selected lines 1–14
PASS Android compile, D8, APK alignment and signature verification. PASS native original opening/menu, quest load and first-level raster rendering. PASS original player position changes under native joystick direction input. PASS native jump/attack/special inputs delivered during original tutorial. PASS native pause menu and return; background suspension and foreground return. PASS read-only report capture while original frame count continues to increase. PASS zero unexpected runtime faults in final replay. PASS original resource identity: 69 entries preserved byte for byte in APK. PASS all five original MIDI streams parse, with original bytes preserved. PASS native RMS tombstone/monotonic ID behavior and fresh-store persistence. NOT VERIFIED: physical Android layout/insets/touch, on-device sound/vibration, Downloads export on a handset, actual phone heat, complete game completion. LANGUAGE: original Russian Witcher text despite original filename claiming EN.