Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - altarik

Pages: [1]
1
Hardcade / PS2, Naomi, Wii etc...
« le: Vendredi 01 Août 2014, 14:56:06 pm »
Oui en effet Demul fait tourner Naomi et Atomise mais les émulateurs n'apparaissent pas dans la liste de sélection des systèmes et il n'y a pas de thème pour ces machines.

2
Hardcade / PS2, Naomi, Wii etc...
« le: Vendredi 01 Août 2014, 11:49:59 am »
Bonjour, ce serait pas mal de pouvoir avoir l'intégration d'autres émulateurs comme Naomi,Atomise, PS2, Cave, Wii, Taito Type X etc... ^-^
La possibilité de positionner l'image sur l'écran serait un plus.
Merci.

3
Hyperspin / Demul sur Hypespin
« le: Dimanche 20 Juillet 2014, 14:47:13 pm »
Bonjour, j'ai besoin de votre aide sur Demul 0.56. Impossible de le lancer depuis Hyerspin ou Hyperlanuch.
Message d'erreur
AutoHotkey.dll
---------------------------
Error:  Call to nonexistent function.

Specifically: StartModule()

   Line#
   063: MURL = http://demul.emulation64.com/
   064: MAuthor = djvj
   065: MVersion = 2.0.2
   066: MCRC = 6A989154
   067: iCRC = 5C9B9311
   068: MID = 635038268881325110
   069: MSystem = "Sammy Atomiswave","Sega Dreamcast","Sega Naomi"
--->   099: StartModule()
   100: FadeInStart()
   103: mType := Object("Sammy Atomiswave","atomiswave","Sega Dreamcast","dc","Sega Naomi","naomi")
   104: ident := mType[systemName]
   105: if !ident
   106: ScriptError("Your systemName is: " . Demul. "
It is not one of the known supported systems for this MESS module: " . moduleName)
   108: settingsFile := modulePath . "\" . moduleName . ".ini"
   109: demulFile := CheckFile(emuPath . "\Demul.ini")
The program will exit.

Mon fichier AHK:
MEmu = Demul
MEmuV =  v0.5.6
MURL = http://demul.emulation64.com/
MAuthor = djvj
MVersion = 2.0.2
MCRC = 6A989154
iCRC = 5C9B9311
MID = 635038268881325110
MSystem = "Sammy Atomiswave","Sega Dreamcast","Sega Naomi"
;----------------------------------------------------------------------------
; Notes:
; Required - control and nvram files can be found in my user dir on the FTP at /Upload Here/djvj/Sega Naomi\Emulators. Additonal instructions from my orignal HL1.0 script at http://www.hyperspin-fe.com/forum/showpost.php?p=86093&postcount=104
; Required - moduleName ini: can be found in my user dir on the FTP at /Upload Here/djvj/Sega Naomi\Modules\Sega Naomi
; moduleName ini must be placed in same folder as this module
; GDI images must match mame zip names and be extracted and have a .dat extension
; Rom_Extension should be zip
;
; Place the naomi.zip bios archive in the demul\roms subdir
; 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
;
; Controls:
; Start a game of each control type (look in the moduleName ini for these types) and configure your controls to play the game. Copy paste the JAMMA0_0 and JAMMA0_1 (for naomi) or the ATOMISWAVE0_0 and ATOMISWAVE0_1 (for atomiswave) sections into the moduleName ini under the matching controls section.
;
; Sega Dreamcast:
; This script supports the following DC images: GDI, CDI, CHD, MDS, CCD, NRG, CUE
; Place your dc.zip bios in the roms subdir of your emu
; Run demul manually and goto Config->Plugins->GD-ROM Plugin and set it to gdrImage
; Set your Video Plugin to gpuOglv3
; On first run of a game, demul will ask you to setup all your plugin choices if you haven't already.
; If you want to convert your roms from gdi to chd, see here: http://www.emutalk.net/showthread.php?t=51502
; FileDelete(s) are in the script because sometimes demul will corrupt the ini and make it crash. The script recreates a clean ini for you.
;
; Troubleshooting:
; For some reason demul's ini files can get corrupted and ahk can't read/write to them correctly.
; If your ini keys are not being read or not writing to their existing keys in the demul inis, create a new file and copy/paste everything from the old ini into the new one and save.
; If you use Fade_Out, the module will force close demul because you cannot send ALT+F4 to demul if another GUI is covering it. Otherwise demul should close cleanly when Fade_Out is disabled. I suggest keeping Fade_Out disabled if you use this emu.
;----------------------------------------------------------------------------
StartModule()
FadeInStart()

; This object controls how the module reacts to different systems. Demul can play a few systems, but needs to know what system you want to run, so this module has to adapt.
mType := Object("Sammy Atomiswave","atomiswave","Sega Dreamcast","dc","Sega Naomi","naomi")
ident := mType[systemName]   ; search object for the systemName identifier MESS uses
If !ident
   ScriptError("Your systemName is: " . Demul. "`nIt is not one of the known supported systems for this MESS module: " . moduleName)

settingsFile := modulePath . "\" . moduleName . ".ini"
demulFile := CheckFile(emuPath . "\Demul.ini")
padFile := CheckFile(emuPath . "\padDemul.ini")

controls := IniReadCheck(settingsFile, romname, "controls","standard",,1)   ; have to read this first so the below loop works

; Read all the keys from the moduleName ini. Format is:
; Section, Key, Default Value, unique var
iniLookup =
( ltrim c
   Settings, Fullscreen, true
   Settings, ControllerCode, 16777216
   Settings, MouseCode, 131072
   Settings, KeyboardCode, 1073741824
   Settings, LightgunCode, -2147483648
   Settings, LastControlUsedNaomi, standard
   Settings, LastControlUsedAtomiswave, standard
   Settings, GlobalShaderEffects, false
   Settings, GlobalShaderName
   Settings, GlobalShaderMode
   %romName%, LoadDecrypted
   %romName%, Bios
   %romName%, ShaderEffects
   %romName%, ShaderName
   %romName%, ShaderMode
   %controls%_JAMMA0_0, push1,,n_push1_0
   %controls%_JAMMA0_0, push2,,n_push2_0
   %controls%_JAMMA0_0, push3,,n_push3_0
   %controls%_JAMMA0_0, push4,,n_push4_0
   %controls%_JAMMA0_0, push5,,n_push5_0
   %controls%_JAMMA0_0, push6,,n_push6_0
   %controls%_JAMMA0_0, push7,,n_push7_0
   %controls%_JAMMA0_0, push8,,n_push8_0
   %controls%_JAMMA0_0, SERVICE,,n_service_0
   %controls%_JAMMA0_0, START,,n_start_0
   %controls%_JAMMA0_0, COIN,,n_coin_0
   %controls%_JAMMA0_0, DIGITALUP,,n_digitalup_0
   %controls%_JAMMA0_0, DIGITALDOWN,,n_digitaldown_0
   %controls%_JAMMA0_0, DIGITALLEFT,,n_digitalleft_0
   %controls%_JAMMA0_0, DIGITALRIGHT,,n_digitalright_0
   %controls%_JAMMA0_0, ANALOGUP,,n_analogup_0
   %controls%_JAMMA0_0, ANALOGDOWN,,n_analogdown_0
   %controls%_JAMMA0_0, ANALOGLEFT,,n_analogleft_0
   %controls%_JAMMA0_0, ANALOGRIGHT,,n_analogright_0
   %controls%_JAMMA0_0, ANALOGUP2,,n_analogup2_0
   %controls%_JAMMA0_0, ANALOGDOWN2,,n_analogdown2_0
   %controls%_JAMMA0_0, ANALOGLEFT2,,n_analogleft2_0
   %controls%_JAMMA0_0, ANALOGRIGHT2,,n_analogright2_0
   %controls%_JAMMA0_1, push1,,n_push1_1
   %controls%_JAMMA0_1, push2,,n_push2_1
   %controls%_JAMMA0_1, push3,,n_push3_1
   %controls%_JAMMA0_1, push4,,n_push4_1
   %controls%_JAMMA0_1, push5,,n_push5_1
   %controls%_JAMMA0_1, push6,,n_push6_1
   %controls%_JAMMA0_1, push7,,n_push7_1
   %controls%_JAMMA0_1, push8,,n_push8_1
   %controls%_JAMMA0_1, SERVICE,,n_service_1
   %controls%_JAMMA0_1, START,,n_start_1
   %controls%_JAMMA0_1, COIN,,n_coin_1
   %controls%_JAMMA0_1, DIGITALUP,,n_digitalup_1
   %controls%_JAMMA0_1, DIGITALDOWN,,n_digitaldown_1
   %controls%_JAMMA0_1, DIGITALLEFT,,n_digitalleft_1
   %controls%_JAMMA0_1, DIGITALRIGHT,,n_digitalright_1
   %controls%_JAMMA0_1, ANALOGUP,,n_analogup_1
   %controls%_JAMMA0_1, ANALOGDOWN,,n_analogdown_1
   %controls%_JAMMA0_1, ANALOGLEFT,,n_analogleft_1
   %controls%_JAMMA0_1, ANALOGRIGHT,,n_analogright_1
   %controls%_JAMMA0_1, ANALOGUP2,,n_analogup2_1
   %controls%_JAMMA0_1, ANALOGDOWN2,,n_analogdown2_1
   %controls%_JAMMA0_1, ANALOGLEFT2,,n_analogleft2_1
   %controls%_JAMMA0_1, ANALOGRIGHT2,,n_analogright2_1
   %controls%_ATOMISWAVE0_0, UP,,a_up_0
   %controls%_ATOMISWAVE0_0, DOWN,,a_down_0
   %controls%_ATOMISWAVE0_0, LEFT,,a_left_0
   %controls%_ATOMISWAVE0_0, RIGHT,,a_right_0
   %controls%_ATOMISWAVE0_0, SHOT1,,a_shot1_0
   %controls%_ATOMISWAVE0_0, SHOT2,,a_shot2_0
   %controls%_ATOMISWAVE0_0, SHOT3,,a_shot3_0
   %controls%_ATOMISWAVE0_0, SHOT4,,a_shot4_0
   %controls%_ATOMISWAVE0_0, SHOT5,,a_shot5_0
   %controls%_ATOMISWAVE0_0, START,,a_start_0
   %controls%_ATOMISWAVE0_0, COIN,,a_coin_0
   %controls%_ATOMISWAVE0_1, UP,,a_up_1
   %controls%_ATOMISWAVE0_1, DOWN,,a_down_1
   %controls%_ATOMISWAVE0_1, LEFT,,a_left_1
   %controls%_ATOMISWAVE0_1, RIGHT,,a_right_1
   %controls%_ATOMISWAVE0_1, SHOT1,,a_shot1_1
   %controls%_ATOMISWAVE0_1, SHOT2,,a_shot2_1
   %controls%_ATOMISWAVE0_1, SHOT3,,a_shot3_1
   %controls%_ATOMISWAVE0_1, SHOT4,,a_shot4_1
   %controls%_ATOMISWAVE0_1, SHOT5,,a_shot5_1
   %controls%_ATOMISWAVE0_1, START,,a_start_1
   %controls%_ATOMISWAVE0_1, COIN,,a_coin_1
)
Loop, Parse, iniLookup, `n
{
   StringSplit, split, A_LoopField, `,, %A_Space%%A_Tab%
   If split4
      %split4% := IniReadCheck(settingsFile, split1, split2,split3,,1)
   Else
      %split2% := IniReadCheck(settingsFile, split1, split2,split3,,1)
   ; need to empty the vars for the next loop otherwise they will still have values from the previous loop
   split3:=
   split4:=
}

; Now compare global & rom keys to get final value
shaderEffects := If (ShaderEffects = "" or ShaderEffects = "ERROR") ? GlobalShaderEffects : ShaderEffects
shaderName := If (ShaderName = "" or ShaderName = "ERROR") ? GlobalShaderName : ShaderName
shaderMode := If (ShaderMode = "" ShaderMode = "ERROR") ? GlobalShaderMode : ShaderMode

 ; Shader Effects
gpuOglv3File := CheckFile(emuPath . "\gpuOglv3.ini","Shaders are only supported using the gpuOglv3 plugin. Cannot find " . emuPath . "\gpuOglv3.ini")
IniRead, currentShaderValue, %gpuOglv3File%, shader, effects
If shaderEffects = true
{
   shaderPath := emupath . "\shaders"   ; define the path to the shaders
   CheckFile(shaderPath . "\" . shaderName . ".slf")   ; make sure the shader exists
   If currentShaderValue = false
      IniWrite, true, %gpuOglv3File%, shader, effects
   IniWrite, %shaderMode%, %gpuOglv3File%, shader, mode
   IniWrite, %shaderPath%, %gpuOglv3File%, shader, path
   IniWrite, %shaderName%, %gpuOglv3File%, shader, name
}Else If ( shaderEffects != "true" and currentShaderValue = "true" )
   IniWrite, false, %gpuOglv3File%, shader, effects

If ident = dc
{
   7z(romPath, romName, romExtension, 7zExtractPath)
   If ( romExtension = ".cdi" || romExtension = ".mds" || romExtension = ".ccd" || romExtension = ".nrg" || romExtension = ".gdi" || romExtension = ".cue" ) {
      gdrImageFile := CheckFile(emuPath . "\gdrImage.ini")
      FileDelete, %gdrImageFile%
      Sleep, 500
      IniWrite, gdrImage.dll, %demulFile%, plugins, gdr
      IniWrite, false, %gdrImageFile%, Main, openDialog
      IniWrite, %romPath%\%romName%%romExtension%, %gdrImageFile%, Main, imagefilename
   } Else If romExtension = .chd
   {
      gdrCHDFile := CheckFile(emuPath . "\gdrCHD.ini")
      FileDelete, %gdrCHDFile%
      Sleep, 500
      IniWrite, false, %gdrCHDFile%, Main, openDialog
      IniWrite, gdrCHD.dll, %demulFile%, plugins, gdr
      IniWrite, %romPath%\%romName%%romExtension%, %gdrCHDFile%, Main, imagefilename
   } Else
      ScriptError(romExtension . " is not a supported file type for this " . moduleName . " module.")

   IniWrite, 1, %demulFile%, main, region ; Set BIOS to Auto Region

} Else {   ; all other systems, Naomi and Atomiswave
   ; This updates the demul.ini with your Bios choice for the selected rom
   If ( Bios != "" and Bios != "ERROR" ) {
      Bios := RegExReplace(Bios,"\s.*")   ; Cleans off the added text from the key's value so only the number is left
      IniWrite, false, %demulFile%, main, naomiBiosAuto   ; turning auto bios off so we can use a specific one instead
      IniWrite, %Bios%, %demulFile%, main, naomiBios   ; setting specific bios user has set from the moduleName ini
   } Else
      IniWrite, true, %demulFile%, main, naomiBiosAuto   ; turning auto bios on if user did not specify a specific one

   ; This section writes your custom keys to the padDemul.ini. Naomi games had many control panel layouts. The only way we can accomodate 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.

   ; 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" )
      IniWrite, %MouseCode%, %demulFile%, PORTB, device
   Else If ( controls = "keyboard" )
      IniWrite, %KeyboardCode%, %demulFile%, PORTB, device
   Else ; accounts for all other control types
      IniWrite, %ControllerCode%, %demulFile%, PORTB, device

   LastControlUsed := If (ident = "atomiswave")?(LastControlUsedAtomiswave):(LastControlUsedNaomi)   ; find out last controls used for the system we are launching
   If ( LastControlUsed != controls ) {
      If ident = atomiswave
      {
         WriteAtomiswaveControls(padFile, 0,a_shot1_0,a_shot2_0,a_shot3_0,a_shot4_0,a_shot5_0,a_start_0,a_coin_0,a_up_0,a_down_0,a_left_0,a_right_0)
         WriteAtomiswaveControls(padFile, 1,a_shot1_1,a_shot2_1,a_shot3_1,a_shot4_1,a_shot5_1,a_start_1,a_coin_1,a_up_1,a_down_1,a_left_1,a_right_1)
         IniWrite, %controls%, %settingsFile%, Settings, LastControlUsedAtomiswave   ; write control loaded to the ini so we know what we used last for next launch
      } Else {
         WriteNaomiControls(padFile, 0,n_push1_0,n_push2_0,n_push3_0,n_push4_0,n_push5_0,n_push6_0,n_push7_0,n_push8_0,n_service_0,n_start_0,n_coin_0,n_digitalup_0,n_digitaldown_0,n_digitalleft_0,n_digitalright_0,n_analogup_0,n_analogdown_0,n_analogleft_0,n_analogright_0,n_analogup2_0,n_analogdown2_0,n_analogleft2_0,n_analogright2_0)
         WriteNaomiControls(padFile, 1,n_push1_1,n_push2_1,n_push3_1,n_push4_1,n_push5_1,n_push6_1,n_push7_1,n_push8_1,n_service_1,n_start_1,n_coin_1,n_digitalup_1,n_digitaldown_1,n_digitalleft_1,n_digitalright_1,n_analogup_1,n_analogdown_1,n_analogleft_1,n_analogright_1,n_analogup2_1,n_analogdown2_1,n_analogleft2_1,n_analogright2_1)
         IniWrite, %controls%, %settingsFile%, Settings, LastControlUsedNaomi   ; write control loaded to the ini so we know what we used last for next launch
      }
   }
}

Sleep, 250

;  Construct the CLI for demul and send romName if naomi or atomiswave. Dreamcast needs a full path and romName.
If LoadDecrypted = true   ; decrypted naomi rom
   romCLI := "-customrom=" . """" . romPath . "\" . romName . ".bin"""
Else If ident = dc   ; dreamcast game
   romCLI := " -rom=" . """" . romPath . "\" . romName . romExtension . """"
Else   ; standard naomi rom
   romCLI := "-rom=" . romName

Run(executable .  " -run=" . ident . " " . romCLI, emuPath,, emuPID)
; Sleep, 1000 ; need a second for demul to launch, increase if yours takes longer and the emu is appearing 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

If fullscreen = true
   Send !{ENTER} ; go fullscreen

FadeInExit()

If systemName contains Dreamcast,DC
   7zCleanUp()

Process("WaitClose", executable)
FadeOutExit()
ExitModule()


 ; Write new naomi controls to padDemul.ini
WriteNaomiControls(file,player,push1,push2,push3,push4,push5,push6,push7,push8,service,start,coin,digitalup,digitaldown,digitalleft,digitalright,analogup,analogdown,analogleft,analogright,analogup2,analogdown2,analogleft2,analogright2) {
   IniWrite, %push1%, %file%, JAMMA0_%player%, PUSH1
   IniWrite, %push2%, %file%, JAMMA0_%player%, PUSH2
   IniWrite, %push3%, %file%, JAMMA0_%player%, PUSH3
   IniWrite, %push4%, %file%, JAMMA0_%player%, PUSH4
   IniWrite, %push5%, %file%, JAMMA0_%player%, PUSH5
   IniWrite, %push6%, %file%, JAMMA0_%player%, PUSH6
   IniWrite, %push7%, %file%, JAMMA0_%player%, PUSH7
   IniWrite, %push8%, %file%, JAMMA0_%player%, PUSH8
   IniWrite, %service%, %file%, JAMMA0_%player%, SERVICE
   IniWrite, %start%, %file%, JAMMA0_%player%, START
   IniWrite, %coin%, %file%, JAMMA0_%player%, COIN
   IniWrite, %digitalup%, %file%, JAMMA0_%player%, DIGITALUP
   IniWrite, %digitaldown%, %file%, JAMMA0_%player%, DIGITALDOWN
   IniWrite, %digitalleft%, %file%, JAMMA0_%player%, DIGITALLEFT
   IniWrite, %digitalright%, %file%, JAMMA0_%player%, DIGITALRIGHT
   IniWrite, %analogup%, %file%, JAMMA0_%player%, ANALOGUP
   IniWrite, %analogdown%, %file%, JAMMA0_%player%, ANALOGDOWN
   IniWrite, %analogleft%, %file%, JAMMA0_%player%, ANALOGLEFT
   IniWrite, %analogright%, %file%, JAMMA0_%player%, ANALOGRIGHT
   IniWrite, %analogup2%, %file%, JAMMA0_%player%, ANALOGUP2
   IniWrite, %analogdown2%, %file%, JAMMA0_%player%, ANALOGDOWN2
   IniWrite, %analogleft2%, %file%, JAMMA0_%player%, ANALOGLEFT2
   IniWrite, %analogright2%, %file%, JAMMA0_%player%, ANALOGRIGHT2
}

 ; Write new atomiswave controls to padDemul.ini
WriteAtomiswaveControls(file,player,shot1,shot2,shot3,shot4,shot5,start,coin,up,down,left,right) {
   IniWrite, %shot1%, %file%, ATOMISWAVE0_%player%, SHOT1
   IniWrite, %shot2%, %file%, ATOMISWAVE0_%player%, SHOT2
   IniWrite, %shot3%, %file%, ATOMISWAVE0_%player%, SHOT3
   IniWrite, %shot4%, %file%, ATOMISWAVE0_%player%, SHOT4
   IniWrite, %shot5%, %file%, ATOMISWAVE0_%player%, SHOT5
   IniWrite, %start%, %file%, ATOMISWAVE0_%player%, START
   IniWrite, %coin%, %file%, ATOMISWAVE0_%player%, COIN
   IniWrite, %up%, %file%, ATOMISWAVE0_%player%, UP
   IniWrite, %down%, %file%, ATOMISWAVE0_%player%, DOWN
   IniWrite, %left%, %file%, ATOMISWAVE0_%player%, LEFT
   IniWrite, %right%, %file%, ATOMISWAVE0_%player%, RIGHT
}

CloseProcess:
   FadeOutStart()
   If fadeOut = true   ; cannot send ALT+F4 to a background window (controlsend doesn't work), so we have to force close instead.
      Process("Close", emuPID) ; we have to close this way otherwise demul crashes with WinClose
   Else
      Send, !{F4}
Return
Si quelqu'un peut me venir en aide.

4
Hyperspin / Hyperspin + Demul + Shmup vertical
« le: Samedi 19 Juillet 2014, 16:08:23 pm »
Bonjour, j'ai besoin de votre aide sur Demul 0.56. Impossible de le lancer depuis Hyerspin ou Hyperlanuch.
Message d'erreur
AutoHotkey.dll
---------------------------
Error:  Call to nonexistent function.

Specifically: StartModule()

   Line#
   063: MURL = http://demul.emulation64.com/
   064: MAuthor = djvj
   065: MVersion = 2.0.2
   066: MCRC = 6A989154
   067: iCRC = 5C9B9311
   068: MID = 635038268881325110
   069: MSystem = "Sammy Atomiswave","Sega Dreamcast","Sega Naomi"
--->   099: StartModule() 
   100: FadeInStart() 
   103: mType := Object("Sammy Atomiswave","atomiswave","Sega Dreamcast","dc","Sega Naomi","naomi")
   104: ident := mType[systemName]
   105: if !ident 
   106: ScriptError("Your systemName is: " . Demul. "
It is not one of the known supported systems for this MESS module: " . moduleName) 
   108: settingsFile := modulePath . "\" . moduleName . ".ini"
   109: demulFile := CheckFile(emuPath . "\Demul.ini")
The program will exit.

Mon fichier AHK:
MEmu = Demul
MEmuV =  v0.5.6
MURL = http://demul.emulation64.com/
MAuthor = djvj
MVersion = 2.0.2
MCRC = 6A989154
iCRC = 5C9B9311
MID = 635038268881325110
MSystem = "Sammy Atomiswave","Sega Dreamcast","Sega Naomi"
;----------------------------------------------------------------------------
; Notes:
; Required - control and nvram files can be found in my user dir on the FTP at /Upload Here/djvj/Sega Naomi\Emulators. Additonal instructions from my orignal HL1.0 script at http://www.hyperspin-fe.com/forum/showpost.php?p=86093&postcount=104
; Required - moduleName ini: can be found in my user dir on the FTP at /Upload Here/djvj/Sega Naomi\Modules\Sega Naomi
; moduleName ini must be placed in same folder as this module
; GDI images must match mame zip names and be extracted and have a .dat extension
; Rom_Extension should be zip
;
; Place the naomi.zip bios archive in the demul\roms subdir
; 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
;
; Controls:
; Start a game of each control type (look in the moduleName ini for these types) and configure your controls to play the game. Copy paste the JAMMA0_0 and JAMMA0_1 (for naomi) or the ATOMISWAVE0_0 and ATOMISWAVE0_1 (for atomiswave) sections into the moduleName ini under the matching controls section.
;
; Sega Dreamcast:
; This script supports the following DC images: GDI, CDI, CHD, MDS, CCD, NRG, CUE
; Place your dc.zip bios in the roms subdir of your emu
; Run demul manually and goto Config->Plugins->GD-ROM Plugin and set it to gdrImage
; Set your Video Plugin to gpuOglv3
; On first run of a game, demul will ask you to setup all your plugin choices if you haven't already.
; If you want to convert your roms from gdi to chd, see here: http://www.emutalk.net/showthread.php?t=51502
; FileDelete(s) are in the script because sometimes demul will corrupt the ini and make it crash. The script recreates a clean ini for you.
;
; Troubleshooting:
; For some reason demul's ini files can get corrupted and ahk can't read/write to them correctly.
; If your ini keys are not being read or not writing to their existing keys in the demul inis, create a new file and copy/paste everything from the old ini into the new one and save.
; If you use Fade_Out, the module will force close demul because you cannot send ALT+F4 to demul if another GUI is covering it. Otherwise demul should close cleanly when Fade_Out is disabled. I suggest keeping Fade_Out disabled if you use this emu.
;----------------------------------------------------------------------------
StartModule()
FadeInStart()

; This object controls how the module reacts to different systems. Demul can play a few systems, but needs to know what system you want to run, so this module has to adapt.
mType := Object("Sammy Atomiswave","atomiswave","Sega Dreamcast","dc","Sega Naomi","naomi")
ident := mType[systemName]   ; search object for the systemName identifier MESS uses
If !ident
   ScriptError("Your systemName is: " . Demul. "`nIt is not one of the known supported systems for this MESS module: " . moduleName)

settingsFile := modulePath . "\" . moduleName . ".ini"
demulFile := CheckFile(emuPath . "\Demul.ini")
padFile := CheckFile(emuPath . "\padDemul.ini")

controls := IniReadCheck(settingsFile, romname, "controls","standard",,1)   ; have to read this first so the below loop works

; Read all the keys from the moduleName ini. Format is:
; Section, Key, Default Value, unique var
iniLookup =
( ltrim c
   Settings, Fullscreen, true
   Settings, ControllerCode, 16777216
   Settings, MouseCode, 131072
   Settings, KeyboardCode, 1073741824
   Settings, LightgunCode, -2147483648
   Settings, LastControlUsedNaomi, standard
   Settings, LastControlUsedAtomiswave, standard
   Settings, GlobalShaderEffects, false
   Settings, GlobalShaderName
   Settings, GlobalShaderMode
   %romName%, LoadDecrypted
   %romName%, Bios
   %romName%, ShaderEffects
   %romName%, ShaderName
   %romName%, ShaderMode
   %controls%_JAMMA0_0, push1,,n_push1_0
   %controls%_JAMMA0_0, push2,,n_push2_0
   %controls%_JAMMA0_0, push3,,n_push3_0
   %controls%_JAMMA0_0, push4,,n_push4_0
   %controls%_JAMMA0_0, push5,,n_push5_0
   %controls%_JAMMA0_0, push6,,n_push6_0
   %controls%_JAMMA0_0, push7,,n_push7_0
   %controls%_JAMMA0_0, push8,,n_push8_0
   %controls%_JAMMA0_0, SERVICE,,n_service_0
   %controls%_JAMMA0_0, START,,n_start_0
   %controls%_JAMMA0_0, COIN,,n_coin_0
   %controls%_JAMMA0_0, DIGITALUP,,n_digitalup_0
   %controls%_JAMMA0_0, DIGITALDOWN,,n_digitaldown_0
   %controls%_JAMMA0_0, DIGITALLEFT,,n_digitalleft_0
   %controls%_JAMMA0_0, DIGITALRIGHT,,n_digitalright_0
   %controls%_JAMMA0_0, ANALOGUP,,n_analogup_0
   %controls%_JAMMA0_0, ANALOGDOWN,,n_analogdown_0
   %controls%_JAMMA0_0, ANALOGLEFT,,n_analogleft_0
   %controls%_JAMMA0_0, ANALOGRIGHT,,n_analogright_0
   %controls%_JAMMA0_0, ANALOGUP2,,n_analogup2_0
   %controls%_JAMMA0_0, ANALOGDOWN2,,n_analogdown2_0
   %controls%_JAMMA0_0, ANALOGLEFT2,,n_analogleft2_0
   %controls%_JAMMA0_0, ANALOGRIGHT2,,n_analogright2_0
   %controls%_JAMMA0_1, push1,,n_push1_1
   %controls%_JAMMA0_1, push2,,n_push2_1
   %controls%_JAMMA0_1, push3,,n_push3_1
   %controls%_JAMMA0_1, push4,,n_push4_1
   %controls%_JAMMA0_1, push5,,n_push5_1
   %controls%_JAMMA0_1, push6,,n_push6_1
   %controls%_JAMMA0_1, push7,,n_push7_1
   %controls%_JAMMA0_1, push8,,n_push8_1
   %controls%_JAMMA0_1, SERVICE,,n_service_1
   %controls%_JAMMA0_1, START,,n_start_1
   %controls%_JAMMA0_1, COIN,,n_coin_1
   %controls%_JAMMA0_1, DIGITALUP,,n_digitalup_1
   %controls%_JAMMA0_1, DIGITALDOWN,,n_digitaldown_1
   %controls%_JAMMA0_1, DIGITALLEFT,,n_digitalleft_1
   %controls%_JAMMA0_1, DIGITALRIGHT,,n_digitalright_1
   %controls%_JAMMA0_1, ANALOGUP,,n_analogup_1
   %controls%_JAMMA0_1, ANALOGDOWN,,n_analogdown_1
   %controls%_JAMMA0_1, ANALOGLEFT,,n_analogleft_1
   %controls%_JAMMA0_1, ANALOGRIGHT,,n_analogright_1
   %controls%_JAMMA0_1, ANALOGUP2,,n_analogup2_1
   %controls%_JAMMA0_1, ANALOGDOWN2,,n_analogdown2_1
   %controls%_JAMMA0_1, ANALOGLEFT2,,n_analogleft2_1
   %controls%_JAMMA0_1, ANALOGRIGHT2,,n_analogright2_1
   %controls%_ATOMISWAVE0_0, UP,,a_up_0
   %controls%_ATOMISWAVE0_0, DOWN,,a_down_0
   %controls%_ATOMISWAVE0_0, LEFT,,a_left_0
   %controls%_ATOMISWAVE0_0, RIGHT,,a_right_0
   %controls%_ATOMISWAVE0_0, SHOT1,,a_shot1_0
   %controls%_ATOMISWAVE0_0, SHOT2,,a_shot2_0
   %controls%_ATOMISWAVE0_0, SHOT3,,a_shot3_0
   %controls%_ATOMISWAVE0_0, SHOT4,,a_shot4_0
   %controls%_ATOMISWAVE0_0, SHOT5,,a_shot5_0
   %controls%_ATOMISWAVE0_0, START,,a_start_0
   %controls%_ATOMISWAVE0_0, COIN,,a_coin_0
   %controls%_ATOMISWAVE0_1, UP,,a_up_1
   %controls%_ATOMISWAVE0_1, DOWN,,a_down_1
   %controls%_ATOMISWAVE0_1, LEFT,,a_left_1
   %controls%_ATOMISWAVE0_1, RIGHT,,a_right_1
   %controls%_ATOMISWAVE0_1, SHOT1,,a_shot1_1
   %controls%_ATOMISWAVE0_1, SHOT2,,a_shot2_1
   %controls%_ATOMISWAVE0_1, SHOT3,,a_shot3_1
   %controls%_ATOMISWAVE0_1, SHOT4,,a_shot4_1
   %controls%_ATOMISWAVE0_1, SHOT5,,a_shot5_1
   %controls%_ATOMISWAVE0_1, START,,a_start_1
   %controls%_ATOMISWAVE0_1, COIN,,a_coin_1
)
Loop, Parse, iniLookup, `n
{
   StringSplit, split, A_LoopField, `,, %A_Space%%A_Tab%
   If split4
      %split4% := IniReadCheck(settingsFile, split1, split2,split3,,1)
   Else
      %split2% := IniReadCheck(settingsFile, split1, split2,split3,,1)
   ; need to empty the vars for the next loop otherwise they will still have values from the previous loop
   split3:=
   split4:=
}

; Now compare global & rom keys to get final value
shaderEffects := If (ShaderEffects = "" or ShaderEffects = "ERROR") ? GlobalShaderEffects : ShaderEffects
shaderName := If (ShaderName = "" or ShaderName = "ERROR") ? GlobalShaderName : ShaderName
shaderMode := If (ShaderMode = "" ShaderMode = "ERROR") ? GlobalShaderMode : ShaderMode

 ; Shader Effects
gpuOglv3File := CheckFile(emuPath . "\gpuOglv3.ini","Shaders are only supported using the gpuOglv3 plugin. Cannot find " . emuPath . "\gpuOglv3.ini")
IniRead, currentShaderValue, %gpuOglv3File%, shader, effects
If shaderEffects = true
{
   shaderPath := emupath . "\shaders"   ; define the path to the shaders
   CheckFile(shaderPath . "\" . shaderName . ".slf")   ; make sure the shader exists
   If currentShaderValue = false
      IniWrite, true, %gpuOglv3File%, shader, effects
   IniWrite, %shaderMode%, %gpuOglv3File%, shader, mode
   IniWrite, %shaderPath%, %gpuOglv3File%, shader, path
   IniWrite, %shaderName%, %gpuOglv3File%, shader, name
}Else If ( shaderEffects != "true" and currentShaderValue = "true" )
   IniWrite, false, %gpuOglv3File%, shader, effects

If ident = dc
{
   7z(romPath, romName, romExtension, 7zExtractPath)
   If ( romExtension = ".cdi" || romExtension = ".mds" || romExtension = ".ccd" || romExtension = ".nrg" || romExtension = ".gdi" || romExtension = ".cue" ) {
      gdrImageFile := CheckFile(emuPath . "\gdrImage.ini")
      FileDelete, %gdrImageFile%
      Sleep, 500
      IniWrite, gdrImage.dll, %demulFile%, plugins, gdr
      IniWrite, false, %gdrImageFile%, Main, openDialog
      IniWrite, %romPath%\%romName%%romExtension%, %gdrImageFile%, Main, imagefilename
   } Else If romExtension = .chd
   {
      gdrCHDFile := CheckFile(emuPath . "\gdrCHD.ini")
      FileDelete, %gdrCHDFile%
      Sleep, 500
      IniWrite, false, %gdrCHDFile%, Main, openDialog
      IniWrite, gdrCHD.dll, %demulFile%, plugins, gdr
      IniWrite, %romPath%\%romName%%romExtension%, %gdrCHDFile%, Main, imagefilename
   } Else
      ScriptError(romExtension . " is not a supported file type for this " . moduleName . " module.")

   IniWrite, 1, %demulFile%, main, region ; Set BIOS to Auto Region

} Else {   ; all other systems, Naomi and Atomiswave
   ; This updates the demul.ini with your Bios choice for the selected rom
   If ( Bios != "" and Bios != "ERROR" ) {
      Bios := RegExReplace(Bios,"\s.*")   ; Cleans off the added text from the key's value so only the number is left
      IniWrite, false, %demulFile%, main, naomiBiosAuto   ; turning auto bios off so we can use a specific one instead
      IniWrite, %Bios%, %demulFile%, main, naomiBios   ; setting specific bios user has set from the moduleName ini
   } Else
      IniWrite, true, %demulFile%, main, naomiBiosAuto   ; turning auto bios on if user did not specify a specific one

   ; This section writes your custom keys to the padDemul.ini. Naomi games had many control panel layouts. The only way we can accomodate 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.

   ; 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" )
      IniWrite, %MouseCode%, %demulFile%, PORTB, device
   Else If ( controls = "keyboard" )
      IniWrite, %KeyboardCode%, %demulFile%, PORTB, device
   Else ; accounts for all other control types
      IniWrite, %ControllerCode%, %demulFile%, PORTB, device

   LastControlUsed := If (ident = "atomiswave")?(LastControlUsedAtomiswave):(LastControlUsedNaomi)   ; find out last controls used for the system we are launching
   If ( LastControlUsed != controls ) {
      If ident = atomiswave
      {
         WriteAtomiswaveControls(padFile, 0,a_shot1_0,a_shot2_0,a_shot3_0,a_shot4_0,a_shot5_0,a_start_0,a_coin_0,a_up_0,a_down_0,a_left_0,a_right_0)
         WriteAtomiswaveControls(padFile, 1,a_shot1_1,a_shot2_1,a_shot3_1,a_shot4_1,a_shot5_1,a_start_1,a_coin_1,a_up_1,a_down_1,a_left_1,a_right_1)
         IniWrite, %controls%, %settingsFile%, Settings, LastControlUsedAtomiswave   ; write control loaded to the ini so we know what we used last for next launch
      } Else {
         WriteNaomiControls(padFile, 0,n_push1_0,n_push2_0,n_push3_0,n_push4_0,n_push5_0,n_push6_0,n_push7_0,n_push8_0,n_service_0,n_start_0,n_coin_0,n_digitalup_0,n_digitaldown_0,n_digitalleft_0,n_digitalright_0,n_analogup_0,n_analogdown_0,n_analogleft_0,n_analogright_0,n_analogup2_0,n_analogdown2_0,n_analogleft2_0,n_analogright2_0)
         WriteNaomiControls(padFile, 1,n_push1_1,n_push2_1,n_push3_1,n_push4_1,n_push5_1,n_push6_1,n_push7_1,n_push8_1,n_service_1,n_start_1,n_coin_1,n_digitalup_1,n_digitaldown_1,n_digitalleft_1,n_digitalright_1,n_analogup_1,n_analogdown_1,n_analogleft_1,n_analogright_1,n_analogup2_1,n_analogdown2_1,n_analogleft2_1,n_analogright2_1)
         IniWrite, %controls%, %settingsFile%, Settings, LastControlUsedNaomi   ; write control loaded to the ini so we know what we used last for next launch
      }
   }
}

Sleep, 250

;  Construct the CLI for demul and send romName if naomi or atomiswave. Dreamcast needs a full path and romName.
If LoadDecrypted = true   ; decrypted naomi rom
   romCLI := "-customrom=" . """" . romPath . "\" . romName . ".bin"""
Else If ident = dc   ; dreamcast game
   romCLI := " -rom=" . """" . romPath . "\" . romName . romExtension . """"
Else   ; standard naomi rom
   romCLI := "-rom=" . romName

Run(executable .  " -run=" . ident . " " . romCLI, emuPath,, emuPID)
; Sleep, 1000 ; need a second for demul to launch, increase if yours takes longer and the emu is appearing 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

If fullscreen = true
   Send !{ENTER} ; go fullscreen

FadeInExit()

If systemName contains Dreamcast,DC
   7zCleanUp()

Process("WaitClose", executable)
FadeOutExit()
ExitModule()


 ; Write new naomi controls to padDemul.ini
WriteNaomiControls(file,player,push1,push2,push3,push4,push5,push6,push7,push8,service,start,coin,digitalup,digitaldown,digitalleft,digitalright,analogup,analogdown,analogleft,analogright,analogup2,analogdown2,analogleft2,analogright2) {
   IniWrite, %push1%, %file%, JAMMA0_%player%, PUSH1
   IniWrite, %push2%, %file%, JAMMA0_%player%, PUSH2
   IniWrite, %push3%, %file%, JAMMA0_%player%, PUSH3
   IniWrite, %push4%, %file%, JAMMA0_%player%, PUSH4
   IniWrite, %push5%, %file%, JAMMA0_%player%, PUSH5
   IniWrite, %push6%, %file%, JAMMA0_%player%, PUSH6
   IniWrite, %push7%, %file%, JAMMA0_%player%, PUSH7
   IniWrite, %push8%, %file%, JAMMA0_%player%, PUSH8
   IniWrite, %service%, %file%, JAMMA0_%player%, SERVICE
   IniWrite, %start%, %file%, JAMMA0_%player%, START
   IniWrite, %coin%, %file%, JAMMA0_%player%, COIN
   IniWrite, %digitalup%, %file%, JAMMA0_%player%, DIGITALUP
   IniWrite, %digitaldown%, %file%, JAMMA0_%player%, DIGITALDOWN
   IniWrite, %digitalleft%, %file%, JAMMA0_%player%, DIGITALLEFT
   IniWrite, %digitalright%, %file%, JAMMA0_%player%, DIGITALRIGHT
   IniWrite, %analogup%, %file%, JAMMA0_%player%, ANALOGUP
   IniWrite, %analogdown%, %file%, JAMMA0_%player%, ANALOGDOWN
   IniWrite, %analogleft%, %file%, JAMMA0_%player%, ANALOGLEFT
   IniWrite, %analogright%, %file%, JAMMA0_%player%, ANALOGRIGHT
   IniWrite, %analogup2%, %file%, JAMMA0_%player%, ANALOGUP2
   IniWrite, %analogdown2%, %file%, JAMMA0_%player%, ANALOGDOWN2
   IniWrite, %analogleft2%, %file%, JAMMA0_%player%, ANALOGLEFT2
   IniWrite, %analogright2%, %file%, JAMMA0_%player%, ANALOGRIGHT2
}

 ; Write new atomiswave controls to padDemul.ini
WriteAtomiswaveControls(file,player,shot1,shot2,shot3,shot4,shot5,start,coin,up,down,left,right) {
   IniWrite, %shot1%, %file%, ATOMISWAVE0_%player%, SHOT1
   IniWrite, %shot2%, %file%, ATOMISWAVE0_%player%, SHOT2
   IniWrite, %shot3%, %file%, ATOMISWAVE0_%player%, SHOT3
   IniWrite, %shot4%, %file%, ATOMISWAVE0_%player%, SHOT4
   IniWrite, %shot5%, %file%, ATOMISWAVE0_%player%, SHOT5
   IniWrite, %start%, %file%, ATOMISWAVE0_%player%, START
   IniWrite, %coin%, %file%, ATOMISWAVE0_%player%, COIN
   IniWrite, %up%, %file%, ATOMISWAVE0_%player%, UP
   IniWrite, %down%, %file%, ATOMISWAVE0_%player%, DOWN
   IniWrite, %left%, %file%, ATOMISWAVE0_%player%, LEFT
   IniWrite, %right%, %file%, ATOMISWAVE0_%player%, RIGHT
}

CloseProcess:
   FadeOutStart()
   If fadeOut = true   ; cannot send ALT+F4 to a background window (controlsend doesn't work), so we have to force close instead.
      Process("Close", emuPID) ; we have to close this way otherwise demul crashes with WinClose
   Else
      Send, !{F4}
Return
Si quelqu'un peut me venir en aide.

5
Hardcade / Hardcade Frontend - Topic de lancement , Support général...
« le: Samedi 19 Juillet 2014, 15:05:07 pm »
Oui ce serait pas mal de pouvoir positionner le pochette de jeu ou on veut.Reste à savoir l'intégration d'autres émulateurs comme Naomi,Atomise, PS2, Cave, Wii, Taito Type X etc...

6
Hardcade / Hardcade Frontend - Topic de lancement , Support général...
« le: Samedi 19 Juillet 2014, 11:50:33 am »
Bonjour, effectivement le codec n'était pas bon  ;D. Merci pou ton aide  ^-^. J'ai encore deux questions: Avoir la musique des vidéos et désactiver celle de l'interface et avoir les jaquettes des jeux mais sans qu'elles prennent trop de place.

7
Hardcade / Hardcade Frontend - Topic de lancement , Support général...
« le: Vendredi 18 Juillet 2014, 14:20:07 pm »
C'est ce que j'ai fait. Le même nom. J'ai mis avi et .avi dans la configuration Hardcade mais aucun résultat.

8
Hardcade / Hardcade Frontend - Topic de lancement , Support général...
« le: Jeudi 17 Juillet 2014, 21:07:08 pm »
J'ai essayé la même config mais ça ne fonctionne pas. il faut mettre les vidéos dans un endroit en particulier? Dans la config Hardcade l'extention doit être en avi, .avi ou autre.

9
Hardcade / Hardcade Frontend - Topic de lancement , Support général...
« le: Jeudi 17 Juillet 2014, 12:44:48 pm »
Bonjour, je cherche à mettre des vidéos pour Hardcade mais impossible de le faire malgré le fait d'avoir converti les vidéos dans tous les formats et dans toutes les tailles. Y-a t-il un format,codec...et sur quel logiciel. J'ai lu sur ce forum un passage sur le format mais ça ne passe as chez moi.

Pages: [1]