trunk/src/mame/drivers/turbo.c
| r32799 | r32800 | |
| 811 | 811 | *************************************/ |
| 812 | 812 | |
| 813 | 813 | static GFXDECODE_START( turbo ) |
| 814 | | GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x2_planar, 0, 64 ) |
| 814 | GFXDECODE_ENTRY( "fgtiles", 0, gfx_8x8x2_planar, 0, 64 ) |
| 815 | 815 | GFXDECODE_END |
| 816 | 816 | |
| 817 | 817 | |
| r32799 | r32800 | |
| 972 | 972 | ROM_LOAD( "epr-1514.cpu-ic89", 0x2000, 0x2000, CRC(25af63b0) SHA1(9af4b3da83a4cef79b7dd0e9061132c499872c1c) ) |
| 973 | 973 | ROM_LOAD( "epr-1515.cpu-ic103", 0x4000, 0x2000, CRC(059c1c36) SHA1(ba870e6f45ff15aa148b2c2f213c879144aaacf0) ) |
| 974 | 974 | |
| 975 | | ROM_REGION( 0x20000, "gfx1", 0 ) /* sprite data */ |
| 975 | ROM_REGION( 0x20000, "sprites", 0 ) /* sprite data */ |
| 976 | 976 | ROM_LOAD( "epr-1246.prom-ic84", 0x00000, 0x2000, CRC(555bfe9a) SHA1(1e56385475eeff044dcd9b44a154991d3efe995e) ) /* level 0 */ |
| 977 | 977 | ROM_RELOAD( 0x02000, 0x2000 ) |
| 978 | 978 | ROM_LOAD( "epr-1247.prom-ic86", 0x04000, 0x2000, CRC(c8c5e4d5) SHA1(da70297340ddea0cd7fe04f2d94ea65f8202d0e5) ) /* level 1 */ |
| r32799 | r32800 | |
| 990 | 990 | ROM_LOAD( "epr-1257.prom-ic34", 0x1c000, 0x2000, CRC(4ca984ce) SHA1(99f294fb203f23929b44baa2dd1825c67dde08a1) ) /* level 7 */ |
| 991 | 991 | ROM_LOAD( "epr-1258.prom-ic49", 0x1e000, 0x2000, CRC(aee6e05e) SHA1(99b9b1ec996746ddf713ed38192f350f1f32a847) ) |
| 992 | 992 | |
| 993 | | ROM_REGION( 0x1000, "gfx2", 0 ) /* foreground data */ |
| 993 | ROM_REGION( 0x1000, "fgtiles", 0 ) /* foreground data */ |
| 994 | 994 | ROM_LOAD( "epr-1244.cpu-ic111", 0x0000, 0x0800, CRC(17f67424) SHA1(6126562510f1509f3487faaa3b9d7470ab600a2c) ) |
| 995 | 995 | ROM_LOAD( "epr-1245.cpu-ic122", 0x0800, 0x0800, CRC(2ba0b46b) SHA1(5d4d4f19ad7a911c7b37db190a420faf665546b4) ) |
| 996 | 996 | |
| 997 | | ROM_REGION( 0x4800, "gfx3", 0 ) /* road data */ |
| 997 | ROM_REGION( 0x4800, "road", 0 ) /* road data */ |
| 998 | 998 | ROM_LOAD( "epr-1125.cpu-ic1", 0x0000, 0x0800, CRC(65b5d44b) SHA1(bbdd5db013c9d876e9666f17c48569c7531bfc08) ) |
| 999 | 999 | ROM_LOAD( "epr-1126.cpu-ic2", 0x0800, 0x0800, CRC(685ace1b) SHA1(99c8d36ac910169b27676d18c894433c2ba44853) ) |
| 1000 | 1000 | ROM_LOAD( "epr-1127.cpu-ic13", 0x1000, 0x0800, CRC(9233c9ca) SHA1(cbf9a0f564d8ace1ccd701c1769dbc001d465851) ) |
| r32799 | r32800 | |
| 1026 | 1026 | ROM_LOAD( "epr-1263.cpu-ic89", 0x2000, 0x2000, CRC(45e01608) SHA1(0a9812714c41904bef7a8777b4aae63b5a1dd633) ) |
| 1027 | 1027 | ROM_LOAD( "epr-1264.cpu-ic103", 0x4000, 0x2000, CRC(1802f6c7) SHA1(5c575821d849d955059868b3dd3167b4bef9a8c4) ) |
| 1028 | 1028 | |
| 1029 | | ROM_REGION( 0x20000, "gfx1", 0 ) /* sprite data */ |
| 1029 | ROM_REGION( 0x20000, "sprites", 0 ) /* sprite data */ |
| 1030 | 1030 | ROM_LOAD( "epr-1246.prom-ic84", 0x00000, 0x2000, CRC(555bfe9a) SHA1(1e56385475eeff044dcd9b44a154991d3efe995e) ) /* level 0 */ |
| 1031 | 1031 | ROM_RELOAD( 0x02000, 0x2000 ) |
| 1032 | 1032 | ROM_LOAD( "epr-1247.prom-ic86", 0x04000, 0x2000, CRC(c8c5e4d5) SHA1(da70297340ddea0cd7fe04f2d94ea65f8202d0e5) ) /* level 1 */ |
| r32799 | r32800 | |
| 1044 | 1044 | ROM_LOAD( "epr-1257.prom-ic34", 0x1c000, 0x2000, CRC(4ca984ce) SHA1(99f294fb203f23929b44baa2dd1825c67dde08a1) ) /* level 7 */ |
| 1045 | 1045 | ROM_LOAD( "epr-1258.prom-ic49", 0x1e000, 0x2000, CRC(aee6e05e) SHA1(99b9b1ec996746ddf713ed38192f350f1f32a847) ) |
| 1046 | 1046 | |
| 1047 | | ROM_REGION( 0x1000, "gfx2", 0 ) /* foreground data */ |
| 1047 | ROM_REGION( 0x1000, "fgtiles", 0 ) /* foreground data */ |
| 1048 | 1048 | ROM_LOAD( "epr-1244.cpu-ic111", 0x0000, 0x0800, CRC(17f67424) SHA1(6126562510f1509f3487faaa3b9d7470ab600a2c) ) |
| 1049 | 1049 | ROM_LOAD( "epr-1245.cpu-ic122", 0x0800, 0x0800, CRC(2ba0b46b) SHA1(5d4d4f19ad7a911c7b37db190a420faf665546b4) ) |
| 1050 | 1050 | |
| 1051 | | ROM_REGION( 0x4800, "gfx3", 0 ) /* road data */ |
| 1051 | ROM_REGION( 0x4800, "road", 0 ) /* road data */ |
| 1052 | 1052 | ROM_LOAD( "epr-1125.cpu-ic1", 0x0000, 0x0800, CRC(65b5d44b) SHA1(bbdd5db013c9d876e9666f17c48569c7531bfc08) ) |
| 1053 | 1053 | ROM_LOAD( "epr-1126.cpu-ic2", 0x0800, 0x0800, CRC(685ace1b) SHA1(99c8d36ac910169b27676d18c894433c2ba44853) ) |
| 1054 | 1054 | ROM_LOAD( "epr-1127.cpu-ic13", 0x1000, 0x0800, CRC(9233c9ca) SHA1(cbf9a0f564d8ace1ccd701c1769dbc001d465851) ) |
| r32799 | r32800 | |
| 1080 | 1080 | ROM_LOAD( "epr-1364.cpu-ic89", 0x2000, 0x2000, CRC(6a341693) SHA1(428927c4a14bf82225875012c255d25dcffaf2ab) ) |
| 1081 | 1081 | ROM_LOAD( "epr-1365.cpu-ic103", 0x4000, 0x2000, CRC(3b6b0dc8) SHA1(3ebfa3f9fabd444ee105591acb6984b6b3523725) ) |
| 1082 | 1082 | |
| 1083 | | ROM_REGION( 0x20000, "gfx1", 0 ) /* sprite data */ |
| 1083 | ROM_REGION( 0x20000, "sprites", 0 ) /* sprite data */ |
| 1084 | 1084 | ROM_LOAD( "epr-1246.prom-ic84", 0x00000, 0x2000, CRC(555bfe9a) SHA1(1e56385475eeff044dcd9b44a154991d3efe995e) ) /* level 0 */ |
| 1085 | 1085 | ROM_RELOAD( 0x02000, 0x2000 ) |
| 1086 | 1086 | ROM_LOAD( "epr-1247.prom-ic86", 0x04000, 0x2000, CRC(c8c5e4d5) SHA1(da70297340ddea0cd7fe04f2d94ea65f8202d0e5) ) /* level 1 */ |
| r32799 | r32800 | |
| 1098 | 1098 | ROM_LOAD( "epr-1257.prom-ic34", 0x1c000, 0x2000, CRC(4ca984ce) SHA1(99f294fb203f23929b44baa2dd1825c67dde08a1) ) /* level 7 */ |
| 1099 | 1099 | ROM_LOAD( "epr-1258.prom-ic49", 0x1e000, 0x2000, CRC(aee6e05e) SHA1(99b9b1ec996746ddf713ed38192f350f1f32a847) ) |
| 1100 | 1100 | |
| 1101 | | ROM_REGION( 0x1000, "gfx2", 0 ) /* foreground data */ |
| 1101 | ROM_REGION( 0x1000, "fgtiles", 0 ) /* foreground data */ |
| 1102 | 1102 | ROM_LOAD( "epr-1244.cpu-ic111", 0x0000, 0x0800, CRC(17f67424) SHA1(6126562510f1509f3487faaa3b9d7470ab600a2c) ) |
| 1103 | 1103 | ROM_LOAD( "epr-1245.cpu-ic122", 0x0800, 0x0800, CRC(2ba0b46b) SHA1(5d4d4f19ad7a911c7b37db190a420faf665546b4) ) |
| 1104 | 1104 | |
| 1105 | | ROM_REGION( 0x4800, "gfx3", 0 ) /* road data */ |
| 1105 | ROM_REGION( 0x4800, "road", 0 ) /* road data */ |
| 1106 | 1106 | ROM_LOAD( "epr-1125.cpu-ic1", 0x0000, 0x0800, CRC(65b5d44b) SHA1(bbdd5db013c9d876e9666f17c48569c7531bfc08) ) |
| 1107 | 1107 | ROM_LOAD( "epr-1126.cpu-ic2", 0x0800, 0x0800, CRC(685ace1b) SHA1(99c8d36ac910169b27676d18c894433c2ba44853) ) |
| 1108 | 1108 | ROM_LOAD( "epr-1127.cpu-ic13", 0x1000, 0x0800, CRC(9233c9ca) SHA1(cbf9a0f564d8ace1ccd701c1769dbc001d465851) ) |
| r32799 | r32800 | |
| 1134 | 1134 | ROM_LOAD( "epr-1615.cpu-ic87", 0x2000, 0x2000, CRC(6281eb2e) SHA1(591d7f184f51f33fb583c916eddacf4581d612d7) ) |
| 1135 | 1135 | ROM_LOAD( "epr-1616.cpu-ic86", 0x4000, 0x2000, CRC(cc7b0c9b) SHA1(0b44c9a2421a51bdc16a2b590f24fbbfb47ef86f) ) |
| 1136 | 1136 | |
| 1137 | | ROM_REGION( 0x40000, "gfx1", 0 ) /* sprite data */ |
| 1137 | ROM_REGION( 0x40000, "sprites", 0 ) /* sprite data */ |
| 1138 | 1138 | ROM_LOAD( "epr-1417.prom-ic29", 0x00000, 0x2000, CRC(2aaff4e0) SHA1(4b4e4f65d63fb9648108c5f01248ffcb3b4bc54f) ) /* level 0 */ |
| 1139 | 1139 | ROM_LOAD( "epr-1418.prom-ic30", 0x02000, 0x2000, CRC(41ff0f15) SHA1(c441c5368a3faf2544d617e1ceb5cb8eac23017d) ) |
| 1140 | 1140 | ROM_LOAD( "epr-1419.prom-ic55", 0x08000, 0x2000, CRC(37ac818c) SHA1(26b15f410c6a6dcde498e20cece973d5ba23b0de) ) /* level 1 */ |
| r32799 | r32800 | |
| 1160 | 1160 | ROM_LOAD( "epr-1440.prom-ic40", 0x3c000, 0x2000, CRC(3a0e659c) SHA1(51e64b2417cf3b599aa9ecc84457462a5dca2a61) ) |
| 1161 | 1161 | ROM_LOAD( "epr-1439.prom-ic39", 0x3e000, 0x2000, CRC(3d051668) SHA1(aa4f6152235f07ad39019c46dfacf69d70a7fdcc) ) |
| 1162 | 1162 | |
| 1163 | | ROM_REGION( 0x01000, "gfx2", 0 ) /* foreground data */ |
| 1163 | ROM_REGION( 0x01000, "fgtiles", 0 ) /* foreground data */ |
| 1164 | 1164 | ROM_LOAD( "epr-1618.cpu-ic82", 0x0000, 0x0800, CRC(a25fea71) SHA1(283efee3951d081119d756114f9f49c2996de5f2) ) |
| 1165 | 1165 | ROM_LOAD( "epr-1617.cpu-ic83", 0x0800, 0x0800, CRC(f70c678e) SHA1(1fabf0011fa4fefd29daf18d4ed6b2cbec14e7b7) ) |
| 1166 | 1166 | |
| r32799 | r32800 | |
| 1183 | 1183 | ROM_REGION( 0x2000, "subcpu", 0 ) |
| 1184 | 1184 | ROM_LOAD( "epr-5200.cpu-ic66", 0x0000, 0x1000, CRC(0d58b154) SHA1(9f3951eb7ea1fa9ff914738462e4b4f755d60802) ) |
| 1185 | 1185 | |
| 1186 | | ROM_REGION( 0x40000, "gfx1", 0 ) /* sprite data */ |
| 1186 | ROM_REGION( 0x40000, "sprites", 0 ) /* sprite data */ |
| 1187 | 1187 | ROM_LOAD( "epr-5216.prom-ic100", 0x00000, 0x2000, CRC(8155bd73) SHA1(b6814f03eafe16457655598685b4827456b86335) ) /* level 0 */ |
| 1188 | 1188 | ROM_LOAD( "epr-5213.prom-ic84", 0x08000, 0x2000, CRC(fd78dda4) SHA1(4328b5782cbe692765eac43a8eba40bdf2e41921) ) /* level 1 */ |
| 1189 | 1189 | ROM_LOAD( "epr-5262.prom-ic68", 0x10000, 0x4000, CRC(2a194270) SHA1(8d4e444bd8a4e2fa32099787849e6c02cffe49b0) ) /* level 2 */ |
| r32799 | r32800 | |
| 1196 | 1196 | ROM_LOAD( "epr-5264.prom-ic91", 0x38000, 0x4000, CRC(221f4ced) SHA1(07498c9105c4c4589b19c2bc36abafb176de7bda) ) /* level 7 */ |
| 1197 | 1197 | ROM_LOAD( "epr-5238.prom-ic90", 0x3c000, 0x2000, CRC(7aff0886) SHA1(09ed9fa973257bb23b488e02ef9e02d867e4c366) ) |
| 1198 | 1198 | |
| 1199 | | ROM_REGION( 0x01000, "gfx2", 0 ) /* foreground data */ |
| 1199 | ROM_REGION( 0x01000, "fgtiles", 0 ) /* foreground data */ |
| 1200 | 1200 | ROM_LOAD( "epr-5201.cpu-ic102", 0x0000, 0x0800, CRC(7f21b0a4) SHA1(b6d784031ffecb36863ae1d81eeaaf8f76ab83df) ) |
| 1201 | 1201 | ROM_LOAD( "epr-5202.cpu-ic103", 0x0800, 0x0800, CRC(43f3e5a7) SHA1(2714943b6720311c5d226db3b6fe95d072677793) ) |
| 1202 | 1202 | |
| 1203 | | ROM_REGION( 0x2000, "gfx3", 0 ) /* background color data */ |
| 1203 | ROM_REGION( 0x2000, "bgcolor", 0 ) /* background color data */ |
| 1204 | 1204 | ROM_LOAD( "epr-5203.cpu-ic91", 0x0000, 0x2000, CRC(631f5b65) SHA1(ce8b23cf97f7e08a13f426964ef140a20a884335) ) |
| 1205 | 1205 | |
| 1206 | 1206 | ROM_REGION( 0x0b00, "proms", 0 ) /* various PROMs */ |
| r32799 | r32800 | |
| 1221 | 1221 | ROM_REGION( 0x2000, "subcpu", 0 ) |
| 1222 | 1222 | ROM_LOAD( "epr-5200.cpu-ic66", 0x0000, 0x1000, CRC(0d58b154) SHA1(9f3951eb7ea1fa9ff914738462e4b4f755d60802) ) |
| 1223 | 1223 | |
| 1224 | | ROM_REGION( 0x40000, "gfx1", 0 ) /* sprite data */ |
| 1224 | ROM_REGION( 0x40000, "sprites", 0 ) /* sprite data */ |
| 1225 | 1225 | ROM_LOAD( "epr-5216.prom-ic100", 0x00000, 0x2000, CRC(8155bd73) SHA1(b6814f03eafe16457655598685b4827456b86335) ) /* level 0 */ |
| 1226 | 1226 | ROM_LOAD( "epr-5213.prom-ic84", 0x08000, 0x2000, CRC(fd78dda4) SHA1(4328b5782cbe692765eac43a8eba40bdf2e41921) ) /* level 1 */ |
| 1227 | 1227 | ROM_LOAD( "epr-5262.prom-ic68", 0x10000, 0x4000, CRC(2a194270) SHA1(8d4e444bd8a4e2fa32099787849e6c02cffe49b0) ) /* level 2 */ |
| r32799 | r32800 | |
| 1234 | 1234 | ROM_LOAD( "epr-5264.prom-ic91", 0x38000, 0x4000, CRC(221f4ced) SHA1(07498c9105c4c4589b19c2bc36abafb176de7bda) ) /* level 7 */ |
| 1235 | 1235 | ROM_LOAD( "epr-5238.prom-ic90", 0x3c000, 0x2000, CRC(7aff0886) SHA1(09ed9fa973257bb23b488e02ef9e02d867e4c366) ) |
| 1236 | 1236 | |
| 1237 | | ROM_REGION( 0x01000, "gfx2", 0 ) /* foreground data */ |
| 1237 | ROM_REGION( 0x01000, "fgtiles", 0 ) /* foreground data */ |
| 1238 | 1238 | ROM_LOAD( "epr-5201.cpu-ic102", 0x0000, 0x0800, CRC(7f21b0a4) SHA1(b6d784031ffecb36863ae1d81eeaaf8f76ab83df) ) |
| 1239 | 1239 | ROM_LOAD( "epr-5202.cpu-ic103", 0x0800, 0x0800, CRC(43f3e5a7) SHA1(2714943b6720311c5d226db3b6fe95d072677793) ) |
| 1240 | 1240 | |
| 1241 | | ROM_REGION( 0x2000, "gfx3", 0 ) /* background color data */ |
| 1241 | ROM_REGION( 0x2000, "bgcolor", 0 ) /* background color data */ |
| 1242 | 1242 | ROM_LOAD( "epr-5203.cpu-ic91", 0x0000, 0x2000, CRC(631f5b65) SHA1(ce8b23cf97f7e08a13f426964ef140a20a884335) ) |
| 1243 | 1243 | |
| 1244 | 1244 | ROM_REGION( 0x0b00, "proms", 0 ) /* various PROMs */ |
| r32799 | r32800 | |
| 1258 | 1258 | ROM_REGION( 0x2000, "subcpu", 0 ) |
| 1259 | 1259 | ROM_LOAD( "epr-5200.cpu-ic66", 0x0000, 0x1000, CRC(0d58b154) SHA1(9f3951eb7ea1fa9ff914738462e4b4f755d60802) ) |
| 1260 | 1260 | |
| 1261 | | ROM_REGION( 0x40000, "gfx1", 0 ) /* sprite data */ |
| 1261 | ROM_REGION( 0x40000, "sprites", 0 ) /* sprite data */ |
| 1262 | 1262 | ROM_LOAD( "epr-5216.prom-ic100", 0x00000, 0x2000, CRC(8155bd73) SHA1(b6814f03eafe16457655598685b4827456b86335) ) /* level 0 */ |
| 1263 | 1263 | ROM_LOAD( "epr-5213.prom-ic84", 0x08000, 0x2000, CRC(fd78dda4) SHA1(4328b5782cbe692765eac43a8eba40bdf2e41921) ) /* level 1 */ |
| 1264 | 1264 | ROM_LOAD( "epr-5210.prom-ic68", 0x10000, 0x4000, CRC(c25b7b9e) SHA1(4418ed056d3240279ce83a872d5887cce374c24e) ) /* level 2 */ |
| r32799 | r32800 | |
| 1271 | 1271 | ROM_LOAD( "epr-5215.prom-ic91", 0x38000, 0x4000, CRC(f5dacc53) SHA1(fe536d16ccb249c26a046f60dc804f5d3be430dc) ) /* level 7 */ |
| 1272 | 1272 | ROM_LOAD( "epr-5238.prom-ic90", 0x3c000, 0x2000, CRC(7aff0886) SHA1(09ed9fa973257bb23b488e02ef9e02d867e4c366) ) |
| 1273 | 1273 | |
| 1274 | | ROM_REGION( 0x01000, "gfx2", 0 ) /* foreground data */ |
| 1274 | ROM_REGION( 0x01000, "fgtiles", 0 ) /* foreground data */ |
| 1275 | 1275 | ROM_LOAD( "epr-5201.cpu-ic102", 0x0000, 0x0800, CRC(7f21b0a4) SHA1(b6d784031ffecb36863ae1d81eeaaf8f76ab83df) ) |
| 1276 | 1276 | ROM_LOAD( "epr-5202.cpu-ic103", 0x0800, 0x0800, CRC(43f3e5a7) SHA1(2714943b6720311c5d226db3b6fe95d072677793) ) |
| 1277 | 1277 | |
| 1278 | | ROM_REGION( 0x2000, "gfx3", 0 ) /* background color data */ |
| 1278 | ROM_REGION( 0x2000, "bgcolor", 0 ) /* background color data */ |
| 1279 | 1279 | ROM_LOAD( "epr-5203.cpu-ic91", 0x0000, 0x2000, CRC(631f5b65) SHA1(ce8b23cf97f7e08a13f426964ef140a20a884335) ) |
| 1280 | 1280 | |
| 1281 | 1281 | ROM_REGION( 0x0b00, "proms", 0 ) /* various PROMs */ |
| r32799 | r32800 | |
| 1429 | 1429 | ROM_REGION( 0x2000, "subcpu", 0 ) |
| 1430 | 1430 | ROM_LOAD( "epr-5200.cpu-ic66", 0x0000, 0x1000, CRC(0d58b154) SHA1(9f3951eb7ea1fa9ff914738462e4b4f755d60802) ) |
| 1431 | 1431 | |
| 1432 | | ROM_REGION( 0x40000, "gfx1", 0 ) /* sprite data */ |
| 1432 | ROM_REGION( 0x40000, "sprites", 0 ) /* sprite data */ |
| 1433 | 1433 | ROM_LOAD( "epr-5216.prom-ic100", 0x00000, 0x2000, CRC(8155bd73) SHA1(b6814f03eafe16457655598685b4827456b86335) ) /* level 0 */ |
| 1434 | 1434 | ROM_LOAD( "epr-5213.prom-ic84", 0x08000, 0x2000, CRC(fd78dda4) SHA1(4328b5782cbe692765eac43a8eba40bdf2e41921) ) /* level 1 */ |
| 1435 | 1435 | ROM_LOAD( "epr-5231.prom-ic68", 0x10000, 0x4000, CRC(f00385fc) SHA1(88f64159fdd9b0b8b6a26e7c52da74189f529eb4) ) /* level 2 */ |
| r32799 | r32800 | |
| 1442 | 1442 | ROM_LOAD( "epr-5215.prom-ic91", 0x38000, 0x4000, CRC(f5dacc53) SHA1(fe536d16ccb249c26a046f60dc804f5d3be430dc) ) /* level 7 */ |
| 1443 | 1443 | ROM_LOAD( "epr-5214.prom-ic90", 0x3c000, 0x2000, CRC(68306dd6) SHA1(63644e38b36512d93464280d73344c97d9ec1f78) ) |
| 1444 | 1444 | |
| 1445 | | ROM_REGION( 0x01000, "gfx2", 0 ) /* foreground data */ |
| 1445 | ROM_REGION( 0x01000, "fgtiles", 0 ) /* foreground data */ |
| 1446 | 1446 | ROM_LOAD( "epr-5201.cpu-ic102", 0x0000, 0x0800, CRC(7f21b0a4) SHA1(b6d784031ffecb36863ae1d81eeaaf8f76ab83df) ) |
| 1447 | 1447 | ROM_LOAD( "epr-5202.cpu-ic103", 0x0800, 0x0800, CRC(43f3e5a7) SHA1(2714943b6720311c5d226db3b6fe95d072677793) ) |
| 1448 | 1448 | |
| 1449 | | ROM_REGION( 0x2000, "gfx3", 0 ) /* background color data */ |
| 1449 | ROM_REGION( 0x2000, "bgcolor", 0 ) /* background color data */ |
| 1450 | 1450 | ROM_LOAD( "epr-5203.cpu-ic91", 0x0000, 0x2000, CRC(631f5b65) SHA1(ce8b23cf97f7e08a13f426964ef140a20a884335) ) |
| 1451 | 1451 | |
| 1452 | 1452 | ROM_REGION( 0x0b00, "proms", 0 ) /* various PROMs */ |
trunk/src/mame/drivers/dwarfd.c
| r32799 | r32800 | |
| 323 | 323 | required_device<cpu_device> m_maincpu; |
| 324 | 324 | required_device<palette_device> m_palette; |
| 325 | 325 | required_device<i8275_device> m_crtc; |
| 326 | | required_memory_region m_charmap; |
| 326 | required_region_ptr<UINT16> m_charmap; |
| 327 | 327 | required_ioport m_dsw2; |
| 328 | 328 | |
| 329 | 329 | DECLARE_READ8_MEMBER(dwarfd_ram_r); |
| r32799 | r32800 | |
| 574 | 574 | int i; |
| 575 | 575 | int bank = ((gpa & 2) ? 0 : 4) + (gpa & 1) + ((m_dsw2->read() & 4) >> 1); |
| 576 | 576 | const rgb_t *palette = m_palette->palette()->entry_list_raw(); |
| 577 | | UINT16 pixels = m_charmap->u16((linecount & 7) + ((charcode + (bank * 128)) << 3)); |
| 577 | UINT16 pixels = m_charmap[(linecount & 7) + ((charcode + (bank * 128)) << 3)]; |
| 578 | 578 | if(!x) |
| 579 | 579 | m_back_color = false; |
| 580 | 580 | |
| r32799 | r32800 | |
| 598 | 598 | int i; |
| 599 | 599 | int bank = gpa; |
| 600 | 600 | const rgb_t *palette = m_palette->palette()->entry_list_raw(); |
| 601 | | UINT16 pixels = m_charmap->u16((linecount & 7) + ((charcode + (bank * 128)) << 3)); |
| 601 | UINT16 pixels = m_charmap[(linecount & 7) + ((charcode + (bank * 128)) << 3)]; |
| 602 | 602 | if(!x) |
| 603 | 603 | m_back_color = false; |
| 604 | 604 | |
| r32799 | r32800 | |
| 637 | 637 | 4,8, |
| 638 | 638 | RGN_FRAC(1,1), |
| 639 | 639 | 4, |
| 640 | | { 0,1,2,3}, |
| 641 | | {8,0,24,16 }, |
| 640 | { 0,1,2,3 }, |
| 641 | { 0, 8, 16, 24 }, |
| 642 | 642 | //{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 }, |
| 643 | 643 | { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, |
| 644 | 644 | 8*32 |
| r32799 | r32800 | |
| 650 | 650 | 8,8, |
| 651 | 651 | RGN_FRAC(1,1), |
| 652 | 652 | 4, |
| 653 | | { 0,1,2,3}, |
| 654 | | {8,12,0,4,24,28,16,20 }, |
| 653 | { 0,1,2,3 }, |
| 654 | { STEP8(0, 4) }, |
| 655 | 655 | // {12,8,4,0,28,24,20,16 }, |
| 656 | 656 | //{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 }, |
| 657 | | { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, |
| 657 | { STEP8(0, 32) }, |
| 658 | 658 | 8*32 |
| 659 | 659 | }; |
| 660 | 660 | |
| r32799 | r32800 | |
| 665 | 665 | RGN_FRAC(1,1), |
| 666 | 666 | 1, |
| 667 | 667 | { 0 }, |
| 668 | | {8,0,24,16 }, |
| 668 | { 0, 8, 16, 24 }, |
| 669 | 669 | //{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 }, |
| 670 | | { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, |
| 670 | { STEP8(0, 32) }, |
| 671 | 671 | 8*32 |
| 672 | 672 | }; |
| 673 | 673 | |
| r32799 | r32800 | |
| 677 | 677 | RGN_FRAC(1,1), |
| 678 | 678 | 1, |
| 679 | 679 | { 1 }, |
| 680 | | {8,0,24,16 }, |
| 680 | { 0, 8, 16, 24 }, |
| 681 | 681 | //{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 }, |
| 682 | | { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, |
| 682 | { STEP8(0, 32) }, |
| 683 | 683 | 8*32 |
| 684 | 684 | }; |
| 685 | 685 | |
| r32799 | r32800 | |
| 689 | 689 | RGN_FRAC(1,1), |
| 690 | 690 | 1, |
| 691 | 691 | { 2 }, |
| 692 | | {8,0,24,16 }, |
| 692 | { 0, 8, 16, 24 }, |
| 693 | 693 | //{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 }, |
| 694 | | { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, |
| 694 | { STEP8(0, 32) }, |
| 695 | 695 | 8*32 |
| 696 | 696 | }; |
| 697 | 697 | |
| r32799 | r32800 | |
| 701 | 701 | RGN_FRAC(1,1), |
| 702 | 702 | 1, |
| 703 | 703 | { 3 }, |
| 704 | | {8,0,24,16 }, |
| 704 | { 0, 8, 16, 24 }, |
| 705 | 705 | //{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 }, |
| 706 | | { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, |
| 706 | { STEP8(0, 32) }, |
| 707 | 707 | 8*32 |
| 708 | 708 | }; |
| 709 | 709 | /* |
| r32799 | r32800 | |
| 834 | 834 | ROM_LOAD( "9j_pd_50-3192_mbm2732.bin", 0x2000, 0x1000, CRC(9c66ee6e) SHA1(49c20fa276508b3c7b0134909295ae04ee46890f) ) |
| 835 | 835 | ROM_LOAD( "9h_pd_50-3375_2732.bin", 0x3000, 0x1000, CRC(daf5551d) SHA1(933e3453c9e74ca6695137c9f6b1abc1569ad019) ) |
| 836 | 836 | |
| 837 | | ROM_REGION( 0x4000, "gfx1", 0 ) |
| 837 | ROM_REGION16_LE( 0x4000, "gfx1", 0 ) |
| 838 | 838 | ROM_LOAD16_BYTE( "6a_pd_50_1991_2732.bin" ,0x0000, 0x1000, CRC(6da494bc) SHA1(0323eaa5f81e3b8561225ccdd4654c9a11f2167c) ) |
| 839 | 839 | ROM_LOAD16_BYTE( "6b_pd_50-1992_tms2732ajl.bin",0x2000, 0x1000, CRC(69208e1a) SHA1(8706f8f0d2dfeba5cebc71985ea46a67de13bc7d) ) |
| 840 | 840 | ROM_LOAD16_BYTE( "6c_pd_50-1993_tms2732ajl.bin",0x0001, 0x1000, CRC(cd8e5e54) SHA1(0961739d72d80e0ac00e6cbf9643bcebfe74830d) ) |
| r32799 | r32800 | |
| 857 | 857 | ROM_LOAD( "9j_pd_50-3192_mbm2732.bin", 0x2000, 0x1000, CRC(9c66ee6e) SHA1(49c20fa276508b3c7b0134909295ae04ee46890f) ) |
| 858 | 858 | ROM_LOAD( "9h_pd_50-3375_2732.bin", 0x3000, 0x1000, CRC(daf5551d) SHA1(933e3453c9e74ca6695137c9f6b1abc1569ad019) ) |
| 859 | 859 | |
| 860 | | ROM_REGION( 0x4000, "gfx1", 0 ) |
| 860 | ROM_REGION16_LE( 0x4000, "gfx1", 0 ) |
| 861 | 861 | ROM_LOAD16_BYTE( "6a_pd_50_1991_2732.bin" ,0x0000, 0x1000, CRC(6da494bc) SHA1(0323eaa5f81e3b8561225ccdd4654c9a11f2167c) ) |
| 862 | 862 | ROM_LOAD16_BYTE( "50-1814-tms2732ajl.6b",0x2000, 0x1000, CRC(BAA78A2E) SHA1(F7B61BAE8919ED58C12D9F80F4133A722DF08AC4) ) |
| 863 | 863 | ROM_LOAD16_BYTE( "6c_pd_50-1993_tms2732ajl.bin",0x0001, 0x1000, CRC(cd8e5e54) SHA1(0961739d72d80e0ac00e6cbf9643bcebfe74830d) ) |
| r32799 | r32800 | |
| 884 | 884 | ROM_LOAD( "9j_qh_60-2400_9193.bin", 0x2000, 0x1000, CRC(90efa26e) SHA1(aa29e2d90692cd97a9d18c93d8a2ea13ef1eab71) ) |
| 885 | 885 | ROM_LOAD( "9h_qh_80-2399_10193.bin", 0x3000, 0x1000, CRC(20be3f2f) SHA1(b6a67b664cc899e997742fb4350e3c8c1e23664a) ) |
| 886 | 886 | |
| 887 | | ROM_REGION( 0x4000, "gfx1", 0 ) |
| 887 | ROM_REGION16_LE( 0x4000, "gfx1", 0 ) |
| 888 | 888 | ROM_LOAD16_BYTE( "6a_qh_01-2395_14193.bin",0x1000, 0x0800, CRC(98b8e844) SHA1(c8a2ec3cb61d6cdc3e8fadba23a9850afd8db05b) ) |
| 889 | 889 | ROM_LOAD16_BYTE( "6b_qh_01-2396_13193.bin",0x0000, 0x0800, CRC(03a21561) SHA1(0f6d8d13d81712e3e1971fe41e48ce5dff888dfd) ) |
| 890 | 890 | ROM_LOAD16_BYTE( "6c_qh_01-2397_12193.bin",0x1001, 0x0800, CRC(b0306417) SHA1(d8322009f39c937b6dc8fe3f591734f06213a9a3) ) |
| r32799 | r32800 | |
| 913 | 913 | ROM_LOAD( "9j_qh_10-2400_9193.bin", 0x2000, 0x1000, CRC(0b90860f) SHA1(6e5f79e1a7e1b477da8e0483f75e23129604564c) ) |
| 914 | 914 | ROM_LOAD( "9h_qh_50-2399_10193.bin", 0x3000, 0x1000, CRC(7d96c776) SHA1(e97080b0b0f524c3f313d5f7b7f3b093fb071bf9) ) |
| 915 | 915 | |
| 916 | | ROM_REGION( 0x4000, "gfx1", 0 ) |
| 916 | ROM_REGION16_LE( 0x4000, "gfx1", 0 ) |
| 917 | 917 | ROM_LOAD16_BYTE( "6a_qh_01-2395_14193.bin",0x1000, 0x0800, CRC(98b8e844) SHA1(c8a2ec3cb61d6cdc3e8fadba23a9850afd8db05b) ) |
| 918 | 918 | ROM_LOAD16_BYTE( "6b_qh_01-2396_13193.bin",0x0000, 0x0800, CRC(03a21561) SHA1(0f6d8d13d81712e3e1971fe41e48ce5dff888dfd) ) |
| 919 | 919 | ROM_LOAD16_BYTE( "6c_qh_01-2397_12193.bin",0x1001, 0x0800, CRC(b0306417) SHA1(d8322009f39c937b6dc8fe3f591734f06213a9a3) ) |
| r32799 | r32800 | |
| 939 | 939 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 940 | 940 | ROM_LOAD( "a1.bin", 0x0000, 0x4000, CRC(9eace6a3) SHA1(285945034b73ff660a5a138d7be2fa431c0872e1) ) |
| 941 | 941 | |
| 942 | | ROM_REGION( 0x8000, "gfx_data", 0 ) |
| 942 | ROM_REGION16_LE( 0x8000, "gfx_data", 0 ) |
| 943 | 943 | ROM_LOAD16_BYTE( "a2.bin",0x0001, 0x4000, CRC(b8cf5e27) SHA1(a5b451ab94ea1f2dda18a2d8ef9b8e0e46621420) ) // - oversized dumps perhaps? |
| 944 | 944 | ROM_LOAD16_BYTE( "a3.bin",0x0000, 0x4000, CRC(8b5296b1) SHA1(9d27d85f2edb44b96acce3c3f3e611217dcef70d) ) // / |
| 945 | 945 | |
| 946 | | ROM_REGION( 0x4000, "gfx1", 0 ) |
| 946 | ROM_REGION16_LE( 0x4000, "gfx1", 0 ) |
| 947 | 947 | ROM_COPY("gfx_data", 0x0000, 0x1000, 0x0800 ) |
| 948 | 948 | ROM_COPY("gfx_data", 0x0800, 0x0000, 0x0800 ) |
| 949 | 949 | ROM_COPY("gfx_data", 0x1000, 0x1800, 0x0800 ) |
| r32799 | r32800 | |
| 969 | 969 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 970 | 970 | ROM_LOAD( "qc.a10", 0x0000, 0x8000, CRC(4e0327de) SHA1(543d89f2e808e48041c6c10ad4686c7f7113ed88) ) |
| 971 | 971 | |
| 972 | | ROM_REGION( 0x8000, "gfx_data", 0 ) |
| 972 | ROM_REGION16_LE( 0x8000, "gfx_data", 0 ) |
| 973 | 973 | ROM_LOAD16_BYTE( "qc.h6", 0x0001, 0x4000, CRC(a091526e) SHA1(58507414ae0d02c6adee80987f66fb8894e169b0) ) |
| 974 | 974 | ROM_LOAD16_BYTE( "qc.k6", 0x0000, 0x4000, CRC(eb583b44) SHA1(c23ad0037472c5bcb30fb030e4d13a6e5fde4b30) ) |
| 975 | 975 | |
| 976 | | ROM_REGION( 0x4000, "gfx1", 0 ) |
| 976 | ROM_REGION16_LE( 0x4000, "gfx1", 0 ) |
| 977 | 977 | ROM_COPY("gfx_data", 0x6000, 0x1000, 0x800 ) |
| 978 | 978 | ROM_COPY("gfx_data", 0x6800, 0x0000, 0x800 ) |
| 979 | 979 | ROM_COPY("gfx_data", 0x7000, 0x1800, 0x800 ) |
| r32799 | r32800 | |
| 990 | 990 | |
| 991 | 991 | DRIVER_INIT_MEMBER(dwarfd_state,dwarfd) |
| 992 | 992 | { |
| 993 | | int i; |
| 994 | | UINT8 *src, *dst; |
| 995 | | |
| 996 | 993 | /* expand gfx roms */ |
| 997 | | src = memregion("gfx1")->base(); |
| 998 | | dst = memregion("gfx2")->base(); |
| 994 | UINT8 *dst = memregion("gfx2")->base(); |
| 999 | 995 | |
| 1000 | | for (i = 0; i < 0x4000; i++) |
| 996 | for (int i = 0; i < 0x4000/2; i++) |
| 1001 | 997 | { |
| 1002 | | UINT8 dat; |
| 1003 | | dat = (src[i] & 0xf0) >> 0; |
| 1004 | | dst[i * 2] = dat; |
| 998 | dst[i * 4 + 0] = (m_charmap[i] & 0x000f) << 4; |
| 1005 | 999 | |
| 1006 | | dat = (src[i] & 0x0f)<<4; |
| 1007 | | dst[i * 2 + 1] = dat; |
| 1000 | dst[i * 4 + 1] = (m_charmap[i] & 0x00f0) >> 0; |
| 1001 | |
| 1002 | dst[i * 4 + 2] = (m_charmap[i] & 0x0f00) >> 4; |
| 1003 | |
| 1004 | dst[i * 4 + 3] = (m_charmap[i] & 0xf000) >> 8; |
| 1008 | 1005 | } |
| 1009 | 1006 | |
| 1010 | 1007 | /* use low bit as 'interpolation' bit */ |
| 1011 | | src = memregion("gfx2")->base(); |
| 1012 | | for (i = 0; i < 0x8000; i++) |
| 1008 | for (int i = 0; i < 0x8000; i++) |
| 1013 | 1009 | { |
| 1014 | | if (src[i] & 0x10) |
| 1010 | if (dst[i] & 0x10) |
| 1015 | 1011 | { |
| 1016 | | src[i] = (src[i] & 0xe0) >> 1; |
| 1017 | | // src[i] |= ((src[(i + 1) & 0x7fff] & 0xe0) >> 4); |
| 1012 | dst[i] = (dst[i] & 0xe0) >> 1; |
| 1013 | // dst[i] |= ((dst[(i + 1) & 0x7fff] & 0xe0) >> 4); |
| 1018 | 1014 | |
| 1019 | 1015 | } |
| 1020 | 1016 | else |
| 1021 | 1017 | { |
| 1022 | | src[i] = (src[i] & 0xe0) >> 1; |
| 1023 | | src[i] |= (src[i] >> 4); |
| 1018 | dst[i] = (dst[i] & 0xe0) >> 1; |
| 1019 | dst[i] |= (dst[i] >> 4); |
| 1024 | 1020 | |
| 1025 | 1021 | } |
| 1026 | | // src[i] = src[i] & 0xe0; |
| 1022 | // dst[i] = dst[i] & 0xe0; |
| 1027 | 1023 | } |
| 1028 | 1024 | |
| 1029 | 1025 | save_item(NAME(m_dw_ram)); |
trunk/src/mame/video/turbo.c
| r32799 | r32800 | |
| 264 | 264 | |
| 265 | 265 | void turbo_state::turbo_prepare_sprites(UINT8 y, sprite_info *info) |
| 266 | 266 | { |
| 267 | | const UINT8 *pr1119 = memregion("proms")->base() + 0x200; |
| 267 | const UINT8 *pr1119 = &m_proms[0x200]; |
| 268 | 268 | int sprnum; |
| 269 | 269 | |
| 270 | 270 | /* initialize the line enable signals to 0 */ |
| r32799 | r32800 | |
| 328 | 328 | } |
| 329 | 329 | |
| 330 | 330 | |
| 331 | | UINT32 turbo_state::turbo_get_sprite_bits(const UINT8 *sprite_gfxdata, UINT8 road, sprite_info *sprinfo) |
| 331 | UINT32 turbo_state::turbo_get_sprite_bits(UINT8 road, sprite_info *sprinfo) |
| 332 | 332 | { |
| 333 | 333 | UINT8 sprlive = sprinfo->lst; |
| 334 | 334 | UINT32 sprdata = 0; |
| r32799 | r32800 | |
| 355 | 355 | /* bit 0 controls which half of the byte to use */ |
| 356 | 356 | /* bits 1-13 go to address lines */ |
| 357 | 357 | /* bit 14 selects which of the two ROMs to read from */ |
| 358 | | pixdata = sprite_gfxdata[(level << 14) | ((offs >> 1) & 0x3fff)] >> ((~offs & 1) * 4); |
| 358 | pixdata = m_spriteroms[(level << 14) | ((offs >> 1) & 0x3fff)] >> ((~offs & 1) * 4); |
| 359 | 359 | sprinfo->latched[level] = sprite_expand[pixdata & 0x0f] << level; |
| 360 | 360 | |
| 361 | 361 | /* if bit 3 is 0 and bit 2 is 1, the enable flip/flip is reset */ |
| r32799 | r32800 | |
| 385 | 385 | UINT32 turbo_state::screen_update_turbo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 386 | 386 | { |
| 387 | 387 | bitmap_ind16 &fgpixmap = m_fg_tilemap->pixmap(); |
| 388 | | const UINT8 *road_gfxdata = memregion("gfx3")->base(); |
| 389 | | const UINT8 *prom_base = memregion("proms")->base(); |
| 390 | | const UINT8 *pr1114 = prom_base + 0x000; |
| 391 | | const UINT8 *pr1115 = prom_base + 0x020; |
| 392 | | const UINT8 *pr1116 = prom_base + 0x040; |
| 393 | | const UINT8 *pr1117 = prom_base + 0x060; |
| 394 | | const UINT8 *pr1118 = prom_base + 0x100; |
| 395 | | const UINT8 *pr1121 = prom_base + 0x600; |
| 396 | | const UINT8 *pr1122 = prom_base + 0x800; |
| 397 | | const UINT8 *pr1123 = prom_base + 0xc00; |
| 388 | const UINT8 *pr1114 = &m_proms[0x000]; |
| 389 | const UINT8 *pr1115 = &m_proms[0x020]; |
| 390 | const UINT8 *pr1116 = &m_proms[0x040]; |
| 391 | const UINT8 *pr1117 = &m_proms[0x060]; |
| 392 | const UINT8 *pr1118 = &m_proms[0x100]; |
| 393 | const UINT8 *pr1121 = &m_proms[0x600]; |
| 394 | const UINT8 *pr1122 = &m_proms[0x800]; |
| 395 | const UINT8 *pr1123 = &m_proms[0xc00]; |
| 398 | 396 | int x, y; |
| 399 | 397 | |
| 400 | 398 | /* loop over rows */ |
| r32799 | r32800 | |
| 451 | 449 | offs = va | /* A0- A7 = VA0-VA7 */ |
| 452 | 450 | ((sel & 0x0f) << 8); /* A8-A11 = SEL0-3 */ |
| 453 | 451 | |
| 454 | | areatmp = road_gfxdata[0x0000 | offs]; |
| 452 | areatmp = m_roadroms[0x0000 | offs]; |
| 455 | 453 | areatmp = ((areatmp + xx) >> 8) & 0x01; |
| 456 | 454 | area = areatmp << 0; |
| 457 | 455 | |
| 458 | | areatmp = road_gfxdata[0x1000 | offs]; |
| 456 | areatmp = m_roadroms[0x1000 | offs]; |
| 459 | 457 | areatmp = ((areatmp + xx) >> 8) & 0x01; |
| 460 | 458 | area |= areatmp << 1; |
| 461 | 459 | |
| r32799 | r32800 | |
| 463 | 461 | offs = va | /* A0- A7 = VA0-VA7 */ |
| 464 | 462 | ((sel & 0xf0) << 4); /* A8-A11 = SEL4-7 */ |
| 465 | 463 | |
| 466 | | areatmp = road_gfxdata[0x2000 | offs]; |
| 464 | areatmp = m_roadroms[0x2000 | offs]; |
| 467 | 465 | areatmp = ((areatmp + xx) >> 8) & 0x01; |
| 468 | 466 | area |= areatmp << 2; |
| 469 | 467 | |
| 470 | | areatmp = road_gfxdata[0x3000 | offs]; |
| 468 | areatmp = m_roadroms[0x3000 | offs]; |
| 471 | 469 | areatmp = ((areatmp + xx) >> 8) & 0x01; |
| 472 | 470 | area |= areatmp << 3; |
| 473 | 471 | |
| r32799 | r32800 | |
| 475 | 473 | offs = (xx >> 3) | /* A0- A4 = H3-H7 */ |
| 476 | 474 | ((m_turbo_opc & 0x3f) << 5); /* A5-A10 = OPC0-5 */ |
| 477 | 475 | |
| 478 | | areatmp = road_gfxdata[0x4000 | offs]; |
| 476 | areatmp = m_roadroms[0x4000 | offs]; |
| 479 | 477 | areatmp = (areatmp << (xx & 7)) & 0x80; |
| 480 | 478 | area |= areatmp >> 3; |
| 481 | 479 | |
| r32799 | r32800 | |
| 510 | 508 | /* CDG0-7 = D8 -D15 */ |
| 511 | 509 | /* CDR0-7 = D16-D23 */ |
| 512 | 510 | /* PLB0-7 = D24-D31 */ |
| 513 | | sprbits = turbo_get_sprite_bits(m_gfx1->base(), road, &sprinfo); |
| 511 | sprbits = turbo_get_sprite_bits(road, &sprinfo); |
| 514 | 512 | |
| 515 | 513 | /* perform collision detection here via lookup in IC20/PR1116 (p. 144) */ |
| 516 | 514 | m_turbo_collision |= pr1116[((sprbits >> 24) & 7) | (slipar_acciar >> 1)]; |
| r32799 | r32800 | |
| 621 | 619 | |
| 622 | 620 | void turbo_state::subroc3d_prepare_sprites(UINT8 y, sprite_info *info) |
| 623 | 621 | { |
| 624 | | const UINT8 *pr1449 = memregion("proms")->base() + 0x300; |
| 622 | const UINT8 *pr1449 = &m_proms[0x300]; |
| 625 | 623 | int sprnum; |
| 626 | 624 | |
| 627 | 625 | /* initialize the line enable signals to 0 */ |
| r32799 | r32800 | |
| 679 | 677 | } |
| 680 | 678 | |
| 681 | 679 | |
| 682 | | UINT32 turbo_state::subroc3d_get_sprite_bits(const UINT8 *sprite_gfxdata, sprite_info *sprinfo, UINT8 *plb) |
| 680 | UINT32 turbo_state::subroc3d_get_sprite_bits(sprite_info *sprinfo, UINT8 *plb) |
| 683 | 681 | { |
| 684 | 682 | /* see logic on each sprite: |
| 685 | 683 | END = (CDA == 1 && (CDA ^ CDB) == 0 && (CDC ^ CDD) == 0) |
| r32799 | r32800 | |
| 710 | 708 | /* bit 0 controls which half of the byte to use */ |
| 711 | 709 | /* bits 1-13 go to address lines */ |
| 712 | 710 | /* bit 14 selects which of the two ROMs to read from */ |
| 713 | | pixdata = sprite_gfxdata[(level << 15) | ((offs >> 1) & 0x7fff)] >> ((~offs & 1) * 4); |
| 711 | pixdata = m_spriteroms[(level << 15) | ((offs >> 1) & 0x7fff)] >> ((~offs & 1) * 4); |
| 714 | 712 | sprinfo->latched[level] = sprite_expand[pixdata & 0x0f] << level; |
| 715 | 713 | sprinfo->plb[level] = (plb_end[pixdata & 0x0f] & 1) << level; |
| 716 | 714 | |
| r32799 | r32800 | |
| 738 | 736 | UINT32 turbo_state::screen_update_subroc3d(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 739 | 737 | { |
| 740 | 738 | bitmap_ind16 &fgpixmap = m_fg_tilemap->pixmap(); |
| 741 | | const UINT8 *prom_base = memregion("proms")->base(); |
| 742 | | const UINT8 *pr1419 = prom_base + 0x000; |
| 743 | | const UINT8 *pr1620 = prom_base + 0x200; |
| 744 | | const UINT8 *pr1450 = prom_base + 0x500; |
| 745 | | const UINT8 *pr1454 = prom_base + 0x920; |
| 739 | const UINT8 *pr1419 = &m_proms[0x000]; |
| 740 | const UINT8 *pr1620 = &m_proms[0x200]; |
| 741 | const UINT8 *pr1450 = &m_proms[0x500]; |
| 742 | const UINT8 *pr1454 = &m_proms[0x920]; |
| 746 | 743 | int x, y; |
| 747 | 744 | |
| 748 | 745 | /* loop over rows */ |
| r32799 | r32800 | |
| 794 | 791 | /* CDB0-7 = D8 -D15 */ |
| 795 | 792 | /* CDC0-7 = D16-D23 */ |
| 796 | 793 | /* CDD0-7 = D24-D31 */ |
| 797 | | sprbits = subroc3d_get_sprite_bits(m_gfx1->base(), &sprinfo, &plb); |
| 794 | sprbits = subroc3d_get_sprite_bits(&sprinfo, &plb); |
| 798 | 795 | |
| 799 | 796 | /* MUX0-3 is selected by PLY0-3 and the sprite enable bits, and is the output */ |
| 800 | 797 | /* of IC21/PR1450 (p. 141), unless MPLB = 0, in which case the values are grounded (p. 141) */ |
| r32799 | r32800 | |
| 838 | 835 | |
| 839 | 836 | void turbo_state::buckrog_prepare_sprites(UINT8 y, sprite_info *info) |
| 840 | 837 | { |
| 841 | | const UINT8 *pr5196 = memregion("proms")->base() + 0x100; |
| 838 | const UINT8 *pr5196 = &m_proms[0x100]; |
| 842 | 839 | int sprnum; |
| 843 | 840 | |
| 844 | 841 | /* initialize the line enable signals to 0 */ |
| r32799 | r32800 | |
| 897 | 894 | } |
| 898 | 895 | |
| 899 | 896 | |
| 900 | | UINT32 turbo_state::buckrog_get_sprite_bits(const UINT8 *sprite_gfxdata, sprite_info *sprinfo, UINT8 *plb) |
| 897 | UINT32 turbo_state::buckrog_get_sprite_bits(sprite_info *sprinfo, UINT8 *plb) |
| 901 | 898 | { |
| 902 | 899 | /* see logic on each sprite: |
| 903 | 900 | END = (CDA == 1 && (CDA ^ CDB) == 0 && (CDC ^ CDD) == 0) |
| r32799 | r32800 | |
| 928 | 925 | /* bit 0 controls which half of the byte to use */ |
| 929 | 926 | /* bits 1-13 go to address lines */ |
| 930 | 927 | /* bit 14 selects which of the two ROMs to read from */ |
| 931 | | pixdata = sprite_gfxdata[(level << 15) | ((offs >> 1) & 0x7fff)] >> ((~offs & 1) * 4); |
| 928 | pixdata = m_spriteroms[(level << 15) | ((offs >> 1) & 0x7fff)] >> ((~offs & 1) * 4); |
| 932 | 929 | sprinfo->latched[level] = sprite_expand[pixdata & 0x0f] << level; |
| 933 | 930 | sprinfo->plb[level] = (plb_end[pixdata & 0x0f] & 1) << level; |
| 934 | 931 | |
| r32799 | r32800 | |
| 956 | 953 | UINT32 turbo_state::screen_update_buckrog(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
| 957 | 954 | { |
| 958 | 955 | bitmap_ind16 &fgpixmap = m_fg_tilemap->pixmap(); |
| 959 | | const UINT8 *bgcolor = memregion("gfx3")->base(); |
| 960 | | const UINT8 *prom_base = memregion("proms")->base(); |
| 961 | | const UINT8 *pr5194 = prom_base + 0x000; |
| 962 | | const UINT8 *pr5198 = prom_base + 0x500; |
| 963 | | const UINT8 *pr5199 = prom_base + 0x700; |
| 956 | const UINT8 *pr5194 = &m_proms[0x000]; |
| 957 | const UINT8 *pr5198 = &m_proms[0x500]; |
| 958 | const UINT8 *pr5199 = &m_proms[0x700]; |
| 964 | 959 | int x, y; |
| 965 | 960 | |
| 966 | 961 | /* loop over rows */ |
| r32799 | r32800 | |
| 1009 | 1004 | /* CDB0-7 = D8 -D15 */ |
| 1010 | 1005 | /* CDC0-7 = D16-D23 */ |
| 1011 | 1006 | /* CDD0-7 = D24-D31 */ |
| 1012 | | sprbits = buckrog_get_sprite_bits(m_gfx1->base(), &sprinfo, &plb); |
| 1007 | sprbits = buckrog_get_sprite_bits(&sprinfo, &plb); |
| 1013 | 1008 | |
| 1014 | 1009 | /* the PLB bits go into an LS148 8-to-1 decoder and become MUX0-3 (PROM board SH 2/10) */ |
| 1015 | 1010 | if (plb == 0) |
| r32799 | r32800 | |
| 1064 | 1059 | /* otherwise, CHNG = 3 */ |
| 1065 | 1060 | else |
| 1066 | 1061 | { |
| 1067 | | palbits = bgcolor[y | ((m_buckrog_mov & 0x1f) << 8)]; |
| 1062 | palbits = m_bgcolorrom[y | ((m_buckrog_mov & 0x1f) << 8)]; |
| 1068 | 1063 | palbits = (palbits & 0xc0) | ((palbits & 0x30) << 4) | ((palbits & 0x0f) << 2); |
| 1069 | 1064 | } |
| 1070 | 1065 | |
trunk/src/mess/drivers/vixen.c
| r32799 | r32800 | |
| 295 | 295 | //------------------------------------------------- |
| 296 | 296 | |
| 297 | 297 | INPUT_PORTS_START( vixen ) |
| 298 | | PORT_START("Y0") |
| 298 | PORT_START("KEY.0") |
| 299 | 299 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 300 | 300 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 301 | 301 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| r32799 | r32800 | |
| 305 | 305 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 306 | 306 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 307 | 307 | |
| 308 | | PORT_START("Y1") |
| 308 | PORT_START("KEY.1") |
| 309 | 309 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 310 | 310 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 311 | 311 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| r32799 | r32800 | |
| 315 | 315 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 316 | 316 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 317 | 317 | |
| 318 | | PORT_START("Y2") |
| 318 | PORT_START("KEY.2") |
| 319 | 319 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 320 | 320 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 321 | 321 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| r32799 | r32800 | |
| 325 | 325 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 326 | 326 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 327 | 327 | |
| 328 | | PORT_START("Y3") |
| 328 | PORT_START("KEY.3") |
| 329 | 329 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 330 | 330 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 331 | 331 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| r32799 | r32800 | |
| 335 | 335 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 336 | 336 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 337 | 337 | |
| 338 | | PORT_START("Y4") |
| 338 | PORT_START("KEY.4") |
| 339 | 339 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 340 | 340 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 341 | 341 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| r32799 | r32800 | |
| 345 | 345 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 346 | 346 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 347 | 347 | |
| 348 | | PORT_START("Y5") |
| 348 | PORT_START("KEY.5") |
| 349 | 349 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 350 | 350 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 351 | 351 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| r32799 | r32800 | |
| 355 | 355 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 356 | 356 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 357 | 357 | |
| 358 | | PORT_START("Y6") |
| 358 | PORT_START("KEY.6") |
| 359 | 359 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 360 | 360 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 361 | 361 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| r32799 | r32800 | |
| 365 | 365 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 366 | 366 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 367 | 367 | |
| 368 | | PORT_START("Y7") |
| 368 | PORT_START("KEY.7") |
| 369 | 369 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 370 | 370 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| 371 | 371 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) |
| r32799 | r32800 | |
| 420 | 420 | for (int chadr = 0; chadr < 128; chadr++) |
| 421 | 421 | { |
| 422 | 422 | UINT16 sync_addr = (txadr << 7) | chadr; |
| 423 | | UINT8 sync_data = m_sync_rom->base()[sync_addr]; |
| 423 | UINT8 sync_data = m_sync_rom[sync_addr]; |
| 424 | 424 | int blank = BIT(sync_data, 4); |
| 425 | 425 | /* |
| 426 | 426 | int clrchadr = BIT(sync_data, 7); |
| r32799 | r32800 | |
| 450 | 450 | reverse = BIT(video_data, 7); |
| 451 | 451 | } |
| 452 | 452 | |
| 453 | | UINT8 char_data = m_char_rom->base()[char_addr]; |
| 453 | UINT8 char_data = m_char_rom[char_addr]; |
| 454 | 454 | |
| 455 | 455 | for (int x = 0; x < 8; x++) |
| 456 | 456 | { |
| r32799 | r32800 | |
| 495 | 495 | { |
| 496 | 496 | UINT8 data = 0xff; |
| 497 | 497 | |
| 498 | | if (!BIT(m_col, 0)) data &= m_y0->read(); |
| 499 | | if (!BIT(m_col, 1)) data &= m_y1->read(); |
| 500 | | if (!BIT(m_col, 2)) data &= m_y2->read(); |
| 501 | | if (!BIT(m_col, 3)) data &= m_y3->read(); |
| 502 | | if (!BIT(m_col, 4)) data &= m_y4->read(); |
| 503 | | if (!BIT(m_col, 5)) data &= m_y5->read(); |
| 504 | | if (!BIT(m_col, 6)) data &= m_y6->read(); |
| 505 | | if (!BIT(m_col, 7)) data &= m_y7->read(); |
| 498 | for (int i = 0; i < 8; i++) |
| 499 | if (!BIT(m_col, i)) data &= m_key[i]->read(); |
| 506 | 500 | |
| 507 | 501 | return data; |
| 508 | 502 | } |
| r32799 | r32800 | |
| 699 | 693 | UINT8 *ram = m_ram->pointer(); |
| 700 | 694 | |
| 701 | 695 | membank("bank1")->configure_entry(0, ram); |
| 702 | | membank("bank1")->configure_entry(1, m_rom->base()); |
| 696 | membank("bank1")->configure_entry(1, m_rom); |
| 703 | 697 | |
| 704 | 698 | membank("bank2")->configure_entry(0, ram); |
| 705 | 699 | membank("bank2")->configure_entry(1, m_video_ram); |
| 706 | 700 | |
| 707 | 701 | membank("bank3")->configure_entry(0, m_video_ram); |
| 708 | | membank("bank3")->configure_entry(1, m_rom->base()); |
| 702 | membank("bank3")->configure_entry(1, m_rom); |
| 709 | 703 | |
| 710 | 704 | membank("bank4")->configure_entry(0, m_video_ram); |
| 711 | 705 | |
| r32799 | r32800 | |
| 860 | 854 | m_reset = 0; |
| 861 | 855 | } |
| 862 | 856 | |
| 863 | | direct.explicit_configure(0xf000, 0xffff, 0xfff, m_rom->base()); |
| 857 | direct.explicit_configure(0xf000, 0xffff, 0xfff, m_rom); |
| 864 | 858 | |
| 865 | 859 | return ~0; |
| 866 | 860 | } |