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

docu updates [skip ci]

This commit is contained in:
wfjm
2023-02-04 12:00:19 +01:00
parent fb7122822b
commit 75a730e3b5
26 changed files with 401 additions and 400 deletions

View File

@@ -23,31 +23,38 @@ and a rather complete set of UNIBUS peripherals
and last but not least a cache and memory controllers for SRAM, PSRAM and
SDRAM (via Xilinx MIG core).
The design is **FPGA proven**, runs currently on Digilent
[Arty A7](rtl/sys_gen/w11a/arty),
[Basys3](rtl/sys_gen/w11a/basys3),
[Cmod A7](rtl/sys_gen/w11a/cmoda7),
[Nexys A7](rtl/sys_gen/w11a/nexys4d),
[Nexys4](rtl/sys_gen/w11a/nexys4),
[Nexys3](rtl/sys_gen/w11a/nexys3),
[Nexys2](rtl/sys_gen/w11a/nexys2) and
[S3board](rtl/sys_gen/w11a/s3board)
[Arty A7](rtl/sys_gen/w11a/arty/README.md),
[Basys3](rtl/sys_gen/w11a/basys3/README.md),
[Cmod A7](rtl/sys_gen/w11a/cmoda7/README.md),
[Nexys A7](rtl/sys_gen/w11a/nexys4d/README.md),
[Nexys4](rtl/sys_gen/w11a/nexys4/README.md),
[Nexys3](rtl/sys_gen/w11a/nexys3/README.md),
[Nexys2](rtl/sys_gen/w11a/nexys2/README.md) and
[S3board](rtl/sys_gen/w11a/s3board/README.md)
boards and boots 5th Edition UNIX, 2.11BSD UNIX, as well as various DEC
operating systems from provided [oskits](tools/oskit/README.md).
The current implementation forwards the IO requests from all devices via a
fast serial connection to a backend server on a PC, which translates these
requests and maps them to contemporary interfaces.
True standalone systems are on the project roadmap.
For more information look into:
- w11 project [home page](https://wfjm.github.io/home/w11/)
and [blog](https://wfjm.github.io/blogs/w11/)
- [change log](doc/CHANGELOG.md)
and [installation notes](doc/INSTALL.md)
- guides to build bit files and test benches
- w11 project [home page](https://wfjm.github.io/home/w11/), especially the
sections on [feature set](https://wfjm.github.io/home/w11/impl/) and
[overall architecture](https://wfjm.github.io/home/w11/impl/architecture.html).
- w11 project [blog](https://wfjm.github.io/blogs/w11/).
- [change log](doc/CHANGELOG.md).
and [installation notes](doc/INSTALL.md).
- guides to build bit files and test benches.
with [Xilinx Vivado](doc/README_buildsystem_Vivado.md)
and [Xilinx ISE](doc/README_buildsystem_ISE.md)
and [Xilinx ISE](doc/README_buildsystem_ISE.md).
- guides to [run test benches](doc/w11a_tb_guide.md)
and to [boot operating systems](doc/w11a_os_guide.md)
- known [issues](doc/README_known_issues.md)
- known [differences](doc/w11a_known_differences.md)
and to [boot operating systems](doc/w11a_os_guide.md).
- known [issues](doc/README_known_issues.md).
- known [differences](doc/w11a_known_differences.md).
- the impatient readers can try their luck with the
[quick start guide](doc/INSTALL_quickstart.md)
[quick start guide](doc/INSTALL_quickstart.md).
A short description of the directory layout
[is provided separately](https://wfjm.github.io/home/w11/impl/dirlayout.html),

View File

@@ -1,33 +1,18 @@
# Installation of the SimH pdp11 simulator
## SimH Classic
The w11 project uses the pdp11 simulator from the
[SimH](https://en.wikipedia.org/wiki/SIMH) project. The project was started
by Bob Supnik under [simh.trailing-edge.com](http://simh.trailing-edge.com).
This site contains the "classic" version of SimH, the 3.X stream, with v3.11-1
as the last release. Since about 2014 the project is continued by a team led by
Mark Pizzolato as GitHub project [simh/simh](https://github.com/simh/simh).
The new, functionally much enhanced, version is called V4.*. However, the
team decided not to provide releases anymore, just a stream of commits,
by Bob Supnik under [simh.trailing-edge.com](http://simh.trailing-edge.com),
is still maintained, and offers the 3.X stream of SimH releases.
## GitHub simh/simH
Since about 2014 the project is expanded and continued as GitHub project
[simh/simh](https://github.com/simh/simh) led by Mark Pizzolato.
The new, functionally much enhanced, version is called V4.*. However, this
project decided not to provide releases anymore, just a stream of commits,
more than 4200 as of April 2022.
Debian and Ubuntu offer `simh` packages, but with the obsolete version V3.8.1,
released in February 2009. The main obstacle to the inclusion of newer
versions is, according to the Debian maintainer, the unclear license situation.
The only practical way to obtain the pdp11 simulator is by installation from
sources. The GitHub repository contains also the classical versions, nicely
marked with tags.
The `scmd` scripts provided in the w11 project were originally developed for
SimH 3.8, and worked for SimH 3.9 and later releases. The SimH 4.* development
over time became incompatible with the `scmd` scripts used for w11 verification.
See issue [#30](https://github.com/wfjm/w11/issues/30) for details.
The bottom line at the moment:
- install SimH from [simh/simh](https://github.com/simh/simh)
- checkout `v3.11-1`
## SimH license changes
The maintainer of the [simh/simh](https://github.com/simh/simh) GitHub project,
[Mark Pizzolato](https://github.com/markpizz), decided on May 15th, 2022 with
commit [ce2adce6](https://github.com/simh/simh/commit/ce2adce6) to change the
@@ -42,10 +27,7 @@ SimH mailing list [simh@groups.io](https://groups.io/g/simh), starting with post
See especially Bob Supnik's post
[SimH licensing and the state of the project](https://groups.io/g/simh/topic/simh_licensing_and_the_state/91173868).
Given that situation using version `v3.11-1` as described above is the
only prudent option for the time being.
## Open-SimH relaunch
## GitHub open-simh/simh
The post
[Announcing the Open SIMH project](https://groups.io/g/simh/topic/91528716)
announed on 2022-06-03 a re-launch of SimH as FOSS project.
@@ -53,8 +35,20 @@ A new repository [open-simh/simh](https://github.com/open-simh/simh#readme)
has been set up and provides the SimH code-base under an
[MIT-style licence](https://en.wikipedia.org/wiki/MIT_License), see
[LICENSE.txt](https://github.com/open-simh/simh/blob/master/LICENSE.txt).
Releases are being prepared, but not offered as of 2023-02-03.
The community will certainly move to open-simh, so best solution is currently
- install SimH from [open-simh/simh](https://github.com/simh/open-simh)
- checkout `v3.11-1`
## Debian packages
Debian and Ubuntu offer `simh` packages, but with the obsolete version V3.8.1,
released in February 2009. The main obstacle to the inclusion of newer
versions is, according to the Debian maintainer, the unclear license situation.
## Installing SimH
The only practical way to obtain an up-to-date SimH PDP-11 simulator is by
installation from sources. The currently best solution is to install the
latest SimH classic release, URL see above.
## SimH startup script provided in the w11 project
The `scmd` scripts provided in the w11 project were originally developed for
SimH Classic 3.8, and worked for SimH Classic 3.9 and later releases.
They should also work for simh/simh and open-simh/simh, but are currently
most tested with Classic.

View File

@@ -1,20 +1,8 @@
# Known issues
Notes
- resolved issues are summarized in [resolved issues](README_resolved_issues.md)
- resolved issues are summarized in [resolved issues](README_resolved_issues.md).
- the case id indicates the release when the issue was first recognized.
### V0.791-5 {[issue #37](https://github.com/wfjm/w11/issues/37)} -- PSW changed after MMU aborts in dstw flows
The dstw flow updates the condition codes before the the last possible
MMU abort. Example is the ccwe = 1 in s_dstw_def.
The condition codes are therefore changed when an MMU abort happens.
Detected in a code rewiew.
Not practical consequences because only CLR, SXT, and MOV are affected.
Only SXT depends on a condition code (N), but doesn't change this cc.
Therefore, an instruction re-execution will always give the correct result.
But clearly a BUG, the condition codes must not change in case of MMU aborts.
### V0.50-2 {[issue #28](https://github.com/wfjm/w11/issues/28)} -- RK11: write protect action too slow
Some simple RK11 drivers, especially in test codes, don't poll for completion

View File

@@ -1,5 +1,22 @@
# Resolved issues
### V0.791-5 {[issue #37](https://github.com/wfjm/w11/issues/37)} -- PSW changed after MMU aborts in dstw flows
#### Original Issue
The dstw flow updates the condition codes before the the last possible
MMU abort. Example is the ccwe = 1 in s_dstw_def.
The condition codes are therefore changed when an MMU abort happens.
Detected in a code rewiew.
Not practical consequences because only CLR, SXT, and MOV are affected.
Only SXT depends on a condition code (N), but doesn't change this cc.
Therefore, an instruction re-execution will always give the correct result.
But clearly a BUG, the condition codes must not change in case of MMU aborts.
#### Fix
Fixed with commit [b59d545](https://github.com/wfjm/w11/commit/b59d545),
see [ECO-039](ECO-039-cc_and_aborts.md).
### V0.50-3 {[issue #27](https://github.com/wfjm/w11/issues/27)} -- CPU: no mmu trap when instruction which clears trap enable itself causes a trap
#### Original Issue

73
doc/w11a_backend_setup.md Normal file
View File

@@ -0,0 +1,73 @@
# Rlink and Backend Server setup
After a board has been [connected and configured](w11a_board_connection.md)
and `vt100` emulator windows have been started with `console_starter`,
the backend server can be started and an [oskits](../tools/oskit/README.md)
or a _bare metal_ code like an [mcode](../tools/mcode/README.md) be executed.
The first step is to ensure that the switches on the FPGA board have the correct
setting for w11 operation. The usage of the available switches, bottons and
LEDs is documented in the top entity of the respective design. The default
setting for w11 operation is given in the next section.
Finally, the backend server is started the `ti_w11` quick start wrapper script
```
ti_w11 <opt> <script>
```
with options `<opt>` that define to connection setup to the board and
the a Tcl script `<script>` that defines the system configuration.
Alternatively, `ti_w11` can start a GHDL based simulation model for
a w11 design.
The default switch settings and options for FPGA board connections and
GHDL simulation runs are
| w11 design | Link | SWI | FPGA<br>Options | GHDL<br>Options | Comment |
| ---------- | ---- | --: | --------------- | :-------------: | ------- |
| [sys_w11a_arty](../rtl/sys_gen/w11a/arty/README.md) | FT2232HQ | 0110 | -tuD,12M,break,xon | -ar | |
| [sys_w11a_as7](../rtl/sys_gen/w11a/artys7/README.md) | FT2232HQ | 0110 | -tuD,12M,break,xon | | |
| [sys_w11a_b3](../rtl/sys_gen/w11a/basys3/README.md) | FT2232HQ | 00000000 00101000 | -tuD,12M,break,xon | -b3 | 176 kB memory only |
| [sys_w11a_c7](../rtl/sys_gen/w11a/cmoda7/README.md) | FT2232HQ | n/a | -tuD,12M,break,xon | -c7 | 672 kB memory only |
| [sys_w11a_n4d](../rtl/sys_gen/w11a/nexys4d/README.md) | FT2232HQ | 00000000 00101000 | -tuD,12M,break,cts | -n4d | |
| [sys_w11a_n4](../rtl/sys_gen/w11a/nexys4/README.md) | FT2232HQ | 00000000 00101000 | -tuD,12M,break,cts | -n4 | |
| [sys_w11a_n3](../rtl/sys_gen/w11a/nexys3/README.md) | FX2 | 00101100 | -u | -n3 | |
| [sys_w11a_n2](../rtl/sys_gen/w11a/nexys2/README.md) | FX2 | 00101100 | -u | -n2 | |
| [sys_w11a_s3](../rtl/sys_gen/w11a/s3board/README.md) | USB-RS232 | 00101010 | -tu&lt;dn&gt;,460k,break,xon | -s3 | |
Notes:
- a detailed documentation `ti_w11` is available via `man ti_w11`.
- the letter after `-tu` is either the serial device number,
denoted as `<dn>`, or the letter `D` for auto-detection of
Digilent boards with an FT2232HQ based interface.
- for Arty A7, Basys3, Cmod A7, Nexys4, and Nexys A7 board simply use `D`
- otherwise check with `ls /dev/ttyUSB*` to see what is available
- `<dn>` is typically '1' if a single `FT2232HQ` based board is connected,
like an Arty, Basys3, Cmod A7, or Nexys4. Initially, two ttyUSB devices
show up, the lower is for FPGA configuration and will disappear when
the Vivado hardware server is used once. The upper provides the data
connection.
- `<dn>` is typically '0' if only a single USB-RS232 cable is connected
- the LEDs are used, if available, by default to show the PDP-11 display register.
On boards with less then 16 LEDs the pattern is folded. Other usages are on some
boards available with SWI(3)
0 -> system status
1 -> DR emulation --> OS specific light patterns
- the hex display, if available, can be controlled with SWI(5:4)
- boards with a 4 digit display
00 -> serial link rate divider
01 -> PC
10 -> DISPREG
11 -> DR emulation
- boards with 8 digit display
SWI(5) select for DSP(7:4) display
0 -> serial link rate divider
1 -> PC
SWI(4) select for DSP(3:0) display
0 -> DISPREG
1 -> DR emulation

View File

@@ -0,0 +1,38 @@
# FPGA Board connection setup
The recommended connection setups for configuration and operation the supported
boards are
- [Arty A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_arty) or
[Arty S7](https://wfjm.github.io/home/w11/inst/boards.html#digi_artys7)
- connect USB cable to micro-USB connector labeled 'J10'
- to configure via Vivado hardware server `make <sys>.vconfig`
- [Basys3](https://wfjm.github.io/home/w11/inst/boards.html#digi_basys3)
- connect USB cable to micro-USB connector labeled 'PROG'
- to configure via ivado hardware server `make <sys>.vconfig`
- [Cmod A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_cmoda7)
- connect USB cable to micro-USB connector
- to configure via Vivado hardware server `make <sys>.vconfig`
- [Nexys4](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys4)
and [Nexys A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexysa7)
(or
[Nexys4 DDR](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys4d))
- connect USB cable to micro-USB connector labeled 'PROG'
- to configure via Vivado hardware server `make <sys>.vconfig`
- [Nexys3](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys3)
- use Cypress FX for configure and and rlink communication
- connect USB cable to micro-USB connector labeled 'USB PROG'
- to configure via FX2 and jtag tool `make <sys>.jconfig`
- [Nexys2](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys2)
- connect USB cable to mini-USB connector (between RS232 and PS/2 port)
- to configure via FX2 and jtag tool `make <sys>.jconfig`
- [S3board](https://wfjm.github.io/home/w11/inst/boards.html#digi_s3board)
- connect the USB-RS232 cable to the RS232 port
- connect a JTAG programmer (e.g. Xilinx USB Cable II) to JTAG pins
- to configure via ISE Impact `make <sys>.iconfig`

View File

@@ -0,0 +1,22 @@
## Known differences between w11a and KB11-C (11/70)
### No cache parity and minimal subset of memory system controls
The 11/70 provides extensive reliability and diagnostics features for the cache
and memory system. They are very specific to the concrete 11/70 implementation
and most can't be mapped to the w11 implementation. The w11 provides all
the cache and memory system control registers, but provides only a very
limited subset of the functionality:
- no cache parity, and therefore no vector 114 interrupts
- the cache hit/miss and memory size registers are implemented
- 177752 memory system hit/miss register: gives hit/miss for last 6 accesses
- 177760 memory system lower size register: gives size in clicks
- the memory system control register (177746) has limited functionality
- the cache can be disabled, setting bit 2 or bit 3 will force a cache miss
- bits 0,1,4, and 5 can be set and read back, but have no function
- the following registers return zero on reads and ignore writes
- 177740 low error address register
- 177742 high error address register
- 177744 memory system errior register
- 177750 memory system maintenance register
- 177762 memory system upper size register

55
doc/w11a_io_emulation.md Normal file
View File

@@ -0,0 +1,55 @@
# w11 I/O emulation setup
All UNIBUS peripherals which exchange data (currently DL11, DZ11, LP11, PC11,
DEUNA, RK11, RL11, RPRH, and TM11) are currently emulated via a backend
process. For details see
[w11 architecture](https://wfjm.github.io/home/w11/impl/architecture.html)
description.
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 Nexys A7, and Nexys4 with an `FT2232HQ`,
allows up to 12M 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
kernel patch 9589541.
**On newer systems, it is essential to install a udev rule** which
automatically sets low latency, see the
[documentation in tools/sys](../tools/sys/README.md).
- via RS232 port, as on Nexys2 and S3board
- using a serial port (/dev/ttySx) is limited to 115 kBaud on most PCs.
- using a USB-RS232 adapter was tested up to 460k Baud.
- Direct USB connection using a Cypress FX2 USB controller
- is supported on the Nexys3 and Nexys2 FPGA boards
- much faster than serial port connections (see below)
- also allows configuring the FPGA over the same USB connection
- Notes:
- A 12M Baud connection, like on a Nexys A7, gives disk access rates and
throughputs much better than the real hardware of the 70's and is well
suitable for practical usage.
- In an OS with good disk caching like 2.11BSD the impact of disk speed
is actually smaller than the bare numbers suggest.
- A 460k Baud connection gives in practice a disk throughput of ~20 kB/s.
This allows to test the system but is a bit slow for real usage.
- USB-RS232 cables with an FTDI `FT232R` chip work fine, tests with Prolific
Technology `PL2303` based cable never gave reliable connections for higher
Baud rates.
Recommended setup for best performance (boards ordered by vintage):
| Board | Channel/Interface | nom. speed | peak transfer rate |
| :--------- | :--------------------- | :----------- | -----------------: |
| [Arty S7](https://wfjm.github.io/home/w11/inst/boards.html#digi_artys7) | USB-UART bridge | 12M Baud | 1090 kB/sec |
| [Arty A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_arty) | USB-UART bridge | 12M Baud | 1090 kB/sec |
| [Basys3](https://wfjm.github.io/home/w11/inst/boards.html#digi_basys3) | USB-UART bridge | 12M Baud | 1090 kB/sec |
| [Cmod A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_cmoda7) | USB-UART bridge | 12M Baud | 1090 kB/sec |
| [Nexys A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexysa7) | USB-UART bridge | 12M Baud | 1090 kb/sec |
| [Nexys4](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys4) | USB-UART bridge | 12M Baud | 1090 kb/sec |
| [Nexys3](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys3) | Cypress FX2 USB | USB2.0 speed | 30000 kB/sec |
| [Nexys2](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys2) | Cypress FX2 USB | USB2.0 speed | 30000 kB/sec |
| [S3board](https://wfjm.github.io/home/w11/inst/boards.html#digi_s3board) | RS232+USB-RS232 cable | 460k Baud | 41 kB/sec |

View File

@@ -22,6 +22,7 @@ The issues of the w11 CPU and systems are listed in a separate document
- not implemented 11/70 features
- [18-bit UNIBUS address space not mapped](w11a_diff_70_unibus_mapping.md)
- [MMU maintenance mode not implemented](w11a_diff_70_mmu_no_maint.md)
- [no cache parity and minimal subset of memory system controls](w11a_diff_70_cache_memory.md)
- other differences
- [Usage of 11/70 `SYSID` register](w11a_diff_70_sysid_usage.md)

View File

@@ -1,242 +1,26 @@
# Guide to run operating system images on w11a systems
### Table of content
- [I/O emulation setup](#user-content-io-emu)
- [FPGA Board setup](#user-content-fpga-setup)
- [Rlink and Backend Server setup](#user-content-rlink)
- [SimH simulator setup](#user-content-simh)
- [oskits](#user-content-oskits)
- [Unix systems](#user-content-oskits-unix)
- [DEC operating systems](#user-content-oskits-dec)
### <a id="io-emu">I/O emulation setup</a>
All UNIBUS peripherals which exchange data (currently DL11, DZ11, LP11, PC11,
DEUNA, RK11, RL11, RPRH, and TM11) are currently emulated via a backend
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 an `FT2232HQ`,
allows up to 12M 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
[kernel patch 9589541](https://patchwork.kernel.org/patch/9589541/).
**On newer systems, it is essential to install a udev rule** which
automatically sets low latency, see the
[documentation in tools/sys](../tools/sys/README.md).
- via RS232 port, as on S3board and Nexys2
- using a serial port (/dev/ttySx) is limited to 115 kBaud on most PCs.
- using a USB-RS232 adapter was tested up to 460k Baud.
- Direct USB connection using a Cypress FX2 USB controller
- is supported on the Nexys2 and Nexys3 FPGA boards
- much faster than serial port connections (see below)
- also allows configuring the FPGA over the same USB connection
- Notes:
- A 12M Baud connection, like on a Nexys4, gives disk access rates and
throughputs much better than the real hardware of the 70's and is well
suitable for practical usage.
- In an OS with good disk caching like 2.11BSD the impact of disk speed
is actually smaller than the bare numbers suggest.
- A 460k Baud connection gives in practice a disk throughput of ~20 kB/s.
This allows to test the system but is a bit slow for real usage.
- USB-RS232 cables with an FTDI `FT232R` chip work fine, tests with Prolific
Technology `PL2303` based cable never gave reliable connections for higher
Baud rates.
Recommended setup for best performance (boards ordered by vintage):
| Board | Channel/Interface | nom. speed | peak transfer rate |
| :--------- | :--------------------- | :----------- | -----------------: |
| [Arty S7](https://wfjm.github.io/home/w11/inst/boards.html#digi_artys7) | USB-UART bridge | 12M Baud | 1090 kB/sec |
| [Arty A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_arty) | USB-UART bridge | 12M Baud | 1090 kB/sec |
| [Basys3](https://wfjm.github.io/home/w11/inst/boards.html#digi_basys3) | USB-UART bridge | 12M Baud | 1090 kB/sec |
| [Cmod A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_cmoda7) | USB-UART bridge | 12M Baud | 1090 kB/sec |
| [Nexys A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexysa7) | USB-UART bridge | 12M Baud | 1090 kb/sec |
| [Nexys4](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys4) | USB-UART bridge | 12M Baud | 1090 kb/sec |
| [Nexys3](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys3) | Cypress FX2 USB | USB2.0 speed | 30000 kB/sec |
| [Nexys2](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys2) | Cypress FX2 USB | USB2.0 speed | 30000 kB/sec |
| [S3board](https://wfjm.github.io/home/w11/inst/boards.html#digi_s3board) | RS232+USB-RS232 cable | 460k Baud | 41 kB/sec |
### <a id="fpga-setup">FPGA Board setup</a>
Recommended setups
- [Arty A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_arty) or
[Arty S7](https://wfjm.github.io/home/w11/inst/boards.html#digi_artys7)
- connect USB cable to micro-USB connector labeled 'J10'
- to configure via Vivado hardware server `make <sys>.vconfig`
- [Basys3](https://wfjm.github.io/home/w11/inst/boards.html#digi_basys3)
- connect USB cable to micro-USB connector labeled 'PROG'
- to configure via ivado hardware server `make <sys>.vconfig`
- [Cmod A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_cmoda7)
- connect USB cable to micro-USB connector
- to configure via Vivado hardware server `make <sys>.vconfig`
- [Nexys4](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys4)
and [Nexys A7](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexysa7)
(or
[Nexys4 DDR](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys4d))
- connect USB cable to micro-USB connector labeled 'PROG'
- to configure via Vivado hardware server `make <sys>.vconfig`
- [Nexys3](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys3)
- use Cypress FX for configure and and rlink communication
- connect USB cable to micro-USB connector labeled 'USB PROG'
- to configure via FX2 and jtag tool `make <sys>.jconfig`
- [Nexys2](https://wfjm.github.io/home/w11/inst/boards.html#digi_nexys2)
- connect USB cable to mini-USB connector (between RS232 and PS/2 port)
- to configure via FX2 and jtag tool `make <sys>.jconfig`
- [S3board](https://wfjm.github.io/home/w11/inst/boards.html#digi_s3board)
- connect the USB-RS232 cable to the RS232 port
- connect a JTAG programmer (e.g. Xilinx USB Cable II) to JTAG pins
- to configure via ISE Impact `make <sys>.iconfig`
### <a id="rlink">Rlink and Backend Server setup</a>
All examples below use the same basic setup
- set up `vt100` emulator windows
cd $RETROBASE/tools/oskit/<oskit-name>
console_starter -d DL0 &
console_starter -d DL1 &
- set up rlink connection using `ti_rri` backend server via the `ti_w11`
quick start wrapper script. Ensure that all 8 switches on the board
are in the indicated positions (SWI=...). The concrete boot script
name is given in the following sections
- for [sys_w11a_arty](../rtl/sys_gen/w11a/arty/README.md) or
[sys_w11a_as7](../rtl/sys_gen/w11a/artys7/README.md) over serial
SWI = 0110 (gives console light emulation...)
ti_w11 -tuD,12M,break,xon @<oskit-name>_boot.tcl
- for [sys_w11a_b3](../rtl/sys_gen/w11a/basys3/README.md) over serial
SWI = 00000000 00101000 (gives console light display on LEDS)
ti_w11 -tuD,12M,break,xon @<oskit-name>_boot.tcl
**Note**: the basys3 w11a has only 176 kB memory (all from BRAMS!).
u5ed works fine. XXDP, RT11 and RSX-11M should work.
211bsd will not boot, neither most RSX-11M+ systems.
- for [sys_w11a_c7](../rtl/sys_gen/w11a/cmoda7/README.md) over serial
ti_w11 -tuD,12M,break,xon @<oskit-name>_boot.tcl
**Note**: the c7 w11a has only 672 kB memory
(512 SRAM + 160 BRAM).
u5ed, u7ed, XXDP, RT11, RSX-11M and most most RSX-11M+ systems should work.
211bsd works only in the 'non-networking' configuration
[211bsd_rpmin](../tools/oskit/211bsd_rpmin).
- for [sys_w11a_n4](../rtl/sys_gen/w11a/nexys4/README.md)
or [sys_w11a_n4d](../rtl/sys_gen/w11a/nexys4d/README.md) over serial
SWI = 00000000 00101000 (gives console light display on LEDS)
ti_w11 -tuD,12M,break,cts @<oskit-name>_boot.tcl
- for [sys_w11a_n3](../rtl/sys_gen/w11a/nexys3/README.md)
or [sys_w11a_n2](../rtl/sys_gen/w11a/nexys2/README.md) over fx2
SWI = 00101100
ti_w11 -u @<oskit-name>_boot.tcl
- for [sys_w11a_s3](../rtl/sys_gen/w11a/s3board/README.md) over serial
SWI = 00101010
ti_w11 -tu<dn>,460k,break,xon @<oskit-name>_boot.tcl
Notes:
- the letter after `-tu` is either the serial device number,
denoted as `<dn>`, or the letter `D` for auto-detection of
Digilent boards with an FT2232HQ based interface.
- for Arty A7, Basys3, Cmod A7, Nexys4, and Nexys A7 board simply use `D`
- otherwise check with `ls /dev/ttyUSB*` to see what is available
- `<dn>` is typically '1' if a single `FT2232HQ` based board is connected,
like an Arty, Basys3, Cmod A7, or Nexys4. Initially, two ttyUSB devices
show up, the lower is for FPGA configuration and will disappear when
the Vivado hardware server is used once. The upper provides the data
connection.
- `<dn>` is typically '0' if only a single USB-RS232 cable is connected
- on LED display
- is controlled by SWI(3)
0 -> system status
1 -> DR emulation --> OS specific light patterns
- on Hex display
- is controlled by SWI(5:4)
- boards with a 4 digit display
00 -> serial link rate divider
01 -> PC
10 -> DISPREG
11 -> DR emulation
- boards with 8 digit display
SWI(5) select for DSP(7:4) display
0 -> serial link rate divider
1 -> PC
SWI(4) select for DSP(3:0) display
0 -> DISPREG
1 -> DR emulation
### <a id="simh">SimH simulator setup</a>
Sometimes it is good to compare the w11a behavior with the PDP-11 software
emulator from the SimH project. See [INSTALL_simh](INSTALL_simh.md) for
installation instructions and supported versions.
Under `$RETROBASE/tools/simh` two setup files are provided which configure
SimH to reflect the w11a setup as close as possible:
- `setup_w11a_min.scmd`
Very close to the current w11a state when it runs on an s3board
- processor: 11/70, no FPP, 1 Mbyte
- periphery: 2 DL11, LP11, RK11, PC11
- `setup_w11a_max.scmd`
Planned configuration for the w11a, in addition
- 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`
configuration, so will show in the emulator what w11a can do when
finished.
All examples below use the same basic setup
- set up vt100 emulator window for 1st and 2nd DL11
cd $RETROBASE/tools/oskit/<oskit-name>
console_starter -s -d DL0 &
console_starter -s -d DL1 &
**Note**: the `-s` ensures that the port numbers used by SimH are taken!
- start the simulator
pdp11 <oskit-name>_boot.scmd
### <a id="oskits">oskits</a>
For general system setup see notes on
- [I/O emulation setup](w11a_io_emulation.md)
- [FPGA Board setup](w11a_board_connection.md)
- [Rlink and Backend Server setup](w11a_backend_setup.md)
- [SimH simulator setup](w11a_simh_setup.md)
Ready to be used 'oskits' are provided under
[tools/oskit](../tools/oskit/README.md).
Tarballs with the disk images are provided from a web server and have to
be installed separately, see instructions in the respective READMEs.
$RETROBASE/tools/oskit/<oskit-name>
The tarballs with the disk images are provided from a web server
and have to be installed separately.
The typical startup procedure starts some `vt100` emulator windows with the
`console_starter` and executes the backend server like
```
cd $RETROBASE/tools/oskit/<oskit-name>
console_starter -d DL0 &
console_starter -d DL1 &
ti_w11 <opt> @<oskit-name>_boot.tcl
```
with the options `<opt>` as described in
[Rlink and Backend Server setup](w11a_backend_setup.md).
### <a id="oskits-unix">Unix systems</a>

34
doc/w11a_simh_setup.md Normal file
View File

@@ -0,0 +1,34 @@
# SimH simulator setup
Sometimes it is good to compare the w11a behavior with the PDP-11 software
emulator from the SimH project. See [INSTALL_simh](INSTALL_simh.md) for
installation instructions and supported versions.
Under `$RETROBASE/tools/simh` two setup files are provided which configure
SimH to reflect the w11a setup as close as possible:
- `setup_w11a_min.scmd`
Very close to the current w11a state when it runs on an s3board
- processor: 11/70, no FPP, 1 Mbyte
- periphery: 2 DL11, LP11, RK11, PC11
- `setup_w11a_max.scmd`
Planned configuration for the w11a, in addition
- 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`
configuration, so will show in the emulator what w11a can do when
finished.
All examples below use the same basic setup
- set up vt100 emulator window for 1st and 2nd DL11
console_starter -s -d DL0 &
console_starter -s -d DL1 &
**Note**: the `-s` ensures that the port numbers used by SimH are taken!
- the simulator is usually started with `.scmd` command file, for
[oskits](../tools/oskit/README.md) for example with
cd $RETROBASE/tools/oskit/<oskit-name>
pdp11 <oskit-name>_boot.scmd

View File

@@ -1,12 +1,12 @@
## Notes on oskit: 2.11BSD system on RK05 volumes
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
### System properties and intended usage
- patch level is #447 plus [fpsim+tcsh patch](https://wfjm.github.io/blogs/211bsd/2017-06-06-kernel-panic-here-doc-tcsh.html)

View File

@@ -1,12 +1,12 @@
## Notes on oskit: 2.11BSD system on RL02 volumes
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
### System properties and intended usage
- patch level is #447 plus [fpsim+tcsh patch](https://wfjm.github.io/blogs/211bsd/2017-06-06-kernel-panic-here-doc-tcsh.html)

View File

@@ -1,12 +1,12 @@
## Notes on oskit: 2.11BSD system on a RP06 volume
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
### System properties and intended usage
- patch level is #447 plus [fpsim+tcsh patch](https://wfjm.github.io/blogs/211bsd/2017-06-06-kernel-panic-here-doc-tcsh.html)

View File

@@ -1,12 +1,12 @@
## Notes on oskit: 2.11BSD system on a RP06 volume with Ethernet
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
### System properties and intended usage
- patch level is #447 plus [fpsim+tcsh patch](https://wfjm.github.io/blogs/211bsd/2017-06-06-kernel-panic-here-doc-tcsh.html)

View File

@@ -1,12 +1,12 @@
## Notes on oskit: 2.11BSD system on a RP06 volume - minimal memory system
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
### System properties and intended usage
- patch level is #447 plus [fpsim+tcsh patch](https://wfjm.github.io/blogs/211bsd/2017-06-06-kernel-panic-here-doc-tcsh.html)

View File

@@ -1,12 +1,12 @@
## Notes on oskit: 2.11BSD system on a TM11 tape distribution kit
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
### Installation

View File

@@ -8,8 +8,8 @@ This directory tree contains **OS disk/tape image kits** and is organized in
| _all other_ | folders with individual OS kits |
The available OS kits are summarized in the table below with
- **DL**: number of DL11 lines supported by OS (for bsd also with active ttys)
- **DZ**: number of DZ11 lines supported by OS (for bsd also with active ttys)
- **DL**: number of DL11 lines supported by OS (for BSD also with active `ttys`)
- **DZ**: number of DZ11 lines supported by OS (for BSD also with active `ttys`)
- **PC**: PC11 (paper tape reader/puncher) support
- **XU**: DEUNA support
- **MinMem**: minimal required memory size

View File

@@ -1,15 +1,13 @@
## Notes on oskit: RSX-11M V3.1 system on RK05 volumes
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
**Also read README_license.txt which is included in the oskit !!**
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
- **and read [README_license.txt](README_license.txt) !!**
### Installation
A disk set is available from

View File

@@ -1,13 +1,11 @@
## Notes on oskit: RSX-11M V4.0 system on RK05 volumes
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
**Also read README_license.txt which is included in the oskit !!**
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
- **and read [README_license.txt](README_license.txt) !!**
### Installation
A disk set is available from

View File

@@ -1,15 +1,13 @@
## Notes on oskit: RSX-11Mplus V3.0 system on a RP06 volume
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
**Also read README_license.txt which is included in the oskit !!**
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
- **and read [README_license.txt](README_license.txt) !!**
### Installation
A disk set is available from

View File

@@ -1,15 +1,13 @@
## Notes on oskit: RT-11 V4.0 system on RK05 volumes
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
**Also read README_license.txt which is included in the oskit !!**
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
- **and read [README_license.txt](README_license.txt) !!**
### Installation
A disk set is available from

View File

@@ -1,15 +1,13 @@
## Notes on oskit: RT-11 V5.3 system on a RL02 volume
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
**Also read README_license.txt which is included in the oskit !!**
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
- **and read [README_license.txt](README_license.txt) !!**
### Installation
A disk set is available from

View File

@@ -1,12 +1,12 @@
## Notes on oskit: Unix 5th Edition system on RK05 volumes
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
### Installation
A disk set is available from

View File

@@ -20,12 +20,12 @@ arithmetic.
**The kernel panics with negative memory size if more than 2MB memory seen.**
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
### Installation
A disk set is available from

View File

@@ -1,15 +1,13 @@
## Notes on oskit: XXDP V2.2 and V2.5 system on RL02 volumes
### General remarks
See notes in [w11a_os_guide.md](../../../doc/w11a_os_guide.md) on
1. I/O emulation setup
2. FPGA Board setup
3. Rlink and Backend Server setup
4. SimH simulator setup
5. Legal terms
**Also read [README_license.md](README_license.md) !!**
See notes on
- [I/O emulation setup](../../../doc/w11a_io_emulation.md)
- [FPGA Board setup](../../../doc/w11a_board_connection.md)
- [Rlink and Backend Server setup](../../../doc/w11a_backend_setup.md)
- [SimH simulator setup](../../../doc/w11a_simh_setup.md)
- [Legal terms](../../../doc/w11a_os_guide.md)
- **and read [README_license.md](README_license.md) !!**
### Installation
A disk images for XXDP V2.2 and V2.5 are available from bitsavers