• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Very perplexing SE/30 MB ADB issue

LaPorta

68LC040
Ok, so I finally got my SE/30 spare motherboard functioning. All caps replaced, SCSI chip swapped out so SCSI works again. ADB worked just fine prior. I hooked her all up after re-capping the AB. Must have installed C25 in backwards, because it blew up spectacularly. I replaced it, machine turns on just fine now. However: the mouse will not move in any direction. Clicking works just fine. I attached an ADB keyboard and the keyboard works just fine; I can navigate, open simple text, type all characters...no problem. This is with either ADB port. I swapped in my other motherboard, and the mouse works fine without issue, so I know the mouse is just fine. I've been tracking down the circuitry traces, and can find no issue. I would think that if the ADB chip was bad, nothing would work at all.

Any insight into this weird one at all? I cannot find C25 on the schematics for the analog board, so I do not know if it somehow directly/indirectly has anything to do with the ADB circuit. Everything else works fine without issue (SCSI, floppy, etc).

 
Last edited by a moderator:
Sounds like your ADB might be fine. Random thoughts- Cursor movement is handled at VBL interrupt time. Is it possible when your cap blew something got damaged between your video circuit and the VIAs?

 
Can you explain a little more, crutch? I'll admit this is over my head; I need some plain language. I need to figure out more about cursor movement; I tried to find information on how the movement functions, to no avail. Where exactly would you start looking for some sort of blown or open component?

I also found C25 on the SE schematics (same deal as SE/30), and it appears to be connected to the +12V source and then to ground. Does this somehow smooth out the current coming in or something?

 
Last edited by a moderator:
Legacy Macs update the cursor position and redraw the cursor during the vertical blanking (VBL) interrupt when the CRT beam does a vertical retrace back to the top every 1/60 second. This literally interrupts the 68k CPU, which is why you can almost always move the mouse pointer even if software gets stuck or crashes (the exception is cursor movement slows during floppy disk access, which disables interrupts). 
 

On the SE/30 IIRC the mobo learns about VBL interrupts when the video circuitry informs VIA2 which informs the 68030 (see Guide to the Macintosh Family Hardware, look up vertical blanking interrupts in the index). I was surmising that if a trace got wonky near your VIA, you could lose cursor movement. It’s just a wild ass guess though, but I’m reaching because I agree that an ADB fault that only affects cursor movement but not clicking or key presses sounds unlikely.

I’m more of a software guy so I’m guessing others will have better ideas where to look for your issue on the board though.  

 
Last edited by a moderator:
Certainly not an expert in this, but reading through the wikipedia page on ADB, specifically the 'design' section may be helpful. 

https://en.wikipedia.org/wiki/Apple_Desktop_Bus#Apple_Desktop_Bus

This especially caught my attention:

"For instance, if the mouse is known to be at address $D, the computer will periodically send out a 1-byte message on the bus that looks something like:

1101 11 00

This says that device $D (1101) should talk (11) and return the contents of register zero (00). To a mouse this means "tell me the latest position changes". Registers can contain between two and eight bytes. Register zero is generally the primary communications channel. Registers one and two are undefined, and are generally intended to allow 3rd party developers to store configuration information. Register three always contains device identification information."

 
If the computer otherwise seems to run normally, I would suspect the polling is occurring properly, but the signal isn't reaching the port for some reason?

I've found while using an old moniswitch with a loose switch, that occasionally some contact in the ADB will become loose and I can only use the mouse, not the keyboard. (though the power button still works.) Can't remember if clicking worked though...

 
Last edited by a moderator:
I suppose the question is (and I don't know the answer) what is needed for the mouse tracking to function and not needed for simple keystrokes? Is there a dedicated data pathway that would need to be active between the various ICs for mouse tracking that is special just for that?

 
Well, I just took the ultimate plunge: I emailed Woz on his site regarding the issue. I figured that if he responds, the designer might have an idea!

 
Another supposition: is there further hardware that turns the mouse signals into X, Y coordinates, or that which processes mouse movement in general that could have been damaged?

 
In order for the mouse cursor to update the vertical blanking interrupt has to operate correctly.

On the SE/30 IIRC the mobo learns about VBL interrupts when the video circuitry informs VIA2 which informs the 68030
Kind of.

VIA1 turns on /VSYNCEN (VIA1 p17 - UI6 p5) to enable the vertical blanking interrupt.

This is handled by UI6 which just takes the /VSYNC signal (present at pin 4) and outputs it to /IRQ6 (on pin 13) whenever /VSYNCEN is active.

/IRQ6 again is an input on VIA2 (pin 7). VIA2 then outputs that same signal again on pin 18 this time called /VBLK which gets fed into VIA1 pin 44.

is there further hardware that turns the mouse signals into X, Y coordinates
That's all happening between the ADB controller and VIA1 using the two ADB state lines and the interrupt line. You did check all those already I think if you traced everything going in and coming out of the ADB controller.

Next things to do: trace the whole way the /VSYNC signal takes to become /VBLK.

-what's the state of /VSYNCEN? (check VIA1 pin 17 and UI6 pin 5) - should be low

-if /VSYNCEN is active check if 60Hz is present at: UI6 pin 4, [SIZE=1.4rem]UI6 pin 13, VIA2 pin 7, [/SIZE]VIA2 pin 18 and VIA1 pin 44 (in that order)

 
Last edited by a moderator:
Ok so tonight I’ll fire it up and check those pin traces with the scope and see what shows up. I hope it will be something blatantly hitting me in the face. I appreciate it, and will report back.

 
Received a rather odd response from Woz:

”Sorry, I didn’t work on the ADB and have no ideas to help you.”

So, one of three things:

1: He is unwilling to help (I figure he would just say so, but who knows).

2: All the history available is incorrect and he didn’t design the thing.

3: Some unnamed person is answering his personal emails and screening for this sort of thing.

Not sure if there is a fourth option, but I’ll just have to work with Bolle’s suggestions here.

On a more positive note, I got my other SE/30 motherboard, AB, and PSU recapped and the Mac Con installed, floppy drive cleaned and lubed, and the machine is back to functioning normally. The MB for this thread will work as a spare.

 
Last edited by a moderator:
Received a rather odd response from Woz:

”Sorry, I didn’t work on the ADB and have no ideas to help you.”

So, one of three things:

1: He is unwilling to help (I figure he would just say so, but who knows).

2: All the history available is incorrect and he didn’t design the thing.
He really doesn't know.

I wouldn't ask Woz any Macintosh questions at all, or at least he wouldn't be toward the top of my list to ask.

 
Last edited by a moderator:
He is credited for designing ADB for the IIgs in multiple sources. There’s some sort of incongruity here.

 
Well, the implementation of ADB in the IIgs, on a hardware level, is probably quite different from any implementation on the Mac, so he is probably telling the truth when he says he doesn't know, at least with regard to the Mac, as I'm pretty sure he had virtually nothing to do with Mac development (especially in 1985-1986, when the IIgs was being designed), except for maybe the earliest stages when it was nothing more than a prototype peripheral card running in an Apple II , and even then only marginally so.

At any rate, Bolle's advice makes sense.

c

 
Turns out my logic board is fine. Tested on a SE. So, there’s something wrong with the analog board on the SE/30. The PSU voltages are apparently ok. Might need to recap the board.
 
Back
Top