1
0
mirror of https://github.com/wfjm/w11.git synced 2026-01-12 00:43:01 +00:00

doc and comment updates [skip ci]

This commit is contained in:
wfjm 2022-12-25 09:07:26 +01:00
parent f0f12dc407
commit dc9005e98a
31 changed files with 67 additions and 45 deletions

View File

@ -1,3 +1,3 @@
# Known differences between e11, 11/70, and w11a
# Known differences between E11, 11/70, and w11a
_to come_

View File

@ -19,3 +19,5 @@ divide logic and is modified (see [patch](../tools/xxdp/ekbbf0_patch_1170.scmd))
w11 also returns Z=0 and N based on the sign of the full 32-bit result, this
is documented as [w11 known difference](w11a_diff_70_div_after_v1.md).
Tested with SimH V3.12-3.

View File

@ -26,3 +26,5 @@ see [w11 known difference](w11a_diff_70_instruction_complete.md).
This is verified in a [tcode](../tools/tcode/README.md), the tests are skipped
when executed on SimH
(see [cpu_mmu.mac](../tools/tcode/cpu_mmu.mac) test C2.6 and D2.1).
Tested with SimH V3.12-3.

View File

@ -25,3 +25,5 @@ SimH uses the J11 `MMR1` behavior for all models.
w11 implements the 11/70 behavior. This is verified in a
[tcode](../tools/tcode/README.md), the tests are skipped when executed on SimH
(see [cpu_mmu.mac](../tools/tcode/cpu_mmu.mac) test C1.1 and C2.3).
Tested with SimH V3.12-3.

View File

@ -16,3 +16,5 @@ verifies the 11/70 behavior and is modified
w11 also doesn't support this behavior, this is documented as
[w11 known difference](w11a_diff_70_mmu_nxm_prio.md).
Tested with SimH V3.12-3.

View File

@ -12,3 +12,5 @@ xxdp program `ekbee1` tests 061 and 063 verify this behavior and are skipped
w11 also doesn't support this behavior, this is documented as
[w11 known difference](w11a_diff_70_mmu_trap_suppression.md).
Tested with SimH V3.12-3.

View File

@ -14,3 +14,5 @@ SimH doesn't support this behavior.
w11 implements the `PSW` protection. This is verified in a
[tcode](../tools/tcode/README.md), the test is skipped when executed on SimH
(see [cpu_details.mac](../tools/tcode/cpu_details.mac) test A3.2).
Tested with SimH V3.12-3.

View File

@ -9,7 +9,7 @@ on all other models interrupts have the lowest priority.
As consequence, `RTI` _can_ be used on an 11/70 to exit from an interrupt driver,
and exactly one trace trap will happen when an interrupt is honored after
a traced instruction. On all other models, `RTT` _should_ be used to exit from
a traced instruction. On all other models, `RTT` _can_ be used to exit from
an interrupt driver to prevent a double trace trap, one before the interrupt
and one after the hander exit.
@ -22,3 +22,5 @@ skipped when executed on SimH
(see [cpu_details.mac](../tools/tcode/cpu_details.mac) test A4.4 part 3).
See also [traced `WAIT`](simh_diff_traced-wait.md).
Tested with SimH V3.12-3.

View File

@ -17,4 +17,6 @@ or user mode `SPL` is a nop and honors traps and interrupts, see
[`SPL` on w11](w11a_diff_70_spl_bug.md).
Several [tcodes](../tools/tcode/README.md) utilize the `SPL` behavior and
are skipped when executed on SimH
(see [cpu_basics.mac](../tools/tcode/cpu_basics.mac) test F2.3).
(see [cpu_basics.mac](../tools/tcode/cpu_basics.mac) test F2.3).
Tested with SimH V3.12-3.

View File

@ -31,3 +31,5 @@ depend on the 11/70 behavior and are patched or skipped
The w11 correctly implements the 11/70 behavior. This is verified in a
[tcode](../tools/tcode/README.md), the test is skipped when executed on SimH
(see [cpu_details.mac](../tools/tcode/cpu_details.mac) test A3.3).
Tested with SimH V3.12-3.

View File

@ -29,3 +29,5 @@ The w11 correctly implements the 11/70 behavior in all cases.
This is verified in a [tcode](../tools/tcode/README.md), the tests are
skipped when executed on SimH
(see [cpu_details](../tools/tcode/cpu_details.mac) tests A3.4 and A3.5).
Tested with SimH V3.12-3.

View File

@ -22,3 +22,5 @@ The w11 implements the 11/70 service order and `WAIT` behavior.
This is verified in a [tcode](../tools/tcode/README.md), the `WAIT` test is
skipped when executed on SimH
(see [cpu_details.mac](../tools/tcode/cpu_details.mac) test A4.4 part 4).
Tested with SimH V3.12-3.

View File

@ -8,7 +8,7 @@ when an MMU register is accessed, thus `MMR0` to `MMR3` and any of the
This causes `ekbee1` tests 61 and 63 to fail.
The w11 doesn't implement this trap suppression (neither does SimH or e11).
The w11 doesn't implement this trap suppression (neither does SimH or E11).
Since MMU traps are a 11/70,11/45 only feature no OS uses them.
Given that, this is considered an acceptable deviation from 11/70 behavior.

View File

@ -8,7 +8,7 @@ has no effect on the logic of the code running on the system.
The w11 project uses the `SYSID` to encode the execution environment.
This allows distinguishing between operation on a real w11 and operation
in a software emulation under SimH or e11.
in a software emulation under SimH or E11.
It can be used on test and verification codes to reconcile implementation
differences.
@ -16,9 +16,9 @@ differences.
- the SYSID is divided into fields
- bit 15: emulator flag (0=w11,1=emulator)
- bit 14:12: type, encodes w11 or emulator type
- bit 11:09: cpu number on 11/74 systems
- bit 11:09: cpu number on 11/70mP systems
- bit 8:0: serial number
- current assignments are
- w11a: 010123
- SimH: 110234
- e11: 120345
- E11: 120345

View File

@ -15,6 +15,6 @@ Notes:
in a UNIBUS timeout and set the ITO bit CPUERR.
- SimH doesn't implement the UNIBUS window, in a 4 MB memory conficuration
the address range 17000000:17757777 will be normal memory.
- e11 implements the UNIBUS window and from V7.4 on access to main memory
- E11 implements the UNIBUS window and from V7.4 on access to main memory
via the UNIBUS map. This can be disabled via `set cpu nouwin`. When used
with `set memory 3840` an e11 system will be behave like the w11.
with `set memory 3840` an E11 system will be behave like the w11.

View File

@ -49,12 +49,12 @@ Also helpful are the differences sections in the manuals of for processors
A 'watch dog' mechanism will be added in a future version which
suspends the CPU when the server doesn't respond fast enough.
### Known differences between Simh, e11, a real 11/70, and w11a
The Simh and e11 simulators do not model some 11/70 details that have no
### Known differences between Simh, E11, a real 11/70, and w11a
The Simh and E11 simulators do not model some 11/70 details that have no
effect on normal operation for performance reasons. Test codes, like
[xxdp](../tools/xxdp/README.md) diagostic programs or the
[tcodes](../tools/tcode/README.md) of the w11 verification suite are
sometimes sensitive to those details, so the most relevant ones are
listed under
- [Known differences between SimH, 11/70, and w11a](simh_diff_summary.md)
- [Known differences between e11, 11/70, and w11a](e11_diff_summary.md)
- [Known differences between E11, 11/70, and w11a](e11_diff_summary.md)

View File

@ -279,8 +279,8 @@ to cover some older versions of DEC operating systems, for example
- RSX-11M PLUS V3.0 or prior
on a simulator. It is commonly assumed that the license terms cover the
usage of the PDP11 simulator from the 'SimH' suite. Usage of the e11
simulator is not covered according to the author of e11.
usage of the PDP11 simulator from the 'SimH' suite. Usage of the E11
simulator is not covered according to the author of E11.
> **THIS LICENSE DOES NOT COVER THE USAGE OF THESE HISTORIC DEC**
> **OPERATING SYSTEMS ON ANY 'REAL HARDWARE' IMPLEMENTATION OF A**

View File

@ -1,4 +1,4 @@
This directory tree contains the **environment for asm-11 assembler**
This directory tree contains the **environment for the asm-11 assembler**
and is organized in
| Directory | Content |

View File

@ -1,4 +1,4 @@
This directory tree contains the **environment for dasm-11 disassembler**
This directory tree contains the **environment for the dasm-11 disassembler**
and is organized in
| Directory | Content |

View File

@ -1,4 +1,4 @@
This directory tree contains **firmware for Cypress FX2 USB interface**
This directory tree contains **firmware for Cypress FX2 USB interface**
and is organized in
| Directory | Content |

View File

@ -1,4 +1,4 @@
This directory tree contains the **environment for the gwstart command**
This directory tree contains the **environment for the gwstart command**
and is organized in
| Directory | Content |

View File

@ -8,7 +8,7 @@ verification and not as diagnostic tool:
The codes can be executed
- in a w11 GHDL simulation, usually via a `ti_w11 -c7 -w -e <mac-file>`
- with SimH, usually via a `load <lda-file>`, `dep pc 200`, `cont`
- with `e11`, usually via a `mount pr: <lda-file>`, `boot pr:`
- with `E11`, usually via a `mount pr: <lda-file>`, `boot pr:`
The codes use the `SYSID` register to detect the execution environment,
see [usage of `SYSID` register](../../doc/w11a_diff_70_sysid_usage.md).
@ -19,13 +19,13 @@ A [Makefile](Makefile) is provided with the targets
make alllst all .lst files
make allexp all exp.mac export files
make alltsim all SimH tests
make allte11 all e11 tests
make allte11 all E11 tests
make alltw11 all w11 GHDL simulation tests
make <tcode>.lda compile, create .lda + .lst
make <tcode>.lst compile, create .lst
make <tcode>.exp.mac compile with -E
make <tcode>.tsim run on SimH simulator
make <tcode>.te11 run on e11 simulator
make <tcode>.te11 run on E11 simulator
make <tcode>.tw11 run on w11 GHDL simulation (for C7)
```

View File

@ -2,14 +2,14 @@
`divstst` has been run on real PDP-11 CPUs as well as on simulated CPUs
with the [SimH](http://simh.trailing-edge.com/) and the
[e11](http://www.dbit.com/) simulator.
[E11](http://www.dbit.com/) simulator.
The results are available in
| Case | sim | CPU | Comment |
| --------- | --- | --- | ------- |
| [2014-08-22_1170_btq](2014-08-22_1170_btq.log) | real | 11/70 | from Johnny Billquist, node magica |
| [2014-08-22_1193_btq](2014-08-22_1170_btq.log) | real | 11/93 (J11) | from Johnny Billquist, node pontus |
| [2014-08-22_e11_1174_btq](2014-08-22_e11_1174_btq.log) | e11 | 11/74 | from Johnny Billquist, node mim |
| [2014-08-22_e11_1174_btq](2014-08-22_e11_1174_btq.log) | E11 | 11/74 | from Johnny Billquist, node mim |
| [2014-08-22_simh_1194_btq](2014-08-22_simh_1194_btq.log) | SimH | 11/94 (J11) | from Johnny Billquist, node jocke |
| [2022-08-11_w11a_wfjm](2022-08-11_w11a_wfjm.log) | | w11a | from wfjm |
@ -26,6 +26,6 @@ are indeed different, a good example is
ddh ddl dr : nzvc q r remarks
177777 100000 177777 : 0110 000000 100000 real 11/70: Z=1, R0MOD
177777 100000 177777 : 0010 177777 100000 real 11/93: r0,r1 unchanged
177777 100000 177777 : 0010 100000 000000 e11 11/74: R0MOD R1MOD
177777 100000 177777 : 0010 100000 000000 E11 11/74: R0MOD R1MOD
177777 100000 177777 : 0010 177777 100000 w11a: r0,r1 unchanged
```

View File

@ -1,5 +1,5 @@
This directory tree contains startup scripts and patch files for the
execution of `xxdp` test programs in w11, SimH and e11.
execution of `xxdp` test programs in w11, SimH and E11.
## Summary of available tests
@ -13,25 +13,25 @@ execution of `xxdp` test programs in w11, SimH and e11.
The directory provides for each test platform-specific startup scripts
- `_test_run.tcl`: w11 startup script
- `_test_run.scmd`: SimH startup script (optional)
- `_test_run.ecmd`: e11 startup script (optional)
- `_test_run.ecmd`: E11 startup script (optional)
Typical usage is (replace xxxxxx with the test name):
```
ti_w11 -c7 @xxxxxx_run.tcl # w11 on GHDL, using cmoda7
ti_w11 -tuD,12M,break,xon @xxxxxx_run.tcl # w11 on FPGA, arty as example
pdp11 xxxxxx_run.scmd # SimH simulator
e11 /initfile:xxxxxx_run.ecmd # e11 simulator
e11 /initfile:xxxxxx_run.ecmd # E11 simulator
```
The tests run in an endless loop. To end them after some iterations use
```
.qq # for w11
^E q # for SimH (^E is the default break character)
^E q # for e11 (^E is defined as break character)
^E q # for E11 (^E is defined as break character)
```
## Logic of startup scripts and preparation of test binaries
Some `xxdp` test programs require patches for successful execution on
w11 or the SimH and e11 simulators, see next section for details.
w11 or the SimH and E11 simulators, see next section for details.
The general workflow used by the startup scripts is therefore
- load a test program into memory
- apply patches to modify the memory image of the test
@ -55,10 +55,10 @@ These files are for copyright reasons not part of the w11 project.
The w11 is an as precise as feasible replica of an 11/70 KB11-C processor, but
has several differences to the real 11/70, see
[w11 differences](../../doc/w11a_known_differences.md).
The SimH and the e11 simulators also have a significant number of differences
The SimH and the E11 simulators also have a significant number of differences
to the real 11/70,
see [SimH differences](../../doc/simh_diff_summary.md)
and [e11 differences](../../doc/e11_diff_summary.md).
and [E11 differences](../../doc/e11_diff_summary.md).
The `xxdp` test programs use in some cases _maintenance mode_ features that
are not available in w11 or the simulators, and in some cases are sensitive
to very implementation-specific behavior.

View File

@ -9,7 +9,7 @@
ti_w11 -c7 @ekbad0_run.tcl # w11 on GHDL, using cmoda7
ti_w11 -tuD,12M,break,xon @ekbad0_run.tcl # w11 on FPGA, arty as example
pdp11 ekbad0_run.scmd # SimH simulator
e11 /initfile:ekbad0_run.ecmd # e11 simulator
e11 /initfile:ekbad0_run.ecmd # E11 simulator
```
### Expected output (code halts in case of an error)
@ -23,4 +23,4 @@ END PASS
```
### Remarks
Runs without patches on w11, SimH and e11.
Runs without patches on w11, SimH and E11.

View File

@ -9,7 +9,7 @@
ti_w11 -c7 @ekbbf0_run.tcl # w11 on GHDL, using cmoda7
ti_w11 -tuD,12M,break,xon @ekbbf0_run.tcl # w11 on FPGA, arty as example
pdp11 ekbbf0_run.scmd # SimH simulator
e11 /initfile:ekbbf0_run.ecmd # e11 simulator
e11 /initfile:ekbbf0_run.ecmd # E11 simulator
```
### Expected output when no errors are reported
@ -37,5 +37,5 @@ Requires [patch](ekbbf0_patch_w11a.tcl). Still one diagnostic
### SimH remarks (tested with V3.12-3 RC2)
Requires [patch](ekbbf0_patch_1170.scmd).
### e11 remarks
### E11 remarks
_to come_

View File

@ -1,8 +1,8 @@
; $Id: ekbbf0_patch_1170.scmd 1319 2022-11-21 14:20:45Z mueller $
; $Id: ekbbf0_patch_1170.scmd 1336 2022-12-23 19:31:01Z mueller $
; SPDX-License-Identifier: GPL-3.0-or-later
; Copyright 2022- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
;
; Patch set ekbbf0 for SimH -- SimH -- SimH -- Simh -- Simh -- Simh
; Patch set ekbbf0 for SimH -- tested with SimH V3.12-3
;
; AP: patch test 014: DIV ----------------------------------------------------
; fails in section 7: 100000 000000 / 2

View File

@ -9,7 +9,7 @@
ti_w11 -c7 @ekbee1_run.tcl # w11 on GHDL, using cmoda7
ti_w11 -tuD,12M,break,xon @ekbee1_run.tcl # w11 on FPGA, arty as example
pdp11 ekbee1_run.scmd # SimH simulator
e11 /initfile:ekbee1_run.ecmd # e11 simulator
e11 /initfile:ekbee1_run.ecmd # E11 simulator
```
### Expected output when no errors are reported
@ -28,5 +28,5 @@ Requires [patch](ekbee1_patch_w11a.tcl).
### SimH remarks (tested with V3.12-3 RC2)
Requires [patch](ekbee1_patch_1170.scmd).
### e11 remarks
### E11 remarks
_to come_

View File

@ -1,8 +1,8 @@
; $Id: ekbee1_patch_1170.scmd 1329 2022-12-11 17:28:28Z mueller $
; $Id: ekbee1_patch_1170.scmd 1336 2022-12-23 19:31:01Z mueller $
; SPDX-License-Identifier: GPL-3.0-or-later
; Copyright 2022- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
;
; Patch set ekbee1 for SimH -- SimH -- SimH -- Simh -- Simh -- Simh
; Patch set ekbee1 for SimH -- tested with SimH V3.12-3
;
; Note: see HACK and DEBUG section at end, especially for setting breaks
;

View File

@ -9,7 +9,7 @@
ti_w11 -c7 @eqkce1_run.tcl # w11 on GHDL, using cmoda7
ti_w11 -tuD,12M,break,xon @eqkce1_run.tcl # w11 on FPGA, arty as example
pdp11 eqkce1_run.scmd # SimH simulator
e11 /initfile:eqkce1_run.ecmd # e11 simulator
e11 /initfile:eqkce1_run.ecmd # E11 simulator
```
### Expected output when no errors are reported
@ -43,5 +43,5 @@ Runs without patches
### SimH remarks (tested with V3.12-3 RC2)
Requires [patch](eqkce1_patch_1170.scmd).
### e11 remarks
### E11 remarks
_to come_

View File

@ -1,8 +1,8 @@
; $Id: eqkce1_patch_1170.scmd 1319 2022-11-21 14:20:45Z mueller $
; $Id: eqkce1_patch_1170.scmd 1336 2022-12-23 19:31:01Z mueller $
; SPDX-License-Identifier: GPL-3.0-or-later
; Copyright 2022- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
;
; Patch set eqkce1 for SimH -- SimH -- SimH -- Simh -- Simh -- Simh
; Patch set eqkce1 for SimH -- tested with SimH V3.12-3
;
; AP: skip test 041: check stack overflow ------------------------------------
; fails for example at 024632 mov (sp)+,@-(sp) which aborts but shouldn't