Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Appler.exe doesn't actually seem to work on 8088-class CPUs #3

Closed
mikechambers84 opened this issue Mar 13, 2023 · 1 comment
Closed

Comments

@mikechambers84
Copy link

mikechambers84 commented Mar 13, 2023

Granted, I haven't tried it on real hardware, but in both 86Box (in IBM XT mode) and in XTulator (which emulates an 80186), it doesn't work right. Based on some of the console output in XTulator, execution seems to be jumping off into nowhere. This is using the bin/appler.exe executable. I haven't tried recompiling from source.

It doesn't work in 86Box in 286 mode, either. It finally works when I move up to 386.

appler

appler2

@zajo
Copy link
Owner

zajo commented Mar 13, 2023

That's correct, this is why: https://github.com/zajo/appler/blob/develop/src/GLOBALS.INC#L265.

The AddTiming macro was added at some point to keep track of the elapsed 6502 cycles in the high 16 bits of eax. When the program accesses I/O memory, e.g. $C030, Appler waits the accumulated amount of microseconds in an attempt to run at more or less correct speed.

If you really need it to work on a 8088, I believe this is the only thing that needs to be removed.

@zajo zajo closed this as completed Mar 13, 2023
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

No branches or pull requests

2 participants