MEmu = Nestopia
MEmuV = v1.42
MURL = http://www.emucr.com/2011/09/nestopia-unofficial-v1420.html
MAuthor = djvj
MVersion = 2.0.5
MCRC = 6F80AA06
iCRC = F9662CA1
MID = 635038268908287546
MSystem = "Nintendo Entertainment System","Nintendo Famicom","Nintendo Famicom Disk System"
;----------------------------------------------------------------------------
; Notes:
; If using this for Nintendo Famicom Disk System, make sure you place an FDS bios in your bios subfolder for your emu. You will have to select it on first launch of any FDS game.
; Set your fullscreen key to Alt+Enter if it is not already for Pause support
;----------------------------------------------------------------------------
StartModule()
BezelGUI()
FadeInStart()
primaryExe := new Emulator(emuPath . "\" . executable) ; instantiate emulator executable object
emuPrimaryWindow := new Window(new WindowTitle("Nestopia","Nestopia")) ; instantiate primary emulator window object
Fullscreen := moduleIni.Read("Settings", "Fullscreen","true","",1)
ExitKey := moduleIni.Read("Settings", "ExitKey","Esc","",1)
ToggleMenuKey := moduleIni.Read("Settings", "ToggleMenuKey","Alt+M","",1)
bezelTopOffset := moduleIni.Read("Settings", "bezelTopOffset",16,"",1)
bezelBottomOffset := moduleIni.Read("Settings", "bezelBottomOffset",26,"",1)
bezelLeftOffset := moduleIni.Read("Settings", "bezelLeftOffset",7,"",1)
bezelRightOffset := moduleIni.Read("Settings", "bezelRightOffset",7,"",1)
forceControls := moduleIni.Read(dbName . "|Settings", "forceControls","False","",1)
port1 := moduleIni.Read(dbName . "|Settings", "port1","unconnected","",1)
port2 := moduleIni.Read(dbName . "|Settings", "port2","unconnected","",1)
port3 := moduleIni.Read(dbName . "|Settings", "port3","unconnected","",1)
port4 := moduleIni.Read(dbName . "|Settings", "port4","unconnected","",1)
port5 := moduleIni.Read(dbName . "|Settings", "port5","unconnected","",1)
BezelStart()
emuSettingsFile := new File(emuPath . "\nestopia.xml")
emuSettingsFile.Read()
If StringUtils.InStr(emuSettingsFile.Text,"yes") ; find if this setting is not the desired value
emuSettingsFile.Text := StringUtils.Replace(emuSettingsFile.Text,"yes", "no") ; turning off confirmation on exit
If !StringUtils.InStr(emuSettingsFile.Text,"" . ExitKey . "") ; find if this setting is not the desired value
{ currentExitKey := StrX(emuSettingsFile.Text,"" ,0,0,"",0,0) ; trim confirm-exit to what it's current setting is
emuSettingsFile.Text := StringUtils.Replace(emuSettingsFile.Text,currentExitKey,"" . ExitKey . "") ; replacing the current exit key to the desired one from above
}
If !StringUtils.InStr(emuSettingsFile.Text,"" . ToggleMenuKey . "") ; find if this setting is not the desired value
{ currentMenuKey := StrX(emuSettingsFile.Text,"" ,0,0,"",0,0) ; trim toggle-menu to what it's current setting is
emuSettingsFile.Text := StringUtils.Replace(emuSettingsFile.Text,currentMenuKey,"" . ToggleMenuKey . "") ; replacing the current toggle-menu key to the desired one from above
}
If (forceControls = "true")
{
If StringUtils.InStr(emuSettingsFile.Text,"yes") ; find if this setting is not the desired value
emuSettingsFile.Text := StringUtils.Replace(emuSettingsFile.Text,"yes","no") ; replacing the current toggle-menu key to the desired one from above
Loop, 5
{
currentTemp := StrX(emuSettingsFile.Text,"" ,0,0,"",0,0)
port := port%A_Index%
If (port = "pad")
port := "pad" . A_Index
;MsgBox,,,% port . " - " . currentTemp
emuSettingsFile.Text := StringUtils.Replace(emuSettingsFile.Text,currentTemp,"" . port . "")
}
} Else {
If StringUtils.InStr(emuSettingsFile.Text,"no") ; find if this setting is not the desired value
emuSettingsFile.Text := StringUtils.Replace(emuSettingsFile.Text,"no","yes")
}
; Enable Fullscreen
currentFS := StrX(emuSettingsFile.Text,"" ,0,0,"",0,0) ; trim start-fullscreen to what it's current setting is
emuSettingsFile.Text := StringUtils.Replace(emuSettingsFile.Text,currentFS,"" . ((If Fullscreen = "true")?"yes":"no") . "") ; setting start-fullscreen to the desired setting from above
; Update and save emuSettingsFile
emuSettingsFile.Delete()
emuSettingsFile.Append(emuSettingsFile.Text,"UTF-8")
hideEmuObj := Object(emuPrimaryWindow,1)
7z(romPath, romName, romExtension, sevenZExtractPath)
HideAppStart(hideEmuObj,hideEmu)
primaryExe.Run(" """ . romPath . "\" . romName . romExtension . """")
emuPrimaryWindow.Wait()
emuPrimaryWindow.WaitActive()
BezelDraw()
HideAppEnd(hideEmuObj,hideEmu)
FadeInExit()
Process("WaitClose", executable)
7zCleanUp()
BezelExit()
FadeOutExit()
ExitModule()
HaltEmu:
; KeyUtils.Send("!{Enter}")
TimerUtils.Sleep(200)
Return
RestoreEmu:
WinActivate, ahk_id %emulatorID%
; KeyUtils.Send("!{Enter}")
Return
CloseProcess:
FadeOutStart()
emuPrimaryWindow.Close()
Return