mirror of
https://github.com/PDP-10/its.git
synced 2026-03-24 01:27:33 +00:00
150 lines
4.9 KiB
Plaintext
150 lines
4.9 KiB
Plaintext
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
|
||
|