commit - 7811366b4562dca787af47d026ad16855a5e7469
commit + 805e1925487d0c0761dfc00e89316e634193b166
blob - 5caf71a19651140fe7380f86d70165238e57b0c0
blob + 77eea7b57a3b02b2f9ff85aa29f9799feb659e63
--- README
+++ README
Processing the roughly 1000 lines of LINEUTIL takes several minutes,
so be prepared to take some breaks. :)
- Speed woes aside, for a program of around 200 lines of code, BASASM
+ Speed woes aside, for a program of less than 300 lines of code, BASASM
is perhaps surprisingly feature rich:
- Mnemonic instructions, aware of operand sizes.
- Decimal and hexadecimal notation.
- Symbolic labels, absolute and relative addressing.
- Locally-scoped labels.
+ - Listing label definitions for "export" to separate programs.
- User-defined symbolic constants.
- Single-pass operation with forward references.
- Range checks for operands.
- Directives to output arbitrary bytes, words, strings.
- Directives to alter and limit the output position.
- String representation for bit pattern output (...XX...).
+ - Adjusting the BASIC heap size for output below 40K.
About 70 more lines implement subprograms to save PRG files, issue
- drive commands, dump memory, and a few others. The opcode table
- takes a further 80 lines for a total just shy of 350.
+ drive commands, dump memory, and a few others.
This repository contains listings of the relevant PRG files in
- ASCII. The transfer is facilitated by two C programs that can
+ UTF-8. The transfer is facilitated by two C programs that can
unpack a D64 disk image (und64) and output BASIC PRG files in plain
text (listprg). Note: Commit time stamps are not representative
beyond obviously providing upper bounds.
MKALLTOK write a PRG file that contains every possible BASIC
token (used for listprg)
DISKCOPY duplicate a disk block by block (incredibly slow)
- MKOPCODES generate OPCODES file
+ MKOPCODES generate OPCODES file
+ OPCODES.B source file to be combined with MKOPCODES
Notes on encoding: Several (printable) characters in the Commodore
character set differ from ASCII - arrows, for instance, in place of