Hors-sujet
Retrouvez ce tutoriel sur le wiki HFS : Ajout du système Alice 32
Ajouté le 04/02/2017
Ajouté le 04/02/2017
Descriptif
Utiliser ce module:Alice est un micro-ordinateur fabriqué par l'entreprise française Matra-Hachette, vendu à partir de 1983. C'est un clone d'un micro-ordinateur américain de la firme Tandy, le MC-10.
Il est construit autour d'un processeur Motorola 6803 (8 bits de données, 16 bits d'adresse).
Il dispose dans sa version initiale de 4 kibioctet de mémoire, d'une interface série, d'un bus d'extension et d'une sauvegarde sur cassette audio externe. Un petit clavier est intégré à l'unité centrale. Celle-ci affiche ses résultats sur une télévision, via une prise péritel comme beaucoup de micro-ordinateurs de sa génération.
Il se programme comme tous les autres micro-ordinateurs de l'époque en langage BASIC et en assembleur pour les versions 32 et 90.
Une évolution d'Alice a été proposée en 1984 sous la référence Alice 32, dans un boitier quasiment identique, la différence réside essentiellement dans la quantité de mémoire vive et les possibilités d'affichage. En 1985, un dernier essai est réalisé, Alice 90, cette fois facilement reconnaissable grâce à un design bien particulier.
Matra tenta de commercialiser une nouvelle machine via le plan informatique pour tous, L'Alice 8000, c'est Thomson qui obtint le marché, les Alice 8000 déjà fabriqués (environ 250) furent détruits.
Il est construit autour d'un processeur Motorola 6803 (8 bits de données, 16 bits d'adresse).
Il dispose dans sa version initiale de 4 kibioctet de mémoire, d'une interface série, d'un bus d'extension et d'une sauvegarde sur cassette audio externe. Un petit clavier est intégré à l'unité centrale. Celle-ci affiche ses résultats sur une télévision, via une prise péritel comme beaucoup de micro-ordinateurs de sa génération.
Il se programme comme tous les autres micro-ordinateurs de l'époque en langage BASIC et en assembleur pour les versions 32 et 90.
Une évolution d'Alice a été proposée en 1984 sous la référence Alice 32, dans un boitier quasiment identique, la différence réside essentiellement dans la quantité de mémoire vive et les possibilités d'affichage. En 1985, un dernier essai est réalisé, Alice 90, cette fois facilement reconnaissable grâce à un design bien particulier.
Matra tenta de commercialiser une nouvelle machine via le plan informatique pour tous, L'Alice 8000, c'est Thomson qui obtint le marché, les Alice 8000 déjà fabriqués (environ 250) furent détruits.
Module
Utiliser l'émulateur DcAlice en version v2014.01.23MEmu = DCAlice
MEmuV = v2014.01.23
MURL = http://alice32.free.fr/" onclick="window.open(this.href);return false;
MAuthor = brolly
MVersion = 2.0.0
MCRC = 67E9CD38
iCRC = 96B57889
mId = 635535810894136267
MSystem = "Matra & Hachette Alice"
;------------------------------------------------------------------------
; Notes:
; The emu will be in french until you click Options -> Parametres -> Langue -> Anglais, then hit OK.
; Roms must be unzipped
;------------------------------------------------------------------------
StartModule()
BezelGUI()
FadeInStart()
settingsFile := modulePath . "\" . moduleName . ".ini"
Fullscreen := IniReadCheck(settingsFile, "settings", "Fullscreen","true",,1)
RestoreTaskbar := IniReadCheck(settingsFile, "settings", "RestoreTaskbar","true",,1)
Model := IniReadCheck(settingsFile, "Settings" . "|" . romName, "Model", "alice32",,1)
Command := IniReadCheck(settingsFile, romName, "Command", "CLOAD+RUN",,1)
DefaultAliceModelIni := emuPath . "\dcalice.ini"
AliceModelIni := emuPath . "\dcalice_" . Model . ".ini"
If FileExist(AliceModelIni)
FileCopy, %AliceModelIni%, %DefaultAliceModelIni%, 1
Else
Log("Module - Couldn't find file : " . AliceModelIni . " using dcalice.ini instead")
dialogOpen := i18n("dialog.open") ; Looking up local translation
BezelStart()
hideEmuObj := Object(dialogOpen . " ahk_class #32770",0,"ahk_class DCAlice",1) ;Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later
7z(romPath, romName, romExtension, 7zExtractPath)
HideEmuStart()
Run(executable, emuPath)
WinWait("ahk_class DCAlice")
WinActivate, ahk_class DCAlice
Sleep, 100
PostMessage, 0x111, 9001,,,ahk_class DCAlice
OpenROM(dialogOpen . " ahk_class #32770", romPath . "\" . romName . romExtension)
WinWaitActive("ahk_class DCAlice")
Sleep, 500 ; increase If CLOAD is not appearing in the emu window or some just some letters
If (Model == "mc10")
StartCommand := If Command = "CLOAD+RUN" ? "cload{Enter}run{Enter}" : "cloadm{Enter}{Wait:1500}exec{Enter}"
Else
StartCommand := If Command = "CLOAD+RUN" ? "cloqd{Enter}run{Enter}" : "cloqd{vkC0sc027}{Enter}{Wait:1500}exec{Enter}"
SetKeyDelay(50)
SendCommand(StartCommand) ;This will type CLOAD in the screen (french systems are AZERTY so q=a)
If Fullscreen = true
Send, {PGUP}
BezelDraw()
HideEmuEnd()
FadeInExit()
Process("WaitClose", executable)
7zCleanUp()
BezelExit()
FadeOutExit()
If RestoreTaskbar = true
WinShow, ahk_class Shell_TrayWnd
ExitModule()
HaltEmu:
Send, {Alt down}{Alt up}
Return
RestoreEmu:
WinRestore, ahk_class DCAlice
WinActivate, ahk_class DCAlice
If Fullscreen = true
Send, {PGUP} ;PgDown gets back to windowed mode
Return
CloseProcess:
FadeOutStart()
Send, {Alt down}{Alt up}
WinClose("ahk_class DCAlice")
Return
MEmuV = v2014.01.23
MURL = http://alice32.free.fr/" onclick="window.open(this.href);return false;
MAuthor = brolly
MVersion = 2.0.0
MCRC = 67E9CD38
iCRC = 96B57889
mId = 635535810894136267
MSystem = "Matra & Hachette Alice"
;------------------------------------------------------------------------
; Notes:
; The emu will be in french until you click Options -> Parametres -> Langue -> Anglais, then hit OK.
; Roms must be unzipped
;------------------------------------------------------------------------
StartModule()
BezelGUI()
FadeInStart()
settingsFile := modulePath . "\" . moduleName . ".ini"
Fullscreen := IniReadCheck(settingsFile, "settings", "Fullscreen","true",,1)
RestoreTaskbar := IniReadCheck(settingsFile, "settings", "RestoreTaskbar","true",,1)
Model := IniReadCheck(settingsFile, "Settings" . "|" . romName, "Model", "alice32",,1)
Command := IniReadCheck(settingsFile, romName, "Command", "CLOAD+RUN",,1)
DefaultAliceModelIni := emuPath . "\dcalice.ini"
AliceModelIni := emuPath . "\dcalice_" . Model . ".ini"
If FileExist(AliceModelIni)
FileCopy, %AliceModelIni%, %DefaultAliceModelIni%, 1
Else
Log("Module - Couldn't find file : " . AliceModelIni . " using dcalice.ini instead")
dialogOpen := i18n("dialog.open") ; Looking up local translation
BezelStart()
hideEmuObj := Object(dialogOpen . " ahk_class #32770",0,"ahk_class DCAlice",1) ;Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later
7z(romPath, romName, romExtension, 7zExtractPath)
HideEmuStart()
Run(executable, emuPath)
WinWait("ahk_class DCAlice")
WinActivate, ahk_class DCAlice
Sleep, 100
PostMessage, 0x111, 9001,,,ahk_class DCAlice
OpenROM(dialogOpen . " ahk_class #32770", romPath . "\" . romName . romExtension)
WinWaitActive("ahk_class DCAlice")
Sleep, 500 ; increase If CLOAD is not appearing in the emu window or some just some letters
If (Model == "mc10")
StartCommand := If Command = "CLOAD+RUN" ? "cload{Enter}run{Enter}" : "cloadm{Enter}{Wait:1500}exec{Enter}"
Else
StartCommand := If Command = "CLOAD+RUN" ? "cloqd{Enter}run{Enter}" : "cloqd{vkC0sc027}{Enter}{Wait:1500}exec{Enter}"
SetKeyDelay(50)
SendCommand(StartCommand) ;This will type CLOAD in the screen (french systems are AZERTY so q=a)
If Fullscreen = true
Send, {PGUP}
BezelDraw()
HideEmuEnd()
FadeInExit()
Process("WaitClose", executable)
7zCleanUp()
BezelExit()
FadeOutExit()
If RestoreTaskbar = true
WinShow, ahk_class Shell_TrayWnd
ExitModule()
HaltEmu:
Send, {Alt down}{Alt up}
Return
RestoreEmu:
WinRestore, ahk_class DCAlice
WinActivate, ahk_class DCAlice
If Fullscreen = true
Send, {PGUP} ;PgDown gets back to windowed mode
Return
CloseProcess:
FadeOutStart()
Send, {Alt down}{Alt up}
WinClose("ahk_class DCAlice")
Return
Paramétrer RL ainsi:
Pour lancer les jeux il faut retaper manuellement du fait que l'émulateur se lance en qwerty, si quelqu'un a une solution