Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
tutos:software:systemes:atari-8bit [2017/02/05 00:00] thesalan Mise en page |
tutos:software:systemes:atari-8bit [2017/02/10 17:36] nabubokon ↷ Page déplacée de tutos:atari-8bit à tutos:software:systemes:atari-8bit |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Ajout du système Atari 8-bit ====== | ====== Ajout du système Atari 8-bit ====== | ||
- | |||
- | Auteur : **[[https:// | ||
===== Présentation ===== | ===== Présentation ===== | ||
- | {{ | + | {{ :tutos: |
L' | L' | ||
- | ===== Installation sous RocketLauncher (ou HyperLaunch 3) ===== | + | ===== Emulateurs compatibles |
- | ==== Installation de l' | + | * [[: |
- | Pour ce système l' | + | ===== Installation sous RocketLauncher ===== |
- | A installer dans //\Emulators\Atari800WinPlus\// | + | Pour ce tutoriel, le système Atari 8-bit a été validé avec la version **4.1** de l' |
- | Il vous faudra le paramétrer ainsi : | ||
- | * Cliquez sur " | + | ==== Installation de l' |
- | {{http:// | + | {{page> |
- | + | ||
- | * Mettre les bios de chaque bécane | + | |
- | + | ||
- | {{http:// | + | |
- | + | ||
- | Ce qui devrait donner ceci : | + | |
- | + | ||
- | {{http:// | + | |
- | + | ||
- | * Cliquez sur " | + | |
- | + | ||
- | {{http:// | + | |
==== Module ==== | ==== Module ==== | ||
- | Nous utiliserons un module | + | {{page> |
- | <wrap lo> | + | ==== Configuration ==== |
- | <file autohotkey Atari800WinPlus.ahk> | + | {{page>tutos:emulateurs: |
- | MEmu = Atari800WinPlus | + | |
- | MEmuV = 4.1 | + | |
- | MURL = https:// | + | |
- | MAuthor = wahoobrian | + | |
- | MVersion = 1.0 | + | |
- | MCRC = A3F59E69 | + | |
- | iCRC = 3F1E06FD | + | |
- | mId = 635532589929508800 | + | |
- | MSystem = "Atari XEGS"," | + | |
- | ; | + | ==== Ajout du système ==== |
- | ; Notes: | + | |
- | ; | + | |
- | ; Settings are stored in the registry @ HKEY_CURRENT_USER\Software\Atari800WinPLus | + | |
- | ; CLI is the same is nonGUI emulator, Atari800. However, some of the CLI does not seem to do anything, | + | |
- | ; so registry updates are used in some cases. | + | |
- | ; | + | |
- | ; Enter rom images for OS-A, OS-B, XL/XE, 5200 and BASIC via Atari | Rom images | + | |
- | ; | + | |
- | ; Some Atari 8-Bit computer games require BASIC Revision A version. Not a bad idea to use that as a default, | + | |
- | ; since it seems to work for all games that require a version of BASIC. | + | |
- | ; | + | |
- | ; Mouse can be used to emulate paddles, lightgun and lightpen. | + | |
- | ; | + | |
- | ; This emulator has proven to be very buggy with lots of random crashes. Also fullscreen doesn' | + | |
- | ; To setup fullscreen mode, go to View-> | + | |
- | ; - 640x480, partially clipped - This is the only real fullscreen mode, but the image will be clipped so it's | + | |
- | ; no good. | + | |
- | ; - 800x600 or 1024x768, full display - These will work without clipping, but the colors will be wrong and you | + | |
- | ; will also have the menu and toolbar always visible. | + | |
- | ; So it's basically useless. Besides fullscreen will make the emulator crash many times. It's highly suggested | + | |
- | ; than you use Atari800 instead of this emulator since it's a much better version. | + | |
- | ; | + | |
- | StartModule() | + | |
- | BezelGUI() | + | |
- | FadeInStart() | + | |
- | mType := Object(" | + | Il ne reste plus qu'à ajouter le système, en choisissant |
- | ident := mType[systemName] ; search object for the systemName identifier Atari800 uses | + | |
- | If !ident | + | |
- | ScriptError(" | + | |
- | + | ||
- | ;clear out registry values - any leftovers from previous executions can cause the emu to crash | + | |
- | RegWrite, REG_SZ, HKCU, Software\Atari800WinPLus, | + | |
- | RegWrite, REG_SZ, HKCU, Software\Atari800WinPLus, | + | |
- | RegWrite, REG_SZ, HKCU, Software\Atari800WinPLus, | + | |
- | RegWrite, REG_SZ, HKCU, Software\Atari800WinPLus, | + | |
- | RegWrite, REG_SZ, HKCU, Software\Atari800WinPLus, | + | |
- | + | ||
- | IfExist, % modulePath . " | + | |
- | settingsFile := modulePath . " | + | |
- | Else | + | |
- | settingsFile := modulePath . " | + | |
- | + | ||
- | 7z(romPath, romName, romExtension, | + | |
- | + | ||
- | Fullscreen := IniReadCheck(settingsFile, | + | |
- | fullscreenCLI := If (Fullscreen=" | + | |
- | MouseMode := IniReadCheck(settingsFile, | + | |
- | + | ||
- | cliOptions = %fullscreenCLI% | + | |
- | + | ||
- | ;set mouse mode | + | |
- | if (MouseMode in Paddle, | + | |
- | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | + | |
- | if (MouseMode = " | + | |
- | cliOptions := cliOptions . " -mouse pad" | + | |
- | else if (MouseMode = " | + | |
- | cliOptions := cliOptions . " -mouse gun" | + | |
- | else if (MouseMode = " | + | |
- | cliOptions := cliOptions . " -mouse pen" | + | |
- | else { | + | |
- | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | + | |
- | cliOptions := cliOptions . " -mouse off" | + | |
- | } | + | |
- | + | ||
- | If (SystemName = "Atari 5200" | + | |
- | { | + | |
- | cliOptions := cliOptions . " -5200 " | + | |
- | + | ||
- | CartType := IniReadCheck(settingsFile, | + | |
- | if (!CartType) { | + | |
- | a5200cartMaps := Object(4, | + | |
- | FileGetSize, | + | |
- | CartType := a5200cartMaps[fsize] ; search object for the systemName identifier Atari800 uses | + | |
- | } | + | |
- | + | ||
- | If (!CartType) | + | |
- | ScriptError(" | + | |
- | Else | + | |
- | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | + | |
- | + | ||
- | cliOptions := cliOptions . " -cart " | + | |
- | } | + | |
- | Else If (SystemName = "Atari XEGS" | + | |
- | { | + | |
- | MouseMode := IniReadCheck(settingsFile, | + | |
- | cliOptions := cliOptions . " -xegs -mouse " . MouseMode . " -cart " | + | |
- | } | + | |
- | Else | + | |
- | { | + | |
- | Basic := IniReadCheck(settingsFile, | + | |
- | OSType := IniReadCheck(settingsFile, | + | |
- | VideoMode := IniReadCheck(settingsFile, | + | |
- | MachineType := IniReadCheck(settingsFile, | + | |
- | CassetteLoadingMethod := IniReadCheck(settingsFile, | + | |
- | CartType := IniReadCheck(settingsFile, | + | |
- | Command := IniReadCheck(settingsFile, | + | |
- | SendCommandDelay := IniReadCheck(settingsFile, | + | |
- | MouseMode := IniReadCheck(settingsFile, | + | |
- | DisableSIOPatch := IniReadCheck(settingsFile, | + | |
- | LoadBasicAsCart := IniReadCheck(settingsFile, | + | |
- | + | ||
- | ;set machine type (OS-A, OS-B, XL) | + | |
- | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | + | |
- | + | ||
- | ;set sio patch (fast i/o access) | + | |
- | if (DisableSIOPatch = " | + | |
- | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | + | |
- | else | + | |
- | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | + | |
- | + | ||
- | basic := If (Basic=" | + | |
- | videomode := If (VideoMode=" | + | |
- | + | ||
- | cliOptions := cliOptions . basic . videomode . " -" | + | |
- | + | ||
- | if (LoadBasicAsCart) | + | |
- | { | + | |
- | PathToBasicCart := AbsoluteFromRelative(EmuPath, | + | |
- | CheckFile(PathToBasicCart) | + | |
- | cliOptions := cliOptions . " -cart " . PathToBasicCart | + | |
- | } | + | |
- | + | ||
- | If romExtension in .a52, | + | |
- | { cliOptions := cliOptions . " -cart" | + | |
- | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | + | |
- | } | + | |
- | Else if romExtension in .atr, | + | |
- | cliOptions := cliOptions . " -disk1" | + | |
- | Else if romExtension in .xex, | + | |
- | cliOptions := cliOptions . " -run" | + | |
- | Else if romExtension in .cas ;Tapes | + | |
- | { | + | |
- | fullRomPath := romPath . " | + | |
- | if (CassetteLoadingMethod = " | + | |
- | cliOptions := cliOptions . " -boottape" | + | |
- | else | + | |
- | RegWrite, REG_SZ, HKCU, Software\Atari800WinPLus, | + | |
- | } | + | |
- | Else | + | |
- | ScriptError(" | + | |
- | } | + | |
- | + | ||
- | BezelStart(" | + | |
- | Run(executable . " " . cliOptions . " """ | + | |
- | + | ||
- | WinWait(" | + | |
- | Sleep, 500 | + | |
- | + | ||
- | ; script to look for previous crash window... | + | |
- | ; If previous run of emu crashed, auto-select No to avoid resetting ALL settings | + | |
- | IfWinExist, Atari800Win PLus ahk_class #32770 | + | |
- | { | + | |
- | WinActivate, | + | |
- | IfWinActive, | + | |
- | { | + | |
- | SetControlDelay -1 | + | |
- | ; | + | |
- | PostMessage, | + | |
- | } | + | |
- | } | + | |
- | + | ||
- | WinWaitActive(" | + | |
- | + | ||
- | If (Fullscreen=" | + | |
- | { | + | |
- | PostMessage, | + | |
- | Sleep, 100 | + | |
- | } | + | |
- | BezelDraw() | + | |
- | + | ||
- | if (CassetteLoadingMethod=" | + | |
- | Sleep, | + | |
- | SendCommand(" | + | |
- | SendCommand(" | + | |
- | Sleep, 3000 | + | |
- | SendCommand(" | + | |
- | } | + | |
- | + | ||
- | SendCommand(Command, | + | |
- | + | ||
- | ;check if emu crashed, if it did, just get out - can we log/display a message so user knows what happened? | + | |
- | Sleep, 5000 | + | |
- | IfWinExist, Atari800Win PLus Monitor | + | |
- | WinClose, Atari800Win PLus Monitor | + | |
- | + | ||
- | FadeInExit() | + | |
- | Process(" | + | |
- | 7zCleanUp() | + | |
- | FadeOutExit() | + | |
- | ExitModule() | + | |
- | + | ||
- | MultiGame: | + | |
- | Log(" | + | |
- | + | ||
- | If romExtension in .atr | + | |
- | { Send !1 ; swaps a Disk | + | |
- | wvTitle: | + | |
- | } Else If romExtension in .cas | + | |
- | { Send !t ; swaps a Tape | + | |
- | wvTitle: | + | |
- | } Else | + | |
- | ScriptError(romExtension . " is an invalid multi-game extension" | + | |
- | + | ||
- | WinWait(wvTitle) | + | |
- | WinWaitActive(wvTitle) | + | |
- | OpenROM(wvTitle, | + | |
- | Log(" | + | |
- | WinWaitActive(" | + | |
- | WinActivate, | + | |
- | Return | + | |
- | + | ||
- | CheckCreateFile(file){ | + | |
- | IfNotExist, %file% | + | |
- | FileAppend,, | + | |
- | Return file | + | |
- | } | + | |
- | + | ||
- | CloseProcess: | + | |
- | FadeOutStart() | + | |
- | BezelExit() | + | |
- | If (Fullscreen=" | + | |
- | { | + | |
- | PostMessage, | + | |
- | Sleep, 100 | + | |
- | } | + | |
- | WinClose(" | + | |
- | Return | + | |
- | </ | + | |
- | + | ||
- | ==== Configuration de l' | + | |
- | + | ||
- | Ajouter l' | + | |
- | + | ||
- | * Name : Atari 8-bit | + | |
- | * Path : ..\Emulators\Atari800WinPlus\Atari800Win.exe | + | |
- | * Rom Extensions : bin|bas | + | |
- | * Module : Atari800WinPlus.ahk | + | |
- | * GUI Path : | + | |
- | * CLI Parameters : | + | |
- | + | ||
- | {{http:// | + | |
- | + | ||
- | ==== Ajout du système ==== | + | |
- | Il ne reste plus qu'à ajouter le système, en choisissant l' | + | FIXME : donner |
- | ===== Forum ===== | + | ===== Liens ===== |
- | Lien du sujet : [[https:// | + | * Tutoriel d' |