Commit Graph
157 Commits
Author SHA1 Message Date
James Dansereau 330b2bae46 PC port: phase 2 — Plan B executed (D50): offline model sidecars + port plumbing; texCopyGdls w1 fix
- tools_pc/d43_emit.py: full emit pass, 512/512 round-trip validated;
  data/pcmodels-<region>/pcmodels.bin + manifest.csv (gitignored, regenerate)
- port/src/pcmodels.c(+h): cart-extension reservation, sidecar copy, one-shot
  file_resource_table patch; romdata.c/h extended
- objecthandler_2.c: #ifdef PORT hook — pcmodelsPatchTable() + poolRemaining=0
  reset (closes D48.3/R6 reload hazard)
- language.c/textrelated.c: runtime C fixups for lang-bank BE offset tables
  (romdataFixupLangBank) and font re-layout (romdataFontPcSize/FixupFont)
- front.c: legal-screen uninitialized-pointer UB seed (N64 survived by luck)
- tex.c (D50.6): texCopyGdls copied only w0 of each 16B Gfx slot on PC —
  compaction scratch kept stale mempool w1s -> garbage G_SETTIMG -> OOB in
  import_texture_rgba16. Full-slot copy under #ifdef PORT; byte-proven vs
  PlegalpageZ sidecar (w0s match, w1s stale). Model GDLs now execute.
2026-08-23 10:22:03 -04:00
James Dansereau 8f7ab8ec69 PC port: phase 2 — D49 review: Plan B verified (R1-R8 all confirmed), green-lit for execution
- R1 RZ format: 512/512 files [0x11 0x72]+raw deflate; sum round8(C) = 1,277,088 B (exact D48 match)
- R2 romCopy = gated host memcpy; no 0x10C00000 limit; sidecar region needs only reservation+validity extension
- R3 file_resource_table is the single chokepoint; no direct model-symbol derefs outside table
- R4 obInit runs once (boss.c:179) before any model load; lazy one-shot patch safe
- R5 fit quantified: max round8(C)+8 = 0x4228; worst-case P_final = 0x16F74 vs 0x24C400 bank (25x); all dst!=0 buffers pass vs current constants (chainbound re-run)
- R6 reload hazard real + data-capable (PlegalpageZ example); one-line reset pending, closes it
- R7 per-region sidecars work (region build-time-fixed; EU=465 files); notes: no JP ROM candidate in romdataInit
- R8 emission spec complete; fresh C probe (exact build flags) re-verifies all 15 PC record sizes + promotion offsets — no drift; added explicit bswap16 rule for u16/s16 record scalars to HANDOFF Verified facts
2026-08-22 19:24:42 -04:00
James Dansereau 73ea03734d PC port: phase 2 — D48 review: re-plan D43 as offline pre-conversion (Plan B)
- D48 finding in PCPortResearch.md §F: d43_convert.py does not emit bytes
  (layout+remap validation only); Plan B = Python emit pass -> data/pcmodels-<region>/
  RZ sidecars served via port-layer hw_address/rom_size table patch (no C
  converter); Plan A kept as fallback with corrected staging guard (D_N64+D_PC<=avail)
- Moved all 23 d43_*.py investigation scripts from gitignored build-pc/ to tracked
  tools_pc/ (spec is now versioned); d43_cover.py path ref updated; converter
  re-run from new location: ALL CLEAN
- HANDOFF.md rewritten as two-session prompt: Session A = independent review of
  Plan B (8 claims, each with falsification criterion -> finding D49), Session B =
  execute (emit pass + round-trip validator, romdata plumbing, one-line hook,
  pixel-assert soak); verified-facts converter spec preserved
- AGENTS.md phase status updated to D48 re-plan
2026-08-22 18:43:04 -04:00
James Dansereau 181f6db07d PC port: phase 2 — D43 mechanical ABI edits + D46 buffer sizing + fast3d seg-5 case; converter spec validated (D47)
- bondtypes.h/model.c/chr.c/objecthandler_2.c/tex.c: PORT-guarded pointer-width
  and Gfx-size fixes (D43 step 2, uncommitted since prior session)
- front.c cast-screen bufferRemaining 0x1C000->0x25000, initmenus.c logo
  buffer 0x7C000->0x85000 (D46 strict bound)
- gfx_pc.cpp seg_addr: resolve raw 0x05xxxxxx via segmentPointers[5] + low24
  (unmarked segmented addresses, ROM convention)
- docs: D47 finding — converter contract finalized (compaction delta=R-P,
  accessors at 0x80090000, G_VTX GBI1 encoding, opcode-aware w1 remap rule,
  vertex formats, no embedded blobs, zero-vtx-array rule, staging contract,
  reload-hazard poolRemaining reset); HANDOFF rewritten around the remaining
  C implementation
- build-pc/d43_convert.py (gitignored, local): reference converter + validator —
  full N64->PC conversion spec run on all 512 ROM files, ALL CLEAN (max D_PC=0xB7E0)
2026-08-22 18:24:31 -04:00
James Dansereau f298dc6703 PC port: phase 2 — D43 investigation complete (handoff + plan) 2026-08-22 10:06:14 -04:00
James Dansereau 3458a4e868 PC port: fix crash-handler Phase 2 self-fault, auto-backtrace on crash (D44) 2026-08-22 08:24:11 -04:00
James Dansereau 89653cdcbb PC port: document PD-port copy-candidate audit (§2.4) — standing reference, D43 near-analogue, Phase 3/4 copy targets 2026-08-22 08:17:34 -04:00
James Dansereau 95b6e41a0c PC port: handoff for D43 session — dev-loop measurements, D44 crash-handler finding 2026-08-22 08:09:34 -04:00
James Dansereau 7e81816539 PC port: note D40-class pool audit (negative) in handoff 2026-08-22 04:09:20 -04:00
James Dansereau 98412c281c PC port: Phase 1.5 done, first frames render (D38-D42)
- D38: implicit function declarations truncated pointer returns on x86-64;
  added port/include/pc_protos.h prototype shim (398 decls, C-only, anchored
  in port/shim/PR/ucode.h) + pc_netorder.c for ntohl/ntohs; build warning-clean.
- D39: Globalimagetable rebasing - per-symbol offsets + GIMG_OFF() in
  image_bank.c (== N64 (u32)&sym incl. the 0x02000000 base); segment end
  markers extended to the true 0x13F8 size (CSV entry truncated by 0x930).
- D40: g_ModelHitEntries pool sized for the 40-byte PC ModelHitEntry stride
  (was a 12KB .bss overflow clobbering is_ramrom_flag -> demo-replay SIGSEGV).
- D41: release the GL context from the host main thread after videoInit so
  the game scheduler thread can bind it (WGL single-thread currency; this
  SDL2 build's MakeCurrent return value is an inverted ABI artifact).
- D42: rsp.c g_gfxTaskSettingsList XOR toggle -> explicit toggle on x86-64.

Boot now renders real frames ([NOTE] frame N rendered in ... us). Next
blocker D43 (model-file loading ABI mismatch) documented in PCPortResearch.md
section F/H; HANDOFF.md rewritten for it.
2026-08-22 04:07:07 -04:00
James Dansereau b3000825f2 PC port: phase 1.5 — handoff notes updated for D33 implementation session
Record ROM-dump verification (No-Intro [!] byte-identical, CRCs re-checked)
in AGENTS.md phase status, PCPortResearch §H state, and HANDOFF current
state, so the next session starts from a verified foundation.
2026-08-21 20:30:50 -04:00
James Dansereau bd56cff073 PC port: phase 1.5 — ROM dump verification groundwork
No-Intro 'GoldenEye 007 (U) [!].z64' placed in data/ and verified
byte-identical (MD5 70c52588...) to the dev ROM copies
(data/ge007.ntsc-final.z64, baserom.u.z64). Header magic/title/country
check out; embedded CRCs DCBC50D1/09FD1AA3 re-computed and matched via
tools/n64cksum.c's CIC-6102 routine.

Adds tools_pc/romverify.c: one-shot integrity check (size, GE header
magic at 0x00, title, country byte, CRC1/CRC2) so any future ROM swap
is detectable in seconds. Fingerprint + provenance recorded in
docs/HANDOFF.md; gitignore the built romverify.exe.
2026-08-21 20:29:03 -04:00
James Dansereau 8482ba3ed1 PC port: Phase 1.5 — root-cause D32 Part B (D33): ROM big-endian
structured fields + x86-64 loop-stride bug; fix designed, handoff updated

- Finding D33 in docs/PCPortResearch.md: the .z64 stores multi-byte
  structured fields in big-endian byte order (bit-packed streams raw);
  per-field load-time transform rule (u32 bswap32 / u16 bswap16 / u8
  identity) validated over all 173 animation entries; full blob layout
  mapped; exact reproduction of the gdb-observed garbage values.
- Second root cause: expand_ani_table_entries iterates s32** (+8 bytes/iter
  on x86-64 vs +4 on N64), rebasing only even-indexed entries (verified in
  compiled binary). Fix design: romdataFixupAnimationData() in port/, one
  call between romCopy and expand, s32* loop stride fix.
- docs/HANDOFF.md rewritten with the implementation task; AGENTS.md phase
  status updated. tools_pc/disasm.py (BE ROM research tool) added.
2026-08-21 20:18:38 -04:00
James Dansereau ab61e4be4a PC port: add paste-ready session handoff brief (docs/HANDOFF.md)
Summarizes Phase 1.5 state, the D32 Part B immediate task + gdb method, the
standing ABI/layout fix procedure, and environment gotchas for a fresh agent
session. AGENTS.md now points to it for new sessions.
2026-08-21 16:03:32 -04:00
James Dansereau dbeee7353f PC port: Phase 1.5 — fix langInit decompression (D31), start D32 ABI layout
- D31 (resolved): replace GE's gzip-1.2.4 inflate with real-zlib
  decompressdata() in port/src/rzdecomp.c; exclude src/game/decompress.c +
  zlib.c from the PC build. Root cause: struct huft is 8B on MIPS but 16B on
  x86-64, overflowing load_resource's fixed 0x2100 buffer and clobbering its
  frame/retaddr on the first file load. mainThread now boots past all language
  files into bossInitMainthreadData().

- D32 (in progress): ROM-serialized structs with 32-bit pointer fields
  misalign when read as 64-bit pointers. Part A done: ModelAnimation's
  bitDescriptors/bitStream are now u32 (N64 layout preserved) with casts at the
  two use sites in model.c. Part B (load-time rebase in expand_ani_table_entries)
  is open — see docs §F/D32 + §H.

- Docs: D31 resolved, D32 recorded (A done / B open), Phase 1.5 added, new §H
  handoff section. AGENTS.md: refined non-negotiable #2 to "game logic is
  unmodified" with a narrow ABI/layout exception; refreshed phase status.
2026-08-21 16:01:49 -04:00
James Dansereau 13ca03a6db PC port: Phase 2 — real threads, dual-mapped DRAM, fast3d integration
- Replace setjmp/longjmp green threads with real pthreads (8MB stacks);
  PortQueue side table (mutex+condvar) for OSMesgQueue; dedicated tick
  thread posts VI retrace + services timers (D24).
- Dual-mapped N64 DRAM: one 8MB store at V1 0x70000000 (s32-safe, all game
  RAM symbols) and V2 0x80000000 (KSEG0 mirror for offset|0x80000000
  rebuilds). Windows: CreateFileMappingW + MapViewOfFileEx; POSIX: memfd
  + MAP_FIXED. dram_syms.s pins cfb_16/_bssSegmentEnd/tlb block (D25).
- Address-width shims: PHYS_TO_K0 identity, OS_K0_TO_PHYSICAL = offset from
  V1 base, OS_PHYSICAL_TO_K0 identity; fast3d seg_addr() remaps small
  offsets into V2 (D26).
- ASLR off (-Wl,--disable-dynamicbase): absolute symbols referenced through
  pointer-typed externs (.refptr + BASE reloc) must not rebase; startup
  sanity check on image base 0x140000000 (D27).
- osPiStartDma posts its completion message on every path (fixes
  romReceiveMesg deadlock) (D29).
- SEH-free crash handler: raw fault log first, validated manual EBP-chain
  walk second (-fno-omit-frame-pointer), TerminateProcess; crashDumpThreads
  via Toolhelp32 for heartbeat hang dumps (D30).
- PD fast3d integrated (port/fast3d/), replaces gfxstub.c; real src/sched.c
  compiled; mainproc runs as a real pthread, host thread pumps SDL events.
- Docs: findings D24-D31 + Phase 2 status (section F/G).

Current state: boots through bossInitMainthreadData to langInit(), then
SIGSEGVs on the first file load — stack frame clobbered by a table of
truncated s32 pointers (D31, open). Next: attribute the write with
'set scheduler-locking on' + hardware watchpoint.
2026-08-21 14:42:19 -04:00
James Dansereau 2aad171344 PC port: Phase 1 boot-to-window (ROM load + map + SDL2 clear loop)
- scripts/gen_romassets.py: emit absolute cart-address asset symbols
  (0x10000000 + rom_offset) from filelist.<r>.csv + the asset .s files,
  in file_resource_table.inc.c order. US region (romassets_u.s).
- romdata.c: load/validate the GE-specific header (magic, name @0x20,
  cart ID @0x3C, country @0x3E) and map the .z64 at cart base 0x10000000
  so every &asset-symbol is a live host pointer.
- libultra.c: osPiStartDma/osPiRawStartDma now service reads as
  bounds-checked memcpys from the mapped ROM (synchronous completion).
- system.c: implement sysResolvePath ($S data dir, $E exe dir).
- video.c: real SDL2 window + GL context + clear/swap frame loop with
  FPS accounting; main.c runs a Phase 1 demo loop (ESC quits) until the
  software RSP/scheduler can drive mainproc().
- CMakeLists: project(... ASM), wire romassets_<region>.s, drop
  assetstubs.c (replaced by generated symbols); n64stubs.c keeps only
  pure-RAM segment markers.
- docs: findings D18-D23 (header offsets, BE music table, .rz tracks,
  scanner-prefixed manifest names, CMake ASM gotcha, absolute-symbol
  approach).

Verified: baserom.u.z64 (12MB) passes validation and maps at 0x10000000;
window opens and renders until killed; asset offsets spot-checked against
ROM bytes (music bank seqCount=63 BE, first track offset 508).
2026-08-20 22:19:45 -04:00
James Dansereau 5ea46fabc1 PC port: full compile + link milestone (ge007.x86_64.exe builds clean)
All ~235 translation units now compile and the target links under MSYS2
GCC 16 + CMake/Ninja (ninja ge007 -k 0: 236/236, zero errors). N64 build
untouched; every src/ change is -DPORT-gated.

Portability fixes (findings D7-D17 in docs/PCPortResearch.md section 11):
- AI X-macro system: SWITCH() call sites activated to the author's
  hand-written byte-identical references under PORT; port/shim/
  bondaicommands.h + bondconstants.h + CPPLib.h re-emit the IDO paste
  tricks (isSubroutine, file-record macros, generated CALL) GCC-clean.
- 64-bit pointer-in-word initializers: monAnim jump targets now go
  through an index table resolved by the interpreter (chrai.h/propobj.c);
  UsetuplenZ.c credits pointer PORT-gated to 0.
- IDO printf engine compiled for PC (xprintf/xlitob/xldtob) with a
  shadow xstdio.h resolving the _Printf prototype clash.
- Host-libc gaps stubbed in port/: bcopy/bzero, __libm_qnan_f,
  tlbmanage*, g_ViXScales/YScales; chrObjRandom PRNG ported from .s.

Asset data strategy (D16): single-file assets compiled for real
(animation tables, fonts, textures, rareware logo); obseg per-file .c
excluded (colliding file-local globals the N64 build isolates via
per-ELF linking); 758 ROM-derived table symbols + ramrom_* + segment
markers stubbed in port/src/assetstubs.c / n64stubs.c.

fast3d is a no-op placeholder (port/src/gfxstub.c) until Phase 2 brings
in the real software RSP. Binary not yet runnable end-to-end: ROM
loading in romdata.c is still a TODO.
2026-08-20 20:27:06 -04:00
James Dansereau cd6cc158b6 Add PC port scaffolding (CMake build + port layer)
Initial scaffolding for a PC port of GoldenEye 007, modeled on the
Perfect Dark PC port (same Rare "Indy" engine). The N64 build
(Makefile + IDA) is untouched; the PC build is a parallel CMake build.

Build:
- CMakeLists.txt: SDL2 + zlib + OpenGL. Compiles src/game/*.c + curated
  engine files + libultra audio/gu + port/. Per-region macro sets
  (ROMID US/EU/JP) mirror the N64 Makefile's LCDEFS exactly.
- build-pc.sh, cmake/: configure+build helper and target/SDL2 modules.

Port layer (port/):
- video/audio/input/fs/romdata/config/system/mixer: stubs with
  TODO(Phase N) markers and correct interfaces.
- libultra.c: libultra OS shims (message queues, VI, PI, AI, EEPROM,
  controller, PFS/motor no-ops, region-gated osTvType).
- gesched.c: software-RSP scheduler replacing src/sched.c task submission.
- n64stubs.c: inert stubs for N64-boot + rmon symbols.
- random.c: PRNG ported verbatim from src/random.s (bit-exact).
- ucode.c: RSP/ASP/GSP microcode segment markers (dummies; Phase 3 TODO).

Docs:
- docs/PCPortResearch.md: architecture, GE-specific deltas, phased plan,
  and the scaffolding review (findings A1-A4/B1-B4/C1-C2 + resolutions).
- PORTING.md: top-level entry point.

See docs/PCPortResearch.md for the full plan.
2026-08-17 19:17:06 -04:00
KholdFuzion ef209c113c james bond will return. 2026-08-17 13:48:42 -04:00
KholdFuzion cc14d64e7d for england james? 2026-08-16 17:30:25 -04:00
KholdFuzion 9fbe1fd5a8 sync. run make forceextractassets to re extract everythig to c files properly 2026-04-13 09:11:43 -04:00
kholdfuzion e565375ed4 Update EU.yml 2025-04-25 13:04:19 -04:00
kholdfuzion 04e485a28b Update JPN.yml 2025-04-25 13:03:37 -04:00
kholdfuzion 9866d9a919 Update main.yml 2025-04-25 13:01:37 -04:00
kholdfuzion d5af3ed3bf Update EU.yml 2025-04-25 12:58:08 -04:00
kholdfuzion 2836843243 Update JPN.yml 2025-04-25 12:58:01 -04:00
kholdfuzion d951682612 Update main.yml 2025-04-25 12:56:54 -04:00
KholdFuzion d2e68dae23 should build updates on linux.....linux-isms fixed 2025-04-25 10:24:08 -04:00
KholdFuzion dae8a90ff6 Everybody loves a good yearly or so update 2025-04-25 10:11:31 -04:00
KholdFuzion d8465c99b6 clarify 2023-09-28 11:51:14 -04:00
KholdFuzion 5aac04b64c update 2023-09-28 11:49:33 -04:00
KholdFuzion 3c9651a097 Figure its time to update this again 2022-10-29 10:41:01 -04:00
KholdFuzion 76f3582e08 update to current private 2022-06-06 15:07:33 -05:00
KholdFuzion 9d72238213 oops 2021-03-08 13:06:34 -06:00
Larry Ficken ac52aae51e update public from private 2021-03-08 12:58:16 -06:00
kholdfuzion 8f2c5c73bb Add status page and merge private 2020-12-30 11:42:28 -06:00
KholdFuzion 9574a451fa whoops 2020-11-20 14:35:54 -06:00
KholdFuzion 4c870aa42f refresh public 2020-11-20 14:34:28 -06:00
KholdFuzion 2cddf53cb7 refresh priv to pub 2020-02-19 21:28:20 -06:00
KholdFuzion c09009d3f4 Update to support shifting, JP, ai macro work and more. 2019-11-13 07:46:56 -06:00
kholdfuzion 3516197a71 oops forgot that
Former-commit-id: 51b7d68a6dc95736271f84b0fc77ebf6d47e52cd [formerly 2c85d1c72fdc9bb1fbf167e646bdeb09ef3ab61e] [formerly a13e518d540596eb3f572666e7dc1f0e9fc23735 [formerly 5a1125980db68c93b676d756a1735174827465c8]]
Former-commit-id: 32929e424314258696aadd1fa822cc97697c1f87 [formerly 40f3f2bb14e103445d97e3a8956926eda59e5f73]
Former-commit-id: 6124ae5e2340b83c14e40668868ecacb9f4d1fa3
2019-08-03 18:01:45 +00:00
kholdfuzion a6f7d68edb update to current progress
Former-commit-id: bed7f1bddb7af09c0f288c1150c6b1c5c106e3be [formerly 02402a0b62d22bfba17d6dfef2f443c1500b450a] [formerly 93bff37d83bad8297647c88c0b42afe81ed277e7 [formerly 08274c78a878dba3fa13551e009ca7aba6528beb]]
Former-commit-id: f66285070e26f0193e87c728c4a0d3913e9a6868 [formerly 85e3eb7005d566d372945751835e29205ff816b4]
Former-commit-id: deff595044d44ac83b2a5c920a64abb2d97054f5
2019-08-03 17:56:46 +00:00
Larry 2923dcb29e cleanup
Former-commit-id: e07760fc7d26da17e730eaad224b808d0b6899d0 [formerly 89fcd1cc4ee944a83c8a8c166fb55b0682bd43a4] [formerly a48cfface56ca26a6b83663010f16fa544555080 [formerly e1ca61c9c99138bbcc89b34747ac3e0966e20a81]]
Former-commit-id: 1dcce1aecaff9234c70dce9f4688c5e74446783a [formerly eca86efc497a3726b9bfc3c68b2e8b07cfe99af7]
Former-commit-id: 3cf61dcf2d8de6ec9cacb855fc6684e6b79cafa3
2017-10-23 09:54:45 -05:00
Larry 409a79b6f4 typo
Former-commit-id: 97d6e42211dee7f56a1ebc156a90f5e2302b543e [formerly d0e86994ddb0df9bd257311236ca3b31ca43904f] [formerly 8275d84bb196db163a62afcb9f109cd31ca56898 [formerly ea3e7f45733e79ecf5b998225b76d0b94013b11a]]
Former-commit-id: 580b4f3cbe072419d20c68a6083aadb8fd62d458 [formerly 6233bb89e7e3ad6f618e5fceb4b3b9fa551d9ce8]
Former-commit-id: 6f42c7cb1f93f2bc383096ec51a3323d68c83408
2017-10-18 09:13:35 -05:00
Larry 2e6fb187da update readme
Former-commit-id: f10042231e7d42882a176bd463d74677ae0be44c [formerly a6d8039f15104a557c1d046dea2bc4f67d361364] [formerly f283ce761a7181cf5e7301be648a641984263ae6 [formerly 92be70e359c3305fa1ddcc4906440e21e3ef106e]]
Former-commit-id: c05ae51bd02bc23706a9d8f0905e301be41209ed [formerly fb833afe18ad34c0ba01461076fa6b651fa7e070]
Former-commit-id: af501f4872ac8e7218bd9738d34edecf73d06085
2017-10-18 09:06:16 -05:00
Larry 0272e4cd62 play with commenting, not sure if I like this style
Former-commit-id: 70337c90fb169355e9a5d09a3d8964752b96175a [formerly 46582421d71d9fea0ebc512bb8632edff788aa0f] [formerly 70b94f0da323fcc4dce9c4962fc57961a2a87c8c [formerly 6b5dbf9e08758a198444a400a30798fc8e12c273]]
Former-commit-id: 279a20483b9c8a1605006a43b71a6344714512a1 [formerly 6e5ac6ab6839f4753d6f78151c575c223c301316]
Former-commit-id: f225bf64cb452bb24bc328994e06976f91911928
2017-10-18 08:22:26 -05:00
Larry 3ac2c289b3 add some directives to make code decompile nicer with retdec.com
Former-commit-id: c9c82dc883804436ec1ff5a28c944b69f2b83691 [formerly 28f41d8ef7a2c00475f78586c733bc2281b74d52] [formerly 0ba66f98022092523713553bc20328069f73af96 [formerly 853a4e22d6840d49d45a27ab490ced76938791f7]]
Former-commit-id: 7cdd0a045ac2c9d69889a41dc6d3a9671b487309 [formerly 33c50a0cb6f38f8b5cad05523dfebcd14ab7b8a9]
Former-commit-id: 50ae1f083f704344bec3a92f08f51f24773a2237
2017-09-10 11:52:58 -05:00
Larry f9850effe2 rename some things, use label to represent registers and stack. TBH I should just start converting to C instead...
Former-commit-id: 3b2958fdef7f2d0f6c84e7ac6eed0f2b9712987a [formerly 138e8cf5e23463405a08320a4cda47b98d1c75a7] [formerly 38c6570b65045da4c04e5cc88e5f0efc7d7f05c9 [formerly 79cd50092176535dda58fbdf49666098af601815]]
Former-commit-id: 625f781133b2de186fc3016adad32d8b5eb22186 [formerly 1e2ea85816ac011e066a1ec5e3a93e26dfe87921]
Former-commit-id: 369759e7672b829e8a6e0bb2fd8353300ab78c03
2017-09-02 08:32:45 -05:00
Larry 90783b7146 label rarezip_asm_rom_start
Former-commit-id: c283a15ba792d3a7003d2f4e4d9e2aa42e259a44 [formerly bd3d4475eb931a03313a19b97f6f854e125af25d] [formerly a4fbb31db037bf9d8356924ef17d6a2a7c9cfea3 [formerly be465068f58eebe949a2e4cadbb4d4e6469a19e5]]
Former-commit-id: 6a785d403e85b6cca5ca0b9791e1a9c893025547 [formerly ddb057d4e2f9bc2af55f71d64aa502e4316b6ec5]
Former-commit-id: b4deacea0e54e1f9fa29d95b48ab610c682b85d4
2017-09-01 15:10:16 -05:00