Teknoparrot help launching games

bigcam

Member
RL Member
there is a relatively new emu out called teknoparrot that runs sega ringedge games could someone tell me how i would go about launching the game through rlauncher please or is there a module in the works?
 

jviegas

Member
RL Member
I had already made that request.
I had the same answer so I've decided to build a module by myself.
PCLauncher solution only works if you use Gameloader All RH and I wanted to work by TecnoParrot it self.


It's done, it's working and I'm using it on my Hyperspin wheel.

PM me if you need it.
 

brolly

Administrator
Developer
You can definitely launch TecnoParrot directly using PCLauncher as well, it simply needs different CLI arguments for each game.

Anyway if you made a specific TecnoParrot module why don't you post it and share it with others? That's the whole point of a community you can't expect us to be creating every single requested module by ourselves.
 

jviegas

Member
RL Member
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
 

albertoonezio

New member
RL Member
How would you look in a .bat

start dumbjvscmd 6
ParrotLoader.exe "G:\Sonic\game.exe"
taskkill /im dumbjvscmd.exe /f

Here is the number of each game for the command dumbjvscmd
Please insert proper game mode.
Modes:
Mode Number: 0, GameName: Let's Go Island
Mode Number: 1, GameName: Melty Blood Actress Again Current Code
Mode Number: 2, GameName: Sega Racing Classic
Mode Number: 3, GameName: Virtua Tennis 4
Mode Number: 4, GameName: Virtua-R Limit
Mode Number: 5, GameName: ABDE Test Layout
Mode Number: 6, GameName: Sega Sonic All-Stars Racing Arcade
Mode Number: 7, GameName: Sega Dream Raiders
Mode Number: 8, GameName: Initial D6AA

Recalling that this is gives public version 0.71.
 
Last edited:

jviegas

Member
RL Member
I was wrong, it's possible to run tecno Parrot using batch files and PCLauncher module.

However I still believe that emulator module way is better.
 

brolly

Administrator
Developer
A couple of suggestions:
You should use "Dumb JVS Manager" instead of "Dumb JVS Manager 0.71" and this way you don't need to be updating the module on every new release.
Also, get rid of all those KeyUtils calls which are very prone to errors and make use of the emulator CLI like albertoonezio suggested this will be a much cleaner solution, this was also what I meant when I said you can use PCLauncher for this (you don't need any batch files btw).
You are not calling BlockInputExe on your module, only closing it. Also, I believe RL already has a setting to block input during launch so this shouldn't be necessary.
 

jviegas

Member
RL Member
"You should use "Dumb JVS Manager" instead of "Dumb JVS Manager 0.71""

I've tried to do it, but the window caption is "Dumb JVS Manager 0.71" so I coudn't make it work in a different way.
After may hours trying to make it work, I gave up and use it the easy way.

Ok, I will review the module to have a cleaner solution.
 
Last edited:

brolly

Administrator
Developer
I've tried to do it, but the window caption is "Dumb JVS Manager 0.71" so I coudn't make it work in a different way.
That shouldn't matter unless you have title match set to exact which isn't the default with RL, are you sure it doesn't work?
Another option would be to use the window class name if that's distinct.
 

williecoiote

New member
I need help. I'm having trouble configuring the games: Sega Golden Gun and Sega Dream Raiders in Rocketlauncher. I create the .bat file of both as below:
Sega Golden Gun:
start DumbJvsCmd 9
ParrotLoader.exe "E:\HyperSpin\roms\SegaRing Roms\Golden Gun\exe\Golden Gun.exe"
taskkill /im dumbjvscmd.exe /f
Modes:
Mode Number: 9, GameName: Golden Gun

Sega Dream Raiders
start DumbJvsCmd 7
ParrotLoader.exe "E:\HyperSpin\roms\SegaRing Roms\Sega Dream Riders\prg\Sega Dream Riders.exe"
taskkill /im dumbjvscmd.exe /f

Only when starting the Golden Gun, starts the Dream Raiders. And if you start the Dream Raiders, start the Golden Gun. How can I solve this?
Thanks!
 

gStAv

New member
Supporter
RL Member
I am using the PC Launcher module and running the games with Gameloader All RH (v272)
They all works perfectly fine outside RL but I get focus error in RL and something about a module failure...
I have all the games in the Arcade PC list and have blank .bat files with the same name as the folders.

I also think it worked before the TeknoParrot 0.8


Have I missed some step in the module setup?

Regards
 

gStAv

New member
Supporter
RL Member
Here is the focus error window...
Would be grateful if anyone have any fix for this :hmmmm2:
focus_error.png
 

dnm

New member
Hi, I've used this batch to launch game outside the DumbJVSManager; games start but I've not control ingame...
If I launch from the manager alla games works ?
suggestions ?
 

Hunico

New member
Hello, I have teknoparrot 0.8 and launch games with .bat
Now I will try the same with teknoparrot 1.02 and ford racing and sega rally

What is the number module for this games??

thanks
 
Top