A simple line editor
Go to file
CrazyEttin 509c10cc70 Add empty tape reader checking 2022-08-15 17:34:27 +03:00
.gitignore Initial commit 2022-08-12 22:40:46 +03:00
gidubba.asm Add empty tape reader checking 2022-08-15 17:34:27 +03:00
license.md Initial commit 2022-08-12 22:40:46 +03:00
readme.md Implement infrastructure for copying and correct some terminology 2022-08-15 12:29:38 +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 (requires a printer)
  • W: Writes to tape (requires a tape punch)
  • R: Reads from tape (requires a tape reader)
  • 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.