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 | ||
tutos:software:emulateurs:atari800winplus [2017/02/09 21:33] thesalan Ajout systeme compatible Atari XEGS |
tutos:software:emulateurs:atari800winplus [2017/02/14 11:42] (Version actuelle) thesalan |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
===== Présentation ===== | ===== Présentation ===== | ||
- | Emulateur pour **Atari 8-bit** | + | Emulateur pour **Atari 8-bit**. |
===== Systèmes compatibles ===== | ===== Systèmes compatibles ===== | ||
- | * [[: | + | * [[:tutos: |
- | * [[: | + | * [[:tutos: |
===== Installation ===== | ===== Installation ===== | ||
- | * Téléchargez l' | + | * Téléchargez l' |
Il vous faudra le paramétrer ainsi : | Il vous faudra le paramétrer ainsi : | ||
- | * Cliquez sur " | + | * Cliquez sur " |
{{ : | {{ : | ||
- | * Mettre les bios de chaque bécane | + | * Mettre les bios de chaque bécane. |
{{ : | {{ : | ||
Ligne 36: | Ligne 37: | ||
==== Module ==== | ==== Module ==== | ||
- | Nous utilisons içi une version légèrement | + | Nous utilisons içi une version légèrement |
<wrap lo> | <wrap lo> | ||
Ligne 50: | Ligne 51: | ||
mId = 635532589929508800 | mId = 635532589929508800 | ||
MSystem = "Atari XEGS"," | MSystem = "Atari XEGS"," | ||
- | + | ; | |
- | ; | + | |
- | ; 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() | StartModule() | ||
BezelGUI() | BezelGUI() | ||
FadeInStart() | FadeInStart() | ||
- | + | ||
mType := Object(" | mType := Object(" | ||
- | ident := mType[systemName] ; search object for the systemName identifier Atari800 uses | + | ident := mType[systemName]; |
If !ident | If !ident | ||
ScriptError(" | 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, | ||
Ligne 89: | Ligne 66: | ||
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 . " | + | IfExist, % modulePath . " |
settingsFile := modulePath . " | settingsFile := modulePath . " | ||
Else | Else | ||
settingsFile := modulePath . " | settingsFile := modulePath . " | ||
- | + | ||
7z(romPath, romName, romExtension, | 7z(romPath, romName, romExtension, | ||
- | + | ||
Fullscreen := IniReadCheck(settingsFile, | Fullscreen := IniReadCheck(settingsFile, | ||
fullscreenCLI := If (Fullscreen=" | fullscreenCLI := If (Fullscreen=" | ||
MouseMode := IniReadCheck(settingsFile, | MouseMode := IniReadCheck(settingsFile, | ||
- | + | ||
cliOptions = %fullscreenCLI% | cliOptions = %fullscreenCLI% | ||
- | + | ;set mouse mode | |
- | ;set mouse mode | + | |
if (MouseMode in Paddle, | if (MouseMode in Paddle, | ||
RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | ||
Ligne 116: | Ligne 92: | ||
cliOptions := cliOptions . " -mouse off" | cliOptions := cliOptions . " -mouse off" | ||
} | } | ||
- | + | ||
If (SystemName = "Atari 5200") | If (SystemName = "Atari 5200") | ||
{ | { | ||
cliOptions := cliOptions . " -5200 " | cliOptions := cliOptions . " -5200 " | ||
- | + | ||
CartType := IniReadCheck(settingsFile, | CartType := IniReadCheck(settingsFile, | ||
if (!CartType) { | if (!CartType) { | ||
a5200cartMaps := Object(4, | a5200cartMaps := Object(4, | ||
FileGetSize, | FileGetSize, | ||
- | CartType := a5200cartMaps[fsize] ; search object for the systemName identifier Atari800 uses | + | CartType := a5200cartMaps[fsize]; |
} | } | ||
- | + | ||
If (!CartType) | If (!CartType) | ||
ScriptError(" | ScriptError(" | ||
Else | Else | ||
RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | ||
- | + | ||
cliOptions := cliOptions . " -cart " | cliOptions := cliOptions . " -cart " | ||
} | } | ||
Ligne 153: | Ligne 129: | ||
DisableSIOPatch := IniReadCheck(settingsFile, | DisableSIOPatch := IniReadCheck(settingsFile, | ||
LoadBasicAsCart := IniReadCheck(settingsFile, | LoadBasicAsCart := IniReadCheck(settingsFile, | ||
- | + | ;set machine type (OS-A, OS-B, XL) | |
- | ;set machine type (OS-A, OS-B, XL) | + | |
RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | ||
- | + | ;set sio patch (fast i/o access) | |
- | ;set sio patch (fast i/o access) | + | |
if (DisableSIOPatch = " | if (DisableSIOPatch = " | ||
RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | ||
else | else | ||
RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | ||
- | + | ||
basic := If (Basic=" | basic := If (Basic=" | ||
videomode := If (VideoMode=" | videomode := If (VideoMode=" | ||
- | + | ||
cliOptions := cliOptions . basic . videomode . " -" | cliOptions := cliOptions . basic . videomode . " -" | ||
- | + | ||
if (LoadBasicAsCart) | if (LoadBasicAsCart) | ||
{ | { | ||
Ligne 174: | Ligne 148: | ||
cliOptions := cliOptions . " -cart " . PathToBasicCart | cliOptions := cliOptions . " -cart " . PathToBasicCart | ||
} | } | ||
- | + | ||
- | If romExtension in .a52, | + | If romExtension in .a52, |
{ cliOptions := cliOptions . " -cart" | { cliOptions := cliOptions . " -cart" | ||
RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | RegWrite, REG_DWORD, HKCU, Software\Atari800WinPLus, | ||
} | } | ||
- | Else if romExtension in .atr, | + | Else if romExtension in .atr, |
cliOptions := cliOptions . " -disk1" | cliOptions := cliOptions . " -disk1" | ||
- | Else if romExtension in .xex, | + | Else if romExtension in .xex, |
cliOptions := cliOptions . " -run" | cliOptions := cliOptions . " -run" | ||
- | Else if romExtension in .cas ;Tapes | + | Else if romExtension in .cas;Tapes |
{ | { | ||
fullRomPath := romPath . " | fullRomPath := romPath . " | ||
Ligne 194: | Ligne 168: | ||
ScriptError(" | ScriptError(" | ||
} | } | ||
- | + | ||
BezelStart(" | BezelStart(" | ||
Run(executable . " " . cliOptions . " """ | Run(executable . " " . cliOptions . " """ | ||
- | + | ||
WinWait(" | WinWait(" | ||
Sleep, 500 | Sleep, 500 | ||
- | + | ; script to look for previous crash window...; If previous run of emu crashed, auto-select No to avoid resetting ALL settings | |
- | ; 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 | IfWinExist, Atari800Win PLus ahk_class #32770 | ||
{ | { | ||
Ligne 208: | Ligne 180: | ||
IfWinActive, | IfWinActive, | ||
{ | { | ||
- | SetControlDelay -1 | + | SetControlDelay -1; |
- | ; | + | PostMessage, |
- | PostMessage, | + | |
} | } | ||
} | } | ||
- | + | ||
WinWaitActive(" | WinWaitActive(" | ||
- | + | ||
- | If (Fullscreen=" | + | If (Fullscreen=" |
{ | { | ||
PostMessage, | PostMessage, | ||
Ligne 222: | Ligne 193: | ||
} | } | ||
BezelDraw() | BezelDraw() | ||
- | + | ||
if (CassetteLoadingMethod=" | if (CassetteLoadingMethod=" | ||
Sleep,1000 | Sleep,1000 | ||
Ligne 230: | Ligne 201: | ||
SendCommand(" | SendCommand(" | ||
} | } | ||
- | + | ||
SendCommand(Command, | 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 | Sleep, 5000 | ||
IfWinExist, Atari800Win PLus Monitor | IfWinExist, Atari800Win PLus Monitor | ||
WinClose, Atari800Win PLus Monitor | WinClose, Atari800Win PLus Monitor | ||
- | + | ||
FadeInExit() | FadeInExit() | ||
Process(" | Process(" | ||
Ligne 243: | Ligne 213: | ||
FadeOutExit() | FadeOutExit() | ||
ExitModule() | ExitModule() | ||
- | + | ||
MultiGame: | MultiGame: | ||
Log(" | Log(" | ||
- | + | ||
If romExtension in .atr | If romExtension in .atr | ||
- | { Send !1 ; swaps a Disk | + | { Send !1; swaps a Disk |
wvTitle: | wvTitle: | ||
} Else If romExtension in .cas | } Else If romExtension in .cas | ||
- | { Send !t ; swaps a Tape | + | { Send !t; swaps a Tape |
wvTitle: | wvTitle: | ||
} Else | } Else | ||
ScriptError(romExtension . " is an invalid multi-game extension" | ScriptError(romExtension . " is an invalid multi-game extension" | ||
- | + | ||
WinWait(wvTitle) | WinWait(wvTitle) | ||
WinWaitActive(wvTitle) | WinWaitActive(wvTitle) | ||
Ligne 263: | Ligne 233: | ||
WinActivate, | WinActivate, | ||
Return | Return | ||
- | + | ||
CheckCreateFile(file){ | CheckCreateFile(file){ | ||
IfNotExist, %file% | IfNotExist, %file% | ||
Ligne 269: | Ligne 239: | ||
Return file | Return file | ||
} | } | ||
- | + | ||
CloseProcess: | CloseProcess: | ||
FadeOutStart() | FadeOutStart() | ||
BezelExit() | BezelExit() | ||
- | If (Fullscreen=" | + | If (Fullscreen=" |
{ | { | ||
PostMessage, | PostMessage, | ||
Ligne 281: | Ligne 251: | ||
Return | Return | ||
</ | </ | ||
+ | |||
==== Configuration ==== | ==== Configuration ==== | ||
- | Ajouter l' | + | Ajouter l' |
- | * Name : Atari 8-bit | + | * Name : Atari800WinPlus |
* Path : ..\Emulators\Atari800WinPlus\Atari800Win.exe | * Path : ..\Emulators\Atari800WinPlus\Atari800Win.exe | ||
* Rom Extensions : bin|bas | * Rom Extensions : bin|bas | ||
Ligne 294: | Ligne 265: | ||
{{ : | {{ : | ||
+ | |||
+ | FIXME : mettre a jour l' | ||
===== Liens ===== | ===== Liens ===== | ||
* Site officiel : [[https:// | * Site officiel : [[https:// |