Also changed some descriptive text to lowercase in descriptions.
New working software list additions (gbcolor.xml)
--------------------------------------------
Grimace’s Birthday (V1.7) [nickisarchivinget]
Grimace’s Birthday (V1.6) [nickisarchivinget]
English and German versions of the Speed Version bootleg, passed off as
Pokémon Jade version, have been added to the software list. Chinese and
Spanish translations, and translations of Power Version (Pokémon
Diamond) also exist.
New working software list additions (gbcolor.xml)
-----------------------------------
Pokémon Jade Version [taizou]
Pokémon Vision Jade [Sanqui, taizou]
* Reset the system from a timer callback for the Vast Fame/SL/J.Y.
Company multi-game cartridges. This fixes games on gbcolor.
* Reset system when leaving configuration mode for GBCK003. Fixes most
issues with games.
* Moved GBCK003 to its own source file, and added notes for both
multi-game cartridge types.
Neither of these use per-game cartridge RAM banking, but they do
segregate the RAM between games and disable it for games that don't need
it.
New working software list additions
--------------
gbcolor.xml: Yín Bǎn Zhōngwén RPG Zhànlüè + Dòngzuò + Yìzhì 12 in 1 [taizou, Vas Crabb]
gbcolor.xml: Shǐshàng Chāoqiáng RPG + Gédòu + Yìzhì Bǎn Zǔhé Kǎ 18 in 1 [taizou, Vas Crabb]
Cartridge RAM features are not implemented yet.
New working software list items
---------------------
gbcolor.xml: New Super Color 145 in 1 (China) [taizou, Vas Crabb]
New working software list additions
----------------------
gbcolor.xml: Guàishòu Go! Go! Ⅱ (China) [taizou, Vas Crabb]
gbcolor.xml: Kǒudài Guàishòu - Dòngzuò Piān (China) [taizou, Vas Crabb]
* gbcolor.xml, bus/gameboy: Renamed slot option for Rocket Games
cartridges from "rom_atvrac" to "rom_rocket".
* emu/config.cpp: Made error messages more detailed when opening a
configuration file fails, and bumped error messages to warning level.
* tools/imgtool: Fixed build.
* Added MBC30 as a distinct slot option for documentation purposes.
* Added heuristics to detect MBC30 for GBX and plain ROM dump files.
* mbc.cpp: Disabled noisy logging.
Allow cartridges to install themselves rather than putting accesses
through trampolines. Use memory banks even when they aren't installed
directly, as it exposes script bindings and declares intent.
Added support for MBC6 Flash, and MBC7 two-axis accelerometer and 128*16
or 256*16 serial EEPROM. Added basic support for Game Boy Camera image
capture (various M64282FP processing features are not implemented).
Improved MBC3 real-time clock emulation.
Added basic support for Hudson Soft HuC-1 cartridges (infrared I/O not
supported) and HuC-3 cartridges (real-time clock and infrared I/O not
supported).
Added full support for Vast Fame VF001 cartridges.
Separated Mega Duck flat and banked ROM cartridge types, and allowed
software list items to specify whether a cartridge has fixed and
selectable 16K banks or a single selectable 32K bank.
Added support for RAM sizes smaller than 8K that will be mirrored in the
0xA000-0xBFFF area. Implemented correct ROM mapping for sizes that are
not powers of two. Corrected size of MBC2 internal static RAM.
Added support for various hypothetical cartridge wirings, such as MBC5
with outer ROM banking for up to 128M, M161 and Wisdom Tree cartridges
with flat RAM, and MBC1 or MBC5 with fewer than the maximum number of
inner ROM bank lines used.
Fixed logo spoofing logic for many pirate cartridges, including Rocket
Games, Sachen MMC1 and MMC2, Sintax, Li Cheng, and Niutoude. Identified
fine bank mask register for GBCK003 board.
Added basic support for GBX format ROM images. Added heuristic for
detecting raw dumps of M161 cartridge images. Removed unreliable
unlicensed cartridge detection heuristics - these need to be
reimplemented in a better way.
Software list items promoted to working
---------------------------------------
gameboy.xml:
Game Boy Camera (Europe, USA)
Game Boy Camera Gold (USA)
Pocket Camera (Japan, Rev 1)
gbcolor.xml:
Command Master (Japan)
Kirby Tilt 'n' Tumble (USA)
Korokoro Kirby (Japan)
Street Hero (Taiwan)
Thunder Blast Man (Europe)
4 in 1 + 8 in 1 (World, 4B-001)
4 in 1 + 8 in 1 (World, 4B-002)
4 in 1 + 8 in 1 + 16 in 1 (World, 4B-005)
4 in 1 + 8 in 1 (World, 4B-007)
31 in 1 Mighty Mix (Taiwan)
31-in-1 Mighty Mix (Australia)
Nǚwáng Gédòu 2000 (Taiwan)
Chāojí Gédòu 2001 Alpha (Taiwan)
Gédòu Jiàn Shén - Soul Falchion (Taiwan)
-gameboy.xml, gbcolor.xml: Mark HuC-1 cartridges as using non-volatile
RAM, and demoted to partially supported for lack of IR transceiver
emulation.
-Various cleanups:
* midway/seattle.cpp: Turned San Francisco Rush Boot Code Version L1.06A
into a BIOS option rather than a clone - the game version is the same.
* misc/highvideo.cpp: Use a more obvious pixel loop with fewer tests,
and cleaned up spacing.
* tvgames/micom_mahjong.cpp: Use active low logic for active low key
matrix rather than inverting stuff everywhere.
* pacific/thief.cpp: Cleaned up indentation gone wild.
Updated Chinese UI translations. [YuiFAN]
Updated Ukrainian UI translation. [Stanley Kid]
gbcolor.xml: Demoted beastfgt to partially supported (HUD blank on GBC),
and demoted emochndx to unsupported due to all kinds of broken
behaviour. Also added chongwu title from title screen as another
alt_title - it's different to the cartridge label.
-hash/gbcolor.xml: Added notes on what happens if you bypass the boot
check for Rocket Games cartridges.
-bus/vboy/slot.cpp: Don't instantiate a cartridge device when no media
is loaded.
* There are three kinds of cartridge: 32K flat, 16K fixed plus 16K
switchable, and 32K switchable. Cart implementation will come later.
-Various cleanups:
* gbcolor.xml: Proper Pinyin description for sqsd.
* sound/pokey.cpp: Minor cleanup, and got rid of an unnecessary member
in channel structures (only used in inline member functions).
* nintendo/gb.cpp: Spell Mega Duck with a space consistently.
* sega/turbo_a.cpp: Use an optional device finder to get discrete sound
device. The function that would add this seems to have been lost.
* Cleaned up spaces in software list comments.
* megadriv.xml: Improperly indented sharedfeat tag.
* gbcolor.xml: Converted "GBC only" comments into sharedfeat tags.
* a5200.hsi: Fixed a few dispossessed tags.
* Various softlists: Fixed improperly entabulated tags.
* Various softlists: More entabulation fixes.
New working software list additions (gbcolor)
--------------------------
Green Beret (prototype 1) [Kak, retroLEL]
Green Beret (prototype 2) [Kak, retroLEL]
Green Beret (prototype 3) [Kak, retroLEL]
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.
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.