trunk/src/mame/drivers/ninjakd2.c
| r18270 | r18271 | |
| 158 | 158 | #define MAIN_CLOCK_12 XTAL_12MHz |
| 159 | 159 | #define MAIN_CLOCK_5 XTAL_5MHz |
| 160 | 160 | |
| 161 | |
| 162 | /************************************* |
| 163 | * |
| 164 | * Ninja Kid II PCM |
| 165 | * |
| 166 | *************************************/ |
| 167 | |
| 161 | 168 | // PCM playback is controlled by a 555 timer |
| 162 | 169 | #define NE555_FREQUENCY 16300 // measured on PCB |
| 163 | 170 | //#define NE555_FREQUENCY (1.0f / (0.693 * (560 + 2*51) * 0.1e-6)) // theoretical: this gives 21.8kHz which is too high |
| 164 | 171 | |
| 165 | | |
| 166 | | static void omegaf_io_protection_reset(running_machine &machine); |
| 167 | | |
| 168 | | |
| 169 | | INTERRUPT_GEN_MEMBER(ninjakd2_state::ninjakd2_interrupt) |
| 170 | | { |
| 171 | | device.execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7); /* RST 10h */ |
| 172 | | } |
| 173 | | |
| 174 | | |
| 175 | | void ninjakd2_state::machine_reset() |
| 176 | | { |
| 177 | | /* initialize main Z80 bank */ |
| 178 | | machine().root_device().membank("bank1")->configure_entries(0, 8, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000); |
| 179 | | machine().root_device().membank("bank1")->set_entry(0); |
| 180 | | } |
| 181 | | |
| 182 | | static void robokid_init_banks(running_machine &machine) |
| 183 | | { |
| 184 | | /* initialize main Z80 bank */ |
| 185 | | machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("maincpu")->base(), 0x4000); |
| 186 | | machine.root_device().membank("bank1")->configure_entries(2, 14, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000); |
| 187 | | machine.root_device().membank("bank1")->set_entry(0); |
| 188 | | } |
| 189 | | |
| 190 | | MACHINE_RESET_MEMBER(ninjakd2_state,robokid) |
| 191 | | { |
| 192 | | robokid_init_banks(machine()); |
| 193 | | } |
| 194 | | |
| 195 | | MACHINE_RESET_MEMBER(ninjakd2_state,omegaf) |
| 196 | | { |
| 197 | | robokid_init_banks(machine()); |
| 198 | | |
| 199 | | omegaf_io_protection_reset(machine()); |
| 200 | | } |
| 201 | | |
| 202 | | |
| 203 | | WRITE8_MEMBER(ninjakd2_state::ninjakd2_bankselect_w) |
| 204 | | { |
| 205 | | membank("bank1")->set_entry(data & 0x7); |
| 206 | | } |
| 207 | | |
| 208 | | WRITE8_MEMBER(ninjakd2_state::robokid_bankselect_w) |
| 209 | | { |
| 210 | | membank("bank1")->set_entry(data & 0xf); |
| 211 | | } |
| 212 | | |
| 213 | | |
| 214 | | WRITE8_MEMBER(ninjakd2_state::ninjakd2_soundreset_w) |
| 215 | | { |
| 216 | | // bit 4 resets sound CPU |
| 217 | | machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? ASSERT_LINE : CLEAR_LINE); |
| 218 | | |
| 219 | | // bit 7 flips screen |
| 220 | | flip_screen_set(data & 0x80); |
| 221 | | |
| 222 | | // other bits unused |
| 223 | | } |
| 224 | | |
| 225 | | |
| 226 | | |
| 227 | 172 | static SAMPLES_START( ninjakd2_init_samples ) |
| 228 | 173 | { |
| 229 | 174 | ninjakd2_state *state = device.machine().driver_data<ninjakd2_state>(); |
| r18270 | r18271 | |
| 383 | 328 | |
| 384 | 329 | |
| 385 | 330 | |
| 331 | /*****************************************************************************/ |
| 332 | |
| 333 | WRITE8_MEMBER(ninjakd2_state::ninjakd2_bankselect_w) |
| 334 | { |
| 335 | membank("bank1")->set_entry(data & m_rom_bank_mask); |
| 336 | } |
| 337 | |
| 338 | WRITE8_MEMBER(ninjakd2_state::ninjakd2_soundreset_w) |
| 339 | { |
| 340 | // bit 4 resets sound CPU |
| 341 | machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? ASSERT_LINE : CLEAR_LINE); |
| 342 | |
| 343 | // bit 7 flips screen |
| 344 | flip_screen_set(data & 0x80); |
| 345 | |
| 346 | // other bits unused |
| 347 | } |
| 348 | |
| 349 | |
| 350 | |
| 386 | 351 | /************************************* |
| 387 | 352 | * |
| 388 | 353 | * Memory maps |
| r18270 | r18271 | |
| 446 | 411 | AM_RANGE(0xdc04, 0xdc04) AM_READ_PORT("DIPSW2") |
| 447 | 412 | AM_RANGE(0xdc00, 0xdc00) AM_WRITE(soundlatch_byte_w) |
| 448 | 413 | AM_RANGE(0xdc01, 0xdc01) AM_WRITE(ninjakd2_soundreset_w) // sound reset + flip screen |
| 449 | | AM_RANGE(0xdc02, 0xdc02) AM_WRITE(robokid_bankselect_w) |
| 414 | AM_RANGE(0xdc02, 0xdc02) AM_WRITE(ninjakd2_bankselect_w) |
| 450 | 415 | AM_RANGE(0xdc03, 0xdc03) AM_WRITE(ninjakd2_sprite_overdraw_w) |
| 451 | 416 | AM_RANGE(0xdd00, 0xdd04) AM_WRITE(robokid_bg0_ctrl_w) // scroll + enable |
| 452 | 417 | AM_RANGE(0xdd05, 0xdd05) AM_WRITE(robokid_bg0_bank_w) |
| r18270 | r18271 | |
| 466 | 431 | AM_RANGE(0xc001, 0xc003) AM_READ(omegaf_io_protection_r) |
| 467 | 432 | AM_RANGE(0xc000, 0xc000) AM_WRITE(soundlatch_byte_w) |
| 468 | 433 | AM_RANGE(0xc001, 0xc001) AM_WRITE(ninjakd2_soundreset_w) // sound reset + flip screen |
| 469 | | AM_RANGE(0xc002, 0xc002) AM_WRITE(robokid_bankselect_w) |
| 434 | AM_RANGE(0xc002, 0xc002) AM_WRITE(ninjakd2_bankselect_w) |
| 470 | 435 | AM_RANGE(0xc003, 0xc003) AM_WRITE(ninjakd2_sprite_overdraw_w) |
| 471 | 436 | AM_RANGE(0xc004, 0xc006) AM_WRITE(omegaf_io_protection_w) |
| 472 | 437 | AM_RANGE(0xc100, 0xc104) AM_WRITE(robokid_bg0_ctrl_w) // scroll + enable |
| r18270 | r18271 | |
| 934 | 899 | * |
| 935 | 900 | *************************************/ |
| 936 | 901 | |
| 902 | INTERRUPT_GEN_MEMBER(ninjakd2_state::ninjakd2_interrupt) |
| 903 | { |
| 904 | device.execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7); /* RST 10h */ |
| 905 | } |
| 906 | |
| 907 | void ninjakd2_state::machine_reset() |
| 908 | { |
| 909 | /* initialize main Z80 bank */ |
| 910 | int num_banks = (machine().root_device().memregion("maincpu")->bytes() - 0x10000) / 0x4000; |
| 911 | machine().root_device().membank("bank1")->configure_entries(0, num_banks, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000); |
| 912 | machine().root_device().membank("bank1")->set_entry(0); |
| 913 | |
| 914 | m_rom_bank_mask = num_banks - 1; |
| 915 | } |
| 916 | |
| 917 | MACHINE_RESET_MEMBER(ninjakd2_state,omegaf) |
| 918 | { |
| 919 | omegaf_io_protection_reset(machine()); |
| 920 | |
| 921 | machine_reset(); |
| 922 | } |
| 923 | |
| 924 | /*****************************************************************************/ |
| 925 | |
| 937 | 926 | static MACHINE_CONFIG_START( ninjakd2, ninjakd2_state ) |
| 938 | 927 | |
| 939 | 928 | /* basic machine hardware */ |
| r18270 | r18271 | |
| 945 | 934 | MCFG_CPU_PROGRAM_MAP(ninjakd2_sound_cpu) |
| 946 | 935 | MCFG_CPU_IO_MAP(ninjakd2_sound_io) |
| 947 | 936 | |
| 948 | | |
| 949 | 937 | /* video hardware */ |
| 950 | 938 | MCFG_SCREEN_ADD("screen", RASTER) |
| 951 | 939 | MCFG_SCREEN_REFRESH_RATE(59.61) /* verified on pcb */ |
| r18270 | r18271 | |
| 957 | 945 | MCFG_GFXDECODE(ninjakd2) |
| 958 | 946 | MCFG_PALETTE_LENGTH(0x300) |
| 959 | 947 | |
| 960 | | |
| 961 | 948 | /* sound hardware */ |
| 962 | 949 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 963 | 950 | |
| r18270 | r18271 | |
| 981 | 968 | static MACHINE_CONFIG_DERIVED( mnight, ninjakd2 ) |
| 982 | 969 | |
| 983 | 970 | /* basic machine hardware */ |
| 984 | | |
| 985 | 971 | MCFG_CPU_MODIFY("maincpu") |
| 986 | 972 | MCFG_CPU_PROGRAM_MAP(mnight_main_cpu) |
| 987 | 973 | |
| r18270 | r18271 | |
| 995 | 981 | static MACHINE_CONFIG_DERIVED( arkarea, ninjakd2 ) |
| 996 | 982 | |
| 997 | 983 | /* basic machine hardware */ |
| 998 | | |
| 999 | 984 | MCFG_CPU_MODIFY("maincpu") |
| 1000 | 985 | MCFG_CPU_PROGRAM_MAP(mnight_main_cpu) |
| 1001 | 986 | |
| r18270 | r18271 | |
| 1009 | 994 | static MACHINE_CONFIG_DERIVED( robokid, mnight ) |
| 1010 | 995 | |
| 1011 | 996 | /* basic machine hardware */ |
| 1012 | | |
| 1013 | 997 | MCFG_CPU_MODIFY("maincpu") |
| 1014 | 998 | MCFG_CPU_PROGRAM_MAP(robokid_main_cpu) |
| 1015 | 999 | |
| 1016 | | MCFG_MACHINE_RESET_OVERRIDE(ninjakd2_state,robokid) |
| 1017 | | |
| 1018 | 1000 | /* video hardware */ |
| 1019 | 1001 | MCFG_GFXDECODE(robokid) |
| 1020 | 1002 | MCFG_PALETTE_LENGTH(0x400) // RAM is this large, but still only 0x300 colors used |
| r18270 | r18271 | |
| 1027 | 1009 | static MACHINE_CONFIG_DERIVED( omegaf, robokid ) |
| 1028 | 1010 | |
| 1029 | 1011 | /* basic machine hardware */ |
| 1030 | | |
| 1031 | 1012 | MCFG_CPU_MODIFY("maincpu") |
| 1032 | 1013 | MCFG_CPU_PROGRAM_MAP(omegaf_main_cpu) |
| 1033 | 1014 | |
| r18270 | r18271 | |
| 1210 | 1191 | ROM_END |
| 1211 | 1192 | |
| 1212 | 1193 | ROM_START( robokid ) |
| 1213 | | ROM_REGION( 0x48000, "maincpu", 0 ) |
| 1194 | ROM_REGION( 0x50000, "maincpu", 0 ) |
| 1214 | 1195 | ROM_LOAD( "robokid1.18j", 0x00000, 0x08000, CRC(378c21fc) SHA1(58163bd6fbfa8385b1bd648cfde3d75bf81ac07d) ) |
| 1215 | | ROM_CONTINUE( 0x10000, 0x08000 ) // banked at 8000-bfff |
| 1216 | | ROM_LOAD( "robokid2.18k", 0x18000, 0x10000, CRC(ddef8c5a) SHA1(a1dd2f51205863c3d5d3527991d538ca8adf7587) ) |
| 1217 | | ROM_LOAD( "robokid3.15k", 0x28000, 0x10000, CRC(05295ec3) SHA1(33dd0853a2064cb4301cfbdc7856def81f6e1223) ) |
| 1218 | | ROM_LOAD( "robokid4.12k", 0x38000, 0x10000, CRC(3bc3977f) SHA1(da394e12d197b0e109b03c854da06b1267bd9d59) ) |
| 1196 | ROM_IGNORE( 0x08000 ) |
| 1197 | ROM_RELOAD( 0x10000, 0x10000 ) // banked at 8000-bfff |
| 1198 | ROM_LOAD( "robokid2.18k", 0x20000, 0x10000, CRC(ddef8c5a) SHA1(a1dd2f51205863c3d5d3527991d538ca8adf7587) ) |
| 1199 | ROM_LOAD( "robokid3.15k", 0x30000, 0x10000, CRC(05295ec3) SHA1(33dd0853a2064cb4301cfbdc7856def81f6e1223) ) |
| 1200 | ROM_LOAD( "robokid4.12k", 0x40000, 0x10000, CRC(3bc3977f) SHA1(da394e12d197b0e109b03c854da06b1267bd9d59) ) |
| 1219 | 1201 | |
| 1220 | 1202 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 1221 | 1203 | ROM_LOAD( "robokid.k7", 0x00000, 0x10000, CRC(f490a2e9) SHA1(861d1256c090ce3d1f45f95cc894affbbc3f1466) ) |
| r18270 | r18271 | |
| 1258 | 1240 | ROM_END |
| 1259 | 1241 | |
| 1260 | 1242 | ROM_START( robokidj ) |
| 1261 | | ROM_REGION( 0x48000, "maincpu", 0 ) |
| 1243 | ROM_REGION( 0x50000, "maincpu", 0 ) |
| 1262 | 1244 | ROM_LOAD( "1.29", 0x00000, 0x08000, CRC(59a1e2ec) SHA1(71f9d28dd8d2cf77a27fab163ce9562e3e75a540) ) |
| 1263 | | ROM_CONTINUE( 0x10000, 0x08000 ) // banked at 8000-bfff |
| 1264 | | ROM_LOAD( "2.30", 0x18000, 0x10000, CRC(e3f73476) SHA1(bd1c8946d637df21432bd52ae9324255251570b9) ) |
| 1265 | | ROM_LOAD( "robokid3.15k", 0x28000, 0x10000, CRC(05295ec3) SHA1(33dd0853a2064cb4301cfbdc7856def81f6e1223) ) |
| 1266 | | ROM_LOAD( "robokid4.12k", 0x38000, 0x10000, CRC(3bc3977f) SHA1(da394e12d197b0e109b03c854da06b1267bd9d59) ) |
| 1245 | ROM_IGNORE( 0x08000 ) |
| 1246 | ROM_RELOAD( 0x10000, 0x10000 ) // banked at 8000-bfff |
| 1247 | ROM_LOAD( "2.30", 0x20000, 0x10000, CRC(e3f73476) SHA1(bd1c8946d637df21432bd52ae9324255251570b9) ) |
| 1248 | ROM_LOAD( "robokid3.15k", 0x30000, 0x10000, CRC(05295ec3) SHA1(33dd0853a2064cb4301cfbdc7856def81f6e1223) ) |
| 1249 | ROM_LOAD( "robokid4.12k", 0x40000, 0x10000, CRC(3bc3977f) SHA1(da394e12d197b0e109b03c854da06b1267bd9d59) ) |
| 1267 | 1250 | |
| 1268 | 1251 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 1269 | 1252 | ROM_LOAD( "robokid.k7", 0x00000, 0x10000, CRC(f490a2e9) SHA1(861d1256c090ce3d1f45f95cc894affbbc3f1466) ) |
| r18270 | r18271 | |
| 1306 | 1289 | ROM_END |
| 1307 | 1290 | |
| 1308 | 1291 | ROM_START( robokidj2 ) |
| 1309 | | ROM_REGION( 0x48000, "maincpu", 0 ) |
| 1292 | ROM_REGION( 0x50000, "maincpu", 0 ) |
| 1310 | 1293 | ROM_LOAD( "1_rom29.18j", 0x00000, 0x08000, CRC(969fb951) SHA1(aa32f0cb33ba2ccbb933dab5444a7e0dbbb84b3d) ) |
| 1311 | | ROM_CONTINUE( 0x10000, 0x08000 ) // banked at 8000-bfff |
| 1312 | | ROM_LOAD( "2_rom30.18k", 0x18000, 0x10000, CRC(c0228b63) SHA1(8f7e3a29a35723abc8b10bf511fc8611e31a2961) ) |
| 1313 | | ROM_LOAD( "robokid3.15k", 0x28000, 0x10000, CRC(05295ec3) SHA1(33dd0853a2064cb4301cfbdc7856def81f6e1223) ) |
| 1314 | | ROM_LOAD( "robokid4.12k", 0x38000, 0x10000, CRC(3bc3977f) SHA1(da394e12d197b0e109b03c854da06b1267bd9d59) ) |
| 1294 | ROM_IGNORE( 0x08000 ) |
| 1295 | ROM_RELOAD( 0x10000, 0x10000 ) // banked at 8000-bfff |
| 1296 | ROM_LOAD( "2_rom30.18k", 0x20000, 0x10000, CRC(c0228b63) SHA1(8f7e3a29a35723abc8b10bf511fc8611e31a2961) ) |
| 1297 | ROM_LOAD( "robokid3.15k", 0x30000, 0x10000, CRC(05295ec3) SHA1(33dd0853a2064cb4301cfbdc7856def81f6e1223) ) |
| 1298 | ROM_LOAD( "robokid4.12k", 0x40000, 0x10000, CRC(3bc3977f) SHA1(da394e12d197b0e109b03c854da06b1267bd9d59) ) |
| 1315 | 1299 | |
| 1316 | 1300 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 1317 | 1301 | ROM_LOAD( "robokid.k7", 0x00000, 0x10000, CRC(f490a2e9) SHA1(861d1256c090ce3d1f45f95cc894affbbc3f1466) ) |
| r18270 | r18271 | |
| 1354 | 1338 | ROM_END |
| 1355 | 1339 | |
| 1356 | 1340 | ROM_START( omegaf ) |
| 1357 | | ROM_REGION( 0x48000, "maincpu", 0 ) |
| 1341 | ROM_REGION( 0x50000, "maincpu", 0 ) |
| 1358 | 1342 | ROM_LOAD( "1.5", 0x00000, 0x08000, CRC(57a7fd96) SHA1(65ca290b48f8579fcce00db5b3b3f8694667a136) ) |
| 1359 | | ROM_CONTINUE( 0x10000, 0x18000 ) // banked at 8000-bfff |
| 1360 | | ROM_LOAD( "6.4l", 0x28000, 0x20000, CRC(6277735c) SHA1(b0f91f0cc51d424a1a7834c126736f24c2e23c17) ) |
| 1343 | ROM_IGNORE( 0x18000 ) |
| 1344 | ROM_RELOAD( 0x10000, 0x20000 ) // banked at 8000-bfff |
| 1345 | ROM_LOAD( "6.4l", 0x30000, 0x20000, CRC(6277735c) SHA1(b0f91f0cc51d424a1a7834c126736f24c2e23c17) ) |
| 1361 | 1346 | |
| 1362 | 1347 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 1363 | 1348 | ROM_LOAD( "7.7m", 0x00000, 0x10000, CRC(d40fc8d5) SHA1(4f615a0fb786cafc20f82f0b5fa112a9c356378f) ) |
| r18270 | r18271 | |
| 1379 | 1364 | ROM_END |
| 1380 | 1365 | |
| 1381 | 1366 | ROM_START( omegafs ) |
| 1382 | | ROM_REGION( 0x48000, "maincpu", 0 ) |
| 1367 | ROM_REGION( 0x50000, "maincpu", 0 ) |
| 1383 | 1368 | ROM_LOAD( "5.3l", 0x00000, 0x08000, CRC(503a3e63) SHA1(73420aecb653cd4fd3b6afe67d6f5726f01411dd) ) |
| 1384 | | ROM_CONTINUE( 0x10000, 0x18000 ) // banked at 8000-bfff |
| 1369 | ROM_IGNORE( 0x18000 ) |
| 1370 | ROM_RELOAD( 0x10000, 0x20000 ) // banked at 8000-bfff |
| 1385 | 1371 | ROM_LOAD( "6.4l", 0x28000, 0x20000, CRC(6277735c) SHA1(b0f91f0cc51d424a1a7834c126736f24c2e23c17) ) |
| 1386 | 1372 | |
| 1387 | 1373 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| r18270 | r18271 | |
| 1488 | 1474 | * |
| 1489 | 1475 | *************************************/ |
| 1490 | 1476 | |
| 1491 | | // YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS |
| 1477 | // YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS |
| 1492 | 1478 | GAME( 1987, ninjakd2, 0, ninjakd2, ninjakd2, ninjakd2_state, ninjakd2, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 1)", 0 ) |
| 1493 | 1479 | GAME( 1987, ninjakd2a, ninjakd2, ninjakd2, ninjakd2, ninjakd2_state, bootleg, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 2, bootleg?)", 0 ) |
| 1494 | 1480 | GAME( 1987, ninjakd2b, ninjakd2, ninjakd2, rdaction, ninjakd2_state, bootleg, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 3, bootleg?)", 0 ) |
| 1495 | 1481 | GAME( 1987, rdaction, ninjakd2, ninjakd2, rdaction, ninjakd2_state, ninjakd2, ROT0, "UPL (World Games license)", "Rad Action / NinjaKun Ashura no Shou", 0 ) |
| 1496 | | GAME( 1987, mnight, 0, mnight, mnight, ninjakd2_state, mnight, ROT0, "UPL (Kawakus license)", "Mutant Night", 0 ) |
| 1497 | | GAME( 1988, arkarea, 0, arkarea, arkarea, ninjakd2_state, mnight, ROT0, "UPL", "Ark Area", 0 ) |
| 1498 | | GAME( 1988, robokid, 0, robokid, robokid, driver_device, 0, ROT0, "UPL", "Atomic Robo-kid", 0 ) |
| 1499 | | GAME( 1988, robokidj, robokid, robokid, robokidj, driver_device, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 1)", 0 ) |
| 1500 | | GAME( 1988, robokidj2, robokid, robokid, robokidj, driver_device, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 2)", 0 ) |
| 1501 | | GAME( 1989, omegaf, 0, omegaf, omegaf, driver_device, 0, ROT270, "UPL", "Omega Fighter", 0 ) |
| 1502 | | GAME( 1989, omegafs, omegaf, omegaf, omegaf, driver_device, 0, ROT270, "UPL", "Omega Fighter Special", 0 ) |
| 1482 | GAME( 1987, mnight, 0, mnight, mnight, ninjakd2_state, mnight, ROT0, "UPL (Kawakus license)", "Mutant Night", 0 ) |
| 1483 | GAME( 1988, arkarea, 0, arkarea, arkarea, ninjakd2_state, mnight, ROT0, "UPL", "Ark Area", 0 ) |
| 1484 | GAME( 1988, robokid, 0, robokid, robokid, driver_device, 0, ROT0, "UPL", "Atomic Robo-kid", 0 ) |
| 1485 | GAME( 1988, robokidj, robokid, robokid, robokidj, driver_device, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 1)", 0 ) |
| 1486 | GAME( 1988, robokidj2, robokid, robokid, robokidj, driver_device, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 2)", 0 ) |
| 1487 | GAME( 1989, omegaf, 0, omegaf, omegaf, driver_device, 0, ROT270, "UPL", "Omega Fighter", 0 ) |
| 1488 | GAME( 1989, omegafs, omegaf, omegaf, omegaf, driver_device, 0, ROT270, "UPL", "Omega Fighter Special", 0 ) |