Page 1 of 1
TIM Monitor PET/CBM
Posted: Tue Jul 25, 2006 3:18 am
by Mats
The TIM monitor as implemented for PET took the command:
.S 02,NAME,0400,076D
to save the data in memory $0400-$076D to the tape in casette unit 2 giving the file the name "NAME". But this command is not accepted by the TIM monitor in the ROM of CBM8032. But this monitor can also save/load from tape, it is only another syntax (more possibilities for "save" possibly?). Does anybody know the correct syntax for the newer version?
Posted: Tue Jul 25, 2006 8:14 am
by ghaytack
The syntax for the TIM save command is :
s "name",device,start,end
So it would be :
S "NAME",02,0400,076D
In addition remember that cassette #2 is the edge connector on the right hand side. The one on the back is cassette #1.
Posted: Wed Jul 26, 2006 7:28 am
by Mats
Yes
S "NAME",02,0400,076D
works fine!
Has this "new" TIM monitor any additional capability relative to the original PET version or is it only a change of syntax? Has TIM for example access to the IEEE port (floppy drive)? Anyway, TIM did not like
S "NAME",03,0400,076D
!
Posted: Wed Jul 26, 2006 9:31 am
by ghaytack
Hi Mats,
It's exactly the same monitor as was shipped in the "new ROM" (BASIC 3.0) PETs. On the "old" ROM PET (BASIC 2.0) you had to load it from tape. There have been 3rd party monitors that may have used a different command syntax but TIM's has never changed.
TIM does have access to the IEEE floppy drives, but you have to use the "new ROM" or BASIC 3.0 disk "commands". The built in disk commands of BASIC 4 (DLOAD, DSAVE etc) are not available from within TIM. You then need to include the drive reference in the file name, eg :
S "0:TEST",08,0400,0776 (save to drive 0 on disk unit
Just for reference, the assigned IEEE device numbers are as follows on PETs/CBMs:
00 : Keyboard (input only)
01 : Cassette #1
02 : Cassette #2
03 : Screen (output only)
04 : Commodore printers (default, can be changed by reprogramming the printer)
08 : Commodore disk units (default, can be changed by reprogramming the disk unit)
One final thought, on Commodore floppy disk units drive "0" is usually on the RIGHT.
George
Posted: Wed Jul 26, 2006 12:27 pm
by Mats
I read from
PET 2001-8 PERSONAL COMPUTER USER MANUAL
first edition CBM Inc 1978
page 96:
S SAVE
.S 01,MONITOR,0400,076D
.PRESS PLAY ON TAPE#1
OK
First argument tape unit!
Second argument file name without any "!
Posted: Wed Jul 26, 2006 12:32 pm
by Mats
PS:
I should also say that on page 95 it says that the Monitor is loaded from a cassette shipped with the PET. It is not said to be in ROM! The source listing of the monitor is provided in the User Manual.
Posted: Thu Jul 27, 2006 8:29 am
by ghaytack
Ah that it explains it....
The first edition of the PET manual could best be described as a "great work of fiction lightly spinkled with a few facts". At the time Commodore were a legend in the industry for the attrociousness of their manuals. Much of what appeared in the early manuals was, for want of a more polite way of putting it, utter crap.
For more accurate information take a look at :
http://www.commodore.ca/products/pet/commodore_pet.htm
Although even their TIM manual is wrong. I've never seen an actual version of TIM for the old ROM PETs on tape that used any syntax other than :
S "<name>",<device>,<start addr>,<end addr>
A couple of good books to track down are "The PET/CBM Personal Computer Handbook" and, bugger cant remember the title but I'll dig it out at home tonight and post it up.
George
Posted: Thu Jul 27, 2006 2:29 pm
by ghaytack
Those two books are "PET/CBM Personal Computer Guide - Adam Osborne and Others - Osborne McGraw Hill" and "Programming the PET/CBM - Raeto Colin West - COMPUTE! books".
I've still got the Raeto West book but went and gave the other one away about 8 years ago when I had to rehome my PET collection.
Posted: Fri Jul 28, 2006 9:59 am
by Mats
I think that the PET User Manual from 1978 is very well written and I doubt that there is any error in it. And the description of the TIM monitor was definitely correct! What must have happened is that somebody thought that the way the arguments for TIM were given
S 01,MONITOR,0400,076D
was not in line with the BASIC syntax
SAVE "MONITOR",1
and it was changed for the benifit of the users (easier to remember with only one convention)
Posted: Wed Sep 20, 2006 12:15 am
by kc5tja
I am probably beating a dead horse with this response. I remember using a PET 8032 while I was in elementary school, and that was one of my first introductions to 6502 machine language coding. It had a Monitor built into ROM, but to get into it, you had to execute a command called MONITOR from BASIC 4.0 (this command is also in BASIC 7.0 too, used on the Commodore 128).
I seem to recall the command ordering as:
S device, "FILENAME", start, end
Yes, the device came first. And yes, device 8 was recognized as the disk device (dual drive unit, so filenames had to use 0: or 1: in their prefix). To overwrite a file, you also had to prefix it with @ -- as in "@0:OVERWRITTEN,P". The Commodore monitor uses the Kernal for all its I/O, so whatever the kernal would support, the monitor also would support.
It's been so long, though, i can't remember any specific details. But, I seem to recall that mats is correct.
HOWEVER, . . .
I believe the Commodore 128's monitor uses the "FILENAME",device,start,end syntax (I'm currently at work, so I cannot verify). This leads me to believe that there might have been two distinct versions of the monitor in circulation.
I dunno -- I only work here... ;D