• Please review our updated Terms and Rules here

Hi, new to the forum, fixing a Commodore PET

My favorite 'illegal' instruction is "LAX" an instruction that loads the accumulator and the X register at the same time. It is said that gamers used some of these instructions to speed up their code.
-Dave
And then there are the DIY instructions:
http://www.wiz-worx.com/resume/byte8010.htm

Back to our patient: Still sounds like it's probably garbage being read from ROM or RAM; wonder if it'd be useful to see what's on the address & data lines when the CPU is stopped.
 
Thanks, Anders; I thought I remembered something like that, in fact I think we had a PET here a long time ago that locked up like this because of a bad ROM or page zero RAM.

I still think until we read the ROMs and check the low RAM we're wasting a lot of time on irrelevant red herrings like clock waveshapes etc.

I've asked a couple of times whether the OP is just assuming that his programmer can't read the ROMs or if it really can't even read 2716s; unfortunately he hasn't seen fit to answer (nor what he used to draw that schematic, or comment on the NOP adapter that Dwight and I are suggesting... ;-) )

Sorry for not replying immediately, I was out all day yesterday and despite being week end stil working today.

I thought I already replied at that, my programmer is NOT capable to read 2716 or 2732, it seems my pcb version cannot do that, it can read/program from 2764 upwards.

I am working on that adapter so the rom problem possibly will be sorted.

I did not know the 6502 can literally be crashed, I do not think is possible with the z80 but as I said I am not ( yet ) a big 6502 expert I am trying my best to fix this PET for the happiness of an ox ;)

I would rather not say what I used to draw that cause .... Well .. Let's say I should not have it ... Nuff said ..

The nop thing I am sure it is a good idea but as I am already on the rom thing I will finish this and see how it goes.

However today after over 800 miles done in 1 day yesterday we had to spend some time checking some memory leaks, moving a whole website to an alternate hosting before a contract is going to expire, learn how to set up some stuff and finally a tiny hole seems opened in my new crown and I will have to return to the dentist again cause it hurts !

I managed to solder a few connections in that thing anyway ;)

[edit] - THIS THING down on the bottom of page 3 http://www.gilesgoat.com/exps2.asp?indice=2&npag=3

Which I built more than 15 years ago would program/read 2716,2732 and 2708 too .. but I don't have it here, it's back home in Italy ;)
 
Last edited:
Ah, sorry; I thought maybe your programmer could do 2716s; some can do 2716/32, but not 2532s.

Too bad that software's not available; that schematic looks kinda neat. Some interesting projects on your site by the way.

Sounds like you've got a few more pressing things than bringing the PET back to life, and a toothache can be extremely distracting; my sympathy goes out to you.

Good luck with the PET and your various other challenges; let us know when there's news.
 
Mini update.

Just to say today after a VERY STRESSFUL day cause various problems ( that should not have been there at all ) about transfering a domain ( that in the end it ended up to be an impossible operation to perform with the kind of hosting we bought and we had to resort to an HTTP redirection to another domain ) I managed to spend about 1 hour and something working on this.

Which .. proven to be "a bit more complex to solder than expected" cause the particular solution I invented to make it fit inside the PET.

Anyway it's coming along, ALMOST finished but yet to test.
 
Just finished to solder all ..

Now re-checking once more again one by one all the connections then I'll try first to plug it in and see all is ok and then I'll try to program 2 EEPROM and see if something happens ..
 
.. I am starting to get very frustrated and sad :(

.. after much work this is the thing

RomAdapt1.jpg


.. and top ..

RomAdapt2.jpg


.. and in place .. tested and verified and such ..

RomAdapt3.jpg


.. just .. like nothing would be ..

Actually sometime you switch it on an "all frozen stable garbage" .. sometime else you see bit of weird flickering stuff ( lot of garbage but all flickering ).

At this point we are trying to write some "test program", test it in a PET emulator and then try to burn one of those eprom ( the E000-FFFF one of course ) and see if we can get into something.

I would dare to say "I believe at this point it's not a ROM issue", I have to reconnect and test with the scope again but I would supect that CPU is probably still frozen not running anything .. or what ..

We'll try to write some ROM-only program ( needing no ram ) capable to fill the screen with something and see if we get somewhere ..

I am quite a bit frustrated now .. :(
 
You did not show us an updated schematic. Did you disable the one EPROM in the range of E800 to EFFF? Otherwise the EPROM will collide with the I/O space and nothing will work.

Looking at the schematics there is UE14 that combines SelE and x8xx signal to precisely do that, the CS1 signal that arrives at pin 20 of the chip should be good as it is, I am taking the signals directly from the chips pins.

Now you make me think .. Wonder if that chip is faulty maybe ?
 
Looking at the schematics there is UE14 that combines SelE and x8xx signal to precisely do that

Giles,
That is true for the newer boards with BASIC4. From your board photo, I think you have an older model that may not have that circuit. I had asked you before to double check schematics and top assemblies. Can you verify the model of board you have? There are many variations and it is confusing.

If you do not have the X8XX inhibit on the ROM chip enable, you can add it easily since you have three spare NAND gates. All you need to do is invert A11 and /SEL_E using two NAND gates and send them to the last NAND and output that signal to the AND gate.
 
Looking at the schematics there is UE14 that combines SelE and x8xx signal to precisely do that, the CS1 signal that arrives at pin 20 of the chip should be good as it is, I am taking the signals directly from the chips pins.

Now you make me think .. Wonder if that chip is faulty maybe ?
UE14???

Just to clear this up once and for all, just exactly which model and which schematic are we dealing with here? I'd think that in the model in the picture Row E ends at UE11 and you don't have ICs labelled UE 12-14; do you really?

Sounds like the 8032 schematic... I would expect the ones for your computer to be the 320349/320351 set.

Looks like Dave and I crossed again in cyberspace... ;-)

I really think that your time would be better spent if you finally took the 10 minutes or so to make an adapter that lets you read those ROMs in your programmer; we really seem to be chasing a lot of red herrings here...
 
Last edited:
Giles,
That is true for the newer boards with BASIC4. From your board photo, I think you have an older model that may not have that circuit. I had asked you before to double check schematics and top assemblies. Can you verify the model of board you have? There are many variations and it is confusing.

If you do not have the X8XX inhibit on the ROM chip enable, you can add it easily since you have three spare NAND gates. All you need to do is invert A11 and /SEL_E using two NAND gates and send them to the last NAND and output that signal to the AND gate.

I will check but as I am getting the chip select pin that arrives at the rom there must be something already disabling it when necessary, it's not the rom can disable itself no ?

How could it possibly work with a rom only in that place that cannot have any logic to disable that .. Unless you tell me that is a 2k EPROM sited of a 4k one and one ad line goes into some cs maybe ?
 
Yes, the E000 ROM is only 2K bytes. And since you are substituting an 8K EPROM, you must disable it in the E800 to EFFF address space.
-Dave
This is exactly why I objected to Dwight chasing Pet Rescue off to start a separate thread; this was discussed here:
http://www.vintage-computer.com/vcf...Commodore-3032-pet-with-garbage-screen./page3

The 2332's A11 is /CE on a 2316/2716, so it's only enabled in the low half of Exxx.

But if you programmed the PET ROM set into those 8KB ROMs wouldn't you have noticed that one image was only 2KB instead of 4?
 
This is exactly why I objected to Dwight chasing Pet Rescue off to start a separate thread; this was discussed here:
http://www.vintage-computer.com/vcf...Commodore-3032-pet-with-garbage-screen./page3

The 2332's A11 is /CE on a 2316/2716, so it's only enabled in the low half of Exxx.

But if you programmed the PET ROM set into those 8KB ROMs wouldn't you have noticed that one image was only 2KB instead of 4?

.. yes .. I noted .. and I asked myself "what the ?" and I also had to pad it by adding 2K more to fit it into 8 ..

Ok .. sounds like I am looking at a wrong schematics then ...

[edit] - after the sheep are fed, I'll be doing that modification and see if this time things are going to work ...

[edit2] - this below is the sheep, her name is Ewenity, she's a bit special because she had an accident about 1 year ago so she's lighly disabled so she can't walk much around.

Every night when we do some final check she always get a couple of bisquits and a bedtime story before she goes asleep, she has a stable with a carpet ( so she does not scratch her knees ) , a bit of heating ( infrared lamp ) , a radio in the morning ( she likes music ) and of course lot of care and the rest of the flock around :)

Sheep_53.jpg


So the "excuse me I am going to check the sheep" is not a joke ;) Every now and then work is interrupted to check the sheep ( we have 9 of them ) .
 
Last edited:
Giles,
Check these schematics and parts layout sheets to see if this is a match with yours.

http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/2001N/index.html

Yesterday much after midnight I had for the moment to "stop soldering and go bed" ...

I was getting the point I was making mistakes rather then good thing.

Ok looks like the schematics that applies to my board is this :

http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/2001N/320349-4.gif

Now note that the order of the roms is "F,E,D,C" starting from D9,D8,D7,D6 and they do not really show that rom 'E' has in reality A11 going into an /OE.

That 9,8,7,6 is different from the other schematics I had, I wonder in the first place if roms where in the correct order.

Then I did check with a tester where pins goes into starting from the 74154.

First of all .. yes .. there's not "that gate", pin /SELE is directly conneted to the rom in D8, so getting in from there misses the logic to disable the range E800 ( if you just get it without considering A11 ).

Second, it reconfirms the order 9,8,7,6 as F,E,D,C ..

Because I made my thing based on this schematics :

http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/8032/8032029-04.gif

I have to change a few more pins and connections.

This is just quite all the reverse of what I was thinking.

More update later ... after the coffee and the rest ..
 
I don't want to be snarky, but you could save yourself (and us) a lot of time if you paid a little more attention...

We've warned and asked you several times to check that you're working from the right schematic...

When you posted your schematic we warned you that it would not work because you were not fully decoding the Exxx ROM (although I did briefly confuse the issue ;-) )

We've suggested several times (and been ignored) that you read the ROMs which is by far the most common problem; you've said several times that your programmer could read 2716s so it should be easy, but even if it can't an adapter would be a lot easier than what you've built there.

If you really want to replace the whole ROM set with EEPROMs that's fine, but it just confuses the issue with a whole new set of unknowns and you don't really need it. If the ROMs are all OK then we have to look elsewhere; on the other hand, if you had found one or more bad ones Dave or Anders could (and would) have sent you a replacement and you'd be in business by now.

Now note that the order of the roms is "F,E,D,C" starting from D9,D8,D7,D6 and they do not really show that rom 'E' has in reality A11 going into an /OE.
Yes, I think we've known that all along; UD3-UD9 are 9xxx to Fxxx. Obviously the schematic won't show anything different for UD8 other than that it can contain either a 6332 or a 6316 depending on the memory map options; pin 18 is A11 but there's no need to disable E8xx when it's a 2KB ROM because it treats it as /OE.

Parts layout for your board:
http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/2001N/320351-6.gif

I'm just hoping we can stop wasting time and actually make some progress instead of going off on these tangents...
 
Last edited:
.. hum erm .. .. indeed there's been a bit of confusion ..

.. but in the end ..

FirstRun.jpg


This is not the basic yet but it's an eeprom I programmed that contains this following bit of code :

78 A9 20 A2 00 9D 00 80 9D 00 81 9D 00 82 9D 00 83 CA D0 F1
a2 00 8a ea ea 9d 00 80 ca D0 f7 ea ea a9 00 f0 EF

That fundamentally first clears all the video then prints the pattern.

Basically it seems it all boils down to :

a) some rom, which I don't know ( yet ) because I am not able to read those had to be faulty
b) it wasn't the VIA chip ( 6522 ), put back the old one still ok
c) *BUT*, thanks to the program above we found out that ALSO one of the two 2114 chips was a bit faulty as well ( the other one was OK ), UF7 had some problem.

Now I have to try to burn the kernal/basic and hopefully this time we'll be there.
 
Back
Top