LOAD INPUT.ASM BLOAD INPUT.ASM,A$1800 !L 1 ORG $7200 2 OBJ $0800 3 ; MODIFIED FOR CCS & 2GS 4 ; 5 ;----->>> MOD8 6 ; 7 NLS 8 JMP START 9 JMP SECOND 10 ; 11 FLAG HEX 00 12 PAGE1 HEX 00 13 READY HEX 00 14 V40 HEX 40 15 V10 HEX 10 16 V0F HEX 0F 17 V20 HEX 20 18 LOWER HEX 00 19 UPPER HEX 00 20 TRIGER HEX 91 21 TIMER HEX 00 22 OVERFL HEX 00 23 HARDSV HEX 00 24 MASK HEX 01 25 ; 26 DATA/Z EPZ $FE 27 CARDS EQU $1E60 28 PG\BUF EQU $8200 29 SV\BUF EQU $9200 30 DIR EQU $9500 31 L|FCA8 EQU $FCA8 32 L|C000 EQU $C000 33 L|C010 EQU $C010 34 L|C030 EQU $C030 35 L|AA52 EQU $AA52 36 L|FF3A EQU $FF3A 37 L|FDED EQU $FDED 38 ; 39 SLOT EQU $1E47 40 ; 41 BD/OUT LDA #$80 42 STA FLAG 43 RTS 44 ; 45 SECOND LDA #$00 46 STA PAGE1 47 STA READY 48 JMP DOIT 49 ; 50 START LDA #$80 51 STA READY 52 STA PAGE1 53 LDA #$58 54 STA $35D 55 LDA #$60 56 STA $35E 57 JSR WHICH 58 BMI BD/OUT 59 ; SEI !!!!!!! FIX FOR 2GS 60 JSR ST/CAR 61 DOIT LDA #$00 62 STA FLAG 63 LDA #PG\BUF 64 STA DATA/Z 65 LDA /PG\BUF 66 STA DATA/Z+1 67 LDA PAGE1 68 BNE LOOP 69 LDX #$00 70 MVL LDA SV\BUF,X 71 STA PG\BUF,X 72 INX 73 BNE MVL 74 LDA OVERFL 75 STA DATA/Z 76 JSR RESUME 77 LOOP LDA L|C000 78 BPL GETCH 79 LDX L|C010 80 AND #$1F 81 CMP #$11 82 BEQ QUIT 83 CMP #$10 84 BEQ PAGE 85 CMP #$14 86 BEQ TEXT 87 LDA L|C010 88 GETCH JSR IN/CAR 89 BCC LOOP 90 LDX L|C030 91 JSR S/CHAR 92 ; 93 LDX DATA/Z+1 94 CPX TRIGER 95 BCC LOOP 96 CMP #$20 97 BEQ PAGE 98 LDA DATA/Z 99 BPL LOOP 100 ; 101 PAGE LDA #$40 102 STA FLAG 103 JSR STOP 104 LDX #$00 105 STX HARDSV 106 STX TIMER 107 STX L|AA52 108 FIN/CK JSR GETOVR 109 BCC FIN/1 110 LDA TIMER 111 CMP #$20 112 BCS FIN/1 113 LDA HARDSV 114 BNE FIN/1 115 JSR HARDST 116 JSR GETOVR 117 FIN/1 DEC TIMER 118 BEQ PCK/F 119 LDA #$07 120 JSR L|FCA8 121 JMP FIN/CK 122 PCK/F STX OVERFL 123 RTS 124 GETOVR JSR IN/CAR 125 BCC GET/F 126 AND #$7F 127 STA SV\BUF,X 128 INX 129 GET/F RTS 130 ; 131 QUIT LDA #$00 132 STA FLAG 133 STA L|AA52 134 RTS 135 ; 136 TEXT JSR L|FF3A 137 JSR L|FF3A 138 TX/LP JSR TXCHAR 139 CMP #$0D 140 BEQ STEXT 141 JSR S/CHAR 142 JMP TX/LP 143 STEXT JSR L|FF3A 144 JMP LOOP 145 ; 146 S/CHAR AND #$7F 147 LDY READY 148 BEQ SKTEST 149 BIT V40 150 BEQ BADTST 151 BIT V10 152 BNE BADTST 153 BIT V0F 154 BEQ BADTST 155 BIT V20 156 BEQ T/UP 157 STY LOWER 158 BNE BADTST 159 T/UP STY UPPER 160 BADTST LDY #$00 161 SKTEST STA (DATA/Z),Y 162 INC DATA/Z 163 BNE SCH0 164 INC DATA/Z+1 165 LDA READY 166 BEQ SCH0 167 STY READY 168 LDA UPPER 169 XOR LOWER 170 BEQ SCH0 171 LDY #$8E 172 STY TRIGER 173 SCH0 RTS 174 ; 175 TXCHAR LDY #$0A 176 SOUND LDA #$12 177 JSR L|FCA8 178 LDA L|C030 179 DEY 180 BPL SOUND 181 TXL LDA L|C000 182 BPL TXL 183 LDX L|C010 184 JSR L|FDED 185 AND #$7F 186 RTS 187 ; 188 RESUME LDA HARDSV 189 BEQ RE/REG 190 LDY #$00 191 STY HARDSV 192 LDY SER/CD 193 CPY #$02 194 BEQ RESCCS 195 CPY #$0C 196 BEQ RESMGS 197 LDY QSLOT 198 STA $C08A,Y 199 RTS 200 RESCCS LDY QSLOT 201 LDA #$11 202 STA $C080,Y 203 RTS 204 RE/REG LDA #$11 205 JMP OU/CAR 206 ; 207 RESMGS LDA #$00 208 JMP GSHD 209 RESUM0 RTS 210 ; 211 HARDST LDY SER/CD 212 CPY #$02 213 BEQ STPCCS 214 CPY #$0C 215 BEQ STOPGS 216 LDY QSLOT 217 LDA $C08A,Y 218 ORA MASK 219 STA HARDSV 220 LDA #$FF 221 XOR MASK 222 AND HARDSV 223 STA $C08A,Y 224 RTS 225 STPCCS LDA #451 226 LDY QSLOT 227 STA HARDSV 228 STA $C080,Y 229 RTS 230 STOP LDA #$13 231 JMP OU/CAR 232 ; 233 STOPGS LDA #$80 234 STA HARDSV 235 GSHD STA GSHARD 236 LDA #LIST 237 LDX /LIST 238 LDY #$00 239 JMP GSCOJP 240 ; 241 SV/36 HEX 00 242 SV/37 HEX 00 243 QSLOT HEX 00 244 LX HEX 00 245 SER/CD HEX 00 246 CHAR HEX 00 247 SVX HEX 00 248 LIST HEX 030B0000 249 GSHARD HEX 0000 250 ; 251 WHICH LDA SLOT 252 BEQ BAD 253 TAX 254 ASL 255 ASL 256 ASL 257 ASL 258 STA QSLOT 259 LDA CARDS,X 260 STA SER/CD 261 BEQ BAD 262 CMP #$0C 263 BEQ HAVGS 264 CMP #$08 265 BEQ GOOD 266 CMP #$05 267 BCS BAD 268 LDX #$00 269 GOOD RTS 270 BAD LDX #$80 271 RTS 272 HAVGS LDA SLOT 273 ORA #$C0 274 STA $07 275 LDA #$0D 276 STA $06 277 LDY #$00 278 LDX #$01 279 HVGSLP LDA ($06),Y 280 STA GSINJP,X 281 LDA $07 282 STA GSINJP+1,X 283 INY 284 INX 285 INX 286 INX 287 CPY #$06 288 BNE HVGSLP 289 LDX #$00 290 RTS 291 GSINJP JMP $0000 292 GSRDJP JMP $0000 293 GSWRJP JMP $0000 294 GSSTJP JMP $0000 295 GSXXJP JMP $0000 296 GSCOJP JMP $0000 297 ; 298 ST/CAR LDY QSLOT 299 LDA SER/CD 300 CMP #$08 301 BEQ ST/SBM 302 CMP #$01 303 BEQ ST/SSC 304 CMP #$04 305 BEQ ST/2C 306 CMP #$0C 307 BEQ ST/GS 308 ; 309 ST/CCS LDA #$23 310 STA $C080,Y 311 LDA #$11 312 STA $C080,Y 313 RTS 314 ; 315 ST/SBM LDA #$09 316 STA $C08A,Y 317 LDA #$9E 318 STA $C08B,Y 319 LDA #$A0 320 JSR $FCA8 321 RTS 322 ; 323 ST/GS LDX GSINJP+2 324 LDY QSLOT 325 JMP GSINJP 326 ; 327 ST/2C LDA #$08 328 STA MASK 329 ST/SSC LDA $36 330 STA SV/36 331 LDA $37 332 STA SV/37 333 LDA #$00 334 STA $36 335 LDA SLOT 336 ORA #$C0 337 STA $37 338 LDX $1F73 339 DEX 340 ST/LP INX 341 LDA $1F00,X 342 JSR $FDED 343 CMP #$7F 344 BNE ST/LP 345 LDA SV/36 346 STA $36 347 LDA SV/37 348 STA $37 349 JMP IN/SSC 350 ; 351 IN/CAR LDY QSLOT 352 LDA SER/CD 353 CMP #$08 354 BEQ IN/SSC 355 CMP #$01 356 BEQ IN/SSC 357 CMP #$04 358 BEQ IN/2C 359 CMP #$0C 360 BEQ IN/GS 361 ; 362 IN/CCS LDA $C080,Y 363 LSR 364 BCC NONE 365 LDA $C081,Y 366 SEC 367 RTS 368 NONE CLC 369 RTS 370 ; 371 IN/SSC NOP 372 IN/2C LDA $C089,Y 373 AND #$08 374 BEQ NONE 375 LDA $C088,Y 376 SEC 377 RTS 378 ; 379 IN/GS LDA #$01 380 STX SVX 381 LDX GSINJP+2 382 LDY QSLOT 383 JSR GSSTJP 384 BCC NIN/GS 385 LDX GSINJP+2 386 LDY QSLOT 387 JSR GSRDJP 388 SEC 389 NIN/GS LDX SVX 390 RTS 391 ; 392 OU/CAR LDY QSLOT 393 LDX SER/CD 394 CPX #$08 395 BEQ OU/SSC 396 CPX #$01 397 BEQ OU/SSC 398 CPX #$04 399 BEQ OU/2C 400 CPX #$0C 401 BEQ OU/GS 402 ; 403 OU/CCS STA $C081,Y 404 RTS 405 OU/SSC NOP 406 OU/2C STA $C088,Y 407 RTS 408 ; 409 OU/GS LDX GSINJP+2 410 LDY QSLOT 411 JMP GSWRJP 412 ; 413 XX HEX 00 414 ; 415 ; 416 END !