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:
parent
f0f12dc407
commit
dc9005e98a
@ -1,3 +1,3 @@
|
||||
# Known differences between e11, 11/70, and w11a
|
||||
# Known differences between E11, 11/70, and w11a
|
||||
|
||||
_to come_
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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**
|
||||
|
||||
@ -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 |
|
||||
|
||||
@ -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 |
|
||||
|
||||
@ -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 |
|
||||
|
||||
@ -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 |
|
||||
|
||||
@ -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)
|
||||
```
|
||||
|
||||
|
||||
@ -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
|
||||
```
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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_
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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_
|
||||
|
||||
@ -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
|
||||
;
|
||||
|
||||
@ -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_
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user