1
0
mirror of https://github.com/wfjm/w11.git synced 2026-03-06 11:34:31 +00:00

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
This commit is contained in:
wfjm
2023-05-19 17:34:57 +02:00
parent 12ada8fbf7
commit 00559faaaa
9 changed files with 41 additions and 23 deletions

View File

@@ -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.

View File

@@ -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 <W.F.J.Mueller@gsi.de>
;
; 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

View File

@@ -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

View File

@@ -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 <W.F.J.Mueller@gsi.de>
//

View File

@@ -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 <W.F.J.Mueller@gsi.de>
//

View File

@@ -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 <W.F.J.Mueller@gsi.de>
//

View File

@@ -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 <W.F.J.Mueller@gsi.de>
#
# 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
}

View File

@@ -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 <W.F.J.Mueller@gsi.de>
;
; 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

View File

@@ -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 <W.F.J.Mueller@gsi.de>
;
@@ -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