mirror of
https://github.com/wfjm/w11.git
synced 2026-02-24 16:27:46 +00:00
48 lines
2.4 KiB
Markdown
48 lines
2.4 KiB
Markdown
# Summary of known differences and limitations for w11a CPU and systems
|
|
|
|
This file lists the differences and limitations of the w11 CPU and systems.
|
|
The issues of the w11 CPU and systems are listed in a separate document
|
|
[README_known_issues.md](README_known_issues.md).
|
|
|
|
### Known differences between w11a and KB11-C (11/70)
|
|
- [Instruction fetch after `SPL`](w11a_diff_70_spl_bug.md)
|
|
- ['red stack violation' loses PSW](w11a_diff_70_red_stack_abort.md)
|
|
- ['instruction completed flag' in `MMR0` is not implemented](w11a_diff_70_instruction_complete.md)
|
|
- [`jsr sp` pushes original `sp` value](w11a_diff_70_jsr_sp.md)
|
|
- [18-bit UNIBUS address space not mapped](w11a_diff_70_unibus_mapping.md)
|
|
- [MMU traps not suppressed when MMU register accessed](w11a_diff_70_mmu_trap_suppression.md)
|
|
|
|
All points relate to very 11/70 specific behavior, no operating system
|
|
depends on them, therefore they are considered acceptable implementation
|
|
differences.
|
|
|
|
### Differences in unspecified behavior between w11a and KB11-C (11/70)
|
|
- [State of N and Z and registers after a `DIV` abort with `V=1`](w11a_diff_70_div_after_v1.md)
|
|
|
|
No software should depend on the unspecified behavior of the CPU, therefore
|
|
this is considered as an acceptable implementation difference.
|
|
|
|
### Other differences between w11a and KB11-C (11/70)
|
|
- [Usage of 11/70 `SYSID` register](w11a_diff_70_sysid_usage.md)
|
|
|
|
### <a id="lim">Known limitations</a>
|
|
|
|
- some programs use timing loops based on the execution speed of the
|
|
original processors. This can lead to spurious timeouts, especially
|
|
in old test programs.
|
|
**--> a 'CPU throttle mechanism' will be added in a future version to
|
|
circumvent this for some old test codes.**
|
|
- the emulated I/O can lead to apparently slow device reaction times,
|
|
especially when the server runs as a normal user process. This can lead
|
|
to a timeout, again mostly in test programs.
|
|
**--> 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 w11a and a SimH 11/70
|
|
The SimH emulator models only behavior what is relevant for the normal
|
|
operation of operating systems and user code. Many details which do not
|
|
have impact on normal operation are not modeled for performance reasons.
|
|
Test codes are sometimes sensitive to those details, that's why the most
|
|
relevant are listed here.
|
|
- [SimH: implicit stack pops not recorded in MMR1](w11a_diff_simh_mmr1_rts_mtp.md)
|