On Friday, July 20, 2018 at 6:06:47 PM UTC-7, John Brooks wrote:
> Do you have a way to capture (other than taking photographs of the
screens) and post sample screen shots for some of the various modes?
I believe there are several HDMI video capture devices which can do this, but I haven't played with them yet.
> Also, does it appear that user-developed custom character sets could
populate your board?
The character set is in SDRAM on the video SoC, so it is not too hard to change. The challenge would be defining how the Apple CPU can access/change the charset memory and then coordinating timing while the font is in-use.
The current focus is to quickly move VidHD from prototype to production. The feature set at launch will be aimed at displaying existing Apple II video modes via HDMI and also adding three high-resolution 1080p text modes:
1) 80 x 45 (24x24 font)
2) 120 x 67 (16x16 font)
3) 240 x 135 (8x8 font)
> Also, I gathered from the video that you were accessing some type of
control panel. How is that accessed?
The VidHD control panel is currently activated by pressing Ctrl-^ (Ctrl-6) in any app. VidHD watches the CPU bus for a read of Ctrl-^ from $C000. When this happens, VidHD pauses the CPU, takes over the bus, reads the keyboard, and runs the control panel UI.
From the control panel screen, when the user presses return (to accept changes), or esc (to cancel), VidHD restores the active AppleII video display and the AppleII CPU is released to continue running.
> Is there any plan to include support for the Second Sight?
Not at this time. the higher SS resolutions don't map well to 1080p.
> If someone is using HDMI in widescreen mode (I'm assuming this is your target setup) this might be nice to mitigate the empty black bars on either side of the 4:3 frame.
VidHD expands the border width from 6 bus cycles to 10. This results in 40 visible Apple II cycles + 20 active border cycles which covers the entire 1920 width of the 16:9 display, with 5 cycles left inactive (=65 cycles per line).
> Also, are you keeping true to the syncing/vertical blank timing?
Yes, the VidHD graphic engine runs at 1MHz and draws one 'beam position' into the HDMI frame buffer every 980ns bus cycle. At startup, VidHD syncs it's beam position timing to AppleII vblank via $C019.
> Are you emulating video output "clean" or adding all original video glitches when changing modes/text smearing with colorburst on/etc
Yes, VidHD models NTSC color fringe artifacts, color dither artifacts, and also the AppleII video fetch pipeline (artifacts when toggling between text & hires modes for example). French Touch's Crazy Cycles works as expected.
Several improvements have also been made:
1) User can display GR/HGR/DHGR using either IIGS colors/mode, NTSC (IIe) artifacts, or HDTV (sharpened 'clean' NTSC).
2) Hires and DHGR can be toggled to mono or color via the VidHD control panel. Mono text, HGR, DHGR can be colorized (ie, B&W or green-screen).
3) Visible Scan-lines option can show each of the 192 or 200 AppleII scan lines.
4) IIGS Text page 2 display shadowing bug is fixed when CPU is at 1 MHz.
> One question I do have is: will the firmware on the card be updatable (by the end user) as things are improved and new features added?
Currently the board requires an external programmer device. I'd like to add in-field upgradeability, but not sure if that will happen.
> With all the video stuff that I have played around with my biggest issue has been with signal lag (mostly due to the rendering of the TV/Monitor emulation). For that reason I too am interested if the end user is going to be able to make their own firmware changes.
There is very little lag now, averaging ~33 microseconds, or 1/2 of one NTSC scanline for VidHD to process a new bus cycle and then draw the resulting beam position.
Custom firmware changes are possible but tricky as there are half a dozen async devices to coordinate between the dual SoCs and AppleII. I'd like to make VidHD customizable, but it would take laying some groundwork first.
-JB
@JBrooksBSI