State of the Emulator: Known Unknowns
The following is a list of the outstanding unanswered questions about the the emulators correctness with respect to the original hardware. These questions arise from incomplete, incorrect or contradictory documentation.
- Is ITP/ITS the end of the indirect chain?
- formatDecimal(),formatDecimalDIV(): What happens if we try to write a negative number to an unsigned field?
- formatDecimal()formatDecimalDIV(): Adjusted length is too small; what do we fill in?
- getMFReg18(): Correct handling of DU.
- EISWriteIdx()/EISWiriteCache(): Write cycle on every bit.
- mvne(): Temp hack to get MOP to work.
- btd(): "illegal eis modifier"
- doFault: Proper state of CU and FR for double fault.
- interruptL66(): Negative ACK of unimplemented function.
- doFNPFault unimplmented.
- Read(): went appending in BAR mode?
- executeInstruction(): Correct subFault value for attempted execution of privileged instruction.
- executeInstruction(): Correct subFault value for instruction not allowed in XED/XEC.
- executeInstruction(): Correct subFault value for instruction not allowed in RPT.
- executeInstruction(): Missing check for RPL.
- executeInstruction(): Is stiTally implemented correctly.
- Should integer division be rounded towards 0 or -infinity.
- RTCD: does SDW-R1 refer to the SDW of the target segment? (ticket #16)
- buildAUXPTWaddress() are bits 16 and 17 OR'd or added?
- send_general_interrupt(): Should the SCU unit number be calculated from the Port Configuration Address Assignment switches or the CPU configuration switches?
- T&D absolute mode bit.
- Under what conditions should doFault set cu.rfi?
- Verify that RTCD ACV is handled correctly.
- Verify the MIF set logic.
- History registers.
- RPL instruction.
The following are questions about the behavior of the emulator's operation independent of the actual H/W.
- If the emulator detects an internal failure, should it crash, or attempt to signal Multics that there is a 'hardware' issue?