VirtualC64 v5.0 beta
Commodore 64 Emulator
Loading...
Searching...
No Matches
Constants.h
Go to the documentation of this file.
1// -----------------------------------------------------------------------------
2// This file is part of VirtualC64
3//
4// Copyright (C) Dirk W. Hoffmann. www.dirkwhoffmann.de
5// This FILE is dual-licensed. You are free to choose between:
6//
7// - The GNU General Public License v3 (or any later version)
8// - The Mozilla Public License v2
9//
10// SPDX-License-Identifier: GPL-3.0-or-later OR MPL-2.0
11// -----------------------------------------------------------------------------
14#pragma once
15
16#include "Types.h"
17
20namespace vc64 {
21
24namespace PAL {
25
26// Clock frequencies
27static const long CLOCK_FREQUENCY = 985249;
29
30// Aspect ratios
31static const double ASPECT_RATIO = 0.9365;
32
33// Horizontal parameters (measured in cycles)
34static const long HBLANK_CYCLES_LEFT = 13;
35static const long BORDER_CYCLES_LEFT = 4;
36static const long CANVAS_CYCLES = 40;
37static const long BORDER_CYCLES_RIGHT = 4;
38static const long HBLANK_CYCLES_RIGHT = 2;
39
40// Derived values
41static const long PAL_CYCLES_PER_LINE = 63;
42
43// Horizontal parameters (measured in pixels)
44static const long HBLANK_PIXELS_LEFT = 104;
45static const long BORDER_PIXELS_LEFT = 32;
46static const long CANVAS_PIXELS = 320;
47static const long BORDER_PIXELS_RIGHT = 32;
48static const long HBLANK_PIXELS_RIGHT = 16;
49
50// Derived values
51static const long FIRST_VISIBLE_PIXEL = 104;
52static const long VISIBLE_PIXELS = 384;
53static const long LAST_VISIBLE_PIXEL = 487;
54static const long PIXELS_PER_LINE = 504;
55
56// Vertical parameters
57static const long FIRST_VISIBLE_LINE = 16;
58
59}
60
63namespace NTSC {
64
65// Clock frequency in Hz
66static const long CLOCK_FREQUENCY = 1022727;
68
69// Pixel aspect ratios
70static const double ASPECT_RATIO = 0.7500;
71
72// Horizontal parameters (measured in cycles)
73static const long HBLANK_CYCLES_LEFT = 13;
74static const long BORDER_CYCLES_LEFT = 4;
75static const long CANVAS_CYCLES = 40;
76static const long BORDER_CYCLES_RIGHT = 4;
77static const long HBLANK_CYCLES_RIGHT = 4;
78
79// Derived values
80static const long CYCLES_PER_LINE = 65;
81
82// Horizontal parameters (measured in pixels)
83static const long HBLANK_PIXELS_LEFT = 104;
84static const long BORDER_PIXELS_LEFT = 32;
85static const long CANVAS_PIXELS = 320;
86static const long BORDER_PIXELS_RIGHT = 32;
87static const long HBLANK_PIXELS_RIGHT = 32;
88
89// Derived values
90static const long FIRST_VISIBLE_PIXEL = 104;
91static const long VISIBLE_PIXELS = 384;
92static const long LAST_VISIBLE_PIXEL = 487;
93static const long PIXELS_PER_LINE = 520;
94
95// Vertical parameters
96static const long FIRST_VISIBLE_LINE = 16;
97
98}
99
102namespace Texture {
103
105static const long height = 312;
106
108static const long width = 520;
109
110}
111
112}
static const long CYCLES_PER_SECOND
CPU cycles per seconds.
Definition Constants.h:67
static const long BORDER_PIXELS_LEFT
Left border width in pixels.
Definition Constants.h:84
static const long CANVAS_CYCLES
Main canvas width in cycles.
Definition Constants.h:75
static const long FIRST_VISIBLE_PIXEL
104
Definition Constants.h:90
static const double ASPECT_RATIO
Pixel aspect ratio.
Definition Constants.h:70
static const long LAST_VISIBLE_PIXEL
104 + 32 + 320 + 31
Definition Constants.h:92
static const long HBLANK_PIXELS_RIGHT
Right HBLANK width in pixels.
Definition Constants.h:87
static const long VISIBLE_PIXELS
32 + 320 + 32
Definition Constants.h:91
static const long FIRST_VISIBLE_LINE
First line after VBLANK.
Definition Constants.h:96
static const long BORDER_CYCLES_LEFT
Left border width in cycles.
Definition Constants.h:74
static const long BORDER_CYCLES_RIGHT
Right border width in cycles.
Definition Constants.h:76
static const long HBLANK_CYCLES_LEFT
Left HBLANK width in cycles.
Definition Constants.h:73
static const long CYCLES_PER_LINE
13 + 4 + 40 + 4 + 4
Definition Constants.h:80
static const long CANVAS_PIXELS
Main canvas width in pixels.
Definition Constants.h:85
static const long BORDER_PIXELS_RIGHT
Right border width in pixels.
Definition Constants.h:86
static const long HBLANK_PIXELS_LEFT
Left HBLANK width in pixels.
Definition Constants.h:83
static const long PIXELS_PER_LINE
104 + 32 + 320 + 32 + 32
Definition Constants.h:93
static const long HBLANK_CYCLES_RIGHT
Right HBLANK width in cycles.
Definition Constants.h:77
static const long CLOCK_FREQUENCY
Clock frequency in Hz.
Definition Constants.h:66
static const long CYCLES_PER_SECOND
CPU cycles per seconds.
Definition Constants.h:28
static const long BORDER_PIXELS_LEFT
Left border width in pixels.
Definition Constants.h:45
static const long CANVAS_CYCLES
Main canvas width in cycles.
Definition Constants.h:36
static const long FIRST_VISIBLE_PIXEL
104
Definition Constants.h:51
static const double ASPECT_RATIO
Pixel aspect ratio.
Definition Constants.h:31
static const long LAST_VISIBLE_PIXEL
104 + 32 + 320 + 31
Definition Constants.h:53
static const long HBLANK_PIXELS_RIGHT
Right HBLANK width in pixels.
Definition Constants.h:48
static const long VISIBLE_PIXELS
32 + 320 + 32
Definition Constants.h:52
static const long FIRST_VISIBLE_LINE
First line after VBLANK.
Definition Constants.h:57
static const long BORDER_CYCLES_LEFT
Left border width in cycles.
Definition Constants.h:35
static const long BORDER_CYCLES_RIGHT
Right border width in cycles.
Definition Constants.h:37
static const long HBLANK_CYCLES_LEFT
Left HBLANK width in cycles.
Definition Constants.h:34
static const long CANVAS_PIXELS
Main canvas width in pixels.
Definition Constants.h:46
static const long BORDER_PIXELS_RIGHT
Right border width in pixels.
Definition Constants.h:47
static const long HBLANK_PIXELS_LEFT
Left HBLANK width in pixels.
Definition Constants.h:44
static const long PIXELS_PER_LINE
104 + 32 + 320 + 32 + 16
Definition Constants.h:54
static const long HBLANK_CYCLES_RIGHT
Right HBLANK width in cycles.
Definition Constants.h:38
static const long PAL_CYCLES_PER_LINE
13 + 4 + 40 + 4 + 2
Definition Constants.h:41
static const long CLOCK_FREQUENCY
Clock frequency in Hz.
Definition Constants.h:27
static const long height
Height of the emulator texture in texels.
Definition Constants.h:105
static const long width
Width of the emulator texture in texels.
Definition Constants.h:108
VirtualC64 project namespace.
Definition CmdQueue.cpp:16