Skip to content

Conversation

@donohoe00
Copy link
Contributor

The 286 is running a lot slower than it should since it's being "billed" for effective address calculations at 808x rates. A benchmark I ran on att6300p (https://thandor.net/benchmark/36) shows a score increase from 29 to 46 with this change applied.

I discovered this issue because one of the tests on the 6300 Plus diagnostics disk was failing, since the test was taking longer than expected. There's a possibility that the POST on some machines could fail in a similar way.

CPU variant to the next.  On the 286, it's effectively free, unless
two additions are required, in which case it takes 1 cycle.  On the
8088/8086 on the other hand, it can take up to 12 cycles.  There
needs to be a different set of timings for each CPU variant.
I tested on a 286 system (att6300p) with https://thandor.net/benchmark/36,
and the score went from 29 to 46 - almost a 60% speedup!
Also added a few minor cycle count fixes.
@rb6502 rb6502 requested a review from cracyc December 3, 2025 16:28
@galibert galibert merged commit 639578d into mamedev:master Dec 3, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants