• Please review our updated Terms and Rules here

CBM 4032 strange boot behaviour then dead

simplex

Experienced Member
Joined
Mar 12, 2014
Messages
171
I've just powered up a 4032 that behaved as follows :

Firstly, it said

*** COMMODORE BASIC V4.0 ***

with no memory or prompt.

After powering down and waiting about 30 min, it said the same message repeated right down the screen, i.e. :

*** COMMODORE BASIC V4.0 ***
*** COMMODORE BASIC V4.0 ***
*** COMMODORE BASIC V4.0 ***
*** COMMODORE BASIC V4.0 ***
*** COMMODORE BASIC V4.0 ***
*** COMMODORE BASIC V4.0 ***

etc...

After powering down and waiting another 30 min, it's now completely blank but still makes the correct power on chirp. PRINT CHR$(7) or holding down spacebar don't do anything.

The screen was fine, steady before this happened. I've searched but couldn't find anyone with the exact issue, at least not the thing before it stopped powering up. What would be the first thing to check?
 

dave_m

Veteran Member
Joined
Feb 2, 2009
Messages
3,437
Location
Southern California, USA
I've just powered up a 4032 that behaved as follows :

Firstly, it said

*** COMMODORE BASIC V4.0 ***

with no memory or prompt.

You may have bad zero page RAM or a bad ROM. See if you get lucky and can get into the monitor program by holding down the diagnostic pin on the User Port during power up. If you are going to be doing a lot of power cycles, think about placing a switch on the RESET line to spare the power supply.

Have you found the schematics at 4032/8032?
 

ldkraemer

Veteran Member
Joined
Mar 14, 2013
Messages
2,177
Location
Chaffee, MO
Troubleshooting 6502 CPU

Troubleshooting 6502 CPU

The good news is by having the Startup text duplicated, your Video seems to be working. I'd think something is causing it to continually
try to go through the boot up process in a loop, making the duplicated lines of text.

I'd start by printing the GIF of the Power Supply and check each with a O'Scope making sure they are not dropping low causing the reboot cycle.
(+9 Unregulated, +5 Regulated, -5 Regulated, +12 Regulated)
You likely will also want to check Power Supply Sections for Ripple.

http://www.classiccmp.org/dunfield/r/r650x.pdf
http://zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/8032087-01.gif

+5VDC Pin 8
GND Pin 1, Pin 21

Next, I'd be checking the CONTROL BUS Lines going to the 6502 CPU that have PULLUP resistors, which will allow you a quick and easy test
by pulling each Signal (Control Inputs to CPU) LOW. It's likely you could have one of them being toggled LOW continually giving you a RESET
Condition, or an EXTERNAL ROM PACK or such giving the RESET Condition. Signals SO*, NMI*, IRQ*, and RESET* are active LOW, and
should not be pulled LOW (or held LOW) all the time when the Computer is running properly.

Control Section with PULLUP Resistors
SO* Pin 38
RDY Pin 2
NMI* Pin 6
IRQ* Pin 4
RESET* Pin 40

If all the 6502 CPU CONTROL Signals look good, and can be toggled LOW momentarily, I'd build up an IC Socket to exercise ALL the ADDRESS LINES
while you check each with a O'Scope. This will also allow you to check IC's UD13 & UD14 (74LS244) with your O'Scope.

Address Bus
AB0 Pin 9
AB1 Pin 10
AB2 Pin 11
AB3 Pin 12
AB4 Pin 13
AB5 Pin 14
AB6 Pin 15
AB7 Pin 16
AB8 Pin 17
AB9 Pin 18
AB10 Pin 19
AB11 Pin 20
AB12 Pin 22
AB13 Pin 23
AB14 Pin 24
AB15 Pin 25

The NOP Instruction for the 6502 CPU is 0xEA (1110 1010)
D7=1
D6=1
D5=1
D4=0

D3=1
D2=0
D1=1
D0=0

So, if you wire an IC Socket so the PINS for all DATA Lines to the CPU (NOT Connected to Motherboard) are STRAPPED such that the CPU
continually gets an 0xEA Instruction, the CPU will Increment the Program Counter, and cycle through all the possible addresses. Just insert the
IC Socket in the Motherboard, then insert the 6502 CPU into the IC socket. Just make sure none of the DATA Lines on the Motherboard
are connected to the 6502 CPU. This will allow you to attach your O'Scope, and check just about everything/anything connected to the
Address Bus (ie. UD13 & UD14 74LS244) by chasing signals. (You could also take an old, good, spare 6502 CPU, bend the Data Bus Pins straight
out, and wire wrap those for an 0xEA. Then plug the unmodified IC socket into the Motherboard with the modified 6502 CPU inserted into the IC Socket.)

This ONLY leaves a few Misc Control Lines unchecked, which aren't likely to be your problem.

Control Section Misc
NC Pin 5 (NO ROM*)
SYNC Pin 7
Phase 01 Pin 3 (not used)
Phase 02 Pin 39
R/W Pin 34
16 MHZ Pin 35
Phase 00 Pin 37

So you will have checked 90% of the CPU and associated circuit, with the exception of the Data Bus Lines, which could be another source of the
problem. To check these you will need a Logic Analyzer or a Monitor ROM that allows you to single step through a bit of code to place data on the
bus and chase signals, or read from a specified location, and verifying the data is proper.

Good Luck.

Larry
 
Last edited:

simplex

Experienced Member
Joined
Mar 12, 2014
Messages
171
The good news is by having the Startup text duplicated, your Video seems to be working. I'd think something is causing it to continually
try to go through the boot up process in a loop, making the duplicated lines of text.

I'd start by printing the GIF of the Power Supply and check each with a O'Scope making sure they are not dropping low causing the reboot cycle.
(+9 Unregulated, +5 Regulated, -5 Regulated, +12 Regulated)
You likely will also want to check Power Supply Sections for Ripple.

http://www.classiccmp.org/dunfield/r/r650x.pdf
http://zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ2/8032087-01.gif

+5VDC Pin 8
GND Pin 1, Pin 21

Next, I'd be checking the CONTROL BUS Lines going to the 6502 CPU that have PULLUP resistors, which will allow you a quick and easy test
by pulling each Signal (Control Inputs to CPU) LOW. It's likely you could have one of them being toggled LOW continually giving you a RESET
Condition, or an EXTERNAL ROM PACK or such giving the RESET Condition. Signals SO*, NMI*, IRQ*, and RESET* are active LOW, and
should not be pulled LOW (or held LOW) all the time when the Computer is running properly.

Control Section with PULLUP Resistors
SO* Pin 38
RDY Pin 2
NMI* Pin 6
IRQ* Pin 4
RESET* Pin 40

If all the 6502 CPU CONTROL Signals look good, and can be toggled LOW momentarily, I'd build up an IC Socket to exercise ALL the ADDRESS LINES
while you check each with a O'Scope. This will also allow you to check IC's UD13 & UD14 (74LS244) with your O'Scope.

Address Bus
AB0 Pin 9
AB1 Pin 10
AB2 Pin 11
AB3 Pin 12
AB4 Pin 13
AB5 Pin 14
AB6 Pin 15
AB7 Pin 16
AB8 Pin 17
AB9 Pin 18
AB10 Pin 19
AB11 Pin 20
AB12 Pin 22
AB13 Pin 23
AB14 Pin 24
AB15 Pin 25

The NOP Instruction for the 6502 CPU is 0xEA (1110 1010)
D7=1
D6=1
D5=1
D4=0

D3=1
D2=0
D1=1
D0=0

So, if you wire an IC Socket so the PINS for all DATA Lines to the CPU (NOT Connected to Motherboard) are STRAPPED such that the CPU
continually gets an 0xEA Instruction, the CPU will Increment the Program Counter, and cycle through all the possible addresses. Just insert the
IC Socket in the Motherboard, then insert the 6502 CPU into the IC socket. Just make sure none of the DATA Lines on the Motherboard
are connected to the 6502 CPU. This will allow you to attach your O'Scope, and check just about everything/anything connected to the
Address Bus (ie. UD13 & UD14 74LS244) by chasing signals. (You could also take an old, good, spare 6502 CPU, bend the Data Bus Pins straight
out, and wire wrap those for an 0xEA. Then plug the unmodified IC socket into the Motherboard with the modified 6502 CPU inserted into the IC Socket.)

This ONLY leaves a few Misc Control Lines unchecked, which aren't likely to be your problem.

Control Section Misc
NC Pin 5 (NO ROM*)
SYNC Pin 7
Phase 01 Pin 3 (not used)
Phase 02 Pin 39
R/W Pin 34
16 MHZ Pin 35
Phase 00 Pin 37

So you will have checked 90% of the CPU and associated circuit, with the exception of the Data Bus Lines, which could be another source of the
problem. To check these you will need a Logic Analyzer or a Monitor ROM that allows you to single step through a bit of code to place data on the
bus and chase signals, or read from a specified location, and verifying the data is proper.

Good Luck.

Larry

Hi Larry

Thanks for your incredibly detailed response. I don't have a great deal of experience in this, so I'll need to dust off the scope and get checking!
 
Top