Gopher2600/reflection/overlay.go
JetSetIlly d7a832ca61 improved end-of-screen indicator in uncropped TV screen
there was previously a flyback line but that left a large black area for
most ROMs, with no explanation

sensible tooltip for TV screen when outside of TV frame

removed striping parameters for dbgscr_overlay shader

improved VSYNC/VBLANK reflection colours. distinguished how VSYNC is
indicated in the overlay when VBLANK is active and when it is not
2025-01-07 09:54:00 +00:00

69 lines
2.1 KiB
Go

// This file is part of Gopher2600.
//
// Gopher2600 is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Gopher2600 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Gopher2600. If not, see <https://www.gnu.org/licenses/>.
package reflection
// ReflectedInfo identifies specific information that has been reflected in a
// ReflectedVideoStep instance.
//
// We don't use this inside the reflection package itself but the type and
// associated values are useful and it makes sense to define them in this
// package.
type ReflectedInfo int
// List of valid ReflectedInfo values.
const (
RefreshRate ReflectedInfo = iota
VBLANK
VSYNC_NO_VBLANK
VSYNC_WITH_VBLANK
WSYNC
Collision
CXCLR
HMOVEdelay
HMOVEripple
HMOVElatched
RSYNCalign
RSYNCreset
// for graphical purposes we only distinguish between active and inactive
// coprocessor states. the underlying states as defined in the mapper
// package (mapper.CoProcSynchronisation) are used to decided whether the
// coproc is active or inactive
CoProcInactive
CoProcActive
)
// Overlay is used to define the list of possible overlays that can be used to
// illustrate/visualise information in a ReflectedVideoStep instance.
//
// We don't use this inside the reflection package itself but the type and
// associated values are useful and it makes sense to define them in this
// package.
type Overlay int
// List of valid Overlay values.
const (
OverlayNone Overlay = iota
OverlayVBLANK_VSYNC
OverlayWSYNC
OverlayCollision
OverlayHMOVE
OverlayRSYNC
OverlayCoproc
)
// OverlayLabels are names/labels for the the Policy type values.
var OverlayLabels = []string{"No overlay", "VBLANK/VSYNC", "WSYNC", "Collisions", "HMOVE", "RSYNC", "Coprocessor"}