From 456c05a0ee84c1473c2497333c51ec2718bebab1 Mon Sep 17 00:00:00 2001 From: Christian Speckner Date: Fri, 6 Mar 2020 00:22:50 +0100 Subject: [PATCH 01/80] Update TIA surface settings after making changes in the mini settings. --- src/gui/StellaSettingsDialog.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui/StellaSettingsDialog.cxx b/src/gui/StellaSettingsDialog.cxx index fa67bf517..26f5cbde8 100644 --- a/src/gui/StellaSettingsDialog.cxx +++ b/src/gui/StellaSettingsDialog.cxx @@ -23,6 +23,7 @@ #include "NTSCFilter.hxx" #include "PopUpWidget.hxx" #include "MessageBox.hxx" +#include "TIASurface.hxx" #include "StellaSettingsDialog.hxx" @@ -119,7 +120,7 @@ void StellaSettingsDialog::addVideoOptions(WidgetArray& wid, int& xpos, int& ypo const int VGAP = 4; const GUI::Font& ifont = instance().frameBuffer().infoFont(); const int lineHeight = font.getLineHeight(), - fontWidth = font.getMaxCharWidth(); + fontWidth = font.getMaxCharWidth(); VariantList items; // TV effects options @@ -293,8 +294,11 @@ void StellaSettingsDialog::saveConfig() instance().console().setProperties(myGameProperties); } - // Finally, issue a complete framebuffer re-initialization + // Finally, issue a complete framebuffer re-initialization... instance().createFrameBuffer(); + + // ... and apply potential setting changes to the TIA surface + instance().frameBuffer().tiaSurface().updateSurfaceSettings(); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 64dc9dde8665280e6ac0fcd6a5477ec2ade7bf9f Mon Sep 17 00:00:00 2001 From: Stephen Kitt Date: Tue, 10 Mar 2020 11:45:04 +0100 Subject: [PATCH 02/80] Handle GCC versions after 9 This simplifies the interpretation of GCC versions, and handles all versions greater than 4, hopefully for good. Fixes: #590 Signed-off-by: Stephen Kitt --- configure | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 85c81550a..4fb2cf08d 100755 --- a/configure +++ b/configure @@ -458,11 +458,17 @@ elif test "$have_gcc" = yes; then fi case $cxx_version in - 4.[7-9]|4.[7-9].[0-9]|4.[7-9].[0-9][-.]*|[5-9]|[5-9].[0-9]|[5-9].[0-9].[0-9]|[5-9].[0-9].[0-9][-.]*) + [1-9]*) _cxx_major=`echo $cxx_version | cut -d '.' -f 1` _cxx_minor=`echo $cxx_version | cut -d '.' -f 2` - cxx_version="$cxx_version, ok" - cxx_verc_fail=no + # Need at least version 4.7 + if [ $_cxx_major -ge 5 ] || [ $_cxx_major -eq 4 -a $_cxx_minor -ge 7 ]; then + cxx_version="$cxx_version, ok" + cxx_verc_fail=no + else + cxx_version="$cxx_version, bad" + cxx_verc_fail=yes + fi ;; 'not found') cxx_verc_fail=yes From a89188722e204f6ac6f07639657f73d417f0d372 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Wed, 11 Mar 2020 18:33:12 -0230 Subject: [PATCH 03/80] Changed 'romviewer' option to be treated as a multiplier for the zoom level of snapshots. Old settings will still work (0 means off, 1 or 2 mean 1x and 2x zoom). Floats are now supported too, so we get fractional scaling. Still TODO is update the UI to modify this setting. --- Changes.txt | 3 +- src/emucore/Settings.cxx | 3 +- src/gui/LauncherDialog.cxx | 63 +++++++++++++++++++++++++++++--------- src/gui/LauncherDialog.hxx | 3 ++ src/gui/RomInfoWidget.cxx | 13 ++++---- src/gui/RomInfoWidget.hxx | 3 +- 6 files changed, 62 insertions(+), 26 deletions(-) diff --git a/Changes.txt b/Changes.txt index 3ca8e06c5..4e001d9e3 100644 --- a/Changes.txt +++ b/Changes.txt @@ -120,7 +120,8 @@ * Added option to change pitch of Pitfall II music. * ROM Info Launcher can now display multiple lines per property and - bank switching type. + bank switching type. Related to this, added fractional (25% increments) + snapshot zooms. * In file listings, you can now select directories by holding 'Shift' on the first character entered. Entering characters in lowercase still diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index 6fee4347a..1ad12575c 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -350,8 +350,7 @@ void Settings::validate() setValue("dbg.fontsize", "medium"); i = getInt("romviewer"); - if(i < 0) setValue("romviewer", "0"); - else if(i > 2) setValue("romviewer", "2"); + if(i < 0) setValue("romviewer", "0"); i = getInt("loglevel"); if(i < int(Logger::Level::MIN) || i > int(Logger::Level::MAX)) diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index 047b4e4c5..b72a68c97 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -37,6 +37,7 @@ #include "Props.hxx" #include "PropsSet.hxx" #include "RomInfoWidget.hxx" +#include "TIAConstants.hxx" #include "Settings.hxx" #include "Widget.hxx" #include "Font.hxx" @@ -123,15 +124,11 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, // Add list with game titles // Before we add the list, we need to know the size of the RomInfoWidget - xpos = HBORDER; ypos += lineHeight + 4; - int romWidth = 0; - int romSize = instance().settings().getInt("romviewer"); - if(romSize > 1 && w >= 1000 && h >= 720) - romWidth = 660; - else if(romSize > 0 && w >= 640 && h >= 480) - romWidth = 365; - + float imgZoom = getRomInfoZoom(); + int romWidth = imgZoom * TIAConstants::viewableWidth; + if(romWidth > 0) romWidth += 10; int listWidth = _w - (romWidth > 0 ? romWidth+8 : 0) - 20; + xpos = HBORDER; ypos += lineHeight + 4; myList = new FileListWidget(this, font, xpos, ypos, listWidth, _h - 43 - bheight - fontHeight - lineHeight); myList->setEditable(false); @@ -142,10 +139,17 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, if(romWidth > 0) { xpos += myList->getWidth() + 8; - myRomInfoWidget = new RomInfoWidget(this, - romWidth < 660 ? instance().frameBuffer().smallFont() : - instance().frameBuffer().infoFont(), - xpos, ypos, romWidth, myList->getHeight()); + + // Initial surface size is the same as the viewable area + Common::Size imgSize(TIAConstants::viewableWidth*imgZoom, + TIAConstants::viewableHeight*imgZoom); + + // Calculate font area, and in the process the font that can be used + Common::Size fontArea(romWidth, myList->getHeight() - imgSize.h); + const GUI::Font& rominfoFont = getRomInfoFont(fontArea); + + myRomInfoWidget = new RomInfoWidget(this, rominfoFont, + xpos, ypos, romWidth, myList->getHeight(), imgSize); } // Add textfield to show current directory @@ -197,7 +201,7 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, wid.push_back(myStartButton); #endif } - if (myUseMinimalUI) // Highlight 'Rom Listing' + if(myUseMinimalUI) // Highlight 'Rom Listing' mySelectedItem = 0; else mySelectedItem = 2; @@ -207,8 +211,7 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, // Create (empty) context menu for ROM list options myMenu = make_unique(this, osystem.frameBuffer().font(), EmptyVarList); - - // Create global props dialog, which is used to temporarily overrride + // Create global props dialog, which is used to temporarily override // ROM properties myGlobalProps = make_unique(this, myUseMinimalUI ? osystem.frameBuffer().launcherFont() : osystem.frameBuffer().font()); @@ -325,6 +328,36 @@ void LauncherDialog::applyFiltering() ); } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +float LauncherDialog::getRomInfoZoom() +{ + // The ROM info area is some multiple of the minimum TIA image size + // However, it can't exceed 70% of the total dialog width, nor less than + // the base size of the TIA image + float zoom = instance().settings().getFloat("romviewer"); + if(zoom < 1.F) + return 0.F; + else if(zoom * TIAConstants::viewableWidth > _w * 0.7F) + return (_w * 0.7F) / TIAConstants::viewableWidth; + else + return zoom; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +const GUI::Font& LauncherDialog::getRomInfoFont(const Common::Size& area) +{ + // TODO: Perhaps offer a setting to override the font used? + + // Try to pick a font that works best, based on the available area + if(area.h / instance().frameBuffer().launcherFont().getLineHeight() >= 8) + return instance().frameBuffer().launcherFont(); + else if(area.h / instance().frameBuffer().infoFont().getLineHeight() >= 8 && + area.w / instance().frameBuffer().infoFont().getMaxCharWidth() >= 80) + return instance().frameBuffer().infoFont(); + else + return instance().frameBuffer().smallFont(); +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void LauncherDialog::loadRomInfo() { diff --git a/src/gui/LauncherDialog.hxx b/src/gui/LauncherDialog.hxx index f43a57439..598c147a5 100644 --- a/src/gui/LauncherDialog.hxx +++ b/src/gui/LauncherDialog.hxx @@ -98,6 +98,9 @@ class LauncherDialog : public Dialog void updateUI(); void applyFiltering(); + float getRomInfoZoom(); + const GUI::Font& getRomInfoFont(const Common::Size& area); + void loadRom(); void loadRomInfo(); void handleContextMenu(); diff --git a/src/gui/RomInfoWidget.cxx b/src/gui/RomInfoWidget.cxx index a5278876f..e72eabb59 100644 --- a/src/gui/RomInfoWidget.cxx +++ b/src/gui/RomInfoWidget.cxx @@ -29,16 +29,14 @@ #include "PNGLibrary.hxx" #include "Rect.hxx" #include "Widget.hxx" -#include "TIAConstants.hxx" #include "RomInfoWidget.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RomInfoWidget::RomInfoWidget(GuiObject* boss, const GUI::Font& font, - int x, int y, int w, int h) + int x, int y, int w, int h, + const Common::Size& imgSize) : Widget(boss, font, x, y, w, h), - myAvail(w > 400 ? - Common::Size(TIAConstants::viewableWidth*2, TIAConstants::viewableHeight*2) : - Common::Size(TIAConstants::viewableWidth, TIAConstants::viewableHeight)) + myAvail(imgSize) { _flags = Widget::FLAG_ENABLED; _bgcolor = kDlgColor; @@ -87,7 +85,7 @@ void RomInfoWidget::parseProperties(const FilesystemNode& node) if(mySurface == nullptr) { mySurface = instance().frameBuffer().allocateSurface( - TIAConstants::viewableWidth*2, TIAConstants::viewableHeight*2, FrameBuffer::ScalingInterpolation::blur); + myAvail.w, myAvail.h, FrameBuffer::ScalingInterpolation::blur); mySurface->applyAttributes(); dialog().addSurface(mySurface); @@ -205,11 +203,12 @@ void RomInfoWidget::drawWidget(bool hilite) s.drawString(font, mySurfaceErrorMsg, x, y, _w - 10, onTop ? _textcolor : _shadowcolor); } - int xpos = _x + 8, ypos = _y + yoff + 10; + int xpos = _x + 8, ypos = _y + yoff + 5; for(const auto& info: myRomInfo) { int lines = s.drawString(_font, info, xpos, ypos, _w - 16, _font.getFontHeight() * 3, onTop ? _textcolor : _shadowcolor); + if(ypos >= _h) break; ypos += _font.getLineHeight() + (lines - 1) * _font.getFontHeight(); } } diff --git a/src/gui/RomInfoWidget.hxx b/src/gui/RomInfoWidget.hxx index 9ae045ac6..e1a964263 100644 --- a/src/gui/RomInfoWidget.hxx +++ b/src/gui/RomInfoWidget.hxx @@ -31,7 +31,8 @@ class RomInfoWidget : public Widget { public: RomInfoWidget(GuiObject *boss, const GUI::Font& font, - int x, int y, int w, int h); + int x, int y, int w, int h, + const Common::Size& imgSize); virtual ~RomInfoWidget() = default; void setProperties(const Properties& props, const FilesystemNode& node); From 0385611719091b3e5aa5b196d7c513557491611a Mon Sep 17 00:00:00 2001 From: thrust26 Date: Thu, 12 Mar 2020 17:01:45 +0100 Subject: [PATCH 04/80] UI now allows to select ROM info width as 0..100% (the actual limits and ROM info fonts are determined when the launcher is created) --- src/gui/LauncherDialog.cxx | 53 +++++++++++++------ src/gui/LauncherDialog.hxx | 8 ++- src/gui/RomInfoWidget.cxx | 7 ++- src/gui/UIDialog.cxx | 105 +++++++++++++++++++++++++------------ src/gui/UIDialog.hxx | 4 +- 5 files changed, 118 insertions(+), 59 deletions(-) diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index b72a68c97..6f603802f 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -124,13 +124,13 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, // Add list with game titles // Before we add the list, we need to know the size of the RomInfoWidget - float imgZoom = getRomInfoZoom(); + int listHeight = _h - 43 - bheight - fontHeight - lineHeight; + float imgZoom = getRomInfoZoom(listHeight); int romWidth = imgZoom * TIAConstants::viewableWidth; if(romWidth > 0) romWidth += 10; int listWidth = _w - (romWidth > 0 ? romWidth+8 : 0) - 20; xpos = HBORDER; ypos += lineHeight + 4; - myList = new FileListWidget(this, font, xpos, ypos, - listWidth, _h - 43 - bheight - fontHeight - lineHeight); + myList = new FileListWidget(this, font, xpos, ypos, listWidth, listHeight); myList->setEditable(false); myList->setListMode(FilesystemNode::ListMode::All); wid.push_back(myList); @@ -145,7 +145,7 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, TIAConstants::viewableHeight*imgZoom); // Calculate font area, and in the process the font that can be used - Common::Size fontArea(romWidth, myList->getHeight() - imgSize.h); + Common::Size fontArea(romWidth - 16, myList->getHeight() - imgSize.h - 16); const GUI::Font& rominfoFont = getRomInfoFont(fontArea); myRomInfoWidget = new RomInfoWidget(this, rominfoFont, @@ -329,30 +329,49 @@ void LauncherDialog::applyFiltering() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -float LauncherDialog::getRomInfoZoom() +float LauncherDialog::getRomInfoZoom(int listHeight) const { // The ROM info area is some multiple of the minimum TIA image size - // However, it can't exceed 70% of the total dialog width, nor less than - // the base size of the TIA image float zoom = instance().settings().getFloat("romviewer"); - if(zoom < 1.F) - return 0.F; - else if(zoom * TIAConstants::viewableWidth > _w * 0.7F) - return (_w * 0.7F) / TIAConstants::viewableWidth; - else - return zoom; + + if(zoom > 0.F) + { + // upper zoom limit - at least 24 launchers chars/line and 8 ROM info lines + if((_w - 58 - zoom * TIAConstants::viewableWidth) + / instance().frameBuffer().launcherFont().getMaxCharWidth() < MIN_LAUNCHER_CHARS) + { + zoom = float(_w - 58 - MIN_LAUNCHER_CHARS * instance().frameBuffer().launcherFont().getMaxCharWidth()) + / TIAConstants::viewableWidth; + } + if((listHeight - 20 - zoom * TIAConstants::viewableHeight) + / instance().frameBuffer().smallFont().getLineHeight() < MIN_ROMINFO_LINES) + { + zoom = float(listHeight - 20 - MIN_ROMINFO_LINES * instance().frameBuffer().smallFont().getLineHeight()) + / TIAConstants::viewableHeight; + } + + // lower zoom limit - at least 24 ROM info chars/line + if((zoom * TIAConstants::viewableWidth) + / instance().frameBuffer().smallFont().getMaxCharWidth() < MIN_ROMINFO_CHARS + 6) + { + zoom = float(MIN_ROMINFO_CHARS * instance().frameBuffer().smallFont().getMaxCharWidth() + 6) + / TIAConstants::viewableWidth; + } + } + return zoom; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -const GUI::Font& LauncherDialog::getRomInfoFont(const Common::Size& area) +const GUI::Font& LauncherDialog::getRomInfoFont(const Common::Size& area) const { // TODO: Perhaps offer a setting to override the font used? // Try to pick a font that works best, based on the available area - if(area.h / instance().frameBuffer().launcherFont().getLineHeight() >= 8) + if(area.h / instance().frameBuffer().launcherFont().getLineHeight() >= MIN_ROMINFO_LINES && + area.w/ instance().frameBuffer().launcherFont().getMaxCharWidth() >= MIN_ROMINFO_CHARS) return instance().frameBuffer().launcherFont(); - else if(area.h / instance().frameBuffer().infoFont().getLineHeight() >= 8 && - area.w / instance().frameBuffer().infoFont().getMaxCharWidth() >= 80) + else if(area.h / instance().frameBuffer().infoFont().getLineHeight() >= MIN_ROMINFO_LINES && + area.w / instance().frameBuffer().infoFont().getMaxCharWidth() >= MIN_ROMINFO_CHARS) return instance().frameBuffer().infoFont(); else return instance().frameBuffer().smallFont(); diff --git a/src/gui/LauncherDialog.hxx b/src/gui/LauncherDialog.hxx index 598c147a5..942b20f4e 100644 --- a/src/gui/LauncherDialog.hxx +++ b/src/gui/LauncherDialog.hxx @@ -86,6 +86,10 @@ class LauncherDialog : public Dialog void reload(); private: + static constexpr int MIN_LAUNCHER_CHARS = 24; + static constexpr int MIN_ROMINFO_CHARS = 24; + static constexpr int MIN_ROMINFO_LINES = 8; + void center() override { positionAt(0); } void handleKeyDown(StellaKey key, StellaMod mod, bool repeated) override; void handleMouseDown(int x, int y, MouseButton b, int clickCount) override; @@ -98,8 +102,8 @@ class LauncherDialog : public Dialog void updateUI(); void applyFiltering(); - float getRomInfoZoom(); - const GUI::Font& getRomInfoFont(const Common::Size& area); + float getRomInfoZoom(int listHeight) const; + const GUI::Font& getRomInfoFont(const Common::Size& area) const; void loadRom(); void loadRomInfo(); diff --git a/src/gui/RomInfoWidget.cxx b/src/gui/RomInfoWidget.cxx index e72eabb59..752876735 100644 --- a/src/gui/RomInfoWidget.cxx +++ b/src/gui/RomInfoWidget.cxx @@ -197,10 +197,9 @@ void RomInfoWidget::drawWidget(bool hilite) } else if(mySurfaceErrorMsg != "") { - const GUI::Font& font = instance().frameBuffer().font(); - uInt32 x = _x + ((_w - font.getStringWidth(mySurfaceErrorMsg)) >> 1); - uInt32 y = _y + ((yoff - font.getLineHeight()) >> 1); - s.drawString(font, mySurfaceErrorMsg, x, y, _w - 10, onTop ? _textcolor : _shadowcolor); + uInt32 x = _x + ((_w - _font.getStringWidth(mySurfaceErrorMsg)) >> 1); + uInt32 y = _y + ((yoff - _font.getLineHeight()) >> 1); + s.drawString(_font, mySurfaceErrorMsg, x, y, _w - 10, onTop ? _textcolor : _shadowcolor); } int xpos = _x + 8, ypos = _y + yoff + 5; diff --git a/src/gui/UIDialog.cxx b/src/gui/UIDialog.cxx index 0d601f168..b32675993 100644 --- a/src/gui/UIDialog.cxx +++ b/src/gui/UIDialog.cxx @@ -194,7 +194,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent, // Launcher width and height myLauncherWidthSlider = new SliderWidget(myTab, font, xpos, ypos, "Launcher width ", - lwidth, kLauncherSize, 6 * fontWidth, "px"); + lwidth, 0, 6 * fontWidth, "px"); myLauncherWidthSlider->setMinValue(FBMinimum::Width); myLauncherWidthSlider->setMaxValue(ds.w); myLauncherWidthSlider->setStepValue(10); @@ -204,7 +204,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent, ypos += lineHeight + V_GAP; myLauncherHeightSlider = new SliderWidget(myTab, font, xpos, ypos, "Launcher height ", - lwidth, kLauncherSize, 6 * fontWidth, "px"); + lwidth, 0, 6 * fontWidth, "px"); myLauncherHeightSlider->setMinValue(FBMinimum::Height); myLauncherHeightSlider->setMaxValue(ds.h); myLauncherHeightSlider->setStepValue(10); @@ -226,14 +226,15 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent, ypos += lineHeight + V_GAP * 4; // ROM launcher info/snapshot viewer - items.clear(); - VarList::push_back(items, "Off", "0"); - VarList::push_back(items, "1x (640x480) ", "1"); - VarList::push_back(items, "2x (1000x760)", "2"); - myRomViewerPopup = - new PopUpWidget(myTab, font, xpos, ypos + 1, pwidth, lineHeight, items, - "ROM info viewer ", lwidth, kRomViewer); - wid.push_back(myRomViewerPopup); + myRomViewerSize = new SliderWidget(myTab, font, xpos, ypos, "ROM info width ", + lwidth, kRomViewer, 6 * fontWidth, "% "); + myRomViewerSize->setMinValue(0); + myRomViewerSize->setMaxValue(100); + myRomViewerSize->setStepValue(2); + // set tickmarks every ~20% + myRomViewerSize->setTickmarkIntervals((myRomViewerSize->getMaxValue() - myRomViewerSize->getMinValue()) / 20); + + wid.push_back(myRomViewerSize); ypos += lineHeight + V_GAP; // Snapshot path (load files) @@ -309,8 +310,9 @@ void UIDialog::loadConfig() myLauncherFontPopup->setSelected(font, "medium"); // ROM launcher info viewer - const string& viewer = settings.getString("romviewer"); - myRomViewerPopup->setSelected(viewer, "0"); + float zoom = instance().settings().getFloat("romviewer"); + int percentage = zoom * TIAConstants::viewableWidth * 100 / w; + myRomViewerSize->setValue(percentage); // ROM launcher info viewer image path mySnapLoadPath->setText(settings.getString("snaploaddir")); @@ -383,8 +385,9 @@ void UIDialog::saveConfig() myLauncherFontPopup->getSelectedTag().toString()); // ROM launcher info viewer - settings.setValue("romviewer", - myRomViewerPopup->getSelectedTag().toString()); + int w = myLauncherWidthSlider->getValue(); + float zoom = myRomViewerSize->getValue() * w / 100.F / TIAConstants::viewableWidth; + settings.setValue("romviewer", zoom); // ROM launcher info viewer image path settings.setValue("snaploaddir", mySnapLoadPath->getText()); @@ -456,7 +459,7 @@ void UIDialog::setDefaults() myLauncherWidthSlider->setValue(w); myLauncherHeightSlider->setValue(h); myLauncherFontPopup->setSelected("medium", ""); - myRomViewerPopup->setSelected("1", ""); + myRomViewerSize->setValue(50); mySnapLoadPath->setText(instance().defaultLoadDir()); myLauncherExitWidget->setState(false); break; @@ -530,7 +533,6 @@ void UIDialog::handleCommand(CommandSender* sender, int cmd, int data, int id) myRomPath->setText(myBrowser->getResult().getShortPath()); break; - case kLauncherSize: case kRomViewer: handleRomViewer(); break; @@ -553,30 +555,65 @@ void UIDialog::handleCommand(CommandSender* sender, int cmd, int data, int id) } } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +/*void UIDialog::handleLauncherSize() +// an attempt to limit the minimal and maximal ROM info percentages +// whiche became too complex +{ + string launcherFont = myLauncherFontPopup->getSelectedTag().toString(); + int fwidth, fheight; + if(launcherFont == "small") + { + fwidth = GUI::consoleDesc.maxwidth; + fheight = GUI::consoleDesc.height; + } + else if(launcherFont == "medium") + { + fwidth = GUI::stellaMediumDesc.maxwidth; + fheight = GUI::stellaMediumDesc.height; + } + else + { + fwidth = GUI::stellaLargeDesc.maxwidth; + fheight = GUI::stellaLargeDesc.height; + } + int minInfoWidth = instance().frameBuffer().smallFont().getMaxCharWidth() * 20 + 16; + int minInfoHeight = instance().frameBuffer().smallFont().getLineHeight() * 8 + 16; + int minLauncherWidth = fwidth * 20 + 64; + int w = myLauncherWidthSlider->getValue(); + int h = myLauncherHeightSlider->getValue(); + int size = std::max(minInfoWidth * 100.F / w, minInfoHeight * 100.F / h); + + myRomViewerSize->setMinValue(size); + myRomViewerSize->setMaxValue(100 - minLauncherWidth * 100.F / w); + // set tickmarks every ~10% + myRomViewerSize->setTickmarkIntervals((myRomViewerSize->getMaxValue() - myRomViewerSize->getMinValue()) / 10); + + size = myRomViewerSize->getValue(); + size = std::max(size, myRomViewerSize->getMinValue()); + size = std::min(size, myRomViewerSize->getMaxValue()); + + myRomViewerSize->setValue(size); +}*/ + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void UIDialog::handleRomViewer() { - int size = myRomViewerPopup->getSelected(); - bool enable = myRomViewerPopup->getSelectedName() != "Off"; - VariantList items; + int size = myRomViewerSize->getValue(); + bool enable = size > myRomViewerSize->getMinValue(); + if(enable) + { + myRomViewerSize->setValueLabel(size); + myRomViewerSize->setValueUnit("%"); + } + else + { + myRomViewerSize->setValueLabel("Off"); + myRomViewerSize->setValueUnit(""); + } myOpenBrowserButton->setEnabled(enable); mySnapLoadPath->setEnabled(enable); - - items.clear(); - VarList::push_back(items, "Off", "0"); - VarList::push_back(items, "1x (640x480) ", "1"); - if(myLauncherWidthSlider->getValue() >= 1000 && - myLauncherHeightSlider->getValue() >= 760) - { - VarList::push_back(items, "2x (1000x760)", "2"); - } - else if (size == 2) - { - myRomViewerPopup->setSelected(1); - } - - myRomViewerPopup->addItems(items); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/gui/UIDialog.hxx b/src/gui/UIDialog.hxx index 9774c2290..ff41c7702 100644 --- a/src/gui/UIDialog.hxx +++ b/src/gui/UIDialog.hxx @@ -33,6 +33,7 @@ class UIDialog : public Dialog, public CommandSender void setDefaults() override; void handleCommand(CommandSender* sender, int cmd, int data, int id) override; + //void handleLauncherSize(); void handleRomViewer(); void createBrowser(const string& title); @@ -43,7 +44,6 @@ class UIDialog : public Dialog, public CommandSender kMouseWheel = 'UIMw', kControllerDelay = 'UIcd', kChooseRomDirCmd = 'LOrm', // rom select - kLauncherSize = 'UIls', kRomViewer = 'UIRv', kChooseSnapLoadDirCmd = 'UIsl', // snapshot dir (load files) kSnapLoadDirChosenCmd = 'UIsc' // snap chosen (load files) @@ -57,7 +57,7 @@ class UIDialog : public Dialog, public CommandSender SliderWidget* myLauncherWidthSlider{nullptr}; SliderWidget* myLauncherHeightSlider{nullptr}; PopUpWidget* myLauncherFontPopup{nullptr}; - PopUpWidget* myRomViewerPopup{nullptr}; + SliderWidget* myRomViewerSize{nullptr}; ButtonWidget* myOpenBrowserButton{nullptr}; EditTextWidget* mySnapLoadPath{nullptr}; CheckboxWidget* myLauncherExitWidget{nullptr}; From 506bb0bd0618e676b1959931dcc00a9d0f5f0f3d Mon Sep 17 00:00:00 2001 From: thrust26 Date: Thu, 12 Mar 2020 17:11:50 +0100 Subject: [PATCH 05/80] aligned ROM viewer's UI default to Settings.cxx default --- src/gui/UIDialog.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/UIDialog.cxx b/src/gui/UIDialog.cxx index b32675993..083bb7636 100644 --- a/src/gui/UIDialog.cxx +++ b/src/gui/UIDialog.cxx @@ -459,7 +459,7 @@ void UIDialog::setDefaults() myLauncherWidthSlider->setValue(w); myLauncherHeightSlider->setValue(h); myLauncherFontPopup->setSelected("medium", ""); - myRomViewerSize->setValue(50); + myRomViewerSize->setValue(35); mySnapLoadPath->setText(instance().defaultLoadDir()); myLauncherExitWidget->setState(false); break; From 4b66fc08f13fbf03d791074f2fd505fdba1f2ff4 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sat, 14 Mar 2020 09:55:58 +0100 Subject: [PATCH 06/80] refine ROM viewer font size calculation define zoom factor for R77 --- src/gui/LauncherDialog.cxx | 21 +++++++++++++-------- src/gui/LauncherDialog.hxx | 3 ++- src/unix/r77/SettingsR77.cxx | 2 +- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index 6f603802f..d57892f38 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -145,7 +145,7 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, TIAConstants::viewableHeight*imgZoom); // Calculate font area, and in the process the font that can be used - Common::Size fontArea(romWidth - 16, myList->getHeight() - imgSize.h - 16); + Common::Size fontArea(romWidth - 16, myList->getHeight() - imgSize.h - 12); const GUI::Font& rominfoFont = getRomInfoFont(fontArea); myRomInfoWidget = new RomInfoWidget(this, rominfoFont, @@ -343,10 +343,13 @@ float LauncherDialog::getRomInfoZoom(int listHeight) const zoom = float(_w - 58 - MIN_LAUNCHER_CHARS * instance().frameBuffer().launcherFont().getMaxCharWidth()) / TIAConstants::viewableWidth; } - if((listHeight - 20 - zoom * TIAConstants::viewableHeight) - / instance().frameBuffer().smallFont().getLineHeight() < MIN_ROMINFO_LINES) + if((listHeight - 12 - zoom * TIAConstants::viewableHeight) < + MIN_ROMINFO_ROWS * instance().frameBuffer().smallFont().getLineHeight() + + MIN_ROMINFO_LINES * instance().frameBuffer().smallFont().getFontHeight()) { - zoom = float(listHeight - 20 - MIN_ROMINFO_LINES * instance().frameBuffer().smallFont().getLineHeight()) + zoom = float(listHeight - 12 - + MIN_ROMINFO_ROWS * instance().frameBuffer().smallFont().getLineHeight() - + MIN_ROMINFO_LINES * instance().frameBuffer().smallFont().getFontHeight()) / TIAConstants::viewableHeight; } @@ -367,11 +370,13 @@ const GUI::Font& LauncherDialog::getRomInfoFont(const Common::Size& area) const // TODO: Perhaps offer a setting to override the font used? // Try to pick a font that works best, based on the available area - if(area.h / instance().frameBuffer().launcherFont().getLineHeight() >= MIN_ROMINFO_LINES && - area.w/ instance().frameBuffer().launcherFont().getMaxCharWidth() >= MIN_ROMINFO_CHARS) + if(area.h >= uInt32(MIN_ROMINFO_ROWS * instance().frameBuffer().launcherFont().getLineHeight() + + MIN_ROMINFO_LINES * instance().frameBuffer().launcherFont().getFontHeight()) + && area.w >= uInt32(MIN_ROMINFO_CHARS * instance().frameBuffer().launcherFont().getMaxCharWidth())) return instance().frameBuffer().launcherFont(); - else if(area.h / instance().frameBuffer().infoFont().getLineHeight() >= MIN_ROMINFO_LINES && - area.w / instance().frameBuffer().infoFont().getMaxCharWidth() >= MIN_ROMINFO_CHARS) + else if(area.h >= uInt32(MIN_ROMINFO_ROWS * instance().frameBuffer().infoFont().getLineHeight() + + MIN_ROMINFO_LINES * instance().frameBuffer().infoFont().getFontHeight()) + && area.w >= uInt32(MIN_ROMINFO_CHARS * instance().frameBuffer().infoFont().getMaxCharWidth())) return instance().frameBuffer().infoFont(); else return instance().frameBuffer().smallFont(); diff --git a/src/gui/LauncherDialog.hxx b/src/gui/LauncherDialog.hxx index 942b20f4e..dc1ce321c 100644 --- a/src/gui/LauncherDialog.hxx +++ b/src/gui/LauncherDialog.hxx @@ -88,7 +88,8 @@ class LauncherDialog : public Dialog private: static constexpr int MIN_LAUNCHER_CHARS = 24; static constexpr int MIN_ROMINFO_CHARS = 24; - static constexpr int MIN_ROMINFO_LINES = 8; + static constexpr int MIN_ROMINFO_ROWS = 7; // full lines + static constexpr int MIN_ROMINFO_LINES = 2; // extra lines void center() override { positionAt(0); } void handleKeyDown(StellaKey key, StellaMod mod, bool repeated) override; diff --git a/src/unix/r77/SettingsR77.cxx b/src/unix/r77/SettingsR77.cxx index ba8ce6858..c3f0d61fd 100644 --- a/src/unix/r77/SettingsR77.cxx +++ b/src/unix/r77/SettingsR77.cxx @@ -51,7 +51,7 @@ SettingsR77::SettingsR77() setPermanent("launcherres", "1280x720"); setPermanent("launcherfont", "large"); - setPermanent("romviewer", "2"); + setPermanent("romviewer", "1.6"); setPermanent("exitlauncher", "true"); setTemporary("minimal_ui", true); From da3d183e755378bbe7b67be0b19aabe60b6a66cf Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sat, 14 Mar 2020 11:14:24 +0100 Subject: [PATCH 07/80] replace launcher's small font with bold version add 'small medium' font to launcher font options doc update for variable ROM viewer widths and new launcher font size --- Changes.txt | 7 ++++--- docs/graphics/options_ui.png | Bin 6207 -> 3363 bytes docs/index.html | 35 +++++++++++++++-------------------- src/emucore/FrameBuffer.cxx | 14 +++++++++----- src/emucore/Settings.cxx | 8 ++++---- src/gui/UIDialog.cxx | 1 + 6 files changed, 33 insertions(+), 32 deletions(-) diff --git a/Changes.txt b/Changes.txt index 4e001d9e3..056572a76 100644 --- a/Changes.txt +++ b/Changes.txt @@ -119,9 +119,10 @@ * Added option to change pitch of Pitfall II music. - * ROM Info Launcher can now display multiple lines per property and - bank switching type. Related to this, added fractional (25% increments) - snapshot zooms. + * ROM Info Viewer size is not limited to fixed zoom steps anymore. + + * ROM Info Viewer can now display multiple lines per property and the + bank switching type. * In file listings, you can now select directories by holding 'Shift' on the first character entered. Entering characters in lowercase still diff --git a/docs/graphics/options_ui.png b/docs/graphics/options_ui.png index 14a6e33afd033d90ee516f74be3b92f2dd9837f5..322527cb3b1b18c5243fe9d57922f8373479749c 100644 GIT binary patch literal 3363 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 Ul#q-``}SlpHaMzZtm_!_A4m^S{{R30 literal 6207 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 A%K!iX diff --git a/docs/index.html b/docs/index.html index 6d54cb181..93779088a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2371,7 +2371,7 @@ -
-launcherfont <small|medium|large>
+
-launcherfont <small|small medium|medium|large>
Set the size of the font in the ROM launcher. @@ -2382,9 +2382,10 @@ -
-romviewer <0|1|2>
- Hide ROM Info Viewer in ROM launcher mode (0), or use the - given zoom level (1 or 2). +
-romviewer <float>
+ Hide ROM Info Viewer in ROM launcher mode (0) or use the + given zoom level.
+ Note: The zoom level is converted into a percentage in the UI. @@ -3079,8 +3080,8 @@ launcher and fonts, as well as the 'ROM Info Viewer' can be changed in UI Settings - Launcher dialog, as shown below:

-

Most of the options are self-explanatory, except for the 'ROM Info - viewer', which is described below.

+

Most of the options are self-explanatory, except for the 'ROM info + width', which is described below.

ROM Info Viewer

@@ -3092,27 +3093,21 @@ for each new release of Stella. Note that the snapshots can be any size generated by Stella; they will be resized accordingly.

-

Currently, there are several restrictions for this feature:

-
    -
  1. The ROM Info Viewer can be shown in 1x or 2x mode only.
  2. -
  3. To view snapshots in 1x mode, the ROM launcher window must be sized at - least 640x480. If the launcher isn't large enough, the functionality - will be disabled.
  4. -
  5. To view snapshots in 2x mode, the ROM launcher window must be sized at - least 1000x720. If the launcher isn't large enough, an attempt will - be made to use 1x mode.
  6. -
+ The ROM Info Viewer's width can be defined between 0% (off) and 100%. The + value is relative to the launcher width. For too small or too large values, + Stella will automatically correct the width at runtime so that the ROM names + and the current ROM's information always have enough space.

The following snapshots illustrate the various font sizes and rom info - zoom levels:

+ widths:

-

ROM Info Viewer in 1x mode, UI sized 800x480, small launcher font:

+

ROM Info Viewer width at 40%, UI sized 800x480, small launcher font:

-

ROM Info Viewer in 1x mode, UI sized 1000x720, medium launcher font:

+

ROM Info Viewer width at 32%, UI sized 1000x720, medium launcher font:

-

ROM Info Viewer in 2x mode, UI sized 1280x900, large launcher font:

+

ROM Info Viewer width at 50% , UI sized 1280x900, large launcher font:

The text box in the upper right corner can be used to narrow down the diff --git a/src/emucore/FrameBuffer.cxx b/src/emucore/FrameBuffer.cxx index 769fa6798..c3789f0ed 100644 --- a/src/emucore/FrameBuffer.cxx +++ b/src/emucore/FrameBuffer.cxx @@ -36,9 +36,11 @@ #ifdef GUI_SUPPORT #include "Font.hxx" #include "StellaFont.hxx" + #include "ConsoleMediumBFont.hxx" #include "StellaMediumFont.hxx" #include "StellaLargeFont.hxx" #include "ConsoleFont.hxx" + #include "ConsoleBFont.hxx" #include "Launcher.hxx" #include "Menu.hxx" #include "CommandMenu.hxx" @@ -106,7 +108,7 @@ bool FrameBuffer::initialize() // This font is used in a variety of situations when a really small // font is needed; we let the specific widget/dialog decide when to // use it - mySmallFont = make_unique(GUI::stellaDesc); + mySmallFont = make_unique(GUI::stellaDesc); // 6x10 // The general font used in all UI elements // This is determined by the size of the framebuffer @@ -117,16 +119,18 @@ bool FrameBuffer::initialize() // The info font used in all UI elements // This is determined by the size of the framebuffer - myInfoFont = make_unique(GUI::consoleDesc); + myInfoFont = make_unique(GUI::consoleDesc); // 8x13 // The font used by the ROM launcher const string& lf = myOSystem.settings().getString("launcherfont"); if(lf == "small") - myLauncherFont = make_unique(GUI::consoleDesc); + myLauncherFont = make_unique(GUI::consoleBDesc); // 8x13 + else if(lf == "small medium") + myLauncherFont = make_unique(GUI::consoleMediumBDesc); // 9x15 else if(lf == "medium") - myLauncherFont = make_unique(GUI::stellaMediumDesc); + myLauncherFont = make_unique(GUI::stellaMediumDesc); // 9x18 else - myLauncherFont = make_unique(GUI::stellaLargeDesc); + myLauncherFont = make_unique(GUI::stellaLargeDesc); // 10x20 #endif // Determine possible TIA windowed zoom levels diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index 1ad12575c..00bb983fd 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -342,7 +342,7 @@ void Settings::validate() setValue("palette", "standard"); s = getString("launcherfont"); - if(s != "small" && s != "medium" && s != "large") + if(s != "small" && s != "small medium" && s != "medium" && s != "large") setValue("launcherfont", "medium"); s = getString("dbg.fontsize"); @@ -478,10 +478,10 @@ void Settings::usage() const << " -exitlauncher <1|0> On exiting a ROM, go back to the ROM launcher\n" << " -launcherres The resolution to use in ROM launcher mode\n" << " -launcherfont \n" + << " small medium|large>\n" << " -launcherroms <1|0> Show only ROMs in the launcher (vs. all files)\n" - << " -romviewer <0|1|2> Show ROM info viewer at given zoom level in ROM\n" - << " launcher (0 for off)\n" + << " -romviewer Show ROM info viewer at given zoom level in ROM\n" + << " launcher (use 0 for off)\n" << " -lastrom Last played ROM, automatically selected in launcher\n" << " -romloadcount Number of ROM to load next from multicard\n" << " -uipalette Date: Sat, 14 Mar 2020 13:52:37 +0100 Subject: [PATCH 08/80] replace launcher font value "small medium" with "small_medium" --- docs/index.html | 2 +- src/emucore/FrameBuffer.cxx | 2 +- src/emucore/Settings.cxx | 4 ++-- src/gui/UIDialog.cxx | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/index.html b/docs/index.html index 93779088a..2f750bde9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2371,7 +2371,7 @@ -

-launcherfont <small|small medium|medium|large>
+
-launcherfont <small|small_medium|medium|large>
Set the size of the font in the ROM launcher. diff --git a/src/emucore/FrameBuffer.cxx b/src/emucore/FrameBuffer.cxx index c3789f0ed..d75179f86 100644 --- a/src/emucore/FrameBuffer.cxx +++ b/src/emucore/FrameBuffer.cxx @@ -125,7 +125,7 @@ bool FrameBuffer::initialize() const string& lf = myOSystem.settings().getString("launcherfont"); if(lf == "small") myLauncherFont = make_unique(GUI::consoleBDesc); // 8x13 - else if(lf == "small medium") + else if(lf == "small_medium") myLauncherFont = make_unique(GUI::consoleMediumBDesc); // 9x15 else if(lf == "medium") myLauncherFont = make_unique(GUI::stellaMediumDesc); // 9x18 diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index 00bb983fd..7588ccfdc 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -342,7 +342,7 @@ void Settings::validate() setValue("palette", "standard"); s = getString("launcherfont"); - if(s != "small" && s != "small medium" && s != "medium" && s != "large") + if(s != "small" && s != "small_medium" && s != "medium" && s != "large") setValue("launcherfont", "medium"); s = getString("dbg.fontsize"); @@ -478,7 +478,7 @@ void Settings::usage() const << " -exitlauncher <1|0> On exiting a ROM, go back to the ROM launcher\n" << " -launcherres The resolution to use in ROM launcher mode\n" << " -launcherfont \n" + << " small_medium|large>\n" << " -launcherroms <1|0> Show only ROMs in the launcher (vs. all files)\n" << " -romviewer Show ROM info viewer at given zoom level in ROM\n" << " launcher (use 0 for off)\n" diff --git a/src/gui/UIDialog.cxx b/src/gui/UIDialog.cxx index 1b2cb58e6..287659912 100644 --- a/src/gui/UIDialog.cxx +++ b/src/gui/UIDialog.cxx @@ -217,7 +217,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent, pwidth = font.getStringWidth("2x (1000x760)"); items.clear(); VarList::push_back(items, "Small", "small"); - VarList::push_back(items, "Small Medium", "small medium"); + VarList::push_back(items, "Small Medium", "small_medium"); VarList::push_back(items, "Medium", "medium"); VarList::push_back(items, "Large", "large"); myLauncherFontPopup = From 2646934596ba7bf68c02930878a57b6875e4cf41 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sat, 14 Mar 2020 23:29:58 +0100 Subject: [PATCH 09/80] add one more intermediate font option to ROM info viewer --- src/emucore/FrameBuffer.cxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/emucore/FrameBuffer.cxx b/src/emucore/FrameBuffer.cxx index d75179f86..1cd41c646 100644 --- a/src/emucore/FrameBuffer.cxx +++ b/src/emucore/FrameBuffer.cxx @@ -39,6 +39,10 @@ #include "ConsoleMediumBFont.hxx" #include "StellaMediumFont.hxx" #include "StellaLargeFont.hxx" + #include "Stella12x24Font.hxx" + #include "Stella12x24nFont.hxx" + #include "Stella12x24nbFont.hxx" + #include "Stella16x32Font.hxx" #include "ConsoleFont.hxx" #include "ConsoleBFont.hxx" #include "Launcher.hxx" @@ -130,7 +134,11 @@ bool FrameBuffer::initialize() else if(lf == "medium") myLauncherFont = make_unique(GUI::stellaMediumDesc); // 9x18 else - myLauncherFont = make_unique(GUI::stellaLargeDesc); // 10x20 + //myLauncherFont = make_unique(GUI::stellaLargeDesc); // 10x20 + //myLauncherFont = make_unique(GUI::stella12x24Desc); // 12x24 + myLauncherFont = make_unique(GUI::stella12x24nDesc); // 12x24 + //myLauncherFont = make_unique(GUI::stella12x24nbDesc); // 12x24 + //myLauncherFont = make_unique(GUI::stella16x32Desc); // 16x32 #endif // Determine possible TIA windowed zoom levels From 6b591905822ab24d37a7a5cc9aaf7a92a7fb5323 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sat, 14 Mar 2020 23:37:18 +0100 Subject: [PATCH 10/80] Revert "add one more intermediate font option to ROM info viewer" This reverts commit 2646934596ba7bf68c02930878a57b6875e4cf41. Now the correct file. :) --- src/gui/LauncherDialog.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index d57892f38..eaa0bf608 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -374,6 +374,10 @@ const GUI::Font& LauncherDialog::getRomInfoFont(const Common::Size& area) const + MIN_ROMINFO_LINES * instance().frameBuffer().launcherFont().getFontHeight()) && area.w >= uInt32(MIN_ROMINFO_CHARS * instance().frameBuffer().launcherFont().getMaxCharWidth())) return instance().frameBuffer().launcherFont(); + else if(area.h >= uInt32(MIN_ROMINFO_ROWS * instance().frameBuffer().font().getLineHeight() + + MIN_ROMINFO_LINES * instance().frameBuffer().font().getFontHeight()) + && area.w >= uInt32(MIN_ROMINFO_CHARS * instance().frameBuffer().font().getMaxCharWidth())) + return instance().frameBuffer().font(); else if(area.h >= uInt32(MIN_ROMINFO_ROWS * instance().frameBuffer().infoFont().getLineHeight() + MIN_ROMINFO_LINES * instance().frameBuffer().infoFont().getFontHeight()) && area.w >= uInt32(MIN_ROMINFO_CHARS * instance().frameBuffer().infoFont().getMaxCharWidth())) From a623843d370386877607e1ed10f01a588cf77866 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 15 Mar 2020 08:23:54 +0100 Subject: [PATCH 11/80] trying to fix compile issues --- src/emucore/FrameBuffer.cxx | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/emucore/FrameBuffer.cxx b/src/emucore/FrameBuffer.cxx index 1cd41c646..d75179f86 100644 --- a/src/emucore/FrameBuffer.cxx +++ b/src/emucore/FrameBuffer.cxx @@ -39,10 +39,6 @@ #include "ConsoleMediumBFont.hxx" #include "StellaMediumFont.hxx" #include "StellaLargeFont.hxx" - #include "Stella12x24Font.hxx" - #include "Stella12x24nFont.hxx" - #include "Stella12x24nbFont.hxx" - #include "Stella16x32Font.hxx" #include "ConsoleFont.hxx" #include "ConsoleBFont.hxx" #include "Launcher.hxx" @@ -134,11 +130,7 @@ bool FrameBuffer::initialize() else if(lf == "medium") myLauncherFont = make_unique(GUI::stellaMediumDesc); // 9x18 else - //myLauncherFont = make_unique(GUI::stellaLargeDesc); // 10x20 - //myLauncherFont = make_unique(GUI::stella12x24Desc); // 12x24 - myLauncherFont = make_unique(GUI::stella12x24nDesc); // 12x24 - //myLauncherFont = make_unique(GUI::stella12x24nbDesc); // 12x24 - //myLauncherFont = make_unique(GUI::stella16x32Desc); // 16x32 + myLauncherFont = make_unique(GUI::stellaLargeDesc); // 10x20 #endif // Determine possible TIA windowed zoom levels From d3ff85cf1fe42f8a60cd426ba19c5a184ec1ff20 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 15 Mar 2020 17:16:37 +0100 Subject: [PATCH 12/80] add 3 large fonts (Terminus 12x24, 14x28 and 16x32) use 12x24 font for R77 (launcher and dialogs) improve font selection for ROM info viewer minor fix for convbdf.c --- src/emucore/FrameBuffer.cxx | 27 +- src/emucore/Settings.cxx | 3 +- src/gui/LauncherDialog.cxx | 49 +- src/gui/LauncherDialog.hxx | 5 +- src/gui/Stella12x24tFont.hxx | 5553 ++++++++++++++++++++++++++ src/gui/Stella14x28tFont.hxx | 6337 ++++++++++++++++++++++++++++++ src/gui/Stella16x32tFont.hxx | 7121 ++++++++++++++++++++++++++++++++++ src/gui/UIDialog.cxx | 11 +- src/tools/convbdf.c | 2 +- src/unix/r77/SettingsR77.cxx | 2 +- 10 files changed, 19076 insertions(+), 34 deletions(-) create mode 100644 src/gui/Stella12x24tFont.hxx create mode 100644 src/gui/Stella14x28tFont.hxx create mode 100644 src/gui/Stella16x32tFont.hxx diff --git a/src/emucore/FrameBuffer.cxx b/src/emucore/FrameBuffer.cxx index d75179f86..922ed9655 100644 --- a/src/emucore/FrameBuffer.cxx +++ b/src/emucore/FrameBuffer.cxx @@ -39,6 +39,9 @@ #include "ConsoleMediumBFont.hxx" #include "StellaMediumFont.hxx" #include "StellaLargeFont.hxx" + #include "Stella12x24tFont.hxx" + #include "Stella14x28tFont.hxx" + #include "Stella16x32tFont.hxx" #include "ConsoleFont.hxx" #include "ConsoleBFont.hxx" #include "Launcher.hxx" @@ -113,24 +116,30 @@ bool FrameBuffer::initialize() // The general font used in all UI elements // This is determined by the size of the framebuffer if(myOSystem.settings().getBool("minimal_ui")) - myFont = make_unique(GUI::stellaLargeDesc); + myFont = make_unique(GUI::stella12x24tDesc); // 12x24 else - myFont = make_unique(GUI::stellaMediumDesc); + myFont = make_unique(GUI::stellaMediumDesc); // 9x18 // The info font used in all UI elements // This is determined by the size of the framebuffer - myInfoFont = make_unique(GUI::consoleDesc); // 8x13 + myInfoFont = make_unique(GUI::consoleDesc); // 8x13 // The font used by the ROM launcher const string& lf = myOSystem.settings().getString("launcherfont"); if(lf == "small") - myLauncherFont = make_unique(GUI::consoleBDesc); // 8x13 - else if(lf == "small_medium") - myLauncherFont = make_unique(GUI::consoleMediumBDesc); // 9x15 + myLauncherFont = make_unique(GUI::consoleBDesc); // 8x13 + else if(lf == "low_medium") + myLauncherFont = make_unique(GUI::consoleMediumBDesc); // 9x15 else if(lf == "medium") - myLauncherFont = make_unique(GUI::stellaMediumDesc); // 9x18 - else - myLauncherFont = make_unique(GUI::stellaLargeDesc); // 10x20 + myLauncherFont = make_unique(GUI::stellaMediumDesc); // 9x18 + else if(lf == "large" || lf == "large10") + myLauncherFont = make_unique(GUI::stellaLargeDesc); // 10x20 + else if(lf == "large12") + myLauncherFont = make_unique(GUI::stella12x24tDesc); // 12x24 + else if(lf == "large14") + myLauncherFont = make_unique(GUI::stella14x28tDesc); // 14x28 + else // "large16" + myLauncherFont = make_unique(GUI::stella16x32tDesc); // 16x32 #endif // Determine possible TIA windowed zoom levels diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index 7588ccfdc..e46b192a3 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -342,7 +342,8 @@ void Settings::validate() setValue("palette", "standard"); s = getString("launcherfont"); - if(s != "small" && s != "small_medium" && s != "medium" && s != "large") + if(s != "small" && s != "low_medium" && s != "medium" && s != "large" + && s != "large12" && s != "large14" && s != "large16") setValue("launcherfont", "medium"); s = getString("dbg.fontsize"); diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index eaa0bf608..7a58e215d 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -41,6 +41,14 @@ #include "Settings.hxx" #include "Widget.hxx" #include "Font.hxx" +#include "StellaFont.hxx" +#include "ConsoleBFont.hxx" +#include "ConsoleMediumBFont.hxx" +#include "StellaMediumFont.hxx" +#include "StellaLargeFont.hxx" +#include "Stella12x24tFont.hxx" +#include "Stella14x28tFont.hxx" +#include "Stella16x32tFont.hxx" #include "Version.hxx" #include "LauncherDialog.hxx" @@ -146,9 +154,9 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, // Calculate font area, and in the process the font that can be used Common::Size fontArea(romWidth - 16, myList->getHeight() - imgSize.h - 12); - const GUI::Font& rominfoFont = getRomInfoFont(fontArea); - myRomInfoWidget = new RomInfoWidget(this, rominfoFont, + setRomInfoFont(fontArea); + myRomInfoWidget = new RomInfoWidget(this, *myROMInfoFont, xpos, ypos, romWidth, myList->getHeight(), imgSize); } @@ -365,25 +373,32 @@ float LauncherDialog::getRomInfoZoom(int listHeight) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -const GUI::Font& LauncherDialog::getRomInfoFont(const Common::Size& area) const +void LauncherDialog::setRomInfoFont(const Common::Size& area) { // TODO: Perhaps offer a setting to override the font used? + FontDesc FONTS[7] = { + GUI::stella16x32tDesc, GUI::stella14x28tDesc, GUI::stella12x24tDesc, + GUI::stellaLargeDesc, GUI::stellaMediumDesc, + GUI::consoleMediumBDesc, GUI::consoleBDesc + }; + // Try to pick a font that works best, based on the available area - if(area.h >= uInt32(MIN_ROMINFO_ROWS * instance().frameBuffer().launcherFont().getLineHeight() - + MIN_ROMINFO_LINES * instance().frameBuffer().launcherFont().getFontHeight()) - && area.w >= uInt32(MIN_ROMINFO_CHARS * instance().frameBuffer().launcherFont().getMaxCharWidth())) - return instance().frameBuffer().launcherFont(); - else if(area.h >= uInt32(MIN_ROMINFO_ROWS * instance().frameBuffer().font().getLineHeight() - + MIN_ROMINFO_LINES * instance().frameBuffer().font().getFontHeight()) - && area.w >= uInt32(MIN_ROMINFO_CHARS * instance().frameBuffer().font().getMaxCharWidth())) - return instance().frameBuffer().font(); - else if(area.h >= uInt32(MIN_ROMINFO_ROWS * instance().frameBuffer().infoFont().getLineHeight() - + MIN_ROMINFO_LINES * instance().frameBuffer().infoFont().getFontHeight()) - && area.w >= uInt32(MIN_ROMINFO_CHARS * instance().frameBuffer().infoFont().getMaxCharWidth())) - return instance().frameBuffer().infoFont(); - else - return instance().frameBuffer().smallFont(); + for(int i = 0; i < sizeof(FONTS) / sizeof(FontDesc); ++i) + { + // only use fonts <= launcher fonts + if(instance().frameBuffer().launcherFont().getFontHeight() >= FONTS[i].height) + { + if(area.h >= uInt32(MIN_ROMINFO_ROWS * FONTS[i].height + 2 + + MIN_ROMINFO_LINES * FONTS[i].height) + && area.w >= uInt32(MIN_ROMINFO_CHARS * FONTS[i].maxwidth)) + { + myROMInfoFont = make_unique(FONTS[i]); + return; + } + } + } + myROMInfoFont = make_unique(GUI::stellaDesc); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/gui/LauncherDialog.hxx b/src/gui/LauncherDialog.hxx index dc1ce321c..d112f0601 100644 --- a/src/gui/LauncherDialog.hxx +++ b/src/gui/LauncherDialog.hxx @@ -104,7 +104,7 @@ class LauncherDialog : public Dialog void applyFiltering(); float getRomInfoZoom(int listHeight) const; - const GUI::Font& getRomInfoFont(const Common::Size& area) const; + void setRomInfoFont(const Common::Size& area); void loadRom(); void loadRomInfo(); @@ -119,6 +119,9 @@ class LauncherDialog : public Dialog unique_ptr myGlobalProps; unique_ptr myRomDir; + // automatically sized font for ROM info viewer + unique_ptr myROMInfoFont; + ButtonWidget* myStartButton{nullptr}; ButtonWidget* myPrevDirButton{nullptr}; ButtonWidget* myOptionsButton{nullptr}; diff --git a/src/gui/Stella12x24tFont.hxx b/src/gui/Stella12x24tFont.hxx new file mode 100644 index 000000000..88bb67ae4 --- /dev/null +++ b/src/gui/Stella12x24tFont.hxx @@ -0,0 +1,5553 @@ +//============================================================================ +// +// SSSS tt lll lll +// SS SS tt ll ll +// SS tttttt eeee ll ll aaaa +// SSSS tt ee ee ll ll aa +// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator" +// SS SS tt ee ll ll aa aa +// SSSS ttt eeeee llll llll aaaaa +// +// Copyright (c) 1995-2020 by Bradford W. Mott, Stephen Anthony +// and the stella Team +// +// See the file "License.txt" for information on usage and redistribution of +// this file, and for a DISCLAIMER OF ALL WARRANTIES. +// +// Generated by src/tools/convbdf on Sun Mar 15 08:31:37 2020. +//============================================================================ + +#ifndef STELLA12X24T_FONT_DATA_HXX +#define STELLA12X24T_FONT_DATA_HXX + +#include "Font.hxx" + +/* Font information: + name: ter-u24b + facename: -xos4-Terminus-Bold-R-Normal--24-240-72-72-C-120-ISO10646-1 + w x h: 12x24 + bbx: 12 24 0 -5 + size: 95 + ascent: 19 + descent: 5 + first char: 32 (0x20) + last char: 126 (0x7e) + default char: 32 (0x20) + proportional: no + Copyright (C) 2014 Dimitar Toshkov Zhekov +*/ + +namespace GUI { + +// Font character bitmap data. +static const uInt16 stella12x24t_font_bits[] = { // NOLINT : too complicated to convert + +/* Character 29 (0x1d): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0b0110011001100000, +0b0110011001100000, +0b0110011001100000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 30 (0x1e): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 31 (0x1f): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 32 (0x20): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 33 (0x21): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 34 (0x22): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x1980, +0x1980, +0x1980, +0x1980, +0x1980, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 35 (0x23): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ********** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ********** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1980, +0x1980, +0x1980, +0x1980, +0x7fe0, +0x1980, +0x1980, +0x1980, +0x1980, +0x1980, +0x7fe0, +0x1980, +0x1980, +0x1980, +0x1980, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 36 (0x24): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | ** | + | ** | + | ****** | + | ** ** ** | + | ** ** ** | + | ** ** | + | ** ** | + | ** ** | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** ** | + | ** ** ** | + | ****** | + | ** | + | ** | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x1f80, +0x36c0, +0x6660, +0x6600, +0x6600, +0x3600, +0x1f80, +0x06c0, +0x0660, +0x0660, +0x6660, +0x36c0, +0x1f80, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 37 (0x25): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | *** ** | + | ** ** ** | + | ** ** ** | + | *** ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** *** | + | ** ** ** | + | ** ** ** | + | ** *** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x38c0, +0x6cc0, +0x6d80, +0x3980, +0x0300, +0x0300, +0x0600, +0x0600, +0x0c00, +0x0c00, +0x19c0, +0x1b60, +0x3360, +0x31c0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 38 (0x26): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** | + | **** ** | + | ** ** ** | + | ** *** | + | ** ** | + | ** ** | + | ** *** | + | ** ** ** | + | **** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0e00, +0x1b00, +0x3180, +0x3180, +0x3180, +0x1b00, +0x0e00, +0x1e60, +0x3360, +0x61c0, +0x60c0, +0x60c0, +0x61c0, +0x3360, +0x1e60, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 39 (0x27): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 40 (0x28): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0600, +0x0c00, +0x0c00, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x0c00, +0x0c00, +0x0600, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 41 (0x29): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1800, +0x0c00, +0x0600, +0x0600, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0600, +0x0600, +0x0c00, +0x1800, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 42 (0x2a): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | *** | + |*********** | + | *** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x60c0, +0x3180, +0x1b00, +0x0e00, +0xffe0, +0x0e00, +0x1b00, +0x3180, +0x60c0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 43 (0x2b): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ********** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0600, +0x7fe0, +0x0600, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 44 (0x2c): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0600, +0x0c00, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 45 (0x2d): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 46 (0x2e): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 47 (0x2f): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x00c0, +0x00c0, +0x0180, +0x0180, +0x0300, +0x0300, +0x0600, +0x0600, +0x0c00, +0x0c00, +0x1800, +0x1800, +0x3000, +0x3000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 48 (0x30): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** *** | + | ** **** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | **** ** | + | *** ** | + | ** ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x60e0, +0x61e0, +0x6360, +0x6660, +0x6c60, +0x7860, +0x7060, +0x6060, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 49 (0x31): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | *** | + | **** | + | ** ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ******** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0e00, +0x1e00, +0x3600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x3fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 50 (0x32): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ********** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6060, +0x0060, +0x00c0, +0x0180, +0x0300, +0x0600, +0x0c00, +0x1800, +0x3000, +0x6000, +0x7fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 51 (0x33): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** | + | ** | + | ** | + | ** | + | ***** | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x0060, +0x0060, +0x0060, +0x00c0, +0x0f80, +0x00c0, +0x0060, +0x0060, +0x0060, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 52 (0x34): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | *** | + | **** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ********** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0060, +0x00e0, +0x01e0, +0x0360, +0x0660, +0x0c60, +0x1860, +0x3060, +0x6060, +0x6060, +0x6060, +0x7fe0, +0x0060, +0x0060, +0x0060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 53 (0x35): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ********** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7f80, +0x00c0, +0x0060, +0x0060, +0x0060, +0x0060, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 54 (0x36): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ******* | + | ** | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7f80, +0x60c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 55 (0x37): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ********** | + | ** ** | + | ** ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x6060, +0x6060, +0x0060, +0x00c0, +0x00c0, +0x0180, +0x0180, +0x0300, +0x0300, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 56 (0x38): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x30c0, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 57 (0x39): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ******* | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x3060, +0x1fe0, +0x0060, +0x0060, +0x0060, +0x0060, +0x00c0, +0x3f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 58 (0x3a): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 59 (0x3b): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0600, +0x0c00, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 60 (0x3c): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x00c0, +0x0180, +0x0300, +0x0600, +0x0c00, +0x1800, +0x3000, +0x6000, +0x3000, +0x1800, +0x0c00, +0x0600, +0x0300, +0x0180, +0x00c0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 61 (0x3d): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********** | + | | + | | + | | + | | + | ********** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 62 (0x3e): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6000, +0x3000, +0x1800, +0x0c00, +0x0600, +0x0300, +0x0180, +0x00c0, +0x0180, +0x0300, +0x0600, +0x0c00, +0x1800, +0x3000, +0x6000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 63 (0x3f): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6060, +0x00c0, +0x0180, +0x0300, +0x0600, +0x0600, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 64 (0x40): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ******* | + | ** ** | + |** ** | + |** ***** | + |** ** ** | + |** ** ** | + |** ** ** | + |** ** ** | + |** ** ** | + |** ** ** | + |** ** ** | + |** ***** | + |** | + | ** | + | ********* | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x3f80, +0x60c0, +0xc060, +0xc3e0, +0xc660, +0xcc60, +0xcc60, +0xcc60, +0xcc60, +0xcc60, +0xc660, +0xc3e0, +0xc000, +0x6000, +0x3fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 65 (0x41): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ********** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x7fe0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 66 (0x42): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7f80, +0x60c0, +0x6060, +0x6060, +0x6060, +0x60c0, +0x7f80, +0x60c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x60c0, +0x7f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 67 (0x43): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6060, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 68 (0x44): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7f80, +0x60c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x60c0, +0x7f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 69 (0x45): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ********** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ********** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7f80, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 70 (0x46): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ********** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7f80, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 71 (0x47): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** | + | ** | + | ** | + | ** ***** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6000, +0x6000, +0x6000, +0x63e0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 72 (0x48): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ********** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x7fe0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 73 (0x49): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 74 (0x4a): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ******| + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ***** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x03f0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x60c0, +0x60c0, +0x60c0, +0x3180, +0x1f00, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 75 (0x4b): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | **** | + | *** | + | **** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x60c0, +0x6180, +0x6300, +0x6600, +0x6c00, +0x7800, +0x7000, +0x7800, +0x6c00, +0x6600, +0x6300, +0x6180, +0x60c0, +0x6060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 76 (0x4c): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ********** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 77 (0x4d): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + |* * | + |** ** | + |*** *** | + |**** **** | + |** ** ** ** | + |** *** ** | + |** * ** | + |** ** | + |** ** | + |** ** | + |** ** | + |** ** | + |** ** | + |** ** | + |** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x8020, +0xc060, +0xe0e0, +0xf1e0, +0xdb60, +0xce60, +0xc460, +0xc060, +0xc060, +0xc060, +0xc060, +0xc060, +0xc060, +0xc060, +0xc060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 78 (0x4e): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** ** | + | **** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** **** | + | ** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x6060, +0x6060, +0x6060, +0x7060, +0x7860, +0x6c60, +0x6660, +0x6360, +0x61e0, +0x60e0, +0x6060, +0x6060, +0x6060, +0x6060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 79 (0x4f): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 80 (0x50): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7f80, +0x60c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x60c0, +0x7f80, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 81 (0x51): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** ** | + | ** **** | + | ****** | + | ** | + | ** | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6660, +0x33c0, +0x1f80, +0x00c0, +0x0060, +0x0000, +0x0000, +0x0000, + +/* Character 82 (0x52): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | **** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7f80, +0x60c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x60c0, +0x7f80, +0x7800, +0x6c00, +0x6600, +0x6300, +0x6180, +0x60c0, +0x6060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 83 (0x53): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** | + | ** | + | ** | + | ** | + | ****** | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6000, +0x6000, +0x6000, +0x3000, +0x1f80, +0x00c0, +0x0060, +0x0060, +0x0060, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 84 (0x54): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ********** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 85 (0x55): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 86 (0x56): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | **** | + | **** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x6060, +0x6060, +0x6060, +0x30c0, +0x30c0, +0x30c0, +0x30c0, +0x1980, +0x1980, +0x1980, +0x0f00, +0x0f00, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 87 (0x57): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + |** ** | + |** ** | + |** ** | + |** ** | + |** ** | + |** ** | + |** ** | + |** ** | + |** * ** | + |** *** ** | + |** ** ** ** | + |**** **** | + |*** *** | + |** ** | + |* * | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0xc060, +0xc060, +0xc060, +0xc060, +0xc060, +0xc060, +0xc060, +0xc060, +0xc460, +0xce60, +0xdb60, +0xf1e0, +0xe0e0, +0xc060, +0x8020, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 88 (0x58): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | **** | + | ** | + | **** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x6060, +0x30c0, +0x30c0, +0x1980, +0x1980, +0x0f00, +0x0600, +0x0f00, +0x1980, +0x1980, +0x30c0, +0x30c0, +0x6060, +0x6060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 89 (0x59): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | **** | + | **** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x6060, +0x30c0, +0x30c0, +0x1980, +0x1980, +0x0f00, +0x0f00, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 90 (0x5a): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ********** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ********** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x0060, +0x0060, +0x0060, +0x00c0, +0x0180, +0x0300, +0x0600, +0x0c00, +0x1800, +0x3000, +0x6000, +0x6000, +0x6000, +0x7fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 91 (0x5b): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ***** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ***** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f00, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x1800, +0x1f00, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 92 (0x5c): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x3000, +0x3000, +0x1800, +0x1800, +0x0c00, +0x0c00, +0x0600, +0x0600, +0x0300, +0x0300, +0x0180, +0x0180, +0x00c0, +0x00c0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 93 (0x5d): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ***** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ***** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1f00, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x1f00, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 94 (0x5e): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | ** | + | **** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0600, +0x0f00, +0x1980, +0x30c0, +0x6060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 95 (0x5f): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********** | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x0000, +0x0000, +0x0000, + +/* Character 96 (0x60): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x1800, +0x0c00, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 97 (0x61): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ******* | + | ** | + | ** | + | ** | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x3f80, +0x00c0, +0x0060, +0x0060, +0x1fe0, +0x3060, +0x6060, +0x6060, +0x6060, +0x3060, +0x1fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 98 (0x62): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7f80, +0x60c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x60c0, +0x7f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 99 (0x63): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 100 (0x64): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0060, +0x0060, +0x0060, +0x0060, +0x1fe0, +0x3060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x3060, +0x1fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 101 (0x65): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ********** | + | ** | + | ** | + | ** | + | ** ** | + | ******* | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6060, +0x7fe0, +0x6000, +0x6000, +0x6000, +0x3060, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 102 (0x66): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ***** | + | ** | + | ** | + | ** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x03e0, +0x0600, +0x0600, +0x0600, +0x3fc0, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 103 (0x67): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** *** | + | ******** | + | ** | + | ** | + | ** | + | ******* | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1fe0, +0x3060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x30e0, +0x1fe0, +0x0060, +0x0060, +0x00c0, +0x3f80, +0x0000, + +/* Character 104 (0x68): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7f80, +0x60c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 105 (0x69): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | | + | **** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0000, +0x1e00, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 106 (0x6a): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | | + | **** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | ** ** | + | ** ** | + | **** | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x00c0, +0x00c0, +0x00c0, +0x0000, +0x03c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x30c0, +0x30c0, +0x1980, +0x0f00, +0x0000, + +/* Character 107 (0x6b): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | **** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x3000, +0x3000, +0x3000, +0x3000, +0x3060, +0x30c0, +0x3180, +0x3300, +0x3600, +0x3c00, +0x3600, +0x3300, +0x3180, +0x30c0, +0x3060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 108 (0x6c): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | **** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1e00, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 109 (0x6d): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ******** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7f80, +0x66c0, +0x6660, +0x6660, +0x6660, +0x6660, +0x6660, +0x6660, +0x6660, +0x6660, +0x6660, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 110 (0x6e): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7f80, +0x60c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 111 (0x6f): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ****** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1f80, +0x30c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x30c0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 112 (0x70): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7f80, +0x60c0, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x60c0, +0x7f80, +0x6000, +0x6000, +0x6000, +0x6000, +0x0000, + +/* Character 113 (0x71): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ******** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1fe0, +0x3060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x3060, +0x1fe0, +0x0060, +0x0060, +0x0060, +0x0060, +0x0000, + +/* Character 114 (0x72): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ** ****** | + | ** ** | + | **** | + | *** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x67e0, +0x6c00, +0x7800, +0x7000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 115 (0x73): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ******** | + | ** ** | + | ** | + | ** | + | ** | + | ******** | + | ** | + | ** | + | ** | + | ** ** | + | ******** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x3fc0, +0x6060, +0x6000, +0x6000, +0x6000, +0x3fc0, +0x0060, +0x0060, +0x0060, +0x6060, +0x3fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 116 (0x74): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ***** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x7f80, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x07c0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 117 (0x75): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ******** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x3060, +0x1fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 118 (0x76): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | **** | + | **** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x6060, +0x6060, +0x30c0, +0x30c0, +0x1980, +0x1980, +0x0f00, +0x0f00, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 119 (0x77): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ******** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x6060, +0x6060, +0x6060, +0x6660, +0x6660, +0x6660, +0x6660, +0x6660, +0x6660, +0x3fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 120 (0x78): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | **** | + | ** | + | **** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x6060, +0x30c0, +0x1980, +0x0f00, +0x0600, +0x0f00, +0x1980, +0x30c0, +0x6060, +0x6060, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 121 (0x79): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** *** | + | ******** | + | ** | + | ** | + | ** | + | ******* | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x6060, +0x30e0, +0x1fe0, +0x0060, +0x0060, +0x00c0, +0x3f80, +0x0000, + +/* Character 122 (0x7a): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | ********** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ********** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x0060, +0x00c0, +0x0180, +0x0300, +0x0600, +0x0c00, +0x1800, +0x3000, +0x6000, +0x7fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 123 (0x7b): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | *** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | *** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | *** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0600, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x3800, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0600, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 124 (0x7c): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 125 (0x7d): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | | + | | + | *** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | *** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | *** | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x3800, +0x0c00, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0380, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0c00, +0x3800, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 126 (0x7e): + width 12 + bbx ( 12, 24, 0, -5 ) + + +------------+ + | | + | | + | **** ** | + | ** ** ** | + | ** ** ** | + | ** **** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +------------+ +*/ +0x0000, +0x0000, +0x3c60, +0x6660, +0x6660, +0x63c0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +}; + +/* Exported structure definition. */ +static const FontDesc stella12x24tDesc = { + "ter-u24b", + 12, + 24, + 12, 24, 0, -5, + 19, + 29, + 98, + stella12x24t_font_bits, + nullptr, /* no encode table*/ + nullptr, /* fixed width*/ + nullptr, /* fixed bbox*/ + 32, + sizeof(stella12x24t_font_bits)/sizeof(uInt16) +}; + +} // End of namespace GUI + +#endif diff --git a/src/gui/Stella14x28tFont.hxx b/src/gui/Stella14x28tFont.hxx new file mode 100644 index 000000000..28151f725 --- /dev/null +++ b/src/gui/Stella14x28tFont.hxx @@ -0,0 +1,6337 @@ +//============================================================================ +// +// SSSS tt lll lll +// SS SS tt ll ll +// SS tttttt eeee ll ll aaaa +// SSSS tt ee ee ll ll aa +// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator" +// SS SS tt ee ll ll aa aa +// SSSS ttt eeeee llll llll aaaaa +// +// Copyright (c) 1995-2020 by Bradford W. Mott, Stephen Anthony +// and the Stella Team +// +// See the file "License.txt" for information on usage and redistribution of +// this file, and for a DISCLAIMER OF ALL WARRANTIES. +// +// Generated by src/tools/convbdf on Sun Mar 15 08:40:37 2020. +//============================================================================ + +#ifndef STELLA14X28T_FONT_DATA_HXX +#define STELLA14X28T_FONT_DATA_HXX + +#include "Font.hxx" + +/* Font information: + name: ter-u28b + facename: -xos4-Terminus-Bold-R-Normal--28-280-72-72-C-140-ISO10646-1 + w x h: 14x28 + bbx: 14 28 0 -6 + size: 95 + ascent: 22 + descent: 6 + first char: 32 (0x20) + last char: 126 (0x7e) + default char: 32 (0x20) + proportional: no + Copyright (C) 2014 Dimitar Toshkov Zhekov +*/ + +namespace GUI { + +// Font character bitmap data. +static const uInt16 stella14x28t_font_bits[] = { // NOLINT : too complicated to convert + +/* Character 32 (0x20): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0b0011001100110000, +0b0011001100110000, +0b0011001100110000, +0b0011001100110000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 30 (0x1e): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 31 (0x1f): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 32 (0x20): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 33 (0x21): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 34 (0x22): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x18c0, +0x18c0, +0x18c0, +0x18c0, +0x18c0, +0x18c0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 35 (0x23): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *********** | + | *********** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *********** | + | *********** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x18c0, +0x18c0, +0x18c0, +0x18c0, +0x7ff0, +0x7ff0, +0x18c0, +0x18c0, +0x18c0, +0x18c0, +0x18c0, +0x18c0, +0x7ff0, +0x7ff0, +0x18c0, +0x18c0, +0x18c0, +0x18c0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 36 (0x24): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | ** | + | ** | + | ** | + | ******** | + | ********** | + | *** ** *** | + | ** ** ** | + | ** ** | + | ** ** | + | *** ** | + | ********* | + | ********* | + | ** *** | + | ** ** | + | ** ** | + | ** ** ** | + | *** ** *** | + | ********** | + | ******** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x1fe0, +0x3ff0, +0x7338, +0x6318, +0x6300, +0x6300, +0x7300, +0x3fe0, +0x1ff0, +0x0338, +0x0318, +0x0318, +0x6318, +0x7338, +0x3ff0, +0x1fe0, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 37 (0x25): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | **** ** | + | ****** ** | + | ** ** ** | + | ****** ** | + | **** ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** **** | + | ** ****** | + | ** ** ** | + | ** ****** | + | ** **** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x3c30, +0x7e30, +0x6660, +0x7e60, +0x3cc0, +0x00c0, +0x0180, +0x0180, +0x0300, +0x0300, +0x0600, +0x0600, +0x0c00, +0x0cf0, +0x19f8, +0x1998, +0x31f8, +0x30f0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 38 (0x26): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | **** | + | ****** | + | *** *** | + | ** ** | + | ** ** | + | *** *** | + | ****** | + | **** | + | *** | + | ***** ** | + | *** *** *** | + | *** ***** | + | ** *** | + | ** *** | + | ** *** | + | *** ***** | + | ******* *** | + | ***** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0f00, +0x1f80, +0x39c0, +0x30c0, +0x30c0, +0x39c0, +0x1f80, +0x0f00, +0x0e00, +0x1f18, +0x3bb8, +0x71f0, +0x60e0, +0x60e0, +0x60e0, +0x71f0, +0x3fb8, +0x1f18, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 39 (0x27): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 40 (0x28): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0180, +0x0300, +0x0600, +0x0600, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0600, +0x0600, +0x0300, +0x0180, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 41 (0x29): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0c00, +0x0600, +0x0300, +0x0300, +0x0180, +0x0180, +0x0180, +0x0180, +0x0180, +0x0180, +0x0180, +0x0180, +0x0180, +0x0180, +0x0300, +0x0300, +0x0600, +0x0c00, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 42 (0x2a): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | ***** | + | *** | + | *********** | + | *********** | + | *** | + | ***** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x38e0, +0x1dc0, +0x0f80, +0x0700, +0x7ff0, +0x7ff0, +0x0700, +0x0f80, +0x1dc0, +0x38e0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 43 (0x2b): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ************ | + | ************ | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x7ff8, +0x7ff8, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 44 (0x2c): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0600, +0x0c00, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 45 (0x2d): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *********** | + | *********** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 46 (0x2e): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 47 (0x2f): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0030, +0x0030, +0x0060, +0x0060, +0x00c0, +0x00c0, +0x0180, +0x0180, +0x0300, +0x0300, +0x0600, +0x0600, +0x0c00, +0x0c00, +0x1800, +0x1800, +0x3000, +0x3000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 48 (0x30): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** *** | + | ** **** | + | ** ***** | + | ** *** ** | + | ** *** ** | + | ** *** ** | + | ***** ** | + | **** ** | + | *** ** | + | ** ** | + | ** ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6070, +0x60f0, +0x61f0, +0x63b0, +0x6730, +0x6e30, +0x7c30, +0x7830, +0x7030, +0x6030, +0x6030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 49 (0x31): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | *** | + | **** | + | ***** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ******** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0700, +0x0f00, +0x1f00, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x1fe0, +0x1fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 50 (0x32): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | ** ** | + | ** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *********** | + | *********** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x6030, +0x0030, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0700, +0x0e00, +0x1c00, +0x3800, +0x7000, +0x7ff0, +0x7ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 51 (0x33): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** | + | ** | + | ** | + | *** | + | ******* | + | ******* | + | *** | + | ** | + | ** | + | ** | + | ** ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x0030, +0x0030, +0x0030, +0x0070, +0x0fe0, +0x0fe0, +0x0070, +0x0030, +0x0030, +0x0030, +0x6030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 52 (0x34): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | *** | + | **** | + | ***** | + | *** ** | + | *** ** | + | *** ** | + | *** ** | + | *** ** | + | *** ** | + | ** ** | + | ** ** | + | *********** | + | *********** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0030, +0x0070, +0x00f0, +0x01f0, +0x03b0, +0x0730, +0x0e30, +0x1c30, +0x3830, +0x7030, +0x6030, +0x6030, +0x7ff0, +0x7ff0, +0x0030, +0x0030, +0x0030, +0x0030, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 53 (0x35): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | *********** | + | *********** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ********* | + | ********** | + | *** | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff0, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7fc0, +0x7fe0, +0x0070, +0x0030, +0x0030, +0x0030, +0x0030, +0x6030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 54 (0x36): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******** | + | ********* | + | *** | + | ** | + | ** | + | ** | + | ** | + | ********* | + | ********** | + | ** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fe0, +0x3fe0, +0x7000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7fc0, +0x7fe0, +0x6070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 55 (0x37): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | *********** | + | *********** | + | ** ** | + | ** ** | + | ** ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff0, +0x6030, +0x6030, +0x6030, +0x0060, +0x0060, +0x00c0, +0x00c0, +0x0180, +0x0180, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 56 (0x38): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** *** | + | ********* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x6030, +0x6030, +0x7070, +0x3fe0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x6030, +0x6030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 57 (0x39): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** ** | + | ********** | + | ********* | + | ** | + | ** | + | ** | + | ** | + | *** | + | ********* | + | ******** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7030, +0x3ff0, +0x1ff0, +0x0030, +0x0030, +0x0030, +0x0030, +0x0070, +0x3fe0, +0x3fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 58 (0x3a): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 59 (0x3b): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0600, +0x0c00, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 60 (0x3c): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0700, +0x0e00, +0x1c00, +0x3800, +0x7000, +0x3800, +0x1c00, +0x0e00, +0x0700, +0x0380, +0x01c0, +0x00e0, +0x0070, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 61 (0x3d): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *********** | + | *********** | + | | + | | + | | + | | + | *********** | + | *********** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 62 (0x3e): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7000, +0x3800, +0x1c00, +0x0e00, +0x0700, +0x0380, +0x01c0, +0x00e0, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0700, +0x0e00, +0x1c00, +0x3800, +0x7000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 63 (0x3f): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | ** ** | + | *** | + | *** | + | *** | + | *** | + | ** | + | ** | + | | + | | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x6030, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0300, +0x0300, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 64 (0x40): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******** | + | ********** | + | *** *** | + | ** ** | + | ** ****** | + | ** ******* | + | ** *** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** *** ** | + | ** ******* | + | ** **** * | + | ** | + | *** | + | *********** | + | ********** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fe0, +0x3ff0, +0x7038, +0x6018, +0x61f8, +0x63f8, +0x6718, +0x6618, +0x6618, +0x6618, +0x6618, +0x6718, +0x63f8, +0x61e8, +0x6000, +0x7000, +0x3ff8, +0x1ff8, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 65 (0x41): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *********** | + | *********** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7ff0, +0x7ff0, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 66 (0x42): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ********* | + | ********** | + | ** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ********* | + | ********* | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** *** | + | ********** | + | ********* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7fc0, +0x7fe0, +0x6070, +0x6030, +0x6030, +0x6030, +0x6060, +0x7fc0, +0x7fc0, +0x6060, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6070, +0x7fe0, +0x7fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 67 (0x43): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | ** ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6030, +0x6030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 68 (0x44): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | ** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7f00, +0x7fc0, +0x60e0, +0x6060, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6060, +0x60e0, +0x7fc0, +0x7f00, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 69 (0x45): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | *********** | + | *********** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | *********** | + | *********** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff0, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7f80, +0x7f80, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7ff0, +0x7ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 70 (0x46): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | *********** | + | *********** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff0, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7f80, +0x7f80, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 71 (0x47): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | ** | + | ** | + | ** | + | ** ****** | + | ** ****** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x6000, +0x6000, +0x6000, +0x63f0, +0x63f0, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 72 (0x48): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *********** | + | *********** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7ff0, +0x7ff0, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 73 (0x49): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ****** | + | ****** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ****** | + | ****** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0fc0, +0x0fc0, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0fc0, +0x0fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 74 (0x4a): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ****** | + | ****** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | ** ** | + | ** ** | + | *** *** | + | ******** | + | ****** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x01f8, +0x01f8, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x6060, +0x6060, +0x6060, +0x70e0, +0x3fc0, +0x1f80, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 75 (0x4b): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** ** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | ***** | + | **** | + | **** | + | ***** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6030, +0x6070, +0x60e0, +0x61c0, +0x6380, +0x6700, +0x6e00, +0x7c00, +0x7800, +0x7800, +0x7c00, +0x6e00, +0x6700, +0x6380, +0x61c0, +0x60e0, +0x6070, +0x6030, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 76 (0x4c): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | *********** | + | *********** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7ff0, +0x7ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 77 (0x4d): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | *** *** | + | **** **** | + | ***** ***** | + | ** ****** ** | + | ** **** ** | + | ** ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6018, +0x6018, +0x7038, +0x7878, +0x7cf8, +0x6fd8, +0x6798, +0x6318, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 78 (0x4e): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** ** | + | **** ** | + | ***** ** | + | ** *** ** | + | ** *** ** | + | ** *** ** | + | ** ***** | + | ** **** | + | ** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6030, +0x6030, +0x6030, +0x6030, +0x7030, +0x7830, +0x7c30, +0x6e30, +0x6730, +0x63b0, +0x61f0, +0x60f0, +0x6070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 79 (0x4f): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 80 (0x50): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ********* | + | ********** | + | ** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** *** | + | ********** | + | ********* | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7fc0, +0x7fe0, +0x6070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6070, +0x7fe0, +0x7fc0, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 81 (0x51): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** *** ** | + | *** ***** | + | ********* | + | ******** | + | *** | + | *** | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x63b0, +0x71f0, +0x3fe0, +0x1fe0, +0x0070, +0x0038, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 82 (0x52): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ********* | + | ********** | + | ** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** *** | + | ********** | + | ********* | + | ***** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7fc0, +0x7fe0, +0x6070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6070, +0x7fe0, +0x7fc0, +0x7c00, +0x6e00, +0x6700, +0x6380, +0x61c0, +0x60e0, +0x6070, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 83 (0x53): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** | + | ** | + | ** | + | *** | + | ******** | + | ******** | + | *** | + | ** | + | ** | + | ** | + | ** ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6000, +0x6000, +0x6000, +0x7000, +0x3fc0, +0x1fe0, +0x0070, +0x0030, +0x0030, +0x0030, +0x6030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 84 (0x54): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ************ | + | ************ | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff8, +0x7ff8, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 85 (0x55): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 86 (0x56): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6030, +0x6030, +0x6030, +0x6030, +0x3060, +0x3060, +0x3060, +0x3060, +0x18c0, +0x18c0, +0x18c0, +0x18c0, +0x0d80, +0x0d80, +0x0d80, +0x0700, +0x0700, +0x0700, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 87 (0x57): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** ** | + | ** **** ** | + | ** ****** ** | + | ***** ***** | + | **** **** | + | *** *** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x6018, +0x6318, +0x6798, +0x6fd8, +0x7cf8, +0x7878, +0x7038, +0x6018, +0x6018, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 88 (0x58): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** | + | *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6030, +0x6030, +0x3060, +0x3060, +0x18c0, +0x18c0, +0x0d80, +0x0d80, +0x0700, +0x0700, +0x0d80, +0x0d80, +0x18c0, +0x18c0, +0x3060, +0x3060, +0x6030, +0x6030, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 89 (0x59): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | **** | + | **** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6018, +0x6018, +0x3030, +0x3030, +0x1860, +0x1860, +0x0cc0, +0x0cc0, +0x0780, +0x0780, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 90 (0x5a): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | *********** | + | *********** | + | ** | + | ** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ** | + | ** | + | ** | + | *********** | + | *********** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff0, +0x0030, +0x0030, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0700, +0x0e00, +0x1c00, +0x3800, +0x7000, +0x6000, +0x6000, +0x6000, +0x7ff0, +0x7ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 91 (0x5b): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ****** | + | ****** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ****** | + | ****** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0fc0, +0x0fc0, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0c00, +0x0fc0, +0x0fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 92 (0x5c): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x3000, +0x3000, +0x1800, +0x1800, +0x0c00, +0x0c00, +0x0600, +0x0600, +0x0300, +0x0300, +0x0180, +0x0180, +0x00c0, +0x00c0, +0x0060, +0x0060, +0x0030, +0x0030, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 93 (0x5d): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ****** | + | ****** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ****** | + | ****** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0fc0, +0x0fc0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x00c0, +0x0fc0, +0x0fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 94 (0x5e): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | * | + | *** | + | ***** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0200, +0x0700, +0x0f80, +0x1dc0, +0x38e0, +0x7070, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 95 (0x5f): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *********** | + | *********** | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff0, +0x0000, +0x0000, +0x0000, + +/* Character 96 (0x60): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x1c00, +0x0e00, +0x0700, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 97 (0x61): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ******* | + | ******** | + | *** | + | ** | + | ********* | + | ********** | + | *** ** | + | ** ** | + | ** ** | + | ** ** | + | *** ** | + | ********** | + | ********* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x1fe0, +0x0070, +0x0030, +0x1ff0, +0x3ff0, +0x7030, +0x6030, +0x6030, +0x6030, +0x7030, +0x3ff0, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 98 (0x62): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ********* | + | ********** | + | ** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** *** | + | ********** | + | ********* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7fc0, +0x7fe0, +0x6070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6070, +0x7fe0, +0x7fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 99 (0x63): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 100 (0x64): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ********* | + | ********** | + | *** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** ** | + | ********** | + | ********* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0030, +0x0030, +0x0030, +0x0030, +0x0030, +0x1ff0, +0x3ff0, +0x7030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7030, +0x3ff0, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 101 (0x65): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | *********** | + | *********** | + | ** | + | ** | + | ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x7ff0, +0x7ff0, +0x6000, +0x6000, +0x6000, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 102 (0x66): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ****** | + | ******* | + | ** | + | ** | + | ** | + | ******** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x03f0, +0x07f0, +0x0600, +0x0600, +0x0600, +0x3fc0, +0x3fc0, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 103 (0x67): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********* | + | ********** | + | *** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** ** | + | ********** | + | ********* | + | ** | + | ** | + | *** | + | ********* | + | ******** | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff0, +0x7030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7030, +0x3ff0, +0x1ff0, +0x0030, +0x0030, +0x0070, +0x3fe0, +0x3fc0, +0x0000, + +/* Character 104 (0x68): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ********* | + | ********** | + | ** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x7fc0, +0x7fe0, +0x6070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 105 (0x69): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | | + | | + | **** | + | **** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ****** | + | ****** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0f00, +0x0f00, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0fc0, +0x0fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 106 (0x6a): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | | + | | + | **** | + | **** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** ** | + | ** ** | + | *** *** | + | ******* | + | ***** | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0060, +0x0060, +0x0060, +0x0000, +0x0000, +0x01e0, +0x01e0, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x0060, +0x3060, +0x3060, +0x38e0, +0x1fc0, +0x0f80, +0x0000, + +/* Character 107 (0x6b): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | ***** | + | **** | + | ***** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | ** *** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x3000, +0x3000, +0x3000, +0x3000, +0x3000, +0x3070, +0x30e0, +0x31c0, +0x3380, +0x3700, +0x3e00, +0x3c00, +0x3e00, +0x3700, +0x3380, +0x31c0, +0x30e0, +0x3070, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 108 (0x6c): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | **** | + | **** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ****** | + | ****** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0f00, +0x0f00, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0fc0, +0x0fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 109 (0x6d): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********** | + | *********** | + | ** ** *** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7fe0, +0x7ff0, +0x6338, +0x6318, +0x6318, +0x6318, +0x6318, +0x6318, +0x6318, +0x6318, +0x6318, +0x6318, +0x6318, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 110 (0x6e): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********* | + | ********** | + | ** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7fc0, +0x7fe0, +0x6070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 111 (0x6f): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 112 (0x70): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********* | + | ********** | + | ** *** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** *** | + | ********** | + | ********* | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7fc0, +0x7fe0, +0x6070, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6070, +0x7fe0, +0x7fc0, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x0000, + +/* Character 113 (0x71): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********* | + | ********** | + | *** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** ** | + | ********** | + | ********* | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff0, +0x7030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7030, +0x3ff0, +0x1ff0, +0x0030, +0x0030, +0x0030, +0x0030, +0x0030, +0x0000, + +/* Character 114 (0x72): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** ******* | + | ** ******** | + | ***** | + | **** | + | *** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x67f0, +0x6ff0, +0x7c00, +0x7800, +0x7000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x6000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 115 (0x73): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ******* | + | ********* | + | *** *** | + | ** | + | *** | + | ******** | + | ******** | + | *** | + | ** | + | ** | + | *** *** | + | ********* | + | ******* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1fc0, +0x3fe0, +0x7070, +0x6000, +0x7000, +0x3fc0, +0x1fe0, +0x0070, +0x0030, +0x0030, +0x7070, +0x3fe0, +0x1fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 116 (0x74): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ******** | + | ******** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ****** | + | ***** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x3fc0, +0x3fc0, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x07e0, +0x03e0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 117 (0x75): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** ** | + | ********** | + | ********* | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7030, +0x3ff0, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 118 (0x76): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x6030, +0x6030, +0x6030, +0x3060, +0x3060, +0x3060, +0x18c0, +0x18c0, +0x18c0, +0x0d80, +0x0d80, +0x0700, +0x0700, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 119 (0x77): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | ** ** ** | + | *** ** *** | + | ********** | + | ******** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x6018, +0x6018, +0x6018, +0x6018, +0x6318, +0x6318, +0x6318, +0x6318, +0x6318, +0x6318, +0x7338, +0x3ff0, +0x1fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 120 (0x78): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** | + | ** ** | + | *** *** | + | *** *** | + | *** *** | + | ***** | + | *** | + | ***** | + | *** *** | + | *** *** | + | *** *** | + | ** ** | + | ** ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x6030, +0x6030, +0x7070, +0x38e0, +0x1dc0, +0x0f80, +0x0700, +0x0f80, +0x1dc0, +0x38e0, +0x7070, +0x6030, +0x6030, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 121 (0x79): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | ** ** | + | *** ** | + | ********** | + | ********* | + | ** | + | ** | + | *** | + | ********* | + | ******** | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x6030, +0x7030, +0x3ff0, +0x1ff0, +0x0030, +0x0030, +0x0070, +0x3fe0, +0x3fc0, +0x0000, + +/* Character 122 (0x7a): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *********** | + | *********** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *********** | + | *********** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff0, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0700, +0x0e00, +0x1c00, +0x3800, +0x7000, +0x7ff0, +0x7ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 123 (0x7b): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | *** | + | **** | + | *** | + | ** | + | ** | + | ** | + | ** | + | ** | + | *** | + | *** | + | ** | + | ** | + | ** | + | ** | + | ** | + | *** | + | **** | + | *** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x01c0, +0x03c0, +0x0700, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x1c00, +0x1c00, +0x0600, +0x0600, +0x0600, +0x0600, +0x0600, +0x0700, +0x03c0, +0x01c0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 124 (0x7c): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | ** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 125 (0x7d): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | | + | | + | *** | + | **** | + | *** | + | ** | + | ** | + | ** | + | ** | + | ** | + | *** | + | *** | + | ** | + | ** | + | ** | + | ** | + | ** | + | *** | + | **** | + | *** | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1c00, +0x1e00, +0x0700, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x01c0, +0x01c0, +0x0300, +0x0300, +0x0300, +0x0300, +0x0300, +0x0700, +0x1e00, +0x1c00, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 126 (0x7e): + width 14 + bbx ( 14, 28, 0, -6 ) + + +--------------+ + | | + | | + | **** ** | + | ****** ** | + | ** *** ** | + | ** ****** | + | ** **** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +--------------+ +*/ +0x0000, +0x0000, +0x3c30, +0x7e30, +0x6730, +0x63f0, +0x61e0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +}; + +/* Exported structure definition. */ +static const FontDesc stella14x28tDesc = { + "ter-u28b", + 14, + 28, + 14, 28, 0, -6, + 22, + 29, + 98, + stella14x28t_font_bits, + 0, /* no encode table*/ + 0, /* fixed width*/ + 0, /* fixed bbox*/ + 32, + sizeof(stella14x28t_font_bits)/sizeof(uInt16) +}; + +} // End of namespace GUI + +#endif diff --git a/src/gui/Stella16x32tFont.hxx b/src/gui/Stella16x32tFont.hxx new file mode 100644 index 000000000..0f74d3b4e --- /dev/null +++ b/src/gui/Stella16x32tFont.hxx @@ -0,0 +1,7121 @@ +//============================================================================ +// +// SSSS tt lll lll +// SS SS tt ll ll +// SS tttttt eeee ll ll aaaa +// SSSS tt ee ee ll ll aa +// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator" +// SS SS tt ee ll ll aa aa +// SSSS ttt eeeee llll llll aaaaa +// +// Copyright (c) 1995-2020 by Bradford W. Mott, Stephen Anthony +// and the Stella Team +// +// See the file "License.txt" for information on usage and redistribution of +// this file, and for a DISCLAIMER OF ALL WARRANTIES. +// +// Generated by src/tools/convbdf on Sun Mar 15 08:41:32 2020. +//============================================================================ + +#ifndef STELLA16X32T_FONT_DATA_HXX +#define STELLA16X32T_FONT_DATA_HXX + +#include "Font.hxx" + +/* Font information: + name: ter-u32b + facename: -xos4-Terminus-Bold-R-Normal--32-320-72-72-C-160-ISO10646-1 + w x h: 16x32 + bbx: 16 32 0 -6 + size: 95 + ascent: 26 + descent: 6 + first char: 32 (0x20) + last char: 126 (0x7e) + default char: 32 (0x20) + proportional: no + Copyright (C) 2014 Dimitar Toshkov Zhekov +*/ + +namespace GUI { + +// Font character bitmap data. +static const uInt16 stella16x32t_font_bits[] = { // NOLINT : too complicated to convert + +/* Character 29 (0x1d): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0b0011100111001110, +0b0011100111001110, +0b0011100111001110, +0b0011100111001110, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 30 (0x1e): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 31 (0x1f): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 32 (0x20): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 33 (0x21): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 34 (0x22): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1c70, +0x1c70, +0x1c70, +0x1c70, +0x1c70, +0x1c70, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 35 (0x23): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ************* | + | ************* | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ************* | + | ************* | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1c70, +0x1c70, +0x1c70, +0x1c70, +0x1c70, +0x7ffc, +0x7ffc, +0x1c70, +0x1c70, +0x1c70, +0x1c70, +0x1c70, +0x1c70, +0x7ffc, +0x7ffc, +0x1c70, +0x1c70, +0x1c70, +0x1c70, +0x1c70, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 36 (0x24): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | *** | + | *** | + | *** | + | ********* | + | *********** | + | **** *** **** | + | *** *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** *** | + | ********** | + | ********** | + | *** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** *** | + | **** *** **** | + | *********** | + | ********* | + | *** | + | *** | + | *** | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x1ff0, +0x3ff8, +0x7bbc, +0x739c, +0x7380, +0x7380, +0x7380, +0x7b80, +0x3ff0, +0x1ff8, +0x03bc, +0x039c, +0x039c, +0x039c, +0x739c, +0x7bbc, +0x3ff8, +0x1ff0, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 37 (0x25): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ***** *** | + | ******* *** | + | *** *** *** | + | *** *** *** | + | ********** | + | ***** *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** ***** | + | ********** | + | *** *** *** | + | *** *** *** | + | *** ******* | + | *** ***** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1f1c, +0x3f9c, +0x3bb8, +0x3bb8, +0x3ff0, +0x1f70, +0x00e0, +0x00e0, +0x01c0, +0x01c0, +0x0380, +0x0380, +0x0700, +0x0700, +0x0ef8, +0x0ffc, +0x1ddc, +0x1ddc, +0x39fc, +0x38f8, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 38 (0x26): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ****** | + | ******** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ****** | + | ***** | + | ******* *** | + | *** *** *** | + | *** ***** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** ***** | + | ********* *** | + | ******* *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0fc0, +0x1fe0, +0x3870, +0x3870, +0x3870, +0x3870, +0x3870, +0x1ce0, +0x0fc0, +0x0f80, +0x1fce, +0x38ee, +0x707c, +0x7038, +0x7038, +0x7038, +0x7038, +0x787c, +0x3fee, +0x1fce, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 39 (0x27): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 40 (0x28): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x00e0, +0x01c0, +0x0380, +0x0700, +0x0700, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0700, +0x0700, +0x0380, +0x01c0, +0x00e0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 41 (0x29): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0e00, +0x0700, +0x0380, +0x01c0, +0x01c0, +0x00e0, +0x00e0, +0x00e0, +0x00e0, +0x00e0, +0x00e0, +0x00e0, +0x00e0, +0x00e0, +0x00e0, +0x01c0, +0x01c0, +0x0380, +0x0700, +0x0e00, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 42 (0x2a): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | ***** | + | *** | + | ************* | + | ************* | + | *** | + | ***** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x3838, +0x1c70, +0x0ee0, +0x07c0, +0x0380, +0x7ffc, +0x7ffc, +0x0380, +0x07c0, +0x0ee0, +0x1c70, +0x3838, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 43 (0x2b): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | ************* | + | ************* | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x7ffc, +0x7ffc, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 44 (0x2c): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0700, +0x0e00, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 45 (0x2d): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ************* | + | ************* | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ffc, +0x7ffc, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 46 (0x2e): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 47 (0x2f): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x001c, +0x001c, +0x0038, +0x0038, +0x0070, +0x0070, +0x00e0, +0x00e0, +0x01c0, +0x01c0, +0x0380, +0x0380, +0x0700, +0x0700, +0x0e00, +0x0e00, +0x1c00, +0x1c00, +0x3800, +0x3800, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 48 (0x30): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** **** | + | *** ***** | + | *** ****** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | ****** *** | + | ***** *** | + | **** *** | + | *** *** | + | *** *** | + | *** *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x703c, +0x707c, +0x70fc, +0x71dc, +0x739c, +0x771c, +0x7e1c, +0x7c1c, +0x781c, +0x701c, +0x701c, +0x701c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 49 (0x31): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | **** | + | ***** | + | ****** | + | ****** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ********* | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0780, +0x0f80, +0x1f80, +0x1f80, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x1ff0, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 50 (0x32): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ************* | + | ************* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x701c, +0x701c, +0x001c, +0x0038, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0700, +0x0e00, +0x1c00, +0x3800, +0x7000, +0x7ffc, +0x7ffc, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 51 (0x33): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** | + | *** | + | *** | + | **** | + | ********* | + | ********* | + | **** | + | *** | + | *** | + | *** | + | *** *** | + | *** *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x001c, +0x001c, +0x001c, +0x003c, +0x0ff8, +0x0ff8, +0x003c, +0x001c, +0x001c, +0x001c, +0x701c, +0x701c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 52 (0x34): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | **** | + | ***** | + | ****** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ************* | + | ************* | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x001c, +0x003c, +0x007c, +0x00fc, +0x01dc, +0x039c, +0x071c, +0x0e1c, +0x1c1c, +0x381c, +0x701c, +0x701c, +0x701c, +0x7ffc, +0x7ffc, +0x001c, +0x001c, +0x001c, +0x001c, +0x001c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 53 (0x35): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ************* | + | ************* | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *********** | + | ************ | + | **** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** *** | + | **** *** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ffc, +0x7ffc, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7ff0, +0x7ff8, +0x003c, +0x001c, +0x001c, +0x001c, +0x001c, +0x001c, +0x701c, +0x781c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 54 (0x36): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********** | + | *********** | + | **** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *********** | + | ************ | + | *** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff8, +0x3ff8, +0x7800, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7ff0, +0x7ff8, +0x703c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 55 (0x37): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ************* | + | ************* | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ffc, +0x7ffc, +0x701c, +0x701c, +0x701c, +0x7038, +0x0038, +0x0070, +0x0070, +0x00e0, +0x00e0, +0x01c0, +0x01c0, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 56 (0x38): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** **** | + | *********** | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x783c, +0x3ff8, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 57 (0x39): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** *** | + | ************ | + | *********** | + | *** | + | *** | + | *** | + | *** | + | *** | + | **** | + | *********** | + | ********** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x781c, +0x3ffc, +0x1ffc, +0x001c, +0x001c, +0x001c, +0x001c, +0x001c, +0x003c, +0x3ff8, +0x3ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 58 (0x3a): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 59 (0x3b): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0700, +0x0e00, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 60 (0x3c): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x001c, +0x0038, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0700, +0x0e00, +0x1c00, +0x3800, +0x3800, +0x1c00, +0x0e00, +0x0700, +0x0380, +0x01c0, +0x00e0, +0x0070, +0x0038, +0x001c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 61 (0x3d): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ************* | + | ************* | + | | + | | + | | + | | + | ************* | + | ************* | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ffc, +0x7ffc, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ffc, +0x7ffc, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 62 (0x3e): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x3800, +0x1c00, +0x0e00, +0x0700, +0x0380, +0x01c0, +0x00e0, +0x0070, +0x0038, +0x001c, +0x001c, +0x0038, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0700, +0x0e00, +0x1c00, +0x3800, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 63 (0x3f): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x701c, +0x701c, +0x0038, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 64 (0x40): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********** | + | ************ | + | **** *** | + | *** ** | + | *** ******** | + | *** ********* | + | *** **** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** **** **** | + | *** ********* | + | *** ***** ** | + | *** | + | **** | + | ************* | + | ************ | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff8, +0x3ffc, +0x780e, +0x7006, +0x71fe, +0x73fe, +0x778e, +0x770e, +0x770e, +0x770e, +0x770e, +0x770e, +0x770e, +0x779e, +0x73fe, +0x71f6, +0x7000, +0x7800, +0x3ffe, +0x1ffe, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 65 (0x41): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ************* | + | ************* | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x7ffc, +0x7ffc, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 66 (0x42): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *********** | + | ************ | + | *** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *********** | + | *********** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** **** | + | ************ | + | *********** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff8, +0x703c, +0x701c, +0x701c, +0x701c, +0x701c, +0x7038, +0x7ff0, +0x7ff0, +0x7038, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x703c, +0x7ff8, +0x7ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 67 (0x43): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** *** | + | *** *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x701c, +0x701c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 68 (0x44): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | *** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7fc0, +0x7ff0, +0x7078, +0x7038, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x7038, +0x7078, +0x7ff0, +0x7fc0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 69 (0x45): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ************* | + | ************* | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ********** | + | ********** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ************* | + | ************* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ffc, +0x7ffc, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7fe0, +0x7fe0, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7ffc, +0x7ffc, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 70 (0x46): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ************* | + | ************* | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ********** | + | ********** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ffc, +0x7ffc, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7fe0, +0x7fe0, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 71 (0x47): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** | + | *** | + | *** | + | *** | + | *** ******* | + | *** ******* | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x7000, +0x7000, +0x7000, +0x7000, +0x71fc, +0x71fc, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 72 (0x48): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ************* | + | ************* | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x7ffc, +0x7ffc, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 73 (0x49): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ******* | + | ******* | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ******* | + | ******* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0fe0, +0x0fe0, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0fe0, +0x0fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 74 (0x4a): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ******* | + | ******* | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** *** | + | *** *** | + | *** *** | + | **** **** | + | ********** | + | ******** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x00fe, +0x00fe, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x7038, +0x7038, +0x7038, +0x7878, +0x3ff0, +0x1fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 75 (0x4b): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** ** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ****** | + | ***** | + | ***** | + | ****** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** ** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x700c, +0x701c, +0x7038, +0x7070, +0x70e0, +0x71c0, +0x7380, +0x7700, +0x7e00, +0x7c00, +0x7c00, +0x7e00, +0x7700, +0x7380, +0x71c0, +0x70e0, +0x7070, +0x7038, +0x701c, +0x700c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 76 (0x4c): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ************* | + | ************* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7ffc, +0x7ffc, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 77 (0x4d): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | **** **** | + | ***** ***** | + | ****** ****** | + | ****** ****** | + | *** ****** *** | + | *** **** *** | + | *** **** *** | + | *** ** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x700e, +0x700e, +0x781e, +0x7c3e, +0x7e7e, +0x7e7e, +0x77ee, +0x73ce, +0x73ce, +0x718e, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 78 (0x4e): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** *** | + | ***** *** | + | ****** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** ****** | + | *** ***** | + | *** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x781c, +0x7c1c, +0x7e1c, +0x771c, +0x739c, +0x71dc, +0x70fc, +0x707c, +0x703c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 79 (0x4f): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 80 (0x50): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *********** | + | ************ | + | *** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** **** | + | ************ | + | *********** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff8, +0x703c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x703c, +0x7ff8, +0x7ff0, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 81 (0x51): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** *** | + | **** ******* | + | *********** | + | ********* | + | *** | + | *** | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x739c, +0x79fc, +0x3ff8, +0x1ff0, +0x0038, +0x001c, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 82 (0x52): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *********** | + | ************ | + | *** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** **** | + | ************ | + | *********** | + | ****** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff8, +0x703c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x703c, +0x7ff8, +0x7ff0, +0x7e00, +0x7700, +0x7380, +0x71c0, +0x70e0, +0x7070, +0x7038, +0x701c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 83 (0x53): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** | + | *** | + | *** | + | **** | + | ********** | + | ********** | + | **** | + | *** | + | *** | + | *** | + | *** *** | + | *** *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x7000, +0x7000, +0x7000, +0x7800, +0x3ff0, +0x1ff8, +0x003c, +0x001c, +0x001c, +0x001c, +0x701c, +0x701c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 84 (0x54): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ************* | + | ************* | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ffc, +0x7ffc, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 85 (0x55): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 86 (0x56): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ***** | + | ***** | + | ***** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x3838, +0x3838, +0x3838, +0x3838, +0x3838, +0x1c70, +0x1c70, +0x1c70, +0x1c70, +0x0ee0, +0x0ee0, +0x0ee0, +0x07c0, +0x07c0, +0x07c0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 87 (0x57): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** ** *** | + | *** **** *** | + | *** **** *** | + | *** ****** *** | + | ****** ****** | + | ****** ****** | + | ***** ***** | + | **** **** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x700e, +0x718e, +0x73ce, +0x73ce, +0x77ee, +0x7e7e, +0x7e7e, +0x7c3e, +0x781e, +0x700e, +0x700e, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 88 (0x58): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ***** | + | ***** | + | ***** | + | ***** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x701c, +0x701c, +0x3838, +0x3838, +0x1c70, +0x1c70, +0x0ee0, +0x0ee0, +0x07c0, +0x07c0, +0x07c0, +0x07c0, +0x0ee0, +0x0ee0, +0x1c70, +0x1c70, +0x3838, +0x3838, +0x701c, +0x701c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 89 (0x59): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ***** | + | ***** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x701c, +0x701c, +0x701c, +0x3838, +0x3838, +0x1c70, +0x1c70, +0x0ee0, +0x0ee0, +0x07c0, +0x07c0, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 90 (0x5a): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ************* | + | ************* | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ************* | + | ************* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ffc, +0x7ffc, +0x001c, +0x001c, +0x001c, +0x0038, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0700, +0x0e00, +0x1c00, +0x3800, +0x7000, +0x7000, +0x7000, +0x7000, +0x7ffc, +0x7ffc, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 91 (0x5b): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ******** | + | ******** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ******** | + | ******** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0ff0, +0x0ff0, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0e00, +0x0ff0, +0x0ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 92 (0x5c): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x3800, +0x3800, +0x1c00, +0x1c00, +0x0e00, +0x0e00, +0x0700, +0x0700, +0x0380, +0x0380, +0x01c0, +0x01c0, +0x00e0, +0x00e0, +0x0070, +0x0070, +0x0038, +0x0038, +0x001c, +0x001c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 93 (0x5d): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ******** | + | ******** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ******** | + | ******** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0ff0, +0x0ff0, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0070, +0x0ff0, +0x0ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 94 (0x5e): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | *** | + | ***** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x07c0, +0x0ee0, +0x1c70, +0x3838, +0x701c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 95 (0x5f): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ************* | + | ************* | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ffc, +0x7ffc, +0x0000, +0x0000, +0x0000, + +/* Character 96 (0x60): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x1c00, +0x0e00, +0x0700, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 97 (0x61): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********** | + | *********** | + | **** | + | *** | + | *** | + | *********** | + | ************ | + | **** *** | + | *** *** | + | *** *** | + | *** *** | + | **** *** | + | ************ | + | *********** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x3ff0, +0x3ff8, +0x003c, +0x001c, +0x001c, +0x1ffc, +0x3ffc, +0x781c, +0x701c, +0x701c, +0x701c, +0x781c, +0x3ffc, +0x1ffc, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 98 (0x62): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *********** | + | ************ | + | *** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** **** | + | ************ | + | *********** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7ff0, +0x7ff8, +0x703c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x703c, +0x7ff8, +0x7ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 99 (0x63): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x701c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 100 (0x64): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *********** | + | ************ | + | **** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** *** | + | ************ | + | *********** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x001c, +0x001c, +0x001c, +0x001c, +0x001c, +0x001c, +0x1ffc, +0x3ffc, +0x781c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x781c, +0x3ffc, +0x1ffc, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 101 (0x65): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** *** | + | ************* | + | ************* | + | *** | + | *** | + | *** | + | **** *** | + | ************ | + | ********** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x701c, +0x7ffc, +0x7ffc, +0x7000, +0x7000, +0x7000, +0x781c, +0x3ffc, +0x1ff8, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 102 (0x66): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ******* | + | ******** | + | **** | + | *** | + | *** | + | *** | + | *********** | + | *********** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x00fe, +0x01fe, +0x03c0, +0x0380, +0x0380, +0x0380, +0x3ff8, +0x3ff8, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 103 (0x67): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *********** | + | ************ | + | **** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** *** | + | ************ | + | *********** | + | *** | + | *** | + | *** | + | *********** | + | ********** | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ffc, +0x3ffc, +0x781c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x781c, +0x3ffc, +0x1ffc, +0x001c, +0x001c, +0x001c, +0x3ff8, +0x3ff0, +0x0000, + +/* Character 104 (0x68): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *********** | + | ************ | + | *** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7ff0, +0x7ff8, +0x703c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 105 (0x69): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | | + | | + | ***** | + | ***** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ******* | + | ******* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0f80, +0x0f80, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0fe0, +0x0fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 106 (0x6a): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | | + | | + | ***** | + | ***** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** *** | + | *** *** | + | **** **** | + | ********* | + | ******* | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0038, +0x0038, +0x0038, +0x0038, +0x0000, +0x0000, +0x00f8, +0x00f8, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x0038, +0x3838, +0x3838, +0x3c78, +0x1ff0, +0x0fe0, +0x0000, + +/* Character 107 (0x6b): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ****** | + | ****** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x3800, +0x3800, +0x3800, +0x3800, +0x3800, +0x3800, +0x381c, +0x3838, +0x3870, +0x38e0, +0x39c0, +0x3b80, +0x3f00, +0x3f00, +0x3b80, +0x39c0, +0x38e0, +0x3870, +0x3838, +0x381c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 108 (0x6c): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ***** | + | ***** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ******* | + | ******* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0f80, +0x0f80, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0fe0, +0x0fe0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 109 (0x6d): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *********** | + | ************ | + | *** *** **** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff8, +0x73bc, +0x739c, +0x739c, +0x739c, +0x739c, +0x739c, +0x739c, +0x739c, +0x739c, +0x739c, +0x739c, +0x739c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 110 (0x6e): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *********** | + | ************ | + | *** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff8, +0x703c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 111 (0x6f): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 112 (0x70): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *********** | + | ************ | + | *** **** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** **** | + | ************ | + | *********** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ff0, +0x7ff8, +0x703c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x703c, +0x7ff8, +0x7ff0, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x0000, + +/* Character 113 (0x71): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *********** | + | ************ | + | **** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** *** | + | ************ | + | *********** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ffc, +0x3ffc, +0x781c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x781c, +0x3ffc, +0x1ffc, +0x001c, +0x001c, +0x001c, +0x001c, +0x001c, +0x0000, + +/* Character 114 (0x72): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** ******** | + | *** ********* | + | ****** | + | ***** | + | **** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x73fc, +0x77fc, +0x7e00, +0x7c00, +0x7800, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x7000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 115 (0x73): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ********* | + | *********** | + | **** **** | + | *** | + | *** | + | **** | + | ********** | + | ********** | + | **** | + | *** | + | *** | + | **** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x1ff0, +0x3ff8, +0x783c, +0x7000, +0x7000, +0x7800, +0x3ff0, +0x1ff8, +0x003c, +0x001c, +0x001c, +0x783c, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 116 (0x74): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *********** | + | *********** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | **** | + | ******** | + | ******* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0700, +0x0700, +0x0700, +0x0700, +0x0700, +0x0700, +0x7ff0, +0x7ff0, +0x0700, +0x0700, +0x0700, +0x0700, +0x0700, +0x0700, +0x0700, +0x0700, +0x0700, +0x0780, +0x03fc, +0x01fc, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 117 (0x75): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** *** | + | ************ | + | *********** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x781c, +0x3ffc, +0x1ffc, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 118 (0x76): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ***** | + | ***** | + | ***** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x701c, +0x701c, +0x701c, +0x3838, +0x3838, +0x3838, +0x1c70, +0x1c70, +0x1c70, +0x0ee0, +0x0ee0, +0x07c0, +0x07c0, +0x07c0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 119 (0x77): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | *** *** *** | + | **** *** **** | + | *********** | + | ********* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x701c, +0x701c, +0x701c, +0x701c, +0x739c, +0x739c, +0x739c, +0x739c, +0x739c, +0x739c, +0x739c, +0x7bbc, +0x3ff8, +0x1ff0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 120 (0x78): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | ***** | + | ***** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x701c, +0x701c, +0x701c, +0x3838, +0x1c70, +0x0ee0, +0x07c0, +0x07c0, +0x0ee0, +0x1c70, +0x3838, +0x701c, +0x701c, +0x701c, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 121 (0x79): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | *** *** | + | **** *** | + | ************ | + | *********** | + | *** | + | *** | + | **** | + | *********** | + | ********** | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x701c, +0x781c, +0x3ffc, +0x1ffc, +0x001c, +0x001c, +0x003c, +0x3ff8, +0x3ff0, +0x0000, + +/* Character 122 (0x7a): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | ************* | + | ************* | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ************* | + | ************* | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x7ffc, +0x7ffc, +0x0038, +0x0070, +0x00e0, +0x01c0, +0x0380, +0x0700, +0x0e00, +0x1c00, +0x3800, +0x7000, +0x7ffc, +0x7ffc, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 123 (0x7b): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ***** | + | ****** | + | **** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ***** | + | ***** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | **** | + | ****** | + | ***** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x01f0, +0x03f0, +0x0780, +0x0700, +0x0700, +0x0700, +0x0700, +0x0700, +0x0700, +0x3e00, +0x3e00, +0x0700, +0x0700, +0x0700, +0x0700, +0x0700, +0x0700, +0x0780, +0x03f0, +0x01f0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 124 (0x7c): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 125 (0x7d): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | | + | | + | ***** | + | ****** | + | **** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | ***** | + | ***** | + | *** | + | *** | + | *** | + | *** | + | *** | + | *** | + | **** | + | ****** | + | ***** | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x3e00, +0x3f00, +0x0780, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x01f0, +0x01f0, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0380, +0x0780, +0x3f00, +0x3e00, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, + +/* Character 126 (0x7e): + width 16 + bbx ( 16, 32, 0, -6 ) + + +----------------+ + | | + | | + | | + | | + | **** *** | + | ****** *** | + | *** **** *** | + | *** **** *** | + | *** ****** | + | *** **** | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + | | + +----------------+ +*/ +0x0000, +0x0000, +0x0000, +0x0000, +0x1e1c, +0x3f1c, +0x779c, +0x73dc, +0x71f8, +0x70f0, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +0x0000, +}; + +/* Exported structure definition. */ +static const FontDesc stella16x32tDesc = { + "ter-u32b", + 16, + 32, + 16, 32, 0, -6, + 26, + 29, + 98, + stella16x32t_font_bits, + 0, /* no encode table*/ + 0, /* fixed width*/ + 0, /* fixed bbox*/ + 32, + sizeof(stella16x32t_font_bits)/sizeof(uInt16) +}; + +} // End of namespace GUI + +#endif diff --git a/src/gui/UIDialog.cxx b/src/gui/UIDialog.cxx index 287659912..175b8624b 100644 --- a/src/gui/UIDialog.cxx +++ b/src/gui/UIDialog.cxx @@ -216,10 +216,13 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent, // Launcher font pwidth = font.getStringWidth("2x (1000x760)"); items.clear(); - VarList::push_back(items, "Small", "small"); - VarList::push_back(items, "Small Medium", "small_medium"); - VarList::push_back(items, "Medium", "medium"); - VarList::push_back(items, "Large", "large"); + VarList::push_back(items, "Small", "small"); // 8x13 + VarList::push_back(items, "Low Medium", "low_medium"); // 9x15 + VarList::push_back(items, "Medium", "medium"); // 9x18 + VarList::push_back(items, "Large (10pt)", "large"); // 10x20 + VarList::push_back(items, "Large (12pt)", "large12"); // 12x24 + VarList::push_back(items, "Large (14pt)", "large14"); // 14x28 + VarList::push_back(items, "Large (16pt)", "large16"); // 16x32 myLauncherFontPopup = new PopUpWidget(myTab, font, xpos, ypos + 1, pwidth, lineHeight, items, "Launcher font ", lwidth); diff --git a/src/tools/convbdf.c b/src/tools/convbdf.c index c82dfa307..d6c661567 100644 --- a/src/tools/convbdf.c +++ b/src/tools/convbdf.c @@ -980,7 +980,7 @@ int gen_c_source(struct font* pf, char *path) fontname); fprintf(ofp, "\n} // End of namespace GUI\n\n#endif\n"); - fcloise(ofp); + fclose(ofp); return 0; } diff --git a/src/unix/r77/SettingsR77.cxx b/src/unix/r77/SettingsR77.cxx index c3f0d61fd..2b3dc0525 100644 --- a/src/unix/r77/SettingsR77.cxx +++ b/src/unix/r77/SettingsR77.cxx @@ -50,7 +50,7 @@ SettingsR77::SettingsR77() setPermanent("snaploaddir", "/mnt/stella/snapshots"); setPermanent("launcherres", "1280x720"); - setPermanent("launcherfont", "large"); + setPermanent("launcherfont", "large12"); setPermanent("romviewer", "1.6"); setPermanent("exitlauncher", "true"); From 1d1460924a8a1260c2bf2601a96edbf68ecb27bf Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Sun, 15 Mar 2020 14:02:52 -0230 Subject: [PATCH 13/80] Fixed minor compile warnings, including incorrect output from convbdf tool. --- src/gui/LauncherDialog.cxx | 2 +- src/gui/Stella14x28tFont.hxx | 6 +++--- src/gui/Stella16x32tFont.hxx | 6 +++--- src/tools/convbdf.c | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index 7a58e215d..c33832ce9 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -384,7 +384,7 @@ void LauncherDialog::setRomInfoFont(const Common::Size& area) }; // Try to pick a font that works best, based on the available area - for(int i = 0; i < sizeof(FONTS) / sizeof(FontDesc); ++i) + for(size_t i = 0; i < sizeof(FONTS) / sizeof(FontDesc); ++i) { // only use fonts <= launcher fonts if(instance().frameBuffer().launcherFont().getFontHeight() >= FONTS[i].height) diff --git a/src/gui/Stella14x28tFont.hxx b/src/gui/Stella14x28tFont.hxx index 28151f725..2ce818d7c 100644 --- a/src/gui/Stella14x28tFont.hxx +++ b/src/gui/Stella14x28tFont.hxx @@ -6325,9 +6325,9 @@ static const FontDesc stella14x28tDesc = { 29, 98, stella14x28t_font_bits, - 0, /* no encode table*/ - 0, /* fixed width*/ - 0, /* fixed bbox*/ + nullptr, /* no encode table*/ + nullptr, /* fixed width*/ + nullptr, /* fixed bbox*/ 32, sizeof(stella14x28t_font_bits)/sizeof(uInt16) }; diff --git a/src/gui/Stella16x32tFont.hxx b/src/gui/Stella16x32tFont.hxx index 0f74d3b4e..15c1e7b4c 100644 --- a/src/gui/Stella16x32tFont.hxx +++ b/src/gui/Stella16x32tFont.hxx @@ -7109,9 +7109,9 @@ static const FontDesc stella16x32tDesc = { 29, 98, stella16x32t_font_bits, - 0, /* no encode table*/ - 0, /* fixed width*/ - 0, /* fixed bbox*/ + nullptr, /* no encode table*/ + nullptr, /* fixed width*/ + nullptr, /* fixed bbox*/ 32, sizeof(stella16x32t_font_bits)/sizeof(uInt16) }; diff --git a/src/tools/convbdf.c b/src/tools/convbdf.c index d6c661567..992095600 100644 --- a/src/tools/convbdf.c +++ b/src/tools/convbdf.c @@ -936,17 +936,17 @@ int gen_c_source(struct font* pf, char *path) if (pf->offset) sprintf(obuf, "%s_sysfont_offset,", fontname); else - sprintf(obuf, "0, /* no encode table*/"); + sprintf(obuf, "nullptr, /* no encode table*/"); if (pf->width) sprintf(buf, "%s_sysfont_width,", fontname); else - sprintf(buf, "0, /* fixed width*/"); + sprintf(buf, "nullptr, /* fixed width*/"); if (pf->bbx) sprintf(bbuf, "%s_sysfont_bbx,", fontname); else - sprintf(bbuf, "0, /* fixed bbox*/"); + sprintf(bbuf, "nullptr, /* fixed bbox*/"); fprintf(ofp, "/* Exported structure definition. */\n" From ffef620e27c49b2bbeef18e191281bf097968963 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 15 Mar 2020 19:15:27 +0100 Subject: [PATCH 14/80] doc and usage() update for new launcher font sizes --- docs/index.html | 2 +- src/emucore/Settings.cxx | 24 +++++++++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/docs/index.html b/docs/index.html index 2f750bde9..7fd6920fc 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2371,7 +2371,7 @@ -
-launcherfont <small|small_medium|medium|large>
+
-launcherfont <small|low_medium|medium|large|large12|large14|large16>
Set the size of the font in the ROM launcher. diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index e46b192a3..eabe55dbf 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -410,7 +410,7 @@ void Settings::usage() const << " -tia.inter <1|0> Enable interpolated (smooth) scaling for TIA\n" << " image\n" << " -tia.fs_stretch <1|0> Stretch TIA image to fill fullscreen mode\n" - << " -tia.fs_overscan <0-10> Add overscan to TIA image in fill fullscreen mode\n" + << " -tia.fs_overscan <0-10> Add overscan to TIA image in fullscreen mode\n" << " -tia.dbgcolors Debug colors to use for each object (see manual\n" << " for description)\n" << endl @@ -467,23 +467,27 @@ void Settings::usage() const << " -ssinterval Number of seconds between snapshots in\n" << " continuous snapshot mode\n" << endl - << " -saveonexit \n" + << " -saveonexit emulation\n" << " -autoslot <1|0> Automatically change to next save slot when\n" << " state saving\n" << endl << " -rominfo Display detailed information for the given ROM\n" << " -listrominfo Display contents of stella.pro, one line per ROM\n" << " entry\n" - << " \n" + << endl << " -exitlauncher <1|0> On exiting a ROM, go back to the ROM launcher\n" << " -launcherres The resolution to use in ROM launcher mode\n" - << " -launcherfont \n" + << " -launcherfont \n" << " -launcherroms <1|0> Show only ROMs in the launcher (vs. all files)\n" << " -romviewer Show ROM info viewer at given zoom level in ROM\n" << " launcher (use 0 for off)\n" - << " -lastrom Last played ROM, automatically selected in launcher\n" + << " -lastrom Last played ROM, automatically selected in\n" + << " launcher\n" << " -romloadcount Number of ROM to load next from multicard\n" << " -uipalette \n" @@ -496,9 +500,11 @@ void Settings::usage() const << " UI\n" << " -mdouble Mouse double click speed in UI\n" << " -ctrldelay Delay before controller input is repeated in UI\n" - << " -ctrlrate Rate per second of repeated controller input in UI\n" + << " -ctrlrate Rate per second of repeated controller input in\n" + << " UI\n" << " -basic_settings <0|1> Display only a basic settings dialog\n" - << " -romdir Set the directory where the ROM launcher will start\n" + << " -romdir Set the directory where the ROM launcher will\n" + << " start\n" << " -avoxport The name of the serial port where an AtariVox is\n" << " connected\n" << " -holdreset Start the emulator with the Game Reset switch\n" From 1779845032ef45a2975e06a2f8f0843a2e5a0c71 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Sun, 15 Mar 2020 15:54:31 -0230 Subject: [PATCH 15/80] Make a few games that offer a choice of Joystick/Genesis to use Joystick by default. Remove redundant 'Display.Format' stuff from properties, since it can now be deduced from the ROM name. --- src/emucore/DefProps.hxx | 158 +++++++++++++++++++-------------------- src/emucore/stella.pro | 86 ++------------------- 2 files changed, 85 insertions(+), 159 deletions(-) diff --git a/src/emucore/DefProps.hxx b/src/emucore/DefProps.hxx index b0e4f9a34..0f112214a 100644 --- a/src/emucore/DefProps.hxx +++ b/src/emucore/DefProps.hxx @@ -69,7 +69,7 @@ static const BSPF::array2D DefProps = {{ { "033e21521e0bf4e54e8816873943406d", "20th Century Fox Video Games - Sirius Software, Dan Thompson", "11020", "Earth Dies Screaming, The (1983) (20th Century Fox)", "The Day the Earth Stood Still", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "034c1434280b0f2c9f229777d790d1e1", "Telegames", "5665 A016", "Baseball (1988) (Telegames) (PAL)", "AKA Super Challenge Baseball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0375f589f7da06d2d2be532e0d4d4b94", "", "", "Push (V0.04) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0383dc02cb82302da3d155fd108bfe3a", "AtariAge, Chris Spry", "CX26200", "Princess Rescue (2013) (Sprybug) (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "YES", "" }, + { "0383dc02cb82302da3d155fd108bfe3a", "AtariAge, Chris Spry", "CX26200", "Princess Rescue (2013) (Sprybug) (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, { "038e1e79c3d4410defde4bfe0b99cc32", "Atari, Tod Frye, Gary Shannon", "", "Aquaventure (08-12-1983) (Atari) (Prototype)", "AKA Sea Sentinel", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "039cf18b459d33b8a8fca31d06c4c244", "", "", "Demo Image Series #0 (12-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "03b1051c9374678363c899914412cfc5", "", "", "Incoming (30-10-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -110,7 +110,7 @@ static const BSPF::array2D DefProps = {{ { "0651216c4a4a9c9ac5ada3013a317c72", "Jone Yuan Telephonic Enterprise Co", "", "Fishing Derby (Jone Yuan) (4K) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "06742cf522f23797157f215a1dc8a1a9", "", "", "Healthbars (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0685bd0bcb975ceef7041749a5454a48", "Piero Cavina", "", "11 Sprite Demo (Piero Cavina) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "069c17beb1e8e0557adb8539fdcf6cba", "", "", "Phantom II & Pirate (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "069c17beb1e8e0557adb8539fdcf6cba", "", "", "Phantom II & Pirate (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "06b0194ce992584c365278e0d7323279", "Activision", "", "Unknown Activision Game #2 (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "06b6c5031b8353f3a424a5b86b8fe409", "Activision, Mike Lorenzen - Ariola", "EAX-023 - 711 023-720", "Oink! (1983) (Activision) (PAL)", "AKA Das Schweinchen und der Wolf", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "06cfd57f0559f38b9293adae9128ff88", "Telegames", "4317 A009", "Adventures on GX-12 (1988) (Telegames) (PAL)", "AKA Adventures of Tron", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -140,7 +140,7 @@ static const BSPF::array2D DefProps = {{ { "085322bae40d904f53bdcc56df0593fc", "Parker Brothers, Dave Engman, Dawn Stockbridge", "PB5340", "Tutankham (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0856f202b18cd46e44fd1dc3b42e9bfb", "", "", "Frame Counter 1 (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0866e22f6f56f92ea1a14c8d8d01d29c", "Androbot - Western Technologies, Michael Case, Lenny Carlson", "", "AndroMan on the Moon (1984) (Western Tech) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0891252ee4e307689febccf3cfd8a8ab", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "0891252ee4e307689febccf3cfd8a8ab", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0894aa7be77521f9df562be8d9555fe6", "CBS Electronics, Dan Kitchen, Garry Kitchen", "4L1700, 4L1701, 4L1702, 4L1802, 4L2274", "Donkey Kong (1982) (CBS Electronics) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "08989fa4ff537f5dbd611aff4019521a", "Atari, Gary Palmer", "CX26163P", "Fun with Numbers (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "08bd4c1dcc843f6a0b563d9fd80b3b11", "Quelle", "343.273 9", "Phantompanzer II (1983) (Quelle) (PAL)", "AKA Thunderground", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -148,7 +148,7 @@ static const BSPF::array2D DefProps = {{ { "08d1b6d75206edb999252caf542a2c7f", "Larry Petit", "", "Super Home Run (2003) (Larry Petit) (Hack)", "Hack of Home Run", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "08d60a58a691c7f690162850302dc0e1", "", "", "Poker Squares (V0.27) (PAL) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "08e5960bb52d9a3e2c9954677b5e4472", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (10-20-1982) (Atari) (Prototype)", "Uses the Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "08ea2fdaa22e5802c839ee7dfb0483dc", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.2 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "08ea2fdaa22e5802c839ee7dfb0483dc", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.2 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "08f4dc6f118f7c98e2406c180c08e78e", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Tug of War (2 of 3) (1983) (Arcadia) (PAL)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "02", "", "", "", "" }, { "08f853e8e01e711919e734d85349220d", "Atari, Jerome Domurat, Michael Sierchio", "CX2667", "RealSports Soccer (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0906c6e0e4bda9c10cfa4c5fc64d2f4b", "Retroactive", "", "Qb (V0.12) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, @@ -194,7 +194,7 @@ static const BSPF::array2D DefProps = {{ { "0c35806ff0019a270a7acae68de89d28", "Froggo", "FG1003", "Task Force (1987) (Froggo)", "AKA Gangster Alley", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0c48e820301251fbb6bcdc89bd3555d9", "Atari, Bill Aspromonte, Andrew Fuchs", "CX26120", "Stargate (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0c54811cf3b1f1573c9164d5f19eca65", "Activision, David Crane - Ariola", "EAG-001, PAG-001, EAG-001-04B, EAG-001-04I - 711 001-715", "Dragster (1980) (Activision) (PAL)", "AKA Dragster Rennen, Drag Strip", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0c72cc3a6658c1abd4b735ef55fa72e4", "Dion Olsthoorn", "v1.3", "Amoeba Jump (2018) (Dionoid) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "0c72cc3a6658c1abd4b735ef55fa72e4", "Dion Olsthoorn", "v1.3", "Amoeba Jump (2018) (Dionoid) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0c7926d660f903a2d6910c254660c32c", "Atari, Larry Kaplan", "CX2602, CX2602P", "Air-Sea Battle (1977) (Atari) (PAL)", "AKA Anti-Aircraft", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0c7bd935d9a7f2522155e48315f44fa0", "Carrere Video - Western Technologies, Jeff Corsiglia, Paul Allen Newell, Tom Sloper - Teldec - Prism", "USC1009", "Infernal Tower (1983) (Carrere Video) (PAL)", "AKA Towering Inferno", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "YES", "" }, { "0c80751f6f7a3b370cc9e9f39ad533a7", "Atari, Carla Meninsky", "CX2610", "Warlords (1981) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, @@ -202,7 +202,7 @@ static const BSPF::array2D DefProps = {{ { "0cc8224ff1edfe458e8629e9e5fe3f5b", "Thomas Jentzsch", "", "Trick 12 (2001) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0cdd9cc692e8b04ba8eb31fc31d72e5e", "Thomas Jentzsch", "", "Wing War (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0cebb0bb45a856b23f56d21ce7d1bc34", "20th Century Fox Video Games, Bill Aspromonte", "11131", "Crash Dive (1983) (20th Century Fox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0cec9e46a25d338bf595a29aa2606516", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Mouse Hack v1.1 (PAL60) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "0cec9e46a25d338bf595a29aa2606516", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Mouse Hack v1.1 (PAL60) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0cfdd2f3b243cac21f38a0f09f54bead", "", "", "Overhead Adventure Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0d07d2c1be1a5eaaea235a533bcda781", "", "", "Scrolling Playfield 1 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0d08558f34a47e4eaa39d01c8efb81f0", "Thomas Jentzsch", "", "Missile Control - Atari Mouse Hack v1.15 (NTSC) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -222,7 +222,7 @@ static const BSPF::array2D DefProps = {{ { "0e0808227ef41f6825c06f25082c2e56", "", "", "Candi (Hack) [a]", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0e08cd2c5bcf11c6a7e5a009a7715b6a", "", "", "Boing! (PD) [a1]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0e224ea74310da4e7e2103400eb1b4bf", "Atari, Peter C. Niday, Gary Shannon, Howard Scott Warshaw", "", "Mind Maze (10-10-1984) (Atari) (Prototype)", "Uses the MindLink controller", "Prototype", "", "", "", "", "", "", "", "", "MINDLINK", "", "", "", "", "", "" }, - { "0e23d0ed4c33b2011ab4cc93a7619683", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "0e23d0ed4c33b2011ab4cc93a7619683", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0e4b2b6e014a93ef8be896823da0d4ec", "", "", "Skiing (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0e713d4e272ea7322c5b27d645f56dd0", "Home Vision - Gem International Corp. - VDI", "VCS83105", "Panda Chase (1983) (Home Vision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0e7e73421606873b544e858c59dc283e", "Digivision", "", "Super Soccer (Digivision)", "AKA RealSports Soccer", "", "", "", "F8", "", "", "", "", "", "", "", "", "", "", "YES", "" }, @@ -246,7 +246,7 @@ static const BSPF::array2D DefProps = {{ { "0f8043715d66a4bbed394ef801d99862", "Quelle", "684.733 9", "Robin Hood (1983) (Quelle) (PAL)", "AKA Save Our Ship", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0f95264089c99fc2a839a19872552004", "Activision, David Crane", "AG-009, AG-009-04", "Freeway (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0fba7d8c3520bdb681f75494e498ec36", "", "", "Gunfight 2600 - Final Run (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0fbf618be43d4396856d4244126fe7dc", "Quelle", "805.784 6", "Labyrinth (1983) (Quelle) (PAL)", "AKA Maze Craze", "", "", "", "", "", "", "", "", "", "", "", "", "PAL", "", "", "" }, + { "0fbf618be43d4396856d4244126fe7dc", "Quelle", "805.784 6", "Labyrinth (1983) (Quelle) (PAL)", "AKA Maze Craze", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0fc161704c46e16f7483f92b06c1558d", "CCE", "C-853", "Spider Fighter (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0fcff6fe3b0769ad5d0cf82814d2a6d9", "Suntek", "SS-027", "Zoo Fun (1983) (Suntek) (PAL)", "AKA Panda Chase", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "0fd72a13b3b6103fc825a692c71963b4", "Imagic, Rob Fulop", "720104-2A, IA3204P, EIX-008-04I", "Cosmic Ark (1982) (Imagic) (PAL) [selectable starfield]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -255,7 +255,7 @@ static const BSPF::array2D DefProps = {{ { "102672bbd7e25cd79f4384dd7214c32b", "Atari, Alan Miller - Sears", "CX2642 - 6-99814", "Hunt & Score - Memory Match (1978) (Atari)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "103e9d616328969f5d7b4e0a381b25d5", "", "", "Playfield Illustration and Logo Demo (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "103f1756d9dc0dd2b16b53ad0f0f1859", "Home Vision, Gem International Corp.", "", "Go Go Home Monster (1983) (Home Vision) (PAL)", "AKA Go Go Home", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "104468e44898b8e9fa4a1500fde8d4cb", "AtariAge, Chris Spry", "CX26200", "Princess Rescue (2013) (Sprybug)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "104468e44898b8e9fa4a1500fde8d4cb", "AtariAge, Chris Spry", "CX26200", "Princess Rescue (2013) (Sprybug)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, { "106326c262dfd3e8eaeabd961d2a0519", "", "", "PAL-NTSC Detector (15-11-2002) (CT)[a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "106855474c69d08c8ffa308d47337269", "Atari - Sculptured Software, Adam Clayton", "CX26151", "Dark Chambers (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "107cc025334211e6d29da0b6be46aec7", "Atari, Bob Smith - Sears", "CX2648 - 49-75161", "Video Pinball (1981) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -351,7 +351,7 @@ static const BSPF::array2D DefProps = {{ { "16f494f20af5dc803bc35939ef924020", "Mark De Smet", "", "Video Simon (Mark De Smet)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "170e7589a48739cfb9cc782cbb0fe25a", "M Network - INTV - APh Technological Consulting, Hal Finney", "MT5666", "Astroblast (1982) (M Network) [fixed]", "Can also use left joystick", "Uncommon", "", "", "", "", "", "", "", "PADDLES", "", "YES", "AUTO 55", "", "", "", "" }, { "171cd6b55267573e6a9c2921fb720794", "Kurt Howe", "", "Adventure 34 (Kurt Howe) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "171ebf135b13ba907f462c10d88a2c25", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Amiga Mouse Hack v1.1 (PAL60) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "171ebf135b13ba907f462c10d88a2c25", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Amiga Mouse Hack v1.1 (PAL60) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1733772165d7b886a94e2b4ed0f74ccd", "", "", "Boring Journey Escape (Hack)", "Hack of Journey - Escape", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1738b2e3f25ab3eef3cecb95e1d0d957", "", "", "Hangman Monkey Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "17512d0c38f448712f49f36f9d185c4e", "Retroactive", "", "Qb (Release Candidate #1) (Retroactive)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, @@ -372,7 +372,7 @@ static const BSPF::array2D DefProps = {{ { "18a970bea7ac4d29707c8d5cd559d03a", "", "", "Bridge (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "18b28b386abdadb3a700ac8fb68e639a", "Manuel Polik", "", "Gunfight 2600 (MP) (PAL)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "18b476a34ce5e6db2c032029873ac39b", "Bit Corporation", "R320", "Atlantis (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "18be8981b8201638f3ed8ae92bb4c215", "Thomas Jentzsch", "", "Missile Control - Amiga Mouse Hack v1.15 (PAL60) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "18be8981b8201638f3ed8ae92bb4c215", "Thomas Jentzsch", "", "Missile Control - Amiga Mouse Hack v1.15 (PAL60) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "18bebbbd41c234f82b1717b1905e6027", "", "", "Space Instigators (Public Release) (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "18d26111cef66dff0c8af8cf0e117843", "", "", "Tunnel Demo (Cycling Colours 2) (29-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "18dc28bc22402f21e1c9b81344b3b8c5", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2684, CX2684P", "Galaxian (1983) (Atari) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -413,7 +413,7 @@ static const BSPF::array2D DefProps = {{ { "1bfae770e089fa81412d04eb299f4c3f", "Thomas Jentzsch", "", "Marble Craze - Atari Mouse Hack v1.0 (NTSC) (TJ)", "Uses Atari Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1c3f3133a3e5b023c77ecba94fd65995", "CCE", "C-830", "Planet Patrol (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1c5796d277d9e4df3f6648f7012884c4", "Rainbow Vision - Suntek", "SS-012", "Hey! Stop! (1983) (Rainbow Vision) (PAL)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1c666ba5aac19b81671357e76062989b", "Nukey Shay, Omegamatrix", "", "Double Dragon (Genesis) (PAL60) V2", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "1c666ba5aac19b81671357e76062989b", "Nukey Shay, Omegamatrix", "", "Double Dragon (Genesis) (PAL60) V2", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1c6eb740d3c485766cade566abab8208", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1c85c0fc480bbd69dc301591b6ecb422", "CCE", "", "Super Box (CCE)", "AKA RealSports Boxing", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1c8c42d1aee5010b30e7f1992d69216e", "PlayAround - J.H.M.", "205", "Gigolo (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, @@ -457,7 +457,7 @@ static const BSPF::array2D DefProps = {{ { "1f773a94d919b2a3c647172bbb97f6b4", "Atari, Jerome Domurat, Peter C. Niday", "CX26115", "Dumbo's Flying Circus (07-11-1983) (Atari) (Prototype) (PAL)", "AKA Dumbo Flies Home", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1fa58679d4a39052bd9db059e8cda4ad", "Imagic, Dan Oliver", "720118-1A, 03208", "Laser Gates (1983) (Imagic)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1fa7a42c2c7d6b7a0c6a05d38c7508f4", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (09-04-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1fa86282403fa35d103ab88a9d603c31", "SpiceWare - Darrell Spice Jr.", "", "Stay Frosty (SpiceWare) (PAL60)", "Part of Stella's Stocking 2007 Xmas compilation", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "YES", "" }, + { "1fa86282403fa35d103ab88a9d603c31", "SpiceWare - Darrell Spice Jr.", "", "Stay Frosty (SpiceWare) (PAL60)", "Part of Stella's Stocking 2007 Xmas compilation", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "1fab68fd67fe5a86b2c0a9227a59bb95", "20th Century Fox Video Games - Videa, Lee Actor", "", "Lasercade (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "200309c8fba0f248c13751ed4fc69bab", "Jeffry Johnston", "", "Radial Pong - Version 1 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "2008c76deba5953201ef75a09b2ff7dc", "", "", "Fortress (21-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -467,7 +467,7 @@ static const BSPF::array2D DefProps = {{ { "203abb713c00b0884206dcc656caa48f", "Imagic, Bob Smith", "720114-1A, 03207, IZ-001-04", "Moonsweeper (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "203b1efc6101d4b9d83bb6cc1c71f67f", "Quelle", "685.996 1", "Teller-Jonglieren! (1983) (Quelle) (PAL)", "AKA Dancing Plate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "205070b6a0d454961dd9196a8e81d877", "", "", "Hangman Monkey Biglist2 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2058cf3fefad4d2bc03ed817cedddcd4", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "2058cf3fefad4d2bc03ed817cedddcd4", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "2091af29b4e7b86914d79d9aaa4cbd20", "CBS Electronics - Woodside Design Associates, Harley H. Puthuff Jr.", "4L1802", "Donkey Kong Junior (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "20ae62fb69c6cc6e8098cca8cd080487", "Zirok", "", "Tennis (Zirok)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "20d4457ba22517253fcb62967af11b37", "Atari, Eric Manghise, Mimi Nyden, Joseph Tung", "CX2640", "RealSports Baseball (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -501,7 +501,7 @@ static const BSPF::array2D DefProps = {{ { "2319922df4d0c820b3e5f15faa870cc3", "Atari - GCC, Mike Feinstein", "CX2681, CX2681P", "Battlezone (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "2327456f86d7e0deda94758c518d05b3", "Digitel", "", "Mr. Postman (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "2351d26d0bfdee3095bec9c05cbcf7b0", "", "", "Warring Worms (19-01-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2353725ec98e0f0073462109e886efd7", "Champ Games", "CG-03-P", "Scramble (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "GENESIS", "", "", "", "PAL60", "", "YES", "" }, + { "2353725ec98e0f0073462109e886efd7", "Champ Games", "CG-03-P", "Scramble (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, { "235436ab0832370e73677c9c6f0c8b06", "", "", "Beast Invaders (Double Shot) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "2365e1534d67f94d8670394ab99150ce", "Thomas Jentzsch", "", "Missile Command (Atari Mouse) (2002) (TJ)", "Uses Atari ST Mouse Controller", "Homebrew", "", "", "", "", "", "", "", "ATARIMOUSE", "ATARIMOUSE", "", "", "", "", "YES", "" }, { "23d445ea19a18fb78d5035878d9fb649", "CBS Electronics - JWDA, Sylvia Day, Todd Marshall, Henry Will IV", "4L1818, 4L1819, 4L1820, 4L1821", "Mouse Trap (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, @@ -541,7 +541,7 @@ static const BSPF::array2D DefProps = {{ { "25d4be3309b89583c6b39d9f93bf654f", "Activision, Bob Whitehead", "AX-015, AX-015-04", "Chopper Command (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "25e73efb9a6edf119114718bd2f646ba", "Atari, Suki Lee", "CX26113", "Miss Piggy's Wedding (1983) (Atari) (Prototype) (4K) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "25f2e760cd7f56b88aac88d63757d41b", "Activision, Bob Whitehead - Ariola", "EAG-002, EAG-002-04I, PAG-002 - 711 002-715", "Boxing (1980) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25f879ff678130fea615ac418e7943f1", "Activision, Garry Kitchen", "EAX-025", "Keystone Kapers (1983) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "SECAM", "", "", "" }, + { "25f879ff678130fea615ac418e7943f1", "Activision, Garry Kitchen", "EAX-025", "Keystone Kapers (1983) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "25f9cf703575c5d63048c222f5463758", "", "", "Multi-Sprite Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "260c787e8925bf3649c8aeae5b97dcc0", "Thomas Jentzsch", "", "Hell Driver (Thomas Jentzsch)", "NTSC Conversion, joystick ports swapped", "Homebrew", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, { "262ccb882ff617d9b4b51f24aee02cbe", "Atari, Douglas Neubauer", "CX26154, CX26154P", "Super Football (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -552,7 +552,7 @@ static const BSPF::array2D DefProps = {{ { "26bc2bdf447a17376aea7ef187ff6e44", "", "", "Amanda Invaders (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "26f4f8b098609164effef7809e0121e1", "", "", "Oystron (V2.7) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "270229c6d5578446e6a588492e4e5910", "", "", "Space Invaders 2 (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2712e91f6f1dc55e90e2b14b27c042ac", "Omegamatrix", "", "SpaceMaster X-7 (Amiga Mouse) (PAL60) (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "2712e91f6f1dc55e90e2b14b27c042ac", "Omegamatrix", "", "SpaceMaster X-7 (Amiga Mouse) (PAL60) (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "271bfd5dc2673d382019f1fb6cab9332", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (Preview) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "273ce50db5a0d6da7ea827a54f44dee9", "", "", "Island Flyer Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "274d17ccd825ef9c728d68394b4569d2", "Playaround - J.H.M.", "202", "Bachelorette Party (1982) (Playaround)", "AKA Bachelor Party, Uses the paddle controllers", "Extremely Rare", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "AUTO 65", "", "", "YES", "" }, @@ -563,7 +563,7 @@ static const BSPF::array2D DefProps = {{ { "2783006ee6519f15cbc96adae031c9a9", "Telegames", "", "Night Stalker (1989) (Telegames) (PAL) [a]", "AKA Dark Cavern", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "278531cc31915747018d22145823d2c9", "", "", "Defender MegaDrive (PAL) (Genesis)", "Genesis controller (C is smartbomb)", "Hack of Defender", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "278f14887d601b5e5b620f1870bc09f6", "Thomas Jentzsch", "", "SWOOPS! (v0.96) (TJ)", "Uses the Joystick (L) and Paddle (R) Controllers", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "27a5d2d0c74c8e4b2c05b94c9f098eea", "Atari, Omegamatrix", "", "Video Olympics Menu (2020) (PAL60) (Hack)", "Hack of Video Olympics", "", "", "", "", "", "", "", "", "", "", "YES", "AUTO 60", "PAL60", "", "", "" }, + { "27a5d2d0c74c8e4b2c05b94c9f098eea", "Atari, Omegamatrix", "", "Video Olympics Menu (2020) (PAL60) (Hack)", "Hack of Video Olympics", "", "", "", "", "", "", "", "", "", "", "YES", "AUTO 60", "", "", "", "" }, { "27baecd618e7e53dc11f2a9c559f529d", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) v4 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "27c4c2af4b46394bb98638af8e0f6e9d", "Atari, Jerome Domurat, Peter C. Niday, Robert Vieira", "CX26109", "Sorcerer's Apprentice (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "27c6a2ca16ad7d814626ceea62fa8fb4", "Parker Brothers, Mark Lesser", "PB5590", "Frogger II (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, @@ -632,7 +632,7 @@ static const BSPF::array2D DefProps = {{ { "2c3b9c171e214e9e46bbaa12bdf8977e", "Bit Corporation", "R320", "Othello (32 in 1) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "2c45c3eb819a797237820a1816c532eb", "Atari", "CX26163P", "Boxing (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "2c8835aed7f52a0da9ade5226ee5aa75", "Arcadia Corporation, Stephen H. Landrum", "AR-4101", "Communist Mutants from Space (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2c8c11295d8613f875b7bcf5253ab9bb", "Fabrizio Zavagli", "", "Kool Aid Man (PAL Conversion) (16-11-2002) (Fabrizio Zavagli) (PAL60)", "PAL60 Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "2c8c11295d8613f875b7bcf5253ab9bb", "Fabrizio Zavagli", "", "Kool Aid Man (PAL Conversion) (16-11-2002) (Fabrizio Zavagli) (PAL60)", "PAL60 Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "2c9fadd510509cc7f28f1ccba931855f", "", "", "Hangman Invader Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "2ca6445204ffb7686ddee3e33ba64d5b", "Alex Herbert", "", "AtariVox Test ROM", "Uses the AtariVox controller", "", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "", "" }, { "2cb42cf62b2f25f59f909b5447821b14", "Atari, Christopher H. Omarzu - Children's Computer Workshop", "CX26104", "Big Bird's Egg Catch (1983) (Atari) (PAL) [a]", "Uses Kids/Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, @@ -659,7 +659,7 @@ static const BSPF::array2D DefProps = {{ { "2dbc92688f9ba92a7e086d62be9df79d", "", "", "How to Draw a Playfield (1997) (Jim Crawford) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "2dbdca3058035d2b40c734dcf06a86d9", "Thomas Jentzsch", "", "Asteroids DC+ (Thomas Jentzsch) (Hack)", "Uses the Joystick (left) or Driving (right) Controller", "Hack", "", "", "", "", "", "", "", "", "DRIVING", "", "58", "", "", "YES", "" }, { "2dcf9ce486393cd36ca0928cd53b96cb", "Atari - GCC, Mike Feinstein, John Allred", "CX2688, CX2688P", "Jungle Hunt (1983) (Atari) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2de41a11c6767e54a5ee9ebaffec72af", "Gray Games & AtariAge", "", "E.T. Book Cart (PAL60)", "Charles F. Gray & Michael Rideout", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "YES", "55" }, + { "2de41a11c6767e54a5ee9ebaffec72af", "Gray Games & AtariAge", "", "E.T. Book Cart (PAL60)", "Charles F. Gray & Michael Rideout", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "55" }, { "2dfec1615c49501fefc02165c81955e6", "", "", "Song (05-11-2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "2e0aed5bb619edcefa3fafb4fbe7c551", "", "", "Qb (2.06) (Retroactive) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "2e2acef8513edcca991e7e5149412e11", "Parker Brothers, Larry Gelberg, Gary Goltz", "PB5065", "Star Wars - Ewok Adventure (1983) (Parker Bros) (Prototype) (16K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -797,7 +797,7 @@ static const BSPF::array2D DefProps = {{ { "37b98344c8e0746c486caf5aaeec892a", "K-Tel Vision", "6", "Spider Maze (1982) (K-Tel Vision) (PAL)", "AKA Spider Kong", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "37e828675d556775ae8285c0caf7d11c", "AtariAge - Fred Quimby", "", "Gingerbread Man (Fred Quimby) (Genesis)", "Genesis controller (C throws cookie)", "New Release", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "" }, { "37f42ab50018497114f6b0f4f01aa9a1", "", "", "Droid Demo 2-M (David Conrad Schweinsberg) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "37fd7fa52d358f66984948999f1213c5", "Rainbow Vision - Suntek", "SS-004", "Pyramid War (1983) (Rainbow Vision) (PAL) [a2]", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "PAL", "", "", "" }, + { "37fd7fa52d358f66984948999f1213c5", "Rainbow Vision - Suntek", "SS-004", "Pyramid War (1983) (Rainbow Vision) (PAL) [a2]", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "384db97670817103dd8c0bbdef132445", "Atari - Sears", "CX2626 - 6-99829, 49-75116", "Miniature Golf (1979) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "384f5fbf57b5e92ed708935ebf8a8610", "20th Century Fox Video Games, John W.S. Marvin", "11009", "Crypts of Chaos (1983) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "3856b9425cc0185ed770376a62af0282", "Kyle Pittman", "", "Yellow Submarine (Kyle Pittman) (Hack)", "Hack of Bermuda Triangle", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1004,7 +1004,7 @@ static const BSPF::array2D DefProps = {{ { "470878b9917ea0348d64b5750af149aa", "Atari, Suki Lee - Sears", "CX2658 - 49-75128", "Math Gran Prix (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "471f7bdc933e8db0e44aa3dde2dd92af", "Omegamatrix", "", "Millipede (Atari Mouse) v6.5 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "47464694e9cce07fdbfd096605bf39d4", "Activision, Dan Kitchen", "EAK-050-04", "Double Dragon (1989) (Activision) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47585c047802dd9af888b998fb921f32", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) v4 (PAL60) (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "47585c047802dd9af888b998fb921f32", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) v4 (PAL60) (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4767356fa0ed3ebe21437b4473d4ee28", "Atari, Dan Hitchens, Mimi Nyden", "CX2685", "Gravitar (04-12-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "47711c44723da5d67047990157dcb5dd", "CCE", "", "Ice Hockey (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "47911752bf113a2496dbb66c70c9e70c", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (1984) (Atari) (PAL)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, @@ -1036,7 +1036,7 @@ static const BSPF::array2D DefProps = {{ { "493de059b32f84ab29cde6213964aeee", "Atari, Bill Aspromonte, Andrew Fuchs", "CX26120", "Stargate (1984) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "493e90602a4434b117c91c95e73828d1", "Telegames", "", "Lock 'n' Chase (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4947c9de2e28b2f5f3b0c40ce7e56d93", "", "", "3-D Corridor Demo 2 (29-03-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "494cda91cc640551b4898c82be058dd9", "Andreas Dietrich", "", "Donkey Kong VCS (2017) (1.0) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "YES", "" }, + { "494cda91cc640551b4898c82be058dd9", "Andreas Dietrich", "", "Donkey Kong VCS (2017) (1.0) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "49571b26f46620a85f93448359324c28", "", "", "Save Our Ship (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "497c811026367c08fd838c9c59e5041d", "Omegamatrix", "", "SpaceMaster X-7 (Atari Trak-Ball) (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "497f3d2970c43e5224be99f75e97cbbb", "CommaVid, John Bronstein", "CM-002", "Video Life (1984) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, @@ -1063,7 +1063,7 @@ static const BSPF::array2D DefProps = {{ { "4b143d7dcf6c96796c37090cba045f4f", "Atari, Jim Huether - Sears", "CX2644 - 6-99824", "Flag Capture (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4b205ef73a5779acc5759bde3f6d33ed", "", "", "Berzerk (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4b27f5397c442d25f0c418ccdacf1926", "Atari, Warren Robinett", "CX2613, 49-75154", "Adventure (1980) (Atari) (PAL)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b379b885e2694f992c6cc932f18327f", "Omegamatrix", "", "SpaceMaster X-7 (Atari Mouse) (PAL60) (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "4b379b885e2694f992c6cc932f18327f", "Omegamatrix", "", "SpaceMaster X-7 (Atari Mouse) (PAL60) (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4b71197153d651480830638cb6a03249", "Atari, Larry Kaplan", "CX26163P", "Bowling (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4b753a97aee91e4b3e4e02f5e9758c72", "Glenn Saunders, Roger Williams", "", "Asymmetric Reflected Playfield (Glenn Saunders)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4b94fd272785d7ec6c95fb7279d0f522", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (12-03-1982) (Atari) (Prototype)", "Uses the Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, @@ -1129,7 +1129,7 @@ static const BSPF::array2D DefProps = {{ { "4faeb04b1b7fb0fa25db05753182a898", "", "", "2600 Digital Clock (V x.xx) (PD) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4fbe0f10a6327a76f83f83958c3cbeff", "CCE", "C-816", "Keystone Kappers (1983) (CCE)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "4fc1b85b8074b4b9436d097900e34f29", "John K. Harvey", "", "John K. Harvey's Equalizer (John K. Harvey)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "50200f697aeef38a3ce31c4f49739551", "Mystique - American Multiple Industries, Joel H. Martin", "", "Custer's Revenge (1982) (Mystique) (PAL60)", "", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "50200f697aeef38a3ce31c4f49739551", "Mystique - American Multiple Industries, Joel H. Martin", "", "Custer's Revenge (1982) (Mystique) (PAL60)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "502044b1ac111b394e6fbb0d821fca41", "", "", "Hangman Invader 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "502168660bfd9c1d2649d415dc89c69d", "Activision, Bob Whitehead - Ariola", "EAG-019, EAG-019-04I - 711 019-715", "Sky Jinks (1982) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "504688d49a41bf03d8a955512609f3f2", "Thomas Jentzsch", "", "SWOOPS! (v0.94) (TJ)", "Uses the Joystick (L) and Paddle (R) Controllers", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1216,7 +1216,7 @@ static const BSPF::array2D DefProps = {{ { "5643ee916f7dc760148fca4db3aa7d10", "", "", "Moon Patrol (Genesis)", "Genesis controller (C is jump)", "Hack of Moon Patrol", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5678ebaa09ca3b699516dba4671643ed", "Coleco, Sylvia Day, Henry Will IV", "2459", "Mouse Trap (1982) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "568371fbae6f5e5b936af80031cd8888", "", "", "Robotfindskitten2600 (26-04-2003) (Jeremy Penner)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "56f72247eb9ebfd33bfd0cca23ab7ef4", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) v4 (PAL60) (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "56f72247eb9ebfd33bfd0cca23ab7ef4", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) v4 (PAL60) (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "571c6d9bc71cb97617422851f787f8fe", "Activision, David Crane - Ariola", "EAG-004, PAG-004 - 711 004-715", "Fishing Derby (1980) (Activision) (PAL)", "AKA Schneller als der Hai", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "572d0a4633d6a9407d3ba83083536e0f", "Funvision - Fund. International Co.", "", "Busy Police (Funvision)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "575c0fb61e66a31d982c95c9dea6865c", "", "", "Blackjack (Unknown) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "" }, @@ -1232,7 +1232,7 @@ static const BSPF::array2D DefProps = {{ { "5864cab0bc21a60be3853b6bcd50c59f", "", "", "Commando Raid (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "58746219d8094edff869f0f5c2aeaad5", "Jone Yuan Telephonic Enterprise Co", "", "Bowling (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5894c9c0c1e7e29f3ab86c6d3f673361", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "AZ-033, AZ-033-04", "Space Shuttle (1983) (Activision)", "A Journey Into Space", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "589c73bbcd77db798cb92a992b4c06c3", "Xonox - K-Tel Software - Action Graphics, Michael Schwartz, David Thiel", "6230, 7210, 06004, 99004", "Artillery Duel (1983) (Xonox) (PAL60)", "", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "589c73bbcd77db798cb92a992b4c06c3", "Xonox - K-Tel Software - Action Graphics, Michael Schwartz, David Thiel", "6230, 7210, 06004, 99004", "Artillery Duel (1983) (Xonox) (PAL60)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "58a82e1da64a692fd727c25faef2ecc9", "CCE", "C-824", "Jaw Breaker (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "58c396323ea3e85671e34c98eb54e2a4", "Brian Watson", "", "Color Tweaker (B. Watson)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "58d331c23297ed98663d11b869636f16", "", "", "Fu Kung! (V0.09) (26-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1250,7 +1250,7 @@ static const BSPF::array2D DefProps = {{ { "59e53894b3899ee164c91cfa7842da66", "Data Age", "", "Survival Run (1983) (Data Age) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "59e96de9628e8373d1c685f5e57dcf10", "PlayAround - J.H.M.", "204", "Beat 'Em & Eat 'Em (1982) (PlayAround)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, { "59f596285d174233c84597dee6f34f1f", "CCE", "C-811", "River Raid (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a0ff99ba10bd26d542e1d6f59f56850", "Champ Games", "CG-04-P", "Super Cobra Arcade (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "GENESIS", "", "", "", "PAL60", "", "YES", "" }, + { "5a0ff99ba10bd26d542e1d6f59f56850", "Champ Games", "CG-04-P", "Super Cobra Arcade (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, { "5a17e30e6e911e74ccd7b716d02b16c6", "Activision, Dan Kitchen", "AX-029", "Crackpots (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5a272012a62becabcd52920348c7c60b", "Star Game", "", "Pitfall (Star Game)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5a2f2dcd775207536d9299e768bcd2df", "Otto Versand", "781698", "Flippern (Double-Game Package) (1983) (Otto Versand) (PAL)", "AKA Video Pinball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1298,7 +1298,7 @@ static const BSPF::array2D DefProps = {{ { "5ced13931c21ef4fc77d3fe801a1cbfa", "CCE", "C-828", "Missile Command (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5d0e8a25cbd23e76f843c75a86b7e15b", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (09-07-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5d132d121aabc5235dd039dfc46aa024", "", "", "Basketball (208 in 1) (Unknown) (PAL) (Hack)", "Console ports are swapped", "Hack", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "5d25df9dc2cde746ceac48e834cf84a7", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "EAZ-033", "Space Shuttle (1983) (Activision) (SECAM)", "A Journey Into Space", "", "", "", "FE", "", "", "", "", "", "", "", "", "SECAM", "", "", "" }, + { "5d25df9dc2cde746ceac48e834cf84a7", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "EAZ-033", "Space Shuttle (1983) (Activision) (SECAM)", "A Journey Into Space", "", "", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5d2cc33ca798783dee435eb29debf6d6", "Activision - Imagineering, Mike Reidel", "AK-043-04", "Commando (1988) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5d7293f1892b66c014e8d222e06f6165", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a1]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5d799bfa9e1e7b6224877162accada0d", "Spectravision - Spectravideo - Sirius Software, David Lubar", "SA-206", "Challenge of.... Nexar, The (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1460,11 +1460,11 @@ static const BSPF::array2D DefProps = {{ { "67cdde4176e0447fc45a71e0a1cdd288", "Telegames - VSS, Ed Salvo", "5665 A016", "Glacier Patrol (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "67ce6cdf788d324935fd317d064ed842", "Retroactive", "", "Qb (V2.09) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "67cf913d1df0bf2d7ae668060d0b6694", "", "", "Hangman Monkey 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "67f90d74fd0b72fdc6d9b92436780ea9", "Omegamatrix", "", "SpaceMaster X-7 (Atari Trak-Ball) (PAL60) (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "67f90d74fd0b72fdc6d9b92436780ea9", "Omegamatrix", "", "SpaceMaster X-7 (Atari Trak-Ball) (PAL60) (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "6803fa7c2c094b428b859a58dc1dd06a", "Retroactive", "", "Qb (0.11) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "6805734a0b7bcc8925d9305b071bf147", "Bit Corporation", "PGP229", "Kung Fu (4 Game in One Dark Green) (1983) (BitCorp) (PAL)", "AKA Karate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "681206a6bde73e71c19743607e96c4bb", "", "", "Casino (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6833c26f385e866f3a0fa0dff311216e", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "6833c26f385e866f3a0fa0dff311216e", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "683bb0d0f0c5df58557fba9dffc32c40", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (1982) (Arcadia) [a]", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, { "683dc64ef7316c13ba04ee4398e2b93a", "Ed Federmeyer", "", "Edtris (1995) (Ed Federmeyer)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "68449e4aaba677abcd7cde4264e02168", "", "", "Horizonal Color Bars Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1614,7 +1614,7 @@ static const BSPF::array2D DefProps = {{ { "72876fd7c7435f41d571f1101fc456ea", "Quelle", "688.383 9", "Die Ente und der Wolf (1983) (Quelle) (PAL)", "AKA Pooyan", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "72a46e0c21f825518b7261c267ab886e", "Xonox - K-Tel Software - Computer Magic", "99005, 6220, 6250", "Robin Hood (1983) (Xonox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "72a5b5052272ac785fa076709d16cef4", "", "", "KC Munckin (29-01-2003) (J. Parlee)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72a63bcb5eb31bd0fd5e98ed05125ec1", "Thomas Jentzsch", "", "Missile Control - Atari Trak-Ball Hack v1.15 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "72a63bcb5eb31bd0fd5e98ed05125ec1", "Thomas Jentzsch", "", "Missile Control - Atari Trak-Ball Hack v1.15 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "72bda70c75dfa2365b3f8894bace9e6a", "Thomas Jentzsch", "", "Atlantis (TJ) (Hack)", "Hack of Atlantis", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "72d0acb5de0db662de0360a6fc59334d", "", "", "Cosmic Ark (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "72db1194b1cc7d45b242f25eb1c148d3", "", "", "Pac-Man (1981) (Atari) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1657,7 +1657,7 @@ static const BSPF::array2D DefProps = {{ { "7574480ae2ab0d282c887e9015fdb54c", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7576dd46c2f8d8ab159d97e3a3f2052f", "Goliath - Hot Shot", "83-112", "Time Machine (1983) (Goliath) (PAL)", "AKA Asteroid Fire", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "757f529026696e13838364dea382a4ed", "Activision, David Crane - Ariola", "EAX-014, PAX-014, EAX-014-04B, EAX-014-04I - 711 014-720", "Grand Prix (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75893a9dc5de4b91cc426959b82a1da0", "Champ Games", "CG-02-P", "Conquest Of Mars (2010) (PAL60)", "Rev 2 release", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "75893a9dc5de4b91cc426959b82a1da0", "Champ Games", "CG-02-P", "Conquest Of Mars (2010) (PAL60)", "Rev 2 release", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "75a303fd46ad12457ed8e853016815a0", "ZiMAG - Emag - Vidco", "715-111 - GN-060", "Immies & Aggies (1983) (ZiMAG) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "75b22fdf632d76e246433db1ebccd3c4", "", "", "Skeleton+ (05-05-2003) (Eric Ball) (PAL)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "75b557be7f08db84ec5b242207b9f241", "", "", "Space Treat (30-12-2002) (Fabrizio Zavagli) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1735,7 +1735,7 @@ static const BSPF::array2D DefProps = {{ { "7b33407b2b198af74906b936ce1eecbb", "King Atari", "", "Ghostbuster 2 (King Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "7b3cf0256e1fa0fdc538caf3d5d86337", "CommaVid, Joseph Biel", "CM-009", "Stronghold (1983) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7b43c32e3d4ff5932f39afcb4c551627", "Syncro, Daniel Wolf", "", "Kamikaze Saucers (1983) (Syncro) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b4be337ac4d73eda75c848355f6f480", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "7b4be337ac4d73eda75c848355f6f480", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7b5207e68ee85b16998bea861987c690", "Atari, Carol Shaw", "CX26163P", "3-D Tic-Tac-Toe (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7b57318c489ff178f7ff500da1ec9e8c", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7b6f3348dbf71ada88db0fdaf7feefe0", "", "", "3-D Corridor (Pink Spiral) (31-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1758,7 +1758,7 @@ static const BSPF::array2D DefProps = {{ { "7cd900e9eccbb240fe9c37fa28f917b5", "Jone Yuan Telephonic Enterprise Co", "", "Bi! Bi! (Jone Yuan) (PAL)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7ced6709f091e79a2ab9575d3516a4ac", "Activision, Steve Cartwright - Ariola", "EAX-027 - 711 027-722", "Plaque Attack (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7cedffa0db65d610568b90aeca705ac6", "Atari, Rob Fulop - Sears", "CX2638 - 49-75166", "Missile Command (1981) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7cf3a9267cdb95aba91abc5838d61cc5", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "7cf3a9267cdb95aba91abc5838d61cc5", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7d0b49ea4fe3a5f1e119a6d14843db17", "Gameworld, J. Ray Dettling", "133-008", "Frankenstein's Monster (1983) (Gameworld) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7d1034bcb38c9b746ea2c0ae37d9dff2", "Atari, Brad Stewart", "", "Morse Code Tutor (1979) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7d3cdde63b16fa637c4484e716839c94", "CCE", "", "Road Runner (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1826,7 +1826,7 @@ static const BSPF::array2D DefProps = {{ { "80e5400470ac788143e6db9bc8dd88cf", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (06-XX-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "80f7bf7418a462e8687ecefeaf6eb9c2", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (NTSC) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8101efafcf0af32fedda4579c941e6f4", "", "", "Okie Dokie (4K) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "81073d0377a2badef8d5e74fc44fc323", "Thomas Jentzsch", "", "Sadoom (TJ) (PAL60) (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "01 50", "PAL60", "", "", "" }, + { "81073d0377a2badef8d5e74fc44fc323", "Thomas Jentzsch", "", "Sadoom (TJ) (PAL60) (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, { "8108162bc88b5a14adc3e031cf4175ad", "Suntek", "SS-030", "Skydiver (1983) (Suntek) (PAL)", "AKA Parachute", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8108ad2679bd055afec0a35a1dca46a4", "", "", "Maze Craze (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "NTSC", "", "", "" }, { "810d8952af5a6036fca8d0c4e1b23db6", "Tiger Vision - Eram", "", "Keystone (Tiger Vision)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1863,7 +1863,7 @@ static const BSPF::array2D DefProps = {{ { "83f50fa0fbae545e4b88bb53b788c341", "Atari, Larry Kaplan - Sears", "CX2643 - 6-99815", "Codebreaker (1978) (Atari) (4K)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "83fafd7bd12e3335166c6314b3bde528", "Epyx, Steven A. Baker, Tod Frye, Peter Engelbrite", "80561-00251", "Winter Games (1987) (Epyx)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "840a5a2eaea24d95d289f514fd12f9bb", "", "", "GBImprov (Hack)", "Hack of Ghostbusters", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "841057f83ce3731e6bbfda1707cbca58", "Champ Games", "CG-04-N", "Super Cobra Arcade (NTSC)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "YES", "" }, + { "841057f83ce3731e6bbfda1707cbca58", "Champ Games", "CG-04-N", "Super Cobra Arcade (NTSC)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, { "841b7bc1cad05f5408302308777d49dc", "Activision", "", "Unknown Activision Game (10-22-1982) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "84290e333ff7567c2380f179430083b8", "Imagic, Dave Johnson", "13211, EIX-004-04I", "Quick Step! (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "843435eb360ed72085f7ab9374f9749a", "Joe Grand", "", "SCSIcide (1.31) (Joe Grand)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "AUTO 65", "", "", "", "" }, @@ -1887,7 +1887,7 @@ static const BSPF::array2D DefProps = {{ { "8597f66dd37d9c855663804669d69d7a", "Tigervision, Warren Schwader", "7-003", "Threshold (1982) (Tigervision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "85a4133f6dcf4180e36e70ad0fca0921", "CCE", "C-827", "Chopper Command (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "85b1bca93e69f13905107cc802a02470", "Atari, Craig Nelson", "CX2617, CX2617P", "Backgammon (1979) (Atari) (PAL)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "AUTO 80", "", "", "", "" }, - { "85bbefb90e16bf386b304c1e9a1f6084", "Champ Games", "CG-02-P", "Conquest Of Mars (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "85bbefb90e16bf386b304c1e9a1f6084", "Champ Games", "CG-02-P", "Conquest Of Mars (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "85e48d68c8d802e3ba9d494a47d6e016", "", "", "Ship Demo (V 15) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "85e564dae5687e431955056fbda10978", "Milton Bradley Company - Renaissance Technology, Ty Roberts", "4362", "Survival Run (1983) (Milton Bradley)", "AKA Cosmic Commander", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "86128001e69ab049937f265911ce7e8a", "Apollo - Games by Apollo, Steve Stringfellow", "AP-2005", "Lochjaw (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1965,8 +1965,8 @@ static const BSPF::array2D DefProps = {{ { "8bebac614571135933116045204f0f00", "Thomas Jentzsch", "", "Missile Command (Trakball) (2002) (TJ) (PAL)", "Uses the Trakball Controller", "Homebrew", "", "", "", "", "", "", "", "TRAKBALL", "TRAKBALL", "", "", "", "", "YES", "" }, { "8c103a79b007a2fd5af602334937b4e1", "Thomas Jentzsch", "", "Laser Base (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8c136e97c0a4af66da4a249561ed17db", "", "", "Poker Squares (V0.27) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8c146c61817edd376bc1354c7f1ddc63", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, - { "8c1cc284edba691139d6626d062c606f", "Atari, Omegamatrix", "", "Super Breakout Menu (2020) (PAL60) (Hack)", "Hack of Super Breakout", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "PAL60", "", "", "" }, + { "8c146c61817edd376bc1354c7f1ddc63", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8c1cc284edba691139d6626d062c606f", "Atari, Omegamatrix", "", "Super Breakout Menu (2020) (PAL60) (Hack)", "Hack of Super Breakout", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, { "8c2fa33048f055f38358d51eefe417db", "Home Vision - Gem International Corp. - VDI", "VCS83137", "Teddy Apple (1983) (Home Vision) (PAL)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "8c36ed2352801031516695d1eeefe617", "Epyx, Steven A. Baker, Tod Frye, Peter Engelbrite", "80561-00251", "Winter Games (1987) (Epyx) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8c7e5e2329f4f4e06cbcc994a30fd352", "Data Age", "DA1004", "Airlock (1982) (Data Age) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1994,12 +1994,12 @@ static const BSPF::array2D DefProps = {{ { "8e7241bfc8380aac3c0ef1b6881cdded", "Atari, Howard Scott Warshaw - Sears", "CX2655 - 49-75167", "Yars' Revenge (09-01-81) (Atari) (Prototype)", "Time Freeze", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "8e737a88a566cc94bd50174c2d019593", "Quelle", "343.173 1", "Feuerwehr im Einsatz (1983) (Quelle) (PAL)", "AKA Fire Fighter", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8e822b39a71c84ac875f0107fb61d6f0", "", "", "Hangman Ghost Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8e879aa58db41edb67cbf318b77766c4", "Thomas Jentzsch", "", "Cosmic Commuter (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "8e879aa58db41edb67cbf318b77766c4", "Thomas Jentzsch", "", "Cosmic Commuter (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8e887d1ba5f3a71ae8a0ea16a4af9fc9", "", "", "Skeleton (V1.1) (PAL) (24-10-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8ed5a746c59571feb255eaa7d6d0cf98", "", "", "Carnival (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8ed73106e2f42f91447fb90b6f0ea4a4", "Spectravision - Spectravideo", "SA-204", "Tapeworm (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "8ee3f64dc0f349adc893fe93df5245d8", "", "", "Euchre (20-07-2001) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8ef96ace4a1d6dfb65926c1e868b0188", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "8ef96ace4a1d6dfb65926c1e868b0188", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8f33bce5ba1053dcf4cea9c1c69981e4", "", "", "Jawbreaker (Unknown) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8f53a3b925f0fd961d9b8c4d46ee6755", "", "", "Astrowar (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "8f5ac5139419c5d49bacc296e342a247", "Atari - CCW, Michael Callahan, Preston Stuart", "CX26103", "Alpha Beam with Ernie (12-22-1982) (Atari) (Prototype)", "Uses Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2017,7 +2017,7 @@ static const BSPF::array2D DefProps = {{ { "9048ccb7e0802cd8fa5bfc2609f292d8", "Tigervision, Robert H. O'Neil", "7-007", "Polaris (1983) (Tigervision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9057694dce8449521e6164d263702185", "Activision, Bob Whitehead", "AG-011", "Stampede (1981) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "90578a63441de4520be5324e8f015352", "Bit Corporation", "PGP204", "Open Sesame (4 Game in One) (1983) (BitCorp) (PAL)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9072c142728a3a3d994956d03bfacba2", "Fabrizio Zavagli", "", "Crash Dive (Fabrizio Zavagli) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "9072c142728a3a3d994956d03bfacba2", "Fabrizio Zavagli", "", "Crash Dive (Fabrizio Zavagli) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "90a3c3255f2a54225cdcb50831f8793a", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.1 (PAL) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "90b1799dddb8bf748ee286d22e609480", "", "", "Ship Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "90b647bfb6b18af35fcf613573ad2eec", "AtariAge (Chris Walton)", "", "Juno First (2009)", "AtariVox supported", "Homebrew", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "YES", "" }, @@ -2060,7 +2060,7 @@ static const BSPF::array2D DefProps = {{ { "93c52141d3c4e1b5574d072f1afde6cd", "Imagic, Mark Klein", "720112-1A, 03213", "Subterranea (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "93c8d9d24f9c5f1f570694848d087df7", "Digivision", "", "Galaxian (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "93c9f9239a4e5c956663dd7affa70da2", "Quelle", "626.610 0", "Billard (1983) (Quelle) (PAL)", "AKA Trick Shot", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "93db185c3b3dc382f3aecd6a2fea7fd9", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.1 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "93db185c3b3dc382f3aecd6a2fea7fd9", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.1 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "93dc15d15e77a7b23162467f95a5f22d", "CCE", "", "Sky Jinks (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "93e276172b521c4491097f8b1393eea7", "Atari", "", "Diagnostic Test Cartridge 4.2 (06-01-1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "93eb1795c8b1065b1b3d62bb9ec0ccdc", "JSK", "", "Custer's Viagra (JSK) (Hack)", "Hack of Custer's Revenge", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2068,7 +2068,7 @@ static const BSPF::array2D DefProps = {{ { "9433770890f087bfcf3e50122694d8c0", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) (Y Inverted) v4 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9436b7ad131b5a1f7753ce4309ba3dee", "Kyle Pittman", "", "War of The Worlds (Kyle Pittman) (Hack)", "Hack of Defender", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "943798452ceba9357e2c56303cadb4f7", "Thomas Jentzsch, Paul Slocum", "", "Thrust+ Platinum (v1.28)", "", "New Release, supports BoosterGrip and Genesis (switched by Color/B+W)", "", "", "", "", "", "", "", "JOYSTICK", "DRIVING", "", "", "", "", "", "" }, - { "9446940866c9417f210f8552cf6c3078", "Thomas Jentzsch", "", "Marble Craze - Amiga Mouse Hack v1.0 (PAL60) (TJ)", "Uses Amiga Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "9446940866c9417f210f8552cf6c3078", "Thomas Jentzsch", "", "Marble Craze - Amiga Mouse Hack v1.0 (PAL60) (TJ)", "Uses Amiga Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "94507dee401b0a072a481c00d7699ffe", "Thomas Jentzsch", "", "Missile Control - Atari Trak-Ball Hack v1.15 (PAL) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9469d18238345d87768e8965f9f4a6b2", "CCE", "", "Ms. Pac-Man (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "947317a89af38a49c4864d6bdd6a91fb", "CBS Electronics, Bob Curtiss", "4L 2487 5000", "Solar Fox (1983) (CBS Electronics)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2163,7 +2163,7 @@ static const BSPF::array2D DefProps = {{ { "9c40bf810f761ffc9c1b69c4647a8b84", "", "", "2 in 1 - Frostbite, River Raid (Unknown)", "", "", "", "", "2IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9c6d65bd3b477aace0376f705b354d68", "", "", "RPG Kernal (18-04-2003) (Paul Slocum) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "9c6faa4ff7f2ae549bbcb14f582b70e4", "U.S. Games Corporation, Garry Kitchen, Paul Willson - Vidtec", "VC1002", "Sneak 'n Peek (1982) (U.S. Games)", "AKA Hide 'n Seek", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9c6fd6ed3599978ab7b6f900484b9be6", "Andrew Wallace", "", "Laseresal 2002 (PAL60) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "9c6fd6ed3599978ab7b6f900484b9be6", "Andrew Wallace", "", "Laseresal 2002 (PAL60) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9c729017dd2f9ccbadcb511187f80e6b", "", "", "J-Pac (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9c7fa3cfcaaafb4e6daf1e2517d43d88", "", "", "PIEROXM Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9ca2deb61318eba4fb784d4bf7441d8b", "", "", "Purple Bar Demo 2 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2198,7 +2198,7 @@ static const BSPF::array2D DefProps = {{ { "9f48eeb47836cf145a15771775f0767a", "Atari, Warren Robinett", "CX2620", "Basic Programming (1979) (Atari)", "Uses Keypad Controllers", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "9f5096a6f1a5049df87798eb59707583", "20th Century Fox Video Games, Mark Klein", "11036", "Entity, The (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9f52271759f8a2004d207b2247ae0bb3", "Parker Brothers", "PB5820", "Mr. Do!'s Castle (03-12-84) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9f59eddf9ba91a7d93bce7ee4b7693bc", "Thomas Jentzsch", "", "Montezuma's Revenge (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "9f59eddf9ba91a7d93bce7ee4b7693bc", "Thomas Jentzsch", "", "Montezuma's Revenge (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9f8fad4badcd7be61bbd2bcaeef3c58f", "Parker Brothers, Charlie Heath", "PB5330", "Reactor (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "9f901509f0474bf9760e6ebd80e629cd", "Atari, Bob Whitehead - Sears", "CX2623 - 6-99819, 49-75108, 49-75125", "Home Run (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, { "9f93734c68f6479eb022cab40814142e", "", "", "Push (V0.07) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2243,11 +2243,11 @@ static const BSPF::array2D DefProps = {{ { "a29fc854838e08c247553a7d883dd65b", "Activision, Steve Cartwright", "AX-013", "Barnstorming (1982) (Activision) (16K)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a2a384d3a16d5be50afd12906f146827", "Bit Corporation", "R320", "Flash Gordon (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a2aae759e4e76f85c8afec3b86529317", "", "", "Boom Bang (Unknown)", "AKA Crackpots", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a2d7cc2e5419a9e4ab91fdb26339b726", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "a2d7cc2e5419a9e4ab91fdb26339b726", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a2de0fc85548871279ed2a3c1325c13e", "George Veeder", "", "Cat and Mouse (George Veeder) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a2eb84cfeed55acd7fece7fefdc83fbb", "", "", "Kool Aid Man (Fixed) (15-11-2002) (CT)", "HMOVE handling fixed in this version", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a2f296ea2d6d4b59979bac5dfbf4edf0", "", "", "Warring Worms (28-01-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a2f9e3b6aaa23b6dc06099cdd5b51b31", "Nukey Shay", "", "Montezuma's Revenge (Genesis) (PAL60) (F6_Conversion)", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "a2f9e3b6aaa23b6dc06099cdd5b51b31", "Nukey Shay", "", "Montezuma's Revenge (Genesis) (PAL60) (F6_Conversion)", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a302b922a8dbec47743f28b7f91d4cd8", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (Preview) (1982) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a30ece6dc4787e474fbc4090512838dc", "Zellers", "", "Circus (Zellers)", "AKA Circus Atari", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a310494ad5ba2b5b221a30d7180a0336", "", "", "Demo Image Series #6 - Mario (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2261,7 +2261,7 @@ static const BSPF::array2D DefProps = {{ { "a3d7c299fbcd7b637898ee0fdcfc47fc", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (Preview) (1982) (Arcadia) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, { "a3f2a0fcf74bbc5fa763b0ee979b05b1", "Quelle", "873.790 0", "Eishockey-Fieber (1983) (Quelle) (PAL)", "AKA Ice Hockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a3f8aebb38182749cb8da85cfbc63d7c", "", "", "Tennis (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a3fee8ce15525ea00d45a06f04c215d1", "Aaron Curtis", "", "AStar (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "a3fee8ce15525ea00d45a06f04c215d1", "Aaron Curtis", "", "AStar (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a406d2f6d84e61d842f4cb13b2b1cfa7", "Tigervision, John Harris - Teldec", "7-002", "Jawbreaker (1982) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a412c8577b2d57b09185ae51739ac54f", "Arcadia Corporation, Dennis Caswell", "AR-4000", "Phaser Patrol (1982) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "a41450333f8dd0e96e5e9f0af3770ae9", "", "", "Basic Math (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2270,7 +2270,7 @@ static const BSPF::array2D DefProps = {{ { "a47878a760f5fa3aa99f95c3fdc70a0b", "", "", "Demo Image Series #5 - Baboon (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a4790224bd5afabd53cbe93e46a7f241", "Activision, Bob Whitehead", "AG-019", "Sky Jinks (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a47e26096de6f6487bf5dd2d1cced294", "Atari", "CX2643", "Codebreaker (1978) (Atari) (PAL)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a484638990de7b12c62947c79dafa4c6", "Thomas Jentzsch", "", "Marble Craze - Atari Mouse Hack v1.0 (PAL60) (TJ)", "Uses Atari Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "a484638990de7b12c62947c79dafa4c6", "Thomas Jentzsch", "", "Marble Craze - Atari Mouse Hack v1.0 (PAL60) (TJ)", "Uses Atari Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a499d720e7ee35c62424de882a3351b6", "SEGA - Beck-Tech, Steve Beck, Phat Ho", "009-01", "Up 'n Down (1984) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a4aa7630e4c0ad7ebb9837d2d81de801", "", "", "Atari 2600 Invaders (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a4ab331e8768eafdc20ce8b0411ff77a", "", "", "Demo Image Series #1 - Sam (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2340,7 +2340,7 @@ static const BSPF::array2D DefProps = {{ { "a98b649912b6ca19eaf5c2d2faf38562", "", "", "This Planet Sucks (Greg Troutman) (PAL) [!]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a995b6cbdb1f0433abc74050808590e6", "Imagic, Rob Fulop, Bob Smith", "720106-1A, IA3600", "Riddle of the Sphinx (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a9cb638cd2cb2e8e0643d7a67db4281c", "M Network - INTV - APh Technological Consulting, Larry Zwick", "MT5861", "Air Raiders (1983) (M Network)", "AKA Air Battle", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a9d9e19d0c89fb31780b5d63e1f8c6a4", "AtariAge, Chris Spry", "CX26201", "Zippy the Porcupine (2014) (Sprybug) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "a9d9e19d0c89fb31780b5d63e1f8c6a4", "AtariAge, Chris Spry", "CX26201", "Zippy the Porcupine (2014) (Sprybug) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "a9e3c23599c0d77151602f8e31daf879", "", "", "Kung Fu Master (Genesis)", "Genesis controller (C is extra kick modes)", "Hack of Kung Fu Master", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "" }, { "aa1c41f86ec44c0a44eb64c332ce08af", "Spectravideo, David Lubar", "SA-218", "Bumper Bash (1983) (Spectravideo)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "" }, { "aa2c4b32656bde9a75042a4d158583e1", "", "", "Oystron X (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2385,7 +2385,7 @@ static const BSPF::array2D DefProps = {{ { "ace319dc4f76548659876741a6690d57", "Atari, Steve Wright", "CX2616", "Pele's Soccer (1981) (Atari)", "AKA Pele's Championship Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ad2e6bfb3b9b9b36ba8bf493ce764c49", "", "", "2600 Collison Demo 1 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ad42e3ca3144e2159e26be123471bffc", "Atari", "CX26163P", "Human Cannonball (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ad72d616030a17634ff29ce8680d3c4c", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "ad72d616030a17634ff29ce8680d3c4c", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ad7e97c19bd25d5aa3999430845c755b", "", "", "Sprite Demo 5 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ad8072675109d13fdd31a2e0403d5cff", "Funvision - Fund. International Co.", "", "Tank City (Funvision)", "AKA Thunderground", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "adb770ff70e9adf08bbb907a7eccd240", "", "", "Inv Demo 3 (2001) (Erik Mooney) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2438,7 +2438,7 @@ static const BSPF::array2D DefProps = {{ { "b15026b43c6758609667468434766dd8", "Retroactive", "", "Qb (0.06) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "b16cd9784589219391c839cb68c47b9c", "Video Soft, Jerry Lawson, Dan McElroy", "", "Golf Diagnostic (1983) (Video Soft) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b17b9cc4103844dcda54f77f44acc93a", "Quelle", "377.943 6", "Stopp die Gangster (1983) (Quelle) (PAL)", "AKA Gangster Alley", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b182d9708e00709830caab9cf8205ca0", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "b182d9708e00709830caab9cf8205ca0", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b1a6c96e9093352106bc335e96caa154", "Joe Grand", "", "SCSIcide Pre-release 1 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b1b20536aef4eed9c79dc5804f077862", "", "", "Euchre (NTSC) (09-11-2001) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b1c14b5ac896400cc91c8e5dd67acb59", "", "", "River Raid (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2463,7 +2463,7 @@ static const BSPF::array2D DefProps = {{ { "b3017e397f74efd53caf8fae0a38e3fe", "Retroactive", "", "Qb (2.12) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "b311ab95e85bc0162308390728a7361d", "Parker Brothers - Roklan, Joe Gaucher", "PB5080", "Gyruss (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "b31dc989f594764eacfa7931cead0050", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (2 of 3) (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b31e9487efc06f18dfc3d7ebadf54416", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) v4 (PAL60) (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "b31e9487efc06f18dfc3d7ebadf54416", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) v4 (PAL60) (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b31f178aa0d569cccac7959f84e0a724", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (07-13-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b3203e383b435f7e43f9492893c7469f", "Gameworld", "133-003", "Sssnake (1983) (Gameworld) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b36040a2f9ecafa73d835d804a572dbf", "Digitel", "", "Pac Man (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2507,12 +2507,12 @@ static const BSPF::array2D DefProps = {{ { "b7345220a0c587f3b0c47af33ebe533c", "Quelle", "176.433 1", "Landungskommando (1983) (Quelle) (PAL)", "AKA Strategy X", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b76fbadc8ffb1f83e2ca08b6fb4d6c9f", "Activision, Bob Whitehead", "AG-005, CAG-005, AG-005-04", "Skiing (1980) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b77468d586957d1b7fb4cccda2684f47", "Atari", "CX26163P", "Boxing (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b7903268e235310dc346a164af4c7022", "Thomas Jentzsch", "", "Cat Trax (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "YES", "" }, + { "b7903268e235310dc346a164af4c7022", "Thomas Jentzsch", "", "Cat Trax (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "b79fe32320388a197ac3a0b932cc2189", "Imagic, Bob Smith", "13207, EIZ-001-04I", "Moonsweeper (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "b7a7e34e304e4b7bc565ec01ba33ea27", "Parker Brothers", "PB5820", "Mr. Do!'s Castle (1984) (Parker Bros) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "b7b1d3ce07e75976c43a2dca3866237e", "Atari", "CX26163P", "Freeway Chicken (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Freeway", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b7d0aae399781b3c18679debda6d32b1", "Thomas Jentzsch", "", "Three.s (v1.02)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b7d7c76e37f372f4e4979b380ed95a58", "AtariAge - Michael Haas", "RC2", "Flappy (2014) (AtariAge) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "b7d7c76e37f372f4e4979b380ed95a58", "AtariAge - Michael Haas", "RC2", "Flappy (2014) (AtariAge) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b7e459d5416eeb196aaa8e092db14463", "", "", "Push (V0.02) (1998) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b7f184013991823fc02a6557341d2a7a", "", "", "Blue Rod Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b80d50ecee73919a507498d0a4d922ae", "20th Century Fox Video Games - Sirius Software, David Lubar", "11008", "Fantastic Voyage (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2529,7 +2529,7 @@ static const BSPF::array2D DefProps = {{ { "b8ed78afdb1e6cfe44ef6e3428789d5f", "Data Age, J. Ray Dettling", "112-007", "Bermuda Triangle (1983) (Data Age)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b9232c1de494875efe1858fc8390616d", "Panda", "110", "Harbor Escape (1983) (Panda)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b9336ed6d94a5cc81a16483b0a946a73", "Atari, Jerome Domurat, Michael Sierchio", "CX2667, CX2667P", "RealSports Soccer (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b955eb0e2baf7a437c186bddd4c49958", "Atari, Omegamatrix", "", "Space Invaders Menu (2020) (PAL60) (Hack)", "Hack of Space Invaders", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "b955eb0e2baf7a437c186bddd4c49958", "Atari, Omegamatrix", "", "Space Invaders Menu (2020) (PAL60) (Hack)", "Hack of Space Invaders", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b958d5fd9574c5cf9ece4b9421c28ecd", "Piero Cavina", "", "Multi-Sprite Game V1.0 (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b95a6274ca0e0c773bfdc06b4c3daa42", "Paul Slocum", "", "3-D Corridor (29-03-2003) (Paul Slocum)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "b98cc2c6f7a0f05176f74f0f62c45488", "Spectravideo", "SV-010", "CompuMate (1983) (Spectravideo)", "", "", "", "", "CM", "", "", "", "", "COMPUMATE", "COMPUMATE", "", "", "", "", "YES", "" }, @@ -2547,7 +2547,7 @@ static const BSPF::array2D DefProps = {{ { "bae66907c3200bc63592efe5a9a69dbb", "Spectravision - Spectravideo - Quelle", "SA-201 - 412.783 3", "Gangster Alley (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "baf4ce885aa281fd31711da9b9795485", "Atari, Douglas Neubauer", "CX26176", "Radar Lock (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "bb18189021d58362d9e4d317cd2e28b7", "Activision, David Crane - Ariola", "EAG-001, PAG-001, EAG-001-04B, EAG-001-04I - 711 001-715", "Dragster (1980) (Activision) (PAL) (4K)", "AKA Dragster Rennen", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bb2b83fff97604f74ada565e0b5bae94", "Thomas Jentzsch", "", "Missile Control - Atari Mouse Hack v1.15 (PAL60) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "bb2b83fff97604f74ada565e0b5bae94", "Thomas Jentzsch", "", "Missile Control - Atari Mouse Hack v1.15 (PAL60) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "bb5049e4558daade0f87fed69a244c59", "Atari, Brad Stewart", "CX2649, CX2649P", "Asteroids (1981) (Atari) (PAL) [no copyright]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "bb579404924c40ca378b4aff6ccf302d", "", "", "Lightbulb Lightens, The (PD) (Non Functional)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "bb6a5a2f7b67bee5d1f237f62f1e643f", "", "", "Demo Image Series #5 - Animegirl (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2564,7 +2564,7 @@ static const BSPF::array2D DefProps = {{ { "bc703ea6afb20bc089f04d8c9d79a2bd", "", "", "Gunfight 2600 - Not mergeable with Colbert wizardry... (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "bc97d544f1d4834cc72bcc92a37b8c1b", "", "", "Sky Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "bcb31f22856b0028c00d12f0e4c0a952", "Canal 3 - Intellivision", "", "Thunderground (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bcb73b534ed7c613ac379ecd726effb5", "Bob Montgomery (aka vdub_bobby)", "", "Squish 'Em (2007) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "bcb73b534ed7c613ac379ecd726effb5", "Bob Montgomery (aka vdub_bobby)", "", "Squish 'Em (2007) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "bccb4e2cfad5efc93f6d55dc992118ce", "Activision, Carol Shaw", "AX-020, AX-020-04", "River Raid (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "bce4c291d0007f16997faa5c4db0a6b8", "Quelle", "292.651 7", "Weltraumtunnel (1983) (Quelle) (PAL)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "bce93984b920e9b56cf24064f740fe78", "Atari", "CX26163P", "Checkers (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2600,7 +2600,7 @@ static const BSPF::array2D DefProps = {{ { "bffe34516aaa3cbf5d307eab382a7e95", "", "", "Euchre (Release Candidate) (PAL) (28-09-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c00734a2233ef683d9b6e622ac97a5c8", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26133", "A-Team, The (03-30-1984) (Atari) (Prototype)", "AKA Saboteur", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c00b65d1bae0aef6a1b5652c9c2156a1", "Atari, Joe Decuir - Sears", "CX2621 - 99806, 6-99806, 49-75104", "Video Olympics (1977) (Atari) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "YES", "AUTO 60", "", "", "", "" }, - { "c02e1afa0671e438fd526055c556d231", "Atari", "", "A-Team (Atari) (Prototype) (PAL60)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "c02e1afa0671e438fd526055c556d231", "Atari", "", "A-Team (Atari) (Prototype) (PAL60)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c032c2bd7017fdfbba9a105ec50f800e", "Activision, Charlie Heath", "", "Thwocker (04-09-1984) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c033dc1d7b6fde41b9cadce9638909bb", "", "", "Skeleton (V1.1) (06-09-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c0589bb73858924389077fa3c2e9441a", "SOLID Corp. (D. Scott Williamson)", "CX2655-014", "Star Castle 2600 (SolidCorp) [014]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, @@ -2724,10 +2724,10 @@ static const BSPF::array2D DefProps = {{ { "c8c7da12f087e8d16d3e6a21b371a5d3", "", "", "Demo Image Series #9 - Genius (28-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c8e90fc944596718c84c82b55139b065", "Atari - Roklan, Bob Curtiss", "", "Firefox (1983) (Atari) (Prototype) [a]", "AKA Combat II, Fighter Command", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c8fa5d69d9e555eb16068ef87b1c9c45", "Atari", "CX26144", "Donkey Kong Junior (1987) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c90788d9aa71a78bcc78c015edb22c54", "Thomas Jentzsch", "", "Marble Craze - Atari Trak-Ball Hack v1.0 (PAL60) (TJ)", "Uses Atari Trak-Ball Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "c90788d9aa71a78bcc78c015edb22c54", "Thomas Jentzsch", "", "Marble Craze - Atari Trak-Ball Hack v1.0 (PAL60) (TJ)", "Uses Atari Trak-Ball Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c9196e28367e46f8a55e04c27743148f", "Atari", "CX26163P", "Stampede (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c92cfa54b5d022637fdcbdc1ef640d82", "Retroactive", "", "Qb (V2.05) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c98e8c918a40b4d3a243dd6c49196330", "AtariAge, Omegamatrix", "", "Venture Reloaded (2019) (AtariAge) (PAL60) (Hack)", "Transformative hack of Venture", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "YES", "" }, + { "c98e8c918a40b4d3a243dd6c49196330", "AtariAge, Omegamatrix", "", "Venture Reloaded (2019) (AtariAge) (PAL60) (Hack)", "Transformative hack of Venture", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "c9b7afad3bfd922e006a6bfc1d4f3fe7", "Atari, Larry Kaplan - Sears", "CX2628 - 6-99842, 49-75117", "Bowling (1979) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c9c25fc536de9a7cdc5b9a916c459110", "Activision, Mike Lorenzen", "AX-023", "Oink! (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "c9d02d3cfeef8b48fb71cb4520a4aa84", "", "", "Euchre (More for less) (PAL) (22-08-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2786,12 +2786,12 @@ static const BSPF::array2D DefProps = {{ { "cd4ded1ede63c4dd09f3dd01bda7458c", "Future Video Games", "", "Laser Gate (Future Video Games) (PAL)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cd568d6acb2f14477ebf7e59fb382292", "Videospielkassette - Ariola", "PGP235", "Fussball (Ariola) (PAL)", "AKA International Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cd5af682685cfecbc25a983e16b9d833", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26133", "A-Team, The (05-08-1984) (Atari) (Prototype)", "AKA Saboteur", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd88ef1736497288c4533bcca339f881", "SEGA - Teldec", "005-10", "Buck Rogers - Planet of Zoom (1983) (SEGA) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "PAL", "", "YES", "" }, + { "cd88ef1736497288c4533bcca339f881", "SEGA - Teldec", "005-10", "Buck Rogers - Planet of Zoom (1983) (SEGA) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "cd8fa2e9f6255ef3d3b9b5a4f24a54f7", "", "", "Daredevil (V2) (Stunt_Cycle_Rules!) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cd98be8a48ebf610c9609a688b9c57f2", "Arcadia Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (1982) (Arcadia) (Prototype)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "cd9fea12051e414a6dfe17052067da8e", "Paul Slocum", "", "Marble Craze Demo (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cda38714267978b9a8b0b24bee3529ae", "", "", "Space Instigators (V1.6) (17-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cdadb57b34438805ee322ff05bd3d43e", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "cdadb57b34438805ee322ff05bd3d43e", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cdb81bf33d830ee4ee0606ee99e84dba", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (1982) (Arcadia) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, { "cdc1a5c61d7488eadc9aba36166b253d", "Retroactive", "", "Qb (V0.12) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "cddabfd68363a76cd30bee4e8094c646", "Computer Magic - CommaVid, John Bronstein", "CM-001", "MagiCard (1981) (CommaVid)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2808,7 +2808,7 @@ static const BSPF::array2D DefProps = {{ { "ce89529d6e98a13ddf3d84827bbdfe68", "", "", "Kung Fu Sprite Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "ce904c0ae58d36d085cd506989116b0b", "Telegames", "5687 A279", "International Soccer (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cea9f72036dc6f7af5eff52459066290", "Retroactive", "", "Qb (2.07) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ceba7965a93c689bdecdb46a5b2ac0c1", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "ceba7965a93c689bdecdb46a5b2ac0c1", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cedbd67d1ff321c996051eec843f8716", "Ultravision", "1044", "Karate (1982) (Ultravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cef01595000627ee50863d4290372c27", "", "", "Many Blue Bars and Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cef2287d5fd80216b2200fb2ef1adfa8", "Milton Bradley Company", "4363", "Spitfire Attack (1983) (Milton Bradley)", "AKA Flight Commander)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2833,7 +2833,7 @@ static const BSPF::array2D DefProps = {{ { "cff1e9170bdbc29859b815203edf18fa", "Retroactive", "", "Push (V0.01) (1998) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "cff578e5c60de8caecbee7f2c9bbb57b", "George Veeder", "", "Suicide Adventure (George Veeder) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "cff9950d4e650094f65f40d179a9882d", "Paul Slocum", "", "Mr. Roboto (Paul Slocum) (Hack)", "Hack of Berzerk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cfffc4b97d01cc3e7b9f47575f7b11ec", "Xonox - K-Tel Software, Anthony R. Henderson", "99007, 6240", "Tomarc the Barbarian (1983) (Xonox) (PAL60)", "Genesis controller (B is jump and throw, C switches between players)", "Hack of Tomarc the Barbarian", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "cfffc4b97d01cc3e7b9f47575f7b11ec", "Xonox - K-Tel Software, Anthony R. Henderson", "99007, 6240", "Tomarc the Barbarian (1983) (Xonox) (PAL60)", "Genesis controller (B is jump and throw, C switches between players)", "Hack of Tomarc the Barbarian", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d00f6f8ba89559e4b20972a478fc0370", "Spiceware", "SW-01", "Medieval Mayhem (PAL)", "", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "AUTO 55", "", "", "", "" }, { "d010e3dfe7366e47561c088079a59439", "Retroactive", "", "Qb (V0.10) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "d026716b3c5be2c951cc4c064317c524", "", "", "Fu Kung! (V0.06) (14-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2896,7 +2896,7 @@ static const BSPF::array2D DefProps = {{ { "d45bf71871b196022829aa3b96bfcfd4", "Activision, Steve Cartwright", "AX-017, AX-017-04", "MegaMania (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d45ebf130ed9070ea8ebd56176e48a38", "SEGA, Jeff Lorenz", "001-01", "Tac-Scan (1983) (SEGA)", "Uses the Paddle Controllers (right only)", "", "", "", "", "", "", "", "YES", "", "", "YES", "AUTO 60", "", "", "YES", "" }, { "d47387658ed450db77c3f189b969cc00", "PlayAround - J.H.M.", "206", "Westward Ho (1982) (PlayAround) (PAL)", "AKA Custer's Revenge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d4806775693fcaaa24cf00fc00edcdf3", "Atari - Bobco, Robert C. Polaro", "CX26140, CX26140P", "Desert Falcon (1987) (Atari) (PAL)", "AKA Nile Flyer, Sphinx", "", "", "", "", "", "", "", "", "", "", "", "", "PAL", "", "", "" }, + { "d4806775693fcaaa24cf00fc00edcdf3", "Atari - Bobco, Robert C. Polaro", "CX26140, CX26140P", "Desert Falcon (1987) (Atari) (PAL)", "AKA Nile Flyer, Sphinx", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d483f65468d9a265661917bae1a54f3e", "Joe Grand", "", "SCSIcide Pre-release 3 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d4942f4b55313ff269488527d84ce35c", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2675, CX2675P", "Ms. Pac-Man (1982) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d49aff83f77a1b9041ad7185df3c2277", "", "", "Space Treat (60% complete) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2913,7 +2913,7 @@ static const BSPF::array2D DefProps = {{ { "d5aa7472e7f2cc17e893a1a36f8dadf0", "", "", "Overhead Adventure Demo 5 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d5c6b81212ad86fd9542a1fedaf57cae", "", "", "Sprite Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d5d2d44fb73785996ccc24ae3a0f5cef", "Robby", "", "Grand Prix (Robby)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d5e17022d1ecc20fd9b53dc464c302f1", "Activision, Carol Shaw", "EAX-020", "River Raid (1982) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "SECAM", "", "", "" }, + { "d5e17022d1ecc20fd9b53dc464c302f1", "Activision, Carol Shaw", "EAX-020", "River Raid (1982) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d5e27051512c1e7445a9bf91501bda09", "Activision, David Crane", "AG-008", "Laser Blast (1981) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d5e5b3ec074fff8976017ef121d26129", "Star Game", "003", "River Raid (Star Game)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "d5f965c159e26a1fb49a22a47fbd1dd0", "Supergame", "", "River Raid II (Supergame)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2975,7 +2975,7 @@ static const BSPF::array2D DefProps = {{ { "da6465a34d2e44d26aa9a2a0cd1bce4d", "Absolute Entertainment, Alex DeMeo", "AG-041-04", "Title Match Pro Wrestling (1987) (Absolute) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "da66d75e4b47fab99733529743f86f4f", "Digitel", "", "Chopper Command (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "da732c57697ad7d7af414998fa527e75", "Atari - Glenn Axworthy", "CX26129", "Midnight Magic (1986) (Atari) (PAL)", "AKA Pinball Wizard", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "da79aad11572c80a96e261e4ac6392d0", "Salu - Ubi Soft, Dennis M. Kiss", "460673", "Pick 'n' Pile (1990) (Salu) (PAL)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "PAL", "", "YES", "" }, + { "da79aad11572c80a96e261e4ac6392d0", "Salu - Ubi Soft, Dennis M. Kiss", "460673", "Pick 'n' Pile (1990) (Salu) (PAL)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "YES", "" }, { "da7a17dcdaa62d6971393c0a6faf202a", "", "", "Flag Capture (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dab844deed4c752632b5e786b0f47999", "", "", "Super Challenge Baseball (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "dac38b4dd3da73bb7b2e9d70c61d2b7c", "", "", "Hangman Monkey Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3129,7 +3129,7 @@ static const BSPF::array2D DefProps = {{ { "e40a818dac4dd851f3b4aafbe2f1e0c1", "Atari, Bill Aspromonte, Dr. Lee Salk", "CX26135", "Peek-A-Boo (1984) (Atari) (Prototype)", "Uses the Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e42b937c30c617241ca9e01e4510c3f6", "", "", "Pitfall! (No Walls Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e434c0e161dd3c3fb435eb6bad2e182c", "Atari - GCC, Mike Feinstein, Brad Rice", "CX2681", "Battlezone (05-02-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e48d3a4056ede9393586421996db1ae8", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "e48d3a4056ede9393586421996db1ae8", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e49ac0ec879a0d7820bc2598fc2cfcd4", "CCE", "", "Kaboom! (CCE) (4K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, { "e4a0b28befaaa2915df1fa01238b1e29", "", "", "Gunfight 2600 - Red River (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e4afe157c09962cf39cdb25845d83d47", "Activision, David Crane - Ariola", "EAG-009, PAG-009 - 711 009-720", "Freeway (1981) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3211,7 +3211,7 @@ static const BSPF::array2D DefProps = {{ { "e9db2f91efe6ff7ea3546e2c2578fb09", "Omegamatrix", "", "Millipede (Atari Mouse) v6.5 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, { "e9e646f730b8400cd5da08c849ef3e3b", "Tron", "", "Enduro (Tron)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "e9e6ad30549a6e2cd89fe93b7691d447", "Atari - Bobco, Robert C. Polaro", "CX26140, CX26140P", "Desert Falcon (05-27-1987) (Atari) (Prototype) (PAL)", "AKA Nile Flyer, Sphinx", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e9f25c7af4f27c9e1b5b8f6fe6141e8c", "Champ Games", "CG-03-N", "Scramble (NTSC)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "YES", "" }, + { "e9f25c7af4f27c9e1b5b8f6fe6141e8c", "Champ Games", "CG-03-N", "Scramble (NTSC)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, { "ea38fcfc06ad87a0aed1a3d1588744e4", "Atari, Lou Harp", "CX26122", "Sinistar (01-XX-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ea6d40db5498d6386571a76df448aa4c", "", "", "Vertical Playfield Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ea7e25ade3fe68f5b786ee0aa82b1fe5", "", "", "Galatic (208 in 1) (Unknown) (PAL)", "AKA Challenge of.... Nexar, The", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3231,7 +3231,7 @@ static const BSPF::array2D DefProps = {{ { "eb634650c3912132092b7aee540bbce3", "Atari, Eric Manghise, Mimi Nyden, Joseph Tung", "CX2640", "RealSports Baseball (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "eb6d6e22a16f30687ade526d7a6f05c5", "Atari", "CX26150P", "Q-bert (1987) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "eb71743c6c7ccce5b108fad70a326ad9", "", "", "Euchre (25-11-2001) (Erik Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb7934360658a29c50aeaff20bfda23b", "Activision, John Van Ryzin", "EAZ-036-04", "H.E.R.O. (1984) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "SECAM", "", "", "" }, + { "eb7934360658a29c50aeaff20bfda23b", "Activision, John Van Ryzin", "EAZ-036-04", "H.E.R.O. (1984) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "eb92193f06b645df0b2a15d077ce435f", "Starpath Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (1982) (Starpath) (PAL)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "eb9712e423b57f0b07ccd315bb9abf61", "Retroactive", "", "Qb (V2.04) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "eb9f8b84c193d9d93a58fca112aa39ed", "", "", "Register Twiddler Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3245,7 +3245,7 @@ static const BSPF::array2D DefProps = {{ { "ec407a206b718a0a9f69b03e920a0185", "Quelle", "876.482 1", "Landung in der Normandie (1983) (Quelle) (PAL)", "AKA Commando Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ec5c861b487a5075876ab01155e74c6c", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2001", "Spacechase (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ece463abde92e8b89bcd867ec71751b8", "Puzzy - Bit Corporation", "PG205", "Dancing Plate (1982) (Puzzy) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ece908d77ab944f7bac84322b9973549", "", "", "Tom Boy (Unknown) (PAL60)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "ece908d77ab944f7bac84322b9973549", "", "", "Tom Boy (Unknown) (PAL60)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ecf51385384b468834611d44a8429c03", "20th Century Fox Video Games, Douglas 'Dallas North' Neubauer", "11105", "Mega Force (1982) (20th Century Fox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ecfa04523dde82fe42cdc7315a8f61b6", "Activision, David Crane - Ariola", "EAG-004, PAG-004 - 711 004-715", "Fishing Derby (1980) (Activision) (PAL) (4K)", "AKA Schneller als der Hai", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ed014beeeb77dbb2bbcf9b5f6850b2f4", "", "", "Green Bar Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3254,11 +3254,11 @@ static const BSPF::array2D DefProps = {{ { "ed1306436ce237afc5a7ed3f77134202", "HES", "771-341", "2 Pak Special - Dolphin, Pigs n' Wolf (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ed1492d4cafd7ebf064f0c933249f5b0", "CCE", "", "Video Cube (CCE)", "AKA Atari Video Cube", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ed1a784875538c7871d035b7a98c2433", "Bit Corporation", "R320", "Save Our Ship (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed2218b3075d15eaa34e3356025ccca3", "Atari, Richard Maurer", "CX2635, CX2635P", "Maze Craze (1980) (Atari) (PAL)", "AKA A Game of Cops 'n Robbers", "", "", "", "", "", "", "", "", "", "", "", "", "PAL", "", "", "" }, + { "ed2218b3075d15eaa34e3356025ccca3", "Atari, Richard Maurer", "CX2635, CX2635P", "Maze Craze (1980) (Atari) (PAL)", "AKA A Game of Cops 'n Robbers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ed5ccfc93ad4561075436ee42a15438a", "Atari, Tom Reuterdahl", "CX2626, CX2626P", "Miniature Golf (1979) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ed8f319e82d355832195eb7715644795", "Activision, Larry Kaplan, David Crane", "AG-010, AG-010-04", "Kaboom! (1981) (Activision) (8K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, { "eddef10fdc0029301064115ae0cd41d4", "CCE", "", "Freeway (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ede4ab11ca346bd023b2c21d941e0c50", "Activision, David Crane", "EAZ-030", "Decathlon (1983) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "SECAM", "", "", "" }, + { "ede4ab11ca346bd023b2c21d941e0c50", "Activision, David Crane", "EAZ-030", "Decathlon (1983) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ede7e8bf865b0afb4744f86d13624f9a", "", "", "Demo Image Series #2 - Clown (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "edf69b123e06eaf8663cc78d8aeba06e", "SpkSoft 98", "", "River Raid (SpkSoft 98) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ee28424af389a7f3672182009472500c", "Atari, Carol Shaw - Ralph Lauren", "", "Polo (1978) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3304,7 +3304,7 @@ static const BSPF::array2D DefProps = {{ { "f0cacae1d1b79ee92f0dc035f42e0560", "", "", "Boring Donkey Kong (Hack)", "Hack of Donkey Kong", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f0d393dbf4164a688b2346770c9bbd12", "", "", "Racquetball (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "f0daaa966199ef2b49403e9a29d12c50", "", "", "Mr. Postman (Unknown)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0de4f49e95d529569e8788d5a7b4d30", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "f0de4f49e95d529569e8788d5a7b4d30", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f0e0addc07971561ab80d9abe1b8d333", "Imagic, Rob Fulop", "720000-200, 720101-1B, 720101-1C, IA3200, IA3200C, IX-006-04", "Demon Attack (1982) (Imagic)", "AKA Death from Above", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f0ef9a1e5d4027a157636d7f19952bb5", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a5]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f10e3f45fb01416c87e5835ab270b53a", "Suntek", "SS-024", "Ski Run (1983) (Suntek) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3312,7 +3312,7 @@ static const BSPF::array2D DefProps = {{ { "f11cfab087fcbd930ab8b0becc5b2e5a", "Canal 3 - Intellivision", "", "River Raid (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f12afbffa080dd3b2801dd14d4837cf6", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (01-04-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "f137211537438b1fce3d811baef25457", "", "", "Incoming (02-10-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1489e27a4539a0c6c8529262f9f7e18", "Champ Games", "CG-01-P", "Lady Bug (PAL60)", "", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "PAL60", "", "YES", "" }, + { "f1489e27a4539a0c6c8529262f9f7e18", "Champ Games", "CG-01-P", "Lady Bug (PAL60)", "", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "YES", "" }, { "f14d5e96ec3380aef57a4b70132c6677", "Goliath - Hot Shot", "83-414", "Pac Kong (1983) (Goliath) (PAL)", "AKA Inca Gold", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "f1554569321dc933c87981cf5c239c43", "Atari - Glenn Axworthy", "CX26129", "Midnight Magic (1986) (Atari)", "AKA Pinball Wizard", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "f16c709df0a6c52f47ff52b9d95b7d8d", "Atari, Alan Miller - Sears", "CX2662 - 6-99811", "Hangman (1978) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -3459,7 +3459,7 @@ static const BSPF::array2D DefProps = {{ { "fa6fe97a10efb9e74c0b5a816e6e1958", "ZiMAG - Emag - Vidco", "707-111 - GN-030", "Tanks But No Tanks (1983) (ZiMAG)", "AKA Phantom Tank", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fa7ce62e7fd77e02b3e2198d70742f80", "Atari, Peter C. Niday", "CX26108", "Donald Duck's Speedboat (04-18-1983) (Atari) (Prototype) (PAL)", "AKA Donald Duck's Regatta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fa7e11a3dbea4365975cd2f094e61d25", "Tim Snider", "", "Mystery Science Theater 2600 (1999) (Tim Snider) (Hack)", "Hack of Megamania", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa98d48cd609c9babc819e0a1bd8d598", "AtariAge (Chris Walton)", "", "Juno First (2009) (PAL60)", "AtariVox supported", "Homebrew", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "PAL60", "", "YES", "" }, + { "fa98d48cd609c9babc819e0a1bd8d598", "AtariAge (Chris Walton)", "", "Juno First (2009) (PAL60)", "AtariVox supported", "Homebrew", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "YES", "" }, { "fab7b04b9f42df761eb6f2bc445eaa99", "20th Century Fox Video Games - Sirius Software, David Lubar", "11008", "Fantastic Voyage (11-04-1982) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fabca526d57de46768b392f758f1a008", "", "", "Laseresal 2600 (16-12-2001) (Andrew Wallace) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "fac28963307b6e85082ccd77c88325e7", "CCE", "", "Berzerk (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, diff --git a/src/emucore/stella.pro b/src/emucore/stella.pro index 42d4cc186..8fec4e33d 100644 --- a/src/emucore/stella.pro +++ b/src/emucore/stella.pro @@ -252,7 +252,7 @@ "Cart.Name" "Princess Rescue (2013) (Sprybug) (PAL60)" "Cart.Note" "Compatible with Genesis controller" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" +"Controller.Left" "JOYSTICK" "Display.Phosphor" "YES" "" @@ -495,7 +495,6 @@ "Cart.MD5" "069c17beb1e8e0557adb8539fdcf6cba" "Cart.Name" "Phantom II & Pirate (PAL60)" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "" "Cart.MD5" "06b0194ce992584c365278e0d7323279" @@ -679,7 +678,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Centipede - Atari Trak-Ball Hack v1.4 (PAL60) (Half-Speed) (TJ)" "Cart.Note" "Uses Atari Trak-Ball Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "0894aa7be77521f9df562be8d9555fe6" @@ -733,7 +731,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.2 (PAL60) (TJ)" "Cart.Note" "Uses Atari Trak-Ball Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "08f4dc6f118f7c98e2406c180c08e78e" @@ -1027,7 +1024,6 @@ "Cart.ModelNo" "v1.3" "Cart.Name" "Amoeba Jump (2018) (Dionoid) (PAL60)" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "" "Cart.MD5" "0c7926d660f903a2d6910c254660c32c" @@ -1081,7 +1077,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Challenge of... Nexar, The - Atari Mouse Hack v1.1 (PAL60) (TJ)" "Cart.Note" "Uses Atari Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "0cfdd2f3b243cac21f38a0f09f54bead" @@ -1194,7 +1189,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Centipede - Amiga Mouse Hack v1.4 (PAL60) (Half-Speed) (TJ)" "Cart.Note" "Uses Amiga Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "0e4b2b6e014a93ef8be896823da0d4ec" @@ -1342,7 +1336,6 @@ "Cart.ModelNo" "805.784 6" "Cart.Name" "Labyrinth (1983) (Quelle) (PAL)" "Cart.Note" "AKA Maze Craze" -"Display.Format" "PAL" "" "Cart.MD5" "0fc161704c46e16f7483f92b06c1558d" @@ -1399,6 +1392,7 @@ "Cart.Name" "Princess Rescue (2013) (Sprybug)" "Cart.Note" "Compatible with Genesis controller" "Cart.Rarity" "Homebrew" +"Controller.Left" "JOYSTICK" "Display.Phosphor" "YES" "" @@ -1975,7 +1969,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Challenge of... Nexar, The - Amiga Mouse Hack v1.1 (PAL60) (TJ)" "Cart.Note" "Uses Amiga Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "1733772165d7b886a94e2b4ed0f74ccd" @@ -2112,7 +2105,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Missile Control - Amiga Mouse Hack v1.15 (PAL60) (TJ)" "Cart.Note" "Uses Amiga Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "18bebbbd41c234f82b1717b1905e6027" @@ -2354,7 +2346,6 @@ "Cart.Manufacturer" "Nukey Shay, Omegamatrix" "Cart.Name" "Double Dragon (Genesis) (PAL60) V2" "Cart.Note" "Genesis controller" -"Display.Format" "PAL60" "" "Cart.MD5" "1c6eb740d3c485766cade566abab8208" @@ -2638,7 +2629,6 @@ "Cart.Name" "Stay Frosty (SpiceWare) (PAL60)" "Cart.Note" "Part of Stella's Stocking 2007 Xmas compilation" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "Display.Phosphor" "YES" "" @@ -2701,7 +2691,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Reactor - Amiga Mouse Hack v1.3 (PAL60) (Full-Speed) (TJ)" "Cart.Note" "Uses Amiga Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "2091af29b4e7b86914d79d9aaa4cbd20" @@ -2898,8 +2887,7 @@ "Cart.Name" "Scramble (PAL60)" "Cart.Note" "Compatible with Genesis controller" "Cart.Rarity" "Homebrew" -"Controller.Left" "GENESIS" -"Display.Format" "PAL60" +"Controller.Left" "JOYSTICK" "Display.Phosphor" "YES" "" @@ -3157,7 +3145,6 @@ "Cart.Manufacturer" "Activision, Garry Kitchen" "Cart.ModelNo" "EAX-025" "Cart.Name" "Keystone Kapers (1983) (Activision) (SECAM)" -"Display.Format" "SECAM" "" "Cart.MD5" "25f9cf703575c5d63048c222f5463758" @@ -3218,7 +3205,6 @@ "Cart.Manufacturer" "Omegamatrix" "Cart.Name" "SpaceMaster X-7 (Amiga Mouse) (PAL60) (Omegamatrix)" "Cart.Note" "Uses Amiga Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "271bfd5dc2673d382019f1fb6cab9332" @@ -3294,7 +3280,6 @@ "Cart.Note" "Hack of Video Olympics" "Controller.SwapPaddles" "YES" "Controller.MouseAxis" "AUTO 60" -"Display.Format" "PAL60" "" "Cart.MD5" "27baecd618e7e53dc11f2a9c559f529d" @@ -3721,7 +3706,6 @@ "Cart.Name" "Kool Aid Man (PAL Conversion) (16-11-2002) (Fabrizio Zavagli) (PAL60)" "Cart.Note" "PAL60 Conversion" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "" "Cart.MD5" "2c9fadd510509cc7f28f1ccba931855f" @@ -3889,7 +3873,6 @@ "Cart.Manufacturer" "Gray Games & AtariAge" "Cart.Name" "E.T. Book Cart (PAL60)" "Cart.Note" "Charles F. Gray & Michael Rideout" -"Display.Format" "PAL60" "Display.Phosphor" "YES" "Display.PPBlend" "55" "" @@ -4726,7 +4709,6 @@ "Cart.ModelNo" "SS-004" "Cart.Name" "Pyramid War (1983) (Rainbow Vision) (PAL) [a2]" "Cart.Note" "AKA Chopper Command" -"Display.Format" "PAL" "" "Cart.MD5" "384db97670817103dd8c0bbdef132445" @@ -5967,7 +5949,6 @@ "Cart.Manufacturer" "Omegamatrix" "Cart.Name" "Star Wars Arcade (Atari Trak-Ball) v4 (PAL60) (Omegamatrix)" "Cart.Note" "Uses Atari Trak-Ball Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "4767356fa0ed3ebe21437b4473d4ee28" @@ -6173,7 +6154,6 @@ "Cart.Manufacturer" "Andreas Dietrich" "Cart.Name" "Donkey Kong VCS (2017) (1.0) (PAL60)" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "Display.Phosphor" "YES" "" @@ -6332,7 +6312,6 @@ "Cart.Manufacturer" "Omegamatrix" "Cart.Name" "SpaceMaster X-7 (Atari Mouse) (PAL60) (Omegamatrix)" "Cart.Note" "Uses Atari Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "4b71197153d651480830638cb6a03249" @@ -6738,7 +6717,6 @@ "Cart.MD5" "50200f697aeef38a3ce31c4f49739551" "Cart.Manufacturer" "Mystique - American Multiple Industries, Joel H. Martin" "Cart.Name" "Custer's Revenge (1982) (Mystique) (PAL60)" -"Display.Format" "PAL60" "" "Cart.MD5" "502044b1ac111b394e6fbb0d821fca41" @@ -7280,7 +7258,6 @@ "Cart.Manufacturer" "Omegamatrix" "Cart.Name" "Star Wars Arcade (Amiga Mouse) v4 (PAL60) (Omegamatrix)" "Cart.Note" "Uses Amiga Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "571c6d9bc71cb97617422851f787f8fe" @@ -7376,7 +7353,6 @@ "Cart.Manufacturer" "Xonox - K-Tel Software - Action Graphics, Michael Schwartz, David Thiel" "Cart.ModelNo" "6230, 7210, 06004, 99004" "Cart.Name" "Artillery Duel (1983) (Xonox) (PAL60)" -"Display.Format" "PAL60" "" "Cart.MD5" "58a82e1da64a692fd727c25faef2ecc9" @@ -7486,8 +7462,7 @@ "Cart.Name" "Super Cobra Arcade (PAL60)" "Cart.Note" "Compatible with Genesis controller" "Cart.Rarity" "Homebrew" -"Controller.Left" "GENESIS" -"Display.Format" "PAL60" +"Controller.Left" "JOYSTICK" "Display.Phosphor" "YES" "" @@ -7784,7 +7759,6 @@ "Cart.Name" "Space Shuttle (1983) (Activision) (SECAM)" "Cart.Note" "A Journey Into Space" "Cart.Type" "FE" -"Display.Format" "SECAM" "" "Cart.MD5" "5d2cc33ca798783dee435eb29debf6d6" @@ -8772,7 +8746,6 @@ "Cart.Manufacturer" "Omegamatrix" "Cart.Name" "SpaceMaster X-7 (Atari Trak-Ball) (PAL60) (Omegamatrix)" "Cart.Note" "Uses Atari Trak-Ball Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "6803fa7c2c094b428b859a58dc1dd06a" @@ -8796,7 +8769,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Centipede - Atari Mouse Hack v1.4 (PAL60) (Full-Speed) (TJ)" "Cart.Note" "Uses Atari Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "683bb0d0f0c5df58557fba9dffc32c40" @@ -9709,7 +9681,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Missile Control - Atari Trak-Ball Hack v1.15 (PAL60) (TJ)" "Cart.Note" "Uses Atari Trak-Ball Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "72bda70c75dfa2365b3f8894bace9e6a" @@ -9967,7 +9938,6 @@ "Cart.Name" "Conquest Of Mars (2010) (PAL60)" "Cart.Note" "Rev 2 release" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "" "Cart.MD5" "75a303fd46ad12457ed8e853016815a0" @@ -10443,7 +10413,6 @@ "Cart.Manufacturer" "Omegamatrix" "Cart.Name" "Star Wars Arcade (Atari Trak-Ball) (Y Inverted) (PAL60) v4 (Omegamatrix)" "Cart.Note" "Uses Atari Trak-Ball Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "7b5207e68ee85b16998bea861987c690" @@ -10578,7 +10547,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Centipede - Atari Mouse Hack v1.4 (PAL60) (Half-Speed) (TJ)" "Cart.Note" "Uses Atari Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "7d0b49ea4fe3a5f1e119a6d14843db17" @@ -11001,7 +10969,6 @@ "Cart.Note" "Hack of Kaboom!" "Cart.Rarity" "Hack" "Controller.MouseAxis" "01 50" -"Display.Format" "PAL60" "" "Cart.MD5" "8108162bc88b5a14adc3e031cf4175ad" @@ -11225,7 +11192,7 @@ "Cart.Name" "Super Cobra Arcade (NTSC)" "Cart.Note" "Compatible with Genesis controller" "Cart.Rarity" "Homebrew" -"Controller.Left" "GENESIS" +"Controller.Left" "JOYSTICK" "Display.Phosphor" "YES" "" @@ -11384,7 +11351,6 @@ "Cart.ModelNo" "CG-02-P" "Cart.Name" "Conquest Of Mars (PAL60)" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "" "Cart.MD5" "85e48d68c8d802e3ba9d494a47d6e016" @@ -11855,7 +11821,6 @@ "Cart.Manufacturer" "Omegamatrix" "Cart.Name" "Star Wars Arcade (Amiga Mouse) (Y Inverted) (PAL60) v4 (Omegamatrix)" "Cart.Note" "Uses Amiga Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "8c1cc284edba691139d6626d062c606f" @@ -11863,7 +11828,6 @@ "Cart.Name" "Super Breakout Menu (2020) (PAL60) (Hack)" "Cart.Note" "Hack of Super Breakout" "Controller.MouseAxis" "AUTO 45" -"Display.Format" "PAL60" "" "Cart.MD5" "8c2fa33048f055f38358d51eefe417db" @@ -12042,7 +12006,6 @@ "Cart.Name" "Cosmic Commuter (Thomas Jentzsch) (PAL60)" "Cart.Note" "NTSC Conversion" "Cart.Rarity" "Hack" -"Display.Format" "PAL60" "" "Cart.MD5" "8e887d1ba5f3a71ae8a0ea16a4af9fc9" @@ -12069,7 +12032,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Reactor - Amiga Mouse Hack v1.3 (PAL60) (Half-Speed) (TJ)" "Cart.Note" "Uses Amiga Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "8f33bce5ba1053dcf4cea9c1c69981e4" @@ -12177,7 +12139,6 @@ "Cart.Name" "Crash Dive (Fabrizio Zavagli) (PAL60)" "Cart.Note" "NTSC Conversion" "Cart.Rarity" "Hack" -"Display.Format" "PAL60" "" "Cart.MD5" "90a3c3255f2a54225cdcb50831f8793a" @@ -12439,7 +12400,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.1 (PAL60) (TJ)" "Cart.Note" "Uses Atari Trak-Ball Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "93dc15d15e77a7b23162467f95a5f22d" @@ -12488,7 +12448,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Marble Craze - Amiga Mouse Hack v1.0 (PAL60) (TJ)" "Cart.Note" "Uses Amiga Mouse Controllers" -"Display.Format" "PAL60" "" "Cart.MD5" "94507dee401b0a072a481c00d7699ffe" @@ -13050,7 +13009,6 @@ "Cart.Manufacturer" "Andrew Wallace" "Cart.Name" "Laseresal 2002 (PAL60) (PD)" "Cart.Rarity" "New Release" -"Display.Format" "PAL60" "" "Cart.MD5" "9c729017dd2f9ccbadcb511187f80e6b" @@ -13265,7 +13223,6 @@ "Cart.Name" "Montezuma's Revenge (Thomas Jentzsch) (PAL60)" "Cart.Note" "NTSC Conversion" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "" "Cart.MD5" "9f8fad4badcd7be61bbd2bcaeef3c58f" @@ -13539,7 +13496,6 @@ "Cart.Manufacturer" "Omegamatrix" "Cart.Name" "Star Wars Arcade (Atari Mouse) (Y Inverted) (PAL60) v4 (Omegamatrix)" "Cart.Note" "Uses Atari Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "a2de0fc85548871279ed2a3c1325c13e" @@ -13562,7 +13518,6 @@ "Cart.Manufacturer" "Nukey Shay" "Cart.Name" "Montezuma's Revenge (Genesis) (PAL60) (F6_Conversion)" "Cart.Note" "Genesis controller" -"Display.Format" "PAL60" "" "Cart.MD5" "a302b922a8dbec47743f28b7f91d4cd8" @@ -13644,7 +13599,6 @@ "Cart.Manufacturer" "Aaron Curtis" "Cart.Name" "AStar (PAL60)" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "" "Cart.MD5" "a406d2f6d84e61d842f4cb13b2b1cfa7" @@ -13697,7 +13651,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Marble Craze - Atari Mouse Hack v1.0 (PAL60) (TJ)" "Cart.Note" "Uses Atari Mouse Controllers" -"Display.Format" "PAL60" "" "Cart.MD5" "a499d720e7ee35c62424de882a3351b6" @@ -14116,7 +14069,6 @@ "Cart.ModelNo" "CX26201" "Cart.Name" "Zippy the Porcupine (2014) (Sprybug) (PAL60)" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "" "Cart.MD5" "a9e3c23599c0d77151602f8e31daf879" @@ -14388,7 +14340,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Reactor - Atari Trak-Ball Hack v1.3 (PAL60) (Full-Speed) (TJ)" "Cart.Note" "Uses Atari Trak-Ball Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "ad7e97c19bd25d5aa3999430845c755b" @@ -14720,7 +14671,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Reactor - Atari Mouse Hack v1.3 (PAL60) (Half-Speed) (TJ)" "Cart.Note" "Uses Atari Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "b1a6c96e9093352106bc335e96caa154" @@ -14879,7 +14829,6 @@ "Cart.Manufacturer" "Omegamatrix" "Cart.Name" "Star Wars Arcade (Atari Mouse) v4 (PAL60) (Omegamatrix)" "Cart.Note" "Uses Atari Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "b31f178aa0d569cccac7959f84e0a724" @@ -15145,7 +15094,6 @@ "Cart.Name" "Cat Trax (Thomas Jentzsch) (PAL60)" "Cart.Note" "NTSC Conversion" "Cart.Rarity" "Hack" -"Display.Format" "PAL60" "Display.Phosphor" "YES" "" @@ -15181,7 +15129,6 @@ "Cart.ModelNo" "RC2" "Cart.Name" "Flappy (2014) (AtariAge) (PAL60)" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "" "Cart.MD5" "b7e459d5416eeb196aaa8e092db14463" @@ -15286,7 +15233,6 @@ "Cart.Manufacturer" "Atari, Omegamatrix" "Cart.Name" "Space Invaders Menu (2020) (PAL60) (Hack)" "Cart.Note" "Hack of Space Invaders" -"Display.Format" "PAL60" "" "Cart.MD5" "b958d5fd9574c5cf9ece4b9421c28ecd" @@ -15401,7 +15347,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Missile Control - Atari Mouse Hack v1.15 (PAL60) (TJ)" "Cart.Note" "Uses Atari Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "bb5049e4558daade0f87fed69a244c59" @@ -15492,7 +15437,6 @@ "Cart.Manufacturer" "Bob Montgomery (aka vdub_bobby)" "Cart.Name" "Squish 'Em (2007) (PAL60)" "Cart.Rarity" "Homebrew" -"Display.Format" "PAL60" "" "Cart.MD5" "bccb4e2cfad5efc93f6d55dc992118ce" @@ -15709,7 +15653,6 @@ "Cart.Manufacturer" "Atari" "Cart.Name" "A-Team (Atari) (Prototype) (PAL60)" "Cart.Rarity" "Prototype" -"Display.Format" "PAL60" "" "Cart.MD5" "c032c2bd7017fdfbba9a105ec50f800e" @@ -16487,7 +16430,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Marble Craze - Atari Trak-Ball Hack v1.0 (PAL60) (TJ)" "Cart.Note" "Uses Atari Trak-Ball Controllers" -"Display.Format" "PAL60" "" "Cart.MD5" "c9196e28367e46f8a55e04c27743148f" @@ -16506,7 +16448,6 @@ "Cart.Manufacturer" "AtariAge, Omegamatrix" "Cart.Name" "Venture Reloaded (2019) (AtariAge) (PAL60) (Hack)" "Cart.Note" "Transformative hack of Venture" -"Display.Format" "PAL60" "Display.Phosphor" "YES" "" @@ -16873,7 +16814,6 @@ "Cart.Manufacturer" "SEGA - Teldec" "Cart.ModelNo" "005-10" "Cart.Name" "Buck Rogers - Planet of Zoom (1983) (SEGA) (PAL)" -"Display.Format" "PAL" "Display.Phosphor" "YES" "" @@ -16903,7 +16843,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Centipede - Amiga Mouse Hack v1.4 (PAL60) (Full-Speed) (TJ)" "Cart.Note" "Uses Amiga Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "cdb81bf33d830ee4ee0606ee99e84dba" @@ -17009,7 +16948,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Reactor - Atari Trak-Ball Hack v1.3 (PAL60) (Half-Speed) (TJ)" "Cart.Note" "Uses Atari Trak-Ball Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "cedbd67d1ff321c996051eec843f8716" @@ -17162,7 +17100,6 @@ "Cart.Name" "Tomarc the Barbarian (1983) (Xonox) (PAL60)" "Cart.Note" "Genesis controller (B is jump and throw, C switches between players)" "Cart.Rarity" "Hack of Tomarc the Barbarian" -"Display.Format" "PAL60" "" "Cart.MD5" "d00f6f8ba89559e4b20972a478fc0370" @@ -17552,7 +17489,6 @@ "Cart.ModelNo" "CX26140, CX26140P" "Cart.Name" "Desert Falcon (1987) (Atari) (PAL)" "Cart.Note" "AKA Nile Flyer, Sphinx" -"Display.Format" "PAL" "" "Cart.MD5" "d483f65468d9a265661917bae1a54f3e" @@ -17649,7 +17585,6 @@ "Cart.Manufacturer" "Activision, Carol Shaw" "Cart.ModelNo" "EAX-020" "Cart.Name" "River Raid (1982) (Activision) (SECAM)" -"Display.Format" "SECAM" "" "Cart.MD5" "d5e27051512c1e7445a9bf91501bda09" @@ -18008,7 +17943,6 @@ "Cart.ModelNo" "460673" "Cart.Name" "Pick 'n' Pile (1990) (Salu) (PAL)" "Console.SwapPorts" "YES" -"Display.Format" "PAL" "Display.Phosphor" "YES" "" @@ -18933,7 +18867,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Centipede - Atari Trak-Ball Hack v1.4 (PAL60) (Full-Speed) (TJ)" "Cart.Note" "Uses Atari Trak-Ball Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "e49ac0ec879a0d7820bc2598fc2cfcd4" @@ -19430,7 +19363,7 @@ "Cart.Name" "Scramble (NTSC)" "Cart.Note" "Compatible with Genesis controller" "Cart.Rarity" "Homebrew" -"Controller.Left" "GENESIS" +"Controller.Left" "JOYSTICK" "Display.Phosphor" "YES" "" @@ -19549,7 +19482,6 @@ "Cart.Manufacturer" "Activision, John Van Ryzin" "Cart.ModelNo" "EAZ-036-04" "Cart.Name" "H.E.R.O. (1984) (Activision) (SECAM)" -"Display.Format" "SECAM" "" "Cart.MD5" "eb92193f06b645df0b2a15d077ce435f" @@ -19638,7 +19570,6 @@ "Cart.MD5" "ece908d77ab944f7bac84322b9973549" "Cart.Name" "Tom Boy (Unknown) (PAL60)" "Cart.Note" "AKA Pitfall!" -"Display.Format" "PAL60" "" "Cart.MD5" "ecf51385384b468834611d44a8429c03" @@ -19695,7 +19626,6 @@ "Cart.ModelNo" "CX2635, CX2635P" "Cart.Name" "Maze Craze (1980) (Atari) (PAL)" "Cart.Note" "AKA A Game of Cops 'n Robbers" -"Display.Format" "PAL" "" "Cart.MD5" "ed5ccfc93ad4561075436ee42a15438a" @@ -19721,7 +19651,6 @@ "Cart.Manufacturer" "Activision, David Crane" "Cart.ModelNo" "EAZ-030" "Cart.Name" "Decathlon (1983) (Activision) (SECAM)" -"Display.Format" "SECAM" "" "Cart.MD5" "ede7e8bf865b0afb4744f86d13624f9a" @@ -19990,7 +19919,6 @@ "Cart.Manufacturer" "Thomas Jentzsch" "Cart.Name" "Reactor - Atari Mouse Hack v1.3 (PAL60) (Full-Speed) (TJ)" "Cart.Note" "Uses Atari Mouse Controller" -"Display.Format" "PAL60" "" "Cart.MD5" "f0e0addc07971561ab80d9abe1b8d333" @@ -20043,7 +19971,6 @@ "Cart.Name" "Lady Bug (PAL60)" "Cart.Rarity" "Homebrew" "Console.RightDiff" "A" -"Display.Format" "PAL60" "Display.Phosphor" "YES" "" @@ -20942,7 +20869,6 @@ "Cart.Note" "AtariVox supported" "Cart.Rarity" "Homebrew" "Controller.Right" "ATARIVOX" -"Display.Format" "PAL60" "Display.Phosphor" "YES" "" From 070489362ce8b1b34d29a3b836a33858dbdfae4d Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 15 Mar 2020 19:54:45 +0100 Subject: [PATCH 16/80] use R77 screen size as maximum for StellaSettingsDialog --- src/gui/Menu.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/Menu.cxx b/src/gui/Menu.cxx index c47525da9..fa2a569c6 100644 --- a/src/gui/Menu.cxx +++ b/src/gui/Menu.cxx @@ -43,7 +43,7 @@ Dialog* Menu::baseDialog() { if (stellaSettingDialog == nullptr) stellaSettingDialog = new StellaSettingsDialog(myOSystem, *this, myOSystem.frameBuffer().font(), - FBMinimum::Width, FBMinimum::Height, AppMode::emulator); + 1280, 720, AppMode::emulator); return stellaSettingDialog; } else From 336b72b2dec3c585c6634a3422c2456a87f7e0c3 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Sun, 15 Mar 2020 18:11:52 -0230 Subject: [PATCH 17/80] Fix a few compile warnings in Xcode, and add missing files. --- src/debugger/gui/TiaInfoWidget.cxx | 6 +++--- src/macos/stella.xcodeproj/project.pbxproj | 12 ++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/debugger/gui/TiaInfoWidget.cxx b/src/debugger/gui/TiaInfoWidget.cxx index 788f28c27..33ea5c7cf 100644 --- a/src/debugger/gui/TiaInfoWidget.cxx +++ b/src/debugger/gui/TiaInfoWidget.cxx @@ -143,10 +143,10 @@ void TiaInfoWidget::loadConfig() uInt64 total = tia.cyclesLo() + (uInt64(tia.cyclesHi()) << 32); uInt64 totalOld = oldTia.info[2] + (uInt64(oldTia.info[3]) << 32); - myTotalCycles->setText(Common::Base::toString(total / 1000000, Common::Base::Fmt::_10_6) + "e6", + myTotalCycles->setText(Common::Base::toString(uInt32(total) / 1000000, Common::Base::Fmt::_10_6) + "e6", total != totalOld); - uInt32 delta = total - totalOld; - myDeltaCycles->setText(Common::Base::toString(delta, Common::Base::Fmt::_10_8)); // no coloring + uInt64 delta = total - totalOld; + myDeltaCycles->setText(Common::Base::toString(uInt32(delta), Common::Base::Fmt::_10_8)); // no coloring int clk = tia.clocksThisLine(); myScanlineCount->setText(Common::Base::toString(tia.scanlines(), Common::Base::Fmt::_10_3), diff --git a/src/macos/stella.xcodeproj/project.pbxproj b/src/macos/stella.xcodeproj/project.pbxproj index 4f96dff80..33eccde69 100644 --- a/src/macos/stella.xcodeproj/project.pbxproj +++ b/src/macos/stella.xcodeproj/project.pbxproj @@ -375,6 +375,9 @@ DC6F394A21B897C700897AD8 /* FatalEmulationError.hxx in Headers */ = {isa = PBXBuildFile; fileRef = DC6F394821B897C700897AD8 /* FatalEmulationError.hxx */; }; DC6F394D21B897F300897AD8 /* ThreadDebugging.cxx in Sources */ = {isa = PBXBuildFile; fileRef = DC6F394B21B897F300897AD8 /* ThreadDebugging.cxx */; }; DC6F394E21B897F300897AD8 /* ThreadDebugging.hxx in Headers */ = {isa = PBXBuildFile; fileRef = DC6F394C21B897F300897AD8 /* ThreadDebugging.hxx */; }; + DC70065C241EC97900A459AB /* Stella12x24tFont.hxx in Headers */ = {isa = PBXBuildFile; fileRef = DC700659241EC97900A459AB /* Stella12x24tFont.hxx */; }; + DC70065D241EC97900A459AB /* Stella16x32tFont.hxx in Headers */ = {isa = PBXBuildFile; fileRef = DC70065A241EC97900A459AB /* Stella16x32tFont.hxx */; }; + DC70065E241EC97900A459AB /* Stella14x28tFont.hxx in Headers */ = {isa = PBXBuildFile; fileRef = DC70065B241EC97900A459AB /* Stella14x28tFont.hxx */; }; DC71C399221623D9005DE92F /* ControllerDetector.hxx in Headers */ = {isa = PBXBuildFile; fileRef = DC71C397221623D8005DE92F /* ControllerDetector.hxx */; }; DC71C39A221623D9005DE92F /* ControllerDetector.cxx in Sources */ = {isa = PBXBuildFile; fileRef = DC71C398221623D9005DE92F /* ControllerDetector.cxx */; }; DC71EA9D1FDA06D2008827CB /* CartE78K.cxx in Sources */ = {isa = PBXBuildFile; fileRef = DC71EA991FDA06D2008827CB /* CartE78K.cxx */; }; @@ -1111,6 +1114,9 @@ DC6F394821B897C700897AD8 /* FatalEmulationError.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = FatalEmulationError.hxx; path = exception/FatalEmulationError.hxx; sourceTree = ""; }; DC6F394B21B897F300897AD8 /* ThreadDebugging.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadDebugging.cxx; sourceTree = ""; }; DC6F394C21B897F300897AD8 /* ThreadDebugging.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ThreadDebugging.hxx; sourceTree = ""; }; + DC700659241EC97900A459AB /* Stella12x24tFont.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Stella12x24tFont.hxx; sourceTree = ""; }; + DC70065A241EC97900A459AB /* Stella16x32tFont.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Stella16x32tFont.hxx; sourceTree = ""; }; + DC70065B241EC97900A459AB /* Stella14x28tFont.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Stella14x28tFont.hxx; sourceTree = ""; }; DC71C397221623D8005DE92F /* ControllerDetector.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ControllerDetector.hxx; sourceTree = ""; }; DC71C398221623D9005DE92F /* ControllerDetector.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ControllerDetector.cxx; sourceTree = ""; }; DC71EA991FDA06D2008827CB /* CartE78K.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CartE78K.cxx; sourceTree = ""; }; @@ -2081,6 +2087,9 @@ 2DDBEACB084578BF00812C11 /* ScrollBarWidget.hxx */, DCDE17F817724E5D00EB1AC6 /* SnapshotDialog.cxx */, DCDE17F917724E5D00EB1AC6 /* SnapshotDialog.hxx */, + DC700659241EC97900A459AB /* Stella12x24tFont.hxx */, + DC70065B241EC97900A459AB /* Stella14x28tFont.hxx */, + DC70065A241EC97900A459AB /* Stella16x32tFont.hxx */, DC5D2C4F0F117CFD004D1660 /* StellaFont.hxx */, DC5D2C500F117CFD004D1660 /* StellaLargeFont.hxx */, DC5D2C510F117CFD004D1660 /* StellaMediumFont.hxx */, @@ -2506,6 +2515,7 @@ 2D91746409BA90380026E9FF /* TiaZoomWidget.hxx in Headers */, DC1BC6672066B4390076F74A /* PKeyboardHandler.hxx in Headers */, 2D91746609BA90380026E9FF /* AudioWidget.hxx in Headers */, + DC70065E241EC97900A459AB /* Stella14x28tFont.hxx in Headers */, 2D91746909BA90380026E9FF /* EventMappingWidget.hxx in Headers */, 2D91746A09BA90380026E9FF /* InputDialog.hxx in Headers */, DC47455609C34BFA00EDDA3A /* BankRomCheat.hxx in Headers */, @@ -2534,6 +2544,7 @@ DC4613680D92C03600D8DAB9 /* RomAuditDialog.hxx in Headers */, DC487FB70DA5350900E12499 /* AtariVox.hxx in Headers */, DC11F78E0DB36933003B505E /* MT24LC256.hxx in Headers */, + DC70065C241EC97900A459AB /* Stella12x24tFont.hxx in Headers */, DCA00FF80DBABCAD00C3823D /* RiotDebug.hxx in Headers */, DC4AC6F00DC8DACB00CD3AD2 /* RiotWidget.hxx in Headers */, DCA233B123B583FE0032ABF3 /* PhosphorHandler.hxx in Headers */, @@ -2637,6 +2648,7 @@ DC6DC921205DB879004A5FC3 /* PJoystickHandler.hxx in Headers */, DCAAE5DF1715887B0080BB82 /* CartEFSCWidget.hxx in Headers */, DCAAE5E11715887B0080BB82 /* CartEFWidget.hxx in Headers */, + DC70065D241EC97900A459AB /* Stella16x32tFont.hxx in Headers */, DCDFF08220B781B0001227C0 /* DispatchResult.hxx in Headers */, DCF8621A21C9D43300F95F52 /* StaggeredLogger.hxx in Headers */, DCAAE5E31715887B0080BB82 /* CartF0Widget.hxx in Headers */, From 725225934a86def0320338a98b1a7b3bc64f562e Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Sun, 15 Mar 2020 19:14:57 -0230 Subject: [PATCH 18/80] Fix 'ROM Audit' mode not getting current active directory. --- src/gui/Launcher.cxx | 4 ++-- src/gui/Launcher.hxx | 4 ++-- src/gui/LauncherDialog.cxx | 6 ++++++ src/gui/LauncherDialog.hxx | 11 +++++++++-- src/gui/RomAuditDialog.cxx | 2 +- 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/gui/Launcher.cxx b/src/gui/Launcher.cxx index eb1324f9f..379d9841e 100644 --- a/src/gui/Launcher.cxx +++ b/src/gui/Launcher.cxx @@ -75,9 +75,9 @@ const string& Launcher::selectedRomMD5() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -const FilesystemNode& Launcher::currentNode() const +const FilesystemNode& Launcher::currentDir() const { - return (static_cast(myBaseDialog))->currentNode(); + return (static_cast(myBaseDialog))->currentDir(); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/gui/Launcher.hxx b/src/gui/Launcher.hxx index 7a1b57fa7..af0e91f8b 100644 --- a/src/gui/Launcher.hxx +++ b/src/gui/Launcher.hxx @@ -55,9 +55,9 @@ class Launcher : public DialogContainer const string& selectedRomMD5(); /** - Wrapper for LauncherDialog::currentNode() method. + Wrapper for LauncherDialog::currentDir() method. */ - const FilesystemNode& currentNode() const; + const FilesystemNode& currentDir() const; /** Wrapper for LauncherDialog::reload() method. diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index c33832ce9..3003a04a3 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -261,6 +261,12 @@ const FilesystemNode& LauncherDialog::currentNode() const return myList->selected(); } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +const FilesystemNode& LauncherDialog::currentDir() const +{ + return myList->currentDir(); +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void LauncherDialog::reload() { diff --git a/src/gui/LauncherDialog.hxx b/src/gui/LauncherDialog.hxx index d112f0601..d734cdba5 100644 --- a/src/gui/LauncherDialog.hxx +++ b/src/gui/LauncherDialog.hxx @@ -74,12 +74,19 @@ class LauncherDialog : public Dialog const string& selectedRomMD5(); /** - Get node for the currently selected directory. + Get node for the currently selected entry. - @return FilesystemNode currently active + @return FilesystemNode currently selected */ const FilesystemNode& currentNode() const; + /** + Get node for the current directory. + + @return FilesystemNode (directory) currently active + */ + const FilesystemNode& currentDir() const; + /** Reload the current listing */ diff --git a/src/gui/RomAuditDialog.cxx b/src/gui/RomAuditDialog.cxx index 25cf78220..f83586d45 100644 --- a/src/gui/RomAuditDialog.cxx +++ b/src/gui/RomAuditDialog.cxx @@ -99,7 +99,7 @@ RomAuditDialog::~RomAuditDialog() void RomAuditDialog::loadConfig() { const string& currentdir = - instance().launcher().currentNode().getShortPath(); + instance().launcher().currentDir().getShortPath(); const string& path = currentdir == "" ? instance().settings().getString("romdir") : currentdir; From bfb08cf203d982a3bd474d13e7691554f322885c Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Sun, 15 Mar 2020 19:18:14 -0230 Subject: [PATCH 19/80] Added "Stay Frosty 2" to properties database, and have it default to joysticks. --- src/emucore/DefProps.hxx | 4 +++- src/emucore/stella.pro | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/emucore/DefProps.hxx b/src/emucore/DefProps.hxx index 0f112214a..bb834d812 100644 --- a/src/emucore/DefProps.hxx +++ b/src/emucore/DefProps.hxx @@ -25,7 +25,7 @@ regenerated and the application recompiled. */ -static constexpr uInt32 DEF_PROPS_SIZE = 3508; +static constexpr uInt32 DEF_PROPS_SIZE = 3510; static const BSPF::array2D DefProps = {{ { "000509d1ed2b8d30a9d94be1b3b5febb", "Greg Zumwalt", "", "Jungle Jane (2003) (Greg Zumwalt) (Hack)", "Hack of Pitfall!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1188,6 +1188,7 @@ static const BSPF::array2D DefProps = {{ { "53f147b9746fdc997c62f3dd67888ee5", "Activision, Bob Whitehead", "AG-011", "Stampede (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "540075f657d4b244a1f74da1b9e4bf92", "Bit Corporation", "PGP230", "Festival (4 Game in One Dark Green) (1983) (BitCorp) (PAL)", "AKA Carnival", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5409d20c1aea0b89c56993aec5dc5740", "", "", "Carnival Shooter (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "541cac55ebcf7891d9d51c415922303f", "SpiceWare - Darrell Spice Jr.", "SW-05", "Stay Frosty 2", "AtariAge Holiday Greetings 2014", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, { "5428cdfada281c569c74c7308c7f2c26", "Activision, Larry Kaplan, David Crane", "AG-010, AG-010-04", "Kaboom! (1981) (Activision)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, { "542c6dd5f7280179b51917a4cba4faff", "ZiMAG - Emag - Vidco", "GN-080", "Spinning Fireball (1983) (ZiMAG) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5438e84b90e50a5362f01cc843b358d4", "Arcadia Corporation, Scott Nelson", "3 AR-4300", "Fireball (1982) (Arcadia) (Prototype)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1701,6 +1702,7 @@ static const BSPF::array2D DefProps = {{ { "78c2de58e42cd1faac2ea7df783eaeb3", "", "", "Fu Kung! (V0.07) (25-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "79004f84bdeee78d142e445057883169", "CCE", "C-830", "Planet Patrol (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "791bc8aceb6b0f4d9990d6062b30adfa", "Activision, David Crane - Ariola", "EAX-018, EAX-018-04B, EAX-018-04I - 711 018-725", "Pitfall! (1982) (Activision) (PAL)", "Abenteuer im Urwald (Jungle Runner)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "791c88eca9836af8c34bf32b07cb58a7", "SpiceWare - Darrell Spice Jr.", "SW-05", "Stay Frosty 2 (PAL60)", "AtariAge Holiday Greetings 2014", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, { "7926083ad423ed685de3b3a04a914315", "Barry Laws Jr.", "", "Face Invaders 2 (Barry Laws Jr.) (Hack)", "Hack of Astroblast", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "792b1d93eb1d8045260c840b0688ec8f", "Kroko", "", "3E Bankswitch Test (TIA @ $00)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "7972e5101fa548b952d852db24ad6060", "Atari - Sears", "CX2627 - 6-99841", "Human Cannonball (1979) (Atari)", "AKA Cannon Man", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, diff --git a/src/emucore/stella.pro b/src/emucore/stella.pro index 8fec4e33d..4a8ba020e 100644 --- a/src/emucore/stella.pro +++ b/src/emucore/stella.pro @@ -21330,3 +21330,22 @@ "Cart.Name" "Spitfire Attack (1983) (Milton Bradley) [h1]" "" +"Cart.MD5" "541cac55ebcf7891d9d51c415922303f" +"Cart.Manufacturer" "SpiceWare - Darrell Spice Jr." +"Cart.ModelNo" "SW-05" +"Cart.Name" "Stay Frosty 2" +"Cart.Note" "AtariAge Holiday Greetings 2014" +"Cart.Rarity" "Homebrew" +"Controller.Left" "JOYSTICK" +"Display.Phosphor" "YES" +"" + +"Cart.MD5" "791c88eca9836af8c34bf32b07cb58a7" +"Cart.Manufacturer" "SpiceWare - Darrell Spice Jr." +"Cart.ModelNo" "SW-05" +"Cart.Name" "Stay Frosty 2 (PAL60)" +"Cart.Note" "AtariAge Holiday Greetings 2014" +"Cart.Rarity" "Homebrew" +"Controller.Left" "JOYSTICK" +"Display.Phosphor" "YES" +"" From 9ff00c3631e23e05317941f758eccf0e5b2acddf Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Sun, 15 Mar 2020 19:34:53 -0230 Subject: [PATCH 20/80] More fixes for DPC+ jitter issues, thanks to Spiceware. --- Changes.txt | 4 ++++ src/debugger/gui/CartDPCPlusWidget.cxx | 3 ++- src/emucore/CartDPCPlus.cxx | 17 ++++++++++++++--- src/emucore/CartDPCPlus.hxx | 4 ++++ 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/Changes.txt b/Changes.txt index 056572a76..693f3719c 100644 --- a/Changes.txt +++ b/Changes.txt @@ -181,6 +181,10 @@ * Fixed bug in DPC+ scheme; 'fast fetch mode' was enabled at startup, when it should be disabled by default. + * Some more work on DPC+ playfield 'jitter' effect for certain older DPC+ + driver versions; more ROMs are now detected properly. Special thanks + to SpiceWare for his research in this area. + * Added proper Retron77 port. * Added proper libretro port, and fixed display for OpenGLES renderers. diff --git a/src/debugger/gui/CartDPCPlusWidget.cxx b/src/debugger/gui/CartDPCPlusWidget.cxx index e55da1d1c..18166c6af 100644 --- a/src/debugger/gui/CartDPCPlusWidget.cxx +++ b/src/debugger/gui/CartDPCPlusWidget.cxx @@ -35,7 +35,8 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget( << "DPC registers accessible @ $F000 - $F07F\n" << " $F000 - $F03F (R), $F040 - $F07F (W)\n" << "Banks accessible at hotspots $FFF6 to $FFFB\n" - << "Startup bank = " << cart.startBank() << "\n"; + << "Startup bank = " << cart.startBank() << "\n" + << "Ver = " << cart.myDriverMD5; #if 0 // Eventually, we should query this from the debugger/disassembler diff --git a/src/emucore/CartDPCPlus.cxx b/src/emucore/CartDPCPlus.cxx index 9071b69d8..ab7230f78 100644 --- a/src/emucore/CartDPCPlus.cxx +++ b/src/emucore/CartDPCPlus.cxx @@ -57,9 +57,20 @@ CartridgeDPCPlus::CartridgeDPCPlus(const ByteBuffer& image, size_t size, Thumbulator::ConfigureFor::DPCplus, this); - // Currently only one known DPC+ ARM driver exhibits a problem - // with the default mask to use for DFxFRACLOW - if(MD5::hash(image, 3_KB) == "8dd73b44fd11c488326ce507cbeb19d1") + // Currently 4 DPC+ driver versions have been identified: + // 17884ec14f9b1d06fe8d617a1fbdcf47 Jitter Encore Compatible + // 5f80b5a5adbe483addc3f6e6f1b472f8 Stable Encore Compatible + // 8dd73b44fd11c488326ce507cbeb19d1 Stable NOT Encore Compatible + // b328dbdf787400c0f0e2b88b425872a5 Jitter Encore Compatible + // + // Jitter/Stable refers to the appearance of the playfield in bB games if + // the DFxFRACINC registers are not updated before every drawscreen. + // + // The default mask for DFxFRACLOW implements the Jitter behavior. This + // changes the mask to implement the Stable behavior. + myDriverMD5 = MD5::hash(image, 3_KB); + if(myDriverMD5 == "5f80b5a5adbe483addc3f6e6f1b472f8" || + myDriverMD5 == "8dd73b44fd11c488326ce507cbeb19d1" ) myFractionalLowMask = 0x0F0000; setInitialState(); diff --git a/src/emucore/CartDPCPlus.hxx b/src/emucore/CartDPCPlus.hxx index abc14f21d..46b18af99 100644 --- a/src/emucore/CartDPCPlus.hxx +++ b/src/emucore/CartDPCPlus.hxx @@ -272,6 +272,10 @@ class CartridgeDPCPlus : public Cartridge // Indicates the offset into the ROM image (aligns to current bank) uInt16 myBankOffset{0}; + // MD5 value of the 3K DPC+ driver. Used to determine which mask to use, + // and shown in the Cartridge tab of the debugger + string myDriverMD5; + // Older DPC+ driver code had different behaviour wrt the mask used // to retrieve 'DFxFRACLOW' (fractional data pointer low byte) // ROMs built with an old DPC+ driver and using the newer mask can From 13bea8733127a339453cf8ad5a754bc1da67d114 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Sun, 15 Mar 2020 19:44:57 -0230 Subject: [PATCH 21/80] Updated Changelog for a patch that was recently added. --- Changes.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Changes.txt b/Changes.txt index 693f3719c..2452472df 100644 --- a/Changes.txt +++ b/Changes.txt @@ -198,6 +198,9 @@ * Updated included PNG library to latest stable version. + * Updated UNIX configure script to work with the gcc version 10 and + above. + -Have fun! From 96f2d551332e343a717e076b26a66683d073b5fd Mon Sep 17 00:00:00 2001 From: thrust26 Date: Mon, 16 Mar 2020 09:04:35 +0100 Subject: [PATCH 22/80] StellaSettingsDialog font parameter cleanup --- src/gui/LauncherDialog.cxx | 2 +- src/gui/Menu.cxx | 4 +- src/gui/MinUICommandDialog.cxx | 2 +- src/gui/StellaSettingsDialog.cxx | 73 ++++++++++++++++---------------- src/gui/StellaSettingsDialog.hxx | 8 ++-- 5 files changed, 44 insertions(+), 45 deletions(-) diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index 3003a04a3..2bad88ef0 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -645,7 +645,7 @@ void LauncherDialog::openSettings() { if (myStellaSettingsDialog == nullptr) myStellaSettingsDialog = make_unique(instance(), parent(), - instance().frameBuffer().launcherFont(), _w, _h, Menu::AppMode::launcher); + _w, _h, Menu::AppMode::launcher); myStellaSettingsDialog->open(); } else diff --git a/src/gui/Menu.cxx b/src/gui/Menu.cxx index fa2a569c6..c2976857f 100644 --- a/src/gui/Menu.cxx +++ b/src/gui/Menu.cxx @@ -42,8 +42,8 @@ Dialog* Menu::baseDialog() if (myOSystem.settings().getBool("basic_settings")) { if (stellaSettingDialog == nullptr) - stellaSettingDialog = new StellaSettingsDialog(myOSystem, *this, myOSystem.frameBuffer().font(), - 1280, 720, AppMode::emulator); + stellaSettingDialog = new StellaSettingsDialog(myOSystem, *this, + 1280, 720, AppMode::emulator); return stellaSettingDialog; } else diff --git a/src/gui/MinUICommandDialog.cxx b/src/gui/MinUICommandDialog.cxx index e6cab4fba..dbb17870a 100644 --- a/src/gui/MinUICommandDialog.cxx +++ b/src/gui/MinUICommandDialog.cxx @@ -307,7 +307,7 @@ void MinUICommandDialog::openSettings() { if (myStellaSettingsDialog == nullptr) myStellaSettingsDialog = make_unique(instance(), parent(), - instance().frameBuffer().launcherFont(), FBMinimum::Width, FBMinimum::Height, Menu::AppMode::launcher); + 1280, 720, Menu::AppMode::launcher); myStellaSettingsDialog->open(); } else diff --git a/src/gui/StellaSettingsDialog.cxx b/src/gui/StellaSettingsDialog.cxx index 26f5cbde8..951f28ad9 100644 --- a/src/gui/StellaSettingsDialog.cxx +++ b/src/gui/StellaSettingsDialog.cxx @@ -29,16 +29,16 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - StellaSettingsDialog::StellaSettingsDialog(OSystem& osystem, DialogContainer& parent, - const GUI::Font& font, int max_w, int max_h, Menu::AppMode mode) - : Dialog(osystem, parent, font, "Basic settings"), + int max_w, int max_h, Menu::AppMode mode) + : Dialog(osystem, parent, osystem.frameBuffer().font(), "Basic settings"), myMode(mode) { const int VBORDER = 8; const int HBORDER = 10; const int INDENT = 20; - const int buttonHeight = font.getLineHeight() + 6, - lineHeight = font.getLineHeight(), - fontWidth = font.getMaxCharWidth(), + const int buttonHeight = _font.getLineHeight() + 6, + lineHeight = _font.getLineHeight(), + fontWidth = _font.getMaxCharWidth(), buttonWidth = _font.getStringWidth("Help" + ELLIPSIS) + 32; const int VGAP = 5; int xpos, ypos; @@ -53,50 +53,50 @@ StellaSettingsDialog::StellaSettingsDialog(OSystem& osystem, DialogContainer& pa xpos = HBORDER; ypos = VBORDER + _th; - bw = new ButtonWidget(this, font, xpos, ypos, _w - HBORDER * 2 - buttonWidth - 8, buttonHeight, + bw = new ButtonWidget(this, _font, xpos, ypos, _w - HBORDER * 2 - buttonWidth - 8, buttonHeight, "Use Advanced Settings" + ELLIPSIS, kAdvancedSettings); wid.push_back(bw); - bw = new ButtonWidget(this, font, bw->getRight() + 8, ypos, buttonWidth, buttonHeight, + bw = new ButtonWidget(this, _font, bw->getRight() + 8, ypos, buttonWidth, buttonHeight, "Help" + ELLIPSIS, kHelp); wid.push_back(bw); ypos += lineHeight + VGAP*4; - new StaticTextWidget(this, font, xpos, ypos + 1, "Global settings:"); + new StaticTextWidget(this, _font, xpos, ypos + 1, "Global settings:"); xpos += INDENT; ypos += lineHeight + VGAP; - addUIOptions(wid, xpos, ypos, font); + addUIOptions(wid, xpos, ypos); ypos += VGAP * 4; - addVideoOptions(wid, xpos, ypos, font); + addVideoOptions(wid, xpos, ypos); ypos += VGAP * 4; xpos -= INDENT; - myGameSettings = new StaticTextWidget(this, font, xpos, ypos + 1, "Game settings:"); + myGameSettings = new StaticTextWidget(this, _font, xpos, ypos + 1, "Game settings:"); xpos += INDENT; ypos += lineHeight + VGAP; - addGameOptions(wid, xpos, ypos, font); + addGameOptions(wid, xpos, ypos); // Add Defaults, OK and Cancel buttons - addDefaultsOKCancelBGroup(wid, font); + addDefaultsOKCancelBGroup(wid, _font); addToFocusList(wid); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void StellaSettingsDialog::addUIOptions(WidgetArray& wid, int& xpos, int& ypos, const GUI::Font& font) +void StellaSettingsDialog::addUIOptions(WidgetArray& wid, int& xpos, int& ypos) { const int VGAP = 4; - const int lineHeight = font.getLineHeight(); + const int lineHeight = _font.getLineHeight(); VariantList items; - int pwidth = font.getStringWidth("Right bottom"); // align width with other popup + int pwidth = _font.getStringWidth("Right bottom"); // align width with other popup ypos += 1; VarList::push_back(items, "Standard", "standard"); VarList::push_back(items, "Classic", "classic"); VarList::push_back(items, "Light", "light"); - myThemePopup = new PopUpWidget(this, font, xpos, ypos, pwidth, lineHeight, items, "UI theme "); + myThemePopup = new PopUpWidget(this, _font, xpos, ypos, pwidth, lineHeight, items, "UI theme "); wid.push_back(myThemePopup); ypos += lineHeight + VGAP; @@ -107,24 +107,23 @@ void StellaSettingsDialog::addUIOptions(WidgetArray& wid, int& xpos, int& ypos, VarList::push_back(items, "Right top", 2); VarList::push_back(items, "Right bottom", 3); VarList::push_back(items, "Left bottom", 4); - myPositionPopup = new PopUpWidget(this, font, xpos, ypos, pwidth, lineHeight, + myPositionPopup = new PopUpWidget(this, _font, xpos, ypos, pwidth, lineHeight, items, "Dialogs position "); wid.push_back(myPositionPopup); ypos += lineHeight + VGAP; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void StellaSettingsDialog::addVideoOptions(WidgetArray& wid, int& xpos, int& ypos, - const GUI::Font& font) +void StellaSettingsDialog::addVideoOptions(WidgetArray& wid, int& xpos, int& ypos) { const int VGAP = 4; const GUI::Font& ifont = instance().frameBuffer().infoFont(); - const int lineHeight = font.getLineHeight(), - fontWidth = font.getMaxCharWidth(); + const int lineHeight = _font.getLineHeight(), + fontWidth = _font.getMaxCharWidth(); VariantList items; // TV effects options - int swidth = font.getMaxCharWidth() * 11; + int swidth = _font.getMaxCharWidth() * 11; // TV Mode VarList::push_back(items, "Disabled", static_cast(NTSCFilter::Preset::OFF)); @@ -132,16 +131,16 @@ void StellaSettingsDialog::addVideoOptions(WidgetArray& wid, int& xpos, int& ypo VarList::push_back(items, "S-Video", static_cast(NTSCFilter::Preset::SVIDEO)); VarList::push_back(items, "Composite", static_cast(NTSCFilter::Preset::COMPOSITE)); VarList::push_back(items, "Bad adjust", static_cast(NTSCFilter::Preset::BAD)); - int pwidth = font.getStringWidth("Right bottom"); - int lwidth = font.getStringWidth("Scanline intensity "); + int pwidth = _font.getStringWidth("Right bottom"); + int lwidth = _font.getStringWidth("Scanline intensity "); - myTVMode = new PopUpWidget(this, font, xpos, ypos, pwidth, lineHeight, + myTVMode = new PopUpWidget(this, _font, xpos, ypos, pwidth, lineHeight, items, "TV mode "); wid.push_back(myTVMode); ypos += lineHeight + VGAP; // Scanline intensity - myTVScanIntense = new SliderWidget(this, font, xpos, ypos-1, swidth, lineHeight, + myTVScanIntense = new SliderWidget(this, _font, xpos, ypos-1, swidth, lineHeight, "Scanline intensity", lwidth, kScanlinesChanged, fontWidth * 3); myTVScanIntense->setMinValue(0); myTVScanIntense->setMaxValue(10); myTVScanIntense->setTickmarkIntervals(2); @@ -149,7 +148,7 @@ void StellaSettingsDialog::addVideoOptions(WidgetArray& wid, int& xpos, int& ypo ypos += lineHeight + VGAP; // TV Phosphor blend level - myTVPhosLevel = new SliderWidget(this, font, xpos, ypos-1, swidth, lineHeight, + myTVPhosLevel = new SliderWidget(this, _font, xpos, ypos-1, swidth, lineHeight, "Phosphor blend ", lwidth, kPhosphorChanged, fontWidth * 3); myTVPhosLevel->setMinValue(0); myTVPhosLevel->setMaxValue(10); myTVPhosLevel->setTickmarkIntervals(2); @@ -157,7 +156,7 @@ void StellaSettingsDialog::addVideoOptions(WidgetArray& wid, int& xpos, int& ypo ypos += lineHeight + VGAP; // FS overscan - myTVOverscan = new SliderWidget(this, font, xpos, ypos - 1, swidth, lineHeight, + myTVOverscan = new SliderWidget(this, _font, xpos, ypos - 1, swidth, lineHeight, "Overscan (*) ", lwidth, kOverscanChanged, fontWidth * 3); myTVOverscan->setMinValue(0); myTVOverscan->setMaxValue(10); myTVOverscan->setTickmarkIntervals(2); @@ -169,10 +168,10 @@ void StellaSettingsDialog::addVideoOptions(WidgetArray& wid, int& xpos, int& ypo } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void StellaSettingsDialog::addGameOptions(WidgetArray& wid, int& xpos, int& ypos, const GUI::Font& font) +void StellaSettingsDialog::addGameOptions(WidgetArray& wid, int& xpos, int& ypos) { const int VGAP = 4; - const int lineHeight = font.getLineHeight(); + const int lineHeight = _font.getLineHeight(); const GUI::Font& ifont = instance().frameBuffer().infoFont(); VariantList ctrls; @@ -187,9 +186,9 @@ void StellaSettingsDialog::addGameOptions(WidgetArray& wid, int& xpos, int& ypos VarList::push_back(ctrls, "Trakball", "TRAKBALL"); VarList::push_back(ctrls, "Sega Genesis", "GENESIS"); - int pwidth = font.getStringWidth("Sega Genesis"); - myLeftPortLabel = new StaticTextWidget(this, font, xpos, ypos + 1, "Left port "); - myLeftPort = new PopUpWidget(this, font, myLeftPortLabel->getRight(), + int pwidth = _font.getStringWidth("Sega Genesis"); + myLeftPortLabel = new StaticTextWidget(this, _font, xpos, ypos + 1, "Left port "); + myLeftPort = new PopUpWidget(this, _font, myLeftPortLabel->getRight(), myLeftPortLabel->getTop() - 1, pwidth, lineHeight, ctrls, "", 0, kLeftCChanged); wid.push_back(myLeftPort); ypos += lineHeight + VGAP; @@ -198,8 +197,8 @@ void StellaSettingsDialog::addGameOptions(WidgetArray& wid, int& xpos, int& ypos "Sega Genesis detected"); ypos += ifont.getLineHeight() + VGAP; - myRightPortLabel = new StaticTextWidget(this, font, xpos, ypos + 1, "Right port "); - myRightPort = new PopUpWidget(this, font, myRightPortLabel->getRight(), + myRightPortLabel = new StaticTextWidget(this, _font, xpos, ypos + 1, "Right port "); + myRightPort = new PopUpWidget(this, _font, myRightPortLabel->getRight(), myRightPortLabel->getTop() - 1, pwidth, lineHeight, ctrls, "", 0, kRightCChanged); wid.push_back(myRightPort); ypos += lineHeight + VGAP; @@ -415,7 +414,7 @@ void StellaSettingsDialog::switchSettingsMode() msg.push_back("proceed with the switch, click"); msg.push_back("'OK', otherwise click 'Cancel'."); - myConfirmMsg = make_unique(this, instance().frameBuffer().font(), msg, + myConfirmMsg = make_unique(this, _font, msg, _w-16, _h, kConfirmSwitchCmd, "OK", "Cancel", "Switch settings mode", false); myConfirmMsg->show(); } diff --git a/src/gui/StellaSettingsDialog.hxx b/src/gui/StellaSettingsDialog.hxx index cad6c9fbc..791db381c 100644 --- a/src/gui/StellaSettingsDialog.hxx +++ b/src/gui/StellaSettingsDialog.hxx @@ -39,7 +39,7 @@ class StellaSettingsDialog : public Dialog { public: StellaSettingsDialog(OSystem& osystem, DialogContainer& parent, - const GUI::Font& font, int max_w, int max_h, Menu::AppMode mode); + int max_w, int max_h, Menu::AppMode mode); virtual ~StellaSettingsDialog() = default; private: @@ -47,9 +47,9 @@ class StellaSettingsDialog : public Dialog void saveConfig() override; void setDefaults() override; - void addVideoOptions(WidgetArray& wid, int& xpos, int& ypos, const GUI::Font& font); - void addUIOptions(WidgetArray& wid, int& xpos, int& ypos, const GUI::Font& font); - void addGameOptions(WidgetArray& wid, int& xpos, int& ypos, const GUI::Font& font); + void addVideoOptions(WidgetArray& wid, int& xpos, int& ypos); + void addUIOptions(WidgetArray& wid, int& xpos, int& ypos); + void addGameOptions(WidgetArray& wid, int& xpos, int& ypos); void handleCommand(CommandSender* sender, int cmd, int data, int id) override; void handleOverscanChange(); From b0af3891fe7060345e0612c3484b2ecd98e117cc Mon Sep 17 00:00:00 2001 From: thrust26 Date: Mon, 16 Mar 2020 09:26:45 +0100 Subject: [PATCH 23/80] larger infoFont for minimal UI dialogs --- src/emucore/FrameBuffer.cxx | 13 ++++++++++--- src/gui/StellaSettingsDialog.cxx | 6 ++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/emucore/FrameBuffer.cxx b/src/emucore/FrameBuffer.cxx index 922ed9655..68b6e8caa 100644 --- a/src/emucore/FrameBuffer.cxx +++ b/src/emucore/FrameBuffer.cxx @@ -116,13 +116,20 @@ bool FrameBuffer::initialize() // The general font used in all UI elements // This is determined by the size of the framebuffer if(myOSystem.settings().getBool("minimal_ui")) + { myFont = make_unique(GUI::stella12x24tDesc); // 12x24 + // The info font used in all UI elements + // This is determined by the size of the framebuffer + myInfoFont = make_unique(GUI::stellaLargeDesc); // 10x20 + } else + { myFont = make_unique(GUI::stellaMediumDesc); // 9x18 + // The info font used in all UI elements + // This is determined by the size of the framebuffer + myInfoFont = make_unique(GUI::consoleDesc); // 8x13 + } - // The info font used in all UI elements - // This is determined by the size of the framebuffer - myInfoFont = make_unique(GUI::consoleDesc); // 8x13 // The font used by the ROM launcher const string& lf = myOSystem.settings().getString("launcherfont"); diff --git a/src/gui/StellaSettingsDialog.cxx b/src/gui/StellaSettingsDialog.cxx index 951f28ad9..bc187b750 100644 --- a/src/gui/StellaSettingsDialog.cxx +++ b/src/gui/StellaSettingsDialog.cxx @@ -39,7 +39,8 @@ StellaSettingsDialog::StellaSettingsDialog(OSystem& osystem, DialogContainer& pa const int buttonHeight = _font.getLineHeight() + 6, lineHeight = _font.getLineHeight(), fontWidth = _font.getMaxCharWidth(), - buttonWidth = _font.getStringWidth("Help" + ELLIPSIS) + 32; + buttonWidth = _font.getStringWidth("Help" + ELLIPSIS) + 32, + iLineHeight = instance().frameBuffer().infoFont().getLineHeight(); const int VGAP = 5; int xpos, ypos; ButtonWidget* bw = nullptr; @@ -48,7 +49,8 @@ StellaSettingsDialog::StellaSettingsDialog(OSystem& osystem, DialogContainer& pa VariantList items; // Set real dimensions - setSize(35 * fontWidth + HBORDER * 2 + 3, 15 * (lineHeight + VGAP) + VGAP * 9 + 10 + _th, max_w, max_h); + setSize(35 * fontWidth + HBORDER * 2 + 3, 10 * (lineHeight + VGAP) + 3 * (iLineHeight + VGAP) + + VGAP * (12 + 2) + buttonHeight * 2 + _th, max_w, max_h); xpos = HBORDER; ypos = VBORDER + _th; From bf3b90cbd8abc124709bd1055ec914c61bc89f62 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Mon, 16 Mar 2020 09:58:06 +0100 Subject: [PATCH 24/80] StellaSettingsDialog sizes fine tuning --- src/gui/StellaSettingsDialog.cxx | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/gui/StellaSettingsDialog.cxx b/src/gui/StellaSettingsDialog.cxx index bc187b750..fbd93dc7d 100644 --- a/src/gui/StellaSettingsDialog.cxx +++ b/src/gui/StellaSettingsDialog.cxx @@ -33,15 +33,16 @@ StellaSettingsDialog::StellaSettingsDialog(OSystem& osystem, DialogContainer& pa : Dialog(osystem, parent, osystem.frameBuffer().font(), "Basic settings"), myMode(mode) { - const int VBORDER = 8; - const int HBORDER = 10; - const int INDENT = 20; - const int buttonHeight = _font.getLineHeight() + 6, + const int buttonHeight = _font.getLineHeight() + _font.getLineHeight() / 5, lineHeight = _font.getLineHeight(), fontWidth = _font.getMaxCharWidth(), - buttonWidth = _font.getStringWidth("Help" + ELLIPSIS) + 32, + buttonWidth = _font.getStringWidth(" Help " + ELLIPSIS), iLineHeight = instance().frameBuffer().infoFont().getLineHeight(); - const int VGAP = 5; + + const int VBORDER = _font.getFontHeight() / 2; + const int HBORDER = fontWidth; + const int INDENT = fontWidth * 2; + const int VGAP = _font.getFontHeight() / 4; int xpos, ypos; ButtonWidget* bw = nullptr; @@ -49,8 +50,9 @@ StellaSettingsDialog::StellaSettingsDialog(OSystem& osystem, DialogContainer& pa VariantList items; // Set real dimensions - setSize(35 * fontWidth + HBORDER * 2 + 3, 10 * (lineHeight + VGAP) + 3 * (iLineHeight + VGAP) - + VGAP * (12 + 2) + buttonHeight * 2 + _th, max_w, max_h); + setSize(35 * fontWidth + HBORDER * 2 + 5, + VBORDER * 2 +_th + 10 * (lineHeight + VGAP) + 3 * (iLineHeight + VGAP) + + VGAP * 12 + buttonHeight * 2, max_w, max_h); xpos = HBORDER; ypos = VBORDER + _th; @@ -62,7 +64,7 @@ StellaSettingsDialog::StellaSettingsDialog(OSystem& osystem, DialogContainer& pa "Help" + ELLIPSIS, kHelp); wid.push_back(bw); - ypos += lineHeight + VGAP*4; + ypos += buttonHeight + VGAP * 2; new StaticTextWidget(this, _font, xpos, ypos + 1, "Global settings:"); xpos += INDENT; @@ -89,7 +91,7 @@ StellaSettingsDialog::StellaSettingsDialog(OSystem& osystem, DialogContainer& pa // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void StellaSettingsDialog::addUIOptions(WidgetArray& wid, int& xpos, int& ypos) { - const int VGAP = 4; + const int VGAP = _font.getFontHeight() / 4; const int lineHeight = _font.getLineHeight(); VariantList items; int pwidth = _font.getStringWidth("Right bottom"); // align width with other popup @@ -118,7 +120,7 @@ void StellaSettingsDialog::addUIOptions(WidgetArray& wid, int& xpos, int& ypos) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void StellaSettingsDialog::addVideoOptions(WidgetArray& wid, int& xpos, int& ypos) { - const int VGAP = 4; + const int VGAP = _font.getFontHeight() / 4; const GUI::Font& ifont = instance().frameBuffer().infoFont(); const int lineHeight = _font.getLineHeight(), fontWidth = _font.getMaxCharWidth(); @@ -172,7 +174,7 @@ void StellaSettingsDialog::addVideoOptions(WidgetArray& wid, int& xpos, int& ypo // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void StellaSettingsDialog::addGameOptions(WidgetArray& wid, int& xpos, int& ypos) { - const int VGAP = 4; + const int VGAP = _font.getFontHeight() / 4; const int lineHeight = _font.getLineHeight(); const GUI::Font& ifont = instance().frameBuffer().infoFont(); VariantList ctrls; From 9ab2c435e5e8a6f8bb73022d3543e98518886525 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Thu, 19 Mar 2020 11:02:53 -0230 Subject: [PATCH 25/80] Add fonts to Visual Studio project file. --- src/windows/Stella.vcxproj | 3 +++ src/windows/Stella.vcxproj.filters | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/src/windows/Stella.vcxproj b/src/windows/Stella.vcxproj index b3aa05584..e15336141 100644 --- a/src/windows/Stella.vcxproj +++ b/src/windows/Stella.vcxproj @@ -1260,6 +1260,9 @@ + + + diff --git a/src/windows/Stella.vcxproj.filters b/src/windows/Stella.vcxproj.filters index b14161f0f..4a2fe6691 100644 --- a/src/windows/Stella.vcxproj.filters +++ b/src/windows/Stella.vcxproj.filters @@ -2054,6 +2054,15 @@ Header Files\gui + + Header Files\gui + + + Header Files\gui + + + Header Files\gui + From 6739ada4f2b51e2b2532fbdaf1670539449df664 Mon Sep 17 00:00:00 2001 From: Christian Speckner Date: Thu, 19 Mar 2020 22:48:36 +0000 Subject: [PATCH 26/80] R77: use QIS for scanlines w/o TV effects. --- src/emucore/TIASurface.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/emucore/TIASurface.cxx b/src/emucore/TIASurface.cxx index d0c4ffe2c..a98f21a4a 100644 --- a/src/emucore/TIASurface.cxx +++ b/src/emucore/TIASurface.cxx @@ -32,7 +32,7 @@ namespace { // Witv TV / and or scanline interpolation, the image has a height of ~480px. THe R77 runs at 720p, so there // is no benefit from QIS in y-direction. In addition, QIS on the R77 has performance issues if TV effects are // enabled. - return settings.getBool("tia.inter") || settings.getInt("tv.filter") != 0 || settings.getInt("tv.scanlines") != 0 + return settings.getBool("tia.inter") || settings.getInt("tv.filter") != 0 ? FrameBuffer::ScalingInterpolation::blur : FrameBuffer::ScalingInterpolation::sharp; #else From 264fcabba978e01d99c3280a347bfb5f960a8437 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Fri, 20 Mar 2020 09:37:49 +0100 Subject: [PATCH 27/80] minor debugger doc update --- docs/debugger.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/debugger.html b/docs/debugger.html index 19af56cdf..80246c1c4 100644 --- a/docs/debugger.html +++ b/docs/debugger.html @@ -1193,6 +1193,8 @@ the reason will be shown as follows:
  • "WTrap:" for write traps
  • "RTrapIf:" for conditional read traps
  • "WTrapIf:" for conditional write traps
  • +
  • "RWP:" for reads from write ports
  • +
  • "WRP:" for writes to read ports
  • See the Breakpoints, watches and traps... From c7c15c7ece1ea4b42c7767e74dfc50846d8db767 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Fri, 20 Mar 2020 09:42:26 +0100 Subject: [PATCH 28/80] update 6.1 date in doc to March 2020 --- docs/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.html b/docs/index.html index 7fd6920fc..68be48e0d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -70,7 +70,7 @@


    -
    February 1999 - January 2020
    +
    February 1999 - March 2020
    The Stella Team
    Stella Homepage
    From 4d248c97dfa9166019b526ca6b0569cabbb3753c Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Sat, 21 Mar 2020 17:18:05 -0230 Subject: [PATCH 29/80] (Semi) Final update for 6.1 release. I'm sure there's something we've missed. --- Changes.txt | 2 +- debian/changelog | 7 +++++++ docs/index_r77.html | 2 +- src/common/StateManager.hxx | 2 +- src/common/Version.hxx | 4 ++-- src/emucore/Console.cxx | 2 +- src/emucore/tia/frame-manager/FrameManager.cxx | 2 +- src/unix/stella.spec | 2 +- 8 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Changes.txt b/Changes.txt index 2452472df..2952f2ae0 100644 --- a/Changes.txt +++ b/Changes.txt @@ -12,7 +12,7 @@ Release History =========================================================================== -6.0.2 to 6.1: (MM dd, 2020) +6.0.2 to 6.1: (March 22, 2020) * IMPORTANT NOTES: - Because of major event remapping changes, all remappings will be reset diff --git a/debian/changelog b/debian/changelog index 3d045e4ef..553ddda1b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +stella (6.1-1) stable; urgency=high + + * Version 6.1 release + + -- Stephen Anthony Sun, 22 Mar 2020 17:09:59 -0230 + + stella (6.0.2-1) stable; urgency=high * Version 6.0.2 release diff --git a/docs/index_r77.html b/docs/index_r77.html index 6050d1367..710f5e561 100644 --- a/docs/index_r77.html +++ b/docs/index_r77.html @@ -58,7 +58,7 @@

    Stella for RetroN 77

    Atari 2600 VCS emulator

    -
    Release 6.1 Beta 1
    +
    Release 6.1

    Quick Navigation Guide


    diff --git a/src/common/StateManager.hxx b/src/common/StateManager.hxx index 41bed3517..09de785fb 100644 --- a/src/common/StateManager.hxx +++ b/src/common/StateManager.hxx @@ -18,7 +18,7 @@ #ifndef STATE_MANAGER_HXX #define STATE_MANAGER_HXX -#define STATE_HEADER "06000008state" +#define STATE_HEADER "06010000state" class OSystem; class RewindManager; diff --git a/src/common/Version.hxx b/src/common/Version.hxx index 2c534019a..51da31362 100644 --- a/src/common/Version.hxx +++ b/src/common/Version.hxx @@ -18,7 +18,7 @@ #ifndef VERSION_HXX #define VERSION_HXX -#define STELLA_VERSION "6.1_rc1" -#define STELLA_BUILD "5657" +#define STELLA_VERSION "6.1" +#define STELLA_BUILD "5729" #endif diff --git a/src/emucore/Console.cxx b/src/emucore/Console.cxx index 3a7e0841e..5a2617409 100644 --- a/src/emucore/Console.cxx +++ b/src/emucore/Console.cxx @@ -745,7 +745,7 @@ void Console::updateVcenter(Int32 vcenter) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Console::changeScanlineAdjust(int direction) { - Int32 newAdjustVSize = myTIA->adjustVSize();; + Int32 newAdjustVSize = myTIA->adjustVSize(); if (direction != -1 && direction != +1) return; diff --git a/src/emucore/tia/frame-manager/FrameManager.cxx b/src/emucore/tia/frame-manager/FrameManager.cxx index 81d8d75d7..477f0fd2f 100644 --- a/src/emucore/tia/frame-manager/FrameManager.cxx +++ b/src/emucore/tia/frame-manager/FrameManager.cxx @@ -236,7 +236,7 @@ void FrameManager::recalculateMetrics() { throw runtime_error("frame manager: invalid TV mode"); } - myHeight = BSPF::clamp(roundf(static_cast(baseHeight) * (1.f - myVSizeAdjust / 100.f)), 0, myFrameLines); + myHeight = BSPF::clamp(roundf(static_cast(baseHeight) * (1.F - myVSizeAdjust / 100.F)), 0, myFrameLines); myYStart = BSPF::clamp(ystartBase + (baseHeight - static_cast(myHeight)) / 2 - myVcenter, 0, myFrameLines); // TODO: why "- 1" here: ??? myMaxVcenter = BSPF::clamp(ystartBase + (baseHeight - static_cast(myHeight)) / 2 - 1, 0, TIAConstants::maxVcenter); diff --git a/src/unix/stella.spec b/src/unix/stella.spec index e4f1dbe65..09d4d2827 100644 --- a/src/unix/stella.spec +++ b/src/unix/stella.spec @@ -100,7 +100,7 @@ rm -rf $RPM_BUILD_DIR/%{name}-%{version} %_datadir/icons/large/%{name}.png %changelog -* ddd Jan d 2020 Stephen Anthony 6.1-1 +* Sun Mar 22 2020 Stephen Anthony 6.1-1 - Version 6.1 release * Fri Oct 11 2019 Stephen Anthony 6.0.2-1 From a3b536c94d93d72887d84cd1bbc0327c42db2535 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Sat, 21 Mar 2020 18:35:12 -0230 Subject: [PATCH 30/80] libretro: Pass the filename to the underlying emulation, since we can detect things based on what it contains. --- src/libretro/StellaLIBRETRO.cxx | 8 +++++--- src/libretro/StellaLIBRETRO.hxx | 3 ++- src/libretro/libretro.cxx | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/libretro/StellaLIBRETRO.cxx b/src/libretro/StellaLIBRETRO.cxx index f475fbc0b..e3cb5073a 100644 --- a/src/libretro/StellaLIBRETRO.cxx +++ b/src/libretro/StellaLIBRETRO.cxx @@ -61,8 +61,6 @@ bool StellaLIBRETRO::create(bool logging) { system_ready = false; - FilesystemNode rom("rom"); - // build play system destroy(); @@ -115,6 +113,8 @@ bool StellaLIBRETRO::create(bool logging) settings.setValue(AudioSettings::SETTING_VOLUME, 100); settings.setValue(AudioSettings::SETTING_STEREO, audio_mode); + FilesystemNode rom(rom_path); + if(myOSystem->createConsole(rom) != EmptyString) return false; @@ -334,8 +334,10 @@ bool StellaLIBRETRO::getVideoResize() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void StellaLIBRETRO::setROM(const void* data, size_t size) +void StellaLIBRETRO::setROM(const char* path, const void* data, size_t size) { + rom_path = path; + memcpy(rom_image.get(), data, size); rom_size = static_cast(size); diff --git a/src/libretro/StellaLIBRETRO.hxx b/src/libretro/StellaLIBRETRO.hxx index 79ea4da0b..f48a13708 100644 --- a/src/libretro/StellaLIBRETRO.hxx +++ b/src/libretro/StellaLIBRETRO.hxx @@ -96,7 +96,7 @@ class StellaLIBRETRO Int16* getAudioBuffer() { return audio_buffer.get(); } public: - void setROM(const void* data, size_t size); + void setROM(const char* path, const void* data, size_t size); void setConsoleFormat(uInt32 mode); @@ -139,6 +139,7 @@ class StellaLIBRETRO unique_ptr rom_image; uInt32 rom_size; + string rom_path; ConsoleTiming console_timing; string console_format; diff --git a/src/libretro/libretro.cxx b/src/libretro/libretro.cxx index 6d1dc0f89..6babbf07f 100644 --- a/src/libretro/libretro.cxx +++ b/src/libretro/libretro.cxx @@ -574,7 +574,7 @@ bool retro_load_game(const struct retro_game_info *info) } - stella.setROM(info->data, info->size); + stella.setROM(info->path, info->data, info->size); return reset_system(); } From f88a932d1e377073eef91d17b40b33ece2b65427 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Tue, 24 Mar 2020 12:02:51 +0100 Subject: [PATCH 31/80] fixed #537 (writes to read ports) --- src/emucore/Cart3EPlus.cxx | 20 ++++++++++++++---- src/emucore/CartCV.cxx | 17 ++++++++++++++-- src/emucore/CartCVPlus.cxx | 17 ++++++++++++++-- src/emucore/CartDASH.cxx | 20 ++++++++++++++---- src/emucore/CartMNetwork.cxx | 39 +++++++++++++++++++++++++++++++----- 5 files changed, 96 insertions(+), 17 deletions(-) diff --git a/src/emucore/Cart3EPlus.cxx b/src/emucore/Cart3EPlus.cxx index 23f833976..139cda4b7 100644 --- a/src/emucore/Cart3EPlus.cxx +++ b/src/emucore/Cart3EPlus.cxx @@ -143,10 +143,22 @@ bool Cartridge3EPlus::poke(uInt16 address, uInt8 value) if(whichBankIsThere & BITMASK_ROMRAM) { - uInt32 byteOffset = address & BITMASK_RAM_BANK; - uInt32 baseAddress = ((whichBankIsThere & BIT_BANK_MASK) << RAM_BANK_TO_POWER) + byteOffset; - pokeRAM(myRAM[baseAddress], address, value); - changed = true; + if(address & RAM_BANK_SIZE) + { + uInt32 byteOffset = address & BITMASK_RAM_BANK; + uInt32 baseAddress = ((whichBankIsThere & BIT_BANK_MASK) << RAM_BANK_TO_POWER) + byteOffset; + pokeRAM(myRAM[baseAddress], address, value); + changed = true; + } + else + { + // Writing to the read port should be ignored, but trigger a break if option enabled + uInt8 dummy; + + pokeRAM(dummy, address, value); + myRamWriteAccess = address; + changed = false; + } } } diff --git a/src/emucore/CartCV.cxx b/src/emucore/CartCV.cxx index 73c55954b..e5ca47788 100644 --- a/src/emucore/CartCV.cxx +++ b/src/emucore/CartCV.cxx @@ -104,8 +104,21 @@ uInt8 CartridgeCV::peek(uInt16 address) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeCV::poke(uInt16 address, uInt8 value) { - pokeRAM(myRAM[address & 0x03FF], address, value); - return true; + + if(address & 0x0400) + { + pokeRAM(myRAM[address & 0x03FF], address, value); + return true; + } + else + { + // Writing to the read port should be ignored, but trigger a break if option enabled + uInt8 dummy; + + pokeRAM(dummy, address, value); + myRamWriteAccess = address; + return false; + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartCVPlus.cxx b/src/emucore/CartCVPlus.cxx index eb3bb1023..c70c53b0d 100644 --- a/src/emucore/CartCVPlus.cxx +++ b/src/emucore/CartCVPlus.cxx @@ -104,9 +104,22 @@ bool CartridgeCVPlus::poke(uInt16 address, uInt8 value) return mySystem->tia().poke(address, value); } else - pokeRAM(myRAM[address & 0x03FF], pokeAddress, value); + { + if(address & 0x0400) + { + pokeRAM(myRAM[address & 0x03FF], pokeAddress, value); + return true; + } + else + { + // Writing to the read port should be ignored, but trigger a break if option enabled + uInt8 dummy; - return true; + pokeRAM(dummy, pokeAddress, value); + myRamWriteAccess = pokeAddress; + return false; + } + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartDASH.cxx b/src/emucore/CartDASH.cxx index f721a1edb..2c85ada47 100644 --- a/src/emucore/CartDASH.cxx +++ b/src/emucore/CartDASH.cxx @@ -135,10 +135,22 @@ bool CartridgeDASH::poke(uInt16 address, uInt8 value) if(whichBankIsThere & BITMASK_ROMRAM) { - uInt32 byteOffset = address & BITMASK_RAM_BANK; - uInt32 baseAddress = ((whichBankIsThere & BIT_BANK_MASK) << RAM_BANK_TO_POWER) + byteOffset; - pokeRAM(myRAM[baseAddress], address, value); - changed = true; + if(address & RAM_BANK_SIZE) + { + uInt32 byteOffset = address & BITMASK_RAM_BANK; + uInt32 baseAddress = ((whichBankIsThere & BIT_BANK_MASK) << RAM_BANK_TO_POWER) + byteOffset; + pokeRAM(myRAM[baseAddress], address, value); + changed = true; + } + else + { + // Writing to the read port should be ignored, but trigger a break if option enabled + uInt8 dummy; + + pokeRAM(dummy, address, value); + myRamWriteAccess = address; + changed = false; + } } } diff --git a/src/emucore/CartMNetwork.cxx b/src/emucore/CartMNetwork.cxx index cffec53b6..b433c4d72 100644 --- a/src/emucore/CartMNetwork.cxx +++ b/src/emucore/CartMNetwork.cxx @@ -137,13 +137,42 @@ bool CartridgeMNetwork::poke(uInt16 address, uInt8 value) // All RAM writes are mapped here if((myCurrentSlice[0] == myRAMSlice) && (address < BANK_SIZE / 2)) { - pokeRAM(myRAM[address & (BANK_SIZE / 2 - 1)], pokeAddress, value); - return true; + // RAM slices + if(!(address & 0x0400)) + { + pokeRAM(myRAM[address & (BANK_SIZE / 2 - 1)], pokeAddress, value); + return true; + } + else + { + // Writing to the read port should be ignored, but trigger a break if option enabled + uInt8 dummy; + + pokeRAM(dummy, pokeAddress, value); + myRamWriteAccess = pokeAddress; + return false; + } } - else if((address >= 0x0800) && (address <= 0x08FF)) + else { - pokeRAM(myRAM[0x0400 + (myCurrentRAM << 8) + (address & 0x00FF)], pokeAddress, value); - return true; + // fixed 256 bytes of RAM + if((address >= 0x0800) && (address <= 0x09FF)) + { + if(!(address & 0x100)) + { + pokeRAM(myRAM[0x0400 + (myCurrentRAM << 8) + (address & 0x00FF)], pokeAddress, value); + return true; + } + else + { + // Writing to the read port should be ignored, but trigger a break if option enabled + uInt8 dummy; + + pokeRAM(dummy, pokeAddress, value); + myRamWriteAccess = pokeAddress; + return false; + } + } } return false; From b5ac004b01f63d351e6015953f7f2b423b2f5728 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Tue, 24 Mar 2020 17:02:27 +0100 Subject: [PATCH 32/80] improve alignment of some sliders and labels in InputDialog --- src/gui/InputDialog.cxx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/gui/InputDialog.cxx b/src/gui/InputDialog.cxx index fa3a38340..225657b3e 100644 --- a/src/gui/InputDialog.cxx +++ b/src/gui/InputDialog.cxx @@ -139,7 +139,7 @@ void InputDialog::addDevicePortTab(const GUI::Font& font) // Add joystick deadzone setting ypos += lineHeight + VGAP*3; - myDeadzone = new SliderWidget(myTab, font, HBORDER, ypos, 13 * fontWidth, lineHeight, + myDeadzone = new SliderWidget(myTab, font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, "Joystick deadzone size ", lwidth, kDeadzoneChanged); myDeadzone->setMinValue(0); myDeadzone->setMaxValue(29); myDeadzone->setTickmarkIntervals(4); @@ -149,14 +149,14 @@ void InputDialog::addDevicePortTab(const GUI::Font& font) // Add dejitter (Stelladaptor emulation for now only) ypos += lineHeight + VGAP; - myDejitterBase = new SliderWidget(myTab, font, HBORDER, ypos, 6 * fontWidth, lineHeight, + myDejitterBase = new SliderWidget(myTab, font, HBORDER, ypos - 1, 6 * fontWidth, lineHeight, "Paddle dejitter strength", lwidth, kDejitterChanged); myDejitterBase->setMinValue(Paddles::MIN_DEJITTER); myDejitterBase->setMaxValue(Paddles::MAX_DEJITTER); myDejitterBase->setTickmarkIntervals(2); - xpos = HBORDER + myDejitterBase->getWidth() + fontWidth; + xpos = HBORDER + myDejitterBase->getWidth() + fontWidth - 4; wid.push_back(myDejitterBase); - myDejitterDiff = new SliderWidget(myTab, font, xpos, ypos, 6 * fontWidth, lineHeight, + myDejitterDiff = new SliderWidget(myTab, font, xpos, ypos - 1, 6 * fontWidth, lineHeight, "", 0, kDejitterChanged); myDejitterDiff->setMinValue(Paddles::MIN_DEJITTER); myDejitterDiff->setMaxValue(Paddles::MAX_DEJITTER); myDejitterDiff->setTickmarkIntervals(2); @@ -167,7 +167,7 @@ void InputDialog::addDevicePortTab(const GUI::Font& font) // Add paddle speed (digital emulation) ypos += lineHeight + VGAP; - myDPaddleSpeed = new SliderWidget(myTab, font, HBORDER, ypos, 13 * fontWidth, lineHeight, + myDPaddleSpeed = new SliderWidget(myTab, font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, "Digital paddle sensitivity ", lwidth, kDPSpeedChanged); myDPaddleSpeed->setMinValue(1); myDPaddleSpeed->setMaxValue(20); @@ -178,7 +178,7 @@ void InputDialog::addDevicePortTab(const GUI::Font& font) // Add paddle speed (mouse emulation) ypos += lineHeight + VGAP; - myMPaddleSpeed = new SliderWidget(myTab, font, HBORDER, ypos, 13 * fontWidth, lineHeight, + myMPaddleSpeed = new SliderWidget(myTab, font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, "Mouse paddle sensitivity ", lwidth, kMPSpeedChanged); myMPaddleSpeed->setMinValue(1); myMPaddleSpeed->setMaxValue(20); @@ -189,7 +189,7 @@ void InputDialog::addDevicePortTab(const GUI::Font& font) // Add trackball speed ypos += lineHeight + VGAP; - myTrackBallSpeed = new SliderWidget(myTab, font, HBORDER, ypos, 13 * fontWidth, lineHeight, + myTrackBallSpeed = new SliderWidget(myTab, font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, "Trackball sensitivity ", lwidth, kTBSpeedChanged); myTrackBallSpeed->setMinValue(1); myTrackBallSpeed->setMaxValue(20); From 4ad59781d857026b5fd478cf086b781fd66d6c16 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Wed, 25 Mar 2020 09:32:12 +0100 Subject: [PATCH 33/80] First shot at configurable paddle input (#522) --- Changes.txt | 8 + src/common/MouseControl.cxx | 2 +- src/emucore/Console.cxx | 4 + src/emucore/Paddles.cxx | 30 ++- src/emucore/Paddles.hxx | 24 ++- src/emucore/Settings.cxx | 19 +- src/gui/InputDialog.cxx | 368 +++++++++++++++++++++--------------- src/gui/InputDialog.hxx | 20 +- 8 files changed, 310 insertions(+), 165 deletions(-) diff --git a/Changes.txt b/Changes.txt index 2952f2ae0..5d8291b4f 100644 --- a/Changes.txt +++ b/Changes.txt @@ -12,6 +12,14 @@ Release History =========================================================================== +6.1 to 6.2: (??? ??, 2020) + * Paddle centering and sensitivity can be adjusted now + + * High scores: Score addresses, game variation etc. can be defined for a + game. This allows the user to save high scores for these games. For each + game and variation, the top 10 scores can be saved. + + 6.0.2 to 6.1: (March 22, 2020) * IMPORTANT NOTES: diff --git a/src/common/MouseControl.cxx b/src/common/MouseControl.cxx index 35d8941f9..ee960c6bb 100644 --- a/src/common/MouseControl.cxx +++ b/src/common/MouseControl.cxx @@ -124,7 +124,7 @@ MouseControl::MouseControl(Console& console, const string& mode) int m_range = 100; if(!(m_axis >> m_range)) m_range = 100; - Paddles::setPaddleRange(m_range); + Paddles::setDigitalPaddleRange(m_range); // If the mouse isn't used at all, we still need one item in the list if(myModeList.size() == 0) diff --git a/src/emucore/Console.cxx b/src/emucore/Console.cxx index 5a2617409..be6f00f43 100644 --- a/src/emucore/Console.cxx +++ b/src/emucore/Console.cxx @@ -923,6 +923,10 @@ unique_ptr Console::getControllerPort(const Controller::Type type, swapAxis = true; else if(type == Controller::Type::PaddlesIAxDr) swapAxis = swapDir = true; + + Paddles::setAnalogCenter(myOSystem.settings().getInt("pcenter")); + Paddles::setAnalogSensitivity(myOSystem.settings().getInt("psense")); + controller = make_unique(port, myEvent, *mySystem, swapPaddles, swapAxis, swapDir); break; diff --git a/src/emucore/Paddles.cxx b/src/emucore/Paddles.cxx index d8e60365a..b4782cfb8 100644 --- a/src/emucore/Paddles.cxx +++ b/src/emucore/Paddles.cxx @@ -234,12 +234,14 @@ void Paddles::update() new_val = sa_xaxis * (1 - dejitter) + myLastAxisX * dejitter; // only use new dejittered value for larger differences - if (abs(new_val - sa_xaxis) > 10) + if(abs(new_val - sa_xaxis) > 10) sa_xaxis = new_val; - setPin(AnalogPin::Nine, Int32(MAX_RESISTANCE * ((32767 - Int16(sa_xaxis)) / 65536.0))); + setPin(AnalogPin::Nine, Int32(MAX_RESISTANCE * + (BSPF::clamp(32768 - Int32(Int32(sa_xaxis) * SENSITIVITY + CENTER), 0, 65536) / 65536.0))); sa_changed = true; } + if(abs(myLastAxisY - sa_yaxis) > 10) { // dejitter, suppress small changes only @@ -250,7 +252,8 @@ void Paddles::update() if (abs(new_val - sa_yaxis) > 10) sa_yaxis = new_val; - setPin(AnalogPin::Five, Int32(MAX_RESISTANCE * ((32767 - Int16(sa_yaxis)) / 65536.0))); + setPin(AnalogPin::Five, Int32(MAX_RESISTANCE * + (BSPF::clamp(32768 - Int32(Int32(sa_yaxis) * SENSITIVITY + CENTER), 0, 65536) / 65536.0))); sa_changed = true; } myLastAxisX = sa_xaxis; @@ -379,6 +382,22 @@ bool Paddles::setMouseControl( return true; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void Paddles::setAnalogCenter(int center) +{ + // TODO: convert into ~5 pixel (also in Input Dialog!) + CENTER = BSPF::clamp(center, MIN_ANALOG_CENTER, MAX_ANALOG_CENTER) * 860; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +float Paddles::setAnalogSensitivity(int sensitivity) +{ + // BASE_ANALOG_SENSE * (1.1 ^ 20) = 1.0 + SENSITIVITY = BASE_ANALOG_SENSE * std::pow(1.1, BSPF::clamp(sensitivity, 0, MAX_ANALOG_SENSE)); + + return SENSITIVITY; +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Paddles::setDejitterBase(int strength) { @@ -405,13 +424,16 @@ void Paddles::setMouseSensitivity(int sensitivity) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Paddles::setPaddleRange(int range) +void Paddles::setDigitalPaddleRange(int range) { range = BSPF::clamp(range, 1, 100); TRIGRANGE = int(TRIGMAX * (range / 100.0)); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int Paddles::CENTER = 0; +float Paddles::SENSITIVITY = 1.0; + int Paddles::TRIGRANGE = Paddles::TRIGMAX; int Paddles::DIGITAL_SENSITIVITY = -1; int Paddles::DIGITAL_DISTANCE = -1; diff --git a/src/emucore/Paddles.hxx b/src/emucore/Paddles.hxx index 2f64a4df2..0a8adc9c9 100644 --- a/src/emucore/Paddles.hxx +++ b/src/emucore/Paddles.hxx @@ -48,6 +48,10 @@ class Paddles : public Controller virtual ~Paddles() = default; public: + static constexpr float BASE_ANALOG_SENSE = 0.148643628f; + static constexpr int MAX_ANALOG_SENSE = 30; + static constexpr int MIN_ANALOG_CENTER = -20; + static constexpr int MAX_ANALOG_CENTER = 20; static constexpr int MAX_DIGITAL_SENSE = 20; static constexpr int MAX_MOUSE_SENSE = 20; static constexpr int MIN_DEJITTER = 0; @@ -88,6 +92,21 @@ class Paddles : public Controller bool setMouseControl(Controller::Type xtype, int xid, Controller::Type ytype, int yid) override; + /** + Sets the center for analog paddles. + + @param center Value from -20 to 20, representing the center offset/860 + */ + static void setAnalogCenter(int center); + + /** + Sets the sensitivity for analog paddles. + + @param sensitivity Value from 0 to 30, where 20 equals 1 + @return Resulting sensitivity + */ + static float setAnalogSensitivity(int sensitivity); + /** @param strength Value from 0 to 10 */ @@ -127,7 +146,7 @@ class Paddles : public Controller @param range Value from 1 to 100, representing the percentage of the range to use */ - static void setPaddleRange(int range); + static void setDigitalPaddleRange(int range); static constexpr double MAX_RESISTANCE = 1400000.0; @@ -156,6 +175,9 @@ class Paddles : public Controller int myLastAxisX{0}, myLastAxisY{0}; int myAxisDigitalZero{0}, myAxisDigitalOne{0}; + static int CENTER; + static float SENSITIVITY; + static int DIGITAL_SENSITIVITY, DIGITAL_DISTANCE; static int DEJITTER_BASE, DEJITTER_DIFF; static int MOUSE_SENSITIVITY; diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index eabe55dbf..0e3de3de8 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -21,6 +21,7 @@ #include "Version.hxx" #include "Logger.hxx" #include "AudioSettings.hxx" +#include "Paddles.hxx" #ifdef DEBUGGER_SUPPORT #include "DebuggerDialog.hxx" @@ -102,6 +103,8 @@ Settings::Settings() setPermanent("dejitter.base", "0"); setPermanent("dejitter.diff", "0"); setPermanent("dsense", "10"); + setPermanent("pcenter", "0"); + setPermanent("psense", "20"); setPermanent("msense", "10"); setPermanent("tsense", "10"); setPermanent("saport", "lr"); @@ -321,6 +324,14 @@ void Settings::validate() if(i < 0 || i > 3) setValue("cursor", "2"); + i = getInt("pcenter"); + if(i < Paddles::MIN_ANALOG_CENTER || i > Paddles::MAX_ANALOG_CENTER) + setValue("pcenter", "0"); + + i = getInt("psense"); + if(i < 0|| i > Paddles::MAX_ANALOG_SENSE) + setValue("psense", "20"); + i = getInt("dsense"); if(i < 1 || i > 20) setValue("dsense", "10"); @@ -445,8 +456,10 @@ void Settings::usage() const << " properties in given mode(see manual)\n" << " -grabmouse <1|0> Locks the mouse cursor in the TIA window\n" << " -cursor <0,1,2,3> Set cursor state in UI/emulation modes\n" - << " -dejitter.base <0-10> Strength of paddle value averaging\n" - << " -dejitter.diff <0-10> Strength of paddle reaction to fast movements\n" + << " -dejitter.base <0-10> Strength of analog paddle value averaging\n" + << " -dejitter.diff <0-10> Strength of analog paddle reaction to fast movements\n" + << " -pcenter <-20-20> Center of analog paddle\n" + << " -psense <0-30> Sensitivity of analog paddle movement\n" << " -dsense <1-20> Sensitivity of digital emulated paddle movement\n" << " -msense <1-20> Sensitivity of mouse emulated paddle movement\n" << " -tsense <1-20> Sensitivity of mouse emulated trackball movement\n" @@ -486,7 +499,7 @@ void Settings::usage() const << " -launcherroms <1|0> Show only ROMs in the launcher (vs. all files)\n" << " -romviewer Show ROM info viewer at given zoom level in ROM\n" << " launcher (use 0 for off)\n" - << " -lastrom Last played ROM, automatically selected in\n" + << " -lastrom Last played ROM, automatically selected in\n" << " launcher\n" << " -romloadcount Number of ROM to load next from multicard\n" << " -uipalette addTab(" Emulation Events ", TabWidget::AUTO_WIDTH); - myEmulEventMapper = new EventMappingWidget(myTab, font, 2, 2, + tabID = myTab->addTab(" Emul. Events ", TabWidget::AUTO_WIDTH); + myEmulEventMapper = new EventMappingWidget(myTab, _font, 2, 2, myTab->getWidth(), myTab->getHeight() - 4, EventMode::kEmulationMode); @@ -66,8 +66,8 @@ InputDialog::InputDialog(OSystem& osystem, DialogContainer& parent, addToFocusList(myEmulEventMapper->getFocusList(), myTab, tabID); // 2) Event mapper for UI actions - tabID = myTab->addTab(" UI Events ", TabWidget::AUTO_WIDTH); - myMenuEventMapper = new EventMappingWidget(myTab, font, 2, 2, + tabID = myTab->addTab(" UI Events ", TabWidget::AUTO_WIDTH); + myMenuEventMapper = new EventMappingWidget(myTab, _font, 2, 2, myTab->getWidth(), myTab->getHeight() - 4, EventMode::kMenuMode); @@ -75,7 +75,10 @@ InputDialog::InputDialog(OSystem& osystem, DialogContainer& parent, addToFocusList(myMenuEventMapper->getFocusList(), myTab, tabID); // 3) Devices & ports - addDevicePortTab(font); + addDevicePortTab(); + + // 4) Mouse + addMouseTab(); // Finalize the tabs, and activate the first tab myTab->activateTabs(); @@ -83,7 +86,7 @@ InputDialog::InputDialog(OSystem& osystem, DialogContainer& parent, // Add Defaults, OK and Cancel buttons WidgetArray wid; - addDefaultsOKCancelBGroup(wid, font); + addDefaultsOKCancelBGroup(wid, _font); addBGroupToFocusList(wid); } @@ -93,135 +96,109 @@ InputDialog::~InputDialog() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void InputDialog::addDevicePortTab(const GUI::Font& font) +void InputDialog::addDevicePortTab() { - const int lineHeight = font.getLineHeight(), - fontWidth = font.getMaxCharWidth(), - fontHeight = font.getFontHeight(); - int xpos, ypos, lwidth, pwidth, tabID; + const int lineHeight = _font.getLineHeight(), + fontWidth = _font.getMaxCharWidth(), + fontHeight = _font.getFontHeight(); + int xpos, ypos, lwidth, tabID; WidgetArray wid; - VariantList items; const int VGAP = 4; - const int VBORDER = 9; + const int VBORDER = 8; const int HBORDER = 8; // Devices/ports - tabID = myTab->addTab(" Devices & Ports ", TabWidget::AUTO_WIDTH); + tabID = myTab->addTab("Devices & Ports", TabWidget::AUTO_WIDTH); ypos = VBORDER; - lwidth = font.getStringWidth("Digital paddle sensitivity "); // was: "Use mouse as a controller " - pwidth = font.getStringWidth("-UI, -Emulation"); - - // Use mouse as controller - items.clear(); - VarList::push_back(items, "Always", "always"); - VarList::push_back(items, "Analog devices", "analog"); - VarList::push_back(items, "Never", "never"); - myMouseControl = new PopUpWidget(myTab, font, HBORDER, ypos, pwidth, lineHeight, items, - "Use mouse as a controller ", lwidth); - wid.push_back(myMouseControl); - - // Mouse cursor state - ypos += lineHeight + VGAP; - items.clear(); - VarList::push_back(items, "-UI, -Emulation", "0"); - VarList::push_back(items, "-UI, +Emulation", "1"); - VarList::push_back(items, "+UI, -Emulation", "2"); - VarList::push_back(items, "+UI, +Emulation", "3"); - myCursorState = new PopUpWidget(myTab, font, HBORDER, ypos, pwidth, lineHeight, items, - "Mouse cursor visibility ", lwidth, kCursorStateChanged); - wid.push_back(myCursorState); -#ifndef WINDOWED_SUPPORT - myCursorState->clearFlags(Widget::FLAG_ENABLED); -#endif - - lwidth = font.getStringWidth("Digital paddle sensitivity "); + lwidth = _font.getStringWidth("Digital paddle sensitivity "); // Add joystick deadzone setting - ypos += lineHeight + VGAP*3; - myDeadzone = new SliderWidget(myTab, font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, - "Joystick deadzone size ", lwidth, kDeadzoneChanged); + myDeadzone = new SliderWidget(myTab, _font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, + "Joystick deadzone size", lwidth, kDeadzoneChanged, 5 * fontWidth); myDeadzone->setMinValue(0); myDeadzone->setMaxValue(29); myDeadzone->setTickmarkIntervals(4); xpos = HBORDER + myDeadzone->getWidth() + 5; - myDeadzoneLabel = new StaticTextWidget(myTab, font, xpos, ypos+1, 5*fontWidth, lineHeight, ""); wid.push_back(myDeadzone); + xpos = HBORDER; ypos += lineHeight + VGAP * 2; + new StaticTextWidget(myTab, _font, xpos, ypos+1, "Analog paddle:"); + + // Add paddle center + xpos += fontWidth * 2; + ypos += lineHeight + VGAP; + + myPaddleCenter = new SliderWidget(myTab, _font, xpos, ypos - 1, 13 * fontWidth, lineHeight, + "Center", + lwidth - fontWidth * 2, kPCenterChanged, 6 * fontWidth, "px", 0, true); + myPaddleCenter->setMinValue(Paddles::MIN_ANALOG_CENTER); + myPaddleCenter->setMaxValue(Paddles::MAX_ANALOG_CENTER); + myPaddleCenter->setTickmarkIntervals(4); + wid.push_back(myPaddleCenter); + + // Add paddle sensitivity + ypos += lineHeight + VGAP; + myPaddleSpeed = new SliderWidget(myTab, _font, xpos, ypos - 1, 13 * fontWidth, lineHeight, + "Sensitivity", + lwidth - fontWidth * 2, kPSpeedChanged, 4 * fontWidth, "%"); + myPaddleSpeed->setMinValue(0); myPaddleSpeed->setMaxValue(Paddles::MAX_ANALOG_SENSE); + myPaddleSpeed->setTickmarkIntervals(3); + wid.push_back(myPaddleSpeed); + + // Add dejitter (Stelladaptor emulation for now only) ypos += lineHeight + VGAP; - myDejitterBase = new SliderWidget(myTab, font, HBORDER, ypos - 1, 6 * fontWidth, lineHeight, - "Paddle dejitter strength", lwidth, kDejitterChanged); - myDejitterBase->setMinValue(Paddles::MIN_DEJITTER); myDejitterBase->setMaxValue(Paddles::MAX_DEJITTER); + myDejitterBase = new SliderWidget(myTab, _font, xpos, ypos - 1, 6 * fontWidth, lineHeight, + "Dejitter strength", lwidth - fontWidth * 2, kDejitterChanged); + myDejitterBase->setMinValue(Paddles::MIN_DEJITTER); + myDejitterBase->setMaxValue(Paddles::MAX_DEJITTER); myDejitterBase->setTickmarkIntervals(2); - xpos = HBORDER + myDejitterBase->getWidth() + fontWidth - 4; + xpos += myDejitterBase->getWidth() + fontWidth - 4; wid.push_back(myDejitterBase); - myDejitterDiff = new SliderWidget(myTab, font, xpos, ypos - 1, 6 * fontWidth, lineHeight, + myDejitterDiff = new SliderWidget(myTab, _font, xpos, ypos - 1, 6 * fontWidth, lineHeight, "", 0, kDejitterChanged); - myDejitterDiff->setMinValue(Paddles::MIN_DEJITTER); myDejitterDiff->setMaxValue(Paddles::MAX_DEJITTER); + myDejitterDiff->setMinValue(Paddles::MIN_DEJITTER); + myDejitterDiff->setMaxValue(Paddles::MAX_DEJITTER); myDejitterDiff->setTickmarkIntervals(2); - xpos += myDejitterDiff->getWidth() + 5; + xpos += myDejitterDiff->getWidth(); wid.push_back(myDejitterDiff); - myDejitterLabel = new StaticTextWidget(myTab, font, xpos, ypos + 1, 7 * fontWidth, lineHeight, ""); + myDejitterLabel = new StaticTextWidget(myTab, _font, xpos, ypos + 1, 7 * fontWidth, lineHeight, ""); // Add paddle speed (digital emulation) - ypos += lineHeight + VGAP; - myDPaddleSpeed = new SliderWidget(myTab, font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, - "Digital paddle sensitivity ", - lwidth, kDPSpeedChanged); + ypos += lineHeight + VGAP * 4; + myDPaddleSpeed = new SliderWidget(myTab, _font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, + "Digital paddle sensitivity", + lwidth, kDPSpeedChanged, 4 * fontWidth, "%"); myDPaddleSpeed->setMinValue(1); myDPaddleSpeed->setMaxValue(20); myDPaddleSpeed->setTickmarkIntervals(4); - xpos = HBORDER + myDPaddleSpeed->getWidth() + 5; - myDPaddleLabel = new StaticTextWidget(myTab, font, xpos, ypos+1, 24, lineHeight, ""); wid.push_back(myDPaddleSpeed); - // Add paddle speed (mouse emulation) - ypos += lineHeight + VGAP; - myMPaddleSpeed = new SliderWidget(myTab, font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, - "Mouse paddle sensitivity ", - lwidth, kMPSpeedChanged); - myMPaddleSpeed->setMinValue(1); myMPaddleSpeed->setMaxValue(20); - myMPaddleSpeed->setTickmarkIntervals(4); - xpos = HBORDER + myMPaddleSpeed->getWidth() + 5; - myMPaddleLabel = new StaticTextWidget(myTab, font, xpos, ypos+1, 24, lineHeight, ""); - wid.push_back(myMPaddleSpeed); - // Add trackball speed - ypos += lineHeight + VGAP; - myTrackBallSpeed = new SliderWidget(myTab, font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, - "Trackball sensitivity ", - lwidth, kTBSpeedChanged); + ypos += lineHeight + VGAP * 2; + myTrackBallSpeed = new SliderWidget(myTab, _font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, + "Trackball sensitivity", + lwidth, kTBSpeedChanged, 4 * fontWidth, "%"); myTrackBallSpeed->setMinValue(1); myTrackBallSpeed->setMaxValue(20); myTrackBallSpeed->setTickmarkIntervals(4); - xpos = HBORDER + myTrackBallSpeed->getWidth() + 5; - myTrackBallLabel = new StaticTextWidget(myTab, font, xpos, ypos+1, 24, lineHeight, ""); wid.push_back(myTrackBallSpeed); // Add 'allow all 4 directions' for joystick - ypos += lineHeight + VGAP*3; - myAllowAll4 = new CheckboxWidget(myTab, font, HBORDER, ypos, + ypos += lineHeight + VGAP * 4; + myAllowAll4 = new CheckboxWidget(myTab, _font, HBORDER, ypos, "Allow all 4 directions on joystick"); wid.push_back(myAllowAll4); - // Grab mouse (in windowed mode) - ypos += lineHeight + VGAP; - myGrabMouse = new CheckboxWidget(myTab, font, HBORDER, ypos, - "Grab mouse in emulation mode"); - wid.push_back(myGrabMouse); -#ifndef WINDOWED_SUPPORT - myGrabMouse->clearFlags(Widget::FLAG_ENABLED); -#endif - // Enable/disable modifier key-combos ypos += lineHeight + VGAP; - myModCombo = new CheckboxWidget(myTab, font, HBORDER, ypos, - "Use modifier key combos"); + myModCombo = new CheckboxWidget(myTab, _font, HBORDER, ypos, + "Use modifier key combos"); wid.push_back(myModCombo); ypos += lineHeight + VGAP; // Stelladaptor mappings - mySAPort = new CheckboxWidget(myTab, font, HBORDER, ypos, + mySAPort = new CheckboxWidget(myTab, _font, HBORDER, ypos, "Swap Stelladaptor ports"); wid.push_back(mySAPort); @@ -229,37 +206,101 @@ void InputDialog::addDevicePortTab(const GUI::Font& font) // Add EEPROM erase (part 1/2) ypos += VGAP*4; - fwidth = font.getStringWidth("AtariVox/SaveKey"); - lwidth = font.getStringWidth("AtariVox/SaveKey"); - new StaticTextWidget(myTab, font, _w - HBORDER - 4 - (fwidth + lwidth) / 2, ypos, + fwidth = _font.getStringWidth("AtariVox/SaveKey"); + lwidth = _font.getStringWidth("AtariVox/SaveKey"); + new StaticTextWidget(myTab, _font, _w - HBORDER - 4 - (fwidth + lwidth) / 2, ypos, "AtariVox/SaveKey"); // Show joystick database ypos += lineHeight; - myJoyDlgButton = new ButtonWidget(myTab, font, HBORDER, ypos, 20, + myJoyDlgButton = new ButtonWidget(myTab, _font, HBORDER, ypos, 20, "Joystick Database" + ELLIPSIS, kDBButtonPressed); wid.push_back(myJoyDlgButton); // Add EEPROM erase (part 1/2) - myEraseEEPROMButton = new ButtonWidget(myTab, font, _w - HBORDER - 4 - fwidth, ypos, + myEraseEEPROMButton = new ButtonWidget(myTab, _font, _w - HBORDER - 4 - fwidth, ypos, fwidth, lineHeight+4, "Erase EEPROM", kEEButtonPressed); wid.push_back(myEraseEEPROMButton); // Add AtariVox serial port - ypos += lineHeight + VGAP*2; - lwidth = font.getStringWidth("AVox serial port "); + ypos += lineHeight + VGAP * 2; + lwidth = _font.getStringWidth("AVox serial port "); fwidth = _w - HBORDER * 2 - 4 - lwidth; - new StaticTextWidget(myTab, font, HBORDER, ypos + 2, "AVox serial port "); - myAVoxPort = new EditTextWidget(myTab, font, HBORDER + lwidth, ypos, + new StaticTextWidget(myTab, _font, HBORDER, ypos + 2, "AVox serial port "); + myAVoxPort = new EditTextWidget(myTab, _font, HBORDER + lwidth, ypos, fwidth, fontHeight); - wid.push_back(myAVoxPort); // Add items for virtual device ports addToFocusList(wid, myTab, tabID); } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void InputDialog::addMouseTab() +{ + const int lineHeight = _font.getLineHeight(), + fontWidth = _font.getMaxCharWidth(), + fontHeight = _font.getFontHeight(); + int ypos, lwidth, pwidth, tabID; + WidgetArray wid; + VariantList items; + const int VGAP = 4; + const int VBORDER = 8; + const int HBORDER = 8; + + // Mouse + tabID = myTab->addTab(" Mouse ", TabWidget::AUTO_WIDTH); + + ypos = VBORDER; + lwidth = _font.getStringWidth("Use mouse as a controller "); + pwidth = _font.getStringWidth("-UI, -Emulation"); + + // Use mouse as controller + VarList::push_back(items, "Always", "always"); + VarList::push_back(items, "Analog devices", "analog"); + VarList::push_back(items, "Never", "never"); + myMouseControl = new PopUpWidget(myTab, _font, HBORDER, ypos, pwidth, lineHeight, items, + "Use mouse as a controller ", lwidth, kMouseCtrlChanged); + wid.push_back(myMouseControl); + + // Add paddle speed (mouse emulation) + ypos += lineHeight + VGAP; + myMPaddleSpeed = new SliderWidget(myTab, _font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, + "Mouse paddle sensitivity ", + lwidth, kMPSpeedChanged, 4 * fontWidth, "%"); + myMPaddleSpeed->setMinValue(1); myMPaddleSpeed->setMaxValue(20); + myMPaddleSpeed->setTickmarkIntervals(4); + wid.push_back(myMPaddleSpeed); + + + // Mouse cursor state + ypos += lineHeight + VGAP * 4; + items.clear(); + VarList::push_back(items, "-UI, -Emulation", "0"); + VarList::push_back(items, "-UI, +Emulation", "1"); + VarList::push_back(items, "+UI, -Emulation", "2"); + VarList::push_back(items, "+UI, +Emulation", "3"); + myCursorState = new PopUpWidget(myTab, _font, HBORDER, ypos, pwidth, lineHeight, items, + "Mouse cursor visibility ", lwidth, kCursorStateChanged); + wid.push_back(myCursorState); +#ifndef WINDOWED_SUPPORT + myCursorState->clearFlags(Widget::FLAG_ENABLED); +#endif + + // Grab mouse (in windowed mode) + ypos += lineHeight + VGAP; + myGrabMouse = new CheckboxWidget(myTab, _font, HBORDER, ypos, + "Grab mouse in emulation mode"); + wid.push_back(myGrabMouse); +#ifndef WINDOWED_SUPPORT + myGrabMouse->clearFlags(Widget::FLAG_ENABLED); +#endif + + // Add items for mouse + addToFocusList(wid, myTab, tabID); +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void InputDialog::loadConfig() { @@ -269,6 +310,7 @@ void InputDialog::loadConfig() // Use mouse as a controller myMouseControl->setSelected( instance().settings().getString("usemouse"), "analog"); + handleMouseControlState(); // Mouse cursor state myCursorState->setSelected(instance().settings().getString("cursor"), "2"); @@ -276,20 +318,20 @@ void InputDialog::loadConfig() // Joystick deadzone myDeadzone->setValue(instance().settings().getInt("joydeadzone")); - myDeadzoneLabel->setValue(Joystick::deadzone()); + + // Paddle center & speed (analog) + myPaddleCenter->setValue(instance().settings().getInt("pcenter")); + myPaddleSpeed->setValue(instance().settings().getInt("psense")); // Paddle speed (digital and mouse) myDejitterBase->setValue(instance().settings().getInt("dejitter.base")); myDejitterDiff->setValue(instance().settings().getInt("dejitter.diff")); updateDejitter(); myDPaddleSpeed->setValue(instance().settings().getInt("dsense")); - myDPaddleLabel->setLabel(instance().settings().getString("dsense")); myMPaddleSpeed->setValue(instance().settings().getInt("msense")); - myMPaddleLabel->setLabel(instance().settings().getString("msense")); // Trackball speed myTrackBallSpeed->setValue(instance().settings().getInt("tsense")); - myTrackBallLabel->setLabel(instance().settings().getString("tsense")); // AtariVox serial port myAVoxPort->setText(instance().settings().getString("avoxport")); @@ -334,6 +376,16 @@ void InputDialog::saveConfig() instance().settings().setValue("joydeadzone", deadzone); Joystick::setDeadZone(deadzone); + // Paddle center (analog) + int center = myPaddleCenter->getValue(); + instance().settings().setValue("pcenter", center); + Paddles::setAnalogCenter(center); + + // Paddle speed (analog) + int sensitivity = myPaddleSpeed->getValue(); + instance().settings().setValue("psense", sensitivity); + Paddles::setAnalogSensitivity(sensitivity); + // Paddle speed (digital and mouse) int dejitter = myDejitterBase->getValue(); instance().settings().setValue("dejitter.base", dejitter); @@ -342,7 +394,7 @@ void InputDialog::saveConfig() instance().settings().setValue("dejitter.diff", dejitter); Paddles::setDejitterDiff(dejitter); - int sensitivity = myDPaddleSpeed->getValue(); + sensitivity = myDPaddleSpeed->getValue(); instance().settings().setValue("dsense", sensitivity); Paddles::setDigitalSensitivity(sensitivity); @@ -394,26 +446,19 @@ void InputDialog::setDefaults() myMenuEventMapper->setDefaults(); break; - case 2: // Virtual devices - { + case 2: // Devices & Ports // Left & right ports mySAPort->setState(false); - // Use mouse as a controller - myMouseControl->setSelected("analog"); - - // Mouse cursor state - myCursorState->setSelected("2"); - // Joystick deadzone myDeadzone->setValue(0); - myDeadzoneLabel->setValue(3200); - // Paddle speed (digital and mouse) + // Paddle center & speed (analog) + myPaddleCenter->setValue(0); + myPaddleSpeed->setValue(20); + + // Paddle speed (digital) myDPaddleSpeed->setValue(10); - myDPaddleLabel->setLabel("10"); - myMPaddleSpeed->setValue(10); - myMPaddleLabel->setLabel("10"); #if defined(RETRON77) myDejitterBase->setValue(2); myDejitterDiff->setValue(6); @@ -423,7 +468,6 @@ void InputDialog::setDefaults() #endif updateDejitter(); myTrackBallSpeed->setValue(10); - myTrackBallLabel->setLabel("10"); // AtariVox serial port myAVoxPort->setText(""); @@ -431,16 +475,27 @@ void InputDialog::setDefaults() // Allow all 4 joystick directions myAllowAll4->setState(false); - // Grab mouse - myGrabMouse->setState(true); - // Enable/disable modifier key-combos myModCombo->setState(true); - handleCursorState(); - break; - } + + case 3: // Mouse + // Use mouse as a controller + myMouseControl->setSelected("analog"); + + // Mouse cursor state + myCursorState->setSelected("2"); + + // Grab mouse + myGrabMouse->setState(true); + + // Paddle speed (mouse) + myMPaddleSpeed->setValue(10); + + handleMouseControlState(); + handleCursorState(); + break; default: break; @@ -566,28 +621,28 @@ void InputDialog::handleCommand(CommandSender* sender, int cmd, setDefaults(); break; - case kCursorStateChanged: - handleCursorState(); - break; - case kDeadzoneChanged: - myDeadzoneLabel->setValue(3200 + 1000*myDeadzone->getValue()); + myDeadzone->setValueLabel(3200 + 1000 * myDeadzone->getValue()); break; - case kDPSpeedChanged: - myDPaddleLabel->setValue(myDPaddleSpeed->getValue()); + case kPCenterChanged: + myPaddleCenter->setValueLabel(myPaddleCenter->getValue() * 5); break; - case kMPSpeedChanged: - myMPaddleLabel->setValue(myMPaddleSpeed->getValue()); + case kPSpeedChanged: + myPaddleSpeed->setValueLabel(Paddles::setAnalogSensitivity(myPaddleSpeed->getValue()) * 100.0 + 0.5); break; case kDejitterChanged: updateDejitter(); break; + case kDPSpeedChanged: + myDPaddleSpeed->setValueLabel(myDPaddleSpeed->getValue() * 10); + break; + case kTBSpeedChanged: - myTrackBallLabel->setValue(myTrackBallSpeed->getValue()); + myTrackBallSpeed->setValueLabel(myTrackBallSpeed->getValue() * 10); break; case kDBButtonPressed: @@ -623,20 +678,23 @@ void InputDialog::handleCommand(CommandSender* sender, int cmd, eraseEEPROM(); break; + case kMouseCtrlChanged: + handleMouseControlState(); + break; + + case kCursorStateChanged: + handleCursorState(); + break; + + case kMPSpeedChanged: + myMPaddleSpeed->setValueLabel(myMPaddleSpeed->getValue() * 10); + break; + default: Dialog::handleCommand(sender, cmd, data, 0); } } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void InputDialog::handleCursorState() -{ - int state = myCursorState->getSelected(); - bool enableGrab = state != 1 && state != 3; - - myGrabMouse->setEnabled(enableGrab); -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void InputDialog::updateDejitter() { @@ -659,3 +717,17 @@ void InputDialog::updateDejitter() myDejitterLabel->setLabel(label.str()); } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void InputDialog::handleMouseControlState() +{ + myMPaddleSpeed->setEnabled(myMouseControl->getSelected() != 2); +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void InputDialog::handleCursorState() +{ + int state = myCursorState->getSelected(); + bool enableGrab = state != 1 && state != 3; + + myGrabMouse->setEnabled(enableGrab); +} diff --git a/src/gui/InputDialog.hxx b/src/gui/InputDialog.hxx index 45fb8ed35..b86155fca 100644 --- a/src/gui/InputDialog.hxx +++ b/src/gui/InputDialog.hxx @@ -59,23 +59,29 @@ class InputDialog : public Dialog void saveConfig() override; void setDefaults() override; - void addDevicePortTab(const GUI::Font& font); + void addDevicePortTab(); + void addMouseTab(); + + void handleMouseControlState(); void handleCursorState(); void updateDejitter(); void eraseEEPROM(); private: enum { - kCursorStateChanged = 'CSch', kDeadzoneChanged = 'DZch', + kPCenterChanged = 'Pcch', + kPSpeedChanged = 'Ppch', kDejitterChanged = 'Pjch', kDPSpeedChanged = 'PDch', - kMPSpeedChanged = 'PMch', kTBSpeedChanged = 'TBch', kDBButtonPressed = 'DBbp', kEEButtonPressed = 'EEbp', - kConfirmEEEraseCmd = 'EEcf' + kConfirmEEEraseCmd = 'EEcf', + kMouseCtrlChanged = 'MCch', + kCursorStateChanged = 'CSch', + kMPSpeedChanged = 'PMch', }; TabWidget* myTab{nullptr}; @@ -90,16 +96,14 @@ class InputDialog : public Dialog EditTextWidget* myAVoxPort{nullptr}; SliderWidget* myDeadzone{nullptr}; - StaticTextWidget* myDeadzoneLabel{nullptr}; + SliderWidget* myPaddleCenter{nullptr}; + SliderWidget* myPaddleSpeed{nullptr}; SliderWidget* myDejitterBase{nullptr}; SliderWidget* myDejitterDiff{nullptr}; SliderWidget* myDPaddleSpeed{nullptr}; SliderWidget* myMPaddleSpeed{nullptr}; SliderWidget* myTrackBallSpeed{nullptr}; StaticTextWidget* myDejitterLabel{nullptr}; - StaticTextWidget* myDPaddleLabel{nullptr}; - StaticTextWidget* myMPaddleLabel{nullptr}; - StaticTextWidget* myTrackBallLabel{nullptr}; CheckboxWidget* myAllowAll4{nullptr}; CheckboxWidget* myGrabMouse{nullptr}; CheckboxWidget* myModCombo{nullptr}; From 48f87ffa5489771f823e19a04e4c0b18dc0aec2b Mon Sep 17 00:00:00 2001 From: thrust26 Date: Wed, 25 Mar 2020 12:00:41 +0100 Subject: [PATCH 34/80] fixes #595 (debugger BK color) --- src/emucore/tia/TIA.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/emucore/tia/TIA.cxx b/src/emucore/tia/TIA.cxx index 60608b765..38beebbcf 100644 --- a/src/emucore/tia/TIA.cxx +++ b/src/emucore/tia/TIA.cxx @@ -568,7 +568,8 @@ bool TIA::poke(uInt16 address, uInt8 value) break; case COLUBK: - myBackground.setColor(value & 0xFE); + value &= 0xFE; + myBackground.setColor(value); myShadowRegisters[address] = value; break; From 6741cb4ef98883855e44865f4b943ab84b95ede1 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Wed, 25 Mar 2020 19:28:39 +0100 Subject: [PATCH 35/80] split X and Y center of paddles add definition of paddles centers via game properties --- src/emucore/Console.cxx | 3 +- src/emucore/DefProps.hxx | 7022 ++++++++++++++++++------------------ src/emucore/OSystem.cxx | 2 + src/emucore/Paddles.cxx | 20 +- src/emucore/Paddles.hxx | 20 +- src/emucore/Props.cxx | 8 + src/emucore/Props.hxx | 2 + src/emucore/Settings.cxx | 8 +- src/gui/GameInfoDialog.cxx | 86 +- src/gui/GameInfoDialog.hxx | 5 + src/gui/InputDialog.cxx | 87 +- src/gui/InputDialog.hxx | 9 +- src/tools/PropSet.pm | 14 +- 13 files changed, 3678 insertions(+), 3608 deletions(-) diff --git a/src/emucore/Console.cxx b/src/emucore/Console.cxx index be6f00f43..518030966 100644 --- a/src/emucore/Console.cxx +++ b/src/emucore/Console.cxx @@ -924,7 +924,8 @@ unique_ptr Console::getControllerPort(const Controller::Type type, else if(type == Controller::Type::PaddlesIAxDr) swapAxis = swapDir = true; - Paddles::setAnalogCenter(myOSystem.settings().getInt("pcenter")); + Paddles::setAnalogXCenter(BSPF::stringToInt(myProperties.get(PropType::Controller_PaddlesXCenter))); + Paddles::setAnalogYCenter(BSPF::stringToInt(myProperties.get(PropType::Controller_PaddlesYCenter))); Paddles::setAnalogSensitivity(myOSystem.settings().getInt("psense")); controller = make_unique(port, myEvent, *mySystem, diff --git a/src/emucore/DefProps.hxx b/src/emucore/DefProps.hxx index bb834d812..d5bb3533e 100644 --- a/src/emucore/DefProps.hxx +++ b/src/emucore/DefProps.hxx @@ -27,3517 +27,3517 @@ static constexpr uInt32 DEF_PROPS_SIZE = 3510; -static const BSPF::array2D DefProps = {{ - { "000509d1ed2b8d30a9d94be1b3b5febb", "Greg Zumwalt", "", "Jungle Jane (2003) (Greg Zumwalt) (Hack)", "Hack of Pitfall!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0060a89b4c956b9c703a59b181cb3018", "CommaVid, Irwin Gaines - Ariola", "CM-008 - 712 008-720", "Cakewalk (1983) (CommaVid) (PAL)", "AKA Alarm in der Backstube", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "007d18dedc1f0565f09c42aa61a6f585", "CCE", "C-843", "Worm War I (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "008543ae43497af015e9428a5e3e874e", "Retroactive", "", "Qb (V2.09) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "00b7b4cbec81570642283e7fc1ef17af", "SEGA - Beck-Tech, Steve Beck, Phat Ho", "006-01", "Congo Bongo (1983) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "00ce0bdd43aed84a983bef38fe7f5ee3", "20th Century Fox, Bill Aspromonte", "11012", "Bank Heist (1983) (20th Century Fox)", "AKA Bonnie and Clyde, Cops 'n' Robbers, Holdup, Rooring 20's", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "00ce76ad69cdc2fa36ada01ae092d5a6", "Bit Corporation", "PGP214", "Cosmic Avenger (4 Game in One) (1983) (BitCorp) (PAL)", "AKA StarMaster", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "00dc28b881989c39a6cf87a892bd3c6b", "CCE", "", "Krull (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "00e19ebf9d0817ccfb057e262be1e5af", "Atari, Ed Logg, Carol Shaw", "CX2639, CX2639P", "Othello (1981) (Atari) (PAL) [no grid markers]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "00e55b27fe2e96354cd21b8b698d1e31", "", "", "Phoenix (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "00eaee22034aff602f899b684c107d77", "Rainbow Vision - Suntek - Sunteck Corp", "SS-001", "Time Race (1983) (Rainbow Vision) (PAL)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "00f7985c20b8bdf3c557fac4d3f26775", "Aaron Curtis", "", "AStar (NTSC)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "012020625a3227815e47b37fd025e480", "Rob Kudla", "", "Better Space Invaders (1999) (Rob Kudla) (Hack) [a]", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "01293bd90a4579abb7aed2f7d440681f", "Century", "", "Snoopy (1983) (Century) (PAL)", "AKA Snoopy and the Red Baron", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "01297d9b450455dd716db9658efb2fae", "TechnoVision - Video Technology", "TVS1002", "Save Our Ship (1983) (TechnoVision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "012b8e6ef3b5fd5aabc94075c527709d", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix (1983) (Arcadia)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 56", "", "", "", "" }, - { "0164f26f6b38a34208cd4a2d0212afc3", "Coleco, Ed English", "2656", "Mr. Do! (1983) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "0173675d40a8d975763ee493377ca87d", "CBS Electronics, Ed English", "4L1751", "Roc 'n Rope (1984) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "01abcc1d2d3cba87a3aa0eb97a9d7b9c", "Jone Yuan Telephonic Enterprise Co", "", "Topy (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "01b09872dcd9556427761f0ed64aa42a", "Galaga Games", "", "River Raid (1984) (Galaga Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "01cb3e8dfab7203a9c62ba3b94b4e59f", "Atari, Mimi Nyden, Scott Smith, Robert Vieira", "CX26127", "Gremlins (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "01e5c81258860dd82f77339d58bc5f5c", "CCE", "", "Corrida da Matematica (CCE)", "AKA Math Gran Prix", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "01e60a109a6a67c70d3c0528381d0187", "ITT Family Games, Perry Rhodan-Serie", "554-33 383", "Fire Birds (1983) (ITT Family Games) (PAL)", "AKA Sky Alien", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "01f584bf67b0e464014a8c8b5ea470e3", "Arcadia Corporation, Dennis Caswell", "5 AR-4200", "Labyrinth (Escape from the Mindmaster Beta) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "02066b17f29082412c6754c1a2d6302e", "", "", "Demo Image Series #3 - Baboon (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "024365007a87f213cbe8ef5f2e8e1333", "Atari, Frank Hausman, Mimi Nyden, Steve Woita", "CX2686", "Quadrun (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "025668e36a788e8af8ac4f1be7e72043", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2659", "Raiders of the Lost Ark (06-14-82) (Atari) (Prototype)", "Console ports are swapped", "Prototype", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "026180bf641ff17d8577c33facf0edea", "Activision, Steve Cartwright", "AX-022", "Seaquest (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0277c449fae63f6f1c8f94dedfcf0058", "", "", "Laser Demo (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "027a59a575b78860aed780b2ae7d001d", "CCE", "", "Pressure Cooker (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "028024fb8e5e5f18ea586652f9799c96", "Coleco - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "2468", "Carnival (1982) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "02811151906e477d47c135db5b1699c6", "", "", "FlickerSort Demo (Updated) (20-04-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "02a5fc90a0d183f870e8eebac1f16591", "HES", "771-422", "2 Pak Special - Star Warrior, Frogger (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "02ab2c47bc21e7feafa015f90d7df776", "Atari", "MA017600", "Diagnostic Test Cartridge 2.6 (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "02ced7ea2b7cb509748db6bfa227ebec", "Parker Brothers, Ed English, David Lamkins", "931502", "Frogger (1982) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "02cee0b140d2f1a1efcfb1d482a5c392", "Atari, Ed Logg, Carol Shaw - Sears", "CX2639 - 49-75162", "Othello (1981) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "02dcba28c614fec7ca25955327128abb", "Andrew Wallace", "", "Laseresal 2002 (PAL) (PD) [a]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "02e3f4ba156fb578bef7d7a0bf3400c1", "", "", "Booster (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "033e21521e0bf4e54e8816873943406d", "20th Century Fox Video Games - Sirius Software, Dan Thompson", "11020", "Earth Dies Screaming, The (1983) (20th Century Fox)", "The Day the Earth Stood Still", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "034c1434280b0f2c9f229777d790d1e1", "Telegames", "5665 A016", "Baseball (1988) (Telegames) (PAL)", "AKA Super Challenge Baseball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0375f589f7da06d2d2be532e0d4d4b94", "", "", "Push (V0.04) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0383dc02cb82302da3d155fd108bfe3a", "AtariAge, Chris Spry", "CX26200", "Princess Rescue (2013) (Sprybug) (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, - { "038e1e79c3d4410defde4bfe0b99cc32", "Atari, Tod Frye, Gary Shannon", "", "Aquaventure (08-12-1983) (Atari) (Prototype)", "AKA Sea Sentinel", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "039cf18b459d33b8a8fca31d06c4c244", "", "", "Demo Image Series #0 (12-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "03b1051c9374678363c899914412cfc5", "", "", "Incoming (30-10-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "03c3f7ba4585e349dd12bfa7b34b7729", "SEGA, Jeff Lorenz", "004-01", "Star Trek - Strategic Operations Simulator (1983) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "03fbcee0bc80e31f27254aea3d920510", "Bit Corporation", "R320", "Trick Shot (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "03ff9e8a7af437f16447fe88cea3226c", "Bomb - Onbase", "CA285", "Wall-Defender (1983) (Bomb)", "AKA Wall Break", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "04014d563b094e79ac8974366f616308", "Atari, Andrew Fuchs, Courtney Granner, Jeffrey Gusman, Mark R. Hahn", "CX2690", "Pengo (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "041b5e56bbc650db574bd8db3fae2696", "Thomas Jentzsch", "", "Thrust (V1.0) (2000) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "043f165f384fbea3ea89393597951512", "Spectravision - Spectravideo", "SA-202", "Planet Patrol (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0443cfa9872cdb49069186413275fa21", "M Network - INTV, Patricia Lewis Du Long, Ron Surratt", "MT4518", "BurgerTime (1983) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "045035f995272eb2deb8820111745a07", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (1983) (Arcadia)", "AKA Jungle Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "047ac3b9faea64522b7a23c4465a7aa8", "", "", "Defender (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "04856e3006a4f5f7b4638da71dad3d88", "Atari, Douglas Neubauer", "CX26176", "Radar Lock (1989) (Atari) (PAL)", "AKA Dog Fight", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "049626cbfb1a5f7a5dc885a0c4bb758e", "", "", "MegaMania (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "04b488d4eef622d022a0021375e7e339", "Home Vision - Gem International Corp. - VDI", "VCS83107", "Tennis (1983) (Home Vision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "04cf9e6898007024622ed6a0b295961f", "Bit Corporation", "R320", "Tennis (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "04dfb4acac1d0909e4c360fd2ac04480", "Thomas Jentzsch", "", "Jammed (2001) (XYPE) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "04e737c9d53cd84bfd5ee679954e4706", "Jone Yuan Telephonic Enterprise Co", "", "Checkers (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "04fccc7735155a6c1373d453b110c640", "HES - Imagineering, David Lubar", "535", "My Golf (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0519f395d5f7d76be813b834aa51c0be", "Atari, Ian Shepard", "CX2604", "Space War (1978) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0546f4e6b946f38956799dd00caab3b1", "Thomas Jentzsch", "", "My Golf (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "056f5d886a4e7e6fdd83650554997d0d", "Parker Brothers, Ed Temple", "931504", "Amidar (1982) (Parker Bros) (PAL)", "", "Uncommon", "", "", "", "A", "A", "", "", "", "", "", "", "", "", "", "" }, - { "056ff67dd9715fafa91fb8b0ddcc4a46", "", "", "Frisco (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "05824fcbe615dbca836d061a140a50e0", "Jeffry Johnston", "", "Radial Pong - Version 9 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "05aedf04803c43eb5e09dfd098d3fd01", "", "", "Keystone Kapers (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "05aff8f626ef870432ae3b3d9d5aa301", "Activision, Bob Whitehead", "AG-019", "Sky Jinks (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "05b45ba09c05befa75ac70476829eda0", "Parker Brothers, Rex Bradford", "931507", "Star Wars - Jedi Arena (1983) (Parker Bros) (PAL)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "10 50", "", "", "", "" }, - { "05c60458ec69e7fe8b1be973852d84f1", "", "", "Test (1996) (J.V. Matthews) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "05c765a63e61882abd1c2d627b652225", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Amiga Mouse Hack v1.1 (NTSC) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "05ccf96247af12eef59698f1a060a54f", "Otto Versand", "600273", "King Arthur (1983) (Otto Versand) (PAL)", "AKA Dragonfire (Double-Game Package)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "05d61b925d3d2474bab83f0a79bb5df1", "Eckhard Stolberg", "", "Cosmic Ark Stars (1997) (Eckhard Stolberg)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "05eb4347f0ec8f4783983ca35ffd8d1b", "", "", "Qb (2.06) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "05ebd183ea854c0a1b56c218246fbbae", "Atari, Dan Hitchens", "CX2656", "SwordQuest - EarthWorld (1982) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "05f11fb2e45c4e47424d3cb25414d278", "", "", "Boring (NTSC) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "060c865c782debb047e6fd101c8923fc", "Atari", "CX26163P", "Freeway Rabbit (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Freeway", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0614ed51acd027d531e7c85c4f435292", "", "", "Narnia (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0619e1c3286bbfbace040b8c3ec5add2", "Omegamatrix", "", "Millipede (Atari Trak-Ball) v6.5 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, - { "0651216c4a4a9c9ac5ada3013a317c72", "Jone Yuan Telephonic Enterprise Co", "", "Fishing Derby (Jone Yuan) (4K) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "06742cf522f23797157f215a1dc8a1a9", "", "", "Healthbars (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0685bd0bcb975ceef7041749a5454a48", "Piero Cavina", "", "11 Sprite Demo (Piero Cavina) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "069c17beb1e8e0557adb8539fdcf6cba", "", "", "Phantom II & Pirate (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "06b0194ce992584c365278e0d7323279", "Activision", "", "Unknown Activision Game #2 (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "06b6c5031b8353f3a424a5b86b8fe409", "Activision, Mike Lorenzen - Ariola", "EAX-023 - 711 023-720", "Oink! (1983) (Activision) (PAL)", "AKA Das Schweinchen und der Wolf", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "06cfd57f0559f38b9293adae9128ff88", "Telegames", "4317 A009", "Adventures on GX-12 (1988) (Telegames) (PAL)", "AKA Adventures of Tron", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "06d2f7674cea977607f74c464ce600a2", "CBS Electronics, Alex Nevelson", "4L 2737 0000", "Omega Race (1983) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "BOOSTERGRIP", "", "", "", "", "", "", "" }, - { "06db908011065e5ebb37f4e253c2a0b0", "", "", "Gopher (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "06e5dc181a8eda1c31cc7c581c68b6ef", "", "", "Tac-Scan (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "071f84d10b343c7c05ce3e32af631687", "Rainbow Vision - Suntek", "SS-019", "Curtiss (1983) (Rainbow Vision) (PAL)", "AKA Atlantis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "072a6ea2181ca0df88ac0dedc67b239d", "", "", "Multiple Missiles Demo (19-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "073cb76b006af034fd150be3f5e0e7e6", "", "", "Mobile 48 Sprite Kernel (Bug Fixed) (10-01-2003) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "073d7aff37b7601431e4f742c36c0dc1", "", "", "Bermuda (Unknown) (PAL)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "074ec425ec20579e64a7ded592155d48", "Atari - Sculptured Software, Steve Aguirre", "CX26162", "Fatal Run (Ultimate Driving) (1991) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "075069ad80cde15eca69e3c98bd66714", "CCE", "C-803", "Bobby Is Going Home (1983) (CCE)", "AKA Bobby Vai Para Casa", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0751f342ee4cf28f2c9a6e8467c901be", "Atari, Mimi Nyden, Joseph Tung", "CX26152", "Super Baseball (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "07973be3ecfd55235bf59aa56bdef28c", "Suntek", "SS-036", "Criminal Pursuit (1983) (Suntek) (PAL)", "AKA A Mysterious Thief", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "079fe9103515d15bc108577e234a484d", "", "", "Multi-Color Demo 0 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "07a3af1e18b63765b6807876366f5e8a", "Joe Grand", "", "SCSIcide Pre-release 2 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "07c76f2d88552d20ad2c0ed7aef406c6", "Cody Pittman", "", "Blob (Cody Pittman) (Hack)", "Hack of Halloween", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "07f42847a79e4f5ae55cc03304b18c25", "Zellers", "", "Sea Hawk (Zellers)", "AKA Seahawk", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "07f84db31e97ef8d08dc9fa8a5250755", "Supergame", "", "Enduro (1984) (Supergame)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "07f91e33e76f53bb9d2731fd5d8a35a5", "Atari", "CX2632", "Space Invaders (1978) (Atari) [t1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0805366f1b165a64b6d4df20d2c39d25", "Atari, Dan Hitchens", "CX2650", "Berzerk (1982) (Atari) (PAL)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "08188785e2b8300983529946dbeff4d2", "Atari, Carla Meninsky, Ed Riddle - Sears", "CX2611 - 99821, 49-75149", "Indy 500 (1977) (Atari) (4K)", "Uses the Driving Controllers", "", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "45", "", "", "", "" }, - { "081e2c114c9c20b61acf25fc95c71bf4", "Parker Brothers, Ed English, David Lamkins", "PB5300", "Frogger (1982) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "082fdc8bd47fef01482ce5883c4ffdb8", "Charles Morgan", "", "Tanks DX (Charles Morgan) (Hack)", "Hack of Tanks But No Tanks", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0832fb2ee654bf9382bc57d2b16d2ffc", "Apollo - Games by Apollo, Ed Salvo", "AP-1001", "Skeet Shoot (1981) (Apollo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "083e7cae41a874b2f9b61736c37d2ffe", "Imagic, Rob Fulop, Bob Smith", "720106-2A, IA3600P, EIX-009-04I", "Riddle of the Sphinx (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "085322bae40d904f53bdcc56df0593fc", "Parker Brothers, Dave Engman, Dawn Stockbridge", "PB5340", "Tutankham (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0856f202b18cd46e44fd1dc3b42e9bfb", "", "", "Frame Counter 1 (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0866e22f6f56f92ea1a14c8d8d01d29c", "Androbot - Western Technologies, Michael Case, Lenny Carlson", "", "AndroMan on the Moon (1984) (Western Tech) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0891252ee4e307689febccf3cfd8a8ab", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0894aa7be77521f9df562be8d9555fe6", "CBS Electronics, Dan Kitchen, Garry Kitchen", "4L1700, 4L1701, 4L1702, 4L1802, 4L2274", "Donkey Kong (1982) (CBS Electronics) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "08989fa4ff537f5dbd611aff4019521a", "Atari, Gary Palmer", "CX26163P", "Fun with Numbers (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "08bd4c1dcc843f6a0b563d9fd80b3b11", "Quelle", "343.273 9", "Phantompanzer II (1983) (Quelle) (PAL)", "AKA Thunderground", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "08bf437d012db07b05ff57a0c745c49e", "Arcadia Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Meteoroids (1982) (Arcadia) (Prototype)", "Suicide Mission Beta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "08d1b6d75206edb999252caf542a2c7f", "Larry Petit", "", "Super Home Run (2003) (Larry Petit) (Hack)", "Hack of Home Run", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "08d60a58a691c7f690162850302dc0e1", "", "", "Poker Squares (V0.27) (PAL) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "08e5960bb52d9a3e2c9954677b5e4472", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (10-20-1982) (Atari) (Prototype)", "Uses the Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "08ea2fdaa22e5802c839ee7dfb0483dc", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.2 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "08f4dc6f118f7c98e2406c180c08e78e", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Tug of War (2 of 3) (1983) (Arcadia) (PAL)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "02", "", "", "", "" }, - { "08f853e8e01e711919e734d85349220d", "Atari, Jerome Domurat, Michael Sierchio", "CX2667", "RealSports Soccer (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0906c6e0e4bda9c10cfa4c5fc64d2f4b", "Retroactive", "", "Qb (V0.12) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "090f0a7ef8a3f885048d213faa59b2f8", "Carrere Video - Western Technologies, John Hall - Teldec - Prism", "USC1012", "M.A.D. (1983) (Carrere Video) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "09274c3fc1c43bf1e362fda436651fd8", "Thomas Jentzsch", "", "Acid Drop (TJ)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "09388bf390cd9a86dc0849697b96c7dc", "Absolute Entertainment, Alex DeMeo", "AG-045-04, AK-045-04", "Pete Rose Baseball (1988) (Absolute)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0945081a6bd00345ff3d58eb7a07330a", "", "", "Stampede (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0956285e24a18efa10c68a33846ca84d", "Dismac", "", "Viagem Espacial (Dismac)", "AKA Star Voyager", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0963aa9f7f6cf5a36ff700001583624e", "Franklin Cruz", "", "Space Invaders 2 (Hack) [o1]", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "096649575e451508006b17e0353259a5", "Justin J. Scott", "", "Yar Vs. Yar (2002) (Justin J. Scott) (Hack)", "Hack of Yars' Revenge", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "097074f24cde141fe6a0f26a10333265", "", "", "Marble Craze (V0.90) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "097936b07e0e0117b9026ae6835eb168", "Imagic, Dennis Koble", "720100-2B, IA3000P", "Trick Shot (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "09abfe9a312ce7c9f661582fdf12eab6", "Atari, Douglas Neubauer", "CX26154", "Super Football (1988) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "09e1ecf9bd2a3030d5670dba7a65e78d", "Atari, James Andreasen", "CX2654", "Haunted House (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "09e9ba0762fd0c3cf3c2e072cff79cac", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (1984) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "09f89bbfa2ab00f1964d200e12d7ced0", "Atari", "MA017600", "Diagnostic Test Cartridge 2.6 (1982) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0a1b98937911d621b004b1617446d124", "", "", "Hangman Pac-Man Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0a981c03204ac2b278ba392674682560", "Atari, Bob Whitehead - Sears", "CX2651 - 99805, 49-75602", "Blackjack (1977) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "" }, - { "0aa208060d7c140f20571e3341f5a3f8", "U.S. Games Corporation - Western Technologies, Jeff Corsiglia, Paul Allen Newell, Tom Sloper", "VC1009", "Towering Inferno (1982) (U.S. Games)", "Uses the Joystick Controllers (swapped)", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "YES", "" }, - { "0abf64ca504a116adca80f77f85e00fb", "", "", "Cube Conquest (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0ac0d491763153fac75f5337ce32a9d6", "", "", "SPAM Image Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0acaf71e60b89f6b6eab63db6ab84510", "", "", "This Planet Sucks (Greg Troutman) [a2]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0aceb7c3bd13fe048b77a1928ed4267d", "Imagic, Bob Smith", "720102-2B, IA3201P, EIX-011-04I", "Star Voyager (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0ad9a358e361256b94f3fb4f2fa5a3b1", "Atari, Carol Shaw, Nick 'Sandy Maiwald' Turner - Sears", "CX2608 - 49-75165", "Super Breakout (1982 - 1981) (Atari) [a]", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, - { "0adb21206de92e8aec5ef295805ebb90", "", "", "Solaris (Genesis)", "Genesis controller (C switches to map mode)", "Hack of Solaris", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0ae3497e731ca0bf6a77b23441d9d9f9", "", "", "Analog Clock (V0.0) (20-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0af51ceb4aecc7a8fc89781ac44a1973", "Barry Laws Jr.", "", "Face Invaders Deluxe (Barry Laws Jr.) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0afe6ae18966795b89314c3797dd2b1e", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692, CX2692P", "Moon Patrol (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0b01909ba84512fdaf224d3c3fd0cf8d", "", "", "Revenge of the Apes (Hack)", "Hack of Planet of the Apes", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0b1056f1091cfdc5eb0e2301f47ac6c3", "Tigervision - Software Electronics Corp., Karl T. Olinger - Teldec", "7-001 - 3.60001 VE", "King Kong (1982) (Tigervision) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0b17ed42984000da8b727ca46143f87a", "Atari - CCW, Christopher H. Omarzu", "CX26104", "Big Bird's Egg Catch (05-17-1983) (Atari) (Prototype)", "Uses the Keypad Controller", "Prototype", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "" }, - { "0b24658714f8dff110a693a2052cc207", "CCE", "C-815", "Seaquest (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0b33252b680b65001e91a411e56e72e9", "CCE", "C-832", "Atlantis (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0b4e793c9425175498f5a65a3e960086", "CCE", "", "Kung Fu Master (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0b55399cf640a2a00ba72dd155a0c140", "Imagic, Wilfredo Aguilar, Michael Becker, Rob Fulop", "720111-1A, 03205", "Fathom (1983) (Imagic)", "AKA Scuba", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "0b577e63b0c64f9779f315dca8967587", "Videospielkassette - Ariola", "PGP236", "Raketen-Angriff (Ariola) (PAL)", "AKA Missile Control", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0b8d3002d8f744a753ba434a4d39249a", "Sears Tele-Games, Robert Zdybel", "CX2619 - 49-75159", "Stellar Track (1981) (Sears)", "AKA Stella Trak", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "0bf19e40d5cd8aa5afb33b16569313e6", "Atari, Jerome Domurat, Andrew Fuchs, Dave Staugas, Robert Vieira", "CX26118", "Millipede (01-04-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0bf1e354304f46c0caf8fc0f6f5e9525", "Arcadia Corporation, Stephen Harland Landrum", "AR-4105", "Official Frogger (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0bfabf1e98bdb180643f35f2165995d0", "Atari, Bob Whitehead - Sears", "CX2623 - 6-99819, 49-75108, 49-75125", "Home Run (1978) (Atari)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "0c0392db94a20e4d006d885abbe60d8e", "", "", "Dodge Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0c336f83b0e6e3bc86c77f368448e77b", "Bit Corporation", "R320", "Circus Atari (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0c35806ff0019a270a7acae68de89d28", "Froggo", "FG1003", "Task Force (1987) (Froggo)", "AKA Gangster Alley", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0c48e820301251fbb6bcdc89bd3555d9", "Atari, Bill Aspromonte, Andrew Fuchs", "CX26120", "Stargate (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0c54811cf3b1f1573c9164d5f19eca65", "Activision, David Crane - Ariola", "EAG-001, PAG-001, EAG-001-04B, EAG-001-04I - 711 001-715", "Dragster (1980) (Activision) (PAL)", "AKA Dragster Rennen, Drag Strip", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0c72cc3a6658c1abd4b735ef55fa72e4", "Dion Olsthoorn", "v1.3", "Amoeba Jump (2018) (Dionoid) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0c7926d660f903a2d6910c254660c32c", "Atari, Larry Kaplan", "CX2602, CX2602P", "Air-Sea Battle (1977) (Atari) (PAL)", "AKA Anti-Aircraft", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0c7bd935d9a7f2522155e48315f44fa0", "Carrere Video - Western Technologies, Jeff Corsiglia, Paul Allen Newell, Tom Sloper - Teldec - Prism", "USC1009", "Infernal Tower (1983) (Carrere Video) (PAL)", "AKA Towering Inferno", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "YES", "" }, - { "0c80751f6f7a3b370cc9e9f39ad533a7", "Atari, Carla Meninsky", "CX2610", "Warlords (1981) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "0cb7af80fd0ddef84844481d85e5d29b", "", "", "Mr. Pac-Man (El Destructo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0cc8224ff1edfe458e8629e9e5fe3f5b", "Thomas Jentzsch", "", "Trick 12 (2001) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0cdd9cc692e8b04ba8eb31fc31d72e5e", "Thomas Jentzsch", "", "Wing War (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0cebb0bb45a856b23f56d21ce7d1bc34", "20th Century Fox Video Games, Bill Aspromonte", "11131", "Crash Dive (1983) (20th Century Fox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0cec9e46a25d338bf595a29aa2606516", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Mouse Hack v1.1 (PAL60) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0cfdd2f3b243cac21f38a0f09f54bead", "", "", "Overhead Adventure Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0d07d2c1be1a5eaaea235a533bcda781", "", "", "Scrolling Playfield 1 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0d08558f34a47e4eaa39d01c8efb81f0", "Thomas Jentzsch", "", "Missile Control - Atari Mouse Hack v1.15 (NTSC) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0d09cff0d28033c02c3290edfc3a5cea", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0d1b3abf681a2fc9a6aa31a9b0e8b445", "Atari", "CX26163P", "Laser Blast (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0d27c7f5db349b592f70f68daf5e8f3b", "", "", "Space Instigators (21-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0d35618b6d76ddd46d2626e9e3e40db5", "", "", "X-Doom V.26 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0d5af65ad3f19558e6f8e29bf2a9d0f8", "Atari - Sculptured Software, Adam Clayton", "CX26151, CX26151P", "Dark Chambers (1989) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "0d6b974fe58a1bdd453600401c407856", "Atari", "", "128-in-1 Junior Console (Chip 3 or 4) (1991) (Atari) (PAL)", "Actually contains only 16 games, not 32", "", "", "", "16IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0d786a41695e5fc8cffd05a6dbb3f659", "", "", "Scrolling Playfield With Score (10-02-2003) (Aaron Bergstrom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0d7e630a14856f4d52c9666040961d4d", "", "", "Wavy Line Test (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0d90a0ee73d55539b7def24c88caa651", "Activision, Bob Whitehead", "AG-005, CAG-005, AG-005-04", "Skiing (1980) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0db4f4150fecf77e4ce72ca4d04c052f", "Atari, Carol Shaw - Sears", "CX2618 - 49-75123", "3-D Tic-Tac-Toe (1980) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0dd4c69b5f9a7ae96a7a08329496779a", "Tigervision - Software Electronics Corp., Karl T. Olinger - Teldec", "7-001 - 3.60001 VE", "King Kong (1982) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0de53160a8b54c3aa5aed8d68c970b62", "Quelle", "806.174 9", "Fuchs & Schweinchen Schlau (1983) (Quelle) (PAL)", "AKA Oink!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0dfbdadf8f1bc718e7e1bb3ccd5fef3d", "", "", "Mr. Pac-Man (New start tune) (El Destructo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0e0808227ef41f6825c06f25082c2e56", "", "", "Candi (Hack) [a]", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0e08cd2c5bcf11c6a7e5a009a7715b6a", "", "", "Boing! (PD) [a1]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0e224ea74310da4e7e2103400eb1b4bf", "Atari, Peter C. Niday, Gary Shannon, Howard Scott Warshaw", "", "Mind Maze (10-10-1984) (Atari) (Prototype)", "Uses the MindLink controller", "Prototype", "", "", "", "", "", "", "", "", "MINDLINK", "", "", "", "", "", "" }, - { "0e23d0ed4c33b2011ab4cc93a7619683", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0e4b2b6e014a93ef8be896823da0d4ec", "", "", "Skiing (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0e713d4e272ea7322c5b27d645f56dd0", "Home Vision - Gem International Corp. - VDI", "VCS83105", "Panda Chase (1983) (Home Vision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0e7e73421606873b544e858c59dc283e", "Digivision", "", "Super Soccer (Digivision)", "AKA RealSports Soccer", "", "", "", "F8", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "0e86470791b26292abe1c64545c47985", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Down on the Line (3 of 3) (1983) (Arcadia) (PAL)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "01 70", "", "", "", "" }, - { "0ec93f519bb769e0d9f80e61f6cc8023", "Atari - GCC, John Allred, Mike Feinstein", "CX2688", "Jungle Hunt (02-25-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0ecdb07bf9b36ef18f3780ef48e6c709", "Bit Corporation", "PG209", "Mr. Postman (1983) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0eebfb60d437796d536039701ec43845", "Fabrizio Zavagli", "", "Cakewalk (Fabrizio Zavagli)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0eecb5f58f55de9db4eedb3a0f6b74a8", "Xonox - Beck-Tech", "6210, 06002, 06004, 99002", "Ghost Manor (1983) (Xonox) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0ef64cdbecccb7049752a3de0b7ade14", "Atari, Joe Decuir, Larry Caplan, Steve Mayer, Larry Wagner", "CX26163P", "Combat (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0efc91e45f61023cda9d086a7d3c402f", "B.J. Best (aka bjbest60)", "", "Space Cactus Canyon (2017)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "0effef4a341f8eebab65621c60c48787", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0f14c03050b35d6b1d8850b07578722d", "Jeffry Johnston", "", "Radial Pong - Version 10 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0f24ca5668b4ab5dfaf217933c505926", "", "", "Fantastic Voyage (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0f2e09c71cc216f79d22a804152ba24b", "Bob Colbert", "", "Scroller Demo (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "0f341d1f4e144e3163d9a5fc5a662b79", "", "", "RUN Platform Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "0f39fc03d579d0d93a6b729a3746843e", "Atari, Sam Comstock, Richard Dobbis, Nick 'Sandy Maiwald' Turner", "CX26111", "Snoopy and the Red Baron (05-27-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0f604cd4c9d2795cf5746e8af7948064", "Champ Games", "CG-02-N", "Conquest Of Mars (2010) (NTSC)", "Rev 2 release", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0f643c34e40e3f1daafd9c524d3ffe64", "Atari, Robert C. Polaro, Alan J. Murphy - Sears", "CX2609 - 49-75186", "Defender (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0f6676b05621f80c670966e2995b227a", "", "", "Globe Trotter Demo 1 (24-03-2003) (Weston)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0f738dc44437557624eb277ed7ad91c9", "", "", "Grand Prix (Unknown) (PAL)", "AKA Grand Prix", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0f8043715d66a4bbed394ef801d99862", "Quelle", "684.733 9", "Robin Hood (1983) (Quelle) (PAL)", "AKA Save Our Ship", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0f95264089c99fc2a839a19872552004", "Activision, David Crane", "AG-009, AG-009-04", "Freeway (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0fba7d8c3520bdb681f75494e498ec36", "", "", "Gunfight 2600 - Final Run (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0fbf618be43d4396856d4244126fe7dc", "Quelle", "805.784 6", "Labyrinth (1983) (Quelle) (PAL)", "AKA Maze Craze", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0fc161704c46e16f7483f92b06c1558d", "CCE", "C-853", "Spider Fighter (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0fcff6fe3b0769ad5d0cf82814d2a6d9", "Suntek", "SS-027", "Zoo Fun (1983) (Suntek) (PAL)", "AKA Panda Chase", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0fd72a13b3b6103fc825a692c71963b4", "Imagic, Rob Fulop", "720104-2A, IA3204P, EIX-008-04I", "Cosmic Ark (1982) (Imagic) (PAL) [selectable starfield]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "0fee596b974c9d3e70b367a3671599b6", "Bit Corporation", "R320", "Name This Game (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "101ab60f4000a5d13792ef0abad5f74b", "Atari, Jerome Domurat, Peter C. Niday, Robert Vieira", "CX26109", "Sorcerer's Apprentice (1983) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "102672bbd7e25cd79f4384dd7214c32b", "Atari, Alan Miller - Sears", "CX2642 - 6-99814", "Hunt & Score - Memory Match (1978) (Atari)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "103e9d616328969f5d7b4e0a381b25d5", "", "", "Playfield Illustration and Logo Demo (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "103f1756d9dc0dd2b16b53ad0f0f1859", "Home Vision, Gem International Corp.", "", "Go Go Home Monster (1983) (Home Vision) (PAL)", "AKA Go Go Home", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "104468e44898b8e9fa4a1500fde8d4cb", "AtariAge, Chris Spry", "CX26200", "Princess Rescue (2013) (Sprybug)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, - { "106326c262dfd3e8eaeabd961d2a0519", "", "", "PAL-NTSC Detector (15-11-2002) (CT)[a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "106855474c69d08c8ffa308d47337269", "Atari - Sculptured Software, Adam Clayton", "CX26151", "Dark Chambers (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "107cc025334211e6d29da0b6be46aec7", "Atari, Bob Smith - Sears", "CX2648 - 49-75161", "Video Pinball (1981) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1086ff69f82b68d6776634f336fb4857", "Activision, David Crane", "AG-009", "Bloody Human Freeway (1981) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "10958cd0a1a81d599005f1797ab0e51d", "", "", "Centipede 2k (2000) (PD) (Hack)", "Hack of Centipede", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "10a3cd14e5dcfdde6ff216a14ce7b7dd", "Atari", "CX262, CX2627P", "Human Cannonball (1979) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "10af8728f975aa35a99d0965de8f714c", "Dinatronic", "", "Seaquest (Dinatronic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "10c47acca2ecd212b900ad3cf6942dbb", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a4]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "10c8cfd8c37522f11d47540ff024e5f9", "Canal 3 - Intellivision", "C 3016", "Demon Attack (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "10eae73a07b3da044b72473d8d366267", "Funvision - Fund. Int'l Co.", "", "Karate (1982) (Funvision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "10f0ecaf962aef1fc28abed870b01b65", "Atari, Paul Donaldson", "", "Bionic Breakthrough (06-22-1984) (Atari) (Prototype)", "Uses the Mindlink Controller", "Prototype", "", "", "", "", "", "", "", "MINDLINK", "", "", "", "", "", "", "" }, - { "10f62443f1ae087dc588a77f9e8f43e9", "Atari, Carla Meninsky", "CX2637, CX2637P", "Dodge 'Em (1980) (Atari) (PAL) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "110ac8ecaf1b69f41bc94c59dfcb8b2d", "", "", "Demon Attack (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "111029770226b319524134193886a10e", "Hozer Video Games", "", "Gunfight 2600 - One Limit Reached! (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "11330eaa5dd2629052fac37cfe1a0b7d", "128-in-1 Junior Console", "", "Human Cannonball (128-in-1 Junior Console) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "113cd09c9771ac278544b7e90efe7df2", "Atari, Ed Logg, Carol Shaw - Sears", "CX2639 - 49-75162", "Othello (1981) (Atari) [no grid markers]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "114c599454d32f74c728a6e1f71012ba", "Activision, Bob Whitehead - Ariola", "EAX-015, EAX-015-04I - 711 015-725", "Chopper Command (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "11bcf5c752088b5aaf86d6c7a6a11e8d", "Atari, Jerome Domurat, Andrew Fuchs, Dave Staugas, Robert Vieira", "CX26118", "Millipede (1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "11e7e0d9437ec98fa085284cf16d0eb4", "", "", "Bowling (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "11f9532557e4c9569f4b242164006161", "Chris Walton, Justin Hairgrove, Tony Morse", "", "Hunchy II (2005) (PAL)", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1201c18cf00d2c236f42e4d7d8c86aa1", "", "", "Nick Bensema Demo (Nick Bensema)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "12080205f669b8e7783b976f8cf3d8bb", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) v4 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "12123b534bdee79ed7563b9ad74f1cbd", "Absolute Entertainment, Alex DeMeo", "AG-041-04", "Title Match Pro Wrestling (1987) (Absolute)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1228c01cd3c4b9c477540c5adb306d2a", "Atari, Alan Miller", "CX26163P", "Basketball (32 in 1) (1988) (Atari) (PAL)", "Console ports are swapped", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "1266b3fd632c981f3ef9bdbf9f86ce9a", "Activision, Bob Whitehead", "EAZ-034-04, EAZ-034-04I", "Private Eye (1984) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1267e3c6ca951ff1df6f222c8f813d97", "", "", "Dragonfire (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "126f7f64b7b00e25dcf5e3710b4cf8b8", "Atari - GCC", "CX2676", "Centipede (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1278f74ca1dfaa9122df3eca3c5bcaad", "Rainbow Vision - Suntek", "SS-013", "Bi! Bi! (Rainbow Vision) (PAL)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1287535256bf5dff404839ac9e25c3e7", "PacManPlus", "Rev 2", "Alien Pac-Man (PacManPlus) (Hack)", "Hack of Alien", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "12937db3d4a80da5c4452b752891252d", "Digitel", "", "Megamania (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "12bca8305d5ab8ea51fe1cfd95d7ab0e", "Epyx, Steven A. Baker, Tod Frye, Peter Engelbrite", "80561-00250", "Summer Games (1987) (Epyx) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "12d7e0d6b187889f8d150bf7034d1db2", "", "", "Poker Squares (V0.0e) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "130c5742cd6cbe4877704d733d5b08ca", "Home Vision - Gem International Corp. - VDI", "VCS83109", "World End (1983) (Home Vision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1323c45d660f5a5b6d5ea45c6c4cbe4a", "Canal 3 - Intellivision", "", "Enduro (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "133456269a03e3fdae6cddd65754c50d", "Tigervision - Software Electronics Corporation - Teldec", "7-006 - 3.60008 VG", "Springer (1983) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "133a4234512e8c4e9e8c5651469d4a09", "Atari, Andrew Fuchs, Jeffrey Gusman, Dave Jolly, Suki Lee", "CX26117", "Obelix (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "133b56de011d562cbab665968bde352b", "Activision, John Van Ryzin", "AG-038-04", "Cosmic Commuter (1984) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1343de49c2a50d99176255f99f0d0234", "Gray Games & AtariAge", "", "E.T. Book Cart (PAL)", "Charles F. Gray & Michael Rideout", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "55" }, - { "13448eb5ba575e8d7b8d5b280ea6788f", "Digivision", "", "Crackpots (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1345e972dbe08ea3e70850902e20e1a5", "Greg Troutman", "", "Dark Mage (rough beta) (Greg Troutman) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "1351c67b42770c1bd758c3e42f553fea", "Digivision", "", "Keystone Kapers (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "135708b9a7dd20576c1b66ab2a41860d", "", "", "Hangman Man Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "13584411da0a8d431991035423fdc0dc", "Jone Yuan Telephonic Enterprise Co", "", "Skiing (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1367e41858be525710eb04d0dab53505", "Kyle Pittman", "", "Zelda (2003) (Kyle Pittman) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "136f75c4dd02c29283752b7e5799f978", "Atari, Dan Hitchens - Sears", "CX2650 - 49-75168", "Berzerk (1982) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "13895ef15610af0d0f89d588f376b3fe", "Tigervision, Rorke Weigandt", "7-005", "Marauder (1982) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "13a37cf8170a3a34ce311b89bde82032", "Atari - GCC, Mark Ackerman, Tom Calderwood, Glenn Parker", "CX2684, CX2684P", "Galaxian (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "13a991bc9c2ff03753aeb322d3e3e2e5", "Funvision - Fund. International Co.", "", "Galactic (Funvision) (PAL)", "AKA Condor Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "13aa1f9ac4249947e4af61319d9a08f2", "Atari - GCC", "CX2680, CX2680P", "RealSports Tennis (1983) (Atari) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "13abc32f803165c458bb086fa57195fb", "Christian Samuel", "", "E.T. The Extra-Testical (Christian Samuel) (Hack)", "Hack of E.T. The Extra-Terrestrial", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "13ccc692f111d52fec75d83df16192e2", "Canal 3 - Intellivision", "", "Fishing Derby (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "13d8326bf5648db4dafce45d25e62ddd", "", "", "Atari Logo Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "13dfb095e519a555a5b60b7d9d7169f9", "", "", "Red Line Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "140909d204abd6841c64cdad4d7765b4", "", "", "Moving Blue Ladder Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "14163eb2a3ddd35576bd8527eae3b45e", "", "", "Multi-Color Demo 6 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1423f560062c4f3c669d55891a2bcbe7", "CCE", "C-859", "MASH (1983) (CCE) [a]", "AKA M.A.S.H", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1428029e762797069ad795ce7c6a1a93", "", "", "Thunderground (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "143918368f4f4dfff90999188c0197c9", "", "", "Unknown Title (bin00016 (200110)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1442d1b35a6478fba22ae7dd1fcb5634", "Thomas Jentzsch", "", "Thrust (V0.2) (2000) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "148471144ccebd7f6aa9aa9215896533", "Parker Brothers - JWDA, Todd Marshall", "PB5550", "Q-bert's Qubes (1984) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "149b543c917c180a1b02d33c12415206", "CCE", "C-857", "Superman (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "14a56b493a8d9d10e94a3e100362e3a2", "Hozer Video Games", "", "Gunfight 2600 - Early Play-kernel (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "14b1e30982962c72f426e2e763eb4274", "Atari, Carol Shaw - Ralph Lauren", "", "Polo (1978) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "14c2548712099c220964d7f044c59fd9", "First Star Software, Alex Leavens, Shirley Ann Russell", "", "Boing! (1983) (First Star Software)", "AKA Bubbles, Soap Suds, The Emphysema Game", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "14d365bbfaac3d20c6119591f57acca4", "", "", "Video Life (Unknown) (4K) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "14dbb3686dd31964332dc2ef0c55cad0", "", "", "Demo Image Series #15 - Three Marios (PAL) (Non-Interleave) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "151c33a71b99e6bcffb34b43c6f0ec23", "Parker Brothers, Laura Nikolich", "", "Care Bears (1983) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "151fa3218d8d7600114eb5bcd79c85cb", "Atari - CCW, Christopher H. Omarzu", "CX26104", "Big Bird's Egg Catch (05-02-1983) (Atari) (Prototype)", "Uses the Keypad Controller", "Prototype", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "" }, - { "152c253478b009c275e18cd731b48561", "", "", "Quest (11-10-2002) (Chris Larkin)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "153f40e335e5cb90f5ce02e54934ab62", "Absolute Entertainment, Alex DeMeo", "EAZ-041-04I", "Title Match Pro Wrestling (1987) (Absolute) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1542662f665d2ffaa77b4b897dd2e2af", "", "", "Starfield (V1.0) (2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "155fa7f479dcba3b10b1494e236d6010", "Skyworks", "", "Tomcat (2002) (Skyworks) (PAL)", "AKA The F-14 Flight Simulator", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "157356f80c709ab675961d8b8b207e20", "", "", "Multi-Sprite Game V2.5 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "157bddb7192754a45372be196797f284", "Atari, Warren Robinett - Sears", "CX2613, 49-75154", "Adventure (1980) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "159e5cd6ccb968015f49aed5adbc91eb", "Justin J. Scott", "", "Yar's Defeat (2002) (Justin J. Scott) (Hack)", "Hack of Yars' Revenge", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "15a0d59304dece2c7d0580f3ea3527f0", "Atari, Jerome Domurat, Peter C. Niday", "CX26115", "Dumbo's Flying Circus (04-04-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "15b498199ed0ed28057bf0dbdce9b8d8", "Thomas Jentzsch", "", "Jammed (V0.2) (Demo) (2001) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "15b9f5e2439bfaa08874b5184261c777", "Bit Corporation", "R320", "Space Invaders (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "15bcd74f2f1f2a63e1aa93e90d2c0555", "", "", "Incoming (22-08-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "15bf2ef7583bfcbbba630847a1dc5539", "Erik Eid", "", "Euchre (Jul 15) (2002) (Eric Eid) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "15c11ab6e4502b2010b18366133fc322", "Atari - Axlon, Tod Frye - Heuristica, Augustin Ortiz", "CX26169", "Shooting Arcade (09-19-1989) (Atari) (Prototype)", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "15dd21c2608e0d7d9f54c0d3f08cca1f", "Data Age, J. Ray Dettling", "112-008", "Frankenstein's Monster (1983) (Data Age)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "15fe28d0c8893be9223e8cb2d032e557", "", "", "Towering Inferno (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "1619bc27632f9148d8480cd813aa74c3", "Thomas Jentzsch", "", "Steeple Chase (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "YES", "" }, - { "161ded4a85d3c78e44fffd40426f537f", "Thomas Jentzsch", "", "JtzBall (Alpha) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "163e7e757e2dc44469123ff0e5daec5e", "", "", "Many Blue Bars and Text Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "169d4c7bd3a4d09e184a3b993823d048", "", "", "Superman (Unknown) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "16cb43492987d2f32b423817cdaaf7c4", "Atari, Larry Kaplan - Sears", "CX2602 - 99802, 6-99802, 49-75102", "Air-Sea Battle (1977) (Atari)", "AKA Target Fun (Anti-Aircraft)", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "16cc6d1b4ddce51c767a1ba8e5ff196c", "", "", "Big - Move This Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "16d69f71bf5846639be5ff16483f0498", "Bit Corporation", "R320", "Golf (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "16e04823887c547dc24bc70dff693df4", "Atari", "CX26163P", "Tennis (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "16ee443c990215f61f7dd1e55a0d2256", "Spectravideo, David Lubar", "SA-218, SA-218C", "Bumper Bash (1983) (Spectravideo) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "" }, - { "16f494f20af5dc803bc35939ef924020", "Mark De Smet", "", "Video Simon (Mark De Smet)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "170e7589a48739cfb9cc782cbb0fe25a", "M Network - INTV - APh Technological Consulting, Hal Finney", "MT5666", "Astroblast (1982) (M Network) [fixed]", "Can also use left joystick", "Uncommon", "", "", "", "", "", "", "", "PADDLES", "", "YES", "AUTO 55", "", "", "", "" }, - { "171cd6b55267573e6a9c2921fb720794", "Kurt Howe", "", "Adventure 34 (Kurt Howe) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "171ebf135b13ba907f462c10d88a2c25", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Amiga Mouse Hack v1.1 (PAL60) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1733772165d7b886a94e2b4ed0f74ccd", "", "", "Boring Journey Escape (Hack)", "Hack of Journey - Escape", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1738b2e3f25ab3eef3cecb95e1d0d957", "", "", "Hangman Monkey Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "17512d0c38f448712f49f36f9d185c4e", "Retroactive", "", "Qb (Release Candidate #1) (Retroactive)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "17515a4d0b7ea5029ffff7dfa8456671", "Piero Cavina", "", "Multi-Sprite Demo V1.1 (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "176d3fba7d687f2b23158098e103c34a", "Zach Matley", "", "Combat AI (16-02-2003) (Zach Matley)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "177504abd4260c4265e1338955e9fa47", "HCC Software", "", "Pitfall! (Steroids Hack)", "Hack of Pitfall! (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1782929e1c214b70fb6884f77c207a55", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1982) (Activision) (Prototype)", "Pitfall Harry's Jungle Adventure (Jungle Runner)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "17ba72433dd41383065d4aa6dedb3d91", "", "", "SCSIcide (09-06-2001) (Joe Grand)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "17badbb3f54d1fc01ee68726882f26a6", "M Network - INTV - APh Technological Consulting, Hal Finney, Bruce Pedersen", "MT5659", "Space Attack (1982) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "17bbe288c3855c235950fea91c9504e9", "Dismac", "", "Pega Ladrao (Dismac)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "17c0a63f9a680e7a61beba81692d9297", "U.S. Games Corporation - Western Technologies, Jeff Corsiglia, David Johnson, Tom Sloper", "VC2004", "Picnic (1983) (U.S. Games)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, - { "17d000a2882f9fdaa8b4a391ad367f00", "Atari - GCC", "CX2676", "Centipede (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "17ee158d15e4a34f57a837bc1ce2b0ce", "Atari - GCC, Mike Feinstein, Kevin Osborn", "CX2691, CX2691P", "Joust (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "17ee23e5da931be82f733917adcb6386", "Salu, Dennis M. Kiss", "460758", "Acid Drop (1992) (Salu) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1802cc46b879b229272501998c5de04f", "Atari - CCW, Christopher H. Omarzu", "CX26104", "Big Bird's Egg Catch (1983) (Atari)", "Uses Kids/Keypad Controllers", "Rare", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, - { "183020a80848e06a1238a1ab74079d52", "Thomas Jentzsch", "", "Missile Command (Amiga Mouse) (2002) (TJ) (PAL)", "Uses Amiga Mouse Controller", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "1862fca4f98e66f363308b859b5863af", "Atari", "", "128-in-1 Junior Console (Chip 1 of 4) (1991) (Atari) (PAL)", "Actually contains only 16 games, not 32", "", "", "", "16IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "18a970bea7ac4d29707c8d5cd559d03a", "", "", "Bridge (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "18b28b386abdadb3a700ac8fb68e639a", "Manuel Polik", "", "Gunfight 2600 (MP) (PAL)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "18b476a34ce5e6db2c032029873ac39b", "Bit Corporation", "R320", "Atlantis (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "18be8981b8201638f3ed8ae92bb4c215", "Thomas Jentzsch", "", "Missile Control - Amiga Mouse Hack v1.15 (PAL60) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "18bebbbd41c234f82b1717b1905e6027", "", "", "Space Instigators (Public Release) (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "18d26111cef66dff0c8af8cf0e117843", "", "", "Tunnel Demo (Cycling Colours 2) (29-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "18dc28bc22402f21e1c9b81344b3b8c5", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2684, CX2684P", "Galaxian (1983) (Atari) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "18ed63e3ce5bc3dd2d8bd188b807f1a2", "", "", "Stell-A-Sketch (Bob Colbert) (PD) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "18f299edb5ba709a64c80c8c9cec24f2", "Home Vision - Gem International Corp. - VDI", "VCS83111", "Asteroid Fire (1983) (Home Vision) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "19098c46da0640f2b5763167dea6c716", "Andrew Wallace", "", "Laseresal 2002 (NTSC) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "191449e40b0c56411c70772706f79224", "", "", "Multi-Color Demo 2 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "19162393786098d50587827588198a86", "Jone Yuan Telephonic Enterprise Co", "", "Flag Capture (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "191ac4eec767358ee3ec3756c120423a", "", "", "Checkers (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "192aa2e8c795c9e10a7913e5d41feb81", "Atari - GCC, Jaques Hugon, Seth Lipkin", "CX26125", "Los Angeles 1984 Games (1984) (Atari) (Prototype) (PAL)", "AKA Track and Field (Uses Track & Field Controller)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "193f060553ba0a2a2676f91d9ec0c555", "Atari, Carol Shaw", "CX2636, CX2636P", "Video Checkers (1980) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1942bdb7abc75e412068330a9082b0ff", "Atari, Omegamatrix", "", "Super Breakout Menu (2020) (PAL) (Hack)", "Hack of Super Breakout", "", "", "", "", "", "", "", "", "", "", "", "AUTO 55", "", "", "", "" }, - { "1986f864e32e3e8d198b5becf3022257", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "199985cae1c0123ab1aef921daace8be", "", "", "Euchre (Release Candidate 2) (PAL) (01-10-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "199eb0b8dce1408f3f7d46411b715ca9", "Parker Brothers, David Lamkins, Laura Nikolich", "PB5900", "Spider-Man (1982) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "19a9d3f9fa1b1358fb53009444247aaf", "", "", "Blackjack (Unknown) (PAL) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "" }, - { "19abaf2144b6a7b281c4112cff154904", "Atari, Brad Stewart", "CX2649, CX2649P", "Asteroids (1981) (Atari) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "19b3b807507653516985ba95da92499d", "Joe Gaucher", "", "VCS Draw Demo (Joe Gaucher)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "19d6956ff17a959c48fcd8f4706a848d", "PlayAround - J.H.M.", "202", "Burning Desire (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "19d9b5f8428947eae6f8e97c7f33bf44", "", "", "Fortress (Dual Version) (20-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "19e739c2764a5ab9ed08f9095aa2af0b", "Atari, Andrew Fuchs, Jeffrey Gusman, Dave Jolly, Suki Lee", "CX26117", "Obelix (1984) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "19e761e53e5ec8e9f2fceea62715ca06", "Panda", "104", "Scuba Diver (1983) (Panda)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1a23540d91f87584a04f184304a00648", "", "", "Race Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1a613ce60fc834d4970e1e674b9196b3", "Home Vision - Gem International Corp. - VDI", "VCS83135", "Tanks War (1983) (Home Vision) (PAL)", "AKA Phantom Tank", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1a624e236526c4c8f31175e9c89b2a22", "Rainbow Vision - Suntek", "SS-007", "Space Raid (1983) (Rainbow Vision) (PAL) [a]", "AKA MegaMania", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1a8204a2bcd793f539168773d9ad6230", "Atari, Rob Fulop - Sears", "CX2638 - 49-75166", "Missile Command (1981) (Atari) [no initials]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1aa7344b563c597eecfbfcf8e7093c27", "David Marli", "", "Slot Invaders (David Marli) (Hack)", "Hack of Slot Machine", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1b0f3d7af668eeea38ddd6182d8f48fb", "Jone Yuan Telephonic Enterprise Co", "", "Cosmic Swarm (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "1b1daaa9aa5cded3d633bfcbeb06479c", "", "", "Ship Demo (V 1502) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1b22a3d79ddd79335b69c94dd9b3e44e", "Tron", "", "Moon Patrol (Tron)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1b4b06c2a14ed3ee73b7d0fd61b6aaf5", "Arcadia Corporation, Stephen H. Landrum", "AR-4400", "Excalibur (Dragonstomper Beta) (1982) (Arcadia) (Prototype) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1b8c3c0bfb815b2a1010bba95998b66e", "Telegames", "", "Frogs and Flies (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1b8d35d93697450ea26ebf7ff17bd4d1", "Quelle - Otto Versand", "176.764 9 - 781644", "Marineflieger (1983) (Quelle) (PAL)", "AKA Seahawk", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1bb91bae919ddbd655fa25c54ea6f532", "Suntek", "SS-026", "Treasure Island (1983) (Suntek) (PAL)", "AKA Treasure Discovery", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1bc2427ac9b032a52fe527c7b26ce22c", "Intellivision Productions - M Network - APh Technological Consulting, Bruce Pedersen, Larry Zwick", "MT5860", "Sea Battle (1983) (M Network)", "High Seas", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1bef389e3dd2d4ca4f2f60d42c932509", "Dimax - Sinmax", "SM8001", "Space Robot (1983) (Dimax - Sinmax) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "1bf503c724001b09be79c515ecfcbd03", "", "", "Bumper Bash (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1bfae770e089fa81412d04eb299f4c3f", "Thomas Jentzsch", "", "Marble Craze - Atari Mouse Hack v1.0 (NTSC) (TJ)", "Uses Atari Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1c3f3133a3e5b023c77ecba94fd65995", "CCE", "C-830", "Planet Patrol (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1c5796d277d9e4df3f6648f7012884c4", "Rainbow Vision - Suntek", "SS-012", "Hey! Stop! (1983) (Rainbow Vision) (PAL)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1c666ba5aac19b81671357e76062989b", "Nukey Shay, Omegamatrix", "", "Double Dragon (Genesis) (PAL60) V2", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1c6eb740d3c485766cade566abab8208", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1c85c0fc480bbd69dc301591b6ecb422", "CCE", "", "Super Box (CCE)", "AKA RealSports Boxing", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1c8c42d1aee5010b30e7f1992d69216e", "PlayAround - J.H.M.", "205", "Gigolo (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "1cad3b56cc0e6e858554e46d08952861", "Jone Yuan Telephonic Enterprise Co", "", "Chopper Command (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1cafa9f3f9a2fce4af6e4b85a2bbd254", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2659", "Raiders of the Lost Ark (1982) (Atari) (PAL)", "Console ports are swapped", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "1cca2197d95c5a41f2add49a13738055", "Atari, Larry Kaplan - Sears", "CX2664 - 6-99818", "Brain Games (1978) (Atari)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, - { "1cf59fc7b11cdbcefe931e41641772f6", "SEGA", "005-01", "Buck Rogers - Planet of Zoom (1983) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "1d1d2603ec139867c1d1f5ddf83093f1", "Atari, Larry Kaplan - Sears", "CX2602 - 99802, 6-99802, 49-75102", "Air-Sea Battle (1977) (Atari) (4K)", "AKA Target Fun (Anti-Aircraft)", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1d284d6a3f850bafb25635a12b316f3d", "CCE", "", "H.E.R.O. (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1d2a28eb8c95da0d6d6b18294211839f", "", "", "Fishing Derby (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1d4e0a034ad1275bc4d75165ae236105", "20th Century Fox Video Games, Mark Klein", "11034", "Pick Up (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1d5eac85e67b8cff1377c8dba1136929", "", "", "Chronocolor Donkey Kong Sideways (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1d6ed6fe9dfbde32708e8353548cbb80", "Jone Yuan Telephonic Enterprise Co", "", "Super Challenge Baseball (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1d72cc6ee466a4af1b27587b900ed430", "Atari, Omegamatrix", "", "Space Invaders Menu (2020) (Hack)", "Hack of Space Invaders", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1da2da7974d2ca73a823523f82f517b3", "Spectravision - Spectravideo - Sirius Software, David Lubar", "SA-206", "Challenge of.... Nexar, The (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1db3bc4601f22cf43be7ce015d74f59a", "", "", "Ship Demo (V 10) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1e060a8025512ad2127e3da11e212ccc", "Arcadia Corporation, Scott Nelson", "13", "Sweat! - The Decathlon Game (3 of 3) (1983) (Arcadia) (Prototype)", "Uses the Paddle Controllers (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1e0ef01e330e5b91387f75f700ccaf8f", "Quelle - Otto Versand", "686.561 2 - 781627", "Mein Weg (1983) (Quelle) (PAL)", "AKA Challenge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "1e1290ea102e12d7ac52820961457e2b", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (12-15-1983) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "1e272d09c0e55f5ef14fcb76a735f6d7", "Atari, David Crane", "CX26163P", "Slot Machine (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1e31b3a48865ba98d4d1aa5205115983", "Atari - Roklan, Bob Curtiss", "", "Firefox (1983) (Atari) (Prototype)", "AKA Combat II, Fighter Command", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1e587ca91518a47753a28217cd4fd586", "Telesys, Jim Rupp, Jack Woodman", "1001", "Coco Nuts (1982) (Telesys)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1e750000af77cc76232f4d040f4ab060", "Jone Yuan Telephonic Enterprise Co", "", "Raft Rider (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1e85f8bccb4b866d4daa9fcf89306474", "Atari, Lou Harp", "CX26122", "Sinistar (02-13-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1e89f722494608d6ea15a00d99f81337", "", "", "River Raid (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "NTSC50", "", "", "" }, - { "1ea1abcd2d3d3d628f59a99a9d41b13b", "Jone Yuan Telephonic Enterprise Co", "", "Stampede (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1ea980574416bfd504f62575ba524005", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2675", "Ms. Pac-Man (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1ec57bbd27bdbd08b60c391c4895c1cf", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26119", "Saboteur (09-02-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1ec5bef77b91e59313cba205f15b06d7", "", "", "Overhead Adventure Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1ede4f365ce1386d58f121b15a775e24", "Parker Brothers, Dave Hampton, Tom Sloper", "931517", "Q-bert (1983) (Parker Bros) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1ee2cfc7d0333b96bd11f7f3ec8ce8bc", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (4 of 4) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1ee9c1ba95cef2cf987d63f176c54ac3", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2675, CX2675P", "Ms. Pac-Man (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1ef04e7e508296a8d9eb61cc7dae2e5d", "SOLID Corp. (D. Scott Williamson)", "CX2655-069", "Star Castle 2600 (SolidCorp) [069]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "1f21666b8f78b65051b7a609f1d48608", "K-Tel Vision", "", "Vulture Attack (1982) (K-Tel Vision)", "AKA Condor Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1f2ae0c70a04c980c838c2cdc412cf45", "Atari - GCC", "CX2698", "Rubik's Cube (1984) (Atari)", "AKA Atari Video Cube", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1f349dd41c3f93c4214e5e308dccb056", "", "", "Virtual Pet Demo 2 (CRACKERS) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1f40eefc7447336ae6cd8ffa5eb325be", "Atari, Chris Crawford", "", "Wizard (1980) (Atari) (Prototype) (4K) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1f562b89d081e36d58e6fc943512ec05", "", "", "Hangman Man Biglist2 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1f5a2927a0b2faf87540b01d9d7d7fd1", "Pet Boat", "", "Tennis (Pet Boat) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1f60e48ad98b659a05ce0c1a8e999ad9", "", "", "Mondo Pong V2 (Piero Cavina) (PD)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "01", "", "", "", "" }, - { "1f773a94d919b2a3c647172bbb97f6b4", "Atari, Jerome Domurat, Peter C. Niday", "CX26115", "Dumbo's Flying Circus (07-11-1983) (Atari) (Prototype) (PAL)", "AKA Dumbo Flies Home", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1fa58679d4a39052bd9db059e8cda4ad", "Imagic, Dan Oliver", "720118-1A, 03208", "Laser Gates (1983) (Imagic)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1fa7a42c2c7d6b7a0c6a05d38c7508f4", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (09-04-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1fa86282403fa35d103ab88a9d603c31", "SpiceWare - Darrell Spice Jr.", "", "Stay Frosty (SpiceWare) (PAL60)", "Part of Stella's Stocking 2007 Xmas compilation", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "1fab68fd67fe5a86b2c0a9227a59bb95", "20th Century Fox Video Games - Videa, Lee Actor", "", "Lasercade (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "200309c8fba0f248c13751ed4fc69bab", "Jeffry Johnston", "", "Radial Pong - Version 1 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2008c76deba5953201ef75a09b2ff7dc", "", "", "Fortress (21-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "200a9d2a7cb4441ce4f002df6aa47e38", "", "", "Doomzerk (PD) (Hack)", "Hack of Berzerk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2016726db38ad6a68b4c48ba6fe51557", "Piero Cavina, Erik Mooney", "", "INV 2 (Piero Cavina, Erik Mooney)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "203049f4d8290bb4521cc4402415e737", "Tigervision, Robert H. O'Neil - Teldec", "7-007 - 3.60005 VG", "Polaris (1983) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "203abb713c00b0884206dcc656caa48f", "Imagic, Bob Smith", "720114-1A, 03207, IZ-001-04", "Moonsweeper (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "203b1efc6101d4b9d83bb6cc1c71f67f", "Quelle", "685.996 1", "Teller-Jonglieren! (1983) (Quelle) (PAL)", "AKA Dancing Plate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "205070b6a0d454961dd9196a8e81d877", "", "", "Hangman Monkey Biglist2 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2058cf3fefad4d2bc03ed817cedddcd4", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2091af29b4e7b86914d79d9aaa4cbd20", "CBS Electronics - Woodside Design Associates, Harley H. Puthuff Jr.", "4L1802", "Donkey Kong Junior (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "20ae62fb69c6cc6e8098cca8cd080487", "Zirok", "", "Tennis (Zirok)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "20d4457ba22517253fcb62967af11b37", "Atari, Eric Manghise, Mimi Nyden, Joseph Tung", "CX2640", "RealSports Baseball (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "20dca534b997bf607d658e77fbb3c0ee", "Mythicon, Bill Bryner, Bruce de Graaf", "MA1002", "Fire Fly (1983) (Mythicon)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "20edcc3aa6c189259fa7e2f044a99c49", "Spectravision - Spectravideo", "SA-201", "Gangster Alley (1982) (Spectravision) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "211774f4c5739042618be8ff67351177", "Atari - GCC, Mark Ackerman, Tom Calderwood, Glenn Parker", "CX2684", "Galaxian (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "211f76dff0b7dad3f6fcac9d938ee61a", "JSK", "", "Custer's Viagra (JSK) (Hack) [a]", "Hack of Custer's Revenge", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "211fbbdbbca1102dc5b43dc8157c09b3", "Apollo", "AP-2009", "Final Approach (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2124cf92978c46684b6c39ccc2e33713", "", "", "Sea Monster (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "21299c8c3ac1d54f8289d88702a738fd", "K-Tel Vision", "", "Spider Maze (1982) (K-Tel Vision)", "AKA Spider Kong", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "212d0b200ed8b45d8795ad899734d7d7", "Atari, Richard Maurer, Christopher H. Omarzu - Coca Cola", "", "Pepsi Invaders (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "213e5e82ecb42af237cfed8612c128ac", "Sancho - Tang's Electronic Co.", "TEC006", "Forest (1983) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2162266b906c939b35c84ff9a0f50ad1", "Atari, Larry Kaplan", "CX2664, CX2664P", "Brain Games (1978) (Atari) (PAL) (4K)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, - { "2179dfd7edee76efafe698c1bc763735", "", "", "Yellow Submarine (Cody Pittman) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "217b1452881264ac75126bf77b8d0db8", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (NTSC) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "218b76f5a4142dc2ea9051a768583d70", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2684, CX2684P", "Galaxian (1983) (Atari) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "218c0fe53dfaaa37f3c823f66eafd3fc", "Atari, Alan Miller", "CX2624, CX2624P", "Basketball (1978) (Atari) (PAL)", "Console ports are swapped", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "21a96301bb0df27fde2e7eefa49e0397", "Data Age", "DA1003", "Sssnake (1982) (Data Age)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "21b09c40295c2d7074a83ae040f22edf", "", "", "Marble Craze (V0.90) (Easy Version) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "21d2c435bcccde7792d82844b3cf60f4", "Atari - GCC, Doug Macrae", "CX2677, CX2677P", "Dig Dug (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "21d7334e406c2407e69dbddd7cec3583", "Activision, Bob Whitehead", "AG-011", "Stampede (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2228c67d25e507603d4873d3934f0757", "", "", "Fu Kung! (V0.10) (28-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "22319be7a640af5314ec3c482cceb676", "", "", "Joustpong (05-07-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2240655247d6de1c585564004a853ab7", "", "", "Fu Kung! (V0.17) (07-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "225522777dc7155627808bde0c1d0ef0", "", "", "This Planet Sucks Demo 1 (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "22675cacd9b71dea21800cbf8597f000", "Atari, David Crane", "CX2605, CX2605P", "Outlaw (1978) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "227532d82505c3c185a878273c285d5f", "", "", "Hangman Man Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "22abbdcb094d014388d529352abe9b4b", "Apollo", "AP-2012", "Squoosh (1983) (Apollo) (Prototype) [a]", "AKA Vat's Incredible!, The Grape Escape", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "22b22c4ce240303012e8a9596ae8d189", "", "", "Skeleton+ (03-05-2003) (Eric Ball) (PAL)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "22f6b40fc82110d68e50a1208ae0bb97", "", "", "Purple Bar Demo (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2319922df4d0c820b3e5f15faa870cc3", "Atari - GCC, Mike Feinstein", "CX2681, CX2681P", "Battlezone (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2327456f86d7e0deda94758c518d05b3", "Digitel", "", "Mr. Postman (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2351d26d0bfdee3095bec9c05cbcf7b0", "", "", "Warring Worms (19-01-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2353725ec98e0f0073462109e886efd7", "Champ Games", "CG-03-P", "Scramble (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, - { "235436ab0832370e73677c9c6f0c8b06", "", "", "Beast Invaders (Double Shot) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2365e1534d67f94d8670394ab99150ce", "Thomas Jentzsch", "", "Missile Command (Atari Mouse) (2002) (TJ)", "Uses Atari ST Mouse Controller", "Homebrew", "", "", "", "", "", "", "", "ATARIMOUSE", "ATARIMOUSE", "", "", "", "", "YES", "" }, - { "23d445ea19a18fb78d5035878d9fb649", "CBS Electronics - JWDA, Sylvia Day, Todd Marshall, Henry Will IV", "4L1818, 4L1819, 4L1820, 4L1821", "Mouse Trap (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "23e4ca038aba11982e1694559f3be10f", "", "", "Big Dig (V3) (20-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "23fad5a125bcd4463701c8ad8a0043a9", "CCE", "C-840", "Stone Age (1983) (CCE)", "Uses the Joystick Controllers (swapped)", "", "", "", "", "A", "A", "", "YES", "", "", "", "", "", "", "YES", "" }, - { "240bfbac5163af4df5ae713985386f92", "Activision, Steve Cartwright", "AX-022", "Seaquest (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2432f33fd278dea5fe6ae94073627fcc", "CBS Electronics, Tom DiDomenico", "4L2477, 4L2482, 4L2485, 4L4171", "Blueprint (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2434102f30eeb47792cf0825e368229b", "Sparrow - Enter-Tech, Paul Walters, Rick Harris, George Hefner, Barbara Ultis", "", "Arkyology (1983) (Sparrow) (Prototype)", "ROM must be started in bank 0", "Prototype", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "24385ba7f5109fbe76aadc0a375de573", "CCE", "", "Xevious (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2447e17a4e18e6b609de498fe4ab52ba", "CCE", "", "Super Futebol (CCE)", "AKA RealSports Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "244c6de27faff527886fc7699a41c3be", "", "", "Matt Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2450dfa1df70d12b60683185775efed8", "Jeffry Johnston", "", "Radial Pong - Version 7 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "24544ee5d76f579992d9522e9b238955", "Carrere Video - Western Technologies, Jeff Corsiglia, David Johnson, Tom Sloper - Teldec - Prism", "USC2004", "Picnic (1983) (Carrere Video) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, - { "245f07c8603077a0caf5f83ee6cf8b43", "Home Vision - Thomas Jentzsch", "", "Parachute (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "24759be31e8fe55d2829fd86bdf3181f", "Hozer Video Games", "", "Gunfight 2600 - Worst Nightmare... (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "247fa1a29ad90e64069ee13d96fea6d6", "CCE", "C-867", "Radar (1983) (CCE)", "AKA Exocet", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "248668b364514de590382a7eda2c9834", "CBS Electronics, Richard K. Balaska Jr., Bob Curtiss, Alex Leavens, Alex Nevelson", "", "Kick-Man (01-08-82) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2496d404bfc561a40a80bea6a69695c3", "CCE", "C-1007", "Jungle Hunt (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "24ad538291eb5f5cac4b9998f3b851c3", "", "", "Gunfight 2600 - This time it's your decission! (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "24aff972d58990f9b88a6d787c796f1e", "CBS Electronics", "4L1767, 4L1768, 4L1769, 4L1770", "Smurf (1982) (CBS Electronics) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "24b5f4bbdb853eca38ea0cae2dfe73a1", "", "", "Home Run (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "24b9adac1b4f85b0bac9bf9b9e180906", "Angelino", "", "Space 2002 (Angelino) (Hack)", "Hack of Space Jockey", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "24d018c4a6de7e5bd19a36f2b879b335", "Activision, Larry Miller", "AX-021", "Spider Fighter (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "24d9a55d8f0633e886a1b33ee1e0e797", "Thomas Jentzsch", "", "Dragon Defender (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "24df052902aa9de21c2b2525eb84a255", "Imagic, Dennis Koble", "720000-100, 720100-1B, IA3000, IA3000C", "Trick Shot (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "24fbf8250a71611e40ef18552e61b009", "", "", "Movable Grid Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2516f4f4b811ede4ecf6fbeb5d54a299", "Quelle", "701.134 9", "Schiessbude (1983) (Quelle) (PAL)", "AKA Carnival", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2517827950fee41a3b9de60275c8aa6a", "Atari", "CX26163P", "Fishing (32 in 1) (1988) (Atari) (PAL)", "AKA Fishing Derby", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25265d0e7f88b3026003809f25ee025e", "Atari - GCC, Ava-Robin Cohen", "CX26123", "Jr. Pac-Man (1984) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25472dfdeef6a42581a231d631d6b04d", "", "", "Gunfight 2600 - Design thoughts (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25710bde8fa181b0c5cf0846b983bec1", "", "", "Demo Image Series #15 - Three Marios (NTSC) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "257bc3b72a6b5db3fd0d47619125b387", "CBS Electronics", "4L 2737 0000", "Omega Race (1983) (CBS Electronics) [a]", "Set right difficulty to 'A' for BoosterGrip in both ports", "", "", "", "", "", "", "", "", "BOOSTERGRIP", "BOOSTERGRIP", "", "", "", "", "", "" }, - { "25a21c47afe925a3ca0806876a2b4f3f", "Quelle", "685.640 5", "Der kleine Baer (1983) (Quelle) (PAL)", "AKA Frostbite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25b52bf8dd215bcbd59c9abdb55c44f8", "Atari - GCC, Betty Ryan Tylko, Doug Macrae", "CX2694, CX2694P", "Pole Position (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25b6dc012cdba63704ea9535c6987beb", "Avalon Hill, Jean Baer, Bill Hood", "5004002", "Shuttle Orbiter (1983) (Avalon Hill)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25bb080457351be724aac8a02021aa92", "CBS Electronics", "4L1784, 4L1786, 4L1787, 4L2277", "Zaxxon (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25d4be3309b89583c6b39d9f93bf654f", "Activision, Bob Whitehead", "AX-015, AX-015-04", "Chopper Command (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25e73efb9a6edf119114718bd2f646ba", "Atari, Suki Lee", "CX26113", "Miss Piggy's Wedding (1983) (Atari) (Prototype) (4K) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25f2e760cd7f56b88aac88d63757d41b", "Activision, Bob Whitehead - Ariola", "EAG-002, EAG-002-04I, PAG-002 - 711 002-715", "Boxing (1980) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25f879ff678130fea615ac418e7943f1", "Activision, Garry Kitchen", "EAX-025", "Keystone Kapers (1983) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "25f9cf703575c5d63048c222f5463758", "", "", "Multi-Sprite Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "260c787e8925bf3649c8aeae5b97dcc0", "Thomas Jentzsch", "", "Hell Driver (Thomas Jentzsch)", "NTSC Conversion, joystick ports swapped", "Homebrew", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "262ccb882ff617d9b4b51f24aee02cbe", "Atari, Douglas Neubauer", "CX26154, CX26154P", "Super Football (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "265a85f66544eaf95fda06c3d9e48abf", "", "", "Tunnel Demo (Cycling Colours) (29-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "265c74a956500bd31efd24adc6d5ccf6", "Activision, Larry Miller", "AX-026, AX-026-04", "Enduro (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2683d29a282dd059535ac3bb250f540d", "", "", "Space Treat (12-01-2003) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "268f46038e29301568fa9e443e16e960", "Atarius Maximum", "", "Pitfall Unlimited (Atarius Maximus) (Hack)", "Hack of Pitfall", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "26bc2bdf447a17376aea7ef187ff6e44", "", "", "Amanda Invaders (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "26f4f8b098609164effef7809e0121e1", "", "", "Oystron (V2.7) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "270229c6d5578446e6a588492e4e5910", "", "", "Space Invaders 2 (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2712e91f6f1dc55e90e2b14b27c042ac", "Omegamatrix", "", "SpaceMaster X-7 (Amiga Mouse) (PAL60) (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "271bfd5dc2673d382019f1fb6cab9332", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (Preview) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "273ce50db5a0d6da7ea827a54f44dee9", "", "", "Island Flyer Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "274d17ccd825ef9c728d68394b4569d2", "Playaround - J.H.M.", "202", "Bachelorette Party (1982) (Playaround)", "AKA Bachelor Party, Uses the paddle controllers", "Extremely Rare", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "AUTO 65", "", "", "YES", "" }, - { "277c7281ac945b8331e2e6fcad560c11", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (2 of 3) (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "277cca62014fceebb46c549bac25a2e3", "Activision, Bob Whitehead", "AG-002, CAG-002, AG-002-04", "Boxing (1980) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "277fa4b9a6bb7a8dcea2c5f38a4c25f0", "Atari, Alan J. Murphy, Robert Zdybel", "CX2668", "RealSports Football (1982) (Atari) (Prototype)", "AKA Football II", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "278155fc9956e9b6ef2359eb238f7c7f", "", "", "Donkey Kong Junior (Unknown) (Hack)", "Hack of Donkey Kong Junior", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2783006ee6519f15cbc96adae031c9a9", "Telegames", "", "Night Stalker (1989) (Telegames) (PAL) [a]", "AKA Dark Cavern", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "278531cc31915747018d22145823d2c9", "", "", "Defender MegaDrive (PAL) (Genesis)", "Genesis controller (C is smartbomb)", "Hack of Defender", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "278f14887d601b5e5b620f1870bc09f6", "Thomas Jentzsch", "", "SWOOPS! (v0.96) (TJ)", "Uses the Joystick (L) and Paddle (R) Controllers", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "27a5d2d0c74c8e4b2c05b94c9f098eea", "Atari, Omegamatrix", "", "Video Olympics Menu (2020) (PAL60) (Hack)", "Hack of Video Olympics", "", "", "", "", "", "", "", "", "", "", "YES", "AUTO 60", "", "", "", "" }, - { "27baecd618e7e53dc11f2a9c559f529d", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) v4 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "27c4c2af4b46394bb98638af8e0f6e9d", "Atari, Jerome Domurat, Peter C. Niday, Robert Vieira", "CX26109", "Sorcerer's Apprentice (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "27c6a2ca16ad7d814626ceea62fa8fb4", "Parker Brothers, Mark Lesser", "PB5590", "Frogger II (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "27f9e2e1b92af9dc17c6155605c38e49", "CCE", "", "Nightmare (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2808dc745ff4321dc5c8122abef6711f", "Retroactive", "", "Qb (2.11) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "28148a52b1955ce12c7a74d3a3e620a4", "CCE", "", "Freeway (CCE) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "281ff9bd0470643853de5cbd6d9e17f5", "Eckhard Stolberg", "", "Cubis (EM) (1997) (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2823364702595feea24a3fbee138a243", "Bit Corporation", "PG206", "Bobby Is Going Home (1983) (BitCorp) (PAL)", "AKA Bobby geht Heim", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2825f4d068feba6973e61c84649489fe", "", "", "Boom Bang (Unknown) (PAL)", "AKA Crackpots", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "282a77841cb3d33af5b56151acba770e", "Otto Versand", "311388", "Black Hole (1983) (Otto Versand) (PAL)", "AKA Cosmic Ark (Double-Game Package)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "283cb03ee031c842beabdad1aa4e7dbc", "Bit Corporation", "R320", "Demon Attack (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "283dee88f295834c4c077d788f151125", "Retroactive", "", "Qb (2.11) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "284ca61b2407bdba3938048b0a559015", "Atari, Tod Frye", "CX2695", "Xevious (05-25-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2854e5dfb84173fafc5bf485c3e69d5a", "Canal 3 - Intellivision", "C 3004", "Moon Patrol (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2880c6b59bd54b153174676e465167c7", "Tron", "", "Donkey Kong Jr. (Tron)", "AKA Donkey Kong Junior", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "28a2bea8f84936cb2e063f857414cda0", "Thiago Paiva", "", "Mega Mania Raid (1999) (Thiago Paiva) (Hack)", "Hack of Megamania", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "28a4cd87fb9de4ee91693a38611cb53c", "", "", "Skeleton (V1.1) (NTSC) (24-10-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "28d5df3ed036ed63d33a31d0d8b85c47", "Bit Corporation", "PG204", "Open, Sesame! (1983) (BitCorp) (PAL)", "AKA Sesam, Offne Dich", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2903896d88a341511586d69fcfc20f7d", "Activision, David Crane", "AX-014, AX-014-04", "Grand Prix (1982) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "291bcdb05f2b37cdf9452d2bf08e0321", "Atari", "CX26163P", "32 in 1 Game Cartridge (1988) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "32IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "291cc37604bc899e8e065c30153fc4b9", "Activision, Carol Shaw", "AX-020, AX-020-04", "River Raid (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "291dd47588b9158beebe4accc3a093a6", "Atari", "", "32 in 1 Console ROM (02-10-1989) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "32IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "292a0bb975b2587f9ac784c960e1b453", "", "", "Qb (05-02-2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "292f2446a0325b7b423e88a2ebfeb5a0", "", "", "Cube Conquest (Non Interlaced) (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "29396db58406084e416032c372734a3e", "", "", "Gunfight 2600 - Fixed Beta Release! (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2942680c47beb9bf713a910706ffabfe", "", "", "Blue Line Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "294762000e853b4319f9991c1ced5dfc", "", "", "T.F. Space Invaders (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "295f3679bdf91ca5e37da3f787b29997", "", "", "Exorcise (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "29630a20d356fb58685b150bfa8f00c3", "M Network, Kevin Miller", "MT5687", "International Soccer (1982) (Mattel) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "297236cb9156be35679f83c4e38ee169", "Exus Corporation", "", "Video Reflex (1983) (Exus) [no roman numbers]", "AKA Foot Craz (no roman numbers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "297c405afd01f3ac48cdb67b00d273fe", "Atari - GCC, Ava-Robin Cohen", "CX26123, CX26123P", "Jr. Pac-Man (1986) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2982e655dffc89d218a0a3072cfc6811", "", "", "Mini Golf 812631 (Hack)", "Hack of Miniature Golf", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "298387b0637173d2002770a649b4fbca", "", "", "S.I.PLIX 2 (Hack) [a]", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "29843f43b81f3736bf35c00b1bb88fb2", "Gray Games & AtariAge", "", "E.T. Book Cart (NTSC)", "Charles F. Gray & Michael Rideout", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "55" }, - { "29949f893ef6cb9e8ecb368b9e99eee4", "Erik Eid", "", "Euchre (Alpha) (NTSC) (31-08-2002) (Erik Eid)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "29dfa26b7988af9984d617708e4fc6e2", "", "", "Boulderdash Demo (05-04-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2a0ba55e56e7a596146fa729acf0e109", "Activision, Bob Whitehead", "AG-019", "Sky Jinks (1982) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2a10053fd08664c7cfbbb104386ed77f", "", "", "Alpha Demo - The Beta Demo (2000) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2a1b454a5c3832b0240111e7fd73de8a", "Tigervision, Bill Hogue", "7-011", "Miner 2049er Volume II (1983) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2a2f46b3f4000495239cbdad70f17c59", "CommaVid, John Bronstein - Ariola", "CM-003 - 712 003-720", "Cosmic Swarm (1982) (CommaVid) (PAL)", "AKA Angriff der Termiten", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2a33e21447bf9e13dcfed85077ff6b40", "", "", "Backwards Cannonball v2 (Hack)", "Hack of Human Cannonball", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2a360bc85bf22de438651cf92ffda1de", "Bit Corporation", "PGP213", "Spy Vs. Spy (4 Game in One) (1983) (BitCorp) (PAL)", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2a9f9001540c55a302befd8e9d54b47b", "Atari, Dan Hitchens", "CX2697, CX2697P", "Mario Bros. (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2aa5e56d36c2e58b6f2856109f2099a9", "Atari, Larry Kaplan - Sears", "CX2628 - 6-99842, 49-75117", "Bowling (1979) (Atari) (4K) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2aba6a1b01a5859e96d6a66d2286772f", "Activision, Steve Cartwright", "AX-027", "Plaque Attack (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2abc3d46b3f2140160759e2e10bc86d9", "", "", "Gunfight 2600 - Beta Release! (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2ac3a08cfbf1942ba169c3e9e6c47e09", "Activision, Dan Kitchen", "EAK-046-04B", "Fighter Pilot (1988) (Activision) (PAL)", "AKA Tomcat - The F-14 Fighter Simulator", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2ae700c9dba843a68dfdca40d7d86bd6", "TechnoVision - Thomas Jentzsch", "", "Pharaoh's Curse (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2aeedcc6eb1602efb77161b0cef832ab", "SOLID Corp. (D. Scott Williamson)", "CX2655-025", "Star Castle 2600 (SolidCorp) [025]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2b1589c7e1f394ae6a1c046944f06688", "Carrere Video - JWDA, Todd Marshall, Robin McDaniel, Wes Trager, Henry Will IV - Teldec - Prism", "USC2003", "Eggomania (1983) (Carrere Video) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "", "" }, - { "2b27eb194e13f3b38d23c879cc1e3abf", "Quelle", "402.272 9", "Super-Ferrari (1983) (Quelle) (PAL)", "AKA Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2b42da79a682ed6e2d735facbf70107e", "", "", "DKjr Improved (Hack)", "Hack of Donkey Kong Jr.", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2b430c00dc79e495762ac59b2f9b4fcd", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1982) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2b71a59a53be5883399917bf582b7772", "Greg Troutman", "", "Dark Mage (final beta) (Greg Troutman) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2ba02f509a4991aa176ba8d9e540df3d", "Atari, Mark R. Hahn", "CX2678", "Dukes of Hazzard (1983) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2bb0a1f1dee5226de648eb5f1c97f067", "Robby", "", "Enduro (Robby)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2bb9f4686f7e08c5fcc69ec1a1c66fe7", "Atari - GCC, John Allred, Mike Feinstein", "CX2688", "Jungle Hunt (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2bc26619e31710a9884c110d8430c1da", "Atari, Bob Whitehead", "CX2652, CX2652P", "Casino (1979) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "" }, - { "2bc6c53b19e0097a242f22375a6a60ff", "", "", "Droid Demo 2 (David Conrad Schweinsberg) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2bee7f226d506c217163bad4ab1768c0", "Xonox - K-Tel Software - Beck-Tech, Steve Beck", "6210, 06002, 06004, 99002", "Ghost Manor (1983) (Xonox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2bf34b6ad7d2317a2d0808b3fb93571b", "", "", "Easy Playfield Graphics (1997) (Chris Cracknell)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2c0dc885d5ede94aa664bf3081add34e", "", "", "Earth Dies Screaming, The (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2c29182edf0965a7f56fe0897d2f84ba", "Atari - Axlon, Steve DeFrisco", "CX26192", "Klax (08-18-1990) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2c2aea31b01c6126c1a43e10cacbfd58", "Paul Slocum", "", "Synthcart (2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2c3b2843295c9d6b16996971180a3fe9", "HES - Activision", "", "Sports Action Pak - Enduro, Ice Hockey, Fishing Derby, Dragster (1988) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2c3b9c171e214e9e46bbaa12bdf8977e", "Bit Corporation", "R320", "Othello (32 in 1) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2c45c3eb819a797237820a1816c532eb", "Atari", "CX26163P", "Boxing (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2c8835aed7f52a0da9ade5226ee5aa75", "Arcadia Corporation, Stephen H. Landrum", "AR-4101", "Communist Mutants from Space (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2c8c11295d8613f875b7bcf5253ab9bb", "Fabrizio Zavagli", "", "Kool Aid Man (PAL Conversion) (16-11-2002) (Fabrizio Zavagli) (PAL60)", "PAL60 Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2c9fadd510509cc7f28f1ccba931855f", "", "", "Hangman Invader Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2ca6445204ffb7686ddee3e33ba64d5b", "Alex Herbert", "", "AtariVox Test ROM", "Uses the AtariVox controller", "", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "", "" }, - { "2cb42cf62b2f25f59f909b5447821b14", "Atari, Christopher H. Omarzu - Children's Computer Workshop", "CX26104", "Big Bird's Egg Catch (1983) (Atari) (PAL) [a]", "Uses Kids/Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, - { "2cc3049b7feb8e92f1870f1972629757", "Video Soft", "", "Atom Smasher (1984) (Video Soft) (Prototype) [stack pointer fix]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2cccc079c15e9af94246f867ffc7e9bf", "PlayAround - J.H.M.", "203", "Jungle Fever (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2cefa695df2ed020899a7df7bb1e3a95", "Manuel Polik, Fabrizio Zavagli", "", "A-Team (2002) (Manuel Polik) (Hack)", "Hack of A-Team", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2cf20f82abcae2decff88db99331e071", "Activision, Mike Lorenzen", "AX-023", "Oink! (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2cfb188c1091cc7ec2a7e60064d2a758", "", "", "Space Invaders Hack Demo (2003) (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d15b092e8350912ec4b2e5e750fa1c6", "Wizard Video Games, Bob Davis, Robert H. O'Neil", "", "Texas Chainsaw Massacre, The (1982) (Wizard Video Games) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d16a8b59a225ea551667be45f554652", "Quelle", "802.744 3", "Der Geheimkurier (1983) (Quelle) (PAL)", "AKA Mr. Postman", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d1cf85fbc732856bf76470cd4060f4a", "", "", "Daredevil (V1) (Stunt_Cycle_Rules!) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d2c5f0761e609e3c5228766f446f7f8", "Atari - Axlon, Steve DeFrisco", "CX26170, CX26170P", "Secret Quest (1989) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d33a44e82f88d05f6c50577218c0cae", "AtariAge - Michael Haas", "RC2", "Flappy (2014) (AtariAge)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d38a96f92952b301eefdf25a5e6976b", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) (Y_Inverted) v4 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d405da70af82b20a6b3ecc3d1d2c4ec", "Genus", "", "Pitfall (Genus)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d6388a8389f1d59108fd169c3356d79", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (NTSC) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d63b452f897818c52b3fceeb080a4d0", "HES - Absolute Entertainment", "", "Pete Rose Baseball (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d6741cda3000230f6bbdd5e31941c01", "CBS Electronics - VSS", "80110", "Targ (1983) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d69a5f23784f1c2230143292a073b53", "", "", "Qb (Fixed background animation) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2d6da0eb85eabc93270e5bb8a466ca51", "", "", "Sprite Demo 7 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d76c5d1aad506442b9e9fb67765e051", "Apollo - Games by Apollo, Larry Minor, Ernie Runyon, Ed Salvo", "AP-2004", "Lost Luggage (1982) (Apollo) [no opening scene]", "AKA Airport Mayhem", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d9e5d8d083b6367eda880e80dfdfaeb", "QDI, Mike Montana, Rich Montana - Selchow & Righter", "87", "Glib (1983) (QDI)", "AKA Video Word Game", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2d9e65959808a6098c16c82a59c9d9dc", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (1 of 3) (1982) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2dbc92688f9ba92a7e086d62be9df79d", "", "", "How to Draw a Playfield (1997) (Jim Crawford) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2dbdca3058035d2b40c734dcf06a86d9", "Thomas Jentzsch", "", "Asteroids DC+ (Thomas Jentzsch) (Hack)", "Uses the Joystick (left) or Driving (right) Controller", "Hack", "", "", "", "", "", "", "", "", "DRIVING", "", "58", "", "", "YES", "" }, - { "2dcf9ce486393cd36ca0928cd53b96cb", "Atari - GCC, Mike Feinstein, John Allred", "CX2688, CX2688P", "Jungle Hunt (1983) (Atari) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2de41a11c6767e54a5ee9ebaffec72af", "Gray Games & AtariAge", "", "E.T. Book Cart (PAL60)", "Charles F. Gray & Michael Rideout", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "55" }, - { "2dfec1615c49501fefc02165c81955e6", "", "", "Song (05-11-2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2e0aed5bb619edcefa3fafb4fbe7c551", "", "", "Qb (2.06) (Retroactive) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2e2acef8513edcca991e7e5149412e11", "Parker Brothers, Larry Gelberg, Gary Goltz", "PB5065", "Star Wars - Ewok Adventure (1983) (Parker Bros) (Prototype) (16K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2e3728f3086dc3e71047ffd6b2d9f015", "Atari, David Crane", "CX26163P", "Outlaw (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2e5b184da8a27c4d362b5a81f0b4a68f", "Atari", "", "Rabbit Transit (08-29-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2e663eaa0d6b723b645e643750b942fd", "Atari, Tom Rudadahl - Sears", "CX2634 - 49-75121", "Golf (1980) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2e7e9c6dcfcceaffc6fa73f0d08a402a", "CCE", "C-818", "Star Voyager (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2e82a1628ef6c735c0ab8fa92927e9b0", "Atari, Jerome Domurat, Peter C. Niday, Robert Vieira", "CX26109", "Sorcerer's Apprentice (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2e842c2ee22e9dad9df16eed091315c4", "HES", "701-157", "2 Pak Special - Moto-cross, Boom Bang (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2eaf8fa9e9fdf1fcfc896926a4bdbf85", "Arcadia Corporation, Stephen H. Landrum", "AR-4400", "Excalibur Version 39 (Dragonstomper Beta) (1982) (Arcadia) (Prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2ec6b045cfd7bc52d9cdfd1b1447d1e5", "Activision, David Crane - Ariola", "EAG-009, PAG-009 - 711 009-720", "Freeway (1981) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2eda6a49a49fcb2b674ea9e160b6a617", "Kyle Pittman", "", "Rambo in Afghanistan (Kyle Pittman) (Hack)", "Hack of Riddle of the Sphinx", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2ef36341d1bf42e02c7ea2f71e024982", "", "", "Space Invaders (Explosion Hack)", "Hack of Space Invaders (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2f0546c4d238551c7d64d884b618100c", "SEGA, Jeff Lorenz", "", "Ixion (1984) (SEGA) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2f0a8bb4e18839f9b1dcaa2f5d02fd1d", "CCE", "", "Super Futebol (CCE) [a]", "AKA RealSports Football", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2f11ba54609777e2c6a5da9b302c98e8", "Atari - GCC", "CX2676", "Centipede (1982) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2f16663b01591539624d0ef52934a17d", "M Network", "", "Rocky and Bullwinkle", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2f2f9061398a74c80420b99ddecf6448", "Rentacom - Brazil", "", "Bobby Is Going Home (Rentacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2f66ebf037321ed0442ac4b89ce22633", "Baroque Gaming (Brian Eno)", "", "Warring Worms (Beta 2) (2002) (Baroque Gaming)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2f7772879a1ed04f660aa9d77a86a4bd", "", "", "Yars' Revenge (Genesis)", "Genesis controller (C is zorlon cannon)", "Hack of Yars' Revenge", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "2f77f015fc880b05f28e84156f989a0c", "", "", "Plane Demo (Gonzalo) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2f7949f71076db42480d3f5036b4a332", "", "", "Name This Game (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "2facd460a6828e0e476d3ac4b8c5f4f7", "Sancho - Tang's Electronic Co.", "", "Words-Attack (1983) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3025bdc30b5aec9fb40668787f67d24c", "", "", "Demo Image Series #14 - Two Marios (4K Interleaved Chronocolour Vertical Movement) (05-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "303242c239474f2d7763b843de58c1c3", "CCE", "", "Laser Blast (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "304512528a5530a9361e8a231ed9a6de", "Thomas Jentzsch", "", "River Raid Plus (Thomas Jentzsch) (Hack)", "Hack of River Raid", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "30512e0e83903fc05541d2f6a6a62654", "Atari, Jim Huether - Sears", "CX2644 - 6-99824", "Flag Capture (1978) (Atari)", "AKA Capture the Flag", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "30516cfbaa1bc3b5335ee53ad811f17a", "Wizard Video Games - MicroGraphic Image, Robert Barber, Tim Martin", "007", "Halloween (1983) (Wizard Video Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3051b6071cb26377cd428af155e1bfc4", "Atari, David Crane - Sears", "CX2607 - 6-99828, 49-75115", "Canyon Bomber (1979) (Atari) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "YES", "10", "", "", "", "" }, - { "30685b9b6ebd9ba71536dd7632a1e3b6", "Dactari - Milmar", "", "Tennis (Dactari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3091af0ef1a61e801f4867783c21d45c", "CCE", "C-862", "Crackpots (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "30997031b668e37168d4d0e299ccc46f", "", "", "John K Harvey's Equalizer (PAL) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "30c92c685224dc7a72b9bbe5eb62d004", "", "", "Hangman Monkey Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "30e012e8d50330c8972f126b8e913bc4", "", "", "Indy 500 (Hack) [a2]", "Hack of Indy 500", "Hack", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "", "", "" }, - { "30e0ab8be713208ae9a978b34e9e8e8c", "Atari, Mike Lorenzen", "CX2630, CX2630P", "Circus Atari (1980) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 55", "", "", "", "" }, - { "30f0b49661cfcfd4ec63395fab837dc3", "SEGA, Jeff Lorenz - Teldec", "004-01", "Star Trek - Strategic Operations Simulator (1983) (SEGA) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3105967f7222cc36a5ac6e5f6e89a0b4", "SEGA, Jeff Lorenz", "011-01, 011-02", "Spy Hunter (1984) (SEGA)", "Uses Joystick Coupler (Dual Control Module)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "310ba30e25ea8957e58180b663503c0c", "Ed Federmeyer", "", "Sound X6 (1994) (Ed Federmeyer)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "31235a27b065c2863048fa84db330dc6", "Thomas Jentzsch", "", "Missile Control - Amiga Mouse Hack v1.15 (PAL) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "313243fc41e49ef6bd3aa9ebc0d372dd", "", "", "Fast Food (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "31512cdfadfd82bfb6f196e3b0fd83cd", "Tigervision", "7-004", "River Patrol (1984) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3177cc5c04c1a4080a927dfa4099482b", "Atari - Imagineering, Alex DeMeo", "CX26135", "RealSports Boxing (1987) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "317a4cdbab090dcc996833d07cb40165", "Goliath - Hot Shot", "83-312", "Missile War (1983) (Goliath) (PAL)", "AKA Astrowar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "318046ae3711c05fd16e479b298e5fcc", "Retroactive", "", "Qb (V2.08) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "318a9d6dda791268df92d72679914ac3", "Activision, Steve Cartwright", "AX-017, AX-017-04", "MegaMania (1982) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "319a142aab6260842ab616382848c204", "", "", "Marble Craze (05-02-2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "31bb9b8ceed46cb3e506777a9e65f3ce", "Bit Corporation", "", "4 Game in One Light Green (1983) (BitCorp) (PAL)", "Phantom UFO, Ice Hockey, Cosmic Avenger, Spy Vs. Spy", "", "", "", "4IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "31c5fd55a39db5ff30a0da065f86c140", "Dactari - Milmar", "", "Enduro (Dactari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "31d08cb465965f80d3541a57ec82c625", "Atari, Alan Miller - Sears", "CX2641 - 99807, 49-75105", "Surround (1977) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "31df1c50c4351e144c9a378adb8c10ba", "Quelle", "687.463 0", "Die Ratte und die Karotten (1983) (Quelle) (PAL)", "AKA Gopher", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "31e518debba46df6226b535fa8bd2543", "Atari, Douglas 'Solaris' Neubauer, Mimi Nyden", "CX26134", "Last Starfighter (1984) (Atari) (Prototype)", "Solaris Beta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "31f4692ee2ca07a7ce1f7a6a1dab4ac9", "Atari, Alan Miller", "CX2642", "Game of Concentration (1980) (Atari) (4K)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "31fcbce1cfa6ec9f5b6de318e1f57647", "Atari, Jerome Domurat, Peter C. Niday", "CX26115", "Dumbo's Flying Circus (1983) (Atari) (Prototype) (PAL)", "AKA Dumbo Flies Home", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "32199271dc980eb31a2cc96e10a9e244", "", "", "Radial Pong - Version 12 (Jeffry Johnston) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "321c3451129357af42a375d12afd4450", "Atari - Imagineering, Dan Kitchen", "CX26177", "Ikari Warriors (1991) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "32244e55ce6ec6bfbd763f33384bdc2e", "Activision, Steve Cartwright", "AX-027", "Plaque Attack (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3225676f5c0c577aeccfaa7e6bedd765", "CCE", "C-1002", "Pole Position (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "322b29e84455aa41e7cc9af463bffa89", "Atari - Bobco, Robert C. Polaro", "CX2663", "Road Runner (06-25-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "324cb4a749bcac4f3db9da842b85d2f7", "Dennis Debro", "", "Climber 5 (01-05-2003) (Dennis Debro)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "327468d6c19697e65ab702f06502c7ed", "Charles Morgan", "", "Aster-Hawk (2002) (Charles Morgan) (Hack)", "Hack of Asteroids", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3276c777cbe97cdd2b4a63ffc16b7151", "Atari - GCC, Mike Feinstein, Kevin Osborn", "CX2691", "Joust (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3278158e5c1f7eb5c5d28ccfd7285250", "Dactari - Milmar", "", "Megamania (Dactari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "327fe8cf94f3a45c35a840a453df1235", "", "", "Spice Girls Rule Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "328949872e454181223a80389d03c122", "", "", "Home Run (Unknown) (PAL)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "32ae78abbb5e677e2aabae5cc86cec29", "Atari, Christopher H. Omarzu, Courtney Granner", "CX26112", "Good Luck, Charlie Brown (04-18-1984) (Atari) (Prototype)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "32d1260ea682e1bb10850fa94c04ec5f", "Atari, Alan Miller", "CX26163P", "Basketball (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "32dcd1b535f564ee38143a70a8146efe", "Xonox - K-Tel Software - Product Guild, Anthony R. Henderson", "99007, 6240", "Tomarc the Barbarian (1983) (Xonox)", "AKA Thundarr the Barbarian", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "32e65d1e4dfcbcd9b57fee72cafe074c", "", "", "Eckhard Stolberg's Scrolling Text Demo 3 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "32ecb5a652eb73d287e883eea751d99c", "Dactar - Milmar", "", "Bowling (Dactar - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "32f4e47a71601ab06cfb59e1c6a0b846", "Ed Federmeyer", "", "Sound X (1994) (Ed Federmeyer)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3316ee2f887e9cb9b54dd23c5b98c3e2", "", "", "Texas Golf (miniature Gold Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "331938989f0f33ca39c10af4c09ff640", "Zach Matley", "", "Combat - Tank AI (19-04-2003) (Zach Matley)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "332f01fd18e99c6584f61aa45ee7791e", "", "", "X'Mission (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3347a6dd59049b15a38394aa2dafa585", "Parker Brothers - JWDA, Henry Will IV", "PB5760", "Montezuma's Revenge (1984) (Parker Bros)", "Featuring Panama Joe", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "335793736cbf6fc99c9359ed2a32a49d", "", "", "Analog Clock (V0.0) (20-01-2003) (AD) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "335a7c5cfa6fee0f35f5824d1fa09aed", "SEGA - Beck-Tech, Steve Beck, Phat Ho - Teldec", "006-01 - 3.60105 VG", "Congo Bongo (1983) (SEGA) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3367eeba3269aa04720abe6169767502", "", "", "Space Treat (30-12-2002) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "336ea20d38f98926919d4b4651d1a03f", "Omegamatrix", "", "Omega Race (Genesis) V2", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3391f7c4c656793f92299f4187e139f7", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype) [a4]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "33cac5e767a534c95d292b04f439dc37", "Jone Yuan Telephonic Enterprise Co", "", "Tapeworm (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "33d68c3cd74e5bc4cf0df3716c5848bc", "CBS Electronics, Tom DiDomenico", "4L 2486 5000", "Blueprint (1983) (CBS Electronics)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "33ed6dfac4b9ea2f81f778ceddbb4a75", "Activision", "", "River Raid (1982) (SpkSoft) [t1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "340f546d59e72fb358c49ac2ca8482bb", "Sancho - Tang's Electronic Co.", "TEC003", "Skindiver (1983) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "34340c8eecd1e557314789cc6477e650", "Joe Grand", "", "SCSIcide Pre-release 4 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "345488d3b014b684a181108f0ef823cb", "CBS Electronics, Tom DiDomenico", "4L 2486 5000", "Blueprint (1983) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "345758747b893e4c9bdde8877de47788", "CBS Electronics, Joseph Biel", "4L1802, 4L1803, 4L1804, 4L2278", "Venture (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "345769d085113d57937198262af52298", "Rainbow Vision - Suntek", "SS-007", "Space Raid (1983) (Rainbow Vision) (PAL)", "AKA MegaMania", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "346555779a2d51b48833463b5433472f", "Thomas Jentzsch", "", "Thrust (V0.1) (2000) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "348615ffa30fab3cec1441b5a76e9460", "Activision, Alan Miller - Ariola", "EAX-016, PAX-016 - 711 016-725", "StarMaster (1982) (Activision) (PAL) [fixed]", "Use Color/BW switch to change between galactic chart and front views", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "34b269387fa1aa5a396636f5ecdd63dd", "", "", "Marble Craze (mc7_23) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "34c808ad6577dbfa46169b73171585a3", "Apollo", "AP-2012", "Squoosh (1983) (Apollo) (Prototype)", "AKA Vat's Incredible!, The Grape Escape", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "34ca2fcbc8ba4a0b544acd94991cfb50", "Atari, Robert C. Polaro", "", "Dukes of Hazzard (1980) (Atari) (Prototype) (4K)", "AKA Stunt Cycle", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "34e37eaffc0d34e05e40ed883f848b40", "Retroactive", "", "Qb (2.15) (Retroactive) (Stella)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "34f4b1d809aa705ace6e46b13253fd3b", "Aaron Bergstrom", "", "Nothern Alliance (Aaron Bergstrom) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "34fd4fcb40ff5babce67f8b806d5969c", "", "", "Boxing (Dactari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "350e0f7b562ec5e457b3f5af013648db", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26119", "Saboteur (06-09-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "35156407e54f67eb1f625450d5c093e1", "", "", "Mouse Trap (Genesis)", "Genesis controller (C changes to dog)", "Hack of Mouse Trap", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "35163b56f4a692a232ae96ad3e23310f", "Retroactive", "", "Qb (2.12) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3545eb3b8b1e7dc19f87d231ab0b1d4c", "CBS Electronics - Roklan, Joe Hellesen, Joe Wagner", "M8774, M8794", "Wizard of Wor (1982) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3556e125681aea864e17b09f3f3b2a75", "", "", "Incoming (2 Player Demo) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3576037c9281656655fa114a835be553", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (1 of 4) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3577e19714921912685bb0e32ddf943c", "TechnoVision - Video Technology", "TVS1003", "Pharaoh's Curse (1983) (TechnoVision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "35ae903dff7389755ad4a07f2fb7400c", "", "", "Colored Wall Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "35b10a248a7e67493ec43aeb9743538c", "Dor-x", "", "Defender (Dor-x) (Hack)", "Hack of Defender", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "35b43b54e83403bb3d71f519739a9549", "Parker Brothers, Dave Engman, Isabel Garret", "", "McDonald's (06-06-1983) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "35be55426c1fec32dfb503b4f0651572", "Men-A-Vision", "", "Air Raid (Men-A-Vision) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "35fa32256982774a4f134c3347882dff", "Retroactive", "", "Qb (V0.05) (Macintosh) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "360ba640f6810ec902b01a09cc8ab556", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (06-15-1983) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "360c0dcb11506e73bd0b77207c81bc62", "Digitel", "", "Enduro (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3619786f6a32efc1e4a262d5aca8a070", "Atari, John Dunn - Sears", "CX2631 - 49-75152", "Superman (1979) (Atari) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3624e5568368929fabb55d7f9df1022e", "Activision - Imagineering, Donald Hahn, Dan Kitchen", "EAK-050-04", "Double Dragon (1989) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "36306070f0c90a72461551a7a4f3a209", "U.S. Games Corporation - JWDA, Roger Booth, Sylvia Day, Ron Dubren, Todd Marshall, Robin McDaniel, Wes Trager, Henry Will IV", "VC1007", "Name This Game (1983) (U.S. Games)", "AKA Octopussy", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "36547bc6faa5132b87504e18d088e1d7", "", "", "Cosmic Swarm (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "367411b78119299234772c08df10e134", "Atari", "CX26163P", "Skiing (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3685060707df27d4091ba0ea2dc4b059", "", "", "PezZerk - PezMan in Ghost Manor (Hack)", "Hack of Berzerk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "368d88a6c071caba60b4f778615aae94", "Atari, Matthew L. Hubbard", "CX26159", "Double Dunk (1989) (Atari)", "AKA Super Basketball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "36a701c60a9f9768d057bc2a83526a80", "", "", "Cube Conquest (Interlaced) (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "36b20c427975760cb9cf4a47e41369e4", "Coleco - Woodside Design Associates - Imaginative Systems Software, Garry Kitchen", "2451", "Donkey Kong (1982) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "36c29ceee2c151b23a1ad7aa04bd529d", "Atari - GCC, Ava-Robin Cohen", "CX26123", "Jr. Pac-Man (1986) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "36c31bb5daeb103f488c66de67ac5075", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Bop a Buggy (1 of 3) (1983) (Arcadia)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 56", "", "", "", "" }, - { "36c993dc328933e4dd6374a8ffe224f4", "Gameworld, J. Ray Dettling", "133-007", "Bermuda Triangle (1983) (Gameworld) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "36e47ed74968c365121eab60f48c6517", "Quelle", "343.373 7", "Master Builder (1983) (Quelle) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "36edef446ab4c2395666efc672b92ed0", "Atari - Axlon, John Vifian", "CX26168", "Off the Wall (1989) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "36f9a953ebdd9a8be97ccf27a2041903", "", "", "Chinese Character Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "37252757a79dc5b174e3c03d6ea0bdcb", "", "", "Sky Diver (Unknown) (PAL) (4K) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "372bddf113d088bc572f94e98d8249f5", "Bomb - Onbase", "CA285", "Wall-Defender (1983) (Bomb) (PAL)", "AKA Wall Break", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "373b8a081acd98a895db0cb02df35673", "", "", "Demo Image Series #5 - Boofly (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3750f2375252b6a20e4628692e94e8b1", "Dismac", "", "Ases do Ar (Dismac)", "AKA Sky Jinks", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "37527966823ee9243d34c7da8302774f", "", "", "Word Zapper (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "376944889dcfa96c73d3079f308e3d32", "Retroactive", "", "Qb (0.11) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3783f12821b88b08814da8adb1a9f220", "", "", "Mission Survive (PAL) (Genesis)", "Genesis controller (C is vertical fire)", "Hack of Mission Survive)", "", "", "", "", "A", "", "", "", "", "", "", "", "", "YES", "" }, - { "378a62af6e9c12a760795ff4fc939656", "Atari - Axlon, Steve DeFrisco", "CX26171", "MotoRodeo (1991) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "378c118b3bda502c73e76190ca089eef", "Atari, Alan Miller", "CX2662P", "Hangman (1978) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "37ab3affc7987995784b59fcd3fcbd31", "", "", "Sprite Test (29-11-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "37b98344c8e0746c486caf5aaeec892a", "K-Tel Vision", "6", "Spider Maze (1982) (K-Tel Vision) (PAL)", "AKA Spider Kong", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "37e828675d556775ae8285c0caf7d11c", "AtariAge - Fred Quimby", "", "Gingerbread Man (Fred Quimby) (Genesis)", "Genesis controller (C throws cookie)", "New Release", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "" }, - { "37f42ab50018497114f6b0f4f01aa9a1", "", "", "Droid Demo 2-M (David Conrad Schweinsberg) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "37fd7fa52d358f66984948999f1213c5", "Rainbow Vision - Suntek", "SS-004", "Pyramid War (1983) (Rainbow Vision) (PAL) [a2]", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "384db97670817103dd8c0bbdef132445", "Atari - Sears", "CX2626 - 6-99829, 49-75116", "Miniature Golf (1979) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "384f5fbf57b5e92ed708935ebf8a8610", "20th Century Fox Video Games, John W.S. Marvin", "11009", "Crypts of Chaos (1983) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3856b9425cc0185ed770376a62af0282", "Kyle Pittman", "", "Yellow Submarine (Kyle Pittman) (Hack)", "Hack of Bermuda Triangle", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "386ff28ac5e254ba1b1bac6916bcc93a", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (1982) (Arcadia)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, - { "3882224adbd0ca7c748b2a1c9b87263e", "Atari, Tod Frye", "CX2657", "SwordQuest - FireWorld (1982) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3889351c6c2100b9f3aef817a7e17a7a", "CCE", "", "Dolphin (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3897744dd3c756ea4b1542e5e181e02a", "Atari, Jerome Domurat, Peter C. Niday", "CX26115", "Dumbo's Flying Circus (05-05-1983) (Atari) (Prototype)", "AKA Dumbo Flies Home", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "38bd172da8b2a3a176e517c213fcd5a6", "Atari", "MA017600", "Diagnostic Test Cartridge 2.6 (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "38c362dcd5cad5a62e73ae52631bd9d8", "Jake Patterson", "", "Baubles (14-11-2001) (Jake Patterson) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "38cf93eacfb2fa9a2c5e39059ff35a74", "Greg Zumwalt", "", "WacMan (2003) (Greg Zumwalt) (Hack)", "Hack of Ms. Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "38de7b68379770b9bd3f7bf000136eb0", "Imagic, Mark Klein", "EIZ-003-04I", "Subterranea (1983) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "391764720140c432aec454a468f77a40", "Video Game Program", "", "Miss Pack Man (Video Game Program) (PAL)", "AKA Ms. Pac-Man", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "392d34c0498075dd58df0ce7cd491ea2", "Atari, Frank Hausman, Mimi Nyden, Steve Woita", "CX2686", "Quadrun (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "392f00fd1a074a3c15bc96b0a57d52a1", "Atari, Rob Fulop - Sears", "CX2633 - 49-75119", "Night Driver (1980) (Atari)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "AUTO 65", "", "", "YES", "" }, - { "393948436d1f4cc3192410bb918f9724", "Activision, Carol Shaw", "AX-020, AX-020-04", "River Raid (1982) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "393e41ca8bdd35b52bf6256a968a9b89", "U.S. Games Corporation - Western Technologies, John Hall", "VC1012", "M.A.D. (1983) (U.S. Games)", "AKA Missile Intercept, Mutually Assured Destruction", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3947eb7305b0c904256cdbc5c5956c0f", "Jone Yuan Telephonic Enterprise Co", "", "Lilly Adventure (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "396f7bc90ab4fa4975f8c74abe4e81f0", "Atari, Larry Kaplan - Sears", "CX2612 - 99804, 49-75103", "Street Racer (1977) (Atari)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "AUTO 60", "", "", "", "" }, - { "3974e2d1f614fbd3a092533ecae2e84d", "Alessandro Ciceri", "", "MagiCard+ (alex_79) WIP_20150118", "MagiCard hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "39790a2e9030751d7db414e13f1b6960", "", "", "Robotfindskitten2600 (26-04-2003) (Jeremy Penner) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "39a6a5a2e1f6297cceaa48bb03af02e9", "", "", "Pitfall 2 Plus (Hack)", "Hack of Pitfall 2", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "39b94d41bd3b01c12b4054c1a8733783", "SOLID Corp. (D. Scott Williamson)", "CX2655-016", "Star Castle 2600 (SolidCorp) [016]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "39c78d682516d79130b379fa9deb8d1c", "Apollo - Games by Apollo, Ed Salvo", "AP-1001", "Skeet Shoot (1981) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "39d36366ae7e6dfd53393fb9ebab02a0", "CCE", "C-811", "River Raid (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "39da69ff9833f8c143f03b6e0e7a996b", "Charles Morgan", "", "Ventrra Invaders 2002 (Charles Morgan) (Hack)", "Hack of Megamania", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "39fe316952134b1277b6a81af8e05776", "Robby", "18", "River Raid (Robby)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3a10562937a766cbbb77203d029b00e1", "Carrere Video - JWDA, Garry Kitchen, Paul Willson - Teldec - Prism", "USC1002", "Sneak 'n Peek (1983) (Carrere Video) (PAL)", "AKA Der Unsichtbare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3a2e2d0c6892aa14544083dfb7762782", "Atari, Rob Fulop - Sears", "CX2638 - 49-75166", "Missile Command (1981) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3a35d7f1dc2a33565c8dca52baa86bc4", "", "", "Rubik's Cube Demo 2 (23-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3a51a6860848e36e6d06ffe01b71fb13", "Retroactive", "", "Qb (2.07) (Retroactive) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3a521b7e29123b2d38e34e3ff8dc255c", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (NTSC) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3a526e6a1f9fe918af0f2ce997dfea73", "CBS Electronics, Dan Kitchen, Garry Kitchen", "4L1700, 4L1701, 4L1702, 4L1802, 4L2274", "Donkey Kong (1982) (CBS Electronics) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3a53963f053b22599db6ac9686f7722f", "", "", "Word Zapper (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3a771876e4b61d42e3a3892ad885d889", "Atari, Bill Aspromonte, Andrew Fuchs", "CX26120", "Defender II (1987) (Atari)", "AKA Stargate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3aad0ef62885736a5b8c6ccac0dbe00c", "Dynacom", "", "Atlantis (1983) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3ab5d138e26d88c8190e7cc629a89493", "", "", "Phased Color Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3ac6c50a8e62d4ce71595134cbd8035e", "Absolute Entertainment, Dan Kitchen", "AK-046-04", "Tomcat (1988) (Absolute)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3ad3dc799211ccd424d7c6d454401436", "Probe 2000 - NAP", "", "Power Lords (1983) (Probe) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3ad58b53a1e972396890bd86c735e78d", "Arcadia Corporation, Stephen H. Landrum", "AR-4400", "Excalibur Version 36 (Dragonstomper Beta) (1982) (Arcadia) (Prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b040ed7d1ef8acb4efdeebebdaa2052", "Tigervision", "7-008", "Miner 2049er (1983) (Tigervision) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b097a7ed5bd2a84dc3d3ed361e9c31c", "", "", "Interleaved ChronoColour Demo (PAL) (05-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b10106836565e5db28c7823c0898fbb", "Xonox - Beck-Tech", "6210, 06002, 06004, 99002", "Ghost Manor (1983) (Xonox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b2c32fcd331664d037952bcaa62df94", "Xonox", "6230, 6250", "Super Kung-Fu (1983) (Xonox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b5751a8d20f7de41eb069f76fecd5d7", "", "", "Eckhard Stolberg's Scrolling Text Demo 4 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b64a00ce147c3c29f7f8f8e531d08d8", "", "", "This Planet Sucks (16K) (Greg Troutman)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b69f8929373598e1752f43f8da61aa4", "Apollo - Games by Apollo - RCA Video Jeux", "AP-2006", "Infiltrate (1921) (Apollo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3b6dba1a24bb2893bd3bd0593f92016b", "CBS Electronics / Thomas Jentzsch", "", "Omega Race JS (TJ)", "Hack of Omega Race (CBS Electronics)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b76242691730b2dd22ec0ceab351bc6", "M Network - INTV, Connie Goldman, Joe King, Patricia Lewis Du Long, Gerald Moore, Mike Sanders, Jossef Wagner", "MT4319", "Masters of the Universe (1983) (M Network)", "", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "YES", "" }, - { "3b80b8f52a0939e16b5059f93a3fc19a", "V007", "", "Virtual Pet (V007) (after Demo 2) (CRACKERS) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b86a27132fb74d9b35d4783605a1bcb", "Atari, Chris Crawford", "", "Wizard (1980) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b8aacf5f5638492b926b5124de19f18", "Atari, Tod Frye - Sears", "CX2646 - 49-75185", "Pac-Man (1981) (Atari) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b91c347d8e6427edbe942a7a405290d", "Parker Brothers", "PB5350", "Sky Skipper (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b9480bb6fb1e358c9c0a64e86945aee", "", "", "Title Match Pro Wrestling (2002) (Skyworks)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3b966bf3c2ca34ac6ca1de4cf6383582", "", "", "Double-Height 6-Digit Score Display (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3bb9793c60c92911895cf44530846136", "Jone Yuan Telephonic Enterprise Co", "", "Dragster (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3c21a89bc38d8cd0b010a2916bcff5c2", "", "", "Colony 7 - CX-22 Hack v0.4 (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "50" }, - { "3c3a2bb776dec245c7d6678b5a56ac10", "", "", "Unknown Title (bin00003) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3c4223316c835ceaad619651e25df0f9", "", "", "Defender (Genesis)", "Genesis controller (C is smartbomb)", "Hack of Defender", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3c4a6f613ca8ba27ce9e43c6c92a3128", "", "", "Qb (V0.04) (Non-Lax Version) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3c57748c8286cf9e821ecd064f21aaa9", "Atari, Jerome Domurat, Andrew Fuchs, Dave Staugas, Robert Vieira", "CX26118", "Millipede (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3c72ddaf41158fdd66e4f1cb90d4fd29", "Dismac", "", "Comando Suicida (Dismac)", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3c7a7b3a0a7e6319b2fa0f923ef6c9af", "Atari - Roklan, Joe Gaucher", "", "Racer (1982) (Atari) (Prototype)", "ROM must be started in bank 0", "Prototype", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3c7a96978f52b2b15426cdd50f2c4048", "", "", "Overhead Adventure Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3c82e808fe0e6a006dc0c4e714d36209", "Activision, David Crane", "AG-004", "Fishing Derby (1980) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3c853d864a1d5534ed0d4b325347f131", "Telesys, Don 'Donyo' Ruffcorn", "1002", "Cosmic Creeps (1982) (Telesys)", "AKA Space Maze, Spaze Maze", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3c8e57a246742fa5d59e517134c0b4e6", "Parker Brothers, Rex Bradford, Sam Kjellman", "PB5050", "Star Wars - The Empire Strikes Back (1982) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3ca51b5c08f5a0ecfb17d0c1ec6d0942", "Atari, James Andreasen - Sears", "CX2654 - 49-75141", "Haunted House (09-28-81) (Atari) (Prototype)", "AKA Mystery Mansion, Graves' Manor, Nightmare Manor", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3caa902ac0ce4509308990645876426a", "Atari - GCC, Dave Payne", "CX2669, CX2669P", "Vanguard (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3cbdf71bb9fd261fbc433717f547d738", "CCE", "C-803", "Bobby Is Going Home (1983) (CCE) (PAL)", "AKA Bobby Vai Para Casa", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3cdd91e1c28d28e856c0063d602da166", "", "", "Stell-A-Sketch (03-11-1997) (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3d1e83afdb4265fa2fb84819c9cfd39c", "Coleco - JWDA, Todd Marshall, Robin McDaniel, Henry Will IV", "2465", "Smurf - Rescue in Gargamel's Castle (1983) (Coleco)", "AKA Smurf, Smurf Action", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3d2367b2b09c28f1659c082bb46a7334", "Imagic, Dennis Koble", "720103-2A, IA3203P, EIX-010-04I", "Atlantis (1982) (Imagic) (PAL)", "AKA Lost City of Atlantis", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3d2652cbea462a886a41791dd7c8d073", "", "", "Ritorno dei frattelli di Mario (Mario Bros Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3d48b8b586a09bdbf49f1a016bf4d29a", "Video Game Cartridge - Ariola", "TP-606", "Hole Hunter (Video Game Cartridge)", "AKA Topy", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3d6fc7a19be76d808aa233415cb583fc", "CCE", "C-833", "Target Practice (1983) (CCE)", "AKA Carnival", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3d7749fb9c2f91a276dfe494495234c5", "Jone Yuan Telephonic Enterprise Co", "", "Checkers (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3d7aad37c55692814211c8b590a0334c", "Atari, Dan Oliver", "", "Telepathy (1983) (Atari) (Prototype)", "Uses both left joystick and right Mindlink controllers (press Fire on respective controller to begin)", "Prototype", "", "", "", "", "", "", "", "", "MINDLINK", "", "78", "", "", "", "" }, - { "3d8a2d6493123a53ade45e3e2c5cafa0", "Atari, Jim Huether - Sears", "CX2629 - 6-99843, 49-75118", "Sky Diver (1979) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3d934bb980e2e63e1ead3e7756928ccd", "Activision, Steve Cartwright - Ariola", "EAX-017, EAX-017-04I - 711 017-720", "MegaMania (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3d9c2fccf8b11630762ff00811c19277", "", "", "Challenge of.... Nexar, The (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3da7cc7049d73d34920bb73817bd05a9", "Activision, Mike Lorenzen", "AX-023", "Oink! (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3dfb7c1803f937fadc652a3e95ff7dc6", "Dimax - Sinmax", "SM8001", "Space Robot (Dimax - Sinmax)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3e03086da53ecc29d855d8edf10962cb", "CBS Electronics - Roklan, Joe Gaucher, Alex Leavens", "4L1751, 4L1752, 4L1753, 4L2275", "Gorf (1982) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3e1682ddaec486d8b6b90b527aaa0fc4", "Thomas Jentzsch", "", "Robot City (V0.12) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3e22c7eaf6459b67388602e4bebbb3a8", "CommaVid, John Bronstein - Ariola", "CM-003 - 712 003-720", "Cosmic Swarm (1982) (CommaVid) (PAL) (4K)", "AKA Angriff der Termiten", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3e33ac10dcf2dff014bc1decf8a9aea4", "Spectravideo - Video Games Industries Corporation, Michael Schwartz - Ralston Purina", "", "Chase the Chuckwagon (1983) (Spectravideo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3e49da621193d2611a4ea152d5d5ca3a", "", "", "Atari Logo Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3e4b1137433cc1e617b5508619e13063", "", "", "Asteroids (Genesis)", "Genesis controller (C is hyperspace)", "Hack of Asteroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3e5ca1afaa27c5da3c54c9942fec528b", "", "", "2600 Digital Clock (Demo 2) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3e6dab92009d6034618cb6b7844c5216", "", "", "Ed Invaders (Hack)", "Hack of Pepsi Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3e7d10d0a911afc4b492d06c99863e65", "VGS", "", "Super Tenis (VGS)", "AKA RealSports Tennis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3e88cca5b860d0bd8947479e74c44284", "Atari, Lou Harp", "CX26122", "Sinistar (01-23-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3e899eba0ca8cd2972da1ae5479b4f0d", "Coleco, Joseph Biel", "2457", "Venture (1982) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3e90cf23106f2e08b2781e41299de556", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1982) (Activision)", "Pitfall Harry's Jungle Adventure (Jungle Runner)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3eae062a9b722bda1255d474a87eca5c", "Atari, David Crane", "CX2605, CX2605P", "Outlaw (1978) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3eb1e34a4f0eec36f12e7336badcecf2", "Jake Patterson", "", "Baubles (V0.001) (2001) (Jake Patterson) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3eb21313ea5d5764c5ed9160a5a55a83", "Activision, Alan Miller", "AX-012, CAX-012, AX-012-04", "Ice Hockey (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3ec12372ca3e870b11ca70edc7ec26a4", "CommaVid, John Bronstein", "CM-002", "Video Life (1981) (CommaVid) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3eccf9f363f5c5de0c8b174a535dc83b", "", "", "Plaque Attack (Unknown) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3ef9573536730dcd6d9c20b6822dbdc4", "Atari, Larry Wagner, Bob Whitehead", "CX2645, CX2645P", "Video Chess (1979) (Atari) (PAL)", "AKA Computer Chess", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f01bd6d059396f495a4cde7de0ab180", "", "", "Qb (Special Edition) (NTSC) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "3f039981255691d3859d04ef813a1264", "Xonox, John Perkins", "6230, 7210, 06004, 99004", "Artillery Duel (1983) (Xonox) [a]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f251c50aa7237e61a38ab42315ebed4", "Thomas Jentzsch", "", "Ikari Warriors (1990) (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f3ad2765c874ca13c015ca6a44a40a1", "CCE", "C-862", "Crackpots (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f540a30fdee0b20aed7288e4a5ea528", "Atari - GCC", "CX2670", "Atari Video Cube (1983) (Atari)", "AKA Atari Cube, Video Cube", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f58f972276d1e4e0e09582521ed7a5b", "Telegames", "6082 A145", "Kung Fu Superkicks (1988) (Telegames)", "AKA Chuck Norris Superkicks", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f5a43602f960ede330cd2f43a25139e", "Activision, Alan Miller", "AG-003", "Checkers (1980) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f6938aa6ce66e6f42e582c1eb19b18c", "Jone Yuan Telephonic Enterprise Co", "", "Laser Blast (Jone Yuan) (4K) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f6dbf448f25e2bd06dea44248eb122d", "", "5687 A279", "Soccer (1988) (Telegames)", "AKA International Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f75a5da3e40d486b21dfc1c8517adc0", "Atari, Jim Huether", "CX26163P", "Sky Diver (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f9431cc8c5e2f220b2ac14bbc8231f4", "", "", "Colors Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f96eb711928a6fac667c04ecd41f59f", "Bit Corporation", "PGP218", "Rodeo Champ (4 Game in One Dark Green) (1983) (BitCorp) (PAL)", "AKA Stampede", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3f9cb1aba8ec20e2c243ae642f9942bf", "", "", "New Questions (1998) (John K. Harvey) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3fd1f9d66a418c9f787fc5799174ddb7", "Aaron Curtis", "", "AStar (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3fd53bfeee39064c945a769f17815a7f", "CCE", "", "Sea Hawk (CCE)", "AKA Seahawk", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3fe43915e5655cf69485364e9f464097", "CCE", "C-863", "Fisher Price (1983) (CCE)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "3ff5165378213dab531ffa4f1a41ae45", "Otto Versand", "311377", "Pygmy (1983) (Otto Versand) (PAL)", "AKA Lock 'n' Chase (Double-Game Package)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4026ad38ba5ce486e88383dc27d7a46f", "Nukey Shay, Omegamatrix", "", "Double Dragon (Genesis) V2", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "402b1ca3c230a60fb279d4a2a10fa677", "", "", "3-D Tic-Tac-Toe (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "402d876ec4a73f9e3133f8f7f7992a1e", "Alex Herbert", "", "Man Goes Down (2006) (A. Herbert) (Prototype)", "Uses AtariVox controller", "Homebrew", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "", "" }, - { "405f8591b6941cff56c9b392c2d5e4e5", "Telegames", "", "Star Strike (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4066309eb3fa3e7a725585b9814bc375", "", "", "Multi Ball Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4066d7d88ec4a2c656127a67fa52dcf1", "", "", "Overhead Adventure Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "407a0c6cc0ff777f67b669440d68a242", "Erik Eid", "", "Euchre (Alpha) (PAL) (31-08-2002) (Erik Eid)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4093382187f8387e6d011883e8ea519b", "", "", "Go Go Home (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "40aa851e8d0f1c555176a5e209a5fabb", "", "", "Euchre (More for less) (NTSC) (22-08-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "40b1832177c63ebf81e6c5b61aaffd3a", "Atari, Peter C. Niday", "", "Rubik's Cube 3-D (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "40b59249e05135bca33861e383735e9e", "Atari", "CX26163P", "Skiing (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "40d8ed6a5106245aa79f05642a961485", "Xonox - K-Tel Software - Beck-Tech, Steve Beck", "6210, 06002, 06004, 99002", "Ghost Manor (1983) (Xonox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "40d9f5709877ecf3dd1184f9791dd35e", "Dactari - Milmar", "", "Skiing (Dactari - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "40e12c008037a323a1290c8fa4d2fe7f", "", "", "Skeleton (NTSC) (06-09-2002) (Eric Ball)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "40eb4e263581b3dfec6dd8920b68e00f", "Sears Tele-Games, Marilyn Churchill, Matthew L. Hubbard", "CX2647 - 49-75142", "Seawolf 3 (03-23-1981) (Sears) (Prototype) (PAL)", "Submarine Commander Beta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "413c925c5fdcea62842a63a4c671a5f2", "Activision, Larry Kaplan", "AX-006", "Bridge (1980) (Activision) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4153dd2beed648e9dc082140ebe8e836", "Thomas Jentzsch", "", "Coke Zero (v1.0) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "415c11fcac66bbd2ace2096687774b5a", "", "", "Fu Kung! (V0.00) (07-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4181087389a79c7f59611fb51c263137", "Atari, Suki Lee", "CX26113", "Miss Piggy's Wedding (06-24-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "41810dd94bd0de1110bedc5092bef5b0", "Funvision - Fund. International Co.", "", "Dragon Treasure (Funvision)", "AKA Dragonfire", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "41818738ab1745e879024a17784d71f5", "CCE", "C-832", "Atlantis (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4189adfc1b30c121248876e3a1a3ac7e", "Eric Ball", "", "Skeleton (Complete) (06-09-2002) (Eric Ball)", "", "New Release", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4191b671bcd8237fc8e297b4947f2990", "Exus Corporation", "", "Video Jogger (1983) (Exus)", "AKA Foot Craz", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "41b554c6970b18670acc7b6baef8ed2e", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "41c4e3d45a06df9d21b7aae6ae7e9912", "CCE", "C-826", "Grand Prix (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "41f252a66c6301f1e8ab3612c19bc5d4", "Atari - GCC, Mike Feinstein, Brad Rice", "CX2681", "Battlezone (1983) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4209e9dcdf05614e290167a1c033cfd2", "CommaVid, John Bronstein", "CM-002", "Video Life (1984) (CommaVid) [higher sounds]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "42249ec8043a9a0203dde0b5bb46d8c4", "CCE", "", "Resgate Espacial (CCE)", "AKA Moonsweeper", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4233eb824c2b4811abef9b6d00355ae9", "Retroactive", "", "Qb (V0.10) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4251b4557ea6953e88afb22a3a868724", "Thomas Jentzsch", "", "Robot City (V1.1) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "425ee444a41d218598893d6b6e03431a", "Thomas Jentzsch", "", "Invaders Demo (2001) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4279485e922b34f127a88904b31ce9fa", "", "", "Enduro (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "428b2d36f5d716765460701f7016ac91", "Andrew Wallace", "", "Brooni (2001) (Andrew Wallace) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "42ae81ae8ac51e5c238639f9f77d91ae", "", "", "Multi-Sprite Demo 2 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "42b2c3b4545f1499a083cfbc4a3b7640", "U.S. Games Corporation - JWDA, Todd Marshall, Robin McDaniel, Wes Trager, Henry Will IV", "VC2003", "Eggomania (1982) (U.S. Games)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "", "" }, - { "42b3ab3cf661929bdc77b621a8c37574", "Robby", "", "Volleyball (Robby)", "AKA RealSports Volleyball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "42b5e3a35b032f033809afb0ea28802d", "Atari, Mimi Nyden, Scott Smith, Robert Vieira", "CX26127", "Gremlins (03-12-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "42cdd6a9e42a3639e190722b8ea3fc51", "Activision, Alan Miller", "AG-007, CAG-007", "Tennis (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "42dcc02777b0bcfacd85aeb61d33558a", "", "", "Human Cannonball (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "42e0ec5ab8f5deba53e4169ff2a5efbe", "", "", "Atari Logo Demo 5 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4311a4115fb7bc68477c96cf44cebacf", "", "", "Challenge (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4326edb70ff20d0ee5ba58fa5cb09d60", "Atari - GCC, Kevin Osborn", "CX2689", "Kangaroo (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "435fd469f088468c4d66be6b5204d887", "Atari - GCC", "CX2680, CX2680P", "RealSports Tennis (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "438968a26b7cfe14a499f5bbbbf844db", "", "", "Raft Rider (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "43adf60ebdd6b5a0fae21594ecf17154", "Jone Yuan Telephonic Enterprise Co", "", "Stampede (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "43c6cfffeddab6b3787357fed9d44529", "20th Century Fox Video Games, Frank Cohen, Douglas 'Dallas North' Neubauer", "11111", "M.A.S.H (1983) (20th Century Fox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "43f33c6dfdeaf5138ce6e6968ad7c5ce", "Jeffry Johnston", "", "Radial Pong - Version 11 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "43f8459d39fb4eddf9186d62722ff795", "", "", "Skeleton+ (17-04-2003) (Eric Ball) (PAL)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "442602713cb45b9321ee93c6ea28a5d0", "", "", "Demon Attack (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4427f06085bb4c22ff047027f7acecc2", "Parker Brothers, Rex Bradford", "PB5000", "Star Wars - Jedi Arena (1983) (Parker Bros) (Prototype)", "Uses the Paddle Controllers (swapped)", "Prototype", "", "", "", "", "", "", "", "", "", "YES", "10 50", "", "", "", "" }, - { "442b7863683e5f084716fda050474feb", "Eckhard Stolberg", "", "Frame Timed Sound Effects-EM (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4431428a7500c96fc0e2798a5dbd36d6", "", "", "Kangaroo (Genesis)", "Genesis controller (B is punch, C is jump)", "Hack of Kangaroo", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4474b3ad3bf6aabe719a2d7f1d1fb4cc", "Activision - Imagineering, Dan Kitchen, Garry Kitchen", "EAX-039-04B, EAX-039-04I", "Kung-Fu Master (1987) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4476c39736090dabac09f6caf835fc49", "", "", "Text Screen (25-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "448c2a175afc8df174d6ff4cce12c794", "Activision, David Crane", "AB-035-04", "Pitfall II (1983) (Activision) [a2]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "44e9c4a047c348dbeb7ace60f45484b4", "", "", "Moon Patrol Arcade (Genesis)", "Genesis controller (C is jump)", "Hack of Moon Patrol", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "44f71e70b89dcc7cf39dfd622cfb9a27", "Tigervision, Robert H. O'Neil", "7-007", "Polaris (1983) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "45027dde2be5bdd0cab522b80632717d", "Epyx, Steven A. Baker, Tod Frye, Peter Engelbrite", "80561-00250", "Summer Games (1987) (Epyx)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "45040679d72b101189c298a864a5b5ba", "20th Century Fox Video Games - Sirius Software, David Lubar", "11022", "SpaceMaster X-7 (1983) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4543b7691914dfd69c3755a5287a95e1", "CommaVid, Irwin Gaines", "CM-005", "Mines of Minos (1982) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "456453a54ca65191781aef316343ae00", "", "", "Full Screen Bitmap (3-D Green) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4565c1a7abce773e53c75b35414adefd", "Arcadia Corporation", "", "Supercharger BIOS (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "457b03cd48ff6d895795ef043c6b0f1e", "AtariAge, Chris Spry", "CX26201", "Zippy the Porcupine (2014) (Sprybug)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "457e7d4fcd56ebc47f5925dbea3ee427", "Carrere Video - JWDA, Garry Kitchen - Teldec - Prism", "USC1001", "Space Jockey (1983) (Carrere Video) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "457f4ad2cda5f4803f122508bfbde3f5", "", "", "Canyon Bomber (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "458883f1d952cd772cf0057abca57497", "", "", "Fishing Derby (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "45a095645696a217e416e4bd2baea723", "Digivision", "", "Snoopy (Digivision)", "AKA Snoopy and the Red Baron", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "45a4f55bb9a5083d470ad479afd8bca2", "CommaVid, Joseph Biel", "", "Frog Demo (1983) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "45beef9da1a7e45f37f3f445f769a0b3", "Atari, Suki Lee", "CX2658", "Math Gran Prix (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "45c4413dd703b9cfea49a13709d560eb", "Jone Yuan Telephonic Enterprise Co", "", "Challenge of.... Nexar, The (Jone Yuan) (Hack)", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "45cb0f41774b78def53331e4c3bf3362", "Carrere Video - JWDA, Roger Booth, Sylvia Day, Todd Marshall, Robin McDaniel, Wes Trager, Henry Will IV - Teldec - Prism", "USC1007", "Octopus (1983) (Carrere Video) (PAL)", "AKA Name This Game", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4605a00f5b44a9cbd5803a7a55de150e", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (07-03-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "461029ab23800833e9645be3e472d470", "", "", "Combat TC (v0.1)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "46258bd92b1f66f4cb47864d7654f542", "Zellers", "", "Turmoil (Zellers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "463dd4770506e6c0ef993a40c52c47be", "Arcadia Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (Preview) (1982) (Arcadia)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "463e66ad98806a49106cffa49c08e2ed", "", "", "Interlace Game Demo (01-09-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "467340a18158649aa5e02a4372dcfccd", "Activision, John Van Ryzin - Ariola", "EAZ-036-04, EAZ-036-04B, EAZ-036-04I - 711 036-720", "H.E.R.O. (1984) (Activision) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4689081b7363721858756fe781cc7713", "", "", "Oystron (V2.6) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "468f2dec984f3d4114ea84f05edf82b6", "Tigervision - Teldec", "7-011 - 3.60015 VG", "Miner 2049er Volume II (1983) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4690fdb70c86604bb35da26696818667", "", "", "Euchre (Release Candidate) (NTSC) (28-09-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "469473ff6fed8cc8d65f3c334f963aab", "Atari, Bruce Poehlman, Gary Stark", "", "Dune (07-10-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "46c021a3e9e2fd00919ca3dd1a6b76d8", "Atari, Jim Huether - Sears", "CX2629 - 6-99843, 49-75118", "Sky Diver (1979) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "46c43fdcbce8fde3a91ebeafc05b7cbd", "", "", "Invaders Demo (PAL) (2001) (Eckhard Stolberg)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "46dc526773808c8b9bb2111f24e5704c", "Omegamatrix", "", "SpaceMaster X-7 (Atari Mouse) (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "46e9428848c9ea71a4d8f91ff81ac9cc", "Telegames", "", "Astroblast (1988) (Telegames) (PAL)", "Can also use left joystick", "", "", "", "", "", "", "", "", "PADDLES", "", "YES", "AUTO 55", "", "", "", "" }, - { "4702d8d9b48a332724af198aeac9e469", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (1983) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "470878b9917ea0348d64b5750af149aa", "Atari, Suki Lee - Sears", "CX2658 - 49-75128", "Math Gran Prix (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "471f7bdc933e8db0e44aa3dde2dd92af", "Omegamatrix", "", "Millipede (Atari Mouse) v6.5 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47464694e9cce07fdbfd096605bf39d4", "Activision, Dan Kitchen", "EAK-050-04", "Double Dragon (1989) (Activision) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47585c047802dd9af888b998fb921f32", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) v4 (PAL60) (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4767356fa0ed3ebe21437b4473d4ee28", "Atari, Dan Hitchens, Mimi Nyden", "CX2685", "Gravitar (04-12-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47711c44723da5d67047990157dcb5dd", "CCE", "", "Ice Hockey (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47911752bf113a2496dbb66c70c9e70c", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (1984) (Atari) (PAL)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, - { "4799a40b6e889370b7ee55c17ba65141", "Konami", "RC 100-X 02", "Pooyan (1983) (Konami)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47aad247cce2534fd70c412cb483c7e0", "Rainbow Vision - Suntek", "SS-010", "Mafia (1983) (Rainbow Vision) (PAL)", "AKA Gangster Alley", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47abfb993ff14f502f88cf988092e055", "Zellers", "", "Inca Gold (Zellers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "47aef18509051bab493589cb2619170b", "", "", "Stell-A-Sketch (Bob Colbert) (PD)", "Uses Driving, Joystick, or Amiga/Atari ST Mouse Controllers", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "47b82d47e491ac7fdb5053a88fccc832", "Atari Freak 1, Franklin Cruz", "", "Asteroid 2 (Atari Freak 1) (Hack)", "Hack of Asteroids", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "47cd61f83457a0890de381e478f5cf5f", "Imagic, Wilfredo Aguilar, Michael Becker, Rob Fulop", "720111-2A, 13205", "Fathom (1983) (Imagic) (PAL)", "AKA Scuba", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "481d20ec22e7a63e818d5ef9679d548b", "Atari", "CX26163P", "Freeway Rabbit (32 in 1) (1988) (Atari) (PAL)", "AKA Freeway", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "481f9a742052801cc5f3defb41cb638e", "Jeffry Johnston", "", "Radial Pong - Version 4 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "48287a9323a0ae6ab15e671ac2a87598", "Zellers", "", "Laser Volley (Zellers)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4834b7b28ea862227ac7e40053fb52a5", "Nukey Shay", "", "Montezuma's Revenge (Genesis) (F6_Conversion)", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "48411c9ef7e2cef1d6b2bee0e6055c27", "Telesys, Don Ruffcorn, Jack Woodman", "1003", "Fast Food (1982) (Telesys) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "484b0076816a104875e00467d431c2d2", "Atari", "CX26150", "Q-bert (1987) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4857f8bb88bb63c640d3ea5aac7f5d6d", "Atari, James Andreasen - Sears", "CX2654 - 49-75141", "Haunted House (08-12-81) (Atari) (Prototype)", "AKA Mystery Mansion, Graves' Manor, Nightmare Manor", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4868a81e1b6031ed66ecd60547e6ec85", "Eric Mooney", "", "Invaders by Erik Mooney (V2.1) (1-3-98) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "487193a7b7fe57a1bbc2f431f628bd5f", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.1 (NTSC) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4884b1297500bd1243659e43c7e7579e", "Atari - Axlon, Tod Frye", "CX26178", "Save Mary! (10-24-1991) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4892b85c248131d6a42c66a4163a40d0", "Canal 3 - Intellivision", "", "Tac-Scan (Canal 3)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "YES", "", "", "YES", "AUTO 60", "", "", "", "" }, - { "48bcf2c5a8c80f18b24c55db96845472", "Activision, John Van Ryzin - Ariola", "EAZ-036-04, EAZ-036-04B, EAZ-036-04I - 711 036-720", "H.E.R.O. (1984) (Activision) (PAL) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "48e5c4ae4f2d3b62b35a87bca18dc9f5", "Quelle", "476.774 5", "Bobby geht nach Hause (1983) (Quelle) (PAL)", "AKA Bobby Is Going Home", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "48f18d69799a5f5451a5f0d17876acef", "ZiMAG - Emag - Vidco", "GN-070", "Mysterious Thief, A (1983) (ZiMAG) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4901c05068512828367fde3fb22199fe", "Imagic, Rob Fulop", "720101-2B, IA3200P, EIX-006-04I", "Demon Attack (1982) (Imagic) (PAL)", "AKA Death from Above", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4904a2550759b9b4570e886374f9d092", "Parker Brothers, Charlie Heath", "931506", "Reactor (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "490e3cc59d82f85fae817cdf767ea7a0", "", "", "Berzerk (Unknown) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "490eed07d4691b27f473953fbea6541a", "Activision, Steve Cartwright, David Crane", "AB-035-04", "Pitfall II (1983) (Activision) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "493daaf9fb1ba450eba6b8ed53ffb37d", "", "", "3-D Corridor Demo (27-03-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "493de059b32f84ab29cde6213964aeee", "Atari, Bill Aspromonte, Andrew Fuchs", "CX26120", "Stargate (1984) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "493e90602a4434b117c91c95e73828d1", "Telegames", "", "Lock 'n' Chase (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4947c9de2e28b2f5f3b0c40ce7e56d93", "", "", "3-D Corridor Demo 2 (29-03-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "494cda91cc640551b4898c82be058dd9", "Andreas Dietrich", "", "Donkey Kong VCS (2017) (1.0) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "49571b26f46620a85f93448359324c28", "", "", "Save Our Ship (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "497c811026367c08fd838c9c59e5041d", "Omegamatrix", "", "SpaceMaster X-7 (Atari Trak-Ball) (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "497f3d2970c43e5224be99f75e97cbbb", "CommaVid, John Bronstein", "CM-002", "Video Life (1984) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4981cefe5493ea512284e7f9f27d1e54", "Home Vision - Gem International Corp. - VDI", "VCS83136", "Cosmic War (1983) (Home Vision) (PAL)", "AKA Space Tunnel", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4999b45be0ab5a85bac1b7c0e551542b", "CCE", "", "Double Dragon (CCE) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "499b612f6544ae71d4915aa63e403e10", "Atari, Carol Shaw", "CX26163P", "Checkers (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "49f2cef5269fd06218be9f9474c74f8d", "Rentacom", "", "Time Pilot (Rentacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4a196713a21ef07a3f74cf51784c6b12", "Jone Yuan Telephonic Enterprise Co", "", "Frogs and Flies (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4a2fe6f0f6317f006fd6d4b34515448b", "", "", "Warring Worms (Midwest Classic Edition) (08-06-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4a45c6d75b1ba131f94a9c13194d8e46", "", "", "How to Draw a Playfield II (Joystick Hack) (1997) (Eric Bacher) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4a5fddf89801336637ac8e57a7c9a881", "Amiga", "1125", "Power Play Arcade Video Game Album IV (1984) (Amiga) (Prototype)", "Atlantis, Cosmic Ark, Dragonfire", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4a6be79310f86f0bebc7dfcba4d74161", "", "", "Demolition Herby (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4a7eee19c2dfb6aeb4d9d0a01d37e127", "Hozer Video Games", "", "Crazy Valet (Hozer Video Games)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4a8c743396b8ad69d97e6fd3dd3e3132", "Arcadia Corporation", "", "Supercharger BIOS (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4a9009620038f7f30aaeb2a00ae58fde", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (3 of 3) (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4ab2ebd95a8f861ea451abebdad914a5", "Nukey Shay, Thomas Jentzsch", "PAL conversion (F6)", "Montezuma's Revenge (PAL) (Genesis)", "Genesis controller (B jumps left, C jumps right)", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4ab4af3adcdae8cdacc3d06084fc8d6a", "Nick Bensema", "", "Sucky Zepplin (Nick Bensema) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4abb4c87a4c5f5d0c14ead2bb36251be", "Atari - Imagineering, Alex DeMeo", "CX26135, CX26135P", "RealSports Boxing (1987) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4ac9f40ddfcf194bd8732a75b3f2f214", "Atari - CCW, Stephan R. Keith, Laura Scholl, Preston Stuart", "CX26106", "Grover's Music Maker (12-29-1982) (Atari) (Prototype)", "Uses Keypad Controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4ae8c76cd6f24a2e181ae874d4d2aa3d", "", "", "Flash Gordon (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4af4103759d603c82b1c9c5acd2d8faf", "Imagic, Bob Smith", "720114-2A, 13207, EIZ-001-04I", "Moonsweeper (1983) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4afa7f377eae1cafb4265c68f73f2718", "Ed Fries", "", "Halo 2600 (2010) (Ed Fries)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4afe528a082f0d008e7319ebd481248d", "", "", "Multi-Color Demo 1 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b143d7dcf6c96796c37090cba045f4f", "Atari, Jim Huether - Sears", "CX2644 - 6-99824", "Flag Capture (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b205ef73a5779acc5759bde3f6d33ed", "", "", "Berzerk (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b27f5397c442d25f0c418ccdacf1926", "Atari, Warren Robinett", "CX2613, 49-75154", "Adventure (1980) (Atari) (PAL)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b379b885e2694f992c6cc932f18327f", "Omegamatrix", "", "SpaceMaster X-7 (Atari Mouse) (PAL60) (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b71197153d651480830638cb6a03249", "Atari, Larry Kaplan", "CX26163P", "Bowling (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b753a97aee91e4b3e4e02f5e9758c72", "Glenn Saunders, Roger Williams", "", "Asymmetric Reflected Playfield (Glenn Saunders)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4b94fd272785d7ec6c95fb7279d0f522", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (12-03-1982) (Atari) (Prototype)", "Uses the Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, - { "4b9581c3100a1ef05eac1535d25385aa", "", "", "IQ 180 (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4baada22435320d185c95b7dd2bcdb24", "Atari, Jerome Domurat, Dave Staugas", "CX2682", "Krull (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4bcc7f6ba501a26ee785b7efbfb0fdc8", "Atari, Andrew Fuchs, Courtney Granner, Jeffrey Gusman, Mark R. Hahn", "CX2690", "Pengo (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4bdae9246d6ee258c26665512c1c8de3", "Atari", "CX26163P", "Human Cannonball (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4bdf54a454470ba015a217a8f5e61320", "Omegamatrix", "", "Millipede (Amiga Mouse) v6.5 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, - { "4c030667d07d1438f0e5c458a90978d8", "Retroactive", "", "Qb (V2.03) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4c0fb2544ae0f8b5f7ae8bce7bd7f134", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix (Preview) (1983) (Arcadia)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c205f166157154df2f1ef60d87e552f", "", "", "Single-Scanline Positioning Demo 2 (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c39a2c97917d3d71739b3e21f60bba5", "", "", "Whale (Sub Scan Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c462b2b6fb0a19a1437eb2c3dc20783", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (1 of 3) (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c4ce802cbfd160f7b3ec0f13f2a29df", "", "", "Beta Demo (V1.1) (26-09-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c606235f4ec5d2a4b89139093a69437", "Andrew Davies", "", "Andrew Davies early notBoulderDash demo (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4c6afb8a44adf8e28f49164c84144bfe", "CCE", "C-806", "Mission 3,000 A.D. (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c8832ed387bbafc055320c05205bc08", "Atari, Joe Decuir, Steve Mayer, Larry Wagner - Sears", "CX2601 - 99801, 6-99801, 49-75124", "Combat (1977) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c8970f6c294a0a54c9c45e5e8445f93", "Xonox - K-Tel Software - Product Guild, Anthony R. Henderson", "99006, 6220", "Sir Lancelot (1983) (Xonox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4c9307de724c36fd487af6c99ca078f2", "Imagic, Brad Stewart", "720106-1A, IA3409", "Sky Patrol (1982) (Imagic) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4ca0959f846d2beada18ecf29efe137e", "Atari, Jim Huether, Alan J. Murphy, Robert C. Polaro", "CX2666, CX2666P", "RealSports Volleyball (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4ca73eb959299471788f0b685c3ba0b5", "Activision, Steve Cartwright", "AX-031", "Frostbite (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4ca90ba45eced6f5ad560ea8938641b2", "", "", "Hangman Man Wordlist (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4cabc895ea546022c2ecaa5129036634", "Funvision - Fund. International Co.", "", "Ocean City (Funvision)", "AKA Atlantis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4cd796b5911ed3f1062e805a3df33d98", "Tigervision - Software Electronics Corporation - Teldec", "7-006", "Springer (1983) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d06f72cc3d8934579c11ff8f375c260", "Bit Corporation", "R320", "Bowling (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d0a28443f7df5f883cf669894164cfa", "", "", "Beast Invaders (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d2cef8f19cafeec72d142e34a1bbc03", "HES", "771-422", "2 Pak Special - Star Warrior, Frogger (1990) (HES) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d38e1105c3a5f0b3119a805f261fcb5", "Bit Corporation", "PGP212", "Phantom UFO (4 Game in One Light Green) (1983) (BitCorp) (PAL)", "AKA Spider Fighter", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d502d6fb5b992ee0591569144128f99", "Atari - Axlon, Tod Frye", "CX26178", "Save Mary! (11-21-1989) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d5f6db55f7f44fd0253258e810bde21", "Fabrizio Zavagli", "", "Betterblast (Fabrizio Zavagli) (Hack)", "Hack of Astroblast", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d7517ae69f95cfbc053be01312b7dba", "Atari, Alan Miller - Sears", "CX2641 - 99807, 49-75105", "Surround (1977) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d77f291dca1518d7d8e47838695f54b", "Data Age", "DA1004", "Airlock (1982) (Data Age)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4d8396deeabb40b5e8578276eb5a8b6d", "Otto Versand", "781698", "Volleyball (1983) (Otto Versand) (PAL)", "AKA RealSports Volleyball (Double-Game Package)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4dbd7e8b30e715efc8d71d215aec7fe7", "Bit Corporation", "R320", "Air Raiders (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4dbf47c7f5ac767a3b07843a530d29a5", "Ric Pryor", "", "Breaking News (2002) (Ric Pryor) (Hack)", "Hack of Bump 'n' Jump", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4dcc7e7c2ec0738e26c817b9383091af", "", "", "Unknown Title (bin00026 (200110)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4dd6c7ab9ef77f2b4950d8fc7cd42ee1", "Retroactive", "", "Qb (V2.04) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4df6124093ccb4f0b6c26a719f4b7706", "Atari, Brad Stewart - Sears", "CX2622 - 6-99813, 49-75107", "Breakout (1978) (Atari) [a]", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 60", "", "", "", "" }, - { "4df9d7352a56a458abb7961bf10aba4e", "", "", "Racing Car (Unknown)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "4e01d9072c500331e65bb87c24020d3f", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26119", "Saboteur (06-15-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4e02880beeb8dbd4da724a3f33f0971f", "Imagic, Michael Greene", "EIZ-002-04I", "Wing War (1983) (Imagic) (PAL)", "AKA Flap!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4e15ddfd48bca4f0bf999240c47b49f5", "Avalon Hill, Jean Baer, Jim Jacob", "5001002", "Death Trap (1983) (Avalon Hill)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4e2c884d04b57b43f23a5a2f4e9d9750", "", "", "Baby Center Animation (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4e37992a37ea36489283f7eb90913bbc", "Kris", "", "Hangman Ghost Halloween (Kris) (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4e4895c3381aa4220f8c2795d6338237", "", "", "Backwards Cannonball v1 (Hack)", "Hack of Human Cannonball", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4e66c8e7c670532569c70d205f615dad", "Atari - GCC", "CX2680, CX2680P", "RealSports Tennis (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4e86866d9cde738d1630e2e35d7288ce", "Supergame", "", "River Raid III (Supergame)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4e99ebd65a967cabf350db54405d577c", "Coleco", "2663", "Time Pilot (1983) (Coleco) [b1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4eb4fd544805babafc375dcdb8c2a597", "Inspirational Video Concepts, Steve Shustack", "321430", "Red Sea Crossing (1983) (Inspirational Video Concepts)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4edb251f5f287c22efc64b3a2d095504", "Atari", "", "Atari VCS Point-of-Purchase ROM (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4f0071946e80ca68edfdccbac86dcce0", "", "", "Virtual Pet Demo 1 (CRACKERS) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4f2d47792a06da224ba996c489a87939", "HES - Activision", "223", "Super Action Pak - Pitfall, Barnstorming, Grand Prix, Laser Blast (1988) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4f32b24869d8c1310fecf039c6424db6", "U.S. Games Corporation - JWDA, Todd Marshall", "", "3-D Zapper (12-15-82) (U.S. Games) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4f618c2429138e0280969193ed6c107e", "Activision, Alan Miller", "AZ-028, AG-028-04", "Robot Tank (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4f634893d54e9cabe106e0ec0b7bdcdf", "Retroactive", "", "Qb (2.14) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4f64d6d0694d9b7a1ed7b0cb0b83e759", "20th Century Fox Video Games, John Russell", "11016", "Revenge of the Beefsteak Tomatoes (1983) (20th Century Fox)", "AKA Revenge of the Cherry Tomatoes", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4f6702c3ba6e0ee2e2868d054b00c064", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen - Ariola", "EAZ-033 - 711 033-725", "Space Shuttle (1983) (Activision) (PAL)", "A Journey Into Space, Eine Reise ins All", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4f781f0476493c50dc578336f1132a67", "", "", "Indy 500 (Unknown) (PAL) (4K)", "Uses Driving Controllers", "", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "45", "", "", "", "" }, - { "4f7b07ec2bef5ccffe06403a142f80db", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2003", "Racquetball (1982) (Apollo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4f82d8d78099dd71e8e169646e799d05", "", "", "Miniature Golf (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4f89b897444e7c3b36aed469b8836839", "Atari", "CX26190", "BMX Air Master (1989) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4fae08027365d31c558e400b687adf21", "", "", "Qb (V2.17) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "4faeb04b1b7fb0fa25db05753182a898", "", "", "2600 Digital Clock (V x.xx) (PD) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4fbe0f10a6327a76f83f83958c3cbeff", "CCE", "C-816", "Keystone Kappers (1983) (CCE)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "4fc1b85b8074b4b9436d097900e34f29", "John K. Harvey", "", "John K. Harvey's Equalizer (John K. Harvey)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "50200f697aeef38a3ce31c4f49739551", "Mystique - American Multiple Industries, Joel H. Martin", "", "Custer's Revenge (1982) (Mystique) (PAL60)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "502044b1ac111b394e6fbb0d821fca41", "", "", "Hangman Invader 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "502168660bfd9c1d2649d415dc89c69d", "Activision, Bob Whitehead - Ariola", "EAG-019, EAG-019-04I - 711 019-715", "Sky Jinks (1982) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "504688d49a41bf03d8a955512609f3f2", "Thomas Jentzsch", "", "SWOOPS! (v0.94) (TJ)", "Uses the Joystick (L) and Paddle (R) Controllers", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "50568c80ac61cab789d9923c9b05b68e", "Ebivision", "", "Merlin's Walls - Standard Edition (1999) (Ebivision)", "Image rotated 90 degrees CW", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5069fecbe4706371f17737b0357cfa68", "Apollo - Games by Apollo, Steve Stringfellow", "AP-2005", "Shark Attack (1982) (Apollo) (PAL)", "AKA Lochjaw", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5079bfbc7b8f5770f84215ed2e3bdd1b", "Omegamatrix (2012)", "", "Genesis Button Tester", "", "Homebrew", "", "", "", "", "", "", "", "GENESIS", "GENESIS", "", "", "", "", "", "" }, - { "50a410a5ded0fc9aa6576be45a04f215", "Activision, Bob Whitehead - Ariola", "EAG-019, EAG-019-04I - 711 019-715", "Sky Jinks (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "50c7edc9f9dc0369abcdab3b4efeb5e9", "U.S. Games Corporation - JWDA, Todd Marshall", "", "3-D Zapper (U.S. Games) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "50ef88f9a5e0e1e6b86e175362a27fdb", "", "", "Multi-Sprite Game V2.4 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "512e874a240731d7378586a05f28aec6", "Tigervision, Rorke Weigandt - Teldec", "7-005", "Marauder (1982) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5131ab3797fe8c127e3e135b18b4d2c8", "Activision, David Crane", "AG-004", "Fishing Derby (1980) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "514f911ecff2be5eeff2f39c49a9725c", "Parker Brothers", "931510", "Sky Skipper (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "515046e3061b7b18aa3a551c3ae12673", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "516ffd008057a1d78d007c851e6eff37", "Parker Brothers, Dawn Stockbridge", "PB5910", "Strawberry Shortcake - Musical Match-Ups (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "517592e6e0c71731019c0cebc2ce044f", "Parker Brothers - JWDA, Todd Marshall", "PB5550", "Q-bert's Qubes (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "517923e655755086a3b72c0b17b430e6", "Tron", "", "Super Tennis (Tron)", "AKA RealSports Tennis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5188fee071d3c5ef0d66fb45c123e4a5", "Gameworld", "133-001", "Encounter at L-5 (1983) (Gameworld) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "AUTO 50", "", "", "", "" }, - { "519f007c0e14fb90208dbb5199dfb604", "Amiga - Video Soft", "", "Depth Charge (1983) (Amiga) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "51c1ddc9d6d597f71fb7efb56012abec", "Bit Corporation", "R320", "Lock 'n' Chase (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "51de328e79d919d7234cf19c1cd77fbc", "Atari, Mark R. Hahn", "CX2678", "Dukes of Hazzard (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "51e390424f20e468d2b480030ce95d7b", "Video Game Program", "", "Fire Bird (Video Game Program) (PAL)", "AKA Phoenix", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "51f15b39d9f502c2361b6ba6a73464d4", "", "", "Amanda Invaders (PD) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "51f211c8fc879391fee26edfa7d3f11c", "Activision, Bob Whitehead", "AX-015, AX-015-04", "Chopper Command (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "521f4dd1eb84a09b2b19959a41839aad", "Bit Corporation", "PG206", "Bobby Is Going Home (1983) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "522b27a8afeb951b5a5a667f8d1a46a1", "Omegamatrix", "", "Millipede (Amiga Mouse) v6.5 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "522c9cf684ecd72db2f85053e6f6f720", "Rainbow Vision - Suntek", "SS-008", "Year 1999, The (1983) (Rainbow Vision) (PAL)", "AKA Condor Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "52385334ac9e9b713e13ffa4cc5cb940", "CCE", "C-804", "Open, Sesame! (1983) (CCE)", "AKA Abre-te, Sesamo!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "523f5cbb992f121e2d100f0f9965e33f", "Joe Grand", "", "SCSIcide (1.30) (CGE 2001 Release) (Joe Grand)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "AUTO 65", "", "", "", "" }, - { "524693b337f7ecc9e8b9126e04a232af", "", "", "Euchre (19-08-2001) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5256f68d1491986aae5cfdff539bfeb5", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (07-26-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "525ea747d746f3e80e3027720e1fa7ac", "Activision, Garry Kitchen - Ariola", "EAZ-032 - 771 032-712", "Pressure Cooker (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "525f2dfc8b21b0186cff2568e0509bfc", "Activision, David Crane", "AG-930-04, AZ-030", "Decathlon (1983) (Activision) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "52615ae358a68de6e76467e95eb404c7", "", "", "DJdsl-wopd (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "528400fad9a77fd5ad7fc5fdc2b7d69d", "Starpath Corporation, Stephen H. Landrum, Jon Leupp", "11 AR-4201", "Sword of Saros (1983) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "52a0003efb3b1c49fcde4dbc2c685d8f", "Atari, Alan Miller - Sears", "CX2641 - 99807, 49-75105", "Surround (1977) (Atari) (4K) [a]", "", "", "", "", "2K", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "52b448757081fd9fabf859f4e2f91f6b", "", "", "Worm War I (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "52bae1726d2d7a531c9ca81e25377fc3", "", "", "Space Instigators (V1.8 Fixed) (20-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "52e1954dc01454c03a336b30c390fb8d", "Retroactive", "", "Qb (2.14) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "52e9db3fe8b5d336843acac234aaea79", "", "", "Fu Kung! (V0.11) (28-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5305f69fbf772fac4760cdcf87f1ab1f", "Jone Yuan Telephonic Enterprise Co", "", "Ski Run (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5324cf5b6dc17af4c64bf8696c39c2c1", "Imagic, Dennis Koble", "IA3203, IX-010-04", "Atlantis (1982) (Imagic) (8K)", "AKA Lost City of Atlantis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "533661e9bccd8a9f80ce3765f282c92f", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) (Y Inverted) v4 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5336f86f6b982cc925532f2e80aa1e17", "Parker Brothers - JWDA, Todd Marshall, Robin McDaniel, Ray Miller", "PB5060", "Star Wars - Death Star Battle (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "534e23210dd1993c828d944c6ac4d9fb", "M Network, Stephen Tatsumi, Jane Terjung - Kool Aid", "MT4648", "Kool-Aid Man (1983) (M Network)", "AKA Kool Aid Pitcher Man", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5355f80cacf0e63a49cbf4ade4e27034", "Christian Samuel", "", "Cute Dead Things House (Christian Samuel) (Hack)", "Hack of Haunted House", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5360693f1eb90856176bd1c0a7b17432", "", "", "Oystron (V2.85) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "536bf56baa70acb17113884ac41f2820", "Atari, Omegamatrix", "", "Video Olympics Menu (2020) (PAL) (Hack)", "Hack of Video Olympics", "", "", "", "", "", "", "", "", "", "", "YES", "AUTO 60", "", "", "", "" }, - { "537ed1e0d80e6c9f752b33ea7acbe079", "", "", "A-VCS-tec Challenge (beta 5) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5385cf2a04de1d36ab55c73174b84db0", "Paul Slocum", "", "Combat Rock (PD) (Hack)", "Hack of Combat", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "539d26b6e9df0da8e7465f0f5ad863b7", "Atari, Carol Shaw - Sears", "CX2636 - 49-75156", "Video Checkers (1980) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "539f3c42c4e15f450ed93cb96ce93af5", "Dion Olsthoorn", "v1.3", "Amoeba Jump (2018) (Dionoid)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "53b66f11f67c3b53b2995e0e02017bd7", "CCE", "C-1005", "Super Tennis (1983) (CCE)", "AKA RealSports Tennis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "53bd1c7c972ae634c912331a9276c6e3", "Atari, Nick 'Sandy Maiwald' Turner", "CX2665", "Frog Pond (1982) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "53d181cde2e0219b5754caad246fcb66", "", "", "Missile Demo (1998) (Ruffin Bailey) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "53e03df47e76329b701641f8bdc206f5", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "53f147b9746fdc997c62f3dd67888ee5", "Activision, Bob Whitehead", "AG-011", "Stampede (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "540075f657d4b244a1f74da1b9e4bf92", "Bit Corporation", "PGP230", "Festival (4 Game in One Dark Green) (1983) (BitCorp) (PAL)", "AKA Carnival", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5409d20c1aea0b89c56993aec5dc5740", "", "", "Carnival Shooter (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "541cac55ebcf7891d9d51c415922303f", "SpiceWare - Darrell Spice Jr.", "SW-05", "Stay Frosty 2", "AtariAge Holiday Greetings 2014", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, - { "5428cdfada281c569c74c7308c7f2c26", "Activision, Larry Kaplan, David Crane", "AG-010, AG-010-04", "Kaboom! (1981) (Activision)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "542c6dd5f7280179b51917a4cba4faff", "ZiMAG - Emag - Vidco", "GN-080", "Spinning Fireball (1983) (ZiMAG) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5438e84b90e50a5362f01cc843b358d4", "Arcadia Corporation, Scott Nelson", "3 AR-4300", "Fireball (1982) (Arcadia) (Prototype)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "543b4b8ff1d616fa250c648be428a75c", "Warren Robinett", "", "Adventure (1978) (Warren Robinett) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "545048ccb045f9efc6cf2b125cd0dfa8", "Arcadia Corporation, Stephen Harland Landrum, Jon Leupp", "AR-4201", "Sword of Saros (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "54785fa29e28aae6038929ba29d33d38", "", "", "Poker Squares (V0.19) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "54836a8f23913e9a77c7f2665baf36ac", "Bit Corporation", "PG204", "Open, Sesame! (1982) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5494b9ee403d9757f0fd1f749e80214a", "Larry Petit", "", "Xenophobe Arcade (2003) (Larry Petit) (Hack)", "Hack of Xenophobe", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "54a1c1255ed45eb8f71414dadb1cf669", "Spectravideo", "SA-212", "Mangia' (1983) (Spectravideo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "54bafc299423f5a50b8bc3a797914706", "SOLID Corp. (D. Scott Williamson)", "CX2655*", "Star Castle 2600 (SolidCorp) (PAL)", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "54da3b0b3f43f5b37911c135b9432b49", "", "", "Halloween III Revision (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "54f7efa6428f14b9f610ad0ca757e26c", "Apollo - Games by Apollo, Steve Stringfellow", "AP-2005", "Shark Attack (1982) (Apollo)", "AKA Lochjaw", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "551a64a945d7d6ece81e9c1047acedbc", "Matthias Jaap", "", "Coffee Cup Soccer (Matthias Jaap) (Hack)", "Hack of Pele's Soccer", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5524718a19107a04ec3265c93136a7b5", "Thomas Jentzsch", "", "RealSports Basketball (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "553dbf9358cfd2195e2fa0e08b01fb6a", "Atari - GCC, Mike Feinstein, Kevin Osborn", "CX2691", "Joust (07-05-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "554fd5775ca6d544818c96825032cf0d", "Atari - Roklan, Bob Curtiss", "", "Firefox (06-01-83) (Atari) (Prototype)", "AKA Combat II, Fighter Command", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "557e893616648c37a27aab5a47acbf10", "Atari - Axlon, Tod Frye - Heuristica, Augustin Ortiz", "CX26169", "Shooting Arcade (01-16-1990) (Atari) (Prototype) (PAL)", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "559317712f989f097ea464517f1a8318", "Panda", "100", "Space Canyon (1983) (Panda)", "AKA Space Cavern", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "55949cb7884f9db0f8dfcf8707c7e5cb", "Atari, Ed Logg, Carol Shaw - Sears", "CX2639 - 49-75162", "Othello (1981) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "55ace3c775f42eb46f08bb1dca9114e7", "", "", "Shadow Keep (04-03-2003) (Andrew Towers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "55ef6ab2321ca0c3d369e63d59c059c8", "", "", "Pitfall! (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "55ef7b65066428367844342ed59f956c", "Atari - Roklan, Joe Gaucher, Alex Leavens", "CX2683", "Crazy Climber (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "56210a3b9ea6d5dd8f417a357ed8ca92", "Probe 2000 - NAP, Roger Booth, Todd Marshall, Robin McDaniel, Jim Wickstead", "3152VC", "Pursuit of the Pink Panther (Probe) (Prototype) [bad dump]", "AKA Adventures of the Pink Panther", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "56300ed31fef018bd96768ccc982f7b4", "HES - Activision", "559", "Rad Action Pak - Kung-Fu Master, Freeway, Frostbite (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5641c0ff707630d2dd829b26a9f2e98f", "Joystik", "", "Motocross (Joystik)", "AKA Motocross Racer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5643ee916f7dc760148fca4db3aa7d10", "", "", "Moon Patrol (Genesis)", "Genesis controller (C is jump)", "Hack of Moon Patrol", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5678ebaa09ca3b699516dba4671643ed", "Coleco, Sylvia Day, Henry Will IV", "2459", "Mouse Trap (1982) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "568371fbae6f5e5b936af80031cd8888", "", "", "Robotfindskitten2600 (26-04-2003) (Jeremy Penner)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "56f72247eb9ebfd33bfd0cca23ab7ef4", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) v4 (PAL60) (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "571c6d9bc71cb97617422851f787f8fe", "Activision, David Crane - Ariola", "EAG-004, PAG-004 - 711 004-715", "Fishing Derby (1980) (Activision) (PAL)", "AKA Schneller als der Hai", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "572d0a4633d6a9407d3ba83083536e0f", "Funvision - Fund. International Co.", "", "Busy Police (Funvision)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "575c0fb61e66a31d982c95c9dea6865c", "", "", "Blackjack (Unknown) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "" }, - { "57939b326df86b74ca6404f64f89fce9", "Atari, Sam Comstock, Richard Dobbis, Nick 'Sandy Maiwald' Turner", "CX26111", "Snoopy and the Red Baron (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "579baa6a4aa44f035d245908ea7a044d", "Jess Ragan", "", "Galaxian Enhanced Graphics (Jess Ragan) (Hack)", "Hack of Galaxian", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "57a66b6db7efc5df17b0b0f2f2c2f078", "Retroactive", "", "Qb (V2.08) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "57c5b351d4de021785cf8ed8191a195c", "Atari - CCW, Gary Stark", "CX26102", "Cookie Monster Munch (1983) (Atari)", "Uses Kids/Keypad Controllers", "", "", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "" }, - { "5835a78a88f97acea38c964980b7dbc6", "", "", "Cosmic Creeps (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "5846b1d34c296bf7afc2fa05bbc16e98", "Atari - Sears", "CX2643 - 6-99815", "Codebreaker (1978) (Atari)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "58513bae774360b96866a07ca0e8fd8e", "Mystique - American Multiple Industries, Joel H. Martin", "1001", "Custer's Revenge (1982) (Mystique)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "585600522b1f22f617652c962e358a5d", "", "", "Multi-Sprite Game V2.2 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "585f73010e205ae5b04ee5c1a67e632d", "", "", "Daredevil (V3) (Stunt_Cycle_Rules!) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5864cab0bc21a60be3853b6bcd50c59f", "", "", "Commando Raid (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "58746219d8094edff869f0f5c2aeaad5", "Jone Yuan Telephonic Enterprise Co", "", "Bowling (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5894c9c0c1e7e29f3ab86c6d3f673361", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "AZ-033, AZ-033-04", "Space Shuttle (1983) (Activision)", "A Journey Into Space", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "589c73bbcd77db798cb92a992b4c06c3", "Xonox - K-Tel Software - Action Graphics, Michael Schwartz, David Thiel", "6230, 7210, 06004, 99004", "Artillery Duel (1983) (Xonox) (PAL60)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "58a82e1da64a692fd727c25faef2ecc9", "CCE", "C-824", "Jaw Breaker (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "58c396323ea3e85671e34c98eb54e2a4", "Brian Watson", "", "Color Tweaker (B. Watson)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "58d331c23297ed98663d11b869636f16", "", "", "Fu Kung! (V0.09) (26-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "58e313e2b5613b2439b5f12bb41e3eef", "", "", "Cube Conquest (Demo Interlace) (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "590ac71fa5f71d3eb29c41023b09ade9", "Atari - GCC, Mark Ackerman, Tom Calderwood, Glenn Parker", "CX2684", "Galaxian (01-05-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "59135f13985b84c4f13cc9e55eec869a", "", "", "Multi-Sprite Game V2.0 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "594437a35603c3e857b5af75b9718b61", "HES - Activision", "", "Robot Tank (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "594dbc80b93fa5804e0f1368c037331d", "Telesys, Alex Leavens", "", "Bouncin' Baby Bunnies (1983) (Telesys) (Prototype)", "AKA Baby Boom Boom, Bouncing Baby Monkeys", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5961d259115e99c30b64fe7058256bcf", "Universal Gamex Corporation, Miguel Castillo, H.K. Poon", "GX-001", "X-Man (1983) (Universal)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "59734e1cc41822373845a09c51e6ba21", "Activision, John Van Ryzin", "AG-038-04", "Cosmic Commuter (1984) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "598a4e6e12f8238b7e7555f5a7777b46", "Tigervision", "7-008", "Miner 2049er (1983) (Tigervision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "599cbf919d47a05af975ad447df29497", "Jake Patterson", "", "Baubles (V0.002) (2001) (Jake Patterson) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "59b70658f9dd0e2075770b07be1a35cf", "Thomas Jentzsch", "", "Surfer's Paradise (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "59d33e00c07665395209c1e55da0b139", "", "", "Imagic Selector ROM (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "59e53894b3899ee164c91cfa7842da66", "Data Age", "", "Survival Run (1983) (Data Age) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "59e96de9628e8373d1c685f5e57dcf10", "PlayAround - J.H.M.", "204", "Beat 'Em & Eat 'Em (1982) (PlayAround)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, - { "59f596285d174233c84597dee6f34f1f", "CCE", "C-811", "River Raid (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a0ff99ba10bd26d542e1d6f59f56850", "Champ Games", "CG-04-P", "Super Cobra Arcade (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, - { "5a17e30e6e911e74ccd7b716d02b16c6", "Activision, Dan Kitchen", "AX-029", "Crackpots (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a272012a62becabcd52920348c7c60b", "Star Game", "", "Pitfall (Star Game)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a2f2dcd775207536d9299e768bcd2df", "Otto Versand", "781698", "Flippern (Double-Game Package) (1983) (Otto Versand) (PAL)", "AKA Video Pinball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a4205aeedd3b0588f973f38bbd9dfd4", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a5390f91437af9951a5f8455b61cd43", "Retroactive", "", "Qb (0.11) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "5a6febb9554483d8c71c86a84a0aa74e", "CCE", "C-1003", "Donkey Kong Jr (1983) (CCE)", "AKA Donkey Kong Junior", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a734779d797ccef25dc8acfa47244c7", "", "", "Oh No! (Version 2) (18-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a80b857eb8b908ab477ec4ef902edc8", "Activision, Bob Whitehead", "AG-002, CAG-002, AG-002-04", "Boxing (1980) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a81ad4e184050851e63c8e16e3dac77", "Jone Yuan Telephonic Enterprise Co", "Hack", "Sky Diver (Jone Yuan) (Hack)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a8afe5422abbfb0a342fb15afd7415f", "Atari - Bobco, Robert C. Polaro", "CX26155", "Sprint Master (1988) (Atari)", "AKA Sprint 88, Sprint 2000", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a93265095146458df2baf2162014889", "Activision, Steve Cartwright - Ariola", "EAX-031, EAX-031-04B - 711 031-717", "Frostbite (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5a9685c4d51a6c1d6a9544946d9e8dc3", "AtariAge", "", "Grandma's Revenge (AtariAge)", "Can use Driving Controller in right port", "", "", "", "", "", "", "", "", "", "DRIVING", "", "", "", "", "", "" }, - { "5a9d188245aff829efde816fcade0b16", "CCE", "C-808", "Phantom Tank (1983) (CCE) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5acf9865a72c0ce944979f76ff9610f0", "", "", "Dodge Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5ae73916fa1da8d38ceff674fa25a78a", "CCE", "", "Barnstorming (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5aea9974b975a6a844e6df10d2b861c4", "Atari, Dan Hitchens. Mimi Nyden", "CX2656", "SwordQuest - EarthWorld (1982) (Atari)", "AKA Adventure I, SwordQuest I - EarthWorld", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5af9cd346266a1f2515e1fbc86f5186a", "SEGA", "002-01", "Sub-Scan (1983) (SEGA)", "AKA Subterfuge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5b124850de9eea66781a50b2e9837000", "PlayAround - J.H.M.", "205", "Bachelor Party (1982) (PlayAround)", "Uses the paddle controllers", "Extremely Rare", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "AUTO 65", "", "", "YES", "" }, - { "5b574faa56836da0866ba32ae32547f2", "", "", "Tomb Raider 2600 [REV 03] (Montezuma's Revenge Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5b5d04887922b430de0b7b2a21f9cd25", "", "", "Omega Race (Genesis)", "Genesis controller (B is thrust, C is fire)", "Hack of Omega Race", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5b6f5bcbbde42fc77d0bdb3146693565", "", "", "Seaquest (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5b7ea6aa6b35dc947c65ce665fde624b", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (2 of 3) (1982) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5b85e987e2b1618769d97ba9182333d0", "Atari - GCC, Mike Feinstein, Brad Rice", "CX2681", "Battlezone (05-12-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5b92a93b23523ff16e2789b820e2a4c5", "Activision - Imagineering, Dan Kitchen, Garry Kitchen", "AG-039-04", "Kung-Fu Master (1987) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5b98e0536c3f60547dd708ae22adb04b", "Ben Hudman", "", "Donkey Kong Gingerbread Man (Ben Hudman) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5b9c2e0012fbfd29efd3306359bbfc4a", "HES", "", "2 Pak Special - Hoppy, Alien Force (1992) (HES) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5babe0cad3ec99d76b0aa1d36a695d2f", "Coleco - Individeo, Ed Temple", "2654", "Looping (1983) (Coleco) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5bba254e18257e578c245ed96f6b003b", "", "", "Music Effects Demo (21-01-2003) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "5bbab3f3e4b47e3e23f9820765dbb45c", "", "", "Pitfall! (says 1985) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5bbb75b49b2bccef9c91ff84bb249c80", "Thomas Jentzsch", "", "Missile Control - Atari Trak-Ball Hack v1.15 (NTSC) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5bc9998b7e9a970e31d2cb60e8696cc4", "Jack Kortkamp", "", "Borgwars Asteroids (2003) (Jack Kortkamp) (Hack)", "Hack of Asteroids", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "5bcc83677d68f7ef74c1b4a0697ba2a8", "Activision, Alan Miller", "AX-012, CAX-012, AX-012-04", "Ice Hockey (1981) (Activision) (16K)", "", "", "", "", "4K", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5bd79139a0c03b63f6f2cf00a7d385d2", "Marc de Smet", "", "An Exercise In Minimalism (V1) (1999) (Marc de Smet) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5be03a1fe7b2c114725150be04b38704", "Atari, Alan Miller", "CX2642", "Hunt & Score (1978) (Atari) (PAL)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5c0227ad63300670a647fcebf595ea37", "Josh", "", "Battle for Naboo (Josh) (Hack)", "Hack of Atlantis", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5c0520c00163915a4336e481ca4e7ef4", "Rainbow Vision - Suntek", "SS-004", "Pyramid War (1983) (Rainbow Vision) (PAL) [a1]", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5c19f6da638c4c7c1f98d09e63df43e4", "Canal 3 - Intellivision", "", "Cosmic Ark (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5c1b1aa78b7609d43c5144c3b3b60adf", "", "", "Demo Image Series #8 - Two Marios (Different Interlacing) (27-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5c3a6d27c026f59a96b7af91e8b1bf26", "PlayAround - J.H.M.", "", "PlayAround Demo (PlayAround) (1982)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5c618a50dfa23daac97ba459b9ff5206", "Steve Engelhardt", "", "Berzerk Renegade (2002) (Steve Engelhardt) (Hack)", "Hack of Room of Doom", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "5c73693a89b06e5a09f1721a13176f95", "", "", "Wavy Line Test 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5c86e938e0845b9d61f458539e9a552b", "Atari, Alan Miller", "CX26163P", "Surround (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5cbd7c31443fb9c308e9f0b54d94a395", "Spectravideo, Mark Turmell", "SA-217", "Gas Hog (1983) (Spectravideo) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5ce98f22ade915108860424d8dde0d35", "", "", "Hangman Man Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5ced13931c21ef4fc77d3fe801a1cbfa", "CCE", "C-828", "Missile Command (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5d0e8a25cbd23e76f843c75a86b7e15b", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (09-07-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5d132d121aabc5235dd039dfc46aa024", "", "", "Basketball (208 in 1) (Unknown) (PAL) (Hack)", "Console ports are swapped", "Hack", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "5d25df9dc2cde746ceac48e834cf84a7", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "EAZ-033", "Space Shuttle (1983) (Activision) (SECAM)", "A Journey Into Space", "", "", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5d2cc33ca798783dee435eb29debf6d6", "Activision - Imagineering, Mike Reidel", "AK-043-04", "Commando (1988) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5d7293f1892b66c014e8d222e06f6165", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a1]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5d799bfa9e1e7b6224877162accada0d", "Spectravision - Spectravideo - Sirius Software, David Lubar", "SA-206", "Challenge of.... Nexar, The (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5d8f1ab95362acdf3426d572a6301bf2", "Thomas Jentzsch", "", "SWOOPS! (v0.96) (TJ) (PAL)", "Uses the Joystick (L) and Paddle (R) Controllers", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5d8fb14860c2f198472b233874f6b0c9", "", "", "Boing! (PD) [a2]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5d9592756425192ec621d2613d0e683d", "CCE", "C-839", "Misterious Thief, A (1983) (CCE) [a]", "AKA A Mysterious Thief", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5da8fd0b5ed33a360bff37f8b5d0cd58", "Tron", "", "Pole Position (Tron)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5dae540347cf0a559962d62604ecf750", "Canal 3 - Intellivision", "", "Freeway (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5db9e5bf663cad6bf159bc395f6ead53", "Goliath - Hot Shot", "83-212", "Time Race (1983) (Goliath) (PAL)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5dccf215fdb9bbf5d4a6d0139e5e8bcb", "Froggo", "FG1009", "Sea Hunt (1987) (Froggo)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5de8803a59c36725888346fdc6e7429d", "Atari, John Dunn - Sears", "CX2631 - 49-75152", "Superman (1979) (Atari) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5df32450b9fbcaf43f9d83bd66bd5a81", "Eric Ball", "", "Atari Logo Playfield Demo (2001) (Eric Ball) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5df559a36347d8572f9a6e8075a31322", "Digivision", "", "Enduro (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5e0c37f534ab5ccc4661768e2ddf0162", "Telegames - VSS, Ed Salvo", "5667 A106", "Glacier Patrol (1988) (Telegames)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5e1b4629426f4992cf3b2905a696e1a7", "Activision - Bobco, Robert C. Polaro", "AK-049-04", "Rampage! (1989) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5e1b7a6078af428ef056fe85a37a95ca", "Activision, David Crane", "AX-014, AX-014-04", "Grand Prix (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5e1cd11a6d41fc15cf4792257400a31e", "Philip R. Frey", "", "Return of Mario Bros (Philip R. Frey) (Hack)", "Hack of Mario Bros.", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5e201d6bfc520424a28f129ee5e56835", "Universal Gamex Corporation, Miguel Castillo, H.K. Poon", "GX-001", "X-Man (1983) (Universal) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5e2495d43b981010304af55efed1e798", "Jone Yuan Telephonic Enterprise Co", "", "Math Gran Prix (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5e43c0391f7412ae64fae6f3742d6ee9", "Thomas Jentzsch, Paul Slocum", "", "Thrust+ Platinum (v1.27)", "", "New Release, supports BoosterGrip", "", "", "", "", "", "", "", "BOOSTERGRIP", "DRIVING", "", "", "", "", "", "" }, - { "5e99aa93d0acc741dcda8752c4e813ce", "", "", "2600 Digital Clock (V b2) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5ec73ac7d2ac95ac9530c6d33e713d14", "Arcadia Corporation, Scott Nelson", "13", "Sweat! - The Decathlon Game (2 of 3) (1983) (Arcadia) (Prototype)", "Uses the Paddle Controllers (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5eeb81292992e057b290a5cd196f155d", "Wizard Video Games - VSS, Ed Salvo", "008", "Texas Chainsaw Massacre, The (1983) (Wizard Video)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5ef303b9f0aa8cf20720c560e5f9baa1", "Atari, Jim Huether", "CX2629, CX2629P", "Sky Diver (1979) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f1b7d5fa73aa071ba0a3c2819511505", "CCE", "", "Cosmic Commuter (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f2b4c155949f01c06507fb32369d42a", "Apollo, Ed Salvo", "AP-1001", "Skeet Shoot (1981) (Apollo) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f316973ffd107f7ab9117e93f50e4bd", "", "", "Commando Raid (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f39353f7c6925779b0169a87ff86f1e", "Atari - GCC, John Allred, Douglas B. Macrae, Betty Ryan Tylko", "CX2694", "Pole Position (1983) (Atari) [a]", "AKA RealSports Driving", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f46d1ff6d7cdeb4b09c39d04dfd50a1", "Atari, Gary Palmer", "CX2661P", "Fun with Numbers (1980) (Atari) (PAL)", "AKA Basic Math", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f4ebf8a1e5f5f7b9ff3e3c6affff3e6", "Bit Corporation", "R320", "Donkey Kong (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f560837396387455c9dcb05cdd4b053", "Canal 3 - Intellivision", "", "Eggomania (Canal 3)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "", "" }, - { "5f681403b1051a0822344f467b05a94d", "Atari, Howard Scott Warshaw - Sears", "CX2655 - 49-75167", "Yars' Revenge (1982) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "5f708ca39627697e859d1c53f8d8d7d2", "Atari, Warren Robinett - Sears", "CX2606 - 6-99825, 49-75112", "Slot Racers (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f73e7175474c1c22fb8030c3158e9b3", "Atari, Nick 'Sandy Maiwald' Turner", "CX2665", "Frog Pond (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f786b67e05fb9985b77d4beb35e06ee", "Atari, Bill Aspromonte, Andrew Fuchs", "CX26120", "Defender II (1987) (Atari) (PAL)", "AKA Stargate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f7ae9a7f8d79a3b37e8fc841f65643a", "Atari, Jerome Domurat, Peter C. Niday, Robert Vieira", "CX26109", "Sorcerer's Apprentice (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f7de62a408b9de3a1168898298fd31d", "", "", "Super Cobra (Genesis)", "Genesis controller (B is bomb, C is laser)", "Hack of Super Cobra", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5f950a2d1eb331a1276819520705df94", "20th Century Fox Video Games - Micro Computer Technologies, Jim Collas", "", "Heart Like a Wheel (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "5f9b62350b31be8bd270d9a241cbd50e", "Telegames", "5658 A088", "Football (1988) (Telegames) (PAL)", "AKA Super Challenge Football", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5faffe1c4c57430978dec5ced32b9f4a", "Dactari - Milmar", "", "Volleyball (Dactari - Milmar)", "AKA RealSports Volleyball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5fb71cc60e293fe10a5023f11c734e55", "", "", "This Planet Sucks (Fix) (27-12-2002) (Greg Troutman)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "600d48eef5c0ec27db554b7328b3251c", "", "", "Bars and Text Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6015a9cef783e97e98a2aa2cf070ae06", "Thomas Jentzsch", "", "Battlezone TC (Thomas Jentzsch) (Hack)", "Uses two simultaneous Joystick Controllers, Hack of Battlezone", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "60358edf0c2cc76b1e549e031e50e130", "Manuel Polik", "", "Cyber Goth Galaxian (Manuel Polik) (Hack)", "Hack of Galaxian", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "603c7a0d12c935df5810f400f3971b67", "Bit Corporation", "PG209", "Mr. Postman (1983) (BitCorp) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6041f400b45511aa3a69fab4b8fc8f41", "Apollo, Ban Tran", "AP-2010", "Wabbit (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "604e09724555807c28108049efe34a13", "", "", "Sokoban (01-01-2003) (Adam Wozniak)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6058e40ce79d7434c7f7477b29abd4a5", "", "", "Rubik's Cube Demo (23-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "605dcb73d22f4efdb90ef9da2f290f7c", "Atari, Larry Kaplan", "CX26163P", "Air-Sea Battle (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "605fd59bfef88901c8c4794193a4cbad", "Data Age", "", "Secret Agent (1983) (Data Age) (Prototype)", "Uses the Paddle Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, - { "606c2c1753051e03c1f1ac096c9d2832", "Jone Yuan Telephonic Enterprise Co", "", "Crackpots (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6076b187a5d8ea7a2a05111c19b5d5cd", "", "", "Fu Kung! (V0.14) (01-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "60a61da9b2f43dd7e13a5093ec41a53d", "VentureVision, Dan Oliver", "VV2001", "Rescue Terra I (1982) (VentureVision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "60bbd425cb7214ddb9f9a31948e91ecb", "Activision, Bob Whitehead", "AG-005, CAG-005, AG-005-04", "Skiing (1980) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "60cd61a2dfccb0e2736434f9792c1672", "Amiga - Video Soft, Frank Ellis, Jerry Lawson", "2110", "3-D Havoc (1983) (Amiga) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "60d304582d33e2957b73eb300a7495bb", "", "", "Jam Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "60e0ea3cbe0913d39803477945e9e5ec", "Atari, Joe Decuir - Sears", "CX2621 - 99806, 6-99806, 49-75104", "Video Olympics (1977) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "PADDLES_IAXDR", "YES", "AUTO 60", "", "", "", "" }, - { "613abf596c304ef6dbd8f3351920c37a", "", "", "Boring Pac-Man (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6141c095d0aee4e734bebfaac939030a", "Rainbow Vision - Suntek", "SS-017", "Mariana (1983) (Rainbow Vision) (PAL)", "AKA Seaquest", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "61426cee013306e7f7367534ab124747", "", "", "One Blue Bar Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "615a3bf251a38eb6638cdc7ffbde5480", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2674", "E.T. - The Extra-Terrestrial (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "61621a556ad3228f0234f5feb3ab135c", "", "", "Fu Kung! (V0.05 Cuttle Card Compattle Revision) (14-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "61631c2f96221527e7da9802b4704f93", "Activision - Imagineering, Mike Reidel", "AK-043-04", "Commando (1988) (Activision) [different logo]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "61719a8bdafbd8dab3ca9ce7b171b9e2", "", "", "Enduro (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "61728c6cfb052e62a9ed088c5bf407ba", "", "", "Sprite Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "619de46281eb2e0adbb98255732483b4", "", "", "Time Warp (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "61dbe94f110f30ca4ec524ae5ce2d026", "CCE", "C-820", "Space Invaders (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "61e0f5e1cc207e98704d0758c68df317", "Star Game", "007", "Tennis (Star Game)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "61ef8c2fc43be9a04fe13fdb79ff2bd9", "", "", "Gas Gauge Demo - Revisited (2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6205855cc848d1f6c4551391b9bfa279", "", "", "Euchre (Release Candidate 2) (NTSC) (01-10-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6238ac888871fec301d1b9fc4fc613c9", "Thomas Jentzsch", "", "Marble Craze - Atari Mouse Hack v1.0 (PAL) (TJ)", "Uses Atari Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "624e0a77f9ec67d628211aaf24d8aea6", "Panda", "108", "Sea Hawk (1983) (Panda)", "AKA Seahawk", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "626d67918f4b5e3f961e4b2af2f41f1d", "Atari", "50008", "Diagnostic Test Cartridge 2.0 (1980) (Atari) (Prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6272f348a9a7f2d500a4006aa93e0d08", "Atari, Jerome Domurat, Michael Sierchio", "CX2667, CX2667P", "RealSports Soccer (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "62899430338e0538ee93397867d85957", "Gameworld", "133-004", "Airlock (1983) (Gameworld) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "62921652f6634eb1a0940ed5489c7e18", "", "", "SCSIcide (V1.09) (2001) (Joe Grand)", "", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "AUTO 65", "", "", "", "" }, - { "62992392ea651a16aa724a92e4596ed6", "Eric Mooney", "", "Invaders by Erik Mooney (Beta) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "62d1f50219edf9a429a9f004c19f31b3", "JWDA, Todd Marshall", "", "Euro Gen (02-01-83) (JWDA) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "62ee2b8f59e9cd6285bbdb674a952e8b", "Probe 2000 - NAP, Roger Booth, Todd Marshall, Robin McDaniel, Jim Wickstead", "3152VC", "Pursuit of the Pink Panther (Probe) (Prototype)", "AKA Adventures of the Pink Panther", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "62f74a2736841191135514422b20382d", "", "", "Pharaoh's Curse (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "YES", "" }, - { "62ffd175cac3f781ef6e4870136a2520", "", "", "2600 Digital Clock (V x.xx) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "63166867f75869a3592b7a94ea62d147", "", "", "Indy 500 (Hack) [a1]", "Hack of Indy 500", "Hack", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "", "", "" }, - { "6333ef5b5cbb77acd47f558c8b7a95d3", "Greg Troutman", "", "Dark Mage (Greg Troutman) (PD) (8K)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6337927ad909aa739d6d0044699a916d", "Jeffry Johnston", "", "Radial Pong - Version 2 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6339d28c9a7f92054e70029eb0375837", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6342afe9c9ad1b6120b8f6fb040d0926", "", "", "Move a Blue Blob Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6354f9c7588a27109c66905b0405825b", "Thomas Jentzsch", "", "Amidar DS (2003) (TJ) (Hack)", "Hack of Amidar", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6358f7f8bf0483402a080efccf250d61", "CommaVid, John Bronstein", "CM-003", "Cosmic Swarm (1982) (CommaVid) (Prototype)", "AKA Termite", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "635cc7a0db33773959d739d04eff96c2", "", "", "Minesweeper (V.90) (Soren Gust) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6362396c8344eec3e86731a700b13abf", "Panda", "109", "Exocet (1983) (Panda)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "637efac676ff063f2fbb0abff77c4fa5", "", "", "Noize Maker Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "63811ed69bdbc35c69d8aa7806c3d6e9", "Atari", "CX26163P", "Homerun (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "638cc82ea96f67674595ba9ae05da6c6", "Rainbow Vision - Suntek", "SS-011", "Super Ferrari (1983) (Rainbow Vision) (PAL)", "AKA Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "63a6eda1da30446569ac76211d0f861c", "Activision, David Crane", "AG-001", "Dragster (1980) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "63a7445b1d3046d3cdcdbd488dca38d9", "Rob Kudla", "", "Better Space Invaders (1999) (Rob Kudla) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "63c5fef3208bb1424d26cf1ab984b40c", "", "", "Analog Clock (V0.1) (20-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "63c7395d412a3cd095ccdd9b5711f387", "Eric Ball", "ELB005", "Skeleton+ (PAL)", "Stereo sound", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "63d6247f35902ba32aa49e7660b0ecaa", "", "", "Space War (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "63e42d576800086488679490a833e097", "Telesys, Jim Rupp", "1004", "Ram It (1983) (Telesys) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "63e783994df824caf289b69a084cbf3e", "David Marli", "", "Fat Albert (David Marli) (Hack)", "Hack of Fast Food", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "63e9e612bbee31045f8d184a4e53f8ec", "ATARITALIA", "", "Moby Blues (2002) (ATARITALIA) (Hack)", "Hack of Mario Bros", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "640a08e9ca019172d612df22a9190afb", "Atari - GCC, Mike Feinstein, Kevin Osborn", "CX2691, CX2691P", "Joust (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "64198bb6470c78ac24fcf13fe76ab28c", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (1982) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "643e6451eb6b8ab793eb60ba9c02e000", "Salu - Avantgarde Software, Michael Buetepage", "460741", "Ghostbusters II (1992) (Salu) (PAL) [different tune]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "645bf7f9146f0e4811ff9c7898f5cd93", "Xonox - K-Tel Software - VSS, Robert Weatherby", "6230, 6250", "Super Kung-Fu (1983) (Xonox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6468d744be9984f2a39ca9285443a2b2", "Atari, Ed Logg, Carol Shaw", "CX26163P", "Reversi (32 in 1) (1988) (Atari) (PAL)", "AKA Othello", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "647162cceb550fd49820e2206d9ee7e8", "", "", "Skeleton (NTSC) (2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "64b8e19c767191ccdc97acc6904c397b", "Jeffry Johnston", "", "Radial Pong - Version 6 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "64ca518905311d2d9aeb56273f6caa04", "CCE", "", "Cubo Magico (CCE)", "AKA Cubicolor", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "64d43859258dc8ca54949e9ff4174202", "Thomas Jentzsch", "", "Lilly Adventure (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "64fab9d15df937915b1c392fc119b83b", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26119", "Saboteur (05-20-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "650df778c6ce22d3fd1a7c33c565bcc3", "Atari - GCC, Betty Ryan Tylko, Douglas B. Macrae", "CX2694", "Pole Position (1983) (Atari)", "Genesis controller (B is high gear, C is low gear, left difficulty switch swaps gear buttons)", "Hack of Pole Position", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "" }, - { "651d2b6743a3a18b426bce2c881af212", "CCE", "C-812", "Pac Man (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6522717cfd75d1dba252cbde76992090", "Home Vision - Gem International Corp. - VDI", "VCS83102", "War 2000 (1983) (Home Vision) (PAL)", "AKA Astrowar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6538e454b0498ad2befe1ef0f87815c0", "Joe Grand", "", "SCSIcide (v1.2) (2001) (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "AUTO 65", "", "", "", "" }, - { "65490d61922f3e3883ee1d583ce10855", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692, CX2692P", "Moon Patrol (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "65562f686b267b21b81c4dddc129d724", "", "", "Euchre (28-07-2001) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "655c84e5b951258c9d20f0bf2b9d496d", "", "", "2600_2003 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "656dc247db2871766dffd978c71da80c", "Sears Tele-Games, Jim Huether", "CX2614 - 49-75126", "Steeplechase (1981) (Sears)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "AUTO 60", "", "", "", "" }, - { "6588d192d9a8afce27b44271a2072325", "Bit Corporation", "R320", "Basketball (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "65917ae29a8c9785bb1f2acb0d6aafd0", "", "", "Junkosoft One Year Demo (1999) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6596b3737ae4b976e4aadb68d836c5c7", "Digivision", "", "Defender (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "659a20019de4a23c748ec2292ea5f221", "Retroactive", "", "Qb (V2.05) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "65b106eba3e45f3dab72ea907f39f8b4", "Christian Software Development - HomeComputer Software, Dan Schafer, Glenn Stohel, Jon Tedesco - Sparrow", "GCG 1001T", "Music Machine, The (1983) (Sparrow)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, - { "65ba1a4c643d1ab44481bdddeb403827", "Quelle", "876.013 4", "Katastrophen-Einsatz (1983) (Quelle) (PAL)", "AKA M.A.S.H.", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "65bd29e8ab1b847309775b0de6b2e4fe", "Coleco, Ed English", "2667", "Roc 'n Rope (1984) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "65c6406f5af934590097c8c032ebb482", "", "", "Three Hugger (Pave Demo) (20-12-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6604f72a966ca6b2df6a94ee4a68eb82", "", "", "MegaMania (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "662eca7e3d89175ba0802e8e3425dedb", "", "", "Hangman Pac-Man Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "66362890eb78d6ea65301592cce65f5b", "", "", "Euchre (13-07-2001) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "663ef22eb399504d5204c543b8a86bcd", "CBS Electronics - Roklan, Joe Hellesen, Joe Wagner", "4L1720, 4L1721, 4L1722, 4L2276", "Wizard of Wor (1982) (CBS Electronics) (PAL)", "Uses the Joystick Controllers (swapped)", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "YES", "" }, - { "664d9bfda6f32511f6b4aa0159fd87f5", "Atari - Roklan, Joe Gaucher", "", "Racer (1982) (Atari) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6651e2791d38edc02c5a5fd7b47a1627", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (04-05-1984) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "665b8f8ead0eef220ed53886fbd61ec9", "Telesys, Don Ruffcorn, Jack Woodman", "1003", "Fast Food (1982) (Telesys)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "66706459e62514d0c39c3797cbf73ff1", "Video Gems", "VG-05", "Treasure Below (1983) (Video Gems) (PAL)", "", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "" }, - { "6672de8f82c4f7b8f7f1ef8b6b4f614d", "Videospielkassette - Ariola", "PGP237", "Angeln I (Ariola) (PAL)", "AKA Fishing Derby", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "667a70b028f581d87648693b873bc962", "Parker Brothers - Roklan, Joe Gaucher", "PB5370", "Popeye (1983) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "668dc528b7ea9345140f4fcfbecf7066", "Gakken", "001", "Pooyan (1983) (Gakken) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6697f177847c70505824422e76aad586", "", "", "Tennis (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "669840b0411bfbab5c05b786947d55d4", "Atari, Andrew Fuchs, Jeffrey Gusman, Dave Jolly, Suki Lee", "CX26117", "Obelix (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "66b89ba44e7ae0b51f9ef000ebba1eb7", "Atari - CCW, Stephan R. Keith, Laura Scholl, Preston Stuart", "CX26106", "Grover's Music Maker (01-18-1983) (Atari) (Prototype)", "Uses Keypad Controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "66b92ede655b73b402ecd1f4d8cd9c50", "Activision, John Van Ryzin - Ariola", "EAZ-036-04, EAZ-036-04B, EAZ-036-04I - 711 036-720", "H.E.R.O. (1984) (Activision) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "66bc1bef269ea59033928bac2d1d81e6", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (Preview) (1982) (Arcadia)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, - { "66c2380c71709efa7b166621e5bb4558", "Parker Brothers, Dave Engman, Dawn Stockbridge", "931509", "Tutankham (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "66c4e0298d4120df333bc2f3e163657e", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (2 of 3) (1982) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "66f49b3248791b9803fa3e2f4165d072", "Bit Corporation", "R320", "Football (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "66fcf7643d554f5e15d4d06bab59fe70", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (09-13-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6706a00f9635508cfeda20639156e66e", "Atari, Jerome Domurat, Michael Sierchio", "CX2667", "RealSports Soccer (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "672012d40336b403edea4a98ce70c76d", "", "", "Spider Kong (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "675ae9c23fa1aae376cea86cad96f9a5", "", "", "Poker Squares (V0.25) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "67631ea5cfe44066a1e76ddcb6bcb512", "", "", "Termool (Unknown) (PAL)", "AKA Turmoil", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "67684a1d18c85ffa5d82dab48fd1cb51", "Tigervision, Warren Schwader - Teldec", "7-003", "Threshold (1982) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "678c1d71a1616d9d022f03d8545b64bb", "", "", "Demo Image Series #11 - Donald And Mario (28-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "67931b0d37dc99af250dd06f1c095e8d", "CommaVid, Irwin Gaines", "CM-004", "Room of Doom (1982) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "679d30c7886b283cbe1db4e7dbe5f2a6", "Colin Hughes", "", "Puzzle (Colin Hughes) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "679e910b27406c6a2072f9569ae35fc8", "Data Age", "DA1002", "Warplock (1982) (Data Age)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 40", "", "", "YES", "" }, - { "67bd3d4dc5ac6a42a99950b4245bdc81", "Retroactive", "", "Qb (2.11) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "67c05ae94bf8b83a666c3ae2c4bc14de", "Atari", "CX26163P", "NFL Football (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Football", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "67cdde4176e0447fc45a71e0a1cdd288", "Telegames - VSS, Ed Salvo", "5665 A016", "Glacier Patrol (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "67ce6cdf788d324935fd317d064ed842", "Retroactive", "", "Qb (V2.09) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "67cf913d1df0bf2d7ae668060d0b6694", "", "", "Hangman Monkey 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "67f90d74fd0b72fdc6d9b92436780ea9", "Omegamatrix", "", "SpaceMaster X-7 (Atari Trak-Ball) (PAL60) (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6803fa7c2c094b428b859a58dc1dd06a", "Retroactive", "", "Qb (0.11) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6805734a0b7bcc8925d9305b071bf147", "Bit Corporation", "PGP229", "Kung Fu (4 Game in One Dark Green) (1983) (BitCorp) (PAL)", "AKA Karate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "681206a6bde73e71c19743607e96c4bb", "", "", "Casino (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6833c26f385e866f3a0fa0dff311216e", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "683bb0d0f0c5df58557fba9dffc32c40", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (1982) (Arcadia) [a]", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, - { "683dc64ef7316c13ba04ee4398e2b93a", "Ed Federmeyer", "", "Edtris (1995) (Ed Federmeyer)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "68449e4aaba677abcd7cde4264e02168", "", "", "Horizonal Color Bars Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6847ce70819b74febcfd03e99610243b", "", "", "Ruby Runner 4A50", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "68489e60268a5e6e052bad9c62681635", "Bit Corporation", "PG201", "Sea Monster (1982) (BitCorp) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "68597264c8e57ada93be3a5be4565096", "Data Age", "DA1005", "Bugs (1982) (Data Age)", "Uses the Paddle Controllers", "Uncommon", "", "", "", "", "", "", "", "", "", "", "AUTO 50", "", "", "", "" }, - { "685e9668dc270b6deeb9cfbfd4d633c3", "CommaVid, Irwin Gaines - Ariola", "CM-004 - 712 004-720", "Room of Doom (1982) (CommaVid) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "68760b82fc5dcf3fedf84376a4944bf9", "CCE", "C-860", "Laser Gate (1983) (CCE)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "687c23224e26f81c56e431c24faea36d", "", "", "Qb (Simple Background Animation) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "68878250e106eb6c7754bc2519d780a0", "CCE", "C-809", "Squirrel (1983) (CCE)", "AKA Snail Against Squirrel", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "68ac69b8e1ba83af8792f693f5ae7783", "Digivision", "", "Fathon (Digivision)", "AKA Fathom", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "68c80e7e1d30df98a0cf67ecbf39cc67", "Hozer Video Games", "", "Gunfight 2600 - One Step Forward & Two Steps Back (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "68c938a2a2b45c37db50509f1037fe6e", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) v4 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "68cd2adc6b1fc9a1f263ab4561112f30", "Thomas Jentzsch", "", "Boulderdash Demo (09-12-2002) (TJ)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "68feb6d6ff63e80df1302d8547979aec", "", "", "Starfield Demo 2 (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "690a6049db78b9400c13521646708e9c", "King Tripod Enterprise Co.", "SS - 007", "Space Raid (King Tripod) (PAL)", "AKA Challenge of.... Nexar, The", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6913c90002636c1487538d4004f7cac2", "Atari - CCW", "CX26131", "Monster Cise (1984) (Atari) (Prototype)", "Uses the Keypad Controllers (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "691d67910b08b63de8631901d1887c1f", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "692202772d8b38ccf85a90c8003a1324", "", "", "Zi - The Flie Buster (2002) (Fernando Mora) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "693137592a7f5ccc9baae2d1041b7a85", "", "", "Qb (V2.02) (Stella) (2001) (Retroactive) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6936aa6763835f62ac13d1aaa79b9f91", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (NTSC) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6979f30204149be3e227558cffe21c1d", "Atari", "CX26163P", "Miniaturer Golf (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Miniature Golf", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6982854657a2cc87d712f718e402bf85", "Zellers", "", "Earth Attack (Zellers)", "AKA Defender", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "69877da5caded48315e3e45882a303d5", "Atari - Roklan, Joe Gaucher, Alex Leavens", "CX2683", "Crazy Climber (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "698f569eab5a9906eec3bc7c6b3e0980", "SpkLeader", "", "Demons! (2003) (SpkLeader) (Hack)", "Hack of Phoenix", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "69974dd5d6420b90898cde50aec5ef39", "Activision, David Crane", "AG-009, AG-009-04", "Freeway (1981) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "69df0411d4d176e558017f961f5c5849", "CCE", "C-831", "Cosmic Ark (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "69e79b1352b9ee1754bbe63b4a7062c3", "Barry Laws Jr.", "", "Pink Floyd - The Wall (2003) (Barry Laws Jr.) (Hack)", "Hack of Berzerk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "69ebf910ab9b63e5b8345f016095003b", "", "", "Maze Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "69edfb4e1810a523311b3e250fc1e275", "Thomas Jentzsch", "", "Missile Command Atari Trak-Ball Hack v1.3 (PAL) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "69fac82cd2312dd9ce5d90e22e2f070a", "Spectravision - Spectravideo - Quelle", "SA-202 - 412.851 8", "Planet Patrol (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6a03c28d505bab710bf20b954e14d521", "", "", "Pressure Gauge 2 Beta (Hozer Video Games)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6a07836c382195dd5305ce61d992aaa6", "Apollo, Larry Martin", "AP-2008", "Guardian (1982) (Apollo) (Prototype)", "Uses the Paddle Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, - { "6a091b8ffeacd0939850da2094b51564", "", "", "Vertically Scrolling Playfield (02-02-2003) (Aaron Bergstrom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6a222c26bcece3a510ddda21398f72c6", "Bit Corporation", "PG203", "Phantom Tank (1982) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6a2c68f7a77736ba02c0f21a6ba0985b", "Atari, Larry Wagner, Bob Whitehead", "", "Computer Chess (07-07-1978) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6a3b0c33cf74b1e213a629e3c142b73c", "Cody Pittman", "", "Cory The Interviewer (Cody Pittman) (Hack)", "Hack of Ghostbusters", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6a76d5f0ed721639474aa9bbde69ebf0", "", "", "Play Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6a82b8ecc663f371b19076d99f46c598", "Activision, Larry Miller - Ariola", "EAX-026, EAX-026-04B, EAX-026-04I - 711 026-725", "Enduro (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6a882fb1413912d2ce5cf5fa62cf3875", "Video Game Cartridge - Ariola", "TP-605", "Dragon Defender (Ariola) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6a8c6940d3be6fd01274363c4d4b298e", "", "", "Spy Hunter (Genesis)", "Genesis controller (C is oil/smoke)", "Hack of Spy Hunter", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6a9b30ca46b0dba9e719f4cbd340e01c", "", "", "Frostbite (Unknown) (PAL) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6a9e0c72fab92df70084eccd9061fdbd", "CCE", "C-835", "Beany Bopper (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6aa66e9c3eea76a0c40ef05513497c40", "", "", "Hangman Ghost Biglist2 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6ac3fd31a51730358708c7fdc62487f8", "Matthias Jaap", "", "PC Invaders (Matthias Jaap) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6aca52e11b597ab84b33d5252e1cd9d1", "Bit Corporation", "R320", "Tac-Scan (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "", "" }, - { "6ae4dc6d7351dacd1012749ca82f9a56", "Atari - GCC, Jaques Hugon, Seth Lipkin", "CX26125, CX26127", "Track and Field (1984) (Atari)", "Uses the Track & Field Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6b01a519b413f8cfa2f399f4d2841b42", "", "", "Aphex Invaders (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6b1fc959e28bd71aed7b89014574bdc2", "Bit Corporation", "PG203", "Phantom Tank (1982) (BitCorp) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6b4eb5b3df80995b8d9117cb7e9aeb3c", "Gameworld, J. Ray Dettling", "133-006", "Journey Escape (1983) (Gameworld) (PAL)", "AKA Rock 'n' Roll Escape", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6b683be69f92958abe0e2a9945157ad5", "U.S. Games Corporation - Western Technologies, Jeff Corsiglia, Paul Allen Newell, Steven B. Sidley, Tom Sloper", "VC2007", "Entombed (1983) (U.S. Games)", "Released as Name That Game for a contest (winning name was Entombed)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6b6ca32228ae352b4267e4bd2cddf10c", "", "", "Pac-Man 4 (Pac-Man Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6b71f20c857574b732e7a8e840bd3cb2", "", "", "Frostbite (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6b72b691ea86f61438ed0d84c4d711de", "", "", "Fishing Derby (Unknown) (PAL) (4K) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6b75f8fa4fd011a6698c58315f83d2ac", "Thomas Jentzsch", "", "Sprintmaster DC (TJ)", "Uses the Driving Controllers, Hack of Sprintmaster (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "45", "", "", "", "" }, - { "6b7a56b6ac2ca4bf9254474bf6ed7d80", "", "", "Horizonal Color Bars Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6b7e1c11448c4d3f28160d2de884ebc8", "Zirok", "", "Fast Food (Zirok)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6b8fb021bb2e1f1e9bd7ee57f2a8e709", "Paul Slocum", "", "3-D Corridor (29-03-2003) (Paul Slocum) (PD) [a]", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6bb09bc915a7411fe160d0b2e4d66047", "Atari", "CX26163P", "UFO (32 in 1) (1988) (Atari) (PAL)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6bb22efa892b89b69b9bf5ea547e62b8", "Dynacom", "", "Megamania (1982) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6bde3f6ac31aceef447ce57d4d2c2ec0", "Piero Cavina", "", "Mondo Pong V1 (Piero Cavina) (PD)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "01", "", "", "", "" }, - { "6c128bc950fcbdbcaf0d99935da70156", "Digitel", "", "Volleyball (1983) (Digitel)", "AKA RealSports Volleyball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6c1553ca90b413bf762dfc65f2b881c7", "Quelle", "343.073 3", "Winterjagd (1983) (Quelle) (PAL)", "AKA Ski Hunt", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6c1f3f2e359dbf55df462ccbcdd2f6bf", "Activision, Garry Kitchen - Ariola", "EAX-025, EAX-025-04I - 711 025-725", "Keystone Kapers (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6c25f58fd184632ca76020f589bb3767", "Dynacom", "", "Beat 'Em & Eat 'Em (1983) (Dynacom)", "Uses the Paddle Controller (left only)", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, - { "6c449db9bbbd90972ad1932d6af87330", "", "", "20 Sprites at Once Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6c658b52d03e01828b9d2d4718a998ac", "", "", "Hangman Invader Biglist2 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6c76fe09aa8b39ee52035e0da6d0808b", "Atari, Brad Stewart", "CX2622, CX2622P", "Breakout (1978) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 60", "", "", "", "" }, - { "6c85098518d3f94f7622c42fd1d819ac", "Suntek", "SS-028", "Firebug (1983) (Suntek) (PAL)", "AKA Spinning Fireball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6c91ac51421cb9fc72c9833c4f440d65", "ITT Family Games", "554-33 375", "Cosmic Town (1983) (ITT Family Games) (PAL)", "AKA Base Attack (Perry Rhodan-Serie)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6c9a32ad83bcfde3774536e52be1cce7", "", "", "Space Treat (NTSC) (13-08-2002) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6cab04277e7cd552a3e40b3c0e6e1e3d", "Telegames - VSS", "7062 A305", "Universal Chaos (1988) (Telegames) (Prototype)", "AKA Targ", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6cbe945e16d9f827d0d295546ac11b22", "", "", "Gunfight 2600 - AI (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6ccd8ca17a0e4429b446cdcb66327bf1", "", "", "RPG Engine (12-05-2003) (Paul Slocum) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6cd1dc960e3e8d5c5e0fbe67ab49087a", "", "", "Vertical Playfield Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6cd506509e8fd5627f55603780e862a8", "Greg Troutman", "", "Dark Mage (SuperCharger) (Greg Troutman) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6ce2110ac5dd89ab398d9452891752ab", "Funvision - Fund. International Co.", "", "Persian Gulf War (Funvision)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6cea35ded079863a846159c3a1101cc7", "", "", "Atlantis (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6ceb7d6a54e9a5e62d26874d1cc88dbc", "Video Soft", "", "Atom Smasher (1984) (Video Soft) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6cf054cd23a02e09298d2c6f787eb21d", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (1984) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6d218dafbf5a691045cdc1f67ceb6a8f", "Robin Harbron", "", "6 Digit Score Display (1998) (Robin Harbron) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6d475019ea30d0b29f695e9dcfd8f730", "Eric Mooney", "", "Invaders by Erik Mooney (Alpha 2) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6d74ebaba914a5cfc868de9dd1a5c434", "", "", "Fortress (Smooth Version) (20-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6d842c96d5a01967be9680080dd5be54", "Activision, Steve Cartwright, David Crane", "AB-035-04", "Pitfall II (1984) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6d8a04ee15951480cb7c466e5951eee0", "Zirok", "", "Kanguru (1983) (Zirok)", "AKA Kangaroo", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6d9afd70e9369c2a6bff96c4964413b7", "", "", "Time Warp (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6dda84fb8e442ecf34241ac0d1d91d69", "Atari - GCC, Douglas B. Macrae", "CX2677", "Dig Dug (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6de924c2297c8733524952448d54a33c", "CCE", "C-1006", "Moon Patrol (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6dfad2dd2c7c16ac0fa257b6ce0be2f0", "Parker Brothers, Larry Gelberg", "PB5065", "Star Wars - Ewok Adventure (1983) (Parker Bros) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6e179eee3d4631a7434d40cf7aeea6e8", "Wizard Video Games - MicroGraphic Image, Robert Barber, Tim Martin", "007", "Halloween (1983) (Wizard Video Games) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6e19428387686a77d8c8d2f731cb09e0", "", "", "Purple Cross Demo (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6e372f076fb9586aff416144f5cfe1cb", "Atari, Tod Frye - Sears", "CX2646 - 49-75185", "Pac-Man (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6e59dd52f88c00d5060eac56c1a0b0d3", "Atari, Bob Smith", "CX2648", "Video Pinball (1981) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6e5d5ba193d2540aec2e847aafb2a5fb", "Retroactive", "", "Qb (2.14) (Retroactive) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6e7ed74082f39ad4166c823765a59909", "", "", "Poker Squares (V0.14) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6e7efb0ed13ec28a00d19572de9c9f03", "Apollo - Games by Apollo", "AP-2006", "Infiltrate (1982) (Apollo) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6eb10fd23c7161751d18b9e8484c0004", "Coleco - JWDA, Todd Marshall, Robin McDaniel, Henry Will IV", "2465", "Smurf - Rescue in Gargamel's Castle (1983) (Coleco) (Prototype)", "AKA Smurf, Smurf Action", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6ed5012793f5ddf4353a48c11ea9b8d3", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Down on the Line (3 of 3) (1983) (Arcadia)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "01 70", "", "", "", "" }, - { "6ed6bda5c42b2eb7a21c54e5b3ace3e3", "Canal 3 - Intellivision", "", "Ice Hockey (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6efe876168e2d45d4719b6a61355e5fe", "Bit Corporation", "PG207", "Mission 3,000 A.D. (1983) (BitCorp) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6f084daf265599f65422ef4173b69bc7", "", "", "Music Kit (V2.0) - Song Player (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6f2aaffaaf53d23a28bf6677b86ac0e3", "U.S. Games Corporation - Vidtec - JWDA, Garry Kitchen", "VC1001", "Space Jockey (1982) (U.S. Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6f3e3306da2aa6e74a5e046ff43bf028", "", "", "Defender Arcade (Genesis)", "Genesis controller (C is smartbomb)", "Hack of Defender 2", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6f744f14aac04f7e1ea0d3f4bafcb3e4", "Atari - Roklan, Joe Gaucher, Alex Leavens", "CX2683", "Crazy Climber (1983) (Atari) (Prototype) [a3]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6f74ed915ffe73b524ef0f63819e2a1d", "Eckhard Stolberg", "", "An Exercise In Minimalism (V2) (1999) (Eckhard Stolberg)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6fa0ac6943e33637d8e77df14962fbfc", "Imagic, Rob Fulop", "", "Cubicolor (1982) (Imagic) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6fac680fc9a72e0e54255567c72afe34", "", "", "Superman (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6fbd05b0ad65b2a261fa154b34328a7f", "", "", "Boardgame Demo (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6fc0176ccf53d7bce249aeb56d59d414", "Rainbow Vision - Suntek", "SS-004", "Pyramid War (1983) (Rainbow Vision) (PAL)", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6fc27a9233fc69d28d3f190b4ff80f03", "", "", "UFO #6 (Charles Morgan) (Hack)", "Hack of Pepsi Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6fc394dbf21cf541a60e3b3631b817f1", "Imagic, Bob Smith", "720020-2A, IA3611P", "Dragonfire (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "6fd7c7057eeab273b29c7aafc7429a96", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6fe67f525c39200a798985e419431805", "Atari - GCC, Kevin Osborn", "CX2689, CX2689P", "Kangaroo (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "6ff4156d10b357f61f09820d03c0f852", "Atari, Larry Kaplan - Sears", "CX2612 - 99804, 49-75103", "Street Racer (1977) (Atari) (4K)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "10 60", "", "", "", "" }, - { "6ffc95108e5add6f9b8abcaf330be835", "Charles Morgan", "", "TP Bug (Charles Morgan) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "700a786471c8a91ec09e2f8e47f14a04", "Activision", "", "Hard-Head (1983) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "703d32062436e4c20c48313dff30e257", "", "", "Moving Maze Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "703f0f7af350b0fa29dfe5fbf45d0d75", "Bit Corporation", "P460", "4 Game in One Dark Green (1983) (BitCorp) (PAL)", "Rodeo Champ, Bobby is Going Home, Open Sesame, Festival", "", "", "", "4IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "705fe719179e65b0af328644f3a04900", "Atari, David Crane - Sears", "CX2653 - 6-99823, 49-75111", "Slot Machine (1979) (Atari) (4K) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "706e3cc4931f984447213b92d1417aff", "", "", "Joustpong (06-07-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "707ecd80030e85751ef311ced66220bc", "", "", "Double-Height 6-Digit Score Display (Background Color Change) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7096a198531d3f16a99d518ac0d7519a", "Telesys, Jim Rupp", "1004", "Ram It (1983) (Telesys)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "709910c2e83361bc4bf8cd0c20c34fbf", "Rainbow Vision - Suntek", "SS-006", "Netmaker (1983) (Rainbow Vision) (PAL)", "AKA Amidar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "70a43fbdb1c039283ee5048d99842469", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "70a8480cfaf08776e5420365732159d2", "Rob Kudla", "", "Horizontally Scrolling Playfield Thing (Rob Kudla) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "70ce036e59be92821c4c7fd735ec6f68", "Activision, Steve Cartwright - Ariola", "EAX-031, EAX-031-04B - 711 031-717", "Frostbite (1983) (Activision) (PAL) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "70d14c66c319683b4c19abbe0e3db57c", "", "", "Oystron (V2.82) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "710497df2caab69cdcc45e919c69e13f", "Arcadia Corporation, Dennis Caswell", "5 AR-4200", "Labyrinth (Escape from the Mindmaster Beta) (1982) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "713fde2af865b6ec464dfd72e2ebb83e", "", "", "Challenge (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "71464c54da46adae9447926fdbfc1abe", "M Network - INTV - APh Technological Consulting, Bruce Pedersen", "MT5663", "Lock 'n' Chase (1982) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "714e13c08508ee9a7785ceac908ae831", "Home Vision - Gem International Corp. - VDI", "VCS83123", "Parachute (1983) (Home Vision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "715dbf2e39ba8a52c5fe5cdd927b37e0", "Amiga - Video Soft", "3135", "S.A.C. Alert (1983) (Amiga) (Prototype)", "Uses Joyboard", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "715dd9e0240638d441a3add49316c018", "Atari", "", "128-in-1 Junior Console (Chip 2 of 4) (1991) (Atari) (PAL)", "Actually contains only 16 games, not 32", "", "", "", "16IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7187118674ff3c0bb932e049d9dbb379", "Zirok", "", "Keystone Keypers (1983) (Zirok)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "718ae62c70af4e5fd8e932fee216948a", "Data Age, J. Ray Dettling", "112-006", "Journey Escape (1983) (Data Age)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "718ee85ea7ec27d5bea60d11f6d40030", "Thomas Jentzsch", "", "Ghostbusters II (1992) (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7197b6cbde6ecd10376155e6b848e80d", "Piero Cavina", "", "Multi-Sprite Game V2.1 (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "71b193f46c88fb234329855452dfac5b", "Digitel", "", "Atlantis (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "71d005b60cf6e608d04efb99a37362c3", "Atari, Larry Kaplan", "CX2643", "Codebreaker (1978) (Atari) (PAL) (4K) [a]", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "71f09f128e76eb14e244be8f44848759", "Funvision - Fund. International Co.", "", "Time Race (Funvision) (PAL)", "AKA Time Warp", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "71f8bacfbdca019113f3f0801849057e", "Atari, Dan Hitchens", "CX26126", "Elevator Action (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72097e9dc366900ba2da73a47e3e80f5", "", "", "Euchre (15-06-2001) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "721a5567f76856f6b50a6707aa8f8316", "Activision, David Crane, Dan Kitchen", "EAG-108-04, EAZ-108-04B", "Ghostbusters (1985) (Activision) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72305c997f2cec414fe6f8c946172f83", "Arcadia Corporation, Dennis Caswell", "AR-4000, AR-4100", "Phaser Patrol (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "724613effaf7743cbcd695fab469c2a8", "", "", "Super-Ferrari (Unknown)", "AKA Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "728152f5ae6fdd0d3a9b88709bee6c7a", "Spectravideo, Mark Turmell", "SA-217", "Gas Hog (1983) (Spectravideo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72876fd7c7435f41d571f1101fc456ea", "Quelle", "688.383 9", "Die Ente und der Wolf (1983) (Quelle) (PAL)", "AKA Pooyan", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72a46e0c21f825518b7261c267ab886e", "Xonox - K-Tel Software - Computer Magic", "99005, 6220, 6250", "Robin Hood (1983) (Xonox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72a5b5052272ac785fa076709d16cef4", "", "", "KC Munckin (29-01-2003) (J. Parlee)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72a63bcb5eb31bd0fd5e98ed05125ec1", "Thomas Jentzsch", "", "Missile Control - Atari Trak-Ball Hack v1.15 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72bda70c75dfa2365b3f8894bace9e6a", "Thomas Jentzsch", "", "Atlantis (TJ) (Hack)", "Hack of Atlantis", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72d0acb5de0db662de0360a6fc59334d", "", "", "Cosmic Ark (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72db1194b1cc7d45b242f25eb1c148d3", "", "", "Pac-Man (1981) (Atari) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72fd08deed1d6195942e0c6f392e9848", "HES", "0701-406", "2 Pak Special - Wall Defender, Planet Patrol (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "72ffbef6504b75e69ee1045af9075f66", "Atari, Richard Maurer - Sears", "CX2632 - 49-75153", "Space Invaders (1980) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "73158ea51d77bf521e1369311d26c27b", "Zellers", "", "Challenge (Zellers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "73521c6b9fed6a243d9b7b161a0fb793", "Atari, Tom Reuterdahl", "CX26163P", "Miniaturer Golf (32 in 1) (1988) (Atari) (PAL)", "AKA Miniature Golf", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "736388d73198552d77d423962000006f", "Dactari", "", "Tennis (Dactari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "73a710e621d44e97039d640071908aef", "", "", "Barber Pole Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "73aa02458b413091ac940c0489301710", "Rainbow Vision - Suntek", "SS-016", "Boom Bang (1983) (Rainbow Vision) (PAL)", "AKA Crackpots", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "73b4e8f8b04515d91937510e680214bc", "", "", "Rubik's Cube Demo 3 (24-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "73c545db2afd5783d37c46004e4024c2", "CBS Electronics - JWDA, Todd Marshall, Robin McDaniel, Henry Will IV", "4L1767, 4L1768, 4L1769, 4L1770", "Smurf - Schtroumpfs (1983) (CBS Electronics) (PAL)", "Pitufo", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "73c839aff6a055643044d2ce16b3aaf7", "Activision, Alan Miller - Ariola", "EAX-016, PAX-016 - 711 016-725", "StarMaster (1982) (Activision) (PAL)", "Use Color/BW switch to change between galactic chart and front views", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "73cb1f1666f3fd30b52b4f3d760c928f", "", "", "Mines of Minos (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "73e66e82ac22b305eb4d9578e866236e", "Jone Yuan Telephonic Enterprise Co", "", "Unknown Datatech Game (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "73efa9f3cbe197f26e0fb87132829232", "CCE", "C-858", "Tennis (1983) (CCE) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "74023e0f2e739fc5a9ba7caaeeee8b6b", "Jone Yuan Telephonic Enterprise Co", "", "Fishing Derby (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "740a7fa80f52cc7287ba37677afb6b21", "", "", "Double Dragon (PAL) (Genesis)", "Genesis controller (C is jumpkick)", "Hack of Double Dragon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "740b47df422372fbef700b42cea4e0bf", "", "", "Dizzy Wiz (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "740f39e71104e90416c29a73560b9c6b", "Atari", "TE016643", "Diagnostic Test Cartridge 2.6P (1982) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7412f6788087d7e912c33ba03b36dd1b", "AtariAge, Omegamatrix", "", "Venture Reloaded (2019) (AtariAge) (Hack)", "Transformative hack of Venture", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "742de93b8d849220f266b627fbabba82", "", "", "SCSIcide (25-02-2001) (Chris Wilkson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7450ae4e10ba8380c55b259d7c2b13e8", "", "", "Register Twiddler Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7454786af7126ccc7a0c31fcf5af40f1", "", "", "Phantom Tank (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7465b06b6e25a4a6c6d77d02242af6d6", "Atari", "CX26193", "8 in 1 (01-16-92) (Atari) (Prototype)", "Game 2 is Centipede, but doesn't work", "Prototype", "", "", "8IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7481f0771bff13885b2ff2570cf90d7b", "Arcadia Corporation, Brian McGhie", "AR-4104", "Rabbit Transit (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "749fec9918160921576f850b2375b516", "Spectravision - Spectravideo", "SA-205", "China Syndrome (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "74d072e8a34560c36cacbc57b2462360", "Sancho - Tang's Electronic Co.", "TEC002", "Seahawk (1982) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "74ebaca101cc428cf219f15dda84b6f8", "Activision, Alan Miller", "AG-007, CAG-007", "Tennis (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "74f623833429d35341b7a84bc09793c0", "Zellers", "", "Radar (Zellers)", "AKA Exocet", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75028162bfc4cc8e74b04e320f9e6a3f", "Atari, Greg Easter, Mimi Nyden", "CX26107", "Snow White (02-09-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7511c34518a9a124ea773f5b0b5c9a48", "", "", "Donkey Kong (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75169c08b56e4e6c36681e599c4d8cc5", "M Network - INTV - APh Technological Consulting, Hal Finney", "MT5666", "Astroblast (1982) (M Network)", "Can also use left joystick", "Uncommon", "", "", "", "", "", "", "", "PADDLES", "", "YES", "AUTO 55", "", "", "", "" }, - { "752da1c0acd7d132ccfb0b1067f53cf6", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "753375d183c713cfa0aa7298d1f3067b", "Arcadia Corporation, Steve Hales, Stephen Harland Landrum", "AR-4102", "Suicide Mission (1982) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7550b821ee56fb5833dca2be88622d5a", "", "", "Multiple Moving Objects Demo (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75511bb694662301c9e71df645f4b5a7", "Activision, Bob Whitehead - Ariola", "EAG-011, PAG-011 - 711 011-715", "Stampede (1981) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "755fed16b48e81de05130708a905d00d", "SnailSoft", "", "Comitoid beta 3 (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "756ca07a65a4fbbedeb5f0ddfc04d0be", "Atari, Jim Huether", "CX2629, CX2629P", "Sky Diver (1979) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7574480ae2ab0d282c887e9015fdb54c", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7576dd46c2f8d8ab159d97e3a3f2052f", "Goliath - Hot Shot", "83-112", "Time Machine (1983) (Goliath) (PAL)", "AKA Asteroid Fire", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "757f529026696e13838364dea382a4ed", "Activision, David Crane - Ariola", "EAX-014, PAX-014, EAX-014-04B, EAX-014-04I - 711 014-720", "Grand Prix (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75893a9dc5de4b91cc426959b82a1da0", "Champ Games", "CG-02-P", "Conquest Of Mars (2010) (PAL60)", "Rev 2 release", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75a303fd46ad12457ed8e853016815a0", "ZiMAG - Emag - Vidco", "715-111 - GN-060", "Immies & Aggies (1983) (ZiMAG) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75b22fdf632d76e246433db1ebccd3c4", "", "", "Skeleton+ (05-05-2003) (Eric Ball) (PAL)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75b557be7f08db84ec5b242207b9f241", "", "", "Space Treat (30-12-2002) (Fabrizio Zavagli) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75e276ba12dc4504659481c31345703a", "Arcadia Corporation, Kevin Norman", "AR-4103", "Killer Satellites (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75e8d8b9e9c5c67c2226dbfd77dcfa7d", "", "", "2600 Digital Clock (V b1) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75ea128ba96ac6db8edf54b071027c4e", "Atari, David Crane", "CX26163P", "Slot Machine (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "75ea60884c05ba496473c23a58edf12f", "Atari, Howard Scott Warshaw - Sears", "CX2655 - 49-75167", "Yars' Revenge (1982) (Atari) (PAL) [a]", "ROM must be started in bank 0", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "75ee371ccfc4f43e7d9b8f24e1266b55", "Atari, Greg Easter, Mimi Nyden", "CX26107", "Snow White (11-09-1982) (Atari) (Prototype)", "ROM must be started in bank 0", "Prototype", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7608abdfd9b26f4a0ecec18b232bea54", "Atari, Bob Whitehead", "CX26163P", "NFL Football (32 in 1) (1988) (Atari) (PAL)", "AKA Football", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7623a639a6fffdb246775fe2eabc8d01", "Activision, Bob Whitehead", "AG-005, CAG-005, AG-005-04", "Skiing (1980) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7628d3cadeee0fd2e41e68b3b8fbe229", "Atari", "CX26163P", "Fishing Derby (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7648e72a5b5899076688df18a1ddcf72", "CBS Electronics, Richard K. Balaska Jr., Andy Frank, Stuart Ross", "4L 2520 5000", "Tunnel Runner (1983) (CBS Electronics) (Prototype)", "Black Box", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "764ce6801f28a9ad36f11de3e57c053b", "Atari, Jim Huether, Alan J. Murphy, Robert C. Polaro", "CX2666", "RealSports Volleyball (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "76809eb1ee0db8a318308a5cdda0f4e2", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (1983) (Atari) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "769ddc995dbb9edb8167efcea9f34a7c", "", "", "H.E.R.O. (Genesis)", "Genesis controller (B is laser, C is dynamite)", "Hack of H.E.R.0.", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "76a9bf05a6de8418a3ebc7fc254b71b4", "VideoSoft, Jerry Lawson, Dan McElroy", "VS1008", "Color Bar Generator (1984) (VideoSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "76c685d1a60c0107aa54a772113a2972", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (3 of 3) (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "76c88341017eae660efc6e49c4b6ab40", "", "", "Indiana Pitfall (Hack)", "Hack of Pitfall!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "76ee917d817ef9a654bc4783e0273ac4", "Otto Versand", "311377", "Fox & Goat (Double-Game Package) (1983) (Otto Versand) (PAL)", "AKA Nuts", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "76f53abbbf39a0063f24036d6ee0968a", "M Network, David Akers, Joe 'Ferreira' King, Patricia Lewis Du Long, Jeff Ratcliff - INTV", "MT7045", "Bump 'n' Jump (1983) (M Network)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "76f66ce3b83d7a104a899b4b3354a2f2", "UA Limited", "", "Cat Trax (1983) (UA Limited) (1)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "77057d9d14b99e465ea9e29783af0ae3", "Activision, David Crane", "AG-001", "Dragster (1980) (Activision)", "AKA Drag Strip", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7732e4e4cc2644f163d6650ddcc9d9df", "HES", "771-333", "2 Pak Special - Challenge, Surfing (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7761418d46af069b8cd80c29fe6cd814", "Dion Olsthoorn", "RetroN 77 edition", "Amoeba Jump (R77) (DionoiD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7778ac65d775a079f537e97cbdad541c", "", "", "Spider Fighter (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "777aece98d7373998ffb8bc0b5eff1a2", "", "", "2600 Collison Demo 2 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "77887e4192a6b0a781530e6cf9be7199", "Atari", "CX2604", "Space War (1978) (Atari) [b1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "77be57d872e3f5b7ecf8d19d97f73281", "", "", "Basketball (208 in 1) (Unknown) (PAL)", "Console ports are swapped", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "77cd9a9dd810ce8042bdb9d40e256dfe", "Kyle Pittman", "", "Evil Dead (2003) (Kyle Pittman) (Hack)", "Hack of Haunted House", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "77d0a577636e1c9212aeccde9d0baa4b", "Atari, Joe Decuir", "CX2621, CX2621P", "Video Olympics (1977) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "PADDLES_IAXDR", "YES", "AUTO 60", "", "", "", "" }, - { "78297db7f416af3052dd793b53ff014e", "", "", "Poker Squares (V0.17) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7836794b79e8060c2b8326a2db74eef0", "", "", "RIOT RAM Test (26-11-2002) (Dennis Debro)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "784176346e9422733d55c427230e5bad", "Activision, Alex DeMeo", "", "Title Match Pro Wrestling (1989) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "784abfdb31d5341e5bd404d8d2a71c3b", "Alessandro Ciceri", "", "MagiCard (TV format conversion) (alex_79) (PAL)", "MagiCard PAL conversion hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7860716fa5dbc0fffab93fb9a4cb4132", "", "", "Hangman Monkey Wordlist (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7867ee819b53d69cfcfe740f7ddca574", "Arcadia Corporation, Dennis Caswell", "1 AR-4000, AR-4100", "Phaser Patrol (1982) (Arcadia) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "787ebc2609a31eb5c57c4a18837d1aee", "Prescott", "", "Vault Assault (19xx) (Prescott)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "78821ef76ebc3934850d1bc1b9e4f4b0", "HES - Activision", "542", "Hot Action Pak - Ghostbusters, Tennis, Plaque Attack (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "78963290052fd17c6c7998305ab3a6a0", "", "", "Push (V0.08) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "78b84cfb1c57b0488d674d2374e656e6", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (1 of 3) (1982) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "78c2de58e42cd1faac2ea7df783eaeb3", "", "", "Fu Kung! (V0.07) (25-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "79004f84bdeee78d142e445057883169", "CCE", "C-830", "Planet Patrol (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "791bc8aceb6b0f4d9990d6062b30adfa", "Activision, David Crane - Ariola", "EAX-018, EAX-018-04B, EAX-018-04I - 711 018-725", "Pitfall! (1982) (Activision) (PAL)", "Abenteuer im Urwald (Jungle Runner)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "791c88eca9836af8c34bf32b07cb58a7", "SpiceWare - Darrell Spice Jr.", "SW-05", "Stay Frosty 2 (PAL60)", "AtariAge Holiday Greetings 2014", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, - { "7926083ad423ed685de3b3a04a914315", "Barry Laws Jr.", "", "Face Invaders 2 (Barry Laws Jr.) (Hack)", "Hack of Astroblast", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "792b1d93eb1d8045260c840b0688ec8f", "Kroko", "", "3E Bankswitch Test (TIA @ $00)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7972e5101fa548b952d852db24ad6060", "Atari - Sears", "CX2627 - 6-99841", "Human Cannonball (1979) (Atari)", "AKA Cannon Man", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "798b8921276eec9e332dfcb47a2dbb17", "Atari - CCW, Gary Stark", "CX26102", "Cookie Monster Munch (1983) (Atari) (PAL) [a]", "Uses Kids/Keypad Controllers", "", "", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "" }, - { "798cc114f1623c14085868cd3494fe8e", "", "", "Pins Revenge (Atari Freak 1)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7991e1797e5e9f311fd957e62d889dff", "Joe Grand", "", "SCSIcide (v1.1) (2001) (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "AUTO 65", "", "", "", "" }, - { "7996b8d07462a19259baa4c811c2b4b4", "", "", "Math Gran Prix (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "79ab4123a83dc11d468fb2108ea09e2e", "Activision - Cheshire Engineering, David Rolfe, Larry Zwick", "AZ-037-04", "Beamrider (1984) (Activision)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "79b649fb812c50b4347d12e7ddbb8400", "", "", "Red Pong Number 2 Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "79c27f90591e3fdc7d2ed020ecbedeb3", "CCE", "C-815", "Seaquest (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "79d4af56036ec28f298cad964a2e2494", "", "", "Hangman Pac-Man Wordlist (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "79d6f61da3c64688ac8e075667f8a39f", "", "", "Tie-Fighters (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "79e5338dbfa6b64008bb0d72a3179d3c", "M Network - INTV, David Akers, Patricia Lewis Du Long", "MT4313", "Star Strike (1983) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "79fcdee6d71f23f6cf3d01258236c3b9", "Atari - GCC, Mike Feinstein, John Mracek", "CX2673, CX2673P", "Phoenix (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7a09299f473105ae1ef3ad6f9f2cd807", "Atari, Steve Wright", "CX2616P", "Pele's Soccer (1981) (Atari) (PAL)", "AKA Pele's Championship Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7a2af383014f5d810ad26d322823549d", "", "", "FlickerSort Demo (20-04-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7a5463545dfb2dcfdafa6074b2f2c15e", "20th Century Fox Video Games - Sirius Software, Mark Turmell", "11007", "Turmoil (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7a63d7ea3f2851bcf04f0bb4ba1a3929", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (3 of 4) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7a64a8b727c8215d945e37d565ca95a5", "Atari, Warren Robinett", "CX2606", "Slot Racers (1978) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7a64b5a6e90619c6aacf244cdd7502f8", "Baroque Gaming (Brian Eno)", "", "Warring Worms (Beta 1) (2002) (Baroque Gaming)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7a7f6ab9215a3a6b5940b8737f116359", "Arcadia Corporation, Kevin Norman", "AR-4103", "Killer Satellites (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7a93d0c029eaa72236523eedc3f19645", "", "", "20 Sprites at Once Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ab0917107b6ec768a5ebaadf28c497a", "", "", "Santa's Helper (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "7ab210f448de518fa61a5924120ba872", "", "", "Fortress (20-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ab2f190d4e59e8742e76a6e870b567e", "Apollo, Larry Martin", "AP-2008", "Guardian (1982) (Apollo)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 65", "", "", "", "" }, - { "7ac4f4fb425db38288fa07fb8ff4b21d", "Goliath", "83-213", "Space Eagle (1983) (Goliath) (PAL)", "AKA Exocet", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ad257833190bc60277c1ca475057051", "Atari, Alan J. Murphy, Robert Zdybel", "CX2668", "RealSports Football (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7ad782952e5147b88b65a25cadcdf9e0", "Imagic, Dave Johnson", "720119-1A, 03211", "Kwibble (1983) (Imagic) (Prototype)", "AKA Quick Step! Beta", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7adbcf78399b19596671edbffc3d34aa", "Atari, Mimi Nyden, Joseph Tung", "CX26152", "Super Baseball (1988) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7af40c1485ce9f29b1a7b069a2eb04a7", "Amiga - Video Soft", "3120", "Mogul Maniac (1983) (Amiga)", "Uses the Amiga Joyboard", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b24bfe1b61864e758ada1fe9adaa098", "Atari, Chris Crawford", "", "Wizard (1980) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b33407b2b198af74906b936ce1eecbb", "King Atari", "", "Ghostbuster 2 (King Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7b3cf0256e1fa0fdc538caf3d5d86337", "CommaVid, Joseph Biel", "CM-009", "Stronghold (1983) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b43c32e3d4ff5932f39afcb4c551627", "Syncro, Daniel Wolf", "", "Kamikaze Saucers (1983) (Syncro) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b4be337ac4d73eda75c848355f6f480", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b5207e68ee85b16998bea861987c690", "Atari, Carol Shaw", "CX26163P", "3-D Tic-Tac-Toe (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b57318c489ff178f7ff500da1ec9e8c", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b6f3348dbf71ada88db0fdaf7feefe0", "", "", "3-D Corridor (Pink Spiral) (31-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b79beb378d1b4471def90ceccf413de", "", "", "Pitfall Cupcake (Hack)", "Hack of Pitfall", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b7b4ac05232490c28f9b680c72998f9", "Zellers", "", "Freeway (Zellers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b8a481e0c5aa78150b5555dff01f64e", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (05-12-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7b938c7ddf18e8362949b62c7eaa660a", "Atari, Bob Whitehead - Sears", "CX2603 - 99803, 49-75601", "Star Ship (1977) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ba07d4ea18bf3b3245c374d8720ad30", "Starpath Corporation, Stephen H. Landrum", "AR-4101", "Communist Mutants from Space (Preview) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7bb286cb659d146af3966d699b51f509", "Atari - Axlon, Tod Frye", "CX26178", "Save Mary! (04-03-1989) (Atari) (Prototype)", "AKA Saving Mary", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7bc4fd254ec8c0a25a13f02fd3f762ff", "Retroactive", "", "Qb (V1.00) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7c00e7a205d3fda98eb20da7c9c50a55", "Apollo - Games by Apollo, Larry Minor, Ernie Runyon, Ed Salvo", "AP-2004", "Lost Luggage (1982) (Apollo)", "AKA Airport Mayhem", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7c4a499d343fca0cef2d59dd16af621a", "", "", "Poker Card Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7c757bb151269b2a626c907a22f5dae7", "TNT Games - Sculptured Software, Adam Clayton", "26192", "BMX Air Master (1989) (TNT Games) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7c7a4a2d505c2d0c75337c44711d8d54", "Atari, Warren Robinett", "", "Elf Adventure (04-22-83) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7c9b3b8b25acf2fe3b8da834f69629c6", "", "", "I Robot (1984) (Atari) (Prototype) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ca7a471d70305c673fedd08174a81e8", "Tim Snider", "", "Venture II (2001) (Tim Snider)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7cc77f6745e1f2b20df4a4327d350545", "Atari, Richard Maurer", "CX2632, CX2632P", "Space Invaders (1980) (Atari) (PAL) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ccf350354ee15cd9b85564a2014b08c", "", "", "Big Dig (13-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7cd379da92c93679f3b6d2548617746a", "", "", "Demo Image Series #5 - Clown (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7cd900e9eccbb240fe9c37fa28f917b5", "Jone Yuan Telephonic Enterprise Co", "", "Bi! Bi! (Jone Yuan) (PAL)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ced6709f091e79a2ab9575d3516a4ac", "Activision, Steve Cartwright - Ariola", "EAX-027 - 711 027-722", "Plaque Attack (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7cedffa0db65d610568b90aeca705ac6", "Atari, Rob Fulop - Sears", "CX2638 - 49-75166", "Missile Command (1981) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7cf3a9267cdb95aba91abc5838d61cc5", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7d0b49ea4fe3a5f1e119a6d14843db17", "Gameworld, J. Ray Dettling", "133-008", "Frankenstein's Monster (1983) (Gameworld) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7d1034bcb38c9b746ea2c0ae37d9dff2", "Atari, Brad Stewart", "", "Morse Code Tutor (1979) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7d3cdde63b16fa637c4484e716839c94", "CCE", "", "Road Runner (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7d483b702c44ee65cd2df22cbcc8b7ed", "Atari, Warren Robinett", "", "Elf Adventure (05-25-83) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7d5c3b7b908752b98e30690e2a3322c2", "Dactari - Milmar", "", "Freeway (Dactari - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7d726fa494f706784bafeb1b50d87f23", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (07-27-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7d8287e8423a56d4f8cef10435d97179", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.2 (NTSC) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7d903411807704e725cf3fafbeb97255", "Imagic, Rob Fulop", "720104-1A, 720104-1B, IA3204", "Cosmic Ark (Reaction) (1982) (Imagic) [selectable starfield]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7d93071b3e3616093a6b5a98b0315751", "", "", "Gunfight 2600 - Music & Bugfixes 2 (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7d940d749e55b96b7b746519fa06f2de", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix (Preview) (1983) (Arcadia) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7d9c96b215d1941e87b6fb412eb9204f", "", "", "Othello (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7da9de8d62fcdd3a2c545b2e720c2a61", "CommaVid, John Bronstein", "CM-001", "MagiCard (1981) (CommaVid) (4K)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7dbc8fa2e488e3f6b87fbe0f76c5b89f", "Ed Federmeyer", "", "Sound X (1996) (Ed Federmeyer)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7dc03a1f56d0e6a8aae3e3e50d654a08", "", "", "Hozer Video Demo (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7dcbfd2acc013e817f011309c7504daa", "Arcadia Corporation, Dennis Caswell", "AR-4000, AR-4100", "Phaser Patrol (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7dd9c5284422f729066ab22a284c8283", "CCE", "C-833", "Target Practice (1983) (CCE) [a]", "AKA Carnival", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ded20e88b17c8149b4de0d55c795d37", "Thomas Jentzsch, Paul Slocum", "", "Thrust+ Platinum (v1.26)", "", "New Release, supports BoosterGrip", "", "", "", "", "", "", "", "BOOSTERGRIP", "DRIVING", "", "", "", "", "", "" }, - { "7dfd100bda9abb0f3744361bc7112681", "Telesys, Don Ruffcorn", "1006", "Demolition Herby (1983) (Telesys) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7e2fe40a788e56765fe56a3576019968", "Activision - Imagineering, Donald Hahn, Dan Kitchen", "AK-050-04", "Double Dragon (1989) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7e464186ba384069582d9f0c141f7491", "PlayAround - J.H.M.", "206", "General Re-Treat (1982) (PlayAround) (PAL)", "AKA Custer's Revenge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7e4783a59972ae2cd8384f231757ea0b", "Atari - Imagineering, Dan Kichen", "CX26139P", "Crossbow (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7e51a58de2c0db7d33715f518893b0db", "CBS Electronics, E.F. Dreyer, Ed Salvo", "4L 2738 0000", "Mountain King (1983) (CBS Electronics) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7e52a95074a66640fcfde124fffd491a", "Atari - GCC, Mike Feinstein, John Mracek", "CX2673", "Phoenix (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7e7c4c59d55494e66eef5e04ec1c6157", "Baroque Gaming (Brian Eno)", "", "Warring Worms (2002) (Baroque Gaming)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7e8aa18bc9502eb57daaf5e7c1e94da7", "CBS Electronics - Roklan, Joe Hellesen, Joe Wagner", "M8774, M8794", "Wizard of Wor (1982) (CBS Electronics)", "Uses the Joystick Controllers (swapped)", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "YES", "" }, - { "7e9da5cb84d5bc869854938fe3e85ffa", "Atari, Ian Shepard - Sears", "CX2604 - 6-99812, 49-75106", "Space War (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7e9f088e15b2af9ff3411991393e6b1f", "Atari - Roklan, Joe Gaucher", "CX2679", "RealSports Basketball (12-28-1982) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7eab0284a0cd1043461d446a08d08cec", "Jone Yuan Telephonic Enterprise Co", "", "Basic Math (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ead257e8b5a44cac538f5f54c7a0023", "Xonox, Anthony R. Henderson", "99006, 6220", "Sir Lancelot (1983) (Xonox) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7eaf009a892f03d90682dc1e67e85f07", "Fabrizio Zavagli", "", "Bounce! (18-03-2003) (Fabrizio Zavagli)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7eafc9827e8d5b1336905939e097aae7", "Atari, Mark R. Hahn", "", "Elk Attack (1987) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7eba20c2291a982214cc7cbe8d0b47cd", "Imagic, Dave Johnson", "720119-1A, 03211", "Quick Step! (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ed61a18cebdeca0a93be1f5461731e5", "Dactari", "", "Skiing (Dactari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ed7130a6e4020161836414332b11983", "", "", "Fu Kung! (V0.05 Cuttle Card Compatible) (13-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7edc8fcb319b3fb61cac87614afd4ffa", "Activision, Alan Miller", "AG-003", "Checkers (1980) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ef3ca08abde439c6ccca84693839c57", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix (1983) (Arcadia) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, - { "7ef74879d7cb9fa0ef161b91ad55b3bb", "CCE", "", "Vanguard (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7f0209cfcc3d181715463f4d6451cecf", "Atari - GCC, John Allred, Douglas B. Macrae, Betty Ryan Tylko", "CX2694", "Pole Position (05-15-1983) (Atari) (Prototype)", "AKA RealSports Driving", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7f07cd2e89dda5a3a90d3ab064bfd1f6", "Videospielkassette - Ariola", "PGP234", "Boxen (Ariola) (PAL)", "AKA Boxing", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7f430c33044e0354815392b53a9a772d", "HES", "773-891", "2 Pak Special - Cavern Blaster, City War (1992) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7f525b07bc98080cc8950f7284e52ede", "Atari", "", "128-in-1 Junior Console (Chip 4 of 4) (1991) (Atari) (PAL)", "Actually contains only 16 games, not 32", "", "", "", "16IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7f54fa6aa824001af415503c313262f2", "HES", "", "Boom Bang (HES) (PAL)", "AKA Crackpots", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7f6533386644c7d6358f871666c86e79", "CommaVid, Irwin Gaines", "CM-008", "Cakewalk (1983) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7f790939f7eaa8c47a246c4283981f84", "", "", "This Planet Sucks Demo 3 (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7f819454734ddf93f83fefcffcd3e212", "Jone Yuan Telephonic Enterprise Co", "", "Outlaw (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7f9fbe3e00a21ea06e6ae5e0e5db2143", "", "", "Skate Boardin' (2002) (Skyworks)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7fcd1766de75c614a3ccc31b25dd5b7a", "PlayAround - J.H.M.", "203", "Knight on the Town (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "7fcd5fb59e88fc7b8473c641f44226c3", "CCE", "C-807", "Space Tunnel (1983) (CCE)", "AKA O Tunel Espacial", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ff53f6922708119e7bf478d7d618c86", "Suntek", "SS-032", "Walker (1983) (Suntek) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "7ffc2d80fd49a124808315306d19868e", "Ishido", "", "Domino (Ishido) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "801ba40f3290fc413e8c816c467c765c", "Hozer Video Games", "", "Gunfight 2600 - Westward Ho! (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "803393ed29a9e9346569dd1bf209907b", "Atari - GCC, Mark Ackerman, Tom Calderwood, Glenn Parker", "CX2684", "Galaxian (02-04-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "804ed85eadf1ce3e93721547cbea7592", "CCE", "", "Fishing Derby (CCE) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8055b9c2622136fd91edfea6df642daf", "Activision", "", "Unknown Activision Game #1 (1983) (Activision) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "805f9a32ef97ac25f999a25014dc5c23", "SnailSoft", "", "Balthazar (SnailSoft)", "AKA Babylon 5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8068e07b484dfd661158b3771d6621ca", "Epyx, Steven A. Baker, Peter Engelbrite", "80561-00286", "California Games (1987) (Epyx) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "807841df228ee8aab0a06ee639ce5a8a", "Coleco - Project Guild - GMA, Michael Green, Anthony R. Henderson, Gary Littleton", "2455", "Turbo (1982) (Coleco) (Prototype)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "807a8ff6216b00d52aba2dfea5d8d860", "John Payson", "", "Strat-O-Gems Deluxe (2005) (J. Payson)", "Uses the AtariVox controller", "Homebrew", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "", "" }, - { "808c3b1e60ee0e7c65205fa4bd772221", "CCE", "", "Defender (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "80cd42881e670e4b74a9ccd10d0d7b2e", "20th Century Fox Video Games - Sirius, Ed Hodapp", "11004", "Deadly Duck (1982) (20th Century Fox) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "80cec82239913cb8c4016eb13749de44", "David Marli", "", "Invaders from Space by David Marli (Space Invaders Hack)", "Hack of Space Invaders (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "80dcbe1b55f12be731a224a53ee4ad5f", "Bit Corporation", "R320", "Amidar (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "80e1410ec98089e0733cc09e584dba4b", "Dynamics", "DY-293005", "Jumping Jack (1983) (Dynamics) (PAL)", "AKA Bobby Is Going Home", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "80e52315919bd8a8b82a407ccd9bb13f", "", "", "Euchre (Jul 28) (2002) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "80e5400470ac788143e6db9bc8dd88cf", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (06-XX-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "80f7bf7418a462e8687ecefeaf6eb9c2", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (NTSC) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8101efafcf0af32fedda4579c941e6f4", "", "", "Okie Dokie (4K) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "81073d0377a2badef8d5e74fc44fc323", "Thomas Jentzsch", "", "Sadoom (TJ) (PAL60) (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "8108162bc88b5a14adc3e031cf4175ad", "Suntek", "SS-030", "Skydiver (1983) (Suntek) (PAL)", "AKA Parachute", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8108ad2679bd055afec0a35a1dca46a4", "", "", "Maze Craze (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "NTSC", "", "", "" }, - { "810d8952af5a6036fca8d0c4e1b23db6", "Tiger Vision - Eram", "", "Keystone (Tiger Vision)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "81254ebce88fa46c4ff5a2f4d2bad538", "Atari, David Crane - Sears", "CX2653 - 6-99823, 49-75111", "Slot Machine (1979) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "81341f00b61ab37d19d1529f483d496d", "", "", "Fu Kung! (V0.04) (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "813985a940aa739cc28df19e0edd4722", "Imagic, Bob Smith", "720000-201, 720102-1B, IA3201", "Star Voyager (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "81414174f1816d5c1e583af427ac89fc", "Thomas Jentzsch", "", "Treasure Below (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "" }, - { "814210c0e121f7dbc25661b93c06311c", "", "", "Joustpong (16-09-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "81591a221419024060b890665beb0fb8", "Atari, Carla Meninsky, Ed Riddle", "CX2611, CX2611P", "Indy 500 (1977) (Atari) (PAL)", "Uses the Driving Controllers", "", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "45", "", "", "", "" }, - { "8190b403d67bf9792fe22fa5d22f3556", "", "", "Sky Diver (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "819aeeb9a2e11deb54e6de334f843894", "Atari, Gary Palmer", "CX2661", "Fun with Numbers (1980) (Atari)", "AKA Basic Math", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "81a010abdba1a640f7adf7f84e13d307", "Telegames - VSS", "7062 A305", "Universal Chaos (1988) (Telegames)", "AKA Targ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "81b3bf17cf01039d311b4cd738ae608e", "CBS Electronics - Roklan, Joe Gaucher, Alex Leavens", "M8776, M8793", "Gorf (1982) (CBS Electronics)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "81f4f0285f651399a12ff2e2f35bab77", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "822a950f27ff0122870558a89a49cad3", "", "", "Space Jockey (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "82337e5fe0f418ca9484ca851dfc226a", "Thomas Jentzsch", "", "Robot City (V1.0) (Alpha) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "826481f6fc53ea47c9f272f7050eedf7", "Imagic, Dennis Koble", "720103-1A, IA3203", "Atlantis II (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "827a22b9dffee24e93ed0df09ff8414a", "CBS Electronics, Stuart Ross", "", "Wings (10-10-1983) (CBS Electronics) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8290daea8391f96d7c8e1482e184d19c", "Eckhard Stolberg", "", "Frame Timed Sound Effects (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "82bf0dff20cee6a1ed4bb834b00074e6", "Suntek", "SS-035", "Panda (1983) (Quest) (Suntek) (PAL)", "AKA Panda Chase", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "82c25d1c35e6ac6f893d1d7c2fc2f9c8", "Atari, Larry Kaplan", "CX2628, CX2628P", "Bowling (1979) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "82de957d155fc041fc6afb8315a28550", "Coleco, Joseph Biel", "2457", "Venture (1982) (Coleco) (Prototype)", "2K", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "82e7aab602c378cffdd8186a099e807e", "", "", "Space Robot (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "82efe7984783e23a7c55266a5125c68e", "CCE", "C-837", "Pizza Chef (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "834a2273e97aec3181ee127917b4b269", "Quelle", "043.151 0, 874.382 5", "Die hungrigen Froesche (1983) (Quelle) (PAL)", "AKA Frogs and Flies", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "835759ff95c2cdc2324d7c1e7c5fa237", "20th Century Fox Video Games, Frank Cohen, Douglas 'Dallas North' Neubauer", "11011", "M.A.S.H (1983) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8372eec01a08c60dbed063c5524cdfb1", "", "", "Cross Force (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8388d6fe59c38c0b3a6ab2c58420036a", "Atari, Frank Hausman, Mimi Nyden, Steve Woita", "CX2686", "Quadrun (12-06-1982) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "83b8c01c72306d60dd9b753332ebd276", "", "", "Bank Heist (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "83bdc819980db99bf89a7f2ed6a2de59", "Atari, Carla Meninsky - Sears", "CX2637 - 49-75158", "Dodge 'Em (1980) (Atari) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "83d15fb9843d9f84aa3710538403f434", "", "", "Gunfight 2600 - Release Candidate (2001) (MP) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "83e1b9f22f29259679e1018bc04cc018", "Bit Corporation", "R320", "Fast Eddie (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "83f05ececae8be59ba1e51135f4bdcbf", "", "", "Demo Image Series #13 - Mario (4K Interleaved Chronocolour) (05-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "83f50fa0fbae545e4b88bb53b788c341", "Atari, Larry Kaplan - Sears", "CX2643 - 6-99815", "Codebreaker (1978) (Atari) (4K)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "83fafd7bd12e3335166c6314b3bde528", "Epyx, Steven A. Baker, Tod Frye, Peter Engelbrite", "80561-00251", "Winter Games (1987) (Epyx)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "840a5a2eaea24d95d289f514fd12f9bb", "", "", "GBImprov (Hack)", "Hack of Ghostbusters", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "841057f83ce3731e6bbfda1707cbca58", "Champ Games", "CG-04-N", "Super Cobra Arcade (NTSC)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, - { "841b7bc1cad05f5408302308777d49dc", "Activision", "", "Unknown Activision Game (10-22-1982) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "84290e333ff7567c2380f179430083b8", "Imagic, Dave Johnson", "13211, EIX-004-04I", "Quick Step! (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "843435eb360ed72085f7ab9374f9749a", "Joe Grand", "", "SCSIcide (1.31) (Joe Grand)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "AUTO 65", "", "", "", "" }, - { "84535afb9a69712ec0af4947329e08b8", "CCE", "C-868", "Bingo (1983) (CCE) (PAL)", "AKA Dice Puzzle", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8454ed9787c9d8211748ccddb673e920", "Froggo", "FG1002", "Spiderdroid (1987) (Froggo)", "AKA Amidar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8490e1014c2baa0d3a3a08854e5d68b3", "Xonox, Anthony R. Henderson", "99006, 6220", "Sir Lancelot (1983) (Xonox) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "84db818cd4111542a15c2a795369a256", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "850ffd5849c911946b24544ea1e60496", "", "", "Invasion (07-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "851cc1f3c64eaedd10361ea26345acea", "Activision, David Crane", "AG-009, AG-009-04", "Freeway (1981) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "85227160f37aaa29f5e3a6c7a3219f54", "Activision, David Crane", "AG-004", "Fishing Derby (1980) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8530caaaf40acbdcd118c282b5f8a37a", "", "", "This Planet Sucks Demo 2 (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8538c5e3ee83267774480649f83fa8d6", "", "", "Escape Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "853c11c4d07050c22ef3e0721533e0c5", "", "", "Oink! (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "85470dcb7989e5e856f36b962d815537", "Atari - Sculptured Software, Inc., Steve Aguirre", "CX26162", "Fatal Run (1989) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "85478bb289dfa5c63726b9153992a920", "", "", "Candi (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "854b68b93e7123a3be42b5a2a41f75d7", "Atari, Carol Shaw", "CX2618, CX2618P", "3-D Tic-Tac-Toe (1980) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "85502d69fe46b7f54ef2598225678b47", "Jone Yuan Telephonic Enterprise Co", "", "Super-Ferrari (Jone Yuan)", "AKA Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "85564dd0665aa0a1359037aef1a48d58", "ITT Family Games", "554-33 367", "Laser Base (1983) (ITT Family Games) (PAL) [a]", "AKA The End of the World (Perry Rhodan-Serie)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8556b42aa05f94bc29ff39c39b11bff4", "Atari, Craig Nelson - Sears", "CX2617 - 49-75183", "Backgammon (1979) (Atari)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "AUTO 80", "", "", "", "" }, - { "855a42078b14714bcfd490d2cf57e68d", "Atari, Suki Lee", "CX26113", "Miss Piggy's Wedding (1983) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8597f66dd37d9c855663804669d69d7a", "Tigervision, Warren Schwader", "7-003", "Threshold (1982) (Tigervision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "85a4133f6dcf4180e36e70ad0fca0921", "CCE", "C-827", "Chopper Command (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "85b1bca93e69f13905107cc802a02470", "Atari, Craig Nelson", "CX2617, CX2617P", "Backgammon (1979) (Atari) (PAL)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "AUTO 80", "", "", "", "" }, - { "85bbefb90e16bf386b304c1e9a1f6084", "Champ Games", "CG-02-P", "Conquest Of Mars (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "85e48d68c8d802e3ba9d494a47d6e016", "", "", "Ship Demo (V 15) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "85e564dae5687e431955056fbda10978", "Milton Bradley Company - Renaissance Technology, Ty Roberts", "4362", "Survival Run (1983) (Milton Bradley)", "AKA Cosmic Commander", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "86128001e69ab049937f265911ce7e8a", "Apollo - Games by Apollo, Steve Stringfellow", "AP-2005", "Lochjaw (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8619da7f6796cedff59e5aa20712fb4e", "Thomas Jentzsch", "", "Sadistroids (v1.2) (2003) (Thomas Jentzsch)", "Supports Driving Controller in right port", "", "", "", "", "", "", "", "", "", "DRIVING", "", "", "", "", "YES", "30" }, - { "862cf669cbced78f9ed31a5d375b2ebe", "", "", "Gunfight 2600 - Flicker acceptance (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8644352b806985efde499ae6fc7b0fec", "CCE", "C-801", "Mr. Postman (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8654d7f0fb351960016e06646f639b02", "Home Vision, R.J.P.G. - Gem International Corp. - VDI", "VCS83106", "Ski Hunt (1983) (Home Vision) (PAL)", "AKA Skiiing Hunt", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "866e5150c995c4ae5172e5207ba948c7", "Canal 3 - Intellivision", "", "Stampede (Canal 3) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "869abe0426e6e9fcb6d75a3c2d6e05d1", "", "", "Stampede (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "86b4aa76bbeb70e1a4f9211a9880ba8e", "", "", "Incoming (1 Player Version) (05-11-2002) (Ben Larson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8712cceec5644aacc2c21203d9ebe2ec", "Retroactive", "", "Qb (V0.10) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8726c17ee7b559cb7bf2330d20972ad0", "", "", "Cave Demo (21-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "873fb75a7788ba0f4ae715229a05545e", "", "", "Euchre (Improved Colors) (PAL) (26-09-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8747ba79cd39fa83a529bb26010db21b", "Atari, Richard Maurer", "CX2632, CX2632P", "Space Invaders (1980) (Atari) (PAL) [different speed and colors]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8749a0d088df25218c149dc325abc7ca", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype) [a5]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "874c76726f68c166fcfac48ce78eef95", "", "", "Red Pong Number 2 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8764462d7d19a33b0717af22b99fc88f", "CCE", "", "Sky Jinks (CCE) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "87662815bc4f3c3c86071dc994e3f30e", "Intellivision Productions - M Network, Patricia Lewis Du Long, Stephen Tatsumi", "", "Swordfight (1983) (Intellivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "876a953daae0e946620cf05ed41989f4", "Retroactive", "", "Qb (V2.08) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "877a5397f3f205bf6750398c98f33de1", "Erik Eid", "", "Euchre (Beta) (PAL) (12-09-2002) (Erik Eid)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8786c1e56ef221d946c64f6b65b697e9", "20th Century Fox Video Games, David Lubar", "11015", "AKA Space Adventure", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8786f229b974c393222874f73a9f3206", "Activision, Larry Miller - Ariola", "EAX-021, EAX-021-04I - 711 021-720", "Spider Fighter (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8786f4609a66fbea2cd9aa48ca7aa11c", "Goliath", "5", "Open Sesame (1983) (Goliath) (PAL)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "87b460df21b7bbcfc57b1c082c6794b0", "Dennis Debro", "", "Climber 5 (20-03-2003) (Dennis Debro)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "87b6a17132fc32f576bc49ea18729506", "Atari, Andrew Fuchs, Courtney Granner, Jeffrey Gusman, Mark R. Hahn", "CX2690", "Pengo (1984) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "87bea777a34278d29b3b6029833c5422", "Thomas Jentzsch", "", "Polaris (1983) (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "87e79cd41ce136fd4f72cc6e2c161bee", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2675", "Ms. Pac-Man (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "87f020daa98d0132e98e43db7d8fea7e", "20th Century Fox Video Games - Sirius, David Lubar", "11001", "Worm War I (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "883258dcd68cefc6cd4d40b1185116dc", "Activision, David Crane - Ariola", "EAZ-030, EAZ-030-04B, EAZ-030-04I - 711 030-725", "Decathlon (1983) (Activision) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8874b68751fd2ba6d3306a263ae57a7d", "Eric Mooney", "", "Invaders by Erik Mooney (Alpha 1) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8885d0ce11c5b40c3a8a8d9ed28cefef", "Atari, Carol Shaw, Nick 'Sandy Maiwald' Turner - Sears", "CX2608 - 49-75165", "Super Breakout (1982 - 1981) (Atari)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, - { "888debb162d7d1ae71025b4ab794257f", "", "", "Interleaved ChronoColour - Nude Art (17-04-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "88a6c9c88cb329ee5fa7d168bd6c7c63", "CCE", "C-1007", "Jungle Hunt (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "88d300a38bdd7cab9edad271c18cd02b", "Funvision - Fund. Int'l Co.", "", "Pac Kong (Funvision) (PAL)", "AKA Inca Gold", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "88d7b6b3967de0db24cdae1c7f7181bd", "Atari - GCC, Dave Payne", "CX2669", "Vanguard (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "88d8a1accab58cf1abb043613cf185e9", "Ultravison", "", "Sabotage (Ultravison)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "88dce4037471424bb38ab6841aaa8cab", "", "", "Double-Height 6-Digit Score Display (Two Background Color Change) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "88ed87c011f699dd27321dbe404db6c8", "Activision, Dan Kitchen", "AX-029", "Crackpots (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "88f74ec75ef696e7294b7b6ac5ca465f", "Activision, Bob Whitehead", "AG-002, CAG-002, AG-002-04", "Boxing (1980) (Activision) (16K)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8905d54f48b8024fc718ed643e9033f7", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (05-24-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "890c13590e0d8d5d6149737d930e4d95", "Atari, David Crane - Sears", "CX2605 - 6-99822, 49-75109", "Outlaw (1978) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8917f7c1ac5eb05b82331cf01c495af2", "Bit Corporation", "PG202", "Space Tunnel (1982) (BitCorp) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8933976f2029c0d8492ebd8f4eb21492", "", "", "Synthcart Plus (09-02-2003) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8953bc11352d794431d3303e31d3b892", "Tigervision, Robert H. O'Neil", "7-007", "Polaris (02-17-1983) (Tigervision) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "896ec58f26e930e02f5e4f046602c3a1", "", "", "Synthcart (Beta) (2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "898143773824663efe88d0a3a0bb1ba4", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "AZ-033, AZ-033-04", "Space Shuttle (1983) (Activision) [FE]", "A Journey Into Space", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "898748d5eaac3164b0391a64ae1e0e32", "", "", "Hangman Man 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "898b5467551d32af48a604802407b6e8", "Bit Corporation", "PG208", "Snail Against Squirrel (1983) (BitCorp) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "89a65b83203980d5d4d60f52a584a5b8", "", "", "Marble Craze (PAL) (02-02-2003) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "89a68746eff7f266bbf08de2483abe55", "Atari, Jerome Domurat, Steve Woita", "CX2696", "Asterix (1984) (Atari)", "AKA Taz", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "89afff4a10807093c105740c73e9b544", "", "", "Pooyan (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "89eaba47a59cbfd26e74aad32f553cd7", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2001", "Spacechase (1982) (Apollo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8a159ee58b2f0a54805162984b0f07e5", "Atari - Sculptured Software, Inc., Steve Aguirre", "CX26162", "Fatal Run (1989) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8a183b6357987db5170c5cf9f4a113e5", "Atari - Roklan, Joe Gaucher", "CX2679", "RealSports Basketball (01-11-1983) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8a42e2c7266439d8997a55d0124c912c", "", "", "Hangman Invader Wordlist (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8a49cf1785e3dea2012d331a3ad476e1", "", "", "Boulderdash (10 Blocks Wide) (02-04-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8a6c84f481acf42abcb78ba5064ad755", "128-in-1 Junior Console", "", "Street Racer (128-in-1 Junior Console) (PAL) (4K)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "10 75", "", "", "", "" }, - { "8a8e401369e2b63a13e18a4d685387c6", "Activision, David Crane - Ariola", "EAG-008, PAG-008, EAG-008-04I - 711 008-720", "Laser Blast (1981) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8a9d874a38608964f33ec0c35cab618d", "Chris Cracknell", "", "Rescue Bira Bira (Chris Cracknell)", "Hack of Jungle Fever", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8a9d953ac3db52a313a90d6a9b139c76", "", "", "Hangman Invader Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8aad33da907bed78b76b87fceaa838c1", "Atari, Larry Kaplan", "CX26163P", "Air-Sea Battle (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8ac18076d01a6b63acf6e2cab4968940", "Atari, Dan Hitchens, Mimi Nyden", "CX2685", "Gravitar (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8af58a9b90b25907da0251ec0facf3b8", "Jone Yuan Telephonic Enterprise Co", "", "Cosmic Swarm (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8b04e9d132b8e30d447acaa6bd049c32", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (1982) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8b40a9ca1cfcd14822e2547eaa9df5c1", "Parker Brothers - Western Technologies, Dave Hampton, Tom Sloper", "931517", "Q-bert (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8b504b417c8626167a7e02f44229f0e7", "Retroactive", "", "Qb (V1.00) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8b556c3d9ca8e5e6e665bd759b93ffae", "", "", "Synthcart (2002) (Paul Slocum) (PAL) [!]", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8b5b1e3a434ebbdc2c2a49dc68f46360", "CBS Electronics - Woodside Design Associates - Imaginative Systems Software, Garry Kitchen", "4L1700, 4L1701, 4L1702, 4L1802, 4L2274", "Donkey Kong (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8b7ca29a55432f886cee3d452fb00481", "Starpath Corporation, Stephen H. Landrum, Jon Leupp", "11 AR-4201", "Sword of Saros (1983) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8b8152d6081f31365406cb716bd95567", "Atari", "CX2626, CX2626P", "Miniature Golf (1979) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8b8789c6669a4cee86c579a65332f852", "Digivision", "", "Plaque Attack (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8bbfd951c89cc09c148bfabdefa08bec", "UA Limited", "", "Pleiades (1983) (UA Limited) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8bc0d2052b4f259e7a50a7c771b45241", "Xonox - K-Tel Software, Anthony R. Henderson", "99007, 6240", "Tomarc the Barbarian (1983) (Xonox) [a]", "AKA Thundarr the Barbarian", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8bd8f65377023bdb7c5fcf46ddda5d31", "Activision, Bob Whitehead", "AG-019", "Sky Jinks (1982) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8bebac614571135933116045204f0f00", "Thomas Jentzsch", "", "Missile Command (Trakball) (2002) (TJ) (PAL)", "Uses the Trakball Controller", "Homebrew", "", "", "", "", "", "", "", "TRAKBALL", "TRAKBALL", "", "", "", "", "YES", "" }, - { "8c103a79b007a2fd5af602334937b4e1", "Thomas Jentzsch", "", "Laser Base (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8c136e97c0a4af66da4a249561ed17db", "", "", "Poker Squares (V0.27) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8c146c61817edd376bc1354c7f1ddc63", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8c1cc284edba691139d6626d062c606f", "Atari, Omegamatrix", "", "Super Breakout Menu (2020) (PAL60) (Hack)", "Hack of Super Breakout", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, - { "8c2fa33048f055f38358d51eefe417db", "Home Vision - Gem International Corp. - VDI", "VCS83137", "Teddy Apple (1983) (Home Vision) (PAL)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8c36ed2352801031516695d1eeefe617", "Epyx, Steven A. Baker, Tod Frye, Peter Engelbrite", "80561-00251", "Winter Games (1987) (Epyx) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8c7e5e2329f4f4e06cbcc994a30fd352", "Data Age", "DA1004", "Airlock (1982) (Data Age) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8c8a26ed57870daba8e13162d497bad1", "HES", "", "2 Pak Special - Dolphin, Oink (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8c8b15b3259e60757987ed13cdd74d41", "Supergame", "71", "River Raid (1984) (Supergame)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8c941fa32c7718a10061d8c328909577", "Digivision", "", "River Raid (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8ccaa442d26b09139685f5b22bf189c4", "Retroactive", "", "Qb (V1.01) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8ccf63141a029603572d1056e772990e", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (NTSC) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8cd26dcf249456fe4aeb8db42d49df74", "Atari - Imagineering, Dan Kichen", "CX26139", "Crossbow (1988) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8ce9126066f2ddd5173e9f1f9ce1494e", "Thomas Jentzsch", "", "Missile Command (Trakball) (2002) (TJ)", "Uses the Trakball Controller", "Homebrew", "", "", "", "", "", "", "", "TRAKBALL", "TRAKBALL", "", "", "", "", "YES", "" }, - { "8cf0d333bbe85b9549b1e6b1e2390b8d", "Atari, Brad Stewart", "CX2649, CX2649P", "Asteroids (1981) (Atari) (PAL)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8d00a38f4c8f8800f1c237215ac243fc", "", "", "3-D Corridor (Green) (30-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8d1e2a6d2885966e6d86717180938f87", "Thomas Jentzsch", "", "Missile Command (Amiga Mouse) (2002) (TJ)", "Uses Amiga Mouse Controller", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8d8b7d7b983f75debbdaac651e814768", "", "", "Demo Image Series #15 - Three Marios (PAL) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8d9a06101ebb0f147936356e645309b8", "", "", "Grid Pattern Demo 2 (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8da51e0c4b6b46f7619425119c7d018e", "Atari - Imagineering, David Lubar", "CX26183", "Sentinel (1991) (Atari)", "Uses the Light Gun Controller (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8db152458abaef3cfa7a4e420ddbda59", "", "", "Keystone Kapers (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8df4be9ddc54ac363b13dc57ceaf161a", "Scott Stilphen", "", "Asteroids SS (Scott Stilphen) (Hack)", "Hack of Asteroids", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8e0ab801b1705a740b476b7f588c6d16", "Activision, David Crane", "AG-009, AG-009-04", "Freeway (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8e42674972d6805068fc653e014370fd", "", "", "Skeleton (PAL) (15-10-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8e48ea6ea53709b98e6f4bd8aa018908", "CBS Electronics, Stuart Ross", "", "Wings (06-03-1983) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8e4cd60d93fcde8065c1a2b972a26377", "Imagic, Dan Oliver", "720118-2A, 13208, EIX-007-04I", "Laser Gates (1983) (Imagic) (PAL)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8e4fa8c6ad8d8dce0db8c991c166cdaa", "Atari, Bill Aspromonte, John Russell, Michael Sierchio, Robert Zdybel", "CX26114", "Pigs in Space (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8e512ad4506800458f99dec084fc2c64", "Bob Montgomery, Nathan Strum", "", "Reindeer Rescue (2005)", "2005 AtariAge Holiday Cart", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8e7241bfc8380aac3c0ef1b6881cdded", "Atari, Howard Scott Warshaw - Sears", "CX2655 - 49-75167", "Yars' Revenge (09-01-81) (Atari) (Prototype)", "Time Freeze", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8e737a88a566cc94bd50174c2d019593", "Quelle", "343.173 1", "Feuerwehr im Einsatz (1983) (Quelle) (PAL)", "AKA Fire Fighter", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8e822b39a71c84ac875f0107fb61d6f0", "", "", "Hangman Ghost Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8e879aa58db41edb67cbf318b77766c4", "Thomas Jentzsch", "", "Cosmic Commuter (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8e887d1ba5f3a71ae8a0ea16a4af9fc9", "", "", "Skeleton (V1.1) (PAL) (24-10-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8ed5a746c59571feb255eaa7d6d0cf98", "", "", "Carnival (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8ed73106e2f42f91447fb90b6f0ea4a4", "Spectravision - Spectravideo", "SA-204", "Tapeworm (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8ee3f64dc0f349adc893fe93df5245d8", "", "", "Euchre (20-07-2001) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8ef96ace4a1d6dfb65926c1e868b0188", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8f33bce5ba1053dcf4cea9c1c69981e4", "", "", "Jawbreaker (Unknown) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8f53a3b925f0fd961d9b8c4d46ee6755", "", "", "Astrowar (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8f5ac5139419c5d49bacc296e342a247", "Atari - CCW, Michael Callahan, Preston Stuart", "CX26103", "Alpha Beam with Ernie (12-22-1982) (Atari) (Prototype)", "Uses Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8f60551db6d1535ef0030f155018c738", "", "", "Space War (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8f613ea7c32a587d6741790e32872ddd", "", "", "Troll Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8f88309afad108936ca70f8b2b084718", "Spectravision - Spectravideo - Quelle", "SA-203 - 413.223 9", "Cross Force (1982) (Spectravision) (PAL)", "AKA Kreuzfeuer (Cross Fire)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8f90590dba143d783df5a6cff2000e4d", "", "", "Gopher (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8f98519a91dbbf4864f135a10050d9ed", "Silvio Mogno", "", "Rainbow Invaders (non-playable demo) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8fa47e5242776e841df7e708b12eb998", "", "", "Sea Hawk (Genesis)", "Genesis controller (C drops bomb)", "Hack of Sea Hawk", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8fbabaa87941cdf3a377c15e95bdb0f3", "", "", "Meteor Smasher (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8fe00172e7fff4c1878dabcf11bb8dce", "Quelle", "689.302 8", "Hili Ball (1983) (Quelle) (PAL)", "AKA Racquetball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "8febdd9142960d084ab6eeb1d3e88969", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2674", "E.T. - The Extra-Terrestrial (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "8fffc8f15bb2e6d24e211884a5479aa5", "Retroactive", "", "Qb (V1.00) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9007c3cbb55ce05ad7d1c34d4906750a", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (03-18-1983) (Activision) (Prototype)", "Pitfall Harry's Jungle Adventure (Jungle Runner)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9048ccb7e0802cd8fa5bfc2609f292d8", "Tigervision, Robert H. O'Neil", "7-007", "Polaris (1983) (Tigervision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9057694dce8449521e6164d263702185", "Activision, Bob Whitehead", "AG-011", "Stampede (1981) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "90578a63441de4520be5324e8f015352", "Bit Corporation", "PGP204", "Open Sesame (4 Game in One) (1983) (BitCorp) (PAL)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9072c142728a3a3d994956d03bfacba2", "Fabrizio Zavagli", "", "Crash Dive (Fabrizio Zavagli) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "90a3c3255f2a54225cdcb50831f8793a", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.1 (PAL) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "90b1799dddb8bf748ee286d22e609480", "", "", "Ship Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "90b647bfb6b18af35fcf613573ad2eec", "AtariAge (Chris Walton)", "", "Juno First (2009)", "AtariVox supported", "Homebrew", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "YES", "" }, - { "90ccf4f30a5ad8c801090b388ddd5613", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (1982) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "90d77e966793754ab4312c47b42900b1", "Imagic, Brad Stewart", "720105-2A, IA3400P, EIX-005-04I", "Fire Fighter (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "90f502cbf4438a95f69f848cef36eb64", "Digitel", "", "River Raid II (1985) (Digitel)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "910dd9bf98cc5bc080943e5128b15bf5", "", "", "Gunfight 2600 - Improved AI (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "911d385ee0805ff5b8f96c5a63da7de5", "Thomas Jentzsch", "", "Jammed (V0.1) (Demo) (2001) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "913d5d959b5021f879033c89797bab5e", "", "", "Robot Player Graphic (1996) (J.V. Matthews) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "914a8feaf6d0a1bbed9eb61d33817679", "Atari", "CX26163P", "Freeway Chicken (32 in 1) (1988) (Atari) (PAL)", "AKA Freeway", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "91925abce3a29e33b6a8b81482f4f5af", "Activision, Garry Kitchen - Ariola", "EAX-025, EAX-025-04I - 711 025-725", "Keystone Kapers (1983) (Activision) (PAL) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9193b6fff6897d43274741d4f9855b6d", "", "", "M.A.S.H (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "91a3749ff7b7e72b7fa09e05396a0e7b", "", "", "Gunfight 2600 - Final Run Part 2 (2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "91b007f33f9b790be64f57220ec52e80", "Jone Yuan Telephonic Enterprise", "", "Laser Blast (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "91c2098e88a6b13f977af8c003e0bca5", "Atari - GCC", "CX2676", "Centipede (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "91d1c82ceaf8af2add3973a3c34bc0cb", "", "", "Starfield Demo 1 (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "91f0a708eeb93c133e9672ad2c8e0429", "", "", "Oystron (V2.9) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "91fdb6541f70c40b16aabf8308123be8", "", "", "Interlacing Game (19-08-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9222b25a0875022b412e8da37e7f6887", "Panda", "106", "Dice Puzzle (1983) (Panda)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9245a84e9851565d565cb6c9fac5802b", "Bomb - Onbase", "CA282", "Great Escape (1983) (Bomb)", "AKA Asteroid Fire", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "927d422d6335018da469a9a07cd80390", "Activision, Carol Shaw - Ariola", "EAX-020, EAX-020-04B, EAX-020-04I - 711 020-720", "River Raid (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9281eccd7f6ef4b3ebdcfd2204c9763a", "Retroactive", "", "Qb (2.15) (Retroactive) (PAL)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9295570a141cdec18074c55dc7229d08", "Telegames", "7045 A015", "Bump 'n' Jump (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "929e8a84ed50601d9af8c49b0425c7ea", "Bit Corporation", "PG205", "Dancing Plate (1982) (BitCorp) (PAL)", "AKA Dishaster, Dancing Plates, Tanzende Teller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "92a1a605b7ad56d863a56373a866761b", "U.S. Games Corporation - Western Technologies, Dave Hampton", "VC2006", "Raft Rider (1983) (U.S. Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "92d1b6cb8a1b615266c4088a58464779", "Bit Corporation", "R320", "Fishing Derby (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "92d1f6ac179ebe5963868d6bc1bdda8d", "HES", "498", "Smash Hit Pak - Frogger, Boxing, Seaquest, Skiing, Stampede (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "92e72f7cc569584c44c9530d645ae04e", "Canal 3 - Intellivision", "", "Spider Fighter (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "931b91a8ea2d39fe4dca1a23832b591a", "Activision, David Crane", "AG-008", "Laser Blast (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9333172e3c4992ecf548d3ac1f2553eb", "Konami", "RC 101-X 02", "Strategy X (1983) (Konami)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "93420cc4cb1af1f2175c63e52ec18332", "Tim Snider", "", "Blair Witch Project (Tim Snider) (Hack)", "Hack of Haunted House", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9364ad51c321e0f15c96a8c0aff47ceb", "Atari, Rob Fulop", "CX2638", "Missile Command (1981) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "936ef1d6f8a57b9ff575dc195ee36b80", "", "", "Pac Kong (Unknown)", "AKA Inca Gold", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "936f555b4b1a2cd061b659ff63f4f5f2", "HES, David Lubar", "535", "My Golf (1990) (HES) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "937736d899337036de818391a87271e0", "Atari, Peter C. Niday", "CX26108", "Donald Duck's Speedboat (04-12-1983) (Atari) (Prototype)", "AKA Donald Duck's Regatta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "939ce554f5c0e74cc6e4e62810ec2111", "ZiMAG - Emag - Vidco", "711-111 - GN-020", "Dishaster (1983) (ZiMAG)", "AKA Dancing Plate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "93acd5020ae8eb5673601e2edecbc158", "Chris Cracknell", "", "Video Time Machine (Chris Cracknell)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "93b9229fc0ea4fb959d604f83f8f603c", "Thomas Jentzsch", "", "Amidar DS (Fast Enemies) (2003) (TJ) (Hack)", "Hack of Amidar", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "93c4b910f7649b3e998bb6d8527c6f4a", "Sparrow - Enter-Tech, Paul Walters, Rick Harris, George Hefner, Barbara Ultis", "", "Arkyology (1983) (Sparrow) (Prototype) [fixed]", "Fix for un-initialized 'X' register", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "93c52141d3c4e1b5574d072f1afde6cd", "Imagic, Mark Klein", "720112-1A, 03213", "Subterranea (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "93c8d9d24f9c5f1f570694848d087df7", "Digivision", "", "Galaxian (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "93c9f9239a4e5c956663dd7affa70da2", "Quelle", "626.610 0", "Billard (1983) (Quelle) (PAL)", "AKA Trick Shot", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "93db185c3b3dc382f3aecd6a2fea7fd9", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.1 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "93dc15d15e77a7b23162467f95a5f22d", "CCE", "", "Sky Jinks (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "93e276172b521c4491097f8b1393eea7", "Atari", "", "Diagnostic Test Cartridge 4.2 (06-01-1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "93eb1795c8b1065b1b3d62bb9ec0ccdc", "JSK", "", "Custer's Viagra (JSK) (Hack)", "Hack of Custer's Revenge", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "94102febc53b4a78342d11b645342ed4", "", "", "Joustpong (14-07-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9433770890f087bfcf3e50122694d8c0", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) (Y Inverted) v4 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9436b7ad131b5a1f7753ce4309ba3dee", "Kyle Pittman", "", "War of The Worlds (Kyle Pittman) (Hack)", "Hack of Defender", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "943798452ceba9357e2c56303cadb4f7", "Thomas Jentzsch, Paul Slocum", "", "Thrust+ Platinum (v1.28)", "", "New Release, supports BoosterGrip and Genesis (switched by Color/B+W)", "", "", "", "", "", "", "", "JOYSTICK", "DRIVING", "", "", "", "", "", "" }, - { "9446940866c9417f210f8552cf6c3078", "Thomas Jentzsch", "", "Marble Craze - Amiga Mouse Hack v1.0 (PAL60) (TJ)", "Uses Amiga Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "94507dee401b0a072a481c00d7699ffe", "Thomas Jentzsch", "", "Missile Control - Atari Trak-Ball Hack v1.15 (PAL) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9469d18238345d87768e8965f9f4a6b2", "CCE", "", "Ms. Pac-Man (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "947317a89af38a49c4864d6bdd6a91fb", "CBS Electronics, Bob Curtiss", "4L 2487 5000", "Solar Fox (1983) (CBS Electronics)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "94b92a882f6dbaa6993a46e2dcc58402", "Activision, Larry Miller", "AX-026, AX-026-04", "Enduro (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "94d90f63678e086f6b6d5e1bc6c4c8c2", "Digivision", "", "Seaquest (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "94e3fbc19107a169909e274187247a9d", "", "2402-044-01", "2-in-1 Freeway and Tennis (Unknown)", "", "", "", "", "2IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "94e4c9b924286038527f49cdc20fda69", "Retroactive", "", "Qb (V2.12) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "94e7cc6342d11e508e7e8b2ddf53c255", "", "", "Missile Command (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "94ff6b7489ed401dcaaf952fece10f67", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (07-31-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "951e8cec7a1a1d6c01fd649e7ff7743a", "Atari - Sculptured Software, Adam Clayton", "CX26151, CX26151P", "Dark Chambers (1988) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9526e3db3bdfbc27989a9cbfd0ee34bf", "", "", "Atari Logo Demo 6 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "95351b46fa9c45471d852d28b9b4e00b", "Atari, Tom Rudadahl", "CX26163P", "Golf (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "955c408265ad6994f61f9b66657bbae9", "", "", "Quadrun (Video Conversion) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "956496f81775de0b69a116a0d1ad41cc", "CCE", "", "Alien (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "956b99511c0f47b3a11d18e8b7ac8d47", "", "", "Bones (Arcade Golf Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "95956108289a917f80667eccd3ce98a9", "Atari, Ed Logg, Carol Shaw", "CX2639, CX2639P", "Othello (1981) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "95a69cf8c08ef1522b050529464f0bca", "", "", "Grid Pattern Demo 1 (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "95a89d1bf767d7cc9d0d5093d579ba61", "PlayAround - J.H.M.", "204", "Lady in Wading (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "95e1d834c57cdd525dd0bd6048a57f7b", "Atari, Bill Aspromonte, John Russell, Michael Sierchio, Robert Zdybel", "CX26114", "Pigs in Space (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "95e542a7467c94b1e4ab24a3ebe907f1", "Suntek", "SS-021", "Dragon Defender (1983) (Suntek) (PAL)", "", "", "", "", "", "", "", "", "", "MINDLINK", "", "", "", "", "", "YES", "" }, - { "95fd6097dc27c20666f039cfe34f7c69", "", "", "Oh No! (Version 1) (17-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "961112b74a920a5242e233480326c356", "Activision, Alan Miller", "AG-007, CAG-007", "Tennis (1981) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "962ffd3eaf865230a7a312b80e6c5cfd", "Imagic, Wilfredo 'Willy' Aguilar, Michael Becker, Rob Fulop", "13205", "Fathom (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "96662271ae50b6859017bffbdda75525", "Andrew Davie & Thomas Jentzsch", "", "Boulder Dash - Demo (2011)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "96670d0bf3610da2afcabd8e21d8eabf", "", "", "Boring Pitfall (Hack)", "Hack of Pitfall!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "966b11d3c147d894dd9e4ebb971ea309", "", "", "Marble Craze Song (Paul Slocum) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "966c955e4aaca7082d9ffb9a68e3f3ed", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9671b658286e276cc4a3d02aa25931d2", "", "", "Hangman Ghost Wordlist (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "968efc79d500dce52a906870a97358ab", "TNT Games - Sculptured Software, Adam Clayton", "26192", "BMX Air Master (1989) (TNT Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "969b968383d9f0e9d8ffd1056bcaef49", "Atari, Larry Kaplan", "CX2628, CX2628P", "Bowling (1979) (Atari) (PAL)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "96bcb3d97ce4ff7586326d183ac338a2", "", "", "Revenge of the Apes (Hack) [h2]", "Hack of Planet of the Apes", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "96e798995af6ed9d8601166d4350f276", "20th Century Fox Video Games - Videa, David Ross", "11029", "Meltdown (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "96eccc2277043508a6c481ea432d7dd9", "Thomas Jentzsch", "", "Missile Command (Atari Mouse) (2002) (TJ) (PAL)", "Uses Atari ST Mouse Controller", "Homebrew", "", "", "", "", "", "", "", "ATARIMOUSE", "ATARIMOUSE", "", "", "", "", "YES", "" }, - { "96f806fc62005205d851e758d050dfca", "", "", "Push (V0.05) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "97184b263722748757cfdc41107ca5c0", "Parker Brothers", "PB5820", "Mr. Do!'s Castle (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9718b85ac5a55cbc7348963c63ffa35a", "Robby", "", "Demon Attack (Robby)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "972486110933623039a3581db308fda6", "", "", "Xeno Plus (Hack)", "Hack of Xenophobe", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "97327d6962f8c64e6f926f79cd01c6b9", "", "", "Jawbreaker (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "977294ae6526c31c7f9a166ee00964ad", "Atari - GCC, Douglas B. Macrae", "CX2677, CX2677P", "Dig Dug (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9784290f422e7aeeab4d542318bd9a1f", "AtariAge, Chris Walton", "1.0 (Release)", "Chetiry (2011) (AtariAge) (60k)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "50" }, - { "97842fe847e8eb71263d6f92f7e122bd", "Imagic, Wilfredo Aguilar, Michael Becker, Dennis Koble", "720113-1A, 03206", "Solar Storm (1983) (Imagic)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, - { "97933c9f20873446e4c1f8a4da21575f", "", "", "Racquetball (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "97a9bb5c3679d67f5c2cd17f30b85d95", "Atari", "", "Colors (1980) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "97cd63c483fe3c68b7ce939ab8f7a318", "Thomas Jentzsch", "", "Robot City (V0.21) (15-09-2002) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "97d0151beb84acbe82aa6db18cd91b98", "Steve Engelhardt", "", "Lunar Attack (2002) (Steve Engelhardt) (Hack)", "Hack of Z-Tack", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "97d079315c09796ff6d95a06e4b70171", "Activision, Garry Kitchen", "AZ-032", "Pressure Cooker (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "97e47512f89e79818d988d078dc90410", "Thomas Jentzsch", "", "Missile Control - Amiga Mouse Hack v1.15 (NTSC) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "97f4da9f1031486f4e588f1e53572e53", "SpiceWare - Darrell Spice Jr.", "", "Draconian", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9813b9e4b8a6fd919c86a40c6bda8c93", "Atari", "CX26177", "Ikari Warriors (1989) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9831efc7f4cb8ffb4df0082bab2f07a3", "Activision, Steve Cartwright - Ariola", "EAX-031, EAX-031-04B - 711 031-717", "Frostbite (1983) (Activision) (PAL) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9848b5ef7a0c02fe808b920a2ac566d2", "Skyworks Technology Inc.", "", "Baseball (2002) (Skyworks)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9853089672116117258097dbbdb939b7", "Hozer Video Games", "", "Gunfight 2600 - Cowboy Hair (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "98555b95cb38e0e0b22b482b2b60a5b6", "", "", "Spinning Fireball (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "98ba601a60172cb46c5bf9a962fd5b1f", "", "", "Gorilla Kong (Hack)", "Hack of Donkey Kong", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "98ccd15345b1aee6caf51e05955f0261", "Retroactive", "", "Qb (V2.03) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "98e5e4d5c4dd9a986d30fd62bd2f75ae", "", "", "Air-Sea Battle (Unknown) (Hack) (4K)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "98e6e34af45a0664597972c3bb31180f", "", "", "Space Instigators (V1.7) (17-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "98e7caaab8ec237558378d2776c66616", "Bradford W. Mott", "", "HMOVE Test (Bradford W. Mott) (1998) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "98ea10c47c13f1b3306c7b13db304865", "", "", "Jam Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "98ec0fa4199b9c01f7b8fa3732e43372", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "98ef1593624b409b9fb83a1c272a0aa7", "CCE", "C-831", "Cosmic Ark (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "98f63949e656ff309cefa672146dc1b8", "Atari - Axlon, John Vifian", "CX26168", "Off the Wall (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "98fa3ad778a668a79449350de4b3b95b", "Thomas Jentzsch", "", "Thrust (V1.1) (2000) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9905f9f4706223dadee84f6867ede8e3", "HES", "", "Challenge (HES) (PAL)", "Surfer's Paradise if right difficulty = 'A'", "", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9912d06eea42200a198dd3e2be18c601", "Imagic, Michael Greene", "IA3312", "No Escape! (1982) (Imagic) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "991d57bbcd529ad62925098e0aec1241", "", "", "Gunfight 2600 - The Final Kernel (MP) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9945a22f60bbaf6d04a8d73b3cf3db75", "Activision, Dan Kitchen", "EAX-039-04B, EAX-039-04I", "Kung-Fu Master (1987) (Activision) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9947f1ebabb56fd075a96c6d37351efa", "CBS Electronics", "4L 2737 0000", "Omega Race (1983) (CBS Electronics)", "Set right difficulty to 'A' for BoosterGrip in both ports", "", "", "", "", "", "A", "", "", "BOOSTERGRIP", "BOOSTERGRIP", "", "", "", "", "", "" }, - { "9962034ea7b3d4a905d0991804670087", "", "", "Grid Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9989f974c3cf9c641db6c8a70a2a2267", "Eckhard Stolberg", "", "Colours Selector (Eckhard Stolberg)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "99a24d7bb31d49b720b422550b32c35f", "", "", "Hangman Ghost Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "99ac89241365b692255ba95d745edd91", "Atari, Frank Hausman, Mimi Nyden, Steve Woita", "CX2686", "Quadrun (18-03-1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "99f7c6c26046bbe95f1c604b25da8360", "SnailSoft", "", "Comitoid beta 2 (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9a01115206f32eb0b539c7e5a47ccafa", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (07-15-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9a165c39af3f050fdee6583fdfcdc9be", "Zirok", "", "Mario Bros. (Zirok)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9a21fba9ee9794e0fadd7c7eb6be4e12", "Atari - Imagineering, Dan Kitchen", "CX26177", "Ikari Warriors (1991) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9a25b3cfe2bbb847b66a97282200cca2", "Atari, Brad Stewart - Sears", "CX2622 - 6-99813, 49-75107", "Breakout (1978) (Atari) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 60", "", "", "", "" }, - { "9a4274409216ff09ecde799f2a56ac73", "CCE", "C-801", "Mr. Postman (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9ab72d3fd2cc1a0c9adb504502579037", "Epyx, Steven A. Baker, Peter Engelbrite", "80561-00286", "California Games (1987) (Epyx)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9ad362179c2eea4ea115c7640b4b003e", "", "", "Barnstorming (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "NTSC50", "", "", "" }, - { "9ad36e699ef6f45d9eb6c4cf90475c9f", "Imagic, Dennis Koble", "720103-1A, 720103-1B, IA3203, IX-010-04", "Atlantis (1982) (Imagic)", "AKA Lost City of Atlantis", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9aeb5206c5bf974892a9cc59f1478db3", "Activision, Steve Cartwright", "AX-013", "Barnstorming (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9af615951e9719df2244bc77fc50cb95", "Dactari - Milmar", "", "Defender (Dactari - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9afdfe1cff7f37f1c971fe3f0c900606", "Funvision - Fund. International Co.", "", "Plug Attack (Funvision)", "AKA Plaque Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9b150a42fc788960fbb4cbe250259ee2", "Kroko", "", "3E Bankswitch Test (TIA @ $40)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9b21d8fc78cc4308990d99a4d906ec52", "CCE", "C-838", "Immies & Aggies (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9b246683f44c963a50e41d6b485bee77", "", "", "Boring (PAL) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9bb136b62521c67ac893213e01dd338f", "Xonox - Beck-Tech", "6210, 7210, 06003. 99001", "Spike's Peak (1983) (Xonox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9bd4e0d5f28ba6da417c26649171f8e4", "", "", "Hangman Pac-Man Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9be58a14e055b0e7581fc4d6c2f6b31d", "", "", "Adventure (Color Scrolling) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9c27ef3bd01c611cdb80182a59463a82", "Arcadia Corporation, Kevin Norman", "AR-4103", "Killer Satellites (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9c40bf810f761ffc9c1b69c4647a8b84", "", "", "2 in 1 - Frostbite, River Raid (Unknown)", "", "", "", "", "2IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9c6d65bd3b477aace0376f705b354d68", "", "", "RPG Kernal (18-04-2003) (Paul Slocum) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9c6faa4ff7f2ae549bbcb14f582b70e4", "U.S. Games Corporation, Garry Kitchen, Paul Willson - Vidtec", "VC1002", "Sneak 'n Peek (1982) (U.S. Games)", "AKA Hide 'n Seek", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9c6fd6ed3599978ab7b6f900484b9be6", "Andrew Wallace", "", "Laseresal 2002 (PAL60) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9c729017dd2f9ccbadcb511187f80e6b", "", "", "J-Pac (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9c7fa3cfcaaafb4e6daf1e2517d43d88", "", "", "PIEROXM Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9ca2deb61318eba4fb784d4bf7441d8b", "", "", "Purple Bar Demo 2 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9cbb07f1993a027bc2f87d5205457ec9", "", "", "Eckhard Stolberg's Scrolling Text Demo 1 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9d0befa555f003069a21d2f6847ad962", "Atari - GCC, Dave Payne", "CX2669", "Vanguard (1982) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9d1556ae5890398be7e3d57449774b40", "Activision, David Crane", "AG-001", "Dragster (1980) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9d2938eb2b17bb73e9a79bbc06053506", "Imagic, Michael Greene", "EIZ-002-04I", "Wing War (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9d2f05d0fe8b2dfcf770b02eda066fc1", "", "", "Push (V0.06) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9d33d31fb1de58c5460d8a67b57b36da", "", "", "Star Voyager (Genesis)", "Genesis controller (C is secondary lasers)", "Hack of Star Voyager", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9d37a1be4a6e898026414b8fee2fc826", "M Network - INTV - APh Technological Consulting, David Rolfe", "MT5665", "Super Challenge Baseball (1982) (M Network)", "AKA Big League Baseball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9d4bc7c6fe9a7c8c4aa24a237c340adb", "Dennis Debro", "", "Climber 5 (16-04-2003) (Dennis Debro)", "For Philly Classic 4", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9d522a3759aa855668e75962c84546f7", "Atari, Tom Rudadahl", "CX2634, CX2634P", "Golf (1980) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9d7f04618bb4043f531d087e3aaa7ac8", "Parker Brothers, Larry Gelberg, Gary Goltz", "PB5065", "Star Wars - Ewok Adventure (1983) (Parker Bros) (Prototype) (PAL) (16K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9de0d45731f90a0a922ab09228510393", "20th Century Fox Video Games - Sirius, Mark Turmell", "11003", "Fast Eddie (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9dec0be14d899e1aac4337acef5ab94a", "CommaVid, John Bronstein", "CM-003", "Cosmic Swarm (1982) (CommaVid) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9e01f7f95cb8596765e03b9a36e8e33c", "Atari - CCW, Michael Callahan, Preston Stuart", "CX26103", "Alpha Beam with Ernie (1983) (Atari)", "Uses Keypad Controllers", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9e135f5dce61e3435314f5cddb33752f", "Fabrizio Zavagli", "", "Space Treat Deluxe (2003)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9e192601829f5f5c2d3b51f8ae25dbe5", "PlayAround - J.H.M.", "201", "Cathouse Blues (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9e2c7299c69b602443d327c7dad51cbf", "Charles Morgan", "", "Xaxyrax Road (Charles Morgan) (Hack)", "Hack of Freeway", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9e437229136f1c5e6ef4c5f36178ed18", "Funvision - Fund. International Co.", "", "Grand Prize (Funvision)", "AKA Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9e5007131695621d06902ab3c960622a", "Sega", "", "Tac Scan (1983) (Sega) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "YES", "" }, - { "9e792a59f8795664cbaaff1ba152d731", "", "", "Bullet Demo (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9e904e2eaa471c050c491289b8b80f60", "", "", "How to Draw a Playfield II (1997) (Erik Mooney) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9ea8ed9dec03082973244a080941e58a", "Eric Mooney, Piero Cavina", "", "INV+", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9ec1b259a1bcffa63042a3c2b3b90f0a", "Activision, David Crane", "AG-008", "Laser Blast (1981) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9eca521db1959156a115dee85a405194", "", "", "Fu Kung! (V0.08) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9ed0f2aa226c34d4f55f661442e8f22a", "", "", "Nuts (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9eeb40f04a27efb1c68ba1d25e606607", "Kyle Pittman", "", "Rambo II (2003) (Kyle Pittman) (Hack)", "Hack of Double Dragon", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9efa877a98dd5a075e058214da428abb", "Hozer Video Games", "", "SCSIcide (1.32) (Hozer Video Games)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "AUTO 65", "", "", "", "" }, - { "9efb4e1a15a6cdd286e4bcd7cd94b7b8", "20th Century Fox Video Games, John W.S. Marvin", "", "Planet of the Apes (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9f2d58dce1b81c6ba201ed103507c025", "", "", "Fu Kung! (V0.02) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9f48eeb47836cf145a15771775f0767a", "Atari, Warren Robinett", "CX2620", "Basic Programming (1979) (Atari)", "Uses Keypad Controllers", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9f5096a6f1a5049df87798eb59707583", "20th Century Fox Video Games, Mark Klein", "11036", "Entity, The (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9f52271759f8a2004d207b2247ae0bb3", "Parker Brothers", "PB5820", "Mr. Do!'s Castle (03-12-84) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9f59eddf9ba91a7d93bce7ee4b7693bc", "Thomas Jentzsch", "", "Montezuma's Revenge (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9f8fad4badcd7be61bbd2bcaeef3c58f", "Parker Brothers, Charlie Heath", "PB5330", "Reactor (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "9f901509f0474bf9760e6ebd80e629cd", "Atari, Bob Whitehead - Sears", "CX2623 - 6-99819, 49-75108, 49-75125", "Home Run (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "9f93734c68f6479eb022cab40814142e", "", "", "Push (V0.07) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9f982421b9b4320ede00fe4aa2e812f4", "Atari, Omegamatrix", "", "Super Breakout Menu (2020) (Hack)", "Hack of Super Breakout", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, - { "9f9ee0f60c119c831e80694b6678ca1a", "Jeffry Johnston", "", "Radial Pong - Version 8 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9fa0c664b157a0c27d10319dbbca812c", "Chris Walton, Justin Hairgrove, Tony Morse", "", "Hunchy II (2005)", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "9fc2d1627dcdd8925f4c042e38eb0bc9", "Atari - GCC, John Allred, Mike Feinstein", "CX2688, CX2688P", "Jungle Hunt (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "E68E28752D3C54EDD3CCDA42C27E320C", "Xonox - K-Tel Software, Anthony R. Henderson", "99007, 6240", "Tomarc the Barbarian (1983) (Xonox)", "Genesis controller (B is jump and throw, C switches between players)", "Hack of Tomarc the Barbarian", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a0028f057d496f22b549fd8deecc6f78", "Joe Grand", "", "SCSIcide Pre-release 6 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a00ec89d22fcc0c1a85bb542ddcb1178", "CCE", "C-1012", "Phoenix (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a00ee0aed5c8979add4c170f5322c706", "Barry Laws Jr.", "", "Egghead (Barry Laws Jr.) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a0185c06297b2818f786d11a3f9e42c3", "", "", "International Soccer (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a025a8f83a42a4d6d46c4887e799bfac", "Hozer Video Games", "", "Gunfight 2600 - Descissions had to be made (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a0297c4788f9e91d43e522f4c561b4ad", "Atari - CCW, Gary Stark", "CX26102", "Cookie Monster Munch (1983) (Atari) (PAL)", "Uses Kids/Keypad Controllers", "", "", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "" }, - { "a0563dd6d8215c38c488fbbd61435626", "", "", "Ship Demo (V 1501) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a0675883f9b09a3595ddd66a6f5d3498", "Telegames - VSS", "6057 A227", "Quest for Quintana Roo (1988) (Telegames)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a075ad332942740c386f4c3814925ece", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (2 of 4) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a0d502dc8b90b1d7daa5f6effb10d349", "", "", "Demo Image Series #5 - Sam (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a0e2d310e3e98646268200c8f0f08f46", "Atari, Ed Logg, Carol Shaw", "CX2639, CX2639P", "Othello (1981) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a100eff2d7ae61ca2b8e65baf7e2aae8", "David Marli", "", "Muncher (David Marli) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a11099b6ec24e4b00b8795744fb12005", "Activision - Bobco, Robert C. Polaro", "EAK-049-04B", "Rampage! (1989) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a1403fef01641dcd3980cac9f24d63f9", "Dactari - Milmar", "", "Atlantis (Dactari - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a14d8a388083c60283e00592b18d4c6c", "", "", "Tunnel Demo (28-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a15b5831a1fab52e4c416068c85ec011", "Hozer Video Games", "", "Gunfight 2600 - The Good, The Bad, The Ugly (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a174cece06b3abc0aec3516913cdf9cc", "Sears Tele-Games, Jim Huether", "CX2614 - 49-75126", "Steeplechase (1980) (Sears) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "" }, - { "a1770ef47146ab7b12e2c4beccd68806", "Digitel", "", "Kaystone Kapers (1983) (Digitel)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a184846d8904396830951217b47d13d9", "Activision, Dan Kitchen", "AX-029", "Crackpots (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a189f280521f4e5224d345efb4e75506", "Atari - Thomas Jentzsch", "", "Obelix (1983) (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a1bcbe0bfe6570da2661fc4de2f74e8a", "Imagic - Advanced Program Technology, Rob Fulop", "", "Actionauts (Microbots) (1984-2008) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a1ca372388b6465a693e4626cc98b865", "Quelle", "176.543 7", "Der Vielfrass (1983) (Quelle) (PAL)", "AKA Fast Food", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a1ead9c181d67859aa93c44e40f1709c", "American Videogame - Dunhill Electronics, Darrell Wagner, Todd Clark Holm, John Simonds", "", "Tax Avoiders (1986) (American Videogame)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a1f9159121142d42e63e6fb807d337aa", "Quelle - Otto Versand", "700.223 1 - 781627", "Der moderne Ritter (1983) (Quelle) (PAL)", "AKA Fast Eddie", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a204cd4fb1944c86e800120706512a64", "Coleco, Rob Harris", "2511", "Smurfs Save the Day (1983) (Coleco)", "Uses the Kid Vid Controller", "", "", "", "", "", "", "", "", "", "KIDVID", "", "", "", "", "", "" }, - { "a20b7abbcdf90fbc29ac0fafa195bd12", "Quelle - Otto Versand", "719.383 2 - 649635, 781393, 781784, 986404", "Motocross (1983) (Quelle) (PAL)", "AKA Motorcross", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a20d931a8fddcd6f6116ed21ff5c4832", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2003", "Racquetball (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "a2170318a8ef4b50a1b1d38567c220d6", "Amiga - Video Soft", "3125", "Surf's Up (1983) (Amiga) (Prototype) [a1]", "Uses the Joyboard controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a2276822c772f72073a8a40a72a1ca52", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Mouse Hack v1.1 (NTSC) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a2424c1a0c783d7585d701b1c71b5fdc", "", "", "Video Pinball (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a25bb76e9e773117e567fd4300b1bb23", "", "", "Interleaved ChronoColour Demo (NTSC) (05-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a28d872fc50fa6b64eb35981d0f4bb8d", "Atari, Larry Kaplan - Sears", "CX2628 - 6-99842, 49-75117", "Bowling (1979) (Atari) (4K)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a29df35557f31dfea2e2ae4609c6ebb7", "Atari", "", "Circus Atari (1980) (Atari) (Joystick)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a29fc854838e08c247553a7d883dd65b", "Activision, Steve Cartwright", "AX-013", "Barnstorming (1982) (Activision) (16K)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a2a384d3a16d5be50afd12906f146827", "Bit Corporation", "R320", "Flash Gordon (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a2aae759e4e76f85c8afec3b86529317", "", "", "Boom Bang (Unknown)", "AKA Crackpots", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a2d7cc2e5419a9e4ab91fdb26339b726", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a2de0fc85548871279ed2a3c1325c13e", "George Veeder", "", "Cat and Mouse (George Veeder) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a2eb84cfeed55acd7fece7fefdc83fbb", "", "", "Kool Aid Man (Fixed) (15-11-2002) (CT)", "HMOVE handling fixed in this version", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a2f296ea2d6d4b59979bac5dfbf4edf0", "", "", "Warring Worms (28-01-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a2f9e3b6aaa23b6dc06099cdd5b51b31", "Nukey Shay", "", "Montezuma's Revenge (Genesis) (PAL60) (F6_Conversion)", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a302b922a8dbec47743f28b7f91d4cd8", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (Preview) (1982) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a30ece6dc4787e474fbc4090512838dc", "Zellers", "", "Circus (Zellers)", "AKA Circus Atari", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a310494ad5ba2b5b221a30d7180a0336", "", "", "Demo Image Series #6 - Mario (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a336beac1f0a835614200ecd9c41fd70", "Atari, Christopher H. Omarzu, Robert Vieira", "CX26121", "Zoo Keeper Sounds (1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a34560841e0878c7b14cc65f79f6967d", "Multivision, Michael Case", "", "Harem (1982) (Multivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a3486c0b8110d9d4b1db5d8a280723c6", "Atari, Alan J. Murphy, Robert C. Polaro", "CX26100", "Bugs Bunny (08-04-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a35d47898b2b16ec641d1dfa8a45c2b7", "Activision, Steve Cartwright", "AX-017, AX-017-04", "MegaMania (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a3873d7c544af459f40d58dfcfb78887", "", "", "Tennis (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a3b9d2be822eab07e7f4b10593fb5eaa", "", "", "GREGXM Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a3c1c70024d7aabb41381adbfb6d3b25", "Telesys, Alex Leavens", "1005", "Stargunner (1983) (Telesys)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a3d7c299fbcd7b637898ee0fdcfc47fc", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (Preview) (1982) (Arcadia) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, - { "a3f2a0fcf74bbc5fa763b0ee979b05b1", "Quelle", "873.790 0", "Eishockey-Fieber (1983) (Quelle) (PAL)", "AKA Ice Hockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a3f8aebb38182749cb8da85cfbc63d7c", "", "", "Tennis (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a3fee8ce15525ea00d45a06f04c215d1", "Aaron Curtis", "", "AStar (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a406d2f6d84e61d842f4cb13b2b1cfa7", "Tigervision, John Harris - Teldec", "7-002", "Jawbreaker (1982) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a412c8577b2d57b09185ae51739ac54f", "Arcadia Corporation, Dennis Caswell", "AR-4000", "Phaser Patrol (1982) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "a41450333f8dd0e96e5e9f0af3770ae9", "", "", "Basic Math (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a422194290c64ef9d444da9d6a207807", "M Network - APh Technological Consulting, Hal Finney", "MT5667", "Dark Cavern (1982) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a428068d3e51498907d97cec40000515", "Bit Corporation", "R320", "Sky Alien (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a47878a760f5fa3aa99f95c3fdc70a0b", "", "", "Demo Image Series #5 - Baboon (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4790224bd5afabd53cbe93e46a7f241", "Activision, Bob Whitehead", "AG-019", "Sky Jinks (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a47e26096de6f6487bf5dd2d1cced294", "Atari", "CX2643", "Codebreaker (1978) (Atari) (PAL)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a484638990de7b12c62947c79dafa4c6", "Thomas Jentzsch", "", "Marble Craze - Atari Mouse Hack v1.0 (PAL60) (TJ)", "Uses Atari Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a499d720e7ee35c62424de882a3351b6", "SEGA - Beck-Tech, Steve Beck, Phat Ho", "009-01", "Up 'n Down (1984) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4aa7630e4c0ad7ebb9837d2d81de801", "", "", "Atari 2600 Invaders (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4ab331e8768eafdc20ce8b0411ff77a", "", "", "Demo Image Series #1 - Sam (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4b9423877a0b86ca35b52ca3c994ac5", "CCE", "C-805", "Sea Monster (1983) (CCE)", "O Monstro Marinho", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4b99aa5ed85cfdb7d101923147de035", "Jim Goebel", "", "Pac-Law (Jim Goebel) (Hack)", "Hack of Outlaw", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4c08c4994eb9d24fb78be1793e82e26", "Activision, Alan Miller", "AX-012, CAX-012, AX-012-04", "Ice Hockey (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4d026a5c200ef98518ebb77719fe8dc", "Kyle Pittman", "", "SpongeBob SquarePants (2003) (Kyle Pittman) (Hack)", "Hack of Revenge of the Beefsteak Tomatoes", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4e885726af9d97b12bb5a36792eab63", "Xonox - K-Tel Software - Beck-Tech, Steve Beck", "6210, 7210, 06003. 99001", "Spike's Peak (1983) (Xonox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4ecb54f877cd94515527b11e698608c", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26119", "Saboteur (12-20-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4f1cea2c8479284e2a2292f8d51b5fa", "", "", "Gunfight 2600 - The Final Kernel Part 2 (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a4ff39d513b993159911efe01ac12eba", "Atari - GCC, John Allred, Douglas B. Macrae, Betty Ryan Tylko", "CX2694", "Pole Position (1983) (Atari)", "AKA RealSports Driving", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a511f7ee13e4b35512f9217a677b4028", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2674", "E.T. - The Extra-Terrestrial (1982) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a5262fe6d01d6a1253692682a47f79dd", "", "", "JKH Text Scrolling Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a537879d8e82e1061d3ad800479d3b84", "Andrew Wallace", "", "Brooni (2001) (Andrew Wallace) (PD) (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a539b9fd1ba57e46442b3e9351e6383b", "", "", "River Raid (208 in 1) (Unknown) (PAL) (Hack) [a]", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a56b642a3d3ab9bbeee63cd44eb73216", "Carrere Video - JWDA, Sylvia Day, Todd Marshall, Robin McDaniel, Henry Will IV - Teldec - Prism", "USC2001", "Gopher (1983) (Carrere Video) (PAL)", "AKA Vossicht Whlmaus!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a5855d73d304d83ef07dde03e379619f", "Atari, David Crane", "", "Boggle (08-07-1978) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "a58b11148c18d85e4c2aef4ff46ade67", "", "", "Video Chess (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a591b5e8587aae0d984a0f6fe2cc7d1c", "", "", "Globe Trotter Demo (24-03-2003) (Weston)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a5b7f420ca6cc1384da0fed523920d8e", "", "", "Adventure (New Graphics) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a5c96b046d5f8b7c96daaa12f925bef8", "Activision, Alan Miller - Ariola", "EAG-007, EAG-007-04I, PAG-007 - 711 007-720", "Tennis (1981) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a5e9ed3033fb2836e80aa7a420376788", "Atari, Carla Meninsky", "CX2637, CX2637P", "Dodge 'Em (1980) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a60598ad7ee9c5ccad42d5b0df1570a1", "Atari, Alan Miller", "CX26163P", "Surround (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a6127f470306eed359d85eb4a9cf3c96", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (1984) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a6239810564638de7e4c54e66b3014e4", "Personal Games Company, Robert Anthony Tokar", "", "Birthday Mania (1984) (Personal Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a62e3e19280ff958407e05ca0a2d5ec7", "", "", "Hangman Ghost Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a6737c81542a99ee71cb5f5ff14703d9", "", "", "Scrolling Playfield 3 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a69f5b1761a8a11c98e706ec7204937f", "", "", "Pharaoh's Curse (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "a6ed8d72ed691fd3aad5b6974fa17978", "Bit Corporation", "R320", "Bank Heist (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a74689a08746a667a299b0507e1e6dd9", "Starpath Corporation, Stephen H. Landrum", "9 AR-4105", "Official Frogger, The (1983) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a7523db9a33e9417637be0e71fa4377c", "Videospielkassette - Ariola", "PGP238", "Gangster (Ariola) (PAL)", "AKA Outlaw", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a7673809068062106db8e9d10b56a5b3", "Atari, Jerome Domurat, Andrew Fuchs, Dave Staugas, Robert Vieira", "CX26118, CX26118P", "Millipede (1984) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a779b9fa02c62d00d7c31ed51268f18a", "Arcadia Corporation, Brian McGhie", "AR-4104", "Rabbit Transit (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a7a58e9291aefa1064e933071f60d4ef", "Arcadia Corporation, Dennis Caswell", "1 AR-4000, AR-4100", "Phaser Patrol (1982) (Arcadia) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "a7b584937911d60c120677fe0d47f36f", "M Network - INTV - APh Technological Consulting, Hal Finney", "MT5661", "Armor Ambush (1982) (M Network)", "AKA Tank Battle", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a7b96a8150600b3e800a4689c3ec60a2", "Atari, Mike Lorenzen - Sears", "CX2630 - 49-75122", "Circus Atari (1980) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 55", "", "", "", "" }, - { "a7bf8353f77caca407ef85c2698fdff2", "Atari, Suki Lee - Sears", "CX2658 - 49-75128", "Math Gran Prix (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a7cf2b9afdbb3a161bf418dbcf0321dc", "Barry Laws Jr.", "", "Attack Of The Mutant Space Urchins (2002) (Barry Laws Jr.) (Hack)", "Hack of Alien", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "a7d2e9408bb7cd70139ecced407ff238", "Atari - Roklan, Joe Gaucher, Alex Leavens", "CX2683", "Crazy Climber (1983) (Atari) (Prototype) [a1]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a7ed7dc5cbc901388afa59030fb11d26", "Atari, Warren Robinett", "CX2606, CX2606P", "Slot Racers (1978) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a7ef44ccb5b9000caf02df3e6da71a92", "Atari, Ian Shepard - Sears", "CX2604 - 6-99812, 49-75106", "Space War (1978) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a8101cb667e50a46165c6fb48c608b6b", "", "", "Kung Fu Sprite Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "a81697b0c8bbc338ae4d0046ede0646b", "CCE", "", "Gravitar (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a81b29177f258494b499fbac69789cef", "Greg Thompson", "", "Console Wars (Greg Thompson) (Hack)", "Hack of Space Jockey", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a83b070b485cf1fb4d5a48da153fdf1a", "Apollo", "AP-2011", "Pompeii (1983) (Apollo) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a8435ec570141de5d833c4abec499e55", "", "", "Happy Birthday Demo (2001) (Dennis Debro) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a8633050a686270fcf6c0cc4dcbad630", "Zirok", "", "Phoenix (Zirok)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a867b76098786c4091dba2fcee5084c3", "", "", "Dragrace (Hack)", "Hack of Dragster", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a875f0a919129b4f1b5103ddd200d2fe", "Atari, Dan Hitchens. Mimi Nyden", "CX2656", "SwordQuest - EarthWorld (1982) (Atari) (PAL)", "AKA Adventure I, SwordQuest I - EarthWorld", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a8916734ff8c64ec3342f4c73fd5b57d", "Atari", "", "Stand Alone Test Cart (1982) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a89a3e0547d6887279c34aba4b17a560", "M Network, Steve Crandall, Patricia Lewis Du Long", "MT4646", "Rocky & Bullwinkle (1983) (Mattel) (Prototype)", "", "Prototype", "", "", "4K", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a8a703e073183a89c94d4d99b9661b7f", "Franklin Cruz", "", "Spice Invaders (Franklin Cruz) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a8b3ea6836b99bea77c8f603cf1ea187", "CCE", "C-861", "Boxing (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a8c48b4e0bf35fe97cc84fdd2c507f78", "Puzzy - Bit Corporation", "PG201", "Seamonster (1982) (Puzzy)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a8d0a4a77cd71ac601bd71df5a060e4c", "", "", "Space Shuttle (1983) (Activision) [t2] (Fuel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a8d4a9500b18b0a067a1f272f869e094", "", "", "Red And White Checkerboard Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a8e49d7e24ce293629ca29614862821b", "", "", "Enduro (Genesis)", "Genesis controller (B is acceleration, C is brakes)", "Hack of Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a91d0858a52de3a2e6468437212d93e8", "", "", "Q-bert (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a936d80083e99d48752ad15c2b5f7c96", "", "", "Room of Doom (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "a93e8ea1f565c3c1e86b708cf0dc2fa9", "Jess Ragan", "", "Kabul! (Jess Ragan) (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "a94528ae05dd051894e945d4d2349b3b", "Genus", "", "River Raid (Genus)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a94b8ca630f467b574b614808d813919", "HES", "773-883", "2 Pak Special - Space Voyage, Fire Alert (1992) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a9531c763077464307086ec9a1fd057d", "Atari, John Dunn - Sears", "CX2631 - 49-75152", "Superman (1979) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a957dbe7d85ea89133346ad56fbda03f", "Atari, Brad Stewart", "CX2649, CX2649P", "Asteroids (1981) (Atari) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "a97733b0852ee3096300102cb0689175", "CCE", "C-834", "Fast Eddie (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a9784c24cddb33bd0d14442b97784f3d", "Thomas Jentzsch", "", "Omega Race DC (2003) (TJ) (Omega Race Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a98b649912b6ca19eaf5c2d2faf38562", "", "", "This Planet Sucks (Greg Troutman) (PAL) [!]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a995b6cbdb1f0433abc74050808590e6", "Imagic, Rob Fulop, Bob Smith", "720106-1A, IA3600", "Riddle of the Sphinx (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a9cb638cd2cb2e8e0643d7a67db4281c", "M Network - INTV - APh Technological Consulting, Larry Zwick", "MT5861", "Air Raiders (1983) (M Network)", "AKA Air Battle", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a9d9e19d0c89fb31780b5d63e1f8c6a4", "AtariAge, Chris Spry", "CX26201", "Zippy the Porcupine (2014) (Sprybug) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "a9e3c23599c0d77151602f8e31daf879", "", "", "Kung Fu Master (Genesis)", "Genesis controller (C is extra kick modes)", "Hack of Kung Fu Master", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "" }, - { "aa1c41f86ec44c0a44eb64c332ce08af", "Spectravideo, David Lubar", "SA-218", "Bumper Bash (1983) (Spectravideo)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "" }, - { "aa2c4b32656bde9a75042a4d158583e1", "", "", "Oystron X (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aa5cfe3b20395aba1d479135943ad85c", "", "", "Defender (Hack) (Unknown)", "", "Hack of Defender", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aa7bb54d2c189a31bb1fa20099e42859", "CBS Electronics, Ed English", "4L4478", "Mr. Do! (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "aa8c75d6f99548309949916ad6cf33bc", "Bob Montgomery (aka vdub_bobby)", "", "Squish 'Em (2007)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aa8e4b2cb8a78ffe6b20580033f4dec9", "", "", "Bitmap Demo (13-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aaac0d277eda054861e613c59c2e4ff2", "JWDA, Todd Marshall", "", "Music Demo (JWDA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aab840db22075aa0f6a6b83a597f8890", "Home Vision, R.J.P.G. - Gem International Corp. - VDI", "VCS83124", "Racing Car (1983) (Home Vision) (PAL)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "aad61898633f470ce528e3d7ef3d0adb", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype) [a1]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aad91be0bf78d33d29758876d999848a", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1981) (Activision) (Prototype)", "Pitfall Harry's Jungle Adventure (Jungle Runner)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aaea37b65db9e492798f0105a6915e96", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Tug of War (2 of 3) (1983) (Arcadia)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "02", "", "", "", "" }, - { "aafc79ffc32c4c9b2d73c8ada7602cfe", "", "", "Planet Patrol (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab10f2974dee73dab4579f0cab35fca6", "ITT Family Games", "", "Wilma Wanderer (1983) (ITT Family Games) (PAL)", "AKA Lilly Adventure", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab2cfcaad3daaf673b2b14fdbb8dac33", "M Network - INTV, David Akers, Joe King, Patricia Lewis Du Long, Jeff Ratcliff", "MT7045", "Bump 'n' Jump (1983) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab2ea35dcc1098c87455bb8210b018cf", "", "", "Fu Kung! (V0.04 Single Line Resolution) (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab301d3d7f2f4fe3fdd8a3540b7a74f5", "Jone Yuan Telephonic Enterprise Co", "", "IQ 180 (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab434f4c942d6472e75d5490cc4dd128", "HES", "773-875", "2 Pak Special - Hoppy, Alien Force (1992) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab48c4af46c8b34c3613d210e1206132", "Andrew Davie & Thomas Jentzsch", "", "Boulder Dash - Demo V2 (2014)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab4ac994865fb16ebb85738316309457", "Atari, Alan Miller - Sears", "CX2624 - 6-99826, 49-75113", "Basketball (1978) (Atari)", "Console ports are swapped", "Common", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "ab56f1b2542a05bebc4fbccfc4803a38", "Activision - Imagineering, Dan Kitchen, David Lubar", "AK-048-04", "River Raid II (1988) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab5bf1ef5e463ad1cbb11b6a33797228", "Imagic, Rob Fulop", "720104-1A, 720104-1B, IA3204", "Cosmic Ark (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab60ea7b707c58d356cad858eb18db43", "", "", "Tazer (John K. Harvey)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab8d318da4addd39c65b7f9c408df2a6", "", "", "Star Trek (Genesis)", "Genesis controller (B is phaser, C is warp)", "Hack of Star Trek", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "abb740bea0a6842831b4f53112fb8145", "", "", "Qb (V1.01) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "abb741c83f665d73c86d90a7d9292a9b", "Telegames", "", "Space Attack (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "abc64037ca5d5b04ae8a7eedbca3ed74", "", "", "Green and Yellow Number 1 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "abe40542e4ff2d1c51aa2bb033f09984", "Absolute Entertainment, David Crane", "EAZ-042-04B, EAZ-042-04I", "Skate Boardin' (1987) (Absolute) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ac05c0e53a5e7009ddd75ed4b99949fc", "Atari, Joe Decuir, Steve Mayer, Larry Wagner - Sears", "CX2601 - 99801, 6-99801, 49-75124", "Combat (1977) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ac0ddbcff34d064009591607746e33b8", "Thomas Jentzsch", "", "Atlantis FH (2003) (TJ) (Hack)", "Hack of Atlantis", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ac26d7d37248d1d8eac5eccacdbef8db", "", "", "Snail Against Squirrel (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ac3dd22dd945724be705ddd2785487c2", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (06-15-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ac53b83e1b57a601eeae9d3ce1b4a458", "Retroactive", "", "Qb (2.15) (Retroactive) (NTSC)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ac5f78bae0638cf3f2a0c8d07eb4df69", "", "", "Minesweeper (V.99) (Soren Gust) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ac7c2260378975614192ca2bc3d20e0b", "Activision, David Crane", "AG-930-04, AZ-030", "Decathlon (1983) (Activision)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ac9adbd6de786a242e19d4bec527982b", "Activision, Alan Miller - Ariola", "EAG-012-04I, EAX-012, EAX-012-04B - 711 012-720", "Ice Hockey (1981) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aca09ffea77174b148b96b205109db4d", "Activision, Alan Miller", "AG-007, CAG-007", "Tennis (1981) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "acaa27d214039d89d7031609aafa55c3", "", "", "Sprite Demo 6 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "acb6787b938079f4e74313a905ec3ceb", "", "", "Chronocolor Donkey Kong (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "acb7750b4d0c4bd34969802a7deb2990", "Parker Brothers, Ed Temple", "PB5310", "Amidar (1982) (Parker Bros)", "", "Uncommon", "", "", "", "A", "A", "", "", "", "", "", "", "", "", "", "" }, - { "acb962473185d7a652f90ed6591ae13b", "Imagic, Dennis Koble", "IA3203, IX-010-04", "Atlantis (1982) (Imagic) (16K)", "AKA Lost City of Atlantis", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ace319dc4f76548659876741a6690d57", "Atari, Steve Wright", "CX2616", "Pele's Soccer (1981) (Atari)", "AKA Pele's Championship Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ad2e6bfb3b9b9b36ba8bf493ce764c49", "", "", "2600 Collison Demo 1 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ad42e3ca3144e2159e26be123471bffc", "Atari", "CX26163P", "Human Cannonball (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ad72d616030a17634ff29ce8680d3c4c", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ad7e97c19bd25d5aa3999430845c755b", "", "", "Sprite Demo 5 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ad8072675109d13fdd31a2e0403d5cff", "Funvision - Fund. International Co.", "", "Tank City (Funvision)", "AKA Thunderground", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "adb770ff70e9adf08bbb907a7eccd240", "", "", "Inv Demo 3 (2001) (Erik Mooney) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "adb79f9ac1a633cdd44954e2eac14774", "Digivision", "", "Frostbite (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "adf1afac3bdd7b36d2eda5949f1a0fa3", "Quelle - Otto Versand", "495.463 2 - 746381", "Angriff der Luftflotten (1983) (Quelle) (PAL)", "AKA Paris Attack, M.A.D.", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "adfbd2e8a38f96e03751717f7422851d", "Champ Games", "CG-01-N", "Lady Bug (NTSC)", "", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "YES", "" }, - { "ae047e9468bda961d8e9e9d8ff52980f", "", "", "Tunnel Demo (Red Spiral) (30-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae0d4f3396cb49de0fabdff03cb2756f", "Retroactive", "", "Qb (V2.02) (PAL) (2001) (Retroactive)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ae10527840a1ac24de43730645ed508d", "Charles Morgan", "", "Planet Invaders (Charles Morgan) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae18c11e4d7ed2437f0bf5d167c0e96c", "", "", "Multi-Color Demo 3 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae2f1f69bb38355395c1c75c81acc644", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (12-23-1983) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ae465044dfba287d344ba468820995d7", "", "", "Inca Gold (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae4be3a36b285c1a1dff202157e2155d", "Spectravideo", "SA-210", "Master Builder (1983) (Spectravideo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae682886058cd6981c4b8e93e7b019cf", "Retroactive", "", "Qb (V0.12) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ae6cb335470788b94beb5787976e8818", "", "", "Mortal Kurling (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae83541cf4a4c0bce0adccd2c1bf6288", "", "", "Maze 003 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ae97cf8ed21f4154b4360a3cf6c95c5e", "", "", "Teleterm 2600 (John K. Harvey) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aeb104f1e7b166bc0cbaca0a968fde51", "", "", "Ms. Pac-Man (1999) (Hack)", "Hack of Ms. Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aec9b885d0e8b24e871925630884095c", "Amiga - Video Soft", "3125", "Surf's Up (1983) (Amiga) (Prototype)", "Uses the Joyboard controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aed0b7bd64cc384f85fdea33e28daf3b", "Atari, Jim Huether, Alan J. Murphy, Robert C. Polaro", "CX2666", "RealSports Volleyball (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "aed82052f7589df05a3f417bb4e45f0c", "Atari, Warren Robinett - Sears", "CX2606 - 6-99825, 49-75112", "Slot Racers (1978) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "af6ab88d3d7c7417db2b3b3c70b0da0a", "Activision, Larry Kaplan, David Crane", "AG-010, AG-010-04", "Kaboom! (1981) (Activision) (4K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "af6f3e9718bccfcd8afb421f96561a34", "Atari, Tod Frye", "CX2695", "Xevious (01-18-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "afb3bc45c6a82739cc82582127cd96e6", "Atari - Sculptured Software, Adam Clayton", "CX26151, CX26151P", "Dungeon (11-22-1985) (Atari) (Prototype)", "Dark Chambers Beta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "afc194534c1b346609ef05eff6d3cef6", "Jone Yuan Telephonic Enterprise Co", "", "Boxing (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "afd2cf258d51ae4965ee21abba3627ab", "Atari - CCW, Christopher H. Omarzu", "CX26104", "Big Bird's Egg Catch (12-08-1982) (Atari) (Prototype)", "Uses the Keypad Controller", "Prototype", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "" }, - { "afe4eefc7d885c277fc0649507fbcd84", "Atari", "CX26163P", "Ant Party (32 in 1) (1988) (Atari) (PAL)", "AKA Cosmic Swarm", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "afe776db50e3378cd6f29c7cdd79104a", "Thomas Jentzsch", "", "Bobby is Going Home (TJ)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "afe88aae81d99e0947c0cfb687b16251", "Apollo - Games by Apollo", "AP-2006", "Infiltrate (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "aff8cba0f2d2eb239953dd7116894a08", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (3 of 3) (1982) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b00088418fc891f3faa3d4ddde6ace94", "", "", "Unknown Title (bin00007 (200102)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b00a8bc9d7fe7080980a514005cbad13", "K-Tel Vision", "", "Vulture Attack (1982) (K-Tel Vision) (PAL)", "AKA Condor Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b00e8217633e870bf39d948662a52aac", "Konami", "RC 102-X 02", "Marine Wars (1983) (Konami)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b011d8fdc450597c0762c2c0010a9b17", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (NTSC) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b049fc8ac50be7c2f28418817979c637", "Activision - Imagineering, Dan Kitchen, David Lubar", "EAK-048-04, EAK-048-04B", "River Raid II (1988) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b06050f686c6b857d0df1b79fea47bb4", "Activision", "AIZ-001", "Moonsweeper (1988) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b061e98a4c854a672aadefa233236e51", "Atari, Warren Robinett", "CX2620, CX2620P", "Basic Programming (1979) (Atari) (PAL)", "Uses Keypad Controllers", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b095009004df341386d22b2a3fae3c81", "", "", "Sub-Scan (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b09b79c9628878be051e89f7f1e77378", "Activision, Larry Kaplan, David Crane - Ariola", "EAG-010, PAG-010 - 711 010-720", "Kaboom! (1981) (Activision) (PAL) (4K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "b0a9c6f6c8014c4023e0341ba11ca35e", "The Atari 2600 Connection - John K. Harvey, Tim Duarte", "v75", "Mean Santa (2009) (PAL)", "Released in 2019", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b0ba51723b9330797985808db598fc31", "Atari, Michael Callahan, Preston Stuart", "CX26103", "Alpha Beam with Ernie (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b0c47e426c7f799aee2c40422df8f56a", "", "", "Space Treat (PAL) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b0c9cf89a6d4e612524f4fd48b5bb562", "Atari - GCC", "CX2663", "Combat Two (1982) (Atari) (Prototype)", "AKA Super Combat", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b0e1ee07fbc73493eac5651a52f90f00", "Colin Hughes", "", "Tetris 2600 (Colin Hughes)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b1276417fb0f79bc52e741bb8f4d8360", "Thomas Jentzsch", "", "Marble Craze - Amiga Mouse Hack v1.0 (NTSC) (TJ)", "Uses Amiga Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b129d7541cff79ebe33852a83057c524", "Thomas Jentzsch", "", "Marble Craze - Atari Trak-Ball Hack v1.0 (NTSC) (TJ)", "Uses Atari Trak-Ball Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b12a7f63787a6bb08e683837a8ed3f18", "Imagic, Rob Fulop", "720000-200, 720101-1B, 720101-1C, IA3200, IA3200C, IX-006-04", "Demon Attack (1982) (Imagic) [fixed]", "AKA Death from Above", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b1339c56a9ea63122232fe4328373ac5", "Goliath - Hot Shot", "83-215", "Dream Flight (1983) (Goliath) (PAL)", "AKA Nightmare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b1486e12de717013376447ac6f7f3a80", "Spectravideo, Mark Turmell, Quelle", "SA-217, SA-217C - 413.723 8", "Gas Hog - Piraten Schiff (1983) (Spectravideo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b15026b43c6758609667468434766dd8", "Retroactive", "", "Qb (0.06) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b16cd9784589219391c839cb68c47b9c", "Video Soft, Jerry Lawson, Dan McElroy", "", "Golf Diagnostic (1983) (Video Soft) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b17b9cc4103844dcda54f77f44acc93a", "Quelle", "377.943 6", "Stopp die Gangster (1983) (Quelle) (PAL)", "AKA Gangster Alley", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b182d9708e00709830caab9cf8205ca0", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b1a6c96e9093352106bc335e96caa154", "Joe Grand", "", "SCSIcide Pre-release 1 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b1b20536aef4eed9c79dc5804f077862", "", "", "Euchre (NTSC) (09-11-2001) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b1c14b5ac896400cc91c8e5dd67acb59", "", "", "River Raid (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b1d1e083dc9e7d9a5dc1627869d2ade7", "CCE", "C-1004", "Mario's Bros. (1983) (CCE)", "AKA Mario Bros.", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b1e2d5dc1353af6d56cd2fe7cfe75254", "Atari - Axlon, Steve DeFrisco", "CX26171", "MotoRodeo (1991) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b1fd0b71de9f6eeb5143a97963674cb6", "", "", "Multi-Color Demo 7 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b227175699e372b8fe10ce243ad6dda5", "Atari, Brad Stewart - Sears", "CX2649, 49-75163", "Asteroids (1981) (Atari) [a1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b23ebf427713dd0198b7ef47dbd07ef4", "Jone Yuan Telephonic Enterprise Co", "", "Sky Diver (Jone Yuan) (4K) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b24f6a5820a4b7763a3d547e3e07441d", "CCE", "C-823", "Demon Attack (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b25841173f058380b1771aacd5e7cdf3", "Bit Corporation", "PG205", "Dancing Plate (1982) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b26506fbf411009e5e3f7365f442960e", "Atari, Alan Miller", "CX2642", "Hunt & Score (1978) (Atari) (PAL) (4K)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b2737034f974535f5c0c6431ab8caf73", "CBS Electronics, Richard K. Balaska Jr., Andy Frank, Stuart Ross", "4L 2520 5000", "Tunnel Runner (1983) (CBS Electronics)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b2761efb8a11fc59b00a3b9d78022ad6", "Atari, Bob Whitehead - Sears", "CX2651 - 99805, 49-75602", "Blackjack (1977) (Atari) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "" }, - { "b290c2b139344fcff5b312c71b9ac3b2", "Atari", "CX26163P", "UFO (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b29359f7de62fed6e6ad4c948f699df8", "Goliath", "3", "Phantom Tank (1983) (Goliath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b2a6f31636b699aeda900f07152bab6e", "", "", "Space Instigators (Public Release 2) (06-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b2ab209976354ad4a0e1676fc1fe5a82", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a3]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b2d1e63f7f22864096b7b6c154151d55", "Fabrizio Zavagli", "", "Bounce! (17-03-2003) (Fabrizio Zavagli)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b2d3bcee001cff2bd2d8a21b2cb55109", "Atari - GCC, Mike Feinstein, Kevin Osborn", "CX2691", "Joust (08-09-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b2d5d200f0af8485413fad957828582a", "Atari - Bobco, Robert C. Polaro", "CX26155P", "Sprint Master (1988) (Atari) (PAL)", "AKA Sprint 88, Sprint 2000", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b2f0d7217147160b2f481954cedf814b", "", "", "Marquee Drawer (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b3017e397f74efd53caf8fae0a38e3fe", "Retroactive", "", "Qb (2.12) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b311ab95e85bc0162308390728a7361d", "Parker Brothers - Roklan, Joe Gaucher", "PB5080", "Gyruss (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b31dc989f594764eacfa7931cead0050", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (2 of 3) (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b31e9487efc06f18dfc3d7ebadf54416", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) v4 (PAL60) (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b31f178aa0d569cccac7959f84e0a724", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (07-13-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b3203e383b435f7e43f9492893c7469f", "Gameworld", "133-003", "Sssnake (1983) (Gameworld) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b36040a2f9ecafa73d835d804a572dbf", "Digitel", "", "Pac Man (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b37f0fe822b92ca8f5e330bf62d56ea9", "Xonox - K-Tel Software - Beck-Tech, Steve Beck", "6210, 7210, 06003. 99001", "Spike's Peak (1983) (Xonox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b392964e8b1c9c2bed12246f228011b2", "", "", "Name This Game (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b4030c38a720dd84b84178b6ce1fc749", "M Network - APh Technological Consulting, Kevin Miller", "MT5687", "International Soccer (1982) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b40dea357d41c5408546e4e4d5f27779", "Digivision", "", "Spider Fighter (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b41fdd4a522e1d5a2721840028684ac2", "", "", "Green and Yellow Number 1 Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b42df8d92e3118dc594cecd575f515d7", "Mystique - American Multiple Industries", "1003", "Burning Desire (1982) (Mystique) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b438a6aa9d4b9b8f0b2ddb51323b21e4", "Telegames", "5861 A030", "Bogey Blaster (1988) (Telegames) (PAL)", "AKA Air Raiders", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b451307b8b5e29f1c5f2cf064f6c7227", "", "", "Demo Image Series #6 - Mario (Fixed) (26-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b49331b237c8f11d5f36fe2054a7b92b", "", "", "Condor Attack (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b4a4c87840613f102acb5b3a647d0a67", "", "", "Mobile 48 Sprite Kernel (04-01-2003) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b4daedb43511521db9036d503b3c1b69", "", "", "Sokoban (01-01-2003) (Adam Wozniak) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b4e2fd27d3180f0f4eb1065afc0d7fc9", "Avalon Hill, Jean Baer, Bill 'Rebecca Ann' Heineman, William O. Sheppard", "5002002", "London Blitz (1983) (Avalon Hill)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b4f05e544834d0238a0c263491775edf", "Starpath Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (Preview) (1982) (Starpath) (PAL)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b4f31ea8a6cc9f1fd4d5585a87c3b487", "Mystique - American Multiple Industries, Joel H. Martin", "", "Beat 'Em & Eat 'Em (1982) (Mystique) (PAL)", "Uses the Paddle Controller (left only)", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, - { "b4f87ce75f7329c18301a2505fe59cd3", "Videospielkassett - Ariola", "PGP232", "Autorennen (Ariola) (PAL)", "AKA Grand Prix", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b50ae55aac93fbed258bc5a873edd2cb", "Recompile", "", "E.T. The Extra-Terrestrial (Recompile) (Hack)", "www.neocomputer.org/projects/et", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b5110f55ed99d5279f18266d001a8cd5", "Eckhard Stolberg", "", "Auto-mobile Demo (2001) (Eckhard Stolberg)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b56264f738b2eb2c8f7cf5a2a75e5fdc", "Atari - GCC, John Allred, Douglas B. Macrae, Betty Ryan Tylko", "CX2694, CX2694P", "Pole Position (1983) (Atari) (PAL)", "AKA RealSports Driving", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b5657d4c1c732fbb6af150668464247f", "Arcadia Corporation, Stephen H. Landrum", "AR-4400", "Excalibur (Dragonstomper Beta) (1982) (Arcadia) (Prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b59417d083b0be2d49a7d93769880a4b", "Pet Boat", "", "Donkey Kong (1983) (Pet Boat) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b59fd465abf76f64c85652ff29d5952d", "VentureVision, Dan Oliver", "", "Innerspace (1983) (VentureVision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b5a1a189601a785bdb2f02a424080412", "Imagic, Dennis Koble", "720021-1A, IA3410", "Shootin' Gallery (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b5cb9cf6e668ea3f4cc2be00ea70ec3c", "CommaVid, Irwin Gaines - Ariola", "CM-005 - 712 005-720", "Mines of Minos (1982) (CommaVid) (PAL)", "AKA Im Labyrinth des Roboters", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b5cdbab514ea726a14383cff6db40e26", "Video Gems", "VG-04", "Mission Survive (1983) (Video Gems) (PAL) [a]", "", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "YES", "" }, - { "b5efe0271d2214e4d5dc798881486884", "Atari - Axlon, Steve DeFrisco", "CX26192", "Klax (06-14-1990) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b6166f15720fdf192932f1f76df5b65d", "Amiga - Video Soft", "3130", "Off Your Rocker (1983) (Amiga) (Prototype)", "Uses the Amiga Joyboard", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b64426e787f04ff23ee629182c168603", "Dynacom", "", "Plaque Attack (1983) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b65d4a38d6047735824ee99684f3515e", "Dynacom", "", "MegaBoy (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b676a9b7094e0345a76ef027091d916b", "Thomas Jentzsch", "", "Mission Survive (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "YES", "" }, - { "b6812eaf87127f043e78f91f2028f9f4", "Simage", "", "Eli's Ladder (1984) (Simage)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b6821ac51c4c1dcb283f01be2f047dc1", "Thomas Jentzsch", "", "Rubik's Cube 3D Demo (25-11-2002) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b6960be26bee87d53ba4e2e71cfe772f", "", "", "3-D Corridor (Spiral Words) (31-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b6d52a0cf53ad4216feb04147301f87d", "Imagic, Michael Greene", "720055-1A, IA3312", "No Escape! (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b6e40bce550672e5495a8cdde7075b8b", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (1 of 3) (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b702641d698c60bcdc922dbd8c9dd49c", "Atari, Ian Shepard", "CX26163P", "Space War (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b719ada17771a8d206c7976553825139", "Ron Corcoran", "", "DUP Space Invaders (Ron Corcoran) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b731d35e4ac6b3b47eba5dd0991f452f", "Thomas Jentzsch", "", "Rubik's Cube 3D Demo (Final) (08-01-2003) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b7345220a0c587f3b0c47af33ebe533c", "Quelle", "176.433 1", "Landungskommando (1983) (Quelle) (PAL)", "AKA Strategy X", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b76fbadc8ffb1f83e2ca08b6fb4d6c9f", "Activision, Bob Whitehead", "AG-005, CAG-005, AG-005-04", "Skiing (1980) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b77468d586957d1b7fb4cccda2684f47", "Atari", "CX26163P", "Boxing (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b7903268e235310dc346a164af4c7022", "Thomas Jentzsch", "", "Cat Trax (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b79fe32320388a197ac3a0b932cc2189", "Imagic, Bob Smith", "13207, EIZ-001-04I", "Moonsweeper (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b7a7e34e304e4b7bc565ec01ba33ea27", "Parker Brothers", "PB5820", "Mr. Do!'s Castle (1984) (Parker Bros) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b7b1d3ce07e75976c43a2dca3866237e", "Atari", "CX26163P", "Freeway Chicken (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Freeway", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b7d0aae399781b3c18679debda6d32b1", "Thomas Jentzsch", "", "Three.s (v1.02)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b7d7c76e37f372f4e4979b380ed95a58", "AtariAge - Michael Haas", "RC2", "Flappy (2014) (AtariAge) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b7e459d5416eeb196aaa8e092db14463", "", "", "Push (V0.02) (1998) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b7f184013991823fc02a6557341d2a7a", "", "", "Blue Rod Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b80d50ecee73919a507498d0a4d922ae", "20th Century Fox Video Games - Sirius Software, David Lubar", "11008", "Fantastic Voyage (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b816296311019ab69a21cb9e9e235d12", "Atari, Bob Whitehead - Sears", "CX2652 - 6-99816, 49-75151", "Casino (1979) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "" }, - { "b822fba8b7c8a97ea4e92aeb2c455ef9", "Dactari", "", "Freeway (Dactari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b83579c4450fcbdf2b108903731fa734", "", "", "Mission 3,000 A.D. (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b83df1f32b4539c324bdf94851b4db55", "Angelino", "", "One On One by Angelino (Basketball Hack)", "Hack of Basketball (1978) (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b86552198f52cfce721bafb496363099", "Apollo, Tim Martin", "AP-2007", "Kyphus (1982) (Apollo) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b86a12e53ab107b6caedd4e0272aa034", "Funvision - Fund. International Co.", "", "Treasure Hunting (Funvision)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b879e13fd99382e09bcaf1d87ad84add", "Zellers", "", "Time Warp (Zellers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b8865f05676e64f3bec72b9defdacfa7", "Activision, David Crane", "AG-004", "Fishing Derby (1980) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b897f9e3f939b9f21566d56db812a84e", "Atari, Jim Huether", "CX26163P", "Flag Capture (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b8e715223ba65cf716b3620a90ca3ec1", "Parker Brothers", "PB5820", "Mr. Do!'s Castle (1984) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b8ed78afdb1e6cfe44ef6e3428789d5f", "Data Age, J. Ray Dettling", "112-007", "Bermuda Triangle (1983) (Data Age)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b9232c1de494875efe1858fc8390616d", "Panda", "110", "Harbor Escape (1983) (Panda)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b9336ed6d94a5cc81a16483b0a946a73", "Atari, Jerome Domurat, Michael Sierchio", "CX2667, CX2667P", "RealSports Soccer (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "b955eb0e2baf7a437c186bddd4c49958", "Atari, Omegamatrix", "", "Space Invaders Menu (2020) (PAL60) (Hack)", "Hack of Space Invaders", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b958d5fd9574c5cf9ece4b9421c28ecd", "Piero Cavina", "", "Multi-Sprite Game V1.0 (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b95a6274ca0e0c773bfdc06b4c3daa42", "Paul Slocum", "", "3-D Corridor (29-03-2003) (Paul Slocum)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b98cc2c6f7a0f05176f74f0f62c45488", "Spectravideo", "SV-010", "CompuMate (1983) (Spectravideo)", "", "", "", "", "CM", "", "", "", "", "COMPUMATE", "COMPUMATE", "", "", "", "", "YES", "" }, - { "b9b4612358a0b2c1b4d66bb146767306", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b9d1e3be30b131324482345959aed5e5", "Activision - Boston Design Center, Rex Bradford", "", "Kabobber (07-25-1983) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "b9f6fa399b8cd386c235983ec45e4355", "Parker Brothers, John Emerson", "931511", "Action Force (1983) (Parker Bros) (PAL)", "AKA G.I. Joe - Cobra Strike", "", "", "", "", "", "", "", "", "", "", "", "01 55", "", "", "", "" }, - { "b9f9c0fed0db08c34346317f3957a945", "SuperVision", "405, 427, 806, 808, 813, 816", "Chopper Command (SuperVision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ba257438f8a78862a9e014d831143690", "U.S. Games Corporation - JWDA, Todd Marshall, Robin McDaniel, Henry Will IV", "VC2002", "Squeeze Box (1983) (U.S. Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ba317f83cdfcd58cbc65aac1ccb87bc5", "Thomas Jentzsch", "", "Jammed (2001) (XYPE) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ba3a17efd26db8b4f09c0cf7afdf84d1", "Activision, Larry Miller", "AX-021", "Spider Fighter (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ba3b0eebccc7b791107de5b4abb671b4", "Thomas Jentzsch", "", "Thrust (V0.9) (2000) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ba657d940a11e807ff314bba2c8b389b", "Activision, John Van Ryzin", "AG-038-04", "Cosmic Commuter (1984) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bac28d06dfc03d3d2f4a7c13383e84ee", "Supergame", "", "Demon Attack (Supergame)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bae1a23f9b6acdadf465cfb330ba0acb", "Atari - GCC, Doug Macrae", "CX2677", "Dig Dug (1983) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bae66907c3200bc63592efe5a9a69dbb", "Spectravision - Spectravideo - Quelle", "SA-201 - 412.783 3", "Gangster Alley (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "baf4ce885aa281fd31711da9b9795485", "Atari, Douglas Neubauer", "CX26176", "Radar Lock (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bb18189021d58362d9e4d317cd2e28b7", "Activision, David Crane - Ariola", "EAG-001, PAG-001, EAG-001-04B, EAG-001-04I - 711 001-715", "Dragster (1980) (Activision) (PAL) (4K)", "AKA Dragster Rennen", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bb2b83fff97604f74ada565e0b5bae94", "Thomas Jentzsch", "", "Missile Control - Atari Mouse Hack v1.15 (PAL60) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bb5049e4558daade0f87fed69a244c59", "Atari, Brad Stewart", "CX2649, CX2649P", "Asteroids (1981) (Atari) (PAL) [no copyright]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "bb579404924c40ca378b4aff6ccf302d", "", "", "Lightbulb Lightens, The (PD) (Non Functional)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bb6a5a2f7b67bee5d1f237f62f1e643f", "", "", "Demo Image Series #5 - Animegirl (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bb745c893999b0efc96ea9029e3c62ca", "Play Video", "", "Planet Patrol (1982) (Play Video) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bb756aa98b847dddc8fc170bc79f92b2", "", "", "Golf (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bb9112d478a1a922d2c289a752bba695", "Omegamatrix", "", "SpaceMaster X-7 (Amiga Mouse) (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bbf8c7c9ed280151934aabe138e41ba7", "Amiga", "1130", "Power Play Arcade Video Game Album V (1984) (Amiga) (Prototype)", "Mogul Maniac, Surf's Up, Off Your Rocker, S.A.C. Alert", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bc24440b59092559a1ec26055fd1270e", "", "", "Private Eye (1984) (Activision) [a]", "", "", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bc3057a35319aae3a5cd87a203736abe", "CCE", "C-845", "Time Warp (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bc33c685e6ffced83abe7a43f30df7f9", "Dynacom", "", "Seaquest (1983) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bc4cf38a4bee45752dc466c98ed7ad09", "Atari, Douglas Neubauer, Mimi Nyden", "CX26136", "Solaris (1986) (Atari) (PAL)", "AKA Universe, Star Raiders II, The Last Starfighter", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bc526185ad324241782dc68ba5d0540b", "", "", "Dodge Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bc5389839857612cfabeb810ba7effdc", "Atari, Tod Frye", "CX2671", "SwordQuest - WaterWorld (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bc703ea6afb20bc089f04d8c9d79a2bd", "", "", "Gunfight 2600 - Not mergeable with Colbert wizardry... (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bc97d544f1d4834cc72bcc92a37b8c1b", "", "", "Sky Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bcb31f22856b0028c00d12f0e4c0a952", "Canal 3 - Intellivision", "", "Thunderground (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bcb73b534ed7c613ac379ecd726effb5", "Bob Montgomery (aka vdub_bobby)", "", "Squish 'Em (2007) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bccb4e2cfad5efc93f6d55dc992118ce", "Activision, Carol Shaw", "AX-020, AX-020-04", "River Raid (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bce4c291d0007f16997faa5c4db0a6b8", "Quelle", "292.651 7", "Weltraumtunnel (1983) (Quelle) (PAL)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bce93984b920e9b56cf24064f740fe78", "Atari", "CX26163P", "Checkers (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bcef7880828a391cf6b50d5a6dcef719", "Rainbow Vision - Suntek", "SS-009", "Bermuda, The (1983) (Rainbow Vision) (PAL)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bd1bd6f6b928df17a702def0302f46f4", "", "", "Binary To Decimal Routine (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bd39598f067a1193ae81bd6182e756d1", "Telegames", "", "Night Stalker (1988) (Telegames) (PAL)", "AKA Dark Cavern", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bd430c2193045c68d1a20a018a976248", "", "", "Pac Ghost Sprite Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bd551ff1264f5c367a3ad7cf0d2f266c", "Bit Corporation", "R320", "SpaceMaster X-7 (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bda1463e02ae3a6e1107ffe1b572efd2", "Atari, Nick 'Sandy Maiwald' Turner", "CX26111", "Snoopy and the Red Baron (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bdb4b584ddc90c9d2ec7e21632a236b6", "Atari Freak 1", "", "Nitemare at Sunshine Bowl-a-Rama (Atari Freak 1) (Hack)", "Hack of Pac-Man Jr.", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bdbaeff1f7132358ea64c7be9e46c1ac", "20th Century Fox Video Games, Douglas 'Dallas North' Neubauer", "11105", "Mega Force (1982) (20th Century Fox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bdc381baf7c252c63739c5e9ed087a5c", "", "", "Vertical Ship Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bdecc81f740200780db04a107c3a1eba", "Quelle", "874.254 6", "Super-Cowboy beim Rodeo (1983) (Quelle) (PAL)", "AKA Stampede", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bdf1996e2dd64baf8eff5511811ca6ca", "Tron", "", "H.E.R.O. (Tron)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "be060a704803446c02e6f039ab12eb91", "Parker Brothers, Rex Bradford, Sam Kjellman", "931501", "Star Wars - The Empire Strikes Back (1982) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "be1922bd8e09d74da471287e1e968653", "Cropsy", "", "Hangman Pacman Demo (Cropsy) (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "be2870a0120fd28d25284e9ccdcbdc99", "", "", "Tomb Raider 2600 [REV 01] (Montezuma's Revenge Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "be35d8b37bbc03848a5f020662a99909", "Atari, Joe Decuir, Steve Mayer, Larry Wagner - Sears", "CX2601 - 99801, 6-99801, 49-75124", "Combat (1977) (Atari) (4K) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "be3f0e827e2f748819dac2a22d6ac823", "Puzzy - Bit Corporation", "PG202", "Space Tunnel (1982) (Puzzy)", "AKA Le Tunnel de L'Estace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "be41463cd918daef107d249f8cde3409", "", "", "Berzerk (Voice Enhanced) (Hack)", "Hack of Berzerk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "be561b286b6432cac71bccbae68002f7", "", "", "Counter Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "be929419902e21bd7830a7a7d746195d", "Activision, Garry Kitchen", "AX-025, AX-025-04", "Keystone Kapers (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "becd908f9d7bb361982c3dc02d6475c6", "Kyle Pittman", "", "THX-1138 (Kyle Pittman) (Hack)", "Hack of Berserk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bedfbde71fb606601f936b5b057f26f7", "Activision, Garry Kitchen - Ariola", "EAX-025, EAX-025-04I - 711 025-725", "Keystone Kapers (1983) (Activision) (PAL) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "befce0de2012b24fd6cb8b53c17c8271", "", "", "Push (V0.03) (No Illegal Opcodes) (1998) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bf1970b692275b42c4ec0683588eb062", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (NTSC) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bf52327c2197d9d2c4544be053caded1", "HES - Activision", "AG-930-04, AZ-030", "Decathlon (HES) (PAL) (16K)", "AKA Activision Decathlon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bf84f528de44225dd733c0e6a8e400a0", "CCE", "", "Demons to Diamonds (CCE)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "YES", "10 57", "", "", "", "" }, - { "bf976cf80bcf52c5f164c1d45f2b316b", "Atari, Tod Frye, Mimi Nyden", "CX2657", "SwordQuest - FireWorld (1982) (Atari) (PAL)", "AKA Adventure II, SwordQuest II - FireWorld", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bfa58198c6b9cd8062ee76a2b38e9b33", "", "", "20 Sprites at Once Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bfb73aabb2489316cd5882c3cd11d9f9", "AtariAge, Chris Walton & Thomas Jentzsch", "165", "Star Castle Arcade (2014) (AtariAge)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "bff8f8f53a8aeb1ee804004ccbb08313", "", "", "Droid Demo 22 (David Conrad Schweinsberg) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "bffe34516aaa3cbf5d307eab382a7e95", "", "", "Euchre (Release Candidate) (PAL) (28-09-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c00734a2233ef683d9b6e622ac97a5c8", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26133", "A-Team, The (03-30-1984) (Atari) (Prototype)", "AKA Saboteur", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c00b65d1bae0aef6a1b5652c9c2156a1", "Atari, Joe Decuir - Sears", "CX2621 - 99806, 6-99806, 49-75104", "Video Olympics (1977) (Atari) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "YES", "AUTO 60", "", "", "", "" }, - { "c02e1afa0671e438fd526055c556d231", "Atari", "", "A-Team (Atari) (Prototype) (PAL60)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c032c2bd7017fdfbba9a105ec50f800e", "Activision, Charlie Heath", "", "Thwocker (04-09-1984) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c033dc1d7b6fde41b9cadce9638909bb", "", "", "Skeleton (V1.1) (06-09-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c0589bb73858924389077fa3c2e9441a", "SOLID Corp. (D. Scott Williamson)", "CX2655-014", "Star Castle 2600 (SolidCorp) [014]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c05f367fa4767ceb27abadf0066df7f4", "Thomas Jentzsch", "", "TomInv (31-07-2001) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c08d0cee43077d3055febb00e5745c1d", "HES - Activision", "", "Super Hit Pak - River Raid, Sky Jinks, Grand Prix, Fishing Derby, Checkers (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c0a68837c60e15d1fc5a40c9a62894bc", "Arcadia Corporation, Kevin Norman", "7 AR-4103", "Killer Satellites (1983) (Arcadia) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c0c7eddefce9015346db88ade3e1e096", "CBS Electronics, Bob Curtiss", "4L 2487 5000", "Solar Fox (1983) (CBS Electronics) (Prototype) (4K)", "RAM must be zero'ed to start correctly", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c0d2434348de72fa6edcc6d8e40f28d7", "SEGA - Beck-Tech, Steve Beck", "010-01", "Tapper (1984) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c1034a5bfb0bb13cc5bdf86cc58989a7", "Atari, Nick 'Sandy Maiwald' Turner", "CX2665", "Frog Pond (1982) (Atari) (Prototype) (4K) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c118854d670289a8b5d5156aa74b0c49", "Jone Yuan Telephonic Enterprise Co", "", "Skiing (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c11e8473c652619ac6166900150ce215", "AtariAge, Chris Walton", "1.0 (Release)", "Chetiry (2011) (AtariAge) (60k) (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "50" }, - { "c126656df6badfa519cc63e681fb3596", "Ron Corcoran", "", "Space Invaders (2002) (Ron Corcoran) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c15042e54c7408498f051d782aaa8945", "Omegamatrix", "", "Millipede (Atari Trak-Ball) v6.5 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c150c76cbde2c9b5a97eb5399d46c64f", "", "", "Unknown Title (xxx00000 (200203)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c16c79aad6272baffb8aae9a7fff0864", "U.S. Games Corporation - JWDA, Sylvia Day, Todd Marshall, Robin McDaniel, Henry Will IV", "VC2001", "Gopher (1982) (U.S. Games)", "AKA Gopher Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c16fbfdbfdf5590cc8179e4b0f5f5aeb", "", "", "Wall Break (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c17bdc7d14a36e10837d039f43ee5fa3", "Spectravision - Spectravideo", "SA-203", "Cross Force (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c1a83f44137ea914b495fc6ac036c493", "Atari, Carla Meninsky", "CX2660", "Star Raiders (1982) (Atari) (PAL)", "Uses Joystick (left) and Keypad (right) Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c1b038ce5cb6d85e956c5509b0e0d0d8", "", "", "Rotating Colors Demo 2 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c1b1049b88bcd98437d8872d1d62ba31", "", "", "Demo Image Series #4 - Donald (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c1b7aeabc3ec41556d924c8372a9ba5b", "Atari, Robert C. Polaro", "", "Dukes of Hazard (1980) (Atari) (Prototype)", "AKA Stunt Cycle", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c1cb228470a87beb5f36e90ac745da26", "Activision, Bob Whitehead", "AX-015, AX-015-04", "Chopper Command (1982) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c1e6e4e7ef5f146388a090f1c469a2fa", "Bomb - Onbase", "CA283", "Z-Tack (1983) (Bomb)", "AKA Base Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c1f209d80f0624dada5866ce05dd3399", "Telegames", "", "Deadly Discs (1988) (Telegames) (PAL)", "AKA TRON - Deadly Discs", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c1fdd44efda916414be3527a47752c75", "Parker Brothers, John Emerson", "PB5920", "G.I. Joe - Cobra Strike (1983) (Parker Bros)", "Uses the Paddle (left) and Joystick (right) Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c20f15282a1aa8724d70c117e5c9709e", "Video Gems", "VG-02", "Surfer's Paradise (1983) (Video Gems) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c21450c21efb7715746e9fa87ad6f145", "Hozer Video Games", "", "Gunfight 2600 - It could've been soooo cool, but... (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c216b91f5db21a093ded6a5aaec85709", "Jone Yuan Telephonic Enterprise Co", "", "Dragster (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c221607529cabc93450ef25dbac6e8d2", "Eckhard Stolberg", "", "Color Test (26-09-2002) (Eckhard Stolberg)", "", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "" }, - { "c225379e7c4fb6f886ef9c8c522275b4", "Video Mania", "", "Frostbite (1983) (Video Mania)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c225abfb584960efe1f359fc94b73379", "", "", "Joustpong (21-09-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c2410d03820e0ff0a449fa6170f51211", "", "", "Pac-Man (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c246e05b52f68ab2e9aee40f278cd158", "Thomas Jentzsch", "", "Star Wars - Ewok Adventure (Thomas Jentzsch) (Prototype)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c2778507b83d9540e9be5713758ff945", "", "", "Island Flyer Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c28b29764c2338b0cf95537cc9aad8c9", "", "", "Multi-Color Demo 4 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c29d17eef6b0784db4586c12cb5fd454", "Jone Yuan Telephonic Enterprise Co", "", "River Raid (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c29f8db680990cb45ef7fef6ab57a2c2", "Parker Brothers - Roklan, Paul Crowley, Bob Curtiss", "931505", "Super Cobra (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c2a37f1c7603c5fd97df47d6c562abfa", "Roger Williams", "", "Bar-Score Demo (2001) (Roger Williams)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c2b5c50ccb59816867036d7cf730bf75", "Salu - Avantgarde Software, Michael Buetepage", "460741", "Ghostbusters II (1992) (Salu) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c2bcd8f2378c3779067f3a551f662bb7", "Activision, Bob Whitehead - Ariola", "EAG-002, EAG-002-04I, PAG-002 - 711 002-715", "Boxing (1980) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c2c7a11717e255593e54d0acaf653ee5", "", "", "Chopper Command (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c2c8eb642765137bb82b83a65232961f", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Mouse Hack v1.1 (PAL) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c2dea467f4a02fa1f06d66f52bc12e6e", "Thomas Jentzsch", "", "Missile Command Atari Trak-Ball Hack v1.3 (NTSC) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c2fbef02b6eea37d8df3e91107f89950", "Champ Games", "CG-02-N", "Conquest Of Mars (NTSC)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c31a17942d162b80962cb1f7571cd1d5", "Home Vision - Gem International Corp. - VDI", "VCS83112", "Sky Alien (1983) (Home Vision) (PAL)", "AKA Sky Aliem", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c3205e3707f646e1a106e09c5c49c1bf", "", "", "Unknown Title (bin00003 (200206)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c3472fa98c3b452fa2fd37d1c219fb6f", "Atari, Carla Meninsky - Sears", "CX2637 - 49-75158", "Dodge 'Em (1980) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c370c3268ad95b3266d6e36ff23d1f0c", "Atari, Alan Miller", "CX2641, CX2641P", "Surround (1977) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c3a9550f6345f4c25b372c42dc865703", "Atari - Bobco, Robert C. Polaro", "CX2663", "Road Runner (1989) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c3aeb796fdaf9429e8cd6af6346f337e", "", "", "If It's Not One Thing It's Another (1997) (Chris Cracknell)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c3bbc673acf2701b5275e85d9372facf", "Atari, Robert C. Polaro", "CX26157", "Stunt Cycle (07-21-1980) (Atari) (Prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c3e4aa718f46291311f1cce53e6ccd79", "", "", "Hangman Ghost 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c3ef5c4653212088eda54dc91d787870", "Activision, Bob Whitehead", "AG-002, CAG-002, AG-002-04", "Boxing (1980) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c3f53993ade534b0982ca3a286c85bb5", "", "", "Full Screen Bitmap Drawing System (12-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c4060a31d61ba857e756430a0a15ed2e", "Thomas Jentzsch", "", "Pick 'n Pile (2003) (TJ)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c41e7735f6701dd50e84ee71d3ed1d8f", "Dynacom", "", "Spider Fighter (1983) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c43bd363e1f128e73ba5f0380b6fd7e3", "Atari, Chris Crawford", "", "Wizard (1980) (Atari) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c446288fe62c0c2737639fd788ae4a21", "", "", "Mark's Sound Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c450a285daa7a3b65188c2c3cf04fb3e", "Wizard Video Games", "007", "Halloween (1983) (Wizard Video Games) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c469151655e333793472777052013f4f", "", "", "Base Attack (Unknown) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c471b97446a85304bbac021c57c2cb49", "First Star Software, Alex Leavens, Shirley Ann Russell", "", "Boing! (1983) (First Star Software) (PAL)", "AKA Bubbles, Soap Suds, The Emphysema Game", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c47244f5557ae12c61e8e01c140e2173", "Atari - GCC, Mike Feinstein, John Allred", "CX2688, CX2688P", "Jungle Hunt (1983) (Atari) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c47b7389e76974fd0de3f088fea35576", "Funvision - Fund. International Co.", "", "Mighty Mouse (Funvision)", "AKA Gopher", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c482f8eebd45e0b8d479d9b71dd72bb8", "Retroactive", "", "Push (V0.03) (1998) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c49fe437800ad7fd9302f3a90a38fb7d", "Atari, Dan Hitchens, Mimi Nyden", "CX2697, CX2697P", "Mario Bros. (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c4b73c35bc2f54b66cd786f55b668a82", "Arcadia Corporation, Stephen Harland Landrum", "AR-4101", "Communist Mutants from Space (1982) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c4bbbb0c8fe203cbd3be2e318e55bcc0", "", "", "Atlantis (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c4bc8c2e130d76346ebf8eb544991b46", "Imagic", "", "Imagic Selector ROM (1982) (Imagic) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c4d888bcf532e7c9c5fdeafbb145266a", "", "", "Space Robot (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c504a71c411a601d1fc3173369cfdca4", "Retroactive", "", "Qb (V2.02) (Stella) (2001) (Retroactive)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c5124e7d7a8c768e5a18bde8b54aeb1d", "Imagic, Rob Fulop", "720104-2A, IA3204P, EIX-008-04I", "Cosmic Ark (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c517144e3d3ac5c06f2f682ebf212dd7", "Tigervision - Teldec", "7-008 - 3.60006 VG", "Miner 2049er (1983) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c529e63013698064149b9e0468afd941", "", "", "S.I.PLIX 2 (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "c52d9bbdc5530e1ef8e8ba7be692b01e", "Atari, Robert C. Polaro", "CX26130", "Holey Moley (02-29-1984) (Atari) (Prototype)", "Uses Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c5301f549d0722049bb0add6b10d1e09", "Atari, Carla Meninsky, Ed Riddle - Sears", "CX2611 - 99821, 49-75149", "Indy 500 (1977) (Atari)", "Uses the Driving Controllers", "", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "45", "", "", "", "" }, - { "c5387fc1aa71f11d2fa82459e189a5f0", "Bit Corporation", "PG202", "Space Tunnel (1982) (BitCorp) (PAL)", "AKA Weltraum-Tunnel", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c53c0d10c74325deae9ba84074281983", "The Atari 2600 Connection - John K. Harvey, Tim Duarte", "v75", "Mean Santa (2009)", "Released in 2019", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c541a5f6fc23b40a211196dd78233780", "Atari, Carla Meninsky - Sears", "CX2660 - 49-75187", "Star Raiders (1981) (Atari) (Prototype) (4K)", "Uses Joystick (left) and Keypad (right) Controllers", "Prototype", "", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "" }, - { "c54b4207ce1d4bf72fadbb1a805d4a39", "Billy Eno", "", "Sniper (Feb 30) (2001) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c560a3ecb7b751021953819efcfe5b41", "Omegamatrix", "", "Ghostbusters (Genesis)", "Genesis controller", "", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "" }, - { "c569e57dca93d3bee115a49923057fd7", "", "", "Pac-Space (Pac-Man Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c58708c09ccb61625cda9d15ddcd8be6", "SPIKE the Percussionist", "", "NOIZ Invaders (SPIKE) (2002) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c5930d0e8cdae3e037349bfa08e871be", "Atari, Howard Scott Warshaw - Sears", "CX2655 - 49-75167", "Yars' Revenge (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c59633dbebd926c150fb6d30b0576405", "Telegames", "5861 A030", "Bogey Blaster (1988) (Telegames)", "AKA Air Raiders", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c5a76bafc4676edb76e0126fb9f0fb2d", "Charles Morgan", "", "Zero Patrol (Charles Morgan) (Hack)", "Hack of Moon Patrol", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c5bab953ac13dbb2cba03cd0684fb125", "SpiceWare - Darrell Spice Jr.", "", "Stay Frosty (SpiceWare)", "Part of Stella's Stocking 2007 Xmas compilation", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c5bf03028b2e8f4950ec8835c6811d47", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a2]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c5c7cc66febf2d4e743b4459de7ed868", "Atari, Jerome Domurat, Steve Woita", "CX2696", "Asterix (1983) (Atari) (PAL) [a]", "AKA Taz", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c5d2834bf98e90245e545573eb7e6bbc", "CCE", "", "Snoopy and the Red Baron (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c5dd8399257d8862f3952be75c23e0eb", "Atari - GCC", "CX2680", "RealSports Tennis (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c5f71dfbdca9cc96b28643ff4d06aa6f", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c5fe45f2734afd47e27ca3b04a90213c", "Atari, Brad Stewart", "CX2622, CX2622P", "Breakout (1978) (Atari) (PAL) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, - { "c63a98ca404aa5ee9fcff1de488c3f43", "Atari", "CX26145", "Venture (1987) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c6556e082aac04260596b4045bc122de", "Atari - GCC, Dave Payne", "CX2669", "Vanguard (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c6688781f4ab844852f4e3352772289b", "Atari, Tod Frye", "CX2695", "Xevious (08-02-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c67ff409f28f44883bd5251cea79727d", "", "", "Gunfight 2600 - Music & Bugfixes 1 (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c689148ad9275667924ab334107b517e", "Jone Yuan Telephonic Enterprise Co", "", "Space Raid (Jone Yuan)", "AKA MegaMania", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c68a6bafb667bad2f6d020f879be1d11", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c6ae21caceaad734987cb24243793bd5", "CCE", "", "Frostbite (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c6c63da3bc2e47291f63280e057061d0", "128-in-1 Junior Console", "", "Human Cannonball (128-in-1 Junior Console) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c6d48c6ae6461e0e82753540a985ac9e", "Ed Federmeyer", "", "Edtris (1994) (Ed Federmeyer)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c6d7fe7a46dc46f962fe8413c6f53fc9", "Parker Brothers, Mark Lesser", "PB5950", "Lord of the Rings (1983) (Parker Bros) (Prototype) [a]", "Journey to Rivendell (The Lord of the Rings I)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c6db733e0b108c2580a1d65211f06dbf", "Atari, Eric Manghise, Mimi Nyden, Joseph Tung", "CX2640", "RealSports Baseball (07-09-1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c738fc3f5aae1e8f86f7249f6c82ac81", "Atari, Brad Stewart - Sears", "CX2622 - 6-99813, 49-75107", "Breakout (1978) (Atari) (16K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 60", "", "", "", "" }, - { "c73ae5ba5a0a3f3ac77f0a9e14770e73", "Starpath Corporation, Stephen H. Landrum", "9 AR-4105", "Official Frogger, The (1983) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c745487828a1a6a743488ecebc55ad44", "Rainbow Vision - Suntek", "SS-002", "Galactic (1983) (Rainbow Vision) (PAL)", "AKA The Challenge of.... Nexar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c74bfd02c7f1877bbe712c1da5c4c194", "Thomas Jentzsch", "", "River Raid Tanks (Thomas Jentzsch) (Hack)", "Hack of River Raid", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c7600d72247c5dfa1ec1a88d23e6c85e", "Arcadia Corporation, Scott Nelson", "13", "Sweat! - The Decathlon Game (1 of 3) (1983) (Arcadia) (Prototype)", "Uses the Paddle Controllers (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c77c35a6fc3c0f12bf9e8bae48cba54b", "Xonox - K-Tel Software - Action Graphics, Michael Schwartz, David Thiel", "6230, 7210, 06004, 99004", "Artillery Duel (1983) (Xonox)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c77d3b47f2293e69419b92522c6f6647", "Panda", "101", "Tank Brigade (1983) (Panda)", "AKA Phantom Tank", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c7900a7fe95a47eef3b325072ad2c232", "Larry Petit", "", "Super Congo Bongo (2003) (Larry Petit) (Hack)", "Hack of Bongo", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c7d5819b26b480a49eb26aeb63cc831e", "Bit Corporation", "PGP210", "Ice Hockey (4 Game in One Light Green) (1983) (BitCorp) (PAL)", "AKA Hockey, Hockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c7e43ad79c5e5c029d9f5ffde23e32cf", "", "", "PAL-NTSC Detector (15-11-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c7eab66576696e11e3c11ffff92e13cc", "Atari - GCC", "CX2680, CX2680P", "RealSports Tennis (1983) (Atari) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c7f13ef38f61ee2367ada94fdcc6d206", "Parker Brothers - Roklan, Joe Gaucher", "PB5370", "Popeye (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c82ec00335cbb4b74494aecf31608fa1", "CCE", "", "E.T. - The Extra-Terrestrial (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c830f6ae7ee58bcc2a6712fb33e92d55", "Atari, Michael Kosaka", "CX2687", "Tempest (01-05-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c866c995c0d2ca7d017fef0fc0c2e268", "Retroactive", "", "Qb (2.00) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c880c659cdc0f84c4a66bc818f89618e", "Thomas Jentzsch", "", "Open Sesame (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c89c3138a99fd1fd54367d65f75b0244", "Atari, Omegamatrix", "", "Space Invaders Menu (2020) (PAL) (Hack)", "Hack of Space Invaders", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c8c7da12f087e8d16d3e6a21b371a5d3", "", "", "Demo Image Series #9 - Genius (28-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c8e90fc944596718c84c82b55139b065", "Atari - Roklan, Bob Curtiss", "", "Firefox (1983) (Atari) (Prototype) [a]", "AKA Combat II, Fighter Command", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c8fa5d69d9e555eb16068ef87b1c9c45", "Atari", "CX26144", "Donkey Kong Junior (1987) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c90788d9aa71a78bcc78c015edb22c54", "Thomas Jentzsch", "", "Marble Craze - Atari Trak-Ball Hack v1.0 (PAL60) (TJ)", "Uses Atari Trak-Ball Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c9196e28367e46f8a55e04c27743148f", "Atari", "CX26163P", "Stampede (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c92cfa54b5d022637fdcbdc1ef640d82", "Retroactive", "", "Qb (V2.05) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c98e8c918a40b4d3a243dd6c49196330", "AtariAge, Omegamatrix", "", "Venture Reloaded (2019) (AtariAge) (PAL60) (Hack)", "Transformative hack of Venture", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "c9b7afad3bfd922e006a6bfc1d4f3fe7", "Atari, Larry Kaplan - Sears", "CX2628 - 6-99842, 49-75117", "Bowling (1979) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c9c25fc536de9a7cdc5b9a916c459110", "Activision, Mike Lorenzen", "AX-023", "Oink! (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c9d02d3cfeef8b48fb71cb4520a4aa84", "", "", "Euchre (More for less) (PAL) (22-08-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c9e721eb29c940c2e743485b044c0a3f", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "c9f6e521a49a2d15dac56b6ddb3fb4c7", "Parker Brothers, Rex Bradford", "PB5000", "Star Wars - Jedi Arena (1983) (Parker Bros)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "10 50", "", "", "", "" }, - { "ca09fa7406b7d2aea10d969b6fc90195", "Activision, Matthew L. Hubbard, Bob Whitehead", "AX-024", "Dolphin (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ca4f8c5b4d6fb9d608bb96bc7ebd26c7", "M Network - INTV - APh Technological Consulting, Hal Finney, Glenn Hightower, Peter Kaminski", "MT4317", "Adventures of TRON (1983) (M Network)", "AKA Tron Joystick", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ca50cc4b21b0155255e066fcd6396331", "Suntek", "SS-031", "UFO Patrol (1983) (Suntek) (PAL)", "AKA X'Mission", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ca53fc8fd8b3c4a7df89ac86b222eba0", "CCE", "C-812", "Pac Man (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ca54de69f7cdf4d7996e86f347129892", "PlayAround - J.H.M.", "201", "Philly Flasher (1982) (PlayAround)", "Uses the Paddle Controllers, AKA Beat 'Em & Eat 'Em", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, - { "ca7aaebd861a9ef47967d31c5a6c4555", "Atari, Bob Whitehead", "CX26163P", "Homerun (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "ca7abc774a2fa95014688bc0849eee47", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (1984) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ca7f166a94eed1a349dec6d6a358bcad", "Activision, Alan Miller - Ariola", "EAG-007, EAG-007-04I, PAG-007 - 711 007-720", "Tennis (1981) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cac9928a84e1001817b223f0cecaa3f2", "Amiga - Video Soft, Jerry Lawson, Dan McElroy", "", "3-D Genesis (1983) (Amiga) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cad982c9b45bc5eff34e4ea982d5f1ca", "", "", "Song (17-02-2003) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cade123747426df69570a2bc871d3baf", "Gakken", "011", "Marine Wars (1983) (Gakken) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cae8f83c06831ec7bb6a3c07e98e9342", "Colin Hughes", "", "Tetris 2600 (Colin Hughes) [o1]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cb18d8d5fbdcb1cd7bd36c5423348859", "", "", "RAM-Pong (NTSC) v1.0", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cb24210dc86d92df97b38cf2a51782da", "Video Gems", "VG-01", "Missile Control (1983) (Video Gems) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cb4a7b507372c24f8b9390d22d54a918", "ITT Family Games", "554-37 338", "Peter Penguin (1983) (ITT Family Games) (PAL)", "AKA Frisco (Pumuckl-Serie)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cb8399dc0d409ff1f531ef86b3b34953", "", "", "Demo Image Series #12 - Luigi And Mario (01-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cb9626517b440f099c0b6b27ca65142c", "Atari, Larry Kaplan - Sears", "CX2664 - 6-99818", "Brain Games (1978) (Atari) (4K)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, - { "cb96b0cf90ab7777a2f6f05e8ad3f694", "Silvio Mogno", "", "Rainbow Invaders", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cb9b2e9806a7fbab3d819cfe15f0f05a", "Parker Brothers - JWDA, Todd Marshall, Robin McDaniel, Ray Miller", "931513", "Star Wars - Death Star Battle (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cba56e939252b05df7b7de87307d12ca", "", "", "Playfield Text Demo (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cbad928e10aeee848786cc55394fb692", "", "", "Fu Kung! (V0.06a Cuttle Cart Compatible) (15-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cbb0ee17c1308148823cc6da85bff25c", "", "", "Rotating Colors Demo 1 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cbc373fbcb1653b4c56bfabba33ea50d", "CCE", "", "Super Voleyball (CCE)", "AKA RealSports Volleyball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cbced209dd0575a27212d3eee6aee3bc", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2003", "Racquetball (1982) (Apollo) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cbd981a23c592fb9ab979223bb368cd5", "Atari, Carla Meninsky - Sears", "CX2660 - 49-75187", "Star Raiders (1982) (Atari)", "Uses Joystick (left) and Keypad (right) Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cbe5a166550a8129a5e6d374901dffad", "Atari, Carla Meninsky - Sears", "CX2610 - 49-75127", "Warlords (1981) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "AUTO 50", "", "", "", "" }, - { "cbeafd37f15e0dddb0540dbe15c545a4", "", "", "Black and White Fast Scolling Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cc03c68b8348b62331964d7a3dbec381", "Jone Yuan Telephonic Enterprise Co", "", "Marauder (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cc12581e079cd18330a89902625b8347", "Dave Neuman", "", "Space Battle (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cc1939e4769d0c157ace326efcfdcf80", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (3 of 4) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cc2973680c150886cce1ed8693c3aca2", "Quelle", "874.254 6", "Super-Cowboy beim Rodeo (1983) (Quelle) (PAL) (4K)", "AKA Stampede", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cc3d942c6958bd16b1c602623f59e6e1", "Atari, Bill Aspromonte, John Russell, Michael Sierchio, Robert Zdybel", "CX26114", "Pigs in Space (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cc7138202cd8f6776212ebfc3a820ecc", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (03-30-1983) (Atari) (Prototype)", "Uses the Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "" }, - { "cc724ebe74a109e39c0b2784ddc980ca", "Atari, Jerome Domurat, Dave Staugas", "CX2682", "Krull (05-27-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cc74ddb45d7bc4d04c2e6f1907416699", "", "", "Colour Display Programme (1997) (Chris Cracknell)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cca33ae30a58f39e3fc5d80f94dc0362", "", "", "Okie Dokie (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ccb56107ff0492232065b85493daa635", "Bit Corporation", "PG206 [demonstration cartridge]", "Bobby Is Going Home (1983) (BitCorp) (PAL) [demo cart]", "AKA Bobby geht Heim", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ccb5fa954fb76f09caae9a8c66462190", "Answer Software Corporation - TY Associates, Mike Wentz", "ASC1001", "Malagai (1983) (Answer Software)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ccb807eb79b0ed0f5fdc460445ef703a", "", "", "Superman (Stunt_Cycle_Rules!) (Hack)", "Hack of Superman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ccbd36746ed4525821a8083b0d6d2c2c", "Atari, Brad Stewart - Sears", "CX2649, 49-75163", "Asteroids (1981) (Atari) [no copyright]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cccfe9e9a11b1dad04beba46eefb7351", "", "", "Poker Squares (V0.25) (PAL) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ccd6ce508eee4b3fca67212833edcd85", "Otto Versand", "746422", "Hot Wave (Double-Game Package) (1983) (Otto Versand) (PAL)", "AKA Ram It", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ccd92a269a4c2bd64d58cf2c0114423c", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2675", "Ms. Pac-Man (09-20-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd032ab6764b55438a7b0bfb5e78595a", "", "", "Hangman Pac-Man 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd139ae6d09f3665ad09eb79da3f9e49", "Eric Mooney", "", "Invaders by Erik Mooney (4-24-97) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd34b3b3ef9e485201e841ba71beb253", "Bradford W. Mott", "", "Hit HMOVE At Various Cycles After WSYNC Test (Bradford W. Mott) (1998) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd38ad19f51b1048d8e5e99c86a2a655", "", "", "Demo Image Series #5 - Flag (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd399bc422992a361ba932cc50f48b65", "Arcadia Corporation, Brian McGhie", "AR-4104", "Rabbit Transit (Preview) (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd3e26786136a4692fd2cb2dfbc1927e", "", "", "Multiple Moving Objects Demo 2 (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd4423bd9f0763409bae9111f888f7c2", "Jone Yuan Telephonic Enterprise Co", "", "River Raid (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd4ded1ede63c4dd09f3dd01bda7458c", "Future Video Games", "", "Laser Gate (Future Video Games) (PAL)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd568d6acb2f14477ebf7e59fb382292", "Videospielkassette - Ariola", "PGP235", "Fussball (Ariola) (PAL)", "AKA International Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd5af682685cfecbc25a983e16b9d833", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26133", "A-Team, The (05-08-1984) (Atari) (Prototype)", "AKA Saboteur", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd88ef1736497288c4533bcca339f881", "SEGA - Teldec", "005-10", "Buck Rogers - Planet of Zoom (1983) (SEGA) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cd8fa2e9f6255ef3d3b9b5a4f24a54f7", "", "", "Daredevil (V2) (Stunt_Cycle_Rules!) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cd98be8a48ebf610c9609a688b9c57f2", "Arcadia Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (1982) (Arcadia) (Prototype)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cd9fea12051e414a6dfe17052067da8e", "Paul Slocum", "", "Marble Craze Demo (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cda38714267978b9a8b0b24bee3529ae", "", "", "Space Instigators (V1.6) (17-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cdadb57b34438805ee322ff05bd3d43e", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cdb81bf33d830ee4ee0606ee99e84dba", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (1982) (Arcadia) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, - { "cdc1a5c61d7488eadc9aba36166b253d", "Retroactive", "", "Qb (V0.12) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cddabfd68363a76cd30bee4e8094c646", "Computer Magic - CommaVid, John Bronstein", "CM-001", "MagiCard (1981) (CommaVid)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ce17325834bf8b0a0d0d8de08478d436", "", "", "Boring Freeway (Hack)", "Hack of Freeway", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ce1cbe159b9ae5992dacf09371de5e13", "Atari - GCC, Kevin Osborn", "CX2689", "Kangaroo (01-19-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ce243747bf34a2de366f846b3f4ca772", "Home Vision - Gem International Corp. - VDI", "", "Jacky Jump (1983) (Home Vision) (PAL)", "AKA Bobby Is Going Home", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ce4bbe11d682c15a490ae15a4a8716cf", "", "", "Okie Dokie (Older) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ce5524bb18e3bd8e092273ef22d36cb9", "Carrere Video - JWDA, Todd Marshall, Wes Trager, Henry Will IV - Teldec - Prism", "USC1004", "Commando Raid (1983) (Carrere Video) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ce5cc62608be2cd3ed8abd844efb8919", "Atari - Bobco, Robert C. Polaro", "CX2663", "Road Runner (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ce64812eb83c95723b04fb56d816910b", "Retroactive", "", "Qb (V2.04) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ce6c4270f605ad3ce5e82678b0fc71f8", "", "", "Vertical Rainbow Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ce82a675c773ff21e0ffc0a4d1c90a71", "", "", "Defender 2 (Genesis)", "Genesis controller (C is smartbomb)", "Hack of Defender 2", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ce8467ae2a3a5bc88ca72a2ce44ce28c", "SOLID Corp. (D. Scott Williamson)", "CX2655-015", "Star Castle 2600 (SolidCorp) (PAL) [015]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ce89529d6e98a13ddf3d84827bbdfe68", "", "", "Kung Fu Sprite Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ce904c0ae58d36d085cd506989116b0b", "Telegames", "5687 A279", "International Soccer (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cea9f72036dc6f7af5eff52459066290", "Retroactive", "", "Qb (2.07) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ceba7965a93c689bdecdb46a5b2ac0c1", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cedbd67d1ff321c996051eec843f8716", "Ultravision", "1044", "Karate (1982) (Ultravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cef01595000627ee50863d4290372c27", "", "", "Many Blue Bars and Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cef2287d5fd80216b2200fb2ef1adfa8", "Milton Bradley Company", "4363", "Spitfire Attack (1983) (Milton Bradley)", "AKA Flight Commander)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cf0c593c563c84fdaf0f741adb367445", "Retroactive", "", "Qb (V0.05) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cf3a9ada2692bb42f81192897752b912", "", "", "Air Raiders (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cf3c2725f736d4bcb84ad6f42de62a41", "Rainbow Vision - Suntek", "SS-009", "Bermuda, The (1983) (Rainbow Vision) (PAL) [a]", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cf507910d6e74568a68ac949537bccf9", "SEGA, Jeff Lorenz", "003-01", "Thunderground (1983) (SEGA)", "AKA Underground", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cf63ffac9da89ef09c6c973083061a47", "CCE", "C-859", "MASH (1983) (CCE)", "AKA M.A.S.H", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cf9069f92a43f719974ee712c50cd932", "Video Gems", "VG-04", "Mission Survive (1983) (Video Gems) (PAL)", "", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "YES", "" }, - { "cfad2b9ca8b8fec7fb1611d656cc765b", "Bit Corporation", "PG207", "Mission 3,000 A.D. (1983) (BitCorp) (PAL) [demo cart]", "demonstration cartridge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cfb3260c603b0341d49ddfc94051ec10", "Dactari - Milmar", "", "Boxing (Dactari - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cfb83a3b0513acaf8be4cae1512281dc", "Starpath Corporation", "", "Going-Up (1983) (Starpath) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cfc226d04d7490b69e155abd7741e98c", "Atari, Matthew L. Hubbard", "CX26159", "Double Dunk (1989) (Atari) (PAL)", "AKA Super Basketball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cfce5596a7e8ca13529e9804cad693ef", "Canal 3 - Intellivision", "", "Tennis (Canal 3) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cfd5518c71552b8bb853b0e461e328d7", "Bit Corporation", "R320", "Spider Fighter (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cfd6a8b23d12b0462baf6a05ef347cd8", "Activision, Larry Kaplan", "AX-006", "Bridge (1980) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cfdb4d0427a1ea8085c6bc6eb90259d8", "", "", "Gunfight 2600 - Release Candidate (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cfe2185f84ce8501933beb5c5e1fd053", "", "", "Football (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cfe62ed7125ff9fae99b4c8a367c0399", "Activision, Larry Miller", "AX-026, AX-026-04", "Enduro (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cfee10bd7119f10b136921ced2ee8972", "", "", "Space Instigators (V1.8) (19-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cfef1a2d1f6a5ee7a5e1f43f3056f112", "", "", "Skeleton+ (05-05-2003) (Eric Ball) (NTSC)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cff1e9170bdbc29859b815203edf18fa", "Retroactive", "", "Push (V0.01) (1998) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cff578e5c60de8caecbee7f2c9bbb57b", "George Veeder", "", "Suicide Adventure (George Veeder) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "cff9950d4e650094f65f40d179a9882d", "Paul Slocum", "", "Mr. Roboto (Paul Slocum) (Hack)", "Hack of Berzerk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "cfffc4b97d01cc3e7b9f47575f7b11ec", "Xonox - K-Tel Software, Anthony R. Henderson", "99007, 6240", "Tomarc the Barbarian (1983) (Xonox) (PAL60)", "Genesis controller (B is jump and throw, C switches between players)", "Hack of Tomarc the Barbarian", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d00f6f8ba89559e4b20972a478fc0370", "Spiceware", "SW-01", "Medieval Mayhem (PAL)", "", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "AUTO 55", "", "", "", "" }, - { "d010e3dfe7366e47561c088079a59439", "Retroactive", "", "Qb (V0.10) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d026716b3c5be2c951cc4c064317c524", "", "", "Fu Kung! (V0.06) (14-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0498baca989e792db4b8270a02b9624", "", "", "Pac Ghost Sprite Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d071d2ec86b9d52b585cc0382480b351", "UA Limited", "", "Cat Trax (1983) (UA Limited) (1) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d078674afdf24a4547b4b32890fdc614", "Jone Yuan Telephonic Enterprise Co", "", "Laser Blast (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d078d25873c5b99f78fa267245a2af02", "SEGA - Beck-Tech, Steve Beck, Phat Ho", "006-01", "Congo Bongo (1983) (SEGA) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0796a0317abf9018d6745086bef411f", "Edward Smith", "", "Alien Attack (2018)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d08fccfbebaa531c4a4fa7359393a0a9", "Activision, David Crane, Bob Whitehead", "", "Venetian Blinds Demo (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d090836f0a4ea8db9ac7abb7d6adf61e", "Hozer Video Games", "", "Yahtzee (Hozer Video Games)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d09935802d6760ae58253685ff649268", "Telesys, Don Ruffcorn", "1006", "Demolition Herby (1983) (Telesys)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d09a7504ee8c8717ac3e24d263e7814d", "Activision, Matthew L. Hubbard, Bob Whitehead", "AX-024", "Dolphin (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d09f1830fb316515b90694c45728d702", "Imagic, Brad Stewart", "720105-1A, IA3400", "Fire Fighter (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0a379946ed77b1b126230ca68461333", "Ataripoll", "", "Atari Invaders (Ataripoll) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0af33865512e9b6900714c26db5fa23", "Telegames", "", "Armor Ambush (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0b26e908370683ad99bc6b52137a784", "Apollo - Games by Apollo, Larry Minor, Ernie Runyon, Ed Salvo - RCA Video Jeux", "AP-2004", "Lost Luggage (1982) (Apollo) (PAL)", "AKA La valise piegee", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0b9df57bfea66378c0418ec68cfe37f", "20th Century Fox Video Games - Sirius, Grady Ward", "11002", "Beany Bopper (1982) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0b9f705aa5f61f47a748a66009ae2d2", "", "", "Synthcart (14-01-2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d0cb28e1b7bd6c7f683a0917b59f707e", "Atari, Gary Palmer", "CX2661P", "Fun with Numbers (1980) (Atari) (PAL) (4K)", "AKA Basic Math", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0cdafcb000b9ae04ac465f17788ad11", "Quelle - Otto Versand", "732.273 8 - 600273, 781644", "Lilly Adventure (1983) (Quelle) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0e05ba5f10e3df3023c5ee787f760ef", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0e15a3ce322c5af60f07343594392af", "Amiga - Video Soft", "3125", "Surf's Up (1983) (Amiga) (Prototype) (4K)", "Uses the Joyboard controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d0e9beb2347595c6c7d158e9d83d2da8", "Retroactive", "", "Qb (2.00) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d100b11be34a1e5b7832b1b53f711497", "", "", "Robotfindskitten2600 (26-04-2003) (Jeremy Penner) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d15655fe355fa57dd541487dc5725145", "Rentacom", "", "Vanguard (Rentacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d170317ae4c7d997a989c7d6567c2840", "Jone Yuan Telephonic Enterprise Co", "", "Stampede (Jone Yuan) (4K) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d175258b2973b917a05b46df4e1cf15d", "Suntek", "SS-032", "Walker (1983) (Suntek) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d17a671029b1532b197defca5f3649a7", "Hozer Video Games", "", "Gunfight 2600 - Limit broken again! (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d17a8c440d6be79fae393a4b46661164", "", "", "Warring Worms (Beta 3) (2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d1a1841b7f2007a24439ac248374630a", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (1 of 4) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d1a9478b99d6a55e13a9fd4262da7cd4", "U.S. Games Corporation, Garry Kitchen - Vidtec", "VC1001", "Space Jockey (1982) (U.S. Games) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d1b4075925e8d3031a7616d2f02fdd1f", "", "", "Demo Image Series #7 - Two Marios (27-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d1c3520b57c348bc21d543699bc88e7e", "Gameworld", "133-002", "Warplock (1983) (Gameworld) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "YES", "" }, - { "d1ca47b262f952413c1234117c4e4e21", "Bit Corporation", "R320", "Missile Command (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d1d704a7146e95709b57b6d4cac3f788", "Atari, Warren Robinett", "CX26163P", "Slot Racers (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d20e61c86ed729780feca162166912ca", "Supergame", "32", "Pitfall (1984) (Supergame)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d214c7a734e133a5c18e93229435b57a", "Digivision", "", "Mickey (Digivision)", "AKA Sorcerer's Apprentice", "", "", "", "UASW", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d223bc6f13358642f02ddacfaf4a90c9", "Rainbow Vision - Suntek", "SS-003", "Pac-Kong (1983) (Rainbow Vision) (PAL)", "AKA Inca Gold", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d245e2f27c84016041e9496b66b722fe", "", "", "Gunfight 2600 - The Final Kernel (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d25018349c544320bf3fd5092ee072bc", "Activision, Larry Miller", "AX-021", "Spider Fighter (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d28afe0517a046265c418181fa9dd9a1", "", "", "Dodge 'Em (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d2901c34bb6496bb96c7bc78a9e6142a", "Greg Zumwalt", "", "Fish Revenge (2003) (Greg Zumwalt) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d2c4f8a4a98a905a9deef3ba7380ed64", "Mythicon, Bill Bryner, Bruce de Graaf", "MA1001", "Sorcerer (1983) (Mythicon)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d2c8e6aa8172b16c8aa9aae739ac9c5e", "Activision, David Crane", "08-08-1980", "Laser Blast (08-08-1980) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d2c957dd7746521b51bb09fde25c5774", "Eckhard Stolberg", "", "Cubis (6K) (1997) (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d2d8c4f1ea7f347c8bcc7d24f45aa338", "", "", "20 Sprites at Once Demo 5 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d2deddb77c8b823e4be9c57cb3c69adc", "Canal 3 - Intellivision", "C 3007", "Snoopy and the Red Baron (Canal 3)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d2f713c78a9ebba9da6d10aeefc6f20f", "Digivision", "", "Enduro (Digivision) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d3171407c3a8bb401a3a62eb578f48fb", "ZiMAG - Emag - Vidco", "GN-080", "Spinning Fireball (1983) (ZiMAG) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d326db524d93fa2897ab69c42d6fb698", "Parker Brothers - Roklan, Paul Crowley, Bob Curtiss", "931505", "Super Cobra (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d339b95f273f8c3550dc4daa67a4aa94", "", "", "Laser Blast (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d341d39774277cee6a1d378a013f92ac", "Xonox, John Perkins", "6230, 7210, 06004, 99004", "Artillery Duel (1983) (Xonox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d3423d7600879174c038f53e5ebbf9d3", "U.S. Games Corporation - Western Technologies", "VC2005", "Piece o' Cake (1983) (U.S. Games)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "", "" }, - { "d3456b4cf1bd1a7b8fb907af1a80ee15", "Avalon Hill, Duncan Scott", "5003002", "Wall Ball (1983) (Avalon Hill)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d34b933660e29c0a0a04004f15d7e160", "", "", "Multi-Color Demo 5 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d36308387241e98f813646f346e7f9f7", "King Atari", "", "Ghostbuster 2 (King Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d39e29b03af3c28641084dd1528aae05", "Funvision - Fund. Int'l Co.", "", "Spider Monster (1982) (Funvision) (PAL)", "AKA Spider Kong", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d3bb42228a6cd452c111c1932503cc03", "UA Limited", "", "Funky Fish (1983) (UA Limited) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d44d90e7c389165f5034b5844077777f", "Parker Brothers, Larry Gelberg", "PB5065", "Star Wars - Ewok Adventure (1983) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d45bf71871b196022829aa3b96bfcfd4", "Activision, Steve Cartwright", "AX-017, AX-017-04", "MegaMania (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d45ebf130ed9070ea8ebd56176e48a38", "SEGA, Jeff Lorenz", "001-01", "Tac-Scan (1983) (SEGA)", "Uses the Paddle Controllers (right only)", "", "", "", "", "", "", "", "YES", "", "", "YES", "AUTO 60", "", "", "YES", "" }, - { "d47387658ed450db77c3f189b969cc00", "PlayAround - J.H.M.", "206", "Westward Ho (1982) (PlayAround) (PAL)", "AKA Custer's Revenge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d4806775693fcaaa24cf00fc00edcdf3", "Atari - Bobco, Robert C. Polaro", "CX26140, CX26140P", "Desert Falcon (1987) (Atari) (PAL)", "AKA Nile Flyer, Sphinx", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d483f65468d9a265661917bae1a54f3e", "Joe Grand", "", "SCSIcide Pre-release 3 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d4942f4b55313ff269488527d84ce35c", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2675, CX2675P", "Ms. Pac-Man (1982) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d49aff83f77a1b9041ad7185df3c2277", "", "", "Space Treat (60% complete) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d4aa89e96d2902692f5c45f36903d336", "", "", "Euchre (NTSC) (Erik Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d4c590ccfb611a73b3331359700c01a3", "", "", "Sprite Movement Demo 2 (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d541b20eae221a8ee321375e5971e766", "Arcadia Corporation, Stephen H. Landrum", "AR-4101", "Communist Mutants from Space (Preview) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d54cd41ecfd59e4b72d2c086152b9a75", "Amiga - Video Soft - Michael K. Glass, Jerry Lawson", "1110", "Power Play Arcade Video Game Album (1983) (Amiga) (Prototype)", "3-D Ghost Attack only (3-D Genesis & 3-D Havoc missing in ROM)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d5618464dbdc2981f6aa8b955828eeb4", "CCE", "C-829", "Megamania (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d563ba38151b8204c9f5c9f58e781455", "Atari, Brad Stewart - Sears", "CX2649, 49-75163", "Asteroids (1981) (Atari) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d573089534ca596e64efef474be7b6bc", "Parker Brothers, John Emerson", "931511", "Action Force (1983) (Parker Bros) (PAL) [a]", "AKA G.I. Joe - Cobra Strike", "", "", "", "", "", "", "", "", "", "", "", "01 55", "", "", "", "" }, - { "d57913088e0c49ac3a716bf9837b284f", "Activision, Garry Kitchen", "EAZ-032", "Pressure Cooker (1983) (Activision) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d57eb282d7540051bc9b5427cf966f03", "Atari Troll", "", "Custer's Viagra (Atari Troll) (Hack)", "Hack of Custer's Revenge", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d597d35c6022c590d6e75e865738558a", "", "", "Sprite Color Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d5aa7472e7f2cc17e893a1a36f8dadf0", "", "", "Overhead Adventure Demo 5 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d5c6b81212ad86fd9542a1fedaf57cae", "", "", "Sprite Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d5d2d44fb73785996ccc24ae3a0f5cef", "Robby", "", "Grand Prix (Robby)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d5e17022d1ecc20fd9b53dc464c302f1", "Activision, Carol Shaw", "EAX-020", "River Raid (1982) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d5e27051512c1e7445a9bf91501bda09", "Activision, David Crane", "AG-008", "Laser Blast (1981) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d5e5b3ec074fff8976017ef121d26129", "Star Game", "003", "River Raid (Star Game)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d5f965c159e26a1fb49a22a47fbd1dd0", "Supergame", "", "River Raid II (Supergame)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d605ed12f4eaaaec3dcd5aa909a4bad7", "", "", "Chronocolor Frame Demo (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d61629bbbe035f45552e31cef7d591b2", "", "", "Atari Logo Demo (PD) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d62283aed0f4199adb2333de4c263e9c", "Atari, Alan J. Murphy, Nick 'Sandy Maiwald' Turner", "CX2615", "Demons to Diamonds (1982) (Atari) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "YES", "10 57", "", "", "", "" }, - { "d62d7d1a974c31c5803f96a8c1552510", "", "", "StarMaster (Unknown) (PAL)", "Use Color/BW switch to change between galactic chart and front views", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d632b74fea533d593af82cf16e7c5e4a", "", "", "Fu Kung! (V0.13) (01-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d65028524761ef52fbbdebab46f79d0f", "CCE", "", "Galaxian (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d65900fefa7dc18ac3ad99c213e2fa4e", "", "", "Guntest (2000) (Eckhard Stolberg)", "Light Gun Test (based on Sentinel code)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d69559f9c9dc6ef528d841bf9d91b275", "Activision, Alan Miller", "AX-016", "StarMaster (1982) (Activision)", "Use Color/BW switch to change between galactic chart and front views", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d6a44277c3eb4f9d039185e0ecf7bfa6", "", "", "Trick (1997) (Eckhard Stolberg)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d6acff6aed0f04690fe4024d58ff4ce3", "Spectravision - Spectravideo - Quelle", "SA-202 - 412.851 8", "Planet Patrol (1982) (Spectravision) (PAL) [different spaceship]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d6b8beeb05e5b730084d4b8f381bbf8d", "", "", "208 in 1 Game Select ROM (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d6d1ddd21e9d17ea5f325fa09305069c", "Funvision - Fund. International Co.", "", "Time Warp (1982) (Funvision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d6d5dd8fd322d3cf874e651e7b6c1657", "", "", "How to Draw a Playfield (1997) (Nick Bensema) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d6dc9b4508da407e2437bfa4de53d1b2", "Bomb - Onbase", "CA283", "Z-Tack (1983) (Bomb) (PAL)", "AKA Base Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d726621c676552afa503b7942af5afa2", "Atari, Bob Whitehead", "CX26163P", "Blackjack (32 in 1) (1988) (Atari) (PAL) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d73ad614f1c2357997c88f37e75b18fe", "Goliath", "7", "Space Tunnel (1983) (Goliath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d74a81fcd89c5cf0bd4c88eb207ebd62", "", "", "Poker Squares (V0.00a) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d763e3a9cdcdd56c715ec826106fab6a", "Activision, David Crane", "AG-001", "Dragster (1980) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d7759fa91902edd93f1568a37dc70cdb", "Atari, Robert C. Polaro", "CX26157", "Stunt Cycle (1980) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d782543818b6320e4f60d77da2b596de", "Atari", "CX26163P", "Fishing Derby (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d787ec6785b0ccfbd844c7866db9667d", "Retroactive", "", "Qb (V0.04) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d7891b0faa4c7f764482762d0ed427a5", "", "", "Bars and Text Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d7b2259f6bb57bf37eac82365c1f8ad6", "Parker Brothers, Mike Brodie", "PB5320", "Super Cobra (1983) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d7b58303ec8d8c4dbcbf54d3b9734c7e", "", "", "Paddle Demo (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d7dd56677e4ec1e6627419478a4a9668", "", "", "Shadow Keep (Fixed) (04-03-2003) (Andrew Towers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d7f5bf138cfc7feab7b8ef1534c8b477", "", "", "Eric Bergstrom's KC-135 (Radar Map) (Aaron Bergstrom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d816fea559b47f9a672604df06f9d2e3", "Atari, Gary Palmer", "CX26163P", "Fun with Numbers (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d81bb6965e6c99b3be99ffd8978740e4", "", "", "Gunfight 2600 - The Final Kernel Part 3 (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d82675ce67caf16afe5ed6b6fac8aa37", "Thomas Jentzsch", "", "Robot City (V0.23) (13-11-2002) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d8295eff5dcc43360afa87221ea6021f", "Spectravideo", "SA-212", "Mangia' (1983) (Spectravideo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d82c8a58098a6b46c5b81c16180354d1", "Dennis Debro", "", "Climber 5 (30-10-2002) (Dennis Debro) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d85f1e35c5445ac898746719a3d93f09", "Suntek", "SS-034", "Farmyard Fun (1983) (Suntek) (PAL)", "AKA Play Farm", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d86deb100c6abed1588aa84b2f7b3a98", "Atari, Bob Whitehead - Sears", "CX2625 - 6-99827, 49-75114", "Football (1979) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d88691c995008b9ab61a44bb686b32e4", "", "", "Warring Worms (07-02-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d89262907e70c13dff23356c4a9055d0", "Bit Corporation", "R320", "Video Pinball (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d89fedded0436fdeda7c3c37e2fb7cf1", "", "", "Surround (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d8acaa980cda94b65066568dd04d9eb0", "CCE", "", "Sea Hunt (CCE)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d8b2c81cea5af04f795eb3dc6573d72b", "", "", "Tunnel Demo 2 (27-03-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d8df256c0d89e494a9fb3e9abb8e44ac", "Imagic, Michael Greene", "IA3312P", "No Escape! (1982) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d8e4c8e2d210270cd1e0f6d1b4582b91", "Imagic, Mark Klein", "EIZ-003-04I", "Subterranea (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d90205e29bb73a4cdf28ea7662ba0c3c", "Thomas Jentzsch", "", "Boulderdash Demo (Brighter Version) (09-12-2002) (TJ)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d912312349d90e9d41a9db0d5cd3db70", "CCE", "C-818", "Star Voyager (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d9548ad44e67edec202d1b8b325e5adf", "Apollo - Games by Apollo, Dan Oliver - RCA Video Jeux", "AP-2002", "Space Cavern (1982) (Apollo) (PAL)", "AKA Les guerriers de l'espace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d968de2b4ff18bfe4a95066cde310578", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d97e3d0b4575ce0b9a6132e19cfeac6e", "Fabrizio Zavagli", "", "Space Treat (061002) (PD)", "Won't work with Stella < V1.2", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d97fd5e6e1daacd909559a71f189f14b", "M Network, Steve Crandall, Patricia Lewis Du Long", "MT4646", "Rocky & Bullwinkle (04-20-1983) (M Network) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d9ab6b67a17da51e5ad13717e93fa2e2", "Thomas Jentzsch", "", "Turbo (Coleco) Prototype Fake v0.1 (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d9b49f0678776e04916fa5478685a819", "Activision, John Van Ryzin - Ariola", "EAZ-036-04, EAZ-036-04B, EAZ-036-04I - 711 036-720", "H.E.R.O. (1984) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d9bd343533b61389b270c0787210943b", "Atari, Douglas 'Solaris' Neubauer", "CX26134", "Last Starfighter (1984) (Atari) (Prototype)", "Genesis controller (C switches to map mode)", "Hack of Last Starfighter (Solaris prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "d9c9cece2e769c7985494b1403a25721", "SOLID Corp. (D. Scott Williamson)", "CX2655*", "Star Castle 2600 (SolidCorp)", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "d9da2ae7c7894a29b43b3c6b79f3b7a2", "Atari, Rob Fulop", "CX2633, CX2633P", "Night Driver (1980) (Atari) (PAL) (4K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "AUTO 65", "", "", "YES", "" }, - { "d9fbf1113114fb3a3c97550a0689f10f", "ZiMAG - Emag - Vidco", "713-111 - GN-050", "Pizza Chef (1983) (ZiMAG) (Prototype)", "AKA Pizza Time", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "da0fb2a484d0d2d8f79d6e063c94063d", "", "", "Air Raiders (1982) (Unknown) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "da4e3396aa2db3bd667f83a1cb9e4a36", "Activision, Steve Cartwright", "AX-027", "Plaque Attack (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "da5096000db5fdaa8d02db57d9367998", "Digitel", "", "River Raid (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "da6465a34d2e44d26aa9a2a0cd1bce4d", "Absolute Entertainment, Alex DeMeo", "AG-041-04", "Title Match Pro Wrestling (1987) (Absolute) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "da66d75e4b47fab99733529743f86f4f", "Digitel", "", "Chopper Command (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "da732c57697ad7d7af414998fa527e75", "Atari - Glenn Axworthy", "CX26129", "Midnight Magic (1986) (Atari) (PAL)", "AKA Pinball Wizard", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "da79aad11572c80a96e261e4ac6392d0", "Salu - Ubi Soft, Dennis M. Kiss", "460673", "Pick 'n' Pile (1990) (Salu) (PAL)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "YES", "" }, - { "da7a17dcdaa62d6971393c0a6faf202a", "", "", "Flag Capture (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dab844deed4c752632b5e786b0f47999", "", "", "Super Challenge Baseball (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dac38b4dd3da73bb7b2e9d70c61d2b7c", "", "", "Hangman Monkey Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dac5c0fe74531f077c105b396874a9f1", "Atari - GCC", "CX2680", "RealSports Tennis (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dac762e4d01d445bdef20b7771f6570e", "Atari, Carla Meninsky, Ed Riddle - Sears", "CX2611 - 99821, 49-75149", "Indy 500 (1977) (Atari) (4K) [a]", "Uses the Driving Controllers", "", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "45", "", "", "", "" }, - { "dad2ab5f66f98674f12c92abcfbf3a20", "", "", "Blue and White Sprite Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "daeb54957875c50198a7e616f9cc8144", "20th Century Fox Video Games, Douglas 'Dallas North' Neubauer", "11005", "Mega Force (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "daef7d8e5a09981c4aa81573d4dbb380", "Adam Thornton", "", "Lord of the Rings (Adam Thornton) (Hack)", "Hack of Dark Mage", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "dafc3945677ccc322ce323d1e9930beb", "Atari", "", "A-Team (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "db1753cc702c18d3917ec7f3b0e8659f", "", "", "Frame Counter 2 (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "db339aea2b65b84c7cfe0eeab11e110a", "", "", "Chronocolor Frame Demo 2 (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "db4eb44bc5d652d9192451383d3249fc", "CBS Electronics - E.F. Dreyer - VSS, Ed Salvo", "4L 2738 0000", "Mountain King (1983) (CBS Electronics)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "db5073bd75eb05f7d62a7268396d1e77", "Atari", "CX26163P", "Golf (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "db76f7a0819659d9e585f2cdde9175c7", "Xonox", "99005, 6220, 6250", "Robin Hood (1983) (Xonox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "db80d8ef9087af4764236f7b5649fa12", "M Network, Steve Crandall, Patricia Lewis Du Long", "MT4646", "Rocky & Bullwinkle (1983) (Mattel) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "db971b6afc9d243f614ebf380af0ac60", "Gammation, Robert L. Esken Jr.", "", "Gamma-Attack (1983) (Gammation)", "Uses right joystick controller", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "dba270850ae997969a18ee0001675821", "Greg Troutman", "", "Dark Mage (Greg Troutman) (PD) (4K)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "dbabb80e92ff18d8eecf615c0539151e", "", "", "Sprite Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dbb10b904242fcfb8428f372e00c01af", "Atari, John Dunn", "CX2631, CX2631P", "Superman (1979) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dbba14a0f69f0e13fdccb3fde3baedca", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (NTSC) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dbc7485ad5814d466de780a3e7ed3b46", "Kyle Pittman", "", "Pink Floyd (Kyle Pittman) (PD)", "Hack of Adventures of Tron (Mattel)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dbc8829ef6f12db8f463e30f60af209f", "Data Age", "DA1001", "Encounter at L-5 (1982) (Data Age)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "AUTO 50", "", "", "", "" }, - { "dbdaf82f4f0c415a94d1030271a9ef44", "CCE", "", "Kaboom! (CCE)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "dbdd21e1ee3d72119e8cd14d943c585b", "", "", "Slot Machine (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dc13df8420ec69841a7c51e41b9fbba5", "Atari, Mimi Nyden, Steve Woita", "CX26132", "Garfield (06-21-1984) (Atari) (Prototype)", "AKA Garfield on the Run", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dc33479d66615a3b09670775de4c2a38", "Suntek", "SS-033", "I.Q. Memory Teaser (1983) (Suntek) (PAL)", "AKA IQ 180", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dc81c4805bf23959fcf2c649700b82bf", "Imagic, Michael Greene", "720055-2A, IA3312P", "No Escape! (1983) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dc905b22de0f191a029df13eddfcabc4", "Atari, Warren Robinett", "", "Elf Adventure (05-02-83) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dc97cbcf091a5ef4ca7fe95dc0848036", "Atari - Roklan, Joe Gaucher, Alex Leavens", "CX2683", "Crazy Climber (1983) (Atari) (Prototype) [a2]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dca90ea1084a2fdbe300d7178ca1a138", "Imagic, Dennis Koble", "IA3000P", "Trick Shot (1982) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "dca941dab5c6f859b71883b13ade9744", "", "", "Hangman Pac-Man Biglist2 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dcba0e33aa4aed67630a4b292386f405", "Retroactive", "", "Qb (V2.08) (Half Speed Version) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "dcc2956c7a39fdbf1e861fc5c595da0d", "M Network - INTV - APh Technological Consulting, David Rolfe", "MT5664", "Frogs and Flies (1982) (M Network)", "AKA Frogs 'n' Flies", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dcec46a98f45b193f07239611eb878c2", "", "", "Bars and Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd08e18cfee87a0e7fc19a684b36e124", "Atari - GCC, Kevin Osborn", "CX2689, CX2689P", "Kangaroo (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd0cbe5351551a538414fb9e37fc56e8", "Xonox - K-Tel Software - Product Guild, Anthony R. Henderson", "99006, 6220", "Sir Lancelot (1983) (Xonox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd0de0f61af2a2a4878e377b880a3933", "SOLID Corp. (D. Scott Williamson)", "CX2655-013", "Star Castle 2600 (SolidCorp) [013]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "dd10b5ee37fdbf909423f2998a1f3179", "", "", "Space Instigators (V1.9) (21-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd13a16d14100819f79b1ce3a5bf499c", "Thomas Jentzsch", "", "Missile Control - Atari Mouse Hack v1.15 (PAL) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd1422ffd538e2e33b339ebeef4f259d", "Atari, Michael Sierchio", "", "Football Demo (1982) (Atari)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd17711a30ad60109c8beace0d4a76e8", "", "", "Karate (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd1842ba0f3f9d94dccb21eaa0f069b7", "Bit Corporation", "R320", "Defender (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd45e370aceff765f1e72c619efd4399", "Bit Corporation", "PG201", "Sea Monster (1982) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd4f4e0fbd81762533e39e6f5b55bb3a", "Thomas Jentzsch", "", "Turbo WIP (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd7598b8bcb81590428900f71b720efb", "Xonox - K-Tel Software - Computer Magic", "99005, 6220, 6250", "Robin Hood (1983) (Xonox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd7884b4f93cab423ac471aa1935e3df", "Atari, Brad Stewart - Sears", "CX2649, 49-75163", "Asteroids (1981) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "dd8a2124d4eda200df715c698a6ea887", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (3 of 3) (1982) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dd92d6ad50976f881d86b52d38616118", "SpkSoft", "", "River Raid (SpkSoft) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dda23757407c4e217f64962c87ad0c82", "Atari Freak 1", "", "Nitemare at Sunshine Bowl-a-Rama (Atari Freak 1) (Hack) [a]", "Hack of Pac-Man Jr.", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ddd1efc1862cd3eb3baf4cba81ff5050", "", "", "Max3 (2001) (Maxime Beauvais) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de0173ed6be9de6fd049803811e5f1a8", "Xonox - K-Tel Software - Product Guild, Anthony R. Henderson", "99008, 6240", "Motocross Racer (1983) (Xonox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de07e9cb43ad8d06a35f6506e22c62e9", "", "", "Oh No! (Version 4) (22-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de1a636d098349be11bbc2d090f4e9cf", "", "", "Pressure Gauge (Hozer Video Games)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de1e9fb700baf8d2e5ae242bffe2dbda", "Activision - Imagineering, Mike Reidel", "EAK-043-04I", "Commando (1988) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de24f700fd28d5b8381de13abd091db9", "CCE", "", "Plaque Attack (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de29e46dbea003c3c09c892d668b9413", "Coleco - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "4L1717, 4L1718, 4L1719, 4L2277", "Carnival (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de3d0e37729d85afcb25a8d052a6e236", "Spectravision - Spectravideo", "SA-204", "Tapeworm (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "de4436eaa41e5d7b7609512632b90078", "Activision, David Crane", "AX-014, AX-014-04", "Grand Prix (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de5aab22e5aba5edcb29a3e7491ff319", "Star Game", "001", "Donkey Kong (Star Game)", "AKA Inca Gold", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de61a0b171e909a5a4cfcf81d146dbcb", "Rainbow Vision - Suntek", "SS-005", "Tom Boy (1983) (Rainbow Vision) (PAL)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de62f8a30298e2325249fe112ecb5c10", "CCE", "C-810", "Enduro (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de78b3a064d374390ac0710f95edde92", "Bomb - Onbase", "CA281", "Assault (1983) (Bomb)", "AKA Sky Alien", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de7a64108074098ba333cc0c70eef18a", "", "", "Nuts (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "de7bca4e569ad9d3fd08ff1395e53d2d", "Thomas Jentzsch", "", "Thrust (V1.22) (2000) (TJ)", "Supports BoosterGrip", "New Release", "", "", "", "", "", "", "", "BOOSTERGRIP", "", "", "", "", "", "", "" }, - { "de8443ff47283e7b274a7838cb071fb6", "Atari, Lou Harp", "CX26122", "Sinistar (01-04-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dea0ade296f7093e71185e802b500db8", "CCE", "", "Fishing Derby (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "deb39482e77f984d4ce73be9fd8adabd", "Activision, David Lubar", "AK-048-04", "River Raid II (1988) (Activision) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ded26e1cb17f875a9c17515c900f9933", "", "", "Space Treat (29-12-2002) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "df12953b919844dad2070ed2e70c9fa2", "Amiga - Video Soft", "3135", "S.A.C. Alert (1983) (Amiga) (Prototype) (PAL)", "Uses Joyboard", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "df2745d585238780101df812d00b49f4", "Bit Corporation", "PG202", "Space Tunnel (1982) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "df3e6a9b6927cf59b7afb626f6fd7eea", "", "", "Tuby Bird (208 in 1) (Unknown) (PAL)", "AKA Dolphin", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "df40af244a8d68b492bfba9e97dea4d6", "Franklin Cruz", "", "Asteroids 2 (Franlin Cruz) (Hack)", "Hack of Asteroids", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "df5cc5cccdc140eb7107f5b8adfacda1", "Cracker Jack Productions", "", "Lumberman (Cracker Jack) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "df62a658496ac98a3aa4a6ee5719c251", "Atari, Tom Reuterdahl - Sears", "CX2626 - 6-99829, 49-75116", "Miniature Golf (1979) (Atari)", "AKA Arcade Golf", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "df6a28a89600affe36d94394ef597214", "Apollo - Games by Apollo, Dan Oliver", "AP-2002", "Space Cavern (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "df6a46714960a3e39b57b3c3983801b5", "Puzzy - Bit Corporation", "PG201", "Sea Monster (1982) (Puzzy) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "df753cb87d3af4d03f694ab848638108", "CBS Electronics, Bob Curtiss", "4L1845, 4L1852, 4L1853, 4L1854", "Solar Fox (1983) (CBS Electronics) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "df91277a3569344b89e6e8bd5bebc8d1", "Thomas Jentzsch", "", "Marble Craze - Amiga Mouse Hack v1.0 (PAL) (TJ)", "Uses Amiga Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "df95e4af466c809619299f49ece92365", "Atari - CCW, Michael Callahan, Preston Stuart", "CX26103", "Alpha Beam with Ernie (06-03-1983) (Atari) (Prototype) (PAL)", "Uses Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dfad86dd85a11c80259f3ddb6151f48f", "HES - Imagineering, David Lubar", "535", "My Golf (1990) (HES) (PAL) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dfafa3fa58f5cc3f0342cca475df6095", "", "", "Space Treat (V1.1 Beta) (24-12-2002) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dfc03ef371cf5163f54c50d8ee73c8cf", "Atari, Gary Palmer", "CX2661", "Fun with Numbers (1980) (Atari) (4K)", "AKA Basic Math", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dfc3dbbb39f05d7dd8ee3ac987478970", "", "", "Imagic Selector ROM (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dfcdd6f593bb7b05dbc2e8e1fc6ee0de", "", "", "Gunfight 2600 - Scenarios complete (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dfe034297200dff672df9533ed1449a9", "", "", "Sprite Movement Demo 1 (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dfe6aa7443bb813cefa35a4cf4887422", "", "", "This Planet Sucks (Greg Troutman) [a1]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "dff33523ccd2fdc8912e84cab8e0d982", "", "", "Fu Kung! (V0.03) (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e01e00504e6d4b88fa743c0bbe8a96e5", "", "", "Qb (Special Edition, some bugfixes) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e020f612255e266a8a6a9795a4df0c0f", "Telegames - VSS", "7062 A305", "Universal Chaos (1988) (Telegames) (PAL)", "AKA Targ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e02156294393818ff872d4314fc2f38e", "Sancho - Tang's Electronic Co.", "TEC005", "Dice Puzzle (1983) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e0221c95aa657f5764eeeb64c8429258", "", "", "Tomb Raider 2600 [REV 02] (Montezuma's Revenge Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e03b0b091bea5bc9d3f14ee0221e714d", "CBS Electronics, Bob Curtiss", "4L1852, 4L1853, 4L1854, 4L1855", "Solar Fox (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e040df95a055b18ebdb094e904cb71b2", "", "", "Score Demo (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e04f1c1e4401d584d3f4343410a5bcc4", "Wizard Video Games - MicroGraphic Image, Robert Barber, Tim Martin", "007", "Halloween (1983) (Wizard Video Games) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e0b24c3f40a46cda52e29835ab7ad660", "Quelle - Otto Versand", "626.502 9 - 746381", "Top Gun (1983) (Quelle) (PAL)", "AKA Air Raiders", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e0cf2dcc4c1348c468f5bb1e421c9164", "", "", "Invader Sprites in a Line Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e0de3773f5b867795db557be7b8a703e", "", "", "Boulderdash (13 Blocks Wide) (02-04-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e0eff071f578ecf19edc2ab276644e46", "", "", "Gas Gauge Demo (2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e1029676edb3d35b76ca943da7434da8", "Atari, Robert C. Polaro, Alan J. Murphy - Sears", "CX2609 - 49-75186", "Defender (10-30-1981) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e10bf1af6bf3b4a253c5bef6577fe923", "Rob Kudla", "", "Space Invaders (1978) (Atari) [h1]", "Hack of Space Invaders (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e10d2c785aadb42c06390fae0d92f282", "Parker Brothers, Dawn Stockbridge", "PB5910", "Strawberry Shortcake - Musical Match-Ups (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e1143b72a30d4d3fee385eec38b4aa4d", "", "", "Word Zapper (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e12e32dee68201b6765fcd0ed54d6646", "Atari, Larry Kaplan", "CX2612, CX2612P", "Street Racer (1977) (Atari) (PAL)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "AUTO 75", "", "", "", "" }, - { "e13818a5c0cb2f84dd84368070e9f099", "CCE", "C-839", "Misterious Thief, A (1983) (CCE)", "AKA A Mysterious Thief", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e13c7627b2e136b9c449d9e8925b4547", "Atari, Alan Miller - Sears", "CX2624 - 6-99826, 49-75113", "Basketball (1978) (Atari) (4K)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e1486c7822c07117b4f94a32e5ed68c1", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (06-14-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e14dc36b24fe22c04fa076e298f2e15f", "Activision, Larry Kaplan, David Crane", "AG-010, AG-010-04", "Kaboom! (1981) (Activision) (16K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "e14feddeb82f5160ed5cf9ca4078e58d", "", "", "SpaceMaster X-7 (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e150f0d14f013a104b032305c0ce23ef", "Spectravision - Spectravideo", "SA-205", "China Syndrome (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e15b5525cf8f77297b322838df8d999c", "", "", "Sprite Demo 0 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e171558c51bb3bac97bfa79fa2c1a19c", "", "", "Warring Worms (Tim Strauss Edition) (20-12-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e17699a54c90f3a56ae4820f779f72c4", "Rainbow Vision - Suntek", "SS-020", "Tuby Bird (1983) (Rainbow Vision) (PAL)", "AKA Dolphin", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e18abe87035379c56b435bfe8175077b", "Grimlock", "", "Rumble 2600 (Grimlock) (Hack)", "Hack of Mario Bros.", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e1a51690792838c5c687da80cd764d78", "20th Century Fox, John Russell", "", "Alligator People (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e1b90f1e01b1a316d7bbf141525cc00e", "", "", "Sky Jinks (Unknown) (PAL) (4K) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e1d5c8213e82820128fa9c4775f1e166", "Jess Ragan", "", "Jungle King (2003) (Jess Ragan) (Hack)", "Hack of Jungle Hunt", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e1d79e4e7c150f3861256c541ec715a1", "", "", "Space Jockey (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e1e09e2f280e8e142121a377d0dc1b46", "Thomas Jentzsch", "", "Thrust (V1.21) (2000) (TJ)", "Bugfixed", "New Release", "", "", "", "", "", "", "", "BOOSTERGRIP", "", "", "", "", "", "", "" }, - { "e1efe2ef7664bb6758b1a22ff8ea16a1", "Dynacom", "", "Enduro (1983) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e1f88da6da8a7d521ca1dcbf2bc6978b", "Activision, Bob Whitehead - Ariola", "EAG-005, PAG-005, EAG-005-04B - 711 005-715", "Skiing (1980) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e21ee3541ebd2c23e817ffb449939c37", "Tigervision - Software Electronics Corp., Karl T. Olinger - Teldec", "7-001", "King Kong (1982) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e227be19f572f6900e314213ae9a4deb", "Atari, Dan Hitchens, Mimi Nyden", "CX2656", "SwordQuest - EarthWorld (1982) (Atari) (Prototype)", "AKA Adventure I, SwordQuest I - EarthWorld", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e237ee91514d5ed535c95a14fc608c11", "Activision, Matthew L. Hubbard, Bob Whitehead", "AX-024", "Dolphin (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e2389c0be5b5b84e0d3ca36ec7e67514", "Retroactive", "", "Qb (V2.09) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e24d7d879281ffec0641e9c3f52e505a", "Parker Brothers, Mark Lesser", "PB5950", "Lord of the Rings (1983) (Parker Bros) (Prototype)", "Journey to Rivendell (The Lord of the Rings I)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e25e173740f7ecc0e23025445c4591f3", "Greg Zumwalt", "", "Comitoid (Greg Zumwalt)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e275cbe7d4e11e62c3bfcfb38fca3d49", "M Network - INTV - APh Technological Consulting, Ken Smith", "MT5658", "Super Challenge Football (1982) (M Network)", "AKA Pro Football", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e27d518993b0a010f16e92b971ecdcdd", "Manuel Polik", "", "Star Fire (2003) (XYPE) (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e28113d10c0c14cc3b5f430b0d142fcb", "CCE", "C-816", "Keystone Kappers (1983) (CCE) [a]", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e2846af3e4d172b251ab77cbdd01761e", "Steve Engelhardt", "", "Adventure Plus (2003) (Steve Engelhardt) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e2904748da63dfefc8816652b924b642", "Jone Yuan Telephonic Enterprise Co", "", "Catch Time (Jone Yuan)", "AKA Plaque Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e2b682f6e6d76b35c180c7d847e93b4f", "", "", "Dodge Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e2c1b60eaa8eda131632d73e4e0c146b", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (07-04-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e2c89f270f72cd256ed667507fa038a2", "Starpath Corporation, Stephen H. Landrum", "AR-4101", "Communist Mutants from Space (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e2ca84a2bb63d1a210ebb659929747a9", "Telesys, Don 'Donyo' Ruffcorn", "1002", "Cosmic Creeps (1982) (Telesys) (PAL)", "AKA Space Maze, Spaze Maze", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e2eccbbe963f80f291cb1f18803bf557", "Atari, Joe Decuir, Steve Mayer, Larry Wagner", "CX26163P", "Combat (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e30f3a37032da52d7815b5a409f6d4b4", "SEGA, Fred Mack", "", "Bear Game Demo (1983) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e314b42761cd13c03def744b4afc7b1b", "Activision, David Crane, Dan Kitchen", "AZ-108-04", "Ghostbusters (1985) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e34c236630c945089fcdef088c4b6e06", "Activision, Steve Cartwright, David Crane - Ariola", "EAB-035-04 - 711 035-721", "Pitfall II (1984) (Activision) (PAL)", "Lost Caverns", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e3533684a7ef930a7fbd0c4dd8ec4847", "CCE", "C-856", "Pimball (1983) (CCE)", "AKA Video Pinball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e3600be9eb98146adafdc12d91323d0f", "Atari, Carol Shaw", "CX2618, CX2618P", "3-D Tic-Tac-Toe (1980) (Atari) (PAL)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e363e467f605537f3777ad33e74e113a", "Atari, Bob Whitehead - Sears", "CX2603 - 99803, 49-75601", "Star Ship (1977) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e377c3af4f54a51b85efe37d4b7029e6", "20th Century Fox Video Games, Beck-Tech, Steve Beck", "11035", "Save the Whales (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e37c8055d70979af354251ebe9f1b7dd", "HES", "", "Mega Funpak - Gorf, P. Patrol, Pacman, Skeet Shoot (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e38dc1f81a02e325562cd285123f579b", "Atari - GCC, Mike Feinstein", "CX2681, CX2681P", "Battlezone (1983) (Atari) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e39843c56b7a4a08b18fa7949ec3ee6b", "", "", "Joshua Invaders (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e39a13b13dc82c5fdbfbbfd55ba1230e", "", "", "Analog Clock (Additional Frame Info) (V0.0) (20-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e3c0451d29dad724231bc5818ec4bae0", "", "", "Single-Scanline Positioning Demo 1 (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e3c35eac234537396a865d23bafb1c84", "TechnoVision - Video Technology", "TVS1001", "Nuts (1983) (TechnoVision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e3ed4ba3361756970f076e46e9cad1d2", "", "", "Tennis (Unknown) (PAL) (4K) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e40a818dac4dd851f3b4aafbe2f1e0c1", "Atari, Bill Aspromonte, Dr. Lee Salk", "CX26135", "Peek-A-Boo (1984) (Atari) (Prototype)", "Uses the Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e42b937c30c617241ca9e01e4510c3f6", "", "", "Pitfall! (No Walls Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e434c0e161dd3c3fb435eb6bad2e182c", "Atari - GCC, Mike Feinstein, Brad Rice", "CX2681", "Battlezone (05-02-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e48d3a4056ede9393586421996db1ae8", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e49ac0ec879a0d7820bc2598fc2cfcd4", "CCE", "", "Kaboom! (CCE) (4K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "e4a0b28befaaa2915df1fa01238b1e29", "", "", "Gunfight 2600 - Red River (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e4afe157c09962cf39cdb25845d83d47", "Activision, David Crane - Ariola", "EAG-009, PAG-009 - 711 009-720", "Freeway (1981) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e4b12deaafd1dbf5ac31afe4b8e9c233", "Adam Thornton", "", "Lord of the Rings (Adam Thornton) (Hack) [a]", "Hack of Dark Mage", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e4bff1d5df70163c0428a1ead309c22d", "Atari, Robert C. Polaro, Alan J. Murphy", "CX2609, CX2609P", "Defender (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e4c00beb17fdc5881757855f2838c816", "20th Century Fox Video Games - Sirius, Ed Hodapp", "11004", "Deadly Duck (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e4c2077a18e3c27f4819aa7757903aa0", "", "", "Many Blue Bars Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e4c666ca0c36928b95b13d33474dbb44", "Arcadia Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (1982) (Arcadia)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e4d41f2d59a56a9d917038682b8e0b8c", "Cody Pittman", "", "Kiss Meets Pacman (Cody Pittman) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e4e9125a8741977583776729359614e1", "SnailSoft", "", "Comitoid beta 4 (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e505bd8e59e31aaed20718d47b15c61b", "Funvision - Fund. Int'l Co.", "", "Space War (1982) (Funvision) (PAL)", "AKA Condor Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e51030251e440cffaab1ac63438b44ae", "Parker Brothers - On-Time Software, Joe Gaucher, Louis Marbel", "PB5110", "James Bond 007 (1984) (Parker Bros)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e51c23389e43ab328ccfb05be7d451da", "Arcadia Corporation, Scott Nelson", "13", "Sweat! - The Decathlon Game (1983) (Arcadia) (Prototype)", "Uses the Paddle Controllers (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e5359cbbbff9c6d7fe8aeff5fb471b46", "CCE", "C-849", "Boom Bang (1983) (CCE)", "AKA Crackpots", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e549f1178e038fa88dc6d657dc441146", "Atari, Bob Whitehead - Sears", "CX2625 - 6-99827, 49-75114", "Football (1979) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e556e07cc06c803f2955986f53ef63ed", "Coleco - Individeo, Ed Temple", "2665", "Front Line (1984) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e558be88eef569f33716e8e330d2f5bc", "Shock Vision", "", "Keystone Kapers (Shock Vision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e56da674188ba2f02c7a0a343a01236f", "", "", "This Planet Sucks Demo 4 (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e59d022d524d05acc19515598c831e4d", "Alessandro Ciceri", "", "MagiCard+ (alex_79) WIP_20150118 (PAL)", "MagiCard hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e5a6e0bb7d56e2f08b237e15076e5699", "", "", "Color Table Display Helper (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e5bacf526036d3c8c99db5b030cf00e7", "", "", "Starmaster (Genesis)", "Genesis controller (C switches to map mode)", "Hack of Starmaster", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e5d5085123a98c1e61818caa2971e999", "", "", "Euchre (PAL) (Erik Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e5d72ff8bab4450be57785cc9e83f3c0", "Telegames", "6082 A145", "Kung Fu Superkicks (1988) (Telegames) (PAL)", "AKA Chuck Norris Superkicks", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e5ecd78edd24326a968809decbc7b916", "Imagic, Bob Smith", "720020-1A, IA3611", "Cheese (Dragonfire Beta) (05-21-1982) (Imagic) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e5f17b3e62a21d0df1ca9aee1aa8c7c5", "CommaVid, John Bronstein", "CM-003", "Cosmic Swarm (1982) (CommaVid)", "AKA Termite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e5f360226dc552aba3e7e9b202330f48", "Supercat", "", "Mega Bitmap Demo (2007) (Supercat)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e5f84930aa468db33c0d0f7b26dd8293", "CCE", "C-826", "Grand Prix (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e5fcc62e1d73706be7b895e887e90f84", "", "", "Air-Sea Battle (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e600f5e98a20fafa47676198efe6834d", "Parker Brothers - Roklan, Joe Gaucher", "PB5080", "Gyruss (1984) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e609e8a007127b8fcff79ffc380da6b1", "", "", "Multi-Sprite Game V2.3 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e61210293b14c9c4ecc91705072c6a7e", "Gameworld", "133-005", "Bugs (1983) (Gameworld) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "AUTO 50", "", "", "", "" }, - { "e62e60a3e6cb5563f72982fcd83de25a", "Jone Yuan Telephonic Enterprise Co", "", "End of the World (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e63a87c231ee9a506f9599aa4ef7dfb9", "Tigervision, Warren Schwader", "7-003", "Threshold (1982) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e63efdfda9a4003dcd77a854a781a06a", "Paul Slocum", "", "Combat Rock (PD) (Hack) [a]", "Hack of Combat", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e643aaec9a9e1c8ab7fe1eae90bc77d7", "Roger Williams", "", "Asymmetric Playfield (Roger Williams)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e64a8008812327853877a37befeb6465", "Answer Software Corporation - TY Associates, Mike Wentz", "ASC1002", "Gauntlet (1983) (Answer Software)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e6508b878145187b87b9cded097293e7", "", "", "Oystron (V2.8) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e66e5af5dea661d58420088368e4ef0d", "Activision, Bob Whitehead", "AG-011", "Stampede (1981) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e67b0ed32fd9d28d12ab3775d52e8c3a", "Atari, Omegamatrix", "", "Video Olympics Menu (2020) (Hack)", "Hack of Video Olympics", "", "", "", "", "", "", "", "", "", "", "YES", "AUTO 60", "", "", "", "" }, - { "e6d5948f451a24994dfaaca51dfdb4e1", "Jone Yuan Telephonic Enterprise Co", "", "Football (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e6de4ef9ab62e2196962aa6b0dedac59", "Imagic, Wilfredo Aguilar, Michael Becker, Dennis Koble", "720113-2A, 13206", "Solar Storm (1983) (Imagic) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, - { "e6e5bb0e4f4350da573023256268313d", "Thomas Jentzsch", "", "Missile Control (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e6f49a1053c79211f82be4d90dc9fe3d", "", "", "Gunfight 2600 - Little progress... (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e723ad8f406cb258b89681ef4cef0eff", "Thomas Jentzsch", "", "Sadoom (TJ) (PAL) (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "e72eb8d4410152bdcb69e7fba327b420", "Atari, Douglas Neubauer, Mimi Nyden", "CX26136", "Solaris (1986) (Atari)", "AKA Universe, Star Raiders II, The Last Starfighter", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e72ee2d6e501f07ec5e8a0efbe520bee", "Imagic, Dave Johnson", "720119-2A, 13211, EIX-004-04I", "Quick Step! (1983) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e73838c43040bcbc83e4204a3e72eef4", "CCE", "", "Apples and Dolls (CCE)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e74022cfe31ec8908844718dfbdedf7a", "", "", "Space Treat (30-12-2002) (Fabrizio Zavagli) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e77ec259e1387bc308b0534647a89198", "Parker Brothers, David Lamkins, Laura Nikolich", "931503", "Spider-Man (1982) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e77f332b71f13884c84771e7a121182d", "Jone Yuan Telephonic Enterprise Co", "", "Hey! Stop! (Jone Yuan)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e784a9d26707cfcd170a4c1c60422a72", "Quelle", "147.443 6", "Gefecht im All (1983) (Quelle) (PAL)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e7864caaf9ec49ed67b1904ce8602690", "", "", "Donkey Kong 2K3 Pic (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e7a758bb0b43d0f7004e92b9abf4bc83", "", "", "Troll's Adventure (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e7dd8c2e6c100044002c1086d02b366e", "Activision, Steve Cartwright - Ariola", "EAX-013, PAX-013, 711 013-720", "Barnstorming (1982) (Activision) (PAL)", "AKA Die tollkeuhnen Flieger", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e7f005ddb6902c648de098511f6ae2e5", "Spectravideo - Universum", "SV-010", "CompuMate (1983) (Spectravideo) (PAL)", "", "", "", "", "CM", "", "", "", "", "COMPUMATE", "COMPUMATE", "", "", "", "", "YES", "80" }, - { "e800e4aec7c6c54c9cf3db0d1d030058", "", "", "Qb (2.06) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e80a4026d29777c3c7993fbfaee8920f", "", "", "Frisco (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e823b13751e4388f1f2a375d3560a8d7", "Arcadia Corporation, Stephen Harland Landrum", "AR-4105", "Official Frogger (Preview) (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e879b7093ac4cfad74c88d636ca97d00", "", "", "Poker Squares (V0.0f) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e88340f5bd2f03e2e9ce5ecfa9c644f5", "", "", "Lock 'n' Chase (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e8a3473bf786cf796d1336d2d03a0008", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (12-05-1983) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e8aa36e3d49e9bfa654c25dcc19c74e6", "Atari, Joe Decuir, Larry Caplan, Steve Mayer, Larry Wagner", "CX2601, CX2601P", "Combat (1977) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e8e7b9bdf4bf04930c2bcaa0278ee637", "", "", "Boring Taz (Hack)", "Hack of Taz", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e8f7679359c4f532f5d5e93af7d8a985", "", "", "Hangman Invader Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e9034b41741dcee64ab6605aba9de455", "Digivision", "", "Phanton Tank (Digivision)", "AKA Phantom Tank", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e908611d99890733be31733a979c62d8", "Atari, Dan Hitchens, Mimi Nyden", "CX2697", "Mario Bros. (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e91d2ecf8803ae52b55bbf105af04d4b", "Atari, Howard Scott Warshaw", "CX2655, CX2655P", "Yars' Revenge (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e923001015bedd7901569f035d9c592c", "", "", "Adventure II (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e927ecf80f3784d745abd8368d78f2f3", "", "", "Space Instigators (V1.8) (19-10-2002) (CT) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e932f44fad2a66b6d5faec9addec208e", "", "", "Atari Logo Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e94632b0d863dd76459d689a9865bb33", "Jone Yuan Telephonic Enterprise Co", "", "Combat (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e957eb4612d6bd5940d3492dfa749668", "", "", "Tunnel Demo (27-03-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e959b5a2c882ccaacb43c32790957c2d", "", "", "Phantom II & Pirate (NTSC)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e97eafd0635651d3999cece953c06bd5", "", "", "M.A.S.H (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e9be3e8e4a7e73dd63ed4235a3a1a25f", "", "", "MMetall (Hack)", "Hack of Miniature Golf", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e9c5d04643855949a23ff29349af74ea", "", "", "SCSIcide (Score Hack 2) (24-02-2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e9c71f8cdba6037521c9a3c70819d171", "Action Hi Tech - Hi-Score", "", "Bank Heist (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e9cb18770a41a16de63b124c1e8bd493", "Parker Brothers - Roklan, Joe Gaucher", "931519", "Popeye (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "e9db2f91efe6ff7ea3546e2c2578fb09", "Omegamatrix", "", "Millipede (Atari Mouse) v6.5 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, - { "e9e646f730b8400cd5da08c849ef3e3b", "Tron", "", "Enduro (Tron)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e9e6ad30549a6e2cd89fe93b7691d447", "Atari - Bobco, Robert C. Polaro", "CX26140, CX26140P", "Desert Falcon (05-27-1987) (Atari) (Prototype) (PAL)", "AKA Nile Flyer, Sphinx", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "e9f25c7af4f27c9e1b5b8f6fe6141e8c", "Champ Games", "CG-03-N", "Scramble (NTSC)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "YES", "" }, - { "ea38fcfc06ad87a0aed1a3d1588744e4", "Atari, Lou Harp", "CX26122", "Sinistar (01-XX-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ea6d40db5498d6386571a76df448aa4c", "", "", "Vertical Playfield Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ea7e25ade3fe68f5b786ee0aa82b1fe5", "", "", "Galatic (208 in 1) (Unknown) (PAL)", "AKA Challenge of.... Nexar, The", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ea832e2cb6aae6f525f07452c381fa48", "", "", "Polar to Cartesian and VV (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ea86176b27ab0da8cce8f0179884bfaa", "", "", "Demo Image Series #10 - It's Art (28-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eaacfcdc1d4ee1258429b7ae7f084125", "Telegames", "6057 A227", "Quest for Quintana Roo (1989) (Telegames)", "Genesis controller (B is action button, C chooses tool or weapon)", "Hack of Quest for Quintana Roo", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ead60451c28635b55ca8fea198444e16", "Sancho - Tang's Electronic Co.", "TEC004", "Nightmare (1983) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eada0dd61ce13f8317de774dc1e68604", "", "", "2600 Digital Clock (Demo 1) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eae0c06ee61c63b81cd016096fc901b0", "Joe Grand", "", "SCSIcide (v1.0) (2001) (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eae6a5510055341d3abeb45667bb3e9b", "HES", "", "Wall Defender (HES) (PAL)", "AKA Wall Break (Planet Patrol if right difficulty = 'A')", "", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eaf744185d5e8def899950ba7c6e7bb5", "Atari", "CX26172", "Xenophobe (1991) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eafe8b40313a65792e88ff9f2fe2655c", "Eric Ball", "ELB004", "Skeleton+ (NTSC)", "Stereo sound", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb3d680699f8762f71f38e28e321234d", "", "", "Fu Kung! (V0.01) (08-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb4252faff7a4f2ba5284a98b8f78d1a", "", "", "John K Harvey's Equalizer (NTSC) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "eb46e99ec15858f8cd8c91cef384ce09", "Goliath - Hot Shot", "83-113", "Ground Zero (1983) (Goliath) (PAL)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb503cc64c3560cd78b7051188b7ba56", "Star Game", "043", "Moto Laser (Star Game)", "AKA Mega Force", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb634650c3912132092b7aee540bbce3", "Atari, Eric Manghise, Mimi Nyden, Joseph Tung", "CX2640", "RealSports Baseball (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "eb6d6e22a16f30687ade526d7a6f05c5", "Atari", "CX26150P", "Q-bert (1987) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb71743c6c7ccce5b108fad70a326ad9", "", "", "Euchre (25-11-2001) (Erik Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb7934360658a29c50aeaff20bfda23b", "Activision, John Van Ryzin", "EAZ-036-04", "H.E.R.O. (1984) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eb92193f06b645df0b2a15d077ce435f", "Starpath Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (1982) (Starpath) (PAL)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "eb9712e423b57f0b07ccd315bb9abf61", "Retroactive", "", "Qb (V2.04) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "eb9f8b84c193d9d93a58fca112aa39ed", "", "", "Register Twiddler Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ebcb084a91d41865b2c1915779001ca7", "JVP", "", "Bob Is Going Home (JVP)", "AKA Bobby Is Going Home", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ebcbc8a181a738e13df6216e5c329230", "Activision, Steve Cartwright", "AX-022", "Seaquest (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ebd2488dcace40474c1a78fa53ebfadf", "Skill Screen Games, Herman Quast", "SSG001", "Extra Terrestrials (1984) (SSG)", "The only Canadian-designed and manufactured Atari 2600 game from the 1980's", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ebdc5716b85c4ff44fa357cb697d6cef", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (NTSC) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ebf2dff78a08733251bf3838f02f7938", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype) [a2]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ebf9038e927e6a0db3e0d170c59911e6", "", "", "Pac-2600 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ec3beb6d8b5689e867bafb5d5f507491", "U.S. Games Corporation - Vidtec - JWDA, Todd Marshall, Henry Will IV", "VC1003", "Word Zapper (1982) (U.S. Games)", "AKA Word Grabber", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ec407a206b718a0a9f69b03e920a0185", "Quelle", "876.482 1", "Landung in der Normandie (1983) (Quelle) (PAL)", "AKA Commando Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ec5c861b487a5075876ab01155e74c6c", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2001", "Spacechase (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ece463abde92e8b89bcd867ec71751b8", "Puzzy - Bit Corporation", "PG205", "Dancing Plate (1982) (Puzzy) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ece908d77ab944f7bac84322b9973549", "", "", "Tom Boy (Unknown) (PAL60)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ecf51385384b468834611d44a8429c03", "20th Century Fox Video Games, Douglas 'Dallas North' Neubauer", "11105", "Mega Force (1982) (20th Century Fox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ecfa04523dde82fe42cdc7315a8f61b6", "Activision, David Crane - Ariola", "EAG-004, PAG-004 - 711 004-715", "Fishing Derby (1980) (Activision) (PAL) (4K)", "AKA Schneller als der Hai", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed014beeeb77dbb2bbcf9b5f6850b2f4", "", "", "Green Bar Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed0451010d022b96a464febcba70b9c4", "PlayAround - J.H.M.", "203", "Knight on the Town (1982) (PlayAround) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ed0ab909cf7b30aff6fc28c3a4660b8e", "Panda", "105", "Stunt Man (1983) (Panda)", "AKA Nightmare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed1306436ce237afc5a7ed3f77134202", "HES", "771-341", "2 Pak Special - Dolphin, Pigs n' Wolf (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed1492d4cafd7ebf064f0c933249f5b0", "CCE", "", "Video Cube (CCE)", "AKA Atari Video Cube", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed1a784875538c7871d035b7a98c2433", "Bit Corporation", "R320", "Save Our Ship (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed2218b3075d15eaa34e3356025ccca3", "Atari, Richard Maurer", "CX2635, CX2635P", "Maze Craze (1980) (Atari) (PAL)", "AKA A Game of Cops 'n Robbers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed5ccfc93ad4561075436ee42a15438a", "Atari, Tom Reuterdahl", "CX2626, CX2626P", "Miniature Golf (1979) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ed8f319e82d355832195eb7715644795", "Activision, Larry Kaplan, David Crane", "AG-010, AG-010-04", "Kaboom! (1981) (Activision) (8K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "eddef10fdc0029301064115ae0cd41d4", "CCE", "", "Freeway (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ede4ab11ca346bd023b2c21d941e0c50", "Activision, David Crane", "EAZ-030", "Decathlon (1983) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ede7e8bf865b0afb4744f86d13624f9a", "", "", "Demo Image Series #2 - Clown (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "edf69b123e06eaf8663cc78d8aeba06e", "SpkSoft 98", "", "River Raid (SpkSoft 98) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee28424af389a7f3672182009472500c", "Atari, Carol Shaw - Ralph Lauren", "", "Polo (1978) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee456542b93fa8d7e6a8c689b5a0413c", "", "", "Chronocolor Donkey Kong Clean (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee4c186123d31a279ed7a84d3578df23", "Atari, Carol Shaw, Nick 'Sandy Maiwald' Turner", "CX2608", "Super Breakout (1982 - 1981) (Atari) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, - { "ee659ae50e9df886ac4f8d7ad10d046a", "Exus Corporation", "", "Video Reflex (1983) (Exus)", "AKA Foot Craz", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee6665683ebdb539e89ba620981cb0f6", "Coleco", "2658", "Berenstain Bears (1983) (Coleco)", "Uses the KidVid Controller", "Unbelievably Rare", "", "", "", "A", "", "", "", "", "KIDVID", "", "", "", "", "", "" }, - { "ee67dc0b01746372d2b983d88f48e24f", "", "", "Scroller Demo (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee681f566aad6c07c61bbbfc66d74a27", "Activision", "", "Unknown Activision Game (10-29-1982) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee6cbedf6c0aac90faa0a8dbc093ffbe", "CCE", "", "My Golf (CCE) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee8027d554d14c8d0b86f94737d2fdcc", "Canal 3 - Intellivision", "", "Yars' Revenge (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "ee84bdc5dae268e227e407c7b5e6b6b7", "", "", "Marilyn Monroe Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ee9caee4eb958284fb10c277b14537f1", "Carrere Video, Garry Kitchen - Teldec", "USC1001", "Space Jockey (1983) (Carrere Video) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eea0da9b987d661264cce69a7c13c3bd", "Coleco", "2454", "Zaxxon (1983) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eeb92f3f46df841487d1504f2896d61a", "Cody Pittman", "", "Corys Adventure (Cody Pittman) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eec61cc4250df70939d48fe02d7122ac", "Activision, Bob Whitehead - Ariola", "EAG-005, PAG-005, EAG-005-04B - 711 005-715", "Skiing (1980) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eed9eaf1a0b6a2b9bc4c8032cb43e3fb", "Atari - Axlon, Steve DeFrisco", "CX26192", "Klax (1991) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "eee7695ae3eea7818321df0b790b31f3", "", "", "Sound Paddle V2 (Dennis Caswell & Jim Nitchals) (PD)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "YES", "", "", "", "01", "", "", "", "" }, - { "ef263d40a23483ab339cac44d9515a56", "Thomas Jentzsch", "", "Fatal Run (TJ)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ef3a4f64b6494ba770862768caf04b86", "Activision, Bob Whitehead", "AG-034-04", "Private Eye (1984) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ef60b06fddb675b0d783afbfa5fc5232", "", "", "Many Blue Bars and Text Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ef66af190840871409fe1702d2483554", "Andrew Davie, Paul Slocum, Christopher Tumber", "", "DiscoTech (12-02-2003) (Andrew Davie)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ef71e9fb0d8d477226d8d42261fbf0a7", "Piero Cavina", "", "Multi-Sprite Demo V2.0 (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ef76ea05655a0b62cb1018c92b9b4b7d", "Gakken", "010", "Strategy X (1983) (Gakken) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "efa1098c7d091b940c2543abe372f036", "Scott Stilphen", "", "E.T. The Extra-Terrestrial (Scott Stilphen) (Hack)", "Hack of E.T. The Extra-Terrestrial", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "efb47d70b2965ce689e2c5757616b286", "", "", "Time Test Demo (Eckhard Stolberg) (PAL) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "efd387430a35a659ff569a9a0ec22209", "Atari - GCC", "CX26118", "Millipede (1984) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "efefc02bbc5258815457f7a5b8d8750a", "CBS Electronics, Richard K. Balaska Jr.", "4L 2520 5000", "Tunnel Runner (1983) (CBS Electronics) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "effa3a7ce078c6d83bf43174a7bfdb1f", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (NTSC) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "efffafc17b7cb01b9ca35324aa767364", "", "", "Circus Atari (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f02ba8b5292bf3017d10553c9b7b2861", "Atari", "CX26172", "Xenophobe (1991) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f032b2f2d8323404a6b4541f92dd1825", "", "", "Many Blue Bars and Text Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f047df70d3d08e331122cd2de61d6af8", "Dave Neuman", "", "Space Battle (NTSC)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f04ee80011d95798006378643650aaa7", "Atari, Bill Aspromonte, John Russell, Michael Sierchio, Robert Zdybel", "CX26114", "Pigs in Space (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0510abbfbe24ead552e92e3841f63f3", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (NTSC) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0536303f49006806bac3aec15738336", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (4 of 4) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0541d2f7cda5ec7bab6d62b6128b823", "Atari, Paul Donaldson", "", "Bionic Breakthrough (1984) (Atari) (Prototype)", "Uses Mindlink Controller (left only)", "Prototype", "", "", "", "", "", "", "", "MINDLINK", "", "", "", "", "", "", "" }, - { "f060826626aac9e0d8cda0282f4b7fc3", "Atari, David Crane - Sears", "CX2605 - 6-99822, 49-75109", "Outlaw (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0631c6675033428238408885d7e4fde", "Paul Slocum", "", "Test Cart (2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f066bea7ab0a37b83c83c924a87c5b67", "", "", "Air Raiders (1982) (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0a6e99f5875891246c3dbecbf2d2cea", "Atari, James Andreasen - Sears", "CX2654 - 49-75141", "Haunted House (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0b7db930ca0e548c41a97160b9f6275", "Atari, Larry Wagner, Bob Whitehead - Sears", "CX2645 - 49-75181", "Video Chess (1979) (Atari)", "AKA Computer Chess", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0cacae1d1b79ee92f0dc035f42e0560", "", "", "Boring Donkey Kong (Hack)", "Hack of Donkey Kong", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0d393dbf4164a688b2346770c9bbd12", "", "", "Racquetball (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f0daaa966199ef2b49403e9a29d12c50", "", "", "Mr. Postman (Unknown)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0de4f49e95d529569e8788d5a7b4d30", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0e0addc07971561ab80d9abe1b8d333", "Imagic, Rob Fulop", "720000-200, 720101-1B, 720101-1C, IA3200, IA3200C, IX-006-04", "Demon Attack (1982) (Imagic)", "AKA Death from Above", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f0ef9a1e5d4027a157636d7f19952bb5", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a5]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f10e3f45fb01416c87e5835ab270b53a", "Suntek", "SS-024", "Ski Run (1983) (Suntek) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1127ade54037236e75a133b1dfc389d", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (Preview) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f11cfab087fcbd930ab8b0becc5b2e5a", "Canal 3 - Intellivision", "", "River Raid (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f12afbffa080dd3b2801dd14d4837cf6", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (01-04-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f137211537438b1fce3d811baef25457", "", "", "Incoming (02-10-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1489e27a4539a0c6c8529262f9f7e18", "Champ Games", "CG-01-P", "Lady Bug (PAL60)", "", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "YES", "" }, - { "f14d5e96ec3380aef57a4b70132c6677", "Goliath - Hot Shot", "83-414", "Pac Kong (1983) (Goliath) (PAL)", "AKA Inca Gold", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1554569321dc933c87981cf5c239c43", "Atari - Glenn Axworthy", "CX26129", "Midnight Magic (1986) (Atari)", "AKA Pinball Wizard", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f16c709df0a6c52f47ff52b9d95b7d8d", "Atari, Alan Miller - Sears", "CX2662 - 6-99811", "Hangman (1978) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f16ef574d2042ed8fe877d6541f4dba4", "Spectravision - Spectravideo", "SA-201", "Gangster Alley (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1929bb9b5db22d98dd992aa3fe72920", "", "", "Cube Conquest (Improved Interlace) (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f19aba18f86e415812480ad2be221425", "Chris Larkin", "", "Solaris Trainer (2002) (Chris Larkin) (Hack)", "Hack of Solaris", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1a0a23e6464d954e3a9579c4ccd01c8", "20th Century Fox, Douglas 'Dallas North' Neubauer", "11006", "Alien (1982) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f1ae6305fa33a948e36deb0ef12af852", "Andreas Dietrich", "", "Donkey Kong VCS (2017) (1.0)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f1b2ea568b3e156e3f2849dac83591f6", "", "", "Sprite Demo (1997) (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1b7edff81ceef5af7ae1fa76c8590fc", "Atari, Richard Maurer", "CX2632, CX2632P", "Space Invaders (1980) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1beca5a198cf08190487e5c27b8e540", "", "", "Fu Kung! (V0.16) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1e375d921858467166e53bcec05803f", "Jeffry Johnston", "", "Radial Pong - Version 3 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f1eeeccc4bba6999345a2575ae96508e", "Video Gems", "VG-03", "Steeplechase (1983) (Video Gems) (PAL)", "", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "YES", "" }, - { "f1fe06ebe2900eac4cdd17799389a102", "Atari, Jim Huether", "CX26163P", "Sky Diver (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f20675c8b98518367b9f5b8ee6f7c8ea", "Atari", "CX26163P", "Stampede (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f20bd756f3990e06c492f53cd0168e68", "", "", "Skeleton+ (03-05-2003) (Eric Ball) (NTSC)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f21813aa050437f0dbc8479864acec6d", "", "", "Sneak 'n Peek (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f23d19b73dac50cc6149316912b8ee53", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Amiga Mouse Hack v1.1 (PAL) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f240ba9f8092d2e8a4c7d82c554bf509", "Quelle", "463.860 7", "Strahlen der Teufelsvoegel (1983) (Quelle) (PAL)", "AKA Atlantis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f280976d69d6e27a48506bd6bad11dcd", "Atari, Larry Kaplan", "CX2664, CX2664P", "Brain Games (1978) (Atari) (PAL)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, - { "f283cc294ece520c2badf9da20cfc025", "Atari - CCW, Christopher H. Omarzu", "CX26104", "Big Bird's Egg Catch (1983) (Atari) (PAL)", "Uses Kids/Keypad Controllers", "Rare", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, - { "f28c07767b3e90a2689ade5b5e305874", "Canal 3 - Intellivision", "C 3014", "Keystone Kapers (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f2d40c70cf3e1d03bc112796315888d9", "Atari - CCW, Michael Callahan, Preston Stuart", "CX26103", "Alpha Beam with Ernie (1983) (Atari) (PAL)", "Uses Keypad Controllers", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f2d4d6187903cac2d5ea8ed90dad120d", "Digimax", "", "River Raid II (Digimax)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f2e4fb2d3600c0f76d05864e658cc57b", "", "", "Marble Craze (Kernel) (17-02-2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f2f2cb35fdef063c966c1f5481050ea2", "", "", "Ram It (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f2f59629d7341c97644405daeac08845", "Jone Yuan Telephonic Enterprise Co", "", "Bobby Is Going Home (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f303630a2d7316787aecd67fff6b2e33", "AtariAge - Fred Quimby", "", "Gingerbread Man (Fred Quimby)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f3213a8a702b0646d2eaf9ee0722b51c", "Atari, Carol Shaw - Sears", "CX2618 - 49-75123", "3-D Tic-Tac-Toe (1980) (Atari) (4K)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f33f1d0f7819c74148dacb48cbf1c597", "Retroactive", "", "Qb (2.00) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f344ac1279152157d63e64aa39479599", "Tigervision", "7-012", "Espial (1984) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f34dd3b8156aaf113cb621b2e51d90b8", "Joe Grand", "", "SCSIcide Pre-release 5 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f34f08e5eb96e500e851a80be3277a56", "Atari, Brad Stewart - Sears", "CX2622 - 6-99813, 49-75107", "Breakout (1978) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 60", "", "", "", "" }, - { "f367e58667a30e7482175809e3cec4d4", "ZiMAG - Emag - Vidco", "708-111 - GN-040", "Cosmic Corridor (1983) (ZiMAG)", "AKA Space Tunnel", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f38358cd8f5ecfedffd5aca1aa939f18", "Universal Gamex Corporation, Alan Roberts", "1005", "X-Man (1983) (Universal) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f39e4bc99845edd8621b0f3c7b8c4fd9", "AtariAge", "", "Toyshop Trouble (AtariAge)", "F8 Emulator Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f3c431930e035a457fe370ed4d230659", "", "", "Crackpots (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f3cd0f886201d1376f3abab2df53b1b9", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f3dfae774f3bd005a026e29894db40d3", "Otto Versand", "649635", "See Saw (Double-Game Package) (1983) (Otto Versand) (PAL)", "AKA Circus Atari", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f3f5f72bfdd67f3d0e45d097e11b8091", "Sears Tele-Games, Marilyn Churchill, Matthew L. Hubbard", "CX2647 - 49-75142", "Submarine Commander (1982) (Sears)", "AKA Seawolf 3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f3f92aad3a335f0a1ead24a0214ff446", "", "", "Spectrum Color Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f40e437a9ebf0bdfe26204152f74f868", "Bit Corporation", "R320", "Jawbreaker (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f4204fc92d17ed4cb567c40361ad58f1", "Inky", "", "Beanie Baby Bash (Inky) (Hack)", "Hack of Beany Bopper", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f4469178cd8998cb437fa110a228eaca", "Digitel", "", "Frostbite (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f45644ff82b533a781a1ee50f2e95f3c", "", "", "Overhead Adventure Demo 6 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f457674cef449cfd85f21db2b4f631a7", "U.S. Games Corporation - JWDA, Todd Marshall, Wes Trager, Henry Will IV", "VC1004", "Commando Raid (1982) (U.S. Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f473f99e47d4026a7a571184922ebf04", "Philip R. Frey", "", "Donkey Claus (Philip R. Frey) (Hack)", "Hack of Donkey Kong", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f48022230bb774a7f22184b48a3385af", "Atari, Rob Fulop - Sears", "CX2633 - 49-75119", "Night Driver (1980) (Atari) (4K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "AUTO 65", "", "", "YES", "" }, - { "f48735115ec302ba8bb2d2f3a442e814", "", "", "Dancing Plate (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f49a34f1fdd7dc147cbf96ce2ce71b76", "", "", "Qb (Special Edition) (PAL) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f4a09f906cc37be31224433f576d77d3", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.2 (PAL) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f4ab6bd5f80d8988141edde4c84b23b5", "Atari, Alan Miller", "CX2624, CX2624P", "Basketball (1978) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f4b8a47a95b61895e671c3ec86ffd461", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (01-03-1984) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f4c2e50b01dff99bddbe037b3489511c", "", "", "Hypnotic (V0.04) (2001) (Inkling) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f4c6621f1a0b4d27081123c08d7d1497", "CCE", "C-838", "Immies & Aggies (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f4cf6881b65c424095dc25dc987f151f", "", "", "128 in 1 Game Select ROM (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f4dabd5bcc603e8464a478208037d423", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (08-21-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f526d0c519f5001adb1fc7948bfbb3ce", "Mythicon, Bill Bryner, Bruce de Graaf", "MA1003", "Star Fox (1983) (Mythicon)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f52f40299fd238c6ffd9e6107050dc76", "Activision, Bob Whitehead - Ariola", "EAG-011, PAG-011 - 711 011-715", "Stampede (1981) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f539e32bf6ce39c8ca47cb0cdd2c5cb8", "Control Video Corporation", "", "GameLine Master Module ROM (1983) (Control Video)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f542b5d0193a3959b54f3c4c803ba242", "Atari, Tom Rudadahl - Sears", "CX2634 - 49-75121", "Golf (1980) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f5445b52999e229e3789c39e7ee99947", "Atari, Jim Huether", "CX26163P", "Flag Capture (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f5a2f6efa33a3e5541bc680e9dc31d5b", "Suntek", "SS-022", "Motocross (1983) (Suntek) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f5a3e051730d45fea518f2e8b926565b", "Robby", "", "Keystone Kapers (Robby)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f5aa6bd10f662199c42e43863a30106c", "", "", "Music Kit (V1.0) - Song Player (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f5d103a9ae36d1d4ee7eef657b75d2b3", "Starpath Corporation, Stephen H. Landrum", "9 AR-4105", "Official Frogger, The (Preview) (1983) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f613aad84d2163d6b197b220bfec1b7e", "", "", "X-Doom V.27 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f661f129644f338b13d9f4510d816c03", "Atari, David Crane", "CX26163P", "Outlaw (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f6676e3fe901eb8515fc7ae310302c3c", "Activision, David Crane", "AG-008", "Laser Blast (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f67181b3a01b9c9159840b15449b87b0", "Atari, Nick 'Sandy Maiwald' Turner", "CX2665", "Frog Pond (08-27-1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f687ec4b69611a7f78bd69b8a567937a", "Activision, Alan Miller - Ariola", "EAZ-028 - 711 028-725", "Robot Tank (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f69a39b215852a0c2764d2a923c1e463", "", "", "Move a Blue Blob Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f69bb58b815a6bdca548fa4d5e0d5a75", "Atari, Larry Kaplan", "CX26163P", "Bowling (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f69d4fcf76942fcd9bdf3fd8fde790fb", "CCE", "", "Aquaventure (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f6a282374441012b01714e19699fc62a", "ZiMAG - Emag - Vidco", "710-111 - GN-010", "I Want My Mommy (1983) (ZiMAG)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f6a9ea814d15b85bffe980c927df606b", "", "", "Missile Command (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f6b5ebb65cbb2981af4d546c470629d7", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (09-13-1984) (Coleco) (Prototype) [a]", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f6c13e816e58c8c62f82b2c8b91a2d67", "", "", "Scrolling Playfield 2 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f6d512bef1bf253dc935d0e13c3d1462", "", "", "Slot Racers (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f6daebc0424fa0f8d9aaf26c86df50f4", "Brian Watson", "", "Color Tweaker (V1.0) (2001) (B. Watson)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f6efa00ae99aaf33e427b674bcfd834d", "", "", "2600 Digital Clock (Demo 3) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f6f1b27efc247a0e8d473ddb4269ff9e", "Rainbow Vision - Suntek", "SS-015", "Catch Time (1983) (Rainbow Vision) (PAL)", "AKA Plaque Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f70e3f3bb2d19ec2aaec8f78dc43744f", "Jone Yuan Telephonic Enterprise Co", "", "Pooyan (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f714a223954c28eccf459295517dcae6", "", "", "Big - Move This Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f7154add27b95cd90464dbed8cfd7557", "Fabrizio Zavagli", "", "Space Treat Deluxe (2003) (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f724d3dd2471ed4cf5f191dbb724b69f", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2659", "Raiders of the Lost Ark (1982) (Atari)", "Console ports are swapped", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "" }, - { "f736864442164b29235e8872013180cd", "Telegames - VSS", "6057 A227", "Quest for Quintana Roo (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f73d2d0eff548e8fc66996f27acf2b4b", "CCE", "C-813", "Pitfall (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f7424985bac41067502b4a05b64cb75a", "Activision, Steve Cartwright", "AX-027", "Plaque Attack (1983) (Activision)", "Genesis controller (B is fire up, C is fire down)", "Hack of Plaque Attack", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "" }, - { "f74ad642552385c3daa203a2a6fc2291", "Eckhard Stolberg", "", "Cubis (1997) (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f750b5d613796963acecab1690f554ae", "Manuel Polik", "", "Gunfight 2600 (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f75872946e82ad74d48eae5bc28f5f0e", "Sears Tele-Games, Jim Huether", "CX2614 - 49-75126", "Steeplechase (04-15-1980) (Sears) (Prototype)", "Uses the Paddle Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f777444fc21a5925e066b68b1d350575", "", "", "Marble Craze (Kernel Works) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f77f5fc3893da5d00198e4cd96544aad", "Canal 3 - Intellivision", "", "Stampede (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f7856e324bc56f45b9c8e6ff062ec033", "Atari, Jerome Domurat, Michael Sierchio", "CX2667", "RealSports Soccer (1983) (Atari) [no opening tune]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f78c125b5da483c41e51522947d6c4ce", "", "", "Sound Paddle V1 (Dennis Caswell & Jim Nitchals) (PD)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "YES", "", "", "", "01", "", "", "", "" }, - { "f7a138eed69665b5cd1bfa796a550b01", "Tigervision - Teldec", "7-012 - 3.60016 VC", "Espial (1984) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f7a651972d78f9ba485b14690452d4be", "Paul Slocum", "", "Homestar Runner Demo #2 (2004-03-29)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f7af41a87533524d9a478575b0d873d0", "Quelle", "495.663 7", "Spiderman (1983) (Quelle) (PAL)", "AKA Spider-Man", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f7d6592dcb773c81c278140ed4d01669", "Activision, David Crane, Dan Kitchen", "EAG-108-04, EAZ-108-04B", "Ghostbusters (1985) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f7e07080ed8396b68f2e5788a5c245e2", "Video Game Cartridge - Ariola", "TP-617", "Farmyard Fun (Ariola)", "AKA Play Farm", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f7f50d9c9d28bcc9f7d3075668b7ac89", "Activision, David Crane - Ariola", "EAG-008, PAG-008, EAG-008-04I - 711 008-720", "Laser Blast (1981) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f7fac15cf54b55c5597718b6742dbec2", "Spiceware", "SW-01", "Medieval Mayhem (NTSC)", "", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "AUTO 55", "", "", "", "" }, - { "f802fa61011dd9eb6f80b271bac479d0", "Suntek", "SS-023", "Mole Hunter (1983) (Suntek) (PAL)", "AKA Topy", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f80cf77164079d774b9b0fae33dffca9", "", "", "Fu Kung! (V0.15) (Negative Version) (05-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8240e62d8c0a64a61e19388414e3104", "Activision, Steve Cartwright", "AX-013", "Barnstorming (1982) (Activision)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f825c538481f9a7a46d1e9bc06200aaf", "Atari, Richard Maurer - Sears", "CX2635 - 49-75157", "Maze Craze (1980) (Atari)", "AKA A Game of Cops 'n Robbers", "", "", "", "", "", "", "", "", "", "", "", "", "NTSC", "", "", "" }, - { "f844f4c6f3baaaf5322657442d6f29eb", "Atari, Sam Comstock, Richard Dobbis, Nick 'Sandy Maiwald' Turner", "CX26111", "Snoopy and the Red Baron (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f847fb8dba6c6d66d13724dbe5d95c4d", "Absolute Entertainment, David Crane", "AG-042-02, AG-042-04", "Skate Boardin' (1987) (Absolute)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8582bc6ca7046adb8e18164e8cecdbc", "", "", "Panda Chase (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8648d0c6ad1266434f6c485ff69ec40", "CCE", "", "Oink! (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8811d45a9935cca90c62f924712f8e6", "Jone Yuan Telephonic Enterprise Co", "", "Chopper Command (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8b2a6a4d73ebff10d805a9b59041986", "Activision, Larry Kaplan - Ariola", "EAX-006, PAX-006 - 771 006-720", "Bridge (1980) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8bfd99163d2c4ec688357786e6fba28", "", "", "Eckhard Stolberg's Scrolling Text Demo 2 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8c1c4a41303bd40b0d6c81bfaf8573b", "HES", "773-891", "2 Pak Special - Dungeon Master, Creature Strike (1992) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8fbe2b07345086fc867bceeaf38dc48", "Atari, Eric Manghise, Mimi Nyden, Joseph Tung", "CX2640", "RealSports Baseball (1982) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f8ff34b53d86f55bd52d7a520af6d1dc", "", "", "Big Dig (04-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f90b5da189f24d7e1a2117d8c8abc952", "Atari, David Crane - Sears", "CX2653 - 6-99823, 49-75111", "Slot Machine (1979) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f91fb8da3223b79f1c9a07b77ebfa0b2", "Atari, Alan J. Murphy, Nick 'Sandy Maiwald' Turner - Sears", "CX2615 - 49-75140", "Demons to Diamonds (1982) (Atari)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "YES", "10 57", "", "", "", "" }, - { "f93d7fee92717e161e6763a88a293ffa", "20th Century Fox Video Games - Lazer Micro Systems - Dunhill Electronics, B. Winston Hendrickson, Randall Hyde, Mark V. Rhoads, John Simonds", "11013", "Porky's (1983) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9420173efcb4b9f2b01c2a7b595cca7", "CCE", "", "Laser Blast (CCE) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f954381f9e0f2009d1ac40dedd777b1a", "Thomas Jentzsch", "", "Robot City (V0.18) (01-09-2002) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9655ed51462ecfc690c7b97cec649f9", "Andrew Wallace", "", "Laseresal 2002 (PAL) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f965cc981cbb0822f955641f8d84e774", "Answer Software Corporation - TY Associates, Kim Ellis", "ASC2001", "Confrontation (1983) (Answer) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "f9660ebed66fee8bdfdf07b4faa22941", "VGS", "", "Vanguard (VGS)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9677b2ec8728a703eb710274474613d", "Atari, Ian Shepard", "CX2604, CX2604P", "Space War (1978) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f97dee1aa2629911f30f225ca31789d4", "Avalon Hill, Jean Baer, Bill 'Rebecca Ann' Heineman, Jim Jacob", "5005002", "Out of Control (1983) (Avalon Hill)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f98d2276d4a25b286135566255aea9d0", "Digitel", "", "Name This Game (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f98d869f287d2ce4f8fb36e0686929d9", "", "", "Skeleton+ (17-04-2003) (Eric Ball) (NTSC)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f991e0670b5f67faa6b6211e9bd81b91", "Nukey Shay, Omegamatrix", "", "Double Dragon (Genesis) (PAL) V2", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f992a39b46aa48188fab12ad3809ae4a", "", "", "Sky Jinks (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9967369943209b4788d4e92cefc0795", "Atari", "CX26163P", "Fishing (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Fishing Derby", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9cef637ea8e905a10e324e582dd39c2", "CCE", "", "Private Eye (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9d51a4e5f8b48f68770c89ffd495ed1", "Atari, Tod Frye, Mimi Nyden", "CX2657", "SwordQuest - FireWorld (1982) (Atari)", "AKA Adventure II, SwordQuest II - FireWorld", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9da42f91a1c5cfa344d2ff440c6f8d4", "ZUT", "", "Pac Invaders (ZUT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9de91d868d6ebfb0076af9063d7195e", "", "", "Maze Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "f9e99596345a84358bc5d1fbe877134b", "Activision, Larry Kaplan, David Crane - Ariola", "EAG-010, PAG-010 - 711 010-720", "Kaboom! (1981) (Activision) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, - { "fa0570561aa80896f0ead05c46351389", "Tigervision", "7-008", "Miner 2049er (1983) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa1b060fd8e0bca0c2a097dcffce93d3", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (1984) (Atari)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "" }, - { "fa2be8125c3c60ab83e1c0fe56922fcb", "Camelot - DSD, Michael Doherty, Clyde Hager - Johnson & Johnson", "", "Tooth Protectors (1983) (Camelot)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "fa3de71841c0841db6a741884a6b6b2f", "", "", "Warring Worms (17-02-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa4404fabc094e3a31fcd7b559cdd029", "Atari, Alan J. Murphy, Robert C. Polaro", "CX26100", "Bugs Bunny (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa529ec88eca679f6d5fd0ccb2120e46", "", "", "20 Sprites at Once Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa6fe97a10efb9e74c0b5a816e6e1958", "ZiMAG - Emag - Vidco", "707-111 - GN-030", "Tanks But No Tanks (1983) (ZiMAG)", "AKA Phantom Tank", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa7ce62e7fd77e02b3e2198d70742f80", "Atari, Peter C. Niday", "CX26108", "Donald Duck's Speedboat (04-18-1983) (Atari) (Prototype) (PAL)", "AKA Donald Duck's Regatta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa7e11a3dbea4365975cd2f094e61d25", "Tim Snider", "", "Mystery Science Theater 2600 (1999) (Tim Snider) (Hack)", "Hack of Megamania", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fa98d48cd609c9babc819e0a1bd8d598", "AtariAge (Chris Walton)", "", "Juno First (2009) (PAL60)", "AtariVox supported", "Homebrew", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "YES", "" }, - { "fab7b04b9f42df761eb6f2bc445eaa99", "20th Century Fox Video Games - Sirius Software, David Lubar", "11008", "Fantastic Voyage (11-04-1982) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fabca526d57de46768b392f758f1a008", "", "", "Laseresal 2600 (16-12-2001) (Andrew Wallace) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fac28963307b6e85082ccd77c88325e7", "CCE", "", "Berzerk (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fadb89f9b23beb4d43a7895c532757e2", "Galaga Games", "", "River Raid (1984) (Galaga Games) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fae0b86934a7c5a362281dffebdb43a0", "Retroactive", "", "Qb (2.07) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "faebcb2ef1f3831b2fc1dbd39d36517c", "Atari, Jerome Domurat, Steve Woita", "CX2696", "Asterix (1984) (Atari) (PAL)", "AKA Taz", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "faed2ef6b44894f8c83f2b50891c35c6", "CCE", "", "Super Baseball (CCE)", "AKA RealSports Baseball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "faffd84f3a8eceee2fa5ea5b0a3e6678", "Suntek", "SS-025", "Spectracube Invasion (1983) (Suntek) (PAL)", "AKA Immies & Aggies", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb09ee4ccd47ae74a3c314f0d8a40344", "", "", "Titans (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb0c32ef7af5b45486db663510094be8", "", "", "Demo Image Series #15 - Three Marios (NTSC) (Non-Interleave) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb0e84cee4c108d24253bcb7e382cffd", "", "", "Interleaved ChronoColour Demo (SECAM) (05-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb27afe896e7c928089307b32e5642ee", "M Network - INTV - APh Technological Consulting, Jeff Ronne, Brett Stutz", "MT5662", "TRON - Deadly Discs (1983) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb4ca865abc02d66e39651bd9ade140a", "Arcadia Corporation, Brian McGhie", "AR-4104", "Rabbit Transit (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb531febf8e155328ec0cd39ef77a122", "", "", "Worm War I (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "fb5c8af97bd8ffe88323656f462645a7", "", "", "Interlace Demo (Glenn Saunders)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "fb833ed50c865a9a505a125fc9d79a7e", "ITT Family Games", "", "Pumuckl I (1983) (ITT Family Games) (PAL)", "AKA Panda Chase", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb884ffd89013331a6f01ae3f6abd214", "Activision, David Crane", "", "Venetian Blinds Demo (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb88baa01afd34e0e4b601e1d29bc806", "Manuel Polik", "", "Star Fire (2003) (XYPE)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb88c400d602fe759ae74ef1716ee84e", "20th Century Fox Video Games, Bill Aspromonte", "11031", "Crash Dive (1983) (20th Century Fox)", "AKA Voyage to the Bottom of the Sea", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb91da78455d9b1606913fbf8c859772", "", "", "Split Screen (Ballblazer) Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fb91dfc36cddaa54b09924ae8fd96199", "Parker Brothers, Mark Lesser", "PB5590", "Frogger II (1984) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "fb978f1c053e8061cc37a726639f43f7", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype)", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fbac6476e7b2b20d246202af81662c88", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (Preview) (1982) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fbb0151ea2108e33b2dbaae14a1831dd", "Thomas Jentzsch", "", "Robot Tank TV (Thomas Jentzsch) (Hack)", "Uses two simultaneous Joystick Controllers, Hack of Robot Tank", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fbb4f3debf48dc961b559384467f2057", "Digitel", "", "River Raid III (1985) (Digitel)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fbe554aa8f759226d251ba6b64a9cce4", "Atari - GCC, Mike Feinstein, Brad Rice", "CX2681, CX2681P", "Battlezone (1983) (Atari) (PAL)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fbfebee9c14694719e3eda4854dc42ee", "Jake Patterson", "", "Baubles 3 (Jake Patterson) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fc2104dd2dadf9a6176c1c1c8f87ced9", "Coleco - Woodside Design Associates, Harley H. Puthuff Jr.", "2663", "Time Pilot (1983) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fc2233fc116faef0d3c31541717ca2db", "Atari, Tod Frye", "CX2646", "Pac-Man (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fc24a94d4371c69bc58f5245ada43c44", "Atari - Axlon, Steve DeFrisco", "CX26170", "Secret Quest (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fc6052438f339aea373bbc999433388a", "Atari, David Crane", "CX2653P", "Slot Machine (1979) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fc668a2251dd79cbd903d4fa0e558f96", "Thomas Jentzsch", "", "Thrust (V1.1) (2000) (TJ) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fc92d74f073a44bc6e46a3b3fa8256a2", "", "", "Megademo (19xx) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fc9c1652fe3a2cade6188f4d3692481f", "Andrew Davies", "", "Andrew Davies early notBoulderDash demo (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "fca4a5be1251927027f2c24774a02160", "Activision, John Van Ryzin", "AZ-036-04", "H.E.R.O. (1984) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fcbbd0a407d3ff7bf857b8a399280ea1", "ZiMAG - Emag - Vidco", "GN-070", "Mysterious Thief, A (1983) (ZiMAG) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "fcbdf405f0fc2027b0ea45bb5af94c1a", "Amiga - Video Soft, Michael K. Glass, Jerry Lawson", "", "3-D Ghost Attack (1983) (Amiga) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "fcea12625c071ddc49f4e409f4038c60", "Fabrizio Zavagli", "", "Balls! (16-09-2002) (Fabrizio Zavagli)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, - { "fcf8e306f6615f74feba5cb25550038c", "", "", "Blue Dot Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd0e5148162e8ec6719445d559f018a9", "Activision, Steve Cartwright - Ariola", "EAX-022, EAX-022-04I - 711 022-720", "Seaquest (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd10915633aea4f9cd8b518a25d62b55", "Atari, John Dunn", "CX2631, CX2631P", "Superman (1979) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd16949913aaab5beaefed73bf2ca67c", "Atari - GCC, John Allred, Mike Feinstein", "CX2688", "Jungle Hunt (02-03-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd4f5536fd80f35c64d365df85873418", "Atari - Bobco, Robert C. Polaro", "CX26140", "Desert Falcon (1987) (Atari)", "AKA Nile Flyer, Sphinx", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd6e507b5df68beeeddeaf696b6828fa", "", "", "Boxing (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd7464edaa8cc264b97ba0d13e7f0678", "HES", "771-333", "2 Pak Special - Challenge, Surfing (1990) (HES) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd78f186bdff83fbad7f97cb583812fe", "Amiga - Video Soft", "3125", "Surf's Up (1983) (Amiga) (Prototype) [a2]", "Uses the Joyboard controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd8b4ee0d57605b35e236e814f706ff1", "Atari - GCC, Mike Feinstein, John Mracek", "CX2673, CX2673P", "Phoenix (1982) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fd9b321cee5fbb32c39ba3ca5d9ec7cf", "Jeffry Johnston", "", "Radial Pong - Version 5 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fdd4995a50395db14f518f63c2d63438", "", "", "Oh No! (Version 3) (18-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fde42e39710e75e9e4d4d75440f8e4e5", "Thomas Jentzsch", "", "Coke Zero (v1.0) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fdf0de38517e0cf7f0885f98ccc95836", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (2 of 4) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fdf6680b2b1e8054293a39700a765692", "", "", "Alpha Demo - The Beta Demo 2 (2000) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fe0b7f27e3ad50bbf9ff468ee56d553d", "", "", "Lines Demo (Eckhard Stolberg) (PAL) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fe0bc4bb92c1c4de7d5706aaa8d8c10d", "", "", "Sprite Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fe3b461d4c8b179fe68bc77760294c25", "Atari, Joe Decuir", "CX2621, CX2621P", "Video Olympics (1977) (Atari) (PAL) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "YES", "", "", "", "", "" }, - { "fe641247a4ab9bee970e19ab55f23b25", "20th Century Fox Video Games, Beck-Tech, Steve Beck", "11035", "Save the Whales (02-07-1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fe67087f9c22655ce519616fc6c6ef4d", "Atari - Zip Technology, Randy Bowker, Bruce Williams", "CX26142", "Crack'ed (11-28-1988) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fe6abc0f63e31e2646c9c600926b5b7f", "Atari", "CX26137", "4 in 1 (02-19-1987) (Atari) (Prototype)", "Home Run, Canyon Bomber, Sky Diver, Night Driver", "Prototype", "", "", "4IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fe870018332a0221eb59fb18b0c6bccc", "", "", "Incoming (08-11-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fe9ae625d924b54c9f8a14ac9a0f6c6d", "BG Dodson", "", "High Bid! (BG Dodson) (Hack)", "Hack of Pepsi Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "feba8686fd0376015258d1152923958a", "", "", "Super Circus (Unknown) (PAL)", "AKA Circus Atari", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fec0c2e2ab0588ed20c750b58cf3baa3", "Activision - Cheshire Engineering, David Rolfe, Larry Zwick", "EAZ-037-04, EAZ-037-04I", "Beamrider (1984) (Activision) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "fece458a8023a809a5006867feca40e8", "", "", "SCSIcide (24-02-2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "feec54aac911887940b47fe8c9f80b11", "Atari, Rob Fulop", "CX2633, CX2633P", "Night Driver (1980) (Atari) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "AUTO 65", "", "", "YES", "" }, - { "feedcc20bc3ca34851cd5d9e38aa2ca6", "Atari, David Crane - Sears", "CX2607 - 6-99828, 49-75115", "Canyon Bomber (1979) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "YES", "10", "", "", "", "" }, - { "ff1523783e0e76a3b0d1f7f0d1cb3050", "Thomas Jentzsch", "", "Marble Craze - Atari Trak-Ball Hack v1.0 (PAL) (TJ)", "Uses Atari Trak-Ball Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ff3bd0c684f7144aeaa18758d8281a78", "Atari, Bob Whitehead", "CX2651", "Blackjack (1977) (Atari) (PAL)", "Uses the Paddle Controllers", "Rare", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "" }, - { "ff5a9e340d96df6f5a5b6eb038e923bd", "", "", "Space Shuttle (1983) (Activision) [t1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ff7627207e8aa03730c35c735a82c26c", "Atari, Bob Whitehead", "CX26163P", "Blackjack (32 in 1) (1988) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "" }, - { "ff86fc8ffa717bb095e8471638c1c31c", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Bop a Buggy (1 of 3) (1983) (Arcadia) (PAL)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "01 56", "", "", "", "" }, - { "ff87d58125ae517eb7b09a0475a1ccdc", "", "", "SCSIcide (Score Hack 1) (24-02-2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ffb1cd548563158ce33f9d10268187e7", "Erik Eid", "", "Euchre (Beta) (NTSC) (12-09-2002) (Erik Eid)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ffc0ff4305dd46b4b459885bd1818e2e", "Barry Laws Jr.", "", "Star Wars - The Battle of Alderaan (Star Strike Hack)", "Hack of Star Strike (Mattel)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ffdc0eb3543404eb4c353fbdddfa33b6", "CCE", "C-827", "Chopper Command (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ffe51989ba6da2c6ae5a12d277862e16", "Atari - Sears", "CX2627 - 6-99841", "Human Cannonball (1979) (Atari) (4K)", "AKA Cannon Man", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ffebb0070689b9d322687edd9c0a2bae", "", "", "Spitfire Attack (1983) (Milton Bradley) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" } +static const BSPF::array2D DefProps = {{ + { "000509d1ed2b8d30a9d94be1b3b5febb", "Greg Zumwalt", "", "Jungle Jane (2003) (Greg Zumwalt) (Hack)", "Hack of Pitfall!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0060a89b4c956b9c703a59b181cb3018", "CommaVid, Irwin Gaines - Ariola", "CM-008 - 712 008-720", "Cakewalk (1983) (CommaVid) (PAL)", "AKA Alarm in der Backstube", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "007d18dedc1f0565f09c42aa61a6f585", "CCE", "C-843", "Worm War I (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "008543ae43497af015e9428a5e3e874e", "Retroactive", "", "Qb (V2.09) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "00b7b4cbec81570642283e7fc1ef17af", "SEGA - Beck-Tech, Steve Beck, Phat Ho", "006-01", "Congo Bongo (1983) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "00ce0bdd43aed84a983bef38fe7f5ee3", "20th Century Fox, Bill Aspromonte", "11012", "Bank Heist (1983) (20th Century Fox)", "AKA Bonnie and Clyde, Cops 'n' Robbers, Holdup, Rooring 20's", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "00ce76ad69cdc2fa36ada01ae092d5a6", "Bit Corporation", "PGP214", "Cosmic Avenger (4 Game in One) (1983) (BitCorp) (PAL)", "AKA StarMaster", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "00dc28b881989c39a6cf87a892bd3c6b", "CCE", "", "Krull (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "00e19ebf9d0817ccfb057e262be1e5af", "Atari, Ed Logg, Carol Shaw", "CX2639, CX2639P", "Othello (1981) (Atari) (PAL) [no grid markers]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "00e55b27fe2e96354cd21b8b698d1e31", "", "", "Phoenix (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "00eaee22034aff602f899b684c107d77", "Rainbow Vision - Suntek - Sunteck Corp", "SS-001", "Time Race (1983) (Rainbow Vision) (PAL)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "00f7985c20b8bdf3c557fac4d3f26775", "Aaron Curtis", "", "AStar (NTSC)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "012020625a3227815e47b37fd025e480", "Rob Kudla", "", "Better Space Invaders (1999) (Rob Kudla) (Hack) [a]", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "01293bd90a4579abb7aed2f7d440681f", "Century", "", "Snoopy (1983) (Century) (PAL)", "AKA Snoopy and the Red Baron", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "01297d9b450455dd716db9658efb2fae", "TechnoVision - Video Technology", "TVS1002", "Save Our Ship (1983) (TechnoVision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "012b8e6ef3b5fd5aabc94075c527709d", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix (1983) (Arcadia)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 56", "", "", "", "" }, + { "0164f26f6b38a34208cd4a2d0212afc3", "Coleco, Ed English", "2656", "Mr. Do! (1983) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "0173675d40a8d975763ee493377ca87d", "CBS Electronics, Ed English", "4L1751", "Roc 'n Rope (1984) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "01abcc1d2d3cba87a3aa0eb97a9d7b9c", "Jone Yuan Telephonic Enterprise Co", "", "Topy (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "01b09872dcd9556427761f0ed64aa42a", "Galaga Games", "", "River Raid (1984) (Galaga Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "01cb3e8dfab7203a9c62ba3b94b4e59f", "Atari, Mimi Nyden, Scott Smith, Robert Vieira", "CX26127", "Gremlins (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "01e5c81258860dd82f77339d58bc5f5c", "CCE", "", "Corrida da Matematica (CCE)", "AKA Math Gran Prix", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "01e60a109a6a67c70d3c0528381d0187", "ITT Family Games, Perry Rhodan-Serie", "554-33 383", "Fire Birds (1983) (ITT Family Games) (PAL)", "AKA Sky Alien", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "01f584bf67b0e464014a8c8b5ea470e3", "Arcadia Corporation, Dennis Caswell", "5 AR-4200", "Labyrinth (Escape from the Mindmaster Beta) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "02066b17f29082412c6754c1a2d6302e", "", "", "Demo Image Series #3 - Baboon (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "024365007a87f213cbe8ef5f2e8e1333", "Atari, Frank Hausman, Mimi Nyden, Steve Woita", "CX2686", "Quadrun (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "025668e36a788e8af8ac4f1be7e72043", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2659", "Raiders of the Lost Ark (06-14-82) (Atari) (Prototype)", "Console ports are swapped", "Prototype", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "026180bf641ff17d8577c33facf0edea", "Activision, Steve Cartwright", "AX-022", "Seaquest (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0277c449fae63f6f1c8f94dedfcf0058", "", "", "Laser Demo (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "027a59a575b78860aed780b2ae7d001d", "CCE", "", "Pressure Cooker (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "028024fb8e5e5f18ea586652f9799c96", "Coleco - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "2468", "Carnival (1982) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "02811151906e477d47c135db5b1699c6", "", "", "FlickerSort Demo (Updated) (20-04-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "02a5fc90a0d183f870e8eebac1f16591", "HES", "771-422", "2 Pak Special - Star Warrior, Frogger (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "02ab2c47bc21e7feafa015f90d7df776", "Atari", "MA017600", "Diagnostic Test Cartridge 2.6 (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "02ced7ea2b7cb509748db6bfa227ebec", "Parker Brothers, Ed English, David Lamkins", "931502", "Frogger (1982) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "02cee0b140d2f1a1efcfb1d482a5c392", "Atari, Ed Logg, Carol Shaw - Sears", "CX2639 - 49-75162", "Othello (1981) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "02dcba28c614fec7ca25955327128abb", "Andrew Wallace", "", "Laseresal 2002 (PAL) (PD) [a]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "02e3f4ba156fb578bef7d7a0bf3400c1", "", "", "Booster (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "033e21521e0bf4e54e8816873943406d", "20th Century Fox Video Games - Sirius Software, Dan Thompson", "11020", "Earth Dies Screaming, The (1983) (20th Century Fox)", "The Day the Earth Stood Still", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "034c1434280b0f2c9f229777d790d1e1", "Telegames", "5665 A016", "Baseball (1988) (Telegames) (PAL)", "AKA Super Challenge Baseball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0375f589f7da06d2d2be532e0d4d4b94", "", "", "Push (V0.04) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0383dc02cb82302da3d155fd108bfe3a", "AtariAge, Chris Spry", "CX26200", "Princess Rescue (2013) (Sprybug) (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "", "", "YES", "" }, + { "038e1e79c3d4410defde4bfe0b99cc32", "Atari, Tod Frye, Gary Shannon", "", "Aquaventure (08-12-1983) (Atari) (Prototype)", "AKA Sea Sentinel", "Unbelievably Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "039cf18b459d33b8a8fca31d06c4c244", "", "", "Demo Image Series #0 (12-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "03b1051c9374678363c899914412cfc5", "", "", "Incoming (30-10-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "03c3f7ba4585e349dd12bfa7b34b7729", "SEGA, Jeff Lorenz", "004-01", "Star Trek - Strategic Operations Simulator (1983) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "03fbcee0bc80e31f27254aea3d920510", "Bit Corporation", "R320", "Trick Shot (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "03ff9e8a7af437f16447fe88cea3226c", "Bomb - Onbase", "CA285", "Wall-Defender (1983) (Bomb)", "AKA Wall Break", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "04014d563b094e79ac8974366f616308", "Atari, Andrew Fuchs, Courtney Granner, Jeffrey Gusman, Mark R. Hahn", "CX2690", "Pengo (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "041b5e56bbc650db574bd8db3fae2696", "Thomas Jentzsch", "", "Thrust (V1.0) (2000) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "043f165f384fbea3ea89393597951512", "Spectravision - Spectravideo", "SA-202", "Planet Patrol (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0443cfa9872cdb49069186413275fa21", "M Network - INTV, Patricia Lewis Du Long, Ron Surratt", "MT4518", "BurgerTime (1983) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "045035f995272eb2deb8820111745a07", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (1983) (Arcadia)", "AKA Jungle Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "047ac3b9faea64522b7a23c4465a7aa8", "", "", "Defender (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "04856e3006a4f5f7b4638da71dad3d88", "Atari, Douglas Neubauer", "CX26176", "Radar Lock (1989) (Atari) (PAL)", "AKA Dog Fight", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "049626cbfb1a5f7a5dc885a0c4bb758e", "", "", "MegaMania (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "04b488d4eef622d022a0021375e7e339", "Home Vision - Gem International Corp. - VDI", "VCS83107", "Tennis (1983) (Home Vision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "04cf9e6898007024622ed6a0b295961f", "Bit Corporation", "R320", "Tennis (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "04dfb4acac1d0909e4c360fd2ac04480", "Thomas Jentzsch", "", "Jammed (2001) (XYPE) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "04e737c9d53cd84bfd5ee679954e4706", "Jone Yuan Telephonic Enterprise Co", "", "Checkers (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "04fccc7735155a6c1373d453b110c640", "HES - Imagineering, David Lubar", "535", "My Golf (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0519f395d5f7d76be813b834aa51c0be", "Atari, Ian Shepard", "CX2604", "Space War (1978) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0546f4e6b946f38956799dd00caab3b1", "Thomas Jentzsch", "", "My Golf (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "056f5d886a4e7e6fdd83650554997d0d", "Parker Brothers, Ed Temple", "931504", "Amidar (1982) (Parker Bros) (PAL)", "", "Uncommon", "", "", "", "A", "A", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "056ff67dd9715fafa91fb8b0ddcc4a46", "", "", "Frisco (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "05824fcbe615dbca836d061a140a50e0", "Jeffry Johnston", "", "Radial Pong - Version 9 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "05aedf04803c43eb5e09dfd098d3fd01", "", "", "Keystone Kapers (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "05aff8f626ef870432ae3b3d9d5aa301", "Activision, Bob Whitehead", "AG-019", "Sky Jinks (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "05b45ba09c05befa75ac70476829eda0", "Parker Brothers, Rex Bradford", "931507", "Star Wars - Jedi Arena (1983) (Parker Bros) (PAL)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "10 50", "", "", "", "" }, + { "05c60458ec69e7fe8b1be973852d84f1", "", "", "Test (1996) (J.V. Matthews) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "05c765a63e61882abd1c2d627b652225", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Amiga Mouse Hack v1.1 (NTSC) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "05ccf96247af12eef59698f1a060a54f", "Otto Versand", "600273", "King Arthur (1983) (Otto Versand) (PAL)", "AKA Dragonfire (Double-Game Package)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "05d61b925d3d2474bab83f0a79bb5df1", "Eckhard Stolberg", "", "Cosmic Ark Stars (1997) (Eckhard Stolberg)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "05eb4347f0ec8f4783983ca35ffd8d1b", "", "", "Qb (2.06) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "05ebd183ea854c0a1b56c218246fbbae", "Atari, Dan Hitchens", "CX2656", "SwordQuest - EarthWorld (1982) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "05f11fb2e45c4e47424d3cb25414d278", "", "", "Boring (NTSC) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "060c865c782debb047e6fd101c8923fc", "Atari", "CX26163P", "Freeway Rabbit (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Freeway", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0614ed51acd027d531e7c85c4f435292", "", "", "Narnia (Glenn Saunders) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0619e1c3286bbfbace040b8c3ec5add2", "Omegamatrix", "", "Millipede (Atari Trak-Ball) v6.5 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "0651216c4a4a9c9ac5ada3013a317c72", "Jone Yuan Telephonic Enterprise Co", "", "Fishing Derby (Jone Yuan) (4K) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "06742cf522f23797157f215a1dc8a1a9", "", "", "Healthbars (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0685bd0bcb975ceef7041749a5454a48", "Piero Cavina", "", "11 Sprite Demo (Piero Cavina) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "069c17beb1e8e0557adb8539fdcf6cba", "", "", "Phantom II & Pirate (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "06b0194ce992584c365278e0d7323279", "Activision", "", "Unknown Activision Game #2 (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "06b6c5031b8353f3a424a5b86b8fe409", "Activision, Mike Lorenzen - Ariola", "EAX-023 - 711 023-720", "Oink! (1983) (Activision) (PAL)", "AKA Das Schweinchen und der Wolf", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "06cfd57f0559f38b9293adae9128ff88", "Telegames", "4317 A009", "Adventures on GX-12 (1988) (Telegames) (PAL)", "AKA Adventures of Tron", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "06d2f7674cea977607f74c464ce600a2", "CBS Electronics, Alex Nevelson", "4L 2737 0000", "Omega Race (1983) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "BOOSTERGRIP", "", "", "", "", "", "", "", "", "" }, + { "06db908011065e5ebb37f4e253c2a0b0", "", "", "Gopher (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "06e5dc181a8eda1c31cc7c581c68b6ef", "", "", "Tac-Scan (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "071f84d10b343c7c05ce3e32af631687", "Rainbow Vision - Suntek", "SS-019", "Curtiss (1983) (Rainbow Vision) (PAL)", "AKA Atlantis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "072a6ea2181ca0df88ac0dedc67b239d", "", "", "Multiple Missiles Demo (19-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "073cb76b006af034fd150be3f5e0e7e6", "", "", "Mobile 48 Sprite Kernel (Bug Fixed) (10-01-2003) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "073d7aff37b7601431e4f742c36c0dc1", "", "", "Bermuda (Unknown) (PAL)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "074ec425ec20579e64a7ded592155d48", "Atari - Sculptured Software, Steve Aguirre", "CX26162", "Fatal Run (Ultimate Driving) (1991) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "075069ad80cde15eca69e3c98bd66714", "CCE", "C-803", "Bobby Is Going Home (1983) (CCE)", "AKA Bobby Vai Para Casa", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0751f342ee4cf28f2c9a6e8467c901be", "Atari, Mimi Nyden, Joseph Tung", "CX26152", "Super Baseball (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "07973be3ecfd55235bf59aa56bdef28c", "Suntek", "SS-036", "Criminal Pursuit (1983) (Suntek) (PAL)", "AKA A Mysterious Thief", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "079fe9103515d15bc108577e234a484d", "", "", "Multi-Color Demo 0 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "07a3af1e18b63765b6807876366f5e8a", "Joe Grand", "", "SCSIcide Pre-release 2 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "07c76f2d88552d20ad2c0ed7aef406c6", "Cody Pittman", "", "Blob (Cody Pittman) (Hack)", "Hack of Halloween", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "07f42847a79e4f5ae55cc03304b18c25", "Zellers", "", "Sea Hawk (Zellers)", "AKA Seahawk", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "07f84db31e97ef8d08dc9fa8a5250755", "Supergame", "", "Enduro (1984) (Supergame)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "07f91e33e76f53bb9d2731fd5d8a35a5", "Atari", "CX2632", "Space Invaders (1978) (Atari) [t1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0805366f1b165a64b6d4df20d2c39d25", "Atari, Dan Hitchens", "CX2650", "Berzerk (1982) (Atari) (PAL)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "08188785e2b8300983529946dbeff4d2", "Atari, Carla Meninsky, Ed Riddle - Sears", "CX2611 - 99821, 49-75149", "Indy 500 (1977) (Atari) (4K)", "Uses the Driving Controllers", "", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "45", "", "", "", "" }, + { "081e2c114c9c20b61acf25fc95c71bf4", "Parker Brothers, Ed English, David Lamkins", "PB5300", "Frogger (1982) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "082fdc8bd47fef01482ce5883c4ffdb8", "Charles Morgan", "", "Tanks DX (Charles Morgan) (Hack)", "Hack of Tanks But No Tanks", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0832fb2ee654bf9382bc57d2b16d2ffc", "Apollo - Games by Apollo, Ed Salvo", "AP-1001", "Skeet Shoot (1981) (Apollo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "083e7cae41a874b2f9b61736c37d2ffe", "Imagic, Rob Fulop, Bob Smith", "720106-2A, IA3600P, EIX-009-04I", "Riddle of the Sphinx (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "085322bae40d904f53bdcc56df0593fc", "Parker Brothers, Dave Engman, Dawn Stockbridge", "PB5340", "Tutankham (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0856f202b18cd46e44fd1dc3b42e9bfb", "", "", "Frame Counter 1 (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0866e22f6f56f92ea1a14c8d8d01d29c", "Androbot - Western Technologies, Michael Case, Lenny Carlson", "", "AndroMan on the Moon (1984) (Western Tech) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0891252ee4e307689febccf3cfd8a8ab", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0894aa7be77521f9df562be8d9555fe6", "CBS Electronics, Dan Kitchen, Garry Kitchen", "4L1700, 4L1701, 4L1702, 4L1802, 4L2274", "Donkey Kong (1982) (CBS Electronics) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "08989fa4ff537f5dbd611aff4019521a", "Atari, Gary Palmer", "CX26163P", "Fun with Numbers (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "08bd4c1dcc843f6a0b563d9fd80b3b11", "Quelle", "343.273 9", "Phantompanzer II (1983) (Quelle) (PAL)", "AKA Thunderground", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "08bf437d012db07b05ff57a0c745c49e", "Arcadia Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Meteoroids (1982) (Arcadia) (Prototype)", "Suicide Mission Beta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "08d1b6d75206edb999252caf542a2c7f", "Larry Petit", "", "Super Home Run (2003) (Larry Petit) (Hack)", "Hack of Home Run", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "08d60a58a691c7f690162850302dc0e1", "", "", "Poker Squares (V0.27) (PAL) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "08e5960bb52d9a3e2c9954677b5e4472", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (10-20-1982) (Atari) (Prototype)", "Uses the Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "08ea2fdaa22e5802c839ee7dfb0483dc", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.2 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "08f4dc6f118f7c98e2406c180c08e78e", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Tug of War (2 of 3) (1983) (Arcadia) (PAL)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "02", "", "", "", "" }, + { "08f853e8e01e711919e734d85349220d", "Atari, Jerome Domurat, Michael Sierchio", "CX2667", "RealSports Soccer (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0906c6e0e4bda9c10cfa4c5fc64d2f4b", "Retroactive", "", "Qb (V0.12) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "090f0a7ef8a3f885048d213faa59b2f8", "Carrere Video - Western Technologies, John Hall - Teldec - Prism", "USC1012", "M.A.D. (1983) (Carrere Video) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "09274c3fc1c43bf1e362fda436651fd8", "Thomas Jentzsch", "", "Acid Drop (TJ)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "09388bf390cd9a86dc0849697b96c7dc", "Absolute Entertainment, Alex DeMeo", "AG-045-04, AK-045-04", "Pete Rose Baseball (1988) (Absolute)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0945081a6bd00345ff3d58eb7a07330a", "", "", "Stampede (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0956285e24a18efa10c68a33846ca84d", "Dismac", "", "Viagem Espacial (Dismac)", "AKA Star Voyager", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0963aa9f7f6cf5a36ff700001583624e", "Franklin Cruz", "", "Space Invaders 2 (Hack) [o1]", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "096649575e451508006b17e0353259a5", "Justin J. Scott", "", "Yar Vs. Yar (2002) (Justin J. Scott) (Hack)", "Hack of Yars' Revenge", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "097074f24cde141fe6a0f26a10333265", "", "", "Marble Craze (V0.90) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "097936b07e0e0117b9026ae6835eb168", "Imagic, Dennis Koble", "720100-2B, IA3000P", "Trick Shot (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "09abfe9a312ce7c9f661582fdf12eab6", "Atari, Douglas Neubauer", "CX26154", "Super Football (1988) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "09e1ecf9bd2a3030d5670dba7a65e78d", "Atari, James Andreasen", "CX2654", "Haunted House (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "09e9ba0762fd0c3cf3c2e072cff79cac", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (1984) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "09f89bbfa2ab00f1964d200e12d7ced0", "Atari", "MA017600", "Diagnostic Test Cartridge 2.6 (1982) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0a1b98937911d621b004b1617446d124", "", "", "Hangman Pac-Man Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0a981c03204ac2b278ba392674682560", "Atari, Bob Whitehead - Sears", "CX2651 - 99805, 49-75602", "Blackjack (1977) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "", "", "" }, + { "0aa208060d7c140f20571e3341f5a3f8", "U.S. Games Corporation - Western Technologies, Jeff Corsiglia, Paul Allen Newell, Tom Sloper", "VC1009", "Towering Inferno (1982) (U.S. Games)", "Uses the Joystick Controllers (swapped)", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "YES", "" }, + { "0abf64ca504a116adca80f77f85e00fb", "", "", "Cube Conquest (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0ac0d491763153fac75f5337ce32a9d6", "", "", "SPAM Image Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0acaf71e60b89f6b6eab63db6ab84510", "", "", "This Planet Sucks (Greg Troutman) [a2]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0aceb7c3bd13fe048b77a1928ed4267d", "Imagic, Bob Smith", "720102-2B, IA3201P, EIX-011-04I", "Star Voyager (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0ad9a358e361256b94f3fb4f2fa5a3b1", "Atari, Carol Shaw, Nick 'Sandy Maiwald' Turner - Sears", "CX2608 - 49-75165", "Super Breakout (1982 - 1981) (Atari) [a]", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, + { "0adb21206de92e8aec5ef295805ebb90", "", "", "Solaris (Genesis)", "Genesis controller (C switches to map mode)", "Hack of Solaris", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0ae3497e731ca0bf6a77b23441d9d9f9", "", "", "Analog Clock (V0.0) (20-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0af51ceb4aecc7a8fc89781ac44a1973", "Barry Laws Jr.", "", "Face Invaders Deluxe (Barry Laws Jr.) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0afe6ae18966795b89314c3797dd2b1e", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692, CX2692P", "Moon Patrol (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0b01909ba84512fdaf224d3c3fd0cf8d", "", "", "Revenge of the Apes (Hack)", "Hack of Planet of the Apes", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0b1056f1091cfdc5eb0e2301f47ac6c3", "Tigervision - Software Electronics Corp., Karl T. Olinger - Teldec", "7-001 - 3.60001 VE", "King Kong (1982) (Tigervision) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0b17ed42984000da8b727ca46143f87a", "Atari - CCW, Christopher H. Omarzu", "CX26104", "Big Bird's Egg Catch (05-17-1983) (Atari) (Prototype)", "Uses the Keypad Controller", "Prototype", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, + { "0b24658714f8dff110a693a2052cc207", "CCE", "C-815", "Seaquest (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0b33252b680b65001e91a411e56e72e9", "CCE", "C-832", "Atlantis (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0b4e793c9425175498f5a65a3e960086", "CCE", "", "Kung Fu Master (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0b55399cf640a2a00ba72dd155a0c140", "Imagic, Wilfredo Aguilar, Michael Becker, Rob Fulop", "720111-1A, 03205", "Fathom (1983) (Imagic)", "AKA Scuba", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "0b577e63b0c64f9779f315dca8967587", "Videospielkassette - Ariola", "PGP236", "Raketen-Angriff (Ariola) (PAL)", "AKA Missile Control", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0b8d3002d8f744a753ba434a4d39249a", "Sears Tele-Games, Robert Zdybel", "CX2619 - 49-75159", "Stellar Track (1981) (Sears)", "AKA Stella Trak", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "0bf19e40d5cd8aa5afb33b16569313e6", "Atari, Jerome Domurat, Andrew Fuchs, Dave Staugas, Robert Vieira", "CX26118", "Millipede (01-04-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0bf1e354304f46c0caf8fc0f6f5e9525", "Arcadia Corporation, Stephen Harland Landrum", "AR-4105", "Official Frogger (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0bfabf1e98bdb180643f35f2165995d0", "Atari, Bob Whitehead - Sears", "CX2623 - 6-99819, 49-75108, 49-75125", "Home Run (1978) (Atari)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "0c0392db94a20e4d006d885abbe60d8e", "", "", "Dodge Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0c336f83b0e6e3bc86c77f368448e77b", "Bit Corporation", "R320", "Circus Atari (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0c35806ff0019a270a7acae68de89d28", "Froggo", "FG1003", "Task Force (1987) (Froggo)", "AKA Gangster Alley", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0c48e820301251fbb6bcdc89bd3555d9", "Atari, Bill Aspromonte, Andrew Fuchs", "CX26120", "Stargate (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0c54811cf3b1f1573c9164d5f19eca65", "Activision, David Crane - Ariola", "EAG-001, PAG-001, EAG-001-04B, EAG-001-04I - 711 001-715", "Dragster (1980) (Activision) (PAL)", "AKA Dragster Rennen, Drag Strip", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0c72cc3a6658c1abd4b735ef55fa72e4", "Dion Olsthoorn", "v1.3", "Amoeba Jump (2018) (Dionoid) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0c7926d660f903a2d6910c254660c32c", "Atari, Larry Kaplan", "CX2602, CX2602P", "Air-Sea Battle (1977) (Atari) (PAL)", "AKA Anti-Aircraft", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0c7bd935d9a7f2522155e48315f44fa0", "Carrere Video - Western Technologies, Jeff Corsiglia, Paul Allen Newell, Tom Sloper - Teldec - Prism", "USC1009", "Infernal Tower (1983) (Carrere Video) (PAL)", "AKA Towering Inferno", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "YES", "" }, + { "0c80751f6f7a3b370cc9e9f39ad533a7", "Atari, Carla Meninsky", "CX2610", "Warlords (1981) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "0cb7af80fd0ddef84844481d85e5d29b", "", "", "Mr. Pac-Man (El Destructo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0cc8224ff1edfe458e8629e9e5fe3f5b", "Thomas Jentzsch", "", "Trick 12 (2001) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0cdd9cc692e8b04ba8eb31fc31d72e5e", "Thomas Jentzsch", "", "Wing War (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0cebb0bb45a856b23f56d21ce7d1bc34", "20th Century Fox Video Games, Bill Aspromonte", "11131", "Crash Dive (1983) (20th Century Fox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0cec9e46a25d338bf595a29aa2606516", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Mouse Hack v1.1 (PAL60) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0cfdd2f3b243cac21f38a0f09f54bead", "", "", "Overhead Adventure Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0d07d2c1be1a5eaaea235a533bcda781", "", "", "Scrolling Playfield 1 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0d08558f34a47e4eaa39d01c8efb81f0", "Thomas Jentzsch", "", "Missile Control - Atari Mouse Hack v1.15 (NTSC) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0d09cff0d28033c02c3290edfc3a5cea", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0d1b3abf681a2fc9a6aa31a9b0e8b445", "Atari", "CX26163P", "Laser Blast (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0d27c7f5db349b592f70f68daf5e8f3b", "", "", "Space Instigators (21-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0d35618b6d76ddd46d2626e9e3e40db5", "", "", "X-Doom V.26 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0d5af65ad3f19558e6f8e29bf2a9d0f8", "Atari - Sculptured Software, Adam Clayton", "CX26151, CX26151P", "Dark Chambers (1989) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "0d6b974fe58a1bdd453600401c407856", "Atari", "", "128-in-1 Junior Console (Chip 3 or 4) (1991) (Atari) (PAL)", "Actually contains only 16 games, not 32", "", "", "", "16IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0d786a41695e5fc8cffd05a6dbb3f659", "", "", "Scrolling Playfield With Score (10-02-2003) (Aaron Bergstrom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0d7e630a14856f4d52c9666040961d4d", "", "", "Wavy Line Test (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0d90a0ee73d55539b7def24c88caa651", "Activision, Bob Whitehead", "AG-005, CAG-005, AG-005-04", "Skiing (1980) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0db4f4150fecf77e4ce72ca4d04c052f", "Atari, Carol Shaw - Sears", "CX2618 - 49-75123", "3-D Tic-Tac-Toe (1980) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0dd4c69b5f9a7ae96a7a08329496779a", "Tigervision - Software Electronics Corp., Karl T. Olinger - Teldec", "7-001 - 3.60001 VE", "King Kong (1982) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0de53160a8b54c3aa5aed8d68c970b62", "Quelle", "806.174 9", "Fuchs & Schweinchen Schlau (1983) (Quelle) (PAL)", "AKA Oink!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0dfbdadf8f1bc718e7e1bb3ccd5fef3d", "", "", "Mr. Pac-Man (New start tune) (El Destructo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0e0808227ef41f6825c06f25082c2e56", "", "", "Candi (Hack) [a]", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0e08cd2c5bcf11c6a7e5a009a7715b6a", "", "", "Boing! (PD) [a1]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0e224ea74310da4e7e2103400eb1b4bf", "Atari, Peter C. Niday, Gary Shannon, Howard Scott Warshaw", "", "Mind Maze (10-10-1984) (Atari) (Prototype)", "Uses the MindLink controller", "Prototype", "", "", "", "", "", "", "", "", "MINDLINK", "", "", "", "", "", "", "", "" }, + { "0e23d0ed4c33b2011ab4cc93a7619683", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0e4b2b6e014a93ef8be896823da0d4ec", "", "", "Skiing (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0e713d4e272ea7322c5b27d645f56dd0", "Home Vision - Gem International Corp. - VDI", "VCS83105", "Panda Chase (1983) (Home Vision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0e7e73421606873b544e858c59dc283e", "Digivision", "", "Super Soccer (Digivision)", "AKA RealSports Soccer", "", "", "", "F8", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "0e86470791b26292abe1c64545c47985", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Down on the Line (3 of 3) (1983) (Arcadia) (PAL)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "01 70", "", "", "", "" }, + { "0ec93f519bb769e0d9f80e61f6cc8023", "Atari - GCC, John Allred, Mike Feinstein", "CX2688", "Jungle Hunt (02-25-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0ecdb07bf9b36ef18f3780ef48e6c709", "Bit Corporation", "PG209", "Mr. Postman (1983) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0eebfb60d437796d536039701ec43845", "Fabrizio Zavagli", "", "Cakewalk (Fabrizio Zavagli)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0eecb5f58f55de9db4eedb3a0f6b74a8", "Xonox - Beck-Tech", "6210, 06002, 06004, 99002", "Ghost Manor (1983) (Xonox) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0ef64cdbecccb7049752a3de0b7ade14", "Atari, Joe Decuir, Larry Caplan, Steve Mayer, Larry Wagner", "CX26163P", "Combat (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0efc91e45f61023cda9d086a7d3c402f", "B.J. Best (aka bjbest60)", "", "Space Cactus Canyon (2017)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "0effef4a341f8eebab65621c60c48787", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0f14c03050b35d6b1d8850b07578722d", "Jeffry Johnston", "", "Radial Pong - Version 10 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0f24ca5668b4ab5dfaf217933c505926", "", "", "Fantastic Voyage (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0f2e09c71cc216f79d22a804152ba24b", "Bob Colbert", "", "Scroller Demo (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "0f341d1f4e144e3163d9a5fc5a662b79", "", "", "RUN Platform Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "0f39fc03d579d0d93a6b729a3746843e", "Atari, Sam Comstock, Richard Dobbis, Nick 'Sandy Maiwald' Turner", "CX26111", "Snoopy and the Red Baron (05-27-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0f604cd4c9d2795cf5746e8af7948064", "Champ Games", "CG-02-N", "Conquest Of Mars (2010) (NTSC)", "Rev 2 release", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0f643c34e40e3f1daafd9c524d3ffe64", "Atari, Robert C. Polaro, Alan J. Murphy - Sears", "CX2609 - 49-75186", "Defender (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0f6676b05621f80c670966e2995b227a", "", "", "Globe Trotter Demo 1 (24-03-2003) (Weston)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0f738dc44437557624eb277ed7ad91c9", "", "", "Grand Prix (Unknown) (PAL)", "AKA Grand Prix", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0f8043715d66a4bbed394ef801d99862", "Quelle", "684.733 9", "Robin Hood (1983) (Quelle) (PAL)", "AKA Save Our Ship", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0f95264089c99fc2a839a19872552004", "Activision, David Crane", "AG-009, AG-009-04", "Freeway (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0fba7d8c3520bdb681f75494e498ec36", "", "", "Gunfight 2600 - Final Run (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0fbf618be43d4396856d4244126fe7dc", "Quelle", "805.784 6", "Labyrinth (1983) (Quelle) (PAL)", "AKA Maze Craze", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0fc161704c46e16f7483f92b06c1558d", "CCE", "C-853", "Spider Fighter (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0fcff6fe3b0769ad5d0cf82814d2a6d9", "Suntek", "SS-027", "Zoo Fun (1983) (Suntek) (PAL)", "AKA Panda Chase", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0fd72a13b3b6103fc825a692c71963b4", "Imagic, Rob Fulop", "720104-2A, IA3204P, EIX-008-04I", "Cosmic Ark (1982) (Imagic) (PAL) [selectable starfield]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0fee596b974c9d3e70b367a3671599b6", "Bit Corporation", "R320", "Name This Game (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "101ab60f4000a5d13792ef0abad5f74b", "Atari, Jerome Domurat, Peter C. Niday, Robert Vieira", "CX26109", "Sorcerer's Apprentice (1983) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "102672bbd7e25cd79f4384dd7214c32b", "Atari, Alan Miller - Sears", "CX2642 - 6-99814", "Hunt & Score - Memory Match (1978) (Atari)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "103e9d616328969f5d7b4e0a381b25d5", "", "", "Playfield Illustration and Logo Demo (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "103f1756d9dc0dd2b16b53ad0f0f1859", "Home Vision, Gem International Corp.", "", "Go Go Home Monster (1983) (Home Vision) (PAL)", "AKA Go Go Home", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "104468e44898b8e9fa4a1500fde8d4cb", "AtariAge, Chris Spry", "CX26200", "Princess Rescue (2013) (Sprybug)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "", "", "YES", "" }, + { "106326c262dfd3e8eaeabd961d2a0519", "", "", "PAL-NTSC Detector (15-11-2002) (CT)[a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "106855474c69d08c8ffa308d47337269", "Atari - Sculptured Software, Adam Clayton", "CX26151", "Dark Chambers (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "107cc025334211e6d29da0b6be46aec7", "Atari, Bob Smith - Sears", "CX2648 - 49-75161", "Video Pinball (1981) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1086ff69f82b68d6776634f336fb4857", "Activision, David Crane", "AG-009", "Bloody Human Freeway (1981) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "10958cd0a1a81d599005f1797ab0e51d", "", "", "Centipede 2k (2000) (PD) (Hack)", "Hack of Centipede", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "10a3cd14e5dcfdde6ff216a14ce7b7dd", "Atari", "CX262, CX2627P", "Human Cannonball (1979) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "10af8728f975aa35a99d0965de8f714c", "Dinatronic", "", "Seaquest (Dinatronic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "10c47acca2ecd212b900ad3cf6942dbb", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a4]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "10c8cfd8c37522f11d47540ff024e5f9", "Canal 3 - Intellivision", "C 3016", "Demon Attack (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "10eae73a07b3da044b72473d8d366267", "Funvision - Fund. Int'l Co.", "", "Karate (1982) (Funvision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "10f0ecaf962aef1fc28abed870b01b65", "Atari, Paul Donaldson", "", "Bionic Breakthrough (06-22-1984) (Atari) (Prototype)", "Uses the Mindlink Controller", "Prototype", "", "", "", "", "", "", "", "MINDLINK", "", "", "", "", "", "", "", "", "" }, + { "10f62443f1ae087dc588a77f9e8f43e9", "Atari, Carla Meninsky", "CX2637, CX2637P", "Dodge 'Em (1980) (Atari) (PAL) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "110ac8ecaf1b69f41bc94c59dfcb8b2d", "", "", "Demon Attack (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "111029770226b319524134193886a10e", "Hozer Video Games", "", "Gunfight 2600 - One Limit Reached! (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "11330eaa5dd2629052fac37cfe1a0b7d", "128-in-1 Junior Console", "", "Human Cannonball (128-in-1 Junior Console) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "113cd09c9771ac278544b7e90efe7df2", "Atari, Ed Logg, Carol Shaw - Sears", "CX2639 - 49-75162", "Othello (1981) (Atari) [no grid markers]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "114c599454d32f74c728a6e1f71012ba", "Activision, Bob Whitehead - Ariola", "EAX-015, EAX-015-04I - 711 015-725", "Chopper Command (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "11bcf5c752088b5aaf86d6c7a6a11e8d", "Atari, Jerome Domurat, Andrew Fuchs, Dave Staugas, Robert Vieira", "CX26118", "Millipede (1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "11e7e0d9437ec98fa085284cf16d0eb4", "", "", "Bowling (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "11f9532557e4c9569f4b242164006161", "Chris Walton, Justin Hairgrove, Tony Morse", "", "Hunchy II (2005) (PAL)", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1201c18cf00d2c236f42e4d7d8c86aa1", "", "", "Nick Bensema Demo (Nick Bensema)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "12080205f669b8e7783b976f8cf3d8bb", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) v4 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "12123b534bdee79ed7563b9ad74f1cbd", "Absolute Entertainment, Alex DeMeo", "AG-041-04", "Title Match Pro Wrestling (1987) (Absolute)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1228c01cd3c4b9c477540c5adb306d2a", "Atari, Alan Miller", "CX26163P", "Basketball (32 in 1) (1988) (Atari) (PAL)", "Console ports are swapped", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "1266b3fd632c981f3ef9bdbf9f86ce9a", "Activision, Bob Whitehead", "EAZ-034-04, EAZ-034-04I", "Private Eye (1984) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1267e3c6ca951ff1df6f222c8f813d97", "", "", "Dragonfire (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "126f7f64b7b00e25dcf5e3710b4cf8b8", "Atari - GCC", "CX2676", "Centipede (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1278f74ca1dfaa9122df3eca3c5bcaad", "Rainbow Vision - Suntek", "SS-013", "Bi! Bi! (Rainbow Vision) (PAL)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1287535256bf5dff404839ac9e25c3e7", "PacManPlus", "Rev 2", "Alien Pac-Man (PacManPlus) (Hack)", "Hack of Alien", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "12937db3d4a80da5c4452b752891252d", "Digitel", "", "Megamania (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "12bca8305d5ab8ea51fe1cfd95d7ab0e", "Epyx, Steven A. Baker, Tod Frye, Peter Engelbrite", "80561-00250", "Summer Games (1987) (Epyx) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "12d7e0d6b187889f8d150bf7034d1db2", "", "", "Poker Squares (V0.0e) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "130c5742cd6cbe4877704d733d5b08ca", "Home Vision - Gem International Corp. - VDI", "VCS83109", "World End (1983) (Home Vision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1323c45d660f5a5b6d5ea45c6c4cbe4a", "Canal 3 - Intellivision", "", "Enduro (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "133456269a03e3fdae6cddd65754c50d", "Tigervision - Software Electronics Corporation - Teldec", "7-006 - 3.60008 VG", "Springer (1983) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "133a4234512e8c4e9e8c5651469d4a09", "Atari, Andrew Fuchs, Jeffrey Gusman, Dave Jolly, Suki Lee", "CX26117", "Obelix (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "133b56de011d562cbab665968bde352b", "Activision, John Van Ryzin", "AG-038-04", "Cosmic Commuter (1984) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1343de49c2a50d99176255f99f0d0234", "Gray Games & AtariAge", "", "E.T. Book Cart (PAL)", "Charles F. Gray & Michael Rideout", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "55" }, + { "13448eb5ba575e8d7b8d5b280ea6788f", "Digivision", "", "Crackpots (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1345e972dbe08ea3e70850902e20e1a5", "Greg Troutman", "", "Dark Mage (rough beta) (Greg Troutman) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "1351c67b42770c1bd758c3e42f553fea", "Digivision", "", "Keystone Kapers (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "135708b9a7dd20576c1b66ab2a41860d", "", "", "Hangman Man Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "13584411da0a8d431991035423fdc0dc", "Jone Yuan Telephonic Enterprise Co", "", "Skiing (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1367e41858be525710eb04d0dab53505", "Kyle Pittman", "", "Zelda (2003) (Kyle Pittman) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "136f75c4dd02c29283752b7e5799f978", "Atari, Dan Hitchens - Sears", "CX2650 - 49-75168", "Berzerk (1982) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "13895ef15610af0d0f89d588f376b3fe", "Tigervision, Rorke Weigandt", "7-005", "Marauder (1982) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "13a37cf8170a3a34ce311b89bde82032", "Atari - GCC, Mark Ackerman, Tom Calderwood, Glenn Parker", "CX2684, CX2684P", "Galaxian (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "13a991bc9c2ff03753aeb322d3e3e2e5", "Funvision - Fund. International Co.", "", "Galactic (Funvision) (PAL)", "AKA Condor Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "13aa1f9ac4249947e4af61319d9a08f2", "Atari - GCC", "CX2680, CX2680P", "RealSports Tennis (1983) (Atari) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "13abc32f803165c458bb086fa57195fb", "Christian Samuel", "", "E.T. The Extra-Testical (Christian Samuel) (Hack)", "Hack of E.T. The Extra-Terrestrial", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "13ccc692f111d52fec75d83df16192e2", "Canal 3 - Intellivision", "", "Fishing Derby (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "13d8326bf5648db4dafce45d25e62ddd", "", "", "Atari Logo Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "13dfb095e519a555a5b60b7d9d7169f9", "", "", "Red Line Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "140909d204abd6841c64cdad4d7765b4", "", "", "Moving Blue Ladder Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "14163eb2a3ddd35576bd8527eae3b45e", "", "", "Multi-Color Demo 6 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1423f560062c4f3c669d55891a2bcbe7", "CCE", "C-859", "MASH (1983) (CCE) [a]", "AKA M.A.S.H", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1428029e762797069ad795ce7c6a1a93", "", "", "Thunderground (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "143918368f4f4dfff90999188c0197c9", "", "", "Unknown Title (bin00016 (200110)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1442d1b35a6478fba22ae7dd1fcb5634", "Thomas Jentzsch", "", "Thrust (V0.2) (2000) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "148471144ccebd7f6aa9aa9215896533", "Parker Brothers - JWDA, Todd Marshall", "PB5550", "Q-bert's Qubes (1984) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "149b543c917c180a1b02d33c12415206", "CCE", "C-857", "Superman (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "14a56b493a8d9d10e94a3e100362e3a2", "Hozer Video Games", "", "Gunfight 2600 - Early Play-kernel (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "14b1e30982962c72f426e2e763eb4274", "Atari, Carol Shaw - Ralph Lauren", "", "Polo (1978) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "14c2548712099c220964d7f044c59fd9", "First Star Software, Alex Leavens, Shirley Ann Russell", "", "Boing! (1983) (First Star Software)", "AKA Bubbles, Soap Suds, The Emphysema Game", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "14d365bbfaac3d20c6119591f57acca4", "", "", "Video Life (Unknown) (4K) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "14dbb3686dd31964332dc2ef0c55cad0", "", "", "Demo Image Series #15 - Three Marios (PAL) (Non-Interleave) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "151c33a71b99e6bcffb34b43c6f0ec23", "Parker Brothers, Laura Nikolich", "", "Care Bears (1983) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "151fa3218d8d7600114eb5bcd79c85cb", "Atari - CCW, Christopher H. Omarzu", "CX26104", "Big Bird's Egg Catch (05-02-1983) (Atari) (Prototype)", "Uses the Keypad Controller", "Prototype", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, + { "152c253478b009c275e18cd731b48561", "", "", "Quest (11-10-2002) (Chris Larkin)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "153f40e335e5cb90f5ce02e54934ab62", "Absolute Entertainment, Alex DeMeo", "EAZ-041-04I", "Title Match Pro Wrestling (1987) (Absolute) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1542662f665d2ffaa77b4b897dd2e2af", "", "", "Starfield (V1.0) (2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "155fa7f479dcba3b10b1494e236d6010", "Skyworks", "", "Tomcat (2002) (Skyworks) (PAL)", "AKA The F-14 Flight Simulator", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "157356f80c709ab675961d8b8b207e20", "", "", "Multi-Sprite Game V2.5 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "157bddb7192754a45372be196797f284", "Atari, Warren Robinett - Sears", "CX2613, 49-75154", "Adventure (1980) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "159e5cd6ccb968015f49aed5adbc91eb", "Justin J. Scott", "", "Yar's Defeat (2002) (Justin J. Scott) (Hack)", "Hack of Yars' Revenge", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "15a0d59304dece2c7d0580f3ea3527f0", "Atari, Jerome Domurat, Peter C. Niday", "CX26115", "Dumbo's Flying Circus (04-04-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "15b498199ed0ed28057bf0dbdce9b8d8", "Thomas Jentzsch", "", "Jammed (V0.2) (Demo) (2001) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "15b9f5e2439bfaa08874b5184261c777", "Bit Corporation", "R320", "Space Invaders (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "15bcd74f2f1f2a63e1aa93e90d2c0555", "", "", "Incoming (22-08-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "15bf2ef7583bfcbbba630847a1dc5539", "Erik Eid", "", "Euchre (Jul 15) (2002) (Eric Eid) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "15c11ab6e4502b2010b18366133fc322", "Atari - Axlon, Tod Frye - Heuristica, Augustin Ortiz", "CX26169", "Shooting Arcade (09-19-1989) (Atari) (Prototype)", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "15dd21c2608e0d7d9f54c0d3f08cca1f", "Data Age, J. Ray Dettling", "112-008", "Frankenstein's Monster (1983) (Data Age)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "15fe28d0c8893be9223e8cb2d032e557", "", "", "Towering Inferno (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "1619bc27632f9148d8480cd813aa74c3", "Thomas Jentzsch", "", "Steeple Chase (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "161ded4a85d3c78e44fffd40426f537f", "Thomas Jentzsch", "", "JtzBall (Alpha) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "163e7e757e2dc44469123ff0e5daec5e", "", "", "Many Blue Bars and Text Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "169d4c7bd3a4d09e184a3b993823d048", "", "", "Superman (Unknown) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "16cb43492987d2f32b423817cdaaf7c4", "Atari, Larry Kaplan - Sears", "CX2602 - 99802, 6-99802, 49-75102", "Air-Sea Battle (1977) (Atari)", "AKA Target Fun (Anti-Aircraft)", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "16cc6d1b4ddce51c767a1ba8e5ff196c", "", "", "Big - Move This Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "16d69f71bf5846639be5ff16483f0498", "Bit Corporation", "R320", "Golf (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "16e04823887c547dc24bc70dff693df4", "Atari", "CX26163P", "Tennis (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "16ee443c990215f61f7dd1e55a0d2256", "Spectravideo, David Lubar", "SA-218, SA-218C", "Bumper Bash (1983) (Spectravideo) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "" }, + { "16f494f20af5dc803bc35939ef924020", "Mark De Smet", "", "Video Simon (Mark De Smet)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "170e7589a48739cfb9cc782cbb0fe25a", "M Network - INTV - APh Technological Consulting, Hal Finney", "MT5666", "Astroblast (1982) (M Network) [fixed]", "Can also use left joystick", "Uncommon", "", "", "", "", "", "", "", "PADDLES", "", "YES", "", "", "AUTO 55", "", "", "", "" }, + { "171cd6b55267573e6a9c2921fb720794", "Kurt Howe", "", "Adventure 34 (Kurt Howe) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "171ebf135b13ba907f462c10d88a2c25", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Amiga Mouse Hack v1.1 (PAL60) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1733772165d7b886a94e2b4ed0f74ccd", "", "", "Boring Journey Escape (Hack)", "Hack of Journey - Escape", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1738b2e3f25ab3eef3cecb95e1d0d957", "", "", "Hangman Monkey Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "17512d0c38f448712f49f36f9d185c4e", "Retroactive", "", "Qb (Release Candidate #1) (Retroactive)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "17515a4d0b7ea5029ffff7dfa8456671", "Piero Cavina", "", "Multi-Sprite Demo V1.1 (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "176d3fba7d687f2b23158098e103c34a", "Zach Matley", "", "Combat AI (16-02-2003) (Zach Matley)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "177504abd4260c4265e1338955e9fa47", "HCC Software", "", "Pitfall! (Steroids Hack)", "Hack of Pitfall! (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1782929e1c214b70fb6884f77c207a55", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1982) (Activision) (Prototype)", "Pitfall Harry's Jungle Adventure (Jungle Runner)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "17ba72433dd41383065d4aa6dedb3d91", "", "", "SCSIcide (09-06-2001) (Joe Grand)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "17badbb3f54d1fc01ee68726882f26a6", "M Network - INTV - APh Technological Consulting, Hal Finney, Bruce Pedersen", "MT5659", "Space Attack (1982) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "17bbe288c3855c235950fea91c9504e9", "Dismac", "", "Pega Ladrao (Dismac)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "17c0a63f9a680e7a61beba81692d9297", "U.S. Games Corporation - Western Technologies, Jeff Corsiglia, David Johnson, Tom Sloper", "VC2004", "Picnic (1983) (U.S. Games)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, + { "17d000a2882f9fdaa8b4a391ad367f00", "Atari - GCC", "CX2676", "Centipede (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "17ee158d15e4a34f57a837bc1ce2b0ce", "Atari - GCC, Mike Feinstein, Kevin Osborn", "CX2691, CX2691P", "Joust (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "17ee23e5da931be82f733917adcb6386", "Salu, Dennis M. Kiss", "460758", "Acid Drop (1992) (Salu) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1802cc46b879b229272501998c5de04f", "Atari - CCW, Christopher H. Omarzu", "CX26104", "Big Bird's Egg Catch (1983) (Atari)", "Uses Kids/Keypad Controllers", "Rare", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "183020a80848e06a1238a1ab74079d52", "Thomas Jentzsch", "", "Missile Command (Amiga Mouse) (2002) (TJ) (PAL)", "Uses Amiga Mouse Controller", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "1862fca4f98e66f363308b859b5863af", "Atari", "", "128-in-1 Junior Console (Chip 1 of 4) (1991) (Atari) (PAL)", "Actually contains only 16 games, not 32", "", "", "", "16IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "18a970bea7ac4d29707c8d5cd559d03a", "", "", "Bridge (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "18b28b386abdadb3a700ac8fb68e639a", "Manuel Polik", "", "Gunfight 2600 (MP) (PAL)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "18b476a34ce5e6db2c032029873ac39b", "Bit Corporation", "R320", "Atlantis (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "18be8981b8201638f3ed8ae92bb4c215", "Thomas Jentzsch", "", "Missile Control - Amiga Mouse Hack v1.15 (PAL60) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "18bebbbd41c234f82b1717b1905e6027", "", "", "Space Instigators (Public Release) (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "18d26111cef66dff0c8af8cf0e117843", "", "", "Tunnel Demo (Cycling Colours 2) (29-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "18dc28bc22402f21e1c9b81344b3b8c5", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2684, CX2684P", "Galaxian (1983) (Atari) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "18ed63e3ce5bc3dd2d8bd188b807f1a2", "", "", "Stell-A-Sketch (Bob Colbert) (PD) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "18f299edb5ba709a64c80c8c9cec24f2", "Home Vision - Gem International Corp. - VDI", "VCS83111", "Asteroid Fire (1983) (Home Vision) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "19098c46da0640f2b5763167dea6c716", "Andrew Wallace", "", "Laseresal 2002 (NTSC) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "191449e40b0c56411c70772706f79224", "", "", "Multi-Color Demo 2 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "19162393786098d50587827588198a86", "Jone Yuan Telephonic Enterprise Co", "", "Flag Capture (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "191ac4eec767358ee3ec3756c120423a", "", "", "Checkers (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "192aa2e8c795c9e10a7913e5d41feb81", "Atari - GCC, Jaques Hugon, Seth Lipkin", "CX26125", "Los Angeles 1984 Games (1984) (Atari) (Prototype) (PAL)", "AKA Track and Field (Uses Track & Field Controller)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "193f060553ba0a2a2676f91d9ec0c555", "Atari, Carol Shaw", "CX2636, CX2636P", "Video Checkers (1980) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1942bdb7abc75e412068330a9082b0ff", "Atari, Omegamatrix", "", "Super Breakout Menu (2020) (PAL) (Hack)", "Hack of Super Breakout", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 55", "", "", "", "" }, + { "1986f864e32e3e8d198b5becf3022257", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "199985cae1c0123ab1aef921daace8be", "", "", "Euchre (Release Candidate 2) (PAL) (01-10-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "199eb0b8dce1408f3f7d46411b715ca9", "Parker Brothers, David Lamkins, Laura Nikolich", "PB5900", "Spider-Man (1982) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "19a9d3f9fa1b1358fb53009444247aaf", "", "", "Blackjack (Unknown) (PAL) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "", "", "" }, + { "19abaf2144b6a7b281c4112cff154904", "Atari, Brad Stewart", "CX2649, CX2649P", "Asteroids (1981) (Atari) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "19b3b807507653516985ba95da92499d", "Joe Gaucher", "", "VCS Draw Demo (Joe Gaucher)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "19d6956ff17a959c48fcd8f4706a848d", "PlayAround - J.H.M.", "202", "Burning Desire (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "19d9b5f8428947eae6f8e97c7f33bf44", "", "", "Fortress (Dual Version) (20-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "19e739c2764a5ab9ed08f9095aa2af0b", "Atari, Andrew Fuchs, Jeffrey Gusman, Dave Jolly, Suki Lee", "CX26117", "Obelix (1984) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "19e761e53e5ec8e9f2fceea62715ca06", "Panda", "104", "Scuba Diver (1983) (Panda)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1a23540d91f87584a04f184304a00648", "", "", "Race Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1a613ce60fc834d4970e1e674b9196b3", "Home Vision - Gem International Corp. - VDI", "VCS83135", "Tanks War (1983) (Home Vision) (PAL)", "AKA Phantom Tank", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1a624e236526c4c8f31175e9c89b2a22", "Rainbow Vision - Suntek", "SS-007", "Space Raid (1983) (Rainbow Vision) (PAL) [a]", "AKA MegaMania", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1a8204a2bcd793f539168773d9ad6230", "Atari, Rob Fulop - Sears", "CX2638 - 49-75166", "Missile Command (1981) (Atari) [no initials]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1aa7344b563c597eecfbfcf8e7093c27", "David Marli", "", "Slot Invaders (David Marli) (Hack)", "Hack of Slot Machine", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1b0f3d7af668eeea38ddd6182d8f48fb", "Jone Yuan Telephonic Enterprise Co", "", "Cosmic Swarm (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "1b1daaa9aa5cded3d633bfcbeb06479c", "", "", "Ship Demo (V 1502) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1b22a3d79ddd79335b69c94dd9b3e44e", "Tron", "", "Moon Patrol (Tron)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1b4b06c2a14ed3ee73b7d0fd61b6aaf5", "Arcadia Corporation, Stephen H. Landrum", "AR-4400", "Excalibur (Dragonstomper Beta) (1982) (Arcadia) (Prototype) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1b8c3c0bfb815b2a1010bba95998b66e", "Telegames", "", "Frogs and Flies (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1b8d35d93697450ea26ebf7ff17bd4d1", "Quelle - Otto Versand", "176.764 9 - 781644", "Marineflieger (1983) (Quelle) (PAL)", "AKA Seahawk", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1bb91bae919ddbd655fa25c54ea6f532", "Suntek", "SS-026", "Treasure Island (1983) (Suntek) (PAL)", "AKA Treasure Discovery", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1bc2427ac9b032a52fe527c7b26ce22c", "Intellivision Productions - M Network - APh Technological Consulting, Bruce Pedersen, Larry Zwick", "MT5860", "Sea Battle (1983) (M Network)", "High Seas", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1bef389e3dd2d4ca4f2f60d42c932509", "Dimax - Sinmax", "SM8001", "Space Robot (1983) (Dimax - Sinmax) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "1bf503c724001b09be79c515ecfcbd03", "", "", "Bumper Bash (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1bfae770e089fa81412d04eb299f4c3f", "Thomas Jentzsch", "", "Marble Craze - Atari Mouse Hack v1.0 (NTSC) (TJ)", "Uses Atari Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1c3f3133a3e5b023c77ecba94fd65995", "CCE", "C-830", "Planet Patrol (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1c5796d277d9e4df3f6648f7012884c4", "Rainbow Vision - Suntek", "SS-012", "Hey! Stop! (1983) (Rainbow Vision) (PAL)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1c666ba5aac19b81671357e76062989b", "Nukey Shay, Omegamatrix", "", "Double Dragon (Genesis) (PAL60) V2", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1c6eb740d3c485766cade566abab8208", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1c85c0fc480bbd69dc301591b6ecb422", "CCE", "", "Super Box (CCE)", "AKA RealSports Boxing", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1c8c42d1aee5010b30e7f1992d69216e", "PlayAround - J.H.M.", "205", "Gigolo (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "1cad3b56cc0e6e858554e46d08952861", "Jone Yuan Telephonic Enterprise Co", "", "Chopper Command (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1cafa9f3f9a2fce4af6e4b85a2bbd254", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2659", "Raiders of the Lost Ark (1982) (Atari) (PAL)", "Console ports are swapped", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "1cca2197d95c5a41f2add49a13738055", "Atari, Larry Kaplan - Sears", "CX2664 - 6-99818", "Brain Games (1978) (Atari)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "1cf59fc7b11cdbcefe931e41641772f6", "SEGA", "005-01", "Buck Rogers - Planet of Zoom (1983) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "1d1d2603ec139867c1d1f5ddf83093f1", "Atari, Larry Kaplan - Sears", "CX2602 - 99802, 6-99802, 49-75102", "Air-Sea Battle (1977) (Atari) (4K)", "AKA Target Fun (Anti-Aircraft)", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1d284d6a3f850bafb25635a12b316f3d", "CCE", "", "H.E.R.O. (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1d2a28eb8c95da0d6d6b18294211839f", "", "", "Fishing Derby (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1d4e0a034ad1275bc4d75165ae236105", "20th Century Fox Video Games, Mark Klein", "11034", "Pick Up (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1d5eac85e67b8cff1377c8dba1136929", "", "", "Chronocolor Donkey Kong Sideways (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1d6ed6fe9dfbde32708e8353548cbb80", "Jone Yuan Telephonic Enterprise Co", "", "Super Challenge Baseball (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1d72cc6ee466a4af1b27587b900ed430", "Atari, Omegamatrix", "", "Space Invaders Menu (2020) (Hack)", "Hack of Space Invaders", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1da2da7974d2ca73a823523f82f517b3", "Spectravision - Spectravideo - Sirius Software, David Lubar", "SA-206", "Challenge of.... Nexar, The (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1db3bc4601f22cf43be7ce015d74f59a", "", "", "Ship Demo (V 10) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1e060a8025512ad2127e3da11e212ccc", "Arcadia Corporation, Scott Nelson", "13", "Sweat! - The Decathlon Game (3 of 3) (1983) (Arcadia) (Prototype)", "Uses the Paddle Controllers (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1e0ef01e330e5b91387f75f700ccaf8f", "Quelle - Otto Versand", "686.561 2 - 781627", "Mein Weg (1983) (Quelle) (PAL)", "AKA Challenge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "1e1290ea102e12d7ac52820961457e2b", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (12-15-1983) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "1e272d09c0e55f5ef14fcb76a735f6d7", "Atari, David Crane", "CX26163P", "Slot Machine (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1e31b3a48865ba98d4d1aa5205115983", "Atari - Roklan, Bob Curtiss", "", "Firefox (1983) (Atari) (Prototype)", "AKA Combat II, Fighter Command", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1e587ca91518a47753a28217cd4fd586", "Telesys, Jim Rupp, Jack Woodman", "1001", "Coco Nuts (1982) (Telesys)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1e750000af77cc76232f4d040f4ab060", "Jone Yuan Telephonic Enterprise Co", "", "Raft Rider (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1e85f8bccb4b866d4daa9fcf89306474", "Atari, Lou Harp", "CX26122", "Sinistar (02-13-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1e89f722494608d6ea15a00d99f81337", "", "", "River Raid (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NTSC50", "", "", "" }, + { "1ea1abcd2d3d3d628f59a99a9d41b13b", "Jone Yuan Telephonic Enterprise Co", "", "Stampede (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1ea980574416bfd504f62575ba524005", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2675", "Ms. Pac-Man (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1ec57bbd27bdbd08b60c391c4895c1cf", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26119", "Saboteur (09-02-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1ec5bef77b91e59313cba205f15b06d7", "", "", "Overhead Adventure Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1ede4f365ce1386d58f121b15a775e24", "Parker Brothers, Dave Hampton, Tom Sloper", "931517", "Q-bert (1983) (Parker Bros) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1ee2cfc7d0333b96bd11f7f3ec8ce8bc", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (4 of 4) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1ee9c1ba95cef2cf987d63f176c54ac3", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2675, CX2675P", "Ms. Pac-Man (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1ef04e7e508296a8d9eb61cc7dae2e5d", "SOLID Corp. (D. Scott Williamson)", "CX2655-069", "Star Castle 2600 (SolidCorp) [069]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "1f21666b8f78b65051b7a609f1d48608", "K-Tel Vision", "", "Vulture Attack (1982) (K-Tel Vision)", "AKA Condor Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1f2ae0c70a04c980c838c2cdc412cf45", "Atari - GCC", "CX2698", "Rubik's Cube (1984) (Atari)", "AKA Atari Video Cube", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1f349dd41c3f93c4214e5e308dccb056", "", "", "Virtual Pet Demo 2 (CRACKERS) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1f40eefc7447336ae6cd8ffa5eb325be", "Atari, Chris Crawford", "", "Wizard (1980) (Atari) (Prototype) (4K) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1f562b89d081e36d58e6fc943512ec05", "", "", "Hangman Man Biglist2 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1f5a2927a0b2faf87540b01d9d7d7fd1", "Pet Boat", "", "Tennis (Pet Boat) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1f60e48ad98b659a05ce0c1a8e999ad9", "", "", "Mondo Pong V2 (Piero Cavina) (PD)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "", "", "01", "", "", "", "" }, + { "1f773a94d919b2a3c647172bbb97f6b4", "Atari, Jerome Domurat, Peter C. Niday", "CX26115", "Dumbo's Flying Circus (07-11-1983) (Atari) (Prototype) (PAL)", "AKA Dumbo Flies Home", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1fa58679d4a39052bd9db059e8cda4ad", "Imagic, Dan Oliver", "720118-1A, 03208", "Laser Gates (1983) (Imagic)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1fa7a42c2c7d6b7a0c6a05d38c7508f4", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (09-04-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1fa86282403fa35d103ab88a9d603c31", "SpiceWare - Darrell Spice Jr.", "", "Stay Frosty (SpiceWare) (PAL60)", "Part of Stella's Stocking 2007 Xmas compilation", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "1fab68fd67fe5a86b2c0a9227a59bb95", "20th Century Fox Video Games - Videa, Lee Actor", "", "Lasercade (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "200309c8fba0f248c13751ed4fc69bab", "Jeffry Johnston", "", "Radial Pong - Version 1 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2008c76deba5953201ef75a09b2ff7dc", "", "", "Fortress (21-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "200a9d2a7cb4441ce4f002df6aa47e38", "", "", "Doomzerk (PD) (Hack)", "Hack of Berzerk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2016726db38ad6a68b4c48ba6fe51557", "Piero Cavina, Erik Mooney", "", "INV 2 (Piero Cavina, Erik Mooney)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "203049f4d8290bb4521cc4402415e737", "Tigervision, Robert H. O'Neil - Teldec", "7-007 - 3.60005 VG", "Polaris (1983) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "203abb713c00b0884206dcc656caa48f", "Imagic, Bob Smith", "720114-1A, 03207, IZ-001-04", "Moonsweeper (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "203b1efc6101d4b9d83bb6cc1c71f67f", "Quelle", "685.996 1", "Teller-Jonglieren! (1983) (Quelle) (PAL)", "AKA Dancing Plate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "205070b6a0d454961dd9196a8e81d877", "", "", "Hangman Monkey Biglist2 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2058cf3fefad4d2bc03ed817cedddcd4", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2091af29b4e7b86914d79d9aaa4cbd20", "CBS Electronics - Woodside Design Associates, Harley H. Puthuff Jr.", "4L1802", "Donkey Kong Junior (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "20ae62fb69c6cc6e8098cca8cd080487", "Zirok", "", "Tennis (Zirok)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "20d4457ba22517253fcb62967af11b37", "Atari, Eric Manghise, Mimi Nyden, Joseph Tung", "CX2640", "RealSports Baseball (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "20dca534b997bf607d658e77fbb3c0ee", "Mythicon, Bill Bryner, Bruce de Graaf", "MA1002", "Fire Fly (1983) (Mythicon)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "20edcc3aa6c189259fa7e2f044a99c49", "Spectravision - Spectravideo", "SA-201", "Gangster Alley (1982) (Spectravision) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "211774f4c5739042618be8ff67351177", "Atari - GCC, Mark Ackerman, Tom Calderwood, Glenn Parker", "CX2684", "Galaxian (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "211f76dff0b7dad3f6fcac9d938ee61a", "JSK", "", "Custer's Viagra (JSK) (Hack) [a]", "Hack of Custer's Revenge", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "211fbbdbbca1102dc5b43dc8157c09b3", "Apollo", "AP-2009", "Final Approach (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2124cf92978c46684b6c39ccc2e33713", "", "", "Sea Monster (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "21299c8c3ac1d54f8289d88702a738fd", "K-Tel Vision", "", "Spider Maze (1982) (K-Tel Vision)", "AKA Spider Kong", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "212d0b200ed8b45d8795ad899734d7d7", "Atari, Richard Maurer, Christopher H. Omarzu - Coca Cola", "", "Pepsi Invaders (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "213e5e82ecb42af237cfed8612c128ac", "Sancho - Tang's Electronic Co.", "TEC006", "Forest (1983) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2162266b906c939b35c84ff9a0f50ad1", "Atari, Larry Kaplan", "CX2664, CX2664P", "Brain Games (1978) (Atari) (PAL) (4K)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "2179dfd7edee76efafe698c1bc763735", "", "", "Yellow Submarine (Cody Pittman) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "217b1452881264ac75126bf77b8d0db8", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (NTSC) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "218b76f5a4142dc2ea9051a768583d70", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2684, CX2684P", "Galaxian (1983) (Atari) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "218c0fe53dfaaa37f3c823f66eafd3fc", "Atari, Alan Miller", "CX2624, CX2624P", "Basketball (1978) (Atari) (PAL)", "Console ports are swapped", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "21a96301bb0df27fde2e7eefa49e0397", "Data Age", "DA1003", "Sssnake (1982) (Data Age)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "21b09c40295c2d7074a83ae040f22edf", "", "", "Marble Craze (V0.90) (Easy Version) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "21d2c435bcccde7792d82844b3cf60f4", "Atari - GCC, Doug Macrae", "CX2677, CX2677P", "Dig Dug (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "21d7334e406c2407e69dbddd7cec3583", "Activision, Bob Whitehead", "AG-011", "Stampede (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2228c67d25e507603d4873d3934f0757", "", "", "Fu Kung! (V0.10) (28-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "22319be7a640af5314ec3c482cceb676", "", "", "Joustpong (05-07-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2240655247d6de1c585564004a853ab7", "", "", "Fu Kung! (V0.17) (07-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "225522777dc7155627808bde0c1d0ef0", "", "", "This Planet Sucks Demo 1 (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "22675cacd9b71dea21800cbf8597f000", "Atari, David Crane", "CX2605, CX2605P", "Outlaw (1978) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "227532d82505c3c185a878273c285d5f", "", "", "Hangman Man Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "22abbdcb094d014388d529352abe9b4b", "Apollo", "AP-2012", "Squoosh (1983) (Apollo) (Prototype) [a]", "AKA Vat's Incredible!, The Grape Escape", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "22b22c4ce240303012e8a9596ae8d189", "", "", "Skeleton+ (03-05-2003) (Eric Ball) (PAL)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "22f6b40fc82110d68e50a1208ae0bb97", "", "", "Purple Bar Demo (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2319922df4d0c820b3e5f15faa870cc3", "Atari - GCC, Mike Feinstein", "CX2681, CX2681P", "Battlezone (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2327456f86d7e0deda94758c518d05b3", "Digitel", "", "Mr. Postman (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2351d26d0bfdee3095bec9c05cbcf7b0", "", "", "Warring Worms (19-01-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2353725ec98e0f0073462109e886efd7", "Champ Games", "CG-03-P", "Scramble (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "", "", "YES", "" }, + { "235436ab0832370e73677c9c6f0c8b06", "", "", "Beast Invaders (Double Shot) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2365e1534d67f94d8670394ab99150ce", "Thomas Jentzsch", "", "Missile Command (Atari Mouse) (2002) (TJ)", "Uses Atari ST Mouse Controller", "Homebrew", "", "", "", "", "", "", "", "ATARIMOUSE", "ATARIMOUSE", "", "", "", "", "", "", "YES", "" }, + { "23d445ea19a18fb78d5035878d9fb649", "CBS Electronics - JWDA, Sylvia Day, Todd Marshall, Henry Will IV", "4L1818, 4L1819, 4L1820, 4L1821", "Mouse Trap (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "23e4ca038aba11982e1694559f3be10f", "", "", "Big Dig (V3) (20-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "23fad5a125bcd4463701c8ad8a0043a9", "CCE", "C-840", "Stone Age (1983) (CCE)", "Uses the Joystick Controllers (swapped)", "", "", "", "", "A", "A", "", "YES", "", "", "", "", "", "", "", "", "YES", "" }, + { "240bfbac5163af4df5ae713985386f92", "Activision, Steve Cartwright", "AX-022", "Seaquest (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2432f33fd278dea5fe6ae94073627fcc", "CBS Electronics, Tom DiDomenico", "4L2477, 4L2482, 4L2485, 4L4171", "Blueprint (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2434102f30eeb47792cf0825e368229b", "Sparrow - Enter-Tech, Paul Walters, Rick Harris, George Hefner, Barbara Ultis", "", "Arkyology (1983) (Sparrow) (Prototype)", "ROM must be started in bank 0", "Prototype", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "24385ba7f5109fbe76aadc0a375de573", "CCE", "", "Xevious (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2447e17a4e18e6b609de498fe4ab52ba", "CCE", "", "Super Futebol (CCE)", "AKA RealSports Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "244c6de27faff527886fc7699a41c3be", "", "", "Matt Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2450dfa1df70d12b60683185775efed8", "Jeffry Johnston", "", "Radial Pong - Version 7 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "24544ee5d76f579992d9522e9b238955", "Carrere Video - Western Technologies, Jeff Corsiglia, David Johnson, Tom Sloper - Teldec - Prism", "USC2004", "Picnic (1983) (Carrere Video) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, + { "245f07c8603077a0caf5f83ee6cf8b43", "Home Vision - Thomas Jentzsch", "", "Parachute (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "24759be31e8fe55d2829fd86bdf3181f", "Hozer Video Games", "", "Gunfight 2600 - Worst Nightmare... (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "247fa1a29ad90e64069ee13d96fea6d6", "CCE", "C-867", "Radar (1983) (CCE)", "AKA Exocet", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "248668b364514de590382a7eda2c9834", "CBS Electronics, Richard K. Balaska Jr., Bob Curtiss, Alex Leavens, Alex Nevelson", "", "Kick-Man (01-08-82) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2496d404bfc561a40a80bea6a69695c3", "CCE", "C-1007", "Jungle Hunt (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "24ad538291eb5f5cac4b9998f3b851c3", "", "", "Gunfight 2600 - This time it's your decission! (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "24aff972d58990f9b88a6d787c796f1e", "CBS Electronics", "4L1767, 4L1768, 4L1769, 4L1770", "Smurf (1982) (CBS Electronics) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "24b5f4bbdb853eca38ea0cae2dfe73a1", "", "", "Home Run (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "24b9adac1b4f85b0bac9bf9b9e180906", "Angelino", "", "Space 2002 (Angelino) (Hack)", "Hack of Space Jockey", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "24d018c4a6de7e5bd19a36f2b879b335", "Activision, Larry Miller", "AX-021", "Spider Fighter (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "24d9a55d8f0633e886a1b33ee1e0e797", "Thomas Jentzsch", "", "Dragon Defender (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "24df052902aa9de21c2b2525eb84a255", "Imagic, Dennis Koble", "720000-100, 720100-1B, IA3000, IA3000C", "Trick Shot (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "24fbf8250a71611e40ef18552e61b009", "", "", "Movable Grid Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2516f4f4b811ede4ecf6fbeb5d54a299", "Quelle", "701.134 9", "Schiessbude (1983) (Quelle) (PAL)", "AKA Carnival", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2517827950fee41a3b9de60275c8aa6a", "Atari", "CX26163P", "Fishing (32 in 1) (1988) (Atari) (PAL)", "AKA Fishing Derby", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "25265d0e7f88b3026003809f25ee025e", "Atari - GCC, Ava-Robin Cohen", "CX26123", "Jr. Pac-Man (1984) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "25472dfdeef6a42581a231d631d6b04d", "", "", "Gunfight 2600 - Design thoughts (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "25710bde8fa181b0c5cf0846b983bec1", "", "", "Demo Image Series #15 - Three Marios (NTSC) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "257bc3b72a6b5db3fd0d47619125b387", "CBS Electronics", "4L 2737 0000", "Omega Race (1983) (CBS Electronics) [a]", "Set right difficulty to 'A' for BoosterGrip in both ports", "", "", "", "", "", "", "", "", "BOOSTERGRIP", "BOOSTERGRIP", "", "", "", "", "", "", "", "" }, + { "25a21c47afe925a3ca0806876a2b4f3f", "Quelle", "685.640 5", "Der kleine Baer (1983) (Quelle) (PAL)", "AKA Frostbite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "25b52bf8dd215bcbd59c9abdb55c44f8", "Atari - GCC, Betty Ryan Tylko, Doug Macrae", "CX2694, CX2694P", "Pole Position (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "25b6dc012cdba63704ea9535c6987beb", "Avalon Hill, Jean Baer, Bill Hood", "5004002", "Shuttle Orbiter (1983) (Avalon Hill)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "25bb080457351be724aac8a02021aa92", "CBS Electronics", "4L1784, 4L1786, 4L1787, 4L2277", "Zaxxon (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "25d4be3309b89583c6b39d9f93bf654f", "Activision, Bob Whitehead", "AX-015, AX-015-04", "Chopper Command (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "25e73efb9a6edf119114718bd2f646ba", "Atari, Suki Lee", "CX26113", "Miss Piggy's Wedding (1983) (Atari) (Prototype) (4K) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "25f2e760cd7f56b88aac88d63757d41b", "Activision, Bob Whitehead - Ariola", "EAG-002, EAG-002-04I, PAG-002 - 711 002-715", "Boxing (1980) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "25f879ff678130fea615ac418e7943f1", "Activision, Garry Kitchen", "EAX-025", "Keystone Kapers (1983) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "25f9cf703575c5d63048c222f5463758", "", "", "Multi-Sprite Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "260c787e8925bf3649c8aeae5b97dcc0", "Thomas Jentzsch", "", "Hell Driver (Thomas Jentzsch)", "NTSC Conversion, joystick ports swapped", "Homebrew", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "262ccb882ff617d9b4b51f24aee02cbe", "Atari, Douglas Neubauer", "CX26154, CX26154P", "Super Football (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "265a85f66544eaf95fda06c3d9e48abf", "", "", "Tunnel Demo (Cycling Colours) (29-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "265c74a956500bd31efd24adc6d5ccf6", "Activision, Larry Miller", "AX-026, AX-026-04", "Enduro (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2683d29a282dd059535ac3bb250f540d", "", "", "Space Treat (12-01-2003) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "268f46038e29301568fa9e443e16e960", "Atarius Maximum", "", "Pitfall Unlimited (Atarius Maximus) (Hack)", "Hack of Pitfall", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "26bc2bdf447a17376aea7ef187ff6e44", "", "", "Amanda Invaders (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "26f4f8b098609164effef7809e0121e1", "", "", "Oystron (V2.7) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "270229c6d5578446e6a588492e4e5910", "", "", "Space Invaders 2 (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2712e91f6f1dc55e90e2b14b27c042ac", "Omegamatrix", "", "SpaceMaster X-7 (Amiga Mouse) (PAL60) (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "271bfd5dc2673d382019f1fb6cab9332", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (Preview) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "273ce50db5a0d6da7ea827a54f44dee9", "", "", "Island Flyer Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "274d17ccd825ef9c728d68394b4569d2", "Playaround - J.H.M.", "202", "Bachelorette Party (1982) (Playaround)", "AKA Bachelor Party, Uses the paddle controllers", "Extremely Rare", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "AUTO 65", "", "", "YES", "" }, + { "277c7281ac945b8331e2e6fcad560c11", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (2 of 3) (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "277cca62014fceebb46c549bac25a2e3", "Activision, Bob Whitehead", "AG-002, CAG-002, AG-002-04", "Boxing (1980) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "277fa4b9a6bb7a8dcea2c5f38a4c25f0", "Atari, Alan J. Murphy, Robert Zdybel", "CX2668", "RealSports Football (1982) (Atari) (Prototype)", "AKA Football II", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "278155fc9956e9b6ef2359eb238f7c7f", "", "", "Donkey Kong Junior (Unknown) (Hack)", "Hack of Donkey Kong Junior", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2783006ee6519f15cbc96adae031c9a9", "Telegames", "", "Night Stalker (1989) (Telegames) (PAL) [a]", "AKA Dark Cavern", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "278531cc31915747018d22145823d2c9", "", "", "Defender MegaDrive (PAL) (Genesis)", "Genesis controller (C is smartbomb)", "Hack of Defender", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "278f14887d601b5e5b620f1870bc09f6", "Thomas Jentzsch", "", "SWOOPS! (v0.96) (TJ)", "Uses the Joystick (L) and Paddle (R) Controllers", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "27a5d2d0c74c8e4b2c05b94c9f098eea", "Atari, Omegamatrix", "", "Video Olympics Menu (2020) (PAL60) (Hack)", "Hack of Video Olympics", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "AUTO 60", "", "", "", "" }, + { "27baecd618e7e53dc11f2a9c559f529d", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) v4 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "27c4c2af4b46394bb98638af8e0f6e9d", "Atari, Jerome Domurat, Peter C. Niday, Robert Vieira", "CX26109", "Sorcerer's Apprentice (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "27c6a2ca16ad7d814626ceea62fa8fb4", "Parker Brothers, Mark Lesser", "PB5590", "Frogger II (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "27f9e2e1b92af9dc17c6155605c38e49", "CCE", "", "Nightmare (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2808dc745ff4321dc5c8122abef6711f", "Retroactive", "", "Qb (2.11) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "28148a52b1955ce12c7a74d3a3e620a4", "CCE", "", "Freeway (CCE) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "281ff9bd0470643853de5cbd6d9e17f5", "Eckhard Stolberg", "", "Cubis (EM) (1997) (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2823364702595feea24a3fbee138a243", "Bit Corporation", "PG206", "Bobby Is Going Home (1983) (BitCorp) (PAL)", "AKA Bobby geht Heim", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2825f4d068feba6973e61c84649489fe", "", "", "Boom Bang (Unknown) (PAL)", "AKA Crackpots", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "282a77841cb3d33af5b56151acba770e", "Otto Versand", "311388", "Black Hole (1983) (Otto Versand) (PAL)", "AKA Cosmic Ark (Double-Game Package)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "283cb03ee031c842beabdad1aa4e7dbc", "Bit Corporation", "R320", "Demon Attack (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "283dee88f295834c4c077d788f151125", "Retroactive", "", "Qb (2.11) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "284ca61b2407bdba3938048b0a559015", "Atari, Tod Frye", "CX2695", "Xevious (05-25-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2854e5dfb84173fafc5bf485c3e69d5a", "Canal 3 - Intellivision", "C 3004", "Moon Patrol (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2880c6b59bd54b153174676e465167c7", "Tron", "", "Donkey Kong Jr. (Tron)", "AKA Donkey Kong Junior", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "28a2bea8f84936cb2e063f857414cda0", "Thiago Paiva", "", "Mega Mania Raid (1999) (Thiago Paiva) (Hack)", "Hack of Megamania", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "28a4cd87fb9de4ee91693a38611cb53c", "", "", "Skeleton (V1.1) (NTSC) (24-10-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "28d5df3ed036ed63d33a31d0d8b85c47", "Bit Corporation", "PG204", "Open, Sesame! (1983) (BitCorp) (PAL)", "AKA Sesam, Offne Dich", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2903896d88a341511586d69fcfc20f7d", "Activision, David Crane", "AX-014, AX-014-04", "Grand Prix (1982) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "291bcdb05f2b37cdf9452d2bf08e0321", "Atari", "CX26163P", "32 in 1 Game Cartridge (1988) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "32IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "291cc37604bc899e8e065c30153fc4b9", "Activision, Carol Shaw", "AX-020, AX-020-04", "River Raid (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "291dd47588b9158beebe4accc3a093a6", "Atari", "", "32 in 1 Console ROM (02-10-1989) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "32IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "292a0bb975b2587f9ac784c960e1b453", "", "", "Qb (05-02-2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "292f2446a0325b7b423e88a2ebfeb5a0", "", "", "Cube Conquest (Non Interlaced) (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "29396db58406084e416032c372734a3e", "", "", "Gunfight 2600 - Fixed Beta Release! (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2942680c47beb9bf713a910706ffabfe", "", "", "Blue Line Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "294762000e853b4319f9991c1ced5dfc", "", "", "T.F. Space Invaders (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "295f3679bdf91ca5e37da3f787b29997", "", "", "Exorcise (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "29630a20d356fb58685b150bfa8f00c3", "M Network, Kevin Miller", "MT5687", "International Soccer (1982) (Mattel) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "297236cb9156be35679f83c4e38ee169", "Exus Corporation", "", "Video Reflex (1983) (Exus) [no roman numbers]", "AKA Foot Craz (no roman numbers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "297c405afd01f3ac48cdb67b00d273fe", "Atari - GCC, Ava-Robin Cohen", "CX26123, CX26123P", "Jr. Pac-Man (1986) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2982e655dffc89d218a0a3072cfc6811", "", "", "Mini Golf 812631 (Hack)", "Hack of Miniature Golf", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "298387b0637173d2002770a649b4fbca", "", "", "S.I.PLIX 2 (Hack) [a]", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "29843f43b81f3736bf35c00b1bb88fb2", "Gray Games & AtariAge", "", "E.T. Book Cart (NTSC)", "Charles F. Gray & Michael Rideout", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "55" }, + { "29949f893ef6cb9e8ecb368b9e99eee4", "Erik Eid", "", "Euchre (Alpha) (NTSC) (31-08-2002) (Erik Eid)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "29dfa26b7988af9984d617708e4fc6e2", "", "", "Boulderdash Demo (05-04-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2a0ba55e56e7a596146fa729acf0e109", "Activision, Bob Whitehead", "AG-019", "Sky Jinks (1982) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2a10053fd08664c7cfbbb104386ed77f", "", "", "Alpha Demo - The Beta Demo (2000) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2a1b454a5c3832b0240111e7fd73de8a", "Tigervision, Bill Hogue", "7-011", "Miner 2049er Volume II (1983) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2a2f46b3f4000495239cbdad70f17c59", "CommaVid, John Bronstein - Ariola", "CM-003 - 712 003-720", "Cosmic Swarm (1982) (CommaVid) (PAL)", "AKA Angriff der Termiten", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2a33e21447bf9e13dcfed85077ff6b40", "", "", "Backwards Cannonball v2 (Hack)", "Hack of Human Cannonball", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2a360bc85bf22de438651cf92ffda1de", "Bit Corporation", "PGP213", "Spy Vs. Spy (4 Game in One) (1983) (BitCorp) (PAL)", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2a9f9001540c55a302befd8e9d54b47b", "Atari, Dan Hitchens", "CX2697, CX2697P", "Mario Bros. (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2aa5e56d36c2e58b6f2856109f2099a9", "Atari, Larry Kaplan - Sears", "CX2628 - 6-99842, 49-75117", "Bowling (1979) (Atari) (4K) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2aba6a1b01a5859e96d6a66d2286772f", "Activision, Steve Cartwright", "AX-027", "Plaque Attack (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2abc3d46b3f2140160759e2e10bc86d9", "", "", "Gunfight 2600 - Beta Release! (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2ac3a08cfbf1942ba169c3e9e6c47e09", "Activision, Dan Kitchen", "EAK-046-04B", "Fighter Pilot (1988) (Activision) (PAL)", "AKA Tomcat - The F-14 Fighter Simulator", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2ae700c9dba843a68dfdca40d7d86bd6", "TechnoVision - Thomas Jentzsch", "", "Pharaoh's Curse (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2aeedcc6eb1602efb77161b0cef832ab", "SOLID Corp. (D. Scott Williamson)", "CX2655-025", "Star Castle 2600 (SolidCorp) [025]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2b1589c7e1f394ae6a1c046944f06688", "Carrere Video - JWDA, Todd Marshall, Robin McDaniel, Wes Trager, Henry Will IV - Teldec - Prism", "USC2003", "Eggomania (1983) (Carrere Video) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "", "" }, + { "2b27eb194e13f3b38d23c879cc1e3abf", "Quelle", "402.272 9", "Super-Ferrari (1983) (Quelle) (PAL)", "AKA Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2b42da79a682ed6e2d735facbf70107e", "", "", "DKjr Improved (Hack)", "Hack of Donkey Kong Jr.", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2b430c00dc79e495762ac59b2f9b4fcd", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1982) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2b71a59a53be5883399917bf582b7772", "Greg Troutman", "", "Dark Mage (final beta) (Greg Troutman) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2ba02f509a4991aa176ba8d9e540df3d", "Atari, Mark R. Hahn", "CX2678", "Dukes of Hazzard (1983) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2bb0a1f1dee5226de648eb5f1c97f067", "Robby", "", "Enduro (Robby)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2bb9f4686f7e08c5fcc69ec1a1c66fe7", "Atari - GCC, John Allred, Mike Feinstein", "CX2688", "Jungle Hunt (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2bc26619e31710a9884c110d8430c1da", "Atari, Bob Whitehead", "CX2652, CX2652P", "Casino (1979) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "", "", "" }, + { "2bc6c53b19e0097a242f22375a6a60ff", "", "", "Droid Demo 2 (David Conrad Schweinsberg) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2bee7f226d506c217163bad4ab1768c0", "Xonox - K-Tel Software - Beck-Tech, Steve Beck", "6210, 06002, 06004, 99002", "Ghost Manor (1983) (Xonox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2bf34b6ad7d2317a2d0808b3fb93571b", "", "", "Easy Playfield Graphics (1997) (Chris Cracknell)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2c0dc885d5ede94aa664bf3081add34e", "", "", "Earth Dies Screaming, The (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2c29182edf0965a7f56fe0897d2f84ba", "Atari - Axlon, Steve DeFrisco", "CX26192", "Klax (08-18-1990) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2c2aea31b01c6126c1a43e10cacbfd58", "Paul Slocum", "", "Synthcart (2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2c3b2843295c9d6b16996971180a3fe9", "HES - Activision", "", "Sports Action Pak - Enduro, Ice Hockey, Fishing Derby, Dragster (1988) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2c3b9c171e214e9e46bbaa12bdf8977e", "Bit Corporation", "R320", "Othello (32 in 1) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2c45c3eb819a797237820a1816c532eb", "Atari", "CX26163P", "Boxing (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2c8835aed7f52a0da9ade5226ee5aa75", "Arcadia Corporation, Stephen H. Landrum", "AR-4101", "Communist Mutants from Space (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2c8c11295d8613f875b7bcf5253ab9bb", "Fabrizio Zavagli", "", "Kool Aid Man (PAL Conversion) (16-11-2002) (Fabrizio Zavagli) (PAL60)", "PAL60 Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2c9fadd510509cc7f28f1ccba931855f", "", "", "Hangman Invader Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2ca6445204ffb7686ddee3e33ba64d5b", "Alex Herbert", "", "AtariVox Test ROM", "Uses the AtariVox controller", "", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "", "", "", "" }, + { "2cb42cf62b2f25f59f909b5447821b14", "Atari, Christopher H. Omarzu - Children's Computer Workshop", "CX26104", "Big Bird's Egg Catch (1983) (Atari) (PAL) [a]", "Uses Kids/Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "2cc3049b7feb8e92f1870f1972629757", "Video Soft", "", "Atom Smasher (1984) (Video Soft) (Prototype) [stack pointer fix]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2cccc079c15e9af94246f867ffc7e9bf", "PlayAround - J.H.M.", "203", "Jungle Fever (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2cefa695df2ed020899a7df7bb1e3a95", "Manuel Polik, Fabrizio Zavagli", "", "A-Team (2002) (Manuel Polik) (Hack)", "Hack of A-Team", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2cf20f82abcae2decff88db99331e071", "Activision, Mike Lorenzen", "AX-023", "Oink! (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2cfb188c1091cc7ec2a7e60064d2a758", "", "", "Space Invaders Hack Demo (2003) (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d15b092e8350912ec4b2e5e750fa1c6", "Wizard Video Games, Bob Davis, Robert H. O'Neil", "", "Texas Chainsaw Massacre, The (1982) (Wizard Video Games) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d16a8b59a225ea551667be45f554652", "Quelle", "802.744 3", "Der Geheimkurier (1983) (Quelle) (PAL)", "AKA Mr. Postman", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d1cf85fbc732856bf76470cd4060f4a", "", "", "Daredevil (V1) (Stunt_Cycle_Rules!) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d2c5f0761e609e3c5228766f446f7f8", "Atari - Axlon, Steve DeFrisco", "CX26170, CX26170P", "Secret Quest (1989) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d33a44e82f88d05f6c50577218c0cae", "AtariAge - Michael Haas", "RC2", "Flappy (2014) (AtariAge)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d38a96f92952b301eefdf25a5e6976b", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) (Y_Inverted) v4 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d405da70af82b20a6b3ecc3d1d2c4ec", "Genus", "", "Pitfall (Genus)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d6388a8389f1d59108fd169c3356d79", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (NTSC) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d63b452f897818c52b3fceeb080a4d0", "HES - Absolute Entertainment", "", "Pete Rose Baseball (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d6741cda3000230f6bbdd5e31941c01", "CBS Electronics - VSS", "80110", "Targ (1983) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d69a5f23784f1c2230143292a073b53", "", "", "Qb (Fixed background animation) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2d6da0eb85eabc93270e5bb8a466ca51", "", "", "Sprite Demo 7 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d76c5d1aad506442b9e9fb67765e051", "Apollo - Games by Apollo, Larry Minor, Ernie Runyon, Ed Salvo", "AP-2004", "Lost Luggage (1982) (Apollo) [no opening scene]", "AKA Airport Mayhem", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d9e5d8d083b6367eda880e80dfdfaeb", "QDI, Mike Montana, Rich Montana - Selchow & Righter", "87", "Glib (1983) (QDI)", "AKA Video Word Game", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2d9e65959808a6098c16c82a59c9d9dc", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (1 of 3) (1982) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2dbc92688f9ba92a7e086d62be9df79d", "", "", "How to Draw a Playfield (1997) (Jim Crawford) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2dbdca3058035d2b40c734dcf06a86d9", "Thomas Jentzsch", "", "Asteroids DC+ (Thomas Jentzsch) (Hack)", "Uses the Joystick (left) or Driving (right) Controller", "Hack", "", "", "", "", "", "", "", "", "DRIVING", "", "", "", "58", "", "", "YES", "" }, + { "2dcf9ce486393cd36ca0928cd53b96cb", "Atari - GCC, Mike Feinstein, John Allred", "CX2688, CX2688P", "Jungle Hunt (1983) (Atari) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2de41a11c6767e54a5ee9ebaffec72af", "Gray Games & AtariAge", "", "E.T. Book Cart (PAL60)", "Charles F. Gray & Michael Rideout", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "55" }, + { "2dfec1615c49501fefc02165c81955e6", "", "", "Song (05-11-2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2e0aed5bb619edcefa3fafb4fbe7c551", "", "", "Qb (2.06) (Retroactive) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2e2acef8513edcca991e7e5149412e11", "Parker Brothers, Larry Gelberg, Gary Goltz", "PB5065", "Star Wars - Ewok Adventure (1983) (Parker Bros) (Prototype) (16K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2e3728f3086dc3e71047ffd6b2d9f015", "Atari, David Crane", "CX26163P", "Outlaw (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2e5b184da8a27c4d362b5a81f0b4a68f", "Atari", "", "Rabbit Transit (08-29-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2e663eaa0d6b723b645e643750b942fd", "Atari, Tom Rudadahl - Sears", "CX2634 - 49-75121", "Golf (1980) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2e7e9c6dcfcceaffc6fa73f0d08a402a", "CCE", "C-818", "Star Voyager (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2e82a1628ef6c735c0ab8fa92927e9b0", "Atari, Jerome Domurat, Peter C. Niday, Robert Vieira", "CX26109", "Sorcerer's Apprentice (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2e842c2ee22e9dad9df16eed091315c4", "HES", "701-157", "2 Pak Special - Moto-cross, Boom Bang (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2eaf8fa9e9fdf1fcfc896926a4bdbf85", "Arcadia Corporation, Stephen H. Landrum", "AR-4400", "Excalibur Version 39 (Dragonstomper Beta) (1982) (Arcadia) (Prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2ec6b045cfd7bc52d9cdfd1b1447d1e5", "Activision, David Crane - Ariola", "EAG-009, PAG-009 - 711 009-720", "Freeway (1981) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2eda6a49a49fcb2b674ea9e160b6a617", "Kyle Pittman", "", "Rambo in Afghanistan (Kyle Pittman) (Hack)", "Hack of Riddle of the Sphinx", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2ef36341d1bf42e02c7ea2f71e024982", "", "", "Space Invaders (Explosion Hack)", "Hack of Space Invaders (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2f0546c4d238551c7d64d884b618100c", "SEGA, Jeff Lorenz", "", "Ixion (1984) (SEGA) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2f0a8bb4e18839f9b1dcaa2f5d02fd1d", "CCE", "", "Super Futebol (CCE) [a]", "AKA RealSports Football", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2f11ba54609777e2c6a5da9b302c98e8", "Atari - GCC", "CX2676", "Centipede (1982) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2f16663b01591539624d0ef52934a17d", "M Network", "", "Rocky and Bullwinkle", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2f2f9061398a74c80420b99ddecf6448", "Rentacom - Brazil", "", "Bobby Is Going Home (Rentacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2f66ebf037321ed0442ac4b89ce22633", "Baroque Gaming (Brian Eno)", "", "Warring Worms (Beta 2) (2002) (Baroque Gaming)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2f7772879a1ed04f660aa9d77a86a4bd", "", "", "Yars' Revenge (Genesis)", "Genesis controller (C is zorlon cannon)", "Hack of Yars' Revenge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "2f77f015fc880b05f28e84156f989a0c", "", "", "Plane Demo (Gonzalo) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2f7949f71076db42480d3f5036b4a332", "", "", "Name This Game (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "2facd460a6828e0e476d3ac4b8c5f4f7", "Sancho - Tang's Electronic Co.", "", "Words-Attack (1983) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3025bdc30b5aec9fb40668787f67d24c", "", "", "Demo Image Series #14 - Two Marios (4K Interleaved Chronocolour Vertical Movement) (05-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "303242c239474f2d7763b843de58c1c3", "CCE", "", "Laser Blast (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "304512528a5530a9361e8a231ed9a6de", "Thomas Jentzsch", "", "River Raid Plus (Thomas Jentzsch) (Hack)", "Hack of River Raid", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "30512e0e83903fc05541d2f6a6a62654", "Atari, Jim Huether - Sears", "CX2644 - 6-99824", "Flag Capture (1978) (Atari)", "AKA Capture the Flag", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "30516cfbaa1bc3b5335ee53ad811f17a", "Wizard Video Games - MicroGraphic Image, Robert Barber, Tim Martin", "007", "Halloween (1983) (Wizard Video Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3051b6071cb26377cd428af155e1bfc4", "Atari, David Crane - Sears", "CX2607 - 6-99828, 49-75115", "Canyon Bomber (1979) (Atari) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "YES", "", "", "10", "", "", "", "" }, + { "30685b9b6ebd9ba71536dd7632a1e3b6", "Dactari - Milmar", "", "Tennis (Dactari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3091af0ef1a61e801f4867783c21d45c", "CCE", "C-862", "Crackpots (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "30997031b668e37168d4d0e299ccc46f", "", "", "John K Harvey's Equalizer (PAL) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "30c92c685224dc7a72b9bbe5eb62d004", "", "", "Hangman Monkey Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "30e012e8d50330c8972f126b8e913bc4", "", "", "Indy 500 (Hack) [a2]", "Hack of Indy 500", "Hack", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "", "", "", "", "" }, + { "30e0ab8be713208ae9a978b34e9e8e8c", "Atari, Mike Lorenzen", "CX2630, CX2630P", "Circus Atari (1980) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 55", "", "", "", "" }, + { "30f0b49661cfcfd4ec63395fab837dc3", "SEGA, Jeff Lorenz - Teldec", "004-01", "Star Trek - Strategic Operations Simulator (1983) (SEGA) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3105967f7222cc36a5ac6e5f6e89a0b4", "SEGA, Jeff Lorenz", "011-01, 011-02", "Spy Hunter (1984) (SEGA)", "Uses Joystick Coupler (Dual Control Module)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "310ba30e25ea8957e58180b663503c0c", "Ed Federmeyer", "", "Sound X6 (1994) (Ed Federmeyer)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "31235a27b065c2863048fa84db330dc6", "Thomas Jentzsch", "", "Missile Control - Amiga Mouse Hack v1.15 (PAL) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "313243fc41e49ef6bd3aa9ebc0d372dd", "", "", "Fast Food (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "31512cdfadfd82bfb6f196e3b0fd83cd", "Tigervision", "7-004", "River Patrol (1984) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3177cc5c04c1a4080a927dfa4099482b", "Atari - Imagineering, Alex DeMeo", "CX26135", "RealSports Boxing (1987) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "317a4cdbab090dcc996833d07cb40165", "Goliath - Hot Shot", "83-312", "Missile War (1983) (Goliath) (PAL)", "AKA Astrowar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "318046ae3711c05fd16e479b298e5fcc", "Retroactive", "", "Qb (V2.08) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "318a9d6dda791268df92d72679914ac3", "Activision, Steve Cartwright", "AX-017, AX-017-04", "MegaMania (1982) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "319a142aab6260842ab616382848c204", "", "", "Marble Craze (05-02-2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "31bb9b8ceed46cb3e506777a9e65f3ce", "Bit Corporation", "", "4 Game in One Light Green (1983) (BitCorp) (PAL)", "Phantom UFO, Ice Hockey, Cosmic Avenger, Spy Vs. Spy", "", "", "", "4IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "31c5fd55a39db5ff30a0da065f86c140", "Dactari - Milmar", "", "Enduro (Dactari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "31d08cb465965f80d3541a57ec82c625", "Atari, Alan Miller - Sears", "CX2641 - 99807, 49-75105", "Surround (1977) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "31df1c50c4351e144c9a378adb8c10ba", "Quelle", "687.463 0", "Die Ratte und die Karotten (1983) (Quelle) (PAL)", "AKA Gopher", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "31e518debba46df6226b535fa8bd2543", "Atari, Douglas 'Solaris' Neubauer, Mimi Nyden", "CX26134", "Last Starfighter (1984) (Atari) (Prototype)", "Solaris Beta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "31f4692ee2ca07a7ce1f7a6a1dab4ac9", "Atari, Alan Miller", "CX2642", "Game of Concentration (1980) (Atari) (4K)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "31fcbce1cfa6ec9f5b6de318e1f57647", "Atari, Jerome Domurat, Peter C. Niday", "CX26115", "Dumbo's Flying Circus (1983) (Atari) (Prototype) (PAL)", "AKA Dumbo Flies Home", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "32199271dc980eb31a2cc96e10a9e244", "", "", "Radial Pong - Version 12 (Jeffry Johnston) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "321c3451129357af42a375d12afd4450", "Atari - Imagineering, Dan Kitchen", "CX26177", "Ikari Warriors (1991) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "32244e55ce6ec6bfbd763f33384bdc2e", "Activision, Steve Cartwright", "AX-027", "Plaque Attack (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3225676f5c0c577aeccfaa7e6bedd765", "CCE", "C-1002", "Pole Position (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "322b29e84455aa41e7cc9af463bffa89", "Atari - Bobco, Robert C. Polaro", "CX2663", "Road Runner (06-25-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "324cb4a749bcac4f3db9da842b85d2f7", "Dennis Debro", "", "Climber 5 (01-05-2003) (Dennis Debro)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "327468d6c19697e65ab702f06502c7ed", "Charles Morgan", "", "Aster-Hawk (2002) (Charles Morgan) (Hack)", "Hack of Asteroids", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3276c777cbe97cdd2b4a63ffc16b7151", "Atari - GCC, Mike Feinstein, Kevin Osborn", "CX2691", "Joust (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3278158e5c1f7eb5c5d28ccfd7285250", "Dactari - Milmar", "", "Megamania (Dactari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "327fe8cf94f3a45c35a840a453df1235", "", "", "Spice Girls Rule Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "328949872e454181223a80389d03c122", "", "", "Home Run (Unknown) (PAL)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "32ae78abbb5e677e2aabae5cc86cec29", "Atari, Christopher H. Omarzu, Courtney Granner", "CX26112", "Good Luck, Charlie Brown (04-18-1984) (Atari) (Prototype)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "32d1260ea682e1bb10850fa94c04ec5f", "Atari, Alan Miller", "CX26163P", "Basketball (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "32dcd1b535f564ee38143a70a8146efe", "Xonox - K-Tel Software - Product Guild, Anthony R. Henderson", "99007, 6240", "Tomarc the Barbarian (1983) (Xonox)", "AKA Thundarr the Barbarian", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "32e65d1e4dfcbcd9b57fee72cafe074c", "", "", "Eckhard Stolberg's Scrolling Text Demo 3 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "32ecb5a652eb73d287e883eea751d99c", "Dactar - Milmar", "", "Bowling (Dactar - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "32f4e47a71601ab06cfb59e1c6a0b846", "Ed Federmeyer", "", "Sound X (1994) (Ed Federmeyer)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3316ee2f887e9cb9b54dd23c5b98c3e2", "", "", "Texas Golf (miniature Gold Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "331938989f0f33ca39c10af4c09ff640", "Zach Matley", "", "Combat - Tank AI (19-04-2003) (Zach Matley)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "332f01fd18e99c6584f61aa45ee7791e", "", "", "X'Mission (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3347a6dd59049b15a38394aa2dafa585", "Parker Brothers - JWDA, Henry Will IV", "PB5760", "Montezuma's Revenge (1984) (Parker Bros)", "Featuring Panama Joe", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "335793736cbf6fc99c9359ed2a32a49d", "", "", "Analog Clock (V0.0) (20-01-2003) (AD) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "335a7c5cfa6fee0f35f5824d1fa09aed", "SEGA - Beck-Tech, Steve Beck, Phat Ho - Teldec", "006-01 - 3.60105 VG", "Congo Bongo (1983) (SEGA) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3367eeba3269aa04720abe6169767502", "", "", "Space Treat (30-12-2002) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "336ea20d38f98926919d4b4651d1a03f", "Omegamatrix", "", "Omega Race (Genesis) V2", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3391f7c4c656793f92299f4187e139f7", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype) [a4]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "33cac5e767a534c95d292b04f439dc37", "Jone Yuan Telephonic Enterprise Co", "", "Tapeworm (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "33d68c3cd74e5bc4cf0df3716c5848bc", "CBS Electronics, Tom DiDomenico", "4L 2486 5000", "Blueprint (1983) (CBS Electronics)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "33ed6dfac4b9ea2f81f778ceddbb4a75", "Activision", "", "River Raid (1982) (SpkSoft) [t1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "340f546d59e72fb358c49ac2ca8482bb", "Sancho - Tang's Electronic Co.", "TEC003", "Skindiver (1983) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "34340c8eecd1e557314789cc6477e650", "Joe Grand", "", "SCSIcide Pre-release 4 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "345488d3b014b684a181108f0ef823cb", "CBS Electronics, Tom DiDomenico", "4L 2486 5000", "Blueprint (1983) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "345758747b893e4c9bdde8877de47788", "CBS Electronics, Joseph Biel", "4L1802, 4L1803, 4L1804, 4L2278", "Venture (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "345769d085113d57937198262af52298", "Rainbow Vision - Suntek", "SS-007", "Space Raid (1983) (Rainbow Vision) (PAL)", "AKA MegaMania", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "346555779a2d51b48833463b5433472f", "Thomas Jentzsch", "", "Thrust (V0.1) (2000) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "348615ffa30fab3cec1441b5a76e9460", "Activision, Alan Miller - Ariola", "EAX-016, PAX-016 - 711 016-725", "StarMaster (1982) (Activision) (PAL) [fixed]", "Use Color/BW switch to change between galactic chart and front views", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "34b269387fa1aa5a396636f5ecdd63dd", "", "", "Marble Craze (mc7_23) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "34c808ad6577dbfa46169b73171585a3", "Apollo", "AP-2012", "Squoosh (1983) (Apollo) (Prototype)", "AKA Vat's Incredible!, The Grape Escape", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "34ca2fcbc8ba4a0b544acd94991cfb50", "Atari, Robert C. Polaro", "", "Dukes of Hazzard (1980) (Atari) (Prototype) (4K)", "AKA Stunt Cycle", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "34e37eaffc0d34e05e40ed883f848b40", "Retroactive", "", "Qb (2.15) (Retroactive) (Stella)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "34f4b1d809aa705ace6e46b13253fd3b", "Aaron Bergstrom", "", "Nothern Alliance (Aaron Bergstrom) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "34fd4fcb40ff5babce67f8b806d5969c", "", "", "Boxing (Dactari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "350e0f7b562ec5e457b3f5af013648db", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26119", "Saboteur (06-09-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "35156407e54f67eb1f625450d5c093e1", "", "", "Mouse Trap (Genesis)", "Genesis controller (C changes to dog)", "Hack of Mouse Trap", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "35163b56f4a692a232ae96ad3e23310f", "Retroactive", "", "Qb (2.12) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3545eb3b8b1e7dc19f87d231ab0b1d4c", "CBS Electronics - Roklan, Joe Hellesen, Joe Wagner", "M8774, M8794", "Wizard of Wor (1982) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3556e125681aea864e17b09f3f3b2a75", "", "", "Incoming (2 Player Demo) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3576037c9281656655fa114a835be553", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (1 of 4) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3577e19714921912685bb0e32ddf943c", "TechnoVision - Video Technology", "TVS1003", "Pharaoh's Curse (1983) (TechnoVision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "35ae903dff7389755ad4a07f2fb7400c", "", "", "Colored Wall Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "35b10a248a7e67493ec43aeb9743538c", "Dor-x", "", "Defender (Dor-x) (Hack)", "Hack of Defender", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "35b43b54e83403bb3d71f519739a9549", "Parker Brothers, Dave Engman, Isabel Garret", "", "McDonald's (06-06-1983) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "35be55426c1fec32dfb503b4f0651572", "Men-A-Vision", "", "Air Raid (Men-A-Vision) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "35fa32256982774a4f134c3347882dff", "Retroactive", "", "Qb (V0.05) (Macintosh) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "360ba640f6810ec902b01a09cc8ab556", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (06-15-1983) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "360c0dcb11506e73bd0b77207c81bc62", "Digitel", "", "Enduro (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3619786f6a32efc1e4a262d5aca8a070", "Atari, John Dunn - Sears", "CX2631 - 49-75152", "Superman (1979) (Atari) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3624e5568368929fabb55d7f9df1022e", "Activision - Imagineering, Donald Hahn, Dan Kitchen", "EAK-050-04", "Double Dragon (1989) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "36306070f0c90a72461551a7a4f3a209", "U.S. Games Corporation - JWDA, Roger Booth, Sylvia Day, Ron Dubren, Todd Marshall, Robin McDaniel, Wes Trager, Henry Will IV", "VC1007", "Name This Game (1983) (U.S. Games)", "AKA Octopussy", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "36547bc6faa5132b87504e18d088e1d7", "", "", "Cosmic Swarm (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "367411b78119299234772c08df10e134", "Atari", "CX26163P", "Skiing (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3685060707df27d4091ba0ea2dc4b059", "", "", "PezZerk - PezMan in Ghost Manor (Hack)", "Hack of Berzerk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "368d88a6c071caba60b4f778615aae94", "Atari, Matthew L. Hubbard", "CX26159", "Double Dunk (1989) (Atari)", "AKA Super Basketball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "36a701c60a9f9768d057bc2a83526a80", "", "", "Cube Conquest (Interlaced) (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "36b20c427975760cb9cf4a47e41369e4", "Coleco - Woodside Design Associates - Imaginative Systems Software, Garry Kitchen", "2451", "Donkey Kong (1982) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "36c29ceee2c151b23a1ad7aa04bd529d", "Atari - GCC, Ava-Robin Cohen", "CX26123", "Jr. Pac-Man (1986) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "36c31bb5daeb103f488c66de67ac5075", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Bop a Buggy (1 of 3) (1983) (Arcadia)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 56", "", "", "", "" }, + { "36c993dc328933e4dd6374a8ffe224f4", "Gameworld, J. Ray Dettling", "133-007", "Bermuda Triangle (1983) (Gameworld) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "36e47ed74968c365121eab60f48c6517", "Quelle", "343.373 7", "Master Builder (1983) (Quelle) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "36edef446ab4c2395666efc672b92ed0", "Atari - Axlon, John Vifian", "CX26168", "Off the Wall (1989) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "36f9a953ebdd9a8be97ccf27a2041903", "", "", "Chinese Character Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "37252757a79dc5b174e3c03d6ea0bdcb", "", "", "Sky Diver (Unknown) (PAL) (4K) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "372bddf113d088bc572f94e98d8249f5", "Bomb - Onbase", "CA285", "Wall-Defender (1983) (Bomb) (PAL)", "AKA Wall Break", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "373b8a081acd98a895db0cb02df35673", "", "", "Demo Image Series #5 - Boofly (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3750f2375252b6a20e4628692e94e8b1", "Dismac", "", "Ases do Ar (Dismac)", "AKA Sky Jinks", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "37527966823ee9243d34c7da8302774f", "", "", "Word Zapper (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "376944889dcfa96c73d3079f308e3d32", "Retroactive", "", "Qb (0.11) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3783f12821b88b08814da8adb1a9f220", "", "", "Mission Survive (PAL) (Genesis)", "Genesis controller (C is vertical fire)", "Hack of Mission Survive)", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "378a62af6e9c12a760795ff4fc939656", "Atari - Axlon, Steve DeFrisco", "CX26171", "MotoRodeo (1991) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "378c118b3bda502c73e76190ca089eef", "Atari, Alan Miller", "CX2662P", "Hangman (1978) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "37ab3affc7987995784b59fcd3fcbd31", "", "", "Sprite Test (29-11-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "37b98344c8e0746c486caf5aaeec892a", "K-Tel Vision", "6", "Spider Maze (1982) (K-Tel Vision) (PAL)", "AKA Spider Kong", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "37e828675d556775ae8285c0caf7d11c", "AtariAge - Fred Quimby", "", "Gingerbread Man (Fred Quimby) (Genesis)", "Genesis controller (C throws cookie)", "New Release", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "", "", "" }, + { "37f42ab50018497114f6b0f4f01aa9a1", "", "", "Droid Demo 2-M (David Conrad Schweinsberg) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "37fd7fa52d358f66984948999f1213c5", "Rainbow Vision - Suntek", "SS-004", "Pyramid War (1983) (Rainbow Vision) (PAL) [a2]", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "384db97670817103dd8c0bbdef132445", "Atari - Sears", "CX2626 - 6-99829, 49-75116", "Miniature Golf (1979) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "384f5fbf57b5e92ed708935ebf8a8610", "20th Century Fox Video Games, John W.S. Marvin", "11009", "Crypts of Chaos (1983) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3856b9425cc0185ed770376a62af0282", "Kyle Pittman", "", "Yellow Submarine (Kyle Pittman) (Hack)", "Hack of Bermuda Triangle", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "386ff28ac5e254ba1b1bac6916bcc93a", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (1982) (Arcadia)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, + { "3882224adbd0ca7c748b2a1c9b87263e", "Atari, Tod Frye", "CX2657", "SwordQuest - FireWorld (1982) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3889351c6c2100b9f3aef817a7e17a7a", "CCE", "", "Dolphin (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3897744dd3c756ea4b1542e5e181e02a", "Atari, Jerome Domurat, Peter C. Niday", "CX26115", "Dumbo's Flying Circus (05-05-1983) (Atari) (Prototype)", "AKA Dumbo Flies Home", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "38bd172da8b2a3a176e517c213fcd5a6", "Atari", "MA017600", "Diagnostic Test Cartridge 2.6 (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "38c362dcd5cad5a62e73ae52631bd9d8", "Jake Patterson", "", "Baubles (14-11-2001) (Jake Patterson) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "38cf93eacfb2fa9a2c5e39059ff35a74", "Greg Zumwalt", "", "WacMan (2003) (Greg Zumwalt) (Hack)", "Hack of Ms. Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "38de7b68379770b9bd3f7bf000136eb0", "Imagic, Mark Klein", "EIZ-003-04I", "Subterranea (1983) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "391764720140c432aec454a468f77a40", "Video Game Program", "", "Miss Pack Man (Video Game Program) (PAL)", "AKA Ms. Pac-Man", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "392d34c0498075dd58df0ce7cd491ea2", "Atari, Frank Hausman, Mimi Nyden, Steve Woita", "CX2686", "Quadrun (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "392f00fd1a074a3c15bc96b0a57d52a1", "Atari, Rob Fulop - Sears", "CX2633 - 49-75119", "Night Driver (1980) (Atari)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 65", "", "", "YES", "" }, + { "393948436d1f4cc3192410bb918f9724", "Activision, Carol Shaw", "AX-020, AX-020-04", "River Raid (1982) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "393e41ca8bdd35b52bf6256a968a9b89", "U.S. Games Corporation - Western Technologies, John Hall", "VC1012", "M.A.D. (1983) (U.S. Games)", "AKA Missile Intercept, Mutually Assured Destruction", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3947eb7305b0c904256cdbc5c5956c0f", "Jone Yuan Telephonic Enterprise Co", "", "Lilly Adventure (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "396f7bc90ab4fa4975f8c74abe4e81f0", "Atari, Larry Kaplan - Sears", "CX2612 - 99804, 49-75103", "Street Racer (1977) (Atari)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "AUTO 60", "", "", "", "" }, + { "3974e2d1f614fbd3a092533ecae2e84d", "Alessandro Ciceri", "", "MagiCard+ (alex_79) WIP_20150118", "MagiCard hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "39790a2e9030751d7db414e13f1b6960", "", "", "Robotfindskitten2600 (26-04-2003) (Jeremy Penner) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "39a6a5a2e1f6297cceaa48bb03af02e9", "", "", "Pitfall 2 Plus (Hack)", "Hack of Pitfall 2", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "39b94d41bd3b01c12b4054c1a8733783", "SOLID Corp. (D. Scott Williamson)", "CX2655-016", "Star Castle 2600 (SolidCorp) [016]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "39c78d682516d79130b379fa9deb8d1c", "Apollo - Games by Apollo, Ed Salvo", "AP-1001", "Skeet Shoot (1981) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "39d36366ae7e6dfd53393fb9ebab02a0", "CCE", "C-811", "River Raid (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "39da69ff9833f8c143f03b6e0e7a996b", "Charles Morgan", "", "Ventrra Invaders 2002 (Charles Morgan) (Hack)", "Hack of Megamania", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "39fe316952134b1277b6a81af8e05776", "Robby", "18", "River Raid (Robby)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3a10562937a766cbbb77203d029b00e1", "Carrere Video - JWDA, Garry Kitchen, Paul Willson - Teldec - Prism", "USC1002", "Sneak 'n Peek (1983) (Carrere Video) (PAL)", "AKA Der Unsichtbare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3a2e2d0c6892aa14544083dfb7762782", "Atari, Rob Fulop - Sears", "CX2638 - 49-75166", "Missile Command (1981) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3a35d7f1dc2a33565c8dca52baa86bc4", "", "", "Rubik's Cube Demo 2 (23-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3a51a6860848e36e6d06ffe01b71fb13", "Retroactive", "", "Qb (2.07) (Retroactive) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3a521b7e29123b2d38e34e3ff8dc255c", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (NTSC) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3a526e6a1f9fe918af0f2ce997dfea73", "CBS Electronics, Dan Kitchen, Garry Kitchen", "4L1700, 4L1701, 4L1702, 4L1802, 4L2274", "Donkey Kong (1982) (CBS Electronics) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3a53963f053b22599db6ac9686f7722f", "", "", "Word Zapper (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3a771876e4b61d42e3a3892ad885d889", "Atari, Bill Aspromonte, Andrew Fuchs", "CX26120", "Defender II (1987) (Atari)", "AKA Stargate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3aad0ef62885736a5b8c6ccac0dbe00c", "Dynacom", "", "Atlantis (1983) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3ab5d138e26d88c8190e7cc629a89493", "", "", "Phased Color Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3ac6c50a8e62d4ce71595134cbd8035e", "Absolute Entertainment, Dan Kitchen", "AK-046-04", "Tomcat (1988) (Absolute)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3ad3dc799211ccd424d7c6d454401436", "Probe 2000 - NAP", "", "Power Lords (1983) (Probe) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3ad58b53a1e972396890bd86c735e78d", "Arcadia Corporation, Stephen H. Landrum", "AR-4400", "Excalibur Version 36 (Dragonstomper Beta) (1982) (Arcadia) (Prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b040ed7d1ef8acb4efdeebebdaa2052", "Tigervision", "7-008", "Miner 2049er (1983) (Tigervision) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b097a7ed5bd2a84dc3d3ed361e9c31c", "", "", "Interleaved ChronoColour Demo (PAL) (05-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b10106836565e5db28c7823c0898fbb", "Xonox - Beck-Tech", "6210, 06002, 06004, 99002", "Ghost Manor (1983) (Xonox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b2c32fcd331664d037952bcaa62df94", "Xonox", "6230, 6250", "Super Kung-Fu (1983) (Xonox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b5751a8d20f7de41eb069f76fecd5d7", "", "", "Eckhard Stolberg's Scrolling Text Demo 4 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b64a00ce147c3c29f7f8f8e531d08d8", "", "", "This Planet Sucks (16K) (Greg Troutman)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b69f8929373598e1752f43f8da61aa4", "Apollo - Games by Apollo - RCA Video Jeux", "AP-2006", "Infiltrate (1921) (Apollo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3b6dba1a24bb2893bd3bd0593f92016b", "CBS Electronics / Thomas Jentzsch", "", "Omega Race JS (TJ)", "Hack of Omega Race (CBS Electronics)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b76242691730b2dd22ec0ceab351bc6", "M Network - INTV, Connie Goldman, Joe King, Patricia Lewis Du Long, Gerald Moore, Mike Sanders, Jossef Wagner", "MT4319", "Masters of the Universe (1983) (M Network)", "", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3b80b8f52a0939e16b5059f93a3fc19a", "V007", "", "Virtual Pet (V007) (after Demo 2) (CRACKERS) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b86a27132fb74d9b35d4783605a1bcb", "Atari, Chris Crawford", "", "Wizard (1980) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b8aacf5f5638492b926b5124de19f18", "Atari, Tod Frye - Sears", "CX2646 - 49-75185", "Pac-Man (1981) (Atari) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b91c347d8e6427edbe942a7a405290d", "Parker Brothers", "PB5350", "Sky Skipper (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b9480bb6fb1e358c9c0a64e86945aee", "", "", "Title Match Pro Wrestling (2002) (Skyworks)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3b966bf3c2ca34ac6ca1de4cf6383582", "", "", "Double-Height 6-Digit Score Display (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3bb9793c60c92911895cf44530846136", "Jone Yuan Telephonic Enterprise Co", "", "Dragster (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3c21a89bc38d8cd0b010a2916bcff5c2", "", "", "Colony 7 - CX-22 Hack v0.4 (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "50" }, + { "3c3a2bb776dec245c7d6678b5a56ac10", "", "", "Unknown Title (bin00003) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3c4223316c835ceaad619651e25df0f9", "", "", "Defender (Genesis)", "Genesis controller (C is smartbomb)", "Hack of Defender", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3c4a6f613ca8ba27ce9e43c6c92a3128", "", "", "Qb (V0.04) (Non-Lax Version) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3c57748c8286cf9e821ecd064f21aaa9", "Atari, Jerome Domurat, Andrew Fuchs, Dave Staugas, Robert Vieira", "CX26118", "Millipede (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3c72ddaf41158fdd66e4f1cb90d4fd29", "Dismac", "", "Comando Suicida (Dismac)", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3c7a7b3a0a7e6319b2fa0f923ef6c9af", "Atari - Roklan, Joe Gaucher", "", "Racer (1982) (Atari) (Prototype)", "ROM must be started in bank 0", "Prototype", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3c7a96978f52b2b15426cdd50f2c4048", "", "", "Overhead Adventure Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3c82e808fe0e6a006dc0c4e714d36209", "Activision, David Crane", "AG-004", "Fishing Derby (1980) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3c853d864a1d5534ed0d4b325347f131", "Telesys, Don 'Donyo' Ruffcorn", "1002", "Cosmic Creeps (1982) (Telesys)", "AKA Space Maze, Spaze Maze", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3c8e57a246742fa5d59e517134c0b4e6", "Parker Brothers, Rex Bradford, Sam Kjellman", "PB5050", "Star Wars - The Empire Strikes Back (1982) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3ca51b5c08f5a0ecfb17d0c1ec6d0942", "Atari, James Andreasen - Sears", "CX2654 - 49-75141", "Haunted House (09-28-81) (Atari) (Prototype)", "AKA Mystery Mansion, Graves' Manor, Nightmare Manor", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3caa902ac0ce4509308990645876426a", "Atari - GCC, Dave Payne", "CX2669, CX2669P", "Vanguard (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3cbdf71bb9fd261fbc433717f547d738", "CCE", "C-803", "Bobby Is Going Home (1983) (CCE) (PAL)", "AKA Bobby Vai Para Casa", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3cdd91e1c28d28e856c0063d602da166", "", "", "Stell-A-Sketch (03-11-1997) (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3d1e83afdb4265fa2fb84819c9cfd39c", "Coleco - JWDA, Todd Marshall, Robin McDaniel, Henry Will IV", "2465", "Smurf - Rescue in Gargamel's Castle (1983) (Coleco)", "AKA Smurf, Smurf Action", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3d2367b2b09c28f1659c082bb46a7334", "Imagic, Dennis Koble", "720103-2A, IA3203P, EIX-010-04I", "Atlantis (1982) (Imagic) (PAL)", "AKA Lost City of Atlantis", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3d2652cbea462a886a41791dd7c8d073", "", "", "Ritorno dei frattelli di Mario (Mario Bros Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3d48b8b586a09bdbf49f1a016bf4d29a", "Video Game Cartridge - Ariola", "TP-606", "Hole Hunter (Video Game Cartridge)", "AKA Topy", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3d6fc7a19be76d808aa233415cb583fc", "CCE", "C-833", "Target Practice (1983) (CCE)", "AKA Carnival", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3d7749fb9c2f91a276dfe494495234c5", "Jone Yuan Telephonic Enterprise Co", "", "Checkers (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3d7aad37c55692814211c8b590a0334c", "Atari, Dan Oliver", "", "Telepathy (1983) (Atari) (Prototype)", "Uses both left joystick and right Mindlink controllers (press Fire on respective controller to begin)", "Prototype", "", "", "", "", "", "", "", "", "MINDLINK", "", "", "", "78", "", "", "", "" }, + { "3d8a2d6493123a53ade45e3e2c5cafa0", "Atari, Jim Huether - Sears", "CX2629 - 6-99843, 49-75118", "Sky Diver (1979) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3d934bb980e2e63e1ead3e7756928ccd", "Activision, Steve Cartwright - Ariola", "EAX-017, EAX-017-04I - 711 017-720", "MegaMania (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3d9c2fccf8b11630762ff00811c19277", "", "", "Challenge of.... Nexar, The (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3da7cc7049d73d34920bb73817bd05a9", "Activision, Mike Lorenzen", "AX-023", "Oink! (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3dfb7c1803f937fadc652a3e95ff7dc6", "Dimax - Sinmax", "SM8001", "Space Robot (Dimax - Sinmax)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3e03086da53ecc29d855d8edf10962cb", "CBS Electronics - Roklan, Joe Gaucher, Alex Leavens", "4L1751, 4L1752, 4L1753, 4L2275", "Gorf (1982) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3e1682ddaec486d8b6b90b527aaa0fc4", "Thomas Jentzsch", "", "Robot City (V0.12) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3e22c7eaf6459b67388602e4bebbb3a8", "CommaVid, John Bronstein - Ariola", "CM-003 - 712 003-720", "Cosmic Swarm (1982) (CommaVid) (PAL) (4K)", "AKA Angriff der Termiten", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3e33ac10dcf2dff014bc1decf8a9aea4", "Spectravideo - Video Games Industries Corporation, Michael Schwartz - Ralston Purina", "", "Chase the Chuckwagon (1983) (Spectravideo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3e49da621193d2611a4ea152d5d5ca3a", "", "", "Atari Logo Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3e4b1137433cc1e617b5508619e13063", "", "", "Asteroids (Genesis)", "Genesis controller (C is hyperspace)", "Hack of Asteroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3e5ca1afaa27c5da3c54c9942fec528b", "", "", "2600 Digital Clock (Demo 2) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3e6dab92009d6034618cb6b7844c5216", "", "", "Ed Invaders (Hack)", "Hack of Pepsi Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3e7d10d0a911afc4b492d06c99863e65", "VGS", "", "Super Tenis (VGS)", "AKA RealSports Tennis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3e88cca5b860d0bd8947479e74c44284", "Atari, Lou Harp", "CX26122", "Sinistar (01-23-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3e899eba0ca8cd2972da1ae5479b4f0d", "Coleco, Joseph Biel", "2457", "Venture (1982) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3e90cf23106f2e08b2781e41299de556", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1982) (Activision)", "Pitfall Harry's Jungle Adventure (Jungle Runner)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3eae062a9b722bda1255d474a87eca5c", "Atari, David Crane", "CX2605, CX2605P", "Outlaw (1978) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3eb1e34a4f0eec36f12e7336badcecf2", "Jake Patterson", "", "Baubles (V0.001) (2001) (Jake Patterson) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3eb21313ea5d5764c5ed9160a5a55a83", "Activision, Alan Miller", "AX-012, CAX-012, AX-012-04", "Ice Hockey (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3ec12372ca3e870b11ca70edc7ec26a4", "CommaVid, John Bronstein", "CM-002", "Video Life (1981) (CommaVid) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3eccf9f363f5c5de0c8b174a535dc83b", "", "", "Plaque Attack (Unknown) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3ef9573536730dcd6d9c20b6822dbdc4", "Atari, Larry Wagner, Bob Whitehead", "CX2645, CX2645P", "Video Chess (1979) (Atari) (PAL)", "AKA Computer Chess", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f01bd6d059396f495a4cde7de0ab180", "", "", "Qb (Special Edition) (NTSC) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "3f039981255691d3859d04ef813a1264", "Xonox, John Perkins", "6230, 7210, 06004, 99004", "Artillery Duel (1983) (Xonox) [a]", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f251c50aa7237e61a38ab42315ebed4", "Thomas Jentzsch", "", "Ikari Warriors (1990) (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f3ad2765c874ca13c015ca6a44a40a1", "CCE", "C-862", "Crackpots (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f540a30fdee0b20aed7288e4a5ea528", "Atari - GCC", "CX2670", "Atari Video Cube (1983) (Atari)", "AKA Atari Cube, Video Cube", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f58f972276d1e4e0e09582521ed7a5b", "Telegames", "6082 A145", "Kung Fu Superkicks (1988) (Telegames)", "AKA Chuck Norris Superkicks", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f5a43602f960ede330cd2f43a25139e", "Activision, Alan Miller", "AG-003", "Checkers (1980) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f6938aa6ce66e6f42e582c1eb19b18c", "Jone Yuan Telephonic Enterprise Co", "", "Laser Blast (Jone Yuan) (4K) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f6dbf448f25e2bd06dea44248eb122d", "", "5687 A279", "Soccer (1988) (Telegames)", "AKA International Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f75a5da3e40d486b21dfc1c8517adc0", "Atari, Jim Huether", "CX26163P", "Sky Diver (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f9431cc8c5e2f220b2ac14bbc8231f4", "", "", "Colors Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f96eb711928a6fac667c04ecd41f59f", "Bit Corporation", "PGP218", "Rodeo Champ (4 Game in One Dark Green) (1983) (BitCorp) (PAL)", "AKA Stampede", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3f9cb1aba8ec20e2c243ae642f9942bf", "", "", "New Questions (1998) (John K. Harvey) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3fd1f9d66a418c9f787fc5799174ddb7", "Aaron Curtis", "", "AStar (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3fd53bfeee39064c945a769f17815a7f", "CCE", "", "Sea Hawk (CCE)", "AKA Seahawk", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3fe43915e5655cf69485364e9f464097", "CCE", "C-863", "Fisher Price (1983) (CCE)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "3ff5165378213dab531ffa4f1a41ae45", "Otto Versand", "311377", "Pygmy (1983) (Otto Versand) (PAL)", "AKA Lock 'n' Chase (Double-Game Package)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4026ad38ba5ce486e88383dc27d7a46f", "Nukey Shay, Omegamatrix", "", "Double Dragon (Genesis) V2", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "402b1ca3c230a60fb279d4a2a10fa677", "", "", "3-D Tic-Tac-Toe (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "402d876ec4a73f9e3133f8f7f7992a1e", "Alex Herbert", "", "Man Goes Down (2006) (A. Herbert) (Prototype)", "Uses AtariVox controller", "Homebrew", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "", "", "", "" }, + { "405f8591b6941cff56c9b392c2d5e4e5", "Telegames", "", "Star Strike (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4066309eb3fa3e7a725585b9814bc375", "", "", "Multi Ball Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4066d7d88ec4a2c656127a67fa52dcf1", "", "", "Overhead Adventure Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "407a0c6cc0ff777f67b669440d68a242", "Erik Eid", "", "Euchre (Alpha) (PAL) (31-08-2002) (Erik Eid)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4093382187f8387e6d011883e8ea519b", "", "", "Go Go Home (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "40aa851e8d0f1c555176a5e209a5fabb", "", "", "Euchre (More for less) (NTSC) (22-08-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "40b1832177c63ebf81e6c5b61aaffd3a", "Atari, Peter C. Niday", "", "Rubik's Cube 3-D (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "40b59249e05135bca33861e383735e9e", "Atari", "CX26163P", "Skiing (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "40d8ed6a5106245aa79f05642a961485", "Xonox - K-Tel Software - Beck-Tech, Steve Beck", "6210, 06002, 06004, 99002", "Ghost Manor (1983) (Xonox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "40d9f5709877ecf3dd1184f9791dd35e", "Dactari - Milmar", "", "Skiing (Dactari - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "40e12c008037a323a1290c8fa4d2fe7f", "", "", "Skeleton (NTSC) (06-09-2002) (Eric Ball)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "40eb4e263581b3dfec6dd8920b68e00f", "Sears Tele-Games, Marilyn Churchill, Matthew L. Hubbard", "CX2647 - 49-75142", "Seawolf 3 (03-23-1981) (Sears) (Prototype) (PAL)", "Submarine Commander Beta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "413c925c5fdcea62842a63a4c671a5f2", "Activision, Larry Kaplan", "AX-006", "Bridge (1980) (Activision) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4153dd2beed648e9dc082140ebe8e836", "Thomas Jentzsch", "", "Coke Zero (v1.0) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "415c11fcac66bbd2ace2096687774b5a", "", "", "Fu Kung! (V0.00) (07-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4181087389a79c7f59611fb51c263137", "Atari, Suki Lee", "CX26113", "Miss Piggy's Wedding (06-24-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "41810dd94bd0de1110bedc5092bef5b0", "Funvision - Fund. International Co.", "", "Dragon Treasure (Funvision)", "AKA Dragonfire", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "41818738ab1745e879024a17784d71f5", "CCE", "C-832", "Atlantis (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4189adfc1b30c121248876e3a1a3ac7e", "Eric Ball", "", "Skeleton (Complete) (06-09-2002) (Eric Ball)", "", "New Release", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4191b671bcd8237fc8e297b4947f2990", "Exus Corporation", "", "Video Jogger (1983) (Exus)", "AKA Foot Craz", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "41b554c6970b18670acc7b6baef8ed2e", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "41c4e3d45a06df9d21b7aae6ae7e9912", "CCE", "C-826", "Grand Prix (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "41f252a66c6301f1e8ab3612c19bc5d4", "Atari - GCC, Mike Feinstein, Brad Rice", "CX2681", "Battlezone (1983) (Atari)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4209e9dcdf05614e290167a1c033cfd2", "CommaVid, John Bronstein", "CM-002", "Video Life (1984) (CommaVid) [higher sounds]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "42249ec8043a9a0203dde0b5bb46d8c4", "CCE", "", "Resgate Espacial (CCE)", "AKA Moonsweeper", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4233eb824c2b4811abef9b6d00355ae9", "Retroactive", "", "Qb (V0.10) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4251b4557ea6953e88afb22a3a868724", "Thomas Jentzsch", "", "Robot City (V1.1) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "425ee444a41d218598893d6b6e03431a", "Thomas Jentzsch", "", "Invaders Demo (2001) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4279485e922b34f127a88904b31ce9fa", "", "", "Enduro (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "428b2d36f5d716765460701f7016ac91", "Andrew Wallace", "", "Brooni (2001) (Andrew Wallace) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "42ae81ae8ac51e5c238639f9f77d91ae", "", "", "Multi-Sprite Demo 2 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "42b2c3b4545f1499a083cfbc4a3b7640", "U.S. Games Corporation - JWDA, Todd Marshall, Robin McDaniel, Wes Trager, Henry Will IV", "VC2003", "Eggomania (1982) (U.S. Games)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "", "" }, + { "42b3ab3cf661929bdc77b621a8c37574", "Robby", "", "Volleyball (Robby)", "AKA RealSports Volleyball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "42b5e3a35b032f033809afb0ea28802d", "Atari, Mimi Nyden, Scott Smith, Robert Vieira", "CX26127", "Gremlins (03-12-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "42cdd6a9e42a3639e190722b8ea3fc51", "Activision, Alan Miller", "AG-007, CAG-007", "Tennis (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "42dcc02777b0bcfacd85aeb61d33558a", "", "", "Human Cannonball (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "42e0ec5ab8f5deba53e4169ff2a5efbe", "", "", "Atari Logo Demo 5 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4311a4115fb7bc68477c96cf44cebacf", "", "", "Challenge (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4326edb70ff20d0ee5ba58fa5cb09d60", "Atari - GCC, Kevin Osborn", "CX2689", "Kangaroo (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "435fd469f088468c4d66be6b5204d887", "Atari - GCC", "CX2680, CX2680P", "RealSports Tennis (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "438968a26b7cfe14a499f5bbbbf844db", "", "", "Raft Rider (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "43adf60ebdd6b5a0fae21594ecf17154", "Jone Yuan Telephonic Enterprise Co", "", "Stampede (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "43c6cfffeddab6b3787357fed9d44529", "20th Century Fox Video Games, Frank Cohen, Douglas 'Dallas North' Neubauer", "11111", "M.A.S.H (1983) (20th Century Fox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "43f33c6dfdeaf5138ce6e6968ad7c5ce", "Jeffry Johnston", "", "Radial Pong - Version 11 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "43f8459d39fb4eddf9186d62722ff795", "", "", "Skeleton+ (17-04-2003) (Eric Ball) (PAL)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "442602713cb45b9321ee93c6ea28a5d0", "", "", "Demon Attack (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4427f06085bb4c22ff047027f7acecc2", "Parker Brothers, Rex Bradford", "PB5000", "Star Wars - Jedi Arena (1983) (Parker Bros) (Prototype)", "Uses the Paddle Controllers (swapped)", "Prototype", "", "", "", "", "", "", "", "", "", "YES", "", "", "10 50", "", "", "", "" }, + { "442b7863683e5f084716fda050474feb", "Eckhard Stolberg", "", "Frame Timed Sound Effects-EM (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4431428a7500c96fc0e2798a5dbd36d6", "", "", "Kangaroo (Genesis)", "Genesis controller (B is punch, C is jump)", "Hack of Kangaroo", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4474b3ad3bf6aabe719a2d7f1d1fb4cc", "Activision - Imagineering, Dan Kitchen, Garry Kitchen", "EAX-039-04B, EAX-039-04I", "Kung-Fu Master (1987) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4476c39736090dabac09f6caf835fc49", "", "", "Text Screen (25-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "448c2a175afc8df174d6ff4cce12c794", "Activision, David Crane", "AB-035-04", "Pitfall II (1983) (Activision) [a2]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "44e9c4a047c348dbeb7ace60f45484b4", "", "", "Moon Patrol Arcade (Genesis)", "Genesis controller (C is jump)", "Hack of Moon Patrol", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "44f71e70b89dcc7cf39dfd622cfb9a27", "Tigervision, Robert H. O'Neil", "7-007", "Polaris (1983) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "45027dde2be5bdd0cab522b80632717d", "Epyx, Steven A. Baker, Tod Frye, Peter Engelbrite", "80561-00250", "Summer Games (1987) (Epyx)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "45040679d72b101189c298a864a5b5ba", "20th Century Fox Video Games - Sirius Software, David Lubar", "11022", "SpaceMaster X-7 (1983) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4543b7691914dfd69c3755a5287a95e1", "CommaVid, Irwin Gaines", "CM-005", "Mines of Minos (1982) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "456453a54ca65191781aef316343ae00", "", "", "Full Screen Bitmap (3-D Green) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4565c1a7abce773e53c75b35414adefd", "Arcadia Corporation", "", "Supercharger BIOS (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "457b03cd48ff6d895795ef043c6b0f1e", "AtariAge, Chris Spry", "CX26201", "Zippy the Porcupine (2014) (Sprybug)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "457e7d4fcd56ebc47f5925dbea3ee427", "Carrere Video - JWDA, Garry Kitchen - Teldec - Prism", "USC1001", "Space Jockey (1983) (Carrere Video) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "457f4ad2cda5f4803f122508bfbde3f5", "", "", "Canyon Bomber (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "458883f1d952cd772cf0057abca57497", "", "", "Fishing Derby (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "45a095645696a217e416e4bd2baea723", "Digivision", "", "Snoopy (Digivision)", "AKA Snoopy and the Red Baron", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "45a4f55bb9a5083d470ad479afd8bca2", "CommaVid, Joseph Biel", "", "Frog Demo (1983) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "45beef9da1a7e45f37f3f445f769a0b3", "Atari, Suki Lee", "CX2658", "Math Gran Prix (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "45c4413dd703b9cfea49a13709d560eb", "Jone Yuan Telephonic Enterprise Co", "", "Challenge of.... Nexar, The (Jone Yuan) (Hack)", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "45cb0f41774b78def53331e4c3bf3362", "Carrere Video - JWDA, Roger Booth, Sylvia Day, Todd Marshall, Robin McDaniel, Wes Trager, Henry Will IV - Teldec - Prism", "USC1007", "Octopus (1983) (Carrere Video) (PAL)", "AKA Name This Game", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4605a00f5b44a9cbd5803a7a55de150e", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (07-03-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "461029ab23800833e9645be3e472d470", "", "", "Combat TC (v0.1)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "46258bd92b1f66f4cb47864d7654f542", "Zellers", "", "Turmoil (Zellers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "463dd4770506e6c0ef993a40c52c47be", "Arcadia Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (Preview) (1982) (Arcadia)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "463e66ad98806a49106cffa49c08e2ed", "", "", "Interlace Game Demo (01-09-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "467340a18158649aa5e02a4372dcfccd", "Activision, John Van Ryzin - Ariola", "EAZ-036-04, EAZ-036-04B, EAZ-036-04I - 711 036-720", "H.E.R.O. (1984) (Activision) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4689081b7363721858756fe781cc7713", "", "", "Oystron (V2.6) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "468f2dec984f3d4114ea84f05edf82b6", "Tigervision - Teldec", "7-011 - 3.60015 VG", "Miner 2049er Volume II (1983) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4690fdb70c86604bb35da26696818667", "", "", "Euchre (Release Candidate) (NTSC) (28-09-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "469473ff6fed8cc8d65f3c334f963aab", "Atari, Bruce Poehlman, Gary Stark", "", "Dune (07-10-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "46c021a3e9e2fd00919ca3dd1a6b76d8", "Atari, Jim Huether - Sears", "CX2629 - 6-99843, 49-75118", "Sky Diver (1979) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "46c43fdcbce8fde3a91ebeafc05b7cbd", "", "", "Invaders Demo (PAL) (2001) (Eckhard Stolberg)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "46dc526773808c8b9bb2111f24e5704c", "Omegamatrix", "", "SpaceMaster X-7 (Atari Mouse) (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "46e9428848c9ea71a4d8f91ff81ac9cc", "Telegames", "", "Astroblast (1988) (Telegames) (PAL)", "Can also use left joystick", "", "", "", "", "", "", "", "", "PADDLES", "", "YES", "", "", "AUTO 55", "", "", "", "" }, + { "4702d8d9b48a332724af198aeac9e469", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (1983) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "470878b9917ea0348d64b5750af149aa", "Atari, Suki Lee - Sears", "CX2658 - 49-75128", "Math Gran Prix (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "471f7bdc933e8db0e44aa3dde2dd92af", "Omegamatrix", "", "Millipede (Atari Mouse) v6.5 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47464694e9cce07fdbfd096605bf39d4", "Activision, Dan Kitchen", "EAK-050-04", "Double Dragon (1989) (Activision) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47585c047802dd9af888b998fb921f32", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) v4 (PAL60) (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4767356fa0ed3ebe21437b4473d4ee28", "Atari, Dan Hitchens, Mimi Nyden", "CX2685", "Gravitar (04-12-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47711c44723da5d67047990157dcb5dd", "CCE", "", "Ice Hockey (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47911752bf113a2496dbb66c70c9e70c", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (1984) (Atari) (PAL)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "4799a40b6e889370b7ee55c17ba65141", "Konami", "RC 100-X 02", "Pooyan (1983) (Konami)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47aad247cce2534fd70c412cb483c7e0", "Rainbow Vision - Suntek", "SS-010", "Mafia (1983) (Rainbow Vision) (PAL)", "AKA Gangster Alley", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47abfb993ff14f502f88cf988092e055", "Zellers", "", "Inca Gold (Zellers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "47aef18509051bab493589cb2619170b", "", "", "Stell-A-Sketch (Bob Colbert) (PD)", "Uses Driving, Joystick, or Amiga/Atari ST Mouse Controllers", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "47b82d47e491ac7fdb5053a88fccc832", "Atari Freak 1, Franklin Cruz", "", "Asteroid 2 (Atari Freak 1) (Hack)", "Hack of Asteroids", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "47cd61f83457a0890de381e478f5cf5f", "Imagic, Wilfredo Aguilar, Michael Becker, Rob Fulop", "720111-2A, 13205", "Fathom (1983) (Imagic) (PAL)", "AKA Scuba", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "481d20ec22e7a63e818d5ef9679d548b", "Atari", "CX26163P", "Freeway Rabbit (32 in 1) (1988) (Atari) (PAL)", "AKA Freeway", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "481f9a742052801cc5f3defb41cb638e", "Jeffry Johnston", "", "Radial Pong - Version 4 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "48287a9323a0ae6ab15e671ac2a87598", "Zellers", "", "Laser Volley (Zellers)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4834b7b28ea862227ac7e40053fb52a5", "Nukey Shay", "", "Montezuma's Revenge (Genesis) (F6_Conversion)", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "48411c9ef7e2cef1d6b2bee0e6055c27", "Telesys, Don Ruffcorn, Jack Woodman", "1003", "Fast Food (1982) (Telesys) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "484b0076816a104875e00467d431c2d2", "Atari", "CX26150", "Q-bert (1987) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4857f8bb88bb63c640d3ea5aac7f5d6d", "Atari, James Andreasen - Sears", "CX2654 - 49-75141", "Haunted House (08-12-81) (Atari) (Prototype)", "AKA Mystery Mansion, Graves' Manor, Nightmare Manor", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4868a81e1b6031ed66ecd60547e6ec85", "Eric Mooney", "", "Invaders by Erik Mooney (V2.1) (1-3-98) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "487193a7b7fe57a1bbc2f431f628bd5f", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.1 (NTSC) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4884b1297500bd1243659e43c7e7579e", "Atari - Axlon, Tod Frye", "CX26178", "Save Mary! (10-24-1991) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4892b85c248131d6a42c66a4163a40d0", "Canal 3 - Intellivision", "", "Tac-Scan (Canal 3)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "YES", "", "", "YES", "", "", "AUTO 60", "", "", "", "" }, + { "48bcf2c5a8c80f18b24c55db96845472", "Activision, John Van Ryzin - Ariola", "EAZ-036-04, EAZ-036-04B, EAZ-036-04I - 711 036-720", "H.E.R.O. (1984) (Activision) (PAL) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "48e5c4ae4f2d3b62b35a87bca18dc9f5", "Quelle", "476.774 5", "Bobby geht nach Hause (1983) (Quelle) (PAL)", "AKA Bobby Is Going Home", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "48f18d69799a5f5451a5f0d17876acef", "ZiMAG - Emag - Vidco", "GN-070", "Mysterious Thief, A (1983) (ZiMAG) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4901c05068512828367fde3fb22199fe", "Imagic, Rob Fulop", "720101-2B, IA3200P, EIX-006-04I", "Demon Attack (1982) (Imagic) (PAL)", "AKA Death from Above", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4904a2550759b9b4570e886374f9d092", "Parker Brothers, Charlie Heath", "931506", "Reactor (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "490e3cc59d82f85fae817cdf767ea7a0", "", "", "Berzerk (Unknown) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "490eed07d4691b27f473953fbea6541a", "Activision, Steve Cartwright, David Crane", "AB-035-04", "Pitfall II (1983) (Activision) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "493daaf9fb1ba450eba6b8ed53ffb37d", "", "", "3-D Corridor Demo (27-03-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "493de059b32f84ab29cde6213964aeee", "Atari, Bill Aspromonte, Andrew Fuchs", "CX26120", "Stargate (1984) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "493e90602a4434b117c91c95e73828d1", "Telegames", "", "Lock 'n' Chase (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4947c9de2e28b2f5f3b0c40ce7e56d93", "", "", "3-D Corridor Demo 2 (29-03-2003) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "494cda91cc640551b4898c82be058dd9", "Andreas Dietrich", "", "Donkey Kong VCS (2017) (1.0) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "49571b26f46620a85f93448359324c28", "", "", "Save Our Ship (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "497c811026367c08fd838c9c59e5041d", "Omegamatrix", "", "SpaceMaster X-7 (Atari Trak-Ball) (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "497f3d2970c43e5224be99f75e97cbbb", "CommaVid, John Bronstein", "CM-002", "Video Life (1984) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4981cefe5493ea512284e7f9f27d1e54", "Home Vision - Gem International Corp. - VDI", "VCS83136", "Cosmic War (1983) (Home Vision) (PAL)", "AKA Space Tunnel", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4999b45be0ab5a85bac1b7c0e551542b", "CCE", "", "Double Dragon (CCE) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "499b612f6544ae71d4915aa63e403e10", "Atari, Carol Shaw", "CX26163P", "Checkers (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "49f2cef5269fd06218be9f9474c74f8d", "Rentacom", "", "Time Pilot (Rentacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4a196713a21ef07a3f74cf51784c6b12", "Jone Yuan Telephonic Enterprise Co", "", "Frogs and Flies (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4a2fe6f0f6317f006fd6d4b34515448b", "", "", "Warring Worms (Midwest Classic Edition) (08-06-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4a45c6d75b1ba131f94a9c13194d8e46", "", "", "How to Draw a Playfield II (Joystick Hack) (1997) (Eric Bacher) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4a5fddf89801336637ac8e57a7c9a881", "Amiga", "1125", "Power Play Arcade Video Game Album IV (1984) (Amiga) (Prototype)", "Atlantis, Cosmic Ark, Dragonfire", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4a6be79310f86f0bebc7dfcba4d74161", "", "", "Demolition Herby (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4a7eee19c2dfb6aeb4d9d0a01d37e127", "Hozer Video Games", "", "Crazy Valet (Hozer Video Games)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4a8c743396b8ad69d97e6fd3dd3e3132", "Arcadia Corporation", "", "Supercharger BIOS (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4a9009620038f7f30aaeb2a00ae58fde", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (3 of 3) (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4ab2ebd95a8f861ea451abebdad914a5", "Nukey Shay, Thomas Jentzsch", "PAL conversion (F6)", "Montezuma's Revenge (PAL) (Genesis)", "Genesis controller (B jumps left, C jumps right)", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4ab4af3adcdae8cdacc3d06084fc8d6a", "Nick Bensema", "", "Sucky Zepplin (Nick Bensema) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4abb4c87a4c5f5d0c14ead2bb36251be", "Atari - Imagineering, Alex DeMeo", "CX26135, CX26135P", "RealSports Boxing (1987) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4ac9f40ddfcf194bd8732a75b3f2f214", "Atari - CCW, Stephan R. Keith, Laura Scholl, Preston Stuart", "CX26106", "Grover's Music Maker (12-29-1982) (Atari) (Prototype)", "Uses Keypad Controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4ae8c76cd6f24a2e181ae874d4d2aa3d", "", "", "Flash Gordon (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4af4103759d603c82b1c9c5acd2d8faf", "Imagic, Bob Smith", "720114-2A, 13207, EIZ-001-04I", "Moonsweeper (1983) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4afa7f377eae1cafb4265c68f73f2718", "Ed Fries", "", "Halo 2600 (2010) (Ed Fries)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4afe528a082f0d008e7319ebd481248d", "", "", "Multi-Color Demo 1 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4b143d7dcf6c96796c37090cba045f4f", "Atari, Jim Huether - Sears", "CX2644 - 6-99824", "Flag Capture (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4b205ef73a5779acc5759bde3f6d33ed", "", "", "Berzerk (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4b27f5397c442d25f0c418ccdacf1926", "Atari, Warren Robinett", "CX2613, 49-75154", "Adventure (1980) (Atari) (PAL)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4b379b885e2694f992c6cc932f18327f", "Omegamatrix", "", "SpaceMaster X-7 (Atari Mouse) (PAL60) (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4b71197153d651480830638cb6a03249", "Atari, Larry Kaplan", "CX26163P", "Bowling (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4b753a97aee91e4b3e4e02f5e9758c72", "Glenn Saunders, Roger Williams", "", "Asymmetric Reflected Playfield (Glenn Saunders)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4b94fd272785d7ec6c95fb7279d0f522", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (12-03-1982) (Atari) (Prototype)", "Uses the Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "4b9581c3100a1ef05eac1535d25385aa", "", "", "IQ 180 (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4baada22435320d185c95b7dd2bcdb24", "Atari, Jerome Domurat, Dave Staugas", "CX2682", "Krull (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4bcc7f6ba501a26ee785b7efbfb0fdc8", "Atari, Andrew Fuchs, Courtney Granner, Jeffrey Gusman, Mark R. Hahn", "CX2690", "Pengo (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4bdae9246d6ee258c26665512c1c8de3", "Atari", "CX26163P", "Human Cannonball (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4bdf54a454470ba015a217a8f5e61320", "Omegamatrix", "", "Millipede (Amiga Mouse) v6.5 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "4c030667d07d1438f0e5c458a90978d8", "Retroactive", "", "Qb (V2.03) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4c0fb2544ae0f8b5f7ae8bce7bd7f134", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix (Preview) (1983) (Arcadia)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c205f166157154df2f1ef60d87e552f", "", "", "Single-Scanline Positioning Demo 2 (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c39a2c97917d3d71739b3e21f60bba5", "", "", "Whale (Sub Scan Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c462b2b6fb0a19a1437eb2c3dc20783", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (1 of 3) (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c4ce802cbfd160f7b3ec0f13f2a29df", "", "", "Beta Demo (V1.1) (26-09-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c606235f4ec5d2a4b89139093a69437", "Andrew Davies", "", "Andrew Davies early notBoulderDash demo (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4c6afb8a44adf8e28f49164c84144bfe", "CCE", "C-806", "Mission 3,000 A.D. (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c8832ed387bbafc055320c05205bc08", "Atari, Joe Decuir, Steve Mayer, Larry Wagner - Sears", "CX2601 - 99801, 6-99801, 49-75124", "Combat (1977) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c8970f6c294a0a54c9c45e5e8445f93", "Xonox - K-Tel Software - Product Guild, Anthony R. Henderson", "99006, 6220", "Sir Lancelot (1983) (Xonox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4c9307de724c36fd487af6c99ca078f2", "Imagic, Brad Stewart", "720106-1A, IA3409", "Sky Patrol (1982) (Imagic) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4ca0959f846d2beada18ecf29efe137e", "Atari, Jim Huether, Alan J. Murphy, Robert C. Polaro", "CX2666, CX2666P", "RealSports Volleyball (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4ca73eb959299471788f0b685c3ba0b5", "Activision, Steve Cartwright", "AX-031", "Frostbite (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4ca90ba45eced6f5ad560ea8938641b2", "", "", "Hangman Man Wordlist (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4cabc895ea546022c2ecaa5129036634", "Funvision - Fund. International Co.", "", "Ocean City (Funvision)", "AKA Atlantis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4cd796b5911ed3f1062e805a3df33d98", "Tigervision - Software Electronics Corporation - Teldec", "7-006", "Springer (1983) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d06f72cc3d8934579c11ff8f375c260", "Bit Corporation", "R320", "Bowling (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d0a28443f7df5f883cf669894164cfa", "", "", "Beast Invaders (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d2cef8f19cafeec72d142e34a1bbc03", "HES", "771-422", "2 Pak Special - Star Warrior, Frogger (1990) (HES) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d38e1105c3a5f0b3119a805f261fcb5", "Bit Corporation", "PGP212", "Phantom UFO (4 Game in One Light Green) (1983) (BitCorp) (PAL)", "AKA Spider Fighter", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d502d6fb5b992ee0591569144128f99", "Atari - Axlon, Tod Frye", "CX26178", "Save Mary! (11-21-1989) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d5f6db55f7f44fd0253258e810bde21", "Fabrizio Zavagli", "", "Betterblast (Fabrizio Zavagli) (Hack)", "Hack of Astroblast", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d7517ae69f95cfbc053be01312b7dba", "Atari, Alan Miller - Sears", "CX2641 - 99807, 49-75105", "Surround (1977) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d77f291dca1518d7d8e47838695f54b", "Data Age", "DA1004", "Airlock (1982) (Data Age)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4d8396deeabb40b5e8578276eb5a8b6d", "Otto Versand", "781698", "Volleyball (1983) (Otto Versand) (PAL)", "AKA RealSports Volleyball (Double-Game Package)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4dbd7e8b30e715efc8d71d215aec7fe7", "Bit Corporation", "R320", "Air Raiders (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4dbf47c7f5ac767a3b07843a530d29a5", "Ric Pryor", "", "Breaking News (2002) (Ric Pryor) (Hack)", "Hack of Bump 'n' Jump", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4dcc7e7c2ec0738e26c817b9383091af", "", "", "Unknown Title (bin00026 (200110)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4dd6c7ab9ef77f2b4950d8fc7cd42ee1", "Retroactive", "", "Qb (V2.04) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4df6124093ccb4f0b6c26a719f4b7706", "Atari, Brad Stewart - Sears", "CX2622 - 6-99813, 49-75107", "Breakout (1978) (Atari) [a]", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 60", "", "", "", "" }, + { "4df9d7352a56a458abb7961bf10aba4e", "", "", "Racing Car (Unknown)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "4e01d9072c500331e65bb87c24020d3f", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26119", "Saboteur (06-15-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4e02880beeb8dbd4da724a3f33f0971f", "Imagic, Michael Greene", "EIZ-002-04I", "Wing War (1983) (Imagic) (PAL)", "AKA Flap!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4e15ddfd48bca4f0bf999240c47b49f5", "Avalon Hill, Jean Baer, Jim Jacob", "5001002", "Death Trap (1983) (Avalon Hill)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4e2c884d04b57b43f23a5a2f4e9d9750", "", "", "Baby Center Animation (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4e37992a37ea36489283f7eb90913bbc", "Kris", "", "Hangman Ghost Halloween (Kris) (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4e4895c3381aa4220f8c2795d6338237", "", "", "Backwards Cannonball v1 (Hack)", "Hack of Human Cannonball", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4e66c8e7c670532569c70d205f615dad", "Atari - GCC", "CX2680, CX2680P", "RealSports Tennis (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4e86866d9cde738d1630e2e35d7288ce", "Supergame", "", "River Raid III (Supergame)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4e99ebd65a967cabf350db54405d577c", "Coleco", "2663", "Time Pilot (1983) (Coleco) [b1]", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4eb4fd544805babafc375dcdb8c2a597", "Inspirational Video Concepts, Steve Shustack", "321430", "Red Sea Crossing (1983) (Inspirational Video Concepts)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4edb251f5f287c22efc64b3a2d095504", "Atari", "", "Atari VCS Point-of-Purchase ROM (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4f0071946e80ca68edfdccbac86dcce0", "", "", "Virtual Pet Demo 1 (CRACKERS) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4f2d47792a06da224ba996c489a87939", "HES - Activision", "223", "Super Action Pak - Pitfall, Barnstorming, Grand Prix, Laser Blast (1988) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4f32b24869d8c1310fecf039c6424db6", "U.S. Games Corporation - JWDA, Todd Marshall", "", "3-D Zapper (12-15-82) (U.S. Games) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4f618c2429138e0280969193ed6c107e", "Activision, Alan Miller", "AZ-028, AG-028-04", "Robot Tank (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4f634893d54e9cabe106e0ec0b7bdcdf", "Retroactive", "", "Qb (2.14) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4f64d6d0694d9b7a1ed7b0cb0b83e759", "20th Century Fox Video Games, John Russell", "11016", "Revenge of the Beefsteak Tomatoes (1983) (20th Century Fox)", "AKA Revenge of the Cherry Tomatoes", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4f6702c3ba6e0ee2e2868d054b00c064", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen - Ariola", "EAZ-033 - 711 033-725", "Space Shuttle (1983) (Activision) (PAL)", "A Journey Into Space, Eine Reise ins All", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4f781f0476493c50dc578336f1132a67", "", "", "Indy 500 (Unknown) (PAL) (4K)", "Uses Driving Controllers", "", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "45", "", "", "", "" }, + { "4f7b07ec2bef5ccffe06403a142f80db", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2003", "Racquetball (1982) (Apollo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4f82d8d78099dd71e8e169646e799d05", "", "", "Miniature Golf (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4f89b897444e7c3b36aed469b8836839", "Atari", "CX26190", "BMX Air Master (1989) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4fae08027365d31c558e400b687adf21", "", "", "Qb (V2.17) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "4faeb04b1b7fb0fa25db05753182a898", "", "", "2600 Digital Clock (V x.xx) (PD) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4fbe0f10a6327a76f83f83958c3cbeff", "CCE", "C-816", "Keystone Kappers (1983) (CCE)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "4fc1b85b8074b4b9436d097900e34f29", "John K. Harvey", "", "John K. Harvey's Equalizer (John K. Harvey)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "50200f697aeef38a3ce31c4f49739551", "Mystique - American Multiple Industries, Joel H. Martin", "", "Custer's Revenge (1982) (Mystique) (PAL60)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "502044b1ac111b394e6fbb0d821fca41", "", "", "Hangman Invader 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "502168660bfd9c1d2649d415dc89c69d", "Activision, Bob Whitehead - Ariola", "EAG-019, EAG-019-04I - 711 019-715", "Sky Jinks (1982) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "504688d49a41bf03d8a955512609f3f2", "Thomas Jentzsch", "", "SWOOPS! (v0.94) (TJ)", "Uses the Joystick (L) and Paddle (R) Controllers", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "50568c80ac61cab789d9923c9b05b68e", "Ebivision", "", "Merlin's Walls - Standard Edition (1999) (Ebivision)", "Image rotated 90 degrees CW", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5069fecbe4706371f17737b0357cfa68", "Apollo - Games by Apollo, Steve Stringfellow", "AP-2005", "Shark Attack (1982) (Apollo) (PAL)", "AKA Lochjaw", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5079bfbc7b8f5770f84215ed2e3bdd1b", "Omegamatrix (2012)", "", "Genesis Button Tester", "", "Homebrew", "", "", "", "", "", "", "", "GENESIS", "GENESIS", "", "", "", "", "", "", "", "" }, + { "50a410a5ded0fc9aa6576be45a04f215", "Activision, Bob Whitehead - Ariola", "EAG-019, EAG-019-04I - 711 019-715", "Sky Jinks (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "50c7edc9f9dc0369abcdab3b4efeb5e9", "U.S. Games Corporation - JWDA, Todd Marshall", "", "3-D Zapper (U.S. Games) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "50ef88f9a5e0e1e6b86e175362a27fdb", "", "", "Multi-Sprite Game V2.4 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "512e874a240731d7378586a05f28aec6", "Tigervision, Rorke Weigandt - Teldec", "7-005", "Marauder (1982) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5131ab3797fe8c127e3e135b18b4d2c8", "Activision, David Crane", "AG-004", "Fishing Derby (1980) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "514f911ecff2be5eeff2f39c49a9725c", "Parker Brothers", "931510", "Sky Skipper (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "515046e3061b7b18aa3a551c3ae12673", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "516ffd008057a1d78d007c851e6eff37", "Parker Brothers, Dawn Stockbridge", "PB5910", "Strawberry Shortcake - Musical Match-Ups (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "517592e6e0c71731019c0cebc2ce044f", "Parker Brothers - JWDA, Todd Marshall", "PB5550", "Q-bert's Qubes (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "517923e655755086a3b72c0b17b430e6", "Tron", "", "Super Tennis (Tron)", "AKA RealSports Tennis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5188fee071d3c5ef0d66fb45c123e4a5", "Gameworld", "133-001", "Encounter at L-5 (1983) (Gameworld) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 50", "", "", "", "" }, + { "519f007c0e14fb90208dbb5199dfb604", "Amiga - Video Soft", "", "Depth Charge (1983) (Amiga) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "51c1ddc9d6d597f71fb7efb56012abec", "Bit Corporation", "R320", "Lock 'n' Chase (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "51de328e79d919d7234cf19c1cd77fbc", "Atari, Mark R. Hahn", "CX2678", "Dukes of Hazzard (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "51e390424f20e468d2b480030ce95d7b", "Video Game Program", "", "Fire Bird (Video Game Program) (PAL)", "AKA Phoenix", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "51f15b39d9f502c2361b6ba6a73464d4", "", "", "Amanda Invaders (PD) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "51f211c8fc879391fee26edfa7d3f11c", "Activision, Bob Whitehead", "AX-015, AX-015-04", "Chopper Command (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "521f4dd1eb84a09b2b19959a41839aad", "Bit Corporation", "PG206", "Bobby Is Going Home (1983) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "522b27a8afeb951b5a5a667f8d1a46a1", "Omegamatrix", "", "Millipede (Amiga Mouse) v6.5 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "522c9cf684ecd72db2f85053e6f6f720", "Rainbow Vision - Suntek", "SS-008", "Year 1999, The (1983) (Rainbow Vision) (PAL)", "AKA Condor Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "52385334ac9e9b713e13ffa4cc5cb940", "CCE", "C-804", "Open, Sesame! (1983) (CCE)", "AKA Abre-te, Sesamo!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "523f5cbb992f121e2d100f0f9965e33f", "Joe Grand", "", "SCSIcide (1.30) (CGE 2001 Release) (Joe Grand)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "", "", "AUTO 65", "", "", "", "" }, + { "524693b337f7ecc9e8b9126e04a232af", "", "", "Euchre (19-08-2001) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5256f68d1491986aae5cfdff539bfeb5", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (07-26-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "525ea747d746f3e80e3027720e1fa7ac", "Activision, Garry Kitchen - Ariola", "EAZ-032 - 771 032-712", "Pressure Cooker (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "525f2dfc8b21b0186cff2568e0509bfc", "Activision, David Crane", "AG-930-04, AZ-030", "Decathlon (1983) (Activision) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "52615ae358a68de6e76467e95eb404c7", "", "", "DJdsl-wopd (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "528400fad9a77fd5ad7fc5fdc2b7d69d", "Starpath Corporation, Stephen H. Landrum, Jon Leupp", "11 AR-4201", "Sword of Saros (1983) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "52a0003efb3b1c49fcde4dbc2c685d8f", "Atari, Alan Miller - Sears", "CX2641 - 99807, 49-75105", "Surround (1977) (Atari) (4K) [a]", "", "", "", "", "2K", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "52b448757081fd9fabf859f4e2f91f6b", "", "", "Worm War I (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "52bae1726d2d7a531c9ca81e25377fc3", "", "", "Space Instigators (V1.8 Fixed) (20-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "52e1954dc01454c03a336b30c390fb8d", "Retroactive", "", "Qb (2.14) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "52e9db3fe8b5d336843acac234aaea79", "", "", "Fu Kung! (V0.11) (28-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5305f69fbf772fac4760cdcf87f1ab1f", "Jone Yuan Telephonic Enterprise Co", "", "Ski Run (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5324cf5b6dc17af4c64bf8696c39c2c1", "Imagic, Dennis Koble", "IA3203, IX-010-04", "Atlantis (1982) (Imagic) (8K)", "AKA Lost City of Atlantis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "533661e9bccd8a9f80ce3765f282c92f", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) (Y Inverted) v4 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5336f86f6b982cc925532f2e80aa1e17", "Parker Brothers - JWDA, Todd Marshall, Robin McDaniel, Ray Miller", "PB5060", "Star Wars - Death Star Battle (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "534e23210dd1993c828d944c6ac4d9fb", "M Network, Stephen Tatsumi, Jane Terjung - Kool Aid", "MT4648", "Kool-Aid Man (1983) (M Network)", "AKA Kool Aid Pitcher Man", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5355f80cacf0e63a49cbf4ade4e27034", "Christian Samuel", "", "Cute Dead Things House (Christian Samuel) (Hack)", "Hack of Haunted House", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5360693f1eb90856176bd1c0a7b17432", "", "", "Oystron (V2.85) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "536bf56baa70acb17113884ac41f2820", "Atari, Omegamatrix", "", "Video Olympics Menu (2020) (PAL) (Hack)", "Hack of Video Olympics", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "AUTO 60", "", "", "", "" }, + { "537ed1e0d80e6c9f752b33ea7acbe079", "", "", "A-VCS-tec Challenge (beta 5) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5385cf2a04de1d36ab55c73174b84db0", "Paul Slocum", "", "Combat Rock (PD) (Hack)", "Hack of Combat", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "539d26b6e9df0da8e7465f0f5ad863b7", "Atari, Carol Shaw - Sears", "CX2636 - 49-75156", "Video Checkers (1980) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "539f3c42c4e15f450ed93cb96ce93af5", "Dion Olsthoorn", "v1.3", "Amoeba Jump (2018) (Dionoid)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "53b66f11f67c3b53b2995e0e02017bd7", "CCE", "C-1005", "Super Tennis (1983) (CCE)", "AKA RealSports Tennis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "53bd1c7c972ae634c912331a9276c6e3", "Atari, Nick 'Sandy Maiwald' Turner", "CX2665", "Frog Pond (1982) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "53d181cde2e0219b5754caad246fcb66", "", "", "Missile Demo (1998) (Ruffin Bailey) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "53e03df47e76329b701641f8bdc206f5", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "53f147b9746fdc997c62f3dd67888ee5", "Activision, Bob Whitehead", "AG-011", "Stampede (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "540075f657d4b244a1f74da1b9e4bf92", "Bit Corporation", "PGP230", "Festival (4 Game in One Dark Green) (1983) (BitCorp) (PAL)", "AKA Carnival", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5409d20c1aea0b89c56993aec5dc5740", "", "", "Carnival Shooter (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "541cac55ebcf7891d9d51c415922303f", "SpiceWare - Darrell Spice Jr.", "SW-05", "Stay Frosty 2", "AtariAge Holiday Greetings 2014", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "", "", "YES", "" }, + { "5428cdfada281c569c74c7308c7f2c26", "Activision, Larry Kaplan, David Crane", "AG-010, AG-010-04", "Kaboom! (1981) (Activision)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "542c6dd5f7280179b51917a4cba4faff", "ZiMAG - Emag - Vidco", "GN-080", "Spinning Fireball (1983) (ZiMAG) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5438e84b90e50a5362f01cc843b358d4", "Arcadia Corporation, Scott Nelson", "3 AR-4300", "Fireball (1982) (Arcadia) (Prototype)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "543b4b8ff1d616fa250c648be428a75c", "Warren Robinett", "", "Adventure (1978) (Warren Robinett) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "545048ccb045f9efc6cf2b125cd0dfa8", "Arcadia Corporation, Stephen Harland Landrum, Jon Leupp", "AR-4201", "Sword of Saros (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "54785fa29e28aae6038929ba29d33d38", "", "", "Poker Squares (V0.19) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "54836a8f23913e9a77c7f2665baf36ac", "Bit Corporation", "PG204", "Open, Sesame! (1982) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5494b9ee403d9757f0fd1f749e80214a", "Larry Petit", "", "Xenophobe Arcade (2003) (Larry Petit) (Hack)", "Hack of Xenophobe", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "54a1c1255ed45eb8f71414dadb1cf669", "Spectravideo", "SA-212", "Mangia' (1983) (Spectravideo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "54bafc299423f5a50b8bc3a797914706", "SOLID Corp. (D. Scott Williamson)", "CX2655*", "Star Castle 2600 (SolidCorp) (PAL)", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "54da3b0b3f43f5b37911c135b9432b49", "", "", "Halloween III Revision (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "54f7efa6428f14b9f610ad0ca757e26c", "Apollo - Games by Apollo, Steve Stringfellow", "AP-2005", "Shark Attack (1982) (Apollo)", "AKA Lochjaw", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "551a64a945d7d6ece81e9c1047acedbc", "Matthias Jaap", "", "Coffee Cup Soccer (Matthias Jaap) (Hack)", "Hack of Pele's Soccer", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5524718a19107a04ec3265c93136a7b5", "Thomas Jentzsch", "", "RealSports Basketball (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "553dbf9358cfd2195e2fa0e08b01fb6a", "Atari - GCC, Mike Feinstein, Kevin Osborn", "CX2691", "Joust (07-05-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "554fd5775ca6d544818c96825032cf0d", "Atari - Roklan, Bob Curtiss", "", "Firefox (06-01-83) (Atari) (Prototype)", "AKA Combat II, Fighter Command", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "557e893616648c37a27aab5a47acbf10", "Atari - Axlon, Tod Frye - Heuristica, Augustin Ortiz", "CX26169", "Shooting Arcade (01-16-1990) (Atari) (Prototype) (PAL)", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "559317712f989f097ea464517f1a8318", "Panda", "100", "Space Canyon (1983) (Panda)", "AKA Space Cavern", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "55949cb7884f9db0f8dfcf8707c7e5cb", "Atari, Ed Logg, Carol Shaw - Sears", "CX2639 - 49-75162", "Othello (1981) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "55ace3c775f42eb46f08bb1dca9114e7", "", "", "Shadow Keep (04-03-2003) (Andrew Towers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "55ef6ab2321ca0c3d369e63d59c059c8", "", "", "Pitfall! (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "55ef7b65066428367844342ed59f956c", "Atari - Roklan, Joe Gaucher, Alex Leavens", "CX2683", "Crazy Climber (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "56210a3b9ea6d5dd8f417a357ed8ca92", "Probe 2000 - NAP, Roger Booth, Todd Marshall, Robin McDaniel, Jim Wickstead", "3152VC", "Pursuit of the Pink Panther (Probe) (Prototype) [bad dump]", "AKA Adventures of the Pink Panther", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "56300ed31fef018bd96768ccc982f7b4", "HES - Activision", "559", "Rad Action Pak - Kung-Fu Master, Freeway, Frostbite (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5641c0ff707630d2dd829b26a9f2e98f", "Joystik", "", "Motocross (Joystik)", "AKA Motocross Racer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5643ee916f7dc760148fca4db3aa7d10", "", "", "Moon Patrol (Genesis)", "Genesis controller (C is jump)", "Hack of Moon Patrol", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5678ebaa09ca3b699516dba4671643ed", "Coleco, Sylvia Day, Henry Will IV", "2459", "Mouse Trap (1982) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "568371fbae6f5e5b936af80031cd8888", "", "", "Robotfindskitten2600 (26-04-2003) (Jeremy Penner)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "56f72247eb9ebfd33bfd0cca23ab7ef4", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) v4 (PAL60) (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "571c6d9bc71cb97617422851f787f8fe", "Activision, David Crane - Ariola", "EAG-004, PAG-004 - 711 004-715", "Fishing Derby (1980) (Activision) (PAL)", "AKA Schneller als der Hai", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "572d0a4633d6a9407d3ba83083536e0f", "Funvision - Fund. International Co.", "", "Busy Police (Funvision)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "575c0fb61e66a31d982c95c9dea6865c", "", "", "Blackjack (Unknown) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "", "", "" }, + { "57939b326df86b74ca6404f64f89fce9", "Atari, Sam Comstock, Richard Dobbis, Nick 'Sandy Maiwald' Turner", "CX26111", "Snoopy and the Red Baron (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "579baa6a4aa44f035d245908ea7a044d", "Jess Ragan", "", "Galaxian Enhanced Graphics (Jess Ragan) (Hack)", "Hack of Galaxian", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "57a66b6db7efc5df17b0b0f2f2c2f078", "Retroactive", "", "Qb (V2.08) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "57c5b351d4de021785cf8ed8191a195c", "Atari - CCW, Gary Stark", "CX26102", "Cookie Monster Munch (1983) (Atari)", "Uses Kids/Keypad Controllers", "", "", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "5835a78a88f97acea38c964980b7dbc6", "", "", "Cosmic Creeps (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "5846b1d34c296bf7afc2fa05bbc16e98", "Atari - Sears", "CX2643 - 6-99815", "Codebreaker (1978) (Atari)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "58513bae774360b96866a07ca0e8fd8e", "Mystique - American Multiple Industries, Joel H. Martin", "1001", "Custer's Revenge (1982) (Mystique)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "585600522b1f22f617652c962e358a5d", "", "", "Multi-Sprite Game V2.2 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "585f73010e205ae5b04ee5c1a67e632d", "", "", "Daredevil (V3) (Stunt_Cycle_Rules!) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5864cab0bc21a60be3853b6bcd50c59f", "", "", "Commando Raid (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "58746219d8094edff869f0f5c2aeaad5", "Jone Yuan Telephonic Enterprise Co", "", "Bowling (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5894c9c0c1e7e29f3ab86c6d3f673361", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "AZ-033, AZ-033-04", "Space Shuttle (1983) (Activision)", "A Journey Into Space", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "589c73bbcd77db798cb92a992b4c06c3", "Xonox - K-Tel Software - Action Graphics, Michael Schwartz, David Thiel", "6230, 7210, 06004, 99004", "Artillery Duel (1983) (Xonox) (PAL60)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "58a82e1da64a692fd727c25faef2ecc9", "CCE", "C-824", "Jaw Breaker (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "58c396323ea3e85671e34c98eb54e2a4", "Brian Watson", "", "Color Tweaker (B. Watson)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "58d331c23297ed98663d11b869636f16", "", "", "Fu Kung! (V0.09) (26-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "58e313e2b5613b2439b5f12bb41e3eef", "", "", "Cube Conquest (Demo Interlace) (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "590ac71fa5f71d3eb29c41023b09ade9", "Atari - GCC, Mark Ackerman, Tom Calderwood, Glenn Parker", "CX2684", "Galaxian (01-05-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "59135f13985b84c4f13cc9e55eec869a", "", "", "Multi-Sprite Game V2.0 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "594437a35603c3e857b5af75b9718b61", "HES - Activision", "", "Robot Tank (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "594dbc80b93fa5804e0f1368c037331d", "Telesys, Alex Leavens", "", "Bouncin' Baby Bunnies (1983) (Telesys) (Prototype)", "AKA Baby Boom Boom, Bouncing Baby Monkeys", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5961d259115e99c30b64fe7058256bcf", "Universal Gamex Corporation, Miguel Castillo, H.K. Poon", "GX-001", "X-Man (1983) (Universal)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "59734e1cc41822373845a09c51e6ba21", "Activision, John Van Ryzin", "AG-038-04", "Cosmic Commuter (1984) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "598a4e6e12f8238b7e7555f5a7777b46", "Tigervision", "7-008", "Miner 2049er (1983) (Tigervision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "599cbf919d47a05af975ad447df29497", "Jake Patterson", "", "Baubles (V0.002) (2001) (Jake Patterson) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "59b70658f9dd0e2075770b07be1a35cf", "Thomas Jentzsch", "", "Surfer's Paradise (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "59d33e00c07665395209c1e55da0b139", "", "", "Imagic Selector ROM (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "59e53894b3899ee164c91cfa7842da66", "Data Age", "", "Survival Run (1983) (Data Age) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "59e96de9628e8373d1c685f5e57dcf10", "PlayAround - J.H.M.", "204", "Beat 'Em & Eat 'Em (1982) (PlayAround)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, + { "59f596285d174233c84597dee6f34f1f", "CCE", "C-811", "River Raid (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5a0ff99ba10bd26d542e1d6f59f56850", "Champ Games", "CG-04-P", "Super Cobra Arcade (PAL60)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "", "", "YES", "" }, + { "5a17e30e6e911e74ccd7b716d02b16c6", "Activision, Dan Kitchen", "AX-029", "Crackpots (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5a272012a62becabcd52920348c7c60b", "Star Game", "", "Pitfall (Star Game)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5a2f2dcd775207536d9299e768bcd2df", "Otto Versand", "781698", "Flippern (Double-Game Package) (1983) (Otto Versand) (PAL)", "AKA Video Pinball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5a4205aeedd3b0588f973f38bbd9dfd4", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5a5390f91437af9951a5f8455b61cd43", "Retroactive", "", "Qb (0.11) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "5a6febb9554483d8c71c86a84a0aa74e", "CCE", "C-1003", "Donkey Kong Jr (1983) (CCE)", "AKA Donkey Kong Junior", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5a734779d797ccef25dc8acfa47244c7", "", "", "Oh No! (Version 2) (18-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5a80b857eb8b908ab477ec4ef902edc8", "Activision, Bob Whitehead", "AG-002, CAG-002, AG-002-04", "Boxing (1980) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5a81ad4e184050851e63c8e16e3dac77", "Jone Yuan Telephonic Enterprise Co", "Hack", "Sky Diver (Jone Yuan) (Hack)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5a8afe5422abbfb0a342fb15afd7415f", "Atari - Bobco, Robert C. Polaro", "CX26155", "Sprint Master (1988) (Atari)", "AKA Sprint 88, Sprint 2000", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5a93265095146458df2baf2162014889", "Activision, Steve Cartwright - Ariola", "EAX-031, EAX-031-04B - 711 031-717", "Frostbite (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5a9685c4d51a6c1d6a9544946d9e8dc3", "AtariAge", "", "Grandma's Revenge (AtariAge)", "Can use Driving Controller in right port", "", "", "", "", "", "", "", "", "", "DRIVING", "", "", "", "", "", "", "", "" }, + { "5a9d188245aff829efde816fcade0b16", "CCE", "C-808", "Phantom Tank (1983) (CCE) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5acf9865a72c0ce944979f76ff9610f0", "", "", "Dodge Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5ae73916fa1da8d38ceff674fa25a78a", "CCE", "", "Barnstorming (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5aea9974b975a6a844e6df10d2b861c4", "Atari, Dan Hitchens. Mimi Nyden", "CX2656", "SwordQuest - EarthWorld (1982) (Atari)", "AKA Adventure I, SwordQuest I - EarthWorld", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5af9cd346266a1f2515e1fbc86f5186a", "SEGA", "002-01", "Sub-Scan (1983) (SEGA)", "AKA Subterfuge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5b124850de9eea66781a50b2e9837000", "PlayAround - J.H.M.", "205", "Bachelor Party (1982) (PlayAround)", "Uses the paddle controllers", "Extremely Rare", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "AUTO 65", "", "", "YES", "" }, + { "5b574faa56836da0866ba32ae32547f2", "", "", "Tomb Raider 2600 [REV 03] (Montezuma's Revenge Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5b5d04887922b430de0b7b2a21f9cd25", "", "", "Omega Race (Genesis)", "Genesis controller (B is thrust, C is fire)", "Hack of Omega Race", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5b6f5bcbbde42fc77d0bdb3146693565", "", "", "Seaquest (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5b7ea6aa6b35dc947c65ce665fde624b", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (2 of 3) (1982) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5b85e987e2b1618769d97ba9182333d0", "Atari - GCC, Mike Feinstein, Brad Rice", "CX2681", "Battlezone (05-12-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5b92a93b23523ff16e2789b820e2a4c5", "Activision - Imagineering, Dan Kitchen, Garry Kitchen", "AG-039-04", "Kung-Fu Master (1987) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5b98e0536c3f60547dd708ae22adb04b", "Ben Hudman", "", "Donkey Kong Gingerbread Man (Ben Hudman) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5b9c2e0012fbfd29efd3306359bbfc4a", "HES", "", "2 Pak Special - Hoppy, Alien Force (1992) (HES) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5babe0cad3ec99d76b0aa1d36a695d2f", "Coleco - Individeo, Ed Temple", "2654", "Looping (1983) (Coleco) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5bba254e18257e578c245ed96f6b003b", "", "", "Music Effects Demo (21-01-2003) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "5bbab3f3e4b47e3e23f9820765dbb45c", "", "", "Pitfall! (says 1985) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5bbb75b49b2bccef9c91ff84bb249c80", "Thomas Jentzsch", "", "Missile Control - Atari Trak-Ball Hack v1.15 (NTSC) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5bc9998b7e9a970e31d2cb60e8696cc4", "Jack Kortkamp", "", "Borgwars Asteroids (2003) (Jack Kortkamp) (Hack)", "Hack of Asteroids", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "5bcc83677d68f7ef74c1b4a0697ba2a8", "Activision, Alan Miller", "AX-012, CAX-012, AX-012-04", "Ice Hockey (1981) (Activision) (16K)", "", "", "", "", "4K", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5bd79139a0c03b63f6f2cf00a7d385d2", "Marc de Smet", "", "An Exercise In Minimalism (V1) (1999) (Marc de Smet) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5be03a1fe7b2c114725150be04b38704", "Atari, Alan Miller", "CX2642", "Hunt & Score (1978) (Atari) (PAL)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5c0227ad63300670a647fcebf595ea37", "Josh", "", "Battle for Naboo (Josh) (Hack)", "Hack of Atlantis", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5c0520c00163915a4336e481ca4e7ef4", "Rainbow Vision - Suntek", "SS-004", "Pyramid War (1983) (Rainbow Vision) (PAL) [a1]", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5c19f6da638c4c7c1f98d09e63df43e4", "Canal 3 - Intellivision", "", "Cosmic Ark (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5c1b1aa78b7609d43c5144c3b3b60adf", "", "", "Demo Image Series #8 - Two Marios (Different Interlacing) (27-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5c3a6d27c026f59a96b7af91e8b1bf26", "PlayAround - J.H.M.", "", "PlayAround Demo (PlayAround) (1982)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5c618a50dfa23daac97ba459b9ff5206", "Steve Engelhardt", "", "Berzerk Renegade (2002) (Steve Engelhardt) (Hack)", "Hack of Room of Doom", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "5c73693a89b06e5a09f1721a13176f95", "", "", "Wavy Line Test 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5c86e938e0845b9d61f458539e9a552b", "Atari, Alan Miller", "CX26163P", "Surround (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5cbd7c31443fb9c308e9f0b54d94a395", "Spectravideo, Mark Turmell", "SA-217", "Gas Hog (1983) (Spectravideo) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5ce98f22ade915108860424d8dde0d35", "", "", "Hangman Man Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5ced13931c21ef4fc77d3fe801a1cbfa", "CCE", "C-828", "Missile Command (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5d0e8a25cbd23e76f843c75a86b7e15b", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (09-07-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5d132d121aabc5235dd039dfc46aa024", "", "", "Basketball (208 in 1) (Unknown) (PAL) (Hack)", "Console ports are swapped", "Hack", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "5d25df9dc2cde746ceac48e834cf84a7", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "EAZ-033", "Space Shuttle (1983) (Activision) (SECAM)", "A Journey Into Space", "", "", "", "FE", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5d2cc33ca798783dee435eb29debf6d6", "Activision - Imagineering, Mike Reidel", "AK-043-04", "Commando (1988) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5d7293f1892b66c014e8d222e06f6165", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a1]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5d799bfa9e1e7b6224877162accada0d", "Spectravision - Spectravideo - Sirius Software, David Lubar", "SA-206", "Challenge of.... Nexar, The (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5d8f1ab95362acdf3426d572a6301bf2", "Thomas Jentzsch", "", "SWOOPS! (v0.96) (TJ) (PAL)", "Uses the Joystick (L) and Paddle (R) Controllers", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5d8fb14860c2f198472b233874f6b0c9", "", "", "Boing! (PD) [a2]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5d9592756425192ec621d2613d0e683d", "CCE", "C-839", "Misterious Thief, A (1983) (CCE) [a]", "AKA A Mysterious Thief", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5da8fd0b5ed33a360bff37f8b5d0cd58", "Tron", "", "Pole Position (Tron)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5dae540347cf0a559962d62604ecf750", "Canal 3 - Intellivision", "", "Freeway (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5db9e5bf663cad6bf159bc395f6ead53", "Goliath - Hot Shot", "83-212", "Time Race (1983) (Goliath) (PAL)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5dccf215fdb9bbf5d4a6d0139e5e8bcb", "Froggo", "FG1009", "Sea Hunt (1987) (Froggo)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5de8803a59c36725888346fdc6e7429d", "Atari, John Dunn - Sears", "CX2631 - 49-75152", "Superman (1979) (Atari) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5df32450b9fbcaf43f9d83bd66bd5a81", "Eric Ball", "", "Atari Logo Playfield Demo (2001) (Eric Ball) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5df559a36347d8572f9a6e8075a31322", "Digivision", "", "Enduro (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5e0c37f534ab5ccc4661768e2ddf0162", "Telegames - VSS, Ed Salvo", "5667 A106", "Glacier Patrol (1988) (Telegames)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5e1b4629426f4992cf3b2905a696e1a7", "Activision - Bobco, Robert C. Polaro", "AK-049-04", "Rampage! (1989) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5e1b7a6078af428ef056fe85a37a95ca", "Activision, David Crane", "AX-014, AX-014-04", "Grand Prix (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5e1cd11a6d41fc15cf4792257400a31e", "Philip R. Frey", "", "Return of Mario Bros (Philip R. Frey) (Hack)", "Hack of Mario Bros.", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5e201d6bfc520424a28f129ee5e56835", "Universal Gamex Corporation, Miguel Castillo, H.K. Poon", "GX-001", "X-Man (1983) (Universal) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5e2495d43b981010304af55efed1e798", "Jone Yuan Telephonic Enterprise Co", "", "Math Gran Prix (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5e43c0391f7412ae64fae6f3742d6ee9", "Thomas Jentzsch, Paul Slocum", "", "Thrust+ Platinum (v1.27)", "", "New Release, supports BoosterGrip", "", "", "", "", "", "", "", "BOOSTERGRIP", "DRIVING", "", "", "", "", "", "", "", "" }, + { "5e99aa93d0acc741dcda8752c4e813ce", "", "", "2600 Digital Clock (V b2) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5ec73ac7d2ac95ac9530c6d33e713d14", "Arcadia Corporation, Scott Nelson", "13", "Sweat! - The Decathlon Game (2 of 3) (1983) (Arcadia) (Prototype)", "Uses the Paddle Controllers (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5eeb81292992e057b290a5cd196f155d", "Wizard Video Games - VSS, Ed Salvo", "008", "Texas Chainsaw Massacre, The (1983) (Wizard Video)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5ef303b9f0aa8cf20720c560e5f9baa1", "Atari, Jim Huether", "CX2629, CX2629P", "Sky Diver (1979) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f1b7d5fa73aa071ba0a3c2819511505", "CCE", "", "Cosmic Commuter (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f2b4c155949f01c06507fb32369d42a", "Apollo, Ed Salvo", "AP-1001", "Skeet Shoot (1981) (Apollo) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f316973ffd107f7ab9117e93f50e4bd", "", "", "Commando Raid (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f39353f7c6925779b0169a87ff86f1e", "Atari - GCC, John Allred, Douglas B. Macrae, Betty Ryan Tylko", "CX2694", "Pole Position (1983) (Atari) [a]", "AKA RealSports Driving", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f46d1ff6d7cdeb4b09c39d04dfd50a1", "Atari, Gary Palmer", "CX2661P", "Fun with Numbers (1980) (Atari) (PAL)", "AKA Basic Math", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f4ebf8a1e5f5f7b9ff3e3c6affff3e6", "Bit Corporation", "R320", "Donkey Kong (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f560837396387455c9dcb05cdd4b053", "Canal 3 - Intellivision", "", "Eggomania (Canal 3)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "", "" }, + { "5f681403b1051a0822344f467b05a94d", "Atari, Howard Scott Warshaw - Sears", "CX2655 - 49-75167", "Yars' Revenge (1982) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "5f708ca39627697e859d1c53f8d8d7d2", "Atari, Warren Robinett - Sears", "CX2606 - 6-99825, 49-75112", "Slot Racers (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f73e7175474c1c22fb8030c3158e9b3", "Atari, Nick 'Sandy Maiwald' Turner", "CX2665", "Frog Pond (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f786b67e05fb9985b77d4beb35e06ee", "Atari, Bill Aspromonte, Andrew Fuchs", "CX26120", "Defender II (1987) (Atari) (PAL)", "AKA Stargate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f7ae9a7f8d79a3b37e8fc841f65643a", "Atari, Jerome Domurat, Peter C. Niday, Robert Vieira", "CX26109", "Sorcerer's Apprentice (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f7de62a408b9de3a1168898298fd31d", "", "", "Super Cobra (Genesis)", "Genesis controller (B is bomb, C is laser)", "Hack of Super Cobra", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5f950a2d1eb331a1276819520705df94", "20th Century Fox Video Games - Micro Computer Technologies, Jim Collas", "", "Heart Like a Wheel (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "5f9b62350b31be8bd270d9a241cbd50e", "Telegames", "5658 A088", "Football (1988) (Telegames) (PAL)", "AKA Super Challenge Football", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5faffe1c4c57430978dec5ced32b9f4a", "Dactari - Milmar", "", "Volleyball (Dactari - Milmar)", "AKA RealSports Volleyball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5fb71cc60e293fe10a5023f11c734e55", "", "", "This Planet Sucks (Fix) (27-12-2002) (Greg Troutman)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "600d48eef5c0ec27db554b7328b3251c", "", "", "Bars and Text Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6015a9cef783e97e98a2aa2cf070ae06", "Thomas Jentzsch", "", "Battlezone TC (Thomas Jentzsch) (Hack)", "Uses two simultaneous Joystick Controllers, Hack of Battlezone", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "60358edf0c2cc76b1e549e031e50e130", "Manuel Polik", "", "Cyber Goth Galaxian (Manuel Polik) (Hack)", "Hack of Galaxian", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "603c7a0d12c935df5810f400f3971b67", "Bit Corporation", "PG209", "Mr. Postman (1983) (BitCorp) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6041f400b45511aa3a69fab4b8fc8f41", "Apollo, Ban Tran", "AP-2010", "Wabbit (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "604e09724555807c28108049efe34a13", "", "", "Sokoban (01-01-2003) (Adam Wozniak)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6058e40ce79d7434c7f7477b29abd4a5", "", "", "Rubik's Cube Demo (23-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "605dcb73d22f4efdb90ef9da2f290f7c", "Atari, Larry Kaplan", "CX26163P", "Air-Sea Battle (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "605fd59bfef88901c8c4794193a4cbad", "Data Age", "", "Secret Agent (1983) (Data Age) (Prototype)", "Uses the Paddle Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, + { "606c2c1753051e03c1f1ac096c9d2832", "Jone Yuan Telephonic Enterprise Co", "", "Crackpots (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6076b187a5d8ea7a2a05111c19b5d5cd", "", "", "Fu Kung! (V0.14) (01-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "60a61da9b2f43dd7e13a5093ec41a53d", "VentureVision, Dan Oliver", "VV2001", "Rescue Terra I (1982) (VentureVision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "60bbd425cb7214ddb9f9a31948e91ecb", "Activision, Bob Whitehead", "AG-005, CAG-005, AG-005-04", "Skiing (1980) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "60cd61a2dfccb0e2736434f9792c1672", "Amiga - Video Soft, Frank Ellis, Jerry Lawson", "2110", "3-D Havoc (1983) (Amiga) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "60d304582d33e2957b73eb300a7495bb", "", "", "Jam Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "60e0ea3cbe0913d39803477945e9e5ec", "Atari, Joe Decuir - Sears", "CX2621 - 99806, 6-99806, 49-75104", "Video Olympics (1977) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "PADDLES_IAXDR", "YES", "", "", "AUTO 60", "", "", "", "" }, + { "613abf596c304ef6dbd8f3351920c37a", "", "", "Boring Pac-Man (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6141c095d0aee4e734bebfaac939030a", "Rainbow Vision - Suntek", "SS-017", "Mariana (1983) (Rainbow Vision) (PAL)", "AKA Seaquest", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "61426cee013306e7f7367534ab124747", "", "", "One Blue Bar Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "615a3bf251a38eb6638cdc7ffbde5480", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2674", "E.T. - The Extra-Terrestrial (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "61621a556ad3228f0234f5feb3ab135c", "", "", "Fu Kung! (V0.05 Cuttle Card Compattle Revision) (14-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "61631c2f96221527e7da9802b4704f93", "Activision - Imagineering, Mike Reidel", "AK-043-04", "Commando (1988) (Activision) [different logo]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "61719a8bdafbd8dab3ca9ce7b171b9e2", "", "", "Enduro (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "61728c6cfb052e62a9ed088c5bf407ba", "", "", "Sprite Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "619de46281eb2e0adbb98255732483b4", "", "", "Time Warp (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "61dbe94f110f30ca4ec524ae5ce2d026", "CCE", "C-820", "Space Invaders (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "61e0f5e1cc207e98704d0758c68df317", "Star Game", "007", "Tennis (Star Game)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "61ef8c2fc43be9a04fe13fdb79ff2bd9", "", "", "Gas Gauge Demo - Revisited (2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6205855cc848d1f6c4551391b9bfa279", "", "", "Euchre (Release Candidate 2) (NTSC) (01-10-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6238ac888871fec301d1b9fc4fc613c9", "Thomas Jentzsch", "", "Marble Craze - Atari Mouse Hack v1.0 (PAL) (TJ)", "Uses Atari Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "624e0a77f9ec67d628211aaf24d8aea6", "Panda", "108", "Sea Hawk (1983) (Panda)", "AKA Seahawk", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "626d67918f4b5e3f961e4b2af2f41f1d", "Atari", "50008", "Diagnostic Test Cartridge 2.0 (1980) (Atari) (Prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6272f348a9a7f2d500a4006aa93e0d08", "Atari, Jerome Domurat, Michael Sierchio", "CX2667, CX2667P", "RealSports Soccer (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "62899430338e0538ee93397867d85957", "Gameworld", "133-004", "Airlock (1983) (Gameworld) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "62921652f6634eb1a0940ed5489c7e18", "", "", "SCSIcide (V1.09) (2001) (Joe Grand)", "", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "", "", "AUTO 65", "", "", "", "" }, + { "62992392ea651a16aa724a92e4596ed6", "Eric Mooney", "", "Invaders by Erik Mooney (Beta) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "62d1f50219edf9a429a9f004c19f31b3", "JWDA, Todd Marshall", "", "Euro Gen (02-01-83) (JWDA) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "62ee2b8f59e9cd6285bbdb674a952e8b", "Probe 2000 - NAP, Roger Booth, Todd Marshall, Robin McDaniel, Jim Wickstead", "3152VC", "Pursuit of the Pink Panther (Probe) (Prototype)", "AKA Adventures of the Pink Panther", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "62f74a2736841191135514422b20382d", "", "", "Pharaoh's Curse (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "YES", "" }, + { "62ffd175cac3f781ef6e4870136a2520", "", "", "2600 Digital Clock (V x.xx) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "63166867f75869a3592b7a94ea62d147", "", "", "Indy 500 (Hack) [a1]", "Hack of Indy 500", "Hack", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "", "", "", "", "" }, + { "6333ef5b5cbb77acd47f558c8b7a95d3", "Greg Troutman", "", "Dark Mage (Greg Troutman) (PD) (8K)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6337927ad909aa739d6d0044699a916d", "Jeffry Johnston", "", "Radial Pong - Version 2 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6339d28c9a7f92054e70029eb0375837", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6342afe9c9ad1b6120b8f6fb040d0926", "", "", "Move a Blue Blob Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6354f9c7588a27109c66905b0405825b", "Thomas Jentzsch", "", "Amidar DS (2003) (TJ) (Hack)", "Hack of Amidar", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6358f7f8bf0483402a080efccf250d61", "CommaVid, John Bronstein", "CM-003", "Cosmic Swarm (1982) (CommaVid) (Prototype)", "AKA Termite", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "635cc7a0db33773959d739d04eff96c2", "", "", "Minesweeper (V.90) (Soren Gust) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6362396c8344eec3e86731a700b13abf", "Panda", "109", "Exocet (1983) (Panda)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "637efac676ff063f2fbb0abff77c4fa5", "", "", "Noize Maker Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "63811ed69bdbc35c69d8aa7806c3d6e9", "Atari", "CX26163P", "Homerun (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "638cc82ea96f67674595ba9ae05da6c6", "Rainbow Vision - Suntek", "SS-011", "Super Ferrari (1983) (Rainbow Vision) (PAL)", "AKA Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "63a6eda1da30446569ac76211d0f861c", "Activision, David Crane", "AG-001", "Dragster (1980) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "63a7445b1d3046d3cdcdbd488dca38d9", "Rob Kudla", "", "Better Space Invaders (1999) (Rob Kudla) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "63c5fef3208bb1424d26cf1ab984b40c", "", "", "Analog Clock (V0.1) (20-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "63c7395d412a3cd095ccdd9b5711f387", "Eric Ball", "ELB005", "Skeleton+ (PAL)", "Stereo sound", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "63d6247f35902ba32aa49e7660b0ecaa", "", "", "Space War (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "63e42d576800086488679490a833e097", "Telesys, Jim Rupp", "1004", "Ram It (1983) (Telesys) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "63e783994df824caf289b69a084cbf3e", "David Marli", "", "Fat Albert (David Marli) (Hack)", "Hack of Fast Food", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "63e9e612bbee31045f8d184a4e53f8ec", "ATARITALIA", "", "Moby Blues (2002) (ATARITALIA) (Hack)", "Hack of Mario Bros", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "640a08e9ca019172d612df22a9190afb", "Atari - GCC, Mike Feinstein, Kevin Osborn", "CX2691, CX2691P", "Joust (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "64198bb6470c78ac24fcf13fe76ab28c", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (1982) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "643e6451eb6b8ab793eb60ba9c02e000", "Salu - Avantgarde Software, Michael Buetepage", "460741", "Ghostbusters II (1992) (Salu) (PAL) [different tune]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "645bf7f9146f0e4811ff9c7898f5cd93", "Xonox - K-Tel Software - VSS, Robert Weatherby", "6230, 6250", "Super Kung-Fu (1983) (Xonox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6468d744be9984f2a39ca9285443a2b2", "Atari, Ed Logg, Carol Shaw", "CX26163P", "Reversi (32 in 1) (1988) (Atari) (PAL)", "AKA Othello", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "647162cceb550fd49820e2206d9ee7e8", "", "", "Skeleton (NTSC) (2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "64b8e19c767191ccdc97acc6904c397b", "Jeffry Johnston", "", "Radial Pong - Version 6 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "64ca518905311d2d9aeb56273f6caa04", "CCE", "", "Cubo Magico (CCE)", "AKA Cubicolor", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "64d43859258dc8ca54949e9ff4174202", "Thomas Jentzsch", "", "Lilly Adventure (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "64fab9d15df937915b1c392fc119b83b", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26119", "Saboteur (05-20-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "650df778c6ce22d3fd1a7c33c565bcc3", "Atari - GCC, Betty Ryan Tylko, Douglas B. Macrae", "CX2694", "Pole Position (1983) (Atari)", "Genesis controller (B is high gear, C is low gear, left difficulty switch swaps gear buttons)", "Hack of Pole Position", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "", "", "" }, + { "651d2b6743a3a18b426bce2c881af212", "CCE", "C-812", "Pac Man (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6522717cfd75d1dba252cbde76992090", "Home Vision - Gem International Corp. - VDI", "VCS83102", "War 2000 (1983) (Home Vision) (PAL)", "AKA Astrowar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6538e454b0498ad2befe1ef0f87815c0", "Joe Grand", "", "SCSIcide (v1.2) (2001) (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "", "", "AUTO 65", "", "", "", "" }, + { "65490d61922f3e3883ee1d583ce10855", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692, CX2692P", "Moon Patrol (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "65562f686b267b21b81c4dddc129d724", "", "", "Euchre (28-07-2001) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "655c84e5b951258c9d20f0bf2b9d496d", "", "", "2600_2003 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "656dc247db2871766dffd978c71da80c", "Sears Tele-Games, Jim Huether", "CX2614 - 49-75126", "Steeplechase (1981) (Sears)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "AUTO 60", "", "", "", "" }, + { "6588d192d9a8afce27b44271a2072325", "Bit Corporation", "R320", "Basketball (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "65917ae29a8c9785bb1f2acb0d6aafd0", "", "", "Junkosoft One Year Demo (1999) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6596b3737ae4b976e4aadb68d836c5c7", "Digivision", "", "Defender (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "659a20019de4a23c748ec2292ea5f221", "Retroactive", "", "Qb (V2.05) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "65b106eba3e45f3dab72ea907f39f8b4", "Christian Software Development - HomeComputer Software, Dan Schafer, Glenn Stohel, Jon Tedesco - Sparrow", "GCG 1001T", "Music Machine, The (1983) (Sparrow)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, + { "65ba1a4c643d1ab44481bdddeb403827", "Quelle", "876.013 4", "Katastrophen-Einsatz (1983) (Quelle) (PAL)", "AKA M.A.S.H.", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "65bd29e8ab1b847309775b0de6b2e4fe", "Coleco, Ed English", "2667", "Roc 'n Rope (1984) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "65c6406f5af934590097c8c032ebb482", "", "", "Three Hugger (Pave Demo) (20-12-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6604f72a966ca6b2df6a94ee4a68eb82", "", "", "MegaMania (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "662eca7e3d89175ba0802e8e3425dedb", "", "", "Hangman Pac-Man Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "66362890eb78d6ea65301592cce65f5b", "", "", "Euchre (13-07-2001) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "663ef22eb399504d5204c543b8a86bcd", "CBS Electronics - Roklan, Joe Hellesen, Joe Wagner", "4L1720, 4L1721, 4L1722, 4L2276", "Wizard of Wor (1982) (CBS Electronics) (PAL)", "Uses the Joystick Controllers (swapped)", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "YES", "" }, + { "664d9bfda6f32511f6b4aa0159fd87f5", "Atari - Roklan, Joe Gaucher", "", "Racer (1982) (Atari) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6651e2791d38edc02c5a5fd7b47a1627", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (04-05-1984) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "665b8f8ead0eef220ed53886fbd61ec9", "Telesys, Don Ruffcorn, Jack Woodman", "1003", "Fast Food (1982) (Telesys)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "66706459e62514d0c39c3797cbf73ff1", "Video Gems", "VG-05", "Treasure Below (1983) (Video Gems) (PAL)", "", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6672de8f82c4f7b8f7f1ef8b6b4f614d", "Videospielkassette - Ariola", "PGP237", "Angeln I (Ariola) (PAL)", "AKA Fishing Derby", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "667a70b028f581d87648693b873bc962", "Parker Brothers - Roklan, Joe Gaucher", "PB5370", "Popeye (1983) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "668dc528b7ea9345140f4fcfbecf7066", "Gakken", "001", "Pooyan (1983) (Gakken) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6697f177847c70505824422e76aad586", "", "", "Tennis (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "669840b0411bfbab5c05b786947d55d4", "Atari, Andrew Fuchs, Jeffrey Gusman, Dave Jolly, Suki Lee", "CX26117", "Obelix (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "66b89ba44e7ae0b51f9ef000ebba1eb7", "Atari - CCW, Stephan R. Keith, Laura Scholl, Preston Stuart", "CX26106", "Grover's Music Maker (01-18-1983) (Atari) (Prototype)", "Uses Keypad Controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "66b92ede655b73b402ecd1f4d8cd9c50", "Activision, John Van Ryzin - Ariola", "EAZ-036-04, EAZ-036-04B, EAZ-036-04I - 711 036-720", "H.E.R.O. (1984) (Activision) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "66bc1bef269ea59033928bac2d1d81e6", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (Preview) (1982) (Arcadia)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, + { "66c2380c71709efa7b166621e5bb4558", "Parker Brothers, Dave Engman, Dawn Stockbridge", "931509", "Tutankham (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "66c4e0298d4120df333bc2f3e163657e", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (2 of 3) (1982) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "66f49b3248791b9803fa3e2f4165d072", "Bit Corporation", "R320", "Football (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "66fcf7643d554f5e15d4d06bab59fe70", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (09-13-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6706a00f9635508cfeda20639156e66e", "Atari, Jerome Domurat, Michael Sierchio", "CX2667", "RealSports Soccer (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "672012d40336b403edea4a98ce70c76d", "", "", "Spider Kong (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "675ae9c23fa1aae376cea86cad96f9a5", "", "", "Poker Squares (V0.25) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "67631ea5cfe44066a1e76ddcb6bcb512", "", "", "Termool (Unknown) (PAL)", "AKA Turmoil", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "67684a1d18c85ffa5d82dab48fd1cb51", "Tigervision, Warren Schwader - Teldec", "7-003", "Threshold (1982) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "678c1d71a1616d9d022f03d8545b64bb", "", "", "Demo Image Series #11 - Donald And Mario (28-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "67931b0d37dc99af250dd06f1c095e8d", "CommaVid, Irwin Gaines", "CM-004", "Room of Doom (1982) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "679d30c7886b283cbe1db4e7dbe5f2a6", "Colin Hughes", "", "Puzzle (Colin Hughes) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "679e910b27406c6a2072f9569ae35fc8", "Data Age", "DA1002", "Warplock (1982) (Data Age)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 40", "", "", "YES", "" }, + { "67bd3d4dc5ac6a42a99950b4245bdc81", "Retroactive", "", "Qb (2.11) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "67c05ae94bf8b83a666c3ae2c4bc14de", "Atari", "CX26163P", "NFL Football (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Football", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "67cdde4176e0447fc45a71e0a1cdd288", "Telegames - VSS, Ed Salvo", "5665 A016", "Glacier Patrol (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "67ce6cdf788d324935fd317d064ed842", "Retroactive", "", "Qb (V2.09) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "67cf913d1df0bf2d7ae668060d0b6694", "", "", "Hangman Monkey 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "67f90d74fd0b72fdc6d9b92436780ea9", "Omegamatrix", "", "SpaceMaster X-7 (Atari Trak-Ball) (PAL60) (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6803fa7c2c094b428b859a58dc1dd06a", "Retroactive", "", "Qb (0.11) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6805734a0b7bcc8925d9305b071bf147", "Bit Corporation", "PGP229", "Kung Fu (4 Game in One Dark Green) (1983) (BitCorp) (PAL)", "AKA Karate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "681206a6bde73e71c19743607e96c4bb", "", "", "Casino (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6833c26f385e866f3a0fa0dff311216e", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "683bb0d0f0c5df58557fba9dffc32c40", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (1982) (Arcadia) [a]", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, + { "683dc64ef7316c13ba04ee4398e2b93a", "Ed Federmeyer", "", "Edtris (1995) (Ed Federmeyer)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "68449e4aaba677abcd7cde4264e02168", "", "", "Horizonal Color Bars Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6847ce70819b74febcfd03e99610243b", "", "", "Ruby Runner 4A50", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "68489e60268a5e6e052bad9c62681635", "Bit Corporation", "PG201", "Sea Monster (1982) (BitCorp) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "68597264c8e57ada93be3a5be4565096", "Data Age", "DA1005", "Bugs (1982) (Data Age)", "Uses the Paddle Controllers", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 50", "", "", "", "" }, + { "685e9668dc270b6deeb9cfbfd4d633c3", "CommaVid, Irwin Gaines - Ariola", "CM-004 - 712 004-720", "Room of Doom (1982) (CommaVid) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "68760b82fc5dcf3fedf84376a4944bf9", "CCE", "C-860", "Laser Gate (1983) (CCE)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "687c23224e26f81c56e431c24faea36d", "", "", "Qb (Simple Background Animation) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "68878250e106eb6c7754bc2519d780a0", "CCE", "C-809", "Squirrel (1983) (CCE)", "AKA Snail Against Squirrel", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "68ac69b8e1ba83af8792f693f5ae7783", "Digivision", "", "Fathon (Digivision)", "AKA Fathom", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "68c80e7e1d30df98a0cf67ecbf39cc67", "Hozer Video Games", "", "Gunfight 2600 - One Step Forward & Two Steps Back (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "68c938a2a2b45c37db50509f1037fe6e", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) v4 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "68cd2adc6b1fc9a1f263ab4561112f30", "Thomas Jentzsch", "", "Boulderdash Demo (09-12-2002) (TJ)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "68feb6d6ff63e80df1302d8547979aec", "", "", "Starfield Demo 2 (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "690a6049db78b9400c13521646708e9c", "King Tripod Enterprise Co.", "SS - 007", "Space Raid (King Tripod) (PAL)", "AKA Challenge of.... Nexar, The", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6913c90002636c1487538d4004f7cac2", "Atari - CCW", "CX26131", "Monster Cise (1984) (Atari) (Prototype)", "Uses the Keypad Controllers (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "691d67910b08b63de8631901d1887c1f", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "692202772d8b38ccf85a90c8003a1324", "", "", "Zi - The Flie Buster (2002) (Fernando Mora) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "693137592a7f5ccc9baae2d1041b7a85", "", "", "Qb (V2.02) (Stella) (2001) (Retroactive) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6936aa6763835f62ac13d1aaa79b9f91", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (NTSC) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6979f30204149be3e227558cffe21c1d", "Atari", "CX26163P", "Miniaturer Golf (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Miniature Golf", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6982854657a2cc87d712f718e402bf85", "Zellers", "", "Earth Attack (Zellers)", "AKA Defender", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "69877da5caded48315e3e45882a303d5", "Atari - Roklan, Joe Gaucher, Alex Leavens", "CX2683", "Crazy Climber (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "698f569eab5a9906eec3bc7c6b3e0980", "SpkLeader", "", "Demons! (2003) (SpkLeader) (Hack)", "Hack of Phoenix", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "69974dd5d6420b90898cde50aec5ef39", "Activision, David Crane", "AG-009, AG-009-04", "Freeway (1981) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "69df0411d4d176e558017f961f5c5849", "CCE", "C-831", "Cosmic Ark (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "69e79b1352b9ee1754bbe63b4a7062c3", "Barry Laws Jr.", "", "Pink Floyd - The Wall (2003) (Barry Laws Jr.) (Hack)", "Hack of Berzerk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "69ebf910ab9b63e5b8345f016095003b", "", "", "Maze Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "69edfb4e1810a523311b3e250fc1e275", "Thomas Jentzsch", "", "Missile Command Atari Trak-Ball Hack v1.3 (PAL) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "69fac82cd2312dd9ce5d90e22e2f070a", "Spectravision - Spectravideo - Quelle", "SA-202 - 412.851 8", "Planet Patrol (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6a03c28d505bab710bf20b954e14d521", "", "", "Pressure Gauge 2 Beta (Hozer Video Games)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6a07836c382195dd5305ce61d992aaa6", "Apollo, Larry Martin", "AP-2008", "Guardian (1982) (Apollo) (Prototype)", "Uses the Paddle Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, + { "6a091b8ffeacd0939850da2094b51564", "", "", "Vertically Scrolling Playfield (02-02-2003) (Aaron Bergstrom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6a222c26bcece3a510ddda21398f72c6", "Bit Corporation", "PG203", "Phantom Tank (1982) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6a2c68f7a77736ba02c0f21a6ba0985b", "Atari, Larry Wagner, Bob Whitehead", "", "Computer Chess (07-07-1978) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6a3b0c33cf74b1e213a629e3c142b73c", "Cody Pittman", "", "Cory The Interviewer (Cody Pittman) (Hack)", "Hack of Ghostbusters", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6a76d5f0ed721639474aa9bbde69ebf0", "", "", "Play Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6a82b8ecc663f371b19076d99f46c598", "Activision, Larry Miller - Ariola", "EAX-026, EAX-026-04B, EAX-026-04I - 711 026-725", "Enduro (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6a882fb1413912d2ce5cf5fa62cf3875", "Video Game Cartridge - Ariola", "TP-605", "Dragon Defender (Ariola) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6a8c6940d3be6fd01274363c4d4b298e", "", "", "Spy Hunter (Genesis)", "Genesis controller (C is oil/smoke)", "Hack of Spy Hunter", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6a9b30ca46b0dba9e719f4cbd340e01c", "", "", "Frostbite (Unknown) (PAL) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6a9e0c72fab92df70084eccd9061fdbd", "CCE", "C-835", "Beany Bopper (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6aa66e9c3eea76a0c40ef05513497c40", "", "", "Hangman Ghost Biglist2 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6ac3fd31a51730358708c7fdc62487f8", "Matthias Jaap", "", "PC Invaders (Matthias Jaap) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6aca52e11b597ab84b33d5252e1cd9d1", "Bit Corporation", "R320", "Tac-Scan (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "", "" }, + { "6ae4dc6d7351dacd1012749ca82f9a56", "Atari - GCC, Jaques Hugon, Seth Lipkin", "CX26125, CX26127", "Track and Field (1984) (Atari)", "Uses the Track & Field Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6b01a519b413f8cfa2f399f4d2841b42", "", "", "Aphex Invaders (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6b1fc959e28bd71aed7b89014574bdc2", "Bit Corporation", "PG203", "Phantom Tank (1982) (BitCorp) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6b4eb5b3df80995b8d9117cb7e9aeb3c", "Gameworld, J. Ray Dettling", "133-006", "Journey Escape (1983) (Gameworld) (PAL)", "AKA Rock 'n' Roll Escape", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6b683be69f92958abe0e2a9945157ad5", "U.S. Games Corporation - Western Technologies, Jeff Corsiglia, Paul Allen Newell, Steven B. Sidley, Tom Sloper", "VC2007", "Entombed (1983) (U.S. Games)", "Released as Name That Game for a contest (winning name was Entombed)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6b6ca32228ae352b4267e4bd2cddf10c", "", "", "Pac-Man 4 (Pac-Man Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6b71f20c857574b732e7a8e840bd3cb2", "", "", "Frostbite (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6b72b691ea86f61438ed0d84c4d711de", "", "", "Fishing Derby (Unknown) (PAL) (4K) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6b75f8fa4fd011a6698c58315f83d2ac", "Thomas Jentzsch", "", "Sprintmaster DC (TJ)", "Uses the Driving Controllers, Hack of Sprintmaster (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "45", "", "", "", "" }, + { "6b7a56b6ac2ca4bf9254474bf6ed7d80", "", "", "Horizonal Color Bars Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6b7e1c11448c4d3f28160d2de884ebc8", "Zirok", "", "Fast Food (Zirok)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6b8fb021bb2e1f1e9bd7ee57f2a8e709", "Paul Slocum", "", "3-D Corridor (29-03-2003) (Paul Slocum) (PD) [a]", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6bb09bc915a7411fe160d0b2e4d66047", "Atari", "CX26163P", "UFO (32 in 1) (1988) (Atari) (PAL)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6bb22efa892b89b69b9bf5ea547e62b8", "Dynacom", "", "Megamania (1982) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6bde3f6ac31aceef447ce57d4d2c2ec0", "Piero Cavina", "", "Mondo Pong V1 (Piero Cavina) (PD)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "", "", "01", "", "", "", "" }, + { "6c128bc950fcbdbcaf0d99935da70156", "Digitel", "", "Volleyball (1983) (Digitel)", "AKA RealSports Volleyball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6c1553ca90b413bf762dfc65f2b881c7", "Quelle", "343.073 3", "Winterjagd (1983) (Quelle) (PAL)", "AKA Ski Hunt", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6c1f3f2e359dbf55df462ccbcdd2f6bf", "Activision, Garry Kitchen - Ariola", "EAX-025, EAX-025-04I - 711 025-725", "Keystone Kapers (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6c25f58fd184632ca76020f589bb3767", "Dynacom", "", "Beat 'Em & Eat 'Em (1983) (Dynacom)", "Uses the Paddle Controller (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, + { "6c449db9bbbd90972ad1932d6af87330", "", "", "20 Sprites at Once Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6c658b52d03e01828b9d2d4718a998ac", "", "", "Hangman Invader Biglist2 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6c76fe09aa8b39ee52035e0da6d0808b", "Atari, Brad Stewart", "CX2622, CX2622P", "Breakout (1978) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 60", "", "", "", "" }, + { "6c85098518d3f94f7622c42fd1d819ac", "Suntek", "SS-028", "Firebug (1983) (Suntek) (PAL)", "AKA Spinning Fireball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6c91ac51421cb9fc72c9833c4f440d65", "ITT Family Games", "554-33 375", "Cosmic Town (1983) (ITT Family Games) (PAL)", "AKA Base Attack (Perry Rhodan-Serie)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6c9a32ad83bcfde3774536e52be1cce7", "", "", "Space Treat (NTSC) (13-08-2002) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6cab04277e7cd552a3e40b3c0e6e1e3d", "Telegames - VSS", "7062 A305", "Universal Chaos (1988) (Telegames) (Prototype)", "AKA Targ", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6cbe945e16d9f827d0d295546ac11b22", "", "", "Gunfight 2600 - AI (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6ccd8ca17a0e4429b446cdcb66327bf1", "", "", "RPG Engine (12-05-2003) (Paul Slocum) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6cd1dc960e3e8d5c5e0fbe67ab49087a", "", "", "Vertical Playfield Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6cd506509e8fd5627f55603780e862a8", "Greg Troutman", "", "Dark Mage (SuperCharger) (Greg Troutman) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6ce2110ac5dd89ab398d9452891752ab", "Funvision - Fund. International Co.", "", "Persian Gulf War (Funvision)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6cea35ded079863a846159c3a1101cc7", "", "", "Atlantis (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6ceb7d6a54e9a5e62d26874d1cc88dbc", "Video Soft", "", "Atom Smasher (1984) (Video Soft) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6cf054cd23a02e09298d2c6f787eb21d", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (1984) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6d218dafbf5a691045cdc1f67ceb6a8f", "Robin Harbron", "", "6 Digit Score Display (1998) (Robin Harbron) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6d475019ea30d0b29f695e9dcfd8f730", "Eric Mooney", "", "Invaders by Erik Mooney (Alpha 2) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6d74ebaba914a5cfc868de9dd1a5c434", "", "", "Fortress (Smooth Version) (20-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6d842c96d5a01967be9680080dd5be54", "Activision, Steve Cartwright, David Crane", "AB-035-04", "Pitfall II (1984) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6d8a04ee15951480cb7c466e5951eee0", "Zirok", "", "Kanguru (1983) (Zirok)", "AKA Kangaroo", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6d9afd70e9369c2a6bff96c4964413b7", "", "", "Time Warp (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6dda84fb8e442ecf34241ac0d1d91d69", "Atari - GCC, Douglas B. Macrae", "CX2677", "Dig Dug (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6de924c2297c8733524952448d54a33c", "CCE", "C-1006", "Moon Patrol (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6dfad2dd2c7c16ac0fa257b6ce0be2f0", "Parker Brothers, Larry Gelberg", "PB5065", "Star Wars - Ewok Adventure (1983) (Parker Bros) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6e179eee3d4631a7434d40cf7aeea6e8", "Wizard Video Games - MicroGraphic Image, Robert Barber, Tim Martin", "007", "Halloween (1983) (Wizard Video Games) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6e19428387686a77d8c8d2f731cb09e0", "", "", "Purple Cross Demo (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6e372f076fb9586aff416144f5cfe1cb", "Atari, Tod Frye - Sears", "CX2646 - 49-75185", "Pac-Man (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6e59dd52f88c00d5060eac56c1a0b0d3", "Atari, Bob Smith", "CX2648", "Video Pinball (1981) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6e5d5ba193d2540aec2e847aafb2a5fb", "Retroactive", "", "Qb (2.14) (Retroactive) (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6e7ed74082f39ad4166c823765a59909", "", "", "Poker Squares (V0.14) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6e7efb0ed13ec28a00d19572de9c9f03", "Apollo - Games by Apollo", "AP-2006", "Infiltrate (1982) (Apollo) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6eb10fd23c7161751d18b9e8484c0004", "Coleco - JWDA, Todd Marshall, Robin McDaniel, Henry Will IV", "2465", "Smurf - Rescue in Gargamel's Castle (1983) (Coleco) (Prototype)", "AKA Smurf, Smurf Action", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6ed5012793f5ddf4353a48c11ea9b8d3", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Down on the Line (3 of 3) (1983) (Arcadia)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "01 70", "", "", "", "" }, + { "6ed6bda5c42b2eb7a21c54e5b3ace3e3", "Canal 3 - Intellivision", "", "Ice Hockey (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6efe876168e2d45d4719b6a61355e5fe", "Bit Corporation", "PG207", "Mission 3,000 A.D. (1983) (BitCorp) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6f084daf265599f65422ef4173b69bc7", "", "", "Music Kit (V2.0) - Song Player (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6f2aaffaaf53d23a28bf6677b86ac0e3", "U.S. Games Corporation - Vidtec - JWDA, Garry Kitchen", "VC1001", "Space Jockey (1982) (U.S. Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6f3e3306da2aa6e74a5e046ff43bf028", "", "", "Defender Arcade (Genesis)", "Genesis controller (C is smartbomb)", "Hack of Defender 2", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6f744f14aac04f7e1ea0d3f4bafcb3e4", "Atari - Roklan, Joe Gaucher, Alex Leavens", "CX2683", "Crazy Climber (1983) (Atari) (Prototype) [a3]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6f74ed915ffe73b524ef0f63819e2a1d", "Eckhard Stolberg", "", "An Exercise In Minimalism (V2) (1999) (Eckhard Stolberg)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6fa0ac6943e33637d8e77df14962fbfc", "Imagic, Rob Fulop", "", "Cubicolor (1982) (Imagic) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6fac680fc9a72e0e54255567c72afe34", "", "", "Superman (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6fbd05b0ad65b2a261fa154b34328a7f", "", "", "Boardgame Demo (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6fc0176ccf53d7bce249aeb56d59d414", "Rainbow Vision - Suntek", "SS-004", "Pyramid War (1983) (Rainbow Vision) (PAL)", "AKA Chopper Command", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6fc27a9233fc69d28d3f190b4ff80f03", "", "", "UFO #6 (Charles Morgan) (Hack)", "Hack of Pepsi Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6fc394dbf21cf541a60e3b3631b817f1", "Imagic, Bob Smith", "720020-2A, IA3611P", "Dragonfire (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "6fd7c7057eeab273b29c7aafc7429a96", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6fe67f525c39200a798985e419431805", "Atari - GCC, Kevin Osborn", "CX2689, CX2689P", "Kangaroo (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "6ff4156d10b357f61f09820d03c0f852", "Atari, Larry Kaplan - Sears", "CX2612 - 99804, 49-75103", "Street Racer (1977) (Atari) (4K)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "10 60", "", "", "", "" }, + { "6ffc95108e5add6f9b8abcaf330be835", "Charles Morgan", "", "TP Bug (Charles Morgan) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "700a786471c8a91ec09e2f8e47f14a04", "Activision", "", "Hard-Head (1983) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "703d32062436e4c20c48313dff30e257", "", "", "Moving Maze Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "703f0f7af350b0fa29dfe5fbf45d0d75", "Bit Corporation", "P460", "4 Game in One Dark Green (1983) (BitCorp) (PAL)", "Rodeo Champ, Bobby is Going Home, Open Sesame, Festival", "", "", "", "4IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "705fe719179e65b0af328644f3a04900", "Atari, David Crane - Sears", "CX2653 - 6-99823, 49-75111", "Slot Machine (1979) (Atari) (4K) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "706e3cc4931f984447213b92d1417aff", "", "", "Joustpong (06-07-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "707ecd80030e85751ef311ced66220bc", "", "", "Double-Height 6-Digit Score Display (Background Color Change) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7096a198531d3f16a99d518ac0d7519a", "Telesys, Jim Rupp", "1004", "Ram It (1983) (Telesys)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "709910c2e83361bc4bf8cd0c20c34fbf", "Rainbow Vision - Suntek", "SS-006", "Netmaker (1983) (Rainbow Vision) (PAL)", "AKA Amidar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "70a43fbdb1c039283ee5048d99842469", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "70a8480cfaf08776e5420365732159d2", "Rob Kudla", "", "Horizontally Scrolling Playfield Thing (Rob Kudla) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "70ce036e59be92821c4c7fd735ec6f68", "Activision, Steve Cartwright - Ariola", "EAX-031, EAX-031-04B - 711 031-717", "Frostbite (1983) (Activision) (PAL) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "70d14c66c319683b4c19abbe0e3db57c", "", "", "Oystron (V2.82) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "710497df2caab69cdcc45e919c69e13f", "Arcadia Corporation, Dennis Caswell", "5 AR-4200", "Labyrinth (Escape from the Mindmaster Beta) (1982) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "713fde2af865b6ec464dfd72e2ebb83e", "", "", "Challenge (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "71464c54da46adae9447926fdbfc1abe", "M Network - INTV - APh Technological Consulting, Bruce Pedersen", "MT5663", "Lock 'n' Chase (1982) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "714e13c08508ee9a7785ceac908ae831", "Home Vision - Gem International Corp. - VDI", "VCS83123", "Parachute (1983) (Home Vision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "715dbf2e39ba8a52c5fe5cdd927b37e0", "Amiga - Video Soft", "3135", "S.A.C. Alert (1983) (Amiga) (Prototype)", "Uses Joyboard", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "715dd9e0240638d441a3add49316c018", "Atari", "", "128-in-1 Junior Console (Chip 2 of 4) (1991) (Atari) (PAL)", "Actually contains only 16 games, not 32", "", "", "", "16IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7187118674ff3c0bb932e049d9dbb379", "Zirok", "", "Keystone Keypers (1983) (Zirok)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "718ae62c70af4e5fd8e932fee216948a", "Data Age, J. Ray Dettling", "112-006", "Journey Escape (1983) (Data Age)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "718ee85ea7ec27d5bea60d11f6d40030", "Thomas Jentzsch", "", "Ghostbusters II (1992) (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7197b6cbde6ecd10376155e6b848e80d", "Piero Cavina", "", "Multi-Sprite Game V2.1 (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "71b193f46c88fb234329855452dfac5b", "Digitel", "", "Atlantis (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "71d005b60cf6e608d04efb99a37362c3", "Atari, Larry Kaplan", "CX2643", "Codebreaker (1978) (Atari) (PAL) (4K) [a]", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "71f09f128e76eb14e244be8f44848759", "Funvision - Fund. International Co.", "", "Time Race (Funvision) (PAL)", "AKA Time Warp", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "71f8bacfbdca019113f3f0801849057e", "Atari, Dan Hitchens", "CX26126", "Elevator Action (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72097e9dc366900ba2da73a47e3e80f5", "", "", "Euchre (15-06-2001) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "721a5567f76856f6b50a6707aa8f8316", "Activision, David Crane, Dan Kitchen", "EAG-108-04, EAZ-108-04B", "Ghostbusters (1985) (Activision) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72305c997f2cec414fe6f8c946172f83", "Arcadia Corporation, Dennis Caswell", "AR-4000, AR-4100", "Phaser Patrol (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "724613effaf7743cbcd695fab469c2a8", "", "", "Super-Ferrari (Unknown)", "AKA Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "728152f5ae6fdd0d3a9b88709bee6c7a", "Spectravideo, Mark Turmell", "SA-217", "Gas Hog (1983) (Spectravideo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72876fd7c7435f41d571f1101fc456ea", "Quelle", "688.383 9", "Die Ente und der Wolf (1983) (Quelle) (PAL)", "AKA Pooyan", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72a46e0c21f825518b7261c267ab886e", "Xonox - K-Tel Software - Computer Magic", "99005, 6220, 6250", "Robin Hood (1983) (Xonox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72a5b5052272ac785fa076709d16cef4", "", "", "KC Munckin (29-01-2003) (J. Parlee)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72a63bcb5eb31bd0fd5e98ed05125ec1", "Thomas Jentzsch", "", "Missile Control - Atari Trak-Ball Hack v1.15 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72bda70c75dfa2365b3f8894bace9e6a", "Thomas Jentzsch", "", "Atlantis (TJ) (Hack)", "Hack of Atlantis", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72d0acb5de0db662de0360a6fc59334d", "", "", "Cosmic Ark (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72db1194b1cc7d45b242f25eb1c148d3", "", "", "Pac-Man (1981) (Atari) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72fd08deed1d6195942e0c6f392e9848", "HES", "0701-406", "2 Pak Special - Wall Defender, Planet Patrol (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "72ffbef6504b75e69ee1045af9075f66", "Atari, Richard Maurer - Sears", "CX2632 - 49-75153", "Space Invaders (1980) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "73158ea51d77bf521e1369311d26c27b", "Zellers", "", "Challenge (Zellers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "73521c6b9fed6a243d9b7b161a0fb793", "Atari, Tom Reuterdahl", "CX26163P", "Miniaturer Golf (32 in 1) (1988) (Atari) (PAL)", "AKA Miniature Golf", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "736388d73198552d77d423962000006f", "Dactari", "", "Tennis (Dactari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "73a710e621d44e97039d640071908aef", "", "", "Barber Pole Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "73aa02458b413091ac940c0489301710", "Rainbow Vision - Suntek", "SS-016", "Boom Bang (1983) (Rainbow Vision) (PAL)", "AKA Crackpots", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "73b4e8f8b04515d91937510e680214bc", "", "", "Rubik's Cube Demo 3 (24-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "73c545db2afd5783d37c46004e4024c2", "CBS Electronics - JWDA, Todd Marshall, Robin McDaniel, Henry Will IV", "4L1767, 4L1768, 4L1769, 4L1770", "Smurf - Schtroumpfs (1983) (CBS Electronics) (PAL)", "Pitufo", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "73c839aff6a055643044d2ce16b3aaf7", "Activision, Alan Miller - Ariola", "EAX-016, PAX-016 - 711 016-725", "StarMaster (1982) (Activision) (PAL)", "Use Color/BW switch to change between galactic chart and front views", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "73cb1f1666f3fd30b52b4f3d760c928f", "", "", "Mines of Minos (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "73e66e82ac22b305eb4d9578e866236e", "Jone Yuan Telephonic Enterprise Co", "", "Unknown Datatech Game (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "73efa9f3cbe197f26e0fb87132829232", "CCE", "C-858", "Tennis (1983) (CCE) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "74023e0f2e739fc5a9ba7caaeeee8b6b", "Jone Yuan Telephonic Enterprise Co", "", "Fishing Derby (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "740a7fa80f52cc7287ba37677afb6b21", "", "", "Double Dragon (PAL) (Genesis)", "Genesis controller (C is jumpkick)", "Hack of Double Dragon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "740b47df422372fbef700b42cea4e0bf", "", "", "Dizzy Wiz (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "740f39e71104e90416c29a73560b9c6b", "Atari", "TE016643", "Diagnostic Test Cartridge 2.6P (1982) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7412f6788087d7e912c33ba03b36dd1b", "AtariAge, Omegamatrix", "", "Venture Reloaded (2019) (AtariAge) (Hack)", "Transformative hack of Venture", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "742de93b8d849220f266b627fbabba82", "", "", "SCSIcide (25-02-2001) (Chris Wilkson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7450ae4e10ba8380c55b259d7c2b13e8", "", "", "Register Twiddler Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7454786af7126ccc7a0c31fcf5af40f1", "", "", "Phantom Tank (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7465b06b6e25a4a6c6d77d02242af6d6", "Atari", "CX26193", "8 in 1 (01-16-92) (Atari) (Prototype)", "Game 2 is Centipede, but doesn't work", "Prototype", "", "", "8IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7481f0771bff13885b2ff2570cf90d7b", "Arcadia Corporation, Brian McGhie", "AR-4104", "Rabbit Transit (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "749fec9918160921576f850b2375b516", "Spectravision - Spectravideo", "SA-205", "China Syndrome (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "74d072e8a34560c36cacbc57b2462360", "Sancho - Tang's Electronic Co.", "TEC002", "Seahawk (1982) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "74ebaca101cc428cf219f15dda84b6f8", "Activision, Alan Miller", "AG-007, CAG-007", "Tennis (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "74f623833429d35341b7a84bc09793c0", "Zellers", "", "Radar (Zellers)", "AKA Exocet", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "75028162bfc4cc8e74b04e320f9e6a3f", "Atari, Greg Easter, Mimi Nyden", "CX26107", "Snow White (02-09-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7511c34518a9a124ea773f5b0b5c9a48", "", "", "Donkey Kong (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "75169c08b56e4e6c36681e599c4d8cc5", "M Network - INTV - APh Technological Consulting, Hal Finney", "MT5666", "Astroblast (1982) (M Network)", "Can also use left joystick", "Uncommon", "", "", "", "", "", "", "", "PADDLES", "", "YES", "", "", "AUTO 55", "", "", "", "" }, + { "752da1c0acd7d132ccfb0b1067f53cf6", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "753375d183c713cfa0aa7298d1f3067b", "Arcadia Corporation, Steve Hales, Stephen Harland Landrum", "AR-4102", "Suicide Mission (1982) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7550b821ee56fb5833dca2be88622d5a", "", "", "Multiple Moving Objects Demo (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "75511bb694662301c9e71df645f4b5a7", "Activision, Bob Whitehead - Ariola", "EAG-011, PAG-011 - 711 011-715", "Stampede (1981) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "755fed16b48e81de05130708a905d00d", "SnailSoft", "", "Comitoid beta 3 (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "756ca07a65a4fbbedeb5f0ddfc04d0be", "Atari, Jim Huether", "CX2629, CX2629P", "Sky Diver (1979) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7574480ae2ab0d282c887e9015fdb54c", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (1984) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7576dd46c2f8d8ab159d97e3a3f2052f", "Goliath - Hot Shot", "83-112", "Time Machine (1983) (Goliath) (PAL)", "AKA Asteroid Fire", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "757f529026696e13838364dea382a4ed", "Activision, David Crane - Ariola", "EAX-014, PAX-014, EAX-014-04B, EAX-014-04I - 711 014-720", "Grand Prix (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "75893a9dc5de4b91cc426959b82a1da0", "Champ Games", "CG-02-P", "Conquest Of Mars (2010) (PAL60)", "Rev 2 release", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "75a303fd46ad12457ed8e853016815a0", "ZiMAG - Emag - Vidco", "715-111 - GN-060", "Immies & Aggies (1983) (ZiMAG) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "75b22fdf632d76e246433db1ebccd3c4", "", "", "Skeleton+ (05-05-2003) (Eric Ball) (PAL)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "75b557be7f08db84ec5b242207b9f241", "", "", "Space Treat (30-12-2002) (Fabrizio Zavagli) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "75e276ba12dc4504659481c31345703a", "Arcadia Corporation, Kevin Norman", "AR-4103", "Killer Satellites (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "75e8d8b9e9c5c67c2226dbfd77dcfa7d", "", "", "2600 Digital Clock (V b1) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "75ea128ba96ac6db8edf54b071027c4e", "Atari, David Crane", "CX26163P", "Slot Machine (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "75ea60884c05ba496473c23a58edf12f", "Atari, Howard Scott Warshaw - Sears", "CX2655 - 49-75167", "Yars' Revenge (1982) (Atari) (PAL) [a]", "ROM must be started in bank 0", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "75ee371ccfc4f43e7d9b8f24e1266b55", "Atari, Greg Easter, Mimi Nyden", "CX26107", "Snow White (11-09-1982) (Atari) (Prototype)", "ROM must be started in bank 0", "Prototype", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7608abdfd9b26f4a0ecec18b232bea54", "Atari, Bob Whitehead", "CX26163P", "NFL Football (32 in 1) (1988) (Atari) (PAL)", "AKA Football", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7623a639a6fffdb246775fe2eabc8d01", "Activision, Bob Whitehead", "AG-005, CAG-005, AG-005-04", "Skiing (1980) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7628d3cadeee0fd2e41e68b3b8fbe229", "Atari", "CX26163P", "Fishing Derby (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7648e72a5b5899076688df18a1ddcf72", "CBS Electronics, Richard K. Balaska Jr., Andy Frank, Stuart Ross", "4L 2520 5000", "Tunnel Runner (1983) (CBS Electronics) (Prototype)", "Black Box", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "764ce6801f28a9ad36f11de3e57c053b", "Atari, Jim Huether, Alan J. Murphy, Robert C. Polaro", "CX2666", "RealSports Volleyball (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "76809eb1ee0db8a318308a5cdda0f4e2", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (1983) (Atari) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "769ddc995dbb9edb8167efcea9f34a7c", "", "", "H.E.R.O. (Genesis)", "Genesis controller (B is laser, C is dynamite)", "Hack of H.E.R.0.", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "76a9bf05a6de8418a3ebc7fc254b71b4", "VideoSoft, Jerry Lawson, Dan McElroy", "VS1008", "Color Bar Generator (1984) (VideoSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "76c685d1a60c0107aa54a772113a2972", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (3 of 3) (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "76c88341017eae660efc6e49c4b6ab40", "", "", "Indiana Pitfall (Hack)", "Hack of Pitfall!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "76ee917d817ef9a654bc4783e0273ac4", "Otto Versand", "311377", "Fox & Goat (Double-Game Package) (1983) (Otto Versand) (PAL)", "AKA Nuts", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "76f53abbbf39a0063f24036d6ee0968a", "M Network, David Akers, Joe 'Ferreira' King, Patricia Lewis Du Long, Jeff Ratcliff - INTV", "MT7045", "Bump 'n' Jump (1983) (M Network)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "76f66ce3b83d7a104a899b4b3354a2f2", "UA Limited", "", "Cat Trax (1983) (UA Limited) (1)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "77057d9d14b99e465ea9e29783af0ae3", "Activision, David Crane", "AG-001", "Dragster (1980) (Activision)", "AKA Drag Strip", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7732e4e4cc2644f163d6650ddcc9d9df", "HES", "771-333", "2 Pak Special - Challenge, Surfing (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7761418d46af069b8cd80c29fe6cd814", "Dion Olsthoorn", "RetroN 77 edition", "Amoeba Jump (R77) (DionoiD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7778ac65d775a079f537e97cbdad541c", "", "", "Spider Fighter (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "777aece98d7373998ffb8bc0b5eff1a2", "", "", "2600 Collison Demo 2 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "77887e4192a6b0a781530e6cf9be7199", "Atari", "CX2604", "Space War (1978) (Atari) [b1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "77be57d872e3f5b7ecf8d19d97f73281", "", "", "Basketball (208 in 1) (Unknown) (PAL)", "Console ports are swapped", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "77cd9a9dd810ce8042bdb9d40e256dfe", "Kyle Pittman", "", "Evil Dead (2003) (Kyle Pittman) (Hack)", "Hack of Haunted House", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "77d0a577636e1c9212aeccde9d0baa4b", "Atari, Joe Decuir", "CX2621, CX2621P", "Video Olympics (1977) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "PADDLES_IAXDR", "YES", "", "", "AUTO 60", "", "", "", "" }, + { "78297db7f416af3052dd793b53ff014e", "", "", "Poker Squares (V0.17) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7836794b79e8060c2b8326a2db74eef0", "", "", "RIOT RAM Test (26-11-2002) (Dennis Debro)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "784176346e9422733d55c427230e5bad", "Activision, Alex DeMeo", "", "Title Match Pro Wrestling (1989) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "784abfdb31d5341e5bd404d8d2a71c3b", "Alessandro Ciceri", "", "MagiCard (TV format conversion) (alex_79) (PAL)", "MagiCard PAL conversion hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7860716fa5dbc0fffab93fb9a4cb4132", "", "", "Hangman Monkey Wordlist (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7867ee819b53d69cfcfe740f7ddca574", "Arcadia Corporation, Dennis Caswell", "1 AR-4000, AR-4100", "Phaser Patrol (1982) (Arcadia) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "787ebc2609a31eb5c57c4a18837d1aee", "Prescott", "", "Vault Assault (19xx) (Prescott)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "78821ef76ebc3934850d1bc1b9e4f4b0", "HES - Activision", "542", "Hot Action Pak - Ghostbusters, Tennis, Plaque Attack (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "78963290052fd17c6c7998305ab3a6a0", "", "", "Push (V0.08) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "78b84cfb1c57b0488d674d2374e656e6", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (1 of 3) (1982) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "78c2de58e42cd1faac2ea7df783eaeb3", "", "", "Fu Kung! (V0.07) (25-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "79004f84bdeee78d142e445057883169", "CCE", "C-830", "Planet Patrol (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "791bc8aceb6b0f4d9990d6062b30adfa", "Activision, David Crane - Ariola", "EAX-018, EAX-018-04B, EAX-018-04I - 711 018-725", "Pitfall! (1982) (Activision) (PAL)", "Abenteuer im Urwald (Jungle Runner)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "791c88eca9836af8c34bf32b07cb58a7", "SpiceWare - Darrell Spice Jr.", "SW-05", "Stay Frosty 2 (PAL60)", "AtariAge Holiday Greetings 2014", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "", "", "YES", "" }, + { "7926083ad423ed685de3b3a04a914315", "Barry Laws Jr.", "", "Face Invaders 2 (Barry Laws Jr.) (Hack)", "Hack of Astroblast", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "792b1d93eb1d8045260c840b0688ec8f", "Kroko", "", "3E Bankswitch Test (TIA @ $00)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7972e5101fa548b952d852db24ad6060", "Atari - Sears", "CX2627 - 6-99841", "Human Cannonball (1979) (Atari)", "AKA Cannon Man", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "798b8921276eec9e332dfcb47a2dbb17", "Atari - CCW, Gary Stark", "CX26102", "Cookie Monster Munch (1983) (Atari) (PAL) [a]", "Uses Kids/Keypad Controllers", "", "", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "798cc114f1623c14085868cd3494fe8e", "", "", "Pins Revenge (Atari Freak 1)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7991e1797e5e9f311fd957e62d889dff", "Joe Grand", "", "SCSIcide (v1.1) (2001) (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "", "", "AUTO 65", "", "", "", "" }, + { "7996b8d07462a19259baa4c811c2b4b4", "", "", "Math Gran Prix (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "79ab4123a83dc11d468fb2108ea09e2e", "Activision - Cheshire Engineering, David Rolfe, Larry Zwick", "AZ-037-04", "Beamrider (1984) (Activision)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "79b649fb812c50b4347d12e7ddbb8400", "", "", "Red Pong Number 2 Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "79c27f90591e3fdc7d2ed020ecbedeb3", "CCE", "C-815", "Seaquest (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "79d4af56036ec28f298cad964a2e2494", "", "", "Hangman Pac-Man Wordlist (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "79d6f61da3c64688ac8e075667f8a39f", "", "", "Tie-Fighters (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "79e5338dbfa6b64008bb0d72a3179d3c", "M Network - INTV, David Akers, Patricia Lewis Du Long", "MT4313", "Star Strike (1983) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "79fcdee6d71f23f6cf3d01258236c3b9", "Atari - GCC, Mike Feinstein, John Mracek", "CX2673, CX2673P", "Phoenix (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7a09299f473105ae1ef3ad6f9f2cd807", "Atari, Steve Wright", "CX2616P", "Pele's Soccer (1981) (Atari) (PAL)", "AKA Pele's Championship Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7a2af383014f5d810ad26d322823549d", "", "", "FlickerSort Demo (20-04-2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7a5463545dfb2dcfdafa6074b2f2c15e", "20th Century Fox Video Games - Sirius Software, Mark Turmell", "11007", "Turmoil (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7a63d7ea3f2851bcf04f0bb4ba1a3929", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (3 of 4) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7a64a8b727c8215d945e37d565ca95a5", "Atari, Warren Robinett", "CX2606", "Slot Racers (1978) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7a64b5a6e90619c6aacf244cdd7502f8", "Baroque Gaming (Brian Eno)", "", "Warring Worms (Beta 1) (2002) (Baroque Gaming)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7a7f6ab9215a3a6b5940b8737f116359", "Arcadia Corporation, Kevin Norman", "AR-4103", "Killer Satellites (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7a93d0c029eaa72236523eedc3f19645", "", "", "20 Sprites at Once Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ab0917107b6ec768a5ebaadf28c497a", "", "", "Santa's Helper (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "7ab210f448de518fa61a5924120ba872", "", "", "Fortress (20-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ab2f190d4e59e8742e76a6e870b567e", "Apollo, Larry Martin", "AP-2008", "Guardian (1982) (Apollo)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 65", "", "", "", "" }, + { "7ac4f4fb425db38288fa07fb8ff4b21d", "Goliath", "83-213", "Space Eagle (1983) (Goliath) (PAL)", "AKA Exocet", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ad257833190bc60277c1ca475057051", "Atari, Alan J. Murphy, Robert Zdybel", "CX2668", "RealSports Football (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7ad782952e5147b88b65a25cadcdf9e0", "Imagic, Dave Johnson", "720119-1A, 03211", "Kwibble (1983) (Imagic) (Prototype)", "AKA Quick Step! Beta", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7adbcf78399b19596671edbffc3d34aa", "Atari, Mimi Nyden, Joseph Tung", "CX26152", "Super Baseball (1988) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7af40c1485ce9f29b1a7b069a2eb04a7", "Amiga - Video Soft", "3120", "Mogul Maniac (1983) (Amiga)", "Uses the Amiga Joyboard", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7b24bfe1b61864e758ada1fe9adaa098", "Atari, Chris Crawford", "", "Wizard (1980) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7b33407b2b198af74906b936ce1eecbb", "King Atari", "", "Ghostbuster 2 (King Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7b3cf0256e1fa0fdc538caf3d5d86337", "CommaVid, Joseph Biel", "CM-009", "Stronghold (1983) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7b43c32e3d4ff5932f39afcb4c551627", "Syncro, Daniel Wolf", "", "Kamikaze Saucers (1983) (Syncro) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7b4be337ac4d73eda75c848355f6f480", "Omegamatrix", "", "Star Wars Arcade (Atari Trak-Ball) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7b5207e68ee85b16998bea861987c690", "Atari, Carol Shaw", "CX26163P", "3-D Tic-Tac-Toe (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7b57318c489ff178f7ff500da1ec9e8c", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7b6f3348dbf71ada88db0fdaf7feefe0", "", "", "3-D Corridor (Pink Spiral) (31-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7b79beb378d1b4471def90ceccf413de", "", "", "Pitfall Cupcake (Hack)", "Hack of Pitfall", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7b7b4ac05232490c28f9b680c72998f9", "Zellers", "", "Freeway (Zellers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7b8a481e0c5aa78150b5555dff01f64e", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (05-12-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7b938c7ddf18e8362949b62c7eaa660a", "Atari, Bob Whitehead - Sears", "CX2603 - 99803, 49-75601", "Star Ship (1977) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ba07d4ea18bf3b3245c374d8720ad30", "Starpath Corporation, Stephen H. Landrum", "AR-4101", "Communist Mutants from Space (Preview) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7bb286cb659d146af3966d699b51f509", "Atari - Axlon, Tod Frye", "CX26178", "Save Mary! (04-03-1989) (Atari) (Prototype)", "AKA Saving Mary", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7bc4fd254ec8c0a25a13f02fd3f762ff", "Retroactive", "", "Qb (V1.00) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7c00e7a205d3fda98eb20da7c9c50a55", "Apollo - Games by Apollo, Larry Minor, Ernie Runyon, Ed Salvo", "AP-2004", "Lost Luggage (1982) (Apollo)", "AKA Airport Mayhem", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7c4a499d343fca0cef2d59dd16af621a", "", "", "Poker Card Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7c757bb151269b2a626c907a22f5dae7", "TNT Games - Sculptured Software, Adam Clayton", "26192", "BMX Air Master (1989) (TNT Games) (PAL)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7c7a4a2d505c2d0c75337c44711d8d54", "Atari, Warren Robinett", "", "Elf Adventure (04-22-83) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7c9b3b8b25acf2fe3b8da834f69629c6", "", "", "I Robot (1984) (Atari) (Prototype) [!]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ca7a471d70305c673fedd08174a81e8", "Tim Snider", "", "Venture II (2001) (Tim Snider)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7cc77f6745e1f2b20df4a4327d350545", "Atari, Richard Maurer", "CX2632, CX2632P", "Space Invaders (1980) (Atari) (PAL) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ccf350354ee15cd9b85564a2014b08c", "", "", "Big Dig (13-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7cd379da92c93679f3b6d2548617746a", "", "", "Demo Image Series #5 - Clown (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7cd900e9eccbb240fe9c37fa28f917b5", "Jone Yuan Telephonic Enterprise Co", "", "Bi! Bi! (Jone Yuan) (PAL)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ced6709f091e79a2ab9575d3516a4ac", "Activision, Steve Cartwright - Ariola", "EAX-027 - 711 027-722", "Plaque Attack (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7cedffa0db65d610568b90aeca705ac6", "Atari, Rob Fulop - Sears", "CX2638 - 49-75166", "Missile Command (1981) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7cf3a9267cdb95aba91abc5838d61cc5", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL60) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7d0b49ea4fe3a5f1e119a6d14843db17", "Gameworld, J. Ray Dettling", "133-008", "Frankenstein's Monster (1983) (Gameworld) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7d1034bcb38c9b746ea2c0ae37d9dff2", "Atari, Brad Stewart", "", "Morse Code Tutor (1979) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7d3cdde63b16fa637c4484e716839c94", "CCE", "", "Road Runner (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7d483b702c44ee65cd2df22cbcc8b7ed", "Atari, Warren Robinett", "", "Elf Adventure (05-25-83) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7d5c3b7b908752b98e30690e2a3322c2", "Dactari - Milmar", "", "Freeway (Dactari - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7d726fa494f706784bafeb1b50d87f23", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (07-27-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7d8287e8423a56d4f8cef10435d97179", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.2 (NTSC) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7d903411807704e725cf3fafbeb97255", "Imagic, Rob Fulop", "720104-1A, 720104-1B, IA3204", "Cosmic Ark (Reaction) (1982) (Imagic) [selectable starfield]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7d93071b3e3616093a6b5a98b0315751", "", "", "Gunfight 2600 - Music & Bugfixes 2 (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7d940d749e55b96b7b746519fa06f2de", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix (Preview) (1983) (Arcadia) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7d9c96b215d1941e87b6fb412eb9204f", "", "", "Othello (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7da9de8d62fcdd3a2c545b2e720c2a61", "CommaVid, John Bronstein", "CM-001", "MagiCard (1981) (CommaVid) (4K)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7dbc8fa2e488e3f6b87fbe0f76c5b89f", "Ed Federmeyer", "", "Sound X (1996) (Ed Federmeyer)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7dc03a1f56d0e6a8aae3e3e50d654a08", "", "", "Hozer Video Demo (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7dcbfd2acc013e817f011309c7504daa", "Arcadia Corporation, Dennis Caswell", "AR-4000, AR-4100", "Phaser Patrol (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7dd9c5284422f729066ab22a284c8283", "CCE", "C-833", "Target Practice (1983) (CCE) [a]", "AKA Carnival", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ded20e88b17c8149b4de0d55c795d37", "Thomas Jentzsch, Paul Slocum", "", "Thrust+ Platinum (v1.26)", "", "New Release, supports BoosterGrip", "", "", "", "", "", "", "", "BOOSTERGRIP", "DRIVING", "", "", "", "", "", "", "", "" }, + { "7dfd100bda9abb0f3744361bc7112681", "Telesys, Don Ruffcorn", "1006", "Demolition Herby (1983) (Telesys) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7e2fe40a788e56765fe56a3576019968", "Activision - Imagineering, Donald Hahn, Dan Kitchen", "AK-050-04", "Double Dragon (1989) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7e464186ba384069582d9f0c141f7491", "PlayAround - J.H.M.", "206", "General Re-Treat (1982) (PlayAround) (PAL)", "AKA Custer's Revenge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7e4783a59972ae2cd8384f231757ea0b", "Atari - Imagineering, Dan Kichen", "CX26139P", "Crossbow (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7e51a58de2c0db7d33715f518893b0db", "CBS Electronics, E.F. Dreyer, Ed Salvo", "4L 2738 0000", "Mountain King (1983) (CBS Electronics) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7e52a95074a66640fcfde124fffd491a", "Atari - GCC, Mike Feinstein, John Mracek", "CX2673", "Phoenix (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7e7c4c59d55494e66eef5e04ec1c6157", "Baroque Gaming (Brian Eno)", "", "Warring Worms (2002) (Baroque Gaming)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7e8aa18bc9502eb57daaf5e7c1e94da7", "CBS Electronics - Roklan, Joe Hellesen, Joe Wagner", "M8774, M8794", "Wizard of Wor (1982) (CBS Electronics)", "Uses the Joystick Controllers (swapped)", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "YES", "" }, + { "7e9da5cb84d5bc869854938fe3e85ffa", "Atari, Ian Shepard - Sears", "CX2604 - 6-99812, 49-75106", "Space War (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7e9f088e15b2af9ff3411991393e6b1f", "Atari - Roklan, Joe Gaucher", "CX2679", "RealSports Basketball (12-28-1982) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7eab0284a0cd1043461d446a08d08cec", "Jone Yuan Telephonic Enterprise Co", "", "Basic Math (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ead257e8b5a44cac538f5f54c7a0023", "Xonox, Anthony R. Henderson", "99006, 6220", "Sir Lancelot (1983) (Xonox) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7eaf009a892f03d90682dc1e67e85f07", "Fabrizio Zavagli", "", "Bounce! (18-03-2003) (Fabrizio Zavagli)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7eafc9827e8d5b1336905939e097aae7", "Atari, Mark R. Hahn", "", "Elk Attack (1987) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7eba20c2291a982214cc7cbe8d0b47cd", "Imagic, Dave Johnson", "720119-1A, 03211", "Quick Step! (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ed61a18cebdeca0a93be1f5461731e5", "Dactari", "", "Skiing (Dactari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ed7130a6e4020161836414332b11983", "", "", "Fu Kung! (V0.05 Cuttle Card Compatible) (13-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7edc8fcb319b3fb61cac87614afd4ffa", "Activision, Alan Miller", "AG-003", "Checkers (1980) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ef3ca08abde439c6ccca84693839c57", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix (1983) (Arcadia) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, + { "7ef74879d7cb9fa0ef161b91ad55b3bb", "CCE", "", "Vanguard (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7f0209cfcc3d181715463f4d6451cecf", "Atari - GCC, John Allred, Douglas B. Macrae, Betty Ryan Tylko", "CX2694", "Pole Position (05-15-1983) (Atari) (Prototype)", "AKA RealSports Driving", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7f07cd2e89dda5a3a90d3ab064bfd1f6", "Videospielkassette - Ariola", "PGP234", "Boxen (Ariola) (PAL)", "AKA Boxing", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7f430c33044e0354815392b53a9a772d", "HES", "773-891", "2 Pak Special - Cavern Blaster, City War (1992) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7f525b07bc98080cc8950f7284e52ede", "Atari", "", "128-in-1 Junior Console (Chip 4 of 4) (1991) (Atari) (PAL)", "Actually contains only 16 games, not 32", "", "", "", "16IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7f54fa6aa824001af415503c313262f2", "HES", "", "Boom Bang (HES) (PAL)", "AKA Crackpots", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7f6533386644c7d6358f871666c86e79", "CommaVid, Irwin Gaines", "CM-008", "Cakewalk (1983) (CommaVid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7f790939f7eaa8c47a246c4283981f84", "", "", "This Planet Sucks Demo 3 (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7f819454734ddf93f83fefcffcd3e212", "Jone Yuan Telephonic Enterprise Co", "", "Outlaw (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7f9fbe3e00a21ea06e6ae5e0e5db2143", "", "", "Skate Boardin' (2002) (Skyworks)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7fcd1766de75c614a3ccc31b25dd5b7a", "PlayAround - J.H.M.", "203", "Knight on the Town (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "7fcd5fb59e88fc7b8473c641f44226c3", "CCE", "C-807", "Space Tunnel (1983) (CCE)", "AKA O Tunel Espacial", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ff53f6922708119e7bf478d7d618c86", "Suntek", "SS-032", "Walker (1983) (Suntek) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "7ffc2d80fd49a124808315306d19868e", "Ishido", "", "Domino (Ishido) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "801ba40f3290fc413e8c816c467c765c", "Hozer Video Games", "", "Gunfight 2600 - Westward Ho! (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "803393ed29a9e9346569dd1bf209907b", "Atari - GCC, Mark Ackerman, Tom Calderwood, Glenn Parker", "CX2684", "Galaxian (02-04-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "804ed85eadf1ce3e93721547cbea7592", "CCE", "", "Fishing Derby (CCE) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8055b9c2622136fd91edfea6df642daf", "Activision", "", "Unknown Activision Game #1 (1983) (Activision) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "805f9a32ef97ac25f999a25014dc5c23", "SnailSoft", "", "Balthazar (SnailSoft)", "AKA Babylon 5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8068e07b484dfd661158b3771d6621ca", "Epyx, Steven A. Baker, Peter Engelbrite", "80561-00286", "California Games (1987) (Epyx) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "807841df228ee8aab0a06ee639ce5a8a", "Coleco - Project Guild - GMA, Michael Green, Anthony R. Henderson, Gary Littleton", "2455", "Turbo (1982) (Coleco) (Prototype)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "807a8ff6216b00d52aba2dfea5d8d860", "John Payson", "", "Strat-O-Gems Deluxe (2005) (J. Payson)", "Uses the AtariVox controller", "Homebrew", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "", "", "", "" }, + { "808c3b1e60ee0e7c65205fa4bd772221", "CCE", "", "Defender (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "80cd42881e670e4b74a9ccd10d0d7b2e", "20th Century Fox Video Games - Sirius, Ed Hodapp", "11004", "Deadly Duck (1982) (20th Century Fox) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "80cec82239913cb8c4016eb13749de44", "David Marli", "", "Invaders from Space by David Marli (Space Invaders Hack)", "Hack of Space Invaders (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "80dcbe1b55f12be731a224a53ee4ad5f", "Bit Corporation", "R320", "Amidar (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "80e1410ec98089e0733cc09e584dba4b", "Dynamics", "DY-293005", "Jumping Jack (1983) (Dynamics) (PAL)", "AKA Bobby Is Going Home", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "80e52315919bd8a8b82a407ccd9bb13f", "", "", "Euchre (Jul 28) (2002) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "80e5400470ac788143e6db9bc8dd88cf", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (06-XX-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "80f7bf7418a462e8687ecefeaf6eb9c2", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (NTSC) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8101efafcf0af32fedda4579c941e6f4", "", "", "Okie Dokie (4K) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "81073d0377a2badef8d5e74fc44fc323", "Thomas Jentzsch", "", "Sadoom (TJ) (PAL60) (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "8108162bc88b5a14adc3e031cf4175ad", "Suntek", "SS-030", "Skydiver (1983) (Suntek) (PAL)", "AKA Parachute", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8108ad2679bd055afec0a35a1dca46a4", "", "", "Maze Craze (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NTSC", "", "", "" }, + { "810d8952af5a6036fca8d0c4e1b23db6", "Tiger Vision - Eram", "", "Keystone (Tiger Vision)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "81254ebce88fa46c4ff5a2f4d2bad538", "Atari, David Crane - Sears", "CX2653 - 6-99823, 49-75111", "Slot Machine (1979) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "81341f00b61ab37d19d1529f483d496d", "", "", "Fu Kung! (V0.04) (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "813985a940aa739cc28df19e0edd4722", "Imagic, Bob Smith", "720000-201, 720102-1B, IA3201", "Star Voyager (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "81414174f1816d5c1e583af427ac89fc", "Thomas Jentzsch", "", "Treasure Below (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "814210c0e121f7dbc25661b93c06311c", "", "", "Joustpong (16-09-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "81591a221419024060b890665beb0fb8", "Atari, Carla Meninsky, Ed Riddle", "CX2611, CX2611P", "Indy 500 (1977) (Atari) (PAL)", "Uses the Driving Controllers", "", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "45", "", "", "", "" }, + { "8190b403d67bf9792fe22fa5d22f3556", "", "", "Sky Diver (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "819aeeb9a2e11deb54e6de334f843894", "Atari, Gary Palmer", "CX2661", "Fun with Numbers (1980) (Atari)", "AKA Basic Math", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "81a010abdba1a640f7adf7f84e13d307", "Telegames - VSS", "7062 A305", "Universal Chaos (1988) (Telegames)", "AKA Targ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "81b3bf17cf01039d311b4cd738ae608e", "CBS Electronics - Roklan, Joe Gaucher, Alex Leavens", "M8776, M8793", "Gorf (1982) (CBS Electronics)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "81f4f0285f651399a12ff2e2f35bab77", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "822a950f27ff0122870558a89a49cad3", "", "", "Space Jockey (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "82337e5fe0f418ca9484ca851dfc226a", "Thomas Jentzsch", "", "Robot City (V1.0) (Alpha) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "826481f6fc53ea47c9f272f7050eedf7", "Imagic, Dennis Koble", "720103-1A, IA3203", "Atlantis II (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "827a22b9dffee24e93ed0df09ff8414a", "CBS Electronics, Stuart Ross", "", "Wings (10-10-1983) (CBS Electronics) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8290daea8391f96d7c8e1482e184d19c", "Eckhard Stolberg", "", "Frame Timed Sound Effects (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "82bf0dff20cee6a1ed4bb834b00074e6", "Suntek", "SS-035", "Panda (1983) (Quest) (Suntek) (PAL)", "AKA Panda Chase", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "82c25d1c35e6ac6f893d1d7c2fc2f9c8", "Atari, Larry Kaplan", "CX2628, CX2628P", "Bowling (1979) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "82de957d155fc041fc6afb8315a28550", "Coleco, Joseph Biel", "2457", "Venture (1982) (Coleco) (Prototype)", "2K", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "82e7aab602c378cffdd8186a099e807e", "", "", "Space Robot (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "82efe7984783e23a7c55266a5125c68e", "CCE", "C-837", "Pizza Chef (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "834a2273e97aec3181ee127917b4b269", "Quelle", "043.151 0, 874.382 5", "Die hungrigen Froesche (1983) (Quelle) (PAL)", "AKA Frogs and Flies", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "835759ff95c2cdc2324d7c1e7c5fa237", "20th Century Fox Video Games, Frank Cohen, Douglas 'Dallas North' Neubauer", "11011", "M.A.S.H (1983) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8372eec01a08c60dbed063c5524cdfb1", "", "", "Cross Force (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8388d6fe59c38c0b3a6ab2c58420036a", "Atari, Frank Hausman, Mimi Nyden, Steve Woita", "CX2686", "Quadrun (12-06-1982) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "83b8c01c72306d60dd9b753332ebd276", "", "", "Bank Heist (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "83bdc819980db99bf89a7f2ed6a2de59", "Atari, Carla Meninsky - Sears", "CX2637 - 49-75158", "Dodge 'Em (1980) (Atari) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "83d15fb9843d9f84aa3710538403f434", "", "", "Gunfight 2600 - Release Candidate (2001) (MP) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "83e1b9f22f29259679e1018bc04cc018", "Bit Corporation", "R320", "Fast Eddie (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "83f05ececae8be59ba1e51135f4bdcbf", "", "", "Demo Image Series #13 - Mario (4K Interleaved Chronocolour) (05-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "83f50fa0fbae545e4b88bb53b788c341", "Atari, Larry Kaplan - Sears", "CX2643 - 6-99815", "Codebreaker (1978) (Atari) (4K)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "83fafd7bd12e3335166c6314b3bde528", "Epyx, Steven A. Baker, Tod Frye, Peter Engelbrite", "80561-00251", "Winter Games (1987) (Epyx)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "840a5a2eaea24d95d289f514fd12f9bb", "", "", "GBImprov (Hack)", "Hack of Ghostbusters", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "841057f83ce3731e6bbfda1707cbca58", "Champ Games", "CG-04-N", "Super Cobra Arcade (NTSC)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "", "", "YES", "" }, + { "841b7bc1cad05f5408302308777d49dc", "Activision", "", "Unknown Activision Game (10-22-1982) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "84290e333ff7567c2380f179430083b8", "Imagic, Dave Johnson", "13211, EIX-004-04I", "Quick Step! (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "843435eb360ed72085f7ab9374f9749a", "Joe Grand", "", "SCSIcide (1.31) (Joe Grand)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "", "", "AUTO 65", "", "", "", "" }, + { "84535afb9a69712ec0af4947329e08b8", "CCE", "C-868", "Bingo (1983) (CCE) (PAL)", "AKA Dice Puzzle", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8454ed9787c9d8211748ccddb673e920", "Froggo", "FG1002", "Spiderdroid (1987) (Froggo)", "AKA Amidar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8490e1014c2baa0d3a3a08854e5d68b3", "Xonox, Anthony R. Henderson", "99006, 6220", "Sir Lancelot (1983) (Xonox) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "84db818cd4111542a15c2a795369a256", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "850ffd5849c911946b24544ea1e60496", "", "", "Invasion (07-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "851cc1f3c64eaedd10361ea26345acea", "Activision, David Crane", "AG-009, AG-009-04", "Freeway (1981) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "85227160f37aaa29f5e3a6c7a3219f54", "Activision, David Crane", "AG-004", "Fishing Derby (1980) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8530caaaf40acbdcd118c282b5f8a37a", "", "", "This Planet Sucks Demo 2 (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8538c5e3ee83267774480649f83fa8d6", "", "", "Escape Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "853c11c4d07050c22ef3e0721533e0c5", "", "", "Oink! (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "85470dcb7989e5e856f36b962d815537", "Atari - Sculptured Software, Inc., Steve Aguirre", "CX26162", "Fatal Run (1989) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "85478bb289dfa5c63726b9153992a920", "", "", "Candi (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "854b68b93e7123a3be42b5a2a41f75d7", "Atari, Carol Shaw", "CX2618, CX2618P", "3-D Tic-Tac-Toe (1980) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "85502d69fe46b7f54ef2598225678b47", "Jone Yuan Telephonic Enterprise Co", "", "Super-Ferrari (Jone Yuan)", "AKA Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "85564dd0665aa0a1359037aef1a48d58", "ITT Family Games", "554-33 367", "Laser Base (1983) (ITT Family Games) (PAL) [a]", "AKA The End of the World (Perry Rhodan-Serie)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8556b42aa05f94bc29ff39c39b11bff4", "Atari, Craig Nelson - Sears", "CX2617 - 49-75183", "Backgammon (1979) (Atari)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "", "", "AUTO 80", "", "", "", "" }, + { "855a42078b14714bcfd490d2cf57e68d", "Atari, Suki Lee", "CX26113", "Miss Piggy's Wedding (1983) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8597f66dd37d9c855663804669d69d7a", "Tigervision, Warren Schwader", "7-003", "Threshold (1982) (Tigervision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "85a4133f6dcf4180e36e70ad0fca0921", "CCE", "C-827", "Chopper Command (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "85b1bca93e69f13905107cc802a02470", "Atari, Craig Nelson", "CX2617, CX2617P", "Backgammon (1979) (Atari) (PAL)", "Uses the Paddle Controllers", "Extremely Rare", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "", "", "AUTO 80", "", "", "", "" }, + { "85bbefb90e16bf386b304c1e9a1f6084", "Champ Games", "CG-02-P", "Conquest Of Mars (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "85e48d68c8d802e3ba9d494a47d6e016", "", "", "Ship Demo (V 15) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "85e564dae5687e431955056fbda10978", "Milton Bradley Company - Renaissance Technology, Ty Roberts", "4362", "Survival Run (1983) (Milton Bradley)", "AKA Cosmic Commander", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "86128001e69ab049937f265911ce7e8a", "Apollo - Games by Apollo, Steve Stringfellow", "AP-2005", "Lochjaw (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8619da7f6796cedff59e5aa20712fb4e", "Thomas Jentzsch", "", "Sadistroids (v1.2) (2003) (Thomas Jentzsch)", "Supports Driving Controller in right port", "", "", "", "", "", "", "", "", "", "DRIVING", "", "", "", "", "", "", "YES", "30" }, + { "862cf669cbced78f9ed31a5d375b2ebe", "", "", "Gunfight 2600 - Flicker acceptance (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8644352b806985efde499ae6fc7b0fec", "CCE", "C-801", "Mr. Postman (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8654d7f0fb351960016e06646f639b02", "Home Vision, R.J.P.G. - Gem International Corp. - VDI", "VCS83106", "Ski Hunt (1983) (Home Vision) (PAL)", "AKA Skiiing Hunt", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "866e5150c995c4ae5172e5207ba948c7", "Canal 3 - Intellivision", "", "Stampede (Canal 3) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "869abe0426e6e9fcb6d75a3c2d6e05d1", "", "", "Stampede (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "86b4aa76bbeb70e1a4f9211a9880ba8e", "", "", "Incoming (1 Player Version) (05-11-2002) (Ben Larson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8712cceec5644aacc2c21203d9ebe2ec", "Retroactive", "", "Qb (V0.10) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8726c17ee7b559cb7bf2330d20972ad0", "", "", "Cave Demo (21-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "873fb75a7788ba0f4ae715229a05545e", "", "", "Euchre (Improved Colors) (PAL) (26-09-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8747ba79cd39fa83a529bb26010db21b", "Atari, Richard Maurer", "CX2632, CX2632P", "Space Invaders (1980) (Atari) (PAL) [different speed and colors]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8749a0d088df25218c149dc325abc7ca", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype) [a5]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "874c76726f68c166fcfac48ce78eef95", "", "", "Red Pong Number 2 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8764462d7d19a33b0717af22b99fc88f", "CCE", "", "Sky Jinks (CCE) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "87662815bc4f3c3c86071dc994e3f30e", "Intellivision Productions - M Network, Patricia Lewis Du Long, Stephen Tatsumi", "", "Swordfight (1983) (Intellivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "876a953daae0e946620cf05ed41989f4", "Retroactive", "", "Qb (V2.08) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "877a5397f3f205bf6750398c98f33de1", "Erik Eid", "", "Euchre (Beta) (PAL) (12-09-2002) (Erik Eid)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8786c1e56ef221d946c64f6b65b697e9", "20th Century Fox Video Games, David Lubar", "11015", "AKA Space Adventure", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8786f229b974c393222874f73a9f3206", "Activision, Larry Miller - Ariola", "EAX-021, EAX-021-04I - 711 021-720", "Spider Fighter (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8786f4609a66fbea2cd9aa48ca7aa11c", "Goliath", "5", "Open Sesame (1983) (Goliath) (PAL)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "87b460df21b7bbcfc57b1c082c6794b0", "Dennis Debro", "", "Climber 5 (20-03-2003) (Dennis Debro)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "87b6a17132fc32f576bc49ea18729506", "Atari, Andrew Fuchs, Courtney Granner, Jeffrey Gusman, Mark R. Hahn", "CX2690", "Pengo (1984) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "87bea777a34278d29b3b6029833c5422", "Thomas Jentzsch", "", "Polaris (1983) (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "87e79cd41ce136fd4f72cc6e2c161bee", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2675", "Ms. Pac-Man (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "87f020daa98d0132e98e43db7d8fea7e", "20th Century Fox Video Games - Sirius, David Lubar", "11001", "Worm War I (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "883258dcd68cefc6cd4d40b1185116dc", "Activision, David Crane - Ariola", "EAZ-030, EAZ-030-04B, EAZ-030-04I - 711 030-725", "Decathlon (1983) (Activision) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8874b68751fd2ba6d3306a263ae57a7d", "Eric Mooney", "", "Invaders by Erik Mooney (Alpha 1) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8885d0ce11c5b40c3a8a8d9ed28cefef", "Atari, Carol Shaw, Nick 'Sandy Maiwald' Turner - Sears", "CX2608 - 49-75165", "Super Breakout (1982 - 1981) (Atari)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, + { "888debb162d7d1ae71025b4ab794257f", "", "", "Interleaved ChronoColour - Nude Art (17-04-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "88a6c9c88cb329ee5fa7d168bd6c7c63", "CCE", "C-1007", "Jungle Hunt (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "88d300a38bdd7cab9edad271c18cd02b", "Funvision - Fund. Int'l Co.", "", "Pac Kong (Funvision) (PAL)", "AKA Inca Gold", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "88d7b6b3967de0db24cdae1c7f7181bd", "Atari - GCC, Dave Payne", "CX2669", "Vanguard (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "88d8a1accab58cf1abb043613cf185e9", "Ultravison", "", "Sabotage (Ultravison)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "88dce4037471424bb38ab6841aaa8cab", "", "", "Double-Height 6-Digit Score Display (Two Background Color Change) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "88ed87c011f699dd27321dbe404db6c8", "Activision, Dan Kitchen", "AX-029", "Crackpots (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "88f74ec75ef696e7294b7b6ac5ca465f", "Activision, Bob Whitehead", "AG-002, CAG-002, AG-002-04", "Boxing (1980) (Activision) (16K)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8905d54f48b8024fc718ed643e9033f7", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (05-24-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "890c13590e0d8d5d6149737d930e4d95", "Atari, David Crane - Sears", "CX2605 - 6-99822, 49-75109", "Outlaw (1978) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8917f7c1ac5eb05b82331cf01c495af2", "Bit Corporation", "PG202", "Space Tunnel (1982) (BitCorp) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8933976f2029c0d8492ebd8f4eb21492", "", "", "Synthcart Plus (09-02-2003) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8953bc11352d794431d3303e31d3b892", "Tigervision, Robert H. O'Neil", "7-007", "Polaris (02-17-1983) (Tigervision) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "896ec58f26e930e02f5e4f046602c3a1", "", "", "Synthcart (Beta) (2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "898143773824663efe88d0a3a0bb1ba4", "Activision - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "AZ-033, AZ-033-04", "Space Shuttle (1983) (Activision) [FE]", "A Journey Into Space", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "898748d5eaac3164b0391a64ae1e0e32", "", "", "Hangman Man 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "898b5467551d32af48a604802407b6e8", "Bit Corporation", "PG208", "Snail Against Squirrel (1983) (BitCorp) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "89a65b83203980d5d4d60f52a584a5b8", "", "", "Marble Craze (PAL) (02-02-2003) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "89a68746eff7f266bbf08de2483abe55", "Atari, Jerome Domurat, Steve Woita", "CX2696", "Asterix (1984) (Atari)", "AKA Taz", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "89afff4a10807093c105740c73e9b544", "", "", "Pooyan (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "89eaba47a59cbfd26e74aad32f553cd7", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2001", "Spacechase (1982) (Apollo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8a159ee58b2f0a54805162984b0f07e5", "Atari - Sculptured Software, Inc., Steve Aguirre", "CX26162", "Fatal Run (1989) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8a183b6357987db5170c5cf9f4a113e5", "Atari - Roklan, Joe Gaucher", "CX2679", "RealSports Basketball (01-11-1983) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8a42e2c7266439d8997a55d0124c912c", "", "", "Hangman Invader Wordlist (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8a49cf1785e3dea2012d331a3ad476e1", "", "", "Boulderdash (10 Blocks Wide) (02-04-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8a6c84f481acf42abcb78ba5064ad755", "128-in-1 Junior Console", "", "Street Racer (128-in-1 Junior Console) (PAL) (4K)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "10 75", "", "", "", "" }, + { "8a8e401369e2b63a13e18a4d685387c6", "Activision, David Crane - Ariola", "EAG-008, PAG-008, EAG-008-04I - 711 008-720", "Laser Blast (1981) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8a9d874a38608964f33ec0c35cab618d", "Chris Cracknell", "", "Rescue Bira Bira (Chris Cracknell)", "Hack of Jungle Fever", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8a9d953ac3db52a313a90d6a9b139c76", "", "", "Hangman Invader Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8aad33da907bed78b76b87fceaa838c1", "Atari, Larry Kaplan", "CX26163P", "Air-Sea Battle (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8ac18076d01a6b63acf6e2cab4968940", "Atari, Dan Hitchens, Mimi Nyden", "CX2685", "Gravitar (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8af58a9b90b25907da0251ec0facf3b8", "Jone Yuan Telephonic Enterprise Co", "", "Cosmic Swarm (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8b04e9d132b8e30d447acaa6bd049c32", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (1982) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8b40a9ca1cfcd14822e2547eaa9df5c1", "Parker Brothers - Western Technologies, Dave Hampton, Tom Sloper", "931517", "Q-bert (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8b504b417c8626167a7e02f44229f0e7", "Retroactive", "", "Qb (V1.00) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8b556c3d9ca8e5e6e665bd759b93ffae", "", "", "Synthcart (2002) (Paul Slocum) (PAL) [!]", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8b5b1e3a434ebbdc2c2a49dc68f46360", "CBS Electronics - Woodside Design Associates - Imaginative Systems Software, Garry Kitchen", "4L1700, 4L1701, 4L1702, 4L1802, 4L2274", "Donkey Kong (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8b7ca29a55432f886cee3d452fb00481", "Starpath Corporation, Stephen H. Landrum, Jon Leupp", "11 AR-4201", "Sword of Saros (1983) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8b8152d6081f31365406cb716bd95567", "Atari", "CX2626, CX2626P", "Miniature Golf (1979) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8b8789c6669a4cee86c579a65332f852", "Digivision", "", "Plaque Attack (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8bbfd951c89cc09c148bfabdefa08bec", "UA Limited", "", "Pleiades (1983) (UA Limited) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8bc0d2052b4f259e7a50a7c771b45241", "Xonox - K-Tel Software, Anthony R. Henderson", "99007, 6240", "Tomarc the Barbarian (1983) (Xonox) [a]", "AKA Thundarr the Barbarian", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8bd8f65377023bdb7c5fcf46ddda5d31", "Activision, Bob Whitehead", "AG-019", "Sky Jinks (1982) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8bebac614571135933116045204f0f00", "Thomas Jentzsch", "", "Missile Command (Trakball) (2002) (TJ) (PAL)", "Uses the Trakball Controller", "Homebrew", "", "", "", "", "", "", "", "TRAKBALL", "TRAKBALL", "", "", "", "", "", "", "YES", "" }, + { "8c103a79b007a2fd5af602334937b4e1", "Thomas Jentzsch", "", "Laser Base (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8c136e97c0a4af66da4a249561ed17db", "", "", "Poker Squares (V0.27) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8c146c61817edd376bc1354c7f1ddc63", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8c1cc284edba691139d6626d062c606f", "Atari, Omegamatrix", "", "Super Breakout Menu (2020) (PAL60) (Hack)", "Hack of Super Breakout", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, + { "8c2fa33048f055f38358d51eefe417db", "Home Vision - Gem International Corp. - VDI", "VCS83137", "Teddy Apple (1983) (Home Vision) (PAL)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8c36ed2352801031516695d1eeefe617", "Epyx, Steven A. Baker, Tod Frye, Peter Engelbrite", "80561-00251", "Winter Games (1987) (Epyx) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8c7e5e2329f4f4e06cbcc994a30fd352", "Data Age", "DA1004", "Airlock (1982) (Data Age) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8c8a26ed57870daba8e13162d497bad1", "HES", "", "2 Pak Special - Dolphin, Oink (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8c8b15b3259e60757987ed13cdd74d41", "Supergame", "71", "River Raid (1984) (Supergame)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8c941fa32c7718a10061d8c328909577", "Digivision", "", "River Raid (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8ccaa442d26b09139685f5b22bf189c4", "Retroactive", "", "Qb (V1.01) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8ccf63141a029603572d1056e772990e", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (NTSC) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8cd26dcf249456fe4aeb8db42d49df74", "Atari - Imagineering, Dan Kichen", "CX26139", "Crossbow (1988) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8ce9126066f2ddd5173e9f1f9ce1494e", "Thomas Jentzsch", "", "Missile Command (Trakball) (2002) (TJ)", "Uses the Trakball Controller", "Homebrew", "", "", "", "", "", "", "", "TRAKBALL", "TRAKBALL", "", "", "", "", "", "", "YES", "" }, + { "8cf0d333bbe85b9549b1e6b1e2390b8d", "Atari, Brad Stewart", "CX2649, CX2649P", "Asteroids (1981) (Atari) (PAL)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8d00a38f4c8f8800f1c237215ac243fc", "", "", "3-D Corridor (Green) (30-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8d1e2a6d2885966e6d86717180938f87", "Thomas Jentzsch", "", "Missile Command (Amiga Mouse) (2002) (TJ)", "Uses Amiga Mouse Controller", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8d8b7d7b983f75debbdaac651e814768", "", "", "Demo Image Series #15 - Three Marios (PAL) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8d9a06101ebb0f147936356e645309b8", "", "", "Grid Pattern Demo 2 (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8da51e0c4b6b46f7619425119c7d018e", "Atari - Imagineering, David Lubar", "CX26183", "Sentinel (1991) (Atari)", "Uses the Light Gun Controller (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8db152458abaef3cfa7a4e420ddbda59", "", "", "Keystone Kapers (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8df4be9ddc54ac363b13dc57ceaf161a", "Scott Stilphen", "", "Asteroids SS (Scott Stilphen) (Hack)", "Hack of Asteroids", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8e0ab801b1705a740b476b7f588c6d16", "Activision, David Crane", "AG-009, AG-009-04", "Freeway (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8e42674972d6805068fc653e014370fd", "", "", "Skeleton (PAL) (15-10-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8e48ea6ea53709b98e6f4bd8aa018908", "CBS Electronics, Stuart Ross", "", "Wings (06-03-1983) (CBS Electronics) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8e4cd60d93fcde8065c1a2b972a26377", "Imagic, Dan Oliver", "720118-2A, 13208, EIX-007-04I", "Laser Gates (1983) (Imagic) (PAL)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8e4fa8c6ad8d8dce0db8c991c166cdaa", "Atari, Bill Aspromonte, John Russell, Michael Sierchio, Robert Zdybel", "CX26114", "Pigs in Space (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8e512ad4506800458f99dec084fc2c64", "Bob Montgomery, Nathan Strum", "", "Reindeer Rescue (2005)", "2005 AtariAge Holiday Cart", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8e7241bfc8380aac3c0ef1b6881cdded", "Atari, Howard Scott Warshaw - Sears", "CX2655 - 49-75167", "Yars' Revenge (09-01-81) (Atari) (Prototype)", "Time Freeze", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8e737a88a566cc94bd50174c2d019593", "Quelle", "343.173 1", "Feuerwehr im Einsatz (1983) (Quelle) (PAL)", "AKA Fire Fighter", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8e822b39a71c84ac875f0107fb61d6f0", "", "", "Hangman Ghost Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8e879aa58db41edb67cbf318b77766c4", "Thomas Jentzsch", "", "Cosmic Commuter (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8e887d1ba5f3a71ae8a0ea16a4af9fc9", "", "", "Skeleton (V1.1) (PAL) (24-10-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8ed5a746c59571feb255eaa7d6d0cf98", "", "", "Carnival (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8ed73106e2f42f91447fb90b6f0ea4a4", "Spectravision - Spectravideo", "SA-204", "Tapeworm (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8ee3f64dc0f349adc893fe93df5245d8", "", "", "Euchre (20-07-2001) (Eric Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8ef96ace4a1d6dfb65926c1e868b0188", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8f33bce5ba1053dcf4cea9c1c69981e4", "", "", "Jawbreaker (Unknown) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8f53a3b925f0fd961d9b8c4d46ee6755", "", "", "Astrowar (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8f5ac5139419c5d49bacc296e342a247", "Atari - CCW, Michael Callahan, Preston Stuart", "CX26103", "Alpha Beam with Ernie (12-22-1982) (Atari) (Prototype)", "Uses Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8f60551db6d1535ef0030f155018c738", "", "", "Space War (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8f613ea7c32a587d6741790e32872ddd", "", "", "Troll Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8f88309afad108936ca70f8b2b084718", "Spectravision - Spectravideo - Quelle", "SA-203 - 413.223 9", "Cross Force (1982) (Spectravision) (PAL)", "AKA Kreuzfeuer (Cross Fire)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8f90590dba143d783df5a6cff2000e4d", "", "", "Gopher (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8f98519a91dbbf4864f135a10050d9ed", "Silvio Mogno", "", "Rainbow Invaders (non-playable demo) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8fa47e5242776e841df7e708b12eb998", "", "", "Sea Hawk (Genesis)", "Genesis controller (C drops bomb)", "Hack of Sea Hawk", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8fbabaa87941cdf3a377c15e95bdb0f3", "", "", "Meteor Smasher (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8fe00172e7fff4c1878dabcf11bb8dce", "Quelle", "689.302 8", "Hili Ball (1983) (Quelle) (PAL)", "AKA Racquetball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "8febdd9142960d084ab6eeb1d3e88969", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2674", "E.T. - The Extra-Terrestrial (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "8fffc8f15bb2e6d24e211884a5479aa5", "Retroactive", "", "Qb (V1.00) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9007c3cbb55ce05ad7d1c34d4906750a", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (03-18-1983) (Activision) (Prototype)", "Pitfall Harry's Jungle Adventure (Jungle Runner)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9048ccb7e0802cd8fa5bfc2609f292d8", "Tigervision, Robert H. O'Neil", "7-007", "Polaris (1983) (Tigervision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9057694dce8449521e6164d263702185", "Activision, Bob Whitehead", "AG-011", "Stampede (1981) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "90578a63441de4520be5324e8f015352", "Bit Corporation", "PGP204", "Open Sesame (4 Game in One) (1983) (BitCorp) (PAL)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9072c142728a3a3d994956d03bfacba2", "Fabrizio Zavagli", "", "Crash Dive (Fabrizio Zavagli) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "90a3c3255f2a54225cdcb50831f8793a", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.1 (PAL) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "90b1799dddb8bf748ee286d22e609480", "", "", "Ship Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "90b647bfb6b18af35fcf613573ad2eec", "AtariAge (Chris Walton)", "", "Juno First (2009)", "AtariVox supported", "Homebrew", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "", "", "YES", "" }, + { "90ccf4f30a5ad8c801090b388ddd5613", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (1982) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "90d77e966793754ab4312c47b42900b1", "Imagic, Brad Stewart", "720105-2A, IA3400P, EIX-005-04I", "Fire Fighter (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "90f502cbf4438a95f69f848cef36eb64", "Digitel", "", "River Raid II (1985) (Digitel)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "910dd9bf98cc5bc080943e5128b15bf5", "", "", "Gunfight 2600 - Improved AI (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "911d385ee0805ff5b8f96c5a63da7de5", "Thomas Jentzsch", "", "Jammed (V0.1) (Demo) (2001) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "913d5d959b5021f879033c89797bab5e", "", "", "Robot Player Graphic (1996) (J.V. Matthews) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "914a8feaf6d0a1bbed9eb61d33817679", "Atari", "CX26163P", "Freeway Chicken (32 in 1) (1988) (Atari) (PAL)", "AKA Freeway", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "91925abce3a29e33b6a8b81482f4f5af", "Activision, Garry Kitchen - Ariola", "EAX-025, EAX-025-04I - 711 025-725", "Keystone Kapers (1983) (Activision) (PAL) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9193b6fff6897d43274741d4f9855b6d", "", "", "M.A.S.H (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "91a3749ff7b7e72b7fa09e05396a0e7b", "", "", "Gunfight 2600 - Final Run Part 2 (2002) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "91b007f33f9b790be64f57220ec52e80", "Jone Yuan Telephonic Enterprise", "", "Laser Blast (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "91c2098e88a6b13f977af8c003e0bca5", "Atari - GCC", "CX2676", "Centipede (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "91d1c82ceaf8af2add3973a3c34bc0cb", "", "", "Starfield Demo 1 (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "91f0a708eeb93c133e9672ad2c8e0429", "", "", "Oystron (V2.9) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "91fdb6541f70c40b16aabf8308123be8", "", "", "Interlacing Game (19-08-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9222b25a0875022b412e8da37e7f6887", "Panda", "106", "Dice Puzzle (1983) (Panda)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9245a84e9851565d565cb6c9fac5802b", "Bomb - Onbase", "CA282", "Great Escape (1983) (Bomb)", "AKA Asteroid Fire", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "927d422d6335018da469a9a07cd80390", "Activision, Carol Shaw - Ariola", "EAX-020, EAX-020-04B, EAX-020-04I - 711 020-720", "River Raid (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9281eccd7f6ef4b3ebdcfd2204c9763a", "Retroactive", "", "Qb (2.15) (Retroactive) (PAL)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9295570a141cdec18074c55dc7229d08", "Telegames", "7045 A015", "Bump 'n' Jump (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "929e8a84ed50601d9af8c49b0425c7ea", "Bit Corporation", "PG205", "Dancing Plate (1982) (BitCorp) (PAL)", "AKA Dishaster, Dancing Plates, Tanzende Teller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "92a1a605b7ad56d863a56373a866761b", "U.S. Games Corporation - Western Technologies, Dave Hampton", "VC2006", "Raft Rider (1983) (U.S. Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "92d1b6cb8a1b615266c4088a58464779", "Bit Corporation", "R320", "Fishing Derby (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "92d1f6ac179ebe5963868d6bc1bdda8d", "HES", "498", "Smash Hit Pak - Frogger, Boxing, Seaquest, Skiing, Stampede (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "92e72f7cc569584c44c9530d645ae04e", "Canal 3 - Intellivision", "", "Spider Fighter (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "931b91a8ea2d39fe4dca1a23832b591a", "Activision, David Crane", "AG-008", "Laser Blast (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9333172e3c4992ecf548d3ac1f2553eb", "Konami", "RC 101-X 02", "Strategy X (1983) (Konami)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "93420cc4cb1af1f2175c63e52ec18332", "Tim Snider", "", "Blair Witch Project (Tim Snider) (Hack)", "Hack of Haunted House", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9364ad51c321e0f15c96a8c0aff47ceb", "Atari, Rob Fulop", "CX2638", "Missile Command (1981) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "936ef1d6f8a57b9ff575dc195ee36b80", "", "", "Pac Kong (Unknown)", "AKA Inca Gold", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "936f555b4b1a2cd061b659ff63f4f5f2", "HES, David Lubar", "535", "My Golf (1990) (HES) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "937736d899337036de818391a87271e0", "Atari, Peter C. Niday", "CX26108", "Donald Duck's Speedboat (04-12-1983) (Atari) (Prototype)", "AKA Donald Duck's Regatta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "939ce554f5c0e74cc6e4e62810ec2111", "ZiMAG - Emag - Vidco", "711-111 - GN-020", "Dishaster (1983) (ZiMAG)", "AKA Dancing Plate", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "93acd5020ae8eb5673601e2edecbc158", "Chris Cracknell", "", "Video Time Machine (Chris Cracknell)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "93b9229fc0ea4fb959d604f83f8f603c", "Thomas Jentzsch", "", "Amidar DS (Fast Enemies) (2003) (TJ) (Hack)", "Hack of Amidar", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "93c4b910f7649b3e998bb6d8527c6f4a", "Sparrow - Enter-Tech, Paul Walters, Rick Harris, George Hefner, Barbara Ultis", "", "Arkyology (1983) (Sparrow) (Prototype) [fixed]", "Fix for un-initialized 'X' register", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "93c52141d3c4e1b5574d072f1afde6cd", "Imagic, Mark Klein", "720112-1A, 03213", "Subterranea (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "93c8d9d24f9c5f1f570694848d087df7", "Digivision", "", "Galaxian (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "93c9f9239a4e5c956663dd7affa70da2", "Quelle", "626.610 0", "Billard (1983) (Quelle) (PAL)", "AKA Trick Shot", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "93db185c3b3dc382f3aecd6a2fea7fd9", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.1 (PAL60) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "93dc15d15e77a7b23162467f95a5f22d", "CCE", "", "Sky Jinks (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "93e276172b521c4491097f8b1393eea7", "Atari", "", "Diagnostic Test Cartridge 4.2 (06-01-1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "93eb1795c8b1065b1b3d62bb9ec0ccdc", "JSK", "", "Custer's Viagra (JSK) (Hack)", "Hack of Custer's Revenge", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "94102febc53b4a78342d11b645342ed4", "", "", "Joustpong (14-07-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9433770890f087bfcf3e50122694d8c0", "Omegamatrix", "", "Star Wars Arcade (Amiga Mouse) (Y Inverted) v4 (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9436b7ad131b5a1f7753ce4309ba3dee", "Kyle Pittman", "", "War of The Worlds (Kyle Pittman) (Hack)", "Hack of Defender", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "943798452ceba9357e2c56303cadb4f7", "Thomas Jentzsch, Paul Slocum", "", "Thrust+ Platinum (v1.28)", "", "New Release, supports BoosterGrip and Genesis (switched by Color/B+W)", "", "", "", "", "", "", "", "JOYSTICK", "DRIVING", "", "", "", "", "", "", "", "" }, + { "9446940866c9417f210f8552cf6c3078", "Thomas Jentzsch", "", "Marble Craze - Amiga Mouse Hack v1.0 (PAL60) (TJ)", "Uses Amiga Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "94507dee401b0a072a481c00d7699ffe", "Thomas Jentzsch", "", "Missile Control - Atari Trak-Ball Hack v1.15 (PAL) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9469d18238345d87768e8965f9f4a6b2", "CCE", "", "Ms. Pac-Man (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "947317a89af38a49c4864d6bdd6a91fb", "CBS Electronics, Bob Curtiss", "4L 2487 5000", "Solar Fox (1983) (CBS Electronics)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "94b92a882f6dbaa6993a46e2dcc58402", "Activision, Larry Miller", "AX-026, AX-026-04", "Enduro (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "94d90f63678e086f6b6d5e1bc6c4c8c2", "Digivision", "", "Seaquest (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "94e3fbc19107a169909e274187247a9d", "", "2402-044-01", "2-in-1 Freeway and Tennis (Unknown)", "", "", "", "", "2IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "94e4c9b924286038527f49cdc20fda69", "Retroactive", "", "Qb (V2.12) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "94e7cc6342d11e508e7e8b2ddf53c255", "", "", "Missile Command (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "94ff6b7489ed401dcaaf952fece10f67", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (07-31-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "951e8cec7a1a1d6c01fd649e7ff7743a", "Atari - Sculptured Software, Adam Clayton", "CX26151, CX26151P", "Dark Chambers (1988) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9526e3db3bdfbc27989a9cbfd0ee34bf", "", "", "Atari Logo Demo 6 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "95351b46fa9c45471d852d28b9b4e00b", "Atari, Tom Rudadahl", "CX26163P", "Golf (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "955c408265ad6994f61f9b66657bbae9", "", "", "Quadrun (Video Conversion) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "956496f81775de0b69a116a0d1ad41cc", "CCE", "", "Alien (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "956b99511c0f47b3a11d18e8b7ac8d47", "", "", "Bones (Arcade Golf Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "95956108289a917f80667eccd3ce98a9", "Atari, Ed Logg, Carol Shaw", "CX2639, CX2639P", "Othello (1981) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "95a69cf8c08ef1522b050529464f0bca", "", "", "Grid Pattern Demo 1 (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "95a89d1bf767d7cc9d0d5093d579ba61", "PlayAround - J.H.M.", "204", "Lady in Wading (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "95e1d834c57cdd525dd0bd6048a57f7b", "Atari, Bill Aspromonte, John Russell, Michael Sierchio, Robert Zdybel", "CX26114", "Pigs in Space (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "95e542a7467c94b1e4ab24a3ebe907f1", "Suntek", "SS-021", "Dragon Defender (1983) (Suntek) (PAL)", "", "", "", "", "", "", "", "", "", "MINDLINK", "", "", "", "", "", "", "", "YES", "" }, + { "95fd6097dc27c20666f039cfe34f7c69", "", "", "Oh No! (Version 1) (17-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "961112b74a920a5242e233480326c356", "Activision, Alan Miller", "AG-007, CAG-007", "Tennis (1981) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "962ffd3eaf865230a7a312b80e6c5cfd", "Imagic, Wilfredo 'Willy' Aguilar, Michael Becker, Rob Fulop", "13205", "Fathom (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "96662271ae50b6859017bffbdda75525", "Andrew Davie & Thomas Jentzsch", "", "Boulder Dash - Demo (2011)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "96670d0bf3610da2afcabd8e21d8eabf", "", "", "Boring Pitfall (Hack)", "Hack of Pitfall!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "966b11d3c147d894dd9e4ebb971ea309", "", "", "Marble Craze Song (Paul Slocum) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "966c955e4aaca7082d9ffb9a68e3f3ed", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9671b658286e276cc4a3d02aa25931d2", "", "", "Hangman Ghost Wordlist (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "968efc79d500dce52a906870a97358ab", "TNT Games - Sculptured Software, Adam Clayton", "26192", "BMX Air Master (1989) (TNT Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "969b968383d9f0e9d8ffd1056bcaef49", "Atari, Larry Kaplan", "CX2628, CX2628P", "Bowling (1979) (Atari) (PAL)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "96bcb3d97ce4ff7586326d183ac338a2", "", "", "Revenge of the Apes (Hack) [h2]", "Hack of Planet of the Apes", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "96e798995af6ed9d8601166d4350f276", "20th Century Fox Video Games - Videa, David Ross", "11029", "Meltdown (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "96eccc2277043508a6c481ea432d7dd9", "Thomas Jentzsch", "", "Missile Command (Atari Mouse) (2002) (TJ) (PAL)", "Uses Atari ST Mouse Controller", "Homebrew", "", "", "", "", "", "", "", "ATARIMOUSE", "ATARIMOUSE", "", "", "", "", "", "", "YES", "" }, + { "96f806fc62005205d851e758d050dfca", "", "", "Push (V0.05) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "97184b263722748757cfdc41107ca5c0", "Parker Brothers", "PB5820", "Mr. Do!'s Castle (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9718b85ac5a55cbc7348963c63ffa35a", "Robby", "", "Demon Attack (Robby)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "972486110933623039a3581db308fda6", "", "", "Xeno Plus (Hack)", "Hack of Xenophobe", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "97327d6962f8c64e6f926f79cd01c6b9", "", "", "Jawbreaker (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "977294ae6526c31c7f9a166ee00964ad", "Atari - GCC, Douglas B. Macrae", "CX2677, CX2677P", "Dig Dug (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9784290f422e7aeeab4d542318bd9a1f", "AtariAge, Chris Walton", "1.0 (Release)", "Chetiry (2011) (AtariAge) (60k)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "50" }, + { "97842fe847e8eb71263d6f92f7e122bd", "Imagic, Wilfredo Aguilar, Michael Becker, Dennis Koble", "720113-1A, 03206", "Solar Storm (1983) (Imagic)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, + { "97933c9f20873446e4c1f8a4da21575f", "", "", "Racquetball (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "97a9bb5c3679d67f5c2cd17f30b85d95", "Atari", "", "Colors (1980) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "97cd63c483fe3c68b7ce939ab8f7a318", "Thomas Jentzsch", "", "Robot City (V0.21) (15-09-2002) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "97d0151beb84acbe82aa6db18cd91b98", "Steve Engelhardt", "", "Lunar Attack (2002) (Steve Engelhardt) (Hack)", "Hack of Z-Tack", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "97d079315c09796ff6d95a06e4b70171", "Activision, Garry Kitchen", "AZ-032", "Pressure Cooker (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "97e47512f89e79818d988d078dc90410", "Thomas Jentzsch", "", "Missile Control - Amiga Mouse Hack v1.15 (NTSC) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "97f4da9f1031486f4e588f1e53572e53", "SpiceWare - Darrell Spice Jr.", "", "Draconian", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9813b9e4b8a6fd919c86a40c6bda8c93", "Atari", "CX26177", "Ikari Warriors (1989) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9831efc7f4cb8ffb4df0082bab2f07a3", "Activision, Steve Cartwright - Ariola", "EAX-031, EAX-031-04B - 711 031-717", "Frostbite (1983) (Activision) (PAL) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9848b5ef7a0c02fe808b920a2ac566d2", "Skyworks Technology Inc.", "", "Baseball (2002) (Skyworks)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9853089672116117258097dbbdb939b7", "Hozer Video Games", "", "Gunfight 2600 - Cowboy Hair (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "98555b95cb38e0e0b22b482b2b60a5b6", "", "", "Spinning Fireball (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "98ba601a60172cb46c5bf9a962fd5b1f", "", "", "Gorilla Kong (Hack)", "Hack of Donkey Kong", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "98ccd15345b1aee6caf51e05955f0261", "Retroactive", "", "Qb (V2.03) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "98e5e4d5c4dd9a986d30fd62bd2f75ae", "", "", "Air-Sea Battle (Unknown) (Hack) (4K)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "98e6e34af45a0664597972c3bb31180f", "", "", "Space Instigators (V1.7) (17-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "98e7caaab8ec237558378d2776c66616", "Bradford W. Mott", "", "HMOVE Test (Bradford W. Mott) (1998) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "98ea10c47c13f1b3306c7b13db304865", "", "", "Jam Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "98ec0fa4199b9c01f7b8fa3732e43372", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "98ef1593624b409b9fb83a1c272a0aa7", "CCE", "C-831", "Cosmic Ark (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "98f63949e656ff309cefa672146dc1b8", "Atari - Axlon, John Vifian", "CX26168", "Off the Wall (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "98fa3ad778a668a79449350de4b3b95b", "Thomas Jentzsch", "", "Thrust (V1.1) (2000) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9905f9f4706223dadee84f6867ede8e3", "HES", "", "Challenge (HES) (PAL)", "Surfer's Paradise if right difficulty = 'A'", "", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9912d06eea42200a198dd3e2be18c601", "Imagic, Michael Greene", "IA3312", "No Escape! (1982) (Imagic) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "991d57bbcd529ad62925098e0aec1241", "", "", "Gunfight 2600 - The Final Kernel (MP) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9945a22f60bbaf6d04a8d73b3cf3db75", "Activision, Dan Kitchen", "EAX-039-04B, EAX-039-04I", "Kung-Fu Master (1987) (Activision) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9947f1ebabb56fd075a96c6d37351efa", "CBS Electronics", "4L 2737 0000", "Omega Race (1983) (CBS Electronics)", "Set right difficulty to 'A' for BoosterGrip in both ports", "", "", "", "", "", "A", "", "", "BOOSTERGRIP", "BOOSTERGRIP", "", "", "", "", "", "", "", "" }, + { "9962034ea7b3d4a905d0991804670087", "", "", "Grid Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9989f974c3cf9c641db6c8a70a2a2267", "Eckhard Stolberg", "", "Colours Selector (Eckhard Stolberg)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "99a24d7bb31d49b720b422550b32c35f", "", "", "Hangman Ghost Biglist1 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "99ac89241365b692255ba95d745edd91", "Atari, Frank Hausman, Mimi Nyden, Steve Woita", "CX2686", "Quadrun (18-03-1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "99f7c6c26046bbe95f1c604b25da8360", "SnailSoft", "", "Comitoid beta 2 (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9a01115206f32eb0b539c7e5a47ccafa", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (07-15-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9a165c39af3f050fdee6583fdfcdc9be", "Zirok", "", "Mario Bros. (Zirok)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9a21fba9ee9794e0fadd7c7eb6be4e12", "Atari - Imagineering, Dan Kitchen", "CX26177", "Ikari Warriors (1991) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9a25b3cfe2bbb847b66a97282200cca2", "Atari, Brad Stewart - Sears", "CX2622 - 6-99813, 49-75107", "Breakout (1978) (Atari) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 60", "", "", "", "" }, + { "9a4274409216ff09ecde799f2a56ac73", "CCE", "C-801", "Mr. Postman (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9ab72d3fd2cc1a0c9adb504502579037", "Epyx, Steven A. Baker, Peter Engelbrite", "80561-00286", "California Games (1987) (Epyx)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9ad362179c2eea4ea115c7640b4b003e", "", "", "Barnstorming (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NTSC50", "", "", "" }, + { "9ad36e699ef6f45d9eb6c4cf90475c9f", "Imagic, Dennis Koble", "720103-1A, 720103-1B, IA3203, IX-010-04", "Atlantis (1982) (Imagic)", "AKA Lost City of Atlantis", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9aeb5206c5bf974892a9cc59f1478db3", "Activision, Steve Cartwright", "AX-013", "Barnstorming (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9af615951e9719df2244bc77fc50cb95", "Dactari - Milmar", "", "Defender (Dactari - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9afdfe1cff7f37f1c971fe3f0c900606", "Funvision - Fund. International Co.", "", "Plug Attack (Funvision)", "AKA Plaque Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9b150a42fc788960fbb4cbe250259ee2", "Kroko", "", "3E Bankswitch Test (TIA @ $40)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9b21d8fc78cc4308990d99a4d906ec52", "CCE", "C-838", "Immies & Aggies (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9b246683f44c963a50e41d6b485bee77", "", "", "Boring (PAL) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9bb136b62521c67ac893213e01dd338f", "Xonox - Beck-Tech", "6210, 7210, 06003. 99001", "Spike's Peak (1983) (Xonox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9bd4e0d5f28ba6da417c26649171f8e4", "", "", "Hangman Pac-Man Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9be58a14e055b0e7581fc4d6c2f6b31d", "", "", "Adventure (Color Scrolling) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9c27ef3bd01c611cdb80182a59463a82", "Arcadia Corporation, Kevin Norman", "AR-4103", "Killer Satellites (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9c40bf810f761ffc9c1b69c4647a8b84", "", "", "2 in 1 - Frostbite, River Raid (Unknown)", "", "", "", "", "2IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9c6d65bd3b477aace0376f705b354d68", "", "", "RPG Kernal (18-04-2003) (Paul Slocum) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9c6faa4ff7f2ae549bbcb14f582b70e4", "U.S. Games Corporation, Garry Kitchen, Paul Willson - Vidtec", "VC1002", "Sneak 'n Peek (1982) (U.S. Games)", "AKA Hide 'n Seek", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9c6fd6ed3599978ab7b6f900484b9be6", "Andrew Wallace", "", "Laseresal 2002 (PAL60) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9c729017dd2f9ccbadcb511187f80e6b", "", "", "J-Pac (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9c7fa3cfcaaafb4e6daf1e2517d43d88", "", "", "PIEROXM Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9ca2deb61318eba4fb784d4bf7441d8b", "", "", "Purple Bar Demo 2 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9cbb07f1993a027bc2f87d5205457ec9", "", "", "Eckhard Stolberg's Scrolling Text Demo 1 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9d0befa555f003069a21d2f6847ad962", "Atari - GCC, Dave Payne", "CX2669", "Vanguard (1982) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9d1556ae5890398be7e3d57449774b40", "Activision, David Crane", "AG-001", "Dragster (1980) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9d2938eb2b17bb73e9a79bbc06053506", "Imagic, Michael Greene", "EIZ-002-04I", "Wing War (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9d2f05d0fe8b2dfcf770b02eda066fc1", "", "", "Push (V0.06) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9d33d31fb1de58c5460d8a67b57b36da", "", "", "Star Voyager (Genesis)", "Genesis controller (C is secondary lasers)", "Hack of Star Voyager", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9d37a1be4a6e898026414b8fee2fc826", "M Network - INTV - APh Technological Consulting, David Rolfe", "MT5665", "Super Challenge Baseball (1982) (M Network)", "AKA Big League Baseball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9d4bc7c6fe9a7c8c4aa24a237c340adb", "Dennis Debro", "", "Climber 5 (16-04-2003) (Dennis Debro)", "For Philly Classic 4", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9d522a3759aa855668e75962c84546f7", "Atari, Tom Rudadahl", "CX2634, CX2634P", "Golf (1980) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9d7f04618bb4043f531d087e3aaa7ac8", "Parker Brothers, Larry Gelberg, Gary Goltz", "PB5065", "Star Wars - Ewok Adventure (1983) (Parker Bros) (Prototype) (PAL) (16K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9de0d45731f90a0a922ab09228510393", "20th Century Fox Video Games - Sirius, Mark Turmell", "11003", "Fast Eddie (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9dec0be14d899e1aac4337acef5ab94a", "CommaVid, John Bronstein", "CM-003", "Cosmic Swarm (1982) (CommaVid) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9e01f7f95cb8596765e03b9a36e8e33c", "Atari - CCW, Michael Callahan, Preston Stuart", "CX26103", "Alpha Beam with Ernie (1983) (Atari)", "Uses Keypad Controllers", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9e135f5dce61e3435314f5cddb33752f", "Fabrizio Zavagli", "", "Space Treat Deluxe (2003)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9e192601829f5f5c2d3b51f8ae25dbe5", "PlayAround - J.H.M.", "201", "Cathouse Blues (1982) (PlayAround)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9e2c7299c69b602443d327c7dad51cbf", "Charles Morgan", "", "Xaxyrax Road (Charles Morgan) (Hack)", "Hack of Freeway", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9e437229136f1c5e6ef4c5f36178ed18", "Funvision - Fund. International Co.", "", "Grand Prize (Funvision)", "AKA Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9e5007131695621d06902ab3c960622a", "Sega", "", "Tac Scan (1983) (Sega) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "YES", "" }, + { "9e792a59f8795664cbaaff1ba152d731", "", "", "Bullet Demo (20-12-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9e904e2eaa471c050c491289b8b80f60", "", "", "How to Draw a Playfield II (1997) (Erik Mooney) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9ea8ed9dec03082973244a080941e58a", "Eric Mooney, Piero Cavina", "", "INV+", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9ec1b259a1bcffa63042a3c2b3b90f0a", "Activision, David Crane", "AG-008", "Laser Blast (1981) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9eca521db1959156a115dee85a405194", "", "", "Fu Kung! (V0.08) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9ed0f2aa226c34d4f55f661442e8f22a", "", "", "Nuts (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9eeb40f04a27efb1c68ba1d25e606607", "Kyle Pittman", "", "Rambo II (2003) (Kyle Pittman) (Hack)", "Hack of Double Dragon", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9efa877a98dd5a075e058214da428abb", "Hozer Video Games", "", "SCSIcide (1.32) (Hozer Video Games)", "Uses the Paddle Controllers", "New Release", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "", "", "", "AUTO 65", "", "", "", "" }, + { "9efb4e1a15a6cdd286e4bcd7cd94b7b8", "20th Century Fox Video Games, John W.S. Marvin", "", "Planet of the Apes (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9f2d58dce1b81c6ba201ed103507c025", "", "", "Fu Kung! (V0.02) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9f48eeb47836cf145a15771775f0767a", "Atari, Warren Robinett", "CX2620", "Basic Programming (1979) (Atari)", "Uses Keypad Controllers", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9f5096a6f1a5049df87798eb59707583", "20th Century Fox Video Games, Mark Klein", "11036", "Entity, The (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9f52271759f8a2004d207b2247ae0bb3", "Parker Brothers", "PB5820", "Mr. Do!'s Castle (03-12-84) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9f59eddf9ba91a7d93bce7ee4b7693bc", "Thomas Jentzsch", "", "Montezuma's Revenge (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9f8fad4badcd7be61bbd2bcaeef3c58f", "Parker Brothers, Charlie Heath", "PB5330", "Reactor (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "9f901509f0474bf9760e6ebd80e629cd", "Atari, Bob Whitehead - Sears", "CX2623 - 6-99819, 49-75108, 49-75125", "Home Run (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "9f93734c68f6479eb022cab40814142e", "", "", "Push (V0.07) (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9f982421b9b4320ede00fe4aa2e812f4", "Atari, Omegamatrix", "", "Super Breakout Menu (2020) (Hack)", "Hack of Super Breakout", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, + { "9f9ee0f60c119c831e80694b6678ca1a", "Jeffry Johnston", "", "Radial Pong - Version 8 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9fa0c664b157a0c27d10319dbbca812c", "Chris Walton, Justin Hairgrove, Tony Morse", "", "Hunchy II (2005)", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9fc2d1627dcdd8925f4c042e38eb0bc9", "Atari - GCC, John Allred, Mike Feinstein", "CX2688, CX2688P", "Jungle Hunt (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "E68E28752D3C54EDD3CCDA42C27E320C", "Xonox - K-Tel Software, Anthony R. Henderson", "99007, 6240", "Tomarc the Barbarian (1983) (Xonox)", "Genesis controller (B is jump and throw, C switches between players)", "Hack of Tomarc the Barbarian", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a0028f057d496f22b549fd8deecc6f78", "Joe Grand", "", "SCSIcide Pre-release 6 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a00ec89d22fcc0c1a85bb542ddcb1178", "CCE", "C-1012", "Phoenix (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a00ee0aed5c8979add4c170f5322c706", "Barry Laws Jr.", "", "Egghead (Barry Laws Jr.) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a0185c06297b2818f786d11a3f9e42c3", "", "", "International Soccer (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a025a8f83a42a4d6d46c4887e799bfac", "Hozer Video Games", "", "Gunfight 2600 - Descissions had to be made (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a0297c4788f9e91d43e522f4c561b4ad", "Atari - CCW, Gary Stark", "CX26102", "Cookie Monster Munch (1983) (Atari) (PAL)", "Uses Kids/Keypad Controllers", "", "", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "a0563dd6d8215c38c488fbbd61435626", "", "", "Ship Demo (V 1501) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a0675883f9b09a3595ddd66a6f5d3498", "Telegames - VSS", "6057 A227", "Quest for Quintana Roo (1988) (Telegames)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a075ad332942740c386f4c3814925ece", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (2 of 4) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a0d502dc8b90b1d7daa5f6effb10d349", "", "", "Demo Image Series #5 - Sam (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a0e2d310e3e98646268200c8f0f08f46", "Atari, Ed Logg, Carol Shaw", "CX2639, CX2639P", "Othello (1981) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a100eff2d7ae61ca2b8e65baf7e2aae8", "David Marli", "", "Muncher (David Marli) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a11099b6ec24e4b00b8795744fb12005", "Activision - Bobco, Robert C. Polaro", "EAK-049-04B", "Rampage! (1989) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a1403fef01641dcd3980cac9f24d63f9", "Dactari - Milmar", "", "Atlantis (Dactari - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a14d8a388083c60283e00592b18d4c6c", "", "", "Tunnel Demo (28-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a15b5831a1fab52e4c416068c85ec011", "Hozer Video Games", "", "Gunfight 2600 - The Good, The Bad, The Ugly (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a174cece06b3abc0aec3516913cdf9cc", "Sears Tele-Games, Jim Huether", "CX2614 - 49-75126", "Steeplechase (1980) (Sears) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "", "", "" }, + { "a1770ef47146ab7b12e2c4beccd68806", "Digitel", "", "Kaystone Kapers (1983) (Digitel)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a184846d8904396830951217b47d13d9", "Activision, Dan Kitchen", "AX-029", "Crackpots (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a189f280521f4e5224d345efb4e75506", "Atari - Thomas Jentzsch", "", "Obelix (1983) (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a1bcbe0bfe6570da2661fc4de2f74e8a", "Imagic - Advanced Program Technology, Rob Fulop", "", "Actionauts (Microbots) (1984-2008) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a1ca372388b6465a693e4626cc98b865", "Quelle", "176.543 7", "Der Vielfrass (1983) (Quelle) (PAL)", "AKA Fast Food", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a1ead9c181d67859aa93c44e40f1709c", "American Videogame - Dunhill Electronics, Darrell Wagner, Todd Clark Holm, John Simonds", "", "Tax Avoiders (1986) (American Videogame)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a1f9159121142d42e63e6fb807d337aa", "Quelle - Otto Versand", "700.223 1 - 781627", "Der moderne Ritter (1983) (Quelle) (PAL)", "AKA Fast Eddie", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a204cd4fb1944c86e800120706512a64", "Coleco, Rob Harris", "2511", "Smurfs Save the Day (1983) (Coleco)", "Uses the Kid Vid Controller", "", "", "", "", "", "", "", "", "", "KIDVID", "", "", "", "", "", "", "", "" }, + { "a20b7abbcdf90fbc29ac0fafa195bd12", "Quelle - Otto Versand", "719.383 2 - 649635, 781393, 781784, 986404", "Motocross (1983) (Quelle) (PAL)", "AKA Motorcross", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a20d931a8fddcd6f6116ed21ff5c4832", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2003", "Racquetball (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "a2170318a8ef4b50a1b1d38567c220d6", "Amiga - Video Soft", "3125", "Surf's Up (1983) (Amiga) (Prototype) [a1]", "Uses the Joyboard controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a2276822c772f72073a8a40a72a1ca52", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Mouse Hack v1.1 (NTSC) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a2424c1a0c783d7585d701b1c71b5fdc", "", "", "Video Pinball (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a25bb76e9e773117e567fd4300b1bb23", "", "", "Interleaved ChronoColour Demo (NTSC) (05-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a28d872fc50fa6b64eb35981d0f4bb8d", "Atari, Larry Kaplan - Sears", "CX2628 - 6-99842, 49-75117", "Bowling (1979) (Atari) (4K)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a29df35557f31dfea2e2ae4609c6ebb7", "Atari", "", "Circus Atari (1980) (Atari) (Joystick)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a29fc854838e08c247553a7d883dd65b", "Activision, Steve Cartwright", "AX-013", "Barnstorming (1982) (Activision) (16K)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a2a384d3a16d5be50afd12906f146827", "Bit Corporation", "R320", "Flash Gordon (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a2aae759e4e76f85c8afec3b86529317", "", "", "Boom Bang (Unknown)", "AKA Crackpots", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a2d7cc2e5419a9e4ab91fdb26339b726", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) (Y Inverted) (PAL60) v4 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a2de0fc85548871279ed2a3c1325c13e", "George Veeder", "", "Cat and Mouse (George Veeder) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a2eb84cfeed55acd7fece7fefdc83fbb", "", "", "Kool Aid Man (Fixed) (15-11-2002) (CT)", "HMOVE handling fixed in this version", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a2f296ea2d6d4b59979bac5dfbf4edf0", "", "", "Warring Worms (28-01-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a2f9e3b6aaa23b6dc06099cdd5b51b31", "Nukey Shay", "", "Montezuma's Revenge (Genesis) (PAL60) (F6_Conversion)", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a302b922a8dbec47743f28b7f91d4cd8", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (Preview) (1982) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a30ece6dc4787e474fbc4090512838dc", "Zellers", "", "Circus (Zellers)", "AKA Circus Atari", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a310494ad5ba2b5b221a30d7180a0336", "", "", "Demo Image Series #6 - Mario (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a336beac1f0a835614200ecd9c41fd70", "Atari, Christopher H. Omarzu, Robert Vieira", "CX26121", "Zoo Keeper Sounds (1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a34560841e0878c7b14cc65f79f6967d", "Multivision, Michael Case", "", "Harem (1982) (Multivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a3486c0b8110d9d4b1db5d8a280723c6", "Atari, Alan J. Murphy, Robert C. Polaro", "CX26100", "Bugs Bunny (08-04-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a35d47898b2b16ec641d1dfa8a45c2b7", "Activision, Steve Cartwright", "AX-017, AX-017-04", "MegaMania (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a3873d7c544af459f40d58dfcfb78887", "", "", "Tennis (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a3b9d2be822eab07e7f4b10593fb5eaa", "", "", "GREGXM Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a3c1c70024d7aabb41381adbfb6d3b25", "Telesys, Alex Leavens", "1005", "Stargunner (1983) (Telesys)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a3d7c299fbcd7b637898ee0fdcfc47fc", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (Preview) (1982) (Arcadia) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, + { "a3f2a0fcf74bbc5fa763b0ee979b05b1", "Quelle", "873.790 0", "Eishockey-Fieber (1983) (Quelle) (PAL)", "AKA Ice Hockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a3f8aebb38182749cb8da85cfbc63d7c", "", "", "Tennis (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a3fee8ce15525ea00d45a06f04c215d1", "Aaron Curtis", "", "AStar (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a406d2f6d84e61d842f4cb13b2b1cfa7", "Tigervision, John Harris - Teldec", "7-002", "Jawbreaker (1982) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a412c8577b2d57b09185ae51739ac54f", "Arcadia Corporation, Dennis Caswell", "AR-4000", "Phaser Patrol (1982) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "a41450333f8dd0e96e5e9f0af3770ae9", "", "", "Basic Math (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a422194290c64ef9d444da9d6a207807", "M Network - APh Technological Consulting, Hal Finney", "MT5667", "Dark Cavern (1982) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a428068d3e51498907d97cec40000515", "Bit Corporation", "R320", "Sky Alien (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a47878a760f5fa3aa99f95c3fdc70a0b", "", "", "Demo Image Series #5 - Baboon (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4790224bd5afabd53cbe93e46a7f241", "Activision, Bob Whitehead", "AG-019", "Sky Jinks (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a47e26096de6f6487bf5dd2d1cced294", "Atari", "CX2643", "Codebreaker (1978) (Atari) (PAL)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a484638990de7b12c62947c79dafa4c6", "Thomas Jentzsch", "", "Marble Craze - Atari Mouse Hack v1.0 (PAL60) (TJ)", "Uses Atari Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a499d720e7ee35c62424de882a3351b6", "SEGA - Beck-Tech, Steve Beck, Phat Ho", "009-01", "Up 'n Down (1984) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4aa7630e4c0ad7ebb9837d2d81de801", "", "", "Atari 2600 Invaders (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4ab331e8768eafdc20ce8b0411ff77a", "", "", "Demo Image Series #1 - Sam (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4b9423877a0b86ca35b52ca3c994ac5", "CCE", "C-805", "Sea Monster (1983) (CCE)", "O Monstro Marinho", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4b99aa5ed85cfdb7d101923147de035", "Jim Goebel", "", "Pac-Law (Jim Goebel) (Hack)", "Hack of Outlaw", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4c08c4994eb9d24fb78be1793e82e26", "Activision, Alan Miller", "AX-012, CAX-012, AX-012-04", "Ice Hockey (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4d026a5c200ef98518ebb77719fe8dc", "Kyle Pittman", "", "SpongeBob SquarePants (2003) (Kyle Pittman) (Hack)", "Hack of Revenge of the Beefsteak Tomatoes", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4e885726af9d97b12bb5a36792eab63", "Xonox - K-Tel Software - Beck-Tech, Steve Beck", "6210, 7210, 06003. 99001", "Spike's Peak (1983) (Xonox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4ecb54f877cd94515527b11e698608c", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26119", "Saboteur (12-20-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4f1cea2c8479284e2a2292f8d51b5fa", "", "", "Gunfight 2600 - The Final Kernel Part 2 (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a4ff39d513b993159911efe01ac12eba", "Atari - GCC, John Allred, Douglas B. Macrae, Betty Ryan Tylko", "CX2694", "Pole Position (1983) (Atari)", "AKA RealSports Driving", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a511f7ee13e4b35512f9217a677b4028", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2674", "E.T. - The Extra-Terrestrial (1982) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a5262fe6d01d6a1253692682a47f79dd", "", "", "JKH Text Scrolling Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a537879d8e82e1061d3ad800479d3b84", "Andrew Wallace", "", "Brooni (2001) (Andrew Wallace) (PD) (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a539b9fd1ba57e46442b3e9351e6383b", "", "", "River Raid (208 in 1) (Unknown) (PAL) (Hack) [a]", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a56b642a3d3ab9bbeee63cd44eb73216", "Carrere Video - JWDA, Sylvia Day, Todd Marshall, Robin McDaniel, Henry Will IV - Teldec - Prism", "USC2001", "Gopher (1983) (Carrere Video) (PAL)", "AKA Vossicht Whlmaus!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a5855d73d304d83ef07dde03e379619f", "Atari, David Crane", "", "Boggle (08-07-1978) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "a58b11148c18d85e4c2aef4ff46ade67", "", "", "Video Chess (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a591b5e8587aae0d984a0f6fe2cc7d1c", "", "", "Globe Trotter Demo (24-03-2003) (Weston)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a5b7f420ca6cc1384da0fed523920d8e", "", "", "Adventure (New Graphics) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a5c96b046d5f8b7c96daaa12f925bef8", "Activision, Alan Miller - Ariola", "EAG-007, EAG-007-04I, PAG-007 - 711 007-720", "Tennis (1981) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a5e9ed3033fb2836e80aa7a420376788", "Atari, Carla Meninsky", "CX2637, CX2637P", "Dodge 'Em (1980) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a60598ad7ee9c5ccad42d5b0df1570a1", "Atari, Alan Miller", "CX26163P", "Surround (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a6127f470306eed359d85eb4a9cf3c96", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (1984) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a6239810564638de7e4c54e66b3014e4", "Personal Games Company, Robert Anthony Tokar", "", "Birthday Mania (1984) (Personal Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a62e3e19280ff958407e05ca0a2d5ec7", "", "", "Hangman Ghost Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a6737c81542a99ee71cb5f5ff14703d9", "", "", "Scrolling Playfield 3 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a69f5b1761a8a11c98e706ec7204937f", "", "", "Pharaoh's Curse (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "a6ed8d72ed691fd3aad5b6974fa17978", "Bit Corporation", "R320", "Bank Heist (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a74689a08746a667a299b0507e1e6dd9", "Starpath Corporation, Stephen H. Landrum", "9 AR-4105", "Official Frogger, The (1983) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a7523db9a33e9417637be0e71fa4377c", "Videospielkassette - Ariola", "PGP238", "Gangster (Ariola) (PAL)", "AKA Outlaw", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a7673809068062106db8e9d10b56a5b3", "Atari, Jerome Domurat, Andrew Fuchs, Dave Staugas, Robert Vieira", "CX26118, CX26118P", "Millipede (1984) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a779b9fa02c62d00d7c31ed51268f18a", "Arcadia Corporation, Brian McGhie", "AR-4104", "Rabbit Transit (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a7a58e9291aefa1064e933071f60d4ef", "Arcadia Corporation, Dennis Caswell", "1 AR-4000, AR-4100", "Phaser Patrol (1982) (Arcadia) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "a7b584937911d60c120677fe0d47f36f", "M Network - INTV - APh Technological Consulting, Hal Finney", "MT5661", "Armor Ambush (1982) (M Network)", "AKA Tank Battle", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a7b96a8150600b3e800a4689c3ec60a2", "Atari, Mike Lorenzen - Sears", "CX2630 - 49-75122", "Circus Atari (1980) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 55", "", "", "", "" }, + { "a7bf8353f77caca407ef85c2698fdff2", "Atari, Suki Lee - Sears", "CX2658 - 49-75128", "Math Gran Prix (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a7cf2b9afdbb3a161bf418dbcf0321dc", "Barry Laws Jr.", "", "Attack Of The Mutant Space Urchins (2002) (Barry Laws Jr.) (Hack)", "Hack of Alien", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "a7d2e9408bb7cd70139ecced407ff238", "Atari - Roklan, Joe Gaucher, Alex Leavens", "CX2683", "Crazy Climber (1983) (Atari) (Prototype) [a1]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a7ed7dc5cbc901388afa59030fb11d26", "Atari, Warren Robinett", "CX2606, CX2606P", "Slot Racers (1978) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a7ef44ccb5b9000caf02df3e6da71a92", "Atari, Ian Shepard - Sears", "CX2604 - 6-99812, 49-75106", "Space War (1978) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8101cb667e50a46165c6fb48c608b6b", "", "", "Kung Fu Sprite Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "a81697b0c8bbc338ae4d0046ede0646b", "CCE", "", "Gravitar (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a81b29177f258494b499fbac69789cef", "Greg Thompson", "", "Console Wars (Greg Thompson) (Hack)", "Hack of Space Jockey", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a83b070b485cf1fb4d5a48da153fdf1a", "Apollo", "AP-2011", "Pompeii (1983) (Apollo) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8435ec570141de5d833c4abec499e55", "", "", "Happy Birthday Demo (2001) (Dennis Debro) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8633050a686270fcf6c0cc4dcbad630", "Zirok", "", "Phoenix (Zirok)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a867b76098786c4091dba2fcee5084c3", "", "", "Dragrace (Hack)", "Hack of Dragster", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a875f0a919129b4f1b5103ddd200d2fe", "Atari, Dan Hitchens. Mimi Nyden", "CX2656", "SwordQuest - EarthWorld (1982) (Atari) (PAL)", "AKA Adventure I, SwordQuest I - EarthWorld", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8916734ff8c64ec3342f4c73fd5b57d", "Atari", "", "Stand Alone Test Cart (1982) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a89a3e0547d6887279c34aba4b17a560", "M Network, Steve Crandall, Patricia Lewis Du Long", "MT4646", "Rocky & Bullwinkle (1983) (Mattel) (Prototype)", "", "Prototype", "", "", "4K", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8a703e073183a89c94d4d99b9661b7f", "Franklin Cruz", "", "Spice Invaders (Franklin Cruz) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8b3ea6836b99bea77c8f603cf1ea187", "CCE", "C-861", "Boxing (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8c48b4e0bf35fe97cc84fdd2c507f78", "Puzzy - Bit Corporation", "PG201", "Seamonster (1982) (Puzzy)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8d0a4a77cd71ac601bd71df5a060e4c", "", "", "Space Shuttle (1983) (Activision) [t2] (Fuel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8d4a9500b18b0a067a1f272f869e094", "", "", "Red And White Checkerboard Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a8e49d7e24ce293629ca29614862821b", "", "", "Enduro (Genesis)", "Genesis controller (B is acceleration, C is brakes)", "Hack of Enduro", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a91d0858a52de3a2e6468437212d93e8", "", "", "Q-bert (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a936d80083e99d48752ad15c2b5f7c96", "", "", "Room of Doom (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "a93e8ea1f565c3c1e86b708cf0dc2fa9", "Jess Ragan", "", "Kabul! (Jess Ragan) (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "a94528ae05dd051894e945d4d2349b3b", "Genus", "", "River Raid (Genus)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a94b8ca630f467b574b614808d813919", "HES", "773-883", "2 Pak Special - Space Voyage, Fire Alert (1992) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a9531c763077464307086ec9a1fd057d", "Atari, John Dunn - Sears", "CX2631 - 49-75152", "Superman (1979) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a957dbe7d85ea89133346ad56fbda03f", "Atari, Brad Stewart", "CX2649, CX2649P", "Asteroids (1981) (Atari) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "a97733b0852ee3096300102cb0689175", "CCE", "C-834", "Fast Eddie (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a9784c24cddb33bd0d14442b97784f3d", "Thomas Jentzsch", "", "Omega Race DC (2003) (TJ) (Omega Race Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a98b649912b6ca19eaf5c2d2faf38562", "", "", "This Planet Sucks (Greg Troutman) (PAL) [!]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a995b6cbdb1f0433abc74050808590e6", "Imagic, Rob Fulop, Bob Smith", "720106-1A, IA3600", "Riddle of the Sphinx (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a9cb638cd2cb2e8e0643d7a67db4281c", "M Network - INTV - APh Technological Consulting, Larry Zwick", "MT5861", "Air Raiders (1983) (M Network)", "AKA Air Battle", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a9d9e19d0c89fb31780b5d63e1f8c6a4", "AtariAge, Chris Spry", "CX26201", "Zippy the Porcupine (2014) (Sprybug) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "a9e3c23599c0d77151602f8e31daf879", "", "", "Kung Fu Master (Genesis)", "Genesis controller (C is extra kick modes)", "Hack of Kung Fu Master", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "", "", "" }, + { "aa1c41f86ec44c0a44eb64c332ce08af", "Spectravideo, David Lubar", "SA-218", "Bumper Bash (1983) (Spectravideo)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "PADDLES", "", "", "", "", "", "", "", "", "" }, + { "aa2c4b32656bde9a75042a4d158583e1", "", "", "Oystron X (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aa5cfe3b20395aba1d479135943ad85c", "", "", "Defender (Hack) (Unknown)", "", "Hack of Defender", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aa7bb54d2c189a31bb1fa20099e42859", "CBS Electronics, Ed English", "4L4478", "Mr. Do! (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "aa8c75d6f99548309949916ad6cf33bc", "Bob Montgomery (aka vdub_bobby)", "", "Squish 'Em (2007)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aa8e4b2cb8a78ffe6b20580033f4dec9", "", "", "Bitmap Demo (13-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aaac0d277eda054861e613c59c2e4ff2", "JWDA, Todd Marshall", "", "Music Demo (JWDA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aab840db22075aa0f6a6b83a597f8890", "Home Vision, R.J.P.G. - Gem International Corp. - VDI", "VCS83124", "Racing Car (1983) (Home Vision) (PAL)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "aad61898633f470ce528e3d7ef3d0adb", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype) [a1]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aad91be0bf78d33d29758876d999848a", "Activision, David Crane", "AX-018, AX-018-04", "Pitfall! (1981) (Activision) (Prototype)", "Pitfall Harry's Jungle Adventure (Jungle Runner)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aaea37b65db9e492798f0105a6915e96", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Tug of War (2 of 3) (1983) (Arcadia)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "02", "", "", "", "" }, + { "aafc79ffc32c4c9b2d73c8ada7602cfe", "", "", "Planet Patrol (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab10f2974dee73dab4579f0cab35fca6", "ITT Family Games", "", "Wilma Wanderer (1983) (ITT Family Games) (PAL)", "AKA Lilly Adventure", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab2cfcaad3daaf673b2b14fdbb8dac33", "M Network - INTV, David Akers, Joe King, Patricia Lewis Du Long, Jeff Ratcliff", "MT7045", "Bump 'n' Jump (1983) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab2ea35dcc1098c87455bb8210b018cf", "", "", "Fu Kung! (V0.04 Single Line Resolution) (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab301d3d7f2f4fe3fdd8a3540b7a74f5", "Jone Yuan Telephonic Enterprise Co", "", "IQ 180 (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab434f4c942d6472e75d5490cc4dd128", "HES", "773-875", "2 Pak Special - Hoppy, Alien Force (1992) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab48c4af46c8b34c3613d210e1206132", "Andrew Davie & Thomas Jentzsch", "", "Boulder Dash - Demo V2 (2014)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab4ac994865fb16ebb85738316309457", "Atari, Alan Miller - Sears", "CX2624 - 6-99826, 49-75113", "Basketball (1978) (Atari)", "Console ports are swapped", "Common", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "ab56f1b2542a05bebc4fbccfc4803a38", "Activision - Imagineering, Dan Kitchen, David Lubar", "AK-048-04", "River Raid II (1988) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab5bf1ef5e463ad1cbb11b6a33797228", "Imagic, Rob Fulop", "720104-1A, 720104-1B, IA3204", "Cosmic Ark (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab60ea7b707c58d356cad858eb18db43", "", "", "Tazer (John K. Harvey)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab8d318da4addd39c65b7f9c408df2a6", "", "", "Star Trek (Genesis)", "Genesis controller (B is phaser, C is warp)", "Hack of Star Trek", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "abb740bea0a6842831b4f53112fb8145", "", "", "Qb (V1.01) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "abb741c83f665d73c86d90a7d9292a9b", "Telegames", "", "Space Attack (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "abc64037ca5d5b04ae8a7eedbca3ed74", "", "", "Green and Yellow Number 1 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "abe40542e4ff2d1c51aa2bb033f09984", "Absolute Entertainment, David Crane", "EAZ-042-04B, EAZ-042-04I", "Skate Boardin' (1987) (Absolute) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ac05c0e53a5e7009ddd75ed4b99949fc", "Atari, Joe Decuir, Steve Mayer, Larry Wagner - Sears", "CX2601 - 99801, 6-99801, 49-75124", "Combat (1977) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ac0ddbcff34d064009591607746e33b8", "Thomas Jentzsch", "", "Atlantis FH (2003) (TJ) (Hack)", "Hack of Atlantis", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ac26d7d37248d1d8eac5eccacdbef8db", "", "", "Snail Against Squirrel (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ac3dd22dd945724be705ddd2785487c2", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (06-15-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ac53b83e1b57a601eeae9d3ce1b4a458", "Retroactive", "", "Qb (2.15) (Retroactive) (NTSC)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ac5f78bae0638cf3f2a0c8d07eb4df69", "", "", "Minesweeper (V.99) (Soren Gust) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ac7c2260378975614192ca2bc3d20e0b", "Activision, David Crane", "AG-930-04, AZ-030", "Decathlon (1983) (Activision)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ac9adbd6de786a242e19d4bec527982b", "Activision, Alan Miller - Ariola", "EAG-012-04I, EAX-012, EAX-012-04B - 711 012-720", "Ice Hockey (1981) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aca09ffea77174b148b96b205109db4d", "Activision, Alan Miller", "AG-007, CAG-007", "Tennis (1981) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "acaa27d214039d89d7031609aafa55c3", "", "", "Sprite Demo 6 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "acb6787b938079f4e74313a905ec3ceb", "", "", "Chronocolor Donkey Kong (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "acb7750b4d0c4bd34969802a7deb2990", "Parker Brothers, Ed Temple", "PB5310", "Amidar (1982) (Parker Bros)", "", "Uncommon", "", "", "", "A", "A", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "acb962473185d7a652f90ed6591ae13b", "Imagic, Dennis Koble", "IA3203, IX-010-04", "Atlantis (1982) (Imagic) (16K)", "AKA Lost City of Atlantis", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ace319dc4f76548659876741a6690d57", "Atari, Steve Wright", "CX2616", "Pele's Soccer (1981) (Atari)", "AKA Pele's Championship Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ad2e6bfb3b9b9b36ba8bf493ce764c49", "", "", "2600 Collison Demo 1 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ad42e3ca3144e2159e26be123471bffc", "Atari", "CX26163P", "Human Cannonball (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ad72d616030a17634ff29ce8680d3c4c", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ad7e97c19bd25d5aa3999430845c755b", "", "", "Sprite Demo 5 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ad8072675109d13fdd31a2e0403d5cff", "Funvision - Fund. International Co.", "", "Tank City (Funvision)", "AKA Thunderground", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "adb770ff70e9adf08bbb907a7eccd240", "", "", "Inv Demo 3 (2001) (Erik Mooney) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "adb79f9ac1a633cdd44954e2eac14774", "Digivision", "", "Frostbite (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "adf1afac3bdd7b36d2eda5949f1a0fa3", "Quelle - Otto Versand", "495.463 2 - 746381", "Angriff der Luftflotten (1983) (Quelle) (PAL)", "AKA Paris Attack, M.A.D.", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "adfbd2e8a38f96e03751717f7422851d", "Champ Games", "CG-01-N", "Lady Bug (NTSC)", "", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ae047e9468bda961d8e9e9d8ff52980f", "", "", "Tunnel Demo (Red Spiral) (30-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae0d4f3396cb49de0fabdff03cb2756f", "Retroactive", "", "Qb (V2.02) (PAL) (2001) (Retroactive)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ae10527840a1ac24de43730645ed508d", "Charles Morgan", "", "Planet Invaders (Charles Morgan) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae18c11e4d7ed2437f0bf5d167c0e96c", "", "", "Multi-Color Demo 3 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae2f1f69bb38355395c1c75c81acc644", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (12-23-1983) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ae465044dfba287d344ba468820995d7", "", "", "Inca Gold (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae4be3a36b285c1a1dff202157e2155d", "Spectravideo", "SA-210", "Master Builder (1983) (Spectravideo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae682886058cd6981c4b8e93e7b019cf", "Retroactive", "", "Qb (V0.12) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ae6cb335470788b94beb5787976e8818", "", "", "Mortal Kurling (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae83541cf4a4c0bce0adccd2c1bf6288", "", "", "Maze 003 Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ae97cf8ed21f4154b4360a3cf6c95c5e", "", "", "Teleterm 2600 (John K. Harvey) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aeb104f1e7b166bc0cbaca0a968fde51", "", "", "Ms. Pac-Man (1999) (Hack)", "Hack of Ms. Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aec9b885d0e8b24e871925630884095c", "Amiga - Video Soft", "3125", "Surf's Up (1983) (Amiga) (Prototype)", "Uses the Joyboard controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aed0b7bd64cc384f85fdea33e28daf3b", "Atari, Jim Huether, Alan J. Murphy, Robert C. Polaro", "CX2666", "RealSports Volleyball (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "aed82052f7589df05a3f417bb4e45f0c", "Atari, Warren Robinett - Sears", "CX2606 - 6-99825, 49-75112", "Slot Racers (1978) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "af6ab88d3d7c7417db2b3b3c70b0da0a", "Activision, Larry Kaplan, David Crane", "AG-010, AG-010-04", "Kaboom! (1981) (Activision) (4K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "af6f3e9718bccfcd8afb421f96561a34", "Atari, Tod Frye", "CX2695", "Xevious (01-18-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "afb3bc45c6a82739cc82582127cd96e6", "Atari - Sculptured Software, Adam Clayton", "CX26151, CX26151P", "Dungeon (11-22-1985) (Atari) (Prototype)", "Dark Chambers Beta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "afc194534c1b346609ef05eff6d3cef6", "Jone Yuan Telephonic Enterprise Co", "", "Boxing (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "afd2cf258d51ae4965ee21abba3627ab", "Atari - CCW, Christopher H. Omarzu", "CX26104", "Big Bird's Egg Catch (12-08-1982) (Atari) (Prototype)", "Uses the Keypad Controller", "Prototype", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "", "", "" }, + { "afe4eefc7d885c277fc0649507fbcd84", "Atari", "CX26163P", "Ant Party (32 in 1) (1988) (Atari) (PAL)", "AKA Cosmic Swarm", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "afe776db50e3378cd6f29c7cdd79104a", "Thomas Jentzsch", "", "Bobby is Going Home (TJ)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "afe88aae81d99e0947c0cfb687b16251", "Apollo - Games by Apollo", "AP-2006", "Infiltrate (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "aff8cba0f2d2eb239953dd7116894a08", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (3 of 3) (1982) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b00088418fc891f3faa3d4ddde6ace94", "", "", "Unknown Title (bin00007 (200102)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b00a8bc9d7fe7080980a514005cbad13", "K-Tel Vision", "", "Vulture Attack (1982) (K-Tel Vision) (PAL)", "AKA Condor Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b00e8217633e870bf39d948662a52aac", "Konami", "RC 102-X 02", "Marine Wars (1983) (Konami)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b011d8fdc450597c0762c2c0010a9b17", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (NTSC) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b049fc8ac50be7c2f28418817979c637", "Activision - Imagineering, Dan Kitchen, David Lubar", "EAK-048-04, EAK-048-04B", "River Raid II (1988) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b06050f686c6b857d0df1b79fea47bb4", "Activision", "AIZ-001", "Moonsweeper (1988) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b061e98a4c854a672aadefa233236e51", "Atari, Warren Robinett", "CX2620, CX2620P", "Basic Programming (1979) (Atari) (PAL)", "Uses Keypad Controllers", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b095009004df341386d22b2a3fae3c81", "", "", "Sub-Scan (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b09b79c9628878be051e89f7f1e77378", "Activision, Larry Kaplan, David Crane - Ariola", "EAG-010, PAG-010 - 711 010-720", "Kaboom! (1981) (Activision) (PAL) (4K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "b0a9c6f6c8014c4023e0341ba11ca35e", "The Atari 2600 Connection - John K. Harvey, Tim Duarte", "v75", "Mean Santa (2009) (PAL)", "Released in 2019", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b0ba51723b9330797985808db598fc31", "Atari, Michael Callahan, Preston Stuart", "CX26103", "Alpha Beam with Ernie (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b0c47e426c7f799aee2c40422df8f56a", "", "", "Space Treat (PAL) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b0c9cf89a6d4e612524f4fd48b5bb562", "Atari - GCC", "CX2663", "Combat Two (1982) (Atari) (Prototype)", "AKA Super Combat", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b0e1ee07fbc73493eac5651a52f90f00", "Colin Hughes", "", "Tetris 2600 (Colin Hughes)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b1276417fb0f79bc52e741bb8f4d8360", "Thomas Jentzsch", "", "Marble Craze - Amiga Mouse Hack v1.0 (NTSC) (TJ)", "Uses Amiga Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b129d7541cff79ebe33852a83057c524", "Thomas Jentzsch", "", "Marble Craze - Atari Trak-Ball Hack v1.0 (NTSC) (TJ)", "Uses Atari Trak-Ball Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b12a7f63787a6bb08e683837a8ed3f18", "Imagic, Rob Fulop", "720000-200, 720101-1B, 720101-1C, IA3200, IA3200C, IX-006-04", "Demon Attack (1982) (Imagic) [fixed]", "AKA Death from Above", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b1339c56a9ea63122232fe4328373ac5", "Goliath - Hot Shot", "83-215", "Dream Flight (1983) (Goliath) (PAL)", "AKA Nightmare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b1486e12de717013376447ac6f7f3a80", "Spectravideo, Mark Turmell, Quelle", "SA-217, SA-217C - 413.723 8", "Gas Hog - Piraten Schiff (1983) (Spectravideo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b15026b43c6758609667468434766dd8", "Retroactive", "", "Qb (0.06) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b16cd9784589219391c839cb68c47b9c", "Video Soft, Jerry Lawson, Dan McElroy", "", "Golf Diagnostic (1983) (Video Soft) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b17b9cc4103844dcda54f77f44acc93a", "Quelle", "377.943 6", "Stopp die Gangster (1983) (Quelle) (PAL)", "AKA Gangster Alley", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b182d9708e00709830caab9cf8205ca0", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b1a6c96e9093352106bc335e96caa154", "Joe Grand", "", "SCSIcide Pre-release 1 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b1b20536aef4eed9c79dc5804f077862", "", "", "Euchre (NTSC) (09-11-2001) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b1c14b5ac896400cc91c8e5dd67acb59", "", "", "River Raid (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b1d1e083dc9e7d9a5dc1627869d2ade7", "CCE", "C-1004", "Mario's Bros. (1983) (CCE)", "AKA Mario Bros.", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b1e2d5dc1353af6d56cd2fe7cfe75254", "Atari - Axlon, Steve DeFrisco", "CX26171", "MotoRodeo (1991) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b1fd0b71de9f6eeb5143a97963674cb6", "", "", "Multi-Color Demo 7 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b227175699e372b8fe10ce243ad6dda5", "Atari, Brad Stewart - Sears", "CX2649, 49-75163", "Asteroids (1981) (Atari) [a1]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b23ebf427713dd0198b7ef47dbd07ef4", "Jone Yuan Telephonic Enterprise Co", "", "Sky Diver (Jone Yuan) (4K) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b24f6a5820a4b7763a3d547e3e07441d", "CCE", "C-823", "Demon Attack (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b25841173f058380b1771aacd5e7cdf3", "Bit Corporation", "PG205", "Dancing Plate (1982) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b26506fbf411009e5e3f7365f442960e", "Atari, Alan Miller", "CX2642", "Hunt & Score (1978) (Atari) (PAL) (4K)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2737034f974535f5c0c6431ab8caf73", "CBS Electronics, Richard K. Balaska Jr., Andy Frank, Stuart Ross", "4L 2520 5000", "Tunnel Runner (1983) (CBS Electronics)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2761efb8a11fc59b00a3b9d78022ad6", "Atari, Bob Whitehead - Sears", "CX2651 - 99805, 49-75602", "Blackjack (1977) (Atari) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "", "", "" }, + { "b290c2b139344fcff5b312c71b9ac3b2", "Atari", "CX26163P", "UFO (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b29359f7de62fed6e6ad4c948f699df8", "Goliath", "3", "Phantom Tank (1983) (Goliath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2a6f31636b699aeda900f07152bab6e", "", "", "Space Instigators (Public Release 2) (06-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2ab209976354ad4a0e1676fc1fe5a82", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a3]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2d1e63f7f22864096b7b6c154151d55", "Fabrizio Zavagli", "", "Bounce! (17-03-2003) (Fabrizio Zavagli)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b2d3bcee001cff2bd2d8a21b2cb55109", "Atari - GCC, Mike Feinstein, Kevin Osborn", "CX2691", "Joust (08-09-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b2d5d200f0af8485413fad957828582a", "Atari - Bobco, Robert C. Polaro", "CX26155P", "Sprint Master (1988) (Atari) (PAL)", "AKA Sprint 88, Sprint 2000", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b2f0d7217147160b2f481954cedf814b", "", "", "Marquee Drawer (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b3017e397f74efd53caf8fae0a38e3fe", "Retroactive", "", "Qb (2.12) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b311ab95e85bc0162308390728a7361d", "Parker Brothers - Roklan, Joe Gaucher", "PB5080", "Gyruss (1984) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b31dc989f594764eacfa7931cead0050", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (2 of 3) (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b31e9487efc06f18dfc3d7ebadf54416", "Omegamatrix", "", "Star Wars Arcade (Atari Mouse) v4 (PAL60) (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b31f178aa0d569cccac7959f84e0a724", "Atari, Jerome Domurat, Steve Woita", "CX2699", "Taz (07-13-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b3203e383b435f7e43f9492893c7469f", "Gameworld", "133-003", "Sssnake (1983) (Gameworld) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b36040a2f9ecafa73d835d804a572dbf", "Digitel", "", "Pac Man (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b37f0fe822b92ca8f5e330bf62d56ea9", "Xonox - K-Tel Software - Beck-Tech, Steve Beck", "6210, 7210, 06003. 99001", "Spike's Peak (1983) (Xonox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b392964e8b1c9c2bed12246f228011b2", "", "", "Name This Game (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b4030c38a720dd84b84178b6ce1fc749", "M Network - APh Technological Consulting, Kevin Miller", "MT5687", "International Soccer (1982) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b40dea357d41c5408546e4e4d5f27779", "Digivision", "", "Spider Fighter (Digivision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b41fdd4a522e1d5a2721840028684ac2", "", "", "Green and Yellow Number 1 Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b42df8d92e3118dc594cecd575f515d7", "Mystique - American Multiple Industries", "1003", "Burning Desire (1982) (Mystique) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b438a6aa9d4b9b8f0b2ddb51323b21e4", "Telegames", "5861 A030", "Bogey Blaster (1988) (Telegames) (PAL)", "AKA Air Raiders", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b451307b8b5e29f1c5f2cf064f6c7227", "", "", "Demo Image Series #6 - Mario (Fixed) (26-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b49331b237c8f11d5f36fe2054a7b92b", "", "", "Condor Attack (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b4a4c87840613f102acb5b3a647d0a67", "", "", "Mobile 48 Sprite Kernel (04-01-2003) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b4daedb43511521db9036d503b3c1b69", "", "", "Sokoban (01-01-2003) (Adam Wozniak) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b4e2fd27d3180f0f4eb1065afc0d7fc9", "Avalon Hill, Jean Baer, Bill 'Rebecca Ann' Heineman, William O. Sheppard", "5002002", "London Blitz (1983) (Avalon Hill)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b4f05e544834d0238a0c263491775edf", "Starpath Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (Preview) (1982) (Starpath) (PAL)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b4f31ea8a6cc9f1fd4d5585a87c3b487", "Mystique - American Multiple Industries, Joel H. Martin", "", "Beat 'Em & Eat 'Em (1982) (Mystique) (PAL)", "Uses the Paddle Controller (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, + { "b4f87ce75f7329c18301a2505fe59cd3", "Videospielkassett - Ariola", "PGP232", "Autorennen (Ariola) (PAL)", "AKA Grand Prix", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b50ae55aac93fbed258bc5a873edd2cb", "Recompile", "", "E.T. The Extra-Terrestrial (Recompile) (Hack)", "www.neocomputer.org/projects/et", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b5110f55ed99d5279f18266d001a8cd5", "Eckhard Stolberg", "", "Auto-mobile Demo (2001) (Eckhard Stolberg)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b56264f738b2eb2c8f7cf5a2a75e5fdc", "Atari - GCC, John Allred, Douglas B. Macrae, Betty Ryan Tylko", "CX2694, CX2694P", "Pole Position (1983) (Atari) (PAL)", "AKA RealSports Driving", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b5657d4c1c732fbb6af150668464247f", "Arcadia Corporation, Stephen H. Landrum", "AR-4400", "Excalibur (Dragonstomper Beta) (1982) (Arcadia) (Prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b59417d083b0be2d49a7d93769880a4b", "Pet Boat", "", "Donkey Kong (1983) (Pet Boat) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b59fd465abf76f64c85652ff29d5952d", "VentureVision, Dan Oliver", "", "Innerspace (1983) (VentureVision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b5a1a189601a785bdb2f02a424080412", "Imagic, Dennis Koble", "720021-1A, IA3410", "Shootin' Gallery (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b5cb9cf6e668ea3f4cc2be00ea70ec3c", "CommaVid, Irwin Gaines - Ariola", "CM-005 - 712 005-720", "Mines of Minos (1982) (CommaVid) (PAL)", "AKA Im Labyrinth des Roboters", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b5cdbab514ea726a14383cff6db40e26", "Video Gems", "VG-04", "Mission Survive (1983) (Video Gems) (PAL) [a]", "", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b5efe0271d2214e4d5dc798881486884", "Atari - Axlon, Steve DeFrisco", "CX26192", "Klax (06-14-1990) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b6166f15720fdf192932f1f76df5b65d", "Amiga - Video Soft", "3130", "Off Your Rocker (1983) (Amiga) (Prototype)", "Uses the Amiga Joyboard", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b64426e787f04ff23ee629182c168603", "Dynacom", "", "Plaque Attack (1983) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b65d4a38d6047735824ee99684f3515e", "Dynacom", "", "MegaBoy (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b676a9b7094e0345a76ef027091d916b", "Thomas Jentzsch", "", "Mission Survive (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b6812eaf87127f043e78f91f2028f9f4", "Simage", "", "Eli's Ladder (1984) (Simage)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b6821ac51c4c1dcb283f01be2f047dc1", "Thomas Jentzsch", "", "Rubik's Cube 3D Demo (25-11-2002) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b6960be26bee87d53ba4e2e71cfe772f", "", "", "3-D Corridor (Spiral Words) (31-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b6d52a0cf53ad4216feb04147301f87d", "Imagic, Michael Greene", "720055-1A, IA3312", "No Escape! (1983) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b6e40bce550672e5495a8cdde7075b8b", "Arcadia Corporation, Steve Mundry, Scott Nelson", "AR-4401", "Survival Island (1 of 3) (1983) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b702641d698c60bcdc922dbd8c9dd49c", "Atari, Ian Shepard", "CX26163P", "Space War (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b719ada17771a8d206c7976553825139", "Ron Corcoran", "", "DUP Space Invaders (Ron Corcoran) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b731d35e4ac6b3b47eba5dd0991f452f", "Thomas Jentzsch", "", "Rubik's Cube 3D Demo (Final) (08-01-2003) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b7345220a0c587f3b0c47af33ebe533c", "Quelle", "176.433 1", "Landungskommando (1983) (Quelle) (PAL)", "AKA Strategy X", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b76fbadc8ffb1f83e2ca08b6fb4d6c9f", "Activision, Bob Whitehead", "AG-005, CAG-005, AG-005-04", "Skiing (1980) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b77468d586957d1b7fb4cccda2684f47", "Atari", "CX26163P", "Boxing (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b7903268e235310dc346a164af4c7022", "Thomas Jentzsch", "", "Cat Trax (Thomas Jentzsch) (PAL60)", "NTSC Conversion", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b79fe32320388a197ac3a0b932cc2189", "Imagic, Bob Smith", "13207, EIZ-001-04I", "Moonsweeper (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b7a7e34e304e4b7bc565ec01ba33ea27", "Parker Brothers", "PB5820", "Mr. Do!'s Castle (1984) (Parker Bros) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b7b1d3ce07e75976c43a2dca3866237e", "Atari", "CX26163P", "Freeway Chicken (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Freeway", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b7d0aae399781b3c18679debda6d32b1", "Thomas Jentzsch", "", "Three.s (v1.02)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b7d7c76e37f372f4e4979b380ed95a58", "AtariAge - Michael Haas", "RC2", "Flappy (2014) (AtariAge) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b7e459d5416eeb196aaa8e092db14463", "", "", "Push (V0.02) (1998) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b7f184013991823fc02a6557341d2a7a", "", "", "Blue Rod Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b80d50ecee73919a507498d0a4d922ae", "20th Century Fox Video Games - Sirius Software, David Lubar", "11008", "Fantastic Voyage (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b816296311019ab69a21cb9e9e235d12", "Atari, Bob Whitehead - Sears", "CX2652 - 6-99816, 49-75151", "Casino (1979) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "", "", "" }, + { "b822fba8b7c8a97ea4e92aeb2c455ef9", "Dactari", "", "Freeway (Dactari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b83579c4450fcbdf2b108903731fa734", "", "", "Mission 3,000 A.D. (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b83df1f32b4539c324bdf94851b4db55", "Angelino", "", "One On One by Angelino (Basketball Hack)", "Hack of Basketball (1978) (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b86552198f52cfce721bafb496363099", "Apollo, Tim Martin", "AP-2007", "Kyphus (1982) (Apollo) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b86a12e53ab107b6caedd4e0272aa034", "Funvision - Fund. International Co.", "", "Treasure Hunting (Funvision)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b879e13fd99382e09bcaf1d87ad84add", "Zellers", "", "Time Warp (Zellers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b8865f05676e64f3bec72b9defdacfa7", "Activision, David Crane", "AG-004", "Fishing Derby (1980) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b897f9e3f939b9f21566d56db812a84e", "Atari, Jim Huether", "CX26163P", "Flag Capture (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b8e715223ba65cf716b3620a90ca3ec1", "Parker Brothers", "PB5820", "Mr. Do!'s Castle (1984) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b8ed78afdb1e6cfe44ef6e3428789d5f", "Data Age, J. Ray Dettling", "112-007", "Bermuda Triangle (1983) (Data Age)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b9232c1de494875efe1858fc8390616d", "Panda", "110", "Harbor Escape (1983) (Panda)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b9336ed6d94a5cc81a16483b0a946a73", "Atari, Jerome Domurat, Michael Sierchio", "CX2667, CX2667P", "RealSports Soccer (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "b955eb0e2baf7a437c186bddd4c49958", "Atari, Omegamatrix", "", "Space Invaders Menu (2020) (PAL60) (Hack)", "Hack of Space Invaders", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b958d5fd9574c5cf9ece4b9421c28ecd", "Piero Cavina", "", "Multi-Sprite Game V1.0 (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b95a6274ca0e0c773bfdc06b4c3daa42", "Paul Slocum", "", "3-D Corridor (29-03-2003) (Paul Slocum)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b98cc2c6f7a0f05176f74f0f62c45488", "Spectravideo", "SV-010", "CompuMate (1983) (Spectravideo)", "", "", "", "", "CM", "", "", "", "", "COMPUMATE", "COMPUMATE", "", "", "", "", "", "", "YES", "" }, + { "b9b4612358a0b2c1b4d66bb146767306", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b9d1e3be30b131324482345959aed5e5", "Activision - Boston Design Center, Rex Bradford", "", "Kabobber (07-25-1983) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "b9f6fa399b8cd386c235983ec45e4355", "Parker Brothers, John Emerson", "931511", "Action Force (1983) (Parker Bros) (PAL)", "AKA G.I. Joe - Cobra Strike", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 55", "", "", "", "" }, + { "b9f9c0fed0db08c34346317f3957a945", "SuperVision", "405, 427, 806, 808, 813, 816", "Chopper Command (SuperVision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ba257438f8a78862a9e014d831143690", "U.S. Games Corporation - JWDA, Todd Marshall, Robin McDaniel, Henry Will IV", "VC2002", "Squeeze Box (1983) (U.S. Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ba317f83cdfcd58cbc65aac1ccb87bc5", "Thomas Jentzsch", "", "Jammed (2001) (XYPE) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ba3a17efd26db8b4f09c0cf7afdf84d1", "Activision, Larry Miller", "AX-021", "Spider Fighter (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ba3b0eebccc7b791107de5b4abb671b4", "Thomas Jentzsch", "", "Thrust (V0.9) (2000) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ba657d940a11e807ff314bba2c8b389b", "Activision, John Van Ryzin", "AG-038-04", "Cosmic Commuter (1984) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bac28d06dfc03d3d2f4a7c13383e84ee", "Supergame", "", "Demon Attack (Supergame)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bae1a23f9b6acdadf465cfb330ba0acb", "Atari - GCC, Doug Macrae", "CX2677", "Dig Dug (1983) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bae66907c3200bc63592efe5a9a69dbb", "Spectravision - Spectravideo - Quelle", "SA-201 - 412.783 3", "Gangster Alley (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "baf4ce885aa281fd31711da9b9795485", "Atari, Douglas Neubauer", "CX26176", "Radar Lock (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bb18189021d58362d9e4d317cd2e28b7", "Activision, David Crane - Ariola", "EAG-001, PAG-001, EAG-001-04B, EAG-001-04I - 711 001-715", "Dragster (1980) (Activision) (PAL) (4K)", "AKA Dragster Rennen", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bb2b83fff97604f74ada565e0b5bae94", "Thomas Jentzsch", "", "Missile Control - Atari Mouse Hack v1.15 (PAL60) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bb5049e4558daade0f87fed69a244c59", "Atari, Brad Stewart", "CX2649, CX2649P", "Asteroids (1981) (Atari) (PAL) [no copyright]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "bb579404924c40ca378b4aff6ccf302d", "", "", "Lightbulb Lightens, The (PD) (Non Functional)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bb6a5a2f7b67bee5d1f237f62f1e643f", "", "", "Demo Image Series #5 - Animegirl (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bb745c893999b0efc96ea9029e3c62ca", "Play Video", "", "Planet Patrol (1982) (Play Video) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bb756aa98b847dddc8fc170bc79f92b2", "", "", "Golf (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bb9112d478a1a922d2c289a752bba695", "Omegamatrix", "", "SpaceMaster X-7 (Amiga Mouse) (Omegamatrix)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bbf8c7c9ed280151934aabe138e41ba7", "Amiga", "1130", "Power Play Arcade Video Game Album V (1984) (Amiga) (Prototype)", "Mogul Maniac, Surf's Up, Off Your Rocker, S.A.C. Alert", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bc24440b59092559a1ec26055fd1270e", "", "", "Private Eye (1984) (Activision) [a]", "", "", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bc3057a35319aae3a5cd87a203736abe", "CCE", "C-845", "Time Warp (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bc33c685e6ffced83abe7a43f30df7f9", "Dynacom", "", "Seaquest (1983) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bc4cf38a4bee45752dc466c98ed7ad09", "Atari, Douglas Neubauer, Mimi Nyden", "CX26136", "Solaris (1986) (Atari) (PAL)", "AKA Universe, Star Raiders II, The Last Starfighter", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bc526185ad324241782dc68ba5d0540b", "", "", "Dodge Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bc5389839857612cfabeb810ba7effdc", "Atari, Tod Frye", "CX2671", "SwordQuest - WaterWorld (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bc703ea6afb20bc089f04d8c9d79a2bd", "", "", "Gunfight 2600 - Not mergeable with Colbert wizardry... (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bc97d544f1d4834cc72bcc92a37b8c1b", "", "", "Sky Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bcb31f22856b0028c00d12f0e4c0a952", "Canal 3 - Intellivision", "", "Thunderground (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bcb73b534ed7c613ac379ecd726effb5", "Bob Montgomery (aka vdub_bobby)", "", "Squish 'Em (2007) (PAL60)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bccb4e2cfad5efc93f6d55dc992118ce", "Activision, Carol Shaw", "AX-020, AX-020-04", "River Raid (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bce4c291d0007f16997faa5c4db0a6b8", "Quelle", "292.651 7", "Weltraumtunnel (1983) (Quelle) (PAL)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bce93984b920e9b56cf24064f740fe78", "Atari", "CX26163P", "Checkers (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bcef7880828a391cf6b50d5a6dcef719", "Rainbow Vision - Suntek", "SS-009", "Bermuda, The (1983) (Rainbow Vision) (PAL)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bd1bd6f6b928df17a702def0302f46f4", "", "", "Binary To Decimal Routine (2001) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bd39598f067a1193ae81bd6182e756d1", "Telegames", "", "Night Stalker (1988) (Telegames) (PAL)", "AKA Dark Cavern", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bd430c2193045c68d1a20a018a976248", "", "", "Pac Ghost Sprite Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bd551ff1264f5c367a3ad7cf0d2f266c", "Bit Corporation", "R320", "SpaceMaster X-7 (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bda1463e02ae3a6e1107ffe1b572efd2", "Atari, Nick 'Sandy Maiwald' Turner", "CX26111", "Snoopy and the Red Baron (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bdb4b584ddc90c9d2ec7e21632a236b6", "Atari Freak 1", "", "Nitemare at Sunshine Bowl-a-Rama (Atari Freak 1) (Hack)", "Hack of Pac-Man Jr.", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bdbaeff1f7132358ea64c7be9e46c1ac", "20th Century Fox Video Games, Douglas 'Dallas North' Neubauer", "11105", "Mega Force (1982) (20th Century Fox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bdc381baf7c252c63739c5e9ed087a5c", "", "", "Vertical Ship Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bdecc81f740200780db04a107c3a1eba", "Quelle", "874.254 6", "Super-Cowboy beim Rodeo (1983) (Quelle) (PAL)", "AKA Stampede", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bdf1996e2dd64baf8eff5511811ca6ca", "Tron", "", "H.E.R.O. (Tron)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "be060a704803446c02e6f039ab12eb91", "Parker Brothers, Rex Bradford, Sam Kjellman", "931501", "Star Wars - The Empire Strikes Back (1982) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "be1922bd8e09d74da471287e1e968653", "Cropsy", "", "Hangman Pacman Demo (Cropsy) (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "be2870a0120fd28d25284e9ccdcbdc99", "", "", "Tomb Raider 2600 [REV 01] (Montezuma's Revenge Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "be35d8b37bbc03848a5f020662a99909", "Atari, Joe Decuir, Steve Mayer, Larry Wagner - Sears", "CX2601 - 99801, 6-99801, 49-75124", "Combat (1977) (Atari) (4K) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "be3f0e827e2f748819dac2a22d6ac823", "Puzzy - Bit Corporation", "PG202", "Space Tunnel (1982) (Puzzy)", "AKA Le Tunnel de L'Estace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "be41463cd918daef107d249f8cde3409", "", "", "Berzerk (Voice Enhanced) (Hack)", "Hack of Berzerk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "be561b286b6432cac71bccbae68002f7", "", "", "Counter Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "be929419902e21bd7830a7a7d746195d", "Activision, Garry Kitchen", "AX-025, AX-025-04", "Keystone Kapers (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "becd908f9d7bb361982c3dc02d6475c6", "Kyle Pittman", "", "THX-1138 (Kyle Pittman) (Hack)", "Hack of Berserk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bedfbde71fb606601f936b5b057f26f7", "Activision, Garry Kitchen - Ariola", "EAX-025, EAX-025-04I - 711 025-725", "Keystone Kapers (1983) (Activision) (PAL) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "befce0de2012b24fd6cb8b53c17c8271", "", "", "Push (V0.03) (No Illegal Opcodes) (1998) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bf1970b692275b42c4ec0683588eb062", "Thomas Jentzsch", "", "Reactor - Amiga Mouse Hack v1.3 (NTSC) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bf52327c2197d9d2c4544be053caded1", "HES - Activision", "AG-930-04, AZ-030", "Decathlon (HES) (PAL) (16K)", "AKA Activision Decathlon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bf84f528de44225dd733c0e6a8e400a0", "CCE", "", "Demons to Diamonds (CCE)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "10 57", "", "", "", "" }, + { "bf976cf80bcf52c5f164c1d45f2b316b", "Atari, Tod Frye, Mimi Nyden", "CX2657", "SwordQuest - FireWorld (1982) (Atari) (PAL)", "AKA Adventure II, SwordQuest II - FireWorld", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bfa58198c6b9cd8062ee76a2b38e9b33", "", "", "20 Sprites at Once Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bfb73aabb2489316cd5882c3cd11d9f9", "AtariAge, Chris Walton & Thomas Jentzsch", "165", "Star Castle Arcade (2014) (AtariAge)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "bff8f8f53a8aeb1ee804004ccbb08313", "", "", "Droid Demo 22 (David Conrad Schweinsberg) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "bffe34516aaa3cbf5d307eab382a7e95", "", "", "Euchre (Release Candidate) (PAL) (28-09-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c00734a2233ef683d9b6e622ac97a5c8", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26133", "A-Team, The (03-30-1984) (Atari) (Prototype)", "AKA Saboteur", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c00b65d1bae0aef6a1b5652c9c2156a1", "Atari, Joe Decuir - Sears", "CX2621 - 99806, 6-99806, 49-75104", "Video Olympics (1977) (Atari) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "YES", "", "", "AUTO 60", "", "", "", "" }, + { "c02e1afa0671e438fd526055c556d231", "Atari", "", "A-Team (Atari) (Prototype) (PAL60)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c032c2bd7017fdfbba9a105ec50f800e", "Activision, Charlie Heath", "", "Thwocker (04-09-1984) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c033dc1d7b6fde41b9cadce9638909bb", "", "", "Skeleton (V1.1) (06-09-2002) (Eric Ball)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c0589bb73858924389077fa3c2e9441a", "SOLID Corp. (D. Scott Williamson)", "CX2655-014", "Star Castle 2600 (SolidCorp) [014]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c05f367fa4767ceb27abadf0066df7f4", "Thomas Jentzsch", "", "TomInv (31-07-2001) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c08d0cee43077d3055febb00e5745c1d", "HES - Activision", "", "Super Hit Pak - River Raid, Sky Jinks, Grand Prix, Fishing Derby, Checkers (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c0a68837c60e15d1fc5a40c9a62894bc", "Arcadia Corporation, Kevin Norman", "7 AR-4103", "Killer Satellites (1983) (Arcadia) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c0c7eddefce9015346db88ade3e1e096", "CBS Electronics, Bob Curtiss", "4L 2487 5000", "Solar Fox (1983) (CBS Electronics) (Prototype) (4K)", "RAM must be zero'ed to start correctly", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c0d2434348de72fa6edcc6d8e40f28d7", "SEGA - Beck-Tech, Steve Beck", "010-01", "Tapper (1984) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c1034a5bfb0bb13cc5bdf86cc58989a7", "Atari, Nick 'Sandy Maiwald' Turner", "CX2665", "Frog Pond (1982) (Atari) (Prototype) (4K) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c118854d670289a8b5d5156aa74b0c49", "Jone Yuan Telephonic Enterprise Co", "", "Skiing (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c11e8473c652619ac6166900150ce215", "AtariAge, Chris Walton", "1.0 (Release)", "Chetiry (2011) (AtariAge) (60k) (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "50" }, + { "c126656df6badfa519cc63e681fb3596", "Ron Corcoran", "", "Space Invaders (2002) (Ron Corcoran) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c15042e54c7408498f051d782aaa8945", "Omegamatrix", "", "Millipede (Atari Trak-Ball) v6.5 (Omegamatrix)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c150c76cbde2c9b5a97eb5399d46c64f", "", "", "Unknown Title (xxx00000 (200203)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c16c79aad6272baffb8aae9a7fff0864", "U.S. Games Corporation - JWDA, Sylvia Day, Todd Marshall, Robin McDaniel, Henry Will IV", "VC2001", "Gopher (1982) (U.S. Games)", "AKA Gopher Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c16fbfdbfdf5590cc8179e4b0f5f5aeb", "", "", "Wall Break (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c17bdc7d14a36e10837d039f43ee5fa3", "Spectravision - Spectravideo", "SA-203", "Cross Force (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c1a83f44137ea914b495fc6ac036c493", "Atari, Carla Meninsky", "CX2660", "Star Raiders (1982) (Atari) (PAL)", "Uses Joystick (left) and Keypad (right) Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c1b038ce5cb6d85e956c5509b0e0d0d8", "", "", "Rotating Colors Demo 2 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c1b1049b88bcd98437d8872d1d62ba31", "", "", "Demo Image Series #4 - Donald (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c1b7aeabc3ec41556d924c8372a9ba5b", "Atari, Robert C. Polaro", "", "Dukes of Hazard (1980) (Atari) (Prototype)", "AKA Stunt Cycle", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c1cb228470a87beb5f36e90ac745da26", "Activision, Bob Whitehead", "AX-015, AX-015-04", "Chopper Command (1982) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c1e6e4e7ef5f146388a090f1c469a2fa", "Bomb - Onbase", "CA283", "Z-Tack (1983) (Bomb)", "AKA Base Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c1f209d80f0624dada5866ce05dd3399", "Telegames", "", "Deadly Discs (1988) (Telegames) (PAL)", "AKA TRON - Deadly Discs", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c1fdd44efda916414be3527a47752c75", "Parker Brothers, John Emerson", "PB5920", "G.I. Joe - Cobra Strike (1983) (Parker Bros)", "Uses the Paddle (left) and Joystick (right) Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c20f15282a1aa8724d70c117e5c9709e", "Video Gems", "VG-02", "Surfer's Paradise (1983) (Video Gems) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c21450c21efb7715746e9fa87ad6f145", "Hozer Video Games", "", "Gunfight 2600 - It could've been soooo cool, but... (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c216b91f5db21a093ded6a5aaec85709", "Jone Yuan Telephonic Enterprise Co", "", "Dragster (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c221607529cabc93450ef25dbac6e8d2", "Eckhard Stolberg", "", "Color Test (26-09-2002) (Eckhard Stolberg)", "", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c225379e7c4fb6f886ef9c8c522275b4", "Video Mania", "", "Frostbite (1983) (Video Mania)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c225abfb584960efe1f359fc94b73379", "", "", "Joustpong (21-09-2002) (Kirk Israel) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c2410d03820e0ff0a449fa6170f51211", "", "", "Pac-Man (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c246e05b52f68ab2e9aee40f278cd158", "Thomas Jentzsch", "", "Star Wars - Ewok Adventure (Thomas Jentzsch) (Prototype)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c2778507b83d9540e9be5713758ff945", "", "", "Island Flyer Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c28b29764c2338b0cf95537cc9aad8c9", "", "", "Multi-Color Demo 4 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c29d17eef6b0784db4586c12cb5fd454", "Jone Yuan Telephonic Enterprise Co", "", "River Raid (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c29f8db680990cb45ef7fef6ab57a2c2", "Parker Brothers - Roklan, Paul Crowley, Bob Curtiss", "931505", "Super Cobra (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c2a37f1c7603c5fd97df47d6c562abfa", "Roger Williams", "", "Bar-Score Demo (2001) (Roger Williams)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c2b5c50ccb59816867036d7cf730bf75", "Salu - Avantgarde Software, Michael Buetepage", "460741", "Ghostbusters II (1992) (Salu) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c2bcd8f2378c3779067f3a551f662bb7", "Activision, Bob Whitehead - Ariola", "EAG-002, EAG-002-04I, PAG-002 - 711 002-715", "Boxing (1980) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c2c7a11717e255593e54d0acaf653ee5", "", "", "Chopper Command (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c2c8eb642765137bb82b83a65232961f", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Mouse Hack v1.1 (PAL) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c2dea467f4a02fa1f06d66f52bc12e6e", "Thomas Jentzsch", "", "Missile Command Atari Trak-Ball Hack v1.3 (NTSC) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c2fbef02b6eea37d8df3e91107f89950", "Champ Games", "CG-02-N", "Conquest Of Mars (NTSC)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c31a17942d162b80962cb1f7571cd1d5", "Home Vision - Gem International Corp. - VDI", "VCS83112", "Sky Alien (1983) (Home Vision) (PAL)", "AKA Sky Aliem", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c3205e3707f646e1a106e09c5c49c1bf", "", "", "Unknown Title (bin00003 (200206)) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c3472fa98c3b452fa2fd37d1c219fb6f", "Atari, Carla Meninsky - Sears", "CX2637 - 49-75158", "Dodge 'Em (1980) (Atari) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c370c3268ad95b3266d6e36ff23d1f0c", "Atari, Alan Miller", "CX2641, CX2641P", "Surround (1977) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c3a9550f6345f4c25b372c42dc865703", "Atari - Bobco, Robert C. Polaro", "CX2663", "Road Runner (1989) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c3aeb796fdaf9429e8cd6af6346f337e", "", "", "If It's Not One Thing It's Another (1997) (Chris Cracknell)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c3bbc673acf2701b5275e85d9372facf", "Atari, Robert C. Polaro", "CX26157", "Stunt Cycle (07-21-1980) (Atari) (Prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c3e4aa718f46291311f1cce53e6ccd79", "", "", "Hangman Ghost 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c3ef5c4653212088eda54dc91d787870", "Activision, Bob Whitehead", "AG-002, CAG-002, AG-002-04", "Boxing (1980) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c3f53993ade534b0982ca3a286c85bb5", "", "", "Full Screen Bitmap Drawing System (12-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c4060a31d61ba857e756430a0a15ed2e", "Thomas Jentzsch", "", "Pick 'n Pile (2003) (TJ)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c41e7735f6701dd50e84ee71d3ed1d8f", "Dynacom", "", "Spider Fighter (1983) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c43bd363e1f128e73ba5f0380b6fd7e3", "Atari, Chris Crawford", "", "Wizard (1980) (Atari) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c446288fe62c0c2737639fd788ae4a21", "", "", "Mark's Sound Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c450a285daa7a3b65188c2c3cf04fb3e", "Wizard Video Games", "007", "Halloween (1983) (Wizard Video Games) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c469151655e333793472777052013f4f", "", "", "Base Attack (Unknown) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c471b97446a85304bbac021c57c2cb49", "First Star Software, Alex Leavens, Shirley Ann Russell", "", "Boing! (1983) (First Star Software) (PAL)", "AKA Bubbles, Soap Suds, The Emphysema Game", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c47244f5557ae12c61e8e01c140e2173", "Atari - GCC, Mike Feinstein, John Allred", "CX2688, CX2688P", "Jungle Hunt (1983) (Atari) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c47b7389e76974fd0de3f088fea35576", "Funvision - Fund. International Co.", "", "Mighty Mouse (Funvision)", "AKA Gopher", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c482f8eebd45e0b8d479d9b71dd72bb8", "Retroactive", "", "Push (V0.03) (1998) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c49fe437800ad7fd9302f3a90a38fb7d", "Atari, Dan Hitchens, Mimi Nyden", "CX2697, CX2697P", "Mario Bros. (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c4b73c35bc2f54b66cd786f55b668a82", "Arcadia Corporation, Stephen Harland Landrum", "AR-4101", "Communist Mutants from Space (1982) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c4bbbb0c8fe203cbd3be2e318e55bcc0", "", "", "Atlantis (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c4bc8c2e130d76346ebf8eb544991b46", "Imagic", "", "Imagic Selector ROM (1982) (Imagic) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c4d888bcf532e7c9c5fdeafbb145266a", "", "", "Space Robot (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c504a71c411a601d1fc3173369cfdca4", "Retroactive", "", "Qb (V2.02) (Stella) (2001) (Retroactive)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c5124e7d7a8c768e5a18bde8b54aeb1d", "Imagic, Rob Fulop", "720104-2A, IA3204P, EIX-008-04I", "Cosmic Ark (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c517144e3d3ac5c06f2f682ebf212dd7", "Tigervision - Teldec", "7-008 - 3.60006 VG", "Miner 2049er (1983) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c529e63013698064149b9e0468afd941", "", "", "S.I.PLIX 2 (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "c52d9bbdc5530e1ef8e8ba7be692b01e", "Atari, Robert C. Polaro", "CX26130", "Holey Moley (02-29-1984) (Atari) (Prototype)", "Uses Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c5301f549d0722049bb0add6b10d1e09", "Atari, Carla Meninsky, Ed Riddle - Sears", "CX2611 - 99821, 49-75149", "Indy 500 (1977) (Atari)", "Uses the Driving Controllers", "", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "45", "", "", "", "" }, + { "c5387fc1aa71f11d2fa82459e189a5f0", "Bit Corporation", "PG202", "Space Tunnel (1982) (BitCorp) (PAL)", "AKA Weltraum-Tunnel", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c53c0d10c74325deae9ba84074281983", "The Atari 2600 Connection - John K. Harvey, Tim Duarte", "v75", "Mean Santa (2009)", "Released in 2019", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c541a5f6fc23b40a211196dd78233780", "Atari, Carla Meninsky - Sears", "CX2660 - 49-75187", "Star Raiders (1981) (Atari) (Prototype) (4K)", "Uses Joystick (left) and Keypad (right) Controllers", "Prototype", "", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "c54b4207ce1d4bf72fadbb1a805d4a39", "Billy Eno", "", "Sniper (Feb 30) (2001) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c560a3ecb7b751021953819efcfe5b41", "Omegamatrix", "", "Ghostbusters (Genesis)", "Genesis controller", "", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "", "", "" }, + { "c569e57dca93d3bee115a49923057fd7", "", "", "Pac-Space (Pac-Man Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c58708c09ccb61625cda9d15ddcd8be6", "SPIKE the Percussionist", "", "NOIZ Invaders (SPIKE) (2002) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c5930d0e8cdae3e037349bfa08e871be", "Atari, Howard Scott Warshaw - Sears", "CX2655 - 49-75167", "Yars' Revenge (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c59633dbebd926c150fb6d30b0576405", "Telegames", "5861 A030", "Bogey Blaster (1988) (Telegames)", "AKA Air Raiders", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c5a76bafc4676edb76e0126fb9f0fb2d", "Charles Morgan", "", "Zero Patrol (Charles Morgan) (Hack)", "Hack of Moon Patrol", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c5bab953ac13dbb2cba03cd0684fb125", "SpiceWare - Darrell Spice Jr.", "", "Stay Frosty (SpiceWare)", "Part of Stella's Stocking 2007 Xmas compilation", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c5bf03028b2e8f4950ec8835c6811d47", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a2]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c5c7cc66febf2d4e743b4459de7ed868", "Atari, Jerome Domurat, Steve Woita", "CX2696", "Asterix (1983) (Atari) (PAL) [a]", "AKA Taz", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c5d2834bf98e90245e545573eb7e6bbc", "CCE", "", "Snoopy and the Red Baron (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c5dd8399257d8862f3952be75c23e0eb", "Atari - GCC", "CX2680", "RealSports Tennis (1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c5f71dfbdca9cc96b28643ff4d06aa6f", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c5fe45f2734afd47e27ca3b04a90213c", "Atari, Brad Stewart", "CX2622, CX2622P", "Breakout (1978) (Atari) (PAL) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, + { "c63a98ca404aa5ee9fcff1de488c3f43", "Atari", "CX26145", "Venture (1987) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c6556e082aac04260596b4045bc122de", "Atari - GCC, Dave Payne", "CX2669", "Vanguard (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c6688781f4ab844852f4e3352772289b", "Atari, Tod Frye", "CX2695", "Xevious (08-02-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c67ff409f28f44883bd5251cea79727d", "", "", "Gunfight 2600 - Music & Bugfixes 1 (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c689148ad9275667924ab334107b517e", "Jone Yuan Telephonic Enterprise Co", "", "Space Raid (Jone Yuan)", "AKA MegaMania", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c68a6bafb667bad2f6d020f879be1d11", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c6ae21caceaad734987cb24243793bd5", "CCE", "", "Frostbite (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c6c63da3bc2e47291f63280e057061d0", "128-in-1 Junior Console", "", "Human Cannonball (128-in-1 Junior Console) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c6d48c6ae6461e0e82753540a985ac9e", "Ed Federmeyer", "", "Edtris (1994) (Ed Federmeyer)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c6d7fe7a46dc46f962fe8413c6f53fc9", "Parker Brothers, Mark Lesser", "PB5950", "Lord of the Rings (1983) (Parker Bros) (Prototype) [a]", "Journey to Rivendell (The Lord of the Rings I)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c6db733e0b108c2580a1d65211f06dbf", "Atari, Eric Manghise, Mimi Nyden, Joseph Tung", "CX2640", "RealSports Baseball (07-09-1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c738fc3f5aae1e8f86f7249f6c82ac81", "Atari, Brad Stewart - Sears", "CX2622 - 6-99813, 49-75107", "Breakout (1978) (Atari) (16K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 60", "", "", "", "" }, + { "c73ae5ba5a0a3f3ac77f0a9e14770e73", "Starpath Corporation, Stephen H. Landrum", "9 AR-4105", "Official Frogger, The (1983) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c745487828a1a6a743488ecebc55ad44", "Rainbow Vision - Suntek", "SS-002", "Galactic (1983) (Rainbow Vision) (PAL)", "AKA The Challenge of.... Nexar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c74bfd02c7f1877bbe712c1da5c4c194", "Thomas Jentzsch", "", "River Raid Tanks (Thomas Jentzsch) (Hack)", "Hack of River Raid", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c7600d72247c5dfa1ec1a88d23e6c85e", "Arcadia Corporation, Scott Nelson", "13", "Sweat! - The Decathlon Game (1 of 3) (1983) (Arcadia) (Prototype)", "Uses the Paddle Controllers (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c77c35a6fc3c0f12bf9e8bae48cba54b", "Xonox - K-Tel Software - Action Graphics, Michael Schwartz, David Thiel", "6230, 7210, 06004, 99004", "Artillery Duel (1983) (Xonox)", "", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c77d3b47f2293e69419b92522c6f6647", "Panda", "101", "Tank Brigade (1983) (Panda)", "AKA Phantom Tank", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c7900a7fe95a47eef3b325072ad2c232", "Larry Petit", "", "Super Congo Bongo (2003) (Larry Petit) (Hack)", "Hack of Bongo", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c7d5819b26b480a49eb26aeb63cc831e", "Bit Corporation", "PGP210", "Ice Hockey (4 Game in One Light Green) (1983) (BitCorp) (PAL)", "AKA Hockey, Hockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c7e43ad79c5e5c029d9f5ffde23e32cf", "", "", "PAL-NTSC Detector (15-11-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c7eab66576696e11e3c11ffff92e13cc", "Atari - GCC", "CX2680, CX2680P", "RealSports Tennis (1983) (Atari) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c7f13ef38f61ee2367ada94fdcc6d206", "Parker Brothers - Roklan, Joe Gaucher", "PB5370", "Popeye (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c82ec00335cbb4b74494aecf31608fa1", "CCE", "", "E.T. - The Extra-Terrestrial (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c830f6ae7ee58bcc2a6712fb33e92d55", "Atari, Michael Kosaka", "CX2687", "Tempest (01-05-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c866c995c0d2ca7d017fef0fc0c2e268", "Retroactive", "", "Qb (2.00) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c880c659cdc0f84c4a66bc818f89618e", "Thomas Jentzsch", "", "Open Sesame (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c89c3138a99fd1fd54367d65f75b0244", "Atari, Omegamatrix", "", "Space Invaders Menu (2020) (PAL) (Hack)", "Hack of Space Invaders", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c8c7da12f087e8d16d3e6a21b371a5d3", "", "", "Demo Image Series #9 - Genius (28-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c8e90fc944596718c84c82b55139b065", "Atari - Roklan, Bob Curtiss", "", "Firefox (1983) (Atari) (Prototype) [a]", "AKA Combat II, Fighter Command", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c8fa5d69d9e555eb16068ef87b1c9c45", "Atari", "CX26144", "Donkey Kong Junior (1987) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c90788d9aa71a78bcc78c015edb22c54", "Thomas Jentzsch", "", "Marble Craze - Atari Trak-Ball Hack v1.0 (PAL60) (TJ)", "Uses Atari Trak-Ball Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c9196e28367e46f8a55e04c27743148f", "Atari", "CX26163P", "Stampede (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c92cfa54b5d022637fdcbdc1ef640d82", "Retroactive", "", "Qb (V2.05) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c98e8c918a40b4d3a243dd6c49196330", "AtariAge, Omegamatrix", "", "Venture Reloaded (2019) (AtariAge) (PAL60) (Hack)", "Transformative hack of Venture", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "c9b7afad3bfd922e006a6bfc1d4f3fe7", "Atari, Larry Kaplan - Sears", "CX2628 - 6-99842, 49-75117", "Bowling (1979) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c9c25fc536de9a7cdc5b9a916c459110", "Activision, Mike Lorenzen", "AX-023", "Oink! (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c9d02d3cfeef8b48fb71cb4520a4aa84", "", "", "Euchre (More for less) (PAL) (22-08-2002) (Erik Eid)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c9e721eb29c940c2e743485b044c0a3f", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "c9f6e521a49a2d15dac56b6ddb3fb4c7", "Parker Brothers, Rex Bradford", "PB5000", "Star Wars - Jedi Arena (1983) (Parker Bros)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "10 50", "", "", "", "" }, + { "ca09fa7406b7d2aea10d969b6fc90195", "Activision, Matthew L. Hubbard, Bob Whitehead", "AX-024", "Dolphin (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ca4f8c5b4d6fb9d608bb96bc7ebd26c7", "M Network - INTV - APh Technological Consulting, Hal Finney, Glenn Hightower, Peter Kaminski", "MT4317", "Adventures of TRON (1983) (M Network)", "AKA Tron Joystick", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ca50cc4b21b0155255e066fcd6396331", "Suntek", "SS-031", "UFO Patrol (1983) (Suntek) (PAL)", "AKA X'Mission", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ca53fc8fd8b3c4a7df89ac86b222eba0", "CCE", "C-812", "Pac Man (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ca54de69f7cdf4d7996e86f347129892", "PlayAround - J.H.M.", "201", "Philly Flasher (1982) (PlayAround)", "Uses the Paddle Controllers, AKA Beat 'Em & Eat 'Em", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 45", "", "", "", "" }, + { "ca7aaebd861a9ef47967d31c5a6c4555", "Atari, Bob Whitehead", "CX26163P", "Homerun (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "ca7abc774a2fa95014688bc0849eee47", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (1984) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ca7f166a94eed1a349dec6d6a358bcad", "Activision, Alan Miller - Ariola", "EAG-007, EAG-007-04I, PAG-007 - 711 007-720", "Tennis (1981) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cac9928a84e1001817b223f0cecaa3f2", "Amiga - Video Soft, Jerry Lawson, Dan McElroy", "", "3-D Genesis (1983) (Amiga) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cad982c9b45bc5eff34e4ea982d5f1ca", "", "", "Song (17-02-2003) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cade123747426df69570a2bc871d3baf", "Gakken", "011", "Marine Wars (1983) (Gakken) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cae8f83c06831ec7bb6a3c07e98e9342", "Colin Hughes", "", "Tetris 2600 (Colin Hughes) [o1]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cb18d8d5fbdcb1cd7bd36c5423348859", "", "", "RAM-Pong (NTSC) v1.0", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cb24210dc86d92df97b38cf2a51782da", "Video Gems", "VG-01", "Missile Control (1983) (Video Gems) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cb4a7b507372c24f8b9390d22d54a918", "ITT Family Games", "554-37 338", "Peter Penguin (1983) (ITT Family Games) (PAL)", "AKA Frisco (Pumuckl-Serie)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cb8399dc0d409ff1f531ef86b3b34953", "", "", "Demo Image Series #12 - Luigi And Mario (01-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cb9626517b440f099c0b6b27ca65142c", "Atari, Larry Kaplan - Sears", "CX2664 - 6-99818", "Brain Games (1978) (Atari) (4K)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "cb96b0cf90ab7777a2f6f05e8ad3f694", "Silvio Mogno", "", "Rainbow Invaders", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cb9b2e9806a7fbab3d819cfe15f0f05a", "Parker Brothers - JWDA, Todd Marshall, Robin McDaniel, Ray Miller", "931513", "Star Wars - Death Star Battle (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cba56e939252b05df7b7de87307d12ca", "", "", "Playfield Text Demo (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cbad928e10aeee848786cc55394fb692", "", "", "Fu Kung! (V0.06a Cuttle Cart Compatible) (15-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cbb0ee17c1308148823cc6da85bff25c", "", "", "Rotating Colors Demo 1 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cbc373fbcb1653b4c56bfabba33ea50d", "CCE", "", "Super Voleyball (CCE)", "AKA RealSports Volleyball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cbced209dd0575a27212d3eee6aee3bc", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2003", "Racquetball (1982) (Apollo) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cbd981a23c592fb9ab979223bb368cd5", "Atari, Carla Meninsky - Sears", "CX2660 - 49-75187", "Star Raiders (1982) (Atari)", "Uses Joystick (left) and Keypad (right) Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cbe5a166550a8129a5e6d374901dffad", "Atari, Carla Meninsky - Sears", "CX2610 - 49-75127", "Warlords (1981) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 50", "", "", "", "" }, + { "cbeafd37f15e0dddb0540dbe15c545a4", "", "", "Black and White Fast Scolling Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cc03c68b8348b62331964d7a3dbec381", "Jone Yuan Telephonic Enterprise Co", "", "Marauder (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cc12581e079cd18330a89902625b8347", "Dave Neuman", "", "Space Battle (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cc1939e4769d0c157ace326efcfdcf80", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (3 of 4) (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cc2973680c150886cce1ed8693c3aca2", "Quelle", "874.254 6", "Super-Cowboy beim Rodeo (1983) (Quelle) (PAL) (4K)", "AKA Stampede", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cc3d942c6958bd16b1c602623f59e6e1", "Atari, Bill Aspromonte, John Russell, Michael Sierchio, Robert Zdybel", "CX26114", "Pigs in Space (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cc7138202cd8f6776212ebfc3a820ecc", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (03-30-1983) (Atari) (Prototype)", "Uses the Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "cc724ebe74a109e39c0b2784ddc980ca", "Atari, Jerome Domurat, Dave Staugas", "CX2682", "Krull (05-27-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cc74ddb45d7bc4d04c2e6f1907416699", "", "", "Colour Display Programme (1997) (Chris Cracknell)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cca33ae30a58f39e3fc5d80f94dc0362", "", "", "Okie Dokie (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ccb56107ff0492232065b85493daa635", "Bit Corporation", "PG206 [demonstration cartridge]", "Bobby Is Going Home (1983) (BitCorp) (PAL) [demo cart]", "AKA Bobby geht Heim", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ccb5fa954fb76f09caae9a8c66462190", "Answer Software Corporation - TY Associates, Mike Wentz", "ASC1001", "Malagai (1983) (Answer Software)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ccb807eb79b0ed0f5fdc460445ef703a", "", "", "Superman (Stunt_Cycle_Rules!) (Hack)", "Hack of Superman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ccbd36746ed4525821a8083b0d6d2c2c", "Atari, Brad Stewart - Sears", "CX2649, 49-75163", "Asteroids (1981) (Atari) [no copyright]", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cccfe9e9a11b1dad04beba46eefb7351", "", "", "Poker Squares (V0.25) (PAL) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ccd6ce508eee4b3fca67212833edcd85", "Otto Versand", "746422", "Hot Wave (Double-Game Package) (1983) (Otto Versand) (PAL)", "AKA Ram It", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ccd92a269a4c2bd64d58cf2c0114423c", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2675", "Ms. Pac-Man (09-20-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd032ab6764b55438a7b0bfb5e78595a", "", "", "Hangman Pac-Man 4letter (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd139ae6d09f3665ad09eb79da3f9e49", "Eric Mooney", "", "Invaders by Erik Mooney (4-24-97) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd34b3b3ef9e485201e841ba71beb253", "Bradford W. Mott", "", "Hit HMOVE At Various Cycles After WSYNC Test (Bradford W. Mott) (1998) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd38ad19f51b1048d8e5e99c86a2a655", "", "", "Demo Image Series #5 - Flag (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd399bc422992a361ba932cc50f48b65", "Arcadia Corporation, Brian McGhie", "AR-4104", "Rabbit Transit (Preview) (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd3e26786136a4692fd2cb2dfbc1927e", "", "", "Multiple Moving Objects Demo 2 (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd4423bd9f0763409bae9111f888f7c2", "Jone Yuan Telephonic Enterprise Co", "", "River Raid (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd4ded1ede63c4dd09f3dd01bda7458c", "Future Video Games", "", "Laser Gate (Future Video Games) (PAL)", "AKA Innerspace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd568d6acb2f14477ebf7e59fb382292", "Videospielkassette - Ariola", "PGP235", "Fussball (Ariola) (PAL)", "AKA International Soccer", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd5af682685cfecbc25a983e16b9d833", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX26133", "A-Team, The (05-08-1984) (Atari) (Prototype)", "AKA Saboteur", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd88ef1736497288c4533bcca339f881", "SEGA - Teldec", "005-10", "Buck Rogers - Planet of Zoom (1983) (SEGA) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cd8fa2e9f6255ef3d3b9b5a4f24a54f7", "", "", "Daredevil (V2) (Stunt_Cycle_Rules!) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cd98be8a48ebf610c9609a688b9c57f2", "Arcadia Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (1982) (Arcadia) (Prototype)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cd9fea12051e414a6dfe17052067da8e", "Paul Slocum", "", "Marble Craze Demo (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cda38714267978b9a8b0b24bee3529ae", "", "", "Space Instigators (V1.6) (17-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cdadb57b34438805ee322ff05bd3d43e", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cdb81bf33d830ee4ee0606ee99e84dba", "Arcadia Corporation, Scott Nelson", "AR-4300", "Fireball (1982) (Arcadia) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "", "" }, + { "cdc1a5c61d7488eadc9aba36166b253d", "Retroactive", "", "Qb (V0.12) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cddabfd68363a76cd30bee4e8094c646", "Computer Magic - CommaVid, John Bronstein", "CM-001", "MagiCard (1981) (CommaVid)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ce17325834bf8b0a0d0d8de08478d436", "", "", "Boring Freeway (Hack)", "Hack of Freeway", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ce1cbe159b9ae5992dacf09371de5e13", "Atari - GCC, Kevin Osborn", "CX2689", "Kangaroo (01-19-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ce243747bf34a2de366f846b3f4ca772", "Home Vision - Gem International Corp. - VDI", "", "Jacky Jump (1983) (Home Vision) (PAL)", "AKA Bobby Is Going Home", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ce4bbe11d682c15a490ae15a4a8716cf", "", "", "Okie Dokie (Older) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ce5524bb18e3bd8e092273ef22d36cb9", "Carrere Video - JWDA, Todd Marshall, Wes Trager, Henry Will IV - Teldec - Prism", "USC1004", "Commando Raid (1983) (Carrere Video) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ce5cc62608be2cd3ed8abd844efb8919", "Atari - Bobco, Robert C. Polaro", "CX2663", "Road Runner (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ce64812eb83c95723b04fb56d816910b", "Retroactive", "", "Qb (V2.04) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ce6c4270f605ad3ce5e82678b0fc71f8", "", "", "Vertical Rainbow Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ce82a675c773ff21e0ffc0a4d1c90a71", "", "", "Defender 2 (Genesis)", "Genesis controller (C is smartbomb)", "Hack of Defender 2", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ce8467ae2a3a5bc88ca72a2ce44ce28c", "SOLID Corp. (D. Scott Williamson)", "CX2655-015", "Star Castle 2600 (SolidCorp) (PAL) [015]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ce89529d6e98a13ddf3d84827bbdfe68", "", "", "Kung Fu Sprite Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ce904c0ae58d36d085cd506989116b0b", "Telegames", "5687 A279", "International Soccer (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cea9f72036dc6f7af5eff52459066290", "Retroactive", "", "Qb (2.07) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ceba7965a93c689bdecdb46a5b2ac0c1", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (PAL60) (Half-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cedbd67d1ff321c996051eec843f8716", "Ultravision", "1044", "Karate (1982) (Ultravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cef01595000627ee50863d4290372c27", "", "", "Many Blue Bars and Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cef2287d5fd80216b2200fb2ef1adfa8", "Milton Bradley Company", "4363", "Spitfire Attack (1983) (Milton Bradley)", "AKA Flight Commander)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cf0c593c563c84fdaf0f741adb367445", "Retroactive", "", "Qb (V0.05) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cf3a9ada2692bb42f81192897752b912", "", "", "Air Raiders (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cf3c2725f736d4bcb84ad6f42de62a41", "Rainbow Vision - Suntek", "SS-009", "Bermuda, The (1983) (Rainbow Vision) (PAL) [a]", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cf507910d6e74568a68ac949537bccf9", "SEGA, Jeff Lorenz", "003-01", "Thunderground (1983) (SEGA)", "AKA Underground", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cf63ffac9da89ef09c6c973083061a47", "CCE", "C-859", "MASH (1983) (CCE)", "AKA M.A.S.H", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cf9069f92a43f719974ee712c50cd932", "Video Gems", "VG-04", "Mission Survive (1983) (Video Gems) (PAL)", "", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cfad2b9ca8b8fec7fb1611d656cc765b", "Bit Corporation", "PG207", "Mission 3,000 A.D. (1983) (BitCorp) (PAL) [demo cart]", "demonstration cartridge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cfb3260c603b0341d49ddfc94051ec10", "Dactari - Milmar", "", "Boxing (Dactari - Milmar)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cfb83a3b0513acaf8be4cae1512281dc", "Starpath Corporation", "", "Going-Up (1983) (Starpath) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cfc226d04d7490b69e155abd7741e98c", "Atari, Matthew L. Hubbard", "CX26159", "Double Dunk (1989) (Atari) (PAL)", "AKA Super Basketball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cfce5596a7e8ca13529e9804cad693ef", "Canal 3 - Intellivision", "", "Tennis (Canal 3) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cfd5518c71552b8bb853b0e461e328d7", "Bit Corporation", "R320", "Spider Fighter (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cfd6a8b23d12b0462baf6a05ef347cd8", "Activision, Larry Kaplan", "AX-006", "Bridge (1980) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cfdb4d0427a1ea8085c6bc6eb90259d8", "", "", "Gunfight 2600 - Release Candidate (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cfe2185f84ce8501933beb5c5e1fd053", "", "", "Football (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cfe62ed7125ff9fae99b4c8a367c0399", "Activision, Larry Miller", "AX-026, AX-026-04", "Enduro (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cfee10bd7119f10b136921ced2ee8972", "", "", "Space Instigators (V1.8) (19-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cfef1a2d1f6a5ee7a5e1f43f3056f112", "", "", "Skeleton+ (05-05-2003) (Eric Ball) (NTSC)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cff1e9170bdbc29859b815203edf18fa", "Retroactive", "", "Push (V0.01) (1998) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cff578e5c60de8caecbee7f2c9bbb57b", "George Veeder", "", "Suicide Adventure (George Veeder) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "cff9950d4e650094f65f40d179a9882d", "Paul Slocum", "", "Mr. Roboto (Paul Slocum) (Hack)", "Hack of Berzerk", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "cfffc4b97d01cc3e7b9f47575f7b11ec", "Xonox - K-Tel Software, Anthony R. Henderson", "99007, 6240", "Tomarc the Barbarian (1983) (Xonox) (PAL60)", "Genesis controller (B is jump and throw, C switches between players)", "Hack of Tomarc the Barbarian", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d00f6f8ba89559e4b20972a478fc0370", "Spiceware", "SW-01", "Medieval Mayhem (PAL)", "", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "AUTO 55", "", "", "", "" }, + { "d010e3dfe7366e47561c088079a59439", "Retroactive", "", "Qb (V0.10) (Stella) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d026716b3c5be2c951cc4c064317c524", "", "", "Fu Kung! (V0.06) (14-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0498baca989e792db4b8270a02b9624", "", "", "Pac Ghost Sprite Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d071d2ec86b9d52b585cc0382480b351", "UA Limited", "", "Cat Trax (1983) (UA Limited) (1) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d078674afdf24a4547b4b32890fdc614", "Jone Yuan Telephonic Enterprise Co", "", "Laser Blast (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d078d25873c5b99f78fa267245a2af02", "SEGA - Beck-Tech, Steve Beck, Phat Ho", "006-01", "Congo Bongo (1983) (SEGA) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0796a0317abf9018d6745086bef411f", "Edward Smith", "", "Alien Attack (2018)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d08fccfbebaa531c4a4fa7359393a0a9", "Activision, David Crane, Bob Whitehead", "", "Venetian Blinds Demo (1981) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d090836f0a4ea8db9ac7abb7d6adf61e", "Hozer Video Games", "", "Yahtzee (Hozer Video Games)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d09935802d6760ae58253685ff649268", "Telesys, Don Ruffcorn", "1006", "Demolition Herby (1983) (Telesys)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d09a7504ee8c8717ac3e24d263e7814d", "Activision, Matthew L. Hubbard, Bob Whitehead", "AX-024", "Dolphin (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d09f1830fb316515b90694c45728d702", "Imagic, Brad Stewart", "720105-1A, IA3400", "Fire Fighter (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0a379946ed77b1b126230ca68461333", "Ataripoll", "", "Atari Invaders (Ataripoll) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0af33865512e9b6900714c26db5fa23", "Telegames", "", "Armor Ambush (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0b26e908370683ad99bc6b52137a784", "Apollo - Games by Apollo, Larry Minor, Ernie Runyon, Ed Salvo - RCA Video Jeux", "AP-2004", "Lost Luggage (1982) (Apollo) (PAL)", "AKA La valise piegee", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0b9df57bfea66378c0418ec68cfe37f", "20th Century Fox Video Games - Sirius, Grady Ward", "11002", "Beany Bopper (1982) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0b9f705aa5f61f47a748a66009ae2d2", "", "", "Synthcart (14-01-2002) (Paul Slocum)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d0cb28e1b7bd6c7f683a0917b59f707e", "Atari, Gary Palmer", "CX2661P", "Fun with Numbers (1980) (Atari) (PAL) (4K)", "AKA Basic Math", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0cdafcb000b9ae04ac465f17788ad11", "Quelle - Otto Versand", "732.273 8 - 600273, 781644", "Lilly Adventure (1983) (Quelle) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0e05ba5f10e3df3023c5ee787f760ef", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (PAL) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0e15a3ce322c5af60f07343594392af", "Amiga - Video Soft", "3125", "Surf's Up (1983) (Amiga) (Prototype) (4K)", "Uses the Joyboard controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d0e9beb2347595c6c7d158e9d83d2da8", "Retroactive", "", "Qb (2.00) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d100b11be34a1e5b7832b1b53f711497", "", "", "Robotfindskitten2600 (26-04-2003) (Jeremy Penner) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d15655fe355fa57dd541487dc5725145", "Rentacom", "", "Vanguard (Rentacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d170317ae4c7d997a989c7d6567c2840", "Jone Yuan Telephonic Enterprise Co", "", "Stampede (Jone Yuan) (4K) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d175258b2973b917a05b46df4e1cf15d", "Suntek", "SS-032", "Walker (1983) (Suntek) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d17a671029b1532b197defca5f3649a7", "Hozer Video Games", "", "Gunfight 2600 - Limit broken again! (2001) (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d17a8c440d6be79fae393a4b46661164", "", "", "Warring Worms (Beta 3) (2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d1a1841b7f2007a24439ac248374630a", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (1 of 4) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d1a9478b99d6a55e13a9fd4262da7cd4", "U.S. Games Corporation, Garry Kitchen - Vidtec", "VC1001", "Space Jockey (1982) (U.S. Games) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d1b4075925e8d3031a7616d2f02fdd1f", "", "", "Demo Image Series #7 - Two Marios (27-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d1c3520b57c348bc21d543699bc88e7e", "Gameworld", "133-002", "Warplock (1983) (Gameworld) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01", "", "", "YES", "" }, + { "d1ca47b262f952413c1234117c4e4e21", "Bit Corporation", "R320", "Missile Command (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d1d704a7146e95709b57b6d4cac3f788", "Atari, Warren Robinett", "CX26163P", "Slot Racers (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d20e61c86ed729780feca162166912ca", "Supergame", "32", "Pitfall (1984) (Supergame)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d214c7a734e133a5c18e93229435b57a", "Digivision", "", "Mickey (Digivision)", "AKA Sorcerer's Apprentice", "", "", "", "UASW", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d223bc6f13358642f02ddacfaf4a90c9", "Rainbow Vision - Suntek", "SS-003", "Pac-Kong (1983) (Rainbow Vision) (PAL)", "AKA Inca Gold", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d245e2f27c84016041e9496b66b722fe", "", "", "Gunfight 2600 - The Final Kernel (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d25018349c544320bf3fd5092ee072bc", "Activision, Larry Miller", "AX-021", "Spider Fighter (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d28afe0517a046265c418181fa9dd9a1", "", "", "Dodge 'Em (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d2901c34bb6496bb96c7bc78a9e6142a", "Greg Zumwalt", "", "Fish Revenge (2003) (Greg Zumwalt) (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d2c4f8a4a98a905a9deef3ba7380ed64", "Mythicon, Bill Bryner, Bruce de Graaf", "MA1001", "Sorcerer (1983) (Mythicon)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d2c8e6aa8172b16c8aa9aae739ac9c5e", "Activision, David Crane", "08-08-1980", "Laser Blast (08-08-1980) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d2c957dd7746521b51bb09fde25c5774", "Eckhard Stolberg", "", "Cubis (6K) (1997) (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d2d8c4f1ea7f347c8bcc7d24f45aa338", "", "", "20 Sprites at Once Demo 5 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d2deddb77c8b823e4be9c57cb3c69adc", "Canal 3 - Intellivision", "C 3007", "Snoopy and the Red Baron (Canal 3)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d2f713c78a9ebba9da6d10aeefc6f20f", "Digivision", "", "Enduro (Digivision) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d3171407c3a8bb401a3a62eb578f48fb", "ZiMAG - Emag - Vidco", "GN-080", "Spinning Fireball (1983) (ZiMAG) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d326db524d93fa2897ab69c42d6fb698", "Parker Brothers - Roklan, Paul Crowley, Bob Curtiss", "931505", "Super Cobra (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d339b95f273f8c3550dc4daa67a4aa94", "", "", "Laser Blast (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d341d39774277cee6a1d378a013f92ac", "Xonox, John Perkins", "6230, 7210, 06004, 99004", "Artillery Duel (1983) (Xonox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d3423d7600879174c038f53e5ebbf9d3", "U.S. Games Corporation - Western Technologies", "VC2005", "Piece o' Cake (1983) (U.S. Games)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 60", "", "", "", "" }, + { "d3456b4cf1bd1a7b8fb907af1a80ee15", "Avalon Hill, Duncan Scott", "5003002", "Wall Ball (1983) (Avalon Hill)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d34b933660e29c0a0a04004f15d7e160", "", "", "Multi-Color Demo 5 (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d36308387241e98f813646f346e7f9f7", "King Atari", "", "Ghostbuster 2 (King Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d39e29b03af3c28641084dd1528aae05", "Funvision - Fund. Int'l Co.", "", "Spider Monster (1982) (Funvision) (PAL)", "AKA Spider Kong", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d3bb42228a6cd452c111c1932503cc03", "UA Limited", "", "Funky Fish (1983) (UA Limited) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d44d90e7c389165f5034b5844077777f", "Parker Brothers, Larry Gelberg", "PB5065", "Star Wars - Ewok Adventure (1983) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d45bf71871b196022829aa3b96bfcfd4", "Activision, Steve Cartwright", "AX-017, AX-017-04", "MegaMania (1982) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d45ebf130ed9070ea8ebd56176e48a38", "SEGA, Jeff Lorenz", "001-01", "Tac-Scan (1983) (SEGA)", "Uses the Paddle Controllers (right only)", "", "", "", "", "", "", "", "YES", "", "", "YES", "", "", "AUTO 60", "", "", "YES", "" }, + { "d47387658ed450db77c3f189b969cc00", "PlayAround - J.H.M.", "206", "Westward Ho (1982) (PlayAround) (PAL)", "AKA Custer's Revenge", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d4806775693fcaaa24cf00fc00edcdf3", "Atari - Bobco, Robert C. Polaro", "CX26140, CX26140P", "Desert Falcon (1987) (Atari) (PAL)", "AKA Nile Flyer, Sphinx", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d483f65468d9a265661917bae1a54f3e", "Joe Grand", "", "SCSIcide Pre-release 3 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d4942f4b55313ff269488527d84ce35c", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2675, CX2675P", "Ms. Pac-Man (1982) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d49aff83f77a1b9041ad7185df3c2277", "", "", "Space Treat (60% complete) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d4aa89e96d2902692f5c45f36903d336", "", "", "Euchre (NTSC) (Erik Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d4c590ccfb611a73b3331359700c01a3", "", "", "Sprite Movement Demo 2 (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d541b20eae221a8ee321375e5971e766", "Arcadia Corporation, Stephen H. Landrum", "AR-4101", "Communist Mutants from Space (Preview) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d54cd41ecfd59e4b72d2c086152b9a75", "Amiga - Video Soft - Michael K. Glass, Jerry Lawson", "1110", "Power Play Arcade Video Game Album (1983) (Amiga) (Prototype)", "3-D Ghost Attack only (3-D Genesis & 3-D Havoc missing in ROM)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d5618464dbdc2981f6aa8b955828eeb4", "CCE", "C-829", "Megamania (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d563ba38151b8204c9f5c9f58e781455", "Atari, Brad Stewart - Sears", "CX2649, 49-75163", "Asteroids (1981) (Atari) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d573089534ca596e64efef474be7b6bc", "Parker Brothers, John Emerson", "931511", "Action Force (1983) (Parker Bros) (PAL) [a]", "AKA G.I. Joe - Cobra Strike", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 55", "", "", "", "" }, + { "d57913088e0c49ac3a716bf9837b284f", "Activision, Garry Kitchen", "EAZ-032", "Pressure Cooker (1983) (Activision) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d57eb282d7540051bc9b5427cf966f03", "Atari Troll", "", "Custer's Viagra (Atari Troll) (Hack)", "Hack of Custer's Revenge", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d597d35c6022c590d6e75e865738558a", "", "", "Sprite Color Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d5aa7472e7f2cc17e893a1a36f8dadf0", "", "", "Overhead Adventure Demo 5 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d5c6b81212ad86fd9542a1fedaf57cae", "", "", "Sprite Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d5d2d44fb73785996ccc24ae3a0f5cef", "Robby", "", "Grand Prix (Robby)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d5e17022d1ecc20fd9b53dc464c302f1", "Activision, Carol Shaw", "EAX-020", "River Raid (1982) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d5e27051512c1e7445a9bf91501bda09", "Activision, David Crane", "AG-008", "Laser Blast (1981) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d5e5b3ec074fff8976017ef121d26129", "Star Game", "003", "River Raid (Star Game)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d5f965c159e26a1fb49a22a47fbd1dd0", "Supergame", "", "River Raid II (Supergame)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d605ed12f4eaaaec3dcd5aa909a4bad7", "", "", "Chronocolor Frame Demo (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d61629bbbe035f45552e31cef7d591b2", "", "", "Atari Logo Demo (PD) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d62283aed0f4199adb2333de4c263e9c", "Atari, Alan J. Murphy, Nick 'Sandy Maiwald' Turner", "CX2615", "Demons to Diamonds (1982) (Atari) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "10 57", "", "", "", "" }, + { "d62d7d1a974c31c5803f96a8c1552510", "", "", "StarMaster (Unknown) (PAL)", "Use Color/BW switch to change between galactic chart and front views", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d632b74fea533d593af82cf16e7c5e4a", "", "", "Fu Kung! (V0.13) (01-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d65028524761ef52fbbdebab46f79d0f", "CCE", "", "Galaxian (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d65900fefa7dc18ac3ad99c213e2fa4e", "", "", "Guntest (2000) (Eckhard Stolberg)", "Light Gun Test (based on Sentinel code)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d69559f9c9dc6ef528d841bf9d91b275", "Activision, Alan Miller", "AX-016", "StarMaster (1982) (Activision)", "Use Color/BW switch to change between galactic chart and front views", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d6a44277c3eb4f9d039185e0ecf7bfa6", "", "", "Trick (1997) (Eckhard Stolberg)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d6acff6aed0f04690fe4024d58ff4ce3", "Spectravision - Spectravideo - Quelle", "SA-202 - 412.851 8", "Planet Patrol (1982) (Spectravision) (PAL) [different spaceship]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d6b8beeb05e5b730084d4b8f381bbf8d", "", "", "208 in 1 Game Select ROM (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d6d1ddd21e9d17ea5f325fa09305069c", "Funvision - Fund. International Co.", "", "Time Warp (1982) (Funvision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d6d5dd8fd322d3cf874e651e7b6c1657", "", "", "How to Draw a Playfield (1997) (Nick Bensema) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d6dc9b4508da407e2437bfa4de53d1b2", "Bomb - Onbase", "CA283", "Z-Tack (1983) (Bomb) (PAL)", "AKA Base Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d726621c676552afa503b7942af5afa2", "Atari, Bob Whitehead", "CX26163P", "Blackjack (32 in 1) (1988) (Atari) (PAL) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d73ad614f1c2357997c88f37e75b18fe", "Goliath", "7", "Space Tunnel (1983) (Goliath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d74a81fcd89c5cf0bd4c88eb207ebd62", "", "", "Poker Squares (V0.00a) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d763e3a9cdcdd56c715ec826106fab6a", "Activision, David Crane", "AG-001", "Dragster (1980) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d7759fa91902edd93f1568a37dc70cdb", "Atari, Robert C. Polaro", "CX26157", "Stunt Cycle (1980) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d782543818b6320e4f60d77da2b596de", "Atari", "CX26163P", "Fishing Derby (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d787ec6785b0ccfbd844c7866db9667d", "Retroactive", "", "Qb (V0.04) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d7891b0faa4c7f764482762d0ed427a5", "", "", "Bars and Text Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d7b2259f6bb57bf37eac82365c1f8ad6", "Parker Brothers, Mike Brodie", "PB5320", "Super Cobra (1983) (Parker Bros) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d7b58303ec8d8c4dbcbf54d3b9734c7e", "", "", "Paddle Demo (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d7dd56677e4ec1e6627419478a4a9668", "", "", "Shadow Keep (Fixed) (04-03-2003) (Andrew Towers)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d7f5bf138cfc7feab7b8ef1534c8b477", "", "", "Eric Bergstrom's KC-135 (Radar Map) (Aaron Bergstrom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d816fea559b47f9a672604df06f9d2e3", "Atari, Gary Palmer", "CX26163P", "Fun with Numbers (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d81bb6965e6c99b3be99ffd8978740e4", "", "", "Gunfight 2600 - The Final Kernel Part 3 (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d82675ce67caf16afe5ed6b6fac8aa37", "Thomas Jentzsch", "", "Robot City (V0.23) (13-11-2002) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d8295eff5dcc43360afa87221ea6021f", "Spectravideo", "SA-212", "Mangia' (1983) (Spectravideo) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d82c8a58098a6b46c5b81c16180354d1", "Dennis Debro", "", "Climber 5 (30-10-2002) (Dennis Debro) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d85f1e35c5445ac898746719a3d93f09", "Suntek", "SS-034", "Farmyard Fun (1983) (Suntek) (PAL)", "AKA Play Farm", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d86deb100c6abed1588aa84b2f7b3a98", "Atari, Bob Whitehead - Sears", "CX2625 - 6-99827, 49-75114", "Football (1979) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d88691c995008b9ab61a44bb686b32e4", "", "", "Warring Worms (07-02-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d89262907e70c13dff23356c4a9055d0", "Bit Corporation", "R320", "Video Pinball (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d89fedded0436fdeda7c3c37e2fb7cf1", "", "", "Surround (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d8acaa980cda94b65066568dd04d9eb0", "CCE", "", "Sea Hunt (CCE)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d8b2c81cea5af04f795eb3dc6573d72b", "", "", "Tunnel Demo 2 (27-03-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d8df256c0d89e494a9fb3e9abb8e44ac", "Imagic, Michael Greene", "IA3312P", "No Escape! (1982) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d8e4c8e2d210270cd1e0f6d1b4582b91", "Imagic, Mark Klein", "EIZ-003-04I", "Subterranea (1983) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d90205e29bb73a4cdf28ea7662ba0c3c", "Thomas Jentzsch", "", "Boulderdash Demo (Brighter Version) (09-12-2002) (TJ)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d912312349d90e9d41a9db0d5cd3db70", "CCE", "C-818", "Star Voyager (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d9548ad44e67edec202d1b8b325e5adf", "Apollo - Games by Apollo, Dan Oliver - RCA Video Jeux", "AP-2002", "Space Cavern (1982) (Apollo) (PAL)", "AKA Les guerriers de l'espace", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d968de2b4ff18bfe4a95066cde310578", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (PAL) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d97e3d0b4575ce0b9a6132e19cfeac6e", "Fabrizio Zavagli", "", "Space Treat (061002) (PD)", "Won't work with Stella < V1.2", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d97fd5e6e1daacd909559a71f189f14b", "M Network, Steve Crandall, Patricia Lewis Du Long", "MT4646", "Rocky & Bullwinkle (04-20-1983) (M Network) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d9ab6b67a17da51e5ad13717e93fa2e2", "Thomas Jentzsch", "", "Turbo (Coleco) Prototype Fake v0.1 (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d9b49f0678776e04916fa5478685a819", "Activision, John Van Ryzin - Ariola", "EAZ-036-04, EAZ-036-04B, EAZ-036-04I - 711 036-720", "H.E.R.O. (1984) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d9bd343533b61389b270c0787210943b", "Atari, Douglas 'Solaris' Neubauer", "CX26134", "Last Starfighter (1984) (Atari) (Prototype)", "Genesis controller (C switches to map mode)", "Hack of Last Starfighter (Solaris prototype)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "d9c9cece2e769c7985494b1403a25721", "SOLID Corp. (D. Scott Williamson)", "CX2655*", "Star Castle 2600 (SolidCorp)", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "d9da2ae7c7894a29b43b3c6b79f3b7a2", "Atari, Rob Fulop", "CX2633, CX2633P", "Night Driver (1980) (Atari) (PAL) (4K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 65", "", "", "YES", "" }, + { "d9fbf1113114fb3a3c97550a0689f10f", "ZiMAG - Emag - Vidco", "713-111 - GN-050", "Pizza Chef (1983) (ZiMAG) (Prototype)", "AKA Pizza Time", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "da0fb2a484d0d2d8f79d6e063c94063d", "", "", "Air Raiders (1982) (Unknown) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "da4e3396aa2db3bd667f83a1cb9e4a36", "Activision, Steve Cartwright", "AX-027", "Plaque Attack (1983) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "da5096000db5fdaa8d02db57d9367998", "Digitel", "", "River Raid (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "da6465a34d2e44d26aa9a2a0cd1bce4d", "Absolute Entertainment, Alex DeMeo", "AG-041-04", "Title Match Pro Wrestling (1987) (Absolute) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "da66d75e4b47fab99733529743f86f4f", "Digitel", "", "Chopper Command (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "da732c57697ad7d7af414998fa527e75", "Atari - Glenn Axworthy", "CX26129", "Midnight Magic (1986) (Atari) (PAL)", "AKA Pinball Wizard", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "da79aad11572c80a96e261e4ac6392d0", "Salu - Ubi Soft, Dennis M. Kiss", "460673", "Pick 'n' Pile (1990) (Salu) (PAL)", "", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "YES", "" }, + { "da7a17dcdaa62d6971393c0a6faf202a", "", "", "Flag Capture (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dab844deed4c752632b5e786b0f47999", "", "", "Super Challenge Baseball (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dac38b4dd3da73bb7b2e9d70c61d2b7c", "", "", "Hangman Monkey Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dac5c0fe74531f077c105b396874a9f1", "Atari - GCC", "CX2680", "RealSports Tennis (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dac762e4d01d445bdef20b7771f6570e", "Atari, Carla Meninsky, Ed Riddle - Sears", "CX2611 - 99821, 49-75149", "Indy 500 (1977) (Atari) (4K) [a]", "Uses the Driving Controllers", "", "", "", "", "", "", "", "", "DRIVING", "DRIVING", "", "", "", "45", "", "", "", "" }, + { "dad2ab5f66f98674f12c92abcfbf3a20", "", "", "Blue and White Sprite Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "daeb54957875c50198a7e616f9cc8144", "20th Century Fox Video Games, Douglas 'Dallas North' Neubauer", "11005", "Mega Force (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "daef7d8e5a09981c4aa81573d4dbb380", "Adam Thornton", "", "Lord of the Rings (Adam Thornton) (Hack)", "Hack of Dark Mage", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "dafc3945677ccc322ce323d1e9930beb", "Atari", "", "A-Team (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "db1753cc702c18d3917ec7f3b0e8659f", "", "", "Frame Counter 2 (2001) (Jake Patterson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "db339aea2b65b84c7cfe0eeab11e110a", "", "", "Chronocolor Frame Demo 2 (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "db4eb44bc5d652d9192451383d3249fc", "CBS Electronics - E.F. Dreyer - VSS, Ed Salvo", "4L 2738 0000", "Mountain King (1983) (CBS Electronics)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "db5073bd75eb05f7d62a7268396d1e77", "Atari", "CX26163P", "Golf (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "db76f7a0819659d9e585f2cdde9175c7", "Xonox", "99005, 6220, 6250", "Robin Hood (1983) (Xonox) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "db80d8ef9087af4764236f7b5649fa12", "M Network, Steve Crandall, Patricia Lewis Du Long", "MT4646", "Rocky & Bullwinkle (1983) (Mattel) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "db971b6afc9d243f614ebf380af0ac60", "Gammation, Robert L. Esken Jr.", "", "Gamma-Attack (1983) (Gammation)", "Uses right joystick controller", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "dba270850ae997969a18ee0001675821", "Greg Troutman", "", "Dark Mage (Greg Troutman) (PD) (4K)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "dbabb80e92ff18d8eecf615c0539151e", "", "", "Sprite Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dbb10b904242fcfb8428f372e00c01af", "Atari, John Dunn", "CX2631, CX2631P", "Superman (1979) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dbba14a0f69f0e13fdccb3fde3baedca", "Thomas Jentzsch", "", "Reactor - Atari Trak-Ball Hack v1.3 (NTSC) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dbc7485ad5814d466de780a3e7ed3b46", "Kyle Pittman", "", "Pink Floyd (Kyle Pittman) (PD)", "Hack of Adventures of Tron (Mattel)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dbc8829ef6f12db8f463e30f60af209f", "Data Age", "DA1001", "Encounter at L-5 (1982) (Data Age)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 50", "", "", "", "" }, + { "dbdaf82f4f0c415a94d1030271a9ef44", "CCE", "", "Kaboom! (CCE)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "dbdd21e1ee3d72119e8cd14d943c585b", "", "", "Slot Machine (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dc13df8420ec69841a7c51e41b9fbba5", "Atari, Mimi Nyden, Steve Woita", "CX26132", "Garfield (06-21-1984) (Atari) (Prototype)", "AKA Garfield on the Run", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dc33479d66615a3b09670775de4c2a38", "Suntek", "SS-033", "I.Q. Memory Teaser (1983) (Suntek) (PAL)", "AKA IQ 180", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dc81c4805bf23959fcf2c649700b82bf", "Imagic, Michael Greene", "720055-2A, IA3312P", "No Escape! (1983) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dc905b22de0f191a029df13eddfcabc4", "Atari, Warren Robinett", "", "Elf Adventure (05-02-83) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dc97cbcf091a5ef4ca7fe95dc0848036", "Atari - Roklan, Joe Gaucher, Alex Leavens", "CX2683", "Crazy Climber (1983) (Atari) (Prototype) [a2]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dca90ea1084a2fdbe300d7178ca1a138", "Imagic, Dennis Koble", "IA3000P", "Trick Shot (1982) (Imagic) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "dca941dab5c6f859b71883b13ade9744", "", "", "Hangman Pac-Man Biglist2 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dcba0e33aa4aed67630a4b292386f405", "Retroactive", "", "Qb (V2.08) (Half Speed Version) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "dcc2956c7a39fdbf1e861fc5c595da0d", "M Network - INTV - APh Technological Consulting, David Rolfe", "MT5664", "Frogs and Flies (1982) (M Network)", "AKA Frogs 'n' Flies", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dcec46a98f45b193f07239611eb878c2", "", "", "Bars and Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd08e18cfee87a0e7fc19a684b36e124", "Atari - GCC, Kevin Osborn", "CX2689, CX2689P", "Kangaroo (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd0cbe5351551a538414fb9e37fc56e8", "Xonox - K-Tel Software - Product Guild, Anthony R. Henderson", "99006, 6220", "Sir Lancelot (1983) (Xonox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd0de0f61af2a2a4878e377b880a3933", "SOLID Corp. (D. Scott Williamson)", "CX2655-013", "Star Castle 2600 (SolidCorp) [013]", "http://starcastle2600.blogspot.com/p/star-castle-2600-story.html", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "dd10b5ee37fdbf909423f2998a1f3179", "", "", "Space Instigators (V1.9) (21-10-2002) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd13a16d14100819f79b1ce3a5bf499c", "Thomas Jentzsch", "", "Missile Control - Atari Mouse Hack v1.15 (PAL) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd1422ffd538e2e33b339ebeef4f259d", "Atari, Michael Sierchio", "", "Football Demo (1982) (Atari)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd17711a30ad60109c8beace0d4a76e8", "", "", "Karate (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd1842ba0f3f9d94dccb21eaa0f069b7", "Bit Corporation", "R320", "Defender (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd45e370aceff765f1e72c619efd4399", "Bit Corporation", "PG201", "Sea Monster (1982) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd4f4e0fbd81762533e39e6f5b55bb3a", "Thomas Jentzsch", "", "Turbo WIP (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd7598b8bcb81590428900f71b720efb", "Xonox - K-Tel Software - Computer Magic", "99005, 6220, 6250", "Robin Hood (1983) (Xonox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd7884b4f93cab423ac471aa1935e3df", "Atari, Brad Stewart - Sears", "CX2649, 49-75163", "Asteroids (1981) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "dd8a2124d4eda200df715c698a6ea887", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (3 of 3) (1982) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dd92d6ad50976f881d86b52d38616118", "SpkSoft", "", "River Raid (SpkSoft) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dda23757407c4e217f64962c87ad0c82", "Atari Freak 1", "", "Nitemare at Sunshine Bowl-a-Rama (Atari Freak 1) (Hack) [a]", "Hack of Pac-Man Jr.", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ddd1efc1862cd3eb3baf4cba81ff5050", "", "", "Max3 (2001) (Maxime Beauvais) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de0173ed6be9de6fd049803811e5f1a8", "Xonox - K-Tel Software - Product Guild, Anthony R. Henderson", "99008, 6240", "Motocross Racer (1983) (Xonox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de07e9cb43ad8d06a35f6506e22c62e9", "", "", "Oh No! (Version 4) (22-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de1a636d098349be11bbc2d090f4e9cf", "", "", "Pressure Gauge (Hozer Video Games)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de1e9fb700baf8d2e5ae242bffe2dbda", "Activision - Imagineering, Mike Reidel", "EAK-043-04I", "Commando (1988) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de24f700fd28d5b8381de13abd091db9", "CCE", "", "Plaque Attack (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de29e46dbea003c3c09c892d668b9413", "Coleco - Woodside Design Associates, Steve 'Jessica Stevens' Kitchen", "4L1717, 4L1718, 4L1719, 4L2277", "Carnival (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de3d0e37729d85afcb25a8d052a6e236", "Spectravision - Spectravideo", "SA-204", "Tapeworm (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "de4436eaa41e5d7b7609512632b90078", "Activision, David Crane", "AX-014, AX-014-04", "Grand Prix (1982) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de5aab22e5aba5edcb29a3e7491ff319", "Star Game", "001", "Donkey Kong (Star Game)", "AKA Inca Gold", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de61a0b171e909a5a4cfcf81d146dbcb", "Rainbow Vision - Suntek", "SS-005", "Tom Boy (1983) (Rainbow Vision) (PAL)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de62f8a30298e2325249fe112ecb5c10", "CCE", "C-810", "Enduro (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de78b3a064d374390ac0710f95edde92", "Bomb - Onbase", "CA281", "Assault (1983) (Bomb)", "AKA Sky Alien", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de7a64108074098ba333cc0c70eef18a", "", "", "Nuts (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "de7bca4e569ad9d3fd08ff1395e53d2d", "Thomas Jentzsch", "", "Thrust (V1.22) (2000) (TJ)", "Supports BoosterGrip", "New Release", "", "", "", "", "", "", "", "BOOSTERGRIP", "", "", "", "", "", "", "", "", "" }, + { "de8443ff47283e7b274a7838cb071fb6", "Atari, Lou Harp", "CX26122", "Sinistar (01-04-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dea0ade296f7093e71185e802b500db8", "CCE", "", "Fishing Derby (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "deb39482e77f984d4ce73be9fd8adabd", "Activision, David Lubar", "AK-048-04", "River Raid II (1988) (Activision) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ded26e1cb17f875a9c17515c900f9933", "", "", "Space Treat (29-12-2002) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "df12953b919844dad2070ed2e70c9fa2", "Amiga - Video Soft", "3135", "S.A.C. Alert (1983) (Amiga) (Prototype) (PAL)", "Uses Joyboard", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "df2745d585238780101df812d00b49f4", "Bit Corporation", "PG202", "Space Tunnel (1982) (BitCorp)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "df3e6a9b6927cf59b7afb626f6fd7eea", "", "", "Tuby Bird (208 in 1) (Unknown) (PAL)", "AKA Dolphin", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "df40af244a8d68b492bfba9e97dea4d6", "Franklin Cruz", "", "Asteroids 2 (Franlin Cruz) (Hack)", "Hack of Asteroids", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "df5cc5cccdc140eb7107f5b8adfacda1", "Cracker Jack Productions", "", "Lumberman (Cracker Jack) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "df62a658496ac98a3aa4a6ee5719c251", "Atari, Tom Reuterdahl - Sears", "CX2626 - 6-99829, 49-75116", "Miniature Golf (1979) (Atari)", "AKA Arcade Golf", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "df6a28a89600affe36d94394ef597214", "Apollo - Games by Apollo, Dan Oliver", "AP-2002", "Space Cavern (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "df6a46714960a3e39b57b3c3983801b5", "Puzzy - Bit Corporation", "PG201", "Sea Monster (1982) (Puzzy) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "df753cb87d3af4d03f694ab848638108", "CBS Electronics, Bob Curtiss", "4L1845, 4L1852, 4L1853, 4L1854", "Solar Fox (1983) (CBS Electronics) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "df91277a3569344b89e6e8bd5bebc8d1", "Thomas Jentzsch", "", "Marble Craze - Amiga Mouse Hack v1.0 (PAL) (TJ)", "Uses Amiga Mouse Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "df95e4af466c809619299f49ece92365", "Atari - CCW, Michael Callahan, Preston Stuart", "CX26103", "Alpha Beam with Ernie (06-03-1983) (Atari) (Prototype) (PAL)", "Uses Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dfad86dd85a11c80259f3ddb6151f48f", "HES - Imagineering, David Lubar", "535", "My Golf (1990) (HES) (PAL) [fixed]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dfafa3fa58f5cc3f0342cca475df6095", "", "", "Space Treat (V1.1 Beta) (24-12-2002) (Fabrizio Zavagli)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dfc03ef371cf5163f54c50d8ee73c8cf", "Atari, Gary Palmer", "CX2661", "Fun with Numbers (1980) (Atari) (4K)", "AKA Basic Math", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dfc3dbbb39f05d7dd8ee3ac987478970", "", "", "Imagic Selector ROM (1982) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dfcdd6f593bb7b05dbc2e8e1fc6ee0de", "", "", "Gunfight 2600 - Scenarios complete (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dfe034297200dff672df9533ed1449a9", "", "", "Sprite Movement Demo 1 (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dfe6aa7443bb813cefa35a4cf4887422", "", "", "This Planet Sucks (Greg Troutman) [a1]", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "dff33523ccd2fdc8912e84cab8e0d982", "", "", "Fu Kung! (V0.03) (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e01e00504e6d4b88fa743c0bbe8a96e5", "", "", "Qb (Special Edition, some bugfixes) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e020f612255e266a8a6a9795a4df0c0f", "Telegames - VSS", "7062 A305", "Universal Chaos (1988) (Telegames) (PAL)", "AKA Targ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e02156294393818ff872d4314fc2f38e", "Sancho - Tang's Electronic Co.", "TEC005", "Dice Puzzle (1983) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e0221c95aa657f5764eeeb64c8429258", "", "", "Tomb Raider 2600 [REV 02] (Montezuma's Revenge Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e03b0b091bea5bc9d3f14ee0221e714d", "CBS Electronics, Bob Curtiss", "4L1852, 4L1853, 4L1854, 4L1855", "Solar Fox (1983) (CBS Electronics) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e040df95a055b18ebdb094e904cb71b2", "", "", "Score Demo (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e04f1c1e4401d584d3f4343410a5bcc4", "Wizard Video Games - MicroGraphic Image, Robert Barber, Tim Martin", "007", "Halloween (1983) (Wizard Video Games) (Prototype) [a]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e0b24c3f40a46cda52e29835ab7ad660", "Quelle - Otto Versand", "626.502 9 - 746381", "Top Gun (1983) (Quelle) (PAL)", "AKA Air Raiders", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e0cf2dcc4c1348c468f5bb1e421c9164", "", "", "Invader Sprites in a Line Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e0de3773f5b867795db557be7b8a703e", "", "", "Boulderdash (13 Blocks Wide) (02-04-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e0eff071f578ecf19edc2ab276644e46", "", "", "Gas Gauge Demo (2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e1029676edb3d35b76ca943da7434da8", "Atari, Robert C. Polaro, Alan J. Murphy - Sears", "CX2609 - 49-75186", "Defender (10-30-1981) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e10bf1af6bf3b4a253c5bef6577fe923", "Rob Kudla", "", "Space Invaders (1978) (Atari) [h1]", "Hack of Space Invaders (Atari)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e10d2c785aadb42c06390fae0d92f282", "Parker Brothers, Dawn Stockbridge", "PB5910", "Strawberry Shortcake - Musical Match-Ups (1983) (Parker Bros)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e1143b72a30d4d3fee385eec38b4aa4d", "", "", "Word Zapper (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e12e32dee68201b6765fcd0ed54d6646", "Atari, Larry Kaplan", "CX2612, CX2612P", "Street Racer (1977) (Atari) (PAL)", "Uses the Paddle Controllers (swapped)", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "AUTO 75", "", "", "", "" }, + { "e13818a5c0cb2f84dd84368070e9f099", "CCE", "C-839", "Misterious Thief, A (1983) (CCE)", "AKA A Mysterious Thief", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e13c7627b2e136b9c449d9e8925b4547", "Atari, Alan Miller - Sears", "CX2624 - 6-99826, 49-75113", "Basketball (1978) (Atari) (4K)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e1486c7822c07117b4f94a32e5ed68c1", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (06-14-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e14dc36b24fe22c04fa076e298f2e15f", "Activision, Larry Kaplan, David Crane", "AG-010, AG-010-04", "Kaboom! (1981) (Activision) (16K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "e14feddeb82f5160ed5cf9ca4078e58d", "", "", "SpaceMaster X-7 (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e150f0d14f013a104b032305c0ce23ef", "Spectravision - Spectravideo", "SA-205", "China Syndrome (1982) (Spectravision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e15b5525cf8f77297b322838df8d999c", "", "", "Sprite Demo 0 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e171558c51bb3bac97bfa79fa2c1a19c", "", "", "Warring Worms (Tim Strauss Edition) (20-12-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e17699a54c90f3a56ae4820f779f72c4", "Rainbow Vision - Suntek", "SS-020", "Tuby Bird (1983) (Rainbow Vision) (PAL)", "AKA Dolphin", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e18abe87035379c56b435bfe8175077b", "Grimlock", "", "Rumble 2600 (Grimlock) (Hack)", "Hack of Mario Bros.", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e1a51690792838c5c687da80cd764d78", "20th Century Fox, John Russell", "", "Alligator People (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e1b90f1e01b1a316d7bbf141525cc00e", "", "", "Sky Jinks (Unknown) (PAL) (4K) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e1d5c8213e82820128fa9c4775f1e166", "Jess Ragan", "", "Jungle King (2003) (Jess Ragan) (Hack)", "Hack of Jungle Hunt", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e1d79e4e7c150f3861256c541ec715a1", "", "", "Space Jockey (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e1e09e2f280e8e142121a377d0dc1b46", "Thomas Jentzsch", "", "Thrust (V1.21) (2000) (TJ)", "Bugfixed", "New Release", "", "", "", "", "", "", "", "BOOSTERGRIP", "", "", "", "", "", "", "", "", "" }, + { "e1efe2ef7664bb6758b1a22ff8ea16a1", "Dynacom", "", "Enduro (1983) (Dynacom)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e1f88da6da8a7d521ca1dcbf2bc6978b", "Activision, Bob Whitehead - Ariola", "EAG-005, PAG-005, EAG-005-04B - 711 005-715", "Skiing (1980) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e21ee3541ebd2c23e817ffb449939c37", "Tigervision - Software Electronics Corp., Karl T. Olinger - Teldec", "7-001", "King Kong (1982) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e227be19f572f6900e314213ae9a4deb", "Atari, Dan Hitchens, Mimi Nyden", "CX2656", "SwordQuest - EarthWorld (1982) (Atari) (Prototype)", "AKA Adventure I, SwordQuest I - EarthWorld", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e237ee91514d5ed535c95a14fc608c11", "Activision, Matthew L. Hubbard, Bob Whitehead", "AX-024", "Dolphin (1983) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e2389c0be5b5b84e0d3ca36ec7e67514", "Retroactive", "", "Qb (V2.09) (NTSC) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e24d7d879281ffec0641e9c3f52e505a", "Parker Brothers, Mark Lesser", "PB5950", "Lord of the Rings (1983) (Parker Bros) (Prototype)", "Journey to Rivendell (The Lord of the Rings I)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e25e173740f7ecc0e23025445c4591f3", "Greg Zumwalt", "", "Comitoid (Greg Zumwalt)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e275cbe7d4e11e62c3bfcfb38fca3d49", "M Network - INTV - APh Technological Consulting, Ken Smith", "MT5658", "Super Challenge Football (1982) (M Network)", "AKA Pro Football", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e27d518993b0a010f16e92b971ecdcdd", "Manuel Polik", "", "Star Fire (2003) (XYPE) (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e28113d10c0c14cc3b5f430b0d142fcb", "CCE", "C-816", "Keystone Kappers (1983) (CCE) [a]", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e2846af3e4d172b251ab77cbdd01761e", "Steve Engelhardt", "", "Adventure Plus (2003) (Steve Engelhardt) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e2904748da63dfefc8816652b924b642", "Jone Yuan Telephonic Enterprise Co", "", "Catch Time (Jone Yuan)", "AKA Plaque Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e2b682f6e6d76b35c180c7d847e93b4f", "", "", "Dodge Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e2c1b60eaa8eda131632d73e4e0c146b", "Atari - GCC, Mark Ackerman, Noellie Alito", "CX2692", "Moon Patrol (07-04-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e2c89f270f72cd256ed667507fa038a2", "Starpath Corporation, Stephen H. Landrum", "AR-4101", "Communist Mutants from Space (1982) (Arcadia) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e2ca84a2bb63d1a210ebb659929747a9", "Telesys, Don 'Donyo' Ruffcorn", "1002", "Cosmic Creeps (1982) (Telesys) (PAL)", "AKA Space Maze, Spaze Maze", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e2eccbbe963f80f291cb1f18803bf557", "Atari, Joe Decuir, Steve Mayer, Larry Wagner", "CX26163P", "Combat (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e30f3a37032da52d7815b5a409f6d4b4", "SEGA, Fred Mack", "", "Bear Game Demo (1983) (SEGA)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e314b42761cd13c03def744b4afc7b1b", "Activision, David Crane, Dan Kitchen", "AZ-108-04", "Ghostbusters (1985) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e34c236630c945089fcdef088c4b6e06", "Activision, Steve Cartwright, David Crane - Ariola", "EAB-035-04 - 711 035-721", "Pitfall II (1984) (Activision) (PAL)", "Lost Caverns", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e3533684a7ef930a7fbd0c4dd8ec4847", "CCE", "C-856", "Pimball (1983) (CCE)", "AKA Video Pinball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e3600be9eb98146adafdc12d91323d0f", "Atari, Carol Shaw", "CX2618, CX2618P", "3-D Tic-Tac-Toe (1980) (Atari) (PAL)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e363e467f605537f3777ad33e74e113a", "Atari, Bob Whitehead - Sears", "CX2603 - 99803, 49-75601", "Star Ship (1977) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e377c3af4f54a51b85efe37d4b7029e6", "20th Century Fox Video Games, Beck-Tech, Steve Beck", "11035", "Save the Whales (1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e37c8055d70979af354251ebe9f1b7dd", "HES", "", "Mega Funpak - Gorf, P. Patrol, Pacman, Skeet Shoot (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e38dc1f81a02e325562cd285123f579b", "Atari - GCC, Mike Feinstein", "CX2681, CX2681P", "Battlezone (1983) (Atari) (PAL) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e39843c56b7a4a08b18fa7949ec3ee6b", "", "", "Joshua Invaders (Hack)", "Hack of Space Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e39a13b13dc82c5fdbfbbfd55ba1230e", "", "", "Analog Clock (Additional Frame Info) (V0.0) (20-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e3c0451d29dad724231bc5818ec4bae0", "", "", "Single-Scanline Positioning Demo 1 (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e3c35eac234537396a865d23bafb1c84", "TechnoVision - Video Technology", "TVS1001", "Nuts (1983) (TechnoVision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e3ed4ba3361756970f076e46e9cad1d2", "", "", "Tennis (Unknown) (PAL) (4K) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e40a818dac4dd851f3b4aafbe2f1e0c1", "Atari, Bill Aspromonte, Dr. Lee Salk", "CX26135", "Peek-A-Boo (1984) (Atari) (Prototype)", "Uses the Keypad Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e42b937c30c617241ca9e01e4510c3f6", "", "", "Pitfall! (No Walls Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e434c0e161dd3c3fb435eb6bad2e182c", "Atari - GCC, Mike Feinstein, Brad Rice", "CX2681", "Battlezone (05-02-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e48d3a4056ede9393586421996db1ae8", "Thomas Jentzsch", "", "Centipede - Atari Trak-Ball Hack v1.4 (PAL60) (Full-Speed) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e49ac0ec879a0d7820bc2598fc2cfcd4", "CCE", "", "Kaboom! (CCE) (4K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "e4a0b28befaaa2915df1fa01238b1e29", "", "", "Gunfight 2600 - Red River (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e4afe157c09962cf39cdb25845d83d47", "Activision, David Crane - Ariola", "EAG-009, PAG-009 - 711 009-720", "Freeway (1981) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e4b12deaafd1dbf5ac31afe4b8e9c233", "Adam Thornton", "", "Lord of the Rings (Adam Thornton) (Hack) [a]", "Hack of Dark Mage", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e4bff1d5df70163c0428a1ead309c22d", "Atari, Robert C. Polaro, Alan J. Murphy", "CX2609, CX2609P", "Defender (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e4c00beb17fdc5881757855f2838c816", "20th Century Fox Video Games - Sirius, Ed Hodapp", "11004", "Deadly Duck (1982) (20th Century Fox)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e4c2077a18e3c27f4819aa7757903aa0", "", "", "Many Blue Bars Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e4c666ca0c36928b95b13d33474dbb44", "Arcadia Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (1982) (Arcadia)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e4d41f2d59a56a9d917038682b8e0b8c", "Cody Pittman", "", "Kiss Meets Pacman (Cody Pittman) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e4e9125a8741977583776729359614e1", "SnailSoft", "", "Comitoid beta 4 (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e505bd8e59e31aaed20718d47b15c61b", "Funvision - Fund. Int'l Co.", "", "Space War (1982) (Funvision) (PAL)", "AKA Condor Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e51030251e440cffaab1ac63438b44ae", "Parker Brothers - On-Time Software, Joe Gaucher, Louis Marbel", "PB5110", "James Bond 007 (1984) (Parker Bros)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e51c23389e43ab328ccfb05be7d451da", "Arcadia Corporation, Scott Nelson", "13", "Sweat! - The Decathlon Game (1983) (Arcadia) (Prototype)", "Uses the Paddle Controllers (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e5359cbbbff9c6d7fe8aeff5fb471b46", "CCE", "C-849", "Boom Bang (1983) (CCE)", "AKA Crackpots", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e549f1178e038fa88dc6d657dc441146", "Atari, Bob Whitehead - Sears", "CX2625 - 6-99827, 49-75114", "Football (1979) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e556e07cc06c803f2955986f53ef63ed", "Coleco - Individeo, Ed Temple", "2665", "Front Line (1984) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e558be88eef569f33716e8e330d2f5bc", "Shock Vision", "", "Keystone Kapers (Shock Vision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e56da674188ba2f02c7a0a343a01236f", "", "", "This Planet Sucks Demo 4 (Greg Troutman) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e59d022d524d05acc19515598c831e4d", "Alessandro Ciceri", "", "MagiCard+ (alex_79) WIP_20150118 (PAL)", "MagiCard hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e5a6e0bb7d56e2f08b237e15076e5699", "", "", "Color Table Display Helper (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e5bacf526036d3c8c99db5b030cf00e7", "", "", "Starmaster (Genesis)", "Genesis controller (C switches to map mode)", "Hack of Starmaster", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e5d5085123a98c1e61818caa2971e999", "", "", "Euchre (PAL) (Erik Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e5d72ff8bab4450be57785cc9e83f3c0", "Telegames", "6082 A145", "Kung Fu Superkicks (1988) (Telegames) (PAL)", "AKA Chuck Norris Superkicks", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e5ecd78edd24326a968809decbc7b916", "Imagic, Bob Smith", "720020-1A, IA3611", "Cheese (Dragonfire Beta) (05-21-1982) (Imagic) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e5f17b3e62a21d0df1ca9aee1aa8c7c5", "CommaVid, John Bronstein", "CM-003", "Cosmic Swarm (1982) (CommaVid)", "AKA Termite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e5f360226dc552aba3e7e9b202330f48", "Supercat", "", "Mega Bitmap Demo (2007) (Supercat)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e5f84930aa468db33c0d0f7b26dd8293", "CCE", "C-826", "Grand Prix (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e5fcc62e1d73706be7b895e887e90f84", "", "", "Air-Sea Battle (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e600f5e98a20fafa47676198efe6834d", "Parker Brothers - Roklan, Joe Gaucher", "PB5080", "Gyruss (1984) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e609e8a007127b8fcff79ffc380da6b1", "", "", "Multi-Sprite Game V2.3 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e61210293b14c9c4ecc91705072c6a7e", "Gameworld", "133-005", "Bugs (1983) (Gameworld) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 50", "", "", "", "" }, + { "e62e60a3e6cb5563f72982fcd83de25a", "Jone Yuan Telephonic Enterprise Co", "", "End of the World (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e63a87c231ee9a506f9599aa4ef7dfb9", "Tigervision, Warren Schwader", "7-003", "Threshold (1982) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e63efdfda9a4003dcd77a854a781a06a", "Paul Slocum", "", "Combat Rock (PD) (Hack) [a]", "Hack of Combat", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e643aaec9a9e1c8ab7fe1eae90bc77d7", "Roger Williams", "", "Asymmetric Playfield (Roger Williams)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e64a8008812327853877a37befeb6465", "Answer Software Corporation - TY Associates, Mike Wentz", "ASC1002", "Gauntlet (1983) (Answer Software)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e6508b878145187b87b9cded097293e7", "", "", "Oystron (V2.8) (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e66e5af5dea661d58420088368e4ef0d", "Activision, Bob Whitehead", "AG-011", "Stampede (1981) (Activision) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e67b0ed32fd9d28d12ab3775d52e8c3a", "Atari, Omegamatrix", "", "Video Olympics Menu (2020) (Hack)", "Hack of Video Olympics", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "AUTO 60", "", "", "", "" }, + { "e6d5948f451a24994dfaaca51dfdb4e1", "Jone Yuan Telephonic Enterprise Co", "", "Football (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e6de4ef9ab62e2196962aa6b0dedac59", "Imagic, Wilfredo Aguilar, Michael Becker, Dennis Koble", "720113-2A, 13206", "Solar Storm (1983) (Imagic) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, + { "e6e5bb0e4f4350da573023256268313d", "Thomas Jentzsch", "", "Missile Control (Thomas Jentzsch)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e6f49a1053c79211f82be4d90dc9fe3d", "", "", "Gunfight 2600 - Little progress... (2001) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e723ad8f406cb258b89681ef4cef0eff", "Thomas Jentzsch", "", "Sadoom (TJ) (PAL) (Hack)", "Hack of Kaboom!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "e72eb8d4410152bdcb69e7fba327b420", "Atari, Douglas Neubauer, Mimi Nyden", "CX26136", "Solaris (1986) (Atari)", "AKA Universe, Star Raiders II, The Last Starfighter", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e72ee2d6e501f07ec5e8a0efbe520bee", "Imagic, Dave Johnson", "720119-2A, 13211, EIX-004-04I", "Quick Step! (1983) (Imagic) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e73838c43040bcbc83e4204a3e72eef4", "CCE", "", "Apples and Dolls (CCE)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e74022cfe31ec8908844718dfbdedf7a", "", "", "Space Treat (30-12-2002) (Fabrizio Zavagli) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e77ec259e1387bc308b0534647a89198", "Parker Brothers, David Lamkins, Laura Nikolich", "931503", "Spider-Man (1982) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e77f332b71f13884c84771e7a121182d", "Jone Yuan Telephonic Enterprise Co", "", "Hey! Stop! (Jone Yuan)", "AKA Keystone Kapers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e784a9d26707cfcd170a4c1c60422a72", "Quelle", "147.443 6", "Gefecht im All (1983) (Quelle) (PAL)", "AKA Space Jockey", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e7864caaf9ec49ed67b1904ce8602690", "", "", "Donkey Kong 2K3 Pic (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e7a758bb0b43d0f7004e92b9abf4bc83", "", "", "Troll's Adventure (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e7dd8c2e6c100044002c1086d02b366e", "Activision, Steve Cartwright - Ariola", "EAX-013, PAX-013, 711 013-720", "Barnstorming (1982) (Activision) (PAL)", "AKA Die tollkeuhnen Flieger", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e7f005ddb6902c648de098511f6ae2e5", "Spectravideo - Universum", "SV-010", "CompuMate (1983) (Spectravideo) (PAL)", "", "", "", "", "CM", "", "", "", "", "COMPUMATE", "COMPUMATE", "", "", "", "", "", "", "YES", "80" }, + { "e800e4aec7c6c54c9cf3db0d1d030058", "", "", "Qb (2.06) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e80a4026d29777c3c7993fbfaee8920f", "", "", "Frisco (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e823b13751e4388f1f2a375d3560a8d7", "Arcadia Corporation, Stephen Harland Landrum", "AR-4105", "Official Frogger (Preview) (1983) (Arcadia) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e879b7093ac4cfad74c88d636ca97d00", "", "", "Poker Squares (V0.0f) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e88340f5bd2f03e2e9ce5ecfa9c644f5", "", "", "Lock 'n' Chase (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e8a3473bf786cf796d1336d2d03a0008", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (12-05-1983) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e8aa36e3d49e9bfa654c25dcc19c74e6", "Atari, Joe Decuir, Larry Caplan, Steve Mayer, Larry Wagner", "CX2601, CX2601P", "Combat (1977) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e8e7b9bdf4bf04930c2bcaa0278ee637", "", "", "Boring Taz (Hack)", "Hack of Taz", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e8f7679359c4f532f5d5e93af7d8a985", "", "", "Hangman Invader Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e9034b41741dcee64ab6605aba9de455", "Digivision", "", "Phanton Tank (Digivision)", "AKA Phantom Tank", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e908611d99890733be31733a979c62d8", "Atari, Dan Hitchens, Mimi Nyden", "CX2697", "Mario Bros. (1983) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e91d2ecf8803ae52b55bbf105af04d4b", "Atari, Howard Scott Warshaw", "CX2655, CX2655P", "Yars' Revenge (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e923001015bedd7901569f035d9c592c", "", "", "Adventure II (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e927ecf80f3784d745abd8368d78f2f3", "", "", "Space Instigators (V1.8) (19-10-2002) (CT) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e932f44fad2a66b6d5faec9addec208e", "", "", "Atari Logo Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e94632b0d863dd76459d689a9865bb33", "Jone Yuan Telephonic Enterprise Co", "", "Combat (Jone Yuan) (4K)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e957eb4612d6bd5940d3492dfa749668", "", "", "Tunnel Demo (27-03-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e959b5a2c882ccaacb43c32790957c2d", "", "", "Phantom II & Pirate (NTSC)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e97eafd0635651d3999cece953c06bd5", "", "", "M.A.S.H (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e9be3e8e4a7e73dd63ed4235a3a1a25f", "", "", "MMetall (Hack)", "Hack of Miniature Golf", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e9c5d04643855949a23ff29349af74ea", "", "", "SCSIcide (Score Hack 2) (24-02-2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e9c71f8cdba6037521c9a3c70819d171", "Action Hi Tech - Hi-Score", "", "Bank Heist (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e9cb18770a41a16de63b124c1e8bd493", "Parker Brothers - Roklan, Joe Gaucher", "931519", "Popeye (1983) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "e9db2f91efe6ff7ea3546e2c2578fb09", "Omegamatrix", "", "Millipede (Atari Mouse) v6.5 (Omegamatrix)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "" }, + { "e9e646f730b8400cd5da08c849ef3e3b", "Tron", "", "Enduro (Tron)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e9e6ad30549a6e2cd89fe93b7691d447", "Atari - Bobco, Robert C. Polaro", "CX26140, CX26140P", "Desert Falcon (05-27-1987) (Atari) (Prototype) (PAL)", "AKA Nile Flyer, Sphinx", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "e9f25c7af4f27c9e1b5b8f6fe6141e8c", "Champ Games", "CG-03-N", "Scramble (NTSC)", "Compatible with Genesis controller", "Homebrew", "", "", "", "", "", "", "", "JOYSTICK", "", "", "", "", "", "", "", "YES", "" }, + { "ea38fcfc06ad87a0aed1a3d1588744e4", "Atari, Lou Harp", "CX26122", "Sinistar (01-XX-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ea6d40db5498d6386571a76df448aa4c", "", "", "Vertical Playfield Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ea7e25ade3fe68f5b786ee0aa82b1fe5", "", "", "Galatic (208 in 1) (Unknown) (PAL)", "AKA Challenge of.... Nexar, The", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ea832e2cb6aae6f525f07452c381fa48", "", "", "Polar to Cartesian and VV (2001) (Roger Williams)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ea86176b27ab0da8cce8f0179884bfaa", "", "", "Demo Image Series #10 - It's Art (28-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eaacfcdc1d4ee1258429b7ae7f084125", "Telegames", "6057 A227", "Quest for Quintana Roo (1989) (Telegames)", "Genesis controller (B is action button, C chooses tool or weapon)", "Hack of Quest for Quintana Roo", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ead60451c28635b55ca8fea198444e16", "Sancho - Tang's Electronic Co.", "TEC004", "Nightmare (1983) (Sancho) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eada0dd61ce13f8317de774dc1e68604", "", "", "2600 Digital Clock (Demo 1) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eae0c06ee61c63b81cd016096fc901b0", "Joe Grand", "", "SCSIcide (v1.0) (2001) (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eae6a5510055341d3abeb45667bb3e9b", "HES", "", "Wall Defender (HES) (PAL)", "AKA Wall Break (Planet Patrol if right difficulty = 'A')", "", "", "0", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eaf744185d5e8def899950ba7c6e7bb5", "Atari", "CX26172", "Xenophobe (1991) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eafe8b40313a65792e88ff9f2fe2655c", "Eric Ball", "ELB004", "Skeleton+ (NTSC)", "Stereo sound", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb3d680699f8762f71f38e28e321234d", "", "", "Fu Kung! (V0.01) (08-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb4252faff7a4f2ba5284a98b8f78d1a", "", "", "John K Harvey's Equalizer (NTSC) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "eb46e99ec15858f8cd8c91cef384ce09", "Goliath - Hot Shot", "83-113", "Ground Zero (1983) (Goliath) (PAL)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb503cc64c3560cd78b7051188b7ba56", "Star Game", "043", "Moto Laser (Star Game)", "AKA Mega Force", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb634650c3912132092b7aee540bbce3", "Atari, Eric Manghise, Mimi Nyden, Joseph Tung", "CX2640", "RealSports Baseball (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "eb6d6e22a16f30687ade526d7a6f05c5", "Atari", "CX26150P", "Q-bert (1987) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb71743c6c7ccce5b108fad70a326ad9", "", "", "Euchre (25-11-2001) (Erik Eid) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb7934360658a29c50aeaff20bfda23b", "Activision, John Van Ryzin", "EAZ-036-04", "H.E.R.O. (1984) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eb92193f06b645df0b2a15d077ce435f", "Starpath Corporation, Steve Hales, Stephen H. Landrum", "4 AR-4102", "Suicide Mission (1982) (Starpath) (PAL)", "AKA Meteoroids", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "eb9712e423b57f0b07ccd315bb9abf61", "Retroactive", "", "Qb (V2.04) (PAL) (2001) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "eb9f8b84c193d9d93a58fca112aa39ed", "", "", "Register Twiddler Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ebcb084a91d41865b2c1915779001ca7", "JVP", "", "Bob Is Going Home (JVP)", "AKA Bobby Is Going Home", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ebcbc8a181a738e13df6216e5c329230", "Activision, Steve Cartwright", "AX-022", "Seaquest (1983) (Activision) (16K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ebd2488dcace40474c1a78fa53ebfadf", "Skill Screen Games, Herman Quast", "SSG001", "Extra Terrestrials (1984) (SSG)", "The only Canadian-designed and manufactured Atari 2600 game from the 1980's", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ebdc5716b85c4ff44fa357cb697d6cef", "Thomas Jentzsch", "", "Centipede - Amiga Mouse Hack v1.4 (NTSC) (Half-Speed) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ebf2dff78a08733251bf3838f02f7938", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype) [a2]", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ebf9038e927e6a0db3e0d170c59911e6", "", "", "Pac-2600 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ec3beb6d8b5689e867bafb5d5f507491", "U.S. Games Corporation - Vidtec - JWDA, Todd Marshall, Henry Will IV", "VC1003", "Word Zapper (1982) (U.S. Games)", "AKA Word Grabber", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ec407a206b718a0a9f69b03e920a0185", "Quelle", "876.482 1", "Landung in der Normandie (1983) (Quelle) (PAL)", "AKA Commando Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ec5c861b487a5075876ab01155e74c6c", "Apollo - Games by Apollo, Ed Salvo, Byron Parks", "AP-2001", "Spacechase (1982) (Apollo)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ece463abde92e8b89bcd867ec71751b8", "Puzzy - Bit Corporation", "PG205", "Dancing Plate (1982) (Puzzy) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ece908d77ab944f7bac84322b9973549", "", "", "Tom Boy (Unknown) (PAL60)", "AKA Pitfall!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ecf51385384b468834611d44a8429c03", "20th Century Fox Video Games, Douglas 'Dallas North' Neubauer", "11105", "Mega Force (1982) (20th Century Fox) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ecfa04523dde82fe42cdc7315a8f61b6", "Activision, David Crane - Ariola", "EAG-004, PAG-004 - 711 004-715", "Fishing Derby (1980) (Activision) (PAL) (4K)", "AKA Schneller als der Hai", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed014beeeb77dbb2bbcf9b5f6850b2f4", "", "", "Green Bar Text Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed0451010d022b96a464febcba70b9c4", "PlayAround - J.H.M.", "203", "Knight on the Town (1982) (PlayAround) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ed0ab909cf7b30aff6fc28c3a4660b8e", "Panda", "105", "Stunt Man (1983) (Panda)", "AKA Nightmare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed1306436ce237afc5a7ed3f77134202", "HES", "771-341", "2 Pak Special - Dolphin, Pigs n' Wolf (1990) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed1492d4cafd7ebf064f0c933249f5b0", "CCE", "", "Video Cube (CCE)", "AKA Atari Video Cube", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed1a784875538c7871d035b7a98c2433", "Bit Corporation", "R320", "Save Our Ship (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed2218b3075d15eaa34e3356025ccca3", "Atari, Richard Maurer", "CX2635, CX2635P", "Maze Craze (1980) (Atari) (PAL)", "AKA A Game of Cops 'n Robbers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed5ccfc93ad4561075436ee42a15438a", "Atari, Tom Reuterdahl", "CX2626, CX2626P", "Miniature Golf (1979) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ed8f319e82d355832195eb7715644795", "Activision, Larry Kaplan, David Crane", "AG-010, AG-010-04", "Kaboom! (1981) (Activision) (8K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "eddef10fdc0029301064115ae0cd41d4", "CCE", "", "Freeway (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ede4ab11ca346bd023b2c21d941e0c50", "Activision, David Crane", "EAZ-030", "Decathlon (1983) (Activision) (SECAM)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ede7e8bf865b0afb4744f86d13624f9a", "", "", "Demo Image Series #2 - Clown (19-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "edf69b123e06eaf8663cc78d8aeba06e", "SpkSoft 98", "", "River Raid (SpkSoft 98) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee28424af389a7f3672182009472500c", "Atari, Carol Shaw - Ralph Lauren", "", "Polo (1978) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee456542b93fa8d7e6a8c689b5a0413c", "", "", "Chronocolor Donkey Kong Clean (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee4c186123d31a279ed7a84d3578df23", "Atari, Carol Shaw, Nick 'Sandy Maiwald' Turner", "CX2608", "Super Breakout (1982 - 1981) (Atari) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 45", "", "", "", "" }, + { "ee659ae50e9df886ac4f8d7ad10d046a", "Exus Corporation", "", "Video Reflex (1983) (Exus)", "AKA Foot Craz", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee6665683ebdb539e89ba620981cb0f6", "Coleco", "2658", "Berenstain Bears (1983) (Coleco)", "Uses the KidVid Controller", "Unbelievably Rare", "", "", "", "A", "", "", "", "", "KIDVID", "", "", "", "", "", "", "", "" }, + { "ee67dc0b01746372d2b983d88f48e24f", "", "", "Scroller Demo (02-01-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee681f566aad6c07c61bbbfc66d74a27", "Activision", "", "Unknown Activision Game (10-29-1982) (Activision) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee6cbedf6c0aac90faa0a8dbc093ffbe", "CCE", "", "My Golf (CCE) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee8027d554d14c8d0b86f94737d2fdcc", "Canal 3 - Intellivision", "", "Yars' Revenge (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "ee84bdc5dae268e227e407c7b5e6b6b7", "", "", "Marilyn Monroe Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ee9caee4eb958284fb10c277b14537f1", "Carrere Video, Garry Kitchen - Teldec", "USC1001", "Space Jockey (1983) (Carrere Video) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eea0da9b987d661264cce69a7c13c3bd", "Coleco", "2454", "Zaxxon (1983) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eeb92f3f46df841487d1504f2896d61a", "Cody Pittman", "", "Corys Adventure (Cody Pittman) (Hack)", "Hack of Pac-Man", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eec61cc4250df70939d48fe02d7122ac", "Activision, Bob Whitehead - Ariola", "EAG-005, PAG-005, EAG-005-04B - 711 005-715", "Skiing (1980) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eed9eaf1a0b6a2b9bc4c8032cb43e3fb", "Atari - Axlon, Steve DeFrisco", "CX26192", "Klax (1991) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "eee7695ae3eea7818321df0b790b31f3", "", "", "Sound Paddle V2 (Dennis Caswell & Jim Nitchals) (PD)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "01", "", "", "", "" }, + { "ef263d40a23483ab339cac44d9515a56", "Thomas Jentzsch", "", "Fatal Run (TJ)", "NTSC Conversion", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ef3a4f64b6494ba770862768caf04b86", "Activision, Bob Whitehead", "AG-034-04", "Private Eye (1984) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ef60b06fddb675b0d783afbfa5fc5232", "", "", "Many Blue Bars and Text Demo 4 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ef66af190840871409fe1702d2483554", "Andrew Davie, Paul Slocum, Christopher Tumber", "", "DiscoTech (12-02-2003) (Andrew Davie)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ef71e9fb0d8d477226d8d42261fbf0a7", "Piero Cavina", "", "Multi-Sprite Demo V2.0 (Piero Cavina) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ef76ea05655a0b62cb1018c92b9b4b7d", "Gakken", "010", "Strategy X (1983) (Gakken) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "efa1098c7d091b940c2543abe372f036", "Scott Stilphen", "", "E.T. The Extra-Terrestrial (Scott Stilphen) (Hack)", "Hack of E.T. The Extra-Terrestrial", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "efb47d70b2965ce689e2c5757616b286", "", "", "Time Test Demo (Eckhard Stolberg) (PAL) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "efd387430a35a659ff569a9a0ec22209", "Atari - GCC", "CX26118", "Millipede (1984) (Atari) (Prototype) (PAL)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "efefc02bbc5258815457f7a5b8d8750a", "CBS Electronics, Richard K. Balaska Jr.", "4L 2520 5000", "Tunnel Runner (1983) (CBS Electronics) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "effa3a7ce078c6d83bf43174a7bfdb1f", "Thomas Jentzsch", "", "Centipede - Atari Mouse Hack v1.4 (NTSC) (Half-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "efffafc17b7cb01b9ca35324aa767364", "", "", "Circus Atari (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f02ba8b5292bf3017d10553c9b7b2861", "Atari", "CX26172", "Xenophobe (1991) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f032b2f2d8323404a6b4541f92dd1825", "", "", "Many Blue Bars and Text Demo 3 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f047df70d3d08e331122cd2de61d6af8", "Dave Neuman", "", "Space Battle (NTSC)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f04ee80011d95798006378643650aaa7", "Atari, Bill Aspromonte, John Russell, Michael Sierchio, Robert Zdybel", "CX26114", "Pigs in Space (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0510abbfbe24ead552e92e3841f63f3", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (NTSC) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0536303f49006806bac3aec15738336", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (4 of 4) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0541d2f7cda5ec7bab6d62b6128b823", "Atari, Paul Donaldson", "", "Bionic Breakthrough (1984) (Atari) (Prototype)", "Uses Mindlink Controller (left only)", "Prototype", "", "", "", "", "", "", "", "MINDLINK", "", "", "", "", "", "", "", "", "" }, + { "f060826626aac9e0d8cda0282f4b7fc3", "Atari, David Crane - Sears", "CX2605 - 6-99822, 49-75109", "Outlaw (1978) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0631c6675033428238408885d7e4fde", "Paul Slocum", "", "Test Cart (2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f066bea7ab0a37b83c83c924a87c5b67", "", "", "Air Raiders (1982) (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0a6e99f5875891246c3dbecbf2d2cea", "Atari, James Andreasen - Sears", "CX2654 - 49-75141", "Haunted House (1982) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0b7db930ca0e548c41a97160b9f6275", "Atari, Larry Wagner, Bob Whitehead - Sears", "CX2645 - 49-75181", "Video Chess (1979) (Atari)", "AKA Computer Chess", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0cacae1d1b79ee92f0dc035f42e0560", "", "", "Boring Donkey Kong (Hack)", "Hack of Donkey Kong", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0d393dbf4164a688b2346770c9bbd12", "", "", "Racquetball (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f0daaa966199ef2b49403e9a29d12c50", "", "", "Mr. Postman (Unknown)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0de4f49e95d529569e8788d5a7b4d30", "Thomas Jentzsch", "", "Reactor - Atari Mouse Hack v1.3 (PAL60) (Full-Speed) (TJ)", "Uses Atari Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0e0addc07971561ab80d9abe1b8d333", "Imagic, Rob Fulop", "720000-200, 720101-1B, 720101-1C, IA3200, IA3200C, IX-006-04", "Demon Attack (1982) (Imagic)", "AKA Death from Above", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f0ef9a1e5d4027a157636d7f19952bb5", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype) [a5]", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f10e3f45fb01416c87e5835ab270b53a", "Suntek", "SS-024", "Ski Run (1983) (Suntek) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1127ade54037236e75a133b1dfc389d", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (Preview) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f11cfab087fcbd930ab8b0becc5b2e5a", "Canal 3 - Intellivision", "", "River Raid (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f12afbffa080dd3b2801dd14d4837cf6", "Atari, Michael Kosaka, Peter C. Niday, Robert Vieira", "CX26110", "Crystal Castles (01-04-1984) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f137211537438b1fce3d811baef25457", "", "", "Incoming (02-10-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1489e27a4539a0c6c8529262f9f7e18", "Champ Games", "CG-01-P", "Lady Bug (PAL60)", "", "Homebrew", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f14d5e96ec3380aef57a4b70132c6677", "Goliath - Hot Shot", "83-414", "Pac Kong (1983) (Goliath) (PAL)", "AKA Inca Gold", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1554569321dc933c87981cf5c239c43", "Atari - Glenn Axworthy", "CX26129", "Midnight Magic (1986) (Atari)", "AKA Pinball Wizard", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f16c709df0a6c52f47ff52b9d95b7d8d", "Atari, Alan Miller - Sears", "CX2662 - 6-99811", "Hangman (1978) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f16ef574d2042ed8fe877d6541f4dba4", "Spectravision - Spectravideo", "SA-201", "Gangster Alley (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1929bb9b5db22d98dd992aa3fe72920", "", "", "Cube Conquest (Improved Interlace) (Billy Eno) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f19aba18f86e415812480ad2be221425", "Chris Larkin", "", "Solaris Trainer (2002) (Chris Larkin) (Hack)", "Hack of Solaris", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1a0a23e6464d954e3a9579c4ccd01c8", "20th Century Fox, Douglas 'Dallas North' Neubauer", "11006", "Alien (1982) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f1ae6305fa33a948e36deb0ef12af852", "Andreas Dietrich", "", "Donkey Kong VCS (2017) (1.0)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f1b2ea568b3e156e3f2849dac83591f6", "", "", "Sprite Demo (1997) (Bob Colbert) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1b7edff81ceef5af7ae1fa76c8590fc", "Atari, Richard Maurer", "CX2632, CX2632P", "Space Invaders (1980) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1beca5a198cf08190487e5c27b8e540", "", "", "Fu Kung! (V0.16) (2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1e375d921858467166e53bcec05803f", "Jeffry Johnston", "", "Radial Pong - Version 3 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f1eeeccc4bba6999345a2575ae96508e", "Video Gems", "VG-03", "Steeplechase (1983) (Video Gems) (PAL)", "", "", "", "", "", "", "A", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f1fe06ebe2900eac4cdd17799389a102", "Atari, Jim Huether", "CX26163P", "Sky Diver (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f20675c8b98518367b9f5b8ee6f7c8ea", "Atari", "CX26163P", "Stampede (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f20bd756f3990e06c492f53cd0168e68", "", "", "Skeleton+ (03-05-2003) (Eric Ball) (NTSC)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f21813aa050437f0dbc8479864acec6d", "", "", "Sneak 'n Peek (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f23d19b73dac50cc6149316912b8ee53", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Amiga Mouse Hack v1.1 (PAL) (TJ)", "Uses Amiga Mouse Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f240ba9f8092d2e8a4c7d82c554bf509", "Quelle", "463.860 7", "Strahlen der Teufelsvoegel (1983) (Quelle) (PAL)", "AKA Atlantis", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f280976d69d6e27a48506bd6bad11dcd", "Atari, Larry Kaplan", "CX2664, CX2664P", "Brain Games (1978) (Atari) (PAL)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "f283cc294ece520c2badf9da20cfc025", "Atari - CCW, Christopher H. Omarzu", "CX26104", "Big Bird's Egg Catch (1983) (Atari) (PAL)", "Uses Kids/Keypad Controllers", "Rare", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "f28c07767b3e90a2689ade5b5e305874", "Canal 3 - Intellivision", "C 3014", "Keystone Kapers (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f2d40c70cf3e1d03bc112796315888d9", "Atari - CCW, Michael Callahan, Preston Stuart", "CX26103", "Alpha Beam with Ernie (1983) (Atari) (PAL)", "Uses Keypad Controllers", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f2d4d6187903cac2d5ea8ed90dad120d", "Digimax", "", "River Raid II (Digimax)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f2e4fb2d3600c0f76d05864e658cc57b", "", "", "Marble Craze (Kernel) (17-02-2002) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f2f2cb35fdef063c966c1f5481050ea2", "", "", "Ram It (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f2f59629d7341c97644405daeac08845", "Jone Yuan Telephonic Enterprise Co", "", "Bobby Is Going Home (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f303630a2d7316787aecd67fff6b2e33", "AtariAge - Fred Quimby", "", "Gingerbread Man (Fred Quimby)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f3213a8a702b0646d2eaf9ee0722b51c", "Atari, Carol Shaw - Sears", "CX2618 - 49-75123", "3-D Tic-Tac-Toe (1980) (Atari) (4K)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f33f1d0f7819c74148dacb48cbf1c597", "Retroactive", "", "Qb (2.00) (Retroactive) (Stella)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f344ac1279152157d63e64aa39479599", "Tigervision", "7-012", "Espial (1984) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f34dd3b8156aaf113cb621b2e51d90b8", "Joe Grand", "", "SCSIcide Pre-release 5 (Joe Grand)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f34f08e5eb96e500e851a80be3277a56", "Atari, Brad Stewart - Sears", "CX2622 - 6-99813, 49-75107", "Breakout (1978) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 60", "", "", "", "" }, + { "f367e58667a30e7482175809e3cec4d4", "ZiMAG - Emag - Vidco", "708-111 - GN-040", "Cosmic Corridor (1983) (ZiMAG)", "AKA Space Tunnel", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f38358cd8f5ecfedffd5aca1aa939f18", "Universal Gamex Corporation, Alan Roberts", "1005", "X-Man (1983) (Universal) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f39e4bc99845edd8621b0f3c7b8c4fd9", "AtariAge", "", "Toyshop Trouble (AtariAge)", "F8 Emulator Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f3c431930e035a457fe370ed4d230659", "", "", "Crackpots (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f3cd0f886201d1376f3abab2df53b1b9", "Commavid, Ben Burch", "CM-010", "Rush Hour (1983) (Commavid) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f3dfae774f3bd005a026e29894db40d3", "Otto Versand", "649635", "See Saw (Double-Game Package) (1983) (Otto Versand) (PAL)", "AKA Circus Atari", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f3f5f72bfdd67f3d0e45d097e11b8091", "Sears Tele-Games, Marilyn Churchill, Matthew L. Hubbard", "CX2647 - 49-75142", "Submarine Commander (1982) (Sears)", "AKA Seawolf 3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f3f92aad3a335f0a1ead24a0214ff446", "", "", "Spectrum Color Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f40e437a9ebf0bdfe26204152f74f868", "Bit Corporation", "R320", "Jawbreaker (32 in 1) (BitCorp) (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f4204fc92d17ed4cb567c40361ad58f1", "Inky", "", "Beanie Baby Bash (Inky) (Hack)", "Hack of Beany Bopper", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f4469178cd8998cb437fa110a228eaca", "Digitel", "", "Frostbite (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f45644ff82b533a781a1ee50f2e95f3c", "", "", "Overhead Adventure Demo 6 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f457674cef449cfd85f21db2b4f631a7", "U.S. Games Corporation - JWDA, Todd Marshall, Wes Trager, Henry Will IV", "VC1004", "Commando Raid (1982) (U.S. Games)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f473f99e47d4026a7a571184922ebf04", "Philip R. Frey", "", "Donkey Claus (Philip R. Frey) (Hack)", "Hack of Donkey Kong", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f48022230bb774a7f22184b48a3385af", "Atari, Rob Fulop - Sears", "CX2633 - 49-75119", "Night Driver (1980) (Atari) (4K)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 65", "", "", "YES", "" }, + { "f48735115ec302ba8bb2d2f3a442e814", "", "", "Dancing Plate (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f49a34f1fdd7dc147cbf96ce2ce71b76", "", "", "Qb (Special Edition) (PAL) (Retroactive)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f4a09f906cc37be31224433f576d77d3", "Thomas Jentzsch", "", "Challenge of... Nexar, The - Atari Trak-Ball Hack v1.2 (PAL) (TJ)", "Uses Atari Trak-Ball Controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f4ab6bd5f80d8988141edde4c84b23b5", "Atari, Alan Miller", "CX2624, CX2624P", "Basketball (1978) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f4b8a47a95b61895e671c3ec86ffd461", "Parker Brothers, Wilfredo Aguilar, Michael Becker, Neil McKenzie, Bob Smith, Brad Stewart", "PB5540", "Star Wars - The Arcade Game (01-03-1984) (Parker Bros) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f4c2e50b01dff99bddbe037b3489511c", "", "", "Hypnotic (V0.04) (2001) (Inkling) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f4c6621f1a0b4d27081123c08d7d1497", "CCE", "C-838", "Immies & Aggies (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f4cf6881b65c424095dc25dc987f151f", "", "", "128 in 1 Game Select ROM (Unknown)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f4dabd5bcc603e8464a478208037d423", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (08-21-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f526d0c519f5001adb1fc7948bfbb3ce", "Mythicon, Bill Bryner, Bruce de Graaf", "MA1003", "Star Fox (1983) (Mythicon)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f52f40299fd238c6ffd9e6107050dc76", "Activision, Bob Whitehead - Ariola", "EAG-011, PAG-011 - 711 011-715", "Stampede (1981) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f539e32bf6ce39c8ca47cb0cdd2c5cb8", "Control Video Corporation", "", "GameLine Master Module ROM (1983) (Control Video)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f542b5d0193a3959b54f3c4c803ba242", "Atari, Tom Rudadahl - Sears", "CX2634 - 49-75121", "Golf (1980) (Atari) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f5445b52999e229e3789c39e7ee99947", "Atari, Jim Huether", "CX26163P", "Flag Capture (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f5a2f6efa33a3e5541bc680e9dc31d5b", "Suntek", "SS-022", "Motocross (1983) (Suntek) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f5a3e051730d45fea518f2e8b926565b", "Robby", "", "Keystone Kapers (Robby)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f5aa6bd10f662199c42e43863a30106c", "", "", "Music Kit (V1.0) - Song Player (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f5d103a9ae36d1d4ee7eef657b75d2b3", "Starpath Corporation, Stephen H. Landrum", "9 AR-4105", "Official Frogger, The (Preview) (1983) (Starpath)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f613aad84d2163d6b197b220bfec1b7e", "", "", "X-Doom V.27 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f661f129644f338b13d9f4510d816c03", "Atari, David Crane", "CX26163P", "Outlaw (32 in 1) (1988) (Atari) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f6676e3fe901eb8515fc7ae310302c3c", "Activision, David Crane", "AG-008", "Laser Blast (1981) (Activision) (8K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f67181b3a01b9c9159840b15449b87b0", "Atari, Nick 'Sandy Maiwald' Turner", "CX2665", "Frog Pond (08-27-1982) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f687ec4b69611a7f78bd69b8a567937a", "Activision, Alan Miller - Ariola", "EAZ-028 - 711 028-725", "Robot Tank (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f69a39b215852a0c2764d2a923c1e463", "", "", "Move a Blue Blob Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f69bb58b815a6bdca548fa4d5e0d5a75", "Atari, Larry Kaplan", "CX26163P", "Bowling (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f69d4fcf76942fcd9bdf3fd8fde790fb", "CCE", "", "Aquaventure (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f6a282374441012b01714e19699fc62a", "ZiMAG - Emag - Vidco", "710-111 - GN-010", "I Want My Mommy (1983) (ZiMAG)", "AKA Open, Sesame!", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f6a9ea814d15b85bffe980c927df606b", "", "", "Missile Command (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f6b5ebb65cbb2981af4d546c470629d7", "Coleco - Individeo, Ed Temple", "", "Cabbage Patch Kids (09-13-1984) (Coleco) (Prototype) [a]", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f6c13e816e58c8c62f82b2c8b91a2d67", "", "", "Scrolling Playfield 2 (Junkosoft) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f6d512bef1bf253dc935d0e13c3d1462", "", "", "Slot Racers (Unknown) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f6daebc0424fa0f8d9aaf26c86df50f4", "Brian Watson", "", "Color Tweaker (V1.0) (2001) (B. Watson)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f6efa00ae99aaf33e427b674bcfd834d", "", "", "2600 Digital Clock (Demo 3) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f6f1b27efc247a0e8d473ddb4269ff9e", "Rainbow Vision - Suntek", "SS-015", "Catch Time (1983) (Rainbow Vision) (PAL)", "AKA Plaque Attack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f70e3f3bb2d19ec2aaec8f78dc43744f", "Jone Yuan Telephonic Enterprise Co", "", "Pooyan (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f714a223954c28eccf459295517dcae6", "", "", "Big - Move This Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f7154add27b95cd90464dbed8cfd7557", "Fabrizio Zavagli", "", "Space Treat Deluxe (2003) (PAL)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f724d3dd2471ed4cf5f191dbb724b69f", "Atari, Jerome Domurat, Howard Scott Warshaw", "CX2659", "Raiders of the Lost Ark (1982) (Atari)", "Console ports are swapped", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "", "" }, + { "f736864442164b29235e8872013180cd", "Telegames - VSS", "6057 A227", "Quest for Quintana Roo (1988) (Telegames) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f73d2d0eff548e8fc66996f27acf2b4b", "CCE", "C-813", "Pitfall (1983) (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f7424985bac41067502b4a05b64cb75a", "Activision, Steve Cartwright", "AX-027", "Plaque Attack (1983) (Activision)", "Genesis controller (B is fire up, C is fire down)", "Hack of Plaque Attack", "", "", "", "", "", "", "", "GENESIS", "", "", "", "", "", "", "", "", "" }, + { "f74ad642552385c3daa203a2a6fc2291", "Eckhard Stolberg", "", "Cubis (1997) (Eckhard Stolberg)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f750b5d613796963acecab1690f554ae", "Manuel Polik", "", "Gunfight 2600 (MP)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f75872946e82ad74d48eae5bc28f5f0e", "Sears Tele-Games, Jim Huether", "CX2614 - 49-75126", "Steeplechase (04-15-1980) (Sears) (Prototype)", "Uses the Paddle Controllers", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f777444fc21a5925e066b68b1d350575", "", "", "Marble Craze (Kernel Works) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f77f5fc3893da5d00198e4cd96544aad", "Canal 3 - Intellivision", "", "Stampede (Canal 3)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f7856e324bc56f45b9c8e6ff062ec033", "Atari, Jerome Domurat, Michael Sierchio", "CX2667", "RealSports Soccer (1983) (Atari) [no opening tune]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f78c125b5da483c41e51522947d6c4ce", "", "", "Sound Paddle V1 (Dennis Caswell & Jim Nitchals) (PD)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "YES", "", "", "", "", "", "01", "", "", "", "" }, + { "f7a138eed69665b5cd1bfa796a550b01", "Tigervision - Teldec", "7-012 - 3.60016 VC", "Espial (1984) (Tigervision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f7a651972d78f9ba485b14690452d4be", "Paul Slocum", "", "Homestar Runner Demo #2 (2004-03-29)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f7af41a87533524d9a478575b0d873d0", "Quelle", "495.663 7", "Spiderman (1983) (Quelle) (PAL)", "AKA Spider-Man", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f7d6592dcb773c81c278140ed4d01669", "Activision, David Crane, Dan Kitchen", "EAG-108-04, EAZ-108-04B", "Ghostbusters (1985) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f7e07080ed8396b68f2e5788a5c245e2", "Video Game Cartridge - Ariola", "TP-617", "Farmyard Fun (Ariola)", "AKA Play Farm", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f7f50d9c9d28bcc9f7d3075668b7ac89", "Activision, David Crane - Ariola", "EAG-008, PAG-008, EAG-008-04I - 711 008-720", "Laser Blast (1981) (Activision) (PAL) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f7fac15cf54b55c5597718b6742dbec2", "Spiceware", "SW-01", "Medieval Mayhem (NTSC)", "", "Homebrew", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "AUTO 55", "", "", "", "" }, + { "f802fa61011dd9eb6f80b271bac479d0", "Suntek", "SS-023", "Mole Hunter (1983) (Suntek) (PAL)", "AKA Topy", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f80cf77164079d774b9b0fae33dffca9", "", "", "Fu Kung! (V0.15) (Negative Version) (05-02-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8240e62d8c0a64a61e19388414e3104", "Activision, Steve Cartwright", "AX-013", "Barnstorming (1982) (Activision)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f825c538481f9a7a46d1e9bc06200aaf", "Atari, Richard Maurer - Sears", "CX2635 - 49-75157", "Maze Craze (1980) (Atari)", "AKA A Game of Cops 'n Robbers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NTSC", "", "", "" }, + { "f844f4c6f3baaaf5322657442d6f29eb", "Atari, Sam Comstock, Richard Dobbis, Nick 'Sandy Maiwald' Turner", "CX26111", "Snoopy and the Red Baron (1983) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f847fb8dba6c6d66d13724dbe5d95c4d", "Absolute Entertainment, David Crane", "AG-042-02, AG-042-04", "Skate Boardin' (1987) (Absolute)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8582bc6ca7046adb8e18164e8cecdbc", "", "", "Panda Chase (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8648d0c6ad1266434f6c485ff69ec40", "CCE", "", "Oink! (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8811d45a9935cca90c62f924712f8e6", "Jone Yuan Telephonic Enterprise Co", "", "Chopper Command (Jone Yuan) (Hack)", "2600 Screen Search Console", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8b2a6a4d73ebff10d805a9b59041986", "Activision, Larry Kaplan - Ariola", "EAX-006, PAX-006 - 771 006-720", "Bridge (1980) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8bfd99163d2c4ec688357786e6fba28", "", "", "Eckhard Stolberg's Scrolling Text Demo 2 (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8c1c4a41303bd40b0d6c81bfaf8573b", "HES", "773-891", "2 Pak Special - Dungeon Master, Creature Strike (1992) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8fbe2b07345086fc867bceeaf38dc48", "Atari, Eric Manghise, Mimi Nyden, Joseph Tung", "CX2640", "RealSports Baseball (1982) (Atari) (Prototype) (4K)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f8ff34b53d86f55bd52d7a520af6d1dc", "", "", "Big Dig (04-04-2003) (CT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f90b5da189f24d7e1a2117d8c8abc952", "Atari, David Crane - Sears", "CX2653 - 6-99823, 49-75111", "Slot Machine (1979) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f91fb8da3223b79f1c9a07b77ebfa0b2", "Atari, Alan J. Murphy, Nick 'Sandy Maiwald' Turner - Sears", "CX2615 - 49-75140", "Demons to Diamonds (1982) (Atari)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "YES", "", "", "10 57", "", "", "", "" }, + { "f93d7fee92717e161e6763a88a293ffa", "20th Century Fox Video Games - Lazer Micro Systems - Dunhill Electronics, B. Winston Hendrickson, Randall Hyde, Mark V. Rhoads, John Simonds", "11013", "Porky's (1983) (20th Century Fox)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9420173efcb4b9f2b01c2a7b595cca7", "CCE", "", "Laser Blast (CCE) (4K)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f954381f9e0f2009d1ac40dedd777b1a", "Thomas Jentzsch", "", "Robot City (V0.18) (01-09-2002) (TJ)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9655ed51462ecfc690c7b97cec649f9", "Andrew Wallace", "", "Laseresal 2002 (PAL) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f965cc981cbb0822f955641f8d84e774", "Answer Software Corporation - TY Associates, Kim Ellis", "ASC2001", "Confrontation (1983) (Answer) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "f9660ebed66fee8bdfdf07b4faa22941", "VGS", "", "Vanguard (VGS)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9677b2ec8728a703eb710274474613d", "Atari, Ian Shepard", "CX2604, CX2604P", "Space War (1978) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f97dee1aa2629911f30f225ca31789d4", "Avalon Hill, Jean Baer, Bill 'Rebecca Ann' Heineman, Jim Jacob", "5005002", "Out of Control (1983) (Avalon Hill)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f98d2276d4a25b286135566255aea9d0", "Digitel", "", "Name This Game (1983) (Digitel)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f98d869f287d2ce4f8fb36e0686929d9", "", "", "Skeleton+ (17-04-2003) (Eric Ball) (NTSC)", "", "", "STEREO", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f991e0670b5f67faa6b6211e9bd81b91", "Nukey Shay, Omegamatrix", "", "Double Dragon (Genesis) (PAL) V2", "Genesis controller", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f992a39b46aa48188fab12ad3809ae4a", "", "", "Sky Jinks (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9967369943209b4788d4e92cefc0795", "Atari", "CX26163P", "Fishing (32 in 1) (1988) (Atari) (PAL) (4K)", "AKA Fishing Derby", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9cef637ea8e905a10e324e582dd39c2", "CCE", "", "Private Eye (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9d51a4e5f8b48f68770c89ffd495ed1", "Atari, Tod Frye, Mimi Nyden", "CX2657", "SwordQuest - FireWorld (1982) (Atari)", "AKA Adventure II, SwordQuest II - FireWorld", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9da42f91a1c5cfa344d2ff440c6f8d4", "ZUT", "", "Pac Invaders (ZUT)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9de91d868d6ebfb0076af9063d7195e", "", "", "Maze Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "f9e99596345a84358bc5d1fbe877134b", "Activision, Larry Kaplan, David Crane - Ariola", "EAG-010, PAG-010 - 711 010-720", "Kaboom! (1981) (Activision) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 50", "", "", "", "" }, + { "fa0570561aa80896f0ead05c46351389", "Tigervision", "7-008", "Miner 2049er (1983) (Tigervision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa1b060fd8e0bca0c2a097dcffce93d3", "Atari - CCW, Christopher H. Omarzu, Preston Stuart, Bruce Williams", "CX26101", "Oscar's Trash Race (1984) (Atari)", "Uses the Keypad Controllers", "", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "", "" }, + { "fa2be8125c3c60ab83e1c0fe56922fcb", "Camelot - DSD, Michael Doherty, Clyde Hager - Johnson & Johnson", "", "Tooth Protectors (1983) (Camelot)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "fa3de71841c0841db6a741884a6b6b2f", "", "", "Warring Worms (17-02-2002) (Billy Eno)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa4404fabc094e3a31fcd7b559cdd029", "Atari, Alan J. Murphy, Robert C. Polaro", "CX26100", "Bugs Bunny (1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa529ec88eca679f6d5fd0ccb2120e46", "", "", "20 Sprites at Once Demo 1 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa6fe97a10efb9e74c0b5a816e6e1958", "ZiMAG - Emag - Vidco", "707-111 - GN-030", "Tanks But No Tanks (1983) (ZiMAG)", "AKA Phantom Tank", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa7ce62e7fd77e02b3e2198d70742f80", "Atari, Peter C. Niday", "CX26108", "Donald Duck's Speedboat (04-18-1983) (Atari) (Prototype) (PAL)", "AKA Donald Duck's Regatta", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa7e11a3dbea4365975cd2f094e61d25", "Tim Snider", "", "Mystery Science Theater 2600 (1999) (Tim Snider) (Hack)", "Hack of Megamania", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fa98d48cd609c9babc819e0a1bd8d598", "AtariAge (Chris Walton)", "", "Juno First (2009) (PAL60)", "AtariVox supported", "Homebrew", "", "", "", "", "", "", "", "", "ATARIVOX", "", "", "", "", "", "", "YES", "" }, + { "fab7b04b9f42df761eb6f2bc445eaa99", "20th Century Fox Video Games - Sirius Software, David Lubar", "11008", "Fantastic Voyage (11-04-1982) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fabca526d57de46768b392f758f1a008", "", "", "Laseresal 2600 (16-12-2001) (Andrew Wallace) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fac28963307b6e85082ccd77c88325e7", "CCE", "", "Berzerk (CCE)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fadb89f9b23beb4d43a7895c532757e2", "Galaga Games", "", "River Raid (1984) (Galaga Games) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fae0b86934a7c5a362281dffebdb43a0", "Retroactive", "", "Qb (2.07) (Retroactive) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "faebcb2ef1f3831b2fc1dbd39d36517c", "Atari, Jerome Domurat, Steve Woita", "CX2696", "Asterix (1984) (Atari) (PAL)", "AKA Taz", "Extremely Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "faed2ef6b44894f8c83f2b50891c35c6", "CCE", "", "Super Baseball (CCE)", "AKA RealSports Baseball", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "faffd84f3a8eceee2fa5ea5b0a3e6678", "Suntek", "SS-025", "Spectracube Invasion (1983) (Suntek) (PAL)", "AKA Immies & Aggies", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb09ee4ccd47ae74a3c314f0d8a40344", "", "", "Titans (SnailSoft)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb0c32ef7af5b45486db663510094be8", "", "", "Demo Image Series #15 - Three Marios (NTSC) (Non-Interleave) (06-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb0e84cee4c108d24253bcb7e382cffd", "", "", "Interleaved ChronoColour Demo (SECAM) (05-03-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb27afe896e7c928089307b32e5642ee", "M Network - INTV - APh Technological Consulting, Jeff Ronne, Brett Stutz", "MT5662", "TRON - Deadly Discs (1983) (M Network)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb4ca865abc02d66e39651bd9ade140a", "Arcadia Corporation, Brian McGhie", "AR-4104", "Rabbit Transit (1983) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb531febf8e155328ec0cd39ef77a122", "", "", "Worm War I (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "fb5c8af97bd8ffe88323656f462645a7", "", "", "Interlace Demo (Glenn Saunders)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "fb833ed50c865a9a505a125fc9d79a7e", "ITT Family Games", "", "Pumuckl I (1983) (ITT Family Games) (PAL)", "AKA Panda Chase", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb884ffd89013331a6f01ae3f6abd214", "Activision, David Crane", "", "Venetian Blinds Demo (1982) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb88baa01afd34e0e4b601e1d29bc806", "Manuel Polik", "", "Star Fire (2003) (XYPE)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb88c400d602fe759ae74ef1716ee84e", "20th Century Fox Video Games, Bill Aspromonte", "11031", "Crash Dive (1983) (20th Century Fox)", "AKA Voyage to the Bottom of the Sea", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb91da78455d9b1606913fbf8c859772", "", "", "Split Screen (Ballblazer) Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fb91dfc36cddaa54b09924ae8fd96199", "Parker Brothers, Mark Lesser", "PB5590", "Frogger II (1984) (Parker Bros) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "fb978f1c053e8061cc37a726639f43f7", "Atari - Axlon, Tod Frye - Heuristica, Agustin Ortiz", "CX26169", "Shooting Arcade (03-07-1989) (Atari) (Prototype)", "Uses the Light Gun Controller (left only)", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fbac6476e7b2b20d246202af81662c88", "Starpath Corporation, Stephen H. Landrum", "AR-4400", "Dragonstomper (Preview) (1982) (Starpath) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fbb0151ea2108e33b2dbaae14a1831dd", "Thomas Jentzsch", "", "Robot Tank TV (Thomas Jentzsch) (Hack)", "Uses two simultaneous Joystick Controllers, Hack of Robot Tank", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fbb4f3debf48dc961b559384467f2057", "Digitel", "", "River Raid III (1985) (Digitel)", "AKA River Raid", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fbe554aa8f759226d251ba6b64a9cce4", "Atari - GCC, Mike Feinstein, Brad Rice", "CX2681, CX2681P", "Battlezone (1983) (Atari) (PAL)", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fbfebee9c14694719e3eda4854dc42ee", "Jake Patterson", "", "Baubles 3 (Jake Patterson) (PD)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fc2104dd2dadf9a6176c1c1c8f87ced9", "Coleco - Woodside Design Associates, Harley H. Puthuff Jr.", "2663", "Time Pilot (1983) (Coleco)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fc2233fc116faef0d3c31541717ca2db", "Atari, Tod Frye", "CX2646", "Pac-Man (1982) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fc24a94d4371c69bc58f5245ada43c44", "Atari - Axlon, Steve DeFrisco", "CX26170", "Secret Quest (1989) (Atari)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fc6052438f339aea373bbc999433388a", "Atari, David Crane", "CX2653P", "Slot Machine (1979) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fc668a2251dd79cbd903d4fa0e558f96", "Thomas Jentzsch", "", "Thrust (V1.1) (2000) (TJ) [a1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fc92d74f073a44bc6e46a3b3fa8256a2", "", "", "Megademo (19xx) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fc9c1652fe3a2cade6188f4d3692481f", "Andrew Davies", "", "Andrew Davies early notBoulderDash demo (NTSC)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "fca4a5be1251927027f2c24774a02160", "Activision, John Van Ryzin", "AZ-036-04", "H.E.R.O. (1984) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fcbbd0a407d3ff7bf857b8a399280ea1", "ZiMAG - Emag - Vidco", "GN-070", "Mysterious Thief, A (1983) (ZiMAG) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "fcbdf405f0fc2027b0ea45bb5af94c1a", "Amiga - Video Soft, Michael K. Glass, Jerry Lawson", "", "3-D Ghost Attack (1983) (Amiga) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "fcea12625c071ddc49f4e409f4038c60", "Fabrizio Zavagli", "", "Balls! (16-09-2002) (Fabrizio Zavagli)", "", "Homebrew", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, + { "fcf8e306f6615f74feba5cb25550038c", "", "", "Blue Dot Demo (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd0e5148162e8ec6719445d559f018a9", "Activision, Steve Cartwright - Ariola", "EAX-022, EAX-022-04I - 711 022-720", "Seaquest (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd10915633aea4f9cd8b518a25d62b55", "Atari, John Dunn", "CX2631, CX2631P", "Superman (1979) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd16949913aaab5beaefed73bf2ca67c", "Atari - GCC, John Allred, Mike Feinstein", "CX2688", "Jungle Hunt (02-03-1983) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd4f5536fd80f35c64d365df85873418", "Atari - Bobco, Robert C. Polaro", "CX26140", "Desert Falcon (1987) (Atari)", "AKA Nile Flyer, Sphinx", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd6e507b5df68beeeddeaf696b6828fa", "", "", "Boxing (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd7464edaa8cc264b97ba0d13e7f0678", "HES", "771-333", "2 Pak Special - Challenge, Surfing (1990) (HES) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd78f186bdff83fbad7f97cb583812fe", "Amiga - Video Soft", "3125", "Surf's Up (1983) (Amiga) (Prototype) [a2]", "Uses the Joyboard controller", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd8b4ee0d57605b35e236e814f706ff1", "Atari - GCC, Mike Feinstein, John Mracek", "CX2673, CX2673P", "Phoenix (1982) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fd9b321cee5fbb32c39ba3ca5d9ec7cf", "Jeffry Johnston", "", "Radial Pong - Version 5 (Jeffry Johnston) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fdd4995a50395db14f518f63c2d63438", "", "", "Oh No! (Version 3) (18-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fde42e39710e75e9e4d4d75440f8e4e5", "Thomas Jentzsch", "", "Coke Zero (v1.0) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fdf0de38517e0cf7f0885f98ccc95836", "Arcadia Corporation, Dennis Caswell", "AR-4200", "Escape from the Mindmaster (2 of 4) (1982) (Arcadia)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fdf6680b2b1e8054293a39700a765692", "", "", "Alpha Demo - The Beta Demo 2 (2000) (MP)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fe0b7f27e3ad50bbf9ff468ee56d553d", "", "", "Lines Demo (Eckhard Stolberg) (PAL) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fe0bc4bb92c1c4de7d5706aaa8d8c10d", "", "", "Sprite Demo 2 (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fe3b461d4c8b179fe68bc77760294c25", "Atari, Joe Decuir", "CX2621, CX2621P", "Video Olympics (1977) (Atari) (PAL) (4K)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "YES", "", "", "", "", "", "", "" }, + { "fe641247a4ab9bee970e19ab55f23b25", "20th Century Fox Video Games, Beck-Tech, Steve Beck", "11035", "Save the Whales (02-07-1983) (20th Century Fox) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fe67087f9c22655ce519616fc6c6ef4d", "Atari - Zip Technology, Randy Bowker, Bruce Williams", "CX26142", "Crack'ed (11-28-1988) (Atari) (Prototype)", "", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fe6abc0f63e31e2646c9c600926b5b7f", "Atari", "CX26137", "4 in 1 (02-19-1987) (Atari) (Prototype)", "Home Run, Canyon Bomber, Sky Diver, Night Driver", "Prototype", "", "", "4IN1", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fe870018332a0221eb59fb18b0c6bccc", "", "", "Incoming (08-11-2002) (Ben Larson) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fe9ae625d924b54c9f8a14ac9a0f6c6d", "BG Dodson", "", "High Bid! (BG Dodson) (Hack)", "Hack of Pepsi Invaders", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "feba8686fd0376015258d1152923958a", "", "", "Super Circus (Unknown) (PAL)", "AKA Circus Atari", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fec0c2e2ab0588ed20c750b58cf3baa3", "Activision - Cheshire Engineering, David Rolfe, Larry Zwick", "EAZ-037-04, EAZ-037-04I", "Beamrider (1984) (Activision) (PAL)", "", "Rare", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "fece458a8023a809a5006867feca40e8", "", "", "SCSIcide (24-02-2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "feec54aac911887940b47fe8c9f80b11", "Atari, Rob Fulop", "CX2633, CX2633P", "Night Driver (1980) (Atari) (PAL)", "Uses the Paddle Controllers (left only)", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUTO 65", "", "", "YES", "" }, + { "feedcc20bc3ca34851cd5d9e38aa2ca6", "Atari, David Crane - Sears", "CX2607 - 6-99828, 49-75115", "Canyon Bomber (1979) (Atari)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "YES", "", "", "10", "", "", "", "" }, + { "ff1523783e0e76a3b0d1f7f0d1cb3050", "Thomas Jentzsch", "", "Marble Craze - Atari Trak-Ball Hack v1.0 (PAL) (TJ)", "Uses Atari Trak-Ball Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ff3bd0c684f7144aeaa18758d8281a78", "Atari, Bob Whitehead", "CX2651", "Blackjack (1977) (Atari) (PAL)", "Uses the Paddle Controllers", "Rare", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "", "", "" }, + { "ff5a9e340d96df6f5a5b6eb038e923bd", "", "", "Space Shuttle (1983) (Activision) [t1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ff7627207e8aa03730c35c735a82c26c", "Atari, Bob Whitehead", "CX26163P", "Blackjack (32 in 1) (1988) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "", "PADDLES_IAXIS", "", "", "", "", "", "", "", "", "" }, + { "ff86fc8ffa717bb095e8471638c1c31c", "Arcadia Corporation, Dennis Caswell", "AR-4302", "Party Mix - Bop a Buggy (1 of 3) (1983) (Arcadia) (PAL)", "Uses Paddle Controllers", "", "", "", "", "", "", "", "", "", "", "", "", "", "01 56", "", "", "", "" }, + { "ff87d58125ae517eb7b09a0475a1ccdc", "", "", "SCSIcide (Score Hack 1) (24-02-2001) (Joe Grand) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ffb1cd548563158ce33f9d10268187e7", "Erik Eid", "", "Euchre (Beta) (NTSC) (12-09-2002) (Erik Eid)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ffc0ff4305dd46b4b459885bd1818e2e", "Barry Laws Jr.", "", "Star Wars - The Battle of Alderaan (Star Strike Hack)", "Hack of Star Strike (Mattel)", "New Release (Hack)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ffdc0eb3543404eb4c353fbdddfa33b6", "CCE", "C-827", "Chopper Command (1983) (CCE) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ffe51989ba6da2c6ae5a12d277862e16", "Atari - Sears", "CX2627 - 6-99841", "Human Cannonball (1979) (Atari) (4K)", "AKA Cannon Man", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ffebb0070689b9d322687edd9c0a2bae", "", "", "Spitfire Attack (1983) (Milton Bradley) [h1]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" } }}; #endif diff --git a/src/emucore/OSystem.cxx b/src/emucore/OSystem.cxx index 638265910..29359d6ba 100644 --- a/src/emucore/OSystem.cxx +++ b/src/emucore/OSystem.cxx @@ -600,6 +600,8 @@ unique_ptr OSystem::openConsole(const FilesystemNode& romfile, string& CMDLINE_PROPS_UPDATE("vcenter", PropType::Display_VCenter); CMDLINE_PROPS_UPDATE("pp", PropType::Display_Phosphor); CMDLINE_PROPS_UPDATE("ppblend", PropType::Display_PPBlend); + CMDLINE_PROPS_UPDATE("pxcenter", PropType::Controller_PaddlesXCenter); + CMDLINE_PROPS_UPDATE("pycenter", PropType::Controller_PaddlesYCenter); // Finally, create the cart with the correct properties if(cart) diff --git a/src/emucore/Paddles.cxx b/src/emucore/Paddles.cxx index b4782cfb8..eb6171411 100644 --- a/src/emucore/Paddles.cxx +++ b/src/emucore/Paddles.cxx @@ -238,7 +238,7 @@ void Paddles::update() sa_xaxis = new_val; setPin(AnalogPin::Nine, Int32(MAX_RESISTANCE * - (BSPF::clamp(32768 - Int32(Int32(sa_xaxis) * SENSITIVITY + CENTER), 0, 65536) / 65536.0))); + (BSPF::clamp(32768 - Int32(Int32(sa_xaxis) * SENSITIVITY + XCENTER), 0, 65536) / 65536.0))); sa_changed = true; } @@ -253,7 +253,7 @@ void Paddles::update() sa_yaxis = new_val; setPin(AnalogPin::Five, Int32(MAX_RESISTANCE * - (BSPF::clamp(32768 - Int32(Int32(sa_yaxis) * SENSITIVITY + CENTER), 0, 65536) / 65536.0))); + (BSPF::clamp(32768 - Int32(Int32(sa_yaxis) * SENSITIVITY + YCENTER), 0, 65536) / 65536.0))); sa_changed = true; } myLastAxisX = sa_xaxis; @@ -383,10 +383,17 @@ bool Paddles::setMouseControl( } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Paddles::setAnalogCenter(int center) +void Paddles::setAnalogXCenter(int xcenter) { - // TODO: convert into ~5 pixel (also in Input Dialog!) - CENTER = BSPF::clamp(center, MIN_ANALOG_CENTER, MAX_ANALOG_CENTER) * 860; + // convert into ~5 pixel steps + XCENTER = BSPF::clamp(xcenter, MIN_ANALOG_CENTER, MAX_ANALOG_CENTER) * 860; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void Paddles::setAnalogYCenter(int ycenter) +{ + // convert into ~5 pixel steps + YCENTER = BSPF::clamp(ycenter, MIN_ANALOG_CENTER, MAX_ANALOG_CENTER) * 860; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -431,7 +438,8 @@ void Paddles::setDigitalPaddleRange(int range) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Paddles::CENTER = 0; +int Paddles::XCENTER = 0; +int Paddles::YCENTER = 0; float Paddles::SENSITIVITY = 1.0; int Paddles::TRIGRANGE = Paddles::TRIGMAX; diff --git a/src/emucore/Paddles.hxx b/src/emucore/Paddles.hxx index 0a8adc9c9..7628e840c 100644 --- a/src/emucore/Paddles.hxx +++ b/src/emucore/Paddles.hxx @@ -50,8 +50,8 @@ class Paddles : public Controller public: static constexpr float BASE_ANALOG_SENSE = 0.148643628f; static constexpr int MAX_ANALOG_SENSE = 30; - static constexpr int MIN_ANALOG_CENTER = -20; - static constexpr int MAX_ANALOG_CENTER = 20; + static constexpr int MIN_ANALOG_CENTER = -10; + static constexpr int MAX_ANALOG_CENTER = 30; static constexpr int MAX_DIGITAL_SENSE = 20; static constexpr int MAX_MOUSE_SENSE = 20; static constexpr int MIN_DEJITTER = 0; @@ -93,11 +93,18 @@ class Paddles : public Controller Controller::Type ytype, int yid) override; /** - Sets the center for analog paddles. + Sets the x-center for analog paddles. - @param center Value from -20 to 20, representing the center offset/860 + @param center Value from -10 to 30, representing the center offset/860 */ - static void setAnalogCenter(int center); + static void setAnalogXCenter(int xcenter); + + /** + Sets the y-center for analog paddles. + + @param center Value from -10 to 30, representing the center offset/860 + */ + static void setAnalogYCenter(int ycenter); /** Sets the sensitivity for analog paddles. @@ -175,7 +182,8 @@ class Paddles : public Controller int myLastAxisX{0}, myLastAxisY{0}; int myAxisDigitalZero{0}, myAxisDigitalOne{0}; - static int CENTER; + static int XCENTER; + static int YCENTER; static float SENSITIVITY; static int DIGITAL_SENSITIVITY, DIGITAL_DISTANCE; diff --git a/src/emucore/Props.cxx b/src/emucore/Props.cxx index fad325d85..144955c9c 100644 --- a/src/emucore/Props.cxx +++ b/src/emucore/Props.cxx @@ -251,6 +251,8 @@ void Properties::print() const << get(PropType::Controller_Left) << "|" << get(PropType::Controller_Right) << "|" << get(PropType::Controller_SwapPaddles) << "|" + << get(PropType::Controller_PaddlesXCenter) << "|" + << get(PropType::Controller_PaddlesYCenter) << "|" << get(PropType::Controller_MouseAxis) << "|" << get(PropType::Display_Format) << "|" << get(PropType::Display_VCenter) << "|" @@ -296,6 +298,8 @@ void Properties::printHeader() << "Controller_Left|" << "Controller_Right|" << "Controller_SwapPaddles|" + << "Controller_PaddlesXCenter|" + << "Controller_PaddlesYCenter|" << "Controller_MouseAxis|" << "Display_Format|" << "Display_VCenter|" @@ -323,6 +327,8 @@ std::array Properties::ourDefaultProperties = "AUTO", // Controller.Left "AUTO", // Controller.Right "NO", // Controller.SwapPaddles + "0", // Controller.PaddlesXCenter + "0", // Controller.PaddlesYCenter "AUTO", // Controller.MouseAxis "AUTO", // Display.Format "0", // Display.VCenter @@ -349,6 +355,8 @@ std::array Properties::ourPropertyNames = "Controller.Left", "Controller.Right", "Controller.SwapPaddles", + "Controller.PaddlesXCenter", + "Controller.PaddlesYCenter", "Controller.MouseAxis", "Display.Format", "Display.VCenter", diff --git a/src/emucore/Props.hxx b/src/emucore/Props.hxx index af3f67568..70e9fa727 100644 --- a/src/emucore/Props.hxx +++ b/src/emucore/Props.hxx @@ -37,6 +37,8 @@ enum class PropType : uInt8 { Controller_Left, Controller_Right, Controller_SwapPaddles, + Controller_PaddlesXCenter, + Controller_PaddlesYCenter, Controller_MouseAxis, Display_Format, Display_VCenter, diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index 0e3de3de8..68747896a 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -103,7 +103,6 @@ Settings::Settings() setPermanent("dejitter.base", "0"); setPermanent("dejitter.diff", "0"); setPermanent("dsense", "10"); - setPermanent("pcenter", "0"); setPermanent("psense", "20"); setPermanent("msense", "10"); setPermanent("tsense", "10"); @@ -324,10 +323,6 @@ void Settings::validate() if(i < 0 || i > 3) setValue("cursor", "2"); - i = getInt("pcenter"); - if(i < Paddles::MIN_ANALOG_CENTER || i > Paddles::MAX_ANALOG_CENTER) - setValue("pcenter", "0"); - i = getInt("psense"); if(i < 0|| i > Paddles::MAX_ANALOG_SENSE) setValue("psense", "20"); @@ -458,7 +453,6 @@ void Settings::usage() const << " -cursor <0,1,2,3> Set cursor state in UI/emulation modes\n" << " -dejitter.base <0-10> Strength of analog paddle value averaging\n" << " -dejitter.diff <0-10> Strength of analog paddle reaction to fast movements\n" - << " -pcenter <-20-20> Center of analog paddle\n" << " -psense <0-30> Sensitivity of analog paddle movement\n" << " -dsense <1-20> Sensitivity of digital emulated paddle movement\n" << " -msense <1-20> Sensitivity of mouse emulated paddle movement\n" @@ -568,6 +562,8 @@ void Settings::usage() const << " -rc Sets the 'Controller.Right' property\n" << " -bc Same as using both -lc and -rc\n" << " -cp Sets the 'Controller.SwapPaddles' property\n" + << " -pxcenter Sets the 'Controller.PaddlesXCenter' property\n" + << " -pycenter Sets the 'Controller.PaddlesYCenter' property\n" << " -format Sets the 'Display.Format' property\n" << " -vcenter Sets the 'Display.vcenter' property\n" << " -pp Sets the 'Display.Phosphor' property\n" diff --git a/src/gui/GameInfoDialog.cxx b/src/gui/GameInfoDialog.cxx index 2cfb80912..49ec158b0 100644 --- a/src/gui/GameInfoDialog.cxx +++ b/src/gui/GameInfoDialog.cxx @@ -27,6 +27,7 @@ #include "OSystem.hxx" #include "CartDetector.hxx" #include "ControllerDetector.hxx" +#include "Paddles.hxx" #include "PopUpWidget.hxx" #include "Props.hxx" #include "PropsSet.hxx" @@ -66,7 +67,7 @@ GameInfoDialog::GameInfoDialog( StaticTextWidget* t; // Set real dimensions - setSize(53 * fontWidth + 8, + setSize(55 * fontWidth + 8, 8 * (lineHeight + VGAP) + 1 * (infoLineHeight + VGAP) + VBORDER * 2 + _th + buttonHeight + fontHeight + ifont.getLineHeight() + 20, max_w, max_h); @@ -118,12 +119,13 @@ GameInfoDialog::GameInfoDialog( pwidth, lineHeight, items, "", 0, 0); wid.push_back(myFormat); - myFormatDetected = new StaticTextWidget(myTab, ifont, myFormat->getRight() + 8, ypos + 4, "SECAM60 detected"); - + myFormatDetected = new StaticTextWidget(myTab, ifont, myFormat->getRight() + 8, ypos + 4, + "SECAM60 detected"); // Phosphor ypos += lineHeight + VGAP; - myPhosphor = new CheckboxWidget(myTab, font, HBORDER, ypos + 1, "Phosphor (enabled for all ROMs)", kPhosphorChanged); + myPhosphor = new CheckboxWidget(myTab, font, HBORDER, ypos + 1, + "Phosphor (enabled for all ROMs)", kPhosphorChanged); wid.push_back(myPhosphor); ypos += lineHeight + VGAP * 0; @@ -261,10 +263,35 @@ GameInfoDialog::GameInfoDialog( pwidth, buttonHeight, "Erase EEPROM", kEEButtonPressed); wid.push_back(myEraseEEPROMButton); myEraseEEPROMInfo = new StaticTextWidget(myTab, ifont, myEraseEEPROMButton->getRight() + 4, - myEraseEEPROMLabel->getTop() + 3, "(for this game only)"); - + myEraseEEPROMLabel->getTop() + 3, + "(for this game only)"); ypos += lineHeight + VGAP * 4; - myMouseControl = new CheckboxWidget(myTab, font, xpos, ypos + 1, "Specific mouse axes", kMCtrlChanged); + + // Paddles + myPaddlesCenter = new StaticTextWidget(myTab, font, xpos, ypos, "Paddles center:"); + ypos += lineHeight + VGAP; + + xpos += 20; + myPaddleXCenter = new SliderWidget(myTab, font, xpos, ypos - 1, "X ", 0, kPXCenterChanged, + fontWidth * 6, "px", 0 ,true); + myPaddleXCenter->setMinValue(Paddles::MIN_ANALOG_CENTER); + myPaddleXCenter->setMaxValue(Paddles::MAX_ANALOG_CENTER); + myPaddleXCenter->setTickmarkIntervals(4); + wid.push_back(myPaddleXCenter); + ypos += lineHeight + VGAP; + + myPaddleYCenter = new SliderWidget(myTab, font, xpos, ypos - 1, "Y ", 0, kPYCenterChanged, + fontWidth * 6, "px", 0 ,true); + myPaddleYCenter->setMinValue(Paddles::MIN_ANALOG_CENTER); + myPaddleYCenter->setMaxValue(Paddles::MAX_ANALOG_CENTER); + myPaddleYCenter->setTickmarkIntervals(4); + wid.push_back(myPaddleYCenter); + + // Mouse + xpos = HBORDER + fontWidth * 24 - 20; + ypos = myPaddlesCenter->getTop(); + myMouseControl = new CheckboxWidget(myTab, font, xpos, ypos + 1, "Specific mouse axes", + kMCtrlChanged); wid.push_back(myMouseControl); // Mouse controller specific axis @@ -291,8 +318,8 @@ GameInfoDialog::GameInfoDialog( "Y-Axis is "); wid.push_back(myMouseY); - xpos = HBORDER; ypos += lineHeight + VGAP; - myMouseRange = new SliderWidget(myTab, font, HBORDER, ypos, + xpos -= 20; ypos += lineHeight + VGAP; + myMouseRange = new SliderWidget(myTab, font, xpos, ypos, "Mouse axes range ", 0, 0, fontWidth * 4, "%"); myMouseRange->setMinValue(1); myMouseRange->setMaxValue(100); myMouseRange->setTickmarkIntervals(4); @@ -492,6 +519,10 @@ void GameInfoDialog::loadControllerProperties(const Properties& props) mySwapPorts->setState(props.get(PropType::Console_SwapPorts) == "YES"); mySwapPaddles->setState(props.get(PropType::Controller_SwapPaddles) == "YES"); + // Paddle centers + myPaddleXCenter->setValue(BSPF::stringToInt(props.get(PropType::Controller_PaddlesXCenter))); + myPaddleYCenter->setValue(BSPF::stringToInt(props.get(PropType::Controller_PaddlesYCenter))); + // MouseAxis property (potentially contains 'range' information) istringstream m_axis(props.get(PropType::Controller_MouseAxis)); string m_control, m_range; @@ -557,7 +588,11 @@ void GameInfoDialog::saveConfig() myGameProperties.set(PropType::Controller_Left, myLeftPort->getSelectedTag().toString()); myGameProperties.set(PropType::Controller_Right, myRightPort->getSelectedTag().toString()); myGameProperties.set(PropType::Console_SwapPorts, (mySwapPorts->isEnabled() && mySwapPorts->getState()) ? "YES" : "NO"); - myGameProperties.set(PropType::Controller_SwapPaddles, (/*mySwapPaddles->isEnabled() &&*/ mySwapPaddles->getState()) ? "YES" : "NO"); + myGameProperties.set(PropType::Controller_SwapPaddles, mySwapPaddles->getState() ? "YES" : "NO"); + + // Paddle center + myGameProperties.set(PropType::Controller_PaddlesXCenter, std::to_string(myPaddleXCenter->getValue())); + myGameProperties.set(PropType::Controller_PaddlesYCenter, std::to_string(myPaddleYCenter->getValue())); // MouseAxis property (potentially contains 'range' information) string mcontrol = "AUTO"; @@ -598,6 +633,9 @@ void GameInfoDialog::saveConfig() // update 'Controllers' tab settings immediately instance().console().setControllers(myGameProperties.get(PropType::Cart_MD5)); + + Paddles::setAnalogXCenter(myPaddleXCenter->getValue()); + Paddles::setAnalogYCenter(myPaddleYCenter->getValue()); } } @@ -686,7 +724,7 @@ void GameInfoDialog::updateControllerStates() // Compumate bankswitching scheme doesn't allow to select controllers bool enableSelectControl = myBSType->getSelectedTag() != "CM"; // Enable Swap Paddles checkbox only for paddle games - bool enableSwapPaddles = BSPF::startsWithIgnoreCase(contrLeft, "PADDLES") || + bool enablePaddles = BSPF::startsWithIgnoreCase(contrLeft, "PADDLES") || BSPF::startsWithIgnoreCase(contrRight, "PADDLES") || BSPF::startsWithIgnoreCase(myLeftPortDetected->getLabel(), "Paddles") || BSPF::startsWithIgnoreCase(myRightPortDetected->getLabel(), "Paddles"); @@ -712,11 +750,27 @@ void GameInfoDialog::updateControllerStates() myRightPort->setEnabled(enableSelectControl); mySwapPorts->setEnabled(enableSelectControl); - mySwapPaddles->setEnabled(enableSwapPaddles); + mySwapPaddles->setEnabled(enablePaddles); myEraseEEPROMLabel->setEnabled(enableEEEraseButton); myEraseEEPROMButton->setEnabled(enableEEEraseButton); myEraseEEPROMInfo->setEnabled(enableEEEraseButton); + + myPaddlesCenter->setEnabled(enablePaddles); + myPaddleXCenter->setEnabled(enablePaddles); + myPaddleYCenter->setEnabled(enablePaddles); + + + bool enableMouse = enablePaddles || + BSPF::startsWithIgnoreCase(contrLeft, "Driving") || + BSPF::startsWithIgnoreCase(contrRight, "Driving") || + BSPF::startsWithIgnoreCase(contrLeft, "MindLink") || + BSPF::startsWithIgnoreCase(contrRight, "MindLink"); + + myMouseControl->setEnabled(enableMouse); + myMouseX->setEnabled(enableMouse); + myMouseY->setEnabled(enableMouse); + myMouseRange->setEnabled(enableMouse); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -797,6 +851,14 @@ void GameInfoDialog::handleCommand(CommandSender* sender, int cmd, myVCenter->setValueUnit("px"); break; + case kPXCenterChanged: + myPaddleXCenter->setValueLabel(myPaddleXCenter->getValue() * 5); + break; + + case kPYCenterChanged: + myPaddleYCenter->setValueLabel(myPaddleYCenter->getValue() * 5); + break; + case kMCtrlChanged: { bool state = myMouseControl->getState(); diff --git a/src/gui/GameInfoDialog.hxx b/src/gui/GameInfoDialog.hxx index 8704a13d3..2e2dc4f8a 100644 --- a/src/gui/GameInfoDialog.hxx +++ b/src/gui/GameInfoDialog.hxx @@ -89,6 +89,9 @@ class GameInfoDialog : public Dialog, public CommandSender StaticTextWidget* myEraseEEPROMLabel{nullptr}; ButtonWidget* myEraseEEPROMButton{nullptr}; StaticTextWidget* myEraseEEPROMInfo{nullptr}; + StaticTextWidget* myPaddlesCenter{nullptr}; + SliderWidget* myPaddleXCenter{nullptr}; + SliderWidget* myPaddleYCenter{nullptr}; CheckboxWidget* myMouseControl{nullptr}; PopUpWidget* myMouseX{nullptr}; PopUpWidget* myMouseY{nullptr}; @@ -110,6 +113,8 @@ class GameInfoDialog : public Dialog, public CommandSender kRightCChanged = 'RCch', kMCtrlChanged = 'MCch', kEEButtonPressed = 'EEgb', + kPXCenterChanged = 'Pxch', + kPYCenterChanged = 'Pych', }; // Game properties for currently loaded ROM diff --git a/src/gui/InputDialog.cxx b/src/gui/InputDialog.cxx index 60d7ab14b..5b34d1800 100644 --- a/src/gui/InputDialog.cxx +++ b/src/gui/InputDialog.cxx @@ -123,20 +123,9 @@ void InputDialog::addDevicePortTab() xpos = HBORDER; ypos += lineHeight + VGAP * 2; new StaticTextWidget(myTab, _font, xpos, ypos+1, "Analog paddle:"); - - // Add paddle center xpos += fontWidth * 2; - ypos += lineHeight + VGAP; - myPaddleCenter = new SliderWidget(myTab, _font, xpos, ypos - 1, 13 * fontWidth, lineHeight, - "Center", - lwidth - fontWidth * 2, kPCenterChanged, 6 * fontWidth, "px", 0, true); - myPaddleCenter->setMinValue(Paddles::MIN_ANALOG_CENTER); - myPaddleCenter->setMaxValue(Paddles::MAX_ANALOG_CENTER); - myPaddleCenter->setTickmarkIntervals(4); - wid.push_back(myPaddleCenter); - - // Add paddle sensitivity + // Add analog paddle sensitivity ypos += lineHeight + VGAP; myPaddleSpeed = new SliderWidget(myTab, _font, xpos, ypos - 1, 13 * fontWidth, lineHeight, "Sensitivity", @@ -146,26 +135,26 @@ void InputDialog::addDevicePortTab() wid.push_back(myPaddleSpeed); - // Add dejitter (Stelladaptor emulation for now only) + // Add dejitter (analog paddles) ypos += lineHeight + VGAP; - myDejitterBase = new SliderWidget(myTab, _font, xpos, ypos - 1, 6 * fontWidth, lineHeight, - "Dejitter strength", lwidth - fontWidth * 2, kDejitterChanged); + myDejitterBase = new SliderWidget(myTab, _font, xpos, ypos - 1, 13 * fontWidth, lineHeight, + "Dejitter averaging", lwidth - fontWidth * 2, + kDejitterAvChanged, 3 * fontWidth); myDejitterBase->setMinValue(Paddles::MIN_DEJITTER); myDejitterBase->setMaxValue(Paddles::MAX_DEJITTER); - myDejitterBase->setTickmarkIntervals(2); - xpos += myDejitterBase->getWidth() + fontWidth - 4; + myDejitterBase->setTickmarkIntervals(5); + //xpos += myDejitterBase->getWidth() + fontWidth - 4; wid.push_back(myDejitterBase); - myDejitterDiff = new SliderWidget(myTab, _font, xpos, ypos - 1, 6 * fontWidth, lineHeight, - "", 0, kDejitterChanged); + ypos += lineHeight + VGAP; + myDejitterDiff = new SliderWidget(myTab, _font, xpos, ypos - 1, 13 * fontWidth, lineHeight, + "Dejitter reaction", lwidth - fontWidth * 2, + kDejitterReChanged, 3 * fontWidth); myDejitterDiff->setMinValue(Paddles::MIN_DEJITTER); myDejitterDiff->setMaxValue(Paddles::MAX_DEJITTER); - myDejitterDiff->setTickmarkIntervals(2); - xpos += myDejitterDiff->getWidth(); + myDejitterDiff->setTickmarkIntervals(5); wid.push_back(myDejitterDiff); - myDejitterLabel = new StaticTextWidget(myTab, _font, xpos, ypos + 1, 7 * fontWidth, lineHeight, ""); - // Add paddle speed (digital emulation) ypos += lineHeight + VGAP * 4; myDPaddleSpeed = new SliderWidget(myTab, _font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, @@ -319,14 +308,13 @@ void InputDialog::loadConfig() // Joystick deadzone myDeadzone->setValue(instance().settings().getInt("joydeadzone")); - // Paddle center & speed (analog) - myPaddleCenter->setValue(instance().settings().getInt("pcenter")); + // Paddle speed (analog) myPaddleSpeed->setValue(instance().settings().getInt("psense")); - - // Paddle speed (digital and mouse) + // Paddle dejitter (analog) myDejitterBase->setValue(instance().settings().getInt("dejitter.base")); myDejitterDiff->setValue(instance().settings().getInt("dejitter.diff")); - updateDejitter(); + + // Paddle speed (digital and mouse) myDPaddleSpeed->setValue(instance().settings().getInt("dsense")); myMPaddleSpeed->setValue(instance().settings().getInt("msense")); @@ -376,11 +364,6 @@ void InputDialog::saveConfig() instance().settings().setValue("joydeadzone", deadzone); Joystick::setDeadZone(deadzone); - // Paddle center (analog) - int center = myPaddleCenter->getValue(); - instance().settings().setValue("pcenter", center); - Paddles::setAnalogCenter(center); - // Paddle speed (analog) int sensitivity = myPaddleSpeed->getValue(); instance().settings().setValue("psense", sensitivity); @@ -453,8 +436,7 @@ void InputDialog::setDefaults() // Joystick deadzone myDeadzone->setValue(0); - // Paddle center & speed (analog) - myPaddleCenter->setValue(0); + // Paddle speed (analog) myPaddleSpeed->setValue(20); // Paddle speed (digital) @@ -466,7 +448,6 @@ void InputDialog::setDefaults() myDejitterBase->setValue(0); myDejitterDiff->setValue(0); #endif - updateDejitter(); myTrackBallSpeed->setValue(10); // AtariVox serial port @@ -625,16 +606,16 @@ void InputDialog::handleCommand(CommandSender* sender, int cmd, myDeadzone->setValueLabel(3200 + 1000 * myDeadzone->getValue()); break; - case kPCenterChanged: - myPaddleCenter->setValueLabel(myPaddleCenter->getValue() * 5); - break; - case kPSpeedChanged: myPaddleSpeed->setValueLabel(Paddles::setAnalogSensitivity(myPaddleSpeed->getValue()) * 100.0 + 0.5); break; - case kDejitterChanged: - updateDejitter(); + case kDejitterAvChanged: + updateDejitterAveraging(); + break; + + case kDejitterReChanged: + updateDejitterReaction(); break; case kDPSpeedChanged: @@ -696,25 +677,19 @@ void InputDialog::handleCommand(CommandSender* sender, int cmd, } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void InputDialog::updateDejitter() +void InputDialog::updateDejitterAveraging() { int strength = myDejitterBase->getValue(); - stringstream label; - if (strength) - label << myDejitterBase->getValue(); - else - label << "Off"; + myDejitterBase->setValueLabel(strength ? std::to_string(strength) : "Off"); +} - label << " "; - strength = myDejitterDiff->getValue(); +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void InputDialog::updateDejitterReaction() +{ + int strength = myDejitterDiff->getValue(); - if (strength) - label << myDejitterDiff->getValue(); - else - label << "Off"; - - myDejitterLabel->setLabel(label.str()); + myDejitterDiff->setValueLabel(strength ? std::to_string(strength) : "Off"); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/gui/InputDialog.hxx b/src/gui/InputDialog.hxx index b86155fca..0924f514b 100644 --- a/src/gui/InputDialog.hxx +++ b/src/gui/InputDialog.hxx @@ -65,15 +65,16 @@ class InputDialog : public Dialog void handleMouseControlState(); void handleCursorState(); - void updateDejitter(); + void updateDejitterAveraging(); + void updateDejitterReaction(); void eraseEEPROM(); private: enum { kDeadzoneChanged = 'DZch', - kPCenterChanged = 'Pcch', kPSpeedChanged = 'Ppch', - kDejitterChanged = 'Pjch', + kDejitterAvChanged = 'JAch', + kDejitterReChanged = 'JRch', kDPSpeedChanged = 'PDch', kTBSpeedChanged = 'TBch', kDBButtonPressed = 'DBbp', @@ -96,14 +97,12 @@ class InputDialog : public Dialog EditTextWidget* myAVoxPort{nullptr}; SliderWidget* myDeadzone{nullptr}; - SliderWidget* myPaddleCenter{nullptr}; SliderWidget* myPaddleSpeed{nullptr}; SliderWidget* myDejitterBase{nullptr}; SliderWidget* myDejitterDiff{nullptr}; SliderWidget* myDPaddleSpeed{nullptr}; SliderWidget* myMPaddleSpeed{nullptr}; SliderWidget* myTrackBallSpeed{nullptr}; - StaticTextWidget* myDejitterLabel{nullptr}; CheckboxWidget* myAllowAll4{nullptr}; CheckboxWidget* myGrabMouse{nullptr}; CheckboxWidget* myModCombo{nullptr}; diff --git a/src/tools/PropSet.pm b/src/tools/PropSet.pm index 26e57a09e..7cba557f9 100755 --- a/src/tools/PropSet.pm +++ b/src/tools/PropSet.pm @@ -19,11 +19,13 @@ my %prop_type = ( "Controller.Left" => 13, "Controller.Right" => 14, "Controller.SwapPaddles" => 15, - "Controller.MouseAxis" => 16, - "Display.Format" => 17, - "Display.VCenter" => 18, - "Display.Phosphor" => 19, - "Display.PPBlend" => 20 + "Controller.PaddlesXCenter" => 16, + "Controller.PaddlesYCenter" => 17, + "Controller.MouseAxis" => 18, + "Display.Format" => 19, + "Display.VCenter" => 20, + "Display.Phosphor" => 21, + "Display.PPBlend" => 22 ); my @prop_type_as_string = ( "Cart.MD5", @@ -42,6 +44,8 @@ my @prop_type_as_string = ( "Controller.Left", "Controller.Right", "Controller.SwapPaddles", + "Controller.PaddlesXCenter", + "Controller.PaddlesYCenter", "Controller.MouseAxis", "Display.Format", "Display.VCenter", From 193e8a1a467fcd3a2f082934f138915c1754ea83 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Thu, 26 Mar 2020 13:48:46 +0100 Subject: [PATCH 36/80] display write destination address in debugger (implements #74) --- src/debugger/CartDebug.cxx | 12 ++++++++++++ src/debugger/CartDebug.hxx | 6 ++++++ src/debugger/CpuDebug.cxx | 2 ++ src/debugger/CpuDebug.hxx | 2 +- src/debugger/Debugger.cxx | 6 ++++-- src/debugger/DebuggerParser.cxx | 8 ++++---- src/debugger/gui/CpuWidget.cxx | 13 +++++++++---- src/debugger/gui/CpuWidget.hxx | 1 + src/emucore/M6502.cxx | 4 ++-- src/emucore/M6502.hxx | 16 +++++++++++++++- src/yacc/YaccParser.cxx | 9 +++++++-- 11 files changed, 63 insertions(+), 16 deletions(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 5b54563f5..5d2654764 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -156,6 +156,18 @@ void CartDebug::saveOldState() } } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartDebug::lastReadAddress() +{ + return mySystem.m6502().lastReadAddress(); +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +int CartDebug::lastWriteAddress() +{ + return mySystem.m6502().lastWriteAddress(); +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - int CartDebug::lastReadBaseAddress() { diff --git a/src/debugger/CartDebug.hxx b/src/debugger/CartDebug.hxx index 57a9e1319..3561b3d3e 100644 --- a/src/debugger/CartDebug.hxx +++ b/src/debugger/CartDebug.hxx @@ -104,6 +104,12 @@ class CartDebug : public DebuggerSystem CartDebugWidget* getDebugWidget() const { return myDebugWidget; } void setDebugWidget(CartDebugWidget* w) { myDebugWidget = w; } + + // Return the address of the last CPU read + int lastReadAddress(); + // Return the address of the last CPU write + int lastWriteAddress(); + // Return the base (= non-mirrored) address of the last CPU read int lastReadBaseAddress(); // Return the base (= non-mirrored) address of the last CPU write diff --git a/src/debugger/CpuDebug.cxx b/src/debugger/CpuDebug.cxx index 549d512e3..b7d26c3b5 100644 --- a/src/debugger/CpuDebug.cxx +++ b/src/debugger/CpuDebug.cxx @@ -46,6 +46,7 @@ const DebuggerState& CpuDebug::getState() myState.srcA = my6502.lastSrcAddressA(); myState.srcX = my6502.lastSrcAddressX(); myState.srcY = my6502.lastSrcAddressY(); + myState.dest = my6502.lastWriteAddress(); Debugger::set_bits(myState.PS, myState.PSbits); @@ -66,6 +67,7 @@ void CpuDebug::saveOldState() myOldState.srcA = my6502.lastSrcAddressA(); myOldState.srcX = my6502.lastSrcAddressX(); myOldState.srcY = my6502.lastSrcAddressY(); + myOldState.dest = my6502.lastWriteAddress(); Debugger::set_bits(myOldState.PS, myOldState.PSbits); } diff --git a/src/debugger/CpuDebug.hxx b/src/debugger/CpuDebug.hxx index a9d9bc99c..dd016fe88 100644 --- a/src/debugger/CpuDebug.hxx +++ b/src/debugger/CpuDebug.hxx @@ -31,7 +31,7 @@ class CpuState : public DebuggerState { public: int PC{0}, SP{0}, PS{0}, A{0}, X{0}, Y{0}; - int srcS{0}, srcA{0}, srcX{0}, srcY{0}; + int srcS{0}, srcA{0}, srcX{0}, srcY{0}, dest{0}; BoolArray PSbits; }; diff --git a/src/debugger/Debugger.cxx b/src/debugger/Debugger.cxx index 1ccf5e3f1..8cdd525de 100644 --- a/src/debugger/Debugger.cxx +++ b/src/debugger/Debugger.cxx @@ -887,6 +887,8 @@ std::array Debugger::ourPseudoRegisters = { { { "_vblank", "Whether vertical blank is enabled (1 or 0)" }, { "_vsync", "Whether vertical sync is enabled (1 or 0)" } // CPU address access functions: - /*{ "__lastread", "last CPU read address" }, - { "__lastwrite", "last CPU write address" },*/ + /*{ "_lastread", "last CPU read address" }, + { "_lastwrite", "last CPU write address" }, + { "__lastbaseread", "last CPU read base address" }, + { "__lastbasewrite", "last CPU write base address" }*/ } }; diff --git a/src/debugger/DebuggerParser.cxx b/src/debugger/DebuggerParser.cxx index 50ff2daae..f3dfde946 100644 --- a/src/debugger/DebuggerParser.cxx +++ b/src/debugger/DebuggerParser.cxx @@ -2054,18 +2054,18 @@ void DebuggerParser::executeTraps(bool read, bool write, const string& command, if(read) { if(beginRead != endRead) - conditionBuf << "__lastread>=" << Base::toString(beginRead) << "&&__lastread<=" << Base::toString(endRead); + conditionBuf << "__lastbaseread>=" << Base::toString(beginRead) << "&&__lastbaseread<=" << Base::toString(endRead); else - conditionBuf << "__lastread==" << Base::toString(beginRead); + conditionBuf << "__lastbaseread==" << Base::toString(beginRead); } if(read && write) conditionBuf << "||"; if(write) { if(beginWrite != endWrite) - conditionBuf << "__lastwrite>=" << Base::toString(beginWrite) << "&&__lastwrite<=" << Base::toString(endWrite); + conditionBuf << "__lastbasewrite>=" << Base::toString(beginWrite) << "&&__lastbasewrite<=" << Base::toString(endWrite); else - conditionBuf << "__lastwrite==" << Base::toString(beginWrite); + conditionBuf << "__lastbasewrite==" << Base::toString(beginWrite); } // parenthesize provided condition (end) if(hasCond) diff --git a/src/debugger/gui/CpuWidget.cxx b/src/debugger/gui/CpuWidget.cxx index cd6b87640..87aba7d34 100644 --- a/src/debugger/gui/CpuWidget.cxx +++ b/src/debugger/gui/CpuWidget.cxx @@ -93,10 +93,11 @@ CpuWidget::CpuWidget(GuiObject* boss, const GUI::Font& lfont, const GUI::Font& n myCpuDataSrc[i]->setEditable(false, true); src_y += fontHeight+2; } - int swidth = lfont.getStringWidth("Source Address"); - new StaticTextWidget(boss, lfont, xpos, src_y + 4, src_w, - fontHeight, swidth <= src_w ? "Source Address" : "Source Addr", - TextAlign::Center); + + // Last write destination address + new StaticTextWidget(boss, lfont, xpos - fontWidth * 4.5, src_y + 4, "Dest"); + myCpuDataDest = new EditTextWidget(boss, nfont, xpos, src_y + 2, src_w, fontHeight+1); + myCpuDataDest->setEditable(false, true); // Add labels for other CPU registers xpos = x; @@ -325,6 +326,10 @@ void CpuWidget::loadConfig() myCpuDataSrc[3]->setText((srcY != EmptyString ? srcY : Common::Base::toString(state.srcY)), state.srcY != oldstate.srcY); + const string& dest = state.dest < 0 ? "" : cart.getLabel(state.dest, false); + myCpuDataDest->setText((srcY != EmptyString ? dest : Common::Base::toString(state.dest)), + state.dest != oldstate.dest); + // Update the PS register booleans changed.clear(); for(uInt32 i = 0; i < state.PSbits.size(); ++i) diff --git a/src/debugger/gui/CpuWidget.hxx b/src/debugger/gui/CpuWidget.hxx index 5008002f5..5992970f3 100644 --- a/src/debugger/gui/CpuWidget.hxx +++ b/src/debugger/gui/CpuWidget.hxx @@ -76,6 +76,7 @@ class CpuWidget : public Widget, public CommandSender ToggleBitWidget* myPSRegister{nullptr}; EditTextWidget* myPCLabel{nullptr}; std::array myCpuDataSrc{nullptr}; + EditTextWidget* myCpuDataDest{nullptr}; private: // Following constructors and assignment operators not supported diff --git a/src/emucore/M6502.cxx b/src/emucore/M6502.cxx index a69213b69..29863c306 100644 --- a/src/emucore/M6502.cxx +++ b/src/emucore/M6502.cxx @@ -300,8 +300,8 @@ inline void M6502::_execute(uInt64 cycles, DispatchResult& result) mySystem->cart().clearAllRAMAccesses(); #endif // DEBUGGER_SUPPORT - // Reset the peek/poke address pointers - myLastPeekAddress = myLastPokeAddress = myDataAddressForPoke = 0; + // Reset the data poke address pointer + myDataAddressForPoke = 0; try { uInt16 operandAddress = 0, intermediateAddress = 0; diff --git a/src/emucore/M6502.hxx b/src/emucore/M6502.hxx index d4769e0e7..c05fbc522 100644 --- a/src/emucore/M6502.hxx +++ b/src/emucore/M6502.hxx @@ -156,13 +156,27 @@ class M6502 : public Serializable @return The address of the last read */ - uInt16 lastReadBaseAddress() const { return myLastPeekBaseAddress; } + uInt16 lastReadAddress() const { return myLastPeekAddress; } /** Return the last address that was part of a write/poke. @return The address of the last write */ + uInt16 lastWriteAddress() const { return myLastPokeAddress; } + + /** + Return the last (non-mirrored) address that was part of a read/peek. + + @return The address of the last read + */ + uInt16 lastReadBaseAddress() const { return myLastPeekBaseAddress; } + + /** + Return the last (non-mirrored) address that was part of a write/poke. + + @return The address of the last write + */ uInt16 lastWriteBaseAddress() const { return myLastPokeBaseAddress; } /** diff --git a/src/yacc/YaccParser.cxx b/src/yacc/YaccParser.cxx index 696987b38..82163c433 100644 --- a/src/yacc/YaccParser.cxx +++ b/src/yacc/YaccParser.cxx @@ -181,10 +181,15 @@ CartMethod getCartSpecial(char* ch) { if(BSPF::equalsIgnoreCase(ch, "_bank")) return &CartDebug::getPCBank; - else if(BSPF::equalsIgnoreCase(ch, "__lastread")) + + else if(BSPF::equalsIgnoreCase(ch, "__lastbaseread")) return &CartDebug::lastReadBaseAddress; - else if(BSPF::equalsIgnoreCase(ch, "__lastwrite")) + else if(BSPF::equalsIgnoreCase(ch, "__lastbasewrite")) return &CartDebug::lastWriteBaseAddress; + else if(BSPF::equalsIgnoreCase(ch, "__lastread")) + return &CartDebug::lastReadAddress; + else if(BSPF::equalsIgnoreCase(ch, "__lastwrite")) + return &CartDebug::lastWriteAddress; else return nullptr; } From b6717a4b9a1648c3836bdd4e9132e72a6832bfba Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Thu, 26 Mar 2020 12:30:33 -0230 Subject: [PATCH 37/80] Fix some minor warnings from Clang. --- src/emucore/Paddles.cxx | 3 ++- src/emucore/Paddles.hxx | 6 +++--- src/gui/InputDialog.cxx | 5 ++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/emucore/Paddles.cxx b/src/emucore/Paddles.cxx index eb6171411..31ba8875d 100644 --- a/src/emucore/Paddles.cxx +++ b/src/emucore/Paddles.cxx @@ -400,7 +400,8 @@ void Paddles::setAnalogYCenter(int ycenter) float Paddles::setAnalogSensitivity(int sensitivity) { // BASE_ANALOG_SENSE * (1.1 ^ 20) = 1.0 - SENSITIVITY = BASE_ANALOG_SENSE * std::pow(1.1, BSPF::clamp(sensitivity, 0, MAX_ANALOG_SENSE)); + SENSITIVITY = BASE_ANALOG_SENSE * std::pow(1.1F, + static_cast(BSPF::clamp(sensitivity, 0, MAX_ANALOG_SENSE))); return SENSITIVITY; } diff --git a/src/emucore/Paddles.hxx b/src/emucore/Paddles.hxx index 7628e840c..57acda958 100644 --- a/src/emucore/Paddles.hxx +++ b/src/emucore/Paddles.hxx @@ -48,7 +48,7 @@ class Paddles : public Controller virtual ~Paddles() = default; public: - static constexpr float BASE_ANALOG_SENSE = 0.148643628f; + static constexpr float BASE_ANALOG_SENSE = 0.148643628F; static constexpr int MAX_ANALOG_SENSE = 30; static constexpr int MIN_ANALOG_CENTER = -10; static constexpr int MAX_ANALOG_CENTER = 30; @@ -95,14 +95,14 @@ class Paddles : public Controller /** Sets the x-center for analog paddles. - @param center Value from -10 to 30, representing the center offset/860 + @param xcenter Value from -10 to 30, representing the center offset/860 */ static void setAnalogXCenter(int xcenter); /** Sets the y-center for analog paddles. - @param center Value from -10 to 30, representing the center offset/860 + @param ycenter Value from -10 to 30, representing the center offset/860 */ static void setAnalogYCenter(int ycenter); diff --git a/src/gui/InputDialog.cxx b/src/gui/InputDialog.cxx index 5b34d1800..5931ed44a 100644 --- a/src/gui/InputDialog.cxx +++ b/src/gui/InputDialog.cxx @@ -229,8 +229,7 @@ void InputDialog::addDevicePortTab() void InputDialog::addMouseTab() { const int lineHeight = _font.getLineHeight(), - fontWidth = _font.getMaxCharWidth(), - fontHeight = _font.getFontHeight(); + fontWidth = _font.getMaxCharWidth(); int ypos, lwidth, pwidth, tabID; WidgetArray wid; VariantList items; @@ -607,7 +606,7 @@ void InputDialog::handleCommand(CommandSender* sender, int cmd, break; case kPSpeedChanged: - myPaddleSpeed->setValueLabel(Paddles::setAnalogSensitivity(myPaddleSpeed->getValue()) * 100.0 + 0.5); + myPaddleSpeed->setValueLabel(Paddles::setAnalogSensitivity(myPaddleSpeed->getValue()) * 100.F + 0.5F); break; case kDejitterAvChanged: From d01aa941613db66859161850d1487da85e9dcf4d Mon Sep 17 00:00:00 2001 From: thrust26 Date: Thu, 26 Mar 2020 22:22:52 +0100 Subject: [PATCH 38/80] add detection of color data in DiStella (see #596) --- .gitignore | 2 + Changes.txt | 13 ++- src/common/bspf.hxx | 1 + src/debugger/CartDebug.cxx | 87 +++++++++++++++++- src/debugger/CartDebug.hxx | 23 ++--- src/debugger/Debugger.cxx | 12 +-- src/debugger/Debugger.hxx | 12 +-- src/debugger/DiStella.cxx | 139 +++++++++++++++++++++++++---- src/debugger/DiStella.hxx | 9 +- src/debugger/gui/RomListWidget.cxx | 3 +- src/emucore/Cart.cxx | 2 +- src/emucore/Cart.hxx | 2 +- src/emucore/Cart4A50.cxx | 4 +- src/emucore/Cart4A50.hxx | 4 +- src/emucore/CartAR.cxx | 4 +- src/emucore/CartAR.hxx | 4 +- src/emucore/Device.hxx | 4 +- src/emucore/M6502.cxx | 4 +- src/emucore/M6502.hxx | 6 +- src/emucore/M6532.cxx | 4 +- src/emucore/M6532.hxx | 10 +-- src/emucore/System.cxx | 8 +- src/emucore/System.hxx | 10 +-- src/emucore/tia/TIA.cxx | 34 ++++++- src/emucore/tia/TIA.hxx | 6 +- 25 files changed, 318 insertions(+), 89 deletions(-) diff --git a/.gitignore b/.gitignore index 5524d520a..8e6d3e86a 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ src/**/*.psess src/**/*.vspx src/**/**.pdb Stella.xcscheme +src/tools/fonts/* + diff --git a/Changes.txt b/Changes.txt index 5d8291b4f..5dbc6047e 100644 --- a/Changes.txt +++ b/Changes.txt @@ -13,11 +13,16 @@ =========================================================================== 6.1 to 6.2: (??? ??, 2020) - * Paddle centering and sensitivity can be adjusted now - * High scores: Score addresses, game variation etc. can be defined for a - game. This allows the user to save high scores for these games. For each - game and variation, the top 10 scores can be saved. + * Added that paddle centering and sensitivity can be adjusted now (TOOD: Doc) + + * Added high scores: Score addresses, game variation etc. can be defined for + a game. This allows the user to save high scores for these games. For each + game and variation, the top 10 scores can be saved. (TOOD: Doc) + + * Added displaying last write address in debugger. (TOOD: Doc) + + * Added detection of color data in DiStella. (TOOD: Doc) 6.0.2 to 6.1: (March 22, 2020) diff --git a/src/common/bspf.hxx b/src/common/bspf.hxx index e7cc60024..06333b13c 100644 --- a/src/common/bspf.hxx +++ b/src/common/bspf.hxx @@ -84,6 +84,7 @@ using ByteArray = std::vector; using ShortArray = std::vector; using StringList = std::vector; using ByteBuffer = std::unique_ptr; // NOLINT +using WordBuffer = std::unique_ptr; // NOLINT // We use KB a lot; let's make a literal for it constexpr uInt32 operator "" _KB(unsigned long long size) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 5d2654764..6199bb306 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -900,6 +900,21 @@ string CartDebug::loadConfigFile() buf >> hex >> start >> hex >> end; addDirective(CartDebug::PGFX, start, end, currentbank); } + else if(BSPF::startsWithIgnoreCase(directive, "COL")) + { + buf >> hex >> start >> hex >> end; + addDirective(CartDebug::COL, start, end, currentbank); + } + else if(BSPF::startsWithIgnoreCase(directive, "PCOL")) + { + buf >> hex >> start >> hex >> end; + addDirective(CartDebug::PCOL, start, end, currentbank); + } + else if(BSPF::startsWithIgnoreCase(directive, "BCOL")) + { + buf >> hex >> start >> hex >> end; + addDirective(CartDebug::BCOL, start, end, currentbank); + } else if(BSPF::startsWithIgnoreCase(directive, "DATA")) { buf >> hex >> start >> hex >> end; @@ -966,6 +981,25 @@ string CartDebug::saveConfigFile() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - string CartDebug::saveDisassembly() { + string NTSC_COLOR[16] = { + "BLACK", "YELLOW", "BROWN", "ORANGE", + "RED", "MAUVE", "VIOLET", "PURPLE", + "BLUE", "BLUE_CYAN", "CYAN", "CYAN_GREEN", + "GREEN", "GREEN_YELLOW", "GREEN_BEIGE", "BEIGE" + }; + string PAL_COLOR[16] = { + "BLACK0", "BLACK1", "YELLOW", "GREEN_YELLOW", + "ORANGE", "GREEN", "RED", "CYAN_GREEN", + "MAUVE", "CYAN", "VIOLET", "BLUE_CYAN", + "PURPLE", "BLUE", "BLACKE", "BLACKF" + }; + string SECAM_COLOR[8] = { + "BLACK", "BLUE", "RED", "PURPLE", + "GREEN", "CYAN", "YELLOW", "WHITE" + }; + bool isNTSC = myConsole.timing() == ConsoleTiming::ntsc; + bool isPAL = myConsole.timing() == ConsoleTiming::pal; + if(myDisasmFile == "") { const string& propsname = @@ -1064,6 +1098,18 @@ string CartDebug::saveDisassembly() buf << ALIGN(13) << "|" << "$" << Base::HEX4 << tag.address << " (P)"; break; } + case CartDebug::COL: + buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (Px)"; + break; + + case CartDebug::PCOL: + buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (PF)"; + break; + + case CartDebug::BCOL: + buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (BK)"; + break; + case CartDebug::DATA: { buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 8 * 4 - 1) << "; $" << Base::HEX4 << tag.address << " (D)"; @@ -1097,6 +1143,27 @@ string CartDebug::saveDisassembly() << "; ! = page crossed, 1 cycle penalty\n" << "\n processor 6502\n\n"; + out << "\n;-----------------------------------------------------------\n" + << "; Color constants\n" + << ";-----------------------------------------------------------\n\n"; + + if(isNTSC) + { + for(int i = 0; i < 16; ++i) + out << ALIGN(16) << NTSC_COLOR[i] << " = $" << Base::HEX2 << (i << 4) << "\n"; + } + else if(isPAL) + { + for(int i = 0; i < 16; ++i) + out << ALIGN(16) << PAL_COLOR[i] << " = $" << Base::HEX2 << (i << 4) << "\n"; + } + else + { + for(int i = 0; i < 8; ++i) + out << ALIGN(16) << SECAM_COLOR[i] << " = $" << Base::HEX1 << (i << 1) << "\n"; + } + out << "\n"; + bool addrUsed = false; for(uInt16 addr = 0x00; addr <= 0x0F; ++addr) addrUsed = addrUsed || myReserved.TIARead[addr] || (mySystem.getAccessFlags(addr) & WRITE); @@ -1104,6 +1171,7 @@ string CartDebug::saveDisassembly() addrUsed = addrUsed || myReserved.TIAWrite[addr] || (mySystem.getAccessFlags(addr) & DATA); for(uInt16 addr = 0x00; addr <= 0x17; ++addr) addrUsed = addrUsed || myReserved.IOReadWrite[addr]; + if(addrUsed) { out << "\n;-----------------------------------------------------------\n" @@ -1393,7 +1461,7 @@ void CartDebug::addressTypeAsString(ostream& buf, uInt16 addr) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CartDebug::DisasmType CartDebug::disasmTypeAbsolute(uInt8 flags) const +CartDebug::DisasmType CartDebug::disasmTypeAbsolute(uInt16 flags) const { if(flags & CartDebug::CODE) return CartDebug::CODE; @@ -1403,6 +1471,12 @@ CartDebug::DisasmType CartDebug::disasmTypeAbsolute(uInt8 flags) const return CartDebug::GFX; else if(flags & CartDebug::PGFX) return CartDebug::PGFX; + else if(flags & CartDebug::COL) + return CartDebug::COL; + else if(flags & CartDebug::PCOL) + return CartDebug::PCOL; + else if(flags & CartDebug::BCOL) + return CartDebug::BCOL; else if(flags & CartDebug::DATA) return CartDebug::DATA; else if(flags & CartDebug::ROW) @@ -1420,6 +1494,9 @@ void CartDebug::disasmTypeAsString(ostream& buf, DisasmType type) const case CartDebug::TCODE: buf << "TCODE"; break; case CartDebug::GFX: buf << "GFX"; break; case CartDebug::PGFX: buf << "PGFX"; break; + case CartDebug::COL: buf << "COL"; break; + case CartDebug::PCOL: buf << "PCOL"; break; + case CartDebug::BCOL: buf << "BCOL"; break; case CartDebug::DATA: buf << "DATA"; break; case CartDebug::ROW: buf << "ROW"; break; case CartDebug::REFERENCED: @@ -1429,7 +1506,7 @@ void CartDebug::disasmTypeAsString(ostream& buf, DisasmType type) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartDebug::disasmTypeAsString(ostream& buf, uInt8 flags) const +void CartDebug::disasmTypeAsString(ostream& buf, uInt16 flags) const { if(flags) { @@ -1441,6 +1518,12 @@ void CartDebug::disasmTypeAsString(ostream& buf, uInt8 flags) const buf << "GFX "; if(flags & CartDebug::PGFX) buf << "PGFX "; + if(flags & CartDebug::COL) + buf << "COL "; + if(flags & CartDebug::PCOL) + buf << "PCOL "; + if(flags & CartDebug::BCOL) + buf << "BCOL "; if(flags & CartDebug::DATA) buf << "DATA "; if(flags & CartDebug::ROW) diff --git a/src/debugger/CartDebug.hxx b/src/debugger/CartDebug.hxx index 3561b3d3e..e331cc585 100644 --- a/src/debugger/CartDebug.hxx +++ b/src/debugger/CartDebug.hxx @@ -60,14 +60,17 @@ class CartDebug : public DebuggerSystem // debugger, or specified in a Distella cfg file, and are listed in order // of decreasing hierarchy // - CODE = 1 << 7, // 0x80, disassemble-able code segments - TCODE = 1 << 6, // 0x40, (tentative) disassemble-able code segments - GFX = 1 << 5, // 0x20, addresses loaded into GRPx registers - PGFX = 1 << 4, // 0x10, addresses loaded into PFx registers - DATA = 1 << 3, // 0x08, addresses loaded into registers other than GRPx / PFx - ROW = 1 << 2, // 0x04, all other addresses + CODE = 1 << 10, // 0x400, disassemble-able code segments + TCODE = 1 << 9, // 0x200, (tentative) disassemble-able code segments + GFX = 1 << 8, // 0x100, addresses loaded into GRPx registers + PGFX = 1 << 7, // 0x080, addresses loaded into PFx registers + COL = 1 << 6, // 0x040, addresses loaded into COLUPx registers + PCOL = 1 << 5, // 0x010, addresses loaded into COLUPF register + BCOL = 1 << 4, // 0x010, addresses loaded into COLUBK register + DATA = 1 << 3, // 0x008, addresses loaded into registers other than GRPx / PFx + ROW = 1 << 2, // 0x004, all other addresses // special type for poke() - WRITE = TCODE // 0x40, address written to + WRITE = TCODE // 0x200, address written to }; struct DisassemblyTag { DisasmType type{NONE}; @@ -263,7 +266,7 @@ class CartDebug : public DebuggerSystem using LabelToAddr = std::map>; - using AddrTypeArray = std::array; + using AddrTypeArray = std::array; struct DirectiveTag { DisasmType type{NONE}; @@ -305,14 +308,14 @@ class CartDebug : public DebuggerSystem void getBankDirectives(ostream& buf, BankInfo& info) const; // Get disassembly enum type from 'flags', taking precendence into account - DisasmType disasmTypeAbsolute(uInt8 flags) const; + DisasmType disasmTypeAbsolute(uInt16 flags) const; // Convert disassembly enum type to corresponding string and append to buf void disasmTypeAsString(ostream& buf, DisasmType type) const; // Convert all disassembly types in 'flags' to corresponding string and // append to buf - void disasmTypeAsString(ostream& buf, uInt8 flags) const; + void disasmTypeAsString(ostream& buf, uInt16 flags) const; private: const OSystem& myOSystem; diff --git a/src/debugger/Debugger.cxx b/src/debugger/Debugger.cxx index 8cdd525de..ce712bf1f 100644 --- a/src/debugger/Debugger.cxx +++ b/src/debugger/Debugger.cxx @@ -440,19 +440,19 @@ bool Debugger::writeTrap(uInt16 t) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8 Debugger::peek(uInt16 addr, uInt8 flags) +uInt8 Debugger::peek(uInt16 addr, uInt16 flags) { return mySystem.peek(addr, flags); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt16 Debugger::dpeek(uInt16 addr, uInt8 flags) +uInt16 Debugger::dpeek(uInt16 addr, uInt16 flags) { return uInt16(mySystem.peek(addr, flags) | (mySystem.peek(addr+1, flags) << 8)); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Debugger::poke(uInt16 addr, uInt8 value, uInt8 flags) +void Debugger::poke(uInt16 addr, uInt8 value, uInt16 flags) { mySystem.poke(addr, value, flags); } @@ -464,13 +464,13 @@ M6502& Debugger::m6502() const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Debugger::peekAsInt(int addr, uInt8 flags) +int Debugger::peekAsInt(int addr, uInt16 flags) { return mySystem.peek(uInt16(addr), flags); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Debugger::dpeekAsInt(int addr, uInt8 flags) +int Debugger::dpeekAsInt(int addr, uInt16 flags) { return mySystem.peek(uInt16(addr), flags) | (mySystem.peek(uInt16(addr+1), flags) << 8); @@ -483,7 +483,7 @@ int Debugger::getAccessFlags(uInt16 addr) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Debugger::setAccessFlags(uInt16 addr, uInt8 flags) +void Debugger::setAccessFlags(uInt16 addr, uInt16 flags) { mySystem.setAccessFlags(addr, flags); } diff --git a/src/debugger/Debugger.hxx b/src/debugger/Debugger.hxx index 7e9ad0bc1..738404552 100644 --- a/src/debugger/Debugger.hxx +++ b/src/debugger/Debugger.hxx @@ -243,18 +243,18 @@ class Debugger : public DialogContainer static Debugger& debugger() { return *myStaticDebugger; } /** Convenience methods to access peek/poke from System */ - uInt8 peek(uInt16 addr, uInt8 flags = 0); - uInt16 dpeek(uInt16 addr, uInt8 flags = 0); - void poke(uInt16 addr, uInt8 value, uInt8 flags = 0); + uInt8 peek(uInt16 addr, uInt16 flags = 0); + uInt16 dpeek(uInt16 addr, uInt16 flags = 0); + void poke(uInt16 addr, uInt8 value, uInt16 flags = 0); /** Convenience method to access the 6502 from System */ M6502& m6502() const; /** These are now exposed so Expressions can use them. */ - int peekAsInt(int addr, uInt8 flags = 0); - int dpeekAsInt(int addr, uInt8 flags = 0); + int peekAsInt(int addr, uInt16 flags = 0); + int dpeekAsInt(int addr, uInt16 flags = 0); int getAccessFlags(uInt16 addr) const; - void setAccessFlags(uInt16 addr, uInt8 flags); + void setAccessFlags(uInt16 addr, uInt16 flags); uInt32 getBaseAddress(uInt32 addr, bool read); diff --git a/src/debugger/DiStella.cxx b/src/debugger/DiStella.cxx index 9ee79c61e..235b2d9da 100644 --- a/src/debugger/DiStella.cxx +++ b/src/debugger/DiStella.cxx @@ -125,14 +125,25 @@ void DiStella::disasm(uInt32 distart, int pass) goto FIX_LAST; if (checkBits(myPC, CartDebug::GFX | CartDebug::PGFX, - CartDebug::CODE)) { + CartDebug::CODE)) + { if (pass == 2) mark(myPC + myOffset, CartDebug::VALID_ENTRY); if (pass == 3) outputGraphics(); ++myPC; + } else if (checkBits(myPC, CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL, + CartDebug::CODE | CartDebug::GFX | CartDebug::PGFX)) + { + if (pass == 2) + mark(myPC + myOffset, CartDebug::VALID_ENTRY); + if (pass == 3) + outputColors(); + ++myPC; } else if (checkBits(myPC, CartDebug::DATA, - CartDebug::CODE | CartDebug::GFX | CartDebug::PGFX)) { + CartDebug::CODE | CartDebug::GFX | CartDebug::PGFX | + CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL)) + { if (pass == 2) mark(myPC + myOffset, CartDebug::VALID_ENTRY); if (pass == 3) @@ -140,7 +151,9 @@ void DiStella::disasm(uInt32 distart, int pass) else ++myPC; } else if (checkBits(myPC, CartDebug::ROW, - CartDebug::CODE | CartDebug::DATA | CartDebug::GFX | CartDebug::PGFX)) { + CartDebug::CODE | + CartDebug::DATA | CartDebug::GFX | CartDebug::PGFX | + CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL)) { FIX_LAST: if (pass == 2) mark(myPC + myOffset, CartDebug::VALID_ENTRY); @@ -606,12 +619,13 @@ void DiStella::disasmPass1(CartDebug::AddressList& debuggerAddresses) // in the emulation core indicate that the CODE range has finished // Therefore, we stop at the first such address encountered for (uInt32 k = pcBeg; k <= myPCEnd; ++k) { - if (checkBits(k, CartDebug::CartDebug::DATA | CartDebug::GFX | CartDebug::PGFX, - CartDebug::CODE)) { + if (checkBits(k, CartDebug::CartDebug::DATA | CartDebug::GFX | CartDebug::PGFX | + CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL, + CartDebug::CODE)) { //if (Debugger::debugger().getAccessFlags(k) & // (CartDebug::DATA | CartDebug::GFX | CartDebug::PGFX)) { // TODO: this should never happen, remove when we are sure - // TODO: NOT USED: uInt8 flags = Debugger::debugger().getAccessFlags(k); + // TODO: NOT USED: uInt16 flags = Debugger::debugger().getAccessFlags(k); myPCEnd = k - 1; break; } @@ -667,8 +681,9 @@ void DiStella::disasmPass1(CartDebug::AddressList& debuggerAddresses) } // Must be ROW / unused bytes - if (!checkBit(k, CartDebug::CODE | CartDebug::GFX | - CartDebug::PGFX | CartDebug::DATA)) + if (!checkBit(k, CartDebug::CODE | CartDebug::GFX | CartDebug::PGFX | + CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL | + CartDebug::DATA)) mark(k + myOffset, CartDebug::ROW); } } @@ -685,7 +700,9 @@ void DiStella::disasmFromAddress(uInt32 distart) while (myPC <= myAppData.end) { // abort when we reach non-code areas - if (checkBits(myPC, CartDebug::CartDebug::DATA | CartDebug::GFX | CartDebug::PGFX, CartDebug::CODE)) { + if (checkBits(myPC, CartDebug::CartDebug::DATA | CartDebug::GFX | CartDebug::PGFX | + CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL, + CartDebug::CODE)) { myPCEnd = (myPC - 1) + myOffset; return; } @@ -823,7 +840,7 @@ void DiStella::disasmFromAddress(uInt32 distart) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int DiStella::mark(uInt32 address, uInt8 mask, bool directive) +int DiStella::mark(uInt32 address, uInt16 mask, bool directive) { /*----------------------------------------------------------------------- For any given offset and code range... @@ -896,16 +913,16 @@ int DiStella::mark(uInt32 address, uInt8 mask, bool directive) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool DiStella::checkBit(uInt16 address, uInt8 mask, bool useDebugger) const +bool DiStella::checkBit(uInt16 address, uInt16 mask, bool useDebugger) const { // The REFERENCED and VALID_ENTRY flags are needed for any inspection of // an address // Since they're set only in the labels array (as the lower two bits), // they must be included in the other bitfields - uInt8 label = myLabels[address & myAppData.end], + uInt16 label = myLabels[address & myAppData.end], lastbits = label & 0x03, - directive = myDirectives[address & myAppData.end] & 0xFC, - debugger = Debugger::debugger().getAccessFlags(address | myOffset) & 0xFC; + directive = myDirectives[address & myAppData.end] & ~0x03, + debugger = Debugger::debugger().getAccessFlags(address | myOffset) & ~0x03; // Any address marked by a manual directive always takes priority if (directive) @@ -918,11 +935,18 @@ bool DiStella::checkBit(uInt16 address, uInt8 mask, bool useDebugger) const return label & mask; } -bool DiStella::checkBits(uInt16 address, uInt8 mask, uInt8 notMask, bool useDebugger) const +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool DiStella::checkBits(uInt16 address, uInt16 mask, uInt16 notMask, bool useDebugger) const { return checkBit(address, mask, useDebugger) && !checkBit(address, notMask, useDebugger); } +/*bool DiStella::isType(uInt16 address) const +{ + return checkBits(address, CartDebug::GFX | CartDebug::PGFX | + CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL); +}*/ + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool DiStella::check_range(uInt16 beg, uInt16 end) const { @@ -999,18 +1023,29 @@ void DiStella::addEntry(CartDebug::DisasmType type) Debugger::debugger().setAccessFlags(tag.address, CartDebug::TCODE); } break; + case CartDebug::GFX: case CartDebug::PGFX: getline(myDisasmBuf, tag.disasm, '\''); getline(myDisasmBuf, tag.bytes); break; + + case CartDebug::COL: + case CartDebug::PCOL: + case CartDebug::BCOL: + getline(myDisasmBuf, tag.disasm, '\''); + getline(myDisasmBuf, tag.bytes); + break; + case CartDebug::DATA: getline(myDisasmBuf, tag.disasm, '\''); getline(myDisasmBuf, tag.bytes); break; + case CartDebug::ROW: getline(myDisasmBuf, tag.disasm); break; + case CartDebug::NONE: default: // should never happen tag.disasm = " "; @@ -1044,7 +1079,7 @@ void DiStella::outputGraphics() myDisasmBuf << ".byte $" << Base::HEX2 << int(byte) << " |"; for (uInt8 i = 0, c = byte; i < 8; ++i, c <<= 1) myDisasmBuf << ((c > 127) ? bitString : " "); - myDisasmBuf << "| $" << Base::HEX4 << myPC + myOffset << "'"; + myDisasmBuf << "| $" << Base::HEX4 << myPC + myOffset << "'"; if (mySettings.gfxFormat == Base::Fmt::_2) myDisasmBuf << Base::toString(byte, Base::Fmt::_2_8); else @@ -1053,6 +1088,74 @@ void DiStella::outputGraphics() addEntry(isPGfx ? CartDebug::PGFX : CartDebug::GFX); } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void DiStella::outputColors() +{ + string NTSC_COLOR[16] = { + "BLACK", "YELLOW", "BROWN", "ORANGE", + "RED", "MAUVE", "VIOLET", "PURPLE", + "BLUE", "BLUE_CYAN", "CYAN", "CYAN_GREEN", + "GREEN", "GREEN_YELLOW", "GREEN_BEIGE", "BEIGE" + }; + string PAL_COLOR[16] = { + "BLACK0", "BLACK1", "YELLOW", "GREEN_YELLOW", + "ORANGE", "GREEN", "RED", "CYAN_GREEN", + "MAUVE", "CYAN", "VIOLET", "BLUE_CYAN", + "PURPLE", "BLUE", "BLACKE", "BLACKF" + }; + string SECAM_COLOR[8] = { + "BLACK", "BLUE", "RED", "PURPLE", + "GREEN", "CYAN", "YELLOW", "WHITE" + }; + + uInt8 byte = Debugger::debugger().peek(myPC + myOffset); + + // add extra spacing line when switching from non-colors to colors + if(mySegType != CartDebug::COL && mySegType != CartDebug::NONE) + { + myDisasmBuf << " ' ' "; + addEntry(CartDebug::NONE); + } + mySegType = CartDebug::COL; + + // output label/address + if(checkBit(myPC, CartDebug::REFERENCED)) + myDisasmBuf << Base::HEX4 << myPC + myOffset << "'L" << Base::HEX4 << myPC + myOffset << "'"; + else + myDisasmBuf << Base::HEX4 << myPC + myOffset << "' '"; + + // output color + string color; + + myDisasmBuf << ".byte "; + if(myDbg.myConsole.timing() == ConsoleTiming::ntsc) + { + color = NTSC_COLOR[byte >> 4]; + myDisasmBuf << color << "|$" << Base::HEX1 << (byte & 0xf); + } + else if(myDbg.myConsole.timing() == ConsoleTiming::pal) + { + color = PAL_COLOR[byte >> 4]; + myDisasmBuf << color << "|$" << Base::HEX1 << (byte & 0xf); + } + else + { + color = SECAM_COLOR[(byte >> 1) & 0x7]; + myDisasmBuf << "$" << Base::HEX1 << (byte >> 4) << "|" << color; + } + myDisasmBuf << std::setw(16 - color.length()) << std::setfill(' '); + + // output address + myDisasmBuf << "; $" << Base::HEX4 << myPC + myOffset << " " + << (checkBit(myPC, CartDebug::COL) ? "(Px)" : checkBit(myPC, CartDebug::PCOL) ? "(PF)" : "(BK)"); + + // output color value + myDisasmBuf << "'" << Base::HEX2 << int(byte); + + addEntry(checkBit(myPC, CartDebug::COL) ? CartDebug::COL : + checkBit(myPC, CartDebug::PCOL) ? CartDebug::PCOL : CartDebug::BCOL); +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void DiStella::outputBytes(CartDebug::DisasmType type) { @@ -1097,7 +1200,9 @@ void DiStella::outputBytes(CartDebug::DisasmType type) ++myPC; } isType = checkBits(myPC, type, - CartDebug::CODE | (type != CartDebug::DATA ? CartDebug::DATA : 0) | CartDebug::GFX | CartDebug::PGFX); + CartDebug::CODE | (type != CartDebug::DATA ? CartDebug::DATA : 0) | + CartDebug::GFX | CartDebug::PGFX | + CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL); referenced = checkBit(myPC, CartDebug::REFERENCED); } if (!lineEmpty) diff --git a/src/debugger/DiStella.hxx b/src/debugger/DiStella.hxx index 16da2b6ba..830835a02 100644 --- a/src/debugger/DiStella.hxx +++ b/src/debugger/DiStella.hxx @@ -87,11 +87,12 @@ class DiStella void disasmFromAddress(uInt32 distart); bool check_range(uInt16 start, uInt16 end) const; - int mark(uInt32 address, uInt8 mask, bool directive = false); - bool checkBit(uInt16 address, uInt8 mask, bool useDebugger = true) const; - - bool checkBits(uInt16 address, uInt8 mask, uInt8 notMask, bool useDebugger = true) const; + int mark(uInt32 address, uInt16 mask, bool directive = false); + bool checkBit(uInt16 address, uInt16 mask, bool useDebugger = true) const; + bool checkBits(uInt16 address, uInt16 mask, uInt16 notMask, bool useDebugger = true) const; + //bool isType(uInt16 address) const; void outputGraphics(); + void outputColors(); void outputBytes(CartDebug::DisasmType type); // Convenience methods to generate appropriate labels diff --git a/src/debugger/gui/RomListWidget.cxx b/src/debugger/gui/RomListWidget.cxx index 8a705f3b1..fdc24fb71 100644 --- a/src/debugger/gui/RomListWidget.cxx +++ b/src/debugger/gui/RomListWidget.cxx @@ -511,7 +511,8 @@ void RomListWidget::drawWidget(bool hilite) // Bytes are only editable if they represent code, graphics, or accessible data // Otherwise, the disassembly should get all remaining space - if(dlist[pos].type & (CartDebug::CODE|CartDebug::GFX|CartDebug::PGFX|CartDebug::DATA)) + if(dlist[pos].type & (CartDebug::CODE|CartDebug::GFX|CartDebug::PGFX| + CartDebug::COL|CartDebug::PCOL|CartDebug::BCOL|CartDebug::DATA)) { if(dlist[pos].type == CartDebug::CODE) { diff --git a/src/emucore/Cart.cxx b/src/emucore/Cart.cxx index 3f1f53690..cd40f886b 100644 --- a/src/emucore/Cart.cxx +++ b/src/emucore/Cart.cxx @@ -117,7 +117,7 @@ void Cartridge::pokeRAM(uInt8& dest, uInt16 address, uInt8 value) void Cartridge::createCodeAccessBase(size_t size) { #ifdef DEBUGGER_SUPPORT - myCodeAccessBase = make_unique(size); + myCodeAccessBase = make_unique(size); std::fill_n(myCodeAccessBase.get(), size, CartDebug::ROW); #else myCodeAccessBase = nullptr; diff --git a/src/emucore/Cart.hxx b/src/emucore/Cart.hxx index 9e8d40a4b..a7bd1da6b 100644 --- a/src/emucore/Cart.hxx +++ b/src/emucore/Cart.hxx @@ -322,7 +322,7 @@ class Cartridge : public Device // The array containing information about every byte of ROM indicating // whether it is used as code. - ByteBuffer myCodeAccessBase; + WordBuffer myCodeAccessBase; // Contains address of illegal RAM write access or 0 uInt16 myRamWriteAccess{0}; diff --git a/src/emucore/Cart4A50.cxx b/src/emucore/Cart4A50.cxx index ead5d9285..ca634ed09 100644 --- a/src/emucore/Cart4A50.cxx +++ b/src/emucore/Cart4A50.cxx @@ -182,7 +182,7 @@ bool Cartridge4A50::poke(uInt16 address, uInt8 value) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8 Cartridge4A50::getAccessFlags(uInt16 address) const +uInt16 Cartridge4A50::getAccessFlags(uInt16 address) const { if((address & 0x1800) == 0x1000) // 2K region from 0x1000 - 0x17ff { @@ -214,7 +214,7 @@ uInt8 Cartridge4A50::getAccessFlags(uInt16 address) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Cartridge4A50::setAccessFlags(uInt16 address, uInt8 flags) +void Cartridge4A50::setAccessFlags(uInt16 address, uInt16 flags) { if((address & 0x1800) == 0x1000) // 2K region from 0x1000 - 0x17ff { diff --git a/src/emucore/Cart4A50.hxx b/src/emucore/Cart4A50.hxx index 863b1a020..210a2604b 100644 --- a/src/emucore/Cart4A50.hxx +++ b/src/emucore/Cart4A50.hxx @@ -158,14 +158,14 @@ class Cartridge4A50 : public Cartridge @param address The address to query */ - uInt8 getAccessFlags(uInt16 address) const override; + uInt16 getAccessFlags(uInt16 address) const override; /** Change the given address to use the given disassembly flags. @param address The address to modify @param flags A bitfield of DisasmType directives for the given address */ - void setAccessFlags(uInt16 address, uInt8 flags) override; + void setAccessFlags(uInt16 address, uInt16 flags) override; /** Check all possible hotspots diff --git a/src/emucore/CartAR.cxx b/src/emucore/CartAR.cxx index b095d446a..59ad6f03f 100644 --- a/src/emucore/CartAR.cxx +++ b/src/emucore/CartAR.cxx @@ -191,14 +191,14 @@ bool CartridgeAR::poke(uInt16 addr, uInt8) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8 CartridgeAR::getAccessFlags(uInt16 address) const +uInt16 CartridgeAR::getAccessFlags(uInt16 address) const { return myCodeAccessBase[(address & 0x07FF) + myImageOffset[(address & 0x0800) ? 1 : 0]]; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeAR::setAccessFlags(uInt16 address, uInt8 flags) +void CartridgeAR::setAccessFlags(uInt16 address, uInt16 flags) { myCodeAccessBase[(address & 0x07FF) + myImageOffset[(address & 0x0800) ? 1 : 0]] |= flags; diff --git a/src/emucore/CartAR.hxx b/src/emucore/CartAR.hxx index 039d19bb8..09dc11b3a 100644 --- a/src/emucore/CartAR.hxx +++ b/src/emucore/CartAR.hxx @@ -164,14 +164,14 @@ class CartridgeAR : public Cartridge @param address The address to query */ - uInt8 getAccessFlags(uInt16 address) const override; + uInt16 getAccessFlags(uInt16 address) const override; /** Change the given address to use the given disassembly flags. @param address The address to modify @param flags A bitfield of DisasmType directives for the given address */ - void setAccessFlags(uInt16 address, uInt8 flags) override; + void setAccessFlags(uInt16 address, uInt16 flags) override; // Handle a change to the bank configuration bool bankConfiguration(uInt8 configuration); diff --git a/src/emucore/Device.hxx b/src/emucore/Device.hxx index 444a599af..f405a8739 100644 --- a/src/emucore/Device.hxx +++ b/src/emucore/Device.hxx @@ -102,7 +102,7 @@ class Device : public Serializable @param address The address to modify */ - virtual uInt8 getAccessFlags(uInt16 address) const { return 0; } + virtual uInt16 getAccessFlags(uInt16 address) const { return 0; } /** Change the given address type to use the given disassembly flags @@ -110,7 +110,7 @@ class Device : public Serializable @param address The address to modify @param flags A bitfield of DisasmType directives for the given address */ - virtual void setAccessFlags(uInt16 address, uInt8 flags) { } + virtual void setAccessFlags(uInt16 address, uInt16 flags) { } protected: /// Pointer to the system the device is installed in or the null pointer diff --git a/src/emucore/M6502.cxx b/src/emucore/M6502.cxx index 29863c306..fda514705 100644 --- a/src/emucore/M6502.cxx +++ b/src/emucore/M6502.cxx @@ -104,7 +104,7 @@ void M6502::reset() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -inline uInt8 M6502::peek(uInt16 address, uInt8 flags) +inline uInt8 M6502::peek(uInt16 address, uInt16 flags) { handleHalt(); @@ -144,7 +144,7 @@ inline uInt8 M6502::peek(uInt16 address, uInt8 flags) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -inline void M6502::poke(uInt16 address, uInt8 value, uInt8 flags) +inline void M6502::poke(uInt16 address, uInt8 value, uInt16 flags) { //////////////////////////////////////////////// // TODO - move this logic directly into CartAR diff --git a/src/emucore/M6502.hxx b/src/emucore/M6502.hxx index c05fbc522..dd48315a6 100644 --- a/src/emucore/M6502.hxx +++ b/src/emucore/M6502.hxx @@ -269,7 +269,7 @@ class M6502 : public Serializable @return The byte at the specified address */ - uInt8 peek(uInt16 address, uInt8 flags); + uInt8 peek(uInt16 address, uInt16 flags); /** Change the byte at the specified address to the given value and @@ -278,7 +278,7 @@ class M6502 : public Serializable @param address The address where the value should be stored @param value The value to be stored at the address */ - void poke(uInt16 address, uInt8 value, uInt8 flags = 0); + void poke(uInt16 address, uInt8 value, uInt16 flags = 0); /** Get the 8-bit value of the Processor Status register. @@ -391,7 +391,7 @@ class M6502 : public Serializable /// accessed specifically by a peek or poke command uInt16 myLastPeekBaseAddress{0}, myLastPokeBaseAddress{0}; // Indicates the type of the last access - uInt8 myFlags{0}; + uInt16 myFlags{0}; /// Indicates the last address used to access data by a peek command /// for the CPU registers (S/A/X/Y) diff --git a/src/emucore/M6532.cxx b/src/emucore/M6532.cxx index dec6d9981..80f828f83 100644 --- a/src/emucore/M6532.cxx +++ b/src/emucore/M6532.cxx @@ -467,7 +467,7 @@ void M6532::createAccessBases() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8 M6532::getAccessFlags(uInt16 address) const +uInt16 M6532::getAccessFlags(uInt16 address) const { if (address & IO_BIT) return myIOAccessBase[address & IO_MASK]; @@ -478,7 +478,7 @@ uInt8 M6532::getAccessFlags(uInt16 address) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void M6532::setAccessFlags(uInt16 address, uInt8 flags) +void M6532::setAccessFlags(uInt16 address, uInt16 flags) { // ignore none flag if (flags != CartDebug::NONE) { diff --git a/src/emucore/M6532.hxx b/src/emucore/M6532.hxx index bbda58e31..db93414a3 100644 --- a/src/emucore/M6532.hxx +++ b/src/emucore/M6532.hxx @@ -151,14 +151,14 @@ class M6532 : public Device @param address The address to query */ - uInt8 getAccessFlags(uInt16 address) const override; + uInt16 getAccessFlags(uInt16 address) const override; /** Change the given address to use the given disassembly flags. @param address The address to modify @param flags A bitfield of DisasmType directives for the given address */ - void setAccessFlags(uInt16 address, uInt8 flags) override; + void setAccessFlags(uInt16 address, uInt16 flags) override; #endif // DEBUGGER_SUPPORT private: @@ -225,9 +225,9 @@ class M6532 : public Device // The arrays containing information about every byte of RIOT // indicating whether and how (RW) it is used. - std::array myRAMAccessBase; - std::array myStackAccessBase; - std::array myIOAccessBase; + std::array myRAMAccessBase; + std::array myStackAccessBase; + std::array myIOAccessBase; // The array used to skip the first ZP access tracking std::array myZPAccessDelay; #endif // DEBUGGER_SUPPORT diff --git a/src/emucore/System.cxx b/src/emucore/System.cxx index ee9392b03..e40124c2a 100644 --- a/src/emucore/System.cxx +++ b/src/emucore/System.cxx @@ -99,7 +99,7 @@ void System::clearDirtyPages() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8 System::peek(uInt16 addr, uInt8 flags) +uInt8 System::peek(uInt16 addr, uInt16 flags) { const PageAccess& access = getPageAccess(addr); @@ -127,7 +127,7 @@ uInt8 System::peek(uInt16 addr, uInt8 flags) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void System::poke(uInt16 addr, uInt8 value, uInt8 flags) +void System::poke(uInt16 addr, uInt8 value, uInt16 flags) { uInt16 page = (addr & ADDRESS_MASK) >> PAGE_SHIFT; const PageAccess& access = myPageAccessTable[page]; @@ -160,7 +160,7 @@ void System::poke(uInt16 addr, uInt8 value, uInt8 flags) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8 System::getAccessFlags(uInt16 addr) const +uInt16 System::getAccessFlags(uInt16 addr) const { #ifdef DEBUGGER_SUPPORT const PageAccess& access = getPageAccess(addr); @@ -175,7 +175,7 @@ uInt8 System::getAccessFlags(uInt16 addr) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void System::setAccessFlags(uInt16 addr, uInt8 flags) +void System::setAccessFlags(uInt16 addr, uInt16 flags) { #ifdef DEBUGGER_SUPPORT const PageAccess& access = getPageAccess(addr); diff --git a/src/emucore/System.hxx b/src/emucore/System.hxx index a9cf75cc2..f4423c491 100644 --- a/src/emucore/System.hxx +++ b/src/emucore/System.hxx @@ -202,7 +202,7 @@ class System : public Serializable @return The byte at the specified address */ - uInt8 peek(uInt16 address, uInt8 flags = 0); + uInt8 peek(uInt16 address, uInt16 flags = 0); /** Change the byte at the specified address to the given value. @@ -217,7 +217,7 @@ class System : public Serializable @param address The address where the value should be stored @param value The value to be stored at the address */ - void poke(uInt16 address, uInt8 value, uInt8 flags = 0); + void poke(uInt16 address, uInt8 value, uInt16 flags = 0); /** Lock/unlock the data bus. When the bus is locked, peek() and @@ -236,8 +236,8 @@ class System : public Serializable address. Note that while any flag can be used, the disassembly only really acts on CODE/GFX/PGFX/DATA/ROW. */ - uInt8 getAccessFlags(uInt16 address) const; - void setAccessFlags(uInt16 address, uInt8 flags); + uInt16 getAccessFlags(uInt16 address) const; + void setAccessFlags(uInt16 address, uInt16 flags); public: /** @@ -277,7 +277,7 @@ class System : public Serializable conclusively determine if a section of address space is CODE, even if the disassembler failed to mark it as such. */ - uInt8* codeAccessBase{nullptr}; + uInt16* codeAccessBase{nullptr}; /** Pointer to the device associated with this page or to the system's diff --git a/src/emucore/tia/TIA.cxx b/src/emucore/tia/TIA.cxx index 38beebbcf..145eea6e5 100644 --- a/src/emucore/tia/TIA.cxx +++ b/src/emucore/tia/TIA.cxx @@ -568,26 +568,47 @@ bool TIA::poke(uInt16 address, uInt8 value) break; case COLUBK: + { value &= 0xFE; myBackground.setColor(value); myShadowRegisters[address] = value; + #ifdef DEBUGGER_SUPPORT + uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); + if(dataAddr) + mySystem->setAccessFlags(dataAddr, CartDebug::BCOL); + #endif break; + } case COLUP0: + { value &= 0xFE; myPlayfield.setColorP0(value); myMissile0.setColor(value); myPlayer0.setColor(value); myShadowRegisters[address] = value; + #ifdef DEBUGGER_SUPPORT + uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); + if(dataAddr) + mySystem->setAccessFlags(dataAddr, CartDebug::COL); + #endif break; + } case COLUP1: + { value &= 0xFE; myPlayfield.setColorP1(value); myMissile1.setColor(value); myPlayer1.setColor(value); myShadowRegisters[address] = value; + #ifdef DEBUGGER_SUPPORT + uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); + if(dataAddr) + mySystem->setAccessFlags(dataAddr, CartDebug::COL); + #endif break; + } case CTRLPF: flushLineCache(); @@ -599,9 +620,10 @@ bool TIA::poke(uInt16 address, uInt8 value) break; case COLUPF: + { flushLineCache(); value &= 0xFE; - if (myPFColorDelay) + if(myPFColorDelay) myDelayQueue.push(COLUPF, value, 1); else { @@ -609,7 +631,13 @@ bool TIA::poke(uInt16 address, uInt8 value) myBall.setColor(value); myShadowRegisters[address] = value; } + #ifdef DEBUGGER_SUPPORT + uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); + if(dataAddr) + mySystem->setAccessFlags(dataAddr, CartDebug::PCOL); + #endif break; + } case PF0: { @@ -1891,13 +1919,13 @@ void TIA::createAccessBase() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8 TIA::getAccessFlags(uInt16 address) const +uInt16 TIA::getAccessFlags(uInt16 address) const { return myAccessBase[address & TIA_MASK]; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void TIA::setAccessFlags(uInt16 address, uInt8 flags) +void TIA::setAccessFlags(uInt16 address, uInt16 flags) { // ignore none flag if (flags != CartDebug::NONE) { diff --git a/src/emucore/tia/TIA.hxx b/src/emucore/tia/TIA.hxx index 0b3cb4eaf..acb7ee40e 100644 --- a/src/emucore/tia/TIA.hxx +++ b/src/emucore/tia/TIA.hxx @@ -685,14 +685,14 @@ class TIA : public Device * * @param address The address to query */ - uInt8 getAccessFlags(uInt16 address) const override; + uInt16 getAccessFlags(uInt16 address) const override; /** * Change the given address to use the given disassembly flags. * * @param address The address to modify * @param flags A bitfield of DisasmType directives for the given address */ - void setAccessFlags(uInt16 address, uInt8 flags) override; + void setAccessFlags(uInt16 address, uInt16 flags) override; #endif // DEBUGGER_SUPPORT private: @@ -901,7 +901,7 @@ class TIA : public Device #ifdef DEBUGGER_SUPPORT // The arrays containing information about every byte of TIA // indicating whether and how (RW) it is used. - std::array myAccessBase; + std::array myAccessBase; // The array used to skip the first two TIA access trackings std::array myAccessDelay; From 3fa6ede03c5cb2ccf980be408a00f693ef972c6e Mon Sep 17 00:00:00 2001 From: thrust26 Date: Thu, 26 Mar 2020 23:26:18 +0100 Subject: [PATCH 39/80] use defined type for disassembly flags --- src/common/bspf.hxx | 1 - src/debugger/CartDebug.cxx | 4 ++-- src/debugger/CartDebug.hxx | 6 ++++-- src/debugger/Debugger.cxx | 14 +++++++------- src/debugger/Debugger.hxx | 15 ++++++++------- src/emucore/Cart.hxx | 3 ++- src/emucore/Cart4A50.cxx | 4 ++-- src/emucore/Cart4A50.hxx | 4 ++-- src/emucore/CartAR.cxx | 4 ++-- src/emucore/CartAR.hxx | 4 ++-- src/emucore/Device.hxx | 5 +++-- src/emucore/M6502.cxx | 4 ++-- src/emucore/M6502.hxx | 5 +++-- src/emucore/M6532.cxx | 4 ++-- src/emucore/M6532.hxx | 4 ++-- src/emucore/System.cxx | 8 ++++---- src/emucore/System.hxx | 11 ++++++----- src/emucore/tia/TIA.cxx | 4 ++-- src/emucore/tia/TIA.hxx | 4 ++-- 19 files changed, 57 insertions(+), 51 deletions(-) diff --git a/src/common/bspf.hxx b/src/common/bspf.hxx index 06333b13c..e7cc60024 100644 --- a/src/common/bspf.hxx +++ b/src/common/bspf.hxx @@ -84,7 +84,6 @@ using ByteArray = std::vector; using ShortArray = std::vector; using StringList = std::vector; using ByteBuffer = std::unique_ptr; // NOLINT -using WordBuffer = std::unique_ptr; // NOLINT // We use KB a lot; let's make a literal for it constexpr uInt32 operator "" _KB(unsigned long long size) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 6199bb306..0f9a75a27 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -1461,7 +1461,7 @@ void CartDebug::addressTypeAsString(ostream& buf, uInt16 addr) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CartDebug::DisasmType CartDebug::disasmTypeAbsolute(uInt16 flags) const +CartDebug::DisasmType CartDebug::disasmTypeAbsolute(CartDebug::DisasmFlags flags) const { if(flags & CartDebug::CODE) return CartDebug::CODE; @@ -1506,7 +1506,7 @@ void CartDebug::disasmTypeAsString(ostream& buf, DisasmType type) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartDebug::disasmTypeAsString(ostream& buf, uInt16 flags) const +void CartDebug::disasmTypeAsString(ostream& buf, CartDebug::DisasmFlags flags) const { if(flags) { diff --git a/src/debugger/CartDebug.hxx b/src/debugger/CartDebug.hxx index e331cc585..17f67aa7a 100644 --- a/src/debugger/CartDebug.hxx +++ b/src/debugger/CartDebug.hxx @@ -72,6 +72,8 @@ class CartDebug : public DebuggerSystem // special type for poke() WRITE = TCODE // 0x200, address written to }; + using DisasmFlags = uInt16; + struct DisassemblyTag { DisasmType type{NONE}; uInt16 address{0}; @@ -308,14 +310,14 @@ class CartDebug : public DebuggerSystem void getBankDirectives(ostream& buf, BankInfo& info) const; // Get disassembly enum type from 'flags', taking precendence into account - DisasmType disasmTypeAbsolute(uInt16 flags) const; + DisasmType disasmTypeAbsolute(CartDebug::DisasmFlags flags) const; // Convert disassembly enum type to corresponding string and append to buf void disasmTypeAsString(ostream& buf, DisasmType type) const; // Convert all disassembly types in 'flags' to corresponding string and // append to buf - void disasmTypeAsString(ostream& buf, uInt16 flags) const; + void disasmTypeAsString(ostream& buf, CartDebug::DisasmFlags flags) const; private: const OSystem& myOSystem; diff --git a/src/debugger/Debugger.cxx b/src/debugger/Debugger.cxx index ce712bf1f..e332d2586 100644 --- a/src/debugger/Debugger.cxx +++ b/src/debugger/Debugger.cxx @@ -440,19 +440,19 @@ bool Debugger::writeTrap(uInt16 t) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8 Debugger::peek(uInt16 addr, uInt16 flags) +uInt8 Debugger::peek(uInt16 addr, CartDebug::DisasmFlags flags) { return mySystem.peek(addr, flags); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt16 Debugger::dpeek(uInt16 addr, uInt16 flags) +uInt16 Debugger::dpeek(uInt16 addr, CartDebug::DisasmFlags flags) { return uInt16(mySystem.peek(addr, flags) | (mySystem.peek(addr+1, flags) << 8)); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Debugger::poke(uInt16 addr, uInt8 value, uInt16 flags) +void Debugger::poke(uInt16 addr, uInt8 value, CartDebug::DisasmFlags flags) { mySystem.poke(addr, value, flags); } @@ -464,26 +464,26 @@ M6502& Debugger::m6502() const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Debugger::peekAsInt(int addr, uInt16 flags) +int Debugger::peekAsInt(int addr, CartDebug::DisasmFlags flags) { return mySystem.peek(uInt16(addr), flags); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Debugger::dpeekAsInt(int addr, uInt16 flags) +int Debugger::dpeekAsInt(int addr, CartDebug::DisasmFlags flags) { return mySystem.peek(uInt16(addr), flags) | (mySystem.peek(uInt16(addr+1), flags) << 8); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Debugger::getAccessFlags(uInt16 addr) const +CartDebug::DisasmFlags Debugger::getAccessFlags(uInt16 addr) const { return mySystem.getAccessFlags(addr); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Debugger::setAccessFlags(uInt16 addr, uInt16 flags) +void Debugger::setAccessFlags(uInt16 addr, CartDebug::DisasmFlags flags) { mySystem.setAccessFlags(addr, flags); } diff --git a/src/debugger/Debugger.hxx b/src/debugger/Debugger.hxx index 738404552..0cfbaf458 100644 --- a/src/debugger/Debugger.hxx +++ b/src/debugger/Debugger.hxx @@ -47,6 +47,7 @@ class RewindManager; #include "DialogContainer.hxx" #include "DebuggerDialog.hxx" #include "FrameBufferConstants.hxx" +#include "CartDebug.hxx" #include "bspf.hxx" /** @@ -243,18 +244,18 @@ class Debugger : public DialogContainer static Debugger& debugger() { return *myStaticDebugger; } /** Convenience methods to access peek/poke from System */ - uInt8 peek(uInt16 addr, uInt16 flags = 0); - uInt16 dpeek(uInt16 addr, uInt16 flags = 0); - void poke(uInt16 addr, uInt8 value, uInt16 flags = 0); + uInt8 peek(uInt16 addr, CartDebug::DisasmFlags flags = CartDebug::NONE); + uInt16 dpeek(uInt16 addr, CartDebug::DisasmFlags flags = CartDebug::NONE); + void poke(uInt16 addr, uInt8 value, CartDebug::DisasmFlags flags = CartDebug::NONE); /** Convenience method to access the 6502 from System */ M6502& m6502() const; /** These are now exposed so Expressions can use them. */ - int peekAsInt(int addr, uInt16 flags = 0); - int dpeekAsInt(int addr, uInt16 flags = 0); - int getAccessFlags(uInt16 addr) const; - void setAccessFlags(uInt16 addr, uInt16 flags); + int peekAsInt(int addr, CartDebug::DisasmFlags flags = CartDebug::NONE); + int dpeekAsInt(int addr, CartDebug::DisasmFlags flags = CartDebug::NONE); + CartDebug::DisasmFlags getAccessFlags(uInt16 addr) const; + void setAccessFlags(uInt16 addr, CartDebug::DisasmFlags flags); uInt32 getBaseAddress(uInt32 addr, bool read); diff --git a/src/emucore/Cart.hxx b/src/emucore/Cart.hxx index a7bd1da6b..5a34f1fc3 100644 --- a/src/emucore/Cart.hxx +++ b/src/emucore/Cart.hxx @@ -30,6 +30,7 @@ class GuiObject; #ifdef DEBUGGER_SUPPORT #include "Font.hxx" #endif +#include "CartDebug.hxx" /** A cartridge is a device which contains the machine code for a @@ -322,7 +323,7 @@ class Cartridge : public Device // The array containing information about every byte of ROM indicating // whether it is used as code. - WordBuffer myCodeAccessBase; + std::unique_ptr myCodeAccessBase; // Contains address of illegal RAM write access or 0 uInt16 myRamWriteAccess{0}; diff --git a/src/emucore/Cart4A50.cxx b/src/emucore/Cart4A50.cxx index ca634ed09..9ac05b2b3 100644 --- a/src/emucore/Cart4A50.cxx +++ b/src/emucore/Cart4A50.cxx @@ -182,7 +182,7 @@ bool Cartridge4A50::poke(uInt16 address, uInt8 value) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt16 Cartridge4A50::getAccessFlags(uInt16 address) const +CartDebug::DisasmFlags Cartridge4A50::getAccessFlags(uInt16 address) const { if((address & 0x1800) == 0x1000) // 2K region from 0x1000 - 0x17ff { @@ -214,7 +214,7 @@ uInt16 Cartridge4A50::getAccessFlags(uInt16 address) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Cartridge4A50::setAccessFlags(uInt16 address, uInt16 flags) +void Cartridge4A50::setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) { if((address & 0x1800) == 0x1000) // 2K region from 0x1000 - 0x17ff { diff --git a/src/emucore/Cart4A50.hxx b/src/emucore/Cart4A50.hxx index 210a2604b..e1299431c 100644 --- a/src/emucore/Cart4A50.hxx +++ b/src/emucore/Cart4A50.hxx @@ -158,14 +158,14 @@ class Cartridge4A50 : public Cartridge @param address The address to query */ - uInt16 getAccessFlags(uInt16 address) const override; + CartDebug::DisasmFlags getAccessFlags(uInt16 address) const override; /** Change the given address to use the given disassembly flags. @param address The address to modify @param flags A bitfield of DisasmType directives for the given address */ - void setAccessFlags(uInt16 address, uInt16 flags) override; + void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) override; /** Check all possible hotspots diff --git a/src/emucore/CartAR.cxx b/src/emucore/CartAR.cxx index 59ad6f03f..fc63d7954 100644 --- a/src/emucore/CartAR.cxx +++ b/src/emucore/CartAR.cxx @@ -191,14 +191,14 @@ bool CartridgeAR::poke(uInt16 addr, uInt8) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt16 CartridgeAR::getAccessFlags(uInt16 address) const +CartDebug::DisasmFlags CartridgeAR::getAccessFlags(uInt16 address) const { return myCodeAccessBase[(address & 0x07FF) + myImageOffset[(address & 0x0800) ? 1 : 0]]; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeAR::setAccessFlags(uInt16 address, uInt16 flags) +void CartridgeAR::setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) { myCodeAccessBase[(address & 0x07FF) + myImageOffset[(address & 0x0800) ? 1 : 0]] |= flags; diff --git a/src/emucore/CartAR.hxx b/src/emucore/CartAR.hxx index 09dc11b3a..888e5e6f9 100644 --- a/src/emucore/CartAR.hxx +++ b/src/emucore/CartAR.hxx @@ -164,14 +164,14 @@ class CartridgeAR : public Cartridge @param address The address to query */ - uInt16 getAccessFlags(uInt16 address) const override; + CartDebug::DisasmFlags getAccessFlags(uInt16 address) const override; /** Change the given address to use the given disassembly flags. @param address The address to modify @param flags A bitfield of DisasmType directives for the given address */ - void setAccessFlags(uInt16 address, uInt16 flags) override; + void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) override; // Handle a change to the bank configuration bool bankConfiguration(uInt8 configuration); diff --git a/src/emucore/Device.hxx b/src/emucore/Device.hxx index f405a8739..f55312869 100644 --- a/src/emucore/Device.hxx +++ b/src/emucore/Device.hxx @@ -22,6 +22,7 @@ class System; #include "Console.hxx" #include "Serializable.hxx" +#include "CartDebug.hxx" #include "bspf.hxx" /** @@ -102,7 +103,7 @@ class Device : public Serializable @param address The address to modify */ - virtual uInt16 getAccessFlags(uInt16 address) const { return 0; } + virtual CartDebug::DisasmFlags getAccessFlags(uInt16 address) const { return CartDebug::NONE; } /** Change the given address type to use the given disassembly flags @@ -110,7 +111,7 @@ class Device : public Serializable @param address The address to modify @param flags A bitfield of DisasmType directives for the given address */ - virtual void setAccessFlags(uInt16 address, uInt16 flags) { } + virtual void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) { } protected: /// Pointer to the system the device is installed in or the null pointer diff --git a/src/emucore/M6502.cxx b/src/emucore/M6502.cxx index fda514705..49f8ff7e2 100644 --- a/src/emucore/M6502.cxx +++ b/src/emucore/M6502.cxx @@ -104,7 +104,7 @@ void M6502::reset() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -inline uInt8 M6502::peek(uInt16 address, uInt16 flags) +inline uInt8 M6502::peek(uInt16 address, CartDebug::DisasmFlags flags) { handleHalt(); @@ -144,7 +144,7 @@ inline uInt8 M6502::peek(uInt16 address, uInt16 flags) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -inline void M6502::poke(uInt16 address, uInt8 value, uInt16 flags) +inline void M6502::poke(uInt16 address, uInt8 value, CartDebug::DisasmFlags flags) { //////////////////////////////////////////////// // TODO - move this logic directly into CartAR diff --git a/src/emucore/M6502.hxx b/src/emucore/M6502.hxx index dd48315a6..5c7bbbc01 100644 --- a/src/emucore/M6502.hxx +++ b/src/emucore/M6502.hxx @@ -35,6 +35,7 @@ class DispatchResult; #include "bspf.hxx" #include "Serializable.hxx" +#include "CartDebug.hxx" /** The 6502 is an 8-bit microprocessor that has a 64K addressing space. @@ -269,7 +270,7 @@ class M6502 : public Serializable @return The byte at the specified address */ - uInt8 peek(uInt16 address, uInt16 flags); + uInt8 peek(uInt16 address, CartDebug::DisasmFlags flags); /** Change the byte at the specified address to the given value and @@ -278,7 +279,7 @@ class M6502 : public Serializable @param address The address where the value should be stored @param value The value to be stored at the address */ - void poke(uInt16 address, uInt8 value, uInt16 flags = 0); + void poke(uInt16 address, uInt8 value, CartDebug::DisasmFlags flags = CartDebug::NONE); /** Get the 8-bit value of the Processor Status register. diff --git a/src/emucore/M6532.cxx b/src/emucore/M6532.cxx index 80f828f83..b5276567b 100644 --- a/src/emucore/M6532.cxx +++ b/src/emucore/M6532.cxx @@ -467,7 +467,7 @@ void M6532::createAccessBases() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt16 M6532::getAccessFlags(uInt16 address) const +CartDebug::DisasmFlags M6532::getAccessFlags(uInt16 address) const { if (address & IO_BIT) return myIOAccessBase[address & IO_MASK]; @@ -478,7 +478,7 @@ uInt16 M6532::getAccessFlags(uInt16 address) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void M6532::setAccessFlags(uInt16 address, uInt16 flags) +void M6532::setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) { // ignore none flag if (flags != CartDebug::NONE) { diff --git a/src/emucore/M6532.hxx b/src/emucore/M6532.hxx index db93414a3..42fca9640 100644 --- a/src/emucore/M6532.hxx +++ b/src/emucore/M6532.hxx @@ -151,14 +151,14 @@ class M6532 : public Device @param address The address to query */ - uInt16 getAccessFlags(uInt16 address) const override; + CartDebug::DisasmFlags getAccessFlags(uInt16 address) const override; /** Change the given address to use the given disassembly flags. @param address The address to modify @param flags A bitfield of DisasmType directives for the given address */ - void setAccessFlags(uInt16 address, uInt16 flags) override; + void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) override; #endif // DEBUGGER_SUPPORT private: diff --git a/src/emucore/System.cxx b/src/emucore/System.cxx index e40124c2a..e2050ee1b 100644 --- a/src/emucore/System.cxx +++ b/src/emucore/System.cxx @@ -99,7 +99,7 @@ void System::clearDirtyPages() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8 System::peek(uInt16 addr, uInt16 flags) +uInt8 System::peek(uInt16 addr, CartDebug::DisasmFlags flags) { const PageAccess& access = getPageAccess(addr); @@ -127,7 +127,7 @@ uInt8 System::peek(uInt16 addr, uInt16 flags) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void System::poke(uInt16 addr, uInt8 value, uInt16 flags) +void System::poke(uInt16 addr, uInt8 value, CartDebug::DisasmFlags flags) { uInt16 page = (addr & ADDRESS_MASK) >> PAGE_SHIFT; const PageAccess& access = myPageAccessTable[page]; @@ -160,7 +160,7 @@ void System::poke(uInt16 addr, uInt8 value, uInt16 flags) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt16 System::getAccessFlags(uInt16 addr) const +CartDebug::DisasmFlags System::getAccessFlags(uInt16 addr) const { #ifdef DEBUGGER_SUPPORT const PageAccess& access = getPageAccess(addr); @@ -175,7 +175,7 @@ uInt16 System::getAccessFlags(uInt16 addr) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void System::setAccessFlags(uInt16 addr, uInt16 flags) +void System::setAccessFlags(uInt16 addr, CartDebug::DisasmFlags flags) { #ifdef DEBUGGER_SUPPORT const PageAccess& access = getPageAccess(addr); diff --git a/src/emucore/System.hxx b/src/emucore/System.hxx index f4423c491..306f269e1 100644 --- a/src/emucore/System.hxx +++ b/src/emucore/System.hxx @@ -29,6 +29,7 @@ class NullDevice; #include "NullDev.hxx" #include "Random.hxx" #include "Serializable.hxx" +#include "CartDebug.hxx" /** This class represents a system consisting of a 6502 microprocessor @@ -202,7 +203,7 @@ class System : public Serializable @return The byte at the specified address */ - uInt8 peek(uInt16 address, uInt16 flags = 0); + uInt8 peek(uInt16 address, CartDebug::DisasmFlags flags = CartDebug::NONE); /** Change the byte at the specified address to the given value. @@ -217,7 +218,7 @@ class System : public Serializable @param address The address where the value should be stored @param value The value to be stored at the address */ - void poke(uInt16 address, uInt8 value, uInt16 flags = 0); + void poke(uInt16 address, uInt8 value, CartDebug::DisasmFlags flags = CartDebug::NONE); /** Lock/unlock the data bus. When the bus is locked, peek() and @@ -236,8 +237,8 @@ class System : public Serializable address. Note that while any flag can be used, the disassembly only really acts on CODE/GFX/PGFX/DATA/ROW. */ - uInt16 getAccessFlags(uInt16 address) const; - void setAccessFlags(uInt16 address, uInt16 flags); + CartDebug::DisasmFlags getAccessFlags(uInt16 address) const; + void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags); public: /** @@ -277,7 +278,7 @@ class System : public Serializable conclusively determine if a section of address space is CODE, even if the disassembler failed to mark it as such. */ - uInt16* codeAccessBase{nullptr}; + CartDebug::DisasmFlags* codeAccessBase{nullptr}; /** Pointer to the device associated with this page or to the system's diff --git a/src/emucore/tia/TIA.cxx b/src/emucore/tia/TIA.cxx index 145eea6e5..10f71ec80 100644 --- a/src/emucore/tia/TIA.cxx +++ b/src/emucore/tia/TIA.cxx @@ -1919,13 +1919,13 @@ void TIA::createAccessBase() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt16 TIA::getAccessFlags(uInt16 address) const +CartDebug::DisasmFlags TIA::getAccessFlags(uInt16 address) const { return myAccessBase[address & TIA_MASK]; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void TIA::setAccessFlags(uInt16 address, uInt16 flags) +void TIA::setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) { // ignore none flag if (flags != CartDebug::NONE) { diff --git a/src/emucore/tia/TIA.hxx b/src/emucore/tia/TIA.hxx index acb7ee40e..842bc395f 100644 --- a/src/emucore/tia/TIA.hxx +++ b/src/emucore/tia/TIA.hxx @@ -685,14 +685,14 @@ class TIA : public Device * * @param address The address to query */ - uInt16 getAccessFlags(uInt16 address) const override; + CartDebug::DisasmFlags getAccessFlags(uInt16 address) const override; /** * Change the given address to use the given disassembly flags. * * @param address The address to modify * @param flags A bitfield of DisasmType directives for the given address */ - void setAccessFlags(uInt16 address, uInt16 flags) override; + void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) override; #endif // DEBUGGER_SUPPORT private: From d61c68c05a1f5d6fea95e7328229f1f87e310854 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Fri, 27 Mar 2020 09:03:06 +0100 Subject: [PATCH 40/80] refactored access flags used for disassembly --- src/debugger/CartDebug.cxx | 223 +++++++++++++------------- src/debugger/CartDebug.hxx | 50 ++---- src/debugger/CpuDebug.cxx | 1 - src/debugger/Debugger.cxx | 14 +- src/debugger/Debugger.hxx | 16 +- src/debugger/DebuggerParser.cxx | 14 +- src/debugger/DiStella.cxx | 241 +++++++++++++++-------------- src/debugger/DiStella.hxx | 5 +- src/debugger/gui/RomListWidget.cxx | 10 +- src/emucore/Cart.cxx | 5 +- src/emucore/Cart.hxx | 4 +- src/emucore/Cart4A50.cxx | 4 +- src/emucore/Cart4A50.hxx | 10 +- src/emucore/CartAR.cxx | 4 +- src/emucore/CartAR.hxx | 10 +- src/emucore/Device.hxx | 39 ++++- src/emucore/M6502.cxx | 22 +-- src/emucore/M6502.hxx | 6 +- src/emucore/M6532.cxx | 15 +- src/emucore/M6532.hxx | 16 +- src/emucore/System.cxx | 8 +- src/emucore/System.hxx | 15 +- src/emucore/tia/TIA.cxx | 32 ++-- src/emucore/tia/TIA.hxx | 12 +- src/gui/DeveloperDialog.cxx | 1 - 25 files changed, 385 insertions(+), 392 deletions(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 0f9a75a27..7446efad4 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -32,6 +32,7 @@ #include "CartRamWidget.hxx" #include "RomWidget.hxx" #include "Base.hxx" +#include "Device.hxx" #include "exception/EmulationWarning.hxx" using Common::Base; @@ -85,7 +86,7 @@ CartDebug::CartDebug(Debugger& dbg, Console& console, const OSystem& osystem) // We know the address for the startup bank right now myBankInfo[myConsole.cartridge().startBank()].addressList.push_front( myDebugger.dpeek(0xfffc)); - addLabel("Start", myDebugger.dpeek(0xfffc, DATA)); + addLabel("Start", myDebugger.dpeek(0xfffc, Device::DATA)); // Add system equates for(uInt16 addr = 0x00; addr <= 0x0F; ++addr) @@ -316,8 +317,8 @@ bool CartDebug::fillDisassemblyList(BankInfo& info, uInt16 search) const DisassemblyTag& tag = myDisassembly.list[i]; const uInt16 address = tag.address & 0xFFF; - // Exclude 'ROW'; they don't have a valid address - if(tag.type != CartDebug::ROW) + // Exclude 'Device::ROW'; they don't have a valid address + if(tag.type != Device::ROW) { // Create a mapping from addresses to line numbers myAddrToLineList.emplace(address, i); @@ -358,7 +359,7 @@ string CartDebug::disassemble(uInt16 start, uInt16 lines) const if((tag.address & 0xfff) >= start) { if(begin == list_size) begin = end; - if(tag.type != CartDebug::ROW) + if(tag.type != Device::ROW) length = std::max(length, uInt32(tag.disasm.length())); --lines; @@ -369,7 +370,7 @@ string CartDebug::disassemble(uInt16 start, uInt16 lines) const for(uInt32 i = begin; i < end; ++i) { const CartDebug::DisassemblyTag& tag = myDisassembly.list[i]; - if(tag.type == CartDebug::NONE) + if(tag.type == Device::NONE) continue; else if(tag.address) buffer << std::uppercase << std::hex << std::setw(4) @@ -386,7 +387,7 @@ string CartDebug::disassemble(uInt16 start, uInt16 lines) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -bool CartDebug::addDirective(CartDebug::DisasmType type, +bool CartDebug::addDirective(Device::AccessType type, uInt16 start, uInt16 end, int bank) { if(end < start || start == 0 || end == 0) @@ -885,46 +886,46 @@ string CartDebug::loadConfigFile() // TODO - figure out what to do with this buf >> hex >> start; } - else if(BSPF::startsWithIgnoreCase(directive, "CODE")) + else if(BSPF::startsWithIgnoreCase(directive, "Device::CODE")) { buf >> hex >> start >> hex >> end; - addDirective(CartDebug::CODE, start, end, currentbank); + addDirective(Device::CODE, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "GFX")) + else if(BSPF::startsWithIgnoreCase(directive, "Device::GFX")) { buf >> hex >> start >> hex >> end; - addDirective(CartDebug::GFX, start, end, currentbank); + addDirective(Device::GFX, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "PGFX")) + else if(BSPF::startsWithIgnoreCase(directive, "Device::PGFX")) { buf >> hex >> start >> hex >> end; - addDirective(CartDebug::PGFX, start, end, currentbank); + addDirective(Device::PGFX, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "COL")) + else if(BSPF::startsWithIgnoreCase(directive, "Device::COL")) { buf >> hex >> start >> hex >> end; - addDirective(CartDebug::COL, start, end, currentbank); + addDirective(Device::COL, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "PCOL")) + else if(BSPF::startsWithIgnoreCase(directive, "Device::PCOL")) { buf >> hex >> start >> hex >> end; - addDirective(CartDebug::PCOL, start, end, currentbank); + addDirective(Device::PCOL, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "BCOL")) + else if(BSPF::startsWithIgnoreCase(directive, "Device::BCOL")) { buf >> hex >> start >> hex >> end; - addDirective(CartDebug::BCOL, start, end, currentbank); + addDirective(Device::BCOL, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "DATA")) + else if(BSPF::startsWithIgnoreCase(directive, "Device::DATA")) { buf >> hex >> start >> hex >> end; - addDirective(CartDebug::DATA, start, end, currentbank); + addDirective(Device::DATA, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "ROW")) + else if(BSPF::startsWithIgnoreCase(directive, "Device::ROW")) { buf >> hex >> start; buf >> hex >> end; - addDirective(CartDebug::ROW, start, end, currentbank); + addDirective(Device::ROW, start, end, currentbank); } } } @@ -1053,7 +1054,7 @@ string CartDebug::saveDisassembly() if (myReserved.breakFound) addLabel("Break", myDebugger.dpeek(0xfffe)); - buf << " SEG CODE\n" + buf << " SEG Device::CODE\n" << " ORG $" << Base::HEX4 << info.offset << "\n\n"; // Format in 'distella' style @@ -1068,19 +1069,19 @@ string CartDebug::saveDisassembly() switch(tag.type) { - case CartDebug::CODE: + case Device::CODE: { buf << ALIGN(32) << tag.disasm << tag.ccount.substr(0, 5) << tag.ctotal << tag.ccount.substr(5, 2); if (tag.disasm.find("WSYNC") != std::string::npos) buf << "\n;---------------------------------------"; break; } - case CartDebug::ROW: + case Device::ROW: { buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 8*4-1) << "; $" << Base::HEX4 << tag.address << " (*)"; break; } - case CartDebug::GFX: + case Device::GFX: { buf << ".byte " << (settings.gfxFormat == Base::Fmt::_2 ? "%" : "$") << tag.bytes << " ; |"; @@ -1089,7 +1090,7 @@ string CartDebug::saveDisassembly() buf << ALIGN(13) << "|" << "$" << Base::HEX4 << tag.address << " (G)"; break; } - case CartDebug::PGFX: + case Device::PGFX: { buf << ".byte " << (settings.gfxFormat == Base::Fmt::_2 ? "%" : "$") << tag.bytes << " ; |"; @@ -1098,24 +1099,24 @@ string CartDebug::saveDisassembly() buf << ALIGN(13) << "|" << "$" << Base::HEX4 << tag.address << " (P)"; break; } - case CartDebug::COL: + case Device::COL: buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (Px)"; break; - case CartDebug::PCOL: + case Device::PCOL: buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (PF)"; break; - case CartDebug::BCOL: + case Device::BCOL: buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (BK)"; break; - case CartDebug::DATA: + case Device::DATA: { buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 8 * 4 - 1) << "; $" << Base::HEX4 << tag.address << " (D)"; break; } - case CartDebug::NONE: + case Device::NONE: default: { break; @@ -1133,10 +1134,10 @@ string CartDebug::saveDisassembly() << "; ROM properties name : " << myConsole.properties().get(PropType::Cart_Name) << "\n" << "; ROM properties MD5 : " << myConsole.properties().get(PropType::Cart_MD5) << "\n" << "; Bankswitch type : " << myConsole.cartridge().about() << "\n;\n" - << "; Legend: * = CODE not yet run (tentative code)\n" - << "; D = DATA directive (referenced in some way)\n" - << "; G = GFX directive, shown as '#' (stored in player, missile, ball)\n" - << "; P = PGFX directive, shown as '*' (stored in playfield)\n" + << "; Legend: * = Device::CODE not yet run (tentative code)\n" + << "; D = Device::DATA directive (referenced in some way)\n" + << "; G = Device::GFX directive, shown as '#' (stored in player, missile, ball)\n" + << "; P = Device::PGFX directive, shown as '*' (stored in playfield)\n" << "; i = indexed accessed only\n" << "; c = used by code executed in RAM\n" << "; s = used by stack\n" @@ -1166,9 +1167,9 @@ string CartDebug::saveDisassembly() bool addrUsed = false; for(uInt16 addr = 0x00; addr <= 0x0F; ++addr) - addrUsed = addrUsed || myReserved.TIARead[addr] || (mySystem.getAccessFlags(addr) & WRITE); + addrUsed = addrUsed || myReserved.TIARead[addr] || (mySystem.getAccessFlags(addr) & Device::WRITE); for(uInt16 addr = 0x00; addr <= 0x3F; ++addr) - addrUsed = addrUsed || myReserved.TIAWrite[addr] || (mySystem.getAccessFlags(addr) & DATA); + addrUsed = addrUsed || myReserved.TIAWrite[addr] || (mySystem.getAccessFlags(addr) & Device::DATA); for(uInt16 addr = 0x00; addr <= 0x17; ++addr) addrUsed = addrUsed || myReserved.IOReadWrite[addr]; @@ -1183,7 +1184,7 @@ string CartDebug::saveDisassembly() if(myReserved.TIARead[addr] && ourTIAMnemonicR[addr]) out << ALIGN(16) << ourTIAMnemonicR[addr] << "= $" << Base::HEX2 << right << addr << " ; (R)\n"; - else if (mySystem.getAccessFlags(addr) & DATA) + else if (mySystem.getAccessFlags(addr) & Device::DATA) out << ";" << ALIGN(16-1) << ourTIAMnemonicR[addr] << "= $" << Base::HEX2 << right << addr << " ; (Ri)\n"; out << "\n"; @@ -1193,7 +1194,7 @@ string CartDebug::saveDisassembly() if(myReserved.TIAWrite[addr] && ourTIAMnemonicW[addr]) out << ALIGN(16) << ourTIAMnemonicW[addr] << "= $" << Base::HEX2 << right << addr << " ; (W)\n"; - else if (mySystem.getAccessFlags(addr) & WRITE) + else if (mySystem.getAccessFlags(addr) & Device::WRITE) out << ";" << ALIGN(16-1) << ourTIAMnemonicW[addr] << "= $" << Base::HEX2 << right << addr << " ; (Wi)\n"; out << "\n"; @@ -1208,8 +1209,8 @@ string CartDebug::saveDisassembly() addrUsed = false; for(uInt16 addr = 0x80; addr <= 0xFF; ++addr) addrUsed = addrUsed || myReserved.ZPRAM[addr-0x80] - || (mySystem.getAccessFlags(addr) & (DATA | WRITE)) - || (mySystem.getAccessFlags(addr|0x100) & (DATA | WRITE)); + || (mySystem.getAccessFlags(addr) & (Device::DATA | Device::WRITE)) + || (mySystem.getAccessFlags(addr|0x100) & (Device::DATA | Device::WRITE)); if(addrUsed) { bool addLine = false; @@ -1218,9 +1219,9 @@ string CartDebug::saveDisassembly() << ";-----------------------------------------------------------\n\n"; for (uInt16 addr = 0x80; addr <= 0xFF; ++addr) { - bool ramUsed = (mySystem.getAccessFlags(addr) & (DATA | WRITE)); - bool codeUsed = (mySystem.getAccessFlags(addr) & CODE); - bool stackUsed = (mySystem.getAccessFlags(addr|0x100) & (DATA | WRITE)); + bool ramUsed = (mySystem.getAccessFlags(addr) & (Device::DATA | Device::WRITE)); + bool codeUsed = (mySystem.getAccessFlags(addr) & Device::CODE); + bool stackUsed = (mySystem.getAccessFlags(addr|0x100) & (Device::DATA | Device::WRITE)); if (myReserved.ZPRAM[addr - 0x80] && myUserLabels.find(addr) == myUserLabels.end()) { @@ -1315,10 +1316,10 @@ string CartDebug::listConfig(int bank) buf << "[" << b << "]" << endl; for(const auto& i: info.directiveList) { - if(i.type != CartDebug::NONE) + if(i.type != Device::NONE) { buf << "(*) "; - disasmTypeAsString(buf, i.type); + AccessTypeAsString(buf, i.type); buf << " " << Base::HEX4 << i.start << " " << Base::HEX4 << i.end << endl; } } @@ -1414,15 +1415,15 @@ void CartDebug::getBankDirectives(ostream& buf, BankInfo& info) const // Now consider each byte uInt32 prev = info.offset, addr = prev + 1; - DisasmType prevType = disasmTypeAbsolute(mySystem.getAccessFlags(prev)); + Device::AccessType prevType = accessTypeAbsolute(mySystem.getAccessFlags(prev)); for( ; addr < info.offset + info.size; ++addr) { - DisasmType currType = disasmTypeAbsolute(mySystem.getAccessFlags(addr)); + Device::AccessType currType = accessTypeAbsolute(mySystem.getAccessFlags(addr)); // Have we changed to a new type? if(currType != prevType) { - disasmTypeAsString(buf, prevType); + AccessTypeAsString(buf, prevType); buf << " " << Base::HEX4 << prev << " " << Base::HEX4 << (addr-1) << endl; prev = addr; @@ -1433,13 +1434,13 @@ void CartDebug::getBankDirectives(ostream& buf, BankInfo& info) const // Grab the last directive, making sure it accounts for all remaining space if(prev != addr) { - disasmTypeAsString(buf, prevType); + AccessTypeAsString(buf, prevType); buf << " " << Base::HEX4 << prev << " " << Base::HEX4 << (addr-1) << endl; } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartDebug::addressTypeAsString(ostream& buf, uInt16 addr) const +void CartDebug::accessTypeAsString(ostream& buf, uInt16 addr) const { if(!(addr & 0x1000)) { @@ -1452,86 +1453,86 @@ void CartDebug::addressTypeAsString(ostream& buf, uInt16 addr) const label = myDisLabels[addr & 0xFFF]; buf << endl << "directive: " << Base::toString(directive, Base::Fmt::_2_8) << " "; - disasmTypeAsString(buf, directive); + AccessTypeAsString(buf, directive); buf << endl << "emulation: " << Base::toString(debugger, Base::Fmt::_2_8) << " "; - disasmTypeAsString(buf, debugger); + AccessTypeAsString(buf, debugger); buf << endl << "tentative: " << Base::toString(label, Base::Fmt::_2_8) << " "; - disasmTypeAsString(buf, label); + AccessTypeAsString(buf, label); buf << endl; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CartDebug::DisasmType CartDebug::disasmTypeAbsolute(CartDebug::DisasmFlags flags) const +Device::AccessType CartDebug::accessTypeAbsolute(Device::AccessFlags flags) const { - if(flags & CartDebug::CODE) - return CartDebug::CODE; - else if(flags & CartDebug::TCODE) - return CartDebug::CODE; // TODO - should this be separate?? - else if(flags & CartDebug::GFX) - return CartDebug::GFX; - else if(flags & CartDebug::PGFX) - return CartDebug::PGFX; - else if(flags & CartDebug::COL) - return CartDebug::COL; - else if(flags & CartDebug::PCOL) - return CartDebug::PCOL; - else if(flags & CartDebug::BCOL) - return CartDebug::BCOL; - else if(flags & CartDebug::DATA) - return CartDebug::DATA; - else if(flags & CartDebug::ROW) - return CartDebug::ROW; + if(flags & Device::CODE) + return Device::CODE; + else if(flags & Device::TCODE) + return Device::CODE; // TODO - should this be separate?? + else if(flags & Device::GFX) + return Device::GFX; + else if(flags & Device::PGFX) + return Device::PGFX; + else if(flags & Device::COL) + return Device::COL; + else if(flags & Device::PCOL) + return Device::PCOL; + else if(flags & Device::BCOL) + return Device::BCOL; + else if(flags & Device::DATA) + return Device::DATA; + else if(flags & Device::ROW) + return Device::ROW; else - return CartDebug::NONE; + return Device::NONE; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartDebug::disasmTypeAsString(ostream& buf, DisasmType type) const +void CartDebug::AccessTypeAsString(ostream& buf, Device::AccessType type) const { switch(type) { - case CartDebug::CODE: buf << "CODE"; break; - case CartDebug::TCODE: buf << "TCODE"; break; - case CartDebug::GFX: buf << "GFX"; break; - case CartDebug::PGFX: buf << "PGFX"; break; - case CartDebug::COL: buf << "COL"; break; - case CartDebug::PCOL: buf << "PCOL"; break; - case CartDebug::BCOL: buf << "BCOL"; break; - case CartDebug::DATA: buf << "DATA"; break; - case CartDebug::ROW: buf << "ROW"; break; - case CartDebug::REFERENCED: - case CartDebug::VALID_ENTRY: - case CartDebug::NONE: break; + case Device::CODE: buf << "Device::CODE"; break; + case Device::TCODE: buf << "Device::TCODE"; break; + case Device::GFX: buf << "Device::GFX"; break; + case Device::PGFX: buf << "Device::PGFX"; break; + case Device::COL: buf << "Device::COL"; break; + case Device::PCOL: buf << "Device::PCOL"; break; + case Device::BCOL: buf << "Device::BCOL"; break; + case Device::DATA: buf << "Device::DATA"; break; + case Device::ROW: buf << "Device::ROW"; break; + case Device::REFERENCED: + case Device::VALID_ENTRY: + case Device::NONE: break; } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartDebug::disasmTypeAsString(ostream& buf, CartDebug::DisasmFlags flags) const +void CartDebug::AccessTypeAsString(ostream& buf, Device::AccessFlags flags) const { if(flags) { - if(flags & CartDebug::CODE) - buf << "CODE "; - if(flags & CartDebug::TCODE) - buf << "TCODE "; - if(flags & CartDebug::GFX) - buf << "GFX "; - if(flags & CartDebug::PGFX) - buf << "PGFX "; - if(flags & CartDebug::COL) - buf << "COL "; - if(flags & CartDebug::PCOL) - buf << "PCOL "; - if(flags & CartDebug::BCOL) - buf << "BCOL "; - if(flags & CartDebug::DATA) - buf << "DATA "; - if(flags & CartDebug::ROW) - buf << "ROW "; - if(flags & CartDebug::REFERENCED) - buf << "*REFERENCED "; - if(flags & CartDebug::VALID_ENTRY) - buf << "*VALID_ENTRY "; + if(flags & Device::CODE) + buf << "Device::CODE "; + if(flags & Device::TCODE) + buf << "Device::TCODE "; + if(flags & Device::GFX) + buf << "Device::GFX "; + if(flags & Device::PGFX) + buf << "Device::PGFX "; + if(flags & Device::COL) + buf << "Device::COL "; + if(flags & Device::PCOL) + buf << "Device::PCOL "; + if(flags & Device::BCOL) + buf << "Device::BCOL "; + if(flags & Device::DATA) + buf << "Device::DATA "; + if(flags & Device::ROW) + buf << "Device::ROW "; + if(flags & Device::REFERENCED) + buf << "*Device::REFERENCED "; + if(flags & Device::VALID_ENTRY) + buf << "*Device::VALID_ENTRY "; } else buf << "no flags set"; diff --git a/src/debugger/CartDebug.hxx b/src/debugger/CartDebug.hxx index 17f67aa7a..e52389974 100644 --- a/src/debugger/CartDebug.hxx +++ b/src/debugger/CartDebug.hxx @@ -31,6 +31,7 @@ using CartMethod = int (CartDebug::*)(); #include "bspf.hxx" #include "DebuggerSystem.hxx" +#include "Device.hxx" class CartState : public DebuggerState { @@ -47,35 +48,8 @@ class CartDebug : public DebuggerSystem friend class DiStella; public: - enum DisasmType { - NONE = 0, - REFERENCED = 1 << 0, /* 0x01, code somewhere in the program references it, - i.e. LDA $F372 referenced $F372 */ - VALID_ENTRY = 1 << 1, /* 0x02, addresses that can have a label placed in front of it. - A good counterexample would be "FF00: LDA $FE00"; $FF01 - would be in the middle of a multi-byte instruction, and - therefore cannot be labelled. */ - - // The following correspond to specific types that can be set within the - // debugger, or specified in a Distella cfg file, and are listed in order - // of decreasing hierarchy - // - CODE = 1 << 10, // 0x400, disassemble-able code segments - TCODE = 1 << 9, // 0x200, (tentative) disassemble-able code segments - GFX = 1 << 8, // 0x100, addresses loaded into GRPx registers - PGFX = 1 << 7, // 0x080, addresses loaded into PFx registers - COL = 1 << 6, // 0x040, addresses loaded into COLUPx registers - PCOL = 1 << 5, // 0x010, addresses loaded into COLUPF register - BCOL = 1 << 4, // 0x010, addresses loaded into COLUBK register - DATA = 1 << 3, // 0x008, addresses loaded into registers other than GRPx / PFx - ROW = 1 << 2, // 0x004, all other addresses - // special type for poke() - WRITE = TCODE // 0x200, address written to - }; - using DisasmFlags = uInt16; - struct DisassemblyTag { - DisasmType type{NONE}; + Device::AccessType type{Device::NONE}; uInt16 address{0}; string label; string disasm; @@ -175,7 +149,7 @@ class CartDebug : public DebuggerSystem @return True if directive was added, else false if it was removed */ - bool addDirective(CartDebug::DisasmType type, uInt16 start, uInt16 end, + bool addDirective(Device::AccessType type, uInt16 start, uInt16 end, int bank = -1); // The following are convenience methods that query the cartridge object @@ -260,8 +234,8 @@ class CartDebug : public DebuggerSystem */ void getCompletions(const char* in, StringList& list) const; - // Convert given address to corresponding disassembly type and append to buf - void addressTypeAsString(ostream& buf, uInt16 addr) const; + // Convert given address to corresponding access type and append to buf + void accessTypeAsString(ostream& buf, uInt16 addr) const; private: using AddrToLabel = std::map; @@ -271,7 +245,7 @@ class CartDebug : public DebuggerSystem using AddrTypeArray = std::array; struct DirectiveTag { - DisasmType type{NONE}; + Device::AccessType type{Device::NONE}; uInt16 start{0}; uInt16 end{0}; }; @@ -309,15 +283,15 @@ class CartDebug : public DebuggerSystem // based on its disassembly void getBankDirectives(ostream& buf, BankInfo& info) const; - // Get disassembly enum type from 'flags', taking precendence into account - DisasmType disasmTypeAbsolute(CartDebug::DisasmFlags flags) const; + // Get access enum type from 'flags', taking precendence into account + Device::AccessType accessTypeAbsolute(Device::AccessFlags flags) const; - // Convert disassembly enum type to corresponding string and append to buf - void disasmTypeAsString(ostream& buf, DisasmType type) const; + // Convert access enum type to corresponding string and append to buf + void AccessTypeAsString(ostream& buf, Device::AccessType type) const; - // Convert all disassembly types in 'flags' to corresponding string and + // Convert all access types in 'flags' to corresponding string and // append to buf - void disasmTypeAsString(ostream& buf, CartDebug::DisasmFlags flags) const; + void AccessTypeAsString(ostream& buf, Device::AccessFlags flags) const; private: const OSystem& myOSystem; diff --git a/src/debugger/CpuDebug.cxx b/src/debugger/CpuDebug.cxx index b7d26c3b5..f0bf9be12 100644 --- a/src/debugger/CpuDebug.cxx +++ b/src/debugger/CpuDebug.cxx @@ -20,7 +20,6 @@ #include "M6502.hxx" #include "System.hxx" #include "Debugger.hxx" -#include "CartDebug.hxx" #include "TIADebug.hxx" #include "CpuDebug.hxx" diff --git a/src/debugger/Debugger.cxx b/src/debugger/Debugger.cxx index e332d2586..cfb16a1e5 100644 --- a/src/debugger/Debugger.cxx +++ b/src/debugger/Debugger.cxx @@ -440,19 +440,19 @@ bool Debugger::writeTrap(uInt16 t) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8 Debugger::peek(uInt16 addr, CartDebug::DisasmFlags flags) +uInt8 Debugger::peek(uInt16 addr, Device::AccessFlags flags) { return mySystem.peek(addr, flags); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt16 Debugger::dpeek(uInt16 addr, CartDebug::DisasmFlags flags) +uInt16 Debugger::dpeek(uInt16 addr, Device::AccessFlags flags) { return uInt16(mySystem.peek(addr, flags) | (mySystem.peek(addr+1, flags) << 8)); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Debugger::poke(uInt16 addr, uInt8 value, CartDebug::DisasmFlags flags) +void Debugger::poke(uInt16 addr, uInt8 value, Device::AccessFlags flags) { mySystem.poke(addr, value, flags); } @@ -464,26 +464,26 @@ M6502& Debugger::m6502() const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Debugger::peekAsInt(int addr, CartDebug::DisasmFlags flags) +int Debugger::peekAsInt(int addr, Device::AccessFlags flags) { return mySystem.peek(uInt16(addr), flags); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Debugger::dpeekAsInt(int addr, CartDebug::DisasmFlags flags) +int Debugger::dpeekAsInt(int addr, Device::AccessFlags flags) { return mySystem.peek(uInt16(addr), flags) | (mySystem.peek(uInt16(addr+1), flags) << 8); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CartDebug::DisasmFlags Debugger::getAccessFlags(uInt16 addr) const +Device::AccessFlags Debugger::getAccessFlags(uInt16 addr) const { return mySystem.getAccessFlags(addr); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Debugger::setAccessFlags(uInt16 addr, CartDebug::DisasmFlags flags) +void Debugger::setAccessFlags(uInt16 addr, Device::AccessFlags flags) { mySystem.setAccessFlags(addr, flags); } diff --git a/src/debugger/Debugger.hxx b/src/debugger/Debugger.hxx index 0cfbaf458..2b0ce6c1c 100644 --- a/src/debugger/Debugger.hxx +++ b/src/debugger/Debugger.hxx @@ -47,7 +47,7 @@ class RewindManager; #include "DialogContainer.hxx" #include "DebuggerDialog.hxx" #include "FrameBufferConstants.hxx" -#include "CartDebug.hxx" +#include "Cart.hxx" #include "bspf.hxx" /** @@ -244,18 +244,18 @@ class Debugger : public DialogContainer static Debugger& debugger() { return *myStaticDebugger; } /** Convenience methods to access peek/poke from System */ - uInt8 peek(uInt16 addr, CartDebug::DisasmFlags flags = CartDebug::NONE); - uInt16 dpeek(uInt16 addr, CartDebug::DisasmFlags flags = CartDebug::NONE); - void poke(uInt16 addr, uInt8 value, CartDebug::DisasmFlags flags = CartDebug::NONE); + uInt8 peek(uInt16 addr, Device::AccessFlags flags = Device::NONE); + uInt16 dpeek(uInt16 addr, Device::AccessFlags flags = Device::NONE); + void poke(uInt16 addr, uInt8 value, Device::AccessFlags flags = Device::NONE); /** Convenience method to access the 6502 from System */ M6502& m6502() const; /** These are now exposed so Expressions can use them. */ - int peekAsInt(int addr, CartDebug::DisasmFlags flags = CartDebug::NONE); - int dpeekAsInt(int addr, CartDebug::DisasmFlags flags = CartDebug::NONE); - CartDebug::DisasmFlags getAccessFlags(uInt16 addr) const; - void setAccessFlags(uInt16 addr, CartDebug::DisasmFlags flags); + int peekAsInt(int addr, Device::AccessFlags flags = Device::NONE); + int dpeekAsInt(int addr, Device::AccessFlags flags = Device::NONE); + Device::AccessFlags getAccessFlags(uInt16 addr) const; + void setAccessFlags(uInt16 addr, Device::AccessFlags flags); uInt32 getBaseAddress(uInt32 addr, bool read); diff --git a/src/debugger/DebuggerParser.cxx b/src/debugger/DebuggerParser.cxx index f3dfde946..176083b1f 100644 --- a/src/debugger/DebuggerParser.cxx +++ b/src/debugger/DebuggerParser.cxx @@ -924,7 +924,7 @@ void DebuggerParser::executeCode() } bool result = debugger.cartDebug().addDirective( - CartDebug::CODE, args[0], args[1]); + Device::CODE, args[0], args[1]); commandResult << (result ? "added" : "removed") << " CODE directive on range $" << hex << args[0] << " $" << hex << args[1]; debugger.rom().invalidate(); @@ -965,7 +965,7 @@ void DebuggerParser::executeData() } bool result = debugger.cartDebug().addDirective( - CartDebug::DATA, args[0], args[1]); + Device::DATA, args[0], args[1]); commandResult << (result ? "added" : "removed") << " DATA directive on range $" << hex << args[0] << " $" << hex << args[1]; debugger.rom().invalidate(); @@ -1282,7 +1282,7 @@ void DebuggerParser::executeGfx() } bool result = debugger.cartDebug().addDirective( - CartDebug::GFX, args[0], args[1]); + Device::GFX, args[0], args[1]); commandResult << (result ? "added" : "removed") << " GFX directive on range $" << hex << args[0] << " $" << hex << args[1]; debugger.rom().invalidate(); @@ -1642,7 +1642,7 @@ void DebuggerParser::executePGfx() } bool result = debugger.cartDebug().addDirective( - CartDebug::PGFX, args[0], args[1]); + Device::PGFX, args[0], args[1]); commandResult << (result ? "added" : "removed") << " PGFX directive on range $" << hex << args[0] << " $" << hex << args[1]; debugger.rom().invalidate(); @@ -1734,7 +1734,7 @@ void DebuggerParser::executeRow() } bool result = debugger.cartDebug().addDirective( - CartDebug::ROW, args[0], args[1]); + Device::ROW, args[0], args[1]); commandResult << (result ? "added" : "removed") << " ROW directive on range $" << hex << args[0] << " $" << hex << args[1]; debugger.rom().invalidate(); @@ -2194,7 +2194,7 @@ void DebuggerParser::executeType() for(uInt32 i = beg; i <= end; ++i) { commandResult << Base::HEX4 << i << ": "; - debugger.cartDebug().addressTypeAsString(commandResult, i); + debugger.cartDebug().accessTypeAsString(commandResult, i); commandResult << endl; } } @@ -3182,7 +3182,7 @@ std::array DebuggerParser::commands = { { { "type", - "Show disassembly type for address xx [yy]", + "Show access type for address xx [yy]", "Example: type f000, type f000 f010", true, false, diff --git a/src/debugger/DiStella.cxx b/src/debugger/DiStella.cxx index 235b2d9da..43d67749e 100644 --- a/src/debugger/DiStella.cxx +++ b/src/debugger/DiStella.cxx @@ -17,6 +17,7 @@ #include "bspf.hxx" #include "Debugger.hxx" +#include "Device.hxx" #include "DiStella.hxx" using Common::Base; @@ -73,7 +74,7 @@ DiStella::DiStella(const CartDebug& dbg, CartDebug::DisassemblyList& list, // Add reserved line equates ostringstream reservedLabel; for (int k = 0; k <= myAppData.end; k++) { - if ((myLabels[k] & (CartDebug::REFERENCED | CartDebug::VALID_ENTRY)) == CartDebug::REFERENCED) { + if ((myLabels[k] & (Device::REFERENCED | Device::VALID_ENTRY)) == Device::REFERENCED) { // If we have a piece of code referenced somewhere else, but cannot // locate the label in code (i.e because the address is inside of a // multi-byte instruction, then we make note of that address for reference @@ -110,7 +111,7 @@ void DiStella::disasm(uInt32 distart, int pass) int labelFound = 0; stringstream nextLine, nextLineBytes; - mySegType = CartDebug::NONE; // create extra lines between code and data + mySegType = Device::NONE; // create extra lines between code and data myDisasmBuf.str(""); @@ -124,58 +125,58 @@ void DiStella::disasm(uInt32 distart, int pass) if(myPC == myAppData.end) goto FIX_LAST; - if (checkBits(myPC, CartDebug::GFX | CartDebug::PGFX, - CartDebug::CODE)) + if (checkBits(myPC, Device::GFX | Device::PGFX, + Device::CODE)) { if (pass == 2) - mark(myPC + myOffset, CartDebug::VALID_ENTRY); + mark(myPC + myOffset, Device::VALID_ENTRY); if (pass == 3) outputGraphics(); ++myPC; - } else if (checkBits(myPC, CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL, - CartDebug::CODE | CartDebug::GFX | CartDebug::PGFX)) + } else if (checkBits(myPC, Device::COL | Device::PCOL | Device::BCOL, + Device::CODE | Device::GFX | Device::PGFX)) { if (pass == 2) - mark(myPC + myOffset, CartDebug::VALID_ENTRY); + mark(myPC + myOffset, Device::VALID_ENTRY); if (pass == 3) outputColors(); ++myPC; - } else if (checkBits(myPC, CartDebug::DATA, - CartDebug::CODE | CartDebug::GFX | CartDebug::PGFX | - CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL)) + } else if (checkBits(myPC, Device::DATA, + Device::CODE | Device::GFX | Device::PGFX | + Device::COL | Device::PCOL | Device::BCOL)) { if (pass == 2) - mark(myPC + myOffset, CartDebug::VALID_ENTRY); + mark(myPC + myOffset, Device::VALID_ENTRY); if (pass == 3) - outputBytes(CartDebug::DATA); + outputBytes(Device::DATA); else ++myPC; - } else if (checkBits(myPC, CartDebug::ROW, - CartDebug::CODE | - CartDebug::DATA | CartDebug::GFX | CartDebug::PGFX | - CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL)) { + } else if (checkBits(myPC, Device::ROW, + Device::CODE | + Device::DATA | Device::GFX | Device::PGFX | + Device::COL | Device::PCOL | Device::BCOL)) { FIX_LAST: if (pass == 2) - mark(myPC + myOffset, CartDebug::VALID_ENTRY); + mark(myPC + myOffset, Device::VALID_ENTRY); if (pass == 3) - outputBytes(CartDebug::ROW); + outputBytes(Device::ROW); else ++myPC; } else { // The following sections must be CODE // add extra spacing line when switching from non-code to code - if (pass == 3 && mySegType != CartDebug::CODE && mySegType != CartDebug::NONE) { + if (pass == 3 && mySegType != Device::CODE && mySegType != Device::NONE) { myDisasmBuf << " ' ' "; - addEntry(CartDebug::NONE); - mark(myPC + myOffset, CartDebug::REFERENCED); // add label when switching + addEntry(Device::NONE); + mark(myPC + myOffset, Device::REFERENCED); // add label when switching } - mySegType = CartDebug::CODE; + mySegType = Device::CODE; /* version 2.1 bug fix */ if (pass == 2) - mark(myPC + myOffset, CartDebug::VALID_ENTRY); + mark(myPC + myOffset, Device::VALID_ENTRY); // get opcode opcode = Debugger::debugger().peek(myPC + myOffset); @@ -183,7 +184,7 @@ FIX_LAST: addrMode = ourLookup[opcode].addr_mode; if (pass == 3) { - if (checkBit(myPC, CartDebug::REFERENCED)) + if (checkBit(myPC, Device::REFERENCED)) myDisasmBuf << Base::HEX4 << myPC + myOffset << "'L" << Base::HEX4 << myPC + myOffset << "'"; else myDisasmBuf << Base::HEX4 << myPC + myOffset << "' '"; @@ -193,7 +194,7 @@ FIX_LAST: // detect labels inside instructions (e.g. BIT masks) labelFound = false; for (Uint8 i = 0; i < ourLookup[opcode].bytes - 1; i++) { - if (checkBit(myPC + i, CartDebug::REFERENCED)) { + if (checkBit(myPC + i, Device::REFERENCED)) { labelFound = true; break; } @@ -216,7 +217,7 @@ FIX_LAST: nextLine.str(""); cycles = 0; - addEntry(CartDebug::CODE); // add the new found CODE entry + addEntry(Device::CODE); // add the new found CODE entry } // continue with the label's opcode continue; @@ -255,10 +256,10 @@ FIX_LAST: myDisasmBuf << ".byte $" << Base::HEX2 << int(opcode) << " $" << Base::HEX4 << myPC + myOffset << "'" << Base::HEX2 << int(opcode); - addEntry(CartDebug::DATA); + addEntry(Device::DATA); if (myPC == myAppData.end) { - if (checkBit(myPC, CartDebug::REFERENCED)) + if (checkBit(myPC, Device::REFERENCED)) myDisasmBuf << Base::HEX4 << myPC + myOffset << "'L" << Base::HEX4 << myPC + myOffset << "'"; else myDisasmBuf << Base::HEX4 << myPC + myOffset << "' '"; @@ -267,7 +268,7 @@ FIX_LAST: myDisasmBuf << ".byte $" << Base::HEX2 << int(opcode) << " $" << Base::HEX4 << myPC + myOffset << "'" << Base::HEX2 << int(opcode); - addEntry(CartDebug::DATA); + addEntry(Device::DATA); } } myPCEnd = myAppData.end + myOffset; @@ -284,7 +285,7 @@ FIX_LAST: /* Line information is already printed, but we can remove the Instruction (i.e. BMI) by simply clearing the buffer to print */ myDisasmBuf << ".byte $" << Base::HEX2 << int(opcode); - addEntry(CartDebug::ROW); + addEntry(Device::ROW); nextLine.str(""); nextLineBytes.str(""); } @@ -312,7 +313,7 @@ FIX_LAST: case AddressingMode::ABSOLUTE: { ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; - labelFound = mark(ad, CartDebug::REFERENCED); + labelFound = mark(ad, Device::REFERENCED); if (pass == 3) { if (ad < 0x100 && mySettings.fFlag) nextLine << ".w "; @@ -342,7 +343,7 @@ FIX_LAST: case AddressingMode::ZERO_PAGE: { d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; - labelFound = mark(d1, CartDebug::REFERENCED); + labelFound = mark(d1, Device::REFERENCED); if (pass == 3) { nextLine << " "; LABEL_A12_LOW(int(d1)); @@ -364,13 +365,13 @@ FIX_LAST: case AddressingMode::ABSOLUTE_X: { ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; - labelFound = mark(ad, CartDebug::REFERENCED); - if (pass == 2 && !checkBit(ad & myAppData.end, CartDebug::CODE)) { + labelFound = mark(ad, Device::REFERENCED); + if (pass == 2 && !checkBit(ad & myAppData.end, Device::CODE)) { // Since we can't know what address is being accessed unless we also // know the current X value, this is marked as ROW instead of DATA // The processing is left here, however, in case future versions of // the code can somehow track access to CPU registers - mark(ad, CartDebug::ROW); + mark(ad, Device::ROW); } else if (pass == 3) { if (ad < 0x100 && mySettings.fFlag) nextLine << ".wx "; @@ -403,13 +404,13 @@ FIX_LAST: case AddressingMode::ABSOLUTE_Y: { ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; - labelFound = mark(ad, CartDebug::REFERENCED); - if (pass == 2 && !checkBit(ad & myAppData.end, CartDebug::CODE)) { + labelFound = mark(ad, Device::REFERENCED); + if (pass == 2 && !checkBit(ad & myAppData.end, Device::CODE)) { // Since we can't know what address is being accessed unless we also // know the current Y value, this is marked as ROW instead of DATA // The processing is left here, however, in case future versions of // the code can somehow track access to CPU registers - mark(ad, CartDebug::ROW); + mark(ad, Device::ROW); } else if (pass == 3) { if (ad < 0x100 && mySettings.fFlag) nextLine << ".wy "; @@ -468,7 +469,7 @@ FIX_LAST: case AddressingMode::ZERO_PAGE_X: { d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; - labelFound = mark(d1, CartDebug::REFERENCED); + labelFound = mark(d1, Device::REFERENCED); if (pass == 3) { nextLine << " "; LABEL_A12_LOW(d1); @@ -481,7 +482,7 @@ FIX_LAST: case AddressingMode::ZERO_PAGE_Y: { d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; - labelFound = mark(d1, CartDebug::REFERENCED); + labelFound = mark(d1, Device::REFERENCED); if (pass == 3) { nextLine << " "; LABEL_A12_LOW(d1); @@ -499,7 +500,7 @@ FIX_LAST: d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; ad = ((myPC + Int8(d1)) & 0xfff) + myOffset; - labelFound = mark(ad, CartDebug::REFERENCED); + labelFound = mark(ad, Device::REFERENCED); if (pass == 3) { if (labelFound == 1) { nextLine << " "; @@ -515,13 +516,13 @@ FIX_LAST: case AddressingMode::ABS_INDIRECT: { ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; - labelFound = mark(ad, CartDebug::REFERENCED); - if (pass == 2 && !checkBit(ad & myAppData.end, CartDebug::CODE)) { + labelFound = mark(ad, Device::REFERENCED); + if (pass == 2 && !checkBit(ad & myAppData.end, Device::CODE)) { // Since we can't know what address is being accessed unless we also // know the current X value, this is marked as ROW instead of DATA // The processing is left here, however, in case future versions of // the code can somehow track access to CPU registers - mark(ad, CartDebug::ROW); + mark(ad, Device::ROW); } else if (pass == 3) { if (ad < 0x100 && mySettings.fFlag) nextLine << ".ind "; @@ -555,7 +556,7 @@ FIX_LAST: << ";" << std::dec << int(ourLookup[opcode].cycles) << (addrMode == AddressingMode::RELATIVE ? (ad & 0xf00) != ((myPC + myOffset) & 0xf00) ? "/3!" : "/3 " : " "); if ((opcode == 0x40 || opcode == 0x60 || opcode == 0x4c || opcode == 0x00 // code block end - || checkBit(myPC, CartDebug::REFERENCED) // referenced address + || checkBit(myPC, Device::REFERENCED) // referenced address || (ourLookup[opcode].rw_mode == RWMode::WRITE && d1 == WSYNC)) // strobe WSYNC && cycles > 0) { // output cycles for previous code block @@ -566,11 +567,11 @@ FIX_LAST: } myDisasmBuf << "'" << nextLineBytes.str(); - addEntry(CartDebug::CODE); + addEntry(Device::CODE); if (opcode == 0x40 || opcode == 0x60 || opcode == 0x4c || opcode == 0x00) { myDisasmBuf << " ' ' "; - addEntry(CartDebug::NONE); - mySegType = CartDebug::NONE; // prevent extra lines if data follows + addEntry(Device::NONE); + mySegType = Device::NONE; // prevent extra lines if data follows } nextLine.str(""); @@ -619,17 +620,17 @@ void DiStella::disasmPass1(CartDebug::AddressList& debuggerAddresses) // in the emulation core indicate that the CODE range has finished // Therefore, we stop at the first such address encountered for (uInt32 k = pcBeg; k <= myPCEnd; ++k) { - if (checkBits(k, CartDebug::CartDebug::DATA | CartDebug::GFX | CartDebug::PGFX | - CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL, - CartDebug::CODE)) { + if (checkBits(k, Device::Device::DATA | Device::GFX | Device::PGFX | + Device::COL | Device::PCOL | Device::BCOL, + Device::CODE)) { //if (Debugger::debugger().getAccessFlags(k) & - // (CartDebug::DATA | CartDebug::GFX | CartDebug::PGFX)) { + // (Device::DATA | Device::GFX | Device::PGFX)) { // TODO: this should never happen, remove when we are sure // TODO: NOT USED: uInt16 flags = Debugger::debugger().getAccessFlags(k); myPCEnd = k - 1; break; } - mark(k, CartDebug::CODE); + mark(k, Device::CODE); } } @@ -651,7 +652,7 @@ void DiStella::disasmPass1(CartDebug::AddressList& debuggerAddresses) while (myAddressQueue.empty() && it != debuggerAddresses.end()) { uInt16 addr = *it; - if (!checkBit(addr - myOffset, CartDebug::CODE)) { + if (!checkBit(addr - myOffset, Device::CODE)) { myAddressQueue.push(addr); ++it; } else // remove this address, it is redundant @@ -661,8 +662,8 @@ void DiStella::disasmPass1(CartDebug::AddressList& debuggerAddresses) // Stella itself can provide hints on whether an address has ever // been referenced as CODE while (myAddressQueue.empty() && codeAccessPoint <= myAppData.end) { - if ((Debugger::debugger().getAccessFlags(codeAccessPoint + myOffset) & CartDebug::CODE) - && !(myLabels[codeAccessPoint & myAppData.end] & CartDebug::CODE)) { + if ((Debugger::debugger().getAccessFlags(codeAccessPoint + myOffset) & Device::CODE) + && !(myLabels[codeAccessPoint & myAppData.end] & Device::CODE)) { myAddressQueue.push(codeAccessPoint + myOffset); ++codeAccessPoint; break; @@ -674,17 +675,17 @@ void DiStella::disasmPass1(CartDebug::AddressList& debuggerAddresses) for (int k = 0; k <= myAppData.end; k++) { // Let the emulation core know about tentative code - if (checkBit(k, CartDebug::CODE) && - !(Debugger::debugger().getAccessFlags(k + myOffset) & CartDebug::CODE) + if (checkBit(k, Device::CODE) && + !(Debugger::debugger().getAccessFlags(k + myOffset) & Device::CODE) && myOffset != 0) { - Debugger::debugger().setAccessFlags(k + myOffset, CartDebug::TCODE); + Debugger::debugger().setAccessFlags(k + myOffset, Device::TCODE); } // Must be ROW / unused bytes - if (!checkBit(k, CartDebug::CODE | CartDebug::GFX | CartDebug::PGFX | - CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL | - CartDebug::DATA)) - mark(k + myOffset, CartDebug::ROW); + if (!checkBit(k, Device::CODE | Device::GFX | Device::PGFX | + Device::COL | Device::PCOL | Device::BCOL | + Device::DATA)) + mark(k + myOffset, Device::ROW); } } @@ -700,9 +701,9 @@ void DiStella::disasmFromAddress(uInt32 distart) while (myPC <= myAppData.end) { // abort when we reach non-code areas - if (checkBits(myPC, CartDebug::CartDebug::DATA | CartDebug::GFX | CartDebug::PGFX | - CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL, - CartDebug::CODE)) { + if (checkBits(myPC, Device::Device::DATA | Device::GFX | Device::PGFX | + Device::COL | Device::PCOL | Device::BCOL, + Device::CODE)) { myPCEnd = (myPC - 1) + myOffset; return; } @@ -746,22 +747,22 @@ void DiStella::disasmFromAddress(uInt32 distart) switch (addrMode) { case AddressingMode::ABSOLUTE: ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; - mark(ad, CartDebug::REFERENCED); + mark(ad, Device::REFERENCED); // handle JMP/JSR if (ourLookup[opcode].source == AccessMode::ADDR) { // do NOT use flags set by debugger, else known CODE will not analyzed statically. - if (!checkBit(ad & myAppData.end, CartDebug::CODE, false)) { + if (!checkBit(ad & myAppData.end, Device::CODE, false)) { if (ad > 0xfff) myAddressQueue.push((ad & myAppData.end) + myOffset); - mark(ad, CartDebug::CODE); + mark(ad, Device::CODE); } } else - mark(ad, CartDebug::DATA); + mark(ad, Device::DATA); break; case AddressingMode::ZERO_PAGE: d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; - mark(d1, CartDebug::REFERENCED); + mark(d1, Device::REFERENCED); break; case AddressingMode::IMMEDIATE: @@ -770,12 +771,12 @@ void DiStella::disasmFromAddress(uInt32 distart) case AddressingMode::ABSOLUTE_X: ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; - mark(ad, CartDebug::REFERENCED); + mark(ad, Device::REFERENCED); break; case AddressingMode::ABSOLUTE_Y: ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; - mark(ad, CartDebug::REFERENCED); + mark(ad, Device::REFERENCED); break; case AddressingMode::INDIRECT_X: @@ -788,12 +789,12 @@ void DiStella::disasmFromAddress(uInt32 distart) case AddressingMode::ZERO_PAGE_X: d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; - mark(d1, CartDebug::REFERENCED); + mark(d1, Device::REFERENCED); break; case AddressingMode::ZERO_PAGE_Y: d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; - mark(d1, CartDebug::REFERENCED); + mark(d1, Device::REFERENCED); break; case AddressingMode::RELATIVE: @@ -802,17 +803,17 @@ void DiStella::disasmFromAddress(uInt32 distart) // indexing into the labels array caused a crash d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; ad = ((myPC + Int8(d1)) & 0xfff) + myOffset; - mark(ad, CartDebug::REFERENCED); + mark(ad, Device::REFERENCED); // do NOT use flags set by debugger, else known CODE will not analyzed statically. - if (!checkBit(ad - myOffset, CartDebug::CODE, false)) { + if (!checkBit(ad - myOffset, Device::CODE, false)) { myAddressQueue.push(ad); - mark(ad, CartDebug::CODE); + mark(ad, Device::CODE); } break; case AddressingMode::ABS_INDIRECT: ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; - mark(ad, CartDebug::REFERENCED); + mark(ad, Device::REFERENCED); break; default: @@ -821,10 +822,10 @@ void DiStella::disasmFromAddress(uInt32 distart) // mark BRK vector if (opcode == 0x00) { - ad = Debugger::debugger().dpeek(0xfffe, CartDebug::DATA); + ad = Debugger::debugger().dpeek(0xfffe, Device::DATA); if (!myReserved.breakFound) { myAddressQueue.push(ad); - mark(ad, CartDebug::CODE); + mark(ad, Device::CODE); myReserved.breakFound = true; } } @@ -943,8 +944,8 @@ bool DiStella::checkBits(uInt16 address, uInt16 mask, uInt16 notMask, bool useDe /*bool DiStella::isType(uInt16 address) const { - return checkBits(address, CartDebug::GFX | CartDebug::PGFX | - CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL); + return checkBits(address, Device::GFX | Device::PGFX | + Device::COL | Device::PCOL | Device::BCOL); }*/ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -967,7 +968,7 @@ bool DiStella::check_range(uInt16 beg, uInt16 end) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void DiStella::addEntry(CartDebug::DisasmType type) +void DiStella::addEntry(Device::AccessType type) { CartDebug::DisassemblyTag tag; @@ -993,7 +994,7 @@ void DiStella::addEntry(CartDebug::DisasmType type) if (tag.label == EmptyString) { if (myDisasmBuf.peek() != ' ') getline(myDisasmBuf, tag.label, '\''); - else if (mySettings.showAddresses && tag.type == CartDebug::CODE) { + else if (mySettings.showAddresses && tag.type == Device::CODE) { // Have addresses indented, to differentiate from actual labels tag.label = " " + Base::toString(tag.address, Base::Fmt::_16_4); tag.hllabel = false; @@ -1006,7 +1007,7 @@ void DiStella::addEntry(CartDebug::DisasmType type) // variable length labels, cycle counts, etc myDisasmBuf.seekg(11, std::ios::beg); switch (tag.type) { - case CartDebug::CODE: + case Device::CODE: getline(myDisasmBuf, tag.disasm, '\''); getline(myDisasmBuf, tag.ccount, '\''); getline(myDisasmBuf, tag.ctotal, '\''); @@ -1017,36 +1018,36 @@ void DiStella::addEntry(CartDebug::DisasmType type) // but it could also indicate that code will *never* be accessed // Since it is impossible to tell the difference, marking the address // in the disassembly at least tells the user about it - if (!(Debugger::debugger().getAccessFlags(tag.address) & CartDebug::CODE) + if (!(Debugger::debugger().getAccessFlags(tag.address) & Device::CODE) && myOffset != 0) { tag.ccount += " *"; - Debugger::debugger().setAccessFlags(tag.address, CartDebug::TCODE); + Debugger::debugger().setAccessFlags(tag.address, Device::TCODE); } break; - case CartDebug::GFX: - case CartDebug::PGFX: + case Device::GFX: + case Device::PGFX: getline(myDisasmBuf, tag.disasm, '\''); getline(myDisasmBuf, tag.bytes); break; - case CartDebug::COL: - case CartDebug::PCOL: - case CartDebug::BCOL: + case Device::COL: + case Device::PCOL: + case Device::BCOL: getline(myDisasmBuf, tag.disasm, '\''); getline(myDisasmBuf, tag.bytes); break; - case CartDebug::DATA: + case Device::DATA: getline(myDisasmBuf, tag.disasm, '\''); getline(myDisasmBuf, tag.bytes); break; - case CartDebug::ROW: + case Device::ROW: getline(myDisasmBuf, tag.disasm); break; - case CartDebug::NONE: + case Device::NONE: default: // should never happen tag.disasm = " "; break; @@ -1061,18 +1062,18 @@ DONE_WITH_ADD: // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void DiStella::outputGraphics() { - bool isPGfx = checkBit(myPC, CartDebug::PGFX); + bool isPGfx = checkBit(myPC, Device::PGFX); const string& bitString = isPGfx ? "\x1f" : "\x1e"; uInt8 byte = Debugger::debugger().peek(myPC + myOffset); // add extra spacing line when switching from non-graphics to graphics - if (mySegType != CartDebug::GFX && mySegType != CartDebug::NONE) { + if (mySegType != Device::GFX && mySegType != Device::NONE) { myDisasmBuf << " ' ' "; - addEntry(CartDebug::NONE); + addEntry(Device::NONE); } - mySegType = CartDebug::GFX; + mySegType = Device::GFX; - if (checkBit(myPC, CartDebug::REFERENCED)) + if (checkBit(myPC, Device::REFERENCED)) myDisasmBuf << Base::HEX4 << myPC + myOffset << "'L" << Base::HEX4 << myPC + myOffset << "'"; else myDisasmBuf << Base::HEX4 << myPC + myOffset << "' '"; @@ -1085,7 +1086,7 @@ void DiStella::outputGraphics() else myDisasmBuf << Base::HEX2 << int(byte); - addEntry(isPGfx ? CartDebug::PGFX : CartDebug::GFX); + addEntry(isPGfx ? Device::PGFX : Device::GFX); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1111,15 +1112,15 @@ void DiStella::outputColors() uInt8 byte = Debugger::debugger().peek(myPC + myOffset); // add extra spacing line when switching from non-colors to colors - if(mySegType != CartDebug::COL && mySegType != CartDebug::NONE) + if(mySegType != Device::COL && mySegType != Device::NONE) { myDisasmBuf << " ' ' "; - addEntry(CartDebug::NONE); + addEntry(Device::NONE); } - mySegType = CartDebug::COL; + mySegType = Device::COL; // output label/address - if(checkBit(myPC, CartDebug::REFERENCED)) + if(checkBit(myPC, Device::REFERENCED)) myDisasmBuf << Base::HEX4 << myPC + myOffset << "'L" << Base::HEX4 << myPC + myOffset << "'"; else myDisasmBuf << Base::HEX4 << myPC + myOffset << "' '"; @@ -1147,29 +1148,29 @@ void DiStella::outputColors() // output address myDisasmBuf << "; $" << Base::HEX4 << myPC + myOffset << " " - << (checkBit(myPC, CartDebug::COL) ? "(Px)" : checkBit(myPC, CartDebug::PCOL) ? "(PF)" : "(BK)"); + << (checkBit(myPC, Device::COL) ? "(Px)" : checkBit(myPC, Device::PCOL) ? "(PF)" : "(BK)"); // output color value myDisasmBuf << "'" << Base::HEX2 << int(byte); - addEntry(checkBit(myPC, CartDebug::COL) ? CartDebug::COL : - checkBit(myPC, CartDebug::PCOL) ? CartDebug::PCOL : CartDebug::BCOL); + addEntry(checkBit(myPC, Device::COL) ? Device::COL : + checkBit(myPC, Device::PCOL) ? Device::PCOL : Device::BCOL); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void DiStella::outputBytes(CartDebug::DisasmType type) +void DiStella::outputBytes(Device::AccessType type) { bool isType = true; - bool referenced = checkBit(myPC, CartDebug::REFERENCED); + bool referenced = checkBit(myPC, Device::REFERENCED); bool lineEmpty = true; int numBytes = 0; // add extra spacing line when switching from non-data to data - if (mySegType != CartDebug::DATA && mySegType != CartDebug::NONE) { + if (mySegType != Device::DATA && mySegType != Device::NONE) { myDisasmBuf << " ' ' "; - addEntry(CartDebug::NONE); + addEntry(Device::NONE); } - mySegType = CartDebug::DATA; + mySegType = Device::DATA; while (isType && myPC <= myAppData.end) { if (referenced) { @@ -1200,15 +1201,15 @@ void DiStella::outputBytes(CartDebug::DisasmType type) ++myPC; } isType = checkBits(myPC, type, - CartDebug::CODE | (type != CartDebug::DATA ? CartDebug::DATA : 0) | - CartDebug::GFX | CartDebug::PGFX | - CartDebug::COL | CartDebug::PCOL | CartDebug::BCOL); - referenced = checkBit(myPC, CartDebug::REFERENCED); + Device::CODE | (type != Device::DATA ? Device::DATA : 0) | + Device::GFX | Device::PGFX | + Device::COL | Device::PCOL | Device::BCOL); + referenced = checkBit(myPC, Device::REFERENCED); } if (!lineEmpty) addEntry(type); /*myDisasmBuf << " ' ' "; - addEntry(CartDebug::NONE);*/ + addEntry(Device::NONE);*/ } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/debugger/DiStella.hxx b/src/debugger/DiStella.hxx index 830835a02..bb1b54f5e 100644 --- a/src/debugger/DiStella.hxx +++ b/src/debugger/DiStella.hxx @@ -22,6 +22,7 @@ #include "Base.hxx" #include "CartDebug.hxx" +#include "Device.hxx" #include "bspf.hxx" /** @@ -75,7 +76,7 @@ class DiStella // Indicate that a new line of disassembly has been completed // In the original Distella code, this indicated a new line to be printed // Here, we add a new entry to the DisassemblyList - void addEntry(CartDebug::DisasmType type); + void addEntry(Device::AccessType type); // Process directives given in the list // Directives are basically the contents of a distella configuration file @@ -93,7 +94,7 @@ class DiStella //bool isType(uInt16 address) const; void outputGraphics(); void outputColors(); - void outputBytes(CartDebug::DisasmType type); + void outputBytes(Device::AccessType type); // Convenience methods to generate appropriate labels inline void labelA12High(stringstream& buf, uInt8 op, uInt16 addr, int labfound) diff --git a/src/debugger/gui/RomListWidget.cxx b/src/debugger/gui/RomListWidget.cxx index fdc24fb71..b4af0daf7 100644 --- a/src/debugger/gui/RomListWidget.cxx +++ b/src/debugger/gui/RomListWidget.cxx @@ -511,10 +511,10 @@ void RomListWidget::drawWidget(bool hilite) // Bytes are only editable if they represent code, graphics, or accessible data // Otherwise, the disassembly should get all remaining space - if(dlist[pos].type & (CartDebug::CODE|CartDebug::GFX|CartDebug::PGFX| - CartDebug::COL|CartDebug::PCOL|CartDebug::BCOL|CartDebug::DATA)) + if(dlist[pos].type & (Device::CODE|Device::GFX|Device::PGFX| + Device::COL|Device::PCOL|Device::BCOL|Device::DATA)) { - if(dlist[pos].type == CartDebug::CODE) + if(dlist[pos].type == Device::CODE) { // Draw mnemonic s.drawString(_font, dlist[pos].disasm.substr(0, 7), xpos + _labelWidth, ypos, @@ -593,8 +593,8 @@ void RomListWidget::startEditMode() _editMode = true; switch(myDisasm->list[_selectedItem].type) { - case CartDebug::GFX: - case CartDebug::PGFX: + case Device::GFX: + case Device::PGFX: _base = DiStella::settings.gfxFormat; break; default: diff --git a/src/emucore/Cart.cxx b/src/emucore/Cart.cxx index cd40f886b..ec7cea379 100644 --- a/src/emucore/Cart.cxx +++ b/src/emucore/Cart.cxx @@ -20,7 +20,6 @@ #include "MD5.hxx" #ifdef DEBUGGER_SUPPORT #include "Debugger.hxx" - #include "CartDebug.hxx" #endif #include "Cart.hxx" @@ -117,8 +116,8 @@ void Cartridge::pokeRAM(uInt8& dest, uInt16 address, uInt8 value) void Cartridge::createCodeAccessBase(size_t size) { #ifdef DEBUGGER_SUPPORT - myCodeAccessBase = make_unique(size); - std::fill_n(myCodeAccessBase.get(), size, CartDebug::ROW); + myCodeAccessBase = make_unique(size); + std::fill_n(myCodeAccessBase.get(), size, Device::ROW); #else myCodeAccessBase = nullptr; #endif diff --git a/src/emucore/Cart.hxx b/src/emucore/Cart.hxx index 5a34f1fc3..4b9cda533 100644 --- a/src/emucore/Cart.hxx +++ b/src/emucore/Cart.hxx @@ -30,7 +30,7 @@ class GuiObject; #ifdef DEBUGGER_SUPPORT #include "Font.hxx" #endif -#include "CartDebug.hxx" + /** A cartridge is a device which contains the machine code for a @@ -323,7 +323,7 @@ class Cartridge : public Device // The array containing information about every byte of ROM indicating // whether it is used as code. - std::unique_ptr myCodeAccessBase; + std::unique_ptr myCodeAccessBase; // Contains address of illegal RAM write access or 0 uInt16 myRamWriteAccess{0}; diff --git a/src/emucore/Cart4A50.cxx b/src/emucore/Cart4A50.cxx index 9ac05b2b3..fd05804d4 100644 --- a/src/emucore/Cart4A50.cxx +++ b/src/emucore/Cart4A50.cxx @@ -182,7 +182,7 @@ bool Cartridge4A50::poke(uInt16 address, uInt8 value) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CartDebug::DisasmFlags Cartridge4A50::getAccessFlags(uInt16 address) const +Device::AccessFlags Cartridge4A50::getAccessFlags(uInt16 address) const { if((address & 0x1800) == 0x1000) // 2K region from 0x1000 - 0x17ff { @@ -214,7 +214,7 @@ CartDebug::DisasmFlags Cartridge4A50::getAccessFlags(uInt16 address) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Cartridge4A50::setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) +void Cartridge4A50::setAccessFlags(uInt16 address, Device::AccessFlags flags) { if((address & 0x1800) == 0x1000) // 2K region from 0x1000 - 0x17ff { diff --git a/src/emucore/Cart4A50.hxx b/src/emucore/Cart4A50.hxx index e1299431c..d55ec8d2f 100644 --- a/src/emucore/Cart4A50.hxx +++ b/src/emucore/Cart4A50.hxx @@ -154,18 +154,18 @@ class Cartridge4A50 : public Cartridge private: /** - Query the given address type for the associated disassembly flags. + Query the given address type for the associated access flags. @param address The address to query */ - CartDebug::DisasmFlags getAccessFlags(uInt16 address) const override; + Device::AccessFlags getAccessFlags(uInt16 address) const override; /** - Change the given address to use the given disassembly flags. + Change the given address to use the given access flags. @param address The address to modify - @param flags A bitfield of DisasmType directives for the given address + @param flags A bitfield of AccessType directives for the given address */ - void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) override; + void setAccessFlags(uInt16 address, Device::AccessFlags flags) override; /** Check all possible hotspots diff --git a/src/emucore/CartAR.cxx b/src/emucore/CartAR.cxx index fc63d7954..42d12c0fd 100644 --- a/src/emucore/CartAR.cxx +++ b/src/emucore/CartAR.cxx @@ -191,14 +191,14 @@ bool CartridgeAR::poke(uInt16 addr, uInt8) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CartDebug::DisasmFlags CartridgeAR::getAccessFlags(uInt16 address) const +Device::AccessFlags CartridgeAR::getAccessFlags(uInt16 address) const { return myCodeAccessBase[(address & 0x07FF) + myImageOffset[(address & 0x0800) ? 1 : 0]]; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void CartridgeAR::setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) +void CartridgeAR::setAccessFlags(uInt16 address, Device::AccessFlags flags) { myCodeAccessBase[(address & 0x07FF) + myImageOffset[(address & 0x0800) ? 1 : 0]] |= flags; diff --git a/src/emucore/CartAR.hxx b/src/emucore/CartAR.hxx index 888e5e6f9..877817c1b 100644 --- a/src/emucore/CartAR.hxx +++ b/src/emucore/CartAR.hxx @@ -160,18 +160,18 @@ class CartridgeAR : public Cartridge private: /** - Query the given address type for the associated disassembly flags. + Query the given address type for the associated access flags. @param address The address to query */ - CartDebug::DisasmFlags getAccessFlags(uInt16 address) const override; + Device::AccessFlags getAccessFlags(uInt16 address) const override; /** - Change the given address to use the given disassembly flags. + Change the given address to use the given access flags. @param address The address to modify - @param flags A bitfield of DisasmType directives for the given address + @param flags A bitfield of AccessType directives for the given address */ - void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) override; + void setAccessFlags(uInt16 address, Device::AccessFlags flags) override; // Handle a change to the bank configuration bool bankConfiguration(uInt8 configuration); diff --git a/src/emucore/Device.hxx b/src/emucore/Device.hxx index f55312869..205de10ac 100644 --- a/src/emucore/Device.hxx +++ b/src/emucore/Device.hxx @@ -22,7 +22,6 @@ class System; #include "Console.hxx" #include "Serializable.hxx" -#include "CartDebug.hxx" #include "bspf.hxx" /** @@ -33,6 +32,34 @@ class System; */ class Device : public Serializable { + public: + enum AccessType { + NONE = 0, + REFERENCED = 1 << 0, /* 0x01, code somewhere in the program references it, + i.e. LDA $F372 referenced $F372 */ + VALID_ENTRY = 1 << 1, /* 0x02, addresses that can have a label placed in front of it. + A good counterexample would be "FF00: LDA $FE00"; $FF01 + would be in the middle of a multi-byte instruction, and + therefore cannot be labelled. */ + + // The following correspond to specific types that can be set within the + // debugger, or specified in a Distella cfg file, and are listed in order + // of decreasing hierarchy + // + CODE = 1 << 10, // 0x400, disassemble-able code segments + TCODE = 1 << 9, // 0x200, (tentative) disassemble-able code segments + GFX = 1 << 8, // 0x100, addresses loaded into GRPx registers + PGFX = 1 << 7, // 0x080, addresses loaded into PFx registers + COL = 1 << 6, // 0x040, addresses loaded into COLUPx registers + PCOL = 1 << 5, // 0x010, addresses loaded into COLUPF register + BCOL = 1 << 4, // 0x010, addresses loaded into COLUBK register + DATA = 1 << 3, // 0x008, addresses loaded into registers other than GRPx / PFx + ROW = 1 << 2, // 0x004, all other addresses + // special type for poke() + WRITE = TCODE // 0x200, address written to + }; + using AccessFlags = uInt16; + public: Device() = default; virtual ~Device() = default; @@ -99,19 +126,19 @@ class Device : public Serializable virtual bool poke(uInt16 address, uInt8 value) { return false; } /** - Query the given address for its disassembly flags + Query the given address for its access flags @param address The address to modify */ - virtual CartDebug::DisasmFlags getAccessFlags(uInt16 address) const { return CartDebug::NONE; } + virtual AccessFlags getAccessFlags(uInt16 address) const { return AccessType::NONE; } /** - Change the given address type to use the given disassembly flags + Change the given address type to use the given access flags @param address The address to modify - @param flags A bitfield of DisasmType directives for the given address + @param flags A bitfield of AccessType directives for the given address */ - virtual void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) { } + virtual void setAccessFlags(uInt16 address, AccessFlags flags) { } protected: /// Pointer to the system the device is installed in or the null pointer diff --git a/src/emucore/M6502.cxx b/src/emucore/M6502.cxx index 49f8ff7e2..6f7392326 100644 --- a/src/emucore/M6502.cxx +++ b/src/emucore/M6502.cxx @@ -18,19 +18,19 @@ #ifdef DEBUGGER_SUPPORT #include "Debugger.hxx" #include "Expression.hxx" - #include "CartDebug.hxx" + #include "Device.hxx" #include "Base.hxx" - // Flags for disassembly types - #define DISASM_CODE CartDebug::CODE -// #define DISASM_GFX CartDebug::GFX -// #define DISASM_PGFX CartDebug::PGFX - #define DISASM_DATA CartDebug::DATA -// #define DISASM_ROW CartDebug::ROW - #define DISASM_WRITE CartDebug::WRITE + // Flags for access types + #define DISASM_CODE Device::CODE +// #define DISASM_GFX Device::GFX +// #define DISASM_PGFX Device::PGFX + #define DISASM_DATA Device::DATA +// #define DISASM_ROW Device::ROW + #define DISASM_WRITE Device::WRITE #define DISASM_NONE 0 #else - // Flags for disassembly types + // Flags for access types #define DISASM_CODE 0 // #define DISASM_GFX 0 // #define DISASM_PGFX 0 @@ -104,7 +104,7 @@ void M6502::reset() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -inline uInt8 M6502::peek(uInt16 address, CartDebug::DisasmFlags flags) +inline uInt8 M6502::peek(uInt16 address, Device::AccessFlags flags) { handleHalt(); @@ -144,7 +144,7 @@ inline uInt8 M6502::peek(uInt16 address, CartDebug::DisasmFlags flags) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -inline void M6502::poke(uInt16 address, uInt8 value, CartDebug::DisasmFlags flags) +inline void M6502::poke(uInt16 address, uInt8 value, Device::AccessFlags flags) { //////////////////////////////////////////////// // TODO - move this logic directly into CartAR diff --git a/src/emucore/M6502.hxx b/src/emucore/M6502.hxx index 5c7bbbc01..6cb3ccc65 100644 --- a/src/emucore/M6502.hxx +++ b/src/emucore/M6502.hxx @@ -34,8 +34,8 @@ class DispatchResult; #endif #include "bspf.hxx" +#include "Device.hxx" #include "Serializable.hxx" -#include "CartDebug.hxx" /** The 6502 is an 8-bit microprocessor that has a 64K addressing space. @@ -270,7 +270,7 @@ class M6502 : public Serializable @return The byte at the specified address */ - uInt8 peek(uInt16 address, CartDebug::DisasmFlags flags); + uInt8 peek(uInt16 address, Device::AccessFlags flags); /** Change the byte at the specified address to the given value and @@ -279,7 +279,7 @@ class M6502 : public Serializable @param address The address where the value should be stored @param value The value to be stored at the address */ - void poke(uInt16 address, uInt8 value, CartDebug::DisasmFlags flags = CartDebug::NONE); + void poke(uInt16 address, uInt8 value, Device::AccessFlags flags = Device::NONE); /** Get the 8-bit value of the Processor Status register. diff --git a/src/emucore/M6532.cxx b/src/emucore/M6532.cxx index b5276567b..645a4a332 100644 --- a/src/emucore/M6532.cxx +++ b/src/emucore/M6532.cxx @@ -21,9 +21,6 @@ #include "Settings.hxx" #include "Switches.hxx" #include "System.hxx" -#ifdef DEBUGGER_SUPPORT - #include "CartDebug.hxx" -#endif #include "M6532.hxx" @@ -460,14 +457,14 @@ uInt32 M6532::timerClocks() const // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void M6532::createAccessBases() { - myRAMAccessBase.fill(CartDebug::NONE); - myStackAccessBase.fill(CartDebug::NONE); - myIOAccessBase.fill(CartDebug::NONE); + myRAMAccessBase.fill(Device::NONE); + myStackAccessBase.fill(Device::NONE); + myIOAccessBase.fill(Device::NONE); myZPAccessDelay.fill(ZP_DELAY); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CartDebug::DisasmFlags M6532::getAccessFlags(uInt16 address) const +Device::AccessFlags M6532::getAccessFlags(uInt16 address) const { if (address & IO_BIT) return myIOAccessBase[address & IO_MASK]; @@ -478,10 +475,10 @@ CartDebug::DisasmFlags M6532::getAccessFlags(uInt16 address) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void M6532::setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) +void M6532::setAccessFlags(uInt16 address, Device::AccessFlags flags) { // ignore none flag - if (flags != CartDebug::NONE) { + if (flags != Device::NONE) { if (address & IO_BIT) myIOAccessBase[address & IO_MASK] |= flags; else { diff --git a/src/emucore/M6532.hxx b/src/emucore/M6532.hxx index 42fca9640..4f543b8a8 100644 --- a/src/emucore/M6532.hxx +++ b/src/emucore/M6532.hxx @@ -147,18 +147,18 @@ class M6532 : public Device void createAccessBases(); /** - Query the given address type for the associated disassembly flags. + Query the given address type for the associated access flags. @param address The address to query */ - CartDebug::DisasmFlags getAccessFlags(uInt16 address) const override; + Device::AccessFlags getAccessFlags(uInt16 address) const override; /** - Change the given address to use the given disassembly flags. + Change the given address to use the given access flags. @param address The address to modify - @param flags A bitfield of DisasmType directives for the given address + @param flags A bitfield of AccessType directives for the given address */ - void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) override; + void setAccessFlags(uInt16 address, Device::AccessFlags flags) override; #endif // DEBUGGER_SUPPORT private: @@ -225,9 +225,9 @@ class M6532 : public Device // The arrays containing information about every byte of RIOT // indicating whether and how (RW) it is used. - std::array myRAMAccessBase; - std::array myStackAccessBase; - std::array myIOAccessBase; + std::array myRAMAccessBase; + std::array myStackAccessBase; + std::array myIOAccessBase; // The array used to skip the first ZP access tracking std::array myZPAccessDelay; #endif // DEBUGGER_SUPPORT diff --git a/src/emucore/System.cxx b/src/emucore/System.cxx index e2050ee1b..7bf3551ef 100644 --- a/src/emucore/System.cxx +++ b/src/emucore/System.cxx @@ -99,7 +99,7 @@ void System::clearDirtyPages() } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -uInt8 System::peek(uInt16 addr, CartDebug::DisasmFlags flags) +uInt8 System::peek(uInt16 addr, Device::AccessFlags flags) { const PageAccess& access = getPageAccess(addr); @@ -127,7 +127,7 @@ uInt8 System::peek(uInt16 addr, CartDebug::DisasmFlags flags) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void System::poke(uInt16 addr, uInt8 value, CartDebug::DisasmFlags flags) +void System::poke(uInt16 addr, uInt8 value, Device::AccessFlags flags) { uInt16 page = (addr & ADDRESS_MASK) >> PAGE_SHIFT; const PageAccess& access = myPageAccessTable[page]; @@ -160,7 +160,7 @@ void System::poke(uInt16 addr, uInt8 value, CartDebug::DisasmFlags flags) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CartDebug::DisasmFlags System::getAccessFlags(uInt16 addr) const +Device::AccessFlags System::getAccessFlags(uInt16 addr) const { #ifdef DEBUGGER_SUPPORT const PageAccess& access = getPageAccess(addr); @@ -175,7 +175,7 @@ CartDebug::DisasmFlags System::getAccessFlags(uInt16 addr) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void System::setAccessFlags(uInt16 addr, CartDebug::DisasmFlags flags) +void System::setAccessFlags(uInt16 addr, Device::AccessFlags flags) { #ifdef DEBUGGER_SUPPORT const PageAccess& access = getPageAccess(addr); diff --git a/src/emucore/System.hxx b/src/emucore/System.hxx index 306f269e1..1a6dcff68 100644 --- a/src/emucore/System.hxx +++ b/src/emucore/System.hxx @@ -29,7 +29,6 @@ class NullDevice; #include "NullDev.hxx" #include "Random.hxx" #include "Serializable.hxx" -#include "CartDebug.hxx" /** This class represents a system consisting of a 6502 microprocessor @@ -203,7 +202,7 @@ class System : public Serializable @return The byte at the specified address */ - uInt8 peek(uInt16 address, CartDebug::DisasmFlags flags = CartDebug::NONE); + uInt8 peek(uInt16 address, Device::AccessFlags flags = Device::NONE); /** Change the byte at the specified address to the given value. @@ -218,7 +217,7 @@ class System : public Serializable @param address The address where the value should be stored @param value The value to be stored at the address */ - void poke(uInt16 address, uInt8 value, CartDebug::DisasmFlags flags = CartDebug::NONE); + void poke(uInt16 address, uInt8 value, Device::AccessFlags flags = Device::NONE); /** Lock/unlock the data bus. When the bus is locked, peek() and @@ -233,12 +232,12 @@ class System : public Serializable void unlockDataBus() { myDataBusLocked = false; } /** - Access and modify the disassembly type flags for the given + Access and modify the access type flags for the given address. Note that while any flag can be used, the disassembly - only really acts on CODE/GFX/PGFX/DATA/ROW. + only really acts on CODE/GFX/PGFX/COL/PCOL/BCOL/DATA/ROW. */ - CartDebug::DisasmFlags getAccessFlags(uInt16 address) const; - void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags); + Device::AccessFlags getAccessFlags(uInt16 address) const; + void setAccessFlags(uInt16 address, Device::AccessFlags flags); public: /** @@ -278,7 +277,7 @@ class System : public Serializable conclusively determine if a section of address space is CODE, even if the disassembler failed to mark it as such. */ - CartDebug::DisasmFlags* codeAccessBase{nullptr}; + Device::AccessFlags* codeAccessBase{nullptr}; /** Pointer to the device associated with this page or to the system's diff --git a/src/emucore/tia/TIA.cxx b/src/emucore/tia/TIA.cxx index 10f71ec80..58eb8c8ea 100644 --- a/src/emucore/tia/TIA.cxx +++ b/src/emucore/tia/TIA.cxx @@ -25,10 +25,6 @@ #include "AudioQueue.hxx" #include "DispatchResult.hxx" -#ifdef DEBUGGER_SUPPORT - #include "CartDebug.hxx" -#endif - enum CollisionMask: uInt32 { player0 = 0b0111110000000000, player1 = 0b0100001111000000, @@ -575,7 +571,7 @@ bool TIA::poke(uInt16 address, uInt8 value) #ifdef DEBUGGER_SUPPORT uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); if(dataAddr) - mySystem->setAccessFlags(dataAddr, CartDebug::BCOL); + mySystem->setAccessFlags(dataAddr, Device::BCOL); #endif break; } @@ -590,7 +586,7 @@ bool TIA::poke(uInt16 address, uInt8 value) #ifdef DEBUGGER_SUPPORT uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); if(dataAddr) - mySystem->setAccessFlags(dataAddr, CartDebug::COL); + mySystem->setAccessFlags(dataAddr, Device::COL); #endif break; } @@ -605,7 +601,7 @@ bool TIA::poke(uInt16 address, uInt8 value) #ifdef DEBUGGER_SUPPORT uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); if(dataAddr) - mySystem->setAccessFlags(dataAddr, CartDebug::COL); + mySystem->setAccessFlags(dataAddr, Device::COL); #endif break; } @@ -634,7 +630,7 @@ bool TIA::poke(uInt16 address, uInt8 value) #ifdef DEBUGGER_SUPPORT uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); if(dataAddr) - mySystem->setAccessFlags(dataAddr, CartDebug::PCOL); + mySystem->setAccessFlags(dataAddr, Device::PCOL); #endif break; } @@ -645,7 +641,7 @@ bool TIA::poke(uInt16 address, uInt8 value) #ifdef DEBUGGER_SUPPORT uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); if(dataAddr) - mySystem->setAccessFlags(dataAddr, CartDebug::PGFX); + mySystem->setAccessFlags(dataAddr, Device::PGFX); #endif break; } @@ -656,7 +652,7 @@ bool TIA::poke(uInt16 address, uInt8 value) #ifdef DEBUGGER_SUPPORT uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); if(dataAddr) - mySystem->setAccessFlags(dataAddr, CartDebug::PGFX); + mySystem->setAccessFlags(dataAddr, Device::PGFX); #endif break; } @@ -667,7 +663,7 @@ bool TIA::poke(uInt16 address, uInt8 value) #ifdef DEBUGGER_SUPPORT uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); if(dataAddr) - mySystem->setAccessFlags(dataAddr, CartDebug::PGFX); + mySystem->setAccessFlags(dataAddr, Device::PGFX); #endif break; } @@ -735,7 +731,7 @@ bool TIA::poke(uInt16 address, uInt8 value) #ifdef DEBUGGER_SUPPORT uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); if(dataAddr) - mySystem->setAccessFlags(dataAddr, CartDebug::GFX); + mySystem->setAccessFlags(dataAddr, Device::GFX); #endif break; } @@ -748,7 +744,7 @@ bool TIA::poke(uInt16 address, uInt8 value) #ifdef DEBUGGER_SUPPORT uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); if(dataAddr) - mySystem->setAccessFlags(dataAddr, CartDebug::GFX); + mySystem->setAccessFlags(dataAddr, Device::GFX); #endif break; } @@ -1914,22 +1910,22 @@ void TIA::toggleCollBLPF() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void TIA::createAccessBase() { - myAccessBase.fill(CartDebug::NONE); + myAccessBase.fill(Device::NONE); myAccessDelay.fill(TIA_DELAY); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CartDebug::DisasmFlags TIA::getAccessFlags(uInt16 address) const +Device::AccessFlags TIA::getAccessFlags(uInt16 address) const { return myAccessBase[address & TIA_MASK]; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void TIA::setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) +void TIA::setAccessFlags(uInt16 address, Device::AccessFlags flags) { // ignore none flag - if (flags != CartDebug::NONE) { - if (flags == CartDebug::WRITE) { + if (flags != Device::NONE) { + if (flags == Device::WRITE) { // the first two write accesses are assumed as initialization if (myAccessDelay[address & TIA_MASK]) myAccessDelay[address & TIA_MASK]--; diff --git a/src/emucore/tia/TIA.hxx b/src/emucore/tia/TIA.hxx index 842bc395f..30c3d04f5 100644 --- a/src/emucore/tia/TIA.hxx +++ b/src/emucore/tia/TIA.hxx @@ -681,18 +681,18 @@ class TIA : public Device void createAccessBase(); /** - * Query the given address type for the associated disassembly flags. + * Query the given address type for the associated access flags. * * @param address The address to query */ - CartDebug::DisasmFlags getAccessFlags(uInt16 address) const override; + Device::AccessFlags getAccessFlags(uInt16 address) const override; /** - * Change the given address to use the given disassembly flags. + * Change the given address to use the given access flags. * * @param address The address to modify - * @param flags A bitfield of DisasmType directives for the given address + * @param flags A bitfield of AccessType directives for the given address */ - void setAccessFlags(uInt16 address, CartDebug::DisasmFlags flags) override; + void setAccessFlags(uInt16 address, Device::AccessFlags flags) override; #endif // DEBUGGER_SUPPORT private: @@ -901,7 +901,7 @@ class TIA : public Device #ifdef DEBUGGER_SUPPORT // The arrays containing information about every byte of TIA // indicating whether and how (RW) it is used. - std::array myAccessBase; + std::array myAccessBase; // The array used to skip the first two TIA access trackings std::array myAccessDelay; diff --git a/src/gui/DeveloperDialog.cxx b/src/gui/DeveloperDialog.cxx index 4d6924f11..1d3d59aa5 100644 --- a/src/gui/DeveloperDialog.cxx +++ b/src/gui/DeveloperDialog.cxx @@ -39,7 +39,6 @@ #include "M6502.hxx" #ifdef DEBUGGER_SUPPORT #include "Debugger.hxx" - #include "CartDebug.hxx" #include "DebuggerDialog.hxx" #endif #include "DeveloperDialog.hxx" From d6d0b4d944bd1da51108cc1e8ad30114260b1b2a Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Fri, 27 Mar 2020 20:52:15 -0230 Subject: [PATCH 41/80] And we start again ... --- src/common/Version.hxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/Version.hxx b/src/common/Version.hxx index 51da31362..09c706540 100644 --- a/src/common/Version.hxx +++ b/src/common/Version.hxx @@ -18,7 +18,7 @@ #ifndef VERSION_HXX #define VERSION_HXX -#define STELLA_VERSION "6.1" -#define STELLA_BUILD "5729" +#define STELLA_VERSION "6.2_pre" +#define STELLA_BUILD "5741" #endif From 7f4a712d8ef5dd1071a02bc0468dedb22dee9497 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sat, 28 Mar 2020 09:35:27 +0100 Subject: [PATCH 42/80] replace some magic numbers in Distella --- docs/debugger.html | 3 +- src/debugger/CartDebug.cxx | 2 +- src/debugger/DiStella.cxx | 112 ++++++++++++++++++++----------------- src/debugger/DiStella.hxx | 28 +++++++--- 4 files changed, 85 insertions(+), 60 deletions(-) diff --git a/docs/debugger.html b/docs/debugger.html index 80246c1c4..15a80bcb1 100644 --- a/docs/debugger.html +++ b/docs/debugger.html @@ -1447,7 +1447,8 @@ isn't already a defined label). in either binary or hexidecimal.
  • Use address relocation: Corresponds to the Distella '-r' option -(Relocate calls out of address range).
  • +(Relocate calls out of address range).
    +Note: The code will continue to run fine, but the ROM image will be altered. diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 7446efad4..0552b2d65 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -1054,7 +1054,7 @@ string CartDebug::saveDisassembly() if (myReserved.breakFound) addLabel("Break", myDebugger.dpeek(0xfffe)); - buf << " SEG Device::CODE\n" + buf << " SEG CODE\n" << " ORG $" << Base::HEX4 << info.offset << "\n\n"; // Format in 'distella' style diff --git a/src/debugger/DiStella.cxx b/src/debugger/DiStella.cxx index 43d67749e..a53143668 100644 --- a/src/debugger/DiStella.cxx +++ b/src/debugger/DiStella.cxx @@ -108,7 +108,7 @@ void DiStella::disasm(uInt32 distart, int pass) uInt16 ad; Int32 cycles = 0; AddressingMode addrMode; - int labelFound = 0; + AddressType labelFound = AddressType::INVALID; stringstream nextLine, nextLineBytes; mySegType = Device::NONE; // create extra lines between code and data @@ -192,14 +192,14 @@ FIX_LAST: ++myPC; // detect labels inside instructions (e.g. BIT masks) - labelFound = false; + labelFound = AddressType::INVALID; for (Uint8 i = 0; i < ourLookup[opcode].bytes - 1; i++) { if (checkBit(myPC + i, Device::REFERENCED)) { - labelFound = true; + labelFound = AddressType::ROM; break; } } - if (labelFound) { + if (labelFound != AddressType::INVALID) { if (myOffset >= 0x1000) { // the opcode's operand address matches a label address if (pass == 3) { @@ -320,10 +320,10 @@ FIX_LAST: else nextLine << " "; - if (labelFound == 1) { + if (labelFound == AddressType::ROM) { LABEL_A12_HIGH(ad); nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); - } else if (labelFound == 4) { + } else if (labelFound == AddressType::ROM_MIRROR) { if (mySettings.rFlag) { int tmp = (ad & myAppData.end) + myOffset; LABEL_A12_HIGH(tmp); @@ -378,11 +378,11 @@ FIX_LAST: else nextLine << " "; - if (labelFound == 1) { + if (labelFound == AddressType::ROM) { LABEL_A12_HIGH(ad); nextLine << ",x"; nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); - } else if (labelFound == 4) { + } else if (labelFound == AddressType::ROM_MIRROR) { if (mySettings.rFlag) { int tmp = (ad & myAppData.end) + myOffset; LABEL_A12_HIGH(tmp); @@ -417,11 +417,11 @@ FIX_LAST: else nextLine << " "; - if (labelFound == 1) { + if (labelFound == AddressType::ROM) { LABEL_A12_HIGH(ad); nextLine << ",y"; nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); - } else if (labelFound == 4) { + } else if (labelFound == AddressType::ROM_MIRROR) { if (mySettings.rFlag) { int tmp = (ad & myAppData.end) + myOffset; LABEL_A12_HIGH(tmp); @@ -502,7 +502,7 @@ FIX_LAST: labelFound = mark(ad, Device::REFERENCED); if (pass == 3) { - if (labelFound == 1) { + if (labelFound == AddressType::ROM) { nextLine << " "; LABEL_A12_HIGH(ad); } else @@ -529,12 +529,21 @@ FIX_LAST: else nextLine << " "; } - if (labelFound == 1) { + if (labelFound == AddressType::ROM) { nextLine << "("; LABEL_A12_HIGH(ad); nextLine << ")"; } - // TODO - should we consider case 4?? + else if (labelFound == AddressType::ROM_MIRROR) { + nextLine << "("; + if (mySettings.rFlag) { + int tmp = (ad & myAppData.end) + myOffset; + LABEL_A12_HIGH(tmp); + } else { + LABEL_A12_LOW(ad); + } + nextLine << ")"; + } else { nextLine << "("; LABEL_A12_LOW(ad); @@ -841,7 +850,7 @@ void DiStella::disasmFromAddress(uInt32 distart) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int DiStella::mark(uInt32 address, uInt16 mask, bool directive) +DiStella::AddressType DiStella::mark(uInt32 address, uInt16 mask, bool directive) { /*----------------------------------------------------------------------- For any given offset and code range... @@ -849,68 +858,75 @@ int DiStella::mark(uInt32 address, uInt16 mask, bool directive) If we're between the offset and the end of the code range, we mark the bit in the labels array for that data. The labels array is an array of label info for each code address. If this is the case, - return "1", else... + return "ROM", else... We sweep for hardware/system equates, which are valid addresses, outside the scope of the code/data range. For these, we mark its - corresponding hardware/system array element, and return "2" or "3" + corresponding hardware/system array element, and return "TIA" or "RIOT" (depending on which system/hardware element was accessed). If this was not the case... Next we check if it is a code "mirror". For the 2600, address ranges are limited with 13 bits, so other addresses can exist outside of the standard code/data range. For these, we mark the element in the "labels" - array that corresponds to the mirrored address, and return "4" + array that corresponds to the mirrored address, and return "ROM_MIRROR" - If all else fails, it's not a valid address, so return 0. + If all else fails, it's not a valid address, so return INVALID. A quick example breakdown for a 2600 4K cart: =========================================================== - $00-$3d = system equates (WSYNC, etc...); return 2. - $80-$ff = zero-page RAM (ram_80, etc...); return 5. + $00-$3d = system equates (WSYNC, etc...); return TIA. + $80-$ff = zero-page RAM (ram_80, etc...); return ZP_RAM. $0280-$0297 = system equates (INPT0, etc...); mark the array's element - with the appropriate bit; return 3. + with the appropriate bit; return RIOT. $1000-$1FFF = mark the code/data array for the mirrored address - with the appropriate bit; return 4. + with the appropriate bit; return ROM_MIRROR. $3000-$3FFF = mark the code/data array for the mirrored address - with the appropriate bit; return 4. + with the appropriate bit; return ROM_MIRROR. $5000-$5FFF = mark the code/data array for the mirrored address - with the appropriate bit; return 4. + with the appropriate bit; return ROM_MIRROR. $7000-$7FFF = mark the code/data array for the mirrored address - with the appropriate bit; return 4. + with the appropriate bit; return ROM_MIRROR. $9000-$9FFF = mark the code/data array for the mirrored address - with the appropriate bit; return 4. + with the appropriate bit; return ROM_MIRROR. $B000-$BFFF = mark the code/data array for the mirrored address - with the appropriate bit; return 4. + with the appropriate bit; return ROM_MIRROR. $D000-$DFFF = mark the code/data array for the mirrored address - with the appropriate bit; return 4. + with the appropriate bit; return ROM_MIRROR. $F000-$FFFF = mark the code/data array for the address - with the appropriate bit; return 1. - Anything else = invalid, return 0. + with the appropriate bit; return ROM. + Anything else = invalid, return INVALID. =========================================================== -----------------------------------------------------------------------*/ // Check for equates before ROM/ZP-RAM accesses, because the original logic // of Distella assumed either equates or ROM; it didn't take ZP-RAM into account CartDebug::AddrType type = myDbg.addressType(address); - if (type == CartDebug::AddrType::TIA) { - return 2; - } else if (type == CartDebug::AddrType::IO) { - return 3; - } else if (type == CartDebug::AddrType::ZPRAM && myOffset != 0) { - return 5; - } else if (address >= uInt32(myOffset) && address <= uInt32(myAppData.end + myOffset)) { + if(type == CartDebug::AddrType::TIA) { + return AddressType::TIA; + } + else if(type == CartDebug::AddrType::IO) { + return AddressType::RIOT; + } + else if(type == CartDebug::AddrType::ZPRAM && myOffset != 0) { + return AddressType::ZP_RAM; + } + else if(address >= uInt32(myOffset) && address <= uInt32(myAppData.end + myOffset)) { myLabels[address - myOffset] = myLabels[address - myOffset] | mask; - if (directive) myDirectives[address - myOffset] = mask; - return 1; - } else if (address > 0x1000 && myOffset != 0) // Exclude zero-page accesses + if(directive) + myDirectives[address - myOffset] = mask; + return AddressType::ROM; + } + else if(address > 0x1000 && myOffset != 0) // Exclude zero-page accesses { /* 2K & 4K case */ myLabels[address & myAppData.end] = myLabels[address & myAppData.end] | mask; - if (directive) myDirectives[address & myAppData.end] = mask; - return 4; - } else - return 0; + if(directive) + myDirectives[address & myAppData.end] = mask; + return AddressType::ROM_MIRROR; + } + else + return AddressType::INVALID; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -942,12 +958,6 @@ bool DiStella::checkBits(uInt16 address, uInt16 mask, uInt16 notMask, bool useDe return checkBit(address, mask, useDebugger) && !checkBit(address, notMask, useDebugger); } -/*bool DiStella::isType(uInt16 address) const -{ - return checkBits(address, Device::GFX | Device::PGFX | - Device::COL | Device::PCOL | Device::BCOL); -}*/ - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool DiStella::check_range(uInt16 beg, uInt16 end) const { @@ -1201,7 +1211,7 @@ void DiStella::outputBytes(Device::AccessType type) ++myPC; } isType = checkBits(myPC, type, - Device::CODE | (type != Device::DATA ? Device::DATA : 0) | + Device::CODE | (type != Device::DATA ? Device::DATA : 0) | Device::GFX | Device::PGFX | Device::COL | Device::PCOL | Device::BCOL); referenced = checkBit(myPC, Device::REFERENCED); diff --git a/src/debugger/DiStella.hxx b/src/debugger/DiStella.hxx index bb1b54f5e..18a7bf25c 100644 --- a/src/debugger/DiStella.hxx +++ b/src/debugger/DiStella.hxx @@ -72,6 +72,21 @@ class DiStella CartDebug::AddrTypeArray& directives, CartDebug::ReservedEquates& reserved); + private: + /** + Enumeration of the addressing type (RAM, ROM, RIOT, TIA...) + */ + enum class AddressType : int + { + INVALID, + ROM, + TIA, + RIOT, + ROM_MIRROR, + ZP_RAM + }; + + private: // Indicate that a new line of disassembly has been completed // In the original Distella code, this indicated a new line to be printed @@ -88,33 +103,32 @@ class DiStella void disasmFromAddress(uInt32 distart); bool check_range(uInt16 start, uInt16 end) const; - int mark(uInt32 address, uInt16 mask, bool directive = false); + AddressType mark(uInt32 address, uInt16 mask, bool directive = false); bool checkBit(uInt16 address, uInt16 mask, bool useDebugger = true) const; bool checkBits(uInt16 address, uInt16 mask, uInt16 notMask, bool useDebugger = true) const; - //bool isType(uInt16 address) const; void outputGraphics(); void outputColors(); void outputBytes(Device::AccessType type); // Convenience methods to generate appropriate labels - inline void labelA12High(stringstream& buf, uInt8 op, uInt16 addr, int labfound) + inline void labelA12High(stringstream& buf, uInt8 op, uInt16 addr, AddressType labfound) { if(!myDbg.getLabel(buf, addr, true)) buf << "L" << Common::Base::HEX4 << addr; } - inline void labelA12Low(stringstream& buf, uInt8 op, uInt16 addr, int labfound) + inline void labelA12Low(stringstream& buf, uInt8 op, uInt16 addr, AddressType labfound) { myDbg.getLabel(buf, addr, ourLookup[op].rw_mode == RWMode::READ, 2); - if (labfound == 2) + if (labfound == AddressType::TIA) { if(ourLookup[op].rw_mode == RWMode::READ) myReserved.TIARead[addr & 0x0F] = true; else myReserved.TIAWrite[addr & 0x3F] = true; } - else if (labfound == 3) + else if (labfound == AddressType::RIOT) myReserved.IOReadWrite[(addr & 0xFF) - 0x80] = true; - else if (labfound == 5) + else if (labfound == AddressType::ZP_RAM) myReserved.ZPRAM[(addr & 0xFF) - 0x80] = true; } From c09b6167a18d7cf352b032c87e9b8ea0f703edc0 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Sat, 28 Mar 2020 12:03:23 -0230 Subject: [PATCH 43/80] libretro: Fix core on Debian Buster (fixes #598) --- src/libretro/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libretro/Makefile b/src/libretro/Makefile index a1bc5025a..8d17db9db 100644 --- a/src/libretro/Makefile +++ b/src/libretro/Makefile @@ -57,7 +57,7 @@ endif # Unix ifneq (,$(findstring unix,$(platform))) CXXFLAGS += $(LTO) - LDFLAGS += $(LTO) $(PTHREAD_FLAGS) + LDFLAGS += $(LTO) $(PTHREAD_FLAGS) -static-libgcc -static-libstdc++ TARGET := $(TARGET_NAME)_libretro.so fpic := -fPIC ifneq ($(findstring SunOS,$(shell uname -a)),) From 09fb69f39706aa6f5891838a223640b44a385350 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 29 Mar 2020 10:51:16 +0200 Subject: [PATCH 44/80] add detection of audio data in DiStella (see #596) --- Changes.txt | 2 +- src/debugger/CartDebug.cxx | 57 +++++---- src/debugger/CartDebug.hxx | 2 +- src/debugger/DiStella.cxx | 239 ++++++++++++++++++++----------------- src/emucore/Device.hxx | 15 +-- src/emucore/M6502.cxx | 10 +- src/emucore/Settings.cxx | 4 +- src/emucore/System.hxx | 2 +- src/emucore/tia/TIA.cxx | 42 +++++++ 9 files changed, 223 insertions(+), 150 deletions(-) diff --git a/Changes.txt b/Changes.txt index 5dbc6047e..9daaf6f42 100644 --- a/Changes.txt +++ b/Changes.txt @@ -22,7 +22,7 @@ * Added displaying last write address in debugger. (TOOD: Doc) - * Added detection of color data in DiStella. (TOOD: Doc) + * Added detection of color and audio data in DiStella. (TOOD: Doc) 6.0.2 to 6.1: (March 22, 2020) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 0552b2d65..d9750629e 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -916,6 +916,11 @@ string CartDebug::loadConfigFile() buf >> hex >> start >> hex >> end; addDirective(Device::BCOL, start, end, currentbank); } + else if(BSPF::startsWithIgnoreCase(directive, "Device::AUD")) + { + buf >> hex >> start >> hex >> end; + addDirective(Device::AUD, start, end, currentbank); + } else if(BSPF::startsWithIgnoreCase(directive, "Device::DATA")) { buf >> hex >> start >> hex >> end; @@ -1070,57 +1075,54 @@ string CartDebug::saveDisassembly() switch(tag.type) { case Device::CODE: - { buf << ALIGN(32) << tag.disasm << tag.ccount.substr(0, 5) << tag.ctotal << tag.ccount.substr(5, 2); if (tag.disasm.find("WSYNC") != std::string::npos) buf << "\n;---------------------------------------"; break; - } + case Device::ROW: - { buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 8*4-1) << "; $" << Base::HEX4 << tag.address << " (*)"; break; - } + case Device::GFX: - { buf << ".byte " << (settings.gfxFormat == Base::Fmt::_2 ? "%" : "$") << tag.bytes << " ; |"; for(int c = 12; c < 20; ++c) buf << ((tag.disasm[c] == '\x1e') ? "#" : " "); buf << ALIGN(13) << "|" << "$" << Base::HEX4 << tag.address << " (G)"; break; - } + case Device::PGFX: - { buf << ".byte " << (settings.gfxFormat == Base::Fmt::_2 ? "%" : "$") << tag.bytes << " ; |"; for(int c = 12; c < 20; ++c) buf << ((tag.disasm[c] == '\x1f') ? "*" : " "); buf << ALIGN(13) << "|" << "$" << Base::HEX4 << tag.address << " (P)"; break; - } + case Device::COL: - buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (Px)"; + buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (C)"; break; case Device::PCOL: - buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (PF)"; + buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (CP)"; break; case Device::BCOL: - buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (BK)"; + buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (CB)"; + break; + + case Device::AUD: + buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 8 * 4 - 1) << "; $" << Base::HEX4 << tag.address << " (A)"; break; case Device::DATA: - { buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 8 * 4 - 1) << "; $" << Base::HEX4 << tag.address << " (D)"; break; - } + case Device::NONE: default: - { break; - } } // switch buf << "\n"; } @@ -1134,14 +1136,18 @@ string CartDebug::saveDisassembly() << "; ROM properties name : " << myConsole.properties().get(PropType::Cart_Name) << "\n" << "; ROM properties MD5 : " << myConsole.properties().get(PropType::Cart_MD5) << "\n" << "; Bankswitch type : " << myConsole.cartridge().about() << "\n;\n" - << "; Legend: * = Device::CODE not yet run (tentative code)\n" - << "; D = Device::DATA directive (referenced in some way)\n" - << "; G = Device::GFX directive, shown as '#' (stored in player, missile, ball)\n" - << "; P = Device::PGFX directive, shown as '*' (stored in playfield)\n" - << "; i = indexed accessed only\n" - << "; c = used by code executed in RAM\n" - << "; s = used by stack\n" - << "; ! = page crossed, 1 cycle penalty\n" + << "; Legend: * = Device::CODE not yet run (tentative code)\n" + << "; D = Device::DATA directive (referenced in some way)\n" + << "; G = Device::GFX directive, shown as '#' (stored in player, missile, ball)\n" + << "; P = Device::PGFX directive, shown as '*' (stored in playfield)\n" + << "; C = Device::COL directive, shown as '*' (stored in player color)\n" + << "; CP = Device::PCOL directive, shown as '*' (stored in playfield color)\n" + << "; CB = Device::BCOL directive, shown as '*' (stored in background color)\n" + << "; A = Device::AUD directive, shown as '*' (stored in audio registers)\n" + << "; i = indexed accessed only\n" + << "; c = used by code executed in RAM\n" + << "; s = used by stack\n" + << "; ! = page crossed, 1 cycle penalty\n" << "\n processor 6502\n\n"; out << "\n;-----------------------------------------------------------\n" @@ -1478,6 +1484,8 @@ Device::AccessType CartDebug::accessTypeAbsolute(Device::AccessFlags flags) cons return Device::PCOL; else if(flags & Device::BCOL) return Device::BCOL; + else if(flags & Device::AUD) + return Device::AUD; else if(flags & Device::DATA) return Device::DATA; else if(flags & Device::ROW) @@ -1498,6 +1506,7 @@ void CartDebug::AccessTypeAsString(ostream& buf, Device::AccessType type) const case Device::COL: buf << "Device::COL"; break; case Device::PCOL: buf << "Device::PCOL"; break; case Device::BCOL: buf << "Device::BCOL"; break; + case Device::AUD: buf << "Device::AUD"; break; case Device::DATA: buf << "Device::DATA"; break; case Device::ROW: buf << "Device::ROW"; break; case Device::REFERENCED: @@ -1525,6 +1534,8 @@ void CartDebug::AccessTypeAsString(ostream& buf, Device::AccessFlags flags) cons buf << "Device::PCOL "; if(flags & Device::BCOL) buf << "Device::BCOL "; + if(flags & Device::AUD) + buf << "Device::AUD "; if(flags & Device::DATA) buf << "Device::DATA "; if(flags & Device::ROW) diff --git a/src/debugger/CartDebug.hxx b/src/debugger/CartDebug.hxx index e52389974..dda0906cb 100644 --- a/src/debugger/CartDebug.hxx +++ b/src/debugger/CartDebug.hxx @@ -142,7 +142,7 @@ class CartDebug : public DebuggerSystem things can't be automatically determined. For now, these directives have exactly the same syntax as in a distella configuration file. - @param type Currently, CODE/DATA/GFX are supported + @param type Currently, CODE/DATA/GFX/PGFX/COL/PCOL/BCOL/AUD/ROW are supported @param start The start address (inclusive) to mark with the given type @param end The end address (inclusive) to mark with the given type @param bank Bank to which these directive apply (0 indicated current bank) diff --git a/src/debugger/DiStella.cxx b/src/debugger/DiStella.cxx index a53143668..547a75933 100644 --- a/src/debugger/DiStella.cxx +++ b/src/debugger/DiStella.cxx @@ -117,57 +117,73 @@ void DiStella::disasm(uInt32 distart, int pass) /* pc=myAppData.start; */ myPC = distart - myOffset; - while (myPC <= myAppData.end) { - + while(myPC <= myAppData.end) + { // since -1 is used in m6502.m4 for clearing the last peek // and this results into an access at e.g. 0xffff, // we have to fix the consequences here (ugly!). if(myPC == myAppData.end) goto FIX_LAST; - if (checkBits(myPC, Device::GFX | Device::PGFX, - Device::CODE)) + if(checkBits(myPC, Device::GFX | Device::PGFX, + Device::CODE)) { - if (pass == 2) + if(pass == 2) mark(myPC + myOffset, Device::VALID_ENTRY); - if (pass == 3) + if(pass == 3) outputGraphics(); ++myPC; - } else if (checkBits(myPC, Device::COL | Device::PCOL | Device::BCOL, - Device::CODE | Device::GFX | Device::PGFX)) + } + else if(checkBits(myPC, Device::COL | Device::PCOL | Device::BCOL, + Device::CODE | Device::GFX | Device::PGFX)) { - if (pass == 2) + if(pass == 2) mark(myPC + myOffset, Device::VALID_ENTRY); - if (pass == 3) + if(pass == 3) outputColors(); ++myPC; - } else if (checkBits(myPC, Device::DATA, - Device::CODE | Device::GFX | Device::PGFX | - Device::COL | Device::PCOL | Device::BCOL)) + } + else if(checkBits(myPC, Device::AUD, + Device::CODE | Device::GFX | Device::PGFX | + Device::COL | Device::PCOL | Device::BCOL)) { - if (pass == 2) + if(pass == 2) mark(myPC + myOffset, Device::VALID_ENTRY); - if (pass == 3) + if(pass == 3) + outputBytes(Device::AUD); + else + ++myPC; + } + else if(checkBits(myPC, Device::DATA, + Device::CODE | Device::GFX | Device::PGFX | + Device::COL | Device::PCOL | Device::BCOL | + Device::AUD)) + { + if(pass == 2) + mark(myPC + myOffset, Device::VALID_ENTRY); + if(pass == 3) outputBytes(Device::DATA); else ++myPC; - } else if (checkBits(myPC, Device::ROW, - Device::CODE | - Device::DATA | Device::GFX | Device::PGFX | - Device::COL | Device::PCOL | Device::BCOL)) { -FIX_LAST: - if (pass == 2) + } + else if(checkBits(myPC, Device::ROW, + Device::CODE | Device::GFX | Device::PGFX | + Device::COL | Device::PCOL | Device::BCOL | + Device::AUD | Device::DATA)) { + FIX_LAST: + if(pass == 2) mark(myPC + myOffset, Device::VALID_ENTRY); - if (pass == 3) + if(pass == 3) outputBytes(Device::ROW); else ++myPC; - } else { - // The following sections must be CODE + } + else { + // The following sections must be CODE - // add extra spacing line when switching from non-code to code - if (pass == 3 && mySegType != Device::CODE && mySegType != Device::NONE) { + // add extra spacing line when switching from non-code to code + if(pass == 3 && mySegType != Device::CODE && mySegType != Device::NONE) { myDisasmBuf << " ' ' "; addEntry(Device::NONE); mark(myPC + myOffset, Device::REFERENCED); // add label when switching @@ -175,7 +191,7 @@ FIX_LAST: mySegType = Device::CODE; /* version 2.1 bug fix */ - if (pass == 2) + if(pass == 2) mark(myPC + myOffset, Device::VALID_ENTRY); // get opcode @@ -183,8 +199,8 @@ FIX_LAST: // get address mode for opcode addrMode = ourLookup[opcode].addr_mode; - if (pass == 3) { - if (checkBit(myPC, Device::REFERENCED)) + if(pass == 3) { + if(checkBit(myPC, Device::REFERENCED)) myDisasmBuf << Base::HEX4 << myPC + myOffset << "'L" << Base::HEX4 << myPC + myOffset << "'"; else myDisasmBuf << Base::HEX4 << myPC + myOffset << "' '"; @@ -193,16 +209,16 @@ FIX_LAST: // detect labels inside instructions (e.g. BIT masks) labelFound = AddressType::INVALID; - for (Uint8 i = 0; i < ourLookup[opcode].bytes - 1; i++) { - if (checkBit(myPC + i, Device::REFERENCED)) { + for(Uint8 i = 0; i < ourLookup[opcode].bytes - 1; i++) { + if(checkBit(myPC + i, Device::REFERENCED)) { labelFound = AddressType::ROM; break; } } - if (labelFound != AddressType::INVALID) { - if (myOffset >= 0x1000) { + if(labelFound != AddressType::INVALID) { + if(myOffset >= 0x1000) { // the opcode's operand address matches a label address - if (pass == 3) { + if(pass == 3) { // output the byte of the opcode incl. cycles Uint8 nextOpcode = Debugger::debugger().peek(myPC + myOffset); @@ -221,8 +237,9 @@ FIX_LAST: } // continue with the label's opcode continue; - } else { - if (pass == 3) { + } + else { + if(pass == 3) { // TODO } } @@ -230,18 +247,18 @@ FIX_LAST: // Undefined opcodes start with a '.' // These are undefined wrt DASM - if (ourLookup[opcode].mnemonic[0] == '.' && pass == 3) { + if(ourLookup[opcode].mnemonic[0] == '.' && pass == 3) { nextLine << ".byte $" << Base::HEX2 << int(opcode) << " ;"; } - if (pass == 3) { + if(pass == 3) { nextLine << ourLookup[opcode].mnemonic; nextLineBytes << Base::HEX2 << int(opcode) << " "; } // Add operand(s) for PC values outside the app data range - if (myPC >= myAppData.end) { - switch (addrMode) { + if(myPC >= myAppData.end) { + switch(addrMode) { case AddressingMode::ABSOLUTE: case AddressingMode::ABSOLUTE_X: case AddressingMode::ABSOLUTE_Y: @@ -249,7 +266,7 @@ FIX_LAST: case AddressingMode::INDIRECT_Y: case AddressingMode::ABS_INDIRECT: { - if (pass == 3) { + if(pass == 3) { /* Line information is already printed; append .byte since last instruction will put recompilable object larger that original binary file */ @@ -258,8 +275,8 @@ FIX_LAST: << Base::HEX2 << int(opcode); addEntry(Device::DATA); - if (myPC == myAppData.end) { - if (checkBit(myPC, Device::REFERENCED)) + if(myPC == myAppData.end) { + if(checkBit(myPC, Device::REFERENCED)) myDisasmBuf << Base::HEX4 << myPC + myOffset << "'L" << Base::HEX4 << myPC + myOffset << "'"; else myDisasmBuf << Base::HEX4 << myPC + myOffset << "' '"; @@ -281,7 +298,7 @@ FIX_LAST: case AddressingMode::ZERO_PAGE_Y: case AddressingMode::RELATIVE: { - if (pass == 3) { + if(pass == 3) { /* Line information is already printed, but we can remove the Instruction (i.e. BMI) by simply clearing the buffer to print */ myDisasmBuf << ".byte $" << Base::HEX2 << int(opcode); @@ -302,10 +319,10 @@ FIX_LAST: // Add operand(s) ad = d1 = 0; // not WSYNC by default! /* Version 2.1 added the extensions to mnemonics */ - switch (addrMode) { + switch(addrMode) { case AddressingMode::ACCUMULATOR: { - if (pass == 3 && mySettings.aFlag) + if(pass == 3 && mySettings.aFlag) nextLine << " A"; break; } @@ -314,25 +331,28 @@ FIX_LAST: { ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; labelFound = mark(ad, Device::REFERENCED); - if (pass == 3) { - if (ad < 0x100 && mySettings.fFlag) + if(pass == 3) { + if(ad < 0x100 && mySettings.fFlag) nextLine << ".w "; else nextLine << " "; - if (labelFound == AddressType::ROM) { + if(labelFound == AddressType::ROM) { LABEL_A12_HIGH(ad); nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); - } else if (labelFound == AddressType::ROM_MIRROR) { - if (mySettings.rFlag) { + } + else if(labelFound == AddressType::ROM_MIRROR) { + if(mySettings.rFlag) { int tmp = (ad & myAppData.end) + myOffset; LABEL_A12_HIGH(tmp); nextLineBytes << Base::HEX2 << int(tmp & 0xff) << " " << Base::HEX2 << int(tmp >> 8); - } else { + } + else { nextLine << "$" << Base::HEX4 << ad; nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); } - } else { + } + else { LABEL_A12_LOW(ad); nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); } @@ -344,7 +364,7 @@ FIX_LAST: { d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; labelFound = mark(d1, Device::REFERENCED); - if (pass == 3) { + if(pass == 3) { nextLine << " "; LABEL_A12_LOW(int(d1)); nextLineBytes << Base::HEX2 << int(d1); @@ -355,7 +375,7 @@ FIX_LAST: case AddressingMode::IMMEDIATE: { d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; - if (pass == 3) { + if(pass == 3) { nextLine << " #$" << Base::HEX2 << int(d1) << " "; nextLineBytes << Base::HEX2 << int(d1); } @@ -366,33 +386,37 @@ FIX_LAST: { ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; labelFound = mark(ad, Device::REFERENCED); - if (pass == 2 && !checkBit(ad & myAppData.end, Device::CODE)) { + if(pass == 2 && !checkBit(ad & myAppData.end, Device::CODE)) { // Since we can't know what address is being accessed unless we also // know the current X value, this is marked as ROW instead of DATA // The processing is left here, however, in case future versions of // the code can somehow track access to CPU registers mark(ad, Device::ROW); - } else if (pass == 3) { - if (ad < 0x100 && mySettings.fFlag) + } + else if(pass == 3) { + if(ad < 0x100 && mySettings.fFlag) nextLine << ".wx "; else nextLine << " "; - if (labelFound == AddressType::ROM) { + if(labelFound == AddressType::ROM) { LABEL_A12_HIGH(ad); nextLine << ",x"; nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); - } else if (labelFound == AddressType::ROM_MIRROR) { - if (mySettings.rFlag) { + } + else if(labelFound == AddressType::ROM_MIRROR) { + if(mySettings.rFlag) { int tmp = (ad & myAppData.end) + myOffset; LABEL_A12_HIGH(tmp); nextLine << ",x"; nextLineBytes << Base::HEX2 << int(tmp & 0xff) << " " << Base::HEX2 << int(tmp >> 8); - } else { + } + else { nextLine << "$" << Base::HEX4 << ad << ",x"; nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); } - } else { + } + else { LABEL_A12_LOW(ad); nextLine << ",x"; nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); @@ -405,33 +429,37 @@ FIX_LAST: { ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; labelFound = mark(ad, Device::REFERENCED); - if (pass == 2 && !checkBit(ad & myAppData.end, Device::CODE)) { + if(pass == 2 && !checkBit(ad & myAppData.end, Device::CODE)) { // Since we can't know what address is being accessed unless we also // know the current Y value, this is marked as ROW instead of DATA // The processing is left here, however, in case future versions of // the code can somehow track access to CPU registers mark(ad, Device::ROW); - } else if (pass == 3) { - if (ad < 0x100 && mySettings.fFlag) + } + else if(pass == 3) { + if(ad < 0x100 && mySettings.fFlag) nextLine << ".wy "; else nextLine << " "; - if (labelFound == AddressType::ROM) { + if(labelFound == AddressType::ROM) { LABEL_A12_HIGH(ad); nextLine << ",y"; nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); - } else if (labelFound == AddressType::ROM_MIRROR) { - if (mySettings.rFlag) { + } + else if(labelFound == AddressType::ROM_MIRROR) { + if(mySettings.rFlag) { int tmp = (ad & myAppData.end) + myOffset; LABEL_A12_HIGH(tmp); nextLine << ",y"; nextLineBytes << Base::HEX2 << int(tmp & 0xff) << " " << Base::HEX2 << int(tmp >> 8); - } else { + } + else { nextLine << "$" << Base::HEX4 << ad << ",y"; nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); } - } else { + } + else { LABEL_A12_LOW(ad); nextLine << ",y"; nextLineBytes << Base::HEX2 << int(ad & 0xff) << " " << Base::HEX2 << int(ad >> 8); @@ -443,7 +471,7 @@ FIX_LAST: case AddressingMode::INDIRECT_X: { d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; - if (pass == 3) { + if(pass == 3) { labelFound = mark(d1, 0); // dummy call to get address type nextLine << " ("; LABEL_A12_LOW(d1); @@ -456,7 +484,7 @@ FIX_LAST: case AddressingMode::INDIRECT_Y: { d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; - if (pass == 3) { + if(pass == 3) { labelFound = mark(d1, 0); // dummy call to get address type nextLine << " ("; LABEL_A12_LOW(d1); @@ -470,7 +498,7 @@ FIX_LAST: { d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; labelFound = mark(d1, Device::REFERENCED); - if (pass == 3) { + if(pass == 3) { nextLine << " "; LABEL_A12_LOW(d1); nextLine << ",x"; @@ -483,7 +511,7 @@ FIX_LAST: { d1 = Debugger::debugger().peek(myPC + myOffset); ++myPC; labelFound = mark(d1, Device::REFERENCED); - if (pass == 3) { + if(pass == 3) { nextLine << " "; LABEL_A12_LOW(d1); nextLine << ",y"; @@ -501,11 +529,12 @@ FIX_LAST: ad = ((myPC + Int8(d1)) & 0xfff) + myOffset; labelFound = mark(ad, Device::REFERENCED); - if (pass == 3) { - if (labelFound == AddressType::ROM) { + if(pass == 3) { + if(labelFound == AddressType::ROM) { nextLine << " "; LABEL_A12_HIGH(ad); - } else + } + else nextLine << " $" << Base::HEX4 << ad; nextLineBytes << Base::HEX2 << int(d1); @@ -517,29 +546,31 @@ FIX_LAST: { ad = Debugger::debugger().dpeek(myPC + myOffset); myPC += 2; labelFound = mark(ad, Device::REFERENCED); - if (pass == 2 && !checkBit(ad & myAppData.end, Device::CODE)) { + if(pass == 2 && !checkBit(ad & myAppData.end, Device::CODE)) { // Since we can't know what address is being accessed unless we also // know the current X value, this is marked as ROW instead of DATA // The processing is left here, however, in case future versions of // the code can somehow track access to CPU registers mark(ad, Device::ROW); - } else if (pass == 3) { - if (ad < 0x100 && mySettings.fFlag) + } + else if(pass == 3) { + if(ad < 0x100 && mySettings.fFlag) nextLine << ".ind "; else nextLine << " "; } - if (labelFound == AddressType::ROM) { + if(labelFound == AddressType::ROM) { nextLine << "("; LABEL_A12_HIGH(ad); nextLine << ")"; } - else if (labelFound == AddressType::ROM_MIRROR) { + else if(labelFound == AddressType::ROM_MIRROR) { nextLine << "("; - if (mySettings.rFlag) { + if(mySettings.rFlag) { int tmp = (ad & myAppData.end) + myOffset; LABEL_A12_HIGH(tmp); - } else { + } + else { LABEL_A12_LOW(ad); } nextLine << ")"; @@ -558,26 +589,27 @@ FIX_LAST: break; } // end switch - if (pass == 3) { + if(pass == 3) { cycles += int(ourLookup[opcode].cycles); // A complete line of disassembly (text, cycle count, and bytes) myDisasmBuf << nextLine.str() << "'" << ";" << std::dec << int(ourLookup[opcode].cycles) << (addrMode == AddressingMode::RELATIVE ? (ad & 0xf00) != ((myPC + myOffset) & 0xf00) ? "/3!" : "/3 " : " "); - if ((opcode == 0x40 || opcode == 0x60 || opcode == 0x4c || opcode == 0x00 // code block end - || checkBit(myPC, Device::REFERENCED) // referenced address - || (ourLookup[opcode].rw_mode == RWMode::WRITE && d1 == WSYNC)) // strobe WSYNC - && cycles > 0) { - // output cycles for previous code block + if((opcode == 0x40 || opcode == 0x60 || opcode == 0x4c || opcode == 0x00 // code block end + || checkBit(myPC, Device::REFERENCED) // referenced address + || (ourLookup[opcode].rw_mode == RWMode::WRITE && d1 == WSYNC)) // strobe WSYNC + && cycles > 0) { + // output cycles for previous code block myDisasmBuf << "'= " << std::setw(3) << std::setfill(' ') << std::dec << cycles; cycles = 0; - } else { + } + else { myDisasmBuf << "' "; } myDisasmBuf << "'" << nextLineBytes.str(); addEntry(Device::CODE); - if (opcode == 0x40 || opcode == 0x60 || opcode == 0x4c || opcode == 0x00) { + if(opcode == 0x40 || opcode == 0x60 || opcode == 0x4c || opcode == 0x00) { myDisasmBuf << " ' ' "; addEntry(Device::NONE); mySegType = Device::NONE; // prevent extra lines if data follows @@ -586,8 +618,8 @@ FIX_LAST: nextLine.str(""); nextLineBytes.str(""); } - } - } /* while loop */ + } // CODE + } /* while loop */ /* Just in case we are disassembling outside of the address range, force the myPCEnd to EOF */ myPCEnd = myAppData.end + myOffset; @@ -630,7 +662,7 @@ void DiStella::disasmPass1(CartDebug::AddressList& debuggerAddresses) // Therefore, we stop at the first such address encountered for (uInt32 k = pcBeg; k <= myPCEnd; ++k) { if (checkBits(k, Device::Device::DATA | Device::GFX | Device::PGFX | - Device::COL | Device::PCOL | Device::BCOL, + Device::COL | Device::PCOL | Device::BCOL | Device::AUD, Device::CODE)) { //if (Debugger::debugger().getAccessFlags(k) & // (Device::DATA | Device::GFX | Device::PGFX)) { @@ -692,7 +724,7 @@ void DiStella::disasmPass1(CartDebug::AddressList& debuggerAddresses) // Must be ROW / unused bytes if (!checkBit(k, Device::CODE | Device::GFX | Device::PGFX | - Device::COL | Device::PCOL | Device::BCOL | + Device::COL | Device::PCOL | Device::BCOL | Device::AUD | Device::DATA)) mark(k + myOffset, Device::ROW); } @@ -711,7 +743,7 @@ void DiStella::disasmFromAddress(uInt32 distart) // abort when we reach non-code areas if (checkBits(myPC, Device::Device::DATA | Device::GFX | Device::PGFX | - Device::COL | Device::PCOL | Device::BCOL, + Device::COL | Device::PCOL | Device::BCOL | Device::AUD, Device::CODE)) { myPCEnd = (myPC - 1) + myOffset; return; @@ -1037,18 +1069,11 @@ void DiStella::addEntry(Device::AccessType type) case Device::GFX: case Device::PGFX: - getline(myDisasmBuf, tag.disasm, '\''); - getline(myDisasmBuf, tag.bytes); - break; - case Device::COL: case Device::PCOL: case Device::BCOL: - getline(myDisasmBuf, tag.disasm, '\''); - getline(myDisasmBuf, tag.bytes); - break; - case Device::DATA: + case Device::AUD: getline(myDisasmBuf, tag.disasm, '\''); getline(myDisasmBuf, tag.bytes); break; @@ -1213,7 +1238,7 @@ void DiStella::outputBytes(Device::AccessType type) isType = checkBits(myPC, type, Device::CODE | (type != Device::DATA ? Device::DATA : 0) | Device::GFX | Device::PGFX | - Device::COL | Device::PCOL | Device::BCOL); + Device::COL | Device::PCOL | Device::BCOL | Device::AUD); referenced = checkBit(myPC, Device::REFERENCED); } if (!lineEmpty) diff --git a/src/emucore/Device.hxx b/src/emucore/Device.hxx index 205de10ac..d60ec7054 100644 --- a/src/emucore/Device.hxx +++ b/src/emucore/Device.hxx @@ -46,13 +46,14 @@ class Device : public Serializable // debugger, or specified in a Distella cfg file, and are listed in order // of decreasing hierarchy // - CODE = 1 << 10, // 0x400, disassemble-able code segments - TCODE = 1 << 9, // 0x200, (tentative) disassemble-able code segments - GFX = 1 << 8, // 0x100, addresses loaded into GRPx registers - PGFX = 1 << 7, // 0x080, addresses loaded into PFx registers - COL = 1 << 6, // 0x040, addresses loaded into COLUPx registers - PCOL = 1 << 5, // 0x010, addresses loaded into COLUPF register - BCOL = 1 << 4, // 0x010, addresses loaded into COLUBK register + CODE = 1 << 11, // 0x800, disassemble-able code segments + TCODE = 1 << 10, // 0x400, (tentative) disassemble-able code segments + GFX = 1 << 9, // 0x200, addresses loaded into GRPx registers + PGFX = 1 << 8, // 0x100, addresses loaded into PFx registers + COL = 1 << 7, // 0x080, addresses loaded into COLUPx registers + PCOL = 1 << 6, // 0x040, addresses loaded into COLUPF register + BCOL = 1 << 5, // 0x020, addresses loaded into COLUBK register + AUD = 1 << 4, // 0x010, addresses loaded into audio registers DATA = 1 << 3, // 0x008, addresses loaded into registers other than GRPx / PFx ROW = 1 << 2, // 0x004, all other addresses // special type for poke() diff --git a/src/emucore/M6502.cxx b/src/emucore/M6502.cxx index 6f7392326..86b050dfb 100644 --- a/src/emucore/M6502.cxx +++ b/src/emucore/M6502.cxx @@ -23,21 +23,15 @@ // Flags for access types #define DISASM_CODE Device::CODE -// #define DISASM_GFX Device::GFX -// #define DISASM_PGFX Device::PGFX #define DISASM_DATA Device::DATA -// #define DISASM_ROW Device::ROW #define DISASM_WRITE Device::WRITE - #define DISASM_NONE 0 + #define DISASM_NONE Device::NONE #else // Flags for access types #define DISASM_CODE 0 -// #define DISASM_GFX 0 -// #define DISASM_PGFX 0 #define DISASM_DATA 0 -// #define DISASM_ROW 0 - #define DISASM_NONE 0 #define DISASM_WRITE 0 + #define DISASM_NONE 0 #endif #include "Settings.hxx" #include "Vec.hxx" diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index 68747896a..d4cdb81e8 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -534,8 +534,8 @@ void Settings::usage() const << " Arguments are more fully explained in the manual\n" << endl << " -dis.resolve <1|0> Attempt to resolve code sections in disassembler\n" - << " -dis.gfxformat <2|16> Set base to use for displaying GFX sections in\n" - << " disassembler\n" + << " -dis.gfxformat <2|16> Set base to use for displaying (P)GFX sections\n" + << " in disassembler\n" << " -dis.showaddr <1|0> Show opcode addresses in disassembler\n" << " -dis.relocate <1|0> Relocate calls out of address range in\n" << " disassembler\n" diff --git a/src/emucore/System.hxx b/src/emucore/System.hxx index 1a6dcff68..2e7c158a9 100644 --- a/src/emucore/System.hxx +++ b/src/emucore/System.hxx @@ -234,7 +234,7 @@ class System : public Serializable /** Access and modify the access type flags for the given address. Note that while any flag can be used, the disassembly - only really acts on CODE/GFX/PGFX/COL/PCOL/BCOL/DATA/ROW. + only really acts on CODE/GFX/PGFX/COL/PCOL/BCOL/AUD/DATA/ROW. */ Device::AccessFlags getAccessFlags(uInt16 address) const; void setAccessFlags(uInt16 address, Device::AccessFlags flags); diff --git a/src/emucore/tia/TIA.cxx b/src/emucore/tia/TIA.cxx index 58eb8c8ea..c5896c3aa 100644 --- a/src/emucore/tia/TIA.cxx +++ b/src/emucore/tia/TIA.cxx @@ -530,34 +530,76 @@ bool TIA::poke(uInt16 address, uInt8 value) break; case AUDV0: + { myAudio.channel0().audv(value); myShadowRegisters[address] = value; + #ifdef DEBUGGER_SUPPORT + uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); + if(dataAddr) + mySystem->setAccessFlags(dataAddr, Device::AUD); + #endif break; + } case AUDV1: + { myAudio.channel1().audv(value); myShadowRegisters[address] = value; + #ifdef DEBUGGER_SUPPORT + uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); + if(dataAddr) + mySystem->setAccessFlags(dataAddr, Device::AUD); + #endif break; + } case AUDF0: + { myAudio.channel0().audf(value); myShadowRegisters[address] = value; + #ifdef DEBUGGER_SUPPORT + uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); + if(dataAddr) + mySystem->setAccessFlags(dataAddr, Device::AUD); + #endif break; + } case AUDF1: + { myAudio.channel1().audf(value); myShadowRegisters[address] = value; + #ifdef DEBUGGER_SUPPORT + uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); + if(dataAddr) + mySystem->setAccessFlags(dataAddr, Device::AUD); + #endif break; + } case AUDC0: + { myAudio.channel0().audc(value); myShadowRegisters[address] = value; + #ifdef DEBUGGER_SUPPORT + uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); + if(dataAddr) + mySystem->setAccessFlags(dataAddr, Device::AUD); + #endif break; + } case AUDC1: + { myAudio.channel1().audc(value); myShadowRegisters[address] = value; + #ifdef DEBUGGER_SUPPORT + uInt16 dataAddr = mySystem->m6502().lastDataAddressForPoke(); + if(dataAddr) + mySystem->setAccessFlags(dataAddr, Device::AUD); + #endif break; + } case HMOVE: myDelayQueue.push(HMOVE, value, Delay::hmove); From 1beaf64edd0294e8c6a85dbd1e6d485784852c04 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 29 Mar 2020 12:30:26 +0200 Subject: [PATCH 45/80] update debugger docs add missing debugger commands for enhanced DiStella data detection --- Changes.txt | 4 +- docs/debugger.html | 100 +++++++++-- docs/graphics/debugger_cpuregs.png | Bin 2045 -> 1795 bytes docs/graphics/debugger_main.png | Bin 63559 -> 63592 bytes docs/graphics/resources/debugger_main.pdn | Bin 204692 -> 204733 bytes src/debugger/DebuggerParser.cxx | 192 +++++++++++++--------- src/debugger/DebuggerParser.hxx | 9 +- 7 files changed, 204 insertions(+), 101 deletions(-) diff --git a/Changes.txt b/Changes.txt index 9daaf6f42..0b2e20aa0 100644 --- a/Changes.txt +++ b/Changes.txt @@ -20,9 +20,9 @@ a game. This allows the user to save high scores for these games. For each game and variation, the top 10 scores can be saved. (TOOD: Doc) - * Added displaying last write address in debugger. (TOOD: Doc) + * Added displaying last write address in debugger. - * Added detection of color and audio data in DiStella. (TOOD: Doc) + * Added detection of color and audio data in DiStella. 6.0.2 to 6.1: (March 22, 2020) diff --git a/docs/debugger.html b/docs/debugger.html index 15a80bcb1..46e38d079 100644 --- a/docs/debugger.html +++ b/docs/debugger.html @@ -121,13 +121,14 @@ feature that no other 2600 debugger has; it's completely cross-platform.<
  • Supports Distella 'configuration directives', which may be used to override automatic code/data determination in the disassembly. For now, - the following directives are supported: CODE, GFX, PGFX, DATA, ROW. - These directives can be entered at the debugger prompt, or (automatically) + the following directives are supported: CODE, GFX, PGFX, COL, PCOL, BCOL, AUD, DATA, ROW. + These directives can be entered at the debugger prompt, or be (automatically) loaded and saved in configuration files.
  • Extensive disassembly support, both from the emulation core and with help from Distella. Where possible, the disassembly differentiates between code, - player graphics and playfield graphics (ie, addresses stored in GRPx and PFx) + player and playfield graphics, colors and audio (ie, addresses stored in + GRPx, PFx, COLUxx, AUDxx) and data (addresses used as an operand of a command). Code sections are also differentiated between actual code, and 'tentative' code (ie, areas that may represent code sections, but haven't actually been executed yet). Such @@ -906,7 +907,9 @@ Type "help 'cmd'" to see extended information about the given command.

                     a - Set Accumulator to <value>
    +              aud - Mark 'AUD' range in disassembly
                  base - Set default number base to <base> (bin, dec, hex)
    +             bcol - Mark 'BCOL' range in disassembly
                 break - Set/clear breakpoint at <address> and <bank>
               breakif - Set/clear breakpoint on <condition>
            breaklabel - Set/clear breakpoint on <address> (no mirrors, all banks)
    @@ -919,6 +922,7 @@ clearsavestateifs - Clear all savestate points
          clearwatches - Clear all watches
                   cls - Clear prompt area of text
                  code - Mark 'CODE' range in disassembly
    +              col - Mark 'COL' range in disassembly
             colortest - Show value xx as TIA color
                     d - Decimal Mode Flag: set (0 or 1), or toggle (no arg)
                  data - Mark 'DATA' range in disassembly
    @@ -959,6 +963,7 @@ clearsavestateifs - Clear all savestate points
                     n - Negative Flag: set (0 or 1), or toggle (no arg)
               palette - Show current TIA palette
                    pc - Set Program Counter to address xx
    +             pcol - Mark 'PCOL' range in disassembly
                  pgfx - Mark 'PGFX' range in disassembly
                 print - Evaluate/print expression xx in hex/dec/binary
                   ram - Show ZP RAM, or set address xx to yy1 [yy2 ...]
    @@ -1217,6 +1222,8 @@ registers. For example, consider the command 'LDA ($80),Y'. The operand of
     the command resolves to some address, which isn't always easy to determine at
     first glance. The 'Src Addr' area shows the actual resulting operand/address
     being used with the given opcode.

    +

    The destination address of the last write is shown besides 'Dest'.

    +

    There's not much else to say about the CPU Registers widget: if you know 6502 assembly, it's pretty self-explanatory. If you don't, well, you should learn :)

    @@ -1371,21 +1378,78 @@ can use. These are known as 'directives', and partly correspond to configuration options from the standalone Distella program. They are listed in order of decreasing hierarchy:

    - - - - - + + + + + + + + + + + + + + + + + + +
    CODEAddresses which have appeared in the program counter, or -which tentatively can appear in the program counter. These can be edited in hex.
    GFXAddresses which contain data stored in the player graphics registers -(GRP0/GRP1). These addresses are shown with a bitmap of the graphics, which -can be edited in either hex or binary. The bitmap is shown as large blocks.
    PGFXAddresses which contain data stored in the playfield graphics registers -(PF0/PF1/PF2). These addresses are shown with a bitmap of the graphics, which -can be edited in either hex or binary. The bitmap is shown as small dashes.
    DATAAddresses used as an operand for some opcode. These can be edited -in hex.
    ROWAddresses not used as any of the above. These are shown up -to 8 per line, and cannot be edited.
    + CODE + + Addresses which have appeared in the program counter, or + which tentatively can appear in the program counter. These can be edited in hex. +
    + GFX + + Addresses which contain data stored in the player graphics registers + (GRP0/GRP1). These addresses are shown with a bitmap of the graphics, which + can be edited in either hex or binary. The bitmap is shown as large blocks. +
    + PGFX + + Addresses which contain data stored in the playfield graphics registers + (PF0/PF1/PF2). These addresses are shown with a bitmap of the graphics, which + can be edited in either hex or binary. The bitmap is shown as small dashes. +
    + COL + + Addresses which contain data stored in the player color registers + (COLUP0/COLUP1). These addresses are shown as color constants, which + can be edited in hex. The color constant names are depending on the ROM's TV type. +
    + PCOL + + Addresses which contain data stored in the playfield color register + (COLUPF). These addresses are shown as color constants, which + can be edited in hex. The color constant names are depending on the ROM's TV type. +
    + BCOL + + Addresses which contain data stored in the background color register + (COLUBK). These addresses are shown as color constants, which + can be edited in hex. The color constant names are depending on the ROM's TV type. +
    + AUD + + Addresses which contain data stored in the audio registers + (AUDC0/AUDC1/AUDF0/AUDF1/AUDV0/AUDV1). These can be edited + in hex. +
    + DATA + + Addresses used as an operand for some opcode. These can be edited + in hex. +
    + ROW + + Addresses not used as any of the above. These are shown up + to 8 per line and cannot be edited. +
    -

    For code sections, the 6502 mnemonic will be UPPERCASE for all standard instructions, or lowercase for "illegal" 6502 instructions (like "dcp"). If automatic resolving of code sections has been disabled for any reason, you'll likely see a lot @@ -1523,12 +1587,12 @@ the RAM in the DPC scheme is not viewable by the 6507, so its addresses start fr

    Distella Configuration Files

    As mentioned in ROM Disassembly, Stella supports the following directives: -CODE/GFX/PGFX/DATA/ROW. While the debugger will try to automatically mark address +CODE, GFX, PGFX, COL, PCOL, BCOL, AUD, DATA, ROW. While the debugger will try to automatically mark address space with the appropriate directive, there are times when it will fail. There are several options in this case:

    1. Manually set the directives: Directives can be set in the debugger -prompt with the code/gfx/pgfx/data/row commands. These accept an address range +prompt with the aud/code/col/bcol/gfx/pcol/pgfx/data/row commands. These accept an address range for the given directive type. Setting a range with the same type a second time will remove that directive from the range.
    2. Use configuration files: Configuration files can be used to automatically diff --git a/docs/graphics/debugger_cpuregs.png b/docs/graphics/debugger_cpuregs.png index f8cd3cb552bcd67be02544425136e5599d608668..feb238c1b698502214f98abc61790c71f023076f 100644 GIT binary patch literal 1795 zcmV+e2mJVnP)Px#1ZP1_K>z@;j|==^1poj5Fi=cXMF0Q*XlQ82005(mVacz2|NnsS@Xr7M00000 z00000000000000000000000000928BQvd(}32;bRa{vGi!vFvd!vV){sAK>D23$!* zK~#9!?VQ1m;~)$`eTaIWZngKFRli`RJ!hqSL8aUyjnx1Dgar)5217GbXiEl<+GZe4 zc(rlBIDu)eGIq2ErK7bd9j!(AerRu^oOIQ{w-zLgc6^rv(WVAOH?pI3w3iW&HiCW! zLb)HbVI1(yi9wsq>wGcWmsZgxn3!ccw6jG!U*^4`%@z$mS~bWJZ8liyH7jFmS8LjX z1ZYZ2v-vX{E%&t>Xf5}(1e!8N%h+sRo2JnDqa8Y}wT%{BvN>9_1{sU>kOobA$Y$M0 zEPZ(VveMCZh9(Cbb`cxdgKW{-iB-i~JEgSzCheL$Oi@Xr{k#$h(5|7Jg8ef>(59M_ z>1!RWqdgN1U@$K)yFs(D5u!lV)CE*i;2@%@;spS%>UD5vi{4d#C$quO)R*0v$#kkb z+Qd(wnhL5x%K;=bUA#8eqG?F~b0jvn)I`PI=n+7@{N+OS)+ zNOwn_4THHb5}ICAJe!q8yP|k>|J$#a3Y&34ssgn0<*XMdXOq4$KMoB~C8A+d&m^7X zX#bx*l}*T4cNNjrUt`9EsYjsMGl^(=DVVR``-}yv?b&GLLU&D|t;s}l6*LHk-WCnl zu|qVY5(y1;b+%|;t-gw*;lUkVEv-c%rK3JEOU+_Gw?k76W?J)o&3w_>+gioYX1gb` z+!|<-)@FHCp@IT#-8~l+f>XZO-NPf4ZkaH#2(W84mI6~gtkf_9&eG3cDH;_v>nGr zda$meb+m%Q*VmZr8x0r54oS2Ht~_sq=TltC5qwF2HV!5OVVb7W%TQ$LFg&u$1Cf&} zjDT4>T(!m%4m>9-iO?o@>qIrQsK>cwdbglUzh#x?)$ODOMSWsEs@YHQ#G_G z4vBdnIW%KpDKxJuUc%8v6SmMd1?uI|vS~3{G`nC8d9-!Gmut=UHD1COe2uEmYKFMG z7eW&Z(mH_*8qXVfRW!+s;1YetAc53>8O?MzWsJ4Z(#}7F#_I1vgNj|&(5~D4wKDcE2bP--6ct~%M)jVX3Mx+mqI~qB8J?VKPJvP#c);d~8 zdmi5O;4lNx<)W`Ykw+cp)=#YTL| zRYn_eZm-_mBp)X>CFX5g&>-tZQd--FW_bu2d9RMPk3oyX#zr6=hg>5cso01w;kz<4G|1_(XyWLIpz->< z2U<{M5W>qeLg3r?1`U#C)97(N&ec;kL?9F z(59NQ;bBu9t)qn}uP1A4L=SRC>AA=4qv4`t_}t?Jni=e30fYrI+9-?4QKv;G39`2O+W*uSHU3Hu0+vXR9@!~J`F80$QaFp zQj%!?Ib<^0R1XajXc*Mkga+5F){GE?^bytCXruJp<4>Vs{7dX>t8WLJ5%$kK8O(RS zTFyTfinfH#-(8`7=L5LmA^m6vQy|epj_QxNkvf-b39S#0JDPm*dh$KdN`xm~G&Zsa l>1ZuVM{7|!T7xo;{{fmwkp@@vs1X1F002ovPDHLkV1jxqD*ONd literal 2045 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ⅅH-N4}86!B5`gW+nB~DGV(8+!vf2= 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 z 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 diff --git a/docs/graphics/resources/debugger_main.pdn b/docs/graphics/resources/debugger_main.pdn index e486c0048c65d99e54379f4145b90056497dc0a8..de1d1e3578ed75594e3e8072526d29f1f25ac7e6 100644 GIT binary patch delta 52807 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 delta 52599 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 DebuggerParser::commands = { { +std::array DebuggerParser::commands = { { { "a", "Set Accumulator to ", @@ -2311,6 +2302,16 @@ std::array DebuggerParser::commands = { { std::mem_fn(&DebuggerParser::executeA) }, + { + "aud", + "Mark 'AUD' range in disassembly", + "Start and end of range required\nExample: aud f000 f010", + true, + false, + { Parameters::ARG_WORD, Parameters::ARG_MULTI_BYTE }, + std::mem_fn(&DebuggerParser::executeAud) + }, + { "base", "Set default number base to ", @@ -2321,6 +2322,17 @@ std::array DebuggerParser::commands = { { std::mem_fn(&DebuggerParser::executeBase) }, + { + "bcol", + "Mark 'BCOL' range in disassembly", + "Start and end of range required\nExample: bcol f000 f010", + true, + false, + { Parameters::ARG_WORD, Parameters::ARG_MULTI_BYTE }, + std::mem_fn(&DebuggerParser::executeBCol) + }, + + { "break", "Break at
      and ", @@ -2442,6 +2454,16 @@ std::array DebuggerParser::commands = { { std::mem_fn(&DebuggerParser::executeCode) }, + { + "col", + "Mark 'COL' range in disassembly", + "Start and end of range required\nExample: col f000 f010", + true, + false, + { Parameters::ARG_WORD, Parameters::ARG_MULTI_BYTE }, + std::mem_fn(&DebuggerParser::executeCol) + }, + { "colortest", "Show value xx as TIA color", @@ -2847,6 +2869,16 @@ std::array DebuggerParser::commands = { { std::mem_fn(&DebuggerParser::executePc) }, + { + "pcol", + "Mark 'PCOL' range in disassembly", + "Start and end of range required\nExample: col f000 f010", + true, + false, + { Parameters::ARG_WORD, Parameters::ARG_MULTI_BYTE }, + std::mem_fn(&DebuggerParser::executePCol) + }, + { "pgfx", "Mark 'PGFX' range in disassembly", diff --git a/src/debugger/DebuggerParser.hxx b/src/debugger/DebuggerParser.hxx index dced64dfb..9de21b3e9 100644 --- a/src/debugger/DebuggerParser.hxx +++ b/src/debugger/DebuggerParser.hxx @@ -27,6 +27,7 @@ class FilesystemNode; struct Command; #include "bspf.hxx" +#include "Device.hxx" class DebuggerParser { @@ -97,7 +98,7 @@ class DebuggerParser std::array parms; std::function executor; }; - static std::array commands; + static std::array commands; struct Trap { @@ -140,9 +141,13 @@ class DebuggerParser // output the error with the example provided for the command void outputCommandError(const string& errorMsg, int command); + void executeDirective(Device::AccessType type); + // List of available command methods void executeA(); + void executeAud(); void executeBase(); + void executeBCol(); void executeBreak(); void executeBreakif(); void executeBreaklabel(); @@ -155,6 +160,7 @@ class DebuggerParser void executeClearwatches(); void executeCls(); void executeCode(); + void executeCol(); void executeColortest(); void executeD(); void executeData(); @@ -195,6 +201,7 @@ class DebuggerParser void executeN(); void executePalette(); void executePc(); + void executePCol(); void executePGfx(); void executePrint(); void executeRam(); From cf25b188679ad3b690900bbec44e068c70ecee92 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 29 Mar 2020 13:02:58 +0200 Subject: [PATCH 46/80] fix DiStella configuration output --- src/debugger/CartDebug.cxx | 70 ++++++++++++++++----------------- src/debugger/CartDebug.hxx | 6 +-- src/debugger/DebuggerParser.cxx | 20 ++-------- 3 files changed, 41 insertions(+), 55 deletions(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index d9750629e..5fd9a10cf 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -886,47 +886,47 @@ string CartDebug::loadConfigFile() // TODO - figure out what to do with this buf >> hex >> start; } - else if(BSPF::startsWithIgnoreCase(directive, "Device::CODE")) + else if(BSPF::startsWithIgnoreCase(directive, "CODE")) { buf >> hex >> start >> hex >> end; addDirective(Device::CODE, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "Device::GFX")) + else if(BSPF::startsWithIgnoreCase(directive, "GFX")) { buf >> hex >> start >> hex >> end; addDirective(Device::GFX, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "Device::PGFX")) + else if(BSPF::startsWithIgnoreCase(directive, "PGFX")) { buf >> hex >> start >> hex >> end; addDirective(Device::PGFX, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "Device::COL")) + else if(BSPF::startsWithIgnoreCase(directive, "COL")) { buf >> hex >> start >> hex >> end; addDirective(Device::COL, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "Device::PCOL")) + else if(BSPF::startsWithIgnoreCase(directive, "PCOL")) { buf >> hex >> start >> hex >> end; addDirective(Device::PCOL, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "Device::BCOL")) + else if(BSPF::startsWithIgnoreCase(directive, "BCOL")) { buf >> hex >> start >> hex >> end; addDirective(Device::BCOL, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "Device::AUD")) + else if(BSPF::startsWithIgnoreCase(directive, "AUD")) { buf >> hex >> start >> hex >> end; addDirective(Device::AUD, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "Device::DATA")) + else if(BSPF::startsWithIgnoreCase(directive, "DATA")) { buf >> hex >> start >> hex >> end; addDirective(Device::DATA, start, end, currentbank); } - else if(BSPF::startsWithIgnoreCase(directive, "Device::ROW")) + else if(BSPF::startsWithIgnoreCase(directive, "ROW")) { buf >> hex >> start; buf >> hex >> end; @@ -1304,9 +1304,6 @@ string CartDebug::saveRom() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - string CartDebug::listConfig(int bank) { - if(myConsole.cartridge().bankCount() > 1) - return DebuggerParser::red("config file for multi-bank ROM not yet supported"); - uInt32 startbank = 0, endbank = bankCount(); if(bank >= 0 && bank < bankCount()) { @@ -1319,7 +1316,7 @@ string CartDebug::listConfig(int bank) for(uInt32 b = startbank; b < endbank; ++b) { BankInfo& info = myBankInfo[b]; - buf << "[" << b << "]" << endl; + buf << "Bank [" << b << "]" << endl; for(const auto& i: info.directiveList) { if(i.type != Device::NONE) @@ -1332,6 +1329,9 @@ string CartDebug::listConfig(int bank) getBankDirectives(buf, info); } + if(myConsole.cartridge().bankCount() > 1) + buf << DebuggerParser::red("config file for multi-bank ROM not fully supported") << endl; + return buf.str(); } @@ -1499,16 +1499,16 @@ void CartDebug::AccessTypeAsString(ostream& buf, Device::AccessType type) const { switch(type) { - case Device::CODE: buf << "Device::CODE"; break; - case Device::TCODE: buf << "Device::TCODE"; break; - case Device::GFX: buf << "Device::GFX"; break; - case Device::PGFX: buf << "Device::PGFX"; break; - case Device::COL: buf << "Device::COL"; break; - case Device::PCOL: buf << "Device::PCOL"; break; - case Device::BCOL: buf << "Device::BCOL"; break; - case Device::AUD: buf << "Device::AUD"; break; - case Device::DATA: buf << "Device::DATA"; break; - case Device::ROW: buf << "Device::ROW"; break; + case Device::CODE: buf << "CODE"; break; + case Device::TCODE: buf << "TCODE"; break; + case Device::GFX: buf << "GFX"; break; + case Device::PGFX: buf << "PGFX"; break; + case Device::COL: buf << "COL"; break; + case Device::PCOL: buf << "PCOL"; break; + case Device::BCOL: buf << "BCOL"; break; + case Device::AUD: buf << "AUD"; break; + case Device::DATA: buf << "DATA"; break; + case Device::ROW: buf << "ROW"; break; case Device::REFERENCED: case Device::VALID_ENTRY: case Device::NONE: break; @@ -1521,29 +1521,29 @@ void CartDebug::AccessTypeAsString(ostream& buf, Device::AccessFlags flags) cons if(flags) { if(flags & Device::CODE) - buf << "Device::CODE "; + buf << "CODE "; if(flags & Device::TCODE) - buf << "Device::TCODE "; + buf << "TCODE "; if(flags & Device::GFX) - buf << "Device::GFX "; + buf << "GFX "; if(flags & Device::PGFX) - buf << "Device::PGFX "; + buf << "PGFX "; if(flags & Device::COL) - buf << "Device::COL "; + buf << "COL "; if(flags & Device::PCOL) - buf << "Device::PCOL "; + buf << "PCOL "; if(flags & Device::BCOL) - buf << "Device::BCOL "; + buf << "BCOL "; if(flags & Device::AUD) - buf << "Device::AUD "; + buf << "AUD "; if(flags & Device::DATA) - buf << "Device::DATA "; + buf << "DATA "; if(flags & Device::ROW) - buf << "Device::ROW "; + buf << "ROW "; if(flags & Device::REFERENCED) - buf << "*Device::REFERENCED "; + buf << "*REFERENCED "; if(flags & Device::VALID_ENTRY) - buf << "*Device::VALID_ENTRY "; + buf << "*VALID_ENTRY "; } else buf << "no flags set"; diff --git a/src/debugger/CartDebug.hxx b/src/debugger/CartDebug.hxx index dda0906cb..c6ba615b5 100644 --- a/src/debugger/CartDebug.hxx +++ b/src/debugger/CartDebug.hxx @@ -237,6 +237,9 @@ class CartDebug : public DebuggerSystem // Convert given address to corresponding access type and append to buf void accessTypeAsString(ostream& buf, uInt16 addr) const; + // Convert access enum type to corresponding string and append to buf + void AccessTypeAsString(ostream& buf, Device::AccessType type) const; + private: using AddrToLabel = std::map; using LabelToAddr = std::map Date: Sun, 29 Mar 2020 17:24:16 +0200 Subject: [PATCH 47/80] fix savedis output --- src/debugger/CartDebug.cxx | 16 ++++++++-------- src/emucore/Device.hxx | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 5fd9a10cf..89fad0d1b 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -1136,14 +1136,14 @@ string CartDebug::saveDisassembly() << "; ROM properties name : " << myConsole.properties().get(PropType::Cart_Name) << "\n" << "; ROM properties MD5 : " << myConsole.properties().get(PropType::Cart_MD5) << "\n" << "; Bankswitch type : " << myConsole.cartridge().about() << "\n;\n" - << "; Legend: * = Device::CODE not yet run (tentative code)\n" - << "; D = Device::DATA directive (referenced in some way)\n" - << "; G = Device::GFX directive, shown as '#' (stored in player, missile, ball)\n" - << "; P = Device::PGFX directive, shown as '*' (stored in playfield)\n" - << "; C = Device::COL directive, shown as '*' (stored in player color)\n" - << "; CP = Device::PCOL directive, shown as '*' (stored in playfield color)\n" - << "; CB = Device::BCOL directive, shown as '*' (stored in background color)\n" - << "; A = Device::AUD directive, shown as '*' (stored in audio registers)\n" + << "; Legend: * = CODE not yet run (tentative code)\n" + << "; D = DATA directive (referenced in some way)\n" + << "; G = GFX directive, shown as '#' (stored in player, missile, ball)\n" + << "; P = PGFX directive, shown as '*' (stored in playfield)\n" + << "; C = COL directive, shown as color constants (stored in player color)\n" + << "; CP = PCOL directive, shown as color constants (stored in playfield color)\n" + << "; CB = BCOL directive, shown as color constants (stored in background color)\n" + << "; A = AUD directive (stored in audio registers)\n" << "; i = indexed accessed only\n" << "; c = used by code executed in RAM\n" << "; s = used by stack\n" diff --git a/src/emucore/Device.hxx b/src/emucore/Device.hxx index d60ec7054..d8b9cbaa9 100644 --- a/src/emucore/Device.hxx +++ b/src/emucore/Device.hxx @@ -54,7 +54,7 @@ class Device : public Serializable PCOL = 1 << 6, // 0x040, addresses loaded into COLUPF register BCOL = 1 << 5, // 0x020, addresses loaded into COLUBK register AUD = 1 << 4, // 0x010, addresses loaded into audio registers - DATA = 1 << 3, // 0x008, addresses loaded into registers other than GRPx / PFx + DATA = 1 << 3, // 0x008, addresses loaded into registers other than GRPx / PFx / COLUxx, AUDxx ROW = 1 << 2, // 0x004, all other addresses // special type for poke() WRITE = TCODE // 0x200, address written to From c2a8839b1aee6464916ff77df582e3571e7531f5 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 29 Mar 2020 18:05:07 +0200 Subject: [PATCH 48/80] fix CPU destination display --- src/debugger/gui/CpuWidget.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/debugger/gui/CpuWidget.cxx b/src/debugger/gui/CpuWidget.cxx index 87aba7d34..babdb8e08 100644 --- a/src/debugger/gui/CpuWidget.cxx +++ b/src/debugger/gui/CpuWidget.cxx @@ -327,7 +327,7 @@ void CpuWidget::loadConfig() state.srcY != oldstate.srcY); const string& dest = state.dest < 0 ? "" : cart.getLabel(state.dest, false); - myCpuDataDest->setText((srcY != EmptyString ? dest : Common::Base::toString(state.dest)), + myCpuDataDest->setText((dest != EmptyString ? dest : Common::Base::toString(state.dest)), state.dest != oldstate.dest); // Update the PS register booleans From 5600be0ce45307e99f9ebfe70966f1ebe7ce657d Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 29 Mar 2020 18:36:26 +0200 Subject: [PATCH 49/80] add some more DEBUGGER_SUPPORT defines --- src/emucore/Cart4A50.cxx | 2 ++ src/emucore/Cart4A50.hxx | 3 ++- src/emucore/CartAR.cxx | 2 ++ src/emucore/CartAR.hxx | 2 ++ src/emucore/System.hxx | 2 ++ 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/emucore/Cart4A50.cxx b/src/emucore/Cart4A50.cxx index fd05804d4..f8f144667 100644 --- a/src/emucore/Cart4A50.cxx +++ b/src/emucore/Cart4A50.cxx @@ -181,6 +181,7 @@ bool Cartridge4A50::poke(uInt16 address, uInt8 value) return myBankChanged; } +#ifdef DEBUGGER_SUPPORT // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Device::AccessFlags Cartridge4A50::getAccessFlags(uInt16 address) const { @@ -243,6 +244,7 @@ void Cartridge4A50::setAccessFlags(uInt16 address, Device::AccessFlags flags) myCodeAccessBase[(address & 0xff) + 0x1ff00] |= flags; } } +#endif // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Cartridge4A50::checkBankSwitch(uInt16 address, uInt8 value) diff --git a/src/emucore/Cart4A50.hxx b/src/emucore/Cart4A50.hxx index d55ec8d2f..e68bb8f4a 100644 --- a/src/emucore/Cart4A50.hxx +++ b/src/emucore/Cart4A50.hxx @@ -153,6 +153,7 @@ class Cartridge4A50 : public Cartridge bool poke(uInt16 address, uInt8 value) override; private: + #ifdef DEBUGGER_SUPPORT /** Query the given address type for the associated access flags. @@ -166,7 +167,7 @@ class Cartridge4A50 : public Cartridge @param flags A bitfield of AccessType directives for the given address */ void setAccessFlags(uInt16 address, Device::AccessFlags flags) override; - + #endif /** Check all possible hotspots */ diff --git a/src/emucore/CartAR.cxx b/src/emucore/CartAR.cxx index 42d12c0fd..e5755d6dd 100644 --- a/src/emucore/CartAR.cxx +++ b/src/emucore/CartAR.cxx @@ -190,6 +190,7 @@ bool CartridgeAR::poke(uInt16 addr, uInt8) return modified; } +#ifdef DEBUGGER_SUPPORT // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Device::AccessFlags CartridgeAR::getAccessFlags(uInt16 address) const { @@ -203,6 +204,7 @@ void CartridgeAR::setAccessFlags(uInt16 address, Device::AccessFlags flags) myCodeAccessBase[(address & 0x07FF) + myImageOffset[(address & 0x0800) ? 1 : 0]] |= flags; } +#endif // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartridgeAR::bankConfiguration(uInt8 configuration) diff --git a/src/emucore/CartAR.hxx b/src/emucore/CartAR.hxx index 877817c1b..6fda35f38 100644 --- a/src/emucore/CartAR.hxx +++ b/src/emucore/CartAR.hxx @@ -159,6 +159,7 @@ class CartridgeAR : public Cartridge bool poke(uInt16 address, uInt8 value) override; private: + #ifdef DEBUGGER_SUPPORT /** Query the given address type for the associated access flags. @@ -172,6 +173,7 @@ class CartridgeAR : public Cartridge @param flags A bitfield of AccessType directives for the given address */ void setAccessFlags(uInt16 address, Device::AccessFlags flags) override; + #endif // Handle a change to the bank configuration bool bankConfiguration(uInt8 configuration); diff --git a/src/emucore/System.hxx b/src/emucore/System.hxx index 2e7c158a9..1262b6ad3 100644 --- a/src/emucore/System.hxx +++ b/src/emucore/System.hxx @@ -231,6 +231,7 @@ class System : public Serializable void lockDataBus() { myDataBusLocked = true; } void unlockDataBus() { myDataBusLocked = false; } + #ifdef DEBUGGER_SUPPORT /** Access and modify the access type flags for the given address. Note that while any flag can be used, the disassembly @@ -238,6 +239,7 @@ class System : public Serializable */ Device::AccessFlags getAccessFlags(uInt16 address) const; void setAccessFlags(uInt16 address, Device::AccessFlags flags); + #endif public: /** From 195a8a51165481a273af64b059aa73bb165d495c Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 29 Mar 2020 19:30:09 +0200 Subject: [PATCH 50/80] fix compiler error without debugger support create VS configuration (without debugger support) --- src/emucore/System.cxx | 8 +- src/windows/Stella.sln | 16 +- src/windows/Stella.vcxproj | 968 ++++++++++++++++++++++++++++++------- 3 files changed, 798 insertions(+), 194 deletions(-) diff --git a/src/emucore/System.cxx b/src/emucore/System.cxx index 7bf3551ef..2fa33a201 100644 --- a/src/emucore/System.cxx +++ b/src/emucore/System.cxx @@ -159,33 +159,29 @@ void System::poke(uInt16 addr, uInt8 value, Device::AccessFlags flags) myDataBusState = value; } +#ifdef DEBUGGER_SUPPORT // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Device::AccessFlags System::getAccessFlags(uInt16 addr) const { -#ifdef DEBUGGER_SUPPORT const PageAccess& access = getPageAccess(addr); if(access.codeAccessBase) return *(access.codeAccessBase + (addr & PAGE_MASK)); else return access.device->getAccessFlags(addr); -#else - return 0; -#endif } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void System::setAccessFlags(uInt16 addr, Device::AccessFlags flags) { -#ifdef DEBUGGER_SUPPORT const PageAccess& access = getPageAccess(addr); if(access.codeAccessBase) *(access.codeAccessBase + (addr & PAGE_MASK)) |= flags; else access.device->setAccessFlags(addr, flags); -#endif } +#endif // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool System::save(Serializer& out) const diff --git a/src/windows/Stella.sln b/src/windows/Stella.sln index fb70ffeaf..3aae8e551 100755 --- a/src/windows/Stella.sln +++ b/src/windows/Stella.sln @@ -1,16 +1,15 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.168 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29613.14 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Stella", "Stella.vcxproj", "{D7FCEC7F-33E1-49DD-A4B0-D5FC222250AD}" EndProject Global - GlobalSection(Performance) = preSolution - HasPerformanceSessions = true - EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 + Debug-NoDebugger|Win32 = Debug-NoDebugger|Win32 + Debug-NoDebugger|x64 = Debug-NoDebugger|x64 Profile|Win32 = Profile|Win32 Profile|x64 = Profile|x64 Release|Win32 = Release|Win32 @@ -21,6 +20,10 @@ Global {D7FCEC7F-33E1-49DD-A4B0-D5FC222250AD}.Debug|Win32.Build.0 = Debug|Win32 {D7FCEC7F-33E1-49DD-A4B0-D5FC222250AD}.Debug|x64.ActiveCfg = Debug|x64 {D7FCEC7F-33E1-49DD-A4B0-D5FC222250AD}.Debug|x64.Build.0 = Debug|x64 + {D7FCEC7F-33E1-49DD-A4B0-D5FC222250AD}.Debug-NoDebugger|Win32.ActiveCfg = Debug-NoDebugger|Win32 + {D7FCEC7F-33E1-49DD-A4B0-D5FC222250AD}.Debug-NoDebugger|Win32.Build.0 = Debug-NoDebugger|Win32 + {D7FCEC7F-33E1-49DD-A4B0-D5FC222250AD}.Debug-NoDebugger|x64.ActiveCfg = Debug-NoDebugger|x64 + {D7FCEC7F-33E1-49DD-A4B0-D5FC222250AD}.Debug-NoDebugger|x64.Build.0 = Debug-NoDebugger|x64 {D7FCEC7F-33E1-49DD-A4B0-D5FC222250AD}.Profile|Win32.ActiveCfg = Profile|Win32 {D7FCEC7F-33E1-49DD-A4B0-D5FC222250AD}.Profile|Win32.Build.0 = Profile|Win32 {D7FCEC7F-33E1-49DD-A4B0-D5FC222250AD}.Profile|x64.ActiveCfg = Profile|x64 @@ -42,4 +45,7 @@ Global GlobalSection(Performance) = preSolution HasPerformanceSessions = true EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection EndGlobal diff --git a/src/windows/Stella.vcxproj b/src/windows/Stella.vcxproj index e15336141..9aa49cb84 100644 --- a/src/windows/Stella.vcxproj +++ b/src/windows/Stella.vcxproj @@ -1,6 +1,14 @@  + + Debug-NoDebugger + Win32 + + + Debug-NoDebugger + x64 + Debug Win32 @@ -48,6 +56,11 @@ MultiByte v141_xp + + Application + MultiByte + v141_xp + Application MultiByte @@ -63,6 +76,11 @@ MultiByte v141_xp + + Application + MultiByte + v141_xp + false @@ -81,6 +99,10 @@ + + + + @@ -93,15 +115,25 @@ + + + + <_ProjectFileVersion>10.0.30319.1 $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ true + true $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ true + true $(Platform)\$(Configuration)\ Release\ $(Platform)\$(Configuration)\ @@ -111,11 +143,17 @@ $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ AllRules.ruleset + AllRules.ruleset + + AllRules.ruleset + AllRules.ruleset + + AllRules.ruleset AllRules.ruleset @@ -133,6 +171,10 @@ $(ProjectDir)\SDL\lib\x86;$(LibraryPath) $(ProjectDir)\SDL\include;$(IncludePath) + + $(ProjectDir)\SDL\lib\x86;$(LibraryPath) + $(ProjectDir)\SDL\include;$(IncludePath) + $(ProjectDir)\SDL\lib\x86;$(LibraryPath) $(ProjectDir)\SDL\include;$(IncludePath) @@ -145,6 +187,10 @@ $(ProjectDir)\SDL\lib\x64;$(LibraryPath) $(ProjectDir)\SDL\include;$(IncludePath) + + $(ProjectDir)\SDL\lib\x64;$(LibraryPath) + $(ProjectDir)\SDL\include;$(IncludePath) + $(ProjectDir)\SDL\lib\x64;$(LibraryPath) $(ProjectDir)\SDL\include;$(IncludePath) @@ -187,6 +233,40 @@ Default + + + Disabled + ..\yacc;..\emucore;..\emucore\tia;..\emucore\tia\frame-manager;..\common;..\common\tv_filters;..\gui;..\debugger\gui;..\debugger;..\windows;..\cheat;..\zlib;..\libpng;%(AdditionalIncludeDirectories) + BSPF_WINDOWS;WIN32;NOMINMAX;DEBUG_BUILD;SDL_SUPPORT;GUI_SUPPORT;PNG_SUPPORT;ZIP_SUPPORT;JOYSTICK_SUPPORT;DEBUGGER_SUPPORT;WINDOWED_SUPPORT;SOUND_SUPPORT;CHEATCODE_SUPPORT;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDLL + + + Level4 + EditAndContinue + $(IntDir)obj\\windows\%(RelativeDir) + StreamingSIMDExtensions + stdcpp17 + true + 4100;4127;4146;4244;%(DisableSpecificWarnings) + CompileAsCpp + NoListing + $(IntDir)asm\windows\%(RelativeDir) + + + SDL2.lib;SDL2main.lib;SDL2main.lib;%(AdditionalDependencies) + $(OutDir)Stella.exe + true + $(OutDir)Stella.pdb + Console + false + + + MachineX86 + Default + + X64 @@ -223,6 +303,42 @@ Default + + + X64 + + + Disabled + ..\yacc;..\emucore;..\emucore\tia;..\emucore\tia\frame-manager;..\common;..\common\tv_filters;..\gui;..\debugger\gui;..\debugger;..\windows;..\cheat;..\zlib;..\libpng;%(AdditionalIncludeDirectories) + BSPF_WINDOWS;WIN32;NOMINMAX;DEBUG_BUILD;SDL_SUPPORT;GUI_SUPPORT;PNG_SUPPORT;ZIP_SUPPORT;JOYSTICK_SUPPORT;WINDOWED_SUPPORT;SOUND_SUPPORT;CHEATCODE_SUPPORT;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDLL + + + Level4 + ProgramDatabase + $(IntDir)obj\\windows\%(RelativeDir) + stdcpp17 + true + 4100;4127;4146;4244;%(DisableSpecificWarnings) + CompileAsCpp + NoListing + $(IntDir)asm\windows\%(RelativeDir) + + + SDL2.lib;SDL2main.lib;SDL2main.lib;%(AdditionalDependencies) + $(OutDir)Stella.exe + true + $(OutDir)Stella.pdb + Console + false + + + MachineX64 + Default + + true @@ -403,70 +519,201 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + @@ -591,31 +838,78 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + @@ -653,421 +947,541 @@ CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC Level2 + Level2 Level2 Level2 Level2 + Level2 Level2 Level2 CompileAsC + CompileAsC CompileAsC CompileAsC CompileAsC + CompileAsC CompileAsC CompileAsC @@ -1118,73 +1532,207 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + @@ -1339,33 +1887,87 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + From d2fbbdbf6115261c1de3ac204775949feca28ded Mon Sep 17 00:00:00 2001 From: thrust26 Date: Mon, 30 Mar 2020 09:22:45 +0200 Subject: [PATCH 51/80] rename code access into ROM access to better reflect the usage --- src/debugger/DiStella.cxx | 2 +- src/emucore/Cart.cxx | 16 ++++++++-------- src/emucore/Cart.hxx | 16 +++++++++------- src/emucore/Cart0840.cxx | 4 ++-- src/emucore/Cart2K.cxx | 4 ++-- src/emucore/Cart3E.cxx | 10 +++++----- src/emucore/Cart3EPlus.cxx | 6 +++--- src/emucore/Cart3F.cxx | 6 +++--- src/emucore/Cart4A50.cxx | 32 ++++++++++++++++---------------- src/emucore/Cart4K.cxx | 4 ++-- src/emucore/Cart4KSC.cxx | 8 ++++---- src/emucore/CartAR.cxx | 8 ++++---- src/emucore/CartBF.cxx | 6 +++--- src/emucore/CartBFSC.cxx | 10 +++++----- src/emucore/CartBUS.cxx | 4 ++-- src/emucore/CartCDF.cxx | 4 ++-- src/emucore/CartCM.cxx | 8 ++++---- src/emucore/CartCTY.cxx | 4 ++-- src/emucore/CartCV.cxx | 8 ++++---- src/emucore/CartCVPlus.cxx | 10 +++++----- src/emucore/CartDASH.cxx | 6 +++--- src/emucore/CartDF.cxx | 6 +++--- src/emucore/CartDFSC.cxx | 10 +++++----- src/emucore/CartDPC.cxx | 6 +++--- src/emucore/CartDPCPlus.cxx | 4 ++-- src/emucore/CartE0.cxx | 12 ++++++------ src/emucore/CartEF.cxx | 6 +++--- src/emucore/CartEFSC.cxx | 10 +++++----- src/emucore/CartF0.cxx | 6 +++--- src/emucore/CartF4.cxx | 6 +++--- src/emucore/CartF4SC.cxx | 10 +++++----- src/emucore/CartF6.cxx | 6 +++--- src/emucore/CartF6SC.cxx | 10 +++++----- src/emucore/CartF8.cxx | 6 +++--- src/emucore/CartF8SC.cxx | 10 +++++----- src/emucore/CartFA.cxx | 10 +++++----- src/emucore/CartFA2.cxx | 10 +++++----- src/emucore/CartFC.cxx | 6 +++--- src/emucore/CartFE.cxx | 2 +- src/emucore/CartMDM.cxx | 4 ++-- src/emucore/CartMNetwork.cxx | 6 +++--- src/emucore/CartSB.cxx | 4 ++-- src/emucore/CartUA.cxx | 4 ++-- src/emucore/CartWD.cxx | 14 +++++++------- src/emucore/CartX07.cxx | 4 ++-- src/emucore/System.cxx | 16 ++++++++-------- src/emucore/System.hxx | 10 +++++++--- 47 files changed, 190 insertions(+), 184 deletions(-) diff --git a/src/debugger/DiStella.cxx b/src/debugger/DiStella.cxx index 547a75933..2aa304ac6 100644 --- a/src/debugger/DiStella.cxx +++ b/src/debugger/DiStella.cxx @@ -657,7 +657,7 @@ void DiStella::disasmPass1(CartDebug::AddressList& debuggerAddresses) // Note that this is a 'best-effort' approach, since // Distella will normally keep going until the end of the // range or branch is encountered - // However, addresses *specifically* marked as DATA/GFX/PGFX + // However, addresses *specifically* marked as DATA/GFX/PGFX/COL/PCOL/BCOL/AUD // in the emulation core indicate that the CODE range has finished // Therefore, we stop at the first such address encountered for (uInt32 k = pcBeg; k <= myPCEnd; ++k) { diff --git a/src/emucore/Cart.cxx b/src/emucore/Cart.cxx index ec7cea379..c5c13e34c 100644 --- a/src/emucore/Cart.cxx +++ b/src/emucore/Cart.cxx @@ -38,7 +38,7 @@ Cartridge::Cartridge(const Settings& settings, const string& md5) for(uInt32 i = 0; i < 256; ++i) myRWPRandomValues[i] = rand.next(); - myRAMAccesses.reserve(5); + myRamReadAccesses.reserve(5); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -86,7 +86,7 @@ uInt8 Cartridge::peekRAM(uInt8& dest, uInt16 address) if(!bankLocked() && !mySystem->autodetectMode()) { // Record access here; final determination will happen in ::pokeRAM() - myRAMAccesses.push_back(address); + myRamReadAccesses.push_back(address); dest = value; } #else @@ -100,11 +100,11 @@ uInt8 Cartridge::peekRAM(uInt8& dest, uInt16 address) void Cartridge::pokeRAM(uInt8& dest, uInt16 address, uInt8 value) { #ifdef DEBUGGER_SUPPORT - for(auto i = myRAMAccesses.begin(); i != myRAMAccesses.end(); ++i) + for(auto i = myRamReadAccesses.begin(); i != myRamReadAccesses.end(); ++i) { if(*i == address) { - myRAMAccesses.erase(i); + myRamReadAccesses.erase(i); break; } } @@ -113,13 +113,13 @@ void Cartridge::pokeRAM(uInt8& dest, uInt16 address, uInt8 value) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Cartridge::createCodeAccessBase(size_t size) +void Cartridge::createRomAccessBase(size_t size) { #ifdef DEBUGGER_SUPPORT - myCodeAccessBase = make_unique(size); - std::fill_n(myCodeAccessBase.get(), size, Device::ROW); + myRomAccessBase = make_unique(size); + std::fill_n(myRomAccessBase.get(), size, Device::ROW); #else - myCodeAccessBase = nullptr; + myRomAccessBase = nullptr; #endif } diff --git a/src/emucore/Cart.hxx b/src/emucore/Cart.hxx index 4b9cda533..8a5124219 100644 --- a/src/emucore/Cart.hxx +++ b/src/emucore/Cart.hxx @@ -113,7 +113,7 @@ class Cartridge : public Device Clears information about all accesses to cart RAM. */ void clearAllRAMAccesses() { - myRAMAccesses.clear(); + myRamReadAccesses.clear(); myRamWriteAccess = 0; } @@ -125,7 +125,7 @@ class Cartridge : public Device @return Address of illegal access if one occurred, else 0 */ uInt16 getIllegalRAMReadAccess() const { - return myRAMAccesses.size() > 0 ? myRAMAccesses[0] : 0; + return myRamReadAccesses.size() > 0 ? myRamReadAccesses[0] : 0; } /** @@ -274,7 +274,7 @@ class Cartridge : public Device @param size The size of the code-access array to create */ - void createCodeAccessBase(size_t size); + void createRomAccessBase(size_t size); /** Fill the given RAM array with (possibly random) data. @@ -322,8 +322,8 @@ class Cartridge : public Device bool myBankChanged{true}; // The array containing information about every byte of ROM indicating - // whether it is used as code. - std::unique_ptr myCodeAccessBase; + // whether it is used as code, data, graphics etc. + std::unique_ptr myRomAccessBase; // Contains address of illegal RAM write access or 0 uInt16 myRamWriteAccess{0}; @@ -348,8 +348,10 @@ class Cartridge : public Device // Used when we want the 'Cartridge.StartBank' ROM property StartBankFromPropsFunc myStartBankFromPropsFunc; - // Contains - ShortArray myRAMAccesses; + // Used to answer whether an access in the last instruction cycle + // generated an illegal read RAM access. Contains address of illegal + // access. + ShortArray myRamReadAccesses; // Following constructors and assignment operators not supported Cartridge() = delete; diff --git a/src/emucore/Cart0840.cxx b/src/emucore/Cart0840.cxx index 22e6a1cff..21e0f35fd 100644 --- a/src/emucore/Cart0840.cxx +++ b/src/emucore/Cart0840.cxx @@ -25,7 +25,7 @@ Cartridge0840::Cartridge0840(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -137,7 +137,7 @@ bool Cartridge0840::bank(uInt16 bank) for(uInt16 addr = 0x1000; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/Cart2K.cxx b/src/emucore/Cart2K.cxx index bbad871af..5a6ffec5d 100644 --- a/src/emucore/Cart2K.cxx +++ b/src/emucore/Cart2K.cxx @@ -51,7 +51,7 @@ Cartridge2K::Cartridge2K(const ByteBuffer& image, size_t size, mySize = System::PAGE_SIZE; } - createCodeAccessBase(mySize); + createRomAccessBase(mySize); // Set mask for accessing the image buffer // This is guaranteed to work, as mySize is a power of two @@ -76,7 +76,7 @@ void Cartridge2K::install(System& system) for(uInt16 addr = 0x1000; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[addr & myMask]; - access.codeAccessBase = &myCodeAccessBase[addr & myMask]; + access.romAccessBase = &myRomAccessBase[addr & myMask]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/Cart3E.cxx b/src/emucore/Cart3E.cxx index 7844fc7e3..7df89d58c 100644 --- a/src/emucore/Cart3E.cxx +++ b/src/emucore/Cart3E.cxx @@ -30,7 +30,7 @@ Cartridge3E::Cartridge3E(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createCodeAccessBase(mySize + myRAM.size()); + createRomAccessBase(mySize + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -59,7 +59,7 @@ void Cartridge3E::install(System& system) for(uInt16 addr = 0x1800; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[(mySize - 2048) + (addr & 0x07FF)]; - access.codeAccessBase = &myCodeAccessBase[(mySize - 2048) + (addr & 0x07FF)]; + access.romAccessBase = &myRomAccessBase[(mySize - 2048) + (addr & 0x07FF)]; mySystem->setPageAccess(addr, access); } @@ -158,7 +158,7 @@ bool Cartridge3E::bank(uInt16 bank) for(uInt16 addr = 0x1000; addr < 0x1800; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[offset + (addr & 0x07FF)]; - access.codeAccessBase = &myCodeAccessBase[offset + (addr & 0x07FF)]; + access.romAccessBase = &myRomAccessBase[offset + (addr & 0x07FF)]; mySystem->setPageAccess(addr, access); } } @@ -177,7 +177,7 @@ bool Cartridge3E::bank(uInt16 bank) for(uInt16 addr = 0x1000; addr < 0x1400; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[offset + (addr & 0x03FF)]; - access.codeAccessBase = &myCodeAccessBase[mySize + offset + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[mySize + offset + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } @@ -189,7 +189,7 @@ bool Cartridge3E::bank(uInt16 bank) // check if RWP happens for(uInt16 addr = 0x1400; addr < 0x1800; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[mySize + offset + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[mySize + offset + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/Cart3EPlus.cxx b/src/emucore/Cart3EPlus.cxx index 139cda4b7..1ca18f7d9 100644 --- a/src/emucore/Cart3EPlus.cxx +++ b/src/emucore/Cart3EPlus.cxx @@ -30,7 +30,7 @@ Cartridge3EPlus::Cartridge3EPlus(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createCodeAccessBase(mySize + myRAM.size()); + createRomAccessBase(mySize + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -214,7 +214,7 @@ void Cartridge3EPlus::bankRAMSlot(uInt16 bank) if(!upper) access.directPeekBase = &myRAM[startCurrentBank + (addr & (RAM_BANK_SIZE - 1))]; - access.codeAccessBase = &myCodeAccessBase[mySize + startCurrentBank + (addr & (RAM_BANK_SIZE - 1))]; + access.romAccessBase = &myRomAccessBase[mySize + startCurrentBank + (addr & (RAM_BANK_SIZE - 1))]; mySystem->setPageAccess(addr, access); } } @@ -254,7 +254,7 @@ void Cartridge3EPlus::bankROMSlot(uInt16 bank) for(uInt16 addr = start; addr <= end; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[startCurrentBank + (addr & (ROM_BANK_SIZE - 1))]; - access.codeAccessBase = &myCodeAccessBase[startCurrentBank + (addr & (ROM_BANK_SIZE - 1))]; + access.romAccessBase = &myRomAccessBase[startCurrentBank + (addr & (ROM_BANK_SIZE - 1))]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/Cart3F.cxx b/src/emucore/Cart3F.cxx index 8b59d77ba..8be902554 100644 --- a/src/emucore/Cart3F.cxx +++ b/src/emucore/Cart3F.cxx @@ -30,7 +30,7 @@ Cartridge3F::Cartridge3F(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createCodeAccessBase(mySize); + createRomAccessBase(mySize); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -57,7 +57,7 @@ void Cartridge3F::install(System& system) for(uInt16 addr = 0x1800; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[(mySize - 2048) + (addr & 0x07FF)]; - access.codeAccessBase = &myCodeAccessBase[(mySize - 2048) + (addr & 0x07FF)]; + access.romAccessBase = &myRomAccessBase[(mySize - 2048) + (addr & 0x07FF)]; mySystem->setPageAccess(addr, access); } @@ -117,7 +117,7 @@ bool Cartridge3F::bank(uInt16 bank) for(uInt16 addr = 0x1000; addr < 0x1800; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[offset + (addr & 0x07FF)]; - access.codeAccessBase = &myCodeAccessBase[offset + (addr & 0x07FF)]; + access.romAccessBase = &myRomAccessBase[offset + (addr & 0x07FF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/Cart4A50.cxx b/src/emucore/Cart4A50.cxx index f8f144667..373684481 100644 --- a/src/emucore/Cart4A50.cxx +++ b/src/emucore/Cart4A50.cxx @@ -34,14 +34,14 @@ Cartridge4A50::Cartridge4A50(const ByteBuffer& image, size_t size, for(uInt32 slice = 0; slice < 128_KB / size; ++slice) std::copy_n(image.get(), size, myImage.begin() + (slice*size)); - // We use System::PageAccess.codeAccessBase, but don't allow its use + // We use System::PageAccess.romAccessBase, but don't allow its use // through a pointer, since the address space of 4A50 carts can change // at the instruction level, and PageAccess is normally defined at an // interval of 64 bytes // // Instead, access will be through the getAccessFlags and setAccessFlags // methods below - createCodeAccessBase(myImage.size() + myRAM.size()); + createRomAccessBase(myImage.size() + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -188,28 +188,28 @@ Device::AccessFlags Cartridge4A50::getAccessFlags(uInt16 address) const if((address & 0x1800) == 0x1000) // 2K region from 0x1000 - 0x17ff { if(myIsRomLow) - return myCodeAccessBase[(address & 0x7ff) + mySliceLow]; + return myRomAccessBase[(address & 0x7ff) + mySliceLow]; else - return myCodeAccessBase[131072 + (address & 0x7ff) + mySliceLow]; + return myRomAccessBase[131072 + (address & 0x7ff) + mySliceLow]; } else if(((address & 0x1fff) >= 0x1800) && // 1.5K region from 0x1800 - 0x1dff ((address & 0x1fff) <= 0x1dff)) { if(myIsRomMiddle) - return myCodeAccessBase[(address & 0x7ff) + mySliceMiddle + 0x10000]; + return myRomAccessBase[(address & 0x7ff) + mySliceMiddle + 0x10000]; else - return myCodeAccessBase[131072 + (address & 0x7ff) + mySliceMiddle]; + return myRomAccessBase[131072 + (address & 0x7ff) + mySliceMiddle]; } else if((address & 0x1f00) == 0x1e00) // 256B region from 0x1e00 - 0x1eff { if(myIsRomHigh) - return myCodeAccessBase[(address & 0xff) + mySliceHigh + 0x10000]; + return myRomAccessBase[(address & 0xff) + mySliceHigh + 0x10000]; else - return myCodeAccessBase[131072 + (address & 0xff) + mySliceHigh]; + return myRomAccessBase[131072 + (address & 0xff) + mySliceHigh]; } else if((address & 0x1f00) == 0x1f00) // 256B region from 0x1f00 - 0x1fff { - return myCodeAccessBase[(address & 0xff) + 0x1ff00]; + return myRomAccessBase[(address & 0xff) + 0x1ff00]; } return 0; } @@ -220,28 +220,28 @@ void Cartridge4A50::setAccessFlags(uInt16 address, Device::AccessFlags flags) if((address & 0x1800) == 0x1000) // 2K region from 0x1000 - 0x17ff { if(myIsRomLow) - myCodeAccessBase[(address & 0x7ff) + mySliceLow] |= flags; + myRomAccessBase[(address & 0x7ff) + mySliceLow] |= flags; else - myCodeAccessBase[131072 + (address & 0x7ff) + mySliceLow] |= flags; + myRomAccessBase[131072 + (address & 0x7ff) + mySliceLow] |= flags; } else if(((address & 0x1fff) >= 0x1800) && // 1.5K region from 0x1800 - 0x1dff ((address & 0x1fff) <= 0x1dff)) { if(myIsRomMiddle) - myCodeAccessBase[(address & 0x7ff) + mySliceMiddle + 0x10000] |= flags; + myRomAccessBase[(address & 0x7ff) + mySliceMiddle + 0x10000] |= flags; else - myCodeAccessBase[131072 + (address & 0x7ff) + mySliceMiddle] |= flags; + myRomAccessBase[131072 + (address & 0x7ff) + mySliceMiddle] |= flags; } else if((address & 0x1f00) == 0x1e00) // 256B region from 0x1e00 - 0x1eff { if(myIsRomHigh) - myCodeAccessBase[(address & 0xff) + mySliceHigh + 0x10000] |= flags; + myRomAccessBase[(address & 0xff) + mySliceHigh + 0x10000] |= flags; else - myCodeAccessBase[131072 + (address & 0xff) + mySliceHigh] |= flags; + myRomAccessBase[131072 + (address & 0xff) + mySliceHigh] |= flags; } else if((address & 0x1f00) == 0x1f00) // 256B region from 0x1f00 - 0x1fff { - myCodeAccessBase[(address & 0xff) + 0x1ff00] |= flags; + myRomAccessBase[(address & 0xff) + 0x1ff00] |= flags; } } #endif diff --git a/src/emucore/Cart4K.cxx b/src/emucore/Cart4K.cxx index 8c924f720..763bc35f0 100644 --- a/src/emucore/Cart4K.cxx +++ b/src/emucore/Cart4K.cxx @@ -25,7 +25,7 @@ Cartridge4K::Cartridge4K(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -46,7 +46,7 @@ void Cartridge4K::install(System& system) for(uInt16 addr = 0x1000; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[addr & 0x0FFF]; - access.codeAccessBase = &myCodeAccessBase[addr & 0x0FFF]; + access.romAccessBase = &myRomAccessBase[addr & 0x0FFF]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/Cart4KSC.cxx b/src/emucore/Cart4KSC.cxx index fa36e7b0f..e65955735 100644 --- a/src/emucore/Cart4KSC.cxx +++ b/src/emucore/Cart4KSC.cxx @@ -25,7 +25,7 @@ Cartridge4KSC::Cartridge4KSC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -49,7 +49,7 @@ void Cartridge4KSC::install(System& system) access.type = System::PageAccessType::WRITE; for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[addr & 0x007F]; + access.romAccessBase = &myRomAccessBase[addr & 0x007F]; mySystem->setPageAccess(addr, access); } @@ -58,7 +58,7 @@ void Cartridge4KSC::install(System& system) for(uInt16 addr = 0x1080; addr < 0x1100; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[addr & 0x007F]; - access.codeAccessBase = &myCodeAccessBase[0x80 + (addr & 0x007F)]; + access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; mySystem->setPageAccess(addr, access); } @@ -66,7 +66,7 @@ void Cartridge4KSC::install(System& system) for(uInt16 addr = 0x1100; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[addr & 0x0FFF]; - access.codeAccessBase = &myCodeAccessBase[addr & 0x0FFF]; + access.romAccessBase = &myRomAccessBase[addr & 0x0FFF]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/CartAR.cxx b/src/emucore/CartAR.cxx index e5755d6dd..f4edb41ba 100644 --- a/src/emucore/CartAR.cxx +++ b/src/emucore/CartAR.cxx @@ -35,13 +35,13 @@ CartridgeAR::CartridgeAR(const ByteBuffer& image, size_t size, std::copy_n(ourDefaultHeader.data(), ourDefaultHeader.size(), myLoadImages.get()+myImage.size()); - // We use System::PageAccess.codeAccessBase, but don't allow its use + // We use System::PageAccess.romAccessBase, but don't allow its use // through a pointer, since the AR scheme doesn't support bankswitching // in the normal sense // // Instead, access will be through the getAccessFlags and setAccessFlags // methods below - createCodeAccessBase(mySize); + createRomAccessBase(mySize); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -194,14 +194,14 @@ bool CartridgeAR::poke(uInt16 addr, uInt8) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Device::AccessFlags CartridgeAR::getAccessFlags(uInt16 address) const { - return myCodeAccessBase[(address & 0x07FF) + + return myRomAccessBase[(address & 0x07FF) + myImageOffset[(address & 0x0800) ? 1 : 0]]; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeAR::setAccessFlags(uInt16 address, Device::AccessFlags flags) { - myCodeAccessBase[(address & 0x07FF) + + myRomAccessBase[(address & 0x07FF) + myImageOffset[(address & 0x0800) ? 1 : 0]] |= flags; } #endif diff --git a/src/emucore/CartBF.cxx b/src/emucore/CartBF.cxx index b1f780699..df773d805 100644 --- a/src/emucore/CartBF.cxx +++ b/src/emucore/CartBF.cxx @@ -25,7 +25,7 @@ CartridgeBF::CartridgeBF(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -88,7 +88,7 @@ bool CartridgeBF::bank(uInt16 bank) for(uInt16 addr = (0x1F80 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -97,7 +97,7 @@ bool CartridgeBF::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartBFSC.cxx b/src/emucore/CartBFSC.cxx index 00b5efc32..fdfac6f95 100644 --- a/src/emucore/CartBFSC.cxx +++ b/src/emucore/CartBFSC.cxx @@ -25,7 +25,7 @@ CartridgeBFSC::CartridgeBFSC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -51,7 +51,7 @@ void CartridgeBFSC::install(System& system) access.type = System::PageAccessType::WRITE; for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[addr & 0x007F]; + access.romAccessBase = &myRomAccessBase[addr & 0x007F]; mySystem->setPageAccess(addr, access); } @@ -60,7 +60,7 @@ void CartridgeBFSC::install(System& system) for(uInt16 addr = 0x1080; addr < 0x1100; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[addr & 0x007F]; - access.codeAccessBase = &myCodeAccessBase[0x80 + (addr & 0x007F)]; + access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; mySystem->setPageAccess(addr, access); } @@ -127,7 +127,7 @@ bool CartridgeBFSC::bank(uInt16 bank) for(uInt16 addr = (0x1F80 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -136,7 +136,7 @@ bool CartridgeBFSC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartBUS.cxx b/src/emucore/CartBUS.cxx index c34593e73..1dc991563 100644 --- a/src/emucore/CartBUS.cxx +++ b/src/emucore/CartBUS.cxx @@ -49,7 +49,7 @@ CartridgeBUS::CartridgeBUS(const ByteBuffer& image, size_t size, std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); // Even though the ROM is 32K, only 28K is accessible to the 6507 - createCodeAccessBase(28_KB); + createRomAccessBase(28_KB); // Pointer to the program ROM (28K @ 0 byte offset) // which starts after the 2K BUS Driver and 2K C Code @@ -442,7 +442,7 @@ bool CartridgeBUS::bank(uInt16 bank) // Map Program ROM image into the system for(uInt16 addr = 0x1040; addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartCDF.cxx b/src/emucore/CartCDF.cxx index 052a1b523..48f3d3d0f 100644 --- a/src/emucore/CartCDF.cxx +++ b/src/emucore/CartCDF.cxx @@ -65,7 +65,7 @@ CartridgeCDF::CartridgeCDF(const ByteBuffer& image, size_t size, std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); // even though the ROM is 32K, only 28K is accessible to the 6507 - createCodeAccessBase(28_KB); + createRomAccessBase(28_KB); // Pointer to the program ROM (28K @ 0 byte offset) // which starts after the 2K CDF Driver and 2K C Code @@ -415,7 +415,7 @@ bool CartridgeCDF::bank(uInt16 bank) // Map Program ROM image into the system for(uInt16 addr = 0x1040; addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartCM.cxx b/src/emucore/CartCM.cxx index c460e72ff..6bead1b33 100644 --- a/src/emucore/CartCM.cxx +++ b/src/emucore/CartCM.cxx @@ -27,7 +27,7 @@ CartridgeCM::CartridgeCM(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -119,7 +119,7 @@ bool CartridgeCM::bank(uInt16 bank) for(uInt16 addr = 0x1000; addr < 0x1800; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -131,12 +131,12 @@ bool CartridgeCM::bank(uInt16 bank) if(mySWCHA & 0x10) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; } else { access.directPeekBase = &myRAM[addr & 0x7FF]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x07FF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x07FF)]; } if((mySWCHA & 0x30) == 0x20) diff --git a/src/emucore/CartCTY.cxx b/src/emucore/CartCTY.cxx index 22472dc0f..40cae5597 100644 --- a/src/emucore/CartCTY.cxx +++ b/src/emucore/CartCTY.cxx @@ -28,7 +28,7 @@ CartridgeCTY::CartridgeCTY(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); // Default to no tune data in case user is utilizing an old ROM myTuneData.fill(0); @@ -240,7 +240,7 @@ bool CartridgeCTY::bank(uInt16 bank) System::PageAccess access(this, System::PageAccessType::READ); for(uInt16 addr = 0x1080; addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartCV.cxx b/src/emucore/CartCV.cxx index e5ca47788..bea42e759 100644 --- a/src/emucore/CartCV.cxx +++ b/src/emucore/CartCV.cxx @@ -40,7 +40,7 @@ CartridgeCV::CartridgeCV(const ByteBuffer& image, size_t size, // Copy the RAM image into a buffer for use in reset() std::copy_n(image.get(), myInitialRAM.size(), myInitialRAM.begin()); } - createCodeAccessBase(myImage.size() + myRAM.size()); + createRomAccessBase(myImage.size() + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -68,7 +68,7 @@ void CartridgeCV::install(System& system) for(uInt16 addr = 0x1800; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[addr & 0x07FF]; - access.codeAccessBase = &myCodeAccessBase[addr & 0x07FF]; + access.romAccessBase = &myRomAccessBase[addr & 0x07FF]; mySystem->setPageAccess(addr, access); } @@ -76,7 +76,7 @@ void CartridgeCV::install(System& system) // Map access to this class, since we need to inspect all accesses to // check if RWP happens access.directPeekBase = nullptr; - access.codeAccessBase = nullptr; + access.romAccessBase = nullptr; access.type = System::PageAccessType::WRITE; for(uInt16 addr = 0x1400; addr < 0x1800; addr += System::PAGE_SIZE) mySystem->setPageAccess(addr, access); @@ -87,7 +87,7 @@ void CartridgeCV::install(System& system) for(uInt16 addr = 0x1000; addr < 0x1400; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[addr & 0x03FF]; - access.codeAccessBase = &myCodeAccessBase[2048 + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[2048 + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/CartCVPlus.cxx b/src/emucore/CartCVPlus.cxx index c70c53b0d..c0d9b01d2 100644 --- a/src/emucore/CartCVPlus.cxx +++ b/src/emucore/CartCVPlus.cxx @@ -30,7 +30,7 @@ CartridgeCVPlus::CartridgeCVPlus(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createCodeAccessBase(mySize + myRAM.size()); + createRomAccessBase(mySize + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -58,11 +58,11 @@ void CartridgeCVPlus::install(System& system) // Map access to this class, since we need to inspect all accesses to // check if RWP happens access.directPeekBase = access.directPokeBase = nullptr; - access.codeAccessBase = nullptr; + access.romAccessBase = nullptr; access.type = System::PageAccessType::WRITE; for(uInt16 addr = 0x1400; addr < 0x1800; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[mySize + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[mySize + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } @@ -71,7 +71,7 @@ void CartridgeCVPlus::install(System& system) for(uInt16 addr = 0x1000; addr < 0x1400; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[addr & 0x03FF]; - access.codeAccessBase = &myCodeAccessBase[mySize + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[mySize + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } @@ -148,7 +148,7 @@ bool CartridgeCVPlus::bank(uInt16 bank) for(uInt16 addr = 0x1800; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[offset + (addr & 0x07FF)]; - access.codeAccessBase = &myCodeAccessBase[offset + (addr & 0x07FF)]; + access.romAccessBase = &myRomAccessBase[offset + (addr & 0x07FF)]; mySystem->setPageAccess(addr, access); } diff --git a/src/emucore/CartDASH.cxx b/src/emucore/CartDASH.cxx index 2c85ada47..e893b6f07 100644 --- a/src/emucore/CartDASH.cxx +++ b/src/emucore/CartDASH.cxx @@ -30,7 +30,7 @@ CartridgeDASH::CartridgeDASH(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createCodeAccessBase(mySize + myRAM.size()); + createRomAccessBase(mySize + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -204,7 +204,7 @@ void CartridgeDASH::bankRAMSlot(uInt16 bank) if(!upper) access.directPeekBase = &myRAM[startCurrentBank + (addr & (RAM_BANK_SIZE - 1))]; - access.codeAccessBase = &myCodeAccessBase[mySize + startCurrentBank + (addr & (RAM_BANK_SIZE - 1))]; + access.romAccessBase = &myRomAccessBase[mySize + startCurrentBank + (addr & (RAM_BANK_SIZE - 1))]; mySystem->setPageAccess(addr, access); } } @@ -247,7 +247,7 @@ void CartridgeDASH::bankROMSlot(uInt16 bank) for (uInt16 addr = start; addr <= end; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[startCurrentBank + (addr & (ROM_BANK_SIZE - 1))]; - access.codeAccessBase = &myCodeAccessBase[startCurrentBank + (addr & (ROM_BANK_SIZE - 1))]; + access.romAccessBase = &myRomAccessBase[startCurrentBank + (addr & (ROM_BANK_SIZE - 1))]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/CartDF.cxx b/src/emucore/CartDF.cxx index d837f9631..7e4ed9c2c 100644 --- a/src/emucore/CartDF.cxx +++ b/src/emucore/CartDF.cxx @@ -25,7 +25,7 @@ CartridgeDF::CartridgeDF(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -84,7 +84,7 @@ bool CartridgeDF::bank(uInt16 bank) for(uInt16 addr = (0x1FC0 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -93,7 +93,7 @@ bool CartridgeDF::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartDFSC.cxx b/src/emucore/CartDFSC.cxx index 1df44e638..530ef811c 100644 --- a/src/emucore/CartDFSC.cxx +++ b/src/emucore/CartDFSC.cxx @@ -25,7 +25,7 @@ CartridgeDFSC::CartridgeDFSC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -51,7 +51,7 @@ void CartridgeDFSC::install(System& system) access.type = System::PageAccessType::WRITE; for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[addr & 0x007F]; + access.romAccessBase = &myRomAccessBase[addr & 0x007F]; mySystem->setPageAccess(addr, access); } @@ -60,7 +60,7 @@ void CartridgeDFSC::install(System& system) for(uInt16 addr = 0x1080; addr < 0x1100; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[addr & 0x007F]; - access.codeAccessBase = &myCodeAccessBase[0x80 + (addr & 0x007F)]; + access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; mySystem->setPageAccess(addr, access); } @@ -127,7 +127,7 @@ bool CartridgeDFSC::bank(uInt16 bank) for(uInt16 addr = (0x1FC0 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -136,7 +136,7 @@ bool CartridgeDFSC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartDPC.cxx b/src/emucore/CartDPC.cxx index e382c8707..2ac559a57 100644 --- a/src/emucore/CartDPC.cxx +++ b/src/emucore/CartDPC.cxx @@ -27,7 +27,7 @@ CartridgeDPC::CartridgeDPC(const ByteBuffer& image, size_t size, { // Make a copy of the entire image std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(8_KB); + createRomAccessBase(8_KB); // Pointer to the program ROM (8K @ 0 byte offset) myProgramImage = myImage.data(); @@ -373,7 +373,7 @@ bool CartridgeDPC::bank(uInt16 bank) for(uInt16 addr = (0x1FF8 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -382,7 +382,7 @@ bool CartridgeDPC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myProgramImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartDPCPlus.cxx b/src/emucore/CartDPCPlus.cxx index ab7230f78..5e92ec2a1 100644 --- a/src/emucore/CartDPCPlus.cxx +++ b/src/emucore/CartDPCPlus.cxx @@ -36,7 +36,7 @@ CartridgeDPCPlus::CartridgeDPCPlus(const ByteBuffer& image, size_t size, if(mySize < myImage.size()) myImage.fill(0); std::copy_n(image.get(), size, myImage.begin() + (myImage.size() - mySize)); - createCodeAccessBase(24_KB); + createRomAccessBase(24_KB); // Pointer to the program ROM (24K @ 3K offset; ignore first 3K) myProgramImage = myImage.data() + 3_KB; @@ -604,7 +604,7 @@ bool CartridgeDPCPlus::bank(uInt16 bank) // Map Program ROM image into the system for(uInt16 addr = 0x1080; addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartE0.cxx b/src/emucore/CartE0.cxx index 0c1921464..96029f903 100644 --- a/src/emucore/CartE0.cxx +++ b/src/emucore/CartE0.cxx @@ -25,7 +25,7 @@ CartridgeE0::CartridgeE0(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -61,13 +61,13 @@ void CartridgeE0::install(System& system) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[0x1C00 + (addr & 0x03FF)]; - access.codeAccessBase = &myCodeAccessBase[0x1C00 + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[0x1C00 + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } // Set the page accessing methods for the hot spots in the last segment access.directPeekBase = nullptr; - access.codeAccessBase = &myCodeAccessBase[0x1FC0]; // TJ: is this the correct address (or 0x1FE0)? + access.romAccessBase = &myRomAccessBase[0x1FC0]; // TJ: is this the correct address (or 0x1FE0)? access.type = System::PageAccessType::READ; for(uInt16 addr = (0x1FE0 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) @@ -144,7 +144,7 @@ void CartridgeE0::segmentZero(uInt16 slice) for(uInt16 addr = 0x1000; addr < 0x1400; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[offset + (addr & 0x03FF)]; - access.codeAccessBase = &myCodeAccessBase[offset + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } myBankChanged = true; @@ -165,7 +165,7 @@ void CartridgeE0::segmentOne(uInt16 slice) for(uInt16 addr = 0x1400; addr < 0x1800; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[offset + (addr & 0x03FF)]; - access.codeAccessBase = &myCodeAccessBase[offset + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } myBankChanged = true; @@ -186,7 +186,7 @@ void CartridgeE0::segmentTwo(uInt16 slice) for(uInt16 addr = 0x1800; addr < 0x1C00; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[offset + (addr & 0x03FF)]; - access.codeAccessBase = &myCodeAccessBase[offset + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } myBankChanged = true; diff --git a/src/emucore/CartEF.cxx b/src/emucore/CartEF.cxx index f89e3b441..96c5cf0da 100644 --- a/src/emucore/CartEF.cxx +++ b/src/emucore/CartEF.cxx @@ -25,7 +25,7 @@ CartridgeEF::CartridgeEF(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -84,7 +84,7 @@ bool CartridgeEF::bank(uInt16 bank) for(uInt16 addr = (0x1FE0 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -93,7 +93,7 @@ bool CartridgeEF::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartEFSC.cxx b/src/emucore/CartEFSC.cxx index 15f8470c0..8c9cdbb3c 100644 --- a/src/emucore/CartEFSC.cxx +++ b/src/emucore/CartEFSC.cxx @@ -25,7 +25,7 @@ CartridgeEFSC::CartridgeEFSC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -51,7 +51,7 @@ void CartridgeEFSC::install(System& system) access.type = System::PageAccessType::WRITE; for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[addr & 0x007F]; + access.romAccessBase = &myRomAccessBase[addr & 0x007F]; mySystem->setPageAccess(addr, access); } @@ -60,7 +60,7 @@ void CartridgeEFSC::install(System& system) for(uInt16 addr = 0x1080; addr < 0x1100; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[addr & 0x007F]; - access.codeAccessBase = &myCodeAccessBase[0x80 + (addr & 0x007F)]; + access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; mySystem->setPageAccess(addr, access); } @@ -127,7 +127,7 @@ bool CartridgeEFSC::bank(uInt16 bank) for(uInt16 addr = (0x1FE0 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -136,7 +136,7 @@ bool CartridgeEFSC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF0.cxx b/src/emucore/CartF0.cxx index 14ace4375..bb10ccd43 100644 --- a/src/emucore/CartF0.cxx +++ b/src/emucore/CartF0.cxx @@ -25,7 +25,7 @@ CartridgeF0::CartridgeF0(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -91,7 +91,7 @@ bool CartridgeF0::bank(uInt16 bank) for(uInt16 addr = (0x1FF0 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -100,7 +100,7 @@ bool CartridgeF0::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } diff --git a/src/emucore/CartF4.cxx b/src/emucore/CartF4.cxx index 82d3f61bb..81e53a238 100644 --- a/src/emucore/CartF4.cxx +++ b/src/emucore/CartF4.cxx @@ -26,7 +26,7 @@ CartridgeF4::CartridgeF4(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -88,7 +88,7 @@ bool CartridgeF4::bank(uInt16 bank) for(uInt16 addr = (0x1FF4 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -97,7 +97,7 @@ bool CartridgeF4::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF4SC.cxx b/src/emucore/CartF4SC.cxx index 45ec2ec88..79e34e854 100644 --- a/src/emucore/CartF4SC.cxx +++ b/src/emucore/CartF4SC.cxx @@ -25,7 +25,7 @@ CartridgeF4SC::CartridgeF4SC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -51,7 +51,7 @@ void CartridgeF4SC::install(System& system) access.type = System::PageAccessType::WRITE; for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[addr & 0x007F]; + access.romAccessBase = &myRomAccessBase[addr & 0x007F]; mySystem->setPageAccess(addr, access); } @@ -60,7 +60,7 @@ void CartridgeF4SC::install(System& system) for(uInt16 addr = 0x1080; addr < 0x1100; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[addr & 0x007F]; - access.codeAccessBase = &myCodeAccessBase[0x80 + (addr & 0x007F)]; + access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; mySystem->setPageAccess(addr, access); } @@ -127,7 +127,7 @@ bool CartridgeF4SC::bank(uInt16 bank) for(uInt16 addr = (0x1FF4 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -136,7 +136,7 @@ bool CartridgeF4SC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF6.cxx b/src/emucore/CartF6.cxx index a5ed70ce3..8bf672695 100644 --- a/src/emucore/CartF6.cxx +++ b/src/emucore/CartF6.cxx @@ -25,7 +25,7 @@ CartridgeF6::CartridgeF6(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -128,7 +128,7 @@ bool CartridgeF6::bank(uInt16 bank) for(uInt16 addr = (0x1FF6 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -137,7 +137,7 @@ bool CartridgeF6::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF6SC.cxx b/src/emucore/CartF6SC.cxx index 513560824..dbcd4c340 100644 --- a/src/emucore/CartF6SC.cxx +++ b/src/emucore/CartF6SC.cxx @@ -25,7 +25,7 @@ CartridgeF6SC::CartridgeF6SC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -51,7 +51,7 @@ void CartridgeF6SC::install(System& system) access.type = System::PageAccessType::WRITE; for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[addr & 0x007F]; + access.romAccessBase = &myRomAccessBase[addr & 0x007F]; mySystem->setPageAccess(addr, access); } @@ -60,7 +60,7 @@ void CartridgeF6SC::install(System& system) for(uInt16 addr = 0x1080; addr < 0x1100; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[addr & 0x007F]; - access.codeAccessBase = &myCodeAccessBase[0x80 + (addr & 0x007F)]; + access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; mySystem->setPageAccess(addr, access); } @@ -167,7 +167,7 @@ bool CartridgeF6SC::bank(uInt16 bank) for(uInt16 addr = (0x1FF6 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -176,7 +176,7 @@ bool CartridgeF6SC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF8.cxx b/src/emucore/CartF8.cxx index 34e8ae7d7..cde6d47f0 100644 --- a/src/emucore/CartF8.cxx +++ b/src/emucore/CartF8.cxx @@ -25,7 +25,7 @@ CartridgeF8::CartridgeF8(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -109,7 +109,7 @@ bool CartridgeF8::bank(uInt16 bank) for(uInt16 addr = (0x1FF8 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -118,7 +118,7 @@ bool CartridgeF8::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF8SC.cxx b/src/emucore/CartF8SC.cxx index d07cf9cb7..549fbea35 100644 --- a/src/emucore/CartF8SC.cxx +++ b/src/emucore/CartF8SC.cxx @@ -25,7 +25,7 @@ CartridgeF8SC::CartridgeF8SC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -51,7 +51,7 @@ void CartridgeF8SC::install(System& system) access.type = System::PageAccessType::WRITE; for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[addr & 0x007F]; + access.romAccessBase = &myRomAccessBase[addr & 0x007F]; mySystem->setPageAccess(addr, access); } @@ -60,7 +60,7 @@ void CartridgeF8SC::install(System& system) for(uInt16 addr = 0x1080; addr < 0x1100; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[addr & 0x007F]; - access.codeAccessBase = &myCodeAccessBase[0x80 + (addr & 0x007F)]; + access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; mySystem->setPageAccess(addr, access); } @@ -147,7 +147,7 @@ bool CartridgeF8SC::bank(uInt16 bank) for(uInt16 addr = (0x1FF8 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -156,7 +156,7 @@ bool CartridgeF8SC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartFA.cxx b/src/emucore/CartFA.cxx index eeef63016..e06b869b6 100644 --- a/src/emucore/CartFA.cxx +++ b/src/emucore/CartFA.cxx @@ -25,7 +25,7 @@ CartridgeFA::CartridgeFA(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -51,7 +51,7 @@ void CartridgeFA::install(System& system) access.type = System::PageAccessType::WRITE; for(uInt16 addr = 0x1000; addr < 0x1100; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[addr & 0x00FF]; + access.romAccessBase = &myRomAccessBase[addr & 0x00FF]; mySystem->setPageAccess(addr, access); } @@ -60,7 +60,7 @@ void CartridgeFA::install(System& system) for(uInt16 addr = 0x1100; addr < 0x1200; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[addr & 0x00FF]; - access.codeAccessBase = &myCodeAccessBase[0x100 + (addr & 0x00FF)]; + access.romAccessBase = &myRomAccessBase[0x100 + (addr & 0x00FF)]; mySystem->setPageAccess(addr, access); } @@ -157,7 +157,7 @@ bool CartridgeFA::bank(uInt16 bank) for(uInt16 addr = (0x1FF8 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -166,7 +166,7 @@ bool CartridgeFA::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartFA2.cxx b/src/emucore/CartFA2.cxx index ce83f4c78..e6325e9ac 100644 --- a/src/emucore/CartFA2.cxx +++ b/src/emucore/CartFA2.cxx @@ -35,7 +35,7 @@ CartridgeFA2::CartridgeFA2(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(img_ptr, mySize, myImage.begin()); - createCodeAccessBase(mySize); + createRomAccessBase(mySize); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -61,7 +61,7 @@ void CartridgeFA2::install(System& system) access.type = System::PageAccessType::WRITE; for(uInt16 addr = 0x1000; addr < 0x1100; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[addr & 0x00FF]; + access.romAccessBase = &myRomAccessBase[addr & 0x00FF]; mySystem->setPageAccess(addr, access); } @@ -71,7 +71,7 @@ void CartridgeFA2::install(System& system) for(uInt16 addr = 0x1100; addr < 0x1200; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[addr & 0x00FF]; - access.codeAccessBase = &myCodeAccessBase[0x100 + (addr & 0x00FF)]; + access.romAccessBase = &myRomAccessBase[0x100 + (addr & 0x00FF)]; mySystem->setPageAccess(addr, access); } @@ -222,7 +222,7 @@ bool CartridgeFA2::bank(uInt16 bank) for(uInt16 addr = (0x1FF4 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -231,7 +231,7 @@ bool CartridgeFA2::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartFC.cxx b/src/emucore/CartFC.cxx index 251ea5a30..5195e499e 100644 --- a/src/emucore/CartFC.cxx +++ b/src/emucore/CartFC.cxx @@ -26,7 +26,7 @@ CartridgeFC::CartridgeFC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -113,7 +113,7 @@ bool CartridgeFC::bank(uInt16 bank) for (uInt16 addr = (0x1FF8 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } @@ -122,7 +122,7 @@ bool CartridgeFC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } myCurrentBank = myTargetBank; diff --git a/src/emucore/CartFE.cxx b/src/emucore/CartFE.cxx index 454cf4427..de5c088e9 100644 --- a/src/emucore/CartFE.cxx +++ b/src/emucore/CartFE.cxx @@ -26,7 +26,7 @@ CartridgeFE::CartridgeFE(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartMDM.cxx b/src/emucore/CartMDM.cxx index da6ddbf3a..6eaacee0b 100644 --- a/src/emucore/CartMDM.cxx +++ b/src/emucore/CartMDM.cxx @@ -29,7 +29,7 @@ CartridgeMDM::CartridgeMDM(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createCodeAccessBase(mySize); + createRomAccessBase(mySize); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -111,7 +111,7 @@ bool CartridgeMDM::bank(uInt16 bank) for(uInt16 addr = 0x1000; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } diff --git a/src/emucore/CartMNetwork.cxx b/src/emucore/CartMNetwork.cxx index b433c4d72..9c3213292 100644 --- a/src/emucore/CartMNetwork.cxx +++ b/src/emucore/CartMNetwork.cxx @@ -34,7 +34,7 @@ void CartridgeMNetwork::initialize(const ByteBuffer& image, size_t size) // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(romSize(), size), myImage.get()); - createCodeAccessBase(romSize() + myRAM.size()); + createRomAccessBase(romSize() + myRAM.size()); myRAMSlice = bankCount() - 1; } @@ -70,7 +70,7 @@ void CartridgeMNetwork::setAccess(uInt16 addrFrom, uInt16 size, access.directPeekBase = &directData[directOffset + (addr & addrMask)]; else if(type == System::PageAccessType::WRITE) // all RAM writes mapped to ::poke() access.directPokeBase = nullptr; - access.codeAccessBase = &myCodeAccessBase[codeOffset + (addr & addrMask)]; + access.romAccessBase = &myRomAccessBase[codeOffset + (addr & addrMask)]; mySystem->setPageAccess(addr, access); } } @@ -86,7 +86,7 @@ void CartridgeMNetwork::install(System& system) for(uInt16 addr = (0x1FE0 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[0x1fc0]; + access.romAccessBase = &myRomAccessBase[0x1fc0]; mySystem->setPageAccess(addr, access); } /*setAccess(0x1FE0 & ~System::PAGE_MASK, System::PAGE_SIZE, diff --git a/src/emucore/CartSB.cxx b/src/emucore/CartSB.cxx index 796ecfcdf..db8d4a051 100644 --- a/src/emucore/CartSB.cxx +++ b/src/emucore/CartSB.cxx @@ -29,7 +29,7 @@ CartridgeSB::CartridgeSB(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createCodeAccessBase(mySize); + createRomAccessBase(mySize); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -121,7 +121,7 @@ bool CartridgeSB::bank(uInt16 bank) for(uInt16 addr = 0x1000; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartUA.cxx b/src/emucore/CartUA.cxx index b9de6bf4b..b0643cf97 100644 --- a/src/emucore/CartUA.cxx +++ b/src/emucore/CartUA.cxx @@ -27,7 +27,7 @@ CartridgeUA::CartridgeUA(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -135,7 +135,7 @@ bool CartridgeUA::bank(uInt16 bank) for(uInt16 addr = 0x1000; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartWD.cxx b/src/emucore/CartWD.cxx index d6b2bc239..2a6ea653a 100644 --- a/src/emucore/CartWD.cxx +++ b/src/emucore/CartWD.cxx @@ -37,7 +37,7 @@ CartridgeWD::CartridgeWD(const ByteBuffer& image, size_t size, } else std::copy_n(image.get(), mySize, myImage.begin()); - createCodeAccessBase(8_KB); + createRomAccessBase(8_KB); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -63,7 +63,7 @@ void CartridgeWD::install(System& system) for(uInt16 addr = 0x1000; addr < 0x1040; addr += System::PAGE_SIZE) { read.directPeekBase = &myRAM[addr & 0x003F]; - read.codeAccessBase = &myCodeAccessBase[addr & 0x003F]; + read.romAccessBase = &myRomAccessBase[addr & 0x003F]; mySystem->setPageAccess(addr, read); } @@ -73,7 +73,7 @@ void CartridgeWD::install(System& system) System::PageAccess write(this, System::PageAccessType::WRITE); for(uInt16 addr = 0x1040; addr < 0x1080; addr += System::PAGE_SIZE) { - write.codeAccessBase = &myCodeAccessBase[addr & 0x003F]; + write.romAccessBase = &myRomAccessBase[addr & 0x003F]; mySystem->setPageAccess(addr, write); } @@ -177,7 +177,7 @@ void CartridgeWD::segmentZero(uInt8 slice) // Skip first 128 bytes; it is always RAM for(uInt16 addr = 0x1080; addr < 0x1400; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[offset + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } myOffset[0] = offset; @@ -191,7 +191,7 @@ void CartridgeWD::segmentOne(uInt8 slice) for(uInt16 addr = 0x1400; addr < 0x1800; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[offset + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } myOffset[1] = offset; @@ -205,7 +205,7 @@ void CartridgeWD::segmentTwo(uInt8 slice) for(uInt16 addr = 0x1800; addr < 0x1C00; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[offset + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } myOffset[2] = offset; @@ -225,7 +225,7 @@ void CartridgeWD::segmentThree(uInt8 slice) for(uInt16 addr = 0x1C00; addr < 0x2000; addr += System::PAGE_SIZE) { - access.codeAccessBase = &myCodeAccessBase[offset + (addr & 0x03FF)]; + access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; mySystem->setPageAccess(addr, access); } myOffset[3] = offset; diff --git a/src/emucore/CartX07.cxx b/src/emucore/CartX07.cxx index 0e0bb2869..a58b97abb 100644 --- a/src/emucore/CartX07.cxx +++ b/src/emucore/CartX07.cxx @@ -27,7 +27,7 @@ CartridgeX07::CartridgeX07(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createCodeAccessBase(myImage.size()); + createRomAccessBase(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -115,7 +115,7 @@ bool CartridgeX07::bank(uInt16 bank) for(uInt16 addr = 0x1000; addr < 0x2000; addr += System::PAGE_SIZE) { access.directPeekBase = &myImage[offset + (addr & 0x0FFF)]; - access.codeAccessBase = &myCodeAccessBase[offset + (addr & 0x0FFF)]; + access.romAccessBase = &myRomAccessBase[offset + (addr & 0x0FFF)]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/System.cxx b/src/emucore/System.cxx index 2fa33a201..f11a05fe4 100644 --- a/src/emucore/System.cxx +++ b/src/emucore/System.cxx @@ -105,8 +105,8 @@ uInt8 System::peek(uInt16 addr, Device::AccessFlags flags) #ifdef DEBUGGER_SUPPORT // Set access type - if(access.codeAccessBase) - *(access.codeAccessBase + (addr & PAGE_MASK)) |= flags; + if(access.romAccessBase) + *(access.romAccessBase + (addr & PAGE_MASK)) |= flags; else access.device->setAccessFlags(addr, flags); #endif @@ -134,8 +134,8 @@ void System::poke(uInt16 addr, uInt8 value, Device::AccessFlags flags) #ifdef DEBUGGER_SUPPORT // Set access type - if (access.codeAccessBase) - *(access.codeAccessBase + (addr & PAGE_MASK)) |= flags; + if (access.romAccessBase) + *(access.romAccessBase + (addr & PAGE_MASK)) |= flags; else access.device->setAccessFlags(addr, flags); #endif @@ -165,8 +165,8 @@ Device::AccessFlags System::getAccessFlags(uInt16 addr) const { const PageAccess& access = getPageAccess(addr); - if(access.codeAccessBase) - return *(access.codeAccessBase + (addr & PAGE_MASK)); + if(access.romAccessBase) + return *(access.romAccessBase + (addr & PAGE_MASK)); else return access.device->getAccessFlags(addr); } @@ -176,8 +176,8 @@ void System::setAccessFlags(uInt16 addr, Device::AccessFlags flags) { const PageAccess& access = getPageAccess(addr); - if(access.codeAccessBase) - *(access.codeAccessBase + (addr & PAGE_MASK)) |= flags; + if(access.romAccessBase) + *(access.romAccessBase + (addr & PAGE_MASK)) |= flags; else access.device->setAccessFlags(addr, flags); } diff --git a/src/emucore/System.hxx b/src/emucore/System.hxx index 1262b6ad3..b400b1cdb 100644 --- a/src/emucore/System.hxx +++ b/src/emucore/System.hxx @@ -273,13 +273,17 @@ class System : public Serializable uInt8* directPokeBase{nullptr}; /** - Pointer to a lookup table for marking an address as CODE. A CODE - section is defined as any address that appears in the program + Pointer to a lookup table for marking an address as CODE, DATA, GFX, + COL etc. + A CODE section is defined as any address that appears in the program counter. Currently, this is used by the debugger/disassembler to conclusively determine if a section of address space is CODE, even if the disassembler failed to mark it as such. + A DATA, GFX, COL etc. section is defined as any ROM address from which + data is read. This is used by the debugger/disassembler to format + address sections accordingly. */ - Device::AccessFlags* codeAccessBase{nullptr}; + Device::AccessFlags* romAccessBase{nullptr}; /** Pointer to the device associated with this page or to the system's From f48a96356f4df2f0be0b7d80516957588662fd3e Mon Sep 17 00:00:00 2001 From: thrust26 Date: Mon, 30 Mar 2020 09:52:56 +0200 Subject: [PATCH 52/80] fix color value disassembly add ORG/RORG for multi-bank ROM disassembly --- src/debugger/CartDebug.cxx | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 89fad0d1b..aa0a3136b 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -1024,11 +1024,6 @@ string CartDebug::saveDisassembly() // We can't print the header to the disassembly until it's actually // been processed; therefore buffer output to a string first ostringstream buf; - buf << "\n\n;***********************************************************\n" - << "; Bank " << myConsole.cartridge().getBank(); - if (myConsole.cartridge().bankCount() > 1) - buf << " / 0.." << myConsole.cartridge().bankCount() - 1; - buf << "\n;***********************************************************\n\n"; // Use specific settings for disassembly output // This will most likely differ from what you see in the debugger @@ -1044,13 +1039,23 @@ string CartDebug::saveDisassembly() Disassembly disasm; disasm.list.reserve(2048); - for(int bank = 0; bank < myConsole.cartridge().bankCount(); ++bank) + uInt16 bankCount = myConsole.cartridge().bankCount(); + + for(int bank = 0; bank < bankCount; ++bank) { BankInfo& info = myBankInfo[bank]; + // An empty address list means that DiStella can't do a disassembly if(info.addressList.size() == 0) continue; + buf << "\n\n;***********************************************************\n" + << "; Bank " << bank; + if (bankCount > 1) + buf << " / 0.." << bankCount - 1; + buf << "\n;***********************************************************\n\n"; + + // Disassemble bank disasm.list.clear(); DiStella distella(*this, disasm.list, info, settings, @@ -1059,8 +1064,13 @@ string CartDebug::saveDisassembly() if (myReserved.breakFound) addLabel("Break", myDebugger.dpeek(0xfffe)); - buf << " SEG CODE\n" - << " ORG $" << Base::HEX4 << info.offset << "\n\n"; + buf << " SEG CODE\n"; + + if(bankCount == 1) + buf << " ORG $" << Base::HEX4 << info.offset << "\n\n"; + else + buf << " ORG $" << Base::HEX4 << ((0x0000 + bank * 0x1000) & 0xffff) << "\n" + << " RORG $" << Base::HEX4 << info.offset << "\n\n"; // Format in 'distella' style for(uInt32 i = 0; i < disasm.list.size(); ++i) @@ -1101,15 +1111,15 @@ string CartDebug::saveDisassembly() break; case Device::COL: - buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (C)"; + buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 15) << "; $" << Base::HEX4 << tag.address << " (C)"; break; case Device::PCOL: - buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (CP)"; + buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 15) << "; $" << Base::HEX4 << tag.address << " (CP)"; break; case Device::BCOL: - buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 12) << "; $" << Base::HEX4 << tag.address << " (CB)"; + buf << ".byte " << ALIGN(32) << tag.disasm.substr(6, 15) << "; $" << Base::HEX4 << tag.address << " (CB)"; break; case Device::AUD: From 45758ad5b5164b5d47f9e5d51c72c749819858c5 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Mon, 30 Mar 2020 12:20:59 +0200 Subject: [PATCH 53/80] some progress with multi-bank games disassembly (it now works, but still requires a bit of manual action before) --- src/debugger/CartDebug.cxx | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index aa0a3136b..d3676e048 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -86,7 +86,7 @@ CartDebug::CartDebug(Debugger& dbg, Console& console, const OSystem& osystem) // We know the address for the startup bank right now myBankInfo[myConsole.cartridge().startBank()].addressList.push_front( myDebugger.dpeek(0xfffc)); - addLabel("Start", myDebugger.dpeek(0xfffc, Device::DATA)); + addLabel("Start", myDebugger.dpeek(0xfffc, Device::DATA)); // TOOD: ::CODE??? // Add system equates for(uInt16 addr = 0x00; addr <= 0x0F; ++addr) @@ -1040,11 +1040,26 @@ string CartDebug::saveDisassembly() Disassembly disasm; disasm.list.reserve(2048); uInt16 bankCount = myConsole.cartridge().bankCount(); + uInt16 oldBank = myConsole.cartridge().getBank(); + + // prepare for switching banks + myConsole.cartridge().unlockBank(); // TODO: make sure every CartWidget does it like that, + // maybe define a commonly used method. for(int bank = 0; bank < bankCount; ++bank) { + myConsole.cartridge().bank(bank); + BankInfo& info = myBankInfo[bank]; + // TODO: we have to get the bank disassembled if it had not been debugged before. + // If the debugger is stopped at least once in each bank, the disassembly is mostly* correct. + // So we have to replicate that. + // (* Beamrider is 100% identical, Asteroids has some bytes after the hotspot wrong) + // One problem seems to be, that we do not know where to start. There is no valid addressList + // list for a non-debugged bank. + //disassemble(); // DOES NOT WORK YET!!! (makes it even worse!) + // An empty address list means that DiStella can't do a disassembly if(info.addressList.size() == 0) continue; @@ -1137,6 +1152,8 @@ string CartDebug::saveDisassembly() buf << "\n"; } } + myConsole.cartridge().bank(oldBank); + myConsole.cartridge().lockBank(); // Some boilerplate, similar to what DiStella adds auto timeinfo = BSPF::localTime(); From 6e5a162a1890d3d9562e58b916a0a387616b1b82 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Mon, 30 Mar 2020 23:01:15 +0200 Subject: [PATCH 54/80] enhance debugger disassemblies, 'savedis' now allows multi-bank ROMs --- src/debugger/CartDebug.cxx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index d3676e048..9e8fc88b6 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -1043,22 +1043,19 @@ string CartDebug::saveDisassembly() uInt16 oldBank = myConsole.cartridge().getBank(); // prepare for switching banks - myConsole.cartridge().unlockBank(); // TODO: make sure every CartWidget does it like that, - // maybe define a commonly used method. + myConsole.cartridge().unlockBank(); for(int bank = 0; bank < bankCount; ++bank) { + // TODO: not every CartDebugWidget does it like that, we need a method + myConsole.cartridge().unlockBank(); myConsole.cartridge().bank(bank); + myConsole.cartridge().lockBank(); BankInfo& info = myBankInfo[bank]; - // TODO: we have to get the bank disassembled if it had not been debugged before. - // If the debugger is stopped at least once in each bank, the disassembly is mostly* correct. - // So we have to replicate that. - // (* Beamrider is 100% identical, Asteroids has some bytes after the hotspot wrong) - // One problem seems to be, that we do not know where to start. There is no valid addressList - // list for a non-debugged bank. - //disassemble(); // DOES NOT WORK YET!!! (makes it even worse!) + // TODO: make PageAccess ready for multi-bank ROMs + disassemble(); // An empty address list means that DiStella can't do a disassembly if(info.addressList.size() == 0) @@ -1152,6 +1149,7 @@ string CartDebug::saveDisassembly() buf << "\n"; } } + myConsole.cartridge().unlockBank(); myConsole.cartridge().bank(oldBank); myConsole.cartridge().lockBank(); @@ -1310,7 +1308,7 @@ string CartDebug::saveDisassembly() stringstream retVal; if(myConsole.cartridge().bankCount() > 1) - retVal << DebuggerParser::red("disassembly for multi-bank ROM not fully supported, only currently enabled banks disassembled\n"); + retVal << DebuggerParser::red("disassembly for multi-bank ROM not fully supported\n"); retVal << "saved " << node.getShortPath() << " OK"; return retVal.str(); } From 4d99bca2cdfa64e6d6959a0060361f2aa119e6d1 Mon Sep 17 00:00:00 2001 From: Christian Speckner Date: Tue, 31 Mar 2020 00:46:20 +0200 Subject: [PATCH 55/80] Fix snapshots on retina displays. --- src/common/FrameBufferSDL2.hxx | 4 ++-- src/common/PNGLibrary.cxx | 9 ++++++++- src/emucore/FrameBuffer.hxx | 10 ++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/common/FrameBufferSDL2.hxx b/src/common/FrameBufferSDL2.hxx index 64803e6bb..857891685 100644 --- a/src/common/FrameBufferSDL2.hxx +++ b/src/common/FrameBufferSDL2.hxx @@ -137,12 +137,12 @@ class FrameBufferSDL2 : public FrameBuffer /** Transform from window to renderer coordinates, x direction */ - int scaleX(int x) const { return (x * myRenderW) / myWindowW; } + int scaleX(int x) const override { return (x * myRenderW) / myWindowW; } /** Transform from window to renderer coordinates, y direction */ - int scaleY(int y) const { return (y * myRenderH) / myWindowH; } + int scaleY(int y) const override { return (y * myRenderH) / myWindowH; } protected: ////////////////////////////////////////////////////////////////////// diff --git a/src/common/PNGLibrary.cxx b/src/common/PNGLibrary.cxx index 779f6b0f6..e1980a975 100644 --- a/src/common/PNGLibrary.cxx +++ b/src/common/PNGLibrary.cxx @@ -29,6 +29,7 @@ #include "TIASurface.hxx" #include "Version.hxx" #include "PNGLibrary.hxx" +#include "Rect.hxx" // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PNGLibrary::PNGLibrary(OSystem& osystem) @@ -129,7 +130,13 @@ void PNGLibrary::saveImage(const string& filename, const VariantList& comments) throw runtime_error("ERROR: Couldn't create snapshot file"); const FrameBuffer& fb = myOSystem.frameBuffer(); - const Common::Rect& rect = fb.imageRect(); + + const Common::Rect& rectUnscaled = fb.imageRect(); + const Common::Rect rect( + Common::Point(fb.scaleX(rectUnscaled.x()), fb.scaleY(rectUnscaled.y())), + fb.scaleX(rectUnscaled.w()), fb.scaleY(rectUnscaled.h()) + ); + png_uint_32 width = rect.w(), height = rect.h(); // Get framebuffer pixel data (we get ABGR format) diff --git a/src/emucore/FrameBuffer.hxx b/src/emucore/FrameBuffer.hxx index ce215345a..67628ee84 100644 --- a/src/emucore/FrameBuffer.hxx +++ b/src/emucore/FrameBuffer.hxx @@ -381,6 +381,16 @@ class FrameBuffer */ virtual void clear() = 0; + /** + Transform from window to renderer coordinates, x direction + */ + virtual int scaleX(int x) const { return x; } + + /** + Transform from window to renderer coordinates, y direction + */ + virtual int scaleY(int y) const { return y; } + protected: /** This method is called to query and initialize the video hardware From 32cd6e2a5becb82870415b53fea5871a05cc22ef Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Mon, 30 Mar 2020 21:20:19 -0230 Subject: [PATCH 56/80] Updated changelog, before we forget about the details. --- Changes.txt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Changes.txt b/Changes.txt index 0b2e20aa0..8228ec3a2 100644 --- a/Changes.txt +++ b/Changes.txt @@ -20,10 +20,18 @@ a game. This allows the user to save high scores for these games. For each game and variation, the top 10 scores can be saved. (TOOD: Doc) - * Added displaying last write address in debugger. + * Added displaying last write address in the debugger. * Added detection of color and audio data in DiStella. + * Fix snapshots on Retina HiDPI displays capturing only the top-left corner. + + * Fixed wrong color for BK (background) swatch in the debugger. + + * Fixed compilation of libretro port on Debian Buster. + +-Have fun! + 6.0.2 to 6.1: (March 22, 2020) @@ -214,8 +222,6 @@ * Updated UNIX configure script to work with the gcc version 10 and above. --Have fun! - 6.0.1 to 6.0.2: (October 11, 2019) From cae2266df0ea6143c8c5997177f65317930e7c3d Mon Sep 17 00:00:00 2001 From: thrust26 Date: Tue, 31 Mar 2020 18:12:38 +0200 Subject: [PATCH 57/80] Enhance disassembly (determine correct bank offset, preliminary solution for simple 4K bankswitching, e.g. standard Atari) --- src/debugger/CartDebug.cxx | 54 ++++++++++++++++++++++++++++++++++---- src/debugger/CartDebug.hxx | 36 ++++++++++++++----------- src/debugger/DiStella.cxx | 6 ++--- src/emucore/Device.hxx | 22 +++++++++------- src/emucore/System.cxx | 8 +++--- 5 files changed, 89 insertions(+), 37 deletions(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 9e8fc88b6..89c3d94d0 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -238,11 +238,51 @@ string CartDebug::toString() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartDebug::disassemble(bool force) +{ + uInt16 PC = myDebugger.cpuDebug().pc(); + int bank = (PC & 0x1000) ? getBank(PC) : int(myBankInfo.size()) - 1; + + return disassemble(bank, PC, force); +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartDebug::disassembleBank(int bank) +{ + // isolate the high 3 address bits, count them and + // select the most frequent to define the bank offset + BankInfo& info = myBankInfo[bank]; + uInt16 count[8]; + + for(int i = 0; i < 8; ++i) + count[i] = 0; + + for(uInt32 addr = 0x1000; addr < 0x1000 + info.size; ++addr) + { + Device::AccessFlags flags = mySystem.getAccessFlags(addr); + // only count really accessed addresses + if (flags & ~Device::ROW) + count[(flags & Device::HADDR) >> 13]++; + } + uInt16 max = 0, maxIdx = 0; + for(int idx = 0; idx < 8; ++idx) + { + if(count[idx] > max) + { + max = count[idx]; + maxIdx = idx; + } + } + info.offset = maxIdx << 13 | 0x1000; + + return disassemble(bank, info.offset, true); +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +bool CartDebug::disassemble(int bank, uInt16 PC, bool force) { // Test current disassembly; don't re-disassemble if it hasn't changed // Also check if the current PC is in the current list bool bankChanged = myConsole.cartridge().bankChanged(); - uInt16 PC = myDebugger.cpuDebug().pc(); int pcline = addressToLine(PC); bool pcfound = (pcline != -1) && (uInt32(pcline) < myDisassembly.list.size()) && (myDisassembly.list[pcline].disasm[0] != '.'); @@ -254,8 +294,9 @@ bool CartDebug::disassemble(bool force) if(changed) { // Are we disassembling from ROM or ZP RAM? - BankInfo& info = (PC & 0x1000) ? myBankInfo[getBank(PC)] : - myBankInfo[myBankInfo.size()-1]; + BankInfo& info = myBankInfo[bank]; + //(PC & 0x1000) ? myBankInfo[getBank(PC)] : + //myBankInfo[myBankInfo.size()-1]; // If the offset has changed, all old addresses must be 'converted' // For example, if the list contains any $fxxx and the address space is now @@ -1044,6 +1085,7 @@ string CartDebug::saveDisassembly() // prepare for switching banks myConsole.cartridge().unlockBank(); + uInt32 origin = 0; for(int bank = 0; bank < bankCount; ++bank) { @@ -1055,7 +1097,8 @@ string CartDebug::saveDisassembly() BankInfo& info = myBankInfo[bank]; // TODO: make PageAccess ready for multi-bank ROMs - disassemble(); + // TODO: define offset if still undefined + disassembleBank(bank); // An empty address list means that DiStella can't do a disassembly if(info.addressList.size() == 0) @@ -1081,8 +1124,9 @@ string CartDebug::saveDisassembly() if(bankCount == 1) buf << " ORG $" << Base::HEX4 << info.offset << "\n\n"; else - buf << " ORG $" << Base::HEX4 << ((0x0000 + bank * 0x1000) & 0xffff) << "\n" + buf << " ORG $" << Base::HEX4 << origin << "\n" << " RORG $" << Base::HEX4 << info.offset << "\n\n"; + origin += info.size; // Format in 'distella' style for(uInt32 i = 0; i < disasm.list.size(); ++i) diff --git a/src/debugger/CartDebug.hxx b/src/debugger/CartDebug.hxx index c6ba615b5..327450560 100644 --- a/src/debugger/CartDebug.hxx +++ b/src/debugger/CartDebug.hxx @@ -94,23 +94,16 @@ class CartDebug : public DebuggerSystem // Return the base (= non-mirrored) address of the last CPU write int lastWriteBaseAddress(); - // The following two methods are meant to be used together - // First, a call is made to disassemble(), which updates the disassembly - // list; it will figure out when an actual complete disassembly is - // required, and when the previous results can be used - // - // Later, successive calls to disassemblyList() simply return the - // previous results; no disassembly is done in this case - /** - Disassemble from the given address using the Distella disassembler - Address-to-label mappings (and vice-versa) are also determined here - - @param force Force a re-disassembly, even if the state hasn't changed - - @return True if disassembly changed from previous call, else false - */ + // TODO bool disassemble(bool force = false); + bool disassembleBank(int bank); + // First, a call is made to disassemble(), which updates the disassembly + // list, is required; it will figure out when an actual complete + // disassembly is required, and when the previous results can be used + // + // Later, successive calls to disassembly() simply return the + // previous results; no disassembly is done in this case /** Get the results from the most recent call to disassemble() */ @@ -278,6 +271,19 @@ class CartDebug : public DebuggerSystem }; ReservedEquates myReserved; + /** + Disassemble from the given address using the Distella disassembler + Address-to-label mappings (and vice-versa) are also determined here + + @param bank The current bank to disassemble + @param PC A program counter to start with + @param force Force a re-disassembly, even if the state hasn't changed + + @return True if disassembly changed from previous call, else false + */ + bool disassemble(int bank, uInt16 PC, bool force = false); + + // Actually call DiStella to fill the DisassemblyList structure // Return whether the search address was actually in the list bool fillDisassemblyList(BankInfo& bankinfo, uInt16 search); diff --git a/src/debugger/DiStella.cxx b/src/debugger/DiStella.cxx index 2aa304ac6..8aff0b568 100644 --- a/src/debugger/DiStella.cxx +++ b/src/debugger/DiStella.cxx @@ -969,9 +969,9 @@ bool DiStella::checkBit(uInt16 address, uInt16 mask, bool useDebugger) const // Since they're set only in the labels array (as the lower two bits), // they must be included in the other bitfields uInt16 label = myLabels[address & myAppData.end], - lastbits = label & 0x03, - directive = myDirectives[address & myAppData.end] & ~0x03, - debugger = Debugger::debugger().getAccessFlags(address | myOffset) & ~0x03; + lastbits = label & (Device::REFERENCED | Device::VALID_ENTRY), + directive = myDirectives[address & myAppData.end] & ~(Device::REFERENCED | Device::VALID_ENTRY), + debugger = Debugger::debugger().getAccessFlags(address | myOffset) & ~(Device::REFERENCED | Device::VALID_ENTRY); // Any address marked by a manual directive always takes priority if (directive) diff --git a/src/emucore/Device.hxx b/src/emucore/Device.hxx index d8b9cbaa9..ecb857e21 100644 --- a/src/emucore/Device.hxx +++ b/src/emucore/Device.hxx @@ -44,18 +44,20 @@ class Device : public Serializable // The following correspond to specific types that can be set within the // debugger, or specified in a Distella cfg file, and are listed in order - // of decreasing hierarchy + // of increasing hierarchy // - CODE = 1 << 11, // 0x800, disassemble-able code segments - TCODE = 1 << 10, // 0x400, (tentative) disassemble-able code segments - GFX = 1 << 9, // 0x200, addresses loaded into GRPx registers - PGFX = 1 << 8, // 0x100, addresses loaded into PFx registers - COL = 1 << 7, // 0x080, addresses loaded into COLUPx registers - PCOL = 1 << 6, // 0x040, addresses loaded into COLUPF register - BCOL = 1 << 5, // 0x020, addresses loaded into COLUBK register - AUD = 1 << 4, // 0x010, addresses loaded into audio registers - DATA = 1 << 3, // 0x008, addresses loaded into registers other than GRPx / PFx / COLUxx, AUDxx ROW = 1 << 2, // 0x004, all other addresses + DATA = 1 << 3, // 0x008, addresses loaded into registers other than GRPx / PFx / COLUxx, AUDxx + AUD = 1 << 4, // 0x010, addresses loaded into audio registers + BCOL = 1 << 5, // 0x020, addresses loaded into COLUBK register + PCOL = 1 << 6, // 0x040, addresses loaded into COLUPF register + COL = 1 << 7, // 0x080, addresses loaded into COLUPx registers + PGFX = 1 << 8, // 0x100, addresses loaded into PFx registers + GFX = 1 << 9, // 0x200, addresses loaded into GRPx registers + TCODE = 1 << 10, // 0x400, (tentative) disassemble-able code segments + CODE = 1 << 11, // 0x800, disassemble-able code segments + // special bits for address + HADDR = 1 << 13 | 1 << 14 | 1 << 15, // 0xe000, // highest 3 address bits // special type for poke() WRITE = TCODE // 0x200, address written to }; diff --git a/src/emucore/System.cxx b/src/emucore/System.cxx index f11a05fe4..c94f465fd 100644 --- a/src/emucore/System.cxx +++ b/src/emucore/System.cxx @@ -106,7 +106,7 @@ uInt8 System::peek(uInt16 addr, Device::AccessFlags flags) #ifdef DEBUGGER_SUPPORT // Set access type if(access.romAccessBase) - *(access.romAccessBase + (addr & PAGE_MASK)) |= flags; + *(access.romAccessBase + (addr & PAGE_MASK)) |= (flags | (addr & Device::HADDR)); else access.device->setAccessFlags(addr, flags); #endif @@ -134,8 +134,8 @@ void System::poke(uInt16 addr, uInt8 value, Device::AccessFlags flags) #ifdef DEBUGGER_SUPPORT // Set access type - if (access.romAccessBase) - *(access.romAccessBase + (addr & PAGE_MASK)) |= flags; + if(access.romAccessBase) + *(access.romAccessBase + (addr & PAGE_MASK)) |= (flags | (addr & Device::HADDR)); else access.device->setAccessFlags(addr, flags); #endif @@ -177,7 +177,7 @@ void System::setAccessFlags(uInt16 addr, Device::AccessFlags flags) const PageAccess& access = getPageAccess(addr); if(access.romAccessBase) - *(access.romAccessBase + (addr & PAGE_MASK)) |= flags; + *(access.romAccessBase + (addr & PAGE_MASK)) |= (flags | (addr & Device::HADDR)); else access.device->setAccessFlags(addr, flags); } From 2de1e709415b38a4385231b773a02574100bd2bb Mon Sep 17 00:00:00 2001 From: thrust26 Date: Tue, 31 Mar 2020 18:35:51 +0200 Subject: [PATCH 58/80] fix last commit --- src/debugger/CartDebug.cxx | 6 ++---- src/debugger/CartDebug.hxx | 2 +- src/debugger/DebuggerParser.cxx | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 89c3d94d0..daeee9f72 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -385,7 +385,7 @@ int CartDebug::addressToLine(uInt16 address) const } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -string CartDebug::disassemble(uInt16 start, uInt16 lines) const +string CartDebug::disassembleLines(uInt16 start, uInt16 lines) const { // Fill the string with disassembled data start &= 0xFFF; @@ -1096,8 +1096,6 @@ string CartDebug::saveDisassembly() BankInfo& info = myBankInfo[bank]; - // TODO: make PageAccess ready for multi-bank ROMs - // TODO: define offset if still undefined disassembleBank(bank); // An empty address list means that DiStella can't do a disassembly @@ -1126,7 +1124,7 @@ string CartDebug::saveDisassembly() else buf << " ORG $" << Base::HEX4 << origin << "\n" << " RORG $" << Base::HEX4 << info.offset << "\n\n"; - origin += info.size; + origin += uInt32(info.size); // Format in 'distella' style for(uInt32 i = 0; i < disasm.list.size(); ++i) diff --git a/src/debugger/CartDebug.hxx b/src/debugger/CartDebug.hxx index 327450560..f0b4b49fe 100644 --- a/src/debugger/CartDebug.hxx +++ b/src/debugger/CartDebug.hxx @@ -127,7 +127,7 @@ class CartDebug : public DebuggerSystem @return The disassembly represented as a string */ - string disassemble(uInt16 start, uInt16 lines) const; + string disassembleLines(uInt16 start, uInt16 lines) const; /** Add a directive to the disassembler. Directives are basically overrides diff --git a/src/debugger/DebuggerParser.cxx b/src/debugger/DebuggerParser.cxx index 77032fd5f..fb905e8a5 100644 --- a/src/debugger/DebuggerParser.cxx +++ b/src/debugger/DebuggerParser.cxx @@ -1082,7 +1082,7 @@ void DebuggerParser::executeDisasm() return; } - commandResult << debugger.cartDebug().disassemble(start, lines); + commandResult << debugger.cartDebug().disassembleLines(start, lines); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 16a5bb2d1da29f0a31372af1132754317f5bea1d Mon Sep 17 00:00:00 2001 From: thrust26 Date: Tue, 31 Mar 2020 18:40:48 +0200 Subject: [PATCH 59/80] fix non-VS warning --- src/debugger/CartDebug.cxx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index daeee9f72..7e76d2dc1 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -1576,9 +1576,7 @@ void CartDebug::AccessTypeAsString(ostream& buf, Device::AccessType type) const case Device::AUD: buf << "AUD"; break; case Device::DATA: buf << "DATA"; break; case Device::ROW: buf << "ROW"; break; - case Device::REFERENCED: - case Device::VALID_ENTRY: - case Device::NONE: break; + default: break; } } From a6ac378554c96fe2da75cbd28b863ccb36c584f7 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Tue, 31 Mar 2020 18:25:25 -0230 Subject: [PATCH 60/80] Synchronize wil upcoming 6.1.1 release. --- Changes.txt | 10 +++++++--- debian/changelog | 7 +++++++ src/unix/stella.spec | 3 +++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Changes.txt b/Changes.txt index 8228ec3a2..8babda153 100644 --- a/Changes.txt +++ b/Changes.txt @@ -24,14 +24,18 @@ * Added detection of color and audio data in DiStella. - * Fix snapshots on Retina HiDPI displays capturing only the top-left corner. +-Have fun! + + +6.1 to 6.1.1: (April 4, 2020) + + * Fix snapshots on Retina HiDPI displays capturing only the top-left + corner. * Fixed wrong color for BK (background) swatch in the debugger. * Fixed compilation of libretro port on Debian Buster. --Have fun! - 6.0.2 to 6.1: (March 22, 2020) diff --git a/debian/changelog b/debian/changelog index 553ddda1b..af319a670 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +stella (6.1.1-1) stable; urgency=high + + * Version 6.1.1 release + + -- Stephen Anthony Sat, 04 Apr 2020 17:09:59 -0230 + + stella (6.1-1) stable; urgency=high * Version 6.1 release diff --git a/src/unix/stella.spec b/src/unix/stella.spec index 09d4d2827..a4236c38f 100644 --- a/src/unix/stella.spec +++ b/src/unix/stella.spec @@ -100,6 +100,9 @@ rm -rf $RPM_BUILD_DIR/%{name}-%{version} %_datadir/icons/large/%{name}.png %changelog +* Sat Apr 04 2020 Stephen Anthony 6.1.1-1 +- Version 6.1.1 release + * Sun Mar 22 2020 Stephen Anthony 6.1-1 - Version 6.1 release From 96131e2f7f08115a5b471911d552f8beb4975126 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Wed, 1 Apr 2020 11:06:03 +0200 Subject: [PATCH 61/80] first shot at #586 (Heat Map) (TODO: differentiate cartridge read/write access) add Cartridge::bankSize method (TODO: varying bank sizes) add Cartridge::bankOrigin detection method (TODO: banks smaller 4K) --- src/debugger/CartDebug.cxx | 54 +++++++++++------------- src/debugger/CartDebug.hxx | 5 +++ src/debugger/DebuggerParser.cxx | 20 ++++++++- src/debugger/DebuggerParser.hxx | 3 +- src/emucore/Cart.cxx | 69 +++++++++++++++++++++++++++++- src/emucore/Cart.hxx | 31 +++++++++++++- src/emucore/Cart0840.cxx | 2 +- src/emucore/Cart2K.cxx | 2 +- src/emucore/Cart3E.cxx | 2 +- src/emucore/Cart3EPlus.cxx | 2 +- src/emucore/Cart3F.cxx | 2 +- src/emucore/Cart4A50.cxx | 2 +- src/emucore/Cart4K.cxx | 3 +- src/emucore/Cart4KSC.cxx | 2 +- src/emucore/CartAR.cxx | 2 +- src/emucore/CartBF.cxx | 2 +- src/emucore/CartBFSC.cxx | 2 +- src/emucore/CartBUS.cxx | 2 +- src/emucore/CartCDF.cxx | 2 +- src/emucore/CartCM.cxx | 2 +- src/emucore/CartCTY.cxx | 2 +- src/emucore/CartCV.cxx | 2 +- src/emucore/CartCVPlus.cxx | 2 +- src/emucore/CartDASH.cxx | 2 +- src/emucore/CartDF.cxx | 2 +- src/emucore/CartDFSC.cxx | 2 +- src/emucore/CartDPC.cxx | 2 +- src/emucore/CartDPCPlus.cxx | 2 +- src/emucore/CartE0.cxx | 2 +- src/emucore/CartEF.cxx | 2 +- src/emucore/CartEFSC.cxx | 2 +- src/emucore/CartF0.cxx | 2 +- src/emucore/CartF4.cxx | 2 +- src/emucore/CartF4SC.cxx | 2 +- src/emucore/CartF6.cxx | 2 +- src/emucore/CartF6SC.cxx | 2 +- src/emucore/CartF8.cxx | 2 +- src/emucore/CartF8SC.cxx | 2 +- src/emucore/CartFA.cxx | 2 +- src/emucore/CartFA2.cxx | 2 +- src/emucore/CartFC.cxx | 2 +- src/emucore/CartFE.cxx | 2 +- src/emucore/CartMDM.cxx | 2 +- src/emucore/CartMNetwork.cxx | 2 +- src/emucore/CartSB.cxx | 2 +- src/emucore/CartUA.cxx | 2 +- src/emucore/CartWD.cxx | 2 +- src/emucore/CartX07.cxx | 2 +- src/emucore/Device.hxx | 25 +++++++++++ src/emucore/M6532.cxx | 74 +++++++++++++++++++++++++++++++++ src/emucore/M6532.hxx | 34 +++++++++++++-- src/emucore/System.cxx | 33 +++++++++++++++ src/emucore/System.hxx | 19 +++++++++ src/emucore/tia/TIA.cxx | 46 +++++++++++++++++++- src/emucore/tia/TIA.hxx | 32 +++++++++++++- 55 files changed, 446 insertions(+), 84 deletions(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 7e76d2dc1..e6dd39c0e 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -34,6 +34,8 @@ #include "Base.hxx" #include "Device.hxx" #include "exception/EmulationWarning.hxx" +#include "TIA.hxx" +#include "M6532.hxx" using Common::Base; using std::hex; @@ -69,16 +71,12 @@ CartDebug::CartDebug(Debugger& dbg, Console& console, const OSystem& osystem) } // Create bank information for each potential bank, and an extra one for ZP RAM - // Banksizes greater than 4096 indicate multi-bank ROMs, but we handle only - // 4K pieces at a time - // Banksizes less than 4K use the actual value - size_t banksize = 0; - myConsole.cartridge().getImage(banksize); - BankInfo info; - info.size = std::min(banksize, 4_KB); for(uInt32 i = 0; i < myConsole.cartridge().bankCount(); ++i) + { + info.size = myConsole.cartridge().bankSize(i); myBankInfo.push_back(info); + } info.size = 128; // ZP RAM myBankInfo.push_back(info); @@ -248,31 +246,9 @@ bool CartDebug::disassemble(bool force) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool CartDebug::disassembleBank(int bank) { - // isolate the high 3 address bits, count them and - // select the most frequent to define the bank offset BankInfo& info = myBankInfo[bank]; - uInt16 count[8]; - for(int i = 0; i < 8; ++i) - count[i] = 0; - - for(uInt32 addr = 0x1000; addr < 0x1000 + info.size; ++addr) - { - Device::AccessFlags flags = mySystem.getAccessFlags(addr); - // only count really accessed addresses - if (flags & ~Device::ROW) - count[(flags & Device::HADDR) >> 13]++; - } - uInt16 max = 0, maxIdx = 0; - for(int idx = 0; idx < 8; ++idx) - { - if(count[idx] > max) - { - max = count[idx]; - maxIdx = idx; - } - } - info.offset = maxIdx << 13 | 0x1000; + info.offset = myConsole.cartridge().bankOrigin(bank); return disassemble(bank, info.offset, true); } @@ -1368,6 +1344,24 @@ string CartDebug::saveRom() return DebuggerParser::red("failed to save ROM"); } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +string CartDebug::saveAccessFile() +{ + const string& rom = myConsole.properties().get(PropType::Cart_Name) + ".cvs"; + FilesystemNode node(myOSystem.defaultSaveDir() + rom); + ofstream out(node.getPath()); + + if(out) + { + out << myConsole.tia().getAccessCounters(); + out << myConsole.riot().getAccessCounters(); + out << myConsole.cartridge().getAccessCounters(); + return "saved access counters as " + node.getShortPath(); + } + else + return DebuggerParser::red("failed to save access counters file"); +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - string CartDebug::listConfig(int bank) { diff --git a/src/debugger/CartDebug.hxx b/src/debugger/CartDebug.hxx index f0b4b49fe..7fff9c8a6 100644 --- a/src/debugger/CartDebug.hxx +++ b/src/debugger/CartDebug.hxx @@ -209,6 +209,11 @@ class CartDebug : public DebuggerSystem string saveDisassembly(); string saveRom(); + /** + Save access counters file + */ + string saveAccessFile(); + /** Show Distella directives (both set by the user and determined by Distella) for the given bank (or all banks, if no bank is specified). diff --git a/src/debugger/DebuggerParser.cxx b/src/debugger/DebuggerParser.cxx index fb905e8a5..4f50be800 100644 --- a/src/debugger/DebuggerParser.cxx +++ b/src/debugger/DebuggerParser.cxx @@ -678,7 +678,6 @@ string DebuggerParser::saveScriptFile(string file) return "saved " + node.getShortPath() + " OK"; } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void DebuggerParser::executeDirective(Device::AccessType type) { @@ -1810,6 +1809,13 @@ void DebuggerParser::executeSave() commandResult << saveScriptFile(argStrings[0]); } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// "saveaccess" +void DebuggerParser::executeSaveAccess() +{ + commandResult << debugger.cartDebug().saveAccessFile(); +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // "saveconfig" void DebuggerParser::executeSaveconfig() @@ -2277,7 +2283,7 @@ void DebuggerParser::executeZ() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // List of all commands available to the parser -std::array DebuggerParser::commands = { { +std::array DebuggerParser::commands = { { { "a", "Set Accumulator to ", @@ -2998,6 +3004,16 @@ std::array DebuggerParser::commands = { { std::mem_fn(&DebuggerParser::executeSave) }, + { + "saveaccess", + "Save the access counters to CSV file", + "Example: saveaccess (no parameters)", + false, + false, + { Parameters::ARG_END_ARGS }, + std::mem_fn(&DebuggerParser::executeSaveAccess) + }, + { "saveconfig", "Save Distella config file (with default name)", diff --git a/src/debugger/DebuggerParser.hxx b/src/debugger/DebuggerParser.hxx index 9de21b3e9..44445b307 100644 --- a/src/debugger/DebuggerParser.hxx +++ b/src/debugger/DebuggerParser.hxx @@ -98,7 +98,7 @@ class DebuggerParser std::array parms; std::function executor; }; - static std::array commands; + static std::array commands; struct Trap { @@ -215,6 +215,7 @@ class DebuggerParser void executeRunToPc(); void executeS(); void executeSave(); + void executeSaveAccess(); void executeSaveallstates(); void executeSaveconfig(); void executeSavedisassembly(); diff --git a/src/emucore/Cart.cxx b/src/emucore/Cart.cxx index c5c13e34c..f6a787f48 100644 --- a/src/emucore/Cart.cxx +++ b/src/emucore/Cart.cxx @@ -20,6 +20,7 @@ #include "MD5.hxx" #ifdef DEBUGGER_SUPPORT #include "Debugger.hxx" + #include "Base.hxx" #endif #include "Cart.hxx" @@ -75,6 +76,16 @@ bool Cartridge::bankChanged() return changed; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt16 Cartridge::bankSize(uInt16 bank) const +{ + size_t size; + + getImage(size); + + return std::min(uInt32(size) / bankCount(), 4_KB); // assuming that each bank has the same size +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uInt8 Cartridge::peekRAM(uInt8& dest, uInt16 address) { @@ -113,16 +124,72 @@ void Cartridge::pokeRAM(uInt8& dest, uInt16 address, uInt8 value) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Cartridge::createRomAccessBase(size_t size) +void Cartridge::createRomAccessArrays(size_t size) { #ifdef DEBUGGER_SUPPORT myRomAccessBase = make_unique(size); std::fill_n(myRomAccessBase.get(), size, Device::ROW); + myRomAccessCounter = make_unique(size * 2); + std::fill_n(myRomAccessCounter.get(), size * 2, 0); #else myRomAccessBase = nullptr; + myRomAccessCounter = nullptr; #endif } +#ifdef DEBUGGER_SUPPORT +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +string Cartridge::getAccessCounters() const +{ + ostringstream out; + + for(uInt16 bank = 0; bank < bankCount(); ++bank) + { + uInt32 offset = bank * bankSize(); + uInt16 origin = bankOrigin(bank); + + out << "Bank " << bank << " / 0.." << bankCount() - 1 << ":\n"; + for(uInt16 addr = 0; addr < bankSize(); ++addr) + { + out << Common::Base::HEX4 << (addr | origin) << "," + << Common::Base::toString(myRomAccessBase[offset + addr], Common::Base::Fmt::_10_8) << ", "; + } + out << "\n"; + } + + return out.str(); +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt16 Cartridge::bankOrigin(uInt16 bank) const +{ + // isolate the high 3 address bits, count them and + // select the most frequent to define the bank origin + std::array count; + uInt32 offset = bank * bankSize(); + + count.fill(0); + + for(uInt16 addr = 0x0000; addr < bankSize(bank); ++addr) + { + Device::AccessFlags flags = myRomAccessBase[offset + addr]; + // only count really accessed addresses + if (flags & ~Device::ROW) + count[(flags & Device::HADDR) >> 13]++; + } + uInt16 max = 0, maxIdx = 0; + for(int idx = 0; idx < 8; ++idx) + { + if(count[idx] > max) + { + max = count[idx]; + maxIdx = idx; + } + } + return maxIdx << 13 | 0x1000; +} +#endif + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Cartridge::initializeRAM(uInt8* arr, size_t size, uInt8 val) const { diff --git a/src/emucore/Cart.hxx b/src/emucore/Cart.hxx index 8a5124219..34e575a6c 100644 --- a/src/emucore/Cart.hxx +++ b/src/emucore/Cart.hxx @@ -136,6 +136,22 @@ class Cartridge : public Device @return Address of illegal access if one occurred, else 0 */ uInt16 getIllegalRAMWriteAccess() const { return myRamWriteAccess; } + + + /** + Query the access counters + + @return The access counters as comma separated string + */ + string getAccessCounters() const override; + + /** + Determine the bank's origin + + @param The bank to query + @return The origin of the bank + */ + uInt16 bankOrigin(uInt16 bank) const; #endif public: @@ -178,6 +194,14 @@ class Cartridge : public Device */ virtual uInt16 bankCount() const { return 1; } + /** + Get the size of a bank. + + @param bank The bank to get the size for + @return The bank's size + */ + virtual uInt16 bankSize(uInt16 bank = 0) const; + /** Patch the cartridge ROM. @@ -274,7 +298,7 @@ class Cartridge : public Device @param size The size of the code-access array to create */ - void createRomAccessBase(size_t size); + void createRomAccessArrays(size_t size); /** Fill the given RAM array with (possibly random) data. @@ -325,6 +349,11 @@ class Cartridge : public Device // whether it is used as code, data, graphics etc. std::unique_ptr myRomAccessBase; + // The array containing information about every byte of ROM indicating + // how often it is accessed. + std::unique_ptr myRomAccessCounter; + + // Contains address of illegal RAM write access or 0 uInt16 myRamWriteAccess{0}; diff --git a/src/emucore/Cart0840.cxx b/src/emucore/Cart0840.cxx index 21e0f35fd..f10dbb7b2 100644 --- a/src/emucore/Cart0840.cxx +++ b/src/emucore/Cart0840.cxx @@ -25,7 +25,7 @@ Cartridge0840::Cartridge0840(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/Cart2K.cxx b/src/emucore/Cart2K.cxx index 5a6ffec5d..ed7820b1b 100644 --- a/src/emucore/Cart2K.cxx +++ b/src/emucore/Cart2K.cxx @@ -51,7 +51,7 @@ Cartridge2K::Cartridge2K(const ByteBuffer& image, size_t size, mySize = System::PAGE_SIZE; } - createRomAccessBase(mySize); + createRomAccessArrays(mySize); // Set mask for accessing the image buffer // This is guaranteed to work, as mySize is a power of two diff --git a/src/emucore/Cart3E.cxx b/src/emucore/Cart3E.cxx index 7df89d58c..a4683762b 100644 --- a/src/emucore/Cart3E.cxx +++ b/src/emucore/Cart3E.cxx @@ -30,7 +30,7 @@ Cartridge3E::Cartridge3E(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createRomAccessBase(mySize + myRAM.size()); + createRomAccessArrays(mySize + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/Cart3EPlus.cxx b/src/emucore/Cart3EPlus.cxx index 1ca18f7d9..27eb94986 100644 --- a/src/emucore/Cart3EPlus.cxx +++ b/src/emucore/Cart3EPlus.cxx @@ -30,7 +30,7 @@ Cartridge3EPlus::Cartridge3EPlus(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createRomAccessBase(mySize + myRAM.size()); + createRomAccessArrays(mySize + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/Cart3F.cxx b/src/emucore/Cart3F.cxx index 8be902554..47b5c4dcd 100644 --- a/src/emucore/Cart3F.cxx +++ b/src/emucore/Cart3F.cxx @@ -30,7 +30,7 @@ Cartridge3F::Cartridge3F(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createRomAccessBase(mySize); + createRomAccessArrays(mySize); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/Cart4A50.cxx b/src/emucore/Cart4A50.cxx index 373684481..845229bc4 100644 --- a/src/emucore/Cart4A50.cxx +++ b/src/emucore/Cart4A50.cxx @@ -41,7 +41,7 @@ Cartridge4A50::Cartridge4A50(const ByteBuffer& image, size_t size, // // Instead, access will be through the getAccessFlags and setAccessFlags // methods below - createRomAccessBase(myImage.size() + myRAM.size()); + createRomAccessArrays(myImage.size() + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/Cart4K.cxx b/src/emucore/Cart4K.cxx index 763bc35f0..417afccc8 100644 --- a/src/emucore/Cart4K.cxx +++ b/src/emucore/Cart4K.cxx @@ -25,7 +25,7 @@ Cartridge4K::Cartridge4K(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -47,6 +47,7 @@ void Cartridge4K::install(System& system) { access.directPeekBase = &myImage[addr & 0x0FFF]; access.romAccessBase = &myRomAccessBase[addr & 0x0FFF]; + access.romAccessCounter = &myRomAccessCounter[addr & 0x0FFF]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/Cart4KSC.cxx b/src/emucore/Cart4KSC.cxx index e65955735..09e043c94 100644 --- a/src/emucore/Cart4KSC.cxx +++ b/src/emucore/Cart4KSC.cxx @@ -25,7 +25,7 @@ Cartridge4KSC::Cartridge4KSC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartAR.cxx b/src/emucore/CartAR.cxx index f4edb41ba..5201a14df 100644 --- a/src/emucore/CartAR.cxx +++ b/src/emucore/CartAR.cxx @@ -41,7 +41,7 @@ CartridgeAR::CartridgeAR(const ByteBuffer& image, size_t size, // // Instead, access will be through the getAccessFlags and setAccessFlags // methods below - createRomAccessBase(mySize); + createRomAccessArrays(mySize); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartBF.cxx b/src/emucore/CartBF.cxx index df773d805..91d13cbb7 100644 --- a/src/emucore/CartBF.cxx +++ b/src/emucore/CartBF.cxx @@ -25,7 +25,7 @@ CartridgeBF::CartridgeBF(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartBFSC.cxx b/src/emucore/CartBFSC.cxx index fdfac6f95..d0d33c79f 100644 --- a/src/emucore/CartBFSC.cxx +++ b/src/emucore/CartBFSC.cxx @@ -25,7 +25,7 @@ CartridgeBFSC::CartridgeBFSC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartBUS.cxx b/src/emucore/CartBUS.cxx index 1dc991563..cb0be831f 100644 --- a/src/emucore/CartBUS.cxx +++ b/src/emucore/CartBUS.cxx @@ -49,7 +49,7 @@ CartridgeBUS::CartridgeBUS(const ByteBuffer& image, size_t size, std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); // Even though the ROM is 32K, only 28K is accessible to the 6507 - createRomAccessBase(28_KB); + createRomAccessArrays(28_KB); // Pointer to the program ROM (28K @ 0 byte offset) // which starts after the 2K BUS Driver and 2K C Code diff --git a/src/emucore/CartCDF.cxx b/src/emucore/CartCDF.cxx index 48f3d3d0f..3289b2e04 100644 --- a/src/emucore/CartCDF.cxx +++ b/src/emucore/CartCDF.cxx @@ -65,7 +65,7 @@ CartridgeCDF::CartridgeCDF(const ByteBuffer& image, size_t size, std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); // even though the ROM is 32K, only 28K is accessible to the 6507 - createRomAccessBase(28_KB); + createRomAccessArrays(28_KB); // Pointer to the program ROM (28K @ 0 byte offset) // which starts after the 2K CDF Driver and 2K C Code diff --git a/src/emucore/CartCM.cxx b/src/emucore/CartCM.cxx index 6bead1b33..7ce27bea4 100644 --- a/src/emucore/CartCM.cxx +++ b/src/emucore/CartCM.cxx @@ -27,7 +27,7 @@ CartridgeCM::CartridgeCM(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartCTY.cxx b/src/emucore/CartCTY.cxx index 40cae5597..9133ca891 100644 --- a/src/emucore/CartCTY.cxx +++ b/src/emucore/CartCTY.cxx @@ -28,7 +28,7 @@ CartridgeCTY::CartridgeCTY(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); // Default to no tune data in case user is utilizing an old ROM myTuneData.fill(0); diff --git a/src/emucore/CartCV.cxx b/src/emucore/CartCV.cxx index bea42e759..cb77d7790 100644 --- a/src/emucore/CartCV.cxx +++ b/src/emucore/CartCV.cxx @@ -40,7 +40,7 @@ CartridgeCV::CartridgeCV(const ByteBuffer& image, size_t size, // Copy the RAM image into a buffer for use in reset() std::copy_n(image.get(), myInitialRAM.size(), myInitialRAM.begin()); } - createRomAccessBase(myImage.size() + myRAM.size()); + createRomAccessArrays(myImage.size() + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartCVPlus.cxx b/src/emucore/CartCVPlus.cxx index c0d9b01d2..86fb25d8b 100644 --- a/src/emucore/CartCVPlus.cxx +++ b/src/emucore/CartCVPlus.cxx @@ -30,7 +30,7 @@ CartridgeCVPlus::CartridgeCVPlus(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createRomAccessBase(mySize + myRAM.size()); + createRomAccessArrays(mySize + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartDASH.cxx b/src/emucore/CartDASH.cxx index e893b6f07..6e187d76a 100644 --- a/src/emucore/CartDASH.cxx +++ b/src/emucore/CartDASH.cxx @@ -30,7 +30,7 @@ CartridgeDASH::CartridgeDASH(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createRomAccessBase(mySize + myRAM.size()); + createRomAccessArrays(mySize + myRAM.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartDF.cxx b/src/emucore/CartDF.cxx index 7e4ed9c2c..556d51bf6 100644 --- a/src/emucore/CartDF.cxx +++ b/src/emucore/CartDF.cxx @@ -25,7 +25,7 @@ CartridgeDF::CartridgeDF(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartDFSC.cxx b/src/emucore/CartDFSC.cxx index 530ef811c..993bbf226 100644 --- a/src/emucore/CartDFSC.cxx +++ b/src/emucore/CartDFSC.cxx @@ -25,7 +25,7 @@ CartridgeDFSC::CartridgeDFSC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartDPC.cxx b/src/emucore/CartDPC.cxx index 2ac559a57..43d15dc7e 100644 --- a/src/emucore/CartDPC.cxx +++ b/src/emucore/CartDPC.cxx @@ -27,7 +27,7 @@ CartridgeDPC::CartridgeDPC(const ByteBuffer& image, size_t size, { // Make a copy of the entire image std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(8_KB); + createRomAccessArrays(8_KB); // Pointer to the program ROM (8K @ 0 byte offset) myProgramImage = myImage.data(); diff --git a/src/emucore/CartDPCPlus.cxx b/src/emucore/CartDPCPlus.cxx index 5e92ec2a1..c9392fdc8 100644 --- a/src/emucore/CartDPCPlus.cxx +++ b/src/emucore/CartDPCPlus.cxx @@ -36,7 +36,7 @@ CartridgeDPCPlus::CartridgeDPCPlus(const ByteBuffer& image, size_t size, if(mySize < myImage.size()) myImage.fill(0); std::copy_n(image.get(), size, myImage.begin() + (myImage.size() - mySize)); - createRomAccessBase(24_KB); + createRomAccessArrays(24_KB); // Pointer to the program ROM (24K @ 3K offset; ignore first 3K) myProgramImage = myImage.data() + 3_KB; diff --git a/src/emucore/CartE0.cxx b/src/emucore/CartE0.cxx index 96029f903..9102788f2 100644 --- a/src/emucore/CartE0.cxx +++ b/src/emucore/CartE0.cxx @@ -25,7 +25,7 @@ CartridgeE0::CartridgeE0(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartEF.cxx b/src/emucore/CartEF.cxx index 96c5cf0da..1de837bf7 100644 --- a/src/emucore/CartEF.cxx +++ b/src/emucore/CartEF.cxx @@ -25,7 +25,7 @@ CartridgeEF::CartridgeEF(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartEFSC.cxx b/src/emucore/CartEFSC.cxx index 8c9cdbb3c..4cb481547 100644 --- a/src/emucore/CartEFSC.cxx +++ b/src/emucore/CartEFSC.cxx @@ -25,7 +25,7 @@ CartridgeEFSC::CartridgeEFSC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartF0.cxx b/src/emucore/CartF0.cxx index bb10ccd43..44f967327 100644 --- a/src/emucore/CartF0.cxx +++ b/src/emucore/CartF0.cxx @@ -25,7 +25,7 @@ CartridgeF0::CartridgeF0(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartF4.cxx b/src/emucore/CartF4.cxx index 81e53a238..5576f5fd3 100644 --- a/src/emucore/CartF4.cxx +++ b/src/emucore/CartF4.cxx @@ -26,7 +26,7 @@ CartridgeF4::CartridgeF4(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartF4SC.cxx b/src/emucore/CartF4SC.cxx index 79e34e854..98d9f675c 100644 --- a/src/emucore/CartF4SC.cxx +++ b/src/emucore/CartF4SC.cxx @@ -25,7 +25,7 @@ CartridgeF4SC::CartridgeF4SC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartF6.cxx b/src/emucore/CartF6.cxx index 8bf672695..43ae4abe7 100644 --- a/src/emucore/CartF6.cxx +++ b/src/emucore/CartF6.cxx @@ -25,7 +25,7 @@ CartridgeF6::CartridgeF6(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartF6SC.cxx b/src/emucore/CartF6SC.cxx index dbcd4c340..5ee84ee8a 100644 --- a/src/emucore/CartF6SC.cxx +++ b/src/emucore/CartF6SC.cxx @@ -25,7 +25,7 @@ CartridgeF6SC::CartridgeF6SC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartF8.cxx b/src/emucore/CartF8.cxx index cde6d47f0..bb06d9414 100644 --- a/src/emucore/CartF8.cxx +++ b/src/emucore/CartF8.cxx @@ -25,7 +25,7 @@ CartridgeF8::CartridgeF8(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartF8SC.cxx b/src/emucore/CartF8SC.cxx index 549fbea35..e45298779 100644 --- a/src/emucore/CartF8SC.cxx +++ b/src/emucore/CartF8SC.cxx @@ -25,7 +25,7 @@ CartridgeF8SC::CartridgeF8SC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartFA.cxx b/src/emucore/CartFA.cxx index e06b869b6..c91ea3b8e 100644 --- a/src/emucore/CartFA.cxx +++ b/src/emucore/CartFA.cxx @@ -25,7 +25,7 @@ CartridgeFA::CartridgeFA(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartFA2.cxx b/src/emucore/CartFA2.cxx index e6325e9ac..57fb118bb 100644 --- a/src/emucore/CartFA2.cxx +++ b/src/emucore/CartFA2.cxx @@ -35,7 +35,7 @@ CartridgeFA2::CartridgeFA2(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(img_ptr, mySize, myImage.begin()); - createRomAccessBase(mySize); + createRomAccessArrays(mySize); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartFC.cxx b/src/emucore/CartFC.cxx index 5195e499e..a35b531ca 100644 --- a/src/emucore/CartFC.cxx +++ b/src/emucore/CartFC.cxx @@ -26,7 +26,7 @@ CartridgeFC::CartridgeFC(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartFE.cxx b/src/emucore/CartFE.cxx index de5c088e9..c827906f9 100644 --- a/src/emucore/CartFE.cxx +++ b/src/emucore/CartFE.cxx @@ -26,7 +26,7 @@ CartridgeFE::CartridgeFE(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartMDM.cxx b/src/emucore/CartMDM.cxx index 6eaacee0b..a3b0a0a6c 100644 --- a/src/emucore/CartMDM.cxx +++ b/src/emucore/CartMDM.cxx @@ -29,7 +29,7 @@ CartridgeMDM::CartridgeMDM(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createRomAccessBase(mySize); + createRomAccessArrays(mySize); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartMNetwork.cxx b/src/emucore/CartMNetwork.cxx index 9c3213292..e9a3a5e45 100644 --- a/src/emucore/CartMNetwork.cxx +++ b/src/emucore/CartMNetwork.cxx @@ -34,7 +34,7 @@ void CartridgeMNetwork::initialize(const ByteBuffer& image, size_t size) // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(romSize(), size), myImage.get()); - createRomAccessBase(romSize() + myRAM.size()); + createRomAccessArrays(romSize() + myRAM.size()); myRAMSlice = bankCount() - 1; } diff --git a/src/emucore/CartSB.cxx b/src/emucore/CartSB.cxx index db8d4a051..34db0cca1 100644 --- a/src/emucore/CartSB.cxx +++ b/src/emucore/CartSB.cxx @@ -29,7 +29,7 @@ CartridgeSB::CartridgeSB(const ByteBuffer& image, size_t size, // Copy the ROM image into my buffer std::copy_n(image.get(), mySize, myImage.get()); - createRomAccessBase(mySize); + createRomAccessArrays(mySize); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartUA.cxx b/src/emucore/CartUA.cxx index b0643cf97..b4729c38e 100644 --- a/src/emucore/CartUA.cxx +++ b/src/emucore/CartUA.cxx @@ -27,7 +27,7 @@ CartridgeUA::CartridgeUA(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartWD.cxx b/src/emucore/CartWD.cxx index 2a6ea653a..254c78aa4 100644 --- a/src/emucore/CartWD.cxx +++ b/src/emucore/CartWD.cxx @@ -37,7 +37,7 @@ CartridgeWD::CartridgeWD(const ByteBuffer& image, size_t size, } else std::copy_n(image.get(), mySize, myImage.begin()); - createRomAccessBase(8_KB); + createRomAccessArrays(8_KB); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/CartX07.cxx b/src/emucore/CartX07.cxx index a58b97abb..fc58b0df5 100644 --- a/src/emucore/CartX07.cxx +++ b/src/emucore/CartX07.cxx @@ -27,7 +27,7 @@ CartridgeX07::CartridgeX07(const ByteBuffer& image, size_t size, { // Copy the ROM image into my buffer std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin()); - createRomAccessBase(myImage.size()); + createRomAccessArrays(myImage.size()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/Device.hxx b/src/emucore/Device.hxx index ecb857e21..496306ae2 100644 --- a/src/emucore/Device.hxx +++ b/src/emucore/Device.hxx @@ -63,6 +63,8 @@ class Device : public Serializable }; using AccessFlags = uInt16; + using AccessCounter = uInt32; + public: Device() = default; virtual ~Device() = default; @@ -128,6 +130,7 @@ class Device : public Serializable */ virtual bool poke(uInt16 address, uInt8 value) { return false; } + #ifdef DEBUGGER_SUPPORT /** Query the given address for its access flags @@ -143,6 +146,28 @@ class Device : public Serializable */ virtual void setAccessFlags(uInt16 address, AccessFlags flags) { } + /** + Query the given address for its access counter + + @param address The address to query for + */ + virtual AccessCounter getAccessCounter(uInt16 address) const { return 0; } + + /** + Increase the given address's access counter + + @param address The address to modify + */ + virtual void increaseAccessCounter(uInt16 address, bool isWrite = false) { } + + /** + Query the access counters + + @return The access counters as comma separated string + */ + virtual string getAccessCounters() const { return ""; }; + #endif + protected: /// Pointer to the system the device is installed in or the null pointer System* mySystem{nullptr}; diff --git a/src/emucore/M6532.cxx b/src/emucore/M6532.cxx index 645a4a332..8165b5294 100644 --- a/src/emucore/M6532.cxx +++ b/src/emucore/M6532.cxx @@ -21,6 +21,7 @@ #include "Settings.hxx" #include "Switches.hxx" #include "System.hxx" +#include "Base.hxx" #include "M6532.hxx" @@ -460,6 +461,9 @@ void M6532::createAccessBases() myRAMAccessBase.fill(Device::NONE); myStackAccessBase.fill(Device::NONE); myIOAccessBase.fill(Device::NONE); + myRAMAccessCounter.fill(0); + myStackAccessCounter.fill(0); + myIOAccessCounter.fill(0); myZPAccessDelay.fill(ZP_DELAY); } @@ -492,4 +496,74 @@ void M6532::setAccessFlags(uInt16 address, Device::AccessFlags flags) } } } + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Device::AccessCounter M6532::getAccessCounter(uInt16 address) const +{ + if (address & IO_BIT) + return myIOAccessCounter[address & IO_MASK]; + else if (address & STACK_BIT) + return myStackAccessCounter[address & STACK_MASK]; + else + return myRAMAccessCounter[address & RAM_MASK]; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void M6532::increaseAccessCounter(uInt16 address, bool isWrite) +{ + if (address & IO_BIT) + myIOAccessCounter[isWrite ? 0 : IO_SIZE + (address & IO_MASK)]++; + else { + // the first access, either by direct RAM or stack access is assumed as initialization + if (myZPAccessDelay[address & RAM_MASK]) + myZPAccessDelay[address & RAM_MASK]--; + else if (address & STACK_BIT) + myStackAccessCounter[isWrite ? 0 : STACK_SIZE + (address & STACK_MASK)]++; + else + myRAMAccessCounter[isWrite ? 0 : RAM_SIZE + (address & RAM_MASK)]++; + } +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +string M6532::getAccessCounters() const +{ + ostringstream out; + + out << "RAM reads:\n"; + for(uInt16 addr = 0x00; addr < RAM_SIZE; ++addr) + out << Common::Base::HEX4 << (addr | 0x80) << "," + << Common::Base::toString(myRAMAccessCounter[addr], Common::Base::Fmt::_10_8) << ", "; + out << "\n"; + out << "RAM writes:\n"; + for(uInt16 addr = 0x00; addr < RAM_SIZE; ++addr) + out << Common::Base::HEX4 << (addr | 0x80) << "," + << Common::Base::toString(myRAMAccessCounter[RAM_SIZE + addr], Common::Base::Fmt::_10_8) << ", "; + out << "\n"; + + + out << "Stack reads:\n"; + for(uInt16 addr = 0x00; addr < STACK_SIZE; ++addr) + out << Common::Base::HEX4 << (addr | 0x180) << "," + << Common::Base::toString(myStackAccessCounter[addr], Common::Base::Fmt::_10_8) << ", "; + out << "\n"; + out << "Stack writes:\n"; + for(uInt16 addr = 0x00; addr < STACK_SIZE; ++addr) + out << Common::Base::HEX4 << (addr | 0x180) << "," + << Common::Base::toString(myStackAccessCounter[STACK_SIZE + addr], Common::Base::Fmt::_10_8) << ", "; + out << "\n"; + + out << "IO reads:\n"; + for(uInt16 addr = 0x00; addr < IO_SIZE; ++addr) + out << Common::Base::HEX4 << (addr | 0x280) << "," + << Common::Base::toString(myIOAccessCounter[addr], Common::Base::Fmt::_10_8) << ", "; + out << "\n"; + out << "IO writes:\n"; + for(uInt16 addr = 0x00; addr < IO_SIZE; ++addr) + out << Common::Base::HEX4 << (addr | 0x280) << "," + << Common::Base::toString(myIOAccessCounter[IO_SIZE + addr], Common::Base::Fmt::_10_8) << ", "; + out << "\n"; + + return out.str(); +} + #endif // DEBUGGER_SUPPORT diff --git a/src/emucore/M6532.hxx b/src/emucore/M6532.hxx index 4f543b8a8..d4cb695c9 100644 --- a/src/emucore/M6532.hxx +++ b/src/emucore/M6532.hxx @@ -130,12 +130,21 @@ class M6532 : public Device */ const uInt8* getRAM() const { return myRAM.data(); } + #ifdef DEBUGGER_SUPPORT + /** + Query the access counters + + @return The access counters as comma separated string + */ + string getAccessCounters() const override; + #endif + private: void setTimerRegister(uInt8 data, uInt8 interval); void setPinState(bool shcha); -#ifdef DEBUGGER_SUPPORT + #ifdef DEBUGGER_SUPPORT // The following are used by the debugger to read INTIM/TIMINT // We need separate methods to do this, so the state of the system // isn't changed @@ -159,7 +168,21 @@ class M6532 : public Device @param flags A bitfield of AccessType directives for the given address */ void setAccessFlags(uInt16 address, Device::AccessFlags flags) override; -#endif // DEBUGGER_SUPPORT + + /** + Query the given address for its access counter + + @param address The address to query for + */ + Device::AccessCounter getAccessCounter(uInt16 address) const override; + + /** + Increase the given address's access counter + + @param address The address to modify + */ + void increaseAccessCounter(uInt16 address, bool isWrite) override; + #endif // DEBUGGER_SUPPORT private: // Reference to the console @@ -221,13 +244,18 @@ class M6532 : public Device RAM_SIZE = 0x80, RAM_MASK = RAM_SIZE - 1, STACK_SIZE = RAM_SIZE, STACK_MASK = RAM_MASK, STACK_BIT = 0x100, IO_SIZE = 0x20, IO_MASK = IO_SIZE - 1, IO_BIT = 0x200, - ZP_DELAY = 1; + ZP_DELAY = 1 * 2; // The arrays containing information about every byte of RIOT // indicating whether and how (RW) it is used. std::array myRAMAccessBase; std::array myStackAccessBase; std::array myIOAccessBase; + // The arrays containing information about every byte of RIOT + // indicating how often it is accessed. + std::array myRAMAccessCounter; + std::array myStackAccessCounter; + std::array myIOAccessCounter; // The array used to skip the first ZP access tracking std::array myZPAccessDelay; #endif // DEBUGGER_SUPPORT diff --git a/src/emucore/System.cxx b/src/emucore/System.cxx index c94f465fd..b1f0c538a 100644 --- a/src/emucore/System.cxx +++ b/src/emucore/System.cxx @@ -109,6 +109,11 @@ uInt8 System::peek(uInt16 addr, Device::AccessFlags flags) *(access.romAccessBase + (addr & PAGE_MASK)) |= (flags | (addr & Device::HADDR)); else access.device->setAccessFlags(addr, flags); + // Increase access counter + if(access.romAccessCounter) + *(access.romAccessCounter + (addr & PAGE_MASK)) += 1; + else + access.device->increaseAccessCounter(addr); #endif // See if this page uses direct accessing or not @@ -138,6 +143,11 @@ void System::poke(uInt16 addr, uInt8 value, Device::AccessFlags flags) *(access.romAccessBase + (addr & PAGE_MASK)) |= (flags | (addr & Device::HADDR)); else access.device->setAccessFlags(addr, flags); + // Increase access counter + if(access.romAccessCounter) + *(access.romAccessCounter + (addr & PAGE_MASK)) += 1; + else + access.device->increaseAccessCounter(addr, true); #endif // See if this page uses direct accessing or not @@ -181,6 +191,29 @@ void System::setAccessFlags(uInt16 addr, Device::AccessFlags flags) else access.device->setAccessFlags(addr, flags); } + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Device::AccessCounter System::getAccessCounter(uInt16 addr) const +{ + const PageAccess& access = getPageAccess(addr); + + if(access.romAccessCounter) + return *(access.romAccessCounter + (addr & PAGE_MASK)); + else + return access.device->getAccessCounter(addr); +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void System::increaseAccessCounter(uInt16 addr, bool isWrite) +{ + const PageAccess& access = getPageAccess(addr); + + if(access.romAccessCounter) + *(access.romAccessCounter + (addr & PAGE_MASK)) += 1; + else + access.device->increaseAccessCounter(addr, isWrite); +} + #endif // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/System.hxx b/src/emucore/System.hxx index b400b1cdb..6c5547d7f 100644 --- a/src/emucore/System.hxx +++ b/src/emucore/System.hxx @@ -239,6 +239,20 @@ class System : public Serializable */ Device::AccessFlags getAccessFlags(uInt16 address) const; void setAccessFlags(uInt16 address, Device::AccessFlags flags); + + /** + Query the given address for its access counter + + @param address The address to query for + */ + Device::AccessCounter getAccessCounter(uInt16 address) const; + + /** + Increase the given address's access counter + + @param address The address to modify + */ + void increaseAccessCounter(uInt16 address, bool isWrite); #endif public: @@ -285,6 +299,11 @@ class System : public Serializable */ Device::AccessFlags* romAccessBase{nullptr}; + /** + TODO + */ + Device::AccessCounter* romAccessCounter{nullptr}; + /** Pointer to the device associated with this page or to the system's null device if the page hasn't been mapped to a device. diff --git a/src/emucore/tia/TIA.cxx b/src/emucore/tia/TIA.cxx index c5896c3aa..57192b436 100644 --- a/src/emucore/tia/TIA.cxx +++ b/src/emucore/tia/TIA.cxx @@ -24,6 +24,7 @@ #include "frame-manager/FrameManager.hxx" #include "AudioQueue.hxx" #include "DispatchResult.hxx" +#include "Base.hxx" enum CollisionMask: uInt32 { player0 = 0b0111110000000000, @@ -183,7 +184,7 @@ void TIA::initialize() enableFixedColors(mySettings.getBool(devSettings ? "dev.debugcolors" : "plr.debugcolors")); #ifdef DEBUGGER_SUPPORT - createAccessBase(); + createAccessArrays(); #endif // DEBUGGER_SUPPORT } @@ -1950,9 +1951,10 @@ void TIA::toggleCollBLPF() #ifdef DEBUGGER_SUPPORT // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void TIA::createAccessBase() +void TIA::createAccessArrays() { myAccessBase.fill(Device::NONE); + myAccessCounter.fill(0); myAccessDelay.fill(TIA_DELAY); } @@ -1977,4 +1979,44 @@ void TIA::setAccessFlags(uInt16 address, Device::AccessFlags flags) myAccessBase[address & TIA_READ_MASK] |= flags; } } + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Device::AccessCounter TIA::getAccessCounter(uInt16 address) const +{ + return myAccessCounter[address & TIA_MASK]; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void TIA::increaseAccessCounter(uInt16 address, bool isWrite) +{ + if(isWrite) + { + // the first two write accesses are assumed as initialization + if(myAccessDelay[address & TIA_MASK]) + myAccessDelay[address & TIA_MASK]--; + else + myAccessCounter[address & TIA_MASK]++; + } + else + myAccessCounter[TIA_SIZE + (address & TIA_READ_MASK)]++; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +string TIA::getAccessCounters() const +{ + ostringstream out; + + out << "TIA reads:\n"; + for(uInt16 addr = 0x00; addr < TIA_READ_SIZE; ++addr) + out << Common::Base::HEX4 << addr << "," + << Common::Base::toString(myAccessCounter[TIA_SIZE + addr], Common::Base::Fmt::_10_8) << ", "; + out << "\n"; + out << "TIA writes:\n"; + for(uInt16 addr = 0x00; addr < TIA_SIZE; ++addr) + out << Common::Base::HEX4 << addr << "," + << Common::Base::toString(myAccessCounter[addr], Common::Base::Fmt::_10_8) << ", "; + out << "\n"; + + return out.str(); +} #endif // DEBUGGER_SUPPORT diff --git a/src/emucore/tia/TIA.hxx b/src/emucore/tia/TIA.hxx index 30c3d04f5..28481dfc6 100644 --- a/src/emucore/tia/TIA.hxx +++ b/src/emucore/tia/TIA.hxx @@ -530,6 +530,15 @@ class TIA : public Device */ void updateEmulation(); + #ifdef DEBUGGER_SUPPORT + /** + Query the access counters + + @return The access counters as comma separated string + */ + string getAccessCounters() const; + #endif + private: /** * During each line, the TIA cycles through these two states. @@ -678,7 +687,7 @@ class TIA : public Device void applyDeveloperSettings(); #ifdef DEBUGGER_SUPPORT - void createAccessBase(); + void createAccessArrays(); /** * Query the given address type for the associated access flags. @@ -693,6 +702,20 @@ class TIA : public Device * @param flags A bitfield of AccessType directives for the given address */ void setAccessFlags(uInt16 address, Device::AccessFlags flags) override; + + /** + Query the given address for its access counter + + @param address The address to query for + */ + Device::AccessCounter getAccessCounter(uInt16 address) const override; + + /** + Increase the given address's access counter + + @param address The address to modify + */ + void increaseAccessCounter(uInt16 address, bool isWrite) override; #endif // DEBUGGER_SUPPORT private: @@ -896,12 +919,17 @@ class TIA : public Device uInt8 myJitterFactor{0}; static constexpr uInt16 - TIA_SIZE = 0x40, TIA_MASK = TIA_SIZE - 1, TIA_READ_MASK = 0x0f, TIA_BIT = 0x080, TIA_DELAY = 2; + TIA_SIZE = 0x40, TIA_MASK = TIA_SIZE - 1, + TIA_READ_SIZE = 0x10, TIA_READ_MASK = TIA_READ_SIZE - 1, + TIA_BIT = 0x080, TIA_DELAY = 2 * 2; #ifdef DEBUGGER_SUPPORT // The arrays containing information about every byte of TIA // indicating whether and how (RW) it is used. std::array myAccessBase; + // The arrays containing information about every byte of TIA + // indicating how often it is accessed (read and write). + std::array myAccessCounter; // The array used to skip the first two TIA access trackings std::array myAccessDelay; From 1b1ccf4f39a88665d286d1012123679da12bc446 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Wed, 1 Apr 2020 09:45:19 -0230 Subject: [PATCH 62/80] Fix warnings from clang. --- src/emucore/Cart.hxx | 2 +- src/emucore/Device.hxx | 2 +- src/emucore/tia/TIA.hxx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/emucore/Cart.hxx b/src/emucore/Cart.hxx index 34e575a6c..dda0684fd 100644 --- a/src/emucore/Cart.hxx +++ b/src/emucore/Cart.hxx @@ -148,7 +148,7 @@ class Cartridge : public Device /** Determine the bank's origin - @param The bank to query + @param bank The bank to query @return The origin of the bank */ uInt16 bankOrigin(uInt16 bank) const; diff --git a/src/emucore/Device.hxx b/src/emucore/Device.hxx index 496306ae2..54f7b6264 100644 --- a/src/emucore/Device.hxx +++ b/src/emucore/Device.hxx @@ -165,7 +165,7 @@ class Device : public Serializable @return The access counters as comma separated string */ - virtual string getAccessCounters() const { return ""; }; + virtual string getAccessCounters() const { return ""; } #endif protected: diff --git a/src/emucore/tia/TIA.hxx b/src/emucore/tia/TIA.hxx index 28481dfc6..02c35ed24 100644 --- a/src/emucore/tia/TIA.hxx +++ b/src/emucore/tia/TIA.hxx @@ -536,7 +536,7 @@ class TIA : public Device @return The access counters as comma separated string */ - string getAccessCounters() const; + string getAccessCounters() const override; #endif private: From 8b550a3a11beafcde829084c14d915307e4db05b Mon Sep 17 00:00:00 2001 From: thrust26 Date: Wed, 1 Apr 2020 22:14:22 +0200 Subject: [PATCH 63/80] differentiate ROM read/write access (done for Atari standard and 3E bankswitching) --- src/debugger/CartDebug.cxx | 2 +- src/emucore/Cart.cxx | 41 +++++++++++++++++++++++------- src/emucore/Cart2K.cxx | 2 ++ src/emucore/Cart3E.cxx | 8 ++++++ src/emucore/Cart4K.cxx | 3 ++- src/emucore/CartF4.cxx | 4 +++ src/emucore/CartF4SC.cxx | 8 ++++++ src/emucore/CartF6.cxx | 4 +++ src/emucore/CartF6SC.cxx | 8 ++++++ src/emucore/CartF8.cxx | 4 +++ src/emucore/CartF8SC.cxx | 8 ++++++ src/emucore/Device.hxx | 7 ----- src/emucore/M6532.cxx | 11 -------- src/emucore/M6532.hxx | 7 ----- src/emucore/System.cxx | 52 ++++++++++++++++++++------------------ src/emucore/System.hxx | 14 +++++----- src/emucore/tia/TIA.cxx | 6 ----- src/emucore/tia/TIA.hxx | 7 ----- 18 files changed, 115 insertions(+), 81 deletions(-) diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index e6dd39c0e..612f51542 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -1347,7 +1347,7 @@ string CartDebug::saveRom() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - string CartDebug::saveAccessFile() { - const string& rom = myConsole.properties().get(PropType::Cart_Name) + ".cvs"; + const string& rom = myConsole.properties().get(PropType::Cart_Name) + ".csv"; FilesystemNode node(myOSystem.defaultSaveDir() + rom); ofstream out(node.getPath()); diff --git a/src/emucore/Cart.cxx b/src/emucore/Cart.cxx index f6a787f48..a4fe19857 100644 --- a/src/emucore/Cart.cxx +++ b/src/emucore/Cart.cxx @@ -142,19 +142,32 @@ void Cartridge::createRomAccessArrays(size_t size) string Cartridge::getAccessCounters() const { ostringstream out; + size_t romSize; + uInt32 offset = 0; + + getImage(romSize); for(uInt16 bank = 0; bank < bankCount(); ++bank) { - uInt32 offset = bank * bankSize(); uInt16 origin = bankOrigin(bank); + uInt16 bankSize = this->bankSize(bank); - out << "Bank " << bank << " / 0.." << bankCount() - 1 << ":\n"; - for(uInt16 addr = 0; addr < bankSize(); ++addr) + out << "Bank " << bank << " / 0.." << bankCount() - 1 << " reads:\n"; + for(uInt16 addr = 0; addr < bankSize; ++addr) { out << Common::Base::HEX4 << (addr | origin) << "," - << Common::Base::toString(myRomAccessBase[offset + addr], Common::Base::Fmt::_10_8) << ", "; + << Common::Base::toString(myRomAccessCounter[offset + addr], Common::Base::Fmt::_10_8) << ", "; } out << "\n"; + out << "Bank " << bank << " / 0.." << bankCount() - 1 << " writes:\n"; + for(uInt16 addr = 0; addr < bankSize; ++addr) + { + out << Common::Base::HEX4 << (addr | origin) << "," + << Common::Base::toString(myRomAccessCounter[offset + addr + romSize], Common::Base::Fmt::_10_8) << ", "; + } + out << "\n"; + + offset += bankSize; } return out.str(); @@ -165,20 +178,30 @@ uInt16 Cartridge::bankOrigin(uInt16 bank) const { // isolate the high 3 address bits, count them and // select the most frequent to define the bank origin - std::array count; + const int intervals = 0x8000 / 0x100; uInt32 offset = bank * bankSize(); + //uInt16 addrMask = (4_KB - 1) & ~(bankSize(bank) - 1); + //int addrShift = 0; + std::array count; // up to 128 256 byte interval origins + + + //if(addrMask) + // addrShift = log(addrMask) / log(2); + //addrMask; count.fill(0); - for(uInt16 addr = 0x0000; addr < bankSize(bank); ++addr) { Device::AccessFlags flags = myRomAccessBase[offset + addr]; // only count really accessed addresses - if (flags & ~Device::ROW) + if(flags & ~Device::ROW) + { + //uInt16 addrBit = addr >> addrShift; count[(flags & Device::HADDR) >> 13]++; + } } uInt16 max = 0, maxIdx = 0; - for(int idx = 0; idx < 8; ++idx) + for(int idx = 0; idx < intervals; ++idx) { if(count[idx] > max) { @@ -186,7 +209,7 @@ uInt16 Cartridge::bankOrigin(uInt16 bank) const maxIdx = idx; } } - return maxIdx << 13 | 0x1000; + return maxIdx << 13 | 0x1000 | (offset & 0xfff); } #endif diff --git a/src/emucore/Cart2K.cxx b/src/emucore/Cart2K.cxx index ed7820b1b..c5a5717c6 100644 --- a/src/emucore/Cart2K.cxx +++ b/src/emucore/Cart2K.cxx @@ -77,6 +77,8 @@ void Cartridge2K::install(System& system) { access.directPeekBase = &myImage[addr & myMask]; access.romAccessBase = &myRomAccessBase[addr & myMask]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x0FFF]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x0FFF) + mySize]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/Cart3E.cxx b/src/emucore/Cart3E.cxx index a4683762b..f9fb495e0 100644 --- a/src/emucore/Cart3E.cxx +++ b/src/emucore/Cart3E.cxx @@ -60,6 +60,8 @@ void Cartridge3E::install(System& system) { access.directPeekBase = &myImage[(mySize - 2048) + (addr & 0x07FF)]; access.romAccessBase = &myRomAccessBase[(mySize - 2048) + (addr & 0x07FF)]; + access.romPeekCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF)]; + access.romPokeCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF) + mySize]; mySystem->setPageAccess(addr, access); } @@ -159,6 +161,8 @@ bool Cartridge3E::bank(uInt16 bank) { access.directPeekBase = &myImage[offset + (addr & 0x07FF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x07FF)]; + access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x07FF)]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x07FF) + mySize]; mySystem->setPageAccess(addr, access); } } @@ -178,6 +182,8 @@ bool Cartridge3E::bank(uInt16 bank) { access.directPeekBase = &myRAM[offset + (addr & 0x03FF)]; access.romAccessBase = &myRomAccessBase[mySize + offset + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF) + mySize]; mySystem->setPageAccess(addr, access); } @@ -190,6 +196,8 @@ bool Cartridge3E::bank(uInt16 bank) for(uInt16 addr = 0x1400; addr < 0x1800; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[mySize + offset + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF) + mySize]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/Cart4K.cxx b/src/emucore/Cart4K.cxx index 417afccc8..af88dd1f9 100644 --- a/src/emucore/Cart4K.cxx +++ b/src/emucore/Cart4K.cxx @@ -47,7 +47,8 @@ void Cartridge4K::install(System& system) { access.directPeekBase = &myImage[addr & 0x0FFF]; access.romAccessBase = &myRomAccessBase[addr & 0x0FFF]; - access.romAccessCounter = &myRomAccessCounter[addr & 0x0FFF]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x0FFF]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/CartF4.cxx b/src/emucore/CartF4.cxx index 5576f5fd3..d377ecedc 100644 --- a/src/emucore/CartF4.cxx +++ b/src/emucore/CartF4.cxx @@ -89,6 +89,8 @@ bool CartridgeF4::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -98,6 +100,8 @@ bool CartridgeF4::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF4SC.cxx b/src/emucore/CartF4SC.cxx index 98d9f675c..580dded30 100644 --- a/src/emucore/CartF4SC.cxx +++ b/src/emucore/CartF4SC.cxx @@ -52,6 +52,8 @@ void CartridgeF4SC::install(System& system) for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[addr & 0x007F]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x007F]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -61,6 +63,8 @@ void CartridgeF4SC::install(System& system) { access.directPeekBase = &myRAM[addr & 0x007F]; access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; + access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)]; + access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -128,6 +132,8 @@ bool CartridgeF4SC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -137,6 +143,8 @@ bool CartridgeF4SC::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF6.cxx b/src/emucore/CartF6.cxx index 43ae4abe7..5a263498e 100644 --- a/src/emucore/CartF6.cxx +++ b/src/emucore/CartF6.cxx @@ -129,6 +129,8 @@ bool CartridgeF6::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -138,6 +140,8 @@ bool CartridgeF6::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF6SC.cxx b/src/emucore/CartF6SC.cxx index 5ee84ee8a..b6b0e3659 100644 --- a/src/emucore/CartF6SC.cxx +++ b/src/emucore/CartF6SC.cxx @@ -52,6 +52,8 @@ void CartridgeF6SC::install(System& system) for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[addr & 0x007F]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x007F]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -61,6 +63,8 @@ void CartridgeF6SC::install(System& system) { access.directPeekBase = &myRAM[addr & 0x007F]; access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; + access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)]; + access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -168,6 +172,8 @@ bool CartridgeF6SC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -177,6 +183,8 @@ bool CartridgeF6SC::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF8.cxx b/src/emucore/CartF8.cxx index bb06d9414..68485eb3b 100644 --- a/src/emucore/CartF8.cxx +++ b/src/emucore/CartF8.cxx @@ -110,6 +110,8 @@ bool CartridgeF8::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + addr & 0x0FFF]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + addr & 0x0FFF + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -119,6 +121,8 @@ bool CartridgeF8::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x0FFF]; + access.romPokeCounter = &myRomAccessCounter[addr & 0x0FFF + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF8SC.cxx b/src/emucore/CartF8SC.cxx index e45298779..4b367a4bc 100644 --- a/src/emucore/CartF8SC.cxx +++ b/src/emucore/CartF8SC.cxx @@ -52,6 +52,8 @@ void CartridgeF8SC::install(System& system) for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[addr & 0x007F]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x007F]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -61,6 +63,8 @@ void CartridgeF8SC::install(System& system) { access.directPeekBase = &myRAM[addr & 0x007F]; access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; + access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)]; + access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -148,6 +152,8 @@ bool CartridgeF8SC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -157,6 +163,8 @@ bool CartridgeF8SC::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/Device.hxx b/src/emucore/Device.hxx index 496306ae2..5aafda234 100644 --- a/src/emucore/Device.hxx +++ b/src/emucore/Device.hxx @@ -146,13 +146,6 @@ class Device : public Serializable */ virtual void setAccessFlags(uInt16 address, AccessFlags flags) { } - /** - Query the given address for its access counter - - @param address The address to query for - */ - virtual AccessCounter getAccessCounter(uInt16 address) const { return 0; } - /** Increase the given address's access counter diff --git a/src/emucore/M6532.cxx b/src/emucore/M6532.cxx index 8165b5294..3453596cd 100644 --- a/src/emucore/M6532.cxx +++ b/src/emucore/M6532.cxx @@ -497,17 +497,6 @@ void M6532::setAccessFlags(uInt16 address, Device::AccessFlags flags) } } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Device::AccessCounter M6532::getAccessCounter(uInt16 address) const -{ - if (address & IO_BIT) - return myIOAccessCounter[address & IO_MASK]; - else if (address & STACK_BIT) - return myStackAccessCounter[address & STACK_MASK]; - else - return myRAMAccessCounter[address & RAM_MASK]; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void M6532::increaseAccessCounter(uInt16 address, bool isWrite) { diff --git a/src/emucore/M6532.hxx b/src/emucore/M6532.hxx index d4cb695c9..9aa4368b9 100644 --- a/src/emucore/M6532.hxx +++ b/src/emucore/M6532.hxx @@ -169,13 +169,6 @@ class M6532 : public Device */ void setAccessFlags(uInt16 address, Device::AccessFlags flags) override; - /** - Query the given address for its access counter - - @param address The address to query for - */ - Device::AccessCounter getAccessCounter(uInt16 address) const override; - /** Increase the given address's access counter diff --git a/src/emucore/System.cxx b/src/emucore/System.cxx index b1f0c538a..d0bf4814e 100644 --- a/src/emucore/System.cxx +++ b/src/emucore/System.cxx @@ -110,10 +110,11 @@ uInt8 System::peek(uInt16 addr, Device::AccessFlags flags) else access.device->setAccessFlags(addr, flags); // Increase access counter - if(access.romAccessCounter) - *(access.romAccessCounter + (addr & PAGE_MASK)) += 1; - else - access.device->increaseAccessCounter(addr); + if (flags != Device::NONE) + if(access.romPeekCounter) + *(access.romPeekCounter + (addr & PAGE_MASK)) += 1; + else + access.device->increaseAccessCounter(addr); #endif // See if this page uses direct accessing or not @@ -144,10 +145,11 @@ void System::poke(uInt16 addr, uInt8 value, Device::AccessFlags flags) else access.device->setAccessFlags(addr, flags); // Increase access counter - if(access.romAccessCounter) - *(access.romAccessCounter + (addr & PAGE_MASK)) += 1; - else - access.device->increaseAccessCounter(addr, true); + if (flags != Device::NONE) + if(access.romPokeCounter) + *(access.romPokeCounter + (addr & PAGE_MASK)) += 1; + else + access.device->increaseAccessCounter(addr, true); #endif // See if this page uses direct accessing or not @@ -192,28 +194,30 @@ void System::setAccessFlags(uInt16 addr, Device::AccessFlags flags) access.device->setAccessFlags(addr, flags); } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Device::AccessCounter System::getAccessCounter(uInt16 addr) const -{ - const PageAccess& access = getPageAccess(addr); - - if(access.romAccessCounter) - return *(access.romAccessCounter + (addr & PAGE_MASK)); - else - return access.device->getAccessCounter(addr); -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void System::increaseAccessCounter(uInt16 addr, bool isWrite) { const PageAccess& access = getPageAccess(addr); - if(access.romAccessCounter) - *(access.romAccessCounter + (addr & PAGE_MASK)) += 1; - else - access.device->increaseAccessCounter(addr, isWrite); -} + if(isWrite) + { + if(access.romPokeCounter) + { + *(access.romPokeCounter + (addr & PAGE_MASK)) += 1; + return; + } + } + else + { + if(access.romPeekCounter) + { + *(access.romPeekCounter + (addr & PAGE_MASK)) += 1; + return; + } + } + access.device->increaseAccessCounter(addr, isWrite); +} #endif // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/System.hxx b/src/emucore/System.hxx index 6c5547d7f..1c36acf53 100644 --- a/src/emucore/System.hxx +++ b/src/emucore/System.hxx @@ -240,13 +240,6 @@ class System : public Serializable Device::AccessFlags getAccessFlags(uInt16 address) const; void setAccessFlags(uInt16 address, Device::AccessFlags flags); - /** - Query the given address for its access counter - - @param address The address to query for - */ - Device::AccessCounter getAccessCounter(uInt16 address) const; - /** Increase the given address's access counter @@ -302,7 +295,12 @@ class System : public Serializable /** TODO */ - Device::AccessCounter* romAccessCounter{nullptr}; + Device::AccessCounter* romPeekCounter{nullptr}; + + /** + TODO + */ + Device::AccessCounter* romPokeCounter{nullptr}; /** Pointer to the device associated with this page or to the system's diff --git a/src/emucore/tia/TIA.cxx b/src/emucore/tia/TIA.cxx index 57192b436..656524eae 100644 --- a/src/emucore/tia/TIA.cxx +++ b/src/emucore/tia/TIA.cxx @@ -1980,12 +1980,6 @@ void TIA::setAccessFlags(uInt16 address, Device::AccessFlags flags) } } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Device::AccessCounter TIA::getAccessCounter(uInt16 address) const -{ - return myAccessCounter[address & TIA_MASK]; -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void TIA::increaseAccessCounter(uInt16 address, bool isWrite) { diff --git a/src/emucore/tia/TIA.hxx b/src/emucore/tia/TIA.hxx index 28481dfc6..ef8dc7af0 100644 --- a/src/emucore/tia/TIA.hxx +++ b/src/emucore/tia/TIA.hxx @@ -703,13 +703,6 @@ class TIA : public Device */ void setAccessFlags(uInt16 address, Device::AccessFlags flags) override; - /** - Query the given address for its access counter - - @param address The address to query for - */ - Device::AccessCounter getAccessCounter(uInt16 address) const override; - /** Increase the given address's access counter From 7a03f330f05a44c4c65c244fc760214a0e522069 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Wed, 1 Apr 2020 20:36:43 -0230 Subject: [PATCH 64/80] Fix minor warning with clang (possible dangling else). --- src/emucore/System.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/emucore/System.cxx b/src/emucore/System.cxx index d0bf4814e..28587d0ee 100644 --- a/src/emucore/System.cxx +++ b/src/emucore/System.cxx @@ -110,11 +110,13 @@ uInt8 System::peek(uInt16 addr, Device::AccessFlags flags) else access.device->setAccessFlags(addr, flags); // Increase access counter - if (flags != Device::NONE) + if(flags != Device::NONE) + { if(access.romPeekCounter) *(access.romPeekCounter + (addr & PAGE_MASK)) += 1; else access.device->increaseAccessCounter(addr); + } #endif // See if this page uses direct accessing or not @@ -145,11 +147,13 @@ void System::poke(uInt16 addr, uInt8 value, Device::AccessFlags flags) else access.device->setAccessFlags(addr, flags); // Increase access counter - if (flags != Device::NONE) + if(flags != Device::NONE) + { if(access.romPokeCounter) *(access.romPokeCounter + (addr & PAGE_MASK)) += 1; else access.device->increaseAccessCounter(addr, true); + } #endif // See if this page uses direct accessing or not From 3f7db393ba2ff1797a801cc31fab1173b2613169 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Thu, 2 Apr 2020 10:38:15 +0200 Subject: [PATCH 65/80] add access counting to many more bankswitching types --- src/emucore/Cart.cxx | 6 ++++-- src/emucore/Cart2K.cxx | 4 ++-- src/emucore/Cart3F.cxx | 4 ++++ src/emucore/CartBUS.cxx | 2 ++ src/emucore/CartCDF.cxx | 2 ++ src/emucore/CartCM.cxx | 6 ++++++ src/emucore/CartCTY.cxx | 2 ++ src/emucore/CartDPC.cxx | 4 ++++ src/emucore/CartDPCPlus.cxx | 2 ++ src/emucore/CartE0.cxx | 10 ++++++++++ src/emucore/CartEF.cxx | 4 ++++ src/emucore/CartEFSC.cxx | 8 ++++++++ src/emucore/CartF0.cxx | 2 ++ src/emucore/CartF8.cxx | 4 ++-- src/emucore/CartFA.cxx | 8 ++++++++ src/emucore/CartFA2.cxx | 8 ++++++++ src/emucore/CartFC.cxx | 4 ++++ src/emucore/CartUA.cxx | 2 ++ src/emucore/CartWD.cxx | 12 ++++++++++++ src/emucore/CartX07.cxx | 2 ++ 20 files changed, 90 insertions(+), 6 deletions(-) diff --git a/src/emucore/Cart.cxx b/src/emucore/Cart.cxx index a4fe19857..2c2700c31 100644 --- a/src/emucore/Cart.cxx +++ b/src/emucore/Cart.cxx @@ -152,14 +152,16 @@ string Cartridge::getAccessCounters() const uInt16 origin = bankOrigin(bank); uInt16 bankSize = this->bankSize(bank); - out << "Bank " << bank << " / 0.." << bankCount() - 1 << " reads:\n"; + out << "Bank " << Common::Base::toString(bank, Common::Base::Fmt::_10_8) << " / 0.." + << Common::Base::toString(bankCount() - 1, Common::Base::Fmt::_10_8) << " reads:\n"; for(uInt16 addr = 0; addr < bankSize; ++addr) { out << Common::Base::HEX4 << (addr | origin) << "," << Common::Base::toString(myRomAccessCounter[offset + addr], Common::Base::Fmt::_10_8) << ", "; } out << "\n"; - out << "Bank " << bank << " / 0.." << bankCount() - 1 << " writes:\n"; + out << "Bank " << Common::Base::toString(bank, Common::Base::Fmt::_10_8) << " / 0.." + << Common::Base::toString(bankCount() - 1, Common::Base::Fmt::_10_8) << " writes:\n"; for(uInt16 addr = 0; addr < bankSize; ++addr) { out << Common::Base::HEX4 << (addr | origin) << "," diff --git a/src/emucore/Cart2K.cxx b/src/emucore/Cart2K.cxx index c5a5717c6..2a66a15ce 100644 --- a/src/emucore/Cart2K.cxx +++ b/src/emucore/Cart2K.cxx @@ -77,8 +77,8 @@ void Cartridge2K::install(System& system) { access.directPeekBase = &myImage[addr & myMask]; access.romAccessBase = &myRomAccessBase[addr & myMask]; - access.romPeekCounter = &myRomAccessCounter[addr & 0x0FFF]; - access.romPokeCounter = &myRomAccessCounter[(addr & 0x0FFF) + mySize]; + access.romPeekCounter = &myRomAccessCounter[addr & myMask]; + access.romPokeCounter = &myRomAccessCounter[(addr & myMask) + mySize]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/Cart3F.cxx b/src/emucore/Cart3F.cxx index 47b5c4dcd..796a1cd88 100644 --- a/src/emucore/Cart3F.cxx +++ b/src/emucore/Cart3F.cxx @@ -58,6 +58,8 @@ void Cartridge3F::install(System& system) { access.directPeekBase = &myImage[(mySize - 2048) + (addr & 0x07FF)]; access.romAccessBase = &myRomAccessBase[(mySize - 2048) + (addr & 0x07FF)]; + access.romPeekCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF)]; + access.romPokeCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF) + mySize]; mySystem->setPageAccess(addr, access); } @@ -118,6 +120,8 @@ bool Cartridge3F::bank(uInt16 bank) { access.directPeekBase = &myImage[offset + (addr & 0x07FF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x07FF)]; + access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x07FF)]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x07FF) + mySize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartBUS.cxx b/src/emucore/CartBUS.cxx index cb0be831f..c88db05fe 100644 --- a/src/emucore/CartBUS.cxx +++ b/src/emucore/CartBUS.cxx @@ -443,6 +443,8 @@ bool CartridgeBUS::bank(uInt16 bank) for(uInt16 addr = 0x1040; addr < 0x2000; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartCDF.cxx b/src/emucore/CartCDF.cxx index 3289b2e04..6bd8d3578 100644 --- a/src/emucore/CartCDF.cxx +++ b/src/emucore/CartCDF.cxx @@ -416,6 +416,8 @@ bool CartridgeCDF::bank(uInt16 bank) for(uInt16 addr = 0x1040; addr < 0x2000; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartCM.cxx b/src/emucore/CartCM.cxx index 7ce27bea4..3b3d35fa9 100644 --- a/src/emucore/CartCM.cxx +++ b/src/emucore/CartCM.cxx @@ -120,6 +120,8 @@ bool CartridgeCM::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -132,11 +134,15 @@ bool CartridgeCM::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; } else { access.directPeekBase = &myRAM[addr & 0x7FF]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x07FF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x07FF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x07FF) + myImage.size()]; } if((mySWCHA & 0x30) == 0x20) diff --git a/src/emucore/CartCTY.cxx b/src/emucore/CartCTY.cxx index 9133ca891..2c72e9030 100644 --- a/src/emucore/CartCTY.cxx +++ b/src/emucore/CartCTY.cxx @@ -241,6 +241,8 @@ bool CartridgeCTY::bank(uInt16 bank) for(uInt16 addr = 0x1080; addr < 0x2000; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartDPC.cxx b/src/emucore/CartDPC.cxx index 43d15dc7e..1fbec9791 100644 --- a/src/emucore/CartDPC.cxx +++ b/src/emucore/CartDPC.cxx @@ -374,6 +374,8 @@ bool CartridgeDPC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -383,6 +385,8 @@ bool CartridgeDPC::bank(uInt16 bank) { access.directPeekBase = &myProgramImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartDPCPlus.cxx b/src/emucore/CartDPCPlus.cxx index c9392fdc8..50cdeab39 100644 --- a/src/emucore/CartDPCPlus.cxx +++ b/src/emucore/CartDPCPlus.cxx @@ -605,6 +605,8 @@ bool CartridgeDPCPlus::bank(uInt16 bank) for(uInt16 addr = 0x1080; addr < 0x2000; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartE0.cxx b/src/emucore/CartE0.cxx index 9102788f2..051ff8870 100644 --- a/src/emucore/CartE0.cxx +++ b/src/emucore/CartE0.cxx @@ -62,12 +62,16 @@ void CartridgeE0::install(System& system) { access.directPeekBase = &myImage[0x1C00 + (addr & 0x03FF)]; access.romAccessBase = &myRomAccessBase[0x1C00 + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[0x1C00 + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[0x1C00 + (addr & 0x03FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } // Set the page accessing methods for the hot spots in the last segment access.directPeekBase = nullptr; access.romAccessBase = &myRomAccessBase[0x1FC0]; // TJ: is this the correct address (or 0x1FE0)? + access.romPeekCounter = &myRomAccessCounter[0x1FC0]; + access.romPokeCounter = &myRomAccessCounter[0x1FC0 + myImage.size()]; access.type = System::PageAccessType::READ; for(uInt16 addr = (0x1FE0 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) @@ -145,6 +149,8 @@ void CartridgeE0::segmentZero(uInt16 slice) { access.directPeekBase = &myImage[offset + (addr & 0x03FF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } myBankChanged = true; @@ -166,6 +172,8 @@ void CartridgeE0::segmentOne(uInt16 slice) { access.directPeekBase = &myImage[offset + (addr & 0x03FF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } myBankChanged = true; @@ -187,6 +195,8 @@ void CartridgeE0::segmentTwo(uInt16 slice) { access.directPeekBase = &myImage[offset + (addr & 0x03FF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } myBankChanged = true; diff --git a/src/emucore/CartEF.cxx b/src/emucore/CartEF.cxx index 1de837bf7..43901c916 100644 --- a/src/emucore/CartEF.cxx +++ b/src/emucore/CartEF.cxx @@ -85,6 +85,8 @@ bool CartridgeEF::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -94,6 +96,8 @@ bool CartridgeEF::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartEFSC.cxx b/src/emucore/CartEFSC.cxx index 4cb481547..b2fd87032 100644 --- a/src/emucore/CartEFSC.cxx +++ b/src/emucore/CartEFSC.cxx @@ -52,6 +52,8 @@ void CartridgeEFSC::install(System& system) for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[addr & 0x007F]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x007F]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x007F) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -61,6 +63,8 @@ void CartridgeEFSC::install(System& system) { access.directPeekBase = &myRAM[addr & 0x007F]; access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; + access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)]; + access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -128,6 +132,8 @@ bool CartridgeEFSC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -137,6 +143,8 @@ bool CartridgeEFSC::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF0.cxx b/src/emucore/CartF0.cxx index 44f967327..fc6061d22 100644 --- a/src/emucore/CartF0.cxx +++ b/src/emucore/CartF0.cxx @@ -101,6 +101,8 @@ bool CartridgeF0::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } diff --git a/src/emucore/CartF8.cxx b/src/emucore/CartF8.cxx index 68485eb3b..66b42af70 100644 --- a/src/emucore/CartF8.cxx +++ b/src/emucore/CartF8.cxx @@ -110,8 +110,8 @@ bool CartridgeF8::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; - access.romPeekCounter = &myRomAccessCounter[myBankOffset + addr & 0x0FFF]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + addr & 0x0FFF + myImage.size()]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } diff --git a/src/emucore/CartFA.cxx b/src/emucore/CartFA.cxx index c91ea3b8e..eb9f1809b 100644 --- a/src/emucore/CartFA.cxx +++ b/src/emucore/CartFA.cxx @@ -52,6 +52,8 @@ void CartridgeFA::install(System& system) for(uInt16 addr = 0x1000; addr < 0x1100; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[addr & 0x00FF]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x00FF]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x00FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -61,6 +63,8 @@ void CartridgeFA::install(System& system) { access.directPeekBase = &myRAM[addr & 0x00FF]; access.romAccessBase = &myRomAccessBase[0x100 + (addr & 0x00FF)]; + access.romPeekCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF)]; + access.romPokeCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -158,6 +162,8 @@ bool CartridgeFA::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -167,6 +173,8 @@ bool CartridgeFA::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartFA2.cxx b/src/emucore/CartFA2.cxx index 57fb118bb..134c9d86b 100644 --- a/src/emucore/CartFA2.cxx +++ b/src/emucore/CartFA2.cxx @@ -62,6 +62,8 @@ void CartridgeFA2::install(System& system) for(uInt16 addr = 0x1000; addr < 0x1100; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[addr & 0x00FF]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x00FF]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x00FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -72,6 +74,8 @@ void CartridgeFA2::install(System& system) { access.directPeekBase = &myRAM[addr & 0x00FF]; access.romAccessBase = &myRomAccessBase[0x100 + (addr & 0x00FF)]; + access.romPeekCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF)]; + access.romPokeCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -223,6 +227,8 @@ bool CartridgeFA2::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -232,6 +238,8 @@ bool CartridgeFA2::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartFC.cxx b/src/emucore/CartFC.cxx index a35b531ca..113d259c3 100644 --- a/src/emucore/CartFC.cxx +++ b/src/emucore/CartFC.cxx @@ -114,6 +114,8 @@ bool CartridgeFC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } @@ -123,6 +125,8 @@ bool CartridgeFC::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } myCurrentBank = myTargetBank; diff --git a/src/emucore/CartUA.cxx b/src/emucore/CartUA.cxx index b4729c38e..ed2bd80bf 100644 --- a/src/emucore/CartUA.cxx +++ b/src/emucore/CartUA.cxx @@ -136,6 +136,8 @@ bool CartridgeUA::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartWD.cxx b/src/emucore/CartWD.cxx index 254c78aa4..62b5a6c17 100644 --- a/src/emucore/CartWD.cxx +++ b/src/emucore/CartWD.cxx @@ -64,6 +64,8 @@ void CartridgeWD::install(System& system) { read.directPeekBase = &myRAM[addr & 0x003F]; read.romAccessBase = &myRomAccessBase[addr & 0x003F]; + read.romPeekCounter = &myRomAccessCounter[addr & 0x003F]; + read.romPokeCounter = &myRomAccessCounter[(addr & 0x003F) + myImage.size()]; mySystem->setPageAccess(addr, read); } @@ -74,6 +76,8 @@ void CartridgeWD::install(System& system) for(uInt16 addr = 0x1040; addr < 0x1080; addr += System::PAGE_SIZE) { write.romAccessBase = &myRomAccessBase[addr & 0x003F]; + write.romPeekCounter = &myRomAccessCounter[addr & 0x003F]; + write.romPokeCounter = &myRomAccessCounter[(addr & 0x003F) + myImage.size()]; mySystem->setPageAccess(addr, write); } @@ -178,6 +182,8 @@ void CartridgeWD::segmentZero(uInt8 slice) for(uInt16 addr = 0x1080; addr < 0x1400; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } myOffset[0] = offset; @@ -192,6 +198,8 @@ void CartridgeWD::segmentOne(uInt8 slice) for(uInt16 addr = 0x1400; addr < 0x1800; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } myOffset[1] = offset; @@ -206,6 +214,8 @@ void CartridgeWD::segmentTwo(uInt8 slice) for(uInt16 addr = 0x1800; addr < 0x1C00; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } myOffset[2] = offset; @@ -226,6 +236,8 @@ void CartridgeWD::segmentThree(uInt8 slice) for(uInt16 addr = 0x1C00; addr < 0x2000; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; mySystem->setPageAccess(addr, access); } myOffset[3] = offset; diff --git a/src/emucore/CartX07.cxx b/src/emucore/CartX07.cxx index fc58b0df5..49fc30e0f 100644 --- a/src/emucore/CartX07.cxx +++ b/src/emucore/CartX07.cxx @@ -116,6 +116,8 @@ bool CartridgeX07::bank(uInt16 bank) { access.directPeekBase = &myImage[offset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x0FFF) + myImage.size()]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; From a015cd90828e36e18865d5346c8b09e6168f6c42 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Thu, 2 Apr 2020 11:07:04 +0200 Subject: [PATCH 66/80] fix CartFE to update access flags and counters --- src/emucore/Cart.cxx | 3 ++- src/emucore/CartFE.cxx | 20 ++++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/emucore/Cart.cxx b/src/emucore/Cart.cxx index 2c2700c31..beb76855d 100644 --- a/src/emucore/Cart.cxx +++ b/src/emucore/Cart.cxx @@ -180,6 +180,7 @@ uInt16 Cartridge::bankOrigin(uInt16 bank) const { // isolate the high 3 address bits, count them and // select the most frequent to define the bank origin + // TODO: origin for banks smaller than 4K const int intervals = 0x8000 / 0x100; uInt32 offset = bank * bankSize(); //uInt16 addrMask = (4_KB - 1) & ~(bankSize(bank) - 1); @@ -211,7 +212,7 @@ uInt16 Cartridge::bankOrigin(uInt16 bank) const maxIdx = idx; } } - return maxIdx << 13 | 0x1000 | (offset & 0xfff); + return maxIdx << 13 | 0x1000; //| (offset & 0xfff); } #endif diff --git a/src/emucore/CartFE.cxx b/src/emucore/CartFE.cxx index c827906f9..eaa17bc4d 100644 --- a/src/emucore/CartFE.cxx +++ b/src/emucore/CartFE.cxx @@ -49,11 +49,6 @@ void CartridgeFE::install(System& system) System::PageAccess access(this, System::PageAccessType::READWRITE); for(uInt16 addr = 0x180; addr < 0x200; addr += System::PAGE_SIZE) mySystem->setPageAccess(addr, access); - - // Map all of the cart accesses to call peek and poke - access.type = System::PageAccessType::READ; - for(uInt16 addr = 0x1000; addr < 0x2000; addr += System::PAGE_SIZE) - mySystem->setPageAccess(addr, access); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -104,6 +99,19 @@ bool CartridgeFE::bank(uInt16 bank) return false; myBankOffset = bank << 12; + + System::PageAccess access(this, System::PageAccessType::READ); + + // Setup the page access methods for the current bank + // Map all of the cart accesses to call peek and poke + for(uInt16 addr = 0x1000; addr < 0x2000; addr += System::PAGE_SIZE) + { + access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x0FFF]; + access.romPokeCounter = &myRomAccessCounter[addr & 0x0FFF + myImage.size()]; + mySystem->setPageAccess(addr, access); + } + return myBankChanged = true; } @@ -160,7 +168,7 @@ bool CartridgeFE::load(Serializer& in) } catch(...) { - cerr << "ERROR: CartridgeF8SC::load" << endl; + cerr << "ERROR: CartridgeFE::load" << endl; return false; } From e91bc140cd856d000e68850634156ac65e7226b4 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Thu, 2 Apr 2020 12:03:35 +0200 Subject: [PATCH 67/80] fix poke access counter offset add a few more bank switching types --- src/emucore/Cart.cxx | 6 ++---- src/emucore/Cart.hxx | 3 +++ src/emucore/Cart2K.cxx | 2 +- src/emucore/Cart3E.cxx | 8 ++++---- src/emucore/Cart3F.cxx | 4 ++-- src/emucore/Cart4K.cxx | 2 +- src/emucore/CartBUS.cxx | 2 +- src/emucore/CartCDF.cxx | 2 +- src/emucore/CartCM.cxx | 6 +++--- src/emucore/CartCTY.cxx | 2 +- src/emucore/CartCV.cxx | 4 ++++ src/emucore/CartCVPlus.cxx | 4 ++++ src/emucore/CartDF.cxx | 4 ++++ src/emucore/CartDFSC.cxx | 8 ++++++++ src/emucore/CartDPC.cxx | 4 ++-- src/emucore/CartDPCPlus.cxx | 2 +- src/emucore/CartE0.cxx | 10 +++++----- src/emucore/CartEF.cxx | 4 ++-- src/emucore/CartEFSC.cxx | 8 ++++---- src/emucore/CartF0.cxx | 4 +++- src/emucore/CartF4.cxx | 4 ++-- src/emucore/CartF4SC.cxx | 8 ++++---- src/emucore/CartF6.cxx | 4 ++-- src/emucore/CartF6SC.cxx | 8 ++++---- src/emucore/CartF8.cxx | 6 +++--- src/emucore/CartF8SC.cxx | 8 ++++---- src/emucore/CartFA.cxx | 8 ++++---- src/emucore/CartFA2.cxx | 8 ++++---- src/emucore/CartFC.cxx | 4 ++-- src/emucore/CartFE.cxx | 4 ++-- src/emucore/CartMDM.cxx | 2 ++ src/emucore/CartMNetwork.cxx | 4 ++++ src/emucore/CartSB.cxx | 2 ++ src/emucore/CartUA.cxx | 2 +- src/emucore/CartWD.cxx | 12 ++++++------ src/emucore/CartX07.cxx | 2 +- 36 files changed, 103 insertions(+), 72 deletions(-) diff --git a/src/emucore/Cart.cxx b/src/emucore/Cart.cxx index beb76855d..f85850ba2 100644 --- a/src/emucore/Cart.cxx +++ b/src/emucore/Cart.cxx @@ -126,6 +126,7 @@ void Cartridge::pokeRAM(uInt8& dest, uInt16 address, uInt8 value) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Cartridge::createRomAccessArrays(size_t size) { + myAccessSize = uInt32(size); #ifdef DEBUGGER_SUPPORT myRomAccessBase = make_unique(size); std::fill_n(myRomAccessBase.get(), size, Device::ROW); @@ -142,11 +143,8 @@ void Cartridge::createRomAccessArrays(size_t size) string Cartridge::getAccessCounters() const { ostringstream out; - size_t romSize; uInt32 offset = 0; - getImage(romSize); - for(uInt16 bank = 0; bank < bankCount(); ++bank) { uInt16 origin = bankOrigin(bank); @@ -165,7 +163,7 @@ string Cartridge::getAccessCounters() const for(uInt16 addr = 0; addr < bankSize; ++addr) { out << Common::Base::HEX4 << (addr | origin) << "," - << Common::Base::toString(myRomAccessCounter[offset + addr + romSize], Common::Base::Fmt::_10_8) << ", "; + << Common::Base::toString(myRomAccessCounter[offset + addr + myAccessSize], Common::Base::Fmt::_10_8) << ", "; } out << "\n"; diff --git a/src/emucore/Cart.hxx b/src/emucore/Cart.hxx index dda0684fd..ce7d66a8b 100644 --- a/src/emucore/Cart.hxx +++ b/src/emucore/Cart.hxx @@ -357,6 +357,9 @@ class Cartridge : public Device // Contains address of illegal RAM write access or 0 uInt16 myRamWriteAccess{0}; + // Total size of ROM access area (might include RAM too) + uInt32 myAccessSize; + private: // The startup bank to use (where to look for the reset vector address) uInt16 myStartBank{0}; diff --git a/src/emucore/Cart2K.cxx b/src/emucore/Cart2K.cxx index 2a66a15ce..ee9f2b334 100644 --- a/src/emucore/Cart2K.cxx +++ b/src/emucore/Cart2K.cxx @@ -78,7 +78,7 @@ void Cartridge2K::install(System& system) access.directPeekBase = &myImage[addr & myMask]; access.romAccessBase = &myRomAccessBase[addr & myMask]; access.romPeekCounter = &myRomAccessCounter[addr & myMask]; - access.romPokeCounter = &myRomAccessCounter[(addr & myMask) + mySize]; + access.romPokeCounter = &myRomAccessCounter[(addr & myMask) + myAccessSize]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/Cart3E.cxx b/src/emucore/Cart3E.cxx index f9fb495e0..15084b53e 100644 --- a/src/emucore/Cart3E.cxx +++ b/src/emucore/Cart3E.cxx @@ -61,7 +61,7 @@ void Cartridge3E::install(System& system) access.directPeekBase = &myImage[(mySize - 2048) + (addr & 0x07FF)]; access.romAccessBase = &myRomAccessBase[(mySize - 2048) + (addr & 0x07FF)]; access.romPeekCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF)]; - access.romPokeCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF) + mySize]; + access.romPokeCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -162,7 +162,7 @@ bool Cartridge3E::bank(uInt16 bank) access.directPeekBase = &myImage[offset + (addr & 0x07FF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x07FF)]; access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x07FF)]; - access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x07FF) + mySize]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x07FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } } @@ -183,7 +183,7 @@ bool Cartridge3E::bank(uInt16 bank) access.directPeekBase = &myRAM[offset + (addr & 0x03FF)]; access.romAccessBase = &myRomAccessBase[mySize + offset + (addr & 0x03FF)]; access.romPeekCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF)]; - access.romPokeCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF) + mySize]; + access.romPokeCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -197,7 +197,7 @@ bool Cartridge3E::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[mySize + offset + (addr & 0x03FF)]; access.romPeekCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF)]; - access.romPokeCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF) + mySize]; + access.romPokeCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/Cart3F.cxx b/src/emucore/Cart3F.cxx index 796a1cd88..2989e88ff 100644 --- a/src/emucore/Cart3F.cxx +++ b/src/emucore/Cart3F.cxx @@ -59,7 +59,7 @@ void Cartridge3F::install(System& system) access.directPeekBase = &myImage[(mySize - 2048) + (addr & 0x07FF)]; access.romAccessBase = &myRomAccessBase[(mySize - 2048) + (addr & 0x07FF)]; access.romPeekCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF)]; - access.romPokeCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF) + mySize]; + access.romPokeCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -121,7 +121,7 @@ bool Cartridge3F::bank(uInt16 bank) access.directPeekBase = &myImage[offset + (addr & 0x07FF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x07FF)]; access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x07FF)]; - access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x07FF) + mySize]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x07FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/Cart4K.cxx b/src/emucore/Cart4K.cxx index af88dd1f9..4f4aab979 100644 --- a/src/emucore/Cart4K.cxx +++ b/src/emucore/Cart4K.cxx @@ -48,7 +48,7 @@ void Cartridge4K::install(System& system) access.directPeekBase = &myImage[addr & 0x0FFF]; access.romAccessBase = &myRomAccessBase[addr & 0x0FFF]; access.romPeekCounter = &myRomAccessCounter[addr & 0x0FFF]; - access.romPokeCounter = &myRomAccessCounter[(addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/CartBUS.cxx b/src/emucore/CartBUS.cxx index c88db05fe..2c2cd803a 100644 --- a/src/emucore/CartBUS.cxx +++ b/src/emucore/CartBUS.cxx @@ -444,7 +444,7 @@ bool CartridgeBUS::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + 28_KB]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartCDF.cxx b/src/emucore/CartCDF.cxx index 6bd8d3578..b182634a3 100644 --- a/src/emucore/CartCDF.cxx +++ b/src/emucore/CartCDF.cxx @@ -417,7 +417,7 @@ bool CartridgeCDF::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + 28_KB]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartCM.cxx b/src/emucore/CartCM.cxx index 3b3d35fa9..5fa6dff3d 100644 --- a/src/emucore/CartCM.cxx +++ b/src/emucore/CartCM.cxx @@ -121,7 +121,7 @@ bool CartridgeCM::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -135,14 +135,14 @@ bool CartridgeCM::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; } else { access.directPeekBase = &myRAM[addr & 0x7FF]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x07FF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x07FF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x07FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x07FF) + myAccessSize]; } if((mySWCHA & 0x30) == 0x20) diff --git a/src/emucore/CartCTY.cxx b/src/emucore/CartCTY.cxx index 2c72e9030..1536b64e0 100644 --- a/src/emucore/CartCTY.cxx +++ b/src/emucore/CartCTY.cxx @@ -242,7 +242,7 @@ bool CartridgeCTY::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartCV.cxx b/src/emucore/CartCV.cxx index cb77d7790..42c74a808 100644 --- a/src/emucore/CartCV.cxx +++ b/src/emucore/CartCV.cxx @@ -69,6 +69,8 @@ void CartridgeCV::install(System& system) { access.directPeekBase = &myImage[addr & 0x07FF]; access.romAccessBase = &myRomAccessBase[addr & 0x07FF]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x07FF]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x07FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -88,6 +90,8 @@ void CartridgeCV::install(System& system) { access.directPeekBase = &myRAM[addr & 0x03FF]; access.romAccessBase = &myRomAccessBase[2048 + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[2048 + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[2048 + (addr & 0x03FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } } diff --git a/src/emucore/CartCVPlus.cxx b/src/emucore/CartCVPlus.cxx index 86fb25d8b..a3258e53c 100644 --- a/src/emucore/CartCVPlus.cxx +++ b/src/emucore/CartCVPlus.cxx @@ -63,6 +63,8 @@ void CartridgeCVPlus::install(System& system) for(uInt16 addr = 0x1400; addr < 0x1800; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[mySize + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[mySize + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[mySize + (addr & 0x03FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -72,6 +74,8 @@ void CartridgeCVPlus::install(System& system) { access.directPeekBase = &myRAM[addr & 0x03FF]; access.romAccessBase = &myRomAccessBase[mySize + (addr & 0x03FF)]; + access.romPeekCounter = &myRomAccessCounter[mySize + (addr & 0x03FF)]; + access.romPokeCounter = &myRomAccessCounter[mySize + (addr & 0x03FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } diff --git a/src/emucore/CartDF.cxx b/src/emucore/CartDF.cxx index 556d51bf6..b43bc0837 100644 --- a/src/emucore/CartDF.cxx +++ b/src/emucore/CartDF.cxx @@ -85,6 +85,8 @@ bool CartridgeDF::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -94,6 +96,8 @@ bool CartridgeDF::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartDFSC.cxx b/src/emucore/CartDFSC.cxx index 993bbf226..3661459fa 100644 --- a/src/emucore/CartDFSC.cxx +++ b/src/emucore/CartDFSC.cxx @@ -52,6 +52,8 @@ void CartridgeDFSC::install(System& system) for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[addr & 0x007F]; + access.romPeekCounter = &myRomAccessCounter[addr & 0x007F]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x007F) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -61,6 +63,8 @@ void CartridgeDFSC::install(System& system) { access.directPeekBase = &myRAM[addr & 0x007F]; access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; + access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)]; + access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -128,6 +132,8 @@ bool CartridgeDFSC::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -137,6 +143,8 @@ bool CartridgeDFSC::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartDPC.cxx b/src/emucore/CartDPC.cxx index 1fbec9791..808e658d4 100644 --- a/src/emucore/CartDPC.cxx +++ b/src/emucore/CartDPC.cxx @@ -375,7 +375,7 @@ bool CartridgeDPC::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -386,7 +386,7 @@ bool CartridgeDPC::bank(uInt16 bank) access.directPeekBase = &myProgramImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartDPCPlus.cxx b/src/emucore/CartDPCPlus.cxx index 50cdeab39..0761eeb19 100644 --- a/src/emucore/CartDPCPlus.cxx +++ b/src/emucore/CartDPCPlus.cxx @@ -606,7 +606,7 @@ bool CartridgeDPCPlus::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + 24_KB]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartE0.cxx b/src/emucore/CartE0.cxx index 051ff8870..ff3a9b52c 100644 --- a/src/emucore/CartE0.cxx +++ b/src/emucore/CartE0.cxx @@ -63,7 +63,7 @@ void CartridgeE0::install(System& system) access.directPeekBase = &myImage[0x1C00 + (addr & 0x03FF)]; access.romAccessBase = &myRomAccessBase[0x1C00 + (addr & 0x03FF)]; access.romPeekCounter = &myRomAccessCounter[0x1C00 + (addr & 0x03FF)]; - access.romPokeCounter = &myRomAccessCounter[0x1C00 + (addr & 0x03FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[0x1C00 + (addr & 0x03FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -71,7 +71,7 @@ void CartridgeE0::install(System& system) access.directPeekBase = nullptr; access.romAccessBase = &myRomAccessBase[0x1FC0]; // TJ: is this the correct address (or 0x1FE0)? access.romPeekCounter = &myRomAccessCounter[0x1FC0]; - access.romPokeCounter = &myRomAccessCounter[0x1FC0 + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[0x1FC0 + myAccessSize]; access.type = System::PageAccessType::READ; for(uInt16 addr = (0x1FE0 & ~System::PAGE_MASK); addr < 0x2000; addr += System::PAGE_SIZE) @@ -150,7 +150,7 @@ void CartridgeE0::segmentZero(uInt16 slice) access.directPeekBase = &myImage[offset + (addr & 0x03FF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; - access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } myBankChanged = true; @@ -173,7 +173,7 @@ void CartridgeE0::segmentOne(uInt16 slice) access.directPeekBase = &myImage[offset + (addr & 0x03FF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; - access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } myBankChanged = true; @@ -196,7 +196,7 @@ void CartridgeE0::segmentTwo(uInt16 slice) access.directPeekBase = &myImage[offset + (addr & 0x03FF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; - access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } myBankChanged = true; diff --git a/src/emucore/CartEF.cxx b/src/emucore/CartEF.cxx index 43901c916..16635200b 100644 --- a/src/emucore/CartEF.cxx +++ b/src/emucore/CartEF.cxx @@ -86,7 +86,7 @@ bool CartridgeEF::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -97,7 +97,7 @@ bool CartridgeEF::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartEFSC.cxx b/src/emucore/CartEFSC.cxx index b2fd87032..3502be7a0 100644 --- a/src/emucore/CartEFSC.cxx +++ b/src/emucore/CartEFSC.cxx @@ -53,7 +53,7 @@ void CartridgeEFSC::install(System& system) { access.romAccessBase = &myRomAccessBase[addr & 0x007F]; access.romPeekCounter = &myRomAccessCounter[addr & 0x007F]; - access.romPokeCounter = &myRomAccessCounter[(addr & 0x007F) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x007F) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -64,7 +64,7 @@ void CartridgeEFSC::install(System& system) access.directPeekBase = &myRAM[addr & 0x007F]; access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)]; - access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -133,7 +133,7 @@ bool CartridgeEFSC::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -144,7 +144,7 @@ bool CartridgeEFSC::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF0.cxx b/src/emucore/CartF0.cxx index fc6061d22..a69c3c8ed 100644 --- a/src/emucore/CartF0.cxx +++ b/src/emucore/CartF0.cxx @@ -92,6 +92,8 @@ bool CartridgeF0::bank(uInt16 bank) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -102,7 +104,7 @@ bool CartridgeF0::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } diff --git a/src/emucore/CartF4.cxx b/src/emucore/CartF4.cxx index d377ecedc..8111bb1a0 100644 --- a/src/emucore/CartF4.cxx +++ b/src/emucore/CartF4.cxx @@ -90,7 +90,7 @@ bool CartridgeF4::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -101,7 +101,7 @@ bool CartridgeF4::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF4SC.cxx b/src/emucore/CartF4SC.cxx index 580dded30..24496b161 100644 --- a/src/emucore/CartF4SC.cxx +++ b/src/emucore/CartF4SC.cxx @@ -53,7 +53,7 @@ void CartridgeF4SC::install(System& system) { access.romAccessBase = &myRomAccessBase[addr & 0x007F]; access.romPeekCounter = &myRomAccessCounter[addr & 0x007F]; - access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -64,7 +64,7 @@ void CartridgeF4SC::install(System& system) access.directPeekBase = &myRAM[addr & 0x007F]; access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)]; - access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -133,7 +133,7 @@ bool CartridgeF4SC::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -144,7 +144,7 @@ bool CartridgeF4SC::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF6.cxx b/src/emucore/CartF6.cxx index 5a263498e..a7a8dec2b 100644 --- a/src/emucore/CartF6.cxx +++ b/src/emucore/CartF6.cxx @@ -130,7 +130,7 @@ bool CartridgeF6::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -141,7 +141,7 @@ bool CartridgeF6::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF6SC.cxx b/src/emucore/CartF6SC.cxx index b6b0e3659..60b998182 100644 --- a/src/emucore/CartF6SC.cxx +++ b/src/emucore/CartF6SC.cxx @@ -53,7 +53,7 @@ void CartridgeF6SC::install(System& system) { access.romAccessBase = &myRomAccessBase[addr & 0x007F]; access.romPeekCounter = &myRomAccessCounter[addr & 0x007F]; - access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -64,7 +64,7 @@ void CartridgeF6SC::install(System& system) access.directPeekBase = &myRAM[addr & 0x007F]; access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)]; - access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -173,7 +173,7 @@ bool CartridgeF6SC::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -184,7 +184,7 @@ bool CartridgeF6SC::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF8.cxx b/src/emucore/CartF8.cxx index 66b42af70..b23ed802e 100644 --- a/src/emucore/CartF8.cxx +++ b/src/emucore/CartF8.cxx @@ -111,7 +111,7 @@ bool CartridgeF8::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -121,8 +121,8 @@ bool CartridgeF8::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; - access.romPeekCounter = &myRomAccessCounter[addr & 0x0FFF]; - access.romPokeCounter = &myRomAccessCounter[addr & 0x0FFF + myImage.size()]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartF8SC.cxx b/src/emucore/CartF8SC.cxx index 4b367a4bc..c885a9c83 100644 --- a/src/emucore/CartF8SC.cxx +++ b/src/emucore/CartF8SC.cxx @@ -53,7 +53,7 @@ void CartridgeF8SC::install(System& system) { access.romAccessBase = &myRomAccessBase[addr & 0x007F]; access.romPeekCounter = &myRomAccessCounter[addr & 0x007F]; - access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -64,7 +64,7 @@ void CartridgeF8SC::install(System& system) access.directPeekBase = &myRAM[addr & 0x007F]; access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)]; access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)]; - access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -153,7 +153,7 @@ bool CartridgeF8SC::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -164,7 +164,7 @@ bool CartridgeF8SC::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartFA.cxx b/src/emucore/CartFA.cxx index eb9f1809b..5a4ecb6bd 100644 --- a/src/emucore/CartFA.cxx +++ b/src/emucore/CartFA.cxx @@ -53,7 +53,7 @@ void CartridgeFA::install(System& system) { access.romAccessBase = &myRomAccessBase[addr & 0x00FF]; access.romPeekCounter = &myRomAccessCounter[addr & 0x00FF]; - access.romPokeCounter = &myRomAccessCounter[(addr & 0x00FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x00FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -64,7 +64,7 @@ void CartridgeFA::install(System& system) access.directPeekBase = &myRAM[addr & 0x00FF]; access.romAccessBase = &myRomAccessBase[0x100 + (addr & 0x00FF)]; access.romPeekCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF)]; - access.romPokeCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -163,7 +163,7 @@ bool CartridgeFA::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -174,7 +174,7 @@ bool CartridgeFA::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartFA2.cxx b/src/emucore/CartFA2.cxx index 134c9d86b..1630f216e 100644 --- a/src/emucore/CartFA2.cxx +++ b/src/emucore/CartFA2.cxx @@ -63,7 +63,7 @@ void CartridgeFA2::install(System& system) { access.romAccessBase = &myRomAccessBase[addr & 0x00FF]; access.romPeekCounter = &myRomAccessCounter[addr & 0x00FF]; - access.romPokeCounter = &myRomAccessCounter[(addr & 0x00FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[(addr & 0x00FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -75,7 +75,7 @@ void CartridgeFA2::install(System& system) access.directPeekBase = &myRAM[addr & 0x00FF]; access.romAccessBase = &myRomAccessBase[0x100 + (addr & 0x00FF)]; access.romPeekCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF)]; - access.romPokeCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -228,7 +228,7 @@ bool CartridgeFA2::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -239,7 +239,7 @@ bool CartridgeFA2::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartFC.cxx b/src/emucore/CartFC.cxx index 113d259c3..565e577cf 100644 --- a/src/emucore/CartFC.cxx +++ b/src/emucore/CartFC.cxx @@ -115,7 +115,7 @@ bool CartridgeFC::bank(uInt16 bank) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } @@ -126,7 +126,7 @@ bool CartridgeFC::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } myCurrentBank = myTargetBank; diff --git a/src/emucore/CartFE.cxx b/src/emucore/CartFE.cxx index eaa17bc4d..36cfa7c84 100644 --- a/src/emucore/CartFE.cxx +++ b/src/emucore/CartFE.cxx @@ -107,8 +107,8 @@ bool CartridgeFE::bank(uInt16 bank) for(uInt16 addr = 0x1000; addr < 0x2000; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; - access.romPeekCounter = &myRomAccessCounter[addr & 0x0FFF]; - access.romPokeCounter = &myRomAccessCounter[addr & 0x0FFF + myImage.size()]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } diff --git a/src/emucore/CartMDM.cxx b/src/emucore/CartMDM.cxx index a3b0a0a6c..4c69f7c7c 100644 --- a/src/emucore/CartMDM.cxx +++ b/src/emucore/CartMDM.cxx @@ -112,6 +112,8 @@ bool CartridgeMDM::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } diff --git a/src/emucore/CartMNetwork.cxx b/src/emucore/CartMNetwork.cxx index e9a3a5e45..c5ff0cfab 100644 --- a/src/emucore/CartMNetwork.cxx +++ b/src/emucore/CartMNetwork.cxx @@ -71,6 +71,8 @@ void CartridgeMNetwork::setAccess(uInt16 addrFrom, uInt16 size, else if(type == System::PageAccessType::WRITE) // all RAM writes mapped to ::poke() access.directPokeBase = nullptr; access.romAccessBase = &myRomAccessBase[codeOffset + (addr & addrMask)]; + access.romPeekCounter = &myRomAccessCounter[codeOffset + (addr & addrMask)]; + access.romPokeCounter = &myRomAccessCounter[codeOffset + (addr & addrMask) + myAccessSize]; mySystem->setPageAccess(addr, access); } } @@ -87,6 +89,8 @@ void CartridgeMNetwork::install(System& system) addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[0x1fc0]; + access.romPeekCounter = &myRomAccessCounter[0x1fc0]; + access.romPokeCounter = &myRomAccessCounter[0x1fc0 + myAccessSize]; mySystem->setPageAccess(addr, access); } /*setAccess(0x1FE0 & ~System::PAGE_MASK, System::PAGE_SIZE, diff --git a/src/emucore/CartSB.cxx b/src/emucore/CartSB.cxx index 34db0cca1..44ff9381f 100644 --- a/src/emucore/CartSB.cxx +++ b/src/emucore/CartSB.cxx @@ -122,6 +122,8 @@ bool CartridgeSB::bank(uInt16 bank) { access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; + access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartUA.cxx b/src/emucore/CartUA.cxx index ed2bd80bf..bfa1321bb 100644 --- a/src/emucore/CartUA.cxx +++ b/src/emucore/CartUA.cxx @@ -137,7 +137,7 @@ bool CartridgeUA::bank(uInt16 bank) access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; diff --git a/src/emucore/CartWD.cxx b/src/emucore/CartWD.cxx index 62b5a6c17..c6373fa05 100644 --- a/src/emucore/CartWD.cxx +++ b/src/emucore/CartWD.cxx @@ -65,7 +65,7 @@ void CartridgeWD::install(System& system) read.directPeekBase = &myRAM[addr & 0x003F]; read.romAccessBase = &myRomAccessBase[addr & 0x003F]; read.romPeekCounter = &myRomAccessCounter[addr & 0x003F]; - read.romPokeCounter = &myRomAccessCounter[(addr & 0x003F) + myImage.size()]; + read.romPokeCounter = &myRomAccessCounter[(addr & 0x003F) + 8_KB]; mySystem->setPageAccess(addr, read); } @@ -77,7 +77,7 @@ void CartridgeWD::install(System& system) { write.romAccessBase = &myRomAccessBase[addr & 0x003F]; write.romPeekCounter = &myRomAccessCounter[addr & 0x003F]; - write.romPokeCounter = &myRomAccessCounter[(addr & 0x003F) + myImage.size()]; + write.romPokeCounter = &myRomAccessCounter[(addr & 0x003F) + 8_KB]; mySystem->setPageAccess(addr, write); } @@ -183,7 +183,7 @@ void CartridgeWD::segmentZero(uInt8 slice) { access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; - access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + 8_KB]; mySystem->setPageAccess(addr, access); } myOffset[0] = offset; @@ -199,7 +199,7 @@ void CartridgeWD::segmentOne(uInt8 slice) { access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; - access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + 8_KB]; mySystem->setPageAccess(addr, access); } myOffset[1] = offset; @@ -215,7 +215,7 @@ void CartridgeWD::segmentTwo(uInt8 slice) { access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; - access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + 8_KB]; mySystem->setPageAccess(addr, access); } myOffset[2] = offset; @@ -237,7 +237,7 @@ void CartridgeWD::segmentThree(uInt8 slice) { access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)]; access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)]; - access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + 8_KB]; mySystem->setPageAccess(addr, access); } myOffset[3] = offset; diff --git a/src/emucore/CartX07.cxx b/src/emucore/CartX07.cxx index 49fc30e0f..96bf5e4ed 100644 --- a/src/emucore/CartX07.cxx +++ b/src/emucore/CartX07.cxx @@ -117,7 +117,7 @@ bool CartridgeX07::bank(uInt16 bank) access.directPeekBase = &myImage[offset + (addr & 0x0FFF)]; access.romAccessBase = &myRomAccessBase[offset + (addr & 0x0FFF)]; access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x0FFF)]; - access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x0FFF) + myImage.size()]; + access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x0FFF) + myAccessSize]; mySystem->setPageAccess(addr, access); } return myBankChanged = true; From 541a40c44b017a92756336d6ed83dfbeb51ca551 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Thu, 2 Apr 2020 16:26:56 +0200 Subject: [PATCH 68/80] fix right diff action on Command menus --- src/gui/CommandDialog.cxx | 2 +- src/gui/MinUICommandDialog.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/CommandDialog.cxx b/src/gui/CommandDialog.cxx index d33fe3c57..6eaf714b7 100644 --- a/src/gui/CommandDialog.cxx +++ b/src/gui/CommandDialog.cxx @@ -65,7 +65,7 @@ CommandDialog::CommandDialog(OSystem& osystem, DialogContainer& parent) wid.push_back(myColorButton); myLeftDiffButton = ADD_CD_BUTTON("", kLeftDiffCmd); wid.push_back(myLeftDiffButton); - myRightDiffButton = ADD_CD_BUTTON("", kLeftDiffCmd); + myRightDiffButton = ADD_CD_BUTTON("", kRightDiffCmd); wid.push_back(myRightDiffButton); // Column 2 diff --git a/src/gui/MinUICommandDialog.cxx b/src/gui/MinUICommandDialog.cxx index dbb17870a..b93b95890 100644 --- a/src/gui/MinUICommandDialog.cxx +++ b/src/gui/MinUICommandDialog.cxx @@ -67,7 +67,7 @@ MinUICommandDialog::MinUICommandDialog(OSystem& osystem, DialogContainer& parent wid.push_back(myColorButton); myLeftDiffButton = ADD_CD_BUTTON("", kLeftDiffCmd); wid.push_back(myLeftDiffButton); - myRightDiffButton = ADD_CD_BUTTON("", kLeftDiffCmd); + myRightDiffButton = ADD_CD_BUTTON("", kRightDiffCmd); wid.push_back(myRightDiffButton); // Column 2 From 17835be278db445ae2ea56f9de7283f267da1b18 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Thu, 2 Apr 2020 17:59:04 +0200 Subject: [PATCH 69/80] fix M6532 access counters make stack pops result into DATA access --- src/emucore/M6502.ins | 10 +++++----- src/emucore/M6502.m4 | 10 +++++----- src/emucore/M6532.cxx | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/emucore/M6502.ins b/src/emucore/M6502.ins index f48e689eb..e04ac9cb2 100644 --- a/src/emucore/M6502.ins +++ b/src/emucore/M6502.ins @@ -3770,9 +3770,9 @@ case 0x40: } { peek(0x0100 + SP++, DISASM_NONE); - PS(peek(0x0100 + SP++, DISASM_NONE)); - PC = peek(0x0100 + SP++, DISASM_NONE); - PC |= (uInt16(peek(0x0100 + SP, DISASM_NONE)) << 8); + PS(peek(0x0100 + SP++, DISASM_DATA)); + PC = peek(0x0100 + SP++, DISASM_DATA); + PC |= (uInt16(peek(0x0100 + SP, DISASM_DATA)) << 8); } break; @@ -3784,8 +3784,8 @@ case 0x60: } { peek(0x0100 + SP++, DISASM_NONE); - PC = peek(0x0100 + SP++, DISASM_NONE); - PC |= (uInt16(peek(0x0100 + SP, DISASM_NONE)) << 8); + PC = peek(0x0100 + SP++, DISASM_DATA); + PC |= (uInt16(peek(0x0100 + SP, DISASM_DATA)) << 8); peek(PC++, DISASM_NONE); } break; diff --git a/src/emucore/M6502.m4 b/src/emucore/M6502.m4 index 0c9046018..da097512f 100644 --- a/src/emucore/M6502.m4 +++ b/src/emucore/M6502.m4 @@ -885,15 +885,15 @@ define(M6502_RRA, `{ define(M6502_RTI, `{ peek(0x0100 + SP++, DISASM_NONE); - PS(peek(0x0100 + SP++, DISASM_NONE)); - PC = peek(0x0100 + SP++, DISASM_NONE); - PC |= (uInt16(peek(0x0100 + SP, DISASM_NONE)) << 8); + PS(peek(0x0100 + SP++, DISASM_DATA)); + PC = peek(0x0100 + SP++, DISASM_DATA); + PC |= (uInt16(peek(0x0100 + SP, DISASM_DATA)) << 8); }') define(M6502_RTS, `{ peek(0x0100 + SP++, DISASM_NONE); - PC = peek(0x0100 + SP++, DISASM_NONE); - PC |= (uInt16(peek(0x0100 + SP, DISASM_NONE)) << 8); + PC = peek(0x0100 + SP++, DISASM_DATA); + PC |= (uInt16(peek(0x0100 + SP, DISASM_DATA)) << 8); peek(PC++, DISASM_NONE); }') diff --git a/src/emucore/M6532.cxx b/src/emucore/M6532.cxx index 3453596cd..f9eb8025c 100644 --- a/src/emucore/M6532.cxx +++ b/src/emucore/M6532.cxx @@ -501,15 +501,15 @@ void M6532::setAccessFlags(uInt16 address, Device::AccessFlags flags) void M6532::increaseAccessCounter(uInt16 address, bool isWrite) { if (address & IO_BIT) - myIOAccessCounter[isWrite ? 0 : IO_SIZE + (address & IO_MASK)]++; + myIOAccessCounter[(isWrite ? IO_SIZE : 0) + (address & IO_MASK)]++; else { // the first access, either by direct RAM or stack access is assumed as initialization if (myZPAccessDelay[address & RAM_MASK]) myZPAccessDelay[address & RAM_MASK]--; else if (address & STACK_BIT) - myStackAccessCounter[isWrite ? 0 : STACK_SIZE + (address & STACK_MASK)]++; + myStackAccessCounter[(isWrite ? STACK_SIZE : 0) + (address & STACK_MASK)]++; else - myRAMAccessCounter[isWrite ? 0 : RAM_SIZE + (address & RAM_MASK)]++; + myRAMAccessCounter[(isWrite ? RAM_SIZE : 0) + (address & RAM_MASK)]++; } } From b93a07dcfa97e4bc0ccdfde6b19211de864a98f5 Mon Sep 17 00:00:00 2001 From: Christian Speckner Date: Thu, 2 Apr 2020 21:14:49 +0200 Subject: [PATCH 70/80] 3E: fix invalid access on write to ROM. --- src/emucore/Cart3E.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/emucore/Cart3E.cxx b/src/emucore/Cart3E.cxx index 15084b53e..3f2b1263f 100644 --- a/src/emucore/Cart3E.cxx +++ b/src/emucore/Cart3E.cxx @@ -115,6 +115,9 @@ bool Cartridge3E::poke(uInt16 address, uInt8 value) } else { + if (myCurrentBank < 256) + return false; + if(address & 0x0400) { pokeRAM(myRAM[(address & 0x03FF) + ((myCurrentBank - 256) << 10)], pokeAddress, value); From 29fcc9644f55aa0db82f93ed2fdf707e26b40e66 Mon Sep 17 00:00:00 2001 From: Christian Speckner Date: Thu, 2 Apr 2020 21:18:56 +0200 Subject: [PATCH 71/80] 3E: improve debugger handling for writes to ROM space. --- src/emucore/Cart3E.cxx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/emucore/Cart3E.cxx b/src/emucore/Cart3E.cxx index 3f2b1263f..f908cd65a 100644 --- a/src/emucore/Cart3E.cxx +++ b/src/emucore/Cart3E.cxx @@ -115,17 +115,14 @@ bool Cartridge3E::poke(uInt16 address, uInt8 value) } else { - if (myCurrentBank < 256) - return false; - - if(address & 0x0400) + if(address & 0x0400 && myCurrentBank >= 256) { pokeRAM(myRAM[(address & 0x03FF) + ((myCurrentBank - 256) << 10)], pokeAddress, value); return true; } else { - // Writing to the read port should be ignored, but trigger a break if option enabled + // Writing to the read port or to ROM should be ignored, but trigger a break if option enabled uInt8 dummy; pokeRAM(dummy, pokeAddress, value); From defeee600ec376a3d1099d23df22052df265e4c1 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Thu, 2 Apr 2020 20:44:13 -0230 Subject: [PATCH 72/80] A little more optimization to 3E scheme. --- src/emucore/Cart3E.cxx | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/src/emucore/Cart3E.cxx b/src/emucore/Cart3E.cxx index f908cd65a..0947d783e 100644 --- a/src/emucore/Cart3E.cxx +++ b/src/emucore/Cart3E.cxx @@ -75,25 +75,19 @@ uInt8 Cartridge3E::peek(uInt16 address) uInt16 peekAddress = address; address &= 0x0FFF; - if(address < 0x0800) + // Due to the way paging is set up, the only way to get here is a TIA read or + // attempting to read from the RAM write port + + if(address < 0x0040) // TIA access + return mySystem->tia().peek(address); + else if(myCurrentBank >= 256) { - if(myCurrentBank < 256) - return myImage[(address & 0x07FF) + (myCurrentBank << 11)]; - else - { - if(address < 0x0400) - return myRAM[(address & 0x03FF) + ((myCurrentBank - 256) << 10)]; - else - { - // Reading from the write port triggers an unwanted write - return peekRAM(myRAM[(address & 0x03FF) + ((myCurrentBank - 256) << 10)], peekAddress); - } - } - } - else - { - return myImage[(address & 0x07FF) + mySize - 2048]; + // Reading from the write port triggers an unwanted write + return peekRAM(myRAM[(address & 0x03FF) + ((myCurrentBank - 256) << 10)], peekAddress); } + + // Make compiler happy; should never get here + return myImage[(address & 0x07FF) + mySize - 2048]; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -113,16 +107,17 @@ bool Cartridge3E::poke(uInt16 address, uInt8 value) return mySystem->tia().poke(address, value); } - else + else if(myCurrentBank >= 256) { - if(address & 0x0400 && myCurrentBank >= 256) + if(address & 0x0400) { - pokeRAM(myRAM[(address & 0x03FF) + ((myCurrentBank - 256) << 10)], pokeAddress, value); + pokeRAM(myRAM[(address & 0x03FF) + ((myCurrentBank - 256) << 10)], + pokeAddress, value); return true; } else { - // Writing to the read port or to ROM should be ignored, but trigger a break if option enabled + // Writing to the read port should be ignored, but trigger a break if option enabled uInt8 dummy; pokeRAM(dummy, pokeAddress, value); @@ -130,6 +125,7 @@ bool Cartridge3E::poke(uInt16 address, uInt8 value) return false; } } + return false; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -178,6 +174,7 @@ bool Cartridge3E::bank(uInt16 bank) System::PageAccess access(this, System::PageAccessType::READ); // Map read-port RAM image into the system + // Writes are mapped to poke(), to check for write to the read port for(uInt16 addr = 0x1000; addr < 0x1400; addr += System::PAGE_SIZE) { access.directPeekBase = &myRAM[offset + (addr & 0x03FF)]; @@ -191,8 +188,7 @@ bool Cartridge3E::bank(uInt16 bank) access.type = System::PageAccessType::WRITE; // Map write-port RAM image into the system - // Map access to this class, since we need to inspect all accesses to - // check if RWP happens + // Reads are mapped to peek(), to check for read from write port for(uInt16 addr = 0x1400; addr < 0x1800; addr += System::PAGE_SIZE) { access.romAccessBase = &myRomAccessBase[mySize + offset + (addr & 0x03FF)]; From 3f5453e9d4c46265ac6958cafd23c56e0271cc2b Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Thu, 2 Apr 2020 20:58:02 -0230 Subject: [PATCH 73/80] Synchronize changelog from 6.1.1. --- Changes.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Changes.txt b/Changes.txt index 8babda153..3ae1dba63 100644 --- a/Changes.txt +++ b/Changes.txt @@ -29,11 +29,16 @@ 6.1 to 6.1.1: (April 4, 2020) + * Fixed crash in 3E bankswitching scheme when writing to ROM addresses. + * Fix snapshots on Retina HiDPI displays capturing only the top-left corner. * Fixed wrong color for BK (background) swatch in the debugger. + * Fixed 'Right Diff' button in Command menu changing left difficulty + instead. + * Fixed compilation of libretro port on Debian Buster. From f0234c105fc06b4df9535130f46dda9dfa115c77 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sat, 4 Apr 2020 11:25:02 +0200 Subject: [PATCH 74/80] allow changing default ROM path directly in launcher (resolves #610) --- src/gui/LauncherDialog.cxx | 69 ++++++++++++++++++++++++++------------ src/gui/LauncherDialog.hxx | 11 +++--- 2 files changed, 54 insertions(+), 26 deletions(-) diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index 2bad88ef0..2e79307a8 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -66,7 +66,7 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, const int fontWidth = font.getMaxCharWidth(), fontHeight = font.getFontHeight(), lineHeight = font.getLineHeight(), - bwidth = (_w - 2 * HBORDER - BUTTON_GAP * (4 - 1)), + bwidth = (_w - 2 * HBORDER - BUTTON_GAP * (5 - 1)), bheight = myUseMinimalUI ? lineHeight - 4 : lineHeight + 4, LBL_GAP = fontWidth; int xpos = 0, ypos = 0, lwidth = 0, lwidth2 = 0; @@ -176,35 +176,50 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, // Add four buttons at the bottom xpos = HBORDER; ypos += myDir->getHeight() + 8; #ifndef BSPF_MACOS - myStartButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 0) / 4, bheight, + myStartButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 0) / 5, bheight, "Select", kLoadROMCmd); wid.push_back(myStartButton); - xpos += (bwidth + 0) / 4 + BUTTON_GAP; - myPrevDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 1) / 4, bheight, + + xpos += (bwidth + 0) / 5 + BUTTON_GAP; + myPrevDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 1) / 5, bheight, "Go Up", kPrevDirCmd); wid.push_back(myPrevDirButton); - xpos += (bwidth + 1) / 4 + BUTTON_GAP; - myOptionsButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 2) / 4, bheight, - "Options" + ELLIPSIS, kOptionsCmd); - wid.push_back(myOptionsButton); - xpos += (bwidth + 2) / 4 + BUTTON_GAP; - myQuitButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 3) / 4, bheight, - "Quit", kQuitCmd); - wid.push_back(myQuitButton); - #else - myQuitButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 0) / 4, bheight, - "Quit", kQuitCmd); - wid.push_back(myQuitButton); - xpos += (bwidth + 0) / 4 + BUTTON_GAP; - myOptionsButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 1) / 4, bheight, + + xpos += (bwidth + 1) / 5 + BUTTON_GAP; + mySetDefaultDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 2) / 5, bheight, + "Set Path", kDefaultDirCmd); + wid.push_back(mySetDefaultDirButton); + + xpos += (bwidth + 2) / 5 + BUTTON_GAP; + myOptionsButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 3) / 5, bheight, "Options" + ELLIPSIS, kOptionsCmd); wid.push_back(myOptionsButton); - xpos += (bwidth + 1) / 4 + BUTTON_GAP; - myPrevDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 2) / 4, bheight, + + xpos += (bwidth + 3) / 5 + BUTTON_GAP; + myQuitButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 4) / 5, bheight, + "Quit", kQuitCmd); + wid.push_back(myQuitButton); + #else + myQuitButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 0) / 5, bheight, + "Quit", kQuitCmd); + wid.push_back(myQuitButton); + + xpos += (bwidth + 0) / 5 + BUTTON_GAP; + myOptionsButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 1) / 5, bheight, + "Options" + ELLIPSIS, kOptionsCmd); + wid.push_back(myOptionsButton); + + xpos += (bwidth + 1) / 5 + BUTTON_GAP; + mySetDefaultDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 2) / 5, bheight, + "Set Path", kDefaultDirCmd); + + xpos += (bwidth + 2) / 5 + BUTTON_GAP; + myPrevDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 3) / 5, bheight, "Go Up", kPrevDirCmd); wid.push_back(myPrevDirButton); - xpos += (bwidth + 2) / 4 + BUTTON_GAP; - myStartButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 3) / 4, bheight, + + xpos += (bwidth + 3) / 5 + BUTTON_GAP; + myStartButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 4) / 5, bheight, "Select", kLoadROMCmd); wid.push_back(myStartButton); #endif @@ -582,6 +597,10 @@ void LauncherDialog::handleCommand(CommandSender* sender, int cmd, myList->selectParent(); break; + case kDefaultDirCmd: + setDefaultDir(); + break; + case FileListWidget::ItemChanged: updateUI(); break; @@ -637,6 +656,12 @@ void LauncherDialog::loadRom() instance().frameBuffer().showMessage(result, MessagePosition::MiddleCenter, true); } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void LauncherDialog::setDefaultDir() +{ + instance().settings().setValue("romdir", myList->currentDir().getShortPath()); +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void LauncherDialog::openSettings() { diff --git a/src/gui/LauncherDialog.hxx b/src/gui/LauncherDialog.hxx index d734cdba5..6c03cd18d 100644 --- a/src/gui/LauncherDialog.hxx +++ b/src/gui/LauncherDialog.hxx @@ -117,6 +117,7 @@ class LauncherDialog : public Dialog void loadRomInfo(); void handleContextMenu(); void showOnlyROMs(bool state); + void setDefaultDir(); void openSettings(); private: @@ -131,6 +132,7 @@ class LauncherDialog : public Dialog ButtonWidget* myStartButton{nullptr}; ButtonWidget* myPrevDirButton{nullptr}; + ButtonWidget* mySetDefaultDirButton{nullptr}; ButtonWidget* myOptionsButton{nullptr}; ButtonWidget* myQuitButton{nullptr}; @@ -151,10 +153,11 @@ class LauncherDialog : public Dialog bool myEventHandled{false}; enum { - kAllfilesCmd = 'lalf', // show all files (or ROMs only) - kPrevDirCmd = 'PRVD', - kOptionsCmd = 'OPTI', - kQuitCmd = 'QUIT' + kAllfilesCmd = 'lalf', // show all files (or ROMs only) + kPrevDirCmd = 'PRVD', + kDefaultDirCmd = 'DEFD', + kOptionsCmd = 'OPTI', + kQuitCmd = 'QUIT' }; private: From 0753972d47f44da5728eb8b2d52bfc1a1119b87d Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 5 Apr 2020 19:55:45 +0200 Subject: [PATCH 75/80] add configurable driving controller sensitivity --- Changes.txt | 4 +++- src/emucore/Driving.cxx | 21 +++++++++++++++------ src/emucore/Driving.hxx | 15 ++++++++++++++- src/emucore/EventHandler.cxx | 2 ++ src/emucore/Settings.cxx | 7 +++++++ src/gui/InputDialog.cxx | 32 +++++++++++++++++++++++++++----- src/gui/InputDialog.hxx | 2 ++ 7 files changed, 70 insertions(+), 13 deletions(-) diff --git a/Changes.txt b/Changes.txt index 3ae1dba63..dc28ed6e7 100644 --- a/Changes.txt +++ b/Changes.txt @@ -14,7 +14,9 @@ 6.1 to 6.2: (??? ??, 2020) - * Added that paddle centering and sensitivity can be adjusted now (TOOD: Doc) + * Added that paddle centering and sensitivity can be adjusted (TOOD: Doc) + + * Added that Driving controller sensitivity can be adjusted (TOOD: Doc) * Added high scores: Score addresses, game variation etc. can be defined for a game. This allows the user to save high scores for these games. For each diff --git a/src/emucore/Driving.cxx b/src/emucore/Driving.cxx index 74fa30139..83f27e336 100644 --- a/src/emucore/Driving.cxx +++ b/src/emucore/Driving.cxx @@ -49,10 +49,6 @@ Driving::Driving(Jack jack, const Event& event, const System& system) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void Driving::update() { - // Make sure direct gray codes from Stelladaptor stay in sync with - // simulated gray codes generated by PC keyboard or PC joystick - myCounter = (myGrayIndex << 2) | (myCounter & 3); - // Digital events (from keyboard or joystick hats & buttons) setPin(DigitalPin::Six, myEvent.get(myFireEvent) == 0); int d_axis = myEvent.get(myXAxisValue); @@ -92,8 +88,7 @@ void Driving::update() } // Only consider the lower-most bits (corresponding to pins 1 & 2) - myCounter &= 0x0f; - myGrayIndex = myCounter >> 2; + myGrayIndex = Int32(myCounter * SENSITIVITY / 4.0F) & 0b11; // Stelladaptor is the only controller that should set this int yaxis = myEvent.get(myYAxisValue); @@ -111,6 +106,10 @@ void Driving::update() myGrayIndex = 2; // up + down else /* if(yaxis < 16384-4096) */ myGrayIndex = 0; // no movement + + // Make sure direct gray codes from Stelladaptor stay in sync with + // simulated gray codes generated by PC keyboard or PC joystick + myCounter = myGrayIndex / SENSITIVITY * 4.0F; } // Gray codes for rotation @@ -154,3 +153,13 @@ bool Driving::setMouseControl( return true; } + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void Driving::setSensitivity(int sensitivity) +{ + BSPF::clamp(sensitivity, 1, 20, 10); + SENSITIVITY = sensitivity / 10.0F; +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +float Driving::SENSITIVITY = 1.0; diff --git a/src/emucore/Driving.hxx b/src/emucore/Driving.hxx index 51c0226c3..6d0adaea8 100644 --- a/src/emucore/Driving.hxx +++ b/src/emucore/Driving.hxx @@ -76,9 +76,18 @@ class Driving : public Controller bool setMouseControl( Controller::Type xtype, int xid, Controller::Type ytype, int yid) override; + /** + Sets the sensitivity for digital emulation of driving controlle movement + using a keyboard. + + @param sensitivity Value from 1 to 20, with larger values causing + more movement (10 represents the baseline) + */ + static void setSensitivity(int sensitivity); + private: // Counter to iterate through the gray codes - uInt32 myCounter{0}; + Int32 myCounter{0}; // Index into the gray code table uInt32 myGrayIndex{0}; @@ -98,6 +107,10 @@ class Driving : public Controller // Controllers to emulate in 'specific' mouse axis mode int myControlIDX{-1}, myControlIDY{-1}; + // User-defined sensitivity; adjustable since end-users may prefer different + // speeds + static float SENSITIVITY; + private: // Following constructors and assignment operators not supported Driving() = delete; diff --git a/src/emucore/EventHandler.cxx b/src/emucore/EventHandler.cxx index 4e6b3712d..4433ed244 100644 --- a/src/emucore/EventHandler.cxx +++ b/src/emucore/EventHandler.cxx @@ -29,6 +29,7 @@ #include "Paddles.hxx" #include "Lightgun.hxx" #include "PointingDevice.hxx" +#include "Driving.hxx" #include "PropsSet.hxx" #include "Settings.hxx" #include "Sound.hxx" @@ -97,6 +98,7 @@ void EventHandler::initialize() Paddles::setDigitalSensitivity(myOSystem.settings().getInt("dsense")); Paddles::setMouseSensitivity(myOSystem.settings().getInt("msense")); PointingDevice::setSensitivity(myOSystem.settings().getInt("tsense")); + Driving::setSensitivity(myOSystem.settings().getInt("dcsense")); #ifdef GUI_SUPPORT // Set quick select delay when typing characters in listwidgets diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index d4cdb81e8..a5bda6055 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -106,6 +106,7 @@ Settings::Settings() setPermanent("psense", "20"); setPermanent("msense", "10"); setPermanent("tsense", "10"); + setPermanent("dcsense", "10"); setPermanent("saport", "lr"); setPermanent("modcombo", "true"); @@ -339,6 +340,10 @@ void Settings::validate() if(i < 1 || i > 20) setValue("tsense", "10"); + i = getInt("dcsense"); + if(i < 1 || i > 20) + setValue("dcsense", "10"); + i = getInt("ssinterval"); if(i < 1) setValue("ssinterval", "2"); else if(i > 10) setValue("ssinterval", "10"); @@ -457,6 +462,8 @@ void Settings::usage() const << " -dsense <1-20> Sensitivity of digital emulated paddle movement\n" << " -msense <1-20> Sensitivity of mouse emulated paddle movement\n" << " -tsense <1-20> Sensitivity of mouse emulated trackball movement\n" + << " -dcsense <1-20> Sensitivity of digital emulated driving controller\n" + << " movement\n" << " -saport How to assign virtual ports to multiple\n" << " Stelladaptor/2600-daptors\n" << " -modcombo <1|0> Enable modifer key combos\n" diff --git a/src/gui/InputDialog.cxx b/src/gui/InputDialog.cxx index 5931ed44a..e5eaa9057 100644 --- a/src/gui/InputDialog.cxx +++ b/src/gui/InputDialog.cxx @@ -22,6 +22,7 @@ #include "Joystick.hxx" #include "Paddles.hxx" #include "PointingDevice.hxx" +#include "Driving.hxx" #include "SaveKey.hxx" #include "AtariVox.hxx" #include "Settings.hxx" @@ -156,7 +157,7 @@ void InputDialog::addDevicePortTab() wid.push_back(myDejitterDiff); // Add paddle speed (digital emulation) - ypos += lineHeight + VGAP * 4; + ypos += lineHeight + VGAP * 3; myDPaddleSpeed = new SliderWidget(myTab, _font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, "Digital paddle sensitivity", lwidth, kDPSpeedChanged, 4 * fontWidth, "%"); @@ -165,7 +166,7 @@ void InputDialog::addDevicePortTab() wid.push_back(myDPaddleSpeed); // Add trackball speed - ypos += lineHeight + VGAP * 2; + ypos += lineHeight + VGAP; myTrackBallSpeed = new SliderWidget(myTab, _font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, "Trackball sensitivity", lwidth, kTBSpeedChanged, 4 * fontWidth, "%"); @@ -173,8 +174,17 @@ void InputDialog::addDevicePortTab() myTrackBallSpeed->setTickmarkIntervals(4); wid.push_back(myTrackBallSpeed); + // Add driving controller speed + ypos += lineHeight + VGAP; + myDrivingSpeed = new SliderWidget(myTab, _font, HBORDER, ypos - 1, 13 * fontWidth, lineHeight, + "Driving contr. sensitivity", + lwidth, kDCSpeedChanged, 4 * fontWidth, "%"); + myDrivingSpeed->setMinValue(1); myDrivingSpeed->setMaxValue(20); + myDrivingSpeed->setTickmarkIntervals(4); + wid.push_back(myDrivingSpeed); + // Add 'allow all 4 directions' for joystick - ypos += lineHeight + VGAP * 4; + ypos += lineHeight + VGAP * 3; myAllowAll4 = new CheckboxWidget(myTab, _font, HBORDER, ypos, "Allow all 4 directions on joystick"); wid.push_back(myAllowAll4); @@ -194,7 +204,7 @@ void InputDialog::addDevicePortTab() int fwidth; // Add EEPROM erase (part 1/2) - ypos += VGAP*4; + ypos += VGAP * 3; fwidth = _font.getStringWidth("AtariVox/SaveKey"); lwidth = _font.getStringWidth("AtariVox/SaveKey"); new StaticTextWidget(myTab, _font, _w - HBORDER - 4 - (fwidth + lwidth) / 2, ypos, @@ -203,7 +213,7 @@ void InputDialog::addDevicePortTab() // Show joystick database ypos += lineHeight; myJoyDlgButton = new ButtonWidget(myTab, _font, HBORDER, ypos, 20, - "Joystick Database" + ELLIPSIS, kDBButtonPressed); + "Joystick Database" + ELLIPSIS, kDBButtonPressed); wid.push_back(myJoyDlgButton); // Add EEPROM erase (part 1/2) @@ -319,6 +329,8 @@ void InputDialog::loadConfig() // Trackball speed myTrackBallSpeed->setValue(instance().settings().getInt("tsense")); + // Driving controller speed + myDrivingSpeed->setValue(instance().settings().getInt("dcsense")); // AtariVox serial port myAVoxPort->setText(instance().settings().getString("avoxport")); @@ -389,6 +401,11 @@ void InputDialog::saveConfig() instance().settings().setValue("tsense", sensitivity); PointingDevice::setSensitivity(sensitivity); + // Driving controller speed + sensitivity = myDrivingSpeed->getValue(); + instance().settings().setValue("dcsense", sensitivity); + Driving::setSensitivity(sensitivity); + // AtariVox serial port instance().settings().setValue("avoxport", myAVoxPort->getText()); @@ -447,6 +464,7 @@ void InputDialog::setDefaults() myDejitterBase->setValue(0); myDejitterDiff->setValue(0); #endif + myDrivingSpeed->setValue(10); myTrackBallSpeed->setValue(10); // AtariVox serial port @@ -621,6 +639,10 @@ void InputDialog::handleCommand(CommandSender* sender, int cmd, myDPaddleSpeed->setValueLabel(myDPaddleSpeed->getValue() * 10); break; + case kDCSpeedChanged: + myDrivingSpeed->setValueLabel(myDrivingSpeed->getValue() * 10); + break; + case kTBSpeedChanged: myTrackBallSpeed->setValueLabel(myTrackBallSpeed->getValue() * 10); break; diff --git a/src/gui/InputDialog.hxx b/src/gui/InputDialog.hxx index 0924f514b..54fde4a91 100644 --- a/src/gui/InputDialog.hxx +++ b/src/gui/InputDialog.hxx @@ -77,6 +77,7 @@ class InputDialog : public Dialog kDejitterReChanged = 'JRch', kDPSpeedChanged = 'PDch', kTBSpeedChanged = 'TBch', + kDCSpeedChanged = 'DCch', kDBButtonPressed = 'DBbp', kEEButtonPressed = 'EEbp', kConfirmEEEraseCmd = 'EEcf', @@ -103,6 +104,7 @@ class InputDialog : public Dialog SliderWidget* myDPaddleSpeed{nullptr}; SliderWidget* myMPaddleSpeed{nullptr}; SliderWidget* myTrackBallSpeed{nullptr}; + SliderWidget* myDrivingSpeed{nullptr}; CheckboxWidget* myAllowAll4{nullptr}; CheckboxWidget* myGrabMouse{nullptr}; CheckboxWidget* myModCombo{nullptr}; From d81f106a5021f3b0cba987747fe4ba4ce819268e Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 5 Apr 2020 21:30:38 +0200 Subject: [PATCH 76/80] remove new default path button replace with an UI option, which lets "romdir" automatically follow the launcher path --- src/emucore/Settings.cxx | 2 ++ src/gui/LauncherDialog.cxx | 52 ++++++++++++++++++-------------------- src/gui/LauncherDialog.hxx | 5 ++-- src/gui/UIDialog.cxx | 14 +++++++++- src/gui/UIDialog.hxx | 1 + 5 files changed, 42 insertions(+), 32 deletions(-) diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index a5bda6055..c3feece37 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -125,6 +125,7 @@ Settings::Settings() // ROM browser options setPermanent("exitlauncher", "false"); + setPermanent("followlauncher", "false"); setPermanent("launcherres", Common::Size(900, 600)); setPermanent("launcherfont", "medium"); setPermanent("launcherroms", "true"); @@ -500,6 +501,7 @@ void Settings::usage() const << " -launcherroms <1|0> Show only ROMs in the launcher (vs. all files)\n" << " -romviewer Show ROM info viewer at given zoom level in ROM\n" << " launcher (use 0 for off)\n" + << " -followlauncher <0|1> Default ROM path follows launcher navigation\n" << " -lastrom Last played ROM, automatically selected in\n" << " launcher\n" << " -romloadcount Number of ROM to load next from multicard\n" diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index 2e79307a8..fc47f9bbe 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -66,7 +66,7 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, const int fontWidth = font.getMaxCharWidth(), fontHeight = font.getFontHeight(), lineHeight = font.getLineHeight(), - bwidth = (_w - 2 * HBORDER - BUTTON_GAP * (5 - 1)), + bwidth = (_w - 2 * HBORDER - BUTTON_GAP * (4 - 1)), bheight = myUseMinimalUI ? lineHeight - 4 : lineHeight + 4, LBL_GAP = fontWidth; int xpos = 0, ypos = 0, lwidth = 0, lwidth2 = 0; @@ -176,50 +176,41 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent, // Add four buttons at the bottom xpos = HBORDER; ypos += myDir->getHeight() + 8; #ifndef BSPF_MACOS - myStartButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 0) / 5, bheight, + myStartButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 0) / 4, bheight, "Select", kLoadROMCmd); wid.push_back(myStartButton); - xpos += (bwidth + 0) / 5 + BUTTON_GAP; - myPrevDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 1) / 5, bheight, + xpos += (bwidth + 0) / 4 + BUTTON_GAP; + myPrevDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 1) / 4, bheight, "Go Up", kPrevDirCmd); wid.push_back(myPrevDirButton); - xpos += (bwidth + 1) / 5 + BUTTON_GAP; - mySetDefaultDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 2) / 5, bheight, - "Set Path", kDefaultDirCmd); - wid.push_back(mySetDefaultDirButton); - - xpos += (bwidth + 2) / 5 + BUTTON_GAP; - myOptionsButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 3) / 5, bheight, + xpos += (bwidth + 1) / 4 + BUTTON_GAP; + myOptionsButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 3) / 4, bheight, "Options" + ELLIPSIS, kOptionsCmd); wid.push_back(myOptionsButton); - xpos += (bwidth + 3) / 5 + BUTTON_GAP; - myQuitButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 4) / 5, bheight, + xpos += (bwidth + 2) / 4 + BUTTON_GAP; + myQuitButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 4) / 4, bheight, "Quit", kQuitCmd); wid.push_back(myQuitButton); #else - myQuitButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 0) / 5, bheight, + myQuitButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 0) / 4, bheight, "Quit", kQuitCmd); wid.push_back(myQuitButton); - xpos += (bwidth + 0) / 5 + BUTTON_GAP; - myOptionsButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 1) / 5, bheight, + xpos += (bwidth + 0) / 4 + BUTTON_GAP; + myOptionsButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 1) / 4, bheight, "Options" + ELLIPSIS, kOptionsCmd); wid.push_back(myOptionsButton); - xpos += (bwidth + 1) / 5 + BUTTON_GAP; - mySetDefaultDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 2) / 5, bheight, - "Set Path", kDefaultDirCmd); - - xpos += (bwidth + 2) / 5 + BUTTON_GAP; - myPrevDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 3) / 5, bheight, + xpos += (bwidth + 1) / 4 + BUTTON_GAP; + myPrevDirButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 2) / 4, bheight, "Go Up", kPrevDirCmd); wid.push_back(myPrevDirButton); - xpos += (bwidth + 3) / 5 + BUTTON_GAP; - myStartButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 4) / 5, bheight, + xpos += (bwidth + 2) / 4 + BUTTON_GAP; + myStartButton = new ButtonWidget(this, font, xpos, ypos, (bwidth + 3) / 4, bheight, "Select", kLoadROMCmd); wid.push_back(myStartButton); #endif @@ -317,6 +308,13 @@ void LauncherDialog::loadConfig() myList->clearFlags(Widget::FLAG_WANTS_RAWDATA); // always reset this } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +void LauncherDialog::saveConfig() +{ + if(instance().settings().getBool("followlauncher")) + instance().settings().setValue("romdir", myList->currentDir().getShortPath()); +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void LauncherDialog::updateUI() { @@ -586,6 +584,7 @@ void LauncherDialog::handleCommand(CommandSender* sender, int cmd, case kLoadROMCmd: case FileListWidget::ItemActivated: + saveConfig(); loadRom(); break; @@ -597,10 +596,6 @@ void LauncherDialog::handleCommand(CommandSender* sender, int cmd, myList->selectParent(); break; - case kDefaultDirCmd: - setDefaultDir(); - break; - case FileListWidget::ItemChanged: updateUI(); break; @@ -617,6 +612,7 @@ void LauncherDialog::handleCommand(CommandSender* sender, int cmd, break; case kQuitCmd: + saveConfig(); close(); instance().eventHandler().quit(); break; diff --git a/src/gui/LauncherDialog.hxx b/src/gui/LauncherDialog.hxx index 6c03cd18d..dc1058356 100644 --- a/src/gui/LauncherDialog.hxx +++ b/src/gui/LauncherDialog.hxx @@ -107,6 +107,7 @@ class LauncherDialog : public Dialog Event::Type getJoyAxisEvent(int stick, JoyAxis axis, JoyDir adir, int button) override; void loadConfig() override; + void saveConfig() override; void updateUI(); void applyFiltering(); @@ -131,8 +132,7 @@ class LauncherDialog : public Dialog unique_ptr myROMInfoFont; ButtonWidget* myStartButton{nullptr}; - ButtonWidget* myPrevDirButton{nullptr}; - ButtonWidget* mySetDefaultDirButton{nullptr}; + ButtonWidget* myPrevDirButton{nullptr}; ButtonWidget* myOptionsButton{nullptr}; ButtonWidget* myQuitButton{nullptr}; @@ -155,7 +155,6 @@ class LauncherDialog : public Dialog enum { kAllfilesCmd = 'lalf', // show all files (or ROMs only) kPrevDirCmd = 'PRVD', - kDefaultDirCmd = 'DEFD', kOptionsCmd = 'OPTI', kQuitCmd = 'QUIT' }; diff --git a/src/gui/UIDialog.cxx b/src/gui/UIDialog.cxx index 175b8624b..fd52fa483 100644 --- a/src/gui/UIDialog.cxx +++ b/src/gui/UIDialog.cxx @@ -189,8 +189,14 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent, myRomPath = new EditTextWidget(myTab, font, xpos, ypos + 1, _w - xpos - HBORDER - 2, lineHeight, ""); wid.push_back(myRomPath); + + xpos = _w - HBORDER - font.getStringWidth("Follow Launcher path") - 24; + ypos += lineHeight + V_GAP * 2; + myFollowLauncherWidget = new CheckboxWidget(myTab, font, xpos, ypos, "Follow Launcher path"); + wid.push_back(myFollowLauncherWidget); + xpos = HBORDER; - ypos += lineHeight + V_GAP * 4; + ypos += V_GAP * 2; // Launcher width and height myLauncherWidthSlider = new SliderWidget(myTab, font, xpos, ypos, "Launcher width ", @@ -309,6 +315,9 @@ void UIDialog::loadConfig() myLauncherWidthSlider->setValue(w); myLauncherHeightSlider->setValue(h); + // Follow Launcher path + myFollowLauncherWidget->setState(settings.getBool("followlauncher")); + // Launcher font const string& font = settings.getString("launcherfont"); myLauncherFontPopup->setSelected(font, "medium"); @@ -379,6 +388,9 @@ void UIDialog::saveConfig() // ROM path settings.setValue("romdir", myRomPath->getText()); + // Follow Launcher path + settings.setValue("followlauncher", myFollowLauncherWidget->getState()); + // Launcher size settings.setValue("launcherres", Common::Size(myLauncherWidthSlider->getValue(), diff --git a/src/gui/UIDialog.hxx b/src/gui/UIDialog.hxx index ff41c7702..4517396d0 100644 --- a/src/gui/UIDialog.hxx +++ b/src/gui/UIDialog.hxx @@ -54,6 +54,7 @@ class UIDialog : public Dialog, public CommandSender // Launcher options EditTextWidget* myRomPath{nullptr}; + CheckboxWidget* myFollowLauncherWidget{nullptr}; SliderWidget* myLauncherWidthSlider{nullptr}; SliderWidget* myLauncherHeightSlider{nullptr}; PopUpWidget* myLauncherFontPopup{nullptr}; From 108d9c26f9899bd584ef2bc0075c4e8a4eb5f6f2 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Sun, 5 Apr 2020 22:29:23 +0200 Subject: [PATCH 77/80] update changes.txt --- Changes.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Changes.txt b/Changes.txt index dc28ed6e7..2de2987ee 100644 --- a/Changes.txt +++ b/Changes.txt @@ -14,13 +14,15 @@ 6.1 to 6.2: (??? ??, 2020) - * Added that paddle centering and sensitivity can be adjusted (TOOD: Doc) + * Added that paddle centering and sensitivity can be adjusted (TODO: Doc) - * Added that Driving controller sensitivity can be adjusted (TOOD: Doc) + * Added that Driving controller sensitivity can be adjusted (TODO: Doc) * Added high scores: Score addresses, game variation etc. can be defined for a game. This allows the user to save high scores for these games. For each - game and variation, the top 10 scores can be saved. (TOOD: Doc) + game and variation, the top 10 scores can be saved. (TODO: Doc) + + * Add option which lets default ROM path follow launcher navigation (TODO: Doc) * Added displaying last write address in the debugger. From 85f0ae18c6bf575e475fbfdb5cca854b72b57282 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Wed, 8 Apr 2020 11:59:02 -0230 Subject: [PATCH 78/80] Fix 'saveconfig' not saving file correctly (fixes #602). --- Changes.txt | 2 ++ src/debugger/CartDebug.cxx | 22 ++++++++++++---------- src/debugger/CartDebug.hxx | 2 +- src/emucore/OSystem.cxx | 4 ++++ src/emucore/OSystem.hxx | 8 ++++++++ 5 files changed, 27 insertions(+), 11 deletions(-) diff --git a/Changes.txt b/Changes.txt index 2de2987ee..60fd29f4e 100644 --- a/Changes.txt +++ b/Changes.txt @@ -28,6 +28,8 @@ * Added detection of color and audio data in DiStella. + * Restored 'cfg' directory for Distella config files. + -Have fun! diff --git a/src/debugger/CartDebug.cxx b/src/debugger/CartDebug.cxx index 612f51542..a52732cfe 100644 --- a/src/debugger/CartDebug.cxx +++ b/src/debugger/CartDebug.cxx @@ -843,12 +843,13 @@ string CartDebug::loadSymbolFile() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - string CartDebug::loadConfigFile() { - // The default naming/location for config files is the ROM dir based on the - // actual ROM filename + // The default naming/location for config files is the CFG dir and based + // on the actual ROM filename if(myCfgFile == "") { - FilesystemNode cfg(myOSystem.romFile().getPathWithExt("") + ".cfg"); + FilesystemNode romNode(myOSystem.romFile().getPathWithExt("") + ".cfg"); + FilesystemNode cfg(myOSystem.cfgDir() + romNode.getName()); if(cfg.isFile() && cfg.isReadable()) myCfgFile = cfg.getPath(); else @@ -964,14 +965,14 @@ string CartDebug::loadConfigFile() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - string CartDebug::saveConfigFile() { - // The default naming/location for config files is the ROM dir based on the - // actual ROM filename + // The default naming/location for config files is the CFG dir and based + // on the actual ROM filename - FilesystemNode cfg; if(myCfgFile == "") { - cfg = FilesystemNode(myOSystem.romFile().getPathWithExt("") + ".cfg"); - if(cfg.isFile() && cfg.isWritable()) + FilesystemNode romNode(myOSystem.romFile().getPathWithExt("") + ".cfg"); + FilesystemNode cfg(myOSystem.cfgDir() + romNode.getName()); + if(cfg.getParent().isWritable()) myCfgFile = cfg.getPath(); else return DebuggerParser::red("config file \'" + cfg.getShortPath() + "\' not writable"); @@ -980,13 +981,14 @@ string CartDebug::saveConfigFile() const string& name = myConsole.properties().get(PropType::Cart_Name); const string& md5 = myConsole.properties().get(PropType::Cart_MD5); + FilesystemNode cfg(myCfgFile); ofstream out(cfg.getPath()); if(!out.is_open()) return "Unable to save directives to " + cfg.getShortPath(); // Store all bank information - out << "//Stella.pro: \"" << name << "\"" << endl - << "//MD5: " << md5 << endl + out << "// Stella.pro: \"" << name << "\"" << endl + << "// MD5: " << md5 << endl << endl; for(uInt32 b = 0; b < myConsole.cartridge().bankCount(); ++b) { diff --git a/src/debugger/CartDebug.hxx b/src/debugger/CartDebug.hxx index 7fff9c8a6..c2bd03cae 100644 --- a/src/debugger/CartDebug.hxx +++ b/src/debugger/CartDebug.hxx @@ -343,7 +343,7 @@ class CartDebug : public DebuggerSystem uInt16 myLabelLength{8}; // longest pre-defined label // Filenames to use for various I/O (currently these are hardcoded) - string myListFile, mySymbolFile, myCfgFile, myDisasmFile, myRomFile; + string myListFile, mySymbolFile, myCfgFile, myDisasmFile; /// Table of instruction mnemonics static std::array ourTIAMnemonicR; // read mode diff --git a/src/emucore/OSystem.cxx b/src/emucore/OSystem.cxx index 29359d6ba..832b1ce35 100644 --- a/src/emucore/OSystem.cxx +++ b/src/emucore/OSystem.cxx @@ -268,6 +268,9 @@ void OSystem::setConfigPaths() buildDirIfRequired(myStateDir, myBaseDir + "state"); buildDirIfRequired(myNVRamDir, myBaseDir + "nvram"); +#ifdef DEBUGGER_SUPPORT + buildDirIfRequired(myCfgDir, myBaseDir + "cfg"); +#endif #ifdef PNG_SUPPORT mySnapshotSaveDir = mySettings->getString("snapsavedir"); @@ -292,6 +295,7 @@ void OSystem::setConfigPaths() dbgPath("base dir ", myBaseDir); dbgPath("state dir ", myStateDir); dbgPath("nvram dir ", myNVRamDir); + dbgPath("cfg dir ", myCfgDir); dbgPath("ssave dir ", mySnapshotSaveDir); dbgPath("sload dir ", mySnapshotLoadDir); dbgPath("cheat file", myCheatFile); diff --git a/src/emucore/OSystem.hxx b/src/emucore/OSystem.hxx index 123bc92cb..b23cbdb83 100644 --- a/src/emucore/OSystem.hxx +++ b/src/emucore/OSystem.hxx @@ -270,6 +270,13 @@ class OSystem const string& cheatFile() const { return myCheatFile; } #endif + #ifdef DEBUGGER_SUPPORT + /** + Return the full/complete directory name for storing Distella cfg files. + */ + const string& cfgDir() const { return myCfgDir; } + #endif + #ifdef PNG_SUPPORT /** Return the full/complete directory name for saving and loading @@ -529,6 +536,7 @@ class OSystem string mySnapshotSaveDir; string mySnapshotLoadDir; string myNVRamDir; + string myCfgDir; string myDefaultSaveDir; string myDefaultLoadDir; From 79ea4c5a6730bf2d9894772d94faf2fc3525bb31 Mon Sep 17 00:00:00 2001 From: thrust26 Date: Mon, 13 Apr 2020 19:34:34 +0200 Subject: [PATCH 79/80] fix 3E disassembly (bankSize() override) --- src/emucore/Cart3E.cxx | 6 ++++++ src/emucore/Cart3E.hxx | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/src/emucore/Cart3E.cxx b/src/emucore/Cart3E.cxx index 0947d783e..963fd14de 100644 --- a/src/emucore/Cart3E.cxx +++ b/src/emucore/Cart3E.cxx @@ -220,6 +220,12 @@ uInt16 Cartridge3E::bankCount() const return 256 + 32; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +uInt16 Cartridge3E::bankSize(uInt16 bank) const +{ + return 2_KB; // we cannot use bankCount() here, because it delivers wrong numbers +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool Cartridge3E::patch(uInt16 address, uInt8 value) { diff --git a/src/emucore/Cart3E.hxx b/src/emucore/Cart3E.hxx index 554560fd5..021497c82 100644 --- a/src/emucore/Cart3E.hxx +++ b/src/emucore/Cart3E.hxx @@ -111,6 +111,14 @@ class Cartridge3E : public Cartridge */ uInt16 bankCount() const override; + /** + Get the size of a bank. + + @param bank The bank to get the size for + @return The bank's size + */ + virtual uInt16 bankSize(uInt16 bank = 0) const; + /** Patch the cartridge ROM. From 66bd5c49a6cad9e80323e2e46ecbb764b8ee77f5 Mon Sep 17 00:00:00 2001 From: Stephen Anthony Date: Mon, 13 Apr 2020 17:30:36 -0230 Subject: [PATCH 80/80] Fix 'ovveride' warning from clang. Convert 'template class' to the more modern 'template typename'. --- src/common/LinkedObjectPool.hxx | 2 +- src/common/Stack.hxx | 2 +- src/common/Vec.hxx | 6 +++--- src/common/bspf.hxx | 6 +++--- src/emucore/Cart3E.hxx | 2 +- src/emucore/DispatchResult.hxx | 2 +- src/emucore/tia/DelayQueue.hxx | 4 ++-- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/common/LinkedObjectPool.hxx b/src/common/LinkedObjectPool.hxx index ab4a2fcbd..7c35439e3 100644 --- a/src/common/LinkedObjectPool.hxx +++ b/src/common/LinkedObjectPool.hxx @@ -49,7 +49,7 @@ */ namespace Common { -template +template class LinkedObjectPool { public: diff --git a/src/common/Stack.hxx b/src/common/Stack.hxx index aac9c28b2..e3b2afd87 100644 --- a/src/common/Stack.hxx +++ b/src/common/Stack.hxx @@ -27,7 +27,7 @@ */ namespace Common { -template +template class FixedStack { private: diff --git a/src/common/Vec.hxx b/src/common/Vec.hxx index 10e0c492e..7d102a785 100644 --- a/src/common/Vec.hxx +++ b/src/common/Vec.hxx @@ -22,19 +22,19 @@ namespace Vec { -template +template void append(vector& dst, const vector& src) { dst.insert(dst.cend(), src.cbegin(), src.cend()); } -template +template void insertAt(vector& dst, uInt32 idx, const T& element) { dst.insert(dst.cbegin()+idx, element); } -template +template void removeAt(vector& dst, uInt32 idx) { dst.erase(dst.cbegin()+idx); diff --git a/src/common/bspf.hxx b/src/common/bspf.hxx index e7cc60024..18c60bd2a 100644 --- a/src/common/bspf.hxx +++ b/src/common/bspf.hxx @@ -119,16 +119,16 @@ namespace BSPF #endif // Make 2D-arrays using std::array less verbose - template + template using array2D = std::array, ROW>; // Combines 'max' and 'min', and clamps value to the upper/lower value // if it is outside the specified range - template inline T clamp(T val, T lower, T upper) + template inline T clamp(T val, T lower, T upper) { return (val < lower) ? lower : (val > upper) ? upper : val; } - template inline void clamp(T& val, T lower, T upper, T setVal) + template inline void clamp(T& val, T lower, T upper, T setVal) { if(val < lower || val > upper) val = setVal; } diff --git a/src/emucore/Cart3E.hxx b/src/emucore/Cart3E.hxx index 021497c82..e2382babb 100644 --- a/src/emucore/Cart3E.hxx +++ b/src/emucore/Cart3E.hxx @@ -117,7 +117,7 @@ class Cartridge3E : public Cartridge @param bank The bank to get the size for @return The bank's size */ - virtual uInt16 bankSize(uInt16 bank = 0) const; + virtual uInt16 bankSize(uInt16 bank = 0) const override; /** Patch the cartridge ROM. diff --git a/src/emucore/DispatchResult.hxx b/src/emucore/DispatchResult.hxx index 4ce172aeb..6d76cf5ce 100644 --- a/src/emucore/DispatchResult.hxx +++ b/src/emucore/DispatchResult.hxx @@ -55,7 +55,7 @@ class DispatchResult if (myStatus != status) throw runtime_error("invalid status for operation"); } - template void assertStatus(Status status, Ts... more) const + template void assertStatus(Status status, Ts... more) const { if (myStatus == status) return; diff --git a/src/emucore/tia/DelayQueue.hxx b/src/emucore/tia/DelayQueue.hxx index d3e7e544b..996bde72e 100644 --- a/src/emucore/tia/DelayQueue.hxx +++ b/src/emucore/tia/DelayQueue.hxx @@ -41,7 +41,7 @@ class DelayQueue : public Serializable void reset(); - template void execute(T executor); + template void execute(T executor); /** Serializable methods (see that class for more information). @@ -103,7 +103,7 @@ void DelayQueue::reset() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - template -template +template void DelayQueue::execute(T executor) { DelayQueueMember& currentMember = myMembers[myIndex];