This documentation is Copyright 1988 by Peter Barella, Copyright
2000 Perette Barella. All rights are reserved. Peter Barella, and
anyone else connected with PB Dos or this documentation, disclaim
responsibility from use of the information contained herein. We are
not liable for the effects of use or misuse of this manual,
regardless of its accuracy, or results caused by use of information
PB Basic is a special version of Basic which allows you to access
all of the RS-Dos command set, and access most PB Dos features as
well. To enter PB Basic from the PB Dos Ready prompt, type:
A command or file name.
An optional option, to be typed as indicated, but without the
An option in which you specify the option.
- <PARAMETER 1|PARAMETER 2>
A required parameter, being either PARAMETER 1 or PARAMETER 2.
A parameter which you specify.
If you want to execute a specific program on entry to PB Basic, add
the name of the program to the end of the command. So, if you
wanted to run a Basic program called TERMINAL, you would enter
PB Basic adds a lot of new commands to RS-Dos, and adds some new
formats to others. Here is a brief summary of all the commands. If
you don't understand some of them, a more detailed explanation will
be provided in a following section.
- AUTO [start line],[increasement]
Automatically numbers lines for you as you type. Press Clear-C to
return to the Ready prompt.
- BEGIN <ON | OFF>
Enables or disables ERROR 76 after a loss of carrier is
- BREAK <ON | OFF>
Enables or disables inputing of control-C from the modem.
- BSB <ON | OFF>
Controls backspace transmission format.
- CLICK <n>
Sets the click made when a key is pressed.
- CLOCK <ON | OFF>
Controls the clock in the left-hand corner of the screen.
- CLS [END]
Clears the screen. If the END option is specified, the screen is
cleared from the current cursor position to the bottom of the
- CROSSREF <string>
Cross references the specified string in a program. The number of
any line containing the string is printed on the printer.
- CURSOR <n>
Changes the cursor to character <n>. If <n> is zero,
the character under the cursor is inverted.
Transfers control to PB Dos Ready. All files are closed, then
PBDOS.BAS is loaded and executed.
- DUAL <ON | OFF>
Controls echo to the printer.
- ECHO [ON | OFF],[ON | OFF]]
Controls echo to the modem and the screen respectively.
- ERROR <n>
Creates an error of the specified number.
- FEED [LPRINT] <ON | OFF>
Controls sending of line feeds to the modem or printer.
- HERTZ <n>
Sets the expected line frequency.
Disables input from the modem.
- LNG <n>
Sets the maximum number of characters acceptable at an INPUT
- LOG [drive]
Resets the specified drive, or modem port if no drive is
- LPRINT <data list>
Outputs the specified data to the printer.
- LPRINT <ON | OFF>
Controls printing to the printer.
- ON BREAK GOTO [line number]
Sets up (or removes) a break trapping routine.
- ON ERROR GOTO [line number]
Sets up (or removes) an error trapping routine.
- ON INKEY$ GOSUB [line number]
Sets up (or removes) a key trapping subroutine.
- PORT <n>
Selects the type of RS-232 port being used.
- RATE <n>
Selects disk drive stepping rates.
- RESTORE [line number]
Restores data for READ statements beginning at the specified line
- RUNM <file name>
Loads and executes a machine language program.
- SAY <data list>
Says the specified data.
- SCROLL <n>
Allows only <n> lines of the screen to scroll.
- SOUND <ON | OFF>
Enables or disables the SOUND command.
- SWAP <variable>,<variable>
Exchanges the contents of two variables.
Enables inputing from the modem.
- TRACKS <n>
Sets the maximum number of tracks to be used on a standard disk.
This command should not be needed.
- TYPE <string>
Inserts the specified string into the type ahead buffer.
- ZERO [LPRINT]
Erases all text in the type-ahead buffer or print spool
Contains the date in European format. DATE$ may be set in European
or American formats.
Contains the line number of the most recent error.
Contains the error number of the most recent error.
- INKEY$ [[#]n]
Inputs one character from the specified file <#n> or waits
<n> interrupts for input from the bit banger.
Contains the system date and time in Japanese format (YY-MM-DD
Returns the time in standard format.
Returns a one- or two-byte token string for the specified
This program is provided for reference only. It is the program used
to build the image file, which you will need to download.
- ADDRS <filename>
Lists the start, end, and execution addresses of the specified
- AUTO [:drive] [command]
Installs the specified command as the EXECAUTO function on the disk
in the specified drive. If a command is not specified, PB Dos will
prompt for commands. Enter a blank line to end.
- ATTRIB <filename> <type>,<form>
<type>: BASIC | DATA | MACHINE | SOURCE
<form>: ASCII | BINARY
Changes the specified file's type and form attributes to the new
type and form specified.
- BASIC [filename]
Enters PB Basic and executes the specified file.
- CHDSK [:drive]
LOGs the disk in the specified drive, or all drives if a drive is
- COCO <coco type>
<coco type>: 1 | 2 | 2B | 3
Selects the type of CoCo that PB Dos is running on.
- CONFIG <drive> <tracks>-<sides>
<tracks>: 35 | 40 | 80
<sides>: 1 | 2
Sets the drive's parameters. If <tracks> is 80, when the
drive is LOGged, if there is a 40 track disk in the drive, PB Dos
will begin to double step the heads to read the disk. If
<sides> is 2 and the disk in the drive is a 40- track disk,
the second side will be accessed automatically as tracks
- CONVERT <inp form> <inp filename> <out form>
<out filename> <inp form> and <out form>: S | I |
R | D | O
- S: Sequential access
- I: Input (Sequential access)
- R and D: Direct access
- O: Output (Sequential access)
Converts the input file from type <inp form> to type <out
form>, placing output in the output file.
- COPY <filename> <filename | :destination drive>
Copies the source file to the destination file. If only
:destination drive is specified as a destination, the file is
copied to the destination drive with the same name.
- DIR [:drive] [extension] [PTR]
Displays the directory of the disk in the specified drive or
default drive 0. If an extension is specified, only files with that
extension are listed. PTR turns DUAL mode on temporarily.
- DISKCOPY [:source drive] [:destination drive]
Copies all files on the disk in <:source drive> to
- DSKCHECK [:drive]
Checks the disk in the specified drive for flaws.
- DUAL [ON | OFF]
Enable or disables simultaneous printing of text to the screen and
- EXECAUTO [:drive]
Executes the command sequence set by the AUTO command that is
stored on the specified drive.
- FORMAT <:drive> <tracks> [side number]
<tracks>: 35 .. 80 <side number>: 1 | 2 Formats the
specified side of the disk in the specified drive with the number
of tracks specified. Remember, when formatting double sided drives,
you must format both sides separately.
- FREE [:drive] [PTR] Displays a free space map of the specified
drive. A period (.) represents free space, an X is a used or
non-accessible granule, and a F is a flawed granule. If PTR is
specified, the map is sent to the printer.
- HELP [command] Displays help for the specified command, or a
list of commands which HELP is available for.
- HIRES Loads and executes the high-resolution character set
driver routine and character set.
- INITDK <:drive> <tracks> After completely
formatting a disk, run INITDK on it. INITDK checks the disk for
flaws, and if/when found, that granule of the disk is deallocated.
If you are formatting a double-sided, 40-track disk, use 80 for
- KILL <filename> Deletes the specified file.
- _LIST <filename> [ASCII] [PTR] Lists the contents of the
specified file. If ASCII is specified, the file will be displayed
much faster, but this can be used only on text files. PTR causes
the file to be echoed to the printer.
- NAME [:drive] <disk name> Changes the name of the disk in
the specified drive to the specified name.
- PURGE [:drive] [extension] Lists files on the specified drive
and asks if they should (Y)es, be deleted, (N)o, don't delete file,
or (Q)uit purge mode. If <extension> is specified, only files
with that extension are listed.
- RENAME <old filename> <new filename> Renames a
file. You do not need to specify the drive number on the new
- SETDRV <:logical drive>
DRIVE=<drive>,SIDE=<side> <drive> is between 0
and 3. <side> is 1 or 2. Reassigns which drive PB Dos will
access when a reference to <:logical drive> is made.
- SETMDM <option>=<setting>,[option]=[setting]...
<option>: BAUD | PARITY | MODE | DATA | STOP <setting>:
Sets the option to the setting. Mode PAK is an RS-232 ACIA pack,
BIT is the bit banger, and MDM is the modem pack.
- (for BAUD) 300 | 600 | 1200 | 2400 | 4800 | 9600
- (for PARITY) EVEN | ODD | NONE
- (for MODE) PAK | BIT | MDM
- (for DATA) 7 | 8
- (for STOP) 1 | 2
- SETPTR <option>=<setting>,[option]=[setting]...
<option>: BAUD | COMMA | FEED | IRQ | INT | WIDTH
- (for BAUD) 300 | 600 | 1200 | 2400 | 4800 | 9600
- (for COMMA) is the width of the field skipped by commas in
PRINT or LPRINT commands.
- (for FEED) ON | OFF. Printer linefeeds.
- (for IRQ or INT) is the number of characters to be sent to the
printer per interrupt.
- (for WIDTH) is the number of characters wide the printer's
Sets the option to the setting.
- SETIME [time]
Sets the system time. Time is entered in operating system form. If
it is not specified, PB Dos asks for it.
Restarts the PBDOS.BAS section of PB Dos.
1 ' This program builds the image file from an existing Pb-Dos boot disk.
3 CLEAR 7000:DIM A$(16),B$(16)
4 ON ERROR GOTO 5:KILL "BOOTIMAG.DAT":ON ERROR GOTO
5 OPEN "R", #1, "BOOTIMAG", 256
8 FIELD #1, 128 AS P1$, 128 AS P2$
10 FOR T=0 TO 6
15 IF T=6 THEN T=34
17 PRINT STRING$(POS (0), 8); "TRACK:";T;
20 FOR S=1 TO 16
25 DSKI$ 0,T,S,A$(S),B$(S)
30 NEXT S
35 FOR S=1 TO 16
40 LSET P1$=A$(S):LSET P2$=B$(S)
50 PUT #1
60 NEXT S,T
70 CLOSE #1
This program puts the image file into place on a disk. It can be
run under RS-Dos.
10 ' PB-DOS IMAGE FILE TO BOOT DISK BUILDER
15 ' (C) 2000 PERETTE BARELLA, FORMERLY PETER BARELLA
20 ' PUBLIC DOMAIN.
25 ' TAKE A DISK. PUT THE IMAGE FILE ON IT, THEN
30 ' RUN THIS PROGRAM. THIS PROGRAM WILL DEALLOCATE
35 ' THE APPROPRIATE TRACKS IN THE GRANULE ALLOCATION
40 ' TABLE, THEN TRANSFER THE IMAGE FROM FILE ONTO
45 ' THOSE TRACKS.
50 CLEAR 7000
55 DSKI$ 0,17,2,A$,B$
60 IF LEFT$(A$,12) <> STRING$(12,255) THEN PRINT "TRACKS 0-5 NOT EMPTY.":END
65 IF MID$(A$,67,2) <> STRING$(2,255) THEN PRINT "TRACK 34 IS NOT EMPTY.":END
80 DSKO$ 0,17,2,A$,B$
100 DIM A$(16),B$(16)
120 OPEN "R", #1, "BOOTIMAG", 256
130 FIELD #1, 128 AS P1$, 128 AS P2$
140 FOR T=0 TO 6
150 IF T=6 THEN T=34
160 PRINT STRING$(POS (0), 8); "TRACK:";T;
170 FOR S=1 TO 16
175 GET #1
190 NEXT S
200 FOR S=1 TO 16
210 DSKO$ 0,T,S,A$(S),B$(S)
230 NEXT S,T
240 CLOSE #1
Once you've downloaded the image, put it on a fresh, blank disc.
Then type in/download PUTIMAGE, and run it. When complete, copy
PBDOS.BIN onto the disc. Also put PBDOS.BAS in ASCII format on the
disc. Do NOT load PBDOS.BAS, then save it to the disc without ",A"
option (on CoCo-2, tokenization is incomplete. On CoCo-3,
tokenization is partially wrong and partially incomplete).
Type "DOS" to boot. Or, if using Disk Basic 1.0, download the
"+.BAS" program, save it on the boot disc, then run that in lieu of
the DOS command.
Pb-Dos will boot and ask for the time. After entry, PBDOS.BAS
will be run. At "PB Dos Ready", type Clear-Break, then:
NAME :0 Perette's PB-Dos Boot Disc
Substitute your name for mine. Though the process is not complete,
now would be a good time to restart the machine, make a backup,
then once again boot Pb-Dos.
Next, put the rest of the Pb-Dos files on the disc.
This completes the creation of your Pb-Dos boot disc.
What PUTIMAGE does is to put BASIC on tracks 0-5, and a boot
program on track 34. BASIC is stored in 4K chunks using sectors
1-16 of each track, $8000-$8FFF=track 0, $9xxx=track 1, ...,
$Dxxx=track5. The necessary revisions are BASIC 1.1, Extended BASIC
1.1, and Disk BASIC 1.1. The CoCo-3 ROMS are not used and the
region they occupy is taken by Pb-Dos.
The boot program on track 34 loads the ROMs from disc into low
RAM, initiates all-RAM mode, copies them into their correct address
spaces, adds a jump back into the boot program somewhere near the
end of Disc BASIC's initialization, then jumps into BASIC as if a
reset was occuring.
When the boot program gets control back, it asks Disc BASIC to
load PBDOS.BIN, which is executed immediately thereafter. This
piece of code installs hooks throughout the various ROMs, then
displays the copyright screen and owner, and prompts for the date.
After date entry, the autorun sector is read and put in the
type-ahead buffer for execution (this can be overriden with
Clear-Zero). Finally, the initialization code turns itself into a
printer spool buffer and executes PBDOS.BAS.
@(#) stddefs.m4 built 2005-05-05 13:08:55 by makeinc $Revision:
@(#) $Id: toc.m4,v 1.7 2004/01/02 03:29:33 perette Exp $
@(#) $Id: html.m4,v 1.44 2005/05/08 04:04:59 perette Exp