Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - farique

Pages: [1]
Themes / Syskeuomorphic theme.
« on: July 05, 2019, 02:38:49 PM »
I've already said here that long gone are the times when, if you wanted something suave and beautiful, you had to build your own theme.
Now you just go out and grab one.

So, when I moved and my 4x3 arcade cabinet couldn't come with me, I decided to take a different approach for the 16x9 living room TV.

I've always loved the unique look and feel of the myriad 8 and 16 bit systems of olden. Their colors, characters, shapes, sounds... How music or smells remind me of specific systems at specific times of my life.

So, Syskeuomorphic was born.
Syskeuomorphic is a simple Attract Mode layout that intends to mimic the look and feel of the classical videogames and computer systems displays.
It is simple and text heavy on propose and design but has some nice features like alternate displays (a Vectrex one without overlays and an anaglyph Virtual Boy) that launch the emulators with these settings.

For now it has the systems I had or heavily played with:
ZX81, Atari 2600, Odyssey², Vectrex, TRS Color 2, MSX, Amiga, Virtual Boy and Arcade.
But it is relatively simple to add new ones.

Get it here:
Some instructions are there as well.

It was never meant to be distributed so it is not the most plug and play thing ever, but if you have any difficulty just ask me.

As a side note, even if almost all of the fonts for these systems already exist, their licenses are a bit restrictive (I couldn't distribute some or change another, a necessity on system with inverted lower cases like the ZX81 or the TRS Color) so I developed a system to convert old bitmap font dumps to vector fonts. It can help someone here on similar endeavours.

General / AM library managing tools source code released.
« on: May 22, 2019, 01:39:47 PM »

Some time ago I shared some programs I've written to help manage my AM library (roms, assets, info). They were very focused on my needs so maybe a little tight on other setups.

Well, I just released their source code, so if anyone is interested here they are in all their AutoIt glory:
Show statistics about Attract Mode rom information and associated files
Display and  standardise Attract Mode rom information across all systems.
Scan history.dat and export game information on the Attract Mode overview format
Convert text to Attract Mode overview format and vice-versa

They are not commented (they were never intended to see the outside world) so any doubt you have you can ask me and IF I REMEMBER anything about them I might try to help :)


On my layout I need to get the filters names as strings to work with them. So I am using fe.filters (Magic Tokens do not pass as a variable as far as I know). So far so good.

The problem is: when I move from a display to another (with different emulators, lists and filters) that are using the same layout, the contents of the fe.filters array do not update, it keeps using the filter information of the previous display. If I move to a display using a different layout and back or I use the toggle layout key (refreshing it), the array is filled correctly.

Here is a little layout that shows this happening:

Code: [Select]
function transition_callback( ttype, var, ttime )
switch ( ttype )
case Transition.FromOldSelection:
case Transition.StartLayout:
case Transition.ToNewList:
print ( "\n"+fe.filters.len()+"\n" )
for (local f=0; f < fe.filters.len(); f++) {
print ( fe.filters[f].name+"\n" )
print ( fe.filters[fe.list.filter_index].size+"\n" )
return false
fe.add_transition_callback( "transition_callback" )

And the console output:

Code: [Select]
*** Initializing display: 'Atari 2600'
 - Loaded master romlist 'Atari 2600' in 47 ms (539 entries kept, 0 discarded)
 - Constructed 6 filters in 0 ms (3234 comparisons)


*** Initializing display: 'Odyssey2'
 - Loaded master romlist 'Odyssey2' in 6 ms (121 entries kept, 0 discarded)
 - Constructed 4 filters in 0 ms (484 comparisons)


This console output is the result of opening AM on the Atari 2600 display and moving to the Odyssey2 display (both using the same layout). As you can see, AM fills fe.filters with the correct Atari 2600 information but when I move to the Odyssey2 display it finds the correct filters and entries but do not update the fe.filters array.

What am I missing?

Scripting / first_line_hint working differently on 2.4.x
« on: September 04, 2018, 11:54:04 AM »
Hi, guys.

Is it just me or does first_line_hint stopped working on [Overview] texts on Attract Mode 2.4.x?

The same script works on scrolling the text up and down on 2.3 but not on 2.4.


Is there a way to pass arguments directly from the layout Squirrel code to the emulator on Windows?
I am not talking about calling an emulator with args from code (like with fe.plugin_command) but to pass arguments to the emulator being called from Attract Mode itself.

I thought it would be a common need but I could find nothing here nor on the documentation.

The problem is my front end has "Alternate" modes for the Virtual boy (to call the emulator with or without the anaglyph mode) and for the Vectrex (to call games with or without the overlays) and the way it is working now is whenever I press the key to change the mode (the layout changes to indicate which mode it is in) I rename a file accordingly. Then, when I run a game, an AHK script checks the file and according to its name calls the emulator with the appropriate settings.

It works but is far from neat and elegant and may cause problems in the future (apart from having to change the code on the layout and both AHK script whenever the path changes).

Preemptive thanks!

Ok, then...
Here is another app I think some of you guys might find useful.

This one shows a list of all years, publishers and genres on your AM romlists and the amount of games using them.
Then you can look for discrepancies and similarities and fix/consolidate/standardize the information across the games/systems.

You can see the games using them and also can edit the information from within the app if you wish.

You can read more about it on the Readme.txt.

*Windows only.

Just one thing:
Be careful if you decide to use the Change feature as it will actually edit your romlists.
(make a backup, please, the app has a button for that)
Last app came with some surprises and bugs. I am the only one actually using them so far and it is hard to infere discrepancies on different systems.

That is it. As always I would love to hear some feedback.

Attract Mode List Statistics

*Update3 (v1.3):

- Attract Mode 2.3 and 2.4 overviews support

- Much smarter emulator config parser works with and without a Working Directory and can understand $HOME, $PROGDIR, %SYSTEMROOT% and %PROGRAMFILES%

- Extended image extensions now finds .jpg . jpeg .png .gif .bmp and .tga files

- Cannot deal with <DIR> rom extensions for now.


To help me organize the mess of material I have gathered over more than a decade, I build an Autoit script (with GUI) that looks into the assets (snaps, covers, etc) I have and gives me statistics on each system I use on Attract Mode.

It ends up being a lot of help finding missing and surplus material buried on the assets folders as well as missing game information (year, publishers and genre.)

I don´t know how big of a problem this is to the rest of you, but the systems I have are not always the most popular ones (TRS Color, for instance) so I have some problem collecting extra stuff. More than a decade of gathering material from all over the webs and the fact that the scrapers do not (at least for me) do a wonderful job also do not help, so I thought the need to see the big picture at one place would be nice.

I compiled and polished the thing a little and I think it is ready to be used on the outside world.
Unfortunately, I think it only works on Attract Mode v2.3 I still haven’t v2.4 installed.

That is it. If you try it, please tell me what you think.

New version, MUCH faster scanning, down from ~5 min on my ~8k roms (across all systems) to ~13sec!!

You only need to replace the .exe if you are already using it.
May need a rescan to build new support files.

General / Tool to scrape mame overviews from History.dat
« on: May 10, 2018, 02:12:01 PM »

I was looking for a way to extract the games description on mame’s History.dat and convert them to overviews files but I could find nothing.
(Please don’t tell me there is an easy way to do it or that I could find it lying around on the interwebs. I have searched, and I haven’t found)
I don’t like the way the history plugin works and wasn’t in the mood to try to adapt it. Also, I wanted to bring mame closer to the working of the other emulators so I did a little tool to scrape the History.dat for overviews: Scrape History Overviews (of course).
You provide it with a list of roms and it will look on the History.dat for them and export a bunch of .cfg with their description to the overview format.

Hope it helps.

PS. SHO was done with Autoit and I have had problem before with Autoit and antivirus (it seems it is a common tool to write malicious scripts, so is flagged) but mine is not complaining right now.

Here is the Readme.txt
Scrape History Overviews
Fred Rique 2018

Scrape History Overviews scrapes game information from Mame's history.dat and saves them as Attract Mode's overview format.
The conversion pulls the information from History.dat and save it in separated files with the name [rom name].cfg, adding "overview " at the start and converting the line feeds to "\n".

There are four versions of the program


The numbers are the History.dat version to be used with. They will not work on one another but should work on intermediary versions, the difference is the end token I am using, "- SOURCES -" on 153 and "- CONTRIBUTE -" on 197 so apply accordingly (yeah, I know I should be using "$end" but, oh well...)
The "n" is due to the fact that when they are bigger than the text box, the overviews do not show the first line on my layout and I need an extra line feed, so on these versions an "\n" is added after "overview ".

To search for the descriptions, you need to provide a list of roms SHO will be looking for. This must be a text file on the same folder as SHO with the name ListaFiltrada.txt (yeah, I know) one example is included. History.dat and a folder called Overviews also must be on the same folder as SHO.

That should be all.
When SHO finishes, the overviews will be saved on the Overviews folder and a log file with details will be created.

The program should behave itself, but as always, work only on backups.

Pages: [1]