-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.txt
125 lines (83 loc) · 4.08 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
README.txt
BASICloader version : Still in development.
(c) 2017-2019 Richard John Foster Cavell
https://github.com/richardcavell/BASICloader
1. What BASICloader does
2. BASICloader's features
3. BASICloader's input options
4. BASICloader's output options
=== 1. What BASICloader does ===
BASICloader is a magazine type-in generator. It is free, open-source software
that is intended as a retro computing project.
There were many 8-bit computer systems in the 1980s. They typically had a
built-in BASIC interpreter, as well as having the ability to execute machine
language programs.
Magazines that were devoted to these 8-bit systems often had program source
code listings. The idea is that you would type in the program and run it.
Many of these programs looked like this:
10 FOR I = 8192 TO 9432
20 READ A
30 POKE I,A
40 NEXT I
50 DATA 56, 23, 78, 102, 9, 207, 193, 8
60 DATA 88, 0, 0, 0, 1, 107, 92, 93, 107
... etc ...
This is a BASIC program, which contains DATA statements. The DATA statements
are code for a machine-language program. The main part of this BASIC program
is a loop that pokes these values into memory.
BASICloader creates BASIC programs of this type.
When given a machine language program (or any other data), BASICloader will
automatically construct a BASIC program. The program that BASICloader creates,
if it is typed in and run, will set up that machine language program (or data)
in memory. The BASIC program can be published in printed form, and typed in
by an enthusiastic computer user.
You still have to create the machine-language program, of course. BASICloader
can take a raw binary as input. It can also recognize and use the native file
format of each of the machines that it supports. BASICloader is quite
versatile in the sort of output that it can generate.
=== 2. BASICloader's features ====
Here are some of BASICloader's features:
* Written entirely in standard C, so that it can be compiled and run
on a wide range of operating systems and machines
* Made up of exactly one (long) source file, so that building and
linking couldn't be simpler
* Specially written to detect problems with old compilers and
implementations
* Detects every error and problem (in the input file, or while
generating the output, or in the selection of command line switches)
that can reasonably be detected
* Versatile input options, with the ability to understand the file
format that is native to each machine
* Very customizable output, with many command-line switches
* Permissive licensing, so that you can use BASICloader and its output
widely in your own work
... and more!
=== 3. BASICloader's input options ===
BASICloader can take the following types of files as input:
* Raw binary
* Disk Extended Color BASIC (also known as RS-DOS) (/BIN format)
* DragonDOS (.BIN format)
* Commodore 64 (.PRG format)
=== 4. BASICloader's output options ===
You can customize the output of BASICloader to:
* Target one of several different machines (and BASIC dialects):
* TRS-80 Color Computer 1, 2 and 3
* Dragon 32 and 64
* Commodore 64
* Emit special instructions for Extended Color BASIC
(For the TRS-80 Color Computer)
* Output in uppercase, lowercase or mixed case
* Add the build date in a REM statement
* Add custom REM statements
* Start running the machine language program automatically
* Place the binary blob at a custom location
* Start executing from somewhere other than the first memory location
* Produce and use checksums to ensure the program is typed correctly
* Produce output that is compact (saves memory) or not (easier to
read and type)
... and more!
For more information, take a look at FAQ.txt in the Documents folder.
You can find this project on the web at:
https://github.com/richardcavell/BASICloader
This project is actively maintained, and was last reviewed in April 2019.
Richard Cavell