6502.org Forum  Projects  Code  Resources  Tools  Forum  Log in
 
Search Search FAQ FAQ Members Members Profile Profile Log in to check your private messages Log in to check your private messages Register Register

Operating system Commodore Pet

 
Post new topic   Reply to topic    6502.org Forum Index -> Nostalgia
View previous topic :: View next topic  
Author Message
Mats



Joined: 24 Aug 2003
Posts: 113

PostPosted: Sun Feb 01, 2004 9:08 pm    Post subject: Operating system Commodore Pet Reply with quote

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
View user's profile Send private message
bogax



Joined: 18 Nov 2003
Posts: 132

PostPosted: Sun Feb 01, 2004 10:15 pm    Post subject: Reply with quote

You might find something here:

http://www.funet.fi/pub/cbm/firmware/computers/pet/index.html
Back to top
View user's profile Send private message
Mats



Joined: 24 Aug 2003
Posts: 113

PostPosted: Mon Feb 02, 2004 7:54 am    Post subject: Reply with quote

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
View user's profile Send private message
kc5tja



Joined: 04 Jan 2003
Posts: 1322
Location: San Diego, CA

PostPosted: Sun Feb 29, 2004 6:17 pm    Post subject: Re: Operating system Commodore Pet Reply with quote

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
View user's profile Send private message Visit poster's website
ghaytack



Joined: 24 Mar 2004
Posts: 38

PostPosted: Tue Apr 06, 2004 2:41 pm    Post subject: PET 6540 ROMS Reply with quote

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
View user's profile Send private message
ghaytack



Joined: 24 Mar 2004
Posts: 38

PostPosted: Thu Apr 08, 2004 9:36 am    Post subject: Reply with quote

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
View user's profile Send private message
daniel_bingamon



Joined: 22 Jan 2003
Posts: 5
Location: Kings Mills, OH

PostPosted: Thu Jul 07, 2005 2:45 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    6502.org Forum Index -> Nostalgia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum