This page deals with the TRS-80’s Orchestra 80/85/90/90CC.

The ORCH 80/85/90/90CC was a product of Software Affair, which allowed for 4 or 5 (depending on the model) simultaneous voices of music. Bryan Eggers and Jon Bokelman were the principals of that company.


If you get a message that the table is empty, then there are no files for your criteria. To see ALL entries, you can just hit submit.

Song Name
ORCH Model
ORCH Voices

ORCH-80/85/90 Command Summary

R    Read a music file (LOAD)

S    Score a music file (COMPILE)

P    Play a scored music file

G    Read, Score and then Play a music file

D    Directory

K    Kill a Music File

Q    Quit Program

ORCH-80/85/90 Players, Programs, and Downloads


Name                         Computer/OS      Year      Description
ORCH90CD v2.3 PC 11/2012  Orch90CD is a command line ORCH-80/85/90 player. To play a music file named ‘orchfile’, type the command: orch90cd orchfile. Instructions are in the ZIP file. Written by Jon Bokelman
ORCH Foobar Player v1.5 Foobar 11/2012 A Foobar 2000 Orchestra 80/85/90, Piano-90, and Orch-2000 plugin. Written by Jon Bokelman
Orchestra-90/PC v2.0 PC 2010 Orchestra-90/PC is a simple, no-frills program that plays original Orchestra-80/85/90 and Piano-85/90 ASCII files on a PC using a sound card. It is launched from the command line. Written by Jon Bokelman
Audio Overload v2.0 Windows 32
Windows 64
Linux 32
Linux 64
2008 Player for various types of music files which you may find on the Internet. Plays ORC-90 files for Windows/Mac/Linux. Written by Richard Bannister and hosted on
Orchestra 2000 v1.1 WinAmp 2000 A WinAmp Orchestra 80/85/90, Piano-90, and Orch-2000 plugin. Copy the plugin DLL file from the plug-in into your \Program Files\Winamp\Plugins directory, restart WinAmp, and play your orchs. Written by Jon Bokelman
ORCH FE v3.0 Rel 1 PC 1997 Front end for Jon Bokelman’s ORCH-90/PC. Written by David Browder.
ORCH-85 TRS-80 1981 ORCH-85 player for the TRS-80. Written by Jon Bokelman.
ORCH-90 TRS-80 1983 ORCH-90 player for the TRS-80. Written by Jon Bokelman.


Name                         Computer/OS      Year      Description
O2M PC 2002 O2M is a simple, no-frills program that converts an Orchestra-90 music file to a MIDI file. O2M is executed from the command line with at least two arguments. More elaborate Midi file manipulation is beyond the scope of this program and is best performed by a full-function, Midi-file editor. Written by Jon Bokelman
ORC2CMF PC 1992 Converts ORC files into CMF (Creative Music Format), one of the earliest containers of music on the PC. Very rough and tumble.
ORCONV TRS-80 ???? Converts ORC files to/from ASCII.
Written by Larry Payne.

Other Utilities

Name                         Computer/OS      Year      Description
Append Orch TRS-80 1981 Appends ORC files together.
Written by Steve Day
ORCHCOPY TRS-80 1980 Copy ORC Files Between Tape/Disk/Memory.
Written by Jon Bokelman
Change CR/LF to CR and LF; Add CTRL-Z at EOF PC 2000 Exactly what the topic line says.
Written by Knut Roll-Lund
TR v2.0 PC 1988 Strip off 0A from ORCH Files.
Written by John F Emmerichs

Significant Individuals in the ORCH-80/85/90 Arena

Larry Alexander Email:
Web Site:
Jon Bokelman (ORCH-80/85/90) Email:
Jerry Bradshaw Email:
John Renfro Davis Email:
Bryan Eggers (ORCH-80/85/90) Email:
Robert A. Fowkes Email:
Charles Grisamore Email:

ORCH-80/85/90/90CC Manuals: [Click to Download]

Pages: 42
Year: 1980
TOSEC: Orchestra-80 (1980)(Software Affair)

Orchestra-90 Manual
Year: 1981
TOSEC: Orchestra-90 (1981)(Jon Bokelman)

Orchestra-90 Manual
Pages: 84
Year: 1983
TOSEC: Orchestra-90 (1983)(Jon Bokelman)[26-1922]

Orchestra-90CC Stero Music Synthesizer
Pages: 112
Year: 1983
TOSEC: Orchestra-90CC Stero Music Synthesizer (1983)(Software Affair)[26-3143]

Orchestra-85 Register List

Modifying ORCH-85 and PIANO-85 to Take Command File Inputs
– By R. Baker
This article relates only to the Model I versions of either of these wonderful music programs. I have no information on the Model 3/4 versions, although the patches should be just as easy.
If you have a large number of ORCH or PIANO music files, you might like a way to more completely automate the playing of them. The (G)et command only plays a few pieces before you have to attend to it again. I wanted to be able to call for any number of songs, preferably with their titles stored in an text file on disk.
Since most TRS-80 DOSs now have some kind of “DO” capability, which will feed simulated keystrokes from a text file into an application program, it seemed most straightforward to make use of this. Unfortunately, the ORCH and PIANO programs do not take their keyboard input via the standard system device drivers. Instead, they call their own keyboard driver, and they won’t listen to a DO file input. To correct this the music programs must be made to call the DOS keyboard driver instead of their own. This technique works cleanly insofar as it has to, for reading and playing music files, but does not allow editing or composing etc. So don’t try to use the modified ORCH or PIANO programs for this. Use them only for playing music files under the control of the DOS.
The keyboard driver call is easily altered, as described below, by changing only two bytes in either of the programs (at 5EE1 for ORCH-85 or at 6268 for PIANO-85). This change alone will let you use text file inputs as commands. Thus you could have a DO file such as this (where ORCH4GET/CMD is the modified ORCH-85/CMD program):
G ROMEO etc...
and it would play all of the indicated songs. I was pretty happy with this, but also wanted to be able to call for some silences between the selections, to keep disk drive noises from interfering with the music. The best solution would have been to locate the code that reads and plays a file under the (G)et command, and patch in time delays there. I was unable to do this, so I considered just calling for some dummy or redundant (S)core operations for each song in my command file. This works fine but leads to very long command files, since you can only put one command on a line.
To tighten these up, I needed to make the ORCH or PIANO program recognize a substitute character for the Carriage Return (byte 0D). I enlarged upon the keyboard patch I already had, adding a filter action that would watch for “;” (byte 3B) and change it to 0D. This requires nine additional bytes of code, and the safest place I could put them is over the initial logo text. The remaining text can be modified to convey the same information still, if you like. With this filter patch in place, a command file such as this can be used:
In this example, after each piece is (R)ead it is (S)cored twice to provide for a delay while the disk drives stop, and after it has (P)layed it is again (S)cored a couple of times to provide another delay before the disk drives restart.
The patches for both programs are given below. You will need the address of the keyboard driver for your DOS. To find it, boot the DOS normally and examine locations 4016H and 4017H. You can do this using DEBUG or by just PEEKing them from Disk Basic. The bytes are in the normal low-high sequence; eg. for DOSPLUS the driver is at 4DC0, and 4016H holds C0 and 4017H holds 4D. In the patches below, LL refers to the byte found in 4016H, and HH refers to that found in 4017H.
To actually make any of these changes, you should either use the “Patch” utility supplied with your DOS, or use a high-memory machine language monitor, or the DOS ‘LOAD’ and ‘DUMP’ commands, in conjunction with DEBUG. The details of doing this vary greatly with each utility, and are beyond the scope of this discussion. Also note that for DOSPLUS, at least, the DO file operations proceed from high memory, which does not appear to be affected by the ORCH or PIANO music programs. This may not be the case with DO or JCL operations under other DOSs.
These are the modifications for ORCH-85 (after configuring and saving as four or five voice, fast or slow speed). The program loads from 5900 to 6CAF, with entry at 6B27.
To make it take its command inputs from a DO file, modify the keyboard driver call at 5EE1: change CD 1D 62 to CD LL HH.
To additionally make ORCH-85 take “;” for a carriage return, a patch is put in the logo text at 5D70: change ” BOKELMAN” to CD LL HH FE 3B C0 3E 0D C9. Then at 5EE1 change the call to: CD 70 5D. Finally, change the number of bytes written for the logo (reduce by nine) at the two block moves that may be used: after 6300 and after 6C91, change the 01 2C to 01 23.
These are the modifications for PIANO-85 (after configuring and saving as fast or slow speed). The program loads from 5A00 to 6FA7, with entry at 6E86.
To make it take its command inputs from a DO file, modify the keyboard driver call at 6268: change CD A2 65 to CD LL HH.
To additionally make PIANO-85 take “;” for a carriage return, a patch is put in the logo text at 60F7: change ” BOKELMAN” to CD LL HH FE 3B C0 3E 0D C9. Then at 6268 change the call to: CD F7 60. Finally, change the number of bytes written for the logo (reduce by nine) at the block move: after 668B change the 01 28 to 01 1F.
The above changes have been made to create: ORCH4GET/CMD, ORCH5GET/CMD, AND PIANOGET/CMD. All assume a 3.54 MHz clock, and ORCH5GET/CMD is configured for five voices. The others are for four voices.