Home » Archimedes archive » Micro User » MU 1991-10.adf » Listings » Routines/ErrText

Routines/ErrText

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Micro User » MU 1991-10.adf » Listings
Filename: Routines/ErrText
Read OK:
File size: 033B bytes
Load address: 0000
Exec address: 0000
File contents
   10REM Special error messages
   20REM by J.L.Moorhouse
   30REM (c) The Micro User
   40FOR pass%=0 TO 2 STEP 2
   50P%=&900:N%=5:[OPT pass%:.start
   60LDX &202:STX &230:LDX &203:STX &231:LDX #23:STX &202:LDX #9:STX &203:RTS
   70.brk LDY #0:LDA (&FD),Y:CMP #17
   80BEQ exit:LDX #0
   90.loop1:CMP &950,Y:BEQ print
  100.loop2:INY:LDX &950,Y:CPX #2:BEQ exit:CPX #1:BNE loop1:JSR loop2
  110.print INY:LDA #13:JSR &FFE3
  120.loop3 LDA &950,Y
  130CMP #1:BEQ exit;CMP #2:BEQ exit
  140JSR &FFE3:INY:JSR loop3
  150.exit JMP (&230)
  160]:NEXT:W%=0:M%=&950:FOR T%=1 TO N%:READ A%,A$:M%?W%=A%:W%=W%+1
  170FOR W1%=1 TO LEN(A$):M%?W%=ASC(MID$(A$,W1%,1)):W%=W%+1:NEXT:M%?W%=1:W%=W%+1:NEXT:W%=W%-1:M%?W%=2
  180DATA 4,"Idiot!!!",26,"What did you do that for?",9,"Think before you type next time!",27,"Wally!!!",41,"Oh dear, another error!"
  190P%=M%+W%+1:$&700="SAVE ErrText 900 "+STR$~P%:X%=0:Y%=7:CALL &FFF7

� Special error messages
� by J.L.Moorhouse
� (c) The Micro User
(� pass%=0 � 2 � 2
2"P%=&900:N%=5:[OPT pass%:.start
<LLDX &202:STX &230:LDX &203:STX &231:LDX #23:STX &202:LDX #9:STX &203:RTS
F#.brk LDY #0:LDA (&FD),Y:CMP #17
PBEQ exit:LDX #0
Z.loop1:CMP &950,Y:BEQ print
dD.loop2:INY:LDX &950,Y:CPX #2:BEQ exit:CPX #1:BNE loop1:JSR loop2
n .print INY:LDA #13:JSR &FFE3
x.loop3 LDA &950,Y
�#CMP #1:BEQ exit;CMP #2:BEQ exit
�JSR &FFE3:INY:JSR loop3
�.exit JMP (&230)
�9]:�:W%=0:M%=&950:� T%=1 � N%:� A%,A$:M%?W%=A%:W%=W%+1
�S� W1%=1 � �(A$):M%?W%=�(�A$,W1%,1)):W%=W%+1:�:M%?W%=1:W%=W%+1:�:W%=W%-1:M%?W%=2
��� 4,"Idiot!!!",26,"What did you do that for?",9,"Think before you type next time!",27,"Wally!!!",41,"Oh dear, another error!"
�?P%=M%+W%+1:$&700="SAVE ErrText 900 "+�~P%:X%=0:Y%=7:� &FFF7
�
00000000  0d 00 0a 1c f4 20 53 70  65 63 69 61 6c 20 65 72  |..... Special er|
00000010  72 6f 72 20 6d 65 73 73  61 67 65 73 0d 00 14 16  |ror messages....|
00000020  f4 20 62 79 20 4a 2e 4c  2e 4d 6f 6f 72 68 6f 75  |. by J.L.Moorhou|
00000030  73 65 0d 00 1e 18 f4 20  28 63 29 20 54 68 65 20  |se..... (c) The |
00000040  4d 69 63 72 6f 20 55 73  65 72 0d 00 28 15 e3 20  |Micro User..(.. |
00000050  70 61 73 73 25 3d 30 20  b8 20 32 20 88 20 32 0d  |pass%=0 . 2 . 2.|
00000060  00 32 22 50 25 3d 26 39  30 30 3a 4e 25 3d 35 3a  |.2"P%=&900:N%=5:|
00000070  5b 4f 50 54 20 70 61 73  73 25 3a 2e 73 74 61 72  |[OPT pass%:.star|
00000080  74 0d 00 3c 4c 4c 44 58  20 26 32 30 32 3a 53 54  |t..<LLDX &202:ST|
00000090  58 20 26 32 33 30 3a 4c  44 58 20 26 32 30 33 3a  |X &230:LDX &203:|
000000a0  53 54 58 20 26 32 33 31  3a 4c 44 58 20 23 32 33  |STX &231:LDX #23|
000000b0  3a 53 54 58 20 26 32 30  32 3a 4c 44 58 20 23 39  |:STX &202:LDX #9|
000000c0  3a 53 54 58 20 26 32 30  33 3a 52 54 53 0d 00 46  |:STX &203:RTS..F|
000000d0  23 2e 62 72 6b 20 4c 44  59 20 23 30 3a 4c 44 41  |#.brk LDY #0:LDA|
000000e0  20 28 26 46 44 29 2c 59  3a 43 4d 50 20 23 31 37  | (&FD),Y:CMP #17|
000000f0  0d 00 50 13 42 45 51 20  65 78 69 74 3a 4c 44 58  |..P.BEQ exit:LDX|
00000100  20 23 30 0d 00 5a 1f 2e  6c 6f 6f 70 31 3a 43 4d  | #0..Z..loop1:CM|
00000110  50 20 26 39 35 30 2c 59  3a 42 45 51 20 70 72 69  |P &950,Y:BEQ pri|
00000120  6e 74 0d 00 64 44 2e 6c  6f 6f 70 32 3a 49 4e 59  |nt..dD.loop2:INY|
00000130  3a 4c 44 58 20 26 39 35  30 2c 59 3a 43 50 58 20  |:LDX &950,Y:CPX |
00000140  23 32 3a 42 45 51 20 65  78 69 74 3a 43 50 58 20  |#2:BEQ exit:CPX |
00000150  23 31 3a 42 4e 45 20 6c  6f 6f 70 31 3a 4a 53 52  |#1:BNE loop1:JSR|
00000160  20 6c 6f 6f 70 32 0d 00  6e 20 2e 70 72 69 6e 74  | loop2..n .print|
00000170  20 49 4e 59 3a 4c 44 41  20 23 31 33 3a 4a 53 52  | INY:LDA #13:JSR|
00000180  20 26 46 46 45 33 0d 00  78 15 2e 6c 6f 6f 70 33  | &FFE3..x..loop3|
00000190  20 4c 44 41 20 26 39 35  30 2c 59 0d 00 82 23 43  | LDA &950,Y...#C|
000001a0  4d 50 20 23 31 3a 42 45  51 20 65 78 69 74 3b 43  |MP #1:BEQ exit;C|
000001b0  4d 50 20 23 32 3a 42 45  51 20 65 78 69 74 0d 00  |MP #2:BEQ exit..|
000001c0  8c 1b 4a 53 52 20 26 46  46 45 33 3a 49 4e 59 3a  |..JSR &FFE3:INY:|
000001d0  4a 53 52 20 6c 6f 6f 70  33 0d 00 96 14 2e 65 78  |JSR loop3.....ex|
000001e0  69 74 20 4a 4d 50 20 28  26 32 33 30 29 0d 00 a0  |it JMP (&230)...|
000001f0  39 5d 3a ed 3a 57 25 3d  30 3a 4d 25 3d 26 39 35  |9]:.:W%=0:M%=&95|
00000200  30 3a e3 20 54 25 3d 31  20 b8 20 4e 25 3a f3 20  |0:. T%=1 . N%:. |
00000210  41 25 2c 41 24 3a 4d 25  3f 57 25 3d 41 25 3a 57  |A%,A$:M%?W%=A%:W|
00000220  25 3d 57 25 2b 31 0d 00  aa 53 e3 20 57 31 25 3d  |%=W%+1...S. W1%=|
00000230  31 20 b8 20 a9 28 41 24  29 3a 4d 25 3f 57 25 3d  |1 . .(A$):M%?W%=|
00000240  97 28 c1 41 24 2c 57 31  25 2c 31 29 29 3a 57 25  |.(.A$,W1%,1)):W%|
00000250  3d 57 25 2b 31 3a ed 3a  4d 25 3f 57 25 3d 31 3a  |=W%+1:.:M%?W%=1:|
00000260  57 25 3d 57 25 2b 31 3a  ed 3a 57 25 3d 57 25 2d  |W%=W%+1:.:W%=W%-|
00000270  31 3a 4d 25 3f 57 25 3d  32 0d 00 b4 81 dc 20 34  |1:M%?W%=2..... 4|
00000280  2c 22 49 64 69 6f 74 21  21 21 22 2c 32 36 2c 22  |,"Idiot!!!",26,"|
00000290  57 68 61 74 20 64 69 64  20 79 6f 75 20 64 6f 20  |What did you do |
000002a0  74 68 61 74 20 66 6f 72  3f 22 2c 39 2c 22 54 68  |that for?",9,"Th|
000002b0  69 6e 6b 20 62 65 66 6f  72 65 20 79 6f 75 20 74  |ink before you t|
000002c0  79 70 65 20 6e 65 78 74  20 74 69 6d 65 21 22 2c  |ype next time!",|
000002d0  32 37 2c 22 57 61 6c 6c  79 21 21 21 22 2c 34 31  |27,"Wally!!!",41|
000002e0  2c 22 4f 68 20 64 65 61  72 2c 20 61 6e 6f 74 68  |,"Oh dear, anoth|
000002f0  65 72 20 65 72 72 6f 72  21 22 0d 00 be 3f 50 25  |er error!"...?P%|
00000300  3d 4d 25 2b 57 25 2b 31  3a 24 26 37 30 30 3d 22  |=M%+W%+1:$&700="|
00000310  53 41 56 45 20 45 72 72  54 65 78 74 20 39 30 30  |SAVE ErrText 900|
00000320  20 22 2b c3 7e 50 25 3a  58 25 3d 30 3a 59 25 3d  | "+.~P%:X%=0:Y%=|
00000330  37 3a d6 20 26 46 46 46  37 0d ff                 |7:. &FFF7..|
0000033b