Open Stovent opened 2 years ago
Hi,
Thank you for running these tests on a real 68000! I ran them on the Easy68k simulator where they all passed, however I did notice that the simulator results did not always match the 68000 datasheet, so im not surprised that the results aree different on a genuine 68000.
I am happy to see that only four other opocode tests fail, so please let me know what I need to modify in these tests to allow them to pass. My guess would be that the problems are in the handling of the flags.
Thanks again! -Ted
From: Stovent @.> Sent: Sunday, October 24, 2021 10:56 AM To: MicroCoreLabs/Projects @.> Cc: Subscribed @.***> Subject: [MicroCoreLabs/Projects] M68k - wrong MOVE from SR test (Issue #6)
Using the MC68000_test_all_opcodes.X68 test rom, the MOVE from SR test does
move #$275A, SR * Initial value move SR , d0 cmpi.w #$275A , d0
But from the M68000RPM, on the MOVE from SR instruction
Unimplemented bits are read as zeros.
Since the bit 6 of the SR is unimplemented, the test should compare with $271A instead.
Also this has been proved to be wrong on an actual hardware (Philips CD-i, having a 68000-based CPU) : [alt text]https://camo.githubusercontent.com/32a2b3b8126cea4ad86da3b39d69c0844f8e9e9bf3fd0b505e87756bacfc08de/68747470733a2f2f6d656469612e646973636f72646170702e6e65742f6174746163686d656e74732f3739373137303534323735383036383238342f3837323632343431323332353732343230302f756e6b6e6f776e2e706e67
About the other instructions that fails on hardware, we are not sure yet why they fails.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/MicroCoreLabs/Projects/issues/6, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AM4AVEO2ZYMVTLT326XPVUDUIRCEXANCNFSM5GTWDX4A. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Hi, I think the Init value used to check MOVE_From_SR should not set biftields permanently set to zero in the source registry.
Using the
MC68000_test_all_opcodes.X68
test rom, the MOVE from SR test doesBut from the M68000RPM, on the MOVE from SR instruction
Since the bit 6 of the SR is unimplemented, the test should compare with $271A instead.
Also this has been proved to be wrong on an actual hardware (Philips CD-i, having a 68000-based CPU) :![alt text](https://media.discordapp.net/attachments/797170542758068284/872624412325724200/unknown.png)
About the other instructions that fails on hardware, we are not sure yet why they fails.
About the screenshot : your test ROM has been modified so that when a test fails, instead of doing an infinite loop, it prints the name of the test that fails on the serial port of the console, and continues with the next tests.