· 5 years ago · Feb 16, 2020, 11:04 PM
1[code]
218:00:17:678 | RL | INFO | +N/A | Main - RocketLauncher v1.2.0.1 (www.rlauncher.com)
318:00:17:716 | RL | WARNING | +31 | Main - Logging level is debug or higher and will cause slowdowns to RocketLauncher's performance. When troubleshooting is finished, please lower logging level to restore proper performance.
418:00:17:907 | RL | DEBUG | +187 | Registry.Read - Reading from Registry : RootKey=HKEY_LOCAL_MACHINE, SubKey=System\CurrentControlSet\Control\Windows, ValueName=ErrorMode,RegistryVersion=32
518:00:17:910 | RL | DEBUG | +0 | Registry.Read - Registry Read finished, returning 0
618:00:17:912 | RL | INFO | +16 | Main - System Specs:
7 RocketLauncher Dir: D:\Hyperspin\RocketLauncher
8 RocketLauncher is: 32-bit
9 OS: Microsoft Windows 7 Professional
10 SKU: Professional
11 Total Memory: 8135.57 MB
12 Free Memory: 5222.91 MB
13 Used Memory: 2912.656 MB
14 SystemType: 64-bit
15 Physical Processors: 1
16 Logical Processors: 8
17 GPU 1 Name: VNC Mirror Driver
18 GPU 1 RAM: 0.00 MB
19 GPU 1 Driver Version: 1.8.0.0
20 GPU 2 Name: NVIDIA GeForce GTX 1060 6GB
21 GPU 2 RAM: -1.00 MB
22 GPU 2 Driver Version: 26.21.14.3160
23 Sound 1 Device: NVIDIA High Definition Audio
24 Sound 1 Status: Enabled
25 Sound 2 Device: High Definition Audio Device
26 Sound 2 Status: Enabled
27 OS Language: English_United_States
28 System Locale: en-US
29 Formats Locale: en-US
30 Windows UI Language: en-US
31 Text Encoding: Windows-1252
32 OS Admin Status: No
33 RL Compatibility Flags: HIGHDPIAWARE
34 Latest .Net Version: v4.0.30319
35 Monitor #1 (\\.\DISPLAY1): 1920x1080 (1920x1080 work) [32bit] [60hz] [Landscape] (Primary)
36 Current AHK Desktop Width: 1920
37 Current AHK Desktop Height: 1080
38 Monitor #1 DPI: 150
39 ErrorMode: 0
40 AutoHotkey Path:
41 AHK Version: 1.1.13.00
42 Unicode: No
4318:00:17:916 | RL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\RocketLauncher\RocketLauncher.exe exists
4418:00:17:928 | RL | DEBUG | +16 | CheckFile - Attributes:
45 FileDescription RocketLauncher
46 FileVersion 1.2.0.1
47 LegalCopyright ©2016 RocketLauncher
48 ProductName djvj's one swell guy!
49 ProductVersion 1.2.0.1
50 CompanyName Your favorite Front End companion! Visit us @ www.rlauncher.com
51 File Size: 2195456 bytes
52 Created: 9/14/2019 - 10:27:08 PM
53 Modified: 2/13/2020 - 3:11:17 AM
5418:00:17:932 | RL | INFO | +0 | GetSystems - Started
5518:00:17:935 | RL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\RocketLauncher\RocketLauncherUI\Databases\Systems.xml exists
5618:00:17:950 | RL | DEBUG | +15 | CheckFile - Attributes:
57 File Size: 21 bytes
58 Created: 9/14/2019 - 10:27:32 PM
59 Modified: 3/29/2015 - 6:20:27 PM
6018:00:17:953 | RL | INFO | +0 | GetSystems - Found a RocketLauncher Systems.xml: "D:\Hyperspin\RocketLauncher\RocketLauncherUI\Databases\Systems.xml"
6118:00:17:957 | RL | INFO | +0 | GetSystems - Parsing the systems xml
6218:00:17:964 | RL | INFO | +16 | GetSystems - Ended
6318:00:17:977 | RL | INFO | +15 | Main - RocketLauncher launched directly
6418:00:33:455 | RL | TRACE | +15476 | File.__New - Creating new file object of: "D:\Hyperspin\RocketLauncher\Module Extensions\RocketLauncher.dll"
6518:00:33:466 | RL | INFO | +15 | File.CheckFile - Checking if "D:\Hyperspin\RocketLauncher\Module Extensions\RocketLauncher.dll" exists
6618:00:33:470 | RL | TRACE | +0 | File.Exist - This file exists: D:\Hyperspin\RocketLauncher\Module Extensions\RocketLauncher.dll
6718:00:33:473 | RL | DEBUG | +0 | File.CheckFile - Attributes:
68 FileDescription RocketLauncher Utils
69 FileVersion 1.1.0.0
70 InternalName RocketLauncher.dll
71 LegalCopyright Copyright © RocketLauncher 2013-2016
72 OriginalFilename RocketLauncher.dll
73 ProductName RocketLauncher
74 ProductVersion 1.1.0.0
75 File Size: 81408 bytes
76 Created: 9/14/2019 - 10:27:23 PM
77 Modified: 2/13/2020 - 3:11:09 AM
7818:00:33:491 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Extension: D:\Hyperspin\RocketLauncher\Module Extensions\Array.ahk
7918:00:33:495 | RL | DEBUG | +0 | CheckFile - Attributes:
80 File Size: 4926 bytes
81 Created: 9/14/2019 - 10:27:21 PM
82 Modified: 2/13/2020 - 3:11:32 AM
8318:00:33:510 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Module Extensions\BinHexRW.ahk
8418:00:33:513 | RL | DEBUG | +15 | CheckFile - Attributes:
85 File Size: 5112 bytes
86 Created: 9/14/2019 - 10:27:21 PM
87 Modified: 2/13/2020 - 3:10:50 AM
8818:00:33:517 | RL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\RocketLauncher\Module Extensions\BlockInput.exe exists
8918:00:33:529 | RL | DEBUG | +16 | CheckFile - Attributes:
90 FileDescription
91 FileVersion 1.1.09.04
92 InternalName
93 OriginalFilename
94 ProductName
95 ProductVersion 1.1.09.04
96 File Size: 657920 bytes
97 Created: 9/14/2019 - 10:27:21 PM
98 Modified: 3/29/2015 - 3:53:48 PM
9918:00:33:544 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Extension: D:\Hyperspin\RocketLauncher\Module Extensions\CLR_L.ahk | vInterop
10018:00:33:548 | RL | DEBUG | +0 | CheckFile - Attributes:
101 File Size: 5503 bytes
102 Created: 9/14/2019 - 10:27:21 PM
103 Modified: 2/13/2020 - 3:11:29 AM
10418:00:33:563 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Extension: D:\Hyperspin\RocketLauncher\Module Extensions\Control_AniGif.ahk | vAniGif.ahk
10518:00:33:567 | RL | DEBUG | +0 | CheckFile - Attributes:
106 File Size: 5716 bytes
107 Created: 9/14/2019 - 10:27:21 PM
108 Modified: 3/29/2015 - 3:53:48 PM
10918:00:33:583 | RL | ERROR | +16 | CRC Check - No CRC defined on the header for: D:\Hyperspin\RocketLauncher\Module Extensions\gdip.ahk
11018:00:33:587 | RL | DEBUG | +0 | CheckFile - Attributes:
111 File Size: 88789 bytes
112 Created: 9/14/2019 - 10:27:22 PM
113 Modified: 3/29/2015 - 3:53:48 PM
11418:00:33:602 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Module Extensions\gdip_alt.ahk
11518:00:33:606 | RL | DEBUG | +16 | CheckFile - Attributes:
116 File Size: 5955 bytes
117 Created: 9/14/2019 - 10:27:22 PM
118 Modified: 2/13/2020 - 3:10:56 AM
11918:00:33:609 | RL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\RocketLauncher\Module Extensions\gsdll32.dll exists
12018:00:33:622 | RL | DEBUG | +15 | CheckFile - Attributes:
121 File Size: 13090816 bytes
122 Created: 9/14/2019 - 10:27:22 PM
123 Modified: 3/29/2015 - 3:53:49 PM
12418:00:33:625 | RL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\RocketLauncher\Module Extensions\itextsharp.dll exists
12518:00:33:638 | RL | DEBUG | +16 | CheckFile - Attributes:
126 FileDescription iTextSharp
127 FileVersion 5.4.2.0
128 InternalName itextsharp.dll
129 LegalCopyright Copyright (C) 1999-2013 by Bruno Lowagie and Paulo Soares. All Rights Reserved.
130 OriginalFilename itextsharp.dll
131 ProductName iTextSharp
132 ProductVersion 5.4.2.0
133 CompanyName 1T3XT BVBA
134 File Size: 3743744 bytes
135 Created: 9/14/2019 - 10:27:22 PM
136 Modified: 3/29/2015 - 3:53:49 PM
13718:00:33:654 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Module Extensions\Java.ahk
13818:00:33:657 | RL | DEBUG | +0 | CheckFile - Attributes:
139 File Size: 7859 bytes
140 Created: 9/14/2019 - 10:27:22 PM
141 Modified: 2/13/2020 - 3:11:31 AM
14218:00:33:673 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Extension: D:\Hyperspin\RocketLauncher\Module Extensions\JSON.ahk
14318:00:33:677 | RL | DEBUG | +0 | CheckFile - Attributes:
144 File Size: 9227 bytes
145 Created: 9/14/2019 - 10:27:22 PM
146 Modified: 2/13/2020 - 3:11:14 AM
14718:00:33:692 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Module Extensions\Origin.ahk
14818:00:33:696 | RL | DEBUG | +0 | CheckFile - Attributes:
149 File Size: 4915 bytes
150 Created: 9/14/2019 - 10:27:23 PM
151 Modified: 2/13/2020 - 3:11:36 AM
15218:00:33:711 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Extension: D:\Hyperspin\RocketLauncher\Module Extensions\RegRW64.ahk
15318:00:33:715 | RL | DEBUG | +16 | CheckFile - Attributes:
154 File Size: 6915 bytes
155 Created: 9/14/2019 - 10:27:23 PM
156 Modified: 3/29/2015 - 3:53:48 PM
15718:00:33:731 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Extension: D:\Hyperspin\RocketLauncher\Module Extensions\RIni.ahk | v1.7
15818:00:33:734 | RL | DEBUG | +0 | CheckFile - Attributes:
159 File Size: 67872 bytes
160 Created: 9/14/2019 - 10:27:23 PM
161 Modified: 2/13/2020 - 3:11:19 AM
16218:00:33:737 | RL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\RocketLauncher\Module Extensions\SevenZipSharp.dll exists
16318:00:33:750 | RL | DEBUG | +15 | CheckFile - Attributes:
164 FileDescription SevenZipSharp
165 FileVersion 0.64.5717.6837
166 InternalName SevenZipSharp.dll
167 LegalCopyright Copyright (C) Markovtsev Vadim 2009, 2010, licenced under LGPLv3
168 OriginalFilename SevenZipSharp.dll
169 ProductName SevenZipSharp
170 ProductVersion 0.64.5717.6837
171 CompanyName Markovtsev Vadim
172 File Size: 167424 bytes
173 Created: 9/14/2019 - 10:27:23 PM
174 Modified: 2/13/2020 - 3:11:33 AM
17518:00:33:765 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Module Extensions\Steam.ahk
17618:00:33:769 | RL | DEBUG | +0 | CheckFile - Attributes:
177 File Size: 5517 bytes
178 Created: 9/14/2019 - 10:27:23 PM
179 Modified: 2/13/2020 - 3:11:14 AM
18018:00:33:784 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Extension: D:\Hyperspin\RocketLauncher\Module Extensions\VA.ahk
18118:00:33:788 | RL | DEBUG | +0 | CheckFile - Attributes:
182 File Size: 34688 bytes
183 Created: 9/14/2019 - 10:27:23 PM
184 Modified: 3/29/2015 - 3:53:48 PM
18518:00:33:803 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Module Extensions\VA_Extension.ahk
18618:00:33:806 | RL | DEBUG | +0 | CheckFile - Attributes:
187 File Size: 3862 bytes
188 Created: 9/14/2019 - 10:27:23 PM
189 Modified: 2/13/2020 - 3:11:02 AM
19018:00:33:822 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\7z.ahk
19118:00:33:825 | RL | DEBUG | +15 | CheckFile - Attributes:
192 File Size: 33916 bytes
193 Created: 9/14/2019 - 10:27:14 PM
194 Modified: 2/13/2020 - 3:11:29 AM
19518:00:33:842 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Bezel.ahk
19618:00:33:846 | RL | DEBUG | +0 | CheckFile - Attributes:
197 File Size: 121257 bytes
198 Created: 9/14/2019 - 10:27:14 PM
199 Modified: 2/13/2020 - 3:10:55 AM
20018:00:33:861 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Fade.ahk
20118:00:33:864 | RL | DEBUG | +0 | CheckFile - Attributes:
202 File Size: 39707 bytes
203 Created: 9/14/2019 - 10:27:14 PM
204 Modified: 2/13/2020 - 3:11:05 AM
20518:00:33:879 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Fade Init.ahk
20618:00:33:883 | RL | DEBUG | +0 | CheckFile - Attributes:
207 File Size: 1140 bytes
208 Created: 9/14/2019 - 10:27:14 PM
209 Modified: 2/13/2020 - 3:11:00 AM
21018:00:33:898 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Fade Animations.ahk
21118:00:33:902 | RL | DEBUG | +15 | CheckFile - Attributes:
212 File Size: 77961 bytes
213 Created: 9/14/2019 - 10:27:14 PM
214 Modified: 2/13/2020 - 3:11:05 AM
21518:00:33:917 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Keymapper.ahk
21618:00:33:920 | RL | DEBUG | +0 | CheckFile - Attributes:
217 File Size: 33682 bytes
218 Created: 9/14/2019 - 10:27:14 PM
219 Modified: 2/13/2020 - 3:11:37 AM
22018:00:33:935 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Keymapper Init.ahk
22118:00:33:939 | RL | DEBUG | +0 | CheckFile - Attributes:
222 File Size: 3966 bytes
223 Created: 9/14/2019 - 10:27:14 PM
224 Modified: 2/13/2020 - 3:11:32 AM
22518:00:33:954 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\MultiGame.ahk
22618:00:33:957 | RL | DEBUG | +0 | CheckFile - Attributes:
227 File Size: 41583 bytes
228 Created: 9/14/2019 - 10:27:14 PM
229 Modified: 2/13/2020 - 3:10:52 AM
23018:00:33:972 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\MultiGame Init.ahk
23118:00:33:976 | RL | DEBUG | +0 | CheckFile - Attributes:
232 File Size: 169 bytes
233 Created: 9/14/2019 - 10:27:14 PM
234 Modified: 2/13/2020 - 3:10:52 AM
23518:00:33:991 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\MultiPlayer.ahk
23618:00:33:994 | RL | DEBUG | +0 | CheckFile - Attributes:
237 File Size: 67277 bytes
238 Created: 9/14/2019 - 10:27:14 PM
239 Modified: 2/13/2020 - 3:11:23 AM
24018:00:33:013 | RL | INFO | +31 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Pause.ahk
24118:00:34:017 | RL | DEBUG | +0 | CheckFile - Attributes:
242 File Size: 408415 bytes
243 Created: 9/14/2019 - 10:27:14 PM
244 Modified: 2/13/2020 - 3:11:02 AM
24518:00:34:032 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Pause Init.ahk
24618:00:34:036 | RL | DEBUG | +0 | CheckFile - Attributes:
247 File Size: 563 bytes
248 Created: 9/14/2019 - 10:27:14 PM
249 Modified: 2/13/2020 - 3:11:13 AM
25018:00:34:051 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Password.ahk
25118:00:34:054 | RL | DEBUG | +0 | CheckFile - Attributes:
252 File Size: 10131 bytes
253 Created: 9/14/2019 - 10:27:14 PM
254 Modified: 2/13/2020 - 3:11:03 AM
25518:00:34:069 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\DLL\RocketLauncher.ahk
25618:00:34:073 | RL | DEBUG | +16 | CheckFile - Attributes:
257 File Size: 31509 bytes
258 Created: 9/14/2019 - 10:27:14 PM
259 Modified: 2/13/2020 - 3:10:55 AM
26018:00:34:088 | RL | INFO | +0 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Log\Logger.ahk
26118:00:34:091 | RL | DEBUG | +15 | CheckFile - Attributes:
262 File Size: 3558 bytes
263 Created: 9/14/2019 - 10:27:14 PM
264 Modified: 2/13/2020 - 3:11:36 AM
26518:00:34:106 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\MiscUtils.ahk
26618:00:34:109 | RL | DEBUG | +0 | CheckFile - Attributes:
267 File Size: 6709 bytes
268 Created: 9/14/2019 - 10:27:14 PM
269 Modified: 2/13/2020 - 3:11:07 AM
27018:00:34:124 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\Environment\Registry.ahk
27118:00:34:127 | RL | DEBUG | +0 | CheckFile - Attributes:
272 File Size: 2084 bytes
273 Created: 9/14/2019 - 10:27:14 PM
274 Modified: 2/13/2020 - 3:11:18 AM
27518:00:34:142 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\Environment\ArrayUtils.ahk
27618:00:34:145 | RL | DEBUG | +0 | CheckFile - Attributes:
277 File Size: 306 bytes
278 Created: 2/13/2020 - 3:11:03 AM
279 Modified: 2/13/2020 - 3:11:03 AM
28018:00:34:160 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\Environment\LocaleUtils.ahk
28118:00:34:164 | RL | DEBUG | +0 | CheckFile - Attributes:
282 File Size: 2104 bytes
283 Created: 2/13/2020 - 3:11:21 AM
284 Modified: 2/13/2020 - 3:11:21 AM
28518:00:34:178 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\Environment\StringUtils.ahk
28618:00:34:182 | RL | DEBUG | +16 | CheckFile - Attributes:
287 File Size: 7754 bytes
288 Created: 9/14/2019 - 10:27:14 PM
289 Modified: 2/13/2020 - 3:11:20 AM
29018:00:34:197 | RL | INFO | +0 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\Environment\TimerUtils.ahk
29118:00:34:200 | RL | DEBUG | +16 | CheckFile - Attributes:
292 File Size: 2948 bytes
293 Created: 9/14/2019 - 10:27:14 PM
294 Modified: 2/13/2020 - 3:11:31 AM
29518:00:34:216 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\File\ArchiveFile.ahk
29618:00:34:219 | RL | DEBUG | +0 | CheckFile - Attributes:
297 File Size: 346 bytes
298 Created: 2/13/2020 - 3:11:31 AM
299 Modified: 2/13/2020 - 3:11:32 AM
30018:00:34:235 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\File\DemulShooter.ahk
30118:00:34:238 | RL | DEBUG | +0 | CheckFile - Attributes:
302 File Size: 786 bytes
303 Created: 9/14/2019 - 10:27:14 PM
304 Modified: 2/13/2020 - 3:10:51 AM
30518:00:34:253 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\File\Emulator.ahk
30618:00:34:257 | RL | DEBUG | +0 | CheckFile - Attributes:
307 File Size: 1231 bytes
308 Created: 9/14/2019 - 10:27:14 PM
309 Modified: 2/13/2020 - 3:11:34 AM
31018:00:34:272 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\File\File.ahk
31118:00:34:275 | RL | DEBUG | +0 | CheckFile - Attributes:
312 File Size: 9522 bytes
313 Created: 9/14/2019 - 10:27:14 PM
314 Modified: 2/13/2020 - 3:11:35 AM
31518:00:34:290 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\File\FileUtils.ahk
31618:00:34:294 | RL | DEBUG | +15 | CheckFile - Attributes:
317 File Size: 339 bytes
318 Created: 2/13/2020 - 3:11:34 AM
319 Modified: 2/13/2020 - 3:11:34 AM
32018:00:34:309 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\File\Folder.ahk
32118:00:34:312 | RL | DEBUG | +0 | CheckFile - Attributes:
322 File Size: 643 bytes
323 Created: 9/14/2019 - 10:27:14 PM
324 Modified: 2/13/2020 - 3:11:37 AM
32518:00:34:327 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\File\IniFile.ahk
32618:00:34:331 | RL | DEBUG | +0 | CheckFile - Attributes:
327 File Size: 4364 bytes
328 Created: 9/14/2019 - 10:27:14 PM
329 Modified: 2/13/2020 - 3:11:27 AM
33018:00:34:346 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\File\Process.ahk
33118:00:34:349 | RL | DEBUG | +0 | CheckFile - Attributes:
332 File Size: 9711 bytes
333 Created: 9/14/2019 - 10:27:14 PM
334 Modified: 2/13/2020 - 3:11:10 AM
33518:00:34:364 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\File\PropertiesFile.ahk
33618:00:34:368 | RL | DEBUG | +0 | CheckFile - Attributes:
337 File Size: 4218 bytes
338 Created: 2/13/2020 - 3:11:10 AM
339 Modified: 2/13/2020 - 3:11:10 AM
34018:00:34:383 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\File\RIniFile.ahk
34118:00:34:386 | RL | DEBUG | +16 | CheckFile - Attributes:
342 File Size: 3898 bytes
343 Created: 9/14/2019 - 10:27:15 PM
344 Modified: 2/13/2020 - 3:11:28 AM
34518:00:34:401 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\File\XMLFile.ahk
34618:00:34:405 | RL | DEBUG | +0 | CheckFile - Attributes:
347 File Size: 331 bytes
348 Created: 2/13/2020 - 3:11:30 AM
349 Modified: 2/13/2020 - 3:11:30 AM
35018:00:34:421 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\Input\KeyUtils.ahk
35118:00:34:424 | RL | DEBUG | +0 | CheckFile - Attributes:
352 File Size: 5426 bytes
353 Created: 9/14/2019 - 10:27:15 PM
354 Modified: 2/13/2020 - 3:11:30 AM
35518:00:34:440 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\UI\Control.ahk
35618:00:34:444 | RL | DEBUG | +0 | CheckFile - Attributes:
357 File Size: 4603 bytes
358 Created: 9/14/2019 - 10:27:15 PM
359 Modified: 2/13/2020 - 3:11:18 AM
36018:00:34:461 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\UI\Window.ahk
36118:00:34:465 | RL | DEBUG | +16 | CheckFile - Attributes:
362 File Size: 24655 bytes
363 Created: 9/14/2019 - 10:27:15 PM
364 Modified: 2/13/2020 - 3:11:13 AM
36518:00:34:481 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Classes\Util\UI\WindowTitle.ahk
36618:00:34:485 | RL | DEBUG | +0 | CheckFile - Attributes:
367 File Size: 1171 bytes
368 Created: 9/14/2019 - 10:27:15 PM
369 Modified: 2/13/2020 - 3:11:02 AM
37018:00:34:502 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Rom Mapping Launch Menu.ahk
37118:00:34:506 | RL | DEBUG | +0 | CheckFile - Attributes:
372 File Size: 72279 bytes
373 Created: 9/14/2019 - 10:27:14 PM
374 Modified: 2/13/2020 - 3:11:08 AM
37518:00:34:523 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Shader.ahk
37618:00:34:527 | RL | DEBUG | +15 | CheckFile - Attributes:
377 File Size: 4183 bytes
378 Created: 9/14/2019 - 10:27:14 PM
379 Modified: 2/13/2020 - 3:11:05 AM
38018:00:34:542 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Shader Init.ahk
38118:00:34:545 | RL | DEBUG | +0 | CheckFile - Attributes:
382 File Size: 412 bytes
383 Created: 9/14/2019 - 10:27:14 PM
384 Modified: 2/13/2020 - 3:11:09 AM
38518:00:34:562 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Shared.ahk
38618:00:34:566 | RL | DEBUG | +0 | CheckFile - Attributes:
387 File Size: 173248 bytes
388 Created: 9/14/2019 - 10:27:14 PM
389 Modified: 2/13/2020 - 3:10:53 AM
39018:00:34:581 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Statistics.ahk
39118:00:34:584 | RL | DEBUG | +0 | CheckFile - Attributes:
392 File Size: 27008 bytes
393 Created: 9/14/2019 - 10:27:14 PM
394 Modified: 2/13/2020 - 3:11:11 AM
39518:00:34:600 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Statistics Init.ahk
39618:00:34:603 | RL | DEBUG | +0 | CheckFile - Attributes:
397 File Size: 43 bytes
398 Created: 9/14/2019 - 10:27:14 PM
399 Modified: 2/13/2020 - 3:11:35 AM
40018:00:34:619 | RL | INFO | +31 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\Virtual Drive.ahk
40118:00:34:622 | RL | DEBUG | +0 | CheckFile - Attributes:
402 File Size: 20294 bytes
403 Created: 9/14/2019 - 10:27:14 PM
404 Modified: 2/13/2020 - 3:11:21 AM
40518:00:34:637 | RL | INFO | +15 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\XHotkey.ahk
40618:00:34:641 | RL | DEBUG | +0 | CheckFile - Attributes:
407 File Size: 26615 bytes
408 Created: 9/14/2019 - 10:27:14 PM
409 Modified: 2/13/2020 - 3:11:36 AM
41018:00:34:656 | RL | INFO | +16 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Lib\XHotkey Init.ahk
41118:00:34:659 | RL | DEBUG | +0 | CheckFile - Attributes:
412 File Size: 1073 bytes
413 Created: 9/14/2019 - 10:27:14 PM
414 Modified: 2/13/2020 - 3:11:36 AM
41518:00:34:662 | RL | DEBUG | +0 | Main - Received this dbName from a direct launch: "alpiner"
41618:00:34:666 | RL | INFO | +16 | Main - Loading Front End Plugin: "RocketLauncherUI"
41718:00:34:680 | RL | INFO | +0 | CRC Check - CRC matches, this is an official unedited Library: D:\Hyperspin\RocketLauncher\Plugins\RocketLauncherUI.plugin
41818:00:34:684 | RL | DEBUG | +15 | CheckFile - Attributes:
419 File Size: 4177 bytes
420 Created: 9/14/2019 - 10:27:32 PM
421 Modified: 2/13/2020 - 3:11:03 AM
42218:00:34:687 | RL | TRACE | +0 | Process.__New - Creating new process object for: "D:\Hyperspin\HyperSpin.exe"
42318:00:34:690 | RL | TRACE | +0 | File.__New - Creating new file object of: "D:\Hyperspin\HyperSpin.exe"
42418:00:34:702 | RL | INFO | +16 | Process.Process - "Exist" "HyperSpin.exe"
42518:00:34:705 | RL | TRACE | +0 | Process.GetProcessID
42618:00:34:710 | RL | INFO | +0 | Main - HyperSpin.exe is not currently running
42718:00:34:713 | RL | INFO | +15 | Main - RocketLauncher received "Texas Instruments TI 99-4A" and "alpiner"
42818:00:34:721 | RL | INFO | +0 | Main - Did not find a "D:\Hyperspin\RocketLauncher\Settings\Texas Instruments TI 99-4A\Game Options.ini" file, skipping any game-specific options.
42918:00:34:724 | RL | INFO | +0 | Main - alpiner is using the default emulator: MAME
43018:00:34:727 | RL | INFO | +0 | Main - Checking for a [MAME] section in D:\Hyperspin\RocketLauncher\Settings\Texas Instruments TI 99-4A\Emulators.ini
43118:00:34:730 | RL | INFO | +16 | Main - Checking for a [MAME] section in D:\Hyperspin\RocketLauncher\Settings\Global Emulators.ini
43218:00:34:734 | RL | INFO | +0 | Main - Found [MAME] in D:\Hyperspin\RocketLauncher\Settings\Global Emulators.ini
43318:00:34:757 | RL | INFO | +16 | CheckFile - Checking if D:\Hyperspin\RocketLauncher\Modules\MAME\MAME.ahk exists
43418:00:34:769 | RL | DEBUG | +15 | CheckFile - Attributes:
435 File Size: 80969 bytes
436 Created: 9/14/2019 - 10:27:28 PM
437 Modified: 2/14/2020 - 1:23:49 PM
43818:00:34:777 | RL | WARNING | +16 | Main - CRC Check - Module has no CRC defined on the header.
43918:00:34:780 | RL | INFO | +0 | Main - alpiner will use module: D:\Hyperspin\RocketLauncher\Modules\MAME\MAME.ahk
44018:00:34:885 | RL | INFO | +109 | Main - Using standard method with "Rom Extension" SkipChecks or without any SkipChecks.
44118:00:34:920 | RL | INFO | +31 | CheckFile - Checking if F:\mame64 0.218\mame64.exe exists
44218:00:34:938 | RL | DEBUG | +16 | CheckFile - Attributes:
443 FileDescription MAME
444 FileVersion 0, 218, 0, 0
445 InternalName MAME
446 LegalCopyright Copyright Nicola Salmoria and the MAME team
447 OriginalFilename MAME
448 ProductName MAME
449 ProductVersion 0.218
450 CompanyName MAME Team
451 File Size: 263431680 bytes
452 Created: 2/13/2020 - 10:53:29 PM
453 Modified: 2/5/2020 - 5:38:40 AM
45418:00:34:942 | RL | INFO | +0 | Main - INI Keys read
45518:00:34:954 | RL | INFO | +15 | CheckFile - Checking if D:\Hyperspin\RocketLauncher\Module Extensions\7z.exe exists
45618:00:34:967 | RL | DEBUG | +16 | CheckFile - Attributes:
457 FileDescription 7-Zip Console
458 FileVersion 15.06 beta
459 InternalName 7z
460 LegalCopyright Copyright (c) 1999-2015 Igor Pavlov
461 OriginalFilename 7z.exe
462 ProductName 7-Zip
463 ProductVersion 15.06 beta
464 CompanyName Igor Pavlov
465 File Size: 262144 bytes
466 Created: 9/14/2019 - 10:27:21 PM
467 Modified: 2/13/2020 - 3:11:26 AM
46818:00:34:970 | RL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\RocketLauncher\Module Extensions\7z.dll exists
46918:00:34:983 | RL | DEBUG | +16 | CheckFile - Attributes:
470 FileDescription 7z Plugin
471 FileVersion 15.06 beta
472 InternalName 7z
473 LegalCopyright Copyright (c) 1999-2015 Igor Pavlov
474 OriginalFilename 7z.dll
475 ProductName 7-Zip
476 ProductVersion 15.06 beta
477 CompanyName Igor Pavlov
478 File Size: 1012224 bytes
479 Created: 9/14/2019 - 10:27:21 PM
480 Modified: 2/13/2020 - 3:11:05 AM
48118:00:34:988 | RL | INFO | +0 | Main - "alpiner" does not qualify for MultiGame. Only roms with any of these strings in their name are acceptable: \(Disc|\(Disk|\(Cart|\(Tape|\(Cassette|\(Part|\(Side
48218:00:34:992 | RL | INFO | +0 | CheckPaths - Started
48318:00:34:995 | RL | INFO | +15 | CheckPaths - Looking for rom: F:\mame64 0.218\roms\TI99 4A ROMS\alpiner.zip
48418:00:34:998 | RL | INFO | +0 | CheckPaths - Found rom: F:\mame64 0.218\roms\TI99 4A ROMS\alpiner.zip
48518:00:34:002 | RL | DEBUG | +0 | CheckPaths - Current romName: alpiner
48618:00:35:005 | RL | DEBUG | +0 | CheckPaths - Current romPath: F:\mame64 0.218\roms\TI99 4A ROMS
48718:00:35:008 | RL | DEBUG | +0 | CheckPaths - Current romExtension: .zip
48818:00:35:011 | RL | INFO | +16 | CheckPaths - Ended
48918:00:35:014 | RL | INFO | +0 | BuildScript - User Variables:
490 ;----------------------------------------------------------------------------
491 ; INJECTED VARIABLES
492 ;----------------------------------------------------------------------------
493
494 #NoTrayIcon
495 #InstallKeybdHook
496 MiscUtils.DetectHiddenWindows("On")
497 SetTitleMatchMode, 2
498 SendMode, Event
499 Global RLLog
500 Global RLObject
501 0 := "0"
502 rlPath := "D:\Hyperspin\RocketLauncher"
503 pluginPath := "D:\Hyperspin\RocketLauncher\Plugins"
504 pluginName := "RocketLauncherUI"
505 pluginExt := ".plugin"
506 contextOnExit := ""
507 rlMode := ""
508 rlTitle := "RocketLauncher"
509 rlVersion := "1.2.0.1"
510 rlAuthor := "djvj"
511 rlURL := "www.rlauncher.com"
512 langFile := "D:\Hyperspin\RocketLauncher\Data\Language\Localization.ini"
513 primMonitor := "1"
514 frontendPID := "0"
515 frontendPath := "D:\Hyperspin"
516 frontendExe := "HyperSpin.exe"
517 frontendExt := "exe"
518 frontendName := "HyperSpin"
519 frontendDrive := "D"
520 exitEmulatorKey := "~Esc"
521 restoreFE := "false"
522 exitScriptKey := "~q & ~s"
523 toggleCursorKey := "~e & ~t"
524 emuFullPath := "F:\mame64 0.218\mame64.exe"
525 emuPath := "F:\mame64 0.218"
526 emuName := "MAME"
527 emuExt := "exe"
528 baseRomPath := ""
529 romPath := "F:\mame64 0.218\roms\TI99 4A ROMS"
530 romPathFromIni := "F:\mame64 0.218\roms\TI99 4A ROMS|F:\mame64 0.218\roms\TI99 4A DISKS|F:\mame64 0.218\roms\TI99 4A TAPS"
531 romExtension := ".zip"
532 romExtensionOrig := ".zip"
533 romExtensions := "zip|7z|nes|bin|smc|rpk|dsk|pce|a52|cue|wav"
534 executable := "mame64.exe"
535 systemDbName := "Texas Instruments TI 99-4A"
536 systemName := "Texas Instruments TI 99-4A"
537 dbPath := ""
538 dbName := "alpiner"
539 dbExt := ""
540 romFoundByExt := ""
541 romName := "alpiner"
542 romMapPath := ""
543 romMappingEnabled := "false"
544 romMappingLaunchMenuEnabled := "false"
545 romMappingFirstMatchingExt := "false"
546 romMappingShowAllRomsInArchive := "true"
547 romMappingNumberOfGamesByScreen := "7"
548 romMappingHideParent := "false"
549 romMappingMenuWidth := "400"
550 romMappingMenuMargin := "65"
551 romMappingTextFont := "Bebas Neue"
552 romMappingTextOptions := "cFFFFFFFF r4 s60 Bold"
553 romMappingDisabledTextColor := "ff888888"
554 romMappingTextSizeDifference := "7"
555 romMappingTextMargin := "15"
556 romMappingTitleTextFont := "Bebas Neue"
557 romMappingTitleTextOptions := "cFFFFFFFF r4 s90 Bold"
558 romMappingTitle2TextFont := "Bebas Neue"
559 romMappingTitle2TextOptions := "cFFFFFFFF r4 s22 Bold"
560 romMappingGameInfoTextFont := "Bebas Neue"
561 romMappingGameInfoTextOptions := "cFFFFFFFF r4 s22 Regular"
562 romMappingGameNameTextFont := "Bebas Neue"
563 romMappingGameNameTextOptions := "cFFFFFFFF r4 s40 Regular"
564 romMappingBackgroundBrush := "aa000000"
565 romMappingColumnBrush := "33000000"
566 romMappingButtonBrush1 := "6f000000"
567 romMappingButtonBrush2 := "33000000"
568 romMappingBackgroundAlign := "Stretch and Lose Aspect"
569 romMappingMenuFlagWidth := "55"
570 romMappingMenuFlagSeparation := "7"
571 romMappingDefaultMenuList := "FullList"
572 romMappingSingleFilteredRomAutomaticLaunch := "false"
573 altArchiveNameOnly := ""
574 altRomNameOnly := ""
575 altArchiveAndRomName := ""
576 altArchiveAndManyRomNames := ""
577 altRomNamesOnly := ""
578 romMapScenario := ""
579 skipchecks := "false"
580 romMatchExt := "false"
581 blockInputTime := "0"
582 blockInputFile := "D:\Hyperspin\RocketLauncher\Module Extensions\BlockInput.exe"
583 errorLevelReporting := "false"
584 lockLaunch := "false"
585 lockLaunchGame := ""
586 screenRotationAngle := "0"
587 screenRotationAngleGame := ""
588 setResolution := ""
589 logFile := ""
590 logLabel := [" INFO"," WARNING"," ERROR"," DEBUG"," TRACE"]
591 logLevel := "10"
592 logShowDebugConsole := "true"
593 logShowCommandWindow := "false"
594 logCommandWindow := "false"
595 logIncludeModule := "true"
596 logIncludeFileProperties := "true"
597 logIncludeDLLLogs := "false"
598 errorSounds := "true"
599 rlDebugConsoleStdout := "7"
600 sysLang := "English_United_States"
601 sysType := "64-bit"
602 broadcastWindowTitle := ""
603 navUpKey := "Up"
604 navDownKey := "Down"
605 navLeftKey := "Left"
606 navRightKey := "Right"
607 navSelectKey := "Enter"
608 navP2UpKey := "Numpad8"
609 navP2DownKey := "Numpad2"
610 navP2LeftKey := "Numpad4"
611 navP2RightKey := "Numpad6"
612 navP2SelectKey := "NumpadEnter"
613 originalWidth := "1920"
614 originalHeight := "1080"
615 vdEnabled := "false"
616 vdFullPath := "C:\Program Files\DAEMON Tools Lite\DTLite.exe"
617 vdUseSCSI := "true"
618 vdDriveLetter := "F"
619 vdDriveLetterScsi := ""
620 vdAddDrive := "true"
621 demulShooterPath := ""
622 servoStikEnabled := "false"
623 servoStikExitMode := "false"
624 ledblinkyEnabled := "false"
625 ledblinkySystemName := ""
626 ledblinkyFullPath := ""
627 ledblinkyProfilePath := "D:\Hyperspin\RocketLauncher\Profiles\LEDBlinky"
628 ledblinkyRLProfile := "D:\Hyperspin\RocketLauncher\Profiles\LEDBlinky\RocketLauncher"
629 winIPACFullPath := ""
630 ultraMapEnabled := "false"
631 ultraMapFullPath := ""
632 emuIdleShutdown := "0"
633 launchPasswordHash := "UpUpDownDownLeftRightLeftRight"
634 cursorSize := ""
635 hideCursor := "false"
636 hideEmu := "false"
637 hideFE := "false"
638 suspendFE := "false"
639 fadeIn := "false"
640 fadeInDuration := "500"
641 fadeInTransitionAnimation := "DefaultAnimateFadeIn"
642 fadeInDelay := "0"
643 fadeInExitDelay := "0"
644 fadeOutExitDelay := "0"
645 fadeOut := "false"
646 fadeOutExtraScreen := "false"
647 fadeOutDuration := "500"
648 fadeOutTransitionAnimation := "DefaultAnimateFadeOut"
649 fadeOutDelay := "0"
650 fadeLyrInterpolation := "7"
651 fadeMuteEmulator := "false"
652 fadeUseBackgrounds := "false"
653 fadeClickThrough := "false"
654 fadeSounds := "true"
655 fade7zProgressMode := "extraction"
656 fadeWidthBaseRes := "1920"
657 fadeHeightBaseRes := "1080"
658 fadeLyr1Color := "FF000000"
659 fadeLyr1AlignImage := "Stretch and Lose Aspect"
660 fadeLyr2Pos := "Stretch and Lose Aspect"
661 fadeLyr2X := "0"
662 fadeLyr2Y := "0"
663 fadeLyr2W := ""
664 fadeLyr2H := ""
665 fadeLyr2Adjust := "1"
666 fadeLyr2PicPad := "0"
667 fadeLyr2Prefix := "Extra Layer 1 - Console"
668 fadeLyr3Pos := "Center"
669 fadeLyr3X := "450"
670 fadeLyr3Y := "450"
671 fadeLyr3W := ""
672 fadeLyr3H := ""
673 fadeLyr3Adjust := "1"
674 fadeLyr3PicPad := "0"
675 fadeLyr3Speed := "750"
676 fadeLyr3Animation := "DefaultFadeAnimation"
677 fadeLyr37zAnimation := "DefaultFadeAnimation"
678 fadeLyr3Type := "imageandbar"
679 fadeLyr3ImgFollow7zProgress := "true"
680 fadeLyr3Repeat := "1"
681 fadeLyr3BackImageTransparency := "30"
682 fadeLyr3StaticPos := "No Alignment"
683 fadeLyr3StaticX := "0"
684 fadeLyr3StaticY := "870|1575"
685 fadeLyr3StaticW := ""
686 fadeLyr3StaticH := ""
687 fadeLyr3StaticAdjust := "1"
688 fadeLyr3StaticPicPad := "0"
689 fadeLyr3StaticPrefix := "Info Bar"
690 fadeLyr4Adjust := "1"
691 fadeLyr4X := "1792|952"
692 fadeLyr4Y := "891|1596"
693 fadeLyr4W := "128"
694 fadeLyr4H := ""
695 fadeLyr4Pos := "No Alignment"
696 fadeLyr4FPS := "50"
697 fadeLyr4PicPad := "0"
698 fadeTranspGifColor := "FFFFFF"
699 fadeBarWindow := "Image"
700 fadeBarWindowX := ""
701 fadeBarWindowY := ""
702 fadeBarWindowW := "900"
703 fadeBarWindowH := ""
704 fadeBarWindowR := "30"
705 fadeBarWindowM := "30"
706 fadeBarWindowHatchStyle := "8"
707 fadeBar := "7zOnly"
708 fadeProgressDuration := "0"
709 fadeBarBack := "true"
710 fadeBarBackColor := "FF555555"
711 fadeBarH := "30"
712 fadeBarR := "10"
713 fadeBarColor := "DD00BFFF"
714 fadeBarHatchStyle := "8"
715 fadeBarPercentageText := "true"
716 fadeBarInfoText := "true"
717 fadeBarXOffset := "0"
718 fadeBarYOffset := "150"
719 fadeRomInfoDescription := "filtered text"
720 fadeRomInfoSystemName := "image"
721 fadeRomInfoYear := "text with label"
722 fadeRomInfoDeveloper := "disabled"
723 fadeRomInfoPublisher := "disabled"
724 fadeRomInfoGenre := "disabled"
725 fadeRomInfoRating := "image"
726 fadeRomInfoOrder := "Description|SystemName|Year|Manufacturer|Genre|Rating"
727 fadeRomInfoTextPlacement := "User Defined"
728 fadeRomInfoTextMargin := "7"
729 fadeRomInfoText1Options := "w1600|787 h90 x165 y870|1575 cFFE1E1E1 r4 s90 Left Regular"
730 fadeRomInfoText2Options := "w400 x8 y15 cFF555555 r4 s60 Bold"
731 fadeRomInfoText3Options := "w310 x165 y960|1665 cFFE1E1E1 r4 s66 Left Regular"
732 fadeRomInfoText4Options := "w1305|492 h66 x460 y960|1665 cFFE1E1E1 r4 s66 Left Regular"
733 fadeRomInfoText5Options := "cFF555555 r4 s42 Bold"
734 fadeRomInfoText6Options := "h135 x15 y885|1590 cFFCFCFCA r4 s120 Regular"
735 fadeRomInfoText7Options := "h135 x15 y885|1590 cFFCFCFCA r4 s120 Regular"
736 fadeStats_Number_of_Times_Played := "text with label"
737 fadeStats_Last_Time_Played := "text with label"
738 fadeStats_Average_Time_Played := "text with label"
739 fadeStats_Total_Time_Played := "text with label"
740 fadeStats_System_Total_Played_Time := "text with label"
741 fadeStats_Total_Global_Played_Time := "text with label"
742 fadeStatsInfoOrder := "Number_of_Times_Played|Last_Time_Played|Average_Time_Played|Total_Time_Played|System_Total_Played_Time|Total_Global_Played_Time"
743 fadeStatsInfoTextPlacement := "topRight"
744 fadeStatsInfoTextMargin := "7"
745 fadeStatsInfoText1Options := "cFFB4B4B4 r4 s22 Bold"
746 fadeStatsInfoText2Options := "cFFB4B4B4 r4 s22 Bold"
747 fadeStatsInfoText3Options := "cFFB4B4B4 r4 s22 Bold"
748 fadeStatsInfoText4Options := "cFFB4B4B4 r4 s22 Bold"
749 fadeStatsInfoText5Options := "cFFB4B4B4 r4 s22 Bold"
750 fadeStatsInfoText6Options := "cFFB4B4B4 r4 s22 Bold"
751 fadeText1X := "0"
752 fadeText1Y := "0"
753 fadeText1Options := "cFFB4B4B4 r4 s30 Right Bold"
754 fadeText1 := "Loading Game"
755 fadeText2X := "0"
756 fadeText2Y := "0"
757 fadeText2Options := "cFFB4B4B4 r4 s30 Right Bold"
758 fadeText2 := "Extraction Complete, Ready"
759 fadeText3 := "Loading Game"
760 fadeText4 := "Loading Complete"
761 fadeFont := "Bebas Neue"
762 fadeSystemAndRomLayersOnly := "false"
763 fadeExtractionTime := "disabled"
764 fadeExtractionTimeTextX := "0"
765 fadeExtractionTimeTextY := "0"
766 fadeExtractionTimeTextOptions := "cFF555555 r4 s20 Bold"
767 fadeInterruptKey := ""
768 detectFadeErrorEnabled := "true"
769 fadeImgPath := "D:\Hyperspin\RocketLauncher\Media\Fade"
770 RLDataPath := "D:\Hyperspin\RocketLauncher\Data"
771 RLMediaPath := "D:\Hyperspin\RocketLauncher\Media"
772 RLErrSoundPath := "D:\Hyperspin\RocketLauncher\Media\Sounds\Error"
773 modulesPath := "D:\Hyperspin\RocketLauncher\Modules"
774 moduleFullName := "D:\Hyperspin\RocketLauncher\Modules\MAME\MAME.ahk"
775 moduleName := "MAME"
776 modulePath := "D:\Hyperspin\RocketLauncher\Modules\MAME"
777 moduleExtension := "ahk"
778 moduleExtensionsPath := "D:\Hyperspin\RocketLauncher\Module Extensions"
779 libPath := "D:\Hyperspin\RocketLauncher\Lib"
780 sevenZEnabled := "false"
781 sevenZPath := "D:\Hyperspin\RocketLauncher\Module Extensions\7z.exe"
782 sevenZDllPath := "D:\Hyperspin\RocketLauncher\Module Extensions\7z.dll"
783 sevenZExtractPath := "C:\Users\HTPC\AppData\Local\Temp\HS"
784 sevenZExtractPathOrig := ""
785 sevenZAttachSystemName := "false"
786 sevenZDelTemp := "true"
787 sevenZFormats := ".zip|.rar|.7z|.lha|.lzh|.gzip|.tar"
788 sevenZFormatsNoP := "zip|rar|7z|lha|lzh|gzip|tar"
789 sevenZFormatsRegEx := "\.zip|\.rar|\.7z|\.lha|\.lzh|\.gzip|\.tar"
790 sevenZGamesToKeep := ""
791 sevenZDeletePerSystem := "false"
792 sevenZExtensions := "zip|rar|7z|lha|lzh|gzip|tar"
793 7zExtractPath := "C:\Users\HTPC\AppData\Local\Temp\HS"
794 mgEnabled := "false"
795 mgKey := "~NumpadSub"
796 mgBackgroundColor := "FF000000"
797 mgSidePadding := "0.2"
798 mgWidthBaseRes := "1920"
799 mgHeightBaseRes := "1080"
800 mgYOffset := "500|800"
801 mgFont := "Arial"
802 mgText1Options := "x10p y250|500 w80p Center cBBFFFFFF r4 s100 BoldItalic"
803 mgText1Text := "Please select a game"
804 mgText2Options := "w96p cFFFFFFFF r4 s50 Center BoldItalic"
805 mgText2Offset := "100"
806 mgUseSound := "true"
807 mgSoundfreq := "300"
808 mgExitEffect := "none"
809 mgSelectedEffect := "rotate"
810 mgUseGameArt := "false"
811 mgCandidate := ""
812 mgValidTypes := "\(Disc|\(Disk|\(Cart|\(Tape|\(Cassette|\(Part|\(Side"
813 mgOnLaunch := "false"
814 pauseEnabled := "false"
815 pauseKey := "~NumpadAdd"
816 pauseBackToMenuBarKey := "X"
817 pauseZoomInKey := "C"
818 pauseZoomOutKey := "V"
819 pauseScreenshotKey := "~PrintScreen"
820 pauseHiToTextPath := "D:\Hyperspin\RocketLauncher\Module Extensions\HiToText.exe"
821 pauseSaveStateKeyCodes := "{shift down}{F7 down}{F7 up}{shift up}"
822 pauseLoadStateKeyCodes := "{shift down}{F7 down}{F7 up}{shift up}"
823 keyboardEncoder := ""
824 keyboardEncoderEnabled := "false"
825 keymapperEnabled := "false"
826 keymapperAHKMethod := "false"
827 keymapper := "xpadder"
828 xpadderFullPath := "D:\Hyperspin\Utilities\Xpadder\xpadder.exe"
829 joyToKeyFullPath := "D:\Hyperspin\Utilities\JoyToKey\JoyToKey.exe"
830 profilePath := "D:\Hyperspin\RocketLauncher\Profiles"
831 keymapperProfilePath := "D:\Hyperspin\RocketLauncher\Profiles\xpadder"
832 keymapperFrontEndProfileName := "RocketLauncherUI"
833 keymapperFrontEndProfile := "false"
834 keymapperRocketLauncherProfileEnabled := "false"
835 joyIDsEnabled := "false"
836 joyIDsPreferredControllersGlobal := ""
837 joyIDsPreferredControllersSystem := "use_global"
838 joyIDsPreferredControllersOnExit := ""
839 CustomJoyNamesEnabled := "false"
840 CustomJoyNames := ""
841 rotateMethod := "false"
842 FEProfile := "D:\Hyperspin\RocketLauncher\Profiles\xpadder\RocketLauncherUI"
843 defaultProfile := "D:\Hyperspin\RocketLauncher\Profiles\xpadder\_Default"
844 systemProfile := "D:\Hyperspin\RocketLauncher\Profiles\xpadder\Texas Instruments TI 99-4A"
845 xPadderSystemProfile := "D:\Hyperspin\RocketLauncher\Profiles\xpadder\Texas Instruments TI 99-4A\_Default"
846 emuProfile := "D:\Hyperspin\RocketLauncher\Profiles\xpadder\Texas Instruments TI 99-4A\MAME"
847 romProfile := "D:\Hyperspin\RocketLauncher\Profiles\xpadder\Texas Instruments TI 99-4A\alpiner"
848 RocketLauncherProfile := "D:\Hyperspin\RocketLauncher\Profiles\xpadder\RocketLauncher"
849 blankProfile := "D:\Hyperspin\RocketLauncher\Profiles\xpadder\_Default\blank"
850 ahkFEProfile := "D:\Hyperspin\RocketLauncher\Profiles\AHK\RocketLauncherUI"
851 ahkDefaultProfile := "D:\Hyperspin\RocketLauncher\Profiles\AHK\_Default"
852 ahkSystemProfile := "D:\Hyperspin\RocketLauncher\Profiles\AHK\Texas Instruments TI 99-4A"
853 ahkEmuProfile := "D:\Hyperspin\RocketLauncher\Profiles\AHK\Texas Instruments TI 99-4A\MAME"
854 ahkRomProfile := "D:\Hyperspin\RocketLauncher\Profiles\AHK\Texas Instruments TI 99-4A\alpiner"
855 ahkRocketLauncherProfile := "D:\Hyperspin\RocketLauncher\Profiles\AHK\RocketLauncher"
856 bezelEnabled := "false"
857 bezelICEnabled := "false"
858 shaderName := "false"
859 shaderColor := ""
860 shaderTransparency := ""
861 statisticsEnabled := "true"
862 pressDuration := "-1"
863 emuVolume := "1"
864 dxwndIni := "D:\Hyperspin full backup\RocketLauncher\Module Extensions\dxwnd\dxwnd.ini"
865 dxwndFullPath := "D:\Hyperspin full backup\RocketLauncher\Module Extensions\dxwnd\dxwnd.exe"
866 qResFullPath := "D:\Hyperspin\RocketLauncher\Module Extensions\QRes.exe"
867 mon1O := ""
868 pacDrivedllFile := "D:\Hyperspin\RocketLauncher\Module Extensions\PacDrive32.dll"
869 userFadeAnimIniFile := "D:\Hyperspin\RocketLauncher\Lib\User Fade Animations.ini"
870 testFile := ""
871 testDuration := ""
872 initialErrorMode := "0"
873
87418:00:35:030 | RL | INFO | +15 | BuildScript - Loaded XHotkey Init.ahk scripts
87518:00:35:034 | RL | INFO | +0 | BuildScript - Loaded Statistics Init.ahk scripts
87618:00:35:038 | RL | DEBUG | +0 | BuildScript - Module starts on line: 2
87718:00:35:042 | RL | INFO | +16 | BuildScript - Validating module
87818:00:35:050 | RL | INFO | +0 | BuildScript - Validation complete
87918:00:35:053 | RL | INFO | +0 | BuildScript - Module:
880 MEmu := "MAME"
881 MEmuV := "v0.166"
882 MURL := ["http://www.mame.net/"]
883 MAuthor := ["djvj","faahrev","brolly","Tomkun"]
884 MVersion := "2.3.10"
885 MCRC := ""
886 iCRC := ""
887 MID := ""
888 MSystem := ["AAE","Aamber Pegasus","Acorn Electron","Amstrad CPC","Amstrad GX4000","APF Imagination Machine","Apple II","Apple IIGS","Applied Technology MicroBee","Arcade","Arcade Classics","Atari 8-Bit","Atari 2600","Atari 5200","Atari 7800","Atari Classics","Atari Jaguar","Atari Lynx","Bally Astrocade","Bandai Super Vision 8000","Bandai WonderSwan","Bandai WonderSwan Color","Bit Corporation Gamate","Camputers Lynx","Capcom","Capcom Classics","Capcom Play System","Capcom Play System II","Capcom Play System III","Casio PV-1000","Casio PV-2000","Cave","Coleco ADAM","ColecoVision","Commodore 64","Commodore MAX Machine","Creatronic Mega Duck","Data East Classics","EACA EG2000 Colour Genie","Emerson Arcadia 2001","Entex Adventure Vision","Epoch Game Pocket Computer","Epoch Super Cassette Vision","Exidy Sorcerer","Fairchild Channel F","Fujitsu FM-7","Fujitsu FM Towns","Fujitsu FM Towns Marty","Funtech Super Acan","GamePark 32","GCE Vectrex","Hartung Game Master","HBMAME","Interton VC 4000","Irem Classics","JungleTac Sport Vii","Jupiter Ace","Konami Classics","LaserDisc","Magnavox Odyssey 2","MAME","Matra & Hachette Alice","Mattel Aquarius","Mattel Intellivision","MGT Sam Coupe","Midway Classics","Milton Bradley MicroVision","Namco Classics","Namco System 22","NEC PC-8801","NEC PC Engine","NEC PC Engine-CD","NEC SuperGrafx","NEC TurboGrafx-16","NEC TurboGrafx-CD","Nintendo 64","Nintendo 64DD","Nintendo Arcade Systems","Nintendo Classics","Nintendo Entertainment System","Nintendo Famicom","Nintendo Famicom Disk System","Nintendo Game Boy","Nintendo Game Boy Advance","Nintendo Game Boy Color","Nintendo Pokemon Mini","Nintendo Satellaview","Nintendo Super Famicom","Nintendo Super Game Boy","Nintendo Virtual Boy","Othello Multivision","PacMAME","Philips CD-i","Philips VG 5000","Philips Videopac Plus G7400","RCA Studio II","Sega 32X","Sega CD","Sega Classics","Sega Game Gear","Sega Genesis","Sega Master System","Sega Mega Drive","Sega Model 1","Sega Pico","Sega Saturn","Sega SC-3000","Sega SG-1000","Sega ST-V","Sega VMU","Sharp X1","Sinclair ZX81","SNK Classics","SNK Neo Geo","SNK Neo Geo AES","SNK Neo Geo AES","SNK Neo Geo CD","SNK Neo Geo MVS","SNK Neo Geo Pocket","SNK Neo Geo Pocket Color","Sony PlayStation","Sony PocketStation","Sord M5","Soundic Victory MPT-02","Super Nintendo Entertainment System","Taito Classics","Tandy TRS-80 Color Computer","Texas Instruments TI 99-4A","Thomson MO5","Tiger Game.com","Tomy Tutor","VTech CreatiVision","VTech Socrates","Watara Supervision","Williams Classics"]
889 ;----------------------------------------------------------------------------
890 ; Notes:
891 ; This module now includes everything from the legacy MAME and MESS modules, but combined to match the merge of the 2 emulators that occured on version 0.162.
892 ;
893 ; Exit fade will only work correctly if you don't have Esc, the default MAME exit key, as your exit key. If you use Esc, turn off the ExitScreen
894 ; This module will set your rom paths on the fly via CLI, but you must make sure the RLUI module setting for this module "MAME_BIOS_Path" is correctly set. It defaults to your roms subfolder where MAME.exe is found.
895 ; This module assumes you have bios zip in your MAME "roms" directory, which might be different than your actual roms directory, for each system you need this module for. All tested systems listed below
896 ; If MAME has a problem reading the bios zips, try archving them with "no compression"
897 ; This site can help a ton with details for the various systems supported: http://www.progettoemma.net/mess/index.html
898 ; You may get a black screen or MAME may close w/o notice if you do not have a bios rom for your system when one is needed.
899 ; If you use bezel, it is recommended to set the module bezel mode to normal, and go to your MAME.ini file, on your emulator folder, and choose these options: artwork_crop 1, use_backdrops 1, use_overlays 1, use_bezels 0
900 ;
901 ; Command Line Options - http://easyemu.mameworld.info/mameguide/mameguide-options.html
902 ; High Scores DO NOT SAVE when cheats are enabled!
903 ; HLSL Documentation: http://mamedev.org/source/docs/hlsl.txt.html
904 ; If you use MAME for AAE, create a vector.ini in mame's ini subfolder and paste these HLSL settings in there: http://www.mameworld.info/ubbthreads/showflat.php?Cat=&Number=309968&page=&view=&sb=5&o=&vc=1
905 ;
906 ; Be aware that several systems will require a BIOS zip with their roms inside. They all come bundled in the MAME set so make sure you add your MAME roms folder to the
907 ; roms path for that system. If you have doubts about their filenames check the mTypeVar module variable content.
908 ;
909 ; Following systems will also require some specific files to operate properly:
910 ; APF Imagination Machine - apfimag (tape games), apfm1000 (cart games)
911 ; Camputers Lynx - lynx64k, lynx96k, lynx128k
912 ; Coleco ADAM - adam, adam_ddp, adam_fdc, adam_kb, adam_prn, adam_spi
913 ; NEC PC Engine-CD - "Super CD-ROM2 System V3.0 (J).pce" [262,656 bytes] (placed in the roms subfolder in the emuPath)
914 ; NEC TurboGrafx-CD - "Super CD-ROM2 System V3.01 (U).pce" [262,144 bytes] (placed in the roms subfolder in the emuPath)
915 ; Sega CD - segacd, megacd, megacd2j (megacd2j seems to be more compatible over megacdj)
916 ; Sony PlayStation - psa, pse, psj, psu
917 ;
918 ; Tape Control:
919 ; MAME tape/cassette emulation is terrible because normally it means you need to manually start and stop the tapes yourself so it's highly suggested that you use another emulator for such systems.
920 ; Tape control commands are accessible through the UI, press tab and then select Tape Control and you can start/stop the loaded tape from there.
921 ; The following hotkeys can also be used:
922 ; F2 - Start Tape
923 ; Left Shift + F2 - Stop Tape
924 ; Insert - While held, runs the game with throttling disabled and with the maximum frameskip. Useful to speedup the long tape loading process.
925 ;
926 ; Be aware that tape games are normally used on PC systems therefore it's likely that full keyboard emulation is enabled which means that you'll need to disable it in order to use any of the above
927 ; hotkeys. To disable it press the Scroll Lock key, press it again to enable it back.
928 ;
929 ; 7z Support:
930 ; Make sure you have 7z disabled for all MAME Arcade systems. Their roms are supposed to be archived, if you have 7z enabled then your games will fail to load. It's
931 ; fine to enable 7z to non-arcade systems.
932 ;
933 ; Custom Configuration Files:
934 ; If you want to use custom configuration files (.cfg files) for some games you will need to store them inside your MAME cfg folder using the following structure:
935 ; cfg\mame_system_name\database_rom_name\mame_system_name.cfg
936 ; An example of a game that requires specific settings is ICBM Attack for the Bally Astrocade, in this case special cfg file should be:
937 ; cfg\astrocde\I.C.B.M. Attack (USA) (Unl)\astrocde.cfg
938 ;
939 ; Ini Files:
940 ; Module will set most settings through command line which will override any settings you might have on your MAME ini files. Everything else will be read from
941 ; those. MAME supports a hierarchical ini file structure and will load settings from several ini files following a specific order:
942 ;- mame.ini
943 ;- <mymame>.ini (i.e. if MAME was renamed mame060.exe, MAME parses mame060.ini here)
944 ;- debug.ini (if the debugger is enabled)
945 ;- <parent>.ini (for clones only, may be called recursively)
946 ;- <gamename>.ini
947 ;- vertical.ini (for games with vertical monitor orientation)
948 ;- horizont.ini (for games with horizontal monitor orientation)
949 ;- vector.ini (for vector games only)
950 ;- <driver>.ini (based on the source filename of the driver)
951 ;
952 ; The settings in the later ini's override those in the earlier ini's.
953 ;
954 ; It's highly recommended that you set skipchecks to 'Rom Only" for MAME otherwise RocketLauncher won't be able to launch several games due
955 ; to the way MAME roms are packaged. This will be even more noticeable for those using merged sets.
956 ;
957 ; Bally Astrocade:
958 ; ICBM requires a soft reset (even on the real hardware) to launch. You can read about it here: http://www.ballyalley.com/ballyalley/articles/Playing_ICBM_Attack_Using_MESS.pdf
959 ; Other games might require this as well, you can enable this in the module's settings so the machine is reset automatically on launch, otherwise you need to press F3 to start the game.
960 ; Also ICBM Attack uses different controls then the rest of the games. Make sure you follow the procedure explained above under "Custom Configuration Files" to create such file.
961 ;
962 ; GCE Vectrex:
963 ; Requires a vectrex.lay and a png overlay for each game. These all need to be placed in the MAME\artwork\vectrex folder.
964 ; You can download all these pngs and the lay file in my ftp folder. You need to use the HyperList XML to match the pngs.
965 ;
966 ; Jupiter Ace:
967 ; Set mame to 48k ram
968 ;
969 ; Magnavox Odyssey 2:
970 ; Euro games should use the videopac bios instead of the odyssey2 one or you'll get some timing issues.
971 ; Use the systemName ini file in the folder with this module for this, example:
972 ; [Moto-Crash (France)]
973 ; Bios=videopac
974 ;
975 ; RCA Studio 2:
976 ; Most of the games require you to press a button to start the game, like 1 or 2 (refer to the game's manual).
977 ; The game screen will be black until you do.
978 ;
979 ; Texas Instruments TI 99/4A:
980 ; This system requires full keyboard emulation to work properly
981 ; Split cart dumps are not supported since MESS .145 so you'll have to convert them to RPK format or use an earlier version of MESS (and a different module)
982 ; You can check how to convert split cart dumps to RPK here:
983 ; http://www.ninerpedia.org/index.php/MESS_multicart_system
984 ; For floppy games make sure you have a RPK dump of an extended basic rom on your roms folder. It should be named "extended_basic.rpk"
985 ; This system requires you to use a MAME build with Direct Input enabled in order to auto start the games. Most games will require commands to be typed to start
986 ; and it's normally too complex to be able to do it through the -ab switch so SendCommand is used instead which means a Direct Input enabled MAME version is required.
987 ;
988 ; Bezels:
989 ; Module settings control whether RocketLauncher or MAME bezels are shown
990 ; In the bezel normal mode only RocketLauncher Bezels will be show and the MAME use_bezels option will be forced disbaled
991 ; In the bezel layout mode, RocketLauncher Bezels will be drawn only when you do not have a layout file on your MAME folders for the current game
992 ;
993 ; ServoStik:
994 ; The module will automatically control any connected ServoStiks found on the system.
995 ; It does this by reading the xml info from MAME. If that XML info has directional info at 4 or less, 4-way mode will be enabled. All others get 8-way mode.
996 ;
997 ; Per game controller types:
998 ; MAME allows you to change the controller type for each game by using slot devices. Slot devices are highly customizable and vary greatly from system to
999 ; system so to avoid adding a huge complexity to the module this must be done through the Parameters settings.
1000 ; Slot devices are stored in the MAME ini file you are using, so the best way to find the command line you need to use is to start your game set the slot devices
1001 ; through the MAME UI (Press tab while in MAME) exit and then open the MAME ini file and search for a section named SLOT DEVICES.
1002 ; This is an example for Atari 2600 for a game using wheel controllers on both joy ports:
1003 ; #
1004 ; # SLOT DEVICES
1005 ; #
1006 ; joyport1 wheel
1007 ; joyport2 wheel
1008 ; The suggested method is to set the desired controllers you want to use by default in the Module Global Settings, in this case under the Atari 2600 tab you would
1009 ; set Parameters=-joyport1 joy -joyport2 joy
1010 ; And then for specific games do the same under Module Specific Settings for that system, if a game requires the wheel controller you'd set
1011 ; Parameters=-joyport1 wheel -joyport2 wheel
1012 ;
1013 ; Another option is to set the default values in the MAME ini file and make sure you also set writeconfig to 0.
1014 ; Swapping slot devices wipes out SYSTEM custom configs on the unplugged controllers, so to avoid any customised controls getting erased everytime you change slot devices,
1015 ; ensure you set your controls in the main MAME config file (MAME.ini), not the system one (ex. Atari 2600.ini).
1016 ;
1017 ; Linking/NetPlay:
1018 ; The module will automatically set correct network ports for linked games.
1019 ; Up to 8 players on the same PC are supported. Multiple copies of MAME will be launched.
1020 ; Placement of the screens are automatic but can be controlled in RocketLauncherUI MAME module settings. Windowed mode is required when more than one copy of mame is launched and is set automatically.
1021 ; Each player will use a different cfg and nvram folder in your MAME folder. Player 1 will always use .\cfg and .\nvram.
1022 ; Players 2 through 8 will use .\cfg2, .\cfg3, etc and .\nvram2, .\nvram3, etc
1023 ; These folders and cfg/nvram files will be automatically created for you on launch so you do not need to create them manually.
1024 ; Global inputs is automatically turned on for you but it is your job to setup individual controls for each instance. MAME only supports raw-input in this mode however.
1025 ; Over a LAN/WAN connection only 2 players are supported due to the way the ports are designated, it's impossible to automate port allocation because there is no 1 server where all hosts connect to.
1026 ; Default starting port for the Master is 15111 and consecutively goes up from there upto 15119 for 8 players. You can change the default starting port in the module settings if it conflicts with used ports on your network.
1027 ; There are other network related settings in the module settings to assist with starting IPs and connectivity, so check them out as well.
1028 ;
1029 ; NVRAM Automation for linked games:
1030 ; When launching linked games on the same pc NVRAM settings are automatically set for you so each player will be unique.
1031 ; For instance, in Virtua Racing, Player 1 is red, player 2 is blue, player 3 is yellow, etc.
1032 ; To do this, some other options are also set automatically for you as well, like region, difficulty, countr, course, etc
1033 ; I set these to defaults, but prefer USA region. If you do not like these, you will have to disable NVRAM automation in the module settings in RocketLauncherUI.
1034 ;
1035 ; Additional Link info that may be of some importance:
1036 ; The original Model-1 has a max Bandwidth of 6 MBit/s (TOTX173/TORX173).
1037 ; One Board sends about 20 KByte/s.
1038 ; So bandwidth CLIENTSIDE is like...
1039 ; 2 Boards - 20 KByte/s inbound and 20 KByte/s outbound.
1040 ; 3 Boards - 40 KByte/s inbound and 20 KByte/s outbound.
1041 ; 4 Boards - 60 KByte/s inbound and 20 KByte/s outbound.
1042 ; etc.
1043 ; Some good info on Linking: http://www.mameworld.info/ubbthreads/showflat.php?Cat=&Number=297577&page=0
1044 ; also http://forum.arcadecontrols.com/index.php/topic,130136.msg1331485.html
1045 ;----------------------------------------------------------------------------
1046 StartModule()
1047 BezelGUI()
1048
1049 primaryExe := new Emulator(emuPath . "\" . executable) ; instantiate emulator executable object
1050 emuPrimaryWindow := new Window(new WindowTitle(,"MAME")) ; instantiate primary emulator window object
1051 emuOpenWindow := new Window(new WindowTitle(dialogOpen,"ConsoleWindowClass"))
1052 emuConsoleWindow := new Window(new WindowTitle(,"ConsoleWindowClass"))
1053 emuDebugWindow := new Window(new WindowTitle(,"MAMEDebugWindow"))
1054 emuOutputWindow := new Window(new WindowTitle(,"MAMEOutput"))
1055
1056 ; This object controls how the module reacts to different systems. MAME can play a lot of systems, but needs to know what system you want to run, so this module has to adapt.
1057 mTypeVar := "
1058 ( LTrim
1059 Aamber Pegasus|pegasus
1060 Acorn Electron|electron
1061 Amstrad CPC|cpc664
1062 Amstrad GX4000|gx4000
1063 APF Imagination Machine|apfimag
1064 Apple II|apple2ep
1065 Apple IIGS|apple2gs
1066 Applied Technology MicroBee|mbeeic
1067 Atari 8-Bit|a800
1068 Atari 2600|a2600
1069 Atari 5200|a5200
1070 Atari 7800|a7800
1071 Atari Jaguar|jaguar
1072 Atari Lynx|lynx
1073 Bally Astrocade|astrocde
1074 Bandai Super Vision 8000|sv8000
1075 Bandai WonderSwan|wswan
1076 Bandai WonderSwan Color|wscolor
1077 Bit Corporation Gamate|gamate
1078 Camputers Lynx|lynx128k
1079 Casio PV-1000|pv1000
1080 Casio PV-2000|pv2000
1081 Coleco ADAM|adam
1082 ColecoVision|coleco
1083 Commodore 64|c64
1084 Commodore MAX Machine|vic10
1085 Creatronic Mega Duck|megaduck
1086 EACA EG2000 Colour Genie|cgenie
1087 Emerson Arcadia 2001|arcadia
1088 Entex Adventure Vision|advision
1089 Epoch Game Pocket Computer|gamepock
1090 Epoch Super Cassette Vision|scv
1091 Exidy Sorcerer|sorcerer
1092 Fairchild Channel F|channelf
1093 Fujitsu FM-7|fmnew7
1094 Fujitsu FM Towns|fmtowns
1095 Fujitsu FM Towns Marty|fmtmarty
1096 Funtech Super Acan|supracan
1097 GamePark 32|gp32
1098 GCE Vectrex|vectrex
1099 Hartung Game Master|gmaster
1100 Interton VC 4000|vc4000
1101 JungleTac Sport Vii|vii
1102 Jupiter Ace|jupace
1103 Magnavox Odyssey 2|odyssey2
1104 Matra & Hachette Alice|alice32
1105 Mattel Aquarius|aquarius
1106 Mattel Intellivision|intv
1107 MGT Sam Coupe|samcoupe
1108 Milton Bradley MicroVision|microvsn
1109 NEC PC-8801|pc8801
1110 NEC PC Engine|pce
1111 NEC PC Engine-CD|pce
1112 NEC SuperGrafx|sgx
1113 NEC TurboGrafx-16|tg16
1114 NEC TurboGrafx-CD|tg16
1115 Nintendo 64|n64
1116 Nintendo 64DD|n64dd
1117 Nintendo Entertainment System|nes
1118 Nintendo Famicom|famicom
1119 Nintendo Famicom Disk System|fds
1120 Nintendo Game Boy|gameboy
1121 Nintendo Game Boy Advance|gba
1122 Nintendo Game Boy Color|gbcolor
1123 Nintendo Pokemon Mini|pokemini
1124 Nintendo Satellaview|snes
1125 Nintendo Super Famicom|snes
1126 Nintendo Super Game Boy|supergb
1127 Nintendo Virtual Boy|vboy
1128 Othello Multivision|omv1000
1129 Philips CD-i|cdimono1
1130 Philips Videopac Plus G7400|g7400
1131 Philips VG 5000|vg5k
1132 RCA Studio II|studio2
1133 Sega 32X|32x
1134 Sega CD|segacd
1135 Sega Game Gear|gamegear
1136 Sega Genesis|genesis
1137 Sega Master System|sms
1138 Sega Mega Drive|megadriv
1139 Sega Pico|pico
1140 Sega Saturn|saturn
1141 Sega SC-3000|sc3000
1142 Sega SG-1000|sg1000
1143 Sega VMU|svmu
1144 Sharp X1|x1turbo40
1145 Sinclair ZX81|zx81
1146 SNK Neo Geo AES|aes
1147 SNK Neo Geo CD|neocdz
1148 SNK Neo Geo Pocket|ngp
1149 SNK Neo Geo Pocket Color|ngpc
1150 Sony PlayStation|psx
1151 Sony PocketStation|pockstat
1152 Sord M5|m5
1153 Soundic Victory MPT-02|mpt02
1154 Super Nintendo Entertainment System|snes
1155 Tandy TRS-80 Color Computer|coco3
1156 Texas Instruments TI 99-4A|ti99_4a
1157 Thomson MO5|mo5
1158 Tiger Game.com|gamecom
1159 Tomy Tutor|tutor
1160 VTech CreatiVision|crvision
1161 VTech Socrates|socrates
1162 Watara Supervision|svision
1163 )"
1164 mType := Object()
1165 Loop, Parse, mTypeVar, `n, `r
1166 {
1167 obj := {}
1168 Loop, Parse, A_LoopField, |
1169 If (A_Index = 1)
1170 obj.System := A_LoopField
1171 Else ; 2
1172 obj.mameID := A_LoopField
1173 mType.Insert(obj["System"], obj)
1174 }
1175 RLLog.Debug("Module - Finished building the " . MEmu . " object")
1176 ; For easier use throughout the module
1177 mameSystem := mType[systemName].System
1178 mameID := mType[systemName].mameID
1179
1180 If !mameSystem {
1181 If (!ArrayUtils.ArrayContains(MSystem,systemName)) {
1182 RLLog.Warning("Module - """ . systemName . """ is not a known console or computer system. Defaulting to MAME's Arcade mode for the remainder of this " . MEmu . " module.")
1183 } Else {
1184 RLLog.Debug("Module - Defaulting to MAME's Arcade mode for the remainder of this " . MEmu . " module.")
1185 }
1186 mameSystem := systemName
1187 mameID := "MAME"
1188 }
1189
1190 Fullscreen := moduleIni.Read("Settings", "Fullscreen","true",,1) ; Set fullscreen mode
1191 legacyMode := moduleIni.Read(romName . "|" . mameSystem . "|Settings", "LegacyMode","false",,1)
1192 mameBiosPath := moduleIni.Read("Settings", "MAME_BIOS_Path", emuPath . "\roms",,1)
1193 Videomode := moduleIni.Read("Settings", "Videomode","d3d",,1) ; Choices are gdi,ddraw,d3d. If left blank, MAME uses d3d by default
1194 pauseMethod := moduleIni.Read("Settings", "PauseMethod",1,,1) ; set the pause method that works better on your machine (preferred methods 1 and 2) 1 = Win7 and Win8 OK - Problems with Win XP, 2 = preferred method for WinXP - Problems in Win7, 3 and 4 = same as 1 and 2, 5 = only use If you have a direct input version of mame, 6 = suspend mame process method, it could crash mame in some computers
1195 bilinearFilter := moduleIni.Read(mameSystem . "|Settings", "BilinearFilter","false",,1)
1196 hlsl := moduleIni.Read(romName . "|" . mameSystem . "|Settings", "HLSL","false",,1)
1197 glsl := moduleIni.Read(romName . "|" . mameSystem . "|Settings", "GLSL","false",,1)
1198 bezelMode := moduleIni.Read(romName . "|" . mameSystem . "|Settings", "BezelMode","layout",,1) ; "layout" or "normal"
1199 verticalRotationMode := moduleIni.Read(romName . "|" . mameSystem . "|Settings", "VerticalRotationMode","none",,1)
1200 cheatMode := moduleIni.Read("Settings", "CheatMode","false",,1)
1201 cheatModeKey := moduleIni.Read("Settings", "CheatModeKey",,,1) ; user defined key to be held down before launching a mame rom.
1202 UseSoftwareList := moduleIni.Read(romName . "|" . mameSystem, "UseSoftwareList","false",,1)
1203 sysStaticParams := moduleIni.Read(mameSystem, "StaticParameters",,,1)
1204 sysParams := moduleIni.Read(mameSystem, "Parameters",,,1)
1205 romParams := moduleIni.Read(romName, "Parameters", sysParams,,1)
1206 mameRomName := moduleIni.Read(romName, "MameRomName",,,1)
1207 autosave := moduleIni.Read(romName . "|" . mameSystem, "Autosave", "false",,1)
1208 volume := moduleIni.Read(romName . "|" . mameSystem . "|Settings", "Volume",,,1)
1209 Artwork_Crop := moduleIni.Read(romName . "|" . mameSystem, "Artwork_Crop", "true",,1)
1210 Use_Bezels := moduleIni.Read(romName . "|" . mameSystem, "Use_Bezels", "false",,1)
1211 Use_Overlays := moduleIni.Read(romName . "|" . mameSystem, "Use_Overlays", "true",,1)
1212 Use_Backdrops := moduleIni.Read(romName . "|" . mameSystem, "Use_Backdrops", "true",,1)
1213 Use_Cpanels := moduleIni.Read(romName . "|" . mameSystem, "Use_Cpanels", "false",,1)
1214 Use_Marquees := moduleIni.Read(romName . "|" . mameSystem, "Use_Marquees", "false",,1)
1215 inipath := moduleIni.Read(mameSystem, "IniPath",,,1)
1216 hashpath := moduleIni.Read(mameSystem, "HashPath",,,1)
1217 UseControllerRemap := moduleIni.Read(mameSystem . "|Settings", "UseControllerRemap", "true",,1)
1218 ControllerRemapPath := moduleIni.Read(mameSystem . "|Settings", "ControllerRemapPath", emuPath . "\ControllerRemap\ControllerRemap.exe",,1)
1219 CtrlRemapFile := new File(ControllerRemapPath)
1220 ControllerRemapConfigPath := moduleIni.Read( mameSystem . "|Settings", "ControllerRemapConfigPath", CtrlRemapFile.FilePath . "\ctrlr\",,1)
1221 MAMECtrlrPath := moduleIni.Read(mameSystem . "|Settings", "MAMECtrlrPath", emuPath . "\ctrlr",,1)
1222
1223 mameBiosPath := GetFullName(mameBiosPath)
1224
1225 ; Loop, 8
1226 ; car%A_Index%Color := moduleIni.Read(romName, "Car_" . A_Index . "_Color",,,1)
1227
1228 enableLinkPlay := moduleIni.Read(romName . "|Link/Network", "Enable_Link_Play", "false",,1)
1229 networkSession := ""
1230 If (enableLinkPlay != "false") {
1231 RLLog.Info("Module - Link/Network Multi-Player is an available option for " . romName)
1232 getWANIP := moduleIni.Read("Link/Network", "Get_WAN_IP","false",,1)
1233 myIP := If getWANIP = "true" ? GetPublicIP() : "127.0.0.1" ; use local ip by default if user does not want to get the WAN IP as MAME needs this for linked games
1234 networkPlayers := enableLinkPlay ; Max amount of networkable players
1235 localLink := 1 ; Tell Multiplayer menu to enable menu option for local linking
1236
1237 enableNVRAMAutomation := moduleIni.Read(romName . "|Link/Network", "Enable_NVRAM_Automation","true",,1)
1238 maxPlayersPerMonitor := moduleIni.Read(romName . "|Link/Network", "Max_Players_Per_monitor","1|1|1|1|1|1|1|1",,1)
1239 splitScreen2PlayersMode := moduleIni.Read(romName . "|Link/Network", "SplitScreen_2_Players","Horizontal",,1) ;horizontal or vertical
1240 splitScreen3PlayersMode := moduleIni.Read(romName . "|Link/Network", "SplitScreen_3_Players","P1top",,1) ; For Player1 screen to be on left: P1left. For Player1 screen to be on top: P1top. For Player1 screen to be on bottom: P1bottom. For Player1 screen to be on right: P1right.
1241 localPort := moduleIni.Read("Link/Network", "Local_Port","15111",,1)
1242
1243 defaultServerIP := moduleIni.Read("Link/Network", "Default_Server_IP", myIP,,1)
1244 defaultServerPort := moduleIni.Read("Link/Network", "Default_Server_Port","15111",,1)
1245 lastIP := moduleIni.Read("Link/Network", "Last_IP", defaultServerIP,,1) ; also known as the Remote IP in mame. Does not need to be on the ISD
1246 lastPort := moduleIni.Read("Link/Network", "Last_Port", defaultServerPort,,1) ; also known as the Remote Port in mame. Does not need to be on the ISD
1247
1248 MultiplayerMenu(lastIP, lastPort, networkType, networkPlayers,,,,,,localLink,"ipAndPort")
1249
1250 ;MultiPlayer Menu Result
1251 ; If !(networkType)
1252 ; MsgBox, % "Single Player Game"
1253 ; Else If (networkType="localLink")
1254 ; MsgBox, % "Local Link selected with the number of players equal to: " . networkPlayers
1255 ; Else If (networkType="server")
1256 ; MsgBox, % "WAN IP Address=" . networkIP . " | LAN IP Address=" . localIP[1,2] . " | Port=" . networkPort . " | networkPlayers=" . networkPlayers . " | networkRequiresSetup=" . networkRequiresSetup
1257 ; Else If (networkType="client")
1258 ; MsgBox, % "NetworkIP=" . networkIP . " | Port Number=" . networkPort . " | networkRequiresSetup=" . networkRequiresSetup
1259
1260 If networkSession {
1261 RLLog.Info("Module - Using a Network for " . romName)
1262 multiPlayerObj := Object() ; initialize object to store the multiplayer options
1263 If (networkType="localLink") {
1264 RLLog.Info("Module - Setting remote host to 127.0.0.1 to support local link mode as it is running on this PC.")
1265 linkEnabledGame := 1
1266 If networkPlayers > 1
1267 { RLLog.Info("Module - Local link mode was selected and " . networkPlayers . " sessions will be launched.")
1268 fullscreen := "false" ; must turn off fullscreen if running multiple MAMEs on the same machine
1269 Loop % networkPlayers {
1270 multiPlayerObj[A_Index,"Player"] := A_Index
1271 multiPlayerObj[A_Index,"CfgDir"] := " -cfg_directory cfg" . (If A_Index = 1 ? "" : A_Index)
1272 multiPlayerObj[A_Index,"NvramDir"] := " -nvram_directory nvram" . (If A_Index = 1 ? "" : A_Index)
1273 If (A_Index = 1) { ; Player 1
1274 initialLocalPort := localPort ; must be stored for last player
1275 multiPlayerObj[A_Index,"LocalHost"] := " -comm_localhost 0.0.0.0"
1276 multiPlayerObj[A_Index,"LocalPort"] := " -comm_localport " . localPort
1277 localPort++
1278 multiPlayerObj[A_Index,"RemotePort"] := " -comm_remoteport " . localPort
1279 } Else { ; Players 2+
1280 multiPlayerObj[A_Index,"LocalPort"] := " -comm_localport " . localPort
1281 localPort++
1282 multiPlayerObj[A_Index,"RemoteHost"] := " -comm_remotehost 127.0.0.1"
1283 multiPlayerObj[A_Index,"RemotePort"] := " -comm_remoteport " . (If A_Index = networkPlayers ? initialLocalPort : localPort) ; must set remote port to first port on last player
1284 }
1285
1286 ; msgbox % "Player: " . multiPlayerObj[A_Index]["Player"] . "`nLocalHost: " . multiPlayerObj[A_Index]["LocalHost"] . "`nLocalPort: " . multiPlayerObj[A_Index]["LocalPort"] . "`nRemoteHost: " . multiPlayerObj[A_Index]["RemoteHost"] . "`nRemotePort: " . multiPlayerObj[A_Index]["RemotePort"] . "`nCfgDir: " . multiPlayerObj[A_Index]["CfgDir"] . "`nNvramDir: " . multiPlayerObj[A_Index]["NvramDir"]
1287 }
1288 } Else
1289 RLLog.Info("Module - Local link mode was selected but user only chose 1 player. Launch will be a normal session.")
1290 } Else If (networkType = "client") {
1291 RLLog.Info("Module - Remote host is running on another PC, module will use remote link mode.")
1292 moduleIni.Write(networkIP,"GlobalModuleIni","Link/Network","Last_IP") ; Save last used IP and Port for quicker launching next time
1293 moduleIni.Write(networkPort,"GlobalModuleIni","Link/Network","Last_Port")
1294 linkType := "Slave"
1295 networkPlayers := 1
1296 multiPlayerObj[1,"Player"] := 1
1297 multiPlayerObj[1,"CfgDir"] := " -cfg_directory cfg"
1298 multiPlayerObj[1,"NvramDir"] := " -nvram_directory nvram"
1299 multiPlayerObj[1,"LocalHost"] := " -comm_localhost 0.0.0.0" ; don't really need to set this but just in case
1300 multiPlayerObj[1,"LocalPort"] := " -comm_localport " . localPort
1301 multiPlayerObj[1,"RemoteHost"] := " -comm_remotehost " . networkIP
1302 multiPlayerObj[1,"RemotePort"] := " -comm_remoteport " . networkPort
1303 } Else { ; server
1304 RLLog.Info("Module - This PC is acting as the host, telling mame to listen for incoming connections on port: " . localPort)
1305 moduleIni.Write(networkIP,"GlobalModuleIni","Link/Network","Last_IP") ; Save last used IP and Port for quicker launching next time
1306 moduleIni.Write(networkPort,"GlobalModuleIni","Link/Network","Last_Port")
1307 linkType := "Master"
1308 networkPlayers := 1
1309 multiPlayerObj[1,"Player"] := 1
1310 multiPlayerObj[1,"CfgDir"] := " -cfg_directory cfg"
1311 multiPlayerObj[1,"NvramDir"] := " -nvram_directory nvram"
1312 multiPlayerObj[1,"LocalHost"] := " -comm_localhost 0.0.0.0" ; don't really need to set this but just in case
1313 multiPlayerObj[1,"LocalPort"] := " -comm_localport " . networkPort
1314 multiPlayerObj[1,"RemoteHost"] := " -comm_remotehost " . networkIP
1315 multiPlayerObj[1,"RemotePort"] := " -comm_remoteport " . networkPort
1316 }
1317 RLLog.Info("Module - Starting a network session using the IP """ . networkIP . """ and PORT """ . networkPort . """")
1318 } Else {
1319 RLLog.Info("Module - User chose Single Player mode for this session")
1320 }
1321 }
1322
1323 FadeInStart()
1324
1325 If inipath
1326 inipath := AbsoluteFromRelative(EmuPath, inipath)
1327 If hashpath
1328 hashpath := AbsoluteFromRelative(EmuPath, hashpath)
1329
1330 artworkCrop := If (Artwork_Crop = "true") ? " -artwork_crop" : " -noartwork_crop"
1331 useBezels := If (Use_Bezels = "true") ? " -use_bezels" : " -nouse_bezels"
1332 useOverlays := If (Use_Overlays = "true") ? " -use_overlays" : " -nouse_overlays"
1333 useBackdrops := If (Use_Backdrops = "true") ? " -use_backdrops" : " -nouse_backdrops"
1334 useCpanels := If (Use_Cpanels = "true") ? " -use_cpanels" : " -nouse_cpanels"
1335 useMarquees := If (Use_Marquees = "true") ? " -use_marquees" : " -nouse_marquees"
1336 autosave := If autosave = "true" ? " -autosave" : ""
1337 volume := If volume != "" ? " -volume " . volume : ""
1338 inipath := If inipath != "" ? " -inipath """ . inipath . """" : ""
1339 hashpath := If hashpath != "" ? " -hashpath """ . hashpath . """" : ""
1340
1341 If (verticalRotationMode = "none")
1342 verticalRotationMode := ""
1343
1344 ; Process mame's ListXML for certain features
1345 If (bezelEnabled = "true" || servoStikEnabled = "auto" || verticalRotationMode || UseControllerRemap = "true") {
1346 ListXMLObject := Object()
1347 ListXMLObject := ListXMLInfo(If mameID = "MAME" ? (If mameRomName ? mameRomName : romName) : mameID) ;For non-Arcade systems we cannot use romName for listxml
1348
1349 Angle := ListXMLObject["Angle"].Value
1350 If (bezelEnabled = "true") {
1351 If (networkPlayers > 1) {
1352 useBezels := " -nouse_bezels" ; force disabling MAME built-in bezels
1353 BezelStart(networkPlayers)
1354 } Else {
1355 If (bezelMode = "layout"){
1356 BezelStart("layout",ListXMLObject["Parent"].Value,Angle,romName)
1357 } Else { ;bezel mode = normal
1358 useBezels := " -nouse_bezels" ; force disabling MAME built-in bezels
1359 BezelStart(,,Angle)
1360 }
1361 }
1362 }
1363 If (servoStikEnabled = "auto") {
1364 ServoStik(If ListXMLObject["Ways"].Value <= 4 ? 4 : 8) ; If "ways" in the xml is set to 4 or less, the servo will go into 4-way mode, else 8-way mode will be enabled
1365 }
1366 If (verticalRotationMode && Angle) {
1367 RLLog.Info("Setting rotation mode to " . verticalRotationMode . " - Game's angle is " . Angle)
1368 If (verticalRotationMode = "original")
1369 verticalRotationMode := " -norotate"
1370 Else If (verticalRotationMode = "right")
1371 verticalRotationMode := " -ror"
1372 Else If (verticalRotationMode = "left")
1373 verticalRotationMode := " -rol"
1374 Else
1375 verticalRotationMode := ""
1376 }
1377 Else
1378 verticalRotationMode := ""
1379
1380 ;Controller Remap
1381 If (UseControllerRemap = "true") {
1382 RLLog.Info("Controller Remap: Start")
1383 romProfileName := (mameRomName ? mameRomName : romName)
1384 romParentName := ListXMLObject["Parent"].Value
1385
1386 If ControllerRemapPath
1387 ControllerRemapPath := AbsoluteFromRelative("", ControllerRemapPath)
1388 If ControllerRemapConfigPath
1389 ControllerRemapConfigPath := AbsoluteFromRelative("", ControllerRemapConfigPath)
1390 If MAMECtrlrPath
1391 MAMECtrlrPath := AbsoluteFromRelative(emuPath, MAMECtrlrPath)
1392
1393 ctrlrPath := ""
1394 RLLog.Info("Controller Remap: ControllerRemapConfigPath: " . ControllerRemapConfigPath)
1395
1396 ;~ ;1- Check for Rom. 2- Check for Rom Parent. 3- Check for System default
1397 If (FileExist(ControllerRemapConfigPath . "\" . systemName . "\" . romProfileName . ".cfg")) {
1398 RLLog.Info("Controller Remap: Rom Config File Found: " . ControllerRemapConfigPath . "\" . systemName . "\" . romProfileName . ".cfg")
1399 ctrlrPath := new File(ControllerRemapConfigPath . "\" . systemName . "\" . romProfileName . ".cfg")
1400 }
1401 else if (romParentName and FileExist(ControllerRemapConfigPath . "\" . systemName . "\" . romParentName . ".cfg")) {
1402 RLLog.Info("Controller Remap: Parent Rom Config File Found: " . ControllerRemapConfigPath . "\" . systemName . "\" . romParentName . ".cfg")
1403 ctrlrPath := new File(ControllerRemapConfigPath . "\" . systemName . "\" . romParentName . ".cfg")
1404 }
1405 else If (FileExist(ControllerRemapConfigPath . "\" . systemName . "\_Default.cfg")) {
1406 RLLog.Info("Controller Remap: System Config File Found: " . ControllerRemapConfigPath . "\" . systemName . "\_Default.cfg")
1407 ctrlrPath := new File(ControllerRemapConfigPath . "\" . systemName . "\_Default.cfg")
1408 }
1409 else If (FileExist(ControllerRemapConfigPath . "\_Default.cfg")) {
1410 RLLog.Info("Controller Remap: Global Config File Found: " . ControllerRemapConfigPath . "\_Default.cfg")
1411 ctrlrPath := new File(ControllerRemapConfigPath . "\_Default.cfg")
1412 }
1413
1414 ; Is there a controller file?
1415 if (ctrlrPath) {
1416 ctrlrFile := " -ctrlr RocketLauncher"
1417
1418 ;Replace <system name="default"> with the Right mameID in the RocketLauncher.cfg file
1419 if(mameID != "MAME") {
1420 ctrlrPath.Read()
1421 rocketLauncherCfgFile := new File(MAMECtrlrPath . "\RocketLauncher.cfg")
1422 rocketLauncherCfgFile.Delete()
1423 rocketLauncherCfgFile.Append(StringUtils.Replace(ctrlrPath.Text, "<system name=""default"">", "<system name=""" . mameID . """>"))
1424 }
1425 else {
1426 ctrlrPath.Copy(MAMECtrlrPath . "\RocketLauncher.cfg",1)
1427 }
1428
1429 RLLog.Info("Controller Remap: Running """ . ControllerRemapPath . """ /remap:""" . MAMECtrlrPath . "\RocketLauncher.cfg""")
1430 ControllerRemapProcess := new Process(ControllerRemapPath)
1431 ControllerRemapProcess.Run(" /remap:""" . MAMECtrlrPath . "\RocketLauncher.cfg""","Hide")
1432 }
1433 else {
1434 RLLog.Info("Controller Remap: No Controller config file found.")
1435 }
1436 RLLog.Info("Controller Remap: End")
1437 }
1438 }
1439
1440 winstate := If (Fullscreen = "true") ? "Hide UseErrorLevel" : "UseErrorLevel"
1441 fullscreenParam := If (Fullscreen = "true") ? " -nowindow" : " -window"
1442
1443 hideEmuObj := Object(emuOpenWindow,0,emuDebugWindow,0,emuOutputWindow,0,emuPrimaryWindow,1)
1444 7z(romPath, romName, romExtension, sevenZExtractPath)
1445
1446 ; Get MAME version from executable, this is needed since some CLI switches are not available in older MAME versions
1447 exeAtrib := FileGetVersionInfo_AW(emuPath . "\" . executable, "FileVersion|ProductVersion", "|")
1448 Loop, Parse, exeAtrib, |%A_Tab%, %A_Space%
1449 A_Index & 1 ? ( _ := A_LoopField ) : ( %_% := A_LoopField )
1450 If ProductVersion
1451 MAMEVersion := StringUtils.Right(ProductVersion, StringUtils.StringLength(ProductVersion) - 2)
1452 RLLog.Info("Module - Detected MAME Product Version from '" . EmuPath . "\" . executable . "' is " . MAMEVersion)
1453
1454 If (videomode = "opengl") {
1455 hlsl := " -nohlsl_enable"
1456 If (MAMEVersion > 159)
1457 glsl := If glsl = "true" ? " -gl_glsl" : (If glsl = "ini" ? "" : " -nogl_glsl")
1458 Else
1459 glsl := ""
1460 } Else {
1461 hlsl := If hlsl = "true" ? " -hlsl_enable" : (If hlsl = "ini" ? "" : " -nohlsl_enable")
1462 If (MAMEVersion > 159)
1463 glsl := If videomode = "ini" ? "" : " -nogl_glsl"
1464 Else
1465 glsl := ""
1466
1467 If (videomode = "ini")
1468 videomode := ""
1469 }
1470 videomode := If (Videomode != "" ) ? " -video " . videomode : ""
1471
1472 param1 := " -cart """ . romPath . "\" . romName . romExtension . """" ; default param1 used for launching most systems.
1473 If (romExtension = ".txt") ; This can be applied to all systems
1474 param1 := ""
1475
1476 If (mameID = "apfimag") ; APF Imagination Machine
1477 If (romExtension != ".tap")
1478 mameID := "apfm1000" ; cart games for APF Imagination Machine require a different bios to be loaded
1479
1480 If (UseSoftwareList != "true")
1481 { ; Now that we know the system we are loading, determine if we use an ini assocated with that system for custom game configs a user might need. Then load the configs associated to that game.
1482 If StringUtils.Contains(mameID,"ti99_4a|aes|apple2gs|electron|mbeeic|odyssey2|astrocde|samcoupe|vic10|cpc664|mo5") ; these systems will use an ini to store game specific settings
1483 {
1484 If !SystemModuleIni.Exist()
1485 SystemModuleIni.Append() ; create a blank file if it does not exist
1486
1487 If (mameID = "ti99_4a") ; Texas Instruments TI 99-4A
1488 {
1489 ExpansionCartLocation := moduleIni.Read("Settings", "ExpansionCartLocation", romPathOrig . "\System",,1)
1490 ExpansionCartLocation := GetFullName(ExpansionCartLocation)
1491 CommandWaitOffset := moduleIni.Read("Settings", "CommandWaitOffset", 0,,1)
1492
1493 ExpansionCart := moduleIni.Read(romName, "Expansion_Cart","extended_basic.rpk",,1) ; user can specify a rom specific cart instead of the default basic one
1494 Command := moduleIni.Read(romName, "Command",,,1)
1495
1496 ; Now set the parameters to send to MAME
1497 If (romExtension = ".dsk") ; Expansion Disk
1498 {
1499 ; If using the mainCart , send expansionLocation to MAME. This will require DirectInput to be enabled on the MAME build! Else we are loading a Disk game
1500 param1 := " -nat -gromport single -cart1"
1501 param2 := " """ . ExpansionCartLocation . "\" . ExpansionCart . """"
1502 param3 := " -peb:slot2 32kmem -peb:slot3 speech -peb:slot6 tirs232 -peb:slot8 hfdc"
1503 param4 := " -flop1"
1504 param5 := " """ . romPath . "\" . romName . romExtension . """"
1505 If StringUtils.Contains(romName, "\(Disk")
1506 {
1507 TimerUtils.Sleep(50)
1508 If (romTable.MaxIndex() = 2)
1509 {
1510 param4 := " -flop1 " . " """ . romTable[1,1] . """"
1511 param5 := " -flop2 " . " """ . romTable[2,1] . """"
1512 }
1513 }
1514 } Else If (romExtension = ".rpk") ; Cart Game (RPK Format)
1515 param1 := " -nat -gromport single -cart1", param2:=" """ . romPath . "\" . romName . romExtension . """", param3:=" -peb:slot3 speech" ;-cart will also work here
1516 param6 := " -ui_active" ;Enable partial keyboard mode at startup
1517 } Else If (mameID = "aes") ; SNK Neo Geo AES
1518 { biosRegion := moduleIni.Read(romName, "BIOS_Region","asia",,1)
1519 param1 := " -bios " . biosRegion ; can also be japan, but the asian one has english menus for most games
1520 param2 := " -cart " . romName
1521 }Else If (mameID = "apple2gs") ; Apple IIGS
1522 { externalOS := moduleIni.Read(romName, "External_OS","false",,1)
1523 2gsSystemFile := "System6.2mg" ;For games without OS included, always force this name and error out if not found
1524 multipartTable := CreateRomTable(multipartTable)
1525
1526 If (externalOS = "true")
1527 { CheckFile(romPath . "\" . 2gsSystemFile)
1528 param1 := " -flop3", param2:=" """ . romPath . "\" . 2gsSystemFile . """", param3:=" -flop4", param4:=" """ . romPath . "\" . romName . romExtension . """"
1529 } Else {
1530 param1 := " -flop3", param2:=" """ . romPath . "\" . romName . romExtension . """"
1531 If (multipartTable.MaxIndex() > 1)
1532 param3 := " -flop4", param4 := " """ . multipartTable[2,1] . """"
1533 }
1534 param5 := " -ui_active" ;Enable partial keyboard mode at startup
1535 }Else If (mameID = "electron") ; Acorn Electron
1536 { AutoBootDelay := moduleIni.Read("Settings", "AutoBootDelay","2",,1) ; Read delay from config.
1537 AutoBootDelay := " -autoboot_delay " . AutoBootDelay
1538 If StringUtils.Contains(romExtension,"\.ssd|\.bbc\|\.img|\.dsd|\.adf|\.ads|\.adm|\.adl")
1539 {
1540 mediaDeviceType := "flop"
1541 autoBootMethod := " -autoboot_command ""*mount 0\n\n\n\n\nch.""""run""""""\n"""""
1542 }
1543 Else If StringUtils.Contains(romExtension,"\.bin|\.rom")
1544 mediaDeviceType := "cart"
1545 Else
1546 {
1547 mediaDeviceType := "cass"
1548 autoBootMethod := " -autoboot_command ""*tape\nchain""""""""""""\n"""
1549 }
1550 param1 := " -" . mediaDeviceType . " """ . romPath . "\" . romName . romExtension . """" . autoBootMethod . AutoBootDelay . ""
1551 }Else If (mameID = "sc3000") ; Sega SC-3000
1552 { AutoBootDelay := moduleIni.Read("Settings", "AutoBootDelay","2",,1) ; Read delay from config.
1553 AutoBootDelay := " -autoboot_delay " . AutoBootDelay
1554 If StringUtils.Contains(romExtension,"\.bin|\.sg\|.sc")
1555 mediaDeviceType := "cart"
1556 Else ; any other format
1557 mediaDeviceType := "cass"
1558 param1 := " -" . mediaDeviceType . " """ . romPath . "\" . romName . romExtension . """ -autoboot_command ""chain""""""""""""\n""" . AutoBootDelay . ""
1559 }Else If (mameID = "c64") ; Commodore 64
1560 { AutoBootDelay := moduleIni.Read("Settings", "AutoBootDelay","2",,1) ; Read delay from config.
1561 AutoBootDelay := " -autoboot_delay " . AutoBootDelay
1562 If StringUtils.Contains(romExtension,"\.d64|\.g64|\.g41|\.d77|\.d88|\.1dd|\.dfi|\.imd|\.ipf|\.mfi|\.mfm|\.td0|\.cqm|\.cqi|\.dsk")
1563 mediaDeviceType := "flop1"
1564 Else If StringUtils.Contains(romExtension,"\.wav|\.tap")
1565 mediaDeviceType := "cass1"
1566 Else If StringUtils.Contains(romExtension,"\.80|\.a0|\.e0|\.crt")
1567 mediaDeviceType := "cart1"
1568 Else If StringUtils.Contains(romExtension,"\.p00|\.prg|\.t64")
1569 mediaDeviceType := "quik1"
1570 param1 := " -" . mediaDeviceType . " """ . romPath . "\" . romName . romExtension . """ -autoboot_command ""chain""""""""""""\n""" . AutoBootDelay . ""
1571 }Else If mameID = mbeeic ; Applied Technology MicroBee
1572 { microbeeModel := moduleIni.Read(romName, "MicroBee_Model","mbeeic",,1)
1573 If !StringUtils.Contains(microbeeModel,"mbee|mbeeic|mbeepc|mbeepc85|mbee56")
1574 ScriptError("This is not a known MicroBee model value: " . microbeeModel)
1575 Else If (microbeeModel != "mbeeic")
1576 mameID := microbeeModel
1577 If StringUtils.Contains(romExtension,"\.mwb|\.com|\.bee")
1578 mediaDeviceType := "quik1"
1579 Else If StringUtils.Contains(romExtension,"\.wav|\.tap")
1580 mediaDeviceType := "cass"
1581 Else If StringUtils.Contains(romExtension,"\.rom")
1582 mediaDeviceType := "cart"
1583 Else If StringUtils.Contains(romExtension,"\.dsk")
1584 mediaDeviceType := "flop1"
1585 Else ; .bin format
1586 mediaDeviceType := "quik2"
1587 param1 := " -" . mediaDeviceType . " """ . romPath . "\" . romName . romExtension . """"
1588 }Else If (mameID = "odyssey2") ; Magnavox Odyssey 2
1589 {
1590 VoiceModule := moduleIni.Read(romname, "VoiceModule","false","",1)
1591 If (VoiceModule = "true")
1592 param1 := " -cart1 voice -cart2 """ . romPath . "\" . romName . romExtension . """"
1593 param2 := " -ui_active" ;Enable partial keyboard mode at startup
1594
1595 If romName not contains (USA
1596 mameID := "videopac"
1597 }Else If (mameID = "astrocde") ; Bally Astrocade
1598 {
1599 BlueRAMBasicRom := moduleIni.Read("Settings", "BlueRAMBasicRom","Blue RAM Basic v1.1 (USA).bin",,1) ; Blue RAM Basic rom
1600 RequiresReset := moduleIni.Read(romname, "RequiresReset","false",,1) ; Check if game requires a reset
1601
1602 BlueRAMBasicRomPath := new File(romPath . "\" . BlueRAMBasicRom)
1603 If (romExtension = ".script") {
1604 ; Will require blue ram basic
1605 If !BlueRAMBasicRomPath.Exist() {
1606 ; Blue RAM Basic games might be in their own sub-folders since they have several files, so let's try to find the Blue RAM cart in the parent folder as well
1607 StringUtils.SplitPath(romPath,,romBasePath) ; grab path one level up
1608 BlueRAMBasicRomPath.__Delete()
1609 BlueRAMBasicRomPath := new File(romBasePath . "\" . BlueRAMBasicRom)
1610 BlueRAMBasicRomPath.CheckFile("Couldn't find " . BlueRAMBasicRom . " on any of these paths:" . romBasePath . "|" . romPath)
1611 }
1612
1613 ScriptFile := new File(romPath . "\" . romName . romExtension)
1614 param1 := " -cart """ . BlueRAMBasicRomPath.FileFullPath . """"
1615
1616 ; Replace rompath variable in script
1617 ScriptFile.Read()
1618 ScriptFile.Text := StringUtils.Replace(ScriptFile.Text, "{romPath}", romPath, "all")
1619
1620 ; Create cmd file to send to MESS
1621 RomCMDFile := new File(romPath . "\" . romName . ".cmd")
1622 RomCMDFile.Delete()
1623 RomCMDFile.Append(ScriptFile.Text)
1624 param2 := " -exp blue_ram_16k -debug -debugscript """ . RomCMDFile.FileFullPath . """"
1625
1626 closeDebugWindow := "true"
1627 }
1628 }Else If (mameID = "samcoupe") ; MGT Sam Coupe
1629 { AutoBootDelay := moduleIni.Read("Settings", "AutoBootDelay","2",,1) ; Read delay from config.
1630 AutoBootDelay := " -autoboot_delay " . AutoBootDelay
1631
1632 If StringUtils.Contains(romExtension,"\.mgt|\.dsk|\.d77|\.d88|\.1dd|\.dfi|\.imd|\.ipf|\.mfi|\.mfm|\.td0|\.cqm|\.cqi")
1633 mediaDeviceType := "flop1"
1634 param1 := " -" . mediaDeviceType . " """ . romPath . "\" . romName . romExtension . """ -autoboot_command ""\nBOOT\n""" . AutoBootDelay . ""
1635 }Else If (mameID = "vic10") ; Commodore MAX Machine
1636 { AutoBootDelay := moduleIni.Read("Settings", "AutoBootDelay","2",,1) ; Read delay from config.
1637 AutoBootDelay := " -autoboot_delay " . AutoBootDelay
1638
1639 If StringUtils.Contains(romExtension,"\.e0|\.80")
1640 param1 := " -cart """ . romPath . "\" . romName . romExtension . """"
1641 Else If StringUtils.Contains(romExtension,"\.wav|\.tap|\.fd")
1642 param1 := " -cass """ . romPath . "\" . romName . romExtension . """"
1643 Else If StringUtils.Contains(romExtension,"\.t64|\.prg|\.p00")
1644 {
1645 mediaDeviceType := "quik"
1646 param1 := " -" . mediaDeviceType . " """ . romPath . "\" . romName . romExtension . """ -autoboot_command ""RUN""" . AutoBootDelay . ""
1647 }
1648 }Else If (mameID = "mo5") ; Thomson MO5
1649 { AutoBootDelay := moduleIni.Read("Settings", "AutoBootDelay","2","",1) ; Read delay from config.
1650 AutoBootDelay := " -autoboot_delay " . AutoBootDelay
1651
1652 If StringUtils.Contains(romExtension,"\.bin|\.m5|\.rom")
1653 param1 := " -cart """ . romPath . "\" . romName . romExtension . """"
1654 Else If StringUtils.Contains(romExtension,"\.wav|\.k5|\.k7")
1655 param1 := " -cass """ . romPath . "\" . romName . romExtension . """ -autoboot_command ""RUN \""\""\n""" . AutoBootDelay . ""
1656 Else If StringUtils.Contains(romExtension,"\.fd|\.dsk|\.d77|\.d88")
1657 param1 := " -flop1 """ . romPath . "\" . romName . romExtension . """ -autoboot_command ""DOS\nLOAD\n""" . AutoBootDelay . ""
1658 }Else If (mameID = "cpc664") ; Amstrad CPC
1659 { LaunchProgram := moduleIni.Read(romName, "LaunchProgram","disk",,1) ; Read command from config.
1660 LaunchProgram := " -autoboot_command " . """RUN \""" . LaunchProgram . "\n"""
1661 AutoBootDelay := moduleIni.Read("Settings", "AutoBootDelay","2",,1) ; Read delay from config.
1662 AutoBootDelay := " -autoboot_delay " . AutoBootDelay
1663
1664 If StringUtils.Contains(romExtension,"\.d77|\.d88|\.1dd|\.dfi|\.imd|\.ipf|\.mfi|\.mfm|\.td0|\.cqm|\.cqi|\.dsk")
1665 mediaDeviceType := "flop1"
1666 param1 := " -" . mediaDeviceType . " """ . romPath . "\" . romName . romExtension . """" . LaunchProgram . AutoBootDelay
1667 }
1668
1669 ;Use a different bios if needed (This must be done after the above if conditions since the mameID will change)
1670 iniBios := moduleIni.Read(romName, "Bios",mameID,,1) ; for all games, we use the default bios. Some games might require different bios like Odyssey2's Jopac games use the videopac bios instead, which should be defined in the ini
1671 If (iniBios != "")
1672 mameID := iniBios ; need to change the bios name for some games
1673 }
1674
1675 ; These systems don't use an ini, but do require parameters to be changed from the default method of launching MAME
1676 If (mameID = "neocdz" || mameID = "cdimono1" || mameID = "segacd" || mameID = "saturn" || mameID = "psx" || (mameID = "tg16" && mameSystem = "NEC TurboGrafx-CD") || (mameID = "pce" && mameSystem = "NEC PC Engine-CD")) ; SNK Neo Geo CD, Philips CD-i, Sega CD, Sega Saturn, Sony PlayStation, NEC PC Engine-CD or NEC TurboGrafx-CD
1677 { If !StringUtils.Contains(romExtension,"\.chd|\.cue")
1678 ScriptError("MAME only supports " . mameSystem . " games in chd and cue format. It does not support:`n" . romExtension)
1679 If (mameSystem = "NEC TurboGrafx-CD") { ; NEC TurboGrafx-CD needs an additional bios mounted as a cart to run
1680 tgcdBios := moduleIni.Read("Settings", "TGCDSystemCard", emuPath . "\roms\Super CD-ROM2 System V3.01 (U).pce",,1)
1681 tgcdBios := GetFullName(tgcdBios)
1682 tgcdBios := CheckFile(tgcdBios)
1683 param2 := " -cart " . """" . tgcdBios . """"
1684 } Else If (mameSystem = "NEC PC Engine-CD") { ; NEC PC Engine-CD needs an additional bios mounted as a cart to run
1685 pcecdBios := moduleIni.Read("Settings", "PCECDSystemCard", emuPath . "\roms\Super CD-ROM2 System V3.0 (J).pce",,1)
1686 pcecdBios := GetFullName(pcecdBios)
1687 pcecdBios := CheckFile(pcecdBios)
1688 param2 := " -cart " . """" . pcecdBios . """"
1689 } Else If (mameID = "psx") { ; Sony PlayStation
1690 mameID := "psu" ; changing mameID sent to MAME to use the USA bios
1691 ; SelectMemCard() ; future function to swap around memcards
1692 ; Usage: mc1 "J:\MAME\software\psu\card1.mc"
1693 } If (mameSystem = "Sega CD") { ;
1694 If StringUtils.InStr(romName,"(Jap") ; Mega CD Japanese v2
1695 mameID := "megacd2j"
1696 Else If StringUtils.InStr(romName,"(Euro") ; Mega CD European (PAL)
1697 mameID := "megacd"
1698 }
1699 param1 := " -cdrm """ . romPath . "\" . romName . romExtension . """"
1700 }Else If (mameID = "gamecom") ; Tiger Game.com
1701 { If (romExtension != ".txt")
1702 param1 := " -cart1 """ . romPath . "\" . romName . romExtension . """"
1703 }Else If (mameID = "genesis") ; Sega Genesis
1704 { If (StringUtils.InStr(romName, "(Europe") || StringUtils.InStr(romName, "(PAL")) ; if rom is from europe, tell MAME to boot a Mega Drive instead
1705 mameID := "megadriv"
1706 }Else If (mameID = "megadriv") ; Sega Mega Drive
1707 { If (StringUtils.InStr(romName, "(USA") || StringUtils.InStr(romName, "(NTSC")) ; if rom is from America, tell MAME to boot a Genesis instead
1708 mameID := "genesis"
1709 }Else If (mameID = "vii") ; JungleTac Sport Vii
1710 { If (romName = "Built-In Games (China)") ; Has some built-in games, gotta launch just BIOS for it.
1711 param1 := ""
1712 }Else If (mameID = "alice32") ; Matra & Hachette Alice
1713 { If (romExtension != ".txt")
1714 param1 := " -cass1 """ . romPath . "\" . romName . romExtension . """"
1715 }Else If (mameID = "cgenie") ; EACA EG2000 Colour Genie
1716 { If (romExtension != ".txt")
1717 param1 := " -cass1 """ . romPath . "\" . romName . romExtension . """"
1718 }Else If (mameID = "pockstat") ; Sony PocketStation
1719 { If (romExtension != ".gme")
1720 param1 := " -cart1 """ . romPath . "\" . romName . romExtension . """"
1721 }Else If (mameID = "coco3") ; Tandy TRS-80 Color Computer
1722 { If (romExtension != ".txt")
1723 param1 := " -cart """ . romPath . "\" . romName . romExtension . """"
1724 }Else If (mameID = "zx81") ; Sinclair ZX81
1725 { If (romExtension != ".txt")
1726 param1 := " -cass1 """ . romPath . "\" . romName . romExtension . """"
1727 }Else If (mameID = "lynx128k") ; Camputers Lynx
1728 { If (romExtension != ".txt")
1729 param1 := " -cass1 """ . romPath . "\" . romName . romExtension . """"
1730 }Else If (mameID = "vg5k") ; Philips VG 5000
1731 { If (romExtension != ".txt")
1732 param1 := " -cass1 """ . romPath . "\" . romName . romExtension . """"
1733 }Else If (mameID = "sorcerer") ; Exidy Sorcerer
1734 { If (romExtension = ".snp") ; Snapshot file
1735 param1 := " -dump """ . romPath . "\" . romName . romExtension . """"
1736 Else If (romExtension = ".bin")
1737 param1 := " -quik """ . romPath . "\" . romName . romExtension . """"
1738 }Else If (messID = "jupace") ; jupiter ace
1739 { If (romExtension = ".ace")
1740 param1 := " -dump """ . romPath . "\" . romName . romExtension . """"
1741 }Else If (mameID = "a800" || mameID = "fds") ; Atari 8-Bit, Nintendo Famicom Disk System
1742 { If (romExtension != ".txt")
1743 param1 := " -flop1 """ . romPath . "\" . romName . romExtension . """"
1744 }Else If (mameID = "vectrex") ; GCE Vectrex
1745 { If (romName = "Mine Storm (World)") ; MAME dumps an error if you try to launch Mine Storm using a rom instead of just booting vectrex w/o a game in it (Mine Storm is built into vectrex)
1746 param1 := ""
1747 }Else If (mameID = "apfm1000") ; APF Imagination Machine/APF M1000
1748 { If (romName = "Rocket Patrol (USA)") ; Rocket Patrol is built into the APF M1000 ROM.
1749 param1 := ""
1750 }Else If (mameID = "adam") ; Coleco ADAM
1751 param1 := (If romExtension = ".ddp" ? " -cass1" : (If romExtension = ".dsk" ? " -flop1" : " -cart1")) . " """ . romPath . "\" . romName . romExtension . """" ; Decide if tape, disk, or cart game
1752 Else If (mameID = "pegasus") ; Aamber Pegasus
1753 { If (romExtension != ".txt")
1754 param1 := " -cart1 """ . romPath . "\" . romName . romExtension . """"
1755 }Else If (mameID = "gp32") ; GamePark 32
1756 { If (romExtension != ".txt")
1757 param1 := " -memc """ . romPath . "\" . romName . romExtension . """"
1758 }Else If (mameID = "svmu") ; Sega VMU
1759 {
1760 param1 := " -quik """ . romPath . "\" . romName . romExtension . """"
1761 }Else If (mameID = "x1turbo40") ; Sharp X1
1762 { If StringUtils.Contains(romExtension,"\.bin|\.rom")
1763 param1 := " -cart """ . romPath . "\" . romName . romExtension . """"
1764 Else If StringUtils.Contains(romExtension,"\.wav|\.tap")
1765 param1 := " -cass """ . romPath . "\" . romName . romExtension . """"
1766 Else
1767 param1 := " -flop1 """ . romPath . "\" . romName . romExtension . """"
1768 }Else If (mameID = "pc8801") ; NEC PC-8801
1769 { If (romExtension = ".d88")
1770 param1 := " -flop1 """ . romPath . "\" . romName . romExtension . """"
1771 }Else If (mameID = "fmnew7") ; Fujitsu FM-7
1772 { If StringUtils.Contains(romExtension,"\.fdi|\.td0|\.imd|\.cqm|\.dsk|\.d77|\.d88|\.1dd")
1773 param1 := " -flop1 """ . romPath . "\" . romName . romExtension . """"
1774 Else If StringUtils.Contains(romExtension,"\.wav|\.t77")
1775 param1 := " -cass """ . romPath . "\" . romName . romExtension . """"
1776 }Else If (mameID = "apple2ep") ; Apple II
1777 { If StringUtils.Contains(romExtension,"\.dsk|\.do|\.po|\.rti|\.edd|\.d77|\.d88|\.1dd|\.dfi|\.imd|\.i pf|\.mfi|\.mfm|\.td0|\.cqm|\.cqi")
1778 param1 := " -flop1 """ . romPath . "\" . romName . romExtension . """"
1779 Else If StringUtils.Contains(romExtension,"\.wav")
1780 param1 := " -cass """ . romPath . "\" . romName . romExtension . """"
1781 }Else If (mameID = "n64dd") ; Nintendo 64DD
1782 {
1783 N64RomFile := new FIle(romPath . "\" . romName . ".n64")
1784 If N64RomFile.Exist()
1785 param1 := " -cart """ . N64RomFile.FileFullPath . """ -quik """ . romPath . "\" . romName . romExtension . """"
1786 Else
1787 param1 := " -quik """ . romPath . "\" . romName . romExtension . """"
1788 }Else If StringUtils.Contains(mameID,"studio2|mpt02") ; RCA Studio 2
1789 {
1790 If (romExtension != ".txt")
1791 param1 := " -cart1 """ . romPath . "\" . romName . romExtension . """"
1792 Else {
1793 If StringUtils.Contains(romName,"Doodle")
1794 button2 := "A 1" ; Press 1 on P1 controller
1795 If StringUtils.Contains(romName,"Patterns")
1796 button2 := "A 2" ; Press 2 on P1 controller
1797 If StringUtils.Contains(romName,"Bowling")
1798 button2 := "A 3" ; Press 3 on P1 controller
1799 If StringUtils.Contains(romName,"Freeway")
1800 button2 := "A 4" ; Press 4 on P1 controller
1801 If StringUtils.Contains(romName,"Addition")
1802 button2 := "A 5" ; Press 5 on P1 controller
1803 }
1804
1805 ; Generate a lua script to press the Clear button so games will start
1806 ScriptFileName := GeneratePressButtonScript("Clear",button2)
1807 bootscript := " -script """ . ScriptFileName . """ -autoboot_delay 1"
1808 }Else If (mameID = "fmtowns" || mameID = "fmtmarty") ; Fujitsu FM Towns
1809 {
1810 If StringUtils.Contains(romExtension,"\.chd|\.cue")
1811 mediaDeviceType := "cdrm"
1812 Else
1813 mediaDeviceType := "flop1"
1814
1815 param1 := " -" . mediaDeviceType . " """ . romPath . "\" . romName . romExtension . """"
1816 }
1817 } Else { ; Use Software List
1818 hashname := mameID
1819 param1 := " """ . romName . """" ; param1 used for launching from software lists
1820
1821 If (mameID = "aes") ; SNK Neo Geo AES
1822 { hashname := "neogeo"
1823 biosRegion := moduleIni.Read(romName, "BIOS_Region","asia",,1)
1824 param2 := " -bios " . biosRegion ; can also be japan, but the asian one has english menus for most games
1825 }
1826 CheckFile(emuPath . "\hash\" . hashname . ".xml","Could not find a software list for the system " . mameID) ;Check if software list for selected system exists
1827 }
1828
1829 If (mameID = "vectrex") { ; GCE Vectrex
1830 VectrexArtFile := new File(emuPath . "\artwork\Vectrex\" . romName . ".png")
1831 param2 := " -view " . (If VectrexArtFile.Exist() ? ("""" . romName . """") : "standard") ; need overlays extracted in the artwork\vectres folder. PNGs must match romName
1832 }
1833
1834 sysStaticParams := If sysStaticParams != "" ? A_Space . sysStaticParams : "" ; tacking on a space in case user forgot to add one
1835 romParams := If romParams != "" ? A_Space . romParams : "" ; tacking on a space in case user forgot to add one
1836
1837 mameRomPaths := StringUtils.Replace(romPathFromIni,"|",`"`;`",1) ; replace all instances of | to ; in the Rom_Path from RL's Emulators.ini so MAME knows where to find your roms
1838 mameRomPaths := " -rompath """ . (If mameRomName ? romPath : mameRomPaths) . (If mameBiosPath ? ";" . mameBiosPath : "") . """" ; If using an alt rom, only supply mame with the path to that rom so it doesn't try to use the original rom. If a bios path was supplied, add it into the rom paths sent to MAME
1839
1840 If StringUtils.InStr(romParams,"-rompath")
1841 ScriptError("""-rompath"" is defined as a parameter for " . romName . ". The MAME module fills this automatically so please remove this from Params in the module's settings.")
1842 If StringUtils.InStr(sysStaticParams,"-rompath")
1843 ScriptError("""-rompath"" is defined as a parameter for " . mameSystem . ". The MAME module fills this automatically so please remove this from Params in the module's settings.")
1844
1845 ; use a custom rom name, not the one from the db
1846 If mameRomName {
1847 MameRomOriginalFile := new File(romPath . "\" . romName . romExtension)
1848 MameRomCustomFile := new File(romPath . "\" . mameRomName . romExtension)
1849 errLvl := MameRomOriginalFile.Move(MameRomCustomFile.FileFullPath) ; rename rom to match what mame needs
1850 originalRomName := romName ; store romName from database so we know what to rename it back to later
1851 romName := mameRomName
1852 If errLvl
1853 ScriptError("There was a problem renaming " . romName . " to " . mameRomName . " in " . romPath . ". Please check you have write permission to this folder/file and you don't already have a file named """ . mameRomName . """ in your rom folder.",8)
1854 Else ; if rename was successful, set var so we know to move it back later
1855 fileRenamed := 1
1856 }
1857
1858 ; use a custom cfg file if it exists and append it to param1
1859 CustomCFGPath := new Folder(emuPath . "\cfg\" . mameID . "\" . dbName)
1860 If CustomCFGPath.Exist()
1861 param1 := " -cfg_directory """ . CustomCFGPath.FileFullPath . """" . param1
1862
1863 If (bilinearFilter = "true")
1864 bilinearEnabled := " -filter"
1865 Else
1866 bilinearEnabled := " -nofilter"
1867
1868 If (cheatMode = "true") {
1869 CheatZipFile := new File(emuPath . "\cheat.zip")
1870 Cheat7zFile := new File(emuPath . "\cheat.7z")
1871 If (!CheatZipFile.Exist() && !Cheat7zFile.Exist())
1872 RLLog.Warning("Module - You have cheats enabled for " . MEmu . " but could not locate a ""cheat.zip"" or ""cheat.7z"" in " . emuPath)
1873 Else {
1874 RLLog.Info("Module - Cheat file found in " . emuPath)
1875 If cheatModeKey ; if user wants to use a key to enable CheatMode
1876 cheatEnabled := If XHotkeyAllKeysPressed(cheatModeKey) ? " -cheat" : "" ; only enables cheatMode when key is held down on launch
1877 Else ; no cheat mode key defined
1878 cheatEnabled := " -cheat"
1879 }
1880 }
1881
1882 If (RequiresReset = "true")
1883 { ; Generate a lua script to send a system soft reset
1884 ScriptFileName := GenerateSoftResetScript()
1885 bootscript := " -script """ . ScriptFileName . """ -autoboot_delay 1"
1886 }
1887
1888 HideAppStart(hideEmuObj,hideEmu)
1889
1890
1891
1892 If (legacyMode = "true")
1893 { RLLog.Info("Module - Running MAME in legacy Mode")
1894 errLvl := primaryExe.Run(" " . (If mameID = "MAME" ? romName : mameID . param1 . param2 . param3 . param4 . param5 . param6) . fullscreenParam . cheatEnabled . volume . mameRomPaths . sysStaticParams . romParams, winstate,,,,1) ; wrap quotes around exe
1895 } Else {
1896 RLLog.Info("Module - Running MAME in non-legacy mode")
1897 ; If (networkPlayers = 1 || !linkEnabledGame) {
1898 If !networkSession {
1899 RLLog.Info("Module - SinglePlayer session")
1900 if (MAMEVersion > 211) {
1901 errLvl := primaryExe.Run(" " . (If mameID = "MAME" ? romName : mameID . param1 . param2 . param3 . param4 . param5 . param6 ) . ctrlrFile . mameRomPaths . sysStaticParams . romParams . fullscreenParam . hlsl . glsl . cheatEnabled . volume . inipath . hashpath . verticalRotationMode . videomode . artworkCrop . autosave . bootscript . bilinearEnabled . " -skip_gameinfo", winstate,,,,1) ; wrap quotes around exe
1902 }
1903 else {
1904 errLvl := primaryExe.Run(" " . (If mameID = "MAME" ? romName : mameID . param1 . param2 . param3 . param4 . param5 . param6 ) . ctrlrFile . mameRomPaths . sysStaticParams . romParams . fullscreenParam . hlsl . glsl . cheatEnabled . volume . inipath . hashpath . verticalRotationMode . videomode . artworkCrop . useBezels . useOverlays . useBackdrops . useCpanels . useMarquees . autosave . bootscript . bilinearEnabled . " -skip_gameinfo", winstate,,,,1) ; wrap quotes around exe
1905 }
1906 } Else { ; multiplayer game run
1907 RLLog.Info("Module - Network/MultiPlayer session")
1908 BuildNVRAMObject() ; build nvram object
1909 ;screen positions
1910 screenPos := []
1911 screenPos := SplitScreenPos(networkPlayers,splitScreen2PlayersMode,splitScreen3PlayersMode,maxPlayersPerMonitor)
1912 If (networkType="localLink")
1913 globalInputs := " -global_inputs" ; tell mame to accept inputs when its window is not focused
1914 Loop % networkPlayers
1915 {
1916 currentPlayer := A_Index
1917 ; Update NVRAM setting(s)
1918 If (enableNVRAMAutomation = "true") {
1919 If nvramSettings[romName]["Settings"]["Credit"]["Position"].MaxIndex() { ; If nvram settings exist for this game
1920 NVRamFile%currentPlayer% := new File(emuPath . "\nvram" . (If currentPlayer = 1 ? "" : currentPlayer) . "\" . romName . "\" . nvramSettings[romName]["Settings"]["NVRAM"]["File"][1])
1921 If NVRamFile%currentPlayer%.Exist() {
1922 RLLog.Info("Module - Checking nvram file(s) for required changes")
1923 If (networkType = "localLink") { ; only local link is supported for now
1924 ; Parse through each setting of each player and lookup the position to write new setting to the nvram file
1925 for playerOptionLabel, selectedPlayerOption in nvramSettings[romName]["Player"][currentPlayer] ;looping on each player selected options
1926 for index, setting in nvramSettings[romName]["Settings"][playerOptionLabel]["Position"] ;Looping through hex values of the current option
1927 HexCompareWrite(NVRamFile%currentPlayer%.FileFullPath,nvramSettings[romName]["Settings"][playerOptionLabel]["Position"][index],nvramSettings[romName]["Settings"][playerOptionLabel]["Option"][selectedPlayerOption][index])
1928 for index, playerCRC in nvramSettings[romName]["CRC"]["Player"][currentPlayer] ;looping on each player selected options
1929 HexCompareWrite(NVRamFile%currentPlayer%.FileFullPath,nvramSettings[romName]["Settings"]["CRC"]["Position"][index],nvramSettings[romName]["CRC"]["Player"][currentPlayer][index])
1930 } Else If (networkType = "Server") {
1931 RLLog.Info("Module - Converting this nvram to ""Master"" in: " . NVRamFile%currentPlayer%.FileFullPath)
1932 ; RLLog.Info("Module - NVRAM automation for ""Server"" not supported at this time") ; only idea to get this to work is to duplicate nvram edit code from local link here but only set player 1
1933 HexCompareWrite(NVRamFile%currentPlayer%.FileFullPath,nvramSettings[romName]["Settings"]["Link"]["Position"][1],nvramSettings[romName]["Settings"]["Link"]["Option"]["Master"][1])
1934 } Else If (networkType = "Client") {
1935 RLLog.Info("Module - Converting this nvram to ""Slave"" in: " . NVRamFile%currentPlayer%.FileFullPath)
1936 ; RLLog.Info("Module - NVRAM automation for ""Client"" not supported at this time") ; only idea to get this to work is to duplicate nvram edit code from local link here but only set player 2
1937 HexCompareWrite(NVRamFile%currentPlayer%.FileFullPath,nvramSettings[romName]["Settings"]["Link"]["Position"][1],nvramSettings[romName]["Settings"]["Link"]["Option"]["Slave"][1])
1938 }
1939 } Else
1940 RLLog.Info("Module - Did not find an NVRAM file to update for player " . currentPlayer . " (Ignore this if this is the first time you are launching this rom): " . NVRamFile%currentPlayer%.FileFullPath)
1941 } Else
1942 RLLog.Info("Module - This rom does not contain an entry in the NVRAM object")
1943 }
1944 ;;Run Line for each of the multiplayer MAME instances using the nvramPath and cfgPath variables to the extra mames
1945 MameMultiPlayer%currentPlayer%Exe := new Process(emuPath . "\" . executable) ; instantiate a new process for each player
1946 if (MAMEVersion > 211) {
1947 errLvl := MameMultiPlayer%currentPlayer%Exe.Run(" " . (If mameID = "MAME" ? romName : mameID . param1 . param2 . param3 . param4 . param5 . param6) . ctrlrFile . mameRomPaths . multiPlayerObj[currentPlayer]["CfgDir"] . multiPlayerObj[currentPlayer]["NvramDir"] . globalInputs . multiPlayerObj[currentPlayer]["LocalHost"] . multiPlayerObj[currentPlayer]["LocalPort"] . multiPlayerObj[currentPlayer]["RemoteHost"] . multiPlayerObj[currentPlayer]["RemotePort"] . sysStaticParams . romParams . fullscreenParam . hlsl . glsl . cheatEnabled . volume . inipath . hashpath . verticalRotationMode . videomode . artworkCrop . autosave . bootscript . bilinearEnabled . " -skip_gameinfo", winstate,,,,1) ; wrap quotes around exe
1948 }
1949 else {
1950 errLvl := MameMultiPlayer%currentPlayer%Exe.Run(" " . (If mameID = "MAME" ? romName : mameID . param1 . param2 . param3 . param4 . param5 . param6) . ctrlrFile . mameRomPaths . multiPlayerObj[currentPlayer]["CfgDir"] . multiPlayerObj[currentPlayer]["NvramDir"] . globalInputs . multiPlayerObj[currentPlayer]["LocalHost"] . multiPlayerObj[currentPlayer]["LocalPort"] . multiPlayerObj[currentPlayer]["RemoteHost"] . multiPlayerObj[currentPlayer]["RemotePort"] . sysStaticParams . romParams . fullscreenParam . hlsl . glsl . cheatEnabled . volume . inipath . hashpath . verticalRotationMode . videomode . artworkCrop . useBezels . useOverlays . useBackdrops . useCpanels . useMarquees . autosave . bootscript . bilinearEnabled . " -skip_gameinfo", winstate,,,,1) ; wrap quotes around exe
1951 }
1952 MameMultiPlayer%currentPlayer%Exe.Process("Exist") ; get PID
1953 MameMultiPlayer%currentPlayer%Window := new Window(new WindowTitle(,,,,MameMultiPlayer%currentPlayer%Exe.PID))
1954 MameMultiPlayer%currentPlayer%Window.ExcludeTitle := "MAMEOutput" ; ignore the mame debug window
1955 MameMultiPlayer%currentPlayer%Window.Wait()
1956 }
1957
1958 Loop % networkPlayers
1959 {
1960 MameMultiPlayer%A_Index%Window.Get("ID")
1961 MameMultiPlayer%A_Index%Window.RemoveTitlebar()
1962 MameMultiPlayer%A_Index%Window.ToggleMenu()
1963 MameMultiPlayer%A_Index%Window.RemoveBorder()
1964 MameMultiPlayer%A_Index%Window.Move(screenPos[A_Index].X, screenPos[A_Index].Y, screenPos[A_Index].W, screenPos[A_Index].H)
1965 TimerUtils.Sleep(50)
1966 }
1967 }
1968 }
1969
1970 If errLvl {
1971 If (errLvl = 1)
1972 Error := "Failed Validity"
1973 Else If(errLvl = 2)
1974 Error := "Missing Files"
1975 Else If(errLvl = 3)
1976 Error := "Fatal Error"
1977 Else If(errLvl = 4)
1978 Error := "Device Error"
1979 Else If(errLvl = 5)
1980 Error := "Game Does Not Exist"
1981 Else If(errLvl = 6)
1982 Error := "Invalid Config"
1983 Else If StringUtils.Contains(errLvl,"7|8|9")
1984 Error := "Identification Error"
1985 Else
1986 Error := "MAME Error"
1987 RLLog.Error("MAME Error - " . Error)
1988 }
1989
1990 emuPrimaryWindow.Wait()
1991 emuPrimaryWindow.WaitActive()
1992
1993 If (mameID = "ti99_4a") ; Texas Instruments TI 99-4A
1994 {
1995 KeyUtils.SendCommand("X",1000) ; To bypass the first screen
1996 If (Command)
1997 KeyUtils.SendCommand(Command,,,,,,CommandWaitOffset) ; Send command affect it with an offset if needed
1998 }
1999
2000 ; Close the debugger window if exists
2001 If (closeDebugWindow = "true") {
2002 emuDebugWindow.Wait(2)
2003 emuDebugWindow.Close()
2004 }
2005
2006 BezelDraw()
2007 HideAppEnd(hideEmuObj,hideEmu)
2008
2009 If (networkPlayers = 1 || !linkEnabledGame) {
2010 emuPrimaryWindow.Show() ; Show the emulator
2011 } Else {
2012 Loop % networkPlayers
2013 MameMultiPlayer%A_Index%Window.Show() ; Show the emulator
2014 MameMultiPlayer1Window.Activate() ; Activate first player window so that first player can use keyboard instead of last player
2015 }
2016
2017 FadeInExit()
2018 primaryExe.Process("WaitClose")
2019 7zCleanUp()
2020 BezelExit()
2021
2022 If fileRenamed { ; Rename file back to alternate name for next launch
2023 errLvl := MameRomCustomFile.Move(MameRomOriginalFile.FileFullPath) ; Put original name back
2024 If errLvl ; If rename was successful, set var so we know to move it back later
2025 ScriptError("There was a problem renaming " . MameRomCustomFile.FileName . " back to " . MameRomOriginalFile.FileName)
2026 }
2027
2028 FadeOutExit()
2029 ExitModule()
2030
2031
2032 ListXMLInfo(rom){ ; Returns MAME info about parent rom, orientation angle, resolution
2033 Global emuFullPath,emuPath,RLLog
2034 ListXMLObject := Object()
2035 listXMLVarLog := ""
2036 ComSpecProcess := new Process(ComSpec) ; instantiate cmd.exe process
2037 ComSpecProcess.RunDirect(comspec . " /c " . """" . emuFullPath . """" . " -listxml " . rom . " > tempBezel.txt", emuPath, "Hide", 1) ; Run from emu's folder
2038 TempBezelFile := new File(emuPath . "\tempBezel.txt")
2039 TempBezelFile.Read()
2040 StringUtils.RegExMatch(TempBezelFile.Text, "s)<(machine|game).*name=" . """" . rom . """" . ".*" . "cloneof=" . """" . "[^""""]*", parent)
2041 StringUtils.RegExMatch(parent,"cloneof=" . """" . ".*", parent)
2042 StringUtils.RegExMatch(parent,"""" . ".*", parent)
2043 parent := StringUtils.TrimLeft(parent, 1)
2044 StringUtils.RegExMatch(TempBezelFile.Text, "s)<display.*rotate=" . """" . "[0-9]+" . """", angle)
2045 StringUtils.RegExMatch(angle,"[0-9]+", angle, "-6")
2046 StringUtils.RegExMatch(TempBezelFile.Text, "s)<display.*width=" . """" . "[0-9]+" . """", width)
2047 StringUtils.RegExMatch(width,"[0-9]+", width, "-6")
2048 StringUtils.RegExMatch(TempBezelFile.Text, "s)<display.*height=" . """" . "[0-9]+" . """", Height)
2049 StringUtils.RegExMatch(Height,"[0-9]+", Height, "-6")
2050 StringUtils.RegExMatch(TempBezelFile.Text, "s)<control.*ways=" . """" . "[0-9]+" . """", Ways)
2051 StringUtils.RegExMatch(Ways,"[0-9]+", Ways, "-6")
2052 logVars := "Parent|Angle|Height|Width|Ways"
2053 Loop, Parse, logVars, |
2054 {
2055 currentobj := {}
2056 currentobj.Label := A_Loopfield
2057 currentobj.Value := %A_Loopfield%
2058 ListXMLObject.Insert(currentobj["Label"], currentobj)
2059 listXMLLog .= "`r`n`t`t`t`t`t" . currentobj["Label"] . " = " . currentobj["Value"]
2060 }
2061 RLLog.Info("Module - MAME ListXML values: " . listXMLLog)
2062 If (ListXMLObject["Height"].Value > ListXMLObject["Width"].Value) {
2063 ListXMLObject["Angle"].Value := true
2064 RLLog.Info("Module - This game's height is greater than its width, forcing vertical mode")
2065 }
2066 TempBezelFile.Delete()
2067 Return ListXMLObject
2068 }
2069
2070 GenerateSoftResetScript(){ ; Generates a lua script to send a soft reset to MAME
2071 Global emuPath
2072
2073 SoftScriptFile := new File(emuPath . "\soft_reset.lua")
2074 ScriptFileName := emuPath . "\soft_reset.lua"
2075 SoftScriptFile.Delete()
2076
2077 AppendTxt :="
2078 (
2079 -- This script will reset the machine
2080 local function reset_machine()
2081 if resetcounter == nil then
2082 manager:machine():soft_reset();
2083 resetcounter = 1;
2084 end
2085 end
2086 if resetcounter == nil then
2087 emu.wait(1);
2088 reset_machine();
2089 end
2090 )"
2091 SoftScriptFile.Append(AppendTxt)
2092 Return SoftScriptFile.FileFullPath
2093 }
2094
2095 GeneratePressButtonScript(button1,button2=""){ ; Generates a lua script to send a soft reset to MAME
2096 Global emuPath
2097
2098 PressScriptFile := new File(emuPath . "\press_button.lua")
2099 PressScriptFile.Delete()
2100 If (button2) {
2101 button2str := "`n`t`temu.wait(1);`n`t`tioport[""" . button2 . """]:write(1);`n`t`temu.wait(1);`n`t`tioport[""" . button2 . """]:write(0);"
2102 }
2103
2104 AppendTxt :="
2105 (
2106 local function press_button()
2107 if resetcounter == nil then
2108 ioport[""" . button1 . """]:write(1);
2109 emu.wait(1);
2110 ioport[""" . button1 . """]:write(0);
2111 resetcounter = 1;" . button2str . "
2112 end
2113 end
2114 if resetcounter == nil then
2115 emu.wait(1);
2116 press_button();
2117 end
2118 )"
2119 PressScriptFile.Append(AppendTxt)
2120 Return PressScriptFile.FileFullPath
2121 }
2122
2123 BuildNVRAMObject() {
2124 Global nvramSettings,RLLog
2125 RLLog.Info("BuildNVRAMObject - Started")
2126
2127 nvramSettings := {}
2128
2129 nvramSettings["vr"] := {}
2130 nvramSettings["vr"]["Settings"] := {"BiosCounter":{"Position":["248"], "Option":{0:["00"], 1:["01"], 2:["02"], 3:["03"]}}, "Cabinet":{"Position":["52"], "Option":{"Special":["00"], "Standard":["01"], "Upright":["02"], "2PLink":["03"]}}, "Color":{"Position":["68"], "Option":{"Red":["00"], "Blue":["01"], "Yellow":["02"], "Green":["03"], "Black":["04"], "Pink":["05"], "SkyBlue":["06"], "Orange":["07"]}}, "Country":{"Position":["54"], "Option":{"Japan":["00"], "USA":["01"], "Export":["02"]}}, "Course":{"Position":["66"], "Option":{"Vote":["00"], "Beginner":["01"], "Middle":["02"], "Expert":["03"]}}, "CRC":{"Position":["16","18"]}, "Credit":{"Position":["32","40"], "Option":{"1":["00","00"], "Freeplay":["1A","01"]}}, "Difficulty":{"Position":["64"], "Option":{"Easy":["00"], "Normal":["01"], "Hard":["02"], "Hardest":["03"]}}, "Link":{"Position":["24"], "Option":{"None":["00"], "Master":["01"], "Slave":["02"], "Live":["03"]}}, "Monitor":{"Position":["22"], "Option":{"Standard":["00"], "Wide":["01"]}}, "NVRAM":{"File":["nvram"]}, "Race":{"Position":["70"], "Option":{"Normal":["00"], "Grandprix":["01"]}}, "StartCoin":{"Position":["42"], "Option":{1:["01"], 2:["02"], 3:["03"], 4:["04"], 5:["05"]}}}
2131
2132 nvramSettings["vr"]["Player"] := {}
2133 nvramSettings["vr"]["Player"].Insert(1, {"BiosCounter":"3", "Cabinet":"Standard", "Color":"Red", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Master", "Monitor":"Wide", "Race":"Normal", "StartCoin":"1"})
2134 nvramSettings["vr"]["Player"].Insert(2, {"BiosCounter":"3", "Cabinet":"Standard", "Color":"Blue", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Monitor":"Wide", "Race":"Normal", "StartCoin":"1"})
2135 nvramSettings["vr"]["Player"].Insert(3, {"BiosCounter":"3", "Cabinet":"Standard", "Color":"Yellow", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Monitor":"Wide", "Race":"Normal", "StartCoin":"1"})
2136 nvramSettings["vr"]["Player"].Insert(4, {"BiosCounter":"3", "Cabinet":"Standard", "Color":"Green", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Monitor":"Wide", "Race":"Normal", "StartCoin":"1"})
2137 nvramSettings["vr"]["Player"].Insert(5, {"BiosCounter":"3", "Cabinet":"Standard", "Color":"Black", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Monitor":"Wide", "Race":"Normal", "StartCoin":"1"})
2138 nvramSettings["vr"]["Player"].Insert(6, {"BiosCounter":"3", "Cabinet":"Standard", "Color":"Pink", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Monitor":"Wide", "Race":"Normal", "StartCoin":"1"})
2139 nvramSettings["vr"]["Player"].Insert(7, {"BiosCounter":"3", "Cabinet":"Standard", "Color":"SkyBlue", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Monitor":"Wide", "Race":"Normal", "StartCoin":"1"})
2140 nvramSettings["vr"]["Player"].Insert(8, {"BiosCounter":"3", "Cabinet":"Standard", "Color":"Orange", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Monitor":"Wide", "Race":"Normal", "StartCoin":"1"})
2141 nvramSettings["vr"]["CRC"] := {"Player":{1:["06","21"], 2:["3C","C7"], 3:["0E","5F"], 4:["FF","D8"], 5:["4B","7F"], 6:["BA","F8"], 7:["88","60"], 8:["79","E7"]}}
2142
2143 nvramSettings["vformula"] := {}
2144 nvramSettings["vformula"]["Settings"] := {"BiosCounter":{"Position":["248"], "Option":{0:["00"], 1:["01"], 2:["02"], 3:["03"]}}, "Color":{"Position":["68"], "Option":{"Red":["00"], "Blue":["01"], "Yellow":["02"], "Green":["03"], "Black":["04"], "Pink":["05"], "SkyBlue":["06"], "Orange":["07"]}}, "Country":{"Position":["54"], "Option":{"Japan":["00"], "USA":["01"], "Export":["02"]}}, "Course":{"Position":["66"], "Option":{"Vote":["00"], "Beginner":["01"], "Middle":["02"], "Expert":["03"]}}, "CRC":{"Position":["16","18"]}, "Credit":{"Position":["32","40"], "Option":{"1":["00","00"], "Freeplay":["1A","01"]}}, "Difficulty":{"Position":["64"], "Option":{"Easy":["00"], "Normal":["01"], "Hard":["02"], "Hardest":["03"]}}, "Link":{"Position":["24"], "Option":{"None":["00"], "Master":["01"], "Slave":["02"], "Live":["03"]}}, "NVRAM":{"File":["nvram"]}, "Race":{"Position":["70"], "Option":{"Normal":["00"], "Grandprix":["01"]}}, "Sound":{"Position":["22"], "Option":{"On":["00"], "Off":["01"]}}, "StartCoin":{"Position":["42"], "Option":{1:["01"], 2:["02"], 3:["03"], 4:["04"], 5:["05"]}}}
2145
2146 nvramSettings["vformula"]["Player"] := {}
2147 nvramSettings["vformula"]["Player"].Insert(1, {"BiosCounter":"1", "Color":"Red", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Master", "Race":"Normal", "Sound":"On", "StartCoin":"1"})
2148 nvramSettings["vformula"]["Player"].Insert(2, {"BiosCounter":"1", "Color":"Blue", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Race":"Normal", "Sound":"On", "StartCoin":"1"})
2149 nvramSettings["vformula"]["Player"].Insert(3, {"BiosCounter":"1", "Color":"Yellow", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Race":"Normal", "Sound":"On", "StartCoin":"1"})
2150 nvramSettings["vformula"]["Player"].Insert(4, {"BiosCounter":"1", "Color":"Green", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Race":"Normal", "Sound":"On", "StartCoin":"1"})
2151 nvramSettings["vformula"]["Player"].Insert(5, {"BiosCounter":"1", "Color":"Black", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Race":"Normal", "Sound":"On", "StartCoin":"1"})
2152 nvramSettings["vformula"]["Player"].Insert(6, {"BiosCounter":"1", "Color":"Pink", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Race":"Normal", "Sound":"On", "StartCoin":"1"})
2153 nvramSettings["vformula"]["Player"].Insert(7, {"BiosCounter":"1", "Color":"SkyBlue", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Race":"Normal", "Sound":"On", "StartCoin":"1"})
2154 nvramSettings["vformula"]["Player"].Insert(8, {"BiosCounter":"1", "Color":"Orange", "Country":"USA", "Course":"Vote", "Credit":"Freeplay", "Difficulty":"Normal", "Link":"Slave", "Race":"Normal", "Sound":"On", "StartCoin":"1"})
2155 nvramSettings["vformula"]["CRC"] := {"Player":{1:["F2","EB"], 2:["C8","0D"], 3:["FA","95"], 4:["0B","12"], 5:["BF","B5"], 6:["4E","32"], 7:["7C","AA"], 8:["8D","2D"]}}
2156
2157 RLLog.Info("BuildNVRAMObject - Ended")
2158 }
2159
2160 BezelLabel:
2161 emuConsoleWindow.Set("Transparent",0)
2162 Return
2163
2164 HaltEmu:
2165 If (pauseMethod = 1)
2166 { disableSuspendEmu := "true"
2167 disableRestoreEmu := "true"
2168 emuPrimaryWindow.PostMessage("0x211",1)
2169 } Else If (pauseMethod = 2)
2170 { disableSuspendEmu := "true"
2171 emuPrimaryWindow.PostMessage("0x211",1)
2172 } Else If (pauseMethod = 3)
2173 { disableSuspendEmu := "true"
2174 disableRestoreEmu := "true"
2175 emuPrimaryWindow.PostMessage(0x0400+6,1)
2176 } Else If (pauseMethod = 4)
2177 { disableSuspendEmu := "true"
2178 emuPrimaryWindow.PostMessage(0x0400+6,1)
2179 } Else If (pauseMethod = 5)
2180 { disableSuspendEmu := "true"
2181 KeyUtils.Send("{P down}")
2182 TimerUtils.Sleep(1000)
2183 KeyUtils.Send("{P up} ")
2184 }
2185 Return
2186 RestoreEmu:
2187 If (pauseMethod = 1)
2188 emuPrimaryWindow.PostMessage("0x212",1)
2189 Else If (pauseMethod = 2)
2190 emuPrimaryWindow.PostMessage("0x212",1)
2191 Else If (pauseMethod = 3)
2192 emuPrimaryWindow.PostMessage(0x0400+6,0)
2193 Else If (pauseMethod = 4)
2194 emuPrimaryWindow.PostMessage(0x0400+6,0)
2195 Else If (pauseMethod = 5) {
2196 disableSuspendEmu := "true"
2197 KeyUtils.Send("{P down}")
2198 TimerUtils.Sleep(1000)
2199 KeyUtils.Send("{P up} ")
2200 }
2201 emuPrimaryWindow.Activate()
2202 Return
2203
2204 CloseProcess:
2205 FadeOutStart()
2206 If (networkSession && networkPlayers > 1) {
2207 Loop % networkPlayers {
2208 MameMultiPlayer%A_Index%Window.Close()
2209 MameMultiPlayer%A_Index%Window.WaitClose()
2210 }
2211 } Else
2212 emuPrimaryWindow.Close()
2213 Return
2214
221518:00:35:123 | RL | INFO | +78 | BuildScript - Loaded Multi-Player scripts
221618:00:35:126 | RL | INFO | +0 | BuildScript - Loaded Statistics.ahk script
221718:00:35:130 | RL | INFO | +0 | BuildScript - "D:\Hyperspin\RocketLauncher\Lib\User Functions\Global.ahk" not found
221818:00:35:134 | RL | INFO | +16 | BuildScript - "D:\Hyperspin\RocketLauncher\Lib\User Functions\Texas Instruments TI 99-4A.ahk" not found
221918:00:35:138 | RL | INFO | +0 | BuildScript - "D:\Hyperspin\RocketLauncher\Lib\User Functions\Emulators\MAME.ahk" not found
222018:00:35:141 | RL | INFO | +0 | BuildScript - "D:\Hyperspin\RocketLauncher\Lib\User Functions\Texas Instruments TI 99-4A\Emulators\MAME.ahk" not found
222118:00:35:145 | RL | INFO | +0 | BuildScript - "D:\Hyperspin\RocketLauncher\Lib\User Functions\Texas Instruments TI 99-4A\alpiner.ahk" not found
222218:00:35:149 | RL | INFO | +15 | BuildScript - Finished injecting functions into module
222318:01:09:022 | RL | INFO | +33868 | Main - Module is built
222418:01:09:028 | RL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\RocketLauncher\AutoHotkey.dll exists
222518:01:09:042 | RL | DEBUG | +16 | CheckFile - Attributes:
2226 FileDescription AutoHotkey_H ANSI 32-bit
2227 FileVersion 1.1.13.00
2228 InternalName AutoHotkey_H
2229 LegalCopyright Copyright (C) 2003-2013
2230 OriginalFilename AutoHotkey.exe
2231 ProductName AutoHotkey_H
2232 ProductVersion 1.1.13.00
2233 File Size: 802304 bytes
2234 Created: 9/14/2019 - 10:27:08 PM
2235 Modified: 2/13/2020 - 3:10:58 AM
223618:01:09:047 | RL | INFO | +0 | Main - Starting timer to watch if Front End gets displaced and restore it if it does.
223718:01:09:052 | RL | INFO | +15 | Main - Running module
223818:01:09:202 | MD | INFO | +N/A | Module initialized
223918:01:09:220 | MD | DEBUG | +31 | XHotkeyTableCreation - Started
224018:01:09:224 | MD | DEBUG | +0 | XHotkeyTableCreation - KeyGroup ~Esc not in TableKeyGroups
224118:01:09:227 | MD | DEBUG | +0 | XHotkeyTableCreation - Post loop 1 check
224218:01:09:231 | MD | DEBUG | +0 | XHotkeyTableCreation - Post loop 2 check
224318:01:09:235 | MD | DEBUG | +0 | XHotkeyTableCreation - Using standard Hotkey method for key(s): "~Esc" to call label: "CloseProcess"
224418:01:09:251 | MD | DEBUG | +31 | XHotkeyTableCreation - Ended
224518:01:09:255 | MD | TRACE | +0 | CustomFunction.Init - Starting
224618:01:09:258 | MD | TRACE | +0 | CustomFunction.Init - Ending
224718:01:09:262 | MD | INFO | +0 | StartModule - Started
224818:01:09:266 | MD | INFO | +0 | StartModule - MEmu: MAME
2249 MEmuV: v0.166
2250 MURL: http://www.mame.net/
2251 MAuthor: djvj|faahrev|brolly|Tomkun
2252 MVersion: 2.3.10
2253 MCRC:
2254 iCRC:
2255 MID:
2256 MSystem: AAE|Aamber Pegasus|Acorn Electron|Amstrad CPC|Amstrad GX4000|APF Imagination Machine|Apple II|Apple IIGS|Applied Technology MicroBee|Arcade|Arcade Classics|Atari 8-Bit|Atari 2600|Atari 5200|Atari 7800|Atari Classics|Atari Jaguar|Atari Lynx|Bally Astrocade|Bandai Super Vision 8000|Bandai WonderSwan|Bandai WonderSwan Color|Bit Corporation Gamate|Camputers Lynx|Capcom|Capcom Classics|Capcom Play System|Capcom Play System II|Capcom Play System III|Casio PV-1000|Casio PV-2000|Cave|Coleco ADAM|ColecoVision|Commodore 64|Commodore MAX Machine|Creatronic Mega Duck|Data East Classics|EACA EG2000 Colour Genie|Emerson Arcadia 2001|Entex Adventure Vision|Epoch Game Pocket Computer|Epoch Super Cassette Vision|Exidy Sorcerer|Fairchild Channel F|Fujitsu FM-7|Fujitsu FM Towns|Fujitsu FM Towns Marty|Funtech Super Acan|GamePark 32|GCE Vectrex|Hartung Game Master|HBMAME|Interton VC 4000|Irem Classics|JungleTac Sport Vii|Jupiter Ace|Konami Classics|LaserDisc|Magnavox Odyssey 2|MAME|Matra & Hachette Alice|Mattel Aquarius|Mattel Intellivision|MGT Sam Coupe|Midway Classics|Milton Bradley MicroVision|Namco Classics|Namco System 22|NEC PC-8801|NEC PC Engine|NEC PC Engine-CD|NEC SuperGrafx|NEC TurboGrafx-16|NEC TurboGrafx-CD|Nintendo 64|Nintendo 64DD|Nintendo Arcade Systems|Nintendo Classics|Nintendo Entertainment System|Nintendo Famicom|Nintendo Famicom Disk System|Nintendo Game Boy|Nintendo Game Boy Advance|Nintendo Game Boy Color|Nintendo Pokemon Mini|Nintendo Satellaview|Nintendo Super Famicom|Nintendo Super Game Boy|Nintendo Virtual Boy|Othello Multivision|PacMAME|Philips CD-i|Philips VG 5000|Philips Videopac Plus G7400|RCA Studio II|Sega 32X|Sega CD|Sega Classics|Sega Game Gear|Sega Genesis|Sega Master System|Sega Mega Drive|Sega Model 1|Sega Pico|Sega Saturn|Sega SC-3000|Sega SG-1000|Sega ST-V|Sega VMU|Sharp X1|Sinclair ZX81|SNK Classics|SNK Neo Geo|SNK Neo Geo AES|SNK Neo Geo AES|SNK Neo Geo CD|SNK Neo Geo MVS|SNK Neo Geo Pocket|SNK Neo Geo Pocket Color|Sony PlayStation|Sony PocketStation|Sord M5|Soundic Victory MPT-02|Super Nintendo Entertainment System|Taito Classics|Tandy TRS-80 Color Computer|Texas Instruments TI 99-4A|Thomson MO5|Tiger Game.com|Tomy Tutor|VTech CreatiVision|VTech Socrates|Watara Supervision|Williams Classics
225718:01:09:290 | MD | INFO | +31 | StartModule - You have a supported System Name for this module: "Texas Instruments TI 99-4A"
225818:01:09:294 | MD | INFO | +0 | LocaleUtils.i18n - Started
225918:01:09:297 | MD | DEBUG | +0 | LocaleUtils.i18n - Section "English_United_States" & key "dialog.open" not found, trying section "English"
226018:01:09:318 | MD | INFO | +31 | LocaleUtils.i18n - Ended, using "Open" for "dialog.open"
226118:01:09:321 | MD | INFO | +0 | LocaleUtils.i18n - Started
226218:01:09:325 | MD | DEBUG | +0 | LocaleUtils.i18n - Section "English_United_States" & key "dialog.start" not found, trying section "English"
226318:01:09:328 | MD | INFO | +0 | LocaleUtils.i18n - Ended, using "Start" for "dialog.start"
226418:01:09:349 | MD | INFO | +32 | PluginInit - Started
226518:01:09:353 | MD | DEBUG | +0 | BuildDatabaseTable - Started - Building Table for: Name|Cloneof|Manufacturer|Year|Genre|Rating
226618:01:09:356 | MD | INFO | +0 | CheckFile - Checking if D:\Hyperspin\Databases\Texas Instruments TI 99-4A\Texas Instruments TI 99-4A.xml exists
226718:01:09:360 | MD | DEBUG | +0 | CheckFile - Attributes:
2268 File Size: 69220 bytes
2269 Created: 9/14/2019 - 10:01:58 PM
2270 Modified: 8/16/2015 - 7:19:41 PM
227118:01:09:376 | MD | DEBUG | +31 | BuildDatabaseTable - Searching for a "Game Name" in the database
227218:01:09:379 | MD | DEBUG | +0 | BuildDatabaseTable - Found "Game Name" in the database!
227318:01:09:383 | MD | DEBUG | +0 | BuildDatabaseTable - Searching database for: Name
227418:01:09:386 | MD | DEBUG | +0 | BuildDatabaseTable - Found "Name" with a value: "alpiner"
227518:01:09:390 | MD | DEBUG | +0 | BuildDatabaseTable - Searching database for: Cloneof
227618:01:09:407 | MD | DEBUG | +31 | BuildDatabaseTable - Could not find: Cloneof
227718:01:09:410 | MD | DEBUG | +0 | BuildDatabaseTable - Searching database for: Manufacturer
227818:01:09:413 | MD | DEBUG | +0 | BuildDatabaseTable - Could not find: Manufacturer
227918:01:09:417 | MD | DEBUG | +0 | BuildDatabaseTable - Searching database for: Year
228018:01:09:420 | MD | DEBUG | +0 | BuildDatabaseTable - Could not find: Year
228118:01:09:443 | MD | DEBUG | +31 | BuildDatabaseTable - Searching database for: Genre
228218:01:09:446 | MD | DEBUG | +0 | BuildDatabaseTable - Could not find: Genre
228318:01:09:449 | MD | DEBUG | +0 | BuildDatabaseTable - Searching database for: Rating
228418:01:09:453 | MD | DEBUG | +0 | BuildDatabaseTable - Could not find: Rating
228518:01:09:474 | MD | TRACE | +31 | PluginInit - GameInfo:
2286 GameInfo Label: Name | GameInfo Value:
228718:01:09:477 | MD | DEBUG | +0 | BuildDatabaseTable - Ended
228818:01:09:480 | MD | INFO | +0 | PluginInit - Ended
228918:01:09:484 | MD | DEBUG | +0 | StartModule - Setting romName to the dbName sent to RocketLauncher: alpiner
229018:01:09:505 | MD | DEBUG | +32 | XHotkeyTableCreation - Started
229118:01:09:508 | MD | DEBUG | +0 | XHotkeyTableCreation - KeyGroup ~e&~t not in TableKeyGroups ~Esc,
229218:01:09:511 | MD | DEBUG | +0 | XHotkeyTableCreation - Post loop 1 check
229318:01:09:515 | MD | DEBUG | +0 | XHotkeyTableCreation - Post loop 2 check
229418:01:09:532 | MD | DEBUG | +31 | XHotkeyTableCreation - Using standard Hotkey method for key(s): "~e & ~t" to call label: "ToggleCursor"
229518:01:09:535 | MD | DEBUG | +0 | XHotkeyTableCreation - Ended
229618:01:09:538 | MD | TRACE | +0 | Process.__New - Creating new process object for: "D:\Hyperspin\HyperSpin.exe"
229718:01:09:542 | MD | TRACE | +0 | File.__New - Creating new file object of: "D:\Hyperspin\HyperSpin.exe"
229818:01:09:563 | MD | TRACE | +31 | File.__New - Creating new file object of: "D:\Hyperspin\RocketLauncher\Modules\MAME\Texas Instruments TI 99-4A\alpiner.ini"
229918:01:09:575 | MD | TRACE | +0 | File.__New - Creating new file object of: "D:\Hyperspin\RocketLauncher\Modules\MAME\Texas Instruments TI 99-4A.ini"
230018:01:09:608 | MD | TRACE | +31 | File.__New - Creating new file object of: "D:\Hyperspin\RocketLauncher\Modules\MAME\MAME.ini"
230118:01:09:639 | MD | INFO | +31 | StartModule - Ended
230218:01:09:661 | MD | TRACE | +32 | Emulator.__New - Creating new emulator object for: "F:\mame64 0.218\mame64.exe"
230318:01:09:664 | MD | TRACE | +0 | Process.__New - Creating new process object for: "F:\mame64 0.218\mame64.exe"
230418:01:09:668 | MD | TRACE | +0 | File.__New - Creating new file object of: "F:\mame64 0.218\mame64.exe"
230518:01:09:688 | MD | TRACE | +31 | Window.__New - Created: "ahk_class MAME"
230618:01:09:691 | MD | TRACE | +0 | Window.__New - Created: "Open ahk_class ConsoleWindowClass"
230718:01:09:695 | MD | TRACE | +0 | Window.__New - Created: "ahk_class ConsoleWindowClass"
230818:01:09:698 | MD | TRACE | +0 | Window.__New - Created: "ahk_class MAMEDebugWindow"
230918:01:09:702 | MD | TRACE | +0 | Window.__New - Created: "ahk_class MAMEOutput"
231018:01:09:719 | MD | DEBUG | +31 | Module - Finished building the MAME object
231118:01:09:722 | MD | INFO | +0 | RIniFile.Read - Module - Fullscreen: true (DEFAULT)
231218:01:09:726 | MD | INFO | +0 | RIniFile.Read - Module - LegacyMode: false (DEFAULT)
231318:01:09:729 | MD | INFO | +0 | RIniFile.Read - Module - MAME_BIOS_Path: F:\mame64 0.218\roms (DEFAULT)
231418:01:09:732 | MD | INFO | +0 | RIniFile.Read - Module - Videomode: d3d (DEFAULT)
231518:01:09:756 | MD | INFO | +31 | RIniFile.Read - Module - PauseMethod: 1 (DEFAULT)
231618:01:09:759 | MD | INFO | +0 | RIniFile.Read - Module - BilinearFilter: false (DEFAULT)
231718:01:09:762 | MD | INFO | +0 | RIniFile.Read - Module - HLSL: false (DEFAULT)
231818:01:09:782 | MD | INFO | +31 | RIniFile.Read - Module - GLSL: false (DEFAULT)
231918:01:09:785 | MD | INFO | +0 | RIniFile.Read - Module - BezelMode: layout (DEFAULT)
232018:01:09:789 | MD | INFO | +0 | RIniFile.Read - Module - VerticalRotationMode: none (DEFAULT)
232118:01:09:792 | MD | INFO | +0 | RIniFile.Read - Module - CheatMode: false (DEFAULT)
232218:01:09:796 | MD | INFO | +0 | RIniFile.Read - Module - CheatModeKey: (NO VALUE)
232318:01:09:817 | MD | INFO | +32 | RIniFile.Read - Module - UseSoftwareList: false (DEFAULT)
232418:01:09:820 | MD | INFO | +0 | RIniFile.Read - Module - StaticParameters: (NO VALUE)
232518:01:09:824 | MD | INFO | +0 | RIniFile.Read - Module - Parameters: (NO VALUE)
232618:01:09:827 | MD | INFO | +0 | RIniFile.Read - Module - Parameters: (NO VALUE)
232718:01:09:844 | MD | INFO | +31 | RIniFile.Read - Module - MameRomName: (NO VALUE)
232818:01:09:847 | MD | INFO | +0 | RIniFile.Read - Module - Autosave: false (DEFAULT)
232918:01:09:850 | MD | INFO | +0 | RIniFile.Read - Module - Volume: (NO VALUE)
233018:01:09:854 | MD | INFO | +0 | RIniFile.Read - Module - Artwork_Crop: true (DEFAULT)
233118:01:09:857 | MD | INFO | +0 | RIniFile.Read - Module - Use_Bezels: false (DEFAULT)
233218:01:09:875 | MD | INFO | +31 | RIniFile.Read - Module - Use_Overlays: true (DEFAULT)
233318:01:09:878 | MD | INFO | +0 | RIniFile.Read - Module - Use_Backdrops: true (DEFAULT)
233418:01:09:881 | MD | INFO | +0 | RIniFile.Read - Module - Use_Cpanels: false (DEFAULT)
233518:01:09:885 | MD | INFO | +0 | RIniFile.Read - Module - Use_Marquees: false (DEFAULT)
233618:01:09:888 | MD | INFO | +0 | RIniFile.Read - Module - IniPath: (NO VALUE)
233718:01:09:911 | MD | INFO | +31 | RIniFile.Read - Module - HashPath: (NO VALUE)
233818:01:09:914 | MD | INFO | +0 | RIniFile.Read - Module - UseControllerRemap: true (DEFAULT)
233918:01:09:917 | MD | INFO | +0 | RIniFile.Read - Module - ControllerRemapPath: F:\mame64 0.218\ControllerRemap\ControllerRemap.exe (DEFAULT)
234018:01:09:921 | MD | TRACE | +0 | File.__New - Creating new file object of: "F:\mame64 0.218\ControllerRemap\ControllerRemap.exe"
234118:01:09:951 | MD | INFO | +31 | RIniFile.Read - Module - ControllerRemapConfigPath: F:\mame64 0.218\ControllerRemap\ctrlr\ (DEFAULT)
234218:01:09:973 | MD | INFO | +32 | RIniFile.Read - Module - MAMECtrlrPath: F:\mame64 0.218\ctrlr (DEFAULT)
234318:01:09:982 | MD | INFO | +0 | RIniFile.Read - Module - Enable_Link_Play: false (DEFAULT)
234418:01:09:000 | MD | TRACE | +31 | CustomFunction.PreStart - Starting
234518:01:10:003 | MD | TRACE | +0 | CustomFunction.PreStart - Ending
234618:01:10:006 | MD | TRACE | +0 | Process.__New - Creating new process object for: "C:\Windows\system32\cmd.exe"
234718:01:10:010 | MD | TRACE | +0 | File.__New - Creating new file object of: "C:\Windows\system32\cmd.exe"
234818:01:10:174 | MD | DEBUG | +171 | Process.RunDirect - "C:\Windows\system32\cmd.exe /c "F:\mame64 0.218\mame64.exe" -listxml ti99_4a > tempBezel.txt" Process ID: 7424 and ErrorLevel reported as: 0
234918:01:10:178 | MD | TRACE | +0 | File.__New - Creating new file object of: "F:\mame64 0.218\tempBezel.txt"
235018:01:10:207 | MD | TRACE | +32 | File.Read - Read file to memory: F:\mame64 0.218\tempBezel.txt
235118:01:10:212 | MD | TRACE | +0 | StringUtils.RegExMatch - Matched "" from Haystack
235218:01:10:216 | MD | TRACE | +0 | StringUtils.RegExMatch - Matched "" from Haystack
235318:01:10:234 | MD | TRACE | +31 | StringUtils.RegExMatch - Matched "" from Haystack
235418:01:10:238 | MD | TRACE | +0 | StringUtils.TrimLeft - Trimming "" to ""
235518:01:10:242 | MD | TRACE | +0 | StringUtils.RegExMatch - Matched "<display tag="screen" type="raster" rotate="0"" from Haystack
235618:01:10:246 | MD | TRACE | +0 | StringUtils.RegExMatch - Matched "0" from Haystack
235718:01:10:265 | MD | TRACE | +31 | StringUtils.RegExMatch - Matched "<display tag="screen" type="raster" rotate="0" width="280"" from Haystack
235818:01:10:269 | MD | TRACE | +0 | StringUtils.RegExMatch - Matched "280" from Haystack
235918:01:10:273 | MD | TRACE | +0 | StringUtils.RegExMatch - Matched "<display tag="screen" type="raster" rotate="0" width="280" height="216"" from Haystack
236018:01:10:277 | MD | TRACE | +0 | StringUtils.RegExMatch - Matched "216" from Haystack
236118:01:10:301 | MD | TRACE | +31 | StringUtils.RegExMatch - Matched "<control type="joy" player="1" buttons="1" ways="8"/>
2362 <control type="keyboard" player="1" buttons="49"/>
2363 <control type="joy" player="2" buttons="1" ways="8"/>
2364 </input>
2365 <configuration name="Alpha Lock blocks joystick up" tag="ALPHABUG" mask="1">
2366 <confsetting name="Off" value="0"/>
2367 <confsetting name="On" value="1" default="yes"/>
2368 </configuration>
2369 <configuration name="Console GROMs" tag="datamux_16_8:GROMENA" mask="1">
2370 <confsetting name="Off" value="0"/>
2371 <confsetting name="On" value="1" default="yes"/>
2372 </configuration>
2373 <configuration name="Console 32 KiB RAM upgrade (16 bit)" tag="datamux_16_8:RAM" mask="1">
2374 <confsetting name="Off" value="0" default="yes"/>
2375 <confsetting name="On" value="1"/>
2376 </configuration>
2377 <configuration name="RESET on cartridge insert" tag="gromport:CARTRESET" mask="1">
2378 <confsetting name="Off" value="0"/>
2379 <confsetting name="On" value="1" default="yes"/>
2380 </configuration>
2381 <port tag=":ALPHA">
2382 </port>
2383 <port tag=":ALPHA1">
2384 </port>
2385 <port tag=":ALPHABUG">
2386 </port>
2387 <port tag=":COL0">
2388 </port>
2389 <port tag=":COL1">
2390 </port>
2391 <port tag=":COL2">
2392 </port>
2393 <port tag=":COL3">
2394 </port>
2395 <port tag=":COL4">
2396 </port>
2397 <port tag=":COL5">
2398 </port>
2399 <port tag=":LOADINT">
2400 </port>
2401 <port tag=":datamux_16_8:GROMENA">
2402 </port>
2403 <port tag=":datamux_16_8:RAM">
2404 </port>
2405 <port tag=":gromport:CARTRESET">
2406 </port>
2407 <port tag=":joyport:twinjoy:JOY1">
2408 </port>
2409 <port tag=":joyport:twinjoy:JOY2">
2410 </port>
2411 <driver status="good" emulation="good" savestate="supported"/>
2412 <device type="cartridge" tag="gromport:single:cartridge" interface="ti99_cart">
2413 <instance name="cartridge" briefname="cart"/>
2414 <extension name="rpk"/>
2415 </device>
2416 <device type="cassette" tag="cassette1">
2417 <instance name="cassette1" briefname="cass1"/>
2418 <extension name="wav"/>
2419 </device>
2420 <device type="cassette" tag="cassette2">
2421 <instance name="cassette2" briefname="cass2"/>
2422 <extension name="wav"/>
2423 </device>
2424 <slot name="gromport">
2425 <slotoption name="gkracker" devname="ti99_gkracker"/>
2426 <slotoption name="single" devname="ti99_scartconn" default="yes"/>
2427 <slotoption name="multi" devname="ti99_mcartconn"/>
2428 </slot>
2429 <slot name="ioport">
2430 <slotoption name="peb" devname="peribox"/>
2431 </slot>
2432 <slot name="joyport">
2433 <slotoption name="mecmouse" devname="ti99_mecmouse"/>
2434 <slotoption name="twinjoy" devname="ti99_twinjoy" default="yes"/>
2435 </slot>
2436 <softwarelist tag="cart_list_ti99" name="ti99_cart" status="original"/>
2437 </machine>
2438 <machine name="cassette_image" sourcefile="src/devices/imagedev/cassette.cpp" isdevice="yes" runnable="no">
2439 <description>Cassette</description>
2440 <sound channels="0"/>
2441 </machine>
2442 <machine name="grom" sourcefile="src/devices/machine/tmc0430.cpp" isdevice="yes" runnable="no">
2443 <description>TMC0430 GROM</description>
2444 </machine>
2445 <machine name="gromport" sourcefile="src/devices/bus/ti99/gromport/gromport.cpp" isdevice="yes" runnable="no">
2446 <description>TI-99 Cartridge port</description>
2447 <configuration name="RESET on cartridge insert" tag=":CARTRESET" mask="1">
2448 <confsetting name="Off" value="0"/>
2449 <confsetting name="On" value="1" default="yes"/>
2450 </configuration>
2451 </machine>
2452 <machine name="peribox" sourcefile="src/devices/bus/ti99/peb/peribox.cpp" isdevice="yes" runnable="no">
2453 <description>Peripheral expansion box</description>
2454 <device_ref name="peribox_slot"/>
2455 <device_ref name="peribox_slot"/>
2456 <device_ref name="peribox_slot"/>
2457 <device_ref name="peribox_slot"/>
2458 <device_ref name="peribox_slot"/>
2459 <device_ref name="peribox_slot"/>
2460 <device_ref name="peribox_slot"/>
2461 <slot name=":slot2">
2462 <slotoption name="tifdc" devname="ti99_fdc"/>
2463 <slotoption name="myarcmem" devname="ti99_myarcmem"/>
2464 <slotoption name="hfdc" devname="ti99_hfdc"/>
2465 <slotoption name="hsgpl" devname="ti99_hsgpl"/>
2466 <slotoption name="samsmem" devname="ti99_sams"/>
2467 <slotoption name="32kmem" devname="ti99_32kmem"/>
2468 <slotoption name="tirs232" devname="ti99_rs232"/>
2469 <slotoption name="ide" devname="ti99_ide"/>
2470 <slotoption name="pcode" devname="ti99_pcode"/>
2471 <slotoption name="usbsm" devname="ti99_usbsm"/>
2472 <slotoption name="speech" devname="ti99_speech"/>
2473 <slotoption name="bwg" devname="ti99_bwg"/>
2474 <slotoption name="horizon" devname="ti99_horizon"/>
2475 </slot>
2476 <slot name=":slot3">
2477 <slotoption name="tifdc" devname="ti99_fdc"/>
2478 <slotoption name="myarcmem" devname="ti99_myarcmem"/>
2479 <slotoption name="hfdc" devname="ti99_hfdc"/>
2480 <slotoption name="hsgpl" devname="ti99_hsgpl"/>
2481 <slotoption name="samsmem" devname="ti99_sams"/>
2482 <slotoption name="32kmem" devname="ti99_32kmem"/>
2483 <slotoption name="tirs232" devname="ti99_rs232"/>
2484 <slotoption name="ide" devname="ti99_ide"/>
2485 <slotoption name="pcode" devname="ti99_pcode"/>
2486 <slotoption name="usbsm" devname="ti99_usbsm"/>
2487 <slotoption name="speech" devname="ti99_speech"/>
2488 <slotoption name="bwg" devname="ti99_bwg"/>
2489 <slotoption name="horizon" devname="ti99_horizon"/>
2490 </slot>
2491 <slot name=":slot4">
2492 <slotoption name="tifdc" devname="ti99_fdc"/>
2493 <slotoption name="myarcmem" devname="ti99_myarcmem"/>
2494 <slotoption name="hfdc" devname="ti99_hfdc"/>
2495 <slotoption name="hsgpl" devname="ti99_hsgpl"/>
2496 <slotoption name="samsmem" devname="ti99_sams"/>
2497 <slotoption name="32kmem" devname="ti99_32kmem"/>
2498 <slotoption name="tirs232" devname="ti99_rs232"/>
2499 <slotoption name="ide" devname="ti99_ide"/>
2500 <slotoption name="pcode" devname="ti99_pcode"/>
2501 <slotoption name="usbsm" devname="ti99_usbsm"/>
2502 <slotoption name="speech" devname="ti99_speech"/>
2503 <slotoption name="bwg" devname="ti99_bwg"/>
2504 <slotoption name="horizon" devname="ti99_horizon"/>
2505 </slot>
2506 <slot name=":slot5">
2507 <slotoption name="tifdc" devname="ti99_fdc"/>
2508 <slotoption name="myarcmem" devname="ti99_myarcmem"/>
2509 <slotoption name="hfdc" devname="ti99_hfdc"/>
2510 <slotoption name="hsgpl" devname="ti99_hsgpl"/>
2511 <slotoption name="samsmem" devname="ti99_sams"/>
2512 <slotoption name="32kmem" devname="ti99_32kmem"/>
2513 <slotoption name="tirs232" devname="ti99_rs232"/>
2514 <slotoption name="ide" devname="ti99_ide"/>
2515 <slotoption name="pcode" devname="ti99_pcode"/>
2516 <slotoption name="usbsm" devname="ti99_usbsm"/>
2517 <slotoption name="speech" devname="ti99_speech"/>
2518 <slotoption name="bwg" devname="ti99_bwg"/>
2519 <slotoption name="horizon" devname="ti99_horizon"/>
2520 </slot>
2521 <slot name=":slot6">
2522 <slotoption name="tifdc" devname="ti99_fdc"/>
2523 <slotoption name="myarcmem" devname="ti99_myarcmem"/>
2524 <slotoption name="hfdc" devname="ti99_hfdc"/>
2525 <slotoption name="hsgpl" devname="ti99_hsgpl"/>
2526 <slotoption name="samsmem" devname="ti99_sams"/>
2527 <slotoption name="32kmem" devname="ti99_32kmem"/>
2528 <slotoption name="tirs232" devname="ti99_rs232"/>
2529 <slotoption name="ide" devname="ti99_ide"/>
2530 <slotoption name="pcode" devname="ti99_pcode"/>
2531 <slotoption name="usbsm" devname="ti99_usbsm"/>
2532 <slotoption name="speech" devname="ti99_speech"/>
2533 <slotoption name="bwg" devname="ti99_bwg"/>
2534 <slotoption name="horizon" devname="ti99_horizon"/>
2535 </slot>
2536 <slot name=":slot7">
2537 <slotoption name="tifdc" devname="ti99_fdc"/>
2538 <slotoption name="myarcmem" devname="ti99_myarcmem"/>
2539 <slotoption name="hfdc" devname="ti99_hfdc"/>
2540 <slotoption name="hsgpl" devname="ti99_hsgpl"/>
2541 <slotoption name="samsmem" devname="ti99_sams"/>
2542 <slotoption name="32kmem" devname="ti99_32kmem"/>
2543 <slotoption name="tirs232" devname="ti99_rs232"/>
2544 <slotoption name="ide" devname="ti99_ide"/>
2545 <slotoption name="pcode" devname="ti99_pcode"/>
2546 <slotoption name="usbsm" devname="ti99_usbsm"/>
2547 <slotoption name="speech" devname="ti99_speech"/>
2548 <slotoption name="bwg" devname="ti99_bwg"/>
2549 <slotoption name="horizon" devname="ti99_horizon"/>
2550 </slot>
2551 <slot name=":slot8">
2552 <slotoption name="tifdc" devname="ti99_fdc"/>
2553 <slotoption name="myarcmem" devname="ti99_myarcmem"/>
2554 <slotoption name="hfdc" devname="ti99_hfdc"/>
2555 <slotoption name="hsgpl" devname="ti99_hsgpl"/>
2556 <slotoption name="samsmem" devname="ti99_sams"/>
2557 <slotoption name="32kmem" devname="ti99_32kmem"/>
2558 <slotoption name="tirs232" devname="ti99_rs232"/>
2559 <slotoption name="ide" devname="ti99_ide"/>
2560 <slotoption name="pcode" devname="ti99_pcode"/>
2561 <slotoption name="usbsm" devname="ti99_usbsm"/>
2562 <slotoption name="speech" devname="ti99_speech"/>
2563 <slotoption name="bwg" devname="ti99_bwg"/>
2564 <slotoption name="horizon" devname="ti99_horizon"/>
2565 </slot>
2566 </machine>
2567 <machine name="peribox_slot" sourcefile="src/devices/bus/ti99/peb/peribox.cpp" isdevice="yes" runnable="no">
2568 <description>TI P-Box slot</description>
2569 </machine>
2570 <machine name="ram" sourcefile="src/devices/machine/ram.cpp" isdevice="yes" runnable="no">
2571 <description>RAM</description>
2572 </machine>
2573 <machine name="screen" sourcefile="src/emu/screen.cpp" isdevice="yes" runnable="no">
2574 <description>Video Screen</description>
2575 </machine>
2576 <machine name="sn94624" sourcefile="src/devices/sound/sn76496.cpp" isdevice="yes" runnable="no">
2577 <description>SN94624</description>
2578 <sound channels="0"/>
2579 </machine>
2580 <machine name="software_list" sourcefile="src/emu/softlist_dev.cpp" isdevice="yes" runnable="no">
2581 <description>Software List</description>
2582 </machine>
2583 <machine name="speaker" sourcefile="src/emu/speaker.cpp" isdevice="yes" runnable="no">
2584 <description>Speaker</description>
2585 <sound channels="1"/>
2586 </machine>
2587 <machine name="ti99_datamux" sourcefile="src/devices/bus/ti99/internal/datamux.cpp" isdevice="yes" runnable="no">
2588 <description>TI-99 Databus multiplexer</description>
2589 <configuration name="Console GROMs" tag=":GROMENA" mask="1">
2590 <confsetting name="Off" value="0"/>
2591 <confsetting name="On" value="1" default="yes"/>
2592 </configuration>
2593 <configuration name="Console 32 KiB RAM upgrade (16 bit)" tag=":RAM" mask="1">
2594 <confsetting name="Off" value="0" default="yes"/>
2595 <confsetting name="On" value="1"/>
2596 </configuration>
2597 </machine>
2598 <machine name="ti99_gkracker" sourcefile="src/devices/bus/ti99/gromport/gkracker.cpp" isdevice="yes" runnable="no">
2599 <description>Miller's Graphics GRAM Kracker</description>
2600 <rom name="gkracker.bin" size="8192" crc="86eaaf9f" sha1="a3bd5257c63e190800921b52dbe3ffa91ad91113" region="gkracker_rom" offset="0"/>
2601 <device_ref name="ti99cart"/>
2602 <device_ref name="grom"/>
2603 <device_ref name="grom"/>
2604 <device_ref name="grom"/>
2605 <device_ref name="grom"/>
2606 <device_ref name="grom"/>
2607 <dipswitch name="GK switch 1" tag=":GKSWITCH1" mask="1">
2608 <dipvalue name="GK Off" value="0"/>
2609 <dipvalue name="Normal" value="1" default="yes"/>
2610 </dipswitch>
2611 <dipswitch name="GK switch 2" tag=":GKSWITCH2" mask="1">
2612 <dipvalue name="GRAM 0" value="0"/>
2613 <dipvalue name="Op Sys" value="1" default="yes"/>
2614 </dipswitch>
2615 <dipswitch name="GK switch 3" tag=":GKSWITCH3" mask="1">
2616 <dipvalue name="GRAM 1-2" value="0"/>
2617 <dipvalue name="TI BASIC" value="1" default="yes"/>
2618 </dipswitch>
2619 <dipswitch name="GK switch 4" tag=":GKSWITCH4" mask="3">
2620 <dipvalue name="Bank 1" value="0"/>
2621 <dipvalue name="W/P" value="1" default="yes"/>
2622 <dipvalue name="Bank 2" value="2"/>
2623 </dipswitch>
2624 <dipswitch name="GK switch 5" tag=":GKSWITCH5" mask="1">
2625 <dipvalue name="Loader On" value="0" default="yes"/>
2626 <dipvalue name="Loader Off" value="1"/>
2627 </dipswitch>
2628 <device type="cartridge" tag=":cartridge" interface="ti99_cart">
2629 <instance name="cartridge" briefname="cart"/>
2630 <extension name="rpk"/>
2631 </device>
2632 </machine>
2633 <machine name="ti99_ioport" sourcefile="src/devices/bus/ti99/internal/ioport.cpp" isdevice="yes" runnable="no">
2634 <description>TI-99 I/O Port</description>
2635 </machine>
2636 <machine name="ti99_joyport" sourcefile="src/devices/bus/ti99/joyport/joyport.cpp" isdevice="yes" runnable="no">
2637 <description>TI-99 Joystick port</description>
2638 </machine>
2639 <machine name="ti99_mcartconn" sourcefile="src/devices/bus/ti99/gromport/multiconn.cpp" isdevice="yes" runnable="no">
2640 <description>TI-99 Multi-cartridge extender</description>
2641 <device_ref name="ti99cart"/>
2642 <device_ref name="grom"/>
2643 <device_ref name="grom"/>
2644 <device_ref name="grom"/>
2645 <device_ref name="grom"/>
2646 <device_ref name="grom"/>
2647 <device_ref name="ti99cart"/>
2648 <device_ref name="grom"/>
2649 <device_ref name="grom"/>
2650 <device_ref name="grom"/>
2651 <device_ref name="grom"/>
2652 <device_ref name="grom"/>
2653 <device_ref name="ti99cart"/>
2654 <device_ref name="grom"/>
2655 <device_ref name="grom"/>
2656 <device_ref name="grom"/>
2657 <device_ref name="grom"/>
2658 <device_ref name="grom"/>
2659 <device_ref name="ti99cart"/>
2660 <device_ref name="grom"/>
2661 <device_ref name="grom"/>
2662 <device_ref name="grom"/>
2663 <device_ref name="grom"/>
2664 <device_ref name="grom"/>
2665 <dipswitch name="Multi-cartridge slot" tag=":CARTSLOT" mask="15">
2666 <dipvalue name="Auto" value="0" default="yes"/>
2667 <dipvalue name="Slot 1" value="1"/>
2668 <dipvalue name="Slot 2" value="2"/>
2669 <dipvalue name="Slot 3" value="3"/>
2670 <dipvalue name="Slot 4" value="4"/>
2671 </dipswitch>
2672 <device type="cartridge" tag=":cartridge1" interface="ti99_cart">
2673 <instance name="cartridge1" briefname="cart1"/>
2674 <extension name="rpk"/>
2675 </device>
2676 <device type="cartridge" tag=":cartridge2" interface="ti99_cart">
2677 <instance name="cartridge2" briefname="cart2"/>
2678 <extension name="rpk"/>
2679 </device>
2680 <device type="cartridge" tag=":cartridge3" interface="ti99_cart">
2681 <instance name="cartridge3" briefname="cart3"/>
2682 <extension name="rpk"/>
2683 </device>
2684 <device type="cartridge" tag=":cartridge4" interface="ti99_cart">
2685 <instance name="cartridge4" briefname="cart4"/>
2686 <extension name="rpk"/>
2687 </device>
2688 </machine>
2689 <machine name="ti99_mecmouse" sourcefile="src/devices/bus/ti99/joyport/mecmouse.cpp" isdevice="yes" runnable="no">
2690 <description>TI-99 Mechatronics Mouse</description>
2691 <input players="1">
2692 <control type="mouse" buttons="2" minimum="0" maximum="65535" sensitivity="50"/>
2693 </input>
2694 </machine>
2695 <machine name="ti99_scartconn" sourcefile="src/devices/bus/ti99/gromport/singleconn.cpp" isdevice="yes" runnable="no">
2696 <description>TI-99 Standard cartridge connector</description>
2697 <device_ref name="ti99cart"/>
2698 <device_ref name="grom"/>
2699 <device_ref name="grom"/>
2700 <device_ref name="grom"/>
2701 <device_ref name="grom"/>
2702 <device_ref name="grom"/>
2703 <device type="cartridge" tag=":cartridge" interface="ti99_cart">
2704 <instance name="cartridge" briefname="cart"/>
2705 <extension name="rpk"/>
2706 </device>
2707 </machine>
2708 <machine name="ti99_twinjoy" sourcefile="src/devices/bus/ti99/joyport/handset.cpp" isdevice="yes" runnable="no">
2709 <description>TI-99/4(A) Twin Joysticks</description>
2710 <input players="2">
2711 <control type="joy" player="1" buttons="1" ways="8"/>
2712 <control type="joy" player="2" buttons="1" ways="8"" from Haystack
271318:01:10:330 | MD | TRACE | +31 | StringUtils.RegExMatch - Matched "8" from Haystack
271418:01:10:334 | MD | INFO | +0 | Module - MAME ListXML values:
2715 Parent =
2716 Angle = 0
2717 Height = 216
2718 Width = 280
2719 Ways = 8
272018:01:10:337 | MD | TRACE | +0 | File.Delete - Deleting: tempBezel.txt
272118:01:10:341 | MD | INFO | +0 | Controller Remap: Start
272218:01:10:396 | MD | INFO | +63 | Controller Remap: ControllerRemapConfigPath: F:\mame64 0.218\ControllerRemap\ctrlr\
272318:01:10:400 | MD | INFO | +0 | Controller Remap: No Controller config file found.
272418:01:10:403 | MD | INFO | +0 | Controller Remap: End
272518:01:10:427 | MD | TRACE | +31 | StringUtils.StringLength - This string is "5" long
272618:01:10:431 | MD | TRACE | +0 | StringUtils.Right - Trimming "0.218" to "218"
272718:01:10:435 | MD | INFO | +0 | Module - Detected MAME Product Version from 'F:\mame64 0.218\mame64.exe' is 218
272818:01:10:459 | MD | TRACE | +31 | StringUtils.Contains - "ti99_4a" contains "ti99_4a|aes|apple2gs|electron|mbeeic|odyssey2|astrocde|samcoupe|vic10|cpc664|mo5" at position 1
272918:01:10:463 | MD | INFO | +0 | RIniFile.Read - Module - ExpansionCartLocation: F:\mame64 0.218\roms\TI99 4A ROMS\System (DEFAULT)
273018:01:10:488 | MD | INFO | +31 | RIniFile.Read - Module - CommandWaitOffset: 0 (DEFAULT)
273118:01:10:492 | MD | INFO | +0 | RIniFile.Read - Module - Expansion_Cart: extended_basic.rpk (DEFAULT)
273218:01:10:495 | MD | INFO | +0 | RIniFile.Read - Module - Command: (NO VALUE)
273318:01:10:519 | MD | INFO | +32 | RIniFile.Read - Module - Bios: ti99_4a (DEFAULT)
273418:01:10:523 | MD | TRACE | +0 | StringUtils.Contains - "ti99_4a" does not contain "studio2|mpt02"
273518:01:10:527 | MD | TRACE | +0 | StringUtils.Replace - Replacing "|" with ";"
273618:01:10:530 | MD | TRACE | +0 | StringUtils.InStr - Could not find "-rompath" in "" starting at position 1
273718:01:10:550 | MD | TRACE | +31 | StringUtils.InStr - Could not find "-rompath" in "" starting at position 1
273818:01:10:554 | MD | TRACE | +0 | File.__New - Creating new file object of: "F:\mame64 0.218\cfg\ti99_4a\alpiner"
273918:01:10:577 | MD | TRACE | +31 | Folder.__New - Created new folder object of: "F:\mame64 0.218\cfg\ti99_4a\alpiner"
274018:01:10:581 | MD | INFO | +0 | Module - Running MAME in non-legacy mode
274118:01:10:585 | MD | INFO | +0 | Module - SinglePlayer session
274218:01:10:589 | MD | TRACE | +0 | CustomFunction.PreLaunch - Starting
274318:01:10:613 | MD | TRACE | +31 | CustomFunction.PreLaunch - Ending
274418:01:10:617 | MD | INFO | +0 | Process.Run - Running: "F:\mame64 0.218\mame64.exe" ti99_4a -cart "F:\mame64 0.218\roms\TI99 4A ROMS\alpiner.zip" -ui_active -rompath "F:\mame64 0.218\roms\TI99 4A ROMS;F:\mame64 0.218\roms\TI99 4A DISKS;F:\mame64 0.218\roms\TI99 4A TAPS;F:\mame64 0.218\roms" -nowindow -nohlsl_enable -nogl_glsl -video d3d -artwork_crop -nofilter -skip_gameinfo
274518:01:10:655 | MD | DEBUG | +47 | Process.Run - "mame64.exe ti99_4a -cart "F:\mame64 0.218\roms\TI99 4A ROMS\alpiner.zip" -ui_active -rompath "F:\mame64 0.218\roms\TI99 4A ROMS;F:\mame64 0.218\roms\TI99 4A DISKS;F:\mame64 0.218\roms\TI99 4A TAPS;F:\mame64 0.218\roms" -nowindow -nohlsl_enable -nogl_glsl -video d3d -artwork_crop -nofilter -skip_gameinfo" Process ID: 3704
274618:01:10:661 | MD | TRACE | +0 | CustomFunction.PostLaunch - Starting
274718:01:10:667 | MD | TRACE | +0 | CustomFunction.PostLaunch - Ending
274818:01:10:689 | MD | TRACE | +31 | Window.__New - Created: "ahk_id 853540"
274918:01:10:693 | MD | TRACE | +0 | MiscUtils.DetectHiddenWindows - Mode changed to "Off"
275018:01:10:699 | MD | TRACE | +0 | Window.GetPos - Retrieved x:74 y:74 w: 852 h: 559 from "ahk_id 853540"
275118:01:10:722 | MD | TRACE | +31 | MiscUtils.DetectHiddenWindows - Mode changed to "On"
275218:01:10:727 | MD | DEBUG | +0 | MiscUtils.GetActiveWindowStatus - Title: RocketLauncher v1.2.0.1 Debug Console | Class: ConsoleWindowClass | State: 0 | X: 74 | Y: 74 | Width: 852 | Height: 559 | Window HWND: 0xd0624 | Process ID: 7024 | Process Path: D:\Hyperspin\RocketLauncher\RocketLauncher.exe
275318:01:10:732 | MD | INFO | +0 | Window.Wait - Waiting for window "ahk_class MAME"
275418:01:10:899 | MD | TRACE | +172 | Window.__New - Created: "ahk_id 5639402"
275518:01:10:925 | MD | TRACE | +31 | MiscUtils.DetectHiddenWindows - Mode changed to "Off"
275618:01:10:929 | MD | TRACE | +0 | Window.GetPos - Retrieved x:0 y:0 w: 1920 h: 1080 from "ahk_id 5639402"
275718:01:10:933 | MD | TRACE | +0 | MiscUtils.DetectHiddenWindows - Mode changed to "On"
275818:01:10:956 | MD | DEBUG | +31 | MiscUtils.GetActiveWindowStatus - Title: MAME: TI-99/4A Home Computer (US) [ti99_4a] | Class: MAME | State: 0 | X: 0 | Y: 0 | Width: 1920 | Height: 1080 | Window HWND: 0x560cea | Process ID: 3704 | Process Path: F:\mame64 0.218\mame64.exe
275918:01:10:961 | MD | TRACE | +0 | Window.__New - Created: "ahk_id 5639402"
276018:01:10:966 | MD | TRACE | +0 | MiscUtils.DetectHiddenWindows - Mode changed to "Off"
276118:01:10:987 | MD | TRACE | +32 | Window.GetPos - Retrieved x:0 y:0 w: 1920 h: 1080 from "ahk_id 5639402"
276218:01:10:992 | MD | TRACE | +0 | MiscUtils.DetectHiddenWindows - Mode changed to "On"
276318:01:10:996 | MD | DEBUG | +0 | MiscUtils.GetActiveWindowStatus - Title: MAME: TI-99/4A Home Computer (US) [ti99_4a] | Class: MAME | State: 0 | X: 0 | Y: 0 | Width: 1920 | Height: 1080 | Window HWND: 0x560cea | Process ID: 3704 | Process Path: F:\mame64 0.218\mame64.exe
276418:01:10:014 | MD | INFO | +31 | Window.WaitActive - Waiting for "ahk_class MAME"
276518:01:11:123 | MD | TRACE | +109 | Window.__New - Created: "ahk_id 5639402"
276618:01:11:127 | MD | TRACE | +0 | MiscUtils.DetectHiddenWindows - Mode changed to "Off"
276718:01:11:131 | MD | TRACE | +0 | Window.GetPos - Retrieved x:0 y:0 w: 1920 h: 1080 from "ahk_id 5639402"
276818:01:11:135 | MD | TRACE | +0 | MiscUtils.DetectHiddenWindows - Mode changed to "On"
276918:01:11:157 | MD | DEBUG | +31 | MiscUtils.GetActiveWindowStatus - Title: MAME: TI-99/4A Home Computer (US) [ti99_4a] | Class: MAME | State: 0 | X: 0 | Y: 0 | Width: 1920 | Height: 1080 | Window HWND: 0x560cea | Process ID: 3704 | Process Path: F:\mame64 0.218\mame64.exe
277018:01:11:188 | MD | INFO | +31 | KeyUtils.SendCommand - Started
277118:01:11:193 | MD | DEBUG | +0 | KeyUtils.SendCommand - Command: X
2772 SendCommandDelay: 1000
2773 WaitTime: 500
2774 WaitBetweenSends: 0
2775 Delay: 50
2776 PressDuration: -1
2777 WaitCommandOffset: 0
277818:01:12:282 | MD | TRACE | +1092 | KeyUtils.SetKeyDelay - Current delay is 50. Current press duration is -1. Delay will now be set to "10"ms for a press duration of "-1"
277918:01:12:286 | MD | INFO | +0 | KeyUtils.SendCommand - Ended
278018:01:12:291 | MD | TRACE | +0 | CustomFunction.PreBezelDraw - Starting
278118:01:12:313 | MD | TRACE | +32 | CustomFunction.SetFullscreenPostLaunch - Starting
278218:01:12:318 | MD | TRACE | +0 | CustomFunction.SetFullscreenPostLaunch - Setting fullscreen to false
278318:01:12:322 | MD | TRACE | +0 | CustomFunction.SetFullscreenPostLaunch - Ending
278418:01:12:340 | MD | TRACE | +31 | CustomFunction.PreBezelDraw - Ending
278518:01:12:346 | MD | TRACE | +0 | Window.Show - Unhiding window "ahk_class MAME"
278618:01:12:350 | MD | TRACE | +0 | CustomFunction.PostLoad - Starting
278718:01:12:355 | MD | TRACE | +0 | CustomFunction.PostLoad - Ending
278818:01:12:371 | MD | INFO | +31 | Process.Process - "WaitClose" "mame64.exe"
278918:01:12:375 | MD | TRACE | +0 | Process.GetProcessID
279018:01:12:380 | MD | DEBUG | +0 | Process.Process - "mame64.exe" returned 0 and is now closed. Continuing thread.
279118:01:12:385 | MD | TRACE | +0 | CustomFunction.PostStop - Starting
279218:01:12:411 | MD | TRACE | +31 | CustomFunction.PostStop - Ending
279318:01:12:417 | MD | INFO | +0 | ExitModule - Started
279418:01:12:438 | MD | INFO | +31 | UpdateStatistics - Starting Updating Statistics
279518:01:12:442 | MD | DEBUG | +0 | UpdateStatistics - Total Elapsed Time in Pause in seconds: 0
279618:01:12:446 | MD | DEBUG | +0 | UpdateStatistics - gameSectionStartTime:7811406
279718:01:12:469 | MD | DEBUG | +32 | UpdateStatistics - ElapsedTime:2
279818:01:12:474 | MD | TRACE | +0 | Statistics cleared game name: alpiner
279918:01:12:532 | MD | DEBUG | +62 | UpdateStatistics - Loaded game statistics from ini files:
2800 Number_of_Times_Played: 14
2801 Last_Time_Played: Sunday February 16, 2020 05:58:19 PM
2802 Average_Time_Played: 32
2803 Total_Time_Played: 445
2804 System_Total_Played_Time: 169
2805 Total_Global_Played_Time:
280618:01:12:536 | MD | DEBUG | +0 | UpdateStatistics - Updated Statistics: Number_of_Times_Played: 15
2807 Last_Time_Played: Sunday February 16, 2020 06:01:09 PM
2808 Average_Time_Played: 30
2809 Total_Time_Played: 447
2810 System_Total_Played_Time: 171
2811 Total_Global_Played_Time:
281218:01:12:622 | MD | INFO | +94 | UpdateStatistics - Game section statistics updated.
281318:01:12:626 | MD | TRACE | +0 | CustomFunction.PostExit - Starting
281418:01:12:630 | MD | TRACE | +0 | CustomFunction.PostExit - Ending
281518:01:12:635 | MD | INFO | +0 | ExitModule - Ended
2816End of Module Logs
281718:01:12:751 | RL | INFO | +3697 | Main - Module ended, exiting RocketLauncher normally
281818:01:12:755 | RL | INFO | +0 | ExitScript - Started
281918:01:12:766 | RL | DEBUG | +16 | Registry.Read - Reading from Registry : RootKey=HKEY_LOCAL_MACHINE, SubKey=System\CurrentControlSet\Control\Windows, ValueName=ErrorMode,RegistryVersion=32
282018:01:12:770 | RL | DEBUG | +0 | Registry.Read - Registry Read finished, returning 0
282118:01:12:774 | RL | TRACE | +0 | StringUtils.Contains - "false" does not contain "true|kill"
282218:01:12:778 | RL | TRACE | +16 | StringUtils.Contains - "false" does not contain "do_not_restore|kill_&_do_not_restore"
282318:01:12:788 | RL | INFO | +0 | SystemCursor - Restoring mouse cursor
282418:01:12:798 | RL | INFO | +15 | ExitScript - Restored cursor
282518:01:12:802 | RL | INFO | +0 | ExitScript - Ended
2826[/code]