Bugs Found and Fixed During Simulator Debug | |
1. CPU: MPY tested sign of AC instead of sign of MQ. | |
2. CPU: VLM, VDP, VDH need alternate opcode decode points for large counts. | |
3. CPU: STL not in decode table. | |
4. CPU: Partial stores lacked initial read in decode table. | |
5. CPU: PXD, PCD needed (t_uint64) cast. | |
6. CPU: SXD, SCD needed (t_uint64) cast. | |
7. CPU: SBM at wrong case offset. | |
8. CPU: All transfers used IR<21:35> instead of calculated effective address. | |
9. CPU: HPR, TRA need alternate negative opcodes. | |
10. CPU: STT missing final write to memory. | |
11. IO: Channel output process model incorrect, extensive revision required. | |
12. IO: Channel connect test should not test channel state, only connection. | |
13. IO: Channel opcode with nostore doesn't increment channel address. | |
14. CDR: Card reader missing activate at end of state 2. | |
15. SYS: Zero operand instructions printed with trailing space. | |
16. CPU: Convert class count bit field start definition incorrect. | |
17. CPU: CAQ cut and paste error from CVR. | |
18. CPU: Shift count is 8b wide, not 9b. | |
19. SYS: Mnemonic is LDQ not LMQ. | |
20. SYS: RQL opcode incorrect in symbolic decode table. | |
21. CPU: Multi-tag mode stores OR'd value of tags on any index read except normal | |
effective address. | |
22. CPU: Floating point trap does not write location 0 if trap suppressed. | |
23. SYS: TRA instructions should have symbolic class MXN not MXR. | |
24. CPU: Floating add instructions test for zero result only if normalization enabled. | |
25. CPU: Floating add with unlike signs and equal magnitudes, result sign is sign | |
of SR rather than sign of AC. | |
26. CPU: Floating multiply does not test spill prior to normalization step. | |
27. CPU: Channel activity proceeds under HALT. | |
28. MT: Any read error should stop the channel and the tape controller. | |
29. MT: EOR write flag cleared before testing. | |
39. IO: EOR write flag set after data sent to device. | |
40. IO: EOR write flag incorrect set on IOCP, IOCT, IOSP, IOST. | |
41. MT: End of file errors not masked on backspace operations. | |
42. CPU: LCHx, RCHx miscoded in decode table. | |
43. IO: Only 7607 error completions (IOxT without new command) set trap. | |
44. CPU: 7067 channel trap flags misdefined with extraneous decrement shift. | |
45. CPU: pcq array misdeclared as uint32 instead of uint16. | |
46. IO: SDC and SCD tested chan_flags instead of chan_dev.flags. | |
47. SYS: 7907 opcodes defined incorrectly. | |
48. SYS: TCH not decoding bit<19>. | |
49. IO: CTL not clearing EOR after device end. | |
50. DSK: Format code not incrementing track in writing all tracks in cylinder. | |
51. DSK: THA mode overwrites record structure of first record. | |
52. DSK: Write doesn't set channel request for initial word. | |
53. DSK: Saved record number was command digits 3..8 instead of 5..10. | |
54. CLK: Compute 60th's from location 5, so Chrono clock is in sync with interval clock. | |
55. CPU: Enable Chronolog clock if CTSS. | |
56. CPU: Read/write protection error not setting protection trap. | |
57. CPU: SCHx not setting protection trap in user mode. | |
58: CPU: Protection trap overwriting wrong location. | |
59. CPU: Stop message reporting physical, not virtual, PC. | |
60. IO: Test for "request another cycle" in channel processor was inverted. | |
61. IO: Valid bit handling incorrect across multiple transfers. | |
62. IO: BSR doesn't set EOF indicator. | |
63. IO: 7607 channel modeled incorrectly, could stall. | |
64. IO: All 7607 "effective NOP" conditions must be tested when a new command is | |
decoded (wc == 0 for IOCx and IOSx, EOR set for IOSx and IORx). | |
65. MT: BSR, BSF release the data channel in a few microseconds, like REW. | |
66. CPU: Not all PSE and MSE variants are trapped in user mode. | |
67. CPU: Storage nullification mask not recalculated at all points needed; | |
replaced with macro. | |