Alchemy
Loading...
Searching...
No Matches

Assembly

The assembly that is code or engine tables: handwritten routines, far-call and overlay tables, the cartridge header.

Doxygen does not read assembly, so each links to its file. The rest is wrappers that place a picture, a map or a table the build encodes, and each overlay's entry and import tables.

File What it is
src/battle/advarrow.s
src/battle/battle_calc.s Percentages by distance from the chosen target (0 is the target itself),
src/battle/battle_data.s
src/battle/battle_vars.s
src/battle/presentation/highlight_ramp.s BLDY values, the same in both games; each game's battle_vars.s includes them
src/effect/battle_effect_composite.s The pieces BattleFx_BuildBlitter (parts/blitter.c) builds canvas blitters
src/effect/battle_effect_composite_color.s The colour fragments BattleFx_BuildBlitter (parts/blitter.c) builds canvas
src/field/layered.s
src/field/remap.s
src/field/scenes.s
src/game/actions.s
src/game/artifact_slots.s
src/game/chars.s
src/game/classes.s
src/game/djinn_table.s
src/game/element_curve.s The element power and resistance curve, the same in both games: pairs of
src/game/element_table.s
src/game/enemies.s
src/game/experience_table.s
src/game/item_table.s
src/game/summons.s
src/menu/keyboard.s Name entry keyboard: same as the Japanese gNameEntry_KeyboardTilemap.
src/menu/menustr.s
src/object/arcspark.s
src/object/location_rules.s The encounter zones of field scenes (Encounter_SelectSceneZones).
src/object/scene_rules.s
src/object/scripts.s
src/object/swatch.s
src/runtime/q16_dot_product.s C2: smull r12, r0, r1, r0 and both smlal r12, r0, r2, r3 keep the 64-bit sum
src/runtime/trig.s C2: Trig_SinOnAxis to Trig_Sin:
src/shop/shopspr.s
src/sound/channel_update_entry.s C2: MusicPlayer2000's shared call_r3 helper supplies the bx r3 hook entry.
src/sound/clear_buffer.s C2: SoundDriver_ClearBuffer:
src/sound/mixer.s C2: Thumb entry switches to ARM within its body; mixed-mode blocks also use
src/sound/umul_high.s C2: Audio_UmulHigh32:
src/system/cpu_set.s C2: Bios_CpuSet to Bios_SoundBiasOff:
src/system/entry.s C2: System_Entry:
src/system/ewram.s
src/system/far_call/BATTLE.S Battle state, unit motion and presentation services.
src/system/far_call/BLANK_LOAD.S The reel-game entry point.
src/system/far_call/BLANK_RUN.S The display-blanked callback runner.
src/system/far_call/EFFECT.S Battle-effect dispatch, drawing and presentation setup.
src/system/far_call/FIELD.S Field actors, movement, map drawing and scene services.
src/system/far_call/GAME.S Party members, items, Djinn and game-state operations.
src/system/far_call/MENU.S Party menus and their interactive selection screens.
src/system/far_call/OBJECT.S Scene events, field Psynergy, objects and effect lifecycles.
src/system/far_call/PALETTE.S Title, introduction and splash-screen presentation.
src/system/far_call/RESOURCE.S Resource animation metadata lookup.
src/system/far_call/RUNTIME.S Frame scheduling, memory, resources and core runtime services.
src/system/far_call/SCROLL.S The scrolling slideshow entry point.
src/system/far_call/SHOP.S Shops, inns and the cursors used by their screens.
src/system/far_call/SOUND.S Audio mixing, playback commands and music-player updates.
src/system/far_call/WINDOW.S Window construction, text drawing and selection interfaces.
src/system/heapfree.s C2: Runtime_ReleaseHeapBlock branches on lsrs flags without cmp/cmn;
src/system/iwram.s
src/system/iwram_entry.s C2: IwramEntry emits aligned 8-byte Thumb ldr r3/bx r3/target-word stubs.
src/system/iwram_hi.s
src/system/overlay.s A far-call stub, 8 bytes: it loads target's address into r4 and jumps to
src/system/overlay/overlays.s Each overlay's code and data is one compressed directory resource.
src/system/overlay/ovl_36f.s
src/system/overlay/ovl_37a.s
src/system/overlay/ovl_381.s
src/system/overlay/ovl_394.s
src/system/overlay/ovl_395.s
src/system/overlay/ovl_3a4.s
src/system/overlay/ovl_3a5.s
src/system/overlay/ovl_3a8.s
src/system/overlay/ovl_3ba.s
src/system/overlay/ovl_3bb.s
src/system/overlay/ovl_3bc.s
src/system/resource/animdata.s
src/system/resource/colconv.s
src/system/resource/decode_01.s C2: Resource_DecodeType01Arm:
src/system/resource/decode_byte_lz.s C2: Resource_DecodeByteLzArm:
src/system/resource/directory.s
src/system/rom_head.s
src/system/runtime.s C2: mrs SPSR; IRQ dispatcher restores SPSR and CPU modes.
src/system/runtime_irq_table.s C2: the ARM loop uses svc 0x00030000, a software
src/system/runtime_mix.s C2: Thumb-to-ARM mode switch within the live mixer; fp holds volume/sample
src/system/runtime_mix_interpolate.s C2: IwramSoundMixInterpolated to IwramSoundMixDone:
src/system/runtime_mix_mask.s
src/system/runtime_mix_render.s C2: IwramSoundRenderFrame to IwramSoundSynthWave:
src/system/runtime_mix_state.s
src/system/runtime_mul_q16_ip.s C2: IwramMulQ16ReturnIp:
src/system/save/flashat.s
src/system/save/flashmx.s
src/system/save/flashset.s
src/system/save/flashsst.s
src/system/save/flashtab.s
src/system/sound_get_jump_list.s C2: svc 42 is a BIOS software interrupt.
src/system/syspal.s
src/system/updfar.s C2: Three independent ARM functions share one trailing literal pool;
src/window/cursor.s
src/window/cursor_frame.s
src/window/fixed_block.s
src/window/keyboard.s
src/window/slider.s
src/window/slidpal.s
src/window/windata.s