From rcpassoc@netcom.com Tue Dec 2 23:06:41 1997 Received: by alph02.triumf.ca; id AA15680; Tue, 2 Dec 1997 23:06:41 -0800 Received: (from rcpassoc@localhost) by netcom9.netcom.com (8.8.5-r-beta/8.8.5/(NETCOM v1.02)) id XAA23591 for shoppa@alph02.triumf.ca; Tue, 2 Dec 1997 23:06:39 -0800 (PST) Date: Tue, 2 Dec 1997 23:06:39 -0800 (PST) From: "Robert C. Peckham" Message-Id: <199712030706.XAA23591@netcom9.netcom.com> To: shoppa@alph02.triumf.ca Subject: SCDC programs and docs Status: RO As promised, enclosed is ESDCFT.MAC as well as my text doc files re RX33 (AKA TEAC FD55GFR) jumpers. I think we bothe agree that the double sided RX50 shoud NOT be supported by FORMAT. .title esdcft ; copyright (c) 1988 andromeda systems incorporated .mcall .csisp,.print,.ttyin,.scca ; program data ip: .word 172150 ; csr of mscp controller error: .word 0 ; error code initd: .word 100000,ring,0,1 ; initialize data ; ring buffer area: .blkw 2 ; interrupt flags ring: .blkw 4 ; ringbase ; command/respons packet .blkw 2 ; packet header pkt: .blkw 16. ; packet .blkw 15. ; for .csisp ; get command line ret: mov r5,sp ; fix sp mov #m1,r0 ; program name print: .print fmt: mov sp,r5 ; get command line .csisp #area,#m0+2 clr r4 mov (sp)+,r1 beq 8$ ; br if no options 1$: mov ip,r3 ; default csr address mov (sp)+,r2 ; get option bpl 2$ ; br if no value mov (sp)+,r3 2$: bic #177600,r2 cmp r2,#'1 ; ss RX50 option bne 3$ bis #4000,r4 3$: cmp r2,#'2 ; ds RX50 option bne 4$ bis #4400,r4 4$: cmp r2,#'3 ; RX23 option bne 5$ bis #20000,r4 5$: cmp r2,#'C ; csr option bne 6$ mov r3,ip 6$: cmp r2,#'Y ; noquery option bne 7$ bis #100000,r4 7$: sob r1,1$ bit #77400,r4 bne unit 8$: bis #10000,r4 ; default to rx33 ; check unit unit: mov area+30.,r1 beq ret ; br if return typed mov #m0,r2 ; rad50 device names cmp r1,(r2)+ beq ask ; br if du mov #m2,r0 ; invalid device/opton br 2$ 1$: inc r4 ; try next du unit bit #10,r4 bne print ; br if du8: 2$: cmp r1,(r2)+ bne 1$ ; br if not equal ; ask are you sure ask: tst r4 bmi init ; br if noquery movb r4,r0 ; get unit number add #'0,r0 movb r0,m3+2 .print #m3 ; are you sure .ttyin mov r0,r1 ; save 1st char br 2$ 1$: .ttyin 2$: cmp r0,#12 ; line feed? bne 1$ ; br if more chars cmp r1,#'Y bne fmt ; br if not sure ; initialize controller init: clr error .scca #area,#error ; disable ctrl-c mov ip,r1 mov r0,(r1)+ ; init controller mov #4000,r2 mov #initd,r3 ; init data 1$: bit r2,(r1) beq 1$ ; br if not ready mov (r3)+,(r1) asl r2 bpl 1$ ; format the drive mov #2,r2 mov #ring,r3 2$: mov #pkt,(r3)+ ; ring buffers mov #100000,(r3)+ sob r2,2$ mov #18.,r2 3$: clr (r3)+ ; clear packet sob r2,3$ mov #32.,pkt-4 ; packet size movb r4,pkt+4 ; unit mov #57,pkt+8. ; opcode bic #100377,r4 ; remove noq flag and unit cmp r4,#10000 bne 6$ mov #100000,r4 6$: mov r4,pkt+30. tst -2(r1) ; initiate polling 4$: tst ring+2 bmi 4$ ; br if no response mov pkt+10.,error ; get status mov r0,-(r1) ; controller offline .scca #area,#0 ; enable ctrl-c mov #m4,r0 mov error,r1 beq 5$ ; br if no error mov #m5,r0 5$: jmp print m0: .rad50 \DU DU0DU1DU2DU3DU4DU5DU6DU7\ m1: .ascii \ESDCFT V01.00\<15><12> .ascii \ /1 single sided RX50 (default is RX33)\<15><12> .ascii \ /2 double sided RX50\<15><12> .ascii \ /3 RX23 (3.5" drives only)\<15><12> .ascii \ /C:n CSR address (default is 172150)\<15><12> .asciz \ /Y noquery\ m2: .asciz \?ESDCFT-F-Invalid device/option\ m3: .ascii \DU :/FORMAT- Are you sure? \<200> m4: .asciz \?ESDCFT-I-Formatting completed\ m5: .asciz \?ESDCFT-F-Error during formatting\ .end fmt SUGGESTIONS REGARDING SCDC MANUAL OF 17/JAN/94 1) Board diagram is last page, should be near first page. 2) (7-3) Inadequate description of floppy jumpers - give examples (See below) 3) (9-3) PDP-11 processor question is only asked if bootstrap is enabled. 4) (9-7) Experienced users might appreciate being explicitly told that "DU units" discussed here are really just multiple MSCP disk partitions on a specific controller at a specific CSR. For example, depending on system software, DU0 in the "controller configuration" may be EU0 thru EU3 to the operating system. 5) (10-1) The user MUST enter the number of blocks for the floppy format operation to continue as HD and DD are not adequately specific even though density type was specified in Section 9 (Pg. 9-5) 6) (10-2) Does not show disk exercise menu. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - JUMPER POSITIONS for new type TEAC 5-1/4 floppy disk (FD55 GFR) when used with SCDC LG - OUT "Low going density" PIN 2 I - IN > Pair selects data and speed IS - OUT > DC - IN Density Change (This position will also work on an ESDC controller) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CPS:SCDC1.DOC V1.02 13-JAN-96 SUGGESTIONS REGARDING SCDC MANUAL OF 17/JAN/94 1) Board diagram is last page, should be near first page. 2) (7-3) Inadequate description of floppy jumpers - give examples Best would be for various brands and models of flops. 3) (9-3) PDP-11 processor question is only asked if bootstrap is enabled. 4) (9-7) Experienced users might appreciate being explicitly told that "DU units" discussed here are really just multiple MSCP disk partitions on a specific controller at a specific CSR. For example, depending on system software, DU0 in the "controller configuration" may be EU0 thru EU3 to the operating system. 5) (10-1) The user MUST enter the number of blocks for the floppy format operation to continue as HD and DD are not adequately specific even though density type was specified in Section 9 (Pg. 9-5) 6) (10-2) Does not show disk exercise menu. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ JUMPER POSITIONS for 5-1/4 floppy disks when used with SCDC. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TEAC FD-55GFR-142 (grey bezel) (-042 black bezel) Dn - IN unit select (usually 0 or 1) LG - OUT HIGH/NORMAL density, PIN 2 (logic high = high density) I - IN Dual Speed Mode, READY reset by HIGH/LOW select IS - OUT I/IS pair selects data and speed DC - IN Density Change function on PIN 34 (This also works on an ESDC controller.) ML - IN IN = motor turn if motor on + bezel LED on OUT = motor turn if motor on input is true (Should work just as well with ML OUT!) FG - IN Frame Ground if/as required. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TEAC FD-55GFR-149 (grey bezel) Dn - IN unit select (usually 0 or 1) LG - OUT HIGH/NORMAL density, PIN 2 (logic high = high density) I - IN Dual Speed Mode, READY reset by HIGH/LOW select IS - OUT I/IS pair selects data and speed DC - IN Density Change function on PIN 34 (This also works on an ESDC controller.) ML - IN IN = motor turn if motor on + bezel LED on OUT = motor turn if motor on input is true (Should work just as well with ML OUT!) FG - IN Frame Ground if/as required. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TEAC FD-55GFR-7149 (gray bezel) (-7220 = black) (-7193 = beige) Dn - IN unit select (usually 0 or 1) LG - OUT HIGH/NORMAL density, PIN 2 (logic high = high density) I - IN Dual Speed Mode, READY reset by High/Low select DC - IN Density Change function on PIN 34 (This also works on an ESDC controller.) FG - NONE FDD frame is electrically connected to power ground M3 hole on rear of chassis for host ground wire ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Let me know what you think. Have you heard from Jim Reynolds yet?? Bob