Amstrad CPC (demande aide...)

Post Reply
Superfrog57
Veteran
Veteran
Posts: 108
Joined: Sun May 21, 2017 7:43 am

Sur la ligne de commande de l'émulateur, à savoir :

<Cmd extensions=".dsk,.zip" value=""%path\%file%ext" /A" name="WinAPE [Script]" hidden="false"/>

il doit manquer quelque chose car si Winape se comporte bien en fullscreen et ESC avec le script, il n'en est rien au niveau du lancement d'un jeu : si sous Windows pendant les essais tout se déroule bien, sous mGalaxy, l'émulateur lance toujours la même rom (la dernière qu'on a essayé !). On a beau essayer de sélectionner une autre rom, rien n'y fait...

Merci d'y jeter un oeil...
User avatar
mgalaxy
Administrator
Administrator
Posts: 1189
Joined: Tue Dec 05, 2006 7:46 pm

Peux tu nous dire ce dont WinApe a besoin pour être lancé en ligne de commande...et pour que ce ne soit pas tjrs. le même jeux qui se lance? C'est quoi le principe..qu'est ce qu'il attend comme info?
Superfrog57
Veteran
Veteran
Posts: 108
Joined: Sun May 21, 2017 7:43 am

Voilà ce dont j'ai trouvé :

http://www.winape.net/help/parameters.html

La commande de mGalaxy déjà intégrée automatiquement (<Cmd extensions=".dsk,.zip" value=""%path\%file%ext" /A" name="WinAPE [Script]" hidden="false"/>)
La commande /A spécifie apparemment le choix du lecteur A et ça fonctionne mais le lecteur de disquette est  désespérément vide ! WinApe a besoin de savoir quelle disquette mettre dans le lecteur A
J'ai essayé quelques commandes mais rien n'y fait...
Attachments
Sans titre.jpg
Last edited by Superfrog57 on Thu Mar 26, 2020 4:41 am, edited 1 time in total.
User avatar
mgalaxy
Administrator
Administrator
Posts: 1189
Joined: Tue Dec 05, 2006 7:46 pm

Je t'avoue que c'est pas gagné ;)...déjà lancer un disque depuis WinApe, j'y arrive pas! J'ai bien coché la case de lancement automatique...mais j'ai sans cesse le message selon lequel WinApe n'a pas pu créer le disque!?
Superfrog57
Veteran
Veteran
Posts: 108
Joined: Sun May 21, 2017 7:43 am

Je viens à ton aide en te mettant ma version (déjà prête en azerty mais pas en fullscreen pour l'instant, tu pourras voir que ça fonctionne déjà, lol) ainsi qu'une disquette DSK...

https://1fichier.com/?8i59zgddu0042vs811o2

Tu feras File / Drive A / Insert disc et tu pointeras le jeu DSK

Rien ne se passe et c'est normal, tu tapes:

run"1942
Attachments

[The extension has been deactivated and can no longer be displayed.]

Aeliss
Hero Member
Hero Member
Posts: 900
Joined: Thu Apr 04, 2013 5:55 pm

De mon coté j'avais un script a l'epoque quand je me servais de winape, qui permet aussi d'utiliser des zip du coup

Code: Select all

#include <array.au3>
#include <File.au3>


;Parsing
Local $count = StringInStr($CmdLineRaw, ".exe", 0 , 1, 1)
local $app = StringLeft ( $CmdLineRaw, $count + 4 )
local $command = StringTrimLeft( $CmdLineRaw, $count + 4 )
if not $command then exit 0
     
;HotKeySet("{ESC}", "Terminate")

;Correction to use zipfile
local $file = StringTrimRight( $command, 4 )
$file = StringTrimLeft ($file,1)
local $liste = _Zip_List($file)
IniWrite ( "WinApe.ini", "Drives", "Drive(0)", $file & '\:' & $liste[1] )

;If there is 2 D7
if StringInStr($file,"(Disk 1 of") Then
   local $file2 = StringReplace($file,"(Disk 1 of","(Disk 2 of",0,2)
   local $liste2 = StringReplace($liste[1],"(Disk 1 of","(Disk 2 of",0,2)
   IniWrite ( "WinApe.ini", "Drives", "Drive(1)", $file2 & '\:' & $liste2 )
endif
     
;$PID = Run ( '"' & $app & '" ' & $file & '\:' & $liste[1] & ' /A' )
$PID = Run ( '"' & $app & '" ' & $command )

While ProcessExists ( $PID )
   sleep(500)
WEnd
     
Exit 0
     
     
;Functions
;Func Terminate()
;   While ProcessExists ( $PID )
;	  ProcessClose ( $PID )
;   WEnd
;   Exit 0
;EndFunc



;==========================================================================
;
; Function Name:    _Zip_DllChk()
; Description:      Internal error handler.
; Parameter(s):     none.
; Requirement(s):   none.
; Return Value(s):  Failure - @extended = 1
; Author(s):        smashley
;
;===============================================================================
Func _Zip_DllChk()
	If Not FileExists(@SystemDir & "\zipfldr.dll") Then Return 2
	If Not RegRead("HKEY_CLASSES_ROOT\CLSID\{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}", "") Then Return 3
	Return 0
 EndFunc   ;==>_Zip_DllChk
 
;===============================================================================
;
; Function Name:    _Hide()
; Description:      Internal Function.
; Parameter(s):     none
; Requirement(s):   none.
; Return Value(s):  none.
; Author(s):        torels_
;
;===============================================================================
Func _Hide()
	If ControlGetHandle("[CLASS:#32770]", "", "[CLASS:SysAnimate32; INSTANCE:1]") <> "" And WinGetState("[CLASS:#32770]") <> @SW_HIDE	Then ;The Window Exists
		$hWnd = WinGetHandle("[CLASS:#32770]")
		WinSetState($hWnd, "", @SW_HIDE)
	EndIf
 EndFunc
 
 ;===============================================================================
;
; Function Name:    _IsFullPath()
; Description:      Internal Function.
; Parameter(s):     $path - a zip path
; Requirement(s):   none.
; Return Value(s):  success - True.
;                                       failure - False.
; Author(s):        torels_
;
;===============================================================================
Func _IsFullPath($path)
    if StringInStr($path,":\") then
        Return True
    Else
        Return False
    EndIf
Endfunc



;===============================================================================
;
; Function Name:    _Zip_List()
; Description:      Returns an Array containing of all the files contained in a ZIP Archieve.
; Parameter(s):     $hZipFile - Complete path to zip file that will be created (or handle if existant)
; Requirement(s):   none.
; Return Value(s):  On Success - 0
;                   On Failure - sets @error 1~3
;					@error = 1 no Zip file
;					@error = 2 no dll
;					@error = 3 dll isn't registered
; Author(s):        torels_
;
;===============================================================================
Func _Zip_List($hZipFile)
	local $aArray[1]
	Local $DLLChk = _Zip_DllChk()
	If $DLLChk <> 0 Then Return SetError($DLLChk, 0, 0) ;no dll
	If not _IsFullPath($hZipFile) then Return SetError(4,0) ;zip file isn't a full path
	If Not FileExists($hZipFile) Then Return SetError(1, 0, 0) ;no zip file
	$oApp = ObjCreate("Shell.Application")
	$hList = $oApp.Namespace($hZipFile).Items
	For $item in $hList
		_ArrayAdd($aArray,$item.name)
	Next
	$aArray[0] = UBound($aArray) - 1
	Return $aArray
EndFunc   ;==>_Zip_List
Superfrog57
Veteran
Veteran
Posts: 108
Joined: Sun May 21, 2017 7:43 am

Et tu vas pouvoir en faire quelque chose avec mGalaxy ?
Last edited by Superfrog57 on Fri Mar 27, 2020 6:12 pm, edited 1 time in total.
Aeliss
Hero Member
Hero Member
Posts: 900
Joined: Thu Apr 04, 2013 5:55 pm

C'etait un script pour mGalaxy ^^, mais une vielle version, pas besoin du support zip mais je pense que le truc important est la

Code: Select all

IniWrite ( "WinApe.ini", "Drives", "Drive(1)", $file2 & '\:' & $liste2 )
Je modifiais le fichier ini avant de lancer winape.
Post Reply