forked from BitJag/atari_jaguar_240p_test_suite
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathextra_tests.h
More file actions
79 lines (69 loc) · 2.55 KB
/
Copy pathextra_tests.h
File metadata and controls
79 lines (69 loc) · 2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#ifndef EXTRA_TESTS
#define EXTRA_TESTS
#include <jagdefs.h>
#include <jagtypes.h>
#include <stdlib.h>
#include <interrupt.h>
#include <display.h>
#include <sprite.h>
#include <joypad.h>
#include <screen.h>
#include <blit.h>
#include <fb2d.h>
#include <lz77.h>
#include <sound.h>
#include "common_assets.h"
#include "help.h"
/* ---------------------------------------------------------------------------
* Extra 240p Test Suite tests, ported in spirit from the canonical Artemio
* Urbina suite (Genesis / Mega Drive, SNES, Dreamcast, Wii, Neo Geo, etc).
*
* Everything in here is generated procedurally on the Jaguar at runtime so
* we don't have to ship more LZ77-packed PNG assets. The Jaguar's blitter +
* `screen` primitives let us draw color bars, gradients, and stripe
* patterns directly into a framebuffer that becomes a sprite layer, so the
* end result is visually identical to the upstream PNG-baked patterns
* without growing the cart image past its current 1 MiB footprint.
* --------------------------------------------------------------------------- */
/* Test patterns */
void DrawColorBarsGray(void);
void DrawLinearity(void);
void DrawPhase(void);
void DrawBrightness(void);
void DrawContrast(void);
void DrawYCDelay(void);
void DrawDiagonal(void);
/* Video tests */
void ManualLagTest(void);
void Alternate240p480iTest(void);
void VertScrollTest(void);
/* Audio tests */
void AudioBalanceTest(void);
void MDFourierTest(void);
/* Broadband + reference noise generators and L/R isolation, mirrors the
* canonical Audio menu items in the Genesis / GameCube / Dreamcast 240p
* Test Suites. White noise is for full-bandwidth driver / cable stress;
* pink noise (equal energy per octave) is the standard frequency-response
* test signal; channel separation isolates L vs R to catch crossed
* wiring or a mono'd output. */
void WhiteNoiseTest(void);
void PinkNoiseTest(void);
void ChannelSeparationTest(void);
/* Hardware tests */
void HardwareInfo(void);
void JaguarCDTest(void);
void MemoryTrackTest(void);
void JagLinkTest(void);
void ResolutionTest(void);
void ProControllerTest(void);
void RotaryControllerTest(void);
/* Screen savers (animated full-screen patterns for OLED burn-in / demo)
* Mirrors the Screensavers section that ships with the canonical 240p
* test suite (Genesis / SNES / Dreamcast). All three are procedural, no
* extra LZ77 assets required. */
void ColorCycleSaver(void);
void BouncingSquareSaver(void);
void ScrollingBarsSaver(void);
/* Options menu (replaces the old (x)Options stub everywhere it appeared) */
void OptionsMenu(void);
#endif