1
0
mirror of https://github.com/wfjm/w11.git synced 2026-04-27 04:37:55 +00:00

mcode: use mcall and vecdef, set up proper documentation; Doxygen 1.9.6

This commit is contained in:
wfjm
2023-02-06 15:18:49 +01:00
parent 75a730e3b5
commit 85fde6c5e8
64 changed files with 1283 additions and 185 deletions

View File

@@ -0,0 +1,5 @@
This directory tree contains **DZ11 test codes** and contains
| File | Docu | Comments |
| ---- | ---- | -------- |
| [dz11echo.mac](dz11echo.mac) | [docu](dz11echo.md) | echo test for DZ11 |

View File

@@ -1,16 +1,17 @@
; $Id: dz11echo.mac 1275 2022-08-10 08:10:40Z mueller $
; $Id: dz11echo.mac 1367 2023-02-06 14:11:34Z mueller $
; SPDX-License-Identifier: GPL-3.0-or-later
; Copyright 2019-2022 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
; Copyright 2019-2023 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
;
; Revision History:
; Date Rev Version Comment
; 2023-02-04 1367 1.1.1 use .mcall and vecdef
; 2022-08-09 1275 1.1 use call/return; better ? text, startup message
; 2019-05-25 1152 1.0 Initial version
; 2019-05-05 1147 0.1 First draft
;
; DZ11 echo
; default is direct echo, only modification is to add a LF after CR
; other mode can be selected by two ESC plus a character:
; Default is direct echo, only modification is to add a LF after CR.
; Other mode can be selected by two ESC plus a character:
; ESC + ESC + u -> uppercase
; ESC + ESC + l -> lowercase
; ESC + ESC + o -> octal echo (16 per line)
@@ -59,26 +60,13 @@
;
.include |lib/vec_cpucatch.mac|
.include |lib/vec_devcatch.mac|
. = v..tti ; DL11 rx vector
.word vh.tti
.word cp.ars!cp.pr7 ; use alt-reg-set !
. = v..tto ; DL11 tx vector
.word vh.tto
.word cp.ars!cp.pr7 ; use alt-reg-set !
. = v..kwl ; KW11-L vector
.word vh.kwl
.word cp.ars!cp.pr7 ; use alt-reg-set !
. = v..dzr ; DZ11 rx vector
.word vh.dzr
.word cp.ars!cp.pr7 ; use alt-reg-set !
. = v..dzt ; DZ11 tx vector
.word vh.dzt
.word cp.ars!cp.pr7 ; use alt-reg-set !
.mcall vecdef
;
vecdef v..tti,vh.tti,cp.ars!cp.pr7 ; DL11 rx vector, alt-reg-set !
vecdef v..tto,vh.tto,cp.ars!cp.pr7 ; DL11 tx vector, alt-reg-set !
vecdef v..kwl,vh.kwl,cp.ars!cp.pr7 ; KW11-L vector, alt-reg-set !
vecdef v..dzr,vh.dzr,cp.ars!cp.pr7 ; DZ11 rx vector, alt-reg-set !
vecdef v..dzt,vh.dzt,cp.ars!cp.pr7 ; DZ11 tx vector, alt-reg-set !
;
; stack area -----------------------------------------------
;
@@ -101,13 +89,14 @@ start: mov #stack,sp ; setup stack
clrb @#dz.brk ; no brk
;
spl 7
mov #ti.ie,@#ti.csr ; activate console input
mov #kl.ie,@#kl.csr ; activate clock
mov #<dz.tie!dz.rie!dz.mse>,@#dz.csr
spl 0 ; allow interrupts
mov #ti.ie,@#ti.csr ;;; activate console input
mov #kl.ie,@#kl.csr ;;; activate clock
mov #<dz.tie!dz.rie!dz.mse>,@#dz.csr ;;;
;
mov #msgsta,r1 ; print startup message
call dlwstr
mov #msgsta,r1 ;;; print startup message
call dlwstr ;;;
;
spl 0 ; allow interrupts
;
; blinking lights null task (pattern setup in clock handler)
;

View File

@@ -0,0 +1,61 @@
# DZ11 echo tester
The `dz11echo` code echos any input entered or prints generated output on
all DZ11 lines.
Default is direct echo, only modification is to add a `LF` after `CR`.
Other modes can be selected by two ESC plus a character:
```
ESC + ESC + u -> uppercase
ESC + ESC + l -> lowercase
ESC + ESC + o -> octal echo (16 per line)
ESC + ESC + a -> direct echo
```
The DZ11 device and line state and automatic generation of output can be
controlled and inspected via single character commands entered on the console
```
? help text
c char: only rie
s silo: only sae
a auto: rie or sae
i info: print line status
0-7 define current line
h hangup: set dtr=0
r ready: set dtr=1
b break: set brk=0 and send one char
u unbreak: set brk=1
g generate test output on line
q quit generating test output
```
`0` selects line 0, and a subsequent `g` will start generated output on that
line 0.
If the board has LEDs the light pattern depends on DZ11 device state
```
no lines connected: 2.11BSD style
>0 lines connected: RSX11-M style
ring active: msb: 11111111-00000000 lsb: ring mask
co change: : msb: 10101010-01010101 lsb: co mask
```
### Start on w11
See general notes on
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
Start `dl11echo` on an FPGA board for 2 DZ windows with
```bash
console_starter -d DL0 &
console_starter -d DZ0 &
console_starter -d DZ1 &
ti_w11 <opt> @dz11echo_run.tcl
```
with the options `<opt>` as described in
[Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md).
### Start on SimH
```bash
console_starter -s -d DL0 &
console_starter -s -d DZ0 &
console_starter -s -d DZ1 &
pdp11 dz11echo.scmd
```

View File

@@ -1,4 +1,4 @@
; $Id: dz11echo.scmd 1275 2022-08-10 08:10:40Z mueller $
; $Id: dz11echo.scmd 1367 2023-02-06 14:11:34Z mueller $
;
; Setup file for dz11echo
;
@@ -10,4 +10,7 @@ set cons telnet=5670
att dz -m 5672
;
load dz11echo.lda
;
echo stop with ^E and q
;
cont

View File

@@ -0,0 +1,9 @@
# $Id: dz11echo_run.tcl 1367 2023-02-06 14:11:34Z mueller $
# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright 2023- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
#
rw11::setup_tt cpu0 ndl 1 ndz 8 dzmodcntl 1
cpu0 ldasm -file dz11echo.mac -sym sym
cpu0 cp -stapc $sym(...end)
#
puts "dz11echo running, quit with .qq"