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.