Created
September 28, 2019 03:34
-
-
Save iamgreaser/c3130ab87bedf1b1041c814db08be1e4 to your computer and use it in GitHub Desktop.
preliminary zzt + superz memory maps
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 0C7B: ZZT (?purpose?) | |
// 0C7B:2085: find_stat_index_at | |
// | |
// 14D3: Pascal runtime? | |
// 14D3:0244: _TMP__ENSURE_STACK_FASTCALL | |
// 14D3:0329: AllocMem | |
// 14D3:0341: Freemem | |
// data+bss: | |
// - GAP - | |
// 168D:1E5C:uint8_t[8]: FOREST_TONE_TABLE | |
// - GAP - | |
// 168D:232E:uint16_t: PRNG_SEED_LO | |
// 168D:2320:uint16_t: PRNG_SEED_HI | |
// - GAP - | |
// 168D:2334:int16_t: FOREST_TONE_INDEX | |
// - GAP - | |
// 168D:2BEB:{type,color}[x in 98?][y in 82]: map | |
// - 168D:2BEB: THIS_BOARD.MAP.TYPES | |
// - 168D:2BEC: THIS_BOARD.MAP.COLORS | |
// 168D:6AB3 - end of THIS_BOARD.MAP! | |
// 168D:6AB3:int16_t: LAST_STAT_INDEX | |
// 168D:6AB5:25|0x19: STAT_TABLE | |
// 168D:6AB5:uint8_t :0x0 : STAT_TABLE[0].X -- PLAYER_X | |
// 168D:6AB6:uint8_t :0x1 : STAT_TABLE[0].Y -- PLAYER_Y | |
// 168D:6AB7:int16_t :0x2 : STAT_TABLE[0].STEP_X -- PLAYER_STEP_X | |
// 168D:6AB9:int16_t :0x4 : STAT_TABLE[0].STEP_Y -- PLAYER_STEP_Y | |
// 168D:6ABB:int16_t :0x6 : STAT_TABLE[0].CYCLE -- PLAYER_CYCLE | |
// 168D:6ABD:uint8_t :0x8 : STAT_TABLE[0].P1 -- PLAYER_P1 | |
// 168D:6ABE:uint8_t :0x9 : STAT_TABLE[0].P2 -- PLAYER_P2 | |
// 168D:6ABF:uint8_t :0xa : STAT_TABLE[0].P3 -- PLAYER_P3 | |
// 168D:6AC0:int16_t :0xb : STAT_TABLE[0].FOLLOWER -- PLAYER_FOLLOWER | |
// 168D:6AC2:int16_t :0xd : STAT_TABLE[0].LEADER -- PLAYER_LEADER | |
// 168D:6AC4:uint8_t :0xf : STAT_TABLE[0].UNDER.TYPE -- PLAYER_UNDER.TYPE | |
// 168D:6AC5:uint8_t :0x10: STAT_TABLE[0].UNDER.COLOR -- PLAYER_UNDER.COLOR | |
// 168D:6AC6:uint16_t:0x11: STAT_TABLE[0].RUNPTR -- PLAYER_RUNPTR | |
// 168D:6AC8:uint16_t:0x13: STAT_TABLE[0].RUNSEG -- PLAYER_RUNSEG | |
// 168D:6ACA:int16_t :0x15: STAT_TABLE[0].CODEPC -- PLAYER_CODEPC | |
// 168D:6ACC:int16_t :0x17: STAT_TABLE[0].CODELEN -- PLAYER_CODELEN | |
// 168D:6ACE: next round! | |
// 168D:774E - exclusive end of STAT_TABLE? | |
// 168D:7767 - real exclusive end of STAT_TABLE? | |
// 168D:7767:uint8_t: THIS_BOARD.MAX_PLAYER_SHOTS | |
// 168D:7768:uint8_t: THIS_BOARD.EXITS.NORTH | |
// 168D:7769:uint8_t: THIS_BOARD.EXITS.SOUTH | |
// 168D:776A:uint8_t: THIS_BOARD.EXITS.WEST | |
// 168D:776B:uint8_t: THIS_BOARD.EXITS.EAST | |
// 168D:776C:uint8_t: THIS_BOARD.RESTART_ON_ZAP | |
// 168D:776D:uint8_t: THIS_BOARD.PLAYER_ENTER_X | |
// 168D:776E:uint8_t: THIS_BOARD.PLAYER_ENTER_Y | |
// 168D:776F:int16_t: THIS_BOARD.CAMERA_X | |
// 168D:7771:int16_t: THIS_BOARD.CAMERA_Y | |
// 168D:7773:int16_t: THIS_BOARD.TIME_LIMIT | |
// - GAP - | |
// 168D:7784:int16_t: ??? (max 32) | |
// 168D:7786:farptr: BOARD_POINTERS[33].PTR | |
// 168D:7788:farptr: BOARD_POINTERS[33].SEG | |
// 168D:780A:int16_t: BOARD_LENGTHS[33] | |
// 168D:784C:int16_t: PLAYER_AMMO | |
// 168D:784E:int16_t: PLAYER_GEMS | |
// 168D:7850:int16_t: PLAYER_KEYS[7] - often offset by -1 | |
// 168D:7857:int16_t: PLAYER_HEALTH | |
// 168D:7859:int16_t: CURRENT_BOARD_INDEX | |
// 168D:785B:int16_t: ??? | |
// 168D:785D:int16_t: PLAYER_ENERGIZED_TICKS | |
// 168D:785F:int16_t: ??? | |
// 168D:7861:int16_t: PLAYER_SCORE | |
// - GAP - | |
// 168D:79C8:int16_t: TIME_LIMIT_CONSUMED | |
// 168D:79CA:int16_t: ??? | |
// 168D:79CC:uint8_t: WORLD_IS_SAVE_FILE | |
// 168D:79CD:int16_t: PLAYER_STONES | |
// - GAP - | |
// 168D:7CA6:farptr: MAP_???.PTR | |
// 168D:7CA8:farptr: MAP_???.SEG | |
// 168D:7CAA:|0xC2:ELEMENT_TYPES[0x4f] | |
// 168D:7CAA:: | |
// 168D:B888:: End of array | |
// - GAP - | |
// 168D:B958:int16_t: GLOBAL_TICK_COUNT | |
// 168D:B95A:int16_t: ACTIVE_STAT_INDEX |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 135B: Pascal runtime 1 | |
// 13BD: Pascal runtime 2 | |
// 13BD:0244: _TMP__ENSURE_STACK_FASTCALL | |
// 13BD:0329: AllocMem | |
// 13BD:0341: Freemem | |
// data+bss: | |
// TODO: - GAP - | |
// 156D:046C:uint16_t: PRNG_SEED_LO | |
// 156D:046E:uint16_t: PRNG_SEED_HI | |
// TODO: - GAP - | |
// 156D:24BD:{type,color}[x in 62?][y in 27]: map | |
// - 156D:24BD: THIS_BOARD.MAP.TYPES | |
// - 156D:24BE: THIS_BOARD.MAP.COLORS | |
// 156D:31D1 - end of THIS_BOARD.MAP! | |
// 156D:31D1:int16_t: LAST_STAT_INDEX | |
// 156D:31D3:33|0x21: STAT_TABLE | |
// 156D:31D3:uint8_t :0x0 : STAT_TABLE[0].X -- PLAYER_X | |
// 156D:31D4:uint8_t :0x1 : STAT_TABLE[0].Y -- PLAYER_Y | |
// 156D:31D5:int16_t :0x2 : STAT_TABLE[0].STEP_X -- PLAYER_STEP_X | |
// 156D:31D7:int16_t :0x4 : STAT_TABLE[0].STEP_Y -- PLAYER_STEP_Y | |
// 156D:31D9:int16_t :0x6 : STAT_TABLE[0].CYCLE -- PLAYER_CYCLE | |
// 156D:31DB:uint8_t :0x8 : STAT_TABLE[0].P1 -- PLAYER_P1 | |
// 156D:31DC:uint8_t :0x9 : STAT_TABLE[0].P2 -- PLAYER_P2 | |
// 156D:31DD:uint8_t :0xa : STAT_TABLE[0].P3 -- PLAYER_P3 | |
// 156D:31DE:int16_t :0xb : STAT_TABLE[0].FOLLOWER -- PLAYER_FOLLOWER | |
// 156D:31E0:int16_t :0xd : STAT_TABLE[0].LEADER -- PLAYER_LEADER | |
// 156D:31E2:uint8_t :0xf : STAT_TABLE[0].UNDER.TYPE -- PLAYER_UNDER.TYPE | |
// 156D:31E3:uint8_t :0x10: STAT_TABLE[0].UNDER.COLOR -- PLAYER_UNDER.COLOR | |
// 156D:31E4:uint16_t:0x11: STAT_TABLE[0].RUNPTR -- PLAYER_RUNPTR | |
// 156D:31E6:uint16_t:0x13: STAT_TABLE[0].RUNSEG -- PLAYER_RUNSEG | |
// 156D:31E8:int16_t :0x15: STAT_TABLE[0].CODEPC -- PLAYER_CODEPC | |
// 156D:31EA:int16_t :0x17: STAT_TABLE[0].CODELEN -- PLAYER_CODELEN | |
// 156D:31F4: next round! | |
// 156D:454A - exclusive end of STAT_TABLE? | |
// 156D:4552 - 0x13 bytes for ? | |
// 156D:455F - ? | |
// 156D:4560 - ? | |
// 156D:4564 - 0x?? bytes for ? | |
// 156D:4569 - ? | |
// 156D:456B - real exclusive end of STAT_TABLE? | |
// 156D:456B:uint8_t: ? | |
// 156D:456B:uint8_t: THIS_BOARD.MAX_PLAYER_SHOTS | |
// 156D:456C:uint8_t: THIS_BOARD.IS_DARK | |
// 156D:456D:uint8_t: THIS_BOARD.EXITS.NORTH | |
// 156D:456E:uint8_t: THIS_BOARD.EXITS.SOUTH | |
// 156D:456F:uint8_t: THIS_BOARD.EXITS.WEST | |
// 156D:4570:uint8_t: THIS_BOARD.EXITS.EAST | |
// 156D:4571:uint8_t: THIS_BOARD.RESTART_ON_ZAP | |
// 156D:4572:pstring[58]: THIS_BOARD.MESSAGE | |
// 156D:45AD:uint8_t: THIS_BOARD.PLAYER_ENTER_X | |
// 156D:45AE:uint8_t: THIS_BOARD.PLAYER_ENTER_Y | |
// 156D:45AF:int16_t: THIS_BOARD.TIME_LIMIT | |
// TODO: - GAP - | |
// 156D:45B5: buffer? | |
// TODO: - GAP - | |
// 156D:45B8: buffer? | |
// TODO: - GAP - | |
// 156D:45C1: buffer? | |
// 156D:45C2:int16_t: ??? (max 100 - board count?) | |
// 156D:45C4:|0x04: BOARD_POINTERS[101] | |
// 156D:45C4:farptr: 0x00: BOARD_POINTERS[101].PTR | |
// 156D:45C6:farptr: 0x02: BOARD_POINTERS[101].SEG | |
// 156D:4758:int16_t: BOARD_LENGTHS[101] | |
// 156D:4822:int16_t: PLAYER_AMMO | |
// 156D:4824:int16_t: PLAYER_GEMS | |
// 156D:4826:int16_t: PLAYER_KEYS[7] - often offset by -1 | |
// 156D:482D:int16_t: PLAYER_HEALTH | |
// 156D:482F:int16_t: CURRENT_BOARD_INDEX | |
// 156D:4831:int16_t: PLAYER_TORCH_TICKS | |
// 156D:4833:int16_t: PLAYER_TORCH_TICKS | |
// 156D:4835:int16_t: PLAYER_ENERGIZED_TICKS | |
// 156D:4837:int16_t: ??? | |
// 156D:4839:int16_t: PLAYER_SCORE | |
// 156D:483B:pstring[20]: WORLD_NAME ? | |
// 156D:4850:pstring[10][20]: WORLD_FLAGS | |
// 156D:4922: ? | |
// 156D:4922:int16_t: TIME_LIMIT_CONSUMED | |
// 156D:4924:int16_t: ??? | |
// 156D:4926:uint8_t: WORLD_IS_SAVE_FILE | |
// TODO: - GAP - | |
// 156D:4AD4:farptr: MAP_???.PTR | |
// 156D:4AD6:farptr: MAP_???.SEG | |
// 156D:4AD8:|0xC3:TYPE_TABLE[0x35] | |
// 156D:4AD8:uint8_t : 0x0: TYPE_TABLE[0].CHAR | |
// 156D:4AD9:uint8_t : 0x1: TYPE_TABLE[0].COLOR | |
// 156D:4ADA:uint8_t : 0x2: TYPE_TABLE[0].IS_DESTRUCTIBLE | |
// 156D:4ADB:uint8_t : 0x3: TYPE_TABLE[0].IS_PUSHABLE | |
// 156D:4ADC:uint8_t : 0x4: TYPE_TABLE[0].IS_VISIBLE_WHEN_DARK | |
// 156D:4ADD:uint8_t : 0x5: TYPE_TABLE[0].IS_EDITOR_FLOOR | |
// 156D:4ADE:uint8_t : 0x6: TYPE_TABLE[0].IS_FLOOR | |
// 156D:4ADF:uint8_t : 0x7: TYPE_TABLE[0].IS_SPECIAL_DRAW | |
// 156D:4AE0:uint16_t: 0x8: TYPE_TABLE[0].DRAW.IP | |
// 156D:4AE2:uint16_t: 0xA: TYPE_TABLE[0].DRAW.CS | |
// 156D:4AE4: int16_t: 0xC: TYPE_TABLE[0].CYCLE | |
// 156D:4AE6:uint16_t: 0xE: TYPE_TABLE[0].ACT.IP | |
// 156D:4AE8:uint16_t:0x10: TYPE_TABLE[0].ACT.CS | |
// 156D:4AEA:uint16_t:0x12: TYPE_TABLE[0].TOUCH.IP | |
// 156D:4AEC:uint16_t:0x14: TYPE_TABLE[0].TOUCH.CS | |
// 156D:4AEE:uint16_t:0x16: ??? | |
// 156D:4AF0:uint8_t :0x18: ??? | |
// 156D:4B9B: -- next round! | |
// 156D:602C:uint8_t : 0x0: TYPE_TABLE[0x1C].CHAR -- invisible wall | |
// 156D:602D:uint8_t : 0x1: TYPE_TABLE[0x1C].COLOR | |
// 156D:7337:: End of array | |
// 156D:73FA:: Real end of array | |
// 156D:73FA: int16_t: ??? | |
// 156D:73FC:uint8_t : ??? UNUSED? | |
// 156D:73FD:uint8_t : ??? UNUSED? | |
// 156D:73FE:uint8_t : ??? UNUSED? | |
// 156D:73FF:uint8_t : ??? UNUSED? | |
// 156D:7400:uint8_t : ??? UNUSED? | |
// - SEEMINGLY UNUSED GAP - | |
// 156D:7406: int16_t: ??? | |
// 156D:7408: int16_t: GLOBAL_TICK_COUNT | |
// 156D:740A: int16_t: ??? | |
// 156D:740C:uint8_t : ??? | |
// 156D:740D:uint8_t : ??? UNUSED? | |
// 156D:740E: --??-- : ??? | |
// 156D:7410:uint8_t : ??? | |
// 156D:7411:uint8_t : ??? (temp storage for A12A) | |
// - GAP - | |
// 156D:88C6: int16_t: ??? | |
// 156D:88C8: int16_t: ??? | |
// 156D:88CA:uint8_t : ??? | |
// 156D:88CB:uint8_t : ??? | |
// 156D:88CC:uint8_t : ??? | |
// 156D:88CD:uint8_t : ??? | |
// 156D:88CE:uint8_t : ??? | |
// 156D:88CF: --??-- : ??? | |
// 156D:88D0: int16_t: ??? | |
// 156D:88D2: int16_t: ??? | |
// 156D:88D4: int16_t: ??? | |
// 156D:88D6: int16_t: ??? | |
// 156D:88D8: int16_t: ??? | |
// 156D:88DA: int16_t: ??? | |
// 156D:88DC:uint8_t : ??? | |
// 156D:88DD: --??-- : ??? | |
// 156D:88DE: int16_t: ??? | |
// 156D:88E0: int16_t: ??? | |
// - GAP - | |
// 156D:8D06: int16_t: ??? (joystick-related) | |
// - GAP - | |
// ????:A125:uint8_t : ??? | |
// ... | |
// ????:A12A:uint8_t : ??? | |
// ... | |
// ????:A12C: int16_t: ??? | |
// ????:A12E: int16_t: ??? | |
// ... | |
// ????:A134:uint8_t : ??? | |
// ????:A135:uint8_t : ??? | |
// ????:A136:uint8_t : ??? | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment