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
|
resolution
|
colors
|
1
|
320x200
|
4
|
2
|
640x200
|
2 (paletted)
|
3
|
160x200
|
16
|
4
|
320x200
|
4 (paletted)
|
5
|
320x200
|
16
|
6
|
640x200
|
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.
home