Giter Site home page Giter Site logo

arkanoid_multi's Introduction

Arkanoid-Multi

Overview

The Arkanoid-multi holds Arkanoid and Tournament Arkanoid ROMs and bank-switches them with an ATTiny.

Press and hold the on-board button, or wire-up an external button, to switch between games.

Arkanoid-Multi Arkanoid Tournament Arkanoid

See KLOV thread for more details.

YouTube Videos

Video Video

Print Arkanoid Multi PCB

The PCB can be printed from the Arkanoid Multi PCBWay Shared Project or Gerber files and DesignSpark files can be found in this repo in the 'PCB' folder.

v1.0 PCB printed v1.1 PCB gerber

The Multi PCB hosts a 27c160 in 16-bit mode and delivers data in parallel to the vacated color-PROM sockets. The ATTiny controls bank-switching of this EPROM, as well as the other 5 EPROMS on the game board, waits for a button to be held down for 4 seconds, and then increments its address lines. Address lines A0 to A3 can be hooked up to switch between up to 16 different games (in theory). A reset line is used to reset the game board when a switch has been made.

Print MCU Bypass PCB

This solution works in conjunction with the MCU Bypass PCB by @mdeslaur on GitHub / KLOV. These can be printed from the MCU Bypass PCBWay Shared Project or Gerber files are available from the Arkanoid MCU Bypass repo on GitHub.

Bypass PCB printed Bypass PCB gerber

Arkanoid and Tournament Arkanoid use different MCUs as a form of copy protection, so this is bypassed entirely by some code changes based upon the 'arkatayt' boot ROMs. 68705 are becoming more scarce so not requiring them is a great benefit to help further preserve Arkanoid PCBs.

Add ROMs

Add the following ROM zip files to 'source' dir:

  • arkanoid.zip
  • arkatayt.zip
  • arkatour.zip

Create Patch files

Create the following files using 'xdelta patcher' on arkatayt and arkatour ROMs, and copy them to 'source' dir. Instructions can be found in the KLOV thread. Patch files for xdelta (by @mdeslaur) can be found in the 'patch' directory. These add freeplay, bypass the MCU and address a few bugs.

  • a75-27_patched.ic17
  • a75-28_patched.ic16
  • ic81-v_patched.3f
  • ic82-w_patched.5f

Run Script

Run the python3 script 'make_multi_roms.py':

python make_multi_roms.py

Burn EPROMs

The 'output' dir should now contain the following files for burning to EPROMs:

  • multi_color_proms.bin (27c160)
  • multi_ic16_ic82.bin (27c512)
  • multi_ic17_ic81.bin (27c512)
  • multi_ic62.bin (27c512)
  • multi_ic63.bin (27c512)
  • multi_ic64.bin (27c512)

Burn ATTiny

The binary in 'ATTiny85_Bankswitch' can be burnt to an ATTiny85.

Hold the button for 4 seconds to switch game.

If you would like a different switching mechanism, or you want to target a different ATTiny (13, 25 or 45), then all the code can be found at the Multi ROM Controller repo on GitHub.

Construct Mod

The Arkanoid-Multi PCB fits into the three sockets from the color PROMs and hosts the 27c160, ATTiny and a push button. Please keep your original ICs safe as you may want to remove the mod in the future.

The A0 line needs to be wired to pin 1 of all five 27c512 EPROMs. Pin 1 should not make a connection with the hosting PCB. These EPROMs should be fitted into round turned-pin socket strips. Heat up and remove the round pin socket that pin 1 of the EPROM will go into so that there is an air-gap between pin 1 and the hosting PCB. You may need to slightly trim pin 1 of the EPROM so that it doesn't make contact.

Wire the NXT line to an external button. Arkanoid conveniently has 'P1 button 2' on the edge connector wired up (22) but does not make use of it, or alternatively use the 'P1 Start button' (12). Arkanoid is 'Taito Classic' pinout.

The last line that needs to be hooked up is the RST line. Solder a wire from it to pin 1 of IC32 (LS273) as this is the CPU reset line.

Arkanoid Freeplay ROM Dipswitch Settings

DIPS -> OFF or ON

  1. Cocktail or Upright
  2. Credit or Freeplay
  3. Lives 3 or 5
  4. Bonus at 20K/60K or 20k only
  5. Difficulty Easy or Hard
  6. Test mode off or on
  7. Screen Normal or Inverted
  8. Continued play off or on

Links

arkanoid_multi's People

Contributors

phillrb avatar

Watchers

 avatar

arkanoid_multi's Issues

rom zip file checksums will likely never match

Your script checks the checksums of the zip file, but most MAME sites that host the roms insert their own txt file, or re-zip the files they host, so the zip file is unlikely to ever match the same checksum you have.

I suggest verifying the checksums of the rom files themselves.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.