Overview
Consider the following situations:
- Auto-boot game or application cartridge
- Application which requires user feedback about whether artifact colors are red/blue or blue/red and requests that the user press reset until they are swapped (as an aside, this won't work with CoCoVGA - it does not recognize E vs Q clock phase)
- Application whose video modes change
These use-cases are difficult to handle using only Software Mode Control. In the case that a piece of software does not make it straightforward to use Software Mode Control, many of the desirable extended features are accessible by way of 2 additional hardware buttons.
The VGA header connector of the CoCoVGA board provides 2 pins whose voltages can be manipulated to communicate mode change requests to the CoCoVGA FPGA. These pins can be driven by way of Ed Snider's COCOVGA SWITCHBOARD AND PORT, which, in addition to the mini-DIN connector carrying VGA, has 2 debounced momentary button switches which each control one of these two pins on the CoCoVGA board. The FPGA recognizes which button is being pressed and whether it is only a momentary toggle or a hold of 1 second or more.
The buttons are context-sensitive. That is, the FPGA recognizes the current video mode and cycles through settings appropriate to that mode.
Note that Software Mode Control supercede Hardware Mode Control settings. In other words, if a mode is selected via the hardware buttons, and software requests that setting is overridden, then it will be changed as requested by software.
Specification
Text/Semigraphics
Button 1 Press
Press Number | Reverse Video | Alpha Palette Size | Scanlines |
---|---|---|---|
None | no | full | no |
1st | yes | full | no |
2nd | no | reduced (no dark green/orange) | no |
3rd | yes | reduced (no dark green/orange) | no |
4th | no | full | yes |
5th | yes | full | yes |
6th | no | reduced (no dark green/orange) | yes |
7th | yes | reduced (no dark green/orange) | yes |
8th -> back to "None" | - | - | - |
Button 1 Hold (1 second)
Hold Number | Force Lowercase |
---|---|
None | no |
1st | yes |
2nd -> back to "None" | - |
Button 2 Press
Note that some of these modes may be more usable in their "reverse-video" form, as selected by button 1 presses, described above.
Press Number | Text Foreground Color | Text Background Color |
---|---|---|
None | default (black) | default (green or orange, depending on CSS) |
1st | black | orange or green, depending on CSS |
2nd | black | red |
3rd | white | red |
4th | black | yellow |
5th | black | blue |
6th | blue | white |
7th | black | white |
8th -> back to "None" | - | - |
Button 2 Hold (1 second)
Hold Number | Quiet Border Status |
---|---|
None | no |
1st | yes |
2nd -> back to "None" | - |
CG and RG1/2/3
Button 1 Press
Press Number | Border Color | Scanlines |
---|---|---|
None | normal | no |
1st | black | no |
2nd | normal | yes |
3rd | black | yes |
8th -> back to "None" | - | - |
Button 1 Hold (1 second)
No additional features are supported by button 1 hold in this video mode.
Button 2 Press
No additional features are supported by button 2 press in this video mode.
Button 2 Hold (1 second)
Hold Number | Quiet Border Status |
---|---|
None | no |
1st | yes |
2nd -> back to "None" | - |
RG6 (PMODE 4)
Button 1 Press
Press Number | Artifact Color (blue vs. red) | Border Color | Scanlines |
---|---|---|---|
None | normal | normal | no |
1st | swap | normal | no |
2nd | normal | black | no |
3rd | swap | black | no |
4th | normal | normal | yes |
5th | swap | normal | yes |
6th | normal | black | yes |
7th | swap | black | yes |
8th -> back to "None" | - | - | - |
Button 1 Hold (1 second)
No additional features are supported by button 1 hold in this video mode.
Button 2 Press
Press Number | NTSC Artifact Color Emulation Mode |
---|---|
None | default (MESS) |
1st | standard |
2nd | fat bits |
3rd | smArtifact |
4th | MESS |
5th | monochrome |
6th -> back to "1st" | - |
Button 2 Hold (1 second)
Hold Number | Quiet Border Status |
---|---|
None | no |
1st | yes |
2nd -> back to "None" | - |