1
0
mirror of https://github.com/wfjm/w11.git synced 2026-02-26 09:03:45 +00:00

final touches for V0.791 release

- exptest/util.tcl: add proc et_tstline{0,1}; add et_exp el sub command
- console_starter: change simh port handling
- simh/setup_w11a_(max|min).scmd: adjust port handling
- docu updates
This commit is contained in:
wfjm
2022-04-24 18:13:35 +02:00
parent a78debd3e9
commit 7ec5be2a30
9 changed files with 81 additions and 22 deletions

View File

@@ -2,6 +2,7 @@
### Table of contents
- Current [HEAD](#user-content-head)
- Release [w11a_V0.791](#user-content-w11a_v0.791)
- Release [w11a_V0.79](#user-content-w11a_v0.79)
- Release [w11a_V0.78](#user-content-w11a_v0.78)
- Release [w11a_V0.77](#user-content-w11a_v0.77)
@@ -24,6 +25,14 @@ The HEAD version shows the current development. No guarantees that
software or firmware builds or that the documentation is consistent.
The full set of tests is only run for tagged releases.
### Summary
### New features
### Changes
### Bug Fixes
<!-- --------------------------------------------------------------------- -->
---
## <a id="w11a_v0.791">2022-04-24: [w11a_V0.791](https://github.com/wfjm/w11/releases/tag/w11a_V0.791) - rev 1229(wfjm)</a>
### Summary
- drop Travis (now defunct)
- add preliminary GitHub Actions support

View File

@@ -18,9 +18,9 @@ process. The communication between the FPGA board and backend server can be via
- Serial port
- via an integrated USB-UART bridge
- on Arty A7, Basys3, Cmod A7 and Nexys4, and Nexys A7 with a `FT2232HQ`,
- on Arty A7, Basys3, Cmod A7 and Nexys4, and Nexys A7 with an `FT2232HQ`,
allows up to 12M Baud
- on Nexys3 with a `FT232R`, allows up to 2M Baud
- on Nexys3 with an `FT232R`, allows up to 2M Baud
- for all FTDI USB-UART it is essential to set them to `low latency` mode.
That was the default for Linux kernels 2.6.32 to 4.4.52. Since about March
2017, one gets kernels with 16 ms default latency again, thanks to
@@ -212,7 +212,7 @@ SimH to reflect the w11a setup as close as possible:
- processor: 4 Mbyte memory (as on Nexys2, Nexys3,...)
- periphery: in addition DZ11, RL11/RL02, RK70/RP06, TM11/TU10
Startup scripts are provided with each oskit. They call the w11a_max
Startup scripts are provided with each oskit. They call the `w11a_max`
configuration, so will show in the emulator what w11a can do when
finished.
@@ -223,7 +223,7 @@ All examples below use the same basic setup
console_starter -s -d DL0 &
console_starter -s -d DL1 &
**Note**: the -s ensures that the port numbers used by SimH are taken!
**Note**: the `-s` ensures that the port numbers used by SimH are taken!
- start the simulator

View File

@@ -1,10 +1,11 @@
#!/usr/bin/perl -w
# $Id: console_starter 1189 2019-07-13 16:41:07Z mueller $
# $Id: console_starter 1200 2019-08-04 16:17:20Z mueller $
# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright 2009-2019 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
#
# Revision History:
# Date Rev Vers Comment
# 2019-08-04 1200 1.2 change simh port handling
# 2019-07-13 1189 1.1.1 drop superfluous exists for $opts
# 2014-08-10 581 1.1 rename to console_starter
# 2010-07-04 312 1.0.3 correct telnet_wrapper path
@@ -63,13 +64,13 @@ if (exists $opts{d}) {
}
if ($opts{s}) { # simh ports
$port = 5670 if ($dev eq "DL");
$port = 5671 if ($dev eq "DZ");
$title = sprintf "\"%s %s\"", $dev, $term;
$port = 5670+$line if ($dev eq "DL"); # telnet cons + 1 line DL mux
$port = 5672 if ($dev eq "DZ"); # 8 line DZ mux
$title = sprintf "\"%s%d %s (%4d)\"", $dev, $line, $term, $port;
} else { # rri ports
$port = 8000+$line if ($dev eq "DL");
$port = 8002+$line if ($dev eq "DZ");
$title = sprintf "\"%s%d %s\"", $dev, $line, $term;
$title = sprintf "\"%s%d %s (%4d)\"", $dev, $line, $term, $port;
}
my $geo_w = 80;

View File

@@ -5,7 +5,7 @@
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "w11 - cpp"
PROJECT_NUMBER = 0.79
PROJECT_NUMBER = 0.791
PROJECT_BRIEF = "Backend server for Rlink and w11"
PROJECT_LOGO =
OUTPUT_DIRECTORY = $(RETRODOXY)/w11/cpp

View File

@@ -5,7 +5,7 @@
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "w11 - tcl"
PROJECT_NUMBER = 0.79
PROJECT_NUMBER = 0.791
PROJECT_BRIEF = "Backend server for Rlink and w11"
PROJECT_LOGO =
OUTPUT_DIRECTORY = $(RETRODOXY)/w11/tcl

View File

@@ -5,7 +5,7 @@
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "w11 - vhd"
PROJECT_NUMBER = 0.79
PROJECT_NUMBER = 0.791
PROJECT_BRIEF = "W11 CPU core and support modules"
PROJECT_LOGO =
OUTPUT_DIRECTORY = $(RETRODOXY)/w11/vhd

View File

@@ -1,6 +1,6 @@
; $Id: setup_w11a_max.scmd 1194 2019-07-20 07:43:21Z mueller $
; $Id: setup_w11a_max.scmd 1200 2019-08-04 16:17:20Z mueller $
; SPDX-License-Identifier: GPL-3.0-or-later
; Copyright 2008-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
; Copyright 2008-2019 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
;
; Setup file for 'maximal' w11a configuration under simh 3.8 and above
;
@@ -30,6 +30,11 @@ set cpu idle
;
set clk 50hz
;
; setup pdp11 console via telnet (default is mixed with simh console)
;
set cons telnet=5670
set cons telnet=buffered
;
; terminal interface options
; the default tti time=0 setting gives 50 chars/sec, slow
; setting time=50000 (means 1 char every 50000 instructions) is much
@@ -45,18 +50,18 @@ set tto 8b
;
set dli enabled
set dli lines=1
att dli 5670
att dli 5671
set dlo0 log=simh_dl1.log
set dlo0 8b
;
set dz enabled
set dz lines=8
set dz vector=310
att dz -m 5671
att dz -m 5672
set dz log=0=simh_dz0.log
set dz log=1=simh_dz1.log
set dz log=2=simh_dz2.log
; dz log file names must be quoted, otherwise they'll be uppercased !
set dz log=3=simh_dz3.log
;
; line printer
;

View File

@@ -1,6 +1,6 @@
; $Id: setup_w11a_min.scmd 1194 2019-07-20 07:43:21Z mueller $
; $Id: setup_w11a_min.scmd 1200 2019-08-04 16:17:20Z mueller $
; SPDX-License-Identifier: GPL-3.0-or-later
; Copyright 2009-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
; Copyright 2009-2019 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
;
; Setup file for 'minimal' w11a configuration under simh 3.8 and above
;
@@ -30,6 +30,11 @@ set cpu idle
;
set clk 50hz
;
; setup pdp11 console via telnet (default is mixed with simh console)
;
set cons telnet=5670
set cons telnet=buffered
;
; terminal interface options
; the default tti time=0 setting gives 50 chars/sec, slow
; setting time=50000 (means 1 char every 50000 instructions) is much
@@ -45,7 +50,7 @@ set tto 8b
;
set dli enabled
set dli lines=1
att dli 5670
att dli 5671
set dlo0 log=simh_dl1.log
set dlo0 8b
;

View File

@@ -1,9 +1,10 @@
# $Id: util.tcl 1196 2019-07-20 18:18:16Z mueller $
# $Id: util.tcl 1209 2021-08-22 13:17:33Z mueller $
# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright 2019- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
#
# Revision History:
# Date Rev Version Comment
# 2019-08-04 1200 1.1 add proc et_tstline{0,1}; add et_exp el sub command
# 2019-07-20 1196 1.0.1 et_tenv_cleanup: use test namespaces
# 2019-06-29 1174 1.0 Initial version
# 2019-06-10 1162 0.1 First draft
@@ -34,6 +35,11 @@ array set genv {
set et_args {}
set et_tests {}
set et_tline0 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#\$%^&*()"
set et_tline1 \
"abcdefghijklmnopqrstuvwxyz`~!@#$%^&*()-_=+\[{\]}\\|;:'\",<.>/?ABCDEFGHIJKLMNOPQRSTUVWXYZ"
set et_tline1d "${et_tline1}${et_tline1}"
#
# --------------------------------------------------------------------
#
@@ -285,7 +291,7 @@ proc et_exp {args} {
switch -glob -- $cmd {
i { set ::spawn_id $val }
t { set ::timeout $val }
s { send $val }
s { send -- $val }
e { if {$val eq "eof"} {
expect {
eof { }
@@ -299,6 +305,19 @@ proc et_exp {args} {
}
}
}
el { if {$val eq "eof"} {
expect {
eof { }
timeout { error "FAIL: missed 'eof'" }
}
} else {
expect {
-ex "$val" { }
eof { error "FAIL: unexpected 'eof' seen" }
timeout { error "FAIL: missed '$val'" }
}
}
}
ct[0-9] { set slot [string range $cmd 2 2]
set ::tenv(c_$val) $expect_out($slot,string) }
cg[0-9] { set slot [string range $cmd 2 2]
@@ -354,3 +373,23 @@ proc et_tenv_cleanup {} {
unset ::tenv
}
}
#
# --------------------------------------------------------------------
#
proc et_tstline0 {lnum} {
return [format "%04d: %s" [expr {$lnum%10000}] $::et_tline0]
}
#
# --------------------------------------------------------------------
#
proc et_tstline1 {lnum {cnum 0}} {
set len [string length $::et_tline1]
set beg [expr {$lnum%$len}]
set end [expr {$beg+67}]
return [format "%02d-%06d: %s" \
[expr {$cnum%100}] \
[expr {$lnum%1000000}] \
[string range $::et_tline1d $beg $end]]
}