File KENA01

Directory of image this file is from
This file as a plain text file

$20
[PROGRAM VERN11T
[===============
[
[TO OPERATE VERN11T
[==================
[1. AFTER LOADING, PRESS START 20.
[2. FILL IN SCOPE Q AND A.
[   ALL HOR. COORD ARE 3 DIGIT NOS. BETW. 000 AND 777
[   ALL VERT. COORD ARE 3 DIGIT NOS PRECEDED BY A +
[       OR  A  - SIGN. 3 DIGIT NOS RANGE FROM +377
[       TO -377.
[   STIM DUR IN MSEC.
[   VAR CHOSEN BY LETTER FROM LETTER ON SCOPE FACE
[       IN FRONT OF VARIABLE YOU WANT TO RANDOMIZE
[   NO TRLS - ANY POS 3 DIGIT NO. UP TO 200.
[   VALUES OF RAND VAR. REQUIRE A + OR - SIGN
[         FIRST. THIS IS FOLLOWED BY A 3 DIGIT NO.
[3. CAN CORRECT SCOPE VALUES BY USING DOT ON SCOPE
[       TO LOCATE FIRST  LOC.  TO BE CORRECTED.
[       PRESS RETURN KEY TO MOVE ON
[4. AFTER SCOPE FILLED IN, SET SNS 0 AND 1, 
[     AND THEN PRESS LINEFEED. VERN LINES APPEAR.
[5. BE SURE THAT VALUE IN LOC 22 CONTAINS FIRST BN FOR
[       PROGRAM RANDOM ON TAPE.
[--------------
[COUNTERS
[--------
[    USED BY Q|A: 1-6
[    USED DURING CONV TO 12-BIT: 2-5
[    USED DURING INSERTION OF RANDOM # INTO LINE DISPL:12,13
[USED DURING CLEARING OF 2001-2577 DATA STORE
[     14, 15
[USED AS TRL CNTRS
[     14: STIM
[     15: RESP
[     16: # TRLS REMAIN
[    USED DURING DISPLAY:5 HORIZ LN A
[                        6 # PTS IN LN A
[                         7 HORIZ LN B
[                       10 # PTS IN LN B
[                       11 STIM DUR
[SENSE SWITCHES
[--------------
[SNS 0: UP FOR COMPLETELY RANDOMIZED DESIGN
[        DOWN FOR RANDOMIZED BLOCKS DESIGN
[SNS 1: UP FOR HALT AFT A BLOCK OF TRIALS
[       DOWN FOR CONTINUE THROUGH TO END
[SNS 5: UP IF WISH TO CLEAR FREQ TABLE AFTER EAXH RUN
[       DOWN IF WISH TO CUMULATE RESPONSE DIST OVER RUNS.
[READ PROGRAM "RANDOM" INTO MEM BANK 3.
[--------------------------------------
UMB 3
RDC
4212 [BN 212 ISPRESENT LOCATION OF RANQAYZW ON TAPE
RDC
5213
LMB 3 [RESTORE LOCATION 342 IN BANK 3 TO STHi 3. THUS, IF PRESS START 20 WILL LOSE OLD DATA.
[TO RETAIN OLD DATA START AT LOC. 27 OR 43.
JMP 760
[RETURN UMB TO 2
UMB 2
[ON RETURNING FROM LOADING RANDOM INTO CORE CHANGE
[LOCATIONS 20-22 TO NOP SO THAT SUBSEQUENT PRESSES OF
[START 20 DO NOT JMP BACK TO REQUIRE LOAD OF 
["RANDOM" AGAIN.
LDAi
NOP
STA
20
STA
21
STA
22
STA
23
STC 24
[CLR BLOCK COMPLETION TESTER
#A62A   CLR
STC A63H
STC A63I
STC A63J
STC A63K
STC A63L
[CALL TO Q+A
[-----------
#A69R   LMB 3
JMP 276 [ENTER Q+A
A69S [LOCATION OF QUESTION BUFFER AS TEXT STRING BEGINS AT 9S.
A69U [LOCATION  OF ANSWER BUFFER AS 6-BIT CODE BEGINS AT 9U.
LMB 3
JMP 765
JMP A69M [JMP TO MAIN PROGRAM
[BEGIN MAIN PROGRAM AT 9M
[------------------------
[   CONVERSION OF COORD, VAR, AND STIM DUR TO 12-BIT OCTAL
#A69M   SETi 5
-60 [#LOCATIONS IN ANSWER BUFFER
SETi3
A61A [STARTIN LOCATION FOR 12-BIT ANSWERS
SETi4
A61A-1
SETi2
A69U
CLR
STC A63C
#A63B   LDHi 2
SHDi
7000 ["
JMP A63B
SHDi
1700 [-
JMP A63D
SHDi
2000 [+
JMP A63B
STH 3
LDHi2
ROL 3
STHi3
LDHi2
ADMi 4
LDAi
#A63C  
SAEi
0017
JMP A63E
JMP A63F
#A63D   STC A63C
JMP A63B
#A63F   LDA 4
COM
STA 4
#A63E   LDHi 3 [SET REGISTIR 3 TO NEXT LOCATION FOR STORING 12-BIT ANSWERS.
XSKi 5
JMP A63B-2
[CLR 2001-2577 FOR DATA STORE
[----------------------------
SETi14
-577
SETi15
2000
CLR
STAi 15
XSKi 14
JMP p-2
[CLR FREQ DST IF SNS 5 IS UP
[---------------------------
SNS 5
JMP A67B
SETi 14
-200
SETi 15
A23J-1
CLR
STAi 15
XSKi 14
JMP p-2
[SET CNTR PTR  TO DATA STORE
[---------------------------
#A67B SETi 14
2001 [STIM
SETi 15
2301 [RESP
LDA
A61K [# TRLS
COM
STA
16
[WHICH PARAMETER IS TO BE RANDOMIZED
[-----------------------------------
LDA
A65A
BCLi
7740
ADAi [COMPUTE ADDRESS OF PARAMETER TO BE RANDOMIZED
A61A-24
STC 12
[ISSUE CALL TO "RANDOM"
[----------------------
#A67A   LDAi
1
LMB 3
JMP 20
[RETURN FROM "RANDOM" HERE WITH RANDOM # IN LINC
[ACCUMULATOR
BCLi
7770
STA 14 [DATA STORE
[IS RANDOM # ILLEGAL
[-------------------
SAEi
5
JMP p+2
JMP A67A
SAEi
6
JMP p+2
JMP A67A
SAEi
7
JMP p+2
JMP A67A
[IF RANDOM # IS NOT ILLEGAL THAN DO NEXT INST.
ADAi [COMPUTE ADDRESS OF VALUE OF RANDOM
[VARIABLE CHOSEN BY "RANDOM"
A65H
[CHOOSE COMPLETELY RANDOMIZED OR RANDOMIZED
[------------------------------------------
[BLOCKS DESIGN
[-------------
SNSi 0
JMP A64K [IF UP JMP TO DISPLAY
[IF DOWN CONTINUE IN RANDIMIZED BLOCKS
[
[HAS THIS RANDOM # BEEN USED IN THIS BLOCK
[-----------------------------------------
#A62H   SAEi
A65H
JMP A62I
SAEi
#A63H   0000
JMP p+2
JMP A67A
STA
13
STC A63H
JMP A64J [JMP TO LOAD RANDOM # IN TEST DISP. AND DISP
#A62I   SAEi
A65I
JMP A62J
SAEi
#A63I   0000
JMP p+2
JMP A67A
STA
13
STC A63I
JMP A64J
#A62J   SAEi
A65J
JMP A62K
SAEi
#A63J   0000
JMP p+2
JMP A67A
STA
13
STC A63J
JMP A64J
#A62K   SAEi
A65K
JMP A62L
SAEi
#A63K   0000
JMP p+2
JMP A67A
STA
13
STC A63K
JMP A64J
#A62L   SAEi
A65L
JMP A62Z
SAEi
#A63L   0000
JMP p+2
JMP A67A
STA
13
STC A63L
JMP A64J
#A62Z   HLT [ERROR
#A64K   STC 13 [TO BE USED ONLY IN COMPLETELY
[RANDOMIZED DESIGN
#A64J   LDA 13 [LOAD VALUE OF RANDOM VARIABLE CHOSEN
STA 12 [PUT IT INTO LOC FR WHICH TEST DISP TAKES VAL
[DISPLAYING
[----------
#Z3    LDA
A61J [STIM DUR
COM
STC 11
SETi 3
-100
XSKi 3
JMP p-1
SET i 3
400
SNS 3
JMP p+3
CLR
DIS 3
SXL 7
JMP p+2
JMP Z3
SNSi 2
JMP Z10
SXLi 13
JMP p-1
SXL 13
JMP p-1
SXLi 11
JMP p-1
SXL 11
JMP p-1
LDA i
76
ATR
#Z10    LDA i 
0
ATR
LDA i
60
ATR
[    FIRST SETUP OF LN A
[    -----------------
LDA
A61B
COM
ADA
A61D
ADAi
-1
STC A64G
SNS 3
JMP p+3
CLR 
DIS 3
[    FIRST SETUP OF LN B
[    -------------------
LDA
A61F
COM
ADA
A61H
ADAi
-1
STC A64H
[    RESETUP LNS A AND B
[    -------------------
#A64A   SNS 3
JMP p+3
CLR
DIS 3
SET 5
A61A
LDAi
4000
ADM
5
SET 7
A61E
LDAi
4000
ADM
7
#A64B   SETi 6
#A64G   [#PTS IN LN A
SETi 10
#A64H   [#PTS IN LN B
SNS 3
JMP p+3
CLR 
DIS 3
[    DISPLAY LN A
[    ------------
LDA
A61B
#A64C   DIS 5
ADAi
-1
XSKi6
JMP A64C
SNS 3
JMP p+3
CLR
DIS 3
[   DISPLAY LN B
[   ------------
#A64E   LDA
A61F
#A64F   DIS 7
ADAi
-1
XSKi10
JMP A64F
SNSi 2
JMP p+4
SXL i 12
JMP A64A
JMP Z1
XSKi 11
JMP A64A
[RECORD RESPONSE
[---------------
#Z1    LDA i
61
ATR
SNS 3
JMP p+3
CLR
DIS 3
SET i 2
-10
SET i 4
-100
XSK i 4
JMP p-1
XSK i 2
JMP p-5
SXL 0
JMP S0 [STORE RESPONSE 0
SXL 1
JMP S1 [STORE RESPONSE 1
SXL 2
JMP S2
SXL 3
JMP S3
SXL 4
JMP S4
JMP Z1
#S0     CLR
STA 15
STC F4
LDAi
20
JMP F1
#S1     LDAi
1
STA 15
STC F4
LDAi
40
JMP F1
#S2     LDAi
2
STA 15
STC F4
LDAi
60
JMP F1
#S3     LDAi
3
STA 15
STC F4
LDAi
100
JMP F1
#S4     LDAi
4
STA 15
STC F4
LDAi
120
JMP F1
#S5     LDAi
5
STA 15
STC F4
LDAi
140
JMP F1
#S6     LDAi
6
STA 15
STC F4
LDAi
160
JMP F1
[INCREMENT TRIAL CNTRS AND TEST IF END
[-------------------------------------
[FORM FREQ DIST
[==============
#F1 ADA
13
ADAi
A23J-A65H [BEGIN OF FREQ DST-LOC OF VAR O
STC F3
LDAi
1
ADM
#F3     0 [AD OF MEM OF FR DST THAT GETS INCRMENT
LDA
14 [IND, AD FOR LOC OF RAND # CODE OF STIM VAL. DATA STORE
ADAi
300 [GETS TO RESPONSE STORE
STA
F5
LDAi
#F4     0 [# OF RESP
STA
#F5     0 [RAW DATA RESP
JMP A62D
[INCREMENT TRIAL CNTRS AND TEST IF END
[-------------------------------------
#A62D   XSKi 14
XSKi 15
[TEMP : SET DELAY BETWEEN TRLS
SETi17
0
SETi 2
-300
#Z2     XSKi 17
JMP p-1
SET i 3
400
SNS 3
JMP p+3
CLR 
DIS 3
XSKi 2
JMP Z2
XSKi 16
JMP F6 [CONT TRLS
HLT [PRESS RESUME TO CONT TO TYPEOUT
JMP T1  [TYPEOUT
[TEST TO SEE IF ALL VALUES OF VAR HAVE BEEN
[RUN IN THIS BLOCK 
[-------------------------------------------------
#F6     CLR
SAE
A63H
JMP p+2
JMP A67A
SAE
A63I
JMP p+2
JMP A67A
SAE
A63J
JMP p+2
JMP A67A
SAE
A63K
JMP p+2
JMP A67A
SAE
A63L
JMP p+2
JMP A67A
STC A63H
STC A63I
STC A63J
STC A63K
STC A63L
[CONTINUE TEST DISPLAY OR BACK TO Q|A
SNSi 1
JMP A69R
JMP A67A
[CONVERT FREQ DST TO DECIMAL,
[STORE IN PRINT BUFFER, AND
[TYPE FREQ DST
[============
[===========
#T1 JMP A24T [TYPE CRLF
JMP A24T
#T2 SETi 6
A23J-1 [-1 FROM BEG OF FREQ TABLE
SETi 7
A23J+17 [1ST FREQ DST
SETi 10
A23J+37 [2ND FREQ DST
SETi11
A23J+57
SETi12
A23J+77
SETi13
A23J+117
SETi14
A23J+137 
SETi 15
A23J+157 [7TH FREQ DST
LDAi
-5 [COM OF # OF VALS OF VARIABLE.
ADAi
-1
STC A21G
#A24D SETi4
#A21G  0  [# ROWS IN FREQ DST
#A24E SETi 1
3700 [BEGIN STORE PRINT BUFFER
XSKi 4
JMP A24F [TO LOAD BUFFER
HLT [TEMP
[TO WRITE OVER RANDOM FIRST RAISE RESUME ON CONSOLE
[--------------------------
UMB 3
WRC
4212
WRC
4213
UMB 2
HLT [FINAL HLT
[LOAD PRINT BUFFER
[----------------
#A24F SETi5
-10
LDAi
LDAi 6
STC A24P
LDAi 6
COM
#A24S JMP A28J
LDAi
14
STHi 1
STHi 1
XSKi 5
JMP p+2
JMP A24U
LDAi
1
ADM
A24P
#A24P  0 [LDAi.....
JMP A24S
[TYPE FREQ DST
[-------------
#A24U SETi 1
3700
SETi 5
-23
LDHi 1
JMP A27T [TECSUB
XSKi 5
JMP p-3
JMP A24T
JMP A24E [NXT LINE OF FREQ DST
$1400
#A61A     [LN A TOP PT. HOR COORD
#A61B     [LN A TOP PT. VERT COORD
#A61C     [LN A BOT PT. HOR COORD
#A61D     [LN A BOT PT. VERT COORD
#A61E     [LN B TOP PT. HOR COORD
#A61F     [LN B TOP PT. VERT COORD
#A61G     [LN B BOT PT. HOR COORD
#A61H     [LN B BOT PT. VERT COORD
#A61J     [STIM DUR
#A65A     [LETTER PF ITEM THAT IS VARIABLE
#A61K     [# OF TRLS
#A65H     [VAR 0
#A65I     [VAR 1
#A65J     [VAR 2
#A65K     [VAR 3
#A65L     [VAR 4
$1500
[PROG TYPDEC WITH BINDEC LABELS CHANGED FROM 
[9 TO 8.  ALSO ENTRY ELIMINATED
[MOD BY L. MATIN
[ ****** BINDEC 1 ******
[BINDEC 1
[   DJN   7| 5|68
[SIGNED 12-BIT BINARY TO DECIMAL CONVERSION
[  RIGHT JUSTIFIED
[  ENTER WITH BINARY NUMBER IN ACCUMULATOR VIA A JMP 9J
[  DECIMAL KBD CODES STORED VIA IR 1
[  LEADING ZEROES SUPPRESSED
[  NON-INTERRUPTABLE
[  ALSO USES IR 2,3
[  USES TAGS 9J-9Q
[CHANGED BY L. MATIN
[TO TAGS 8J-8Q
[
[TIMING- CLASSIC LINC
[   1.4 TO 3.5 MSEC
[
#A28J   SCRi1 [SIGN TO LINK BIT
ROLi1
APOi [MAKE NEGATIVE
COM
STC A28N [SAVE IT
ADD 0 [SAVE RETURN
STC A28P
LDAi [LOAD POSSIBLE SIGNS
#A28K   "- "
LZE [GET CORRECT SIGNS
ROR 6
STHi1 [AND STORE IT
SETi2 [SET ADDEND POINTER
A28Q-1
JMP A28M [CONVERT A DIGIT
AZE [IS IT A LEADING ZERO
JMP A28L [NO
ADD A28K [YES: MOVE THE SIGN RIGHT ONE PLACE
STH 1 [STORE A SPACE OVER THE SIGN
LZE [GET THE CORRECT SIGN
ROR 6
STHi1 [AND STORE IT
JMP p-10 [  THEN CONTINUE CONVERTING
#A28L   STHi1 [STORE A DIGIT
JMP A28M [CONVERT NEXT DIGITI
JMP A28L [AND STORE IT
[LITTLE SUBROUTINE TO DO THE CONVERSION
#A28M   LDA [SAVE RETURN
0
STC A28P-2
SETi3 [SET DIGIT COUNTER
1777
XSKi2 [MOVE ADDEND POINTER
ADD A28N [LOAD THE VALUE
XSKi3 [BUMP COUNTER
STAi [SAVE REMAINING PART
#A28N   **
ADA 2 [TRIAL ADD
APO [STILL NEGATIVE
JMP p-5 [YES: COUNT AND ADD AGAIN
LDA [NO:  GET THE COUNTER
3
SROi [LAST DIGIT
3567
JMP ** [NO:  BACK TO THE SUBROUTINE
STHi1 [YES: STORE IT
#A28P   JMP ** [    AND RETURN TO CALLING PGM
[ADDEND TABLE
#A28Q   1750
 144
  12
   1
[END BINDEC 1
[ 7| 5|68
[TECSUB
[TELETYPE SUB
[FOR DEC INT-
[ERFACE----
[TAGS 4T 5T
[6T 7T AND
[INDEX REG.
[16 AND 17
#A27T   SET 17
0
[FORM RETURN
ROL 4
[CODE TEST
APO
JMP A26T-1
[TELETYPE CODE
ROR 4
[LINC CODE
SAE i
12
[EOL TEST
JMP p+4
[NOT EOL
LDA i
5215
[MAKE CR LF
JMP A26T
[OUTPUT
ADA i
-11
[NUMBER TEST
APO i
JMP p+4
[NOT A NUMBER
ADA i
[CONVERT NUMBER
271
JMP A26T
[OUTPUT
ADA i
-12
[1ST SPECIAL
[CHARACTER TEST
APO i
JMP p+6
[NOT SPECIAL
[CHAR. TYPE 1
ADA i
A25T+10
STC 16
[CONVRT SPECIAL
[CHARACTERS
ADA 16
JMP A26T
[OUTPUT
ADA i
-32
[LETTER TEST
APO i
JMP A27T+27
[CONVRT SPECIAL
[CHAR. TYPE II
ADA i
[CONVRT LETTER
332
JMP A26T
[OUTPUT
ROR 4
#A26T   APO i
[CR LF--HUH
JMP p+4
514
LDAi
212
514
[ PRNT CHAR.
JMP 17
[RETURN
#A24T   SET 17
0
LDAi
215
JMP A26T+2
#A25T   207
[BELL FOR DEL
240
[SPACE
246
[AMPERSAND FOR 
[ i
247
[APOSTROPHE
[FOR p
255
[-
253
[+
257
[SLASH
243
[ TAG SYMBOL
0
[NO OUTPUT FOR
[CASE
275
[=
300
[AT SIGN FOR u
254
[COMMA
256
[PERIOD
244
[DOLLAR SIGN
[FOR ORIGN SIGN
333
[COMMENT SYMBOL
[DECBIN 1
[  DJN  9|20|68
[
[DECIMAL-TO-SINGLE PRECISION BINARY
[  CONVERTS FROM -4095 TO +4095
[
[CALLING SEQUENCE
[  JMP 9A
[  ERROR RETURN
[  NORMAL RETURN
[
[IR1 MUST BE SET JUST BEFORE THE FIRST CH
[  DECBIN 1 LOOKS AT 5 CHARACTERS
[  USES IR1-4
[       TAGS 9A-9G
[  INTERRUPTABLE
[
[TIMING- CLASSIC LINC
[        0.7 - 2.1 MSEC
[
#A29A   SET 3 [SAVE RETURN
0
SETi4 [CH COUNTER
#A29H   -4 [MOD L. MATIN
SETi2 [MINUS FLAG
1777
CLR
#A29B   STC A29C [SAVE RESULT
XSKi4 [ENOUGH CHS DONE
JMP A29D [NO
LDAi3 [YES: INDEX RETURN
LDAi [LOAD RESULT
#A29C    **
XSK 2 [MINUS
COM [YES
JMP 3 [RETURN
#A29D   LDHi1 [LOAD NEXT CH
SHDi [SPACE
"  "
JMP A29B+1 [     IGNORE
SHDi [PLUS
"+ "
JMP A29B+1 [     IGNORE
SHDi [MINUS
"- "
JMP A29G [     SET FLAG
COM [NONE OF THOSE
ADD A29F
APO [IS IT A LEGAL DIGIT
JMP 3 [NO:  ERROR RETURN
LDH 1 [YES: SAVE IT
STC A29E
ADD A29C
MUL [ X # BASE
4|A29F
SCR 1
AZE [OVERFLOW
JMP 3 [YES: ERROR RETURN
ZTA [NO:  RETRIEVE IT
ROL 1
ZZZ
ADD A29F+1 [+1
LAMi
#A29E    **
LZE [OVERFLOW
JMP 3 [YES: ERROR RETURN
JMP A29B [NO:  CONTINUE
#A29F    12  [NUMBER BASE
 1
#A29G   XSKi2 [SET MINUS FLAG
JMP A29B+1
[END DECBIN 1
$2000
0 [STIM DATA STORE
#A29V [BEGIN STORE
$2300
0 [RESP DATA STORE
$3500
#A23J   0 [BEGINNING OF FREQ DST
$2600
[QUESTION BUFFER
[---------------
#A69S   "             HOR    VERT
            -----  ------
LN A TOP PT.A"
""3"
"  "
"B""
"4
---- BOT PT."
"C""
"3  D"
""4"
"
LN B TOP PT.E"
""3"
"  "
"F""
"4
---- BOT PT."
"G""
"3  H"
""4"
"
 
STIM DUR "
"J""
"3
--------
 
VAR"
""3"
"  #TRLS "
"K""
"3
---      ----
VAR  1"
".""
"4 2."
""4"
"
---  3."
""4"
" 4"
".""
"4
     5"
".""
"4:"
[ANSWER BUFFER
[--------------
#A69U   0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search