Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:


Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-


Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum

Tasto hotkey uscita emu + autoit + windows 10

Frontend per cabinati... chi, cosa, come!!!
Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

primo post modificato. ci sono aggiornamenti.
Avatar utente
alucard

Donatore
Affezionato
Affezionato
Messaggi: 279
Iscritto il: 02/12/2017, 16:19
Medaglie: 1
Città: MotherEarth
Grazie Inviati: 5 volte
Grazie Ricevuti: 15 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da alucard »

Questo post è un mutaforma :-)

Visto che hai deciso di buttarti su Autoit per la parte batch, questo è quello che metto io nella configurazione dell'emulatore che ne fa uso

Codice: Seleziona tutto

...
executable      "C:\Program Files (x86)\AutoIt3\AutoIt3_x64.exe"
args            "[romfilename]"
romext          .au3
...
Di base Attract passa la palla al processo, e al termine del processo a cui ha passato la palla (non ad un suo delegato questo è importante) ritorna in primo piano. Quindi in generale lo script Autoit deve essere redatto in modo tale da rimanere vivo fino alla fine dei processi che lancia.

Ora mi guardo il tuo script e vedo di capire cosa non sta andando
Avatar utente
alucard

Donatore
Affezionato
Affezionato
Messaggi: 279
Iscritto il: 02/12/2017, 16:19
Medaglie: 1
Città: MotherEarth
Grazie Inviati: 5 volte
Grazie Ricevuti: 15 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da alucard »

_Gioacchino_ ha scritto: 07/04/2020, 22:28 Salve a tutti, sono riuscito a scrivere sto script su autoit e ad compilarlo. funziona per funzionare.

il problema è che non ne vuole sapere di partire in automatico all' avvio di windows / pc. sto uscendo pazzo, dove sbaglio?
...
A cosa ti serve farlo partire all'avvio di Windows? Per avere un monitor sempre attivo, tale che alla pressione di quella combinazione di tasti esegue quella catena di chiusure? Fossi in te farei uno script generico che lancia un gioco demul (parametro ricevuto da Attract) che rimane poi in attesa di quella combinazione. Chiaro che lo userai solo per i giochi interessati.

Altra curiosità. _IsPressed è una funzione che hai se includi la direttiva "#include <Misc.au3>", perché usare uno pseudo codice sorgente di quella funzione?
Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

alucard ha scritto: 11/04/2020, 17:57 A cosa ti serve farlo partire all'avvio di Windows? Per avere un monitor sempre attivo, tale che alla pressione di quella combinazione di tasti esegue quella catena di chiusure? Fossi in te farei uno script generico che lancia un gioco demul (parametro ricevuto da Attract) che rimane poi in attesa di quella combinazione. Chiaro che lo userai solo per i giochi interessati.
io ho fatto cosi: (per il momento solo su piattaforma naomi):

1) ho copiato il file di conf dell' emulatore per poter lanciare solo giochi light gun : naomi.cfg >>> naomi_lightgun.cfg

2)aperto naomi_lightgun, ho eliminato demul come eseguibile ed ho sostituito con cmd. questo emulatore lancerà i file bat per ogni gioco lightgun
(si ho creato ogni file bat per ogni rom lightgun)

3) ogni file .bat contiene due linee: una per far partire demul col nome gioco e una fa partire demul (tutti e due col nome rom per esatto e non come argomento da attract)

4)per ritornare dall' emulatore ad attract dovrebbe lavorare sto script, ma al momento funziona quando gli pare, vedi seconda risposta

5)ovviamente ho editato la romlist naomi, dove punto i giochi lightgun con naomi_lightgun.


mi piacerebbe seguire cosa tu hai scritto, come posso passare come argomento il nome della rom?

dichiarando una variabile? tipo $rom = [romname] ad inizio script??


alucard ha scritto: 11/04/2020, 17:57 Altra curiosità. _IsPressed è una funzione che hai se includi la direttiva "#include <Misc.au3>", perché usare uno pseudo codice sorgente di quella funzione?
ora la includo e lo ricompilo, cosa strana è che naomi_lightgun l'ho lasciato senza hotkey per chiudere l'emutore e mi chiude lo stesso gli emulatori con la combo select + start p1 (combo che impostato in tutti gli emulatori su attract mode).

puo' essere che lo script si prende a caso qualunque tasto per soddisfare sta combo?

poi passano dei minuti e la combo non funziona più, funziona la combo script alt + d.

ripeto passare per argomento la romname non è male, cosi mi eviti anche di installare roba in piu tipo joytokey.

grazie tante per il supporto
Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

allora ho trovato questa libreria da includere per lavorare direttamente col joypad senza utilizzare joytokey

https://www.autoitscript.com/forum/topi ... padex-udf/

qui ho provato ad aggiornare il codice ma non funziona ovviamente

Codice: Seleziona tutto

#RequireAdmin
#include <Misc.au3>
#include <GamePadEx.au3>

Sleep (1500)

Global $myGamePadHandle = GPExInitialize() ; Get a handle. This doesn't have to be global but needs to be passed to all the other functions.
Global $myID = 0 ; We want to monitor the default GamePad

While 1
	Sleep(10)
	$pressedbutton = GPExGetPressed($myGamePadHandle, $myID)
	$pressedbutton2 = GPExGetPressed($myGamePadHandle, $myID)
	if $pressedbutton= GPExButton(9) and $pressedbutton2 = GPExButton(10) and ProcessExists("DemulShooter.exe") Then
		ProcessClose ( "demul.exe" )
		ProcessClose ( "DemulShooter.exe" )
	EndIf
WEnd
Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

nel mentre lavoro alla parte del lancio emulatore
Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

riesco a chiudere demul e demulshooter con la combinazione dei tasti dei pulsanti senza utilizzo di joytokey :)

Codice: Seleziona tutto

#RequireAdmin
#include <Misc.au3>
#include <GamePadEx.au3>
Sleep (100)
Global $myGamePadHandle = GPExInitialize() ; Get a handle. This doesn't have to be global but needs to be passed to all the other functions.
Global $myID = 0 ; We want to monitor the default GamePad

While 1
	Sleep(10)
	$testrawdata = GPExGetRawData($myGamePadHandle, $myID) ; Get almost every data possible from the gamepad. Returns in an array with 8 elements.
	if $testrawdata[7]= (768) and ProcessExists("DemulShooter.exe") Then
		ProcessClose ( "demul.exe" )
		ProcessClose ( "DemulShooter.exe" )
	EndIf
WEnd
qual' è la sintassi per passare il nome rom come argomento per la riga di comando?

Codice: Seleziona tutto

$romname=name
Run ("C:\Users\marie\Downloads\demul07a_221215\demul.exe -$romname")
Avatar utente
alucard

Donatore
Affezionato
Affezionato
Messaggi: 279
Iscritto il: 02/12/2017, 16:19
Medaglie: 1
Città: MotherEarth
Grazie Inviati: 5 volte
Grazie Ricevuti: 15 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da alucard »

_Gioacchino_ ha scritto: 13/04/2020, 18:14
qual' è la sintassi per passare il nome rom come argomento per la riga di comando?

Codice: Seleziona tutto

$romname=name
Run ("C:\Users\marie\Downloads\demul07a_221215\demul.exe -$romname")
Non credo riesca a sostituire il valore della variabile in quel modo. Penso sia

Codice: Seleziona tutto

RunWait ("C:\Users\marie\Downloads\demul07a_221215\demul.exe -" & $romname)
nell'esempio ho usato inoltre RunWait, così il processo rimane in attesa del termine del gioco
Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

alucard ha scritto: 13/04/2020, 19:30 nell'esempio ho usato inoltre RunWait, così il processo rimane in attesa del termine del gioco
per quanto riguarda demulshooter?

Codice: Seleziona tutto

RunWait ("C:\Users\marie\Downloads\demul07a_221215\DemulShooter.exe" -target=demul07a -rom=$romname -noresize -widescreen -v)
corretto così?
Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

buondì, ad oggi:

codice emulatore naomi lightgun

Codice: Seleziona tutto

# Generated by Attract-Mode v2.6.1
#
executable           C:\Cabinato\Utility\naomi_loader.exe
args                 "[romfilename]"
rompath              C:\Cabinato\Rom\Sega Naomi
romext               .zip
system               Sega Naomi
info_source          thegamesdb.net
exit_hotkey          
artwork    marquee         C:\Cabinato\Rom\Sega Naomi\Logos
artwork    snap            C:\Cabinato\Rom\Sega Naomi\Video_MP4_HI_QUAL
artwork    wheel           C:\Cabinato\Rom\Sega Naomi\Logos
codice emulatore atomiswave lightgun

Codice: Seleziona tutto

# Generated by Attract-Mode v2.6.1
#
executable           C:\Cabinato\Utility\sammy_loader.exe
args                 "[romfilename]"
rompath              C:\Cabinato\Rom\Sammy Atomiswave
romext               .zip
system               Sammy Atomiswave
info_source          thegamesdb.net
exit_hotkey 
artwork    marquee         C:\Cabinato\Rom\Sammy Atomiswave\Logos
artwork    snap            C:\Cabinato\Rom\Sammy Atomiswave\Snap
artwork    wheel           C:\Cabinato\Rom\Sammy Atomiswave\wheel
naomi loader

Codice: Seleziona tutto

#RequireAdmin
#include <Misc.au3>
#include <GamePadEx.au3>
Sleep (100)
Global $myGamePadHandle = GPExInitialize() ; Get a handle. This doesn't have to be global but needs to be passed to all the other functions.
Global $myID = 0 ; We want to monitor the default GamePad
RunWait ("C:\Cabinato\Emulatori\demul07a_221215\demul.exe -run=naomi -rom=romfilename")
RunWait ("C:\Cabinato\Emulatori\demul07a_221215\DemulShooter.exe -target=demul07a -rom=romfilename -noresize -widescreen -v")


While 1
	Sleep(10)
	$testrawdata = GPExGetRawData($myGamePadHandle, $myID) ; Get almost every data possible from the gamepad. Returns in an array with 8 elements.
	if $testrawdata[7]= (768) and ProcessExists("DemulShooter.exe") Then
		ProcessClose ( "demul.exe" )
		ProcessClose ( "DemulShooter.exe" )
		Exit
	EndIf
WEnd
sammy loader

Codice: Seleziona tutto

#RequireAdmin
#include <Misc.au3>
#include <GamePadEx.au3>
Sleep (100)
Global $myGamePadHandle = GPExInitialize() ; Get a handle. This doesn't have to be global but needs to be passed to all the other functions.
Global $myID = 0 ; We want to monitor the default GamePad
RunWait ("C:\Cabinato\Emulatori\demul07a_221215\demul.exe -run=awave -rom=romfilename")
RunWait ("C:\Cabinato\Emulatori\demul07a_221215\DemulShooter.exe -target=demul07a -rom=romfilename -noresize -widescreen -v")


While 1
	Sleep(10)
	$testrawdata = GPExGetRawData($myGamePadHandle, $myID) ; Get almost every data possible from the gamepad. Returns in an array with 8 elements.
	if $testrawdata[7]= (768) and ProcessExists("DemulShooter.exe") Then
		ProcessClose ( "demul.exe" )
		ProcessClose ( "DemulShooter.exe" )
		Exit
	EndIf
WEnd
naomi
rom non-lighgun che lightgun vengono eseguite ok!
demulshooter non risulta eseguito, non spunta vicino l' orologio di sistema
lo script compilato non spunta vicino l' orologio di sistema

atomiswave
rom non-lightgun tutto ok / rom lightgun NON PARTONO
demulshooter non risulta eseguito, non spunta vicino l' orologio di sistema
lo script compilato non spunta vicino l' orologio di sistema

c'è qualche cosa che non va nel lanciare demul e il tool per le lightgun ....
Avatar utente
alucard

Donatore
Affezionato
Affezionato
Messaggi: 279
Iscritto il: 02/12/2017, 16:19
Medaglie: 1
Città: MotherEarth
Grazie Inviati: 5 volte
Grazie Ricevuti: 15 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da alucard »

L’impressione che ho è che le variabili dei Run non siano interpretate correttamente.

Dovresti comporre la stringa complessiva, come concatenazione di parti costanti e di variabili, prendendo spunto da quello che ti avevo postato.

Lo script una volta compilato, prova ad usarlo da linea di comando, così metti da parte Attract fino a quando non funziona bene
Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

alucard ha scritto: 11/04/2020, 17:40 Questo post è un mutaforma :-)

Visto che hai deciso di buttarti su Autoit per la parte batch, questo è quello che metto io nella configurazione dell'emulatore che ne fa uso

Codice: Seleziona tutto

...
executable      "C:\Program Files (x86)\AutoIt3\AutoIt3_x64.exe"
args            "[romfilename]"
romext          .au3
...
Di base Attract passa la palla al processo, e al termine del processo a cui ha passato la palla (non ad un suo delegato questo è importante) ritorna in primo piano. Quindi in generale lo script Autoit deve essere redatto in modo tale da rimanere vivo fino alla fine dei processi che lancia.

Ora mi guardo il tuo script e vedo di capire cosa non sta andando
lo script lo si deve passare col sorgente in .au3 o compilato?
Avatar utente
alucard

Donatore
Affezionato
Affezionato
Messaggi: 279
Iscritto il: 02/12/2017, 16:19
Medaglie: 1
Città: MotherEarth
Grazie Inviati: 5 volte
Grazie Ricevuti: 15 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da alucard »

Quello è un esempio di come passare ad Autoit uno script da eseguire.

Tu lo script lo hai compilato e passi allo script il nome della rom.

Sono due diversi casi d’uso. Vanno bene entrambi, ma quello che ti dicevo prima è solo di sistemare e testare lo script da linea di comando
Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

Le sto provando tutte ma in tutti e due gli script riesco solo a caricare demul per naomi
Sto impazzendo.

Mi sa che ritorno a caricare demul e demulshooter via Bat e carico al boot lo script , tanto i giochi lightgun sono pochi, vediamo un po'.

Inviato dal mio Pixel 3a utilizzando Tapatalk

Avatar utente
alucard

Donatore
Affezionato
Affezionato
Messaggi: 279
Iscritto il: 02/12/2017, 16:19
Medaglie: 1
Città: MotherEarth
Grazie Inviati: 5 volte
Grazie Ricevuti: 15 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da alucard »

Rimani in questa modalità, non cambiare.

I tuoi script ora includono tutto. Quindi anche la parte che rimane in attesa della chiusura.
Devi usare Run anziché i RunWait con quello script tutto in uno, perché è il ciclo while che rimarrà implicitamente in attesa.

Inoltre non ho capito quella romname come arriva in ingresso
Avatar utente
alucard

Donatore
Affezionato
Affezionato
Messaggi: 279
Iscritto il: 02/12/2017, 16:19
Medaglie: 1
Città: MotherEarth
Grazie Inviati: 5 volte
Grazie Ricevuti: 15 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da alucard »

Considera che i parametri che arrivano in ingresso ad uno script Autoit, li prelevi nello script con una sintassi del tipo

Codice: Seleziona tutto

$CmdLine[1]
$CmdLine[2]
...
Puoi usarlo direttamente oppure assegnarlo ad una variabile e poi usare la variabile.
Prova così. Ho aggiunto anche il logging, così puoi tracciare quello che vuoi nel file launcher.log
Chiaro che non l'ho provato, quindi potrebbe servire qualche aggiustamento

Codice: Seleziona tutto

#RequireAdmin
#include <Misc.au3>
#include <GamePadEx.au3>
#include <File.au3>

Sleep (100)
Global $myGamePadHandle = GPExInitialize() ; Get a handle. This doesn't have to be global but needs to be passed to all the other functions.
Global $myID = 0 ; We want to monitor the default GamePad

Global $gameRom = $CmdLine[1]
LogMessage("richiesta avvio rom " & $gameRom)

Run("C:\Cabinato\Emulatori\demul07a_221215\demul.exe -run=awave -rom=" & $gameRom)
Run("C:\Cabinato\Emulatori\demul07a_221215\DemulShooter.exe -target=demul07a -noresize -widescreen -v -rom=" & $gameRom)

While 1
	Sleep(10)
	$testrawdata = GPExGetRawData($myGamePadHandle, $myID) ; Get almost every data possible from the gamepad. Returns in an array with 8 elements.
	if $testrawdata[7]= (768) and ProcessExists("DemulShooter.exe") Then
	        LogMessage("chiusura processi..."")
		ProcessClose ( "demul.exe" )
		ProcessClose ( "DemulShooter.exe" )
		LogMessage("chiusura processi completata"")
		Exit
	EndIf
WEnd

Func LogMessage($logMessage)
   _FileWriteLog(@ScriptDir & "\launcher.log", $logMessage)
EndFunc
Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

ho lanciato il syntax check e c'è una " di troppo. sistemato :)

mi domando, adesso negli argomenti da far "sparare all' emultore nel file conf di attract scrivo la variabile "gameRom"?

ti ringrazio per l' aiuto : ti devo un panino, una caffè, una birretta,un pasticcino. :D
Avatar utente
alucard

Donatore
Affezionato
Affezionato
Messaggi: 279
Iscritto il: 02/12/2017, 16:19
Medaglie: 1
Città: MotherEarth
Grazie Inviati: 5 volte
Grazie Ricevuti: 15 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da alucard »

gameRom è solo un nome neutro che ho scelto come variabile interna, indipendentemente se riceverà il nome della rom o il nome file della rom.

Il nome che vedi in Attract è il nome di uno dei suoi parametri standard. Allo script Attract passa il valore effettivo non il nome, che viene catturato in modo posizionale da CmdLine[1] e assegnato a gameRom.

Cosa si aspetta Demul in rom=?, un nome file? Un nome rom del suo elenco? A seconda di quello che vuole dovrai usare [romname] o [romfilename].

Di sicuro, quello che gli arriva ora lo vedi nel log.
Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

Capito gamerom è il nome della "scatola" all' interno dello script, che verrà riempita da attract mode. Che poi siano patate, fragole o funghi lo vedrò nel log. :)

Inviato dal mio Pixel 3a utilizzando Tapatalk

Avatar utente
_Gioacchino_
Affezionato
Affezionato
Messaggi: 174
Iscritto il: 12/11/2016, 6:50
Città: Palermo
Grazie Ricevuti: 4 volte

Re: Tasto hotkey uscita emu + autoit + windows 10

Messaggio da _Gioacchino_ »

lo script continua a non funzionare,devo leggere i log, dove vengono salvati?
Rispondi

Torna a “Frontend”