Create readable text `.bas' for each tokenized BASIC `,ffb' file.
[ssr] / StraySrc / MiscToys / PlainError / b / plainError.bas
1 REM
2 REM plainError
3 REM
4 REM Remove the irritating `Application has gone wrong' message.
5 REM
6 REM © 1996-1998 Mark Wooding
7 REM
8
9 REM ----- Licensing note ----------------------------------------------------
10 REM
11 REM PlainError is free software; you can redistribute it and/or modify
12 REM it under the terms of the GNU General Public License as published by
13 REM the Free Software Foundation; either version 2, or (at your option)
14 REM any later version
15 REM
16 REM PlainError is distributed in the hope that it will be useful,
17 REM but WITHOUT ANY WARRANTY; without even the implied warranty of
18 REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 REM GNU General Public License for more details.
20 REM
21 REM You should have received a copy of the GNU General Public License
22 REM along with PlainError. If not, write to the Free Software Foundation,
23 REM 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
25 help$="PlainError"+CHR$(9)+"1.02 (%dy %m3 %ce%yr) © %ce%yr Mark Wooding"
26
27 DIM code% 1024
28 !code%=3
29 SYS "OS_Word",14,code%
30 SYS "OS_ConvertDateAndTime",code%,code%+8,256,help$
31 SYS "XOS_GenerateError",code%+8 TO help$
32
33
34 FOR o=4 TO 6 STEP 2
35 O%=code%
36 P%=0
37
38 [ opt o
39
40 dcd 0
41 dcd init
42 dcd final
43 dcd service
44 dcd title
45 dcd help
46 dcd 0
47
48 .title
49 equz "PlainError"
50 align
51
52 .init
53 stmfd r13!,{r14}
54 mov r0,#6
55 mov r3,#256
56 swi "XOS_Module"
57 strvc r2,[r12,#0]
58 ldmfd r13!,{pc}
59
60 .final
61 stmfd r13!,{r14}
62 mov r0,#7
63 ldr r2,[r12,#0]
64 swi "XOS_Module"
65 mov r14,#0
66 str r14,[r12,#0]
67 ldmfd r13!,{pc}^
68
69 .service
70 stmfd r13!,{r14}
71 eor r14,r1,#&40000
72 teq r14,#&c0
73 ldmnefd r13!,{pc}^
74
75 stmfd r13!,{r0,r1}
76 ldr r12,[r12,#0]
77
78 mov r14,#0
79 str r14,[r12,#0]
80
81 add r0,r12,#4
82 add r2,r2,#4
83 .a
84 ldrb r14,[r2],#1
85 cmp r14,#&20
86 movcc r14,#0
87 strb r14,[r0],#1
88 bcs a
89
90 mov r2,r12
91 ldmfd r13!,{r0,r1,pc}^
92
93 .help
94 equz help$
95 align
96
97 ]
98 NEXT
99
100 SYS "OS_File",10,"PlainError",&FFA,,code%,O%
101 END