[comp.sys.3b1] HD2 upgrade -- some missing info

kevin@kosman.UUCP (Kevin O'Gorman) (03/27/91)

I got my Priam drive from A Cano's group buy, my DRUN patch instructions,
a new soldering station, and I'm finally getting around to installing the
first of my two HD2 upgrades.  I think I'm about done, but...

(aside)
What was the short rope for? Hanging myself?  (See shopping list item 7
which says see intruction 17, which doesn't seem to use the rope...
oh, there are *two* instructions 17...).
(back to basics)

I'm about where I should do the initial 'smoke test'.  But the little
HD2 board has no clear indication of the location of pin 1 on the headers.
Moreover, I discover I don't have enough ribbon cable to try this on my
drive(s), and there is no indication of how to back out to P5.1 use.

I would like to know these things, just to be sure: where is pin 1, and
do I just plug my PAL back in to go back to P5.1?

-- 
Kevin O'Gorman ( kevin@kosman.UUCP, kevin%kosman.uucp@nrc.com )
voice: 805-984-8042 Vital Computer Systems, 5115 Beachcomber, Oxnard, CA  93035
Non-Disclaimer: my boss is me, and he stands behind everything I say.

jbm@uncle.uucp (John B. Milton) (04/06/91)

In article <1315@kosman.UUCP> kevin@kosman.UUCP (Kevin O'Gorman) writes:
>I got my Priam drive from A Cano's group buy, my DRUN patch instructions,
>a new soldering station, and I'm finally getting around to installing the
>first of my two HD2 upgrades.  I think I'm about done, but...
Remember to get a good power supply for the Priam drives, they draw a LOT
of current when seeking. You will also want to locate the drive away from
you monitor, as the magnetic field from the voice coil in the drive will
warp the image on the screen.

>(aside)
>What was the short rope for? Hanging myself?  (See shopping list item 7
>which says see intruction 17, which doesn't seem to use the rope...
>oh, there are *two* instructions 17...).
>(back to basics)
It's to keep the plate from crashing down once you have it standing up.

>I'm about where I should do the initial 'smoke test'.  But the little
>HD2 board has no clear indication of the location of pin 1 on the headers.
>Moreover, I discover I don't have enough ribbon cable to try this on my
>drive(s), and there is no indication of how to back out to P5.1 use.
>
>I would like to know these things, just to be sure: where is pin 1, and
>do I just plug my PAL back in to go back to P5.1?

All the HD2 kits went out with a copy of the PC foil pattern. All the pin
ones have square pads, and all the other ones are round. You will have to
check the copy because it's too hard to tell by looking at the board with
all the pads covered up.

About the Mondo Combo board, John Lydic will soon be on the net. He has
a TB, HDB and everything. You can still get mail through to him now by
using the email address "ka8lvz!jwl@n8emr.uucp". Some of the design has
recently been changed to use 4Mb RAMs instead of 1Mb. You should see him
here soon.

I am spending most of my constructive time working on the DPP (Dsp Parallel
Processor). I have a 2 processor (20 MIPs) version working now, and hope to
bring a 12 processor (120 MIPs) prototype to TCF. If you have a UNIXpc
expansion box that you KNOW you can have there, let me know. I will be coming
on a private plane, and can't bring much with me.

Below is the current state of the "idl" driver. By the way it looks, I can tell
a lot about what's happening on the system. I can't exactly explain the
appearance though.

John
---
#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  idl.c inst
# Wrapped by jbm@uncle on Fri Apr  5 23:35:55 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'idl.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'idl.c'\"
else
echo shar: Extracting \"'idl.c'\" \(2077 characters\)
sed "s/^X//" >'idl.c' <<'END_OF_FILE'
X/* vi:set ts=2 sw=2: */
X
X#include <sys/hardware.h> /* for led_on/off */
X#include <sys/iohw.h> /* for VIDMEM */
X
X#if 0
X#define VILEN 16
X#define VIDLE1 (VIDMEM+309*45+28)
X#define VIDLE2 (VIDMEM+310*45+28)
X#else
X#define VILEN 45
X#define VIDLE1 (VIDMEM+346*45+0)
X#define VIDLE2 (VIDMEM+347*45+0)
X#endif
X
Xextern short clkrun;
Xextern int idleflag;
Xextern int swtch();
Xextern char scrsav;
X
Xstatic int myidle(n)
Xint n;
X{
X	register char off=0,offn=0,c1,c2;
X	char up=0;
X	int x;
X	unsigned short value[VILEN];
X
X	idleflag=1;
X	x=spl0();
X	value[0]=0x8000;
X	while (idleflag && n) {
X		led_on(LED2); /* tell the world we're idle */
X		if (n>0)
X			n--;
X		spl0();
X		if (clkrun)
X			clockspecial();
X		if (!scrsav) {
X			up=1;
X			if (value[off]&1) {
X				offn=(off+1)%VILEN;
X				value[offn]=(value[offn]>>1)|0x8000;
X				*(VIDLE1+offn)=*(VIDLE2+offn)=value[offn];
X				c2=offn;
X			}
X			value[off]>>=1;
X			c1=off;
X			if (!value[off]) {
X				*(VIDLE1+off)=*(VIDLE2+off)=0;
X				off=offn;
X			} else
X				*(VIDLE1+off)=*(VIDLE2+off)=value[off];
X		}
X	}
X	if (up)
X		*(VIDLE1+c1)=*(VIDLE2+c1)=*(VIDLE1+c2)=*(VIDLE2+c2)=0;
X	idleflag=0;
X	led_off(LED2);
X	splx(x);
X}
X
Xstatic int orig;
X
Xidlinit()
X{
X	char *oldidle;
X
X	oldidle=(char *)swtch;
X	oldidle+=0x7c+2; /* point to the long address part of the jsr */
X	orig=*(int *)oldidle;
X	*(int *)oldidle=(int)myidle;
X	return;
X}
X
Xidlrelease()
X{
X	char *oldidle;
X
X	oldidle=(char *)swtch;
X	oldidle+=0x7c+2; /* point to the long address part of the jsr */
X	*(int *)oldidle=orig;
X	return;
X}
X
X#if 0
Xswtch+70:		mov.b	&7f,curpri
Xswtch+78:		moveq.l	&-1,%d0
Xswtch+7a:		mov.l	%d0,(%sp)
Xswtch+7c:		jsr	idle
Xswtch+82:		or.w	&700,sr
Xswtch+86:		and.w	&-101,sr
X
X                                TS32:
X000498: 13fc 007f 0000 0000             mov.b   &127,curpri
X0004a0: 70ff                            mov.l   &-1,%d0
X0004a2: 2e80                            mov.l   %d0,(%sp)
X0004a4: 4eb9 0000 0000                  jsr     idle
X
X                                TS30:
X0004aa: 007c 0700                       or.w    &0x700,%sr
X0004ae: 027c feff                       and.w   &0xfffffeff,%sr
X#endif
END_OF_FILE
if test 2077 -ne `wc -c <'idl.c'`; then
    echo shar: \"'idl.c'\" unpacked with wrong size!
fi
# end of 'idl.c'
fi
if test -f 'inst' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'inst'\"
else
echo shar: Extracting \"'inst'\" \(361 characters\)
sed "s/^X//" >'inst' <<'END_OF_FILE'
X:
X# vi:set ts=2 sw=2:
Xif cc -Oc idl.c; then
X	mv idl.o /etc/lddrv
X	cd /etc/lddrv
X	if ../masterupd -c idl >/dev/null; then
X		./lddrv -dv idl
X	else
X		../masterupd -a char init release idl
X	fi
X	sync; sync; sync
X	./lddrv -av idl
X	# uncomment if you want "idl" to come up when you boot
X	# if grep '^idl$' drivers >/dev/null; then :; else echo "idl" >> drivers; fi
Xfi
END_OF_FILE
if test 361 -ne `wc -c <'inst'`; then
    echo shar: \"'inst'\" unpacked with wrong size!
fi
chmod +x 'inst'
# end of 'inst'
fi
echo shar: End of shell archive.
exit 0
-- 
John Bly Milton IV, jbm@uncle.UUCP, n8emr!uncle!jbm@osu-cis.cis.ohio-state.edu
(614) h:252-8544, w:785-1110; N8KSN, AMPR: 44.70.0.52; Don't FLAME, inform!