Jump to content

EmuWriter - a homebrew word processor


Recommended Posts

There's no practical reason to use a TI-99/4a as your main word processing machine, but it still always annoyed me that most TI word processors are either apparent updates to TI-Writer or are very simple pieces of software designed to work on an un-expanded TI. I don't wish to imply there is no place for that, but I decided to see what else I could come up with. Emu-Writer is a designed to be different more substantially different from TI-Writer, but to still be something a software publisher could reasonably have distributed in the early 1980s.




To load the program file, enter E/A 5, and type DSKx.EMUWRITER. You will find two example documents on the disk, with the file names HANSEL and THREELANG.


Emu-writer distinguishes itself from TI-Writer with the following featues:

  • When you wish to insert text into the middle of a paragraph, just move the cursor to the desired location and start typing. No need to press FCTN+2 followed by CTRL+2
  • FCTN+3 is used as a backspace-delete key.
  • FCTN+0 is used to switch between Vertical mode and Windowed mode.
    • Windowed mode works the same as TI-Writer; when paragraphs will be more than 40 characters wide on paper, it is necessary for the screen to move to the left or right within a page.
    • Vertical mode assumes that a user wants to read text from the screen. On screen, the wrap algorithm assumes a paragraph width of 39 characters, even though the printed document will have wider paragraphs.
    • It is not necessary to switch modes before printing. The print algorithm automatically wraps the paragraphs for 80-columns.
    • I realize that this is possible in TI-Writer, but that program makes it less intuitive. The user has to know how to wield the Editor's margin-and-tab configuration in a way that is complemented by the Formater program.


When I named EmuWriter, I think I was thinking of emus, the bird. Something about this one picture of an emu has always amused me. But it's also convenient that most people who try this software out, will do so from an emulator.


Attached to this post is v0.2 of the word processor. EmuWriter lacks the following features before I would be comfortable labeling the release 1.0:

  • Page Up/Page Down
  • Cut/Copy/Paste
  • Undo/Redo
  • Find/Replace
  • the entire upper 24KB of the memory expansion is reserved for the user's document, but the user will struggle to create a document of more than about 16,000 characters.



Edited by bjkrug
  • Like 11
  • Thanks 2
Link to comment
Share on other sites

3 hours ago, bjkrug said:

but it still always annoyed me that most TI word processors are ... apparent updates to TI-Writer

I always thought this was annoying too.  Sure it was early on, and what exactly a word processor was hadn't been clearly defined, but s#@%, even Word Perfect was out by 1980 as a good example of how it could be done.  All the FCTN keys to do the most basic inserting always felt a bit clunky too.  I'm going to have to check out your project here.

  • Like 1
Link to comment
Share on other sites

Exactly, those are margins. I'm not sure how to increase the user-friendliness without using up a lot of screen space.


Unrelated, but here's an attached hotfix. There was a bug in screen-rendering right after switching from vertical-mode to windowed-mode. It was harder to reproduce in documents that have long paragraphs rather than short paragraphs, and so I couldn't see the bug often until recently.


Here's also an Extended Basic program to convert Dis/Var 80 files to EmuWriter files. It's more limited than adding the same functionality to the assembly language program, but that feature is a relatively low priority for me: https://github.com/bkrug/Emu-Writer/blob/master/DisVar80toEmuWriter.bas



Edited by bjkrug
  • Like 4
Link to comment
Share on other sites

  • 5 months later...
Posted (edited)

Here's a new release, v0.3. The most important point of this release was to increase the potential document size, while fitting inside of the upper 24KB of the memory expansion. Predicting the exact size of a document is not possible because paragraphs are not always stored sequentially in RAM. Sometimes there are empty fragments in between, that are still too small for a different paragraph to grow into. Nevertheless, a user should normally be able to write documents above 20,000 characters.


Here is the full list of changes:

  • Increase the potential size of a document from around 16,000 characters to over 20,000 characters.
  • Fix a bug. When the user moved the cursor to the beginning of a long paragraph and pressed enter four or five times very quickly, some of the new (empty) paragraphs would have the same word wrap data that came from the original paragraph. This would cause the document to be displayed incorrectly.
  • Fix a bug. When the cursor was located at the end of the last paragraph in the document, and pressing enter resulted in an out-of-memory error, the cursor used to move down to a non-existent paragraph, which resulted in display errors.
  • Add Page Down/Page Up buttons (FCTN+4/FCTN+6)
  • Add Next Window button, for windowed-mode only (FCTN+5)
  • Add Beginning of Line/End of Line buttons (FCTN+L/FCTN+semicolon)
  • When moving the cursor vertically from a long line, to a short line, and to another long line, the program will try to keep the cursor at the same horizontal position as it was in the first line.

There has been no change to the format of saved documents. 0.2.1 and 0.3 save files are cross-compatible.


Edited by bjkrug
spelling error
  • Like 9
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...