PDA

View Full Version : Commodore B720 repair



fachat
November 6th, 2014, 12:18 PM
Hi there,

just wanted to point you to an ongoing repair story for my B720, documented here: https://www.flickr.com/photos/afachat/sets/72157647798386959/

The current state is that it boots, but does hang on using the IEEE488 port. The next step will be checking the TPI and CIA, so I can load further test programs e.g. for the SID.

Cheers,
André

Pet Rescue
November 6th, 2014, 02:04 PM
You are making better progress than me André, I can't track down a 6509 for my 720.
I'm failing before I even start, if only Commodore had used a 6502 or 6510.
Even if I find one I bet something else rare had gone!

billdeg
November 7th, 2014, 08:02 PM
really 6509's are not available. that's too bad. I have -one- that's it.

Pet Rescue
November 8th, 2014, 12:44 AM
really 6509's are not available. that's too bad. I have -one- that's it.

You had better guard it with your life bill, I may cross the pond on find and retrieve mission.
England to landenberg is not that far. :lookroun:

billdeg
November 9th, 2014, 06:47 AM
accepting reasonable offer....assume tested and working.

Pet Rescue
November 9th, 2014, 07:32 AM
Thanks Bill you have PM.

fachat
November 9th, 2014, 01:11 PM
Thanks, but the machine is still a bugger. I built a new power supply assembly for it with the PC power supply that I was able to mount on the original mount screws.
https://www.flickr.com/photos/afachat/sets/72157647798386959/

However, now it works in the editor, but in the BASIC the commands hand, except I get a SYNTAX ERROR on the first entry, which results in SYNTAX ERRORs instead of hangs for other commands...
I.e. I currently can't even test the IEEE488 - maybe it actually hangs in the DIR command I tested because it always hangs, not because IEEE488 is broken...
I will probably have to check the BASIC ROMs or ROM sockets...

Pet Rescue
November 10th, 2014, 07:27 AM
Thanks, but the machine is still a bugger. I built a new power supply assembly for it with the PC power supply that I was able to mount on the original mount screws.
https://www.flickr.com/photos/afachat/sets/72157647798386959/

However, now it works in the editor, but in the BASIC the commands hand, except I get a SYNTAX ERROR on the first entry, which results in SYNTAX ERRORs instead of hangs for other commands...
I.e. I currently can't even test the IEEE488 - maybe it actually hangs in the DIR command I tested because it always hangs, not because IEEE488 is broken...
I will probably have to check the BASIC ROMs or ROM sockets...

I saw your video André of the power supply smoking, Ahh that sweet smell of dead capacitors filling the air takes me back!
Is the power supply beyond repair or do you think you can repair it?
Regarding the syntax errors could it be a similar problem with your Pet where there was a bus driver fault?

fachat
November 10th, 2014, 09:11 AM
I saw your video André of the power supply smoking, Ahh that sweet smell of dead capacitors filling the air takes me back!
Is the power supply beyond repair or do you think you can repair it?

As I have no idea how switching power supplies work, I didn't even try repairing it. It looks like it blew a fuse (after about 5-10 minutes of using it), but even after replacing the fuse, there is a reason why it has blown.
So I replaced it with a PC power supply (see the new picture on the link).


Regarding the syntax errors could it be a similar problem with your Pet where there was a bus driver fault?
I am not sure. I will probably have to write a small memory test program and hack it into the monitor.

André

fachat
November 23rd, 2014, 07:52 AM
Unfortunately I am not any further with this machine. I wrote some small memory test programs, that seemed to indicate that the D5 bit in DRAM Bank 0 is broken.
Unfortunately replacing this IC didn't help. The same error pattern shows up with the new IC.

Here's the pattern, maybe it strikes something: I write a $55 and read it, compare it and increase an error counter on mismatch. Then I write $AA to it and read it, again increasing the error counter. The pattern indicates that when Bit 5 is set to low, I get errors, and not otherwise. But it still depends on the bit pattern. I get most errors when I write $10 or $40 instead of the $55. Errors appear at the end of the 256 byte page, but even though the pages seem to cluster I could not make out a pattern that is looks like some address bits were involved. But as I can only manually type in stuff and test there, my analytical capabilities are limited...

So the error depends on neighboring bits, and possibly address patterns. But as it is only in Bank 1, I assumed it would this specific chip - anything it depends on is shared with other chips (bank select, address lines, data lines on other banks) so this _should_ be the only possible result. Maybe the only thing I didn't check is whether the bank 1 (/CASSEG1, /RASSEG1, where D5 is U76 which I replaced) is really "bank 1" in the sense of the processor register...

Any ideas? Anything is appreciated!

https://www.flickr.com/photos/afachat/sets/72157647798386959/

Edit: The error is counted when comparing the $55 value. However, when I leave out the writing/reading of $AA (actually _after_ the $55 test), I don't get errors.

dave_m
November 23rd, 2014, 10:35 AM
Any ideas? Anything is appreciated!

https://www.flickr.com/photos/afachat/sets/72157647798386959/



Hello André,
I do not like the reading ($FE) of the stack pointer. I have never seen just one 'push' on the stack of a running PET.
-Dave

fachat
November 23rd, 2014, 12:08 PM
This is a CBM-II, not a PET. I have removed the BASIC ROMs, so it directly boots into the machine language monitor (helps in case BASIC does not work...)
I don't know if that stack reading is ok, but assume it is due to this setup (although haven't checked with VICE).
You also indeed can't exit a running program (that you started with "G xxxx") with an RTS - you have to BRK it.

dave_m
November 23rd, 2014, 12:50 PM
This is a CBM-II, not a PET. I have removed the BASIC ROMs, so it directly boots into the machine language monitor (helps in case BASIC does not work...)
I don't know if that stack reading is ok, but assume it is due to this setup (although haven't checked with VICE).


André,
OK, I see. Then the stack is probably OK.

Well since you can get into the monitor that easily, can you put the ROMs in a spare socket and and using assembly language, perform a SUM-CHECK on the ROMs perhaps one at a time? But I suppose that would utilize RAM that you do not trust. Is the monitor working OK using a little RAM? Or does it hang up at times?

fachat
November 24th, 2014, 12:34 AM
The Monitor seems to be working OK. Remember, the CBM-II has 2k static RAM in the system bank 15, in which the test program is running. I tested this memory as OK already.
In this 2k I also run the memory test for the 4 banks of 64k DRAM each, which fails in Bank 1 (but OK in bank 2,3,4)

I've read out the ROMs with an EPROM tester, they check OK against the images on zimmers. But I haven't done checksums in the system yet, because it looks working ok and the memory test runs in RAM only.

crock
November 24th, 2014, 07:35 AM
I have seen ram issues like this before, it could be the bank-1 multiplexers, especially as this is occurring on 256 byte page boundaries.

Try this simple address test code which is a commonly used algorithm to find stuck address lines. The idea is that you write $00 to a control address plus all the other complementary addresses where one of the address lines is flipped. You then write $ff only to the control address. If you then read all the complementary addresses, and any of them is non-zero, you have found an addressing problem. It will write the number of the address line to <some_location> if an issue is found.

Rob

lda #$00
sta some_location
sta $ff
sta $fe
sta $fd
sta $fb
sta $f7
sta $ef
sta $df
sta $bf
sta $7f
sta $01ff
sta $02ff
sta $04ff
sta $08ff
sta $10ff
sta $20ff
sta $40ff
sta $80ff

lda #$ff
sta $ff

lda #$00
ldx #$01
cmp $fe
bne add_fail1
inx
cmp $fd
bne add_fail1
inx
cmp $fb
bne add_fail1
inx
cmp $f7
bne add_fail1
inx
cmp $ef
bne add_fail1
inx
cmp $df
bne add_fail1
inx
cmp $bf
bne add_fail1
inx
cmp $7f
bne add_fail1
inx
cmp $01ff
bne add_fail1
inx
cmp $02ff
bne add_fail1
inx
cmp $04ff
bne add_fail1
inx
cmp $08ff
bne add_fail1
inx
cmp $10ff
bne add_fail1
inx
cmp $20ff
bne add_fail1
inx
cmp $40ff
bne add_fail1
inx
cmp $80ff
bne add_fail1
rts

add_fail1
stx some_location
rts

fachat
December 15th, 2014, 11:51 AM
Thanks, will have to rewrite it though (to use the (),Y addressing mode and hopefully make smaller as I haven't got any I/O besides screen/kbd yet...)

I was able to replace the CPU with one from a 610 (which is probably working, didn't check it though), as it was socketed in both machines. Unfortunately the error pattern occurs with both CPUs.
I was thinking it could "only" be the CPU, as the error pattern depends on bit number, bank number, and address - something that only goes together in the dRAM chip and the CPU only. But I guess simple combinatorics is just ... too simple here...

fachat
December 21st, 2014, 03:43 AM
I haven't tried that program yet, but checked the PLA instead. Here's what I found. The PLA seems ok. I replaced it with a SuperPLAV3, and the same errors still appear.
However, I also created an adapter socket for the PLA to exchange the outputs for bank 1 and 2. And with this adapter, the test program reports the errors in bank 2, not in bank 1 - so the error stays in physical bank 1 (which is now bank 2 for the test program).

So I think it can only be something with the dRAM chips, or maybe the power supply lines / bypass caps (as erratic as the errors seem to be even depending on data bit patterns)...

https://www.flickr.com/photos/afachat/sets/72157647798386959/

fachat
December 21st, 2014, 05:06 AM
Arrrgghhhh! These guys at Commodore....!!!!!
Or maybe me because I didn't check the schematics...

I found the Data Out signal quality bad on U50, which was supposed to be D2 according to the schematics! But it isn't - retracing gave it is actually D5, bank 1, the one bit that's giving me all the trouble here....
It looks like they have the order of the dRAM data bits wrong on the schematics pages.
Going to unsolder this chip now.

Never trust the schematics!

KC9UDX
December 21st, 2014, 12:31 PM
Commodore has a bad reputation for faulty schematics. But, how many other manufacturers actually released them?

Congratulations on finding the error. Few repair experiences are as frustrating, yet rewarding, as finding and correcting an error in the service literature.

fachat
January 3rd, 2015, 01:56 PM
So, finally, the machine works! I had to replace two more RAM chips, the CIA for IEEE488 and the ACIA was broken and I had to replace it too....

So in total I had to fix:
- the power supply
- 3 dRAM chips
- CRTC
- CIA
- ACIA
- 556 from the reset circuitry

https://www.flickr.com/photos/afachat/sets/72157647798386959/

Now it's to the cleaning, and maybe replacing the fan with one that works on the PC power supply I used to replace the broken original pwr supply.

Thanks to all who helped with info and suggestions!
André

fachat
January 3rd, 2015, 01:59 PM
BTW:

invaluable tool to analyze memory problems: an adapter for the PLA that replaces the /CAS and /RAS lines for bank1 with those for bank2. It bank1 is broken, chances are that bank2 is not, and you can then at least analyze the problems (as when BASIC is available, bank1 is used as input buffer, and the machine hangs when a bit is stuck high for example).

Also good to know: removing just the BASIC ROMs, and leaving the KERNEL in place boots into the monitor, that just uses the built-in 2k static RAM (AFAIU) and no dRAM, so you can use the free memory at $400-$7FF to type (or load if IEEE works) test programs

André

techtatan
January 19th, 2015, 07:15 AM
hi

I walked through the forum and come over your post here about the 720...
I own a 710 with a cutted keyboard cable ! it is been a long time that i searching for shematics or someone who own a similar machine, hoping to get information about the wirering between motherboard <--> keyboard.

So if you have some time for me can you please provide some dtailled photos or so of the connection cable ?

Kind regards

crock
January 20th, 2015, 02:08 AM
hi

I walked through the forum and come over your post here about the 720...
I own a 710 with a cutted keyboard cable ! it is been a long time that i searching for shematics or someone who own a similar machine, hoping to get information about the wirering between motherboard <--> keyboard.

So if you have some time for me can you please provide some dtailled photos or so of the connection cable ?

Kind regards
http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/b/314010-06-p6-left.gif
http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/b/314010-06-p6-right.gif

techtatan
January 20th, 2015, 07:15 AM
hi crock

that should solve the problem, Thanks a lot:D

Kind regards