Comment some bank 0 functions, and add wram labels for Predef.
Use a dedicated label for base stats.

The existing {Bulbasaur,Ivysaur,...}BaseStats labels are for convenience.
More complete hardware constants. Rename joypad constants.
Comment some more bank 0 functions.
Rename random number function and hram labels.

GenRandom -> Random
GenRandomInBattle -> BattleRandom
H_RAND1 -> hRandomAdd
H_RAND2 -> hRandomSub
Rename engine/rng.asm to engine/random.asm.
Organize file includes in banks 4 through 1e.
Use global labels for pics.
Clean up some bank 3 functions and rename flag action functions.
Move bank 0 into home.asm.
Rename joypad registers.
Rename GetJoypadState -> Joypad.
Label BCD math predefs.
Split out map sprite facing data.
Try to clean up PrepareOAMData.
Split out overworld object movement.
Split out item fragment code.
Recomment LoadMonData_.
Don't hardcode wram sections (except for alignment).

Sprite buffers must be aligned to the nearest $100, so these sections are explicitly defined.
Remove most static wram addresses. Use labels instead.

For unknown addresses, use "w<address>".

Label overleads are still an issue.