-
Notifications
You must be signed in to change notification settings - Fork 0
A program written in C (C89 dialect) that generates type-in BASIC programs. Targets multiple 8-bit machines. (in development, don't use it yet)
License
richardcavell/BASICloader
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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
About
A program written in C (C89 dialect) that generates type-in BASIC programs. Targets multiple 8-bit machines. (in development, don't use it yet)
Topics
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published