• Please review our updated Terms and Rules here

Apple II+ - starts in monitor mode - need help to diagnose and fix it

TRS-Ian

Veteran Member
Joined
Sep 10, 2011
Messages
1,036
Location
Melbourne, Australia
Hi everyone,

My Apple II+ is starting up in monitor mode, it says:

D3FC- A=FF X=00 Y=FF P=B4 S=F4
*

So far I have reduced it from 48K to 16K so I guess the computer is trying to tell me something from the info above?

Any ideas?

Cheers,

Ian.
 
If it's dropping to monitor immediately, adding a disk controller won't help.

D3FC is in ROM space, specifically the Applesoft ROM (assuming it's got original ROMs, of course).

What happens if you hit Ctrl-B, then return? (I'm expecting it returning to monitor or freezing, but normal behavior would be to return to BASIC.)

Also, something to try is this, from the monitor (hit enter after each line):

0300:AA 55 AA 55 AA 55 AA 55
0300.0307

After the first line, you shouldn't get anything other than the * prompt I believe (you MIGHT get 0300:AA, that's OK, I've only got a IIGS emulator handy though, and it doesn't give anything), after the second line, you should get the first line and then the prompt.

If the first line returns something unexpected, post what it is. If I recall correctly, the only ROM that should be in play is the F8 ROM (F800-FFFF), which contains the monitor - the D0, D8, E0, E8, and F0 ROMs should be unused (and the D0 ROM is suspect, but not proven bad, right now). If the first line is OK, but the second line returns something unexpected (it'll most likely be 0300: and then either all of the AAs, or all of the 55s being wrong - or maybe both!), post that, and that indicates bad RAM. It's not conclusive that the RAM is good, mind you, but it's a quick test.
 
Last edited:
You should be able to boot with C600G or Cn00G command from monitor mode where n is the slot number in which your disk II controller is plugged in.
 
I diagnosed a "drop to the monitor" problem in my Commodore PET by using the commands to dump a range of memory addresses near the indicated "break" and comparing them to a hex dump of the same area generated in an emulator. In my PET's case it was indeed "bad" ROM code, but the culprit wasn't a bad ROM, it was a bad trace leading to the ROM socket that caused a stuck bit. Doing the dump will let you tell if the whole ROM is bad (in which case you'll probably just see a repeating pattern of badness) or if it's just a stuck bit, in which case I'd suspect something external. (socket, etc.)

So... going by that URL above, I'd try entering, say:

D3F0.D40F

Which should dump 16 bytes bracketing the area near where the monitor thinks a BRK command was encountered, and compare to what *should* be at that location. A tipoff that's something's wrong would be if every byte in that range has some bit *always* set. (Convert each value to binary and lay them out in a column; if one of the columns is always a "1" or a "0" be suspicious.)
 
Actually, it could be trying to start Applesoft and failing, come to think of it. (I'm used to the //c and IIGS behavior of scanning for something bootable, and if it fails, it telling you to check disk drive/startup device.)

Here's the boot flow on an Autostart ROM (on the ][+ or //e):

Check for valid reset vector, there is none, go to default cold-boot vector
Display "APPLE ][" text
Scan slots from 7 down to 1 for a bootable device, when one is found, boot it, but none is found
Enter Applesoft

All of that happens pretty quickly if there's no bootable device.

Now, a disk controller won't get you very far, because DOS needs Applesoft to be working for its own purposes. (ProDOS, OTOH... but that needs 48k plus a language card.) But... try reseating your ROMs and see what happens.
 
Now, a disk controller won't get you very far, because DOS needs Applesoft to be working for its own purposes.

Are you sure about these "own purposes"? Even if this is true I remember of loading most non-dos games with damaged basic interpreter...
 
Just made a DOS 3.3 disk with a binary as the boot program (FID, to be specific), and as soon as DOS starts, it's hitting E000 (where I've set a breakpoint in Virtual ][) - the cold entry point for BASIC - before starting anything else.

DOS hooks the command interpreter after all...
 
Found the problem while re-seating the chips, Rom D0 had a pin which had broken off.

I guess I can replace it with a 2732 Eprom, if this is so where can I find the bin file to burn to it?

Cheers for everyones responses, bang on correct about the problem being with a Rom chip.

Ian.
 
You could solder a new pin on.

What I typically do is strip about 5/8" length of solid wire, and stick it into the socket. Then I put the chip in the socket, and solder the wire to the chip, and cut the remaining wire off.

It isn't pretty, and not very convenient if you have to remove the chip, but hopefully you don't have to do that.
 
That depends on the motherboard revision, actually, and IIRC, the Rev. 7 board (which dropped support for 4k DRAMs) supported 2716s. Or maybe I'm just thinking of the chargen...
 
That depends on the motherboard revision, actually, and IIRC, the Rev. 7 board (which dropped support for 4k DRAMs) supported 2716s. Or maybe I'm just thinking of the chargen...

I saw a mention of that myself when I was google-ing for my last post, which had me fruitlessly Googling a little more for an explanation of how to definitively determine what rev your II+ motherboard is. From what I've found it's the "Rev. 4" board that got rid of the RAM configuration blocks and... after that my Google Fu just leads me to confusing discussions that seem to assume I already know what I'm looking for.

(The reason I'm interested is I have a spare II+ motherboard that needs some repairs, and I've been thinking it would be fun to downgrade it to Integer Basic and package it in a homemade wooden case to create a non-authentic copy of what someone who traded in their Apple I for a bare Apple II board back in July 1977 might have come up with. If the board I have would directly accept 2716s that would make that plan easier...)
 
Back
Top