Jump to content
  • Announcement

    The HyperSpin 2 early access beta is here!

    We’re starting the first public testing phase with Platinum Members to keep the scope manageable while we test the current feature set and begin to add more. In the future, we’ll provide a version for basic members as well.  On behalf of the entire HyperSpin team, we look forward to another exciting adventure with our community.

Selecting the SNES doesn't enter the systems, stays on main wheel menu


djdaveoc

Recommended Posts

Posted

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.

Posted

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.

Posted

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

Posted

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

}

Posted

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.

Posted

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.

Posted

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.

Posted

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.

Posted

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.

Posted
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.

Posted

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.

Posted

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.

Posted

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.

  • 1 year later...
Posted

... 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 :D

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"

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...