Commit Graph

39 Commits

Author SHA1 Message Date
Vas Crabb
1a5c013c33 (nw) softlist_dev.cpp: validate ROM labels
The free-for-all on labels in software lists is not working.  There's no
consistency, labels are getting excessively long, people are starting to
use non-ASCII characters in labels making it harder for others to type
them when manipulating files on the command line, and there's too much
markup being put in labels.

The length limit is 127 characters, same as for labels in MAME itself.
This should be long enough to be descriptive.  Remember that the Win32
path limit is 260 characters, and many applications and frameworks have
issues with longer paths, including Windows Explorer and the .NET
framework.  Labels are used as filenames, so concessions need to be
made for this.

I have not abbreviated excessively long labels myself - they're
currently causing 135 validity errors.  Someone else can fix them.

Printable ASCII characters are allowed, with a few exceptions.  The
exceptions are limited to characters most likely to cause issues for
interactive shells and scripts:
* ! - csh event substitution (very difficult to escape properly)
* $ - sh varibale expansion
* % - csh job control, cmd variable expansion
* / - UNIX directory separator
* : - sh path separator, Windows drive qualifier
* \ - sh escape, Windows directory separator

Most of the labels that had to be edited were using ! for markup, or
using ! and % for titles in labels.  Strangely, titles in labels are
often forced to lower case, despite this never being enforced for
software lists.  There are also various other edits to titles used for
labels, such as moving articles to the end (with or without a comma),
or replacing spaces with underscores.  As I already said, there's no
consistency at all.

There is far too much markup in labels.  They're even being used for
notes in some cases (e.g. at least one case where a dumper's name is in
the label).  The XML schema supports metadata - use it.  For example,
you can use part_id for an unrestricted display name for a software
part.  You can also use XML comments for notes.

And while on the topic of metadata, vgmplay.xml is putting the same
thing in the part_id as well as the label.  The part_id should have
the actual title, not the title mangled to make it more suitable for
use as a filename.  Addressing this would be a lot of work, given how
large the file is.

For now, empty data areas in software lists cause a verbose message
rather than a validation warning.  There are thousands of software
lists using empty data areas to indicate the size/width of cartridge
RAM/EEPROM/etc.
2020-04-16 14:04:06 +10:00
Vas Crabb
438a497c37 (nw) More license shuffling
Get rid of a couple of copies of the CC0 text.  Add header comment to
CC0 files to remind people editing them what the terms are.  Also add
some missing XML headers.  The header comments in layouts won't bloat
the binary - they get stripped out before compressing, same as any other
comments.
2020-03-07 22:02:56 +11:00
Rebecca Wallander
834b8ec6f5
Add some new Sonic prototype dumps (#6097)
* megadriv.xml - mark sonic protos as comming from loose eproms

* megadriv.xml - Add another Sonic 2 prototype dump

* gamegear.xml - Add Sonic 2 proto

* megadriv.xml - Add Sonic 3 prototype

* load16_word_swap

* Missed one
2020-01-29 10:16:33 -05:00
Vas Crabb
ae04921d52 sms.xml, gamegear.xml: 'prototype' in descriptions is not part of the title and not a proper noun, hence it shouldn't be capitalised (nw) 2019-11-06 20:34:16 +11:00
kazblox
9744e12386 prototypes from third session of Sonic Month 2019 (#5851)
* New prototypes:

gamegear:
Sonic the Hedgehog Chaos (Euro, Prototype 19930517) [Hidden Palace]
sms:
Sonic the Hedgehog Chaos (Euro, "Ver 0.20", Prototype 19930630) [Hidden Palace]
Sonic the Hedgehog Chaos (Euro, Prototype 19930713) [Hidden Palace]

These prototypes are believed to have been solely burned for Sega Europe/UK, and thus are all labeled "Euro".

* Mark sms/sonicc630 as not working, as it somehow crashes after the title screen.

renamed sonicc in gamegear.xml from "Sonic Chaos" to "Sonic the Hedgehog Chaos" to maintain consistency (box art for Game Gear release packaging says "Sonic the Hedgehog Chaos" too) as well, while correcting a capitalization error for actionfg0.
2019-11-05 13:54:51 -05:00
Robbbert
cf0ac1bfae (nw) f,g*.xml : removed offset=0 2019-05-16 14:35:34 +10:00
Vas Crabb
8dad4881f6 srcclean (nw) 2018-02-25 01:34:04 +11:00
arbee
375c7f6294 gamegear.xml, pce.xml, sg1000.xml: begin adding new dumps [David Haywoood] 2018-02-20 19:41:31 -05:00
Scott Stone
6f1b0f5e9c gamegear.xml: Fix/comment nvram size for shinfrc2 and clones to allow game to function properly. Fixed MT#06845 [einstein95, Tafoid] 2018-01-16 14:37:05 -05:00
David Haywood
df1ec34f74 add the recent smspower dumps to the sms/gg software lists 2016-08-29 15:34:00 +01:00
etabeta78
6d69c89500 another (and last for this development cycle) round of
naming consistency "enforcement", especially for saturn.xml. nw.
2016-05-24 06:47:23 +02:00
etabeta78
e37e21416d more naming consistency across lists. nw. 2016-05-23 07:52:20 +02:00
Miodrag Milanovic
030f37b94c The patch mainly adds software list support for the Master Gear adapter, used by the Game Gear driver, and removes two entries of the SMS software list that are just homebrew hacks [Enik] 2016-03-19 16:25:48 +01:00
Logan B
01d3e240a6 Fix copy/paste error (nw) 2015-06-15 19:10:32 +12:00
etabeta78
fa66b1dcab (MESS) added a few new dumps, and performed some consistency fix. nw. 2015-04-11 09:18:03 +02:00
etabeta78
904af8bc0b (MESS) misc new dumps added to softlists. nw. 2015-04-03 07:43:05 +02:00
etabeta78
8e0608371f (MESS) misc round of new dump additions (from multiple sources) and consistency fixes. nw. 2015-03-23 08:28:08 +01:00
etabeta78
8453d27f76 (MESS) gamegear.xml: Fixed some unknown publishers and years [Logan B]
out of whatsnew: also, marked as supported Ecco the Dolphin thanks to Enik's indications.
2015-01-27 08:37:20 +01:00
etabeta78
384f7653e1 (MESS) misc new dumps and redumps. nw. 2014-11-01 14:49:37 +01:00
Miodrag Milanovic
c93ed344fb Cleanups and version bump 2014-10-15 07:19:47 +00:00
Fabio Priuli
ab592dea63 (MESS) gamegear: added preliminary emulation of the Master Gear Adapter
which allows to launch SMS games in the gamegear driver, with video chip
in SMS mode. You can try this by launching
  mess.exe gamegear -cart mgear -cart2 your_sms_game
(the -cart2 switch becomes available when you mount "mgear" in the main
gamegear cart slot) [Fabio Priuli]

out of the whatsnew: for the moment only fullpath loading is supported, and it is not
ensured to work 100%. thanks to Enik Land for pointing me to the necessary info.
2014-10-12 11:30:13 +00:00
Fabio Priuli
23bae7d144 (MESS) gameboy.xml: new prototype dump (not working). nw.
(MESS) gamegear.xml: new dumping info. nw.
2014-10-03 19:14:24 +00:00
Fabio Priuli
e5a77f7811 (MESS) softlist: misc new dumps. nw. 2014-08-27 07:08:32 +00:00
Fabio Priuli
2d68fa308f softlists: added a bunch of new dumps, courtesy of Ola Andersson, SMS Power,
TeamEurope, Matt Taylor and taizou. nw.
2014-05-02 10:33:37 +00:00
Fabio Priuli
b8f4843e1e (MESS) a few new dumps from SMS power, including European dump of
Zool for gamegear, and a series of MSX port for the Taiwanese SG1000
(these need a RAM adapter that only MESS and Meka emulate!!). nw.
2014-01-22 08:44:15 +00:00
Fabio Priuli
05efa2f096 added ram to a bunch of gamegear games which needed it. 2013-05-23 17:55:39 +00:00
Fabio Priuli
5477d4ded3 (MESS) sms/gamegear: updated the systems to rely on xml only for RAM/NVRAM
when loading from softlist. [Fabio Priuli]

from fullpath it still allocates 32k for every game, and if the game enables RAM the content is saved at exit.
2013-05-23 12:54:27 +00:00
Fabio Priuli
238d365b0c (MESS) sms/gamegear: fixed a few regressions in the new code (mostly due to missing bits in the softlist),
improved handling of proto dumps with weird sizes, added cart internal header logging. nw.
2013-05-22 13:49:41 +00:00
Fabio Priuli
d5dd4ee116 (MESS) sms/gamegear: Various improvements [Fabio Priuli]
- Converted cart handling and mappers to use slot devices
  - Simplified bios and cart bankswitch mechanism
  - Added save state support to both systems
  - Removed on-cart EEPROM from main gamegear now that
    it can be properly implemented on carts which have it
  - Made LCD persistence hack optional (ON by default, it can
    be turned OFF from Driver Configuration submenu)
  - Reduced tagmap lookups all across the driver
2013-05-21 19:53:31 +00:00
Fabio Priuli
9ebe46b04f (MESS) softlist: misc consistency fixes, mostly to have common shortnames for the same games
across different lists. nw.
2013-05-01 08:05:35 +00:00
Fabio Priuli
626f45e2fc (MESS) softlist: added more documentation about Sega PCBs and chip labels. nw.
Anyone willing to contribute pictures of the PCBs for Sega console carts is welcome...
2013-03-28 07:37:20 +00:00
Fabio Priuli
e734415ff9 (MESS) added latest SMS Power dumps. nw. 2013-03-25 16:36:27 +00:00
Miodrag Milanovic
4337250fbe used old version of srcclean, so I put back old files and run it again, it produce much less changes, sorry for this (nw) 2013-03-19 11:38:58 +00:00
Miodrag Milanovic
0e1f5ad25b Cleanups and version bump 2013-03-19 07:22:20 +00:00
smf-
19a14cbba6 use spaces in xml comments. This is the output from a local srcclean change applied after reverting the 0.148 cleanup, to avoid losing previous formatting. 2013-01-11 16:23:29 +00:00
Miodrag Milanovic
0e19f641d3 Cleanups and version bump 2013-01-11 07:32:46 +00:00
Justin Kerk
268bc19da2 Replace most fullwidth characters in Japanese software lists - they exist for backwards compatibility and there is generally no good reason to use them nowadays (nw)
Also replaced combining dakuten with precomposed forms and made a few romanization tweaks
2012-09-09 23:41:25 +00:00
Fabio Priuli
3077c162bd softlists: misc cleanups and consistency fixes (channelf courtesy of k11). no whatsnew.
mz2000_*.xml: added a few more files. no whatsnew.
2012-08-27 18:45:25 +00:00
Miodrag Milanovic
960ae0c0de Sync software lists from MESS into hash (no whatsnew) 2012-08-21 10:47:55 +00:00