UNIX99, a UNIX-like OS for the TI-99/4A

5 min read Original article ↗

Today is the release of Unix99r3. Unix99r3 supports emulators (Classic99, MAME) and real hardware with TIPI or hard drives.

The Getting Started guide provides the steps to install Unix99r3 for use with emulators or real hardware, top level architecture, memory usage, assistance with development, etc.. The videos found earlier in this thread should be useful for anyone wanting to see a walkthrough.  The RPI Support Components document is for configuring an RPI for compilation support--at this time only BASIC is supported--C is planned.  The BASIC Guide provides a language reference.

BASIC language support has been added as of the 4/9/2026 release. Please note that this capability continues to be under development, with some features yet to be implemented. To ensure completeness, reasonably complex basic programs have been written that include game-style programming (ship with torpedos firing at meteors, Christmas message with dynamic snow), along with many other unit tests. Game programming is the primary intended use of this BASIC implementation. Floating point support, one of the primary performance downsides of TI BASIC/XB which uses floats for everything even though not a native type, is under-supported. This is caused by the underlying GCC compiler which often generates floating point literals incorrectly. Any users of BASIC are highly encouraged to review the BASIC Guide to become familiar with this BASIC dialect. The RPI Support Components Guide instructions are only required for BASIC support at this time. No need to follow them/install if no desire for compilation support.

Should you run into difficulty I will be happy to assist. Requests can be made on this thread or via a message. I'll do my best to respond and support as possible.

unix99r3_getting_started.pdf

unix99r3_20260409.tar.gz

unix99_basic_guide.pdf

unix99_rpi_support_components.pdf

Updates:

1. 9/11/2025 unix99r3_getting_started.pdf: document additional steps required for TIPI installation (missing Java package)

2. 9/14/2025 unix99r3_getting_started.pdf: documented PicoPEB-based installation

3. 9/28/2025 unix99r3_getting_started.pdf: added trouble-shooting section, misc minor corrections

                    unix99r3_20250928_beta.tar.gz: kernel DSR loader improvements (read bug fix). basic now reads legacy TI text files

4. 9/29/2025 unix99r3_20250929.tar.gz: contents of previous beta, adduser fix for bad tokenization and automatic creation of home directories when not present; man page for adduser updated, extraneous test waiting for DSRs to become active removed

5. 10/5/2025 unix99r3_20251005.tar.gz: 

    - /etc/rc file display command has to have either a -2 or -3 or system crashes
    - basic command reads either kind of text file (legacy TI text or Unix99 text on binary format)

    - introduction of vi (alpha release -- make backups of any files you don't want to lose), along with man page

    (note: this tar has extraneous files named "* *" due to MacOS versioning -- please ignore them. Will work to ensure they do not appear again)

6. 10/12/2025 unix99r3_getting_started.pdf: miscellaneous updates, simple discussion of upgrades

                      unix99r3_20251012.tar.gz:

    - adduser no longer defaults the real name to ‘none’—blank by default
    - vi support for cursor movement during direct editing
    - Updated vi key mapping for ESC
    - Added external keyboard mappings in vi
    - vi man page update for the extra mappings and cursor movement
    - Reset and lock F18a as part of bye command

    - Miscellaneous minor bug fixes

7. 10/24/2025 unix99r3_getting_started.pdf: miscellaneous updates, mention of the manual pages

                      unix99r3_20251024.tar.gz:

    - vi beta release. Includes expanded operations including multiple, such as 25dd to delete 25 lines. Yank and put are implemented. 512 lines stolen from the total 4608 lines, so now there's a 4096 doc line limit imposed. The put control data was able to be located away from the doc control data, yielding another 1 KB for features. At this point there's about 240 bytes free for enhancements and bug fixes so this one is pretty close to feature complete at least for the near term. Similar warnings with this version as the previous--should not be entirely trusted. I've written a document from memorization with each line randomly inserted in a document and then reorganized with an obnoxious level of use of delete, yank and put, and used the normal editing functions including backspace. 

    - additional library methods moved into cartridge ROM

    If you want the vi update, you will need the full release. Specifically vi will not be happy with the previous cartridge image.

8. 10/25/2025 unix99r3_20251025.tar.gz:

     - vi saving is corrected (hopefully no one made edits they couldn't save)

    - pacman: 

      - correct an issue where if started with a background color other than black it retains that background. Not that big of deal unless one has a background that matches the pacman grid 🙂.

      - added a speed/throttle setting (I believe @9640News requested this). Use -s with value 0 to 20. The default remains 0.

    - soundqueue library: process sounds immediately

9. 12/18/2025 unix99r3_getting_started.pdf - instructions for configuring printers for use with lp

                      unix99r3_20251218.tar.gz - support for configuring printers for use with lp

10. 4/9/2026 unix99r3_getting_started.pdf - BASIC support

                    unix99_rpi_support_components.pdf - BASIC support via Raspberry PI

                    unix99_basic_guide.pdf - BASIC language guide

                    unix99r3_20260409.tar.gz - BASIC support, VDP info

Edited by mrvan
text for 4/9/2026 release