From 2501dc4ecbfc45170a84503a90eb15f5770e6918 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Fri, 2 Sep 2016 00:00:39 -0400 Subject: bombs and level maps --- mklevelinfo.pl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'mklevelinfo.pl') diff --git a/mklevelinfo.pl b/mklevelinfo.pl index 2e481e1..a95bc10 100644 --- a/mklevelinfo.pl +++ b/mklevelinfo.pl @@ -16,17 +16,21 @@ 17 => [ 2, 'time_bonus', 'amount of time bonus at start of level' ], 19 => [ 1, 'offs', 'always $00' ], 20 => [ 2, 'unkn_table0', 'pointer to ROM table or $06xx' ], - 22 => [ 2, 'map0', 'map data' ], - 24 => [ 2, 'map1', 'map data' ], - 26 => [ 2, 'bomblist', 'addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.' ], + 22 => [ 2, 'map', 'used to draw the level initially (see also map_changes)' ], + 24 => [ 2, 'map_bombs', 'start of bombs in map data (which must come last!)' ], + 26 => [ 2, 'bomblist', 'addr of list of bombs, indexed by player position on coarse 8x8 grid. 2 bytes each, 1st is coarse-grid position, 2nd is: hi 4 bits = change_map index, lo 4 = indirect sub (unused). terminated by $FF.' ], 28 => [ 2, 'map_changes', 'address of list of addresses of map data, used for changing the map when certain bombs are picked up' ], - 30 => [ 2, 'offs', 'always $0000' ], + 30 => [ 2, 'indirect_subs', 'pointer to list of indirect subs, always $0000 in this game' ], 32 => [ 2, 'sub_bomb', 'called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine' ], 34 => [ 2, 'sub_start', 'called at start of level, $06E6 for some levels, or else a ROM subroutine' ], 36 => [ 2, 'sub6', 'always $9740 aka game_main_loop' ], 38 => [ 2, 'sub_eol', 'called at end of level (all bombs picked up). $06E6 for all but level07' ], 40 => [ 6, 'offs', 'all zeroes' ], - 46 => [ 9, 'offs', 'unknown' ], + 46 => [ 1, 'colpf3', 'color (not sure what gets drawn in this color yet)' ], + 47 => [ 1, 'colpf0', 'color for girders and up-ropes' ], + 48 => [ 1, 'colpf1', 'color for ladders and down-ropes' ], + 49 => [ 1, 'colpf2', 'color for bombs' ], + 50 => [ 5, 'offs', 'unknown' ], 55 => [ 3, 'offs', 'unknown, always $00 $00 $00' ], 58 => [ 2, 'offs', 'unknown, not a ROM address' ], 60 => [ 4, 'offs', 'unknown, level05 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00' ], -- cgit v1.2.3