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:bandai-super-vision-8000 [2017/01/31 16:28] oijkn |
tutos:software:systemes:bandai-super-vision-8000 [2017/02/10 22:59] thesalan Correctif |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Bandai Super Vision 8000 ====== | + | ====== |
- | __Tutoriel original__ : micaelo14 du 29/04/2016 | + | ===== Présentation ===== |
- | {{ | + | {{ :tutos: |
- | <hidden Descriptif :> | ||
- | |||
- | \\ | ||
Le Bandai de Super Vision 8000 est une console maison de jeu vidéo publié par Bandai en 1979 appartenant à la deuxième génération . La console peut être connecté directement à un téléviseur. | Le Bandai de Super Vision 8000 est une console maison de jeu vidéo publié par Bandai en 1979 appartenant à la deuxième génération . La console peut être connecté directement à un téléviseur. | ||
- | |||
Cette console a été le dernier de la série de la console Bandai TV Jack, mais était complètement différent des autres consoles de la série. Le Super Vision 8000 avait une centrale CPU . Les autres consoles appartenaient à la première génération: | Cette console a été le dernier de la série de la console Bandai TV Jack, mais était complètement différent des autres consoles de la série. Le Super Vision 8000 avait une centrale CPU . Les autres consoles appartenaient à la première génération: | ||
- | </hidden> | + | ===== Emulateurs compatibles ===== |
+ | |||
+ | * [[: | ||
+ | |||
+ | ===== Installation sous RocketLauncher ===== | ||
+ | |||
+ | Pour ce tutoriel, le système Bandai Super Vision 8000 a été validé avec la version **0.151** de l' | ||
+ | |||
+ | ==== Installation de l' | ||
+ | |||
+ | {{page>tutos: | ||
+ | |||
+ | ==== Module ==== | ||
- | __**Ce système utilise MESS mais j' | + | Téléchargez le module |
- | <hidden Module :> | + | <wrap lo> |
- | <code> | + | <file autohotkey MESS SuperVision.ahk> |
MEmu = MESS | MEmu = MESS | ||
MEmuV = v0.151 | MEmuV = v0.151 | ||
Ligne 35: | Ligne 43: | ||
; This site can help a ton with details for the various systems supported: http:// | ; This site can help a ton with details for the various systems supported: http:// | ||
; You may get a black screen or MESS may close w/o notice if you do not have a bios rom for your system when one is needed. | ; You may get a black screen or MESS may close w/o notice if you do not have a bios rom for your system when one is needed. | ||
- | ; If you use bezel, it is recommended to set the module bezel mode to normal, and go to your mess.ini file, on your emulator folder, and choose these options: artwork_crop 1, use_backdrops 1, use_overlays 1, use_bezels 0 | + | ; If you use bezel, it is recommended to set the module bezel mode to normal, and go to your mess.ini file, on your emulator folder, and choose these options: artwork_crop 1, use_backdrops 1, use_overlays 1, use_bezels 0 |
; | ; | ||
; Following systems require a BIOS zip with their roms inside, placed in the " | ; Following systems require a BIOS zip with their roms inside, placed in the " | ||
Ligne 136: | Ligne 144: | ||
BezelGUI() | BezelGUI() | ||
FadeInStart() | FadeInStart() | ||
- | </ | ||
- | \\ | + | ; This object controls how the module reacts to different systems. MESS can play a lot of systems, but needs to know what system you want to run, so this module has to adapt. |
- | </hidden> | + | mType := Object(" |
+ | |||
+ | ident := mType[systemName] ; search object for the systemName identifier MESS uses | ||
+ | If !ident | ||
+ | ScriptError(" | ||
+ | |||
+ | settingsFile := modulePath . "\" . moduleName . " | ||
+ | Fullscreen := IniReadCheck(settingsFile, | ||
+ | Videomode := IniReadCheck(settingsFile, | ||
+ | hlsl := IniReadCheck(settingsFile, | ||
+ | bezelMode := IniReadCheck(settingsFile, | ||
+ | UseSoftwareList := IniReadCheck(settingsFile, | ||
+ | userparams := IniReadCheck(settingsFile, | ||
+ | Artwork_Crop := IniReadCheck(settingsFile, | ||
+ | Use_Bezels := IniReadCheck(settingsFile, | ||
+ | Use_Overlays := IniReadCheck(settingsFile, | ||
+ | Use_Backdrops := IniReadCheck(settingsFile, | ||
+ | |||
+ | 7z(romPath, romName, romExtension, | ||
+ | |||
+ | If (bezelEnabled = " | ||
+ | artworkCrop := If (Artwork_Crop = " | ||
+ | useBezels := If (Use_Bezels = " | ||
+ | useOverlays := If (Use_Overlays = " | ||
+ | useBackdrops := If (Use_Backdrops = " | ||
+ | ListXMLtable := [] | ||
+ | ListXMLtable := ListXMLInfo(ident) | ||
+ | If bezelMode = layout | ||
+ | BezelStart(ident, | ||
+ | Else if !(Use_Bezels = " | ||
+ | BezelStart(,, | ||
+ | } Else { | ||
+ | artworkCrop := " | ||
+ | useBezels := " | ||
+ | useOverlays := " | ||
+ | useBackdrops := " | ||
+ | } | ||
+ | |||
+ | winstate := If (Fullscreen = " | ||
+ | fullscreen := If (Fullscreen = " | ||
+ | videomode := If (Videomode != "" | ||
+ | hlsl := If hlsl = " | ||
+ | param1 := "-cart " . """" | ||
+ | |||
+ | If romExtension = .txt ; This can be applied to all systems | ||
+ | param1:= | ||
+ | |||
+ | If ident = apfimag ; APF Imagination Machine | ||
+ | If romExtension != .tap | ||
+ | ident = apfm1000 ; cart games for APF Imagination Machine require a different bios to be loaded | ||
+ | |||
+ | If UseSoftwareList != true | ||
+ | { ; Now that we know the system we are loading, determine if we use an ini assocated with that system for custom game configs a user might need. Then load the configs associated to that game. | ||
+ | If ident in apple2gs, | ||
+ | { messSysINI := CheckFileMESS(modulePath . " | ||
+ | If ident = ti99_4a ; Texas Instruments TI 99-4A | ||
+ | { mainCart := IniReadCheck(messSysINI, | ||
+ | basicCart := IniReadCheck(messSysINI, | ||
+ | expansionLocation := IniReadCheck(messSysINI, | ||
+ | ; Now set the parameters to send to mess | ||
+ | If romExtension = .dsk ; Expansion Disk | ||
+ | ; If using the mainCart , send expansionLocation to MESS. This will require DirectInput to be enabled on the MESS build! Else we are loading a Disk game | ||
+ | param1: | ||
+ | Else If romExtension = .rpk ; Cart Game (RPK Format) | ||
+ | param1: | ||
+ | param6 := " | ||
+ | }Else if ident = apple2gs ; Apple IIGS | ||
+ | { externalOS := IniReadCheck(messSysINI, | ||
+ | 2gsSystemFile: | ||
+ | multipartTable: | ||
+ | |||
+ | If externalOS = true | ||
+ | { CheckFile(romPath . " | ||
+ | param1: | ||
+ | }Else{ | ||
+ | param1: | ||
+ | If (multipartTable.MaxIndex() > 1) | ||
+ | param3: | ||
+ | } | ||
+ | param5 := " | ||
+ | }Else if ident = odyssey2 ; Magnavox Odyssey 2 | ||
+ | param2 := " | ||
+ | |||
+ | ;Use a different bios if needed (This must be done after the above if conditions since the ident will change) | ||
+ | iniBios := IniReadCheck(messSysINI, | ||
+ | If (iniBios != "" | ||
+ | ident := iniBios ; need to change the bios name for some games | ||
+ | } | ||
+ | |||
+ | ; These systems don't use an ini, but do require parameters to be changed from the default method of launching Mess | ||
+ | If ident = aes ; SNK Neo Geo AES | ||
+ | { param1 := "-bios asia" ; can also be japan, but the asian one has english menus for most games | ||
+ | param2 := " | ||
+ | param3 := "-cart " . romName | ||
+ | }Else If (ident = " | ||
+ | { If romExtension not in .chd,.cue | ||
+ | ScriptError(" | ||
+ | If (systemName = "NEC TurboGrafx-CD" | ||
+ | ; tgcdBios := CheckFile(emuPath . " | ||
+ | tgcdBios := CheckFile(emuPath . " | ||
+ | param2 := "-cart " . """" | ||
+ | } Else If (ident = " | ||
+ | ident = psu ; changing ident sent to Mess to use the USA bios | ||
+ | ; SelectMemCard() ; future function to swap around memcards | ||
+ | ; Usage: mc1 " | ||
+ | } If (systemName = "Sega CD") { ; | ||
+ | If InStr(romName," | ||
+ | ident = megacd2j | ||
+ | Else If InStr(romName," | ||
+ | ident = megacd | ||
+ | } | ||
+ | param1 := "-cdrm " . """" | ||
+ | }Else If ident = gamecom ; Tiger Game.com | ||
+ | { If romExtension != .txt | ||
+ | param1 := " | ||
+ | }Else If ident = vii ; KenSingTon Sport Vii | ||
+ | { If romName = Built-In Games (China) ; Has some built-in games, gotta launch just BIOS for it. | ||
+ | param1:= | ||
+ | }Else If ident = alice32 ; Matra & Hachette Alice | ||
+ | { If romExtension != .txt | ||
+ | param1 := " | ||
+ | }Else If ident = coco3 ; Tandy TRS-80 Color Computer 3 | ||
+ | { If romExtension != .txt | ||
+ | param1 := "-cart " . """" | ||
+ | }Else If ident = zx81 ; Sinclair ZX81 | ||
+ | { If romExtension != .txt | ||
+ | param1 := " | ||
+ | }Else If ident = sorcerer ; Exidy Sorcerer | ||
+ | { If romExtension = .snp ; Snapshot file | ||
+ | { | ||
+ | param1 := "-dump " . """" | ||
+ | } Else If romExtension = .bin | ||
+ | { | ||
+ | param1 := "-quik " . """" | ||
+ | } | ||
+ | }Else If ident = a800 ; Atari 8-bit | ||
+ | { If romExtension != .txt | ||
+ | param1 := " | ||
+ | }Else If ident = samcoupe ; MGT Sam Coupe | ||
+ | { If romExtension != .txt | ||
+ | param1 := " | ||
+ | }Else If ident = vectrex ; GCE Vectrex | ||
+ | { If romName = Mine Storm (World) ; Mess dumps an error if you try to launch Mine Storm using a rom instead of just booting vectrex w/o a game in it (Mine Storm is built into vectrex) | ||
+ | param1:= | ||
+ | }Else If ident = adam ; Coleco ADAM | ||
+ | param1 := (If romExtension = " | ||
+ | }Else{ ; Use Software List | ||
+ | hashname := ident | ||
+ | param1 := " | ||
+ | |||
+ | If ident = aes ; SNK Neo Geo AES | ||
+ | { hashname := " | ||
+ | param2 := "-bios asia" ; can also be japan, but the asian one has english menus for most games | ||
+ | } | ||
+ | |||
+ | |||
+ | CheckFile(emuPath . " | ||
+ | } | ||
+ | |||
+ | If ident = vectrex ; GCE Vectrex | ||
+ | param2 := "-view " . (If (FileExist(emuPath . " | ||
+ | |||
+ | ; use a custom cfg file if it exists and append it to param1 | ||
+ | IfExist, % emuPath . " | ||
+ | param1 := " | ||
+ | |||
+ | If ident = mbee | ||
+ | { | ||
+ | sleep, 10 | ||
+ | param1 := " | ||
+ | } | ||
+ | |||
+ | If ident = mbeeic | ||
+ | { | ||
+ | sleep, 10 | ||
+ | param1 := " | ||
+ | } | ||
+ | |||
+ | If ident = fm7 | ||
+ | { | ||
+ | sleep, 10 | ||
+ | param1 := " | ||
+ | } | ||
+ | |||
+ | If ident = kontiki | ||
+ | { | ||
+ | sleep, 10 | ||
+ | param1 := " | ||
+ | } | ||
+ | |||
+ | If ident = starwbc | ||
+ | { | ||
+ | sleep, 100 | ||
+ | Run(executable . A_Space . ident . A_Space . param1 . A_Space . param2 . A_Space . param3 . A_Space . param4 . A_Space . param5 . A_Space . param6 . A_Space . userparams . A_Space . fullscreen . A_Space . hlsl . A_Space . videomode . A_Space . artworkCrop . A_Space . useOverlays . A_Space . useBackdrops . " -skip_gameinfo", | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | sleep, 100 | ||
+ | Run(executable . A_Space . ident . A_Space . param1 . A_Space . param2 . A_Space . param3 . A_Space . param4 . A_Space . param5 . A_Space . param6 . A_Space . userparams . A_Space . fullscreen . A_Space . hlsl . A_Space . videomode . A_Space . artworkCrop . A_Space . useBezels . A_Space . useOverlays . A_Space . useBackdrops . " -skip_gameinfo", | ||
+ | } | ||
+ | |||
+ | ; Run(executable . A_Space . ident . A_Space . param1 . A_Space . param2 . A_Space . param3 . A_Space . param4 . A_Space . param5 . A_Space . param6 . A_Space . userparams . A_Space . fullscreen . A_Space . hlsl . A_Space . videomode . A_Space . artworkCrop . A_Space . useBezels . A_Space . useOverlays . A_Space . useBackdrops . " -skip_gameinfo", | ||
+ | |||
+ | If(ErrorLevel != 0){ | ||
+ | If (ErrorLevel = 1) | ||
+ | Error = Failed Validity | ||
+ | Else If(ErrorLevel = 2) | ||
+ | Error = Missing Files | ||
+ | Else If(ErrorLevel = 3) | ||
+ | Error = Fatal Error | ||
+ | Else If(ErrorLevel = 4) | ||
+ | Error = Device Error | ||
+ | Else If(ErrorLevel = 5) | ||
+ | Error = Game Does Not Exist | ||
+ | Else If(ErrorLevel = 6) | ||
+ | Error = Invalid Config | ||
+ | Else If ErrorLevel in 7,8,9 | ||
+ | Error = Identification Error | ||
+ | Else | ||
+ | Error = MESS Error | ||
+ | ScriptError(" | ||
+ | } | ||
+ | |||
+ | WinWait(" | ||
+ | WinWaitActive(" | ||
+ | |||
+ | |||
+ | BezelDraw() | ||
+ | |||
+ | If romName = ICBMromName ; for Bally Astrocade only | ||
+ | { Sleep, 2000 ; increase if you don't see the title screen | ||
+ | SetKeyDelay, | ||
+ | Send, {F3 down}{F3 up} ; sends a reset to MESS, needed for ICBM to boot | ||
+ | } | ||
+ | |||
+ | FadeInExit() | ||
+ | Process(" | ||
+ | 7zCleanUp() | ||
+ | BezelExit() | ||
+ | FadeOutExit() | ||
+ | ExitModule() | ||
+ | |||
+ | |||
+ | ; This will simply create a new blank ini if one does not exist | ||
+ | CheckFileMESS(file){ | ||
+ | IfNotExist, %file% | ||
+ | FileAppend,, | ||
+ | Return file | ||
+ | } | ||
+ | |||
+ | ListXMLInfo(rom){ ; returns MAME/MESS info about parent rom, orientation angle, resolution | ||
+ | Global emuFullPath, | ||
+ | ListXMLtable := [] | ||
+ | Log(" | ||
+ | RunWait, % comspec . " /c " . """" | ||
+ | Fileread, ListxmlContents, | ||
+ | RegExMatch(ListxmlContents, | ||
+ | RegExMatch(parent," | ||
+ | RegExMatch(parent,"""" | ||
+ | StringTrimLeft, | ||
+ | RegExMatch(ListxmlContents, | ||
+ | RegExMatch(angle," | ||
+ | RegExMatch(ListxmlContents, | ||
+ | RegExMatch(width," | ||
+ | RegExMatch(ListxmlContents, | ||
+ | RegExMatch(Height," | ||
+ | ListXMLtable[1] := parent | ||
+ | ListXMLtable[2] := angle | ||
+ | If (ListXMLtable[2]<> | ||
+ | ListXMLtable[3] := height | ||
+ | Else | ||
+ | ListXMLtable[3] := width | ||
+ | If (ListXMLtable[2]<> | ||
+ | ListXMLtable[4] := width | ||
+ | Else | ||
+ | ListXMLtable[4] := height | ||
+ | FileDelete, %emuPath%\tempBezel.txt | ||
+ | Return ListXMLtable | ||
+ | } | ||
+ | |||
+ | BezelLabel: | ||
+ | WinSet, Transparent, | ||
+ | Return | ||
+ | |||
+ | CloseProcess: | ||
+ | FadeOutStart() | ||
+ | WinClose(" | ||
+ | Return | ||
+ | </file> | ||
+ | |||
+ | ==== Configuration ==== | ||
+ | |||
+ | Ajouter l' | ||
+ | |||
+ | * Name : SuperVision | ||
+ | * Path : ..\Emulators\MESS\mess64.exe | ||
+ | * Rom Extensions : zip|cpr|rar|bin|a26|a52|a78|lnx|snp|rom|int|cue|iso|chd|st2|sg|7z|dsk|lbr|bas|com|md5|sad|ticart | ||
+ | * Module : MESS SuperVision.ahk | ||
+ | * GUI Path : | ||
+ | * CLI Parameters : | ||
+ | |||
+ | ==== Ajout du système ==== | ||
+ | |||
+ | Il ne reste plus qu'à ajouter le système, en choisissant l' | ||
- | Tout marche impec ;) | + | FIXME : donner plus de détails sur cette étape. |
+ | ===== Liens ===== | ||
+ | * Tutoriel d' |