forked from mjocean/proc-GenericLauncher
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Loader.DemoMan.example.yaml
168 lines (144 loc) · 6.56 KB
/
Loader.DemoMan.example.yaml
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# Configuration file for the generic GameLaucncher for P-ROC
# Customize this file to your own needs --note that if your game
# is pre-fliptronic (i.e., as a flipper relay) then you need to
# specify a flipperEnable coil in your machine_config_file so
# the launcher can enable your flippers for game selection.
#
# The launcher uses switches:
# - flipperLwR
# - flipperLwL
# - startButton
# to navigate the game list.
#
# most options should be obvious.
# Note that games that run via Python require a gamefile and gamepath
# whereas pinmame ROMs (Williams/FreeWPC) should have a ROM specified
# ROMs should be placed in the pinmame path.
#####################################################################
# Path to YAML file describing the machine. Used by GameLauncher to
# identify the flipperLwR, flipperLwL and startButton switches, and the
# startButton lamp (if it exists).
machine_config_file: '/home/user/dm2.yaml'
# Title and instructions to display when launcher starts
title: 'Demolition Man'
instructions_line_1: 'Choose game with flippers'
instructions_line_2: 'then press START to select.'
# General Illumination strings to light, and optional lampshow
gi_enable: ['gi01', 'gi02', 'gi03', 'gi04', 'gi05']
lampshow: '/home/user/launcher.lampshow'
# Configuration for PinMAME-based games
pinmame:
path: '/home/user/Downloads/pinbox-toolkit'
cmd: './runpinmame'
# Location of NVRAM files used to store high scores and settings
# for a given PinMAME ROM. Also used to support multiple game
# configurations by having multiple .nv files. Note that it should
# end with a path separator ('/' on Linux, '\' on Windows).
nvram: '/home/user/.xpinmame/nvram/'
# Configuration for Python-based games
python:
cmdpath: '/usr/bin/python'
# A list of games to run on this cabinet. Typically includes one or more
# PinMAME ROMs for the original "stock" firmware, along with Python-based
# games built with pyprocgame.
games:
-
# Description for first two lines of DMD page for this Python-based game.
# GameLauncher shows the configuration description (see below) as line
# three, and the current Grand Champion score for that configuration.
line1: 'Custom Demolition Man'
line2: '(work in progress)'
# Game directory and Python file to launch for this custom game
gamepath: '/home/user/cdm/'
gamefile: 'cdm.py /home/user/dm2.yaml'
scores: 'config/game_data.yaml'
# optional settings file, if stored separately from high scores
settings: 'config/user_settings.yaml'
# Details of where the Grand Champion score is stored in a YAML file
# used by the game. Use dot notation to specify the location of initials
# and score. Uses {gamepath}{fileprefix}-scores.yaml for a given
# configuration (see below) or {gamepath}{scores} if there isn't a
# "configuration" section in this file.
#
# Used to display the current GC on line 4 of the DMD page for a game
# choice.
gc:
initials: 'ClassicHighScoreData.0.inits'
score: 'ClassicHighScoreData.0.score'
# GameLauncher supports use of multiple YAML files to allow for
# launching a game with different configurations. If a game doesn't
# have a 'configuration' section, GameLauncher will just display
# "default configuration" and not do any file copying.
#
# Copies {gamepath}{fileprefix}-settings.yaml -> {gamepath}{settings}
# and {gamepath}{fileprefix}-scores.yaml -> {gamepath}{scores}
# before launching the game, and then copies the files back upon return.
configuration:
-
# prefix for settings and scores YAML files, stored in {gamepath}
fileprefix: '3ball'
# Description to show on line 3 of the DMD page for this game choice.
description: '3-ball w/extra balls'
- fileprefix: '5ball'
description: '5-ball w/extra balls'
- fileprefix: 'tourney'
description: '3-ball, tournament'
-
# Description for first two lines of DMD page for this game choice.
# GameLauncher shows the configuration description (see below) as line
# three, and the current Grand Champion score for that configuration.
line1: 'Demolition Man'
line2: '(WMS, production LX4 ROM)'
# ROM version to use for this game choice
ROM: 'dm_lx4'
# Details of where the Grand Champion score is stored in the PinMAME
# NVRAM file. This is at a fixed location for any given ROM version.
# Used to display the current GC on line 4 of the DMD page for a game
# choice (optional method instead of using nv_json setting and
# ParseNVRAM from py-pinmame-nvmaps)
gc:
# offset of three-character player initials
initials: 0x1C87
# offset to the Grand Champion score
score: 0x1C8A
# number of BCD-encoded bytes used for the score
bcd_bytes: 6
# file describing how scores are stored in the nvram file, overrides 'gc'
nv_json: 'py-pinmame-nvmaps/maps/dm_lx4.nv.json'
# GameLauncher supports use of multiple NVRAM files to allow for
# launching a ROM with different configurations. If a game doesn't
# have a 'configuration' section, GameLauncher will just display
# "default configuration" and not do any .nv file copying.
configuration:
-
# Name of the .nv file to copy to <ROM>.nv before launching
# PinMAME, and then to copy back to when PinMAME exits.
filename: 'dm_lx4-3ball'
# Description to show on line 3 of the DMD page for this game choice.
description: '3-ball w/extra balls'
- filename: 'dm_lx4-5ball'
description: '5-ball w/extra balls'
- filename: 'dm_lx4-tourney'
description: '3-ball, tournament'
- line1: 'Demolition Man'
line2: '(WMS, swearing/H6 ROM)'
ROM: 'dm_h6'
gc:
initials: 0x1CAF
score: 0x1CB2
bcd_bytes: 6
nv_json: 'py-pinmame-nvmaps/maps/dm_h6.nv.json'
configuration:
- filename: 'dm_h6-3ball'
description: '3-ball w/extra balls'
- filename: 'dm_h6-5ball'
description: '5-ball w/extra balls'
- filename: 'dm_h6-tourney'
description: '3-ball, tournament'
- line1: 'Demolition Time'
line2: '(by James Cardona, v0.99)'
ROM: 'dm_dt099'
gc:
initials: 0x195E
score: 0x1959
bcd_bytes: 5