trunk/src/mame/drivers/marinedt.cpp
| r250282 | r250283 | |
| 3 | 3 | /* |
| 4 | 4 | --------------------------- |
| 5 | 5 | Marine Date by TAITO (1981) |
| 6 | | --------------------------- |
| 7 | | |
| 8 | | Location Device File ID Checksum |
| 9 | | --------------------------------------------- |
| 10 | | LB 3D 2716 MG01 BB4B |
| 11 | | LB 4D 2716 MG02 89B3 |
| 12 | | LB 5D 2716 MG03 A5CE |
| 13 | | LB 6D 2716 MG04 CE20 |
| 14 | | LB 7D 2716 MG05 16B9 |
| 15 | | LB 9D 2716 MG06 39A9 |
| 16 | | LB 10D 2716 MG07 B7F1 |
| 17 | | LB 1F 2716 MG09 9934 |
| 18 | | LB 3F 2716 MG10 F185 |
| 19 | | LB 4F 2716 MG11 1603 |
| 20 | | MB 6C 2532 MG12 66C3 |
| 21 | | MB 6H 2532 MG13 23E2 |
| 22 | | MB 2A 82S123 MG14.BPR 1CB1 |
| 23 | | MB 1A 82S123 MG15.BPR 1471 |
| 24 | | MB 4E 82S123 MG16.BPR 0570 |
| 25 | | TB 5F 82S123 MG17.BPR 129B |
| 26 | | |
| 27 | | |
| 28 | | Notes: TB - Top PCB MG070001 MGN00001 |
| 29 | | MB - Middle PCB MG070002 MGN00002 |
| 30 | | LB - Lower PCB AA017779 MGN00002 |
| 31 | | |
| 32 | | |
| 33 | | Brief Hardware Overview |
| 34 | | ----------------------- |
| 35 | | |
| 36 | | Main processor - Z80 2.5MHz |
| 37 | | |
| 38 | | Sound - Discrete audio, like Space Invaders |
| 39 | | |
| 40 | | ------------------------------------------------------------------------- |
| 41 | | |
| 42 | | a static underwater scence with obstacles in it, like seaweed, |
| 6 | MAME driver by insideoutboy |
| 7 | --------------------------- |
| 8 | a static underwater scene with obstacles in it, like seaweed, |
| 43 | 9 | crabs and other stuff. You have a limited number of "strokes" |
| 44 | 10 | per screen as well as a timer to work against. Your goal is |
| 45 | 11 | to *bounce* yourself around the screen using *Strokes* on the |
| 46 | | trackball to try to reach a *female* octopus before your run out |
| 12 | trackball to try to reach a *female* octopus before you run out |
| 47 | 13 | of strokes or time. You sort of bounce yourself around the screen |
| 48 | 14 | like a billiard ball would bounce, but once in a while bubbles |
| 49 | 15 | and other stuff will come up from underneath you and carry you |
| 50 | 16 | away from where you are trying to get. When you reach your goal |
| 51 | 17 | you get another more difficult screen, etc. |
| 52 | 18 | |
| 53 | | I think it was manufactured by Taito, I'm not sure but I seem to |
| 54 | | recall that it was a full blown Japanese machine. |
| 19 | ------------------------------------------------------------------------- |
| 55 | 20 | |
| 21 | Marine Date |
| 22 | Taito 1981 |
| 56 | 23 | |
| 24 | PCB Layout |
| 25 | ---------- |
| 26 | |
| 27 | Top board |
| 28 | |
| 29 | MGO70001 |
| 30 | MGN00001 |
| 31 | |---------------------------------------------| |
| 32 | | VOL VR1 VR2 VR3 VR4 VR5 VR6 VR7 | |
| 33 | | LM3900 LM3900 LM3900 LM3900 LM3900 LM3900 |-| |
| 34 | |MB3712 |P| |
| 35 | | 4006 LM3900 LM3900 LM3900 | | |
| 36 | |2 4030 |-| |
| 37 | |2 | |
| 38 | |W DSW(8) | |
| 39 | |A |-| |
| 40 | |Y HD14584 NE555 MG17 DSW(8) |Q| |
| 41 | | | | |
| 42 | | HD14584 |-| |
| 43 | | HD14584 | |
| 44 | |---------------------------------------------| |
| 45 | Notes: (PCB contains lots of resistors/caps/transistors etc) |
| 46 | MG17 - 82S123 bipolar PROM (no location on PCB) |
| 47 | MB3712 - Hitachi MB3712 Audio Power Amplifier |
| 48 | LM3900 - Texas Instruments LM3900 Quad Operational Amplifier |
| 49 | HD14584 - Hitachi HD14584 Hex schmitt Trigger |
| 50 | NE555 - NE555 Timer |
| 51 | 4006 - RCA CD4006 18-Stage Static Register |
| 52 | 4030 - RCA CD4030 Quad Exclusive-Or Gate |
| 53 | VR* - Volume pots for each sound |
| 54 | VOL - Master Volume pot |
| 55 | |
| 56 | |
| 57 | Middle board |
| 58 | |
| 59 | MGO70002 |
| 60 | MGN00002 |
| 61 | |---------------------------------------------| |
| 62 | | MG15.1A | |
| 63 | |-| MG14.2A |-| |
| 64 | |S| |Q| |
| 65 | | | | | |
| 66 | |-| MG16.4E |-| |
| 67 | | | |
| 68 | | | |
| 69 | |-| MG13.6H MG12.6C |-| |
| 70 | |R| |P| |
| 71 | | | PC3259 | | |
| 72 | |-| PC3259 |-| |
| 73 | | | |
| 74 | |---------------------------------------------| |
| 75 | Notes: |
| 76 | MG12/13 - Hitachi HN462532 4kx8 EPROM |
| 77 | MG14/15/16 - 82S123 bipolar PROM |
| 78 | PC3259 - PC3259 8025 H08 unknown DIP24 IC. Package design indicates it was manufactured by Fujitsu |
| 79 | |
| 80 | |
| 81 | Lower board |
| 82 | |
| 83 | AA017779 |
| 84 | sticker: MGN00003 |
| 85 | sticker: CLN00002 |
| 86 | |---------------------------------------------| |
| 87 | | 9.987MHz 2114 | |
| 88 | |-| 2114 | |
| 89 | |R| MG07.10D 2114 | |
| 90 | | | MG06.9D 2114 | |
| 91 | |-| 2114 1| |
| 92 | | MG05.7D 8|Edge |
| 93 | | MG04.6D W|Connector 'T' |
| 94 | |-| MG03.5D A| |
| 95 | |S| MG02.4D Y| |
| 96 | | | MG01.3D MG09.4F | |
| 97 | |-| MG10.3F | |
| 98 | | Z80 MG11.1F | |
| 99 | |---------------------------------------------| |
| 100 | Notes: |
| 101 | Z80 - Clock 2.49675MHz [9.987/4] |
| 102 | 2114 - 1kx4 SRAM |
| 103 | All EPROMs are 2716 |
| 104 | Wire jumpers for ROM configuration - J1 open |
| 105 | J2 1-2, 3-9, 4-8, 5-7 |
| 106 | J4 1-2, 4-5, 7-8, 10-11 |
| 107 | |
| 108 | Top and Middle PCBs are plugged in with the solder-sides together. |
| 109 | Lower PCB is plugged in with components facing up. |
| 110 | ------------------------------------------------------------------------- |
| 111 | |
| 57 | 112 | todo: |
| 58 | 113 | in cocktail mopde p1 is flipped |
| 59 | 114 | after inking the shark on the far right octi was moved to goal? |
| 60 | 115 | for the colours, goal has to be black otherwise it would register |
| 61 | | qas a hit, is goal pen 0 or 6? |
| 116 | as a hit, is goal pen 0 or 6? |
| 62 | 117 | rom writes when finishing a game |
| 63 | 118 | worth looking at before the collision is correct? |
| 64 | 119 | playing dot hit when eaten by a shark? |
| r250282 | r250283 | |
| 67 | 122 | tilemap |
| 68 | 123 | palette may only be around 4 colours |
| 69 | 124 | is 14 the palette? |
| 70 | | how do you know if you've got an ink left? |
| 125 | how do you know if you've got any ink left? |
| 71 | 126 | prom 14 is the top bits? 4 bpp? or so? |
| 72 | 127 | why is level 37 chosen? |
| 73 | 128 | should it be 30fps? |
| r250282 | r250283 | |
| 89 | 144 | done: |
| 90 | 145 | timer? |
| 91 | 146 | you get 200 for each shot, don't think it's actually a timer |
| 92 | | have i been using x/y consistently, ie non rotated or rotated origin? |
| 93 | | yes, seems to be best using xy raw (ie non-rotated) |
| 147 | have I been using x/y consistently, i.e. non rotated or rotated origin? |
| 148 | yes, seems to be best using xy raw (i.e. non-rotated) |
| 94 | 149 | p2 ink doesn't always light up in test mode |
| 95 | 150 | after p1 ink pressed, p2 ink doesn't light up |
| 96 | 151 | this is correct behavior if DSW set as Upright mode |
| r250282 | r250283 | |
| 190 | 245 | } |
| 191 | 246 | |
| 192 | 247 | //are these returning only during a collision? |
| 193 | | //id imagine they are returning the pf char where the collission took place? |
| 194 | | //what about where there is lots of colls? |
| 248 | //I'd imagine they are returning the pf char where the collision took place? |
| 249 | //what about where there is lots of collisions? |
| 195 | 250 | //maybe the first on a scanline basis |
| 196 | 251 | READ8_MEMBER(marinedt_state::marinedt_obj1_x_r) |
| 197 | 252 | { |
| r250282 | r250283 | |
| 398 | 453 | PORT_DIPSETTING( 0x01, "5000" ) |
| 399 | 454 | PORT_DIPSETTING( 0x00, "10000" ) |
| 400 | 455 | //cheat? |
| 401 | | PORT_DIPNAME( 0x02, 0x00, "ignore internal bounce?" ) //maybe die/bounce of rocks/coral? |
| 456 | PORT_DIPNAME( 0x02, 0x00, "ignore internal bounce?" ) //maybe die / bounce off rocks & coral? |
| 402 | 457 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 403 | 458 | PORT_DIPSETTING( 0x02, DEF_STR( On ) ) |
| 404 | 459 | //freezes the game before the reset |
| 405 | | //doesn't seem to be done as a dip, but what about mixing with diops like this? |
| 460 | //doesn't seem to be done as a dip, but what about mixing with dips like this? |
| 406 | 461 | PORT_SERVICE( 0x04, IP_ACTIVE_HIGH ) |
| 407 | 462 | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) ) |
| 408 | 463 | PORT_DIPSETTING( 0x08, DEF_STR( Upright ) ) |
| r250282 | r250283 | |
| 706 | 761 | |
| 707 | 762 | ROM_START( marinedt ) |
| 708 | 763 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 709 | | ROM_LOAD( "mg01", 0x0000, 0x0800, CRC(ad09f04d) SHA1(932fc973b4a2fbbebd7e6437ed30c8444e3d4afb)) |
| 710 | | ROM_LOAD( "mg02", 0x0800, 0x0800, CRC(555a2b0f) SHA1(143a8953ce5070c31dc4c1f623833b2a5a2cf657)) |
| 711 | | ROM_LOAD( "mg03", 0x1000, 0x0800, CRC(2abc79b3) SHA1(1afb331a2c0e320b6d026bc5cb47a53ac3356c2a)) |
| 712 | | ROM_LOAD( "mg04", 0x1800, 0x0800, CRC(be928364) SHA1(8d9ae71e2751c009187e41d84fbad9519ab551e1) ) |
| 713 | | ROM_LOAD( "mg05", 0x2000, 0x0800, CRC(44cd114a) SHA1(833165c5c00c6e505acf29fef4a3ae3f9647b443) ) |
| 714 | | ROM_LOAD( "mg06", 0x2800, 0x0800, CRC(a7e2c69b) SHA1(614fc479d13c1726382fe7b4b0379c1dd4915af0) ) |
| 715 | | ROM_LOAD( "mg07", 0x3000, 0x0800, CRC(b85d1f9a) SHA1(4fd3e76b1816912df84477dba4655d395f5e7072) ) |
| 764 | ROM_LOAD( "mg01.3d", 0x0000, 0x0800, CRC(ad09f04d) SHA1(932fc973b4a2fbbebd7e6437ed30c8444e3d4afb)) |
| 765 | ROM_LOAD( "mg02.4d", 0x0800, 0x0800, CRC(555a2b0f) SHA1(143a8953ce5070c31dc4c1f623833b2a5a2cf657)) |
| 766 | ROM_LOAD( "mg03.5d", 0x1000, 0x0800, CRC(2abc79b3) SHA1(1afb331a2c0e320b6d026bc5cb47a53ac3356c2a)) |
| 767 | ROM_LOAD( "mg04.6d", 0x1800, 0x0800, CRC(be928364) SHA1(8d9ae71e2751c009187e41d84fbad9519ab551e1) ) |
| 768 | ROM_LOAD( "mg05.7d", 0x2000, 0x0800, CRC(44cd114a) SHA1(833165c5c00c6e505acf29fef4a3ae3f9647b443) ) |
| 769 | ROM_LOAD( "mg06.9d", 0x2800, 0x0800, CRC(a7e2c69b) SHA1(614fc479d13c1726382fe7b4b0379c1dd4915af0) ) |
| 770 | ROM_LOAD( "mg07.10d", 0x3000, 0x0800, CRC(b85d1f9a) SHA1(4fd3e76b1816912df84477dba4655d395f5e7072) ) |
| 716 | 771 | |
| 717 | 772 | ROM_REGION( 0x1800, "gfx1", 0 ) |
| 718 | | ROM_LOAD( "mg09", 0x0000, 0x0800, CRC(f4c349ca) SHA1(077f65eeac616a778d6c42bb95677fa2892ab697) ) |
| 719 | | ROM_LOAD( "mg10", 0x0800, 0x0800, CRC(b41251e3) SHA1(e125a971b401c78efeb4b03d0fab43e392d3fc14) ) |
| 720 | | ROM_LOAD( "mg11", 0x1000, 0x0800, CRC(50d66dd7) SHA1(858d1d2a75e091b0e382d964c5e4ddcd8e6f07dd)) |
| 773 | ROM_LOAD( "mg09.4f", 0x0000, 0x0800, CRC(f4c349ca) SHA1(077f65eeac616a778d6c42bb95677fa2892ab697) ) |
| 774 | ROM_LOAD( "mg10.3f", 0x0800, 0x0800, CRC(b41251e3) SHA1(e125a971b401c78efeb4b03d0fab43e392d3fc14) ) |
| 775 | ROM_LOAD( "mg11.1f", 0x1000, 0x0800, CRC(50d66dd7) SHA1(858d1d2a75e091b0e382d964c5e4ddcd8e6f07dd)) |
| 721 | 776 | |
| 722 | 777 | ROM_REGION( 0x1000, "gfx2", 0 ) |
| 723 | | ROM_LOAD( "mg12", 0x0000, 0x1000, CRC(7c6486d5) SHA1(a7f17a803937937f05fc90621883a0fd44b297a0) ) |
| 778 | ROM_LOAD( "mg12.6c", 0x0000, 0x1000, CRC(7c6486d5) SHA1(a7f17a803937937f05fc90621883a0fd44b297a0) ) |
| 724 | 779 | |
| 725 | 780 | ROM_REGION( 0x1000, "gfx3", 0 ) |
| 726 | | ROM_LOAD( "mg13", 0x0000, 0x1000, CRC(17817044) SHA1(8c9b96620e3c414952e6d85c6e81b0df85c88e7a) ) |
| 781 | ROM_LOAD( "mg13.6h", 0x0000, 0x1000, CRC(17817044) SHA1(8c9b96620e3c414952e6d85c6e81b0df85c88e7a) ) |
| 727 | 782 | |
| 728 | 783 | ROM_REGION( 0x0080, "proms", 0 ) |
| 729 | | ROM_LOAD( "mg14.bpr", 0x0000, 0x0020, CRC(f75f4e3a) SHA1(36e665987f475c57435fa8c224a2a3ce0c5e672b) ) //char clr |
| 730 | | ROM_LOAD( "mg15.bpr", 0x0020, 0x0020, CRC(cd3ab489) SHA1(a77478fb94d0cf8f4317f89cc9579def7c294b4f) ) //obj clr |
| 731 | | ROM_LOAD( "mg16.bpr", 0x0040, 0x0020, CRC(92c868bc) SHA1(483ae6f47845ddacb701528e82bd388d7d66a0fb) ) //?? collisions |
| 784 | ROM_LOAD( "mg14.2a", 0x0000, 0x0020, CRC(f75f4e3a) SHA1(36e665987f475c57435fa8c224a2a3ce0c5e672b) ) //char clr |
| 785 | ROM_LOAD( "mg15.1a", 0x0020, 0x0020, CRC(cd3ab489) SHA1(a77478fb94d0cf8f4317f89cc9579def7c294b4f) ) //obj clr |
| 786 | ROM_LOAD( "mg16.4e", 0x0040, 0x0020, CRC(92c868bc) SHA1(483ae6f47845ddacb701528e82bd388d7d66a0fb) ) //?? collisions |
| 732 | 787 | ROM_LOAD( "mg17.bpr", 0x0060, 0x0020, CRC(13261a02) SHA1(050edd18e4f79d19d5206f55f329340432fd4099) ) //?? table of increasing values |
| 733 | 788 | ROM_END |
| 734 | 789 | |