File SIMBC

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

[ S I M B C   7-18-73
[FOR uLINC SUPPORT OF BDCST SIMULATOR
[
[NADINE ABBOTT
[SOME ROUTINES SUPPLIED BY MARS GRALIA
[WASHINGTON UNIVERSITY
[COMPUTER SYSTEMS LAB
[ST. LOUIS, MO.
[
[WARM START
$1
JMP 20
[
$20
[------------------------------------------
LDA i
#1D  0  [RANDOM NO.
OPR 8D+3
LDA i
#1E  1
OPR 8D+4
[MASTER LOOP
#1B JMP 7S [PRESET
#1A CLR [DISP ID M
SET 1
 6K
DSC i
 3077
DSC i
 7730
KST [WAIT FOR OPERATOR
JMP 1A
KBD i
SHD i
"L; [LAP6,u0
JMP 7Z
SHD i
"P; [PRESET
JMP 1B
SHD i
"G; [GO
JMP 1G
SHD i
"S; [SINK MON DATA
JMP 3T
SHD i
"R; [RESUME
JMP 2R
SHD i
"T;  [THAW
JMP 7T
JMP 1A
[------------------------------------------
[SLAVE LOOP
#1M CLR [RESET DISPLAYS
STC 1O
#1N LDA i [SLOW FCTS?
 1
ADM i
#1O  [COUNTER
APO i
JMP 3R [YES
#1P LDA i [
 6S [SERVICE MON?
JMP 9T
JMP p+2
JMP 3U [YES
LDA i
 6Q [FINISHED?
JMP 9T
JMP 1N [NO-REPEAT
[------------------------------------------
#2P LDA i
 1
ADD 4G
AZEi
JMP 1A
STC 4G
JMP 2R
[SERVICE SLOW FCTS
#3R LDA i
 -20 [INIT CNTR
STC 1O
JMP 6J [DISP S
KST [OPERATOR?
JMP 1P [NO
KBD i
SHD i
"S; [SINK DATA
JMP 1B
SHD i
"F; [FREEZE
JMP 1B
JMP 1P [GO SLAVE
[
[SERVICE MONITOR
#3U CLR
OPR 8C [MONP
STC 1
LDA i
 6S ["DONE" TO MON
JMP 9C
LDA [SET MON PAGE
 1
BCL i
 1777
ROL 2
ADA i
 6Y [PTRN
STC p+1
 [UMB XX
ADD 1 [CALC MON ADDR
BCL i
 6000
BSE i
 2000
STC 1
ADD 2H [INCR COUNT
ADM 1
OVF [OVERFLO?
JMP p+5 [NO
LDA i [YES-LIMIT AT 3777
 3777
STA 1
JMP 1B
UMB 2
JMP 1N [TO SLAVE
[
[SINK MON DATA
#3T JMP 2Q [Q+A
 2C 
 4A
JMP 1I [INTERPRET BLK|UNIT
 4A
 2F+1 [BLK
 2F [UNIT
LDA i
 6T [0->MONP
JMP 9W [OUT AND CHK
LDA i
 WRC
ADD 2F
STC 2F
LDA i
 3000
ADD 2F+1
STC 2F+1
LDA i
 6Y
STC 4T
SET i 1
 -2 [# PAGES DATA
#4T  [UMB XX
SET i 2
 3777
#5T SET i 3
 1377
LDA i 2 [GET UPPER MON
STA i 3
LDA i 
 6V [GET MON
JMP 9W
CLR
OPR 8C+1
STA i 3
XSK 3
JMP p-11
#2F WRC
 3|XXX
ADD 2H [ 1
ADD p-2
STC p-3
XSK 2
JMP 5T [NEXT BLK
LDA
 2H
ADD 4T
STC 4T
XSK i 1
JMP 4T [NEXT PAGE
[GET BEST BDCST SO FAR
SET i 2
 -100 
SET i 3
 1377
#3F LDA i
 6V [GET MON
JMP 9W
CLR
OPR 8C+1
STA i 3
XSK i 2
JMP 3F
LDA
 2F+1
STC p+4
ADD 2F
STC p+1
 --
 --
CLR
OPR 8C+4
STC 1D
OPR 8C+5[UPDATE BEGINNING RAND NO.
STC 1E
JMP 1A [GO MASTER
[
[------------------------------------------
[GO
#1G JMP 7T [THAW
CLR
STA i
#4G  0 [TRIAL-UPPER
[......
[FILL MM MEMS
#3A JMP 2Q [Q+A
 2A
 4A
JMP 1I [INTPRET 
 4A
 2D+1 [BLK
 2D   [UNIT
JMP 2Q [Q+A
 2B
 4A
JMP 1I 
 4A
 2E+1
 2E
UMB 1
CLR
OPR 8D+2 [PTR
OPR 8D+7 [TRIAL
LDA i
 6P [INIT PTRS
JMP 9W
LDA i
 RDC
ADD 2D
STC 2D
LDA i
 4000
ADD 2D+1
STC 2D+1
ADD p-7
ADD 2E
STA
 2S
STC 2E
LDA i 
 5000
ADD 2E+1
STA
 2S+1
STC 2E+1
#2S ---
---
LDA
 2400
OPR 8D+6 [CTR
CLR
OPR 8D+10 [CLR TO MON
JMP 2Q
 2L
 4A
JMP 1I [INTPRET
 4A
 2M
 4A
LDA i
#2M 0
ROL i 1
OPR 8D+5 [TO J
SET i 1
 -10 [#BLKS FOR MEM AND BDCST
#2G SET i 2
 -400
SET i 3
 3777
SET i 4
 2377
#2D RDC
 [BLK-ALGO
#2E RDC 
 [BLK-BDCST
#2J LDA i 3
OPR 8D [MEM OUT
LDA i 4
OPR 8D+1 [BDCST OUT
LDA i
 6O [WRITE MEMS
JMP 9W
XSK i 2
JMP 2J
LDA i
#2H  1
ADD 2D+1
STC 2D+1
ADD 2H
ADD 2E+1
STC 2E+1
XSK i 1
JMP 2G
LDA i
 3777
OPR 8D+10 [MON
LDA i
 6W
JMP 9W 
CLR
OPR 8D+10 [MON
[
[BEGIN RUN
#2K LDA i
 6Q [START
JMP 9C
[CLEAR MON--UPPER
LDA i
 6Y
STC p+3
SET i 1
 -2 [# PAGES
#3G  [UMB XX
SET i 2
 3777
STA i 2
XSK 2
JMP p-2
ADD 3G
ADD 2H [= 1
STC 3G
XSK i 1
JMP 3G
[CLEARED
[
JMP 1M [GO SLAVE
#2R LDA i
 6Q [RESUME
JMP 9C
JMP 1M
#4A 0
0
0
0
#2A "FIRST MEM BLK"3
UNIT"1:;
#2B "FIRST BDCST BLK"3
UNIT"1:;
#2C "FIRST MON BLK"3
UNIT"1:;
#2L "BDCST LENGTH"3:;
[
[INTERPRET BLK|UNIT
#1I LDA
 0
STC 3I
ADD 3I
BCL i
 6000
STC 2I
SET i 1
#2I
LDA 1
STC p+2
SET i 2
  [DATA
LDA i 1
STC p+2
SET i 3
  [BLK
LDH i 2
ROL 6
STA 3
LDH i 2
ROL 3
ADA 3
STA 3
LDH i 2
ADA 3
STA 3
LDA i 1
STC p+2
SET i 3 
  [UNIT
LDH i 2
LDH i 2
ROL 3
STA 3
#3I  [RETURN
[------------------------------------------
[PRESET
#7S LDA
 0
STC 9R
OPR 8A [OUT
[PRESET=PROTECT=0=ASSERTED
STA i
#9I  [IN VECTOR
STA i
#9O  [OUT VECTOR
#9R [RETN
[THAW
#7T LDA 
 0
STC p+10
LDA i
 4000
JMP 9C
LDA i
 4000
JMP 9T
JMP p-3
 XX [RETURN
[
[DISP ID "S"
#6J CLR
SET i 1
#6K  20 [H-POSIT
DSC i
 5121
DSC i
 4651
JMP 0
[
[LAP6,u0
#7Z UMB 0
LDA i
 RCG
STA
 2015
LDA i 
 7300
STA
 2016
UMB 1
LMB 0
JMP 15
[------------------------------------------
[MM SUBROUTINES
[CONTROL OUT AND CHK
#9W STA
 p+5
BCO [MOD IN VECT
 9I
STC 9I
LDA i
 XX
BCO [MOD OUT VECT
 9O
OPR 8A [OUT
STC 9O
NOP [WAIT A BIT
NOP
NOP
NOP
OPR 8B [IN
SAE
 9I
HLT [NO RET
JMP 0
[
[CONTROL OUT
#9C BCO [MOD OUT VECT
 9O
OPR 8A [OUT
STC 9O
JMP 0
[
[TEST CONTROL RET
[TO p+1 IF NO RET
[TO p+2 IF RET
#9T STA
 9J
COM
STC p+11
ADD 0 [SAVE RET
STC p+23
ADD 9J
BCO [MOD IN VECT
 9I
STA
 9I
BCL i
 [IN MASK
STC 9S
OPR 8B [IN
BCL
 p-4
SAE i
#9S [MASKED 9I
JMP 9U [NO RET
LDA i
 1
ADM [INCR RET
 p+1
 [RETN
#9U LDA i [FIX IN VECT
#9J
BCO
 9I
STC 9I
JMP p-6
[
[1ST PAGE UPPER MON
6Y=642 [UMB 2
[
[MASKS FOR MM INTERFACES
[FIRST NUMBER IS FOR SMALL INTERFACE
[
[CONTROL OUT: 10 OR 47
8A=47
[CONTROL IN: 11 OR 67
8B=67
[1ST DATA IN: 0 OR 70
8C=70
[0TH DATA OUT: 0 OR 50
8D=50
[
[CONTROL MASKS
[CTRL OUT: START
6Q=1
[SERVICE MON
6S=4
[INTERRUPT
6T=10
[INIT PTRS
6P=20
[WRITE IN MEMS
6O=40
[SINK MON DATA
6V=100
[PS|DP
6U=2000
6Z=4000
[4000 TO MONP
6W=200
[AFTER SINK
6X=400
[
[
[Q+AR
$1000
#2Q LDAi
2
ADD 0
STAi
0
ADD p+133
STC 1
LDA 1
ADD p+170
STC p+35
LDAi 1
STC p+26
STC 6
SET 3
p+23
SET 4
p+26
JMP p+125
JMP p+3
JMP p+14
JMP p-3
STH 3
LDHi 4
COM
STC 6
ADD p+202
STHi 3
XSKi 6
JMP p-2
LDHi 3
JMP p-15
STH 3
SETi 4
0
LDAi
137
STC p+12
SETi 3
0
SET 5
p-7
SETi 1
100
LDAi
-40
ADMi
0
LDHi 3
JMP p+67
JMP p+303
JMP p+17
SHDi
1200
JMP p-14
JMP p+71
JMP p-10
JMP p+67
SROi
0
DIS 1
LDHi 5
JMP p+52
JMP p-17
JMP p-20
JMP p-10
KST
JMP p-40
KBD
SETi 2
p+233
SHD 2
JMP p+121
SHDi 2
JMP p-105
XSK 6
JMP p-51
SHDi 2
JMP p+20
SHDi 2
JMP p+131
SHDi 2
JMP p+21
JMP p+25
JMP p-106
JMP p-62
STC p+5
JMP p+20
JMP p+50
JMP p+47
LDAi
0
STH 4
JMP p-72
LDH 4
JMP p+11
JMP p-75
-6002
JMP p+36
JMP p+4
JMP p-101
JMP p-104
JMP p-3
LDHi 4
SHDi
7000
JMP 0
SAEi
76
XSKi 0
XSKi 0
JMP 0
ROL 1
ADD p+163
STC 2
ADD p+20
ADD 1
STC 1
ADD 5
COM
ADD 4
AZE
CLR
STC p-100
ADD p-115
DSC 2
DSCi 2
JMP 0
LDAi
-4000
ADM
4
JMP p-141
[CHARACTER PATTERNS
[KBD 0:CODE 00
4136
3641
[1:01
2101
0177
[2:02
4523
2151
[3:03
4122
2651
[4:04
2414
0477
[5:05
5172
0651
[6:06
1506
4225
[7:07
4443
6050
[8:10
5126
2651
[9:11
5122
3651
[EOL:12
KBDi
ADD p-212
[DEL:13
JMP 0
67
[SPACE:14
0000
0000
[i:15
0101
0126
[p:16
3700
3424
[-:17
0404
0404
[+:20
0404
0437
[|:21
0000
0077
[#:22
JMP p-102
JMP p-52
[CASE:23
JMP p-53
JMP p-211
[A:24
4477
7744
[B:25
5177
2651
[C:26
4136
2241
[D:27
4177
3641
[E:30
4577
4145
[F:31
4477
4044
[G:32
4136
2645
[H:33
1077
7710
[I:34
7741
0041
[J:35
4142
4076
[K:36
1077
4324
[L:37
0177
0301
[M:40
3077
7730
[N:41
3077
7706
[O:42
4177
7741
[P:43
4477
3044
[Q:44
4276
0376
[R:45
4477
3146
[S:46
5121
4651
[T:47
4040
4077
[U:50
0177
7701
[V:51
0176
7402
[W:52
0677
7701
[X:53
1463
6314
[Y:54
0770
7007
[Z:55
4543
6151
[META
[56
[CASE EOL
2356
1322
[57
[CASE DEL
1200
p-137
[?:60
[CASE SPACE
4020
2055
[=:61
[CASE i
1212
1212
[u:62
[CASE p
0107
0107
[,:63
[CASE -
0500
0006
[.:64
[CASE +
0001
0000
[$:65
[CASE |
4577
7745
[[:66
[CASE #
4177
0000
[_:67
[CASE CASE
0101
0101
[":70
[CASE A
LDHi 3
LDAi
[;:71
[CASE B
14
JMP p-277
[<:72
[CASE C
2410
0042
[>:73
[CASE D
4200
1024
[]:74
[CASE E
0000
7741
[*:75
[CASE F
2050
0050
[::76
[CASE G
[UNDEFINED:77
[Q+AR
[12|27|67



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