mirror of
https://github.com/forth-ev/VolksForth.git
synced 2024-11-21 14:31:21 +00:00
Initial sync from fossil repo
This commit is contained in:
parent
dcf90e94d0
commit
857eedeafd
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.fossil
|
BIN
6502/Apple1/f6502.com
Normal file
BIN
6502/Apple1/f6502.com
Normal file
Binary file not shown.
843
6502/Apple1/f6502.hex
Normal file
843
6502/Apple1/f6502.hex
Normal file
@ -0,0 +1,843 @@
|
||||
|
||||
300: EA 4C 1D 33 EA 4C 91 33 4C 6 70 20 1B 29 0 70
|
||||
: 0 70 80 7A 9E 37 0 0 A 0 A4 35 8D 34 4 26
|
||||
: E0 36 1E 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 24 56 6F 6C 6B 73 46 6F 72 74 68 2D
|
||||
: 38 33 20 33 2E 38 20 43 4F 4D 50 49 4C 45 44 20
|
||||
: 30 35 61 70 72 31 33 43 53 8D FF FF B1 2C 85 3B
|
||||
: AD FF FF 85 3A 18 A5 2C 69 2 85 2C B0 3 6C FF
|
||||
: FF E6 2D B0 F9 6 0 0 0 9 45 4E 44 2D 54 52
|
||||
: 41 43 45 35 4 A9 A5 85 31 A9 2C 85 32 A9 69 85
|
||||
: 33 A9 2 85 34 4C 27 0 7 0 27 4 7 52 45 43
|
||||
: 4F 56 45 52 A9 1C 68 85 3A 68 85 3B A5 3A D0 2
|
||||
: C6 3B C6 3A 4C DE 1D 7 0 4A 4 4 4E 4F 4F 50
|
||||
: 27 0 8 0 69 4 6 4F 52 49 47 49 4E 2B 1E 8
|
||||
: 3 8 0 74 4 2 53 30 A9 1E 8 8 0 83 4 2
|
||||
: 52 30 A9 1E A 8 0 8D 4 2 44 50 A9 1E C 8
|
||||
: 0 97 4 6 4F 46 46 53 45 54 A9 1E E 8 0 A1
|
||||
: 4 4 42 41 53 45 A9 1E 10 8 0 AF 4 6 4F 55
|
||||
: 54 50 55 54 A9 1E 12 8 0 BB 4 5 49 4E 50 55
|
||||
: 54 A9 1E 14 8 0 C9 4 C 45 52 52 4F 52 48 41
|
||||
: 4E 44 4C 45 52 A9 1E 16 8 0 D6 4 8 56 4F 43
|
||||
: 2D 4C 49 4E 4B A9 1E 18 8 0 EA 4 3 55 44 50
|
||||
: A9 1E 1A 9 0 FA 4 3 53 50 40 D 5 A5 25 85
|
||||
: 42 A5 26 85 43 A2 42 A5 25 38 E9 2 85 25 B0 2
|
||||
: C6 26 B5 1 91 25 B5 0 A2 0 4C 24 0 9 0 5
|
||||
: 5 3 53 50 21 37 5 A1 25 AA B1 25 85 26 86 25
|
||||
: A2 0 4C 27 0 A 0 2F 5 3 55 50 40 4F 5 A2
|
||||
: 22 4C 17 5 A 0 47 5 83 55 50 21 5E 5 A2 22
|
||||
: B1 25 95 1 88 B1 25 95 0 A2 0 A0 1 A5 25 18
|
||||
: 69 2 85 25 90 2 E6 26 4C 27 0 B 0 56 5 3
|
||||
: 52 50 40 85 5 A2 20 4C 17 5 B 0 7D 5 83 52
|
||||
: 50 21 94 5 A2 20 4C 60 5 B 0 8C 5 82 3E 52
|
||||
: A2 5 A5 20 38 E9 2 85 20 B0 2 C6 21 A1 25 81
|
||||
: 20 B1 25 91 20 4C 6D 5 C 0 9B 5 82 52 3E C1
|
||||
: 5 A5 25 38 E9 2 85 25 B0 2 C6 26 A1 20 81 25
|
||||
: B1 20 91 25 A9 2 18 65 20 85 20 90 2 E6 21 4C
|
||||
: 27 0 D 0 BA 5 2 52 40 EB 5 A5 25 38 E9 2
|
||||
: 85 25 B0 2 C6 26 B1 20 91 25 A1 20 4C 24 0 D
|
||||
: 0 E4 5 85 52 44 52 4F 50 D4 5 D 0 1 6 4
|
||||
: 45 58 49 54 16 6 A1 20 85 2C B1 20 85 2D 4C D4
|
||||
: 5 E 0 D 6 5 3F 45 58 49 54 2D 6 A1 25 11
|
||||
: 25 8 A5 25 18 69 2 85 25 90 2 E6 26 28 D0 D6
|
||||
: 4C 27 0 E 0 23 6 7 45 58 45 43 55 54 45 51
|
||||
: 6 A1 25 85 3A B1 25 85 3B A5 25 18 69 2 85 25
|
||||
: 90 2 E6 26 4C 39 0 E 0 45 6 7 50 45 52 46
|
||||
: 4F 52 4D DE 1D DA 6 4F 6 14 6 F 0 69 6 2
|
||||
: 43 40 84 6 A1 25 85 42 B1 25 85 43 A9 0 91 25
|
||||
: A1 42 4C 24 0 F 0 7D 6 2 43 21 9E 6 A1 25
|
||||
: 85 42 B1 25 85 43 C8 B1 25 81 42 88 A5 25 18 69
|
||||
: 4 85 25 90 2 E6 26 4C 27 0 10 0 97 6 7 43
|
||||
: 54 4F 47 47 4C 45 DE 1D 34 8 82 6 6 9 43 7
|
||||
: 9C 6 14 6 10 0 BC 6 1 40 DC 6 A1 25 85 42
|
||||
: B1 25 85 43 B1 42 91 25 A1 42 4C 24 0 10 0 D6
|
||||
: 6 1 21 F5 6 A1 25 85 42 B1 25 85 43 C8 B1 25
|
||||
: 81 42 C8 B1 25 A0 1 91 42 4C AC 6 11 0 EF 6
|
||||
: 2 2B 21 15 7 A1 25 85 42 B1 25 85 43 C8 B1 25
|
||||
: 18 61 42 81 42 C8 B1 25 A0 1 71 42 4C 7 7 11
|
||||
: 0 E 7 4 44 52 4F 50 6D 5 12 0 31 7 4 53
|
||||
: 57 41 50 45 7 B1 25 AA A0 3 B1 25 85 42 8A 91
|
||||
: 25 A5 42 A0 1 91 25 C8 A2 0 B1 25 85 42 A1 25
|
||||
: 91 25 88 A5 42 4C 24 0 13 0 3C 7 3 44 55 50
|
||||
: 72 7 A5 25 38 E9 2 85 25 B0 2 C6 26 A0 3 B1
|
||||
: 25 A0 1 91 25 C8 B1 25 88 4C 24 0 13 0 6A 7
|
||||
: 4 3F 44 55 50 97 7 A1 25 11 25 D0 3 4C 27 0
|
||||
: 4C 72 7 14 0 8E 7 4 4F 56 45 52 AE 7 A5 25
|
||||
: 38 E9 2 85 25 B0 2 C6 26 A0 4 B1 25 81 25 C8
|
||||
: B1 25 A0 1 91 25 4C 27 0 15 0 A5 7 3 52 4F
|
||||
: 54 D3 7 A0 3 B1 25 85 43 A0 1 B1 25 A0 3 91
|
||||
: 25 A0 5 B1 25 85 42 A5 43 91 25 A0 1 A5 42 91
|
||||
: 25 C8 B1 25 85 43 A1 25 91 25 A0 4 B1 25 81 25
|
||||
: A5 43 91 25 A0 1 4C 27 0 16 0 CB 7 4 2D 52
|
||||
: 4F 54 DE 1D D1 7 D1 7 14 6 16 0 B 8 3 4E
|
||||
: 49 50 DE 1D 43 7 38 7 14 6 16 0 1C 8 5 55
|
||||
: 4E 44 45 52 DE 1D 43 7 AC 7 14 6 16 0 2C 8
|
||||
: 4 50 49 43 4B DE 1D DB 9 EE 10 B 5 AF 8 DA
|
||||
: 6 14 6 16 0 3E 8 4 52 4F 4C 4C DE 1D 70 7
|
||||
: A0 5 45 8 B 5 70 7 F9 9 BF 5 DB 9 EE 10
|
||||
: B5 12 38 7 14 6 17 0 55 8 5 32 53 57 41 50
|
||||
: DE 1D D1 7 A0 5 D1 7 BF 5 14 6 17 0 78 8
|
||||
: 5 32 44 52 4F 50 AC 6 17 0 8E 8 4 32 44 55
|
||||
: 50 DE 1D AC 7 AC 7 14 6 18 0 9A 8 1 2B B1
|
||||
: 8 18 C8 A1 25 71 25 91 25 88 B1 25 A0 3 71 25
|
||||
: 91 25 4C 69 5 18 0 AB 8 2 4F 52 CE 8 C8 A1
|
||||
: 25 11 25 91 25 88 B1 25 A0 3 11 25 91 25 4C 69
|
||||
: 5 18 0 C7 8 3 41 4E 44 EB 8 C8 A1 25 31 25
|
||||
: 91 25 88 B1 25 A0 3 31 25 91 25 4C 69 5 18 0
|
||||
: E3 8 3 58 4F 52 8 9 C8 A1 25 51 25 91 25 88
|
||||
: B1 25 A0 3 51 25 91 25 4C 69 5 19 0 0 9 1
|
||||
: 2D 23 9 C8 B1 25 38 E1 25 91 25 C8 B1 25 A0 1
|
||||
: F1 25 A0 3 91 25 4C 69 5 19 0 1D 9 3 4E 4F
|
||||
: 54 43 9 18 8A E1 25 81 25 8A F1 25 91 25 4C 27
|
||||
: 0 19 0 3B 9 6 4E 45 47 41 54 45 5E 9 38 B0
|
||||
: E3 1A 0 53 9 7 44 4E 45 47 41 54 45 6F 9 C8
|
||||
: 38 8A F1 25 91 25 C8 8A F1 25 91 25 8A E1 25 81
|
||||
: 25 A0 1 8A F1 25 91 25 4C 27 0 A AA A8 88 B1
|
||||
: 25 99 42 0 88 10 F8 8A 18 65 25 85 25 90 2 E6
|
||||
: 26 A2 0 A0 1 60 1B 0 63 9 2 44 2B AF 9 A9
|
||||
: 2 20 8B 9 C8 B1 25 18 65 44 91 25 C8 B1 25 65
|
||||
: 45 91 25 A1 25 65 42 81 25 A0 1 B1 25 65 43 91
|
||||
: 25 4C 27 0 1C 0 A8 9 2 31 2B DD 9 A9 1 18
|
||||
: 61 25 B0 3 4C 24 0 81 25 B1 25 69 0 91 25 4C
|
||||
: 27 0 1C 0 D6 9 2 32 2B FB 9 A9 2 D0 E0 1C
|
||||
: 0 F4 9 2 33 2B 8 A A9 3 D0 D3 E A A9 4
|
||||
: D0 CD 14 A A9 6 D0 C7 1D 0 1 A 2 31 2D 21
|
||||
: A 38 A1 25 E9 1 90 3 4C 24 0 81 25 B1 25 E9
|
||||
: 0 91 25 4C 27 0 1D 0 1A A 2 32 2D 3F A 18
|
||||
: 90 E0 1D 0 38 A 4 54 52 55 45 2B 1E FF FF 1D
|
||||
: 0 44 A 5 46 41 4C 53 45 2B 1E 0 0 1D 0 51
|
||||
: A 22 2D 31 4B A 1D 0 5F A 21 30 59 A 1D 0
|
||||
: 68 A 1 31 2B 1E 1 0 1D 0 70 A 1 32 2B 1E
|
||||
: 2 0 1D 0 7A A 1 33 2B 1E 3 0 1D 0 84 A
|
||||
: 1 34 2B 1E 4 0 1D 0 8E A 2 4F 4E DE 1D 4B
|
||||
: A 43 7 F3 6 14 6 1D 0 98 A 3 4F 46 46 DE
|
||||
: 1D 59 A 43 7 F3 6 14 6 1E 0 A9 A 84 43 4C
|
||||
: 49 54 C4 A A5 25 38 E9 2 85 25 B0 2 C6 26 A1
|
||||
: 2C 81 25 8A 91 25 E6 2C D0 2 E6 2D 4C 27 0 1E
|
||||
: 0 BB A 83 4C 49 54 E9 A A5 25 38 E9 2 85 25
|
||||
: B0 2 C6 26 B1 2C 91 25 A1 2C 81 25 A5 2C 18 69
|
||||
: 2 85 2C 90 2 E6 2D 4C 27 0 1E 0 E1 A C7 4C
|
||||
: 49 54 45 52 41 4C DE 1D 70 7 E7 A 0 FF E9 8
|
||||
: 3E E A 0 FA 13 E7 A CF 13 14 6 FA 13 C2 A
|
||||
: E2 13 14 6 1F 0 C B 2 30 3C 3D B B1 25 10
|
||||
: 3 A9 FF 24 8A 91 25 4C 24 0 1F 0 36 B 2 30
|
||||
: 3D 53 B A1 25 11 25 F0 E8 D0 E9 1F 0 4C B 7
|
||||
: 55 57 49 54 48 49 4E 69 B A9 2 20 8B 9 A0 1
|
||||
: A1 25 C5 42 B1 25 E5 43 B0 A A1 25 C5 44 B1 25
|
||||
: E5 45 B0 BD 4C 44 B 20 0 5D B 1 3C 8F B A1
|
||||
: 25 85 42 B1 25 85 43 A5 25 18 69 2 85 25 90 2
|
||||
: E6 26 A5 43 51 25 30 95 A1 25 C5 42 B1 25 E5 43
|
||||
: 4C 3F B 20 0 89 B 2 55 3C BC B A1 25 85 42
|
||||
: B1 25 85 43 A5 25 18 69 2 85 25 90 2 E6 26 A1
|
||||
: 25 C5 42 B1 25 E5 43 B0 3 4C 41 B 4C 44 B DE
|
||||
: 1D E7 A 0 80 E9 8 10 C 14 6 21 0 B5 B 1
|
||||
: 3E DE 1D 43 7 8D B 14 6 21 0 ED B 2 30 3E
|
||||
: DE 1D 5C 9 DF B 14 6 21 0 FB B 3 30 3C 3E
|
||||
: DE 1D 51 B 41 9 14 6 21 0 A C 2 55 3E DE
|
||||
: 1D 43 7 BA B 14 6 21 0 1A C 1 3D DE 1D 21
|
||||
: 9 51 B 14 6 21 0 29 C 3 44 30 3D DE 1D CC
|
||||
: 8 51 B 14 6 21 0 37 C 2 44 3D DE 1D 6D 9
|
||||
: AD 9 3D C 14 6 21 0 47 C 2 44 3C DE 1D D1
|
||||
: 7 A1 8 21 9 3E E C 0 F1 B 22 8 22 8 1C
|
||||
: E 6 0 96 8 BA B 14 6 DE 1D 9 6 3E E 4
|
||||
: 0 43 7 38 7 14 6 22 0 58 C 3 4D 49 4E DE
|
||||
: 1D A1 8 F1 B 79 C 22 0 89 C 3 4D 41 58 DE
|
||||
: 1D A1 8 8D B 79 C 22 0 99 C 4 55 4D 41 58
|
||||
: DE 1D A1 8 BA B 79 C 22 0 A9 C 4 55 4D 49
|
||||
: 4E DE 1D A1 8 1F C 79 C 22 0 BA C 6 45 58
|
||||
: 54 45 4E 44 DE 1D 70 7 DF B 14 6 22 0 CB C
|
||||
: 4 44 41 42 53 DE 1D D4 C 3E E 4 0 6D 9 14
|
||||
: 6 22 0 DE C 3 41 42 53 DE 1D D4 C 3E E 4
|
||||
: 0 5C 9 14 6 DE 1D 9 6 BF 5 F9 9 70 7 A0
|
||||
: 5 D1 7 A0 5 43 7 A0 5 A0 5 14 6 23 0 F3
|
||||
: C 83 28 44 4F DE 1D AC 7 21 9 5 D 23 0 1F
|
||||
: D 84 28 3F 44 4F DE 1D AC 7 21 9 95 7 3E E
|
||||
: 4 0 5 D BF 5 70 7 DA 6 AF 8 A0 5 38 7
|
||||
: 14 6 23 0 2F D 6 42 4F 55 4E 44 53 DE 1D AC
|
||||
: 7 AF 8 43 7 14 6 23 0 54 D 87 45 4E 44 4C
|
||||
: 4F 4F 50 75 D A9 6 4C D6 5 24 0 69 D 85 28
|
||||
: 4C 4F 4F 50 86 D 18 A9 1 61 20 81 20 90 B B1
|
||||
: 20 69 0 91 20 90 3 4C 27 0 A0 5 B1 20 85 2D
|
||||
: 88 B1 20 85 2C A0 1 4C 27 0 24 0 7C D 86 28
|
||||
: 2B 4C 4F 4F 50 B7 D 18 A1 25 61 20 81 20 B1 25
|
||||
: 71 20 91 20 6A 51 25 8 A5 25 18 69 2 85 25 90
|
||||
: 2 E6 26 28 10 C4 4C 27 0 25 0 AC D 81 49 E1
|
||||
: D A0 0 A5 25 38 E9 2 85 25 B0 2 C6 26 18 B1
|
||||
: 20 C8 C8 71 20 81 25 88 B1 20 C8 C8 71 20 A0 1
|
||||
: 91 25 4C 27 0 25 0 DB D 81 4A D E A0 6 D0
|
||||
: D2 26 0 7 E 86 42 52 41 4E 43 48 1E E 18 A5
|
||||
: 2C 61 2C 85 42 A5 2D 71 2C 85 2D A5 42 85 2C 4C
|
||||
: 27 0 26 0 13 E 87 3F 42 52 41 4E 43 48 40 E
|
||||
: A1 25 11 25 8 A5 25 18 69 2 85 25 90 2 E6 26
|
||||
: 28 F0 CB 4C FC A 27 0 34 E 5 3E 4D 41 52 4B
|
||||
: DE 1D 9B 13 59 A CF 13 14 6 27 0 58 E 8 3E
|
||||
: 52 45 53 4F 4C 56 45 DE 1D 9B 13 AC 7 21 9 43
|
||||
: 7 F3 6 14 6 27 0 6C E 5 3C 4D 41 52 4B DE
|
||||
: 1D 9B 13 14 6 27 0 87 E 8 3C 52 45 53 4F 4C
|
||||
: 56 45 DE 1D 9B 13 21 9 CF 13 14 6 27 0 97 E
|
||||
: 6 3F 50 41 49 52 53 DE 1D 21 9 3A 26 C 55 4E
|
||||
: 53 54 52 55 43 54 55 52 45 44 14 6 C9 0 10 6
|
||||
: 48 A9 FF 4C D9 E 48 A9 0 AA A5 25 38 E9 2 85
|
||||
: 25 B0 2 C6 26 8A A0 1 91 25 68 A2 0 4C 24 0
|
||||
: 28 0 AE E 5 43 41 53 45 3F FC E A9 1 20 8B
|
||||
: 9 A5 42 C1 25 D0 9 A5 43 D1 25 D0 3 4C 41 B
|
||||
: 8A 4C D6 E 29 0 F2 E C2 49 46 DE 1D FA 13 3E
|
||||
: E 60 E 74 A 14 6 29 0 16 F C4 54 48 45 4E
|
||||
: DE 1D F9 C 74 A B7 E 77 E 14 6 29 0 29 F
|
||||
: C4 45 4C 53 45 DE 1D 74 A B7 E FA 13 1C E 60
|
||||
: E 43 7 77 E 4B A 14 6 29 0 3E F C5 42 45
|
||||
: 47 49 4E DE 1D 8F E 7E A 14 6 29 0 5B F C5
|
||||
: 57 48 49 4C 45 DE 1D 7E A B7 E 7E A FA 13 3E
|
||||
: E 60 E E7 A FE FF 80 8 14 6 DE 1D A2 E 70
|
||||
: 7 E7 A FE FF 2D C 3E E A 0 38 7 77 E 1C
|
||||
: E EE FF 14 6 29 0 6D F C6 52 45 50 45 41 54
|
||||
: DE 1D 7E A B7 E FA 13 1C E 8B F 14 6 29 0
|
||||
: A7 F C5 55 4E 54 49 4C DE 1D 7E A B7 E FA 13
|
||||
: 3E E 8B F 14 6 2A 0 C0 F C2 44 4F DE 1D FA
|
||||
: 13 25 D 60 E 88 A 14 6 2A 0 D8 F C3 3F 44
|
||||
: 4F DE 1D FA 13 36 D 60 E 88 A 14 6 0 2A 0
|
||||
: EB F C4 4C 4F 4F 50 DE 1D 88 A B7 E FA 13 84
|
||||
: D FA 13 73 D 77 E 14 6 2A 0 0 10 C5 2B 4C
|
||||
: 4F 4F 50 DE 1D 88 A B7 E FA 13 B5 D FA 13 73
|
||||
: D 77 E 14 6 2A 0 1B 10 85 4C 45 41 56 45 DE
|
||||
: 1D 73 D BF 5 3D A 70 7 DA 6 AF 8 A0 5 14
|
||||
: 6 2B 0 37 10 3 55 4D 2A 5B 10 B1 25 85 42 A1
|
||||
: 25 85 43 C8 86 44 86 45 A2 10 6 45 26 44 26 43
|
||||
: 26 42 90 17 18 B1 25 65 45 85 45 C8 B1 25 88 65
|
||||
: 44 85 44 90 6 E6 43 D0 2 E6 42 CA D0 DC A5 45
|
||||
: 91 25 C8 A5 44 91 25 A0 1 A5 42 91 25 A5 43 81
|
||||
: 25 4C 27 0 2C 0 53 10 2 4D 2A DE 1D 70 7 DF
|
||||
: B 70 7 A0 5 3E E 4 0 5C 9 43 7 70 7 DF
|
||||
: B 3E E A 0 5C 9 BF 5 41 9 A0 5 59 10 BF
|
||||
: 5 3E E 4 0 6D 9 14 6 2C 0 A6 10 1 2A DE
|
||||
: 1D 59 10 38 7 14 6 2C 0 DB 10 2 32 2A F0 10
|
||||
: A1 25 A 81 25 B1 25 2A 91 25 4C 27 0 DE 1D 70
|
||||
: 7 AF 8 14 6 DE 1D 4B A 3A 26 11 44 49 56 49
|
||||
: 53 49 4F 4E 20 4F 56 45 52 46 4C 4F 57 14 6 2D
|
||||
: 0 E9 10 6 55 4D 2F 4D 4F 44 2C 11 A1 25 85 47
|
||||
: B1 25 85 46 A5 25 18 69 2 85 25 90 2 E6 26 A1
|
||||
: 25 85 43 B1 25 85 42 C8 B1 25 85 45 C8 B1 25 85
|
||||
: 44 A2 11 18 66 48 38 A5 43 E5 47 A8 A5 42 E5 46
|
||||
: B0 2 26 48 90 4 85 42 84 43 26 45 26 44 26 43
|
||||
: 26 42 CA D0 DF A0 1 66 42 66 43 90 7 20 56 4
|
||||
: 5 11 14 6 A5 44 91 25 C8 A5 43 91 25 C8 A5 42
|
||||
: 91 25 A0 1 A5 45 4C 24 0 2F 0 21 11 5 4D 2F
|
||||
: 4D 4F 44 DE 1D 70 7 A0 5 F9 C AC 7 DF B 3E
|
||||
: E 8 0 34 8 AF 8 43 7 2A 11 E9 5 DF B 3E
|
||||
: E 14 0 5C 9 AC 7 3E E C 0 43 7 E9 5 AF
|
||||
: 8 43 7 1F A 9 6 14 6 2F 0 9B 11 2 32 2F
|
||||
: E2 11 B1 25 A B1 25 6A 91 25 A1 25 6A 4C 24 0
|
||||
: 30 0 DB 11 4 2F 4D 4F 44 DE 1D A0 5 D4 C BF
|
||||
: 5 A3 11 14 6 30 0 F2 11 1 2F DE 1D F9 11 22
|
||||
: 8 14 6 30 0 7 12 3 4D 4F 44 DE 1D F9 11 38
|
||||
: 7 14 6 30 0 15 12 5 2A 2F 4D 4F 44 DE 1D A0
|
||||
: 5 AB 10 BF 5 A3 11 14 6 30 0 25 12 2 2A 2F
|
||||
: DE 1D 2D 12 22 8 14 6 30 0 3B 12 5 55 2F 4D
|
||||
: 4F 44 DE 1D 59 A 43 7 2A 11 14 6 30 0 4A 12
|
||||
: 6 55 44 2F 4D 4F 44 DE 1D A0 5 59 A E9 5 2A
|
||||
: 11 BF 5 43 7 A0 5 2A 11 BF 5 14 6 31 0 5E
|
||||
: 12 5 43 4D 4F 56 45 89 12 A9 3 20 8B 9 88 C4
|
||||
: 42 D0 9 C6 43 10 5 A0 1 4C 27 0 B1 46 91 44
|
||||
: C8 D0 EC E6 47 E6 45 4C 8F 12 32 0 7F 12 6 43
|
||||
: 4D 4F 56 45 3E B7 12 A9 3 20 8B 9 18 A5 43 65
|
||||
: 45 85 45 18 A5 43 65 47 85 47 E6 43 A4 42 18 90
|
||||
: 5 88 B1 46 91 44 98 D0 F8 C6 45 C6 47 C6 43 D0
|
||||
: F0 A0 1 4C 27 0 32 0 AC 12 4 4D 4F 56 45 DE
|
||||
: 1D A0 5 A1 8 BA B 3E E 8 0 BF 5 B5 12 14
|
||||
: 6 BF 5 87 12 14 6 33 0 E8 12 5 50 4C 41 43
|
||||
: 45 DE 1D AC 7 A0 5 D1 7 AC 7 DB 9 BF 5 EF
|
||||
: 12 9C 6 14 6 33 0 9 13 5 43 4F 55 4E 54 31
|
||||
: 13 A1 25 85 42 18 69 1 81 25 B1 25 85 43 69 0
|
||||
: 91 25 A5 25 38 E9 2 85 25 B0 2 C6 26 4C 8C 6
|
||||
: 33 0 27 13 5 45 52 41 53 45 DE 1D 59 A 6B 13
|
||||
: 14 6 34 0 52 13 4 46 49 4C 4C 6D 13 A9 3 20
|
||||
: 8B 9 88 A5 42 A6 45 F0 A 91 46 C8 D0 FB E6 47
|
||||
: CA D0 F6 A6 44 F0 6 91 46 C8 CA D0 FA A0 1 4C
|
||||
: 27 0 35 0 64 13 4 48 45 52 45 DE 1D 9C 4 DA
|
||||
: 6 14 6 35 0 94 13 3 50 41 44 DE 1D 9B 13 E7
|
||||
: A 42 0 AF 8 14 6 35 0 A5 13 5 41 4C 4C 4F
|
||||
: 54 DE 1D 9C 4 13 7 14 6 35 0 B9 13 1 2C DE
|
||||
: 1D 9B 13 F3 6 7E A C1 13 14 6 35 0 CB 13 2
|
||||
: 43 2C DE 1D 9B 13 9C 6 74 A C1 13 14 6 35 0
|
||||
: DD 13 87 43 4F 4D 50 49 4C 45 DE 1D BF 5 70 7
|
||||
: F9 9 A0 5 DA 6 CF 13 14 6 36 0 F0 13 4 23
|
||||
: 54 49 42 A9 1C 0 0 36 0 C 14 4 3E 54 49 42
|
||||
: A9 1C 0 1 36 0 19 14 3 3E 49 4E A9 1C 0 0
|
||||
: 36 0 26 14 3 42 4C 4B A9 1C 0 0 36 0 32 14
|
||||
: 4 53 50 41 4E A9 1C 0 0 36 0 3E 14 3 54 49
|
||||
: 42 DE 1D 20 14 DA 6 14 6 36 0 4B 14 5 51 55
|
||||
: 45 52 59 DE 1D 51 14 E7 A 50 0 13 32 45 14 DA
|
||||
: 6 13 14 F3 6 2C 14 AF A 38 14 AF A 14 6 37
|
||||
: 0 5B 14 4 53 43 41 4E DE 1D A0 5 70 7 3E E
|
||||
: 1A 0 AC 7 82 6 E9 5 21 9 3E E E 0 1F A
|
||||
: 43 7 DB 9 43 7 1C E E4 FF 9 6 14 6 37 0
|
||||
: 81 14 4 53 4B 49 50 DE 1D A0 5 70 7 3E E 1A
|
||||
: 0 AC 7 82 6 E9 5 2D C 3E E E 0 1F A 43
|
||||
: 7 DB 9 43 7 1C E E4 FF 9 6 14 6 37 0 B0
|
||||
: 14 7 2F 53 54 52 49 4E 47 DE 1D AC 7 C1 C D1
|
||||
: 7 AC 7 AF 8 12 8 21 9 14 6 C9 61 90 7 C9
|
||||
: 7B B0 3 38 E9 20 60 38 0 DF 14 7 43 41 50 49
|
||||
: 54 41 4C 15 15 A1 25 20 FB 14 81 25 4C 27 0 39
|
||||
: 0 9 15 A 43 41 50 49 54 41 4C 49 5A 45 30 15
|
||||
: A1 25 85 42 B1 25 85 43 A1 42 85 44 88 C4 44 D0
|
||||
: 5 A0 1 4C 27 0 C8 B1 42 20 FB 14 91 42 4C 3D
|
||||
: 15 53 15 86 48 A0 3 B1 25 99 42 0 88 10 F8 A0
|
||||
: 1 18 AD 2E 14 65 44 85 44 AD 2F 14 65 45 85 45
|
||||
: 38 A5 42 ED 2E 14 85 42 A5 43 ED 2F 14 85 43 B0
|
||||
: D A1 25 8D 2E 14 B1 25 8D 2F 14 4C E5 15 A0 4
|
||||
: A5 42 5 43 F0 3D A1 44 D1 25 D0 11 E6 44 D0 2
|
||||
: E6 45 A5 42 D0 2 C6 43 C6 42 4C 90 15 A5 44 85
|
||||
: 46 A5 45 85 47 A1 44 D1 25 8 E6 44 D0 2 E6 45
|
||||
: A5 42 D0 2 C6 43 C6 42 28 F0 8 E6 48 A5 42 5
|
||||
: 43 D0 E2 38 A0 2 A5 44 F1 25 8D 2E 14 C8 A5 45
|
||||
: F1 25 8D 2F 14 18 A9 4 65 25 85 25 90 2 E6 26
|
||||
: A0 C B1 22 81 25 85 42 C8 B1 22 A0 1 91 25 85
|
||||
: 43 88 A5 48 91 42 B1 46 C8 C6 48 10 F7 A9 20 91
|
||||
: 42 A0 1 4C 27 0 3D 0 21 15 6 53 4F 55 52 43
|
||||
: 45 DE 1D 38 14 DA 6 95 7 3E E 8 0 8 2C C0
|
||||
: 35 14 6 51 14 13 14 DA 6 14 6 3D 0 18 16 4
|
||||
: 57 4F 52 44 DE 1D 21 16 51 15 14 6 3D 0 3D 16
|
||||
: 5 50 41 52 53 45 DE 1D A0 5 21 16 2C 14 DA 6
|
||||
: E9 14 AC 7 43 7 BF 5 88 14 A0 5 AC 7 21 9
|
||||
: 70 7 BF 5 10 C 21 9 2C 14 13 7 14 6 3D 0
|
||||
: 4E 16 4 4E 41 4D 45 DE 1D 99 26 44 16 2E 15 14
|
||||
: 6 14 6 3E 0 80 16 5 53 54 41 54 45 A9 1C 0
|
||||
: 0 3E 0 95 16 45 41 53 43 49 49 DE 1D 99 26 44
|
||||
: 16 DB 9 82 6 9D 16 DA 6 3E E 4 0 16 B 14
|
||||
: 6 3E 0 A3 16 2 2C 22 DE 1D E7 A 22 0 56 16
|
||||
: 9B 13 AC 7 DB 9 C1 13 11 13 14 6 3E 0 C3 16
|
||||
: 84 22 4C 49 54 DE 1D BF 5 BF 5 34 8 2F 13 AF
|
||||
: 8 A0 5 A0 5 14 6 3E 0 DE 16 82 28 22 DE 1D
|
||||
: E5 16 14 6 3E 0 F9 16 C1 22 DE 1D FA 13 FE 16
|
||||
: C8 16 14 6 3F 0 6 17 83 28 2E 22 DE 1D E5 16
|
||||
: 2F 13 5D 31 14 6 3F 0 16 17 C2 2E 22 DE 1D FA
|
||||
: 13 1C 17 C8 16 14 6 3F 0 28 17 41 28 DE 1D E7
|
||||
: A 29 0 56 16 96 8 14 6 3F 0 39 17 42 2E 28
|
||||
: DE 1D E7 A 29 0 56 16 5D 31 14 6 3F 0 4B 17
|
||||
: 41 5C DE 1D 2C 14 DA 6 63 28 B 12 DB 9 63 28
|
||||
: DF 10 2C 14 F3 6 14 6 3F 0 5E 17 42 5C 5C DE
|
||||
: 1D C0 35 2C 14 F3 6 14 6 3F 0 7A 17 6 5C 4E
|
||||
: 45 45 44 53 DE 1D 87 16 65 21 22 8 3E E 4 0
|
||||
: 62 17 14 6 3F 0 8B 17 3 48 45 58 DE 1D E7 A
|
||||
: 10 0 B6 4 F3 6 14 6 3F 0 A6 17 7 44 45 43
|
||||
: 49 4D 41 4C DE 1D E7 A A 0 B6 4 F3 6 14 6
|
||||
: 40 0 BA 17 6 44 49 47 49 54 3F DE 1D E7 A 30
|
||||
: 0 21 9 70 7 E7 A 9 0 1F C 3E E 14 0 E7
|
||||
: A 7 0 21 9 70 7 E7 A 9 0 1F C 3E E E
|
||||
: 0 B6 4 DA 6 AC 7 1F C 95 7 2B 6 38 7 59
|
||||
: A 14 6 40 0 D2 17 A 41 43 43 55 4D 55 4C 41
|
||||
: 54 45 DE 1D 43 7 A0 5 43 7 B6 4 DA 6 59 10
|
||||
: 38 7 D1 7 B6 4 DA 6 59 10 AD 9 BF 5 14 6
|
||||
: 40 0 15 18 7 43 4F 4E 56 45 52 54 DE 1D DB 9
|
||||
: 2F 13 DB 17 3E E 8 0 22 18 1C E F4 FF 1F A
|
||||
: 14 6 DE 1D 3A 19 DA 6 51 B 14 6 DE 1D 2F 13
|
||||
: 4B A 3A 19 13 7 14 6 DE 1D 1F A 2F 13 14 6
|
||||
: 41 0 42 18 3 44 50 4C A9 1C FF FF DE 1D 3E E
|
||||
: C 0 9 6 96 8 38 7 9 6 59 A 14 6 DE 1D
|
||||
: 3E E 20 0 9 6 38 7 BF 5 3E E 4 0 6D 9
|
||||
: D1 7 38 7 88 18 DA 6 DB 9 95 7 2B 6 38 7
|
||||
: 4B A 14 6 DE 1D E7 A 26 0 FA E 3E E A 0
|
||||
: E7 A A 0 4B A 14 6 E7 A 24 0 FA E 3E E
|
||||
: A 0 E7 A 10 0 4B A 14 6 E7 A 48 0 FA E
|
||||
: 3E E A 0 E7 A 10 0 4B A 14 6 E7 A 25 0
|
||||
: FA E 3E E 8 0 7E A 4B A 14 6 59 A 14 6
|
||||
: DE 1D E7 A 2C 0 AC 7 2D C 43 7 E7 A 2E 0
|
||||
: 2D C CC 8 14 6 DE 1D 88 18 DA 6 4B A 2D C
|
||||
: 2B 6 74 A 88 18 13 7 14 6 A9 1C 0 0 43 0
|
||||
: 82 18 7 4E 55 4D 42 45 52 3F DE 1D B6 4 66 24
|
||||
: 70 7 2F 13 3A 19 F3 6 88 18 9D A 59 A A0 5
|
||||
: E7 A 0 0 E7 A 0 0 D1 7 62 18 8C 18 6C 18
|
||||
: E7 A 2D 0 FA E 3E E E 0 9 6 4B A A0 5
|
||||
: 62 18 8C 18 6C 18 C4 18 3E E C 0 B6 4 F3 6
|
||||
: 62 18 8C 18 6C 18 DB 17 51 B 8C 18 22 18 26 19
|
||||
: 62 18 9E 18 6C 18 DB 17 51 B 3E E F0 FF 78 18
|
||||
: 10 19 51 B 8C 18 88 18 AF A 62 18 9E 18 6C 18
|
||||
: 1C E D4 FF 14 6 43 0 40 19 6 4E 55 4D 42 45
|
||||
: 52 DE 1D 4A 19 95 7 51 B 3A 26 1 3F DF B 3E
|
||||
: E 4 0 D4 C 14 6 44 0 C8 19 4 4C 41 53 54
|
||||
: A9 1C 0 0 DE 1D F0 19 DA 6 95 7 14 6 44 0
|
||||
: E9 19 4 48 49 44 45 DE 1D F4 19 3E E C 0 3D
|
||||
: A DA 6 23 1F DA 6 F3 6 14 6 44 0 0 1A 6
|
||||
: 52 45 56 45 41 4C DE 1D F4 19 3E E A 0 3D A
|
||||
: 23 1F DA 6 F3 6 14 6 44 0 1D 1A C9 52 45 43
|
||||
: 55 52 53 49 56 45 DE 1D 26 1A 14 6 DE 1D F4 19
|
||||
: 3E E C 0 34 8 82 6 CC 8 AC 7 9C 6 38 7
|
||||
: 14 6 44 0 3A 1A 9 49 4D 4D 45 44 49 41 54 45
|
||||
: DE 1D E7 A 40 0 4C 1A 14 6 44 0 64 1A 8 52
|
||||
: 45 53 54 52 49 43 54 DE 1D E7 A 80 0 4C 1A 14
|
||||
: 6 45 0 7C 1A A 43 4C 45 41 52 53 54 41 43 4B
|
||||
: A2 1A A0 8 B1 22 85 25 C8 B1 22 85 26 A0 1 4C
|
||||
: 27 0 45 0 93 1A 6 48 41 4C 4C 4F 54 DE 1D 88
|
||||
: 4 DA 6 AC 7 21 9 43 7 B 5 F9 9 70 7 D1
|
||||
: 7 21 9 70 7 88 4 F3 6 7E A 45 8 AC 7 21
|
||||
: 9 EF 12 A0 1A 88 4 F3 6 14 6 45 0 B4 1A 4
|
||||
: 48 45 41 50 DE 1D 88 4 DA 6 12 A 14 6 45 0
|
||||
: ED 1A 5 48 45 41 50 3F DE 1D F4 1A 4D 5 67 B
|
||||
: 14 6 DE 1D 70 7 9B 13 AC 7 21 9 70 7 BD 1A
|
||||
: F4 1A 43 7 87 12 F4 1A AC 7 21 9 F0 19 13 7
|
||||
: 26 1A 14 6 A5 20 38 E9 2 85 20 B0 2 C6 21 A5
|
||||
: 2D 91 20 A5 2C 81 20 18 A1 3A 69 3 85 2C 8A 71
|
||||
: 3A 85 2D A9 2 18 65 3A 48 8A 65 3B 4C D9 E DE
|
||||
: 1D BF 5 F0 19 DA 6 66 1D F3 6 14 6 46 0 0
|
||||
: 1B C5 44 4F 45 53 3E DE 1D FA 13 5F 1B E7 A 4C
|
||||
: 0 E2 13 FA 13 34 1B 14 6 DE 1D 70 7 E7 A FF
|
||||
: 0 E9 8 E7 A FF 0 2D C 21 9 14 6 DE 1D 9B
|
||||
: 13 E7 A FF 0 E9 8 E7 A FF 0 2D C 3E E 1C
|
||||
: 0 70 7 70 7 DB 9 9B 13 AC 7 21 9 DB 9 B5
|
||||
: 12 74 A F0 19 13 7 74 A C1 13 14 6 47 0 6F
|
||||
: 1B 5 3F 48 45 41 44 A9 1C 0 0 47 0 CF 1B 1
|
||||
: 7C DE 1D D7 1B DA 6 2B 6 4B A D7 1B F3 6 14
|
||||
: 6 48 0 DD 1B 7 57 41 52 4E 49 4E 47 A9 1C 0
|
||||
: 0 DE 1D FD 1B DA 6 2B 6 F0 19 DA 6 23 1F DA
|
||||
: 6 A9 20 22 8 3E E 16 0 EB 26 F0 19 DA 6 98
|
||||
: 1D 1C 17 7 45 58 49 53 54 53 20 F0 30 14 6 48
|
||||
: 0 F3 1B 6 43 52 45 41 54 45 DE 1D 9B 13 38 14
|
||||
: DA 6 CF 13 23 1F DA 6 DA 6 CF 13 87 16 82 6
|
||||
: 70 7 74 A E7 A 20 0 67 B 41 9 3A 26 C 49
|
||||
: 4E 56 41 4C 49 44 20 4E 41 4D 45 9B 13 F0 19 F3
|
||||
: 6 DB 9 C1 13 1 1C D7 1B DA 6 3E E 20 0 74
|
||||
: A D7 1B 13 7 70 7 89 1B CF 13 12 1B E7 A 20
|
||||
: 0 4C 1A 89 1B 9C 4 F3 6 1C E 6 0 9D 1B 38
|
||||
: 7 26 1A 59 A CF 13 5F 1B 4C 53 1B AE 1C A1 25
|
||||
: 85 46 B1 25 85 47 A5 25 18 69 2 85 25 90 2 E6
|
||||
: 26 A1 25 85 44 B1 25 85 45 5 44 D0 3 4C 44 B
|
||||
: B1 44 91 25 85 43 A1 44 81 25 85 42 5 43 D0 3
|
||||
: 4C 27 0 A5 42 18 69 2 85 42 90 2 E6 43 A1 42
|
||||
: 48 38 29 1F 65 42 85 42 90 2 E6 43 68 29 20 F0
|
||||
: A B1 42 48 A1 42 85 42 68 85 43 A5 42 C5 46 D0
|
||||
: B0 A5 43 C5 47 D0 AA 4C FB 9 4A 0 31 1C 5 3E
|
||||
: 4E 41 4D 45 DE 1D F5 4 DA 6 70 7 3E E 1C 0
|
||||
: A1 8 92 A 21 9 43 7 AC 1C 95 7 3E E 8 0
|
||||
: 12 8 96 8 14 6 1C E E0 FF 22 8 14 6 DE 1D
|
||||
: 2F 13 E7 A 1F 0 E9 8 AF 8 14 6 4A 0 1C 1D
|
||||
: 5 4E 41 4D 45 3E DE 1D 70 7 4E 1D 43 7 82 6
|
||||
: E7 A 20 0 E9 8 3E E 4 0 DA 6 14 6 4A 0
|
||||
: 5E 1D 5 3E 42 4F 44 59 DE 1D F9 9 14 6 4A 0
|
||||
: 80 1D 5 2E 4E 41 4D 45 DE 1D 95 7 3E E 1C 0
|
||||
: 70 7 8 1B 3E E 6 0 1C 17 1 7C 2F 13 E7 A
|
||||
: 1F 0 E9 8 5D 31 1C E 8 0 1C 17 3 3F 3F 3F
|
||||
: EB 26 14 6 4B 0 90 1D 1 3A DE 1D 3A 1C 7 1A
|
||||
: 23 1F DA 6 33 1F F3 6 FE 22 59 A 5F 1B A5 20
|
||||
: 38 E9 2 85 20 B0 2 C6 21 A5 2C 81 20 A5 2D 91
|
||||
: 20 A5 3A 18 69 2 85 2C 8A 65 3B 85 2D 4C 27 0
|
||||
: 4B 0 C6 1D C1 3B DE 1D 59 A B7 E FA 13 14 6
|
||||
: E8 22 26 1A 14 6 4B 0 2 1E 8 43 4F 4E 53 54
|
||||
: 41 4E 54 DE 1D 3A 1C CF 13 5F 1B A5 25 38 E9 2
|
||||
: 85 25 B0 2 C6 26 A0 2 B1 3A 81 25 C8 B1 3A A0
|
||||
: 1 91 25 4C 27 0 4B 0 18 1E 8 56 41 52 49 41
|
||||
: 42 4C 45 DE 1D 3A 1C 7E A C1 13 14 6 4C 0 48
|
||||
: 1E 6 55 41 4C 4C 4F 54 DE 1D 70 7 0 5 DA 6
|
||||
: AF 8 E7 A FF 0 1F C 3A 26 D 55 53 45 52 41
|
||||
: 52 45 41 20 46 55 4C 4C 0 5 DA 6 43 7 0 5
|
||||
: 13 7 14 6 4C 0 5F 1E 4 55 53 45 52 DE 1D 3A
|
||||
: 1C 7E A 68 1E E2 13 5F 1B A5 25 38 E9 2 85 25
|
||||
: B0 2 C6 26 A0 2 B1 3A 18 65 22 81 25 8A C8 65
|
||||
: 23 A0 1 91 25 4C 27 0 4C 0 96 1E 5 41 4C 49
|
||||
: 41 53 DE 1D 3A 1C F0 19 DA 6 70 7 82 6 E7 A
|
||||
: 20 0 E9 8 3E E C 0 E7 A FE FF C1 13 1C E
|
||||
: 8 0 E7 A 20 0 4C 1A 4E 1D F3 6 14 6 4D 0
|
||||
: CA 1E 2 56 50 A9 1C 0 0 0 0 0 0 0 0 0
|
||||
: 0 0 0 0 0 0 0 4D 0 0 1F 7 43 55 52 52
|
||||
: 45 4E 54 A9 1C 0 0 4D 0 19 1F 7 43 4F 4E 54
|
||||
: 45 58 54 DE 1D 5 1F 70 7 DA 6 AF 8 F9 9 14
|
||||
: 6 DE 1D 5 1F F9 9 33 1F 14 6 4D 0 29 1F 4
|
||||
: 41 4C 53 4F DE 1D 5 1F DA 6 E7 A A 0 F1 B
|
||||
: 54 26 15 56 4F 43 41 42 55 4C 41 52 59 20 53 54
|
||||
: 41 43 4B 20 46 55 4C 4C 33 1F DA 6 7E A 5 1F
|
||||
: 13 7 33 1F F3 6 14 6 4D 0 4D 1F 4 54 4F 53
|
||||
: 53 DE 1D E7 A FE FF 5 1F 13 7 14 6 4E 0 8A
|
||||
: 1F A 56 4F 43 41 42 55 4C 41 52 59 DE 1D 3A 1C
|
||||
: 59 A CF 13 59 A CF 13 9B 13 F5 4 DA 6 CF 13
|
||||
: F5 4 F3 6 5F 1B 4C 34 1B 33 1F F3 6 14 6 4E
|
||||
: 0 9F 1F 5 46 4F 52 54 48 C6 1F 0 0 CE 36 0
|
||||
: 0 4E 0 D1 1F 4 4F 4E 4C 59 F4 1F 0 0 5D 32
|
||||
: DF 1F 5F 1B 4C 34 1B 59 A 5 1F F3 6 33 1F F3
|
||||
: 6 54 1F 14 6 4E 0 E3 1F 9 4F 4E 4C 59 46 4F
|
||||
: 52 54 48 DE 1D EA 1F D9 1F 54 1F 2F 20 14 6 4F
|
||||
: 0 7 20 B 44 45 46 49 4E 49 54 49 4F 4E 53 DE
|
||||
: 1D 33 1F DA 6 23 1F F3 6 14 6 DE 1D DA 6 3D
|
||||
: A 24 1D 98 1D 14 6 4F 0 21 20 5 4F 52 44 45
|
||||
: 52 DE 1D 41 1F 25 D E 0 DF D 3B 20 E7 A FE
|
||||
: FF B5 D 73 D 7E A FE 26 23 1F 3B 20 14 6 4F
|
||||
: 0 49 20 5 57 4F 52 44 53 DE 1D 33 1F DA 6 DA
|
||||
: 6 70 7 D8 30 51 B E9 8 3E E 10 0 F0 30 70
|
||||
: 7 F9 9 98 1D EB 26 1C E E6 FF 38 7 14 6 50
|
||||
: 0 71 20 5 28 46 49 4E 44 AB 20 A0 3 B1 25 99
|
||||
: 42 0 88 10 F8 A1 44 29 1F 85 46 A0 0 B1 42 AA
|
||||
: C8 B1 42 85 43 86 42 5 42 D0 7 A0 1 A2 0 4C
|
||||
: 44 B C8 B1 42 29 1F C5 46 D0 E0 18 A9 2 65 42
|
||||
: 85 47 A9 0 65 43 85 48 A4 46 B1 44 D1 47 D0 CB
|
||||
: 88 D0 F7 A0 3 A5 48 91 25 88 A5 47 91 25 88 A2
|
||||
: 0 4C 41 B 6 21 A1 25 85 42 B1 25 85 43 A1 42
|
||||
: 85 44 29 1F 38 65 42 85 42 90 2 E6 43 A5 44 29
|
||||
: 20 D0 9 A5 42 81 25 A5 43 4C 32 21 A1 42 81 25
|
||||
: B1 42 91 25 A5 25 38 E9 2 85 25 B0 2 C6 26 A5
|
||||
: 44 10 1 C8 A 30 5 98 49 FF A8 C8 98 81 25 10
|
||||
: 3 A9 FF 24 8A A0 1 91 25 4C 27 0 54 0 A1 20
|
||||
: 4 46 49 4E 44 DE 1D 33 1F 70 7 DA 6 AC 7 3D
|
||||
: A DA 6 2D C 3E E 4 0 3D A 34 8 DA 6 A9
|
||||
: 20 3E E 8 0 22 8 4 21 14 6 AC 7 5 1F F9
|
||||
: 9 1F C 3E E A 0 43 7 3D A 1C E DE FF 22
|
||||
: 8 59 A 14 6 54 0 5E 21 1 27 DE 1D 87 16 65
|
||||
: 21 51 B 3A 26 5 57 48 41 54 3F 14 6 54 0 A7
|
||||
: 21 C9 5B 43 4F 4D 50 49 4C 45 5D DE 1D AB 21 CF
|
||||
: 13 14 6 54 0 BF 21 C3 5B 27 5D DE 1D AB 21 16
|
||||
: B 14 6 54 0 D5 21 B 4E 55 4C 4C 53 54 52 49
|
||||
: 4E 47 3F DE 1D 70 7 82 6 51 B 70 7 3E E 4
|
||||
: 0 22 8 14 6 C8 18 B1 3A 69 2 85 2C C8 B1 3A
|
||||
: 69 0 85 2D A0 1 4C 27 0 55 0 E5 21 A 3E 49
|
||||
: 4E 54 45 52 50 52 45 54 5 22 6D 22 56 0 1B 22
|
||||
: 8 4E 4F 54 46 4F 55 4E 44 32 23 4F 22 56 0 2E
|
||||
: 22 D 4E 4F 2E 45 58 54 45 4E 53 49 4F 4E 53 DE
|
||||
: 1D 54 26 5 57 48 41 54 3F 14 6 56 0 3F 22 9
|
||||
: 49 4E 54 45 52 50 52 45 54 DE 1D 28 22 DE 1D 3
|
||||
: 24 87 16 65 21 95 7 3E E 1D 0 74 A E9 8 3E
|
||||
: E 6 0 4F 6 28 22 3A 26 C 43 4F 4D 50 49 4C
|
||||
: 45 20 4F 4E 4C 59 F3 21 2B 6 4A 19 51 B 3E E
|
||||
: 4 0 39 22 28 22 DE 1D 3 24 87 16 65 21 95 7
|
||||
: 3E E 10 0 0 C 3E E 6 0 4F 6 28 22 CF 13
|
||||
: 28 22 F3 21 2B 6 4A 19 95 7 3E E 12 0 0 C
|
||||
: 3E E 6 0 43 7 16 B 16 B 1C E 4 0 39 22
|
||||
: 28 22 57 0 5D 22 41 5B DE 1D E7 A 6D 22 4C 23
|
||||
: 2A 22 9D 16 AF A 14 6 57 0 E4 22 1 5D DE 1D
|
||||
: E7 A A6 22 4C 23 2A 22 9D 16 9D A 14 6 DE 1D
|
||||
: 4B A 3A 26 5 43 52 41 53 48 14 6 58 0 FA 22
|
||||
: 5 44 45 46 45 52 DE 1D 3A 1C E7 A E 23 CF 13
|
||||
: 5F 1B A0 2 B1 3A 48 C8 B1 3A 85 3B 68 85 3A A0
|
||||
: 1 4C 39 0 58 0 1E 23 3 28 49 53 DE 1D BF 5
|
||||
: 70 7 F9 9 A0 5 DA 6 F3 6 14 6 DE 1D DA 6
|
||||
: E7 A 39 22 DA 6 AC 7 2D C 43 7 E7 A 28 22
|
||||
: DA 6 2D C CC 8 41 9 3A 26 C 4E 4F 54 20 44
|
||||
: 45 46 45 52 52 45 44 14 6 58 0 46 23 42 49 53
|
||||
: DE 1D AB 21 70 7 5C 23 88 1D 9D 16 DA 6 3E E
|
||||
: A 0 FA 13 4C 23 CF 13 14 6 F3 6 14 6 DE 1D
|
||||
: 31 25 E7 A 20 0 F1 B 3A 26 B 54 49 47 48 54
|
||||
: 20 53 54 41 43 4B 26 1A F4 19 3E E 16 0 70 7
|
||||
: 8 1B 3E E 8 0 66 1D 1C E 6 0 92 A 21 9
|
||||
: FA 2F 4B A 3A 26 F 44 49 43 54 49 4F 4E 41 52
|
||||
: 59 20 46 55 4C 4C 14 6 59 0 8B 23 6 3F 53 54
|
||||
: 41 43 4B 5 24 A0 C 38 A5 25 F1 22 85 42 C8 A5
|
||||
: 26 F1 22 D0 9 A0 1 20 56 4 AE 23 14 6 A0 8
|
||||
: B1 22 C5 25 C8 B1 22 E5 26 A0 1 90 3 4C 27 0
|
||||
: 20 56 4 4B A 3A 26 B 53 54 41 43 4B 20 45 4D
|
||||
: 50 54 59 5A 0 FA 23 7 2E 53 54 41 54 55 53 32
|
||||
: 23 70 4 A9 1C BF 5 BF 5 F3 6 14 6 5A 0 45
|
||||
: 24 84 50 55 53 48 DE 1D BF 5 43 7 70 7 A0 5
|
||||
: DA 6 A0 5 53 24 A0 5 A0 5 14 6 5A 0 5F 24
|
||||
: 4 4C 4F 41 44 DE 1D 95 7 51 B 2B 6 38 14 66
|
||||
: 24 38 14 F3 6 2C 14 66 24 2C 14 AF A 4F 24 69
|
||||
: 22 14 6 5B 0 7E 24 5 2B 4C 4F 41 44 DE 1D 38
|
||||
: 14 DA 6 AF 8 85 24 14 6 5B 0 A5 24 4 54 48
|
||||
: 52 55 DE 1D DB 9 43 7 25 D A 0 DF D 85 24
|
||||
: 84 D 73 D 14 6 5B 0 BB 24 5 2B 54 48 52 55
|
||||
: DE 1D DB 9 43 7 25 D A 0 DF D AD 24 84 D
|
||||
: 73 D 14 6 5B 0 D8 24 43 2D 2D 3E DE 1D 74 A
|
||||
: 38 14 13 7 2C 14 AF A 4F 24 14 6 5B 0 F6 24
|
||||
: 6 52 44 45 50 54 48 DE 1D 92 4 DA 6 83 5 F9
|
||||
: 9 21 9 E0 11 14 6 5B 0 E 25 5 44 45 50 54
|
||||
: 48 DE 1D B 5 88 4 DA 6 43 7 21 9 E0 11 14
|
||||
: 6 DE 1D 9D 16 DA 6 3E E 11 0 1C 17 A 20 43
|
||||
: 4F 4D 50 49 4C 49 4E 47 14 6 1C 17 3 20 4F 4B
|
||||
: 14 6 5C 0 29 25 5 28 51 55 49 54 DE 1D 4F 24
|
||||
: 51 31 63 14 69 22 41 25 1C E F4 FF 5C 0 64 25
|
||||
: 5 27 51 55 49 54 32 23 6C 25 5C 0 7E 25 4 51
|
||||
: 55 49 54 DE 1D 92 4 DA 6 92 5 E8 22 86 25 5C
|
||||
: 0 8C 25 B 53 54 41 4E 44 41 52 44 49 2F 4F DE
|
||||
: 1D E7 A 1A 3 C4 4 92 A 87 12 14 6 5C 0 A1
|
||||
: 25 6 27 41 42 4F 52 54 32 23 70 4 5C 0 BF 25
|
||||
: 5 41 42 4F 52 54 DE 1D A0 1A 33 4 C8 25 AF 25
|
||||
: 93 25 5D 0 CE 25 3 53 43 52 A9 1C 1 0 5D 0
|
||||
: E4 25 2 52 23 A9 1C 0 0 5D 0 F0 25 6 28 45
|
||||
: 52 52 4F 52 DE 1D AF 25 EB 26 9B 13 98 1D 2F 13
|
||||
: 5D 31 EB 26 F0 30 38 14 DA 6 95 7 3E E E 0
|
||||
: EA 25 F3 6 2C 14 DA 6 F5 25 F3 6 93 25 5D 0
|
||||
: FB 25 87 28 41 42 4F 52 54 22 DE 1D E5 16 43 7
|
||||
: 3E E E 0 A0 5 A0 1A BF 5 E5 4 73 6 14 6
|
||||
: 38 7 14 6 DE 1D E5 16 43 7 3E E 8 0 E5 4
|
||||
: 73 6 14 6 38 7 14 6 5E 0 30 26 C6 41 42 4F
|
||||
: 52 54 22 DE 1D FA 13 3A 26 C8 16 14 6 5E 0 6A
|
||||
: 26 C6 45 52 52 4F 52 22 DE 1D FA 13 54 26 C8 16
|
||||
: 14 6 5F 0 7F 26 2 42 4C 2B 1E 20 0 5F 0 94
|
||||
: 26 9 2D 54 52 41 49 4C 49 4E 47 AD 26 98 20 8B
|
||||
: 9 A1 25 85 44 18 B1 25 65 43 85 45 A4 42 18 90
|
||||
: 13 88 B1 44 C9 20 F0 C C8 D0 2 E6 43 98 48 A5
|
||||
: 43 4C D9 E 98 D0 EA C6 45 C6 43 10 E4 98 4C D6
|
||||
: E 60 0 9F 26 5 53 50 41 43 45 DE 1D 99 26 47
|
||||
: 31 14 6 60 0 E3 26 6 53 50 41 43 45 53 DE 1D
|
||||
: 59 A 36 D 8 0 EB 26 84 D 73 D 14 6 DE 1D
|
||||
: AB 13 3D A 14 6 61 0 F5 26 4 48 4F 4C 44 DE
|
||||
: 1D 4B A E 27 13 7 E 27 DA 6 9C 6 14 6 61
|
||||
: 0 18 27 2 3C 23 DE 1D E 27 E 27 F3 6 14 6
|
||||
: 61 0 31 27 2 23 3E DE 1D 96 8 E 27 DA 6 E
|
||||
: 27 AC 7 21 9 14 6 61 0 42 27 4 53 49 47 4E
|
||||
: DE 1D DF B 3E E 8 0 E7 A 2D 0 1F 27 14 6
|
||||
: 61 0 59 27 1 23 DE 1D B6 4 DA 6 67 12 D1 7
|
||||
: E7 A 9 0 AC 7 8D B 3E E 8 0 E7 A 7 0
|
||||
: AF 8 E7 A 30 0 AF 8 1F 27 14 6 61 0 72 27
|
||||
: 2 23 53 DE 1D 76 27 A1 8 3D C 3E E F8 FF 14
|
||||
: 6 62 0 9E 27 3 44 2E 52 DE 1D 12 8 34 8 E5
|
||||
: C 36 27 A3 27 D1 7 60 27 47 27 D1 7 AC 7 9F
|
||||
: C AC 7 21 9 FE 26 5D 31 14 6 62 0 B3 27 2
|
||||
: 2E 52 DE 1D 43 7 D4 C D1 7 B9 27 14 6 62 0
|
||||
: DD 27 3 55 2E 52 DE 1D 59 A 43 7 B9 27 14 6
|
||||
: 62 0 F0 27 2 44 2E DE 1D 59 A B9 27 EB 26 14
|
||||
: 6 62 0 2 28 1 2E DE 1D D4 C 7 28 14 6 62
|
||||
: 0 13 28 2 55 2E DE 1D 59 A 7 28 14 6 63 0
|
||||
: 21 28 2 2E 53 DE 1D B 5 88 4 DA 6 AC 7 21
|
||||
: 9 E7 A 20 0 C1 C 5D D 36 D E 0 DF D DA
|
||||
: 6 26 28 7E A B5 D 73 D 14 6 63 0 30 28 3
|
||||
: 43 2F 4C 2B 1E 40 0 63 0 5D 28 3 4C 2F 53 2B
|
||||
: 1E 10 0 63 0 69 28 4 4C 49 53 54 DE 1D EA 25
|
||||
: F3 6 1C 17 4 53 43 52 20 EA 25 DA 6 70 7 26
|
||||
: 28 1C 17 3 44 52 20 20 36 17 28 6F 28 59 A 25
|
||||
: D 24 0 51 31 DF D 7E A E2 27 EB 26 EA 25 DA
|
||||
: 6 8 2C DF D 63 28 DF 10 AF 8 63 28 AB 26 5D
|
||||
: 31 84 D 73 D 51 31 14 6 64 0 75 28 5 50 41
|
||||
: 55 53 45 27 0 64 0 CB 28 4 4C 4F 43 4B DE 1D
|
||||
: 70 7 DA 6 4D 5 2D C 3E E 6 0 38 7 14 6
|
||||
: 70 7 DA 6 3E E 8 0 D3 28 1C E F4 FF 4D 5
|
||||
: 43 7 F3 6 14 6 64 0 D7 28 6 55 4E 4C 4F 43
|
||||
: 4B DE 1D 70 7 DE 28 AF A 14 6 68 38 E9 5 85
|
||||
: 22 68 E9 0 85 23 A9 4C 81 22 A0 6 B1 22 85 25
|
||||
: C8 B1 22 85 26 A0 1 A1 25 85 20 B1 25 85 21 A5
|
||||
: 25 18 69 2 85 25 90 2 E6 26 A2 2C 4C 60 5 65
|
||||
: 0 8 29 4 46 49 4C 45 A9 1E 1C 65 0 51 29 4
|
||||
: 50 52 45 56 A9 1C 0 0 A9 1C 0 0 65 0 5D 29
|
||||
: 5 42 2F 42 55 46 2B 1E 8 4 A0 2 B1 46 D9 40
|
||||
: 0 D0 5 C8 C0 6 D0 F4 60 8B 29 A0 3 B1 25 99
|
||||
: 42 0 88 10 F8 A0 E 18 B1 22 65 44 85 44 C8 B1
|
||||
: 22 65 45 85 45 AD 66 29 85 46 AD 67 29 85 47 20
|
||||
: 7A 29 D0 1D A5 25 18 69 2 85 25 90 2 E6 26 A0
|
||||
: 1 A9 8 18 65 46 81 25 A5 47 69 0 91 25 4C 16
|
||||
: 6 A5 46 85 48 A5 47 85 49 A1 48 85 46 A0 1 B1
|
||||
: 48 85 47 5 46 D0 3 4C 27 0 20 7A 29 D0 E2 A1
|
||||
: 46 81 48 A0 1 B1 46 91 48 AD 66 29 81 46 AD 67
|
||||
: 29 91 46 A5 46 8D 66 29 A5 47 8D 67 29 4C B4 29
|
||||
: 6A 0 6E 29 8 28 44 49 53 4B 45 52 52 DE 1D 1C
|
||||
: 17 14 45 52 52 4F 52 20 21 20 20 52 20 54 4F 20
|
||||
: 52 45 54 52 59 20 EB 31 70 7 E7 A 52 0 2D C
|
||||
: 43 7 E7 A 52 0 2D C CC 8 41 9 3A 26 7 41
|
||||
: 42 4F 52 54 45 44 14 6 6A 0 12 2A 7 44 49 53
|
||||
: 4B 45 52 52 32 23 1D 2A 6A 0 5A 2A 3 52 2F 57
|
||||
: 32 23 9D 36 DE 1D 70 7 12 A DA 6 DF B 3E E
|
||||
: 4B 0 F9 9 70 7 DA 6 DB 9 3E E 33 0 D1 4
|
||||
: 66 24 C4 4 66 24 AF 25 70 7 12 A AC 7 F9 9
|
||||
: DA 6 7E A 45 8 DA 6 59 A 70 2A 3E E 11 0
|
||||
: 1C 17 6 57 52 49 54 45 20 64 2A 1C E DB FF E7
|
||||
: A 80 0 AC 7 C A DB 9 C6 6 38 7 14 6 DE
|
||||
: 1D F9 9 70 7 9D A C A AF A 14 6 DE 1D 70
|
||||
: 7 CF 2A D1 4 66 24 C4 4 66 24 AF 25 A0 5 AC
|
||||
: 7 AA 4 DA 6 AF 8 AC 7 E9 5 E7 A 8 0 AF
|
||||
: 8 12 8 74 A 70 2A 3E E 10 0 1C 17 5 52 45
|
||||
: 41 44 20 64 2A 1C E D8 FF BF 5 14 6 DE 1D 64
|
||||
: 29 70 7 DA 6 3E E 12 0 DA 6 70 7 F9 9 DA
|
||||
: 6 4B A 2D C 3E E EA FF 68 29 DE 28 70 7 74
|
||||
: 2A 14 6 DE 1D F9 9 A0 5 A1 8 E9 5 F3 6 AA
|
||||
: 4 DA 6 AF 8 E9 5 F9 9 F3 6 BF 5 C A AF
|
||||
: A 68 29 11 29 14 6 DE 1D 64 29 DA 6 70 7 3E
|
||||
: E E 0 70 7 12 A DA 6 DF B 3E E EE FF 14
|
||||
: 6 DE 1D 64 29 DA 6 70 7 DA 6 51 B 3E E F6
|
||||
: FF 12 A DA 6 DF B 14 6 6C 0 6A 2A 5 43 4F
|
||||
: 52 45 3F DE 1D 89 29 96 8 59 A 14 6 6D 0 9B
|
||||
: 2B 7 28 42 55 46 46 45 52 DE 1D 89 29 1D 2B 43
|
||||
: 2B 1C E F8 FF 6D 0 AF 2B 6 28 42 4C 4F 43 4B
|
||||
: DE 1D 89 29 1D 2B DD 2A 43 2B 1C E F6 FF E0 2B
|
||||
: A0 1C B1 22 48 C8 B1 22 4C D9 E 6D 0 C7 2B 6
|
||||
: 42 55 46 46 45 52 DE 1D DE 2B B9 2B 14 6 6D 0
|
||||
: ED 2B 5 42 4C 4F 43 4B DE 1D DE 2B D0 2B 14 6
|
||||
: 6E 0 0 2C 6 55 50 44 41 54 45 DE 1D E7 A 80
|
||||
: 0 64 29 DA 6 12 A DB 9 9C 6 14 6 6E 0 12
|
||||
: 2C C 53 41 56 45 2D 42 55 46 46 45 52 53 DE 1D
|
||||
: 68 29 DE 28 67 2B 95 7 3E E 8 0 74 2A 1C E
|
||||
: F4 FF 68 29 11 29 14 6 6E 0 2F 2C D 45 4D 50
|
||||
: 54 59 2D 42 55 46 46 45 52 53 DE 1D 68 29 DE 28
|
||||
: 64 29 DA 6 95 7 3E E A 0 70 7 CF 2A 1C E
|
||||
: F2 FF 68 29 11 29 14 6 6E 0 5A 2C 5 46 4C 55
|
||||
: 53 48 DE 1D 3E 2C 6A 2C 14 6 DE 1D 70 7 DE 2B
|
||||
: A3 2B 3E E 8 0 64 29 DA 6 CF 2A 81 2B 3E E
|
||||
: 4 0 3E 2C AA 4 DA 6 AF 8 43 7 8 2C 3D A
|
||||
: 3D A F3 6 1B 2C 14 6 DE 1D 3E 2C A0 5 AC 7
|
||||
: E9 5 AF 8 AC 7 1F C A0 5 A1 8 BA B BF 5
|
||||
: E9 8 3E E 24 0 E9 5 E9 5 AD 9 BF 5 59 A
|
||||
: 36 D 12 0 4B A E7 A FE FF AD 9 A1 8 9A 2C
|
||||
: 84 D 73 D 1C E 18 0 BF 5 59 A 36 D 10 0
|
||||
: A1 8 9A 2C 74 A 74 A AD 9 84 D 73 D 3E 2C
|
||||
: 96 8 14 6 6F 0 8A 2C 4 43 4F 50 59 DE 1D 74
|
||||
: A C8 2C 14 6 6F 0 26 2D 6 43 4F 4E 56 45 59
|
||||
: DE 1D 43 7 DB 9 7E A 45 8 21 9 70 7 0 C
|
||||
: 41 9 3A 26 4 4E 4F 21 21 C8 2C 14 6 70 0 37
|
||||
: 2D 5 4C 49 4D 49 54 2B 1E 0 7F 70 0 5F 2D 5
|
||||
: 46 49 52 53 54 A9 1C 0 0 70 0 6D 2D B 41 4C
|
||||
: 4C 4F 54 42 55 46 46 45 52 DE 1D 75 2D DA 6 92
|
||||
: 4 DA 6 21 9 76 29 F9 9 BA B 2B 6 76 29 5C
|
||||
: 9 75 2D 13 7 75 2D DA 6 70 7 CF 2A 64 29 DA
|
||||
: 6 AC 7 F3 6 64 29 F3 6 14 6 70 0 7B 2D A
|
||||
: 46 52 45 45 42 55 46 46 45 52 DE 1D 75 2D DA 6
|
||||
: 67 2D 76 29 21 9 BA B 3E E 28 0 3E 2C 70 7
|
||||
: DA 6 75 2D DA 6 21 9 3E E 8 0 DA 6 1C E
|
||||
: EE FF 75 2D DA 6 DA 6 43 7 F3 6 76 29 75 2D
|
||||
: 13 7 14 6 70 0 BD 2D B 41 4C 4C 2D 42 55 46
|
||||
: 46 45 52 53 DE 1D 75 2D DA 6 89 2D 75 2D DA 6
|
||||
: 2D C 3E E F2 FF 14 6 DE 1D 82 6 E7 A 20 0
|
||||
: E9 8 14 6 DE 1D 66 1D 34 8 DB 9 BA B 43 7
|
||||
: 8 1B CC 8 14 6 DE 1D F4 1A F5 4 DA 6 A0 5
|
||||
: BF 5 DA 6 95 7 3E E 5E 0 70 7 A0 5 92 A
|
||||
: 21 9 A0 5 BF 5 DA 6 A0 5 AC 7 1F A 70 7
|
||||
: E9 5 BA B 43 7 E9 5 F9 9 66 1D BA B E9 8
|
||||
: 3E E 2E 0 E9 5 8 1B 3E E DA FF E9 5 F9 9
|
||||
: 28 2E 3E E 18 0 AC 7 E9 5 F9 9 34 2E 3E E
|
||||
: C 0 E9 5 F9 9 4E 1D F9 9 B0 C 1C E B6 FF
|
||||
: 9 6 1C E 9C FF 14 6 BA 2E A0 5 B1 25 99 42
|
||||
: 0 88 10 F8 A0 8 18 B1 22 69 6 85 48 C8 B1 22
|
||||
: 69 0 85 49 A0 1 A1 42 85 4A B1 42 85 4B 5 4A
|
||||
: F0 35 A5 4A C5 48 A5 4B E5 49 90 B A5 4A C5 44
|
||||
: A5 4B E5 45 4C FF 2E A5 46 C5 4A A5 47 E5 4B B0
|
||||
: B A1 4A 81 42 B1 4A 91 42 4C 14 2F A5 4A 85 42
|
||||
: A5 4B 85 43 4C D6 2E 4C 6D 5 DE 1D F5 4 DA 6
|
||||
: 95 7 3E E 12 0 70 7 A0 5 92 A 21 9 B8 2E
|
||||
: BF 5 1C E EA FF 14 6 DE 1D 4D 5 DB 9 70 7
|
||||
: DA 6 4D 5 21 9 3E E 28 0 A1 8 DA 6 43 7
|
||||
: 9B 13 67 B 3E E 14 0 70 7 DA 6 DB 9 DA 6
|
||||
: AC 7 F3 6 1F A 1C E 4 0 DA 6 1C E CE FF
|
||||
: 96 8 14 6 DE 1D F5 4 B8 2E 41 1F 25 D 20 0
|
||||
: A1 8 DF D DA 6 12 8 67 B 3E E A 0 E7 A
|
||||
: DB 1F DF D F3 6 E7 A FE FF B5 D 73 D A1 8
|
||||
: 23 1F DA 6 12 8 67 B 3E E A 0 E7 A DB 1F
|
||||
: 23 1F F3 6 14 6 DE 1D AC 7 38 2F 74 2F 1A 2F
|
||||
: F4 1A 43 7 21 9 BD 1A 9C 4 F3 6 59 A F0 19
|
||||
: F3 6 14 6 75 0 6 2E 5 43 4C 45 41 52 DE 1D
|
||||
: 9B 13 70 7 4D 5 B6 2F 9C 4 F3 6 14 6 75 0
|
||||
: D6 2F 7 28 46 4F 52 47 45 54 DE 1D 70 7 8 1B
|
||||
: 3A 26 9 49 53 20 53 59 4D 42 4F 4C 46 2E B6 2F
|
||||
: 14 6 75 0 F0 2F 6 46 4F 52 47 45 54 DE 1D AB
|
||||
: 21 70 7 E7 A 14 3 DA 6 BA B 3A 26 9 50 52
|
||||
: 4F 54 45 43 54 45 44 24 1D 70 7 8 1B 3E E 8
|
||||
: 0 66 1D 1C E 6 0 3D A 3D A FA 2F 14 6 75
|
||||
: 0 14 30 5 45 4D 50 54 59 DE 1D E7 A 14 3 DA
|
||||
: 6 4D 5 B6 2F E7 A 22 3 DA 6 0 5 F3 6 14
|
||||
: 6 76 0 51 30 4 53 41 56 45 DE 1D 9B 13 4D 5
|
||||
: B6 2F F5 4 DA 6 70 7 3D A 3D A DA 6 AC 7
|
||||
: 3D A F3 6 DA 6 95 7 51 B 3E E EA FF 4D 5
|
||||
: 7D 4 E7 A 0 1 87 12 14 6 76 0 73 30 3 42
|
||||
: 59 45 DE 1D 92 2C 59 30 B2 35 14 6 DE 1D EB 31
|
||||
: F7 33 2D C 3E E 6 0 4B A 9 6 14 6 76 0
|
||||
: AC 30 5 53 54 4F 50 3F DE 1D F7 31 3E E 6 0
|
||||
: BC 30 BC 30 59 A 14 6 76 0 D0 30 3 3F 43 52
|
||||
: DE 1D A4 31 63 28 E7 A A 0 21 9 1F C 3E E
|
||||
: 4 0 51 31 14 6 DE 1D 3A 1C 70 7 E2 13 F9 9
|
||||
: 5F 1B 4C 34 1B 82 6 C4 4 DA 6 AF 8 73 6 14
|
||||
: 6 77 0 EA 30 7 4F 55 54 50 55 54 3A DE 1D 3A
|
||||
: 1C FE 22 5F 1B 4C 34 1B C4 4 F3 6 14 6 77 0
|
||||
: 23 31 4 45 4D 49 54 12 31 0 77 0 40 31 2 43
|
||||
: 52 12 31 2 77 0 4C 31 4 54 59 50 45 12 31 4
|
||||
: 77 0 56 31 3 44 45 4C 12 31 6 77 0 62 31 4
|
||||
: 50 41 47 45 12 31 8 77 0 6D 31 2 41 54 12 31
|
||||
: A 77 0 79 31 3 41 54 3F 12 31 C 77 0 83 31
|
||||
: 3 52 4F 57 DE 1D 89 31 38 7 14 6 77 0 8E 31
|
||||
: 3 43 4F 4C DE 1D 89 31 22 8 14 6 DE 1D 3A 1C
|
||||
: 70 7 E2 13 F9 9 5F 1B 4C 34 1B 82 6 D1 4 DA
|
||||
: 6 AF 8 73 6 14 6 77 0 9E 31 6 49 4E 50 55
|
||||
: 54 3A DE 1D 3A 1C FE 22 5F 1B 4C 34 1B D1 4 F3
|
||||
: 6 14 6 77 0 C9 31 3 4B 45 59 B8 31 0 77 0
|
||||
: E5 31 4 4B 45 59 3F B8 31 2 77 0 F0 31 6 44
|
||||
: 45 43 4F 44 45 B8 31 4 77 0 FC 31 6 45 58 50
|
||||
: 45 43 54 B8 31 6 78 0 0 0 4 53 45 41 4C DE
|
||||
: 1D 59 A E7 A EA 1F 88 1D F3 6 14 6 78 0 18
|
||||
: 32 24 4F 4E 4C 59 EA 1F 78 0 2F 32 25 46 4F 52
|
||||
: 54 48 D9 1F 78 0 3A 32 25 57 4F 52 44 53 79 20
|
||||
: 78 0 46 32 24 41 4C 53 4F 54 1F 78 0 52 32 2B
|
||||
: 44 45 46 49 4E 49 54 49 4F 4E 53 2F 20 DE 1D F5
|
||||
: 4 DA 6 70 7 3D A DA 6 AC 7 92 A 21 9 F3
|
||||
: 6 DA 6 95 7 51 B 3E E EA FF 14 6 DE 1D 59
|
||||
: A 64 29 F3 6 67 2D 75 2D F3 6 14 2E 14 6 79
|
||||
: 0 A 32 5 27 43 4F 4C 44 32 23 70 4 DE 1D 6D
|
||||
: 32 8D 32 74 31 A9 32 13 20 1C 17 1F 76 6F 6C 6B
|
||||
: 73 46 4F 52 54 48 2D 38 33 20 20 33 2E 38 2E 37
|
||||
: 20 30 35 61 70 72 31 33 20 43 53 51 31 8F 33 79
|
||||
: 0 A1 32 8 27 52 45 53 54 41 52 54 32 23 70 4
|
||||
: DE 1D E7 A 6C 25 4C 23 88 25 3A 36 EC 32 E7 A
|
||||
: 1E 3 DA 6 E5 4 F3 6 E7 A 70 4 4C 23 CA 25
|
||||
: D6 25 7A 0 E1 32 4 43 4F 4C 44 1D 33 A9 32 48
|
||||
: A9 AF 48 58 A0 0 18 AD 10 3 69 6 85 42 AD 11
|
||||
: 3 69 0 85 43 B9 8 3 91 42 C8 D0 F8 A0 1B B9
|
||||
: 9 4 99 24 0 88 10 F7 18 AD 10 3 69 6 85 22
|
||||
: AD 11 3 69 0 85 23 A0 8 B1 22 85 25 C8 B1 22
|
||||
: 85 26 A0 A B1 22 85 20 C8 B1 22 85 21 A2 0 A0
|
||||
: 1 8A 81 20 91 20 68 85 2C 68 85 2D A2 0 A0 1
|
||||
: 4C 27 0 7B 0 14 33 7 52 45 53 54 41 52 54 91
|
||||
: 33 A9 32 48 A9 F2 48 4C 3D 33 2B 1E 10 D0 2B 1E
|
||||
: 11 D0 A4 33 AD 11 D0 30 5 A9 0 4C B0 33 A9 1
|
||||
: 4C D6 E B5 33 AD 10 D0 29 7F 4C D6 E BF 33 4C
|
||||
: 27 0 C4 33 4C 27 0 2 0 85 33 5 36 35 4B 45
|
||||
: 59 DE 1D BD 33 D3 28 A2 33 3E E FA FF C2 33 B3
|
||||
: 33 14 6 3 0 C9 33 3 23 42 53 2B 1E 8 0 3
|
||||
: 0 E5 33 3 23 43 52 2B 1E D 0 3 0 F1 33 4
|
||||
: 23 45 53 43 2B 1E 1B 0 3 0 FD 33 8 36 35 44
|
||||
: 45 43 4F 44 45 DE 1D EB 33 FA E 3E E E 0 70
|
||||
: 7 3E E 6 0 68 31 1F A 14 6 F7 33 FA E 3E
|
||||
: E A 0 70 7 45 14 F3 6 14 6 A0 5 A1 8 AF
|
||||
: 8 E9 5 43 7 9C 6 BF 5 47 31 DB 9 14 6 3
|
||||
: 0 A 34 8 36 35 45 58 50 45 43 54 DE 1D 45 14
|
||||
: F3 6 59 A 70 7 45 14 DA 6 BA B 3E E A 0
|
||||
: EB 31 5 32 1C E EE FF 96 8 EB 26 14 6 3 0
|
||||
: 51 34 8 4B 45 59 42 4F 41 52 44 DA 31 D1 33 A2
|
||||
: 33 15 34 5C 34 2B 1E 12 D0 9B 34 AD 12 D0 29 80
|
||||
: 49 80 4C D6 E 4 0 80 34 5 28 45 4D 49 54 B1
|
||||
: 34 A1 25 8D 12 D0 4C 6D 5 A9 1C 0 0 2B 1E 28
|
||||
: 0 5 0 A7 34 6 36 35 45 4D 49 54 DE 1D D3 28
|
||||
: 99 34 3E E FA FF 74 A B9 34 13 7 AF 34 14 6
|
||||
: 5 0 C3 34 4 36 35 43 52 DE 1D F7 33 CC 34 B9
|
||||
: 34 DA 6 BD 34 B 12 DB 9 BD 34 DF 10 B9 34 F3
|
||||
: 6 14 6 5 0 E2 34 5 36 35 44 45 4C DE 1D E7
|
||||
: A 5F 0 CC 34 4B A B9 34 13 7 14 6 5 0 5
|
||||
: 35 6 36 35 50 41 47 45 DE 1D E7 A 18 0 59 A
|
||||
: 25 D 8 0 51 31 84 D 73 D B9 34 AF A 14 6
|
||||
: 5 0 1F 35 4 36 35 41 54 DE 1D 43 7 BD 34 DF
|
||||
: 10 AF 8 B9 34 F3 6 14 6 5 0 42 35 5 36 35
|
||||
: 41 54 3F DE 1D B9 34 DA 6 BD 34 F9 11 E7 A 18
|
||||
: 0 8F C 43 7 14 6 6 0 5B 35 6 36 35 54 59
|
||||
: 50 45 DE 1D 5D D 36 D C 0 DF D 82 6 47 31
|
||||
: 84 D 73 D 14 6 7 0 79 35 7 44 49 53 50 4C
|
||||
: 41 59 35 31 CC 34 E9 34 82 35 D 35 28 35 49 35
|
||||
: 63 35 DE 1D 14 6 8 0 98 35 5 42 2F 42 4C 4B
|
||||
: 2B 1E 0 4 8 0 B8 35 7 42 4C 4B 2F 44 52 56
|
||||
: 2B 1E AA 0 A9 1C 0 0 DE 1D D4 35 DA 6 E7 A
|
||||
: 8 0 AF 8 14 6 8 0 C6 35 5 44 52 49 56 45
|
||||
: DE 1D D0 35 DF 10 AA 4 F3 6 14 6 9 0 E8 35
|
||||
: 6 3E 44 52 49 56 45 DE 1D D0 35 DF 10 AF 8 AA
|
||||
: 4 DA 6 21 9 14 6 9 0 FE 35 4 44 52 56 3F
|
||||
: DE 1D AA 4 DA 6 AF 8 D0 35 B 12 14 6 9 0
|
||||
: 19 36 7 44 52 56 49 4E 49 54 DE 1D 70 4 14 6
|
||||
: DE 1D E7 A 1B 0 47 31 EB 26 B6 4 66 24 C4 17
|
||||
: 17 28 51 31 E7 A 0 4 5D D 25 D C 0 EB 31
|
||||
: DF D 9C 6 84 D 73 D 14 6 DE 1D E7 A 1B 0
|
||||
: 47 31 EB 26 B6 4 66 24 C4 17 17 28 51 31 E7 A
|
||||
: 0 4 5D D 25 D C 0 DF D 82 6 47 31 84 D
|
||||
: 73 D 14 6 A 0 30 36 4 28 52 2F 57 DE 1D 43
|
||||
: 7 3A 26 7 6E 6F 20 66 69 6C 65 3E E 8 0 40
|
||||
: 36 1C E 4 0 6A 36 59 A 14 6 7C 0 96 36 8
|
||||
: 46 4F 52 54 48 2D 38 33 DE 1D 14 6 7D 0 BD 36
|
||||
: 9 41 53 53 45 4D 42 4C 45 52 C6 1F 0 0 94 37
|
||||
: F0 1F 7D 0 0 0 5 50 55 53 48 41 2B 1E CC E
|
||||
: 7D 0 E4 36 6 50 55 53 48 30 41 2B 1E D6 E 7D
|
||||
: 0 F2 36 4 50 55 53 48 2B 1E D9 E 7D 0 1 37
|
||||
: 2 52 50 2B 1E 20 0 7D 0 E 37 2 55 50 2B 1E
|
||||
: 22 0 7D 0 19 37 2 53 50 2B 1E 25 0 7D 0 24
|
||||
: 37 2 49 50 2B 1E 2C 0 7D 0 2F 37 1 4E 2B 1E
|
||||
: 42 0 7D 0 3A 37 4 50 55 54 41 2B 1E 24 0 7D
|
||||
: 0 44 37 1 57 2B 1E 3A 0 7D 0 51 37 5 53 45
|
||||
: 54 55 50 2B 1E 8B 9 7E 0 5B 37 4 4E 45 58 54
|
||||
: 2B 1E 27 0 7E 0 69 37 6 58 59 4E 45 58 54 2B
|
||||
: 1E 7C 33 7E 0 76 37 6 50 4F 50 54 57 4F 2B 1E
|
||||
: AC 6 7E 0 85 37 3 50 4F 50 2B 1E 6D 5 0 0
|
26
6502/Apple1/mkhex.fs
Normal file
26
6502/Apple1/mkhex.fs
Normal file
@ -0,0 +1,26 @@
|
||||
( forth version of the mkhex tool )
|
||||
( creates a hex file to load into the Apple 1 monitor )
|
||||
( usage: gforth mkhex.fs > f6502.hex )
|
||||
|
||||
: read-image ( file-id -- addr size )
|
||||
dup file-size drop d>s ( file-id size )
|
||||
dup allocate drop dup >r ( file-id size addr )
|
||||
swap rot read-file drop r> swap ( addr size )
|
||||
;
|
||||
|
||||
: find-end ( end-addr -- new-end-addr )
|
||||
begin dup @ 0= while 1- repeat
|
||||
;
|
||||
|
||||
: dump16 ( addr len -- )
|
||||
over + swap ?do I c@ 3 .r loop ;
|
||||
|
||||
: dump-hex ( end begin -- )
|
||||
hex ." 300:"
|
||||
do I $10 dump16 cr ." :" $10 +loop
|
||||
;
|
||||
|
||||
S" f6502.com" r/o open-file drop read-image
|
||||
over + find-end cr swap dump-hex
|
||||
|
||||
bye
|
16
6502/Apple1/mkhex.py
Normal file
16
6502/Apple1/mkhex.py
Normal file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
|
||||
# first command line argument can be load address in hex
|
||||
if len(sys.argv) > 1:
|
||||
addr = int(sys.argv[1], 16)
|
||||
else:
|
||||
addr = 0x300
|
||||
|
||||
while True:
|
||||
bytes = sys.stdin.read(16)
|
||||
if bytes == '':
|
||||
break
|
||||
print "%04x: %s" % (addr, " ".join("%02x" % ord(b) for b in bytes))
|
||||
addr += len(bytes)
|
21
6502/Apple1/readme.txt
Normal file
21
6502/Apple1/readme.txt
Normal file
@ -0,0 +1,21 @@
|
||||
This is volksForth 3.8 for the Apple 1
|
||||
|
||||
It is a very early version. It can be loaded using a hexdump to the
|
||||
Apple 1 monitor. The code loads and starts to address 0x300.
|
||||
|
||||
There is no I/O defined. It should be possible to bootstrap a simple
|
||||
serial line I/O with Forth blocks using this image.
|
||||
|
||||
The sourcecode can be recompiled using the volksForth target
|
||||
compiler. Currently only the 6502 target compiler for the Atari ST
|
||||
works. I'm workin on getting the 6502 target compiler working again,
|
||||
as well as a target compiler in CP/M and MS-DOS volksForth.
|
||||
|
||||
Additional information about volksForth can be found at
|
||||
http://volksforth.sf.net and http://fossil.forth-ev.de/volksforth
|
||||
|
||||
If you have any questions about volksForth please contact me at
|
||||
carsten@strotmann.de
|
||||
|
||||
Germany, April 5 2013
|
||||
Carsten Strotmann
|
1
6502/Apple1/source/2words.fb
Normal file
1
6502/Apple1/source/2words.fb
Normal file
@ -0,0 +1 @@
|
||||
\ Additional definitions for 32bit values cas 26jan06 \ 2Words Loadscreen cas 26jan06 hex &2 &3 thru decimal \ 2! 2@ 2VARIABLE 2CONSTANT 08JUL85RE) CODE 2! ( D ADR --) TYA SETUP JSR 3 # LDY [[ SP )Y LDA N )Y STA DEY 0< ?] 1 # LDY POPTWO JMP END-CODE CODE 2@ ( ADR -- D) SP X) LDA N STA SP )Y LDA N 1+ STA SP 2DEC 3 # LDY [[ N )Y LDA SP )Y STA DEY 0< ?] XYNEXT JMP END-CODE \ : 2VARIABLE ( --) CREATE 4 ALLOT ; ( -- ADR) : 2CONSTANT ( D --) CREATE , , DOES> ( -- D) 2@ ; \ 2DUP EXISTS \ 2SWAP EXISTS \ 2DROP EXISTS
|
1
6502/Apple1/source/6502f83.fb
Normal file
1
6502/Apple1/source/6502f83.fb
Normal file
File diff suppressed because one or more lines are too long
1
6502/Apple1/source/as65.fb
Normal file
1
6502/Apple1/source/as65.fb
Normal file
File diff suppressed because one or more lines are too long
1
6502/Apple1/source/assemble.fb
Normal file
1
6502/Apple1/source/assemble.fb
Normal file
File diff suppressed because one or more lines are too long
1
6502/Apple1/source/ccompile.fb
Normal file
1
6502/Apple1/source/ccompile.fb
Normal file
@ -0,0 +1 @@
|
||||
\ Crosscompile Script for 6502 Target cas 26jan06 \ loadscreen for cross-compiler cas 26jan06 include assemble.fb \ load 68000 assembler 2 loadfrom as65.fb page \ load 6502 assembler include crostarg.fb page \ load target compiler include 6502f83.fb \ load Forth Kernel Source save-target f6502.com \ save new forth as f6502.comkey drop page .( Ready ) cr \ wait for keypress bye \ and exit forth
|
1
6502/Apple1/source/crostarg.fb
Normal file
1
6502/Apple1/source/crostarg.fb
Normal file
File diff suppressed because one or more lines are too long
1
6502/Apple1/source/systemio.fb
Normal file
1
6502/Apple1/source/systemio.fb
Normal file
File diff suppressed because one or more lines are too long
1
6502/Apple1/source/tasker.fb
Normal file
1
6502/Apple1/source/tasker.fb
Normal file
File diff suppressed because one or more lines are too long
1
6502/Apple1/source/tools.fb
Normal file
1
6502/Apple1/source/tools.fb
Normal file
File diff suppressed because one or more lines are too long
10
6502/Apple2/COPYING
Executable file
10
6502/Apple2/COPYING
Executable file
@ -0,0 +1,10 @@
|
||||
Copyright (c) 1985-2005, Forthgesellschaft e.V. (www.forth-ev.de)
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the Forthgesellschaft e.V. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
121
6502/Apple2/README.TXT
Executable file
121
6502/Apple2/README.TXT
Executable file
@ -0,0 +1,121 @@
|
||||
VolksForth (generic 6502 Version) Readme
|
||||
|
||||
Version 1.0
|
||||
26. January 2006 (cas)
|
||||
|
||||
VolksForth is a 16bit Forth System produced by the german Forth Gesellschaft
|
||||
e.V. Main development of this system was done between 1985 until 1989. The
|
||||
VolksForth Project was revived in 2005 with the goal to produce a managable
|
||||
Forthsystem for computer systems with restricted system resources.
|
||||
|
||||
Some modern Forth Systems were influenced by or were derived from VolksForth
|
||||
(GNU-Forth, bigForth).
|
||||
|
||||
The current Version of VolskForth is 3.81. Work on Version 3.90 has started.
|
||||
|
||||
At this time VolksForth is available for this Systems:
|
||||
|
||||
VolksForth MS-DOS (Intel x86 Architecture i8086-ia64)
|
||||
VolksForth 6502 (Commodore 64, Commodore Plus 4, generic, Atari XL, Apple 1)
|
||||
VolksForth Z80 (CP/M, Schneider CPC)
|
||||
VolksForth 68000 (Atari ST)
|
||||
|
||||
Copyright
|
||||
|
||||
The VolksForth Sources are made available under the terms of the
|
||||
BSD Lizenz - http://www.opensource.org/licenses/bsd-license.php
|
||||
|
||||
The Handbook is Copyright (c) 1985 - 2005 Forth Gesellschaft
|
||||
e.V. ( Klaus Schleisiek, Ulrich Hoffmann, Bernd Pennemann, Georg Rehfeld
|
||||
and Dietrich Weineck).
|
||||
|
||||
The Handbook, binary Files and Sourcecode for VolksForth as well as Information
|
||||
about Forth Gesellschaft are available on the Forth Gesellschaft Webserver at
|
||||
http://www.forth-ev.de/
|
||||
|
||||
(most of the Information is still in german. We are planning to provide future
|
||||
versions with englisch documentation)
|
||||
|
||||
Information and Help about the Programming Language Forth can be found in the
|
||||
Internet, starting with the Website of the Forthgesellschaft, or in the Usenet Forum
|
||||
de.comp.lang.forth (via Google Groups: http://groups.google.de/group/de.comp.lang.forth )
|
||||
|
||||
Details on VolksForth 6502 (generic)
|
||||
|
||||
* Requirements
|
||||
the source is for a generic 6502 System and needs to be adjusted to run on real headware
|
||||
|
||||
* Files
|
||||
|
||||
This is list of VolksForth Files in this Distribution.
|
||||
|
||||
2words.fb - additional words to handle 32bit values
|
||||
4th.prg - Atari ST volksFORTH 3.81 (needed for Crosscompilation)
|
||||
6502f83.fb - 6502 volksFORTH Kernel Source
|
||||
as65.fb - 6502 Forth Assembler (resident and transident version)
|
||||
assemble.fb - volksFORTH M68000 Assembler
|
||||
ccompile.fb - Crosscompile Script
|
||||
crostarg.fb - Target Crosscompiler to create a new 6502 Forth System
|
||||
ediicon.rsc - GEM Resource File needed for Atari ST volksFORTH
|
||||
systemio.fb - Systemdependent IO definitions
|
||||
tasker.fb - Multitask Extensions for volksFORTH
|
||||
tools.fb - Development Tools (Debugger, Tracer)
|
||||
|
||||
* How to crosscompile a new 6502 volksFORTH binary?
|
||||
|
||||
** Requirements: Crosscompilation to a 6502 Target is currently only possible from Atari ST volksFORTH. We
|
||||
are working on getting Crosscompilation working again on 6502 (native Metacompilation) and on other
|
||||
volksFORTH Platforms (like MS-DOS). So you need a read Atari ST or an Atari ST Emulator.
|
||||
|
||||
** Emulator
|
||||
VolksForth Atari ST 3.81 has been tested in the Atari ST Emulator "HATARI"
|
||||
(hatari.sourceforge.net) with EmuTos (emutos.sourceforge.net). VolksForth 3.81 has
|
||||
some display problems with screen resolutions above 640x480. We try to solve this in
|
||||
later versions.
|
||||
|
||||
1) boot the Atari ST or Atari ST Emulator
|
||||
2) start volksFORTH Atari ST (4th.prg) from GEM or EMUTOS
|
||||
3) customize the sourcecode in 6502F83.FB and SYSTEMIO.FB (see instructions below)
|
||||
4) configure FORTH to use only one IO-Diskbuffer (important!)
|
||||
5) start crosscompilations process with "include ccompile.fb"
|
||||
6) you should see a new file "f6502.com" in the directory
|
||||
|
||||
* How to customize the 6502 volksFORTH Sourcecode for a new target system?
|
||||
|
||||
1) open the volksFORTH kernel source "use 6502F83.FB"
|
||||
2) change the constant "BASEADDR" in screen 1 (target memory address)
|
||||
3) change the bootlabel in Screen 3
|
||||
4) adjust the zero page locations in Screen 4 (default ZP $20 to $47)
|
||||
5) adjust memory locations for data stack (S0, default $5000)
|
||||
and return Stack (R0, default $550) in Screen 8
|
||||
6) (optional) adjust memory location for Terminal Input Buffer (>TIB, default $100)
|
||||
if needed in Screen 54
|
||||
7) adjust Boot Message in "(COLD" in Screen 121 (optional)
|
||||
8) adjust memory for data stack and return stack, and disk buffers (LIMIT) in
|
||||
Screen 127
|
||||
9) close file 6502F83.FB
|
||||
10) open file SYSTEMIO.FB "use SYSTEMIO.FB"
|
||||
11) change Definition for 65KEY?. This definition should leave TRUE on the Stack
|
||||
(TOS <> 0) if a Keyevent is waiting. This Word should never block (multitasking!)
|
||||
12) change Definition for GETKEY to place the ASCII value of last keypress on the Stack.
|
||||
This Word might block.
|
||||
13) change definitions CURON and CUROFF to display Cursor or hide Cursor. If this functions
|
||||
are not available, make these Words a NOOP.
|
||||
14) change constants for #BS (ASCII Backspace) #CR (ASCII Carriage Return) and
|
||||
#ESC (ASCII Escape Key)
|
||||
15) change definition (EMIT to print the ASCII Char from the top of Stack to the Screen
|
||||
16) change definition for 65PAGE to clear screen and move cursor to home position
|
||||
17) change definition for 65AT to move cursor to the row and column values on the stack
|
||||
18) change definition for 65AT? to query the row and column values for the cursor and
|
||||
place them on the stack
|
||||
19) change constants B/BLK (Bytes per Block/physical Sector) and BLK/DRV (Number of Blocks
|
||||
per Driver, each Block is 1024 Bytes)
|
||||
20) implement a R/W Definition for your Disk Drive / Storage System
|
||||
21) compile (see above) and test
|
||||
22) if successfull, please report back to the project team and consider releasing your
|
||||
code to the public.
|
||||
|
||||
Have fun with VolksForth
|
||||
the VolksForth Team
|
||||
|
||||
|
1
6502/Apple2/vFORTH38/2words.fb
Executable file
1
6502/Apple2/vFORTH38/2words.fb
Executable file
@ -0,0 +1 @@
|
||||
\ Additional definitions for 32bit values cas 26jan06 \ 2Words Loadscreen cas 26jan06 hex &2 &3 thru decimal \ 2! 2@ 2VARIABLE 2CONSTANT 08JUL85RE) CODE 2! ( D ADR --) TYA SETUP JSR 3 # LDY [[ SP )Y LDA N )Y STA DEY 0< ?] 1 # LDY POPTWO JMP END-CODE CODE 2@ ( ADR -- D) SP X) LDA N STA SP )Y LDA N 1+ STA SP 2DEC 3 # LDY [[ N )Y LDA SP )Y STA DEY 0< ?] XYNEXT JMP END-CODE \ : 2VARIABLE ( --) CREATE 4 ALLOT ; ( -- ADR) : 2CONSTANT ( D --) CREATE , , DOES> ( -- D) 2@ ; \ 2DUP EXISTS \ 2SWAP EXISTS \ 2DROP EXISTS
|
BIN
6502/Apple2/vFORTH38/4th.prg
Executable file
BIN
6502/Apple2/vFORTH38/4th.prg
Executable file
Binary file not shown.
1
6502/Apple2/vFORTH38/6502f83.fb
Executable file
1
6502/Apple2/vFORTH38/6502f83.fb
Executable file
File diff suppressed because one or more lines are too long
1
6502/Apple2/vFORTH38/6502f83.fb.new
Executable file
1
6502/Apple2/vFORTH38/6502f83.fb.new
Executable file
File diff suppressed because one or more lines are too long
1
6502/Apple2/vFORTH38/6502f83.fb.old
Executable file
1
6502/Apple2/vFORTH38/6502f83.fb.old
Executable file
File diff suppressed because one or more lines are too long
1
6502/Apple2/vFORTH38/as65.fb
Executable file
1
6502/Apple2/vFORTH38/as65.fb
Executable file
File diff suppressed because one or more lines are too long
1
6502/Apple2/vFORTH38/assemble.fb
Executable file
1
6502/Apple2/vFORTH38/assemble.fb
Executable file
File diff suppressed because one or more lines are too long
1
6502/Apple2/vFORTH38/ccompile.fb
Executable file
1
6502/Apple2/vFORTH38/ccompile.fb
Executable file
@ -0,0 +1 @@
|
||||
\ Crosscompile Script for 6502 Target cas 26jan06 \ loadscreen for cross-compiler cas 26jan06 include assemble.fb \ load 68000 assembler 2 loadfrom as65.fb page \ load 6502 assembler include crostarg.fb page \ load target compiler include 6502f83.fb \ load Forth Kernel Source save-target f6502.com \ save new forth as f6502.comkey drop page .( Ready ) cr \ wait for keypress bye \ and exit forth
|
1
6502/Apple2/vFORTH38/crostarg.fb
Executable file
1
6502/Apple2/vFORTH38/crostarg.fb
Executable file
File diff suppressed because one or more lines are too long
BIN
6502/Apple2/vFORTH38/ediicon.rsc
Executable file
BIN
6502/Apple2/vFORTH38/ediicon.rsc
Executable file
Binary file not shown.
BIN
6502/Apple2/vFORTH38/f6502.com
Executable file
BIN
6502/Apple2/vFORTH38/f6502.com
Executable file
Binary file not shown.
1
6502/Apple2/vFORTH38/systemio.fb
Executable file
1
6502/Apple2/vFORTH38/systemio.fb
Executable file
File diff suppressed because one or more lines are too long
1
6502/Apple2/vFORTH38/systemio.fb.orig
Executable file
1
6502/Apple2/vFORTH38/systemio.fb.orig
Executable file
File diff suppressed because one or more lines are too long
176
6502/Apple2/vFORTH38/systemio.fb.orig.SRC
Executable file
176
6502/Apple2/vFORTH38/systemio.fb.orig.SRC
Executable file
@ -0,0 +1,176 @@
|
||||
\ System depended IO definitions for 6502 target cas 26jan06
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ loadscreen fuer generic System IO cas 26jan06
|
||||
|
||||
|
||||
1 9 +thru
|
||||
|
||||
\\ This example IO definitions are based on serial communication
|
||||
|
||||
The definitions needs to be adapted for each system
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ 65KEY? GETKEY 25JAN85RE) er14dez88
|
||||
|
||||
CODE 65KEY? ( -- FLAG) $C0EA jsr push0a jmp end-code
|
||||
|
||||
CODE GETKEY ( -- 8B) $C0A6 jsr push0a jmp end-code
|
||||
|
||||
CODE CURON ( --) NEXT JMP END-CODE
|
||||
|
||||
CODE CUROFF ( --) NEXT JMP END-CODE
|
||||
|
||||
: 65KEY ( -- 8B)
|
||||
CURON BEGIN PAUSE 65KEY? UNTIL CUROFF GETKEY ;
|
||||
|
||||
|
||||
|
||||
|
||||
\ DECODE EXPECT KEYBOARD BP28MAY85)
|
||||
08 CONSTANT #BS 0D CONSTANT #CR &27 CONSTANT #ESC
|
||||
|
||||
: 65DECODE ( ADDR CNT1 KEY -- ADDR CNT2)
|
||||
#BS CASE? IF DUP IF DEL 1- THEN EXIT THEN
|
||||
#CR CASE? IF DUP SPAN ! EXIT THEN
|
||||
>R 2DUP + R@ SWAP C! R> EMIT 1+ ;
|
||||
|
||||
: 65EXPECT ( ADDR LEN1 -- ) SPAN ! 0
|
||||
BEGIN DUP SPAN @ U<
|
||||
WHILE KEY DECODE
|
||||
REPEAT 2DROP SPACE ;
|
||||
|
||||
INPUT: KEYBOARD [ HERE INPUT ! ]
|
||||
65KEY 65KEY? 65DECODE 65EXPECT [
|
||||
|
||||
\ send? (emit 65emit er14dez88 cas 26jan06
|
||||
|
||||
| $8001 Constant aciasr
|
||||
| $8000 Constant aciaio
|
||||
|
||||
| Code send? ( -- flg )
|
||||
aciasr lda pha $08 # and 0= not ?[ $c058 jsr ]?
|
||||
pla $10 # and push0a jmp end-code
|
||||
|
||||
Code (emit ( 8b -- ) SP X) LDA aciaio sta (drop jmp end-code
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ EMIT CR DEL PAGE AT AT? 25JAN85RE) cas 26jan06
|
||||
|
||||
| Variable out 0 out ! | &80 Constant c/row
|
||||
|
||||
: 65emit ( 8b -- ) BEGIN pause send? UNTIL 1 out +! (emit ;
|
||||
|
||||
: 65CR #CR 65emit out @ c/row / 1+ c/row * out ! ;
|
||||
|
||||
: 65DEL #bs 65emit SPACE #bs 65emit -2 out +! ;
|
||||
|
||||
: 65PAGE .( insert code for page ) out off ;
|
||||
|
||||
: 65at ( row col -- )
|
||||
.( insert code for at ) swap c/row * + out ! ;
|
||||
: 65AT? ( -- ROW COL ) out @ c/row /mod &24 min swap ;
|
||||
|
||||
\ 65type cas 26jan06
|
||||
|
||||
: 65type ( adr len -- ) bounds ?DO I c@ emit LOOP ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ TYPE DISPLAY (BYE BP 28MAY85RE) er14dez88
|
||||
|
||||
OUTPUT: DISPLAY [ HERE OUTPUT ! ]
|
||||
65EMIT 65CR 65TYPE 65DEL 65PAGE 65AT 65AT? [
|
||||
|
||||
|
||||
| : (bye ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ B/BLK DRIVE >DRIVE DRVINIT 28MAY85RE) cas 26jan06
|
||||
|
||||
$400 CONSTANT B/BLK \ Bytes per physical Sector
|
||||
|
||||
$0AA CONSTANT BLK/DRV \ number of Blocks per Drive
|
||||
|
||||
| VARIABLE (DRV 0 (DRV !
|
||||
|
||||
| : DISK ( -- DEV.NO ) (DRV @ 8 + ;
|
||||
|
||||
: DRIVE ( DRV# -- ) BLK/DRV * OFFSET ! ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ cas 26jan06
|
||||
: >DRIVE ( BLOCK DRV# -- BLOCK' )
|
||||
BLK/DRV * + OFFSET @ - ;
|
||||
: DRV? ( BLOCK -- DRV# )
|
||||
OFFSET @ + BLK/DRV / ;
|
||||
|
||||
: DRVINIT NOOP ;
|
||||
.( for read and write errorhandler is needed )
|
||||
| : readserial ( adr blk -- )
|
||||
&27 emit .( rb ) space base push decimal . cr
|
||||
$400 bounds DO key I c! LOOP ;
|
||||
|
||||
| : writeserial ( adr blk -- )
|
||||
&27 emit .( wb ) space base push decimal . cr
|
||||
$400 bounds DO I c@ emit LOOP ;
|
||||
|
||||
\ (r/w er14dez88
|
||||
|
||||
: (R/W ( ADR BLK FILE R/WF -- FLAG)
|
||||
swap abort" no file"
|
||||
IF readserial ELSE writeserial THEN false ;
|
||||
|
||||
' (R/W IS R/W
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
1
6502/Apple2/vFORTH38/tasker.fb
Executable file
1
6502/Apple2/vFORTH38/tasker.fb
Executable file
File diff suppressed because one or more lines are too long
1
6502/Apple2/vFORTH38/tools.fb
Executable file
1
6502/Apple2/vFORTH38/tools.fb
Executable file
File diff suppressed because one or more lines are too long
150
6502/Atari8bit/3.81.4/AS65.TXT
Executable file
150
6502/Atari8bit/3.81.4/AS65.TXT
Executable file
@ -0,0 +1,150 @@
|
||||
\ 6502 Assembler clv10oct87
|
||||
\ Basis: Forth Dimensions VOL III No. 5)
|
||||
\ internal loading 04may85BP/re)
|
||||
\ Forth-6502 Assembler clv10oct87
|
||||
\ Basis: Forth Dimensions VOL III No. 5)
|
||||
|
||||
CR .( Loading 6502 Assembler...) CR
|
||||
|
||||
Onlyforth Assembler also definitions
|
||||
|
||||
\ Forth-83 6502-Assembler 20oct87re
|
||||
|
||||
: end-code context 2- @ context ! ;
|
||||
|
||||
Create index
|
||||
$0909 , $1505 , $0115 , $8011 ,
|
||||
$8009 , $1D0D , $8019 , $8080 ,
|
||||
$0080 , $1404 , $8014 , $8080 ,
|
||||
$8080 , $1C0C , $801C , $2C80 ,
|
||||
|
||||
| Variable mode
|
||||
|
||||
: Mode: ( n -) Create c,
|
||||
Does> ( -) c@ mode ! ;
|
||||
|
||||
0 Mode: .A 1 Mode: #
|
||||
2 | Mode: mem 3 Mode: ,X
|
||||
4 Mode: ,Y 5 Mode: X)
|
||||
6 Mode: )Y $F Mode: )
|
||||
|
||||
\ upmode cpu 20oct87re
|
||||
|
||||
| : upmode ( addr0 f0 - addr1 f1)
|
||||
IF mode @ 8 or mode ! THEN
|
||||
1 mode @ $F and ?dup IF
|
||||
0 DO dup + LOOP THEN
|
||||
over 1+ @ and 0= ;
|
||||
|
||||
: cpu ( 8b -) Create c,
|
||||
Does> ( -) c@ c, mem ;
|
||||
|
||||
00 cpu brk $18 cpu clc $D8 cpu cld
|
||||
$58 cpu cli $B8 cpu clv $CA cpu dex
|
||||
$88 cpu dey $E8 cpu inx $C8 cpu iny
|
||||
$EA cpu nop $48 cpu pha $08 cpu php
|
||||
$68 cpu pla $28 cpu plp $40 cpu rti
|
||||
$60 cpu rts $38 cpu sec $F8 cpu sed
|
||||
$78 cpu sei $AA cpu tax $A8 cpu tay
|
||||
$BA cpu tsx $8A cpu txa $9A cpu txs
|
||||
$98 cpu tya
|
||||
|
||||
\ m/cpu 20oct87re
|
||||
|
||||
: m/cpu ( mode opcode -) Create c, ,
|
||||
Does>
|
||||
dup 1+ @ $80 and IF $10 mode +! THEN
|
||||
over $FF00 and upmode upmode
|
||||
IF mem true Abort" invalid" THEN
|
||||
c@ mode @ index + c@ + c, mode @ 7 and
|
||||
IF mode @ $F and 7 <
|
||||
IF c, ELSE , THEN THEN mem ;
|
||||
|
||||
$1C6E $60 m/cpu adc $1C6E $20 m/cpu and
|
||||
$1C6E $C0 m/cpu cmp $1C6E $40 m/cpu eor
|
||||
$1C6E $A0 m/cpu lda $1C6E $00 m/cpu ora
|
||||
$1C6E $E0 m/cpu sbc $1C6C $80 m/cpu sta
|
||||
$0D0D $01 m/cpu asl $0C0C $C1 m/cpu dec
|
||||
$0C0C $E1 m/cpu inc $0D0D $41 m/cpu lsr
|
||||
$0D0D $21 m/cpu rol $0D0D $61 m/cpu ror
|
||||
$0414 $81 m/cpu stx $0486 $E0 m/cpu cpx
|
||||
$0486 $C0 m/cpu cpy $1496 $A2 m/cpu ldx
|
||||
$0C8E $A0 m/cpu ldy $048C $80 m/cpu sty
|
||||
$0480 $14 m/cpu jsr $8480 $40 m/cpu jmp
|
||||
$0484 $20 m/cpu bit
|
||||
|
||||
\ Assembler conditionals 20oct87re
|
||||
|
||||
| : range? ( branch -- branch )
|
||||
dup abs $7F u> Abort" out of range " ;
|
||||
|
||||
: [[ ( BEGIN) here ;
|
||||
: ?] ( UNTIL) c, here 1+ - range? c, ;
|
||||
: ?[ ( IF) c, here 0 c, ;
|
||||
: ?[[ ( WHILE) ?[ swap ;
|
||||
: ]? ( THEN) here over c@ IF swap !
|
||||
ELSE over 1+ - range? swap c! THEN ;
|
||||
: ][ ( ELSE) here 1+ 1 jmp
|
||||
swap here over 1+ - range? swap c! ;
|
||||
: ]] ( AGAIN) jmp ;
|
||||
: ]]? ( REPEAT) jmp ]? ;
|
||||
|
||||
\ Assembler conditionals 20oct87re
|
||||
$90 Constant CS $B0 Constant CC
|
||||
$D0 Constant 0= $F0 Constant 0<>
|
||||
$10 Constant 0< $30 Constant 0>=
|
||||
$50 Constant VS $70 Constant VC
|
||||
|
||||
: not $20 [ Forth ] xor ;
|
||||
|
||||
: beq 0<> ?] ; : bmi 0>= ?] ;
|
||||
: bne 0= ?] ; : bpl 0< ?] ;
|
||||
: bcc CS ?] ; : bvc VS ?] ;
|
||||
: bcs CC ?] ; : bvs VC ?] ;
|
||||
|
||||
\ 2inc/2dec winc/wdec 20oct87re
|
||||
|
||||
: 2inc ( adr -- )
|
||||
dup lda clc 2 # adc
|
||||
dup sta CS ?[ swap 1+ inc ]? ;
|
||||
|
||||
: 2dec ( adr -- )
|
||||
dup lda sec 2 # sbc
|
||||
dup sta CC ?[ swap 1+ dec ]? ;
|
||||
|
||||
: winc ( adr -- )
|
||||
dup inc 0= ?[ swap 1+ inc ]? ;
|
||||
|
||||
: wdec ( adr -- )
|
||||
dup lda 0= ?[ over 1+ dec ]? dec ;
|
||||
|
||||
: ;c:
|
||||
recover jsr end-code ] 0 last ! 0 ;
|
||||
|
||||
\ ;code Code code> bp/re03feb85
|
||||
|
||||
Onlyforth
|
||||
|
||||
: Assembler
|
||||
Assembler [ Assembler ] mem ;
|
||||
|
||||
: ;Code
|
||||
[compile] Does> -3 allot
|
||||
[compile] ; -2 allot Assembler ;
|
||||
immediate
|
||||
|
||||
: Code Create here dup 2- ! Assembler ;
|
||||
|
||||
: >label ( adr -)
|
||||
here | Create immediate swap ,
|
||||
4 hallot heap 1 and hallot ( 6502-alig)
|
||||
here 4 - heap 4 cmove
|
||||
heap last @ count $1F and + ! dp !
|
||||
Does> ( - adr) @
|
||||
state @ IF [compile] Literal THEN ;
|
||||
|
||||
: Label
|
||||
[ Assembler ] here >label Assembler ;
|
||||
|
||||
Onlyforth
|
||||
|
1
6502/Atari8bit/3.81.4/MATH.FS
Executable file
1
6502/Atari8bit/3.81.4/MATH.FS
Executable file
@ -0,0 +1 @@
|
||||
\ A SINUS-TABLE 20OCT87RE›\ SINUS-TABLE FROM FD Vol IV/1››| : TABLE ( VALUES N -)› CREATE 0 DO , LOOP› ;CODE ( N - VALUE)› SP Ø) LDA CLC 1 # ADC .A ASL TAY› W )Y LDA SP X) STA› INY W )Y LDA 1 # LDY SP )Y STA› NEXT JMP END-CODE››10000 9998 9994 9986 9976 9962 9945 9925› 9903 9877 9848 9816 9781 9744 9703 9659› 9613 9563 9511 9455 9397 9336 9272 9205› 9135 9063 8988 8910 8829 8746 8660 8572› 8480 8387 8290 8192 8090 7986 7880 7771› 7660 7547 7431 7314 7193 7071 6947 6820› 6691 6561 6428 6293 6157 6018 5878 5736› 5592 5446 5299 5150 5000 4848 4695 4540› 4384 4226 4067 3907 3746 3584 3420 3256› 3090 2924 2756 2588 2419 2250 2079 1908› 1736 1564 1392 1219 1045 0872 0698 0523› 0349 0175 0000››&91 | TABLE SINTABLE››| : S180 ( DEG -- SIN*10000:SIN 0-180)› DUP &90 >› IF &180 SWAP - THEN› SINTABLE ;››: SIN ( DEG -- SIN*10000)› &360 MOD DUP 0< IF &360 + THEN› DUP &180 >› IF &180 - S180 NEGATE› ELSE S180 THEN ;››: COS ( DEG -- COS*10000)› &360 MOD &90 + SIN ;››: TAN ( DEG -- TAN*10000)› DUP SIN SWAP COS ?DUP› IF &100 SWAP */ ELSE 3 * THEN ;››CODE D2* ( D1 - D2)› 2 # LDA SETUP JSR› N 2+ ASL N 3 + ROL N ROL N 1+ ROL› SP 2DEC N 3 + LDA SP )Y STA› N 2+ LDA SP X) STA› SP 2DEC N 1+ LDA SP )Y STA› N LDA SP X) STA› NEXT JMP END-CODE››: DU< &32768 + ROT &32768 + ROT ROT D< ;››| : EASY-BITS ( N1 -- N2)› 0 DO› >R D2* D2* R@ - DUP 0<› IF R@ + R> 2* 1-› ELSE R> 2* 3 +› THEN › LOOP ;››| : 2'S-BIT› >R D2* DUP 0<› IF D2* R@ - R> 1+› ELSE D2* R@ 2DUP U<› IF DROP R> 1- ELSE - R> 1+ THEN› THEN ;››| : 1'S-BIT› >R DUP 0<› IF 2DROP R> 1+› ELSE D2* &32768 R@ DU< 0=› NEGATE Ò> +› THEN ;››: SQRT ( UD1 - U2)› 0 1 8 EASY-BITS› ROT DROP 6 EASY-BITS› 2'S-BIT 1'S-BIT ;››\ Test›\›\ : XX ›\ &16 * &62500 UM*›\ SQRT 0 <# # # # ASCII . HOLD #S #>›\ TYPE SPACE ;››CODE 100* ( N1 - N2)› SP Ø) LDA N STA SP )Y LDA N 1+ STA› N ASL N 1+ ROL N ASL N 1+ ROL› N LDA N 2+ STA N 1+ LDA N 3 + STA› N 2+ ASL N 3 + ROL N 2+ ASL N 3 + ROL › N 2+ ASL N 3 + ROL› CLC N LDA N 2+ ADC N STA› N 1+ LDA N 3 + ADC N 1+ STA› N 2+ ASL N 3 + ROL› CLC N LDA N 2+ ADC SP X) STA› N 1+ LDA N 3 + ADC SP )Y STA› NEXT JMP END-CODE››LABEL 4/+› N 7 + LSR N 6 + ROR N 5 + ROR N 4 + ROR› N 7 + LSR N 6 + ROR N 5 + ROR N 4 + ROR› CLC N LDA N 4 + ADC N STA› N 1+ LDA N 5 + ADC N 1+ STA› SP X) LDA N 6 + ADC SP X) STA› SP )Y LDA N 7 + ADC SP )Y STA RTS››CODE 100U/ ( U - N)› N STX N 4 + STX› SP X) LDA .A ASL N 1+ STA N 5 + STA› SP )Y LDA .A ROL SP X) STA N 6 + STA› TXA .A ROL SP )Y STA N 7 + STA› 4/+ JSR› N 7 + LSR N 6 + ROR N 5 + ROR N 4 + ROR› 4/+ JSR› NEXT JMP END-CODE›
|
19
6502/Atari8bit/3.81.4/array.fs
Executable file
19
6502/Atari8bit/3.81.4/array.fs
Executable file
@ -0,0 +1,19 @@
|
||||
\ Arrays with bounds checking
|
||||
|
||||
| : (ARRAYERROR
|
||||
ABORT" Array out of bounds!" ;
|
||||
|
||||
: ARRAY ( size -- )
|
||||
CREATE DUP , 2* ALLOT
|
||||
DOES> ( i -- addr )
|
||||
OVER 0< (ARRAYERROR
|
||||
2DUP @ 1- - 0> (ARRAYERROR
|
||||
SWAP 1+ 2* + ;
|
||||
|
||||
: CARRAY ( size -- )
|
||||
CREATE DUP , ALLOT
|
||||
DOES> ( i -- addr )
|
||||
OVER 0< (ARRAYERROR
|
||||
2DUP @ 1- - 0> (ARRAYERROR
|
||||
+ 1+ ;
|
||||
|
257
6502/Atari8bit/3.81.4/atariio.fs
Executable file
257
6502/Atari8bit/3.81.4/atariio.fs
Executable file
@ -0,0 +1,257 @@
|
||||
PRT2C
ok
|
||||
14 0 pall ATARIIO.FB Scr 0 Dr 0
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
ATARIIO.FB Scr 1 Dr 0
|
||||
0 \ loadscreen fuer ATARI 8bit cas11aug06
|
||||
1 \ 800 / 600 XL / 800 XL / 1200 XL / 130 XE / 65 XE / 800 XE
|
||||
2
|
||||
3 1 &14 +thru
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
ATARIIO.FB Scr 2 Dr 0
|
||||
0 \ 65KEY? GETKEY cas09jan07
|
||||
1
|
||||
2 | $02FC Constant CH
|
||||
3 | CODE 65KEY? ( -- FLAG) CH lda clc 1 # adc push0a jmp end-code
|
||||
4
|
||||
5 LABEL GETCHK $E425 lda pha $E424 lda pha rts
|
||||
6 | CODE GETKEY ( -- 8B) $FF sty $FE stx GETCHK jsr
|
||||
7 $FE ldx $FF ldy push0a jmp end-code
|
||||
8
|
||||
9 | $02F0 Constant CRSINH
|
||||
10 | CODE CURON ( --) 01 # lda
|
||||
11 LABEL CRS01 CRSINH sta NEXT JMP END-CODE
|
||||
12 | CODE CUROFF ( --) 00 # lda CRS01 JMP END-CODE
|
||||
13
|
||||
14 | : 65KEY ( -- 8B)
|
||||
15 CURON BEGIN PAUSE 65KEY? UNTIL CUROFF GETKEY ;
|
||||
ATARIIO.FB Scr 3 Dr 0
|
||||
0 \ DECODE EXPECT KEYBOARD BP28MAY85) cas09jan07
|
||||
1 $7E CONSTANT #BS $9B CONSTANT #CR &27 CONSTANT #ESC
|
||||
2
|
||||
3 | : 65DECODE ( ADDR CNT1 KEY -- ADDR CNT2)
|
||||
4 #BS CASE? IF DUP IF DEL 1- THEN EXIT THEN
|
||||
5 #CR CASE? IF DUP SPAN ! EXIT THEN
|
||||
6 >R 2DUP + R@ SWAP C! R> EMIT 1+ ;
|
||||
7
|
||||
8 | : 65EXPECT ( ADDR LEN1 -- ) SPAN ! 0
|
||||
9 BEGIN DUP SPAN @ U<
|
||||
10 WHILE KEY DECODE
|
||||
11 REPEAT 2DROP SPACE ;
|
||||
12
|
||||
13 INPUT: KEYBOARD [ HERE INPUT ! ]
|
||||
14 65KEY 65KEY? 65DECODE 65EXPECT [
|
||||
15
|
||||
ATARIIO.FB Scr 4 Dr 0
|
||||
0 \ (emit 65emit ) cas09jan07
|
||||
1
|
||||
2 LABEL OUTCHK
|
||||
3 $E407 lda pha $E406 lda pha txa rts
|
||||
4
|
||||
5 | Code (emit ( 8b -- ) $FF sty $FE stx
|
||||
6 SP X) lda tax OUTCHK jsr
|
||||
7 $FE ldx $FF ldy (drop jmp end-code
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
ATARIIO.FB Scr 5 Dr 0
|
||||
0 \ EMIT CR DEL PAGE AT AT? 25JAN85RE) cas09jan07
|
||||
1
|
||||
2 | &40 Constant c/row
|
||||
3
|
||||
4 | : 65emit ( 8b -- ) (emit ;
|
||||
5
|
||||
6 | : 65CR #CR 65emit ;
|
||||
7
|
||||
8 | : 65DEL #bs 65emit SPACE #bs 65emit ;
|
||||
9
|
||||
10 | : 65PAGE &125 EMIT ;
|
||||
11
|
||||
12 | : 65at ( row col -- ) $55 ! $54 C! ;
|
||||
13
|
||||
14 | : 65AT? ( -- ROW COL ) $54 C@ $55 @ ;
|
||||
15
|
||||
ATARIIO.FB Scr 6 Dr 0
|
||||
0 \ cas09jan07
|
||||
1
|
||||
2 | : 65type ( adr len -- ) bounds ?DO I c@ emit LOOP ;
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
ATARIIO.FB Scr 7 Dr 0
|
||||
0 \ TYPE DISPLAY (BYE BP 28MAY85RE) cas09dec05
|
||||
1
|
||||
2 OUTPUT: DISPLAY [ HERE OUTPUT ! ]
|
||||
3 65EMIT 65CR 65TYPE 65DEL 65PAGE 65AT 65AT? [
|
||||
4
|
||||
5 \ fix dosini vector and jump through dosvec
|
||||
6 | code (bye warmboot 1+ lda $0C sta warmboot 2+ lda
|
||||
7 $0D sta $000A ) jmp end-code
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
ATARIIO.FB Scr 8 Dr 0
|
||||
0 \ FileInterface cas09jan07
|
||||
1
|
||||
2
|
||||
3 \ definitions for fileinterface
|
||||
4
|
||||
5 &4 CONSTANT R/O &8 CONSTANT W/O &12 CONSTANT R/W
|
||||
6 3 CONSTANT IO-OPEN 5 CONSTANT IO-GETREC 7 CONSTANT IO-GETCHR
|
||||
7 9 CONSTANT IO-PUTREC $B CONSTANT IO-PUTCHR $C CONSTANT IO-CLOSE
|
||||
8
|
||||
9 $340 CONSTANT ICFLG $342 CONSTANT ICCOM $343 CONSTANT ICSTA
|
||||
10 $344 CONSTANT ICBAL $345 CONSTANT ICBAH $348 CONSTANT ICBLL
|
||||
11 $349 CONSTANT ICBLH $34A CONSTANT ICAX1 $34B CONSTANT ICAX2
|
||||
12 $E456 CONSTANT CIOV
|
||||
13
|
||||
14
|
||||
15
|
||||
ATARIIO.FB Scr 9 Dr 0
|
||||
0 \ definitions for fileinterface cas09jan07
|
||||
1
|
||||
2 label freeiocb0 70 # lda label freeiocb2 tay ICFLG ,y lda
|
||||
3 $FF # cmp 0<> ?[ tya sec $10 # sbc freeiocb2 bne ]?
|
||||
4 tya rts
|
||||
5
|
||||
6 | code freeiocb freeiocb0 jsr .a lsr .a lsr .a lsr .a lsr pha
|
||||
7 push0a jmp end-code
|
||||
8
|
||||
9 label getfileid sp x) lda .a ASL .a ASL .a ASL .a ASL tay rts
|
||||
10
|
||||
11 label getparam 2 # ldy sp )y lda ICBLL ,x sta
|
||||
12 iny sp )y lda ICBLH ,x sta
|
||||
13 iny sp )y lda ICBAL ,x sta
|
||||
14 iny sp )y lda ICBAH ,x sta
|
||||
15 rts
|
||||
ATARIIO.FB Scr 10 Dr 0
|
||||
0 \ definitions for fileinterface cas13dec05
|
||||
1
|
||||
2 code close-file getfileid jsr tax IO-CLOSE # lda ICCOM ,x sta
|
||||
3 CIOV jsr sp 2inc ICSTA ,x lda 0>= ?[ 0 # lda ]? pha
|
||||
4 PUSH0A jmp end-code
|
||||
5
|
||||
6 code open-file freeiocb0 jsr tax IO-OPEN # lda ICCOM ,y sta
|
||||
7 4 # ldy sp )y lda ICBAL ,x sta
|
||||
8 iny sp )y lda ICBAH ,x sta
|
||||
9 0 # ldy sp )y lda ICAX1 ,x sta
|
||||
10 tya ICAX2 ,x sta
|
||||
11 CIOV jsr sp 2inc 0 # ldy ICSTA ,x lda sp )y sta
|
||||
12 0>= ?[ 0 # lda sp )y sta ]? 0 # lda tay iny sp )y sta
|
||||
13 iny iny sp )y sta txa clc .a lsr .a lsr .a lsr
|
||||
14 .a lsr dey sp )y sta xynext jmp end-code
|
||||
15
|
||||
ATARIIO.FB Scr 11 Dr 0
|
||||
0 \ definitions for fileinterface cas11aug06
|
||||
1
|
||||
2 code read-file ( caddr u fileid -- u2 ior )
|
||||
3 getfileid jsr tax getparam jsr
|
||||
4 IO-GETCHR # lda ICCOM ,x sta
|
||||
5 CIOV jsr sp 2inc 0 # ldy
|
||||
6 ICSTA ,x lda sp )y sta
|
||||
7 0>= ?[ 0 # lda sp )y sta ]? tya iny sp )y sta
|
||||
8 clc iny ICBLL ,x lda sp )y sta
|
||||
9 iny ICBLH ,x lda sp )y sta xynext jmp end-code
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
ATARIIO.FB Scr 12 Dr 0
|
||||
0 \ definitions for fileinterface cas11aug06
|
||||
1
|
||||
2 code read-line ( caddr u fileid -- u2 flag ior )
|
||||
3 getfileid jsr tax getparam jsr
|
||||
4 IO-GETREC # lda ICCOM ,x sta
|
||||
5 CIOV jsr 0 # ldy
|
||||
6 ICSTA ,x lda
|
||||
7 0>= ?[ tya ]? sp )y sta
|
||||
8 4 # ldy ICBLL ,x lda sp )y sta
|
||||
9 ICBAL ,x adc tay dey n sty 5 # ldy ICBLH ,x lda sp )y sta
|
||||
10 ICBAH ,x adc n 1+ sta 0 # lda tay n )y sta iny
|
||||
11 sp )y sta iny sp )y sta iny sp )y sta xynext jmp end-code
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
ATARIIO.FB Scr 13 Dr 0
|
||||
0 \ definitions for fileinterface cas11aug06
|
||||
1
|
||||
2 code write-file ( caddr u fileid -- ior )
|
||||
3 getfileid jsr tax getparam jsr
|
||||
4 IO-PUTCHR # lda ICCOM ,x sta
|
||||
5 CIOV jsr sp 2inc sp 2inc 0 # ldy
|
||||
6 ICSTA ,x lda sp )y sta
|
||||
7 0>= ?[ 0 # lda sp )y sta ]?
|
||||
8 xynext jmp end-code
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
ok
|
||||
display PRT2C
ATARIIO.FB Scr 14 Dr 0
|
||||
0 \ definitions for fileinterface cas09jan07
|
||||
1 VARIABLE SOURCE-ID 0 SOURCE-ID !
|
||||
2 | $580 CONSTANT FNBUF
|
||||
3 : REFILL tib $50 erase tib $50 SOURCE-ID @ READ-LINE
|
||||
4 ROT 1 - #tib ! >in off nip ;
|
||||
5 : INCLUDE-FILE ( fileid -- )
|
||||
6 SOURCE-ID ! BEGIN REFILL $80 < WHILE INTERPRET .STATUS REPEAT
|
||||
7 SOURCE-ID @ CLOSE-FILE ABORT" File Error" ;
|
||||
8 : INCLUDED ( caddr u -- )
|
||||
9 SOURCE-ID @ >R R/O OPEN-FILE DUP $80 < IF DROP
|
||||
10 INCLUDE-FILE HERE $50 ERASE #TIB @ >IN ! ELSE
|
||||
11 ." FileError:" . ABORT THEN R> SOURCE-ID ! ;
|
||||
12 : FILE" FNBUF $50 BL FILL HERE $50 BL FILL ASCII " WORD
|
||||
13 COUNT FNBUF SWAP CMOVE FNBUF 0 ;
|
||||
14 : INCLUDE" ( FNAME ) FILE" INCLUDED ; IMMEDIATE
|
||||
15
|
2178
6502/Atari8bit/3.81.4/atarivf.fs
Executable file
2178
6502/Atari8bit/3.81.4/atarivf.fs
Executable file
File diff suppressed because it is too large
Load Diff
119
6502/Atari8bit/3.81.4/math.txt
Executable file
119
6502/Atari8bit/3.81.4/math.txt
Executable file
@ -0,0 +1,119 @@
|
||||
\ A SINUS-TABLE 20OCT87RE
|
||||
\ SINUS-TABLE FROM FD Vol IV/1
|
||||
|
||||
| : TABLE ( VALUES N -)
|
||||
CREATE 0 DO , LOOP
|
||||
;CODE ( N - VALUE)
|
||||
SP Ø) LDA CLC 1 # ADC .A ASL TAY
|
||||
W )Y LDA SP X) STA
|
||||
INY W )Y LDA 1 # LDY SP )Y STA
|
||||
NEXT JMP END-CODE
|
||||
|
||||
10000 9998 9994 9986 9976 9962 9945 9925
|
||||
9903 9877 9848 9816 9781 9744 9703 9659
|
||||
9613 9563 9511 9455 9397 9336 9272 9205
|
||||
9135 9063 8988 8910 8829 8746 8660 8572
|
||||
8480 8387 8290 8192 8090 7986 7880 7771
|
||||
7660 7547 7431 7314 7193 7071 6947 6820
|
||||
6691 6561 6428 6293 6157 6018 5878 5736
|
||||
5592 5446 5299 5150 5000 4848 4695 4540
|
||||
4384 4226 4067 3907 3746 3584 3420 3256
|
||||
3090 2924 2756 2588 2419 2250 2079 1908
|
||||
1736 1564 1392 1219 1045 0872 0698 0523
|
||||
0349 0175 0000
|
||||
|
||||
&91 | TABLE SINTABLE
|
||||
|
||||
| : S180 ( DEG -- SIN*10000:SIN 0-180)
|
||||
DUP &90 >
|
||||
IF &180 SWAP - THEN
|
||||
SINTABLE ;
|
||||
|
||||
: SIN ( DEG -- SIN*10000)
|
||||
&360 MOD DUP 0< IF &360 + THEN
|
||||
DUP &180 >
|
||||
IF &180 - S180 NEGATE
|
||||
ELSE S180 THEN ;
|
||||
|
||||
: COS ( DEG -- COS*10000)
|
||||
&360 MOD &90 + SIN ;
|
||||
|
||||
: TAN ( DEG -- TAN*10000)
|
||||
DUP SIN SWAP COS ?DUP
|
||||
IF &100 SWAP */ ELSE 3 * THEN ;
|
||||
|
||||
CODE D2* ( D1 - D2)
|
||||
2 # LDA SETUP JSR
|
||||
N 2+ ASL N 3 + ROL N ROL N 1+ ROL
|
||||
SP 2DEC N 3 + LDA SP )Y STA
|
||||
N 2+ LDA SP X) STA
|
||||
SP 2DEC N 1+ LDA SP )Y STA
|
||||
N LDA SP X) STA
|
||||
NEXT JMP END-CODE
|
||||
|
||||
: DU< &32768 + ROT &32768 + ROT ROT D< ;
|
||||
|
||||
| : EASY-BITS ( N1 -- N2)
|
||||
0 DO
|
||||
>R D2* D2* R@ - DUP 0<
|
||||
IF R@ + R> 2* 1-
|
||||
ELSE R> 2* 3 +
|
||||
THEN
|
||||
LOOP ;
|
||||
|
||||
| : 2'S-BIT
|
||||
>R D2* DUP 0<
|
||||
IF D2* R@ - R> 1+
|
||||
ELSE D2* R@ 2DUP U<
|
||||
IF DROP R> 1- ELSE - R> 1+ THEN
|
||||
THEN ;
|
||||
|
||||
| : 1'S-BIT
|
||||
>R DUP 0<
|
||||
IF 2DROP R> 1+
|
||||
ELSE D2* &32768 R@ DU< 0=
|
||||
NEGATE Ò> +
|
||||
THEN ;
|
||||
|
||||
: SQRT ( UD1 - U2)
|
||||
0 1 8 EASY-BITS
|
||||
ROT DROP 6 EASY-BITS
|
||||
2'S-BIT 1'S-BIT ;
|
||||
|
||||
\ Test
|
||||
\
|
||||
\ : XX
|
||||
\ &16 * &62500 UM*
|
||||
\ SQRT 0 <# # # # ASCII . HOLD #S #>
|
||||
\ TYPE SPACE ;
|
||||
|
||||
CODE 100* ( N1 - N2)
|
||||
SP Ø) LDA N STA SP )Y LDA N 1+ STA
|
||||
N ASL N 1+ ROL N ASL N 1+ ROL
|
||||
N LDA N 2+ STA N 1+ LDA N 3 + STA
|
||||
N 2+ ASL N 3 + ROL N 2+ ASL N 3 + ROL
|
||||
N 2+ ASL N 3 + ROL
|
||||
CLC N LDA N 2+ ADC N STA
|
||||
N 1+ LDA N 3 + ADC N 1+ STA
|
||||
N 2+ ASL N 3 + ROL
|
||||
CLC N LDA N 2+ ADC SP X) STA
|
||||
N 1+ LDA N 3 + ADC SP )Y STA
|
||||
NEXT JMP END-CODE
|
||||
|
||||
LABEL 4/+
|
||||
N 7 + LSR N 6 + ROR N 5 + ROR N 4 + ROR
|
||||
N 7 + LSR N 6 + ROR N 5 + ROR N 4 + ROR
|
||||
CLC N LDA N 4 + ADC N STA
|
||||
N 1+ LDA N 5 + ADC N 1+ STA
|
||||
SP X) LDA N 6 + ADC SP X) STA
|
||||
SP )Y LDA N 7 + ADC SP )Y STA RTS
|
||||
|
||||
CODE 100U/ ( U - N)
|
||||
N STX N 4 + STX
|
||||
SP X) LDA .A ASL N 1+ STA N 5 + STA
|
||||
SP )Y LDA .A ROL SP X) STA N 6 + STA
|
||||
TXA .A ROL SP )Y STA N 7 + STA
|
||||
4/+ JSR
|
||||
N 7 + LSR N 6 + ROR N 5 + ROR N 4 + ROR
|
||||
4/+ JSR
|
||||
NEXT JMP END-CODE
|
BIN
6502/Atari8bit/3.81.4/shell2.atr
Executable file
BIN
6502/Atari8bit/3.81.4/shell2.atr
Executable file
Binary file not shown.
BIN
6502/Atari8bit/3.81.4/vf0608.atr
Executable file
BIN
6502/Atari8bit/3.81.4/vf0608.atr
Executable file
Binary file not shown.
BIN
6502/Atari8bit/3.81.4/vfdisk1.atr
Executable file
BIN
6502/Atari8bit/3.81.4/vfdisk1.atr
Executable file
Binary file not shown.
BIN
6502/Atari8bit/3.81.4/vfdisk2.atr
Executable file
BIN
6502/Atari8bit/3.81.4/vfdisk2.atr
Executable file
Binary file not shown.
BIN
6502/Atari8bit/3.81.4/vforth.com
Executable file
BIN
6502/Atari8bit/3.81.4/vforth.com
Executable file
Binary file not shown.
50
6502/Atari8bit/COPYING
Executable file
50
6502/Atari8bit/COPYING
Executable file
@ -0,0 +1,50 @@
|
||||
Copyright (c) 1985-2005,
|
||||
Forthgesellschaft e.V.
|
||||
(www.forth-ev.de)
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source
|
||||
and binary forms, with or without
|
||||
modification, are permitted provided
|
||||
that the following conditions are met:
|
||||
|
||||
* Redistributions of source code
|
||||
must retain the above copyright
|
||||
notice, this list of conditions
|
||||
and the following disclaimer.
|
||||
* Redistributions in binary form
|
||||
must reproduce the above copy-
|
||||
right notice, this list of
|
||||
conditions and the following
|
||||
disclaimer in the documentation
|
||||
and/or other materials provided
|
||||
with the distribution.
|
||||
* Neither the name of the
|
||||
Forthgesellschaft e.V. nor the
|
||||
names of its contributors may
|
||||
be used to endorse or promote
|
||||
products derived from this
|
||||
software without specific prior
|
||||
written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPY-
|
||||
RIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
152
6502/Atari8bit/OOF.TXT
Executable file
152
6502/Atari8bit/OOF.TXT
Executable file
@ -0,0 +1,152 @@
|
||||
\ Mini-OOF by Bernd Paysan
|
||||
|
||||
CR .( loading Mini-OOF ... )
|
||||
|
||||
: METHOD ( m v -- m' v )
|
||||
CREATE OVER , SWAP 2+ SWAP
|
||||
DOES> ( ... o -- ... )
|
||||
@ OVER @ + @ EXECUTE ;
|
||||
|
||||
: VAR ( m v size -- )
|
||||
CREATE OVER , +
|
||||
DOES> ( o -- addr )
|
||||
@ + ;
|
||||
|
||||
: CLASS ( class -- class methods vars )
|
||||
DUP 2@ ;
|
||||
|
||||
: END-CLASS ( -- class methods vars )
|
||||
CREATE HERE >R , DUP ,
|
||||
4 ?DO ['] NOOP , 2 +LOOP
|
||||
2+ DUP 2+ R> ROT @ 4 /STRING MOVE ;
|
||||
|
||||
: DEFINES ( xt class -- )
|
||||
' >BODY @ + ! ;
|
||||
|
||||
: NEW ( class -- o )
|
||||
HERE OVER @ ALLOT SWAP OVER ! ;
|
||||
|
||||
: :: ( class "name" -- )
|
||||
' >BODY @ + @ , ;
|
||||
|
||||
CREATE OBJECT 2 , 4 ,
|
||||
|
||||
CR .( Mini-OOF loaded. )
|
||||
|
||||
\ Mini OOF Example
|
||||
|
||||
\needs class INCLUDE" D:MINIOOF.F"
|
||||
|
||||
CR .( loading OOF Example )
|
||||
|
||||
CR .( creating object class "animal" )
|
||||
|
||||
object class
|
||||
2 var sound
|
||||
2 var color
|
||||
2 var kind
|
||||
method init
|
||||
method say
|
||||
method present
|
||||
end-class animal
|
||||
|
||||
CR .( Implementing Methods )
|
||||
|
||||
: m-say ( o -- )
|
||||
cr ." it says "
|
||||
sound @ COUNT TYPE ;
|
||||
|
||||
' m-say animal defines say
|
||||
|
||||
: m-present ( o -- )
|
||||
cr ." This animal is a "
|
||||
DUP color @ COUNT TYPE BL EMIT
|
||||
kind @ COUNT TYPE ." !" ;
|
||||
|
||||
' m-present animal defines present
|
||||
|
||||
: m-init ( say color kind o -- )
|
||||
>R
|
||||
R@ SOUND !
|
||||
R@ COLOR !
|
||||
R> KIND ! ;
|
||||
|
||||
' m-init animal defines init
|
||||
|
||||
CR .( creating animal objects )
|
||||
|
||||
animal new constant dog
|
||||
animal new constant cat
|
||||
animal new constant eagle
|
||||
|
||||
CR .( initializing objects )
|
||||
|
||||
: S>A DROP 1- ; ( convert string to address )
|
||||
|
||||
S" MAMAL" S>A
|
||||
S" BLACK" S>A
|
||||
S" BARK BARK" S>A dog init
|
||||
|
||||
S" MAMAL" S>A
|
||||
S" SILVER" S>A
|
||||
S" MEOW MEOW" S>A cat init
|
||||
|
||||
S" BIRD" S>A
|
||||
S" BROWN" S>A
|
||||
S" ARK ARK" S>A eagle init
|
||||
|
||||
CR .( now lets the objects speak )
|
||||
|
||||
CR
|
||||
|
||||
dog present dog say
|
||||
cat present cat say
|
||||
eagle present eagle say
|
||||
|
||||
CR .( Finish! )
|
||||
CR
|
||||
|
||||
\ String Ext.
|
||||
|
||||
CR .( loading String extensions )
|
||||
|
||||
: S" ASCII " PARSE
|
||||
HERE 2DUP ! 1+
|
||||
OVER 1+ ALLOT
|
||||
2DUP 4 ROLL SWAP ROT
|
||||
1+ MOVE SWAP ;
|
||||
|
||||
CR .( String extensions loaded )
|
||||
|
||||
|
||||
\ 2! 2@ 2variable 2constant
|
||||
|
||||
cr .( Loading 2words ...)
|
||||
|
||||
\needs code INCLUDE" D:TAS65.F"
|
||||
|
||||
code 2! ( d addr -- )
|
||||
tya setup jsr 3 # ldy
|
||||
[[ sp )y lda n )y sta dey 0< ?]
|
||||
1 # ldy poptwo jmp end-code
|
||||
|
||||
code 2@ ( addr -- d )
|
||||
sp x) lda n sta sp )y lda n 1+ sta
|
||||
sp 2dec 3 # ldy
|
||||
[[ n )y lda sp )y sta dey 0< ?]
|
||||
xyNext jmp end-code
|
||||
|
||||
: 2VARIABLE ( -- )
|
||||
create 4 allot ;
|
||||
|
||||
: 2CONSTANT ( d -- )
|
||||
CREATE , , DOES> ( -- d ) 2@ ;
|
||||
|
||||
\ 2dup exists
|
||||
\ 2swap exists
|
||||
\ 2drop exists
|
||||
|
||||
cr .( 2Words loaded. )
|
||||
|
||||
|
||||
|
186
6502/Atari8bit/README.TXT
Executable file
186
6502/Atari8bit/README.TXT
Executable file
@ -0,0 +1,186 @@
|
||||
VolksForth Atari 8-bit Readme
|
||||
|
||||
Version 1.1
|
||||
13. August 2006 (cas)
|
||||
|
||||
VolksForth is a 16bit Forth System
|
||||
produced by the german Forth
|
||||
Gesellschaft e.V. Main development
|
||||
of this system was done between 1985
|
||||
until 1989. The VolksForth Project was
|
||||
revived in 2005 with the goal to
|
||||
produce a managable Forthsystem for
|
||||
computer systems with restricted system
|
||||
resources.
|
||||
|
||||
Some modern Forth Systems were influenced
|
||||
by or were derived from VolksForth
|
||||
(GNU-Forth, bigForth).
|
||||
|
||||
The current Version of VolskForth is 3.81.
|
||||
Work on Version 3.90 has started.
|
||||
|
||||
At this time VolksForth is available
|
||||
for this Systems:
|
||||
|
||||
VolksForth MS-DOS (Intel x86
|
||||
Architecture
|
||||
i8086-ia64)
|
||||
|
||||
VolksForth 6502 (Commodore 64,
|
||||
Commodore Plus 4,
|
||||
Atari 8bit, Apple I)
|
||||
|
||||
VolksForth Z80 (CP/M,
|
||||
Schneider CPC CP/M)
|
||||
|
||||
VolksForth 68000 (Atari ST)
|
||||
|
||||
VolksForth is in work for this Systems:
|
||||
|
||||
VolksForth MS-DOS (Atari Portfolio)
|
||||
VolksForth 6502 (Apple II)
|
||||
VolksForth Z80 (Schneider CPC AMSDOS)
|
||||
VolksForth 68000 (Mac Classic)
|
||||
|
||||
Copyright
|
||||
|
||||
The VolksForth Sources are made avail-
|
||||
able under the terms of the BSD License
|
||||
http://www.opensource.org/licenses/bsd-license.php
|
||||
|
||||
The Handbook is Copyright (c)
|
||||
1985 - 2006 Forth Gesellschaft e.V.
|
||||
( Klaus Schleisiek, Ulrich Hoffmann,
|
||||
Bernd Pennemann, Georg Rehfeld and
|
||||
Dietrich Weineck).
|
||||
|
||||
The Handbook, binary Files and Source-
|
||||
code for VolksForth as well as Informa-
|
||||
tion about Forth Gesellschaft are
|
||||
available on the Forth Gesellschaft
|
||||
Webserver at http://www.forth-ev.de/
|
||||
|
||||
(most of the Information is still
|
||||
in german. We are planning to provide
|
||||
future versions with full englisch
|
||||
documentation)
|
||||
|
||||
Information and Help about the Program-
|
||||
ming Language Forth can be found in the
|
||||
Internet, starting with the Website of
|
||||
the Forthgesellschaft, or in the Usenet
|
||||
Forum de.comp.lang.forth
|
||||
(via Google Groups:
|
||||
http://groups.google.de/group/de.comp.lang.forth )
|
||||
|
||||
Details on VolksForth 6502
|
||||
(Atari 8bit)
|
||||
|
||||
* Requirements
|
||||
Atari 8bit with 48 KB RAM, Floppy
|
||||
Atari 800, 800XL, Atari 130 XE
|
||||
600XL (+ Atari 1064),
|
||||
|
||||
* Files
|
||||
|
||||
This is list of VolksForth Files in
|
||||
this Distribution.
|
||||
|
||||
DISK 1:
|
||||
|
||||
DOS.SYS
|
||||
DUP.SYS - Atari DOS 2.5
|
||||
VFORTH.COM - the plain volksForth
|
||||
kernel
|
||||
4TH.COM - volksForth binary
|
||||
STAR4TH.COM - volksForth with
|
||||
SPARTA/REAL/BEWE
|
||||
DOS Extensions
|
||||
DEBUG.COM - volksForth with
|
||||
Debug Tools
|
||||
(Tracer etc)
|
||||
CALL.F - Sourcecode for CALL,
|
||||
to call Machine-
|
||||
language Suproutines
|
||||
CREATE.F - Sourcecode for CREATE
|
||||
DIR.F - Sourcecode for DIR and
|
||||
DIR" Commands, to list
|
||||
Diskdirectories
|
||||
AS65.F - Sourcecode for the
|
||||
resident 6502 Assembler
|
||||
TAS65.F - Sourcecode for the
|
||||
transient 6502 Assembler
|
||||
(living in HEAP)
|
||||
SAVESYS.F - Sourcecode for
|
||||
SAVE-SYSTEM command
|
||||
SIEVE.F - Primes Sieve Benchmark
|
||||
4TH.F - Build volksForth binary
|
||||
from plain kernel
|
||||
README.TXT - This Text
|
||||
COPYING - License Information
|
||||
|
||||
Disk 2
|
||||
DOS.SYS
|
||||
DUP.SYS - Atari DOS 2.5
|
||||
4TH.COM - volksForth binary
|
||||
COPYING - License Information
|
||||
DEBUG.F - Script to build an
|
||||
volksForth with
|
||||
DEBUGGER
|
||||
TAS65.F - Sourcecode for the
|
||||
transient 6502 Assembler
|
||||
(living in HEAP)
|
||||
CREATE.F - Sourcecode for CREATE
|
||||
TOOLS.F - Debugging Tools
|
||||
TRACER.F - Interactive Tracer
|
||||
DEBUGT.F - more Debugging Tools
|
||||
SEE.F - build Decompiler without
|
||||
Disassembler
|
||||
SEE2.F - built Decompiler with
|
||||
Disassembler
|
||||
DISAS.F - 6502 Disassembler
|
||||
DECOMP.F - volksForth Decompiler
|
||||
DIS.F - build 6502 Disassembler
|
||||
MTASK.F - volksForth Multitasker
|
||||
MTDEMO.F - Multitask Demo
|
||||
"RatRace"
|
||||
CALL.F - Sourcecode for CALL,
|
||||
to call Machine-
|
||||
language Suproutines
|
||||
SPARTA.F - Sparta/Real/BEWE-DOS
|
||||
Support
|
||||
LAUNCH.F - Sparta DOS CLI
|
||||
Support
|
||||
SPAR4TH.F - Build volksForth with
|
||||
Sparta-DOS Support
|
||||
TEST.F
|
||||
TEST2.F
|
||||
TEST3.F - Test Files for
|
||||
nested INCLUDE"
|
||||
|
||||
* Editor
|
||||
This verion of volksForth for Atari
|
||||
8bit does not contain an Editor for
|
||||
Sourcecode. An Forth Editor will be
|
||||
supplied for Version 3.90. We
|
||||
recommend Ken Siders KEDIT
|
||||
( http://atari.ksiders.tzo.com/ )
|
||||
or the CompyShop Editor.
|
||||
|
||||
* Emulator
|
||||
VolksForth 6502 Atari 8bit 3.81 has
|
||||
been tested in the Atari 8bit Emulator
|
||||
"Atari800" (atari800.sourceforge.net)
|
||||
|
||||
The Forth Live-Linux CD-ROM (available
|
||||
in the Downloadsection of the Forth
|
||||
Gesellschaft Website) includes the
|
||||
current Versions of VolksForth direct
|
||||
usable without Installation including
|
||||
the Handbooks as PDF-Files.
|
||||
|
||||
Have fun with VolksForth
|
||||
the VolksForth Team
|
||||
|
||||
|
1
6502/Atari8bit/VForth35/2WORDS.FB
Executable file
1
6502/Atari8bit/VForth35/2WORDS.FB
Executable file
@ -0,0 +1 @@
|
||||
\ 2Words Loadscreen hex &2 &3 thru decimal \ 2! 2@ 2VARIABLE 2CONSTANT 08JUL85RE) CODE 2! ( D ADR --) TYA SETUP JSR 3 # LDY [[ SP )Y LDA N )Y STA DEY 0< ?] 1 # LDY POPTWO JMP END-CODE CODE 2@ ( ADR -- D) SP X) LDA N STA SP )Y LDA N 1+ STA SP 2DEC 3 # LDY [[ N )Y LDA SP )Y STA DEY 0< ?] XYNEXT JMP END-CODE \ : 2VARIABLE ( --) CREATE 4 ALLOT ; ( -- ADR) : 2CONSTANT ( D --) CREATE , , DOES> ( -- D) 2@ ; \ 2DUP EXISTS \ 2SWAP EXISTS \ 2DROP EXISTS
|
1
6502/Atari8bit/VForth35/2words.scr
Executable file
1
6502/Atari8bit/VForth35/2words.scr
Executable file
@ -0,0 +1 @@
|
||||
\ 2Words Loadscreen hex &2 &3 thru decimal \ 2! 2@ 2VARIABLE 2CONSTANT 08JUL85RE) CODE 2! ( D ADR --) TYA SETUP JSR 3 # LDY [[ SP )Y LDA N )Y STA DEY 0< ?] 1 # LDY POPTWO JMP END-CODE CODE 2@ ( ADR -- D) SP X) LDA N STA SP )Y LDA N 1+ STA SP 2DEC 3 # LDY [[ N )Y LDA SP )Y STA DEY 0< ?] XYNEXT JMP END-CODE \ : 2VARIABLE ( --) CREATE 4 ALLOT ; ( -- ADR) : 2CONSTANT ( D --) CREATE , , DOES> ( -- D) 2@ ; \ 2DUP EXISTS \ 2SWAP EXISTS \ 2DROP EXISTS
|
BIN
6502/Atari8bit/VForth35/4th.prg
Executable file
BIN
6502/Atari8bit/VForth35/4th.prg
Executable file
Binary file not shown.
BIN
6502/Atari8bit/VForth35/4thker.prg
Executable file
BIN
6502/Atari8bit/VForth35/4thker.prg
Executable file
Binary file not shown.
1
6502/Atari8bit/VForth35/6502f83.scr
Executable file
1
6502/Atari8bit/VForth35/6502f83.scr
Executable file
File diff suppressed because one or more lines are too long
4224
6502/Atari8bit/VForth35/6502f83.scr.SRC
Executable file
4224
6502/Atari8bit/VForth35/6502f83.scr.SRC
Executable file
File diff suppressed because it is too large
Load Diff
2112
6502/Atari8bit/VForth35/6502f83.scr.SRC.new
Executable file
2112
6502/Atari8bit/VForth35/6502f83.scr.SRC.new
Executable file
File diff suppressed because it is too large
Load Diff
1
6502/Atari8bit/VForth35/AS65.FB
Executable file
1
6502/Atari8bit/VForth35/AS65.FB
Executable file
File diff suppressed because one or more lines are too long
192
6502/Atari8bit/VForth35/AS65.FB.SRC
Executable file
192
6502/Atari8bit/VForth35/AS65.FB.SRC
Executable file
@ -0,0 +1,192 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ TRANSIENT FORTH-6502 ASSEMBLER WFR ) er14dez88
|
||||
( BASIS: FORTH DIMENSIONS VOL III NO. 5)
|
||||
|
||||
( INTERNAL LOADING 04MAY85BP/RE)
|
||||
hex
|
||||
\ HERE $200 HALLOT HEAP DP !
|
||||
&10 LOAD
|
||||
&11 LOAD
|
||||
3 &8 THRU
|
||||
&9 LOAD \ for System-Assembler
|
||||
|
||||
\ DP !
|
||||
|
||||
ONLYFORTH
|
||||
decimal
|
||||
|
||||
\ FORTH-65 ASSEMBLER WFR ) er14dez88
|
||||
( BASIS: FORTH DIMENSIONS VOL III NO. 5)
|
||||
ONLYFORTH
|
||||
Vocabulary tassembler
|
||||
TASSEMBLER ALSO DEFINITIONS
|
||||
hex
|
||||
|
||||
8 +load \ relocate
|
||||
1 6 +THRU
|
||||
\ 7 +load \ System Assembler
|
||||
decimal
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ FORTH-83 6502-ASSEMBLER ) er14dez88
|
||||
: END-CODE CONTEXT 2- @ CONTEXT ! ;
|
||||
CREATE INDEX
|
||||
09 c, 09 c, 05 c, 15 c, 15 c, 01 c, 11 c, 80 c,
|
||||
09 c, 80 c, 0D c, 1D c, 19 c, 80 c, 80 c, 80 c,
|
||||
80 c, 00 c, 04 c, 14 c, 14 c, 80 c, 80 c, 80 c,
|
||||
80 c, 80 c, 0C c, 1C c, 1C c, 80 c, 80 c, 2C c,
|
||||
|
||||
| VARIABLE MODE
|
||||
|
||||
: MODE: ( N -) CREATE C, DOES> ( -) C@ MODE ! ;
|
||||
|
||||
0 MODE: .A 1 MODE: # 2 | MODE: MEM 3 MODE: ,X
|
||||
4 MODE: ,Y 5 MODE: X) 6 MODE: )Y 0F MODE: )
|
||||
6 MODE: )Y 0F MODE: ) 6 MODE: )Y 0F MODE: )
|
||||
6 MODE: )Y 0F MODE: ) 6 MODE: )Y 0F MODE: )
|
||||
\ UPMODE CPU ) er14dez88
|
||||
| : UPMODE ( ADDR0 F0 - ADDR1 F1)
|
||||
IF MODE @ 8 OR MODE ! THEN 1 MODE @ 0F AND ?DUP IF
|
||||
0 DO DUP + LOOP THEN OVER 1+ @ AND 0= ;
|
||||
|
||||
: CPU ( 8B -) CREATE C, DOES> ( -) C@ >c, MEM ;
|
||||
|
||||
00 CPU BRK 18 CPU CLC D8 CPU CLD
|
||||
58 CPU CLI B8 CPU CLV CA CPU DEX
|
||||
88 CPU DEY E8 CPU INX C8 CPU INY
|
||||
EA CPU NOP 48 CPU PHA 08 CPU PHP
|
||||
68 CPU PLA 28 CPU PLP 40 CPU RTI
|
||||
60 CPU RTS 38 CPU SEC F8 CPU SED
|
||||
78 CPU SEI AA CPU TAX A8 CPU TAY
|
||||
BA CPU TSX 8A CPU TXA 9A CPU TXS
|
||||
98 CPU TYA
|
||||
\ M/CPU ) er14dez88
|
||||
|
||||
: M/CPU ( MODE OPCODE -) CREATE C, , DOES>
|
||||
DUP 1+ @ 80 AND IF 10 MODE +! THEN OVER FF00 AND UPMODE UPMODE
|
||||
IF MEM TRUE ABORT" INVALID" THEN
|
||||
C@ MODE @ INDEX + C@ + >c, MODE @ 7 AND
|
||||
IF MODE @ 0F AND 7 < IF >c, ELSE >, THEN THEN MEM ;
|
||||
|
||||
1C6E 60 M/CPU ADC 1C6E 20 M/CPU AND 1C6E C0 M/CPU CMP
|
||||
1C6E 40 M/CPU EOR 1C6E A0 M/CPU LDA 1C6E 00 M/CPU ORA
|
||||
1C6E E0 M/CPU SBC 1C6C 80 M/CPU STA 0D0D 01 M/CPU ASL
|
||||
0C0C C1 M/CPU DEC 0C0C E1 M/CPU INC 0D0D 41 M/CPU LSR
|
||||
0D0D 21 M/CPU ROL 0D0D 61 M/CPU ROR 0414 81 M/CPU STX
|
||||
0486 E0 M/CPU CPX 0486 C0 M/CPU CPY 1496 A2 M/CPU LDX
|
||||
0C8E A0 M/CPU LDY 048C 80 M/CPU STY 0480 14 M/CPU JSR
|
||||
8480 40 M/CPU JMP 0484 20 M/CPU BIT
|
||||
\ ASSEMBLER CONDITIONALS ) er14dez88
|
||||
|
||||
| : RANGE? ( BRANCH -- BRANCH )
|
||||
DUP ABS 07F U> ABORT" OUT OF RANGE " ;
|
||||
|
||||
: [[ ( BEGIN) >here ;
|
||||
: ?] ( UNTIL) >c, >here 1+ - RANGE? >c, ;
|
||||
: ?[ ( IF) >c, >here 0 >c, ;
|
||||
: ?[[ ( WHILE) ?[ SWAP ;
|
||||
: ]? ( THEN) >here OVER >c@ IF SWAP >!
|
||||
ELSE OVER 1+ - RANGE? SWAP >c! THEN ;
|
||||
: ][ ( ELSE) >here 1+ 1 JMP
|
||||
SWAP >here OVER 1+ - RANGE? SWAP >c! ;
|
||||
: ]] ( AGAIN) JMP ;
|
||||
: ]]? ( REPEAT) JMP ]? ;
|
||||
|
||||
\ ASSEMBLER CONDITIONALS ) er14dez88
|
||||
|
||||
90 CONSTANT CS B0 CONSTANT CC
|
||||
D0 CONSTANT 0= F0 CONSTANT 0<>
|
||||
10 CONSTANT 0< 30 CONSTANT 0>=
|
||||
50 CONSTANT VS 70 CONSTANT VC
|
||||
|
||||
: NOT 20 [ FORTH ] XOR ;
|
||||
|
||||
: BEQ 0<> ?] ; : BMI 0>= ?] ;
|
||||
: BNE 0= ?] ; : BPL 0< ?] ;
|
||||
: BCC CS ?] ; : BVC VS ?] ;
|
||||
: BCS CC ?] ; : BVS VC ?] ;
|
||||
|
||||
|
||||
|
||||
\ 2INC/2DEC WINC/WDEC KS 19 MAY 84 ) er14dez88
|
||||
|
||||
: 2INC
|
||||
DUP LDA CLC 2 # ADC DUP STA CS ?[ SWAP 1+ INC ]? ;
|
||||
|
||||
: 2DEC
|
||||
DUP LDA SEC 2 # SBC DUP STA CC ?[ SWAP 1+ DEC ]? ;
|
||||
|
||||
: WINC DUP INC 0= ?[ SWAP 1+ INC ]? ;
|
||||
|
||||
: WDEC DUP LDA 0= ?[ OVER 1+ DEC ]? DEC ;
|
||||
|
||||
: ;C: RECOVER JSR END-CODE ] 0 LAST ! 0 ;
|
||||
|
||||
|
||||
|
||||
\ ;CODE CODE CODE> BP 03 02 85) er14dez88
|
||||
ONLYFORTH
|
||||
|
||||
: ASSEMBLER ASSEMBLER [ ASSEMBLER ] MEM ;
|
||||
|
||||
: ;CODE [COMPILE] DOES> -3 >allot
|
||||
[COMPILE] ; -2 >allot ASSEMBLER ; IMMEDIATE
|
||||
|
||||
: CODE CREATE >here DUP 2- >! ASSEMBLER ;
|
||||
|
||||
: >LABEL ( ADR -)
|
||||
>here | CREATE SWAP , 4 HALLOT
|
||||
HEAP 1 AND HALLOT ( 6502-ALIGN) HERE 4 - HEAP 4 CMOVE
|
||||
HEAP LAST @ COUNT 01F AND + ! DP ! DOES> ( - ADR) @ ;
|
||||
|
||||
: LABEL [ ASSEMBLER ] >here >LABEL ASSEMBLER ;
|
||||
\ Code generating primitives er14dez88
|
||||
|
||||
Variable >codes
|
||||
| Create nrc ] c, , c@ here allot ! c! [
|
||||
|
||||
: nonrelocate nrc >codes ! ; nonrelocate
|
||||
|
||||
| : >exec Create c,
|
||||
Does> c@ >codes @ + @ execute ;
|
||||
|
||||
| 0 >exec >c, | 2 >exec >, | 4 >exec >c@
|
||||
| 6 >exec >here | 8 >exec >allot | $0A >exec >!
|
||||
| $0C >exec >c!
|
||||
|
||||
|
||||
|
||||
\ FORTH-65 ASSEMBLER WFR ) er14dez88
|
||||
( BASIS: FORTH DIMENSIONS VOL III NO. 5)
|
||||
ONLYFORTH
|
||||
|
||||
ASSEMBLER ALSO DEFINITIONS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
1
6502/Atari8bit/VForth35/ASSEMBLE.FB
Executable file
1
6502/Atari8bit/VForth35/ASSEMBLE.FB
Executable file
File diff suppressed because one or more lines are too long
1
6502/Atari8bit/VForth35/ATARIIO.FB
Executable file
1
6502/Atari8bit/VForth35/ATARIIO.FB
Executable file
File diff suppressed because one or more lines are too long
304
6502/Atari8bit/VForth35/ATARIIO.FB.SRC
Executable file
304
6502/Atari8bit/VForth35/ATARIIO.FB.SRC
Executable file
@ -0,0 +1,304 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ loadscreen fuer ATARI 8bit cas11aug06
|
||||
\ 800 / 600 XL / 800 XL / 1200 XL / 130 XE / 65 XE / 800 XE
|
||||
|
||||
1 &14 +thru
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ 65KEY? GETKEY cas11aug06
|
||||
|
||||
| $02FC Constant CH
|
||||
| CODE 65KEY? ( -- FLAG) CH lda clc 1 # adc push0a jmp end-code
|
||||
|
||||
LABEL GETCHK $E425 lda pha $E424 lda pha rts
|
||||
| CODE GETKEY ( -- 8B) $FF sty $FE stx GETCHK jsr
|
||||
$FE ldx $FF ldy push0a jmp end-code
|
||||
|
||||
| $02F0 Constant CRSINH
|
||||
| CODE CURON ( --) 01 # lda
|
||||
LABEL CRS01 CRSINH sta NEXT JMP END-CODE
|
||||
| CODE CUROFF ( --) 00 # lda CRS01 JMP END-CODE
|
||||
|
||||
: 65KEY ( -- 8B)
|
||||
CURON BEGIN PAUSE 65KEY? UNTIL CUROFF GETKEY ;
|
||||
\ DECODE EXPECT KEYBOARD BP28MAY85) cs08aug05
|
||||
7E CONSTANT #BS $9B CONSTANT #CR &27 CONSTANT #ESC
|
||||
|
||||
: 65DECODE ( ADDR CNT1 KEY -- ADDR CNT2)
|
||||
#BS CASE? IF DUP IF DEL 1- THEN EXIT THEN
|
||||
#CR CASE? IF DUP SPAN ! EXIT THEN
|
||||
>R 2DUP + R@ SWAP C! R> EMIT 1+ ;
|
||||
|
||||
: 65EXPECT ( ADDR LEN1 -- ) SPAN ! 0
|
||||
BEGIN DUP SPAN @ U<
|
||||
WHILE KEY DECODE
|
||||
REPEAT 2DROP SPACE ;
|
||||
|
||||
INPUT: KEYBOARD [ HERE INPUT ! ]
|
||||
65KEY 65KEY? 65DECODE 65EXPECT [
|
||||
|
||||
\ (emit 65emit ) cas11aug06
|
||||
|
||||
LABEL OUTCHK
|
||||
$E407 lda pha $E406 lda pha txa rts
|
||||
|
||||
Code (emit ( 8b -- ) $FF sty $FE stx
|
||||
SP X) lda tax OUTCHK jsr
|
||||
$FE ldx $FF ldy (drop jmp end-code
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ EMIT CR DEL PAGE AT AT? 25JAN85RE) cas13aug06
|
||||
|
||||
| &40 Constant c/row
|
||||
|
||||
: 65emit ( 8b -- ) (emit ;
|
||||
|
||||
: 65CR #CR 65emit ;
|
||||
|
||||
: 65DEL #bs 65emit SPACE #bs 65emit ;
|
||||
|
||||
: 65PAGE &125 EMIT ;
|
||||
|
||||
: 65at ( row col -- ) $55 ! $54 C! ;
|
||||
|
||||
: 65AT? ( -- ROW COL ) $54 C@ $55 @ ;
|
||||
|
||||
\ er14dez88
|
||||
|
||||
: 65type ( adr len -- ) bounds ?DO I c@ emit LOOP ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ TYPE DISPLAY (BYE BP 28MAY85RE) cas09dec05
|
||||
|
||||
OUTPUT: DISPLAY [ HERE OUTPUT ! ]
|
||||
65EMIT 65CR 65TYPE 65DEL 65PAGE 65AT 65AT? [
|
||||
|
||||
\ fix dosini vector and jump through dosvec
|
||||
| code (bye warmboot 1+ lda $0C sta warmboot 2+ lda
|
||||
$0D sta $000A ) jmp end-code
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ B/BLK cas21dec05
|
||||
|
||||
$400 CONSTANT B/BLK
|
||||
|
||||
\ definitions for fileinterface
|
||||
|
||||
&4 CONSTANT R/O &8 CONSTANT W/O &12 CONSTANT R/W
|
||||
3 CONSTANT IO-OPEN 5 CONSTANT IO-GETREC 7 CONSTANT IO-GETCHR
|
||||
9 CONSTANT IO-PUTREC $B CONSTANT IO-PUTCHR $C CONSTANT IO-CLOSE
|
||||
|
||||
$340 CONSTANT ICFLG $342 CONSTANT ICCOM $343 CONSTANT ICSTA
|
||||
$344 CONSTANT ICBAL $345 CONSTANT ICBAH $348 CONSTANT ICBLL
|
||||
$349 CONSTANT ICBLH $34A CONSTANT ICAX1 $34B CONSTANT ICAX2
|
||||
$E456 CONSTANT CIOV
|
||||
|
||||
|
||||
\ definitions for fileinterface cas11aug06
|
||||
|
||||
label freeiocb0 70 # lda label freeiocb2 tay ICFLG ,y lda
|
||||
$FF # cmp 0<> ?[ tya sec $10 # sbc freeiocb2 bne ]?
|
||||
tya rts
|
||||
|
||||
code freeiocb freeiocb0 jsr .a lsr .a lsr .a lsr .a lsr pha
|
||||
push0a jmp end-code
|
||||
|
||||
label getfileid sp x) lda .a ASL .a ASL .a ASL .a ASL tay rts
|
||||
|
||||
label getparam 2 # ldy sp )y lda ICBLL ,x sta
|
||||
iny sp )y lda ICBLH ,x sta
|
||||
iny sp )y lda ICBAL ,x sta
|
||||
iny sp )y lda ICBAH ,x sta
|
||||
rts
|
||||
\ definitions for fileinterface cas13dec05
|
||||
|
||||
code close-file getfileid jsr tax IO-CLOSE # lda ICCOM ,x sta
|
||||
CIOV jsr sp 2inc ICSTA ,x lda 0>= ?[ 0 # lda ]? pha
|
||||
PUSH0A jmp end-code
|
||||
|
||||
code open-file freeiocb0 jsr tax IO-OPEN # lda ICCOM ,y sta
|
||||
4 # ldy sp )y lda ICBAL ,x sta
|
||||
iny sp )y lda ICBAH ,x sta
|
||||
0 # ldy sp )y lda ICAX1 ,x sta
|
||||
tya ICAX2 ,x sta
|
||||
CIOV jsr sp 2inc 0 # ldy ICSTA ,x lda sp )y sta
|
||||
0>= ?[ 0 # lda sp )y sta ]? 0 # lda tay iny sp )y sta
|
||||
iny iny sp )y sta txa clc .a lsr .a lsr .a lsr
|
||||
.a lsr dey sp )y sta xynext jmp end-code
|
||||
|
||||
\ definitions for fileinterface cas11aug06
|
||||
|
||||
code read-file ( caddr u fileid -- u2 ior )
|
||||
getfileid jsr tax getparam jsr
|
||||
IO-GETCHR # lda ICCOM ,x sta
|
||||
CIOV jsr sp 2inc 0 # ldy
|
||||
ICSTA ,x lda sp )y sta
|
||||
0>= ?[ 0 # lda sp )y sta ]? tya iny sp )y sta
|
||||
clc iny ICBLL ,x lda sp )y sta
|
||||
iny ICBLH ,x lda sp )y sta xynext jmp end-code
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ definitions for fileinterface cas11aug06
|
||||
|
||||
code read-line ( caddr u fileid -- u2 flag ior )
|
||||
getfileid jsr tax getparam jsr
|
||||
IO-GETREC # lda ICCOM ,x sta
|
||||
CIOV jsr 0 # ldy
|
||||
ICSTA ,x lda
|
||||
0>= ?[ tya ]? sp )y sta
|
||||
4 # ldy ICBLL ,x lda sp )y sta
|
||||
ICBAL ,x adc tay dey n sty 5 # ldy ICBLH ,x lda sp )y sta
|
||||
ICBAH ,x adc n 1+ sta 0 # lda tay n )y sta iny
|
||||
sp )y sta iny sp )y sta iny sp )y sta xynext jmp end-code
|
||||
|
||||
|
||||
|
||||
|
||||
\ definitions for fileinterface cas11aug06
|
||||
|
||||
code write-file ( caddr u fileid -- ior )
|
||||
getfileid jsr tax getparam jsr
|
||||
IO-PUTCHR # lda ICCOM ,x sta
|
||||
CIOV jsr sp 2inc sp 2inc 0 # ldy
|
||||
ICSTA ,x lda sp )y sta
|
||||
0>= ?[ 0 # lda sp )y sta ]?
|
||||
xynext jmp end-code
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ definitions for fileinterface cas11aug06
|
||||
VARIABLE SOURCE-ID 0 SOURCE-ID !
|
||||
$580 CONSTANT FNBUF
|
||||
: REFILL tib $50 erase tib $50 SOURCE-ID @ READ-LINE
|
||||
ROT 1 - #tib ! >in off blk off nip ;
|
||||
: INCLUDE-FILE ( fileid -- )
|
||||
SOURCE-ID ! BEGIN REFILL $80 < WHILE INTERPRET REPEAT
|
||||
SOURCE-ID @ CLOSE-FILE ABORT" File Error" ;
|
||||
: INCLUDED ( caddr u -- )
|
||||
SOURCE-ID @ >R R/O OPEN-FILE DUP $80 < IF DROP
|
||||
INCLUDE-FILE HERE $50 ERASE #TIB @ >IN ! ELSE
|
||||
." FileError:" . ABORT THEN R> SOURCE-ID ! ;
|
||||
: FILE" FNBUF $50 BL FILL HERE $50 BL FILL ASCII " WORD
|
||||
COUNT FNBUF SWAP CMOVE FNBUF 0 ;
|
||||
: INCLUDE" ( FNAME ) FILE" INCLUDED ; IMMEDIATE
|
||||
|
||||
\ cas21dec05
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
1
6502/Atari8bit/VForth35/ATARIIO.FB.backup.20070116
Executable file
1
6502/Atari8bit/VForth35/ATARIIO.FB.backup.20070116
Executable file
File diff suppressed because one or more lines are too long
1
6502/Atari8bit/VForth35/ATARIVF.FB
Executable file
1
6502/Atari8bit/VForth35/ATARIVF.FB
Executable file
File diff suppressed because one or more lines are too long
2112
6502/Atari8bit/VForth35/ATARIVF.FB.SRC
Executable file
2112
6502/Atari8bit/VForth35/ATARIVF.FB.SRC
Executable file
File diff suppressed because it is too large
Load Diff
1
6502/Atari8bit/VForth35/C.FB
Executable file
1
6502/Atari8bit/VForth35/C.FB
Executable file
@ -0,0 +1 @@
|
||||
\ Atari 8bit volksForth Compile Script cas11aug06 .( Include 68000 Assembler for Cross-Compiler ) CR include assemble.fb .( Include 6502 Assembler ) CR 2 loadfrom as65.fb CR .( Include volksForth Cross-Compiler ) CR include crostarg.fb CR .( Include Atari 8bit volksForth Kernel Source ) CR include atarivf.fb CR .( Save new Atari 8bit volksForth Kernel File ) CR save-target vforth.com key drop page .( Ready ) CR
|
1
6502/Atari8bit/VForth35/C.SCR
Executable file
1
6502/Atari8bit/VForth35/C.SCR
Executable file
@ -0,0 +1 @@
|
||||
\ cas08dec05include assemble.scr 2 loadfrom as65.scr page include crostarg.scr page include 6502f83.scr save-target f6502.com key drop page .( Ready ) cr
|
1
6502/Atari8bit/VForth35/CROSTARG.FB
Executable file
1
6502/Atari8bit/VForth35/CROSTARG.FB
Executable file
File diff suppressed because one or more lines are too long
1
6502/Atari8bit/VForth35/TASKER.FB
Executable file
1
6502/Atari8bit/VForth35/TASKER.FB
Executable file
File diff suppressed because one or more lines are too long
1
6502/Atari8bit/VForth35/TOOLS.FB
Executable file
1
6502/Atari8bit/VForth35/TOOLS.FB
Executable file
File diff suppressed because one or more lines are too long
1
6502/Atari8bit/VForth35/TTOOLS.FB
Executable file
1
6502/Atari8bit/VForth35/TTOOLS.FB
Executable file
File diff suppressed because one or more lines are too long
1
6502/Atari8bit/VForth35/as65.scr
Executable file
1
6502/Atari8bit/VForth35/as65.scr
Executable file
File diff suppressed because one or more lines are too long
1
6502/Atari8bit/VForth35/assemble.scr
Executable file
1
6502/Atari8bit/VForth35/assemble.scr
Executable file
File diff suppressed because one or more lines are too long
BIN
6502/Atari8bit/VForth35/bin2hex
Executable file
BIN
6502/Atari8bit/VForth35/bin2hex
Executable file
Binary file not shown.
161
6502/Atari8bit/VForth35/bin2hex.c
Executable file
161
6502/Atari8bit/VForth35/bin2hex.c
Executable file
@ -0,0 +1,161 @@
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
void help(char *name)
|
||||
{
|
||||
printf("%s - BINARY to Intel HEX file convertor version 1.00\n"\
|
||||
"(c)BCL Vysoke Myto 2001 (benedikt@lphard.cz)\n\n",name);
|
||||
printf("Usage: %s [-option] binfile hexfile\n"\
|
||||
" -l Bytes to read from binary file\n"\
|
||||
" -i Binary file starting offset\n"\
|
||||
" -o Output file offset (where HEX data starts)\n"\
|
||||
" -t Exclude EOF record\n"\
|
||||
" -a Append to end of existing HEX file\n"\
|
||||
" -q Quiet mode (no statistics are printed)\n", name);
|
||||
}
|
||||
|
||||
int main(int argc,char *argv[])/*Main routine*/
|
||||
{
|
||||
char *ifile = NULL;
|
||||
char *ofile = NULL;
|
||||
char c;
|
||||
FILE *inp, *outp;
|
||||
int ch,csum;
|
||||
int ofsa = 0;
|
||||
int cnt = 0;
|
||||
struct stat statbuf;
|
||||
long int foffset = 0;
|
||||
long int fsize = 0;
|
||||
long int fsub;
|
||||
long int fpoint = 0;
|
||||
long int adrs = 0;
|
||||
unsigned char quiet = 0;
|
||||
unsigned char eofrec = 0;
|
||||
unsigned char append = 0;
|
||||
|
||||
opterr = 0; //print error message if unknown option
|
||||
|
||||
while ((c = getopt (argc, argv, "l:i:o:taqv")) != -1)
|
||||
switch (c) {
|
||||
case 'l':
|
||||
fsize = atol(optarg);
|
||||
break;
|
||||
case 'i':
|
||||
foffset = atol(optarg);
|
||||
break;
|
||||
case 'o':
|
||||
adrs = atol(optarg);
|
||||
break;
|
||||
case 't':
|
||||
eofrec = 1;
|
||||
break;
|
||||
case 'a':
|
||||
append = 1;
|
||||
break;
|
||||
case 'q':
|
||||
quiet = 1;
|
||||
break;
|
||||
case 'v':
|
||||
printf("%s - BINARY to Intel HEX file convertor version 1.00\n"\
|
||||
"(c)BCL Vysoke Myto 2001 (benedikt@lphard.cz)\n",argv[0]);
|
||||
return 0;
|
||||
case '?':
|
||||
help (argv[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((argc - optind) != 2) {
|
||||
printf("ERROR: Missing input/output file.\n");
|
||||
help(argv[0]);
|
||||
return 1;
|
||||
}
|
||||
ifile = argv[optind];
|
||||
ofile = argv[optind+1];
|
||||
|
||||
/*Open file check*/
|
||||
if((inp = fopen(ifile, "rb")) == NULL){
|
||||
printf("ERROR: Cannot open input file.\n");
|
||||
return 1;
|
||||
}
|
||||
fseek (inp, foffset, SEEK_SET);
|
||||
|
||||
if (append == 0) {
|
||||
if((outp = fopen(ofile, "wt")) == NULL){
|
||||
printf("ERROR: Cannot open output file.\n");
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
if((outp = fopen(ofile, "at")) == NULL){
|
||||
printf("ERROR: Cannot re-open output file.\n");
|
||||
return 1;
|
||||
}
|
||||
fseek (outp, 0, SEEK_END);
|
||||
}
|
||||
|
||||
fstat(fileno(inp), &statbuf);
|
||||
if (quiet == 0) printf("Input file size=%ld\n",statbuf.st_size);
|
||||
if (foffset > statbuf.st_size) {
|
||||
printf("ERROR: Input offset > input file length\n");
|
||||
}
|
||||
if ((fsize == 0) || (fsize > (statbuf.st_size - foffset)))
|
||||
fsize = statbuf.st_size - foffset;
|
||||
|
||||
// fprintf(outp,":020000020000FC\n");/*Start Header*/
|
||||
fsub = fsize - fpoint;
|
||||
if (fsub > 0x20) {
|
||||
fprintf(outp,":20%04X00",adrs);/*Hex line Header*/
|
||||
csum = 0x20 + (adrs>>8) + (adrs & 0xFF);
|
||||
adrs += 0x20;
|
||||
}
|
||||
else {
|
||||
fprintf(outp, ":%02X%04X00", fsub,adrs);/*Hex line Header*/
|
||||
csum = fsub + (adrs>>8) + (adrs & 0xFF);
|
||||
adrs += fsub;
|
||||
}
|
||||
while (fsub > 0){
|
||||
ch = fgetc(inp);
|
||||
fprintf(outp,"%02X",ch);/*Put data*/
|
||||
cnt++; fpoint++;
|
||||
fsub = fsize - fpoint;
|
||||
csum = ch + csum;
|
||||
if((fsub == 0)||(cnt == 0x20)){
|
||||
cnt = 0; csum = 0xFF & (~csum + 1);
|
||||
fprintf(outp,"%02X\n",csum);/*Put checksum*/
|
||||
if(fsub == 0) break;
|
||||
if(adrs > 0xFFFF){
|
||||
ofsa = 0x1000 + ofsa;
|
||||
adrs = 0;
|
||||
fprintf(outp,":02000002%04X",ofsa);/*Change offset address*/
|
||||
csum = 0x02 + 0x02 + (ofsa>>8) + (ofsa & 0xFF);
|
||||
csum = 0xFF & (~csum + 1);
|
||||
fprintf(outp,"%02X\n", csum);
|
||||
}
|
||||
adrs = 0xFFFF & adrs;
|
||||
if (fsub > 0x20) {
|
||||
fprintf(outp,":20%04X00",adrs);/*Next Hex line Header*/
|
||||
csum = 0x20 + (adrs>>8) + (adrs & 0xFF);
|
||||
adrs += 0x20;
|
||||
}
|
||||
else {
|
||||
if(fsub > 0){
|
||||
fprintf(outp, ":%02X%04X00", fsub,adrs);/*Next Hex line Header*/
|
||||
csum = fsub + (adrs>>8) + (adrs & 0xFF);
|
||||
adrs += fsub;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (eofrec == 0) fprintf(outp,":00000001FF\n");/*End footer*/
|
||||
fflush (outp);
|
||||
|
||||
fstat(fileno(outp), &statbuf);
|
||||
if (quiet == 0) printf("Output file size=%ld\n",statbuf.st_size);
|
||||
|
||||
fclose(inp);
|
||||
fclose(outp);
|
||||
return 0;
|
||||
}
|
1
6502/Atari8bit/VForth35/crostarg.scr
Executable file
1
6502/Atari8bit/VForth35/crostarg.scr
Executable file
File diff suppressed because one or more lines are too long
BIN
6502/Atari8bit/VForth35/da65
Executable file
BIN
6502/Atari8bit/VForth35/da65
Executable file
Binary file not shown.
190
6502/Atari8bit/VForth35/diff
Executable file
190
6502/Atari8bit/VForth35/diff
Executable file
@ -0,0 +1,190 @@
|
||||
17c17
|
||||
< \ cas21dec05
|
||||
---
|
||||
> \ cs08aucas
|
||||
20c20
|
||||
<
|
||||
---
|
||||
> include assemble.scr 2 loadfrom as65.scr include crostarg.scr
|
||||
28,29c28,29
|
||||
< .( Unresolved: )
|
||||
< .UNRESOLVED cr
|
||||
---
|
||||
>
|
||||
> .UNRESOLVED
|
||||
49c49
|
||||
< \ HIER BEGINNEN DIE KALTSTARTWERTE DER cas21dec05
|
||||
---
|
||||
> \ HIER BEGINNEN DIE KALTSTARTWERTE DER cs09aug05
|
||||
57c57
|
||||
< ," VOLKSFORTH-83 3.8 COMPILED 21DEC05CS"
|
||||
---
|
||||
> ," VOLKSFORTH-83 3.5 COMPILED 09AUG05CS"
|
||||
129c129
|
||||
< \ USER VARIABLES 17MAR84KS) cas09dec05
|
||||
---
|
||||
> \ USER VARIABLES 17MAR84KS) er14dez88
|
||||
135c135
|
||||
< USER S0 $7000 S0 ! USER R0 $7500 R0 !
|
||||
---
|
||||
> USER S0 $5000 S0 ! USER R0 $5500 R0 !
|
||||
977c977
|
||||
< \ SOURCE WORD PARSE NAME 08APR85BP) cas21dec05
|
||||
---
|
||||
> \ SOURCE WORD PARSE NAME 08APR85BP)
|
||||
980c980
|
||||
< TIB #TIB @ ;
|
||||
---
|
||||
> BLK @ ?DUP IF BLOCK B/BLK EXIT THEN TIB #TIB @ ;
|
||||
1345c1345
|
||||
< \ FIND ' ['] 13JAN85BP) cas21dec05
|
||||
---
|
||||
> \ FIND ' ['] 13JAN85BP)
|
||||
1353c1353
|
||||
< : ' ( -- CFA ) NAME FIND 0= ABORT" WHAT?" ;
|
||||
---
|
||||
> : ' ( -- CFA ) NAME FIND 0= ABORT" HAEH?" ;
|
||||
1377c1377
|
||||
< \ INTERPRET INTERACTIVE 31DEC84KS/BP) cas21dec05
|
||||
---
|
||||
> \ INTERPRET INTERACTIVE 31DEC84KS/BP)
|
||||
1381c1381
|
||||
< : NO.EXTENSIONS ( STRING -- ) ERROR" WHAT?" ; \ STRING NOT 0
|
||||
---
|
||||
> : NO.EXTENSIONS ( STRING -- ) ERROR" HAEH?" ; \ STRING NOT 0
|
||||
1441c1441
|
||||
< \ .STATUS PUSH LOAD 08SEP84KS) cas21dec05
|
||||
---
|
||||
> \ .STATUS PUSH LOAD 08SEP84KS)
|
||||
1450c1450
|
||||
< \\
|
||||
---
|
||||
>
|
||||
1457c1457
|
||||
< \ +LOAD THRU +THRU --> RDEPTH DEPTH KS) cas21dec05
|
||||
---
|
||||
> \ +LOAD THRU +THRU --> RDEPTH DEPTH KS)
|
||||
1459c1459
|
||||
< \ : +LOAD ( OFFSET --) BLK @ + LOAD ;
|
||||
---
|
||||
> : +LOAD ( OFFSET --) BLK @ + LOAD ;
|
||||
1461c1461
|
||||
< \ : THRU ( FROM TO --) 1+ SWAP DO I LOAD LOOP ;
|
||||
---
|
||||
> : THRU ( FROM TO --) 1+ SWAP DO I LOAD LOOP ;
|
||||
1463c1463
|
||||
< \ : +THRU ( OFF0 OFF1 --) 1+ SWAP DO I +LOAD LOOP ;
|
||||
---
|
||||
> : +THRU ( OFF0 OFF1 --) 1+ SWAP DO I +LOAD LOOP ;
|
||||
1465c1465
|
||||
< \ : --> 1 BLK +! >IN OFF .STATUS ; IMMEDIATE
|
||||
---
|
||||
> : --> 1 BLK +! >IN OFF .STATUS ; IMMEDIATE
|
||||
1585c1585
|
||||
< \ .S LIST C/L L/S 24DEC83KS) cas21dec05
|
||||
---
|
||||
> \ .S LIST C/L L/S 24DEC83KS)
|
||||
1592c1592
|
||||
< \\
|
||||
---
|
||||
>
|
||||
1649,1650c1649,1650
|
||||
< \ SEARCH FOR BLOCKS IN MEMORY 11JUN85BP) cas21dec05
|
||||
< \\
|
||||
---
|
||||
> \ SEARCH FOR BLOCKS IN MEMORY 11JUN85BP)
|
||||
>
|
||||
1665,1666c1665,1666
|
||||
< \ " 11JUN85BP) cas21dec05
|
||||
< \\
|
||||
---
|
||||
> \ " 11JUN85BP)
|
||||
>
|
||||
1697,1698c1697,1698
|
||||
< \ (DISKERR 11JUN85BP) cas21dec05
|
||||
< \\
|
||||
---
|
||||
> \ (DISKERR 11JUN85BP)
|
||||
>
|
||||
1713c1713
|
||||
< \\ BACKUP EMPTYBUF READBLK 11JUN85BP) cas21dec05
|
||||
---
|
||||
> \ BACKUP EMPTYBUF READBLK 11JUN85BP)
|
||||
1729c1729
|
||||
< \\ TAKE MARK UPDATES? FULL? CORE? BP) cas21dec05
|
||||
---
|
||||
> \ TAKE MARK UPDATES? FULL? CORE? BP)
|
||||
1745c1745
|
||||
< \\ BLOCK & BUFFER MANIPULATION 11JUN85BP) cas21dec05
|
||||
---
|
||||
> \ BLOCK & BUFFER MANIPULATION 11JUN85BP)
|
||||
1761c1761
|
||||
< \\ BLOCK & BUFFER MANIPULATION 09SEP84KS) cas21dec05
|
||||
---
|
||||
> \ BLOCK & BUFFER MANIPULATION 09SEP84KS)
|
||||
1777c1777
|
||||
< \\ MOVING BLOCKS 15DEC83KS) cas21dec05
|
||||
---
|
||||
> \ MOVING BLOCKS 15DEC83KS)
|
||||
1793c1793
|
||||
< \ ALLOCATING BUFFERS 23SEP83KS) cas21dec05
|
||||
---
|
||||
> \ ALLOCATING BUFFERS 23SEP83KS)
|
||||
1796c1796
|
||||
< \\
|
||||
---
|
||||
>
|
||||
1889c1889
|
||||
< \ SAVE BYE STOP? ?CR 20OCT84KS/BP) cas21dec05
|
||||
---
|
||||
> \ SAVE BYE STOP? ?CR 20OCT84KS/BP)
|
||||
1896c1896
|
||||
< : BYE (BYE ;
|
||||
---
|
||||
> : BYE FLUSH EMPTY (BYE ;
|
||||
1937c1937
|
||||
< \ 'COLD 07JUN85BP) cas21dec05
|
||||
---
|
||||
> \ 'COLD 07JUN85BP)
|
||||
1941c1941
|
||||
< | : INIT-BUFFERS 0 PREV ! LIMIT FIRST ! ;
|
||||
---
|
||||
> | : INIT-BUFFERS 0 PREV ! LIMIT FIRST ! ALL-BUFFERS ;
|
||||
1945,1946c1945,1946
|
||||
< | : (COLD INIT-VOCABULARYS INIT-BUFFERS PAGE 'COLD ONLYFORTH
|
||||
< ." volksFORTH-83 REV 3.81.02" CR RESTART ; -2 ALLOT
|
||||
---
|
||||
> | : (COLD INIT-VOCABULARYS INIT-BUFFERS PAGE 'COLD ONLYFORTH
|
||||
> ." ULTRAFORTH-83 REV 3.5" CR RESTART ; -2 ALLOT
|
||||
1950c1950
|
||||
< 'RESTART [ ERRORHANDLER ] LITERAL @ ERRORHANDLER !
|
||||
---
|
||||
> DRVINIT 'RESTART [ ERRORHANDLER ] LITERAL @ ERRORHANDLER !
|
||||
1953c1953
|
||||
< \ COLD BOOTSYSTEM RESTART 09JUL85WE) cas09dec05
|
||||
---
|
||||
> \ COLD BOOTSYSTEM RESTART 09JUL85WE)
|
||||
1955a1956
|
||||
>
|
||||
1959,1960c1960
|
||||
< $C lda HERE 9 + sta $D lda HERE 5 + sta
|
||||
< LABEL WARMBOOT $e474 jsr BOOTNEXTLEN 1- # LDY
|
||||
---
|
||||
> LABEL WARMBOOT BOOTNEXTLEN 1- # LDY
|
||||
1966,1967c1966
|
||||
< PLA IP STA PLA IP 1+ STA warmboot 100 U/MOD # lda $D sta
|
||||
< # lda $C sta
|
||||
---
|
||||
> PLA IP STA PLA IP 1+ STA
|
||||
1968a1968
|
||||
>
|
||||
2033c2033
|
||||
< \ SYSTEM PATCHUP 05JAN85BP) cas09dec05
|
||||
---
|
||||
> \ SYSTEM PATCHUP 05JAN85BP)
|
||||
2037,2038c2037,2038
|
||||
< A000 ' LIMIT >BODY !
|
||||
< $9800 S0 ! $9B00 R0 !
|
||||
---
|
||||
> 6000 ' LIMIT >BODY !
|
||||
> $5800 S0 ! $5B00 R0 !
|
BIN
6502/Atari8bit/VForth35/ediicon.rsc
Executable file
BIN
6502/Atari8bit/VForth35/ediicon.rsc
Executable file
Binary file not shown.
BIN
6502/Atari8bit/VForth35/f6502.com
Executable file
BIN
6502/Atari8bit/VForth35/f6502.com
Executable file
Binary file not shown.
BIN
6502/Atari8bit/VForth35/forth.ker
Executable file
BIN
6502/Atari8bit/VForth35/forth.ker
Executable file
Binary file not shown.
BIN
6502/Atari8bit/VForth35/forth.sys
Executable file
BIN
6502/Atari8bit/VForth35/forth.sys
Executable file
Binary file not shown.
1
6502/Atari8bit/VForth35/serial.backup2
Executable file
1
6502/Atari8bit/VForth35/serial.backup2
Executable file
File diff suppressed because one or more lines are too long
1
6502/Atari8bit/VForth35/serial.scr
Executable file
1
6502/Atari8bit/VForth35/serial.scr
Executable file
File diff suppressed because one or more lines are too long
304
6502/Atari8bit/VForth35/serial.scr.SRC
Executable file
304
6502/Atari8bit/VForth35/serial.scr.SRC
Executable file
@ -0,0 +1,304 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ loadscreen fuer EMUF i/o cas09dec05
|
||||
|
||||
|
||||
1 &14 +thru
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ 65KEY? GETKEY 25JAN85RE) cs08aug05
|
||||
|
||||
| $02FC Constant CH
|
||||
|
||||
| CODE 65KEY? ( -- FLAG) CH lda clc 1 # adc
|
||||
push0a jmp end-code
|
||||
| CODE G1 LABEL GETCHK $E425 lda pha $E424 lda pha rts end-code
|
||||
| CODE GETKEY ( -- 8B) $FF sty $FE stx GETCHK jsr
|
||||
$FE ldx $FF ldy push0a jmp end-code
|
||||
|
||||
| $02F0 Constant CRSINH
|
||||
| CODE CURON ( --) 01 # lda CRSINH sta NEXT JMP END-CODE
|
||||
| CODE CUROFF ( --) 00 # lda CRSINH sta NEXT JMP END-CODE
|
||||
|
||||
: 65KEY ( -- 8B)
|
||||
CURON BEGIN PAUSE 65KEY? UNTIL CUROFF GETKEY ;
|
||||
\ DECODE EXPECT KEYBOARD BP28MAY85) cs08aug05
|
||||
7E CONSTANT #BS $9B CONSTANT #CR &27 CONSTANT #ESC
|
||||
|
||||
: 65DECODE ( ADDR CNT1 KEY -- ADDR CNT2)
|
||||
#BS CASE? IF DUP IF DEL 1- THEN EXIT THEN
|
||||
#CR CASE? IF DUP SPAN ! EXIT THEN
|
||||
>R 2DUP + R@ SWAP C! R> EMIT 1+ ;
|
||||
|
||||
: 65EXPECT ( ADDR LEN1 -- ) SPAN ! 0
|
||||
BEGIN DUP SPAN @ U<
|
||||
WHILE KEY DECODE
|
||||
REPEAT 2DROP SPACE ;
|
||||
|
||||
INPUT: KEYBOARD [ HERE INPUT ! ]
|
||||
65KEY 65KEY? 65DECODE 65EXPECT [
|
||||
|
||||
\ (emit 65emit ) cs09aug05
|
||||
|
||||
|
||||
| Code O1 LABEL OUTCHK
|
||||
$E407 lda pha $E406 lda pha txa rts end-code
|
||||
|
||||
Code (emit ( 8b -- ) $FF sty $FE stx
|
||||
SP X) lda tax OUTCHK jsr
|
||||
$FE ldx $FF ldy (drop jmp end-code
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ EMIT CR DEL PAGE AT AT? 25JAN85RE) cs09aug05
|
||||
|
||||
| Variable out 0 out ! | &40 Constant c/row
|
||||
|
||||
: 65emit ( 8b -- ) 1 out +! (emit ;
|
||||
|
||||
: 65CR #CR 65emit out @ c/row / 1+ c/row * out ! ;
|
||||
|
||||
: 65DEL #bs 65emit SPACE #bs 65emit -2 out +! ;
|
||||
|
||||
: 65PAGE .( page einf. ) out off ;
|
||||
|
||||
: 65at ( row col -- ) .( at einf. ) swap c/row * + out ! ;
|
||||
|
||||
: 65AT? ( -- ROW COL ) out @ c/row /mod &24 min swap ;
|
||||
|
||||
\ er14dez88
|
||||
|
||||
: 65type ( adr len -- ) bounds ?DO I c@ emit LOOP ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ TYPE DISPLAY (BYE BP 28MAY85RE) cas09dec05
|
||||
|
||||
OUTPUT: DISPLAY [ HERE OUTPUT ! ]
|
||||
65EMIT 65CR 65TYPE 65DEL 65PAGE 65AT 65AT? [
|
||||
|
||||
\ fix dosini vector and jump through dosvec
|
||||
| code (bye warmboot 1+ lda $0C sta warmboot 2+ lda
|
||||
$0D sta $000A ) jmp end-code
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ B/BLK cas21dec05
|
||||
|
||||
$400 CONSTANT B/BLK
|
||||
|
||||
\ definitions for fileinterface
|
||||
|
||||
&4 CONSTANT R/O &8 CONSTANT W/O &12 CONSTANT R/W
|
||||
3 CONSTANT IO-OPEN 5 CONSTANT IO-GETREC 7 CONSTANT IO-GETCHR
|
||||
9 CONSTANT IO-PUTREC $B CONSTANT IO-PUTCHR $C CONSTANT IO-CLOSE
|
||||
|
||||
$340 CONSTANT ICFLG $342 CONSTANT ICCOM $343 CONSTANT ICSTA
|
||||
$344 CONSTANT ICBAL $345 CONSTANT ICBAH $348 CONSTANT ICBLL
|
||||
$349 CONSTANT ICBLH $34A CONSTANT ICAX1 $34B CONSTANT ICAX2
|
||||
$E456 CONSTANT CIOV
|
||||
|
||||
|
||||
\ definitions for fileinterface cas21dec05
|
||||
|
||||
label freeiocb0 70 # lda label freeiocb2 tay ICFLG ,y lda
|
||||
$FF # cmp 0<> ?[ tya sec $10 # sbc freeiocb2 bne ]?
|
||||
tya rts
|
||||
|
||||
code freeiocb freeiocb0 jsr .a lsr .a lsr .a lsr .a lsr pha
|
||||
push0a jmp end-code
|
||||
|
||||
label getfileid sp x) lda .a ASL .a ASL .a ASL .a ASL tay rts
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ definitions for fileinterface cas13dec05
|
||||
|
||||
code close-file getfileid jsr tax IO-CLOSE # lda ICCOM ,x sta
|
||||
CIOV jsr sp 2inc ICSTA ,x lda 0>= ?[ 0 # lda ]? pha
|
||||
PUSH0A jmp end-code
|
||||
|
||||
code open-file freeiocb0 jsr tax IO-OPEN # lda ICCOM ,y sta
|
||||
4 # ldy sp )y lda ICBAL ,x sta
|
||||
iny sp )y lda ICBAH ,x sta
|
||||
0 # ldy sp )y lda ICAX1 ,x sta
|
||||
tya ICAX2 ,x sta
|
||||
CIOV jsr sp 2inc 0 # ldy ICSTA ,x lda sp )y sta
|
||||
0>= ?[ 0 # lda sp )y sta ]? 0 # lda tay iny sp )y sta
|
||||
iny iny sp )y sta txa clc .a lsr .a lsr .a lsr
|
||||
.a lsr dey sp )y sta xynext jmp end-code
|
||||
|
||||
\ definitions for fileinterface cas09dec05
|
||||
|
||||
code read-file ( caddr u fileid -- u2 ior )
|
||||
getfileid jsr tax
|
||||
2 # ldy sp )y lda ICBLL ,x sta
|
||||
iny sp )y lda ICBLH ,x sta
|
||||
iny sp )y lda ICBAL ,x sta
|
||||
iny sp )y lda ICBAH ,x sta
|
||||
IO-GETCHR # lda ICCOM ,x sta
|
||||
CIOV jsr sp 2inc 0 # ldy
|
||||
ICSTA ,x lda sp )y sta
|
||||
0>= ?[ 0 # lda sp )y sta ]? tya iny sp )y sta
|
||||
clc iny ICBLL ,x lda sp )y sta
|
||||
iny ICBLH ,x lda sp )y sta xynext jmp end-code
|
||||
|
||||
|
||||
\ definitions for fileinterface cas09dec05
|
||||
|
||||
code read-line ( caddr u fileid -- u2 flag ior )
|
||||
getfileid jsr tax
|
||||
2 # ldy sp )y lda ICBLL ,x sta
|
||||
iny sp )y lda ICBLH ,x sta
|
||||
iny sp )y lda ICBAL ,x sta
|
||||
iny sp )y lda ICBAH ,x sta
|
||||
IO-GETREC # lda ICCOM ,x sta
|
||||
CIOV jsr 0 # ldy
|
||||
ICSTA ,x lda
|
||||
0>= ?[ tya ]? sp )y sta
|
||||
4 # ldy ICBLL ,x lda sp )y sta
|
||||
ICBAL ,x adc tay dey n sty 5 # ldy ICBLH ,x lda sp )y sta
|
||||
ICBAH ,x adc n 1+ sta 0 # lda tay n )y sta iny
|
||||
sp )y sta iny sp )y sta iny sp )y sta xynext jmp end-code
|
||||
\ definitions for fileinterface cas21dec05
|
||||
|
||||
code write-file ( caddr u fileid -- ior )
|
||||
getfileid jsr tax
|
||||
2 # ldy sp )y lda ICBLL ,x sta
|
||||
iny sp )y lda ICBLH ,x sta
|
||||
iny sp )y lda ICBAL ,x sta
|
||||
iny sp )y lda ICBAH ,x sta
|
||||
IO-PUTCHR # lda ICCOM ,x sta
|
||||
CIOV jsr sp 2inc sp 2inc 0 # ldy
|
||||
ICSTA ,x lda sp )y sta
|
||||
0>= ?[ 0 # lda sp )y sta ]?
|
||||
xynext jmp end-code
|
||||
|
||||
|
||||
|
||||
\ definitions for fileinterface cas21dec05
|
||||
VARIABLE SOURCE-ID 0 SOURCE-ID !
|
||||
$580 CONSTANT FNBUF
|
||||
: REFILL tib $50 erase tib $50 SOURCE-ID @ READ-LINE
|
||||
ROT 1 - #tib ! >in off blk off nip ;
|
||||
: TIBSAVE #TIB @ $FE ! >in @ $FC ! FNBUF >tib ! ;
|
||||
: TIBREST $FC @ >in ! $FE @ #tib ! $100 >tib ! ;
|
||||
: INCLUDE-FILE ( fileid -- )
|
||||
SOURCE-ID ! BEGIN REFILL $80 < WHILE INTERPRET REPEAT
|
||||
SOURCE-ID @ CLOSE-FILE ;
|
||||
: INCLUDED ( caddr u -- ) R/O OPEN-FILE $80 < IF TIBSAVE
|
||||
INCLUDE-FILE 0 SOURCE-ID ! TIBREST HERE $50 $20 FILL THEN ;
|
||||
: FILE" FNBUF $50 BL FILL HERE $50 BL FILL ASCII " WORD
|
||||
COUNT FNBUF SWAP CMOVE FNBUF 0 ;
|
||||
: INCLUDE" ( FNAME ) FILE" INCLUDED ; IMMEDIATE
|
||||
|
||||
\ cas21dec05
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
1
6502/Atari8bit/VForth35/serial.scr.backup
Executable file
1
6502/Atari8bit/VForth35/serial.scr.backup
Executable file
File diff suppressed because one or more lines are too long
1
6502/Atari8bit/VForth35/serial.scr.org
Executable file
1
6502/Atari8bit/VForth35/serial.scr.org
Executable file
File diff suppressed because one or more lines are too long
176
6502/Atari8bit/VForth35/serial.scr.org.SRC
Executable file
176
6502/Atari8bit/VForth35/serial.scr.org.SRC
Executable file
@ -0,0 +1,176 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ loadscreen fuer EMUF i/o er14dez88
|
||||
|
||||
|
||||
1 9 +thru
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ 65KEY? GETKEY 25JAN85RE) er14dez88
|
||||
|
||||
CODE 65KEY? ( -- FLAG) $C0EA jsr push0a jmp end-code
|
||||
|
||||
CODE GETKEY ( -- 8B) $C0A6 jsr push0a jmp end-code
|
||||
|
||||
CODE CURON ( --) NEXT JMP END-CODE
|
||||
|
||||
CODE CUROFF ( --) NEXT JMP END-CODE
|
||||
|
||||
: 65KEY ( -- 8B)
|
||||
CURON BEGIN PAUSE 65KEY? UNTIL CUROFF GETKEY ;
|
||||
|
||||
|
||||
|
||||
|
||||
\ DECODE EXPECT KEYBOARD BP28MAY85)
|
||||
08 CONSTANT #BS 0D CONSTANT #CR &27 CONSTANT #ESC
|
||||
|
||||
: 65DECODE ( ADDR CNT1 KEY -- ADDR CNT2)
|
||||
#BS CASE? IF DUP IF DEL 1- THEN EXIT THEN
|
||||
#CR CASE? IF DUP SPAN ! EXIT THEN
|
||||
>R 2DUP + R@ SWAP C! R> EMIT 1+ ;
|
||||
|
||||
: 65EXPECT ( ADDR LEN1 -- ) SPAN ! 0
|
||||
BEGIN DUP SPAN @ U<
|
||||
WHILE KEY DECODE
|
||||
REPEAT 2DROP SPACE ;
|
||||
|
||||
INPUT: KEYBOARD [ HERE INPUT ! ]
|
||||
65KEY 65KEY? 65DECODE 65EXPECT [
|
||||
|
||||
\ senden? (emit 65emit 25JAN85RE) er14dez88
|
||||
|
||||
| $8001 Constant aciasr
|
||||
| $8000 Constant aciaio
|
||||
|
||||
| Code senden? ( -- flg )
|
||||
aciasr lda pha $08 # and 0= not ?[ $c058 jsr ]?
|
||||
pla $10 # and push0a jmp end-code
|
||||
|
||||
Code (emit ( 8b -- ) SP X) LDA aciaio sta (drop jmp end-code
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ EMIT CR DEL PAGE AT AT? 25JAN85RE) er14dez88
|
||||
|
||||
| Variable out 0 out ! | &80 Constant c/row
|
||||
|
||||
: 65emit ( 8b -- ) BEGIN pause senden? UNTIL 1 out +! (emit ;
|
||||
|
||||
: 65CR #CR 65emit out @ c/row / 1+ c/row * out ! ;
|
||||
|
||||
: 65DEL #bs 65emit SPACE #bs 65emit -2 out +! ;
|
||||
|
||||
: 65PAGE .( page einf. ) out off ;
|
||||
|
||||
: 65at ( row col -- ) .( at einf. ) swap c/row * + out ! ;
|
||||
|
||||
: 65AT? ( -- ROW COL ) out @ c/row /mod &24 min swap ;
|
||||
|
||||
\ er14dez88
|
||||
|
||||
: 65type ( adr len -- ) bounds ?DO I c@ emit LOOP ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ TYPE DISPLAY (BYE BP 28MAY85RE) er14dez88
|
||||
|
||||
OUTPUT: DISPLAY [ HERE OUTPUT ! ]
|
||||
65EMIT 65CR 65TYPE 65DEL 65PAGE 65AT 65AT? [
|
||||
|
||||
|
||||
| : (bye ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ B/BLK DRIVE >DRIVE DRVINIT 28MAY85RE) er14dez88
|
||||
|
||||
$400 CONSTANT B/BLK
|
||||
|
||||
$0AA CONSTANT BLK/DRV
|
||||
|
||||
| VARIABLE (DRV 0 (DRV !
|
||||
|
||||
| : DISK ( -- DEV.NO ) (DRV @ 8 + ;
|
||||
|
||||
: DRIVE ( DRV# -- ) BLK/DRV * OFFSET ! ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ er14dez88
|
||||
: >DRIVE ( BLOCK DRV# -- BLOCK' )
|
||||
BLK/DRV * + OFFSET @ - ;
|
||||
: DRV? ( BLOCK -- DRV# )
|
||||
OFFSET @ + BLK/DRV / ;
|
||||
|
||||
: DRVINIT NOOP ;
|
||||
.( fuer reads. u. writes. ist errorhandler erforderlich )
|
||||
| : readserial ( adr blk -- )
|
||||
&27 emit .( rb ) space base push decimal . cr
|
||||
$400 bounds DO key I c! LOOP ;
|
||||
|
||||
| : writeserial ( adr blk -- )
|
||||
&27 emit .( wb ) space base push decimal . cr
|
||||
$400 bounds DO I c@ emit LOOP ;
|
||||
|
||||
\ (r/w er14dez88
|
||||
|
||||
: (R/W ( ADR BLK FILE R/WF -- FLAG)
|
||||
swap abort" no file"
|
||||
IF readserial ELSE writeserial THEN false ;
|
||||
|
||||
' (R/W IS R/W
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
1
6502/Atari8bit/VForth35/tasker.scr
Executable file
1
6502/Atari8bit/VForth35/tasker.scr
Executable file
File diff suppressed because one or more lines are too long
240
6502/Atari8bit/VForth35/tools.f
Executable file
240
6502/Atari8bit/VForth35/tools.f
Executable file
@ -0,0 +1,240 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ TOOLS LOADSCREEN 22MAR85RE)
|
||||
|
||||
ONLYFORTH
|
||||
|
||||
\NEEDS CODE abort( Assembler is needed )
|
||||
|
||||
VOCABULARY TOOLS
|
||||
|
||||
TOOLS ALSO DEFINITIONS
|
||||
hex
|
||||
1 &11 +THRU
|
||||
decimal
|
||||
ONLYFORTH
|
||||
|
||||
|
||||
|
||||
\ HANDLE STEPS BP 10 02 85)
|
||||
|
||||
ASSEMBLER ALSO DEFINITIONS
|
||||
|
||||
ONLY FORTH ALSO TOOLS ALSO DEFINITIONS
|
||||
| VARIABLE (W | VARIABLE RPT
|
||||
|
||||
| CODE STEP
|
||||
RPT DEC RP X) LDA IP STA
|
||||
RP )Y LDA IP 1+ STA RP 2INC
|
||||
(W LDA W STA (W 1+ LDA W 1+ STA
|
||||
W 1- JMP END-CODE
|
||||
|
||||
| CREATE NEXTSTEP ] STEP [
|
||||
|
||||
|
||||
\ THROW STATUS ON R-STACK B 23JUL85RE)
|
||||
|
||||
| CREATE NPULL 0 ]
|
||||
RP@ COUNT 2DUP + RP! R> SWAP CMOVE ;
|
||||
|
||||
: NPUSH ( ADDR LEN -)
|
||||
R> -ROT OVER >R RP@ OVER 1+ - DUP RP! PLACE
|
||||
NPULL >R >R ;
|
||||
|
||||
| : ONELINE .STATUS SPACE QUERY INTERPRET
|
||||
-82 ALLOT RDROP ( DELETE QUIT FROM TNEXT ) ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ TRAP AND DISPLAY KS 26MAR85RE)
|
||||
LABEL TNEXT
|
||||
IP 2INC RP LDA RPT CMP 0<> ?[
|
||||
[[ W 1- JMP SWAP ]?
|
||||
RP 1+ LDA RPT 1+ CMP 0= ?]
|
||||
LABEL DOTRACE
|
||||
RPT INC ( DISABLE TRACER )
|
||||
W LDA (W STA W 1+ LDA (W 1+ STA
|
||||
;C: R@ NEXTSTEP >R
|
||||
INPUT PUSH KEYBOARD
|
||||
OUTPUT PUSH DISPLAY
|
||||
CR 2- DUP 4 U.R @ DUP 5 U.R 2 SPACES
|
||||
>NAME .NAME 1C COL - 0 MAX SPACES .S
|
||||
STATE PUSH BLK PUSH >IN PUSH
|
||||
[ ' 'QUIT >BODY ] LITERAL PUSH
|
||||
[ ' >INTERPRET >BODY ] LITERAL PUSH
|
||||
\
|
||||
#TIB PUSH TIB #TIB @ NPUSH R0 PUSH
|
||||
RP@ R0 ! 082 ALLOT
|
||||
['] ONELINE IS 'QUIT QUIT ; -2 ALLOT
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ TRACER COMMANDS BP 23JUL85RE)
|
||||
|
||||
| CODE (TRACE TNEXT 0 100 M/MOD
|
||||
# LDA NEXT 0C + STA
|
||||
# LDA NEXT 0B + STA
|
||||
04C # LDA NEXT 0A + STA NEXT JMP END-CODE
|
||||
|
||||
: TRACE' RP@ 2- RPT ! ' (TRACE EXECUTE END-TRACE ;
|
||||
|
||||
: BREAK RP@ 2+ RPT ! (TRACE ; RESTRICT
|
||||
|
||||
: TRACEL: CREATE , DOES> @ RPT +! ;
|
||||
|
||||
-6 TRACEL: +DO 6 TRACEL: -DO
|
||||
-2 TRACEL: +R 2 TRACEL: -R
|
||||
-6 TRACEL: +PUSH 6 TRACEL: -PUSH
|
||||
\ WATCH TRAP BP 10 02 85 )
|
||||
|
||||
| VARIABLE WATCHPT 2 ALLOT
|
||||
|
||||
LABEL WNEXT IP 2INC
|
||||
WATCHPT LDA N STA WATCHPT 1+ LDA N 1+ STA
|
||||
N X) LDA WATCHPT 2+ CMP 0<> ?[
|
||||
[[ RP LDA RPT STA RP 1+ LDA RPT 1+ STA
|
||||
( SET TO TNEXT) TNEXT 0 100 M/MOD
|
||||
# LDA NEXT 0C + STA # LDA NEXT 0B + STA
|
||||
DOTRACE JMP SWAP ]?
|
||||
N )Y LDA WATCHPT 3 + CMP 0= ?] W 1- JMP END-CODE
|
||||
|
||||
|
||||
|
||||
|
||||
\ WATCH COMMANDS BP 10 02 85 )
|
||||
|
||||
| CODE (WATCH WNEXT 0 100 M/MOD
|
||||
# LDA NEXT 0C + STA
|
||||
# LDA NEXT 0B + STA
|
||||
04C # LDA NEXT 0A + STA NEXT JMP END-CODE
|
||||
|
||||
: WATCH' ( ADR -- )
|
||||
DUP WATCHPT ! @ WATCHPT 2+ ! ' (WATCH EXECUTE END-TRACE ;
|
||||
|
||||
: CONT ( -) WATCHPT @ @ WATCHPT 2+ ! (WATCH ;
|
||||
|
||||
( SYNTAX : <VARNAME> WATCH' <PROCEDURE> )
|
||||
|
||||
|
||||
|
||||
\ TOOLS FOR DECOMPILING, KS 4 APR 83 )
|
||||
( INTERACTIVE USE )
|
||||
| : ?: DUP 4 U.R ." :" ;
|
||||
| : @? DUP @ 6 U.R ;
|
||||
| : C? DUP C@ 3 .R ;
|
||||
| : BL 024 COL - 0 MAX SPACES ;
|
||||
|
||||
: S ( ADR - ADR+) ( PRINT LITERAL STRING)
|
||||
?: SPACE C? 4 SPACES DUP COUNT TYPE
|
||||
DUP C@ + 1+ BL ; ( COUNT + RE)
|
||||
|
||||
: N ( ADR - ADR+2) ( PRINT NAME OF NEXT WORD BY ITS CFA)
|
||||
?: @? 2 SPACES DUP @ >NAME .NAME 2+ BL ;
|
||||
|
||||
: L ( ADR - ADR+2) ( PRINT LITERAL VALUE) ?: @? 2+ BL ;
|
||||
|
||||
\ TOOLS FOR DECOMPILING, INTERACTIVE )
|
||||
|
||||
: D ( ADR N - ADR+N) ( DUMP N BYTES)
|
||||
2DUP SWAP ?: 3 SPACES SWAP 0 DO C? 1+ LOOP
|
||||
4 SPACES -ROT TYPE BL ;
|
||||
|
||||
: C ( ADR - ADR+1) ( PRINT BYTE AS UNSIGNED VALUE) 1 D ;
|
||||
|
||||
: B ( ADR - ADR+2) ( PRINT BRANCH TARGET LOCATION )
|
||||
?: @? DUP @ OVER + 6 U.R 2+ BL ;
|
||||
|
||||
( USED FOR : )
|
||||
( NAME STRING LITERAL DUMP CLIT BRANCH )
|
||||
( - - - - - - )
|
||||
|
||||
|
||||
\ DEBUGGING UTILITIES BP 19 02 85 )
|
||||
|
||||
: UNRAVEL \ UNRAVEL PERFORM (ABORT"
|
||||
RDROP RDROP RDROP CR ." TRACE DUMP IS " CR
|
||||
|
||||
BEGIN RP@ R0 @ -
|
||||
WHILE R> DUP 8 U.R SPACE 2- @ >NAME .NAME CR
|
||||
REPEAT (ERROR ;
|
||||
|
||||
' UNRAVEL ERRORHANDLER !
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
1
6502/Atari8bit/VForth35/tools.scr
Executable file
1
6502/Atari8bit/VForth35/tools.scr
Executable file
File diff suppressed because one or more lines are too long
240
6502/Atari8bit/VForth35/tools.scr.SRC
Executable file
240
6502/Atari8bit/VForth35/tools.scr.SRC
Executable file
@ -0,0 +1,240 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ TOOLS LOADSCREEN 22MAR85RE)
|
||||
|
||||
ONLYFORTH
|
||||
|
||||
\NEEDS CODE abort( Assembler is needed )
|
||||
|
||||
VOCABULARY TOOLS
|
||||
|
||||
TOOLS ALSO DEFINITIONS
|
||||
hex
|
||||
1 &11 +THRU
|
||||
decimal
|
||||
ONLYFORTH
|
||||
|
||||
|
||||
|
||||
\ HANDLE STEPS BP 10 02 85)
|
||||
|
||||
ASSEMBLER ALSO DEFINITIONS
|
||||
|
||||
ONLY FORTH ALSO TOOLS ALSO DEFINITIONS
|
||||
| VARIABLE (W | VARIABLE RPT
|
||||
|
||||
| CODE STEP
|
||||
RPT DEC RP X) LDA IP STA
|
||||
RP )Y LDA IP 1+ STA RP 2INC
|
||||
(W LDA W STA (W 1+ LDA W 1+ STA
|
||||
W 1- JMP END-CODE
|
||||
|
||||
| CREATE NEXTSTEP ] STEP [
|
||||
|
||||
|
||||
\ THROW STATUS ON R-STACK B 23JUL85RE)
|
||||
|
||||
| CREATE NPULL 0 ]
|
||||
RP@ COUNT 2DUP + RP! R> SWAP CMOVE ;
|
||||
|
||||
: NPUSH ( ADDR LEN -)
|
||||
R> -ROT OVER >R RP@ OVER 1+ - DUP RP! PLACE
|
||||
NPULL >R >R ;
|
||||
|
||||
| : ONELINE .STATUS SPACE QUERY INTERPRET
|
||||
-82 ALLOT RDROP ( DELETE QUIT FROM TNEXT ) ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ TRAP AND DISPLAY KS 26MAR85RE)
|
||||
LABEL TNEXT
|
||||
IP 2INC RP LDA RPT CMP 0<> ?[
|
||||
[[ W 1- JMP SWAP ]?
|
||||
RP 1+ LDA RPT 1+ CMP 0= ?]
|
||||
LABEL DOTRACE
|
||||
RPT INC ( DISABLE TRACER )
|
||||
W LDA (W STA W 1+ LDA (W 1+ STA
|
||||
;C: R@ NEXTSTEP >R
|
||||
INPUT PUSH KEYBOARD
|
||||
OUTPUT PUSH DISPLAY
|
||||
CR 2- DUP 4 U.R @ DUP 5 U.R 2 SPACES
|
||||
>NAME .NAME 1C COL - 0 MAX SPACES .S
|
||||
STATE PUSH BLK PUSH >IN PUSH
|
||||
[ ' 'QUIT >BODY ] LITERAL PUSH
|
||||
[ ' >INTERPRET >BODY ] LITERAL PUSH
|
||||
\
|
||||
#TIB PUSH TIB #TIB @ NPUSH R0 PUSH
|
||||
RP@ R0 ! 082 ALLOT
|
||||
['] ONELINE IS 'QUIT QUIT ; -2 ALLOT
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\ TRACER COMMANDS BP 23JUL85RE)
|
||||
|
||||
| CODE (TRACE TNEXT 0 100 M/MOD
|
||||
# LDA NEXT 0C + STA
|
||||
# LDA NEXT 0B + STA
|
||||
04C # LDA NEXT 0A + STA NEXT JMP END-CODE
|
||||
|
||||
: TRACE' RP@ 2- RPT ! ' (TRACE EXECUTE END-TRACE ;
|
||||
|
||||
: BREAK RP@ 2+ RPT ! (TRACE ; RESTRICT
|
||||
|
||||
: TRACEL: CREATE , DOES> @ RPT +! ;
|
||||
|
||||
-6 TRACEL: +DO 6 TRACEL: -DO
|
||||
-2 TRACEL: +R 2 TRACEL: -R
|
||||
-6 TRACEL: +PUSH 6 TRACEL: -PUSH
|
||||
\ WATCH TRAP BP 10 02 85 )
|
||||
|
||||
| VARIABLE WATCHPT 2 ALLOT
|
||||
|
||||
LABEL WNEXT IP 2INC
|
||||
WATCHPT LDA N STA WATCHPT 1+ LDA N 1+ STA
|
||||
N X) LDA WATCHPT 2+ CMP 0<> ?[
|
||||
[[ RP LDA RPT STA RP 1+ LDA RPT 1+ STA
|
||||
( SET TO TNEXT) TNEXT 0 100 M/MOD
|
||||
# LDA NEXT 0C + STA # LDA NEXT 0B + STA
|
||||
DOTRACE JMP SWAP ]?
|
||||
N )Y LDA WATCHPT 3 + CMP 0= ?] W 1- JMP END-CODE
|
||||
|
||||
|
||||
|
||||
|
||||
\ WATCH COMMANDS BP 10 02 85 )
|
||||
|
||||
| CODE (WATCH WNEXT 0 100 M/MOD
|
||||
# LDA NEXT 0C + STA
|
||||
# LDA NEXT 0B + STA
|
||||
04C # LDA NEXT 0A + STA NEXT JMP END-CODE
|
||||
|
||||
: WATCH' ( ADR -- )
|
||||
DUP WATCHPT ! @ WATCHPT 2+ ! ' (WATCH EXECUTE END-TRACE ;
|
||||
|
||||
: CONT ( -) WATCHPT @ @ WATCHPT 2+ ! (WATCH ;
|
||||
|
||||
( SYNTAX : <VARNAME> WATCH' <PROCEDURE> )
|
||||
|
||||
|
||||
|
||||
\ TOOLS FOR DECOMPILING, KS 4 APR 83 )
|
||||
( INTERACTIVE USE )
|
||||
| : ?: DUP 4 U.R ." :" ;
|
||||
| : @? DUP @ 6 U.R ;
|
||||
| : C? DUP C@ 3 .R ;
|
||||
| : BL 024 COL - 0 MAX SPACES ;
|
||||
|
||||
: S ( ADR - ADR+) ( PRINT LITERAL STRING)
|
||||
?: SPACE C? 4 SPACES DUP COUNT TYPE
|
||||
DUP C@ + 1+ BL ; ( COUNT + RE)
|
||||
|
||||
: N ( ADR - ADR+2) ( PRINT NAME OF NEXT WORD BY ITS CFA)
|
||||
?: @? 2 SPACES DUP @ >NAME .NAME 2+ BL ;
|
||||
|
||||
: L ( ADR - ADR+2) ( PRINT LITERAL VALUE) ?: @? 2+ BL ;
|
||||
|
||||
\ TOOLS FOR DECOMPILING, INTERACTIVE )
|
||||
|
||||
: D ( ADR N - ADR+N) ( DUMP N BYTES)
|
||||
2DUP SWAP ?: 3 SPACES SWAP 0 DO C? 1+ LOOP
|
||||
4 SPACES -ROT TYPE BL ;
|
||||
|
||||
: C ( ADR - ADR+1) ( PRINT BYTE AS UNSIGNED VALUE) 1 D ;
|
||||
|
||||
: B ( ADR - ADR+2) ( PRINT BRANCH TARGET LOCATION )
|
||||
?: @? DUP @ OVER + 6 U.R 2+ BL ;
|
||||
|
||||
( USED FOR : )
|
||||
( NAME STRING LITERAL DUMP CLIT BRANCH )
|
||||
( - - - - - - )
|
||||
|
||||
|
||||
\ DEBUGGING UTILITIES BP 19 02 85 )
|
||||
|
||||
: UNRAVEL \ UNRAVEL PERFORM (ABORT"
|
||||
RDROP RDROP RDROP CR ." TRACE DUMP IS " CR
|
||||
|
||||
BEGIN RP@ R0 @ -
|
||||
WHILE R> DUP 8 U.R SPACE 2- @ >NAME .NAME CR
|
||||
REPEAT (ERROR ;
|
||||
|
||||
' UNRAVEL ERRORHANDLER !
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
1
6502/Atari8bit/VForth35/ttools.scr
Executable file
1
6502/Atari8bit/VForth35/ttools.scr
Executable file
File diff suppressed because one or more lines are too long
BIN
6502/Atari8bit/VForth35/vforth.com
Executable file
BIN
6502/Atari8bit/VForth35/vforth.com
Executable file
Binary file not shown.
118
6502/Atari8bit/math/FLOAT.fs
Executable file
118
6502/Atari8bit/math/FLOAT.fs
Executable file
@ -0,0 +1,118 @@
|
||||
\ Floating Point Extension
|
||||
\ using Atari 8bit ROM FP Routines
|
||||
\ based on FIG Forth APX20029
|
||||
|
||||
\needs CALL INCLUDE" D:CALL.FS"
|
||||
|
||||
CR .( loading Floating Point ext. )
|
||||
|
||||
VOCABULARY FMATH
|
||||
FMATH ALSO DEFINITIONS
|
||||
|
||||
$D4 CONSTANT FR0
|
||||
$E0 CONSTANT FR1
|
||||
$FC CONSTANT FLPTR
|
||||
$F3 CONSTANT INBUF
|
||||
$F2 CONSTANT CIX
|
||||
|
||||
| : XCALL CALL DROP ;
|
||||
|
||||
| : AFP $D800 XCALL ;
|
||||
| : FASC $D8E6 XCALL ;
|
||||
| : IFP $D9AA XCALL ;
|
||||
| : FPI $D9D2 XCALL ;
|
||||
| : FADD $DA66 XCALL ;
|
||||
| : FSUB $DA60 XCALL ;
|
||||
| : FMUL $DADB XCALL ;
|
||||
| : FDIV $DB28 XCALL ;
|
||||
| : FLG $DECD XCALL ;
|
||||
| : FLG10 $DED1 XCALL ;
|
||||
| : FEX $DDC0 XCALL ;
|
||||
| : FEX10 $DDCC XCALL ;
|
||||
| : FPOLY $DD40 XCALL ;
|
||||
|
||||
: F@ ( addr -- fp )
|
||||
>R R@ @ R@ 2+ @ R> 4 + @ ;
|
||||
|
||||
: F! ( fp addr -- )
|
||||
>R R@ 4 + ! R@ 2+ ! R> ! ;
|
||||
|
||||
: F.TY ( -- )
|
||||
BEGIN
|
||||
INBUF @ C@ DUP $7F AND EMIT
|
||||
1 INBUF +!
|
||||
$80 > UNTIL ;
|
||||
|
||||
: FSWAP ( fp1 fp2 -- fp2 fp1 )
|
||||
5 ROLL 5 ROLL 5 ROLL ;
|
||||
|
||||
: FDROP ( fp -- )
|
||||
2DROP DROP ;
|
||||
|
||||
: FDUP ( fp -- fp fp )
|
||||
2 PICK 2 PICK 2 PICK ;
|
||||
|
||||
: FOVER ( fp1 fp2 -- fp1 fp2 fp1 )
|
||||
5 PICK 5 PICK 5 PICK ;
|
||||
|
||||
: F. ( fp -- )
|
||||
FR0 F@ FSWAP FR0 F!
|
||||
FASC F.TY SPACE
|
||||
FR0 F! ;
|
||||
|
||||
: F? ( addr -- )
|
||||
F@ F. ;
|
||||
|
||||
: <F ( fp1 fp2 -- )
|
||||
FR1 F! FR0 F! ;
|
||||
|
||||
: F> ( -- fp1 )
|
||||
FR0 F@ ;
|
||||
|
||||
: FS ( fp -- )
|
||||
FR0 F! ;
|
||||
|
||||
: F+ <F FADD F> ;
|
||||
: F- <F FSUB F> ;
|
||||
: F* <F FMUL F> ;
|
||||
: F/ <F FDIV F> ;
|
||||
|
||||
: FLOAT ( n -- fp )
|
||||
FR0 ! IFP F> ;
|
||||
|
||||
: FIX ( fp -- n )
|
||||
FS FPI FR0 @ ;
|
||||
|
||||
: FLOG FS FLG F> ;
|
||||
: FLOG10 FS FLG10 F> ;
|
||||
: FEXP FS FEX F> ;
|
||||
: FEXP10 FS FEX10 F> ;
|
||||
|
||||
: ASCF ( addr -- fp )
|
||||
INBUF ! 0 CIX C! AFP F> ;
|
||||
|
||||
: F0= OR OR 0= ;
|
||||
: F= F- F0= ;
|
||||
: F< F- 2DROP $80 AND 0 > ;
|
||||
|
||||
: F, ( fp -- )
|
||||
ROT , SWAP , , ;
|
||||
|
||||
: FCONSTANT
|
||||
CREATE F, DOES> F@ ;
|
||||
: FVARIABLE
|
||||
CREATE 6 ALLOT DOES> ;
|
||||
|
||||
| : FLIT
|
||||
R> DUP 6 + >R F@ ;
|
||||
: FLITERAL
|
||||
COMPILE FLIT F, ;
|
||||
: FLOATING
|
||||
BL WORD 1+
|
||||
ASCF FLITERAL ; IMMEDIATE
|
||||
: [FLOATING] [COMPILE] FLOATING ; IMMEDIATE
|
||||
|
||||
CR .( Floating Point ext. loaded. ) CR
|
||||
|
||||
ONLYFORTH
|
||||
|
118
6502/Atari8bit/math/FLOAT.fs~
Executable file
118
6502/Atari8bit/math/FLOAT.fs~
Executable file
@ -0,0 +1,118 @@
|
||||
\ Floating Point Extension
|
||||
\ using Atari 8bit ROM FP Routines
|
||||
\ based on FIG Forth APX20029
|
||||
|
||||
\needs CALL INCLUDE" D:CALL.FS"
|
||||
|
||||
CR .( loading Floating Point ext. )
|
||||
|
||||
VOCABULARY FMATH
|
||||
FMATH ALSO DEFINITIONS
|
||||
|
||||
$D4 CONSTANT FR0
|
||||
$E0 CONSTANT FR1
|
||||
$FC CONSTANT FLPTR
|
||||
$F3 CONSTANT INBUF
|
||||
$F2 CONSTANT CIX
|
||||
|
||||
| : XCALL CALL DROP ;
|
||||
|
||||
| : AFP $D800 XCALL ;
|
||||
| : FASC $D8E6 XCALL ;
|
||||
| : IFP $D9AA XCALL ;
|
||||
| : FPI $D9D2 XCALL ;
|
||||
| : FADD $DA66 XCALL ;
|
||||
| : FSUB $DA60 XCALL ;
|
||||
| : FMUL $DADB XCALL ;
|
||||
| : FDIV $DB28 XCALL ;
|
||||
| : FLG $DECD XCALL ;
|
||||
| : FLG10 $DED1 XCALL ;
|
||||
| : FEX $DDC0 XCALL ;
|
||||
| : FEX10 $DDCC XCALL ;
|
||||
| : FPOLY $DD40 XCALL ;
|
||||
|
||||
: F@ ( -- fp )
|
||||
>R R@ @ R@ 2+ @ R> 4 + @ ;
|
||||
|
||||
: F! ( fp addr -- )
|
||||
>R R@ 4 + ! R@ 2+ ! R> ! ;
|
||||
|
||||
: F.TY ( -- )
|
||||
BEGIN
|
||||
INBUF @ C@ DUP $7F AND EMIT
|
||||
1 INBUF +!
|
||||
$80 > UNTIL ;
|
||||
|
||||
: FSWAP ( fp1 fp2 -- fp2 fp1 )
|
||||
5 ROLL 5 ROLL 5 ROLL ;
|
||||
|
||||
: FDROP ( fp -- )
|
||||
2DROP DROP ;
|
||||
|
||||
: FDUP ( fp -- fp fp )
|
||||
2 PICK 2 PICK 2 PICK ;
|
||||
|
||||
: FOVER ( fp1 fp2 -- fp1 fp2 fp1 )
|
||||
5 PICK 5 PICK 5 PICK ;
|
||||
|
||||
: F. ( fp -- )
|
||||
FR0 F@ FSWAP FR0 F!
|
||||
FASC F.TY SPACE
|
||||
FR0 F! ;
|
||||
|
||||
: F? ( fp -- )
|
||||
F@ F. ;
|
||||
|
||||
: <F ( fp1 fp2 -- )
|
||||
FR1 F! FR0 F! ;
|
||||
|
||||
: F> ( -- fp1 )
|
||||
FR0 F@ ;
|
||||
|
||||
: FS ( fp -- )
|
||||
FR0 F! ;
|
||||
|
||||
: F+ <F FADD F> ;
|
||||
: F- <F FSUB F> ;
|
||||
: F* <F FMUL F> ;
|
||||
: F/ <F FDIV F> ;
|
||||
|
||||
: FLOAT ( n -- fp )
|
||||
FR0 ! IFP F> ;
|
||||
|
||||
: FIX ( fp -- n )
|
||||
FS FPI FR0 @ ;
|
||||
|
||||
: FLOG FS FLG F> ;
|
||||
: FLOG10 FS FLG10 F> ;
|
||||
: FEXP FS FEX F> ;
|
||||
: FEXP10 FS FEX10 F> ;
|
||||
|
||||
: ASCF ( addr -- fp )
|
||||
INBUF ! 0 CIX C! AFP F> ;
|
||||
|
||||
: F0= OR OR 0= ;
|
||||
: F= F- F0= ;
|
||||
: F< F- 2DROP $80 AND 0 > ;
|
||||
|
||||
: F, ( fp -- )
|
||||
ROT , SWAP , , ;
|
||||
|
||||
: FCONSTANT
|
||||
CREATE F, DOES> F@ ;
|
||||
: FVARIABLE
|
||||
CREATE 6 ALLOT DOES> ;
|
||||
|
||||
| : FLIT
|
||||
R> DUP 6 + >R F@ ;
|
||||
: FLITERAL
|
||||
COMPILE FLIT F, ;
|
||||
: FLOATING
|
||||
BL WORD 1+
|
||||
ASCF FLITERAL ; IMMEDIATE
|
||||
: [FLOATING] [COMPILE] FLOATING ; IMMEDIATE
|
||||
|
||||
CR .( Floating Point ext. loaded. ) CR
|
||||
|
||||
ONLYFORTH
|
||||
|
89
6502/Atari8bit/math/MATH100.fs
Executable file
89
6502/Atari8bit/math/MATH100.fs
Executable file
@ -0,0 +1,89 @@
|
||||
\ 100* 100U/
|
||||
|
||||
\needs code INCLUDE" D:TAS65.FS
|
||||
|
||||
CODE 100* ( N1 - N2)
|
||||
SP X) LDA
|
||||
N STA
|
||||
SP )Y LDA
|
||||
N 1+ STA
|
||||
N ASL
|
||||
N 1+ ROL
|
||||
N ASL
|
||||
N 1+ ROL
|
||||
N LDA
|
||||
N 2+ STA
|
||||
N 1+ LDA
|
||||
N 3 + STA
|
||||
N 2+ ASL
|
||||
N 3 + ROL
|
||||
N 2+ ASL
|
||||
N 3 + ROL
|
||||
N 2+ ASL
|
||||
N 3 + ROL
|
||||
CLC
|
||||
N LDA
|
||||
N 2+ ADC
|
||||
N STA
|
||||
N 1+ LDA
|
||||
N 3 + ADC
|
||||
N 1+ STA
|
||||
N 2+ ASL
|
||||
N 3 + ROL
|
||||
CLC
|
||||
N LDA
|
||||
N 2+ ADC
|
||||
SP X) STA
|
||||
N 1+ LDA
|
||||
N 3 + ADC
|
||||
SP )Y STA
|
||||
NEXT JMP
|
||||
END-CODE
|
||||
|
||||
LABEL 4/+
|
||||
N 7 + LSR
|
||||
N 6 + ROR
|
||||
N 5 + ROR
|
||||
N 4 + ROR
|
||||
N 7 + LSR
|
||||
N 6 + ROR
|
||||
N 5 + ROR
|
||||
N 4 + ROR
|
||||
CLC
|
||||
N LDA
|
||||
N 4 + ADC
|
||||
N STA
|
||||
N 1+ LDA
|
||||
N 5 + ADC
|
||||
N 1+ STA
|
||||
SP X) LDA
|
||||
N 6 + ADC
|
||||
SP X) STA
|
||||
SP )Y LDA
|
||||
N 7 + ADC
|
||||
SP )Y STA
|
||||
RTS
|
||||
|
||||
CODE 100U/ ( U - N)
|
||||
N STX
|
||||
N 4 + STX
|
||||
SP X) LDA
|
||||
.A ASL
|
||||
N 1+ STA
|
||||
N 5 + STA
|
||||
SP )Y LDA
|
||||
.A ROL
|
||||
SP X) STA
|
||||
N 6 + STA
|
||||
TXA
|
||||
.A ROL
|
||||
SP )Y STA
|
||||
N 7 + STA
|
||||
4/+ JSR
|
||||
N 7 + LSR
|
||||
N 6 + ROR
|
||||
N 5 + ROR
|
||||
N 4 + ROR
|
||||
4/+ JSR
|
||||
NEXT JMP END-CODE
|
||||
|
48
6502/Atari8bit/math/SQRT.fs
Executable file
48
6502/Atari8bit/math/SQRT.fs
Executable file
@ -0,0 +1,48 @@
|
||||
\ SQRT
|
||||
|
||||
\needs code INCLUDE" D:TAS65.FS"
|
||||
|
||||
CODE D2* ( D1 - D2)
|
||||
2 # LDA SETUP JSR
|
||||
N 2+ ASL N 3 + ROL N ROL N 1+ ROL
|
||||
SP 2DEC N 3 + LDA SP )Y STA
|
||||
N 2+ LDA SP X) STA
|
||||
SP 2DEC N 1+ LDA SP )Y STA
|
||||
N LDA SP X) STA
|
||||
NEXT JMP END-CODE
|
||||
|
||||
: DU< &32768 + ROT &32768 + ROT ROT D< ;
|
||||
|
||||
| : EASY-BITS ( N1 -- N2)
|
||||
0 DO
|
||||
>R D2* D2* R@ - DUP 0<
|
||||
IF R@ + R> 2* 1-
|
||||
ELSE R> 2* 3 +
|
||||
THEN
|
||||
LOOP ;
|
||||
|
||||
| : 2'S-BIT
|
||||
>R D2* DUP 0<
|
||||
IF D2* R@ - R> 1+
|
||||
ELSE D2* R@ 2DUP U<
|
||||
IF DROP R> 1- ELSE - R> 1+ THEN
|
||||
THEN ;
|
||||
|
||||
| : 1'S-BIT
|
||||
>R DUP 0<
|
||||
IF 2DROP R> 1+
|
||||
ELSE D2* &32768 R@ DU< 0=
|
||||
NEGATE R> +
|
||||
THEN ;
|
||||
|
||||
: SQRT ( UD1 - U2)
|
||||
0 1 8 EASY-BITS
|
||||
ROT DROP 6 EASY-BITS
|
||||
2'S-BIT 1'S-BIT ;
|
||||
|
||||
\ Test
|
||||
\
|
||||
\ : XX
|
||||
\ &16 * &62500 UM*
|
||||
\ SQRT 0 <# # # # ASCII . HOLD #S #>
|
||||
\ TYPE SPACE ;
|
1
6502/Atari8bit/math/SQRT.fs~
Executable file
1
6502/Atari8bit/math/SQRT.fs~
Executable file
@ -0,0 +1 @@
|
||||
\ SQRT \needs code INCLUDE" D:TAS65.FS" CODE D2* ( D1 - D2) 2 # LDA SETUP JSR N 2+ ASL N 3 + ROL N ROL N 1+ ROL SP 2DEC N 3 + LDA SP )Y STA N 2+ LDA SP X) STA SP 2DEC N 1+ LDA SP )Y STA N LDA SP X) STA NEXT JMP END-CODE : DU< &32768 + ROT &32768 + ROT ROT D< ; | : EASY-BITS ( N1 -- N2) 0 DO >R D2* D2* R@ - DUP 0< IF R@ + R> 2* 1- ELSE R> 2* 3 + THEN LOOP ; | : 2'S-BIT >R D2* DUP 0< IF D2* R@ - R> 1+ ELSE D2* R@ 2DUP U< IF DROP R> 1- ELSE - R> 1+ THEN THEN ; | : 1'S-BIT >R DUP 0< IF 2DROP R> 1+ ELSE D2* &32768 R@ DU< 0= NEGATE R> + THEN ; : SQRT ( UD1 - U2) 0 1 8 EASY-BITS ROT DROP 6 EASY-BITS 2'S-BIT 1'S-BIT ; \ Test \ \ : XX \ &16 * &62500 UM* \ SQRT 0 <# # # # ASCII . HOLD #S #> \ TYPE SPACE ;
|
50
6502/Atari8bit/math/TRIG.fs
Executable file
50
6502/Atari8bit/math/TRIG.fs
Executable file
@ -0,0 +1,50 @@
|
||||
\ A SINUS-TABLE 20OCT87RE
|
||||
\ SINUS-TABLE FROM FD Vol IV/1
|
||||
|
||||
\needs code INCLUDE" D:TAS65.FS"
|
||||
|
||||
| : TABLE ( VALUES N -)
|
||||
CREATE 0 DO , LOOP
|
||||
;CODE ( N - VALUE)
|
||||
SP X) LDA CLC 1 # ADC .A ASL TAY
|
||||
W )Y LDA SP X) STA
|
||||
INY W )Y LDA 1 # LDY SP )Y STA
|
||||
NEXT JMP END-CODE
|
||||
|
||||
BASE @ DECIMAL
|
||||
|
||||
10000 9998 9994 9986 9976 9962 9945 9925
|
||||
9903 9877 9848 9816 9781 9744 9703 9659
|
||||
9613 9563 9511 9455 9397 9336 9272 9205
|
||||
9135 9063 8988 8910 8829 8746 8660 8572
|
||||
8480 8387 8290 8192 8090 7986 7880 7771
|
||||
7660 7547 7431 7314 7193 7071 6947 6820
|
||||
6691 6561 6428 6293 6157 6018 5878 5736
|
||||
5592 5446 5299 5150 5000 4848 4695 4540
|
||||
4384 4226 4067 3907 3746 3584 3420 3256
|
||||
3090 2924 2756 2588 2419 2250 2079 1908
|
||||
1736 1564 1392 1219 1045 0872 0698 0523
|
||||
0349 0175 0000
|
||||
|
||||
&91 | TABLE SINTABLE
|
||||
|
||||
BASE !
|
||||
|
||||
| : S180 ( DEG -- SIN*10000:SIN 0-180)
|
||||
DUP &90 >
|
||||
IF &180 SWAP - THEN
|
||||
SINTABLE ;
|
||||
|
||||
: SIN ( DEG -- SIN*10000)
|
||||
&360 MOD DUP 0< IF &360 + THEN
|
||||
DUP &180 >
|
||||
IF &180 - S180 NEGATE
|
||||
ELSE S180 THEN ;
|
||||
|
||||
: COS ( DEG -- COS*10000)
|
||||
&360 MOD &90 + SIN ;
|
||||
|
||||
: TAN ( DEG -- TAN*10000)
|
||||
DUP SIN SWAP COS ?DUP
|
||||
IF &100 SWAP */ ELSE 3 * THEN ;
|
||||
|
BIN
6502/Atari8bit/math/fmath.atr
Executable file
BIN
6502/Atari8bit/math/fmath.atr
Executable file
Binary file not shown.
BIN
6502/Atari8bit/math/fmath.zip
Executable file
BIN
6502/Atari8bit/math/fmath.zip
Executable file
Binary file not shown.
1
6502/Atari8bit/source.3.81.3/2WORDS.FB
Executable file
1
6502/Atari8bit/source.3.81.3/2WORDS.FB
Executable file
@ -0,0 +1 @@
|
||||
\ 2Words Loadscreen hex &2 &3 thru decimal \ 2! 2@ 2VARIABLE 2CONSTANT 08JUL85RE) CODE 2! ( D ADR --) TYA SETUP JSR 3 # LDY [[ SP )Y LDA N )Y STA DEY 0< ?] 1 # LDY POPTWO JMP END-CODE CODE 2@ ( ADR -- D) SP X) LDA N STA SP )Y LDA N 1+ STA SP 2DEC 3 # LDY [[ N )Y LDA SP )Y STA DEY 0< ?] XYNEXT JMP END-CODE \ : 2VARIABLE ( --) CREATE 4 ALLOT ; ( -- ADR) : 2CONSTANT ( D --) CREATE , , DOES> ( -- D) 2@ ; \ 2DUP EXISTS \ 2SWAP EXISTS \ 2DROP EXISTS
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user