Attract-Mode Support Forum
Attract-Mode Support => General => Topic started by: Sebiohazard on August 20, 2021, 07:31:05 AM
-
Hello everyone !
There is a great mystery that I would like to elucidate in Attract, I will explain this to you :)
For now I have two emulators one for the SNES & the other for the Radio Shack TRS-80 here are the configuration files for each of them:
For Snes9x:
executable emulators\snes9x\snes9x.exe
args -fullscreen "[romfilename]"
rompath ..\..\..\..\attract\games\snes
romext .smc
exit_hotkey Escape
artwork boxart menu-art\boxart\snes
artwork cartart menu-art\cartart\snes
artwork marquee menu-art\marquee
artwork snap menu-art\snap\snes
artwork wheel menu-art\wheel\snes
For TRS80GP:
executable emulators\trs80gp\trs80gp.exe
args -vf -d0 "[romfilename]"
rompath ..\..\games\trs-80
romext .dsk
exit_hotkey Escape
artwork boxart menu-art\boxart\trs-80
artwork cartart menu-art\cartart\trs-80
artwork marquee menu-art\marquee
artwork snap menu-art\snap\trs-80
artwork wheel menu-art\wheel\trs-80
1. Why is the "games" directory not recognized like other directories ? Attract does not recognize newly created directories as relative path ?!
2. Why for the Snes9x emulator the relative path is ..\..\..\..\attract\games\snes & for the TRS80GP emulator the relative path is ..\..\games\trs-80 while the games are placed in the same place in the folder tree i.e. in attract\games\ ???
3. How do I tell Attract the location of new directories created with the relative path ?!
Greetings !
-
What's your full attract-mode path?
What's you full SNES rompath?
What's you full TRS-80 rompath?
-
Hello !
The full path for my SNES games is:
h:\Attract\games\snes
& the full path for my TRS-80 games is:
h:\Attract\games\trs-80
I would like to make a portable version of Attract Mode, how do I get the games folder to be recognized like the other folders (emulators or menu-art for example) ?
Greetings !
-
You didn't tell us the path to your attract-mode install. I'll assume it's h:\Attract based on the information you provided.
Try these to see if they work.
rompath games\snes
rompath games\trs-80
or
rompath .\games\snes
rompath .\games\trs-80
or
rompath \attract\games\snes
rompath \atrract\games\trs-80
-
Hello !
I tried the solutions you offer unfortunately they do not work...
There must be a solution to make Attract Mode portable & place the root folder anywhere on the HDD ?!
Why are the other folders recognized in relative path ?! Example the " emulators " & " menu-art " folders
are recognized in relative path ?! How to make my " games " folder in relative path ?!
Greetings !
-
Tell us the full path to your attract.exe.
You can also run attract-console.exe to see what's going wrong.
-
I do not understand your question ???
The full path is:
h:\Attract\attract.exe
The problem is that my USB drive letter might change if I connect another drive, that's why I want Attract to be in portable mode.
-
That was the answer I was looking for. Knowing this, each of the options above should have worked for you.
To troubleshoot your issue you should open the command line and run attract-console.exe and then try running your games. You can then see in the command line window what attract-mode is trying to do and what is going wrong.
You can also try running the games and look at (or post here) the contents of your h:\attract\last_run.log to see the issue.
-
There’s something wrong in the relative paths: if attract.exe is in the H:/Attract/ folder and game ROMs are in the H:/Attract/games subfolders, the rom path should just be games/etc without the need to go up one level with ../ Unless the “up†portion is used to navigate up from the executable of the emulator, not of attract, but then you should ad ../ in the command line of the emulator launch, not of the romlist path
-
There’s something wrong in the relative paths: if attract.exe is in the H:/Attract/ folder and game ROMs are in the H:/Attract/games subfolders, the rom path should just be games/etc without the need to go up one level with ../ Unless the “up†portion is used to navigate up from the executable of the emulator, not of attract, but then you should ad ../ in the command line of the emulator launch, not of the romlist path
Hello yes I think there is a bug in Attract Mode because I repeat it the folders that are originally present in Attract are recognized with the relative path but not the folders that are newly created !!!
It is for this reason that I ask you how to indicate to Attract the new created folders ?! There must be a setting file to edit & indicated in it the new created folders ?!
Greetings !
-
Hello.
I use attract mode in portable way (with an extern usb harddrive) like you.
I use the $PROGDIR (which does not work under OSX it seems) to start from attract mode directory.
If you have all yours directory under the attract mode directory, I think you can use :
$PROGDIR/games/snes for example.
Best regards
-
There is no bug.
$PROGDIR is a Linux variable so it's not going to help you.
Your syntax or paths in the emulator.cfg file are incorrect.
Try running the games that don't work and then post the contents of your h:\attract\last_run.log file here.
-
Your syntax or paths in the emulator.cfg file are incorrect.
I'm sorry but my arguments are perfectly correct since I can run my games from command line with the Windows console (CMD) so it's Attract that has a bug !!!
-
I'm guessing you also have your emulators located here:
h:\Attract\emulators\emulators\snes9x
Have you tried this version of the line?
executable emulators\snes9x\snes9x.exe
args -fullscreen "[romfilename]"
rompath ..\games\snes
I haven't seen mention of the rompath line above yet (with 2 dots and the \ in it) .. so see if that works.
==========
I can say that relative paths DO work great on a Windows PC as that's what I use. However, my HDD looks like this:
H:\Attract
H:\Emulators
H:\Roms
and I use relative paths in all of my AM emulator.cfg files for both emulators and rom folder locations.
Here's my SNES emulators.cfg file:
executable ..\..\Emulators\RetroArch\retroarch.exe
args -L cores\snes9x_libretro.dll "[romfilename]"
rompath ..\..\Roms\snes\
To me, it seems that the AM emulator.cfg files "starting location" is the directory which the emulator.cfg files reside in. In my case its "H:\Attract\emulators" .. so going up 2 directories is "H:" and then navigating down 2 directories to "H:\Roms\snes" works.
-
I finally have the incomplete solution but we are moving forward !!!
Here are my config files for the SNES:
executable emulators\snes9x\snes9x.exe
args -fullscreen "[romfilename]"
rompath \attract\games\snes
romext .smc
exit_hotkey Escape
artwork boxart menu-art\boxart\snes
artwork cartart menu-art\cartart\snes
artwork marquee menu-art\marquee
artwork snap menu-art\snap\snes
artwork wheel menu-art\wheel\snes
& the one for the TRS-80:
executable emulators\trs80gp\trs80gp.exe
args -vf -d0 "[romfilename]"
rompath \attract\games\trs-80
romext .dsk
exit_hotkey Escape
artwork boxart menu-art\boxart\trs-80
artwork cartart menu-art\cartart\trs-80
artwork marquee menu-art\marquee
artwork snap menu-art\snap\trs-80
artwork wheel menu-art\wheel\trs-80
It works but if we change the name of the root folder (Attract) it will break the path & nothing will work anymore! So this is a partial solution it is not yet a real portable mode !!!
Greetings !
-
I use attractmode in a portable way like you under windows.
And I use the $PROGDIR like I said before.
According to the sources of attractmode, IT'S NOT A LINUX VARIABLE : https://github.com/mickelson/attract/blob/master/src/fe_util.cpp#L316 (https://github.com/mickelson/attract/blob/master/src/fe_util.cpp#L316)
Attract mode replace the term $PROGDIR in config files at runtime.
So I repeat what I've said (and what I use and it's work under windows) :
You can use :
$PROGDIR/games/snes [for your example, and attract mode replace $PROGDIR by 'h:\Attract' in your case]
Best regards
-
Hello Mentat !
Yes you are right the best solution to make Attract Mode portable is to use the variable $PROGDIR all caps otherwise it doesn't work :)
Greetings !
-
Hello, I was very interested in this format, could you send an example of the SNES emulator configuration ready for me to test here?
-
An example of using $PROGDIR
I have an error message when posting, so maybe it work with an attachment.
-
Hello !
The syntax is $PROGDIR & not PROGDIR...
-
Yes, you're right.
That's correct in my attachment.
I've edited the post.