| View previous topic :: View next topic |
| Author |
Message |
Mats
Joined: 24 Aug 2003 Posts: 113
|
Posted: Sun Feb 01, 2004 9:08 pm Post subject: Operating system Commodore Pet |
|
|
I have an old not functioning Commodore Pet. I would like to check out its operating system/BASIC interpreter (made by Microsoft when that company still was located in a garage?). But I guess it will not be easy to read its 6540 ROM nowadays! Does anybody have an idea how to dump these ROM? Probably not by current EPROM programmers! Or some other way to get hold of the data, maybe a hexdump or similar on paper or (preferably) in computer readable form from somewhere!
Even if one has a working PET it is not very obvious how to get to this data. The BASIC "PEEK" command for PET did not allow checking these "secret addresses" where the system resided. And the only output was to the screen or to a casette tape with tone modulation that also is unreadable nowadays except for another (working) PET! |
|
| Back to top |
|
 |
bogax
Joined: 18 Nov 2003 Posts: 133
|
|
| Back to top |
|
 |
Mats
Joined: 24 Aug 2003 Posts: 113
|
Posted: Mon Feb 02, 2004 7:54 am Post subject: |
|
|
Thanks!
A disassembly is indeed in:
http://www.funet.fi/pub/cbm/firmware/computers/pet/d/petdis
But another comment:
It is not true what I wrote that PET only had screen and cassette output.
There was also an RS232! With a working PET one could therefore POKE into the second cassette buffer (starting at $033A) a program to dump the ROM ($B000-$FFFF) sending the data to RS232! Assuming the interface specs for the RS232 software of the PET to be available! |
|
| Back to top |
|
 |
kc5tja
Joined: 04 Jan 2003 Posts: 1339 Location: San Diego, CA
|
Posted: Sun Feb 29, 2004 6:17 pm Post subject: Re: Operating system Commodore Pet |
|
|
| Mats wrote: | | Even if one has a working PET it is not very obvious how to get to this data. The BASIC "PEEK" command for PET did not allow checking these "secret addresses" where the system resided. And the only output was to the screen or to a casette tape with tone modulation that also is unreadable nowadays except for another (working) PET! |
There is software available for Linux and/or Windows which will use the PC's sound card to read and/or create a Commodore 64 Datasette (which, IIRC, is 100% PET compatible; remember that the Commodore 64 relied on BASIC V2, which originally appeared on the PETs!), assuming you create a suitable interface between an audio cassette recorder and the sound card (relatively simple). |
|
| Back to top |
|
 |
ghaytack
Joined: 24 Mar 2004 Posts: 38
|
Posted: Tue Apr 06, 2004 2:41 pm Post subject: PET 6540 ROMS |
|
|
The 6540 were somewhat strange (but useful!) mask programmed ROMS made by Commodore. They are basically 1Kx8 but have 28 pins! This comes from the fact that they have several chip select pins. To make life easier for system designers the function of the chip select pins could be chosen as part of the mask programming option so you could get four different 6540's where each has a different combination of active high and active low select pins.
This made things a doddle for the designers of the PET as they could miss out a chunck of addresss decoding for the ROMS and connect the lower 13 address lines (for 8K) directly to the chips with the A12 through A9 connected directly to the select pins of ALL the chips. One 6540 could have (say) pin 26 as an active high CS while it's neighbour could have pin 26 as active low CS.
When I had an old ROM 8K PET some while back I wanted to upgrade it to "New ROM" but was stuck for a while by it being fitted with 6540's. So I dragged out a circuit diagram for the original PET (from an edition of the PET Revealed IIRC) which used these and worked out how to plug a 2764 into one 6540 socket on a small daughter board with some additional lines going to 74LS154 1-16 address decoder. I also did some adaptor to read the 6540 in a BBC EPROM programmer to save a copy of the ROMS to disk.
I'll try and dig my notes on it out if you like.
One feature of the original "Old ROM" version of BASIC was that it returned a false value when trying to PEEK in the ROM area. Later BASICS ("New ROM" and "BASIC 4.0") dropped this feature and you could PEEK where you liked!
PS - It's been a LONG time since I looked at what I did on this some certain details (like the 6540 being 1Kx8) might not be 100% accurate until I check. |
|
| Back to top |
|
 |
ghaytack
Joined: 24 Mar 2004 Posts: 38
|
Posted: Thu Apr 08, 2004 9:36 am Post subject: |
|
|
I thought my memory wasn't quite 100%....
The 6540 is 2Kx8 (giving the PET it's 14K of ROM, 8K for BASIC and 6K for the Kernal). And my old ROM PET had later 24 pin ROMS and 2114 RAMS (I guess yours has 6550 RAMS), but they did have an extra CS pin which varied between active high and active low depending on the memory range a particular ROM was meant to occupy. Also the address decoder was a 74175.
But I did find a pinout for both the 6540 and 6550 at
http://www.cbmhardware.de/cbmpet/cbm2001mos.php3?Lang=D&from=pet2001
It's in German but should help! |
|
| Back to top |
|
 |
daniel_bingamon
Joined: 22 Jan 2003 Posts: 5 Location: Kings Mills, OH
|
Posted: Thu Jul 07, 2005 2:45 pm Post subject: |
|
|
Some of the Pet have a built-in Machine Language Monitor. You can access it by going to a BRK instruction, typically the basic command is SYS 1024
A person with a working Commododore Unit can write a simple machine language program in the tape buffer that patches the USR command. Put the byte of the desired ram location in certain are of zero page with a zero in the MSB position and a call to the 'Convert Integer to Float' basic interpreter rom function will make the value available to a basic program just like the peek would normally do. There are extensive memory maps of the Pet series that were printed by Jim Butterfield. |
|
| Back to top |
|
 |
|