1use crate::app::HelpText;
2
3pub const TIMING_MODE: HelpText = HelpText {
4    heading: "SMS Timing Mode",
5    text: &[
6        "Set Master System timing mode to NTSC (60Hz) or PAL (50Hz). This setting has no effect for Game Gear.",
7        "NTSC vs. PAL cannot easily be auto-detected for Master System, so this needs to be explicitly configured. NA and JP releases generally prefer NTSC, and EU releases generally prefer PAL.",
8    ],
9};
10
11pub const VDP_VERSION: HelpText = HelpText {
12    heading: "SMS VDP Version",
13    text: &[
14        "Configure which VDP model to use for Master System emulation.",
15        "The only difference is that the SMS1 option emulates a VDP hardware bug that is required for the Japanese version of Ys to render correctly.",
16    ],
17};
18
19pub const REGION: HelpText = HelpText {
20    heading: "Region",
21    text: &[
22        "Configure which hardware region the emulator reports to games.",
23        "For international releases, this sometimes changes the title screen or in-game text.",
24    ],
25};
26
27pub const Z80_OVERCLOCK: HelpText = HelpText {
28    heading: "Z80 Clock Divider",
29    text: &[
30        "Optionally overclock the Z80 CPU by reducing the master clock divider.",
31        "This can reduce or eliminate slowdown in some games but can also cause major glitches. Use with caution.",
32    ],
33};
34
35pub const BIOS: HelpText = HelpText {
36    heading: "BIOS",
37    text: &[
38        "Boot into a Sega Master System or Game Gear BIOS at power-on.",
39        "If disabled, the emulator will boot directly into the game.",
40    ],
41};
42
43pub const SMS_ASPECT_RATIO: HelpText = HelpText {
44    heading: "SMS Aspect Ratio",
45    text: &[
46        "Configure aspect ratio for Master System emulation.",
47        "NTSC - 8:7 pixel aspect ratio",
48        "PAL - 11:8 pixel aspect ratio",
49    ],
50};
51
52pub const GG_ASPECT_RATIO: HelpText = HelpText {
53    heading: "Game Gear Aspect Ratio",
54    text: &[
55        "Configure aspect ratio for Game Gear emulation.",
56        "Game Gear LCD - 6:5 pixel aspect ratio",
57    ],
58};
59
60pub const REMOVE_SPRITE_LIMIT: HelpText = HelpText {
61    heading: "Remove Sprite Limit",
62    text: &[
63        "If enabled, ignore the hardware's 8 sprite-per-scanline limit when rendering.",
64        "This typically eliminates sprite flickering.",
65    ],
66};
67
68pub const SMS_CROP_VERTICAL_BORDER: HelpText = HelpText {
69    heading: "SMS Crop Vertical Border",
70    text: &[
71        "If enabled, crop the top and bottom borders before display.",
72        "The vertical borders only ever contain the backdrop color.",
73    ],
74};
75
76pub const SMS_CROP_LEFT_BORDER: HelpText = HelpText {
77    heading: "SMS Crop Left Border",
78    text: &[
79        "If enabled, crop the leftmost 8 pixels before display.",
80        "Most games only display the backdrop color here, but some games do display actual game graphics in this area.",
81    ],
82};
83
84pub const GG_FRAME_BLENDING: HelpText = HelpText {
85    heading: "Game Gear Frame Blending",
86    text: &[
87        "If enabled, blend each frame with the previous frame to emulate the effect of LCD ghosting.",
88    ],
89};
90
91pub const GG_USE_SMS_RESOLUTION: HelpText = HelpText {
92    heading: "Game Gear Expanded Resolution",
93    text: &[
94        "If enabled, display the full 256x192 frame rendered by the VDP rather than only the center 160x144 pixels.",
95        "Only the center pixels display on actual hardware, so the expanded parts of the frame may contain garbage.",
96    ],
97};
98
99pub const PSG_VERSION: HelpText = HelpText {
100    heading: "PSG Version",
101    text: &[
102        "Configure which PSG model to use.",
103        "The SMS2 PSG has been observed to clip channels playing at the highest volumes, and some games have extremely loud sound effects if this is not emulated.",
104        "The Auto setting uses the SMS2 option for Master System emulation, SMS1 / Game Gear for Game Gear emulation, and SG-1000 for SG-1000 emulation.",
105    ],
106};
107
108pub const SMS_FM_UNIT: HelpText = HelpText {
109    heading: "SMS FM Sound Unit",
110    text: &[
111        "Enable the Master System FM sound unit expansion, which contains a Yamaha YM2413 FM synthesis sound chip (aka OPLL).",
112        "Not all games support the FM sound unit. Games that support it will usually use it automatically if they detect it.",
113    ],
114};