Nordfinn Posted January 4 Posted January 4 Again, I'm kinda new to this, but I've been setting up many tables to my liking, and relatively trouble-free. But I encountered this today: After selecting to use external DMD (in F1 menu), and then attempting to change the color of the DMD script, by right clicking on the script and getting the "Customize DMD Style" menu, I change the color, and apply it to that table (only), and save. Works for that table, but then also makes the same change on another table. In other words, seems to be changing globally, when I have not asked it to (not deliberately, anyway). Anyone know what's going on? I've been going back and forth with this with two tables, particularly: Cirkus Voltaire and The Who's Tommy. The both will be the same color no matter what I do. Thanks, N.
Nordfinn Posted January 4 Author Posted January 4 I just rechecked this: Changes are definitely being saved globally, not to the particular table, despite my "Save" settings. I suspect that some setting in VPinMame needs to change, but I have no idea where to find it. Hope someone can help. Thanks, N.
Nordfinn Posted January 8 Author Posted January 8 Still hoping someone can help with this. There are so many DMD configuration and .ini files withing PinMame. I’ve looked at many, and tried to discover a relevant setting, but fruitlessly. Basically, the problem is that the DMD Extensions program will not save customizations for a single table locally (but only globally). I mean, it saves position fine, but not changes to color. Thanks, N.
Tikimaster Posted January 8 Posted January 8 (edited) @Nordfinn Open DMDdevice.ini in a txt editor and scroll down. You will find sections like this: [mb_106b] virtualdmd left = 43 virtualdmd top = 184 virtualdmd width = 427 virtualdmd height = 106 First line is the rom name of your table. the next lines are the positions of your external DMD. backup this file if you want to edit it. its important. This is where individual position settings and color themes of your external DMD are saved locally. Global and some ROM-related config (registry) VPinMAME also stores configuration in the Windows Registry. Location: HKEY_CURRENT_USER └─ Software └─ Freeware └─ Visual PinMAME This includes: Default options Some per-ROM flags Controller options Debug / display options I strongly recommend not messing around with Windows registry if you don't really know what you're doing. Edited January 8 by Tikimaster
Nordfinn Posted January 8 Author Posted January 8 Thanks very much. I'll give it a go and report back. N.
Nordfinn Posted January 8 Author Posted January 8 In DMDdevice.ini, under the roms for individual tables, I see only position and size specs and, for a few tables, "virtualdmd style = default" or "virtualdmd style = legacy." Nothing specific to color, though the way DMD Extensions is set up, one would think that specs for color are saved here.
Tikimaster Posted January 8 Posted January 8 (edited) 1 hour ago, Nordfinn said: one would think that specs for color are saved here. In DMDext you can use color themes with alphanumeric display. There are no other colors with dmdext to save. (External DMD) Vpinmame saves the colors in the registry. As I wrote above: What VPinMAME actually does VPinMAME: Emulates the real pinball machine hardware Generates the raw DMD dot data Knows which ROM is running Knows how colors should be applied Because of this, VPinMAME: Has per-ROM settings Needs to remember user choices (color on/off, palette, etc.) Uses the Windows Registry as its built-in storage system So when you enable color DMD in VPinMAME: It saves that choice in the registry Next time that ROM runs, VPinMAME reloads those settings automatically 👉 VPinMAME owns the DMD logic, so it owns the settings. What dmdext actually does (and does NOT do) dmdext: Does not emulate anything Does not know which ROM is running Does not decide colors - only with alphanumerics Does only store locations per-ROM configuration - and only colors of alphanumerics, if you changed it. Its job is very simple: “Take DMD frames from somewhere and show them on a screen or device.” dmdext can: Display dots Forward dots to real hardware Apply colors only if instructed externally But: It has no internal memory of ROMs It has no registry system It assumes something else already decided the colors 👉 dmdext is a viewer, not a controller. Where the colors REALLY come from There are two common cases: 1️⃣ Color is handled by VPinMAME VPinMAME loads the ROM VPinMAME loads the color data (palettes / colorization) VPinMAME saves the “use color” setting in the registry dmdext just displays what it’s given ✔ Colors saved ✔ Registry used 2️⃣ Color is handled externally (Freezy / device mode / files) Color files exist on disk (.pal, .vni, .pac) dmdext reads them at runtime Nothing is “saved” — files already define the colors ✔ No registry ✔ No settings to remember - only positions and colors of alphanumerics are saved ✔ Restart = same result Why dmdext doesn’t save colors (by design) If dmdext tried to save colors: It would need to track ROM names It would duplicate VPinMAME logic It would conflict with existing color systems It would break portability (cab → cab) So instead: Files define colors Emulators decide behavior dmdext stays stateless This is intentional and correct design. One-sentence summary VPinMAME saves DMD colors in the registry because it emulates the machine and owns per-ROM settings, while dmdext is only a display tool and has nothing to save. To all: If I have made a mistake in this description, please correct me so that I can change it. Edited January 8 by Tikimaster
Nordfinn Posted January 8 Author Posted January 8 Thanks much, for the effort and all the info. Will take this neophyte some time to work through it all. N.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now