Posted By
GeorgeHug on 2021-12-12 16:35:39
| Re: Could someone run test software for me?
I've studied the table, and it basically comes down to the fact that the NTSC crystal is divided by 8, but the PAL crystal is divided by 10. That produces about the same "TED freq" values either way - so long as the crystal agrees with $FF07, both NTSC or both PAL. So I don't think there's a need to run my test program on an NTSC machine, There should be no material difference.
But @BSZ, I was wrong to say your results were what I expected. The test program runs the tests first with the screen blanked, which produces the highest CPU rate, then runs the tests again with the screen in its normal state, where the average CPU speed is considerably slower. So for any baud rate where a delay is needed, it should have taken more delay loops to get past the 6551 delay when the screen is blanked. But your results don't show any such consistent pattern, and in fact tend to show the opposite result.
I don't really know what's going on, but it appears that for 4800 baud and above, no delay is needed. So I am going to test bit 2 of the control register. If it is low then I will do 4 delay loops. If it is high I will branch around the delay altogether. Very slow baud rates, such as 300 baud, will also not get any delay, but at those rates I don't think it matters if there are extra interrrupts.
I'm going to finish this up, and re-write the Github page, and will post when I've finished. Thanks very much to everyone who had comments and suggestions, and particularly to @BSZ for doing the tests.
|