63 lines
2.4 KiB
Markdown
63 lines
2.4 KiB
Markdown
Gidubba v1.0
|
||
============
|
||
|
||
Gidubba (Sumerian for 'stylus') is a simple line editor for the
|
||
Thingamajig computer architecture. Its git repository can be found at
|
||
https://ahti.space/git/crazyettin/Gidubba and that of Thingamajig at
|
||
https://ahti.space/git/crazyettin/Thingamajig.
|
||
|
||
System requirements
|
||
-------------------
|
||
|
||
Gidubba requires at least 4 KiB of RAM. It uses a terminal with local
|
||
echo at address FFFF, and optionally a character printer at address FFFE
|
||
and a punched tape reader and punch or a casette drive at FFFD. Do not
|
||
be afraid to modify the code yourself if your setup requires it! (And if
|
||
you do, apologies for the spaghetti.)
|
||
|
||
Format
|
||
------
|
||
|
||
Texts are terminated by an end-of-file (^Z) and lines within them by a
|
||
newline of a carriage return (^M) followed by a line feed (^J). Note
|
||
that the input buffer can store at most 256 characters, including the
|
||
newline.
|
||
|
||
Usage
|
||
-----
|
||
|
||
The commands are individual letters that can be followed by one or two
|
||
arguments separated by a comma, all case-insensitive. The first argument
|
||
is a line number between 0 and FFFF and the second a range of lines
|
||
between 0 and FF. To append lines, insert them or set the mark to any
|
||
line number after the text or to the shortcut hash (#); in other
|
||
commands line numbers or parts of a range after the text are ignored and
|
||
a hash is not recognised as a valid argument. Instead of a predetermined
|
||
range a prompt to insert the next line appears automatically after the
|
||
previous one has been committed.
|
||
|
||
Commands with a single argument:
|
||
* I: Insert lines
|
||
* M: Set the mark
|
||
|
||
Commands with two arguments:
|
||
* C: Copy to the mark
|
||
* D: Delete lines
|
||
* L: List lines
|
||
|
||
Commands with no arguments:
|
||
* P: Print
|
||
* R: Read from the tape reader or casette drive
|
||
* W: Write to the tape punch or casette drive
|
||
|
||
A delete (^?) discards the preceding character and outputs an underscore
|
||
to the terminal. An escape (^[) discards the contents of the current
|
||
command or line and outputs a backslash and a newline to the terminal. A
|
||
carriage return (^M) or a line feed (^J) inputs a newline and commits
|
||
the current command or line. An end-of-file (^Z) discards the current
|
||
command and halts the computer or discards the current line and returns
|
||
to the command prompt.
|
||
|
||
There are two kinds of error messages: a question mark (?) for an
|
||
erroneous command and an exclamation mark (!) for lack of RAM.
|
||
|