Here is the TecnoParrot emulator module. For those who want to run directly from emulator instead of GameLoader All RH.
First you will have to add this to your "Global Emulators.ini" file located on Rocketlauncher\Settings folder:
Code:
[Tecno Parrot]
Emu_Path=..\Emulators\Emuls\TeknoParrot_0.71\DumbJVSManager.exe
Rom_Extension=txt|exe
Module=Tecno Parrot.ahk
Pause_Save_State_Keys=
Pause_Load_State_Keys=
By doing this, next time you run Rocket launcher it will reconignize Tencoparrot as an emulator.
You will have to change Emu_Path
Now the module:
- Go to your Rocketlauncher\modules folder and create a "Tecno Parrot" folder (it has to have the same name as you named in the "Global Emulators.ini" file [Tecno Parrot].
- Now Create a new file, name it as "Tecno Parrot.ahk" and copy / paste this code:
Code:
MEmu := "Tecno Parrot"
MEmuV := "v0.71"
MURL := ["https://teknogods.com/phpbb/viewforum.php?f=83&sid=ba6d19d6fd412c2ce7668bc3b9cde963"]
MAuthor := ["jviegas"]
MVersion := "1.0"
MCRC := "1438D4EF"
iCRC := "6A2437FE"
MID := "635860796513198676"
MSystem := ["Sega Ring","Sega Ringwide","Sega Ringedge"]
;----------------------------------------------------------------------------
; Notes:
;----------------------------------------------------------------------------
StartModule()
BezelGUI()
FadeInStart()
primaryExe := new Emulator(emuPath . "\" . executable) ; instantiate emulator executable object
selectKey := moduleIni.Read("Settings", "Select_Key", navSelectKey,,1)
myGames := moduleIni.Read("Settings", "My_Games","Initial D Arcade Stage 6 AA|Let's Go Island - Lost on the Island of Tropics|Melty Blood - Actress Again Current Code|Dream Raiders|Sega Racing Classic|Sonic & Sega All-Stars Racing Arcade|Virtua Tennis 4",,1) ; | separated list of the games
emuPrimaryWindow := new Window(new WindowTitle("Dumb JVS Manager 0.71"))
myGamesArray := []
Loop, Parse, myGames, |
{
myGamesArray[A_Index] := A_Loopfield
If (romName = A_Loopfield) {
thisGamePos := A_Index ; store the position (in the array) this game was found
thisGameArray := "myGamesArray" ; save the array this game was found in
RLLog.Info("Module - Found """ . romName . """ at position " . thisGamePos . " in MyGames")
}
}
BlockInputExe := new Process(moduleExtensionsPath . "\BlockInput.exe")
BlockInputExe.CheckFile()
If !thisGameArray
ScriptError("This game """ . romName . """ was not found in My Games folder. Please check its name that it matches what the module recognizes.")
RLLog.Info("Module - Game """ . romName . """ was found in array """ . thisGameArray . """ at position " . thisGamePos)
BezelStart()
hideEmuObj := Object(emuPrimaryWindow,1)
HideAppStart(hideEmuObj,hideEmu)
PrimaryExe.Run()
emuPrimaryWindow.Wait()
emuPrimaryWindow.WaitActive()
; Calculate the number of drop-downs
y := thisGamePos
KeyUtils.Send("{TAB down}{TAB up}")
Loop % y
{ KeyUtils.Send("{Down Down}{Down Up}")
Sleep, 50
}
KeyUtils.Send("{TAB down}{TAB up}")
KeyUtils.Send("{TAB down}{TAB up}")
KeyUtils.Send("{" . selectKey . " Down}{" . selectKey . " Up}")
BlockInputExe.Process("Close") ; end script that blocks all input
BezelDraw()
HideAppEnd(hideEmuObj,hideEmu)
FadeInExit()
primaryExe.Process("WaitClose")
;Process("WaitClose", "DumbJvsCmd.exe")
BezelExit()
FadeOutExit()
ExitModule()
CloseProcess:
FadeOutStart()
emuPrimaryWindow.Close()
Return
- The module will ask for roms folder. Create A folder with dummy txt files with names as your games database and set it up on rocketlauncher
- This module is updated for TecnoParrot 0.71. For future releases you will have to:
a) Change the module code line emuPrimaryWindow := new Window(new WindowTitle("Dumb JVS Manager 0.71")).
Example: If a new version comes out for 0.71b your line in the code will be emuPrimaryWindow := new Window(new WindowTitle("Dumb JVS Manager 0.71b")).
I could not make it work identifing the exe file which is always the same name. If someone could help on this it will be nice.
b) change the myGames array. In the emulator, the games are droped-down alphabetically. If a new game is added to future releases all you have to do is add that game to the array on the same order as the emulator
myGames := moduleIni.Read("Settings", "My_Games","Initial D Arcade Stage 6 AA|Let's Go Island - Lost on the Island of Tropics|Melty Blood - Actress Again Current Code|Dream Raiders|Sega Racing Classic|Sonic & Sega All-Stars Racing Arcade|Virtua Tennis 4",,1) ; | separated list of the games
Example: If Sega Golden Gun is realeased your array will be
myGames := moduleIni.Read("Settings", "My_Games","Initial D Arcade Stage 6 AA|Let's Go Island - Lost on the Island of Tropics|Melty Blood - Actress Again Current Code|Dream Raiders|Sega Golden Gun|Sega Racing Classic|Sonic & Sega All-Stars Racing Arcade|Virtua Tennis 4",,1) ; | separated list of the games
This module will open the emulator, select the game and run it.
Make sure the emulator works without Rocketlauncher and all should run fine.
This module was tested for Tecnoparrot 0.71 and works 100% on Rocketlauncher and Hyperspin.
It's the module I'm using to run Sega Ring games.
Let me know if it also worked on your computer.
I hope it works.
Enjoy