mirror of
https://github.com/AppleCommander/bastools.git
synced 2026-01-23 18:16:19 +00:00
68 lines
2.5 KiB
Plaintext
68 lines
2.5 KiB
Plaintext
; SOURCE AND NOTES FOR COMPUTE! PROOFREADER
|
|
|
|
10 C = 0: FOR I = 768 TO 768 + 68: READ A:C = C + A: POKE I,A: NEXT
|
|
20 IF C < > 7258 THEN PRINT "ERROR IN PROOFREADER DATA STATEMENTS": END
|
|
30 IF PEEK(190 * 256) < > 76 THEN POKE 56,0: POKE 57,3: CALL 1002: GOTO 50
|
|
40 PRINT CHR$(4);"IN#A$300"
|
|
50 POKE 34,0: HOME : POKE 34,1: VTAB 2: PRINT "PROOFREADER INTSALLED"
|
|
60 NEW
|
|
100 DATA 216,32,27,253,201,141
|
|
110 DATA 208,60,138,72,169,0
|
|
120 DATA 72,189,255,1,201,160
|
|
130 DATA 240,8,104,10,125,255
|
|
140 DATA 1,105,0,72,202,208
|
|
150 DATA 238,104,170,41,15,9
|
|
160 DATA 48,201,58,144,2,233
|
|
170 DATA 57,141,1,4,138,74
|
|
180 DATA 74,74,74,41,15,9
|
|
190 DATA 48,201,58,144,2,233
|
|
200 DATA 57,141,0,4,104,170
|
|
210 DATA 169,141,96
|
|
|
|
; Trigger on CR.
|
|
; Compute for each character in buffer in reverse order.
|
|
; All spaces are ignored.
|
|
; cksum = (cksum << 1) + (char|$80) + carry
|
|
|
|
0300- D8 CLD
|
|
0301- 20 1B FD JSR KEYIN
|
|
0304- C9 8D CMP #$8D ; CR
|
|
0306- D0 3C BNE L0344 ; exit if not CR
|
|
0308- 8A TXA
|
|
0309- 48 PHA
|
|
030A- A9 00 LDA #$00
|
|
030C- 48 PHA ; cksum
|
|
030D- BD FF 01 L030D LDA $01FF,X ; read (backwards) through input buffer
|
|
0310- C9 A0 CMP #$A0 ; skip spaces
|
|
0312- F0 08 BEQ L031C
|
|
0314- 68 PLA ; add to cksum
|
|
0315- 0A ASL
|
|
0316- 7D FF 01 ADC $01FF,X
|
|
0319- 69 00 ADC #$00
|
|
031B- 48 PHA
|
|
031C- CA L031C DEX
|
|
031D- D0 EE BNE L030D
|
|
031F- 68 PLA
|
|
0320- AA TAX
|
|
0321- 29 0F AND #$0F ; Place result in upper-left corner
|
|
0323- 09 30 ORA #$30 ; ... digit by digit
|
|
0325- C9 3A CMP #$3A
|
|
0327- 90 02 BCC L032B
|
|
0329- E9 39 SBC #$39
|
|
032B- 8D 01 04 L032B STA $0401
|
|
032E- 8A L032E TXA
|
|
032F- 4A LSR
|
|
0330- 4A LSR
|
|
0331- 4A LSR
|
|
0332- 4A LSR
|
|
0333- 29 0F AND #$0F
|
|
0335- 09 30 ORA #$30
|
|
0337- C9 3A CMP #$3A
|
|
0339- 90 02 BCC L033D
|
|
033B- E9 39 SBC #$39
|
|
033D- 8D 00 04 L033D STA $0400
|
|
0340- 68 PLA
|
|
0341- AA TAX
|
|
0342- A9 8D LDA #$8D
|
|
0344- 60 L0344 RTS
|