djdaveoc Posted June 24, 2013 Posted June 24, 2013 I've made sure I have the XML in the databases area and have the ahk in the modules area. I verified the folder names are correct as "Super Nintendo Entertainment System". I don't know what I'm doing wrong. Every time I try to enter the SNES area on my main menu wheel, I just see a flicker and it bounces me back. My NES and N64 work just fine. Those are the only 2 other areas I've setup so far. So not sure what it can be. I test in Hyperlaunch and it works fine. The emulator loads and I can play the game. But since I'm just trying to open the SNES menu and not actually select and play a SNES game, Hyperlaunch should be irrelevant anyway. Thanks for the help in advance. If you could suggest things to check that would be helpful since I'm brand new to Hyperspin.
djdaveoc Posted June 24, 2013 Author Posted June 24, 2013 Sorry, I forgot to mention that I searched the forums and found some issues like that. Unfortunately it's not the problem. Also, I can get into the NES and N64 systems. So SNES is the only one having the problem. I replaced my ahk and database xml with the ones from this site and still no good. So only SNES is a problem launching.
djdaveoc Posted June 24, 2013 Author Posted June 24, 2013 My .ini from the settings\Super Nintendo Entertainment System folder [exe info] path=I:\Hyperspin\Emulators\Super Nintendo Entertainment System\ rompath=I:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\ userompath=true exe=zsnesw.exe romextension=sfc, smc parameters= searchsubfolders=false pcgame=false winstate=MAXIMIZED hyperlaunch=true Per_Game_Modules=false Skipchecks=false Hide_Cursor=use_global Hide_Desktop=use_global Hide_Taskbar=use_global CPWizard_Enabled=use_global CPWizard_Delay=use_global CPWizard_Params=use_global Fade_In=use_global Fade_Out=use_global Fade_Color=use_global Fade_In_Duration=use_global Fade_Out_Duration=use_global Fade_In_Delay=use_global 7z_Enabled=use_global 7z_Extract_Dir=use_global 7z_Delete_Temp=use_global Keymapper_Enabled=use_global Keymapper=use_global MultiGame_Enabled=use_global MultiGame_Background_Color=use_global MultiGame_Side_Padding=use_global MultiGame_Y_Offset=use_global MultiGame_Image_Adjust=use_global MultiGame_Font=use_global MultiGame_Text_1_Options=use_global MultiGame_Text_1_Text=use_global MultiGame_Text_2_Options=use_global MultiGame_Text_2_Offset=use_global MultiGame_Use_Sound=use_global MultiGame_Sound_Frequency=use_global MultiGame_Exit_Effect=use_global MultiGame_Selected_Effect=use_global MultiGame_Use_Game_Art=use_global MultiGame_Art_Folder=use_global [filters] parents_only=true themes_only=false wheels_only=false roms_only=true [themes] use_parent_vids=false use_parent_themes=false animate_out_default=false reload_backgrounds=false [wheel] alpha=1 small_alpha=1 style=normal speed=low pin_center_width=500 horz_wheel_y=512 vert_wheel_position=right y_rotation=center norm_large=360 norm_small=230 vert_large=400 vert_small=240 pin_large=500 pin_small=200 horz_large=240 horz_small=150 letter_wheel_x=800 letter_wheel_y=384 text_width=700 text_font=Style4 small_text_width=260 large_text_width=400 text_stroke_size=6 text_stroke_color=0x000000 text_color1=0x00BFFD text_color2=0xFFFFFF text_color3=0x00BFFD color_ratio=139 shadow_distance=0 shadow_angle=45 shadow_color=0x000000 shadow_alpha=1 shadow_blur=0 [pointer] animated=true x=975 y=384 [video defaults] path=C:\HyperSpin\Media\Super Nintendo Entertainment System\Video\ [sounds] game_sounds=true wheel_click=true [navigation] game_jump=1 use_indexes=false jump_timer=400 remove_info_wheel=true remove_info_text=true use_last_game=true last_game=Aero Fighters (USA) random_game=false start_on_favorites=false [special Art A] default=false active=false x=512 y=720 in=0.4 out=0.4 length=3 delay=0 type=normal start=bottom [special Art B] default=false active=false x=512 y=740 in=0.4 out=0.4 length=3 delay=0 type=fade start=none [special Art C] active=true x=512 y=384 in=0 out=0 length=3 delay=10 type=fade start=none [Game Text] game_text_active=true show_year=true show_manf=true show_description=true text_color1=0xFD070B text_color2=0xFD070B stroke_color=0x000000 text_font=Style3 text1_textsize=26 text1_strokesize=7 text1_x=32 text1_y=660 text2_textsize=36 text2_strokesize=8 text2_x=30 text2_y=690
djdaveoc Posted June 24, 2013 Author Posted June 24, 2013 The ahk from the modules\Super Nintendo Entertainment System folder which I got from this site: ;---------------------------------------------------------------------------- ; Super Nintendo Entertainment System ; zsnesw v1.51 ; by djvj ; 1.1 ; ; Notes: ; Be sure to set the settings you want below ;---------------------------------------------------------------------------- Fullscreen = true Stretch = false resX = 1024 resY = 768 DisplayRomInfo = false ; Display rom info on load along bottom of screen ;---------------------------------------------------------------------------- SetKeyDelay, 50 zsnesFile := CheckFile(emuPath . "zsnesw.cfg") FileRead, zsnesCfg, %zsnesFile% GUI_ID := FadeInStart() xLine := TF_Find(zsnesCfg,"","","CustomResX=") ; find location in zsnes cfg where it stores its custom X res yLine := TF_Find(zsnesCfg,"","","CustomResY=") ; find location in zsnes cfg where it stores its custom Y res modeLine := TF_Find(zsnesCfg,"","","cvidmode=") ; find location in zsnes cfg where it stores its custom vid mode zsnesCfg := TF_ReplaceLine(zsnesCfg,xLine,xLine,"CustomResX=" . resX) ; update custom X res in zsnes cfg file zsnesCfg := TF_ReplaceLine(zsnesCfg,yLine,yLine,"CustomResY=" . resY) ; update custom Yres in zsnes cfg file If ( Fullscreen = "true" && Stretch = "true" ) ; sets fullscreen, stretch, and filter support vidMode = 39 Else If ( Fullscreen = "true" && Stretch != "true" ) ; sets fullscreen, correct aspect ratio, and filter support vidMode = 42 Else ; sets windowed mode with filter support vidMode = 38 zsnesCfg := TF_ReplaceLine(zsnesCfg,modeLine,modeLine,"cvidmode=" . vidMode) ; update custom vid mode in zsnes cfg file ; Setting DisplayRomInfo setting in cfg if it doesn't match what user wants above currentDRI := (InStr(zsnesCfg, "DisplayInfo=1") ? ("true") : ("false")) If ( DisplayRomInfo != "true" And currentDRI = "true" ) { StringReplace, zsnesCfg, zsnesCfg, DisplayInfo=1, DisplayInfo=0 } Else If ( DisplayRomInfo = "true" And currentDRI = "false" ) { StringReplace, zsnesCfg, zsnesCfg, DisplayInfo=0, DisplayInfo=1 } SaveFile(zsnesCfg, zsnesFile) ; save changes to zsnesw.cfg 7z1 := 7z(romPath, romName, romExtension, 7zExtractDir) Run, %executable% "%romPath%%romName%%romExtension%", %emuPath% WinWait, ZSNES ahk_class ZSNES WinWaitActive, ZSNES ahk_class ZSNES GUI_ID2 := FadeInExit() Process, WaitClose, %executable% 7z2 := 7zCleanUp() GUI_ID4 := FadeOutExit() WinActivate, Hyperspin ExitApp SaveFile(text,file) { FileDelete, %file% FileAppend, %text%, %file% } CloseProcess: GUI_ID3 := FadeOutStart() Send, {Alt Down}{F4 Down}{F4 Up}{Alt Up} ; No other closing method seems to work Return TF_Find(Text, StartLine = 1, EndLine = 0, SearchText = "", ReturnFirst = 1, ReturnText = 0) { ; complete rewrite for 3.1 TF_GetData(OW, Text, FileName) If (RegExMatch(Text, SearchText) < 1) Return "0" ; SearchText not in file or error, do nothing TF_MatchList:=_MakeMatchList(Text, StartLine, EndLine) ; create MatchList Loop, Parse, Text, `n { If A_Index in %TF_MatchList% { If (RegExMatch(A_LoopField, SearchText) > 0) { If (ReturnText = 0) Lines .= A_Index "," ; line number Else If (ReturnText = 1) Lines .= A_LoopField "`n" ; text of line Else If (ReturnText = 2) Lines .= A_Index ": " A_LoopField "`n" ; add line number If (ReturnFirst = 1) ; only return first occurence Break } } } If (Lines <> "") StringTrimRight, Lines, Lines, 1 ; trim trailing , or `n Else Lines = 0 ; make sure we return 0 Return Lines } TF_ReplaceLine(Text, StartLine = 1, Endline = 0, ReplaceText = "") { TF_GetData(OW, Text, FileName) TF_MatchList:=_MakeMatchList(Text, StartLine, EndLine) ; create MatchList Loop, Parse, Text, `n, `r { If A_Index in %TF_MatchList% Output .= ReplaceText "`n" Else Output .= A_LoopField "`n" } Return TF_ReturnOutPut(OW, OutPut, FileName) } TF_GetData(byref OW, byref Text, byref FileName) { OW=0 ; default setting: asume it is a file and create file_copy IfNotInString, Text, `n ; it can be a file as the Text doesn't contact a newline character { If (SubStr(Text,1,1)="!") ; first we check for "overwrite" { Text:=SubStr(Text,2) OW=1 ; overwrite file (if it is a file) } IfNotExist, %Text% ; now we can check if the file exists, it doesn't so it is a var { If (OW=1) ; the variable started with a ! so we need to put it back because it is variable/text not a file Text:= "!" . Text OW=2 ; no file, so it is a var or Text passed on directly to TF } } Else ; there is a newline character in Text so it has to be a variable { OW=2 } If (OW = 0) or (OW = 1) ; it is a file, so we have to read into var Text { Text := (SubStr(Text,1,1)="!") ? (SubStr(Text,2)) : Text FileName=%Text% ; Store FileName FileRead, Text, %Text% ; Read file and return as var Text If (ErrorLevel > 0) { MsgBox, 48, TF Lib Error, % "Can not read " FileName ExitApp } } Return } TF_Count(String, Char) { StringReplace, String, String, %Char%,, UseErrorLevel Return ErrorLevel } TF_ReturnOutPut(OW, Text, FileName, TrimTrailing = 1, CreateNewFile = 0) { ; HugoV If (OW = 0) ; input was file, file_copy will be created, if it already exist file_copy will be overwritten { IfNotExist, % FileName ; check if file Exist, if not return otherwise it would create an empty file. Thanks for the idea Murp|e { If (CreateNewFile = 1) ; CreateNewFile used for TF_SplitFileBy* and others { OW = 1 Goto CreateNewFile } Else Return } If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n SplitPath, FileName,, Dir, Ext, Name If (Dir = "") ; if Dir is empty Text & script are in same directory Dir := A_ScriptDir IfExist, % Dir "\backup" ; if there is a backup dir, copy original file there FileCopy, % Dir "\" Name "_copy." Ext, % Dir "\backup\" Name "_copy.bak", 1 FileDelete, % Dir "\" Name "_copy." Ext FileAppend, %Text%, % Dir "\" Name "_copy." Ext Return Errorlevel ? False : True } CreateNewFile: If (OW = 1) ; input was file, will be overwritten by output { IfNotExist, % FileName ; check if file Exist, if not return otherwise it would create an empty file. Thanks for the idea Murp|e { If (CreateNewFile = 0) ; CreateNewFile used for TF_SplitFileBy* and others Return } If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n SplitPath, FileName,, Dir, Ext, Name If (Dir = "") ; if Dir is empty Text & script are in same directory Dir := A_ScriptDir IfExist, % Dir "\backup" ; if there is a backup dir, copy original file there FileCopy, % Dir "\" Name "." Ext, % Dir "\backup\" Name ".bak", 1 FileDelete, % Dir "\" Name "." Ext FileAppend, %Text%, % Dir "\" Name "." Ext Return Errorlevel ? False : True } If (OW = 2) ; input was var, return variable { If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n Return Text } } _MakeMatchList(Text, Start = 1, End = 0) { ErrorList= (join| Error 01: Invalid StartLine parameter (non numerical character) Error 02: Invalid EndLine parameter (non numerical character) Error 03: Invalid StartLine parameter (only one + allowed) ) StringSplit, ErrorMessage, ErrorList, | Error = 0 TF_MatchList= ; just to be sure If (Start = 0 or Start = "") Start = 1 ; some basic error checking ; error: only digits - and + allowed If (RegExReplace(Start, "[ 0-9+\-\,]", "") <> "") Error = 1 If (RegExReplace(End, "[0-9 ]", "") <> "") Error = 2 ; error: only one + allowed If (TF_Count(Start,"+") > 1) Error = 3 If (Error > 0 ) { MsgBox, 48, TF Lib Error, % ErrorMessage%Error% ExitApp } ; Option #1 ; StartLine has + character indicating startline + incremental processing. ; EndLine will be used ; Make TF_MatchList IfInString, Start, `+ { If (End = 0 or End = "") ; determine number of lines End:= TF_Count(Text, "`n") + 1 StringSplit, Section, Start, `, ; we need to create a new "TF_MatchList" so we split by , Loop, %Section0% { StringSplit, SectionLines, Section%A_Index%, `+ LoopSection:=End + 1 - SectionLines1 Counter=0 TF_MatchList .= SectionLines1 "," Loop, %LoopSection% { If (A_Index >= End) ; Break If (Counter = (SectionLines2-1)) ; counter is smaller than the incremental value so skip { TF_MatchList .= (SectionLines1 + A_Index) "," Counter=0 } Else Counter++ } } StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } ; Option #2 ; StartLine has - character indicating from-to, COULD be multiple sections. ; EndLine will be ignored ; Make TF_MatchList IfInString, Start, `- { StringSplit, Section, Start, `, ; we need to create a new "TF_MatchList" so we split by , Loop, %Section0% { StringSplit, SectionLines, Section%A_Index%, `- LoopSection:=SectionLines2 + 1 - SectionLines1 Loop, %LoopSection% { TF_MatchList .= (SectionLines1 - 1 + A_Index) "," } } StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } ; Option #3 ; StartLine has comma indicating multiple lines. ; EndLine will be ignored IfInString, Start, `, { TF_MatchList:=Start Return TF_MatchList } ; Option #4 ; parameters passed on as StartLine, EndLine. ; Make TF_MatchList from StartLine to EndLine If (End = 0 or End = "") ; determine number of lines End:= TF_Count(Text, "`n") + 1 LoopTimes:=End-Start Loop, %LoopTimes% { TF_MatchList .= (Start - 1 + A_Index) "," } TF_MatchList .= End "," StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList }
Fromlostdays Posted June 24, 2013 Posted June 24, 2013 I know you said that you checked already, but the only time I've ever had this problem is with a faulted xml (I edit them). When you click enter hyperspin tries to read the xml list. Try replacing the xml. Walter:beerglass:
djdaveoc Posted June 25, 2013 Author Posted June 25, 2013 Yes, I did get a brand new XML for the SNES system and deleted the old one and pasted in the new one. Same problem. I did that before ever asking for help. Both the ahk in modules and xml in databases is from this site. So if there is a problem with the xml then the file downloadable on this site is bad. Here is what is in mine.
DrMoney Posted June 25, 2013 Posted June 25, 2013 Are your artwork (directories) properly named? TUTORIAL!: Xpadder and You If you're super into using genuine controllers for emulation check THIS GUY out.
djdaveoc Posted June 25, 2013 Author Posted June 25, 2013 Everything inside the media folder appears to be correct. And I have the box art in 3 and the cart art in 4. Nothing is in 1 or 2. I'm using Zsnesw 1.51 and have that ahk file. I just went and removed the whole emulator folder, removed the SNES database xml and removed the modules ahk. I downloaded all again and the Emulator loads in Hyperlaunch but is horribly lagged. I don't know why it's slow since I have a very fast PC. And I still can't figure out why the SNES console won't open from the main wheel when my N64 and NES do open fine.
DrMoney Posted June 25, 2013 Posted June 25, 2013 Do you happen to have "Roms Only" on for that wheel? TUTORIAL!: Xpadder and You If you're super into using genuine controllers for emulation check THIS GUY out.
djvj Posted June 25, 2013 Posted June 25, 2013 djdaveoc, please don't post such large lists openly on the forum. Use pastebin if you need to link to your xml. Also always wrap code tags when you need to post long lists. "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."RocketLauncher's Official Home If you appreciate my work:My Apps:Window LoggerIdle Volume AdjusterExplorerRestorerRom Folder CleanerModule UpdaterMy Guides:How To Mod Guncons with Aimtrak
djdaveoc Posted June 25, 2013 Author Posted June 25, 2013 Hi Dr. Money. Yes, I have "Roms only" on for all 3 wheels. Only SNES doesn't work.
djdaveoc Posted June 25, 2013 Author Posted June 25, 2013 Sorry djvj I don't know what pastebin is or how to wrap code tags. I would definitely do it though if I knew how.
djdaveoc Posted June 25, 2013 Author Posted June 25, 2013 Thanks Dr. Money. I removed the "roms only" option and now SNES launches and I can see the games wheel. I'm not quite sure why that works and why that option enabled in NES or N64 still allows it to function. Is that a known bug with the current version? Since you asked about that specific issue I have to assume you knew something about this? Please explain. Thank you.
mameshane Posted June 25, 2013 Posted June 25, 2013 Sorry djvj I don't know what pastebin is or how to wrap code tags. I would definitely do it though if I knew how. pastebin is a website. that you can paste a heap of text to. then you can copy the link and paste the link into your thread. to wrap something in code within HS forums, click the go advanced button at when replying or creating a thread. select the text then click the icon with the #. this will wrap the selected text in code brackets. and properly formatting it for easy reading on the forum. My Cab.. 1-UP ARCADE new hyperspin irc details.. come hang out!
DrMoney Posted June 25, 2013 Posted June 25, 2013 Glad you got it working. I'm assuming it's an extension issue, be sure to double check those in HLHQ. This problem can also popup if you have roms in nested folders, usually CD based systems though. TUTORIAL!: Xpadder and You If you're super into using genuine controllers for emulation check THIS GUY out.
djdaveoc Posted June 25, 2013 Author Posted June 25, 2013 By extension issue do you mean I should check which file type extensions I have entered for my SNES roms? If that's the case, I think they're correct. I believe they're all smc and I have that entered. I'll verify when I get home from work. And the Roms folder is in a similar path to that of my N64 and NES roms folders. Hyperspin\Emulators\Super Nintendo Entertainment System\Roms is the path. The emulator program itself is in Hyperspin\Emulators\Super Nintendo Entertainment System . That is the same folder structure that I have for the working systems. Thanks for trying to help regardless and I'll get back to you this evening.
djdaveoc Posted June 26, 2013 Author Posted June 26, 2013 Looks like that was it. I just removed an extra extension for the SNES games and it's working now. Strange because it worked with them both there in the past. Since all my games are smc that's all I have in there now. Thanks.
Hawkwind Posted October 22, 2014 Posted October 22, 2014 ... Had the exact same problem! was driving me crazy ... all other wheels were working in Hyperspin.. except SNES. Choosing SNES would send me to a black blank screen with no sound. The only way back out was to Ctrl Alt Del and Endtask Hyperspin.exe. I can't believe it was simply the Roms Only tick box.. Problem fixed - wowwww!!! Thanks Dr Money To clarify the solution - Go to HyperHQ.exe, Wheel Settings.. Choose SNES. Click on the Navigation/Themes Tab.. Under Wheel Filters: un-tick "Roms Only"
Recommended Posts
Archived
This topic is now archived and is closed to further replies.