| 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. | |