First commit

This commit is contained in:
Omar Zafar
2022-08-05 15:18:10 +02:00
commit b720337fc6
1708 changed files with 25181 additions and 0 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

340
.github/generate_db.py vendored Executable file
View File

@@ -0,0 +1,340 @@
#!/usr/bin/env python3
# Copyright (c) 2021 José Manuel Barroso Galindo <theypsilon@gmail.com>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys
import subprocess
from pathlib import Path
import configparser
from inspect import currentframe, getframeinfo
import itertools
import os
import io
import hashlib
import distutils.util
import datetime
import difflib
import shutil
import time
import json
import xml.etree.cElementTree as ET
import urllib.request
def main():
print('START!')
rotations = dict()
for line in urllib.request.urlopen('https://raw.githubusercontent.com/theypsilon/_arcade-organizer/master/rotations/mame-rotations.txt'):
parts = line.decode('utf-8').split(',')
if len(parts) == 2:
rot = translate_mame_rotation(parts[1].strip('\n').lower())
if rot is not None:
rotations[parts[0]] = rot
mad_finder = MadFinder('mad')
mad_reader = MadReader()
for mad in mad_finder.find_all_mads():
print(str(mad))
mad_reader.read_mad(mad)
data = mad_reader.data()
repeated = mad_reader.repeated()
errors = mad_reader.errors()
for setname in rotations:
if setname not in data:
data[setname] = dict()
if 'rotation' not in data[setname]:
data[setname]['rotation'] = rotations[setname]
create_orphan_branch('db')
json_filename = 'mad_db.json'
zip_filename = json_filename + '.zip'
save_data_to_compressed_json(data, json_filename, zip_filename)
md5_filename = zip_filename + '.md5'
with open(md5_filename, 'w') as md5_file:
md5_file.write(hash(zip_filename))
run_succesfully('git add %s' % md5_filename)
if len(repeated) > 0:
with open('repeated.txt', 'w') as repeated_file:
for repeats_key in sorted(repeated):
repeated_file.write('%s: ' % repeats_key)
repeated_file.write(', '.join(repeated[repeats_key]))
repeated_file.write('\n')
run_succesfully('git add repeated.txt')
if len(errors) > 0:
with open('errors.txt', 'w') as errors_file:
for key in sorted(errors):
errors_file.write('%s: ' % key)
errors_file.write(', '.join(errors[key]))
errors_file.write('\n')
run_succesfully('git add errors.txt')
force_push_file(zip_filename, 'db')
print('Done.')
def translate_mame_rotation(rot):
if rot == 'rot0':
return 0
elif rot == 'rot90':
return 90
elif rot == 'rot180':
return 180
elif rot == 'rot270':
return 270
else:
return None
def translate_mad_rotation(rot):
if rot == 'horizontal':
return 0
elif rot == 'vertical (cw)':
return 90
elif rot == 'horizontal (180)':
return 180
elif rot == 'vertical (ccw)':
return 270
else:
return None
class MadFinder:
def __init__(self, dir):
self._dir = dir
def find_all_mads(self):
return sorted(self._scan(self._dir), key=lambda mad: mad.name.lower())
def _scan(self, directory):
for entry in os.scandir(directory):
if entry.is_dir(follow_symlinks=False):
yield from self._scan(entry.path)
elif entry.name.lower().endswith(".mad"):
yield Path(entry.path)
def read_mad_fields(mad_path, tags):
fields = { i : '' for i in tags }
try:
context = ET.iterparse(str(mad_path), events=("start",))
for event, elem in context:
elem_tag = elem.tag.lower()
if elem_tag in tags:
tags.remove(elem_tag)
elem_value = elem.text
if isinstance(elem_value, str):
fields[elem_tag] = elem_value
if len(tags) == 0:
break
except Exception as e:
print("Line %s || %s (%s)" % (lineno(), e, mad_path))
return fields
class MadReader:
def __init__(self):
self._data = dict()
self._repeated = dict()
self._errors = dict()
def read_mad(self, mad):
self._mad = mad
self._entry_fields = read_mad_fields(mad, [
'setname',
'name',
'alternative',
'rotation',
'flip',
'resolution',
'cocktail',
'region',
'year',
'category',
'manufacturer',
'homebrew',
'bootleg',
'enhancements',
'translations',
'hacks',
'best_of',
'platform',
'series',
'num_buttons',
'players',
'num_monitors',
'move_inputs',
'special_controls',
])
self._entry_data = {'file': mad.stem + '.mra'}
self.set_str_if_not_empty('name')
self.set_bool_if_not_empty('alternative')
self.set_bool_if_not_empty('flip')
self.set_str_if_not_empty('resolution')
self.set_str_if_not_empty('cocktail')
self.set_str_if_not_empty('region')
self.set_int_if_not_empty('year')
self.set_str_list_if_not_empty('category')
self.set_str_list_if_not_empty('manufacturer')
self.set_bool_if_not_empty('homebrew')
self.set_bool_if_not_empty('bootleg')
self.set_bool_if_not_empty('enhancements')
self.set_bool_if_not_empty('translations')
self.set_bool_if_not_empty('hacks')
self.set_str_list_if_not_empty('best_of')
self.set_str_list_if_not_empty('platform')
self.set_str_list_if_not_empty('series')
self.set_int_if_not_empty('num_buttons')
self.set_str_if_not_empty('players')
self.set_int_if_not_empty('num_monitors')
self.set_str_list_if_not_empty('move_inputs')
self.set_str_list_if_not_empty('special_controls')
if self._entry_fields['rotation'] != '':
rot = translate_mad_rotation(self._entry_fields['rotation'].strip().lower())
if rot is not None:
self._entry_data['rotation'] = rot
if self._entry_fields['setname'] in self._repeated:
self._repeated[self._entry_fields['setname']].append(str(mad))
print('REPEATED! %s' % mad)
return
self._repeated[self._entry_fields['setname']] = [str(mad)]
self._data[self._entry_fields['setname']] = self._entry_data
def get_field(self, key):
field = self._entry_fields[key].strip('"\' ')
if field != '':
return field
return None
def set_str_list_if_not_empty(self, key):
field = self.get_field(key)
if field is not None:
self._entry_data[key] = [s.strip('"\' ') for s in field.split(',')]
def set_int_list_if_not_empty(self, key):
field = self.get_field(key)
if field is not None:
try:
self._entry_data[key] = [int(s.strip('"\' ')) for s in field.split(',')]
except:
self.add_error('field %s could not be parsed as int list' % key)
def set_str_if_not_empty(self, key):
field = self.get_field(key)
if field is not None:
self._entry_data[key] = field
def set_bool_if_not_empty(self, key):
field = self.get_field(key)
if field is not None:
self._entry_data[key] = field.lower() == "yes" or field.lower() == "true" or field.lower() == "y" or field.lower() == "t"
def set_int_if_not_empty(self, key):
field = self.get_field(key)
if field is not None:
try:
self._entry_data[key] = int(field)
except:
self.add_error('field %s could not be parsed as int' % key)
def add_error(self, message):
print('ERROR! %s' % message)
if self._mad not in self._errors:
self._errors[self._mad] = []
self._errors[self._mad].append(message)
def data(self):
return self._data
def repeated(self):
return {key: self._repeated[key] for key in self._repeated if len(self._repeated[key]) > 1}
def errors(self):
return self._errors
def create_orphan_branch(branch):
run_succesfully('git checkout -qf --orphan %s' % branch)
run_succesfully('git rm -rf .')
def force_push_file(file_name, branch):
run_succesfully('git add %s' % file_name)
run_succesfully('git commit -m "BOT: Releasing new MAD database." > /dev/null 2>&1 || true')
run_succesfully('git fetch origin %s > /dev/null 2>&1 || true' % branch)
if not run_conditional('git diff --exit-code %s origin/%s' % (branch, branch)):
print("There are changes to push.")
print()
run_succesfully('git push --force origin %s' % branch)
print()
print("New %s ready to be used." % file_name)
else:
print("Nothing to be updated.")
def save_data_to_compressed_json(db, json_name, zip_name):
with open(json_name, 'w') as f:
json.dump(db, f, sort_keys=True)
run_succesfully('touch -a -m -t 202108231405 %s' % json_name)
run_succesfully('zip -rq -D -X -9 -A --compression-method deflate %s %s' % (zip_name, json_name))
def hash(file):
with open(file, "rb") as f:
file_hash = hashlib.md5()
chunk = f.read(8192)
while chunk:
file_hash.update(chunk)
chunk = f.read(8192)
return file_hash.hexdigest()
def run_conditional(command):
result = subprocess.run(command, shell=True, stderr=subprocess.DEVNULL, stdout=subprocess.PIPE)
stdout = result.stdout.decode()
if stdout.strip():
print(stdout)
return result.returncode == 0
def run_succesfully(command):
result = subprocess.run(command, shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
stdout = result.stdout.decode()
stderr = result.stderr.decode()
if stdout.strip():
print(stdout)
if stderr.strip():
print(stderr)
if result.returncode != 0:
raise Exception("subprocess.run Return Code was '%d'" % result.returncode)
if __name__ == '__main__':
main()

25
.github/workflows/generate_db.yml vendored Executable file
View File

@@ -0,0 +1,25 @@
name: Generate DBs
on:
schedule:
- cron: '0 12 * * *'
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Generate DBs
run: |
set -euo pipefail
git config --global user.email "theypsilon@gmail.com"
git config --global user.name "The CI/CD Bot"
curl --fail --location https://raw.githubusercontent.com/theypsilon/MAD_Database_MiSTer/main/.github/generate_db.py > generate_db.py
chmod +x generate_db.py
./generate_db.py

1560
ArcadeDatabase.csv Executable file

File diff suppressed because it is too large Load Diff

48
README.md Executable file
View File

@@ -0,0 +1,48 @@
# MAD Database for MiSTer
Auto-Generated json DB file at: https://github.com/theypsilon/MAD_Database_MiSTer/tree/db
## How to generate your own MAD Database:
1. Create your own public repository on GitHub
2. Place the contents of this zip (https://github.com/theypsilon/MAD_Database_MiSTer/archive/refs/heads/main.zip) on your new public repository as-is
3. Make sure that there is a .github hidden folder there, if there isn't go back to Step 2, cause something was not copied correctly.
4. Substitute the contents of the mad folder with files of your own. The folder structure inside mad does not matter, it will just look for files with the .mad extension.
5. Commit and push the changes.
6. After 5 mins, your new repository will generate a new branch named db by itself, this is an automatic task. It will contain the zipped json that we need in the [Arcade Organizer](https://github.com/theypsilon/_arcade-organizer/).
## MAD Schema
MAD files are XML files that have to be validated against [this schema](mad_schema.xsd).
An example of a valid MAD file would be the following:
```xml
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>ddonpach</setname>
<name>DoDonPachi (JP)</name>
<region>Japan</region>
<alternative>yes</alternative>
<parent_title>DonPachi</parent_title>
<platform>CAVE 68000</platform>
<series>DonPachi</series>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<year>1997</year>
<manufacturer>CAVE</manufacturer>
<category>Shooter - Vertical</category>
<best_of>theypsilon Top Shmups|1</best_of>
<rotation>vertical (ccw)</rotation>
<flip>yes</flip>
<resolution>15kHz</resolution>
<players>2 (simultaneous)</players>
<move_inputs>8-way</move_inputs>
<special_controls></special_controls>
<num_buttons>3</num_buttons>
</misterarcadedescription>
```

78
csv2mad.py Normal file
View File

@@ -0,0 +1,78 @@
#!/bin/python3
# 20210425 Written by Felix Leger (aka @barfood#4348), with guidance from Porkchop Express.
# https://felixleger.com || https://misteraddons.com
"""
How to use:
python3 csv2mad.py ARCADE_METADATA_FILE(.csv)
This will generate an "output_mads/" folder with 1 file per line in your ARCADE_METADATA_FILE.
"""
import os
import sys
import tqdm
import datetime
import numpy as np
import pandas as pd
if len(sys.argv) != 2:
print("Please call the script as follows")
print("python3 csv2mad.py ARCADE_METADATA_FILE(.csv)")
sys.exit(1)
ARCADE_METADATA_CSV = sys.argv[1]
df = pd.read_csv(ARCADE_METADATA_CSV, na_values="", dtype=str)
df = df.replace(np.nan, '', regex=True)
MAD_NAME_COLUMN = "name"
# Create output directory
OUTPUT_DIR = "mad"
os.makedirs(OUTPUT_DIR, exist_ok=True)
############### MAIN LOOP #########################
for _, game in tqdm.tqdm(df.iterrows(), desc="Generating mads", total=df.shape[0]):
# Alternate mads are created in subfolders
# if len(game.alternative) > 0:
# alternate_folder = os.path.join(OUTPUT_DIR, "_alternatives", "_"+game.alternative.replace("&amp;", "&"))
# os.makedirs(alternate_folder, exist_ok=True)
# mad_filename = os.path.join(alternate_folder, game[MAD_NAME_COLUMN] + ".mad")
# else:
mad_filename = os.path.join(OUTPUT_DIR, game[MAD_NAME_COLUMN] + ".mad")
with open(mad_filename.replace("&amp;", "&"), 'w') as f: # Write in file as utf-8
f.write("<?xml version=\"1.0\" ?>\n")
f.write("<misterarcadedescription>\n\n")
for key in game.keys():
#if key == MAD_NAME_COLUMN:
# We don't want to include the MAD name as a field in the MAD itself.
#continue
#elif "linebreak" in key:
if "linebreak" in key:
# Any column that contains "linebreak" in its column name will be skipped and replaced by a
# new line in the MAD instead. (Remember, column names must be unique, so they will be
# linebreak1, linebreak2, etc.)
f.write("\n")
continue
# Indent
f.write("\t")
if len(game[key]) > 0 and game[key][0] == "<":
# Special case, some fields contain xml code inside them (they are complete without us
# handling writing the xml tag around the value)
f.write(game[key].replace("\\n", "\n\t\t") + "\n")
else:
if key in ["manufacturer", "series"]:
for i, val in enumerate(game[key].split(" / ")):
f.write("<{}>{}</{}>".format(key, val, key) + "\n")
if i < len(game[key].split(" / ")) - 1:
f.write("\t")
else:
f.write("<{}>{}</{}>\n".format(key, game[key], key))
f.write("</misterarcadedescription>")
############### END MAIN LOOP ##########################
print("MADs have been generated in folder {}/".format(OUTPUT_DIR))

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>1941</setname>
<alternative>no</alternative>
<name>1941: Counter Attack (World 900227)</name>
<year>1990</year>
<category>Army / Airforce</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

9
mad/1942.mad Executable file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>1942</setname>
<alternative>no</alternative>
<name>1942 (Revision B)</name>
<year>1984</year>
<category>Army / Airforce</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

9
mad/1943 Kai Midway Kaisen.mad Executable file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>1943kai</setname>
<alternative>no</alternative>
<name>1943 Kai Midway Kaisen (Japan)</name>
<year>1987</year>
<category>Army / Airforce</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

9
mad/1943 Midway Kaisen.mad Executable file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>1943j</setname>
<alternative>no</alternative>
<name>1943 Midway Kaisen (Japan, Rev B)</name>
<year>1987</year>
<category>Army / Airforce</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>1943mii</setname>
<alternative>no</alternative>
<name>1943 The Battle of Midway Mark II (US)</name>
<year>1987</year>
<category>Army / Airforce</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>1943u</setname>
<alternative>no</alternative>
<name>1943 The Battle of Midway (US, Rev C)</name>
<year>1987</year>
<category>Army / Airforce</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>1944</setname>
<alternative>no</alternative>
<name>1944: The Loop Master (Euro 000620)</name>
<region>Europe</region>
<year>2000</year>
<category>Shoot'em up</category>
<manufacturer>Eighting / Raizing</manufacturer>
<platform>CPS-2</platform>
<players>2</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>19xx</setname>
<alternative>no</alternative>
<name>19XX: The War Against Destiny (Euro 960104)</name>
<region>Europe</region>
<year>1996</year>
<category>Shoot'em up</category>
<manufacturer>Capcom</manufacturer>
<platform>CPS-2</platform>
<players>2</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

16
mad/280Z-ZZAP (US).mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>280zzzap</setname>
<alternative>no</alternative>
<name>280Z-ZZAP</name>
<resolution>15kHz</resolution>
<region>USA</region>
<year>1976</year>
<category>Racing</category>
<manufacturer>Dave Nutting Associates</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>0</num_buttons>
<players>1</players>
<special_controls>paddle</special_controls>
</misterarcadedescription>

16
mad/4D Warriors (315-5162).mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>4dwarrio</setname>
<alternative>no</alternative>
<name>4D Warriors</name>
<resolution>15kHz</resolution>
<year>1985</year>
<category>Shooter - Horizontal</category>
<manufacturer>Sega</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<platform>Sega System 1</platform>
<num_buttons>2</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 4-way</move_inputs>
</misterarcadedescription>

13
mad/ASO.mad Executable file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>aso</setname>
<alternative>no</alternative>
<name>ASO - Armored Scrum Object</name>
<resolution>16.1785kHz</resolution>
<year>1985</year>
<category>Shooter / Flying Vertical</category>
<manufacturer>SNK</manufacturer>
<num_buttons>3</num_buttons>
<players>2</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>afighter</setname>
<alternative>no</alternative>
<name>Action Fighter (World, S16A) [FD1089A 317-0018]</name>
<region>World</region>
<year>1986</year>
<manufacturer>Sega</manufacturer>
<platform>SEGA S16A</platform>
<players>2</players>
<move_inputs>joystick 8</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>cworld2j</setname>
<alternative>no</alternative>
<name>Adventure Quiz Capcom World 2 (Japan 920611)</name>
<year>1992</year>
<category>Arcade Quiz</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>alexkidd</setname>
<alternative>no</alternative>
<name>Alex Kidd: The Lost Stars (Set 2, World, S16A) [No Protection]</name>
<region>World</region>
<year>1986</year>
<manufacturer>Sega</manufacturer>
<platform>SEGA S16A</platform>
<players>2</players>
<move_inputs>joystick 8</move_inputs>
</misterarcadedescription>

16
mad/Ali Baba and 40 Thieves.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>alibaba</setname>
<alternative>no</alternative>
<name>Ali Baba and 40 Thieves</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1982</year>
<category>Maze</category>
<manufacturer>Sega</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 4-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>alienaru</setname>
<alternative>no</alternative>
<name>Alien Arena</name>
<resolution>15kHz</resolution>
<year>1985</year>
<category>Arena</category>
<manufacturer>Duncan Brown</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>2</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>aliensyn</setname>
<alternative>no</alternative>
<name>Alien Syndrome (set 4, System 16B, unprotected)</name>
<region>World</region>
<year>1987</year>
<manufacturer>Sega</manufacturer>
<platform>SEGA S16B</platform>
<players>2</players>
<move_inputs>joystick 8</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>avsp</setname>
<alternative>no</alternative>
<name>Alien vs. Predator (Euro 940520)</name>
<region>Europe</region>
<year>1994</year>
<category>Beat'em up</category>
<manufacturer>Capcom</manufacturer>
<platform>CPS-2</platform>
<players>3</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>altbeast</setname>
<alternative>no</alternative>
<name>Altered Beast (set 8) (8751 317-0078)</name>
<region>World</region>
<year>1988</year>
<manufacturer>Sega</manufacturer>
<platform>SEGA S16B</platform>
<players>2</players>
<move_inputs>joystick 8</move_inputs>
</misterarcadedescription>

15
mad/Amazing Maze.mad Executable file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>maze</setname>
<alternative>no</alternative>
<name>Amazing Maze</name>
<resolution>15kHz</resolution>
<year>1976</year>
<category>Maze</category>
<manufacturer>Midway</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>0</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

16
mad/Amidar (Scramble).mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>amidars</setname>
<alternative>no</alternative>
<name>Amidar</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1982</year>
<category>Maze</category>
<manufacturer>Konami</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 4-way</move_inputs>
</misterarcadedescription>

16
mad/Anteater.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>anteater</setname>
<alternative>no</alternative>
<name>Anteater</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1982</year>
<category>Maze</category>
<manufacturer>Tago Electronics</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>1</players>
<move_inputs>joystick 4-way</move_inputs>
</misterarcadedescription>

17
mad/Arkanoid (JP).mad Executable file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>arkanoidj</setname>
<alternative>no</alternative>
<name>Arkanoid</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<region>Japan</region>
<year>1986</year>
<category>Ball and Paddle</category>
<manufacturer>Taito</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>0</num_buttons>
<players>2 (alternating)</players>
<special_controls>spinner</special_controls>
</misterarcadedescription>

17
mad/Arkanoid (US).mad Executable file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>arkanoid</setname>
<alternative>no</alternative>
<name>Arkanoid (US, older)</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<region>US</region>
<year>1986</year>
<category>Ball and Paddle</category>
<manufacturer>Taito</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<special_controls>spinner</special_controls>
</misterarcadedescription>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>arkanoid</setname>
<alternative>no</alternative>
<name>Arkanoid</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1986</year>
<category>Ball and Paddle</category>
<manufacturer>Taito</manufacturer>
<homebrew>yes</homebrew>
<bootleg>no</bootleg>
<num_buttons>0</num_buttons>
<players>2 (alternating)</players>
<special_controls>spinner</special_controls>
</misterarcadedescription>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>arkanoid</setname>
<alternative>no</alternative>
<name>Arkanoid</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1986</year>
<category>Ball and Paddle</category>
<manufacturer>Taito</manufacturer>
<homebrew>yes</homebrew>
<bootleg>no</bootleg>
<num_buttons>0</num_buttons>
<players>2 (alternating)</players>
<special_controls>spinner</special_controls>
</misterarcadedescription>

17
mad/Arkanoid (W).mad Executable file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>arkanoid</setname>
<alternative>no</alternative>
<name>Arkanoid</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<region>World</region>
<year>1986</year>
<category>Ball and Paddle</category>
<manufacturer>Taito</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<special_controls>spinner</special_controls>
</misterarcadedescription>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>batrideru</setname>
<alternative>no</alternative>
<name>Armed Police Batrider (USA) (Fri Feb 13 1998)</name>
<region>USA</region>
<year>1998</year>
<category>Shoot'em up</category>
<manufacturer>Raizing / Eighting</manufacturer>
<platform>Toaplan 2</platform>
<players>2</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

16
mad/Armored Car.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>armorcar</setname>
<alternative>no</alternative>
<name>Armored Car</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1981</year>
<category>Maze</category>
<manufacturer>Stern</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>2</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 4-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>armwar</setname>
<alternative>no</alternative>
<name>Armored Warriors (Euro 941024)</name>
<region>Europe</region>
<year>1994</year>
<category>Beat'em up</category>
<manufacturer>Capcom</manufacturer>
<platform>CPS-2</platform>
<players>3</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

9
mad/Asteroids Deluxe.mad Executable file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>astdelux</setname>
<alternative>no</alternative>
<name>Asteroids Deluxe (rev 3)</name>
<year>1980</year>
<category>Space / Asteroids</category>
<manufacturer>Atari</manufacturer>
</misterarcadedescription>

9
mad/Asteroids.mad Executable file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>asteroid</setname>
<alternative>no</alternative>
<name>Asteroids (rev 4)</name>
<year>1979</year>
<category>Space / Asteroids</category>
<manufacturer>Atari</manufacturer>
</misterarcadedescription>

16
mad/Astro Flash (Japan).mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>astrofl</setname>
<alternative>no</alternative>
<name>Astro Flash (Japan)</name>
<resolution>15kHz</resolution>
<region>Japan</region>
<year>1986</year>
<category>Shooter</category>
<manufacturer>Sega</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<platform>Sega System E</platform>
<players>2</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

13
mad/Athena.mad Executable file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>athena</setname>
<alternative>no</alternative>
<name>Athena</name>
<resolution>16.1785kHz</resolution>
<year>1986</year>
<category>Action</category>
<manufacturer>SNK</manufacturer>
<num_buttons>2</num_buttons>
<players>2</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

15
mad/Attack Force.mad Executable file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>attackfc</setname>
<alternative>no</alternative>
<name>Attack Force</name>
<resolution>15kHz</resolution>
<year>1979</year>
<category>Shooter - Gallery</category>
<manufacturer>Electronic Games Systems</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>1</players>
<move_inputs>joystick 2-way horizontal</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>aurail</setname>
<alternative>no</alternative>
<name>Aurail (set 3, US) (unprotected)</name>
<region>World</region>
<year>1990</year>
<manufacturer>Sega / Westone</manufacturer>
<platform>SEGA S16B</platform>
<players>2</players>
<move_inputs>joystick 8</move_inputs>
</misterarcadedescription>

16
mad/Azurian Attack.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>azurian</setname>
<alternative>no</alternative>
<name>Azurian Attack</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1982</year>
<category>Shooter - Multidirectional</category>
<manufacturer>Rait Electronics Ltd</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>2</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>baddudes</setname>
<alternative>no</alternative>
<name>Bad Dudes vs. Dragonninja (US revision 1)</name>
<region>World</region>
<year>1988</year>
<manufacturer>Data East USA</manufacturer>
<players>2</players>
<move_inputs>joystick 8</move_inputs>
</misterarcadedescription>

16
mad/Bagman.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bagman</setname>
<alternative>no</alternative>
<name>Bagman</name>
<flip>no</flip>
<resolution>15kHz</resolution>
<year>1982</year>
<category>Platform - Climb</category>
<manufacturer>Valadon Automation</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 4-way</move_inputs>
</misterarcadedescription>

16
mad/Balloon Bomber.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>ballbomb</setname>
<alternative>no</alternative>
<name>Balloon Bomber</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1980</year>
<category>Shooter - Gallery</category>
<manufacturer>Taito</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 2-way horizontal</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bbakraid</setname>
<alternative>no</alternative>
<name>Battle Bakraid - Unlimited Version (USA) (Tue Jun 8 1999)</name>
<region>USA</region>
<year>1999</year>
<category>Shoot'em up</category>
<manufacturer>Eighting</manufacturer>
<platform>Toaplan 2</platform>
<players>2</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>batcir</setname>
<alternative>no</alternative>
<name>Battle Circuit (Euro 970319)</name>
<region>Europe</region>
<year>1997</year>
<category>Beat'em up</category>
<manufacturer>Capcom</manufacturer>
<platform>CPS-2</platform>
<players>4</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bgaregga</setname>
<alternative>no</alternative>
<name>Battle Garegga (Europe / USA / Japan / Asia) (Sat Feb 3 1996)</name>
<region>Japan</region>
<year>1996</year>
<category>Shoot'em up</category>
<manufacturer>Raizing / Eighting</manufacturer>
<platform>Toaplan 2</platform>
<players>2</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

16
mad/Battle of Atlantis.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>atlantis2</setname>
<alternative>no</alternative>
<name>Battle of Atlantis</name>
<flip>no</flip>
<resolution>15kHz</resolution>
<year>1981</year>
<category>Shooter - Horizontal</category>
<manufacturer>Comsoft</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>2</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bayroute</setname>
<alternative>no</alternative>
<name>Bay Route (set 3, World) (FD1094 317-0116)</name>
<region>World</region>
<year>1989</year>
<manufacturer>Sunsoft / Sega</manufacturer>
<platform>SEGA S16B</platform>
<players>2</players>
<move_inputs>joystick 8</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>beastfp</setname>
<alternative>no</alternative>
<name>Beastie Feastie</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1984</year>
<category>Platform - Climb</category>
<manufacturer>Epos Corporation</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>2</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 4-way</move_inputs>
</misterarcadedescription>

15
mad/Berzerk.mad Executable file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>berzerk</setname>
<alternative>no</alternative>
<name>Berzerk</name>
<resolution>15kHz</resolution>
<year>1980</year>
<category>Shooter - Multidirectional</category>
<manufacturer>Stern</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

17
mad/Big Kong.mad Executable file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bigkong</setname>
<alternative>no</alternative>
<name>Big Kong</name>
<flip>no</flip>
<resolution>15kHz</resolution>
<year>1981</year>
<category>Platform - Climb</category>
<manufacturer>Falcon</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<series>Donkey Kong</series>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 4-way</move_inputs>
</misterarcadedescription>

16
mad/Billiard.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bilyard</setname>
<alternative>no</alternative>
<name>Billiard</name>
<resolution>15kHz</resolution>
<year>1988</year>
<category>Sports</category>
<manufacturer>Terminal</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<platform>TIAMC1</platform>
<num_buttons>1</num_buttons>
<players>1</players>
<move_inputs>joystick 2-way horizontal</move_inputs>
</misterarcadedescription>

9
mad/Bionic Commando.mad Executable file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bionicc</setname>
<alternative>no</alternative>
<name>Bionic Commando (Euro)</name>
<year>1987</year>
<category>Army / Fighter</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

16
mad/Birdiy.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>birdiy</setname>
<alternative>no</alternative>
<name>Birdiy</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1983</year>
<category>Maze</category>
<manufacturer>Mama Top</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 4-way</move_inputs>
</misterarcadedescription>

16
mad/Black Hole.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>blkhole</setname>
<alternative>no</alternative>
<name>Black Hole</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1981</year>
<category>Shooter - Vertical</category>
<manufacturer>TDS &amp; MINTS</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 2-way horizontal</move_inputs>
</misterarcadedescription>

9
mad/Black Tiger.mad Executable file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>blktiger</setname>
<alternative>no</alternative>
<name>Black Tiger</name>
<year>1987</year>
<category>Fighter / Warriors</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

16
mad/Black Widow.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bwidow</setname>
<alternative>no</alternative>
<name>Black Widow</name>
<resolution>31kHz</resolution>
<year>1982</year>
<category>Shooter - Tube</category>
<manufacturer>Atari</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>4</num_buttons>
<players>1</players>
<move_inputs>joystick 8-way</move_inputs>
<special_controls>twin stick</special_controls>
</misterarcadedescription>

8
mad/Blasto.mad Executable file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>blasto</setname>
<alternative>no</alternative>
<name>Blasto</name>
<year>1978</year>
<manufacturer>Gremlin</manufacturer>
</misterarcadedescription>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>block</setname>
<alternative>no</alternative>
<name>Block Block (World 911219 Joystick)</name>
<region>World</region>
<year>1991</year>
<manufacturer>Capcom</manufacturer>
<players>2</players>
<move_inputs>joystick 2</move_inputs>
</misterarcadedescription>

17
mad/Block Gal.mad Executable file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>blockgal</setname>
<alternative>no</alternative>
<name>Block Gal</name>
<flip>no</flip>
<resolution>15kHz</resolution>
<year>1987</year>
<category>Ball and Paddle</category>
<manufacturer>Sega</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<platform>Sega System 1</platform>
<num_buttons>0</num_buttons>
<players>2 (alternating)</players>
<special_controls>dial</special_controls>
</misterarcadedescription>

8
mad/Blockade.mad Executable file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>blockade</setname>
<alternative>no</alternative>
<name>Blockade</name>
<year>1976</year>
<manufacturer>Gremlin</manufacturer>
</misterarcadedescription>

15
mad/Blue Shark.mad Executable file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>blueshrk</setname>
<alternative>no</alternative>
<name>Blue Shark</name>
<resolution>15kHz</resolution>
<year>1978</year>
<category>Shooter - Gallery</category>
<manufacturer>Midway</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>1</players>
<special_controls>positional</special_controls>
</misterarcadedescription>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bodyslam</setname>
<alternative>no</alternative>
<name>Body Slam (World, S16) [8751 317-0015]</name>
<region>World</region>
<year>1986</year>
<manufacturer>Sega</manufacturer>
<platform>SEGA S16A</platform>
<players>2</players>
<move_inputs>joystick 8</move_inputs>
</misterarcadedescription>

16
mad/Bomb Jack.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bombjack</setname>
<alternative>no</alternative>
<name>Bomb Jack </name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1984</year>
<category>Puzzle - Platform</category>
<manufacturer>Tehkan</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

15
mad/Boot Hill.mad Executable file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>boothill</setname>
<alternative>no</alternative>
<name>Boot Hill</name>
<resolution>15kHz</resolution>
<year>1977</year>
<category>Shooter - Multidirectional</category>
<manufacturer>Dave Nutting Associates</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>botanic</setname>
<alternative>no</alternative>
<name>Botanic</name>
<flip>no</flip>
<resolution>15kHz</resolution>
<year>1983</year>
<category>Maze</category>
<manufacturer>Itisa</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<players>2 (alternating)</players>
<move_inputs>joystick 4-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bouldash</setname>
<alternative>no</alternative>
<name>Boulder Dash / Boulder Dash Part 2 (World)</name>
<region>World</region>
<year>1990</year>
<manufacturer>Data East Corporation (licensed from First Star)</manufacturer>
<players>2</players>
<move_inputs>joystick 4</move_inputs>
</misterarcadedescription>

17
mad/Breakout (TTL).mad Executable file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>breakout</setname>
<alternative>no</alternative>
<name>Breakout</name>
<flip>no</flip>
<resolution>15kHz</resolution>
<year>1976</year>
<category>Ball and Paddle</category>
<manufacturer>Atari</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<series>Breakout</series>
<num_buttons>0</num_buttons>
<players>2 (alternating)</players>
<special_controls>rotary</special_controls>
</misterarcadedescription>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bublbobl</setname>
<alternative>no</alternative>
<name>Bubble Bobble (Japan, Ver 0.1)</name>
<region>Japan</region>
<year>1986</year>
<category>Platform / Run Jump</category>
<manufacturer>Taito</manufacturer>
<players>2</players>
<move_inputs>joystick 2-way</move_inputs>
</misterarcadedescription>

15
mad/Bubbles.mad Executable file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bubbles</setname>
<alternative>no</alternative>
<name>Bubbles</name>
<resolution>15kHz</resolution>
<year>1982</year>
<category>Arena</category>
<manufacturer>Williams</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>0</num_buttons>
<players>1</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

16
mad/Bull Fight (315-5056).mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bullfgt</setname>
<alternative>no</alternative>
<name>Bull Fight</name>
<resolution>15kHz</resolution>
<year>1984</year>
<category>Arena</category>
<manufacturer>Sega</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<platform>Sega System 1</platform>
<num_buttons>2</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>bullet</setname>
<alternative>no</alternative>
<name>Bullet (FD1094 317-0041)</name>
<region>World</region>
<year>1987</year>
<manufacturer>Sega</manufacturer>
<platform>SEGA S16B</platform>
<players>3</players>
<move_inputs>joystick 8</move_inputs>
</misterarcadedescription>

16
mad/Burger Time (Set 1).mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>btime</setname>
<alternative>no</alternative>
<name>Burger Time</name>
<flip>no</flip>
<resolution>15kHz</resolution>
<year>1982</year>
<category>Platform - Climb</category>
<manufacturer>Data East</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 4-way</move_inputs>
</misterarcadedescription>

16
mad/Burnin' Rubber.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>brubber</setname>
<alternative>no</alternative>
<name>Burnin' Rubber</name>
<flip>no</flip>
<resolution>15kHz</resolution>
<year>1982</year>
<category>Racing</category>
<manufacturer>Data East</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>dino</setname>
<alternative>no</alternative>
<name>Cadillacs and Dinosaurs (World 930201)</name>
<year>1993</year>
<category>Beat 'em up</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

16
mad/Calipso.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>calipso</setname>
<alternative>no</alternative>
<name>Calipso</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1982</year>
<category>Shooter - Multidirectional</category>
<manufacturer>Tago Electronics</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (simultaneous)</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

14
mad/Canyon Bomber.mad Executable file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>canyon</setname>
<alternative>no</alternative>
<name>Canyon Bomber</name>
<resolution>15kHz</resolution>
<year>1977</year>
<category>Shooter - Gallery</category>
<manufacturer>Atari</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (simultaneous)</players>
</misterarcadedescription>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>csclub</setname>
<alternative>no</alternative>
<name>Capcom Sports Club (Euro 971017)</name>
<region>Europe</region>
<year>1997</year>
<category>MultiGame</category>
<manufacturer>Capcom</manufacturer>
<platform>CPS-2</platform>
<players>2</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

10
mad/Capcom World (Japan).mad Executable file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>cworld</setname>
<alternative>no</alternative>
<name>Capcom World (Japan)</name>
<region>World</region>
<year>1989</year>
<manufacturer>Capcom</manufacturer>
<players>2</players>
</misterarcadedescription>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>captcomm</setname>
<alternative>no</alternative>
<name>Captain Commando (World 911202)</name>
<year>1991</year>
<category>Beat 'em up</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>cawing</setname>
<alternative>no</alternative>
<name>Carrier Air Wing (World 901012)</name>
<year>1990</year>
<category>Scrolling Shooter</category>
<manufacturer>Capcom</manufacturer>
</misterarcadedescription>

16
mad/Catacomb.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>catacomb</setname>
<alternative>no</alternative>
<name>Catacomb</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1982</year>
<category>Shooter - Vertical</category>
<manufacturer>MTM Games</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>1</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 2-way horizontal</move_inputs>
</misterarcadedescription>

17
mad/Centipede (Rev 3).mad Executable file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>centiped3</setname>
<alternative>no</alternative>
<name>Centipede</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1980</year>
<category>Shooter - Gallery</category>
<manufacturer>Atari</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<series>*pede</series>
<num_buttons>1</num_buttons>
<players>1</players>
<special_controls>trackball</special_controls>
</misterarcadedescription>

17
mad/Centipede (Rev 4).mad Executable file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>centiped</setname>
<alternative>no</alternative>
<name>Centipede</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1980</year>
<category>Shooter - Gallery</category>
<manufacturer>Atari</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<series>*pede</series>
<num_buttons>1</num_buttons>
<players>1</players>
<special_controls>trackball</special_controls>
</misterarcadedescription>

16
mad/Clean Sweep.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>cleansweept</setname>
<alternative>no</alternative>
<name>Clean Sweep</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1982</year>
<category>Maze</category>
<manufacturer>GCE</manufacturer>
<homebrew>yes</homebrew>
<bootleg>no</bootleg>
<num_buttons>0</num_buttons>
<players>1</players>
<special_controls>rotary</special_controls>
</misterarcadedescription>

15
mad/Clowns.mad Executable file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>clowns</setname>
<alternative>no</alternative>
<name>Clowns</name>
<resolution>15kHz</resolution>
<year>1978</year>
<category>Ball and Paddle</category>
<manufacturer>Midway</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>0</num_buttons>
<players>2 (alternating)</players>
<special_controls>positional</special_controls>
</misterarcadedescription>

8
mad/CoMotion.mad Executable file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>comotion</setname>
<alternative>no</alternative>
<name>CoMotion</name>
<year>1976</year>
<manufacturer>Gremlin</manufacturer>
</misterarcadedescription>

16
mad/Colony 7 (Set 1).mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>colony7</setname>
<alternative>no</alternative>
<name>Colony 7</name>
<flip>no</flip>
<resolution>15kHz</resolution>
<year>1981</year>
<category>Shooter - Gallery</category>
<manufacturer>Taito</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>3</num_buttons>
<players>1</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

9
mad/Combat School Joystick.mad Executable file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>combatsc</setname>
<alternative>no</alternative>
<name>Combat School (joystick)</name>
<year>1988</year>
<category>Army / Fighter</category>
<manufacturer>Konami</manufacturer>
</misterarcadedescription>

12
mad/Commando.mad Executable file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>commando</setname>
<alternative>no</alternative>
<name>Commando (World)</name>
<region>World</region>
<year>1985</year>
<category>Shooter / Walking</category>
<manufacturer>Capcom</manufacturer>
<players>2</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

14
mad/Computer Space.mad Executable file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<alternative>no</alternative>
<name>Computer Space</name>
<resolution>15kHz</resolution>
<year>1971</year>
<category>Shooter - Multidirectional</category>
<manufacturer>Syzygy Engineering</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>2</num_buttons>
<players>1</players>
<move_inputs>joystick 2-way horizontal</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>contra</setname>
<alternative>no</alternative>
<name>Contra (US / Asia, set 1)</name>
<region>Asia</region>
<year>1987</year>
<category>Run &amp; Gun</category>
<manufacturer>Konami</manufacturer>
<platform>Konami 007121 (Contra Based)</platform>
<players>2</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

8
mad/Cosmic Alien.mad Executable file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<alternative>no</alternative>
<name>Cosmic Alien</name>
<year>1981</year>
<category>Space</category>
<manufacturer>Universal</manufacturer>
</misterarcadedescription>

15
mad/Cosmic Avenger.mad Executable file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>cavenger</setname>
<alternative>no</alternative>
<name>Cosmic Avenger</name>
<resolution>15kHz</resolution>
<year>1981</year>
<category>Shooter - Horizontal</category>
<manufacturer>Universal</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>2</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 8-way</move_inputs>
</misterarcadedescription>

16
mad/Cosmo.mad Executable file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>cosmo</setname>
<alternative>no</alternative>
<name>Cosmo</name>
<flip>yes</flip>
<resolution>15kHz</resolution>
<year>1979</year>
<category>Shooter - Gallery</category>
<manufacturer>TDS &amp; MINTS</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<num_buttons>2</num_buttons>
<players>2 (alternating)</players>
<move_inputs>joystick 2-way horizontal</move_inputs>
</misterarcadedescription>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>cotton</setname>
<alternative>no</alternative>
<name>Cotton (set 4, World) (FD1094 317-0181a)</name>
<region>World</region>
<year>1991</year>
<manufacturer>Success / Sega</manufacturer>
<platform>SEGA S16B</platform>
<players>2</players>
<move_inputs>joystick 8</move_inputs>
</misterarcadedescription>

17
mad/Crater Raider.mad Executable file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<misterarcadedescription>
<setname>crater</setname>
<alternative>no</alternative>
<name>Crater Raider</name>
<resolution>15kHz</resolution>
<year>1984</year>
<category>Shooter - Multidirectional</category>
<manufacturer>Bally</manufacturer>
<homebrew>no</homebrew>
<bootleg>no</bootleg>
<platform>Midway MCR3</platform>
<num_buttons>2</num_buttons>
<players>1</players>
<move_inputs>joystick 2-way vertical</move_inputs>
<special_controls>tilt</special_controls>
</misterarcadedescription>

Some files were not shown because too many files have changed in this diff Show More