2022-08-18 22:25:22 +00:00
|
|
|
|
Gidubba
|
|
|
|
|
========
|
|
|
|
|
|
|
|
|
|
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 a terminal with local echo at address FFFF and
|
|
|
|
|
optionally a line printer at address FFFE and a punched tape reader and
|
|
|
|
|
punch at FFFD. If your setup differs from this you may have to modify
|
|
|
|
|
the code yourself.
|
|
|
|
|
|
|
|
|
|
Usage
|
|
|
|
|
-----
|
|
|
|
|
|
|
|
|
|
The commands are individual letters that can be followed by one or two
|
|
|
|
|
arguments separated by a comma. The first argument is a target line
|
|
|
|
|
number between 0 and FFFF and the second the range of lines between 0
|
|
|
|
|
and FF the command affects. Inserting lines to a target that does not
|
|
|
|
|
exist or the shortcut hash (#) appends them to the text; otherwise
|
|
|
|
|
targets or parts of ranges that do not exist are ignored.
|
|
|
|
|
|
|
|
|
|
Commands with a single argument:
|
|
|
|
|
* I: Insert a line or lines
|
|
|
|
|
|
|
|
|
|
Commands with two arguments:
|
|
|
|
|
* D: Delete a line
|
|
|
|
|
* L: List a line
|
|
|
|
|
|
|
|
|
|
Commands with no argument:
|
|
|
|
|
* P: Print
|
|
|
|
|
* R: Read from the tape reader
|
|
|
|
|
* W: Write to the tape punch
|
|
|
|
|
* H: Halt
|
|
|
|
|
|
|
|
|
|
Both commands and arguments are case-insensitive. In both the command
|
|
|
|
|
prompt as well as when inserting lines sending an escape (^[) will allow
|
|
|
|
|
retyping the line in question. To finish inserting lines send a
|
|
|
|
|
substitute (^Z): the line on which this is done is not saved.
|
|
|
|
|
|