UnLock Software*SOLVED*

Discussion about ZX80 / ZX81 Software
User avatar
XavSnap
Posts: 761
Joined: Sat May 10, 2008 4:23 pm

Re: UnLock Software

Post by XavSnap » Mon Jul 08, 2019 9:46 pm

Don't forget to move the RAM_TOP...
It's a 18kb program.
CaptureA.JPG

Code: Select all

# REM CORE V3.00
     0  REM [HEX:\
A8,B4,B7,AA,80,BB,9F,9B,\
9C,9C,76,76,ED,4F,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,DD,E9,\
CD,2B,0F,FD,46,34,3A,34,\
40,B8,28,FA,C9,CD,B2,40,\
3E,1E,ED,47,DD,21,81,02,\
C9,FD,CB,78,86,18,04,FD,\
CB,78,C6,CD,B2,40,DD,21,\
DD,40,C9,F3,FD,CB,00,7E,\
0E,F3,3E,01,20,08,FD,CB,\
78,C6,0E,F5,3E,01,47,00,\
10,FD,81,3C,20,FD,06,C0,\
FD,CB,78,46,28,02,06,B0,\
11,20,00,21,00,20,DD,21,\
0E,41,18,08,11,20,00,05,\
CA,1D,41,19,7C,ED,47,7D,\
C3,8E,C0,ED,52,00,2A,0C,\
40,11,F7,82,19,3E,1E,ED,\
47,3E,F5,01,07,02,FD,CB,\
78,46,C4,B5,02,CD,92,02,\
CD,20,02,DD,21,DD,40,C3,\
A4,02,F5,7E,FE,1A,28,02,\
CF,18,F1,C9,E7,CD,55,0F,\
E5,CD,CD,15,E1,C9,E7,CD,\
55,0F,C3,A7,0E,CD,4E,41,\
F5,CD,44,41,23,CD,4E,41,\
47,F1,4F,C9,E7,FE,76,28,\
03,FE,19,C0,22,16,40,C9,\
DF,18,F2,3E,1F,91,30,02,\
CF,10,3E,BF,90,D0,CF,1E,\
CD,5F,41,CD,44,41,18,EE,\
CD,5F,41,18,AD,CD,5F,41,\
18,E4,21,00,00,22,FE,3F,\
26,20,54,5D,13,01,FF,17,\
36,00,ED,B0,C9,26,00,54,\
68,06,05,CB,25,CB,14,10,\
FA,09,01,00,20,09,C9,CD,\
8A,41,47,79,CB,3F,CB,3F,\
CB,3F,51,4F,D5,CD,AF,41,\
F1,2F,E6,07,3C,47,C9,CD,\
92,41,48,47,CD,7D,41,C5,\
CD,4E,41,C1,CD,AF,41,77,\
C9,1E,FF,18,02,1E,00,D5,\
CD,97,41,D1,ED,43,FC,3F,\
CD,C4,41,50,7E,0F,10,FD,\
CB,1B,17,42,05,20,02,06,\
08,07,10,FD,77,C9,3E,FF,\
18,01,AF,FD,CB,78,8E,32,\
3C,40,CD,97,41,7E,FE,1A,\
20,07,ED,43,FC,3F,CD,97,\
41,60,69,ED,4B,FC,3F,22,\
FC,3F,C5,7D,91,16,01,30,\
04,ED,44,16,FF,20,02,16,\
00,E5,67,FD,72,3E,F1,90,\
1E,01,30,04,ED,44,1E,FF,\
20,02,1E,00,FD,73,3D,6F,\
BC,38,06,6C,67,16,00,18,\
02,1E,00,ED,53,3F,40,24,\
20,01,25,22,41,40,7C,A7,\
1F,6F,26,00,22,43,40,C1,\
C5,3E,BF,90,FD,5E,3C,FD,\
CB,78,4E,20,05,CD,FA,41,\
18,03,CD,23,4D,FD,4E,41,\
06,00,FD,6E,43,60,09,FD,\
75,43,ED,5B,3F,40,FD,4E,\
42,ED,42,38,07,FD,75,43,\
ED,5B,3D,40,C1,79,82,4F,\
78,83,47,FD,34,44,3A,42,\
40,FD,BE,44,20,BA,C9,CD,\
58,41,CD,20,15,EF,30,F1,\
0D,B2,2D,0F,04,34,C3,8A,\
15,06,10,4A,7B,EB,21,00,\
00,CB,39,CB,1F,30,01,19,\
EB,29,EB,10,F4,C9,3E,FF,\
18,01,AF,32,3C,40,FD,CB,\
78,96,23,CD,92,41,21,95,\
01,22,4D,40,2E,00,22,43,\
40,65,22,41,40,ED,43,FC,\
3F,ED,43,49,40,E5,CD,4E,\
41,E1,69,22,45,40,22,47,\
40,CD,7A,41,28,27,CD,44,\
41,CD,4E,41,32,47,40,CD,\
7A,41,28,19,CD,44,41,CD,\
C1,42,ED,43,4B,40,DF,CD,\
44,41,CD,C1,42,FD,CB,78,\
D6,ED,43,4D,40,2A,4D,40,\
E5,2A,41,40,ED,5B,43,40,\
06,06,CB,2A,CB,1B,10,FA,\
ED,52,22,41,40,EB,2A,43,\
40,06,06,CB,2A,CB,1B,10,\
FA,ED,5A,22,43,40,ED,5B,\
47,40,CD,D3,42,3A,4A,40,\
47,5D,CB,15,8C,F5,CB,13,\
9C,32,40,40,2A,41,40,ED,\
5B,45,40,CD,D3,42,3A,49,\
40,47,5D,CB,15,8C,32,3F,\
40,57,78,CB,13,9C,C1,4F,\
FD,CB,78,56,28,11,2A,4B,\
40,7C,B5,28,06,2B,22,4B,\
40,18,0F,FD,CB,78,96,3E,\
BF,90,38,06,FD,5E,3C,CD,\
FA,41,E1,2B,7C,B5,20,80,\
C9,FD,36,3D,01,CD,6E,41,\
C8,CD,4F,41,32,3D,40,CD,\
7A,41,C8,CD,92,41,CD,44,\
41,B8,38,03,78,41,4F,CD,\
84,41,50,41,CD,84,41,7A,\
42,ED,43,3E,40,91,3C,F5,\
CD,5F,41,B8,30,03,78,41,\
4F,ED,43,40,40,90,3C,20,\
01,3D,D1,5F,ED,53,42,40,\
FD,4E,41,FD,46,3F,CD,84,\
41,CD,C4,41,22,44,40,FD,\
70,4F,FD,4E,40,FD,46,3F,\
CD,84,41,CD,C4,41,22,46,\
40,FD,70,50,C9,ED,5B,44,\
40,2A,46,40,FD,46,4F,AF,\
37,17,10,FC,32,4E,40,FD,\
46,50,AF,05,28,04,37,17,\
10,FC,2F,FD,46,43,05,C9,\
79,A6,EB,47,79,2F,A6,B0,\
77,EB,C9,4F,C5,01,20,00,\
54,5D,09,4F,CD,5A,44,79,\
C1,10,F1,AF,A1,18,E4,CD,\
CB,43,20,17,11,00,20,21,\
20,20,01,E0,17,ED,B0,06,\
20,2B,71,10,FC,FD,35,3D,\
20,EA,C9,CD,37,44,E5,A7,\
ED,52,E1,28,0E,E5,C5,D5,\
CD,65,44,3E,FF,D1,C1,E1,\
2B,18,EB,FD,A6,4E,CD,65,\
44,FD,35,3D,20,DD,C9,C5,\
21,00,00,11,20,00,19,10,\
FD,EB,2A,44,40,19,E5,2A,\
46,40,19,D1,C1,C9,4F,C5,\
01,20,00,54,5D,A7,ED,42,\
4F,CD,5A,44,79,C1,10,EF,\
AF,C3,5D,44,CD,CB,43,20,\
17,11,FF,37,21,DF,37,01,\
E0,17,ED,B8,06,20,23,71,\
10,FC,FD,35,3D,20,EA,C9,\
CD,37,44,CD,B9,44,E5,A7,\
ED,52,E1,28,0E,E5,C5,D5,\
CD,D0,44,3E,FF,D1,C1,E1,\
2B,18,EB,FD,A6,4E,CD,D0,\
44,FD,35,3D,20,DA,C9,CD,\
CB,43,20,15,21,FF,37,06,\
20,78,A7,CB,16,2B,10,FB,\
A4,20,F4,FD,35,3D,20,EC,\
C9,CD,37,44,4F,04,3A,4E,\
40,C5,F5,E5,D5,41,4F,F5,\
E5,A7,ED,52,E1,28,15,7E,\
A0,47,F1,78,CB,17,F5,78,\
2F,A6,47,F1,F5,B0,77,06,\
FF,2B,18,E4,79,A0,47,7E,\
4F,F1,79,CB,17,A0,F5,78,\
2F,A6,47,F1,B0,77,D1,E1,\
01,20,00,EB,09,EB,09,F1,\
C1,10,BE,FD,35,3D,20,B1,\
C9,CD,CB,43,20,16,21,00,\
20,A7,06,20,CB,1E,23,10,\
FB,3E,38,BC,20,F3,FD,35,\
3D,20,EB,C9,CD,37,44,4F,\
04,3A,4E,40,EB,C5,F5,E5,\
D5,47,F5,E5,A7,ED,52,E1,\
28,15,7E,A0,47,F1,78,CB,\
1F,F5,78,2F,A6,47,F1,F5,\
B0,77,06,FF,23,18,E4,79,\
A0,47,7E,4F,F1,79,CB,1F,\
A0,F5,78,2F,A6,47,F1,B0,\
77,D1,E1,01,20,00,EB,09,\
EB,09,F1,C1,10,BF,FD,35,\
3D,20,B1,C9,4F,7E,47,3E,\
BF,90,D5,C5,F5,CD,FA,41,\
F1,C1,D1,C9,1E,FF,18,02,\
1E,00,D5,CD,DD,43,D1,FD,\
56,43,3A,41,40,21,3F,40,\
F5,E5,CD,FE,45,15,28,06,\
3C,CD,04,46,18,F7,FD,56,\
42,E1,F1,2B,E5,CD,FE,45,\
15,28,06,0C,CD,04,46,18,\
F7,FD,56,43,E1,3A,40,40,\
F5,E5,CD,FE,45,15,28,06,\
3D,CD,04,46,18,F7,FD,56,\
42,E1,F1,23,CD,FE,45,15,\
C8,0D,CD,04,46,18,F8,4F,\
79,A6,5F,79,2F,57,7E,2F,\
A2,B3,77,11,20,00,19,10,\
EF,C9,CD,CB,43,20,15,21,\
00,20,01,00,18,7E,2F,77,\
23,3E,38,BC,20,F7,FD,35,\
3D,20,EC,C9,CD,37,44,04,\
2F,E5,A7,ED,52,E1,28,0E,\
E5,C5,D5,CD,69,46,3E,FF,\
D1,C1,E1,2B,18,EA,3A,4E,\
40,2F,CD,69,46,FD,35,3D,\
20,DA,C9,27,0D,10,00,CD,\
AF,41,E5,DF,E5,21,BD,46,\
22,16,40,CD,1C,11,C1,ED,\
43,16,40,30,02,CF,22,23,\
23,23,7E,FE,02,20,F6,23,\
56,3E,C0,92,38,EF,23,23,\
4E,3E,20,91,38,E7,23,23,\
FD,72,3D,06,00,D1,C9,CD,\
92,41,48,47,3E,20,91,32,\
3E,40,CD,7D,41,E7,32,BD,\
46,E7,FE,0D,20,C7,C3,6E,\
41,C5,AF,47,EB,ED,42,EB,\
C1,C9,CD,F9,46,F5,CD,C1,\
46,F1,06,7E,E5,28,1C,FE,\
1A,20,AA,E7,FE,26,06,A6,\
28,0C,FE,34,06,B6,28,06,\
FE,3D,06,AE,20,97,CD,6E,\
41,20,FB,78,32,5D,47,E1,\
3A,3E,40,41,0E,20,C5,F5,\
D5,3E,38,BA,20,04,D1,16,\
20,D5,1A,7E,12,23,13,FD,\
35,3E,CC,13,47,10,EA,EB,\
E1,09,EB,F1,C1,32,3E,40,\
FD,35,3D,20,D9,C9,3E,00,\
18,02,3E,12,32,A0,47,CD,\
F9,46,20,B8,CD,C1,46,3A,\
3E,40,41,0E,20,C5,F5,D5,\
3E,38,BA,20,04,D1,16,20,\
D5,7E,F5,1A,77,F1,00,23,\
13,FD,35,3E,CC,13,47,10,\
E7,EB,E1,09,EB,F1,C1,32,\
3E,40,FD,35,3D,20,D6,C9,\
23,7E,FE,1C,30,02,CF,1D,\
FE,2C,30,FA,D6,1C,C9,CD,\
BA,47,47,CB,20,CB,20,CB,\
20,CB,20,CD,BA,47,80,47,\
23,7E,FE,0B,78,C9,E7,FE,\
0B,C2,25,4E,23,7E,CB,7F,\
28,02,D6,40,11,00,00,23,\
23,E5,06,08,63,6F,EB,19,\
10,FD,EB,21,00,38,19,EB,\
E1,C9,CD,E0,47,23,CD,C9,\
47,12,20,03,C3,4C,00,13,\
18,F4,4F,7E,A7,20,47,71,\
FD,34,3E,FD,CB,3E,6E,20,\
18,23,7E,A7,28,F1,CB,7F,\
20,0F,06,FF,A7,17,38,04,\
CB,18,18,F8,78,2F,A1,B6,\
77,EB,2B,FD,35,3F,FD,CB,\
3F,7E,C0,7E,A7,20,03,71,\
18,F0,CB,47,C0,06,FF,A7,\
CB,1F,38,04,CB,10,18,F7,\
78,2F,A1,B6,77,C9,C5,4E,\
3E,09,90,47,CB,11,38,05,\
10,FA,C1,18,B5,C1,4E,78,\
CB,19,38,18,10,FA,FD,4E,\
3C,CD,45,48,FD,34,3E,FD,\
CB,3E,6E,C0,23,FD,4E,3C,\
54,5D,18,96,FD,CB,78,D6,\
4E,47,C5,CB,19,10,FC,C1,\
D8,FD,CB,78,96,FD,56,3C,\
C5,3E,09,90,47,AF,5F,CB,\
12,CB,13,CB,01,3C,10,F7,\
CB,12,CB,13,CB,01,3C,30,\
F7,CB,1B,CB,09,3D,CB,1B,\
CB,19,3D,20,F9,59,C1,3E,\
09,57,90,CB,19,15,10,FB,\
CB,09,15,30,FB,4E,42,CB,\
13,CB,01,10,FA,42,CB,19,\
CB,1B,10,FA,73,C9,CD,8A,\
41,C5,F5,CD,1D,15,3E,08,\
CD,1D,15,CD,37,1C,CD,CD,\
15,CD,A7,0E,3E,07,91,4F,\
ED,43,49,40,F1,C1,51,CB,\
3A,CB,3A,CB,3A,21,3E,40,\
72,23,72,23,72,CD,C4,41,\
E5,C5,CD,4E,41,32,41,40,\
CD,44,41,CD,E0,47,7E,CD,\
6F,41,C2,17,4E,EB,01,07,\
00,09,22,44,40,ED,4B,49,\
40,ED,42,22,42,40,C1,D1,\
FD,CB,78,96,FD,4E,49,3E,\
08,91,4F,18,02,0E,08,D5,\
C5,2A,42,40,7E,2B,22,42,\
40,32,3C,40,FD,CB,78,56,\
C2,A6,02,62,6B,CD,14,48,\
FD,35,41,CA,A6,02,C1,E1,\
A7,11,20,00,ED,52,7C,FE,\
1F,C8,3A,40,40,32,3E,40,\
32,3F,40,0D,EB,20,C8,2A,\
44,40,22,42,40,18,BE,CD,\
58,41,50,59,01,01,C8,FD,\
CB,3B,46,C0,10,F9,0D,20,\
F6,1B,7A,B3,20,EE,C9,E7,\
FE,76,20,09,CD,09,4A,CD,\
1C,4B,18,30,E7,FE,1A,28,\
12,FE,19,28,2C,FE,76,28,\
46,FE,C1,28,48,FE,C2,28,\
5B,18,6C,ED,4B,FE,3F,79,\
E6,F0,C6,10,FE,40,C4,E5,\
49,CC,E0,49,18,D6,78,C6,\
08,47,AF,4F,ED,43,FE,3F,\
C9,06,FF,E7,FE,76,C8,FE,\
1A,20,04,3E,04,18,0B,FE,\
19,20,C6,04,78,FE,03,CA,\
25,4E,32,FB,3F,18,E4,ED,\
4B,FE,3F,18,D1,CD,5F,41,\
48,47,FE,B9,D2,88,41,79,\
FE,40,D2,82,41,ED,43,FE,\
3F,DF,18,91,CD,4E,41,E6,\
3F,ED,4B,FE,3F,B9,4F,30,\
EC,3E,08,80,47,18,E6,CD,\
55,0F,FD,CB,01,76,C4,D5,\
1B,CD,F8,13,78,B1,28,D9,\
1A,C5,D5,CD,56,4A,D1,C1,\
13,0B,18,F0,FE,C0,20,04,\
3E,0B,18,3A,F5,E6,7F,FE,\
40,30,07,F1,FD,CB,01,C6,\
18,2C,FD,CB,01,46,28,0A,\
AF,FD,CB,01,86,CD,98,4A,\
18,04,FD,CB,01,C6,F1,CD,\
75,09,0A,F5,C5,E6,7F,CD,\
98,4A,C1,03,F1,FE,80,38,\
F1,FD,CB,01,86,AF,ED,4B,\
FE,3F,F5,3E,3F,91,DC,E0,\
49,CD,1C,4B,F1,C5,32,49,\
40,A7,17,A7,17,17,16,00,\
CB,12,5F,21,00,1E,19,E5,\
CB,39,CD,AF,41,D1,3A,FB,\
3F,FE,04,CA,19,53,FE,02,\
28,42,FE,01,28,2A,3E,08,\
F5,D5,1A,F5,3A,FB,3F,A7,\
20,0A,FD,CB,49,7E,28,04,\
F1,2F,18,01,F1,77,11,20,\
00,19,D1,F1,13,3D,20,E0,\
C1,0C,0C,ED,43,FE,3F,C9,\
3A,49,40,FE,26,38,CF,FE,\
A6,30,CB,E5,21,00,1E,19,\
EB,E1,18,C2,3A,49,40,07,\
E5,21,00,1C,38,F1,26,1A,\
18,ED,FD,CB,78,46,3E,B8,\
28,02,3E,A8,B8,D0,57,78,\
E6,07,82,47,C5,11,00,20,\
21,00,21,CB,38,CB,38,CB,\
38,4B,ED,B0,2B,71,10,FC,\
C1,C9,01,00,C0,CD,1C,4B,\
C3,E6,49,F5,E7,CD,1C,11,\
DA,4B,0D,CA,25,4E,23,E5,\
06,05,AF,77,23,10,FC,D1,\
F1,C9,CD,C1,41,7E,0F,10,\
FD,CD,4D,4B,D0,3E,81,12,\
C9,CD,C1,41,44,4D,CD,20,\
15,E5,CD,4D,4B,E1,CD,F6,\
19,C3,8A,15,CD,C1,41,4E,\
06,00,18,EA,DD,7E,00,F5,\
CD,E7,02,1E,C0,FD,CB,78,\
46,28,02,1E,B0,21,00,20,\
AF,D3,FB,CD,46,0F,D2,85,\
08,DB,FB,17,30,FB,16,20,\
06,08,4E,DB,FB,1F,30,FB,\
79,E6,80,D3,FB,CB,11,10,\
F2,23,15,20,EB,DB,FB,1F,\
30,FB,1D,20,D3,3E,04,D3,\
FB,F1,FE,ED,CA,07,02,C3,\
D5,40,CD,6E,41,3E,17,28,\
03,CD,4F,41,11,00,00,3C,\
2A,FE,3F,E5,ED,53,FE,3F,\
ED,5B,0C,40,13,F5,06,20,\
1A,C5,D5,CD,98,4A,D1,C1,\
13,10,F5,F1,3D,20,ED,E1,\
22,FE,3F,C9,CD,6E,41,28,\
CC,CD,4F,41,3C,F5,47,3E,\
C0,D6,08,10,FC,57,58,F1,\
18,C6,11,90,40,CD,6E,41,\
28,12,D5,CD,4F,41,47,CD,\
7D,41,04,D1,1A,C6,80,12,\
13,10,F9,C9,06,20,AF,12,\
13,10,FC,C9,CD,4E,41,FE,\
20,11,00,06,30,06,CD,F3,\
47,C3,07,48,CF,1B,01,20,\
00,09,7C,FE,38,D8,61,C9,\
CD,4E,41,FE,20,30,ED,CD,\
44,41,A7,17,17,17,16,00,\
5F,21,00,3E,19,22,52,40,\
C3,5F,41,CD,62,4C,ED,43,\
FC,3F,3E,BF,90,30,02,D6,\
40,67,69,CB,3C,CB,1D,CB,\
3C,CB,1D,CB,3C,CB,1D,CB,\
EC,22,E9,3F,79,2F,E6,07,\
3C,32,50,40,11,EB,3F,ED,\
4B,52,40,3E,08,F5,7E,12,\
0A,C5,4F,3A,50,40,FE,05,\
38,11,2F,C6,09,A7,47,79,\
0E,00,28,0E,1F,CB,19,10,\
FB,18,07,47,AF,CB,11,17,\
10,FB,B6,77,23,13,7E,12,\
79,B6,77,2B,CD,58,4C,13,\
C1,03,F1,3D,20,C7,C9,CD,\
6E,41,C2,17,4E,2A,E9,3F,\
11,EB,3F,06,08,C5,1A,77,\
23,13,1A,77,CD,58,4C,2B,\
13,C1,10,F1,C9,FD,CB,78,\
CE,CD,62,4C,DF,FE,1A,20,\
06,CD,80,4C,CD,5F,41,2A,\
FC,3F,A7,ED,42,C8,C3,2B,\
42,C5,CD,46,0F,D2,88,08,\
21,34,40,46,7E,B8,28,FC,\
FD,96,E8,32,4F,40,CD,EF,\
4C,C1,CD,84,4C,3A,4F,40,\
FD,BE,34,20,FB,C9,CD,6E,\
41,3E,00,28,03,CD,4F,41,\
32,E8,3F,C9,ED,4B,FC,3F,\
78,FE,FF,20,04,06,BF,18,\
06,FE,C0,20,02,06,00,3E,\
BF,90,ED,43,FC,3F,C9,CD,\
FA,41,11,A0,00,1B,7A,B3,\
20,FB,C9,CD,8A,41,ED,43,\
FC,3F,CD,4E,41,32,76,4D,\
FD,CB,78,D6,CD,56,4D,C5,\
F5,CD,C4,41,56,1E,FF,F1,\
C1,D5,C5,F5,CD,71,4D,F1,\
C1,CD,71,4D,D1,72,2A,25,\
40,44,4D,2C,28,DE,CD,BD,\
07,7E,0E,0C,11,C5,4E,C3,\
32,4E,FD,CB,78,D6,18,CC,\
FD,36,3C,FF,FD,CB,78,96,\
18,C2,FD,36,3C,00,18,F4,\
FD,34,FD,FD,35,FC,CD,56,\
4D,FD,5E,3C,FD,CB,78,56,\
20,AA,CD,FA,41,18,A5,FD,\
34,FD,18,EA,FD,34,FC,18,\
F6,FD,34,FC,18,E0,FD,35,\
FD,18,F6,FD,35,FD,18,D6,\
FD,35,FC,18,F6,FD,35,FC,\
18,CC,00,00,DF,FE,19,28,\
32,FE,76,28,02,CF,15,E1,\
01,00,00,C3,4D,00,DF,FE,\
DE,28,02,CF,11,E5,E7,11,\
19,4E,D5,0E,10,11,1A,4F,\
06,00,EB,ED,A1,28,05,23,\
23,EA,35,4E,4E,23,46,EB,\
C5,C9,D1,11,0E,4E,D5,0E,\
0F,11,EB,4E,E7,47,E7,FE,\
76,28,D0,FE,19,20,F7,2B,\
7E,23,FE,0D,28,01,78,18,\
CF,0E,05,11,9B,4E,2B,7E,\
23,18,C5,0E,04,11,AC,4E,\
18,F4,2B,2B,7E,23,23,0E,\
03,11,BA,4E,18,B2,3E,3D,\
0E,00,ED,B9,23,23,7E,0E,\
03,11,90,4E,18,A2,28,EC,\
42,29,14,42,37,12,46,25,\
4E,29,46,4C,2A,E9,4C,32,\
07,4D,35,7D,4C,38,48,4D,\
25,4E,29,E6,44,31,29,45,\
37,93,45,3A,79,44,25,4E,\
2C,78,47,35,1C,47,38,7C,\
47,25,4E,28,BC,4D,29,C2,\
4D,2A,CC,4D,37,70,4D,1D,\
D2,4D,1E,EE,4D,1F,F8,4D,\
20,02,4E,21,07,4E,22,FD,\
4D,23,E9,4D,24,F3,4D,8E,\
4D,3D,80,4E,26,73,4B,27,\
D9,41,28,E8,42,29,10,42,\
2B,E8,48,2E,81,46,31,86,\
4B,35,64,4B,37,0E,46,38,\
63,4E,39,7D,4D,3A,04,48,\
3C,6D,4E,0D,74,4E,25,4E,\
E1,44,4E,E2,0E,4C,E7,44,\
4B,EF,B1,50,F0,DC,4B,F2,\
91,49,F5,A9,49,F6,EB,41,\
F7,CB,40,F8,14,50,F9,24,\
4C,FB,9C,41,FC,EF,41,FD,\
D1,40,FE,BF,40,FF,8E,4B,\
25,4E,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00 ]


# REM ___
     1  REM [HEX:\
E5,F8,EF,76,76,06,07,CB,\
21,DC,99,4F,D4,88,4F,3E,\
03,3D,20,FD,ED,5F,05,C2,\
6C,4F,CB,21,DC,99,4F,D4,\
88,4F,C9,DB,FE,3E,1A,3D,\
20,FD,D3,FF,3E,12,3D,20,\
FD,C3,AD,4F,C3,9C,4F,DB,\
FE,3E,29,3D,20,FD,D3,FF,\
3E,20,3D,20,FD,2B,23,37,\
C9,01,00,80,C5,00,CD,6A,\
4F,C1,05,C2,B1,4F,03,ED,\
5F,CD,6A,4F,CD,ED,4F,0D,\
CD,6A,4F,FD,E5,F1,7E,0E,\
AA,CD,6A,4F,CD,ED,4F,4A,\
CD,6A,4F,CD,ED,4F,4B,CD,\
6A,4F,FD,E5,F1,7E,4E,CD,\
6A,4F,23,1B,7A,B3,20,F6,\
00,00,C9,CD,E7,02,23,22,\
16,40,CD,55,0F,E5,CD,F8,\
13,E1,23,79,B0,28,0E,FE,\
21,30,0A,7E,FE,38,C8,FE,\
3B,C8,FE,35,C8,CF,1C,CD,\
F0,4F,F5,62,6B,C5,11,00,\
02,CD,96,49,D1,CD,AE,4F,\
F1,2A,14,40,FE,38,20,07,\
21,00,20,54,5D,18,10,FE,\
35,20,05,11,09,40,18,04,\
ED,5B,10,40,ED,52,EB,CD,\
AE,4F,C3,07,02,DB,FE,17,\
38,FB,0E,00,0C,DB,FE,17,\
30,FA,79,C6,E7,CB,13,C9,\
1E,00,06,08,CD,4A,50,10,\
FB,C9,16,00,14,D3,FF,7A,\
FE,40,30,11,1E,00,CD,4A,\
50,CD,46,0F,D2,88,08,7B,\
A7,20,E7,18,E7,1E,00,D3,\
FF,CD,4A,50,7B,A7,28,F5,\
CD,5D,50,1C,20,D6,CD,5D,\
50,7B,FE,AA,20,CE,CD,5D,\
50,53,CD,5D,50,D5,D3,FF,\
CD,5D,50,73,D1,23,1B,7A,\
B3,20,F2,C9,E5,CD,F0,4F,\
F5,D5,C5,21,3C,40,E5,CD,\
67,50,C1,AF,ED,42,C1,ED,\
42,D1,28,09,16,02,CD,96,\
49,F1,E1,18,DF,21,3C,40,\
1A,BE,20,F0,23,13,0B,78,\
B1,20,F5,F1,E1,FE,38,20,\
09,21,00,20,CD,67,50,C3,\
07,02,FE,3B,20,12,2A,10,\
40,CD,67,50,2B,CD,9D,14,\
D1,E1,CD,07,02,C3,76,06,\
21,09,40,18,EC ]


# REM 64-COL_
     2  REM [HEX:\
A2,A0,96,A8,B4,B1,F5,76,\
76,F0,F0,F0,F0,F0,F0,F0,\
F0,3C,3C,3C,3C,F0,F0,F0,\
F0,C3,C3,C3,C3,F0,F0,F0,\
F0,0F,0F,0F,0F,F0,F0,F0,\
F0,F0,F0,F0,F0,3C,3C,3C,\
3C,3C,3C,3C,3C,3C,3C,3C,\
3C,C3,C3,C3,C3,3C,3C,3C,\
3C,0F,0F,0F,0F,3C,3C,3C,\
3C,5A,A5,5A,A5,5A,A5,5A,\
A5,F0,F0,F0,F0,5A,A5,5A,\
A5,5A,A5,5A,A5,F0,F0,F0,\
F0,00,4A,4A,40,00,40,40,\
40,00,A0,2A,4E,4A,8E,AA,\
00,00,44,6E,88,6E,82,6E,\
44,00,40,24,00,00,04,00,\
00,00,44,4A,42,44,00,44,\
00,00,22,44,44,C4,44,42,\
20,00,84,42,42,62,42,44,\
80,00,08,04,52,A4,08,00,\
00,00,02,04,08,04,02,00,\
F0,00,60,4E,40,4E,40,60,\
00,00,64,D4,BE,84,64,00,\
00,00,60,20,2E,20,20,60,\
00,00,2A,44,EE,44,2A,00,\
00,00,82,82,44,44,28,28,\
00,00,40,A4,40,40,44,04,\
08,00,40,80,00,00,04,04,\
08,00,00,00,00,00,0C,4C,\
00,10,16,1A,1A,1A,1A,1C,\
10,80,84,8C,84,84,84,8E,\
80,F0,04,0A,02,04,08,0E,\
00,F0,8E,82,84,82,8A,84,\
80,F0,12,16,1A,1E,12,12,\
10,80,8E,88,8C,82,8A,84,\
F0,10,14,18,1C,1A,1A,14,\
F0,80,8E,42,42,24,28,18,\
10,10,14,2A,24,4A,4A,84,\
80,00,04,8A,FA,A6,A2,A4,\
00,00,40,A4,A2,E6,AA,A6,\
00,00,C8,A8,CC,AA,AA,CC,\
00,00,60,84,8A,88,88,66,\
00,00,C2,A2,A6,AA,AA,C6,\
00,00,E0,84,CA,8E,88,E6,\
00,00,E2,84,CE,84,84,84,\
00,00,40,A4,8A,AA,A6,62,\
0C,00,A8,A8,EC,AA,AA,AA,\
00,00,E4,40,44,44,44,E4,\
00,00,62,20,26,22,A2,4A,\
04,00,A8,A8,CA,CC,AA,AA,\
00,00,84,84,84,84,84,E2,\
00,00,A0,EA,EE,AE,AA,AA,\
00,00,C0,AC,AA,AA,AA,AA,\
00,00,40,A4,AA,AA,AA,44,\
00,00,C0,AC,AA,CA,8C,88,\
08,00,40,A6,AA,AA,A6,42,\
23,00,C0,AC,AA,C8,A8,A8,\
00,00,60,86,48,24,22,CC,\
00,00,E4,4E,44,44,44,42,\
00,00,A0,AA,AA,AA,AA,66,\
00,00,A0,AA,AA,AA,44,44,\
00,00,A0,AA,AA,AA,EE,AA,\
00,00,A0,AA,4A,44,AA,AA,\
00,00,A0,AA,4A,46,42,42,\
04,00,E0,2E,42,44,88,EE,\
00,E5,21,19,33,19,EB,E1,\
3A,49,40,E6,80,3A,FE,3F,\
0F,06,08,C5,F5,1A,46,28,\
2C,38,1C,E6,F0,F5,78,E6,\
0F,47,F1,B0,77,13,D5,11,\
20,00,19,D1,F1,C1,10,E3,\
C1,0C,ED,43,FE,3F,C9,CB,\
3F,CB,3F,CB,3F,CB,3F,F5,\
78,E6,F0,18,DC,38,0A,CB,\
27,CB,27,CB,27,CB,27,18,\
CC,E6,0F,18,EA ]

    10 GOTO VAL "1E3"
    42 PRINT "how«many«ptsŠ"
    46 INPUT M
    50 LET DP=M
    54 DIM P(M)
    58 DIM U(M)
    62 DIM V(M)
    66 DIM Y(M)
    70 PRINT "INPUT X THEN Y VAL "
    78 FOR I=A TO M
    82 PRINT TAB TR;I;" ";
    86 INPUT P(I)
    90 INPUT Y(I)
    94 PRINT P(I),Y(I)
    98 IF I>VAL "18" THEN GOSUB SC
   102 NEXT I
   106 GOTO VAL "672"
   110 PRINT ,,"INPUT START /STOP FOR X THEN Y"
   114 DIM E(D)
   118 DIM E$(D,D)
   122 FOR I=A TO D
   126 IF I=A OR I=TR THEN PRINT ("X  " AND I=A)+("Y  " AND I=TR)
   129 INPUT E$(I)
   134 PRINT E$(I),
   138 NEXT I
   142 RETURN 
   146 FOR I=A TO D
   150 LET E(I)=VAL E$(I)
   154 NEXT I
   158 RETURN 
   162 PRINT ,,"title‰";
   166 INPUT T$
   170 PRINT T$
   174 PRINT ,,"x«label",
   178 INPUT X$
   182 PRINT X$
   186 PRINT ,,"y",
   190 INPUT Y$
   194 PRINT Y$
   198 RETURN 
   202 PRINT ,,"x«log“lin«˜“—"
   206 INPUT XL
   210 PRINT ,,"y"
   214 INPUT YL
   218 RETURN 
   222 LET E(A)=LN E(A)/K
   226 LET E(TW)=LN E(TW)/K
   230 RETURN 
   234 LET E(TR)=LN E(TR)/K
   238 LET E(D)=LN E(D)/K
   242 RETURN 
   250 DIM O(M)
   254 DIM Q(M)
   258 CLS 
   262 PRINT "labelsŠ"
   266 INPUT SL
   270 IF SL THEN GOSUB VAL "162"
   274 CLS 
   278 PRINT ,,"set«scaleŠ"
   282 INPUT SS
   286 IF SS THEN GOSUB VAL "202"
   290 PRINT ,,"set«limitsŠ"
   294 INPUT SSL
   298 IF SSL THEN GOSUB VAL "110"
   302 PRINT ,,"connect«ptsŠ"
   306 INPUT CN
   310 PRINT "plot«fitŠ"
   314 INPUT CF
   318 PRINT ,,"okŠ"
   322 INPUT Z
   330 IF NOT Z THEN GOTO VAL "246"
   331 FAST 
   335 IF USR M2 THEN CLS 
   338 GOSUB VAL "146"
   342 LET K=LN VAL "10"
   346 IF NOT XL THEN GOTO VAL "366"
   350 GOSUB VAL "222"
   354 FOR I=A TO M
   358 LET U(I)=LN P(I)/K
   362 NEXT I
   366 IF XL THEN GOTO VAL "382"
   370 FOR I=A TO M
   374 LET U(I)=P(I)
   378 NEXT I
   382 IF NOT YL THEN GOTO VAL "402"
   386 GOSUB VAL "234"
   390 FOR I=A TO M
   394 LET V(I)=LN Y(I)/K
   398 NEXT I
   402 IF YL THEN GOTO 418
   406 FOR I=A TO M
   410 LET V(I)=Y(I)
   414 NEXT I
   422 LET DX=(E(TW)-E(A))/VAL "220"
   426 LET DY=(E(D)-E(TR))/VAL "180"
   430 LET PL=A
   434 FOR I=A TO M
   438 LET TX=(U(I)-E(A))/DX
   442 IF TX<ZO OR TX>220 THEN GOTO 466
   446 LET TY=(V(I)-E(TR))/DY
   450 IF TY<ZO OR TY>180 THEN GOTO 466
   454 LET O(PL)=INT (TX+12.5)
   458 LET Q(PL)=INT (TY+18.5)
   462 LET PL=PL+A
   466 NEXT I
   468 IF USR M2 THEN RUN 
   470 IF USR M2 THEN LPRINT D;12,18,254,18
   475 IF USR M2 THEN LPRINT D;12,18,12,191
   486 IF NOT SL THEN GOTO 518
   490 LET T=VAL "80"-D*LEN Y$
   494 FOR I=A TO LEN Y$
   498 IF USR M2 THEN PRINT AT T,A;Y$(I)
   502 LET T=T+D+D
   506 NEXT I
   514 IF USR M2 THEN PRINT AT VAL "176",VAL "32"-LEN X$/TW;X$
   518 IF USR M2 THEN PRINT AT 176,TR;E$(A);AT 176,58;E$(TW)
   522 IF USR M2 THEN PRINT AT ZO,ZO;E$(D, TO TR);AT VAL "168",ZO;E$(TR, TO TR)
   530 FOR I=A TO PL-A
   534 IF USR M2 THEN PLOT O(I),Q(I)
   538 NEXT I
   542 IF NOT CF THEN GOTO VAL "558"
   546 FOR I=A TO PF-A
   550 IF USR M2 THEN PLOT CODE H$(I),CODE G$(I)
   554 NEXT I
   558 IF NOT CN THEN GOTO 622
   562 FOR I=A TO PL-TW
   565 IF USR M2 THEN LPRINT D;O(I),Q(I),O(I+A),Q(I+A)
   618 NEXT I
   619 IF NOT SL THEN GOTO VAL "622"
   621 IF USR M2 THEN PRINT AT VAL "183",VAL "32"-LEN T$/TW;T$
   622 FOR I=A TO PL-A
   626 IF USR M2 THEN UNPLOT O(I),Q(I)
   630 IF USR M2 THEN PLOT O(I),Q(I)
   634 IF INKEY$<>"" THEN GOTO 646
   638 NEXT I
   642 GOTO 622
   646 IF INKEY$<>"Z" THEN GOTO 669
   650 IF USR M2 THEN COPY 
   655 IF NOT CF THEN GOTO 622
   656 IF USR M2 THEN CLS 
   658 IF USR M2 THEN PRINT ,,,,"function«is‰ ";F$
   660 IF NOT R THEN GOTO 665
   662 IF USR M2 THEN PRINT "CORR. COEFF.= ";R
   664 IF USR M2 THEN PRINT "RESIDUALS:","SUM OF Y:",RY,,,"SUM OF XY:",RXY
   665 IF USR M2 THEN PRINT AT VAL "168",ZO;"INPUT ANY KEY - ÀZÀ TO COPY "
   666 IF USR M2 THEN PAUSE VAL "4E4"
   669 IF USR M2 THEN CLS 
   670 IF USR M2 THEN RETURN 
   672 CLS 
   674 PRINT "0.RETURN  TO MENU","1.PLOT (RESCALE?)","2. (RE)FIT DATA",,"3. SCALE FIT",,"4.PRINT VAL ",,,,
   678 INPUT Z
   682 GOTO (VAL "722" AND (Z=TR OR Z=D))+(VAL "1E3" AND NOT Z)+(VAL "246" AND Z=A)+(VAL "686" AND Z=TW)
   686 CLS 
   690 PRINT "TYPE?",,,,"0. INTERP.",,,,"LEAST SQUARES:",,,,"1. LINEAR",,"2. EXP.",,"3. LOG.",,"4. POWER",,,,"5. POLYNOMIAL"
   694 INPUT Z
   696 LET R=ZO
   698 IF Z AND Z<5 THEN GOTO 714
   702 IF NOT Z OR Z=5 THEN PRINT ,,"DEGREE?","enter",,,("**1 LINE " AND NOT Z),("™ PT." AND NOT Z),"**2 PARABOLA","š","**3 CUBIC","›","**NINPUT ","n˜"
   706 INPUT DEG
   710 CLS 
   714 GOSUB (VAL "4980" AND Z)+(VAL "4400" AND NOT Z)
   718 GOTO VAL "672"
   722 GOSUB (VAL "5540" AND Z=TR)+(VAL "4000" AND Z=D)
   726 CLS 
   730 IF Z=TR THEN PRINT "RESCALE DONE",,
   734 GOTO VAL "674"
   910 SCROLL 
   920 PRINT AT 21,31;" ";AT 21,ZO;
   930 RETURN 
   990 SAVE   "SE-Hr"
   999 LET F$=""
  1000 LET ZO=NOT PI
  1002 LET A=NOT ZO
  1003 LET TW=A+A
  1004 LET TR=INT PI
  1005 LET D=TR+A
  1006 LET AL=ZO
  1007 LET LS=ZO
  1008 LET SC=VAL "910"
  1009 LET M2=VAL "2E4"
  1010 LET CR=ZO
  1012 LET IP=CR
  1020 LET DE=CR
  1030 LET GS=DE
  1040 LET S=A
  1050 LET IL=DE
  1059 CLS 
  1060 SLOW 
  1070 PRINT AT A,D;"---COMPUTER MATH---",TAB D;"DEVELOPMENT PROGRAM";AT D,TR*D;"BY THOMAS BENT"
  1080 PRINT AT PI*PI,A;"1) ADD 2 MATR. "," 2) SUB. 2 MATR."," 3) MULT. 2 MATR."," 4) EVAL. DETERM."," 5) SIM. LIN. EQU."," 6) PRINT/PLOT  AND FIT DATA"," 7) INTEGRATION"
  1090 INPUT Z
  1095 CLS 
  1120 GOTO (VAL "5998" AND Z=VAL "7")+(VAL "1160" AND Z=VAL "5")+(VAL "38" AND Z=VAL "6")+(VAL "1130" AND Z<VAL "5")
  1130 GOSUB (VAL "2730" AND Z<TR)+(VAL "2950" AND Z=TR)+(VAL "3200" AND Z=D)
  1140 SLOW 
  1150 GOTO VAL "1220"
  1160 PRINT ,,"METHOD?",,,,"1. CRAMERS RULE 2X3","2. CR ANY SIZE",,"3. GAUSS ELIM. ANY SIZE","4. GAUSS SEIDEL ANY SIZE","5. COMPARE 3 AND 4","6. CHECKFOR ILL-COND.","7. 5 AND 6",,"8. 3 AND 6"
  1180 INPUT Z
  1190 CLS 
  1200 GOSUB (VAL "3680" AND Z=TW)+(VAL "1350" AND Z=D+D)+(VAL "1310" AND Z=D+TR)+(VAL "1270" AND Z=D+A)+(VAL "2620" AND Z=A)+(VAL "1730" AND Z=TR)+(VAL "2200" AND Z=D)+(VAL "3350" AND Z=D+TW)
  1210 SLOW 
  1220 IF INKEY$="" THEN GOTO 1220
  1230 FAST 
  1240 IF INKEY$="Z" THEN COPY 
  1260 GOTO VAL "1E3"
  1280 GOSUB VAL "2200"
  1290 GOSUB VAL "1750"
  1300 RETURN 
  1320 GOSUB VAL "2200"
  1330 GOTO VAL "1360"
  1350 GOSUB VAL "1400"
  1360 GOSUB VAL "3350"
  1370 GOSUB VAL "1750"
  1380 GOTO VAL "3500"
  1420 PRINT ,,"HOW MANY ROWS? ";
  1430 INPUT M
  1440 PRINT M
  1450 PRINT TAB VAL "9";"COLS? ";
  1460 INPUT N
  1470 PRINT N
  1480 DIM A(M,N)
  1490 DIM Z(M,N)
  1495 FAST 
  1500 FOR I=A TO M
  1510 GOSUB SC
  1520 PRINT AT VAL "20",ZO;"row col","VAL ",I;
  1530 FOR J=A TO N
  1540 PRINT TAB D;J,
  1550 INPUT A(I,J)
  1560 PRINT A(I,J)
  1570 LET Z(I,J)=A(I,J)
  1580 GOSUB SC
  1590 NEXT J
  1600 NEXT I
  1610 CLS 
  1620 RETURN 
  1640 DIM A(M,N)
  1650 FAST 
  1660 FOR I=A TO M
  1670 FOR J=A TO N
  1680 LET A(I,J)=Z(I,J)
  1690 NEXT J
  1700 NEXT I
  1710 SLOW 
  1720 RETURN 
  1740 GOSUB VAL "1400"
  1750 DIM X(M)
  1770 FAST 
  1780 FOR I=A TO M-A
  1790 LET B=ZO
  1800 FOR J=I TO M
  1810 LET P=ABS A(J,I)
  1820 IF P>B THEN LET L=J
  1830 IF P>B THEN LET B=P
  1840 NEXT J
  1850 IF NOT B THEN STOP 
  1860 IF IL OR I=L THEN GOTO VAL "1930"
  1870 LET S=-S
  1880 FOR J=A TO N
  1890 LET T=A(I,J)
  1900 LET A(I,J)=A(L,J)
  1910 LET A(L,J)=T
  1920 NEXT J
  1930 IF GS THEN NEXT I
  1940 IF GS THEN RETURN 
  1960 LET NLINE=I+A
  1970 FOR J=NLINE TO M
  1980 LET C=A(J,I)/A(I,I)
  1990 FOR K=I TO N
  2000 LET A(J,K)=A(J,K)-C*A(I,K)
  2010 NEXT K
  2020 NEXT J
  2030 NEXT I
  2040 IF DE OR IL THEN RETURN 
  2060 FOR I=M TO A STEP -A
  2070 LET BK=A(I,N)
  2080 IF I=M THEN GOTO 2120
  2090 FOR J=M TO I STEP -A
  2100 LET BK=BK-A(I,J)*X(J)
  2110 NEXT J
  2120 LET X(I)=BK/A(I,I)
  2130 NEXT I
  2135 IF IP THEN RETURN 
  2140 PRINT ,,"G.E. RESULTS:"
  2150 SLOW 
  2160 FOR I=A TO M
  2170 PRINT TAB D;"X ";I,X(I)
  2180 NEXT I
  2190 RETURN 
  2210 PRINT "INPUT ACCURACY"
  2220 INPUT ER
  2230 CLS 
  2240 GOSUB VAL "1400"
  2250 LET GS=A
  2260 PRINT AT VAL "19",D;"G-S ITERATIONS"
  2270 GOSUB VAL "1760"
  2280 LET GS=NOT GS
  2290 DIM X(M)
  2300 DIM Y(M)
  2310 FAST 
  2320 FOR K=A TO VAL "100"
  2330 GOSUB SC
  2340 FOR I=A TO M
  2350 LET T=ZO
  2360 LET X(I)=T
  2370 FOR J=A TO M
  2380 LET T=T+A(I,J)*X(J)
  2390 NEXT J
  2400 LET X(I)=(A(I,N)-T)/A(I,I)
  2410 NEXT I
  2420 LET T=ZO
  2430 PRINT K;
  2440 FOR I=A TO M
  2450 PRINT TAB D;"X ";I,X(I)
  2460 GOSUB SC
  2470 LET Y(I)=X(I)-Y(I)
  2480 IF ABS Y(I)<=ER THEN LET T=T+A
  2490 LET Y(I)=X(I)
  2500 NEXT I
  2510 PAUSE PI**D
  2520 IF T<>M THEN GOTO VAL "2580"
  2530 CLS 
  2540 PRINT ,,"G-S CONVERGED",,"IN ";K;" ITERATIONS."
  2550 GOSUB VAL "2160"
  2560 SLOW 
  2570 RETURN 
  2580 NEXT K
  2590 PRINT "G-S DIDNT CONVERGE"
  2600 SLOW 
  2610 RETURN 
  2630 LET M=TW
  2640 LET N=TR
  2650 GOSUB VAL "1480"
  2660 LET CR=A(A,A)*A(TW,TW)-A(TW,A)*A(A,TW)
  2670 IF NOT CR THEN GOTO VAL "3990"
  2675 DIM X(M)
  2680 LET X(A)=(A(A,TR)*A(TW,TW)-A(TW,TR)*A(A,TW))/CR
  2690 LET X(TW)=(A(A,A)*A(TW,TR)-A(TW,A)*A(A,TR))/CR
  2700 PRINT ,,"CR RESULTS:"
  2710 PRINT ,,"X= ";X(A),"Y= ";X(TW)
  2720 RETURN 
  2740 GOSUB VAL "1400"
  2750 PRINT "INPUT MATRIX ÀBÀ"
  2760 DIM B(M,N)
  2770 FOR I=A TO M
  2780 PRINT "INPUT ROW ";I
  2790 FOR J=A TO N
  2800 INPUT B(I,J)
  2810 NEXT J
  2820 NEXT I
  2830 CLS 
  2840 DIM C(M,N)
  2850 PRINT "ROW COL";TAB 13;"MATRICES"
  2860 PRINT "I   J";TAB 9;"A";TAB 16;"B";TAB 25;"C"
  2870 FOR I=A TO M
  2880 FOR J=A TO N
  2890 IF Z=A THEN LET C(I,J)=A(I,J)+B(I,J)
  2900 IF Z=TW THEN LET C(I,J)=A(I,J)-B(I,J)
  2910 PRINT I;TAB D;J;TAB TR*TR;A(I,J);TAB D*D;B(I,J);TAB 25;C(I,J)
  2920 NEXT J
  2930 NEXT I
  2940 RETURN 
  2960 GOSUB VAL "1400"
  2970 PRINT "COLSFOR B?"
  2980 INPUT P
  2990 DIM B(N,P)
  3000 FOR I=A TO N
  3010 PRINT "INPUT ROW ";I
  3020 FOR J=A TO P
  3030 INPUT B(I,J)
  3040 NEXT J
  3050 NEXT I
  3060 CLS 
  3070 DIM C(M,P)
  3075 PRINT "MATRIX A * B"
  3080 FOR I=A TO M
  3090 FOR J=A TO P
  3100 FOR K=A TO N
  3110 LET C(I,J)=C(I,J)+A(I,K)*B(K,J)
  3120 NEXT K
  3130 NEXT J
  3140 FOR J=A TO P
  3150 PRINT C(I,J);"     ";
  3160 NEXT J
  3170 PRINT 
  3180 NEXT I
  3190 RETURN 
  3210 GOSUB VAL "1400"
  3220 LET DE=A
  3230 GOSUB VAL "1760"
  3240 LET DE=NOT DE
  3250 FOR I=A TO M
  3260 LET S=S*A(I,I)
  3270 NEXT I
  3280 IF CR THEN RETURN 
  3290 PRINT "DETERMINANT=";S
  3300 RETURN 
  3310 GOSUB VAL "1400"
  3320 LET GS=NOT GS
  3330 GOSUB VAL "1760"
  3340 LET GS=NOT GS
  3360 DIM C(M,M)
  3370 FOR I=A TO M
  3380 LET T=ZO
  3390 FOR J=A TO M
  3400 LET C(I,J)=A(I,J)
  3410 LET T=T+C(I,J)*C(I,J)
  3420 NEXT J
  3430 LET T=SQR T
  3440 FOR J=A TO M
  3450 LET C(I,J)=C(I,J)/T
  3460 NEXT J
  3470 NEXT I
  3480 IF Z=D+TW THEN GOTO VAL "3510"
  3490 RETURN 
  3510 FOR I=A TO M
  3520 FOR J=A TO M
  3530 LET A(I,J)=C(I,J)
  3540 NEXT J
  3550 NEXT I
  3560 LET N=M
  3570 LET IL=NOT IL
  3580 GOSUB VAL "1760"
  3590 LET N=M+A
  3600 LET IL=NOT IL
  3610 FOR I=A TO M
  3620 LET S=ABS (S*A(I,I))
  3630 NEXT I
  3645 PRINT ,,"CONDITIONING:",S,,,"THE SYSTEM IS ";("ILL CONDITIONED" AND S<A/D);("OK" AND S>=A/D)
  3670 RETURN 
  3690 PRINT "INPUT NEW DATA?"
  3700 INPUT X
  3710 IF X THEN GOSUB VAL "1400"
  3720 LET CR=A
  3730 CLS 
  3740 GOSUB VAL "1630"
  3750 LET N=M
  3760 FAST 
  3770 GOSUB VAL "3220"
  3780 LET DEN=S
  3790 PRINT "DENOM.=";S
  3800 IF NOT S THEN GOTO VAL "3990"
  3810 DIM X(M)
  3820 FOR V=A TO M
  3830 LET S=A
  3840 LET N=M+A
  3850 GOSUB 1630
  3860 FOR U=A TO M
  3870 LET A(U,V)=A(U,N)
  3880 NEXT U
  3890 LET N=M
  3900 GOSUB 3220
  3910 LET X(V)=S/DEN
  3920 NEXT V
  3930 LET N=M+A
  3940 LET CR=NOT PI
  3950 SLOW 
  3960 PRINT ,,"CR RESULTS:"
  3970 GOTO VAL "2160"
  3990 PRINT "NO SOLUTION BY CR"
  3995 RETURN 
  4010 PRINT "PRINT FROM:",,,,"0.INPUT DATA",,"1. CURVE FIT",,"2. OTHER FUNCTION"
  4020 SLOW 
  4030 INPUT Z
  4040 GOTO (VAL "4050" AND NOT Z)+(VAL "4140" AND Z=A)+(VAL "4120" AND Z=TW)
  4050 GOSUB SC
  4060 PRINT "no–«x","f‹xŒ"
  4070 FOR I=A TO DP
  4080 GOSUB SC
  4090 PRINT I;TAB D;P(I),Y(I)
  4100 NEXT I
  4110 GOTO VAL "4300"
  4120 PRINT "INPUT F(X)"
  4130 INPUT F$
  4140 PRINT "INPUT X START";
  4150 INPUT XS
  4160 PRINT XS
  4170 PRINT "INPUT XSTOP ";
  4180 INPUT XP
  4190 PRINT XP
  4200 PRINT "INPUT  STEP VAL "
  4210 INPUT INC
  4220 CLS 
  4230 IF LS OR Z THEN PRINT AT D*D,D;"F(X)=",F$
  4240 GOSUB SC
  4250 PRINT "x","f‹xŒ"
  4260 FOR X=XS TO XP STEP INC
  4270 GOSUB SC
  4280 PRINT X,VAL F$
  4290 NEXT X
  4300 GOSUB SC
  4309 SCROLL 
  4310 PRINT AT VAL "20",VAL "30";,"INPUT ANY KEY-ÀZÀ TO COPY "
  4320 PAUSE VAL "4E4"
  4330 FAST 
  4340 IF INKEY$="Z" THEN COPY 
  4350 IF LS THEN RETURN 
  4360 LET M=DP
  4370 LET AL=ZO
  4380 LET LS=ZO
  4390 RETURN 
  4410 PRINT "INPUT POSN. OF 1ST X TERM TO BE EVALUATED"
  4420 INPUT POS
  4430 PRINT ,,"FIT REST OF  THE POINTS?"
  4440 INPUT AL
  4445 IF NOT AL THEN GOTO VAL "4500"
  4450 IF AL THEN PRINT "YOU CANTPLOT DIRECTLY.","HERES ALIST :"
  4480 PRINT "INPUT  STEP VAL "
  4490 INPUT INC
  4500 FAST 
  4510 LET POS=POS-A
  4520 LET LAST=POS+DEG
  4530 IF LAST>DP THEN LET DEG=DP-POS
  4540 LET M=DEG
  4550 LET IP=PI
  4560 LET N=M+A
  4570 DIM A(M,N)
  4580 FOR I=A TO M
  4590 LET A(I,N)=Y(I+POS)
  4600 FOR J=A TO M
  4610 LET A(I,J)=A
  4620 NEXT J
  4630 NEXT I
  4640 FOR J=M-A TO A STEP -A
  4650 LET DE=DE+A
  4660 FOR I=A TO M
  4670 FOR K=A TO DE
  4680 LET A(I,J)=A(I,J)*P(I+POS)
  4690 NEXT K
  4700 NEXT I
  4710 NEXT J
  4720 LET DE=ZO
  4730 GOSUB VAL "1750"
  4740 LET IP=ZO
  4750 LET L=M
  4760 FOR I=A TO M/TW
  4770 LET T=X(I)
  4780 LET X(I)=X(L)
  4790 LET X(L)=T
  4800 LET L=L-A
  4810 NEXT I
  4820 LET F$=""
  4830 FOR I=A TO M
  4840 PRINT "X";I;" = ";X(I)
  4850 LET F$=F$+STR$ X(I)+"*X**"+STR$ (I-1)+" "
  4860 IF I<>M THEN LET F$=F$+"+"
  4870 NEXT I
  4880 IF NOT AL THEN GOTO VAL "5486"
  4890 LET XS=P(POS+A)
  4900 LET XP=P(LAST)
  4910 SLOW 
  4920 GOSUB VAL "4230"
  4930 LET POS=LAST
  4940 IF POS=DP THEN GOTO VAL "4360"
  4950 CLS 
  4960 GOTO VAL "4500"
  4990 CLS 
  5000 FAST 
  5010 FOR I=A TO M
  5020 IF Z=A OR Z=TW OR Z=A+D THEN LET U(I)=P(I)
  5030 IF Z=TR OR Z=D AND P(I)>ZO THEN LET U(I)=LN P(I)
  5040 IF Z=A OR Z=TR OR Z=A+D THEN LET V(I)=Y(I)
  5050 IF Z=TW OR Z=D AND Y(I)>ZO THEN LET V(I)=LN Y(I)
  5060 NEXT I
  5090 IF Z AND Z<A+D THEN LET DEG=TW
  5100 LET M=DEG
  5110 LET N=M+A
  5120 DIM A(M,N)
  5130 DIM C(DP,M)
  5140 LET Y2=ZO
  5150 FOR I=A TO DP
  5160 LET C(I,A)=A
  5170 LET Y2=Y2+V(I)*V(I)
  5180 NEXT I
  5190 FOR J=TW TO M
  5200 FOR I=A TO DP
  5210 LET C(I,J)=C(I,J-A)*U(I)
  5220 NEXT I
  5230 NEXT J
  5240 FOR I=A TO M
  5250 FOR J=A TO M
  5260 FOR K=A TO DP
  5270 LET A(I,J)=A(I,J)+C(K,I)*C(K,J)
  5280 NEXT K
  5290 NEXT J
  5300 NEXT I
  5310 FOR I=A TO M
  5320 FOR J=A TO DP
  5330 LET A(I,N)=A(I,N)+C(J,I)*V(J)
  5340 NEXT J
  5350 NEXT I
  5360 DIM C(A)
  5380 LET R=A(TW,N)-(A(TW,A)*A(A,N))/DP
  5390 LET R=R*R
  5400 LET R=R/(((A(TW,TW)-(A(TW,A)*A(TW,A))/DP)*(Y2-(A(A,N)*A(A,N))/DP)))
  5410 LET IP=A
  5420 GOSUB (VAL "2660" AND M=TW)+(VAL "1750" AND M>TW)
  5430 LET IP=ZO
  5440 IF M>TW THEN GOTO VAL "4820"
  5450 LET F$=""
  5460 IF Z=A THEN LET F$=STR$ X(A)+"+X*"+STR$ X(TW)
  5470 IF Z=TW THEN LET F$=STR$ (EXP X(A))+"*EXP (X*"+STR$ X(TW)+")"
  5480 IF Z=TR THEN LET F$=STR$ X(A)+"+LN X*"+STR$ X(TW)
  5485 IF Z=D THEN LET F$=STR$ (EXP X(A))+"*X**"+STR$ X(TW)
  5487 LET RXY=ZO
  5488 LET RY=ZO
  5489 FOR I=A TO DP
  5490 LET X=P(I)
  5491 LET Y=Y(I)
  5492 LET T=VAL F$
  5495 LET RY=RY+(T-Y)*(T-Y)
  5496 LET RXY=RXY+X*(T-Y)*(T-Y)
  5498 NEXT I
  5500 CLS 
  5510 PRINT ,,"F(X)= ";F$
  5520 IF Z THEN PRINT ,,"CORR. COEFF.= ";R
  5522 IF Z THEN PRINT ,,"RESIDUALS",,"YÀS",RY,"XYÀS",RXY
  5530 GOTO VAL "4309"
  5550 PRINT "INPUT START VAL FOR X FIT: ";
  5560 INPUT XS
  5565 PRINT XS
  5570 PRINT "INPUT STOP VAL FOR X FIT: ";
  5580 INPUT XP
  5585 PRINT XP
  5590 PRINT ,,"INPUT POINT DENSITY"
  5600 INPUT PD
  5605 PRINT PD
  5610 FAST 
  5620 LET K=LN VAL "10"
  5630 GOSUB VAL "146"
  5640 LET TXE=(E(A) AND NOT XL)+(LN E(A)/K AND XL)
  5650 LET TYE=(E(TR) AND NOT YL)+(LN E(TR)/K AND YL)
  5680 LET PF=A
  5690 DIM H$(PD+A)
  5700 DIM G$(PD+A)
  5710 LET DF=(XP-XS)/PD
  5720 FOR X=XS TO XP STEP DF
  5730 LET FX=VAL F$
  5740 IF FX<E(TR) OR FX>E(D) THEN GOTO 5860
  5750 LET TX=(X AND NOT XL)+(LN X/K AND XL)
  5770 IF YL THEN LET FX=LN FX/K
  5780 LET TX=(TX-TXE)/DX+12.5
  5790 LET FX=(FX-TYE)/DY+18.5
  5820 IF TX>=254 OR FX>=191 THEN GOTO 5860
  5830 LET H$(PF)=CHR$ TX
  5840 LET G$(PF)=CHR$ FX
  5850 LET PF=PF+A
  5860 NEXT X
  5880 SLOW 
  5890 RETURN 
  5998 PRINT ,,"1) GAUSS QUAD",,"2) SIMP.-DATA",,"3) SIMP.-FUNC.",,"4) ROMBERG"
  6000 INPUT Z
  6001 FAST 
  6002 GOSUB (VAL "6060" AND Z=A)+(VAL "6500" AND Z=TW)+(VAL "6600" AND Z=TR)+(VAL "7200" AND Z=D)
  6003 PAUSE VAL "4E4"
  6004 GOTO VAL "1E3"
  6005 PRINT "INPUT F(X)?"
  6006 INPUT F$
  6007 LET X=(F$<>"")
  6010 PRINT "INTEGRATION",,"INPUT START THEN STOP LIMITS"
  6020 INPUT L
  6030 PRINT L,
  6040 INPUT H
  6050 PRINT H
  6051 RETURN 
  6070 GOSUB VAL "6005"
  6080 DIM S(TR,D)
  6090 DIM T(TR,D)
  6100 LET S(A,A)=A
  6102 LET S(A,TW)=A
  6104 LET S(TW,A)=(A+D)/(TR*TR)
  6106 LET S(TW,TW)=(D+D)/(TR*TR)
  6108 LET S(TW,TR)=S(TW,A)
  6110 LET S(TR,A)=VAL ".65214516"
  6112 LET S(TR,TR)=S(TR,A)
  6114 LET S(TR,TW)=VAL ".34785485"
  6116 LET S(TR,D)=S(TR,TW)
  6120 LET T(A,TW)=A/SQR TR
  6122 LET T(A,A)=-T(A,TW)
  6124 LET T(TW,TR)=SQR (TR/(D+A))
  6126 LET T(TW,A)=-T(TW,TR)
  6128 LET T(TR,TR)=VAL ".33998104"
  6130 LET T(TR,A)=-T(TR,TR)
  6132 LET T(TR,D)=VAL ".86113631"
  6134 LET T(TR,TW)=-T(TR,D)
  6135 PRINT "INPUT NO. OF POINTS 2 TO 4"
  6136 INPUT DEG
  6140 LET DX=(H-L)/TW
  6142 LET FX=ZO
  6150 LET K=DEG-A
  6160 FOR I=A TO DEG
  6180 LET X=((H-L)*T(K,I)+H+L)/TW
  6190 LET FX=FX+S(K,I)*VAL F$
  6210 NEXT I
  6220 LET FX=FX*DX
  6230 PRINT "GAUSS QUAD= ",FX
  6250 RETURN 
  6510 LET FX=ZO
  6520 LET DX=U(TW)-U(A)
  6550 FOR I=A TO DP-TW STEP TW
  6560 LET FX=FX+DX/TR*(Y(I)+D*Y(I+A)+Y(I+TW))
  6570 NEXT I
  6590 PRINT "SIMPSONS AREA = ";FX
  6599 RETURN 
  6610 GOSUB VAL "6005"
  6630 PRINT "INPUT MAX ITERATIONS.(<=8)"
  6635 INPUT IT
  6640 CLS 
  6650 FOR I=A TO IT
  6660 LET DIV=TW**I
  6670 LET AR=ZO
  6680 LET DX=(H-L)/DIV
  6683 LET T=DX/TR
  6690 LET SIM=DIV/TW
  6700 FOR J=A TO SIM
  6705 LET FX=ZO
  6720 LET X=L+TW*(J-A)*DX
  6725 LET FX=VAL F$
  6730 LET X=X+DX
  6732 LET FX=FX+D*VAL F$
  6735 LET X=X+DX
  6740 LET AR=AR+(FX+VAL F$)*T
  6810 NEXT J
  6820 PRINT "FOR ";DIV;" DIVISIONS, AREA =",AR,,
  6830 PAUSE PI**D
  6835 IF Z>TR THEN RETURN 
  6840 NEXT I
  6900 RETURN 
  7210 GOSUB VAL "6005"
  7300 PRINT "INPUT MAX ITERATIONS. (<=6)"
  7310 INPUT IT
  7320 DIM A(IT,IT)
  7325 CLS 
  7330 FOR I=A TO IT
  7340 LET DIV=TW**(I-A)
  7350 LET AR=ZO
  7360 LET DX=(H-L)/DIV
  7365 LET T=DX/TW
  7370 FOR J=A TO DIV
  7375 LET FX=ZO
  7380 LET X=L+(J-A)*DX
  7390 LET FX=FX+VAL F$
  7400 LET X=L+J*DX
  7410 LET AR=AR+(FX+VAL F$)*T
  7420 NEXT J
  7425 LET A(I,A)=AR
  7430 GOSUB 6820
  7450 NEXT I
  7505 CLS 
  7530 FOR J=TW TO IT
  7535 LET T=D**(J-A)
  7540 FOR I=J TO IT
  7560 LET A(I,J)=(T*A(I,J-A)-A(I-A,J-A))/(T-A)
  7570 NEXT I
  7580 NEXT J
  7585 SLOW 
  7590 FOR I=A TO IT
  7595 PRINT 
  7600 FOR J=A TO I
  7610 PRINT A(I,J);"  ";
  7620 NEXT J
  7625 PRINT 
  7630 NEXT I
  7640 FAST 
  7650 RETURN 
16kb program, ASM only ! (6kb)
UNLOCK16.P
(5.63 KiB) Downloaded 21 times

User avatar
mrtinb
Posts: 1067
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: UnLock Software

Post by mrtinb » Mon Jul 08, 2019 11:12 pm

If you want to load a program that’s more than 16k you need to change RAMTOP before load, otherwise the load fails.

This might not be a problem on all emulators, because they want to “help” you. However it will not work on real hardware, if RAMTOP has not been changed prior to load.
Martin
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube

Post Reply