trunk/src/mame/drivers/arkanoid.c
| r23630 | r23631 | |
| 2 | 2 | |
| 3 | 3 | Arkanoid driver |
| 4 | 4 | |
| 5 | | - I think the MCU dump we're using with the original sets is actually |
| 6 | | from a bootleg? It's similar to the ones dumped from other bootlegs |
| 7 | | and the 2/3 of the decapped MCUs appear to be very different. Another |
| 8 | | bootleg had a dump very similar to the fresh decaps instead. This |
| 9 | | needs sorting out properly. The hookups for the different types of MCU |
| 5 | - MCU hookup needs sorting out properly. The hookups for the different types |
| 10 | 6 | is not identical. |
| 11 | 7 | |
| 12 | 8 | Japanese version support cocktail mode (DSW #7), the others don't. |
| r23630 | r23631 | |
| 45 | 41 | YM2149 - 2998531Hz (3Mhz) |
| 46 | 42 | |
| 47 | 43 | |
| 44 | **************************************************************************** |
| 45 | |
| 46 | Guru's readme |
| 47 | |
| 48 | Arkanoid |
| 49 | Taito 1986 |
| 50 | |
| 51 | PCB Layout |
| 52 | ---------- |
| 53 | |
| 54 | Note an original Taito Arkanoid PCB is approximately 10" square and is |
| 55 | painted white. The copper traces are not visible. The part type and |
| 56 | location of each component is printed in green on the PCB on top of the |
| 57 | white paint. |
| 58 | |
| 59 | The following MCU images were tested on an original Arkanoid PCB using sets |
| 60 | 'arkanoid', 'arkanoidu' and 'arkanoiduo' and work as expected. |
| 61 | (1) MCU image with CRC 0x389a8cfb |
| 62 | (2) MCU image with CRC 0x515d77b6 |
| 63 | |
| 64 | An MCU found on a Tournament Arkanoid PCB was an unprotected type MC68705P3 |
| 65 | and when read the CRC matched (1). So we can assume the MCUs for Arkanoid and |
| 66 | Tournament Arkanoid are the same.... or are at least interchangeable and work. |
| 67 | |
| 68 | "Tetris (D.R. Korea)" in MAME is a hack on an original Arkanoid PCB. |
| 69 | The hack can be undone and returned to Arkanoid simply by removing the mod |
| 70 | wires on the YM2149, replacing the ROMs with Arkanoid ROMs and replacing |
| 71 | the PC030CM which was removed. A working Arkanoid 68705 MCU is also required. |
| 72 | The above 'tested' images can be used. |
| 73 | |
| 74 | |
| 75 | J1100075A |
| 76 | K1100180A |
| 77 | K1100181A (ROMSTAR version added sticker) |
| 78 | |---------------------------------------------| |
| 79 | | VOLUME TL7700 TMM2018 | |
| 80 | |-| MB3731 | |
| 81 | | | |
| 82 | |P | |
| 83 | |O | |
| 84 | |W DSWA(8) A75-09.IC22 | |
| 85 | |E | |
| 86 | |R YM2149F A75-08.IC23 | |
| 87 | | | |
| 88 | |-| A75-07.IC24 | |
| 89 | | | |
| 90 | | | |
| 91 | |-| TMM2016 | |
| 92 | | | |
| 93 | | PC030CM TMM2016 | |
| 94 | | | |
| 95 | | JP4 JP3 | |
| 96 | |2 | |
| 97 | |2 A75_06.IC14 | |
| 98 | |W 48CR-1 | |
| 99 | |A | |
| 100 | |Y | |
| 101 | | TMM2016 12MHz| |
| 102 | | 48CR-1 | |
| 103 | | 48CR-1 A75_10.IC16 A75_05.IC62 MB112S146| |
| 104 | | | |
| 105 | |-| A75_01-1.IC17 A75_04.IC63 MB112S146| |
| 106 | |48CR-1 | |
| 107 | | A75_03.IC64 | |
| 108 | | Z80 | |
| 109 | |---------------------------------------------| |
| 110 | Notes: |
| 111 | Z80 - Zilog Z0840006 CPU. Clock input 6.000MHz (12/2) |
| 112 | YM2149F - Yamaha YM2149F software-controlled sound generator (SSG). Clock input 1.5MHz (12/8) |
| 113 | A75_06.IC14 - Motorola MC68705P5 micro-controller. Clock input 3.000MHz (12/4). Labelled 'A75 06' for |
| 114 | ROMSTAR version. Note original Taito version 68705 and Tournament Arkanoid MCUs work fine. |
| 115 | A75_* - 27C256 EPROMs labelled 'A75 xx'. xx = 01, 03, 04, 05 etc. See ROM loading in the src for exact ROM usage. |
| 116 | A75-0* - MMI 63S241 bipolar PROMs. Compatible with MB7116, 7621, DM74S571N etc |
| 117 | TMM2018 - Toshiba TMM2018 2k x8 SRAM (DIP24) |
| 118 | TMM2016 - Toshiba TMM2016 2k x8 SRAM (DIP24) |
| 119 | MB112S146 - Fujitsu MB112S146. Some kind of custom graphic decoder/shifter (DIP28) |
| 120 | MB3731 - Fujitsu MB3731 18W BTL audio power amplifier (SIP12) |
| 121 | PC030CM - Taito custom ceramic package (SIP20) |
| 122 | 48CR-1 - Taito custom resistor array (SIP10) |
| 123 | TL7700 - Texas Instruments TL7700CP supply voltage supervisor i.e. reset chip (DIP8) |
| 124 | JP3 - 2-pin jumper. This is open but the game works even if it is closed. |
| 125 | JP4 - 2-pin jumper. Must be closed to allow coin-up through PC030CM otherwise coin-up does not work. |
| 126 | Note the G connector is the 22-way edge connector. |
| 127 | The Japanese manual states (translated to English)..... |
| 128 | ******** |
| 129 | The coin-SW of this Main PC Board does not work without wiring coin meter to |
| 130 | coin meter pins of the G-connector. |
| 131 | You need to modify as follows in case coin meter is not connected to Main PC Board. |
| 132 | Coin System A ..... Wire jumper JP4 on Main PC Board. Coin meter not used. |
| 133 | Coin System B ..... Wire jumper JP3 on Main PC Board. Coin meter used. |
| 134 | ******** |
| 135 | |
| 136 | Measured Syncs |
| 137 | -------------- |
| 138 | HSync - 15.625kHz |
| 139 | VSync - 59.185Hz |
| 140 | |
| 141 | |
| 142 | POWER connector H |
| 143 | ----------------- |
| 144 | 1 Ground |
| 145 | 2 Ground |
| 146 | 3 Ground |
| 147 | 4 Ground |
| 148 | 5 +5V |
| 149 | 6 +5V |
| 150 | 7 +5V |
| 151 | 8 NC |
| 152 | 9 +12V |
| 153 | 10 Post |
| 154 | 11 NC |
| 155 | 12 NC |
| 156 | |
| 157 | |
| 158 | 22-way edge connector G |
| 159 | ----------------------- |
| 160 | |
| 161 | PARTS SOLDER |
| 162 | -------------------- |
| 163 | |-----| |
| 164 | GROUND | 1 A | GROUND |
| 165 | VIDEO RED | 2 B | VIDEO GROUND |
| 166 | VIDEO GREEN | 3 C | VIDEO BLUE |
| 167 | VIDEO SYNC | 4 D | |
| 168 | SOUND OUT + | 5 E | SOUND OUT - |
| 169 | POST | 6 F | POST |
| 170 | | 7 H | |
| 171 | COIN SW (A) | 8 J | COIN SW (B) |
| 172 | COIN METER (A) | 9 K | COIN METER (B) |
| 173 | COIN LOCKOUT (A) |10 L | COIN LOCKOUT (B) |
| 174 | SERVICE SW |11 M | TILT SW |
| 175 | START 1 |12 N | START 2 |
| 176 | |13 P | |
| 177 | |14 R | |
| 178 | 1P RIGHT |15 S | 2P RIGHT \ |
| 179 | lP LEFT |16 T | 2P LEFT / Connect 15/16/S/T to the spinner left/right connections |
| 180 | |17 U | |
| 181 | |18 V | |
| 182 | |19 W | |
| 183 | |20 X | |
| 184 | lP SERVE/FIRE |21 Y | 2P SERVE/FIRE |
| 185 | |22 Z | |
| 186 | |-----| |
| 187 | |
| 188 | Note about spinner controller |
| 189 | ----------------------------- |
| 190 | |
| 191 | This game requires a geared spinner to operate correctly. A trackball or other optical |
| 192 | controller or home-made spinner built from a PC mouse will work but the player moves too |
| 193 | slowly and the game is unplayable. The Taito geared spinner moves the optical wheel *very* |
| 194 | fast to ensure the player moves fast enough to follow and return the ball easily. The ratio of |
| 195 | the control knob rotation to the optical wheel rotation is 1:20 so for one rotation of the |
| 196 | control knob the optical wheel rotates 20 times. |
| 197 | Generally a half-turn of the control knob is enough to move the player across the full screen. |
| 198 | |
| 199 | The spinner connections are.... |
| 200 | Pin 1 - Left |
| 201 | Pin 2 - +5V |
| 202 | Pin 3 - Ground |
| 203 | Pin 4 - Right |
| 204 | |
| 205 | These pins are listed from the Japanese Taito manual and have been tested to be correct with |
| 206 | the real Taito Arkanoid spinner. |
| 207 | The US ROMSTAR manual lists pin 4 as left and pin 1 as right. This information is probably |
| 208 | incorrect. Pins 2 and 3 are the same. |
| 209 | |
| 210 | Spinner PCB Layout |
| 211 | ------------------ |
| 212 | J9000024A |
| 213 | K9000060A |
| 214 | |-----------| |
| 215 | | OPTO | |
| 216 | | S| |
| 217 | | | |
| 218 | | S| |
| 219 | | | |
| 220 | | POWER | |
| 221 | |-4-3-2-1---| |
| 222 | Notes: |
| 223 | OPTO - Optical transmitter/receiver on other side of PCB |
| 224 | POWER - Power input connector. Pin 1 is on the right. |
| 225 | S - Screw positions to show orientation of the PCB with reference to the power connector pin 1 |
| 226 | |
| 227 | |
| 228 | DIP Switches |
| 229 | +-----------------------------+--------------------------------+ |
| 230 | |FACTORY DEFAULT = * | 1 2 3 4 5 6 7 8 | |
| 231 | +----------+------------------+----+---+-----------------------+ |
| 232 | | |*1 COIN 1 CREDIT | OFF|OFF| | |
| 233 | |COINS | 1 COIN 2 CREDITS| ON |OFF| | |
| 234 | | | 2 COINS 1 CREDIT | OFF|ON | | |
| 235 | | | 1 COIN 6 CREDITS| ON |ON | | |
| 236 | +----------+------------------+----+---+---+ | |
| 237 | |LIVES |*3 | |OFF| | |
| 238 | | | 5 | |ON | | |
| 239 | +----------+------------------+--------+---+---+ | |
| 240 | |BONUS |*20000 / 60000 | |OFF| | |
| 241 | |1ST/EVERY | 20000 ONLY | |ON | | |
| 242 | +----------+------------------+------------+---+---+ | |
| 243 | |DIFFICULTY|*EASY | |OFF| | |
| 244 | | | HARD | |ON | | |
| 245 | +----------+------------------+----------------+---+---+ | |
| 246 | |GAME MODE |*GAME | |OFF| | |
| 247 | | | TEST | |ON | | |
| 248 | +----------+------------------+--------------------+---+---+ | |
| 249 | |SCREEN |*NORMAL | |OFF| | |
| 250 | | | INVERT | |ON | | |
| 251 | +----------+------------------+------------------------+---+---+ |
| 252 | |CONTINUE | WITHOUT | |OFF| |
| 253 | | |*WITH | |ON | |
| 254 | +----------+------------------+----------------------------+---+ |
| 255 | |
| 256 | |
| 257 | *************************************************************************** |
| 258 | |
| 48 | 259 | Stephh's notes (based on the games Z80 code and some tests) : |
| 49 | 260 | |
| 50 | 261 | 0) Useful addresses and routines |
| r23630 | r23631 | |
| 1111 | 1322 | ROM_LOAD( "a75-11.ic16", 0x8000, 0x8000, CRC(eafd7191) SHA1(d2f8843b716718b1de209e97a874e8ce600f3f87) ) |
| 1112 | 1323 | |
| 1113 | 1324 | ROM_REGION( 0x0800, "mcu", 0 ) /* 2k for the microcontroller */ |
| 1114 | | ROM_LOAD( "a75-06.ic14", 0x0000, 0x0800, BAD_DUMP CRC(515d77b6) SHA1(a302937683d11f663abd56a2fd7c174374e4d7fb) ) /* Possible bootleg code??, need the decapped data here */ |
| 1325 | ROM_LOAD( "a75-06.ic14", 0x0000, 0x0800, CRC(515d77b6) SHA1(a302937683d11f663abd56a2fd7c174374e4d7fb) ) // ok for this set |
| 1115 | 1326 | |
| 1116 | 1327 | ROM_REGION( 0x18000, "gfx1", 0 ) |
| 1117 | 1328 | ROM_LOAD( "a75-03.ic64", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) |
| r23630 | r23631 | |
| 1137 | 1348 | ROM_LOAD( "a75-18.ic16", 0x8000, 0x8000, CRC(cdc08301) SHA1(05f54353cc8333af14fa985a2764960e20e8161a) ) |
| 1138 | 1349 | |
| 1139 | 1350 | ROM_REGION( 0x0800, "mcu", 0 ) /* 2k for the microcontroller */ |
| 1140 | | ROM_LOAD( "a75-20.ic14", 0x0000, 0x0800, BAD_DUMP CRC(de518e47) SHA1(b8eddd1c566505fb69e3d1207c7a9720dfb9f503) ) /* Hand crafted, need the decapped data here */ |
| 1351 | ROM_LOAD( "a75-20.ic14", 0x0000, 0x0800, BAD_DUMP CRC(de518e47) SHA1(b8eddd1c566505fb69e3d1207c7a9720dfb9f503) ) /* Hand crafted, need the decapped data here */ |
| 1141 | 1352 | |
| 1142 | 1353 | ROM_REGION( 0x18000, "gfx1", 0 ) |
| 1143 | 1354 | ROM_LOAD( "a75-03.ic64", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) |
| r23630 | r23631 | |
| 1156 | 1367 | ROM_LOAD( "a75-10.ic16", 0x8000, 0x8000, CRC(a1769e15) SHA1(fbb45731246a098b29eb08de5d63074b496aaaba) ) |
| 1157 | 1368 | |
| 1158 | 1369 | ROM_REGION( 0x0800, "mcu", 0 ) /* 2k for the microcontroller */ |
| 1159 | | ROM_LOAD( "a75-06.ic14", 0x0000, 0x0800, BAD_DUMP CRC(515d77b6) SHA1(a302937683d11f663abd56a2fd7c174374e4d7fb) ) /* Possible bootleg code??, need the decapped data here */ |
| 1370 | ROM_LOAD( "a75-06.ic14", 0x0000, 0x0800, CRC(515d77b6) SHA1(a302937683d11f663abd56a2fd7c174374e4d7fb) ) // ok for this set |
| 1160 | 1371 | |
| 1161 | 1372 | ROM_REGION( 0x18000, "gfx1", 0 ) |
| 1162 | 1373 | ROM_LOAD( "a75-03.ic64", 0x00000, 0x8000, CRC(038b74ba) SHA1(ac053cc4908b4075f918748b89570e07a0ba5116) ) |