Coru Posted December 11, 2012 Posted December 11, 2012 Need a little guidance with setting up atomiswave correctly. I'm using demul 1.57 (or is it 0.57?, anyway the newest one). I'm using the latest version of hyperlaunch. I got the module from hyperlist and the settings.ini from the ftp. I also grabbed the loading images and such and threw them into he module folder. Atomiswave launches through hyperspin into a windowed mode, after a second or two, the window increases into the native size of my monitor, but doesn't go into full screen. The escape function doesnt work either. I managed to get naomi to work with demul after countless hours of crying, punching walls and screaming. I'm trying to avoid the same terrible process by asking for help this time. Any ideas?
erbal Posted December 14, 2012 Posted December 14, 2012 Try opening demul and go to config/video/ and set the resolution for windowed and fullscreen to your pc monitors resolution.As for not exiting correctly I have no idea sorry.
rcosner Posted December 22, 2012 Posted December 22, 2012 Try opening demul and go to config/video/ and set the resolution for windowed and fullscreen to your pc monitors resolution.As for not exiting correctly I have no idea sorry. For the record, this doesnt work. It just puts it in a window at the same resolution as the screen.
owen70 Posted January 9, 2013 Posted January 9, 2013 I tried this in hyperlaunch, games start and playable but when i hit "ESC" it wont exit back to hyperlaunch anyone got any ideas on why this is happening and how to fix it???
Steelkilt Posted April 1, 2013 Posted April 1, 2013 atomiswave and naomi seem particularly finicky to get set up correctly. I'll be workin on these two really soon. If someone has any lessons learned with these systems, please share. thanks!
sucramjd Posted June 4, 2013 Posted June 4, 2013 ive got atomiswave working fine going fullscreen and exiting with esc, don't get me wrong it was a pita to set up, i'll post my module and settigs ini tomorrow, if I remember correctly you change fullscreen in the moldule you have three options [sIGPIC][/sIGPIC]
Deadly Posted June 6, 2013 Posted June 6, 2013 Mine works perfectly. I have DX9c, DX10 and DX11 installed. Using DX11 may not work for you. If it doesn't then you'll need to change the settings.ini to match demul settings. Here's my data (change path where needed) Settings.ini [settings] demul57DefaultGPU =gpuDX11 PathToDemul =D:\Hyperspin\Emulators\Sammy Atomiswave\demul32-0.5.6\ PathToDemul57 =D:\Hyperspin\Emulators\Sammy Atomiswave\demul32-0.5.7\ DemulExe =demul.exe Demul57Exe =demul.exe LoadingScreen =true demul57Max =true demulControllerCode = 16777216 demulMouseCode = 131072 demulKeyboardCode = 1073741824 demulLightgunCode = -2147483648 ; not used but here in case LastControlUsedDemul =sfstyle LastControlUsedDemul57 =standard [standard_ATOMISWAVE0_0] UP = 200 DOWN = 208 LEFT = 203 RIGHT = 205 SHOT1 = 46 SHOT2 = 18 SHOT3 = 44 SHOT4 = 45 SHOT5 = 21 START = 38 COIN = 39 [standard_ATOMISWAVE0_1] UP = 72 DOWN = 76 LEFT = 75 RIGHT = 77 SHOT1 = 50 SHOT2 = 47 SHOT3 = 48 SHOT4 = 49 SHOT5 = 25 START = 19 COIN = 51 [driving_ATOMISWAVE0_0] UP = 200 DOWN = 208 LEFT = 203 RIGHT = 205 SHOT1 = 46 SHOT2 = 45 SHOT3 = 21 SHOT4 = 18 SHOT5 = 44 START = 38 COIN = 39 [driving_ATOMISWAVE0_1] UP = 72 DOWN = 76 LEFT = 75 RIGHT = 77 SHOT1 = 50 SHOT2 = 49 SHOT3 = 25 SHOT4 = 47 SHOT5 = 48 START = 19 COIN = 51 [fps_ATOMISWAVE0_0] UP = 200 DOWN = 208 LEFT = 203 RIGHT = 205 SHOT1 = 46 SHOT2 = 45 SHOT3 = 21 SHOT4 = 18 SHOT5 = 44 START = 38 COIN = 39 [fps_ATOMISWAVE0_1] UP = 72 DOWN = 76 LEFT = 75 RIGHT = 77 SHOT1 = 50 SHOT2 = 49 SHOT3 = 25 SHOT4 = 47 SHOT5 = 48 START = 19 COIN = 51 [ggxstyle_ATOMISWAVE0_0] UP = 200 DOWN = 208 LEFT = 203 RIGHT = 205 SHOT1 = 46 SHOT2 = 18 SHOT3 = 44 SHOT4 = 20 SHOT5 = 21 START = 38 COIN = 39 [ggxstyle_ATOMISWAVE0_1] UP = 72 DOWN = 76 LEFT = 75 RIGHT = 77 SHOT1 = 50 SHOT2 = 47 SHOT3 = 48 SHOT4 = 24 SHOT5 = 25 START = 19 COIN = 51 [reverse_ATOMISWAVE0_0] UP = 200 DOWN = 208 LEFT = 203 RIGHT = 205 SHOT1 = 46 SHOT2 = 45 SHOT3 = 21 SHOT4 = 18 SHOT5 = 44 START = 38 COIN = 39 [reverse_ATOMISWAVE0_1] UP = 72 DOWN = 76 LEFT = 75 RIGHT = 77 SHOT1 = 50 SHOT2 = 49 SHOT3 = 25 SHOT4 = 47 SHOT5 = 48 START = 19 COIN = 51 [samba_ATOMISWAVE0_0] UP = 200 DOWN = 208 LEFT = 203 RIGHT = 205 SHOT1 = 46 SHOT2 = 45 SHOT3 = 21 SHOT4 = 18 SHOT5 = 44 START = 38 COIN = 39 [samba_ATOMISWAVE0_1] UP = 72 DOWN = 76 LEFT = 75 RIGHT = 77 SHOT1 = 50 SHOT2 = 49 SHOT3 = 25 SHOT4 = 47 SHOT5 = 48 START = 19 COIN = 51 [sfstyle_ATOMISWAVE0_0] UP = 200 DOWN = 208 LEFT = 203 RIGHT = 205 SHOT1 = 46 SHOT2 = 45 SHOT3 = 21 SHOT4 = 18 SHOT5 = 44 START = 38 COIN = 39 [sfstyle_ATOMISWAVE0_1] UP = 72 DOWN = 76 LEFT = 75 RIGHT = 77 SHOT1 = 50 SHOT2 = 49 SHOT3 = 25 SHOT4 = 47 SHOT5 = 48 START = 19 COIN = 51 # Rom Settings: [anmlbskt] System = atomiswave LongRomName=Hustle Tamaire Kyousou / Animal Basket ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul57 [demofist] System = atomiswave LongRomName=Demolish Fist ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul [dirtypig] System = atomiswave LongRomName=Dirty Pigskin Football ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul57 [dolphin] System = atomiswave LongRomName=Dolphin Blue ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul [fotns] System = atomiswave LongRomName=Fist of the North Star ScreenTimeout= 5555 LoadDecrypted= false Controls = sfstyle Emulator = demul [ftspeed] System = atomiswave LongRomName=Faster Than Speed ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul57 [ggisuka] System = atomiswave LongRomName=Guilty Gear Isuka ScreenTimeout= 5555 LoadDecrypted= false Controls = ggxstyle Emulator = demul [ggx15] System = atomiswave LongRomName=Guilty Gear X ver. 1.5 ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul57 [kofxi] System = atomiswave LongRomName=King of Fighters 11 ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul57 [kofnw] System = atomiswave LongRomName=King of Fighters NeoWave ScreenTimeout= 5555 LoadDecrypted= false Controls = sfstyle Emulator = demul [kofnwj] System = atomiswave LongRomName=King of Fighters NeoWave (JAP) ScreenTimeout= 5555 LoadDecrypted= false Controls = sfstyle Emulator = demul [kov7sprt] System = atomiswave LongRomName=Knights of Valor - The Seven Spirits ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul [maxspeed] System = atomiswave LongRomName=Maximum Speed ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul57 [mslug6] System = atomiswave LongRomName=Metal Slug 6 ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul57 [ngbc] System = atomiswave LongRomName=Neo-Geo Battle Coliseum ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul57 [rangrmsn] System = atomiswave LongRomName=Ranger Mission ScreenTimeout= 5555 LoadDecrypted= false Controls = lightgun Emulator = demul [rumblef] System = atomiswave LongRomName=The Rumble Fish ScreenTimeout= 5555 LoadDecrypted= false Controls = sfstyle Emulator = demul [rumblef2] System = atomiswave LongRomName=Rumble Fish 2, The ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul57 [salmankt] System = atomiswave LongRomName=Salary Man Kintaro ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul [samsptk] System = atomiswave LongRomName=Samurai Spirits Tenkaichi Kenkakuden ScreenTimeout= 5555 LoadDecrypted= false Controls = standard Emulator = demul57 [sprtshot] System = atomiswave LongRomName=Sports Shooting USA ScreenTimeout= 5555 LoadDecrypted= false Controls = lightgun Emulator = demul [vfurlong] System = atomiswave LongRomName=Net Select Keiba Victory Furlong ScreenTimeout= 7000 LoadDecrypted= false Controls = standard Emulator = demul [xtrmhunt] System = atomiswave LongRomName=Extreme Hunting ScreenTimeout= 5555 LoadDecrypted= false Controls = lightgun Emulator = demul [xtrmhnt2] System = atomiswave LongRomName=Extreme Hunting 2 ScreenTimeout= 5555 LoadDecrypted= false Controls = lightgun Emulator = demul Sammy Atomiswave.AHK module ;---------------------------------------------------------------------------- ; Sammy Atomiswave ; Demul v0.5.6, Demul v0.5.7 ; by djvj ; 1.91 ; ; Notes: ; Required - nvram files can be found in my user dir on the FTP at /Upload Here/djvj/Atomiswave\Emulators. Additonal instructions from my orignal HL1.0 script at http://www.hyperspin-fe.com/forum/showpost.php?p=86093&postcount=104 ; Required - Settings.ini: can be found in my user dir on the FTP at /Upload Here/djvj/Atomiswave\Modules\Atomiswave ; settings.ini must be placed in Modules\Atomiswave\. This script will make it for you if it does not exist upon first load. ; Paths should have backslashes at the end. Defining paths this way makes it so you don't have to have multiple module dirs and scripts. ; Download the loading.png and logo.png from http://www.hyperspin-fe.com/downloads/Modules/Atomiswave/ and place them in your Modules\Atomiswave\ ; GDI images must match mame zip names and be extracted and have a .dat extension ; romExtensions should be zip ; The HyperSpin settings ini (\Settings\Atomiswave\Atomiswave.ini) can have the emu and emupath set to whatever you want, it's not used. Only rompath and extensions are important. ; Demul: ; Place the atomiswave.zip bios archive in the demul\roms subdir ; Fullscreen gets sent by this script ; Set your Video Plugin to gpuOglv3 and set your desired resolution there ; In case your control codes do not match mine, set your desired control type in demul, then open the demul.ini and find section PORTB and look for the device key. Use this number instead of the one I provided ; Demul Controle: ; Start a game of each control type (look in the Settings.ini for these types) and configure your controls to play the game. Copy paste the ATOMISWAVE0_0 and ATOMISWAVE0_1 sections into the Settings.ini under the matching controls section. ; ; Demul v0.5.7: ; gpuDX11, gpuDXv3, and gpuDXLegacy are all supported. Define what plugin you want to use for each game in the Settings.ini. ; Read the notes at the top of the settings.ini on how to control windowed fullscreen, true fullscreen, or windowed mode ; Windowed fullscreen will take effect the 2nd time you run the emu. It has to calculate your resolution on first run. ;---------------------------------------------------------------------------- ; check for and load into memory the Settings.ini settingsFile := CheckFile(A_Scriptdir . "\Modules\" . systemName . "\Settings.ini") ini_load(ini, settingsFile) ini_exportToGlobals(ini,0,"") ; creating variables of each section & key of the Settings.ini controls := %romName%_Controls ; conversion so script is easier to read system := %romName%_System ; necessary conversion GUI_ID := FadeInStart() ; This section writes your custom keys to the padDemul.ini or JVS.ini. Atomiswave games had many control panel layouts. The only way we can accomodate for these differing controls, is to keep track of them all and write them to the ini at the launch of each game. ; First we check if the last controls used are the same as the game we want to play, so we don't waste time updating the ini if it is not necessary. For example playing 2 sfstyle type games in a row, we wouldn't need to write to the ini. If ( %romName%_emulator = "demul" ) { ; check for and load into memory the Demul.ini demulFile := CheckFile(settings_pathToDemul . "Demul.ini") ini_load(demulini, demulFile) ; check for and load into memory the padDemul.ini padFile := CheckFile(settings_pathToDemul . "padDemul.ini") ini_load(padini, padFile) ; This section tells demul what arcade control type should be connected to the game. Options are standard (aka controller), mouse, lightgun, or keyboard If ( controls = "lightgun" || controls = "mouse" ) ini_replaceValue(demulini, "PORTB", "device", settings_demulMouseCode) Else If ( controls = "keyboard" ) ini_replaceValue(demulini, "PORTB", "device", settings_demulKeyboardCode) Else ; accounts for all other control types ini_replaceValue(demulini, "PORTB", "device", settings_demulControllerCode) If ( settings_LastControlUsedDemul != controls ) { WriteAtomiswaveControls(padini, 0,%controls%_ATOMISWAVE0_0_SHOT1,%controls%_ATOMISWAVE0_0_SHOT2,%controls%_ATOMISWAVE0_0_SHOT3,%controls%_ATOMISWAVE0_0_SHOT4,%controls%_ATOMISWAVE0_0_SHOT5,%controls%_ATOMISWAVE0_0_START,%controls%_ATOMISWAVE0_0_COIN,%controls%_ATOMISWAVE0_0_UP,%controls%_ATOMISWAVE0_0_DOWN,%controls%_ATOMISWAVE0_0_LEFT,%controls%_ATOMISWAVE0_0_RIGHT) WriteAtomiswaveControls(padini, 1,%controls%_ATOMISWAVE0_1_SHOT1,%controls%_ATOMISWAVE0_1_SHOT2,%controls%_ATOMISWAVE0_1_SHOT3,%controls%_ATOMISWAVE0_1_SHOT4,%controls%_ATOMISWAVE0_1_SHOT5,%controls%_ATOMISWAVE0_1_START,%controls%_ATOMISWAVE0_1_COIN,%controls%_ATOMISWAVE0_1_UP,%controls%_ATOMISWAVE0_1_DOWN,%controls%_ATOMISWAVE0_1_LEFT,%controls%_ATOMISWAVE0_1_RIGHT) } ini_replaceValue(ini, "settings", "LastControlUsedDemul", controls) ini_save(ini, settingsFile) ini_save(padini, padFile) ini_save(demulini, demulFile) } Else If ( %romName%_emulator = "demul57" ) { ; check for and load into memory the Demul.ini demul57File := CheckFile(settings_pathToDemul57 . "Demul.ini") ini_load(demul57ini, demul57File) ; check for and load into memory the padDemul.ini pad57File := CheckFile(settings_pathToDemul57 . "padDemul.ini") ini_load(pad57ini, pad57File) ; verify user set desired gpu plugin name correctly, else result to Default If ( %romName%_Demul57Plugin != "gpuDX11" And %romName%_Demul57Plugin != "gpuDXv3" And %romName%_Demul57Plugin != "gpuDXLegacy" And %romName%_Demul57Plugin != "" ) ScriptError("Invalid gpu plugin defined for " . romName . " in your Settings.ini.`nLeave the plugin blank to enable default.`nValid options are gpuDX11, gpuDXv3, or gpuDXLegacy.") Else ( %romName%_Demul57Plugin = "" ) %romName%_Demul57Plugin = %settings_demul57DefaultGPU% ; msgbox % %romName%_Demul57Plugin ; check for and load into memory the specified gpu plugin demul57gpuFile := CheckFile(settings_pathToDemul57 . %romName%_Demul57Plugin . ".ini") ini_load(gpuini, demul57gpuFile) ; This updates the Demul.ini with your gpu plugin choice for the selected rom ini_replaceValue(demul57ini, "plugins", "gpu", %romName%_Demul57Plugin . ".dll") ; This section tells demul what arcade control type should be connected to the game. Options are standard (aka controller), mouse, lightgun, or keyboard If ( controls = "lightgun" || controls = "mouse" ) ini_replaceValue(demul57ini, "PORTB", "device", settings_demulMouseCode) Else If ( controls = "keyboard" ) ini_replaceValue(demul57ini, "PORTB", "device", settings_demulKeyboardCode) Else ; accounts for all other control types ini_replaceValue(demul57ini, "PORTB", "device", settings_demulControllerCode) If ( settings_LastControlUsedDemul57 != controls ) { ; WriteAtomiswaveControls(pad57ini, 0,%controls%_ATOMISWAVE0_0_SHOT1,%controls%_ATOMISWAVE0_0_SHOT2,%controls%_ATOMISWAVE0_0_SHOT3,%controls%_ATOMISWAVE0_0_SHOT4,%controls%_ATOMISWAVE0_0_SHOT5,%controls%_ATOMISWAVE0_0_START,%controls%_ATOMISWAVE0_0_COIN,%controls%_ATOMISWAVE0_0_UP,%controls%_ATOMISWAVE0_0_DOWN,%controls%_ATOMISWAVE0_0_LEFT,%controls%_ATOMISWAVE0_0_RIGHT) ; WriteAtomiswaveControls(pad57ini, 1,%controls%_ATOMISWAVE0_1_SHOT1,%controls%_ATOMISWAVE0_1_SHOT2,%controls%_ATOMISWAVE0_1_SHOT3,%controls%_ATOMISWAVE0_1_SHOT4,%controls%_ATOMISWAVE0_1_SHOT5,%controls%_ATOMISWAVE0_1_START,%controls%_ATOMISWAVE0_1_COIN,%controls%_ATOMISWAVE0_1_UP,%controls%_ATOMISWAVE0_1_DOWN,%controls%_ATOMISWAVE0_1_LEFT,%controls%_ATOMISWAVE0_1_RIGHT) WriteAtomiswaveControls57(pad57ini,0,%controls%_JAMMA0_0_PUSH1,%controls%_JAMMA0_0_PUSH2,%controls%_JAMMA0_0_PUSH3,%controls%_JAMMA0_0_PUSH4,%controls%_JAMMA0_0_PUSH5,%controls%_JAMMA0_0_PUSH6,%controls%_JAMMA0_0_PUSH7,%controls%_JAMMA0_0_PUSH8,%controls%_JAMMA0_0_SERVICE,%controls%_JAMMA0_0_START,%controls%_JAMMA0_0_COIN,%controls%_JAMMA0_0_DIGITALUP,%controls%_JAMMA0_0_DIGITALDOWN,%controls%_JAMMA0_0_DIGITALLEFT,%controls%_JAMMA0_0_DIGITALRIGHT,%controls%_JAMMA0_0_ANALOGUP,%controls%_JAMMA0_0_ANALOGDOWN,%controls%_JAMMA0_0_ANALOGLEFT,%controls%_JAMMA0_0_ANALOGRIGHT,%controls%_JAMMA0_0_ANALOGUP2,%controls%_JAMMA0_0_ANALOGDOWN2,%controls%_JAMMA0_0_ANALOGLEFT2,%controls%_JAMMA0_0_ANALOGRIGHT2) WriteAtomiswaveControls57(pad57ini,1,%controls%_JAMMA0_1_PUSH1,%controls%_JAMMA0_1_PUSH2,%controls%_JAMMA0_1_PUSH3,%controls%_JAMMA0_1_PUSH4,%controls%_JAMMA0_1_PUSH5,%controls%_JAMMA0_1_PUSH6,%controls%_JAMMA0_1_PUSH7,%controls%_JAMMA0_1_PUSH8,%controls%_JAMMA0_1_SERVICE,%controls%_JAMMA0_1_START,%controls%_JAMMA0_1_COIN,%controls%_JAMMA0_1_DIGITALUP,%controls%_JAMMA0_1_DIGITALDOWN,%controls%_JAMMA0_1_DIGITALLEFT,%controls%_JAMMA0_1_DIGITALRIGHT,%controls%_JAMMA0_1_ANALOGUP,%controls%_JAMMA0_1_ANALOGDOWN,%controls%_JAMMA0_1_ANALOGLEFT,%controls%_JAMMA0_1_ANALOGRIGHT,%controls%_JAMMA0_1_ANALOGUP2,%controls%_JAMMA0_1_ANALOGDOWN2,%controls%_JAMMA0_1_ANALOGLEFT2,%controls%_JAMMA0_1_ANALOGRIGHT2) } ini_replaceValue(ini, "settings", "LastControlUsedDemul57", controls) ini_save(ini, settingsFile) ini_save(pad57ini, pad57File) ini_save(demul57ini, demul57File) } ; Now lets run our emulator If ( %romName%_emulator = "demul" ) { Run, %settings_demulExe% -run=%system% -rom=%romName%, %settings_PathToDemul% Sleep, 1000 ; need a second for demul to launch, increase if yours takes longer and the loading screen is closing too soon Loop { ; looping until demul is done loading rom and gpu starts showing frames Sleep, 200 WinGetTitle, winTitle, AHK_class window StringSplit, winTextSplit, winTitle, %A_Space% If ( winTextSplit5 = "gpu:" And winTextSplit6 = "0" ) break } WinActivate ahk_class window Send !{ENTER} ; go fullscreen GUI_ID2 := FadeInExit() Process, WaitClose, %settings_demulExe% } Else If ( %romName%_emulator = "demul57" ) { ;Hide Taskbar and Start Button WinHide, ahk_class Shell_TrayWnd WinHide, Start ahk_class Button ; Create black background to give the emu the fullscren look Gui 2: -Caption +ToolWindow Gui 2: Color, Black Gui 2: Show, x0 y0 h%A_ScreenHeight% w%A_ScreenWidth% ; setting demul to use true fullscreen if defined in settings.ini, otherwise sets demul to run windowed. This is for gpuDX11 plugin only If ( %romName%_Demul57Plugin = "gpuDX11" ) { If ( settings_demul57Max = "fullscreen" ) { ini_replaceValue(gpuini, "main", "UseFullscreen", 1) ini_save(gpuini, demul57gpuFile) } Else { ini_replaceValue(gpuini, "main", "UseFullscreen", 0) ini_save(gpuini, demul57gpuFile) } } Run, %settings_demulExe% -run=%system% -rom=%romName%, %settings_PathToDemul57% Sleep, 1000 ; need a second for demul to launch, increase if yours takes longer and the loading screen is closing too soon Loop { ; looping until demul is done loading rom and gpu starts showing frames Sleep, 200 WinGetTitle, winTitle, AHK_class window StringSplit, winTextSplit, winTitle, %A_Space% If ( winTextSplit5 = "gpu:" And winTextSplit6 != "0" And winTextSplit6 != "1" ) break } WinActivate ahk_class window If ( ( %romName%_Demul57Plugin = "gpuDXv3" Or %romName%_Demul57Plugin = "gpuDXLegacy" ) && settings_demul57Max = "fullscreen" ) Send !{ENTER} ; go fullscreen for gpuDXv3 and gpuDXLegacy plugins only ; This is where we calculate and maximize demul's window using our pseudo fullscreen code If ( settings_demul57Max = "true" ) { WinSet, Style, -0x40000, AHK_class window ; Removes the border of the game window WinSet, Style, -0xC00000, AHK_class window ; Removes the TitleBar Send, {F3} ; Removes the MenuBar MaximizeWindow("AHK_class window") ; this will take effect after you run demul once because we cannot stretch demul's screen while it is running. } GUI_ID2 := FadeInExit() Process, WaitClose, %settings_demulExe% ;Restore Taskbar and Start Button WinShow,ahk_class Shell_TrayWnd WinShow,Start ahk_class Button } GUI_ID4 := FadeOutExit() WinActivate, HyperSpin ExitApp ;(ッ`キ._.キエッ`キ._.キエッ`キ._.キエッ`キ._.キエッ`キ._.キエッ`キ._.キエッ`キ._.キエッ) ; Functions - DO NOT EDIT ;(_.キエッ`キ._.キエッ`キ._.キエッ`キ._.キエッ`キ._.キエッ`キ._.キエッ`キ._.キエッ`キ._) ; Write new controls to padDemul.ini WriteAtomiswaveControls(ByRef iniR, PLAYER,SHOT1,SHOT2,SHOT3,SHOT4,SHOT5,START,COIN,UP,DOWN,LEFT,RIGHT) { ini_replaceValue(iniR, "ATOMISWAVE0_" . PLAYER, "SHOT1", SHOT1) ini_replaceValue(iniR, "ATOMISWAVE0_" . PLAYER, "SHOT2", SHOT2) ini_replaceValue(iniR, "ATOMISWAVE0_" . PLAYER, "SHOT3", SHOT3) ini_replaceValue(iniR, "ATOMISWAVE0_" . PLAYER, "SHOT4", SHOT4) ini_replaceValue(iniR, "ATOMISWAVE0_" . PLAYER, "SHOT5", SHOT5) ini_replaceValue(iniR, "ATOMISWAVE0_" . PLAYER, "START", START) ini_replaceValue(iniR, "ATOMISWAVE0_" . PLAYER, "COIN", COIN) ini_replaceValue(iniR, "ATOMISWAVE0_" . PLAYER, "UP", UP) ini_replaceValue(iniR, "ATOMISWAVE0_" . PLAYER, "DOWN", DOWN) ini_replaceValue(iniR, "ATOMISWAVE0_" . PLAYER, "LEFT", LEFT) ini_replaceValue(iniR, "ATOMISWAVE0_" . PLAYER, "RIGHT", RIGHT) } ; Write new controls to padDemul.ini - Demul 5.7 WriteAtomiswaveControls57(ByRef iniR, PLAYER,PUSH1,PUSH2,PUSH3,PUSH4,PUSH5,PUSH6,PUSH7,PUSH8,SERVICE,START,COIN,DIGITALUP,DIGITALDOWN,DIGITALLEFT,DIGITALRIGHT,ANALOGUP,ANALOGDOWN,ANALOGLEFT,ANALOGRIGHT,ANALOGUP2,ANALOGDOWN2,ANALOGLEFT2,ANALOGRIGHT2) { ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "PUSH1", PUSH1) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "PUSH2", PUSH2) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "PUSH3", PUSH3) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "PUSH4", PUSH4) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "PUSH5", PUSH5) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "PUSH6", PUSH6) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "PUSH7", PUSH7) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "PUSH8", PUSH8) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "SERVICE", SERVICE) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "START", START) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "COIN", COIN) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "DIGITALUP", DIGITALUP) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "DIGITALDOWN", DIGITALDOWN) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "DIGITALLEFT", DIGITALLEFT) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "DIGITALRIGHT", DIGITALRIGHT) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "ANALOGUP", ANALOGUP) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "ANALOGDOWN", ANALOGDOWN) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "ANALOGLEFT", ANALOGLEFT) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "ANALOGRIGHT", ANALOGRIGHT) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "ANALOGUP2", ANALOGUP2) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "ANALOGDOWN2", ANALOGDOWN2) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "ANALOGLEFT2", ANALOGLEFT2) ini_replaceValue(iniR, "JAMMA0_" . PLAYER, "ANALOGRIGHT2", ANALOGRIGHT2) } MaximizeWindow(class) { Global WinGetPos, appX, appY, appWidth, appHeight, %class% widthMaxPercenty := ( A_ScreenWidth / appWidth ) heightMaxPercenty := ( A_ScreenHeight / appHeight ) If ( widthMaxPercenty < heightMaxPercenty ) percentToEnlarge := widthMaxPercenty Else percentToEnlarge := heightMaxPercenty appWidthNew := appWidth * percentToEnlarge appHeightNew := appHeight * percentToEnlarge Transform, appX, Round, %appX% Transform, appY, Round, %appY% Transform, appWidthNew, Round, %appWidthNew% Transform, appHeightNew, Round, %appHeightNew% appXPos := ( A_ScreenWidth / 2 ) - ( appWidthNew / 2 ) appYPos := ( A_ScreenHeight / 2 ) - ( appHeightNew / 2 ) IniWrite, %appWidthNew%, %gpuini%, resolution, wWidth IniWrite, %appHeightNew%, %gpuini%, resolution, wHeight If ( %romName%_Demul57Plugin = "gpuDX11" ) { ini_replaceValue(gpuini, "resolution", "Width", appWidthNew) ini_replaceValue(gpuini, "resolution", "Height", appHeightNew) } Else { ini_replaceValue(gpuini, "resolution", "wWidth", appWidthNew) ini_replaceValue(gpuini, "resolution", "wHeight", appHeightNew) } ini_save(gpuini, demul57gpuFile) WinMove, %class%,, appXPos, appYPos } ProcessExist(app) { DetectHiddenWindows, On Process, Exist, %app%.exe Return %ErrorLevel% } ; INI functions curtosy of Tuncay @ http://www.autohotkey.com/forum/viewtopic.php?t=46226 ini_load(ByRef _Content, _Path = "", _convertNewLine = false) { ini_buildPath(_Path) error := true ; If file is found next, then its set to false. Loop, %_Path%, 0, 0 { _Path := A_LoopFileLongPath error := false Break } If (error = false) { FileRead, _Content, %_Path% If (ErrorLevel) { error := true } } If (error) { _Content := "" } Else If (_convertNewLine) { StringReplace, _Content, _Content, `r`n, `n, All } ErrorLevel := error Return _Path } ini_save(ByRef _Content, _Path = "", _convertNewLine = true, _overwrite = true) { ini_buildPath(_Path) error := false If (_overwrite) { Loop, %_Path%, 0, 0 { _Path := A_LoopFileLongPath Break } If FileExist(_Path) { FileDelete, %_Path% If (ErrorLevel) { error := true } } } Else If FileExist(_Path) { error := true } If (error = false) { If (_convertNewLine) { StringReplace, _Content, _Content, `r`n, `n, All StringReplace, _Content, _Content, `n, `r`n, All FileAppend, %_Content%, %_Path% } Else { FileAppend, %_Content%, *%_Path% } If (ErrorLevel) { error := true } } ErrorLevel := error Return _Path } ini_replaceValue(ByRef _Content, _Section, _Key, _Replacement = "", _PreserveSpace = False) { If (_Section = "") _Section = (?:\[.*])? Else _Section = \[\s*?\Q%_Section%\E\s*?] If Not _PreserveSpace { _Replacement = %_Replacement% ; Trim spaces. FirstChar := SubStr(_Replacement, 1, 1) If (FirstChar = """" AND SubStr(_Replacement, 0, 1)= """" OR FirstChar = "'" AND SubStr(_Replacement, 0, 1)= "'") { StringTrimLeft, _Replacement, _Replacement, 1 StringTrimRight, _Replacement, _Replacement, 1 } } ; Note: The regex of this function was written by Mystiq. RegEx = `aiU)((?:\R|^)\s*%_Section%\s*(?:\R\s*|\R\s*.+\s*=\s*.*?\s*(?=\R)|\R\s*[;#].*?(?=\R))*\R\s*\Q%_Key%\E\s*=).*((?=\R|$)) _Content := RegExReplace(_Content, RegEx, "$1" . _Replacement . "$2", isReplaced, 1) If isReplaced ErrorLevel = 0 Else ErrorLevel = 1 Return isReplaced } ini_replaceSection(ByRef _Content, _Section, _Replacement = "") { If (_Section = "") _Section = (?:\[.*])? Else _Section = \[\s*?\Q%_Section%\E\s*?] RegEx = `aisU)^(\s*?.*)%_Section%\s*\R?.*(\R*\s*(?:\[.*|\R))?$ _Content := RegExReplace(_Content, RegEx, "$1" . _Replacement . "$2", isReplaced, 1) If isReplaced ErrorLevel = 0 Else ErrorLevel = 1 Return isReplaced } ini_getValue(ByRef _Content, _Section, _Key, _PreserveSpace = False) { If (_Section = "") _Section = (?:\[.*])? Else { _Section = \[\s*?\Q%_Section%\E\s*?] } ; Note: The regex of this function was rewritten by Mystiq. RegEx = `aiU)(?:\R|^)\s*%_Section%\s*(?:\R\s*|\R\s*.+\s*=\s*.*?\s*(?=\R)|\R\s*[;#].*?(?=\R))*\R\s*\Q%_Key%\E\s*=(.*)(?=\R|$) /* RegEx := "`aiU)" . "(?:\R|^)\s*" . _Section . "\s*" ;-- section . "(?:" . "\R\s*" ;-- empty lines . "|\R\s*[\w\s]+\s*=\s*.*?\s*(?=\R)" ;-- OR other key=value pairs . "|\R\s*[;#].*?(?=\R)" ;-- OR commented lines . ")*" . "\R\s*\Q" . _Key . "\E\s*=(.*)(?=\R|$)" ;-- match */ If RegExMatch(_Content, RegEx, Value) { If Not _PreserveSpace { Value1 = %Value1% ; Trim spaces. FirstChar := SubStr(Value1, 1, 1) If (FirstChar = """" AND SubStr(Value1, 0, 1)= """" OR FirstChar = "'" AND SubStr(Value1, 0, 1)= "'") { StringTrimLeft, Value1, Value1, 1 StringTrimRight, Value1, Value1, 1 } } ErrorLevel = 0 } Else { ErrorLevel = 1 Value1 = } Return Value1 } ini_getSection(ByRef _Content, _Section) { If (_Section = "") _Section = (?:\[.*])? Else _Section = \[\s*?\Q%_Section%\E\s*?] RegEx = `aisUS)^.*(%_Section%\s*\R?.*)(?:\R*\s*(?:\[.*?|\R))?$ If RegExMatch(_Content, RegEx, Value) ErrorLevel = 0 Else { ErrorLevel = 1 Value1 = } Return Value1 } ini_getAllSectionNames(ByRef _Content, ByRef _count = "") { RegEx = `aisUmS)^.*(?:\s*\[\s*?(.*)\s*?]\s*|.+=.*).*$ SectionNames := RegExReplace(_Content, RegEx, "$1", MatchNum) If MatchNum { SectionNames := RegExReplace(SectionNames, "S)\R+", ",", _count) ; Workaround, whitespaces only should be eliminated. SectionNames := RegExReplace(SectionNames, "S),+ +", "") StringReplace, SectionNames, SectionNames, `,, `,, UseErrorLevel _count := ErrorLevel ? ErrorLevel : 0 _count := _count ? _count : 0 StringTrimRight, SectionNames, SectionNames, 1 ErrorLevel = 0 } Else { ErrorLevel = 1 _count = 0 SectionNames = } Return SectionNames } ini_getAllValues(ByRef _Content, _Section = "", ByRef _count = "") { RegEx = `aisUmS)^(?=.*)(?:\s*\[\s*?.*\s*?]\s*|\s*?.+\s*?=(.*))(?=.*)$ If (_Section != "") Values := RegExReplace(ini_getSection(_Content, _Section), RegEx, "$1`n", Match) Else Values := RegExReplace(_Content, RegEx, "$1`n", Match) If Match { Values := RegExReplace(Values, "`aS)\R+", "`n") ; Workaround, sometimes it catches sections. Whitespaces only should be eliminated also. Values := RegExReplace(Values, "`aS)\[.*?]\R+|\R+$|\R+ +$", "") StringReplace, Values, Values, `n, `n, UseErrorLevel _count := ErrorLevel ? ErrorLevel : 0 StringTrimLeft, Values, Values, 1 ErrorLevel = 0 } Else { ErrorLevel = 1 _count = 0 Values = } Return Values } ini_exportToGlobals(ByRef _Content, _CreateIndexVars = false, _Prefix = "ini", _Seperator = "_", _SectionSpaces = "", _PreserveSpace = False) { Global Local secCount := 0, keyCount := 0, i := 0, Section, Section1, currSection, Pair, Pair1, Pair2, FirstChar If (_Prefix != "") { _Prefix .= _Seperator } Loop, Parse, _Content, `n, `r { If (Not RegExMatch(A_LoopField, "`aiSm)\[\s*(.+?)\s*]", Section)) { If (RegExMatch(A_LoopField, "`aiSm)\s*(\b(?:.+?|\s?)\\s*=(.*)", Pair)) { If (!_PreserveSpace) { StringReplace, Pair1, Pair1, %A_Space%, , All Pair2 = %Pair2% ; Trim spaces. FirstChar := SubStr(Pair2, 1, 1) If (FirstChar = """" AND SubStr(Pair2, 0, 1)= """" OR FirstChar = "'" AND SubStr(Pair2, 0, 1)= "'") { StringTrimLeft, Pair2, Pair2, 1 StringTrimRight, Pair2, Pair2, 1 } } StringReplace, currSection, currSection, %A_Space%, %_SectionSpaces%, All %_Prefix%%currSection%%_Seperator%%Pair1% := Pair2 ; ini_section_key := value keyCount++ If (_CreateIndexVars) { %_Prefix%%currSection%0++ i := %_Prefix%%currSection%0 %_Prefix%%currSection%%i% := Pair1 } } } Else { currSection := Section1 If (_CreateIndexVars) { StringReplace, currSection, currSection, %A_Space%, %_SectionSpaces%, All secCount++ %_Prefix%%secCount% := currSection } } } If (_CreateIndexVars) { %_Prefix%0 := secCount } If (secCount = 0 AND keyCount = 0) { ErrorLevel = 1 } Else { ErrorLevel = 0 } Return keyCount } ini_buildPath(ByRef _path) { ; Set to default wildcard if filename or exension are not set. If (_Path = "") { _Path := RegExReplace(A_ScriptFullPath, "S)\..*?$") . ".ini" } Else If (SubStr(_Path, 0, 1) = "\") { _Path .= RegExReplace(A_ScriptName, "S)\..*?$") . ".ini" } Else { If (InStr(FileExist(_Path), "D")) { ; If the current path is a directory, then add default file pattern to the directory. _Path .= "\" . RegExReplace(A_ScriptName, "S)\..*?$") . ".ini" } Else { ; Check all parts of path and use defaults, if any part is not specified. SplitPath, _Path,, fileDir, fileExtension, fileNameNoExt If (fileDir = "") { fileDir := A_WorkingDir } If (fileExtension = "") { fileExtension := "ini" } If (fileNameNoExt = "") { fileNameNoExt := RegExReplace(A_ScriptName, "S)\..*?$") } _Path := fileDir . "\" . fileNameNoExt . "." . fileExtension } } Return 0 } CloseProcess: GUI_ID3 := FadeOutStart() If ( %romName%_emulator = "demul" ) WinClose, %settings_demulExe% ; Send,!{F4} ; alternate close method for demul 0.5.6 Else If ( %romName%_emulator = "demul57" ) { ; demul 0.5.7 crashes 50% of the time if you try to close it any other way Send, {F3}{Alt}{Up}s{Enter} Sleep, 50 Process, Close, %settings_demulExe% } Return
emuromz Posted September 15, 2013 Posted September 15, 2013 I am confused with ur explanation about how to get full screen on atomisware games. i am using the latest hyperspin (3.04) and RocketLauncher.0.0.10 with hyperlaunchhq. i have tried to find ur settings.ini and .ahk and its not matched and what can i do? btw i am trying to get my atomisware games into fullscreen. thanks
Deadly Posted September 19, 2013 Posted September 19, 2013 I am confused with ur explanation about how to get full screen on atomisware games. i am using the latest hyperspin (3.04) and RocketLauncher.0.0.10 with hyperlaunchhq. i have tried to find ur settings.ini and .ahk and its not matched and what can i do?btw i am trying to get my atomisware games into fullscreen. thanks My previous entry was specific to the OLD Hyperlaunch. With the new version it exits just fine but I cannot obtain full screen without manually pressing alt+enter on the keyboard. Please post back if you figure out how to launch full screen.
spotUP Posted November 10, 2014 Posted November 10, 2014 no fullscreen here either... did anyone get it to work?
connorsdad Posted November 10, 2014 Posted November 10, 2014 I can't remember how I set mine up but try running the emulator in full screen outside of Hyperspin, exit the emulator, then try it via hs again.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.