1 /********************************************************************
2 
3  Vampire 1/2 and other Hyperstone-based games
4 
5  ***VERY WIP***
6 
7  To be used only for testing Hyperstone CPU core, probably the only correct
8  thing in the driver so far is the ROM loading and graphics decoding.
9 
10  These will be split into separate drivers later.
11 
12  CHANGELOG:
13 
14  MooglyGuy - 10/25/03
15     - Changed prelim driver to only load the ROM in the upper part of mem,
16       loading the ROM at 0x00000000 and setting the bank to point there was
17       completely wrong since apparently there's RAM at 0x00000000.
18 
19 *********************************************************************/
20 #include "driver.h"
21 
MEMORY_READ32_START(readmem)22 static MEMORY_READ32_START( readmem )
23 	{ 0x00000000, 0x0007ffff, MRA32_RAM },
24 	{ 0xfff80000, 0xffffffff, MRA32_BANK1 },
25 MEMORY_END
26 
27 static MEMORY_WRITE32_START( writemem )
28 	{ 0x00000000, 0x0007ffff, MWA32_RAM },
29 	{ 0xfff80000, 0xffffffff, MWA32_ROM },
30 MEMORY_END
31 
32 static MEMORY_READ32_START( xfiles_readmem )
33 	{ 0x00000000, 0x0007ffff, MRA32_RAM },
34 	{ 0xffc00000, 0xffffffff, MRA32_BANK1 },
35 MEMORY_END
36 
37 static MEMORY_WRITE32_START( xfiles_writemem )
38 	{ 0x00000000, 0x0007ffff, MWA32_RAM },
39 	{ 0xffc00000, 0xffffffff, MWA32_ROM },
40 MEMORY_END
41 
42 INPUT_PORTS_START( vamphalf )
43 INPUT_PORTS_END
44 
45 
46 VIDEO_START( vamphalf )
47 {
48 	return 0;
49 }
50 
VIDEO_UPDATE(vamphalf)51 VIDEO_UPDATE( vamphalf )
52 {
53 
54 }
55 
56 static struct GfxLayout vamphalf_layout =
57 {
58 	16,16,
59 	RGN_FRAC(1,1),
60 	8,
61 	{ 0,1,2,3,4,5,6,7 },
62 	{ 0,8,16,24, 32,40,48,56, 64,72,80,88 ,96,104,112,120 },
63 	{ 0*128, 1*128, 2*128, 3*128, 4*128, 5*128, 6*128, 7*128, 8*128,9*128,10*128,11*128,12*128,13*128,14*128,15*128 },
64 	16*128,
65 };
66 
67 static struct GfxDecodeInfo gfxdecodeinfo[] =
68 {
69 	{ REGION_GFX1, 0, &vamphalf_layout,   0x0, 1  }, /* bg tiles */
70 	{ -1 } /* end of array */
71 };
72 
73 static MACHINE_DRIVER_START( vamphalf )
74 	MDRV_CPU_ADD(E132XS,10000000)		 /* ?? */
MDRV_CPU_MEMORY(readmem,writemem)75 	MDRV_CPU_MEMORY(readmem,writemem)
76 
77 	MDRV_FRAMES_PER_SECOND(60)
78 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
79 
80 	/* video hardware */
81 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
82 	MDRV_SCREEN_SIZE(256, 256)
83 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
84 
85 	MDRV_GFXDECODE(gfxdecodeinfo)
86 
87 	MDRV_PALETTE_LENGTH(256)
88 
89 	MDRV_VIDEO_START(vamphalf)
90 	MDRV_VIDEO_UPDATE(vamphalf)
91 MACHINE_DRIVER_END
92 
93 
94 static MACHINE_DRIVER_START( xfiles )
95 	MDRV_CPU_ADD(E132XS,10000000)		 /* ?? */
96 	MDRV_CPU_MEMORY(xfiles_readmem,xfiles_writemem)
97 
98 	MDRV_FRAMES_PER_SECOND(60)
99 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
100 
101 	/* video hardware */
102 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
103 	MDRV_SCREEN_SIZE(256, 256)
104 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
105 
106 	MDRV_GFXDECODE(gfxdecodeinfo)
107 
108 	MDRV_PALETTE_LENGTH(256)
109 
110 	MDRV_VIDEO_START(vamphalf)
111 	MDRV_VIDEO_UPDATE(vamphalf)
112 MACHINE_DRIVER_END
113 
114 /* f2 systems hardware */
115 
116 ROM_START( vamphalf )
117 	ROM_REGION( 0x80000, REGION_CPU1, 0 )
118 
119 	ROM_REGION32_BE( 0x80000, REGION_USER1, 0 ) /* Hyperstone CPU Code */
120 	ROM_LOAD("prom1", 0x00000000,    0x00080000,   CRC(f05e8e96) SHA1(c860e65c811cbda2dc70300437430fb4239d3e2d))
121 
122 	ROM_REGION( 0x800000, REGION_GFX1, 0 ) /* 16x16x8 Sprites? */
123 	ROM_LOAD32_WORD( "roml00",       0x000000, 0x200000, CRC(cc075484) SHA1(6496d94740457cbfdac3d918dce2e52957341616) )
124 	ROM_LOAD32_WORD( "roml01",       0x400000, 0x200000, CRC(626c9925) SHA1(c90c72372d145165a8d3588def12e15544c6223b) )
125 	ROM_LOAD32_WORD( "romu00",       0x000002, 0x200000, CRC(711c8e20) SHA1(1ef7f500d6f5790f5ae4a8b58f96ee9343ef8d92) )
126 	ROM_LOAD32_WORD( "romu01",       0x400002, 0x200000, CRC(d5be3363) SHA1(dbdd0586909064e015f190087f338f37bbf205d2) )
127 
128 	ROM_REGION( 0x040000, REGION_SOUND1, 0 ) /* Oki Samples */
129 	ROM_LOAD( "vrom1",        0x000000, 0x040000, CRC(ee9e371e) SHA1(3ead5333121a77d76e4e40a0e0bf0dbc75f261eb) )
130 ROM_END
131 
132 /* eolith hardware */
133 
134 /*
135 
136 
137 
138 Name         Size     CRC32       Chip Type
139 -------------------------------------------
140 hc0_u39.bin  4194304  0xeefb6add  C32000 dumped as SGS 27C322
141 hc1_u34.bin  4194304  0x482f3e52  C32000 dumped as SGS 27C322
142 hc2_u40.bin  4194304  0x914a1544  C32000 dumped as SGS 27C322
143 hc3_u35.bin  4194304  0x80c59133  C32000 dumped as SGS 27C322
144 hc4_u41.bin  4194304  0x9a9e2203  C32000 dumped as SGS 27C322
145 hc5_u36.bin  4194304  0x74b1719d  C32000 dumped as SGS 27C322
146 hc_u108.bin   524288  0x2bae46cb  27C040
147 hc_u43.bin    524288  0x635b4478  27C040
148 hc_u97.bin    524288  0xebf9f77b  27C040
149 hc_u107.bin    32768  0xafd5263d  AMIC 275308 dumped as 27256
150 hc_u111.bin    32768  0x79012474  AMIC 275308 dumped as 27256
151 */
152 
153 ROM_START( hidnctch )
154 	ROM_REGION( 0x80000, REGION_CPU1, 0 )
155 
156 	ROM_REGION32_BE( 0x80000, REGION_USER1, 0 ) /* Hyperstone CPU Code */
157 	ROM_LOAD("hc_u43.bin", 0x00000000,    0x080000,  CRC(635b4478) SHA1(31ea4a9725e0c329447c7d221c22494c905f6940) )
158 
159 	ROM_REGION( 0x2000000, REGION_GFX1, 0 ) /* GFX (not tile based) */
160 	ROM_LOAD16_BYTE("hc0_u39.bin", 0x0000001,    0x0400000, CRC(eefb6add) SHA1(a0f6f2cf86699a666be0647274d8c9381782640d))
161 	ROM_LOAD16_BYTE("hc1_u34.bin", 0x0000000,    0x0400000, CRC(482f3e52) SHA1(7a527c6af4c80e10cc25219a04ccf7c7ea1b23af))
162 	ROM_LOAD16_BYTE("hc2_u40.bin", 0x0800001,    0x0400000, CRC(914a1544) SHA1(683cb007ace50d1ba88253da6ad71dc3a395299d))
163 	ROM_LOAD16_BYTE("hc3_u35.bin", 0x0800000,    0x0400000, CRC(80c59133) SHA1(66ca4c2c014c4a1c87c46a3971732f0a2be95408))
164 	ROM_LOAD16_BYTE("hc4_u41.bin", 0x1000001,    0x0400000, CRC(9a9e2203) SHA1(a90f5842b63696753e6c16114b1893bbeb91e45c))
165 	ROM_LOAD16_BYTE("hc5_u36.bin", 0x1000000,    0x0400000, CRC(74b1719d) SHA1(fe2325259117598ad7c23217426ac9c28440e3a0))
166 
167 	ROM_REGION( 0x080000, REGION_GFX2, 0 ) /* ? */
168 	ROM_LOAD("hc_u108.bin", 0x000000,    0x080000, CRC(2bae46cb) SHA1(7c43f1002dfc20b9c1bb1647f7261dfa7ed2b4f9))
169 
170 	ROM_REGION( 0x080000, REGION_GFX3, 0 ) /* ? */
171 	ROM_LOAD("hc_u107.bin", 0x000000,    0x08000, CRC(afd5263d) SHA1(71ace1b749d8a6b84d08b97185e7e512d04e4b8d) ) // same in landbrk
172 
173 	ROM_REGION( 0x080000, REGION_GFX4, 0 ) /* ? */
174 	ROM_LOAD("hc_u111.bin", 0x000000,    0x08000, CRC(79012474) SHA1(09a2d5705d7bc52cc2d1644c87c1e31ee44813ef))
175 
176 	ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* ? */
177 	ROM_LOAD("hc_u97.bin", 0x000000,    0x080000, CRC(ebf9f77b) SHA1(5d472aeb84fc011e19b9e61d34aeddfe7d6ac216) )
178 ROM_END
179 
180 /*
181 
182 Documentation
183 -------------------------------------------
184 lb_pcb.jpg    614606  0xf041e24c
185 
186 Name         Size     CRC32       Chip Type
187 -------------------------------------------
188 lb.107         32768  0xafd5263d  AMIC 275308 dumped as 27256
189 lb2-000.u39  4194304  0xb37faf7a  C32000 dumped as SGS 27C322
190 lb2-001.u34  4194304  0x07e620c9  C32000 dumped as SGS 27C322
191 lb2-002.u40  4194304  0x3bb4bca6  C32000 dumped as SGS 27C322
192 lb2-003.u35  4194304  0x28ce863a  C32000 dumped as SGS 27C322
193 lb2-004.u41  4194304  0xcbe84b06  C32000 dumped as SGS 27C322
194 lb2-005.u36  4194304  0x350c77a3  C32000 dumped as SGS 27C322
195 lb2-006.u42  4194304  0x22c57cd8  C32000 dumped as SGS 27C322
196 lb2-007.u37  4194304  0x31f957b3  C32000 dumped as SGS 27C322
197 lb_1.u43      524288  0xf8bbcf44  27C040
198 lb_2.108      524288  0xa99182d7  27C040
199 lb_3.u97      524288  0x5b34dff0  27C040
200 
201 */
202 
203 ROM_START( landbrk )
204 	ROM_REGION( 0x80000, REGION_CPU1, 0 )
205 
206 	ROM_REGION32_BE( 0x80000, REGION_USER1, 0 ) /* Hyperstone CPU Code */
207 	ROM_LOAD("lb_1.u43", 0x00000000,    0x080000,   CRC(f8bbcf44) SHA1(ad85a890ae2f921cd08c1897b4d9a230ccf9e072) )
208 
209 	ROM_REGION( 0x2000000, REGION_GFX1, 0 ) /* GFX (not tile based) */
210 	ROM_LOAD16_BYTE("lb2-000.u39", 0x0000001,    0x0400000, CRC(b37faf7a) SHA1(30e9af3957ada7c72d85f55add221c2e9b3ea823) )
211 	ROM_LOAD16_BYTE("lb2-001.u34", 0x0000000,    0x0400000, CRC(07e620c9) SHA1(19f95316208fb4e52cef78f18c5d93460a644566) )
212 	ROM_LOAD16_BYTE("lb2-002.u40", 0x0800001,    0x0400000, CRC(3bb4bca6) SHA1(115029be4a4e322549a35f3ae5093ec161e9a421) )
213 	ROM_LOAD16_BYTE("lb2-003.u35", 0x0800000,    0x0400000, CRC(28ce863a) SHA1(1ba7d8be0ed4459dbdf99df18a2ad817904b9f04) )
214 	ROM_LOAD16_BYTE("lb2-004.u41", 0x1000001,    0x0400000, CRC(cbe84b06) SHA1(52505939fb88cd24f409c795fe5ceed5b41a52c2))
215 	ROM_LOAD16_BYTE("lb2-005.u36", 0x1000000,    0x0400000, CRC(350c77a3) SHA1(231e65ea7db19019615a8aa4444922bcd5cf9e5c) )
216 	ROM_LOAD16_BYTE("lb2-006.u42", 0x1800001,    0x0400000, CRC(22c57cd8) SHA1(c9eb745523005876395ff7f0b3e996994b3f1220))
217 	ROM_LOAD16_BYTE("lb2-007.u37", 0x1800000,    0x0400000, CRC(31f957b3) SHA1(ab1c4c50c2d5361ba8db047feb714423d84e6df4) )
218 
219 	ROM_REGION( 0x080000, REGION_GFX2, 0 ) /* ? */
220 	ROM_LOAD("lb_2.108", 0x000000,    0x080000,  CRC(a99182d7) SHA1(628c8d09efb3917a4e97d9e02b6b0ca1f339825d) )
221 
222 	ROM_REGION( 0x080000, REGION_GFX3, 0 ) /* ? */
223 	ROM_LOAD("lb.107", 0x000000,    0x08000,    CRC(afd5263d) SHA1(71ace1b749d8a6b84d08b97185e7e512d04e4b8d) )
224 
225 	ROM_REGION( 0x080000, REGION_GFX4, 0 ) /* ? */
226 	/* 111 isn't populated? */
227 
228 	ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* ? */
229 	ROM_LOAD("lb_3.u97", 0x000000,    0x080000,  CRC(5b34dff0) SHA1(1668763e977e272781ddcc74beba97b53477cc9d) )
230 ROM_END
231 
232 /*
233 
234 Racoon World by Eolith
235 
236 U43, u97, u108   are 27c040 devices
237 
238 u111, u107   are 27c256 devices
239 
240 On the ROM sub board:
241 u1, u2, u5, u10, u11, u14  are all 27c160 devices
242 --------------------------------------------------------------------------
243 Stereo sound?
244 24MHz crystal near the sound section
245 
246 there is a 4 position DIP switch.
247 
248 Hyperstone E1-32N    45.00000 MHz  near this chip
249 QDSP     QS1001A
250 QDSP     QS1000
251 EOLITH  EV0514-001  custom??   14.31818MHz  xtl near this chip
252 12MHz crystal is near the U111
253 
254 U107 and U97 are mostlikely sound roms but not sure
255 
256 */
257 
258 ROM_START( racoon )
259 	ROM_REGION( 0x80000, REGION_CPU1, 0 )
260 
261 	ROM_REGION32_BE( 0x80000, REGION_USER1, 0 ) /* Hyperstone CPU Code */
262 	ROM_LOAD("racoon-u.43", 0x00000000,    0x080000,  CRC(711ee026) SHA1(c55dfaa24cbaa7a613657cfb25e7f0085f1e4cbf) )
263 
264 	ROM_REGION( 0x2000000, REGION_GFX1, 0 ) /* GFX (not tile based) */
265 	ROM_LOAD16_BYTE("racoon.u1", 0x0000001,    0x0200000, CRC(49775125) SHA1(2b8ee9dd767465999c828d65bb02b8aaad94177c) )
266 	ROM_LOAD16_BYTE("racoon.u10",0x0000000,    0x0200000, CRC(f702390e) SHA1(47520ba0e6d3f044136a517ebbec7426a66ce33d) )
267 	ROM_LOAD16_BYTE("racoon.u2", 0x0800001,    0x0200000, CRC(1eb00529) SHA1(d9af75e116f5237a3c6812538b77155b9c08dd5c) )
268 	ROM_LOAD16_BYTE("racoon.u11",0x0800000,    0x0200000, CRC(3f23f368) SHA1(eb1ea51def2cde5e7e4f334888294b794aa03dfc) )
269 	ROM_LOAD16_BYTE("racoon.u5", 0x1000001,    0x0200000, CRC(5fbac174) SHA1(1d3e3f40a737d61ff688627891dec183af7fa19a) )
270 	ROM_LOAD16_BYTE("racoon.u14",0x1000000,    0x0200000, CRC(870fe45e) SHA1(f8d800b92eb1ee9ef4663319fd3cb1f5e52d0e72) )
271 
272 	ROM_REGION( 0x080000, REGION_GFX2, 0 ) /* ? */
273 	ROM_LOAD("racoon-u.108", 0x000000,    0x080000,  CRC(fc4f30ee) SHA1(74b9e60cceb03ad572e0e080fbe1de5cffa1b2c3) )
274 
275 	ROM_REGION( 0x080000, REGION_GFX3, 0 ) /* ? */
276 	ROM_LOAD("racoon-u.107", 0x000000,    0x08000,    CRC(89450a2f) SHA1(d58efa805f497bec179fdbfb8c5860ac5438b4ec) )
277 
278 	ROM_REGION( 0x080000, REGION_GFX4, 0 ) /* ? */
279 	ROM_LOAD("racoon-u.111", 0x000000,    0x08000, CRC(52f419ea) SHA1(79c9f135b0cf8b1928411faed9b447cd98a83287))
280 
281 	ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* ? */
282 	ROM_LOAD("racoon-u.97", 0x000000,    0x080000,  CRC(fef828b1) SHA1(38352b67d18300db40113df9426c2aceec12a29b))
283 ROM_END
284 
285 /* ?? dfpix hardware */
286 
287 /*
288 
289 X-Files
290 dfPIX Entertainment Inc. 1999
291 
292 Contrary to what you might think on first hearing the title, this game
293 is like Match It 2 etc. However, the quality of the graphics
294 is outstanding, perhaps the most high quality seen in this "type" of game.
295 At the end of the level, you are presented with a babe, where you can use
296 the joystick and buttons to scroll up and down and zoom in for erm...
297 a closer inspection of the 'merchandise' ;-))
298 
299 
300 PCB Layout
301 ----------
302 
303 
304 VRenderOMinus Rev4
305 -------------------------------------------------------
306 |                                                     |
307 |   DA1545A             C-O-N-N-1                 C   |
308 |                                                 O   |
309 |  POT1    T2316162               SEC KS0164      N   |
310 |  POT2    T2316162                               N   |
311 |J                                    169NDK19:   3   |
312 |A     14.31818MHz                     CONN2          |
313 |M  KA4558                                            |
314 |M                                                    |
315 |A                                SEC KM6161002CJ-12  |
316 |          E1-32XT                                    |
317 |                                 SEC KM6161002CJ-12  |
318 |                                                     |
319 |       ST7705C                   SEC KM6161002CJ-12  |
320 | B1             XCS05                                |
321 | B2 B3          14.31818MHz      SEC KM6161002CJ-12  |
322 -------------------------------------------------------
323 
324 
325 Notes
326 -----
327 ST7705C          : EEPROM?
328 E1-32XT          : Hyperstone E1-32XT CPU
329 169NDK19         : Xtal, 16.9MHz
330 CONN1,CONN2,CONN3: Connectors for small daughterboard containing
331                    3x DA28F320J5 (32M surface mounted SSOP56 Flash ROM)
332 XCS05            : XILINX XCS05 PLD
333 B1,B2,B3         : Push Buttons for TEST, SERVICE and RESET
334 SEC KS0164       : Manufactured by Samsung Electronics. Possibly sound
335                    related or Sound CPU? (QFP100)
336 T2316162         : Main program RAM (SOJ44)
337 SEC KM6161002    : Graphics RAM (SOJ44)
338 
339 */
340 
341 ROM_START( xfiles )
342 	ROM_REGION( 0x400000, REGION_CPU1, 0 )
343 
344 	ROM_REGION32_BE( 0x400000, REGION_USER1, 0 ) /* Hyperstone CPU Code */
345 	ROM_LOAD16_WORD_SWAP("u9.bin", 0x00000000,    0x400000,   CRC(ebdb75c0) SHA1(9aa5736bbf3215c35d62b424c2e5e40223227baf) )
346 
347 	/* the following probably aren't in the right regions etc. */
348 
349 	ROM_REGION( 0x400000, REGION_GFX1, 0 )
350 	ROM_LOAD16_WORD_SWAP("u8.bin", 0x00000000,    0x400000,   CRC(3b2c2bc1) SHA1(1c07fb5bd8a8c9b5fb169e6400fef845f3aee7aa) )
351 
352 	ROM_REGION( 0x400000, REGION_SOUND1, 0 )
353 	ROM_LOAD16_WORD_SWAP("u10.bin", 0x00000000,    0x400000,   CRC(f2ef1eb9) SHA1(d033d140fce6716d7d78509aa5387829f0a1404c) )
354 ROM_END
355 
356 DRIVER_INIT( vamphalf )
357 {
358 	cpu_setbank(1, memory_region(REGION_USER1));
359 }
360 
361 /*           rom       parent    machine   inp       init */
362 GAMEX( 19??, vamphalf, 0,        vamphalf, vamphalf, vamphalf, ROT0, "Danbi", "Vamp 1/2", GAME_NO_SOUND | GAME_NOT_WORKING )
363 GAMEX( 19??, hidnctch, 0,        vamphalf, vamphalf, vamphalf, ROT0, "Eolith", "Hidden Catch", GAME_NO_SOUND | GAME_NOT_WORKING )
364 GAMEX( 19??, landbrk,  0,        vamphalf, vamphalf, vamphalf, ROT0, "Eolith", "Land Breaker", GAME_NO_SOUND | GAME_NOT_WORKING )
365 GAMEX( 19??, racoon,   0,        vamphalf, vamphalf, vamphalf, ROT0, "Eolith", "Racoon World", GAME_NO_SOUND | GAME_NOT_WORKING )
366 GAMEX( 19??, xfiles,   0,        xfiles,   vamphalf, vamphalf, ROT0, "dfPIX Entertainment Inc.", "X-Files", GAME_NO_SOUND | GAME_NOT_WORKING )
367