Author Topic: [Request] NeoGeo Unibios, persistent system-wide settings  (Read 4124 times)

Offline Amplifuzz

  • New Member
  • *
  • Posts: 7
  • Karma: +0/-0
[Request] NeoGeo Unibios, persistent system-wide settings
« on: March 19, 2021, 01:29:06 PM »
I just found out it's possible to set the Neo Geo Unibios 4.0 to skip its splashscreen, shaving a few seconds off a game's boot time. I've only found a way to do it on a game by game basis (it's probably stored in each game's .nv file), would it be possible to have a persistent system-wide setting for that, or a way to set it a specific Unibios configuration as default?

Offline barbudreadmon

  • Administrator
  • *****
  • Posts: 1091
  • Karma: +59/-1
  • Helper
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #1 on: March 19, 2021, 03:05:36 PM »
A global setting for 1 internal setting with 1 specific bios seems very unlikely.

Offline dink

  • Administrator
  • *****
  • Posts: 5014
  • Karma: +449/-1
  • pie? I nearly bought one!
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #2 on: March 19, 2021, 03:23:12 PM »
That's actually a good idea, to have a global backup-RAM for neogeo mvs. 
I can't promise anything right now though, but will try to look into it sometime!

Offline barbudreadmon

  • Administrator
  • *****
  • Posts: 1091
  • Karma: +59/-1
  • Helper
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #3 on: March 19, 2021, 07:00:38 PM »
You mean like having backup RAMs being named after bios names or something ? Hmmm, would that even work ? Can a backup RAM from unibios be used with different games ? I've some doubts with all the game specifics like cheats, hiscores, ...

Offline dink

  • Administrator
  • *****
  • Posts: 5014
  • Karma: +449/-1
  • pie? I nearly bought one!
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #4 on: March 19, 2021, 08:15:07 PM »
barbudreadmon, it would be completely optional, of course.  There's a 64kbyte battery backed sram in mvs @ d00000 (mirrored to dffffff) where unibios saves its settings, it would be more like how the hw works to have just this shared.

best regards,
- dink
« Last Edit: March 19, 2021, 08:17:13 PM by dink »

Offline barbudreadmon

  • Administrator
  • *****
  • Posts: 1091
  • Karma: +59/-1
  • Helper
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #5 on: March 20, 2021, 03:15:41 AM »
oh, didn't thought about this, yeah i guess it could work if unibios internal settings can be identified and stored to a separate location.

Offline iq_132

  • Administrator
  • *****
  • Posts: 3728
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #6 on: March 20, 2021, 08:04:12 AM »
There's an issue with that, each game saves its settings there. You would have a limited number of games that could use it. :/
Another option would be to patch out the screen. We use to have this in the source ages ago for different bios revisions (not unibios though) that took out some things.

Code: [Select]
// Hacks for Neo-Geo BIOS
for (int i = 0x10000; i < 0x12000; i+=2) {
if ((*((unsigned short*)(Neo68KBIOS + i + 0)) == 0x4EBA) && (*((unsigned short*)(Neo68KBIOS + i + 4)) == 0x13C0) &&
    (*((unsigned short*)(Neo68KBIOS + i + 6)) == 0x003A) && (*((unsigned short*)(Neo68KBIOS + i + 8)) == 0x001D) &&
    (*((unsigned short*)(Neo68KBIOS + i + 10)) == 0x5206) && (*((unsigned short*)(Neo68KBIOS + i + 12)) == 0x41F9) &&
    (*((unsigned short*)(Neo68KBIOS + i + 14)) == 0x00D0))
{
// Remove memory check for now
*((unsigned short*)(Neo68KBIOS + i + 0x000)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + i + 0x002)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + i + 0x016)) = 0x4EF9;
*((unsigned short*)(Neo68KBIOS + i + 0x018)) = 0x00C1;
*((unsigned short*)(Neo68KBIOS + i + 0x01A)) = 0x006A + (i&0xFFFF);

// Patch Calendar errors
*((unsigned short*)(Neo68KBIOS + i + 0x114)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + i + 0x116)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + i + 0x11C)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + i + 0x11E)) = 0x4E71;

// Patch checksum test
*((unsigned short*)(Neo68KBIOS + i + 0x162)) = 0x4E71;
*((unsigned short*)(Neo68KBIOS + i + 0x164)) = 0x4E71;

break;
}
}
« Last Edit: March 20, 2021, 08:06:06 AM by iq_132 »


Offline dink

  • Administrator
  • *****
  • Posts: 5014
  • Karma: +449/-1
  • pie? I nearly bought one!
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #7 on: March 20, 2021, 09:21:41 AM »
There's an issue with that, each game saves its settings there. You would have a limited number of games that could use it. :/
Another option would be to patch out the screen. We use to have this in the source ages ago for different bios revisions (not unibios though) that took out some things.

Ahh bummer, I guess we can't do it then.

I really hate patches like that, though.  You never know if something got missed being initialized and causes bugs with games down the line, which people end up thinking are bugs in the emulator.

IMO best to just press F1 to speed past the neogeo-init..  Or take a course (or 2) in patience.

best regards,
- dink

Offline Amplifuzz

  • New Member
  • *
  • Posts: 7
  • Karma: +0/-0
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #8 on: March 20, 2021, 05:37:58 PM »
I really hate patches like that, though.  You never know if something got missed being initialized and causes bugs with games down the line, which people end up thinking are bugs in the emulator.

Aw, too bad. It would work to the extent that it provides a template when a game first starts 'empty', then after that it can generate its own .fs file.

Offline dink

  • Administrator
  • *****
  • Posts: 5014
  • Karma: +449/-1
  • pie? I nearly bought one!
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #9 on: March 20, 2021, 08:24:49 PM »
Actually, you could create a little script to do it outside of the emulator, it wouldn't be hard at all - it would just involve copying the defaults settings file to every other game's nvram file.  If something like this is beyond your skillset, let me know and I'll help.

best regards,
- dink

Offline Amplifuzz

  • New Member
  • *
  • Posts: 7
  • Karma: +0/-0
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #10 on: March 23, 2021, 10:18:36 AM »
I thought about that, I could do it - but how do I get the 'blank' template .fs file? Currently I'm running FB and the romset on Retropie on a Raspberry.

Offline dink

  • Administrator
  • *****
  • Posts: 5014
  • Karma: +449/-1
  • pie? I nearly bought one!
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #11 on: March 23, 2021, 08:15:59 PM »
Amplifuzz, just set up a neogeo game of your choosing to how you want, then use the .fs file from that as the one to copy over to the other games.

best regards,
- dink

Offline Amplifuzz

  • New Member
  • *
  • Posts: 7
  • Karma: +0/-0
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #12 on: March 23, 2021, 09:02:59 PM »
That's the first thing I tried, before posting here. It doesn't work, as the .fs file contains the rom name inside if you open it in a hex editor.

Offline dink

  • Administrator
  • *****
  • Posts: 5014
  • Karma: +449/-1
  • pie? I nearly bought one!
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #13 on: March 24, 2021, 01:45:19 AM »
Try changing the rom name in the .fs file, it should work then :)

Offline barbudreadmon

  • Administrator
  • *****
  • Posts: 1091
  • Karma: +59/-1
  • Helper
Re: [Request] NeoGeo Unibios, persistent system-wide settings
« Reply #14 on: March 24, 2021, 03:28:00 AM »
i doubt that's gonna be that easy, those nvrams can also have different size, ex. kof94 is 468b while kof95 is 360b for me, both are fresh.