Luckily no hardware change is required to implement these changes, and everything can be adjusted within the PIC chip's firmware. Specifically in the Interrupt section of the assembly code as seen below...
org 0x004 ; Processor interrupt vector
movlw 0AH ; Wait 4.7 uS (sync)
call dly_405ns
bcf VGATE ; Turn off video for 0.6 uS (add breezeway)
nop
nop
nop
nop
bsf VGATE ; Turn on video for 3 uS (color burst)
movlw 06H
call dly_405ns
bcf VGATE ; Turn off video for 2.4 uS (over-scan deleted)
movlw 05H ; Also shorten tail end of color burst
call dly_405ns
bsf VGATE ; Turn on video (display active video data)
banksel INTCON ; Clear interrupt flag
bcf INTCON,INTF
retfie ; Leave interrupt
In this new firmware version the Color Burst was shortened to 3 uS which is the equivalent of 10 cycles, with the standard being as little as 9 or as much as 11 cycles. The 0.6 uS Breezeway got re-instated. And in order to eliminate any left side over scan and to shorten the Color Burst , the Back Porch was lengthened by 2.6 uS, and set to begin before the VIC-II's color burst ended. This last part is about 1 uS longer than the standard, but isn't a detriment.
By the way where retro computer video is concerned, there is no separate blanking vs. black level, they are one in the same.
Here's how things compare with stock video shown on the left and VGATE enabled video on the right (Color Burst is in the middle)...
The firmware is now at rev 1.1 and available for download below.
|
|
I presently don't have the means to test this in a PAL machine, but if it's anything like the Atari VGATE version I think it will automatically scale to the slower speed (60 vs. 50Hz). If not then a PAL specific firmware version will need to be developed by adjusting the timing in the interrupt routine.
- Michael
Previous Post (Next Post)