1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-05 11:04:02 +00:00

Nova programs.

NOVCON .008 has an assembler error:
NOROOM+5        17011   0       1       19      TMC     4357

TMC supposedly means Too Many Constants.
This commit is contained in:
Lars Brinkhoff
2022-04-18 17:57:12 +02:00
parent cf37871f64
commit 44e74a7f2b
10 changed files with 4206 additions and 0 deletions

View File

@@ -1660,6 +1660,36 @@ expect "MIDAS"
respond "\n" "TS NVMIDS_NVMIDS >\r"
expect ":KILL"
# Nova programs.
respond "*" ":nvmids\r"
expect "NVMDS"
respond "\n" ".LODEE\r"
expect ":KILL"
respond "*" ":nvmids\r"
expect "NVMDS"
respond "\n" "DEBUG\r"
expect ":KILL"
respond "*" ":nvmids\r"
expect "NVMDS"
respond "\n" "DISPLA\r"
expect ":KILL"
respond "*" ":nvmids\r"
expect "NVMDS"
respond "\n" "NDTEST\r"
expect ":KILL"
respond "*" ":nvmids\r"
expect "NVMDS"
respond "\n" "NOVTEN\r"
expect ":KILL"
respond "*" ":nvmids\r"
expect "NVMDS"
respond "\n" "PNOVCN\r"
expect ":KILL"
respond "*" ":nvmids\r"
expect "NVMDS"
respond "\n" "TIME MACHIN\r"
expect ":KILL"
# 11LOGO
respond "*" ":cwd 11logo\r"
respond "*" ":plx143 /H/M/CL BIN,N CREF_SYSTEM,TYI,READ,EVAL,TURTLE,ZEND\r"

View File

@@ -1600,6 +1600,14 @@ nilcom/thread.8 198109291240.03
nilcom/vsaid.57 198002230700.52
nilcom/yesnop.44 198109011735.21
nova/-read-.-this- 197609090702.48
nova/_lodee.0_11 197103061932.19
nova/debug.1 197312212120.12
nova/displa.51 197112071936.51
nova/ndtest.1 197404151501.40
nova/novcon._008 197103061932.19
nova/novten.1 197308282059.02
nova/pnovcn.1 197503090320.44
nova/time.machin 197107061413.42
paulw/algfac.45 198106280247.18
paulw/csimp2.63 198107070349.35
paulw/csimp.299 198106301657.28

BIN
src/nova/_lodee.0_11 Executable file

Binary file not shown.

1081
src/nova/debug.1 Executable file

File diff suppressed because it is too large Load Diff

1554
src/nova/displa.51 Executable file

File diff suppressed because it is too large Load Diff

BIN
src/nova/ndtest.1 Executable file

Binary file not shown.

BIN
src/nova/novcon._008 Executable file

Binary file not shown.

141
src/nova/novten.1 Executable file
View File

@@ -0,0 +1,141 @@
TITLE TEN-NOVA TESTER
TENI==6
TENO==7
;READ A CHAR FROM THE TEN
RTEN: SKPDN TENI
JMP .-1
DIAS 0,TENI
JMP (3)
;WRITE A CHAR TO THE TEN
WTEN: SKPBZ TENO
JMP .-1
DOAS 0,TENO
JMP (3)
;THIS ROUTINE JUST ECHOES
SECHO: IORST
INTDS
ECHO: JSR RTEN
JSR WTEN
JMP ECHO
;THIS ROUTINE SENDS CHARACTERS TO THE TEN AND EXPECTS
; THEM TO BE ECHOED. IT CHECKS THEM FOR ACCURACY.
STEST: IORST ;I/O RESET
INTDS ;DISABLE INTEREUPTS
LDA 2,[ERRLST-1]
STA 2,21
LDA 2,[CHRLST-1]
STA 2,20
LDA 0,[40]
LDA 1,[-100]
STA 0,@20
INC 0,0
INC 1,1(SZR)
JMP .-3
LDA 0,[0]
STA 0,@20 ;TERMINATE CHAR LIST
STA 0,CT1H
STA 0,CT1L
STA 0,CT2L
STA 0,CT2H
STA 2,20 ;REINIT AUTO INC LOC
TEST: READS 0 ;READ CONSOLE SWITCHES
MOVZL% 0,0(SNC) ;IF SIGN BIT ON USE CHAR IN SWITCHES
LDA 0,@20 ;OTHERWISE GET CHAR FROM LIST
LDA 1,[177]
AND 1,0(SNR) ;MASK OFF HIGH BITS
STA 2,20 ;IF CHAR IS ZERO, RESET LOC 20
JSR WTEN ;SEND CHAR TO TEN
MOV 0,1 ;REMEMBER CHAR SENT
ISZ CT2L
JMP TEST1
ISZ CT2L
JMP TEST1
HALT
TEST1: JSR RTEN ;RECIEVE CHAR FROM TEN
LDA 3,[177]
AND 3,0 ;MASK OFF PARITY BIT
SUB% 0,1(SNR) ;IS IT THE ONE WE SENT?
JMP TEST ;YES
HALT ;NO
LDA 2,21 ;SAVE THE GOOD AND BAD CHARS
LDA 3,[16776]
SUBZ 2,3 ;CARRY=1 IF (3) >= (2)
LDA 3,[ERRLST-1]
MOV 3,3(SNC)
STA 3,21
STA 0,@21
STA 1,@21
LDA 2,[CHRLST-1]
ISZ CT1L
JMP TEST
ISZ CT1H
JMP TEST
HALT
CONSTANTS
CT1L: 0 ;COUNT OF ERRORS
CT1H: 0
CT2L: 0 ;COUNT OF CHARS SENT
CT2H: 0
CHRLST: BLOCK 200.
ERRLST: 0
END STEST
;THIS ROUTINE SENDS CHARACTERS TO THE TEN AND EXPECTS
; THEM TO BE ECHOED. IT CHECKS THEM FOR ACCURACY.
STEST: IORST ;I/O RESET
INTDS ;DISABLE INTEREUPTS
LDA 2,[ERRLST]
STA 2,21
LDA 2,[CHRLST]
STA 2,20
LDA 0,[40]
LDA 1,[-100]
STA 0,@20
INC 0,0
INC 1,1(SZR)
JMP .-2
LDA 0,[0]
STA 0,CT1H
STA 0,CT1L
TEST: READS 0 ;READ CONSOLE SWITCHES
MOVZL% 0,0(SNC) ;IF SIGN BIT ON USE CHAR IN SWITCHES
MOV 0,@20 ;OTHERWISE GET CHAR FROM LIST
LDA 1,[377]
AND 1,0(SNR) ;MASK OFF HIGH BITS
STA 2,20 ;IF CHAR IS ZERO, RESET LOC 20
JSR WTEN ;SEND CHAR TO TEN
MOV 0,1 ;REMEMBER CHAR SENT
JSR RTEN ;RECIEVE CHAR FROM TEN
SUB% 0,1(SNR) ;IS IT THE ONE WE SENT?
JMP TEST ;YES
HALT ;NO
LDA 2,21 ;SAVE THE GOOD AND BAD CHARS
LDA 3,[16776]
SUBZ 1,3
LDA 3,[ERRLST]
MOV 3,3(SZC)
STA 3,21
STA 0,@21
STA 1,@21
LDA 2,[CHRLST]
ISZ CT1L
JMP TEST
ISZ CT1H
JMP TEST
HALT
CONSTANTS
CT1L: 0 ;COUNT OF ERRORS
CT1H: 0
CHRLST: BLOCK 200.
ERRLST: 0
END STEST


153
src/nova/pnovcn.1 Executable file
View File

@@ -0,0 +1,153 @@
TITLE NOVA CONSOLE
;console program using the plasma panel
DSP=21
TENI=6
TENO=7
LOC 17000
BEG: INTDS
LDA 0,[414] ;FORM FEED WITH 400 BIT
DOAS 0,DSP
CLOOP: SKPDZ TENI
JMP RCH10
SKPDN TTI
JMP CLOOP
TTYRCH: DIAS 0,TTI
SKPBZ TENO
JMP .-1
DOAS 0,TENO
JMP CLOOP
RCH10: DIAS 0,TENI
LDA 1,[177]
AND 1,0
SUB% 0,1(SNR)
JMP CLOOP
LDA 1,[3]
SUB% 0,1(SNR)
JMP BLK
LDA 1,[15]
SUBZ% 0,1(SNR)
JMP DCH
LDA 1,[40]
SUBZ% 1,0(SNC)
JMP CLOOP
LDA 1,[140]
SUBZ% 0,1(SZC)
JMP DCH
LDA 1,[173]
SUBZ% 0,1(SBN)
JMP CLOOP
LDA 1,[40]
SUB 1,0
DCH: LDA 1,[400]
ADD 1,0
JSR WTD
DOAS 0,DSP
LDA 1,[15+400]
SUB% 1,0(SZR)
JMP CLOOP
LDA 0,[12+400]
JSR WTD
DOAS 0,DSP
JSR CLINE
DIAS 0,TENI
STA 0,SAV
LDA 1,[-36]
JSR CLINE+1
LDA 0,[15+400]
JSR WTD
DOAS 0,DSP
LDA 0,SAV
JMP RCH10+1
SAV: 0
CLINE: LDA 1,[-44]
LDA 0,[40+400]
STA 3,CLINR
CLRLN: JSR WTD
DOAS 0,DSP
INC 1,1(SZR)
JMP CLRLN
JMP @CLINR
CLINR: 0
WTD: STA 3,WTDR
LDA 3,TIMEC ;TIME OUTCONSTANT
STA 3,TIMOTC
WTD1: ISZ TIMOTC
JMP .+2
JMP TIMOT
SKPBZ DSP
JMP WTD1
JMP @WTDR
TIMOT: JMP .+1 ;IN CASE WANT TO PATCH WITH HALT
JMP @WTDR
TIMOTC: 0
TIMEC: 176000
WTDR: 0
CONSTANTS
BLK: JSR GET
MOV 3,1
JSR GET
MOV 3,2
MOVL% 1,1(SNC)
JMP STBLK
L: JSR GET
STA 3,(2)
INC 2,2
INC 1,1(SZR)
JMP L
JMP BLK
STBLK: MOVZR 1,1(SNR)
MOV 1,1(SNC)
HALT
LDA 0,[^G]
DOAS 0,TTO
MOVL% 2,2(SZC)
HALT
JMP (2)
GET: STA 3,GX
STA 2,G2
JSR CH
MOVS 3,2
ADDZL 2,2
JSR CH
REPEAT 3,ADDZL 3,3
ADD 3,2
JSR CH
ADD 2,3
LDA 2,G2
JMP @GX
GX: 0
G2: 0
CH: STA 3,CX
SKPDN 6
JMP .-1
DIAS 3,6
LDA 0,[177]
AND 0,3
MOVZR 0,0
AND 3,0
SUB% 0,3(SNR)
HALT
MOV 0,3
JMP @CX
CX: 0
CONSTANTS
DLIST: 14
LOC 17640
DLEND: 0
123456
END BEG

1239
src/nova/time.machin Normal file

File diff suppressed because it is too large Load Diff