Reply 1100 of 1116, by LSS10999
S95Sedan wrote on 2025-04-19, 21:46:Did some tests on the same card but here it did nothing, no freezes. I suspect a lot of the issue are timing related and very hardware dependent.
What kind of system is the card in?
To be honest, this card currently runs on a modded X99 board with the help of dISAppointment v0.2.
It does have some minor issues apart from this one (freezing in DN2) but in most other, more common use cases, it runs perfectly fine.
I wonder if system TSR setup may also affect its functionality a bit, as I used my usual EMS-enabled config (using JEMMEX) here. Maybe I should test this with other params. I know that some games are quite sensitive about the TSRs being used in the system environment...
S95Sedan wrote on 2025-04-19, 21:46:Yeah more of the buffer and dma16 initialization is left intact which probably helps with keeping hardware in check more.
Did some 6T mode timing tests aswell on some new chips (opposed to 12T for regular ones) and at double that speed it fully fixes (duke nukem 3d: atomic edition) stuttering at 44khz.
Still has timing issues though as it breaks the internal mpu401 port and prevents it from outputting audio.
I'm currently using STC90C58RD+ for the modded DSP FW on that card which can switch between 12T and 6T when flashing with its ISP tool. If you can adapt the FW to 6T timing (namely MPU401) I can test.
On the other hand, I also tested this with STC12C5A60S2, which is a modern, 1T-rated 8051 MCU.
Unlike 12T/6T MCUs its instruction cycles vary a lot. However, its timer remains 12T by default so MPU401 will continue working as usual there.
The tests were done on an older system before my current one, and the results back then were mixed. Some use cases such as Windows NT and Duke3D were broken while others fine. For that kind of MCU probably a lot more refactors needed. Additionally, for that MCU, internal XRAM (which will interfere with DSP operations) cannot be disabled via ISP and has to be disabled via code.