ledlcd
Posts: 2
Joined: Fri Aug 04, 2017 10:52 pm

Handheld games with custom backgrounds showing non-lit objects

Back in MAME 0.163 I was able to make custom backgrounds that mimic the original hardware display of non-lit objects for handheld games.
tmtron_bg.png
tmtron_bg.png (186.07 KiB) Viewed 8541 times
With the custom background on, I can play it as well as I used to on the real thing. I still have it, and I feel it's pretty close to how it actually displays.

When I finally updated to the current latest version MAME 0.188 to check out the latest handheld emulators, I'm not able to reproduce the same background effect. The game is significantly harder if I can't tell where the discs are moving on the second stage.
tmtron_nobg.png
tmtron_nobg.png (60.5 KiB) Viewed 8541 times
There are more custom backgrounds I'd like to make for the Tiger and Konami LCD games. The older version required artwork files in the artwork subfolder, and the new one just uses the svg file from the 7z. I've tried modifying the svg file, but it complains that the file has an incorrect length.

If it's not possible to make a custom background, I would like to present my case that it should be a feature. I know the non-vector backgrounds are missing, but if you see how Nintendo implements Game & Watch simulations for GBA and DS, they have the same effect of faintly showing non-lit objects. Many unofficial simulations of handheld game have the same feature. I think it would be great if you could have the option of showing it, maybe even adjusting its visibility up and down like you could in real life by adjusting the angle of the display. I understand it's debatable whether or not the creators intended them to be seen or not, but I find these types of games are much harder when I can't tell what the intentions of possible movement are.

The custom background for tmtron is attached if anyone wants to try it out.
Attachments
bg.png
bg.png (44.42 KiB) Viewed 8541 times
mhoes
Posts: 186
Joined: Wed Oct 26, 2016 12:26 pm

Re: Handheld games with custom backgrounds showing non-lit objects

I have no experience with this, but this *might* help: If mame complains about the single .7z file not being the right size/hash when you add things to it, you might be able to work around that be unzipping the file to the expected directory, adding your customizations, and renaming the .7z file or moving it to another directory so mame doesn't pick the .7z file anymore but the unzipped directory instead. Again, I have no idea if this actually works, but it might be worth trying ?
ledlcd
Posts: 2
Joined: Fri Aug 04, 2017 10:52 pm

Re: Handheld games with custom backgrounds showing non-lit objects

The error was for the svg file inside the 7z file. Even if it accepted the modified svg file, I'm not sure how it will interpret my modifications. It may just ignore anything it isn't programmed to display.
The selected machine is missing one or more required ROM or CHD images. Please select a different machine.
tmtron.svg (384174 bytes) - INCORRECT LENGTH: 778993 bytes
Press any key to continue.
mhoes
Posts: 186
Joined: Wed Oct 26, 2016 12:26 pm

Re: Handheld games with custom backgrounds showing non-lit objects

Ah. I think I see what you mean now, and where I interpreted your post incorrectly. I fully expected that the 'tmtron.svg' was an *addition* and did not exist before. But it appears that the file does 'exist' in MAME, and is expected to be a certain size with a certain hash, and then you modified/replaced that file so it does not match anymore.

If this is the case, then that seems to be the intended behavior ?
mhoes
Posts: 186
Joined: Wed Oct 26, 2016 12:26 pm

Re: Handheld games with custom backgrounds showing non-lit objects

Not that this helps you at all, but: The addition of checking for 'tmtron.svg' seems to have been introduced originally with this commit :

Code: Select all

$ git grep "tmtron.svg"
src/mame/drivers/hh_hmcs40.cpp: ROM_LOAD( "tmtron.svg", 0, 384174, CRC(06bd9e63) SHA1(fb93013ec42dc05f7029ef3c3073c84867f0d077) )

$ git log --date=iso -p src/mame/drivers/hh_hmcs40.cpp

<-snip->

commit f0fe4a90093044d74697394a7048a7c4c109cade
Author: hap <happppp@users.noreply.github.com>
Date:   2016-04-25 21:25:46 +0200

    hh_hmcs40: added svg artwork to remaining games, except bzaxxon
    
<-snip-> 
+       ROM_LOAD( "tmtron.svg", 0, 384174, CRC(06bd9e63) SHA1(fb93013ec42dc05f7029ef3c3073c84867f0d077) ) // by kevtris, ver. 25 apr 2016
<-snip-> 

Which I guess was originally introduced for the first time in an official release with MAME 0.173 (27 April 2016) or perhaps 0.174 (25 May 2016).
mhoes
Posts: 186
Joined: Wed Oct 26, 2016 12:26 pm

Re: Handheld games with custom backgrounds showing non-lit objects

I don't know why I didn't think of this before, and it may be more than you bargained for, but: You could download the MAME source, edit the line in 'src/mame/drivers/hh_hmcs40.cpp' that checks for the filesize, CRC, and SHA1 to make it match your version of 'tmtron.svg', and then compile that custom version. Compiling MAME is not that hard, it just involves downloading some (developer) tools from the mamedev website (when building on Windows) or installing tools (when running on Linux), editing the file with your favorite text editor, and opening a command prompt and type 'make' (and then wait a while for the compilation to complete).

Return to “MAME Discussion”