15-10-2026, 08:23 AM
(15-10-2026, 07:42 AM)Graham72 Wrote: I'm stuck on how vertical blank and vsync reach software.
There are 2 methods of getting the 50Hz VSYNC / VBLANK timing into software.
The first one is via polling the 6545 status register to wait for the vertical retrace period. Obviously not interrupt driven.
Second is via interrupt from the PIO only if the link is set (or manual wire link in earlier models that don't have the link).
The link connects VSYNC to the PIO Port B bit 7, as you have mentioned.
This method was only used on the Non-Disk machines (IE: PC85).
On the premium (Alpha Plus) baseboard, there is a 2 x 3 jumper block to connect 1 of 3 sources to the PIO.
RTC, Network Direction (used as an output in this case), and VSYNC. Only 1 of these functions can be selected.
In the PC85 (Rom based machine) VSYNC is connected to provide a Pseudo Real Time Clock.
From the above, only the first method is suitable for properly using the video refresh timing on the Microbee across all models.
Quote:As Someone notes in an earlier thread I have found disk services have lost data if PB7 is wired.Someone is absolutely correct. As the disk interface is non-interrupt driven (Software polled), any serviced interrupt that is not masked
during disk activity will have the potential to have buffer overruns on disk reads (new byte arrives within the disk controller before the last
byte has been read out), or underruns in the case of writes.
