Newest posts at bottom
|CBM SuperPET Tips (CBM S9000)|
|by Bill Degnan - 12/12/2008 22:20|
The manuals supplied by Commodore are frustratingly incomplete and require a lot of head banging and experimenting to accomplish what should be simple tasks. The top of the klugey list is printing a program listing.
Here are some useful tips and tricks including a few things that are not found in the original manuals. I still recommend that you try to find and read a copy of the SuperPET manuals (pamplets) too.
1. In order to use the SuperPET in 6809 mode, you must have the OS boot disk titled "SuperPet WCS" present in drive 1 (left drive) of an 8050 (or 8250) dual-diskette drive. Set the side dip switches to 6809 and R/W. If you do not have this disk or a 8050/8250 drive, you'll have to trouble doing much more than staring at the initial boot menu. This menu lists the programming language options (Pascal, COBOL, FORTRAN, BASIC, etc.) BUT these components are not included in a system ROM, they exist instead on the boot disk.
The directory listing from a pair of SuperPET disks when viewed from 8032 BASIC. Note the failure of BASIC to correctly print the SEQ filenames created with the SuperPET in 6809 mode using Pascal (right/drive 0). The programming languages available to the SuperPET user are listed in drive 1/left drive. I am not sure what those SEQ files are, probably test programs I saved to the disk (it's a working copy).
2. After loading a language option from the 6809 boot screen, execute the command help to recall a listing of the available command mode commands.
g filename - to load a file
p filename - to save a file
di - directory
di disk8/1 - directory of drive 1
*d - new / clear workspace
d - delete current line
...of course, how logical! (??)
3. Here is a list of the quick keys when in edit mode. (Shift+ number pad keys):
SHIFT+0 = PF0 = new line
PF1 = Not Used
PF2 = Delete a line
PF3 = Move ahead a line (cursor down)
PF4 = Move current LINE down one in window
PF5 = Enter Command Mode (exit)
PF6 = Back one line (cursor up)
PF7 = Move current line up one in window
PF8 = Screen Mode (enter editor mode from command mode)
PF9 = Back one screen (page up)
PF. = Ahead one screen (page down)
So you ask, why does the manual not just say shift+8 instead of "PF8"?
Answer: Because the SuperPET was used as a terminal to connect with (by default) the VM/SP environment on an IBM 370 or IBM Series 1 . "PF keys" are part of the IBM nomenclature. A 3270 terminal has function keys labeled PF1, PF2, PF3, etc. The SuperPET was more of a smart workstation used to upload programs to mini or mainframe computers, and not so much a stand-alone micro.
Once a person was done coding in their programming and it passed syntax validation, the programmer would upload the code for production testing. The VM interface or TSO/JCL interfaces had PF key menu screens.
4. Here is one that's not in the manual:
From the command mode, here are the commands for printing a code listing (assuming you've loaded a program already)
BASIC: save 'printer'
Note that Waterloo BASIC is NOT compatible with Comm0dore BASIC
5. No SuperPET diagnostics disks come with the computer. If you have a SuperPET that's not acting correctly, contact me for a 8050 Tech Disk's SuperPET diagnostics program. At some point I will copy this file for download, especially if bugged enough.
6. There are no specific directions or code samples in the Pascal manual for printing program output.
After much work and research I was able to figure out how to send the output of a program to the printer (an 8023P). As part of my VCF E 5.0 exhibit, I wrote a "computer history quiz" program for the SuperPET that sends the quiz score results to the printer.
7. When in 6809/Waterloo mode remember that the ascii coding is not 7-bit standard! That means the ascii characters hex values don't match the PET 8032.
If you're wondering how to clear a screen in Waterloo Pascal, here is how you do it:
...because "12" is the Waterloo equivalent of the clear screen character! On the Commodore 64 the clear screen is the "e" character whatever the ascii hex equiv is, I am not at the moment sure (I think it's 93H).
|Waterloo Pascal Code Listing|
|by Bill Degnan - 12/13/2008 21:22|
Here is a sample program that I wrote to demonstrate how to send the output of a program to a printer. The program consists of a 2-question computer history quiz. The program asks two multiple choice questions and allows the user to enter an answer for each. The results are sent to the printer, rather than the screen.
Good Pascal requires indenting the statements. Given more time I would comment, streamline, and format ...
writeln('COMPUTER HISTORY QUIZ');
writeln('Read each question then enter the number of the correct answer');
writeln('After answering all questions, your grade will be tabulated and');
writeln('sent to the printer');
write('Are you ready? (Y)');
writeln('Mark 8 is to Intel 8008 as Altair 8800 is to:');
writeln('1- National Semiconductor IMP-16');
writeln('2- Motorola 8800');
writeln('3- Intel 8008');
writeln('4- Intel 8080');
writeln('Choose One: 1,2,3,4');
if a1=4 then
grade := grade+10;
writeln('What was John Kemeny of Dartmouth credited with inventing in 1964?');
writeln('3- PDP1 Space War');
writeln('Choose One: 1,2,3,4');
if a2=4 then
grade := grade+10;
writeln(p,'COMPUTER HISTORY QUIZ RESULTS');
writeln(p,'Your Grade is: ', grade, '/20');
writeln(p,'Mark 8 is to Intel 8008 as Altair 8800 is to .. 4- Intel 8080');
writeln(p,'Your answer was ',a1);
writeln(p,'What was John Kemeny of Dartmouth credited with inventing in');
writeln(p,'1964? .. 4- BASIC');
writeln(p,'Your answer was ',a2);
for c:=1 to 16 do
|by Bill Degnan - 12/21/2008 12:52|