Commit Graph

134 Commits

Author SHA1 Message Date
Vas Crabb
f4b23f1737 bus/gameboy: Moved MBC3/MBC30 to their own file as separate devices.
New working software list additions
-----------------------------------
gbcolor.xml: Juéduì Wǔlì (China), Wàixīng Tànxiǎn zhī Xīngqiú Dàzhàn (China) [Robyn A1200, taizou]
2022-10-04 12:51:33 +11:00
Vas Crabb
796d8d6720 bus/gameboy: Fixes for multi-game cartridges.
* 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.
2022-09-19 03:26:16 +10:00
Vas Crabb
f4d1429f30 bus/gameboy: Added support for banked RAM games in multi-game carts.
New working software list items
----------------
gbcolor.xml: 36 in 1 (SL36-0032) [taizou, Vas Crabb]
2022-09-18 09:00:33 +10:00
Vas Crabb
63e0c8bdc3 bus/gameboy: Added support for two Vast Fame multi-game cartridges.
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]
2022-09-18 08:32:30 +10:00
Vas Crabb
ae973b6d65 gbcolor.xml: Actually fill in CRC for added cartridge 2022-09-18 06:09:25 +10:00
Vas Crabb
33f2b34198 bus/gameboy: Added partial support for some Chinese multi-game cartridges.
Cartridge RAM features are not implemented yet.

New working software list items
---------------------
gbcolor.xml: New Super Color 145 in 1 (China) [taizou, Vas Crabb]
2022-09-18 06:05:43 +10:00
Vas Crabb
c550481ffa gbcolor.xml: Put the PCB designations on the right items. 2022-09-15 07:04:19 +10:00
Vas Crabb
a40ecafcea bus/gameboy/mbc.cpp: Added support for HK0701 and HK0819 bootlegs.
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]
2022-09-15 06:51:59 +10:00
Vas Crabb
e06e0a9f1b Fixes and cleanup:
* 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.
2022-09-15 04:05:09 +10:00
Vas Crabb
3c49020bab bus/gameboy: Added basic HuC-3 real-time clock simulation, and cleanup.
* 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.
2022-09-14 02:41:30 +10:00
Vas Crabb
5db7ffb86a Reimplemented Game Boy and Mega Duck cartridge slots:
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)
2022-09-13 06:27:33 +10:00
Vas Crabb
a3bc8bfd16 -gameboy.xml, gbcolor.xml: Demoted HuC-3 games to partially working.
-imagedev/picture.cpp: Added extensions for supported BMP and JPEG
 formats.
2022-09-12 07:15:32 +10:00
Vas Crabb
807c0a050f -midway/seattle.cpp: Added San Francisco Rush Boot Code Version L1.12 as a BIOS option. [neSneSgB]
-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.
2022-09-07 06:40:24 +10:00
Vas Crabb
b56cd5707f -machine/intelfsh.cpp: Added Macronix 29F008TC (1M*8, 4K*8 pages).
-bgfx: Removed obsolete sample layout files, updated documentation.

New NOT_WORKING software list items (gbcolor.xml)
-------------------------------------------------
Chāojí Gédòu 2001 Alpha (Taiwan) [taizou]
Gédòu Jiàn Shén - Soul Falchion (Taiwan) [taizou]
2022-09-06 07:05:25 +10:00
Vas Crabb
2b52ff5e6f Language updates, software demotions, and minor code cleanup.
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.
2022-09-04 07:26:01 +10:00
0kmg
b55cacb0a5
gbcolor.xml: Added 18 prototypes (15 working, 3 not working). (#10279)
New working software list additions (gbcolor.xml)
-----------------------------------
Antz (Europe, prototype) [VGHF, Hidden Palace]
Beach'n Ball (Europe, prototype, 20001121) [VGHF, Hidden Palace]
Bob et Bobette - Les Dompteurs du Temps ~ Suske en Wiske - De Tijdtemmers (Europe, late prototype) [VGHF, Hidden Palace]
Die Maus (Europe, prototype) [VGHF, Hidden Palace]
Die Maus - Verrückte Olympiade (Germany, prototype) [VGHF, Hidden Palace]
Driver (Europe, prototype) [VGHF, Hidden Palace]
Klustar (Europe, prototype, 19981001) [VGHF, Hidden Palace]
Klustar (Japan, prototype, 19981001) [VGHF, Hidden Palace]
Looney Tunes Collector - Martian Alert! (Europe, prototype) [VGHF, Hidden Palace]
Lucky Luke - Desperado Train (Europe, prototype) [VGHF, Hidden Palace]
Moomin no Daibouken (Japan, prototype) [VGHF, Hidden Palace]
Snoopy Tennis (Europe, prototype) [VGHF, Hidden Palace]
Tootuff (prototype) [VGHF, Hidden Palace]
UEFA 2000 (prototype) [VGHF, Hidden Palace]
WDL - Thundertanx (prototype) [VGHF, Hidden Palace]

New NOT_WORKING software list additions (gbcolor.xml)
---------------------------------------
The Adventures of Tintin - Prisoners of the Sun (Europe, prototype) [VGHF, Hidden Palace]
Bob et Bobette - Les Dompteurs du Temps ~ Suske en Wiske - De Tijdtemmers (Europe, early prototype) [VGHF, Hidden Palace]
Worms Armageddon (prototype) [VGHF, Hidden Palace]
2022-08-28 06:55:01 +10:00
Vas Crabb
1c2266ce55 -nintendo/vboy.cpp: Allow it to run unmapped reads with no cartridge.
-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.
2022-08-26 19:26:32 +10:00
Vas Crabb
cfa539f1ed -megaduck.xml: Added explicit info about cartridge banking.
* 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.
2022-08-26 02:20:44 +10:00
0kmg
11ddcd71f7
Various software lists: Cleaned up more extraneous spaces. (#10202) 2022-08-13 01:17:31 +10:00
Scott Stone
63af0bdb5c - hash\*.xml: Cleanup of some software lists of various spacing and format issues. More to come. [Tafoid] 2022-08-09 18:41:22 -04:00
0kmg
1bf2cc0cf3
gbcolor.xml: Added four Taiwanese dumps. (#10146)
New working software list additions
-----------------------------------
Chāorén Tègōngduì (Taiwan) [taizou]
Fēngkuáng Āgěi Ⅲ - Chāojí Zhàdànrén (Taiwan) [taizou]
Wángzú Tiāntáng (Taiwan) [taizou]
Xiándàn Chāorén - Ultraman (Taiwan) [taizou]
2022-07-30 23:28:17 +10:00
0kmg
9c4211b156
Miscellaneous software list cleanups. (#10058)
* Removed mention of MESS.
* Corrected case (and more) in various Japanese titles.
2022-07-12 14:43:48 +10:00
Vas Crabb
840bdabbcb gbcolor.xml: Added an elaborate bootleg (not working).
New not working software list additions
-----------------------
gbcolor.xml: Nǚwáng Gédòu 2000 (Taiwan) [taizou]
2022-06-30 01:19:26 +10:00
0kmg
ad06f440a7
gameboy.xml, gbcolor.xml: Added some missing Super Game Boy enhanced tags. (#9967) 2022-06-25 08:26:25 +10:00
0kmg
682d586fdf
Various cleanups in software lists. (#9866)
* 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.
2022-05-31 20:34:38 -04:00
Vas Crabb
3984f8f883 srcclean in preparation for release 2022-05-22 09:36:01 +10:00
ICEknigh7
989edafea2
gbcolor.xml: Added Green Beret prototypes developed by Kak. (#9754)
New working software list additions (gbcolor)
--------------------------
Green Beret (prototype 1) [Kak, retroLEL]
Green Beret (prototype 2) [Kak, retroLEL]
Green Beret (prototype 3) [Kak, retroLEL]
2022-05-20 05:26:45 +10:00
0kmg
564eceb6de
gbcolor.xml: Added one dump. (#9681)
New working software list additions
-----------------------------------
Tyrannosaurus Tex (USA) [NoIntro]
2022-05-03 09:17:48 -04:00
0kmg
728397ecca
gbcolor.xml: Added a prototype. (#9152)
New working software list additions
-----------------------------------
San Francisco Rush - Extreme Racing (prototype) [Hidden Palace, Steve Lin]
2022-01-15 20:38:32 -05:00
ArcadeShadow
009a0ab3e0
gbcolor.xml : Lowercase on some description's words (#8795) 2021-11-15 22:51:24 -05:00
0kmg
756897493f
gameboy.xml, gbcolor.xml: fix some parent/clone relationships/naming (#8284)
* gameboy.xml, gbcolor.xml: fix some parent/clone relationships and naming
2021-07-18 22:24:09 -04:00
Vas Crabb
63be22d8f3 -gbcolor.xml: Improved metadata and added some dumps. [ICEknight]
-gbcolor.xml: Started tidying up titles of Chinese cartridges.
2020-10-17 03:42:10 +11:00
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
Vas Crabb
1fda8836a7 minimaws: add rudimentary listing of software lists to web UI and work around a python issue on loading; also fix up more software list issues (nw) 2019-12-15 02:38:40 +11:00
Robbbert
cf0ac1bfae (nw) f,g*.xml : removed offset=0 2019-05-16 14:35:34 +10:00
Vas Crabb
97b6717027 (nw) Clean up the mess on master
This effectively reverts b380514764 and
c24473ddff, restoring the state at
598cd52272.

Before pushing, please check that what you're about to push is sane.
Check your local commit log and ensure there isn't anything out-of-place
before pushing to mainline.  When things like this happen, it wastes
everyone's time.  I really don't need this in a week when real work™ is
busting my balls and I'm behind where I want to be with preparing for
MAME release.
2019-03-26 11:13:37 +11:00
andreasnaive
b380514764 Revert "conflict resolution (nw)"
This reverts commit c24473ddff, reversing
changes made to 009cba4fb8.
2019-03-25 23:13:40 +01:00
ClawGrip
1c63929682 gbcolor.xml: Add alternate game serials (nw) (#4467)
* gbcolor.xml: Add alternate game serials (nw)

* gba.xml: Fix typo (nw)
2019-01-03 21:40:21 -05:00
Vas Crabb
655bfff256 srcclean (nw) 2018-12-23 09:44:47 +11:00
ClawGrip
29aa4679ca gbcolor.xml: Fix "CGB-AZ8P-EUR" serial and improve cartridges hardware documentation (nw) (#4411)
* Improve carts hardware documentation (nw)

* Fix endlines (nw)
2018-12-21 08:02:19 -05:00
ClawGrip
c986de47c1
gbcolor.xml: Improve hardware info and notes (nw) 2018-12-07 19:56:48 +01:00
Ivan Vangelista
0e79a04245 new working software list addition
-------------------------------------------------
gbcolor: Pocket GT (Eur, Prototype?) [VampierMSX, Porchy, The Dumping Union]
2018-11-09 17:13:59 +01:00
ClawGrip
4563be7776
Regional game names fixes (Spanish special characters) 2018-03-19 16:32:10 +01:00
etabeta78
16f2a92f89 final round of consistency fixes. nw. 2016-06-28 08:00:26 +02:00
etabeta78
ad3b07d17f gb.cpp: Added Rumble emulation to the MBC-5 Game Boy
Color games which supported it. MAME will now output
  a "Rumble" output bit (0 for Rumble=OFF and 1 for
  Rumble=ON) whenever the games try to access the Rumble
  component… third party applications can now listen to the
  output and redirect it to some hardware that can "rumble"
  in sync with the gameplay. [Fabio Priuli]

gb.cpp: Added partial RTC emulation to the MBC-3 Game Boy
  Color games which supported it. Clock proceeds a bit too
  fast during gameplay, but at least it is not stuck anymore to the
  time of first configuration. [Fabio Priuli]
2016-06-06 18:34:50 +02:00
etabeta78
c021c962b5 now that we document (some) pcb, it makes a lot of sense
to include Tauwasser's notes. nw.
2016-06-03 11:57:04 +02:00
etabeta78
1f1345d0aa gbcolor.xml: split dendego2 to match the actual cart content. nw. 2016-06-03 11:26:26 +02:00
etabeta78
975cbec539 gbcolor.xml: Documented more Game Boy Color PCBs, based on
no-intro pictures [Fabio Priuli]

vboy.xml: Documented a few Virtual Boy PCBs, based on
no-intro pictures [Fabio Priuli]
2016-06-02 11:34:44 +02:00
etabeta78
be406134ae more consistency fixes. nw. 2016-05-29 11:38:55 +02:00