1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-22 09:03:20 +00:00

Files originally from the archive file IMLAC; IML DEVICE.

This commit is contained in:
Lars Brinkhoff
2020-04-10 20:17:33 +02:00
parent 7eb346bc70
commit 5d34b6a5d7
2 changed files with 206 additions and 0 deletions

150
doc/imlac/toggle.info Normal file
View File

@@ -0,0 +1,150 @@
TITLE TOGGLE -- Short toggle-in diagnostics (PDL)
; Do not assemble this file!
; This file contains several useful diagnostics that are intended to
; be toggled in. They are mostly TTY testers of one sort or another,
; so it would be stupid to try and assemble and load them in almost
; all cases!
; Any of them (except the 8k display test) may be toggled in at 10000
; instead of 0 to use them in conjunction with an SSV.
;...................................................................
; 1) TTY Continuous Send, No Flag Check
; This program sends the character stored in location 101 at a rate
; determined by the console switch settings. The higher the number
; in the switches, the longer the wait between transmits. It is mostly
; useful in conjunction with a scope to see if characters are in fact
; being transmitted. With switch setting of 400 octal there will be
; approximately 1 ms. between transmits.
LOC 0 or 10000
LDA ; 0/ 100041 ; read switches
CIA ; 1/ 100006 ; make into negative number
DAC 100 ; 2/ 020100 ; save it
ISZ 100 ; 3/ 030100 ; don't skip until runs out
JMP .-1 ; 4/ 010003 ; loop
LAC 101 ; 5/ 060101 ; get character to send
TPC ; 6/ 001043 ; send character
JMP 0 ; 7/ 010000 ; loop to read switches
;...................................................................
; 2) Continuous Send on Count in Memory
; This program is similar to (1), but has the delay count stored in
; memory and read the character to send from the data switches.
LOC 0 or 10000
LAC 10 ; 0/ 060010 ; get delay time
CIA ; 1/ 100006 ; make it negative
DAC 100 ; 2/ 020100 ; save it
ISZ 100 ; 3/ 030100 ; delay over?
JMP .-1 ; 4/ 010003 ; no
LDA ; 5/ 100041 ; yes, read switches
TPC ; 6/ 001043 ; send character
JMP 0 ; 7/ 010000 ; loop
10000 ; 10/ 010000 ; delay time
;...................................................................
; 3) Continuous Send on Flag
; This program sends the data switch contents continuously, on the
; TTY done flag. If the TTY done flag is malfunctioning, the program
; will stay in tight loop at 2-3.
LOC 0 or 10000
LDA ; 0/ 100041 ; read switches
TPC ; 1/ 001043 ; send data switches
TSF ; 2/ 002100 ; done sending?
JMP .-1 ; 3/ 010002 ; no
JMP 0 ; 4/ 010000 ; loop
;...................................................................
; 4) Echo Test
; This program reads the console switches and transmits the result,
; then waits for it to be echoed. It uses the TTY transmit and TTY
; read flags. The character last received from the TTY is displayed
; in the accumulator lights. If the TTY done flag is not working,
; the program will loop at 0-1. If the TTY receive flag is not work-
; ing, the program will loop at 4-5. If the characters being received
; are not the same as those being sent, the ac will be different from
; the value in the data switches.
LOC 0 or 10000
TSF ; 0/ 002100 ; tty done sending?
JMP .-1 ; 1/ 010000 ; no
LDA ; 2/ 100041 ; read character to send
TPC ; 3/ 001043 ; send character
RSF ; 4/ 002040 ; tty has character?
JMP .-1 ; 5/ 010004 ; no
CLA ; 6/ 100001 ; clear ac for read
RRC ; 7/ 001033 ; read character from tty
JMP 0 ; 10/ 010000 ; loop
;...................................................................
; 5) Ding!
; This program dings the bell for each character received. Any length
; of ringing desired may be had by increasing the number of BELs put
; in before the JMP 0. The character read is displayed in the ac.
LOC 0 or 10000
RSF ; 0/ 002040 ; tty has char?
JMP .-1 ; 1/ 010000 ; no
CLA ; 2/ 100001 ; clear ac
RRC ; 3/ 001033 ; read character
BEL ; 4/ 001711 ; ding!
JMP 0 ; 5/ 010000 ; loop
;...................................................................
; 6) 8k Display Addressing Test
; This program tests the DMS IMLAC 8K Display Addressing Mode. If
; this mode is working, a small dot will appear near the center of
; the screen. If the mode is not working, no dot will appear. For
; this test to work the machine should also have suppressed grid
; hardware (or replace the DGD by a DJMS DWAIT routine). This will
; be neccessary if the machine is an Alpha machine, in which case the
; dot will appear in the lower left as well.
LOC 100
LAW 106 ; 100/ 004106 ; display list address
DLA ; 101/ 001003 ; load dpc
DON ; 102/ 003100 ; start display
DSN ; 103/ 102010 ; display off?
JMP .-1 ; 104/ 010103 ; no
JMP 100 ; 105/ 010100 ; yes, loop
DHVS 1 ; 106/ 006005 ; startup
DADR ; 107/ 004001 ; turn on 8k addressing
DGD ; 110/ 777771 ; part of set point
DLXA 1000 ; 111/ 011000 ; set point to center
DLYA 1000 ; 112/ 121000 ; of screen
DJMP .+10001 ; 113/ 160114 ; jump to high core
DHLT ; 114/ 000000 ; halt
LOC .+10000
DDSP ; 10114/ 004020 ; display dot
DHLT ; 10115/ 000000 ; halt
;...................................................................
END
 

56
src/imsrc/tst8k4.1 Normal file
View File

@@ -0,0 +1,56 @@
TITLE TST8K4 (PDS4 VERSION)
MAXADR=37777
PDS4=1
MOUSE=0
.LSTOF
.INSRT DSK:IMLAC;IMDEFS >
.LSTON
.ADDR.=1
; this file contains 8k addressing mod tests:
; it is started at location 100. Bit 15 dataswitch toggles DADR
; instruction to DOPR+0 or DOPR+1.
; a) if 8k addressing DOES NOT____ ___ work, a small square will be drawn
; in the lower left corner of the screen, even with DSB 15 up.
; b) if 8k addressing DOES____ work, a small square will be drawn in the
; upper right corner of the screen.
LOC 100
START: LDA
AND [1]
SBR
DAC MODE
LAW DLIST
DLA
DON
DSN
JMP .-1
JMP START
DLIST: DSTS 1
MODE: DADR
DJMP HILIST
LOLIST: DGD
DLXA 100
DLYA 100
DLV B,100,0
DLV B,0,100
DLV B,-100,0
DLV B,0,-100
DHLT
LOC LOLIST+10000
HILIST: DGD
DLXA 3100
DLYA 3100
DLV B,100,0
DLV B,0,100
DLV B,-100,0
DLV B,0,-100
DHLT
END START