First post, by superfury
Anyone knows the exact timing of the adlib status port reads?
As in, does it signal _READY to the CPU? How many cycles does that take? Is it based on 14.31818MHz divded by 288?
The documentation says the following (https://bochs.sourceforge.io/techspec/adlib_sb.txt):
After writing to the register port, you must wait twelve cycles before sending the data; after writing the data, eighty-fo […]
After writing to the register port, you must wait twelve cycles before
sending the data; after writing the data, eighty-four cycles must elapse
before any other sound card operation may be performed.| The AdLib manual gives the wait times in microseconds: three point three
| (3.3) microseconds for the address, and twenty-three (23) microseconds
| for the data.
|
| The most accurate method of producing the delay is to read the register
| port six times after writing to the register port, and read the register
| port thirty-five times after writing to the data port.
Edit: The documentation says 6 and 36 status register reads? https://www.vgmpf.com/Wiki/images/4/48/AdLib_ … mming_Guide.pdf
Because of the nature of the card, you must wait 3.3 µsec after a register select write, and 23 µsec after a data write. Best wa […]
Because of the nature of the card, you must wait 3.3 µsec after a register
select write, and 23 µsec after a data write. Best way to handle this is to read
ALMSC status register in loop, because bus speed is always the same regardless
of processor speed. 6 reads after register select write and 36 reads after data
write should do the job.
So:
3.3 µsec is 6 reads.
23 µsec is 36 reads.
So how many µsec is 1 status port read? The chips's rendering speed is (in 288 division of 14MHz): 20,114288268481049965847614710808 µsec?
What does this say about read timings on the adlib status port? It clearly isn't the speed of the 288 division of 14MHz?
If 6 reads is a 3.3 µsec and 36 reads is a 23 µsec delay, what read timing does the status register use?
Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io