VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

Is the I/O permission bitmap read for every I/O instruction in it's range of I/O ports?
What about during string instructions? Is it referenced for every byte/word/doubleword transferred?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 1 of 2, by reenigne

User metadata
Rank Oldbie
Rank
Oldbie

It's read for each IN(S)/OUT(S) instruction, but not for each iteration of a repeated string instruction.

Reply 2 of 2, by superfury

User metadata
Rank l33t++
Rank
l33t++

OK. I've just adjusted the repeated string instruction to only reference the bitmap for the first iteration, then assume it's read 0 for all other iterations (thus not faulting on them). That should speed up those string instructions a lot now. It would also explain why I was getting a big performance drop whenever it was reading the hard disk (which is usually a REP INSD or REP OUTSD instruction with 512 bytes of data transferred, or multiples thereof).

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io