Backdrops in mame2003-plus
-
FYI: a new developer is going to try implementing a new artwork system.
-
@Riverstorm Two thirds done, I managed to install KDE Neon in today's lunch break – it only took 15 minutes thanks to USB 3, plus some manual reworking of the /etc/crypttab because of the special 3-OS-in-1-encrypted-LVM setup – and Ubuntu MATE followed at home after dinner. Now only Kubuntu remains before I'll put the ssd into the Laptop – 'cause I can. 😄
Being a standard user is absolutely okay. Even after 12 years with Linux I would only call myself an advanced user at best, as I only learn new things about my system when the need arises.
@UDb23 Thanks for the tip. How does one add to the bounty?
-
@Clyde said in Backdrops in mame2003-plus:
Thanks for the tip. How does one add to the bounty?
here.
-
@UDb23 Done, thanks again!
-
After some additional testing a full 1080p overlay with working lamps for Gorf is now available:
(artifacts only due to jpg compression; full res on screen).
You need to install both specific overlay (trasparent ranking background) AND specific backdrop (lamps only ; gorf.zip)
All required files here.
-
@UDb23 Thank you for this! I think I have figured out where all the files go except the lamps only back drop (gorf.zip). Where does that file go?
-
@quicksilver copy the zip to \bios\mame2003-plus\artwork on your Pi.
-
@UDb23 - Thanks for all the work on this overlay. I will be testing this tonight. I saw in the overlay thread someone posted a Battletoads overlay so I created the files and have been playing that a bit. It runs smooth with a shader and is a nice overlay but the quality is not quite as good as yours.
Are you stretching the BD to get the overlay HD? Would it have worked to make the overlay full HD and make the "dark" sides black or transparent so it's 1920x1080?
I thought of making the corners a single pixel if transparency doesn't hold coords. I'm not sure how to say that part. Basically can you have a column that's transparent and then the left side bar, game, right side bar and finally transparent column again. Does that make sense?
@Clyde - I'm a bit jealous you're able to setup 3 OS's over a lunch break. I mainly keep Windows almost exclusively for legacy gaming. I still have some old DOS games. I do remember the "birth" of DOS and well over 20 years ago I remember working at UPS using OS/2 Warp and an IBM System/36.
-
@Riverstorm said in Backdrops in mame2003-plus:
Are you stretching the BD to get the overlay HD? Would it have worked to make the overlay full HD and make the "dark" sides black or transparent so it's 1920x1080?
Basically I created a BD with full black left side image and a right side image with just the rank boxes background (ON and OFF versions with their corresponding rank masks that are activated by the rom driver).
Coordinates same as previous to stretch the sidebars to correct ratio for 1080p.
The BD still is rendered low res but as it is just the rank background it is not noticeable.Then a dedicated RA 1080p overlay with transparent ranking boxes is placed on top.
I thought of making the corners a single pixel if transparency doesn't hold coords. I'm not sure how to say that part. Basically can you have a column that's transparent and then the left side bar, game, right side bar and finally transparent column again. Does that make sense?
Full transparent only images for BD do hold the place but have bigger size in terms of KB vs full black; that's why I opted for the latter.
During tests I also found out that if you only apply a right side image as BD, the whole rendered area (game area+right side ) will be centered on screen: this means game area no longer centered. Therefore I still needed to add a full black left side.
It could be done with just one image with transparent game area but then you need to create masks of the same size to get the lamps light on. That would require more memory and more processing I believe. -
@UDb23 - Triumph! Simply triumph! :) Great job getting around the low res limitations. I look forward to see if that programmer is able to implement HD artwork that works on lower power systems.
Here's some old text davej (The programmer behind the crt-pi shader) on memory access when using overlays and shaders. He said the relative access figures were just away of indicating how much extra work the Pi needs to do when using shaders and/or overlays. If a read or a write of a pixel is one memory access, reading or writing the whole of a large image will take more of them than for a small image.
Some notes on memory usage.
The examples shown are for a 4:3 game displayed on a 1920x1080 screen. The game screen is upscaled to 1440x1080 to keep the aspect ratio the same. Game screens vary in resolution so I've used a rough average.
a) GPU upscales image: GPU reads game image, upscales it and sends it to the display. It can upscale (with linear or nearest filtering) to any supported resolution without extra memory accesses. Relative memory accesses = 1.
b) With overlay: GPU reads game image, combines it with overlay (which it also has to read) and sends it to the display. Needs memory from a) plus size of overlay (overlay is 30 times as big as image from game). Relative memory accesses = 31.
c) Using shader: GPU upscales game image using shader and writes it out to memory. GPU reads upscaled image and sends it to display. Needs memory from a) plus 2 * upscaled image size (upscaled image is 23 times as big as image from game). Relative memory accesses = 47.
d) Shader with overlay: As c) but also has to read the overlay whilst sending image to display. Relative memory accesses = 78.
For a 720 screen, the overlay and shader upscaled images are about half the size.
All Pis have relatively slow memory and the CPU and GPU can end up fighting over access to it. My recommendation is to overclock your memory as fast as it will go whilst still remaining stable.
If you're using shaders overclocking the GPU can help relieve pressure on memory - it doesn't use less but the access pattern changes a bit making it conflict less with the CPU. Note: crt-pi in it's default configuration was designed to work on Pi1+2s with the default GPU clock of 250MHz, by overclocking I mean reative to that. By default Pi Zeros are clocked at 300MHz and Pi3s at 400MHz. If you get overheating problems with Pi3s running shaders you could try underclocking the GPU down from 400MHz - but it might cause problems for shaders other than crt-pi.
-
@Riverstorm far too kind! :-)
btw probably not noticeable but lit up rank is made with a circular color gradient
to simulate real light effect.Very interesting info about memory usage; thanks!!
-
Think I'm going to apply same method to get high res art also in Skydiver.
-
@UDb23 - Excellent game! :) I don't know if there's a bug in Sky Diver. When you have a moment can you test player 2 in Sky Diver? When I would press my jump button the parachute would immediately deploy for player 2. So he would jump and deploy the chute. Player 1 works ok. Also it seems the points awarded on the landing pad for player 2 aren't working quite right either.
-
@Riverstorm didn't try player 2 yet. Will check tomorrow and let you know.
-
@UDb23 Great work! I'll test it on my desktop PC that has 1920x1200 (16:10) resolution.
@Clyde - I'm a bit jealous you're able to setup 3 OS's over a lunch break.
Thanks, but I "only" set up one OS then, and another at home after dinner. 😌
It certainly helps that modern Linux distributions can be installed in 15-20 minutes for at least ten years now – including all updates if internet is available – depending on the machine and storage speed involved. It also helps to know what I'm doing, having installed many encrypted Linux systems manually over the years. Although most Linux installers can set up an encrypted system automatically, the ones I know can only do that for one system and wiping the whole disk in the process. Thus the manual partitioning I did before the installation, and some little adjustments afterwards. In case you're interested, this is my final partitioning scheme:
- 1st partition for /boot of the first OS (512 MB)
- 2nd partition for /boot of the second OS (512 MB)
- 3rd partition for /boot of the third OS (512 MB)
- 4th partition for /boot of a possible forth OS, because I can! (512 MB)
- 5th partition for the encrypted LVM, and in it …
- four logical volumes for
/
of the different OS (50 GB each) - one logical volume for the shared data (The rest of the 960 GB, I can't remember the exact amount in the moment.)
After setting this up in advance, it's "only" selecting the right partition and volume for
/
and/boot
in the installer, creating the/etc/crypttab
manually after the installation, and runningupdate-initramfs -uk all
in achroot
shell on the installed system to write the changes into its booting processes.I changed my prior plans to use a combined $HOME, because at least KDE Neon and Kubuntu may have colliding settings for their different KDE versions. I now have their $HOMEs on the root volumes, the rest of the data directories are mounted on the respective $HOMEs' subdirs (like ~/Documents, ~/Downloads, ~/Pictures etc.) automatically via
fstab
entries – thebind
option ofmount
is your friend.Ironically, this post took me twice as long as one of those installations. 😊
I mainly keep Windows almost exclusively for legacy gaming.
Same here (Win 7), but I barely boot it in these times of many native Linux games and Retropie. 😉 It's highly probable that it will be my last Windows and that it'll die when Win 7's support runs out.
I still have some old DOS games. I do remember the "birth" of DOS and well over 20 years ago I remember working at UPS using OS/2 Warp and an IBM System/36.
I also played around with OS/2 and BeOS many years ago, but I never used them productively.
-
Not sure how far you all played into "gorf" but I definitely have some performance issues running that game. Very noticeable once you get into the third stage and the ships are dive bombing. CPU usage goes up to around 90% but never goes much higher so I'm not sure whats causing the slowdown. I'll have to test with the artwork off. Could that cause a performance hit?
-
@quicksilver I didn't got around to check it yet, but in principle everything that give the software and/or hardware more to do can have an impact on the performance.
I'm looking forward to your results with and without the artwork.
-
So I tested without the artwork and the game still doesn't seem to be running full speed with mame2003+. Especially by the third level it really starts to chug. This doesn't seem like it should be a particularly demanding game. I might have to open a ticket.
-
@Clyde - That's honestly quite impressive. I think your kung-fu is strong! I would classify you as an advanced user for sure. If I get stuck I know who's doorstep I am going to darken. ;) Were you able to get a hotkey snapshot to work with
raspi2png
? I think it would be a great utility especially for capturing snaps with overlays.@quicksilver - Just a few posts above I listed the extra resource required when using overlays, shaders and when combining them both together if that helps. Overlays definitely have the ability to make a significant impact. I see you tested it already without though and no change.
These new overlays and BD's are like a fresh coat of paint on a car. It just makes you want to take them for a spin and rediscover them all over again.
-
@Riverstorm said in Backdrops in mame2003-plus:
These new overlays and BD's are like a fresh coat of paint on a car. It just makes you want to take them for a spin and rediscover them all over again.
Especially with the working light effects. So cool! If only I was better at the game and could actually see the different "lamps" light up. :)
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.