Jump to content

[Tutorial] Sega Saturn Emulator Setup


Hypnoziz

Recommended Posts

  • 2 weeks later...
  • Replies 108
  • Created
  • Last Reply
Posted

Great tutorial! been working on setting up this system today...I'm so close! still have one problem I can't figure out??

SSF with Saturn games works great outside of Hyperspin...no problems I can see

When I start it in Hyperspin, the whole screen is black BUT I can hear the game start...there is just no image

my roms are named correctly

dealing with bin/cue files with no additional audio files outside the cue

I'm using HL 2.0

daemon tools installed with a dt drive setup

SSF pointing to DT drive in options O

HyperHQ pointing to cue

I do have my games in subfolders, with the subfolder and files renamed accordingly

and Hyperhq pointing to look in subfolders

??

Posted

Ok well...I just tried the one thing left I hadn't tried out of everything I read here...I edited my script like you suggested on page 2 of this thread...now everything works like a charm!

On a side note my script never had a "min" on the line above what you highlighted in red, and I didn't add it...if that helps anyone...thanks Hypnoziz for this and the many other times you've helped me...NOW I CAN PLAY BUG! lol

:party:

Posted

Thank you very much for this PERFECT tutorial. It was smooth as silk and very well written. If a standard ever needed to be set on how tutorials for this Front End should be done this is it right here.

  • 2 months later...
Posted

just to add one thing,

resolution must be over 640*480.

With Arcade monitor (or CRT) user with soft 15 khz or calamity 's driver in 640*480:

SSF won't run :s (closing before run the rom)

But

you can launch it if you have correct modeline (eg: 792*592) but taito low res 4/3 have black border with this or problem with irotate Hyperspin etc etc...

For changing resolution in SSF module "on the fly" from hyperspin

put this program in SSF folder:

http://www.12noon.com/files/dc-setup.exe

Pay attention to your path:

;------------------------------------------------------------------------
; Sega Saturn
; SSF Test Verson 07-09-2011
; by djvj
; 1.0
;
; Info:
; Make sure your path_to_daemontools in Settings\settings.ini is correct
; romExtension should be mds,cue,iso,cdi,nrg
; In the SSF.ini, make sure you have your CDDrive set to whatever number you use for your games. 0 is most likely your hardware drive, while 1 may be your virtual drive (depending on how many you have) SSF's GUI did not let me set the virtual drive, had to edit the ini directly
; For correct fullscreen operation, make sure these settings are set in Option->Screen: Enforce Aspect Ratio (Fullscreen) and Full Size
; If you are getting clipping, turn on VSynchWaitFullscreen, or set it to 1 in the ini
;
; On first launch, press Alt+Enter to enter fullscreen mode. Then exit the emu. Next time you launch it, it will be fullscreen.
;------------------------------------------------------------------------

;Launch SSF.bat -> upgrade resolution to allow Emu working
Run C:\hyperspin\Emulators\SSF\SSF_012_beta_R2\ssf.bat, C:\hyperspin\Emulators\SSF\SSF_012_beta_R2

; This gets rid of the emu window that pops up on launch
Gui +AlwaysOnTop -Caption +ToolWindow
Gui Color, 000000
Gui Show, x0 y0 h%A_Screenwidth% w%A_Screenheight%, HSHIDE

RunWait, %daemonToolsPath% -mount scsi`, 0`,"%romPath%%romName%%romExtension%"

RunWait, %executable%, %emuPath%

ExitApp
&:
é::Enter
CloseProcess:
;Return to 640*480
Run C:\hyperspin\Emulators\SSF\SSF_012_beta_R2\hyperspin.bat, C:\hyperspin\Emulators\SSF\SSF_012_beta_R2

; This gets rid of the emu window that pops up on launch
return

make bat file in your SSF folder:

SSF.bat

dc.exe -width=792 -height=592 -depth=max -refresh=50 -interlace -apply

hyperspin.Bat

dc.exe -width=640 -height=480 -depth=max -refresh=60 -interlace -apply

adjust width and height with your modeline, test before it can damage your crt!

but works fine if Needed ! otherwise, set higher resolution in desktop :)

Posted
just to add one thing,

resolution must be over 640*480.

With Arcade monitor (or CRT) user with soft 15 khz or calamity 's driver in 640*480:

SSF won't run :s (closing before run the rom)

But

you can launch it if you have correct modeline (eg: 792*592) but taito low res 4/3 have black border with this or problem with irotate Hyperspin etc etc...

For changing resolution in SSF module "on the fly" from hyperspin

put this program in SSF folder:

http://www.12noon.com/files/dc-setup.exe

Pay attention to your path:

;------------------------------------------------------------------------
; Sega Saturn
; SSF Test Verson 07-09-2011
; by djvj
; 1.0
;
; Info:
; Make sure your path_to_daemontools in Settings\settings.ini is correct
; romExtension should be mds,cue,iso,cdi,nrg
; In the SSF.ini, make sure you have your CDDrive set to whatever number you use for your games. 0 is most likely your hardware drive, while 1 may be your virtual drive (depending on how many you have) SSF's GUI did not let me set the virtual drive, had to edit the ini directly
; For correct fullscreen operation, make sure these settings are set in Option->Screen: Enforce Aspect Ratio (Fullscreen) and Full Size
; If you are getting clipping, turn on VSynchWaitFullscreen, or set it to 1 in the ini
;
; On first launch, press Alt+Enter to enter fullscreen mode. Then exit the emu. Next time you launch it, it will be fullscreen.
;------------------------------------------------------------------------

;Launch SSF.bat -> upgrade resolution to allow Emu working
Run C:\hyperspin\Emulators\SSF\SSF_012_beta_R2\ssf.bat, C:\hyperspin\Emulators\SSF\SSF_012_beta_R2

; This gets rid of the emu window that pops up on launch
Gui +AlwaysOnTop -Caption +ToolWindow
Gui Color, 000000
Gui Show, x0 y0 h%A_Screenwidth% w%A_Screenheight%, HSHIDE

RunWait, %daemonToolsPath% -mount scsi`, 0`,"%romPath%%romName%%romExtension%"

RunWait, %executable%, %emuPath%

ExitApp
&:
é::Enter
CloseProcess:
;Return to 640*480
Run C:\hyperspin\Emulators\SSF\SSF_012_beta_R2\hyperspin.bat, C:\hyperspin\Emulators\SSF\SSF_012_beta_R2

; This gets rid of the emu window that pops up on launch
return

make bat file in your SSF folder:

SSF.bat

hyperspin.Bat

adjust width and height with your modeline, test before it can damage your crt!

but works fine if Needed ! otherwise, set higher resolution in desktop :)

So if i understand correctly,this program and that hyperspin.bat can make me run ssf in 640x480?

If that's,this is really a great news.....................

Thank you for let me know this.

Posted

your hyperspin will be 640*480 and when launching SSF, resolution switch to higher the SSF launch.

when exit key is press -> return to 640*480 for hyperspin or other application.

EG 1024*512 -> ssf launch test before with your higher resolution.

WOuld be usefull to if need to start windows in 15 khz @ 640*480

because if you use soft 15 khz and adjust setting in usermode, sometime vsync lost.

So hyperspin.bat for example at windows boot restore original desktop resolution too:)

see your modeline :)

  • 3 months later...
Posted

I am using SSF 012beta3 and have to change to a resolution higher a 640x400 (eg. 800x600).

And after this it starts. But whats the right native resolution of a saturn?

Is it possible to run the ssf at the nativ resolution?

whats the needed modline for eg. soft15k?

Thanks

  • 2 months later...
Posted

Please help :banghead:

whole evening trying to get this working....different versions of modules and sff.exe

outside hyperspin no problem, but when starting from hyperlaunch nothing happens

#NoTrayIcon

DetectHiddenWindows, ON

SetTitleMatchMode, 2

SendMode, Event

0 = 0

exitEmulatorKey = Esc

emuPath = D:\Spellen\MAME\Sega Saturn\SSF_012_beta_R1\

romPath = D:\Spellen\MAME\Sega Saturn\ROMS\

romExtension = .cue

romExtensions = cue,mds

executable = SSF.exe

systemName = Sega Saturn

romName = Nights Into Dreams

daemonToolsPath = D:\Spellen\MAME\Hyperspin 1.0\ERROR

skipchecks = false

fadeIn =

fadeOut =

fadeColor =

fadeInDuration =

fadeOutDuration =

fadeInDelay =

fadeInInterruptKeys = {LControl}{RControl}{LAlt}{RAlt}{LShift}{RShift}{LWin}{RWin}{AppsKey}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{End}{PgUp}{PgDn}{Del}{Ins}{BS}{Capslock}{Numlock}{PrintScreen}{Pause}

gameStartImgPath = D:\Spellen\MAME\Hyperspin 1.0\Media\Sega Saturn\Images\GameStart\

7zEnable = false

7zExtractDir = C:\Users\HYPERS~1\AppData\Local\Temp\Hyperspin\

7zDelTemp = true

7zFormats = .zip,.rar,.7z,.gzip,.tar

7zFormatsNoP = zip,rar,7z,gzip,tar

Hotkey, Esc, CloseProcess

;-----------------------------------------------------------

;Module script

Original Script

hideDesktop(){

}

FadeInStart(){

}

FadeInExit(){

}

FadeOutStart(){

Suspend, On

}

FadeOutExit(){

}

7z(path, name, ext, extractPath){

}

7zCleanUp() {

}

CheckFile(file,msg="",timeout=6){

IfNotExist, %file%

{

If msg

ScriptError(msg, timeout)

Else

ScriptError("Cannot find " . file, timeout)

}

Return %file%

}

ScriptError(error,timeout=6){

MsgBox,48,Error,%error%,%timeout%

ExitApp

}

Posted

Also that module looks old.

Sent from my Droid using Tapatalk 2

"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:
donate_button.png

My Apps:
Window Logger
Idle Volume Adjuster
ExplorerRestorer
Rom Folder Cleaner
Module Updater
My Guides:
How To Mod Guncons with Aimtrak

Posted
Here:

daemonToolsPath = D:\Spellen\MAME\Hyperspin 1.0\ERROR

You didn't setup daemon tools properly on your settings.ini file.

Strange, cause in my Hyperspin/Settings/settings.ini I've got the following setup :

[HyperLaunch]

exit_script_key=~q & ~s

exit_emulator_key=~Esc

toggle_cursor_key=~t

hide_cursor=false

hide_desktop=false

hide_taskbar=false

path_to_daemontools=C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe

path_to_cpwizard=

cpwizard_delay = 8000

cpwizard_params = -timeout 9000

last_system=Sega Saturn

last_rom=Nights Into Dreams

And that is the exact location of my Daemon Tools installation.

Posted
Also that module looks old.

Sent from my Droid using Tapatalk 2

I used this module cause I saw that I had to use the one from Darkbelmonte from the FTP site

http://www.hyperspin-fe.com/forum/showthread.php?10709-HyperLaunch-2-x-Released/page79

Sega Saturn

; SSF & Yabause Emuladores ( 100% tested SSF Test Version (11/08/27) & Yabause 0.9.10 )

; by Darkbelmonte ~ ; 3.2

Posted

24 > 7? :)

I suggest you use this module from Hyperlist : SSF Test Verson (Version 11-06-2011)

If you have issues with Darkbelmonte's module you'll probably have to ask him help for it, no disrespect but that module is way too complex without any need for it and besides yabause is useless these days.

There's definitely something fishy there, because judging by the log your DT is not being properly detected and therefore you'll never be able to launch a game. You don't need to have a physical drive the virtual one is what you need. Change to the suggested module and report back.

Posted

thanx for helping :top:

24 is indeed bigger then 7....I thought 2.7(0) is higher then 2.24, but it means 2.07 ahaaaa :hmmmm2:

I started over again...used the same older version of Daemon tools, the same module, but then I read the instructions better and

in the settings.ini I moved the section [HyperLaunch] under [Main] instead at the end (under [Hiscore]

and suddenly....it worked ! Yessss :pcguru:

Posted

Excellent work, however is there anyway to support satourne as this does not require the need for daemon tools as this is able to directly boot the ISO... ?

Posted

satourne? Really? And you want to use a dead beat emulator and loose compatibility with dozens and dozens of games just because it can read the iso directly? Sorry, but that makes no sense.

Posted
satourne? Really? And you want to use a dead beat emulator and loose compatibility with dozens and dozens of games just because it can read the iso directly? Sorry, but that makes no sense.

Just started looking at Saturn Emulation, is satourne really that bad??

  • 2 months later...
Posted

This is a final plea for help. I have been trying to get Saturn to work on hyperspin since i started the project a year ago i kept getting frustrated and then just worked on other emulators. I now have every system i want and iam back to my nemesis. He has taken at least 20 hours of my life away and its embarrassing to even say but I have realized that if i try to get this to work without asking for help any longer i may end up on the 6 o clock news as a headline story. I dont even know where to begin because i have tried so many ways to get this to work. I always find my answers by searching the forums but i just keep ending up in circles with saturn.

The error i keep getting is Call to nonexistent function

Specifically: DaemonTools("mount",UseSCSI,0,AddDrive,romPath . romName . romExtension)

Even though i have False for SCSI i dont know why its trying to add a drive. Here is my settings and Module. And just for extra info SSF works great when i mount the images not using hyperspin and my Daemon Tools just updated as of yesterday so i have the latest version i assume. I dont know if that is or part of the problem. And i do have a DT drive made and i have SSF looking at it. I have never gotten to a point where i got a black screen to try and look for drive numbers. I also have my HQ settings as HyperLaunch, and use full path is disabled. Thank You in advance to anyone even reading this.

;------------------------------------------------------------------------

; Sega Saturn

; SSF v0.12 beta R3 (12/25/2011)

; by djvj

; 1.4

;

; Notes:

; This only works with DTLite, not DTPro

; Make sure your Path_To_Daemontools in Settings\settings.ini is correct

; romExtension should be mds,cue,iso,cdi,nrg

; Make sure you have your CDDrive set to whatever number you use for your games. 0 may be your hardware drive, while 1 may be your virtual drive (depending on how many you have). If you get a black screen, try different numbers starting from 0.

; If you keep getting the CD Player BIOS screen, you have the CDDrive variable set wrong below

; If you keep getting the CD Player screen with the message "Game disc unsuitable for this system", you have the incorrect bios set for the region game you are playing and or region is set wrong in the emu options. Or you can just turn off the BIOS below :)

; Set fullscreen mode via the variable below

; SSF forces 1024x768 in fullscreen mode and cannot be changed as far as I can tell

; If you are getting clipping, set the vSync variable to true below

; For faster MultiGame switching, keep the BIOS off, otherwise you have to "play" the disc each time you switch discs

;------------------------------------------------------------------------

Fullscreen = true

ShowBIOS = false

BilinearFiltering = true

vSync = true

WideScreen = false

Stretch = false

CDDrive = 1

UseSCSI = false ; If you prefer SCSI virtual drives, set this to true, otherwise Daemon Tools will use a DT virtual drive.

AddDrive = false ; If you do not have a scsi or dt drive in daemon tools, it will be created for you. Set this to false to stop auto-creation of the drive.

;------------------------------------------------------------------------

SSFINI := CheckFile(emuPath . "SSF.ini")

GUI_ID := FadeInStart()

7z1 := 7z(romPath, romName, romExtension, 7zExtractDir)

mySW:=A_ScreenWidth, mySH:=A_ScreenHeight

; Now let's update all our keys if they differ in the ini

Fullscreen := (If ( Fullscreen = "true" ) ? ("1") : ("0"))

ShowBIOS := (If ( ShowBIOS = "true" ) ? ("0") : ("1"))

BilinearFiltering := (If ( BilinearFiltering = "true" ) ? ("1") : ("0"))

vSync := (If ( vSync = "true" ) ? ("1") : ("0"))

WideScreen := (If ( WideScreen = "true" ) ? ("1") : ("0"))

Stretch := (If ( Stretch = "true" ) ? ("1") : ("0"))

UseSCSI := (If UseSCSI = "true" ? ("scsi") : ("dt"))

iniLookup =

( ltrim c

Screen, FullSize, "%Fullscreen%"

Screen, BilinearFiltering, "%BilinearFiltering%"

Screen, VSynchWaitFullscreen, "%vSync%"

Screen, WideScreen, "%WideScreen%"

Screen, StretchScreen, "%Stretch%"

Screen, EnforceAspectRatioFullscreen, "1"

Peripheral, CDDrive, "%CDDrive%"

Program4, NoBIOS, "%ShowBIOS%"

Other, ScreenMode, "%Fullscreen%"

)

Loop, Parse, iniLookup, `n

{

StringSplit, split, A_LoopField, `,, %A_Space%%A_Tab%

IniRead, tempVar, %SSFINI%, %split1%, %split2%

If ( tempVar != split3 )

IniWrite, % split3, %SSFINI%, %split1%, %split2%

}

DaemonTools("mount",UseSCSI,0,AddDrive,romPath . romName . romExtension)

Run, %executable%, %emuPath%,,ssfPID

WinWait, SSF

WinWaitActive, SSF

Sleep, 1000 ; SSF flashes in real fast before going fullscreen if this is not here

GUI_ID2 := FadeInExit()

; WinMove,SSF,,0,0 ; uncomment me if you turned off fullscreen mode and cannot see the emu, but hear it in the background

Process, WaitClose, %executable%

DaemonTools("unmount",UseSCSI,0)

7z2 := 7zCleanUp()

GUI_ID4 := FadeOutExit()

WinActivate, Hyperspin

ExitApp

PreMultiGame:

If Fullscreen = 1 ; only have to take the emu out of fullscreen we are using it

{ ; SSF cannot swap discs in fullscreen mode, so we have to go windowed first, swap, and restore fullscreen

WinGet, ssfID, ID, A

WinGetPos,,,ssfW,ssfH,ahk_id %ssfID%

SetKeyDelay,,10

Send !{Enter}

WinSet, Transparent, 0, ahk_id %ssfID%

If (mySW != ssfW || mySH != ssfH) { ; if our screen not the same size as SSF uses for it's fullscreen, we can detect when it changes

While % ssfH = ssfHn

{

WinGetPos,,,,ssfHn,ahk_id %ssfID%

Sleep, 100

}

} Else ; if our screen is the same size as SSF uses for it's fullscreen, use a sleep instead

Sleep, 3000 ; increase me if MG GUI is showing tiny instead of the full screen size

tempgui()

}

Return

MultiGame:

If !mgCancel {

WinMenuSelectItem,ahk_id %ssfID%,,Hardware,CD Open

DaemonTools("unmount",UseSCSI,0)

DaemonTools("mount",UseSCSI,0,AddDrive,selectedRom)

WinMenuSelectItem,ahk_id %ssfID%,,Hardware,CD Close

If Fullscreen = 1

{

Loop { ; looping until SSF is done loading the new disc

Sleep, 200

WinGetTitle, winTitle, ahk_id %ssfID%

StringSplit, T, winTitle, %A_Space%:

; ToolTip, %A_Index%`nT10=%T10%,0,0

If !oldT10 ; get the current T10 as soon as it exists and store it

oldT10:=T10

If (T10 > oldT10) ; If T10 starts incrementing, we know SSF has a game loaded and can continue the script

Break

}

WinActivate, ahk_id %ssfID%

SetKeyDelay,,10

Send !{Enter}

Sleep, 500 ; give SSF a moment to go fullscreen and not show Hyperspin

Gui, 69: Destroy

WinSet, Transparent, 255, ahk_id %ssfID%

WinSet, Transparent, Off, ahk_id %ssfID%

}

}

Return

CloseProcess:

GUI_ID3 := FadeOutStart()

WinClose, SSF

Return

tempgui(){

Gui, 69:Color, 000000

Gui, 69:-Caption +ToolWindow

Gui, 69:Show, x0 y0 W%A_ScreenWidth% H%A_ScreenHeight%, BlackScreen

}

Settings

;-----------------------------------------------------------

;Built in script

;-----------------------------------------------------------

#NoTrayIcon

DetectHiddenWindows, ON

SetTitleMatchMode, 2

SendMode, Event

0 = 0

exitEmulatorKey = ~Esc

emuPath = G:\Arcade\Saturn\SSF_012_beta_R3\SSF_012_beta_R3\

romPath = G:\Arcade\Saturn\roms\

romExtension = .cue

romExtensions = mds,cue,iso,cdi,nrg

executable = SSF.exe

systemName = Sega Saturn

romName = Alien Trilogy (USA)

path_to_daemontools = C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe

skipchecks = false

fadeIn =

fadeOut =

fadeColor =

fadeInDuration =

fadeOutDuration =

fadeInDelay =

fadeInInterruptKeys = {LControl}{RControl}{LAlt}{RAlt}{LShift}{RShift}{L Win}{RWin}{AppsKey}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8 }{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{ End}{PgUp}{PgDn}{Del}{Ins}{BS}{Capslock}{Numlock}{ PrintScreen}{Pause}

gameStartImgPath =

7zEnable = false

7zExtractDir =

7zDelTemp = true

7zFormats = .zip,.rar,.7z,.gzip,.tar

7zFormatsNoP = zip,rar,7z,gzip,tar

Hotkey, ~Esc, CloseProcess

[exe info]

path=G:\Arcade\Saturn\SSF_012_beta_R3\SSF_012_beta_R3\

exe=SSF.exe

rompath=G:\Arcade\Saturn\Roms\

parameters=

romextension=mds

hyperlaunch=true

[navigation]

last_game=NIGHTS

  • 2 weeks later...
Posted

So guys, I am trying to setup the same SSF v0.12 beta R3 to run Saturn. I have the newest Hyperlaunch (2.24 I think), I have installed Daemon Tools light, created a virtual drive(This is the part I am think I most likely have skipped a step on somewhere)am using the djvj ahk module for this version of the emulator, have updated the path to daemon tools in the system.ini file, updated the ssf path to for the BIOS file and when I try to pick a (properly named) .cue file for a game from the wheel, I get several daemon tools red X errors I have to keep clicking OK on, then I get a flickering black full screen that finally stop at just a full black screen. I hit ESC and it closes and I get several more of the same daemon tools red X errors and it finally closes.

For whatever reason I had to update the BIOS path right in the .ini because even just running SSF right for the ssf.exe, I get the same flashing blak screen stuff I just described and cannot see/access the menu's that should be at the top of the screen for editing settings. I am not sure if this means I have SSF problems I need to figure out, as well as figuring out how to automate daemon tools mounting the cue/bin files?

And just to clarify how daemon tools is supposed to work, am I supposed to manually mount the drive I created or is this a process the AHK is supposed to automate? I also read that I am supposed to enter the CD drive "Identification" or whatever, what am I supposed to put for that? The drive # (0) or the drive name "something like DTlite CD"? I am at work and can't remember that CD drive name.

Thanks for any suggestions, that Saturn emulation is driving me nuts!

Archived

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

×
×
  • Create New...