org 32765 jp thanks omicron DEFB 108, 74, 44, 104 ; 0 0 0 0 A ZX ALFA FONT ;DATA MUST START ON boundary eg 32768 DEFB 0, 56, 32, 56 ; 0 0 0 0 DEFB 0, 32, 32, 32 ; 0 32 32 32 DEFB 0, 32, 0, 0 ; 0 32 0 0 DEFB 0, 80, 80, 0 ; 0 80 80 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 80, 112, 80 ; 0 80 112 80 DEFB 112, 80, 0, 0 ; 112 80 0 0 DEFB 0, 32, 48, 96 ; 0 32 48 96 DEFB 48, 96, 0, 0 ; 48 96 0 0 DEFB 0, 64, 80, 32 ; 0 64 80 32 DEFB 80, 16, 0, 0 ; 80 16 0 0 DEFB 0, 32, 80, 32 ; 0 32 80 32 DEFB 80, 48, 0, 0 ; 80 48 0 0 DEFB 0, 16, 32, 0 ; 0 16 32 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 16, 32, 32 ; 0 16 32 32 DEFB 32, 16, 0, 0 ; 32 16 0 0 DEFB 0, 64, 32, 32 ; 0 64 32 32 DEFB 32, 64, 0, 0 ; 32 64 0 0 DEFB 0, 80, 32, 112 ; 0 80 32 112 DEFB 32, 80, 0, 0 ; 32 80 0 0 DEFB 0, 32, 32, 112 ; 0 32 32 112 DEFB 32, 32, 0, 0 ; 32 32 0 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 32, 64, 0 ; 0 32 64 0 DEFB 0, 0, 0, 112 ; 0 0 0 112 L_FA6D: DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 32, 0, 0 ; 0 32 0 0 DEFB 0, 16, 16, 32 ; 0 16 16 32 DEFB 64, 64, 0, 0 ; 64 64 0 0 DEFB 0, 112, 80, 80 ; 0 112 80 80 DEFB 80, 112, 0, 0 ; 80 112 0 0 DEFB 0, 96, 32, 32 ; 0 96 32 32 DEFB 32, 112, 0, 0 ; 32 112 0 0 DEFB 0, 112, 16, 112 ; 0 112 16 112 DEFB 64, 112, 0, 0 ; 64 112 0 0 DEFB 0, 112, 16, 48 ; 0 112 16 48 DEFB 16, 112, 0, 0 ; 16 112 0 0 DEFB 0, 80, 80, 112 ; 0 80 80 112 DEFB 16, 16, 0, 0 ; 16 16 0 0 DEFB 0, 112, 64, 112 ; 0 112 64 112 L_FAAD: DEFB 16, 112, 0, 0 ; 16 112 0 0 DEFB 0, 112, 64, 112 ; 0 112 64 112 DEFB 80, 112, 0, 0 ; 80 112 0 0 DEFB 0, 112, 16, 16 ; 0 112 16 16 DEFB 32, 32, 0, 0 ; 32 32 0 0 DEFB 0, 112, 80, 112 ; 0 112 80 112 L_FAC5: DEFB 80, 112, 0, 0 ; 80 112 0 0 DEFB 0, 112, 80, 112 ; 0 112 80 112 L_FACD: DEFB 16, 112, 0, 0 ; 16 112 0 0 DEFB 0, 0, 0, 32 ; 0 0 0 32 DEFB 0, 32, 0, 0 ; 0 32 0 0 DEFB 0, 0, 0, 32 ; 0 0 0 32 DEFB 0, 32, 64, 0 ; 0 32 64 0 DEFB 0, 16, 32, 64 ; 0 16 32 64 DEFB 32, 16, 0, 0 ; 32 16 0 0 DEFB 0, 0, 112, 0 ; 0 0 112 0 DEFB 112, 0, 0, 0 ; 112 0 0 0 DEFB 0, 64, 32, 16 ; 0 64 32 16 DEFB 32, 64, 0, 0 ; 32 64 0 0 DEFB 0, 32, 80, 16 ; 0 32 80 16 DEFB 32, 0, 32, 0 ; 32 0 32 0 L_FB01: DEFB 0, 32, 112, 112 ; 0 32 112 112 L_FB05: DEFB 64, 48, 0, 0 ; 64 48 0 0 DEFB 0, 32, 80, 112 ; 0 32 80 112 DEFB 80, 80, 0, 0 ; 80 80 0 0 DEFB 0, 96, 80, 96 ; 0 96 80 96 DEFB 80, 96, 0, 0 ; 80 96 0 0 DEFB 0, 48, 64, 64 ; 0 48 64 64 DEFB 64, 48, 0, 0 ; 64 48 0 0 DEFB 0, 96, 80, 80 ; 0 96 80 80 DEFB 80, 96, 0, 0 ; 80 96 0 0 DEFB 0, 48, 64, 48 ; 0 48 64 48 DEFB 64, 48, 0, 0 ; 64 48 0 0 DEFB 0, 48, 64, 112 ; 0 48 64 112 DEFB 64, 64, 0, 0 ; 64 64 0 0 DEFB 0, 112, 64, 80 ; 0 112 64 80 DEFB 80, 112, 0, 0 ; 80 112 0 0 DEFB 0, 80, 80, 112 ; 0 80 80 112 DEFB 80, 80, 0, 0 ; 80 80 0 0 DEFB 0, 112, 32, 32 ; 0 112 32 32 DEFB 32, 112, 0, 0 ; 32 112 0 0 DEFB 0, 16, 16, 16 ; 0 16 16 16 DEFB 80, 112, 0, 0 ; 80 112 0 0 DEFB 0, 80, 80, 96 ; 0 80 80 96 DEFB 80, 80, 0, 0 ; 80 80 0 0 DEFB 0, 64, 64, 64 ; 0 64 64 64 DEFB 64, 112, 0, 0 ; 64 112 0 0 DEFB 0, 80, 112, 112 ; 0 80 112 112 L_FB6D: DEFB 80, 80, 0, 0 ; 80 80 0 0 DEFB 0, 80, 112, 112 ; 0 80 112 112 DEFB 112, 80, 0, 0 ; 112 80 0 0 DEFB 0, 112, 80, 80 ; 0 112 80 80 DEFB 80, 112, 0, 0 ; 80 112 0 0 DEFB 0, 112, 80, 112 ; 0 112 80 112 DEFB 64, 64, 0, 0 ; 64 64 0 0 DEFB 0, 112, 80, 80 ; 0 112 80 80 DEFB 112, 112, 0, 0 ; 112 112 0 0 DEFB 0, 96, 80, 96 ; 0 96 80 96 DEFB 80, 80, 0, 0 ; 80 80 0 0 DEFB 0, 48, 64, 32 ; 0 48 64 32 DEFB 16, 96, 0, 0 ; 16 96 0 0 DEFB 0, 112, 32, 32 ; 0 112 32 32 DEFB 32, 32, 0, 0 ; 32 32 0 0 DEFB 0, 80, 80, 80 ; 0 80 80 80 DEFB 80, 112, 0, 0 ; 80 112 0 0 DEFB 0, 80, 80, 80 ; 0 80 80 80 DEFB 80, 32, 0, 0 ; 80 32 0 0 DEFB 0, 80, 80, 112 ; 0 80 80 112 DEFB 112, 32, 0, 0 ; 112 32 0 0 DEFB 0, 80, 80, 32 ; 0 80 80 32 DEFB 80, 80, 0, 0 ; 80 80 0 0 DEFB 0, 80, 80, 112 ; 0 80 80 112 DEFB 32, 32, 0, 0 ; 32 32 0 0 DEFB 0, 112, 16, 32 ; 0 112 16 32 DEFB 64, 112, 0, 0 ; 64 112 0 0 DEFB 0, 112, 64, 64 ; 0 112 64 64 DEFB 64, 112, 0, 0 ; 64 112 0 0 DEFB 0, 64, 64, 32 ; 0 64 64 32 DEFB 16, 16, 0, 0 ; 16 16 0 0 DEFB 0, 112, 16, 16 ; 0 112 16 16 DEFB 16, 112, 0, 0 ; 16 112 0 0 DEFB 0, 32, 112, 32 ; 0 32 112 32 DEFB 32, 32, 0, 0 ; 32 32 0 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 L_FBFD: DEFB 0, 0, 240, 0 ; 0 0 240 0 DEFB 0, 112, 64, 32 ; 0 112 64 32 DEFB 64, 112, 0, 0 ; 64 112 0 0 DEFB 0, 0, 112, 16 ; 0 0 112 16 DEFB 112, 112, 0, 0 ; 112 112 0 0 DEFB 0, 64, 64, 96 ; 0 64 64 96 DEFB 80, 96, 0, 0 ; 80 96 0 0 DEFB 0, 0, 48, 64 ; 0 0 48 64 DEFB 64, 48, 0, 0 ; 64 48 0 0 DEFB 0, 16, 16, 48 ; 0 16 16 48 DEFB 80, 48, 0, 0 ; 80 48 0 0 DEFB 0, 0, 48, 112 ; 0 0 48 112 DEFB 64, 48, 0, 0 ; 64 48 0 0 DEFB 0, 48, 64, 96 ; 0 48 64 96 DEFB 64, 64, 0, 0 ; 64 64 0 0 DEFB 0, 0, 112, 112 ; 0 0 112 112 DEFB 16, 96, 0, 0 ; 16 96 0 0 DEFB 0, 64, 64, 96 ; 0 64 64 96 DEFB 80, 80, 0, 0 ; 80 80 0 0 DEFB 0, 32, 0, 96 ; 0 32 0 96 DEFB 32, 112, 0, 0 ; 32 112 0 0 DEFB 0, 16, 0, 16 ; 0 16 0 16 DEFB 80, 32, 0, 0 ; 80 32 0 0 DEFB 0, 64, 80, 96 ; 0 64 80 96 L_FC5D: DEFB 80, 80, 0, 0 ; 80 80 0 0 DEFB 0, 64, 64, 64 ; 0 64 64 64 DEFB 64, 32, 0, 0 ; 64 32 0 0 DEFB 0, 0, 80, 112 ; 0 0 80 112 DEFB 80, 80, 0, 0 ; 80 80 0 0 DEFB 0, 0, 96, 80 ; 0 0 96 80 DEFB 80, 80, 0, 0 ; 80 80 0 0 DEFB 0, 0, 32, 80 ; 0 0 32 80 DEFB 80, 32, 0, 0 ; 80 32 0 0 DEFB 0, 0, 112, 112 ; 0 0 112 112 DEFB 64, 64, 0, 0 ; 64 64 0 0 DEFB 0, 0, 112, 112 ; 0 0 112 112 DEFB 16, 16, 0, 0 ; 16 16 0 0 DEFB 0, 0, 48, 64 ; 0 0 48 64 DEFB 64, 64, 0, 0 ; 64 64 0 0 DEFB 0, 0, 48, 96 ; 0 0 48 96 L_FC9D: DEFB 48, 96, 0, 0 ; 48 96 0 0 DEFB 0, 32, 112, 32 ; 0 32 112 32 DEFB 32, 16, 0, 0 ; 32 16 0 0 DEFB 0, 0, 80, 80 ; 0 0 80 80 DEFB 80, 112, 0, 0 ; 80 112 0 0 DEFB 0, 0, 80, 80 ; 0 0 80 80 DEFB 80, 32, 0, 0 ; 80 32 0 0 DEFB 0, 0, 80, 112 ; 0 0 80 112 DEFB 112, 32, 0, 0 ; 112 32 0 0 DEFB 0, 0, 80, 32 ; 0 0 80 32 DEFB 32, 80, 0, 0 ; 32 80 0 0 DEFB 0, 0, 80, 112 ; 0 0 80 112 L_FCCD: DEFB 16, 96, 0, 0 ; 16 96 0 0 DEFB 0, 0, 112, 32 ; 0 0 112 32 DEFB 64, 112, 0, 0 ; 64 112 0 0 DEFB 0, 48, 32, 64 ; 0 48 32 64 DEFB 32, 48, 0, 0 ; 32 48 0 0 DEFB 0, 32, 32, 32 ; 0 32 32 32 DEFB 32, 32, 0, 0 ; 32 32 0 0 DEFB 0, 96, 32, 16 ; 0 96 32 16 DEFB 32, 96, 0, 0 ; 32 96 0 0 DEFB 0, 48, 80, 0 ; 0 48 80 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 32, 80, 112 ; 0 32 80 112 L_FCFD: DEFB 80, 32, 0, 0 ; 80 32 0 0 alasca DEFB 108, 74, 44, 104 ; 0 0 0 0 A ZX ALFA FONT DEFB 0, 56, 32, 56 ; 0 0 0 0 DEFB 60, 36, 36, 36 ; 60 36 36 36 DEFB 60, 36, 60, 0 ; 60 36 60 0 DEFB 126, 90, 90, 126 ; 126 90 90 126 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 126, 219, 129, 219 ; 126 219 129 219 DEFB 129, 219, 126, 0 ; 129 219 126 0 DEFB 119, 193, 183, 195 ; 119 193 183 195 DEFB 237, 131, 238, 0 ; 237 131 238 0 DEFB 239, 153, 179, 231 ; 239 153 179 231 DEFB 205, 153, 247, 0 ; 205 153 247 0 DEFB 56, 108, 87, 197 ; 56 108 87 197 DEFB 179, 197, 127, 0 ; 179 197 127 0 DEFB 28, 36, 72, 112 ; 28 36 72 112 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 28, 36, 40, 40 ; 28 36 40 40 DEFB 40, 36, 28, 0 ; 40 36 28 0 DEFB 56, 36, 20, 20 ; 56 36 20 20 DEFB 20, 36, 56, 0 ; 20 36 56 0 L_FA50: DEFB 126, 90, 231, 129 ; 126 90 231 129 DEFB 231, 90, 126, 0 ; 231 90 126 0 DEFB 60, 36, 231, 129 ; 60 36 231 129 DEFB 231, 36, 60, 0 ; 231 36 60 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 28, 20, 36, 56 ; 28 20 36 56 DEFB 0, 0, 255, 129 ; 0 0 255 129 L_FA6C: DEFB 255, 0, 0, 0 ; 255 0 0 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 60, 36, 36, 60 ; 60 36 36 60 DEFB 7, 9, 18, 36 ; 7 9 18 36 DEFB 72, 144, 224, 0 ; 72 144 224 0 DEFB 255, 129, 177, 165 ; 255 129 177 165 DEFB 141, 129, 255, 0 ; 141 129 255 0 DEFB 60, 100, 68, 100 ; 60 100 68 100 DEFB 231, 129, 255, 0 ; 231 129 255 0 DEFB 254, 131, 253, 195 ; 254 131 253 195 DEFB 191, 129, 255, 0 ; 191 129 255 0 DEFB 255, 129, 253, 35 ; 255 129 253 35 DEFB 253, 129, 255, 0 ; 253 129 255 0 DEFB 30, 50, 106, 219 ; 30 50 106 219 DEFB 129, 251, 14, 0 ; 129 251 14 0 DEFB 255, 129, 191, 131 ; 255 129 191 131 DEFB 253, 131, 254, 0 ; 253 131 254 0 DEFB 126, 195, 190, 131 ; 126 195 190 131 DEFB 189, 195, 126, 0 ; 189 195 126 0 DEFB 255, 129, 249, 19 ; 255 129 249 19 DEFB 38, 76, 120, 0 ; 38 76 120 0 DEFB 126, 195, 189, 195 ; 126 195 189 195 DEFB 189, 195, 126, 0 ; 189 195 126 0 DEFB 126, 195, 189, 193 ; 126 195 189 193 DEFB 125, 195, 126, 0 ; 125 195 126 0 DEFB 60, 36, 36, 60 ; 60 36 36 60 DEFB 36, 36, 60, 0 ; 36 36 60 0 DEFB 0, 0, 28, 20 ; 0 0 28 20 DEFB 28, 20, 36, 56 ; 28 20 36 56 DEFB 14, 18, 38, 72 ; 14 18 38 72 DEFB 38, 18, 14, 0 ; 38 18 14 0 DEFB 0, 255, 129, 255 ; 0 255 129 255 DEFB 129, 255, 0, 0 ; 129 255 0 0 DEFB 112, 72, 100, 18 ; 112 72 100 18 DEFB 100, 72, 112, 0 ; 100 72 112 0 DEFB 126, 195, 185, 243 ; 126 195 185 243 DEFB 38, 60, 36, 60 ; 38 60 36 60 DEFB 126, 195, 181, 161 ; 126 195 181 161 DEFB 191, 194, 126, 0 ; 191 194 126 0 DEFB 255, 129, 189, 129 ; 255 129 189 129 DEFB 189, 165, 231, 0 ; 189 165 231 0 DEFB 254, 131, 189, 131 ; 254 131 189 131 DEFB 189, 131, 254, 0 ; 189 131 254 0 DEFB 255, 129, 191, 160 ; 255 129 191 160 DEFB 191, 129, 255, 0 ; 191 129 255 0 DEFB 254, 131, 189, 165 ; 254 131 189 165 DEFB 189, 131, 254, 0 ; 189 131 254 0 DEFB 255, 129, 191, 130 ; 255 129 191 130 DEFB 191, 129, 255, 0 ; 191 129 255 0 DEFB 255, 129, 191, 130 ; 255 129 191 130 DEFB 190, 160, 224, 0 ; 190 160 224 0 DEFB 255, 129, 191, 161 ; 255 129 191 161 DEFB 189, 129, 255, 0 ; 189 129 255 0 DEFB 231, 165, 189, 129 ; 231 165 189 129 DEFB 189, 165, 231, 0 ; 189 165 231 0 DEFB 255, 129, 231, 36 ; 255 129 231 36 DEFB 231, 129, 255, 0 ; 231 129 255 0 DEFB 7, 5, 5, 229 ; 7 5 5 229 DEFB 189, 129, 255, 0 ; 189 129 255 0 DEFB 239, 185, 179, 134 ; 239 185 179 134 DEFB 179, 185, 239, 0 ; 179 185 239 0 DEFB 224, 160, 160, 160 ; 224 160 160 160 DEFB 191, 129, 255, 0 ; 191 129 255 0 DEFB 231, 189, 153, 165 ; 231 189 153 165 DEFB 189, 165, 231, 0 ; 189 165 231 0 DEFB 247, 157, 141, 165 ; 247 157 141 165 DEFB 177, 185, 239, 0 ; 177 185 239 0 DEFB 255, 129, 189, 165 ; 255 129 189 165 DEFB 189, 129, 255, 0 ; 189 129 255 0 DEFB 255, 129, 189, 129 ; 255 129 189 129 DEFB 191, 160, 224, 0 ; 191 160 224 0 DEFB 255, 129, 189, 173 ; 255 129 189 173 DEFB 185, 129, 255, 0 ; 185 129 255 0 DEFB 255, 129, 189, 129 ; 255 129 189 129 DEFB 179, 169, 231, 0 ; 179 169 231 0 DEFB 255, 129, 191, 129 ; 255 129 191 129 DEFB 253, 129, 255, 0 ; 253 129 255 0 DEFB 255, 129, 231, 36 ; 255 129 231 36 DEFB 36, 36, 60, 0 ; 36 36 60 0 DEFB 231, 165, 165, 165 ; 231 165 165 165 DEFB 189, 129, 255, 0 ; 189 129 255 0 DEFB 231, 165, 165, 153 ; 231 165 165 153 DEFB 66, 36, 24, 0 ; 66 36 24 0 DEFB 231, 165, 189, 165 ; 231 165 189 165 DEFB 153, 189, 102, 0 ; 153 189 102 0 DEFB 231, 189, 219, 102 ; 231 189 219 102 DEFB 219, 189, 231, 0 ; 219 189 231 0 DEFB 231, 189, 153, 195 ; 231 189 153 195 DEFB 102, 36, 60, 0 ; 102 36 60 0 DEFB 255, 129, 243, 102 ; 255 129 243 102 DEFB 207, 129, 255, 0 ; 207 129 255 0 DEFB 31, 17, 23, 20 ; 31 17 23 20 DEFB 23, 17, 31, 0 ; 23 17 31 0 DEFB 224, 144, 72, 36 ; 224 144 72 36 DEFB 18, 9, 7, 0 ; 18 9 7 0 DEFB 248, 136, 232, 40 ; 248 136 232 40 DEFB 232, 136, 248, 0 ; 232 136 248 0 DEFB 60, 102, 195, 165 ; 60 102 195 165 DEFB 231, 36, 60, 0 ; 231 36 60 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 0, 0, 255 ; 0 0 0 255 DEFB 127, 193, 159, 207 ; 127 193 159 207 DEFB 205, 129, 255, 0 ; 205 129 255 0 DEFB 0, 126, 67, 121 ; 0 126 67 121 DEFB 193, 129, 255, 0 ; 193 129 255 0 DEFB 224, 191, 129, 189 ; 224 191 129 189 DEFB 189, 129, 255, 0 ; 189 129 255 0 DEFB 0, 255, 129, 191 ; 0 255 129 191 DEFB 191, 129, 255, 0 ; 191 129 255 0 DEFB 7, 253, 129, 189 ; 7 253 129 189 DEFB 189, 129, 255, 0 ; 189 129 255 0 DEFB 0, 126, 195, 129 ; 0 126 195 129 DEFB 159, 193, 127, 0 ; 159 193 127 0 DEFB 31, 49, 239, 129 ; 31 49 239 129 DEFB 239, 40, 56, 0 ; 239 40 56 0 DEFB 0, 127, 193, 189 ; 0 127 193 189 DEFB 129, 253, 66, 124 ; 129 253 66 124 DEFB 224, 191, 129, 189 ; 224 191 129 189 DEFB 165, 165, 231, 0 ; 165 165 231 0 DEFB 60, 36, 124, 68 ; 60 36 124 68 DEFB 231, 129, 255, 0 ; 231 129 255 0 DEFB 15, 9, 15, 9 ; 15 9 15 9 DEFB 237, 189, 193, 127 ; 237 189 193 127 DEFB 224, 188, 180, 140 ; 224 188 180 140 DEFB 183, 185, 239, 0 ; 183 185 239 0 DEFB 240, 144, 144, 144 ; 240 144 144 144 DEFB 159, 193, 127, 0 ; 159 193 127 0 DEFB 0, 255, 129, 149 ; 0 255 129 149 DEFB 149, 149, 255, 0 ; 149 149 255 0 DEFB 0, 254, 131, 189 ; 0 254 131 189 DEFB 165, 165, 231, 0 ; 165 165 231 0 DEFB 0, 126, 195, 189 ; 0 126 195 189 DEFB 189, 195, 126, 0 ; 189 195 126 0 DEFB 0, 255, 129, 189 ; 0 255 129 189 DEFB 189, 129, 191, 224 ; 189 129 191 224 DEFB 0, 254, 130, 186 ; 0 254 130 186 DEFB 186, 131, 249, 15 ; 186 131 249 15 DEFB 0, 127, 193, 159 ; 0 127 193 159 DEFB 144, 144, 240, 0 ; 144 144 240 0 DEFB 0, 127, 193, 143 ; 0 127 193 143 DEFB 241, 131, 254, 0 ; 241 131 254 0 DEFB 60, 231, 129, 231 ; 60 231 129 231 DEFB 39, 49, 31, 0 ; 39 49 31 0 DEFB 0, 231, 165, 165 ; 0 231 165 165 DEFB 189, 195, 126, 0 ; 189 195 126 0 DEFB 0, 231, 165, 153 ; 0 231 165 153 DEFB 66, 36, 24, 0 ; 66 36 24 0 DEFB 0, 255, 169, 169 ; 0 255 169 169 DEFB 169, 131, 254, 0 ; 169 131 254 0 DEFB 0, 255, 153, 231 ; 0 255 153 231 DEFB 231, 153, 255, 0 ; 231 153 255 0 DEFB 0, 231, 165, 189 ; 0 231 165 189 DEFB 129, 253, 65, 127 ; 129 253 65 127 DEFB 0, 255, 129, 115 ; 0 255 129 115 DEFB 206, 129, 255, 0 ; 206 129 255 0 DEFB 31, 17, 119, 76 ; 31 17 119 76 DEFB 119, 17, 31, 0 ; 119 17 31 0 DEFB 60, 36, 36, 36 ; 60 36 36 36 DEFB 36, 36, 60, 0 ; 36 36 60 0 DEFB 248, 136, 238, 50 ; 248 136 238 50 DEFB 238, 136, 248, 0 ; 238 136 248 0 DEFB 119, 205, 165, 179 ; 119 205 165 179 DEFB 238, 0, 0, 0 ; 238 0 0 0 DEFB 126, 129, 189, 161 ; 126 129 189 161 DEFB 189, 129, 126, 0 ; 189 129 126 0 new DEFB 108, 74, 44, 104 ; 0 0 0 0 A ZX ALFA FONT DEFB 0, 56, 32, 56 ; 0 0 0 0 DEFB 0, 32, 48, 48 ; 0 32 48 48 DEFB 24, 8, 0, 12 ; 24 8 0 12 DEFB 0, 36, 54, 18 ; 0 36 54 18 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 32, 116, 46 ; 0 32 116 46 DEFB 36, 116, 46, 4 ; 36 116 46 4 DEFB 0, 16, 60, 112 ; 0 16 60 112 DEFB 24, 84, 60, 16 ; 24 84 60 16 DEFB 0, 70, 108, 24 ; 0 70 108 24 DEFB 48, 100, 70, 0 ; 48 100 70 0 DEFB 0, 0, 48, 40 ; 0 0 48 40 DEFB 122, 76, 100, 58 ; 122 76 100 58 DEFB 0, 8, 24, 16 ; 0 8 24 16 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 12, 24, 16 ; 0 12 24 16 DEFB 24, 24, 12, 4 ; 24 24 12 4 DEFB 0, 32, 48, 24 ; 0 32 48 24 DEFB 24, 8, 24, 48 ; 24 8 24 48 DEFB 0, 0, 100, 60 ; 0 0 100 60 L_FA54: DEFB 248, 62, 104, 12 ; 248 62 104 12 DEFB 0, 0, 16, 16 ; 0 0 16 16 L_FA5C: DEFB 120, 30, 8, 8 ; 120 30 8 8 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 16, 24, 24, 48 ; 16 24 24 48 DEFB 0, 0, 0, 112 ; 0 0 0 112 DEFB 14, 0, 0, 0 ; 14 0 0 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 24, 24, 0 ; 0 24 24 0 DEFB 0, 0, 6, 12 ; 0 0 6 12 DEFB 24, 48, 96, 64 ; 24 48 96 64 L_FA80: DEFB 0, 28, 54, 102 ; 0 28 54 102 DEFB 102, 102, 108, 104 ; 102 102 108 104 DEFB 0, 8, 24, 56 ; 0 8 24 56 DEFB 24, 24, 28, 48 ; 24 24 28 48 DEFB 0, 28, 102, 12 ; 0 28 102 12 DEFB 24, 48, 102, 120 ; 24 48 102 120 L_FA98: DEFB 0, 28, 102, 6 ; 0 28 102 6 DEFB 28, 6, 108, 56 ; 28 6 108 56 DEFB 0, 4, 108, 108 ; 0 4 108 108 DEFB 126, 12, 12, 8 ; 126 12 12 8 DEFB 0, 14, 112, 96 ; 0 14 112 96 DEFB 126, 6, 108, 56 ; 126 6 108 56 DEFB 0, 14, 48, 96 ; 0 14 48 96 DEFB 126, 102, 108, 56 ; 126 102 108 56 DEFB 0, 30, 102, 12 ; 0 30 102 12 DEFB 24, 24, 24, 24 ; 24 24 24 24 DEFB 0, 28, 54, 102 ; 0 28 54 102 L_FAC4: DEFB 60, 54, 102, 60 ; 60 54 102 60 DEFB 0, 28, 54, 102 ; 0 28 54 102 DEFB 126, 6, 12, 120 ; 126 6 12 120 DEFB 0, 0, 0, 24 ; 0 0 0 24 DEFB 8, 0, 24, 8 ; 8 0 24 8 L_FAD8: DEFB 0, 0, 24, 8 ; 0 0 24 8 DEFB 16, 24, 24, 48 ; 16 24 24 48 L_FAE0: DEFB 0, 0, 8, 24 ; 0 0 8 24 DEFB 48, 24, 12, 4 ; 48 24 12 4 DEFB 0, 0, 112, 14 ; 0 0 112 14 DEFB 0, 112, 14, 0 ; 0 112 14 0 DEFB 0, 0, 32, 48 ; 0 0 32 48 DEFB 24, 12, 24, 16 ; 24 12 24 16 DEFB 0, 56, 100, 6 ; 0 56 100 6 DEFB 28, 0, 24, 8 ; 28 0 24 8 DEFB 0, 60, 66, 90 ; 0 60 66 90 DEFB 82, 76, 64, 60 ; 82 76 64 60 L_FB08: DEFB 0, 56, 102, 102 ; 0 56 102 102 DEFB 118, 110, 102, 6 ; 118 110 102 6 DEFB 0, 120, 110, 102 ; 0 120 110 102 DEFB 124, 102, 118, 28 ; 124 102 118 28 DEFB 0, 56, 108, 102 ; 0 56 108 102 DEFB 96, 96, 118, 28 ; 96 96 118 28 DEFB 0, 56, 108, 102 ; 0 56 108 102 L_FB24: DEFB 102, 102, 124, 24 ; 102 102 124 24 DEFB 0, 56, 102, 96 ; 0 56 102 96 DEFB 124, 96, 112, 62 ; 124 96 112 62 DEFB 0, 56, 102, 96 ; 0 56 102 96 DEFB 124, 96, 96, 64 ; 124 96 96 64 DEFB 0, 56, 108, 102 ; 0 56 108 102 DEFB 96, 110, 102, 60 ; 96 110 102 60 DEFB 0, 102, 102, 118 ; 0 102 102 118 DEFB 126, 102, 102, 6 ; 126 102 102 6 DEFB 0, 16, 24, 24 ; 0 16 24 24 DEFB 24, 24, 24, 8 ; 24 24 24 8 DEFB 0, 14, 6, 70 ; 0 14 6 70 DEFB 102, 98, 62, 28 ; 102 98 62 28 DEFB 0, 70, 108, 120 ; 0 70 108 120 DEFB 120, 108, 102, 34 ; 120 108 102 34 DEFB 0, 96, 96, 96 ; 0 96 96 96 DEFB 96, 96, 112, 14 ; 96 96 112 14 DEFB 0, 66, 102, 110 ; 0 66 102 110 DEFB 126, 102, 102, 38 ; 126 102 102 38 DEFB 0, 68, 102, 118 ; 0 68 102 118 DEFB 126, 110, 102, 2 ; 126 110 102 2 DEFB 0, 56, 108, 102 ; 0 56 108 102 DEFB 102, 102, 118, 28 ; 102 102 118 28 DEFB 0, 120, 110, 102 ; 0 120 110 102 DEFB 124, 96, 96, 32 ; 124 96 96 32 DEFB 0, 56, 108, 102 ; 0 56 108 102 DEFB 102, 110, 126, 28 ; 102 110 126 28 DEFB 0, 120, 100, 118 ; 0 120 100 118 DEFB 124, 108, 102, 6 ; 124 108 102 6 DEFB 0, 56, 102, 112 ; 0 56 102 112 DEFB 12, 102, 54, 28 ; 12 102 54 28 DEFB 0, 112, 30, 24 ; 0 112 30 24 DEFB 24, 24, 24, 8 ; 24 24 24 8 DEFB 0, 96, 102, 102 ; 0 96 102 102 DEFB 102, 102, 118, 28 ; 102 102 118 28 L_FBB0: DEFB 0, 96, 102, 102 ; 0 96 102 102 DEFB 102, 36, 60, 24 ; 102 36 60 24 DEFB 0, 96, 102, 118 ; 0 96 102 118 DEFB 126, 110, 70, 2 ; 126 110 70 2 DEFB 0, 96, 102, 28 ; 0 96 102 28 DEFB 24, 60, 102, 6 ; 24 60 102 6 DEFB 0, 96, 98, 118 ; 0 96 98 118 DEFB 60, 24, 24, 24 ; 60 24 24 24 DEFB 0, 124, 62, 14 ; 0 124 62 14 DEFB 24, 48, 124, 62 ; 24 48 124 62 DEFB 0, 0, 60, 48 ; 0 0 60 48 DEFB 48, 24, 24, 30 ; 48 24 24 30 DEFB 0, 0, 64, 96 ; 0 0 64 96 DEFB 48, 24, 12, 4 ; 48 24 12 4 DEFB 0, 0, 120, 24 ; 0 0 120 24 DEFB 24, 12, 12, 60 ; 24 12 12 60 DEFB 0, 24, 60, 90 ; 0 24 60 90 DEFB 24, 24, 24, 8 ; 24 24 24 8 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 0, 0, 255 ; 0 0 0 255 L_FC00: DEFB 0, 112, 78, 96 ; 0 112 78 96 DEFB 56, 96, 98, 30 ; 56 96 98 30 DEFB 0, 0, 0, 28 ; 0 0 0 28 DEFB 4, 124, 100, 60 ; 4 124 100 60 DEFB 0, 64, 96, 96 ; 0 64 96 96 DEFB 120, 100, 100, 60 ; 120 100 100 60 DEFB 0, 0, 0, 120 ; 0 0 0 120 DEFB 100, 96, 112, 60 ; 100 96 112 60 DEFB 0, 4, 12, 12 ; 0 4 12 12 DEFB 60, 76, 100, 120 ; 60 76 100 120 DEFB 0, 0, 0, 60 ; 0 0 0 60 DEFB 98, 108, 56, 30 ; 98 108 56 30 DEFB 0, 56, 36, 96 ; 0 56 36 96 DEFB 120, 96, 96, 64 ; 120 96 96 64 DEFB 0, 0, 60, 108 ; 0 0 60 108 DEFB 108, 28, 76, 56 ; 108 28 76 56 DEFB 0, 96, 96, 120 ; 0 96 96 120 DEFB 108, 108, 108, 4 ; 108 108 108 4 DEFB 0, 24, 0, 48 ; 0 24 0 48 DEFB 24, 24, 56, 60 ; 24 24 56 60 DEFB 0, 12, 0, 8 ; 0 12 0 8 DEFB 12, 76, 108, 60 ; 12 76 108 60 DEFB 0, 68, 108, 120 ; 0 68 108 120 DEFB 112, 120, 108, 4 ; 112 120 108 4 DEFB 0, 32, 48, 48 ; 0 32 48 48 DEFB 48, 48, 48, 12 ; 48 48 48 12 DEFB 0, 0, 224, 248 ; 0 0 224 248 DEFB 222, 214, 214, 6 ; 222 214 214 6 DEFB 0, 0, 120, 124 ; 0 0 120 124 DEFB 108, 108, 44, 4 ; 108 108 44 4 DEFB 0, 0, 0, 56 ; 0 0 0 56 DEFB 108, 100, 100, 56 ; 108 100 100 56 DEFB 0, 0, 56, 76 ; 0 0 56 76 DEFB 100, 120, 96, 96 ; 100 120 96 96 DEFB 0, 0, 56, 76 ; 0 0 56 76 DEFB 100, 60, 12, 14 ; 100 60 12 14 DEFB 0, 0, 0, 120 ; 0 0 0 120 DEFB 100, 96, 96, 32 ; 100 96 96 32 DEFB 0, 0, 0, 60 ; 0 0 0 60 DEFB 112, 24, 68, 60 ; 112 24 68 60 DEFB 0, 48, 48, 120 ; 0 48 48 120 DEFB 48, 48, 48, 12 ; 48 48 48 12 DEFB 0, 0, 0, 76 ; 0 0 0 76 DEFB 108, 100, 108, 56 ; 108 100 108 56 DEFB 0, 0, 0, 76 ; 0 0 0 76 L_FCB4: DEFB 108, 108, 60, 24 ; 108 108 60 24 DEFB 0, 0, 0, 214 ; 0 0 0 214 DEFB 214, 246, 254, 30 ; 214 246 254 30 DEFB 0, 0, 108, 108 ; 0 0 108 108 DEFB 16, 104, 108, 12 ; 16 104 108 12 DEFB 0, 0, 76, 108 ; 0 0 76 108 DEFB 100, 28, 76, 56 ; 100 28 76 56 DEFB 0, 0, 120, 60 ; 0 0 120 60 DEFB 16, 32, 120, 60 ; 16 32 120 60 L_FCD8: DEFB 0, 0, 60, 48 ; 0 0 60 48 DEFB 48, 120, 24, 30 ; 48 120 24 30 DEFB 0, 16, 24, 24 ; 0 16 24 24 DEFB 24, 24, 24, 8 ; 24 24 24 8 DEFB 0, 0, 120, 24 ; 0 0 120 24 DEFB 30, 12, 12, 60 ; 30 12 12 60 DEFB 0, 50, 90, 78 ; 0 50 90 78 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 124, 194, 218 ; 0 124 194 218 DEFB 210, 218, 194, 62 ; 210 218 194 62 battle DEFB 108, 74, 44, 104 ; 0 0 0 0 A ZX ALFA FONT DEFB 0, 56, 32, 56 ; 0 0 0 0 DEFB 24, 60, 60, 24 ; 24 60 60 24 DEFB 24, 0, 24, 24 ; 24 0 24 24 DEFB 38, 70, 98, 100 ; 38 70 98 100 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 68, 254, 68, 68 ; 68 254 68 68 DEFB 68, 254, 68, 0 ; 68 254 68 0 DEFB 16, 60, 114, 56 ; 16 60 114 56 DEFB 22, 118, 60, 16 ; 22 118 60 16 DEFB 66, 164, 72, 16 ; 66 164 72 16 DEFB 36, 74, 132, 0 ; 36 74 132 0 DEFB 56, 116, 52, 91 ; 56 116 52 91 DEFB 204, 198, 115, 0 ; 204 198 115 0 DEFB 24, 24, 16, 0 ; 24 24 16 0 L_FA3C: DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 12, 24, 24, 24 ; 12 24 24 24 DEFB 24, 24, 12, 0 ; 24 24 12 0 DEFB 48, 24, 24, 24 ; 48 24 24 24 DEFB 24, 24, 48, 0 ; 24 24 48 0 DEFB 0, 60, 24, 126 ; 0 60 24 126 DEFB 24, 60, 0, 0 ; 24 60 0 0 DEFB 0, 8, 8, 62 ; 0 8 8 62 DEFB 8, 8, 0, 0 ; 8 8 0 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 L_FA64: DEFB 0, 24, 24, 48 ; 0 24 24 48 DEFB 0, 0, 0, 62 ; 0 0 0 62 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 28, 28, 0 ; 0 28 28 0 DEFB 2, 4, 8, 0 ; 2 4 8 0 DEFB 32, 64, 128, 0 ; 32 64 128 0 DEFB 108, 198, 206, 214 ; 108 198 206 214 DEFB 230, 198, 108, 0 ; 230 198 108 0 DEFB 24, 56, 24, 24 ; 24 56 24 24 DEFB 24, 24, 60, 0 ; 24 24 60 0 DEFB 108, 238, 76, 24 ; 108 238 76 24 DEFB 2, 126, 220, 0 ; 2 126 220 0 DEFB 108, 230, 6, 12 ; 108 230 6 12 DEFB 6, 230, 108, 0 ; 6 230 108 0 DEFB 12, 12, 44, 76 ; 12 12 44 76 L_FAA4: DEFB 238, 12, 30, 0 ; 238 12 30 0 DEFB 118, 124, 96, 12 ; 118 124 96 12 DEFB 110, 238, 108, 0 ; 110 238 108 0 DEFB 108, 198, 192, 236 ; 108 198 192 236 DEFB 198, 198, 108, 0 ; 198 198 108 0 DEFB 246, 222, 130, 12 ; 246 222 130 12 DEFB 24, 56, 56, 0 ; 24 56 56 0 L_FAC0: DEFB 108, 198, 198, 108 ; 108 198 198 108 DEFB 198, 198, 108, 0 ; 198 198 108 0 DEFB 108, 198, 198, 110 ; 108 198 198 110 DEFB 6, 198, 108, 0 ; 6 198 108 0 DEFB 0, 0, 28, 28 ; 0 0 28 28 DEFB 0, 28, 28, 0 ; 0 28 28 0 DEFB 0, 24, 24, 0 ; 0 24 24 0 DEFB 24, 24, 48, 0 ; 24 24 48 0 DEFB 4, 12, 24, 48 ; 4 12 24 48 DEFB 24, 12, 4, 0 ; 24 12 4 0 DEFB 0, 0, 62, 0 ; 0 0 62 0 DEFB 62, 0, 0, 0 ; 62 0 0 0 DEFB 32, 48, 24, 12 ; 32 48 24 12 DEFB 24, 48, 32, 0 ; 24 48 32 0 L_FAF8: DEFB 110, 199, 199, 28 ; 110 199 199 28 DEFB 16, 0, 24, 0 ; 16 0 24 0 DEFB 108, 254, 254, 254 ; 108 254 254 254 DEFB 124, 56, 16, 0 ; 124 56 16 0 DEFB 24, 24, 12, 44 ; 24 24 12 44 DEFB 102, 70, 239, 0 ; 102 70 239 0 DEFB 236, 102, 102, 108 ; 236 102 102 108 L_FB14: DEFB 102, 102, 236, 0 ; 102 102 236 0 DEFB 54, 102, 96, 96 ; 54 102 96 96 DEFB 96, 98, 52, 0 ; 96 98 52 0 DEFB 236, 102, 102, 102 ; 236 102 102 102 DEFB 102, 102, 236, 0 ; 102 102 236 0 DEFB 238, 98, 96, 108 ; 238 98 96 108 DEFB 96, 98, 238, 0 ; 96 98 238 0 DEFB 238, 98, 96, 108 ; 238 98 96 108 DEFB 96, 96, 240, 0 ; 96 96 240 0 DEFB 54, 98, 96, 96 ; 54 98 96 96 DEFB 110, 102, 52, 0 ; 110 102 52 0 DEFB 231, 102, 102, 110 ; 231 102 102 110 DEFB 102, 102, 231, 0 ; 102 102 231 0 DEFB 60, 24, 24, 24 ; 60 24 24 24 DEFB 24, 24, 60, 0 ; 24 24 60 0 DEFB 30, 12, 12, 12 ; 30 12 12 12 DEFB 236, 236, 104, 0 ; 236 236 104 0 DEFB 238, 100, 104, 104 ; 238 100 104 104 DEFB 108, 102, 247, 0 ; 108 102 247 0 DEFB 240, 96, 96, 96 ; 240 96 96 96 DEFB 96, 102, 238, 0 ; 96 102 238 0 DEFB 199, 230, 118, 54 ; 199 230 118 54 DEFB 166, 134, 135, 0 ; 166 134 135 0 DEFB 207, 230, 118, 54 ; 207 230 118 54 DEFB 94, 78, 230, 0 ; 94 78 230 0 DEFB 108, 198, 198, 198 ; 108 198 198 198 DEFB 198, 198, 108, 0 ; 198 198 108 0 DEFB 236, 102, 102, 108 ; 236 102 102 108 DEFB 96, 96, 240, 0 ; 96 96 240 0 DEFB 108, 198, 198, 198 ; 108 198 198 198 DEFB 198, 220, 110, 0 ; 198 220 110 0 DEFB 236, 102, 102, 108 ; 236 102 102 108 DEFB 102, 102, 247, 0 ; 102 102 247 0 DEFB 54, 98, 120, 60 ; 54 98 120 60 DEFB 30, 70, 108, 0 ; 30 70 108 0 DEFB 219, 153, 24, 24 ; 219 153 24 24 DEFB 24, 24, 60, 0 ; 24 24 60 0 DEFB 247, 98, 98, 98 ; 247 98 98 98 DEFB 98, 98, 52, 0 ; 98 98 52 0 DEFB 247, 98, 98, 52 ; 247 98 98 52 DEFB 48, 24, 24, 0 ; 48 24 24 0 DEFB 193, 217, 217, 108 ; 193 217 217 108 L_FBBC: DEFB 108, 108, 36, 0 ; 108 108 36 0 DEFB 230, 228, 112, 56 ; 230 228 112 56 DEFB 28, 78, 206, 0 ; 28 78 206 0 DEFB 199, 98, 48, 24 ; 199 98 48 24 DEFB 24, 24, 60, 0 ; 24 24 60 0 DEFB 238, 142, 28, 56 ; 238 142 28 56 DEFB 112, 226, 238, 0 ; 112 226 238 0 DEFB 30, 24, 24, 24 ; 30 24 24 24 DEFB 24, 24, 30, 0 ; 24 24 30 0 DEFB 128, 64, 32, 0 ; 128 64 32 0 L_FBE4: DEFB 8, 4, 2, 0 ; 8 4 2 0 DEFB 120, 24, 24, 24 ; 120 24 24 24 DEFB 24, 24, 120, 0 ; 24 24 120 0 DEFB 24, 60, 90, 24 ; 24 60 90 24 DEFB 24, 24, 60, 0 ; 24 24 60 0 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 0, 0, 255, 0 ; 0 0 255 0 DEFB 126, 226, 48, 24 ; 126 226 48 24 DEFB 50, 126, 230, 0 ; 50 126 230 0 DEFB 0, 104, 140, 108 ; 0 104 140 108 DEFB 204, 204, 110, 0 ; 204 204 110 0 DEFB 224, 96, 108, 102 ; 224 96 108 102 DEFB 102, 102, 236, 0 ; 102 102 236 0 DEFB 0, 52, 102, 96 ; 0 52 102 96 DEFB 96, 98, 52, 0 ; 96 98 52 0 DEFB 28, 12, 108, 204 ; 28 12 108 204 DEFB 204, 204, 110, 0 ; 204 204 110 0 DEFB 0, 52, 102, 110 ; 0 52 102 110 DEFB 96, 98, 60, 0 ; 96 98 60 0 DEFB 30, 38, 120, 48 ; 30 38 120 48 DEFB 48, 48, 120, 0 ; 48 48 120 0 DEFB 0, 55, 102, 102 ; 0 55 102 102 DEFB 102, 54, 70, 52 ; 102 54 70 52 DEFB 224, 100, 110, 102 ; 224 100 110 102 DEFB 102, 102, 239, 0 ; 102 102 239 0 DEFB 24, 0, 56, 24 ; 24 0 56 24 DEFB 24, 24, 60, 0 ; 24 24 60 0 DEFB 12, 0, 28, 12 ; 12 0 28 12 DEFB 12, 12, 108, 104 ; 12 12 108 104 DEFB 224, 102, 100, 104 ; 224 102 100 104 DEFB 104, 100, 230, 0 ; 104 100 230 0 DEFB 56, 24, 24, 24 ; 56 24 24 24 L_FC64: DEFB 24, 24, 60, 0 ; 24 24 60 0 DEFB 0, 246, 107, 107 ; 0 246 107 107 DEFB 107, 107, 235, 0 ; 107 107 235 0 DEFB 0, 228, 110, 102 ; 0 228 110 102 DEFB 102, 102, 247, 0 ; 102 102 247 0 DEFB 0, 44, 102, 102 ; 0 44 102 102 L_FC7C: DEFB 102, 102, 44, 0 ; 102 102 44 0 DEFB 0, 236, 102, 102 ; 0 236 102 102 DEFB 102, 108, 96, 240 ; 102 108 96 240 DEFB 0, 110, 204, 204 ; 0 110 204 204 DEFB 204, 108, 12, 30 ; 204 108 12 30 DEFB 0, 230, 110, 96 ; 0 230 110 96 DEFB 96, 96, 240, 0 ; 96 96 240 0 DEFB 0, 44, 98, 56 ; 0 44 98 56 DEFB 14, 102, 76, 0 ; 14 102 76 0 DEFB 16, 48, 116, 48 ; 16 48 116 48 DEFB 48, 50, 20, 0 ; 48 50 20 0 DEFB 0, 238, 102, 102 ; 0 238 102 102 DEFB 102, 118, 39, 0 ; 102 118 39 0 DEFB 0, 198, 100, 100 ; 0 198 100 100 DEFB 48, 56, 16, 0 ; 48 56 16 0 DEFB 0, 193, 217, 221 ; 0 193 217 221 DEFB 108, 108, 36, 0 ; 108 108 36 0 DEFB 0, 206, 100, 48 ; 0 206 100 48 DEFB 24, 76, 230, 0 ; 24 76 230 0 DEFB 0, 231, 98, 48 ; 0 231 98 48 DEFB 24, 16, 224, 192 ; 24 16 224 192 DEFB 0, 238, 140, 24 ; 0 238 140 24 DEFB 48, 98, 238, 0 ; 48 98 238 0 DEFB 14, 28, 24, 48 ; 14 28 24 48 DEFB 24, 28, 14, 0 ; 24 28 14 0 DEFB 8, 8, 8, 8 ; 8 8 8 8 DEFB 8, 8, 8, 0 ; 8 8 8 0 DEFB 112, 56, 24, 12 ; 112 56 24 12 DEFB 24, 56, 112, 0 ; 24 56 112 0 DEFB 0, 50, 126, 76 ; 0 50 126 76 DEFB 0, 0, 0, 0 ; 0 0 0 0 DEFB 60, 66, 153, 161 ; 60 66 153 161 DEFB 161, 153, 66, 60 ; 161 153 66 60 cyrill defb 0,62,66,66,62,66,66,0 defb 0,62,70,70,62,70,70,0 defb 0,62,102,102,62,102,102,0 defb 0,126,66,66,62,66,66,0 defb 0,62,66,66,62,70,70,0 defb 0,58,70,2,2,2,2,0 defb 0,58,70,70,62,70,70,0 defb 0,14,22,22,14,22,22,0 defb 0,12,20,20,12,20,20,0 defb 0,30,98,98,58,98,98,0 defb 0,62,66,66,62,78,78,2 defb 0,0,28,4,4,4,0,0 defb 0,62,94,94,62,94,94,0 defb 255,193,189,189,193,189,189,255 defb 0,126,142,142,78,142,142,0 defb 0,60,38,62,22,38,54,54 defb 0,126,66,98,126,34,102,102 defb 0,0,126,66,126,34,66,0 defb 0,62,66,62,66,66,66,0 defb 0,62,66,62,66,66,70,78 defb 0,63,101,103,101,63,103,103 defb 0,54,70,70,54,70,70,0 defb 0,50,66,66,50,66,66,0 defb 127,255,199,255,127,199,199,199 defb 0,60,126,102,6,6,6,0 defb 0,30,38,30,38,102,102,0 defb 0,62,66,66,62,66,66,0 defb 0,62,66,66,62,66,66,0 DEFB 84, 84, 56, 84 ; 84 84 56 84 DEFB 84, 84, 0, 0 ; 84 84 0 0 DEFB 56, 68, 68, 124 ; 56 68 68 124 DEFB 68, 68, 0, 0 ; 68 68 0 0 DEFB 120, 64, 120, 68 ; 120 64 120 68 DEFB 68, 120, 0, 0 ; 68 120 0 0 DEFB 72, 72, 72, 72 ; 72 72 72 72 DEFB 72, 124, 4, 0 ; 72 124 4 0 DEFB 60, 36, 36, 36 ; 60 36 36 36 DEFB 36, 124, 68, 0 ; 36 124 68 0 DEFB 124, 64, 120, 64 ; 124 64 120 64 DEFB 64, 124, 0, 0 ; 64 124 0 0 DEFB 16, 56, 84, 84 ; 16 56 84 84 DEFB 84, 56, 16, 0 ; 84 56 16 0 DEFB 124, 64, 64, 64 ; 124 64 64 64 DEFB 64, 64, 0, 0 ; 64 64 0 0 DEFB 68, 40, 16, 16 ; 68 40 16 16 DEFB 40, 68, 0, 0 ; 40 68 0 0 DEFB 68, 68, 76, 84 ; 68 68 76 84 DEFB 100, 68, 0, 0 ; 100 68 0 0 DEFB 60, 4, 4, 4 ; 60 4 4 4 DEFB 68, 56, 0, 0 ; 68 56 0 0 DEFB 72, 80, 96, 80 ; 72 80 96 80 DEFB 72, 68, 0, 0 ; 72 68 0 0 DEFB 28, 36, 36, 36 ; 28 36 36 36 DEFB 36, 100, 0, 0 ; 36 100 0 0 DEFB 68, 108, 84, 68 ; 68 108 84 68 DEFB 68, 68, 0, 0 ; 68 68 0 0 DEFB 68, 68, 124, 68 ; 68 68 124 68 DEFB 68, 68, 0, 0 ; 68 68 0 0 DEFB 56, 68, 68, 68 ; 56 68 68 68 DEFB 68, 56, 0, 0 ; 68 56 0 0 DEFB 124, 68, 68, 68 ; 124 68 68 68 DEFB 68, 68, 0, 0 ; 68 68 0 0 DEFB 80, 80, 124, 84 ; 80 80 124 84 DEFB 84, 92, 0, 0 ; 84 92 0 0 DEFB 120, 68, 68, 120 ; 120 68 68 120 DEFB 64, 64, 0, 0 ; 64 64 0 0 DEFB 56, 68, 64, 64 ; 56 68 64 64 DEFB 68, 56, 0, 0 ; 68 56 0 0 DEFB 124, 16, 16, 16 ; 124 16 16 16 DEFB 16, 16, 0, 0 ; 16 16 0 0 DEFB 68, 68, 68, 60 ; 68 68 68 60 DEFB 4, 120, 0, 0 ; 4 120 0 0 DEFB 120, 68, 120, 68 ; 120 68 120 68 DEFB 68, 120, 0, 0 ; 68 120 0 0 DEFB 48, 80, 80, 92 ; 48 80 80 92 DEFB 84, 92, 0, 0 ; 84 92 0 0 DEFB 68, 68, 68, 68 ; 68 68 68 68 DEFB 68, 124, 16, 0 ; 68 124 16 0 DEFB 68, 40, 16, 16 ; 68 40 16 16 DEFB 16, 16, 0, 0 ; 16 16 0 0 DEFB 124, 8, 16, 8 ; 124 8 16 8 DEFB 4, 120, 0, 0 ; 4 120 0 0 DEFB 68, 84, 84, 84 ; 68 84 84 84 DEFB 84, 124, 0, 0 ; 84 124 0 0 DEFB 120, 32, 56, 36 ; 120 32 56 36 DEFB 36, 36, 8, 0 ; 36 36 8 0 DEFB 120, 32, 56, 36 ; 120 32 56 36 DEFB 36, 36, 0, 0 ; 36 36 0 0 DEFB 68, 68, 68, 60 ; 68 68 68 60 DEFB 4, 4, 0, 0 ; 4 4 0 0 defb 0,60,66,28,24,24,24,0 DEFB 0, 84, 84, 56 ; 0 84 84 56 DEFB 84, 84, 0, 0 ; 84 84 0 0 DEFB 0, 56, 4, 60 ; 0 56 4 60 DEFB 68, 60, 0, 0 ; 68 60 0 0 DEFB 24, 32, 120, 68 ; 24 32 120 68 DEFB 68, 56, 0, 0 ; 68 56 0 0 DEFB 0, 72, 72, 72 ; 0 72 72 72 DEFB 72, 124, 4, 0 ; 72 124 4 0 DEFB 0, 56, 40, 40 ; 0 56 40 40 DEFB 40, 124, 68, 0 ; 40 124 68 0 DEFB 0, 56, 68, 120 ; 0 56 68 120 DEFB 64, 56, 0, 0 ; 64 56 0 0 DEFB 0, 16, 56, 84 ; 0 16 56 84 DEFB 56, 16, 0, 0 ; 56 16 0 0 DEFB 0, 120, 64, 64 ; 0 120 64 64 DEFB 64, 64, 0, 0 ; 64 64 0 0 DEFB 0, 68, 40, 16 ; 0 68 40 16 DEFB 40, 68, 0, 0 ; 40 68 0 0 DEFB 0, 68, 76, 84 ; 0 68 76 84 DEFB 100, 68, 0, 0 ; 100 68 0 0 DEFB 16, 0, 48, 16 ; 16 0 48 16 DEFB 16, 16, 80, 32 ; 16 16 80 32 DEFB 0, 72, 80, 96 ; 0 72 80 96 DEFB 80, 72, 0, 0 ; 80 72 0 0 DEFB 0, 28, 36, 36 ; 0 28 36 36 DEFB 36, 100, 0, 0 ; 36 100 0 0 DEFB 0, 68, 108, 84 ; 0 68 108 84 DEFB 68, 68, 0, 0 ; 68 68 0 0 DEFB 0, 68, 68, 124 ; 0 68 68 124 DEFB 68, 68, 0, 0 ; 68 68 0 0 DEFB 0, 56, 68, 68 ; 0 56 68 68 DEFB 68, 56, 0, 0 ; 68 56 0 0 DEFB 0, 124, 68, 68 ; 0 124 68 68 DEFB 68, 68, 0, 0 ; 68 68 0 0 DEFB 0, 80, 80, 124 ; 0 80 80 124 DEFB 84, 92, 0, 0 ; 84 92 0 0 DEFB 0, 120, 68, 68 ; 0 120 68 68 DEFB 68, 120, 64, 64 ; 68 120 64 64 DEFB 0, 56, 64, 64 ; 0 56 64 64 DEFB 64, 56, 0, 0 ; 64 56 0 0 DEFB 0, 124, 16, 16 ; 0 124 16 16 DEFB 16, 16, 0, 0 ; 16 16 0 0 DEFB 0, 68, 68, 68 ; 0 68 68 68 DEFB 60, 4, 56, 0 ; 60 4 56 0 DEFB 64, 120, 68, 68 ; 64 120 68 68 DEFB 68, 120, 0, 0 ; 68 120 0 0 DEFB 0, 48, 80, 92 ; 0 48 80 92 DEFB 84, 92, 0, 0 ; 84 92 0 0 DEFB 0, 68, 68, 68 ; 0 68 68 68 DEFB 68, 124, 16, 0 ; 68 124 16 0 DEFB 0, 68, 68, 68 ; 0 68 68 68 DEFB 60, 4, 56, 0 ; 60 4 56 0 DEFB 0, 124, 8, 16 ; 0 124 8 16 DEFB 8, 4, 72, 48 ; 8 4 72 48 DEFB 0, 68, 84, 84 ; 0 68 84 84 DEFB 84, 124, 0, 0 ; 84 124 0 0 DEFB 112, 32, 56, 36 ; 112 32 56 36 DEFB 36, 36, 8, 0 ; 36 36 8 0 DEFB 112, 32, 56, 36 ; 112 32 56 36 DEFB 36, 36, 0, 0 ; 36 36 0 0 DEFB 0, 68, 68, 60 ; 0 68 68 60 DEFB 4, 4, 0, 0 ; 4 4 0 0 DEFB 112, 136, 232, 200 ; 112 136 232 200 DEFB 232, 136, 112, 0 ; 232 136 112 0 DEFB 68, 68, 68, 68 ; 68 68 68 68 DEFB 68, 124, 16, 0 ; 68 124 16 0 DEFB 68, 84, 84, 84 ; 68 84 84 84 DEFB 84, 124, 0, 0 ; 84 124 0 0 DEFB 48, 80, 80, 92 ; 48 80 80 92 DEFB 84, 92, 0, 0 ; 84 92 0 0 DEFB 80, 80, 124, 84 ; 80 80 124 84 DEFB 84, 92, 0, 0 ; 84 92 0 0 blocks defb 85,0,255,129,129,255,0,170 ;PLATFORMS AND BLOCKS defb 195,153,189,189,189,189,153,195 defb 170,1,188,53,172,61,128,85 defb 255,219,254,255,255,191,251,223 defb 170,170,153,85,85,102,170,169 defb 0,118,74,34,68,82,110,0 defb 0,124,84,92,116,84,214,0 defb 0,126,90,126,90,102,126,0 defb 0,94,66,90,90,64,126,0 defb 0,126,98,82,74,70,126,0 defb 255,0,85,0,255,0,85,0 defb 34,85,136,85,34,85,136,85 defb 187,17,187,187,238,68,238,238 defb 255,182,255,219,255,255,170,136 defb 51,255,255,153,255,255,51,255 defb 195,219,24,126,126,24,219,195 defb 255,255,231,195,195,129,129,255 defb 129,129,193,21,29,21,1,255 defb 193,161,193,21,29,21,1,255 defb 255,129,129,129,129,129,129,255 defb 254,254,234,244,0,239,239,79 defb 238,0,187,0,238,0,187,0 defb 255,85,170,0,0,85,170,255 defb 0,126,66,90,90,66,126,0 defb 127,1,253,173,213,173,213,252 defb 255,255,0,102,102,0,255,255 defb 255,129,60,255,255,60,129,255 defb 170,170,170,170,170,170,170,170 defb 164,84,168,84,168,84,0,0 defb 255,191,238,85,136,34,8,64 defb 255,255,143,199,227,241,255,1 defb 0,254,130,170,130,170,254,0 defb 254,174,254,174,254,254,254,0 defb 255,0,170,85,170,85,0,255 defb 60,231,0,170,170,0,231,60 defb 66,126,66,126,66,126,66,126 defb 120,134,165,139,213,171,117,30 defb 255,255,66,66,66,36,36,255 defb 60,126,255,255,60,60,60,0 defb 0,126,129,133,161,139,149,126 defb 255,131,191,175,191,191,255,255 defb 255,255,255,158,109,243,255,255 defb 255,0,85,85,85,85,0,255 defb 204,51,204,51,204,51,204,51 defb 51,102,204,153,51,102,204,152 defb 255,147,147,255,147,147,255,255 defb 126,129,189,149,169,129,126,0 defb 219,146,0,219,146,0,219,146 defb 255,255,255,255,255,158,12,8 defb 255,32,65,254,65,32,255,0 defb 255,170,170,170,238,0,255,0 defb 255,223,175,223,251,245,251,255 defb 0,60,66,129,129,66,24,255 defb 255,255,0,255,255,0,170,85 defb 68,170,0,17,170,0,68,170 defb 129,195,231,195,129,129,195,231 defb 255,255,255,136,255,255,255,255 defb 238,238,238,0,187,187,187,0 defb 255,195,189,255,255,189,195,255 defb 255,33,66,132,255,17,34,255 defb 0,8,28,62,127,127,127,127 defb 255,128,153,164,165,152,129,170 defb 15,15,240,240,15,15,240,240 defb 255,159,159,255,255,255,255,255 defb 255,249,249,255,255,255,255,255 defb 255,195,189,189,189,219,195,255 defb 186,170,170,238,170,86,170,170 defb 255,131,135,143,159,191,255,255 defb 129,169,149,169,149,169,129,255 defb 255,136,170,136,255,136,170,255 defb 255,0,51,204,204,51,0,255; defb 129,195,231,255,255,231,195,129 defb 255,0,187,187,187,187,0,255 defb 255,129,90,24,24,90,129,255 defb 0,127,85,127,85,127,85,127 defb 0,126,90,126,126,90,126,0 defb 0,110,110,14,126,126,126,0 defb 189,221,173,149,169,181,187,189 defb 255,255,126,126,76,8,8,0 defb 255,255,195,195,195,195,255,255 defb 255,255,195,219,211,195,255,255 defb 254,254,234,212,0,239,175,79 defb 0,122,74,74,122,2,126,0 defb 0,126,64,94,82,82,94,0 defb 126,165,129,126,189,126,36,255 defb 84,255,84,255,84,84,255,84 defb 234,170,234,0,174,170,174,0 defb 228,170,228,0,78,238,78,0 defb 255,0,24,165,165,24,0,255 defb 255,255,255,0,255,0,255,255 defb 254,131,134,130,150,170,254,65 defb 255,165,189,169,239,73,75,127 defb 234,213,170,80,164,65,4,144 defb 255,231,165,129,129,193,231,255 defb 255,129,149,171,149,171,149,255 defb 0,255,85,85,85,85,255,0 spaceinvaders ;inspired by Kweepa on the WOS forum, didn't use the open source prog in the end but invented these defb 0,66,90,102,90,66,0,0 ;thanks for giving me the idea tho, they look possibly the best of all the udgs! defb 0,255,126,126,60,0,24,36 defb 0,126,66,66,36,24,36,0 defb 0,126,126,24,90,90,0,0 defb 170,84,40,16,124,84,124,0 defb 0,60,126,189,153,129,0,0 defb 0,60,126,126,126,36,90,0;90 defb 0,126,90,90,90,66,66,0 defb 0,102,36,24,126,60,24,0 defb 0,254,254,124,124,56,16,0 defb 0,254,254,84,124,56,16,0 defb 0,119,34,0,28,8,0,0 defb 0,60,126,102,126,102,36,36 defb 0,66,102,90,90,60,24,0 defb 0,153,189,231,231,189,153,0 defb 0,24,60,90,90,24,90,0 defb 84,42,0,126,60,60,24,0;80 defb 0,66,66,60,60,24,24,0 defb 36,126,36,36,60,24,36,0 defb 60,66,60,36,36,90,90,0 defb 16,56,124,254,214,254,16,40 defb 0,36,24,60,90,90,90,0 defb 0,60,90,90,60,36,66,0 defb 0,126,255,219,189,129,102,0 defb 0,60,90,66,36,36,24,0 defb 0,127,62,28,8,119,34,0 defb 0,24,60,60,60,24,66,0;70 defb 0,124,56,56,0,56,84,0 defb 126,90,126,126,0,42,84,0 defb 0,102,102,0,24,60,126,0 defb 0,126,60,24,126,66,66,0 defb 0,238,238,186,56,16,16,0 defb 0,219,66,126,126,90,66,0 defb 0,126,90,24,24,24,24,0 defb 0,60,106,126,86,126,66,165 defb 0,60,66,129,165,129,255,129 defb 0,126,24,126,90,126,126,0;60 defb 0,24,60,90,90,24,24,0 defb 0,90,126,90,0,66,60,0 defb 165,219,165,219,153,24,24,0 defb 170,84,40,16,124,84,0,0 defb 0,66,66,60,24,189,195,129 defb 0,102,66,66,60,36,24,0 defb 0,102,36,102,66,126,24,0 defb 0,126,165,165,165,24,0,0 defb 102,126,165,165,165,24,24,0 defb 255,213,171,255,90,126,36,36;50 defb 0,102,102,36,66,24,60,0 defb 56,56,56,0,40,84,170,0 defb 0,255,255,189,24,0,24,0 defb 24,60,102,195,219,195,36,36 defb 102,126,165,165,165,24,24,36 defb 56,254,186,0,40,84,170,0 defb 0,102,24,36,36,24,102,0 defb 0,231,153,36,36,24,195,0 defb 0,126,90,24,24,66,126,24 defb 0,56,84,40,0,84,0,130;40 defb 0,66,90,36,24,0,0,0 defb 0,66,90,60,36,60,24,0 defb 0,66,66,60,0,36,0,0 defb 0,0,90,90,90,66,66,0 defb 0,0,90,90,126,66,66,0 defb 0,36,90,129,153,32,36,0 defb 0,126,66,129,153,60,126,24 defb 0,126,66,195,255,165,24,0 defb 0,66,66,60,36,24,102,0 defb 36,90,60,24,36,126,66,0;30 defb 28,8,8,119,54,20,0,0 defb 102,126,90,60,24,102,66,36 defb 0,40,84,56,238,170,130,0 defb 0,56,124,124,56,0,84,40 defb 0,254,222,222,26,24,16,0 defb 0,108,68,124,16,56,16,0 defb 0,130,186,198,68,84,56,0 defb 0,102,219,66,126,90,24,0 defb 0,102,102,255,165,231,36,0 defb 0,129,90,102,36,24,24,0;20 defb 0,102,126,102,0,24,60,0 defb 0,24,36,36,126,126,36,0 defb 0,24,36,36,126,126,60,0 defb 0,219,126,60,60,153,255,0 defb 0,60,90,36,0,36,0,0 defb 0,85,34,62,99,127,8,0 defb 0,66,102,126,24,60,36,24 defb 0,85,8,119,54,20,8,0 defb 60,66,74,66,74,66,255,126 defb 238,238,108,40,56,16,130,0;10 defb 0,28,8,119,20,28,8,0 defb 0,124,146,146,124,84,0,124 defb 90,90,60,90,24,36,24,0 defb 0,60,24,24,126,126,24,0 defb 0,84,0,84,0,56,16,16 defb 231,102,102,255,90,60,60,0 defb 0,84,124,16,146,254,16,0 defb 0,40,108,254,238,108,40,0 defb 68,238,254,238,254,186,16,0 oldudgs defb 68,85,85,17,128,170,170,40 ;Advanced Lawnmower ;OLDSCHOOL UDGSSS!!!! defb 170,0,85,0,170,0,85,0 ;grass ALMS defb 0,0,0,0,0,31,110,110 ;Lawnmower, ALMS defb 24,24,8,104,152,16,44,68 ;Character, ALMS defb 15,15,15,15,15,15,15,15 ;right black udg defb 56,56,16,124,16,16,40,68 ;stickman defb 85,170,85,170,85,170,85,170 ;the ever useful hash defb 0,56,76,24,48,102,127,57 ;nebula snake defb 0,254,84,124,40,56,16,16 ;nebula frame thing defb 0,16,124,186,56,40,68,68 ;nebula stocky chap defb 68,40,144,81,53,214,88,16 ;manic miner bush defb 15,15,15,15,0,0,0,0 ;udg defb 240,240,240,240,15,15,15,15 ;udg defb 0,0,2,60,84,20,20,0 ;dog from basic manual defb 254,254,124,124,56,56,16,16 ;spike defb 1,5,106,220,60,2,1,0 ;swallow from black swan defb 255,254,126,44,8,8,0,0 ;spike of manic miner defb 248,240,224,208,136,4,2,0 ;that arrow we all draw;;;;;;;; defb 0,0,0,0,63,79,72,176 ;artillery, inspired by stonkers defb 0,124,130,170,130,254,40,108 ;Dr Beeps MUSHROOM MAN! awaiting permission defb 0,24,36,36,126,102,126,0 ;other mushroom man lock defb 60,66,89,165,165,153,131,254 ;other mushroom mand and eggs defb 56,56,16,124,16,56,124,40 ;stick woman defb 24,24,60,90,90,36,36,102 ;football manager1 defb 48,52,252,176,60,36,230,128 ;fm2 defb 48,48,96,240,224,112,48,80 ;fm3 defb 0,16,16,16,16,16,146,124 ;pick from Gilligans Gold defb 16,56,84,16,56,84,146,16 ;tree defb 0,0,0,40,84,0,0,0 ;gnat from black swan defb 127,136,170,170,136,255,136,204 ;generic gremlin defb 126,219,153,153,153,255,255,170 ;ghost defb 0,126,223,240,224,240,255,126 ;pacman defb 0,126,98,74,82,70,126,0 ;block defb 0,144,152,254,255,24,16,0 ;harrier defb 60,66,153,66,60,60,90,153 ;triffid defb 126,153,153,255,126,60,30,7 ;ghoul ripped from udg generator gif defb 0 , 126 , 169 , 149 , 255 , 129 , 255 , 0 ;OLD SCHOOL UDGS defb 16 , 56 , 56 , 16 , 254 , 56 , 56 , 108;seekey defb 241 , 194 , 164 , 152 , 25 , 37 , 67 , 143;splat! defb 0 , 120 , 253 , 254 , 252 , 120 , 0 , 0 defb 0 , 66 , 165 , 24 , 24 , 165 , 66 , 0 defb 16 , 18 , 74 , 44 , 169 , 187 , 126 , 60;splat! defb 60 , 126 , 219 , 255 , 153 , 129 , 195 , 102 defb 167 , 164 , 226 , 57 , 239 , 40 , 48 , 40;yrs defb 48 , 48 , 16 , 112 , 16 , 60 , 36 , 96;frenzy defb 56 , 56 , 16 , 254 , 16 , 40 , 108 , 0;frenzy defb 60 , 102 , 189 , 189 , 189 , 36 , 36 , 102;frenzy defb 88 , 40 , 28 , 10 , 8 , 20 , 20 , 0;lode runners defb 12 , 12 , 56 , 86 , 16 , 8 , 52 , 4 defb 12 , 12 , 26 , 44 , 8 , 20 , 36 , 32 defb 12 , 12 , 24 , 60 , 56 , 28 , 56 , 24 defb 90 , 82 , 60 , 16 , 16 , 24 , 20 , 20 defb 56 , 84 , 146 , 254 , 198 , 124 , 40 , 238 defb 153 , 126 , 126 , 255 , 255 , 126 , 126 , 153 defb 48 , 60 , 153 , 189 , 126 , 60 , 38 , 96 defb 60 , 126 , 126 , 253 , 247 , 24 , 24 , 24 defb 24 , 56 , 24 , 8 , 8 , 8 , 28 , 0 defb 66 , 66 , 255 , 219 , 153 , 102 , 126 , 66 defb 0 , 40 , 16 , 56 , 56 , 56 , 16 , 0;city bomning thing defb 73 , 28 , 43 , 73 , 73 , 109 , 62 , 93 defb 0 , 0 , 0 , 64 , 190 , 127 , 62 , 6;from highrishe harry defb 8 , 8 , 34 , 93 , 8 , 20 , 20 , 54;from highrise harry defb 102 , 60 , 90 , 189 , 165 , 129 , 126 , 36;monsters in hell defb 56 , 56 , 18 , 57 , 87 , 17 , 16 , 40;MIH man defb 0 , 90 , 90 , 60 , 24 , 24 , 36 , 36 defb 126 , 129 , 129 , 129 , 126 , 60 , 126 , 36 defb 60 , 60 , 60 , 24 , 126 , 24 , 36 , 36 defb 30 , 18 , 30 , 16 , 236 , 32 , 48 , 200 defb 0,32,112,32,112,32,32,80 ;STEVE BANNISTER ESCAPE FROM THE ALIENS NEST CGC 2011 defb 0,64,224,64,124,96,64,160 defb 56,126,31,4,39,36,28,10 defb 28,126,248,32,228,36,56,80 defb 24,44,94,126,126,126,60,24 defb 66,36,66,126,126,126,60,24 defb 0,2,170,81,62,80,168,0 defb 60,66,153,189,165,165,189,195 ;END OF STEVE BANNISTERS GRAPHICS defb 4 , 2 , 4 , 24 , 36 , 36 , 24 , 0;la pugly defb 0 , 0 , 4 , 56 , 68 , 68 , 56 , 0;la pugly defb 0 , 0 , 32 , 24 , 36 , 36 , 24 , 0;la pugly defb 0 , 16 , 40 , 68 , 130 , 130 , 254 , 0 defb 130 , 68 , 56 , 124 , 124 , 124 , 56 , 0 defb 36 , 24 , 126 , 255 , 255 , 153 , 24 , 24 defb 24 , 60 , 60 , 60 , 219 , 60 , 60 , 60 defb 56 , 124 , 254 , 250 , 242 , 226 , 100 , 56 defb 0 , 56 , 124 , 116 , 100 , 124 , 198 , 0 defb 219 , 255 , 219 , 90 , 90 , 60 , 36 , 24 defb 126 , 255 , 219 , 153 , 255 , 126 , 36 , 102 defb 126 , 129 , 165 , 165 , 129 , 126 , 36 , 102 defb 60 , 219 , 153 , 255 , 60 , 126 , 231 , 195 defb 65 , 42 , 28 , 8 , 42 , 28 , 28 , 42 defb 28 , 62 , 127 , 73 , 127 , 127 , 127 , 85 defb 129 , 126 , 129 , 165 , 129 , 126 , 36 , 102 defb 64 , 224 , 176 , 62 , 61 , 36 , 36 , 36 defb 64 , 224 , 176 , 62 , 61 , 68 , 34 , 2 defb 64 , 192 , 64 , 84 , 60 , 28 , 20 , 20 defb 0 , 60 , 90 , 255 , 165 , 165 , 165 , 0 ;zx spider frogs defb 153 , 189 , 90 , 126 , 126 , 126 , 102 , 195 ;FROGGER UDGS defb 153 , 189 , 90 , 126 , 255 , 255 , 36 , 195 defb 231 , 165 , 153 , 60 , 126 , 189 , 153 , 129 defb 66 , 153 , 189 , 126 , 129 , 102 , 231 , 231 defb 56 , 40 , 146 , 124 , 56 , 56 , 40 , 108;jogger defb 254 , 127 , 253 , 127 , 255 , 62 , 34 , 51;harry hedgehog defb 146 , 186 , 124 , 124 , 124 , 124 , 186 , 130 defb 0 , 66 , 90 , 126 , 60 , 126 , 126 , 60 defb 153 , 189 , 189 , 189 , 126 , 24 , 36 , 66 defb 153 , 189 , 126 , 126 , 126 , 60 , 165 , 195 defb 153 , 189 , 255 , 60 , 126 , 126 , 66 , 195 defb 130 , 146 , 124 , 124 , 124 , 68 , 130 , 68 defb 153 , 189 , 126 , 126 , 126 , 36 , 165 , 165 defb 24 , 24 , 254 , 145 , 40 , 40 , 0 , 0;caveman defb 0 , 0 , 32 , 94 , 255 , 255 , 23 , 46 defb 153 , 189 , 189 , 126 , 126 , 126 , 60 , 195 defb 0 , 24 , 189 , 126 , 126 , 126 , 60 , 195 defb 24 , 189 , 255 , 126 , 60 , 60 , 231 , 66 defb 90 , 153 , 126 , 60 , 189 , 189 , 102 , 36 defb 153 , 189 , 189 , 126 , 60 , 126 , 129 , 66 defb 219 , 90 , 126 , 24 , 24 , 60 , 36 , 231 defb 24 , 36 , 90 , 153 , 24 , 36 , 66 , 129 defb 153 , 189 , 189 , 153 , 255 , 189 , 189 , 153 defb 66 , 129 , 189 , 126 , 60 , 189 , 189 , 199 defb 198 , 73 , 124 , 126 , 126 , 124 , 73 , 198 defb 153 , 189 , 90 , 126 , 126 , 126 , 102 , 195 defb 56 , 84 , 146 , 254 , 124 , 170 , 40 , 238 defb 0 , 36 , 60 , 24 , 60 , 189 , 189 , 195 defb 0 , 112 , 254 , 255 , 251 , 255 , 136 , 102 defb 66 , 129 , 189 , 255 , 126 , 36 , 165 , 231 defb 129 , 189 , 90 , 255 , 255 , 255 , 126 , 129 defb 66 , 165 , 189 , 189 , 60 , 126 , 165 , 24 defb 189 , 90 , 90 , 126 , 66 , 66 , 66 , 129 defb 153 , 126 , 60 , 255 , 129 , 129 , 129 , 195 defb 24 , 60 , 90 , 90 , 255 , 255 , 255 , 126 defb 219 , 219 , 153 , 189 , 255 , 60 , 60 , 66 defb 146 , 186 , 124 , 254 , 108 , 40 , 40 , 198 defb 66 , 90 , 60 , 60 , 36 , 195 , 36 , 195 defb 146 , 186 , 124 , 146 , 254 , 68 , 68 , 198 defb 198 , 124 , 124 , 254 , 254 , 254 , 84 , 186 defb 189 , 126 , 126 , 60 , 66 , 195 , 195 , 66 defb 0 , 90 , 126 , 60 , 231 , 195 , 231 , 102 defb 0 , 24 , 60 , 189 , 126 , 126 , 153 , 0 defb 0 , 66 , 90 , 126 , 60 , 66 , 102 , 0 defb 0 , 90 , 126 , 36 , 36 , 36 , 102 , 0 defb 0 , 90 , 60 , 126 , 66 , 66 , 66 , 0 defb 0 , 90 , 60 , 126 , 126 , 126 , 60 , 0 defb 0 , 120 , 100 , 228 , 255 , 255 , 108 , 108;roads, cars, bikes defb 0 , 56 , 36 , 100 , 255 , 255 , 108 , 108 defb 0 , 0 , 56 , 100 , 100 , 255 , 255 , 36 defb 0 , 28 , 34 , 99 , 255 , 255 , 102 , 102 defb 255 , 255 , 255 , 255 , 12 , 255 , 255 , 255 defb 255 , 255 , 255 , 12 , 12 , 255 , 255 , 255 defb 231 , 231 , 231 , 255 , 255 , 231 , 231 , 231 defb 48 , 40 , 36 , 126 , 255 , 255 , 153 , 102 defb 0 , 0 , 12 , 20 , 255 , 255 , 34 , 0 defb 31 , 47 , 79 , 143 , 255 , 255 , 255 , 54 defb 0 , 56 , 72 , 136 , 255 , 255 , 255 , 54 defb 0 , 14 , 18 , 34 , 255 , 255 , 255 , 54 defb 0 , 112 , 72 , 68 , 255 , 255 , 255 , 108 defb 60 , 50 , 49 , 241 , 241 , 255 , 255 , 108 defb 252 , 242 , 241 , 241 , 241 , 255 , 255 , 108 defb 0 , 135 , 66 , 50 , 44 , 68 , 195 , 195 defb 0 , 0 , 226 , 68 , 60 , 231 , 231 , 231 defb 0 , 0 , 113 , 34 , 34 , 110 , 149 , 98 defb 112 , 32 , 16 , 56 , 68 , 84 , 68 , 56 defb 0 , 0 , 85 , 170 , 85 , 0 , 0 , 0 defb 0 , 0 , 240 , 246 , 255 , 255 , 66 , 0 defb 0 , 0 , 248 , 254 , 253 , 255 , 66 , 0 defb 0 , 0 , 31 , 127 , 191 , 255 , 66 , 0 defb 0 , 0 , 15 , 239 , 239 , 255 , 66 , 0 defb 39 , 18 , 14 , 126 , 155 , 168 , 139 , 115 ;2penny farthings defb 39 , 18 , 124 , 170 , 170 , 170 , 139 , 115 defb 0 , 108 , 126 , 122 , 122 , 126 , 108 , 0 defb 0 , 72 , 124 , 114 , 114 , 124 , 72 , 0 defb 119 , 34 , 127 , 207 , 207 , 127 , 34 , 119 defb 0 , 0 , 0 , 123 , 123 , 0 , 0 , 0 defb 219 , 60 , 126 , 254 , 254 , 126 , 60 , 219 defb 102 , 0 , 255 , 255 , 255 , 0 , 102 , 0 defb 0 , 66 , 239 , 191 , 191 , 239 , 66 , 0 defb 34 , 28 , 62 , 254 , 254 , 62 , 28 , 34 defb 68 , 56 , 124 , 255 , 255 , 124 , 56 , 68 defb 219 , 60 , 122 , 127 , 127 , 122 , 60 , 219 defb 0 , 62 , 65 , 141 , 141 , 65 , 62 , 0 ;someboats defb 0 , 124 , 130 , 177 , 177 , 130 , 124 , 0 defb 0 , 124 , 130 , 177 , 130 , 124 , 0 , 0 defb 0 , 62 , 65 , 141 , 65 , 62 , 0 , 0 defb 0 , 254 , 187 , 179 , 179 , 187 , 254 , 0 defb 0 , 255 , 129 , 139 , 149 , 255 , 0 , 0 defb 24 , 24 , 24 , 24 , 90 , 60 , 60 , 90 defb 90 , 60 , 36 , 36 , 36 , 36 , 36 , 66 defb 0 , 0 , 34 , 255 , 34 , 34 , 255 , 34 defb 252 , 242 , 241 , 255 , 24 , 66 , 165 , 66 defb 8 , 28 , 8 , 8 , 20 , 255 , 127 , 62 defb 0 , 0 , 120 , 104 , 104 , 255 , 254 , 120 defb 0 , 16 , 56 , 16 , 16 , 255 , 126 , 60 games defb 135,122,172,173,116,141,255,126 ;Buzzsaw1! defb 56,124,6,219,75,7,254,124 ;buzzsaw2! defb 56,124,174,174,254,79,255,219 ;buzzsaw3! defb 24,14,31,16,53,191,242,127 ;Buzzsaw4! Ta Joefish!!! defb 56,124,116,126,112,108,56,16 ;JSW TSIROOFenergy defb 60,60,126,44,124,60,24,60 ;JSW defb 0,40,120,120,104,124,120,48 ;JSW TMWSTW defb 30,47,124,190,191,223,126,36 ;monty mole defb 0,28,58,60,28,24,62,0 ;technician ted defb 20,58,45,125,56,16,56,120 ;k.kr JSW Andrew broad defb 48,252,48,120,92,92,56,68 ;chuckie egg, sorry Bruno didn't use yours in the end defb 49,121,49,123,189,113,59,251 ;ZX Brunos Cauldron defb 0,56,124,118,124,56,124,0 ;sid spanners defb 64,48,40,48,63,86,252,68 ;8x8 Maria defb 102,153,126,24,255,153,60,102 ;boulder dash man defb 14,62,110,44,20,62,8,12 ;hunchback defb 19,58,59,54,38,44,76,14 ;joefish kokotoni wilf, better than mine! defb 252,242,241,241,255,153,102,102 ;rallybug defb 0,0,128,184,254,95,239,3 ;R-Type ship defb 36,90,66,153,189,153,66,60 ;Xenon ship defb 126,213,213,213,126,48,56,40 ;finders keepers defb 156,244,252,156,9,31,29,20 ;honker from mm defb 0,126,223,240,224,240,255,126 ;pacman defb 120,254,104,120,39,39,34,82 ;Digger Dan defb 0,144,152,254,255,24,16,0 ;harrier defb 28,57,126,184,184,60,70,131 ;Jumpman Thanks to C64 graphics guru Stephen Robertson!!! defb 80,60,242,117,63,124,54,250 ;bub defb 10,60,79,174,252,62,108,87 ;bob defb 60,66,137,133,133,129,66,60 ;bubble defb 0,6,62,124,52,62,60,24 ;miner willy himself defb 144,80,254,15,175,15,254,36 ;my rather feeble starquake defb 58,76,22,198,254,124,58,198 ;joefish better starquake defb 33,86,95,255,251,119,6,14 ;joefish nebulus defb 28,62,14,110,48,60,90,38 ;joefish atic attack defb 108,234,229,255,126,56,112,253 ;joefish ::::::::insert name here defb 120,60,104,56,124,254,56,108 ;joefish 8x8 manic miner defb 0,128,192,102,185,190,56,96 ;joefish JET;;;;;;;;insert defb 120,244,222,249,217,174,220,96 ;joefish head over heels defb 1,27,45,74,141,251,123,61 ;joefish spaceship ;;;insert here later defb 24,60,90,153,255,24,126,36 ;microbot defb 48,80,32,76,94,60,8,24 ;joefish chuckie egg ostrich defb 207,201,249,175,255,195,67,0 ;joefish, that one with the funny looking spaceship defb 126,251,5,173,123,3,125,216 ;joefish Rodland (by mojon twins) defb 126,219,165,60,102,66,231,255 ;joefish manic miner telephone defb 16,40,40,68,68,130,84,108 ;joefish '''insert here later! defb 14,41,61,88,88,108,80,144 ;exolon defb 127,8,156,242,250,30,21,62 ;joefish chopper drop defb 58,59,70,194,130,56,40,32 ;ikari warrior defb 124,84,64,172,214,120,72,108 ;target renegade defb 102,102,24,60,126,126,60,102 ;trapdoor defb 30,114,117,241,254,124,176,204 ;egghead defb 112,184,172,56,124,254,124,72 ;pyjamarama defb 16,16,40,40,68,68,254,130 ;Asteroid Thanks to C64 graphics guru Stephen Robertson!!! defb 120,184,113,162,36,48,40,72 ;barbarian defb 112,64,176,132,112,96,144,216 ;robocop defb 254,15,237,175,239,14,249,55 ;scumball defb 0,126,131,149,171,126,0,0 ;batty defb 216,216,72,48,48,48,26,29 ;steg defb 7,13,31,22,62,62,12,30 ;jsw funny looking defb 30,49,49,57,57,126,108,127 ;space jsw defb 60,102,102,60,66,126,129,129 ;Lunar Lander Thanks to C64 graphics guru Stephen Robertson!!! defb 0,112,79,124,130,129,126,0 ;Battle Zone tank Thanks to C64 graphics guru Stephen Robertson!!! defb 124,126,52,56,48,120,48,72 ;hardhat harry BBC homebrew game defb 96,204,202,249,255,127,96,56 ;zynaps defb 126,255,0,153,153,0,255,126 ;Paradroid Thanks to C64 graphics guru Stephen Robertson!!! defb 60,118,253,223,251,223,118,60 ;Marble madness Thanks to C64 graphics guru Stephen Robertson!!! defb 34,42,28,30,205,174,62,18 ;brian bloodaxe defb 60,126,219,255,255,195,126,60 ;Wizball defb 30,33,107,225,158,192,160,160 ;fishbowl head defb 78,89,245,249,222,80,56,72 ;nodes of yesod (or exolon if you like) defb 120,56,8,8,62,62,20,44 ;sweevo defb 60,66,255,60,126,255,255,102 ;alien8 defb 48,62,248,36,114,32,80,144 ;spy vs spy defb 224,176,224,70,252,102,80,144 ;sid spanners 8x8 defb 252,201,195,114,116,112,32,48 ;Booty pirate defb 0,0,24,126,189,153,165,0 ;donkey kong defb 56,120,112,63,48,72,144,216 ;Turrican defb 22,8,30,44,40,76,74,146 ;stormlord defb 126,122,96,58,60,63,124,40 ;that one where you play a night in a castle maze defb 30,42,32,28,28,32,92,148 ;camelot warriors defb 2,6,3,130,254,252,124,40 ;chickin chase defb 56,254,52,124,189,63,255,224 ;Gilligans gold defb 60,90,219,189,66,255,60,120 ;Ghost castle defb 48,94,119,224,254,253,127,40 ;Chubby Gristle defb 10,14,8,30,60,46,108,74 ;batman defb 60,28,120,176,56,54,72,136 ;green beret defb 236,236,188,222,29,28,20,16 ;trashman defb 198,186,84,108,254,254,124,108 ;aah diddums (joefish teddy bear) defb 254,0,17,127,167,252,0,126 ;AirWolf defb 186,68,40,68,124,170,130,124 ;Bombjack defb 30,58,252,185,59,255,192,128 ;Ghosts and Goblins defb 26,47,126,96,255,98,80,144 ;Rex defb 124,131,158,233,233,158,131,124 ;Uridium defb 124,206,129,165,129,189,165,126 ;Geoff Capes Strong man defb 126,106,126,126,60,60,98,2 ;Alter Ego defb 240,126,121,113,30,24,62,20 ;Moebius kweepa defb 31, 33, 57, 33, 33, 85, 171, 255 ;animals defb 14, 31, 127, 117, 62, 222, 251, 168 defb 99, 62, 20, 94, 142, 253, 124, 84 defb 218, 143, 74, 221, 254, 248, 232, 212 defb 24, 24, 112, 224, 188, 56, 232, 140 ;forty defb 24, 36, 36, 126, 171, 255, 126, 60 defb 156, 112, 208, 192, 234, 127, 44, 87 defb 63, 117, 127, 8, 90, 191, 173, 122 defb 127, 8, 30, 177, 245, 185, 30, 0 defb 0, 114, 184, 112, 46, 4, 16, 0 defb 224, 238, 238, 14, 112, 119, 119, 7 defb 254, 170, 214, 0, 239, 170, 109, 0 defb 0, 130, 223, 255, 8, 30, 12, 0 defb 56, 40, 144, 126, 58, 60, 40, 108 defb 60, 98, 205, 197, 193, 98, 60, 84 defb 0, 110, 78, 42, 106, 0, 126, 0 defb 0, 48, 90, 12, 109, 221, 122, 0 defb 105, 150, 150, 105, 150, 105, 105, 150 defb 12, 146, 158, 76, 126, 93, 28, 20 defb 7, 218, 191, 36, 50, 24, 136, 112 defb 30, 17, 233, 255, 90, 102, 90, 60 defb 126, 229, 229, 229, 62, 170, 212, 124 defb 12, 14, 6, 116, 120, 8, 40, 20 defb 240, 150, 150, 240, 15, 105, 105, 15 defb 12, 12, 24, 60, 56, 28, 12, 20 defb 0, 223, 0, 251, 0, 239, 0, 253 defb 0, 8, 8, 62, 16, 16, 0, 0 defb 0, 0, 8, 0, 84, 0, 0, 0 defb 24, 44, 118, 252, 186, 84, 40, 16 defb 0, 60, 24, 24, 44, 94, 126, 60 defb 84, 134, 42, 84, 58, 16, 16, 61 defb 108, 146, 146, 108, 16, 92, 24, 92 defb 60, 114, 241, 143, 78, 78, 44, 24 defb 12, 23, 95, 225, 192, 192, 176, 144 defb 5, 114, 137, 171, 154, 70, 124, 170 defb 60, 107, 124, 124, 230, 166, 36, 126 defb 48, 48, 63, 255, 255, 94, 12, 4 defb 0, 20, 0, 0, 72, 42, 0, 0 defb 0, 108, 254, 250, 116, 56, 16, 16 defb 5, 22, 31, 44, 86, 168, 144, 224 defb 188, 66, 213, 65, 126, 189, 126, 195 defb 120, 172, 172, 253, 126, 62, 79, 3 defb 24, 216, 211, 83, 36, 56, 32, 32 defb 0, 84, 42, 0, 0, 80, 160, 0 defb 108, 186, 124, 146, 16, 32, 32, 112 ;treecars defb 24, 24, 26, 26, 92, 88, 56, 24 defb 0, 60, 80, 84, 255, 118, 255, 74 defb 127, 168, 170, 172, 191, 182, 255, 73 defb 170, 254, 170, 186, 238, 198, 198, 198 ;vicsprites.png defb 60, 44, 255, 189, 153, 34, 0, 84 defb 24, 60, 60, 126, 203, 137, 66, 60 defb 221, 193, 56, 187, 187, 131, 28, 221 defb 64, 88, 88, 124, 92, 56, 36, 102 defb 24, 24, 189, 255, 90, 60, 36, 102 defb 66, 219, 90, 61, 126, 88, 60, 102 defb 255, 161, 168, 170, 170, 168, 161, 255 defb 16, 16, 56, 124, 254, 186, 16, 40 defb 126, 90, 255, 189, 189, 36, 66, 36 defb 20, 64, 25, 188, 61, 152, 2, 20 defb 199, 63, 35, 227, 255, 124, 124, 199 defb 60, 126, 255, 127, 254, 255, 88, 24 ;victapes.png defb 24, 60, 126, 219, 255, 90, 129, 66 defb 66, 36, 60, 90, 255, 189, 165, 36 defb 24, 126, 255, 153, 255, 36, 90, 129 defb 0, 46, 0, 95, 95, 95, 0, 46 defb 40, 170, 214, 56, 124, 238, 198, 0 defb 66, 36, 189, 219, 255, 60, 66, 129 defb 0, 0, 192, 191, 191, 191, 213, 0 defb 60, 44, 255, 189, 153, 34, 0, 84 defb 32, 80, 168, 215, 175, 220, 112, 32 defb 68, 40, 148, 81, 53, 214, 88, 24 defb 4, 10, 31, 28, 60, 124, 248, 16 defb 193, 227, 119, 127, 254, 248, 28, 12 defb 24, 36, 60, 60, 60, 90, 153, 153 defb 24, 24, 24, 189, 195, 129, 129, 0 defb 100, 63, 25, 27, 62, 126, 126, 60 defb 230, 25, 60, 66, 219, 255, 255, 66 defb 112, 33, 63, 61, 188, 252, 132, 14 defb 16, 16, 84, 56, 255, 56, 84, 16 defb 0, 16, 16, 56, 126, 56, 16, 0 defb 16, 16, 16, 16, 255, 16, 16, 16 defb 3, 116, 248, 246, 111, 111, 222, 248 defb 36, 66, 153, 255, 153, 66, 36, 0 defb 16, 16, 146, 146, 186, 108, 146, 0 defb 0, 51, 122, 124, 120, 72, 72, 108 defb 60, 66, 66, 126, 219, 231, 219, 255 defb 255, 129, 165, 129, 255, 66, 66, 231 defb 24, 24, 0, 24, 28, 56, 20, 36 defb 152, 88, 48, 56, 16, 16, 40, 108 defb 73, 93, 127, 107, 42, 8, 8, 0 defb 129, 219, 255, 90, 60, 90, 129, 0 defb 66, 129, 153, 255, 153, 129, 66, 0 defb 24, 24, 36, 36, 66, 90, 165, 195 defb 64, 64, 236, 255, 236, 64, 64, 0 defb 24, 60, 86, 126, 60, 60, 86, 169 defb 24, 60, 126, 24, 24, 189, 255, 231 collectables defb 254,250,250,116,56,16,16,124 ;wine glass defb 48,72,136,144,104,4,10,4 ;manic miner key defb 170,127,194,67,246,99,254,85 ;Stamp Quest stamp defb 31,4,10,119,135,177,170,10 ;JSW Tap defb 0,0,0,0,8,20,42,85 ;chuckie egg feed defb 56,126,255,255,255,126,56,0 ;chuckie egg egg defb 0,102,126,60,44,36,60,0 ;t shirt from Uwol quest for money defb 60,102,219,223,135,223,129,255 ;cash pot from Gilligans gold defb 126,195,129,129,129,129,195,126 ;sid spanners nut defb 0,0,0,40,84,0,0,0 ;gnat defb 14,17,57,124,250,250,116,56 ;bomb defb 0,0,112,80,112,0,0,0 ;pixel from Alter ego defb 24,44,24,8,8,28,42,28 ;coll from mwstw defb 0,0,0,24,36,36,24,0 defb 36,36,20,0,60,126,129,126 ;pie from mwstw defb 24,36,82,169,149,74,36,24 ;boulder dash diamond defb 0,60,66,60,16,24,16,28 ;key defb 124,100,124,16,16,28,16,28 ;key defb 0,60,66,90,82,66,60,0 ;key defb 14,10,10,14,8,16,160,64 ;key defb 16,8,102,255,255,255,126,60 ;apple defb 4,10,16,48,88,120,48,0 ;cherry defb 56,40,238,130,238,40,56,0 defb 60,66,153,165,165,153,66,60 defb 85,170,85,186,125,186,85,170 defb 0,24,60,60,60,60,255,255 defb 24,62,127,255,255,126,62,12 ;coal collector defb 31,209,255,45,51,51,45,163 ;oil can defb 60,66,255,129,255,66,60,66 ;barrel defb 0,219,219,219,255,24,24,0 defb 60,66,0,255,126,126,60,60 ;bucket defb 0,0,36,24,36,195,255,255 defb 3,27,44,78,130,68,40,16 defb 51,123,255,255,155,153,159,159 defb 60,24,126,98,114,122,122,255 defb 24,60,86,129,129,106,60,24 defb 14,210,127,33,85,85,65,127 ;oil or watering can defb 238,238,0,238,238,108,108,40 ;shield defb 254,128,191,181,171,181,171,63 defb 12,50,109,255,255,127,62,12 defb 24,60,126,189,189,126,60,24 defb 56,124,198,214,214,198,124,56 ;a few of Harry S Prices defb 56,68,238,146,84,56,16,16 defb 62,70,250,202,234,251,252,248 defb 60,24,24,60,94,94,90,126 defb 4,8,16,62,58,58,58,62 defb 12,12,12,26,26,30,30,30 defb 0,124,102,117,117,118,56,0 defb 0,112,112,112,112,124,126,110 defb 6,9,24,60,126,126,126,60 defb 36,24,102,24,44,8,8,8 defb 255,255,129,129,66,66,66,126 defb 40,16,56,124,254,124,56,16 ;apple collector defb 0,126,126,102,102,126,126,0 defb 32,32,63,36,36,252,4,4 defb 44,110,239,224,7,247,118,52 defb 0,4,24,48,24,60,126,126 defb 32,32,80,248,34,34,28,0 defb 60,126,231,203,231,219,102,60 defb 64,16,4,34,148,82,237,255 defb 1,2,4,24,120,240,240,96 defb 31,35,71,255,143,142,140,248 ;manic miner goldbar defb 80,168,84,168,84,44,2,1 ;manic miner lolly defb 64,96,118,57,20,50,41,39 ;manic miner banana defb 60,90,149,213,213,213,90,60 ;manic miner 10p defb 15,9,61,39,244,156,144,240 ;manic miner defb 170,170,255,255,255,255,85,85 ;mm defb 24,60,66,219,203,66,60,24 ;mm defb 8,8,126,193,225,241,253,126 defb 8,20,8,71,184,68,10,4 defb 124,56,100,222,142,222,130,124 ;mm cashpot defb 16,124,146,170,186,130,108,16 defb 238,238,0,238,238,108,40,0 ;cavelon shield defb 156,208,252,212,144,24,24,16 ;cavelon axe defb 124,186,214,238,214,124,56,0 ;cavleon other shield defb 32,80,140,158,158,140,0,0 ;cavelon ball & chain defb 3,5,13,21,21,53,53,85 ;cavelon door defb 170,170,170,170,170,170,170,254 ;cavelon other door defb 0,60,173,181,173,181,60,0 ;watch, sort of defb 32,16,160,80,10,5,8,40 defb 0,124,124,124,56,56,16,16 defb 24,44,78,143,255,126,60,24 defb 0,224,32,254,32,224,0,0 ;fork defb 7,9,81,34,52,120,36,0 defb 124,16,16,16,124,127,125,124 defb 126,24,36,126,102,255,231,60 defb 8,28,62,127,103,103,127,127 defb 255,129,165,129,189,255,129,255 defb 56,76,84,100,56,16,16,16 defb 16,56,124,254,214,146,56,124 defb 24,52,52,114,114,249,245,126 defb 63,97,161,161,161,161,97,30 defb 24,24,28,14,195,231,126,60 defb 28,58,58,62,0,127,42,20 defb 0,50,125,116,242,254,124,48 defb 224,160,160,174,162,174,232,14 ei thanks ld hl,udgs ;yep I'm still using some udgs and I don't care! ld (23675),hl ld a,68 ;screen with thanks for the graphics ld (23693),a xor a ld (23624),a ;black border out (254),a call 3503 ;cls ld a,2 call 5633 ;upper screen ld de,thankstring ld bc,intro-thankstring call 8252 ld b,5 thloop halt djnz thloop call keyread jp intro thankstring defb 22,0,7,'Special thanks to:' defb 22,2,0,'Joefish',158,', Kweepa',160,', ZXBruno',159 defb 22,3,0,'Steve Robertson',157,', Einar Saukas',162 defb 22,4,0,'for udgs and fonts. Apologies to' defb 22,5,0,'Mister Beep',161 defb 22,7,0,'Thanks to those who participate' defb 22,8,0,'in the WOS forums, write Speccy' defb 22,9,0,'programming stuff and did/didn',39,'t' defb 22,10,0,'let me rip off their graphics.' defb 22,11,0,'In addition to above:' defb 22,12,0,'DigitalPrawn, Fikee, DrBeep, Zub' defb 22,13,0,'na_th_an, Crisis, torot, Zagreb' defb 22,14,0,'dmboozefreak, mickfarrow, Alarm' defb 22,15,0,'AlessandroGrussu, ZnorXman, Graz' defb 22,16,0,'CodenameV, BiNMaN, J. Cauldwell,' defb 22,17,0,'bigjon, kgmcneil, Ralf, Emlyn' defb 22,19,6,'APOLOGIES IN ADVANCE' defb 22,20,5,'FOR ANYTHING FORGOTTEN!' ;intro screen intro ld hl,levtab ld (ltabseed),hl ;ensure we start at the beginning ld hl,level ld (hl),1 ;set to level1 ld hl,joefish ld (whichchar),hl ld hl,text1 ld (textseed),hl ;set appropriate settings to level1 intro2 ei ;enter here if restaring same level ld hl,udgs ;yep I'm still using some udgs and I don't care! ld (23675),hl xor a call 8859 ;black border ld a,71 ;black paper white ink ld (23693),a call 3503 ;clear screen with black call wtit call titattloop call flashmoeb call introtext call music jp instructions ret music ei xor a ld (23560),a ld hl,beepdat ld (beepseed),hl imloop ld hl,(beepseed) ;music data pointer ld a,(hl) cp 22 ;end of data marker call z,imset ld h,a ld l,0 ld de,30 call 949 ld b,10 imloop2 halt djnz imloop2 ld hl,(beepseed) inc hl ld (beepseed),hl ld hl,23560 ;any key pressed, from J Cauldwells How to document ld a,(hl) cp 0 ;still zero ret nz jp imloop beepseed defw beepdat beepdat DEFB 6, 6, 4, 6 ; 43895 6 6 4 6 THIS IS THE 'MUSIC' DATA FROM STAMP QUEST!!! DEFB 6, 4, 6, 6 ; 43899 6 4 6 6 DEFB 3, 6, 6, 3 ; 43903 3 6 6 3 DEFB 6, 6, 3, 6 ; 43907 6 6 3 6 DEFB 6, 3, 9, 6 ; 43911 6 3 9 6 DEFB 5, 4, 6, 5 ; 43915 5 4 6 5 DEFB 4, 6, 5, 3 ; 43919 4 6 5 3 DEFB 6, 5, 3, 6 ; 43923 6 5 3 6 DEFB 5, 3, 6, 5 ; 43927 5 3 6 5 DEFB 3, 8, 6, 6 ; 43931 3 8 6 6 DEFB 5, 6, 6, 5 ; 43935 5 6 6 5 DEFB 6, 6, 4, 6 ; 43939 6 6 4 6 DEFB 6, 3, 6, 6 ; 43943 6 3 6 6 DEFB 3, 6, 6, 3 ; 43947 3 6 6 3 DEFB 9, 5, 5, 3 ; 43951 9 5 5 3 DEFB 5, 5, 3, 5 ; 43955 5 5 3 5 DEFB 5, 3, 5, 5 ; 43959 5 3 5 5 DEFB 4, 5, 5, 4 ; 43963 4 5 5 4 DEFB 5, 5, 4, 7 ; 43967 5 5 4 7 DEFB 5, 4, 3, 5 ; 43971 5 4 3 5 DEFB 4, 3, 5, 4 ; 43975 4 3 5 4 DEFB 4, 5, 4, 4 ; 43979 4 5 4 4 DEFB 5, 4, 4, 5 ; 43983 5 4 4 5 DEFB 4, 4, 6, 5 ; 43987 4 4 6 5 DEFB 5, 4, 5, 5 ; 43991 5 4 5 5 DEFB 4, 5, 5, 4 ; 43995 4 5 5 4 DEFB 5, 5, 3, 5 ; 43999 5 5 3 5 DEFB 5, 4, 5, 5 ; 44003 5 4 5 5 DEFB 3, 8,22,22,22,22 ;22 marks end of data I don't need 4 x 22 but I've put them there, bloody stupid & unecessary imset ld hl,beepdat ;set back to beginning of data ld (beepseed),hl ld a,(hl) introtext ld a,2 call 5633 ld de,introwords1 ld bc,introwords2-introwords1 call 8252 ld a,1 call 5633 ;bottom screen save the message ld de,introwords2 ld bc,34 call 8252 ret introwords1 defb 16,3 ;magenta ink defb 22,10,18,'Dave Hughes' defb 22,11,22,'2011' defb 22,13,18,'ZX-ALFA fonts' defb 22,14,18,'Einar Saukas' introwords2 defb 19,1,16,4,22,1,2,'SAVE THE SPECTRUM ROM FONT!' keyread ei ld hl,23560 ;any key pressed, from J Cauldwells How to document ld (hl),0 ;put zero in last key pressed kloop ld a,(hl) cp 0 ;still zero jr z,kloop ret keyread2 ;keyread from pause during game call draw ei ld hl,23560 ;any key pressed, from J Cauldwells How to document ld (hl),0 ;put zero in last key pressed kloop2 ld a,(hl) cp 0 ;still zero jr z,kloop2 di call delete ret wtit ld ix,wtith ;prints Comic sans title ld hl,wtitle ;Comic Sans MS title 'WUNDERCHAR$' ld c,26 wtit2 ld b,32 ld d,(ix+1) ld e,(ix+0) wtitloop ld a,(hl) ld (de),a inc hl inc de djnz wtitloop inc ix inc ix dec c ld a,c cp 0 jp nz,wtit2 ld b,32 ld hl,22528 ret titattloop ld (hl),71 ;black paper white ink bright inc hl djnz titattloop ld b,64 tit2 ld (hl),69 inc hl djnz tit2 ld b,32 tit3 ld (hl),5 inc hl djnz tit3 ret ;;flashing animated Moebius flashmoeb ld de,flasher ld hl,(topflash) ld c,16 flashloop2 ld b,16 flashloop ld a,(de) ld (hl),a inc de inc hl djnz flashloop push de ld de,16 add hl,de pop de dec c ld a,c cp 0 jp nz,flashloop2 ret topflash defw 22528+256-64 flasher defb 176,240,240,246,246,246,246,198,198,192,64,64,64,64,64,64 ;flashing moebius attributes defb 0,182,246,246,246,246,246,246,246,246,246,246,255,64,64,64 defb 134,182,246,246,246,246,246,246,246,246,246,246,246,255,199,64 defb 64,182,246,246,246,246,246,240,240,240,240,240,240,240,248,199 defb 64,176,182,246,246,246,240,192,192,192,199,192,192,199,192,255 defb 71,64,0 ,182,182,246,198,192,192,192,248,192,192,248,192,255 defb 71,71,64,176,176,182,246,198,198,198,198,198,198,198,198,248 defb 71,71,71,64,64,0,176,246,246,246,246,246,240,240,240,64 defb 71,71,71,64,0,134,198,246,198,246,246,246,198,64,198,64 defb 71,71,71,64,134,64,176,182,198,246,246,246,246,198,64,64 defb 71,71,71,64,64,64,176,134,246,246,246,246,246,246,192,64 defb 71,71,71,64,64,64,176,134,246,246,246,246,246,246,64,64 defb 71,71,71,64,64,134,182,246,246,246,246,246,246,64,64,64 defb 71,71,71,64,64,134,198,240,240,192,240,192,198,198,198,64 defb 71,71,71,64,64,134,246,246,240,240,192,240,134,198,64,64 defb 64,64,64,64,0,0,176,176,176,176,176,128,176,0,0,64 wtitle defb 28 , 1 , 128 , 12 , 48 , 0 , 24 , 28 , 0 , 3 , 3 , 128 , 0 , 15 , 255 , 225 , 252 , 0 , 0 , 15 , 224 , 192 , 0 , 96 , 0 , 12 , 1 , 252 , 0 , 0 , 63 , 128 defb 60 , 1 , 192 , 30 , 120 , 0 , 60 , 62 , 0 , 7 , 7 , 224 , 0 , 31 , 255 , 243 , 255 , 128 , 0 , 63 , 241 , 224 , 0 , 240 , 0 , 30 , 3 , 255 , 128 , 0 , 127 , 224 defb 62 , 3 , 192 , 62 , 120 , 0 , 60 , 62 , 0 , 7 , 135 , 248 , 0 , 31 , 255 , 243 , 255 , 192 , 0 , 127 , 241 , 224 , 0 , 240 , 0 , 30 , 3 , 255 , 192 , 1 , 255 , 240 defb 62 , 3 , 192 , 62 , 120 , 0 , 60 , 63 , 0 , 7 , 135 , 255 , 0 , 31 , 255 , 227 , 255 , 240 , 0 , 255 , 241 , 224 , 0 , 240 , 0 , 62 , 3 , 255 , 240 , 3 , 255 , 240 defb 30 , 3 , 224 , 60 , 120 , 0 , 60 , 63 , 128 , 7 , 135 , 191 , 128 , 30 , 0 , 3 , 195 , 248 , 1 , 240 , 241 , 224 , 0 , 240 , 0 , 126 , 3 , 195 , 248 , 7 , 252 , 224 defb 30 , 7 , 224 , 124 , 120 , 0 , 60 , 63 , 192 , 7 , 135 , 143 , 224 , 30 , 0 , 3 , 192 , 252 , 3 , 224 , 225 , 224 , 0 , 240 , 0 , 255 , 3 , 192 , 252 , 15 , 188 , 0 defb 31 , 7 , 224 , 124 , 120 , 0 , 60 , 63 , 192 , 7 , 135 , 131 , 240 , 30 , 0 , 3 , 192 , 124 , 7 , 192 , 1 , 224 , 0 , 240 , 0 , 255 , 3 , 192 , 124 , 15 , 60 , 0 defb 15 , 7 , 224 , 120 , 120 , 0 , 60 , 63 , 224 , 7 , 135 , 128 , 248 , 30 , 0 , 3 , 192 , 62 , 7 , 128 , 1 , 224 , 0 , 240 , 1 , 255 , 3 , 192 , 62 , 30 , 60 , 0 defb 15 , 15 , 224 , 248 , 120 , 0 , 60 , 63 , 240 , 7 , 135 , 128 , 124 , 30 , 0 , 3 , 192 , 30 , 15 , 128 , 1 , 224 , 0 , 240 , 1 , 255 , 3 , 192 , 30 , 30 , 60 , 0 defb 7 , 15 , 224 , 240 , 120 , 0 , 60 , 61 , 248 , 7 , 135 , 128 , 60 , 30 , 0 , 3 , 192 , 30 , 15 , 0 , 1 , 224 , 0 , 240 , 3 , 239 , 3 , 192 , 30 , 31 , 60 , 0 defb 7 , 15 , 224 , 240 , 120 , 0 , 60 , 60 , 252 , 7 , 135 , 128 , 30 , 31 , 255 , 195 , 192 , 30 , 31 , 0 , 1 , 224 , 255 , 240 , 7 , 239 , 131 , 192 , 30 , 31 , 255 , 128 defb 7 , 159 , 225 , 240 , 120 , 0 , 56 , 60 , 252 , 7 , 135 , 128 , 30 , 31 , 255 , 227 , 192 , 62 , 30 , 0 , 1 , 255 , 255 , 240 , 7 , 207 , 131 , 192 , 62 , 15 , 255 , 224 defb 7 , 158 , 241 , 224 , 120 , 0 , 120 , 60 , 126 , 7 , 135 , 128 , 15 , 31 , 255 , 227 , 193 , 252 , 62 , 0 , 1 , 255 , 255 , 240 , 15 , 135 , 131 , 193 , 252 , 7 , 255 , 240 defb 3 , 190 , 243 , 224 , 120 , 0 , 120 , 60 , 63 , 7 , 135 , 128 , 15 , 31 , 255 , 195 , 255 , 248 , 60 , 0 , 1 , 255 , 255 , 240 , 15 , 135 , 131 , 255 , 248 , 1 , 255 , 248 defb 3 , 190 , 243 , 192 , 120 , 0 , 120 , 60 , 31 , 135 , 135 , 128 , 15 , 30 , 0 , 3 , 255 , 240 , 60 , 0 , 1 , 255 , 0 , 240 , 31 , 255 , 195 , 255 , 240 , 0 , 60 , 248 defb 3 , 188 , 115 , 192 , 120 , 0 , 120 , 60 , 15 , 199 , 135 , 128 , 15 , 30 , 0 , 3 , 255 , 192 , 60 , 0 , 1 , 224 , 0 , 240 , 127 , 255 , 195 , 255 , 192 , 0 , 60 , 124 defb 3 , 252 , 119 , 128 , 124 , 0 , 240 , 60 , 7 , 231 , 135 , 128 , 15 , 30 , 0 , 3 , 255 , 224 , 60 , 0 , 1 , 224 , 0 , 240 , 127 , 255 , 195 , 255 , 224 , 0 , 60 , 60 defb 1 , 252 , 119 , 128 , 60 , 0 , 240 , 60 , 3 , 247 , 135 , 128 , 15 , 30 , 0 , 3 , 223 , 240 , 60 , 0 , 1 , 224 , 0 , 240 , 127 , 255 , 195 , 223 , 240 , 0 , 60 , 60 defb 1 , 248 , 127 , 128 , 60 , 1 , 224 , 60 , 3 , 255 , 135 , 128 , 30 , 30 , 0 , 3 , 199 , 248 , 60 , 0 , 193 , 224 , 0 , 240 , 120 , 3 , 227 , 199 , 248 , 0 , 60 , 60 defb 1 , 248 , 127 , 0 , 62 , 1 , 224 , 60 , 1 , 255 , 135 , 128 , 62 , 30 , 0 , 3 , 193 , 252 , 30 , 3 , 225 , 224 , 0 , 240 , 248 , 3 , 227 , 193 , 252 , 0 , 60 , 124 defb 1 , 240 , 127 , 0 , 31 , 7 , 192 , 60 , 0 , 255 , 135 , 128 , 62 , 30 , 0 , 3 , 192 , 254 , 31 , 15 , 225 , 224 , 0 , 240 , 248 , 3 , 227 , 192 , 254 , 14 , 61 , 248 defb 0 , 240 , 126 , 0 , 31 , 255 , 192 , 60 , 0 , 127 , 135 , 192 , 252 , 30 , 0 , 3 , 192 , 63 , 15 , 255 , 193 , 224 , 0 , 241 , 240 , 1 , 243 , 192 , 63 , 31 , 255 , 248 defb 0 , 240 , 62 , 0 , 15 , 255 , 128 , 60 , 0 , 63 , 135 , 255 , 248 , 31 , 255 , 227 , 192 , 31 , 15 , 255 , 129 , 224 , 0 , 241 , 240 , 1 , 243 , 192 , 31 , 31 , 255 , 240 defb 0 , 240 , 62 , 0 , 7 , 254 , 0 , 60 , 0 , 15 , 135 , 255 , 240 , 15 , 255 , 227 , 192 , 15 , 7 , 254 , 1 , 224 , 0 , 241 , 224 , 0 , 243 , 192 , 15 , 15 , 255 , 192 defb 0 , 96 , 60 , 0 , 1 , 252 , 0 , 60 , 0 , 7 , 3 , 255 , 224 , 7 , 255 , 225 , 128 , 6 , 1 , 248 , 0 , 192 , 0 , 96 , 192 , 0 , 97 , 128 , 6 , 7 , 255 , 0 defb 0 , 0 , 24 , 0 , 0 , 0 , 0 , 24 , 0 , 0 , 0 , 127 , 128 , 3 , 255 , 192 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 60 , 0 ; instructions ld a,104 ;cyan paper black ink ld (23693),a ;loads colour variable with a contents call 3503 ;cls call platform call draw call warmglow call isd ;draws baddy, isd is someway into the cgdraw routine ld a,2 call 5633 ld de,number1 ld bc,number2-number1 call 8252 ld a,1 call 5633 ld de,number2 ;a few extra blocks at the bottom, not used in the game ld bc,14 call 8252 ld hl,magbase ld de,23232 ;bottomw 2 rows ld bc,64 ;32 x 2, missing out the last 4 ldir call keyread ;sets up the common settings for the level with the above info jp start number1 defb 22,1,3,'1-You are Moebius. QAOPB-spc',22,2,5,'to collect falling udgs up',22,3,5,'to 3 at a time. You change' defb 22,4,5,'colour when collection is' defb 22,5,5,'disabled. No more than',22,6,5,'three may drop to the',22,7,5,'ground. Can walk offscreen',22,8,5,'I=Pause' defb 22,12,17,'2-Avoid nasties' defb 22,17,16,'3-Stand on your',22,18,18,'Spectrum and',22,19,18,'download udgs' defb 22,17,0,'4-Replenish',22,18,2,'collecting',22,19,2,'ability on',22,20,2,'the Replenopad' defb 22,11,0,'5-Repeat until',22,12,2,'96 udgs are',22,13,2,'downloaded.',22,14,2,'(12 levels)' number2 defb 22,1,28,144,144,144,144,22,2,28,144,144,144,144 ; start di ld a,1 call 5633 ;any rst instructions need to be in the bottom of the screen during play ld ix,(ltabseed) ;points at eg level1,level2 ld h,(ix+1) ld l,(ix+0) jp (hl) ltabseed defw (levtab) ;level setups and organisation levtab defw level1 defw level2 defw level3 defw level4 defw level5 defw level6 defw level7 defw level8 defw level9 defw level10 defw level11 defw level12 level defb 1,0 ;used for printing level number on blackscreen defb 0,0 level1 call blackscreen ld a,2 ld (badink),a ld a,112 ;yellow paper black ink ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,magbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev1bads ld (levbads),hl ld hl,games ld (charsy),hl ld de,256 ld hl,herex ;level 12 needs to be xor 255 here but every other level is nop nop ld (hl),0 inc hl ld (hl),0 ld hl,15616 ;space graphic ld (dseed),hl ;this level deletes with space, the Speccy Rom level 12 uses 255s, and is filled with 'empty space' ld hl,undher ;for the background effect, need to change for black or not black screen ld (hl),246 ;or inc hl ld (hl),64 ;or 64 ld hl,undher2 ld (hl),230 ;and inc hl ld (hl),191 ;and 191 ld hl,block1 ld (blockload),hl ld hl,games ld (fontseed),hl ld hl,50 ld (energy),hl jp levset ;sets up the common settings for the level with the above info level2 call blackscreen ld a,121 ;attr ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,redbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev2bads ld (levbads),hl ld hl,omicron ld (charsy),hl ld hl,omicron ld (fontseed),hl ld hl,50 ld (energy),hl jp levset ;sets up the common settings for the level with the above info level3 call blackscreen ld a,96 ;attr ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,redbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev3bads ld (levbads),hl ld hl,frogs ld (charsy),hl ld hl,frogs ld (fontseed),hl ld hl,100 ld (energy),hl jp levset ;sets up the common settings for the level with the above info level4 call blackscreen ld a,5 ld (badink),a ld a,70 ;attr ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,grnbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev4bads ld (levbads),hl ld hl,blocks ld (charsy),hl ld hl,gtab2 ld (gtabseed),hl ;makes the guardians horizontal instead of diagonal ld hl,over2 ;overwrite pointers, over1 is spikey balls ld de,g1 ld bc,8 ldir ld hl,undher ld (hl),230 ;and inc hl ld (hl),70 ;and 70 ld hl,undher2 ld (hl),246 ;or inc hl ld (hl),16 ;or 16 red paper on scrolling background ld hl,block2 ;brick ld (blockload),hl ld hl,blocks ld (fontseed),hl ld hl,100 ld (energy),hl jp levset ;sets up the common settings for the level with the above info level5 call blackscreen ld a,87 ;attr ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,cynbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev5bads ld (levbads),hl ld hl,cyrill ld (charsy),hl ld hl,gtab ld (gtabseed),hl ;makes the guardians diagonal instead of horizontal ld hl,over1 ;overwrite pointers, over1 is spikey balls ld de,g1 ld bc,8 ldir ld hl,undher ;for the background effect, need to change for black or not black screen ld (hl),246 ;or inc hl ld (hl),64 ;or 64 ld hl,undher2 ld (hl),230 ;and inc hl ld (hl),191 ;and 191 ld hl,block1 ld (blockload),hl ld hl,cyrill ld (fontseed),hl ld hl,200 ld (energy),hl jp levset ;sets up the common settings for the level with the above info level6 call blackscreen ld a,2 ld (badink),a ld a,79 ;attr ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,redbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev6bads ld (levbads),hl ld hl,alasca ld (charsy),hl ld hl,alasca ld (fontseed),hl ld hl,300 ld (energy),hl jp levset ;sets up the common settings for the level with the above info level7 call blackscreen ld a,71 ;attr ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,cynbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev7bads ld (levbads),hl ld hl,spaceinvaders ld (charsy),hl ld hl,undher ld (hl),230 ;and inc hl ld (hl),71 ;and 71 ld hl,undher2 ld (hl),246 ;or inc hl ld (hl),8 ;or 8 blue paper on scrolling background ld hl,block3 ld (blockload),hl ld hl,spaceinvaders ld (fontseed),hl ld hl,300 ld (energy),hl jp levset ;sets up the common settings for the level with the above info level8 call blackscreen ld a,6 ld (badink),a ld a,88 ;attr ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,yelbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev8bads ld (levbads),hl ld hl,oldudgs ld (charsy),hl ld hl,gtab2 ld (gtabseed),hl ld hl,over2 ;overwrite pointers, over1 is spikey balls ld de,g1 ld bc,8 ldir ld hl,undher ;for the background effect, need to change for black or not black screen ld (hl),246 ;or inc hl ld (hl),64 ;or 64 ld hl,undher2 ld (hl),230 ;and inc hl ld (hl),191 ;and 191 ld hl,oldudgs ld (fontseed),hl ld hl,300 ld (energy),hl jp levset ;sets up the common settings for the level with the above info level9 call blackscreen ld a,2 ld (badink),a ld a,113 ;attr ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,redbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev9bads ld (levbads),hl ld hl,battle ld (charsy),hl ld hl,gtab ld (gtabseed),hl ld hl,over1 ;overwrite pointers, over1 is spikey balls ld de,g1 ld bc,8 ldir ld hl,block1 ld (blockload),hl ld hl,battle ld (fontseed),hl ld hl,300 ld (energy),hl jp levset ;sets up the common settings for the level with the above info level10 call blackscreen ld a,104 ;attr ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,redbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev10bads ld (levbads),hl ld hl,collectables ld (charsy),hl ld hl,gtab2 ld (gtabseed),hl ld hl,block2 ld (blockload),hl ld hl,collectables ld (fontseed),hl ld hl,325 ld (energy),hl jp levset ;sets up the common settings for the level with the above info level11 call blackscreen ld a,6 ld (badink),a ld a,80 ;attr ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,grnbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev11bads ld (levbads),hl ld hl,kweepa ;THANKS TO KWEEPA FOR SO MANY UDGS!!!! ld (charsy),hl ld hl,gtab2 ld (gtabseed),hl ld hl,block1 ld (blockload),hl ld hl,kweepa ld (fontseed),hl ld hl,330 ld (energy),hl jp levset ;sets up the common settings for the level with the above info level12 call blackscreen ld a,2 ld (badink),a ld a,120 ;blue paper white ink ld (23693),a ;loads colour variable with a contents call 3503 ;cls ld hl,plat1s ;blocks for base platform ld (platseed),hl ;pointer ld hl,redbase ;platform attrs ld (baseset),hl ;pointer for attrs ld hl,lev12bads ld (levbads),hl ld hl,15616 ;SPECTRUM ROM FONT!!!! ld (charsy),hl ld hl,gtab ld (gtabseed),hl ld hl,herex ;using rom font means 'space' will not be seen, therefore make inverse with xor 255 ld (hl),238 ;xor nn inc hl ld (hl),255 ;255 ld hl,block2 ld (blockload),hl ld hl,emptyspace ld (dseed),hl ld hl,15616 ld (fontseed),hl ld hl,340 ld (energy),hl jp levset ;sets up the common settings for the level with the above info levbads defw lev1bads charsy defw spaceinvaders levset ld hl,stab2 ld de,stab ld bc,90 ldir ld hl,(fontseed) ld (fontseed2),hl ld de,8 ld a,(fontcycle) or a ;cp o jp z,fcmiss ld b,a fcloop add hl,de ;a very roundabout way of keeping the same place in the scroll sequence djnz fcloop ld (fontseed),hl fcmiss ld hl,overtab ld de,chartab1 ld bc,overtab-chartab1 ldir ld hl,(blockload) ;changes 144 udg for tiles, 4 types ld de,udgs ld bc,8 ldir ld hl,23190 ld (glowseed),hl ld hl,23171 ld (wipeseed),hl call platform call attr call warmglow xor a ld (items),a ld (dropped),a ld (score),a ;ld (fontcycle),a ld (inwulnerable),a ld a,150 ;for inwulnerable timing later ld (slow),a ld de,guardswitch ld hl,(levbads) ;on off switches for level1 ld bc,5 ldir ld hl,(charsy) ld de,256 ld (cpo1),hl ;graphics pointer for falling 8x8s add hl,de ;768 bytes split into 3 x 256 ld (cpo2),hl add hl,de ld (cpo3),hl ld hl,scrntab ld (letpos),hl ld a,28 ld (letcol),a ld a,255 ld (active),a ld a,(23693) and 7 ld (ink),a jp main nextlevel call prscore ;shows most up to date score/energy/dropped items call prenergy call draw ;display the player during pause call finzap call keyread di ld a,(level) inc a ld (level),a cp 13 ;have we finished game? jp z,endgame ld hl,(ltabseed) ;hl pointing at eg levtab inc hl inc hl ld (ltabseed),hl ld hl,(textseed) ld de,18 add hl,de ld (textseed),hl ld hl,(whichchar) ld de,64 ;points to following flashing graphic for next pre level screen add hl,de ld (whichchar),hl jp start ;go there levelend call prenergy call prscore ;most up to date thing that caused the end of level call endzap ei ld b,75 dead halt djnz dead di ld a,71 ld (23693),a call 3503 call clivesinclair call cword call keyread ld a,(hl) ;returns from keyread with hl pointing at 23560, last key pressed cp 121 ;121 = 'y' pressed any other key back to start jp nz, intro2 jp intro endzap ld c,255 ;longish beep (want to call 949 but spin ?bug in 48k doesn't work ld a,255 ezloop3 ld b,255 ezloop and 248 out (254),a dec a djnz ezloop ld b,255 ezloop2 djnz ezloop2 dec c ld a,c cp 0 jp nz,ezloop3 ret clivesinclair ;draws clivesinclair! ld hl,clivepic ;pointing at graphics ld ix,(bplace) ld c,64 bsloop2 ld d,(ix+1) ; pointing at screen ld e,(ix+0) ld a,(bscolumn) add a,e ld e,a ld b,8 bsloop ld a,(hl) ld (de),a inc de inc hl djnz bsloop inc ix inc ix dec c ld a,c cp 0 jp nz,bsloop2 batt ld hl,(bplace) ;fill brians attributes ld de,scrntab ;top of screen address table sbc hl,de ;big minus small add hl,hl ;scr add are 16 apart, need 32 so double ld a,l and 224 ;need only whole numbers ld l,a ld de,22528 add hl,de ld a,(bscolumn) add a,l ld l,a ;hl now pointing to top left square ld c,8 battloop2 ld b,8 battloop ld a,(cattr) ;clive attr ld (hl),a inc hl inc de djnz battloop push de ld de,32-8 add hl,de pop de dec c ld a,c cp 0 jp nz,battloop2 ld a,(cattr) and 120 ;no ink no flash add a,8 cp 128 ;don't want an attr more than this jp z,cattset ld (cattr),a ret cword ld de,keystring ld bc,61 call 8252 ld a,18 rst 16 ld a,1 rst 16 ld a,22 rst 16 ld a,13 rst 16 ld a,12 rst 16 ;'AT' ready to print message ld bc,11 ;each message is 8 bytes long ld a,(score) ;clives message when you fail cp 10 jp m,clive1 cp 25 jp m,clive2 cp 50 jp m,clive3 cp 75 jp m,clive4 cp 90 jp m,clive5 jp clive5 ;prob not needed avoids possibility of looping cattset ld a,72 ld (cattr),a ret keystring defb 22,19,2,'Press Y to begin at Level 1',22,20,2,'any other key for same level' clive1 ld de,cs1 call 8252 ret clive2 ld de,cs2 call 8252 ret clive3 ld de,cs3 call 8252 ret clive4 ld de,cs4 call 8252 ret clive5 ld de,cs5 call 8252 ret cattr defb 72 cs1 defb 'ACCKKKKK!',18,0 cs2 defb 'UUHHNNNN!',18,0 cs3 defb 'GAAAHHHH!',18,0 cs4 defb 'HNNNNNNN!',18,0 cs5 defb 'GRAWWRRR!',18,0 bplace defw row2 bscolumn defb 12 clivepic ;graphic data, bloody hell, 512k! defb 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 defb 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 defb 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 defb 0 , 0 , 0 , 7 , 248 , 0 , 0 , 0 defb 0 , 0 , 0 , 248 , 14 , 0 , 0 , 0 defb 0 , 0 , 3 , 128 , 1 , 0 , 0 , 0 defb 0 , 0 , 12 , 0 , 0 , 128 , 0 , 0 defb 0 , 0 , 24 , 0 , 0 , 64 , 0 , 0 defb 0 , 0 , 48 , 0 , 2 , 56 , 0 , 0 defb 0 , 0 , 192 , 0 , 10 , 124 , 0 , 0 defb 0 , 1 , 128 , 0 , 15 , 254 , 0 , 0 defb 0 , 3 , 0 , 0 , 7 , 252 , 0 , 0 defb 0 , 6 , 0 , 0 , 0 , 254 , 0 , 0 defb 0 , 12 , 0 , 0 , 0 , 254 , 0 , 0 defb 0 , 8 , 0 , 0 , 0 , 254 , 0 , 0 defb 0 , 8 , 0 , 0 , 0 , 254 , 0 , 0 defb 0 , 8 , 24 , 32 , 0 , 254 , 0 , 0 defb 0 , 24 , 66 , 0 , 0 , 254 , 0 , 0 defb 0 , 24 , 36 , 28 , 0 , 254 , 0 , 0 defb 0 , 26 , 24 , 60 , 1 , 254 , 0 , 0 defb 0 , 23 , 0 , 240 , 3 , 255 , 192 , 0 defb 0 , 19 , 191 , 255 , 128 , 254 , 64 , 0 defb 0 , 23 , 239 , 131 , 64 , 249 , 160 , 0 defb 1 , 252 , 204 , 12 , 47 , 178 , 96 , 0 defb 2 , 23 , 124 , 126 , 60 , 55 , 96 , 0 defb 2 , 19 , 228 , 249 , 52 , 54 , 64 , 0 defb 2 , 26 , 100 , 30 , 144 , 108 , 64 , 0 defb 1 , 13 , 166 , 0 , 16 , 118 , 64 , 0 defb 1 , 4 , 103 , 0 , 16 , 118 , 192 , 0 defb 1 , 4 , 229 , 128 , 48 , 106 , 128 , 0 defb 1 , 4 , 164 , 192 , 96 , 97 , 128 , 0 defb 1 , 13 , 164 , 63 , 128 , 99 , 0 , 0 defb 0 , 135 , 0 , 32 , 0 , 254 , 0 , 0 defb 0 , 126 , 65 , 16 , 0 , 224 , 0 , 0 defb 0 , 2 , 71 , 8 , 0 , 224 , 0 , 0 defb 0 , 3 , 60 , 12 , 1 , 192 , 0 , 0 defb 0 , 1 , 159 , 134 , 3 , 192 , 0 , 0 defb 0 , 1 , 191 , 242 , 7 , 192 , 0 , 0 defb 0 , 1 , 255 , 248 , 15 , 64 , 0 , 0 defb 0 , 1 , 240 , 124 , 31 , 64 , 0 , 0 defb 0 , 1 , 128 , 7 , 126 , 64 , 0 , 0 defb 0 , 1 , 143 , 199 , 252 , 64 , 0 , 0 defb 0 , 1 , 144 , 35 , 248 , 64 , 0 , 0 defb 0 , 1 , 192 , 7 , 240 , 96 , 0 , 0 defb 0 , 0 , 240 , 15 , 192 , 32 , 0 , 0 defb 0 , 0 , 248 , 63 , 128 , 32 , 0 , 0 defb 0 , 0 , 127 , 255 , 0 , 48 , 0 , 0 defb 0 , 0 , 63 , 248 , 0 , 56 , 0 , 0 defb 0 , 0 , 0 , 192 , 0 , 239 , 0 , 0 defb 0 , 0 , 0 , 64 , 0 , 199 , 0 , 0 defb 0 , 0 , 0 , 192 , 0 , 207 , 128 , 0 defb 0 , 0 , 3 , 128 , 0 , 143 , 192 , 0 defb 0 , 0 , 6 , 128 , 1 , 31 , 240 , 0 defb 0 , 0 , 13 , 128 , 1 , 31 , 248 , 0 defb 0 , 0 , 62 , 128 , 3 , 63 , 254 , 0 defb 0 , 0 , 125 , 191 , 7 , 127 , 254 , 0 defb 0 , 0 , 248 , 127 , 252 , 191 , 255 , 0 defb 0 , 3 , 249 , 255 , 209 , 127 , 255 , 192 defb 0 , 7 , 237 , 63 , 146 , 127 , 255 , 192 defb 0 , 15 , 229 , 31 , 20 , 127 , 255 , 240 defb 0 , 63 , 199 , 30 , 24 , 255 , 255 , 240 defb 0 , 127 , 194 , 30 , 16 , 255 , 255 , 248 defb 0 , 127 , 130 , 63 , 0 , 255 , 255 , 248 defb 0 , 255 , 128 , 63 , 1 , 255 , 255 , 252 ; lev1bads defb 0,0,0,255,0 lev2bads defb 0,255,0,0,0 lev3bads defb 255,0,0,0,0 ;horizontal switched on lev4bads defb 0,0,255,0,0 lev5bads defb 255,0,0,0,0 ;diagonal switch on lev6bads defb 0,0,0,0,255 lev7bads defb 0,0,255,255,0 lev8bads defb 255,0,0,255,0 ;horizontal lev9bads defb 255,255,0,0,0 ;diagonal lev10bads defb 0,255,0,0,255 lev11bads defb 255,0,255,0,0 ;horizontal lev12bads defb 255,0,255,0,0 ;diagonal warmglow ld hl,(glowseed) ;puts rainbow in appropraita bit of attrs ld de,29 ld b,2 wloop ld (hl),209 inc hl ld (hl),244 inc hl ld (hl),230 inc hl ld (hl),202 add hl,de djnz wloop ld hl,(wipeseed) ld b,2 ld a,(23693) wloop2 ld (hl),a inc hl ld (hl),a inc hl ld (hl),a inc hl ld (hl),a add hl,de djnz wloop2 ret glowseed defw 23190 ;23190 is top spectrum, 23171 is top pad wipeseed defw 23171 attr ld hl,(baseset) ld de,23232 ;bottomw 2 rows ld bc,60 ;32 x 2, missing out the last 4 ldir ld hl,22528+28 ;blacks out the column 28-31 ld de,29 ;distance between rows after lding ld a,65 ld b,24 ;24 rows at right hand side blackloop ld (hl),a inc hl call inca ld (hl),a inc hl call inca ld (hl),a inc hl call inca ld (hl),a call inca add hl,de djnz blackloop ret inca inc a ;65,66,67,68,69,70,71 cp 72 ret nz ld a,65 ret baseset defw magbase ;link to different colour bases redbase defb 66,2,66,71,65,65,1,2,66,2,66,2,66,2,66,2,66,2,66,2,66,2,71,71,71,71,66,2,66,2,66,2 defb 68,68,68,68,68,68,66,2,66,2,67,67,67,67,66,2,69,69,69,69,66,2,7,7,7,7,66,2 magbase defb 67,3,67,71,65,65,1,3,67,3,67,3,67,3,67,3,67,3,67,3,67,3,71,71,71,71,67,3,67,3,67,3 defb 68,68,68,68,68,68,67,3,67,3,66,66,66,66,3,67,69,69,69,69,67,3,7,7,7,7,67,3,67,3,67,3 grnbase defb 68,4,68,71,65,65,1,4,68,4,68,4,68,4,68,4,68,4,68,4,68,4,71,71,71,71,68,4,68,4,68,4 defb 66,66,66,66,66,66,68,4,68,4,67,67,67,67,68,4,69,69,69,69,68,4,7,7,7,7,68,4 cynbase defb 69,5,69,71,65,65,1,5,69,5,69,5,69,5,69,5,69,5,69,5,69,5,71,71,71,71,69,5,69,5,69,5 defb 68,68,68,68,68,68,69,5,69,5,66,66,66,66,69,5,67,67,67,67,69,5,7,7,7,7,69,5 yelbase defb 70,6,70,71,65,65,1,6,70,6,70,6,70,6,70,6,70,6,70,6,70,6,71,71,71,71,70,6,70,6,70,6 defb 68,68,68,68,68,68,70,6,70,6,66,66,66,66,70,6,67,67,67,67,70,6,7,7,7,7,70,6 platform ld a,1 call 5633 ld de,(platseed) ld bc,64 call 8252 ;ROM routine to print screen ret blackscreen ld a,71 ;black paper white ink ld (23693),a ; call 3503 ld a,2 call 5633 ld de,(textseed) ld bc,18 call 8252 ld de,blacktext ld bc,9 call 8252 ld bc,(level) call 6683 call isf ld b,5 ei blloop halt djnz blloop call keyread di ret blacktext defb 22,10,10,'Level ' isf ld de,(whichchar) ;introscreenflasher ld hl,22528+10+32 ;middle of screen, 2 rows down ld c,8 isloop2 ld b,8 isloop ld a,(de) ld (hl),a inc hl inc de djnz isloop push de ld de,32-8 ;next row add hl,de pop de dec c jp nz,isloop2 ret whichchar defw joefish ;flashing attributes on pre level screen, 64 bytes each joefish defb 208,64,64,64,64,208,208,208 ;Joefish Buzzsaw flasher defb 194,208,208,208,208,194,210,194 defb 208,250,210,250,210,208,194,0 defb 210,199,210,199,210,210,0,192 defb 194,208,210,208,194,210,0,192 defb 208,194,194,194,208,210,194,208 defb 146,208,208,208,210,210,208,210 defb 130,146,146,146,146,146,146,130 drbeep defb 0,255,255,255,255,255,0,64 ;Dr Beeps mushroom man defb 255,0,0,0,0,0,255,64 defb 255,0,229,0,229,0,255,64 defb 255,0,0,0,0,0,255,64 defb 255,255,255,255,255,255,255,64 defb 0,199,255,0,255,248,0,64 defb 0,248,248,0,199,199,0,0 defb 0,0,0,0,0,0,0,0 frog defb 132,192,192,132,196,192,192,196 defb 164,192,132,164,228,196,192,228 defb 224,196,164,228,228,228,196,224 defb 192,224,164,228,228,228,224,192 defb 192,128,164,164,164,228,192,192 defb 192,228,160,160,160,160,228,192 defb 160,196,192,128,192,192,196,224 defb 128,164,192,192,192,192,164,192 brick defb 240,240,240,240,240,240,248,0 defb 182,246,246,246,246,246,246,199 defb 182,182,246,246,246,246,246,198 defb 134,134,134,198,198,198,198,198 defb 240,240,240,240,0,240,240,240 defb 246,246,246,246,198,240,246,246 defb 182,182,182,246,198,176,182,246 defb 0,0,0,0,0,0,0,0 backr defb 192,192,208,208,208,208,248,192 defb 192,210,194,194,194,194,210,199 defb 194,210,192,192,192,192,210,194 defb 130,210,192,192,192,192,210,194 defb 128,194,210,210,210,210,210,194 defb 130,210,192,192,192,192,210,194 defb 130,146,192,192,128,128,146,130 defb 192,192,192,192,192,1,65,65 Rbug defb 136,200,200,200,200,200,192,192 ;Rallybug defb 137,201,201,201,193,193,200,192 defb 137,201,201,201,192,192,193,200 defb 137,137,201,201,192,192,192,201 defb 137,137,201,201,200,200,200,201 defb 137,129,129,137,137,193,193,201 defb 193,237,253,129,129,237,253,193 defb 192,239,237,192,128,239,237,192 spinv defb 192,237,237,237,237,237,255,65 defb 191,237,237,237,237,237,237,255 defb 173,237,128,237,237,128,237,237 defb 191,173,237,237,237,237,237,237 defb 173,192,173,237,237,237,192,237 defb 173,128,128,128,128,128,128,237 defb 168,133,133,128,192,197,197,232 defb 192,168,128,192,192,128,168,128 footman defb 64,64,64,219,219,64,192,64 defb 64,195,192,219,219,192,216,0 defb 64,219,201,201,201,201,219,192 defb 64,216,64,201,201,192,195,192 defb 64,64,192,255,255,219,216,192 defb 64,192,192,255,192,195,216,192 defb 0,216,216,219,192,195,216,216 defb 0,216,195,195,192,192,192,192 chegg defb 6,6,6,191,255,128,192,192 ;chuckie egg defb 6,191,255,255,255,255,255,128 defb 6,6,6,155,219,128,192,192 defb 6,6,182,246,246,246,192,192 defb 6,6,182,192,246,246,246,192 defb 6,6,182,176,198,246,246,192 defb 6,6,6,137,201,201,128,192 defb 6,6,136,129,128,193,200,192 jswtap defb 128,192,192,248,248,184,184,184 ;jet set willy tap defb 128,192 ,192,199,135,191,135,135 defb 128,192,192,192,191,128,191,192 defb 192,255,191,191,192,191,191,191 defb 255,192,192,192,192,191,191,191 defb 191,192,191,191,192,192,192,191 defb 191,232,191,192,191,0,191,0 defb 0,197,0,0,184,0,184,0 chost defb 192,192,197,237,232,192,192,192 ;chuckie egg ostrich, joefish design defb 192,198,240,197,232,192,192,192 defb 192,192,197,232,192,192,192,192 defb 192,197,232,192,192,237,173,192 defb 192,192,237,192,237,173,237,173 defb 192,192,192,237,173,237,173,128 defb 192,192,192,192,192,219,192,192 defb 192,192,192,192,216,152,131,192 heart defb 192,144,208,192,192,208,208,192 defb 128,146,210,208,208,210,210,192 defb 130,210,210,210,210,210,210,194 defb 130,146,210,210,210,210,210,194 defb 130,146,210,210,210,210,210,194 defb 0,130,146,210,210,210,194,192 defb 0,128,146,146,210,210,192,192 defb 192,192,128,144,144,192,192,192 textseed defw text1 text1 defb 22,13,7,' Game char$ ' text2 defb 22,13,7,' Fonts ' text3 defb 22,13,7,'Frogging Frogs!' text4 defb 22,13,7,' Blocks ' text5 defb 22,13,7,' Cyrillic ' text6 defb 22,13,7,' Fonts 2 ' text7 defb 22,13,7,'Space Invaders ' text8 defb 22,13,7,'Old School UDGs' text9 defb 22,13,7,' Fonts 3 ' text10 defb 22,13,7,' Collectables! ' text11 defb 22,13,7,' UDG Orgy! ' text12 defb 22,13,7,' SPECTRUM FONT!' ;MAIN LOOP main call delete call gdelete call cgdelete ld bc,57342 ;keys YUIOP in a,(c) ;read rra ;key P push af ;remember call nc,right ;being pressed? pop af rra ;key O push af call nc,left pop af rra call nc,keyread2 ;pause ld bc,64510 ;keys TREWQ in a,(c) rra ;key Q call nc,up ld bc,65022 ;keys GFDSA in a,(c) rra ;key A call nc,ddown ld bc,32566 ;any key pressed on entire row b-spc, ta to WOS forum for help, should have known this really in a,(c) and 31 cp 31 ; call nz,download ld a,r ;slowed and slightly random gravity cp 20 call m,down call cguardian call guardian call draw call cgdraw call gdraw call drops call chars call snake call vbads call updown call xpos ld a,(slow) inc a ld (slow),a cp 255 call z,iw call charcol call prenergy call prscore call attfill ld a,(items) ;change colour of player if needed cp 3 jp nz,mlj ld a,(badink) ld (ink),a mlj ei halt di jp main ret iw ld (inwulnerable),a ret inwulnerable defb 0 download ld a,(ycor) cp 160 ret nz xor a ;clear carry ld a,(xcor) sub 208 add a,40 cp 40 jp nc,dullshow ;not standing on spectrum, maybe on pad to cycle attr blocks in background ld a,(items) cp 0 ret z call zap ld a,(score) ld b,a ld a,(items) add a,b ld (score),a cp 96 jp z,nextlevel;;;zzz xor a ld (items),a ld (active),a ld hl,23171 ld (glowseed),hl ld hl,23190 ld (wipeseed),hl ld a,(badink) ;set moebius colours to can't collect colour ld (ink),a jp warmglow prscore ld a,22 ;at rst 16 ld a,2 rst 16 ld a,26 rst 16 ld bc,(score) call 6683 ld a,22 ;at rst 16 ld a,2 rst 16 ld a,20 rst 16 ld b,0 ld a,(dropped) ld c,a call 6683 ld a,22 rst 16 ld a,2 rst 16 ld a,14 rst 16 ld b,0 ld a,(items) ld c,a call 6683 ret finzap LD D, 255 ; 22 151 LD E, 255 ; 30 74 LD B, 255 ; 6 218 fz1: PUSH BC ; 197 LD A, (23624) ; 58 72 92 SRL A ; 203 63 SRL A ; 203 63 SRL A ; 203 63 SET 4, A ; 203 231 OUT (254), A ; 211 254 LD B, D ; 66 fz2 NOP ; 0 NOP ; 0 NOP ; 0 DJNZ fz2 ; 16 251 RES 4, A ; 203 167 OUT (254), A ; 211 254 LD B, E ; 67 fz3 NOP ; 0 NOP ; 0 NOP ; 0 DJNZ fz3 ; 16 251 INC D ; 20 INC E ; 28 DEC D ; 21 NOP ; 0 POP BC ; 193 DJNZ fz1 ; 16 219 ; RET ; 20 zap LD D, 158 ; 22 158 LD E, 92 ; 30 92 LD B, 52 ; 6 52 L_7536: PUSH BC ; 197 LD A, (23624) ; 58 72 92 SRL A ; 203 63 SRL A ; 203 63 SRL A ; 203 63 SET 4, A ; 203 231 OUT (254), A ; 211 254 LD B, D ; 66 L_7545: NOP ; 0 NOP ; 0 NOP ; 0 DJNZ L_7545 ; 16 251 RES 4, A ; 203 167 OUT (254), A ; 211 254 LD B, E ; 67 L_754F: NOP ; 0 NOP ; 0 NOP ; 0 DJNZ L_754F ; 16 251 DEC D ; 21 DEC D ; 21 DEC E ; 29 NOP ; 0 POP BC ; 193 DJNZ L_7536 ; 16 219 ret ; ; attfill call warmglow ld hl,(line) ;ATTRIBUTE CHECK;player line ld de,scrntab ;top of screen address table sbc hl,de ;big minus small add hl,hl ;scr add are 16 apart, need 32 so double ld a,l and 224 ;need only whole numbers ld l,a ld de,22528 add hl,de ld a,(column) add a,l ld l,a ;hl now pointing to top left square ld de,32 ;used for addition later ld a,(ink) ld b,a ld a,(23693) and 7 ld c,a xor a ld a,h ;TOP ROW CHECK cp 88 ;88 in h, <32 in l jp nz,mat1 ;not even in top segment, miss out next check ld a,l cp 32 jp c,mat2 ;both criteria met, miss out mat1 push hl sbc hl,de ;move up ld a,(column) ;avoid beyond left edge of screen or a ;cp 0 jp z,mat5 dec hl ld a,(hl) and 248 or c ld (hl),a inc hl mat5 ld a,(hl) and 248 or c ld (hl),a inc hl ld a,(hl) and 248 or c ld (hl),a inc hl ld a,(hl) and 248 or c ld (hl),a ld a,(column) ;avoid right edge of screen cp 25 jp z,mat6 inc hl ld a,(hl) and 248 or c ld (hl),a mat6 pop hl ;hl pointing at top left of player again mat2 ld a,(column) or a ;cp 0 jp z,mat7 dec hl ld a,(hl) and 248 or c ld (hl),a inc hl mat7 ld a,(hl) and 248 or b ld (hl),a inc hl ld a,(hl) and 248 or b ld (hl),a inc hl ld a,(hl) and 248 or b ld (hl),a ld a,(column) cp 25 jp z,mat8 inc hl ld a,(hl) and 248 or c ld (hl),a mat8 add hl,de ld a,(column) cp 25 jp z,mat9 ld a,(hl) and 248 or c ld (hl),a dec hl mat9 ld a,(hl) and 248 or b ld (hl),a dec hl ld a,(hl) and 248 or b ld (hl),a dec hl ld a,(hl) and 248 or b ld (hl),a ld a,(column) or a ;cp 0 jp z,mat10 dec hl ld a,(hl) and 248 or c ld (hl),a mat10 ld a,h ;avoid attrs overwriting bottom rows cp 90 ;if not bottom segment we can miss out these checks jp nz,mat3 ld a,l cp 126 ;bottom few rows in l greater than this jp nc,mat4 ;both criteria satisfied, miss out mat3 add hl,de ld a,(column) or a ;cp 0 jp z,mat11 ld a,(hl) and 248 or c ld (hl),a inc hl mat11 ld a,(hl) and 248 or b ld (hl),a inc hl ld a,(hl) and 248 or b ld (hl),a inc hl ld a,(hl) and 248 or b ld (hl),a ld a,(column) cp 25 jp z,mat12 inc hl ld a,(hl) and 248 or c ld (hl),a mat12 add hl,de ld a,(column) cp 25 jp z,mat13 ld a,(hl) and 248 or c ld (hl),a dec hl mat13 ld a,(hl) and 248 or c ld (hl),a dec hl ld a,(hl) and 248 or c ld (hl),a dec hl ld a,(hl) and 248 or c ld (hl),a ld a,(column) or a ;cp 0 ret z dec hl ld a,(hl) and 248 or c ld (hl),a mat4 ret ink defb 0 ;ink colour of player badink defb 2 ;ink colour to use when can't collect ; ; dullshow ;so called as its the non bright background slideshow ld a,(xcor) sub 48 add a,32 cp 32 ret nc ld a,(active) cp 255 ;avoids slideshow if stand on pad and hold down m ret z ld a,255 ld (active),a ld hl,23190 ld a,(23693) ;set moebius colours back to normal and 7 ld (ink),a ld (glowseed),hl ld hl,23171 ld (wipeseed),hl call warmglow dull1 ld hl,22630 ;before start of dulled attrs ld de,16 ld a,(hl) undher or 64 ;removed non bright ld c,a ld a,16 csoop ld b,16 clsoop ld (hl),c inc hl djnz clsoop add hl,de ;add 16 takes us to next row dec a cp 0 jp nz,csoop ld b,8 atthere xor a ;I suppose we need to clear the carry ld de,(attseed) ld hl,(fontseed) bit 7,(hl) call nz,fill ;if bit is set z flag will be not be set inc de inc de bit 6,(hl) call nz,fill inc de inc de bit 5,(hl) call nz,fill inc de inc de bit 4,(hl) call nz,fill inc de inc de bit 3,(hl) call nz,fill inc de inc de bit 2,(hl) call nz,fill inc de inc de bit 1,(hl) call nz,fill inc de inc de bit 0,(hl) call nz,fill ;that's one line done; rem hl pointing at graphic, de at end of attr row ld hl,(attseed) ld de,64 add hl,de ld (attseed),hl ld hl,(fontseed) inc hl ld (fontseed),hl ;hl now ready to point at next graphic, de at the next attr row djnz atthere ld hl,fontcycle inc (hl) ld a,(fontcycle) cp 96 call p,resetfc ld hl,22630 ld (attseed),hl prezap defb 0 ;spacer for later attzap LD D, 150 ; 22 150 LD E, 15 ; 30 15 LD B, 132 ; 6 132 at1 PUSH BC ; 197 LD A, (23624) ; 58 72 92 SRL A ; 203 63 SRL A ; 203 63 SRL A ; 203 63 SET 4, A ; 203 231 OUT (254), A ; 211 254 LD B, D ; 66 at2 NOP ; 0 NOP ; 0 NOP ; 0 DJNZ at2 ; 16 251 RES 4, A ; 203 167 OUT (254), A ; 211 254 LD B, E ; 67 at3 NOP ; 0 NOP ; 0 NOP ; 0 DJNZ at3 ; 16 251 NOP ; 0 INC D ; 20 NOP ; 0 INC D ; 20 POP BC ; 193 DJNZ at1 ; 16 219 ret fontcycle defb 0 resetfc ld hl,(fontseed2) ;stops us scrolling out of font/udg data ld (fontseed),hl xor a ld (fontcycle),a ld hl,(listseed2) ld (listseed),hl ret fill push hl push de ex de,hl ;hl now pointing at screen attrs ld de,32 ld a,(hl) undher2 and 191 ;removes the bright of the attrs ld (hl),a inc hl ld (hl),a add hl,de ld (hl),a dec hl ld (hl),a pop de pop hl ret attseed defw 22630 fontseed defw games fontseed2 defw games charcol ld hl,(ccseed) ;scrolls through 'random' column numbers inc hl ld a,(hl) cp 26 jp z,ccset ld (ccseed),hl ret ccseed defw ccdat ccdat defb 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,26 ccset ld hl,ccdat ld (ccseed),hl ret right xor a ld a,(slow) rra ret c ld a,(column) cp 25 jp z,offright ld a,(ycor) cp 160 jp nz,fright ;we're going up, therefore flying graphics ld ix,(fseed) ;ix pointing at eg r1 ld a,(ix+4) ld (coordtrack),a ld h,(ix+1) ld l,(ix+0) ;hl now pointing at graphic, eg moeb1 ld (sprame),hl ;sprite draw looks in sprame inc ix inc ix ;ix now pointing at left equivalent if we change direction ld h,(ix+1) ld l,(ix+0) ld (fseedl),hl ;if we change direction we are at the appropriate frame inc ix inc ix inc ix ld (fseed),ix ld a,(ix+0) ;255 means full cycle,increase column and start cycle again cp 255 ret nz ld hl,column inc (hl) ld hl,r2 ld (fseed),hl ld hl,l4 ld (fseedl),hl ret left xor a ld a,(slow) rra ret c leftns ld a,(column) cp 0 jp z,offleft ld a,(ycor) cp 160 jp nz,fleft ;we're going up, therefore flying graphics ld ix,(fseedl) ;ix pointing at eg l1 ld a,(ix+4) ld (coordtrack),a ld h,(ix+1) ld l,(ix+0) ;hl now pointing at graphic, eg moeb1 ld (sprame),hl ;sprite draw looks in sprame inc ix inc ix ;ix now pointing at left equivalent if we change direction ld h,(ix+1) ld l,(ix+0) ld (fseed),hl ;if we change direction we are at the appropriate frame inc ix inc ix inc ix ld (fseedl),ix ;next time round we are at next frame ld a,(ix+0) ;255 means full cycle,increase column and start cycle again cp 255 ret nz ld hl,column dec (hl) ld hl,l2 ld (fseedl),hl ld hl,r4 ld (fseed),hl ret fright xor a ;clear carry, bug ld a,(column) ;flying right cp 26 jp z,offright ld ix,(ffseed) ;ix pointing at eg r1 ld a,(ix+4) ld (coordtrack),a ld h,(ix+1) ld l,(ix+0) ;hl now pointing at graphic, eg moeb1 ld (sprame),hl ;sprite draw looks in sprame inc ix inc ix ;ix now pointing at left equivalent if we change direction ld h,(ix+1) ld l,(ix+0) ld (ffseedl),hl ;if we change direction we are at the appropriate frame inc ix inc ix inc ix ld (ffseed),ix ld a,(ix+0) ;255 means full cycle,increase column and start cycle again cp 255 ret nz ld hl,column inc (hl) ld hl,fr2 ld (ffseed),hl ld hl,fl4 ld (ffseedl),hl ret fleft xor a ;need to clear carry for some reason, bug ld a,(column) cp 0 jp z,offleft ld ix,(ffseedl) ;ix pointing at eg l1 ld a,(ix+4) ld (coordtrack),a ld h,(ix+1) ld l,(ix+0) ;hl now pointing at graphic, eg moeb1 ld (sprame),hl ;sprite draw looks in sprame inc ix inc ix ;ix now pointing at left equivalent if we change direction ld h,(ix+1) ld l,(ix+0) ld (ffseed),hl ;if we change direction we are at the appropriate frame inc ix inc ix inc ix ld (ffseedl),ix ;next time round we are at next frame ld a,(ix+0) ;255 means full cycle,increase column and start cycle again cp 255 ret nz ld hl,column dec (hl) ld hl,fl2 ld (ffseedl),hl ld hl,fr4 ld (ffseed),hl ret offright call offatt xor a ld (column),a ret offleft call offatt ld a,25 ld (column),a ret offatt ld hl,(line) ;point hl at top left attr ld de,scrntab ;top of screen address table sbc hl,de ;big minus small add hl,hl ;scr add are 16 apart, need 32 so double ld a,l and 224 ;need only whole numbers ld l,a ld de,22528 add hl,de ld a,(column) add a,l ld l,a ;hl now pointing to top left square ld de,32 ld a,(23693) ;clears up attrs when move offscreen left or right ld (hl),a inc hl ld (hl),a inc hl ld (hl),a add hl,de ld (hl),a dec hl ld (hl),a dec hl ld (hl),a ld a,h ;don't want to do this bit if at bottom of screen cp 90 jp nz,oat1 ;not even in bottom segment, so do the thing ld a,l cp 126 ret nc ;both criteria met, at base, return oat1 ld a,(23693) add hl,de ld (hl),a inc hl ld (hl),a inc hl ld (hl),a ret slow defb 0 ;incremented every loop of main, used to slow animations up xor a ld a,(ycor) cp 1 ret z cp 0 ret z ;2 barriers to avoid rocketing up into the system variables ld hl,(line) ;move player up dec hl dec hl dec hl dec hl ld (line),hl ld hl,ycor dec (hl) dec (hl) ld a,255 ld (upswitch),a ;255 in upswitch means dropping disabled for a loop ret xpos xor a ld a,(column) rla rla rla ;multiply by 8 for pixels ld b,a ld a,(coordtrack) ;add sprite shift pixel add a,b ;together =xcor ld (xcor),a ret upswitch defb 0 ddown ld a,(upswitch) cp 255 ret z ld a,(ycor) cp 159 ret z ;cp 158 ;ret z ;cp 157 ;ret z cp 160 ;are we at bottom of screen? ret z ld hl,(line) ;move player down inc hl inc hl inc hl inc hl ld (line),hl ld hl,ycor inc (hl) inc (hl) ret down ld a,(upswitch) cp 255 ret z ld a,(ycor) cp 160 ;are we at bottom of screen? ret z ld hl,(line) ;move player down inc hl inc hl ld (line),hl ld hl,ycor inc (hl) ret updown xor a ;allows dropping if not going up, upswitch 255 means up, 0 means down allowed ld (upswitch),a ret draw ld (stckstr),sp ;store where stack needs to point after ld sp,(line) ;stack pointer to screen address table ld hl,(sprame) ;which sprite frame are we on? ld b,16 loop pop de ;take address from sp into de, sp auto incremented ld a,(column) ;how much to add to d(e) along row? add a,e ld e,a ;this is line + column into de ld a,(de) ;load a with contents already in screen address or (hl) ld (de),a ;put the data into screen address inc hl ;next graphic data inc de ;next column ld a,(de) or (hl) ld (de),a inc hl inc de ld a,(de) or (hl) ld (de),a ;put graphic data into screen address inc hl ;next djnz loop ld sp,(stckstr) ;get sp back where we started ret delete ld (stckstr),sp ;store where stack needs to point after ld sp,(line) ;stack pointer to screen address table ld hl,(sprame) ;which sprite frame are we on? ld b,16 dloop pop de ;take address from sp into de, sp auto incremented ld a,(column) ;how much to add to d(e) along row? add a,e ld e,a ;this is line + column into de xor a ;ld a,(de) ;load a with contents already in screen address ;xor (hl) ;delete what's there ld (de),a ;put the XORD data onto screen inc hl ;next graphic data inc de ;next column ;ld a,(de) ;xor (hl) ld (de),a inc hl inc de ;ld a,(de) ;xor (hl) ld (de),a ;put graphic data into screen address inc hl ;next djnz dloop ld sp,(stckstr) ;get sp back where we started ret gdelete ld a,(guardswitch) cp 255 ret nz ld c,4 ld ix,(gtabseed) ld (stckstr),sp gdelh ld a,(slow) and (ix+4) cp (ix+4) jp nz,gdelh2 ld h,(ix+8) ld l,(ix+7) ld sp,hl ;sp now pointing at drawline ld b,16 gdloop pop de ;take address from sp into de, sp auto incremented ld a,(ix+1) ;how much to add to d(e) along row? add a,e ld e,a ;this is line + column into de xor a ld (de),a ;put the XORD data onto screen inc de ;next column ld (de),a inc de ld (de),a ;put graphic data into screen address djnz gdloop gdelh2 ld de,12 add ix,de dec c ld a,c cp 0 jp nz,gdelh ld sp,(stckstr) ;get sp back where we started xor a ret chars ld ix,(chartabseed) ld c,3 ld a,(ix+0) ;255 is on cp 255 jp nz,chwait ;collected? jump to next chere2 ld a,(ix+10) cp 32 jp z,chere call ccoll ld a,(ix+0) cp 255 ;turned off? jp nz,chwait ld h,(ix+6) ld l,(ix+5) ;hl pointing at drawline ld d,(ix+8) ;graphic pointer ld e,(ix+7) ;de now pointing at ROM call cdraw ;display it ld h,(ix+6) ld l,(ix+5) ;drawline call cdown chere ld de,11 add ix,de dec c ld a,c cp 0 jp nz,chere2 ret chwait inc (ix+0) jp chere drops ld a,(rainswitch) cp 255 ret nz ld ix,dtab ;drops table ld c,30 ;number of drops dhere2 ld a,(ix+0) ;ix+0 if 255 then on and falling, other means collected cp 255 jp nz,drwait ;delay when not falling until next drop call dcoll ;drop collision check ld h,(ix+6) ld l,(ix+5) ;hl now pointing at drawline of drop ld d,(ix+8) ld e,(ix+7) ;de pointing at graphic source, hl at drawline call vdraw ;display it ld h,(ix+6) ld l,(ix+5) call vdown ;move it dhere ld de,9 ;next one add ix,de dec c ld a,c cp 0 jp nz,dhere2 ret drwait inc (ix+0) jp dhere dcoll ld a,(xcor) ;player x ;Collision check, basically the same as the one in 'How to..' by J.Cauldwell sub (ix+2) ;drop x add a,14 cp 20 ret nc ld a,(ycor) ;player y sub (ix+3) ;drop y add a,14 cp 20 call c,sap ret ccoll ld a,(items) cp 3 jp z,setink ld a,(active) cp 255 ret nz ld a,(xcor) ;chars collection detection sub (ix+2) ;char x add a,14 cp 20 ret nc ld a,(ycor) sub (ix+3) add a,16 cp 24 ;quite generous coll chck call c,collected ret ; 20 crash LD HL, 1000 ; 33 232 3 NOISE TAKEN FROM DKTRONIC SOUNDS FX GENERATOR LD D, 215 ; 22 215 LD E, 41 ; 30 41 LD B, 24 ; 6 24 L_7539: PUSH BC ; 197 LD A, (23624) ; 58 72 92 SRL A ; 203 63 SRL A ; 203 63 SRL A ; 203 63 SET 4, A ; 203 231 OUT (254), A ; 211 254 LD B, (HL) ; 70 NOP ; 0 NOP ; 0 L_754A: DJNZ L_754A ; 16 254 LD B, D ; 66 L_754D: DJNZ L_754D ; 16 254 RES 4, A ; 203 167 OUT (254), A ; 211 254 LD B, (HL) ; 70 L_7554: DJNZ L_7554 ; 16 254 INC HL ; 35 LD B, E ; 67 NOP ; 0 NOP ; 0 L_755A: DJNZ L_755A ; 16 254 NOP ; 0 INC D ; 20 POP BC ; 193 DJNZ L_7539 ; 16 216 RET ; 20 sap ld a,(inwulnerable) cp 255 ret nz ld hl,(energy) xor a ld a,h ;collision, sap energy and beep or l jp z,levelend dec hl ld (energy),hl ld a,255 ;now make noise beeper push bc ld c,1 ld b,255 beeploop and 248 ;keep black border out (254),a inc a djnz beeploop dec c ld a,c jp nz,beeploop pop bc xor a out (254),a ret prenergy ld a,22 ;prints energy rst 16 ld a,2 rst 16 ld a,6 rst 16 ld a,32 rst 16 ld a,32 rst 16 ld a,32 rst 16 ld a,22 rst 16 ld a,2 rst 16 ld a,6 rst 16 ld bc,(energy) call 6683 ret ncbeeper push bc ;nicish collected beep sound ld c,100 ncbloop3 ld a,c ld b,10 and 248 ncbloop4 out (254),a djnz ncbloop4 dec c ld a,c cp 0 jp nz,ncbloop3 ld c,255 ncbloop2 ld a,c ld b,10 and 248 ncbloop out (254),a djnz ncbloop dec c ld a,c cp 0 jp nz,ncbloop2 ld c,255 ancbloop2 ld a,c ld b,10 and 248 ancbloop out (254),a djnz ancbloop dec c ld a,c cp 0 jp nz,ancbloop2 pop bc ret setink ld a,(badink) ;sets to other colour when can't collect anymore ld (ink),a ld a,(items) ret collected ld a,(items) inc a ld (items),a ld a,255 ld (ix+9),a ;this is the 'collected tag' ld a,(ix+10) cp 32 jp z,colhere ;if already 32 we want to keep it there inc (ix+10) ;we only want to cycle through each char segment once. call ncbeeper colhere call delchar ld h,(ix+6) ld l,(ix+5) ;point hl at drawline call coldel ;want to blank position of collected object jp coff ;char collected, turn off and go to next one ret score defw 0 items defb 0 dropped defb 0 active defb 255 ;255 allows collection, other not energy defw 0 vdraw ld a,(slow) rra ret c ld a,(ix+3) ;ycor cp 166 call z,sdrop ;at bottom, splash cp 167 call z,deldrop ;then delete ld (stckstr),sp ;store where stack needs to point after ld sp,hl ;stack pointer to drawline ld b,8 vloop pop hl ;take address from sp into hl, sp auto incremented ld a,(ix+1) ;how much to add to h(l) along row? ix+1 = column add a,l ld l,a ;this is line + column into hl ld a,(de) ld (hl),a ;put the data into screen address inc de ;next djnz vloop ld sp,(stckstr) ;get sp back where we started ret cdraw ld a,(slow) ;draws chars, different to vdraw as this one xors rra ret c ld a,(ix+3) ;ycor cp 166 call z,schar ;at bottom, splash cp 167 call z,delchar ;then delete coldel ld (stckstr),sp ;store where stack needs to point after;ALSO, used to delete the collected item ld sp,hl ;stack pointer to drawline ld b,8 pop hl ld a,(ix+1) add a,l ld l,a xor a ld (hl),a cloop pop hl ;take address from sp into hl, sp auto incremented ld a,(ix+1) ;how much to add to h(l) along row? ix+1 = column add a,l ld l,a ;this is line + column into hl ld a,(de) herex defb 0,0;xor 255 ;I want to use this only on level one ld (hl),a ;put the data into screen address inc de ;next djnz cloop ld sp,(stckstr) ;get sp back where we started ret sdrop ld de,splash ;start of graphics data splash ret schar ld de,(gseed) ret gseed defw splash ;specfont level uses invsplash, others use splash delchar ld de,(dseed) ;Just somewhere in ROM that is all 255s, get's xor'd ret dseed defw 15616 ;rom font level uses emptyspace (as it's xor 255) deldrop ld de,15616 ;space ret vdown ld a,(slow) and (ix+4) cp (ix+4) ret nz inc (ix+3) ;inc y position ld a,(ix+3) cp 168 ;168 is bottom of screen jp z,doff ;turn off if so inc hl inc hl ;move down ld (ix+6),h ld (ix+5),l ;stored new drawline ret cdown ld a,(slow) ;char$ move down and (ix+4) cp (ix+4) ret nz inc (ix+3) ;inc y position ld a,(ix+3) cp 168 ;168 is bottom of screen jp z,coff ;coff turn off if so inc hl inc hl ;move down ld (ix+6),h ld (ix+5),l ;stored new drawline ret doff ld hl,scrntab ld (ix+6),h ld (ix+5),l xor a ld (ix+3),a xor a ld (ix+0),a ;turn it off ret coff ld hl,scrntab ; ld (ix+6),h ld (ix+5),l xor a ld (ix+3),a ;set ycor to 0 xor a ld (ix+0),a ;turn it off ld a,(ix+9) ; cp 255 jp z,avd ;dropped therefore make crash sound call crash ld a,(dropped) ;not collected but dropped, need to increment dropped defb, this code is getting messy! inc a cp 3 ;3 is max allowed ld (dropped),a jp z,levelend ld (dropped),a avd call newchar ;if collected new char to emerge ld hl,(ccseed) ld a,(hl) ;scrolled every main loop ld (ix+1),a ;CHARLEFT NOT NEEDED using ROM rla rla rla ld (ix+2),a ;xcor is column x 8 xor a ret newchar ld a,(ix+9) ;collected? cp 255 ret nz ;255 means collected, therefore new CHAR ;ld a,(ix+7) ;ok, item has been collected, we want to display this char at the right and register score call printchar ld a,8 add a,(ix+7) ld (ix+7),a ld (ix+9),0 ;sets collected back to 0 so it stops cycling,didn't realise you could ld directly into ix+!! live and learn xor a ret printchar ;this gets called every time an item is collected, arriving with ix at the appropriate part of table ld d,(ix+8) ld e,(ix+7) ;point to graphics ld hl,(letpos) ld (stckstr),sp ;store where stack needs to point after;ALSO, used to delete the collected item ld sp,hl ;stack pointer to drawline ld b,8 ploop pop hl ;take address from sp into hl, sp auto incremented ld a,(letcol) ;how much to add to h(l) along row?column add a,l ld l,a ;this is line + column into hl ld a,(de) ld (hl),a ;put the data into screen address inc de ;next djnz ploop ld sp,(stckstr) ;get sp back where we started ld a,(letcol) inc a cp 32 jp z,pset ld (letcol),a ret pset ld hl,(letpos) ;prints a row of 4, then a new row ld de,16 add hl,de ld (letpos),hl ;next row down on screen address table ld a,28 ld (letcol),a ret letpos defw scrntab ;scrntab is top of address table letcol defb 28 chartabseed defw chartab1 chartab1 defb 100,1,8,0,3 ;table for cascading char$, 255 on/off, column,x,y,speed (as for drops, 1 fastest) ts1 defw scrntab ;drawline cpo1 defw spaceinvaders;15616 defb 0,0 ;chars pointer the low byte is inc by 8 each time, ie scrolls through chars,collected defb 0,11,88,0,7 ts2 defw scrntab cpo2 defw 0; defb 0,0 defb 255,22,176,0,1 ts3 defw scrntab cpo3 defw 0; defb 0,0 ; overtab defb 100,1,8,0,3 ;table for cascading char$, 255 on/off, column,x,y,speed (as for drops, 1 fastest) defw scrntab ;drawline defw spaceinvaders;15616 defb 0,0 ;ROM chars pointer, the low byte is inc by 8 each time, ie scrolls through chars,collected defb 0,11,88,0,7 defw scrntab defw spaceinvaders+256;15616+256 defb 0,0 defb 255,22,176,0,1 defw scrntab defw spaceinvaders+256+256;15616+256+256 defb 0,0 ; dtab defb 50,1,8,0,1 defw scrntab defw drop defb 0,2,16,0,3 ;table for falling drops, 255 = on timer, column, x,y,speed (1,3,7,15, higher means slower) defw scrntab ;draw line defw drop ;graphics source defb 255,3,24,0,1 defw scrntab defw drop defb 0,4,32,0,3 defw scrntab defw drop defb 140,5,40,0,1 defw scrntab defw drop defb 50,6,48,0,3 defw scrntab defw drop defb 0,7,56,0,1 defw scrntab defw drop defb 0,8,64,0,3 defw scrntab defw drop defb 75,9,72,0,1 defw scrntab defw drop ten defb 100,10,80,0,3 defw scrntab defw drop defb 255,11,88,0,1 defw scrntab defw drop defb 0,12,96,0,3 defw scrntab defw drop defb 255,13,104,0,1 defw scrntab defw drop defb 200,14,112,0,3 defw scrntab defw drop defb 100,15,120,0,1 defw scrntab defw drop defb 255,16,128,0,3 defw scrntab defw drop defb 0,17,136,0,1 defw scrntab defw drop defb 255,18,144,0,3 defw scrntab defw drop ninteen defb 50,19,152,0,1 defw scrntab defw drop defb 0,20,160,0,3 defw scrntab defw drop defb 50,21,168,0,1 defw scrntab defw drop defb 50,22,176,0,3 defw scrntab defw drop defb 230,23,184,0,1 defw scrntab defw drop defb 140,24,192,0,3 defw scrntab defw drop defb 100,25,200,0,1 defw scrntab defw drop defb 150,26,208,0,3 defw scrntab defw drop defb 255,27,216,0,1 defw scrntab defw drop defb 40,20,224,0,3 defw scrntab defw drop defb 255,1,232,0,1 defw scrntab defw drop thirty defb 0,2,240,0,3 defw scrntab defw drop ;;;30 ; gtabseed defw gtab2 ;gtab is diagonals, gtab2 is horizontals gtab defb 255,0,0,0,0 ;on/off, column, gx,gy,speed (gets anded then cp'd) defw g1 defw scrntab defb 1,1,12 ;1right0left,0up1down,min y (last one to avoid sprite flicker defb 255,0,0,160,1 defw g1 defw row20 defb 1,0,12 defb 255,20,160,0,3 defw g1 defw scrntab defb 0,1,16 defb 255,20,160,160,7 defw g1 defw row20 defb 0,0,24 gtab2 defb 255,0,0,16,3 ;on/off, column, gx,gy,speed (gets anded then cp'd) HORIZONTAL MOVEMENT defw g1 defw row2 defb 1,10,12 ;1right0left,0up1down,min y (last one to avoid sprite flicker defb 255,0,0,80,1 defw g1 defw row10 defb 1,10,12 defb 255,20,160,120,3 defw g1 defw row15 defb 0,10,16 defb 255,2,16,160,7 defw g1 defw row20 defb 0,10,24 vtabseed defw vtab vtab defb 255,0,0,0,0,158,0 ;onoff,column,x,y,min,max,updown defw scrntab defw proudman defb 255,10,80,152,0,158,1 defw row19 defw cms defb 255,25,200,0,0,158,0 defw scrntab defw lobster defb 255,5,40,152,0,158,1 ;onoff,column,x,y,min,max,updown defw row19 defw skull defb 255,15,120,0,0,158,0 defw scrntab defw mchip defb 255,20,160,152,0,158,1 defw row19 defw nasty vbads ld a,(vbadswitch) cp 255 ret nz vnum ld c,6 ld ix,(vtabseed) vbhere2 ld a,(ix+0) cp 255 ;switched on? jp nz,vbhere ld a,(ix+6) ;up down indicators cp 1 ;1 is up 0 down jp z,vup vdn ld a,(ix+3) cp (ix+5) ;max limit jp z,vset ;change direction ld h,(ix+8) ;moves it down ld l,(ix+7) ;hl now pointing at eg row 20 inc hl inc hl ;one line down ld (ix+8),h ld (ix+7),l inc (ix+3) ;thus its ycor needs to increase jp vbdraw vup ld a,(ix+3) cp (ix+4) ;max limit jp z,vset ;change direction ld h,(ix+8) ;moves it up ld l,(ix+7) ;hl now pointing at eg row 20 dec hl dec hl ;one line up ld (ix+8),h ld (ix+7),l dec (ix+3) ;thus its ycor needs to increase,ready to draw now vbdraw ld (stckstr),sp ;we arrive here with hl pointing at eg row 20 ld sp,hl ;sp pointing at screenadd source, ready to be popped into de ld h,(ix+10) ld l,(ix+9) ;hl pointing at graphic source ld b,18 vbloop pop de ;de pointing at actual screen address, eg 16384 ld a,(ix+1) ;column add a,e ld e,a ;screen address plus column ld a,(hl) ld (de),a inc hl inc de ld a,(hl) ld (de),a inc hl djnz vbloop ld sp,(stckstr) call vcoll vbhere ld de,11 add ix ,de dec c ld a,c cp 0 jp nz,vbhere2 ret vset ld a,(ix+6) xor 1 ld (ix+6),a jp vbhere vcoll ld a,(xcor) ;player x ;Collision check, basically the same as the one in 'How to..' by J.Cauldwell sub (ix+2) ;drop x add a,16 cp 30 ret nc ld a,(ycor) ;player y sub (ix+3) ;drop y add a,16 cp 30 call c,sap ret cguardian ld a,(cguardswitch) cp 255 ret nz ld a,(slow) and 3 cp 3 ret nz call cgcoll ld a,(cgon) ;guardian on? 255 means yes cp 255 ret nz ld a,(column) ld b,a ld a,(cgcol) cp b jp m,cgr call p,cgl cghere ld a,(ycor) ld b,a ld a,(cgy) cp b jp m,cgd ;move guardian down jp p,cgup ;move guardian up cghere2 ret cgd ld a,(cgy) cp 160 ret z ld hl,(cgline) inc hl inc hl ld (cgline),hl ld hl,cgy inc (hl) jp cghere2 cgup ld a,(cgy) cp 0 ret z ld hl,(cgline) dec hl dec hl ld (cgline),hl ld hl,cgy dec (hl) ret cgr ld a,(cgcol) cp 25 ret z ld hl,(cgframe) ld de,cg4 ;end of right cycle ld a,h xor d cp 0 jp nz,cmiss ld a,l xor e jp nz, cmiss ;if both are 0 then hl = g4 ld hl,cg1 ld (cgframe),hl ld hl,cgcol inc (hl) ;start cycle again and inc column xor a ;clear carry ld a,(cgcol) ;gx is gcol x 8 rla rla rla ld (cgx),a jp cghere cmiss ld hl,(cgframe) inc hl inc hl ld (cgframe),hl xor a ;clear carry ld a,(cgcol) ;gx is columnx8 plus 2 every right rla rla rla add a,2 ld (cgx),a jp cghere cgl ld a,(cgcol) cp 0 ret z ld hl,(cgframe) ld de,cg1 ;end of right cycle ld a,h xor d cp 0 jp nz,cmiss2 ld a,l xor e jp nz,cmiss2 ;if both are 0 then hl = g4 ld hl,cg4 ld (cgframe),hl ld hl,cgcol dec (hl) ;start cycle again and dec column xor a ld a,(cgcol) ;gx is column x 8 minus 2 rla rla rla ld (cgx),a ret cmiss2 ld hl,(cgframe) dec hl dec hl ld (cgframe),hl xor a ;clear carry ld a,(cgcol) ;gx is columnx8 minus 2 every left rla rla rla dec a dec a ld (cgx),a ret cgdraw ld a,(cguardswitch) cp 255 ret nz ld a,(slow) and 3 cp 3 ret nz isd ld (stckstr),sp ;store where stack needs to point after, also used as isd the instructino screen ld sp,(cgframe) ;which sprite frame are we on? pop hl ld sp,(cgline) ld b,16 cgloop pop de ;take address from sp into de, sp auto incremented ld a,(cgcol) ;how much to add to d(e) along row? add a,e ld e,a ;this is line + column into de ld a,(de) ;load a with contents already in screen address or (hl) ld (de),a ;put the data into screen address inc hl ;next graphic data inc de ;next column ld a,(de) or (hl) ld (de),a inc hl inc de ld a,(de) or (hl) ld (de),a ;put graphic data into screen address inc hl ;next djnz cgloop ld sp,(stckstr) ;get sp back where we started ret cgdelete ld a,(cguardswitch) cp 255 ret nz ld a,(slow) and 3 cp 3 ret nz ld (stckstr),sp ;store where stack needs to point after ld sp,(cgframe) ;which sprite frame are we on? pop hl ld sp,(cgline) ld b,16 cgdloop pop de ;take address from sp into de, sp auto incremented ld a,(cgcol) ;how much to add to d(e) along row? add a,e ld e,a ;this is line + column into de xor a ld (de),a ;put the XORD data onto screen inc de ;next column ld (de),a inc de ld (de),a ;put graphic data into screen address djnz cgdloop ld sp,(stckstr) ;get sp back where we started ret cgcoll ld a,(cgx) ;player x ;Collision check for chaser guardian, basically the same as the one in 'How to..' by J.Cauldwell ld b,a ld a,(xcor) sub b ;drop x add a,14 cp 32 ret nc ld a,(cgy) ;player y ld b,a ld a,(ycor) sub b ;drop y add a,14 cp 32 call c,sap ret guardian ld a,(guardswitch) cp 255 ret nz ld c,4 ld ix,(gtabseed) ghere3 ld a,(slow) and (ix+4) cp (ix+4) ;guardian speed jp nz,ghere4 ld a,(ix+0) ;guardian on? 255 means yes cp 255 jp nz,ghere4 ld a,(ix+9) cp 1 ;1 is right, 0 left jp z,gl jp gr ;not right, must be left then ghere5 ld a,(ix+10) cp 10 ;10 means up down switched off jp z,ghere4 cp 1 jp z,gd jp gup ;not down, must be up ghere4 call gcoll ;guardian>player collision detection ld de,12 add ix,de ;ix pointing at next graphic dec c ld a,c cp 0 jp nz,ghere3 ret gcoll ld a,(xcor) ;player x ;Collision check, basically the same as the one in 'How to..' by J.Cauldwell sub (ix+2) ;drop x add a,14 cp 32 ret nc ld a,(ycor) ;player y sub (ix+3) ;drop y add a,14 cp 32 call c,sap ret gd ld a,(ix+3) cp 160 jp z,cvdir ld h,(ix+8) ld l,(ix+7) inc hl inc hl ld (ix+8),h ld (ix+7),l inc (ix+3) ;ycor jp ghere4 gup ld a,(ix+3) cp (ix+11) ;max up, faster sprites flicker more so want to minimise this jp z,cvdir ld h,(ix+8) ld l,(ix+7) dec hl dec hl ld (ix+8),h ld (ix+7),l dec (ix+3) ;ycor jp ghere4 gr ld a,(ix+1) ;column cp 25 jp z,chdir ld h,(ix+6) ld l,(ix+5) ;hl now pointing at eg g1 ld de,g4 ;end of right cycle ld a,h xor d cp 0 jp nz,miss ld a,l xor e jp nz, miss ;if both are 0 then hl = g4 ld hl,g1 ld (ix+6),h ld (ix+5),l inc (ix+1) ;start cycle again and inc column xor a ;clear carry ld a,(ix+1) ;gx is gcol x 8 rla rla rla ld (ix+2),a jp ghere5 miss ld h,(ix+6) ld l,(ix+5) inc hl inc hl ld (ix+6),h ld (ix+5),l xor a ;clear carry ld a,(ix+1) ;gx is columnx8 plus 2 every right rla rla rla add a,2 ld (ix+2),a jp ghere5 chdir ld a,(ix+9) ;left/right indicator xor 1 ;if 0 then becomes 1,1 becomes 0 ld (ix+9),a jp ghere5 cvdir ld a,(ix+10) xor 1 ld (ix+10),a jp ghere4 gl ld a,(ix+1) cp 0 jp z,chdir ld h,(ix+6) ld l,(ix+5) ld de,g1 ;end of right cycle ld a,h xor d cp 0 jp nz,miss2 ld a,l xor e jp nz, miss2 ;if both are 0 then hl = g4 ld hl,g4 ld (ix+6),h ld (ix+5),l dec (ix+1) ;start cycle again and dec column xor a ld a,(ix+1) ;gx is column x 8 minus 2 rla rla rla ld (ix+2),a jp ghere5 miss2 ld h,(ix+6) ld l,(ix+5) dec hl dec hl ld (ix+6),h ld (ix+5),l xor a ;clear carry ld a,(ix+1) ;gx is columnx8 minus 2 every left rla rla rla dec a dec a ld (ix+2),a jp ghere5 gdraw ld a,(guardswitch) cp 255 ret nz ld c,4 ld ix,(gtabseed) ld (stckstr),sp ;store where stack needs to point after gdrh ld a,(slow) and (ix+4) cp (ix+4) jp nz,thsplce ld h,(ix+6) ld l,(ix+5) ld d,(ix+8) ld e,(ix+7) ld sp,hl pop hl ;hl pointing at graphic ex de,hl ;save hl, hl now pointing at drawline ld sp,hl ex de,hl ;hl pointing at graphic, sp at drawline ready to pop into de ld b,16 gloop pop de ;take address from sp into de, sp auto incremented ld a,(ix+1) ;how much to add to d(e) along row? add a,e ld e,a ;this is line + column into de ld a,(de) ;load a with contents already in screen address or (hl) ld (de),a ;put the data into screen address inc hl ;next graphic data inc de ;next column ld a,(de) or (hl) ld (de),a inc hl inc de ld a,(de) or (hl) ld (de),a ;put graphic data into screen address inc hl ;next djnz gloop thsplce ld de,12 add ix,de dec c ld a,c cp 0 jp nz,gdrh ld sp,(stckstr) ;get sp back where we started ret ; ;diag and horiz guardians g1 defw sman1;hbad1 ;do an ldir here for different levels g2 defw sman2;hbad2 g3 defw sman3;hbad3 g4 defw sman4;hbad4 ; over1 defw hbad1 ;spikey ball graphic pointer table, ldired over g1,g2 etc when needed defw hbad2 defw hbad3 defw hbad4 ; over2 defw sman1 ;spaceman pointer table, ldir over g1,g2 when needed defw sman2 defw sman3 defw sman4 ; cgline defw row8;chaser details cgon defb 255 cgcol defb 24 cgx defb 0 cgy defb 64 cgframe defw cg1 cg1 defw jelly1 cg2 defw jelly2 cg3 defw jelly3 cg4 defw jelly4 ; column defb 1 stckstr defw 0 sprame defw moeb13 fseed defw r2 r2 defw moeb2 rl2 defw l3 defb 2 r3 defw moeb3 rl3 defw l2 defb 4 r4 defw moeb4 rl4 defw l1 defb 6 r1 defw moeb1 rl1 defw l4 defb 0 defb 255,255,255 ;end of cycle data fseedl defw l2 l2 defw moeb6 lr2 defw r3 defb 4 l3 defw moeb7 lr3 defw r2 defb 2 l4 defw moeb8 lr4 defw r1 defb 0 l1 defw moeb5 lr1 defw r4 defb 6 defb 255,255,255 ;end of cycle data ffseed defw fr2 ;FLYING CYCLE TABLE fr2 defw moeb12 frl2 defw fl3 defb 2 fr3 defw moeb13 frl3 defw fl2 defb 4 fr4 defw moeb14 frl4 defw fl1 defb 6 fr1 defw moeb11 frl1 defw fl4 defb 0 defb 255,255,255 ;end of cycle data ffseedl defw fl2 fl2 defw moeb16 flr2 defw fr3 defb 4 fl3 defw moeb17 flr3 defw fr2 defb 2 fl4 defw moeb18 flr4 defw fr1 defb 0 fl1 defw moeb15 flr1 defw fr4 defb 6 defb 255,255,255 ;end of cycle data moeb1 defb 11111110b,00000000b,00000000b ;player sprite data defb 01111111b,11111000b,00000000b defb 01111111b,11111100b,00000000b defb 01111111b,11111110b,00000000b defb 01111111b,00000001b,00000000b defb 00011110b,00100101b,00000000b defb 00011111b,00000001b,00000000b defb 00000011b,11111110b,00000000b defb 00000001b,01110000b,00000000b defb 00000011b,01111000b,00000000b defb 00000010b,11111100b,00000000b defb 00000010b,11111100b,00000000b defb 00000011b,11111000b,00000000b defb 00000001b,10100000b,00000000b defb 00000011b,11010000b,00000000b defb 00000011b,11101000b,00000000b moeb2 defb 00111111b,10000000b,00000000b defb 00011111b,11111110b,00000000b defb 00011111b,11111111b,00000000b defb 00011111b,11111111b,10000000b defb 00011111b,11000000b,01000000b defb 00000111b,10001001b,01000000b defb 00000111b,11000000b,01000000b defb 00000000b,11111111b,10000000b defb 00000000b,01011100b,00000000b defb 00000000b,11011110b,00000000b defb 00000000b,11011111b,00000000b defb 00000000b,11101111b,00000000b defb 00000000b,11111110b,00000000b defb 00000000b,00110100b,00000000b defb 00000000b,01110100b,00000000b defb 00000000b,01111010b,00000000b moeb3 defb 00000001b,11111100b,00000000b defb 00000111b,11111111b,10000000b defb 00001111b,11111111b,11100000b defb 00000111b,11110000b,00010000b defb 00000011b,11100010b,01010000b defb 00000001b,11110000b,00010000b defb 00000000b,01111111b,11100000b defb 00000000b,00011111b,00000000b defb 00000000b,01111111b,10100000b defb 00000000b,10011111b,11000000b defb 00000000b,00011111b,11000000b defb 00000000b,00011111b,11000000b defb 00000000b,01111111b,10000000b defb 00000000b,01100000b,11100000b defb 00000000b,01110000b,11000000b defb 0,0,0 moeb4 defb 00000011b,11111000b,00000000b defb 00000001b,11111111b,11100000b defb 00000001b,11111111b,11110000b defb 00000001b,11111111b,11111000b defb 00000001b,11111100b,00000100b defb 00000000b,01111000b,10010100b defb 00000000b,01111100b,00000100b defb 00000000b,00001111b,11111000b defb 00000000b,00000101b,11000000b defb 00000000b,00001101b,11100000b defb 00000000b,00001011b,11110000b defb 00000000b,00001011b,11110000b defb 00000000b,00001111b,11100000b defb 00000000b,00011111b,11000000b defb 00000000b,00011100b,01100000b defb 00000000b,00001110b,01110000b moeb5 defb 00000000b,00000000b,01111111b defb 00000000b,00011111b,11111110b defb 00000000b,00111111b,11111110b defb 00000000b,01111111b,11111110b defb 00000000b,10000000b,11111110b defb 00000000b,10100100b,01111000b defb 00000000b,10000000b,11111000b defb 00000000b,01111111b,11000000b defb 00000000b,00001110b,10000000b defb 00000000b,00011110b,11000000b defb 00000000b,00111101b,11000000b defb 00000000b,00111101b,11000000b defb 00000000b,00011111b,11000000b defb 00000000b,00000101b,10000000b defb 00000000b,00001011b,11000000b defb 00000000b,00010111b,11000000b moeb6 defb 00000000b,00000001b,11111100b defb 00000000b,01111111b,11111000b defb 00000000b,11111111b,11111000b defb 00000001b,11111111b,11111000b defb 00000010b,00000011b,11111000b defb 00000010b,10010001b,11100000b defb 00000010b,00000011b,11100000b defb 00000001b,11111111b,00000000b defb 00000000b,00111010b,00000000b defb 00000000b,01111011b,00000000b defb 00000000b,11111011b,00000000b defb 00000000b,11110111b,00000000b defb 00000000b,01111111b,00000000b defb 00000000b,00101100b,00000000b defb 00000000b,00101110b,00000000b defb 00000000b,01011110b,00000000b moeb7 defb 00000000b,00111111b,10000000b defb 00000001b,11111111b,11100000b defb 00000111b,11111111b,11110000b defb 00001000b,00001111b,11100000b defb 00001010b,01000111b,11000000b defb 00001000b,00001111b,10000000b defb 00000111b,11111110b,00000000b defb 00000000b,11111000b,00000000b defb 00000101b,11111110b,00000000b defb 00000011b,11111001b,00000000b defb 00000011b,11111000b,00000000b defb 00000011b,11111000b,00000000b defb 00000001b,11111110b,00000000b defb 00000111b,00000110b,00000000b defb 00000011b,00001110b,00000000b defb 0,0,0 moeb8 defb 00000000b,00011111b,11000000b defb 00000111b,11111111b,10000000b defb 00001111b,11111111b,10000000b defb 00011111b,11111111b,10000000b defb 00100000b,00111111b,10000000b defb 00101001b,00011110b,00000000b defb 00100000b,00111110b,00000000b defb 00011111b,11110000b,00000000b defb 00000011b,10100000b,00000000b defb 00000111b,10110000b,00000000b defb 00001111b,11010000b,00000000b defb 00001111b,11010000b,00000000b defb 00000111b,11110000b,00000000b defb 00000011b,00110000b,00000000b defb 00000110b,01111000b,00000000b defb 00001110b,01110000b,00000000b ;FLYING GRAPHICS moeb11 defb 11111110b,00000000b,00000000b ;player sprite data defb 01111111b,11111000b,00000000b defb 01111111b,11111100b,00000000b defb 01111111b,11111110b,00000000b defb 01111111b,00000001b,00000000b defb 00011110b,00100101b,00000000b defb 00011111b,00000001b,00000000b defb 00000011b,11111110b,00000000b defb 00000001b,11110000b,00000000b defb 00000111b,11111000b,00000000b defb 00001011b,11111100b,00000000b defb 00000011b,11111100b,00000000b defb 00000011b,11111000b,00000000b defb 00000110b,00001000b,00000000b defb 00000110b,00011000b,00000000b defb 00000100b,00010000b,00000000b moeb12 defb 00111111b,10000000b,00000000b defb 00011111b,11111110b,00000000b defb 00011111b,11111111b,00000000b defb 00011111b,11111111b,10000000b defb 00011111b,11000000b,01000000b defb 00000111b,10001001b,01000000b defb 00000111b,11000000b,01000000b defb 00000000b,11111111b,10000000b defb 00000000b,01111100b,00000000b defb 00000001b,11111110b,00000000b defb 00000010b,11111111b,00000000b defb 00000000b,11111111b,00000000b defb 00000000b,11111110b,00000000b defb 00000000b,11000100b,00000000b defb 00000000b,11001100b,00000000b defb 00000000b,10001000b,00000000b moeb13 defb 00000001b,11111100b,00000000b defb 00000111b,11111111b,10000000b defb 00001111b,11111111b,11100000b defb 00000111b,11110000b,00010000b defb 00000011b,11100010b,01010000b defb 00000001b,11110000b,00010000b defb 00000000b,01111111b,11100000b defb 00000000b,00011111b,00000000b defb 00000000b,01111111b,10000000b defb 00000000b,10011111b,11000000b defb 00000000b,00011111b,11000000b defb 00000000b,00011111b,11000000b defb 00000000b,00011111b,10000000b defb 00000000b,00110001b,00000000b defb 00000000b,00110011b,00000000b defb 00000000b,00100010b,00000000b moeb14 defb 00000000b,11111000b,00000000b defb 00000001b,11111111b,11100000b defb 00000011b,11111111b,11110000b defb 00000001b,11111111b,11111000b defb 00000001b,11111100b,00000100b defb 00000000b,01111000b,10010100b defb 00000000b,01111100b,00000100b defb 00000000b,00001111b,11111000b defb 00000000b,00000111b,11000000b defb 00000000b,00011111b,11100000b defb 00000000b,00101111b,11110000b defb 00000000b,00001111b,11110000b defb 00000000b,00001111b,11100000b defb 00000000b,00011000b,01000000b defb 00000000b,00011000b,11000000b defb 00000000b,00010000b,10000000b moeb15 defb 00000000b,00000000b,01111111b defb 00000000b,00011111b,11111110b defb 00000000b,00111111b,11111110b defb 00000000b,01111111b,11111110b defb 00000000b,10000000b,11111110b defb 00000000b,10100100b,01111000b defb 00000000b,10000000b,11111000b defb 00000000b,01111111b,11000000b defb 00000000b,00001111b,10000000b defb 00000000b,00011111b,11100000b defb 00000000b,00111111b,11010000b defb 00000000b,00111111b,11000000b defb 00000000b,00011111b,11000000b defb 00000000b,00001000b,01100000b defb 00000000b,00001100b,01100000b defb 00000000b,00000100b,00100000b moeb16 defb 00000000b,00000001b,11111100b defb 00000000b,01111111b,11111000b defb 00000000b,11111111b,11111000b defb 00000001b,11111111b,11111000b defb 00000010b,00000011b,11111000b defb 00000010b,10010001b,11100000b defb 00000010b,00000011b,11100000b defb 00000001b,11111111b,00000000b defb 00000000b,00111110b,00000000b defb 00000000b,01111111b,10000000b defb 00000000b,11111111b,01000000b defb 00000000b,11111111b,00000000b defb 00000000b,01111111b,00000000b defb 00000000b,00100001b,10000000b defb 00000000b,00110001b,10000000b defb 00000000b,00010000b,10000000b moeb17 defb 00000000b,01111111b,10000000b defb 00000001b,11111111b,11100000b defb 00000111b,11111111b,11110000b defb 00001000b,00001111b,11100000b defb 00001010b,01000111b,11000000b defb 00001000b,00001111b,10000000b defb 00000111b,11111110b,00000000b defb 00000000b,11111000b,00000000b defb 00000001b,11111110b,00000000b defb 00000011b,11111001b,00000000b defb 00000011b,11111000b,00000000b defb 00000011b,11111000b,00000000b defb 00000001b,11111000b,00000000b defb 00000000b,10001100b,00000000b defb 00000000b,11001100b,00000000b defb 00000000b,01000100b,00000000b moeb18 defb 00000000b,00011111b,11000000b defb 00000111b,11111111b,10000000b defb 00001111b,11111111b,10000000b defb 00011111b,11111111b,10000000b defb 00100000b,00111111b,10000000b defb 00101001b,00011110b,00000000b defb 00100000b,00111110b,00000000b defb 00011111b,11110000b,00000000b defb 00000011b,11100000b,00000000b defb 00000111b,11111000b,00000000b defb 00001111b,11110100b,00000000b defb 00001111b,11110000b,00000000b defb 00000111b,11110000b,00000000b defb 00000010b,00011000b,00000000b defb 00000011b,00011000b,00000000b defb 00000001b,00001000b,00000000b ; guardian graphics hbad1 defb 10000111b,11100001b,00000000b defb 01001111b,11110010b,00000000b defb 00111111b,11111100b,00000000b defb 00111111b,11111100b,00000000b defb 01100010b,00111110b,00000000b defb 11110010b,01110111b,00000000b defb 11110010b,01111011b,00000000b defb 11111111b,10110011b,00000000b defb 11111111b,11100011b,00000000b defb 11111111b,11010011b,00000000b defb 11111111b,10000111b,00000000b defb 11111111b,01000110b,00000000b defb 01111111b,10000100b,00000000b defb 00111111b,00111100b,00000000b defb 01001111b,11110010b,00000000b defb 10000111b,11100001b,00000000b ; hbad2 defb 00100001b,11111000b,01000000b defb 00010011b,11111100b,10000000b defb 00001111b,11111111b,00000000b defb 00001111b,11111111b,00000000b defb 00011000b,10001111b,10000000b defb 00111100b,10011101b,11000000b defb 00111100b,10011110b,11000000b defb 00111111b,11101100b,11000000b defb 00111111b,11111000b,11000000b defb 00111111b,11110100b,11000000b defb 00111111b,11100001b,11000000b defb 00111111b,11010001b,10000000b defb 00011111b,11100001b,00000000b defb 00001111b,11001111b,00000000b defb 00010011b,11111100b,10000000b defb 00100001b,11111000b,01000000b ; hbad3 defb 00001000b,01111110b,00010000b defb 00000100b,11111111b,00100000b defb 00000011b,11111111b,11000000b defb 00000011b,11111111b,11000000b defb 00000110b,00100011b,11100000b defb 00001111b,00100111b,01110000b defb 00001111b,00100111b,10110000b defb 00001111b,11111011b,00110000b defb 00001111b,11111110b,00110000b defb 00001111b,11111101b,00110000b defb 00001111b,11111000b,01110000b defb 00001111b,11110100b,01100000b defb 00000111b,11111000b,01000000b defb 00000011b,11110011b,11000000b defb 00000100b,11111111b,00100000b defb 00001000b,01111110b,00010000b hbad4 defb 00000010b,00011111b,10000100b defb 00000001b,00111111b,11001000b defb 00000000b,11111111b,11110000b defb 00000000b,11111111b,11110000b defb 00000001b,10001000b,11111000b defb 00000011b,11001001b,11011100b defb 00000011b,11001001b,11101100b defb 00000011b,11111110b,11001100b defb 00000011b,11111111b,10001100b defb 00000011b,11111111b,01001100b defb 00000011b,11111110b,00011100b defb 00000011b,11111101b,00011000b defb 00000001b,11111110b,00010000b defb 00000000b,11111100b,11110000b defb 00000001b,00111111b,11001000b defb 00000010b,00011111b,10000100b ; lrbad1 defb 00011111b,11111000b,00000000b defb 01100000b,00000110b,00000000b defb 10010010b,00000001b,00000000b defb 10000000b,00000001b,00000000b defb 11111111b,11111111b,00000000b defb 10000000b,00011111b,00000000b defb 10110010b,11011111b,00000000b defb 10101001b,01011111b,00000000b defb 10010100b,01011111b,00000000b defb 10101101b,10011111b,00000000b defb 10110010b,01011111b,00000000b defb 10000000b,00011111b,00000000b defb 01111111b,11111111b,00000000b defb 00111111b,11111110b,00000000b defb 00000010b,00000100b,00000000b defb 00000001b,00000010b,00000000b ; lrbad2 defb 00000111b,11111110b,00000000b defb 00011000b,00000001b,10000000b defb 00100010b,00100000b,01000000b defb 00100000b,00000000b,01000000b defb 00111111b,11111111b,11000000b defb 00110000b,00000011b,11000000b defb 00110001b,01001011b,11000000b defb 00110110b,10101011b,11000000b defb 00110010b,00110011b,11000000b defb 00110001b,10010011b,11000000b defb 00110110b,10110011b,11000000b defb 00110000b,00000011b,11000000b defb 00011111b,11111111b,11000000b defb 00001111b,11111111b,10000000b defb 00000001b,00000010b,00000000b defb 00000000b,10000001b,00000000b ; lrbad3 defb 00000001b,11111111b,10000000b defb 00000110b,00000000b,01100000b defb 00001000b,01000100b,00010000b defb 00001000b,00000000b,00010000b defb 00001111b,11111111b,11110000b defb 00001100b,00000000b,00110000b defb 00001101b,01011100b,10110000b defb 00001100b,10001100b,10110000b defb 00001101b,01000101b,00110000b defb 00001100b,00101001b,10110000b defb 00001100b,11000101b,10110000b defb 00001100b,00000000b,00110000b defb 00000111b,11111111b,11100000b defb 00000011b,11111111b,11000000b defb 00000000b,10000001b,00000000b defb 00000000b,00000000b,00000000b ; lrbad4 defb 00000000b,01111111b,11100000b defb 00000001b,10000000b,00011000b defb 00000010b,00000010b,00100100b defb 00000010b,00000000b,00000100b defb 00000011b,11111111b,11111100b defb 00000011b,11000000b,00000100b defb 00000011b,11000101b,01010100b defb 00000011b,11010100b,10100100b defb 00000011b,11000001b,00110100b defb 00000011b,11011000b,11010100b defb 00000011b,11001110b,10100100b defb 00000011b,11000000b,00000100b defb 00000001b,11111111b,11111000b defb 00000000b,11111111b,11110000b defb 00000000b,01000000b,10000000b defb 00000000b,10000001b,00000000b ; jelly1 defb 00000111b,11100000b,00000000b defb 00011111b,10111000b,00000000b defb 00111111b,11001100b,00000000b defb 01111111b,11110110b,00000000b defb 01111111b,11110110b,00000000b defb 01111111b,11101110b,00000000b defb 00111111b,11111100b,00000000b defb 00001111b,11110000b,00000000b defb 00001011b,01010000b,00000000b defb 00001001b,00110000b,00000000b defb 00010101b,00101000b,00000000b defb 00010100b,10101000b,00000000b defb 00010010b,10101000b,00000000b defb 00010100b,10011000b,00000000b defb 00000100b,01001000b,00000000b defb 00000010b,00101000b,00000000b jelly2 defb 0,0,0 defb 0,0,0 defb 00000011b,11111100b,0 defb 00001111b,11111011b,0 defb 00011111b,11111100b,10000000b defb 00111111b,11111111b,01000000b defb 00111111b,11111111b,11000000b defb 00000100b,10101010b,00000000b defb 00001000b,10101001b,00000000b defb 00001001b,00100101b,0 defb 00001001b,00100101b,0 defb 00001001b,00010101b,0 defb 00001001b,00010101b,0 defb 00000100b,10010101b,0 defb 00000100b,01001010b,0 defb 00000011b,01010010b,0 jelly3 defb 0,0,0 defb 0,0,0 defb 0,0,0 defb 0,0,0 defb 00000011b,11111111b,11000000b defb 00001111b,11111111b,10110000b defb 00001111b,11111111b,11010000b defb 00001111b,11111111b,11110000b defb 00000001b,00101010b,10000000b defb 00000010b,01001010b,01000000b defb 00000100b,10001001b,00100000b defb 00000100b,10010001b,00100000b defb 00000100b,10010001b,00100000b defb 00000100b,01001001b,00100000b defb 00000010b,00101110b,01000000b defb 00000001b,00101100b,10000000b jelly4 defb 0,0,0 defb 0,0,0 defb 00000000b,00111111b,11000000b defb 00000000b,11111111b,11011000b defb 00000001b,11111111b,11001000b defb 00000011b,11111111b,11110100b defb 00000011b,11111111b,11111100b defb 00000000b,01001010b,10100000b defb 00000000b,10001010b,10010000b defb 00000000b,10010010b,01010000b defb 00000000b,10010010b,01010000b defb 00000000b,10010001b,01010000b defb 00000000b,10010001b,01010000b defb 00000000b,01001001b,01010000b defb 00000000b,01000100b,10100000b defb 00000000b,00110110b,01000000b ; sman1 defb 00001111b,11110000b,00000000b ;stick man in saucer defb 00010000b,00001000b,00000000b defb 00100001b,10000100b,00000000b defb 00100001b,10000100b,00000000b defb 00100101b,10100100b,00000000b defb 00100011b,11000100b,00000000b defb 00100001b,10000100b,00000000b defb 00100001b,10000100b,00000000b defb 00100010b,01000100b,00000000b defb 00100100b,00100100b,00000000b defb 00100000b,00000100b,00000000b defb 11111111b,11111111b,00000000b defb 11111111b,10101011b,00000000b defb 01111111b,01010110b,00000000b defb 00111110b,10101100b,00000000b defb 00001111b,11110000b,00000000b ; sman2 defb 00000011b,11111100b,00000000b defb 00000100b,00000010b,00000000b defb 00001000b,01100001b,00000000b defb 00001000b,01100001b,00000000b defb 00001000b,01100001b,00000000b defb 00001001b,11111001b,00000000b defb 00001000b,01100001b,00000000b defb 00001000b,01100001b,00000000b defb 00001000b,10010001b,00000000b defb 00001000b,10010001b,00000000b defb 00001000b,00000001b,00000000b defb 00111111b,11111111b,11000000b defb 00111111b,11101010b,11000000b defb 00011111b,11010101b,10000000b defb 00001111b,10101011b,00000000b defb 00000011b,11111100b,00000000b ; sman3 defb 00000000b,11111111b,00000000b defb 00000001b,00000000b,10000000b defb 00000010b,00000000b,01000000b defb 00000010b,00011000b,01000000b defb 00000010b,00011000b,01000000b defb 00000010b,00011000b,01000000b defb 00000010b,00111100b,01000000b defb 00000010b,01011010b,01000000b defb 00000010b,00011000b,01000000b defb 00000010b,00100100b,01000000b defb 00000010b,00000000b,01000000b defb 00001111b,11111111b,11110000b defb 00001111b,11111010b,10110000b defb 00000111b,11110101b,01100000b defb 00000011b,11101010b,11000000b defb 00000000b,11111111b,00000000b ; sman4 defb 00000000b,00111111b,11000000b defb 00000000b,01000000b,00100000b defb 00000000b,10000110b,00010000b defb 00000000b,10000110b,00010000b defb 00000000b,10000110b,00010000b defb 00000000b,10011111b,10010000b defb 00000000b,10000110b,00010000b defb 00000000b,10000110b,00010000b defb 00000000b,10001001b,00010000b defb 00000000b,10001001b,00010000b defb 00000000b,10000000b,00010000b defb 00000011b,11111111b,11111100b defb 00000011b,11111110b,10101100b defb 00000001b,11111101b,01011000b defb 00000000b,11111010b,10110000b defb 00000000b,00111111b,11000000b ; skull defb 0,0 defb 15,240,63,252,67,226,129,193 ;vertical scrolling only, skull defb 129,129,129,129,137,17,67,129 defb 103,194,62,252,28,120,15,240 defb 15,224,10,160,5,64,7,192 defb 0,0 cms defb 0,0 defb 221,214,149,212,149,84,221,86 ;vertical scrolling only, comic sans ms defb 0,0,238,238,138,168,238,174 defb 42,162,234,174,0,0,198,126 defb 170,128,146,124,130,2,130,252 defb 0,0 mchip defb 0,0 defb 31,248,240,15,151,233,16,104 ;vertical scrolling only, z80 chip defb 241,143,150,9,23,232,240,15 defb 151,233,21,168,247,175,151,169 defb 21,168,247,239,144,9,31,248 defb 0,0 nasty defb 0,0 defb 31,248,43,252,127,254,95,246 defb 255,239,255,207,255,135,243,6 defb 229,38,115,7,255,143,255,255 defb 120,62,112,30,47,236,31,248 defb 0,0 lobster defb 0,0 defb 39,228,25,152,5,160,75,210 defb 51,204,7,224,7,224,53,172 defb 115,206,251,223,249,159,253,191 defb 196,35,196,35,224,7,112,14 defb 0,0 proudman defb 0,0 defb 7,224,10,80,8,16,7,224 defb 11,208,7,224,4,32,255,255 defb 130,255,133,191,130,255,133,95 defb 130,187,97,94,24,184,7,224 defb 0,0 ; snakelength defb 10 snake ld a,(snakeswitch) cp 255 ret nz ld a,(slow) rra ret c ld ix,stab ld a,(snakelength) ld c,a snloop3 ld a,(ix+3) ;left or right? cp 1 ;1 is left 0 right jp z,snl snr inc (ix+0) ;going right inc column ld a,(ix+0) cp 27 jp z,sndc jp snher2 snl dec (ix+0) ;going left dec column ld a,(ix+0) cp 0 ;at left edge? jp z,sndc jp snher2 sndc ld a,(ix+3) xor 1 ld (ix+3),a ;we've come to a row end, need to move up or down one ld h,(ix+6) ld l,(ix+5) ;hl pointing at drawline ld a,(ix+4) ;we need to move up or down now cp 1 ;1 is up 0 down jp z,snup snd ld a,(ix+2) ;ycor cp 160 jp z,sndc2 ld de,8 add hl,de ld (ix+6),h ld (ix+5),l inc (ix+2) inc (ix+2) inc (ix+2) inc (ix+2) jp snher2 snup ld a,(ix+2) cp 0 jp z,sndc2 ld de,8 sbc hl,de ld (ix+6),h ld (ix+5),l dec (ix+2) ;ycor dec (ix+2) dec (ix+2) dec (ix+2) jp snher2 sndc2 ld a,(ix+4) xor 1 ld (ix+4),a snher2 call scoll snher call sndraw ld de,9 add ix,de dec c ld a,c cp 0 jp nz,snloop3 ret scoll ld a,(ix+0) rla rla rla ld b,a ld a,(xcor) sub b add a,14 cp 20 ret nc ld a,(ycor) ;player y sub (ix+2) ;snake y add a,14 cp 20 call c,sap ret ; sndraw ld (stckstr),sp snloop2 ld b,8 ;8 lines to graphic ld h,(ix+6) ld l,(ix+5) ;hl pointing at screenaddress ld sp,hl ;now sp is ld h,(ix+8) ld l,(ix+7) ;hl pointing at graphics snloop pop de ;screen address put into de ld a,(ix+0) add a,e ;how many columns along ld e,a ;de now pointing at full screen address ld a,(hl) ;graphic ld (de),a ;put it on the screen inc hl ;next graphic data djnz snloop ld sp,(stckstr) ret stab defb 0,0,0,0,0 ;column,sx,sy,rl,ud SNAKE TABLE defw scrntab ;drawline defw 15616 ;graphic source defb 1,8,0,0,0 defw scrntab defw snudg defb 2,16,0,0,0 defw scrntab defw snudg2 defb 3,24,0,0,0 defw scrntab defw snudg3 defb 4,32,0,0,0 defw scrntab defw snudg4 defb 5,8,0,0,0 defw scrntab defw snudg defb 6,16,0,0,0 defw scrntab defw snudg2 defb 7,24,0,0,0 defw scrntab defw snudg3 defb 8,32,0,0,0 defw scrntab defw snudg4 defb 9,8,0,0,0 defw scrntab defw snudg stab2 defb 0,0,0,0,0 ;column,sx,sy,rl,ud SNAKE TABLE defw scrntab ;drawline defw 15616 ;graphic source defb 1,8,0,0,0 defw scrntab defw snudg defb 2,16,0,0,0 defw scrntab defw snudg2 defb 3,24,0,0,0 defw scrntab defw snudg3 defb 4,32,0,0,0 defw scrntab defw snudg4 defb 5,8,0,0,0 defw scrntab defw snudg defb 6,16,0,0,0 defw scrntab defw snudg2 defb 7,24,0,0,0 defw scrntab defw snudg3 defb 8,32,0,0,0 defw scrntab defw snudg4 defb 9,8,0,0,0 defw scrntab defw snudg snudg defb 60,66,147,133,171,213,106,60 ; snudg2 defb 60,126,255,255,255,255,126,60; snudg3 defb 60,66,153,165,165,153,66,60; snudg4 defb 60,90,153,255,255,153,90,60; ; ;PAINTDROP GRAPHIC drop defb 0,8,24,52,54,122,122,60 splash defb 0,1,64,2,16,64,28,255 invsplash defb 255,254,191,253,239,191,227,0 emptyspace defb 255,255,255,255,255,255,255,255 ;use 15616 for non xord alternative xcor defb 0 ycor defb 24 coordtrack defb 0 guardswitch defb 0 ;on off switches for levels, 0 is off, 255 on cguardswitch defb 0 vbadswitch defb 0 snakeswitch defb 0 rainswitch defb 0 hhalt ld b,4 hhloop halt djnz hhloop ret welldone defb 22,14,7,'BLOODY WELL DONE!',22,15,1,'You have completed WUNDERCHAR$' heavengrasp defb 22,14,1,'A mans reach should exceed his',22,15,1,'grasp or what',39,'s a heaven for?' jsw defb 22,14,5,'Jet Set ****ing Willy!' galleryfollows defb 22,14,2,'A gallery with the names of',22,15,1,'some classic games follows, so',22,16,1,'make yourself a brew and enjoy!' endgame ei ld a,2 ;upper screen call 5633 ld a,68 ;black screen green text bright ld (23693),a call 3503 ;cls call clivesinclair ld de,welldone ld bc,heavengrasp-welldone call 8252 call zap call hhalt call keyread call 3503 call clivesinclair ld de,heavengrasp ld bc,jsw-heavengrasp call 8252 call zap call hhalt call keyread call 3503 call clivesinclair ld de,jsw ld bc,galleryfollows-jsw call 8252 call zap call hhalt call keyread call 3503 call clivesinclair ld de,galleryfollows ld bc,endgame-galleryfollows call 8252 call zap call hhalt call keyread ld hl,games ld (fontseed),hl ld (fontseed2),hl xor a ld (fontcycle),a ld hl,prezap ld (hl),201 ;poke a 'ret' instruction here to avoid annoying zap noise ld hl,undher ld (hl),230 ;and inc hl ld (hl),71 ;and 71 ld hl,undher2 ld (hl),246 ;or inc hl ld (hl),112 ;or 8 blue paper on scrolling background ld a,71 ;end of game sequence ld (23693),a call 3503 ld a,1 ;lower screen call 5633 ld a,22 rst 16 ld a,1 rst 16 xor a rst 16 ld b,32 endloop ld a,144 rst 16 djnz endloop ld b,16 ld hl,23232 ealoop ld (hl),68 inc hl ld (hl),4 inc hl djnz ealoop di mloop call draw ei halt halt halt di call delete call leftns call beep ld a,(column) cp 1 jp nz,mloop ld hl,moeb1 ld (sprame),hl call draw ei endhe call lister call dull1 ld b,255 enl halt djnz enl call zap jp endhe beep ld hl,counter inc (hl) ld a,(hl) and 3 cp 3 ret nz ld a,130 ld b,30 bbb and 248 out (254),a dec a djnz bbb ret lister ld a,1 call 5633 ld a,22 rst 16 ld a,2 rst 16 xor a rst 16 call botscr ;rst 16s the bottom of the screen row 2 column 0 ld b,32 ;blanks over the previous text listlp ld a,32 rst 16 djnz listlp call botscr ld de,(listseed) ld a,(de) ;number of bytes ld b,0 ld c,a ;length of string in bc inc de ;de pointing at text call 8252 ;print it inc bc ;next one is (bc)+1 along ex de,hl ;hl now has the pointer add hl,bc ;find the next one along ld (listseed),hl ;ready for next one ret botscr ld a,1 ;sets up the bottom of screen ROM print call 5633 ld a,22 rst 16 ld a,2 rst 16 xor a rst 16 ret counter defb 20 listseed2 defw listdat listseed defw listdat listdat defb 8,'Buzzsaw1' defb 8,'Buzzsaw2' defb 8,'Buzzsaw3' defb 8,'Buzzsaw4' defb 32,'JSW Sun is running out of Energy' defb 13,'Jet Set Willy' defb 30,'JSW the man who sold the World' defb 10,'Monty Mole' defb 14,'Technician Ted' defb 20,'JSW Goodnite Luddite' defb 11,'Chuckie egg' defb 8,'Cauldron' defb 12,'Sid Spanners' defb 5,'Maria' defb 12,'Boulder Dash' defb 9,'Hunchback' defb 13,'Kokotoni Wilf' defb 8,'Rallybug' defb 6,'R-Type' defb 5,'Xenon' defb 15,'Finders Keepers' defb 22,'Honker, Central Cavern' defb 6,'Pacman' defb 10,'Digger Dan' defb 14,'Harrier Attack' defb 7,'Jumpman' defb 3,'Bub' defb 3,'Bob' defb 18,'Bubblebobblebubble' defb 11,'Miner Willy' defb 9,'Starquake' defb 16,'Better Starquake' defb 7,'Nebulus' defb 11,'Atic Attack' defb 9,'Cybernoid' defb 15,'8x8 Manic Miner' defb 9,'Vic Viper' defb 15,'Head over Heels' defb 7,'Thrusta' defb 8,'Microbot' defb 15,'Chuckie Ostrich' defb 10,'Lightforce' defb 7,'Rodland' defb 17,'Manic Miner Phone' defb 6,'Thrust' defb 6,'Exolon' defb 12,'Chopper Drop' defb 13,'Ikari Warrior' defb 15,'Target Renegade' defb 8,'Trapdoor' defb 7,'Egghead' defb 10,'Pyjamarama' defb 8,'Asteroid' defb 9,'Barbarian' defb 7,'Robocop' defb 8,'Scumball' defb 5,'Batty' defb 4,'Steg' defb 18,'Jet Set Willy: Ivy' defb 15,'Jet Set Willy 2' defb 12,'Lunar Lander' defb 10,'Battlezone' defb 13,'Hardhat Harry' defb 6,'Zynaps' defb 9,'Paradroid' defb 14,'Marble Madness' defb 14,'Brian Bloodaxe' defb 7,'Wizball' defb 3,'Zub' defb 14,'Nodes of Yesod' defb 6,'Sweevo' defb 6,'Alien8' defb 10,'Spy vs Spy' defb 16,'Sid Spanners 8x8' defb 12,'Booty Pirate' defb 11,'Donkey Kong' defb 8,'Turrican' defb 9,'Stormlord' defb 7,'Cavelon' defb 16,'Camelot Warriors' defb 13,'Chickin Chase' defb 14,'Gilligans Gold' defb 12,'Ghost Castle' defb 14,'Chubby Gristle' defb 6,'Batman' defb 11,'Green Beret' defb 8,'Trashman' defb 11,'Aah Diddums' defb 7,'Airwolf' defb 8,'Bombjack' defb 17,'Ghosts ',39,'n Goblins' defb 3,'Rex' defb 7,'Uridium' defb 22,'Geoff Capes Strong Man' defb 9,'Alter Ego' defb 7,'Moebius' defb 6,'Zynaps' ; SCREEN ADDRESS TABLE vline defw scrntab vcolumn defb 9 line defw row3 ;line which top of player sprite draw starts with scrntab defw 16384 ;screen address table defw 16640 defw 16896 defw 17152 wtith defw 17408 defw 17664 defw 17920 defw 18176 row1 defw 16416 ;row 1 defw 16672 defw 16928 defw 17184 defw 17440 defw 17696 defw 17952 defw 18208 row2 defw 16448 ;row 2 defw 16704 defw 16960 defw 17216 defw 17472 defw 17728 defw 17984 defw 18240 row3 defw 16480 ;row 3 defw 16736 defw 16992 defw 17248 defw 17504 defw 17760 defw 18016 defw 18272 row4 defw 16512 ;row 4 defw 16768 defw 17024 defw 17280 defw 17536 defw 17792 defw 18048 defw 18304 row5 defw 16544 ;row 5 defw 16800 defw 17056 defw 17312 defw 17568 defw 17824 defw 18080 defw 18336 row6 defw 16576 ;row 6 defw 16832 defw 17088 defw 17344 defw 17600 defw 17856 defw 18112 defw 18368 row7 defw 16608 ;row 7 defw 16864 defw 17120 defw 17376 defw 17632 defw 17888 defw 18144 defw 18400 row8 defw 18432 ;row 8 (new segment 8-15) defw 18688 defw 18944 defw 19200 defw 19456 defw 19712 defw 19968 defw 20224 row9 defw 18464 ;row 9 defw 18720 defw 18976 defw 19232 defw 19488 defw 19744 defw 20000 defw 20256 row10 defw 18496 ;row 10 defw 18752 defw 19008 defw 19264 defw 19520 defw 19776 defw 20032 defw 20288 row11 defw 18528 ;row 11 defw 18784 defw 19040 defw 19296 defw 19552 defw 19808 defw 20064 defw 20320 row12 defw 18560 ;row 12 defw 18816 defw 19072 defw 19328 defw 19584 defw 19840 defw 20096 defw 20352 row13 defw 18592 ;row 13 defw 18848 defw 19104 ;if screen starts here or before, sprite misses third screen segment later defw 19360 ;works fine from here, with screen as 19104 problem. defw 19616 ;Digital Prawn solved this problem for me on WOS forum, was treating 16 bit numbers in an 8 bit fashion schoolboy error! defw 19872 ;TA DP! defw 20128 defw 20384 row14 defw 18624 ;row 14 defw 18880 defw 19136 defw 19392 defw 19648 defw 19904 defw 20160 defw 20416 row15 defw 18656 ;row 15 defw 18912 defw 19168 defw 19424 defw 19680 defw 19936 defw 20192 defw 20448 row16 defw 20480 ;row 16 (new segment 16-23) defw 20736 defw 20992 defw 21248 defw 21504 defw 21760 defw 22016 defw 22272 row17 defw 20512 ;row 17 defw 20768 defw 21024 defw 21280 defw 21536 defw 21792 defw 22048 defw 22304 row18 defw 20544 ;row 18 defw 20800 defw 21056 defw 21312 defw 21568 defw 21824 defw 22080 defw 22336 row19 defw 20576 ;row 19 defw 20832 defw 21088 defw 21344 defw 21600 defw 21856 defw 22112 defw 22368 row20 defw 20608 ;row 20 defw 20864 defw 21120 defw 21376 defw 21632 defw 21888 defw 22144 defw 22400 row21 defw 20640 ;row 21 defw 20896 defw 21152 defw 21408 defw 21664 defw 21920 defw 22176 defw 22432 row22 defw 20672 ;row 22 defw 20928 defw 21184 defw 21440 defw 21696 defw 21952 defw 22208 defw 22464 row23 defw 20704 ;row 23 defw 20960 defw 21216 defw 21472 defw 21728 defw 21984 defw 22240 defw 22496 platseed defw plat1s plat1s defb 144,144,144,153,154,154,155,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,145,146,147,148,144,144,156,156,156,156 defb 'ENERGY',144,144,144,144,'HELD',144,144,'DROP',144,144,149,150,151,152,144,144,156,156,156,156 ;plat1s defb 144,144,144,153,154,154,155,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,145,146,147,148,144,144,156,156,156,156 ; defb 'ENERGY',144,144,144,144,144,144,'DROPPED',144,144,144,149,150,151,152,144,144,156,156,156,156 udgs defb 238,238,238,0,238,238,238,0 ;platform graphic 144 defb 127,128,128,128,128,128,155,128 ;spectrum udg 145 defb 255,0,0,0,0,0,109,0 ;146 defb 255,0,0,0,0,0,182,0 ;147 defb 252,2,2,2,2,2,194,2 ;148 defb 141,128,134,128,157,128,127,0 ;149 defb 182,0,219,0,182,0,255,0 ;150 defb 219,0,109,0,219,0,255,0 ;arrowtop 151 defb 98,2,178,2,98,2,252,0 ;arrowbottom 152 defb 0,63,127,127,106,127,63,0 ;picpadleft 153 defb 0,255,255,255,170,255,255,0 ;picpad middle 154 defb 0,252,254,254,170,254,252,0 ;picpad right 155 defb 0,0,0,0,0,0,0,0 ;space, long story, avoids more coder early on 156 defb 60,124,227,192,192,227,124,60 ;C64 logo! ode to Steve Robertson 157 defb 135,122,172,173,116,141,255,126 ;oefish ode 158 defb 49,121,49,123,189,113,59,251 ;ZX Brunos Cauldron ode 159 defb 218,143,74,221,254,248,232,212 ;kweepa ode 160 defb 0,60,36,36,36,108,108,0 ;mister beep ode 161 defb 110,74,106,78,0,231,146,146 ;Einar Saukas font ode 162 blockload defw block1 block1 defb 238,238,238,0,238,238,238,0 ;4 square block2 defb 254,254,254,0,239,239,239,0 ;brick block3 defb 255,255,255,0,255,255,255,0 ;lines ret