View Single Post
Old 07 December 2019, 12:56   #26
Toni Wilen
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,593
Some update news: special case is now tested and verified. This required change to generate test instruction structure because this behavior depends on following instruction. Now test instruction structure alternates between NOP/ILLEGAL and ILLEGAL/NOP (swapping words was easiest solution):

<test instruction>


<test instruction>

Same alternating code structure is also used when generating any branch instruction target. ILLEGAL is used because test code always needs to end in some type of exception. ILLEGAL (4afc) and PC matching expected end means "test finished normally"

Trace testing (if enabled) is also now much better. For example previously trace stacked on top of other exception was ignored. It is fully verified now. Trace after above NOP is also verified.

Some 68000 address error fixes. 68000 bus errors are partially supported (reads only, write bus errors are not yet tested and results are not accurate)

68020 trace modes are also fully verified now. (if enabled)

Target EA mode now also works with all branch instructions, including RTS/RTR/RTE/RTD.

To recap most important changes:

68000 test should be 100% when CPU is used in unmodified Amigas (=bus errors not used).

68020 check is also improved. Some branch instruction address error stack frame fixes. DIV undefined flags are still wrong (This is almost impossible to fix without knowing which kind of internal algorithm is used)

Other CPUs are not yet retested. (This is painfully slow operation..)

EDIT: 68000 write bus errors are now added and should be fully accurate.

Last edited by Toni Wilen; 07 December 2019 at 22:25.
Toni Wilen is offline  
Page generated in 0.04407 seconds with 11 queries