Add object names to the labels for the ucode strings
authorNick Downing <nick@ndcode.org>
Fri, 24 Jun 2022 12:30:38 +0000 (22:30 +1000)
committerNick Downing <nick@ndcode.org>
Fri, 24 Jun 2022 13:30:15 +0000 (23:30 +1000)
disasm/item_len.py [new file with mode: 0755]
disasm/star_blazer.asm.patch
disasm/star_blazer.txt

diff --git a/disasm/item_len.py b/disasm/item_len.py
new file mode 100755 (executable)
index 0000000..7602852
--- /dev/null
@@ -0,0 +1,23 @@
+#!/usr/bin/env python3
+
+import sys
+
+# calculates lengths of items in star_blazer.txt, used for ucode strings
+
+line0 = sys.stdin.readline()
+line1 = sys.stdin.readline()
+while len(line1):
+  assert line0[:2] == '0x'
+  assert line0[6:9] == ',0x'
+  assert line0[13:14] == ','
+
+  assert line1[:2] == '0x'
+  assert line1[6:9] == ',0x'
+
+  addr0 = int(line0[2:6], 16)
+  addr1 = int(line1[2:6], 16)
+  line0 = line0[:9] + f'{addr1 - addr0:04x}' + line0[13:]
+  sys.stdout.write(line0)
+
+  line0 = line1
+  line1 = sys.stdin.readline()
index 3cf441f..fe81e25 100644 (file)
@@ -1,5 +1,5 @@
---- star_blazer.asm0   2022-06-24 20:25:26.755991492 +1000
-+++ star_blazer.asm    2022-06-24 20:26:21.951990809 +1000
+--- star_blazer.asm0   2022-06-24 22:42:12.399889990 +1000
++++ star_blazer.asm    2022-06-24 22:43:07.007889315 +1000
 @@ -1,3 +1,8 @@
 +ALIGN = 0
 +DHGR = 1
 +.if ALIGN
 +      .ds     0x8e00 - 0x4000 - (. - data0_start)
 +.endif
- ucode1080_countdown_30:
+ ucode1080_countdown_30_pixel:
        .db     0x30                    ; 8e00 r
-       .db     0x0f                    ; 8e01
-@@ -24687,7 +24541,15 @@
-       .db     0x0a                    ; 95da
-       .db     0x00                    ; 95db
- ucode1080_animate_shape_6b:
-+.if 0 ; testing
-+      .db     0x73 ; radar0 shape
-+      .db     0x74 ; radar1 shape
-+      .db     0x75 ; radar2 shape
-+      .db     0x74 ; radar1 shape
-+      .db     0xf8 ; -> repeating
-+.else
-       .db     0x2c                    ; 95dc r
-+.endif
-       .db     0xf2                    ; 95dd
-       .db     0x2e                    ; 95de
-       .db     0xf3                    ; 95df
-@@ -24702,7 +24564,15 @@
-       .db     0x60                    ; 95e7
-       .db     0x00                    ; 95e8
- ucode1080_animate_shape_6c:
-+.if 0 ; testing
-+      .db     0x73 ; radar0 shape
-+      .db     0x74 ; radar1 shape
-+      .db     0x75 ; radar2 shape
-+      .db     0x74 ; radar1 shape
-+      .db     0xf8 ; -> repeating
-+.else
-       .db     0x2c                    ; 95e9 r
-+.endif
-       .db     0xf2                    ; 95ea
-       .db     0x2e                    ; 95eb
-       .db     0xf3                    ; 95ec
-@@ -24717,7 +24587,15 @@
-       .db     0x60                    ; 95f4
-       .db     0x00                    ; 95f5
- ucode1080_animate_shape_6d:
-+.if 0 ; testing
-+      .db     0x73 ; radar0 shape
-+      .db     0x74 ; radar1 shape
-+      .db     0x75 ; radar2 shape
-+      .db     0x74 ; radar1 shape
-+      .db     0xf8 ; -> repeating
-+.else
-       .db     0x2c                    ; 95f6 r
-+.endif
-       .db     0xf2                    ; 95f7
-       .db     0x2e                    ; 95f8
-       .db     0xf3                    ; 95f9
-@@ -26958,31 +26836,308 @@
-       .db     0x7c                    ; 9dea
-       .db     0x98                    ; 9deb
-       .db     0x00                    ; 9dec
+       .db     0x0f                    ; 8e01 r
+@@ -26958,31 +26812,308 @@
+       .db     0x7c                    ; 9dea r
+       .db     0x98                    ; 9deb r
+       .db     0x00                    ; 9dec r
 -recrack_loader:
 -      cld                             ; 09fd -> 9ded -> r
 -      ldx     #0xff                   ; 9dee r
  
        .area   udata2
  
-@@ -27065,3 +27220,4 @@
+@@ -27065,3 +27196,4 @@
  object6080_b560:
        .ds     0x20                    ; b560 rw
  
index 1aebf33..c256c01 100644 (file)
@@ -136,6 +136,38 @@ items
 0x0d38,0x0001,maybe_copy_one_of_arr_52a0_52e0_5320_5360_to_arr_b480,code
 0x0d5e,0x0001,calculate_object_direction,code
 0x0d6c,0x0001,calculate_object_shape,code
+# example: ucode1080_animate_shape_4d_headquarters_radar_icbm
+#              -> implied start of section 0xf0
+#      .db     0x72 headquarters shape
+#      .db     0xf2 -> start of section 0xf2
+#      .db     0x76 icbm shape
+#      .db     0xf1 -> start of section 0xf1
+#      .db     0x73 radar0 shape
+#      .db     0x74 radar1 shape
+#      .db     0x75 radar2 shape
+#      .db     0x74 radar1 shape
+#      .db     0xf9 -> repeating, & 0xf3 for start sentinel (0xf1)
+#      .db     0x00 sentinel
+# object1080_animate_shape_index + 0x4d holds the index into above table
+# loc_0da6 does a post-increment
+# loc_0daf controls wraparound when sentinel >= 0xf0 reached
+#   loc_0dac for 0xff
+#   loc_0db9 for 0xf8..0xfe (repeating, & 0xf3 for the start sentinel)
+#     0xf0..0xf3 value is poked into object1080_start_sentinel + object, and
+#     something happens when it changes, if object >= 0x60 ... then loc_0dcb
+#   loc_0dcb for 0xf0..0xf7
+#     scan the table from the beginning (except if sentinel was 0xf0)
+#       loc_0ddc when end of table is reached
+#       scan until we find the value at object1080_start_sentinel + object
+#   loc_0ddc a = table index where start sentinel was found (or end sentinel)
+#     update object1080_animate_shape_index with this index (causes the
+#     wrapping to restart the animation sequence) ... resume at loc_0da6
+# note: the ucode_pair routine seems implicated in launching this:
+# 0$:  ldy     object1080_start_sentinel - 0x10,x
+#      bpl     2$
+#      and     #0x03
+#      ora     #0xf0
+#      jmp     [vec_calculate_object_shape]
 0x0d81,0x0001,set_object_shape,code
 0x0de5,0x0001,calculate_direction_nibble,code
 0x0ebc,0x0001,set_decimal_0,code
@@ -589,560 +621,499 @@ items
 0x8ae5,0x004b,shape_e9_text_100_120_300_1500,byte
 0x8b30,0x005a,shape_d0_text_star,byte
 0x8b8a,0x007e,shape_d1_text_blazer,byte
-0x8e00,0x0001,ucode1080_countdown_30,byte
-0x8e03,0x0001,ucode4080_x_outside_61,byte
-0x8e06,0x0001,ucode1080_animate_shape_68,byte
-0x8e17,0x0001,ucode1080_animate_shape_30,byte
-0x8e1e,0x0001,ucode1080_animate_shape_31,byte
-0x8e25,0x0001,ucode1080_countdown_31,byte
-0x8e28,0x0001,ucode1080_animate_shape_32,byte
-0x8e2f,0x0001,ucode1080_countdown_32,byte
-0x8e32,0x0001,ucode1080_animate_shape_33,byte
-0x8e39,0x0001,ucode1080_countdown_33,byte
-0x8e3c,0x0001,ucode1080_animate_shape_34,byte
-0x8e43,0x0001,ucode1080_countdown_34,byte
-0x8e46,0x0001,ucode1080_animate_shape_35,byte
-0x8e4d,0x0001,ucode1080_countdown_35,byte
-0x8e50,0x0001,ucode1080_animate_shape_36,byte
-0x8e57,0x0001,ucode1080_countdown_36,byte
-0x8e5a,0x0001,ucode1080_animate_shape_37,byte
-0x8e61,0x0001,ucode1080_countdown_37,byte
-0x8e64,0x0001,ucode4080_x_outside_68,byte
-0x8e67,0x0001,ucode1080_animate_shape_38,byte
-0x8e6e,0x0001,ucode1080_countdown_38,byte
-0x8e71,0x0001,ucode1080_animate_shape_39,byte
-0x8e78,0x0001,ucode1080_countdown_39,byte
-0x8e7b,0x0001,ucode1080_animate_shape_3a,byte
-0x8e82,0x0001,ucode1080_countdown_3a,byte
-0x8e85,0x0001,ucode1080_animate_shape_3b,byte
-0x8e8c,0x0001,ucode1080_countdown_3b,byte
-0x8e8f,0x0001,ucode1080_animate_shape_69,byte
-0x8ea0,0x0001,ucode4080_x_outside_69,byte
-0x8ea3,0x0001,ucode1080_animate_shape_6a,byte
-0x8eb4,0x0001,ucode4080_x_outside_6a,byte
-0x8eb7,0x0001,ucode6080_fire_state_f0_68,byte
-0x8ec0,0x0001,ucode6080_fire_state_f0_69,byte
-0x8ec9,0x0001,ucode6080_fire_state_f0_6a,byte
-0x8ed2,0x0001,ucode4080_x_outside_44,byte
-0x8ed5,0x0001,ucode4080_x_outside_45,byte
-0x8ed8,0x0001,ucode4080_x_outside_46,byte
-0x8edb,0x0001,ucode1080_animate_shape_44,byte
-0x8ee6,0x0001,ucode1080_animate_shape_45,byte
-0x8ef1,0x0001,ucode1080_animate_shape_46,byte
-0x8efc,0x0001,ucode1080_animate_shape_14,byte
-0x8f05,0x0001,ucode1080_animate_shape_18,byte
-0x8f0e,0x0001,ucode1080_countdown_19,byte
-0x8f11,0x0001,ucode1080_animate_shape_1a,byte
-0x8f1a,0x0001,ucode1080_countdown_1a,byte
-0x8f1d,0x0001,ucode1080_animate_shape_1b,byte
-0x8f26,0x0001,ucode1080_countdown_1b,byte
-0x8f29,0x0001,ucode1080_animate_shape_1c,byte
-0x8f32,0x0001,ucode4080_x_outside_43,byte
-0x8f35,0x0001,ucode4080_x_outside_42,byte
-0x8f38,0x0001,ucode6080_test_fire_state_f1_61,byte
-0x8f3a,0x0001,ucode1080_collision_59,byte
-0x8f43,0x0001,ucode1080_collision_5a,byte
-0x8f4c,0x0001,ucode1080_collision_5b,byte
-0x8f55,0x0001,ucode4080_x_outside_41,byte
-0x8f58,0x0001,ucode4080_x_outside_48,byte
-0x8f5b,0x0001,ucode1080_animate_shape_48,byte
-0x8f5d,0x0001,ucode1080_animate_shape_70,byte
-0x8f5f,0x0001,ucode4080_x_outside_71,byte
-0x8f62,0x0001,ucode1080_animate_shape_4e,byte
-0x8f69,0x0001,ucode1080_countdown_4e,byte
-0x8f6c,0x0001,ucode1080_animate_shape_4f,byte
-0x8f73,0x0001,ucode1080_countdown_4f,byte
-0x8f76,0x0001,ucode1080_collision_58,byte
-0x8f7f,0x0001,ucode1080_collision_50,byte
-0x8f82,0x0001,ucode4080_x_outside_50,byte
-0x8f85,0x0001,ucode6080_test_fire_state_f0_61,byte
-0x8f87,0x0001,ucode1080_animate_shape_20,byte
-0x8f8c,0x0001,ucode1080_animate_shape_21,byte
-0x8f91,0x0001,ucode1080_animate_shape_22,byte
-0x8f96,0x0001,ucode1080_animate_shape_24,byte
-0x8f9b,0x0001,ucode1080_animate_shape_26,byte
-0x8fa0,0x0001,ucode6080_fire_state_f0_63,byte
-0x8fc1,0x0001,ucode1080_countdown_14,byte
-0x8fc4,0x0001,ucode1080_countdown_18,byte
-0x8fc7,0x0001,ucode1080_countdown_1c,byte
-0x8fca,0x0001,ucode1080_animate_shape_23,byte
-0x8fcf,0x0001,ucode1080_animate_shape_25,byte
-0x8fd4,0x0001,ucode1080_animate_shape_27,byte
-0x8fd9,0x0001,ucode1080_collision_5c,byte
-0x8fe2,0x0001,ucode1080_animate_shape_58,byte
-0x8ff7,0x0001,ucode1080_animate_shape_5a,byte
-0x900b,0x0001,ucode1080_animate_shape_5b,byte
-0x9021,0x0001,ucode1080_animate_shape_5c,byte
-0x9035,0x0001,ucode4080_x_outside_58,byte
-0x9038,0x0001,ucode4080_y_outside_58,byte
-0x904b,0x0001,ucode4080_x_outside_59,byte
-0x904e,0x0001,ucode4080_y_outside_59,byte
-0x9061,0x0001,ucode4080_x_outside_5a,byte
-0x9064,0x0001,ucode4080_y_outside_5a,byte
-0x9077,0x0001,ucode4080_x_outside_5b,byte
-0x907a,0x0001,ucode4080_y_outside_5b,byte
-0x908d,0x0001,ucode4080_x_outside_5c,byte
-0x9090,0x0001,ucode4080_y_outside_5c,byte
-0x90a3,0x0001,ucode1080_animate_shape_11,byte
-0x90a5,0x0001,ucode1080_animate_shape_10,byte
-0x90a7,0x0001,ucode1080_collision_5d,byte
-0x90b0,0x0001,ucode4080_x_outside_5d,byte
-0x90b3,0x0001,ucode4080_y_outside_5d,byte
-0x90c6,0x0001,ucode1080_animate_shape_5e,byte
-0x90da,0x0001,ucode1080_collision_5e,byte
-0x90e3,0x0001,ucode4080_x_outside_5e,byte
-0x90e6,0x0001,ucode4080_y_outside_5e,byte
-0x90f9,0x0001,ucode1080_animate_shape_5f,byte
-0x910f,0x0001,ucode1080_collision_5f,byte
-0x9118,0x0001,ucode4080_x_outside_5f,byte
-0x911b,0x0001,ucode4080_y_outside_5f,byte
-0x912e,0x0001,ucode6080_test_fire_state_f2_61,byte
-0x9130,0x0001,ucode4080_y_outside_61,byte
-0x9139,0x0001,ucode6080_test_fire_state_f3_61,byte
-0x913b,0x0001,ucode6080_fire_state_f3_61,byte
-0x913e,0x0001,ucode4080_x_outside_4d,byte
-0x9141,0x0001,ucode1080_collision_51,byte
-0x9144,0x0001,ucode4080_x_outside_51,byte
-0x9147,0x0001,ucode1080_collision_52,byte
-0x914a,0x0001,ucode4080_x_outside_52,byte
-0x914d,0x0001,ucode1080_animate_shape_47,byte
-0x914f,0x0001,ucode4080_x_outside_47,byte
-0x9152,0x0001,ucode6080_test_fire_state_f2_78,byte
-0x9155,0x0001,ucode6080_test_fire_state_f3_78,byte
-0x9158,0x0001,ucode1080_animate_shape_78,byte
-0x915a,0x0001,ucode6080_fire_state_f2_78,byte
-0x9163,0x0001,ucode1080_collision_test_10,byte
-0x9166,0x0001,ucode1080_animate_shape_7a,byte
-0x9168,0x0001,ucode1080_countdown_7a,byte
-0x9175,0x0001,ucode6080_test_fire_state_f2_7a,byte
-0x9178,0x0001,ucode6080_test_fire_state_f3_7a,byte
-0x917b,0x0001,ucode4080_x_outside_6b,byte
-0x917e,0x0001,ucode1080_animate_shape_59,byte
-0x9192,0x0001,ucode1080_animate_shape_5d,byte
-0x91a7,0x0001,ucode4080_y_outside_65,byte
-0x91aa,0x0001,ucode1080_animate_shape_62,byte
-0x91ac,0x0001,ucode1080_animate_shape_64,byte
-0x91b0,0x0001,ucode1080_collision_test_78,byte
-0x91b3,0x0001,ucode1080_collision_test_7a,byte
-0x91b6,0x0001,ucode1080_countdown_64,byte
-0x91b9,0x0001,ucode1080_animate_shape_60,byte
-0x91bb,0x0001,ucode1080_animate_shape_7f,byte
-0x91bd,0x0001,ucode6080_fire_state_f0_7f,byte
-0x91c0,0x0001,ucode6080_fire_state_f2_60,byte
-0x91c3,0x0001,ucode0010_init_or_zero_0d,byte
-0x91c8,0x0001,ucode6080_fire_state_f1_61,byte
-0x91e9,0x0001,ucode1080_animate_shape_12,byte
-0x91eb,0x0001,ucode1080_countdown_68,byte
-0x91ee,0x0001,ucode1080_countdown_69,byte
-0x91f1,0x0001,ucode1080_countdown_6a,byte
-0x91f4,0x0001,ucode1080_countdown_60,byte
-0x91f9,0x0001,ucode6080_fire_state_f1_60,byte
-0x91fc,0x0001,ucode1080_collision_44,byte
-0x9203,0x0001,ucode1080_collision_45,byte
-0x920a,0x0001,ucode1080_collision_46,byte
-0x9211,0x0001,ucode1080_collision_47,byte
-0x9218,0x0001,ucode1080_collision_48,byte
-0x921f,0x0001,ucode1080_collision_test_14,byte
-0x9222,0x0001,ucode1080_collision_14,byte
-0x922d,0x0001,ucode1080_collision_test_18,byte
-0x9230,0x0001,ucode1080_collision_test_1c,byte
-0x9233,0x0001,ucode1080_animate_shape_41,byte
-0x9237,0x0001,ucode1080_animate_shape_42,byte
-0x923b,0x0001,ucode1080_animate_shape_43,byte
-0x923f,0x0001,ucode6080_fire_state_f0_65,byte
-0x9242,0x0001,ucode6080_fire_state_f1_65,byte
-0x9245,0x0001,ucode6080_test_fire_state_f1_6b,byte
-0x9248,0x0001,ucode6080_fire_state_f1_6b,byte
-0x9253,0x0001,ucode6080_fire_state_f0_6b,byte
-0x9256,0x0001,ucode4080_x_outside_6c,byte
-0x9259,0x0001,ucode6080_fire_state_f0_6c,byte
-0x925c,0x0001,ucode6080_test_fire_state_f1_6c,byte
-0x925f,0x0001,ucode6080_fire_state_f1_6c,byte
-0x926a,0x0001,ucode4080_x_outside_6d,byte
-0x926d,0x0001,ucode6080_fire_state_f0_6d,byte
-0x9270,0x0001,ucode6080_test_fire_state_f1_6d,byte
-0x9273,0x0001,ucode6080_fire_state_f1_6d,byte
-0x927e,0x0001,ucode1080_collision_18,byte
-0x928b,0x0001,ucode6080_fire_state_f3_78,byte
-0x9294,0x0001,ucode1080_animate_shape_50,byte
-0x929a,0x0001,ucode1080_animate_shape_51,byte
-0x92a0,0x0001,ucode1080_animate_shape_52,byte
-0x92a6,0x0001,ucode4080_x_outside_70,byte
-0x92a9,0x0001,ucode4080_x_outside_53,byte
-0x92ac,0x0001,ucode4080_y_outside_53,byte
-0x92af,0x0001,ucode6080_fire_state_f1_71,byte
-0x92b2,0x0001,ucode4080_x_outside_72,byte
-0x92b5,0x0001,ucode1080_animate_shape_61,byte
-0x92bd,0x0001,ucode4080_y_outside_71,byte
-0x92c0,0x0001,ucode4080_y_outside_72,byte
-0x92cf,0x0001,ucode6080_fire_state_f3_71,byte
-0x92d2,0x0001,ucode1080_countdown_71,byte
-0x92d7,0x0001,ucode1080_countdown_58,byte
-0x92de,0x0001,ucode1080_countdown_59,byte
-0x92e5,0x0001,ucode1080_countdown_5a,byte
-0x92ec,0x0001,ucode1080_countdown_5b,byte
-0x92f3,0x0001,ucode1080_countdown_5c,byte
-0x92fa,0x0001,ucode1080_countdown_5d,byte
-0x9301,0x0001,ucode1080_countdown_5e,byte
-0x9308,0x0001,ucode1080_countdown_5f,byte
-0x930f,0x0001,ucode6080_test_fire_state_f0_6c,byte
-0x9312,0x0001,ucode6080_test_fire_state_f0_6b,byte
-0x9315,0x0001,ucode6080_test_fire_state_f0_6d,byte
-0x9318,0x0001,ucode1080_animate_shape_65,byte
-0x931c,0x0001,ucode1080_animate_shape_66,byte
-0x931e,0x0001,ucode1080_animate_shape_16,byte
-0x9327,0x0001,ucode1080_countdown_16,byte
-0x932a,0x0001,ucode1080_animate_shape_1e,byte
-0x9333,0x0001,ucode1080_countdown_1e,byte
-0x9336,0x0001,ucode1080_animate_shape_17,byte
-0x933f,0x0001,ucode1080_countdown_17,byte
-0x9342,0x0001,ucode1080_animate_shape_1f,byte
-0x934b,0x0001,ucode1080_countdown_1f,byte
-0x934e,0x0001,ucode1080_animate_shape_19,byte
-0x9357,0x0001,ucode1080_animate_shape_15,byte
-0x9360,0x0001,ucode1080_countdown_15,byte
-0x9363,0x0001,ucode1080_animate_shape_1d,byte
-0x936c,0x0001,ucode1080_countdown_1d,byte
-0x936f,0x0001,ucode1080_animate_shape_7c,byte
-0x9371,0x0001,ucode1080_collision_test_7c,byte
-0x9374,0x0001,ucode6080_test_fire_state_f2_7c,byte
-0x9377,0x0001,ucode6080_test_fire_state_f3_7c,byte
-0x937a,0x0001,ucode6080_fire_state_f3_65,byte
-0x9387,0x0001,ucode1080_animate_shape_79,byte
-0x9389,0x0001,ucode1080_collision_test_79,byte
-0x938c,0x0001,ucode6080_test_fire_state_f3_79,byte
-0x938f,0x0001,ucode1080_countdown_7f,byte
-0x93a0,0x0001,ucode6080_fire_state_f1_7f,byte
-0x93b1,0x0001,ucode1080_collision_test_64,byte
-0x93c1,0x0001,ucode1080_animate_shape_53,byte
-0x93cf,0x0001,ucode1080_animate_shape_54,byte
-0x93dd,0x0001,ucode4080_x_outside_54,byte
-0x93e0,0x0001,ucode4080_y_outside_54,byte
-0x93e3,0x0001,ucode1080_animate_shape_55,byte
-0x93f1,0x0001,ucode4080_x_outside_55,byte
-0x93f4,0x0001,ucode4080_y_outside_55,byte
-0x93f7,0x0001,ucode1080_animate_shape_56,byte
-0x9405,0x0001,ucode4080_x_outside_56,byte
-0x9408,0x0001,ucode4080_y_outside_56,byte
-0x940b,0x0001,ucode1080_animate_shape_57,byte
-0x9419,0x0001,ucode4080_x_outside_57,byte
-0x941c,0x0001,ucode4080_y_outside_57,byte
-0x941f,0x0001,ucode1080_collision_test_61,byte
-0x942a,0x0001,ucode1080_countdown_7c,byte
-0x9437,0x0001,ucode1080_animate_shape_2c,byte
-0x9439,0x0001,ucode6080_test_fire_state_f0_77,byte
-0x943c,0x0001,ucode4080_x_outside_6e,byte
-0x943f,0x0001,ucode6080_test_fire_state_f0_6e,byte
-0x9442,0x0001,ucode6080_fire_state_f0_6e,byte
-0x9445,0x0001,ucode6080_test_fire_state_f1_6e,byte
-0x9448,0x0001,ucode6080_fire_state_f1_6e,byte
-0x9453,0x0001,ucode4080_x_outside_6f,byte
-0x9456,0x0001,ucode6080_test_fire_state_f0_6f,byte
-0x9459,0x0001,ucode6080_fire_state_f0_6f,byte
-0x945c,0x0001,ucode6080_test_fire_state_f1_6f,byte
-0x945f,0x0001,ucode6080_fire_state_f1_6f,byte
-0x946a,0x0001,ucode6080_test_fire_state_f2_77,byte
-0x946d,0x0001,ucode6080_fire_state_f3_79,byte
-0x948c,0x0001,ucode1080_collision_1c,byte
-0x9497,0x0001,ucode1080_collision_6b,byte
-0x94aa,0x0001,ucode1080_collision_6c,byte
-0x94bd,0x0001,ucode1080_collision_6d,byte
-0x94d0,0x0001,ucode1080_collision_6e,byte
-0x94e3,0x0001,ucode1080_collision_6f,byte
-0x94f6,0x0001,ucode1080_collision_10,byte
-0x9511,0x0001,ucode1080_collision_72,byte
-0x951a,0x0001,ucode1080_collision_53,byte
-0x9527,0x0001,ucode1080_collision_54,byte
-0x9534,0x0001,ucode1080_collision_55,byte
-0x9541,0x0001,ucode1080_collision_56,byte
-0x954e,0x0001,ucode1080_collision_57,byte
-0x955b,0x0001,ucode4080_y_outside_70,byte
-0x955e,0x0001,ucode1080_animate_shape_28,byte
-0x9560,0x0001,ucode1080_countdown_28,byte
-0x9563,0x0001,ucode1080_collision_test_28,byte
-0x9565,0x0001,ucode1080_collision_28,byte
-0x9578,0x0001,ucode1080_countdown_61,byte
-0x957f,0x0001,ucode6080_test_fire_state_f1_7a,byte
-0x9582,0x0001,ucode6080_test_fire_state_f1_7c,byte
-0x9585,0x0001,ucode1080_animate_shape_7b,byte
-0x9587,0x0001,ucode1080_collision_test_7b,byte
-0x958a,0x0001,ucode6080_test_fire_state_f3_7b,byte
-0x958d,0x0001,ucode6080_fire_state_f2_7a,byte
-0x9596,0x0001,ucode1080_animate_shape_7d,byte
-0x9598,0x0001,ucode1080_countdown_7d,byte
-0x95ab,0x0001,ucode6080_fire_state_f0_7d,byte
-0x95b0,0x0001,ucode6080_fire_state_f1_7d,byte
-0x95b7,0x0001,ucode6080_fire_state_f2_7f,byte
-0x95c4,0x0001,ucode6080_fire_state_f2_7d,byte
-0x95d1,0x0001,ucode0010_init_or_zero_0e,byte
-# object 0x6b is helicopter_or_enemy_plane0
-# 54d6 = ucode1080_animate_shape + 0x6b * 2
-#              -> implied start of section 0xf0
-#      .db     0x2c helicopter shape
-#      .db     0xf2 -> start of section 0xf2
-#      .db     0x2e enemy_plane0 shape
-#      .db     0xf3 -> start of section 0xf3
-#      .db     0x2f enemy_plane1 shape
-#      .db     0x00 sentinel
-0x95dc,0x0001,ucode1080_animate_shape_6b,byte
-0x95e2,0x0001,ucode6080_homing_6b,byte
-# object 0x6c is helicopter_or_enemy_plane1
-# 54d8 = ucode1080_animate_shape + 0x6c * 2
-#              -> implied start of section 0xf0
-#      .db     0x2c helicopter shape
-#      .db     0xf2 -> start of section 0xf2
-#      .db     0x2e enemy_plane0 shape
-#      .db     0xf3 -> start of section 0xf3
-#      .db     0x2f enemy_plane1 shape
-#      .db     0x00 sentinel
-0x95e9,0x0001,ucode1080_animate_shape_6c,byte
-0x95ef,0x0001,ucode6080_homing_6c,byte
-# object 0x6d is helicopter_or_enemy_plane2
-# 54da = ucode1080_animate_shape + 0x6d * 2
-#              -> implied start of section 0xf0
-#      .db     0x2c helicopter shape
-#      .db     0xf2 -> start of section 0xf2
-#      .db     0x2e enemy_plane0 shape
-#      .db     0xf3 -> start of section 0xf3
-#      .db     0x2f enemy_plane1 shape
-#      .db     0x00 sentinel
-0x95f6,0x0001,ucode1080_animate_shape_6d,byte
-0x95fc,0x0001,ucode6080_homing_6d,byte
-0x9603,0x0001,ucode1080_animate_shape_6e,byte
-0x9609,0x0001,ucode6080_homing_6e,byte
-0x9610,0x0001,ucode1080_animate_shape_6f,byte
-0x9616,0x0001,ucode6080_homing_6f,byte
-0x961d,0x0001,ucode1080_countdown_44,byte
-0x9626,0x0001,ucode1080_countdown_45,byte
-0x962f,0x0001,ucode1080_countdown_46,byte
-0x9638,0x0001,ucode4080_y_outside_47,byte
-0x963b,0x0001,ucode4080_y_outside_48,byte
-0x963e,0x0001,ucode6080_test_fire_state_f3_6b,byte
-0x9641,0x0001,ucode6080_fire_state_f3_6b,byte
-0x9648,0x0001,ucode6080_test_fire_state_f3_6c,byte
-0x964b,0x0001,ucode6080_fire_state_f3_6c,byte
-0x9652,0x0001,ucode6080_test_fire_state_f3_6d,byte
-0x9655,0x0001,ucode6080_fire_state_f3_6d,byte
-0x965c,0x0001,ucode6080_test_fire_state_f3_6e,byte
-0x965f,0x0001,ucode6080_fire_state_f3_6e,byte
-0x9666,0x0001,ucode6080_test_fire_state_f3_6f,byte
-0x9669,0x0001,ucode6080_fire_state_f3_6f,byte
-0x9670,0x0001,ucode1080_animate_shape_73,byte
-0x9676,0x0001,ucode1080_collision_73,byte
-0x9679,0x0001,ucode1080_animate_shape_2f,byte
-0x967b,0x0001,ucode4080_x_outside_73,byte
-0x967e,0x0001,ucode1080_animate_shape_74,byte
-0x9684,0x0001,ucode1080_collision_74,byte
-0x9687,0x0001,ucode4080_x_outside_74,byte
-0x968a,0x0001,ucode1080_animate_shape_75,byte
-0x9690,0x0001,ucode1080_collision_75,byte
-0x9693,0x0001,ucode4080_x_outside_75,byte
-0x9696,0x0001,ucode1080_animate_shape_76,byte
-0x9698,0x0001,ucode6080_test_fire_state_f1_76,byte
-0x969b,0x0001,ucode6080_test_fire_state_f0_76,byte
-0x969e,0x0001,ucode1080_animate_shape_2d,byte
-0x96a0,0x0001,ucode6080_test_fire_state_f2_79,byte
-0x96a3,0x0001,ucode6080_test_fire_state_f2_7b,byte
-0x96a6,0x0001,ucode6080_fire_state_f2_79,byte
-0x96a9,0x0001,ucode6080_fire_state_f2_7b,byte
-0x96ac,0x0001,ucode1080_animate_shape_2e,byte
-0x96ae,0x0001,ucode4080_x_outside_77,byte
-0x96b5,0x0001,ucode1080_collision_77,byte
-0x96c4,0x0001,ucode1080_countdown_2f,byte
-0x96cb,0x0001,ucode4080_y_outside_4d,byte
-0x96ce,0x0001,ucode6080_homing_77,byte
-0x96d0,0x0001,ucode1080_animate_shape_77,byte
-0x96d6,0x0001,ucode6080_fire_state_f2_77,byte
-0x96dd,0x0001,ucode6080_fire_state_f3_77,byte
-0x96e0,0x0001,ucode1080_countdown_2d,byte
-0x96f1,0x0001,ucode1080_countdown_2e,byte
-0x9704,0x0001,ucode6080_test_fire_state_f3_77,byte
-# object 0x4d is radar_or_icbm
-# 549a = ucode1080_animate_shape + 0x4d * 2
-# controls the headquarters, icbm or radar shape as follows
-#              -> implied start of section 0xf0
-#      .db     0x72 headquarters shape
-#      .db     0xf2 -> start of section 0xf2
-#      .db     0x76 icbm shape
-#      .db     0xf1 -> start of section 0xf1
-#      .db     0x73 radar0 shape
-#      .db     0x74 radar1 shape
-#      .db     0x75 radar2 shape
-#      .db     0x74 radar1 shape
-#      .db     0xf9 -> repeating, & 0xf3 for start sentinel (0xf1)
-#      .db     0x00 sentinel
-# object1080_animate_shape_index + 0x4d holds the index into above table
-# loc_0da6 does a post-increment
-# loc_0daf controls wraparound when sentinel >= 0xf0 reached
-#   loc_0dac for 0xff
-#   loc_0db9 for 0xf8..0xfe (repeating, & 0xf3 for the start sentinel)
-#     0xf0..0xf3 value is poked into object1080_start_sentinel + object, and
-#     something happens when it changes, if object >= 0x60 ... then loc_0dcb
-#   loc_0dcb for 0xf0..0xf7
-#     scan the table from the beginning (except if sentinel was 0xf0)
-#       loc_0ddc when end of table is reached
-#       scan until we find the value at object1080_start_sentinel + object
-#   loc_0ddc a = table index where start sentinel was found (or end sentinel)
-#     update object1080_animate_shape_index with this index (causes the
-#     wrapping to restart the animation sequence) ... resume at loc_0da6
-# note: the ucode_pair routine seems implicated in launching this:
-# 0$:  ldy     object1080_start_sentinel - 0x10,x
-#      bpl     2$
-#      and     #0x03
-#      ora     #0xf0
-#      jmp     [vec_calculate_object_shape]
-0x9707,0x0001,ucode1080_animate_shape_4d,byte
-0x9711,0x0001,ucode1080_animate_shape_72,byte
-0x971d,0x0001,ucode1080_collision_test_62,byte
-0x972d,0x0001,ucode6080_fire_state_f3_7b,byte
-0x9746,0x0001,ucode1080_collision_68,byte
-0x974f,0x0001,ucode4080_y_outside_68,byte
-0x9758,0x0001,ucode1080_collision_69,byte
-0x9761,0x0001,ucode4080_y_outside_69,byte
-0x976a,0x0001,ucode1080_collision_6a,byte
-0x9773,0x0001,ucode4080_y_outside_6a,byte
-0x977c,0x0001,ucode1080_collision_test_6b,byte
-0x9782,0x0001,ucode1080_collision_test_6c,byte
-0x9788,0x0001,ucode1080_collision_test_6d,byte
-0x978e,0x0001,ucode1080_collision_test_6e,byte
-0x9794,0x0001,ucode1080_collision_test_6f,byte
-0x979a,0x0001,ucode1080_collision_test_70,byte
-0x97a3,0x0001,ucode1080_collision_70,byte
-0x97aa,0x0001,ucode1080_countdown_10,byte
-0x97cb,0x0001,ucode1080_collision_test_58,byte
-0x97e0,0x0001,ucode1080_collision_test_59,byte
-0x97f5,0x0001,ucode1080_collision_test_5a,byte
-0x980a,0x0001,ucode1080_collision_test_5b,byte
-0x981f,0x0001,ucode1080_collision_test_5c,byte
-0x9834,0x0001,ucode1080_collision_test_5d,byte
-0x9849,0x0001,ucode1080_collision_test_5e,byte
-0x985e,0x0001,ucode1080_collision_test_5f,byte
-0x9873,0x0001,ucode1080_collision_test_72,byte
-0x9884,0x0001,ucode4080_y_outside_66,byte
-0x988b,0x0001,ucode1080_collision_test_66,byte
-0x989d,0x0001,ucode1080_collision_test_67,byte
-0x98a0,0x0001,ucode1080_collision_67,byte
-0x98a7,0x0001,ucode1080_countdown_2a,byte
-0x98aa,0x0001,ucode1080_collision_71,byte
-0x98b1,0x0001,ucode1080_collision_test_2a,byte
-0x98b4,0x0001,ucode1080_collision_2a,byte
-0x98bb,0x0001,ucode1080_animate_shape_2a,byte
-0x98c5,0x0001,ucode1080_animate_shape_71,byte
-0x98d2,0x0001,ucode6080_test_fire_state_f3_71,byte
-0x98d5,0x0001,ucode6080_fire_state_f2_76,byte
-0x98da,0x0001,ucode6080_test_fire_state_f3_76,byte
-0x98dd,0x0001,ucode6080_fire_state_f3_76,byte
-0x98e0,0x0001,ucode6080_homing_67,byte
-0x98e3,0x0001,ucode1080_animate_shape_13,byte
-0x98e5,0x0001,ucode1080_countdown_13,byte
-0x98ea,0x0001,ucode1080_collision_66,byte
-0x9901,0x0001,ucode4080_x_outside_66,byte
-0x9908,0x0001,ucode0010_init_or_zero_07,byte
-0x9917,0x0001,ucode6080_fire_state_f2_65,byte
-0x9926,0x0001,ucode1080_countdown_12,byte
-0x9939,0x0001,ucode0010_init_or_zero_04,byte
-0x994e,0x0001,ucode0010_init_or_zero_05,byte
-0x9961,0x0001,ucode0010_init_or_zero_0a,byte
-0x9966,0x0001,ucode6080_fire_state_f0_76,byte
-0x997b,0x0001,ucode6080_fire_state_f0_61,byte
-0x9994,0x0001,ucode6080_fire_state_f2_61,byte
-0x99ad,0x0001,ucode6080_fire_state_f1_76,byte
-0x99cc,0x0001,ucode1080_animate_shape_67,byte
-0x99ce,0x0001,ucode4080_x_outside_67,byte
-0x99d9,0x0001,ucode4080_y_outside_67,byte
-0x99e4,0x0001,ucode1080_animate_shape_40,byte
-0x99ea,0x0001,ucode6080_fire_state_f0_67,byte
-0x99ed,0x0001,ucode6080_fire_state_f1_67,byte
-0x99f4,0x0001,ucode1080_countdown_70,byte
-0x99f7,0x0001,ucode1080_animate_shape_63,byte
-0x99f9,0x0001,ucode1080_collision_78,byte
-0x9a0e,0x0001,ucode1080_collision_79,byte
-0x9a1d,0x0001,ucode1080_collision_7a,byte
-0x9a32,0x0001,ucode1080_collision_7b,byte
-0x9a41,0x0001,ucode1080_animate_shape_29,byte
-0x9a43,0x0001,ucode1080_countdown_29,byte
-0x9a46,0x0001,ucode6080_homing_6a,byte
-0x9a4f,0x0001,ucode1080_collision_test_53,byte
-0x9a5a,0x0001,ucode1080_collision_test_54,byte
-0x9a65,0x0001,ucode1080_collision_test_55,byte
-0x9a70,0x0001,ucode1080_collision_test_56,byte
-0x9a7b,0x0001,ucode1080_collision_test_57,byte
-0x9a86,0x0001,ucode1080_collision_test_50,byte
-0x9a8f,0x0001,ucode1080_collision_test_51,byte
-0x9a98,0x0001,ucode1080_collision_test_52,byte
-0x9aa1,0x0001,ucode1080_countdown_2c,byte
-0x9aa6,0x0001,ucode6080_homing_68,byte
-0x9aaf,0x0001,ucode6080_homing_69,byte
-0x9ab8,0x0001,ucode6080_test_fire_state_f2_76,byte
-0x9abc,0x0001,ucode6080_test_fire_state_f1_7e,byte
-0x9abf,0x0001,ucode6080_test_fire_state_f3_7e,byte
-0x9ac2,0x0001,ucode4080_x_outside_7e,byte
-0x9acf,0x0001,ucode4080_x_outside_62,byte
-0x9ad6,0x0001,ucode1080_collision_29,byte
-0x9aeb,0x0001,ucode1080_collision_61,byte
-0x9b00,0x0001,ucode1080_countdown_7e,byte
-0x9b09,0x0001,ucode1080_animate_shape_7e,byte
-0x9b0b,0x0001,ucode6080_fire_state_f3_60,byte
-0x9b26,0x0001,ucode1080_animate_shape_3d,byte
-0x9b28,0x0001,ucode1080_countdown_3d,byte
-0x9b3b,0x0001,ucode0010_init_or_zero_0f,byte
-0x9b48,0x0001,ucode0010_init_or_zero_06,byte
-0x9b51,0x0001,ucode1080_animate_shape_3c,byte
-0x9b53,0x0001,ucode1080_collision_test_3c,byte
-0x9b55,0x0001,ucode1080_collision_3c,byte
-0x9b58,0x0001,ucode1080_countdown_3c,byte
-0x9b63,0x0001,ucode1080_countdown_65,byte
-0x9b68,0x0001,ucode4080_x_outside_65,byte
-0x9b6d,0x0001,ucode1080_collision_test_73,byte
-0x9b72,0x0001,ucode1080_collision_test_74,byte
-0x9b77,0x0001,ucode1080_collision_test_75,byte
-0x9b7c,0x0001,ucode1080_collision_test_71,byte
-0x9b8c,0x0001,ucode1080_collision_test_11,byte
-0x9b91,0x0001,ucode1080_collision_11,byte
-0x9b9e,0x0001,ucode1080_countdown_11,byte
-0x9bbb,0x0001,ucode6080_test_fire_state_f2_68,byte
-0x9bbe,0x0001,ucode6080_fire_state_f2_68,byte
-0x9bc1,0x0001,ucode6080_test_fire_state_f3_63,byte
-0x9bc4,0x0001,ucode6080_fire_state_f3_63,byte
-0x9bc9,0x0001,ucode1080_countdown_78,byte
-0x9bd2,0x0001,ucode1080_countdown_79,byte
-0x9bdb,0x0001,ucode6080_fire_state_f3_7a,byte
-0x9be4,0x0001,ucode1080_countdown_7b,byte
-0x9bed,0x0001,ucode4080_y_outside_76,byte
-0x9bf2,0x0001,ucode1080_collision_4d,byte
-0x9c09,0x0001,ucode4080_x_outside_76,byte
-0x9c0c,0x0001,ucode1080_animate_shape_49,byte
-0x9c14,0x0001,ucode4080_x_outside_49,byte
-0x9c2d,0x0001,ucode1080_animate_shape_4a,byte
-0x9c35,0x0001,ucode4080_x_outside_4a,byte
-0x9c4e,0x0001,ucode1080_animate_shape_4b,byte
-0x9c56,0x0001,ucode4080_x_outside_4b,byte
-0x9c6f,0x0001,ucode1080_animate_shape_4c,byte
-0x9c77,0x0001,ucode4080_x_outside_4c,byte
-0x9c90,0x0001,ucode1080_collision_49,byte
-0x9cad,0x0001,ucode1080_collision_4a,byte
-0x9cca,0x0001,ucode1080_collision_4b,byte
-0x9ce7,0x0001,ucode1080_collision_4c,byte
-0x9d04,0x0001,ucode6080_fire_state_f1_7e,byte
-0x9d1d,0x0001,ucode6080_fire_state_f3_7e,byte
-0x9d26,0x0001,ucode0010_init_or_zero_02,byte
-0x9d3b,0x0001,ucode0010_init_or_zero_03,byte
-0x9d50,0x0001,ucode1080_countdown_62,byte
-0x9d55,0x0001,ucode0010_init_or_zero_0c,byte
-0x9d64,0x0001,ucode4080_x_outside_64,byte
-0x9d6d,0x0001,ucode6080_test_fire_state_f2_63,byte
-0x9d70,0x0001,ucode6080_fire_state_f1_7a,byte
-0x9d77,0x0001,ucode6080_fire_state_f1_7c,byte
-0x9d7e,0x0001,ucode6080_fire_state_f3_7c,byte
-0x9d87,0x0001,ucode6080_fire_state_f2_63,byte
-0x9da0,0x0001,ucode6080_fire_state_f2_7c,byte
-0x9da9,0x0001,ucode1080_collision_7c,byte
-0x9dbc,0x0001,ucode4080_y_outside_7c,byte
-0x9dc1,0x0001,ucode4080_x_outside_7c,byte
-0x9dc4,0x0001,ucode0010_init_or_zero_01,byte
-0x9dd9,0x0001,ucode1080_countdown_63,byte
-0x9dde,0x0001,ucode1080_collision_test_2c,byte
-0x9de0,0x0001,ucode1080_collision_2c,byte
+0x8e00,0x0003,ucode1080_countdown_30_pixel,byte
+0x8e03,0x0003,ucode4080_x_outside_61_ship,byte
+0x8e06,0x0011,ucode1080_animate_shape_68_missile,byte
+0x8e17,0x0007,ucode1080_animate_shape_30_pixel,byte
+0x8e1e,0x0007,ucode1080_animate_shape_31_pixel,byte
+0x8e25,0x0003,ucode1080_countdown_31_pixel,byte
+0x8e28,0x0007,ucode1080_animate_shape_32_pixel,byte
+0x8e2f,0x0003,ucode1080_countdown_32_pixel,byte
+0x8e32,0x0007,ucode1080_animate_shape_33_pixel,byte
+0x8e39,0x0003,ucode1080_countdown_33_pixel,byte
+0x8e3c,0x0007,ucode1080_animate_shape_34_pixel,byte
+0x8e43,0x0003,ucode1080_countdown_34_pixel,byte
+0x8e46,0x0007,ucode1080_animate_shape_35_pixel,byte
+0x8e4d,0x0003,ucode1080_countdown_35_pixel,byte
+0x8e50,0x0007,ucode1080_animate_shape_36_pixel,byte
+0x8e57,0x0003,ucode1080_countdown_36_pixel,byte
+0x8e5a,0x0007,ucode1080_animate_shape_37_pixel,byte
+0x8e61,0x0003,ucode1080_countdown_37_pixel,byte
+0x8e64,0x0003,ucode4080_x_outside_68_missile,byte
+0x8e67,0x0007,ucode1080_animate_shape_38_pixel,byte
+0x8e6e,0x0003,ucode1080_countdown_38_pixel,byte
+0x8e71,0x0007,ucode1080_animate_shape_39_pixel,byte
+0x8e78,0x0003,ucode1080_countdown_39_pixel,byte
+0x8e7b,0x0007,ucode1080_animate_shape_3a_pixel,byte
+0x8e82,0x0003,ucode1080_countdown_3a_pixel,byte
+0x8e85,0x0007,ucode1080_animate_shape_3b_pixel,byte
+0x8e8c,0x0003,ucode1080_countdown_3b_pixel,byte
+0x8e8f,0x0011,ucode1080_animate_shape_69_missile,byte
+0x8ea0,0x0003,ucode4080_x_outside_69_missile,byte
+0x8ea3,0x0011,ucode1080_animate_shape_6a_missile,byte
+0x8eb4,0x0003,ucode4080_x_outside_6a_missile,byte
+0x8eb7,0x0009,ucode6080_fire_state_f0_68_missile,byte
+0x8ec0,0x0009,ucode6080_fire_state_f0_69_missile,byte
+0x8ec9,0x0009,ucode6080_fire_state_f0_6a_missile,byte
+0x8ed2,0x0003,ucode4080_x_outside_44_missile_launcher,byte
+0x8ed5,0x0003,ucode4080_x_outside_45_missile_launcher,byte
+0x8ed8,0x0003,ucode4080_x_outside_46_missile_launcher,byte
+0x8edb,0x000b,ucode1080_animate_shape_44_missile_launcher,byte
+0x8ee6,0x000b,ucode1080_animate_shape_45_missile_launcher,byte
+0x8ef1,0x000b,ucode1080_animate_shape_46_missile_launcher,byte
+0x8efc,0x0009,ucode1080_animate_shape_14_fragment,byte
+0x8f05,0x0009,ucode1080_animate_shape_18_fragment,byte
+0x8f0e,0x0003,ucode1080_countdown_19_fragment,byte
+0x8f11,0x0009,ucode1080_animate_shape_1a_fragment,byte
+0x8f1a,0x0003,ucode1080_countdown_1a_fragment,byte
+0x8f1d,0x0009,ucode1080_animate_shape_1b_fragment,byte
+0x8f26,0x0003,ucode1080_countdown_1b_fragment,byte
+0x8f29,0x0009,ucode1080_animate_shape_1c_fragment,byte
+0x8f32,0x0003,ucode4080_x_outside_43_tree_cactus,byte
+0x8f35,0x0003,ucode4080_x_outside_42_tree_cactus,byte
+0x8f38,0x0002,ucode6080_test_fire_state_f1_61_ship,byte
+0x8f3a,0x0009,ucode1080_collision_59_bomb_explosion,byte
+0x8f43,0x0009,ucode1080_collision_5a_bomb_explosion,byte
+0x8f4c,0x0009,ucode1080_collision_5b_bomb_explosion,byte
+0x8f55,0x0003,ucode4080_x_outside_41_tree_cactus,byte
+0x8f58,0x0003,ucode4080_x_outside_48_pylon,byte
+0x8f5b,0x0002,ucode1080_animate_shape_48_pylon,byte
+0x8f5d,0x0002,ucode1080_animate_shape_70_supply_plane,byte
+0x8f5f,0x0003,ucode4080_x_outside_71_parachute,byte
+0x8f62,0x0007,ucode1080_animate_shape_4e_pixel,byte
+0x8f69,0x0003,ucode1080_countdown_4e_pixel,byte
+0x8f6c,0x0007,ucode1080_animate_shape_4f_pixel,byte
+0x8f73,0x0003,ucode1080_countdown_4f_pixel,byte
+0x8f76,0x0009,ucode1080_collision_58_bomb_explosion,byte
+0x8f7f,0x0003,ucode1080_collision_50_bullet,byte
+0x8f82,0x0003,ucode4080_x_outside_50_bullet,byte
+0x8f85,0x0002,ucode6080_test_fire_state_f0_61_ship,byte
+0x8f87,0x0005,ucode1080_animate_shape_20_pixel,byte
+0x8f8c,0x0005,ucode1080_animate_shape_21_pixel,byte
+0x8f91,0x0005,ucode1080_animate_shape_22_pixel,byte
+0x8f96,0x0005,ucode1080_animate_shape_24_pixel,byte
+0x8f9b,0x0005,ucode1080_animate_shape_26_pixel,byte
+0x8fa0,0x0021,ucode6080_fire_state_f0_63_pixel,byte
+0x8fc1,0x0003,ucode1080_countdown_14_fragment,byte
+0x8fc4,0x0003,ucode1080_countdown_18_fragment,byte
+0x8fc7,0x0003,ucode1080_countdown_1c_fragment,byte
+0x8fca,0x0005,ucode1080_animate_shape_23_pixel,byte
+0x8fcf,0x0005,ucode1080_animate_shape_25_pixel,byte
+0x8fd4,0x0005,ucode1080_animate_shape_27_pixel,byte
+0x8fd9,0x0009,ucode1080_collision_5c_bomb_explosion,byte
+0x8fe2,0x0015,ucode1080_animate_shape_58_bomb_explosion,byte
+0x8ff7,0x0014,ucode1080_animate_shape_5a_bomb_explosion,byte
+0x900b,0x0016,ucode1080_animate_shape_5b_bomb_explosion,byte
+0x9021,0x0014,ucode1080_animate_shape_5c_bomb_explosion,byte
+0x9035,0x0003,ucode4080_x_outside_58_bomb_explosion,byte
+0x9038,0x0013,ucode4080_y_outside_58_bomb_explosion,byte
+0x904b,0x0003,ucode4080_x_outside_59_bomb_explosion,byte
+0x904e,0x0013,ucode4080_y_outside_59_bomb_explosion,byte
+0x9061,0x0003,ucode4080_x_outside_5a_bomb_explosion,byte
+0x9064,0x0013,ucode4080_y_outside_5a_bomb_explosion,byte
+0x9077,0x0003,ucode4080_x_outside_5b_bomb_explosion,byte
+0x907a,0x0013,ucode4080_y_outside_5b_bomb_explosion,byte
+0x908d,0x0003,ucode4080_x_outside_5c_bomb_explosion,byte
+0x9090,0x0013,ucode4080_y_outside_5c_bomb_explosion,byte
+0x90a3,0x0002,ucode1080_animate_shape_11_pixel,byte
+0x90a5,0x0002,ucode1080_animate_shape_10_pixel,byte
+0x90a7,0x0009,ucode1080_collision_5d_bomb_explosion,byte
+0x90b0,0x0003,ucode4080_x_outside_5d_bomb_explosion,byte
+0x90b3,0x0013,ucode4080_y_outside_5d_bomb_explosion,byte
+0x90c6,0x0014,ucode1080_animate_shape_5e_bomb_explosion,byte
+0x90da,0x0009,ucode1080_collision_5e_bomb_explosion,byte
+0x90e3,0x0003,ucode4080_x_outside_5e_bomb_explosion,byte
+0x90e6,0x0013,ucode4080_y_outside_5e_bomb_explosion,byte
+0x90f9,0x0016,ucode1080_animate_shape_5f_bomb_explosion,byte
+0x910f,0x0009,ucode1080_collision_5f_bomb_explosion,byte
+0x9118,0x0003,ucode4080_x_outside_5f_bomb_explosion,byte
+0x911b,0x0013,ucode4080_y_outside_5f_bomb_explosion,byte
+0x912e,0x0002,ucode6080_test_fire_state_f2_61_ship,byte
+0x9130,0x0009,ucode4080_y_outside_61_ship,byte
+0x9139,0x0002,ucode6080_test_fire_state_f3_61_ship,byte
+0x913b,0x0003,ucode6080_fire_state_f3_61_ship,byte
+0x913e,0x0003,ucode4080_x_outside_4d_headquarters_radar_icbm,byte
+0x9141,0x0003,ucode1080_collision_51_bullet,byte
+0x9144,0x0003,ucode4080_x_outside_51_bullet,byte
+0x9147,0x0003,ucode1080_collision_52_bullet,byte
+0x914a,0x0003,ucode4080_x_outside_52_bullet,byte
+0x914d,0x0002,ucode1080_animate_shape_47_pylon,byte
+0x914f,0x0003,ucode4080_x_outside_47_pylon,byte
+0x9152,0x0003,ucode6080_test_fire_state_f2_78_pixel,byte
+0x9155,0x0003,ucode6080_test_fire_state_f3_78_pixel,byte
+0x9158,0x0002,ucode1080_animate_shape_78_pixel,byte
+0x915a,0x0009,ucode6080_fire_state_f2_78_pixel,byte
+0x9163,0x0003,ucode1080_collision_test_10_pixel,byte
+0x9166,0x0002,ucode1080_animate_shape_7a_pixel,byte
+0x9168,0x000d,ucode1080_countdown_7a_pixel,byte
+0x9175,0x0003,ucode6080_test_fire_state_f2_7a_pixel,byte
+0x9178,0x0003,ucode6080_test_fire_state_f3_7a_pixel,byte
+0x917b,0x0003,ucode4080_x_outside_6b_helicopter_enemy_plane,byte
+0x917e,0x0014,ucode1080_animate_shape_59_bomb_explosion,byte
+0x9192,0x0015,ucode1080_animate_shape_5d_bomb_explosion,byte
+0x91a7,0x0003,ucode4080_y_outside_65_pixel_exhaust,byte
+0x91aa,0x0002,ucode1080_animate_shape_62_ship,byte
+0x91ac,0x0004,ucode1080_animate_shape_64_pixel_ship,byte
+0x91b0,0x0003,ucode1080_collision_test_78_pixel,byte
+0x91b3,0x0003,ucode1080_collision_test_7a_pixel,byte
+0x91b6,0x0003,ucode1080_countdown_64_pixel_ship,byte
+0x91b9,0x0002,ucode1080_animate_shape_60_pixel,byte
+0x91bb,0x0002,ucode1080_animate_shape_7f_pixel,byte
+0x91bd,0x0003,ucode6080_fire_state_f0_7f_pixel,byte
+0x91c0,0x0003,ucode6080_fire_state_f2_60_pixel,byte
+0x91c3,0x0005,ucode0010_init_or_zero_0d,byte
+0x91c8,0x0021,ucode6080_fire_state_f1_61_ship,byte
+0x91e9,0x0002,ucode1080_animate_shape_12_pixel,byte
+0x91eb,0x0003,ucode1080_countdown_68_missile,byte
+0x91ee,0x0003,ucode1080_countdown_69_missile,byte
+0x91f1,0x0003,ucode1080_countdown_6a_missile,byte
+0x91f4,0x0005,ucode1080_countdown_60_pixel,byte
+0x91f9,0x0003,ucode6080_fire_state_f1_60_pixel,byte
+0x91fc,0x0007,ucode1080_collision_44_missile_launcher,byte
+0x9203,0x0007,ucode1080_collision_45_missile_launcher,byte
+0x920a,0x0007,ucode1080_collision_46_missile_launcher,byte
+0x9211,0x0007,ucode1080_collision_47_pylon,byte
+0x9218,0x0007,ucode1080_collision_48_pylon,byte
+0x921f,0x0003,ucode1080_collision_test_14_fragment,byte
+0x9222,0x000b,ucode1080_collision_14_fragment,byte
+0x922d,0x0003,ucode1080_collision_test_18_fragment,byte
+0x9230,0x0003,ucode1080_collision_test_1c_fragment,byte
+0x9233,0x0004,ucode1080_animate_shape_41_tree_cactus,byte
+0x9237,0x0004,ucode1080_animate_shape_42_tree_cactus,byte
+0x923b,0x0004,ucode1080_animate_shape_43_tree_cactus,byte
+0x923f,0x0003,ucode6080_fire_state_f0_65_pixel_exhaust,byte
+0x9242,0x0003,ucode6080_fire_state_f1_65_pixel_exhaust,byte
+0x9245,0x0003,ucode6080_test_fire_state_f1_6b_helicopter_enemy_plane,byte
+0x9248,0x000b,ucode6080_fire_state_f1_6b_helicopter_enemy_plane,byte
+0x9253,0x0003,ucode6080_fire_state_f0_6b_helicopter_enemy_plane,byte
+0x9256,0x0003,ucode4080_x_outside_6c_helicopter_enemy_plane,byte
+0x9259,0x0003,ucode6080_fire_state_f0_6c_helicopter_enemy_plane,byte
+0x925c,0x0003,ucode6080_test_fire_state_f1_6c_helicopter_enemy_plane,byte
+0x925f,0x000b,ucode6080_fire_state_f1_6c_helicopter_enemy_plane,byte
+0x926a,0x0003,ucode4080_x_outside_6d_helicopter_enemy_plane,byte
+0x926d,0x0003,ucode6080_fire_state_f0_6d_helicopter_enemy_plane,byte
+0x9270,0x0003,ucode6080_test_fire_state_f1_6d_helicopter_enemy_plane,byte
+0x9273,0x000b,ucode6080_fire_state_f1_6d_helicopter_enemy_plane,byte
+0x927e,0x000d,ucode1080_collision_18_fragment,byte
+0x928b,0x0009,ucode6080_fire_state_f3_78_pixel,byte
+0x9294,0x0006,ucode1080_animate_shape_50_bullet,byte
+0x929a,0x0006,ucode1080_animate_shape_51_bullet,byte
+0x92a0,0x0006,ucode1080_animate_shape_52_bullet,byte
+0x92a6,0x0003,ucode4080_x_outside_70_supply_plane,byte
+0x92a9,0x0003,ucode4080_x_outside_53_pixel_balloon_explosion,byte
+0x92ac,0x0003,ucode4080_y_outside_53_pixel_balloon_explosion,byte
+0x92af,0x0003,ucode6080_fire_state_f1_71_parachute,byte
+0x92b2,0x0003,ucode4080_x_outside_72_fuel_explosion,byte
+0x92b5,0x0008,ucode1080_animate_shape_61_ship,byte
+0x92bd,0x0003,ucode4080_y_outside_71_parachute,byte
+0x92c0,0x000f,ucode4080_y_outside_72_fuel_explosion,byte
+0x92cf,0x0003,ucode6080_fire_state_f3_71_parachute,byte
+0x92d2,0x0005,ucode1080_countdown_71_parachute,byte
+0x92d7,0x0007,ucode1080_countdown_58_bomb_explosion,byte
+0x92de,0x0007,ucode1080_countdown_59_bomb_explosion,byte
+0x92e5,0x0007,ucode1080_countdown_5a_bomb_explosion,byte
+0x92ec,0x0007,ucode1080_countdown_5b_bomb_explosion,byte
+0x92f3,0x0007,ucode1080_countdown_5c_bomb_explosion,byte
+0x92fa,0x0007,ucode1080_countdown_5d_bomb_explosion,byte
+0x9301,0x0007,ucode1080_countdown_5e_bomb_explosion,byte
+0x9308,0x0007,ucode1080_countdown_5f_bomb_explosion,byte
+0x930f,0x0003,ucode6080_test_fire_state_f0_6c_helicopter_enemy_plane,byte
+0x9312,0x0003,ucode6080_test_fire_state_f0_6b_helicopter_enemy_plane,byte
+0x9315,0x0003,ucode6080_test_fire_state_f0_6d_helicopter_enemy_plane,byte
+0x9318,0x0004,ucode1080_animate_shape_65_pixel_exhaust,byte
+0x931c,0x0002,ucode1080_animate_shape_66_ship,byte
+0x931e,0x0009,ucode1080_animate_shape_16_fragment,byte
+0x9327,0x0003,ucode1080_countdown_16_fragment,byte
+0x932a,0x0009,ucode1080_animate_shape_1e_fragment,byte
+0x9333,0x0003,ucode1080_countdown_1e_fragment,byte
+0x9336,0x0009,ucode1080_animate_shape_17_fragment,byte
+0x933f,0x0003,ucode1080_countdown_17_fragment,byte
+0x9342,0x0009,ucode1080_animate_shape_1f_fragment,byte
+0x934b,0x0003,ucode1080_countdown_1f_fragment,byte
+0x934e,0x0009,ucode1080_animate_shape_19_fragment,byte
+0x9357,0x0009,ucode1080_animate_shape_15_fragment,byte
+0x9360,0x0003,ucode1080_countdown_15_fragment,byte
+0x9363,0x0009,ucode1080_animate_shape_1d_fragment,byte
+0x936c,0x0003,ucode1080_countdown_1d_fragment,byte
+0x936f,0x0002,ucode1080_animate_shape_7c_pixel,byte
+0x9371,0x0003,ucode1080_collision_test_7c_pixel,byte
+0x9374,0x0003,ucode6080_test_fire_state_f2_7c_pixel,byte
+0x9377,0x0003,ucode6080_test_fire_state_f3_7c_pixel,byte
+0x937a,0x000d,ucode6080_fire_state_f3_65_pixel_exhaust,byte
+0x9387,0x0002,ucode1080_animate_shape_79_pixel,byte
+0x9389,0x0003,ucode1080_collision_test_79_pixel,byte
+0x938c,0x0003,ucode6080_test_fire_state_f3_79_pixel,byte
+0x938f,0x0011,ucode1080_countdown_7f_pixel,byte
+0x93a0,0x0011,ucode6080_fire_state_f1_7f_pixel,byte
+0x93b1,0x0010,ucode1080_collision_test_64_pixel_ship,byte
+0x93c1,0x000e,ucode1080_animate_shape_53_pixel_balloon_explosion,byte
+0x93cf,0x000e,ucode1080_animate_shape_54_pixel_balloon_explosion,byte
+0x93dd,0x0003,ucode4080_x_outside_54_pixel_balloon_explosion,byte
+0x93e0,0x0003,ucode4080_y_outside_54_pixel_balloon_explosion,byte
+0x93e3,0x000e,ucode1080_animate_shape_55_pixel_balloon_explosion,byte
+0x93f1,0x0003,ucode4080_x_outside_55_pixel_balloon_explosion,byte
+0x93f4,0x0003,ucode4080_y_outside_55_pixel_balloon_explosion,byte
+0x93f7,0x000e,ucode1080_animate_shape_56_pixel_balloon_explosion,byte
+0x9405,0x0003,ucode4080_x_outside_56_pixel_balloon_explosion,byte
+0x9408,0x0003,ucode4080_y_outside_56_pixel_balloon_explosion,byte
+0x940b,0x000e,ucode1080_animate_shape_57_pixel_balloon_explosion,byte
+0x9419,0x0003,ucode4080_x_outside_57_pixel_balloon_explosion,byte
+0x941c,0x0003,ucode4080_y_outside_57_pixel_balloon_explosion,byte
+0x941f,0x000b,ucode1080_collision_test_61_ship,byte
+0x942a,0x000d,ucode1080_countdown_7c_pixel,byte
+0x9437,0x0002,ucode1080_animate_shape_2c_pixel,byte
+0x9439,0x0003,ucode6080_test_fire_state_f0_77_tank,byte
+0x943c,0x0003,ucode4080_x_outside_6e_helicopter_enemy_plane,byte
+0x943f,0x0003,ucode6080_test_fire_state_f0_6e_helicopter_enemy_plane,byte
+0x9442,0x0003,ucode6080_fire_state_f0_6e_helicopter_enemy_plane,byte
+0x9445,0x0003,ucode6080_test_fire_state_f1_6e_helicopter_enemy_plane,byte
+0x9448,0x000b,ucode6080_fire_state_f1_6e_helicopter_enemy_plane,byte
+0x9453,0x0003,ucode4080_x_outside_6f_helicopter_enemy_plane,byte
+0x9456,0x0003,ucode6080_test_fire_state_f0_6f_helicopter_enemy_plane,byte
+0x9459,0x0003,ucode6080_fire_state_f0_6f_helicopter_enemy_plane,byte
+0x945c,0x0003,ucode6080_test_fire_state_f1_6f_helicopter_enemy_plane,byte
+0x945f,0x000b,ucode6080_fire_state_f1_6f_helicopter_enemy_plane,byte
+0x946a,0x0003,ucode6080_test_fire_state_f2_77_tank,byte
+0x946d,0x001f,ucode6080_fire_state_f3_79_pixel,byte
+0x948c,0x000b,ucode1080_collision_1c_fragment,byte
+0x9497,0x0013,ucode1080_collision_6b_helicopter_enemy_plane,byte
+0x94aa,0x0013,ucode1080_collision_6c_helicopter_enemy_plane,byte
+0x94bd,0x0013,ucode1080_collision_6d_helicopter_enemy_plane,byte
+0x94d0,0x0013,ucode1080_collision_6e_helicopter_enemy_plane,byte
+0x94e3,0x0013,ucode1080_collision_6f_helicopter_enemy_plane,byte
+0x94f6,0x001b,ucode1080_collision_10_pixel,byte
+0x9511,0x0009,ucode1080_collision_72_fuel_explosion,byte
+0x951a,0x000d,ucode1080_collision_53_pixel_balloon_explosion,byte
+0x9527,0x000d,ucode1080_collision_54_pixel_balloon_explosion,byte
+0x9534,0x000d,ucode1080_collision_55_pixel_balloon_explosion,byte
+0x9541,0x000d,ucode1080_collision_56_pixel_balloon_explosion,byte
+0x954e,0x000d,ucode1080_collision_57_pixel_balloon_explosion,byte
+0x955b,0x0003,ucode4080_y_outside_70_supply_plane,byte
+0x955e,0x0002,ucode1080_animate_shape_28_exhaust,byte
+0x9560,0x0003,ucode1080_countdown_28_exhaust,byte
+0x9563,0x0002,ucode1080_collision_test_28_exhaust,byte
+0x9565,0x0013,ucode1080_collision_28_exhaust,byte
+0x9578,0x0007,ucode1080_countdown_61_ship,byte
+0x957f,0x0003,ucode6080_test_fire_state_f1_7a_pixel,byte
+0x9582,0x0003,ucode6080_test_fire_state_f1_7c_pixel,byte
+0x9585,0x0002,ucode1080_animate_shape_7b_pixel,byte
+0x9587,0x0003,ucode1080_collision_test_7b_pixel,byte
+0x958a,0x0003,ucode6080_test_fire_state_f3_7b_pixel,byte
+0x958d,0x0009,ucode6080_fire_state_f2_7a_pixel,byte
+0x9596,0x0002,ucode1080_animate_shape_7d_pixel,byte
+0x9598,0x0013,ucode1080_countdown_7d_pixel,byte
+0x95ab,0x0005,ucode6080_fire_state_f0_7d_pixel,byte
+0x95b0,0x0007,ucode6080_fire_state_f1_7d_pixel,byte
+0x95b7,0x000d,ucode6080_fire_state_f2_7f_pixel,byte
+0x95c4,0x000d,ucode6080_fire_state_f2_7d_pixel,byte
+0x95d1,0x000b,ucode0010_init_or_zero_0e,byte
+0x95dc,0x0006,ucode1080_animate_shape_6b_helicopter_enemy_plane,byte
+0x95e2,0x0007,ucode6080_homing_6b_helicopter_enemy_plane,byte
+0x95e9,0x0006,ucode1080_animate_shape_6c_helicopter_enemy_plane,byte
+0x95ef,0x0007,ucode6080_homing_6c_helicopter_enemy_plane,byte
+0x95f6,0x0006,ucode1080_animate_shape_6d_helicopter_enemy_plane,byte
+0x95fc,0x0007,ucode6080_homing_6d_helicopter_enemy_plane,byte
+0x9603,0x0006,ucode1080_animate_shape_6e_helicopter_enemy_plane,byte
+0x9609,0x0007,ucode6080_homing_6e_helicopter_enemy_plane,byte
+0x9610,0x0006,ucode1080_animate_shape_6f_helicopter_enemy_plane,byte
+0x9616,0x0007,ucode6080_homing_6f_helicopter_enemy_plane,byte
+0x961d,0x0009,ucode1080_countdown_44_missile_launcher,byte
+0x9626,0x0009,ucode1080_countdown_45_missile_launcher,byte
+0x962f,0x0009,ucode1080_countdown_46_missile_launcher,byte
+0x9638,0x0003,ucode4080_y_outside_47_pylon,byte
+0x963b,0x0003,ucode4080_y_outside_48_pylon,byte
+0x963e,0x0003,ucode6080_test_fire_state_f3_6b_helicopter_enemy_plane,byte
+0x9641,0x0007,ucode6080_fire_state_f3_6b_helicopter_enemy_plane,byte
+0x9648,0x0003,ucode6080_test_fire_state_f3_6c_helicopter_enemy_plane,byte
+0x964b,0x0007,ucode6080_fire_state_f3_6c_helicopter_enemy_plane,byte
+0x9652,0x0003,ucode6080_test_fire_state_f3_6d_helicopter_enemy_plane,byte
+0x9655,0x0007,ucode6080_fire_state_f3_6d_helicopter_enemy_plane,byte
+0x965c,0x0003,ucode6080_test_fire_state_f3_6e_helicopter_enemy_plane,byte
+0x965f,0x0007,ucode6080_fire_state_f3_6e_helicopter_enemy_plane,byte
+0x9666,0x0003,ucode6080_test_fire_state_f3_6f_helicopter_enemy_plane,byte
+0x9669,0x0007,ucode6080_fire_state_f3_6f_helicopter_enemy_plane,byte
+0x9670,0x0006,ucode1080_animate_shape_73_bullet,byte
+0x9676,0x0003,ucode1080_collision_73_bullet,byte
+0x9679,0x0002,ucode1080_animate_shape_2f_pixel,byte
+0x967b,0x0003,ucode4080_x_outside_73_bullet,byte
+0x967e,0x0006,ucode1080_animate_shape_74_bullet,byte
+0x9684,0x0003,ucode1080_collision_74_bullet,byte
+0x9687,0x0003,ucode4080_x_outside_74_bullet,byte
+0x968a,0x0006,ucode1080_animate_shape_75_bullet,byte
+0x9690,0x0003,ucode1080_collision_75_bullet,byte
+0x9693,0x0003,ucode4080_x_outside_75_bullet,byte
+0x9696,0x0002,ucode1080_animate_shape_76_pixel,byte
+0x9698,0x0003,ucode6080_test_fire_state_f1_76_pixel,byte
+0x969b,0x0003,ucode6080_test_fire_state_f0_76_pixel,byte
+0x969e,0x0002,ucode1080_animate_shape_2d_pixel,byte
+0x96a0,0x0003,ucode6080_test_fire_state_f2_79_pixel,byte
+0x96a3,0x0003,ucode6080_test_fire_state_f2_7b_pixel,byte
+0x96a6,0x0003,ucode6080_fire_state_f2_79_pixel,byte
+0x96a9,0x0003,ucode6080_fire_state_f2_7b_pixel,byte
+0x96ac,0x0002,ucode1080_animate_shape_2e_pixel,byte
+0x96ae,0x0007,ucode4080_x_outside_77_tank,byte
+0x96b5,0x000f,ucode1080_collision_77_tank,byte
+0x96c4,0x0007,ucode1080_countdown_2f_pixel,byte
+0x96cb,0x0003,ucode4080_y_outside_4d_headquarters_radar_icbm,byte
+0x96ce,0x0002,ucode6080_homing_77_tank,byte
+0x96d0,0x0006,ucode1080_animate_shape_77_tank,byte
+0x96d6,0x0007,ucode6080_fire_state_f2_77_tank,byte
+0x96dd,0x0003,ucode6080_fire_state_f3_77_tank,byte
+0x96e0,0x0011,ucode1080_countdown_2d_pixel,byte
+0x96f1,0x0013,ucode1080_countdown_2e_pixel,byte
+0x9704,0x0003,ucode6080_test_fire_state_f3_77_tank,byte
+0x9707,0x000a,ucode1080_animate_shape_4d_headquarters_radar_icbm,byte
+0x9711,0x000c,ucode1080_animate_shape_72_fuel_explosion,byte
+0x971d,0x0010,ucode1080_collision_test_62_ship,byte
+0x972d,0x0019,ucode6080_fire_state_f3_7b_pixel,byte
+0x9746,0x0009,ucode1080_collision_68_missile,byte
+0x974f,0x0009,ucode4080_y_outside_68_missile,byte
+0x9758,0x0009,ucode1080_collision_69_missile,byte
+0x9761,0x0009,ucode4080_y_outside_69_missile,byte
+0x976a,0x0009,ucode1080_collision_6a_missile,byte
+0x9773,0x0009,ucode4080_y_outside_6a_missile,byte
+0x977c,0x0006,ucode1080_collision_test_6b_helicopter_enemy_plane,byte
+0x9782,0x0006,ucode1080_collision_test_6c_helicopter_enemy_plane,byte
+0x9788,0x0006,ucode1080_collision_test_6d_helicopter_enemy_plane,byte
+0x978e,0x0006,ucode1080_collision_test_6e_helicopter_enemy_plane,byte
+0x9794,0x0006,ucode1080_collision_test_6f_helicopter_enemy_plane,byte
+0x979a,0x0009,ucode1080_collision_test_70_supply_plane,byte
+0x97a3,0x0007,ucode1080_collision_70_supply_plane,byte
+0x97aa,0x0021,ucode1080_countdown_10_pixel,byte
+0x97cb,0x0015,ucode1080_collision_test_58_bomb_explosion,byte
+0x97e0,0x0015,ucode1080_collision_test_59_bomb_explosion,byte
+0x97f5,0x0015,ucode1080_collision_test_5a_bomb_explosion,byte
+0x980a,0x0015,ucode1080_collision_test_5b_bomb_explosion,byte
+0x981f,0x0015,ucode1080_collision_test_5c_bomb_explosion,byte
+0x9834,0x0015,ucode1080_collision_test_5d_bomb_explosion,byte
+0x9849,0x0015,ucode1080_collision_test_5e_bomb_explosion,byte
+0x985e,0x0015,ucode1080_collision_test_5f_bomb_explosion,byte
+0x9873,0x0011,ucode1080_collision_test_72_fuel_explosion,byte
+0x9884,0x0007,ucode4080_y_outside_66_ship,byte
+0x988b,0x0012,ucode1080_collision_test_66_ship,byte
+0x989d,0x0003,ucode1080_collision_test_67_bird,byte
+0x98a0,0x0007,ucode1080_collision_67_bird,byte
+0x98a7,0x0003,ucode1080_countdown_2a_explosion,byte
+0x98aa,0x0007,ucode1080_collision_71_parachute,byte
+0x98b1,0x0003,ucode1080_collision_test_2a_explosion,byte
+0x98b4,0x0007,ucode1080_collision_2a_explosion,byte
+0x98bb,0x000a,ucode1080_animate_shape_2a_explosion,byte
+0x98c5,0x000d,ucode1080_animate_shape_71_parachute,byte
+0x98d2,0x0003,ucode6080_test_fire_state_f3_71_parachute,byte
+0x98d5,0x0005,ucode6080_fire_state_f2_76_pixel,byte
+0x98da,0x0003,ucode6080_test_fire_state_f3_76_pixel,byte
+0x98dd,0x0003,ucode6080_fire_state_f3_76_pixel,byte
+0x98e0,0x0003,ucode6080_homing_67_bird,byte
+0x98e3,0x0002,ucode1080_animate_shape_13_pixel,byte
+0x98e5,0x0005,ucode1080_countdown_13_pixel,byte
+0x98ea,0x0017,ucode1080_collision_66_ship,byte
+0x9901,0x0007,ucode4080_x_outside_66_ship,byte
+0x9908,0x000f,ucode0010_init_or_zero_07,byte
+0x9917,0x000f,ucode6080_fire_state_f2_65_pixel_exhaust,byte
+0x9926,0x0013,ucode1080_countdown_12_pixel,byte
+0x9939,0x0015,ucode0010_init_or_zero_04,byte
+0x994e,0x0013,ucode0010_init_or_zero_05,byte
+0x9961,0x0005,ucode0010_init_or_zero_0a,byte
+0x9966,0x0015,ucode6080_fire_state_f0_76_pixel,byte
+0x997b,0x0019,ucode6080_fire_state_f0_61_ship,byte
+0x9994,0x0019,ucode6080_fire_state_f2_61_ship,byte
+0x99ad,0x001f,ucode6080_fire_state_f1_76_pixel,byte
+0x99cc,0x0002,ucode1080_animate_shape_67_bird,byte
+0x99ce,0x000b,ucode4080_x_outside_67_bird,byte
+0x99d9,0x000b,ucode4080_y_outside_67_bird,byte
+0x99e4,0x0006,ucode1080_animate_shape_40_bird,byte
+0x99ea,0x0003,ucode6080_fire_state_f0_67_bird,byte
+0x99ed,0x0007,ucode6080_fire_state_f1_67_bird,byte
+0x99f4,0x0003,ucode1080_countdown_70_supply_plane,byte
+0x99f7,0x0002,ucode1080_animate_shape_63_pixel,byte
+0x99f9,0x0015,ucode1080_collision_78_pixel,byte
+0x9a0e,0x000f,ucode1080_collision_79_pixel,byte
+0x9a1d,0x0015,ucode1080_collision_7a_pixel,byte
+0x9a32,0x000f,ucode1080_collision_7b_pixel,byte
+0x9a41,0x0002,ucode1080_animate_shape_29_pixel,byte
+0x9a43,0x0003,ucode1080_countdown_29_pixel,byte
+0x9a46,0x0009,ucode6080_homing_6a_missile,byte
+0x9a4f,0x000b,ucode1080_collision_test_53_pixel_balloon_explosion,byte
+0x9a5a,0x000b,ucode1080_collision_test_54_pixel_balloon_explosion,byte
+0x9a65,0x000b,ucode1080_collision_test_55_pixel_balloon_explosion,byte
+0x9a70,0x000b,ucode1080_collision_test_56_pixel_balloon_explosion,byte
+0x9a7b,0x000b,ucode1080_collision_test_57_pixel_balloon_explosion,byte
+0x9a86,0x0009,ucode1080_collision_test_50_bullet,byte
+0x9a8f,0x0009,ucode1080_collision_test_51_bullet,byte
+0x9a98,0x0009,ucode1080_collision_test_52_bullet,byte
+0x9aa1,0x0005,ucode1080_countdown_2c_pixel,byte
+0x9aa6,0x0009,ucode6080_homing_68_missile,byte
+0x9aaf,0x0009,ucode6080_homing_69_missile,byte
+0x9ab8,0x0004,ucode6080_test_fire_state_f2_76_pixel,byte
+0x9abc,0x0003,ucode6080_test_fire_state_f1_7e_pixel,byte
+0x9abf,0x0003,ucode6080_test_fire_state_f3_7e_pixel,byte
+0x9ac2,0x000d,ucode4080_x_outside_7e_pixel,byte
+0x9acf,0x0007,ucode4080_x_outside_62_ship,byte
+0x9ad6,0x0015,ucode1080_collision_29_pixel,byte
+0x9aeb,0x0015,ucode1080_collision_61_ship,byte
+0x9b00,0x0009,ucode1080_countdown_7e_pixel,byte
+0x9b09,0x0002,ucode1080_animate_shape_7e_pixel,byte
+0x9b0b,0x001b,ucode6080_fire_state_f3_60_pixel,byte
+0x9b26,0x0002,ucode1080_animate_shape_3d_pixel,byte
+0x9b28,0x0013,ucode1080_countdown_3d_pixel,byte
+0x9b3b,0x000d,ucode0010_init_or_zero_0f,byte
+0x9b48,0x0009,ucode0010_init_or_zero_06,byte
+0x9b51,0x0002,ucode1080_animate_shape_3c_pixel,byte
+0x9b53,0x0002,ucode1080_collision_test_3c_pixel,byte
+0x9b55,0x0003,ucode1080_collision_3c_pixel,byte
+0x9b58,0x000b,ucode1080_countdown_3c_pixel,byte
+0x9b63,0x0005,ucode1080_countdown_65_pixel_exhaust,byte
+0x9b68,0x0005,ucode4080_x_outside_65_pixel_exhaust,byte
+0x9b6d,0x0005,ucode1080_collision_test_73_bullet,byte
+0x9b72,0x0005,ucode1080_collision_test_74_bullet,byte
+0x9b77,0x0005,ucode1080_collision_test_75_bullet,byte
+0x9b7c,0x0010,ucode1080_collision_test_71_parachute,byte
+0x9b8c,0x0005,ucode1080_collision_test_11_pixel,byte
+0x9b91,0x000d,ucode1080_collision_11_pixel,byte
+0x9b9e,0x001d,ucode1080_countdown_11_pixel,byte
+0x9bbb,0x0003,ucode6080_test_fire_state_f2_68_missile,byte
+0x9bbe,0x0003,ucode6080_fire_state_f2_68_missile,byte
+0x9bc1,0x0003,ucode6080_test_fire_state_f3_63_pixel,byte
+0x9bc4,0x0005,ucode6080_fire_state_f3_63_pixel,byte
+0x9bc9,0x0009,ucode1080_countdown_78_pixel,byte
+0x9bd2,0x0009,ucode1080_countdown_79_pixel,byte
+0x9bdb,0x0009,ucode6080_fire_state_f3_7a_pixel,byte
+0x9be4,0x0009,ucode1080_countdown_7b_pixel,byte
+0x9bed,0x0005,ucode4080_y_outside_76_pixel,byte
+0x9bf2,0x0017,ucode1080_collision_4d_headquarters_radar_icbm,byte
+0x9c09,0x0003,ucode4080_x_outside_76_pixel,byte
+0x9c0c,0x0008,ucode1080_animate_shape_49_silo,byte
+0x9c14,0x0019,ucode4080_x_outside_49_silo,byte
+0x9c2d,0x0008,ucode1080_animate_shape_4a_silo_haystack,byte
+0x9c35,0x0019,ucode4080_x_outside_4a_silo_haystack,byte
+0x9c4e,0x0008,ucode1080_animate_shape_4b_haystack_house,byte
+0x9c56,0x0019,ucode4080_x_outside_4b_haystack_house,byte
+0x9c6f,0x0008,ucode1080_animate_shape_4c_silo_house,byte
+0x9c77,0x0019,ucode4080_x_outside_4c_silo_house,byte
+0x9c90,0x001d,ucode1080_collision_49_silo,byte
+0x9cad,0x001d,ucode1080_collision_4a_silo_haystack,byte
+0x9cca,0x001d,ucode1080_collision_4b_haystack_house,byte
+0x9ce7,0x001d,ucode1080_collision_4c_silo_house,byte
+0x9d04,0x0019,ucode6080_fire_state_f1_7e_pixel,byte
+0x9d1d,0x0009,ucode6080_fire_state_f3_7e_pixel,byte
+0x9d26,0x0015,ucode0010_init_or_zero_02,byte
+0x9d3b,0x0015,ucode0010_init_or_zero_03,byte
+0x9d50,0x0005,ucode1080_countdown_62_ship,byte
+0x9d55,0x000f,ucode0010_init_or_zero_0c,byte
+0x9d64,0x0009,ucode4080_x_outside_64_pixel_ship,byte
+0x9d6d,0x0003,ucode6080_test_fire_state_f2_63_pixel,byte
+0x9d70,0x0007,ucode6080_fire_state_f1_7a_pixel,byte
+0x9d77,0x0007,ucode6080_fire_state_f1_7c_pixel,byte
+0x9d7e,0x0009,ucode6080_fire_state_f3_7c_pixel,byte
+0x9d87,0x0019,ucode6080_fire_state_f2_63_pixel,byte
+0x9da0,0x0009,ucode6080_fire_state_f2_7c_pixel,byte
+0x9da9,0x0013,ucode1080_collision_7c_pixel,byte
+0x9dbc,0x0005,ucode4080_y_outside_7c_pixel,byte
+0x9dc1,0x0003,ucode4080_x_outside_7c_pixel,byte
+0x9dc4,0x0015,ucode0010_init_or_zero_01,byte
+0x9dd9,0x0005,ucode1080_countdown_63_pixel,byte
+0x9dde,0x0002,ucode1080_collision_test_2c_pixel,byte
+0x9de0,0x000d,ucode1080_collision_2c_pixel,byte
 0x9ded,0x0001,recrack_loader,byte
 0xa800,0x0001,x_table_times2_div7_plus_5b,byte
 0xa900,0x0001,x_table_times2_mod7_minus_03,byte