First Commit of my working state
[simh.git] / VAX / vax780_bug_history.txt
CommitLineData
196ba1fc
PH
1Bugs Found And Fixed During Simulator Debug\r
2\r
31. RP: drive clear does not clear RPDA.\r
42. TU: default formatter must be TM03.\r
53. SBI: drive 'letter' is actually a 1-based number.\r
64. MBA: drive register reads return SR<31:16> as high word.\r
75. UBA: DMA addresses must be masked to Unibus width (18b).\r
86. HK: thread used multiple times if SEEK is followed by NOP or DCLR.\r
97. HK: only DCLR clears ATA.\r
108. MEM: MS780E size declaration off-by-1.\r
119. MEM: MS780E array start off by >> 4.\r
1210. MEM: CSR-C register write logic incorrect.\r
1311. CIS: CMPP3/CMPP4 using wrong arguments to ReadDstr.\r
1412. CPU, OCTA: CVTfi with integer overflow not setting trap if PSW<iv> = 1.\r
1513. STDDEV: read of ICR was missing the call parameter.\r
1614. ACBD/G: testing wrong operand register to get limit sign.\r
1715. CPU: faults not clearing PSL<tp>.\r
1816. ADAWI: register mode implemented incorrectly.\r
1917. MOVTC: condition codes not preserved through page fault.\r
2018. MOVTUC: condition codes not preserved through page fault.\r
2119. MOVTUC: escape tested against untranslated rather than translated character.\r
2220. CVTPT: condition code and decimal overflow calculation incorrect.\r
2321. CVTPS: condition code and decimal overflow calculation incorrect.\r
2422. CVTPL: if destination is register, result is stored after register updates.\r
2523. CVTPL: integer overflow set <C> rather than <V>.\r
2624. all decimal string: 11/780 does not validate characters in decimal strings.\r
2725. EDITPC: condition codes not preserved through page fault.\r
2826. EDITPC EO$INSERT: inserts sign instead of fill.\r
2927. EDITPC EO$BLANK_ZERO: address off by one.\r
3028. EDITPC EO$BLANK_ZERO: not testing for <C> set.\r
3129. EDITPC EO$LOAD_PLUS: not skipping character if test fails.\r
3230. EDITPC EO$LOAD_MINUS: not skipping character if test fails.\r
3331. Compatibility mode: SXT not implemented.\r
3432. Compatibility mode: XOR operands fetched in wrong order.\r
3533. MNEGH: condition codes set from original sign.\r
3634. MNEGH: <C> not cleared.\r
3735. H_floating quad precision integer routines (add, inc, neg): carry propagation incorrect.\r
3836. H_floating packup routines: test for zero used exponent not fraction.\r
3937. MULH: carries out of floating accumulator lost.\r
4038. DIVH: stores wrong operand as result.\r
4139. POLYF/D/G: truncation after add not needed.\r
4240. POLYF/D/G: early SRM requires truncation to 31b/63b, not 32b/64b.\r
4341. POLYF/D/G/H: exits too early if argument is zero.\r
4442. POLYD/G/H: calculates address of residual pointer result incorrectly.\r
4543. POLYD/G: performs single precision rather than double precision multiply.\r
4644. POLYH: fails to truncate intermediate result from 128b to 127b.\r
4745. POLYF/D/G/H: internal add routine must test fraction rather than exponent to\r
48 detect zero, POLYx can create "denormalized" intermediate result.\r
4946. EMODH: concatenate 16b of extension operand instead of 15b.\r
5047. Specifier flows: modify flows testing for read access rather than write access.\r
5148. Quad/octa writes: wrong address reported on faulting cross-page writes.\r
5249. Memory management: 11/780 implements access control test on first level PTE's.\r
5350. LDPCTX: 11/780 implements mbz tests on PCB fields.\r
5451. LDPCTX/MTPR: 11/780 validity checks PCBB, SCBB, SBR, SLR, P0BR, P0LR, P1BR, P1LR.\r
5552. TMR: tmr_inc not updated in standard (100Hz) mode.\r
5653. MTPR SBR/PCBB/SCBB: 11/780 only checks that bits<1:0> == 0.\r
5754. MTPR xLR: 11/780 excludes bits<31:24> from mbz test.\r
5855. MTPR PxBR: 11/780 only checks bits<31,1:0> == 1,00.\r
59\r
60\r
61\r
62\r
63\r
64\r
65\r
66\r