• Please review our updated Terms and Rules here

Zimmers' BASIC2 ROMs

tried registering with the cbm-hackers but their confirmation email system and support system is broken for new users, bah.

W,
I'll ask for you about BASIC 2 annotated disassembly if I can remember password or whatever it takes to leave a message on the cbm list.
 
Thanks! Last night I checked every RAM-related resistor, signal line and buffer line to no avail. I even coloured a hi-res photo of the board with each chip's function. I know my ROM/RAM board is based on Nicholas Welte's original design and all the docs for that are still online so I'll find out exactly how it replaces memory access since that should give me an idea as to which chips I can ignore. I'd have thought that if another chip somewhere was pulling a signal low or something then the machine just wouldn't work.

Cheers

Witchy
 
After colouring and marking the layout of my board I gave myself a crash reminder in 6502 assembler after finding the disassembly of BASIC4 on Zimmers' site, figuring that the init routines would be identical. It writes to some store registers right at the beginning of zero page memory ($00 upwards) then copies some ROM code there and executes it. Later it writes to BASIC memory and increases addresses doing write/compare to see how much RAM it has available then jumps to the routine that displays the COMMODORE BASIC message and bytes free. Unfortunately there's no error checking because why would there be so I can see it looping infinitely if it can't write to memory.

Today I discovered I'd used a 74LS04 where I should've used a 74S04 and was told the timings are vastly different between the two, like 10ns as opposed to 2ns propagation which could make a difference between a working and non-working machine. Cheers Dave, new 74S04 on order as well as a 74S74 for RAS0 because they're the only two 'S' series chips that control memory refresh.

I also got a needle nosed soldering tip the other day so managed to fix the circuit board of this machine's keyboard that had 16 broken tracks where something heavy had dropped on it in the past. Getting there....slowly.....

W
 
Unfortunately there's no error checking because why would there be so I can see it looping infinitely if it can't write to memory.

From the design viewpoint, there needn't be. There's not supposed to be bad RAM, and only certain amounts of RAM should be installed. If either case is not, then it's as good as dead, needing service, anyway.
 
Unfortunately there's no error checking because why would there be so I can see it looping infinitely if it can't write to memory.

BASIC needs good RAM up to at least the first 512 bytes to have a chance at coming up. With bad zero page RAM (first 256 locations) , garbage is stored where there should be the key variables and constants needed for BASIC to run. BASIC then crashes. Also the stack is located in the second 256 locations so bad RAM there can crash BASIC as the subroutines return to random locations.
 
Yep, that's what I worked out. Now that I'm back from a little hospital stay (hernia removal) I've got everything needed to replace all the RAM refresh circuitry apart from the 74S74 (H1) which is on back order. Piggybacking probably won't work in this case (too many chips), and when I DO find out what's causing it I'll have a large chunk of chips socketed. Then I'll find out it NEVER worked and I'm the first person to get it going :)
 
Last edited:
and there's no finer feeling than desoldering a chip from a board that already has missing chips (not my own doing, it also has a non-standard bridge rectifier on it) only to find whoever last 'repaired' it made a right arse of it. Grr.
 
but....

workingPET2001.jpg

I don't know whether to do backflips or bemoan the ukp15 I've spent on chips that can be saved until the next repair :D

Burning question is, do I put the originals back in of the ones I've so far replaced...

For those of you still here (and for future readers) the fault was the 74S74 at H1, responsible for RAS0.....

W
 
Last edited:
For those of you still here (and for future readers) the fault was the 74S74 at H1, responsible for RAS0.....

Congratulations on a good repair. Did you mention that you first put a 74LS74 in H1 and it did not work until you put a proper 74S74? If so that is good to know.
-Dave
 
Congratulations on a good repair. Did you mention that you first put a 74LS74 in H1 and it did not work until you put a proper 74S74? If so that is good to know.
-Dave

No, whilst it was true I'd put in a 74LS04 in place of a 74S04 (H2) I've subsequently found that this doesn't make a difference, and in H1 I've tried a 74S74, 74LS74 and 74HCT74 and they all work. However, 'work' in this case is 'get to a 32K BASIC prompt and flashing cursor'. Maybe if I was to run something that really taxed the memory the propagation difference might show itself. Once I've tidied this one up and re-soldered some originals like the 74153s (E3-6) and 7425 (B2) I'll buy one of Dave@Tynemouth's MicroSD modules so I can load up with some PRGs.

Cheers!

W
 
Last edited:
Interesting. Today I'm back to square one without actually doing anything. I've put H1 and H2 back to 'S' variants and still nothing. Muh? Is it possible the big capacitor can save the machine state to such a degree it can survive chip swaps but ultimately stop working when fully discharged overnight? Oh, I resoldered the original B2 this morning but that was after running the machine for a few minutes with it in the socket last night. Baffled.

*edit* that can't be right. I tested it after re-replacing E3-6 and it still worked, also put the original G1 and G7 back albeit in sockets.
 
Last edited:
Some chip somewhere cooled down.

Turn it on and leave it on for a while before resetting it.
 
Turns out one of my 7425s (B2) really is faulty so with a socket back in place and a new 7425 we're off again which is good because I have two mystery ROMs from this machine that I'd like to see working, one of which might go with the Kensington keyboard adapter that was in the machine when I got it. One is marked "TOOLKIT SYS45056 Dad's version" which looks like a BASIC add-on and the other is marked "Arrow UD4 159".

This is the adapter, I've only found one mention of possibly it and it seems to be an autorepeat.
PET2001keyboardadapter.jpg
 
Back
Top