Page 1 of 1

Integration of NullDC Naomi, groovymame, Taito Type X, Steam and 1964 Ultrafast

Posted: Sun Dec 01, 2013 1:20 pm
by Nocta
Hi, I'd like to know if it's possible to add compatibility between mgalaxy and some emulators i'm using:

The most important to me: 1964 Ultrafast, it's a N64 emulator that has an overclocked system so most games run at better framerate than with Project64 (Perfect Dark and GoldenEye in 60fps!).

NullDC Naomi, it's a mod of NullDC to run... Naomi games  :) (and also Atomiswave now that they are converted for Naomi emulators) but this mod doesn't work with dreamcast games and I'd like to know if I can use them both inside the Dreamcast section of mgalaxy or do i have to put them each in a different categorie?

For the Taito Type X (and X2), it's easy because it's .exe so i think i can just use the pc games section but can I use a different icon to represent this specific system ?

Some steam games are really cool in an arcade cabinet but I don't know how to launch them like a classic pc game through mgalaxy.

P.S.: May I use Shmupmame and Groovymame like a classic Mame build? Can I integrate them both under the Mame sytem (like what I'd like to do for NullDC and NullDC Naomi)?

Thanks a lot and sorry if it's a newb question, I just started to use mgalaxy instead of hyperspin yesterday and I LOVE IT!  :D
Nocta

Re: Integration of NullDC Naomi, Shmupmame, Taito Type X, Steam and 1964 Ultrafast

Posted: Mon Dec 02, 2013 6:19 pm
by Aeliss
NullDC Naomi can run atomiswave now ?
ATM I m using demul for this system and I really hate this emul (the application and the team).
Are you sure for that ? With good compatibility ?

You can use only 1 system for them with a script, NullDC normal for *.gdi and *.cdi and NullDc special for *.zip (My rom are in *.zip format but I m using demul)
A script like this one http://www.mgalaxy.com/forum/index.php?topic=508.0

for taitoX I m using the script for Windows application with a little patch for tetris

Code: Select all

;Parsing
Local $count = StringInStr($CmdLineRaw, ".exe", 0 , 1, 1)
local $app = StringLeft ( $CmdLineRaw, $count + 4 )
local $command = StringTrimLeft( $CmdLineRaw, $count + 4 )
if not $command then exit 0

;Get more info
$count = StringInStr($command, '"', 0 , 1, 1)
local $link = StringTrimLeft ( $command, $count  )
$link = StringTrimRight ( $link, 1 )
Local $aDetails = FileGetShortcut($link)
If @error Then exit
local $tmp = StringSplit($aDetails[0], "\")
local $apptorun = $tmp[$tmp[0]]


;run command
;Run ('"' & $app & '" ' & $command)
ShellExecute('"' & $link & '"')

;wait for application launched with protection loop
;wait for 5 s and exit if no application found
local $protloop = 10
While not(ProcessExists($apptorun))
    $protloop = $protloop - 1
   if ($protloop < 0) then exit 0
   sleep(500)
WEnd

;try to put in front
local $PID = GetProcessPID($apptorun)
local $WinName =  ProcessGetWindow($PID)
WinSetState($WinName,"",@SW_SHOW)
WinSetState($WinName,"",@SW_ENABLE)

;wait for close
While (ProcessExists($apptorun) or (ProcessExists("cmd.exe")))
   sleep(500)
WEnd

;To resolve bug in taito  Xom Tetris gran master
local $list = ProcessList("game.exe")
if $list[0][0] > 0 Then
   local $PID = $list[1][1]
   ProcessWaitClose($PID)
endif

Exit 0




;*********************************************************
;functions
;*********************************************************

Func GetProcessPID($name)
   Local $list = ProcessList($name)
   For $i = 1 To $list[0][0]
       If $list[$i][0] <> "" then
          Return $list[$i][1]
        Endif
   Next
   return 0
endFunc

Func ProcessGetWindow($PId)
    If IsNumber($PId) = 0 then
        SetError(1)
    Else
        Local $WinList = WinList()

        For $i = 1 To $WinList[0][0]
            If WinGetProcess($WinList[$i][0], "") = $PId Then
                return $WinList[$i][0]
            EndIf
        Next
        Return 0
    EndIf
 EndFunc

In systems.xml

Code: Select all

  <System>
    <Name>Taito X</Name>
    <AppPath>F:\emulateur\Mgalaxy\raccourcis\cmd.exe</AppPath>
    <RomPath>F:\emulateur\Mgalaxy\raccourcis\taitoX</RomPath>
    <SnapPath>F:\emulateur\Mgalaxy\snapsemul\TaitoX</SnapPath>
    <VidPath />
    <Emu selected="0">
      <Cmd id="0" name="Application shortcut" value="/C "%path\%file%ext"" />
    </Emu>
    <Extensions>.lnk</Extensions>
    <Active>True</Active>
    <Script>True</Script>
    <Database>False</Database>
  </System>
I have the file cmd.exe in the folder "raccourcis" with the script "mGalaxy_Script.exe". And you need to create a new folder called "Taito X" with your new icon.
All explications here http://www.mgalaxy.com/forum/index.php?topic=263.0
ATM mGalaxy isn't perfect for this system, (some focus problem) But the dev have already corrected this problem for the next version.

And he had just put the script for ultrafast.

Re: Integration of NullDC Naomi, Shmupmame, Taito Type X, Steam and 1964 Ultrafast

Posted: Mon Dec 02, 2013 6:29 pm
by Nocta
Here is the info for the Atomiswave games that are made to work perfectly with every Naomi emulator: http://64darksoft.blogspot.fr/

Can you help me with the two scripts for NullDC, i'm quite lost with coding...

Thank you so much for the script concerning 1964 but the download seems to not work. How can i make a script out of the code text you gave me for taito and the one for 1964?  :o

Thanks again.  :D

Re: Integration of NullDC Naomi, Shmupmame, Taito Type X, Steam and 1964 Ultrafast

Posted: Mon Dec 02, 2013 6:45 pm
by Aeliss
CPS3 isn't only for capcom game ?
I can't see compatibility list for NullDC on his site, only "working on mame", and I haven't see the files yet ^^, I will take a look later.

Infos for autoit script here http://www.mgalaxy.com/forum/index.php?topic=275.0

For your script, I m not at my home, so I can't try the NulDC special version but if you know the command line you just have to modify this script (not tested)

Code: Select all

;Parsing
Local $count = StringInStr($CmdLineRaw, ".exe", 0 , 1 , 1)
local $app = StringLeft ( $CmdLineRaw, $count + 4 )
local $command = StringTrimLeft( $CmdLineRaw, $count + 4 )
if not $command then exit 0

HotKeySet("{ESC}", "Terminate")

$count = StringInStr($command, "DefaultImage=", 0 , 1 , 1)
local $file = StringTrimLeft($command,$count + 13)
$file = StringTrimRight($file, 1)
local $ext = StringRight($file, 3 )

;Here you need to chnage the command line
if StringInStr($ext,"cdi") Then
   $command = $app & ' -config ImageReader:DefaultImage="' & $file & '"'
else StringInStr($file,"zip") Then
   $command = $app & ' -config ImageReader:DefaultImage="' & $file & '"'

 $PID = Run ($command)


while _WinWaitActivePID($PID)
   sleep(500)
wend

While ProcessExists ( $PID )
   Sleep(500)
WEnd

exit 0


;functions
Func Terminate()
   While ProcessExists ( $PID )
	  ProcessClose ( $PID )
   WEnd
   Exit 0
EndFunc

Func _WinWaitActivePID($iPid)
   While 1
	  Local $list = WinList()
	  For $i = 1 To $list[0][0]
		 If $list[$i][0] <> "" And IsVisible($list[$i][1]) Then
			If WinGetProcess($list[$i][1]) = $iPid AND WinActive($list[$i][1]) Then Return $list[$i][0]
		 EndIf
	  Next
   WEnd
EndFunc

Func IsVisible($handle)
   If BitAND(WinGetState($handle), 2) Then
	  Return 1
   Else
	  Return 0
   EndIf
EndFunc
$app = The application configured, if you want to use the other NULLDC version chnage the last line with something like this


Code: Select all

if StringInStr($ext,"cdi") Then
   $command = $app & ' -config ImageReader:DefaultImage="' & $file & '"'
else StringInStr($file,"zip") Then
   $command = '"c:/NullDC_Naomi\NulDDC.exe"' & ' -IDK_the_command_line="' & $file & '"'
The file for 1964 are working for me, perhaps it s because your antivirus (It's an exe file)

Ps ; this link http://www.mgalaxy.com/forum/index.php?topic=263.0 is out of date, now the files are in the folder "Data" inside mGalaxy.

Re: Integration of NullDC Naomi, Shmupmame, Taito Type X, Steam and 1964 Ultrafast

Posted: Mon Dec 02, 2013 7:26 pm
by mgalaxy
Thank you so much for the script concerning 1964 but the download seems to not work.
The download link works..I just verified it...what's the problem ?
this link http://www.mgalaxy.com/forum/index.php?topic=263.0 is out of date, now the files are in the folder "Data" inside mGalaxy.
"Unfortunately" not for too long...this folder will be back to the user's appdata folder on the next version...there's too much problem with a lot of users and their writing rights.

Re: Integration of NullDC Naomi, Shmupmame, Taito Type X, Steam and 1964 Ultrafast

Posted: Tue Dec 03, 2013 12:17 am
by Nocta
Thanks again guys!

The download link works fine now, I couldn't get it in the afternoon, no idea why...

Concerning the "Breaking CPS3" blog, the guy was part of the team who broke the CPS3 system I think but now he's working on converting Atomiswave games to Naomi and for the last games that you see him talking about "working with Mame but not with Naomi", it means that the game is not yet converted properly but few post under: here, you can see wich games he already converted.

Then check the different posts to get the roms. The fresh news ones are only available to 20$ VIP donators straight away but after each 10 "public donations" one or two new game converted are offered to everyone and then on and on (is that clear? :( sorry I'm french... ::) ).

Then you can launch those roms with any Naomi emulator, I'm just using NullDC because it's my favorite and the only one working on my 15khz system which needs an old ATI 4xxx card for groovymame's custom modelines.

Thanks a lot Aeliss for helping me with the scripts, I'll try that and let you know if I got any problem.

P.S.: It's sad that the writing rights will stop mgalaxy from being portable, I love this point about it, you just bring it on a key and play at a friend's couch! :D

P.S.S.: Just a last question (and the MOST important to me!): can I use groovymame instead of mame and does mgalaxy is knowned to make any problem with the custom modelines (like hyperspin do for exemple :-\)?

Thanks guys, you're making a great job here and I fu..... love your frontend. I'm gonna get 2 donator's theme to support you as soon as I'm sure I can use groovymame and the custom modelines with it! :D

Re: Integration of NullDC Naomi, groovymame, Taito Type X, Steam and 1964 Ultrafast

Posted: Tue Dec 03, 2013 5:20 pm
by Aeliss
I m agree with you, I was really happy when mGalaxy became portable, but apparently too much people aren't admin on their own computers (or haven't desactived all the ****ing windows useless protections) and for microsoft, security don't work with ergonomy.

I hope for a special feature for power user to keep this functionnality.

For groovymame, you can make a try ^^ . It s good to know, I m curious to see. But mGalaxy is realy light, it rarely interfere with the emulator (It s for that we use separated script).

Re: Integration of NullDC Naomi, groovymame, Taito Type X, Steam and 1964 Ultrafast

Posted: Tue Dec 03, 2013 7:51 pm
by mgalaxy
[quote="Aeliss"]
I m agree with you, I was really happy when mGalaxy became portable, but apparently too much people aren't admin on their own computers (or haven't desactived all the ****ing windows useless protections) and for microsoft, security don't work with ergonomy.

I hope for a special feature for power user to keep this functionnality.[/quote]

This is my attempt to satisfy everyone ;-)

Re: Integration of NullDC Naomi, groovymame, Taito Type X, Steam and 1964 Ultrafast

Posted: Tue Dec 03, 2013 9:01 pm
by Nocta
Perfect ! Thanks a lot.  ;)

Re: Integration of NullDC Naomi, groovymame, Taito Type X, Steam and 1964 Ultrafast

Posted: Wed Dec 04, 2013 6:10 pm
by Aeliss
Lol, yeah thx ^^.

Re: Integration of NullDC Naomi, groovymame, Taito Type X, Steam and 1964 Ultrafast

Posted: Fri Dec 06, 2013 12:56 pm
by Nocta
Ok Groovymame seems to work perfectly well, I have still to check if the custom modelines works well too!  :D

So now the last step for perfection, any way to launch Steam games too?  ;)

Re: Integration of NullDC Naomi, groovymame, Taito Type X, Steam and 1964 Ultrafast

Posted: Fri Dec 06, 2013 6:38 pm
by Aeliss
I don't use steam but I think it s the same procedure than for lnk but with using url file, with cmd.exe.