A simple line editor
Go to file
CrazyEttin 955992988c Reword the readme slightly in Gidubba and convert the readme, license, and source code t a Gidubba-friendly format 2022-08-19 01:25:22 +03:00
.gitignore Initial commit 2022-08-12 22:40:46 +03:00
gidubba.asm Reword the readme slightly in Gidubba and convert the readme, license, and source code t a Gidubba-friendly format 2022-08-19 01:25:22 +03:00
license.md Reword the readme slightly in Gidubba and convert the readme, license, and source code t a Gidubba-friendly format 2022-08-19 01:25:22 +03:00
readme.md Reword the readme slightly in Gidubba and convert the readme, license, and source code t a Gidubba-friendly format 2022-08-19 01:25:22 +03:00

readme.md

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.