Tandy 1000 EX / HX PCjr BASIC Information
Brooks deForest - home

720K DSDD disks from a modern 1.44mb disk drive

If you get file not found errors with the programs below, then you'll probably need to save them all to a disk in the root directory and run from that. For new disks, format them on the Tandy's 720k drive, always using a blank (brand new) one. If you get problems copying over files to a 720k DSDD disk from a modern PC, try going  into it's BIOS setup to tell it it's a 720k drive and then copy over. You can cover the HD hole on the disk with scotch tape, I think all drives use a mechanical switch to determine the disk's type so it doesn't matter if the tape is clear.

Notes on Tandy 1000 BASIC graphics and sound

Tandy 1000 TGA graphics

These programs will only probably work on a Tandy 1000 computer with TGA graphics (160x200x16 and 320x200x16) modes, but they should work on a PCjr(r).  The graphics files for sprites, backdrops, titles etc. are saved in BASIC's binary image format. This was a memory dump from the video display region, it's format depends on the graphics mode used. 16k image files are 160x200x16, 320x200x4 or 640x200x2; 32k image files (for these games) will always be 320x200x16.

Screen was used to switch video mode, it's syntax is : SCREEN <videomode>, <color>, <writepage>, <displaypage>, <erasepage>

Video mode is from 0 to 6, with 0 switching to text only the other values are :

video mode
2 (paletted)
4 (paletted)
4 (paletted)

The Tandy 1000's TGA graphics palette is :

0 Black
1 Dark Blue
2 Dark Green
3 Dark Cyan
   4 Dark Red
5 Dark Magenta
   6 Orange
   7 Light Gray
   8 Dark Gray

9 Light Blue

10 Light Green

11 Light Cyan

12 Light Red

13 Light Magenta

14 Yellow

15 White

Tandy 1000 3 channel sound

The Tandy 1000's sound used a 3 channel GI-style sound chip with 1 noise channel. Within BASIC it was controled in the form SOUND <period>,<duration>, <volume>, <channel>. Where period is an integer which represents the tone period :

period = (PI / 32) * f

f = frequency in hertz.

Duration is a short integer given as duration = t*18.2, where t is time in seconds. Volume is a half byte value from 0 to 15 where 0 is silent and 15 is the loudest volume. Channel is a value from 0 to 2, to support multtvoice output in BASIC you would first need to issue a SOUND ON. When channel is not given it's default is 0.