1
0
mirror of https://github.com/PDP-10/its.git synced 2026-04-19 17:23:27 +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