Carlos Murillo <cem14(a)cornell.edu> wrote:
Well, I made the cable and plugged it into a terminal.
The
right voltages appear on the correct lines. However,
the card never asserts DTR or RTS when I turn the computer on.
I think that makes sense -- it looks like DTR and RTS are under program
control (i.e. it's up to software to set the appropriate control register
bits).
I also discovered that the HD in the 7946 is busted
(haven't opened it yet)-the "online" light doesn't come on,
but the "fault" light does. It seems to have trouble
spinning up. So, loading an OS is out of the question
for a while. Is it possible to at least run some tests
and have it output diagnostics to one of the BACI cards?
I suspect it depends on what loader ROMs are installed in the
computer. There is a loader ROM that supports booting from
cartridge tape drives in an attached 264X terminal.
In the meantime, I've keyed in the sample program from the manual (at
the end of this message). Turning it into executable code and loading
that into the 1000E is left as an exercise for the reader, at least
'til I find time to figure out how to do that sort of thing. Others
who know are welcome to chime in!
There is a sheet of paper glued to the front panel
with instructions
on how to reboot the system; it says to load the S/s register
with ones in bits 15,14,9, and 6, then hit the store, preset,
some other button, then preset again and finally the run button.
Unfortunately, most of the 21xx documentation I have here at home
right now is for 2100s, not 21MXs (which are a whole lot closer to
1000s), so I'm just guessing as to what that tells the machine to do,
but I expect it's instructions for selecting a given loader ROM (and
maybe device) and starting the boot.
So...I'll try to keep this in mind for the next foray into storage.
What I probably need to look for is the 21MX or 1000 E-Series
operating and reference manual, instead of the installation and
service manual that I have in front of me.
--- cut here ---
ASMB,A,B,L,T
ORG 100B
*
****12966 SAMPLE PROGRAM*************************
*THE PROGRAM BEGINS BY CLEARING ALL ADDRESSES OF THE
*SPECIAL CHARACTER RAM TO ZEROS.THE 12966 THEN IS
*ENABLED TO RECEIVE MODE,1200 BAUD.THE USER ENTERS A
*MINIMUM OF 64 CHARACTERS FROM THE TERMINAL KEYBOARD
*(HP2640 OR SIMILAR TERMINAL). WHEN BUFFER HALF FULL
*(64 CHARS.) IS DETECTED,THE CHARS. ARE TRANSFER FROM
*THE FIFO BUFFER OF THE 12966 TO THE CPU. WHEN THIS
*TRANSFER IS COMPLETE THE CPU HALTS (HLT 01).THE USER
*PRESSES 'PRESET' & 'RUN', THE 12966 GOES INTO THE
*TRANSMIT MODE. THE CPU BUFFER (64 CHARS.) IS SENT TO
*THE 12966 FIFO BUFFER. WHEN THIS TRANSFER IS COMPLETED
*THE 12966 TRANSMITS TO THE TERMINAL UNTIL BUFFER EMPTY
*STATUS FLAG SETS. THE CPU NOW HALTS (HLT 02),PRESSING
*'RUN' RESETARTS THE PROGRAM.
*
*
A EQU 0
B EQU 1
SCT EQU 12B 12966 IS IN SELECT CODE 12B
SAVA BSS 1
SAVB BSS 1
COUNT BSS 1
SIZE DEC 64 64 CHARACTERS
BHF OCT 1000
CW3 OCT 030023
CW4R OCT 040011
CW4T OCT 140411
CW5 OCT 050077
CW6 OCT 060000
PAT OCT 777
DAB. DEF DAB
CLEAR OCT 060400
ORG 1000B
DAB BSS 400
*
*
ORG 200B
START LDA CW4T MASTER RESET,INITIALIZE TRANSMIT
OTA SCT
LDA CW6 CLEAR OUT SPECIAL CHAR RAM
R1 OTA SCT
INA
CPA CLEAR CHECK IF SPECIAL CHAR RAM IS CLEAR
RSS YES IT IS,CONTINUE WITH PROGRAM
JMP R1 NO IT ISN'T,CONTINUE CLEARING
OVER LDA SIZE SETUP AND INITIALIZE CHAR COUNTER
CMA,INA 2'S COMP.
STA COUNT
LDA CW5 LOAD WORD 5,CLEAR FLAGS
OTA SCT
LDA CW3 LOAD WORD 3,1 STOP BIT,8 DATA BITS
OTA SCT ECHO ON,NO PARITY
LDA CW4R LOAD WORD 4,RECEIVE MODE,1200 BAUD
OTA SCT
CHECK STC SCT,C SET CONTROL 12966
SFS SCT CHECK IF STATUS FLAG SET
JMP *-1 NO,NONE IS SET,CONTINUE
CLC SCT YES,FLAG HAS SET
LIA SCT GET STATUS WORD
AND BHF CHECK FOR BUFFER HALF FULL
SZA,RSS
JMP CHECK BHF NOT SET AS YET
LDA CW5 BHF SET,CLEAR STATUS FLAGS
OTA SCT
LDB DAB. SETUP CPU BUFFER ADDRESS
STC SCT,C SET CONTROL 12966
T1 LIA SCT GET A CHARACTER FROM FIFO
AND PAT MASK OUT UNWANTED BITS
STA B,I STORE CHAR INTO CPU BUFFER
INB
ISZ COUNT INCREMENT COUNT,COUNT=64?
JMP T1 NO,GET NEXT CHARACTER
HLT 01 YES,CPU BUFFER IS FULL
***PRESS 'PRESET' AND 'RUN' TO PUT 12966 INTO TRANSMIT
*MODE.
*
NOP
LDA CW4T SETUP 12966 TO TRANSMIT @1200 BAUD
OTA SCT
LDA CW5 CLEAR BUFFERS
OTA SCT
LDA SIZE SETUP CHAR COUNTER
CMA,INA 2'S COMP.
STA COUNT
LDB DAB. SETUP BUFFER ADDRESS
STC SCT,C
T2 LDA B,I GET A CHARACTER
OTA SCT PUT IT IN THE FIFO BUFFER
INB
ISZ COUNT INCREMENT COUNT,COUNT=64?
JMP T2 NO GET NEXT CHAR!!!
LDA CW5 YES,LOAD W TO CLEAR BUFF
OTA SCT HALF FULL
STC SCT,C SET CONTROL,START TRANSMIT
SFS SCT IS BUFFER EMPTY?
JMP *-1 NO,CONTINUE SENDING
HLT 02 YES, IT IS EMPTY,HALT CPU!!
JMP START RESTART 12966
END
--- cut here ---
-Frank McConnell