According to the manual, PDOS is a powerful multi-user, multi-tasking operating system developed by Eyring Research Institute, Inc., for the Texas Instruments compatible processor family. That means TMS9900 and TMS9995.
Originally developed for the Texas Instruments TM/990 modules (Excellently documented by Stuart Conner here) by Paul Roper (PDOS = Paul's DOS), PDOS also runs on the TEP FTI990, a TMS9900 system built on Eurocards. I have one of these systems, and with it came some floppy disks with PDOS 2.4C, as well as the PDOS Programmer's Reference Manual.
Since I strongly believe in sharing the wealth, I am making my findings public here, including downloads of the OS and documentation.
The software is (C) Copyright 1982 by Eyring Research Institute, Inc.
Running PDOS
To run PDOS, you need to have a TMS9900/TMS9995 based system with boot-ROMs for PDOS. The source code for the boot-ROMs is included with the OS, and will need to be adapted to your particular configuration, then assembled. As part of the customizing, you need to:
- set some flags to tell PDOS what features are available on the system
- unless you're using one of the already supported disk controllers, provide initialization and sector read and write routines for your disk controller
This process is well-described in the reference manual, chapters 2 (installation), 8 (disk device service routines), and appendix H (boot:sr listing)
If you have a TMS9900 based system, and you want to get PDOS running on it, contact me about building a ROM image for you. It's easier when you've got a running system to work with!
Communication with PDOS is through TMS9902 serial ports (multi user).
After turning on the TMS9900 system and pressing the restart button, nothing seems to happen. The boot rom is waiting for a <CR> to be sent to the primary serial port. It uses this character to autobaud the serial port. The serial port should be set to 7 data bits, Even parity, and 2 stop bits. Baud rates of 110, 300, 1200, 2400, 4800, 9600 and 19200 baud are supported. The JED and JEDY full-screen editors expect the terminal to recognize Televideo 9xx escape sequences.
After you send a <CR>, you should get some questions on whether or not to include disk controllers in the system:
SELECT FTI990-FDC? Y
SELECT FTI990-EMU? Y
Any other answer than a capital Y makes the devices unavailable to PDOS.
After these questions have been answered, you should get the PDOS boot menu:
*PDOS BOOT R2.4 0-99=BOOT 100=MEMORY TEST 101=IAC 102=BOOT 103=MAKE BOOT 104=AUX ?
Here, you can run some diagnostics, but you'd normally type in the number of the device you want to boot from. The first drive on the first controller has number 0, so, type 0 <CR>
?0 BOOTED! HIT RETURN PDOS/101 R2.4c ERII, COPYRIGHT 1982 DATE=00/00/00 TIME=00:00:02 .
The "." is the PDOS command prompt. It can be changed as part of the BFIX (boot fix) procedure.
File names
File names on PDOS take a little getting used to. File names are up to 8 characters, with an optional 1 to 3 character extension. The filename and extension are separated by a colon (BOOT:SR is a valid filename). If a file is not on the current system disk, it needs to be followed by a slash and the disk number (BOOT:SR/1). A disk can be divided into 256 numbered directories, indicated by a semicolon (BOOT:SR;5/1).
Finally, PDOS won't create a new file, unless you put a pound sign in front of the file name, so to copy file ABCD:EFG from disk 0 to a new file in directory level 7 on disk 1, you would type
.CF ABCD:EFG/0,#ABCD:EFG;7/1
^^-- /1: disk 1
^^---- ;7: directory level 7
^^^^^^^^------ file name with extension
^-------------- #: create a new file
^--------------- ,: argument separator
^^^^^^^^^^-- original file
^^-- CF: copy file
Files also have a type, which is not part of the file name or extension. File types in PDOS are:
- AC: Assign Console File (text is read from this file as though it was typed at the console, used in batch programs)
- BN: Binary File
- BX: BASIC Token File
- EX: BASIC File
- OB: TMS9900 Object File
- SY: System File, Executable
- TX: Text File
- UD: User Defined
Built-in commands
AF: Append File.AF PART1,PART2 |
BP: Baud Port.BP 2,9600 |
CF: Copy File.CF FILE1,FILE1:BK |
CS: Checksum PDOS.CS |
CT: Create Task.CT (ASM PROG:SR,#PROG),10,3,2 |
DF: Define File.DF FILE1,16 |
DL: Delete File.DL FILE1 |
EV: Set/Reset event.EV -42 |
EX: PDOS BASIC.EX |
FS: Show file slot usage.FS |
GO: Execute at address.GO >6000 |
HE: Help.HE HELP |
ID: Set system date/time.ID |
IM: Set interrupt mask.IM 10 |
KT: Kill Task.KT 2 |
LM: Show available memory.LM |
LS: List directory.LS EX@/1 |
LT: List Tasks.LT |
LV: Directory Level.LV 7 |
RC: Reset Console.RC |
RN: Rename File.RN FILE1,FILE2 |
RS: Reset Disk.RS 1 |
RT: Restore Task.RT DUMPFILE |
SA: Set File Attributes.SA FILE1,AC |
SF: Show File.SF PROG:SR |
SP: Show Disk Space.SP 1 |
ST: Save Task.ST DUMPFILE |
SU: Spool Unit.SU 1,LIST |
SY: System disk.SY 1 |
UN: Console Unit.UN 3 |
Software (zipped disk images)
Disk images are for 5-1/4" DS/DD floppies; 78 tracks per side, 16 256-byte sectors per track
PDOS/101 2.4C:
- "PDOS 2.4CB" - Boot disk, utilities
- "PDOS 2.4C #2 B" - Utilities, sources
- "PDOS 2.4 DEMO B" - Programming demo's
PDOS C
Documentation (PDF)
PDOS 2.4 Programmer's Reference Manual:
- Chapter 1 : Introduction
- Chapter 2 : Installation
- Chapter 3 : PDOS
- Chapter 4 : PDOS Monitor Commands
- Chapter 5 : PDOS Assembly Primitives
- Chapter 6 : Floating Point Package
- Chapter 7 : PDOS I/O Drivers
- Chapter 8 : Disk Device Service Routines
- Chapter 9 : PDOS BASIC
- Chapter 10 : PDOS BASIC Command Summary
- Chapter 11 : Edit, Asm, Link, XBUG
- Chapter 12 : Stand-Alone Run Module
- Chapter 13 : PDOS Utilities
- Chapter 14 : PDOS Error Definitions
- Appendices