1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-24 09:30:29 +00:00
Files
PDP-10.its/doc/imlac/toggle.info
2020-06-08 11:40:05 +02:00

150 lines
4.9 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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