Philip Pemberton <philpem at dsl.pipex.com> wrote:
> Tom Swift? Never heard of 'em... It's either way before my time, or one of
> the many things that never managed to get across the Atlantic...
actually they did, look at
http://www.tomswift.info/homepage/british.html
for the British version of the Tom Swift books (published by Collins).
**vp
Dear all,
Trying to identify a box of HP cables. There are two types.
One has a 50-pin centronics-style connector at one end, and a 50-pin
Winchester MRAC rack-and-panel connector at the other. The other
type has Winchesters at both ends. They're about 4-5 feet in length.
All seem to have an metal band with the number "5060 2310". Some have
HP "inspected by 7452" cards tied to them, dated 6/69. A couple have
factory vinyl or poly bags.
Anyone know what devices these connect?
Thanks,
De
On my wandering around, I found the following claims on the Unisys
"history" web page (http://www.unisys.com/about__unisys/history/index.htm):
"1993 Unisys introduces 2200/500, the first mainframe based on
complementary metal oxide semiconductor (CMOS) technology."
Wasn't the ETA-10 CMOS-based? (Not to mention the whole subject of
"What's a mainframe?")
"1989 Unisys introduces Micro A, the first desktop, single-chip mainframe."
I don't know what to make of that claim. What's a mainframe. From what I
can gather, the Micro A was pretty much a plug-in coprocessor PCB in an
otherwise x86 box that booted OS/2.
Comments? Anyone on the list a Blue Bell veteran who can give the real
scoop on the Micro A?
Cheers,
Chuck
a vintage cohort has supplied me with a stack of
floppies for this unit. With all deference to Dave and
his software, would ImageDisk be the best tool for the
job? Stated another way, would these disks require any
special handling? Theyre quad density 800k, or single
sided 400k (methinks). Possibly readable by DOS (a
guess, and not a crazy one if youre familiar with the
machine), in which case my concerns are unfounded.
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
"Jerome H. Fine" <jhfinedp3k at compsys.to> wrote:
> Hi All,
>
> I have noticed what may be an interesting result when I use the
> PDP-11 Integer Divide Instruction "Div". Since I have noticed
> at least one individual who worked on the microcode for the
> PDP-11, perhaps there is an explicit "Yes / No" answer to my
> question:
Since this actually have nothing to do with the microcode, and actually
is nothing specific with the PDP-11 DIV instruction, just about anyone
should be able to answer definitely.
> If I divide 196612 by 3 - i.e. "Div (R2),R0" where R0 = 3, R1 = 4,
(R2) = 3
> the result (in addition to the condition bits) is R0 = 1, R1 = 1 which is
> exactly correct if the quotient is regarded as a 32 bit result with
R0 being
> the low order 16 bits of that result and the high order 32 bits are
somewhere
> else - probably inaccessible as far as programming is concerned, but
easily
> obtained by:
> Mov R1-(SP) ; Save low order 16 bits of dividend
> Mov R0,R1 ; Divide high order 16 bits
> Clr R0 ; of dividend
> Div (R2),R0 ; by the divisor
> Mov R0,R3 ; Save high order 16 bits of quotient
> Mov R1,R0 ; Divide the remainder
> Mov (SP)+,R1 ; of the dividend
> Div (R2),R0 ; by the divisor
> i.e. R3 now contains the high order 16 bits of the 32 bit quotient
> with R0 holding the low order 16 bits of the 32 bit quotient
What you have implemented here, as well as described, is the exact way
you should have been taught how to do division on paper in elementary
school.
Yes, that algorithm is valid, and can be extended to arbitrary sizes, as
long as you remember the full method.
> Can anyone confirm what I have found in practice?
Certainly. It's basic math, the way it's taught in elementary school.
That was atleast the first way I was taught how do do divides on big
numbers on paper.
> Even better would be a method of retrieving the high
> order 16 bits of the quotient in a manner which takes
> fewer instructions and without a second divide instruction!
I doubt you'll find it.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at update.uu.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
a gentleman named Steve Thompson has a PDP 11/53 "box" available for
pickup in Stafford/Fredericksburg Virginia area (it is just the
system cabinet - no peripherals, no manuals). He will have to
dumpster it if no one wants it (he would hate to do that, but...). He
needs to get it taken care of by the end of this month. I know
nothing about the system, so please call him at 540-659-9906 for any
additional info (he is not a computer collector as such so don't
expect a lot of detailed info).
Keep in mind that the phone number is Eastern Standard time, so
please call before 9PM his time in the evenings (that's no later than
6PM for those of us that live on the West coast).
Thanks.
best regards, Steve Thatcher
SD320, SD321 drive dismantling
-------------------------------
Remove the logic board :
Undo the 4 screws fixing the logic board. The rear left is a long machine
screw, rear right a short machine screw, centre right and front centre are
(short) self-tapping screws. Lift the logic board to disconnect the 3 pin
connector at front left (index/write protect sensors), 10 pin
(positioner) and 3 pin (spindle motor) connectors at rear. Turn logic
board over towards right side of the drive. Free the head cables from the
clamps on the logic PCB, unplug the head connector. Set the logic board
aside.
On SD320 (with head load solenoid), dismantle the head load mechanism :
Remove the screw and washer on top of the head load solenoid. Loosen the
screw fro the rear bearing of the head load flap (this screw is on the
left side of the drive chassis) until the bearing can be turned away from
the pivot pin. Free the hard load flap from its front bearing, remove it,
note how the compression spring fits over a peg on the base of the linear
positioner. Remove the conical spring from the top of the head load
solenoid, remove the solenoid armature. Remove the screw and bearing
(loosened earlier). Remove the screw holding the head load solenoid to
the chassis, lift out the solenoid and 'stick' it to the linear
positioner magnet. When reassembling this section, note that the screw on
top of the solenoid should not be fully tightened. Adjust it so that the
heads load correctly when the drive is tested on an exerciser.
Remove the linear positioner (voice coil assembly) :
Undo the 2 screws + springs and the single countersunk screw fixing the
linear positioner to the main chassis. Free the head cables from the
clips on the right-hand disk guide. Place a piece of paper between the
heads, lift the positioner from the rear and slide it out
Remove the disk clamp :
Unhook and remove the tension spring for the frontpanel button linkage.
Mark the position of the index sensor on the disk clamp bridge to aid
reassembly. Remove the 3 screws holding the bridge in place, lift it up
and turn it over towards the left side of the drive (take care not to
damage the index phototransistor wiring. Remove the 3 spacers from the
slots in the disk guides. Free the index phototransistor wiring from the
hooks on the bridge, remove the screw holding the phototransistor mount
in place and remove the bridge completely.
Remove the spindle motor and spindle :
Remove the 2 screws holding the spindle motor in place. Remove the motor,
slipping the belt off the pulley. Remove the belt from the idler and
spindle. Remove the idler (one central screw, washer on top of bearing).
Remove the central screw from the spindle hub, lift off the spindle hub
and remove the bearings (crinkle washer under top bearing). If possible
remove the washer from the fixed spindle in the chassis
Remove the front panel :
Remove the 2 screws and slide the panel out, taking care not to damage
the index LED wiring.
Remove the disk guides :
Remove the right hand disk guide (2 screws). Remove the index LED
mounting (1 screw), then remove the screw holding the left hand disk
guide. Remove the guide. Undo the screw holding the sensor PCB to the
guide and remove it.
Dismantle the interlock lever :
Unhook the tension spring from the eject linkage. Remove the E-circlip
>from one end of the interlock lever pivot, slide out the pivot rod and
remove the lever. Recover the compression spring.
---------------------------------------------------
Dismantling the spindle motor
-----------------------------
Do NOT dismantle the spindle motor unless absolutely necessary. Most
electronic repairs can be performed without dismantling the mechanical
section. However, should it be necessary to dismantle it, proceed as follows.
Clean off the silicone rubber over the FG (frequency generator) coil
wires. Try to avoid damaging the wires. Desolder them from the PCB pads.
Bend up the 4 tabs on the bottom of the motor and pull off the housing
complete with the FG coil.
Support the motor on a bench vice with the pulley between the jaws. Using
a hammer and pin punch, tap the spindle downwards until it is free from
the rotor. Remove the rotor from the top of the motor. Remove the
spindle, washer, and lower bearing. Push out the upper bearing.
If the FG wires were damaged when the cover was removed, carefully
scrape away the tops of the 3 heat stakes retaining the coil former
inside the housing. Pull out the former (and lower pole piece), and
either unwind one turn to give a longer end of wire for reassembly, or
re-wind the coil. Put the former back in place, if you have been careful
in removing it, it will snap in place without further fixing.
Motor Protection Circuit :
The circuit round Q33 removes the drive from the motor if the control
voltage from IC10 rises too high (either because the motor is overloaded,
or because the FG signal is missing). If this triggers too easily (the
motor stops after a few seconds), decrease R76 to 56k
---------------------------------------------------
Dismantling the positioner
--------------------------
On an SD-320, desolder the head load solenoid leads from the positioner
connector PCB and set the solenoid aside
Undo the PCB retaining screw and allow the PCB to move away from the rear
of the positioner.
Undo the screw holding the graticule to the carriage. Remove the clamp
plate under the screw, then with the heads fully 'out', free the
graticule from the carriage and slide it out of the optical block.
Straighten the end 2 tabs on the underside of the unit (these retain the
cover on the velocity transducer). Remove the cover.
Remove the rear section of the voice coil core, which is retained by a
single screw under the rear of the positioner.
Remove the 2 screws holding the voice coil and velocity transducer coil
to the carriage. With the heads 'out', remove the pole piece from the
middle of the velocity transducer coil (this is retained by magnetism only).
Retract the heads, then lift the coils off the carriage. Leave them
hanging on the flexible PCB
Remove the clamps from the rear end of each head rail (1 screw each).
Slide out the front clamp, then lift out the head carriage and remove the
rails
---------------------------------------------------
Dismantling the disk-inserted levers
------------------------------------
(These are the linkages on the left-hand disk guide.)
Unhook the torsion spring and slide out the eject interlock flap. Remove
the spring
Unhook the torsion spring on the latch lever (top rear of the guide).
Remove the E-circlip, the torsion spring and the latch lever
Unhook the torsion spring on the disk-present lever (under the front of
the guide. Remove the E-circlip, the torsion spring and the disk-present
lever.
Remove the E-circlips on the mounting posts for the frontpanel button
slide. Remove the 2 washers, lift off the slide and recover the following
parts : 2 spacers and 2 washers from the mounting posts ; 2 rollers from
the slide ; 1 reaction plate from the guide
---------------------------------------------------
Dismantling the disk clamp assembly
-----------------------------------
Pull the disk clamp lever away from the bridge by hand until the disk
clamp cone is free of the spindle. Slide the clamp cone out of the end of
the lever.
Unhook the torsion spring. Remove the E-circlip from the end of the pivot
spindle, slide out the spindle and remove the torsion spring. Separate
the clamp lever from the bridge.
Unclip the 2 halves of the disk clamp cone and remove the compression
spring. Press out the bearing. Remove the circlip and slide the bush out
of the centre of the bearing.
---------------------------------------------------
Bearings
--------
Clamp Bearing
ID : 4.6mm
OD : 9.5mm
Thickness 3.17mm (1/8")
Motor Bearings and Belt Idler
ID : 3mm
OD : 8mm
Thickness : 4mm
Spindle Bearings
ID : 4.75mm
OD : 9.5mm
Flange OD : 10.8mm
Total Thickness : 3.15mm
Flange Thickness : 0.75mm
---------------------------------------------------
SD320 links :
SS1 (6 position DIP switch)
1 : Drive select 0
2 : Drive select 1
3 : Drive select 2
4 : Drive select 3
5 : Head load from pin 4 of interface connector *
6 : Head load from drive select
SS2 :
HS : Load controlled by head-load signal *
MS : load controlled by motor enable
SS3 :
DS : In-use LED controlled by drive select
HL : In-use LED controlled by head load drive *
---------------------------------------------------
Testpoints :
1 : Ground
2 ) Differential outputs of read amplifier
3 )
4 ) Differential inputs to comparator
5 )
6 Index sensor
7 Index pulse
8 Drive Select/
TF20 disk drive notes
----------------------
Dismantling
------------
Case : Remove the 4 screws from the sides, lift off the top cover, then
turn the unit over and remove the base cover
Rear panel : Unplug the serial cable from the serial PCB. Undo the 2
screws under the rear of the unit. Slide the rear panel out rearwards,
unplug the transformer secondary winding connector from the PSU PCB.
Serial PCB : Remove the 4 retaining screws and unplug this PCB from the
bus connector on the controller
Controller PCB : Unplug the power harness and the internal disk drive
cable from the controller PCB.. Remove the 4 retaining screws and the 4
tapped spacers (used to support the serial PCB). Remove the controller board
PSU : Unplug the power connectors from the drives. Unplug the power LED
connector from the PSU PCB. Unplug the controller board power harness
>from the PSU PCB and remove it. Undo the 2 screws holding the PSU PCB to
the bracket, then the 2 screws holding the regulator hybrid module to the
transformer cover. Remove the PSU PCB and recover the insulating sheet
>from under the hybrid module.
Drives : Unplug and remove the disk drive cable. Remove the 8 screws (4 on
top, 4 underneath) that retain the drives and slide the drives out from
the front.
Remaining chassis parts : Free the power LED cable from the clips on the
chassis. Remove the 2 crews under the front of the unit and remove the
front panel. Remove the 2 self-tapping screws that retain the power LED
PCB to the front panel and remove it. Remove the PSU bracket, the
transformer cover and the controller bracket (2 screws each).
Rear panel dismantling : Unplug the transformer primary winding connector
>from the filter PCB. Undo this PCB's retaining screw, unplug the faston
tabs from the power switch and remove the filter PCB. Remove the
fishpaper insulator. Undo the 4 nuts retaining the mains transformer,
remove the claw washers and the transformer. Unplug the remaining 2 faston
connectors from the rear of the power switch, unscrew the earth wire from
the chassis (note claw washer under the solder tag), remove the 2
retaining screws and the mains input connector. Unclip and remove the
power switch. Undo the 2 retaining screws for each DIN socket and remove
the serial cable harness. When reassembling, the 6 pin DIN socket is the
upper one, both DIN sockets are fitted with the keyway towards the centre
of the panel.
------------------------------------------
Controller PCB links :
J1 : 1 : RAMVdd = 12V (16K RAM)
2 : RAMVdd = 5V (64K RAM) *
J2 : 1 : Write Precompensation enabled
2 : Write Precompensation disabled *
J3 : 1 : EPROM pin 21 = A11 (2732)
2 : EPROM pin 21 = +5V (2716) *
3 : EPROM pin 18 = A11
J4 : 1 : EPROM pin 18 = CS/ *
2 : EPROM pin 21 = CS/
J5 : 1 : Ready line always active *
2 : Ready line from drive
J6 : 1 : 16K RAM addressing
2 : 64K RAM addressing *
J7 : 1 : RA< A7 toed high (16K RAM)
2 : RA< A7 lined to address mux (64K RAM) *
------------------------------------------
Serial PCB links :
J1 : Clock / 128 (2400 baud)
J2 : Clock / 64 (4800 baud)
J3 : Clock / 32 (9600 baud)
J4 : Clock / 16 (19200 baud)
J5 : Clock / 8 (38400 baud) *
J6 : Clock / 4 (76800 baud)
Exactly one of J1..J6 must be fitted
J7 : Open : Enable oscillator round CR2 (4.1953 MHz) *
Closed : Enable oscillator round CR1 (not fitted)
------------------------------------------
Controller PCB testpoints :
TP1 : RAS/
TP2 : CAS/
TP3 : Rd Data
TP4 : VCO control voltage
TP5 : VCO output
TP6 : DW
TP7 : Ground
------------------------------------------
Serial PCB testpoints :
TXCA : Baud Clock (*16) to serial chip
TXDA : Serial data output to host
RXDA : Serial data input from host
TXDB : Channel B serial data output (not used)
RXDB : Channel B serial data input (not used, pulled high via 10k resistor)
I've been working on some Epson laptops and their associated TF20 drive.
I'll post my notes on the TF20 and the drive mechanisms (SD320) as
separate messages, along with the wirelists of the various cables I've
made. One other thing that might be of interest : The 34 pin connector on
the back of the TF20 is not some kind of parallel host interface. It's
exactly what you'd expect a 34 pin connector on a disk controller to be
-- namely a SA400-compatible disk drive bus. The hardware can handle up
to 4 drives which can be connected either to the intenral drive
connector or to the connector on the back. I have no idea if the standard
software (which is clearly CP/M based) can be made to support more than
the 2 internal drives. The hardware also seems to support FM operation
(unlike the QX10, which seems to be MFM only), I have no idea if the
software does
There is a spave for another 34 pin connector on the PCB. This is some
kind of parallel interface, the missing 4 pin chip is an 8255. Again I
have no idea if the software cane be made to support it. But shorting
pins 33 and 34 on this connector will do a hard reset of the controller,
which can be useful to know when debugging one.
As is well-known, I think, the TF20 controller is really a CP/M-based
computer. There's a Z80 with 64K DRAM in there. The EPROM contains
something that looks suspiciously like a CP/M BIOS, it's copied to the
top of RAM after reset, then the EPROM is switched out.
My TF20 didn't work. It never tried to load an OS from disk, it never
responded to commands from the host. The first thing to ckeck was the PSU
rails (including the -12V line that's generated on the controller board),
all were fine. The Z80 was clearly clocking, it was executing
instructions (looked to have got trapped executing FF from loacation 38,
if you see what I mean :-)). The EPROM was not swtiched out (this was
interesting. The EPROM can be swtiched out in software, but can never be
switched in again other than by a hardware reset. So this meant the EPROM
had never been swtiched out).
I looked at the start of the EPROM code. It copies the BIOS to the top of
RAM, then jumps to the cold boot entry point. The first thing this does
is to swtich out the EPROM.
I usspected a RAM problem -- the BIOS in RAM therefore couldn't be
executed correcrtly. A few chyecks showed that the address lines at the
RAM (after the multipleser) were fine, so were RAS/ and CAS/. I susepcted
a RAM chip.
I desoldered all 8 RAMs (no easy way to run a RAM test in that unit),
then put sockets in their place. Put the RAMs into an old IBM PC,
it failed the POST and told me one of the RAMs was dead. I put the other
7 back in the TF20 along with a replacement. It now works fine.
I have a little problem with the HX20.
I've been using the RS232 port from disk BASIC (I suppose I should see if
ROM BASIC behaves the same way). According to the user manual, the way
to do this is to do something like
OPEN "O",1,"COM0:(58N1F)"
WHere ; The first "O" means open it for OUTPUT
The paramters in brackets are :
Baud Rate (here 5 == 2400 baud)
Word length (8 bits)
Parity (none)
Stop bits (1)
Handshake control (here F)
It's the last that's giving me problems. According to the user manual,
this is a single hex digit, the bits of which are used as follows
Bit 3 : Is DSR enabled or masked out
Bit 2 : Is CTS enabled or mashed out
Bit 1 : State of RTS output
Bit 0 : Is CD enabled or masked out
I may have got bits 3 and 2 the wrong way round, but anyway.
The problem is that bits 1 and 0 seem to do nothing. RTS is always turned
on when the port is openned, CD is always ignored. DSR and CTS behave as
I'd expect them to.
Is this a known bug in the BASIC, or is there some very odd fault with my
HX20?
-tony