Author Topic: Amstrad CPC (demande aide...)  (Read 190 times)

Aeliss

  • Hero Member
  • *****
  • Posts: 854
Re: Amstrad CPC (demande aide...)
« Reply #8 on: March 28, 2020, 03:24:37 AM »
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]
IniWrite ( "WinApe.ini", "Drives", "Drive(1)", $file2 & '\:' & $liste2 )
Je modifiais le fichier ini avant de lancer winape.

Superfrog57

  • Full Member
  • ***
  • Posts: 108
    • Email
Re: Amstrad CPC (demande aide...)
« Reply #7 on: March 27, 2020, 12:58:24 PM »
Et tu vas pouvoir en faire quelque chose avec mGalaxy ?
« Last Edit: March 27, 2020, 01:12:32 PM by Superfrog57 »

Aeliss

  • Hero Member
  • *****
  • Posts: 854
Re: Amstrad CPC (demande aide...)
« Reply #6 on: March 27, 2020, 10:22:06 AM »
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: AutoIt
  1. #include <array.au3>
  2. #include <File.au3>
  3.  
  4.  
  5. ;Parsing
  6. Local $count = StringInStr($CmdLineRaw, ".exe", 0 , 1, 1)
  7. local $app = StringLeft ( $CmdLineRaw, $count + 4 )
  8. local $command = StringTrimLeft( $CmdLineRaw, $count + 4 )
  9. if not $command then exit 0
  10.      
  11. ;HotKeySet("{ESC}", "Terminate")
  12.  
  13. ;Correction to use zipfile
  14. local $file = StringTrimRight( $command, 4 )
  15. $file = StringTrimLeft ($file,1)
  16. local $liste = _Zip_List($file)
  17. IniWrite ( "WinApe.ini", "Drives", "Drive(0)", $file & '\:' & $liste[1] )
  18.  
  19. ;If there is 2 D7
  20. if StringInStr($file,"(Disk 1 of") Then
  21.    local $file2 = StringReplace($file,"(Disk 1 of","(Disk 2 of",0,2)
  22.    local $liste2 = StringReplace($liste[1],"(Disk 1 of","(Disk 2 of",0,2)
  23.    IniWrite ( "WinApe.ini", "Drives", "Drive(1)", $file2 & '\:' & $liste2 )
  24.      
  25. ;$PID = Run ( '"' & $app & '" ' & $file & '\:' & $liste[1] & ' /A' )
  26. $PID = Run ( '"' & $app & '" ' & $command )
  27.  
  28.    sleep(500)
  29.      
  30.      
  31.      
  32. ;Functions
  33. ;Func Terminate()
  34. ;   While ProcessExists ( $PID )
  35. ;         ProcessClose ( $PID )
  36. ;   WEnd
  37. ;   Exit 0
  38. ;EndFunc
  39.  
  40.  
  41.  
  42. ;==========================================================================
  43. ;
  44. ; Function Name:    _Zip_DllChk()
  45. ; Description:      Internal error handler.
  46. ; Parameter(s):     none.
  47. ; Requirement(s):   none.
  48. ; Return Value(s):  Failure - @extended = 1
  49. ; Author(s):        smashley
  50. ;
  51. ;===============================================================================
  52. Func _Zip_DllChk()
  53.         If Not FileExists(@SystemDir & "\zipfldr.dll") Then Return 2
  54.         If Not RegRead("HKEY_CLASSES_ROOT\CLSID\{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}", "") Then Return 3
  55.         Return 0
  56.  EndFunc   ;==>_Zip_DllChk
  57.  
  58. ;===============================================================================
  59. ;
  60. ; Function Name:    _Hide()
  61. ; Description:      Internal Function.
  62. ; Parameter(s):     none
  63. ; Requirement(s):   none.
  64. ; Return Value(s):  none.
  65. ; Author(s):        torels_
  66. ;
  67. ;===============================================================================
  68. Func _Hide()
  69.         If ControlGetHandle("[CLASS:#32770]", "", "[CLASS:SysAnimate32; INSTANCE:1]") <> "" And WinGetState("[CLASS:#32770]") <> @SW_HIDE       Then ;The Window Exists
  70.                 $hWnd = WinGetHandle("[CLASS:#32770]")
  71.                 WinSetState($hWnd, "", @SW_HIDE)
  72.         EndIf
  73.  
  74.  ;===============================================================================
  75. ;
  76. ; Function Name:    _IsFullPath()
  77. ; Description:      Internal Function.
  78. ; Parameter(s):     $path - a zip path
  79. ; Requirement(s):   none.
  80. ; Return Value(s):  success - True.
  81. ;                                       failure - False.
  82. ; Author(s):        torels_
  83. ;
  84. ;===============================================================================
  85. Func _IsFullPath($path)
  86.     if StringInStr($path,":\") then
  87.         Return True
  88.     Else
  89.         Return False
  90.     EndIf
  91.  
  92.  
  93.  
  94. ;===============================================================================
  95. ;
  96. ; Function Name:    _Zip_List()
  97. ; Description:      Returns an Array containing of all the files contained in a ZIP Archieve.
  98. ; Parameter(s):     $hZipFile - Complete path to zip file that will be created (or handle if existant)
  99. ; Requirement(s):   none.
  100. ; Return Value(s):  On Success - 0
  101. ;                   On Failure - sets @error 1~3
  102. ;                                       @error = 1 no Zip file
  103. ;                                       @error = 2 no dll
  104. ;                                       @error = 3 dll isn't registered
  105. ; Author(s):        torels_
  106. ;
  107. ;===============================================================================
  108. Func _Zip_List($hZipFile)
  109.         local $aArray[1]
  110.         Local $DLLChk = _Zip_DllChk()
  111.         If $DLLChk <> 0 Then Return SetError($DLLChk, 0, 0) ;no dll
  112.         If not _IsFullPath($hZipFile) then Return SetError(4,0) ;zip file isn't a full path
  113.         If Not FileExists($hZipFile) Then Return SetError(1, 0, 0) ;no zip file
  114.         $oApp = ObjCreate("Shell.Application")
  115.         $hList = $oApp.Namespace($hZipFile).Items
  116.         For $item in $hList
  117.                 _ArrayAdd($aArray,$item.name)
  118.         Next
  119.         $aArray[0] = UBound($aArray) - 1
  120.         Return $aArray
  121. EndFunc   ;==>_Zip_List

Superfrog57

  • Full Member
  • ***
  • Posts: 108
    • Email
Re: Amstrad CPC (demande aide...)
« Reply #5 on: March 26, 2020, 11:03:41 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

mgalaxy

  • Administrator
  • Hero Member
  • *****
  • Posts: 1042
    • Email
Re: Amstrad CPC (demande aide...)
« Reply #4 on: March 26, 2020, 09:04:14 AM »
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

  • Full Member
  • ***
  • Posts: 108
    • Email
Re: Amstrad CPC (demande aide...)
« Reply #3 on: March 25, 2020, 11:24:30 PM »
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...
« Last Edit: March 25, 2020, 11:41:05 PM by Superfrog57 »

mgalaxy

  • Administrator
  • Hero Member
  • *****
  • Posts: 1042
    • Email
Re: Amstrad CPC (demande aide...)
« Reply #2 on: March 25, 2020, 02:47:16 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

  • Full Member
  • ***
  • Posts: 108
    • Email
Amstrad CPC (demande aide...)
« Reply #1 on: March 25, 2020, 11:18:08 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...