From 00559faaaa178149c75d423d8cdfbb7834340ee3 Mon Sep 17 00:00:00 2001 From: wfjm Date: Fri, 19 May 2023 17:34:57 +0200 Subject: [PATCH] minor updates - tools - asm-11/lib/defs_xu.mac: add xt.* and xr.* definitions - oskit/211bsd_rk/211bsd_rk_boot.ecmd: add tt1: mode: definition - tcl/rw11/shell.tcl: update '.h' and '.ha' text output - tcode/cpu_basics.mac: A4.4: change exemptions, e11 now like 11/70 and w11 --- doc/simh_diff_jsr_sp.md | 2 +- tools/asm-11/lib/defs_xu.mac | 20 +++++++++++++++++--- tools/oskit/211bsd_rk/211bsd_rk_boot.ecmd | 3 ++- tools/src/librw11/Rw11CntlDEUNA.cpp | 2 +- tools/src/librw11/Rw11CntlDEUNA.hpp | 2 +- tools/src/librwxxtpp/RtclRw11CntlDEUNA.cpp | 2 +- tools/tcl/rw11/shell.tcl | 17 +++++++++-------- tools/tcode/cpu_basics.mac | 12 +++++++----- tools/tcode/cpu_mmu.mac | 4 ++-- 9 files changed, 41 insertions(+), 23 deletions(-) diff --git a/doc/simh_diff_jsr_sp.md b/doc/simh_diff_jsr_sp.md index 8e8019ad..2d395392 100644 --- a/doc/simh_diff_jsr_sp.md +++ b/doc/simh_diff_jsr_sp.md @@ -50,6 +50,6 @@ acceptable deviation from 11/70 behavior. The w11 correctly implements the 11/70 behavior. This is verified in a [tcode](../tools/tcode/README.md), the test is modified when executed on SimH -(see [cpu_details](../tools/tcode/cpu_basics.mac) tests A4.4). +(see [cpu_basics](../tools/tcode/cpu_basics.mac) tests A4.4). Tested with SimH V3.12-3. diff --git a/tools/asm-11/lib/defs_xu.mac b/tools/asm-11/lib/defs_xu.mac index 313bf7cc..16322561 100644 --- a/tools/asm-11/lib/defs_xu.mac +++ b/tools/asm-11/lib/defs_xu.mac @@ -1,9 +1,9 @@ -; $Id: defs_xu.mac 1376 2023-02-20 15:05:03Z mueller $ +; $Id: defs_xu.mac 1387 2023-03-27 07:29:02Z mueller $ ; SPDX-License-Identifier: GPL-3.0-or-later ; Copyright 2017-2023 by Walter F.J. Mueller ; ; definitions for DEUNA controler -; uses also xf,.... name prefixes for clarity +; uses also xf,xm,xr,xs,xt,r2,r3,t2,t3 name prefixes for clarity ; ; vector address/priority definition ; @@ -91,7 +91,14 @@ xs.rco=000100 ; RRAM: RAM code operational xs.rev=000077 ; RREV: ROM revisions (field mask) ; -; transmit descriptor word 2 and word 3 +; transmit descriptor offsets +; + xt.len=0 ; SLEN[15:00] segment length + xt.buf=2 ; SEGB[15:00] segment base MDB + xt.fl2=4 ; flags and SEGB[17:16] + xt.fl3=6 ; flags +; +; transmit descriptor word 2 (xt.fl2) and word 3 (xt.fl3) ; t2.own=100000 ; OWN: if 1 owned by DEUNA t2.ers=040000 ; ERRS: error summary @@ -107,6 +114,13 @@ t3.lca=004000 ; LCAR: loss of carrier t3.rle=002000 ; RTRY: retry limit exceeded ; +; receive descriptor offsets +; + xr.len=0 ; SLEN[15:01] segment length + xr.buf=2 ; SEGB[15:00] segment base MDB + xr.fl2=4 ; flags and SEGB[17:16] + xr.fl3=6 ; flags and MLEN +; ; receive descriptor word 2 and word 3 ; r2.own=100000 ; OWN: if 1 owned by DEUNA diff --git a/tools/oskit/211bsd_rk/211bsd_rk_boot.ecmd b/tools/oskit/211bsd_rk/211bsd_rk_boot.ecmd index 066e691b..16900d01 100644 --- a/tools/oskit/211bsd_rk/211bsd_rk_boot.ecmd +++ b/tools/oskit/211bsd_rk/211bsd_rk_boot.ecmd @@ -1,4 +1,4 @@ -; $Id: 211bsd_rk_boot.ecmd 1381 2023-03-12 12:16:45Z mueller $ +; $Id: 211bsd_rk_boot.ecmd 1388 2023-05-19 15:18:42Z mueller $ ; ; Setup file for 2.11BSD RK based system ; @@ -7,6 +7,7 @@ ; @../../e11/setup_w11a_max.ecmd set tt0: mode=9600,N,7,1 +set tt1: mode=9600,N,7,1 ; mount dk0: 211bsd_rk_root.dsk /RK05 mount dk1: 211bsd_rk_swap.dsk /RK05 diff --git a/tools/src/librw11/Rw11CntlDEUNA.cpp b/tools/src/librw11/Rw11CntlDEUNA.cpp index 5f9fbec4..d11cb55d 100644 --- a/tools/src/librw11/Rw11CntlDEUNA.cpp +++ b/tools/src/librw11/Rw11CntlDEUNA.cpp @@ -1,4 +1,4 @@ -// $Id: Rw11CntlDEUNA.cpp 1379 2023-02-24 09:17:23Z mueller $ +// $Id: Rw11CntlDEUNA.cpp 1380 2023-02-25 13:07:07Z mueller $ // SPDX-License-Identifier: GPL-3.0-or-later // Copyright 2014-2023 by Walter F.J. Mueller // diff --git a/tools/src/librw11/Rw11CntlDEUNA.hpp b/tools/src/librw11/Rw11CntlDEUNA.hpp index 6c71cc76..26adbe19 100644 --- a/tools/src/librw11/Rw11CntlDEUNA.hpp +++ b/tools/src/librw11/Rw11CntlDEUNA.hpp @@ -1,4 +1,4 @@ -// $Id: Rw11CntlDEUNA.hpp 1379 2023-02-24 09:17:23Z mueller $ +// $Id: Rw11CntlDEUNA.hpp 1380 2023-02-25 13:07:07Z mueller $ // SPDX-License-Identifier: GPL-3.0-or-later // Copyright 2014-2023 by Walter F.J. Mueller // diff --git a/tools/src/librwxxtpp/RtclRw11CntlDEUNA.cpp b/tools/src/librwxxtpp/RtclRw11CntlDEUNA.cpp index e1d8d141..a2d3317c 100644 --- a/tools/src/librwxxtpp/RtclRw11CntlDEUNA.cpp +++ b/tools/src/librwxxtpp/RtclRw11CntlDEUNA.cpp @@ -1,4 +1,4 @@ -// $Id: RtclRw11CntlDEUNA.cpp 1379 2023-02-24 09:17:23Z mueller $ +// $Id: RtclRw11CntlDEUNA.cpp 1380 2023-02-25 13:07:07Z mueller $ // SPDX-License-Identifier: GPL-3.0-or-later // Copyright 2014-2023 by Walter F.J. Mueller // diff --git a/tools/tcl/rw11/shell.tcl b/tools/tcl/rw11/shell.tcl index f2929d2f..cb706ac5 100644 --- a/tools/tcl/rw11/shell.tcl +++ b/tools/tcl/rw11/shell.tcl @@ -1,10 +1,10 @@ -# $Id: shell.tcl 1374 2023-02-18 10:30:46Z mueller $ +# $Id: shell.tcl 1387 2023-03-27 07:29:02Z mueller $ # SPDX-License-Identifier: GPL-3.0-or-later # Copyright 2015-2023 by Walter F.J. Mueller # # Revision History: # Date Rev Version Comment -# 2023-02-17 1374 2.2.7 update '.ha' text output +# 2023-03-26 1387 2.2.7 update '.h' and '.ha' text output # 2023-01-31 1362 2.2.6 add rw11::shell_attnmuted to mute CPU attn messages # 2018-10-21 1058 2.2.5 add after#\d+ scrubber (a real HACK, sorry) # 2017-04-23 885 2.2.4 adopt .cm* to new interface @@ -581,7 +581,7 @@ namespace eval rw11 { append rval "\n .d aspec vals ; deposit" append rval "\n ; see .ha for help on aspec format" append rval "\nCPU hardware breakpoint:" - append rval "\n .bs ind typ lo hi ; set bpt" + append rval "\n .bs ind typ lo hi ; set bpt; typ: \[ksu\]?\[rwi\]+" append rval "\n .br ?ind? ; remove bpt" append rval "\n .bl ; list bpt" if {[$shell_cpu get hascmon]} { @@ -592,14 +592,14 @@ namespace eval rw11 { } if {[$shell_cpu get hasibmon]} { append rval "\nibus monitor:" - append rval "\n .ime ; ibmon enable; mode: \[lrcnRW\]*" + append rval "\n .ime ?mode? ; ibmon enable; mode: \[lrcnRW\]*" append rval "\n .imd ; ibmon disable" append rval "\n .imf ?lo? ?hi? ; ibmon filter" append rval "\n .iml ?nent? ; ibmon list" } if {[rlc get hasrbmon]} { append rval "\nrbus monitor:" - append rval "\n .rme ; rbmon enable; mode: \[nRW\]*" + append rval "\n .rme ?mode? ; rbmon enable; mode: \[nRW\]*" append rval "\n .rmd ; rbmon disable" append rval "\n .rmf ?lo? ?hi? ; rbmon filter" append rval "\n .rml ?nent? ; rbmon list" @@ -610,6 +610,7 @@ namespace eval rw11 { append rval "\nmiscellaneous:" append rval "\n .hr ?name? ?am? ; list ibus registers; am: \[rl\]\[rw\]" append rval "\n .h ; this help text" + append rval "\n .ha ; help text on .e,.g,.d aspec format" append rval "\n .q ; quit shell, return to ti_rri" append rval "\n .qq ; quit ti_rri unconditionally" return $rval @@ -635,9 +636,9 @@ namespace eval rw11 { append rval "\n" append rval "\nopt format (multiple opt's allowed)" append rval "\n nnn - repeat count (decimal, in words)" - append rval "\n l - for iopage access: loc (as seen by CPU)" + append rval "\n l - for iopage access: loc (as seen by CPU) (default)" append rval "\n r - for iopage access: rem (as seen by rlink)" - append rval "\n p - for memory access: physical (16bit)" + append rval "\n p - for memory access: physical (16bit) (default)" append rval "\n e - for memory access: extended (22 bit)" append rval "\n u - for memory access via ubmap (22 bit)" append rval "\n MS - for memory access via mmu mode=M and space=S" @@ -657,7 +658,7 @@ namespace eval rw11 { append rval "\n .e rpa.cs1 - register rhrp.cs1" append rval "\n .e rpa.cs1/12/r - 12 regs starting rpa.cs1, rlink view" append rval "\n .e @pc/8/ci/i - use pc, mmu in ci mode, 8 words as instructions" - append rval "\n .e @r0/8/cd - use r0. mmu in cd mode, show 8 words" + append rval "\n .e @r0/8/cd - use r0, mmu in cd mode, show 8 words" return $rval } diff --git a/tools/tcode/cpu_basics.mac b/tools/tcode/cpu_basics.mac index fc2611c1..df8a8066 100644 --- a/tools/tcode/cpu_basics.mac +++ b/tools/tcode/cpu_basics.mac @@ -1,9 +1,10 @@ -; $Id: cpu_basics.mac 1358 2023-01-27 10:37:36Z mueller $ +; $Id: cpu_basics.mac 1388 2023-05-19 15:18:42Z mueller $ ; SPDX-License-Identifier: GPL-3.0-or-later ; Copyright 2015-2023 by Walter F.J. Mueller ; ; Revision History: ; Date Rev Version Comment +; 2023-03-27 1388 1.1.1 A4.4: change exemptions, e11 now like 11/70 and w11 ; 2023-01-27 1358 1.1 use .mcall and mlib ; 2023-01-07 1347 1.0 Initial version ; 2015-08-30 710 0.1 First draft @@ -988,12 +989,13 @@ ta0404: hcmpeq sp,#stack ; check stack is default hcmpeq sp,200$ ; check loaded SP mov #stack-2,sp ; restore stack to where jsr pushed it ; -; w11 saves original sp, like 11/70, SimH,e11 save sp after it was decremented +; w11 saves original sp, like 11/70, and e11 +; SimH saves sp after it was decremented ; mov #stack,r1 - tstb systyp ; check environment - bge 210$ ; >=0 is on w11 - sub #2,r1 ; if not, subtract 2 (now sp-2) + cmpb systyp,#sy.sih ; on SimH ? + bne 210$ + sub #2,r1 ; if yes, subtract 2 (now sp-2) 210$: hcmpeq (sp)+,r1 ; check jsr stored stack pointer hcmpeq 100$,#123 ; check writes via SP in routine hcmpeq 100$+2,#345 ; check writes via SP in routine diff --git a/tools/tcode/cpu_mmu.mac b/tools/tcode/cpu_mmu.mac index fb7a8800..dc47270a 100644 --- a/tools/tcode/cpu_mmu.mac +++ b/tools/tcode/cpu_mmu.mac @@ -1,4 +1,4 @@ -; $Id: cpu_mmu.mac 1385 2023-03-23 08:27:44Z mueller $ +; $Id: cpu_mmu.mac 1386 2023-03-25 18:35:46Z mueller $ ; SPDX-License-Identifier: GPL-3.0-or-later ; Copyright 2022-2023 by Walter F.J. Mueller ; @@ -1545,7 +1545,7 @@ tc0206: mov kipdr0,sipdr0 ; super page 0 1-to-1 hcmpeq 2(sp),#cp.cms!cp.pr2 ; PS: should be code signature ; ; check mmr0,mmr1,mmr2 instruction complete (unless on SimH) -; Note: w11 has one SP decrements in the case, 11/70 and e11 two. +; Note: w11 has one SP decrement in the case, 11/70 and e11 have two. cmpb systyp,#sy.sih beq 490$ cmpb systyp,#sy.e11