home *** CD-ROM | disk | FTP | other *** search
- 100 OPEN2,8,1,"@0:HW.OBJ"
- 102 OPEN4,4
- 104 SYS700
- 106 .OPT P,O2
- 108 SCR =$0400
- 110 ZP = $00FD
- 112 ;
- 114 *= $C000
- 116 ;
- 118 ;CHECK KEYBOARD
- 120 P1 =*
- 122 LDA $00C5 ;DEBOUNCE
- 124 CMP FLG
- 126 STA FLG
- 128 BEQ EXIT
- 130 CMP #$07 ;CHECK FOR FUNCTION KEYS
- 132 BCS EXIT
- 134 CMP #$03
- 136 BCC EXIT
- 138 BEQ DUMP ;F7
- 140 CMP #$05
- 142 BCC XF1 ;F1
- 144 BEQ XF3 ;F3
- 146 LDY #$0C ;F5
- 148 ;
- 150 ;SEND DISK COMMAND
- 152 SEND =*
- 154 LDA #<TXT
- 156 STA $FB
- 158 LDA #>TXT
- 160 STA $FC
- 162 LDA #$08
- 164 JSR $FFB1 ;LISTEN
- 166 LDA #$6F
- 168 JSR $FF93 ;SECOND
- 170 ;
- 172 SD1 LDA ($00FB),Y
- 174 CMP #$00
- 176 BEQ SD2
- 180 JSR $FFA8 ;CIOUT
- 182 INY
- 184 JMP SD1
- 186 ;
- 188 SD2 =* ;CLOSE FILE
- 190 JSR $FFAE ;UNLSN
- 192 JSR $FFE7 ;CLALL
- 194 ;
- 196 EXIT =*
- 198 JMP $EA31 ;CONTINUE IRQ
- 200 ;
- 202 ;SPECIFY TEXT LOCATION
- 204 XF1 =*
- 206 LDY #$00
- 208 JMP SEND
- 210 XF3 LDY #$06
- 212 JMP SEND
- 214 ;
- 216 ;DISK COMMAND TEXT
- 218 TXT =*
- 220 .ASC "FV1=0"
- 222 .BYTE $00
- 224 .ASC "FC1=0"
- 226 .BYTE $00
- 228 .ASC "D1=0"
- 230 .BYTE $00
- 232 FLG .BYTE $00 ;REPEATED KEY REGIST
- 234 ;
- 236 ;SCR IRQ DATA TO STACK
- 238 DUMP =*
- 240 SEI
- 242 LDA #>DPRG ;ADD HIBYTE
- 244 PHA
- 246 LDA #<DPRG ;ADD LOBYTE
- 248 PHA
- 250 PHP ;STATUS REGISTER
- 252 PHA ;EXTRA
- 254 TXA ;X REGISTER
- 256 PHA
- 258 TYA ;Y REGISTER
- 260 PHA
- 262 CLI
- 264 JMP $EA31 ;CONTINUE IRQ
- 266 ;
- 268 ;SCREEN DUMP PROGRAM
- 270 DPRG =*
- 272 LDA #$04 ;OPEN SERIAL CHANNEL
- 274 JSR $FFB1 ;LISTEN
- 276 LDA #$00
- 278 STA SLC ;ZERO LINE COUNTER
- 280 JSR $FF93 ;SECOND
- 282 LDA #<SCR ;GET SCREEN CHAR
- 284 STA ZP
- 286 LDY #>SCR
- 288 STY ZP+1
- 290 ;
- 292 DP1 LDY #$00
- 294 ;
- 296 DP2 LDA (ZP),Y
- 298 AND #$7F ;CONV SCR CODE TO ASCII
- 300 LDX #$04
- 302 ;
- 304 DP3 DEX
- 306 CMP UL,X ;FIND CHAR SET RANGE
- 308 BCS DP3
- 310 EOR FL,X ;FLIP BITS
- 312 JSR $FFA8 ;CIOUT--PRINT CHAR
- 314 INY
- 316 CPY #$28 ;COUNT 40 BYTES/LINE
- 318 BNE DP2
- 320 LDA #$0D ;SEND LINE FEED
- 322 JSR $FFA8 ;CIOUT
- 324 ;
- 326 CLC ;ADD LINE CNT TO SCR
- 328 LDA ZP
- 330 ADC #$28
- 332 STA ZP
- 334 BCC DP4 ;CARRY OR NOT
- 336 INC ZP+1
- 338 ;
- 340 DP4 INC SLC
- 342 LDA SLC ;COUNT 25 LINES
- 344 CMP #$19
- 346 BNE DP1
- 348 ;
- 350 ;RETURN TO MAIN PROGRAM
- 352 EX2 =*
- 354 JSR $FFAE ;UNLISTEN
- 356 JSR $FFCC ;CLRCHN
- 358 JMP $EA81 ;EXIT TO IRQ RECOVERY
- 360 ;
- 362 ;
- 364 UL .BYTE $80,$60,$40,$20 ;RANGE
- 366 FL .BYTE $C0,$20,$00,$40 ;BIT MASK
- 368 SLC .BYTE $00 ;SCR LINE COUNTER
- 370 .END
-