Previous 199869 Revisions Next

r23776 Tuesday 18th June, 2013 at 14:01:12 UTC by Miodrag Milanović
Made includes of C files in drivers section to use .inc instead, and also renamed galdrvr.c into galaxian.inc and neodrvr.c to neogeo.inc since it makes more sense (nw)
[src/mame]mame.mak
[src/mame/drivers]galaxian.c galaxian.inc* galdrvr.c neodrvr.c neogeo.c neogeo.inc*
[src/mame/video]jagblit.c jagblit.inc* jagobj.c jagobj.inc* jaguar.c m3raster.c m3raster.inc* model2.c model2rd.c model2rd.inc* model3.c n64.c rdpfiltr.c rdpfiltr.inc*
[src/mess]mess.mak
[src/mess/drivers]palm.c palm_dbg.c palm_dbg.inc*
[src/mess/machine]cx4data.c cx4data.inc* cx4fn.c cx4fn.inc* cx4oam.c cx4oam.inc* cx4ops.c cx4ops.inc* nes_ines.c nes_ines.inc* nes_pcb.c nes_pcb.inc* nes_slot.c nes_unif.c nes_unif.inc* snescx4.c

trunk/src/mess/mess.mak
r23775r23776
24142414# miscellaneous dependencies
24152415#-------------------------------------------------
24162416
2417$(MESS_MACHINE)/snescx4.o: $(MESSSRC)/machine/cx4ops.c \
2418            $(MESSSRC)/machine/cx4oam.c \
2419            $(MESSSRC)/machine/cx4fn.c \
2420            $(MESSSRC)/machine/cx4data.c \
2417$(MESS_MACHINE)/snescx4.o: $(MESSSRC)/machine/cx4ops.inc \
2418            $(MESSSRC)/machine/cx4oam.inc \
2419            $(MESSSRC)/machine/cx4fn.inc \
2420            $(MESSSRC)/machine/cx4data.inc \
24212421
2422$(MESS_MACHINE)/nes_slot.o:  $(MESSSRC)/machine/nes_ines.c \
2423            $(MESSSRC)/machine/nes_pcb.c \
2424            $(MESSSRC)/machine/nes_unif.c \
2422$(MESS_MACHINE)/nes_slot.o:  $(MESSSRC)/machine/nes_ines.inc \
2423            $(MESSSRC)/machine/nes_pcb.inc \
2424            $(MESSSRC)/machine/nes_unif.inc \
24252425
24262426$(MESS_AUDIO)/mac.o:        $(MESSSRC)/audio/mac.c \
24272427            $(MESSSRC)/includes/mac.h $(MESSSRC)/machine/egret.h $(MESSSRC)/machine/cuda.h
trunk/src/mess/drivers/palm_dbg.c
r23775r23776
1static const char *lookup_trap(UINT16 opcode)
2{
3   static const struct
4   {
5      const char *name;
6      UINT16 trap;
7   } traps[] =
8   {
9      { "sysTrapMemInit", 0xA000 },
10      { "sysTrapMemInitHeapTable", 0xA001 },
11      { "sysTrapMemStoreInit", 0xA002 },
12      { "sysTrapMemCardFormat", 0xA003 },
13      { "sysTrapMemCardInfo", 0xA004 },
14      { "sysTrapMemStoreInfo", 0xA005 },
15      { "sysTrapMemStoreSetInfo", 0xA006 },
16      { "sysTrapMemNumHeaps", 0xA007 },
17      { "sysTrapMemNumRAMHeaps", 0xA008 },
18      { "sysTrapMemHeapID", 0xA009 },
19      { "sysTrapMemHeapPtr", 0xA00A },
20      { "sysTrapMemHeapFreeBytes", 0xA00B },
21      { "sysTrapMemHeapSize", 0xA00C },
22      { "sysTrapMemHeapFlags", 0xA00D },
23      { "sysTrapMemHeapCompact", 0xA00E },
24      { "sysTrapMemHeapInit", 0xA00F },
25      { "sysTrapMemHeapFreeByOwnerID", 0xA010 },
26      { "sysTrapMemChunkNew", 0xA011 },
27      { "sysTrapMemChunkFree", 0xA012 },
28      { "sysTrapMemPtrNew", 0xA013 },
29      { "sysTrapMemPtrRecoverHandle", 0xA014 },
30      { "sysTrapMemPtrFlags", 0xA015 },
31      { "sysTrapMemPtrSize", 0xA016 },
32      { "sysTrapMemPtrOwner", 0xA017 },
33      { "sysTrapMemPtrHeapID", 0xA018 },
34      { "sysTrapMemPtrCardNo", 0xA019 },
35      { "sysTrapMemPtrToLocalID", 0xA01A },
36      { "sysTrapMemPtrSetOwner", 0xA01B },
37      { "sysTrapMemPtrResize", 0xA01C },
38      { "sysTrapMemPtrResetLock", 0xA01D },
39      { "sysTrapMemHandleNew", 0xA01E },
40      { "sysTrapMemHandleLockCount", 0xA01F },
41      { "sysTrapMemHandleToLocalID", 0xA020 },
42      { "sysTrapMemHandleLock", 0xA021 },
43      { "sysTrapMemHandleUnlock", 0xA022 },
44      { "sysTrapMemLocalIDToGlobal", 0xA023 },
45      { "sysTrapMemLocalIDKind", 0xA024 },
46      { "sysTrapMemLocalIDToPtr", 0xA025 },
47      { "sysTrapMemMove", 0xA026 },
48      { "sysTrapMemSet", 0xA027 },
49      { "sysTrapMemStoreSearch", 0xA028 },
50      { "sysTrapSysReserved10Trap1", 0xA029 },
51      { "sysTrapMemKernelInit", 0xA02A },
52      { "sysTrapMemHandleFree", 0xA02B },
53      { "sysTrapMemHandleFlags", 0xA02C },
54      { "sysTrapMemHandleSize", 0xA02D },
55      { "sysTrapMemHandleOwner", 0xA02E },
56      { "sysTrapMemHandleHeapID", 0xA02F },
57      { "sysTrapMemHandleDataStorage", 0xA030 },
58      { "sysTrapMemHandleCardNo", 0xA031 },
59      { "sysTrapMemHandleSetOwner", 0xA032 },
60      { "sysTrapMemHandleResize", 0xA033 },
61      { "sysTrapMemHandleResetLock", 0xA034 },
62      { "sysTrapMemPtrUnlock", 0xA035 },
63      { "sysTrapMemLocalIDToLockedPtr", 0xA036 },
64      { "sysTrapMemSetDebugMode", 0xA037 },
65      { "sysTrapMemHeapScramble", 0xA038 },
66      { "sysTrapMemHeapCheck", 0xA039 },
67      { "sysTrapMemNumCards", 0xA03A },
68      { "sysTrapMemDebugMode", 0xA03B },
69      { "sysTrapMemSemaphoreReserve", 0xA03C },
70      { "sysTrapMemSemaphoreRelease", 0xA03D },
71      { "sysTrapMemHeapDynamic", 0xA03E },
72      { "sysTrapMemNVParams", 0xA03F },
73      { "sysTrapDmInit", 0xA040 },
74      { "sysTrapDmCreateDatabase", 0xA041 },
75      { "sysTrapDmDeleteDatabase", 0xA042 },
76      { "sysTrapDmNumDatabases", 0xA043 },
77      { "sysTrapDmGetDatabase", 0xA044 },
78      { "sysTrapDmFindDatabase", 0xA045 },
79      { "sysTrapDmDatabaseInfo", 0xA046 },
80      { "sysTrapDmSetDatabaseInfo", 0xA047 },
81      { "sysTrapDmDatabaseSize", 0xA048 },
82      { "sysTrapDmOpenDatabase", 0xA049 },
83      { "sysTrapDmCloseDatabase", 0xA04A },
84      { "sysTrapDmNextOpenDatabase", 0xA04B },
85      { "sysTrapDmOpenDatabaseInfo", 0xA04C },
86      { "sysTrapDmResetRecordStates", 0xA04D },
87      { "sysTrapDmGetLastErr", 0xA04E },
88      { "sysTrapDmNumRecords", 0xA04F },
89      { "sysTrapDmRecordInfo", 0xA050 },
90      { "sysTrapDmSetRecordInfo", 0xA051 },
91      { "sysTrapDmAttachRecord", 0xA052 },
92      { "sysTrapDmDetachRecord", 0xA053 },
93      { "sysTrapDmMoveRecord", 0xA054 },
94      { "sysTrapDmNewRecord", 0xA055 },
95      { "sysTrapDmRemoveRecord", 0xA056 },
96      { "sysTrapDmDeleteRecord", 0xA057 },
97      { "sysTrapDmArchiveRecord", 0xA058 },
98      { "sysTrapDmNewHandle", 0xA059 },
99      { "sysTrapDmRemoveSecretRecords", 0xA05A },
100      { "sysTrapDmQueryRecord", 0xA05B },
101      { "sysTrapDmGetRecord", 0xA05C },
102      { "sysTrapDmResizeRecord", 0xA05D },
103      { "sysTrapDmReleaseRecord", 0xA05E },
104      { "sysTrapDmGetResource", 0xA05F },
105      { "sysTrapDmGet1Resource", 0xA060 },
106      { "sysTrapDmReleaseResource", 0xA061 },
107      { "sysTrapDmResizeResource", 0xA062 },
108      { "sysTrapDmNextOpenResDatabase", 0xA063 },
109      { "sysTrapDmFindResourceType", 0xA064 },
110      { "sysTrapDmFindResource", 0xA065 },
111      { "sysTrapDmSearchResource", 0xA066 },
112      { "sysTrapDmNumResources", 0xA067 },
113      { "sysTrapDmResourceInfo", 0xA068 },
114      { "sysTrapDmSetResourceInfo", 0xA069 },
115      { "sysTrapDmAttachResource", 0xA06A },
116      { "sysTrapDmDetachResource", 0xA06B },
117      { "sysTrapDmNewResource", 0xA06C },
118      { "sysTrapDmRemoveResource", 0xA06D },
119      { "sysTrapDmGetResourceIndex", 0xA06E },
120      { "sysTrapDmQuickSort", 0xA06F },
121      { "sysTrapDmQueryNextInCategory", 0xA070 },
122      { "sysTrapDmNumRecordsInCategory", 0xA071 },
123      { "sysTrapDmPositionInCategory", 0xA072 },
124      { "sysTrapDmSeekRecordInCategory", 0xA073 },
125      { "sysTrapDmMoveCategory", 0xA074 },
126      { "sysTrapDmOpenDatabaseByTypeCreator", 0xA075 },
127      { "sysTrapDmWrite", 0xA076 },
128      { "sysTrapDmStrCopy", 0xA077 },
129      { "sysTrapDmGetNextDatabaseByTypeCreator", 0xA078 },
130      { "sysTrapDmWriteCheck", 0xA079 },
131      { "sysTrapDmMoveOpenDBContext", 0xA07A },
132      { "sysTrapDmFindRecordByID", 0xA07B },
133      { "sysTrapDmGetAppInfoID", 0xA07C },
134      { "sysTrapDmFindSortPositionV10", 0xA07D },
135      { "sysTrapDmSet", 0xA07E },
136      { "sysTrapDmCreateDatabaseFromImage", 0xA07F },
137      { "sysTrapDbgSrcMessage", 0xA080 },
138      { "sysTrapDbgMessage", 0xA081 },
139      { "sysTrapDbgGetMessage", 0xA082 },
140      { "sysTrapDbgCommSettings", 0xA083 },
141      { "sysTrapErrDisplayFileLineMsg", 0xA084 },
142      { "sysTrapErrSetJump", 0xA085 },
143      { "sysTrapErrLongJump", 0xA086 },
144      { "sysTrapErrThrow", 0xA087 },
145      { "sysTrapErrExceptionList", 0xA088 },
146      { "sysTrapSysBroadcastActionCode", 0xA089 },
147      { "sysTrapSysUnimplemented", 0xA08A },
148      { "sysTrapSysColdBoot", 0xA08B },
149      { "sysTrapSysReset", 0xA08C },
150      { "sysTrapSysDoze", 0xA08D },
151      { "sysTrapSysAppLaunch", 0xA08E },
152      { "sysTrapSysAppStartup", 0xA08F },
153      { "sysTrapSysAppExit", 0xA090 },
154      { "sysTrapSysSetA5", 0xA091 },
155      { "sysTrapSysSetTrapAddress", 0xA092 },
156      { "sysTrapSysGetTrapAddress", 0xA093 },
157      { "sysTrapSysTranslateKernelErr", 0xA094 },
158      { "sysTrapSysSemaphoreCreate", 0xA095 },
159      { "sysTrapSysSemaphoreDelete", 0xA096 },
160      { "sysTrapSysSemaphoreWait", 0xA097 },
161      { "sysTrapSysSemaphoreSignal", 0xA098 },
162      { "sysTrapSysTimerCreate", 0xA099 },
163      { "sysTrapSysTimerWrite", 0xA09A },
164      { "sysTrapSysTaskCreate", 0xA09B },
165      { "sysTrapSysTaskDelete", 0xA09C },
166      { "sysTrapSysTaskTrigger", 0xA09D },
167      { "sysTrapSysTaskID", 0xA09E },
168      { "sysTrapSysTaskUserInfoPtr", 0xA09F },
169      { "sysTrapSysTaskDelay", 0xA0A0 },
170      { "sysTrapSysTaskSetTermProc", 0xA0A1 },
171      { "sysTrapSysUILaunch", 0xA0A2 },
172      { "sysTrapSysNewOwnerID", 0xA0A3 },
173      { "sysTrapSysSemaphoreSet", 0xA0A4 },
174      { "sysTrapSysDisableInts", 0xA0A5 },
175      { "sysTrapSysRestoreStatus", 0xA0A6 },
176      { "sysTrapSysUIAppSwitch", 0xA0A7 },
177      { "sysTrapSysCurAppInfoPV20", 0xA0A8 },
178      { "sysTrapSysHandleEvent", 0xA0A9 },
179      { "sysTrapSysInit", 0xA0AA },
180      { "sysTrapSysQSort", 0xA0AB },
181      { "sysTrapSysCurAppDatabase", 0xA0AC },
182      { "sysTrapSysFatalAlert", 0xA0AD },
183      { "sysTrapSysResSemaphoreCreate", 0xA0AE },
184      { "sysTrapSysResSemaphoreDelete", 0xA0AF },
185      { "sysTrapSysResSemaphoreReserve", 0xA0B0 },
186      { "sysTrapSysResSemaphoreRelease", 0xA0B1 },
187      { "sysTrapSysSleep", 0xA0B2 },
188      { "sysTrapSysKeyboardDialogV10", 0xA0B3 },
189      { "sysTrapSysAppLauncherDialog", 0xA0B4 },
190      { "sysTrapSysSetPerformance", 0xA0B5 },
191      { "sysTrapSysBatteryInfoV20", 0xA0B6 },
192      { "sysTrapSysLibInstall", 0xA0B7 },
193      { "sysTrapSysLibRemove", 0xA0B8 },
194      { "sysTrapSysLibTblEntry", 0xA0B9 },
195      { "sysTrapSysLibFind", 0xA0BA },
196      { "sysTrapSysBatteryDialog", 0xA0BB },
197      { "sysTrapSysCopyStringResource", 0xA0BC },
198      { "sysTrapSysKernelInfo", 0xA0BD },
199      { "sysTrapSysLaunchConsole", 0xA0BE },
200      { "sysTrapSysTimerDelete", 0xA0BF },
201      { "sysTrapSysSetAutoOffTime", 0xA0C0 },
202      { "sysTrapSysFormPointerArrayToStrings", 0xA0C1 },
203      { "sysTrapSysRandom", 0xA0C2 },
204      { "sysTrapSysTaskSwitching", 0xA0C3 },
205      { "sysTrapSysTimerRead", 0xA0C4 },
206      { "sysTrapStrCopy", 0xA0C5 },
207      { "sysTrapStrCat", 0xA0C6 },
208      { "sysTrapStrLen", 0xA0C7 },
209      { "sysTrapStrCompare", 0xA0C8 },
210      { "sysTrapStrIToA", 0xA0C9 },
211      { "sysTrapStrCaselessCompare", 0xA0CA },
212      { "sysTrapStrIToH", 0xA0CB },
213      { "sysTrapStrChr", 0xA0CC },
214      { "sysTrapStrStr", 0xA0CD },
215      { "sysTrapStrAToI", 0xA0CE },
216      { "sysTrapStrToLower", 0xA0CF },
217      { "sysTrapSerReceiveISP", 0xA0D0 },
218      { "sysTrapSlkOpen", 0xA0D1 },
219      { "sysTrapSlkClose", 0xA0D2 },
220      { "sysTrapSlkOpenSocket", 0xA0D3 },
221      { "sysTrapSlkCloseSocket", 0xA0D4 },
222      { "sysTrapSlkSocketRefNum", 0xA0D5 },
223      { "sysTrapSlkSocketSetTimeout", 0xA0D6 },
224      { "sysTrapSlkFlushSocket", 0xA0D7 },
225      { "sysTrapSlkSetSocketListener", 0xA0D8 },
226      { "sysTrapSlkSendPacket", 0xA0D9 },
227      { "sysTrapSlkReceivePacket", 0xA0DA },
228      { "sysTrapSlkSysPktDefaultResponse", 0xA0DB },
229      { "sysTrapSlkProcessRPC", 0xA0DC },
230      { "sysTrapConPutS", 0xA0DD },
231      { "sysTrapConGetS", 0xA0DE },
232      { "sysTrapFplInit", 0xA0DF },
233      { "sysTrapFplFree", 0xA0E0 },
234      { "sysTrapFplFToA", 0xA0E1 },
235      { "sysTrapFplAToF", 0xA0E2 },
236      { "sysTrapFplBase10Info", 0xA0E3 },
237      { "sysTrapFplLongToFloat", 0xA0E4 },
238      { "sysTrapFplFloatToLong", 0xA0E5 },
239      { "sysTrapFplFloatToULong", 0xA0E6 },
240      { "sysTrapFplMul", 0xA0E7 },
241      { "sysTrapFplAdd", 0xA0E8 },
242      { "sysTrapFplSub", 0xA0E9 },
243      { "sysTrapFplDiv", 0xA0EA },
244      { "sysTrapWinScreenInit", 0xA0EB },
245      { "sysTrapScrCopyRectangle", 0xA0EC },
246      { "sysTrapScrDrawChars", 0xA0ED },
247      { "sysTrapScrLineRoutine", 0xA0EE },
248      { "sysTrapScrRectangleRoutine", 0xA0EF },
249      { "sysTrapScrScreenInfo", 0xA0F0 },
250      { "sysTrapScrDrawNotify", 0xA0F1 },
251      { "sysTrapScrSendUpdateArea", 0xA0F2 },
252      { "sysTrapScrCompressScanLine", 0xA0F3 },
253      { "sysTrapScrDeCompressScanLine", 0xA0F4 },
254      { "sysTrapTimGetSeconds", 0xA0F5 },
255      { "sysTrapTimSetSeconds", 0xA0F6 },
256      { "sysTrapTimGetTicks", 0xA0F7 },
257      { "sysTrapTimInit", 0xA0F8 },
258      { "sysTrapTimSetAlarm", 0xA0F9 },
259      { "sysTrapTimGetAlarm", 0xA0FA },
260      { "sysTrapTimHandleInterrupt", 0xA0FB },
261      { "sysTrapTimSecondsToDateTime", 0xA0FC },
262      { "sysTrapTimDateTimeToSeconds", 0xA0FD },
263      { "sysTrapTimAdjust", 0xA0FE },
264      { "sysTrapTimSleep", 0xA0FF },
265      { "sysTrapTimWake", 0xA100 },
266      { "sysTrapCategoryCreateListV10", 0xA101 },
267      { "sysTrapCategoryFreeListV10", 0xA102 },
268      { "sysTrapCategoryFind", 0xA103 },
269      { "sysTrapCategoryGetName", 0xA104 },
270      { "sysTrapCategoryEditV10", 0xA105 },
271      { "sysTrapCategorySelectV10", 0xA106 },
272      { "sysTrapCategoryGetNext", 0xA107 },
273      { "sysTrapCategorySetTriggerLabel", 0xA108 },
274      { "sysTrapCategoryTruncateName", 0xA109 },
275      { "sysTrapClipboardAddItem", 0xA10A },
276      { "sysTrapClipboardCheckIfItemExist", 0xA10B },
277      { "sysTrapClipboardGetItem", 0xA10C },
278      { "sysTrapCtlDrawControl", 0xA10D },
279      { "sysTrapCtlEraseControl", 0xA10E },
280      { "sysTrapCtlHideControl", 0xA10F },
281      { "sysTrapCtlShowControl", 0xA110 },
282      { "sysTrapCtlGetValue", 0xA111 },
283      { "sysTrapCtlSetValue", 0xA112 },
284      { "sysTrapCtlGetLabel", 0xA113 },
285      { "sysTrapCtlSetLabel", 0xA114 },
286      { "sysTrapCtlHandleEvent", 0xA115 },
287      { "sysTrapCtlHitControl", 0xA116 },
288      { "sysTrapCtlSetEnabled", 0xA117 },
289      { "sysTrapCtlSetUsable", 0xA118 },
290      { "sysTrapCtlEnabled", 0xA119 },
291      { "sysTrapEvtInitialize", 0xA11A },
292      { "sysTrapEvtAddEventToQueue", 0xA11B },
293      { "sysTrapEvtCopyEvent", 0xA11C },
294      { "sysTrapEvtGetEvent", 0xA11D },
295      { "sysTrapEvtGetPen", 0xA11E },
296      { "sysTrapEvtSysInit", 0xA11F },
297      { "sysTrapEvtGetSysEvent", 0xA120 },
298      { "sysTrapEvtProcessSoftKeyStroke", 0xA121 },
299      { "sysTrapEvtGetPenBtnList", 0xA122 },
300      { "sysTrapEvtSetPenQueuePtr", 0xA123 },
301      { "sysTrapEvtPenQueueSize", 0xA124 },
302      { "sysTrapEvtFlushPenQueue", 0xA125 },
303      { "sysTrapEvtEnqueuePenPoint", 0xA126 },
304      { "sysTrapEvtDequeuePenStrokeInfo", 0xA127 },
305      { "sysTrapEvtDequeuePenPoint", 0xA128 },
306      { "sysTrapEvtFlushNextPenStroke", 0xA129 },
307      { "sysTrapEvtSetKeyQueuePtr", 0xA12A },
308      { "sysTrapEvtKeyQueueSize", 0xA12B },
309      { "sysTrapEvtFlushKeyQueue", 0xA12C },
310      { "sysTrapEvtEnqueueKey", 0xA12D },
311      { "sysTrapEvtDequeueKeyEvent", 0xA12E },
312      { "sysTrapEvtWakeup", 0xA12F },
313      { "sysTrapEvtResetAutoOffTimer", 0xA130 },
314      { "sysTrapEvtKeyQueueEmpty", 0xA131 },
315      { "sysTrapEvtEnableGraffiti", 0xA132 },
316      { "sysTrapFldCopy", 0xA133 },
317      { "sysTrapFldCut", 0xA134 },
318      { "sysTrapFldDrawField", 0xA135 },
319      { "sysTrapFldEraseField", 0xA136 },
320      { "sysTrapFldFreeMemory", 0xA137 },
321      { "sysTrapFldGetBounds", 0xA138 },
322      { "sysTrapFldGetTextPtr", 0xA139 },
323      { "sysTrapFldGetSelection", 0xA13A },
324      { "sysTrapFldHandleEvent", 0xA13B },
325      { "sysTrapFldPaste", 0xA13C },
326      { "sysTrapFldRecalculateField", 0xA13D },
327      { "sysTrapFldSetBounds", 0xA13E },
328      { "sysTrapFldSetText", 0xA13F },
329      { "sysTrapFldGetFont", 0xA140 },
330      { "sysTrapFldSetFont", 0xA141 },
331      { "sysTrapFldSetSelection", 0xA142 },
332      { "sysTrapFldGrabFocus", 0xA143 },
333      { "sysTrapFldReleaseFocus", 0xA144 },
334      { "sysTrapFldGetInsPtPosition", 0xA145 },
335      { "sysTrapFldSetInsPtPosition", 0xA146 },
336      { "sysTrapFldSetScrollPosition", 0xA147 },
337      { "sysTrapFldGetScrollPosition", 0xA148 },
338      { "sysTrapFldGetTextHeight", 0xA149 },
339      { "sysTrapFldGetTextAllocatedSize", 0xA14A },
340      { "sysTrapFldGetTextLength", 0xA14B },
341      { "sysTrapFldScrollField", 0xA14C },
342      { "sysTrapFldScrollable", 0xA14D },
343      { "sysTrapFldGetVisibleLines", 0xA14E },
344      { "sysTrapFldGetAttributes", 0xA14F },
345      { "sysTrapFldSetAttributes", 0xA150 },
346      { "sysTrapFldSendChangeNotification", 0xA151 },
347      { "sysTrapFldCalcFieldHeight", 0xA152 },
348      { "sysTrapFldGetTextHandle", 0xA153 },
349      { "sysTrapFldCompactText", 0xA154 },
350      { "sysTrapFldDirty", 0xA155 },
351      { "sysTrapFldWordWrap", 0xA156 },
352      { "sysTrapFldSetTextAllocatedSize", 0xA157 },
353      { "sysTrapFldSetTextHandle", 0xA158 },
354      { "sysTrapFldSetTextPtr", 0xA159 },
355      { "sysTrapFldGetMaxChars", 0xA15A },
356      { "sysTrapFldSetMaxChars", 0xA15B },
357      { "sysTrapFldSetUsable", 0xA15C },
358      { "sysTrapFldInsert", 0xA15D },
359      { "sysTrapFldDelete", 0xA15E },
360      { "sysTrapFldUndo", 0xA15F },
361      { "sysTrapFldSetDirty", 0xA160 },
362      { "sysTrapFldSendHeightChangeNotification", 0xA161 },
363      { "sysTrapFldMakeFullyVisible", 0xA162 },
364      { "sysTrapFntGetFont", 0xA163 },
365      { "sysTrapFntSetFont", 0xA164 },
366      { "sysTrapFntGetFontPtr", 0xA165 },
367      { "sysTrapFntBaseLine", 0xA166 },
368      { "sysTrapFntCharHeight", 0xA167 },
369      { "sysTrapFntLineHeight", 0xA168 },
370      { "sysTrapFntAverageCharWidth", 0xA169 },
371      { "sysTrapFntCharWidth", 0xA16A },
372      { "sysTrapFntCharsWidth", 0xA16B },
373      { "sysTrapFntDescenderHeight", 0xA16C },
374      { "sysTrapFntCharsInWidth", 0xA16D },
375      { "sysTrapFntLineWidth", 0xA16E },
376      { "sysTrapFrmInitForm", 0xA16F },
377      { "sysTrapFrmDeleteForm", 0xA170 },
378      { "sysTrapFrmDrawForm", 0xA171 },
379      { "sysTrapFrmEraseForm", 0xA172 },
380      { "sysTrapFrmGetActiveForm", 0xA173 },
381      { "sysTrapFrmSetActiveForm", 0xA174 },
382      { "sysTrapFrmGetActiveFormID", 0xA175 },
383      { "sysTrapFrmGetUserModifiedState", 0xA176 },
384      { "sysTrapFrmSetNotUserModified", 0xA177 },
385      { "sysTrapFrmGetFocus", 0xA178 },
386      { "sysTrapFrmSetFocus", 0xA179 },
387      { "sysTrapFrmHandleEvent", 0xA17A },
388      { "sysTrapFrmGetFormBounds", 0xA17B },
389      { "sysTrapFrmGetWindowHandle", 0xA17C },
390      { "sysTrapFrmGetFormId", 0xA17D },
391      { "sysTrapFrmGetFormPtr", 0xA17E },
392      { "sysTrapFrmGetNumberOfObjects", 0xA17F },
393      { "sysTrapFrmGetObjectIndex", 0xA180 },
394      { "sysTrapFrmGetObjectId", 0xA181 },
395      { "sysTrapFrmGetObjectType", 0xA182 },
396      { "sysTrapFrmGetObjectPtr", 0xA183 },
397      { "sysTrapFrmHideObject", 0xA184 },
398      { "sysTrapFrmShowObject", 0xA185 },
399      { "sysTrapFrmGetObjectPosition", 0xA186 },
400      { "sysTrapFrmSetObjectPosition", 0xA187 },
401      { "sysTrapFrmGetControlValue", 0xA188 },
402      { "sysTrapFrmSetControlValue", 0xA189 },
403      { "sysTrapFrmGetControlGroupSelection", 0xA18A },
404      { "sysTrapFrmSetControlGroupSelection", 0xA18B },
405      { "sysTrapFrmCopyLabel", 0xA18C },
406      { "sysTrapFrmSetLabel", 0xA18D },
407      { "sysTrapFrmGetLabel", 0xA18E },
408      { "sysTrapFrmSetCategoryLabel", 0xA18F },
409      { "sysTrapFrmGetTitle", 0xA190 },
410      { "sysTrapFrmSetTitle", 0xA191 },
411      { "sysTrapFrmAlert", 0xA192 },
412      { "sysTrapFrmDoDialog", 0xA193 },
413      { "sysTrapFrmCustomAlert", 0xA194 },
414      { "sysTrapFrmHelp", 0xA195 },
415      { "sysTrapFrmUpdateScrollers", 0xA196 },
416      { "sysTrapFrmGetFirstForm", 0xA197 },
417      { "sysTrapFrmVisible", 0xA198 },
418      { "sysTrapFrmGetObjectBounds", 0xA199 },
419      { "sysTrapFrmCopyTitle", 0xA19A },
420      { "sysTrapFrmGotoForm", 0xA19B },
421      { "sysTrapFrmPopupForm", 0xA19C },
422      { "sysTrapFrmUpdateForm", 0xA19D },
423      { "sysTrapFrmReturnToForm", 0xA19E },
424      { "sysTrapFrmSetEventHandler", 0xA19F },
425      { "sysTrapFrmDispatchEvent", 0xA1A0 },
426      { "sysTrapFrmCloseAllForms", 0xA1A1 },
427      { "sysTrapFrmSaveAllForms", 0xA1A2 },
428      { "sysTrapFrmGetGadgetData", 0xA1A3 },
429      { "sysTrapFrmSetGadgetData", 0xA1A4 },
430      { "sysTrapFrmSetCategoryTrigger", 0xA1A5 },
431      { "sysTrapUIInitialize", 0xA1A6 },
432      { "sysTrapUIReset", 0xA1A7 },
433      { "sysTrapInsPtInitialize", 0xA1A8 },
434      { "sysTrapInsPtSetLocation", 0xA1A9 },
435      { "sysTrapInsPtGetLocation", 0xA1AA },
436      { "sysTrapInsPtEnable", 0xA1AB },
437      { "sysTrapInsPtEnabled", 0xA1AC },
438      { "sysTrapInsPtSetHeight", 0xA1AD },
439      { "sysTrapInsPtGetHeight", 0xA1AE },
440      { "sysTrapInsPtCheckBlink", 0xA1AF },
441      { "sysTrapLstSetDrawFunction", 0xA1B0 },
442      { "sysTrapLstDrawList", 0xA1B1 },
443      { "sysTrapLstEraseList", 0xA1B2 },
444      { "sysTrapLstGetSelection", 0xA1B3 },
445      { "sysTrapLstGetSelectionText", 0xA1B4 },
446      { "sysTrapLstHandleEvent", 0xA1B5 },
447      { "sysTrapLstSetHeight", 0xA1B6 },
448      { "sysTrapLstSetSelection", 0xA1B7 },
449      { "sysTrapLstSetListChoices", 0xA1B8 },
450      { "sysTrapLstMakeItemVisible", 0xA1B9 },
451      { "sysTrapLstGetNumberOfItems", 0xA1BA },
452      { "sysTrapLstPopupList", 0xA1BB },
453      { "sysTrapLstSetPosition", 0xA1BC },
454      { "sysTrapMenuInit", 0xA1BD },
455      { "sysTrapMenuDispose", 0xA1BE },
456      { "sysTrapMenuHandleEvent", 0xA1BF },
457      { "sysTrapMenuDrawMenu", 0xA1C0 },
458      { "sysTrapMenuEraseStatus", 0xA1C1 },
459      { "sysTrapMenuGetActiveMenu", 0xA1C2 },
460      { "sysTrapMenuSetActiveMenu", 0xA1C3 },
461      { "sysTrapRctSetRectangle", 0xA1C4 },
462      { "sysTrapRctCopyRectangle", 0xA1C5 },
463      { "sysTrapRctInsetRectangle", 0xA1C6 },
464      { "sysTrapRctOffsetRectangle", 0xA1C7 },
465      { "sysTrapRctPtInRectangle", 0xA1C8 },
466      { "sysTrapRctGetIntersection", 0xA1C9 },
467      { "sysTrapTblDrawTable", 0xA1CA },
468      { "sysTrapTblEraseTable", 0xA1CB },
469      { "sysTrapTblHandleEvent", 0xA1CC },
470      { "sysTrapTblGetItemBounds", 0xA1CD },
471      { "sysTrapTblSelectItem", 0xA1CE },
472      { "sysTrapTblGetItemInt", 0xA1CF },
473      { "sysTrapTblSetItemInt", 0xA1D0 },
474      { "sysTrapTblSetItemStyle", 0xA1D1 },
475      { "sysTrapTblUnhighlightSelection", 0xA1D2 },
476      { "sysTrapTblSetRowUsable", 0xA1D3 },
477      { "sysTrapTblGetNumberOfRows", 0xA1D4 },
478      { "sysTrapTblSetCustomDrawProcedure", 0xA1D5 },
479      { "sysTrapTblSetRowSelectable", 0xA1D6 },
480      { "sysTrapTblRowSelectable", 0xA1D7 },
481      { "sysTrapTblSetLoadDataProcedure", 0xA1D8 },
482      { "sysTrapTblSetSaveDataProcedure", 0xA1D9 },
483      { "sysTrapTblGetBounds", 0xA1DA },
484      { "sysTrapTblSetRowHeight", 0xA1DB },
485      { "sysTrapTblGetColumnWidth", 0xA1DC },
486      { "sysTrapTblGetRowID", 0xA1DD },
487      { "sysTrapTblSetRowID", 0xA1DE },
488      { "sysTrapTblMarkRowInvalid", 0xA1DF },
489      { "sysTrapTblMarkTableInvalid", 0xA1E0 },
490      { "sysTrapTblGetSelection", 0xA1E1 },
491      { "sysTrapTblInsertRow", 0xA1E2 },
492      { "sysTrapTblRemoveRow", 0xA1E3 },
493      { "sysTrapTblRowInvalid", 0xA1E4 },
494      { "sysTrapTblRedrawTable", 0xA1E5 },
495      { "sysTrapTblRowUsable", 0xA1E6 },
496      { "sysTrapTblReleaseFocus", 0xA1E7 },
497      { "sysTrapTblEditing", 0xA1E8 },
498      { "sysTrapTblGetCurrentField", 0xA1E9 },
499      { "sysTrapTblSetColumnUsable", 0xA1EA },
500      { "sysTrapTblGetRowHeight", 0xA1EB },
501      { "sysTrapTblSetColumnWidth", 0xA1EC },
502      { "sysTrapTblGrabFocus", 0xA1ED },
503      { "sysTrapTblSetItemPtr", 0xA1EE },
504      { "sysTrapTblFindRowID", 0xA1EF },
505      { "sysTrapTblGetLastUsableRow", 0xA1F0 },
506      { "sysTrapTblGetColumnSpacing", 0xA1F1 },
507      { "sysTrapTblFindRowData", 0xA1F2 },
508      { "sysTrapTblGetRowData", 0xA1F3 },
509      { "sysTrapTblSetRowData", 0xA1F4 },
510      { "sysTrapTblSetColumnSpacing", 0xA1F5 },
511      { "sysTrapWinCreateWindow", 0xA1F6 },
512      { "sysTrapWinCreateOffscreenWindow", 0xA1F7 },
513      { "sysTrapWinDeleteWindow", 0xA1F8 },
514      { "sysTrapWinInitializeWindow", 0xA1F9 },
515      { "sysTrapWinAddWindow", 0xA1FA },
516      { "sysTrapWinRemoveWindow", 0xA1FB },
517      { "sysTrapWinSetActiveWindow", 0xA1FC },
518      { "sysTrapWinSetDrawWindow", 0xA1FD },
519      { "sysTrapWinGetDrawWindow", 0xA1FE },
520      { "sysTrapWinGetActiveWindow", 0xA1FF },
521      { "sysTrapWinGetDisplayWindow", 0xA200 },
522      { "sysTrapWinGetFirstWindow", 0xA201 },
523      { "sysTrapWinEnableWindow", 0xA202 },
524      { "sysTrapWinDisableWindow", 0xA203 },
525      { "sysTrapWinGetWindowFrameRect", 0xA204 },
526      { "sysTrapWinDrawWindowFrame", 0xA205 },
527      { "sysTrapWinEraseWindow", 0xA206 },
528      { "sysTrapWinSaveBits", 0xA207 },
529      { "sysTrapWinRestoreBits", 0xA208 },
530      { "sysTrapWinCopyRectangle", 0xA209 },
531      { "sysTrapWinScrollRectangle", 0xA20A },
532      { "sysTrapWinGetDisplayExtent", 0xA20B },
533      { "sysTrapWinGetWindowExtent", 0xA20C },
534      { "sysTrapWinDisplayToWindowPt", 0xA20D },
535      { "sysTrapWinWindowToDisplayPt", 0xA20E },
536      { "sysTrapWinGetClip", 0xA20F },
537      { "sysTrapWinSetClip", 0xA210 },
538      { "sysTrapWinResetClip", 0xA211 },
539      { "sysTrapWinClipRectangle", 0xA212 },
540      { "sysTrapWinDrawLine", 0xA213 },
541      { "sysTrapWinDrawGrayLine", 0xA214 },
542      { "sysTrapWinEraseLine", 0xA215 },
543      { "sysTrapWinInvertLine", 0xA216 },
544      { "sysTrapWinFillLine", 0xA217 },
545      { "sysTrapWinDrawRectangle", 0xA218 },
546      { "sysTrapWinEraseRectangle", 0xA219 },
547      { "sysTrapWinInvertRectangle", 0xA21A },
548      { "sysTrapWinDrawRectangleFrame", 0xA21B },
549      { "sysTrapWinDrawGrayRectangleFrame", 0xA21C },
550      { "sysTrapWinEraseRectangleFrame", 0xA21D },
551      { "sysTrapWinInvertRectangleFrame", 0xA21E },
552      { "sysTrapWinGetFramesRectangle", 0xA21F },
553      { "sysTrapWinDrawChars", 0xA220 },
554      { "sysTrapWinEraseChars", 0xA221 },
555      { "sysTrapWinInvertChars", 0xA222 },
556      { "sysTrapWinGetPattern", 0xA223 },
557      { "sysTrapWinSetPattern", 0xA224 },
558      { "sysTrapWinSetUnderlineMode", 0xA225 },
559      { "sysTrapWinDrawBitmap", 0xA226 },
560      { "sysTrapWinModal", 0xA227 },
561      { "sysTrapWinGetDrawWindowBounds", 0xA228 },
562      { "sysTrapWinFillRectangle", 0xA229 },
563      { "sysTrapWinDrawInvertedChars", 0xA22A },
564      { "sysTrapPrefOpenPreferenceDBV10", 0xA22B },
565      { "sysTrapPrefGetPreferences", 0xA22C },
566      { "sysTrapPrefSetPreferences", 0xA22D },
567      { "sysTrapPrefGetAppPreferencesV10", 0xA22E },
568      { "sysTrapPrefSetAppPreferencesV10", 0xA22F },
569      { "sysTrapSndInit", 0xA230 },
570      { "sysTrapSndSetDefaultVolume", 0xA231 },
571      { "sysTrapSndGetDefaultVolume", 0xA232 },
572      { "sysTrapSndDoCmd", 0xA233 },
573      { "sysTrapSndPlaySystemSound", 0xA234 },
574      { "sysTrapAlmInit", 0xA235 },
575      { "sysTrapAlmCancelAll", 0xA236 },
576      { "sysTrapAlmAlarmCallback", 0xA237 },
577      { "sysTrapAlmSetAlarm", 0xA238 },
578      { "sysTrapAlmGetAlarm", 0xA239 },
579      { "sysTrapAlmDisplayAlarm", 0xA23A },
580      { "sysTrapAlmEnableNotification", 0xA23B },
581      { "sysTrapHwrGetRAMMapping", 0xA23C },
582      { "sysTrapHwrMemWritable", 0xA23D },
583      { "sysTrapHwrMemReadable", 0xA23E },
584      { "sysTrapHwrDoze", 0xA23F },
585      { "sysTrapHwrSleep", 0xA240 },
586      { "sysTrapHwrWake", 0xA241 },
587      { "sysTrapHwrSetSystemClock", 0xA242 },
588      { "sysTrapHwrSetCPUDutyCycle", 0xA243 },
589      { "sysTrapHwrDisplayInit", 0xA244 },
590      { "sysTrapHwrDisplaySleep", 0xA245 },
591      { "sysTrapHwrTimerInit", 0xA246 },
592      { "sysTrapHwrCursorV33", 0xA247 },
593      { "sysTrapHwrBatteryLevel", 0xA248 },
594      { "sysTrapHwrDelay", 0xA249 },
595      { "sysTrapHwrEnableDataWrites", 0xA24A },
596      { "sysTrapHwrDisableDataWrites", 0xA24B },
597      { "sysTrapHwrLCDBaseAddrV33", 0xA24C },
598      { "sysTrapHwrDisplayDrawBootScreen", 0xA24D },
599      { "sysTrapHwrTimerSleep", 0xA24E },
600      { "sysTrapHwrTimerWake", 0xA24F },
601      { "sysTrapHwrDisplayWake", 0xA250 },
602      { "sysTrapHwrIRQ1Handler", 0xA251 },
603      { "sysTrapHwrIRQ2Handler", 0xA252 },
604      { "sysTrapHwrIRQ3Handler", 0xA253 },
605      { "sysTrapHwrIRQ4Handler", 0xA254 },
606      { "sysTrapHwrIRQ5Handler", 0xA255 },
607      { "sysTrapHwrIRQ6Handler", 0xA256 },
608      { "sysTrapHwrDockSignals", 0xA257 },
609      { "sysTrapHwrPluggedIn", 0xA258 },
610      { "sysTrapCrc16CalcBlock", 0xA259 },
611      { "sysTrapSelectDayV10", 0xA25A },
612      { "sysTrapSelectTimeV33", 0xA25B },
613      { "sysTrapDayDrawDaySelector", 0xA25C },
614      { "sysTrapDayHandleEvent", 0xA25D },
615      { "sysTrapDayDrawDays", 0xA25E },
616      { "sysTrapDayOfWeek", 0xA25F },
617      { "sysTrapDaysInMonth", 0xA260 },
618      { "sysTrapDayOfMonth", 0xA261 },
619      { "sysTrapDateDaysToDate", 0xA262 },
620      { "sysTrapDateToDays", 0xA263 },
621      { "sysTrapDateAdjust", 0xA264 },
622      { "sysTrapDateSecondsToDate", 0xA265 },
623      { "sysTrapDateToAscii", 0xA266 },
624      { "sysTrapDateToDOWDMFormat", 0xA267 },
625      { "sysTrapTimeToAscii", 0xA268 },
626      { "sysTrapFind", 0xA269 },
627      { "sysTrapFindStrInStr", 0xA26A },
628      { "sysTrapFindSaveMatch", 0xA26B },
629      { "sysTrapFindGetLineBounds", 0xA26C },
630      { "sysTrapFindDrawHeader", 0xA26D },
631      { "sysTrapPenOpen", 0xA26E },
632      { "sysTrapPenClose", 0xA26F },
633      { "sysTrapPenGetRawPen", 0xA270 },
634      { "sysTrapPenCalibrate", 0xA271 },
635      { "sysTrapPenRawToScreen", 0xA272 },
636      { "sysTrapPenScreenToRaw", 0xA273 },
637      { "sysTrapPenResetCalibration", 0xA274 },
638      { "sysTrapPenSleep", 0xA275 },
639      { "sysTrapPenWake", 0xA276 },
640      { "sysTrapResLoadForm", 0xA277 },
641      { "sysTrapResLoadMenu", 0xA278 },
642      { "sysTrapFtrInit", 0xA279 },
643      { "sysTrapFtrUnregister", 0xA27A },
644      { "sysTrapFtrGet", 0xA27B },
645      { "sysTrapFtrSet", 0xA27C },
646      { "sysTrapFtrGetByIndex", 0xA27D },
647      { "sysTrapGrfInit", 0xA27E },
648      { "sysTrapGrfFree", 0xA27F },
649      { "sysTrapGrfGetState", 0xA280 },
650      { "sysTrapGrfSetState", 0xA281 },
651      { "sysTrapGrfFlushPoints", 0xA282 },
652      { "sysTrapGrfAddPoint", 0xA283 },
653      { "sysTrapGrfInitState", 0xA284 },
654      { "sysTrapGrfCleanState", 0xA285 },
655      { "sysTrapGrfMatch", 0xA286 },
656      { "sysTrapGrfGetMacro", 0xA287 },
657      { "sysTrapGrfFilterPoints", 0xA288 },
658      { "sysTrapGrfGetNumPoints", 0xA289 },
659      { "sysTrapGrfGetPoint", 0xA28A },
660      { "sysTrapGrfFindBranch", 0xA28B },
661      { "sysTrapGrfMatchGlyph", 0xA28C },
662      { "sysTrapGrfGetGlyphMapping", 0xA28D },
663      { "sysTrapGrfGetMacroName", 0xA28E },
664      { "sysTrapGrfDeleteMacro", 0xA28F },
665      { "sysTrapGrfAddMacro", 0xA290 },
666      { "sysTrapGrfGetAndExpandMacro", 0xA291 },
667      { "sysTrapGrfProcessStroke", 0xA292 },
668      { "sysTrapGrfFieldChange", 0xA293 },
669      { "sysTrapGetCharSortValue", 0xA294 },
670      { "sysTrapGetCharAttr", 0xA295 },
671      { "sysTrapGetCharCaselessValue", 0xA296 },
672      { "sysTrapPwdExists", 0xA297 },
673      { "sysTrapPwdVerify", 0xA298 },
674      { "sysTrapPwdSet", 0xA299 },
675      { "sysTrapPwdRemove", 0xA29A },
676      { "sysTrapGsiInitialize", 0xA29B },
677      { "sysTrapGsiSetLocation", 0xA29C },
678      { "sysTrapGsiEnable", 0xA29D },
679      { "sysTrapGsiEnabled", 0xA29E },
680      { "sysTrapGsiSetShiftState", 0xA29F },
681      { "sysTrapKeyInit", 0xA2A0 },
682      { "sysTrapKeyHandleInterrupt", 0xA2A1 },
683      { "sysTrapKeyCurrentState", 0xA2A2 },
684      { "sysTrapKeyResetDoubleTap", 0xA2A3 },
685      { "sysTrapKeyRates", 0xA2A4 },
686      { "sysTrapKeySleep", 0xA2A5 },
687      { "sysTrapKeyWake", 0xA2A6 },
688      { "sysTrapDlkControl", 0xA2A7 },
689      { "sysTrapDlkStartServer", 0xA2A8 },
690      { "sysTrapDlkGetSyncInfo", 0xA2A9 },
691      { "sysTrapDlkSetLogEntry", 0xA2AA },
692      { "sysTrapIntlDispatch", 0xA2AB },
693      { "sysTrapSysLibLoad", 0xA2AC },
694      { "sysTrapSndPlaySmf", 0xA2AD },
695      { "sysTrapSndCreateMidiList", 0xA2AE },
696      { "sysTrapAbtShowAbout", 0xA2AF },
697      { "sysTrapMdmDial", 0xA2B0 },
698      { "sysTrapMdmHangUp", 0xA2B1 },
699      { "sysTrapDmSearchRecord", 0xA2B2 },
700      { "sysTrapSysInsertionSort", 0xA2B3 },
701      { "sysTrapDmInsertionSort", 0xA2B4 },
702      { "sysTrapLstSetTopItem", 0xA2B5 },
703      { "sysTrapSclSetScrollBar", 0xA2B6 },
704      { "sysTrapSclDrawScrollBar", 0xA2B7 },
705      { "sysTrapSclHandleEvent", 0xA2B8 },
706      { "sysTrapSysMailboxCreate", 0xA2B9 },
707      { "sysTrapSysMailboxDelete", 0xA2BA },
708      { "sysTrapSysMailboxFlush", 0xA2BB },
709      { "sysTrapSysMailboxSend", 0xA2BC },
710      { "sysTrapSysMailboxWait", 0xA2BD },
711      { "sysTrapSysTaskWait", 0xA2BE },
712      { "sysTrapSysTaskWake", 0xA2BF },
713      { "sysTrapSysTaskWaitClr", 0xA2C0 },
714      { "sysTrapSysTaskSuspend", 0xA2C1 },
715      { "sysTrapSysTaskResume", 0xA2C2 },
716      { "sysTrapCategoryCreateList", 0xA2C3 },
717      { "sysTrapCategoryFreeList", 0xA2C4 },
718      { "sysTrapCategoryEditV20", 0xA2C5 },
719      { "sysTrapCategorySelect", 0xA2C6 },
720      { "sysTrapDmDeleteCategory", 0xA2C7 },
721      { "sysTrapSysEvGroupCreate", 0xA2C8 },
722      { "sysTrapSysEvGroupSignal", 0xA2C9 },
723      { "sysTrapSysEvGroupRead", 0xA2CA },
724      { "sysTrapSysEvGroupWait", 0xA2CB },
725      { "sysTrapEvtEventAvail", 0xA2CC },
726      { "sysTrapEvtSysEventAvail", 0xA2CD },
727      { "sysTrapStrNCopy", 0xA2CE },
728      { "sysTrapKeySetMask", 0xA2CF },
729      { "sysTrapSelectDay", 0xA2D0 },
730      { "sysTrapPrefGetPreference", 0xA2D1 },
731      { "sysTrapPrefSetPreference", 0xA2D2 },
732      { "sysTrapPrefGetAppPreferences", 0xA2D3 },
733      { "sysTrapPrefSetAppPreferences", 0xA2D4 },
734      { "sysTrapFrmPointInTitle", 0xA2D5 },
735      { "sysTrapStrNCat", 0xA2D6 },
736      { "sysTrapMemCmp", 0xA2D7 },
737      { "sysTrapTblSetColumnEditIndicator", 0xA2D8 },
738      { "sysTrapFntWordWrap", 0xA2D9 },
739      { "sysTrapFldGetScrollValues", 0xA2DA },
740      { "sysTrapSysCreateDataBaseList", 0xA2DB },
741      { "sysTrapSysCreatePanelList", 0xA2DC },
742      { "sysTrapDlkDispatchRequest", 0xA2DD },
743      { "sysTrapStrPrintF", 0xA2DE },
744      { "sysTrapStrVPrintF", 0xA2DF },
745      { "sysTrapPrefOpenPreferenceDB", 0xA2E0 },
746      { "sysTrapSysGraffitiReferenceDialog", 0xA2E1 },
747      { "sysTrapSysKeyboardDialog", 0xA2E2 },
748      { "sysTrapFntWordWrapReverseNLines", 0xA2E3 },
749      { "sysTrapFntGetScrollValues", 0xA2E4 },
750      { "sysTrapTblSetRowStaticHeight", 0xA2E5 },
751      { "sysTrapTblHasScrollBar", 0xA2E6 },
752      { "sysTrapSclGetScrollBar", 0xA2E7 },
753      { "sysTrapFldGetNumberOfBlankLines", 0xA2E8 },
754      { "sysTrapSysTicksPerSecond", 0xA2E9 },
755      { "sysTrapHwrBacklightV33", 0xA2EA },
756      { "sysTrapDmDatabaseProtect", 0xA2EB },
757      { "sysTrapTblSetBounds", 0xA2EC },
758      { "sysTrapStrNCompare", 0xA2ED },
759      { "sysTrapStrNCaselessCompare", 0xA2EE },
760      { "sysTrapPhoneNumberLookup", 0xA2EF },
761      { "sysTrapFrmSetMenu", 0xA2F0 },
762      { "sysTrapEncDigestMD5", 0xA2F1 },
763      { "sysTrapDmFindSortPosition", 0xA2F2 },
764      { "sysTrapSysBinarySearch", 0xA2F3 },
765      { "sysTrapSysErrString", 0xA2F4 },
766      { "sysTrapSysStringByIndex", 0xA2F5 },
767      { "sysTrapEvtAddUniqueEventToQueue", 0xA2F6 },
768      { "sysTrapStrLocalizeNumber", 0xA2F7 },
769      { "sysTrapStrDelocalizeNumber", 0xA2F8 },
770      { "sysTrapLocGetNumberSeparators", 0xA2F9 },
771      { "sysTrapMenuSetActiveMenuRscID", 0xA2FA },
772      { "sysTrapLstScrollList", 0xA2FB },
773      { "sysTrapCategoryInitialize", 0xA2FC },
774      { "sysTrapEncDigestMD4", 0xA2FD },
775      { "sysTrapEncDES", 0xA2FE },
776      { "sysTrapLstGetVisibleItems", 0xA2FF },
777      { "sysTrapWinSetBounds", 0xA300 },
778      { "sysTrapCategorySetName", 0xA301 },
779      { "sysTrapFldSetInsertionPoint", 0xA302 },
780      { "sysTrapFrmSetObjectBounds", 0xA303 },
781      { "sysTrapWinSetColors", 0xA304 },
782      { "sysTrapFlpDispatch", 0xA305 },
783      { "sysTrapFlpEmDispatch", 0xA306 },
784      { "sysTrapExgInit", 0xA307 },
785      { "sysTrapExgConnect", 0xA308 },
786      { "sysTrapExgPut", 0xA309 },
787      { "sysTrapExgGet", 0xA30A },
788      { "sysTrapExgAccept", 0xA30B },
789      { "sysTrapExgDisconnect", 0xA30C },
790      { "sysTrapExgSend", 0xA30D },
791      { "sysTrapExgReceive", 0xA30E },
792      { "sysTrapExgRegisterData", 0xA30F },
793      { "sysTrapExgNotifyReceiveV35", 0xA310 },
794      { "sysTrapSysReserved30Trap2", 0xA311 },
795      { "sysTrapPrgStartDialogV31", 0xA312 },
796      { "sysTrapPrgStopDialog", 0xA313 },
797      { "sysTrapPrgUpdateDialog", 0xA314 },
798      { "sysTrapPrgHandleEvent", 0xA315 },
799      { "sysTrapImcReadFieldNoSemicolon", 0xA316 },
800      { "sysTrapImcReadFieldQuotablePrintable", 0xA317 },
801      { "sysTrapImcReadPropertyParameter", 0xA318 },
802      { "sysTrapImcSkipAllPropertyParameters", 0xA319 },
803      { "sysTrapImcReadWhiteSpace", 0xA31A },
804      { "sysTrapImcWriteQuotedPrintable", 0xA31B },
805      { "sysTrapImcWriteNoSemicolon", 0xA31C },
806      { "sysTrapImcStringIsAscii", 0xA31D },
807      { "sysTrapTblGetItemFont", 0xA31E },
808      { "sysTrapTblSetItemFont", 0xA31F },
809      { "sysTrapFontSelect", 0xA320 },
810      { "sysTrapFntDefineFont", 0xA321 },
811      { "sysTrapCategoryEdit", 0xA322 },
812      { "sysTrapSysGetOSVersionString", 0xA323 },
813      { "sysTrapSysBatteryInfo", 0xA324 },
814      { "sysTrapSysUIBusy", 0xA325 },
815      { "sysTrapWinValidateHandle", 0xA326 },
816      { "sysTrapFrmValidatePtr", 0xA327 },
817      { "sysTrapCtlValidatePointer", 0xA328 },
818      { "sysTrapWinMoveWindowAddr", 0xA329 },
819      { "sysTrapFrmAddSpaceForObject", 0xA32A },
820      { "sysTrapFrmNewForm", 0xA32B },
821      { "sysTrapCtlNewControl", 0xA32C },
822      { "sysTrapFldNewField", 0xA32D },
823      { "sysTrapLstNewList", 0xA32E },
824      { "sysTrapFrmNewLabel", 0xA32F },
825      { "sysTrapFrmNewBitmap", 0xA330 },
826      { "sysTrapFrmNewGadget", 0xA331 },
827      { "sysTrapFileOpen", 0xA332 },
828      { "sysTrapFileClose", 0xA333 },
829      { "sysTrapFileDelete", 0xA334 },
830      { "sysTrapFileReadLow", 0xA335 },
831      { "sysTrapFileWrite", 0xA336 },
832      { "sysTrapFileSeek", 0xA337 },
833      { "sysTrapFileTell", 0xA338 },
834      { "sysTrapFileTruncate", 0xA339 },
835      { "sysTrapFileControl", 0xA33A },
836      { "sysTrapFrmActiveState", 0xA33B },
837      { "sysTrapSysGetAppInfo", 0xA33C },
838      { "sysTrapSysGetStackInfo", 0xA33D },
839      { "sysTrapWinScreenMode", 0xA33E },
840      { "sysTrapHwrLCDGetDepthV33", 0xA33F },
841      { "sysTrapHwrGetROMToken", 0xA340 },
842      { "sysTrapDbgControl", 0xA341 },
843      { "sysTrapExgDBRead", 0xA342 },
844      { "sysTrapExgDBWrite", 0xA343 },
845      { "sysTrapHostControl", 0xA344 },
846      { "sysTrapFrmRemoveObject", 0xA345 },
847      { "sysTrapSysReserved30Trap1", 0xA346 },
848      { "sysTrapExpansionDispatch", 0xA347 },
849      { "sysTrapFileSystemDispatch", 0xA348 },
850      { "sysTrapOEMDispatch", 0xA349 },
851      { "sysTrapHwrLCDContrastV33", 0xA34A },
852      { "sysTrapSysLCDContrast", 0xA34B },
853      { "sysTrapUIContrastAdjust", 0xA34C },
854      { "sysTrapHwrDockStatus", 0xA34D },
855      { "sysTrapFntWidthToOffset", 0xA34E },
856      { "sysTrapSelectOneTime", 0xA34F },
857      { "sysTrapWinDrawChar", 0xA350 },
858      { "sysTrapWinDrawTruncChars", 0xA351 },
859      { "sysTrapSysNotifyInit", 0xA352 },
860      { "sysTrapSysNotifyRegister", 0xA353 },
861      { "sysTrapSysNotifyUnregister", 0xA354 },
862      { "sysTrapSysNotifyBroadcast", 0xA355 },
863      { "sysTrapSysNotifyBroadcastDeferred", 0xA356 },
864      { "sysTrapSysNotifyDatabaseAdded", 0xA357 },
865      { "sysTrapSysNotifyDatabaseRemoved", 0xA358 },
866      { "sysTrapSysWantEvent", 0xA359 },
867      { "sysTrapFtrPtrNew", 0xA35A },
868      { "sysTrapFtrPtrFree", 0xA35B },
869      { "sysTrapFtrPtrResize", 0xA35C },
870      { "sysTrapSysReserved31Trap1", 0xA35D },
871      { "sysTrapHwrNVPrefSet", 0xA35E },
872      { "sysTrapHwrNVPrefGet", 0xA35F },
873      { "sysTrapFlashInit", 0xA360 },
874      { "sysTrapFlashCompress", 0xA361 },
875      { "sysTrapFlashErase", 0xA362 },
876      { "sysTrapFlashProgram", 0xA363 },
877      { "sysTrapAlmTimeChange", 0xA364 },
878      { "sysTrapErrAlertCustom", 0xA365 },
879      { "sysTrapPrgStartDialog", 0xA366 },
880      { "sysTrapSerialDispatch", 0xA367 },
881      { "sysTrapHwrBattery", 0xA368 },
882      { "sysTrapDmGetDatabaseLockState", 0xA369 },
883      { "sysTrapCncGetProfileList", 0xA36A },
884      { "sysTrapCncGetProfileInfo", 0xA36B },
885      { "sysTrapCncAddProfile", 0xA36C },
886      { "sysTrapCncDeleteProfile", 0xA36D },
887      { "sysTrapSndPlaySmfResource", 0xA36E },
888      { "sysTrapMemPtrDataStorage", 0xA36F },
889      { "sysTrapClipboardAppendItem", 0xA370 },
890      { "sysTrapWiCmdV32", 0xA371 },
891      { "sysTrapHwrDisplayAttributes", 0xA372 },
892      { "sysTrapHwrDisplayDoze", 0xA373 },
893      { "sysTrapHwrDisplayPalette", 0xA374 },
894      { "sysTrapBltFindIndexes", 0xA375 },
895      { "sysTrapBmpGetBits", 0xA376 },
896      { "sysTrapBltCopyRectangle", 0xA377 },
897      { "sysTrapBltDrawChars", 0xA378 },
898      { "sysTrapBltLineRoutine", 0xA379 },
899      { "sysTrapBltRectangleRoutine", 0xA37A },
900      { "sysTrapScrCompress", 0xA37B },
901      { "sysTrapScrDecompress", 0xA37C },
902      { "sysTrapSysLCDBrightness", 0xA37D },
903      { "sysTrapWinPaintChar", 0xA37E },
904      { "sysTrapWinPaintChars", 0xA37F },
905      { "sysTrapWinPaintBitmap", 0xA380 },
906      { "sysTrapWinGetPixel", 0xA381 },
907      { "sysTrapWinPaintPixel", 0xA382 },
908      { "sysTrapWinDrawPixel", 0xA383 },
909      { "sysTrapWinErasePixel", 0xA384 },
910      { "sysTrapWinInvertPixel", 0xA385 },
911      { "sysTrapWinPaintPixels", 0xA386 },
912      { "sysTrapWinPaintLines", 0xA387 },
913      { "sysTrapWinPaintLine", 0xA388 },
914      { "sysTrapWinPaintRectangle", 0xA389 },
915      { "sysTrapWinPaintRectangleFrame", 0xA38A },
916      { "sysTrapWinPaintPolygon", 0xA38B },
917      { "sysTrapWinDrawPolygon", 0xA38C },
918      { "sysTrapWinErasePolygon", 0xA38D },
919      { "sysTrapWinInvertPolygon", 0xA38E },
920      { "sysTrapWinFillPolygon", 0xA38F },
921      { "sysTrapWinPaintArc", 0xA390 },
922      { "sysTrapWinDrawArc", 0xA391 },
923      { "sysTrapWinEraseArc", 0xA392 },
924      { "sysTrapWinInvertArc", 0xA393 },
925      { "sysTrapWinFillArc", 0xA394 },
926      { "sysTrapWinPushDrawState", 0xA395 },
927      { "sysTrapWinPopDrawState", 0xA396 },
928      { "sysTrapWinSetDrawMode", 0xA397 },
929      { "sysTrapWinSetForeColor", 0xA398 },
930      { "sysTrapWinSetBackColor", 0xA399 },
931      { "sysTrapWinSetTextColor", 0xA39A },
932      { "sysTrapWinGetPatternType", 0xA39B },
933      { "sysTrapWinSetPatternType", 0xA39C },
934      { "sysTrapWinPalette", 0xA39D },
935      { "sysTrapWinRGBToIndex", 0xA39E },
936      { "sysTrapWinIndexToRGB", 0xA39F },
937      { "sysTrapWinScreenLock", 0xA3A0 },
938      { "sysTrapWinScreenUnlock", 0xA3A1 },
939      { "sysTrapWinGetBitmap", 0xA3A2 },
940      { "sysTrapUIColorInit", 0xA3A3 },
941      { "sysTrapUIColorGetTableEntryIndex", 0xA3A4 },
942      { "sysTrapUIColorGetTableEntryRGB", 0xA3A5 },
943      { "sysTrapUIColorSetTableEntry", 0xA3A6 },
944      { "sysTrapUIColorPushTable", 0xA3A7 },
945      { "sysTrapUIColorPopTable", 0xA3A8 },
946      { "sysTrapCtlNewGraphicControl", 0xA3A9 },
947      { "sysTrapTblGetItemPtr", 0xA3AA },
948      { "sysTrapUIBrightnessAdjust", 0xA3AB },
949      { "sysTrapUIPickColor", 0xA3AC },
950      { "sysTrapEvtSetAutoOffTimer", 0xA3AD },
951      { "sysTrapTsmDispatch", 0xA3AE },
952      { "sysTrapOmDispatch", 0xA3AF },
953      { "sysTrapDmOpenDBNoOverlay", 0xA3B0 },
954      { "sysTrapDmOpenDBWithLocale", 0xA3B1 },
955      { "sysTrapResLoadConstant", 0xA3B2 },
956      { "sysTrapHwrPreDebugInit", 0xA3B3 },
957      { "sysTrapHwrResetNMI", 0xA3B4 },
958      { "sysTrapHwrResetPWM", 0xA3B5 },
959      { "sysTrapKeyBootKeys", 0xA3B6 },
960      { "sysTrapDbgSerDrvOpen", 0xA3B7 },
961      { "sysTrapDbgSerDrvClose", 0xA3B8 },
962      { "sysTrapDbgSerDrvControl", 0xA3B9 },
963      { "sysTrapDbgSerDrvStatus", 0xA3BA },
964      { "sysTrapDbgSerDrvWriteChar", 0xA3BB },
965      { "sysTrapDbgSerDrvReadChar", 0xA3BC },
966      { "sysTrapHwrPostDebugInit", 0xA3BD },
967      { "sysTrapHwrIdentifyFeatures", 0xA3BE },
968      { "sysTrapHwrModelSpecificInit", 0xA3BF },
969      { "sysTrapHwrModelInitStage2", 0xA3C0 },
970      { "sysTrapHwrInterruptsInit", 0xA3C1 },
971      { "sysTrapHwrSoundOn", 0xA3C2 },
972      { "sysTrapHwrSoundOff", 0xA3C3 },
973      { "sysTrapSysKernelClockTick", 0xA3C4 },
974      { "sysTrapMenuEraseMenu", 0xA3C5 },
975      { "sysTrapSelectTime", 0xA3C6 },
976      { "sysTrapMenuCmdBarAddButton", 0xA3C7 },
977      { "sysTrapMenuCmdBarGetButtonData", 0xA3C8 },
978      { "sysTrapMenuCmdBarDisplay", 0xA3C9 },
979      { "sysTrapHwrGetSilkscreenID", 0xA3CA },
980      { "sysTrapEvtGetSilkscreenAreaList", 0xA3CB },
981      { "sysTrapSysFatalAlertInit", 0xA3CC },
982      { "sysTrapDateTemplateToAscii", 0xA3CD },
983      { "sysTrapSecVerifyPW", 0xA3CE },
984      { "sysTrapSecSelectViewStatus", 0xA3CF },
985      { "sysTrapTblSetColumnMasked", 0xA3D0 },
986      { "sysTrapTblSetRowMasked", 0xA3D1 },
987      { "sysTrapTblRowMasked", 0xA3D2 },
988      { "sysTrapFrmCustomResponseAlert", 0xA3D3 },
989      { "sysTrapFrmNewGsi", 0xA3D4 },
990      { "sysTrapMenuShowItem", 0xA3D5 },
991      { "sysTrapMenuHideItem", 0xA3D6 },
992      { "sysTrapMenuAddItem", 0xA3D7 },
993      { "sysTrapFrmSetGadgetHandler", 0xA3D8 },
994      { "sysTrapCtlSetGraphics", 0xA3D9 },
995      { "sysTrapCtlGetSliderValues", 0xA3DA },
996      { "sysTrapCtlSetSliderValues", 0xA3DB },
997      { "sysTrapCtlNewSliderControl", 0xA3DC },
998      { "sysTrapBmpCreate", 0xA3DD },
999      { "sysTrapBmpDelete", 0xA3DE },
1000      { "sysTrapBmpCompress", 0xA3DF },
1001      { "sysTrapBmpGetColortable", 0xA3E0 },
1002      { "sysTrapBmpSize", 0xA3E1 },
1003      { "sysTrapBmpBitsSize", 0xA3E2 },
1004      { "sysTrapBmpColortableSize", 0xA3E3 },
1005      { "sysTrapWinCreateBitmapWindow", 0xA3E4 },
1006      { "sysTrapEvtSetNullEventTick", 0xA3E5 },
1007      { "sysTrapExgDoDialog", 0xA3E6 },
1008      { "sysTrapSysUICleanup", 0xA3E7 },
1009      { "sysTrapWinSetForeColorRGB", 0xA3E8 },
1010      { "sysTrapWinSetBackColorRGB", 0xA3E9 },
1011      { "sysTrapWinSetTextColorRGB", 0xA3EA },
1012      { "sysTrapWinGetPixelRGB", 0xA3EB },
1013      { "sysTrapHighDensityDispatch", 0xA3EC },
1014      { "sysTrapSysReserved40Trap2", 0xA3ED },
1015      { "sysTrapSysReserved40Trap3", 0xA3EE },
1016      { "sysTrapSysReserved40Trap4", 0xA3EF },
1017      { "sysTrapCncMgrDispatch", 0xA3F0 },
1018      { "sysTrapSysNotifyBroadcastFromInterrupt", 0xA3F1 },
1019      { "sysTrapEvtWakeupWithoutNilEvent", 0xA3F2 },
1020      { "sysTrapStrCompareAscii", 0xA3F3 },
1021      { "sysTrapAccessorDispatch", 0xA3F4 },
1022      { "sysTrapBltGetPixel", 0xA3F5 },
1023      { "sysTrapBltPaintPixel", 0xA3F6 },
1024      { "sysTrapScrScreenInit", 0xA3F7 },
1025      { "sysTrapScrUpdateScreenBitmap", 0xA3F8 },
1026      { "sysTrapScrPalette", 0xA3F9 },
1027      { "sysTrapScrGetColortable", 0xA3FA },
1028      { "sysTrapScrGetGrayPat", 0xA3FB },
1029      { "sysTrapScrScreenLock", 0xA3FC },
1030      { "sysTrapScrScreenUnlock", 0xA3FD },
1031      { "sysTrapFntPrvGetFontList", 0xA3FE },
1032      { "sysTrapExgRegisterDatatype", 0xA3FF },
1033      { "sysTrapExgNotifyReceive", 0xA400 },
1034      { "sysTrapExgNotifyGoto", 0xA401 },
1035      { "sysTrapExgRequest", 0xA402 },
1036      { "sysTrapExgSetDefaultApplication", 0xA403 },
1037      { "sysTrapExgGetDefaultApplication", 0xA404 },
1038      { "sysTrapExgGetTargetApplication", 0xA405 },
1039      { "sysTrapExgGetRegisteredApplications", 0xA406 },
1040      { "sysTrapExgGetRegisteredTypes", 0xA407 },
1041      { "sysTrapExgNotifyPreview", 0xA408 },
1042      { "sysTrapExgControl", 0xA409 },
1043      { "sysTrapLmDispatch", 0xA40A },
1044      { "sysTrapMemGetRomNVParams", 0xA40B },
1045      { "sysTrapFntWCharWidth", 0xA40C },
1046      { "sysTrapDmFindDatabaseWithTypeCreator", 0xA40D },
1047      { "sysTrapSelectTimeZone", 0xA40E },
1048      { "sysTrapTimeZoneToAscii", 0xA40F },
1049      { "sysTrapStrNCompareAscii", 0xA410 },
1050      { "sysTrapTimTimeZoneToUTC", 0xA411 },
1051      { "sysTrapTimUTCToTimeZone", 0xA412 },
1052      { "sysTrapPhoneNumberLookupCustom", 0xA413 },
1053      { "sysTrapHwrDebugSelect", 0xA414 },
1054      { "sysTrapBltRoundedRectangle", 0xA415 },
1055      { "sysTrapBltRoundedRectangleFill", 0xA416 },
1056      { "sysTrapWinPrvInitCanvas", 0xA417 },
1057      { "sysTrapHwrCalcDynamicHeapSize", 0xA418 },
1058      { "sysTrapHwrDebuggerEnter", 0xA419 },
1059      { "sysTrapHwrDebuggerExit", 0xA41A },
1060      { "sysTrapLstGetTopItem", 0xA41B },
1061      { "sysTrapHwrModelInitStage3", 0xA41C },
1062      { "sysTrapAttnIndicatorAllow", 0xA41D },
1063      { "sysTrapAttnIndicatorAllowed", 0xA41E },
1064      { "sysTrapAttnIndicatorEnable", 0xA41F },
1065      { "sysTrapAttnIndicatorEnabled", 0xA420 },
1066      { "sysTrapAttnIndicatorSetBlinkPattern", 0xA421 },
1067      { "sysTrapAttnIndicatorGetBlinkPattern", 0xA422 },
1068      { "sysTrapAttnIndicatorTicksTillNextBlink", 0xA423 },
1069      { "sysTrapAttnIndicatorCheckBlink", 0xA424 },
1070      { "sysTrapAttnInitialize", 0xA425 },
1071      { "sysTrapAttnGetAttention", 0xA426 },
1072      { "sysTrapAttnUpdate", 0xA427 },
1073      { "sysTrapAttnForgetIt", 0xA428 },
1074      { "sysTrapAttnGetCounts", 0xA429 },
1075      { "sysTrapAttnListOpen", 0xA42A },
1076      { "sysTrapAttnHandleEvent", 0xA42B },
1077      { "sysTrapAttnEffectOfEvent", 0xA42C },
1078      { "sysTrapAttnIterate", 0xA42D },
1079      { "sysTrapAttnDoSpecialEffects", 0xA42E },
1080      { "sysTrapAttnDoEmergencySpecialEffects", 0xA42F },
1081      { "sysTrapAttnAllowClose", 0xA430 },
1082      { "sysTrapAttnReopen", 0xA431 },
1083      { "sysTrapAttnEnableNotification", 0xA432 },
1084      { "sysTrapHwrLEDAttributes", 0xA433 },
1085      { "sysTrapHwrVibrateAttributes", 0xA434 },
1086      { "sysTrapSecGetPwdHint", 0xA435 },
1087      { "sysTrapSecSetPwdHint", 0xA436 },
1088      { "sysTrapHwrFlashWrite", 0xA437 },
1089      { "sysTrapKeyboardStatusNew", 0xA438 },
1090      { "sysTrapKeyboardStatusFree", 0xA439 },
1091      { "sysTrapKbdSetLayout", 0xA43A },
1092      { "sysTrapKbdGetLayout", 0xA43B },
1093      { "sysTrapKbdSetPosition", 0xA43C },
1094      { "sysTrapKbdGetPosition", 0xA43D },
1095      { "sysTrapKbdSetShiftState", 0xA43E },
1096      { "sysTrapKbdGetShiftState", 0xA43F },
1097      { "sysTrapKbdDraw", 0xA440 },
1098      { "sysTrapKbdErase", 0xA441 },
1099      { "sysTrapKbdHandleEvent", 0xA442 },
1100      { "sysTrapOEMDispatch2", 0xA443 },
1101      { "sysTrapHwrCustom", 0xA444 },
1102      { "sysTrapFrmGetActiveField", 0xA445 },
1103      { "sysTrapSndPlaySmfIrregardless", 0xA446 },
1104      { "sysTrapSndPlaySmfResourceIrregardless", 0xA447 },
1105      { "sysTrapSndInterruptSmfIrregardless", 0xA448 },
1106      { "sysTrapUdaMgrDispatch", 0xA449 },
1107      { "sysTrapPalmPrivate1", 0xA44A },
1108      { "sysTrapPalmPrivate2", 0xA44B },
1109      { "sysTrapPalmPrivate3", 0xA44C },
1110      { "sysTrapPalmPrivate4", 0xA44D },
1111      { "sysTrapBmpGetDimensions", 0xA44E },
1112      { "sysTrapBmpGetBitDepth", 0xA44F },
1113      { "sysTrapBmpGetNextBitmap", 0xA450 },
1114      { "sysTrapTblGetNumberOfColumns", 0xA451 },
1115      { "sysTrapTblGetTopRow", 0xA452 },
1116      { "sysTrapTblSetSelection", 0xA453 },
1117      { "sysTrapFrmGetObjectIndexFromPtr", 0xA454 },
1118      { "sysTrapBmpGetSizes", 0xA455 },
1119      { "sysTrapWinGetBounds", 0xA456 },
1120      { "sysTrapBltPaintPixels", 0xA457 },
1121      { "sysTrapFldSetMaxVisibleLines", 0xA458 },
1122      { "sysTrapScrDefaultPaletteState", 0xA459 },
1123      { "sysTrapPceNativeCall", 0xA45A },
1124      { "sysTrapSndStreamCreate", 0xA45B },
1125      { "sysTrapSndStreamDelete", 0xA45C },
1126      { "sysTrapSndStreamStart", 0xA45D },
1127      { "sysTrapSndStreamPause", 0xA45E },
1128      { "sysTrapSndStreamStop", 0xA45F },
1129      { "sysTrapSndStreamSetVolume", 0xA460 },
1130      { "sysTrapSndStreamGetVolume", 0xA461 },
1131      { "sysTrapSndPlayResource", 0xA462 },
1132      { "sysTrapSndStreamSetPan", 0xA463 },
1133      { "sysTrapSndStreamGetPan", 0xA464 },
1134      { "sysTrapMultimediaDispatch", 0xA465 },
1135      { "sysTrapSndStreamCreateExtended", 0xa466 },
1136      { "sysTrapSndStreamDeviceControl", 0xa467 },
1137      { "sysTrapBmpCreateVersion3", 0xA468 },
1138      { "sysTrapECFixedMul", 0xA469 },
1139      { "sysTrapECFixedDiv", 0xA46A },
1140      { "sysTrapHALDrawGetSupportedDensity", 0xA46B },
1141      { "sysTrapHALRedrawInputArea", 0xA46C },
1142      { "sysTrapGrfBeginStroke", 0xA46D },
1143      { "sysTrapBmpPrvConvertBitmap", 0xA46E },
1144      { "sysTrapSysReservedTrap5", 0xA46F },
1145      { "sysTrapPinsDispatch", 0xA470 },
1146      { "sysTrapSysReservedTrap1", 0xA471 },
1147      { "sysTrapSysReservedTrap2", 0xA472 },
1148      { "sysTrapSysReservedTrap3", 0xA473 },
1149      { "sysTrapSysReservedTrap4", 0xA474 },
1150      { "sysTrapLastTrapNumber", 0xA475 }
1151   };
1152
1153   int i;
1154
1155   for (i = 0; i < ARRAY_LENGTH(traps); i++)
1156   {
1157      if (traps[i].trap == opcode)
1158         return traps[i].name;
1159   }
1160   return NULL;
1161}
1162
1163static offs_t palm_dasm_override(device_t &device, char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, int options)
1164{
1165   UINT16 opcode;
1166   unsigned result = 0;
1167   const char *trap;
1168
1169   opcode = *((UINT16 *) oprom);
1170   opcode = ((opcode >> 8) & 0x00ff) | ((opcode << 8) & 0xff00);
1171   if (opcode == 0x4E4F)
1172   {
1173      UINT16 callnum = *((UINT16 *) (oprom + 2));
1174      callnum = ((callnum >> 8) & 0x00ff) | ((callnum << 8) & 0xff00);
1175      trap = lookup_trap(callnum);
1176      result = 2;
1177      if (trap)
1178      {
1179         strcpy(buffer, trap);
1180      }
1181      else
1182      {
1183         sprintf(buffer, "trap    #$f");
1184      }
1185   }
1186   else if ((opcode & 0xF000) == 0xA000)
1187   {
1188      sprintf(buffer, "Call Index: %04x", opcode);
1189      result = 2;
1190   }
1191   return result;
1192}
trunk/src/mess/drivers/palm_dbg.inc
r0r23776
1static const char *lookup_trap(UINT16 opcode)
2{
3   static const struct
4   {
5      const char *name;
6      UINT16 trap;
7   } traps[] =
8   {
9      { "sysTrapMemInit", 0xA000 },
10      { "sysTrapMemInitHeapTable", 0xA001 },
11      { "sysTrapMemStoreInit", 0xA002 },
12      { "sysTrapMemCardFormat", 0xA003 },
13      { "sysTrapMemCardInfo", 0xA004 },
14      { "sysTrapMemStoreInfo", 0xA005 },
15      { "sysTrapMemStoreSetInfo", 0xA006 },
16      { "sysTrapMemNumHeaps", 0xA007 },
17      { "sysTrapMemNumRAMHeaps", 0xA008 },
18      { "sysTrapMemHeapID", 0xA009 },
19      { "sysTrapMemHeapPtr", 0xA00A },
20      { "sysTrapMemHeapFreeBytes", 0xA00B },
21      { "sysTrapMemHeapSize", 0xA00C },
22      { "sysTrapMemHeapFlags", 0xA00D },
23      { "sysTrapMemHeapCompact", 0xA00E },
24      { "sysTrapMemHeapInit", 0xA00F },
25      { "sysTrapMemHeapFreeByOwnerID", 0xA010 },
26      { "sysTrapMemChunkNew", 0xA011 },
27      { "sysTrapMemChunkFree", 0xA012 },
28      { "sysTrapMemPtrNew", 0xA013 },
29      { "sysTrapMemPtrRecoverHandle", 0xA014 },
30      { "sysTrapMemPtrFlags", 0xA015 },
31      { "sysTrapMemPtrSize", 0xA016 },
32      { "sysTrapMemPtrOwner", 0xA017 },
33      { "sysTrapMemPtrHeapID", 0xA018 },
34      { "sysTrapMemPtrCardNo", 0xA019 },
35      { "sysTrapMemPtrToLocalID", 0xA01A },
36      { "sysTrapMemPtrSetOwner", 0xA01B },
37      { "sysTrapMemPtrResize", 0xA01C },
38      { "sysTrapMemPtrResetLock", 0xA01D },
39      { "sysTrapMemHandleNew", 0xA01E },
40      { "sysTrapMemHandleLockCount", 0xA01F },
41      { "sysTrapMemHandleToLocalID", 0xA020 },
42      { "sysTrapMemHandleLock", 0xA021 },
43      { "sysTrapMemHandleUnlock", 0xA022 },
44      { "sysTrapMemLocalIDToGlobal", 0xA023 },
45      { "sysTrapMemLocalIDKind", 0xA024 },
46      { "sysTrapMemLocalIDToPtr", 0xA025 },
47      { "sysTrapMemMove", 0xA026 },
48      { "sysTrapMemSet", 0xA027 },
49      { "sysTrapMemStoreSearch", 0xA028 },
50      { "sysTrapSysReserved10Trap1", 0xA029 },
51      { "sysTrapMemKernelInit", 0xA02A },
52      { "sysTrapMemHandleFree", 0xA02B },
53      { "sysTrapMemHandleFlags", 0xA02C },
54      { "sysTrapMemHandleSize", 0xA02D },
55      { "sysTrapMemHandleOwner", 0xA02E },
56      { "sysTrapMemHandleHeapID", 0xA02F },
57      { "sysTrapMemHandleDataStorage", 0xA030 },
58      { "sysTrapMemHandleCardNo", 0xA031 },
59      { "sysTrapMemHandleSetOwner", 0xA032 },
60      { "sysTrapMemHandleResize", 0xA033 },
61      { "sysTrapMemHandleResetLock", 0xA034 },
62      { "sysTrapMemPtrUnlock", 0xA035 },
63      { "sysTrapMemLocalIDToLockedPtr", 0xA036 },
64      { "sysTrapMemSetDebugMode", 0xA037 },
65      { "sysTrapMemHeapScramble", 0xA038 },
66      { "sysTrapMemHeapCheck", 0xA039 },
67      { "sysTrapMemNumCards", 0xA03A },
68      { "sysTrapMemDebugMode", 0xA03B },
69      { "sysTrapMemSemaphoreReserve", 0xA03C },
70      { "sysTrapMemSemaphoreRelease", 0xA03D },
71      { "sysTrapMemHeapDynamic", 0xA03E },
72      { "sysTrapMemNVParams", 0xA03F },
73      { "sysTrapDmInit", 0xA040 },
74      { "sysTrapDmCreateDatabase", 0xA041 },
75      { "sysTrapDmDeleteDatabase", 0xA042 },
76      { "sysTrapDmNumDatabases", 0xA043 },
77      { "sysTrapDmGetDatabase", 0xA044 },
78      { "sysTrapDmFindDatabase", 0xA045 },
79      { "sysTrapDmDatabaseInfo", 0xA046 },
80      { "sysTrapDmSetDatabaseInfo", 0xA047 },
81      { "sysTrapDmDatabaseSize", 0xA048 },
82      { "sysTrapDmOpenDatabase", 0xA049 },
83      { "sysTrapDmCloseDatabase", 0xA04A },
84      { "sysTrapDmNextOpenDatabase", 0xA04B },
85      { "sysTrapDmOpenDatabaseInfo", 0xA04C },
86      { "sysTrapDmResetRecordStates", 0xA04D },
87      { "sysTrapDmGetLastErr", 0xA04E },
88      { "sysTrapDmNumRecords", 0xA04F },
89      { "sysTrapDmRecordInfo", 0xA050 },
90      { "sysTrapDmSetRecordInfo", 0xA051 },
91      { "sysTrapDmAttachRecord", 0xA052 },
92      { "sysTrapDmDetachRecord", 0xA053 },
93      { "sysTrapDmMoveRecord", 0xA054 },
94      { "sysTrapDmNewRecord", 0xA055 },
95      { "sysTrapDmRemoveRecord", 0xA056 },
96      { "sysTrapDmDeleteRecord", 0xA057 },
97      { "sysTrapDmArchiveRecord", 0xA058 },
98      { "sysTrapDmNewHandle", 0xA059 },
99      { "sysTrapDmRemoveSecretRecords", 0xA05A },
100      { "sysTrapDmQueryRecord", 0xA05B },
101      { "sysTrapDmGetRecord", 0xA05C },
102      { "sysTrapDmResizeRecord", 0xA05D },
103      { "sysTrapDmReleaseRecord", 0xA05E },
104      { "sysTrapDmGetResource", 0xA05F },
105      { "sysTrapDmGet1Resource", 0xA060 },
106      { "sysTrapDmReleaseResource", 0xA061 },
107      { "sysTrapDmResizeResource", 0xA062 },
108      { "sysTrapDmNextOpenResDatabase", 0xA063 },
109      { "sysTrapDmFindResourceType", 0xA064 },
110      { "sysTrapDmFindResource", 0xA065 },
111      { "sysTrapDmSearchResource", 0xA066 },
112      { "sysTrapDmNumResources", 0xA067 },
113      { "sysTrapDmResourceInfo", 0xA068 },
114      { "sysTrapDmSetResourceInfo", 0xA069 },
115      { "sysTrapDmAttachResource", 0xA06A },
116      { "sysTrapDmDetachResource", 0xA06B },
117      { "sysTrapDmNewResource", 0xA06C },
118      { "sysTrapDmRemoveResource", 0xA06D },
119      { "sysTrapDmGetResourceIndex", 0xA06E },
120      { "sysTrapDmQuickSort", 0xA06F },
121      { "sysTrapDmQueryNextInCategory", 0xA070 },
122      { "sysTrapDmNumRecordsInCategory", 0xA071 },
123      { "sysTrapDmPositionInCategory", 0xA072 },
124      { "sysTrapDmSeekRecordInCategory", 0xA073 },
125      { "sysTrapDmMoveCategory", 0xA074 },
126      { "sysTrapDmOpenDatabaseByTypeCreator", 0xA075 },
127      { "sysTrapDmWrite", 0xA076 },
128      { "sysTrapDmStrCopy", 0xA077 },
129      { "sysTrapDmGetNextDatabaseByTypeCreator", 0xA078 },
130      { "sysTrapDmWriteCheck", 0xA079 },
131      { "sysTrapDmMoveOpenDBContext", 0xA07A },
132      { "sysTrapDmFindRecordByID", 0xA07B },
133      { "sysTrapDmGetAppInfoID", 0xA07C },
134      { "sysTrapDmFindSortPositionV10", 0xA07D },
135      { "sysTrapDmSet", 0xA07E },
136      { "sysTrapDmCreateDatabaseFromImage", 0xA07F },
137      { "sysTrapDbgSrcMessage", 0xA080 },
138      { "sysTrapDbgMessage", 0xA081 },
139      { "sysTrapDbgGetMessage", 0xA082 },
140      { "sysTrapDbgCommSettings", 0xA083 },
141      { "sysTrapErrDisplayFileLineMsg", 0xA084 },
142      { "sysTrapErrSetJump", 0xA085 },
143      { "sysTrapErrLongJump", 0xA086 },
144      { "sysTrapErrThrow", 0xA087 },
145      { "sysTrapErrExceptionList", 0xA088 },
146      { "sysTrapSysBroadcastActionCode", 0xA089 },
147      { "sysTrapSysUnimplemented", 0xA08A },
148      { "sysTrapSysColdBoot", 0xA08B },
149      { "sysTrapSysReset", 0xA08C },
150      { "sysTrapSysDoze", 0xA08D },
151      { "sysTrapSysAppLaunch", 0xA08E },
152      { "sysTrapSysAppStartup", 0xA08F },
153      { "sysTrapSysAppExit", 0xA090 },
154      { "sysTrapSysSetA5", 0xA091 },
155      { "sysTrapSysSetTrapAddress", 0xA092 },
156      { "sysTrapSysGetTrapAddress", 0xA093 },
157      { "sysTrapSysTranslateKernelErr", 0xA094 },
158      { "sysTrapSysSemaphoreCreate", 0xA095 },
159      { "sysTrapSysSemaphoreDelete", 0xA096 },
160      { "sysTrapSysSemaphoreWait", 0xA097 },
161      { "sysTrapSysSemaphoreSignal", 0xA098 },
162      { "sysTrapSysTimerCreate", 0xA099 },
163      { "sysTrapSysTimerWrite", 0xA09A },
164      { "sysTrapSysTaskCreate", 0xA09B },
165      { "sysTrapSysTaskDelete", 0xA09C },
166      { "sysTrapSysTaskTrigger", 0xA09D },
167      { "sysTrapSysTaskID", 0xA09E },
168      { "sysTrapSysTaskUserInfoPtr", 0xA09F },
169      { "sysTrapSysTaskDelay", 0xA0A0 },
170      { "sysTrapSysTaskSetTermProc", 0xA0A1 },
171      { "sysTrapSysUILaunch", 0xA0A2 },
172      { "sysTrapSysNewOwnerID", 0xA0A3 },
173      { "sysTrapSysSemaphoreSet", 0xA0A4 },
174      { "sysTrapSysDisableInts", 0xA0A5 },
175      { "sysTrapSysRestoreStatus", 0xA0A6 },
176      { "sysTrapSysUIAppSwitch", 0xA0A7 },
177      { "sysTrapSysCurAppInfoPV20", 0xA0A8 },
178      { "sysTrapSysHandleEvent", 0xA0A9 },
179      { "sysTrapSysInit", 0xA0AA },
180      { "sysTrapSysQSort", 0xA0AB },
181      { "sysTrapSysCurAppDatabase", 0xA0AC },
182      { "sysTrapSysFatalAlert", 0xA0AD },
183      { "sysTrapSysResSemaphoreCreate", 0xA0AE },
184      { "sysTrapSysResSemaphoreDelete", 0xA0AF },
185      { "sysTrapSysResSemaphoreReserve", 0xA0B0 },
186      { "sysTrapSysResSemaphoreRelease", 0xA0B1 },
187      { "sysTrapSysSleep", 0xA0B2 },
188      { "sysTrapSysKeyboardDialogV10", 0xA0B3 },
189      { "sysTrapSysAppLauncherDialog", 0xA0B4 },
190      { "sysTrapSysSetPerformance", 0xA0B5 },
191      { "sysTrapSysBatteryInfoV20", 0xA0B6 },
192      { "sysTrapSysLibInstall", 0xA0B7 },
193      { "sysTrapSysLibRemove", 0xA0B8 },
194      { "sysTrapSysLibTblEntry", 0xA0B9 },
195      { "sysTrapSysLibFind", 0xA0BA },
196      { "sysTrapSysBatteryDialog", 0xA0BB },
197      { "sysTrapSysCopyStringResource", 0xA0BC },
198      { "sysTrapSysKernelInfo", 0xA0BD },
199      { "sysTrapSysLaunchConsole", 0xA0BE },
200      { "sysTrapSysTimerDelete", 0xA0BF },
201      { "sysTrapSysSetAutoOffTime", 0xA0C0 },
202      { "sysTrapSysFormPointerArrayToStrings", 0xA0C1 },
203      { "sysTrapSysRandom", 0xA0C2 },
204      { "sysTrapSysTaskSwitching", 0xA0C3 },
205      { "sysTrapSysTimerRead", 0xA0C4 },
206      { "sysTrapStrCopy", 0xA0C5 },
207      { "sysTrapStrCat", 0xA0C6 },
208      { "sysTrapStrLen", 0xA0C7 },
209      { "sysTrapStrCompare", 0xA0C8 },
210      { "sysTrapStrIToA", 0xA0C9 },
211      { "sysTrapStrCaselessCompare", 0xA0CA },
212      { "sysTrapStrIToH", 0xA0CB },
213      { "sysTrapStrChr", 0xA0CC },
214      { "sysTrapStrStr", 0xA0CD },
215      { "sysTrapStrAToI", 0xA0CE },
216      { "sysTrapStrToLower", 0xA0CF },
217      { "sysTrapSerReceiveISP", 0xA0D0 },
218      { "sysTrapSlkOpen", 0xA0D1 },
219      { "sysTrapSlkClose", 0xA0D2 },
220      { "sysTrapSlkOpenSocket", 0xA0D3 },
221      { "sysTrapSlkCloseSocket", 0xA0D4 },
222      { "sysTrapSlkSocketRefNum", 0xA0D5 },
223      { "sysTrapSlkSocketSetTimeout", 0xA0D6 },
224      { "sysTrapSlkFlushSocket", 0xA0D7 },
225      { "sysTrapSlkSetSocketListener", 0xA0D8 },
226      { "sysTrapSlkSendPacket", 0xA0D9 },
227      { "sysTrapSlkReceivePacket", 0xA0DA },
228      { "sysTrapSlkSysPktDefaultResponse", 0xA0DB },
229      { "sysTrapSlkProcessRPC", 0xA0DC },
230      { "sysTrapConPutS", 0xA0DD },
231      { "sysTrapConGetS", 0xA0DE },
232      { "sysTrapFplInit", 0xA0DF },
233      { "sysTrapFplFree", 0xA0E0 },
234      { "sysTrapFplFToA", 0xA0E1 },
235      { "sysTrapFplAToF", 0xA0E2 },
236      { "sysTrapFplBase10Info", 0xA0E3 },
237      { "sysTrapFplLongToFloat", 0xA0E4 },
238      { "sysTrapFplFloatToLong", 0xA0E5 },
239      { "sysTrapFplFloatToULong", 0xA0E6 },
240      { "sysTrapFplMul", 0xA0E7 },
241      { "sysTrapFplAdd", 0xA0E8 },
242      { "sysTrapFplSub", 0xA0E9 },
243      { "sysTrapFplDiv", 0xA0EA },
244      { "sysTrapWinScreenInit", 0xA0EB },
245      { "sysTrapScrCopyRectangle", 0xA0EC },
246      { "sysTrapScrDrawChars", 0xA0ED },
247      { "sysTrapScrLineRoutine", 0xA0EE },
248      { "sysTrapScrRectangleRoutine", 0xA0EF },
249      { "sysTrapScrScreenInfo", 0xA0F0 },
250      { "sysTrapScrDrawNotify", 0xA0F1 },
251      { "sysTrapScrSendUpdateArea", 0xA0F2 },
252      { "sysTrapScrCompressScanLine", 0xA0F3 },
253      { "sysTrapScrDeCompressScanLine", 0xA0F4 },
254      { "sysTrapTimGetSeconds", 0xA0F5 },
255      { "sysTrapTimSetSeconds", 0xA0F6 },
256      { "sysTrapTimGetTicks", 0xA0F7 },
257      { "sysTrapTimInit", 0xA0F8 },
258      { "sysTrapTimSetAlarm", 0xA0F9 },
259      { "sysTrapTimGetAlarm", 0xA0FA },
260      { "sysTrapTimHandleInterrupt", 0xA0FB },
261      { "sysTrapTimSecondsToDateTime", 0xA0FC },
262      { "sysTrapTimDateTimeToSeconds", 0xA0FD },
263      { "sysTrapTimAdjust", 0xA0FE },
264      { "sysTrapTimSleep", 0xA0FF },
265      { "sysTrapTimWake", 0xA100 },
266      { "sysTrapCategoryCreateListV10", 0xA101 },
267      { "sysTrapCategoryFreeListV10", 0xA102 },
268      { "sysTrapCategoryFind", 0xA103 },
269      { "sysTrapCategoryGetName", 0xA104 },
270      { "sysTrapCategoryEditV10", 0xA105 },
271      { "sysTrapCategorySelectV10", 0xA106 },
272      { "sysTrapCategoryGetNext", 0xA107 },
273      { "sysTrapCategorySetTriggerLabel", 0xA108 },
274      { "sysTrapCategoryTruncateName", 0xA109 },
275      { "sysTrapClipboardAddItem", 0xA10A },
276      { "sysTrapClipboardCheckIfItemExist", 0xA10B },
277      { "sysTrapClipboardGetItem", 0xA10C },
278      { "sysTrapCtlDrawControl", 0xA10D },
279      { "sysTrapCtlEraseControl", 0xA10E },
280      { "sysTrapCtlHideControl", 0xA10F },
281      { "sysTrapCtlShowControl", 0xA110 },
282      { "sysTrapCtlGetValue", 0xA111 },
283      { "sysTrapCtlSetValue", 0xA112 },
284      { "sysTrapCtlGetLabel", 0xA113 },
285      { "sysTrapCtlSetLabel", 0xA114 },
286      { "sysTrapCtlHandleEvent", 0xA115 },
287      { "sysTrapCtlHitControl", 0xA116 },
288      { "sysTrapCtlSetEnabled", 0xA117 },
289      { "sysTrapCtlSetUsable", 0xA118 },
290      { "sysTrapCtlEnabled", 0xA119 },
291      { "sysTrapEvtInitialize", 0xA11A },
292      { "sysTrapEvtAddEventToQueue", 0xA11B },
293      { "sysTrapEvtCopyEvent", 0xA11C },
294      { "sysTrapEvtGetEvent", 0xA11D },
295      { "sysTrapEvtGetPen", 0xA11E },
296      { "sysTrapEvtSysInit", 0xA11F },
297      { "sysTrapEvtGetSysEvent", 0xA120 },
298      { "sysTrapEvtProcessSoftKeyStroke", 0xA121 },
299      { "sysTrapEvtGetPenBtnList", 0xA122 },
300      { "sysTrapEvtSetPenQueuePtr", 0xA123 },
301      { "sysTrapEvtPenQueueSize", 0xA124 },
302      { "sysTrapEvtFlushPenQueue", 0xA125 },
303      { "sysTrapEvtEnqueuePenPoint", 0xA126 },
304      { "sysTrapEvtDequeuePenStrokeInfo", 0xA127 },
305      { "sysTrapEvtDequeuePenPoint", 0xA128 },
306      { "sysTrapEvtFlushNextPenStroke", 0xA129 },
307      { "sysTrapEvtSetKeyQueuePtr", 0xA12A },
308      { "sysTrapEvtKeyQueueSize", 0xA12B },
309      { "sysTrapEvtFlushKeyQueue", 0xA12C },
310      { "sysTrapEvtEnqueueKey", 0xA12D },
311      { "sysTrapEvtDequeueKeyEvent", 0xA12E },
312      { "sysTrapEvtWakeup", 0xA12F },
313      { "sysTrapEvtResetAutoOffTimer", 0xA130 },
314      { "sysTrapEvtKeyQueueEmpty", 0xA131 },
315      { "sysTrapEvtEnableGraffiti", 0xA132 },
316      { "sysTrapFldCopy", 0xA133 },
317      { "sysTrapFldCut", 0xA134 },
318      { "sysTrapFldDrawField", 0xA135 },
319      { "sysTrapFldEraseField", 0xA136 },
320      { "sysTrapFldFreeMemory", 0xA137 },
321      { "sysTrapFldGetBounds", 0xA138 },
322      { "sysTrapFldGetTextPtr", 0xA139 },
323      { "sysTrapFldGetSelection", 0xA13A },
324      { "sysTrapFldHandleEvent", 0xA13B },
325      { "sysTrapFldPaste", 0xA13C },
326      { "sysTrapFldRecalculateField", 0xA13D },
327      { "sysTrapFldSetBounds", 0xA13E },
328      { "sysTrapFldSetText", 0xA13F },
329      { "sysTrapFldGetFont", 0xA140 },
330      { "sysTrapFldSetFont", 0xA141 },
331      { "sysTrapFldSetSelection", 0xA142 },
332      { "sysTrapFldGrabFocus", 0xA143 },
333      { "sysTrapFldReleaseFocus", 0xA144 },
334      { "sysTrapFldGetInsPtPosition", 0xA145 },
335      { "sysTrapFldSetInsPtPosition", 0xA146 },
336      { "sysTrapFldSetScrollPosition", 0xA147 },
337      { "sysTrapFldGetScrollPosition", 0xA148 },
338      { "sysTrapFldGetTextHeight", 0xA149 },
339      { "sysTrapFldGetTextAllocatedSize", 0xA14A },
340      { "sysTrapFldGetTextLength", 0xA14B },
341      { "sysTrapFldScrollField", 0xA14C },
342      { "sysTrapFldScrollable", 0xA14D },
343      { "sysTrapFldGetVisibleLines", 0xA14E },
344      { "sysTrapFldGetAttributes", 0xA14F },
345      { "sysTrapFldSetAttributes", 0xA150 },
346      { "sysTrapFldSendChangeNotification", 0xA151 },
347      { "sysTrapFldCalcFieldHeight", 0xA152 },
348      { "sysTrapFldGetTextHandle", 0xA153 },
349      { "sysTrapFldCompactText", 0xA154 },
350      { "sysTrapFldDirty", 0xA155 },
351      { "sysTrapFldWordWrap", 0xA156 },
352      { "sysTrapFldSetTextAllocatedSize", 0xA157 },
353      { "sysTrapFldSetTextHandle", 0xA158 },
354      { "sysTrapFldSetTextPtr", 0xA159 },
355      { "sysTrapFldGetMaxChars", 0xA15A },
356      { "sysTrapFldSetMaxChars", 0xA15B },
357      { "sysTrapFldSetUsable", 0xA15C },
358      { "sysTrapFldInsert", 0xA15D },
359      { "sysTrapFldDelete", 0xA15E },
360      { "sysTrapFldUndo", 0xA15F },
361      { "sysTrapFldSetDirty", 0xA160 },
362      { "sysTrapFldSendHeightChangeNotification", 0xA161 },
363      { "sysTrapFldMakeFullyVisible", 0xA162 },
364      { "sysTrapFntGetFont", 0xA163 },
365      { "sysTrapFntSetFont", 0xA164 },
366      { "sysTrapFntGetFontPtr", 0xA165 },
367      { "sysTrapFntBaseLine", 0xA166 },
368      { "sysTrapFntCharHeight", 0xA167 },
369      { "sysTrapFntLineHeight", 0xA168 },
370      { "sysTrapFntAverageCharWidth", 0xA169 },
371      { "sysTrapFntCharWidth", 0xA16A },
372      { "sysTrapFntCharsWidth", 0xA16B },
373      { "sysTrapFntDescenderHeight", 0xA16C },
374      { "sysTrapFntCharsInWidth", 0xA16D },
375      { "sysTrapFntLineWidth", 0xA16E },
376      { "sysTrapFrmInitForm", 0xA16F },
377      { "sysTrapFrmDeleteForm", 0xA170 },
378      { "sysTrapFrmDrawForm", 0xA171 },
379      { "sysTrapFrmEraseForm", 0xA172 },
380      { "sysTrapFrmGetActiveForm", 0xA173 },
381      { "sysTrapFrmSetActiveForm", 0xA174 },
382      { "sysTrapFrmGetActiveFormID", 0xA175 },
383      { "sysTrapFrmGetUserModifiedState", 0xA176 },
384      { "sysTrapFrmSetNotUserModified", 0xA177 },
385      { "sysTrapFrmGetFocus", 0xA178 },
386      { "sysTrapFrmSetFocus", 0xA179 },
387      { "sysTrapFrmHandleEvent", 0xA17A },
388      { "sysTrapFrmGetFormBounds", 0xA17B },
389      { "sysTrapFrmGetWindowHandle", 0xA17C },
390      { "sysTrapFrmGetFormId", 0xA17D },
391      { "sysTrapFrmGetFormPtr", 0xA17E },
392      { "sysTrapFrmGetNumberOfObjects", 0xA17F },
393      { "sysTrapFrmGetObjectIndex", 0xA180 },
394      { "sysTrapFrmGetObjectId", 0xA181 },
395      { "sysTrapFrmGetObjectType", 0xA182 },
396      { "sysTrapFrmGetObjectPtr", 0xA183 },
397      { "sysTrapFrmHideObject", 0xA184 },
398      { "sysTrapFrmShowObject", 0xA185 },
399      { "sysTrapFrmGetObjectPosition", 0xA186 },
400      { "sysTrapFrmSetObjectPosition", 0xA187 },
401      { "sysTrapFrmGetControlValue", 0xA188 },
402      { "sysTrapFrmSetControlValue", 0xA189 },
403      { "sysTrapFrmGetControlGroupSelection", 0xA18A },
404      { "sysTrapFrmSetControlGroupSelection", 0xA18B },
405      { "sysTrapFrmCopyLabel", 0xA18C },
406      { "sysTrapFrmSetLabel", 0xA18D },
407      { "sysTrapFrmGetLabel", 0xA18E },
408      { "sysTrapFrmSetCategoryLabel", 0xA18F },
409      { "sysTrapFrmGetTitle", 0xA190 },
410      { "sysTrapFrmSetTitle", 0xA191 },
411      { "sysTrapFrmAlert", 0xA192 },
412      { "sysTrapFrmDoDialog", 0xA193 },
413      { "sysTrapFrmCustomAlert", 0xA194 },
414      { "sysTrapFrmHelp", 0xA195 },
415      { "sysTrapFrmUpdateScrollers", 0xA196 },
416      { "sysTrapFrmGetFirstForm", 0xA197 },
417      { "sysTrapFrmVisible", 0xA198 },
418      { "sysTrapFrmGetObjectBounds", 0xA199 },
419      { "sysTrapFrmCopyTitle", 0xA19A },
420      { "sysTrapFrmGotoForm", 0xA19B },
421      { "sysTrapFrmPopupForm", 0xA19C },
422      { "sysTrapFrmUpdateForm", 0xA19D },
423      { "sysTrapFrmReturnToForm", 0xA19E },
424      { "sysTrapFrmSetEventHandler", 0xA19F },
425      { "sysTrapFrmDispatchEvent", 0xA1A0 },
426      { "sysTrapFrmCloseAllForms", 0xA1A1 },
427      { "sysTrapFrmSaveAllForms", 0xA1A2 },
428      { "sysTrapFrmGetGadgetData", 0xA1A3 },
429      { "sysTrapFrmSetGadgetData", 0xA1A4 },
430      { "sysTrapFrmSetCategoryTrigger", 0xA1A5 },
431      { "sysTrapUIInitialize", 0xA1A6 },
432      { "sysTrapUIReset", 0xA1A7 },
433      { "sysTrapInsPtInitialize", 0xA1A8 },
434      { "sysTrapInsPtSetLocation", 0xA1A9 },
435      { "sysTrapInsPtGetLocation", 0xA1AA },
436      { "sysTrapInsPtEnable", 0xA1AB },
437      { "sysTrapInsPtEnabled", 0xA1AC },
438      { "sysTrapInsPtSetHeight", 0xA1AD },
439      { "sysTrapInsPtGetHeight", 0xA1AE },
440      { "sysTrapInsPtCheckBlink", 0xA1AF },
441      { "sysTrapLstSetDrawFunction", 0xA1B0 },
442      { "sysTrapLstDrawList", 0xA1B1 },
443      { "sysTrapLstEraseList", 0xA1B2 },
444      { "sysTrapLstGetSelection", 0xA1B3 },
445      { "sysTrapLstGetSelectionText", 0xA1B4 },
446      { "sysTrapLstHandleEvent", 0xA1B5 },
447      { "sysTrapLstSetHeight", 0xA1B6 },
448      { "sysTrapLstSetSelection", 0xA1B7 },
449      { "sysTrapLstSetListChoices", 0xA1B8 },
450      { "sysTrapLstMakeItemVisible", 0xA1B9 },
451      { "sysTrapLstGetNumberOfItems", 0xA1BA },
452      { "sysTrapLstPopupList", 0xA1BB },
453      { "sysTrapLstSetPosition", 0xA1BC },
454      { "sysTrapMenuInit", 0xA1BD },
455      { "sysTrapMenuDispose", 0xA1BE },
456      { "sysTrapMenuHandleEvent", 0xA1BF },
457      { "sysTrapMenuDrawMenu", 0xA1C0 },
458      { "sysTrapMenuEraseStatus", 0xA1C1 },
459      { "sysTrapMenuGetActiveMenu", 0xA1C2 },
460      { "sysTrapMenuSetActiveMenu", 0xA1C3 },
461      { "sysTrapRctSetRectangle", 0xA1C4 },
462      { "sysTrapRctCopyRectangle", 0xA1C5 },
463      { "sysTrapRctInsetRectangle", 0xA1C6 },
464      { "sysTrapRctOffsetRectangle", 0xA1C7 },
465      { "sysTrapRctPtInRectangle", 0xA1C8 },
466      { "sysTrapRctGetIntersection", 0xA1C9 },
467      { "sysTrapTblDrawTable", 0xA1CA },
468      { "sysTrapTblEraseTable", 0xA1CB },
469      { "sysTrapTblHandleEvent", 0xA1CC },
470      { "sysTrapTblGetItemBounds", 0xA1CD },
471      { "sysTrapTblSelectItem", 0xA1CE },
472      { "sysTrapTblGetItemInt", 0xA1CF },
473      { "sysTrapTblSetItemInt", 0xA1D0 },
474      { "sysTrapTblSetItemStyle", 0xA1D1 },
475      { "sysTrapTblUnhighlightSelection", 0xA1D2 },
476      { "sysTrapTblSetRowUsable", 0xA1D3 },
477      { "sysTrapTblGetNumberOfRows", 0xA1D4 },
478      { "sysTrapTblSetCustomDrawProcedure", 0xA1D5 },
479      { "sysTrapTblSetRowSelectable", 0xA1D6 },
480      { "sysTrapTblRowSelectable", 0xA1D7 },
481      { "sysTrapTblSetLoadDataProcedure", 0xA1D8 },
482      { "sysTrapTblSetSaveDataProcedure", 0xA1D9 },
483      { "sysTrapTblGetBounds", 0xA1DA },
484      { "sysTrapTblSetRowHeight", 0xA1DB },
485      { "sysTrapTblGetColumnWidth", 0xA1DC },
486      { "sysTrapTblGetRowID", 0xA1DD },
487      { "sysTrapTblSetRowID", 0xA1DE },
488      { "sysTrapTblMarkRowInvalid", 0xA1DF },
489      { "sysTrapTblMarkTableInvalid", 0xA1E0 },
490      { "sysTrapTblGetSelection", 0xA1E1 },
491      { "sysTrapTblInsertRow", 0xA1E2 },
492      { "sysTrapTblRemoveRow", 0xA1E3 },
493      { "sysTrapTblRowInvalid", 0xA1E4 },
494      { "sysTrapTblRedrawTable", 0xA1E5 },
495      { "sysTrapTblRowUsable", 0xA1E6 },
496      { "sysTrapTblReleaseFocus", 0xA1E7 },
497      { "sysTrapTblEditing", 0xA1E8 },
498      { "sysTrapTblGetCurrentField", 0xA1E9 },
499      { "sysTrapTblSetColumnUsable", 0xA1EA },
500      { "sysTrapTblGetRowHeight", 0xA1EB },
501      { "sysTrapTblSetColumnWidth", 0xA1EC },
502      { "sysTrapTblGrabFocus", 0xA1ED },
503      { "sysTrapTblSetItemPtr", 0xA1EE },
504      { "sysTrapTblFindRowID", 0xA1EF },
505      { "sysTrapTblGetLastUsableRow", 0xA1F0 },
506      { "sysTrapTblGetColumnSpacing", 0xA1F1 },
507      { "sysTrapTblFindRowData", 0xA1F2 },
508      { "sysTrapTblGetRowData", 0xA1F3 },
509      { "sysTrapTblSetRowData", 0xA1F4 },
510      { "sysTrapTblSetColumnSpacing", 0xA1F5 },
511      { "sysTrapWinCreateWindow", 0xA1F6 },
512      { "sysTrapWinCreateOffscreenWindow", 0xA1F7 },
513      { "sysTrapWinDeleteWindow", 0xA1F8 },
514      { "sysTrapWinInitializeWindow", 0xA1F9 },
515      { "sysTrapWinAddWindow", 0xA1FA },
516      { "sysTrapWinRemoveWindow", 0xA1FB },
517      { "sysTrapWinSetActiveWindow", 0xA1FC },
518      { "sysTrapWinSetDrawWindow", 0xA1FD },
519      { "sysTrapWinGetDrawWindow", 0xA1FE },
520      { "sysTrapWinGetActiveWindow", 0xA1FF },
521      { "sysTrapWinGetDisplayWindow", 0xA200 },
522      { "sysTrapWinGetFirstWindow", 0xA201 },
523      { "sysTrapWinEnableWindow", 0xA202 },
524      { "sysTrapWinDisableWindow", 0xA203 },
525      { "sysTrapWinGetWindowFrameRect", 0xA204 },
526      { "sysTrapWinDrawWindowFrame", 0xA205 },
527      { "sysTrapWinEraseWindow", 0xA206 },
528      { "sysTrapWinSaveBits", 0xA207 },
529      { "sysTrapWinRestoreBits", 0xA208 },
530      { "sysTrapWinCopyRectangle", 0xA209 },
531      { "sysTrapWinScrollRectangle", 0xA20A },
532      { "sysTrapWinGetDisplayExtent", 0xA20B },
533      { "sysTrapWinGetWindowExtent", 0xA20C },
534      { "sysTrapWinDisplayToWindowPt", 0xA20D },
535      { "sysTrapWinWindowToDisplayPt", 0xA20E },
536      { "sysTrapWinGetClip", 0xA20F },
537      { "sysTrapWinSetClip", 0xA210 },
538      { "sysTrapWinResetClip", 0xA211 },
539      { "sysTrapWinClipRectangle", 0xA212 },
540      { "sysTrapWinDrawLine", 0xA213 },
541      { "sysTrapWinDrawGrayLine", 0xA214 },
542      { "sysTrapWinEraseLine", 0xA215 },
543      { "sysTrapWinInvertLine", 0xA216 },
544      { "sysTrapWinFillLine", 0xA217 },
545      { "sysTrapWinDrawRectangle", 0xA218 },
546      { "sysTrapWinEraseRectangle", 0xA219 },
547      { "sysTrapWinInvertRectangle", 0xA21A },
548      { "sysTrapWinDrawRectangleFrame", 0xA21B },
549      { "sysTrapWinDrawGrayRectangleFrame", 0xA21C },
550      { "sysTrapWinEraseRectangleFrame", 0xA21D },
551      { "sysTrapWinInvertRectangleFrame", 0xA21E },
552      { "sysTrapWinGetFramesRectangle", 0xA21F },
553      { "sysTrapWinDrawChars", 0xA220 },
554      { "sysTrapWinEraseChars", 0xA221 },
555      { "sysTrapWinInvertChars", 0xA222 },
556      { "sysTrapWinGetPattern", 0xA223 },
557      { "sysTrapWinSetPattern", 0xA224 },
558      { "sysTrapWinSetUnderlineMode", 0xA225 },
559      { "sysTrapWinDrawBitmap", 0xA226 },
560      { "sysTrapWinModal", 0xA227 },
561      { "sysTrapWinGetDrawWindowBounds", 0xA228 },
562      { "sysTrapWinFillRectangle", 0xA229 },
563      { "sysTrapWinDrawInvertedChars", 0xA22A },
564      { "sysTrapPrefOpenPreferenceDBV10", 0xA22B },
565      { "sysTrapPrefGetPreferences", 0xA22C },
566      { "sysTrapPrefSetPreferences", 0xA22D },
567      { "sysTrapPrefGetAppPreferencesV10", 0xA22E },
568      { "sysTrapPrefSetAppPreferencesV10", 0xA22F },
569      { "sysTrapSndInit", 0xA230 },
570      { "sysTrapSndSetDefaultVolume", 0xA231 },
571      { "sysTrapSndGetDefaultVolume", 0xA232 },
572      { "sysTrapSndDoCmd", 0xA233 },
573      { "sysTrapSndPlaySystemSound", 0xA234 },
574      { "sysTrapAlmInit", 0xA235 },
575      { "sysTrapAlmCancelAll", 0xA236 },
576      { "sysTrapAlmAlarmCallback", 0xA237 },
577      { "sysTrapAlmSetAlarm", 0xA238 },
578      { "sysTrapAlmGetAlarm", 0xA239 },
579      { "sysTrapAlmDisplayAlarm", 0xA23A },
580      { "sysTrapAlmEnableNotification", 0xA23B },
581      { "sysTrapHwrGetRAMMapping", 0xA23C },
582      { "sysTrapHwrMemWritable", 0xA23D },
583      { "sysTrapHwrMemReadable", 0xA23E },
584      { "sysTrapHwrDoze", 0xA23F },
585      { "sysTrapHwrSleep", 0xA240 },
586      { "sysTrapHwrWake", 0xA241 },
587      { "sysTrapHwrSetSystemClock", 0xA242 },
588      { "sysTrapHwrSetCPUDutyCycle", 0xA243 },
589      { "sysTrapHwrDisplayInit", 0xA244 },
590      { "sysTrapHwrDisplaySleep", 0xA245 },
591      { "sysTrapHwrTimerInit", 0xA246 },
592      { "sysTrapHwrCursorV33", 0xA247 },
593      { "sysTrapHwrBatteryLevel", 0xA248 },
594      { "sysTrapHwrDelay", 0xA249 },
595      { "sysTrapHwrEnableDataWrites", 0xA24A },
596      { "sysTrapHwrDisableDataWrites", 0xA24B },
597      { "sysTrapHwrLCDBaseAddrV33", 0xA24C },
598      { "sysTrapHwrDisplayDrawBootScreen", 0xA24D },
599      { "sysTrapHwrTimerSleep", 0xA24E },
600      { "sysTrapHwrTimerWake", 0xA24F },
601      { "sysTrapHwrDisplayWake", 0xA250 },
602      { "sysTrapHwrIRQ1Handler", 0xA251 },
603      { "sysTrapHwrIRQ2Handler", 0xA252 },
604      { "sysTrapHwrIRQ3Handler", 0xA253 },
605      { "sysTrapHwrIRQ4Handler", 0xA254 },
606      { "sysTrapHwrIRQ5Handler", 0xA255 },
607      { "sysTrapHwrIRQ6Handler", 0xA256 },
608      { "sysTrapHwrDockSignals", 0xA257 },
609      { "sysTrapHwrPluggedIn", 0xA258 },
610      { "sysTrapCrc16CalcBlock", 0xA259 },
611      { "sysTrapSelectDayV10", 0xA25A },
612      { "sysTrapSelectTimeV33", 0xA25B },
613      { "sysTrapDayDrawDaySelector", 0xA25C },
614      { "sysTrapDayHandleEvent", 0xA25D },
615      { "sysTrapDayDrawDays", 0xA25E },
616      { "sysTrapDayOfWeek", 0xA25F },
617      { "sysTrapDaysInMonth", 0xA260 },
618      { "sysTrapDayOfMonth", 0xA261 },
619      { "sysTrapDateDaysToDate", 0xA262 },
620      { "sysTrapDateToDays", 0xA263 },
621      { "sysTrapDateAdjust", 0xA264 },
622      { "sysTrapDateSecondsToDate", 0xA265 },
623      { "sysTrapDateToAscii", 0xA266 },
624      { "sysTrapDateToDOWDMFormat", 0xA267 },
625      { "sysTrapTimeToAscii", 0xA268 },
626      { "sysTrapFind", 0xA269 },
627      { "sysTrapFindStrInStr", 0xA26A },
628      { "sysTrapFindSaveMatch", 0xA26B },
629      { "sysTrapFindGetLineBounds", 0xA26C },
630      { "sysTrapFindDrawHeader", 0xA26D },
631      { "sysTrapPenOpen", 0xA26E },
632      { "sysTrapPenClose", 0xA26F },
633      { "sysTrapPenGetRawPen", 0xA270 },
634      { "sysTrapPenCalibrate", 0xA271 },
635      { "sysTrapPenRawToScreen", 0xA272 },
636      { "sysTrapPenScreenToRaw", 0xA273 },
637      { "sysTrapPenResetCalibration", 0xA274 },
638      { "sysTrapPenSleep", 0xA275 },
639      { "sysTrapPenWake", 0xA276 },
640      { "sysTrapResLoadForm", 0xA277 },
641      { "sysTrapResLoadMenu", 0xA278 },
642      { "sysTrapFtrInit", 0xA279 },
643      { "sysTrapFtrUnregister", 0xA27A },
644      { "sysTrapFtrGet", 0xA27B },
645      { "sysTrapFtrSet", 0xA27C },
646      { "sysTrapFtrGetByIndex", 0xA27D },
647      { "sysTrapGrfInit", 0xA27E },
648      { "sysTrapGrfFree", 0xA27F },
649      { "sysTrapGrfGetState", 0xA280 },
650      { "sysTrapGrfSetState", 0xA281 },
651      { "sysTrapGrfFlushPoints", 0xA282 },
652      { "sysTrapGrfAddPoint", 0xA283 },
653      { "sysTrapGrfInitState", 0xA284 },
654      { "sysTrapGrfCleanState", 0xA285 },
655      { "sysTrapGrfMatch", 0xA286 },
656      { "sysTrapGrfGetMacro", 0xA287 },
657      { "sysTrapGrfFilterPoints", 0xA288 },
658      { "sysTrapGrfGetNumPoints", 0xA289 },
659      { "sysTrapGrfGetPoint", 0xA28A },
660      { "sysTrapGrfFindBranch", 0xA28B },
661      { "sysTrapGrfMatchGlyph", 0xA28C },
662      { "sysTrapGrfGetGlyphMapping", 0xA28D },
663      { "sysTrapGrfGetMacroName", 0xA28E },
664      { "sysTrapGrfDeleteMacro", 0xA28F },
665      { "sysTrapGrfAddMacro", 0xA290 },
666      { "sysTrapGrfGetAndExpandMacro", 0xA291 },
667      { "sysTrapGrfProcessStroke", 0xA292 },
668      { "sysTrapGrfFieldChange", 0xA293 },
669      { "sysTrapGetCharSortValue", 0xA294 },
670      { "sysTrapGetCharAttr", 0xA295 },
671      { "sysTrapGetCharCaselessValue", 0xA296 },
672      { "sysTrapPwdExists", 0xA297 },
673      { "sysTrapPwdVerify", 0xA298 },
674      { "sysTrapPwdSet", 0xA299 },
675      { "sysTrapPwdRemove", 0xA29A },
676      { "sysTrapGsiInitialize", 0xA29B },
677      { "sysTrapGsiSetLocation", 0xA29C },
678      { "sysTrapGsiEnable", 0xA29D },
679      { "sysTrapGsiEnabled", 0xA29E },
680      { "sysTrapGsiSetShiftState", 0xA29F },
681      { "sysTrapKeyInit", 0xA2A0 },
682      { "sysTrapKeyHandleInterrupt", 0xA2A1 },
683      { "sysTrapKeyCurrentState", 0xA2A2 },
684      { "sysTrapKeyResetDoubleTap", 0xA2A3 },
685      { "sysTrapKeyRates", 0xA2A4 },
686      { "sysTrapKeySleep", 0xA2A5 },
687      { "sysTrapKeyWake", 0xA2A6 },
688      { "sysTrapDlkControl", 0xA2A7 },
689      { "sysTrapDlkStartServer", 0xA2A8 },
690      { "sysTrapDlkGetSyncInfo", 0xA2A9 },
691      { "sysTrapDlkSetLogEntry", 0xA2AA },
692      { "sysTrapIntlDispatch", 0xA2AB },
693      { "sysTrapSysLibLoad", 0xA2AC },
694      { "sysTrapSndPlaySmf", 0xA2AD },
695      { "sysTrapSndCreateMidiList", 0xA2AE },
696      { "sysTrapAbtShowAbout", 0xA2AF },
697      { "sysTrapMdmDial", 0xA2B0 },
698      { "sysTrapMdmHangUp", 0xA2B1 },
699      { "sysTrapDmSearchRecord", 0xA2B2 },
700      { "sysTrapSysInsertionSort", 0xA2B3 },
701      { "sysTrapDmInsertionSort", 0xA2B4 },
702      { "sysTrapLstSetTopItem", 0xA2B5 },
703      { "sysTrapSclSetScrollBar", 0xA2B6 },
704      { "sysTrapSclDrawScrollBar", 0xA2B7 },
705      { "sysTrapSclHandleEvent", 0xA2B8 },
706      { "sysTrapSysMailboxCreate", 0xA2B9 },
707      { "sysTrapSysMailboxDelete", 0xA2BA },
708      { "sysTrapSysMailboxFlush", 0xA2BB },
709      { "sysTrapSysMailboxSend", 0xA2BC },
710      { "sysTrapSysMailboxWait", 0xA2BD },
711      { "sysTrapSysTaskWait", 0xA2BE },
712      { "sysTrapSysTaskWake", 0xA2BF },
713      { "sysTrapSysTaskWaitClr", 0xA2C0 },
714      { "sysTrapSysTaskSuspend", 0xA2C1 },
715      { "sysTrapSysTaskResume", 0xA2C2 },
716      { "sysTrapCategoryCreateList", 0xA2C3 },
717      { "sysTrapCategoryFreeList", 0xA2C4 },
718      { "sysTrapCategoryEditV20", 0xA2C5 },
719      { "sysTrapCategorySelect", 0xA2C6 },
720      { "sysTrapDmDeleteCategory", 0xA2C7 },
721      { "sysTrapSysEvGroupCreate", 0xA2C8 },
722      { "sysTrapSysEvGroupSignal", 0xA2C9 },
723      { "sysTrapSysEvGroupRead", 0xA2CA },
724      { "sysTrapSysEvGroupWait", 0xA2CB },
725      { "sysTrapEvtEventAvail", 0xA2CC },
726      { "sysTrapEvtSysEventAvail", 0xA2CD },
727      { "sysTrapStrNCopy", 0xA2CE },
728      { "sysTrapKeySetMask", 0xA2CF },
729      { "sysTrapSelectDay", 0xA2D0 },
730      { "sysTrapPrefGetPreference", 0xA2D1 },
731      { "sysTrapPrefSetPreference", 0xA2D2 },
732      { "sysTrapPrefGetAppPreferences", 0xA2D3 },
733      { "sysTrapPrefSetAppPreferences", 0xA2D4 },
734      { "sysTrapFrmPointInTitle", 0xA2D5 },
735      { "sysTrapStrNCat", 0xA2D6 },
736      { "sysTrapMemCmp", 0xA2D7 },
737      { "sysTrapTblSetColumnEditIndicator", 0xA2D8 },
738      { "sysTrapFntWordWrap", 0xA2D9 },
739      { "sysTrapFldGetScrollValues", 0xA2DA },
740      { "sysTrapSysCreateDataBaseList", 0xA2DB },
741      { "sysTrapSysCreatePanelList", 0xA2DC },
742      { "sysTrapDlkDispatchRequest", 0xA2DD },
743      { "sysTrapStrPrintF", 0xA2DE },
744      { "sysTrapStrVPrintF", 0xA2DF },
745      { "sysTrapPrefOpenPreferenceDB", 0xA2E0 },
746      { "sysTrapSysGraffitiReferenceDialog", 0xA2E1 },
747      { "sysTrapSysKeyboardDialog", 0xA2E2 },
748      { "sysTrapFntWordWrapReverseNLines", 0xA2E3 },
749      { "sysTrapFntGetScrollValues", 0xA2E4 },
750      { "sysTrapTblSetRowStaticHeight", 0xA2E5 },
751      { "sysTrapTblHasScrollBar", 0xA2E6 },
752      { "sysTrapSclGetScrollBar", 0xA2E7 },
753      { "sysTrapFldGetNumberOfBlankLines", 0xA2E8 },
754      { "sysTrapSysTicksPerSecond", 0xA2E9 },
755      { "sysTrapHwrBacklightV33", 0xA2EA },
756      { "sysTrapDmDatabaseProtect", 0xA2EB },
757      { "sysTrapTblSetBounds", 0xA2EC },
758      { "sysTrapStrNCompare", 0xA2ED },
759      { "sysTrapStrNCaselessCompare", 0xA2EE },
760      { "sysTrapPhoneNumberLookup", 0xA2EF },
761      { "sysTrapFrmSetMenu", 0xA2F0 },
762      { "sysTrapEncDigestMD5", 0xA2F1 },
763      { "sysTrapDmFindSortPosition", 0xA2F2 },
764      { "sysTrapSysBinarySearch", 0xA2F3 },
765      { "sysTrapSysErrString", 0xA2F4 },
766      { "sysTrapSysStringByIndex", 0xA2F5 },
767      { "sysTrapEvtAddUniqueEventToQueue", 0xA2F6 },
768      { "sysTrapStrLocalizeNumber", 0xA2F7 },
769      { "sysTrapStrDelocalizeNumber", 0xA2F8 },
770      { "sysTrapLocGetNumberSeparators", 0xA2F9 },
771      { "sysTrapMenuSetActiveMenuRscID", 0xA2FA },
772      { "sysTrapLstScrollList", 0xA2FB },
773      { "sysTrapCategoryInitialize", 0xA2FC },
774      { "sysTrapEncDigestMD4", 0xA2FD },
775      { "sysTrapEncDES", 0xA2FE },
776      { "sysTrapLstGetVisibleItems", 0xA2FF },
777      { "sysTrapWinSetBounds", 0xA300 },
778      { "sysTrapCategorySetName", 0xA301 },
779      { "sysTrapFldSetInsertionPoint", 0xA302 },
780      { "sysTrapFrmSetObjectBounds", 0xA303 },
781      { "sysTrapWinSetColors", 0xA304 },
782      { "sysTrapFlpDispatch", 0xA305 },
783      { "sysTrapFlpEmDispatch", 0xA306 },
784      { "sysTrapExgInit", 0xA307 },
785      { "sysTrapExgConnect", 0xA308 },
786      { "sysTrapExgPut", 0xA309 },
787      { "sysTrapExgGet", 0xA30A },
788      { "sysTrapExgAccept", 0xA30B },
789      { "sysTrapExgDisconnect", 0xA30C },
790      { "sysTrapExgSend", 0xA30D },
791      { "sysTrapExgReceive", 0xA30E },
792      { "sysTrapExgRegisterData", 0xA30F },
793      { "sysTrapExgNotifyReceiveV35", 0xA310 },
794      { "sysTrapSysReserved30Trap2", 0xA311 },
795      { "sysTrapPrgStartDialogV31", 0xA312 },
796      { "sysTrapPrgStopDialog", 0xA313 },
797      { "sysTrapPrgUpdateDialog", 0xA314 },
798      { "sysTrapPrgHandleEvent", 0xA315 },
799      { "sysTrapImcReadFieldNoSemicolon", 0xA316 },
800      { "sysTrapImcReadFieldQuotablePrintable", 0xA317 },
801      { "sysTrapImcReadPropertyParameter", 0xA318 },
802      { "sysTrapImcSkipAllPropertyParameters", 0xA319 },
803      { "sysTrapImcReadWhiteSpace", 0xA31A },
804      { "sysTrapImcWriteQuotedPrintable", 0xA31B },
805      { "sysTrapImcWriteNoSemicolon", 0xA31C },
806      { "sysTrapImcStringIsAscii", 0xA31D },
807      { "sysTrapTblGetItemFont", 0xA31E },
808      { "sysTrapTblSetItemFont", 0xA31F },
809      { "sysTrapFontSelect", 0xA320 },
810      { "sysTrapFntDefineFont", 0xA321 },
811      { "sysTrapCategoryEdit", 0xA322 },
812      { "sysTrapSysGetOSVersionString", 0xA323 },
813      { "sysTrapSysBatteryInfo", 0xA324 },
814      { "sysTrapSysUIBusy", 0xA325 },
815      { "sysTrapWinValidateHandle", 0xA326 },
816      { "sysTrapFrmValidatePtr", 0xA327 },
817      { "sysTrapCtlValidatePointer", 0xA328 },
818      { "sysTrapWinMoveWindowAddr", 0xA329 },
819      { "sysTrapFrmAddSpaceForObject", 0xA32A },
820      { "sysTrapFrmNewForm", 0xA32B },
821      { "sysTrapCtlNewControl", 0xA32C },
822      { "sysTrapFldNewField", 0xA32D },
823      { "sysTrapLstNewList", 0xA32E },
824      { "sysTrapFrmNewLabel", 0xA32F },
825      { "sysTrapFrmNewBitmap", 0xA330 },
826      { "sysTrapFrmNewGadget", 0xA331 },
827      { "sysTrapFileOpen", 0xA332 },
828      { "sysTrapFileClose", 0xA333 },
829      { "sysTrapFileDelete", 0xA334 },
830      { "sysTrapFileReadLow", 0xA335 },
831      { "sysTrapFileWrite", 0xA336 },
832      { "sysTrapFileSeek", 0xA337 },
833      { "sysTrapFileTell", 0xA338 },
834      { "sysTrapFileTruncate", 0xA339 },
835      { "sysTrapFileControl", 0xA33A },
836      { "sysTrapFrmActiveState", 0xA33B },
837      { "sysTrapSysGetAppInfo", 0xA33C },
838      { "sysTrapSysGetStackInfo", 0xA33D },
839      { "sysTrapWinScreenMode", 0xA33E },
840      { "sysTrapHwrLCDGetDepthV33", 0xA33F },
841      { "sysTrapHwrGetROMToken", 0xA340 },
842      { "sysTrapDbgControl", 0xA341 },
843      { "sysTrapExgDBRead", 0xA342 },
844      { "sysTrapExgDBWrite", 0xA343 },
845      { "sysTrapHostControl", 0xA344 },
846      { "sysTrapFrmRemoveObject", 0xA345 },
847      { "sysTrapSysReserved30Trap1", 0xA346 },
848      { "sysTrapExpansionDispatch", 0xA347 },
849      { "sysTrapFileSystemDispatch", 0xA348 },
850      { "sysTrapOEMDispatch", 0xA349 },
851      { "sysTrapHwrLCDContrastV33", 0xA34A },
852      { "sysTrapSysLCDContrast", 0xA34B },
853      { "sysTrapUIContrastAdjust", 0xA34C },
854      { "sysTrapHwrDockStatus", 0xA34D },
855      { "sysTrapFntWidthToOffset", 0xA34E },
856      { "sysTrapSelectOneTime", 0xA34F },
857      { "sysTrapWinDrawChar", 0xA350 },
858      { "sysTrapWinDrawTruncChars", 0xA351 },
859      { "sysTrapSysNotifyInit", 0xA352 },
860      { "sysTrapSysNotifyRegister", 0xA353 },
861      { "sysTrapSysNotifyUnregister", 0xA354 },
862      { "sysTrapSysNotifyBroadcast", 0xA355 },
863      { "sysTrapSysNotifyBroadcastDeferred", 0xA356 },
864      { "sysTrapSysNotifyDatabaseAdded", 0xA357 },
865      { "sysTrapSysNotifyDatabaseRemoved", 0xA358 },
866      { "sysTrapSysWantEvent", 0xA359 },
867      { "sysTrapFtrPtrNew", 0xA35A },
868      { "sysTrapFtrPtrFree", 0xA35B },
869      { "sysTrapFtrPtrResize", 0xA35C },
870      { "sysTrapSysReserved31Trap1", 0xA35D },
871      { "sysTrapHwrNVPrefSet", 0xA35E },
872      { "sysTrapHwrNVPrefGet", 0xA35F },
873      { "sysTrapFlashInit", 0xA360 },
874      { "sysTrapFlashCompress", 0xA361 },
875      { "sysTrapFlashErase", 0xA362 },
876      { "sysTrapFlashProgram", 0xA363 },
877      { "sysTrapAlmTimeChange", 0xA364 },
878      { "sysTrapErrAlertCustom", 0xA365 },
879      { "sysTrapPrgStartDialog", 0xA366 },
880      { "sysTrapSerialDispatch", 0xA367 },
881      { "sysTrapHwrBattery", 0xA368 },
882      { "sysTrapDmGetDatabaseLockState", 0xA369 },
883      { "sysTrapCncGetProfileList", 0xA36A },
884      { "sysTrapCncGetProfileInfo", 0xA36B },
885      { "sysTrapCncAddProfile", 0xA36C },
886      { "sysTrapCncDeleteProfile", 0xA36D },
887      { "sysTrapSndPlaySmfResource", 0xA36E },
888      { "sysTrapMemPtrDataStorage", 0xA36F },
889      { "sysTrapClipboardAppendItem", 0xA370 },
890      { "sysTrapWiCmdV32", 0xA371 },
891      { "sysTrapHwrDisplayAttributes", 0xA372 },
892      { "sysTrapHwrDisplayDoze", 0xA373 },
893      { "sysTrapHwrDisplayPalette", 0xA374 },
894      { "sysTrapBltFindIndexes", 0xA375 },
895      { "sysTrapBmpGetBits", 0xA376 },
896      { "sysTrapBltCopyRectangle", 0xA377 },
897      { "sysTrapBltDrawChars", 0xA378 },
898      { "sysTrapBltLineRoutine", 0xA379 },
899      { "sysTrapBltRectangleRoutine", 0xA37A },
900      { "sysTrapScrCompress", 0xA37B },
901      { "sysTrapScrDecompress", 0xA37C },
902      { "sysTrapSysLCDBrightness", 0xA37D },
903      { "sysTrapWinPaintChar", 0xA37E },
904      { "sysTrapWinPaintChars", 0xA37F },
905      { "sysTrapWinPaintBitmap", 0xA380 },
906      { "sysTrapWinGetPixel", 0xA381 },
907      { "sysTrapWinPaintPixel", 0xA382 },
908      { "sysTrapWinDrawPixel", 0xA383 },
909      { "sysTrapWinErasePixel", 0xA384 },
910      { "sysTrapWinInvertPixel", 0xA385 },
911      { "sysTrapWinPaintPixels", 0xA386 },
912      { "sysTrapWinPaintLines", 0xA387 },
913      { "sysTrapWinPaintLine", 0xA388 },
914      { "sysTrapWinPaintRectangle", 0xA389 },
915      { "sysTrapWinPaintRectangleFrame", 0xA38A },
916      { "sysTrapWinPaintPolygon", 0xA38B },
917      { "sysTrapWinDrawPolygon", 0xA38C },
918      { "sysTrapWinErasePolygon", 0xA38D },
919      { "sysTrapWinInvertPolygon", 0xA38E },
920      { "sysTrapWinFillPolygon", 0xA38F },
921      { "sysTrapWinPaintArc", 0xA390 },
922      { "sysTrapWinDrawArc", 0xA391 },
923      { "sysTrapWinEraseArc", 0xA392 },
924      { "sysTrapWinInvertArc", 0xA393 },
925      { "sysTrapWinFillArc", 0xA394 },
926      { "sysTrapWinPushDrawState", 0xA395 },
927      { "sysTrapWinPopDrawState", 0xA396 },
928      { "sysTrapWinSetDrawMode", 0xA397 },
929      { "sysTrapWinSetForeColor", 0xA398 },
930      { "sysTrapWinSetBackColor", 0xA399 },
931      { "sysTrapWinSetTextColor", 0xA39A },
932      { "sysTrapWinGetPatternType", 0xA39B },
933      { "sysTrapWinSetPatternType", 0xA39C },
934      { "sysTrapWinPalette", 0xA39D },
935      { "sysTrapWinRGBToIndex", 0xA39E },
936      { "sysTrapWinIndexToRGB", 0xA39F },
937      { "sysTrapWinScreenLock", 0xA3A0 },
938      { "sysTrapWinScreenUnlock", 0xA3A1 },
939      { "sysTrapWinGetBitmap", 0xA3A2 },
940      { "sysTrapUIColorInit", 0xA3A3 },
941      { "sysTrapUIColorGetTableEntryIndex", 0xA3A4 },
942      { "sysTrapUIColorGetTableEntryRGB", 0xA3A5 },
943      { "sysTrapUIColorSetTableEntry", 0xA3A6 },
944      { "sysTrapUIColorPushTable", 0xA3A7 },
945      { "sysTrapUIColorPopTable", 0xA3A8 },
946      { "sysTrapCtlNewGraphicControl", 0xA3A9 },
947      { "sysTrapTblGetItemPtr", 0xA3AA },
948      { "sysTrapUIBrightnessAdjust", 0xA3AB },
949      { "sysTrapUIPickColor", 0xA3AC },
950      { "sysTrapEvtSetAutoOffTimer", 0xA3AD },
951      { "sysTrapTsmDispatch", 0xA3AE },
952      { "sysTrapOmDispatch", 0xA3AF },
953      { "sysTrapDmOpenDBNoOverlay", 0xA3B0 },
954      { "sysTrapDmOpenDBWithLocale", 0xA3B1 },
955      { "sysTrapResLoadConstant", 0xA3B2 },
956      { "sysTrapHwrPreDebugInit", 0xA3B3 },
957      { "sysTrapHwrResetNMI", 0xA3B4 },
958      { "sysTrapHwrResetPWM", 0xA3B5 },
959      { "sysTrapKeyBootKeys", 0xA3B6 },
960      { "sysTrapDbgSerDrvOpen", 0xA3B7 },
961      { "sysTrapDbgSerDrvClose", 0xA3B8 },
962      { "sysTrapDbgSerDrvControl", 0xA3B9 },
963      { "sysTrapDbgSerDrvStatus", 0xA3BA },
964      { "sysTrapDbgSerDrvWriteChar", 0xA3BB },
965      { "sysTrapDbgSerDrvReadChar", 0xA3BC },
966      { "sysTrapHwrPostDebugInit", 0xA3BD },
967      { "sysTrapHwrIdentifyFeatures", 0xA3BE },
968      { "sysTrapHwrModelSpecificInit", 0xA3BF },
969      { "sysTrapHwrModelInitStage2", 0xA3C0 },
970      { "sysTrapHwrInterruptsInit", 0xA3C1 },
971      { "sysTrapHwrSoundOn", 0xA3C2 },
972      { "sysTrapHwrSoundOff", 0xA3C3 },
973      { "sysTrapSysKernelClockTick", 0xA3C4 },
974      { "sysTrapMenuEraseMenu", 0xA3C5 },
975      { "sysTrapSelectTime", 0xA3C6 },
976      { "sysTrapMenuCmdBarAddButton", 0xA3C7 },
977      { "sysTrapMenuCmdBarGetButtonData", 0xA3C8 },
978      { "sysTrapMenuCmdBarDisplay", 0xA3C9 },
979      { "sysTrapHwrGetSilkscreenID", 0xA3CA },
980      { "sysTrapEvtGetSilkscreenAreaList", 0xA3CB },
981      { "sysTrapSysFatalAlertInit", 0xA3CC },
982      { "sysTrapDateTemplateToAscii", 0xA3CD },
983      { "sysTrapSecVerifyPW", 0xA3CE },
984      { "sysTrapSecSelectViewStatus", 0xA3CF },
985      { "sysTrapTblSetColumnMasked", 0xA3D0 },
986      { "sysTrapTblSetRowMasked", 0xA3D1 },
987      { "sysTrapTblRowMasked", 0xA3D2 },
988      { "sysTrapFrmCustomResponseAlert", 0xA3D3 },
989      { "sysTrapFrmNewGsi", 0xA3D4 },
990      { "sysTrapMenuShowItem", 0xA3D5 },
991      { "sysTrapMenuHideItem", 0xA3D6 },
992      { "sysTrapMenuAddItem", 0xA3D7 },
993      { "sysTrapFrmSetGadgetHandler", 0xA3D8 },
994      { "sysTrapCtlSetGraphics", 0xA3D9 },
995      { "sysTrapCtlGetSliderValues", 0xA3DA },
996      { "sysTrapCtlSetSliderValues", 0xA3DB },
997      { "sysTrapCtlNewSliderControl", 0xA3DC },
998      { "sysTrapBmpCreate", 0xA3DD },
999      { "sysTrapBmpDelete", 0xA3DE },
1000      { "sysTrapBmpCompress", 0xA3DF },
1001      { "sysTrapBmpGetColortable", 0xA3E0 },
1002      { "sysTrapBmpSize", 0xA3E1 },
1003      { "sysTrapBmpBitsSize", 0xA3E2 },
1004      { "sysTrapBmpColortableSize", 0xA3E3 },
1005      { "sysTrapWinCreateBitmapWindow", 0xA3E4 },
1006      { "sysTrapEvtSetNullEventTick", 0xA3E5 },
1007      { "sysTrapExgDoDialog", 0xA3E6 },
1008      { "sysTrapSysUICleanup", 0xA3E7 },
1009      { "sysTrapWinSetForeColorRGB", 0xA3E8 },
1010      { "sysTrapWinSetBackColorRGB", 0xA3E9 },
1011      { "sysTrapWinSetTextColorRGB", 0xA3EA },
1012      { "sysTrapWinGetPixelRGB", 0xA3EB },
1013      { "sysTrapHighDensityDispatch", 0xA3EC },
1014      { "sysTrapSysReserved40Trap2", 0xA3ED },
1015      { "sysTrapSysReserved40Trap3", 0xA3EE },
1016      { "sysTrapSysReserved40Trap4", 0xA3EF },
1017      { "sysTrapCncMgrDispatch", 0xA3F0 },
1018      { "sysTrapSysNotifyBroadcastFromInterrupt", 0xA3F1 },
1019      { "sysTrapEvtWakeupWithoutNilEvent", 0xA3F2 },
1020      { "sysTrapStrCompareAscii", 0xA3F3 },
1021      { "sysTrapAccessorDispatch", 0xA3F4 },
1022      { "sysTrapBltGetPixel", 0xA3F5 },
1023      { "sysTrapBltPaintPixel", 0xA3F6 },
1024      { "sysTrapScrScreenInit", 0xA3F7 },
1025      { "sysTrapScrUpdateScreenBitmap", 0xA3F8 },
1026      { "sysTrapScrPalette", 0xA3F9 },
1027      { "sysTrapScrGetColortable", 0xA3FA },
1028      { "sysTrapScrGetGrayPat", 0xA3FB },
1029      { "sysTrapScrScreenLock", 0xA3FC },
1030      { "sysTrapScrScreenUnlock", 0xA3FD },
1031      { "sysTrapFntPrvGetFontList", 0xA3FE },
1032      { "sysTrapExgRegisterDatatype", 0xA3FF },
1033      { "sysTrapExgNotifyReceive", 0xA400 },
1034      { "sysTrapExgNotifyGoto", 0xA401 },
1035      { "sysTrapExgRequest", 0xA402 },
1036      { "sysTrapExgSetDefaultApplication", 0xA403 },
1037      { "sysTrapExgGetDefaultApplication", 0xA404 },
1038      { "sysTrapExgGetTargetApplication", 0xA405 },
1039      { "sysTrapExgGetRegisteredApplications", 0xA406 },
1040      { "sysTrapExgGetRegisteredTypes", 0xA407 },
1041      { "sysTrapExgNotifyPreview", 0xA408 },
1042      { "sysTrapExgControl", 0xA409 },
1043      { "sysTrapLmDispatch", 0xA40A },
1044      { "sysTrapMemGetRomNVParams", 0xA40B },
1045      { "sysTrapFntWCharWidth", 0xA40C },
1046      { "sysTrapDmFindDatabaseWithTypeCreator", 0xA40D },
1047      { "sysTrapSelectTimeZone", 0xA40E },
1048      { "sysTrapTimeZoneToAscii", 0xA40F },
1049      { "sysTrapStrNCompareAscii", 0xA410 },
1050      { "sysTrapTimTimeZoneToUTC", 0xA411 },
1051      { "sysTrapTimUTCToTimeZone", 0xA412 },
1052      { "sysTrapPhoneNumberLookupCustom", 0xA413 },
1053      { "sysTrapHwrDebugSelect", 0xA414 },
1054      { "sysTrapBltRoundedRectangle", 0xA415 },
1055      { "sysTrapBltRoundedRectangleFill", 0xA416 },
1056      { "sysTrapWinPrvInitCanvas", 0xA417 },
1057      { "sysTrapHwrCalcDynamicHeapSize", 0xA418 },
1058      { "sysTrapHwrDebuggerEnter", 0xA419 },
1059      { "sysTrapHwrDebuggerExit", 0xA41A },
1060      { "sysTrapLstGetTopItem", 0xA41B },
1061      { "sysTrapHwrModelInitStage3", 0xA41C },
1062      { "sysTrapAttnIndicatorAllow", 0xA41D },
1063      { "sysTrapAttnIndicatorAllowed", 0xA41E },
1064      { "sysTrapAttnIndicatorEnable", 0xA41F },
1065      { "sysTrapAttnIndicatorEnabled", 0xA420 },
1066      { "sysTrapAttnIndicatorSetBlinkPattern", 0xA421 },
1067      { "sysTrapAttnIndicatorGetBlinkPattern", 0xA422 },
1068      { "sysTrapAttnIndicatorTicksTillNextBlink", 0xA423 },
1069      { "sysTrapAttnIndicatorCheckBlink", 0xA424 },
1070      { "sysTrapAttnInitialize", 0xA425 },
1071      { "sysTrapAttnGetAttention", 0xA426 },
1072      { "sysTrapAttnUpdate", 0xA427 },
1073      { "sysTrapAttnForgetIt", 0xA428 },
1074      { "sysTrapAttnGetCounts", 0xA429 },
1075      { "sysTrapAttnListOpen", 0xA42A },
1076      { "sysTrapAttnHandleEvent", 0xA42B },
1077      { "sysTrapAttnEffectOfEvent", 0xA42C },
1078      { "sysTrapAttnIterate", 0xA42D },
1079      { "sysTrapAttnDoSpecialEffects", 0xA42E },
1080      { "sysTrapAttnDoEmergencySpecialEffects", 0xA42F },
1081      { "sysTrapAttnAllowClose", 0xA430 },
1082      { "sysTrapAttnReopen", 0xA431 },
1083      { "sysTrapAttnEnableNotification", 0xA432 },
1084      { "sysTrapHwrLEDAttributes", 0xA433 },
1085      { "sysTrapHwrVibrateAttributes", 0xA434 },
1086      { "sysTrapSecGetPwdHint", 0xA435 },
1087      { "sysTrapSecSetPwdHint", 0xA436 },
1088      { "sysTrapHwrFlashWrite", 0xA437 },
1089      { "sysTrapKeyboardStatusNew", 0xA438 },
1090      { "sysTrapKeyboardStatusFree", 0xA439 },
1091      { "sysTrapKbdSetLayout", 0xA43A },
1092      { "sysTrapKbdGetLayout", 0xA43B },
1093      { "sysTrapKbdSetPosition", 0xA43C },
1094      { "sysTrapKbdGetPosition", 0xA43D },
1095      { "sysTrapKbdSetShiftState", 0xA43E },
1096      { "sysTrapKbdGetShiftState", 0xA43F },
1097      { "sysTrapKbdDraw", 0xA440 },
1098      { "sysTrapKbdErase", 0xA441 },
1099      { "sysTrapKbdHandleEvent", 0xA442 },
1100      { "sysTrapOEMDispatch2", 0xA443 },
1101      { "sysTrapHwrCustom", 0xA444 },
1102      { "sysTrapFrmGetActiveField", 0xA445 },
1103      { "sysTrapSndPlaySmfIrregardless", 0xA446 },
1104      { "sysTrapSndPlaySmfResourceIrregardless", 0xA447 },
1105      { "sysTrapSndInterruptSmfIrregardless", 0xA448 },
1106      { "sysTrapUdaMgrDispatch", 0xA449 },
1107      { "sysTrapPalmPrivate1", 0xA44A },
1108      { "sysTrapPalmPrivate2", 0xA44B },
1109      { "sysTrapPalmPrivate3", 0xA44C },
1110      { "sysTrapPalmPrivate4", 0xA44D },
1111      { "sysTrapBmpGetDimensions", 0xA44E },
1112      { "sysTrapBmpGetBitDepth", 0xA44F },
1113      { "sysTrapBmpGetNextBitmap", 0xA450 },
1114      { "sysTrapTblGetNumberOfColumns", 0xA451 },
1115      { "sysTrapTblGetTopRow", 0xA452 },
1116      { "sysTrapTblSetSelection", 0xA453 },
1117      { "sysTrapFrmGetObjectIndexFromPtr", 0xA454 },
1118      { "sysTrapBmpGetSizes", 0xA455 },
1119      { "sysTrapWinGetBounds", 0xA456 },
1120      { "sysTrapBltPaintPixels", 0xA457 },
1121      { "sysTrapFldSetMaxVisibleLines", 0xA458 },
1122      { "sysTrapScrDefaultPaletteState", 0xA459 },
1123      { "sysTrapPceNativeCall", 0xA45A },
1124      { "sysTrapSndStreamCreate", 0xA45B },
1125      { "sysTrapSndStreamDelete", 0xA45C },
1126      { "sysTrapSndStreamStart", 0xA45D },
1127      { "sysTrapSndStreamPause", 0xA45E },
1128      { "sysTrapSndStreamStop", 0xA45F },
1129      { "sysTrapSndStreamSetVolume", 0xA460 },
1130      { "sysTrapSndStreamGetVolume", 0xA461 },
1131      { "sysTrapSndPlayResource", 0xA462 },
1132      { "sysTrapSndStreamSetPan", 0xA463 },
1133      { "sysTrapSndStreamGetPan", 0xA464 },
1134      { "sysTrapMultimediaDispatch", 0xA465 },
1135      { "sysTrapSndStreamCreateExtended", 0xa466 },
1136      { "sysTrapSndStreamDeviceControl", 0xa467 },
1137      { "sysTrapBmpCreateVersion3", 0xA468 },
1138      { "sysTrapECFixedMul", 0xA469 },
1139      { "sysTrapECFixedDiv", 0xA46A },
1140      { "sysTrapHALDrawGetSupportedDensity", 0xA46B },
1141      { "sysTrapHALRedrawInputArea", 0xA46C },
1142      { "sysTrapGrfBeginStroke", 0xA46D },
1143      { "sysTrapBmpPrvConvertBitmap", 0xA46E },
1144      { "sysTrapSysReservedTrap5", 0xA46F },
1145      { "sysTrapPinsDispatch", 0xA470 },
1146      { "sysTrapSysReservedTrap1", 0xA471 },
1147      { "sysTrapSysReservedTrap2", 0xA472 },
1148      { "sysTrapSysReservedTrap3", 0xA473 },
1149      { "sysTrapSysReservedTrap4", 0xA474 },
1150      { "sysTrapLastTrapNumber", 0xA475 }
1151   };
1152
1153   int i;
1154
1155   for (i = 0; i < ARRAY_LENGTH(traps); i++)
1156   {
1157      if (traps[i].trap == opcode)
1158         return traps[i].name;
1159   }
1160   return NULL;
1161}
1162
1163static offs_t palm_dasm_override(device_t &device, char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, int options)
1164{
1165   UINT16 opcode;
1166   unsigned result = 0;
1167   const char *trap;
1168
1169   opcode = *((UINT16 *) oprom);
1170   opcode = ((opcode >> 8) & 0x00ff) | ((opcode << 8) & 0xff00);
1171   if (opcode == 0x4E4F)
1172   {
1173      UINT16 callnum = *((UINT16 *) (oprom + 2));
1174      callnum = ((callnum >> 8) & 0x00ff) | ((callnum << 8) & 0xff00);
1175      trap = lookup_trap(callnum);
1176      result = 2;
1177      if (trap)
1178      {
1179         strcpy(buffer, trap);
1180      }
1181      else
1182      {
1183         sprintf(buffer, "trap    #$f");
1184      }
1185   }
1186   else if ((opcode & 0xF000) == 0xA000)
1187   {
1188      sprintf(buffer, "Call Index: %04x", opcode);
1189      result = 2;
1190   }
1191   return result;
1192}
Property changes on: trunk/src/mess/drivers/palm_dbg.inc
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/mess/drivers/palm.c
r23775r23776
521521COMP( 19??, spt1700,  pilot1k,  0,       palmvx,      palm, driver_device,     0,     "Symbol", "SPT 1700", GAME_NOT_WORKING )
522522COMP( 19??, spt1740,  pilot1k,  0,       palmvx,      palm, driver_device,     0,     "Symbol", "SPT 1740", GAME_NOT_WORKING )
523523
524#include "palm_dbg.c"
524#include "palm_dbg.inc"
trunk/src/mess/machine/nes_unif.c
r23775r23776
1/*****************************************************************************************
2
3    NES MMC Emulation - UNIF boards
4
5    Very preliminary support for UNIF boards
6
7    TODO:
8    - properly support WRAM, etc.
9
10****************************************************************************************/
11
12
13/* Set to generate prg & chr files when the cart is loaded */
14#define SPLIT_PRG   0
15#define SPLIT_CHR   0
16
17
18/*************************************************************
19
20 unif_list
21
22 Supported UNIF boards and corresponding handlers
23
24 *************************************************************/
25
26
27struct unif
28{
29   const char *board; /* UNIF board */
30
31   int nvwram;
32   int wram;
33   int chrram;
34   int board_idx;
35};
36
37
38/* CHRRAM sizes */
39enum
40{
41   CHRRAM_0 = 0,
42   CHRRAM_1,
43   CHRRAM_2,
44   CHRRAM_4,
45   CHRRAM_6,
46   CHRRAM_8,
47   CHRRAM_16,
48   CHRRAM_32
49};
50
51static const unif unif_list[] =
52{
53/*       UNIF                       NVW  WRAM  CRAM     IDX*/
54   { "DREAMTECH01",                0,    0, CHRRAM_8,  DREAMTECH_BOARD},       //UNIF only!
55   { "NES-ANROM",                  0,    0, CHRRAM_8,  STD_AXROM},
56   { "NES-AOROM",                  0,    0, CHRRAM_8,  STD_AXROM},
57   { "NES-CNROM",                  0,    0, CHRRAM_0,  STD_CNROM},
58   { "NES-NROM",                   0,    0, CHRRAM_0,  STD_NROM},
59   { "NES-NROM-128",               0,    0, CHRRAM_0,  STD_NROM},
60   { "NES-NROM-256",               0,    0, CHRRAM_0,  STD_NROM},
61   { "NES-NTBROM",                 8,    0, CHRRAM_0,  SUNSOFT_DCS},
62   { "NES-SLROM",                  0,    0, CHRRAM_0,  STD_SXROM},
63   { "NES-TBROM",                  0,    0, CHRRAM_0,  STD_TXROM},
64   { "NES-TFROM",                  0,    0, CHRRAM_0,  STD_TXROM},
65   { "NES-TKROM",                  8,    0, CHRRAM_0,  STD_TXROM},
66   { "NES-TLROM",                  0,    0, CHRRAM_0,  STD_TXROM},
67   { "NES-UOROM",                  0,    0, CHRRAM_8,  STD_UXROM},
68   { "UNL-22211",                  0,    0, CHRRAM_0,  TXC_22211},
69   // mapper 172 & 173 are variant of this one... no UNIF?
70   { "UNL-KOF97",                  0,    0, CHRRAM_0,  UNL_KOF97},
71   { "UNL-SA-NROM",                0,    0, CHRRAM_0,  SACHEN_TCA01},
72   { "UNL-VRC7",                   0,    0, CHRRAM_0,  KONAMI_VRC7},
73   { "UNL-T-230",                  0,    0, CHRRAM_8,  UNL_T230},
74   { "UNL-CC-21",                  0,    0, CHRRAM_0,  UNL_CC21},
75   { "UNL-AX5705",                 0,    0, CHRRAM_0,  UNL_AX5705},
76   { "UNL-SMB2J",                  8,    8, CHRRAM_0,  UNL_SMB2J},
77   { "UNL-8237",                   0,    0, CHRRAM_0,  UNL_8237},
78   { "UNL-SL1632",                 0,    0, CHRRAM_0,  REXSOFT_SL1632},
79   { "UNL-SACHEN-74LS374N",        0,    0, CHRRAM_0,  SACHEN_74LS374},
80   // mapper 243 variant exists! how to distinguish?!?  mapper243_l_w, NULL, NULL, NULL, NULL, NULL, NULL (also uses NT_VERT!)
81   { "UNL-TC-U01-1.5M",            0,    0, CHRRAM_0,  SACHEN_TCU01},
82   { "UNL-SACHEN-8259C",           0,    0, CHRRAM_0,  SACHEN_8259C},
83   { "UNL-SA-016-1M",              0,    0, CHRRAM_0,  AVE_NINA06},    // actually this is Mapper 146, but works like 79!
84   { "UNL-SACHEN-8259D",           0,    0, CHRRAM_0,  SACHEN_8259D},
85   { "UNL-SA-72007",               0,    0, CHRRAM_0,  SACHEN_SA72007},
86   { "UNL-SA-72008",               0,    0, CHRRAM_0,  SACHEN_SA72008},
87   { "UNL-SA-0037",                0,    0, CHRRAM_0,  SACHEN_SA0037},
88   { "UNL-SA-0036",                0,    0, CHRRAM_0,  SACHEN_SA0036},
89   { "UNL-SA-9602B",               0,    0, CHRRAM_0,  SACHEN_SA9602B},
90   { "UNL-SACHEN-8259A",           0,    0, CHRRAM_0,  SACHEN_8259A},
91   { "UNL-SACHEN-8259B",           0,    0, CHRRAM_0,  SACHEN_8259B},
92   { "BMC-190IN1",                 0,    0, CHRRAM_0,  BMC_190IN1},
93   { "BMC-64IN1NOREPEAT",          0,    0, CHRRAM_0,  BMC_64IN1NR},       //UNIF only!
94   { "BMC-A65AS",                  0,    0, CHRRAM_8,  BMC_A65AS},     //UNIF only!
95   { "BMC-GS-2004",                0,    0, CHRRAM_8,  RCM_GS2004},        //UNIF only!
96   { "BMC-GS-2013",                0,    0, CHRRAM_8,  RCM_GS2013},        //UNIF only!
97   { "BMC-NOVELDIAMOND9999999IN1", 0,    0, CHRRAM_0,  BMC_NOVEL1},
98   { "BMC-SUPER24IN1SC03",         8,    0, CHRRAM_8,  BMC_S24IN1SC03},
99   { "BMC-SUPERHIK8IN1",           8,    0, CHRRAM_0,  BMC_HIK8IN1},
100   { "BMC-T-262",                  0,    0, CHRRAM_8,  BMC_T262},      //UNIF only!
101   { "BMC-WS",                     0,    0, CHRRAM_0,  BMC_WS},        //UNIF only!
102   { "BMC-N625092",                0,    0, CHRRAM_0,  UNL_N625092},
103   // below are boards which are not yet supported, but are used by some UNIF files. they are here as a reminder to what is missing to be added
104   { "UNL-TEK90",                  0,    0, CHRRAM_0,  JYCOMPANY_A}, // JY Company A (is TEK90 the real PCB name?)
105   { "UNL-KS7017",                 0,    0, CHRRAM_0,  KAISER_KS7017},
106   { "UNL-KS7032",                 0,    0, CHRRAM_0,  KAISER_KS7032}, //  mapper 142
107   { "UNL-603-5052",               0,    0, CHRRAM_0,  UNL_603_5052}, // mapper 238?
108   { "UNL-EDU2000",               32,    0, CHRRAM_8,  UNL_EDU2K},
109   { "UNL-H2288",                  0,    0, CHRRAM_0,  UNL_H2288}, // mapper 123
110   { "UNL-SHERO",                  0,    0, CHRRAM_8,  SACHEN_SHERO},
111   { "UNL-YOKO",                   0,    0, CHRRAM_0,  YOKO_BOARD}, // similar to mapper 83, but not the same
112   { "UNL-FS304",                  0,    8, CHRRAM_8,  WAIXING_FS304}, // used in Zelda 3 by Waixing
113   { "UNL-43272",                  0,    0, CHRRAM_0,  UNL_43272}, // used in Gaau Hok Gwong Cheung
114   { "BTL-MARIO1-MALEE2",          0,    0, CHRRAM_0,  UNL_MMALEE}, // mapper 55?
115   { "BMC-FK23C",                  0,    0, CHRRAM_0,  BMC_FK23C},
116   { "BMC-FK23CA",                 0,    0, CHRRAM_0,  BMC_FK23CA},
117   { "BMC-GHOSTBUSTERS63IN1",      0,    0, CHRRAM_8,  BMC_G63IN1 },
118   { "BMC-BS-5",                   0,    0, CHRRAM_0,  BMC_BENSHIENG},
119   { "BMC-810544-C-A1",            0,    0, CHRRAM_0,  BMC_810544},
120   { "BMC-411120-C",               0,    0, CHRRAM_0,  BMC_411120C},
121   { "BMC-8157",                   0,    0, CHRRAM_8,  BMC_8157},
122   { "BMC-830118C",                0,    0, CHRRAM_0,  BMC_830118C},
123   { "BMC-D1038",                  0,    0, CHRRAM_0,  BMC_VT5201}, // mapper 60?
124   { "BMC-SUPERVISION16IN1",       0,    0, CHRRAM_0,  SVISION16_BOARD}, // mapper 53
125   { "BMC-NTD-03",                 0,    0, CHRRAM_0,  BMC_NTD_03},
126   { "UNL-AC08",                   0,    0, CHRRAM_0,  UNL_AC08},
127   { "UNL-BB",                     0,    0, CHRRAM_0,  UNL_BB},
128   { "UNL-LH32",                   0,    0, CHRRAM_0,  UNL_LH32},
129   { "UNL-LH53",                   0,    0, CHRRAM_0,  UNL_LH53},
130   { "BMC-G-146",                  0,    0, CHRRAM_0,  BMC_G146},
131   { "BMC-11160",                  0,    0, CHRRAM_0,  BMC_11160},
132   { "UNL-MALISB",                 0,    0, CHRRAM_0,  UNL_MALISB},
133   { "UNL-TF1201",                 0,    0, CHRRAM_0,  UNL_TF1201},
134   { "BMC-12-IN-1",                0,    0, CHRRAM_0,  UNSUPPORTED_BOARD},
135   { "BMC-70IN1",                  0,    0, CHRRAM_0,  UNSUPPORTED_BOARD}, // mapper 236?
136   { "BMC-70IN1B",                 0,    0, CHRRAM_0,  UNSUPPORTED_BOARD}, // mapper 236?
137   { "BMC-42IN1RESETSWITCH",       0,    0, CHRRAM_0,  UNSUPPORTED_BOARD}, // mapper 60?
138   { "UNL-DANCE",                  0,    0, CHRRAM_0,  UNSUPPORTED_BOARD},
139   { "UNL-DRIPGAME",               0,    0, CHRRAM_0,  UNSUPPORTED_BOARD}, // [by Quietust - we need more info]
140   { "UNL-CITYFIGHT",              0,    0, CHRRAM_0,  UNSUPPORTED_BOARD},
141   { "UNL-OneBus",                 0,    0, CHRRAM_0,  UNSUPPORTED_BOARD}
142};
143
144const unif *nes_unif_lookup( const char *board )
145{
146   int i;
147   for (i = 0; i < ARRAY_LENGTH(unif_list); i++)
148   {
149      if (!mame_stricmp(unif_list[i].board, board))
150         return &unif_list[i];
151   }
152   return NULL;
153}
154
155/*************************************************************
156
157 unif_mapr_setup
158
159 setup the board specific variables (wram, nvwram, pcb_id etc.)
160 for a given board (after reading the MAPR chunk of the UNIF file)
161
162 *************************************************************/
163
164void unif_mapr_setup( const char *board, int *pcb_id, int *battery, int *prgram, int *vram_chunks )
165{
166   const unif *unif_board = nes_unif_lookup(board);
167   if (unif_board == NULL)
168      fatalerror("Unknown UNIF board %s.\n", board);
169
170   *pcb_id = unif_board->board_idx;
171   *battery = unif_board->nvwram;  // we should implement battery banks based on the size of this...
172   *prgram = unif_board->wram; // we should implement WRAM banks based on the size of this...
173
174   if (unif_board->chrram <= CHRRAM_8)
175      *vram_chunks = 1;
176   else if (unif_board->chrram == CHRRAM_16)
177      *vram_chunks = 2;
178   else if (unif_board->chrram == CHRRAM_32)
179      *vram_chunks = 4;
180}
181
182
183/*************************************************************
184
185 call_load_unif
186
187 *************************************************************/
188
189void nes_cart_slot_device::call_load_unif()
190{
191   UINT32 vram_size = 0, prgram_size = 0, battery_size = 0, mapper_sram_size = 0;
192   // SETUP step 1: running through the file and getting PRG, VROM sizes
193   UINT32 unif_ver = 0, chunk_length = 0, read_length = 0x20;
194   UINT32 prg_start = 0, chr_start = 0;
195   UINT32 size = length(), prg_size = 0, vrom_size = 0;
196   UINT8 buffer[4], mirror = 0;
197   char magic2[4];
198   char unif_mapr[32]; // here we should store MAPR chunks
199   bool mapr_chunk_found = FALSE, small_prg = FALSE;
200
201   // allocate space to temporarily store PRG & CHR banks
202   UINT8 *temp_prg = auto_alloc_array(machine(), UINT8, 256 * 0x4000);
203   UINT8 *temp_chr = auto_alloc_array(machine(), UINT8, 256 * 0x2000);
204   UINT8 temp_byte = 0;
205
206   fseek(4, SEEK_SET);
207   fread(&buffer, 4);
208   unif_ver = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
209   logerror("Loaded game in UNIF format, version %d\n", unif_ver);
210
211   do
212   {
213      fseek(read_length, SEEK_SET);
214
215      memset(magic2, '\0', sizeof(magic2));
216      fread(&magic2, 4);
217
218      /* We first run through the whole image to find a [MAPR] chunk. This is needed
219       because, unfortunately, the MAPR chunk is not always the first chunk (see
220       Super 24-in-1). When such a chunk is found, we set mapr_chunk_found=1 and
221       we go back to load other chunks! */
222      if (!mapr_chunk_found)
223      {
224         if ((magic2[0] == 'M') && (magic2[1] == 'A') && (magic2[2] == 'P') && (magic2[3] == 'R'))
225         {
226            mapr_chunk_found = TRUE;
227            logerror("[MAPR] chunk found: ");
228            fread(&buffer, 4);
229            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
230
231            if (chunk_length <= 0x20)
232               fread(&unif_mapr, chunk_length);
233            logerror("%s\n", unif_mapr);
234
235            /* now that we found the MAPR chunk, we can go back to load other chunks */
236            fseek(0x20, SEEK_SET);
237            read_length = 0x20;
238         }
239         else
240         {
241            logerror("Skip this chunk. We need a [MAPR] chunk before anything else.\n");
242            fread(&buffer, 4);
243            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
244
245            read_length += (chunk_length + 8);
246         }
247      }
248      else
249      {
250         /* What kind of chunk do we have here? */
251         if ((magic2[0] == 'M') && (magic2[1] == 'A') && (magic2[2] == 'P') && (magic2[3] == 'R'))
252         {
253            /* The [MAPR] chunk has already been read, so we skip it */
254            /* TO DO: it would be nice to check if more than one MAPR chunk is present */
255            logerror("[MAPR] chunk found (in the 2nd run). Already loaded.\n");
256            fread(&buffer, 4);
257            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
258
259            read_length += (chunk_length + 8);
260         }
261         else if ((magic2[0] == 'R') && (magic2[1] == 'E') && (magic2[2] == 'A') && (magic2[3] == 'D'))
262         {
263            logerror("[READ] chunk found. No support yet.\n");
264            fread(&buffer, 4);
265            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
266
267            read_length += (chunk_length + 8);
268         }
269         else if ((magic2[0] == 'N') && (magic2[1] == 'A') && (magic2[2] == 'M') && (magic2[3] == 'E'))
270         {
271            logerror("[NAME] chunk found. No support yet.\n");
272            fread(&buffer, 4);
273            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
274
275            read_length += (chunk_length + 8);
276         }
277         else if ((magic2[0] == 'W') && (magic2[1] == 'R') && (magic2[2] == 'T') && (magic2[3] == 'R'))
278         {
279            logerror("[WRTR] chunk found. No support yet.\n");
280            fread(&buffer, 4);
281            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
282
283            read_length += (chunk_length + 8);
284         }
285         else if ((magic2[0] == 'T') && (magic2[1] == 'V') && (magic2[2] == 'C') && (magic2[3] == 'I'))
286         {
287            logerror("[TVCI] chunk found.\n");
288            fread(&buffer, 4);
289            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
290
291            fread(&temp_byte, 1);
292            logerror("Television Standard : %s\n", (temp_byte == 0) ? "NTSC" : (temp_byte == 1) ? "PAL" : "Does not matter");
293
294            read_length += (chunk_length + 8);
295         }
296         else if ((magic2[0] == 'T') && (magic2[1] == 'V') && (magic2[2] == 'S') && (magic2[3] == 'C')) // is this the same as TVCI??
297         {
298            logerror("[TVSC] chunk found. No support yet.\n");
299            fread(&buffer, 4);
300            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
301
302            read_length += (chunk_length + 8);
303         }
304         else if ((magic2[0] == 'D') && (magic2[1] == 'I') && (magic2[2] == 'N') && (magic2[3] == 'F'))
305         {
306            logerror("[DINF] chunk found. No support yet.\n");
307            fread(&buffer, 4);
308            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
309
310            read_length += (chunk_length + 8);
311         }
312         else if ((magic2[0] == 'C') && (magic2[1] == 'T') && (magic2[2] == 'R') && (magic2[3] == 'L'))
313         {
314            logerror("[CTRL] chunk found. No support yet.\n");
315            fread(&buffer, 4);
316            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
317
318            read_length += (chunk_length + 8);
319         }
320         else if ((magic2[0] == 'B') && (magic2[1] == 'A') && (magic2[2] == 'T') && (magic2[3] == 'R'))
321         {
322            logerror("[BATR] chunk found. No support yet.\n");
323            fread(&buffer, 4);
324            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
325
326            read_length += (chunk_length + 8);
327         }
328         else if ((magic2[0] == 'V') && (magic2[1] == 'R') && (magic2[2] == 'O') && (magic2[3] == 'R'))
329         {
330            logerror("[VROR] chunk found. No support yet.\n");
331            fread(&buffer, 4);
332            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
333
334            read_length += (chunk_length + 8);
335         }
336         else if ((magic2[0] == 'M') && (magic2[1] == 'I') && (magic2[2] == 'R') && (magic2[3] == 'R'))
337         {
338            logerror("[MIRR] chunk found.\n");
339            fread(&buffer, 4);
340            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
341
342            fread(&mirror, 1);
343
344            read_length += (chunk_length + 8);
345         }
346         else if ((magic2[0] == 'P') && (magic2[1] == 'C') && (magic2[2] == 'K'))
347         {
348            logerror("[PCK%c] chunk found. No support yet.\n", magic2[3]);
349            fread(&buffer, 4);
350            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
351
352            read_length += (chunk_length + 8);
353         }
354         else if ((magic2[0] == 'C') && (magic2[1] == 'C') && (magic2[2] == 'K'))
355         {
356            logerror("[CCK%c] chunk found. No support yet.\n", magic2[3]);
357            fread(&buffer, 4);
358            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
359
360            read_length += (chunk_length + 8);
361         }
362         else if ((magic2[0] == 'P') && (magic2[1] == 'R') && (magic2[2] == 'G'))
363         {
364            logerror("[PRG%c] chunk found. ", magic2[3]);
365            fread(&buffer, 4);
366            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
367            prg_size += chunk_length;
368
369            if (chunk_length / 0x4000)
370               logerror("It consists of %d 16K-blocks.\n", chunk_length / 0x4000);
371            else
372            {
373               small_prg = TRUE;
374               logerror("This chunk is smaller than 16K: the emulation might have issues. Please report this file to the MESS forums.\n");
375            }
376
377            /* Read in the program chunks */
378            fread(&temp_prg[prg_start], chunk_length);
379
380            prg_start += chunk_length;
381            read_length += (chunk_length + 8);
382         }
383         else if ((magic2[0] == 'C') && (magic2[1] == 'H') && (magic2[2] == 'R'))
384         {
385            logerror("[CHR%c] chunk found. ", magic2[3]);
386            fread(&buffer, 4);
387            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
388            vrom_size += chunk_length;
389
390            logerror("It consists of %d 8K-blocks.\n", chunk_length / 0x2000);
391
392            /* Read in the vrom chunks */
393            fread(&temp_chr[chr_start], chunk_length);
394
395            chr_start += chunk_length;
396            read_length += (chunk_length + 8);
397         }
398         else
399         {
400            logerror("Unsupported UNIF chunk or corrupted header. Please report the problem at MESS Board.\n");
401            read_length = size;
402         }
403      }
404   } while (size > read_length);
405
406   if (!mapr_chunk_found)
407   {
408      auto_free(machine(), temp_prg);
409      auto_free(machine(), temp_chr);
410      fatalerror("UNIF should have a [MAPR] chunk to work. Check if your image has been corrupted\n");
411   }
412
413   if (!prg_start)
414   {
415      auto_free(machine(), temp_prg);
416      auto_free(machine(), temp_chr);
417      fatalerror("No PRG found. Please report the problem at MESS Board.\n");
418   }
419
420   // SETUP step 2: getting PCB and other settings
421   int pcb_id = 0, battery = 0, prgram = 0, vram_chunks = 0;
422   unif_mapr_setup(unif_mapr, &pcb_id, &battery, &prgram, &vram_chunks);
423
424   // SETUP step 3: storing the info needed for emulation
425   m_pcb_id = pcb_id;
426   if (battery)
427      battery_size = NES_BATTERY_SIZE; // we should allow for smaller battery!
428   prgram_size = prgram * 0x2000;
429   vram_size = vram_chunks * 0x2000;
430
431   m_cart->set_four_screen_vram(FALSE);
432   switch (mirror)
433   {
434      case 0: // Horizontal Mirroring (Hard Wired)
435         m_cart->set_mirroring(PPU_MIRROR_HORZ);
436         break;
437      case 1: // Vertical Mirroring (Hard Wired)
438         m_cart->set_mirroring(PPU_MIRROR_VERT);
439         break;
440      case 2: // Mirror All Pages From $2000 (Hard Wired)
441         m_cart->set_mirroring(PPU_MIRROR_LOW);
442         break;
443      case 3: // Mirror All Pages From $2400 (Hard Wired)
444         m_cart->set_mirroring(PPU_MIRROR_HIGH);
445         break;
446      case 4: // Four Screens of VRAM (Hard Wired)
447         m_cart->set_four_screen_vram(TRUE);
448         m_cart->set_mirroring(PPU_MIRROR_4SCREEN);
449         break;
450      case 5: // Mirroring Controlled By Mapper Hardware
451         logerror("Mirroring handled by the board hardware.\n");
452         // default to horizontal at start
453         m_cart->set_mirroring(PPU_MIRROR_HORZ);
454         break;
455      default:
456         logerror("Undocumented mirroring value.\n");
457         // default to horizontal
458         m_cart->set_mirroring(PPU_MIRROR_HORZ);
459         break;
460   }
461
462   // SETUP step 4: logging what we have found
463   logerror("-- Board %s\n", unif_mapr);
464   logerror("-- PRG 0x%x (%d x 16k chunks)\n", prg_size, prg_size / 0x4000);
465   logerror("-- VROM 0x%x (%d x 8k chunks)\n", vrom_size, vrom_size / 0x2000);
466   logerror("-- VRAM 0x%x (%d x 8k chunks)\n", vram_size, vram_size / 0x2000);
467
468   // SETUP steps 5/6: allocate pointers for PRG/VROM and load the data!
469   if (prg_size == 0x4000)
470   {
471      m_cart->prg_alloc(machine(), 0x8000);
472      memcpy(m_cart->get_prg_base(), temp_prg, 0x4000);
473      memcpy(m_cart->get_prg_base() + 0x4000, m_cart->get_prg_base(), 0x4000);
474   }
475   else
476   {
477      m_cart->prg_alloc(machine(), prg_size);
478      memcpy(m_cart->get_prg_base(), temp_prg, prg_size);
479   }
480
481   if (small_prg)  // This is not supported yet, so warn users about this
482      mame_printf_error("Loaded UNIF file with non-16k PRG chunk. This is not supported in MESS yet.");
483
484   if (vrom_size)
485   {
486      m_cart->vrom_alloc(machine(), vrom_size);
487      memcpy(m_cart->get_vrom_base(), temp_chr, vrom_size);
488   }
489
490#if SPLIT_PRG
491   {
492      FILE *prgout;
493      char outname[255];
494
495      sprintf(outname, "%s.prg", filename());
496      prgout = fopen(outname, "wb");
497      if (prgout)
498      {
499         fwrite(m_cart->get_prg_base(), 1, 0x4000 * m_cart->get_prg_size(), prgout);
500         mame_printf_error("Created PRG chunk\n");
501      }
502
503      fclose(prgout);
504   }
505#endif
506
507#if SPLIT_CHR
508   if (state->m_chr_chunks > 0)
509   {
510      FILE *chrout;
511      char outname[255];
512
513      sprintf(outname, "%s.chr", filename());
514      chrout= fopen(outname, "wb");
515      if (chrout)
516      {
517         fwrite(m_cart->get_vrom_base(), 1, m_cart->get_vrom_size(), chrout);
518         mame_printf_error("Created CHR chunk\n");
519      }
520      fclose(chrout);
521   }
522#endif
523   // free the temporary copy of PRG/CHR
524   auto_free(machine(), temp_prg);
525   auto_free(machine(), temp_chr);
526
527   // SETUP steps 7: allocate the remaining pointer, when needed
528   if (vram_size)
529      m_cart->vram_alloc(machine(), vram_size);
530   if (prgram_size)
531      m_cart->prgram_alloc(machine(), prgram_size);
532
533   // Attempt to load a battery file for this ROM
534   // A few boards have internal RAM with a battery (MMC6, Taito X1-005 & X1-017, etc.)
535   if (battery_size || mapper_sram_size)
536   {
537      UINT32 tot_size = battery_size + mapper_sram_size;
538      UINT8 *temp_nvram = auto_alloc_array(machine(), UINT8, tot_size);
539      battery_load(temp_nvram, tot_size, 0x00);
540      if (battery_size)
541      {
542         m_cart->battery_alloc(machine(), battery_size);
543         memcpy(m_cart->get_battery_base(), temp_nvram, battery_size);
544      }
545      if (mapper_sram_size)
546         memcpy(m_cart->get_mapper_sram_base(), temp_nvram + battery_size, mapper_sram_size);
547
548      if (temp_nvram)
549         auto_free(machine(), temp_nvram);
550   }
551
552   logerror("UNIF support is only very preliminary.\n");
553}
554
555const char * nes_cart_slot_device::get_default_card_unif(UINT8 *ROM, UINT32 len)
556{
557   UINT32 chunk_length = 0, read_length = 0x20;
558   int pcb_id = 0, battery = 0, prgram = 0, vram_chunks = 0;
559   char unif_mapr[32];
560
561   do
562   {
563      if ((ROM[read_length + 0] == 'M') && (ROM[read_length + 1] == 'A') && (ROM[read_length + 2] == 'P') && (ROM[read_length + 3] == 'R'))
564      {
565         chunk_length = ROM[read_length + 4] | (ROM[read_length + 5] << 8) | (ROM[read_length + 6] << 16) | (ROM[read_length + 7] << 24);
566
567         if (chunk_length <= 0x20)
568            memcpy(unif_mapr, ROM + read_length + 8, chunk_length);
569
570         read_length += (chunk_length + 8);
571      }
572      else
573      {
574         chunk_length = ROM[read_length + 4] | (ROM[read_length + 5] << 8) | (ROM[read_length + 6] << 16) | (ROM[read_length + 7] << 24);
575         read_length += (chunk_length + 8);
576      }
577   } while (len > read_length);
578
579   unif_mapr_setup(unif_mapr, &pcb_id, &battery, &prgram, &vram_chunks);
580
581   return nes_get_slot(pcb_id);
582}
trunk/src/mess/machine/cx4ops.c
r23775r23776
1/***************************************************************************
2
3    cx4ops.c
4
5    Code based on original work by zsKnight, anomie and Nach.
6    This implementation is based on C++ "cx4*.cpp" by byuu
7    (up to date with source v 0.49).
8
9***************************************************************************/
10
11//Sprite Functions
12static void CX4_op00(running_machine& machine)
13{
14   switch(cx4.reg[0x4d])
15   {
16      case 0x00: CX4_op00_00(machine); break;
17      case 0x03: CX4_op00_03(); break;
18      case 0x05: CX4_op00_05(machine); break;
19      case 0x07: CX4_op00_07(); break;
20      case 0x08: CX4_op00_08(machine); break;
21      case 0x0b: CX4_op00_0b(machine); break;
22      case 0x0c: CX4_op00_0c(machine); break;
23   }
24}
25
26//Draw Wireframe
27static void CX4_op01(running_machine& machine)
28{
29   memset(cx4.ram + 0x300, 0, 2304);
30   CX4_C4DrawWireFrame(machine);
31}
32
33//Propulsion
34static void CX4_op05(running_machine &machine)
35{
36   INT32 temp = 0x10000;
37   if(CX4_readw(0x1f83))
38   {
39      temp = CX4_sar((temp / CX4_readw(0x1f83)) * CX4_readw(0x1f81), 8);
40   }
41   CX4_writew(machine, 0x1f80, temp);
42}
43
44//Set Vector length
45static void CX4_op0d(running_machine &machine)
46{
47   cx4.C41FXVal    = CX4_readw(0x1f80);
48   cx4.C41FYVal    = CX4_readw(0x1f83);
49   cx4.C41FDistVal = CX4_readw(0x1f86);
50   cx4.tanval = sqrt(((double)cx4.C41FYVal) * ((double)cx4.C41FYVal) + ((double)cx4.C41FXVal) * ((double)cx4.C41FXVal));
51   cx4.tanval = (double)cx4.C41FDistVal / cx4.tanval;
52   cx4.C41FYVal = (INT16)(((double)cx4.C41FYVal * cx4.tanval) * 0.99);
53   cx4.C41FXVal = (INT16)(((double)cx4.C41FXVal * cx4.tanval) * 0.98);
54   CX4_writew(machine, 0x1f89, cx4.C41FXVal);
55   CX4_writew(machine, 0x1f8c, cx4.C41FYVal);
56}
57
58//Triangle
59static void CX4_op10(void)
60{
61   cx4.r0 = CX4_ldr(0);
62   cx4.r1 = CX4_ldr(1);
63
64   cx4.r4 = cx4.r0 & 0x1ff;
65   if(cx4.r1 & 0x8000)
66   {
67      cx4.r1 |= ~0x7fff;
68   }
69
70   CX4_mul(CX4_cos(cx4.r4), cx4.r1, &cx4.r5, &cx4.r2);
71   cx4.r5 = (cx4.r5 >> 16) & 0xff;
72   cx4.r2 = (cx4.r2 << 8) + cx4.r5;
73
74   CX4_mul(CX4_sin(cx4.r4), cx4.r1, &cx4.r5, &cx4.r3);
75   cx4.r5 = (cx4.r5 >> 16) & 0xff;
76   cx4.r3 = (cx4.r3 << 8) + cx4.r5;
77
78   CX4_str(0, cx4.r0);
79   CX4_str(1, cx4.r1);
80   CX4_str(2, cx4.r2);
81   CX4_str(3, cx4.r3);
82   CX4_str(4, cx4.r4);
83   CX4_str(5, cx4.r5);
84}
85
86//Triangle
87static void CX4_op13(void)
88{
89   cx4.r0 = CX4_ldr(0);
90   cx4.r1 = CX4_ldr(1);
91
92   cx4.r4 = cx4.r0 & 0x1ff;
93
94   CX4_mul(CX4_cos(cx4.r4), cx4.r1, &cx4.r5, &cx4.r2);
95   cx4.r5 = (cx4.r5 >> 8) & 0xffff;
96   cx4.r2 = (cx4.r2 << 16) + cx4.r5;
97
98   CX4_mul(CX4_sin(cx4.r4), cx4.r1, &cx4.r5, &cx4.r3);
99   cx4.r5 = (cx4.r5 >> 8) & 0xffff;
100   cx4.r3 = (cx4.r3 << 16) + cx4.r5;
101
102   CX4_str(0, cx4.r0);
103   CX4_str(1, cx4.r1);
104   CX4_str(2, cx4.r2);
105   CX4_str(3, cx4.r3);
106   CX4_str(4, cx4.r4);
107   CX4_str(5, cx4.r5);
108}
109
110//Pythagorean
111static void CX4_op15(running_machine &machine)
112{
113   double temp = 0.0;
114   cx4.C41FXVal = CX4_readw(0x1f80);
115   cx4.C41FYVal = CX4_readw(0x1f83);
116   temp = sqrt((double)cx4.C41FXVal * (double)cx4.C41FXVal + (double)cx4.C41FYVal * (double)cx4.C41FYVal);
117   cx4.C41FDist = (INT16)temp;
118   CX4_writew(machine, 0x1f80, cx4.C41FDist);
119}
120
121//Calculate distance
122static void CX4_op1f(running_machine &machine)
123{
124   cx4.C41FXVal = CX4_readw(0x1f80);
125   cx4.C41FYVal = CX4_readw(0x1f83);
126   if(!cx4.C41FXVal)
127   {
128      cx4.C41FAngleRes = (cx4.C41FYVal > 0) ? 0x080 : 0x180;
129   }
130   else
131   {
132      cx4.tanval = ((double)cx4.C41FYVal) / ((double)cx4.C41FXVal);
133      cx4.C41FAngleRes = (INT16)(atan(cx4.tanval) / (PI * 2) * 512);
134      cx4.C41FAngleRes = cx4.C41FAngleRes;
135      if(cx4.C41FXVal < 0)
136      {
137         cx4.C41FAngleRes += 0x100;
138      }
139      cx4.C41FAngleRes &= 0x1ff;
140   }
141   CX4_writew(machine, 0x1f86, cx4.C41FAngleRes);
142}
143
144//Trapezoid
145static void CX4_op22(void)
146{
147   INT16 angle1 = CX4_readw(0x1f8c) & 0x1ff;
148   INT16 angle2 = CX4_readw(0x1f8f) & 0x1ff;
149   INT32 tan1 = CX4_Tan(angle1);
150   INT32 tan2 = CX4_Tan(angle2);
151   INT16 y = CX4_readw(0x1f83) - CX4_readw(0x1f89);
152   INT16 left, right;
153   INT32 j;
154
155   for(j = 0; j < 225; j++, y++)
156   {
157      if(y >= 0)
158      {
159         left  = CX4_sar((INT32)tan1 * y, 16) - CX4_readw(0x1f80) + CX4_readw(0x1f86);
160         right = CX4_sar((INT32)tan2 * y, 16) - CX4_readw(0x1f80) + CX4_readw(0x1f86) + CX4_readw(0x1f93);
161
162         if(left < 0 && right < 0)
163         {
164            left  = 1;
165            right = 0;
166         }
167         else if(left < 0)
168         {
169            left  = 0;
170         }
171         else if(right < 0)
172         {
173            right = 0;
174         }
175
176         if(left > 255 && right > 255)
177         {
178            left  = 255;
179            right = 254;
180         }
181         else if(left > 255)
182         {
183            left  = 255;
184         }
185         else if(right > 255)
186         {
187            right = 255;
188         }
189      }
190      else
191      {
192         left  = 1;
193         right = 0;
194      }
195      cx4.ram[j + 0x800] = (UINT8)left;
196      cx4.ram[j + 0x900] = (UINT8)right;
197   }
198}
199
200//Multiply
201static void CX4_op25(void)
202{
203   cx4.r0 = CX4_ldr(0);
204   cx4.r1 = CX4_ldr(1);
205   CX4_mul(cx4.r0, cx4.r1, &cx4.r0, &cx4.r1);
206   CX4_str(0, cx4.r0);
207   CX4_str(1, cx4.r1);
208}
209
210//Transform Coords
211static void CX4_op2d(running_machine &machine)
212{
213   cx4.C4WFXVal  = CX4_readw(0x1f81);
214   cx4.C4WFYVal  = CX4_readw(0x1f84);
215   cx4.C4WFZVal  = CX4_readw(0x1f87);
216   cx4.C4WFX2Val = CX4_read (0x1f89);
217   cx4.C4WFY2Val = CX4_read (0x1f8a);
218   cx4.C4WFDist  = CX4_read (0x1f8b);
219   cx4.C4WFScale = CX4_readw(0x1f90);
220   CX4_C4TransfWireFrame2();
221   CX4_writew(machine, 0x1f80, cx4.C4WFXVal);
222   CX4_writew(machine, 0x1f83, cx4.C4WFYVal);
223}
224
225//Sum
226static void CX4_op40(void)
227{
228   UINT32 i;
229   cx4.r0 = 0;
230   for(i=0;i<0x800;i++)
231   {
232      cx4.r0 += cx4.ram[i];
233   }
234   CX4_str(0, cx4.r0);
235}
236
237//Square
238static void CX4_op54(void)
239{
240   cx4.r0 = CX4_ldr(0);
241   CX4_mul(cx4.r0, cx4.r0, &cx4.r1, &cx4.r2);
242   CX4_str(1, cx4.r1);
243   CX4_str(2, cx4.r2);
244}
245
246//Immediate Register
247static void CX4_op5c(void)
248{
249   CX4_str(0, 0x000000);
250   CX4_immediate_reg(0);
251}
252
253//Immediate Register (Multiple)
254static void CX4_op5e(void) { CX4_immediate_reg( 0); }
255static void CX4_op60(void) { CX4_immediate_reg( 3); }
256static void CX4_op62(void) { CX4_immediate_reg( 6); }
257static void CX4_op64(void) { CX4_immediate_reg( 9); }
258static void CX4_op66(void) { CX4_immediate_reg(12); }
259static void CX4_op68(void) { CX4_immediate_reg(15); }
260static void CX4_op6a(void) { CX4_immediate_reg(18); }
261static void CX4_op6c(void) { CX4_immediate_reg(21); }
262static void CX4_op6e(void) { CX4_immediate_reg(24); }
263static void CX4_op70(void) { CX4_immediate_reg(27); }
264static void CX4_op72(void) { CX4_immediate_reg(30); }
265static void CX4_op74(void) { CX4_immediate_reg(33); }
266static void CX4_op76(void) { CX4_immediate_reg(36); }
267static void CX4_op78(void) { CX4_immediate_reg(39); }
268static void CX4_op7a(void) { CX4_immediate_reg(42); }
269static void CX4_op7c(void) { CX4_immediate_reg(45); }
270
271//Immediate ROM
272static void CX4_op89(void)
273{
274   CX4_str(0, 0x054336);
275   CX4_str(1, 0xffffff);
276}
trunk/src/mess/machine/cx4data.c
r23775r23776
1/***************************************************************************
2
3    cx4data.c
4
5    Code based on original work by zsKnight, anomie and Nach.
6    This implementation is based on C++ "cx4*.cpp" by byuu
7    (up to date with source v 0.49).
8
9***************************************************************************/
10
11static const UINT8 CX4_immediate_data[48] =
12{
13   0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
14   0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x80, 0xff, 0xff, 0x7f,
15   0x00, 0x80, 0x00, 0xff, 0x7f, 0x00, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0xff,
16   0x00, 0x00, 0x01, 0xff, 0xff, 0xfe, 0x00, 0x01, 0x00, 0xff, 0xfe, 0x00
17};
18
19static const UINT16 CX4_wave_data[40] =
20{
21   0x0000, 0x0002, 0x0004, 0x0006, 0x0008, 0x000a, 0x000c, 0x000e,
22   0x0200, 0x0202, 0x0204, 0x0206, 0x0208, 0x020a, 0x020c, 0x020e,
23   0x0400, 0x0402, 0x0404, 0x0406, 0x0408, 0x040a, 0x040c, 0x040e,
24   0x0600, 0x0602, 0x0604, 0x0606, 0x0608, 0x060a, 0x060c, 0x060e,
25   0x0800, 0x0802, 0x0804, 0x0806, 0x0808, 0x080a, 0x080c, 0x080e
26};
27
28static const UINT32 CX4_sin_table[256] =
29{
30   0x000000, 0x000324, 0x000648, 0x00096c, 0x000c8f, 0x000fb2, 0x0012d5, 0x0015f6,
31   0x001917, 0x001c37, 0x001f56, 0x002273, 0x002590, 0x0028aa, 0x002bc4, 0x002edb,
32   0x0031f1, 0x003505, 0x003817, 0x003b26, 0x003e33, 0x00413e, 0x004447, 0x00474d,
33   0x004a50, 0x004d50, 0x00504d, 0x005347, 0x00563e, 0x005931, 0x005c22, 0x005f0e,
34   0x0061f7, 0x0064dc, 0x0067bd, 0x006a9b, 0x006d74, 0x007049, 0x007319, 0x0075e5,
35   0x0078ad, 0x007b70, 0x007e2e, 0x0080e7, 0x00839c, 0x00864b, 0x0088f5, 0x008b9a,
36   0x008e39, 0x0090d3, 0x009368, 0x0095f6, 0x00987f, 0x009b02, 0x009d7f, 0x009ff6,
37   0x00a267, 0x00a4d2, 0x00a736, 0x00a994, 0x00abeb, 0x00ae3b, 0x00b085, 0x00b2c8,
38   0x00b504, 0x00b73a, 0x00b968, 0x00bb8f, 0x00bdae, 0x00bfc7, 0x00c1d8, 0x00c3e2,
39   0x00c5e4, 0x00c7de, 0x00c9d1, 0x00cbbb, 0x00cd9f, 0x00cf7a, 0x00d14d, 0x00d318,
40   0x00d4db, 0x00d695, 0x00d848, 0x00d9f2, 0x00db94, 0x00dd2d, 0x00debe, 0x00e046,
41   0x00e1c5, 0x00e33c, 0x00e4aa, 0x00e60f, 0x00e76b, 0x00e8bf, 0x00ea09, 0x00eb4b,
42   0x00ec83, 0x00edb2, 0x00eed8, 0x00eff5, 0x00f109, 0x00f213, 0x00f314, 0x00f40b,
43   0x00f4fa, 0x00f5de, 0x00f6ba, 0x00f78b, 0x00f853, 0x00f912, 0x00f9c7, 0x00fa73,
44   0x00fb14, 0x00fbac, 0x00fc3b, 0x00fcbf, 0x00fd3a, 0x00fdab, 0x00fe13, 0x00fe70,
45   0x00fec4, 0x00ff0e, 0x00ff4e, 0x00ff84, 0x00ffb1, 0x00ffd3, 0x00ffec, 0x00fffb,
46   0x000000, 0xfffcdb, 0xfff9b7, 0xfff693, 0xfff370, 0xfff04d, 0xffed2a, 0xffea09,
47   0xffe6e8, 0xffe3c8, 0xffe0a9, 0xffdd8c, 0xffda6f, 0xffd755, 0xffd43b, 0xffd124,
48   0xffce0e, 0xffcafa, 0xffc7e8, 0xffc4d9, 0xffc1cc, 0xffbec1, 0xffbbb8, 0xffb8b2,
49   0xffb5af, 0xffb2af, 0xffafb2, 0xffacb8, 0xffa9c1, 0xffa6ce, 0xffa3dd, 0xffa0f1,
50   0xff9e08, 0xff9b23, 0xff9842, 0xff9564, 0xff928b, 0xff8fb6, 0xff8ce6, 0xff8a1a,
51   0xff8752, 0xff848f, 0xff81d1, 0xff7f18, 0xff7c63, 0xff79b4, 0xff770a, 0xff7465,
52   0xff71c6, 0xff6f2c, 0xff6c97, 0xff6a09, 0xff6780, 0xff64fd, 0xff6280, 0xff6009,
53   0xff5d98, 0xff5b2d, 0xff58c9, 0xff566b, 0xff5414, 0xff51c4, 0xff4f7a, 0xff4d37,
54   0xff4afb, 0xff48c5, 0xff4697, 0xff4470, 0xff4251, 0xff4038, 0xff3e27, 0xff3c1e,
55   0xff3a1b, 0xff3821, 0xff362e, 0xff3444, 0xff3260, 0xff3085, 0xff2eb2, 0xff2ce7,
56   0xff2b24, 0xff296a, 0xff27b7, 0xff260d, 0xff246b, 0xff22d2, 0xff2141, 0xff1fb9,
57   0xff1e3a, 0xff1cc3, 0xff1b55, 0xff19f0, 0xff1894, 0xff1740, 0xff15f6, 0xff14b4,
58   0xff137c, 0xff124d, 0xff1127, 0xff100a, 0xff0ef6, 0xff0dec, 0xff0ceb, 0xff0bf4,
59   0xff0b05, 0xff0a21, 0xff0945, 0xff0874, 0xff07ac, 0xff06ed, 0xff0638, 0xff058d,
60   0xff04eb, 0xff0453, 0xff03c4, 0xff0340, 0xff02c5, 0xff0254, 0xff01ec, 0xff018f,
61   0xff013b, 0xff00f1, 0xff00b1, 0xff007b, 0xff004e, 0xff002c, 0xff0013, 0xff0004
62};
63
64static const INT16 CX4_SinTable[512] =
65{
66         0,   402,    804,   1206,    1607,   2009,   2410,   2811,
67      3211,    3611,   4011,   4409,   4808,   5205,   5602,   5997,
68      6392,    6786,   7179,   7571,   7961,   8351,   8739,   9126,
69      9512,    9896,  10278,  10659,  11039,  11416,  11793,  12167,
70      12539,  12910,  13278,  13645,  14010,  14372,  14732,  15090,
71      15446,  15800,  16151,  16499,  16846,  17189,  17530,  17869,
72      18204,  18537,  18868,  19195,  19519,  19841,  20159,  20475,
73      20787,  21097,  21403,  21706,  22005,  22301,  22594,  22884,
74      23170,  23453,  23732,  24007,  24279,  24547,  24812,  25073,
75      25330,  25583,  25832,  26077,  26319,  26557,  26790,  27020,
76      27245,  27466,  27684,  27897,  28106,  28310,  28511,  28707,
77      28898,  29086,  29269,  29447,  29621,  29791,  29956,  30117,
78      30273,  30425,  30572,  30714,  30852,  30985,  31114,  31237,
79      31357,  31471,  31581,  31685,  31785,  31881,  31971,  32057,
80      32138,  32214,  32285,  32351,  32413,  32469,  32521,  32568,
81      32610,  32647,  32679,  32706,  32728,  32745,  32758,  32765,
82      32767,  32765,  32758,  32745,  32728,  32706,  32679,  32647,
83      32610,  32568,  32521,  32469,  32413,  32351,  32285,  32214,
84      32138,  32057,  31971,  31881,  31785,  31685,  31581,  31471,
85      31357,  31237,  31114,  30985,  30852,  30714,  30572,  30425,
86      30273,  30117,  29956,  29791,  29621,  29447,  29269,  29086,
87      28898,  28707,  28511,  28310,  28106,  27897,  27684,  27466,
88      27245,  27020,  26790,  26557,  26319,  26077,  25832,  25583,
89      25330,  25073,  24812,  24547,  24279,  24007,  23732,  23453,
90      23170,  22884,  22594,  22301,  22005,  21706,  21403,  21097,
91      20787,  20475,  20159,  19841,  19519,  19195,  18868,  18537,
92      18204,  17869,  17530,  17189,  16846,  16499,  16151,  15800,
93      15446,  15090,  14732,  14372,  14010,  13645,  13278,  12910,
94      12539,  12167,  11793,  11416,  11039,  10659,  10278,   9896,
95      9512,    9126,   8739,   8351,   7961,   7571,   7179,   6786,
96      6392,    5997,   5602,   5205,   4808,   4409,   4011,   3611,
97      3211,    2811,   2410,   2009,   1607,   1206,    804,    402,
98         0,   -402,   -804,  -1206,  -1607,  -2009,  -2410,  -2811,
99      -3211,  -3611,  -4011,  -4409,  -4808,  -5205,  -5602,  -5997,
100      -6392,  -6786,  -7179,  -7571,  -7961,  -8351,  -8739,  -9126,
101      -9512,  -9896,  -10278, -10659, -11039, -11416, -11793, -12167,
102   -12539, -12910, -13278, -13645, -14010, -14372, -14732, -15090,
103   -15446, -15800, -16151, -16499, -16846, -17189, -17530, -17869,
104   -18204, -18537, -18868, -19195, -19519, -19841, -20159, -20475,
105   -20787, -21097, -21403, -21706, -22005, -22301, -22594, -22884,
106   -23170, -23453, -23732, -24007, -24279, -24547, -24812, -25073,
107   -25330, -25583, -25832, -26077, -26319, -26557, -26790, -27020,
108   -27245, -27466, -27684, -27897, -28106, -28310, -28511, -28707,
109   -28898, -29086, -29269, -29447, -29621, -29791, -29956, -30117,
110   -30273, -30425, -30572, -30714, -30852, -30985, -31114, -31237,
111   -31357, -31471, -31581, -31685, -31785, -31881, -31971, -32057,
112   -32138, -32214, -32285, -32351, -32413, -32469, -32521, -32568,
113   -32610, -32647, -32679, -32706, -32728, -32745, -32758, -32765,
114   -32767, -32765, -32758, -32745, -32728, -32706, -32679, -32647,
115   -32610, -32568, -32521, -32469, -32413, -32351, -32285, -32214,
116   -32138, -32057, -31971, -31881, -31785, -31685, -31581, -31471,
117   -31357, -31237, -31114, -30985, -30852, -30714, -30572, -30425,
118   -30273, -30117, -29956, -29791, -29621, -29447, -29269, -29086,
119   -28898, -28707, -28511, -28310, -28106, -27897, -27684, -27466,
120   -27245, -27020, -26790, -26557, -26319, -26077, -25832, -25583,
121   -25330, -25073, -24812, -24547, -24279, -24007, -23732, -23453,
122   -23170, -22884, -22594, -22301, -22005, -21706, -21403, -21097,
123   -20787, -20475, -20159, -19841, -19519, -19195, -18868, -18537,
124   -18204, -17869, -17530, -17189, -16846, -16499, -16151, -15800,
125   -15446, -15090, -14732, -14372, -14010, -13645, -13278, -12910,
126   -12539, -12167, -11793, -11416, -11039, -10659, -10278, -9896,
127      -9512,  -9126,  -8739,  -8351,  -7961,  -7571,  -7179,  -6786,
128      -6392,  -5997,  -5602,  -5205,  -4808,  -4409,  -4011,  -3611,
129      -3211,  -2811,  -2410,  -2009,  -1607,  -1206,   -804,   -402
130};
131
132static const INT16 CX4_CosTable[512] =
133{
134      32767,  32765,  32758,  32745,  32728,  32706,  32679,  32647,
135      32610,  32568,  32521,  32469,  32413,  32351,  32285,  32214,
136      32138,  32057,  31971,  31881,  31785,  31685,  31581,  31471,
137      31357,  31237,  31114,  30985,  30852,  30714,  30572,  30425,
138      30273,  30117,  29956,  29791,  29621,  29447,  29269,  29086,
139      28898,  28707,  28511,  28310,  28106,  27897,  27684,  27466,
140      27245,  27020,  26790,  26557,  26319,  26077,  25832,  25583,
141      25330,  25073,  24812,  24547,  24279,  24007,  23732,  23453,
142      23170,  22884,  22594,  22301,  22005,  21706,  21403,  21097,
143      20787,  20475,  20159,  19841,  19519,  19195,  18868,  18537,
144      18204,  17869,  17530,  17189,  16846,  16499,  16151,  15800,
145      15446,  15090,  14732,  14372,  14010,  13645,  13278,  12910,
146      12539,  12167,  11793,  11416,  11039,  10659,  10278,   9896,
147      9512,    9126,   8739,   8351,   7961,   7571,   7179,   6786,
148      6392,    5997,   5602,   5205,   4808,   4409,   4011,   3611,
149      3211,    2811,   2410,   2009,   1607,   1206,    804,    402,
150         0,   -402,   -804,  -1206,  -1607,  -2009,  -2410,  -2811,
151      -3211,  -3611,  -4011,  -4409,  -4808,  -5205,  -5602,  -5997,
152      -6392,  -6786,  -7179,  -7571,  -7961,  -8351,  -8739,  -9126,
153      -9512,  -9896, -10278, -10659, -11039, -11416, -11793, -12167,
154   -12539, -12910, -13278, -13645, -14010, -14372, -14732, -15090,
155   -15446, -15800, -16151, -16499, -16846, -17189, -17530, -17869,
156   -18204, -18537, -18868, -19195, -19519, -19841, -20159, -20475,
157   -20787, -21097, -21403, -21706, -22005, -22301, -22594, -22884,
158   -23170, -23453, -23732, -24007, -24279, -24547, -24812, -25073,
159   -25330, -25583, -25832, -26077, -26319, -26557, -26790, -27020,
160   -27245, -27466, -27684, -27897, -28106, -28310, -28511, -28707,
161   -28898, -29086, -29269, -29447, -29621, -29791, -29956, -30117,
162   -30273, -30425, -30572, -30714, -30852, -30985, -31114, -31237,
163   -31357, -31471, -31581, -31685, -31785, -31881, -31971, -32057,
164   -32138, -32214, -32285, -32351, -32413, -32469, -32521, -32568,
165   -32610, -32647, -32679, -32706, -32728, -32745, -32758, -32765,
166   -32767, -32765, -32758, -32745, -32728, -32706, -32679, -32647,
167   -32610, -32568, -32521, -32469, -32413, -32351, -32285, -32214,
168   -32138, -32057, -31971, -31881, -31785, -31685, -31581, -31471,
169   -31357, -31237, -31114, -30985, -30852, -30714, -30572, -30425,
170   -30273, -30117, -29956, -29791, -29621, -29447, -29269, -29086,
171   -28898, -28707, -28511, -28310, -28106, -27897, -27684, -27466,
172   -27245, -27020, -26790, -26557, -26319, -26077, -25832, -25583,
173   -25330, -25073, -24812, -24547, -24279, -24007, -23732, -23453,
174   -23170, -22884, -22594, -22301, -22005, -21706, -21403, -21097,
175   -20787, -20475, -20159, -19841, -19519, -19195, -18868, -18537,
176   -18204, -17869, -17530, -17189, -16846, -16499, -16151, -15800,
177   -15446, -15090, -14732, -14372, -14010, -13645, -13278, -12910,
178   -12539, -12167, -11793, -11416, -11039, -10659, -10278, -9896,
179      -9512,  -9126,  -8739,  -8351,  -7961,  -7571,  -7179,  -6786,
180      -6392,  -5997,  -5602,  -5205,  -4808,  -4409,  -4011,  -3611,
181      -3211,  -2811,  -2410,  -2009,  -1607,  -1206,   -804,   -402,
182         0,    402,    804,   1206,   1607,   2009,   2410,   2811,
183      3211,    3611,   4011,   4409,   4808,   5205,   5602,   5997,
184      6392,    6786,   7179,   7571,   7961,   8351,   8739,   9126,
185      9512,    9896,  10278,  10659,  11039,  11416,  11793,  12167,
186      12539,  12910,  13278,  13645,  14010,  14372,  14732,  15090,
187      15446,  15800,  16151,  16499,  16846,  17189,  17530,  17869,
188      18204,  18537,  18868,  19195,  19519,  19841,  20159,  20475,
189      20787,  21097,  21403,  21706,  22005,  22301,  22594,  22884,
190      23170,  23453,  23732,  24007,  24279,  24547,  24812,  25073,
191      25330,  25583,  25832,  26077,  26319,  26557,  26790,  27020,
192      27245,  27466,  27684,  27897,  28106,  28310,  28511,  28707,
193      28898,  29086,  29269,  29447,  29621,  29791,  29956,  30117,
194      30273,  30425,  30572,  30714,  30852,  30985,  31114,  31237,
195      31357,  31471,  31581,  31685,  31785,  31881,  31971,  32057,
196      32138,  32214,  32285,  32351,  32413,  32469,  32521,  32568,
197      32610,  32647,  32679,  32706,  32728,  32745,  32758,  32765
198};
trunk/src/mess/machine/nes_pcb.c
r23775r23776
1/*****************************************************************************************
2
3    NES Cart PCBs Emulation
4
5****************************************************************************************/
6
7struct nes_pcb
8{
9   const char              *slot_opt;
10   int                     pcb_id;
11};
12
13// Here, we take the feature attribute from .xml (i.e. the PCB name) and we assign a unique ID to it
14static const nes_pcb pcb_list[] =
15{
16   { "nrom",             STD_NROM },
17   { "hvc_basic",        HVC_FAMBASIC },
18   { "nrom_gg",          GG_NROM },
19   { "uxrom",            STD_UXROM },
20   { "unrom_cc",         UXROM_CC },
21   { "cnrom",            STD_CNROM },
22   { "bandai_pt554",     BANDAI_PT554 },
23   { "cprom",            STD_CPROM },
24   { "axrom",            STD_AXROM },
25   { "pxrom",            STD_PXROM },
26   { "fxrom",            STD_FXROM },
27   { "bnrom",            STD_BXROM },
28   { "gxrom",            STD_GXROM },
29   { "un1rom",           STD_UN1ROM },
30   { "sxrom",            STD_SXROM },
31   { "sorom",            STD_SOROM },
32   { "sxrom_a",          STD_SXROM_A },
33   { "sorom_a",          STD_SOROM_A },
34   { "txrom",            STD_TXROM },
35   { "hkrom",            STD_HKROM },
36   { "tqrom",            STD_TQROM },
37   { "txsrom",           STD_TXSROM },
38   { "exrom",            STD_EXROM },
39   { "pal_zz",           PAL_ZZ },
40   { "nes_qj",           NES_QJ },
41   { "nes_event",        STD_EVENT },
42   { "discrete_74x139",  DIS_74X139X74 },
43   { "discrete_74x377",  DIS_74X377 },
44   { "discrete_74x161",  DIS_74X161X161X32 },
45   { "bitcorp_dis",      DIS_74X161X138 },
46   { "lz93d50",          BANDAI_LZ93 },
47   { "lz93d50_ep1",      BANDAI_LZ93EX1 },
48   { "lz93d50_ep2",      BANDAI_LZ93EX2 },
49   { "fcg",              BANDAI_FCG },
50   { "fjump2",           BANDAI_FJUMP2 },
51   { "datach",           BANDAI_DATACH },
52   { "karastudio",       BANDAI_KARAOKE },
53   { "oekakids",         BANDAI_OEKAKIDS },
54   { "g101",             IREM_G101 },
55   { "lrog017",          IREM_LROG017 },
56   { "h3001",            IREM_H3001 },
57   { "holydivr",         IREM_HOLYDIVR },
58   { "tam_s1",           IREM_TAM_S1 },
59   { "jf11",             JALECO_JF11 },
60   { "jf13",             JALECO_JF13 },
61   { "jf16",             JALECO_JF16 },
62   { "jf17",             JALECO_JF17 },
63   { "jf17pcm",          JALECO_JF17_ADPCM },
64   { "jf19",             JALECO_JF19 },
65   { "jf19pcm",          JALECO_JF19_ADPCM },
66   { "ss88006",          JALECO_SS88006 },
67   { "jf23",             JALECO_JF23 },
68   { "jf24",             JALECO_JF24 },
69   { "jf29",             JALECO_JF29 },
70   { "jf33",             JALECO_JF33 },
71   { "vrc1",             KONAMI_VRC1 },
72   { "vrc2",             KONAMI_VRC2 },
73   { "vrc3",             KONAMI_VRC3 },
74   { "vrc4",             KONAMI_VRC4 },
75   { "vrc6",             KONAMI_VRC6 },
76   { "vrc7",             KONAMI_VRC7 },
77   { "namcot_163",       NAMCOT_163 },
78   { "namcot_175",       NAMCOT_175 },
79   { "namcot_340",       NAMCOT_340 },
80   { "namcot_3433",      NAMCOT_34X3 },    // DxROM is a Nintendo board for US versions of the 3433/3443 games
81   { "namcot_3425",      NAMCOT_3425 },
82   { "namcot_3446",      NAMCOT_3446 },
83   { "sunsoft1",         SUNSOFT_1 },
84   { "sunsoft2",         SUNSOFT_2 },
85   { "sunsoft3",         SUNSOFT_3 },
86   { "sunsoft4",         SUNSOFT_4 },
87   { "sunsoft_dcs",      SUNSOFT_DCS },
88   { "sunsoft_fme7",     SUNSOFT_FME7 },  // JxROM is a Nintendo board for US versions of the Sunsoft FME7 games
89   { "sunsoft5a",        SUNSOFT_FME7 },
90   { "sunsoft5b",        SUNSOFT_5 },
91   { "tc0190fmc",        TAITO_TC0190FMC },
92   { "tc0190fmcp",       TAITO_TC0190FMCP },
93   { "tc0350fmr",        TAITO_TC0190FMC },
94   { "x1_005",           TAITO_X1_005 },    // two variants exist, depending on pin17 & pin31 connections
95   { "x1_017",           TAITO_X1_017 },
96   { "nina001",          AVE_NINA01 },
97   { "nina006",          AVE_NINA06 },
98   { "maxi15",           AVE_MAXI15 },
99   { "bf9093",           CAMERICA_BF9093 },
100   { "bf9096",           CAMERICA_BF9096 },
101   { "goldenfive",       CAMERICA_GOLDENFIVE },
102   { "cne_decathl",      CNE_DECATHLON },
103   { "cne_fsb",          CNE_FSB },
104   { "cne_shlz",         CNE_SHLZ },
105   { "nanjing",          NANJING_BOARD },  // mapper 163
106   { "ntdec_asder",      NTDEC_ASDER },    // mapper 112
107   { "ntdec_fh",         NTDEC_FIGHTINGHERO },     // mapper 193
108   { "sa009",            SACHEN_SA009 },
109   { "sa0036",           SACHEN_SA0036 },
110   { "sa0037",           SACHEN_SA0037 },
111   { "sa72007",          SACHEN_SA72007 },
112   { "sa72008",          SACHEN_SA72008 },
113   { "tca01",            SACHEN_TCA01 },
114   { "s8259a",           SACHEN_8259A },
115   { "s8259b",           SACHEN_8259B },
116   { "s8259c",           SACHEN_8259C },
117   { "s8259d",           SACHEN_8259D },
118   { "s74x374",          SACHEN_74LS374 },
119   { "s74x374a",         SACHEN_74LS374_ALT },   /* FIXME: Made up boards some different handling */
120   { "tcu01",            SACHEN_TCU01 },
121   { "tcu02",            SACHEN_TCU02 },
122   { "sa9602b",          SACHEN_SA9602B },
123   { "tengen_800008",    TENGEN_800008 },  /* FIXME: Is this the same as mapper 3? */
124   { "tengen_800032",    TENGEN_800032 },
125   { "tengen_800037",    TENGEN_800037 },
126   { "txc_22211",        TXC_22211 },
127   { "txc_dumarc",       TXC_DUMARACING },
128   { "txc_mjblock",      TXC_MJBLOCK },
129   { "txc_strikew",      TXC_STRIKEW },
130   { "txc_commandos",    TXC_COMMANDOS },
131   { "waixing_a",        WAIXING_TYPE_A },
132   { "waixing_a1",       WAIXING_TYPE_A1 },    /* FIXME: Made up boards the different CHRRAM banks (see Ji Jia Zhan Shi },  */
133   { "waixing_b",        WAIXING_TYPE_B },
134   { "waixing_c",        WAIXING_TYPE_C },
135   { "waixing_d",        WAIXING_TYPE_D },
136   { "waixing_e",        WAIXING_TYPE_E },
137   { "waixing_f",        WAIXING_TYPE_F },
138   { "waixing_g",        WAIXING_TYPE_G },
139   { "waixing_h",        WAIXING_TYPE_H },
140   { "waixing_h1",       WAIXING_TYPE_H1 },
141   { "waixing_i",        WAIXING_TYPE_I },
142   { "waixing_j",        WAIXING_TYPE_J },
143   { "waixing_sgz",      WAIXING_SGZ },
144   { "waixing_sgzlz",    WAIXING_SGZLZ },
145   { "waixing_sec",      WAIXING_SECURITY },
146   { "waixing_ffv",      WAIXING_FFV },
147   { "waixing_wxzs",     WAIXING_WXZS },
148   { "waixing_wxzs2",    WAIXING_WXZS2 },
149   { "waixing_dq8",      WAIXING_DQ8 },
150   { "waixing_sh2",      WAIXING_SH2 },
151   { "fs304",            WAIXING_FS304 },   // used in Zelda 3 by Waixing
152   { "cony",             CONY_BOARD },
153   { "yoko",             YOKO_BOARD },
154   { "hengg_srich",      HENGG_SRICH },
155   { "hengg_xhzs",       HENGG_XHZS },
156   { "hengg_shjy3",      HENGG_SHJY3 },    // mapper 253
157   { "hes",              HES_BOARD },
158   { "hosenkan",         HOSENKAN_BOARD },
159   { "ks7058",           KAISER_KS7058 },
160   { "ks202",            KAISER_KS202 },   // mapper 56
161   { "ks7022",           KAISER_KS7022 }, // mapper 175
162   { "ks7017",           KAISER_KS7017 },
163   { "ks7032",           KAISER_KS7032 },  //  mapper 142
164   { "ks7031",           KAISER_KS7031 },  //  used in Dracula II (FDS Conversion)
165   { "ks7012",           KAISER_KS7012 },     // used in Zanac (FDS Conversion)
166   { "ks7013b",          KAISER_KS7013B },    // used in Highway Star (FDS Conversion)
167   { "gs2015",           RCM_GS2015 },
168   { "gs2004",           RCM_GS2004 },
169   { "gs2013",           RCM_GS2013 },
170   { "tf9in1",           RCM_TF9IN1 },
171   { "3dblock",          RCM_3DBLOCK },    // NROM + IRQ?
172   { "racermate",        UNL_RACERMATE },  // mapper 168
173   { "agci_50282",       AGCI_50282 },
174   { "dreamtech01",      DREAMTECH_BOARD },
175   { "fukutake",         FUKUTAKE_BOARD },
176   { "futuremedia",      FUTUREMEDIA_BOARD },
177   { "magicseries",      MAGICSERIES_MD },
178   { "daou_306",         OPENCORP_DAOU306 },
179   { "subor0",           SUBOR_TYPE0 },
180   { "subor1",           SUBOR_TYPE1 },
181   { "cc21",             UNL_CC21 },
182   { "xiaozy",           UNL_XIAOZY },
183   { "edu2k",            UNL_EDU2K },
184   { "t230",             UNL_T230 },
185   { "mk2",              UNL_MK2 },
186   // misc bootleg boards
187   { "ax5705",           UNL_AX5705 },
188   { "sc127",            UNL_SC127 },
189   { "mariobaby",        BTL_MARIOBABY },
190   { "asnicol",          BTL_AISENSHINICOL },
191   { "smb3pirate",       BTL_SMB3 },
192   { "btl_dninja",       BTL_DRAGONNINJA },
193   { "whirl2706",        WHIRLWIND_2706 },
194   { "smb2j",            UNL_SMB2J },
195   { "smb2ja",           BTL_SMB2JA },
196   { "smb2jb",           BTL_SMB2JB },
197   { "09034a",           BTL_09034A },
198   { "tobidase",         BTL_TOBIDASE },  // mapper 120
199   { "dbz5",             REXSOFT_DBZ5 },
200   { "sl1632",           REXSOFT_SL1632 },
201   { "somari",           SOMARI_SL12 },  // mapper 116
202   { "nitra",            NITRA_TDA },
203   { "ks7057",           UNL_KS7057 },  // mapper 196 alt (for Street Fighter VI / Fight Street VI },
204   { "sbros11",          BTL_SBROS11 },
205   { "family4646",       BMC_FAMILY_4646 },
206   { "pikay2k",          BTL_PIKACHUY2K },  // mapper 254
207   { "8237",             UNL_8237 },
208   { "sg_lionk",         SUPERGAME_LIONKING },
209   { "sg_boog",          SUPERGAME_BOOGERMAN },
210   { "kasing",           KASING_BOARD },
211   { "kay",              KAY_BOARD },
212   { "h2288",            UNL_H2288 },
213   { "unl_6035052",      UNL_603_5052 },   // mapper 238?
214   { "txc_tw",           TXC_TW },
215   { "kof97",            UNL_KOF97 },
216   { "kof96",            UNL_KOF96 },
217   { "sfight3",          UNL_SF3 },
218   { "gouder",           GOUDER_37017 },
219   { "benshieng",        BMC_BENSHIENG },
220   { "action52",         ACTENT_ACT52 },
221   { "caltron6in1",      CALTRON_6IN1 },
222   { "rumblestation",    RUMBLESTATION_BOARD },     // mapper 46
223   { "svision16",        SVISION16_BOARD },
224   { "n625092",          UNL_N625092 },
225   { "a65as",            BMC_A65AS },
226   { "t262",             BMC_T262 },
227   { "novel1",           BMC_NOVEL1 },
228   { "novel2",           BMC_NOVEL2 },  // mapper 213... same as BMC-NOVELDIAMOND9999999IN1 board?
229   { "studyngame",       UNL_STUDYNGAME },  // mapper 39
230   { "sgun20in1",        BMC_SUPERGUN_20IN1 },
231   { "bmc_vt5201",       BMC_VT5201 },  // mapper 60 otherwise
232   { "bmc_d1038",        BMC_VT5201 },  // mapper 60?
233   { "810544c",          BMC_810544 },
234   { "ntd03",            BMC_NTD_03 },
235   { "bmc_gb63",         BMC_G63IN1 },
236   { "bmc_gka",          BMC_GKA },
237   { "bmc_gkb",          BMC_GKB },
238   { "bmc_ws",           BMC_WS },
239   { "bmc_hik300",       BMC_SUPERHIK_300IN1 },
240   { "bmc_s700",         BMC_SUPER_700IN1 },
241   { "bmc_ball11",       BMC_BALLGAMES_11IN1 },
242   { "bmc_22games",      BMC_22GAMES },
243   { "bmc_64y2k",        BMC_64IN1NR },
244   { "bmc_12in1",        BMC_12IN1 },
245   { "bmc_20in1",        BMC_20IN1 },
246   { "bmc_21in1",        BMC_21IN1 },
247   { "bmc_31in1",        BMC_31IN1 },
248   { "bmc_35in1",        BMC_35IN1 },
249   { "bmc_36in1",        BMC_36IN1 },
250   { "bmc_64in1",        BMC_64IN1 },
251   { "bmc_70in1",        BMC_70IN1 },
252   { "bmc_72in1",        BMC_72IN1 },
253   { "bmc_76in1",        BMC_76IN1 },
254   { "bmc_s42in1",       BMC_76IN1 },
255   { "bmc_110in1",       BMC_110IN1 },
256   { "bmc_150in1",       BMC_150IN1 },
257   { "bmc_190in1",       BMC_190IN1 },
258   { "bmc_800in1",       BMC_800IN1 },
259   { "bmc_1200in1",      BMC_1200IN1 },
260   { "bmc_8157",         BMC_8157 },
261   { "bmc_g146",         BMC_G146 },
262   { "bmc_11160",        BMC_11160 },
263   { "fk23c",            BMC_FK23C },
264   { "fk23ca",           BMC_FK23CA },
265   { "s24in1c03",        BMC_S24IN1SC03 },
266   { "bmc_15in1",        BMC_15IN1 },
267   { "bmc_sbig7in1",     BMC_SUPERBIG_7IN1 },
268   { "bmc_hik8in1",      BMC_HIK8IN1 },
269   { "bmc_hik4in1",      BMC_SUPERHIK_4IN1 },
270   { "bmc_mario7in1",    BMC_MARIOPARTY_7IN1 },
271   { "bmc_gold7in1",     BMC_GOLD_7IN1 },
272   { "bmc_gc6in1",       BMC_GOLDENCARD_6IN1 },
273   { "bmc_411120c",      BMC_411120C },
274   { "bmc_830118c",      BMC_830118C },
275   { "pjoy84",           BMC_PJOY84 },
276   { "bmc_gold150",      BMC_GOLD150 },
277   { "bmc_gold260",      BMC_GOLD260 },
278   { "bmc_power255",     BMC_CH001 },
279   { "bmc_s22games",     BMC_SUPER22 },
280   { "bmc_reset4",       BMC_4IN1RESET },
281   { "bmc_reset42",      BMC_42IN1RESET },
282   { "jyc_a",            JYCOMPANY_A },
283   { "jyc_b",            JYCOMPANY_B },
284   { "jyc_c",            JYCOMPANY_C },
285   { "tek90",            JYCOMPANY_A },
286   { "sa9602b",          SACHEN_SA9602B },
287   { "unl_shero",        SACHEN_SHERO },
288   { "mmalee2",          UNL_MMALEE },
289   { "unl_2708",         UNL_2708 },
290   { "unl_lh10",         UNL_LH10 },
291   { "unl_lh32",         UNL_LH32 },
292   { "unl_lh53",         UNL_LH53 },
293   { "unl_ac08",         UNL_AC08 },
294   { "unl_bb",           UNL_BB },
295   { "unl_malisb",       UNL_MALISB },
296   { "sgpipe",           BTL_SHUIGUAN },
297   { "unl_whero",        UNL_WORLDHERO },
298   { "unl_43272",        UNL_43272 },
299   { "tf1201",           UNL_TF1201 },
300   { "unl_cfight",       UNL_CITYFIGHT },
301   { "ffe3",             FFE3_BOARD },
302   { "ffe4",             FFE4_BOARD },
303   { "ffe8",             FFE8_BOARD },
304   { "8237a",            UNSUPPORTED_BOARD },
305   { "ninjaryu",         UNSUPPORTED_BOARD },
306   { "unl_dance",        UNSUPPORTED_BOARD },
307   { "bmc_hik_kof",      UNSUPPORTED_BOARD },
308   { "onebus",           UNSUPPORTED_BOARD },
309   { "a9746",            UNSUPPORTED_BOARD },
310   { "test",             TEST_BOARD },
311   { "unknown",          UNKNOWN_BOARD }  //  a few pirate dumps uses the wrong mapper...
312};
313
314static const nes_pcb *nes_pcb_lookup( const char *slot )
315{
316   for (int i = 0; i < ARRAY_LENGTH(pcb_list); i++)
317   {
318      if (!mame_stricmp(pcb_list[i].slot_opt, slot))
319         return &pcb_list[i];
320   }
321   return NULL;
322}
323
324static const nes_pcb *nes_id_lookup( int id )
325{
326   for (int i = 0; i < ARRAY_LENGTH(pcb_list); i++)
327   {
328      if (pcb_list[i].pcb_id == id)
329         return &pcb_list[i];
330   }
331   return NULL;
332}
333
334int nes_cart_slot_device::nes_get_pcb_id( const char *slot )
335{
336   const nes_pcb *pcb = nes_pcb_lookup(slot);
337
338   if (pcb == NULL)
339      fatalerror("Unimplemented PCB type %s\n", slot);
340
341   return pcb->pcb_id;
342}
343
344
345const char * nes_cart_slot_device::nes_get_slot( int pcb_id )
346{
347   const nes_pcb *pcb = nes_id_lookup(pcb_id);
348
349   if (pcb == NULL)
350      fatalerror("Unimplemented PCB ID %d\n", pcb_id);
351
352   return pcb->slot_opt;
353}
354
355
356/*************************************************************
357
358 nes_pcb_reset
359
360 Resets the mmc bankswitch areas to their defaults.
361 It returns a value "err" that indicates if it was
362 successful. Possible values for err are:
363
364 0 = success
365 1 = no pcb found
366 2 = pcb not supported
367
368 *************************************************************/
369
370struct nes_cart_lines
371{
372   const char *tag;
373   int line;
374};
375
376static const struct nes_cart_lines nes_cart_lines_table[] =
377{
378   { "PRG A0",    0 },
379   { "PRG A1",    1 },
380   { "PRG A2",    2 },
381   { "PRG A3",    3 },
382   { "PRG A4",    4 },
383   { "PRG A5",    5 },
384   { "PRG A6",    6 },
385   { "PRG A7",    7 },
386   { "CHR A10",  10 },
387   { "CHR A11",  11 },
388   { "CHR A12",  12 },
389   { "CHR A13",  13 },
390   { "CHR A14",  14 },
391   { "CHR A15",  15 },
392   { "CHR A16",  16 },
393   { "CHR A17",  17 },
394   { "NC",      127 },
395   { 0 }
396};
397
398static int nes_cart_get_line( const char *feature )
399{
400   const struct nes_cart_lines *nes_line = &nes_cart_lines_table[0];
401
402   if (feature == NULL)
403      return 128;
404
405   while (nes_line->tag)
406   {
407      if (strcmp(nes_line->tag, feature) == 0)
408         break;
409
410      nes_line++;
411   }
412
413   return nes_line->line;
414}
415
416void nes_cart_slot_device::call_load_pcb()
417{
418   UINT32 vram_size = 0, prgram_size = 0, battery_size = 0, mapper_sram_size = 0;
419   // SETUP step 1: getting PRG, VROM, VRAM sizes
420   UINT32 prg_size = get_software_region_length("prg");
421   UINT32 vrom_size = get_software_region_length("chr");
422   vram_size = get_software_region_length("vram");
423   vram_size += get_software_region_length("vram2");
424
425   // validate the xml fields
426   if (!prg_size)
427      fatalerror("No PRG entry for this software! Please check if the xml list got corrupted\n");
428   if (prg_size < 0x8000)
429      fatalerror("PRG entry is too small! Please check if the xml list got corrupted\n");
430
431   // SETUP step 2: getting PCB and other settings
432   if (get_feature("slot"))
433      m_pcb_id = nes_get_pcb_id(get_feature("slot"));
434   else
435      m_pcb_id = NO_BOARD;
436
437   // SETUP step 3: storing the info needed for emulation
438   if (get_software_region("bwram") != NULL)
439      battery_size = get_software_region_length("bwram");
440
441   if (m_pcb_id == BANDAI_LZ93EX1 || m_pcb_id == BANDAI_LZ93EX2)
442   {
443      // allocate the 24C01 or 24C02 EEPROM
444      battery_size += 0x2000;
445   }
446
447   if (m_pcb_id == BANDAI_DATACH)
448   {
449      // allocate the 24C01 and 24C02 EEPROM
450      battery_size += 0x4000;
451   }
452
453   if (get_software_region("wram") != NULL)
454      prgram_size = get_software_region_length("wram");
455
456   if (get_feature("mirroring"))
457   {
458      const char *mirroring = get_feature("mirroring");
459      if (!strcmp(mirroring, "horizontal"))
460         m_cart->set_mirroring(PPU_MIRROR_HORZ);
461      if (!strcmp(mirroring, "vertical"))
462         m_cart->set_mirroring(PPU_MIRROR_VERT);
463      if (!strcmp(mirroring, "high"))
464         m_cart->set_mirroring(PPU_MIRROR_HIGH);
465      if (!strcmp(mirroring, "low"))
466         m_cart->set_mirroring(PPU_MIRROR_LOW);
467      if (!strcmp(mirroring, "4screen"))
468      {
469         // A few boards uses 4-screen mirroring: Gauntlet (DDROM or TRR1ROM or Tengen 800004),
470         // Rad Racer II (TVROM), and Napoleon Senki (IREM LROG017 with 74*161/161/21/138)
471         m_cart->set_four_screen_vram(TRUE);
472         m_cart->set_mirroring(PPU_MIRROR_4SCREEN);
473      }
474      if (!strcmp(mirroring, "pcb_controlled"))
475      {
476         // A few boards have variants with hardcoded mirroring and variants with mapper
477         // controlled mirroring. We use a variable to avoid the need of dupe devices.
478         // See e.g. HES 6-in-1 vs other HES games, Irem Major League vs other G-101 games,
479         // Sunsoft-2 Shanghai vs Mito Koumon, Camerica BF9093 games vs BF9097 games, etc.
480         // Boards where all games control mirroring do not make real use of this.
481         m_cart->set_pcb_ctrl_mirror(TRUE);
482      }
483   }
484
485   /* Check for pins in specific boards which require them */
486   if (m_pcb_id == STD_CNROM)
487   {
488      int mask = 0, state = 0;
489
490      if (get_feature("chr-pin26") != NULL)
491      {
492         mask |= 0x01;
493         state |= !strcmp(get_feature("chr-pin26"), "CE") ? 0x01 : 0;
494      }
495      if (get_feature("chr-pin27") != NULL)
496      {
497         mask |= 0x02;
498         state |= !strcmp(get_feature("chr-pin27"), "CE") ? 0x02 : 0;
499      }
500
501      m_cart->set_ce(mask, state);
502   }
503
504   if (m_pcb_id == TAITO_X1_005 && get_feature("x1-pin17") != NULL && get_feature("x1-pin31") != NULL)
505   {
506      if (!strcmp(get_feature("x1-pin17"), "CIRAM A10") && !strcmp(get_feature("x1-pin31"), "NC"))
507         m_cart->set_x1_005_alt(TRUE);
508   }
509
510   if (m_pcb_id == KONAMI_VRC2)
511   {
512      m_cart->set_vrc_lines(nes_cart_get_line(get_feature("vrc2-pin3")),
513                  nes_cart_get_line(get_feature("vrc2-pin4")),
514                  (nes_cart_get_line(get_feature("vrc2-pin21")) != 10) ? 1 : 0);
515//      mame_printf_error("VRC-2, pin3: A%d, pin4: A%d, pin21: %d\n", nes_cart_get_line(get_feature("vrc2-pin3")), nes_cart_get_line(get_feature("vrc2-pin4")),
516//                              nes_cart_get_line(get_feature("vrc2-pin21")));
517   }
518
519   if (m_pcb_id == KONAMI_VRC4)
520   {
521      m_cart->set_vrc_lines(nes_cart_get_line(get_feature("vrc4-pin3")),
522                  nes_cart_get_line(get_feature("vrc4-pin4")),
523                  0);
524//      mame_printf_error("VRC-4, pin3: A%d, pin4: A%d\n", nes_cart_get_line(get_feature("vrc4-pin3"), nes_cart_get_line(get_feature("vrc4-pin4"));
525   }
526
527   if (m_pcb_id == KONAMI_VRC6)
528   {
529      m_cart->set_vrc_lines(nes_cart_get_line(get_feature("vrc6-pin9")),
530                  nes_cart_get_line(get_feature("vrc6-pin10")),
531                  0);
532//      mame_printf_error("VRC-6, pin9: A%d, pin10: A%d\n", nes_cart_get_line(get_feature("vrc6-pin9"), nes_cart_get_line(get_feature("vrc6-pin10"));
533   }
534
535   if (m_pcb_id == STD_HKROM || m_pcb_id == TAITO_X1_017)
536      mapper_sram_size = m_cart->get_mapper_sram_size();
537
538   if (m_pcb_id == TAITO_X1_005 || m_pcb_id == NAMCOT_163)
539   {
540      if (get_feature("batt"))
541         mapper_sram_size = m_cart->get_mapper_sram_size();
542   }
543
544
545   // pirate variants of boards with bus conflict are often not suffering from it
546   // and actually games glitch if bus conflict is emulated...
547   if (get_feature("bus_conflict") && !strcmp(get_feature("bus_conflict"), "no"))
548      m_cart->set_bus_conflict(FALSE);
549
550
551   // SETUP step 4: logging what we have found
552   logerror("Loaded game from softlist:\n");
553   logerror("-- PCB: %s", get_feature("pcb"));
554   if (m_pcb_id == UNSUPPORTED_BOARD)
555      logerror(" (currently not supported by MESS)");
556   logerror("\n-- PRG 0x%x (%d x 16k chunks)\n", prg_size, prg_size / 0x4000);
557   logerror("-- VROM 0x%x (%d x 8k chunks)\n", vrom_size, vrom_size / 0x2000);
558   logerror("-- VRAM 0x%x (%d x 8k chunks)\n", vram_size, vram_size / 0x2000);
559   logerror("-- PRG NVWRAM: %d\n", m_cart->get_battery_size());
560   logerror("-- PRG WRAM: %d\n",  m_cart->get_prgram_size());
561
562   // SETUP steps 5/6: allocate pointers for PRG/VROM and load the data!
563   m_cart->prg_alloc(machine(), prg_size);
564   memcpy(m_cart->get_prg_base(), get_software_region("prg"), prg_size);
565   if (vrom_size)
566   {
567      m_cart->vrom_alloc(machine(), vrom_size);
568      memcpy(m_cart->get_vrom_base(), get_software_region("chr"), vrom_size);
569   }
570
571   // SETUP steps 7: allocate the remaining pointer, when needed
572   if (vram_size)
573      m_cart->vram_alloc(machine(), vram_size);
574   if (prgram_size)
575      m_cart->prgram_alloc(machine(), prgram_size);
576
577   // also nes_smb2j_device needs WRAM initialized to 0xff? check!
578   if (m_pcb_id == UNL_SMB2J)
579      memset(m_cart->get_prgram_base(), 0xff, prgram_size);
580
581   // Attempt to load a battery file for this ROM
582   // A few boards have internal RAM with a battery (MMC6, Taito X1-005 & X1-017, etc.)
583   if (battery_size || mapper_sram_size)
584   {
585      UINT32 tot_size = battery_size + mapper_sram_size;
586      UINT8 *temp_nvram = auto_alloc_array(machine(), UINT8, tot_size);
587      battery_load(temp_nvram, tot_size, 0x00);
588      if (battery_size)
589      {
590         m_cart->battery_alloc(machine(), battery_size);
591         memcpy(m_cart->get_battery_base(), temp_nvram, battery_size);
592      }
593      if (mapper_sram_size)
594         memcpy(m_cart->get_mapper_sram_base(), temp_nvram + battery_size, mapper_sram_size);
595
596      if (temp_nvram)
597         auto_free(machine(), temp_nvram);
598   }
599}
trunk/src/mess/machine/cx4fn.c
r23775r23776
1/***************************************************************************
2
3    cx4fn.c
4
5    Code based on original work by zsKnight, anomie and Nach.
6    This implementation is based on C++ "cx4*.cpp" by byuu.
7    (up to date with source v 0.49).
8
9***************************************************************************/
10
11#include <math.h>
12#define CX4_Tan(a) (CX4_CosTable[a] ? ((((INT32)CX4_SinTable[a]) << 16) / CX4_CosTable[a]) : 0x80000000)
13#define CX4_sar(b, n) ((b) >> (n))
14#ifdef PI
15#undef PI
16#endif
17#define PI 3.1415926535897932384626433832795
18
19//Wireframe Helpers
20static void CX4_C4TransfWireFrame(void)
21{
22   cx4.c4x = (double)cx4.C4WFXVal;
23   cx4.c4y = (double)cx4.C4WFYVal;
24   cx4.c4z = (double)cx4.C4WFZVal - 0x95;
25
26   //Rotate X
27   cx4.tanval = -(double)cx4.C4WFX2Val * PI * 2 / 128;
28   cx4.c4y2   = cx4.c4y * cos(cx4.tanval) - cx4.c4z * sin(cx4.tanval);
29   cx4.c4z2   = cx4.c4y * sin(cx4.tanval) + cx4.c4z * cos(cx4.tanval);
30
31   //Rotate Y
32   cx4.tanval = -(double)cx4.C4WFY2Val * PI * 2 / 128;
33   cx4.c4x2   = cx4.c4x * cos(cx4.tanval)  + cx4.c4z2 * sin(cx4.tanval);
34   cx4.c4z    = cx4.c4x * -sin(cx4.tanval) + cx4.c4z2 * cos(cx4.tanval);
35
36   //Rotate Z
37   cx4.tanval = -(double)cx4.C4WFDist * PI * 2 / 128;
38   cx4.c4x    = cx4.c4x2 * cos(cx4.tanval) - cx4.c4y2 * sin(cx4.tanval);
39   cx4.c4y    = cx4.c4x2 * sin(cx4.tanval) + cx4.c4y2 * cos(cx4.tanval);
40
41   //Scale
42   cx4.C4WFXVal = (INT16)(cx4.c4x * cx4.C4WFScale / (0x90 * (cx4.c4z + 0x95)) * 0x95);
43   cx4.C4WFYVal = (INT16)(cx4.c4y * cx4.C4WFScale / (0x90 * (cx4.c4z + 0x95)) * 0x95);
44}
45
46static void CX4_C4CalcWireFrame(void)
47{
48   cx4.C4WFXVal = cx4.C4WFX2Val - cx4.C4WFXVal;
49   cx4.C4WFYVal = cx4.C4WFY2Val - cx4.C4WFYVal;
50
51   if(abs(cx4.C4WFXVal) > abs(cx4.C4WFYVal))
52   {
53      cx4.C4WFDist = abs(cx4.C4WFXVal) + 1;
54      cx4.C4WFYVal = (256 * (long)cx4.C4WFYVal) / abs(cx4.C4WFXVal);
55      cx4.C4WFXVal = (cx4.C4WFXVal < 0) ? -256 : 256;
56   }
57   else if(cx4.C4WFYVal != 0)
58   {
59      cx4.C4WFDist = abs(cx4.C4WFYVal) + 1;
60      cx4.C4WFXVal = (256 * (long)cx4.C4WFXVal) / abs(cx4.C4WFYVal);
61      cx4.C4WFYVal = (cx4.C4WFYVal < 0) ? -256 : 256;
62   }
63   else
64   {
65      cx4.C4WFDist = 0;
66   }
67}
68
69static void CX4_C4TransfWireFrame2(void)
70{
71   cx4.c4x = (double)cx4.C4WFXVal;
72   cx4.c4y = (double)cx4.C4WFYVal;
73   cx4.c4z = (double)cx4.C4WFZVal;
74
75   //Rotate X
76   cx4.tanval = -(double)cx4.C4WFX2Val * PI * 2 / 128;
77   cx4.c4y2   = cx4.c4y * cos(cx4.tanval) - cx4.c4z * sin(cx4.tanval);
78   cx4.c4z2   = cx4.c4y * sin(cx4.tanval) + cx4.c4z * cos(cx4.tanval);
79
80   //Rotate Y
81   cx4.tanval = -(double)cx4.C4WFY2Val * PI * 2 / 128;
82   cx4.c4x2   = cx4.c4x * cos(cx4.tanval)  + cx4.c4z2 * sin(cx4.tanval);
83   cx4.c4z    = cx4.c4x * -sin(cx4.tanval) + cx4.c4z2 * cos(cx4.tanval);
84
85   //Rotate Z
86   cx4.tanval = -(double)cx4.C4WFDist * PI * 2 / 128;
87   cx4.c4x    = cx4.c4x2 * cos(cx4.tanval) - cx4.c4y2 * sin(cx4.tanval);
88   cx4.c4y    = cx4.c4x2 * sin(cx4.tanval) + cx4.c4y2 * cos(cx4.tanval);
89
90   //Scale
91   cx4.C4WFXVal = (INT16)(cx4.c4x * cx4.C4WFScale / 0x100);
92   cx4.C4WFYVal = (INT16)(cx4.c4y * cx4.C4WFScale / 0x100);
93}
94
95static void CX4_C4DrawWireFrame(running_machine &machine)
96{
97   UINT32 line = CX4_readl(0x1f80);
98   UINT32 point1, point2;
99   INT16 X1, Y1, Z1;
100   INT16 X2, Y2, Z2;
101   UINT8 Color;
102   INT32 i;
103
104   address_space &space = machine.device<cpu_device>("maincpu")->space(AS_PROGRAM);
105   for(i = cx4.ram[0x0295]; i > 0; i--, line += 5)
106   {
107      if(space.read_byte(line) == 0xff &&
108         space.read_byte(line + 1) == 0xff)
109      {
110         INT32 tmp = line - 5;
111         while(space.read_byte(tmp + 2) == 0xff &&
112               space.read_byte(tmp + 3) == 0xff &&
113               (tmp + 2) >= 0)
114         {
115            tmp -= 5;
116         }
117         point1 = (CX4_read(0x1f82) << 16) |
118                  (space.read_byte(tmp + 2) << 8) |
119                  space.read_byte(tmp + 3);
120      }
121      else
122      {
123         point1 = (CX4_read(0x1f82) << 16) |
124                  (space.read_byte(line) << 8) |
125                  space.read_byte(line + 1);
126      }
127      point2 = (CX4_read(0x1f82) << 16) |
128               (space.read_byte(line + 2) << 8) |
129               space.read_byte(line + 3);
130
131      X1=(space.read_byte(point1 + 0) << 8) |
132         space.read_byte(point1 + 1);
133      Y1=(space.read_byte(point1 + 2) << 8) |
134         space.read_byte(point1 + 3);
135      Z1=(space.read_byte(point1 + 4) << 8) |
136         space.read_byte(point1 + 5);
137      X2=(space.read_byte(point2 + 0) << 8) |
138         space.read_byte(point2 + 1);
139      Y2=(space.read_byte(point2 + 2) << 8) |
140         space.read_byte(point2 + 3);
141      Z2=(space.read_byte(point2 + 4) << 8) |
142         space.read_byte(point2 + 5);
143      Color = space.read_byte(line + 4);
144      CX4_C4DrawLine(X1, Y1, Z1, X2, Y2, Z2, Color);
145   }
146}
147
148static void CX4_C4DrawLine(INT32 X1, INT32 Y1, INT16 Z1, INT32 X2, INT32 Y2, INT16 Z2, UINT8 Color)
149{
150   INT32 i;
151
152   //Transform coordinates
153   cx4.C4WFXVal  = (INT16)X1;
154   cx4.C4WFYVal  = (INT16)Y1;
155   cx4.C4WFZVal  = Z1;
156   cx4.C4WFScale = CX4_read(0x1f90);
157   cx4.C4WFX2Val = CX4_read(0x1f86);
158   cx4.C4WFY2Val = CX4_read(0x1f87);
159   cx4.C4WFDist  = CX4_read(0x1f88);
160   CX4_C4TransfWireFrame2();
161   X1 = (cx4.C4WFXVal + 48) << 8;
162   Y1 = (cx4.C4WFYVal + 48) << 8;
163
164   cx4.C4WFXVal = (INT16)X2;
165   cx4.C4WFYVal = (INT16)Y2;
166   cx4.C4WFZVal = Z2;
167   CX4_C4TransfWireFrame2();
168   X2 = (cx4.C4WFXVal + 48) << 8;
169   Y2 = (cx4.C4WFYVal + 48) << 8;
170
171   //Get line info
172   cx4.C4WFXVal  = (INT16)(X1 >> 8);
173   cx4.C4WFYVal  = (INT16)(Y1 >> 8);
174   cx4.C4WFX2Val = (INT16)(X2 >> 8);
175   cx4.C4WFY2Val = (INT16)(Y2 >> 8);
176   CX4_C4CalcWireFrame();
177   X2 = (INT16)cx4.C4WFXVal;
178   Y2 = (INT16)cx4.C4WFYVal;
179
180   //Render line
181   for(i = cx4.C4WFDist ? cx4.C4WFDist : 1; i > 0; i--)
182   {
183      if(X1 > 0xff && Y1 > 0xff && X1 < 0x6000 && Y1 < 0x6000)
184      {
185         UINT16 addr = (((Y1 >> 8) >> 3) << 8) - (((Y1 >> 8) >> 3) << 6) + (((X1 >> 8) >> 3) << 4) + ((Y1 >> 8) & 7) * 2;
186         UINT8 bit = 0x80 >> ((X1 >> 8) & 7);
187         cx4.ram[addr + 0x300] &= ~bit;
188         cx4.ram[addr + 0x301] &= ~bit;
189         if(Color & 1)
190         {
191            cx4.ram[addr + 0x300] |= bit;
192         }
193         if(Color & 2)
194         {
195            cx4.ram[addr + 0x301] |= bit;
196         }
197      }
198      X1 += X2;
199      Y1 += Y2;
200   }
201}
202
203static void CX4_C4DoScaleRotate(int row_padding)
204{
205   INT16 A, B, C, D;
206   INT32 x, y;
207
208   //Calculate Pixel Resolution
209   UINT8 w = CX4_read(0x1f89) & ~7;
210   UINT8 h = CX4_read(0x1f8c) & ~7;
211
212   INT32 Cx = (INT16)CX4_readw(0x1f83);
213   INT32 Cy = (INT16)CX4_readw(0x1f86);
214
215   INT32 LineX, LineY;
216   UINT32 X, Y;
217   UINT8 byte;
218   INT32 outidx = 0;
219   UINT8 bit    = 0x80;
220
221   //Calculate matrix
222   INT32 XScale = CX4_readw(0x1f8f);
223   INT32 YScale = CX4_readw(0x1f92);
224
225   if(XScale & 0x8000)
226   {
227      XScale = 0x7fff;
228   }
229   if(YScale & 0x8000)
230   {
231      YScale = 0x7fff;
232   }
233
234   if(CX4_readw(0x1f80) == 0)
235   { //no rotation
236      A = (INT16)XScale;
237      B = 0;
238      C = 0;
239      D = (INT16)YScale;
240   }
241   else if(CX4_readw(0x1f80) == 128)
242   { //90 degree rotation
243      A = 0;
244      B = (INT16)(-YScale);
245      C = (INT16)XScale;
246      D = 0;
247   }
248   else if(CX4_readw(0x1f80) == 256)
249   { //180 degree rotation
250      A = (INT16)(-XScale);
251      B = 0;
252      C = 0;
253      D = (INT16)(-YScale);
254   }
255   else if(CX4_readw(0x1f80) == 384)
256   { //270 degree rotation
257      A = 0;
258      B = (INT16)YScale;
259      C = (INT16)(-XScale);
260      D = 0;
261   }
262   else
263   {
264      A = (INT16)  CX4_sar(CX4_CosTable[CX4_readw(0x1f80) & 0x1ff] * XScale, 15);
265      B = (INT16)(-CX4_sar(CX4_SinTable[CX4_readw(0x1f80) & 0x1ff] * YScale, 15));
266      C = (INT16)  CX4_sar(CX4_SinTable[CX4_readw(0x1f80) & 0x1ff] * XScale, 15);
267      D = (INT16)  CX4_sar(CX4_CosTable[CX4_readw(0x1f80) & 0x1ff] * YScale, 15);
268   }
269
270   //Clear the output RAM
271   memset(cx4.ram, 0, (w + row_padding / 4) * h / 2);
272
273   //Calculate start position (i.e. (Ox, Oy) = (0, 0))
274   //The low 12 bits are fractional, so (Cx<<12) gives us the Cx we want in
275   //the function. We do Cx*A etc normally because the matrix parameters
276   //already have the fractional parts.
277   LineX = (Cx << 12) - Cx * A - Cx * B;
278   LineY = (Cy << 12) - Cy * C - Cy * D;
279
280   //Start loop
281   for(y = 0; y < h; y++)
282   {
283      X = LineX;
284      Y = LineY;
285      for(x = 0; x < w; x++)
286      {
287         if((X >> 12) >= w || (Y >> 12) >= h)
288         {
289            byte = 0;
290         }
291         else
292         {
293            UINT32 addr = (Y >> 12) * w + (X >> 12);
294            byte = CX4_read(0x600 + (addr >> 1));
295            if(addr & 1)
296            {
297               byte >>= 4;
298            }
299         }
300
301         //De-bitplanify
302         if(byte & 1) { cx4.ram[outidx     ] |= bit; }
303         if(byte & 2) { cx4.ram[outidx +  1] |= bit; }
304         if(byte & 4) { cx4.ram[outidx + 16] |= bit; }
305         if(byte & 8) { cx4.ram[outidx + 17] |= bit; }
306
307         bit >>= 1;
308         if(!bit)
309         {
310            bit     = 0x80;
311            outidx += 32;
312         }
313
314         X += A; //Add 1 to output x => add an A and a C
315         Y += C;
316      }
317      outidx += 2 + row_padding;
318      if(outidx & 0x10)
319      {
320         outidx &= ~0x10;
321      }
322      else
323      {
324         outidx -= w * 4 + row_padding;
325      }
326      LineX += B; //Add 1 to output y => add a B and a D
327      LineY += D;
328   }
329}
trunk/src/mess/machine/nes_ines.c
r23775r23776
1/*****************************************************************************************
2
3    NES MMC Emulation
4
5    Support for iNES Mappers
6
7****************************************************************************************/
8
9
10/* Set to generate prg & chr files when the cart is loaded */
11#define SPLIT_PRG   0
12#define SPLIT_CHR   0
13
14
15/*************************************************************
16
17 mmc_list
18
19 Supported mappers and corresponding pcb id
20
21 *************************************************************/
22
23struct nes_mmc
24{
25   int    iNesMapper; /* iNES Mapper # */
26   int    pcb_id;
27};
28
29
30static const nes_mmc mmc_list[] =
31{
32/*  INES   DESC                          LOW_W, LOW_R, MED_W, HIGH_W, PPU_latch, scanline CB, hblank CB */
33   {  0, STD_NROM },
34   {  1, STD_SXROM },
35   {  2, STD_UXROM },
36   {  3, STD_CNROM },
37   {  4, STD_TXROM },
38   {  5, STD_EXROM },
39   {  6, FFE4_BOARD },
40   {  7, STD_AXROM },
41   {  8, FFE3_BOARD },
42   {  9, STD_PXROM },
43   { 10, STD_FXROM },
44   { 11, DIS_74X377 },
45   { 12, REXSOFT_DBZ5 },
46   { 13, STD_CPROM },
47   { 14, REXSOFT_SL1632 },
48   { 15, WAIXING_WXZS2 },
49   { 16, BANDAI_LZ93EX2 },  // with 24c02
50   { 17, FFE8_BOARD },
51   { 18, JALECO_SS88006 },
52   { 19, NAMCOT_163 },
53   { 21, KONAMI_VRC4 },
54   { 22, KONAMI_VRC2 },
55   { 23, KONAMI_VRC2 },
56   { 24, KONAMI_VRC6 },
57   { 25, KONAMI_VRC4 },
58   { 26, KONAMI_VRC6 },
59   { 27, UNL_WORLDHERO },
60   // 27 World Hero board - Unsupported
61   // 28 Unused
62   // 29 Unused
63   // 30 Unused
64   // 31 Unused
65   { 32, IREM_G101 },
66   { 33, TAITO_TC0190FMC },
67   { 34, STD_BXROM },
68   { 35, UNL_SC127 },
69   { 36, TXC_STRIKEW },
70   { 37, PAL_ZZ },
71   { 38, DIS_74X161X138 },
72   { 39, UNL_STUDYNGAME },
73   { 40, BTL_SMB2JA },
74   { 41, CALTRON_6IN1 },
75   { 42, BTL_MARIOBABY },  // ai senshi nicole too, changed by crc_hack
76   { 43, UNL_SMB2J },
77   { 44, BMC_SUPERBIG_7IN1 },
78   { 45, BMC_HIK8IN1 },
79   { 46, RUMBLESTATION_BOARD },
80   { 47, NES_QJ },
81   { 48, TAITO_TC0190FMCP },
82   { 49, BMC_SUPERHIK_4IN1 },
83   { 50, BTL_SMB2JB },
84   { 51, BMC_BALLGAMES_11IN1 },
85   { 52, BMC_GOLD_7IN1 },
86   { 53, SVISION16_BOARD },
87   { 54, BMC_NOVEL1 },
88   // 55 Genius SMB - No info (nor images) available
89   { 56, KAISER_KS202 },
90   { 57, BMC_GKA },
91   { 58, BMC_GKB },
92   // 59 Unused
93   // 60 4-in-1, 35-in-1 Reset based
94   { 61, RCM_TF9IN1 },
95   { 62, BMC_SUPER_700IN1 },
96   { 63, BMC_CH001 },  // Powerful 255
97   { 64, TENGEN_800032 },
98   { 65, IREM_H3001 },
99   { 66, STD_GXROM },
100   { 67, SUNSOFT_3 },
101   { 68, SUNSOFT_DCS },
102   { 69, SUNSOFT_FME7 },
103   { 70, DIS_74X161X161X32 },
104   { 71, CAMERICA_BF9093 },
105   { 72, JALECO_JF17 },
106   { 73, KONAMI_VRC3 },
107   { 74, WAIXING_TYPE_A },
108   { 75, KONAMI_VRC1 },
109   { 76, NAMCOT_3446 },
110   { 77, IREM_LROG017 },
111   { 78, IREM_HOLYDIVR },
112   { 79, AVE_NINA06 },
113   { 80, TAITO_X1_005 },
114   // 81 Unused
115   { 82, TAITO_X1_017 },
116   { 83, CONY_BOARD },
117   // 84 Pasofami hacked images?
118   { 85, KONAMI_VRC7 },
119   { 86, JALECO_JF13 },
120   { 87, DIS_74X139X74 },
121   { 88, NAMCOT_34X3 },
122   { 89, SUNSOFT_2 },
123   { 90, JYCOMPANY_A },
124   { 91, UNL_MK2 },
125   { 92, JALECO_JF19 },
126   { 93, SUNSOFT_2 },
127   { 94, STD_UN1ROM },
128   { 95, NAMCOT_3425 },
129   { 96, BANDAI_OEKAKIDS },
130   { 97, IREM_TAM_S1 },
131   // 98 Unused
132   // 99 VS. system - Not going to be implemented (use MAME instead)
133   // 100 images hacked to work with nesticle?
134   // 101 Unused (Urusei Yatsura had been assigned to this mapper, but it's Mapper 87)
135   // 102 Unused
136   { 103, UNL_2708 },
137   // 103 Bootleg cart 2708 (Doki Doki Panic - FDS Conversion) - Unsupported
138   { 104, CAMERICA_GOLDENFIVE },
139   { 105, STD_EVENT },
140   { 106, BTL_SMB3 },
141   { 107, MAGICSERIES_MD },
142   { 108, WHIRLWIND_2706 },
143   // 109 Unused
144   // 110 Unused
145   // 111 Ninja Ryuukenden Chinese? - Unsupported
146   { 112, NTDEC_ASDER },
147   { 113, HES_BOARD },
148   { 114, SUPERGAME_LIONKING },
149   { 115, KASING_BOARD },
150   { 116, SOMARI_SL12 },
151   { 117, FUTUREMEDIA_BOARD },
152   { 118, STD_TXSROM },
153   { 119, STD_TQROM },
154   { 120, BTL_TOBIDASE },
155   { 121, KAY_BOARD },
156   // 122 Unused
157   { 123, UNL_H2288 },
158   // 124 Unused
159   // 125 Unused
160   { 126, BMC_PJOY84 },
161   // 127 Unused
162   // 128 Unused
163   // 129 Unused
164   // 130 Unused
165   // 131 Unused
166   { 132, TXC_22211 },
167   { 133, SACHEN_SA72008 },
168   { 134, BMC_FAMILY_4646 },
169   // 135 Unused
170   { 136, SACHEN_TCU02 },
171   { 137, SACHEN_8259D },
172   { 138, SACHEN_8259B },
173   { 139, SACHEN_8259C },
174   { 140, JALECO_JF11 },
175   { 141, SACHEN_8259A },
176   { 142, KAISER_KS7032},
177   { 143, SACHEN_TCA01 },
178   { 144, AGCI_50282 },
179   { 145, SACHEN_SA72007 },
180   { 146, AVE_NINA06 }, // basically same as Mapper 79 (Nina006)
181   { 147, SACHEN_TCU01 },
182   { 148, SACHEN_SA0037 },
183   { 149, SACHEN_SA0036 },
184   { 150, SACHEN_74LS374 },
185   // 151 VS. system by Konami - Not going to be implemented (use MAME instead)
186   { 152, DIS_74X161X161X32 },
187   { 153, BANDAI_LZ93 },
188   { 154, NAMCOT_34X3 },
189   { 155, STD_SXROM_A }, // diff compared to MMC1 concern WRAM
190   { 156, OPENCORP_DAOU306 },
191   { 157, BANDAI_DATACH }, // no Datach Reader -> we fall back to mapper 16
192   { 158, TENGEN_800037 },
193   { 159, BANDAI_LZ93EX1 }, // with 24c01
194   { 160, SACHEN_SA009 },
195   // 161 Unused
196   // 162 Unused
197   { 163, NANJING_BOARD},
198   { 164, WAIXING_FFV },
199   { 165, WAIXING_SH2 },
200   { 166, SUBOR_TYPE1 },
201   { 167, SUBOR_TYPE0 },
202   { 168, UNL_RACERMATE },
203   // 169 Unused
204   // 170 Fujiya
205   { 171, KAISER_KS7058 },
206   { 172, TXC_DUMARACING },
207   { 173, TXC_MJBLOCK },
208   // 174 Unused
209   { 175, KAISER_KS7022},
210   { 176, UNL_XIAOZY },
211   { 177, HENGG_SRICH },
212   { 178, WAIXING_SGZLZ },
213   { 179, HENGG_XHZS },
214   { 180, UXROM_CC },
215   // 181 Unused
216   { 182, HOSENKAN_BOARD },
217   { 183, BTL_SHUIGUAN },
218   { 184, SUNSOFT_1 },
219   { 185, STD_CNROM },
220   { 186, FUKUTAKE_BOARD },
221   { 187, UNL_KOF96 },
222   { 188, BANDAI_KARAOKE },
223   { 189, TXC_TW },
224   // 190 Unused
225   { 191, WAIXING_TYPE_B },
226   { 192, WAIXING_TYPE_C },
227   { 193, NTDEC_FIGHTINGHERO },
228   { 194, WAIXING_TYPE_D },
229   { 195, WAIXING_TYPE_E },
230   { 196, BTL_SBROS11 },
231   { 197, UNL_SF3 },
232   { 198, WAIXING_TYPE_F },
233   { 199, WAIXING_TYPE_G },
234   { 200, BMC_36IN1 },
235   { 201, BMC_21IN1 },
236   { 202, BMC_150IN1 },
237   { 203, BMC_35IN1 },
238   { 204, BMC_64IN1 },
239   { 205, BMC_15IN1 },
240   { 206, NAMCOT_34X3 },
241   { 207, TAITO_X1_005 },
242   { 208, GOUDER_37017 },
243   { 209, JYCOMPANY_C },
244   { 210, NAMCOT_175 },
245   { 211, JYCOMPANY_B },
246   { 212, BMC_SUPERHIK_300IN1 },
247   { 213, BMC_NOVEL2 },
248   { 214, BMC_SUPERGUN_20IN1 },
249   { 215, SUPERGAME_BOOGERMAN },
250   { 216, RCM_GS2015 },
251   { 217, BMC_GOLDENCARD_6IN1 },
252   // 218 Unused
253   // 219 UNL-A9746 (according to Cah4e3's code, no dump available (yet)
254   // 220 Unused
255   { 221, UNL_N625092 },
256   { 222, BTL_DRAGONNINJA },
257   { 223, WAIXING_TYPE_I },    // (according to NEStopia source, it's MMC3 with more WRAM)
258   { 224, WAIXING_TYPE_J },    // (according to NEStopia source, it's MMC3 with more WRAM)
259   { 225, BMC_72IN1 },
260   { 226, BMC_76IN1 },
261   { 227, BMC_1200IN1 },
262   { 228, ACTENT_ACT52 },
263   { 229, BMC_31IN1 },
264   { 230, BMC_22GAMES },
265   { 231, BMC_20IN1 },
266   { 232, CAMERICA_BF9096 },
267   { 233, BMC_SUPER22 },
268   { 234, AVE_MAXI15 },
269   { 235, BMC_GOLD150 },
270   // 235 Golden Game x-in-1 - Unsupported
271   // 236 Game 800-in-1 - Unsupported
272   // 237 Unused
273   { 238, UNL_603_5052 },
274   // 239 Unused
275   { 240, CNE_SHLZ },
276   { 241, TXC_COMMANDOS },
277   { 242, WAIXING_WXZS },
278   { 243, SACHEN_74LS374_ALT },
279   { 244, CNE_DECATHLON },
280   { 245, WAIXING_TYPE_H },
281   { 246, CNE_FSB },
282   // 247 Unused
283   // 248 Unused
284   { 249, WAIXING_SECURITY },
285   { 250, NITRA_TDA },
286   // 251 Shen Hua Jian Yun III?? - Unsupported
287   { 252, WAIXING_SGZ },
288   // 253 Super 8-in-1 99 King Fighter?? - Unsupported
289   { 254, BTL_PIKACHUY2K },
290   { 255, BMC_110IN1 },
291};
292
293const nes_mmc *nes_mapper_lookup( int mapper )
294{
295   int i;
296
297   for (i = 0; i < ARRAY_LENGTH(mmc_list); i++)
298   {
299      if (mmc_list[i].iNesMapper == mapper)
300         return &mmc_list[i];
301   }
302
303   return NULL;
304}
305
306#if 0
307int nes_get_mmc_id( running_machine &machine, int mapper )
308{
309   const nes_mmc *mmc = nes_mapper_lookup(mapper);
310
311   if (mmc == NULL)
312      fatalerror("Unimplemented Mapper %d\n", mapper);
313
314   return mmc->pcb_id;
315}
316#endif
317
318/*************************************************************
319
320 ines_mapr_setup
321
322 setup the board specific pcb_id for a given mapper
323
324 *************************************************************/
325
326void ines_mapr_setup( int mapper, int *pcb_id )
327{
328   const nes_mmc *mmc = nes_mapper_lookup(mapper);
329   if (mmc == NULL)
330      fatalerror("Unimplemented Mapper %d\n", mapper);
331
332   *pcb_id = mmc->pcb_id;
333}
334
335/*************************************************************
336
337 call_load_ines
338
339 *************************************************************/
340
341void nes_cart_slot_device::call_load_ines()
342{
343   UINT32 vram_size = 0, prgram_size = 0, battery_size = 0, mapper_sram_size = 0;
344   UINT32 prg_size, vrom_size;
345   UINT8 header[0x10];
346   UINT8 mapper, local_options;
347   bool ines20 = FALSE, prg16k;
348   const char *mapinfo = NULL;
349   int pcb_id = 0, mapint1 = 0, mapint2 = 0, mapint3 = 0, mapint4 = 0;
350   int crc_hack = 0;
351
352   // check if the image is recognized by nes.hsi
353   mapinfo = hashfile_extrainfo(*this);
354
355   // read out the header
356   fseek(0, SEEK_SET);
357   fread(&header, 0x10);
358
359   // SETUP step 1: getting PRG, VROM, VRAM sizes
360   prg16k = (header[4] == 1);
361   prg_size = prg16k ? 2 * 0x4000 : header[4] * 0x4000;
362   vrom_size = header[5] * 0x2000;
363   vram_size = 0x4000;
364
365   // SETUP step 2: getting PCB and other settings
366   mapper = (header[6] & 0xf0) >> 4;
367   local_options = header[6] & 0x0f;
368
369   switch (header[7] & 0xc)
370   {
371      case 0x4:
372      case 0xc:
373         // probably the header got corrupted: don't trust upper bits for mapper
374         break;
375
376      case 0x8:   // it's iNES 2.0 format
377         ines20 = TRUE;
378      case 0x0:
379      default:
380         mapper |= header[7] & 0xf0;
381         break;
382   }
383
384   // use info from nes.hsi if available!
385   if (mapinfo)
386   {
387      if (4 == sscanf(mapinfo,"%d %d %d %d", &mapint1, &mapint2, &mapint3, &mapint4))
388      {
389         /* image is present in nes.hsi: overwrite the header settings with these */
390         mapper = mapint1;
391         local_options = mapint2 & 0x0f;
392         crc_hack = (mapint2 & 0xf0) >> 4; // this is used to differentiate among variants of the same Mapper (see below)
393         prg16k = (mapint3 == 1);
394         prg_size = prg16k ? 2 * 0x4000 : mapint3 * 0x4000;
395         vrom_size = mapint4 * 0x2000;
396         logerror("NES.HSI info: %d %d %d %d\n", mapint1, mapint2, mapint3, mapint4);
397      }
398      else
399      {
400         logerror("NES: [%s], Invalid mapinfo found\n", mapinfo);
401      }
402   }
403   else
404   {
405      logerror("NES: No extrainfo found\n");
406   }
407
408   // use extended iNES2.0 info if available!
409   if (ines20)
410   {
411      mapper |= (header[8] & 0x0f) << 8;
412      // header[8] & 0xf0 is used for submappers, but I haven't found any specific image to implement this
413      prg_size += ((header[9] & 0x0f) << 8) * 0x4000;
414      vrom_size += ((header[9] & 0xf0) << 4) * 0x2000;
415   }
416   ines_mapr_setup(mapper, &pcb_id);
417
418   // SETUP step 3: storing the info needed for emulation
419   m_pcb_id = pcb_id;
420   m_cart->set_mirroring(BIT(local_options, 0) ? PPU_MIRROR_VERT : PPU_MIRROR_HORZ);
421   if (BIT(local_options, 1))
422      battery_size = NES_BATTERY_SIZE; // with original iNES format we can only support 8K WRAM battery
423   m_cart->set_trainer(BIT(local_options, 2) ? TRUE : FALSE);
424   m_cart->set_four_screen_vram(BIT(local_options, 3) ? TRUE : FALSE);
425
426   if (ines20)
427   {
428      // PRGRAM/BWRAM (not fully supported, also due to lack of 2.0 files)
429      if ((header[10] & 0x0f) > 0)
430         prgram_size = 0x80 << ((header[10] & 0x0f) - 1);
431      if ((header[10] & 0xf0) > 0)
432         battery_size = 0x80 << ((header[10] & 0xf0) - 5);
433      // VRAM
434      vram_size = 0;
435      if ((header[11] & 0x0f) > 0)
436         vram_size = 0x80 << ((header[11] & 0x0f) - 1);
437      // header[11] & 0xf0 is the size of battery backed VRAM, found so far in Racermate II only and not supported yet
438   }
439   else
440   {
441      // PRGRAM size is 8k for most games, but pirate carts often use different sizes,
442      // so its size has been added recently to the iNES format spec, but almost no image uses it
443      prgram_size = header[8] ? header[8] * 0x2000 : 0x2000;
444   }
445
446   // a few mappers correspond to multiple PCBs, so we need a few additional checks and tweaks
447   switch (m_pcb_id)
448   {
449      case STD_CNROM:
450         if (mapper == 185)
451         {
452            switch (crc_hack)
453            {
454               case 0x0: // pin26: CE, pin27: CE (B-Wings, Bird Week)
455                  m_cart->set_ce(0x03, 0x03);
456                  break;
457               case 0x4: // pin26: CE, pin27: /CE (Mighty Bomb Jack, Spy Vs. Spy)
458                  m_cart->set_ce(0x03, 0x01);
459                  break;
460               case 0x8: // pin26: /CE, pin27: CE (Sansu 1, 2, 3 Nen)
461                  m_cart->set_ce(0x03, 0x02);
462                  break;
463               case 0xc: // pin26: /CE, pin27: /CE (Seicross v2.0)
464                  m_cart->set_ce(0x03, 0x00);
465                  break;
466            }
467         }
468         break;
469
470      case KONAMI_VRC2:
471         if (mapper == 22)
472            m_cart->set_vrc_lines(0, 1, 1);
473         if (mapper == 23 && !crc_hack)
474            m_cart->set_vrc_lines(1, 0, 0);
475         if (mapper == 23 && crc_hack)
476         {
477            // here there are also Akumajou Special, Crisis Force, Parodius da!, Tiny Toons which are VRC-4
478            m_cart->set_vrc_lines(3, 2, 0);
479            m_pcb_id = KONAMI_VRC4; // this allows for konami_irq to be installed at reset
480         }
481         break;
482
483      case KONAMI_VRC4:
484         if (mapper == 21)   // Wai Wai World 2 & Ganbare Goemon Gaiden 2 (the latter with crc_hack)
485            m_cart->set_vrc_lines(crc_hack ? 7 : 2, crc_hack ? 6 : 1, 0);
486         if (mapper == 25)   // here there is also Ganbare Goemon Gaiden which is VRC-2
487            m_cart->set_vrc_lines(crc_hack ? 2 : 0, crc_hack ? 3 : 1, 0);
488         break;
489
490      case KONAMI_VRC6:
491         if (mapper == 24)
492            m_cart->set_vrc_lines(1, 0, 0);
493         if (mapper == 26)
494            m_cart->set_vrc_lines(0, 1, 0);
495         break;
496
497      case IREM_G101:
498         if (crc_hack)
499            m_cart->set_mirroring(PPU_MIRROR_HIGH); // Major League has hardwired mirroring
500         else
501            m_cart->set_pcb_ctrl_mirror(TRUE);
502         break;
503
504      case DIS_74X161X161X32:
505         if (mapper == 70)
506            m_cart->set_mirroring(PPU_MIRROR_VERT); // only hardwired mirroring makes different mappers 70 & 152
507         else
508            m_cart->set_pcb_ctrl_mirror(TRUE);
509         break;
510
511      case SUNSOFT_2:
512         if (mapper == 93)
513            m_cart->set_mirroring(PPU_MIRROR_VERT); // only hardwired mirroring makes different mappers 89 & 93
514         else
515            m_cart->set_pcb_ctrl_mirror(TRUE);
516         break;
517
518      case HES_BOARD:
519         if (crc_hack)
520            m_cart->set_pcb_ctrl_mirror(TRUE);    // Mapper 113 is used for 2 diff boards
521         break;
522
523      case CAMERICA_BF9093:
524         if (crc_hack)
525            m_cart->set_pcb_ctrl_mirror(TRUE);    // Mapper 71 is used for 2 diff boards
526         break;
527
528      case STD_BXROM:
529         if (crc_hack)
530            m_pcb_id = AVE_NINA01; // Mapper 34 is used for 2 diff boards
531         break;
532
533      case BANDAI_LZ93:
534         if (crc_hack)
535            m_pcb_id = BANDAI_FJUMP2;   // Mapper 153 is used for 2 diff boards
536         break;
537
538      case IREM_HOLYDIVR:
539         if (crc_hack)
540            m_pcb_id = JALECO_JF16;    // Mapper 78 is used for 2 diff boards
541         break;
542
543      case WAIXING_WXZS:
544         if (crc_hack)
545            m_pcb_id = WAIXING_DQ8;    // Mapper 242 is used for 2 diff boards
546         break;
547
548      case BMC_GOLD_7IN1:
549         if (crc_hack)
550            m_pcb_id = BMC_MARIOPARTY_7IN1;    // Mapper 52 is used for 2 diff boards
551         break;
552
553
554      case BTL_MARIOBABY:
555         if (crc_hack)
556            m_pcb_id = BTL_AISENSHINICOL;    // Mapper 42 is used for 2 diff boards
557         break;
558
559      case TAITO_X1_017:
560         mapper_sram_size = m_cart->get_mapper_sram_size();
561         break;
562
563      case TAITO_X1_005:
564         if (mapper == 207)
565            m_cart->set_x1_005_alt(TRUE);
566         mapper_sram_size = m_cart->get_mapper_sram_size();
567         break;
568
569      case NAMCOT_163:
570         mapper_sram_size = m_cart->get_mapper_sram_size();
571         break;
572         //FIXME: we also have to fix Action 52 PRG loading somewhere...
573   }
574
575   // Finally turn off bus conflict emulation, because the pirate variants of the boards are bus conflict free and games would glitch
576   m_cart->set_bus_conflict(FALSE);
577
578   // SETUP step 4: logging what we have found
579   if (!ines20)
580   {
581      logerror("Loaded game in iNES format:\n");
582      logerror("-- Mapper %d\n", mapper);
583      logerror("-- PRG 0x%x (%d x 16k chunks)\n", prg_size, prg_size / 0x4000);
584      logerror("-- VROM 0x%x (%d x 8k chunks)\n", vrom_size, vrom_size / 0x2000);
585      logerror("-- VRAM 0x%x (%d x 8k chunks)\n", vram_size, vram_size / 0x2000);
586      if (battery_size)
587         logerror("-- Battery found\n");
588      if (m_cart->get_trainer())
589         logerror("-- Trainer found\n");
590      if (m_cart->get_four_screen_vram())
591         logerror("-- 4-screen VRAM\n");
592      logerror("-- TV System: %s\n", ((header[10] & 3) == 0) ? "NTSC" : (header[10] & 1) ? "Both NTSC and PAL" : "PAL");
593   }
594   else
595   {
596      logerror("Loaded game in Extended iNES format:\n");
597      logerror("-- Mapper: %d\n", mapper);
598      logerror("-- Submapper: %d\n", (header[8] & 0xf0) >> 4);
599      logerror("-- PRG 0x%x (%d x 16k chunks)\n", prg_size, prg_size / 0x4000);
600      logerror("-- VROM 0x%x (%d x 8k chunks)\n", vrom_size, vrom_size / 0x2000);
601      logerror("-- VRAM 0x%x (%d x 8k chunks)\n", vram_size, vram_size / 0x2000);
602      logerror("-- PRG NVWRAM: %d\n", header[10] & 0x0f);
603      logerror("-- PRG WRAM: %d\n", (header[10] & 0xf0) >> 4);
604      logerror("-- CHR NVWRAM: %d\n", header[11] & 0x0f);
605      logerror("-- CHR WRAM: %d\n", (header[11] & 0xf0) >> 4);
606      logerror("-- TV System: %s\n", (header[12] & 2) ? "Both NTSC and PAL" : (header[12] & 1) ? "PAL" : "NTSC");
607   }
608
609   // SETUP step 5: allocate pointers for PRG/VROM
610   if (prg_size)
611      m_cart->prg_alloc(machine(), prg_size);
612   if (vrom_size)
613      m_cart->vrom_alloc(machine(), vrom_size);
614
615   // if there is a trainer, skip it for the moment
616   if (m_cart->get_trainer())
617      fseek(0x210, SEEK_SET);
618
619   // SETUP step 6: at last load the data!
620   // Read in the program chunks
621   if (prg16k)
622   {
623      fread(m_cart->get_prg_base(), 0x4000);
624      memcpy(m_cart->get_prg_base() + 0x4000, m_cart->get_prg_base(), 0x4000);
625   }
626   else
627      fread(m_cart->get_prg_base(), m_cart->get_prg_size());
628#if SPLIT_PRG
629   {
630      FILE *prgout;
631      char outname[255];
632
633      sprintf(outname, "%s.prg", filename());
634      prgout = fopen(outname, "wb");
635      if (prgout)
636      {
637         fwrite(m_cart->get_prg_base(), 1, 0x4000 * m_cart->get_prg_size(), prgout);
638         mame_printf_error("Created PRG chunk\n");
639      }
640
641      fclose(prgout);
642   }
643#endif
644
645   // Read in any chr chunks
646   if (m_cart->get_vrom_size())
647      fread(m_cart->get_vrom_base(), m_cart->get_vrom_size());
648
649#if SPLIT_CHR
650   if (state->m_chr_chunks > 0)
651   {
652      FILE *chrout;
653      char outname[255];
654
655      sprintf(outname, "%s.chr", filename());
656      chrout= fopen(outname, "wb");
657      if (chrout)
658      {
659         fwrite(m_cart->get_vrom_base(), 1, m_cart->get_vrom_size(), chrout);
660         mame_printf_error("Created CHR chunk\n");
661      }
662      fclose(chrout);
663   }
664#endif
665
666   // SETUP steps 7: allocate the remaining pointer, when needed
667   if (vram_size)
668      m_cart->vram_alloc(machine(), vram_size);
669   if (prgram_size || m_cart->get_trainer())
670   {
671      if (prgram_size)
672         m_cart->prgram_alloc(machine(), prgram_size);
673      else
674         m_cart->prgram_alloc(machine(), 0x2000);
675      if (m_cart->get_trainer())
676      {
677         fseek(0x10, SEEK_SET);
678         fread(m_cart->get_prgram_base() + 0x1000, 0x200);
679      }
680   }
681
682
683   // Attempt to load a battery file for this ROM
684   // A few boards have internal RAM with a battery (MMC6, Taito X1-005 & X1-017, etc.)
685   if (battery_size || mapper_sram_size)
686   {
687      UINT32 tot_size = battery_size + mapper_sram_size;
688      UINT8 *temp_nvram = auto_alloc_array(machine(), UINT8, tot_size);
689      battery_load(temp_nvram, tot_size, 0x00);
690      if (battery_size)
691      {
692         m_cart->battery_alloc(machine(), battery_size);
693         memcpy(m_cart->get_battery_base(), temp_nvram, battery_size);
694      }
695      if (mapper_sram_size)
696         memcpy(m_cart->get_mapper_sram_base(), temp_nvram + battery_size, m_cart->get_mapper_sram_size());
697
698      if (temp_nvram)
699         auto_free(machine(), temp_nvram);
700   }
701}
702
703const char * nes_cart_slot_device::get_default_card_ines(UINT8 *ROM, UINT32 len)
704{
705   UINT8 mapper;
706   bool ines20 = FALSE;
707   const char *mapinfo = NULL;
708   int pcb_id = 0, mapint1 = 0, mapint2 = 0, mapint3 = 0, mapint4 = 0;
709   int crc_hack = 0;
710
711   // check if the image is recognized by nes.hsi
712//  mapinfo = hashfile_extrainfo(*this);
713
714   mapper = (ROM[6] & 0xf0) >> 4;
715
716   switch (ROM[7] & 0xc)
717   {
718      case 0x4:
719      case 0xc:
720         // probably the header got corrupted: don't trust upper bits for mapper
721         break;
722
723      case 0x8:   // it's iNES 2.0 format
724         ines20 = TRUE;
725      case 0x0:
726      default:
727         mapper |= ROM[7] & 0xf0;
728         break;
729   }
730
731   // use info from nes.hsi if available!
732   if (mapinfo)
733   {
734      if (4 == sscanf(mapinfo,"%d %d %d %d", &mapint1, &mapint2, &mapint3, &mapint4))
735      {
736         /* image is present in nes.hsi: overwrite the header settings with these */
737         mapper = mapint1;
738         crc_hack = (mapint2 & 0xf0) >> 4; // this is used to differentiate among variants of the same Mapper (see below)
739      }
740   }
741
742   // use extended iNES2.0 info if available!
743   if (ines20)
744   {
745      mapper |= (ROM[8] & 0x0f) << 8;
746      // ROM[8] & 0xf0 is used for submappers, but I haven't found any specific image to implement this
747   }
748
749   ines_mapr_setup(mapper, &pcb_id);
750
751   // solve mapper conflicts
752   switch (pcb_id)
753   {
754      case KONAMI_VRC2:
755         if (mapper == 23 && crc_hack)
756            m_pcb_id = KONAMI_VRC4; // this allows for konami_irq to be installed at reset
757         break;
758
759      case STD_BXROM:
760         if (crc_hack)
761            m_pcb_id = AVE_NINA01; // Mapper 34 is used for 2 diff boards
762         break;
763
764      case BANDAI_LZ93:
765         if (crc_hack)
766            m_pcb_id = BANDAI_FJUMP2;   // Mapper 153 is used for 2 diff boards
767         break;
768
769      case IREM_HOLYDIVR:
770         if (crc_hack)
771            m_pcb_id = JALECO_JF16;    // Mapper 78 is used for 2 diff boards
772         break;
773
774      case WAIXING_WXZS:
775         if (crc_hack)
776            m_pcb_id = WAIXING_DQ8;    // Mapper 242 is used for 2 diff boards
777         break;
778
779      case BMC_GOLD_7IN1:
780         if (crc_hack)
781            m_pcb_id = BMC_MARIOPARTY_7IN1;    // Mapper 52 is used for 2 diff boards
782         break;
783
784      case BTL_MARIOBABY:
785         if (crc_hack)
786            m_pcb_id = BTL_AISENSHINICOL;    // Mapper 42 is used for 2 diff boards
787         break;
788   }
789
790   return nes_get_slot(pcb_id);
791}
trunk/src/mess/machine/cx4oam.c
r23775r23776
1/***************************************************************************
2
3    cx4oam.c
4
5    Code based on original work by zsKnight, anomie and Nach.
6    This implementation is based on C++ "cx4*.cpp" by byuu
7    (up to date with source v 0.49).
8
9***************************************************************************/
10
11//Build OAM
12static void CX4_op00_00(running_machine &machine)
13{
14   INT32 i;
15
16   UINT32 oamptr = cx4.ram[0x626] << 2;
17   UINT16 globalx, globaly;
18   UINT32 oamptr2;
19   INT16 sprx, spry;
20   UINT8 sprname, sprattr;
21   UINT8 sprcount;
22   UINT8 offset;
23   UINT32 srcptr;
24
25   for(i = 0x1fd; i > oamptr && i >= 0; i -= 4)
26   {
27      //clear oam-to-be
28      if(i >= 0)
29      {
30         cx4.ram[i] = 0xe0;
31      }
32   }
33
34   globalx = CX4_readw(0x621);
35   globaly = CX4_readw(0x623);
36   oamptr2 = 0x200 + (cx4.ram[0x626] >> 2);
37
38   if(!cx4.ram[0x620])
39   {
40      return;
41   }
42
43   sprcount = 128 - cx4.ram[0x626];
44   offset = (cx4.ram[0x626] & 3) * 2;
45   srcptr = 0x220;
46
47   address_space &space = machine.device<cpu_device>("maincpu")->space(AS_PROGRAM);
48   for(i = cx4.ram[0x620]; i > 0 && sprcount > 0; i--, srcptr += 16)
49   {
50      UINT32 spraddr = CX4_readl(srcptr + 7);
51
52      sprx = CX4_readw(srcptr)     - globalx;
53      spry = CX4_readw(srcptr + 2) - globaly;
54      sprname = cx4.ram[srcptr + 5];
55      sprattr = cx4.ram[srcptr + 4] | cx4.ram[srcptr + 6];
56
57      if(space.read_byte(spraddr))
58      {
59         INT16 x, y;
60         INT32 sprcnt;
61         for(sprcnt = space.read_byte(spraddr++); sprcnt > 0 && sprcount > 0; sprcnt--, spraddr += 4)
62         {
63            x = (INT8)space.read_byte(spraddr + 1);
64            if(sprattr & 0x40)
65            {
66               x = -x - ((space.read_byte(spraddr) & 0x20) ? 16 : 8);
67            }
68            x += sprx;
69            if(x >= -16 && x <= 272)
70            {
71               y = (INT8)space.read_byte(spraddr + 2);
72               if(sprattr & 0x80)
73               {
74                  y = -y - ((space.read_byte(spraddr) & 0x20) ? 16 : 8);
75               }
76               y += spry;
77               if(y >= -16 && y <= 224)
78               {
79                  cx4.ram[oamptr    ] = (UINT8)x;
80                  cx4.ram[oamptr + 1] = (UINT8)y;
81                  cx4.ram[oamptr + 2] = sprname + space.read_byte(spraddr + 3);
82                  cx4.ram[oamptr + 3] = sprattr ^ (space.read_byte(spraddr) & 0xc0);
83                  cx4.ram[oamptr2] &= ~(3 << offset);
84                  if(x & 0x100)
85                  {
86                     cx4.ram[oamptr2] |= 1 << offset;
87                  }
88                  if(space.read_byte(spraddr) & 0x20)
89                  {
90                     cx4.ram[oamptr2] |= 2 << offset;
91                  }
92                  oamptr += 4;
93                  sprcount--;
94                  offset = (offset + 2) & 6;
95                  if(!offset)
96                  {
97                     oamptr2++;
98                  }
99               }
100            }
101         }
102      }
103      else if(sprcount > 0)
104      {
105         cx4.ram[oamptr    ] = (UINT8)sprx;
106         cx4.ram[oamptr + 1] = (UINT8)spry;
107         cx4.ram[oamptr + 2] = sprname;
108         cx4.ram[oamptr + 3] = sprattr;
109         cx4.ram[oamptr2] &= ~(3 << offset);
110         if(sprx & 0x100)
111         {
112            cx4.ram[oamptr2] |= 3 << offset;
113         }
114         else
115         {
116            cx4.ram[oamptr2] |= 2 << offset;
117         }
118         oamptr += 4;
119         sprcount--;
120         offset = (offset + 2) & 6;
121         if(!offset)
122         {
123            oamptr2++;
124         }
125      }
126   }
127}
128
129//Scale and Rotate
130static void CX4_op00_03(void)
131{
132   CX4_C4DoScaleRotate(0);
133}
134
135//Transform Lines
136static void CX4_op00_05(running_machine &machine)
137{
138   INT32 i;
139   UINT32 ptr = 0, ptr2 = 0;
140
141   cx4.C4WFX2Val = CX4_read(0x1f83);
142   cx4.C4WFY2Val = CX4_read(0x1f86);
143   cx4.C4WFDist  = CX4_read(0x1f89);
144   cx4.C4WFScale = CX4_read(0x1f8c);
145
146   //Transform Vertices
147   for(i = CX4_readw(0x1f80); i > 0; i--, ptr += 0x10)
148   {
149      cx4.C4WFXVal = CX4_readw(ptr + 1);
150      cx4.C4WFYVal = CX4_readw(ptr + 5);
151      cx4.C4WFZVal = CX4_readw(ptr + 9);
152      CX4_C4TransfWireFrame();
153
154      //Displace
155      CX4_writew(machine, ptr + 1, cx4.C4WFXVal + 0x80);
156      CX4_writew(machine, ptr + 5, cx4.C4WFYVal + 0x50);
157   }
158
159   CX4_writew(machine, 0x600,     23);
160   CX4_writew(machine, 0x602,     0x60);
161   CX4_writew(machine, 0x605,     0x40);
162   CX4_writew(machine, 0x600 + 8, 23);
163   CX4_writew(machine, 0x602 + 8, 0x60);
164   CX4_writew(machine, 0x605 + 8, 0x40);
165
166   ptr = 0xb02;
167
168   for(i = CX4_readw(0xb00); i > 0; i--, ptr += 2, ptr2 += 8)
169   {
170      cx4.C4WFXVal  = CX4_readw((CX4_read(ptr + 0) << 4) + 1);
171      cx4.C4WFYVal  = CX4_readw((CX4_read(ptr + 0) << 4) + 5);
172      cx4.C4WFX2Val = CX4_readw((CX4_read(ptr + 1) << 4) + 1);
173      cx4.C4WFY2Val = CX4_readw((CX4_read(ptr + 1) << 4) + 5);
174      CX4_C4CalcWireFrame();
175      CX4_writew(machine, ptr2 + 0x600, cx4.C4WFDist ? cx4.C4WFDist : 1);
176      CX4_writew(machine, ptr2 + 0x602, cx4.C4WFXVal);
177      CX4_writew(machine, ptr2 + 0x605, cx4.C4WFYVal);
178   }
179}
180
181//Scale and Rotate
182static void CX4_op00_07(void)
183{
184   CX4_C4DoScaleRotate(64);
185}
186
187//Draw Wireframe
188static void CX4_op00_08(running_machine &machine)
189{
190   CX4_C4DrawWireFrame(machine);
191}
192
193//Disintegrate
194static void CX4_op00_0b(running_machine &machine)
195{
196   UINT8  width, height;
197   UINT32 startx, starty;
198   UINT32 srcptr;
199   UINT32 x, y;
200   INT32  scalex, scaley;
201   INT32  cx, cy;
202   INT32  i, j;
203
204   width  = CX4_read(0x1f89);
205   height = CX4_read(0x1f8c);
206   cx     = CX4_readw(0x1f80);
207   cy     = CX4_readw(0x1f83);
208
209   scalex = (INT16)CX4_readw(0x1f86);
210   scaley = (INT16)CX4_readw(0x1f8f);
211   startx = -cx * scalex + (cx << 8);
212   starty = -cy * scaley + (cy << 8);
213   srcptr = 0x600;
214
215   for(i = 0; i < (width * height) >> 1; i++)
216   {
217      CX4_write(machine, i, 0);
218   }
219
220   for(y = starty, i = 0;i < height; i++, y += scaley)
221   {
222      for(x = startx, j = 0;j < width; j++, x += scalex)
223      {
224         if((x >> 8) < width && (y >> 8) < height && (y >> 8) * width + (x >> 8) < 0x2000)
225         {
226            UINT8 pixel = (j & 1) ? (cx4.ram[srcptr] >> 4) : (cx4.ram[srcptr]);
227            INT32 index = (y >> 11) * width * 4 + (x >> 11) * 32 + ((y >> 8) & 7) * 2;
228            UINT8 mask = 0x80 >> ((x >> 8) & 7);
229
230            if(pixel & 1) cx4.ram[index     ] |= mask;
231            if(pixel & 2) cx4.ram[index +  1] |= mask;
232            if(pixel & 4) cx4.ram[index + 16] |= mask;
233            if(pixel & 8) cx4.ram[index + 17] |= mask;
234         }
235         if(j & 1)
236         {
237            srcptr++;
238         }
239      }
240   }
241}
242
243//Bitplane Wave
244static void CX4_op00_0c(running_machine &machine)
245{
246   int i, j;
247   UINT32 destptr = 0;
248   UINT32 waveptr = CX4_read(0x1f83);
249   UINT16 mask1   = 0xc0c0;
250   UINT16 mask2   = 0x3f3f;
251
252   for(j = 0; j < 0x10; j++)
253   {
254      do
255      {
256         INT16 height = -((INT8)CX4_read(waveptr + 0xb00)) - 16;
257         for(i = 0; i < 40; i++)
258         {
259            UINT16 temp = CX4_readw(destptr + CX4_wave_data[i]) & mask2;
260            if(height >= 0)
261            {
262               if(height < 8)
263               {
264                  temp |= mask1 & CX4_readw(0xa00 + height * 2);
265               }
266               else
267               {
268                  temp |= mask1 & 0xff00;
269               }
270            }
271            CX4_writew(machine, destptr + CX4_wave_data[i], temp);
272            height++;
273         }
274         waveptr = (waveptr + 1) & 0x7f;
275         mask1   = (mask1 >> 2) | (mask1 << 6);
276         mask2   = (mask2 >> 2) | (mask2 << 6);
277      } while(mask1 != 0xc0c0);
278      destptr += 16;
279
280      do
281      {
282         INT16 height = -((INT8)CX4_read(waveptr + 0xb00)) - 16;
283         for(i = 0; i < 40; i++)
284         {
285            UINT16 temp = CX4_readw(destptr + CX4_wave_data[i]) & mask2;
286            if(height >= 0)
287            {
288               if(height < 8)
289               {
290                  temp |= mask1 & CX4_readw(0xa10 + height * 2);
291               }
292               else
293               {
294                  temp |= mask1 & 0xff00;
295               }
296            }
297            CX4_writew(machine, destptr + CX4_wave_data[i], temp);
298            height++;
299         }
300         waveptr = (waveptr + 1) & 0x7f;
301         mask1   = (mask1 >> 2) | (mask1 << 6);
302         mask2   = (mask2 >> 2) | (mask2 << 6);
303      } while(mask1 != 0xc0c0);
304      destptr += 16;
305   }
306}
trunk/src/mess/machine/nes_ines.inc
r0r23776
1/*****************************************************************************************
2
3    NES MMC Emulation
4
5    Support for iNES Mappers
6
7****************************************************************************************/
8
9
10/* Set to generate prg & chr files when the cart is loaded */
11#define SPLIT_PRG   0
12#define SPLIT_CHR   0
13
14
15/*************************************************************
16
17 mmc_list
18
19 Supported mappers and corresponding pcb id
20
21 *************************************************************/
22
23struct nes_mmc
24{
25   int    iNesMapper; /* iNES Mapper # */
26   int    pcb_id;
27};
28
29
30static const nes_mmc mmc_list[] =
31{
32/*  INES   DESC                          LOW_W, LOW_R, MED_W, HIGH_W, PPU_latch, scanline CB, hblank CB */
33   {  0, STD_NROM },
34   {  1, STD_SXROM },
35   {  2, STD_UXROM },
36   {  3, STD_CNROM },
37   {  4, STD_TXROM },
38   {  5, STD_EXROM },
39   {  6, FFE4_BOARD },
40   {  7, STD_AXROM },
41   {  8, FFE3_BOARD },
42   {  9, STD_PXROM },
43   { 10, STD_FXROM },
44   { 11, DIS_74X377 },
45   { 12, REXSOFT_DBZ5 },
46   { 13, STD_CPROM },
47   { 14, REXSOFT_SL1632 },
48   { 15, WAIXING_WXZS2 },
49   { 16, BANDAI_LZ93EX2 },  // with 24c02
50   { 17, FFE8_BOARD },
51   { 18, JALECO_SS88006 },
52   { 19, NAMCOT_163 },
53   { 21, KONAMI_VRC4 },
54   { 22, KONAMI_VRC2 },
55   { 23, KONAMI_VRC2 },
56   { 24, KONAMI_VRC6 },
57   { 25, KONAMI_VRC4 },
58   { 26, KONAMI_VRC6 },
59   { 27, UNL_WORLDHERO },
60   // 27 World Hero board - Unsupported
61   // 28 Unused
62   // 29 Unused
63   // 30 Unused
64   // 31 Unused
65   { 32, IREM_G101 },
66   { 33, TAITO_TC0190FMC },
67   { 34, STD_BXROM },
68   { 35, UNL_SC127 },
69   { 36, TXC_STRIKEW },
70   { 37, PAL_ZZ },
71   { 38, DIS_74X161X138 },
72   { 39, UNL_STUDYNGAME },
73   { 40, BTL_SMB2JA },
74   { 41, CALTRON_6IN1 },
75   { 42, BTL_MARIOBABY },  // ai senshi nicole too, changed by crc_hack
76   { 43, UNL_SMB2J },
77   { 44, BMC_SUPERBIG_7IN1 },
78   { 45, BMC_HIK8IN1 },
79   { 46, RUMBLESTATION_BOARD },
80   { 47, NES_QJ },
81   { 48, TAITO_TC0190FMCP },
82   { 49, BMC_SUPERHIK_4IN1 },
83   { 50, BTL_SMB2JB },
84   { 51, BMC_BALLGAMES_11IN1 },
85   { 52, BMC_GOLD_7IN1 },
86   { 53, SVISION16_BOARD },
87   { 54, BMC_NOVEL1 },
88   // 55 Genius SMB - No info (nor images) available
89   { 56, KAISER_KS202 },
90   { 57, BMC_GKA },
91   { 58, BMC_GKB },
92   // 59 Unused
93   // 60 4-in-1, 35-in-1 Reset based
94   { 61, RCM_TF9IN1 },
95   { 62, BMC_SUPER_700IN1 },
96   { 63, BMC_CH001 },  // Powerful 255
97   { 64, TENGEN_800032 },
98   { 65, IREM_H3001 },
99   { 66, STD_GXROM },
100   { 67, SUNSOFT_3 },
101   { 68, SUNSOFT_DCS },
102   { 69, SUNSOFT_FME7 },
103   { 70, DIS_74X161X161X32 },
104   { 71, CAMERICA_BF9093 },
105   { 72, JALECO_JF17 },
106   { 73, KONAMI_VRC3 },
107   { 74, WAIXING_TYPE_A },
108   { 75, KONAMI_VRC1 },
109   { 76, NAMCOT_3446 },
110   { 77, IREM_LROG017 },
111   { 78, IREM_HOLYDIVR },
112   { 79, AVE_NINA06 },
113   { 80, TAITO_X1_005 },
114   // 81 Unused
115   { 82, TAITO_X1_017 },
116   { 83, CONY_BOARD },
117   // 84 Pasofami hacked images?
118   { 85, KONAMI_VRC7 },
119   { 86, JALECO_JF13 },
120   { 87, DIS_74X139X74 },
121   { 88, NAMCOT_34X3 },
122   { 89, SUNSOFT_2 },
123   { 90, JYCOMPANY_A },
124   { 91, UNL_MK2 },
125   { 92, JALECO_JF19 },
126   { 93, SUNSOFT_2 },
127   { 94, STD_UN1ROM },
128   { 95, NAMCOT_3425 },
129   { 96, BANDAI_OEKAKIDS },
130   { 97, IREM_TAM_S1 },
131   // 98 Unused
132   // 99 VS. system - Not going to be implemented (use MAME instead)
133   // 100 images hacked to work with nesticle?
134   // 101 Unused (Urusei Yatsura had been assigned to this mapper, but it's Mapper 87)
135   // 102 Unused
136   { 103, UNL_2708 },
137   // 103 Bootleg cart 2708 (Doki Doki Panic - FDS Conversion) - Unsupported
138   { 104, CAMERICA_GOLDENFIVE },
139   { 105, STD_EVENT },
140   { 106, BTL_SMB3 },
141   { 107, MAGICSERIES_MD },
142   { 108, WHIRLWIND_2706 },
143   // 109 Unused
144   // 110 Unused
145   // 111 Ninja Ryuukenden Chinese? - Unsupported
146   { 112, NTDEC_ASDER },
147   { 113, HES_BOARD },
148   { 114, SUPERGAME_LIONKING },
149   { 115, KASING_BOARD },
150   { 116, SOMARI_SL12 },
151   { 117, FUTUREMEDIA_BOARD },
152   { 118, STD_TXSROM },
153   { 119, STD_TQROM },
154   { 120, BTL_TOBIDASE },
155   { 121, KAY_BOARD },
156   // 122 Unused
157   { 123, UNL_H2288 },
158   // 124 Unused
159   // 125 Unused
160   { 126, BMC_PJOY84 },
161   // 127 Unused
162   // 128 Unused
163   // 129 Unused
164   // 130 Unused
165   // 131 Unused
166   { 132, TXC_22211 },
167   { 133, SACHEN_SA72008 },
168   { 134, BMC_FAMILY_4646 },
169   // 135 Unused
170   { 136, SACHEN_TCU02 },
171   { 137, SACHEN_8259D },
172   { 138, SACHEN_8259B },
173   { 139, SACHEN_8259C },
174   { 140, JALECO_JF11 },
175   { 141, SACHEN_8259A },
176   { 142, KAISER_KS7032},
177   { 143, SACHEN_TCA01 },
178   { 144, AGCI_50282 },
179   { 145, SACHEN_SA72007 },
180   { 146, AVE_NINA06 }, // basically same as Mapper 79 (Nina006)
181   { 147, SACHEN_TCU01 },
182   { 148, SACHEN_SA0037 },
183   { 149, SACHEN_SA0036 },
184   { 150, SACHEN_74LS374 },
185   // 151 VS. system by Konami - Not going to be implemented (use MAME instead)
186   { 152, DIS_74X161X161X32 },
187   { 153, BANDAI_LZ93 },
188   { 154, NAMCOT_34X3 },
189   { 155, STD_SXROM_A }, // diff compared to MMC1 concern WRAM
190   { 156, OPENCORP_DAOU306 },
191   { 157, BANDAI_DATACH }, // no Datach Reader -> we fall back to mapper 16
192   { 158, TENGEN_800037 },
193   { 159, BANDAI_LZ93EX1 }, // with 24c01
194   { 160, SACHEN_SA009 },
195   // 161 Unused
196   // 162 Unused
197   { 163, NANJING_BOARD},
198   { 164, WAIXING_FFV },
199   { 165, WAIXING_SH2 },
200   { 166, SUBOR_TYPE1 },
201   { 167, SUBOR_TYPE0 },
202   { 168, UNL_RACERMATE },
203   // 169 Unused
204   // 170 Fujiya
205   { 171, KAISER_KS7058 },
206   { 172, TXC_DUMARACING },
207   { 173, TXC_MJBLOCK },
208   // 174 Unused
209   { 175, KAISER_KS7022},
210   { 176, UNL_XIAOZY },
211   { 177, HENGG_SRICH },
212   { 178, WAIXING_SGZLZ },
213   { 179, HENGG_XHZS },
214   { 180, UXROM_CC },
215   // 181 Unused
216   { 182, HOSENKAN_BOARD },
217   { 183, BTL_SHUIGUAN },
218   { 184, SUNSOFT_1 },
219   { 185, STD_CNROM },
220   { 186, FUKUTAKE_BOARD },
221   { 187, UNL_KOF96 },
222   { 188, BANDAI_KARAOKE },
223   { 189, TXC_TW },
224   // 190 Unused
225   { 191, WAIXING_TYPE_B },
226   { 192, WAIXING_TYPE_C },
227   { 193, NTDEC_FIGHTINGHERO },
228   { 194, WAIXING_TYPE_D },
229   { 195, WAIXING_TYPE_E },
230   { 196, BTL_SBROS11 },
231   { 197, UNL_SF3 },
232   { 198, WAIXING_TYPE_F },
233   { 199, WAIXING_TYPE_G },
234   { 200, BMC_36IN1 },
235   { 201, BMC_21IN1 },
236   { 202, BMC_150IN1 },
237   { 203, BMC_35IN1 },
238   { 204, BMC_64IN1 },
239   { 205, BMC_15IN1 },
240   { 206, NAMCOT_34X3 },
241   { 207, TAITO_X1_005 },
242   { 208, GOUDER_37017 },
243   { 209, JYCOMPANY_C },
244   { 210, NAMCOT_175 },
245   { 211, JYCOMPANY_B },
246   { 212, BMC_SUPERHIK_300IN1 },
247   { 213, BMC_NOVEL2 },
248   { 214, BMC_SUPERGUN_20IN1 },
249   { 215, SUPERGAME_BOOGERMAN },
250   { 216, RCM_GS2015 },
251   { 217, BMC_GOLDENCARD_6IN1 },
252   // 218 Unused
253   // 219 UNL-A9746 (according to Cah4e3's code, no dump available (yet)
254   // 220 Unused
255   { 221, UNL_N625092 },
256   { 222, BTL_DRAGONNINJA },
257   { 223, WAIXING_TYPE_I },    // (according to NEStopia source, it's MMC3 with more WRAM)
258   { 224, WAIXING_TYPE_J },    // (according to NEStopia source, it's MMC3 with more WRAM)
259   { 225, BMC_72IN1 },
260   { 226, BMC_76IN1 },
261   { 227, BMC_1200IN1 },
262   { 228, ACTENT_ACT52 },
263   { 229, BMC_31IN1 },
264   { 230, BMC_22GAMES },
265   { 231, BMC_20IN1 },
266   { 232, CAMERICA_BF9096 },
267   { 233, BMC_SUPER22 },
268   { 234, AVE_MAXI15 },
269   { 235, BMC_GOLD150 },
270   // 235 Golden Game x-in-1 - Unsupported
271   // 236 Game 800-in-1 - Unsupported
272   // 237 Unused
273   { 238, UNL_603_5052 },
274   // 239 Unused
275   { 240, CNE_SHLZ },
276   { 241, TXC_COMMANDOS },
277   { 242, WAIXING_WXZS },
278   { 243, SACHEN_74LS374_ALT },
279   { 244, CNE_DECATHLON },
280   { 245, WAIXING_TYPE_H },
281   { 246, CNE_FSB },
282   // 247 Unused
283   // 248 Unused
284   { 249, WAIXING_SECURITY },
285   { 250, NITRA_TDA },
286   // 251 Shen Hua Jian Yun III?? - Unsupported
287   { 252, WAIXING_SGZ },
288   // 253 Super 8-in-1 99 King Fighter?? - Unsupported
289   { 254, BTL_PIKACHUY2K },
290   { 255, BMC_110IN1 },
291};
292
293const nes_mmc *nes_mapper_lookup( int mapper )
294{
295   int i;
296
297   for (i = 0; i < ARRAY_LENGTH(mmc_list); i++)
298   {
299      if (mmc_list[i].iNesMapper == mapper)
300         return &mmc_list[i];
301   }
302
303   return NULL;
304}
305
306#if 0
307int nes_get_mmc_id( running_machine &machine, int mapper )
308{
309   const nes_mmc *mmc = nes_mapper_lookup(mapper);
310
311   if (mmc == NULL)
312      fatalerror("Unimplemented Mapper %d\n", mapper);
313
314   return mmc->pcb_id;
315}
316#endif
317
318/*************************************************************
319
320 ines_mapr_setup
321
322 setup the board specific pcb_id for a given mapper
323
324 *************************************************************/
325
326void ines_mapr_setup( int mapper, int *pcb_id )
327{
328   const nes_mmc *mmc = nes_mapper_lookup(mapper);
329   if (mmc == NULL)
330      fatalerror("Unimplemented Mapper %d\n", mapper);
331
332   *pcb_id = mmc->pcb_id;
333}
334
335/*************************************************************
336
337 call_load_ines
338
339 *************************************************************/
340
341void nes_cart_slot_device::call_load_ines()
342{
343   UINT32 vram_size = 0, prgram_size = 0, battery_size = 0, mapper_sram_size = 0;
344   UINT32 prg_size, vrom_size;
345   UINT8 header[0x10];
346   UINT8 mapper, local_options;
347   bool ines20 = FALSE, prg16k;
348   const char *mapinfo = NULL;
349   int pcb_id = 0, mapint1 = 0, mapint2 = 0, mapint3 = 0, mapint4 = 0;
350   int crc_hack = 0;
351
352   // check if the image is recognized by nes.hsi
353   mapinfo = hashfile_extrainfo(*this);
354
355   // read out the header
356   fseek(0, SEEK_SET);
357   fread(&header, 0x10);
358
359   // SETUP step 1: getting PRG, VROM, VRAM sizes
360   prg16k = (header[4] == 1);
361   prg_size = prg16k ? 2 * 0x4000 : header[4] * 0x4000;
362   vrom_size = header[5] * 0x2000;
363   vram_size = 0x4000;
364
365   // SETUP step 2: getting PCB and other settings
366   mapper = (header[6] & 0xf0) >> 4;
367   local_options = header[6] & 0x0f;
368
369   switch (header[7] & 0xc)
370   {
371      case 0x4:
372      case 0xc:
373         // probably the header got corrupted: don't trust upper bits for mapper
374         break;
375
376      case 0x8:   // it's iNES 2.0 format
377         ines20 = TRUE;
378      case 0x0:
379      default:
380         mapper |= header[7] & 0xf0;
381         break;
382   }
383
384   // use info from nes.hsi if available!
385   if (mapinfo)
386   {
387      if (4 == sscanf(mapinfo,"%d %d %d %d", &mapint1, &mapint2, &mapint3, &mapint4))
388      {
389         /* image is present in nes.hsi: overwrite the header settings with these */
390         mapper = mapint1;
391         local_options = mapint2 & 0x0f;
392         crc_hack = (mapint2 & 0xf0) >> 4; // this is used to differentiate among variants of the same Mapper (see below)
393         prg16k = (mapint3 == 1);
394         prg_size = prg16k ? 2 * 0x4000 : mapint3 * 0x4000;
395         vrom_size = mapint4 * 0x2000;
396         logerror("NES.HSI info: %d %d %d %d\n", mapint1, mapint2, mapint3, mapint4);
397      }
398      else
399      {
400         logerror("NES: [%s], Invalid mapinfo found\n", mapinfo);
401      }
402   }
403   else
404   {
405      logerror("NES: No extrainfo found\n");
406   }
407
408   // use extended iNES2.0 info if available!
409   if (ines20)
410   {
411      mapper |= (header[8] & 0x0f) << 8;
412      // header[8] & 0xf0 is used for submappers, but I haven't found any specific image to implement this
413      prg_size += ((header[9] & 0x0f) << 8) * 0x4000;
414      vrom_size += ((header[9] & 0xf0) << 4) * 0x2000;
415   }
416   ines_mapr_setup(mapper, &pcb_id);
417
418   // SETUP step 3: storing the info needed for emulation
419   m_pcb_id = pcb_id;
420   m_cart->set_mirroring(BIT(local_options, 0) ? PPU_MIRROR_VERT : PPU_MIRROR_HORZ);
421   if (BIT(local_options, 1))
422      battery_size = NES_BATTERY_SIZE; // with original iNES format we can only support 8K WRAM battery
423   m_cart->set_trainer(BIT(local_options, 2) ? TRUE : FALSE);
424   m_cart->set_four_screen_vram(BIT(local_options, 3) ? TRUE : FALSE);
425
426   if (ines20)
427   {
428      // PRGRAM/BWRAM (not fully supported, also due to lack of 2.0 files)
429      if ((header[10] & 0x0f) > 0)
430         prgram_size = 0x80 << ((header[10] & 0x0f) - 1);
431      if ((header[10] & 0xf0) > 0)
432         battery_size = 0x80 << ((header[10] & 0xf0) - 5);
433      // VRAM
434      vram_size = 0;
435      if ((header[11] & 0x0f) > 0)
436         vram_size = 0x80 << ((header[11] & 0x0f) - 1);
437      // header[11] & 0xf0 is the size of battery backed VRAM, found so far in Racermate II only and not supported yet
438   }
439   else
440   {
441      // PRGRAM size is 8k for most games, but pirate carts often use different sizes,
442      // so its size has been added recently to the iNES format spec, but almost no image uses it
443      prgram_size = header[8] ? header[8] * 0x2000 : 0x2000;
444   }
445
446   // a few mappers correspond to multiple PCBs, so we need a few additional checks and tweaks
447   switch (m_pcb_id)
448   {
449      case STD_CNROM:
450         if (mapper == 185)
451         {
452            switch (crc_hack)
453            {
454               case 0x0: // pin26: CE, pin27: CE (B-Wings, Bird Week)
455                  m_cart->set_ce(0x03, 0x03);
456                  break;
457               case 0x4: // pin26: CE, pin27: /CE (Mighty Bomb Jack, Spy Vs. Spy)
458                  m_cart->set_ce(0x03, 0x01);
459                  break;
460               case 0x8: // pin26: /CE, pin27: CE (Sansu 1, 2, 3 Nen)
461                  m_cart->set_ce(0x03, 0x02);
462                  break;
463               case 0xc: // pin26: /CE, pin27: /CE (Seicross v2.0)
464                  m_cart->set_ce(0x03, 0x00);
465                  break;
466            }
467         }
468         break;
469
470      case KONAMI_VRC2:
471         if (mapper == 22)
472            m_cart->set_vrc_lines(0, 1, 1);
473         if (mapper == 23 && !crc_hack)
474            m_cart->set_vrc_lines(1, 0, 0);
475         if (mapper == 23 && crc_hack)
476         {
477            // here there are also Akumajou Special, Crisis Force, Parodius da!, Tiny Toons which are VRC-4
478            m_cart->set_vrc_lines(3, 2, 0);
479            m_pcb_id = KONAMI_VRC4; // this allows for konami_irq to be installed at reset
480         }
481         break;
482
483      case KONAMI_VRC4:
484         if (mapper == 21)   // Wai Wai World 2 & Ganbare Goemon Gaiden 2 (the latter with crc_hack)
485            m_cart->set_vrc_lines(crc_hack ? 7 : 2, crc_hack ? 6 : 1, 0);
486         if (mapper == 25)   // here there is also Ganbare Goemon Gaiden which is VRC-2
487            m_cart->set_vrc_lines(crc_hack ? 2 : 0, crc_hack ? 3 : 1, 0);
488         break;
489
490      case KONAMI_VRC6:
491         if (mapper == 24)
492            m_cart->set_vrc_lines(1, 0, 0);
493         if (mapper == 26)
494            m_cart->set_vrc_lines(0, 1, 0);
495         break;
496
497      case IREM_G101:
498         if (crc_hack)
499            m_cart->set_mirroring(PPU_MIRROR_HIGH); // Major League has hardwired mirroring
500         else
501            m_cart->set_pcb_ctrl_mirror(TRUE);
502         break;
503
504      case DIS_74X161X161X32:
505         if (mapper == 70)
506            m_cart->set_mirroring(PPU_MIRROR_VERT); // only hardwired mirroring makes different mappers 70 & 152
507         else
508            m_cart->set_pcb_ctrl_mirror(TRUE);
509         break;
510
511      case SUNSOFT_2:
512         if (mapper == 93)
513            m_cart->set_mirroring(PPU_MIRROR_VERT); // only hardwired mirroring makes different mappers 89 & 93
514         else
515            m_cart->set_pcb_ctrl_mirror(TRUE);
516         break;
517
518      case HES_BOARD:
519         if (crc_hack)
520            m_cart->set_pcb_ctrl_mirror(TRUE);    // Mapper 113 is used for 2 diff boards
521         break;
522
523      case CAMERICA_BF9093:
524         if (crc_hack)
525            m_cart->set_pcb_ctrl_mirror(TRUE);    // Mapper 71 is used for 2 diff boards
526         break;
527
528      case STD_BXROM:
529         if (crc_hack)
530            m_pcb_id = AVE_NINA01; // Mapper 34 is used for 2 diff boards
531         break;
532
533      case BANDAI_LZ93:
534         if (crc_hack)
535            m_pcb_id = BANDAI_FJUMP2;   // Mapper 153 is used for 2 diff boards
536         break;
537
538      case IREM_HOLYDIVR:
539         if (crc_hack)
540            m_pcb_id = JALECO_JF16;    // Mapper 78 is used for 2 diff boards
541         break;
542
543      case WAIXING_WXZS:
544         if (crc_hack)
545            m_pcb_id = WAIXING_DQ8;    // Mapper 242 is used for 2 diff boards
546         break;
547
548      case BMC_GOLD_7IN1:
549         if (crc_hack)
550            m_pcb_id = BMC_MARIOPARTY_7IN1;    // Mapper 52 is used for 2 diff boards
551         break;
552
553
554      case BTL_MARIOBABY:
555         if (crc_hack)
556            m_pcb_id = BTL_AISENSHINICOL;    // Mapper 42 is used for 2 diff boards
557         break;
558
559      case TAITO_X1_017:
560         mapper_sram_size = m_cart->get_mapper_sram_size();
561         break;
562
563      case TAITO_X1_005:
564         if (mapper == 207)
565            m_cart->set_x1_005_alt(TRUE);
566         mapper_sram_size = m_cart->get_mapper_sram_size();
567         break;
568
569      case NAMCOT_163:
570         mapper_sram_size = m_cart->get_mapper_sram_size();
571         break;
572         //FIXME: we also have to fix Action 52 PRG loading somewhere...
573   }
574
575   // Finally turn off bus conflict emulation, because the pirate variants of the boards are bus conflict free and games would glitch
576   m_cart->set_bus_conflict(FALSE);
577
578   // SETUP step 4: logging what we have found
579   if (!ines20)
580   {
581      logerror("Loaded game in iNES format:\n");
582      logerror("-- Mapper %d\n", mapper);
583      logerror("-- PRG 0x%x (%d x 16k chunks)\n", prg_size, prg_size / 0x4000);
584      logerror("-- VROM 0x%x (%d x 8k chunks)\n", vrom_size, vrom_size / 0x2000);
585      logerror("-- VRAM 0x%x (%d x 8k chunks)\n", vram_size, vram_size / 0x2000);
586      if (battery_size)
587         logerror("-- Battery found\n");
588      if (m_cart->get_trainer())
589         logerror("-- Trainer found\n");
590      if (m_cart->get_four_screen_vram())
591         logerror("-- 4-screen VRAM\n");
592      logerror("-- TV System: %s\n", ((header[10] & 3) == 0) ? "NTSC" : (header[10] & 1) ? "Both NTSC and PAL" : "PAL");
593   }
594   else
595   {
596      logerror("Loaded game in Extended iNES format:\n");
597      logerror("-- Mapper: %d\n", mapper);
598      logerror("-- Submapper: %d\n", (header[8] & 0xf0) >> 4);
599      logerror("-- PRG 0x%x (%d x 16k chunks)\n", prg_size, prg_size / 0x4000);
600      logerror("-- VROM 0x%x (%d x 8k chunks)\n", vrom_size, vrom_size / 0x2000);
601      logerror("-- VRAM 0x%x (%d x 8k chunks)\n", vram_size, vram_size / 0x2000);
602      logerror("-- PRG NVWRAM: %d\n", header[10] & 0x0f);
603      logerror("-- PRG WRAM: %d\n", (header[10] & 0xf0) >> 4);
604      logerror("-- CHR NVWRAM: %d\n", header[11] & 0x0f);
605      logerror("-- CHR WRAM: %d\n", (header[11] & 0xf0) >> 4);
606      logerror("-- TV System: %s\n", (header[12] & 2) ? "Both NTSC and PAL" : (header[12] & 1) ? "PAL" : "NTSC");
607   }
608
609   // SETUP step 5: allocate pointers for PRG/VROM
610   if (prg_size)
611      m_cart->prg_alloc(machine(), prg_size);
612   if (vrom_size)
613      m_cart->vrom_alloc(machine(), vrom_size);
614
615   // if there is a trainer, skip it for the moment
616   if (m_cart->get_trainer())
617      fseek(0x210, SEEK_SET);
618
619   // SETUP step 6: at last load the data!
620   // Read in the program chunks
621   if (prg16k)
622   {
623      fread(m_cart->get_prg_base(), 0x4000);
624      memcpy(m_cart->get_prg_base() + 0x4000, m_cart->get_prg_base(), 0x4000);
625   }
626   else
627      fread(m_cart->get_prg_base(), m_cart->get_prg_size());
628#if SPLIT_PRG
629   {
630      FILE *prgout;
631      char outname[255];
632
633      sprintf(outname, "%s.prg", filename());
634      prgout = fopen(outname, "wb");
635      if (prgout)
636      {
637         fwrite(m_cart->get_prg_base(), 1, 0x4000 * m_cart->get_prg_size(), prgout);
638         mame_printf_error("Created PRG chunk\n");
639      }
640
641      fclose(prgout);
642   }
643#endif
644
645   // Read in any chr chunks
646   if (m_cart->get_vrom_size())
647      fread(m_cart->get_vrom_base(), m_cart->get_vrom_size());
648
649#if SPLIT_CHR
650   if (state->m_chr_chunks > 0)
651   {
652      FILE *chrout;
653      char outname[255];
654
655      sprintf(outname, "%s.chr", filename());
656      chrout= fopen(outname, "wb");
657      if (chrout)
658      {
659         fwrite(m_cart->get_vrom_base(), 1, m_cart->get_vrom_size(), chrout);
660         mame_printf_error("Created CHR chunk\n");
661      }
662      fclose(chrout);
663   }
664#endif
665
666   // SETUP steps 7: allocate the remaining pointer, when needed
667   if (vram_size)
668      m_cart->vram_alloc(machine(), vram_size);
669   if (prgram_size || m_cart->get_trainer())
670   {
671      if (prgram_size)
672         m_cart->prgram_alloc(machine(), prgram_size);
673      else
674         m_cart->prgram_alloc(machine(), 0x2000);
675      if (m_cart->get_trainer())
676      {
677         fseek(0x10, SEEK_SET);
678         fread(m_cart->get_prgram_base() + 0x1000, 0x200);
679      }
680   }
681
682
683   // Attempt to load a battery file for this ROM
684   // A few boards have internal RAM with a battery (MMC6, Taito X1-005 & X1-017, etc.)
685   if (battery_size || mapper_sram_size)
686   {
687      UINT32 tot_size = battery_size + mapper_sram_size;
688      UINT8 *temp_nvram = auto_alloc_array(machine(), UINT8, tot_size);
689      battery_load(temp_nvram, tot_size, 0x00);
690      if (battery_size)
691      {
692         m_cart->battery_alloc(machine(), battery_size);
693         memcpy(m_cart->get_battery_base(), temp_nvram, battery_size);
694      }
695      if (mapper_sram_size)
696         memcpy(m_cart->get_mapper_sram_base(), temp_nvram + battery_size, m_cart->get_mapper_sram_size());
697
698      if (temp_nvram)
699         auto_free(machine(), temp_nvram);
700   }
701}
702
703const char * nes_cart_slot_device::get_default_card_ines(UINT8 *ROM, UINT32 len)
704{
705   UINT8 mapper;
706   bool ines20 = FALSE;
707   const char *mapinfo = NULL;
708   int pcb_id = 0, mapint1 = 0, mapint2 = 0, mapint3 = 0, mapint4 = 0;
709   int crc_hack = 0;
710
711   // check if the image is recognized by nes.hsi
712//  mapinfo = hashfile_extrainfo(*this);
713
714   mapper = (ROM[6] & 0xf0) >> 4;
715
716   switch (ROM[7] & 0xc)
717   {
718      case 0x4:
719      case 0xc:
720         // probably the header got corrupted: don't trust upper bits for mapper
721         break;
722
723      case 0x8:   // it's iNES 2.0 format
724         ines20 = TRUE;
725      case 0x0:
726      default:
727         mapper |= ROM[7] & 0xf0;
728         break;
729   }
730
731   // use info from nes.hsi if available!
732   if (mapinfo)
733   {
734      if (4 == sscanf(mapinfo,"%d %d %d %d", &mapint1, &mapint2, &mapint3, &mapint4))
735      {
736         /* image is present in nes.hsi: overwrite the header settings with these */
737         mapper = mapint1;
738         crc_hack = (mapint2 & 0xf0) >> 4; // this is used to differentiate among variants of the same Mapper (see below)
739      }
740   }
741
742   // use extended iNES2.0 info if available!
743   if (ines20)
744   {
745      mapper |= (ROM[8] & 0x0f) << 8;
746      // ROM[8] & 0xf0 is used for submappers, but I haven't found any specific image to implement this
747   }
748
749   ines_mapr_setup(mapper, &pcb_id);
750
751   // solve mapper conflicts
752   switch (pcb_id)
753   {
754      case KONAMI_VRC2:
755         if (mapper == 23 && crc_hack)
756            m_pcb_id = KONAMI_VRC4; // this allows for konami_irq to be installed at reset
757         break;
758
759      case STD_BXROM:
760         if (crc_hack)
761            m_pcb_id = AVE_NINA01; // Mapper 34 is used for 2 diff boards
762         break;
763
764      case BANDAI_LZ93:
765         if (crc_hack)
766            m_pcb_id = BANDAI_FJUMP2;   // Mapper 153 is used for 2 diff boards
767         break;
768
769      case IREM_HOLYDIVR:
770         if (crc_hack)
771            m_pcb_id = JALECO_JF16;    // Mapper 78 is used for 2 diff boards
772         break;
773
774      case WAIXING_WXZS:
775         if (crc_hack)
776            m_pcb_id = WAIXING_DQ8;    // Mapper 242 is used for 2 diff boards
777         break;
778
779      case BMC_GOLD_7IN1:
780         if (crc_hack)
781            m_pcb_id = BMC_MARIOPARTY_7IN1;    // Mapper 52 is used for 2 diff boards
782         break;
783
784      case BTL_MARIOBABY:
785         if (crc_hack)
786            m_pcb_id = BTL_AISENSHINICOL;    // Mapper 42 is used for 2 diff boards
787         break;
788   }
789
790   return nes_get_slot(pcb_id);
791}
Property changes on: trunk/src/mess/machine/nes_ines.inc
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/mess/machine/cx4fn.inc
r0r23776
1/***************************************************************************
2
3    cx4fn.c
4
5    Code based on original work by zsKnight, anomie and Nach.
6    This implementation is based on C++ "cx4*.cpp" by byuu.
7    (up to date with source v 0.49).
8
9***************************************************************************/
10
11#include <math.h>
12#define CX4_Tan(a) (CX4_CosTable[a] ? ((((INT32)CX4_SinTable[a]) << 16) / CX4_CosTable[a]) : 0x80000000)
13#define CX4_sar(b, n) ((b) >> (n))
14#ifdef PI
15#undef PI
16#endif
17#define PI 3.1415926535897932384626433832795
18
19//Wireframe Helpers
20static void CX4_C4TransfWireFrame(void)
21{
22   cx4.c4x = (double)cx4.C4WFXVal;
23   cx4.c4y = (double)cx4.C4WFYVal;
24   cx4.c4z = (double)cx4.C4WFZVal - 0x95;
25
26   //Rotate X
27   cx4.tanval = -(double)cx4.C4WFX2Val * PI * 2 / 128;
28   cx4.c4y2   = cx4.c4y * cos(cx4.tanval) - cx4.c4z * sin(cx4.tanval);
29   cx4.c4z2   = cx4.c4y * sin(cx4.tanval) + cx4.c4z * cos(cx4.tanval);
30
31   //Rotate Y
32   cx4.tanval = -(double)cx4.C4WFY2Val * PI * 2 / 128;
33   cx4.c4x2   = cx4.c4x * cos(cx4.tanval)  + cx4.c4z2 * sin(cx4.tanval);
34   cx4.c4z    = cx4.c4x * -sin(cx4.tanval) + cx4.c4z2 * cos(cx4.tanval);
35
36   //Rotate Z
37   cx4.tanval = -(double)cx4.C4WFDist * PI * 2 / 128;
38   cx4.c4x    = cx4.c4x2 * cos(cx4.tanval) - cx4.c4y2 * sin(cx4.tanval);
39   cx4.c4y    = cx4.c4x2 * sin(cx4.tanval) + cx4.c4y2 * cos(cx4.tanval);
40
41   //Scale
42   cx4.C4WFXVal = (INT16)(cx4.c4x * cx4.C4WFScale / (0x90 * (cx4.c4z + 0x95)) * 0x95);
43   cx4.C4WFYVal = (INT16)(cx4.c4y * cx4.C4WFScale / (0x90 * (cx4.c4z + 0x95)) * 0x95);
44}
45
46static void CX4_C4CalcWireFrame(void)
47{
48   cx4.C4WFXVal = cx4.C4WFX2Val - cx4.C4WFXVal;
49   cx4.C4WFYVal = cx4.C4WFY2Val - cx4.C4WFYVal;
50
51   if(abs(cx4.C4WFXVal) > abs(cx4.C4WFYVal))
52   {
53      cx4.C4WFDist = abs(cx4.C4WFXVal) + 1;
54      cx4.C4WFYVal = (256 * (long)cx4.C4WFYVal) / abs(cx4.C4WFXVal);
55      cx4.C4WFXVal = (cx4.C4WFXVal < 0) ? -256 : 256;
56   }
57   else if(cx4.C4WFYVal != 0)
58   {
59      cx4.C4WFDist = abs(cx4.C4WFYVal) + 1;
60      cx4.C4WFXVal = (256 * (long)cx4.C4WFXVal) / abs(cx4.C4WFYVal);
61      cx4.C4WFYVal = (cx4.C4WFYVal < 0) ? -256 : 256;
62   }
63   else
64   {
65      cx4.C4WFDist = 0;
66   }
67}
68
69static void CX4_C4TransfWireFrame2(void)
70{
71   cx4.c4x = (double)cx4.C4WFXVal;
72   cx4.c4y = (double)cx4.C4WFYVal;
73   cx4.c4z = (double)cx4.C4WFZVal;
74
75   //Rotate X
76   cx4.tanval = -(double)cx4.C4WFX2Val * PI * 2 / 128;
77   cx4.c4y2   = cx4.c4y * cos(cx4.tanval) - cx4.c4z * sin(cx4.tanval);
78   cx4.c4z2   = cx4.c4y * sin(cx4.tanval) + cx4.c4z * cos(cx4.tanval);
79
80   //Rotate Y
81   cx4.tanval = -(double)cx4.C4WFY2Val * PI * 2 / 128;
82   cx4.c4x2   = cx4.c4x * cos(cx4.tanval)  + cx4.c4z2 * sin(cx4.tanval);
83   cx4.c4z    = cx4.c4x * -sin(cx4.tanval) + cx4.c4z2 * cos(cx4.tanval);
84
85   //Rotate Z
86   cx4.tanval = -(double)cx4.C4WFDist * PI * 2 / 128;
87   cx4.c4x    = cx4.c4x2 * cos(cx4.tanval) - cx4.c4y2 * sin(cx4.tanval);
88   cx4.c4y    = cx4.c4x2 * sin(cx4.tanval) + cx4.c4y2 * cos(cx4.tanval);
89
90   //Scale
91   cx4.C4WFXVal = (INT16)(cx4.c4x * cx4.C4WFScale / 0x100);
92   cx4.C4WFYVal = (INT16)(cx4.c4y * cx4.C4WFScale / 0x100);
93}
94
95static void CX4_C4DrawWireFrame(running_machine &machine)
96{
97   UINT32 line = CX4_readl(0x1f80);
98   UINT32 point1, point2;
99   INT16 X1, Y1, Z1;
100   INT16 X2, Y2, Z2;
101   UINT8 Color;
102   INT32 i;
103
104   address_space &space = machine.device<cpu_device>("maincpu")->space(AS_PROGRAM);
105   for(i = cx4.ram[0x0295]; i > 0; i--, line += 5)
106   {
107      if(space.read_byte(line) == 0xff &&
108         space.read_byte(line + 1) == 0xff)
109      {
110         INT32 tmp = line - 5;
111         while(space.read_byte(tmp + 2) == 0xff &&
112               space.read_byte(tmp + 3) == 0xff &&
113               (tmp + 2) >= 0)
114         {
115            tmp -= 5;
116         }
117         point1 = (CX4_read(0x1f82) << 16) |
118                  (space.read_byte(tmp + 2) << 8) |
119                  space.read_byte(tmp + 3);
120      }
121      else
122      {
123         point1 = (CX4_read(0x1f82) << 16) |
124                  (space.read_byte(line) << 8) |
125                  space.read_byte(line + 1);
126      }
127      point2 = (CX4_read(0x1f82) << 16) |
128               (space.read_byte(line + 2) << 8) |
129               space.read_byte(line + 3);
130
131      X1=(space.read_byte(point1 + 0) << 8) |
132         space.read_byte(point1 + 1);
133      Y1=(space.read_byte(point1 + 2) << 8) |
134         space.read_byte(point1 + 3);
135      Z1=(space.read_byte(point1 + 4) << 8) |
136         space.read_byte(point1 + 5);
137      X2=(space.read_byte(point2 + 0) << 8) |
138         space.read_byte(point2 + 1);
139      Y2=(space.read_byte(point2 + 2) << 8) |
140         space.read_byte(point2 + 3);
141      Z2=(space.read_byte(point2 + 4) << 8) |
142         space.read_byte(point2 + 5);
143      Color = space.read_byte(line + 4);
144      CX4_C4DrawLine(X1, Y1, Z1, X2, Y2, Z2, Color);
145   }
146}
147
148static void CX4_C4DrawLine(INT32 X1, INT32 Y1, INT16 Z1, INT32 X2, INT32 Y2, INT16 Z2, UINT8 Color)
149{
150   INT32 i;
151
152   //Transform coordinates
153   cx4.C4WFXVal  = (INT16)X1;
154   cx4.C4WFYVal  = (INT16)Y1;
155   cx4.C4WFZVal  = Z1;
156   cx4.C4WFScale = CX4_read(0x1f90);
157   cx4.C4WFX2Val = CX4_read(0x1f86);
158   cx4.C4WFY2Val = CX4_read(0x1f87);
159   cx4.C4WFDist  = CX4_read(0x1f88);
160   CX4_C4TransfWireFrame2();
161   X1 = (cx4.C4WFXVal + 48) << 8;
162   Y1 = (cx4.C4WFYVal + 48) << 8;
163
164   cx4.C4WFXVal = (INT16)X2;
165   cx4.C4WFYVal = (INT16)Y2;
166   cx4.C4WFZVal = Z2;
167   CX4_C4TransfWireFrame2();
168   X2 = (cx4.C4WFXVal + 48) << 8;
169   Y2 = (cx4.C4WFYVal + 48) << 8;
170
171   //Get line info
172   cx4.C4WFXVal  = (INT16)(X1 >> 8);
173   cx4.C4WFYVal  = (INT16)(Y1 >> 8);
174   cx4.C4WFX2Val = (INT16)(X2 >> 8);
175   cx4.C4WFY2Val = (INT16)(Y2 >> 8);
176   CX4_C4CalcWireFrame();
177   X2 = (INT16)cx4.C4WFXVal;
178   Y2 = (INT16)cx4.C4WFYVal;
179
180   //Render line
181   for(i = cx4.C4WFDist ? cx4.C4WFDist : 1; i > 0; i--)
182   {
183      if(X1 > 0xff && Y1 > 0xff && X1 < 0x6000 && Y1 < 0x6000)
184      {
185         UINT16 addr = (((Y1 >> 8) >> 3) << 8) - (((Y1 >> 8) >> 3) << 6) + (((X1 >> 8) >> 3) << 4) + ((Y1 >> 8) & 7) * 2;
186         UINT8 bit = 0x80 >> ((X1 >> 8) & 7);
187         cx4.ram[addr + 0x300] &= ~bit;
188         cx4.ram[addr + 0x301] &= ~bit;
189         if(Color & 1)
190         {
191            cx4.ram[addr + 0x300] |= bit;
192         }
193         if(Color & 2)
194         {
195            cx4.ram[addr + 0x301] |= bit;
196         }
197      }
198      X1 += X2;
199      Y1 += Y2;
200   }
201}
202
203static void CX4_C4DoScaleRotate(int row_padding)
204{
205   INT16 A, B, C, D;
206   INT32 x, y;
207
208   //Calculate Pixel Resolution
209   UINT8 w = CX4_read(0x1f89) & ~7;
210   UINT8 h = CX4_read(0x1f8c) & ~7;
211
212   INT32 Cx = (INT16)CX4_readw(0x1f83);
213   INT32 Cy = (INT16)CX4_readw(0x1f86);
214
215   INT32 LineX, LineY;
216   UINT32 X, Y;
217   UINT8 byte;
218   INT32 outidx = 0;
219   UINT8 bit    = 0x80;
220
221   //Calculate matrix
222   INT32 XScale = CX4_readw(0x1f8f);
223   INT32 YScale = CX4_readw(0x1f92);
224
225   if(XScale & 0x8000)
226   {
227      XScale = 0x7fff;
228   }
229   if(YScale & 0x8000)
230   {
231      YScale = 0x7fff;
232   }
233
234   if(CX4_readw(0x1f80) == 0)
235   { //no rotation
236      A = (INT16)XScale;
237      B = 0;
238      C = 0;
239      D = (INT16)YScale;
240   }
241   else if(CX4_readw(0x1f80) == 128)
242   { //90 degree rotation
243      A = 0;
244      B = (INT16)(-YScale);
245      C = (INT16)XScale;
246      D = 0;
247   }
248   else if(CX4_readw(0x1f80) == 256)
249   { //180 degree rotation
250      A = (INT16)(-XScale);
251      B = 0;
252      C = 0;
253      D = (INT16)(-YScale);
254   }
255   else if(CX4_readw(0x1f80) == 384)
256   { //270 degree rotation
257      A = 0;
258      B = (INT16)YScale;
259      C = (INT16)(-XScale);
260      D = 0;
261   }
262   else
263   {
264      A = (INT16)  CX4_sar(CX4_CosTable[CX4_readw(0x1f80) & 0x1ff] * XScale, 15);
265      B = (INT16)(-CX4_sar(CX4_SinTable[CX4_readw(0x1f80) & 0x1ff] * YScale, 15));
266      C = (INT16)  CX4_sar(CX4_SinTable[CX4_readw(0x1f80) & 0x1ff] * XScale, 15);
267      D = (INT16)  CX4_sar(CX4_CosTable[CX4_readw(0x1f80) & 0x1ff] * YScale, 15);
268   }
269
270   //Clear the output RAM
271   memset(cx4.ram, 0, (w + row_padding / 4) * h / 2);
272
273   //Calculate start position (i.e. (Ox, Oy) = (0, 0))
274   //The low 12 bits are fractional, so (Cx<<12) gives us the Cx we want in
275   //the function. We do Cx*A etc normally because the matrix parameters
276   //already have the fractional parts.
277   LineX = (Cx << 12) - Cx * A - Cx * B;
278   LineY = (Cy << 12) - Cy * C - Cy * D;
279
280   //Start loop
281   for(y = 0; y < h; y++)
282   {
283      X = LineX;
284      Y = LineY;
285      for(x = 0; x < w; x++)
286      {
287         if((X >> 12) >= w || (Y >> 12) >= h)
288         {
289            byte = 0;
290         }
291         else
292         {
293            UINT32 addr = (Y >> 12) * w + (X >> 12);
294            byte = CX4_read(0x600 + (addr >> 1));
295            if(addr & 1)
296            {
297               byte >>= 4;
298            }
299         }
300
301         //De-bitplanify
302         if(byte & 1) { cx4.ram[outidx     ] |= bit; }
303         if(byte & 2) { cx4.ram[outidx +  1] |= bit; }
304         if(byte & 4) { cx4.ram[outidx + 16] |= bit; }
305         if(byte & 8) { cx4.ram[outidx + 17] |= bit; }
306
307         bit >>= 1;
308         if(!bit)
309         {
310            bit     = 0x80;
311            outidx += 32;
312         }
313
314         X += A; //Add 1 to output x => add an A and a C
315         Y += C;
316      }
317      outidx += 2 + row_padding;
318      if(outidx & 0x10)
319      {
320         outidx &= ~0x10;
321      }
322      else
323      {
324         outidx -= w * 4 + row_padding;
325      }
326      LineX += B; //Add 1 to output y => add a B and a D
327      LineY += D;
328   }
329}
Property changes on: trunk/src/mess/machine/cx4fn.inc
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/mess/machine/cx4data.inc
r0r23776
1/***************************************************************************
2
3    cx4data.c
4
5    Code based on original work by zsKnight, anomie and Nach.
6    This implementation is based on C++ "cx4*.cpp" by byuu
7    (up to date with source v 0.49).
8
9***************************************************************************/
10
11static const UINT8 CX4_immediate_data[48] =
12{
13   0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
14   0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x80, 0xff, 0xff, 0x7f,
15   0x00, 0x80, 0x00, 0xff, 0x7f, 0x00, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0xff,
16   0x00, 0x00, 0x01, 0xff, 0xff, 0xfe, 0x00, 0x01, 0x00, 0xff, 0xfe, 0x00
17};
18
19static const UINT16 CX4_wave_data[40] =
20{
21   0x0000, 0x0002, 0x0004, 0x0006, 0x0008, 0x000a, 0x000c, 0x000e,
22   0x0200, 0x0202, 0x0204, 0x0206, 0x0208, 0x020a, 0x020c, 0x020e,
23   0x0400, 0x0402, 0x0404, 0x0406, 0x0408, 0x040a, 0x040c, 0x040e,
24   0x0600, 0x0602, 0x0604, 0x0606, 0x0608, 0x060a, 0x060c, 0x060e,
25   0x0800, 0x0802, 0x0804, 0x0806, 0x0808, 0x080a, 0x080c, 0x080e
26};
27
28static const UINT32 CX4_sin_table[256] =
29{
30   0x000000, 0x000324, 0x000648, 0x00096c, 0x000c8f, 0x000fb2, 0x0012d5, 0x0015f6,
31   0x001917, 0x001c37, 0x001f56, 0x002273, 0x002590, 0x0028aa, 0x002bc4, 0x002edb,
32   0x0031f1, 0x003505, 0x003817, 0x003b26, 0x003e33, 0x00413e, 0x004447, 0x00474d,
33   0x004a50, 0x004d50, 0x00504d, 0x005347, 0x00563e, 0x005931, 0x005c22, 0x005f0e,
34   0x0061f7, 0x0064dc, 0x0067bd, 0x006a9b, 0x006d74, 0x007049, 0x007319, 0x0075e5,
35   0x0078ad, 0x007b70, 0x007e2e, 0x0080e7, 0x00839c, 0x00864b, 0x0088f5, 0x008b9a,
36   0x008e39, 0x0090d3, 0x009368, 0x0095f6, 0x00987f, 0x009b02, 0x009d7f, 0x009ff6,
37   0x00a267, 0x00a4d2, 0x00a736, 0x00a994, 0x00abeb, 0x00ae3b, 0x00b085, 0x00b2c8,
38   0x00b504, 0x00b73a, 0x00b968, 0x00bb8f, 0x00bdae, 0x00bfc7, 0x00c1d8, 0x00c3e2,
39   0x00c5e4, 0x00c7de, 0x00c9d1, 0x00cbbb, 0x00cd9f, 0x00cf7a, 0x00d14d, 0x00d318,
40   0x00d4db, 0x00d695, 0x00d848, 0x00d9f2, 0x00db94, 0x00dd2d, 0x00debe, 0x00e046,
41   0x00e1c5, 0x00e33c, 0x00e4aa, 0x00e60f, 0x00e76b, 0x00e8bf, 0x00ea09, 0x00eb4b,
42   0x00ec83, 0x00edb2, 0x00eed8, 0x00eff5, 0x00f109, 0x00f213, 0x00f314, 0x00f40b,
43   0x00f4fa, 0x00f5de, 0x00f6ba, 0x00f78b, 0x00f853, 0x00f912, 0x00f9c7, 0x00fa73,
44   0x00fb14, 0x00fbac, 0x00fc3b, 0x00fcbf, 0x00fd3a, 0x00fdab, 0x00fe13, 0x00fe70,
45   0x00fec4, 0x00ff0e, 0x00ff4e, 0x00ff84, 0x00ffb1, 0x00ffd3, 0x00ffec, 0x00fffb,
46   0x000000, 0xfffcdb, 0xfff9b7, 0xfff693, 0xfff370, 0xfff04d, 0xffed2a, 0xffea09,
47   0xffe6e8, 0xffe3c8, 0xffe0a9, 0xffdd8c, 0xffda6f, 0xffd755, 0xffd43b, 0xffd124,
48   0xffce0e, 0xffcafa, 0xffc7e8, 0xffc4d9, 0xffc1cc, 0xffbec1, 0xffbbb8, 0xffb8b2,
49   0xffb5af, 0xffb2af, 0xffafb2, 0xffacb8, 0xffa9c1, 0xffa6ce, 0xffa3dd, 0xffa0f1,
50   0xff9e08, 0xff9b23, 0xff9842, 0xff9564, 0xff928b, 0xff8fb6, 0xff8ce6, 0xff8a1a,
51   0xff8752, 0xff848f, 0xff81d1, 0xff7f18, 0xff7c63, 0xff79b4, 0xff770a, 0xff7465,
52   0xff71c6, 0xff6f2c, 0xff6c97, 0xff6a09, 0xff6780, 0xff64fd, 0xff6280, 0xff6009,
53   0xff5d98, 0xff5b2d, 0xff58c9, 0xff566b, 0xff5414, 0xff51c4, 0xff4f7a, 0xff4d37,
54   0xff4afb, 0xff48c5, 0xff4697, 0xff4470, 0xff4251, 0xff4038, 0xff3e27, 0xff3c1e,
55   0xff3a1b, 0xff3821, 0xff362e, 0xff3444, 0xff3260, 0xff3085, 0xff2eb2, 0xff2ce7,
56   0xff2b24, 0xff296a, 0xff27b7, 0xff260d, 0xff246b, 0xff22d2, 0xff2141, 0xff1fb9,
57   0xff1e3a, 0xff1cc3, 0xff1b55, 0xff19f0, 0xff1894, 0xff1740, 0xff15f6, 0xff14b4,
58   0xff137c, 0xff124d, 0xff1127, 0xff100a, 0xff0ef6, 0xff0dec, 0xff0ceb, 0xff0bf4,
59   0xff0b05, 0xff0a21, 0xff0945, 0xff0874, 0xff07ac, 0xff06ed, 0xff0638, 0xff058d,
60   0xff04eb, 0xff0453, 0xff03c4, 0xff0340, 0xff02c5, 0xff0254, 0xff01ec, 0xff018f,
61   0xff013b, 0xff00f1, 0xff00b1, 0xff007b, 0xff004e, 0xff002c, 0xff0013, 0xff0004
62};
63
64static const INT16 CX4_SinTable[512] =
65{
66         0,   402,    804,   1206,    1607,   2009,   2410,   2811,
67      3211,    3611,   4011,   4409,   4808,   5205,   5602,   5997,
68      6392,    6786,   7179,   7571,   7961,   8351,   8739,   9126,
69      9512,    9896,  10278,  10659,  11039,  11416,  11793,  12167,
70      12539,  12910,  13278,  13645,  14010,  14372,  14732,  15090,
71      15446,  15800,  16151,  16499,  16846,  17189,  17530,  17869,
72      18204,  18537,  18868,  19195,  19519,  19841,  20159,  20475,
73      20787,  21097,  21403,  21706,  22005,  22301,  22594,  22884,
74      23170,  23453,  23732,  24007,  24279,  24547,  24812,  25073,
75      25330,  25583,  25832,  26077,  26319,  26557,  26790,  27020,
76      27245,  27466,  27684,  27897,  28106,  28310,  28511,  28707,
77      28898,  29086,  29269,  29447,  29621,  29791,  29956,  30117,
78      30273,  30425,  30572,  30714,  30852,  30985,  31114,  31237,
79      31357,  31471,  31581,  31685,  31785,  31881,  31971,  32057,
80      32138,  32214,  32285,  32351,  32413,  32469,  32521,  32568,
81      32610,  32647,  32679,  32706,  32728,  32745,  32758,  32765,
82      32767,  32765,  32758,  32745,  32728,  32706,  32679,  32647,
83      32610,  32568,  32521,  32469,  32413,  32351,  32285,  32214,
84      32138,  32057,  31971,  31881,  31785,  31685,  31581,  31471,
85      31357,  31237,  31114,  30985,  30852,  30714,  30572,  30425,
86      30273,  30117,  29956,  29791,  29621,  29447,  29269,  29086,
87      28898,  28707,  28511,  28310,  28106,  27897,  27684,  27466,
88      27245,  27020,  26790,  26557,  26319,  26077,  25832,  25583,
89      25330,  25073,  24812,  24547,  24279,  24007,  23732,  23453,
90      23170,  22884,  22594,  22301,  22005,  21706,  21403,  21097,
91      20787,  20475,  20159,  19841,  19519,  19195,  18868,  18537,
92      18204,  17869,  17530,  17189,  16846,  16499,  16151,  15800,
93      15446,  15090,  14732,  14372,  14010,  13645,  13278,  12910,
94      12539,  12167,  11793,  11416,  11039,  10659,  10278,   9896,
95      9512,    9126,   8739,   8351,   7961,   7571,   7179,   6786,
96      6392,    5997,   5602,   5205,   4808,   4409,   4011,   3611,
97      3211,    2811,   2410,   2009,   1607,   1206,    804,    402,
98         0,   -402,   -804,  -1206,  -1607,  -2009,  -2410,  -2811,
99      -3211,  -3611,  -4011,  -4409,  -4808,  -5205,  -5602,  -5997,
100      -6392,  -6786,  -7179,  -7571,  -7961,  -8351,  -8739,  -9126,
101      -9512,  -9896,  -10278, -10659, -11039, -11416, -11793, -12167,
102   -12539, -12910, -13278, -13645, -14010, -14372, -14732, -15090,
103   -15446, -15800, -16151, -16499, -16846, -17189, -17530, -17869,
104   -18204, -18537, -18868, -19195, -19519, -19841, -20159, -20475,
105   -20787, -21097, -21403, -21706, -22005, -22301, -22594, -22884,
106   -23170, -23453, -23732, -24007, -24279, -24547, -24812, -25073,
107   -25330, -25583, -25832, -26077, -26319, -26557, -26790, -27020,
108   -27245, -27466, -27684, -27897, -28106, -28310, -28511, -28707,
109   -28898, -29086, -29269, -29447, -29621, -29791, -29956, -30117,
110   -30273, -30425, -30572, -30714, -30852, -30985, -31114, -31237,
111   -31357, -31471, -31581, -31685, -31785, -31881, -31971, -32057,
112   -32138, -32214, -32285, -32351, -32413, -32469, -32521, -32568,
113   -32610, -32647, -32679, -32706, -32728, -32745, -32758, -32765,
114   -32767, -32765, -32758, -32745, -32728, -32706, -32679, -32647,
115   -32610, -32568, -32521, -32469, -32413, -32351, -32285, -32214,
116   -32138, -32057, -31971, -31881, -31785, -31685, -31581, -31471,
117   -31357, -31237, -31114, -30985, -30852, -30714, -30572, -30425,
118   -30273, -30117, -29956, -29791, -29621, -29447, -29269, -29086,
119   -28898, -28707, -28511, -28310, -28106, -27897, -27684, -27466,
120   -27245, -27020, -26790, -26557, -26319, -26077, -25832, -25583,
121   -25330, -25073, -24812, -24547, -24279, -24007, -23732, -23453,
122   -23170, -22884, -22594, -22301, -22005, -21706, -21403, -21097,
123   -20787, -20475, -20159, -19841, -19519, -19195, -18868, -18537,
124   -18204, -17869, -17530, -17189, -16846, -16499, -16151, -15800,
125   -15446, -15090, -14732, -14372, -14010, -13645, -13278, -12910,
126   -12539, -12167, -11793, -11416, -11039, -10659, -10278, -9896,
127      -9512,  -9126,  -8739,  -8351,  -7961,  -7571,  -7179,  -6786,
128      -6392,  -5997,  -5602,  -5205,  -4808,  -4409,  -4011,  -3611,
129      -3211,  -2811,  -2410,  -2009,  -1607,  -1206,   -804,   -402
130};
131
132static const INT16 CX4_CosTable[512] =
133{
134      32767,  32765,  32758,  32745,  32728,  32706,  32679,  32647,
135      32610,  32568,  32521,  32469,  32413,  32351,  32285,  32214,
136      32138,  32057,  31971,  31881,  31785,  31685,  31581,  31471,
137      31357,  31237,  31114,  30985,  30852,  30714,  30572,  30425,
138      30273,  30117,  29956,  29791,  29621,  29447,  29269,  29086,
139      28898,  28707,  28511,  28310,  28106,  27897,  27684,  27466,
140      27245,  27020,  26790,  26557,  26319,  26077,  25832,  25583,
141      25330,  25073,  24812,  24547,  24279,  24007,  23732,  23453,
142      23170,  22884,  22594,  22301,  22005,  21706,  21403,  21097,
143      20787,  20475,  20159,  19841,  19519,  19195,  18868,  18537,
144      18204,  17869,  17530,  17189,  16846,  16499,  16151,  15800,
145      15446,  15090,  14732,  14372,  14010,  13645,  13278,  12910,
146      12539,  12167,  11793,  11416,  11039,  10659,  10278,   9896,
147      9512,    9126,   8739,   8351,   7961,   7571,   7179,   6786,
148      6392,    5997,   5602,   5205,   4808,   4409,   4011,   3611,
149      3211,    2811,   2410,   2009,   1607,   1206,    804,    402,
150         0,   -402,   -804,  -1206,  -1607,  -2009,  -2410,  -2811,
151      -3211,  -3611,  -4011,  -4409,  -4808,  -5205,  -5602,  -5997,
152      -6392,  -6786,  -7179,  -7571,  -7961,  -8351,  -8739,  -9126,
153      -9512,  -9896, -10278, -10659, -11039, -11416, -11793, -12167,
154   -12539, -12910, -13278, -13645, -14010, -14372, -14732, -15090,
155   -15446, -15800, -16151, -16499, -16846, -17189, -17530, -17869,
156   -18204, -18537, -18868, -19195, -19519, -19841, -20159, -20475,
157   -20787, -21097, -21403, -21706, -22005, -22301, -22594, -22884,
158   -23170, -23453, -23732, -24007, -24279, -24547, -24812, -25073,
159   -25330, -25583, -25832, -26077, -26319, -26557, -26790, -27020,
160   -27245, -27466, -27684, -27897, -28106, -28310, -28511, -28707,
161   -28898, -29086, -29269, -29447, -29621, -29791, -29956, -30117,
162   -30273, -30425, -30572, -30714, -30852, -30985, -31114, -31237,
163   -31357, -31471, -31581, -31685, -31785, -31881, -31971, -32057,
164   -32138, -32214, -32285, -32351, -32413, -32469, -32521, -32568,
165   -32610, -32647, -32679, -32706, -32728, -32745, -32758, -32765,
166   -32767, -32765, -32758, -32745, -32728, -32706, -32679, -32647,
167   -32610, -32568, -32521, -32469, -32413, -32351, -32285, -32214,
168   -32138, -32057, -31971, -31881, -31785, -31685, -31581, -31471,
169   -31357, -31237, -31114, -30985, -30852, -30714, -30572, -30425,
170   -30273, -30117, -29956, -29791, -29621, -29447, -29269, -29086,
171   -28898, -28707, -28511, -28310, -28106, -27897, -27684, -27466,
172   -27245, -27020, -26790, -26557, -26319, -26077, -25832, -25583,
173   -25330, -25073, -24812, -24547, -24279, -24007, -23732, -23453,
174   -23170, -22884, -22594, -22301, -22005, -21706, -21403, -21097,
175   -20787, -20475, -20159, -19841, -19519, -19195, -18868, -18537,
176   -18204, -17869, -17530, -17189, -16846, -16499, -16151, -15800,
177   -15446, -15090, -14732, -14372, -14010, -13645, -13278, -12910,
178   -12539, -12167, -11793, -11416, -11039, -10659, -10278, -9896,
179      -9512,  -9126,  -8739,  -8351,  -7961,  -7571,  -7179,  -6786,
180      -6392,  -5997,  -5602,  -5205,  -4808,  -4409,  -4011,  -3611,
181      -3211,  -2811,  -2410,  -2009,  -1607,  -1206,   -804,   -402,
182         0,    402,    804,   1206,   1607,   2009,   2410,   2811,
183      3211,    3611,   4011,   4409,   4808,   5205,   5602,   5997,
184      6392,    6786,   7179,   7571,   7961,   8351,   8739,   9126,
185      9512,    9896,  10278,  10659,  11039,  11416,  11793,  12167,
186      12539,  12910,  13278,  13645,  14010,  14372,  14732,  15090,
187      15446,  15800,  16151,  16499,  16846,  17189,  17530,  17869,
188      18204,  18537,  18868,  19195,  19519,  19841,  20159,  20475,
189      20787,  21097,  21403,  21706,  22005,  22301,  22594,  22884,
190      23170,  23453,  23732,  24007,  24279,  24547,  24812,  25073,
191      25330,  25583,  25832,  26077,  26319,  26557,  26790,  27020,
192      27245,  27466,  27684,  27897,  28106,  28310,  28511,  28707,
193      28898,  29086,  29269,  29447,  29621,  29791,  29956,  30117,
194      30273,  30425,  30572,  30714,  30852,  30985,  31114,  31237,
195      31357,  31471,  31581,  31685,  31785,  31881,  31971,  32057,
196      32138,  32214,  32285,  32351,  32413,  32469,  32521,  32568,
197      32610,  32647,  32679,  32706,  32728,  32745,  32758,  32765
198};
Property changes on: trunk/src/mess/machine/cx4data.inc
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/mess/machine/cx4ops.inc
r0r23776
1/***************************************************************************
2
3    cx4ops.c
4
5    Code based on original work by zsKnight, anomie and Nach.
6    This implementation is based on C++ "cx4*.cpp" by byuu
7    (up to date with source v 0.49).
8
9***************************************************************************/
10
11//Sprite Functions
12static void CX4_op00(running_machine& machine)
13{
14   switch(cx4.reg[0x4d])
15   {
16      case 0x00: CX4_op00_00(machine); break;
17      case 0x03: CX4_op00_03(); break;
18      case 0x05: CX4_op00_05(machine); break;
19      case 0x07: CX4_op00_07(); break;
20      case 0x08: CX4_op00_08(machine); break;
21      case 0x0b: CX4_op00_0b(machine); break;
22      case 0x0c: CX4_op00_0c(machine); break;
23   }
24}
25
26//Draw Wireframe
27static void CX4_op01(running_machine& machine)
28{
29   memset(cx4.ram + 0x300, 0, 2304);
30   CX4_C4DrawWireFrame(machine);
31}
32
33//Propulsion
34static void CX4_op05(running_machine &machine)
35{
36   INT32 temp = 0x10000;
37   if(CX4_readw(0x1f83))
38   {
39      temp = CX4_sar((temp / CX4_readw(0x1f83)) * CX4_readw(0x1f81), 8);
40   }
41   CX4_writew(machine, 0x1f80, temp);
42}
43
44//Set Vector length
45static void CX4_op0d(running_machine &machine)
46{
47   cx4.C41FXVal    = CX4_readw(0x1f80);
48   cx4.C41FYVal    = CX4_readw(0x1f83);
49   cx4.C41FDistVal = CX4_readw(0x1f86);
50   cx4.tanval = sqrt(((double)cx4.C41FYVal) * ((double)cx4.C41FYVal) + ((double)cx4.C41FXVal) * ((double)cx4.C41FXVal));
51   cx4.tanval = (double)cx4.C41FDistVal / cx4.tanval;
52   cx4.C41FYVal = (INT16)(((double)cx4.C41FYVal * cx4.tanval) * 0.99);
53   cx4.C41FXVal = (INT16)(((double)cx4.C41FXVal * cx4.tanval) * 0.98);
54   CX4_writew(machine, 0x1f89, cx4.C41FXVal);
55   CX4_writew(machine, 0x1f8c, cx4.C41FYVal);
56}
57
58//Triangle
59static void CX4_op10(void)
60{
61   cx4.r0 = CX4_ldr(0);
62   cx4.r1 = CX4_ldr(1);
63
64   cx4.r4 = cx4.r0 & 0x1ff;
65   if(cx4.r1 & 0x8000)
66   {
67      cx4.r1 |= ~0x7fff;
68   }
69
70   CX4_mul(CX4_cos(cx4.r4), cx4.r1, &cx4.r5, &cx4.r2);
71   cx4.r5 = (cx4.r5 >> 16) & 0xff;
72   cx4.r2 = (cx4.r2 << 8) + cx4.r5;
73
74   CX4_mul(CX4_sin(cx4.r4), cx4.r1, &cx4.r5, &cx4.r3);
75   cx4.r5 = (cx4.r5 >> 16) & 0xff;
76   cx4.r3 = (cx4.r3 << 8) + cx4.r5;
77
78   CX4_str(0, cx4.r0);
79   CX4_str(1, cx4.r1);
80   CX4_str(2, cx4.r2);
81   CX4_str(3, cx4.r3);
82   CX4_str(4, cx4.r4);
83   CX4_str(5, cx4.r5);
84}
85
86//Triangle
87static void CX4_op13(void)
88{
89   cx4.r0 = CX4_ldr(0);
90   cx4.r1 = CX4_ldr(1);
91
92   cx4.r4 = cx4.r0 & 0x1ff;
93
94   CX4_mul(CX4_cos(cx4.r4), cx4.r1, &cx4.r5, &cx4.r2);
95   cx4.r5 = (cx4.r5 >> 8) & 0xffff;
96   cx4.r2 = (cx4.r2 << 16) + cx4.r5;
97
98   CX4_mul(CX4_sin(cx4.r4), cx4.r1, &cx4.r5, &cx4.r3);
99   cx4.r5 = (cx4.r5 >> 8) & 0xffff;
100   cx4.r3 = (cx4.r3 << 16) + cx4.r5;
101
102   CX4_str(0, cx4.r0);
103   CX4_str(1, cx4.r1);
104   CX4_str(2, cx4.r2);
105   CX4_str(3, cx4.r3);
106   CX4_str(4, cx4.r4);
107   CX4_str(5, cx4.r5);
108}
109
110//Pythagorean
111static void CX4_op15(running_machine &machine)
112{
113   double temp = 0.0;
114   cx4.C41FXVal = CX4_readw(0x1f80);
115   cx4.C41FYVal = CX4_readw(0x1f83);
116   temp = sqrt((double)cx4.C41FXVal * (double)cx4.C41FXVal + (double)cx4.C41FYVal * (double)cx4.C41FYVal);
117   cx4.C41FDist = (INT16)temp;
118   CX4_writew(machine, 0x1f80, cx4.C41FDist);
119}
120
121//Calculate distance
122static void CX4_op1f(running_machine &machine)
123{
124   cx4.C41FXVal = CX4_readw(0x1f80);
125   cx4.C41FYVal = CX4_readw(0x1f83);
126   if(!cx4.C41FXVal)
127   {
128      cx4.C41FAngleRes = (cx4.C41FYVal > 0) ? 0x080 : 0x180;
129   }
130   else
131   {
132      cx4.tanval = ((double)cx4.C41FYVal) / ((double)cx4.C41FXVal);
133      cx4.C41FAngleRes = (INT16)(atan(cx4.tanval) / (PI * 2) * 512);
134      cx4.C41FAngleRes = cx4.C41FAngleRes;
135      if(cx4.C41FXVal < 0)
136      {
137         cx4.C41FAngleRes += 0x100;
138      }
139      cx4.C41FAngleRes &= 0x1ff;
140   }
141   CX4_writew(machine, 0x1f86, cx4.C41FAngleRes);
142}
143
144//Trapezoid
145static void CX4_op22(void)
146{
147   INT16 angle1 = CX4_readw(0x1f8c) & 0x1ff;
148   INT16 angle2 = CX4_readw(0x1f8f) & 0x1ff;
149   INT32 tan1 = CX4_Tan(angle1);
150   INT32 tan2 = CX4_Tan(angle2);
151   INT16 y = CX4_readw(0x1f83) - CX4_readw(0x1f89);
152   INT16 left, right;
153   INT32 j;
154
155   for(j = 0; j < 225; j++, y++)
156   {
157      if(y >= 0)
158      {
159         left  = CX4_sar((INT32)tan1 * y, 16) - CX4_readw(0x1f80) + CX4_readw(0x1f86);
160         right = CX4_sar((INT32)tan2 * y, 16) - CX4_readw(0x1f80) + CX4_readw(0x1f86) + CX4_readw(0x1f93);
161
162         if(left < 0 && right < 0)
163         {
164            left  = 1;
165            right = 0;
166         }
167         else if(left < 0)
168         {
169            left  = 0;
170         }
171         else if(right < 0)
172         {
173            right = 0;
174         }
175
176         if(left > 255 && right > 255)
177         {
178            left  = 255;
179            right = 254;
180         }
181         else if(left > 255)
182         {
183            left  = 255;
184         }
185         else if(right > 255)
186         {
187            right = 255;
188         }
189      }
190      else
191      {
192         left  = 1;
193         right = 0;
194      }
195      cx4.ram[j + 0x800] = (UINT8)left;
196      cx4.ram[j + 0x900] = (UINT8)right;
197   }
198}
199
200//Multiply
201static void CX4_op25(void)
202{
203   cx4.r0 = CX4_ldr(0);
204   cx4.r1 = CX4_ldr(1);
205   CX4_mul(cx4.r0, cx4.r1, &cx4.r0, &cx4.r1);
206   CX4_str(0, cx4.r0);
207   CX4_str(1, cx4.r1);
208}
209
210//Transform Coords
211static void CX4_op2d(running_machine &machine)
212{
213   cx4.C4WFXVal  = CX4_readw(0x1f81);
214   cx4.C4WFYVal  = CX4_readw(0x1f84);
215   cx4.C4WFZVal  = CX4_readw(0x1f87);
216   cx4.C4WFX2Val = CX4_read (0x1f89);
217   cx4.C4WFY2Val = CX4_read (0x1f8a);
218   cx4.C4WFDist  = CX4_read (0x1f8b);
219   cx4.C4WFScale = CX4_readw(0x1f90);
220   CX4_C4TransfWireFrame2();
221   CX4_writew(machine, 0x1f80, cx4.C4WFXVal);
222   CX4_writew(machine, 0x1f83, cx4.C4WFYVal);
223}
224
225//Sum
226static void CX4_op40(void)
227{
228   UINT32 i;
229   cx4.r0 = 0;
230   for(i=0;i<0x800;i++)
231   {
232      cx4.r0 += cx4.ram[i];
233   }
234   CX4_str(0, cx4.r0);
235}
236
237//Square
238static void CX4_op54(void)
239{
240   cx4.r0 = CX4_ldr(0);
241   CX4_mul(cx4.r0, cx4.r0, &cx4.r1, &cx4.r2);
242   CX4_str(1, cx4.r1);
243   CX4_str(2, cx4.r2);
244}
245
246//Immediate Register
247static void CX4_op5c(void)
248{
249   CX4_str(0, 0x000000);
250   CX4_immediate_reg(0);
251}
252
253//Immediate Register (Multiple)
254static void CX4_op5e(void) { CX4_immediate_reg( 0); }
255static void CX4_op60(void) { CX4_immediate_reg( 3); }
256static void CX4_op62(void) { CX4_immediate_reg( 6); }
257static void CX4_op64(void) { CX4_immediate_reg( 9); }
258static void CX4_op66(void) { CX4_immediate_reg(12); }
259static void CX4_op68(void) { CX4_immediate_reg(15); }
260static void CX4_op6a(void) { CX4_immediate_reg(18); }
261static void CX4_op6c(void) { CX4_immediate_reg(21); }
262static void CX4_op6e(void) { CX4_immediate_reg(24); }
263static void CX4_op70(void) { CX4_immediate_reg(27); }
264static void CX4_op72(void) { CX4_immediate_reg(30); }
265static void CX4_op74(void) { CX4_immediate_reg(33); }
266static void CX4_op76(void) { CX4_immediate_reg(36); }
267static void CX4_op78(void) { CX4_immediate_reg(39); }
268static void CX4_op7a(void) { CX4_immediate_reg(42); }
269static void CX4_op7c(void) { CX4_immediate_reg(45); }
270
271//Immediate ROM
272static void CX4_op89(void)
273{
274   CX4_str(0, 0x054336);
275   CX4_str(1, 0xffffff);
276}
Property changes on: trunk/src/mess/machine/cx4ops.inc
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/mess/machine/nes_pcb.inc
r0r23776
1/*****************************************************************************************
2
3    NES Cart PCBs Emulation
4
5****************************************************************************************/
6
7struct nes_pcb
8{
9   const char              *slot_opt;
10   int                     pcb_id;
11};
12
13// Here, we take the feature attribute from .xml (i.e. the PCB name) and we assign a unique ID to it
14static const nes_pcb pcb_list[] =
15{
16   { "nrom",             STD_NROM },
17   { "hvc_basic",        HVC_FAMBASIC },
18   { "nrom_gg",          GG_NROM },
19   { "uxrom",            STD_UXROM },
20   { "unrom_cc",         UXROM_CC },
21   { "cnrom",            STD_CNROM },
22   { "bandai_pt554",     BANDAI_PT554 },
23   { "cprom",            STD_CPROM },
24   { "axrom",            STD_AXROM },
25   { "pxrom",            STD_PXROM },
26   { "fxrom",            STD_FXROM },
27   { "bnrom",            STD_BXROM },
28   { "gxrom",            STD_GXROM },
29   { "un1rom",           STD_UN1ROM },
30   { "sxrom",            STD_SXROM },
31   { "sorom",            STD_SOROM },
32   { "sxrom_a",          STD_SXROM_A },
33   { "sorom_a",          STD_SOROM_A },
34   { "txrom",            STD_TXROM },
35   { "hkrom",            STD_HKROM },
36   { "tqrom",            STD_TQROM },
37   { "txsrom",           STD_TXSROM },
38   { "exrom",            STD_EXROM },
39   { "pal_zz",           PAL_ZZ },
40   { "nes_qj",           NES_QJ },
41   { "nes_event",        STD_EVENT },
42   { "discrete_74x139",  DIS_74X139X74 },
43   { "discrete_74x377",  DIS_74X377 },
44   { "discrete_74x161",  DIS_74X161X161X32 },
45   { "bitcorp_dis",      DIS_74X161X138 },
46   { "lz93d50",          BANDAI_LZ93 },
47   { "lz93d50_ep1",      BANDAI_LZ93EX1 },
48   { "lz93d50_ep2",      BANDAI_LZ93EX2 },
49   { "fcg",              BANDAI_FCG },
50   { "fjump2",           BANDAI_FJUMP2 },
51   { "datach",           BANDAI_DATACH },
52   { "karastudio",       BANDAI_KARAOKE },
53   { "oekakids",         BANDAI_OEKAKIDS },
54   { "g101",             IREM_G101 },
55   { "lrog017",          IREM_LROG017 },
56   { "h3001",            IREM_H3001 },
57   { "holydivr",         IREM_HOLYDIVR },
58   { "tam_s1",           IREM_TAM_S1 },
59   { "jf11",             JALECO_JF11 },
60   { "jf13",             JALECO_JF13 },
61   { "jf16",             JALECO_JF16 },
62   { "jf17",             JALECO_JF17 },
63   { "jf17pcm",          JALECO_JF17_ADPCM },
64   { "jf19",             JALECO_JF19 },
65   { "jf19pcm",          JALECO_JF19_ADPCM },
66   { "ss88006",          JALECO_SS88006 },
67   { "jf23",             JALECO_JF23 },
68   { "jf24",             JALECO_JF24 },
69   { "jf29",             JALECO_JF29 },
70   { "jf33",             JALECO_JF33 },
71   { "vrc1",             KONAMI_VRC1 },
72   { "vrc2",             KONAMI_VRC2 },
73   { "vrc3",             KONAMI_VRC3 },
74   { "vrc4",             KONAMI_VRC4 },
75   { "vrc6",             KONAMI_VRC6 },
76   { "vrc7",             KONAMI_VRC7 },
77   { "namcot_163",       NAMCOT_163 },
78   { "namcot_175",       NAMCOT_175 },
79   { "namcot_340",       NAMCOT_340 },
80   { "namcot_3433",      NAMCOT_34X3 },    // DxROM is a Nintendo board for US versions of the 3433/3443 games
81   { "namcot_3425",      NAMCOT_3425 },
82   { "namcot_3446",      NAMCOT_3446 },
83   { "sunsoft1",         SUNSOFT_1 },
84   { "sunsoft2",         SUNSOFT_2 },
85   { "sunsoft3",         SUNSOFT_3 },
86   { "sunsoft4",         SUNSOFT_4 },
87   { "sunsoft_dcs",      SUNSOFT_DCS },
88   { "sunsoft_fme7",     SUNSOFT_FME7 },  // JxROM is a Nintendo board for US versions of the Sunsoft FME7 games
89   { "sunsoft5a",        SUNSOFT_FME7 },
90   { "sunsoft5b",        SUNSOFT_5 },
91   { "tc0190fmc",        TAITO_TC0190FMC },
92   { "tc0190fmcp",       TAITO_TC0190FMCP },
93   { "tc0350fmr",        TAITO_TC0190FMC },
94   { "x1_005",           TAITO_X1_005 },    // two variants exist, depending on pin17 & pin31 connections
95   { "x1_017",           TAITO_X1_017 },
96   { "nina001",          AVE_NINA01 },
97   { "nina006",          AVE_NINA06 },
98   { "maxi15",           AVE_MAXI15 },
99   { "bf9093",           CAMERICA_BF9093 },
100   { "bf9096",           CAMERICA_BF9096 },
101   { "goldenfive",       CAMERICA_GOLDENFIVE },
102   { "cne_decathl",      CNE_DECATHLON },
103   { "cne_fsb",          CNE_FSB },
104   { "cne_shlz",         CNE_SHLZ },
105   { "nanjing",          NANJING_BOARD },  // mapper 163
106   { "ntdec_asder",      NTDEC_ASDER },    // mapper 112
107   { "ntdec_fh",         NTDEC_FIGHTINGHERO },     // mapper 193
108   { "sa009",            SACHEN_SA009 },
109   { "sa0036",           SACHEN_SA0036 },
110   { "sa0037",           SACHEN_SA0037 },
111   { "sa72007",          SACHEN_SA72007 },
112   { "sa72008",          SACHEN_SA72008 },
113   { "tca01",            SACHEN_TCA01 },
114   { "s8259a",           SACHEN_8259A },
115   { "s8259b",           SACHEN_8259B },
116   { "s8259c",           SACHEN_8259C },
117   { "s8259d",           SACHEN_8259D },
118   { "s74x374",          SACHEN_74LS374 },
119   { "s74x374a",         SACHEN_74LS374_ALT },   /* FIXME: Made up boards some different handling */
120   { "tcu01",            SACHEN_TCU01 },
121   { "tcu02",            SACHEN_TCU02 },
122   { "sa9602b",          SACHEN_SA9602B },
123   { "tengen_800008",    TENGEN_800008 },  /* FIXME: Is this the same as mapper 3? */
124   { "tengen_800032",    TENGEN_800032 },
125   { "tengen_800037",    TENGEN_800037 },
126   { "txc_22211",        TXC_22211 },
127   { "txc_dumarc",       TXC_DUMARACING },
128   { "txc_mjblock",      TXC_MJBLOCK },
129   { "txc_strikew",      TXC_STRIKEW },
130   { "txc_commandos",    TXC_COMMANDOS },
131   { "waixing_a",        WAIXING_TYPE_A },
132   { "waixing_a1",       WAIXING_TYPE_A1 },    /* FIXME: Made up boards the different CHRRAM banks (see Ji Jia Zhan Shi },  */
133   { "waixing_b",        WAIXING_TYPE_B },
134   { "waixing_c",        WAIXING_TYPE_C },
135   { "waixing_d",        WAIXING_TYPE_D },
136   { "waixing_e",        WAIXING_TYPE_E },
137   { "waixing_f",        WAIXING_TYPE_F },
138   { "waixing_g",        WAIXING_TYPE_G },
139   { "waixing_h",        WAIXING_TYPE_H },
140   { "waixing_h1",       WAIXING_TYPE_H1 },
141   { "waixing_i",        WAIXING_TYPE_I },
142   { "waixing_j",        WAIXING_TYPE_J },
143   { "waixing_sgz",      WAIXING_SGZ },
144   { "waixing_sgzlz",    WAIXING_SGZLZ },
145   { "waixing_sec",      WAIXING_SECURITY },
146   { "waixing_ffv",      WAIXING_FFV },
147   { "waixing_wxzs",     WAIXING_WXZS },
148   { "waixing_wxzs2",    WAIXING_WXZS2 },
149   { "waixing_dq8",      WAIXING_DQ8 },
150   { "waixing_sh2",      WAIXING_SH2 },
151   { "fs304",            WAIXING_FS304 },   // used in Zelda 3 by Waixing
152   { "cony",             CONY_BOARD },
153   { "yoko",             YOKO_BOARD },
154   { "hengg_srich",      HENGG_SRICH },
155   { "hengg_xhzs",       HENGG_XHZS },
156   { "hengg_shjy3",      HENGG_SHJY3 },    // mapper 253
157   { "hes",              HES_BOARD },
158   { "hosenkan",         HOSENKAN_BOARD },
159   { "ks7058",           KAISER_KS7058 },
160   { "ks202",            KAISER_KS202 },   // mapper 56
161   { "ks7022",           KAISER_KS7022 }, // mapper 175
162   { "ks7017",           KAISER_KS7017 },
163   { "ks7032",           KAISER_KS7032 },  //  mapper 142
164   { "ks7031",           KAISER_KS7031 },  //  used in Dracula II (FDS Conversion)
165   { "ks7012",           KAISER_KS7012 },     // used in Zanac (FDS Conversion)
166   { "ks7013b",          KAISER_KS7013B },    // used in Highway Star (FDS Conversion)
167   { "gs2015",           RCM_GS2015 },
168   { "gs2004",           RCM_GS2004 },
169   { "gs2013",           RCM_GS2013 },
170   { "tf9in1",           RCM_TF9IN1 },
171   { "3dblock",          RCM_3DBLOCK },    // NROM + IRQ?
172   { "racermate",        UNL_RACERMATE },  // mapper 168
173   { "agci_50282",       AGCI_50282 },
174   { "dreamtech01",      DREAMTECH_BOARD },
175   { "fukutake",         FUKUTAKE_BOARD },
176   { "futuremedia",      FUTUREMEDIA_BOARD },
177   { "magicseries",      MAGICSERIES_MD },
178   { "daou_306",         OPENCORP_DAOU306 },
179   { "subor0",           SUBOR_TYPE0 },
180   { "subor1",           SUBOR_TYPE1 },
181   { "cc21",             UNL_CC21 },
182   { "xiaozy",           UNL_XIAOZY },
183   { "edu2k",            UNL_EDU2K },
184   { "t230",             UNL_T230 },
185   { "mk2",              UNL_MK2 },
186   // misc bootleg boards
187   { "ax5705",           UNL_AX5705 },
188   { "sc127",            UNL_SC127 },
189   { "mariobaby",        BTL_MARIOBABY },
190   { "asnicol",          BTL_AISENSHINICOL },
191   { "smb3pirate",       BTL_SMB3 },
192   { "btl_dninja",       BTL_DRAGONNINJA },
193   { "whirl2706",        WHIRLWIND_2706 },
194   { "smb2j",            UNL_SMB2J },
195   { "smb2ja",           BTL_SMB2JA },
196   { "smb2jb",           BTL_SMB2JB },
197   { "09034a",           BTL_09034A },
198   { "tobidase",         BTL_TOBIDASE },  // mapper 120
199   { "dbz5",             REXSOFT_DBZ5 },
200   { "sl1632",           REXSOFT_SL1632 },
201   { "somari",           SOMARI_SL12 },  // mapper 116
202   { "nitra",            NITRA_TDA },
203   { "ks7057",           UNL_KS7057 },  // mapper 196 alt (for Street Fighter VI / Fight Street VI },
204   { "sbros11",          BTL_SBROS11 },
205   { "family4646",       BMC_FAMILY_4646 },
206   { "pikay2k",          BTL_PIKACHUY2K },  // mapper 254
207   { "8237",             UNL_8237 },
208   { "sg_lionk",         SUPERGAME_LIONKING },
209   { "sg_boog",          SUPERGAME_BOOGERMAN },
210   { "kasing",           KASING_BOARD },
211   { "kay",              KAY_BOARD },
212   { "h2288",            UNL_H2288 },
213   { "unl_6035052",      UNL_603_5052 },   // mapper 238?
214   { "txc_tw",           TXC_TW },
215   { "kof97",            UNL_KOF97 },
216   { "kof96",            UNL_KOF96 },
217   { "sfight3",          UNL_SF3 },
218   { "gouder",           GOUDER_37017 },
219   { "benshieng",        BMC_BENSHIENG },
220   { "action52",         ACTENT_ACT52 },
221   { "caltron6in1",      CALTRON_6IN1 },
222   { "rumblestation",    RUMBLESTATION_BOARD },     // mapper 46
223   { "svision16",        SVISION16_BOARD },
224   { "n625092",          UNL_N625092 },
225   { "a65as",            BMC_A65AS },
226   { "t262",             BMC_T262 },
227   { "novel1",           BMC_NOVEL1 },
228   { "novel2",           BMC_NOVEL2 },  // mapper 213... same as BMC-NOVELDIAMOND9999999IN1 board?
229   { "studyngame",       UNL_STUDYNGAME },  // mapper 39
230   { "sgun20in1",        BMC_SUPERGUN_20IN1 },
231   { "bmc_vt5201",       BMC_VT5201 },  // mapper 60 otherwise
232   { "bmc_d1038",        BMC_VT5201 },  // mapper 60?
233   { "810544c",          BMC_810544 },
234   { "ntd03",            BMC_NTD_03 },
235   { "bmc_gb63",         BMC_G63IN1 },
236   { "bmc_gka",          BMC_GKA },
237   { "bmc_gkb",          BMC_GKB },
238   { "bmc_ws",           BMC_WS },
239   { "bmc_hik300",       BMC_SUPERHIK_300IN1 },
240   { "bmc_s700",         BMC_SUPER_700IN1 },
241   { "bmc_ball11",       BMC_BALLGAMES_11IN1 },
242   { "bmc_22games",      BMC_22GAMES },
243   { "bmc_64y2k",        BMC_64IN1NR },
244   { "bmc_12in1",        BMC_12IN1 },
245   { "bmc_20in1",        BMC_20IN1 },
246   { "bmc_21in1",        BMC_21IN1 },
247   { "bmc_31in1",        BMC_31IN1 },
248   { "bmc_35in1",        BMC_35IN1 },
249   { "bmc_36in1",        BMC_36IN1 },
250   { "bmc_64in1",        BMC_64IN1 },
251   { "bmc_70in1",        BMC_70IN1 },
252   { "bmc_72in1",        BMC_72IN1 },
253   { "bmc_76in1",        BMC_76IN1 },
254   { "bmc_s42in1",       BMC_76IN1 },
255   { "bmc_110in1",       BMC_110IN1 },
256   { "bmc_150in1",       BMC_150IN1 },
257   { "bmc_190in1",       BMC_190IN1 },
258   { "bmc_800in1",       BMC_800IN1 },
259   { "bmc_1200in1",      BMC_1200IN1 },
260   { "bmc_8157",         BMC_8157 },
261   { "bmc_g146",         BMC_G146 },
262   { "bmc_11160",        BMC_11160 },
263   { "fk23c",            BMC_FK23C },
264   { "fk23ca",           BMC_FK23CA },
265   { "s24in1c03",        BMC_S24IN1SC03 },
266   { "bmc_15in1",        BMC_15IN1 },
267   { "bmc_sbig7in1",     BMC_SUPERBIG_7IN1 },
268   { "bmc_hik8in1",      BMC_HIK8IN1 },
269   { "bmc_hik4in1",      BMC_SUPERHIK_4IN1 },
270   { "bmc_mario7in1",    BMC_MARIOPARTY_7IN1 },
271   { "bmc_gold7in1",     BMC_GOLD_7IN1 },
272   { "bmc_gc6in1",       BMC_GOLDENCARD_6IN1 },
273   { "bmc_411120c",      BMC_411120C },
274   { "bmc_830118c",      BMC_830118C },
275   { "pjoy84",           BMC_PJOY84 },
276   { "bmc_gold150",      BMC_GOLD150 },
277   { "bmc_gold260",      BMC_GOLD260 },
278   { "bmc_power255",     BMC_CH001 },
279   { "bmc_s22games",     BMC_SUPER22 },
280   { "bmc_reset4",       BMC_4IN1RESET },
281   { "bmc_reset42",      BMC_42IN1RESET },
282   { "jyc_a",            JYCOMPANY_A },
283   { "jyc_b",            JYCOMPANY_B },
284   { "jyc_c",            JYCOMPANY_C },
285   { "tek90",            JYCOMPANY_A },
286   { "sa9602b",          SACHEN_SA9602B },
287   { "unl_shero",        SACHEN_SHERO },
288   { "mmalee2",          UNL_MMALEE },
289   { "unl_2708",         UNL_2708 },
290   { "unl_lh10",         UNL_LH10 },
291   { "unl_lh32",         UNL_LH32 },
292   { "unl_lh53",         UNL_LH53 },
293   { "unl_ac08",         UNL_AC08 },
294   { "unl_bb",           UNL_BB },
295   { "unl_malisb",       UNL_MALISB },
296   { "sgpipe",           BTL_SHUIGUAN },
297   { "unl_whero",        UNL_WORLDHERO },
298   { "unl_43272",        UNL_43272 },
299   { "tf1201",           UNL_TF1201 },
300   { "unl_cfight",       UNL_CITYFIGHT },
301   { "ffe3",             FFE3_BOARD },
302   { "ffe4",             FFE4_BOARD },
303   { "ffe8",             FFE8_BOARD },
304   { "8237a",            UNSUPPORTED_BOARD },
305   { "ninjaryu",         UNSUPPORTED_BOARD },
306   { "unl_dance",        UNSUPPORTED_BOARD },
307   { "bmc_hik_kof",      UNSUPPORTED_BOARD },
308   { "onebus",           UNSUPPORTED_BOARD },
309   { "a9746",            UNSUPPORTED_BOARD },
310   { "test",             TEST_BOARD },
311   { "unknown",          UNKNOWN_BOARD }  //  a few pirate dumps uses the wrong mapper...
312};
313
314static const nes_pcb *nes_pcb_lookup( const char *slot )
315{
316   for (int i = 0; i < ARRAY_LENGTH(pcb_list); i++)
317   {
318      if (!mame_stricmp(pcb_list[i].slot_opt, slot))
319         return &pcb_list[i];
320   }
321   return NULL;
322}
323
324static const nes_pcb *nes_id_lookup( int id )
325{
326   for (int i = 0; i < ARRAY_LENGTH(pcb_list); i++)
327   {
328      if (pcb_list[i].pcb_id == id)
329         return &pcb_list[i];
330   }
331   return NULL;
332}
333
334int nes_cart_slot_device::nes_get_pcb_id( const char *slot )
335{
336   const nes_pcb *pcb = nes_pcb_lookup(slot);
337
338   if (pcb == NULL)
339      fatalerror("Unimplemented PCB type %s\n", slot);
340
341   return pcb->pcb_id;
342}
343
344
345const char * nes_cart_slot_device::nes_get_slot( int pcb_id )
346{
347   const nes_pcb *pcb = nes_id_lookup(pcb_id);
348
349   if (pcb == NULL)
350      fatalerror("Unimplemented PCB ID %d\n", pcb_id);
351
352   return pcb->slot_opt;
353}
354
355
356/*************************************************************
357
358 nes_pcb_reset
359
360 Resets the mmc bankswitch areas to their defaults.
361 It returns a value "err" that indicates if it was
362 successful. Possible values for err are:
363
364 0 = success
365 1 = no pcb found
366 2 = pcb not supported
367
368 *************************************************************/
369
370struct nes_cart_lines
371{
372   const char *tag;
373   int line;
374};
375
376static const struct nes_cart_lines nes_cart_lines_table[] =
377{
378   { "PRG A0",    0 },
379   { "PRG A1",    1 },
380   { "PRG A2",    2 },
381   { "PRG A3",    3 },
382   { "PRG A4",    4 },
383   { "PRG A5",    5 },
384   { "PRG A6",    6 },
385   { "PRG A7",    7 },
386   { "CHR A10",  10 },
387   { "CHR A11",  11 },
388   { "CHR A12",  12 },
389   { "CHR A13",  13 },
390   { "CHR A14",  14 },
391   { "CHR A15",  15 },
392   { "CHR A16",  16 },
393   { "CHR A17",  17 },
394   { "NC",      127 },
395   { 0 }
396};
397
398static int nes_cart_get_line( const char *feature )
399{
400   const struct nes_cart_lines *nes_line = &nes_cart_lines_table[0];
401
402   if (feature == NULL)
403      return 128;
404
405   while (nes_line->tag)
406   {
407      if (strcmp(nes_line->tag, feature) == 0)
408         break;
409
410      nes_line++;
411   }
412
413   return nes_line->line;
414}
415
416void nes_cart_slot_device::call_load_pcb()
417{
418   UINT32 vram_size = 0, prgram_size = 0, battery_size = 0, mapper_sram_size = 0;
419   // SETUP step 1: getting PRG, VROM, VRAM sizes
420   UINT32 prg_size = get_software_region_length("prg");
421   UINT32 vrom_size = get_software_region_length("chr");
422   vram_size = get_software_region_length("vram");
423   vram_size += get_software_region_length("vram2");
424
425   // validate the xml fields
426   if (!prg_size)
427      fatalerror("No PRG entry for this software! Please check if the xml list got corrupted\n");
428   if (prg_size < 0x8000)
429      fatalerror("PRG entry is too small! Please check if the xml list got corrupted\n");
430
431   // SETUP step 2: getting PCB and other settings
432   if (get_feature("slot"))
433      m_pcb_id = nes_get_pcb_id(get_feature("slot"));
434   else
435      m_pcb_id = NO_BOARD;
436
437   // SETUP step 3: storing the info needed for emulation
438   if (get_software_region("bwram") != NULL)
439      battery_size = get_software_region_length("bwram");
440
441   if (m_pcb_id == BANDAI_LZ93EX1 || m_pcb_id == BANDAI_LZ93EX2)
442   {
443      // allocate the 24C01 or 24C02 EEPROM
444      battery_size += 0x2000;
445   }
446
447   if (m_pcb_id == BANDAI_DATACH)
448   {
449      // allocate the 24C01 and 24C02 EEPROM
450      battery_size += 0x4000;
451   }
452
453   if (get_software_region("wram") != NULL)
454      prgram_size = get_software_region_length("wram");
455
456   if (get_feature("mirroring"))
457   {
458      const char *mirroring = get_feature("mirroring");
459      if (!strcmp(mirroring, "horizontal"))
460         m_cart->set_mirroring(PPU_MIRROR_HORZ);
461      if (!strcmp(mirroring, "vertical"))
462         m_cart->set_mirroring(PPU_MIRROR_VERT);
463      if (!strcmp(mirroring, "high"))
464         m_cart->set_mirroring(PPU_MIRROR_HIGH);
465      if (!strcmp(mirroring, "low"))
466         m_cart->set_mirroring(PPU_MIRROR_LOW);
467      if (!strcmp(mirroring, "4screen"))
468      {
469         // A few boards uses 4-screen mirroring: Gauntlet (DDROM or TRR1ROM or Tengen 800004),
470         // Rad Racer II (TVROM), and Napoleon Senki (IREM LROG017 with 74*161/161/21/138)
471         m_cart->set_four_screen_vram(TRUE);
472         m_cart->set_mirroring(PPU_MIRROR_4SCREEN);
473      }
474      if (!strcmp(mirroring, "pcb_controlled"))
475      {
476         // A few boards have variants with hardcoded mirroring and variants with mapper
477         // controlled mirroring. We use a variable to avoid the need of dupe devices.
478         // See e.g. HES 6-in-1 vs other HES games, Irem Major League vs other G-101 games,
479         // Sunsoft-2 Shanghai vs Mito Koumon, Camerica BF9093 games vs BF9097 games, etc.
480         // Boards where all games control mirroring do not make real use of this.
481         m_cart->set_pcb_ctrl_mirror(TRUE);
482      }
483   }
484
485   /* Check for pins in specific boards which require them */
486   if (m_pcb_id == STD_CNROM)
487   {
488      int mask = 0, state = 0;
489
490      if (get_feature("chr-pin26") != NULL)
491      {
492         mask |= 0x01;
493         state |= !strcmp(get_feature("chr-pin26"), "CE") ? 0x01 : 0;
494      }
495      if (get_feature("chr-pin27") != NULL)
496      {
497         mask |= 0x02;
498         state |= !strcmp(get_feature("chr-pin27"), "CE") ? 0x02 : 0;
499      }
500
501      m_cart->set_ce(mask, state);
502   }
503
504   if (m_pcb_id == TAITO_X1_005 && get_feature("x1-pin17") != NULL && get_feature("x1-pin31") != NULL)
505   {
506      if (!strcmp(get_feature("x1-pin17"), "CIRAM A10") && !strcmp(get_feature("x1-pin31"), "NC"))
507         m_cart->set_x1_005_alt(TRUE);
508   }
509
510   if (m_pcb_id == KONAMI_VRC2)
511   {
512      m_cart->set_vrc_lines(nes_cart_get_line(get_feature("vrc2-pin3")),
513                  nes_cart_get_line(get_feature("vrc2-pin4")),
514                  (nes_cart_get_line(get_feature("vrc2-pin21")) != 10) ? 1 : 0);
515//      mame_printf_error("VRC-2, pin3: A%d, pin4: A%d, pin21: %d\n", nes_cart_get_line(get_feature("vrc2-pin3")), nes_cart_get_line(get_feature("vrc2-pin4")),
516//                              nes_cart_get_line(get_feature("vrc2-pin21")));
517   }
518
519   if (m_pcb_id == KONAMI_VRC4)
520   {
521      m_cart->set_vrc_lines(nes_cart_get_line(get_feature("vrc4-pin3")),
522                  nes_cart_get_line(get_feature("vrc4-pin4")),
523                  0);
524//      mame_printf_error("VRC-4, pin3: A%d, pin4: A%d\n", nes_cart_get_line(get_feature("vrc4-pin3"), nes_cart_get_line(get_feature("vrc4-pin4"));
525   }
526
527   if (m_pcb_id == KONAMI_VRC6)
528   {
529      m_cart->set_vrc_lines(nes_cart_get_line(get_feature("vrc6-pin9")),
530                  nes_cart_get_line(get_feature("vrc6-pin10")),
531                  0);
532//      mame_printf_error("VRC-6, pin9: A%d, pin10: A%d\n", nes_cart_get_line(get_feature("vrc6-pin9"), nes_cart_get_line(get_feature("vrc6-pin10"));
533   }
534
535   if (m_pcb_id == STD_HKROM || m_pcb_id == TAITO_X1_017)
536      mapper_sram_size = m_cart->get_mapper_sram_size();
537
538   if (m_pcb_id == TAITO_X1_005 || m_pcb_id == NAMCOT_163)
539   {
540      if (get_feature("batt"))
541         mapper_sram_size = m_cart->get_mapper_sram_size();
542   }
543
544
545   // pirate variants of boards with bus conflict are often not suffering from it
546   // and actually games glitch if bus conflict is emulated...
547   if (get_feature("bus_conflict") && !strcmp(get_feature("bus_conflict"), "no"))
548      m_cart->set_bus_conflict(FALSE);
549
550
551   // SETUP step 4: logging what we have found
552   logerror("Loaded game from softlist:\n");
553   logerror("-- PCB: %s", get_feature("pcb"));
554   if (m_pcb_id == UNSUPPORTED_BOARD)
555      logerror(" (currently not supported by MESS)");
556   logerror("\n-- PRG 0x%x (%d x 16k chunks)\n", prg_size, prg_size / 0x4000);
557   logerror("-- VROM 0x%x (%d x 8k chunks)\n", vrom_size, vrom_size / 0x2000);
558   logerror("-- VRAM 0x%x (%d x 8k chunks)\n", vram_size, vram_size / 0x2000);
559   logerror("-- PRG NVWRAM: %d\n", m_cart->get_battery_size());
560   logerror("-- PRG WRAM: %d\n",  m_cart->get_prgram_size());
561
562   // SETUP steps 5/6: allocate pointers for PRG/VROM and load the data!
563   m_cart->prg_alloc(machine(), prg_size);
564   memcpy(m_cart->get_prg_base(), get_software_region("prg"), prg_size);
565   if (vrom_size)
566   {
567      m_cart->vrom_alloc(machine(), vrom_size);
568      memcpy(m_cart->get_vrom_base(), get_software_region("chr"), vrom_size);
569   }
570
571   // SETUP steps 7: allocate the remaining pointer, when needed
572   if (vram_size)
573      m_cart->vram_alloc(machine(), vram_size);
574   if (prgram_size)
575      m_cart->prgram_alloc(machine(), prgram_size);
576
577   // also nes_smb2j_device needs WRAM initialized to 0xff? check!
578   if (m_pcb_id == UNL_SMB2J)
579      memset(m_cart->get_prgram_base(), 0xff, prgram_size);
580
581   // Attempt to load a battery file for this ROM
582   // A few boards have internal RAM with a battery (MMC6, Taito X1-005 & X1-017, etc.)
583   if (battery_size || mapper_sram_size)
584   {
585      UINT32 tot_size = battery_size + mapper_sram_size;
586      UINT8 *temp_nvram = auto_alloc_array(machine(), UINT8, tot_size);
587      battery_load(temp_nvram, tot_size, 0x00);
588      if (battery_size)
589      {
590         m_cart->battery_alloc(machine(), battery_size);
591         memcpy(m_cart->get_battery_base(), temp_nvram, battery_size);
592      }
593      if (mapper_sram_size)
594         memcpy(m_cart->get_mapper_sram_base(), temp_nvram + battery_size, mapper_sram_size);
595
596      if (temp_nvram)
597         auto_free(machine(), temp_nvram);
598   }
599}
Property changes on: trunk/src/mess/machine/nes_pcb.inc
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/mess/machine/nes_slot.c
r23775r23776
860860 -------------------------------------------------*/
861861
862862/* Include emulation of NES PCBs for softlist */
863#include "machine/nes_pcb.c"
863#include "machine/nes_pcb.inc"
864864
865865
866866/*-------------------------------------------------
r23775r23776
870870 -------------------------------------------------*/
871871
872872/* Include emulation of UNIF Boards for .unf files */
873#include "machine/nes_unif.c"
873#include "machine/nes_unif.inc"
874874
875875
876876/*-------------------------------------------------
r23775r23776
880880 -------------------------------------------------*/
881881
882882/* Include emulation of iNES Mappers for .nes files */
883#include "machine/nes_ines.c"
883#include "machine/nes_ines.inc"
884884
885885
886886bool nes_cart_slot_device::call_load()
trunk/src/mess/machine/nes_unif.inc
r0r23776
1/*****************************************************************************************
2
3    NES MMC Emulation - UNIF boards
4
5    Very preliminary support for UNIF boards
6
7    TODO:
8    - properly support WRAM, etc.
9
10****************************************************************************************/
11
12
13/* Set to generate prg & chr files when the cart is loaded */
14#define SPLIT_PRG   0
15#define SPLIT_CHR   0
16
17
18/*************************************************************
19
20 unif_list
21
22 Supported UNIF boards and corresponding handlers
23
24 *************************************************************/
25
26
27struct unif
28{
29   const char *board; /* UNIF board */
30
31   int nvwram;
32   int wram;
33   int chrram;
34   int board_idx;
35};
36
37
38/* CHRRAM sizes */
39enum
40{
41   CHRRAM_0 = 0,
42   CHRRAM_1,
43   CHRRAM_2,
44   CHRRAM_4,
45   CHRRAM_6,
46   CHRRAM_8,
47   CHRRAM_16,
48   CHRRAM_32
49};
50
51static const unif unif_list[] =
52{
53/*       UNIF                       NVW  WRAM  CRAM     IDX*/
54   { "DREAMTECH01",                0,    0, CHRRAM_8,  DREAMTECH_BOARD},       //UNIF only!
55   { "NES-ANROM",                  0,    0, CHRRAM_8,  STD_AXROM},
56   { "NES-AOROM",                  0,    0, CHRRAM_8,  STD_AXROM},
57   { "NES-CNROM",                  0,    0, CHRRAM_0,  STD_CNROM},
58   { "NES-NROM",                   0,    0, CHRRAM_0,  STD_NROM},
59   { "NES-NROM-128",               0,    0, CHRRAM_0,  STD_NROM},
60   { "NES-NROM-256",               0,    0, CHRRAM_0,  STD_NROM},
61   { "NES-NTBROM",                 8,    0, CHRRAM_0,  SUNSOFT_DCS},
62   { "NES-SLROM",                  0,    0, CHRRAM_0,  STD_SXROM},
63   { "NES-TBROM",                  0,    0, CHRRAM_0,  STD_TXROM},
64   { "NES-TFROM",                  0,    0, CHRRAM_0,  STD_TXROM},
65   { "NES-TKROM",                  8,    0, CHRRAM_0,  STD_TXROM},
66   { "NES-TLROM",                  0,    0, CHRRAM_0,  STD_TXROM},
67   { "NES-UOROM",                  0,    0, CHRRAM_8,  STD_UXROM},
68   { "UNL-22211",                  0,    0, CHRRAM_0,  TXC_22211},
69   // mapper 172 & 173 are variant of this one... no UNIF?
70   { "UNL-KOF97",                  0,    0, CHRRAM_0,  UNL_KOF97},
71   { "UNL-SA-NROM",                0,    0, CHRRAM_0,  SACHEN_TCA01},
72   { "UNL-VRC7",                   0,    0, CHRRAM_0,  KONAMI_VRC7},
73   { "UNL-T-230",                  0,    0, CHRRAM_8,  UNL_T230},
74   { "UNL-CC-21",                  0,    0, CHRRAM_0,  UNL_CC21},
75   { "UNL-AX5705",                 0,    0, CHRRAM_0,  UNL_AX5705},
76   { "UNL-SMB2J",                  8,    8, CHRRAM_0,  UNL_SMB2J},
77   { "UNL-8237",                   0,    0, CHRRAM_0,  UNL_8237},
78   { "UNL-SL1632",                 0,    0, CHRRAM_0,  REXSOFT_SL1632},
79   { "UNL-SACHEN-74LS374N",        0,    0, CHRRAM_0,  SACHEN_74LS374},
80   // mapper 243 variant exists! how to distinguish?!?  mapper243_l_w, NULL, NULL, NULL, NULL, NULL, NULL (also uses NT_VERT!)
81   { "UNL-TC-U01-1.5M",            0,    0, CHRRAM_0,  SACHEN_TCU01},
82   { "UNL-SACHEN-8259C",           0,    0, CHRRAM_0,  SACHEN_8259C},
83   { "UNL-SA-016-1M",              0,    0, CHRRAM_0,  AVE_NINA06},    // actually this is Mapper 146, but works like 79!
84   { "UNL-SACHEN-8259D",           0,    0, CHRRAM_0,  SACHEN_8259D},
85   { "UNL-SA-72007",               0,    0, CHRRAM_0,  SACHEN_SA72007},
86   { "UNL-SA-72008",               0,    0, CHRRAM_0,  SACHEN_SA72008},
87   { "UNL-SA-0037",                0,    0, CHRRAM_0,  SACHEN_SA0037},
88   { "UNL-SA-0036",                0,    0, CHRRAM_0,  SACHEN_SA0036},
89   { "UNL-SA-9602B",               0,    0, CHRRAM_0,  SACHEN_SA9602B},
90   { "UNL-SACHEN-8259A",           0,    0, CHRRAM_0,  SACHEN_8259A},
91   { "UNL-SACHEN-8259B",           0,    0, CHRRAM_0,  SACHEN_8259B},
92   { "BMC-190IN1",                 0,    0, CHRRAM_0,  BMC_190IN1},
93   { "BMC-64IN1NOREPEAT",          0,    0, CHRRAM_0,  BMC_64IN1NR},       //UNIF only!
94   { "BMC-A65AS",                  0,    0, CHRRAM_8,  BMC_A65AS},     //UNIF only!
95   { "BMC-GS-2004",                0,    0, CHRRAM_8,  RCM_GS2004},        //UNIF only!
96   { "BMC-GS-2013",                0,    0, CHRRAM_8,  RCM_GS2013},        //UNIF only!
97   { "BMC-NOVELDIAMOND9999999IN1", 0,    0, CHRRAM_0,  BMC_NOVEL1},
98   { "BMC-SUPER24IN1SC03",         8,    0, CHRRAM_8,  BMC_S24IN1SC03},
99   { "BMC-SUPERHIK8IN1",           8,    0, CHRRAM_0,  BMC_HIK8IN1},
100   { "BMC-T-262",                  0,    0, CHRRAM_8,  BMC_T262},      //UNIF only!
101   { "BMC-WS",                     0,    0, CHRRAM_0,  BMC_WS},        //UNIF only!
102   { "BMC-N625092",                0,    0, CHRRAM_0,  UNL_N625092},
103   // below are boards which are not yet supported, but are used by some UNIF files. they are here as a reminder to what is missing to be added
104   { "UNL-TEK90",                  0,    0, CHRRAM_0,  JYCOMPANY_A}, // JY Company A (is TEK90 the real PCB name?)
105   { "UNL-KS7017",                 0,    0, CHRRAM_0,  KAISER_KS7017},
106   { "UNL-KS7032",                 0,    0, CHRRAM_0,  KAISER_KS7032}, //  mapper 142
107   { "UNL-603-5052",               0,    0, CHRRAM_0,  UNL_603_5052}, // mapper 238?
108   { "UNL-EDU2000",               32,    0, CHRRAM_8,  UNL_EDU2K},
109   { "UNL-H2288",                  0,    0, CHRRAM_0,  UNL_H2288}, // mapper 123
110   { "UNL-SHERO",                  0,    0, CHRRAM_8,  SACHEN_SHERO},
111   { "UNL-YOKO",                   0,    0, CHRRAM_0,  YOKO_BOARD}, // similar to mapper 83, but not the same
112   { "UNL-FS304",                  0,    8, CHRRAM_8,  WAIXING_FS304}, // used in Zelda 3 by Waixing
113   { "UNL-43272",                  0,    0, CHRRAM_0,  UNL_43272}, // used in Gaau Hok Gwong Cheung
114   { "BTL-MARIO1-MALEE2",          0,    0, CHRRAM_0,  UNL_MMALEE}, // mapper 55?
115   { "BMC-FK23C",                  0,    0, CHRRAM_0,  BMC_FK23C},
116   { "BMC-FK23CA",                 0,    0, CHRRAM_0,  BMC_FK23CA},
117   { "BMC-GHOSTBUSTERS63IN1",      0,    0, CHRRAM_8,  BMC_G63IN1 },
118   { "BMC-BS-5",                   0,    0, CHRRAM_0,  BMC_BENSHIENG},
119   { "BMC-810544-C-A1",            0,    0, CHRRAM_0,  BMC_810544},
120   { "BMC-411120-C",               0,    0, CHRRAM_0,  BMC_411120C},
121   { "BMC-8157",                   0,    0, CHRRAM_8,  BMC_8157},
122   { "BMC-830118C",                0,    0, CHRRAM_0,  BMC_830118C},
123   { "BMC-D1038",                  0,    0, CHRRAM_0,  BMC_VT5201}, // mapper 60?
124   { "BMC-SUPERVISION16IN1",       0,    0, CHRRAM_0,  SVISION16_BOARD}, // mapper 53
125   { "BMC-NTD-03",                 0,    0, CHRRAM_0,  BMC_NTD_03},
126   { "UNL-AC08",                   0,    0, CHRRAM_0,  UNL_AC08},
127   { "UNL-BB",                     0,    0, CHRRAM_0,  UNL_BB},
128   { "UNL-LH32",                   0,    0, CHRRAM_0,  UNL_LH32},
129   { "UNL-LH53",                   0,    0, CHRRAM_0,  UNL_LH53},
130   { "BMC-G-146",                  0,    0, CHRRAM_0,  BMC_G146},
131   { "BMC-11160",                  0,    0, CHRRAM_0,  BMC_11160},
132   { "UNL-MALISB",                 0,    0, CHRRAM_0,  UNL_MALISB},
133   { "UNL-TF1201",                 0,    0, CHRRAM_0,  UNL_TF1201},
134   { "BMC-12-IN-1",                0,    0, CHRRAM_0,  UNSUPPORTED_BOARD},
135   { "BMC-70IN1",                  0,    0, CHRRAM_0,  UNSUPPORTED_BOARD}, // mapper 236?
136   { "BMC-70IN1B",                 0,    0, CHRRAM_0,  UNSUPPORTED_BOARD}, // mapper 236?
137   { "BMC-42IN1RESETSWITCH",       0,    0, CHRRAM_0,  UNSUPPORTED_BOARD}, // mapper 60?
138   { "UNL-DANCE",                  0,    0, CHRRAM_0,  UNSUPPORTED_BOARD},
139   { "UNL-DRIPGAME",               0,    0, CHRRAM_0,  UNSUPPORTED_BOARD}, // [by Quietust - we need more info]
140   { "UNL-CITYFIGHT",              0,    0, CHRRAM_0,  UNSUPPORTED_BOARD},
141   { "UNL-OneBus",                 0,    0, CHRRAM_0,  UNSUPPORTED_BOARD}
142};
143
144const unif *nes_unif_lookup( const char *board )
145{
146   int i;
147   for (i = 0; i < ARRAY_LENGTH(unif_list); i++)
148   {
149      if (!mame_stricmp(unif_list[i].board, board))
150         return &unif_list[i];
151   }
152   return NULL;
153}
154
155/*************************************************************
156
157 unif_mapr_setup
158
159 setup the board specific variables (wram, nvwram, pcb_id etc.)
160 for a given board (after reading the MAPR chunk of the UNIF file)
161
162 *************************************************************/
163
164void unif_mapr_setup( const char *board, int *pcb_id, int *battery, int *prgram, int *vram_chunks )
165{
166   const unif *unif_board = nes_unif_lookup(board);
167   if (unif_board == NULL)
168      fatalerror("Unknown UNIF board %s.\n", board);
169
170   *pcb_id = unif_board->board_idx;
171   *battery = unif_board->nvwram;  // we should implement battery banks based on the size of this...
172   *prgram = unif_board->wram; // we should implement WRAM banks based on the size of this...
173
174   if (unif_board->chrram <= CHRRAM_8)
175      *vram_chunks = 1;
176   else if (unif_board->chrram == CHRRAM_16)
177      *vram_chunks = 2;
178   else if (unif_board->chrram == CHRRAM_32)
179      *vram_chunks = 4;
180}
181
182
183/*************************************************************
184
185 call_load_unif
186
187 *************************************************************/
188
189void nes_cart_slot_device::call_load_unif()
190{
191   UINT32 vram_size = 0, prgram_size = 0, battery_size = 0, mapper_sram_size = 0;
192   // SETUP step 1: running through the file and getting PRG, VROM sizes
193   UINT32 unif_ver = 0, chunk_length = 0, read_length = 0x20;
194   UINT32 prg_start = 0, chr_start = 0;
195   UINT32 size = length(), prg_size = 0, vrom_size = 0;
196   UINT8 buffer[4], mirror = 0;
197   char magic2[4];
198   char unif_mapr[32]; // here we should store MAPR chunks
199   bool mapr_chunk_found = FALSE, small_prg = FALSE;
200
201   // allocate space to temporarily store PRG & CHR banks
202   UINT8 *temp_prg = auto_alloc_array(machine(), UINT8, 256 * 0x4000);
203   UINT8 *temp_chr = auto_alloc_array(machine(), UINT8, 256 * 0x2000);
204   UINT8 temp_byte = 0;
205
206   fseek(4, SEEK_SET);
207   fread(&buffer, 4);
208   unif_ver = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
209   logerror("Loaded game in UNIF format, version %d\n", unif_ver);
210
211   do
212   {
213      fseek(read_length, SEEK_SET);
214
215      memset(magic2, '\0', sizeof(magic2));
216      fread(&magic2, 4);
217
218      /* We first run through the whole image to find a [MAPR] chunk. This is needed
219       because, unfortunately, the MAPR chunk is not always the first chunk (see
220       Super 24-in-1). When such a chunk is found, we set mapr_chunk_found=1 and
221       we go back to load other chunks! */
222      if (!mapr_chunk_found)
223      {
224         if ((magic2[0] == 'M') && (magic2[1] == 'A') && (magic2[2] == 'P') && (magic2[3] == 'R'))
225         {
226            mapr_chunk_found = TRUE;
227            logerror("[MAPR] chunk found: ");
228            fread(&buffer, 4);
229            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
230
231            if (chunk_length <= 0x20)
232               fread(&unif_mapr, chunk_length);
233            logerror("%s\n", unif_mapr);
234
235            /* now that we found the MAPR chunk, we can go back to load other chunks */
236            fseek(0x20, SEEK_SET);
237            read_length = 0x20;
238         }
239         else
240         {
241            logerror("Skip this chunk. We need a [MAPR] chunk before anything else.\n");
242            fread(&buffer, 4);
243            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
244
245            read_length += (chunk_length + 8);
246         }
247      }
248      else
249      {
250         /* What kind of chunk do we have here? */
251         if ((magic2[0] == 'M') && (magic2[1] == 'A') && (magic2[2] == 'P') && (magic2[3] == 'R'))
252         {
253            /* The [MAPR] chunk has already been read, so we skip it */
254            /* TO DO: it would be nice to check if more than one MAPR chunk is present */
255            logerror("[MAPR] chunk found (in the 2nd run). Already loaded.\n");
256            fread(&buffer, 4);
257            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
258
259            read_length += (chunk_length + 8);
260         }
261         else if ((magic2[0] == 'R') && (magic2[1] == 'E') && (magic2[2] == 'A') && (magic2[3] == 'D'))
262         {
263            logerror("[READ] chunk found. No support yet.\n");
264            fread(&buffer, 4);
265            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
266
267            read_length += (chunk_length + 8);
268         }
269         else if ((magic2[0] == 'N') && (magic2[1] == 'A') && (magic2[2] == 'M') && (magic2[3] == 'E'))
270         {
271            logerror("[NAME] chunk found. No support yet.\n");
272            fread(&buffer, 4);
273            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
274
275            read_length += (chunk_length + 8);
276         }
277         else if ((magic2[0] == 'W') && (magic2[1] == 'R') && (magic2[2] == 'T') && (magic2[3] == 'R'))
278         {
279            logerror("[WRTR] chunk found. No support yet.\n");
280            fread(&buffer, 4);
281            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
282
283            read_length += (chunk_length + 8);
284         }
285         else if ((magic2[0] == 'T') && (magic2[1] == 'V') && (magic2[2] == 'C') && (magic2[3] == 'I'))
286         {
287            logerror("[TVCI] chunk found.\n");
288            fread(&buffer, 4);
289            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
290
291            fread(&temp_byte, 1);
292            logerror("Television Standard : %s\n", (temp_byte == 0) ? "NTSC" : (temp_byte == 1) ? "PAL" : "Does not matter");
293
294            read_length += (chunk_length + 8);
295         }
296         else if ((magic2[0] == 'T') && (magic2[1] == 'V') && (magic2[2] == 'S') && (magic2[3] == 'C')) // is this the same as TVCI??
297         {
298            logerror("[TVSC] chunk found. No support yet.\n");
299            fread(&buffer, 4);
300            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
301
302            read_length += (chunk_length + 8);
303         }
304         else if ((magic2[0] == 'D') && (magic2[1] == 'I') && (magic2[2] == 'N') && (magic2[3] == 'F'))
305         {
306            logerror("[DINF] chunk found. No support yet.\n");
307            fread(&buffer, 4);
308            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
309
310            read_length += (chunk_length + 8);
311         }
312         else if ((magic2[0] == 'C') && (magic2[1] == 'T') && (magic2[2] == 'R') && (magic2[3] == 'L'))
313         {
314            logerror("[CTRL] chunk found. No support yet.\n");
315            fread(&buffer, 4);
316            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
317
318            read_length += (chunk_length + 8);
319         }
320         else if ((magic2[0] == 'B') && (magic2[1] == 'A') && (magic2[2] == 'T') && (magic2[3] == 'R'))
321         {
322            logerror("[BATR] chunk found. No support yet.\n");
323            fread(&buffer, 4);
324            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
325
326            read_length += (chunk_length + 8);
327         }
328         else if ((magic2[0] == 'V') && (magic2[1] == 'R') && (magic2[2] == 'O') && (magic2[3] == 'R'))
329         {
330            logerror("[VROR] chunk found. No support yet.\n");
331            fread(&buffer, 4);
332            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
333
334            read_length += (chunk_length + 8);
335         }
336         else if ((magic2[0] == 'M') && (magic2[1] == 'I') && (magic2[2] == 'R') && (magic2[3] == 'R'))
337         {
338            logerror("[MIRR] chunk found.\n");
339            fread(&buffer, 4);
340            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
341
342            fread(&mirror, 1);
343
344            read_length += (chunk_length + 8);
345         }
346         else if ((magic2[0] == 'P') && (magic2[1] == 'C') && (magic2[2] == 'K'))
347         {
348            logerror("[PCK%c] chunk found. No support yet.\n", magic2[3]);
349            fread(&buffer, 4);
350            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
351
352            read_length += (chunk_length + 8);
353         }
354         else if ((magic2[0] == 'C') && (magic2[1] == 'C') && (magic2[2] == 'K'))
355         {
356            logerror("[CCK%c] chunk found. No support yet.\n", magic2[3]);
357            fread(&buffer, 4);
358            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
359
360            read_length += (chunk_length + 8);
361         }
362         else if ((magic2[0] == 'P') && (magic2[1] == 'R') && (magic2[2] == 'G'))
363         {
364            logerror("[PRG%c] chunk found. ", magic2[3]);
365            fread(&buffer, 4);
366            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
367            prg_size += chunk_length;
368
369            if (chunk_length / 0x4000)
370               logerror("It consists of %d 16K-blocks.\n", chunk_length / 0x4000);
371            else
372            {
373               small_prg = TRUE;
374               logerror("This chunk is smaller than 16K: the emulation might have issues. Please report this file to the MESS forums.\n");
375            }
376
377            /* Read in the program chunks */
378            fread(&temp_prg[prg_start], chunk_length);
379
380            prg_start += chunk_length;
381            read_length += (chunk_length + 8);
382         }
383         else if ((magic2[0] == 'C') && (magic2[1] == 'H') && (magic2[2] == 'R'))
384         {
385            logerror("[CHR%c] chunk found. ", magic2[3]);
386            fread(&buffer, 4);
387            chunk_length = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24);
388            vrom_size += chunk_length;
389
390            logerror("It consists of %d 8K-blocks.\n", chunk_length / 0x2000);
391
392            /* Read in the vrom chunks */
393            fread(&temp_chr[chr_start], chunk_length);
394
395            chr_start += chunk_length;
396            read_length += (chunk_length + 8);
397         }
398         else
399         {
400            logerror("Unsupported UNIF chunk or corrupted header. Please report the problem at MESS Board.\n");
401            read_length = size;
402         }
403      }
404   } while (size > read_length);
405
406   if (!mapr_chunk_found)
407   {
408      auto_free(machine(), temp_prg);
409      auto_free(machine(), temp_chr);
410      fatalerror("UNIF should have a [MAPR] chunk to work. Check if your image has been corrupted\n");
411   }
412
413   if (!prg_start)
414   {
415      auto_free(machine(), temp_prg);
416      auto_free(machine(), temp_chr);
417      fatalerror("No PRG found. Please report the problem at MESS Board.\n");
418   }
419
420   // SETUP step 2: getting PCB and other settings
421   int pcb_id = 0, battery = 0, prgram = 0, vram_chunks = 0;
422   unif_mapr_setup(unif_mapr, &pcb_id, &battery, &prgram, &vram_chunks);
423
424   // SETUP step 3: storing the info needed for emulation
425   m_pcb_id = pcb_id;
426   if (battery)
427      battery_size = NES_BATTERY_SIZE; // we should allow for smaller battery!
428   prgram_size = prgram * 0x2000;
429   vram_size = vram_chunks * 0x2000;
430
431   m_cart->set_four_screen_vram(FALSE);
432   switch (mirror)
433   {
434      case 0: // Horizontal Mirroring (Hard Wired)
435         m_cart->set_mirroring(PPU_MIRROR_HORZ);
436         break;
437      case 1: // Vertical Mirroring (Hard Wired)
438         m_cart->set_mirroring(PPU_MIRROR_VERT);
439         break;
440      case 2: // Mirror All Pages From $2000 (Hard Wired)
441         m_cart->set_mirroring(PPU_MIRROR_LOW);
442         break;
443      case 3: // Mirror All Pages From $2400 (Hard Wired)
444         m_cart->set_mirroring(PPU_MIRROR_HIGH);
445         break;
446      case 4: // Four Screens of VRAM (Hard Wired)
447         m_cart->set_four_screen_vram(TRUE);
448         m_cart->set_mirroring(PPU_MIRROR_4SCREEN);
449         break;
450      case 5: // Mirroring Controlled By Mapper Hardware
451         logerror("Mirroring handled by the board hardware.\n");
452         // default to horizontal at start
453         m_cart->set_mirroring(PPU_MIRROR_HORZ);
454         break;
455      default:
456         logerror("Undocumented mirroring value.\n");
457         // default to horizontal
458         m_cart->set_mirroring(PPU_MIRROR_HORZ);
459         break;
460   }
461
462   // SETUP step 4: logging what we have found
463   logerror("-- Board %s\n", unif_mapr);
464   logerror("-- PRG 0x%x (%d x 16k chunks)\n", prg_size, prg_size / 0x4000);
465   logerror("-- VROM 0x%x (%d x 8k chunks)\n", vrom_size, vrom_size / 0x2000);
466   logerror("-- VRAM 0x%x (%d x 8k chunks)\n", vram_size, vram_size / 0x2000);
467
468   // SETUP steps 5/6: allocate pointers for PRG/VROM and load the data!
469   if (prg_size == 0x4000)
470   {
471      m_cart->prg_alloc(machine(), 0x8000);
472      memcpy(m_cart->get_prg_base(), temp_prg, 0x4000);
473      memcpy(m_cart->get_prg_base() + 0x4000, m_cart->get_prg_base(), 0x4000);
474   }
475   else
476   {
477      m_cart->prg_alloc(machine(), prg_size);
478      memcpy(m_cart->get_prg_base(), temp_prg, prg_size);
479   }
480
481   if (small_prg)  // This is not supported yet, so warn users about this
482      mame_printf_error("Loaded UNIF file with non-16k PRG chunk. This is not supported in MESS yet.");
483
484   if (vrom_size)
485   {
486      m_cart->vrom_alloc(machine(), vrom_size);
487      memcpy(m_cart->get_vrom_base(), temp_chr, vrom_size);
488   }
489
490#if SPLIT_PRG
491   {
492      FILE *prgout;
493      char outname[255];
494
495      sprintf(outname, "%s.prg", filename());
496      prgout = fopen(outname, "wb");
497      if (prgout)
498      {
499         fwrite(m_cart->get_prg_base(), 1, 0x4000 * m_cart->get_prg_size(), prgout);
500         mame_printf_error("Created PRG chunk\n");
501      }
502
503      fclose(prgout);
504   }
505#endif
506
507#if SPLIT_CHR
508   if (state->m_chr_chunks > 0)
509   {
510      FILE *chrout;
511      char outname[255];
512
513      sprintf(outname, "%s.chr", filename());
514      chrout= fopen(outname, "wb");
515      if (chrout)
516      {
517         fwrite(m_cart->get_vrom_base(), 1, m_cart->get_vrom_size(), chrout);
518         mame_printf_error("Created CHR chunk\n");
519      }
520      fclose(chrout);
521   }
522#endif
523   // free the temporary copy of PRG/CHR
524   auto_free(machine(), temp_prg);
525   auto_free(machine(), temp_chr);
526
527   // SETUP steps 7: allocate the remaining pointer, when needed
528   if (vram_size)
529      m_cart->vram_alloc(machine(), vram_size);
530   if (prgram_size)
531      m_cart->prgram_alloc(machine(), prgram_size);
532
533   // Attempt to load a battery file for this ROM
534   // A few boards have internal RAM with a battery (MMC6, Taito X1-005 & X1-017, etc.)
535   if (battery_size || mapper_sram_size)
536   {
537      UINT32 tot_size = battery_size + mapper_sram_size;
538      UINT8 *temp_nvram = auto_alloc_array(machine(), UINT8, tot_size);
539      battery_load(temp_nvram, tot_size, 0x00);
540      if (battery_size)
541      {
542         m_cart->battery_alloc(machine(), battery_size);
543         memcpy(m_cart->get_battery_base(), temp_nvram, battery_size);
544      }
545      if (mapper_sram_size)
546         memcpy(m_cart->get_mapper_sram_base(), temp_nvram + battery_size, mapper_sram_size);
547
548      if (temp_nvram)
549         auto_free(machine(), temp_nvram);
550   }
551
552   logerror("UNIF support is only very preliminary.\n");
553}
554
555const char * nes_cart_slot_device::get_default_card_unif(UINT8 *ROM, UINT32 len)
556{
557   UINT32 chunk_length = 0, read_length = 0x20;
558   int pcb_id = 0, battery = 0, prgram = 0, vram_chunks = 0;
559   char unif_mapr[32];
560
561   do
562   {
563      if ((ROM[read_length + 0] == 'M') && (ROM[read_length + 1] == 'A') && (ROM[read_length + 2] == 'P') && (ROM[read_length + 3] == 'R'))
564      {
565         chunk_length = ROM[read_length + 4] | (ROM[read_length + 5] << 8) | (ROM[read_length + 6] << 16) | (ROM[read_length + 7] << 24);
566
567         if (chunk_length <= 0x20)
568            memcpy(unif_mapr, ROM + read_length + 8, chunk_length);
569
570         read_length += (chunk_length + 8);
571      }
572      else
573      {
574         chunk_length = ROM[read_length + 4] | (ROM[read_length + 5] << 8) | (ROM[read_length + 6] << 16) | (ROM[read_length + 7] << 24);
575         read_length += (chunk_length + 8);
576      }
577   } while (len > read_length);
578
579   unif_mapr_setup(unif_mapr, &pcb_id, &battery, &prgram, &vram_chunks);
580
581   return nes_get_slot(pcb_id);
582}
Property changes on: trunk/src/mess/machine/nes_unif.inc
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/mess/machine/cx4oam.inc
r0r23776
1/***************************************************************************
2
3    cx4oam.c
4
5    Code based on original work by zsKnight, anomie and Nach.
6    This implementation is based on C++ "cx4*.cpp" by byuu
7    (up to date with source v 0.49).
8
9***************************************************************************/
10
11//Build OAM
12static void CX4_op00_00(running_machine &machine)
13{
14   INT32 i;
15
16   UINT32 oamptr = cx4.ram[0x626] << 2;
17   UINT16 globalx, globaly;
18   UINT32 oamptr2;
19   INT16 sprx, spry;
20   UINT8 sprname, sprattr;
21   UINT8 sprcount;
22   UINT8 offset;
23   UINT32 srcptr;
24
25   for(i = 0x1fd; i > oamptr && i >= 0; i -= 4)
26   {
27      //clear oam-to-be
28      if(i >= 0)
29      {
30         cx4.ram[i] = 0xe0;
31      }
32   }
33
34   globalx = CX4_readw(0x621);
35   globaly = CX4_readw(0x623);
36   oamptr2 = 0x200 + (cx4.ram[0x626] >> 2);
37
38   if(!cx4.ram[0x620])
39   {
40      return;
41   }
42
43   sprcount = 128 - cx4.ram[0x626];
44   offset = (cx4.ram[0x626] & 3) * 2;
45   srcptr = 0x220;
46
47   address_space &space = machine.device<cpu_device>("maincpu")->space(AS_PROGRAM);
48   for(i = cx4.ram[0x620]; i > 0 && sprcount > 0; i--, srcptr += 16)
49   {
50      UINT32 spraddr = CX4_readl(srcptr + 7);
51
52      sprx = CX4_readw(srcptr)     - globalx;
53      spry = CX4_readw(srcptr + 2) - globaly;
54      sprname = cx4.ram[srcptr + 5];
55      sprattr = cx4.ram[srcptr + 4] | cx4.ram[srcptr + 6];
56
57      if(space.read_byte(spraddr))
58      {
59         INT16 x, y;
60         INT32 sprcnt;
61         for(sprcnt = space.read_byte(spraddr++); sprcnt > 0 && sprcount > 0; sprcnt--, spraddr += 4)
62         {
63            x = (INT8)space.read_byte(spraddr + 1);
64            if(sprattr & 0x40)
65            {
66               x = -x - ((space.read_byte(spraddr) & 0x20) ? 16 : 8);
67            }
68            x += sprx;
69            if(x >= -16 && x <= 272)
70            {
71               y = (INT8)space.read_byte(spraddr + 2);
72               if(sprattr & 0x80)
73               {
74                  y = -y - ((space.read_byte(spraddr) & 0x20) ? 16 : 8);
75               }
76               y += spry;
77               if(y >= -16 && y <= 224)
78               {
79                  cx4.ram[oamptr    ] = (UINT8)x;
80                  cx4.ram[oamptr + 1] = (UINT8)y;
81                  cx4.ram[oamptr + 2] = sprname + space.read_byte(spraddr + 3);
82                  cx4.ram[oamptr + 3] = sprattr ^ (space.read_byte(spraddr) & 0xc0);
83                  cx4.ram[oamptr2] &= ~(3 << offset);
84                  if(x & 0x100)
85                  {
86                     cx4.ram[oamptr2] |= 1 << offset;
87                  }
88                  if(space.read_byte(spraddr) & 0x20)
89                  {
90                     cx4.ram[oamptr2] |= 2 << offset;
91                  }
92                  oamptr += 4;
93                  sprcount--;
94                  offset = (offset + 2) & 6;
95                  if(!offset)
96                  {
97                     oamptr2++;
98                  }
99               }
100            }
101         }
102      }
103      else if(sprcount > 0)
104      {
105         cx4.ram[oamptr    ] = (UINT8)sprx;
106         cx4.ram[oamptr + 1] = (UINT8)spry;
107         cx4.ram[oamptr + 2] = sprname;
108         cx4.ram[oamptr + 3] = sprattr;
109         cx4.ram[oamptr2] &= ~(3 << offset);
110         if(sprx & 0x100)
111         {
112            cx4.ram[oamptr2] |= 3 << offset;
113         }
114         else
115         {
116            cx4.ram[oamptr2] |= 2 << offset;
117         }
118         oamptr += 4;
119         sprcount--;
120         offset = (offset + 2) & 6;
121         if(!offset)
122         {
123            oamptr2++;
124         }
125      }
126   }
127}
128
129//Scale and Rotate
130static void CX4_op00_03(void)
131{
132   CX4_C4DoScaleRotate(0);
133}
134
135//Transform Lines
136static void CX4_op00_05(running_machine &machine)
137{
138   INT32 i;
139   UINT32 ptr = 0, ptr2 = 0;
140
141   cx4.C4WFX2Val = CX4_read(0x1f83);
142   cx4.C4WFY2Val = CX4_read(0x1f86);
143   cx4.C4WFDist  = CX4_read(0x1f89);
144   cx4.C4WFScale = CX4_read(0x1f8c);
145
146   //Transform Vertices
147   for(i = CX4_readw(0x1f80); i > 0; i--, ptr += 0x10)
148   {
149      cx4.C4WFXVal = CX4_readw(ptr + 1);
150      cx4.C4WFYVal = CX4_readw(ptr + 5);
151      cx4.C4WFZVal = CX4_readw(ptr + 9);
152      CX4_C4TransfWireFrame();
153
154      //Displace
155      CX4_writew(machine, ptr + 1, cx4.C4WFXVal + 0x80);
156      CX4_writew(machine, ptr + 5, cx4.C4WFYVal + 0x50);
157   }
158
159   CX4_writew(machine, 0x600,     23);
160   CX4_writew(machine, 0x602,     0x60);
161   CX4_writew(machine, 0x605,     0x40);
162   CX4_writew(machine, 0x600 + 8, 23);
163   CX4_writew(machine, 0x602 + 8, 0x60);
164   CX4_writew(machine, 0x605 + 8, 0x40);
165
166   ptr = 0xb02;
167
168   for(i = CX4_readw(0xb00); i > 0; i--, ptr += 2, ptr2 += 8)
169   {
170      cx4.C4WFXVal  = CX4_readw((CX4_read(ptr + 0) << 4) + 1);
171      cx4.C4WFYVal  = CX4_readw((CX4_read(ptr + 0) << 4) + 5);
172      cx4.C4WFX2Val = CX4_readw((CX4_read(ptr + 1) << 4) + 1);
173      cx4.C4WFY2Val = CX4_readw((CX4_read(ptr + 1) << 4) + 5);
174      CX4_C4CalcWireFrame();
175      CX4_writew(machine, ptr2 + 0x600, cx4.C4WFDist ? cx4.C4WFDist : 1);
176      CX4_writew(machine, ptr2 + 0x602, cx4.C4WFXVal);
177      CX4_writew(machine, ptr2 + 0x605, cx4.C4WFYVal);
178   }
179}
180
181//Scale and Rotate
182static void CX4_op00_07(void)
183{
184   CX4_C4DoScaleRotate(64);
185}
186
187//Draw Wireframe
188static void CX4_op00_08(running_machine &machine)
189{
190   CX4_C4DrawWireFrame(machine);
191}
192
193//Disintegrate
194static void CX4_op00_0b(running_machine &machine)
195{
196   UINT8  width, height;
197   UINT32 startx, starty;
198   UINT32 srcptr;
199   UINT32 x, y;
200   INT32  scalex, scaley;
201   INT32  cx, cy;
202   INT32  i, j;
203
204   width  = CX4_read(0x1f89);
205   height = CX4_read(0x1f8c);
206   cx     = CX4_readw(0x1f80);
207   cy     = CX4_readw(0x1f83);
208
209   scalex = (INT16)CX4_readw(0x1f86);
210   scaley = (INT16)CX4_readw(0x1f8f);
211   startx = -cx * scalex + (cx << 8);
212   starty = -cy * scaley + (cy << 8);
213   srcptr = 0x600;
214
215   for(i = 0; i < (width * height) >> 1; i++)
216   {
217      CX4_write(machine, i, 0);
218   }
219
220   for(y = starty, i = 0;i < height; i++, y += scaley)
221   {
222      for(x = startx, j = 0;j < width; j++, x += scalex)
223      {
224         if((x >> 8) < width && (y >> 8) < height && (y >> 8) * width + (x >> 8) < 0x2000)
225         {
226            UINT8 pixel = (j & 1) ? (cx4.ram[srcptr] >> 4) : (cx4.ram[srcptr]);
227            INT32 index = (y >> 11) * width * 4 + (x >> 11) * 32 + ((y >> 8) & 7) * 2;
228            UINT8 mask = 0x80 >> ((x >> 8) & 7);
229
230            if(pixel & 1) cx4.ram[index     ] |= mask;
231            if(pixel & 2) cx4.ram[index +  1] |= mask;
232            if(pixel & 4) cx4.ram[index + 16] |= mask;
233            if(pixel & 8) cx4.ram[index + 17] |= mask;
234         }
235         if(j & 1)
236         {
237            srcptr++;
238         }
239      }
240   }
241}
242
243//Bitplane Wave
244static void CX4_op00_0c(running_machine &machine)
245{
246   int i, j;
247   UINT32 destptr = 0;
248   UINT32 waveptr = CX4_read(0x1f83);
249   UINT16 mask1   = 0xc0c0;
250   UINT16 mask2   = 0x3f3f;
251
252   for(j = 0; j < 0x10; j++)
253   {
254      do
255      {
256         INT16 height = -((INT8)CX4_read(waveptr + 0xb00)) - 16;
257         for(i = 0; i < 40; i++)
258         {
259            UINT16 temp = CX4_readw(destptr + CX4_wave_data[i]) & mask2;
260            if(height >= 0)
261            {
262               if(height < 8)
263               {
264                  temp |= mask1 & CX4_readw(0xa00 + height * 2);
265               }
266               else
267               {
268                  temp |= mask1 & 0xff00;
269               }
270            }
271            CX4_writew(machine, destptr + CX4_wave_data[i], temp);
272            height++;
273         }
274         waveptr = (waveptr + 1) & 0x7f;
275         mask1   = (mask1 >> 2) | (mask1 << 6);
276         mask2   = (mask2 >> 2) | (mask2 << 6);
277      } while(mask1 != 0xc0c0);
278      destptr += 16;
279
280      do
281      {
282         INT16 height = -((INT8)CX4_read(waveptr + 0xb00)) - 16;
283         for(i = 0; i < 40; i++)
284         {
285            UINT16 temp = CX4_readw(destptr + CX4_wave_data[i]) & mask2;
286            if(height >= 0)
287            {
288               if(height < 8)
289               {
290                  temp |= mask1 & CX4_readw(0xa10 + height * 2);
291               }
292               else
293               {
294                  temp |= mask1 & 0xff00;
295               }
296            }
297            CX4_writew(machine, destptr + CX4_wave_data[i], temp);
298            height++;
299         }
300         waveptr = (waveptr + 1) & 0x7f;
301         mask1   = (mask1 >> 2) | (mask1 << 6);
302         mask2   = (mask2 >> 2) | (mask2 << 6);
303      } while(mask1 != 0xc0c0);
304      destptr += 16;
305   }
306}
Property changes on: trunk/src/mess/machine/cx4oam.inc
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/mess/machine/snescx4.c
r23775r23776
2323
2424static void CX4_C4DrawLine(INT32 X1, INT32 Y1, INT16 Z1, INT32 X2, INT32 Y2, INT16 Z2, UINT8 Color);
2525
26#include "machine/cx4data.c"
27#include "machine/cx4fn.c"
26#include "machine/cx4data.inc"
27#include "machine/cx4fn.inc"
2828
2929static UINT32 CX4_ldr(UINT8 r)
3030{
r23775r23776
113113   }
114114}
115115
116#include "machine/cx4oam.c"
117#include "machine/cx4ops.c"
116#include "machine/cx4oam.inc"
117#include "machine/cx4ops.inc"
118118
119119void CX4_write(running_machine &machine, UINT32 addr, UINT8 data)
120120{
trunk/src/mame/mame.mak
r23775r23776
26332633# misc dependencies
26342634#-------------------------------------------------
26352635
2636$(DRIVERS)/galaxian.o:  $(MAMESRC)/drivers/galdrvr.c
2637$(DRIVERS)/neogeo.o:    $(MAMESRC)/drivers/neodrvr.c
2638$(VIDEO)/jaguar.o:  $(MAMESRC)/video/jagobj.c \
2639         $(MAMESRC)/video/jagblit.c
2636$(DRIVERS)/galaxian.o:  $(MAMESRC)/drivers/galaxian.inc
2637$(DRIVERS)/neogeo.o:    $(MAMESRC)/drivers/neogeo.inc
2638$(VIDEO)/jaguar.o:  $(MAMESRC)/video/jagobj.inc \
2639         $(MAMESRC)/video/jagblit.inc
26402640$(DRIVERS)/model1.o: $(MAMESRC)/includes/model1.h $(MAMESRC)/audio/dsbz80.h
26412641$(VIDEO)/model1.o: $(MAMESRC)/includes/model1.h $(MAMESRC)/audio/dsbz80.h
26422642$(MACHINE)/model1.o: $(MAMESRC)/includes/model1.h $(MAMESRC)/audio/dsbz80.h
2643$(VIDEO)/model2.o:  $(MAMESRC)/video/model2rd.c
2644$(VIDEO)/model3.o:  $(MAMESRC)/video/m3raster.c
2645$(VIDEO)/n64.o:     $(MAMESRC)/video/rdpfiltr.c
2643$(VIDEO)/model2.o:  $(MAMESRC)/video/model2rd.inc
2644$(VIDEO)/model3.o:  $(MAMESRC)/video/m3raster.inc
2645$(VIDEO)/n64.o:     $(MAMESRC)/video/rdpfiltr.inc
26462646$(DRIVERS)/bfm_sc4.o: $(MAMESRC)/includes/bfm_sc45.h
26472647$(DRIVERS)/bfm_sc5.o: $(MAMESRC)/includes/bfm_sc45.h
26482648$(DRIVERS)/namcos2.o: $(MAMESRC)/includes/namcos2.h
trunk/src/mame/video/jagobj.c
r23775r23776
1/***************************************************************************
2
3    Atari Jaguar object processor
4
5****************************************************************************/
6
7#ifndef INCLUDE_OBJECT_PROCESSOR
8#error jagobj.c is not directly compilable!
9#endif
10
11
12#define LOG_OBJECTS         0
13
14
15/*************************************
16 *
17 *  Object processor init
18 *
19 *************************************/
20
21void jaguar_state::jagobj_init()
22{
23   int i;
24
25   /* fill tables */
26   for (i = 0; i < 256 * 256; i++)
27   {
28      int y = (i >> 8) & 0xff;
29      int dy = (INT8)i;
30      int c1 = (i >> 8) & 0x0f;
31      int dc1 = (INT8)(i << 4) >> 4;
32      int c2 = (i >> 12) & 0x0f;
33      int dc2 = (INT8)(i & 0xf0) >> 4;
34
35      y += dy;
36      if (y < 0) y = 0;
37      else if (y > 0xff) y = 0xff;
38      m_blend_y[i] = y;
39
40      c1 += dc1;
41      if (c1 < 0) c1 = 0;
42      else if (c1 > 0x0f) c1 = 0x0f;
43      c2 += dc2;
44      if (c2 < 0) c2 = 0;
45      else if (c2 > 0x0f) c2 = 0x0f;
46      m_blend_cc[i] = (c2 << 4) | c1;
47   }
48}
49
50
51
52/*************************************
53 *
54 *  Blending function
55 *
56 *************************************/
57
58#define BLEND(dst, src)     \
59   (dst) = (m_blend_cc[((dst) & 0xff00) | (((src) >> 8) & 0xff)] << 8) | m_blend_y[(((dst) & 0xff) << 8) | ((src) & 0xff)];
60
61
62
63/*************************************
64 *
65 *  4bpp bitmap renderers
66 *
67 *************************************/
68
69inline void jaguar_state::bitmap_4_draw(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT8 flags, INT32 dxpos, UINT16 *clutbase)
70{
71   if (firstpix & 7)
72   {
73      UINT32 pixsrc = src[firstpix >> 3];
74      while (firstpix & 7)
75      {
76         int pix = (pixsrc >> ((~firstpix & 7) << 2)) & 0x0f;
77         if ((!(flags & 4) || pix) && (UINT32)xpos < 760)
78         {
79            if (!(flags & 2))
80               scanline[xpos] = clutbase[BYTE_XOR_BE(pix)];
81            else
82               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix)]);
83         }
84         xpos += dxpos;
85         firstpix++;
86      }
87   }
88
89   firstpix >>= 3;
90   iwidth >>= 3;
91   iwidth -= firstpix;
92
93   while (iwidth-- > 0)
94   {
95      UINT32 pix = src[firstpix++];
96      if (!(flags & 4) || pix)
97      {
98         if ((!(flags & 4) || (pix & 0xf0000000)) && (UINT32)xpos < 760)
99         {
100            if (!(flags & 2))
101               scanline[xpos] = clutbase[BYTE_XOR_BE(pix >> 28)];
102            else
103               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix >> 28)]);
104         }
105         xpos += dxpos;
106
107         if ((!(flags & 4) || (pix & 0x0f000000)) && (UINT32)xpos < 760)
108         {
109            if (!(flags & 2))
110               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 24) & 0x0f)];
111            else
112               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 24) & 0x0f)]);
113         }
114         xpos += dxpos;
115
116         if ((!(flags & 4) || (pix & 0x00f00000)) && (UINT32)xpos < 760)
117         {
118            if (!(flags & 2))
119               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 20) & 0x0f)];
120            else
121               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 20) & 0x0f)]);
122         }
123         xpos += dxpos;
124
125         if ((!(flags & 4) || (pix & 0x000f0000)) && (UINT32)xpos < 760)
126         {
127            if (!(flags & 2))
128               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 16) & 0x0f)];
129            else
130               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 16) & 0x0f)]);
131         }
132         xpos += dxpos;
133
134         if ((!(flags & 4) || (pix & 0x0000f000)) && (UINT32)xpos < 760)
135         {
136            if (!(flags & 2))
137               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 12) & 0x0f)];
138            else
139               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 12) & 0x0f)]);
140         }
141         xpos += dxpos;
142
143         if ((!(flags & 4) || (pix & 0x00000f00)) && (UINT32)xpos < 760)
144         {
145            if (!(flags & 2))
146               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 8) & 0x0f)];
147            else
148               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 8) & 0x0f)]);
149         }
150         xpos += dxpos;
151
152         if ((!(flags & 4) || (pix & 0x000000f0)) && (UINT32)xpos < 760)
153         {
154            if (!(flags & 2))
155               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 4) & 0x0f)];
156            else
157               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 4) & 0x0f)]);
158         }
159         xpos += dxpos;
160
161         if ((!(flags & 4) || (pix & 0x0000000f)) && (UINT32)xpos < 760)
162         {
163            if (!(flags & 2))
164               scanline[xpos] = clutbase[BYTE_XOR_BE(pix & 0x0f)];
165            else
166               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix & 0x0f)]);
167         }
168         xpos += dxpos;
169      }
170      else
171         xpos += dxpos << 3;
172   }
173}
174
175void jaguar_state::bitmap_4_0(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
176{
177   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 0, 1, clutbase);
178}
179
180void jaguar_state::bitmap_4_1(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
181{
182   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 1, -1, clutbase);
183}
184
185void jaguar_state::bitmap_4_2(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
186{
187   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 2, 1, clutbase);
188}
189
190void jaguar_state::bitmap_4_3(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
191{
192   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 3, -1, clutbase);
193}
194
195void jaguar_state::bitmap_4_4(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
196{
197   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 4, 1, clutbase);
198}
199
200void jaguar_state::bitmap_4_5(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
201{
202   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 5, -1, clutbase);
203}
204
205void jaguar_state::bitmap_4_6(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
206{
207   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 6, 1, clutbase);
208}
209
210void jaguar_state::bitmap_4_7(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
211{
212   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 7, -1, clutbase);
213}
214
215void (jaguar_state::*const jaguar_state::bitmap4[8])(UINT16 *, INT32, INT32, UINT32 *, INT32, UINT16 *) =
216{
217   &jaguar_state::bitmap_4_0,
218   &jaguar_state::bitmap_4_1,
219   &jaguar_state::bitmap_4_2,
220   &jaguar_state::bitmap_4_3,
221   &jaguar_state::bitmap_4_4,
222   &jaguar_state::bitmap_4_5,
223   &jaguar_state::bitmap_4_6,
224   &jaguar_state::bitmap_4_7
225};
226
227
228
229/*************************************
230 *
231 *  8bpp bitmap renderers
232 *
233 *************************************/
234
235inline void jaguar_state::bitmap_8_draw(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT8 flags, INT32 dxpos, UINT16 *clutbase)
236{
237   if (firstpix & 3)
238   {
239      UINT32 pixsrc = src[firstpix >> 2];
240      while (firstpix & 3)
241      {
242         UINT8 pix = pixsrc >> ((~firstpix & 3) << 3);
243         if ((!(flags & 4) || pix) && (UINT32)xpos < 760)
244         {
245            if (!(flags & 2))
246               scanline[xpos] = clutbase[BYTE_XOR_BE(pix)];
247            else
248               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix)]);
249         }
250         xpos += dxpos;
251         firstpix++;
252      }
253   }
254
255   firstpix >>= 2;
256   iwidth >>= 2;
257   iwidth -= firstpix;
258
259   while (iwidth-- > 0)
260   {
261      UINT32 pix = src[firstpix++];
262      if (!(flags & 4) || pix)
263      {
264         if ((!(flags & 4) || (pix & 0xff000000)) && (UINT32)xpos < 760)
265         {
266            if (!(flags & 2))
267               scanline[xpos] = clutbase[BYTE_XOR_BE(pix >> 24)];
268            else
269               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix >> 24)]);
270         }
271         xpos += dxpos;
272
273         if ((!(flags & 4) || (pix & 0x00ff0000)) && (UINT32)xpos < 760)
274         {
275            if (!(flags & 2))
276               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 16) & 0xff)];
277            else
278               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 16) & 0xff)]);
279         }
280         xpos += dxpos;
281
282         if ((!(flags & 4) || (pix & 0x0000ff00)) && (UINT32)xpos < 760)
283         {
284            if (!(flags & 2))
285               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 8) & 0xff)];
286            else
287               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 8) & 0xff)]);
288         }
289         xpos += dxpos;
290
291         if ((!(flags & 4) || (pix & 0x000000ff)) && (UINT32)xpos < 760)
292         {
293            if (!(flags & 2))
294               scanline[xpos] = clutbase[BYTE_XOR_BE(pix & 0xff)];
295            else
296               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix & 0xff)]);
297         }
298         xpos += dxpos;
299      }
300      else
301         xpos += dxpos << 2;
302   }
303}
304
305void jaguar_state::bitmap_8_0(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
306{
307   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 0, 1, clutbase);
308}
309
310void jaguar_state::bitmap_8_1(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
311{
312   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 1, -1, clutbase);
313}
314
315void jaguar_state::bitmap_8_2(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
316{
317   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 2, 1, clutbase);
318}
319
320void jaguar_state::bitmap_8_3(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
321{
322   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 3, -1, clutbase);
323}
324
325void jaguar_state::bitmap_8_4(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
326{
327   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 4, 1, clutbase);
328}
329
330void jaguar_state::bitmap_8_5(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
331{
332   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 5, -1, clutbase);
333}
334
335void jaguar_state::bitmap_8_6(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
336{
337   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 6, 1, clutbase);
338}
339
340void jaguar_state::bitmap_8_7(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
341{
342   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 7, -1, clutbase);
343}
344
345void (jaguar_state::*const jaguar_state::bitmap8[8])(UINT16 *, INT32, INT32, UINT32 *, INT32, UINT16 *) =
346{
347   &jaguar_state::bitmap_8_0,
348   &jaguar_state::bitmap_8_1,
349   &jaguar_state::bitmap_8_2,
350   &jaguar_state::bitmap_8_3,
351   &jaguar_state::bitmap_8_4,
352   &jaguar_state::bitmap_8_5,
353   &jaguar_state::bitmap_8_6,
354   &jaguar_state::bitmap_8_7
355};
356
357
358
359/*************************************
360 *
361 *  16bpp bitmap renderers
362 *
363 *************************************/
364
365inline void jaguar_state::bitmap_16_draw(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT8 flags, INT32 dxpos)
366{
367   if (firstpix & 1)
368   {
369      UINT16 pix = src[firstpix >> 1];
370      if ((!(flags & 4) || pix) && (UINT32)xpos < 760)
371      {
372         if (!(flags & 2))
373            scanline[xpos] = pix;
374         else
375            BLEND(scanline[xpos], pix);
376      }
377      xpos += dxpos;
378   }
379
380   firstpix >>= 1;
381   iwidth >>= 1;
382   iwidth -= firstpix;
383
384   while (iwidth-- > 0)
385   {
386      UINT32 pix = src[firstpix++];
387      if (!(flags & 4) || pix)
388      {
389         if ((!(flags & 4) || (pix >> 16)) && (UINT32)xpos < 760)
390         {
391            if (!(flags & 2))
392               scanline[xpos] = pix >> 16;
393            else
394               BLEND(scanline[xpos], pix >> 16);
395         }
396         xpos += dxpos;
397
398         if ((!(flags & 4) || (pix & 0xffff)) && (UINT32)xpos < 760)
399         {
400            if (!(flags & 2))
401               scanline[xpos] = pix;
402            else
403               BLEND(scanline[xpos], pix);
404         }
405         xpos += dxpos;
406      }
407      else
408         xpos += dxpos << 1;
409   }
410}
411
412void jaguar_state::bitmap_16_0(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
413{
414   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 0, 1);
415}
416
417void jaguar_state::bitmap_16_1(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
418{
419   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 1, -1);
420}
421
422void jaguar_state::bitmap_16_2(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
423{
424   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 2, 1);
425}
426
427void jaguar_state::bitmap_16_3(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
428{
429   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 3, -1);
430}
431
432void jaguar_state::bitmap_16_4(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
433{
434   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 4, 1);
435}
436
437void jaguar_state::bitmap_16_5(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
438{
439   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 5, -1);
440}
441
442void jaguar_state::bitmap_16_6(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
443{
444   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 6, 1);
445}
446
447void jaguar_state::bitmap_16_7(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
448{
449   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 7, -1);
450}
451
452void (jaguar_state::*const jaguar_state::bitmap16[8])(UINT16 *, INT32, INT32, UINT32 *, INT32) =
453{
454   &jaguar_state::bitmap_16_0,
455   &jaguar_state::bitmap_16_1,
456   &jaguar_state::bitmap_16_2,
457   &jaguar_state::bitmap_16_3,
458   &jaguar_state::bitmap_16_4,
459   &jaguar_state::bitmap_16_5,
460   &jaguar_state::bitmap_16_6,
461   &jaguar_state::bitmap_16_7
462};
463
464
465
466
467
468/*************************************
469 *
470 *  32bpp bitmap renderers - needs to be verified
471 *
472 *************************************/
473
474inline void jaguar_state::bitmap_32_draw(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT8 flags, INT32 dxpos)
475{
476   iwidth -= firstpix;
477
478   while (iwidth-- > 0)
479   {
480      UINT32 pix = src[firstpix++];
481
482      if (xpos < 760)
483      {
484         scanline[xpos++] = (pix&0xffff0000)>>16;
485         scanline[xpos++] = pix&0xffff;
486      }
487   }
488}
489
490void jaguar_state::bitmap_32_0(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
491{
492   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 0, 1);
493}
494
495void jaguar_state::bitmap_32_1(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
496{
497   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 1, -1);
498}
499
500void jaguar_state::bitmap_32_2(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
501{
502   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 2, 1);
503}
504
505void jaguar_state::bitmap_32_3(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
506{
507   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 3, -1);
508}
509
510void jaguar_state::bitmap_32_4(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
511{
512   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 4, 1);
513}
514
515void jaguar_state::bitmap_32_5(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
516{
517   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 5, -1);
518}
519
520void jaguar_state::bitmap_32_6(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
521{
522   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 6, 1);
523}
524
525void jaguar_state::bitmap_32_7(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
526{
527   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 7, -1);
528}
529
530void (jaguar_state::*const jaguar_state::bitmap32[8])(UINT16 *, INT32, INT32, UINT32 *, INT32) =
531{
532   &jaguar_state::bitmap_32_0,
533   &jaguar_state::bitmap_32_1,
534   &jaguar_state::bitmap_32_2,
535   &jaguar_state::bitmap_32_3,
536   &jaguar_state::bitmap_32_4,
537   &jaguar_state::bitmap_32_5,
538   &jaguar_state::bitmap_32_6,
539   &jaguar_state::bitmap_32_7
540};
541
542
543
544static inline UINT8 lookup_pixel(const UINT32 *src, int i, int pitch, int depth)
545{
546   int ppl     = 32 / depth;
547   UINT32 data = src[((i & ppl) / ppl) + ((i / (ppl<<1)) * (pitch<<1))];
548   UINT8 pix   = (data >> ((~i & (ppl-1)) * depth)) & ((1 << depth) - 1);
549   return pix;
550}
551
552
553
554/*************************************
555 *
556 *  Standard bitmap processor
557 *
558 *************************************/
559
560UINT32 *jaguar_state::process_bitmap(UINT16 *scanline, UINT32 *objdata, int vc, int logit)
561{
562   /* extract minimal data */
563   UINT32 upper = objdata[0];
564   UINT32 lower = objdata[1];
565   UINT32 ypos = (lower >> 3) & 0x7ff;
566   UINT32 height = (lower >> 14) & 0x3ff;
567   UINT32 link = (lower >> 24) | ((upper & 0x7ff) << 8);
568   UINT32 data = (upper >> 11);
569   UINT32 *src = (UINT32 *)memory_base(data << 3);
570
571   if (logit)
572   {
573      /* second phrase */
574      UINT32 upper2 = objdata[2];
575      UINT32 lower2 = objdata[3];
576
577      /* extract data */
578      INT32 xpos = (INT32)(lower2 << 20) >> 20;
579      UINT8 depth = 1 << ((lower2 >> 12) & 7);
580      UINT8 pitch = (lower2 >> 15) & 7;
581      UINT32 dwidth = (lower2 >> 18) & 0x3ff;
582      INT32 iwidth = (lower2 >> 28) | ((upper2 & 0x3f) << 4);
583      UINT8 _index = (upper2 >> 6) & 0x3f;
584      UINT8 flags = (upper2 >> 13) & 0x0f;
585      UINT8 firstpix = (upper2 >> 17) & 0x3f;
586
587      logerror("        ypos=%X height=%X link=%06X data=%06X\n", ypos, height, link << 3, data << 3);
588      logerror("        xpos=%X depth=%X pitch=%X dwidth=%X iwidth=%X index=%X flags=%X firstpix=%X\n", xpos, depth, pitch, dwidth, iwidth, _index, flags, firstpix);
589   }
590
591   /* only render if valid */
592   if (vc >= ypos && height > 0 && src)
593   {
594      /* second phrase */
595      UINT32 upper2 = objdata[2];
596      UINT32 lower2 = objdata[3];
597
598      /* extract data */
599      INT32 xpos = (INT32)(lower2 << 20) >> 20;
600      UINT8 depthlog = (lower2 >> 12) & 7;
601      UINT8 pitch = (lower2 >> 15) & 7;
602      UINT32 dwidth = (lower2 >> 18) & 0x3ff;
603      UINT32 iwidth = ((lower2 >> 28) | ((upper2 & 0x3f) << 4)) << (6 - depthlog);
604      UINT8 _index = (upper2 >> 5) & 0xfe;
605      UINT8 flags = (upper2 >> 13) & 0x07;
606      UINT8 firstpix = ((upper2 >> 17) & 0x3f) >> depthlog;
607      int i, dxpos = (flags & 1) ? -1 : 1;
608
609      /* preadjust for firstpix */
610      xpos += firstpix * dxpos;
611
612      /* switch off the depth */
613      switch (depthlog)
614      {
615         /* 1bpp case */
616         case 0:
617         {
618            UINT16 *clut = (UINT16 *)&m_gpu_clut[0] + _index;
619
620            /* non-blending */
621            if (!(flags & 2))
622            {
623               for (i = firstpix; i < iwidth; i++)
624               {
625                  UINT8 pix = lookup_pixel(src, i, pitch, 1);
626
627                  if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
628                     scanline[xpos] = clut[BYTE_XOR_BE(pix)];
629                  xpos += dxpos;
630               }
631            }
632
633            /* blending */
634            else
635            {
636               for (i = firstpix; i < iwidth; i++)
637               {
638                  UINT8 pix = lookup_pixel(src, i, pitch, 1);
639
640                  if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
641                     BLEND(scanline[xpos], clut[BYTE_XOR_BE(pix)]);
642                  xpos += dxpos;
643               }
644            }
645            break;
646         }
647
648         /* 2bpp case */
649         case 1:
650         {
651            UINT16 *clut = (UINT16 *)&m_gpu_clut[0] + (_index & 0xfc);
652
653            /* non-blending */
654            if (!(flags & 2))
655            {
656               for (i = firstpix; i < iwidth; i++)
657               {
658                  UINT8 pix = lookup_pixel(src, i, pitch, 2);
659
660                  if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
661                     scanline[xpos] = clut[BYTE_XOR_BE(pix)];
662                  xpos += dxpos;
663               }
664            }
665
666            /* blending */
667            else
668            {
669               for (i = firstpix; i < iwidth; i++)
670               {
671                  UINT8 pix = lookup_pixel(src, i, pitch, 2);
672
673                  if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
674                     BLEND(scanline[xpos], clut[BYTE_XOR_BE(pix)]);
675                  xpos += dxpos;
676               }
677            }
678            break;
679         }
680
681         /* 4bpp case */
682         case 2:
683            /* only handle pitch=1 for now */
684            if (pitch != 1)
685               logerror("Unhandled pitch = %d\n", pitch);
686
687            (this->*bitmap4[flags])(scanline, firstpix, iwidth, src, xpos, (UINT16 *)&m_gpu_clut[0] + (_index & 0xf8));
688            break;
689
690         /* 8bpp case */
691         case 3:
692            /* only handle pitch=1 for now */
693            if (pitch != 1)
694               logerror("Unhandled pitch = %d\n", pitch);
695
696            (this->*bitmap8[flags])(scanline, firstpix, iwidth, src, xpos, (UINT16 *)&m_gpu_clut[0]);
697            break;
698
699         /* 16bpp case */
700         case 4:
701            /* only handle pitch=1 for now */
702            if (pitch != 1)
703               logerror("Unhandled pitch = %d\n", pitch);
704
705            (this->*bitmap16[flags])(scanline, firstpix, iwidth, src, xpos);
706            break;
707
708         /* 32bpp case */
709         case 5:
710            /* only handle pitch=1 for now */
711            if (pitch != 1)
712               logerror("Unhandled pitch = %d\n", pitch);
713
714            (this->*bitmap32[flags])(scanline, firstpix, iwidth, src, xpos);
715            break;
716
717         default:
718            fprintf(stderr, "Unhandled bitmap source depth = %d\n", depthlog);
719            break;
720      }
721
722      /* decrement the height and add to the source data offset */
723      objdata[0] = upper + (dwidth << 11);
724      objdata[1] = lower - (1 << 14);
725   }
726
727   return (UINT32 *)memory_base(link << 3);
728}
729
730
731
732/*************************************
733 *
734 *  Scaled bitmap object processor
735 *
736 *************************************/
737
738UINT32 *jaguar_state::process_scaled_bitmap(UINT16 *scanline, UINT32 *objdata, int vc, int logit)
739{
740   /* extract data */
741   UINT32 upper = objdata[0];
742   UINT32 lower = objdata[1];
743   UINT32 ypos = (lower >> 3) & 0x7ff;
744   UINT32 height = (lower >> 14) & 0x3ff;
745   UINT32 link = (lower >> 24) | ((upper & 0x7ff) << 8);
746   UINT32 data = (upper >> 11);
747   UINT32 *src = (UINT32 *)memory_base(data << 3);
748
749   /* third phrase */
750   UINT32 lower3 = objdata[5];
751   INT32 remainder = (lower3 >> 16) & 0xff;
752
753   if (logit)
754   {
755      /* second phrase */
756      UINT32 upper2 = objdata[2];
757      UINT32 lower2 = objdata[3];
758
759      /* extract data */
760      INT32 xpos = (INT32)(lower2 << 20) >> 20;
761      UINT8 depth = 1 << ((lower2 >> 12) & 7);
762      UINT8 pitch = (lower2 >> 15) & 7;
763      UINT32 dwidth = (lower2 >> 18) & 0x3ff;
764      INT32 iwidth = (lower2 >> 28) | ((upper2 & 0x3f) << 4);
765      UINT8 _index = (upper2 >> 6) & 0x3f;
766      UINT8 flags = (upper2 >> 13) & 0x0f;
767      UINT8 firstpix = (upper2 >> 17) & 0x3f;
768
769      INT32 hscale = lower3 & 0xff;
770      INT32 vscale = (lower3 >> 8) & 0xff;
771
772      logerror("        ypos=%X height=%X link=%06X data=%06X\n", ypos, height, link << 3, data << 3);
773      logerror("        xpos=%X depth=%X pitch=%X dwidth=%X iwidth=%X index=%X flags=%X firstpix=%X\n", xpos, depth, pitch, dwidth, iwidth, _index, flags, firstpix);
774      logerror("        hscale=%X vscale=%X remainder=%X\n", hscale, vscale, remainder);
775   }
776
777   /* only render if valid */
778   if (vc >= ypos && (height > 0 || remainder > 0) && src)
779   {
780      /* second phrase */
781      UINT32 upper2 = objdata[2];
782      UINT32 lower2 = objdata[3];
783
784      /* extract data */
785      INT32 xpos = (INT32)(lower2 << 20) >> 20;
786      UINT8 depthlog = (lower2 >> 12) & 7;
787      UINT8 pitch = (lower2 >> 15) & 7;
788      UINT32 dwidth = (lower2 >> 18) & 0x3ff;
789      INT32 iwidth = ((lower2 >> 28) | ((upper2 & 0x3f) << 4)) << (6 - depthlog);
790      UINT8 _index = (upper2 >> 5) & 0xfe;
791      UINT8 flags = (upper2 >> 13) & 0x07;
792      UINT8 firstpix = ((upper2 >> 17) & 0x3f) >> depthlog;
793
794      INT32 hscale = lower3 & 0xff;
795      INT32 vscale = (lower3 >> 8) & 0xff;
796      INT32 xleft = hscale;
797      int dxpos = (flags & 1) ? -1 : 1;
798      int xpix = firstpix, yinc;
799
800      /* only handle pitch=1 (sequential data) for now */
801      if (pitch != 1)
802         logerror("Unhandled pitch = %d\n", pitch);
803      if (flags & 2)
804      {
805         mame_printf_debug("Unhandled blend mode in scaled bitmap case\n");
806         logerror("Unhandled blend mode in scaled bitmap case\n");
807      }
808
809      /* preadjust for firstpix */
810      xpos += firstpix * dxpos;
811
812      /* ignore hscale = 0 */
813      if (hscale != 0)
814      {
815         /* switch off the depth */
816         switch (depthlog)
817         {
818            case 0:
819            {
820               UINT16 *clut = (UINT16 *)&m_gpu_clut[0] + _index;
821
822               /* render in phrases */
823               while (xpix < iwidth)
824               {
825                  UINT16 pix = (src[xpix >> 5] >> (~xpix & 31)) & 0x01;
826
827                  while (xleft > 0)
828                  {
829                     if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
830                        scanline[xpos] = clut[BYTE_XOR_BE(pix)];
831                     xpos += dxpos;
832                     xleft -= 0x20;
833                  }
834                  while (xleft <= 0)
835                     xleft += hscale, xpix++;
836               }
837               break;
838            }
839
840            case 1:
841            {
842               UINT16 *clut = (UINT16 *)&m_gpu_clut[0] + (_index & 0xfc);
843
844               /* render in phrases */
845               while (xpix < iwidth)
846               {
847                  UINT16 pix = (src[xpix >> 4] >> ((~xpix & 15) << 1)) & 0x03;
848
849                  while (xleft > 0)
850                  {
851                     if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
852                        scanline[xpos] = clut[BYTE_XOR_BE(pix)];
853                     xpos += dxpos;
854                     xleft -= 0x20;
855                  }
856                  while (xleft <= 0)
857                     xleft += hscale, xpix++;
858               }
859               break;
860            }
861
862            case 2:
863            {
864               UINT16 *clut = (UINT16 *)&m_gpu_clut[0] + (_index & 0xf8);
865
866               /* render in phrases */
867               while (xpix < iwidth)
868               {
869                  UINT16 pix = (src[xpix >> 3] >> ((~xpix & 7) << 2)) & 0x0f;
870
871                  while (xleft > 0)
872                  {
873                     if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
874                        scanline[xpos] = clut[BYTE_XOR_BE(pix)];
875                     xpos += dxpos;
876                     xleft -= 0x20;
877                  }
878                  while (xleft <= 0)
879                     xleft += hscale, xpix++;
880               }
881               break;
882            }
883
884            case 3:
885            {
886               UINT16 *clut = (UINT16 *)&m_gpu_clut[0];
887
888               /* render in phrases */
889               while (xpix < iwidth)
890               {
891                  UINT16 pix = (src[xpix >> 2] >> ((~xpix & 3) << 3)) & 0xff;
892
893                  while (xleft > 0)
894                  {
895                     if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
896                        scanline[xpos] = clut[BYTE_XOR_BE(pix)];
897                     xpos += dxpos;
898                     xleft -= 0x20;
899                  }
900                  while (xleft <= 0)
901                     xleft += hscale, xpix++;
902               }
903               break;
904            }
905
906            case 4:
907               while (xpix < iwidth)
908               {
909                  UINT16 pix = src[xpix >> 1] >> ((~xpix & 1) << 4);
910
911                  while (xleft > 0)
912                  {
913                     if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
914                        scanline[xpos] = pix;
915                     xpos += dxpos;
916                     xleft -= 0x20;
917                  }
918                  while (xleft <= 0)
919                     xleft += hscale, xpix++;
920               }
921               break;
922
923            default:
924               fprintf(stderr, "Unhandled scaled bitmap source depth = %d\n", depthlog);
925               break;
926         }
927      }
928
929      /* handle Y scale */
930      remainder -= 0x20;
931      yinc = 0;
932      while (remainder <= 0 && vscale != 0)
933         remainder += vscale, yinc++;
934      if (yinc > height)
935         yinc = height, remainder = 0;
936
937      /* decrement the height and add to the source data offset */
938      objdata[0] = upper + yinc * (dwidth << 11);
939      objdata[1] = lower - yinc * (1 << 14);
940      objdata[5] = (lower3 & ~0xff0000) | ((remainder & 0xff) << 16);
941   }
942
943   return (UINT32 *)memory_base(link << 3);
944}
945
946
947
948/*************************************
949 *
950 *  Branch object processor
951 *
952 *************************************/
953
954UINT32 *jaguar_state::process_branch(UINT32 *objdata, int vc, int logit)
955{
956   UINT32 upper = objdata[0];
957   UINT32 lower = objdata[1];
958   UINT32 ypos = (lower >> 3) & 0x7ff;
959   UINT32 cc = (lower >> 14) & 7;
960   UINT32 link = (lower >> 24) | ((upper & 0x7ff) << 8);
961   int taken = 0;
962
963//  if ((ypos & 1) && ypos != 0x7ff)
964//      fprintf(stderr, "        branch cc=%d ypos=%X link=%06X - \n", cc, ypos, link << 3);
965
966   switch (cc)
967   {
968      /* 0: branch if ypos == vc or ypos == 0x7ff */
969      case 0:
970         if (logit) logerror("        branch if %X == vc or %X == 0x7ff to %06X\n", ypos, ypos, link << 3);
971         taken = (ypos == vc) || (ypos == 0x7ff);
972         break;
973
974      /* 1: branch if ypos > vc */
975      case 1:
976         if (logit) logerror("        branch if %X > vc to %06X\n", ypos, link << 3);
977         taken = (ypos > vc);
978         break;
979
980      /* 2: branch if ypos < vc */
981      case 2:
982         if (logit) logerror("        branch if %X < vc to %06X\n", ypos, link << 3);
983         taken = (ypos < vc);
984         break;
985
986      /* 3: branch if object processor flag is set */
987      case 3:
988         if (logit) logerror("        branch if object flag set to %06X\n", link << 3);
989         taken = m_gpu_regs[OBF] & 1;
990         break;
991
992      /* 4: branch on second half of display line */
993      case 4:
994         if (logit) logerror("        branch if second half of line to %06X\n", link << 3);
995         taken = (vc & 1);
996         break;
997
998      default:
999         fprintf(stderr, "Invalid branch!\n");
1000         link = 0; taken = 1;
1001         break;
1002   }
1003
1004   /* handle the branch */
1005   return taken ? (UINT32 *)memory_base(link << 3) : (objdata + 2);
1006}
1007
1008
1009
1010/*************************************
1011 *
1012 *  Process object list
1013 *
1014 *************************************/
1015
1016void jaguar_state::process_object_list(int vc, UINT16 *scanline)
1017{
1018   int done = 0, count = 0;
1019   UINT32 *objdata;
1020   int logit;
1021   int x;
1022
1023   /* erase the scanline first */
1024   for (x = 0; x < 760; x++)
1025      scanline[x] = m_gpu_regs[BG];
1026
1027   logit = LOG_OBJECTS;
1028
1029   /* fetch the object pointer */
1030   objdata = (UINT32 *)memory_base((m_gpu_regs[OLP_H] << 16) | m_gpu_regs[OLP_L]);
1031   while (!done && objdata && count++ < 100)
1032   {
1033      /* the low 3 bits determine the command */
1034      switch (objdata[1] & 7)
1035      {
1036         /* bitmap object */
1037         case 0:
1038            if (logit)
1039               logerror("bitmap = %08X-%08X %08X-%08X\n", objdata[0], objdata[1], objdata[2], objdata[3]);
1040            objdata = process_bitmap(scanline, objdata, vc, logit);
1041            break;
1042
1043         /* scaled bitmap object */
1044         case 1:
1045            if (logit)
1046               logerror("scaled = %08X-%08X %08X-%08X %08X-%08X\n", objdata[0], objdata[1], objdata[2], objdata[3], objdata[4], objdata[5]);
1047            objdata = process_scaled_bitmap(scanline, objdata, vc, logit);
1048            break;
1049
1050
1051         /* GPU interrupt */
1052         case 2:
1053            m_gpu_regs[OB_HH]=(objdata[1]&0xffff0000)>>16;
1054            m_gpu_regs[OB_HL]=objdata[1]&0xffff;
1055            m_gpu_regs[OB_LH]=(objdata[0]&0xffff0000)>>16;
1056            m_gpu_regs[OB_LL]=objdata[0]&0xffff;
1057            m_cpu_irq_state |= 2;
1058            update_cpu_irq();
1059            done=1;
1060            break;
1061
1062         /* branch */
1063         case 3:
1064            if (logit)
1065               logerror("branch = %08X-%08X\n", objdata[0], objdata[1]);
1066            objdata = process_branch(objdata, vc, logit);
1067            break;
1068
1069         /* stop */
1070         case 4:
1071         {
1072            int interrupt = (objdata[1] >> 3) & 1;
1073            done = 1;
1074
1075            if (logit)
1076               logerror("stop   = %08X-%08X\n", objdata[0], objdata[1]);
1077            if (interrupt)
1078            {
1079//                  fprintf(stderr, "stop int=%d\n", interrupt);
1080               m_cpu_irq_state |= 4;
1081               update_cpu_irq();
1082            }
1083            break;
1084         }
1085
1086         default:
1087            fprintf(stderr, "%08X %08X\n", objdata[0], objdata[1]);
1088            done = 1;
1089            break;
1090      }
1091   }
1092}
trunk/src/mame/video/model2rd.c
r23775r23776
1/********************************************************************
2
3    Sega Model 2 3D rasterization functions
4
5********************************************************************/
6
7#undef MODEL2_CHECKER
8#undef MODEL2_TEXTURED
9#undef MODEL2_TRANSLUCENT
10
11#ifndef MODEL2_FUNC
12#error "Model 2 renderer: No function defined!"
13#endif
14
15#ifndef MODEL2_FUNC_NAME
16#error "Model 2 renderer: No function name defined!"
17#endif
18
19#if MODEL2_FUNC == 0
20#undef MODEL2_CHECKER
21#undef MODEL2_TEXTURED
22#undef MODEL2_TRANSLUCENT
23#elif MODEL2_FUNC == 1
24#undef MODEL2_CHECKER
25#undef MODEL2_TEXTURED
26#define MODEL2_TRANSLUCENT
27#elif MODEL2_FUNC == 2
28#undef MODEL2_CHECKER
29#define MODEL2_TEXTURED
30#undef MODEL2_TRANSLUCENT
31#elif MODEL2_FUNC == 3
32#undef MODEL2_CHECKER
33#define MODEL2_TEXTURED
34#define MODEL2_TRANSLUCENT
35#elif MODEL2_FUNC == 4
36#define MODEL2_CHECKER
37#undef MODEL2_TEXTURED
38#undef MODEL2_TRANSLUCENT
39#elif MODEL2_FUNC == 5
40#define MODEL2_CHECKER
41#undef MODEL2_TEXTURED
42#define MODEL2_TRANSLUCENT
43#elif MODEL2_FUNC == 6
44#define MODEL2_CHECKER
45#define MODEL2_TEXTURED
46#undef MODEL2_TRANSLUCENT
47#elif MODEL2_FUNC == 7
48#define MODEL2_CHECKER
49#define MODEL2_TEXTURED
50#define MODEL2_TRANSLUCENT
51#else
52#error "Model 2 renderer: Invalif function selected!"
53#endif
54
55#ifndef MODEL2_TEXTURED
56/* non-textured render path */
57static void MODEL2_FUNC_NAME(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
58{
59#if !defined( MODEL2_TRANSLUCENT)
60   const poly_extra_data *extra = (const poly_extra_data *)extradata;
61   model2_state *state = extra->state;
62   bitmap_rgb32 *destmap = (bitmap_rgb32 *)dest;
63   UINT32 *p = &destmap->pix32(scanline);
64
65   /* extract color information */
66   const UINT16 *colortable_r = (const UINT16 *)&state->m_colorxlat[0x0000/4];
67   const UINT16 *colortable_g = (const UINT16 *)&state->m_colorxlat[0x4000/4];
68   const UINT16 *colortable_b = (const UINT16 *)&state->m_colorxlat[0x8000/4];
69   const UINT16 *lumaram = (const UINT16 *)state->m_lumaram.target();
70   const UINT16 *palram = (const UINT16 *)state->m_paletteram32.target();
71   UINT32  lumabase = extra->lumabase;
72   UINT32  color = extra->colorbase;
73   UINT8   luma;
74   UINT32  tr, tg, tb;
75   int     x;
76#endif
77   /* if it's translucent, there's nothing to render */
78#if defined( MODEL2_TRANSLUCENT)
79   return;
80#else
81
82   luma = lumaram[BYTE_XOR_LE(lumabase + (0xf << 3))] & 0x3F;
83
84   color = palram[BYTE_XOR_LE(color + 0x1000)] & 0x7fff;
85
86   colortable_r += ((color >>  0) & 0x1f) << 8;
87   colortable_g += ((color >>  5) & 0x1f) << 8;
88   colortable_b += ((color >> 10) & 0x1f) << 8;
89
90   /* we have the 6 bits of luma information along with 5 bits per color component */
91   /* now build and index into the master color lookup table and extract the raw RGB values */
92
93   tr = colortable_r[BYTE_XOR_LE(luma)] & 0xff;
94   tg = colortable_g[BYTE_XOR_LE(luma)] & 0xff;
95   tb = colortable_b[BYTE_XOR_LE(luma)] & 0xff;
96
97   /* build the final color */
98   color = MAKE_RGB(tr, tg, tb);
99
100   for(x = extent->startx; x < extent->stopx; x++)
101#if defined(MODEL2_CHECKER)
102      if ((x^scanline) & 1) p[x] = color;
103#else
104      p[x] = color;
105#endif
106#endif
107}
108
109#else
110/* textured render path */
111static void MODEL2_FUNC_NAME(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
112{
113   const poly_extra_data *extra = (const poly_extra_data *)extradata;
114   model2_state *state = extra->state;
115   bitmap_rgb32 *destmap = (bitmap_rgb32 *)dest;
116   UINT32 *p = &destmap->pix32(scanline);
117
118   UINT32  tex_width = extra->texwidth;
119   UINT32  tex_height = extra->texheight;
120
121   /* extract color information */
122   const UINT16 *colortable_r = (const UINT16 *)&state->m_colorxlat[0x0000/4];
123   const UINT16 *colortable_g = (const UINT16 *)&state->m_colorxlat[0x4000/4];
124   const UINT16 *colortable_b = (const UINT16 *)&state->m_colorxlat[0x8000/4];
125   const UINT16 *lumaram = (const UINT16 *)state->m_lumaram.target();
126   const UINT16 *palram = (const UINT16 *)state->m_paletteram32.target();
127   UINT32  colorbase = extra->colorbase;
128   UINT32  lumabase = extra->lumabase;
129   UINT32  tex_x = extra->texx;
130   UINT32  tex_y = extra->texy;
131   UINT32  tex_x_mask, tex_y_mask;
132   UINT32  tex_mirr_x = extra->texmirrorx;
133   UINT32  tex_mirr_y = extra->texmirrory;
134   UINT32 *sheet = extra->texsheet;
135   float ooz = extent->param[0].start;
136   float uoz = extent->param[1].start;
137   float voz = extent->param[2].start;
138   float dooz = extent->param[0].dpdx;
139   float duoz = extent->param[1].dpdx;
140   float dvoz = extent->param[2].dpdx;
141   int     x;
142
143   tex_x_mask  = tex_width - 1;
144   tex_y_mask  = tex_height - 1;
145
146   colorbase = palram[BYTE_XOR_LE(colorbase + 0x1000)] & 0x7fff;
147
148   colortable_r += ((colorbase >>  0) & 0x1f) << 8;
149   colortable_g += ((colorbase >>  5) & 0x1f) << 8;
150   colortable_b += ((colorbase >> 10) & 0x1f) << 8;
151
152   for(x = extent->startx; x < extent->stopx; x++, uoz += duoz, voz += dvoz, ooz += dooz)
153   {
154      float z = recip_approx(ooz) * 256.0f;
155      INT32 u = uoz * z;
156      INT32 v = voz * z;
157      UINT32  tr, tg, tb;
158      UINT16  t;
159      UINT8 luma;
160      int u2;
161      int v2;
162
163#if defined(MODEL2_CHECKER)
164      if ( ((x^scanline) & 1) == 0 )
165         continue;
166#endif
167      u2 = (u >> 8) & tex_x_mask;
168      v2 = (v >> 8) & tex_y_mask;
169
170      if ( tex_mirr_x )
171         u2 = ( tex_width - 1 ) - u2;
172
173      if ( tex_mirr_y )
174         v2 = ( tex_height - 1 ) - v2;
175
176      t = get_texel( tex_x, tex_y, u2, v2, sheet );
177
178#if defined(MODEL2_TRANSLUCENT)
179      if ( t == 0x0f )
180         continue;
181#endif
182      luma = lumaram[BYTE_XOR_LE(lumabase + (t << 3))] & 0x3f;
183
184      /* we have the 6 bits of luma information along with 5 bits per color component */
185      /* now build and index into the master color lookup table and extract the raw RGB values */
186
187      tr = colortable_r[BYTE_XOR_LE(luma)] & 0xff;
188      tg = colortable_g[BYTE_XOR_LE(luma)] & 0xff;
189      tb = colortable_b[BYTE_XOR_LE(luma)] & 0xff;
190
191      p[x] = MAKE_RGB(tr, tg, tb);
192   }
193}
194
195#endif
trunk/src/mame/video/m3raster.c
r23775r23776
1static void draw_scanline_normal(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
2{
3   const poly_extra_data *extra = (const poly_extra_data *)extradata;
4   const cached_texture *texture = extra->texture;
5   bitmap_ind16 *destmap = (bitmap_ind16 *)dest;
6   UINT16 *p = &destmap->pix16(scanline);
7   UINT32 *d = &extra->zbuffer->pix32(scanline);
8   float ooz = extent->param[0].start;
9   float uoz = extent->param[1].start;
10   float voz = extent->param[2].start;
11   float doozdx = extent->param[0].dpdx;
12   float duozdx = extent->param[1].dpdx;
13   float dvozdx = extent->param[2].dpdx;
14   UINT32 polyi = extra->polygon_intensity;
15   UINT32 umask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_U) ? 64 : 32) << texture->width) - 1;
16   UINT32 vmask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_V) ? 64 : 32) << texture->height) - 1;
17   UINT32 width = 6 + texture->width;
18   int x;
19
20   for (x = extent->startx; x < extent->stopx; x++)
21   {
22      UINT32 iz = ooz * 256.0f;
23      if (iz > d[x])
24      {
25         float z = 1.0f / ooz;
26         UINT32 u = uoz * z;
27         UINT32 v = voz * z;
28         UINT32 u1 = (u >> 8) & umask;
29         UINT32 v1 = (v >> 8) & vmask;
30         UINT32 u2 = (u1 + 1) & umask;
31         UINT32 v2 = (v1 + 1) & vmask;
32         UINT32 pix00 = texture->data[(v1 << width) + u1];
33         UINT32 pix01 = texture->data[(v1 << width) + u2];
34         UINT32 pix10 = texture->data[(v2 << width) + u1];
35         UINT32 pix11 = texture->data[(v2 << width) + u2];
36         UINT32 texel = rgba_bilinear_filter(pix00, pix01, pix10, pix11, u, v);
37         UINT32 fr = ((texel & 0x00ff0000) * polyi) >> (8+9);
38         UINT32 fg = ((texel & 0x0000ff00) * polyi) >> (8+6);
39         UINT32 fb = ((texel & 0x000000ff) * polyi) >> (8+3);
40         p[x] = (fr & 0x7c00) | (fg & 0x3e0) | (fb & 0x1f);
41         d[x] = iz;
42      }
43
44      ooz += doozdx;
45      uoz += duozdx;
46      voz += dvozdx;
47   }
48}
49
50static void draw_scanline_trans(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
51{
52   const poly_extra_data *extra = (const poly_extra_data *)extradata;
53   const cached_texture *texture = extra->texture;
54   bitmap_ind16 *destmap = (bitmap_ind16 *)dest;
55   UINT16 *p = &destmap->pix16(scanline);
56   UINT32 *d = &extra->zbuffer->pix32(scanline);
57   float ooz = extent->param[0].start;
58   float uoz = extent->param[1].start;
59   float voz = extent->param[2].start;
60   float doozdx = extent->param[0].dpdx;
61   float duozdx = extent->param[1].dpdx;
62   float dvozdx = extent->param[2].dpdx;
63   UINT32 polyi = (extra->polygon_intensity * extra->polygon_transparency) >> 5;
64   int desttrans = 32 - extra->polygon_transparency;
65   UINT32 umask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_U) ? 64 : 32) << texture->width) - 1;
66   UINT32 vmask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_V) ? 64 : 32) << texture->height) - 1;
67   UINT32 width = 6 + texture->width;
68   int x;
69
70   for (x = extent->startx; x < extent->stopx; x++)
71   {
72      UINT32 iz = ooz * 256.0f;
73      if (iz > d[x])
74      {
75         float z = 1.0f / ooz;
76         UINT32 u = uoz * z;
77         UINT32 v = voz * z;
78         UINT32 u1 = (u >> 8) & umask;
79         UINT32 v1 = (v >> 8) & vmask;
80         UINT32 u2 = (u1 + 1) & umask;
81         UINT32 v2 = (v1 + 1) & vmask;
82         UINT32 pix00 = texture->data[(v1 << width) + u1];
83         UINT32 pix01 = texture->data[(v1 << width) + u2];
84         UINT32 pix10 = texture->data[(v2 << width) + u1];
85         UINT32 pix11 = texture->data[(v2 << width) + u2];
86         UINT32 texel = rgba_bilinear_filter(pix00, pix01, pix10, pix11, u, v);
87         UINT32 fr = ((texel & 0x00ff0000) * polyi) >> (8+9);
88         UINT32 fg = ((texel & 0x0000ff00) * polyi) >> (8+6);
89         UINT32 fb = ((texel & 0x000000ff) * polyi) >> (8+3);
90         UINT16 orig = p[x];
91         fr += ((orig & 0x7c00) * desttrans) >> 5;
92         fg += ((orig & 0x03e0) * desttrans) >> 5;
93         fb += ((orig & 0x001f) * desttrans) >> 5;
94         p[x] = (fr & 0x7c00) | (fg & 0x3e0) | (fb & 0x1f);
95         d[x] = iz;
96      }
97
98      ooz += doozdx;
99      uoz += duozdx;
100      voz += dvozdx;
101   }
102}
103
104
105static void draw_scanline_alpha(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
106{
107   const poly_extra_data *extra = (const poly_extra_data *)extradata;
108   const cached_texture *texture = extra->texture;
109   bitmap_ind16 *destmap = (bitmap_ind16 *)dest;
110   UINT16 *p = &destmap->pix16(scanline);
111   UINT32 *d = &extra->zbuffer->pix32(scanline);
112   float ooz = extent->param[0].start;
113   float uoz = extent->param[1].start;
114   float voz = extent->param[2].start;
115   float doozdx = extent->param[0].dpdx;
116   float duozdx = extent->param[1].dpdx;
117   float dvozdx = extent->param[2].dpdx;
118   UINT32 polyi = (extra->polygon_intensity * extra->polygon_transparency) >> 5;
119   int desttrans = 32 - extra->polygon_transparency;
120   UINT32 umask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_U) ? 64 : 32) << texture->width) - 1;
121   UINT32 vmask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_V) ? 64 : 32) << texture->height) - 1;
122   UINT32 width = 6 + texture->width;
123   int x;
124
125   for (x = extent->startx; x < extent->stopx; x++)
126   {
127      UINT32 iz = ooz * 256.0f;
128      if (iz > d[x])
129      {
130         float z = 1.0f / ooz;
131         UINT32 u = uoz * z;
132         UINT32 v = voz * z;
133         UINT32 u1 = (u >> 8) & umask;
134         UINT32 v1 = (v >> 8) & vmask;
135         UINT32 u2 = (u1 + 1) & umask;
136         UINT32 v2 = (v1 + 1) & vmask;
137         UINT32 pix00 = texture->data[(v1 << width) + u1];
138         UINT32 pix01 = texture->data[(v1 << width) + u2];
139         UINT32 pix10 = texture->data[(v2 << width) + u1];
140         UINT32 pix11 = texture->data[(v2 << width) + u2];
141         UINT32 texel = rgba_bilinear_filter(pix00, pix01, pix10, pix11, u, v);
142         UINT32 fa = texel >> 24;
143         if (fa != 0)
144         {
145            UINT32 combined = ((fa + 1) * polyi) >> 8;
146            UINT32 fr = ((texel & 0x00ff0000) * combined) >> (8+9);
147            UINT32 fg = ((texel & 0x0000ff00) * combined) >> (8+6);
148            UINT32 fb = ((texel & 0x000000ff) * combined) >> (8+3);
149            UINT16 orig = p[x];
150            combined = ((255 - fa) * desttrans) >> 5;
151            fr += ((orig & 0x7c00) * combined) >> 8;
152            fg += ((orig & 0x03e0) * combined) >> 8;
153            fb += ((orig & 0x001f) * combined) >> 8;
154            p[x] = (fr & 0x7c00) | (fg & 0x3e0) | (fb & 0x1f);
155            d[x] = iz;
156         }
157      }
158
159      ooz += doozdx;
160      uoz += duozdx;
161      voz += dvozdx;
162   }
163}
164
165
166static void draw_scanline_alpha_test(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
167{
168   const poly_extra_data *extra = (const poly_extra_data *)extradata;
169   const cached_texture *texture = extra->texture;
170   bitmap_ind16 *destmap = (bitmap_ind16 *)dest;
171   UINT16 *p = &destmap->pix16(scanline);
172   UINT32 *d = &extra->zbuffer->pix32(scanline);
173   float ooz = extent->param[0].start;
174   float uoz = extent->param[1].start;
175   float voz = extent->param[2].start;
176   float doozdx = extent->param[0].dpdx;
177   float duozdx = extent->param[1].dpdx;
178   float dvozdx = extent->param[2].dpdx;
179   UINT32 polyi = (extra->polygon_intensity * extra->polygon_transparency) >> 5;
180   int desttrans = 32 - extra->polygon_transparency;
181   UINT32 umask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_U) ? 64 : 32) << texture->width) - 1;
182   UINT32 vmask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_V) ? 64 : 32) << texture->height) - 1;
183   UINT32 width = 6 + texture->width;
184   int x;
185
186   for (x = extent->startx; x < extent->stopx; x++)
187   {
188      UINT32 iz = ooz * 256.0f;
189      if (iz > d[x])
190      {
191         float z = 1.0f / ooz;
192         UINT32 u = uoz * z;
193         UINT32 v = voz * z;
194         UINT32 u1 = (u >> 8) & umask;
195         UINT32 v1 = (v >> 8) & vmask;
196         UINT32 u2 = (u1 + 1) & umask;
197         UINT32 v2 = (v1 + 1) & vmask;
198         UINT32 pix00 = texture->data[(v1 << width) + u1];
199         UINT32 pix01 = texture->data[(v1 << width) + u2];
200         UINT32 pix10 = texture->data[(v2 << width) + u1];
201         UINT32 pix11 = texture->data[(v2 << width) + u2];
202         UINT32 texel = rgba_bilinear_filter(pix00, pix01, pix10, pix11, u, v);
203         UINT32 fa = texel >> 24;
204         if (fa >= 0xf8)
205         {
206            UINT32 combined = ((fa + 1) * polyi) >> 8;
207            UINT32 fr = ((texel & 0x00ff0000) * combined) >> (8+9);
208            UINT32 fg = ((texel & 0x0000ff00) * combined) >> (8+6);
209            UINT32 fb = ((texel & 0x000000ff) * combined) >> (8+3);
210            UINT16 orig = p[x];
211            combined = ((255 - fa) * desttrans) >> 8;
212            fr += ((orig & 0x7c00) * combined) >> 5;
213            fg += ((orig & 0x03e0) * combined) >> 5;
214            fb += ((orig & 0x001f) * combined) >> 5;
215            p[x] = (fr & 0x7c00) | (fg & 0x3e0) | (fb & 0x1f);
216            d[x] = iz;
217         }
218      }
219
220      ooz += doozdx;
221      uoz += duozdx;
222      voz += dvozdx;
223   }
224}
225
226static void draw_scanline_color(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
227{
228   const poly_extra_data *extra = (const poly_extra_data *)extradata;
229   bitmap_ind16 *destmap = (bitmap_ind16 *)dest;
230   UINT16 *p = &destmap->pix16(scanline);
231   UINT32 *d = &extra->zbuffer->pix32(scanline);
232   float ooz = extent->param[0].start;
233   float doozdx = extent->param[0].dpdx;
234   int fr = extra->color & 0x7c00;
235   int fg = extra->color & 0x03e0;
236   int fb = extra->color & 0x001f;
237   int x;
238
239   // apply intensity
240   fr = (fr * extra->polygon_intensity) >> 8;
241   fg = (fg * extra->polygon_intensity) >> 8;
242   fb = (fb * extra->polygon_intensity) >> 8;
243
244   /* simple case: no transluceny */
245   if (extra->polygon_transparency >= 32)
246   {
247      UINT32 color = (fr & 0x7c00) | (fg & 0x03e0) | (fb & 0x1f);
248      for (x = extent->startx; x < extent->stopx; x++)
249      {
250         UINT32 iz = ooz * 256.0f;
251         if (iz > d[x])
252         {
253            p[x] = color;
254            d[x] = iz;
255         }
256         ooz += doozdx;
257      }
258   }
259
260   /* translucency */
261   else
262   {
263      int polytrans = extra->polygon_transparency;
264
265      fr = (fr * polytrans) >> 5;
266      fg = (fg * polytrans) >> 5;
267      fb = (fb * polytrans) >> 5;
268      polytrans = 32 - polytrans;
269
270      for (x = extent->startx; x < extent->stopx; x++)
271      {
272         UINT32 iz = ooz * 256.0f;
273         if (iz > d[x])
274         {
275            UINT16 orig = p[x];
276            int r = fr + (((orig & 0x7c00) * polytrans) >> 5);
277            int g = fg + (((orig & 0x03e0) * polytrans) >> 5);
278            int b = fb + (((orig & 0x001f) * polytrans) >> 5);
279
280            p[x] = (r & 0x7c00) | (g & 0x3e0) | (b & 0x1f);
281            d[x] = iz;
282         }
283         ooz += doozdx;
284      }
285   }
286}
trunk/src/mame/video/rdpfiltr.c
r23775r23776
1INLINE void video_filter16(int *out_r, int *out_g, int *out_b, UINT16* vbuff, UINT8* hbuff, const UINT32 hres);
2INLINE void divot_filter16(UINT8* r, UINT8* g, UINT8* b, UINT16* fbuff, UINT32 fbuff_index);
3INLINE void restore_filter16(INT32* r, INT32* g, INT32* b, UINT16* fbuff, UINT32 fbuff_index, UINT32 hres);
4INLINE void divot_filter16_buffer(INT32* r, INT32* g, INT32* b, Color* vibuffer);
5INLINE void restore_filter16_buffer(INT32* r, INT32* g, INT32* b, Color* vibuff, UINT32 hres);
6INLINE void restore_two(Color* filtered, Color* neighbour);
7INLINE void video_max(UINT32* Pixels, UINT8* max, UINT32* enb);
8INLINE UINT32 ge_two(UINT32 enb);
9
10INLINE void video_filter16(int *out_r, int *out_g, int *out_b, UINT16* vbuff, UINT8* hbuff, const UINT32 hres)
11{
12   Color penumax, penumin, max, min;
13   UINT16 pix = *vbuff;
14   const UINT8 centercvg = (*hbuff & 3) + ((pix & 1) << 2) + 1;
15   UINT32 numoffull = 1;
16   UINT32 cvg;
17   UINT32 backr[7], backg[7], backb[7];
18   UINT32 invr[7], invg[7], invb[7];
19   INT32 coeff;
20   INT32 leftup = -hres - 2;
21   INT32 leftdown = hres - 2;
22   INT32 toleft = -2;
23   UINT32 colr, colg, colb;
24   UINT32 enb;
25   UINT32 r = ((pix >> 8) & 0xf8) | (pix >> 13);
26   UINT32 g = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
27   UINT32 b = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
28
29   *out_r = *out_g = *out_b = 0;
30
31   backr[0] = r;
32   backg[0] = g;
33   backb[0] = b;
34   invr[0] = ~r;
35   invg[0] = ~g;
36   invb[0] = ~b;
37
38   if (centercvg == 8)
39   {
40      *out_r = r;
41      *out_g = g;
42      *out_b = b;
43      return;
44   }
45
46   for(int i = 0; i < 5; i++)
47   {
48      pix = vbuff[leftup ^ WORD_ADDR_XOR];
49      cvg = hbuff[leftup ^ BYTE_ADDR_XOR] & 3;
50      if(i & 1)
51      {
52         if (cvg == 3 && (pix & 1))
53         {
54            backr[numoffull] = ((pix >> 8) & 0xf8) | (pix >> 13);
55            backg[numoffull] = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
56            backb[numoffull] = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
57            invr[numoffull] = ~backr[numoffull];
58            invg[numoffull] = ~backg[numoffull];
59            invb[numoffull] = ~backb[numoffull];
60         }
61         else
62         {
63            backr[numoffull] = invr[numoffull] = 0;
64            backg[numoffull] = invg[numoffull] = 0;
65            backb[numoffull] = invb[numoffull] = 0;
66         }
67         numoffull++;
68      }
69      leftup++;
70   }
71
72   for(int i = 0; i < 5; i++)
73   {
74      pix = vbuff[leftdown ^ WORD_ADDR_XOR];
75      cvg = hbuff[leftdown ^ BYTE_ADDR_XOR] & 3;
76      if (i&1)
77      {
78         if (cvg == 3 && (pix & 1))
79         {
80            backr[numoffull] = ((pix >> 8) & 0xf8) | (pix >> 13);
81            backg[numoffull] = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
82            backb[numoffull] = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
83            invr[numoffull] = ~backr[numoffull];
84            invg[numoffull] = ~backg[numoffull];
85            invb[numoffull] = ~backb[numoffull];
86         }
87         else
88         {
89            backr[numoffull] = invr[numoffull] = 0;
90            backg[numoffull] = invg[numoffull] = 0;
91            backb[numoffull] = invb[numoffull] = 0;
92         }
93         numoffull++;
94      }
95      leftdown++;
96   }
97
98   for(int i = 0; i < 5; i++)
99   {
100      pix = vbuff[toleft ^ WORD_ADDR_XOR];
101      cvg = hbuff[toleft ^ BYTE_ADDR_XOR] & 3;
102      if (!(i&3))
103      {
104         if (cvg == 3 && (pix & 1))
105         {
106            backr[numoffull] = ((pix >> 8) & 0xf8) | (pix >> 13);
107            backg[numoffull] = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
108            backb[numoffull] = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
109            invr[numoffull] = ~backr[numoffull];
110            invg[numoffull] = ~backg[numoffull];
111            invb[numoffull] = ~backb[numoffull];
112         }
113         else
114         {
115            backr[numoffull] = invr[numoffull] = 0;
116            backg[numoffull] = invg[numoffull] = 0;
117            backb[numoffull] = invb[numoffull] = 0;
118         }
119         numoffull++;
120      }
121      toleft++;
122   }
123
124   video_max(&backr[0], &max.i.r, &enb);
125   for(int i = 1; i < 7; i++)
126   {
127      if (!((enb >> i) & 1))
128      {
129         backr[i] = 0;
130      }
131   }
132   video_max(&backg[0], &max.i.g, &enb);
133   for (int i = 1; i < 7; i++)
134   {
135      if (!((enb >> i) & 1))
136      {
137         backg[i] = 0;
138      }
139   }
140   video_max(&backb[0], &max.i.b, &enb);
141   for (int i = 1; i < 7; i++)
142   {
143      if (!((enb >> i) & 1))
144      {
145         backb[i] = 0;
146      }
147   }
148   video_max(&invr[0], &min.i.r, &enb);
149   for (int i = 1; i < 7; i++)
150   {
151      if (!((enb >> i) & 1))
152      {
153         backr[i] = 0;
154      }
155   }
156   video_max(&invg[0], &min.i.g, &enb);
157   for (int i = 1; i < 7; i++)
158   {
159      if (!((enb >> i) & 1))
160      {
161         backg[i] = 0;
162      }
163   }
164   video_max(&invb[0], &min.i.b, &enb);
165   for (int i = 1; i < 7; i++)
166   {
167      if (!((enb >> i) & 1))
168      {
169         backb[i] = 0;
170      }
171   }
172
173   video_max(&backr[0], &penumax.i.r, &enb);
174   penumax.i.r = ge_two(enb) ? max.i.r : penumax.i.r;
175
176   video_max(&backg[0], &penumax.i.g, &enb);
177   penumax.i.g = ge_two(enb) ? max.i.g : penumax.i.g;
178
179   video_max(&backb[0], &penumax.i.b, &enb);
180   penumax.i.b = ge_two(enb) ? max.i.b : penumax.i.b;
181
182   video_max(&invr[0], &penumin.i.r, &enb);
183   penumin.i.r = ge_two(enb) ? min.i.r : penumin.i.r;
184
185   video_max(&invg[0], &penumin.i.g, &enb);
186   penumin.i.g = ge_two(enb) ? min.i.g : penumin.i.g;
187
188   video_max(&invb[0], &penumin.i.b, &enb);
189   penumin.i.b = ge_two(enb) ? min.i.b : penumin.i.b;
190
191   penumin.i.r = ~penumin.i.r;
192   penumin.i.g = ~penumin.i.g;
193   penumin.i.b = ~penumin.i.b;
194
195   colr = (UINT32)penumin.i.r + (UINT32)penumax.i.r - (r << 1);
196   colg = (UINT32)penumin.i.g + (UINT32)penumax.i.g - (g << 1);
197   colb = (UINT32)penumin.i.b + (UINT32)penumax.i.b - (b << 1);
198   coeff = 8 - centercvg;
199   colr = (((colr * coeff) + 4) >> 3) + r;
200   colg = (((colg * coeff) + 4) >> 3) + g;
201   colb = (((colb * coeff) + 4) >> 3) + b;
202
203   *out_r = colr & 0xff;
204   *out_g = colg & 0xff;
205   *out_b = colb & 0xff;
206   return;
207}
208
209// This needs to be fixed for endianness.
210INLINE void divot_filter16(UINT8* r, UINT8* g, UINT8* b, UINT16* fbuff, UINT32 fbuff_index)
211{
212   UINT8 leftr, leftg, leftb, rightr, rightg, rightb;
213   UINT16 leftpix, rightpix;
214   UINT16* next, *prev;
215   UINT32 Lsw = fbuff_index & 1;
216   next = (Lsw) ? (UINT16*)(fbuff - 1) : (UINT16*)(fbuff + 3);
217   prev = (Lsw) ? (UINT16*)(fbuff - 3) : (UINT16*)(fbuff + 1);
218   leftpix = *prev;
219   rightpix = *next;
220
221   //leftpix = *(fbuff - 1); //for BE targets
222   //rightpix = *(fbuff + 1);
223
224   leftr = ((leftpix >> 8) & 0xf8) | (leftpix >> 13);
225   leftg = ((leftpix >> 3) & 0xf8) | ((leftpix >>  8) & 0x07);
226   leftb = ((leftpix << 2) & 0xf8) | ((leftpix >>  3) & 0x07);
227   rightr = ((rightpix >> 8) & 0xf8) | (rightpix >> 13);
228   rightg = ((rightpix >> 3) & 0xf8) | ((rightpix >>  8) & 0x07);
229   rightb = ((rightpix << 2) & 0xf8) | ((rightpix >>  3) & 0x07);
230   if ((leftr >= *r && rightr >= leftr) || (leftr >= rightr && *r >= leftr))
231   {
232      *r = leftr; //left = median value
233   }
234   if ((rightr >= *r && leftr >= rightr) || (rightr >= leftr && *r >= rightr))
235   {
236      *r = rightr; //right = median, else *r itself is median
237   }
238   if ((leftg >= *g && rightg >= leftg) || (leftg >= rightg && *g >= leftg))
239   {
240      *g = leftg;
241   }
242   if ((rightg >= *g && leftg >= rightg) || (rightg >= leftg && *g >= rightg))
243   {
244      *g = rightg;
245   }
246   if ((leftb >= *b && rightb >= leftb) || (leftb >= rightb && *b >= leftb))
247   {
248      *b = leftb;
249   }
250   if ((rightb >= *b && leftb >= rightb) || (rightb >= leftb && *b >= rightb))
251   {
252      *b = rightb;
253   }
254}
255
256INLINE void divot_filter16_buffer(int* r, int* g, int* b, Color* vibuffer)
257{
258   Color leftpix = vibuffer[-1];
259   Color rightpix = vibuffer[1];
260   Color filtered = *vibuffer;
261
262   *r = filtered.i.r;
263   *g = filtered.i.g;
264   *b = filtered.i.b;
265   UINT32 leftr = leftpix.i.r;
266   UINT32 leftg = leftpix.i.g;
267   UINT32 leftb = leftpix.i.b;
268   UINT32 rightr = rightpix.i.r;
269   UINT32 rightg = rightpix.i.g;
270   UINT32 rightb = rightpix.i.b;
271
272   if ((leftr >= *r && rightr >= leftr) || (leftr >= rightr && *r >= leftr))
273   {
274      *r = leftr; //left = median value
275   }
276   if ((rightr >= *r && leftr >= rightr) || (rightr >= leftr && *r >= rightr))
277   {
278      *r = rightr; //right = median, else *r itself is median
279   }
280   if ((leftg >= *g && rightg >= leftg) || (leftg >= rightg && *g >= leftg))
281   {
282      *g = leftg;
283   }
284   if ((rightg >= *g && leftg >= rightg) || (rightg >= leftg && *g >= rightg))
285   {
286      *g = rightg;
287   }
288   if ((leftb >= *b && rightb >= leftb) || (leftb >= rightb && *b >= leftb))
289   {
290      *b = leftb;
291   }
292   if ((rightb >= *b && leftb >= rightb) || (rightb >= leftb && *b >= rightb))
293   {
294      *b = rightb;
295   }
296
297   filtered.i.r = *r;
298   filtered.i.g = *g;
299   filtered.i.b = *b;
300}
301
302// Fix me.
303INLINE void restore_filter16(int* r, int* g, int* b, UINT16* fbuff, UINT32 fbuff_index, UINT32 hres)
304{
305   INT32 leftuppix = -hres - 1;
306   INT32 leftdownpix = hres - 1;
307   INT32 toleftpix = -1;
308   UINT8 tempr, tempg, tempb;
309   UINT16 pix;
310   int i;
311
312   UINT8 r5 = *r;
313   UINT8 g5 = *g;
314   UINT8 b5 = *b;
315   r5 &= ~7;
316   g5 &= ~7;
317   b5 &= ~7;
318
319   for (i = 0; i < 3; i++)
320   {
321      pix = fbuff[leftuppix ^ 1];
322      tempr = ((pix >> 8) & 0xf8) | (pix >> 13);
323      tempg = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
324      tempb = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
325      tempr &= ~7;
326      tempg &= ~7;
327      tempb &= ~7;
328      if (tempr > r5)
329      {
330         *r += 1;
331      }
332      if (tempr < r5)
333      {
334         *r -= 1;
335      }
336      if (tempg > g5)
337      {
338         *g += 1;
339      }
340      if (tempg < g5)
341      {
342         *g -= 1;
343      }
344      if (tempb > b5)
345      {
346         *b += 1;
347      }
348      if (tempb < b5)
349      {
350         *b -= 1;
351      }
352      leftuppix++;
353   }
354
355   for (i = 0; i < 3; i++)
356   {
357      pix = fbuff[leftdownpix ^ 1];
358      tempr = ((pix >> 8) & 0xf8) | (pix >> 13);
359      tempg = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
360      tempb = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
361      tempr &= ~7;
362      tempg &= ~7;
363      tempb &= ~7;
364      if (tempr > r5)
365      {
366         *r += 1;
367      }
368      if (tempr < r5)
369      {
370         *r -= 1;
371      }
372      if (tempg > g5)
373      {
374         *g += 1;
375      }
376      if (tempg < g5)
377      {
378         *g -= 1;
379      }
380      if (tempb > b5)
381      {
382         *b += 1;
383      }
384      if (tempb < b5)
385      {
386         *b -= 1;
387      }
388      leftdownpix++;
389   }
390   for(i = 0; i < 3; i++)
391   {
392      if (!(i & 1))
393      {
394         pix = fbuff[toleftpix ^ 1];
395         tempr = ((pix >> 8) & 0xf8) | (pix >> 13);
396         tempg = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
397         tempb = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
398         tempr &= ~7;
399         tempg &= ~7;
400         tempb &= ~7;
401         if (tempr > r5)
402         {
403            *r += 1;
404         }
405         if (tempr < r5)
406         {
407            *r -= 1;
408         }
409         if (tempg > g5)
410         {
411            *g += 1;
412         }
413         if (tempg < g5)
414         {
415            *g -= 1;
416         }
417         if (tempb > b5)
418         {
419            *b += 1;
420         }
421         if (tempb < b5)
422         {
423            *b -= 1;
424         }
425      }
426      toleftpix++;
427   }
428}
429
430INLINE void restore_filter16_buffer(INT32* r, INT32* g, INT32* b, Color* vibuff, UINT32 hres)
431{
432   Color filtered;
433   Color leftuppix, leftdownpix, leftpix;
434   Color rightuppix, rightdownpix, rightpix;
435   Color uppix, downpix;
436   INT32 ihres = (INT32)hres; //can't apply unary minus to unsigned
437
438   leftuppix = vibuff[-ihres - 1];
439   leftdownpix = vibuff[ihres - 1];
440   leftpix = vibuff[-1];
441
442   rightuppix = vibuff[-ihres + 1];
443   rightdownpix = vibuff[ihres + 1];
444   rightpix = vibuff[1];
445
446   uppix = vibuff[-ihres];
447   downpix = vibuff[ihres];
448   filtered = *vibuff;
449
450   restore_two(&filtered, &leftuppix);
451   restore_two(&filtered, &uppix);
452   restore_two(&filtered, &rightuppix);
453
454   restore_two(&filtered, &leftpix);
455   restore_two(&filtered, &rightpix);
456
457   restore_two(&filtered, &leftdownpix);
458   restore_two(&filtered, &downpix);
459   restore_two(&filtered, &rightdownpix);
460
461   *r = filtered.i.r;
462   *g = filtered.i.g;
463   *b = filtered.i.b;
464
465   if(*r < 0) *r = 0;
466   else if(*r > 255) *r = 255;
467   if(*g < 0) *g = 0;
468   else if(*g > 255) *g = 255;
469   if(*b < 0) *b = 0;
470   else if(*b > 255) *b = 255;
471}
472
473// This is wrong, only the 5 upper bits are compared.
474INLINE void restore_two(Color* filtered, Color* neighbour)
475{
476   if (neighbour->i.r > filtered->i.r)
477   {
478      filtered->i.r += 1;
479   }
480   if (neighbour->i.r < filtered->i.r)
481   {
482      filtered->i.r -= 1;
483   }
484   if (neighbour->i.g > filtered->i.g)
485   {
486      filtered->i.g += 1;
487   }
488   if (neighbour->i.g < filtered->i.g)
489   {
490      filtered->i.g -= 1;
491   }
492   if (neighbour->i.b > filtered->i.b)
493   {
494      filtered->i.b += 1;
495   }
496   if (neighbour->i.b < filtered->i.b)
497   {
498      filtered->i.b -= 1;
499   }
500}
501
502INLINE void video_max(UINT32* Pixels, UINT8* max, UINT32* enb)
503{
504   int i;
505   int pos = 0;
506   *enb = 0;
507   for(i = 0; i < 7; i++)
508   {
509      if (Pixels[i] > Pixels[pos])
510      {
511         *enb += (1 << i);
512         pos = i;
513      }
514      else if (Pixels[i] < Pixels[pos])
515      {
516         *enb += (1 << i);
517      }
518      else
519      {
520         pos = i;
521      }
522   }
523   *max = Pixels[pos];
524}
525
526INLINE UINT32 ge_two(UINT32 enb)
527{
528   if(enb & 1)
529   {
530      if(enb & 2)
531         return 1;
532      if(enb & 4)
533         return 1;
534      if(enb & 8)
535         return 1;
536      if(enb & 16)
537         return 1;
538      if(enb & 32)
539         return 1;
540      if(enb & 64)
541         return 1;
542      if(enb & 128)
543         return 1;
544      return 0;
545   }
546   else if(enb & 2)
547   {
548      if(enb & 4)
549         return 1;
550      if(enb & 8)
551         return 1;
552      if(enb & 16)
553         return 1;
554      if(enb & 32)
555         return 1;
556      if(enb & 64)
557         return 1;
558      if(enb & 128)
559         return 1;
560      return 0;
561   }
562   else if(enb & 4)
563   {
564      if(enb & 8)
565         return 1;
566      if(enb & 16)
567         return 1;
568      if(enb & 32)
569         return 1;
570      if(enb & 64)
571         return 1;
572      if(enb & 128)
573         return 1;
574      return 0;
575   }
576   else if(enb & 8)
577   {
578      if(enb & 16)
579         return 1;
580      if(enb & 32)
581         return 1;
582      if(enb & 64)
583         return 1;
584      if(enb & 128)
585         return 1;
586      return 0;
587   }
588   else if(enb & 16)
589   {
590      if(enb & 32)
591         return 1;
592      if(enb & 64)
593         return 1;
594      if(enb & 128)
595         return 1;
596      return 0;
597   }
598   else if(enb & 32)
599   {
600      if(enb & 64)
601         return 1;
602      if(enb & 128)
603         return 1;
604      return 0;
605   }
606   else if(enb & 64)
607   {
608      if(enb & 128)
609         return 1;
610      return 0;
611   }
612   return 0;
613}
trunk/src/mame/video/jagblit.c
r23775r23776
1/***************************************************************************
2
3    Atari Jaguar blitter
4
5****************************************************************************
6
7    How to use this module:
8
9    #define FUNCNAME -- name of the function to be generated
10    #define COMMAND  -- blitter command bits for blitter
11    #define A1FIXED  -- fixed A1 flag bits for blitter
12    #define A2FIXED  -- fixed A2 flag bits for blitter
13    #include "jagblit.c"
14
15****************************************************************************/
16
17
18#ifndef FUNCNAME
19#error jagblit.c -- requires FUNCNAME to be predefined
20#endif
21
22#ifndef COMMAND
23#error jagblit.c -- requires COMMAND to be predefined
24#endif
25
26#ifndef A1FIXED
27#error jagblit.c -- requires A1FIXED to be predefined
28#endif
29
30#ifndef A2FIXED
31#error jagblit.c -- requires A2FIXED to be predefined
32#endif
33
34#ifndef PIXEL_SHIFT_1
35#define PIXEL_SHIFT_1(a)      ((~a##_x >> 16) & 7)
36#define PIXEL_OFFSET_1(a)     BYTE4_XOR_BE(((UINT32)a##_y >> 16) * a##_width / 8 + (((UINT32)a##_x >> 19) & ~7) * (1 + a##_pitch) + (((UINT32)a##_x >> 19) & 7))
37#define ZDATA_OFFSET_1(a)     0 /* huh? */
38#define READ_RDATA_1(r,a,p)   ((p) ? (((((UINT8 *)&m_blitter_regs[r])[BYTE4_XOR_BE(((UINT32)a##_x >> 19) & 7)]) >> PIXEL_SHIFT_1(a)) & 0x01) : (m_blitter_regs[r] & 0x01))
39#define READ_PIXEL_1(a)       (((((UINT8 *)a##_base_mem)[PIXEL_OFFSET_1(a)]) >> PIXEL_SHIFT_1(a)) & 0x01)
40#define READ_ZDATA_1(a)       0 /* huh? */
41
42#define PIXEL_SHIFT_2(a)      ((~a##_x >> 15) & 6)
43#define PIXEL_OFFSET_2(a)     BYTE4_XOR_BE(((UINT32)a##_y >> 16) * a##_width / 4 + (((UINT32)a##_x >> 18) & ~7) * (1 + a##_pitch) + (((UINT32)a##_x >> 18) & 7))
44#define ZDATA_OFFSET_2(a)     0 /* huh? */
45#define READ_RDATA_2(r,a,p)   ((p) ? (((((UINT8 *)&m_blitter_regs[r])[BYTE4_XOR_BE(((UINT32)a##_x >> 18) & 7)]) >> PIXEL_SHIFT_2(a)) & 0x03) : (m_blitter_regs[r] & 0x03))
46#define READ_PIXEL_2(a)       (((((UINT8 *)a##_base_mem)[PIXEL_OFFSET_2(a)]) >> PIXEL_SHIFT_2(a)) & 0x03)
47#define READ_ZDATA_2(a)       0 /* huh? */
48
49#define PIXEL_SHIFT_4(a)      ((~a##_x >> 14) & 4)
50#define PIXEL_OFFSET_4(a)     BYTE4_XOR_BE(((UINT32)a##_y >> 16) * a##_width / 2 + (((UINT32)a##_x >> 17) & ~7) * (1 + a##_pitch) + (((UINT32)a##_x >> 17) & 7))
51#define ZDATA_OFFSET_4(a)     0 /* huh? */
52#define READ_RDATA_4(r,a,p)   ((p) ? (((((UINT8 *)&m_blitter_regs[r])[BYTE4_XOR_BE(((UINT32)a##_x >> 17) & 7)]) >> PIXEL_SHIFT_4(a)) & 0x0f) : (m_blitter_regs[r] & 0x0f))
53#define READ_PIXEL_4(a)       (((((UINT8 *)a##_base_mem)[PIXEL_OFFSET_4(a)]) >> PIXEL_SHIFT_4(a)) & 0x0f)
54#define READ_ZDATA_4(a)       0 /* huh? */
55
56#define PIXEL_OFFSET_8(a)     BYTE4_XOR_BE(((UINT32)a##_y >> 16) * a##_width + (((UINT32)a##_x >> 16) & ~7) * (1 + a##_pitch) + (((UINT32)a##_x >> 16) & 7))
57#define ZDATA_OFFSET_8(a)     (PIXEL_OFFSET_8(a) + a##_zoffs * 8)
58#define READ_RDATA_8(r,a,p)   ((p) ? (((UINT8 *)&m_blitter_regs[r])[BYTE4_XOR_BE(((UINT32)a##_x >> 16) & 7)]) : (m_blitter_regs[r] & 0xff))
59#define READ_PIXEL_8(a)       (((UINT8 *)a##_base_mem)[PIXEL_OFFSET_8(a)])
60#define READ_ZDATA_8(a)       (((UINT8 *)a##_base_mem)[ZDATA_OFFSET_8(a)])
61
62#define PIXEL_OFFSET_16(a)    BYTE_XOR_BE(((UINT32)a##_y >> 16) * a##_width + (((UINT32)a##_x >> 16) & ~3) * (1 + a##_pitch) + (((UINT32)a##_x >> 16) & 3))
63#define ZDATA_OFFSET_16(a)    (PIXEL_OFFSET_16(a) + a##_zoffs * 4)
64#define READ_RDATA_16(r,a,p)  ((p) ? (((UINT16 *)&m_blitter_regs[r])[BYTE_XOR_BE(((UINT32)a##_x >> 16) & 3)]) : (m_blitter_regs[r] & 0xffff))
65#define READ_PIXEL_16(a)      (((UINT16 *)a##_base_mem)[PIXEL_OFFSET_16(a)])
66#define READ_ZDATA_16(a)      (((UINT16 *)a##_base_mem)[ZDATA_OFFSET_16(a)])
67
68#define PIXEL_OFFSET_32(a)    (((UINT32)a##_y >> 16) * a##_width + (((UINT32)a##_x >> 16) & ~1) * (1 + a##_pitch) + (((UINT32)a##_x >> 16) & 1))
69#define ZDATA_OFFSET_32(a)    (PIXEL_OFFSET_32(a) + a##_zoffs * 2)
70#define READ_RDATA_32(r,a,p)  ((p) ? (m_blitter_regs[r + (((UINT32)a##_x >> 16) & 1)]) : m_blitter_regs[r])
71#define READ_PIXEL_32(a)      (((UINT32 *)a##_base_mem)[PIXEL_OFFSET_32(a)])
72#define READ_ZDATA_32(a)      (((UINT32 *)a##_base_mem)[ZDATA_OFFSET_32(a)])
73
74#define READ_RDATA(r,a,f,p) \
75   ((((f) & 0x38) == (0 << 3)) ? (READ_RDATA_1(r,a,p)) : \
76      (((f) & 0x38) == (1 << 3)) ? (READ_RDATA_2(r,a,p)) : \
77      (((f) & 0x38) == (2 << 3)) ? (READ_RDATA_4(r,a,p)) : \
78      (((f) & 0x38) == (3 << 3)) ? (READ_RDATA_8(r,a,p)) : \
79      (((f) & 0x38) == (4 << 3)) ? (READ_RDATA_16(r,a,p)) : \
80      (((f) & 0x38) == (5 << 3)) ? (READ_RDATA_32(r,a,p)) : 0)
81
82#define READ_PIXEL(a,f) \
83   ((((f) & 0x38) == (0 << 3)) ? (READ_PIXEL_1(a)) : \
84      (((f) & 0x38) == (1 << 3)) ? (READ_PIXEL_2(a)) : \
85      (((f) & 0x38) == (2 << 3)) ? (READ_PIXEL_4(a)) : \
86      (((f) & 0x38) == (3 << 3)) ? (READ_PIXEL_8(a)) : \
87      (((f) & 0x38) == (4 << 3)) ? (READ_PIXEL_16(a)) : \
88      (((f) & 0x38) == (5 << 3)) ? (READ_PIXEL_32(a)) : 0)
89
90#define READ_ZDATA(a,f) \
91   ((((f) & 0x38) == (0 << 3)) ? (READ_ZDATA_1(a)) : \
92      (((f) & 0x38) == (1 << 3)) ? (READ_ZDATA_2(a)) : \
93      (((f) & 0x38) == (2 << 3)) ? (READ_ZDATA_4(a)) : \
94      (((f) & 0x38) == (3 << 3)) ? (READ_ZDATA_8(a)) : \
95      (((f) & 0x38) == (4 << 3)) ? (READ_ZDATA_16(a)) : \
96      (((f) & 0x38) == (5 << 3)) ? (READ_ZDATA_32(a)) : 0)
97
98#define PIXEL_SHIFT_WRITE_1      ((~adest_x >> 16) & 7)
99#define PIXEL_SHIFT_WRITE_2      ((~adest_x >> 15) & 6)
100#define PIXEL_SHIFT_WRITE_4      ((~adest_x >> 14) & 4)
101
102#define PIXEL_OFFSET_WRITE_1     (((UINT32)adest_y >> 16) * adest_width / 8 + (((UINT32)adest_x >> 19) & ~7) * (1 + adest_pitch) + (((UINT32)adest_x >> 19) & 7))
103#define PIXEL_OFFSET_WRITE_2     (((UINT32)adest_y >> 16) * adest_width / 4 + (((UINT32)adest_x >> 18) & ~7) * (1 + adest_pitch) + (((UINT32)adest_x >> 18) & 7))
104#define PIXEL_OFFSET_WRITE_4     (((UINT32)adest_y >> 16) * adest_width / 2 + (((UINT32)adest_x >> 17) & ~7) * (1 + adest_pitch) + (((UINT32)adest_x >> 17) & 7))
105#define PIXEL_OFFSET_WRITE_8     (((UINT32)adest_y >> 16) * adest_width + (((UINT32)adest_x >> 16) & ~7) * (1 + adest_pitch) + (((UINT32)adest_x >> 16) & 7))
106#define PIXEL_OFFSET_WRITE_16    (((UINT32)adest_y >> 16) * adest_width + (((UINT32)adest_x >> 16) & ~3) * (1 + adest_pitch) + (((UINT32)adest_x >> 16) & 3))
107#define PIXEL_OFFSET_WRITE_32    (((UINT32)adest_y >> 16) * adest_width + (((UINT32)adest_x >> 16) & ~1) * (1 + adest_pitch) + (((UINT32)adest_x >> 16) & 1))
108
109#define ZDATA_OFFSET_WRITE_1     0 /* huh? */
110#define ZDATA_OFFSET_WRITE_2     0 /* huh? */
111#define ZDATA_OFFSET_WRITE_4     0 /* huh? */
112#define ZDATA_OFFSET_WRITE_8     (PIXEL_OFFSET_WRITE_8 + adest_zoffs * 8)
113#define ZDATA_OFFSET_WRITE_16    (PIXEL_OFFSET_WRITE_16 + adest_zoffs * 4)
114#define ZDATA_OFFSET_WRITE_32    (PIXEL_OFFSET_WRITE_32 + adest_zoffs * 2)
115
116
117#define WRITE_PIXEL_1(d)    do { int writeoffs = PIXEL_OFFSET_WRITE_1; int shift = PIXEL_SHIFT_WRITE_1; UINT8 pix = m_gpu->space(AS_PROGRAM).read_byte(adest_base + (writeoffs)); pix = (pix & ~(0x01 << shift)) | ((d) << shift); m_gpu->space(AS_PROGRAM).write_byte(adest_base + (writeoffs), pix); } while (0)
118#define WRITE_ZDATA_1(d)    /* huh? */
119#define WRITE_PIXEL_2(d)    do { int writeoffs = PIXEL_OFFSET_WRITE_2; int shift = PIXEL_SHIFT_WRITE_2; UINT8 pix = m_gpu->space(AS_PROGRAM).read_byte(adest_base + (writeoffs)); pix = (pix & ~(0x03 << shift)) | ((d) << shift); m_gpu->space(AS_PROGRAM).write_byte(adest_base + (writeoffs), pix); } while (0)
120#define WRITE_ZDATA_2(d)    /* huh? */
121#define WRITE_PIXEL_4(d)    do { int writeoffs = PIXEL_OFFSET_WRITE_4; int shift = PIXEL_SHIFT_WRITE_4; UINT8 pix = m_gpu->space(AS_PROGRAM).read_byte(adest_base + (writeoffs)); pix = (pix & ~(0x0f << shift)) | ((d) << shift); m_gpu->space(AS_PROGRAM).write_byte(adest_base + (writeoffs), pix); } while (0)
122#define WRITE_ZDATA_4(d)    /* huh? */
123#define WRITE_PIXEL_8(d)    do { int writeoffs = PIXEL_OFFSET_WRITE_8;  m_gpu->space(AS_PROGRAM).write_byte(adest_base + (writeoffs), (d)); } while (0)
124#define WRITE_ZDATA_8(d)    do { int writeoffs = ZDATA_OFFSET_WRITE_8;  m_gpu->space(AS_PROGRAM).write_byte(adest_base + (writeoffs), (d)); } while (0)
125#define WRITE_PIXEL_16(d)   do { int writeoffs = PIXEL_OFFSET_WRITE_16; m_gpu->space(AS_PROGRAM).write_word(adest_base + (writeoffs<<1), (d)); } while (0)
126#define WRITE_ZDATA_16(d)   do { int writeoffs = ZDATA_OFFSET_WRITE_16; m_gpu->space(AS_PROGRAM).write_word(adest_base + (writeoffs<<1), (d)); } while (0)
127#define WRITE_PIXEL_32(d)   do { int writeoffs = PIXEL_OFFSET_WRITE_32; m_gpu->space(AS_PROGRAM).write_dword(adest_base + (writeoffs<<2), (d)); } while (0)
128#define WRITE_ZDATA_32(d)   do { int writeoffs = ZDATA_OFFSET_WRITE_32; m_gpu->space(AS_PROGRAM).write_dword(adest_base + (writeoffs<<2), (d)); } while (0)
129
130
131
132#define WRITE_PIXEL(f,d) \
133   do \
134   { \
135            if (((f) & 0x38) == (0 << 3)) WRITE_PIXEL_1(d); \
136      else if (((f) & 0x38) == (1 << 3)) WRITE_PIXEL_2(d); \
137      else if (((f) & 0x38) == (2 << 3)) WRITE_PIXEL_4(d); \
138      else if (((f) & 0x38) == (3 << 3)) WRITE_PIXEL_8(d); \
139      else if (((f) & 0x38) == (4 << 3)) WRITE_PIXEL_16(d); \
140      else if (((f) & 0x38) == (5 << 3)) WRITE_PIXEL_32(d); \
141   } while (0)
142
143#define WRITE_ZDATA(f,d) \
144   do \
145   { \
146            if (((f) & 0x38) == (0 << 3)) WRITE_ZDATA_1(d); \
147      else if (((f) & 0x38) == (1 << 3)) WRITE_ZDATA_2(d); \
148      else if (((f) & 0x38) == (2 << 3)) WRITE_ZDATA_4(d); \
149      else if (((f) & 0x38) == (3 << 3)) WRITE_ZDATA_8(d); \
150      else if (((f) & 0x38) == (4 << 3)) WRITE_ZDATA_16(d); \
151      else if (((f) & 0x38) == (5 << 3)) WRITE_ZDATA_32(d); \
152   } while (0)
153#endif
154
155void jaguar_state::FUNCNAME(UINT32 command, UINT32 a1flags, UINT32 a2flags)
156{
157   UINT32 a1_base = m_blitter_regs[A1_BASE] & ~0x7;
158   INT32 a1_pitch = (A1FIXED & 3) ^ ((A1FIXED & 2) >> 1);
159   INT32 a1_zoffs = (A1FIXED >> 6) & 7;
160   INT32 a1_width = ((4 | ((a1flags >> 9) & 3)) << ((a1flags >> 11) & 15)) >> 2;
161   INT32 a1_xadd = (A1FIXED >> 16) & 0x03;
162   INT32 a1_yadd = (A1FIXED >> 18) & 0x01;
163   INT32 a1_x = (m_blitter_regs[A1_PIXEL] << 16) | (m_blitter_regs[A1_FPIXEL] & 0xffff);
164   INT32 a1_y = (m_blitter_regs[A1_PIXEL] & 0xffff0000) | (m_blitter_regs[A1_FPIXEL] >> 16);
165   INT32 a1_xstep = 0;
166   INT32 a1_ystep = 0;
167   UINT32 a1_xmask = 0xffffffff;
168   UINT32 a1_ymask = 0xffffffff;
169
170   UINT32 a2_base = m_blitter_regs[A2_BASE] & ~0x7;
171   INT32 a2_pitch = (A2FIXED & 3) ^ ((A2FIXED & 2) >> 1);
172   INT32 a2_zoffs = (A2FIXED >> 6) & 7;
173   INT32 a2_width = ((4 | ((a2flags >> 9) & 3)) << ((a2flags >> 11) & 15)) >> 2;
174   INT32 a2_xadd = (A2FIXED >> 16) & 0x03;
175   INT32 a2_yadd = (A1FIXED >> 18) & 0x01;     // From Jaguar HW errata: "If the A1 Y add control bit is set it will affect both address generators."
176   INT32 a2_x = (m_blitter_regs[A2_PIXEL] << 16);
177   INT32 a2_y = (m_blitter_regs[A2_PIXEL] & 0xffff0000);
178   INT32 a2_xstep = 0;
179   INT32 a2_ystep = 0;
180   UINT32 a2_xmask = 0xffffffff;
181   UINT32 a2_ymask = 0xffffffff;
182
183   int inner_count = m_blitter_regs[B_COUNT] & 0xffff;
184   int outer_count = m_blitter_regs[B_COUNT] >> 16;
185   int inner, outer;
186
187   UINT8 a1_phrase_mode = 0;
188   UINT8 a2_phrase_mode = 0;
189
190   void *a1_base_mem = memory_base(a1_base);
191   void *a2_base_mem = memory_base(a2_base);
192
193   void *asrc_base_mem =   (COMMAND & 0x00000800) ? a1_base_mem : a2_base_mem;
194   void *adest_base_mem =  (COMMAND & 0x00000800) ? a2_base_mem : a1_base_mem;
195   UINT32 asrcflags =      (COMMAND & 0x00000800) ? A1FIXED : A2FIXED;
196   INT32 asrc_x =          (COMMAND & 0x00000800) ? a1_x : a2_x;
197   INT32 asrc_y =          (COMMAND & 0x00000800) ? a1_y : a2_y;
198   INT32 asrc_width =      (COMMAND & 0x00000800) ? a1_width : a2_width;
199   INT32 asrc_pitch =      (COMMAND & 0x00000800) ? a1_pitch : a2_pitch;
200   INT32 asrc_zoffs =      (COMMAND & 0x00000800) ? a1_zoffs : a2_zoffs;
201   UINT8 asrc_phrase_mode;
202   INT32 asrc_xadd, asrc_xstep, asrc_yadd, asrc_ystep;
203   UINT32 asrc_xmask, asrc_ymask;
204
205   UINT32 adest_base =  (COMMAND & 0x00000800) ? a2_base : a1_base;
206   UINT32 adestflags =     (COMMAND & 0x00000800) ? A2FIXED : A1FIXED;
207   INT32 adest_x =         (COMMAND & 0x00000800) ? a2_x : a1_x;
208   INT32 adest_y =         (COMMAND & 0x00000800) ? a2_y : a1_y;
209   INT32 adest_width =     (COMMAND & 0x00000800) ? a2_width : a1_width;
210   INT32 adest_pitch =     (COMMAND & 0x00000800) ? a2_pitch : a1_pitch;
211   INT32 adest_zoffs =     (COMMAND & 0x00000800) ? a2_zoffs : a1_zoffs;
212   UINT8 adest_phrase_mode;
213   INT32 adest_xadd, adest_xstep, adest_yadd, adest_ystep;
214   UINT32 adest_xmask, adest_ymask;
215
216   /* don't blit if pointer bad */
217   if (!a1_base_mem || !a2_base_mem)
218   {
219      if (LOG_BAD_BLITS)
220      {
221      logerror("%s:Blit!\n", machine().describe_context());
222      logerror("  a1_base  = %08X\n", a1_base);
223      logerror("  a2_base  = %08X\n", a2_base);
224      }
225      return;
226   }
227
228   /* determine actual xadd/yadd for A1 */
229   a1_yadd <<= 16;
230   if (A1FIXED & 0x00100000)
231      a1_yadd = -a1_yadd;
232
233   a1_phrase_mode = (a1_xadd == 0);
234   if (a1_xadd == 3)
235   {
236      a1_xadd = (m_blitter_regs[A1_INC] << 16) | (m_blitter_regs[A1_FINC] & 0xffff);
237      a1_yadd = (m_blitter_regs[A1_INC] & 0xffff0000) | (m_blitter_regs[A1_FINC] >> 16);
238   }
239   else if (a1_xadd == 2)
240      a1_xadd = 0;
241   else
242      a1_xadd = 1 << 16;
243   if (A1FIXED & 0x00080000)
244      a1_xadd = -a1_xadd;
245
246   /* determine actual xadd/yadd for A2 */
247   a2_yadd <<= 16;
248   if (A2FIXED & 0x00100000)
249      a2_yadd = -a2_yadd;
250
251   a2_phrase_mode = (a2_xadd == 0);
252   if (a2_xadd == 2)
253      a2_xadd = 0;
254   else
255      a2_xadd = 1 << 16;
256   if (A2FIXED & 0x00080000)
257      a2_xadd = -a2_xadd;
258
259   /* set up the A2 mask */
260   if (A2FIXED & 0x00008000)
261   {
262      a2_xmask = ((m_blitter_regs[A2_MASK] & 0x0000ffff) << 16) | 0xffff;
263      a2_ymask = (m_blitter_regs[A2_MASK] & 0xffff0000) | 0xffff;
264   }
265
266   /* modify outer loop steps based on command */
267   if (command & 0x00000100)
268   {
269      a1_xstep = m_blitter_regs[A1_FSTEP] & 0xffff;
270      a1_ystep = m_blitter_regs[A1_FSTEP] >> 16;
271   }
272   if (command & 0x00000200)
273   {
274      a1_xstep += m_blitter_regs[A1_STEP] << 16;
275      a1_ystep += m_blitter_regs[A1_STEP] & 0xffff0000;
276   }
277   if (command & 0x00000400)
278   {
279      a2_xstep = m_blitter_regs[A2_STEP] << 16;
280      a2_ystep = m_blitter_regs[A2_STEP] & 0xffff0000;
281   }
282
283   asrc_phrase_mode    = (COMMAND & 0x00000800) ? a1_phrase_mode : a2_phrase_mode;
284   asrc_xstep          = (COMMAND & 0x00000800) ? a1_xstep : a2_xstep;
285   asrc_ystep          = (COMMAND & 0x00000800) ? a1_ystep : a2_ystep;
286   asrc_xadd           = (COMMAND & 0x00000800) ? a1_xadd : a2_xadd;
287   asrc_yadd           = (COMMAND & 0x00000800) ? a1_yadd : a2_yadd;
288   asrc_xmask          = (COMMAND & 0x00000800) ? a1_xmask : a2_xmask;
289   asrc_ymask          = (COMMAND & 0x00000800) ? a1_ymask : a2_ymask;
290
291   adest_phrase_mode   = (COMMAND & 0x00000800) ? a2_phrase_mode : a1_phrase_mode;
292   adest_xstep         = (COMMAND & 0x00000800) ? a2_xstep : a1_xstep;
293   adest_ystep         = (COMMAND & 0x00000800) ? a2_ystep : a1_ystep;
294   adest_xadd          = (COMMAND & 0x00000800) ? a2_xadd : a1_xadd;
295   adest_yadd          = (COMMAND & 0x00000800) ? a2_yadd : a1_yadd;
296   adest_xmask         = (COMMAND & 0x00000800) ? a2_xmask : a1_xmask;
297   adest_ymask         = (COMMAND & 0x00000800) ? a2_ymask : a1_ymask;
298
299   int gouraud_color[4];
300   gouraud_color[0] = (m_blitter_regs[B_PATD_H] >> 16) & 0xff00;
301   gouraud_color[1] = m_blitter_regs[B_PATD_H] & 0xff00;
302   gouraud_color[2] = (m_blitter_regs[B_PATD_L] >> 16) & 0xff00;
303   gouraud_color[3] = m_blitter_regs[B_PATD_L] & 0xff00;
304
305   int gouraud_inten[4];
306   gouraud_inten[3] = m_blitter_regs[B_I0] & 0xffffff;
307   gouraud_inten[2] = m_blitter_regs[B_I1] & 0xffffff;
308   gouraud_inten[1] = m_blitter_regs[B_I2] & 0xffffff;
309   gouraud_inten[0] = m_blitter_regs[B_I3] & 0xffffff;
310
311   int gouraud_iinc = m_blitter_regs[B_IINC] & 0xffffff;
312   if (gouraud_iinc & 0x800000)
313      gouraud_iinc |= 0xff000000;
314
315   if (LOG_BLITS)
316   {
317   logerror("%s:Blit!\n", machine().describe_context());
318   logerror("  a1_base  = %08X\n", a1_base);
319   logerror("  a1_pitch = %d\n", a1_pitch);
320   logerror("  a1_psize = %d\n", 1 << ((A1FIXED >> 3) & 7));
321   logerror("  a1_width = %d\n", a1_width);
322   logerror("  a1_xadd  = %f (phrase=%d)\n", (float)a1_xadd / 65536.0, a1_phrase_mode);
323   logerror("  a1_yadd  = %f\n", (float)a1_yadd / 65536.0);
324   logerror("  a1_xstep = %f\n", (float)a1_xstep / 65536.0);
325   logerror("  a1_ystep = %f\n", (float)a1_ystep / 65536.0);
326   logerror("  a1_x     = %f\n", (float)a1_x / 65536.0);
327   logerror("  a1_y     = %f\n", (float)a1_y / 65536.0);
328
329   logerror("  a2_base  = %08X\n", a2_base);
330   logerror("  a2_pitch = %d\n", a2_pitch);
331   logerror("  a2_psize = %d\n", 1 << ((A2FIXED >> 3) & 7));
332   logerror("  a2_width = %d\n", a2_width);
333   logerror("  a2_xadd  = %f (phrase=%d)\n", (float)a2_xadd / 65536.0, a2_phrase_mode);
334   logerror("  a2_yadd  = %f\n", (float)a2_yadd / 65536.0);
335   logerror("  a2_xstep = %f\n", (float)a2_xstep / 65536.0);
336   logerror("  a2_ystep = %f\n", (float)a2_ystep / 65536.0);
337   logerror("  a2_x     = %f\n", (float)a2_x / 65536.0);
338   logerror("  a2_y     = %f\n", (float)a2_y / 65536.0);
339
340   logerror("  count    = %d x %d\n", inner_count, outer_count);
341   logerror("  command  = %08X\n", COMMAND);
342   }
343
344   /* check for unhandled command bits */
345   if (LOG_UNHANDLED_BLITS && (COMMAND & 0x24003000))
346      logerror("Blitter unhandled: these command bits: %08X\n", COMMAND & 0x24003000);
347
348   /* top of the outer loop */
349   outer = outer_count;
350   while (outer--)
351   {
352      /* top of the inner loop */
353      inner = inner_count;
354      while (inner--)
355      {
356         UINT32 srcdata;
357         UINT32 srczdata = 0;
358         UINT32 dstdata;
359         UINT32 dstzdata = 0;
360         UINT32 writedata = 0;
361         int inhibit = 0;
362
363            /* load src data and Z */
364            if (COMMAND & 0x00000001)
365            {
366               srcdata = READ_PIXEL(asrc, asrcflags);
367               if (COMMAND & 0x00000002)
368                  srczdata = READ_ZDATA(asrc, asrcflags);
369               else if (COMMAND & 0x001c020)
370                  srczdata = READ_RDATA(B_SRCZ1_H, asrc, asrcflags, asrc_phrase_mode);
371            }
372            else
373            {
374               srcdata = READ_RDATA(B_SRCD_H, asrc, asrcflags, asrc_phrase_mode);
375               if (COMMAND & 0x001c020)
376                  srczdata = READ_RDATA(B_SRCZ1_H, asrc, asrcflags, asrc_phrase_mode);
377            }
378
379            /* load dst data and Z */
380            if (COMMAND & 0x00000008)
381            {
382               dstdata = READ_PIXEL(adest, adestflags);
383               if (COMMAND & 0x00000010)
384                  dstzdata = READ_ZDATA(adest, adestflags);
385               else
386                  dstzdata = READ_RDATA(B_DSTZ_H, adest, adestflags, adest_phrase_mode);
387            }
388            else
389            {
390               dstdata = READ_RDATA(B_DSTD_H, adest, adestflags, adest_phrase_mode);
391               if (COMMAND & 0x00000010)
392                  dstzdata = READ_RDATA(B_DSTZ_H, adest, adestflags, adest_phrase_mode);
393            }
394
395            /* handle clipping */
396            if (COMMAND & 0x00000040)
397            {
398               if (adest_x < 0 || adest_y < 0 ||
399                  (adest_x >> 16) >= (m_blitter_regs[A1_CLIP] & 0x7fff) ||
400                  (adest_y >> 16) >= ((m_blitter_regs[A1_CLIP] >> 16) & 0x7fff))
401                  inhibit = 1;
402            }
403
404            /* apply Z comparator */
405            if (COMMAND & 0x00040000)
406               if (srczdata < dstzdata) inhibit = 1;
407            if (COMMAND & 0x00080000)
408               if (srczdata == dstzdata) inhibit = 1;
409            if (COMMAND & 0x00100000)
410               if (srczdata > dstzdata) inhibit = 1;
411
412            /* apply data comparator */
413            if (COMMAND & 0x08000000)
414            {
415               if (!(COMMAND & 0x02000000))
416               {
417                  if (srcdata == READ_RDATA(B_PATD_H, asrc, asrcflags, asrc_phrase_mode))
418                     inhibit = 1;
419               }
420               else
421               {
422                  if (dstdata == READ_RDATA(B_PATD_H, adest, adestflags, adest_phrase_mode))
423                     inhibit = 1;
424               }
425            }
426
427            /* compute the write data and store */
428            if (!inhibit)
429            {
430               /* handle patterns/additive/LFU */
431               if (COMMAND & 0x00010000)
432                  writedata = READ_RDATA(B_PATD_H, adest, adestflags, adest_phrase_mode);
433               else if (COMMAND & 0x00020000)
434               {
435                  writedata = (srcdata & 0xff) + (dstdata & 0xff);
436                  if (!(COMMAND & 0x00004000) && writedata > 0xff)
437                     writedata = 0xff;
438                  writedata |= (srcdata & 0xf00) + (dstdata & 0xf00);
439                  if (!(COMMAND & 0x00008000) && writedata > 0xfff)
440                     writedata = 0xfff;
441                  writedata |= (srcdata & 0xf000) + (dstdata & 0xf000);
442               }
443               else
444               {
445                  if (COMMAND & 0x00200000)
446                     writedata |= ~srcdata & ~dstdata;
447                  if (COMMAND & 0x00400000)
448                     writedata |= ~srcdata & dstdata;
449                  if (COMMAND & 0x00800000)
450                     writedata |= srcdata & ~dstdata;
451                  if (COMMAND & 0x01000000)
452                     writedata |= srcdata & dstdata;
453               }
454
455               /* handle source shading */
456               if (COMMAND & 0x40000000)
457               {
458                  int intensity = srcdata & 0x00ff;
459                  intensity += (INT8) (m_blitter_regs[B_IINC] >> 16);
460                  if (intensity < 0)
461                     intensity = 0;
462                  else if (intensity > 0xff)
463                     intensity = 0xff;
464                  writedata = (srcdata & 0xff00) | intensity;
465               }
466
467               /* handle gouraud shading */
468               if (COMMAND & 0x1000)
469               {
470                  int p = asrc_phrase_mode ? (asrc_x & 3) : 3;
471                  writedata = ((gouraud_inten[p] >> 16) & 0xff) | gouraud_color[p];
472
473                  int intensity = gouraud_inten[p];
474                  intensity += gouraud_iinc;
475                  if (intensity < 0) intensity = 0;
476                  if (intensity > 0xffffff) intensity = 0xffffff;
477                  gouraud_inten[p] = intensity;
478               }
479            }
480            else
481               writedata = dstdata;
482
483         if ((command & 0x10000000) || !inhibit)
484         {
485            /* write to the destination */
486            WRITE_PIXEL(adestflags, writedata);
487            if (COMMAND & 0x00000020)
488               WRITE_ZDATA(adestflags, srczdata);
489         }
490
491            /* update X/Y */
492         asrc_x = (asrc_x + asrc_xadd) & asrc_xmask;
493         asrc_y = (asrc_y + asrc_yadd) & asrc_ymask;
494         adest_x = (adest_x + adest_xadd) & adest_xmask;
495         adest_y = (adest_y + adest_yadd) & adest_ymask;
496      }
497
498      /* adjust for phrase mode */
499      if (asrc_phrase_mode)
500      {
501         if (asrc_xadd > 0)
502            asrc_x += 3 << 16;
503         else
504            asrc_x -= 3 << 16;
505         asrc_x &= ~(3 << 16);
506      }
507      if (adest_phrase_mode)
508      {
509         if (adest_xadd > 0)
510            adest_x += 3 << 16;
511         else
512            adest_x -= 3 << 16;
513         adest_x &= ~(3 << 16);
514      }
515
516      /* update for outer loop */
517      asrc_x += asrc_xstep;
518      asrc_y += asrc_ystep;
519      adest_x += adest_xstep;
520      adest_y += adest_ystep;
521   }
522
523   /* write values back to registers */
524   a1_x =  (COMMAND & 0x00000800) ? asrc_x : adest_x;
525   a1_y =  (COMMAND & 0x00000800) ? asrc_y : adest_y;
526   a2_x =  (COMMAND & 0x00000800) ? adest_x : asrc_x;
527   a2_y =  (COMMAND & 0x00000800) ? adest_y : asrc_y;
528
529   m_blitter_regs[A1_PIXEL] = (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff);
530   m_blitter_regs[A1_FPIXEL] = (a1_y << 16) | (a1_x & 0xffff);
531   m_blitter_regs[A2_PIXEL] = (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff);
532}
trunk/src/mame/video/n64.c
r23775r23776
5656/*****************************************************************************/
5757
5858// The functions in this file should be moved into the parent Processor class.
59#include "rdpfiltr.c"
59#include "rdpfiltr.inc"
6060
6161void n64_rdp::GetAlphaCvg(UINT8 *comb_alpha, rdp_span_aux *userdata, const rdp_poly_state &object)
6262{
trunk/src/mame/video/m3raster.inc
r0r23776
1static void draw_scanline_normal(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
2{
3   const poly_extra_data *extra = (const poly_extra_data *)extradata;
4   const cached_texture *texture = extra->texture;
5   bitmap_ind16 *destmap = (bitmap_ind16 *)dest;
6   UINT16 *p = &destmap->pix16(scanline);
7   UINT32 *d = &extra->zbuffer->pix32(scanline);
8   float ooz = extent->param[0].start;
9   float uoz = extent->param[1].start;
10   float voz = extent->param[2].start;
11   float doozdx = extent->param[0].dpdx;
12   float duozdx = extent->param[1].dpdx;
13   float dvozdx = extent->param[2].dpdx;
14   UINT32 polyi = extra->polygon_intensity;
15   UINT32 umask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_U) ? 64 : 32) << texture->width) - 1;
16   UINT32 vmask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_V) ? 64 : 32) << texture->height) - 1;
17   UINT32 width = 6 + texture->width;
18   int x;
19
20   for (x = extent->startx; x < extent->stopx; x++)
21   {
22      UINT32 iz = ooz * 256.0f;
23      if (iz > d[x])
24      {
25         float z = 1.0f / ooz;
26         UINT32 u = uoz * z;
27         UINT32 v = voz * z;
28         UINT32 u1 = (u >> 8) & umask;
29         UINT32 v1 = (v >> 8) & vmask;
30         UINT32 u2 = (u1 + 1) & umask;
31         UINT32 v2 = (v1 + 1) & vmask;
32         UINT32 pix00 = texture->data[(v1 << width) + u1];
33         UINT32 pix01 = texture->data[(v1 << width) + u2];
34         UINT32 pix10 = texture->data[(v2 << width) + u1];
35         UINT32 pix11 = texture->data[(v2 << width) + u2];
36         UINT32 texel = rgba_bilinear_filter(pix00, pix01, pix10, pix11, u, v);
37         UINT32 fr = ((texel & 0x00ff0000) * polyi) >> (8+9);
38         UINT32 fg = ((texel & 0x0000ff00) * polyi) >> (8+6);
39         UINT32 fb = ((texel & 0x000000ff) * polyi) >> (8+3);
40         p[x] = (fr & 0x7c00) | (fg & 0x3e0) | (fb & 0x1f);
41         d[x] = iz;
42      }
43
44      ooz += doozdx;
45      uoz += duozdx;
46      voz += dvozdx;
47   }
48}
49
50static void draw_scanline_trans(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
51{
52   const poly_extra_data *extra = (const poly_extra_data *)extradata;
53   const cached_texture *texture = extra->texture;
54   bitmap_ind16 *destmap = (bitmap_ind16 *)dest;
55   UINT16 *p = &destmap->pix16(scanline);
56   UINT32 *d = &extra->zbuffer->pix32(scanline);
57   float ooz = extent->param[0].start;
58   float uoz = extent->param[1].start;
59   float voz = extent->param[2].start;
60   float doozdx = extent->param[0].dpdx;
61   float duozdx = extent->param[1].dpdx;
62   float dvozdx = extent->param[2].dpdx;
63   UINT32 polyi = (extra->polygon_intensity * extra->polygon_transparency) >> 5;
64   int desttrans = 32 - extra->polygon_transparency;
65   UINT32 umask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_U) ? 64 : 32) << texture->width) - 1;
66   UINT32 vmask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_V) ? 64 : 32) << texture->height) - 1;
67   UINT32 width = 6 + texture->width;
68   int x;
69
70   for (x = extent->startx; x < extent->stopx; x++)
71   {
72      UINT32 iz = ooz * 256.0f;
73      if (iz > d[x])
74      {
75         float z = 1.0f / ooz;
76         UINT32 u = uoz * z;
77         UINT32 v = voz * z;
78         UINT32 u1 = (u >> 8) & umask;
79         UINT32 v1 = (v >> 8) & vmask;
80         UINT32 u2 = (u1 + 1) & umask;
81         UINT32 v2 = (v1 + 1) & vmask;
82         UINT32 pix00 = texture->data[(v1 << width) + u1];
83         UINT32 pix01 = texture->data[(v1 << width) + u2];
84         UINT32 pix10 = texture->data[(v2 << width) + u1];
85         UINT32 pix11 = texture->data[(v2 << width) + u2];
86         UINT32 texel = rgba_bilinear_filter(pix00, pix01, pix10, pix11, u, v);
87         UINT32 fr = ((texel & 0x00ff0000) * polyi) >> (8+9);
88         UINT32 fg = ((texel & 0x0000ff00) * polyi) >> (8+6);
89         UINT32 fb = ((texel & 0x000000ff) * polyi) >> (8+3);
90         UINT16 orig = p[x];
91         fr += ((orig & 0x7c00) * desttrans) >> 5;
92         fg += ((orig & 0x03e0) * desttrans) >> 5;
93         fb += ((orig & 0x001f) * desttrans) >> 5;
94         p[x] = (fr & 0x7c00) | (fg & 0x3e0) | (fb & 0x1f);
95         d[x] = iz;
96      }
97
98      ooz += doozdx;
99      uoz += duozdx;
100      voz += dvozdx;
101   }
102}
103
104
105static void draw_scanline_alpha(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
106{
107   const poly_extra_data *extra = (const poly_extra_data *)extradata;
108   const cached_texture *texture = extra->texture;
109   bitmap_ind16 *destmap = (bitmap_ind16 *)dest;
110   UINT16 *p = &destmap->pix16(scanline);
111   UINT32 *d = &extra->zbuffer->pix32(scanline);
112   float ooz = extent->param[0].start;
113   float uoz = extent->param[1].start;
114   float voz = extent->param[2].start;
115   float doozdx = extent->param[0].dpdx;
116   float duozdx = extent->param[1].dpdx;
117   float dvozdx = extent->param[2].dpdx;
118   UINT32 polyi = (extra->polygon_intensity * extra->polygon_transparency) >> 5;
119   int desttrans = 32 - extra->polygon_transparency;
120   UINT32 umask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_U) ? 64 : 32) << texture->width) - 1;
121   UINT32 vmask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_V) ? 64 : 32) << texture->height) - 1;
122   UINT32 width = 6 + texture->width;
123   int x;
124
125   for (x = extent->startx; x < extent->stopx; x++)
126   {
127      UINT32 iz = ooz * 256.0f;
128      if (iz > d[x])
129      {
130         float z = 1.0f / ooz;
131         UINT32 u = uoz * z;
132         UINT32 v = voz * z;
133         UINT32 u1 = (u >> 8) & umask;
134         UINT32 v1 = (v >> 8) & vmask;
135         UINT32 u2 = (u1 + 1) & umask;
136         UINT32 v2 = (v1 + 1) & vmask;
137         UINT32 pix00 = texture->data[(v1 << width) + u1];
138         UINT32 pix01 = texture->data[(v1 << width) + u2];
139         UINT32 pix10 = texture->data[(v2 << width) + u1];
140         UINT32 pix11 = texture->data[(v2 << width) + u2];
141         UINT32 texel = rgba_bilinear_filter(pix00, pix01, pix10, pix11, u, v);
142         UINT32 fa = texel >> 24;
143         if (fa != 0)
144         {
145            UINT32 combined = ((fa + 1) * polyi) >> 8;
146            UINT32 fr = ((texel & 0x00ff0000) * combined) >> (8+9);
147            UINT32 fg = ((texel & 0x0000ff00) * combined) >> (8+6);
148            UINT32 fb = ((texel & 0x000000ff) * combined) >> (8+3);
149            UINT16 orig = p[x];
150            combined = ((255 - fa) * desttrans) >> 5;
151            fr += ((orig & 0x7c00) * combined) >> 8;
152            fg += ((orig & 0x03e0) * combined) >> 8;
153            fb += ((orig & 0x001f) * combined) >> 8;
154            p[x] = (fr & 0x7c00) | (fg & 0x3e0) | (fb & 0x1f);
155            d[x] = iz;
156         }
157      }
158
159      ooz += doozdx;
160      uoz += duozdx;
161      voz += dvozdx;
162   }
163}
164
165
166static void draw_scanline_alpha_test(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
167{
168   const poly_extra_data *extra = (const poly_extra_data *)extradata;
169   const cached_texture *texture = extra->texture;
170   bitmap_ind16 *destmap = (bitmap_ind16 *)dest;
171   UINT16 *p = &destmap->pix16(scanline);
172   UINT32 *d = &extra->zbuffer->pix32(scanline);
173   float ooz = extent->param[0].start;
174   float uoz = extent->param[1].start;
175   float voz = extent->param[2].start;
176   float doozdx = extent->param[0].dpdx;
177   float duozdx = extent->param[1].dpdx;
178   float dvozdx = extent->param[2].dpdx;
179   UINT32 polyi = (extra->polygon_intensity * extra->polygon_transparency) >> 5;
180   int desttrans = 32 - extra->polygon_transparency;
181   UINT32 umask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_U) ? 64 : 32) << texture->width) - 1;
182   UINT32 vmask = (((extra->texture_param & TRI_PARAM_TEXTURE_MIRROR_V) ? 64 : 32) << texture->height) - 1;
183   UINT32 width = 6 + texture->width;
184   int x;
185
186   for (x = extent->startx; x < extent->stopx; x++)
187   {
188      UINT32 iz = ooz * 256.0f;
189      if (iz > d[x])
190      {
191         float z = 1.0f / ooz;
192         UINT32 u = uoz * z;
193         UINT32 v = voz * z;
194         UINT32 u1 = (u >> 8) & umask;
195         UINT32 v1 = (v >> 8) & vmask;
196         UINT32 u2 = (u1 + 1) & umask;
197         UINT32 v2 = (v1 + 1) & vmask;
198         UINT32 pix00 = texture->data[(v1 << width) + u1];
199         UINT32 pix01 = texture->data[(v1 << width) + u2];
200         UINT32 pix10 = texture->data[(v2 << width) + u1];
201         UINT32 pix11 = texture->data[(v2 << width) + u2];
202         UINT32 texel = rgba_bilinear_filter(pix00, pix01, pix10, pix11, u, v);
203         UINT32 fa = texel >> 24;
204         if (fa >= 0xf8)
205         {
206            UINT32 combined = ((fa + 1) * polyi) >> 8;
207            UINT32 fr = ((texel & 0x00ff0000) * combined) >> (8+9);
208            UINT32 fg = ((texel & 0x0000ff00) * combined) >> (8+6);
209            UINT32 fb = ((texel & 0x000000ff) * combined) >> (8+3);
210            UINT16 orig = p[x];
211            combined = ((255 - fa) * desttrans) >> 8;
212            fr += ((orig & 0x7c00) * combined) >> 5;
213            fg += ((orig & 0x03e0) * combined) >> 5;
214            fb += ((orig & 0x001f) * combined) >> 5;
215            p[x] = (fr & 0x7c00) | (fg & 0x3e0) | (fb & 0x1f);
216            d[x] = iz;
217         }
218      }
219
220      ooz += doozdx;
221      uoz += duozdx;
222      voz += dvozdx;
223   }
224}
225
226static void draw_scanline_color(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
227{
228   const poly_extra_data *extra = (const poly_extra_data *)extradata;
229   bitmap_ind16 *destmap = (bitmap_ind16 *)dest;
230   UINT16 *p = &destmap->pix16(scanline);
231   UINT32 *d = &extra->zbuffer->pix32(scanline);
232   float ooz = extent->param[0].start;
233   float doozdx = extent->param[0].dpdx;
234   int fr = extra->color & 0x7c00;
235   int fg = extra->color & 0x03e0;
236   int fb = extra->color & 0x001f;
237   int x;
238
239   // apply intensity
240   fr = (fr * extra->polygon_intensity) >> 8;
241   fg = (fg * extra->polygon_intensity) >> 8;
242   fb = (fb * extra->polygon_intensity) >> 8;
243
244   /* simple case: no transluceny */
245   if (extra->polygon_transparency >= 32)
246   {
247      UINT32 color = (fr & 0x7c00) | (fg & 0x03e0) | (fb & 0x1f);
248      for (x = extent->startx; x < extent->stopx; x++)
249      {
250         UINT32 iz = ooz * 256.0f;
251         if (iz > d[x])
252         {
253            p[x] = color;
254            d[x] = iz;
255         }
256         ooz += doozdx;
257      }
258   }
259
260   /* translucency */
261   else
262   {
263      int polytrans = extra->polygon_transparency;
264
265      fr = (fr * polytrans) >> 5;
266      fg = (fg * polytrans) >> 5;
267      fb = (fb * polytrans) >> 5;
268      polytrans = 32 - polytrans;
269
270      for (x = extent->startx; x < extent->stopx; x++)
271      {
272         UINT32 iz = ooz * 256.0f;
273         if (iz > d[x])
274         {
275            UINT16 orig = p[x];
276            int r = fr + (((orig & 0x7c00) * polytrans) >> 5);
277            int g = fg + (((orig & 0x03e0) * polytrans) >> 5);
278            int b = fb + (((orig & 0x001f) * polytrans) >> 5);
279
280            p[x] = (r & 0x7c00) | (g & 0x3e0) | (b & 0x1f);
281            d[x] = iz;
282         }
283         ooz += doozdx;
284      }
285   }
286}
Property changes on: trunk/src/mame/video/m3raster.inc
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/mame/video/jagblit.inc
r0r23776
1/***************************************************************************
2
3    Atari Jaguar blitter
4
5****************************************************************************
6
7    How to use this module:
8
9    #define FUNCNAME -- name of the function to be generated
10    #define COMMAND  -- blitter command bits for blitter
11    #define A1FIXED  -- fixed A1 flag bits for blitter
12    #define A2FIXED  -- fixed A2 flag bits for blitter
13    #include "jagblit.inc"
14
15****************************************************************************/
16
17
18#ifndef FUNCNAME
19#error jagblit.inc -- requires FUNCNAME to be predefined
20#endif
21
22#ifndef COMMAND
23#error jagblit.inc -- requires COMMAND to be predefined
24#endif
25
26#ifndef A1FIXED
27#error jagblit.inc -- requires A1FIXED to be predefined
28#endif
29
30#ifndef A2FIXED
31#error jagblit.inc -- requires A2FIXED to be predefined
32#endif
33
34#ifndef PIXEL_SHIFT_1
35#define PIXEL_SHIFT_1(a)      ((~a##_x >> 16) & 7)
36#define PIXEL_OFFSET_1(a)     BYTE4_XOR_BE(((UINT32)a##_y >> 16) * a##_width / 8 + (((UINT32)a##_x >> 19) & ~7) * (1 + a##_pitch) + (((UINT32)a##_x >> 19) & 7))
37#define ZDATA_OFFSET_1(a)     0 /* huh? */
38#define READ_RDATA_1(r,a,p)   ((p) ? (((((UINT8 *)&m_blitter_regs[r])[BYTE4_XOR_BE(((UINT32)a##_x >> 19) & 7)]) >> PIXEL_SHIFT_1(a)) & 0x01) : (m_blitter_regs[r] & 0x01))
39#define READ_PIXEL_1(a)       (((((UINT8 *)a##_base_mem)[PIXEL_OFFSET_1(a)]) >> PIXEL_SHIFT_1(a)) & 0x01)
40#define READ_ZDATA_1(a)       0 /* huh? */
41
42#define PIXEL_SHIFT_2(a)      ((~a##_x >> 15) & 6)
43#define PIXEL_OFFSET_2(a)     BYTE4_XOR_BE(((UINT32)a##_y >> 16) * a##_width / 4 + (((UINT32)a##_x >> 18) & ~7) * (1 + a##_pitch) + (((UINT32)a##_x >> 18) & 7))
44#define ZDATA_OFFSET_2(a)     0 /* huh? */
45#define READ_RDATA_2(r,a,p)   ((p) ? (((((UINT8 *)&m_blitter_regs[r])[BYTE4_XOR_BE(((UINT32)a##_x >> 18) & 7)]) >> PIXEL_SHIFT_2(a)) & 0x03) : (m_blitter_regs[r] & 0x03))
46#define READ_PIXEL_2(a)       (((((UINT8 *)a##_base_mem)[PIXEL_OFFSET_2(a)]) >> PIXEL_SHIFT_2(a)) & 0x03)
47#define READ_ZDATA_2(a)       0 /* huh? */
48
49#define PIXEL_SHIFT_4(a)      ((~a##_x >> 14) & 4)
50#define PIXEL_OFFSET_4(a)     BYTE4_XOR_BE(((UINT32)a##_y >> 16) * a##_width / 2 + (((UINT32)a##_x >> 17) & ~7) * (1 + a##_pitch) + (((UINT32)a##_x >> 17) & 7))
51#define ZDATA_OFFSET_4(a)     0 /* huh? */
52#define READ_RDATA_4(r,a,p)   ((p) ? (((((UINT8 *)&m_blitter_regs[r])[BYTE4_XOR_BE(((UINT32)a##_x >> 17) & 7)]) >> PIXEL_SHIFT_4(a)) & 0x0f) : (m_blitter_regs[r] & 0x0f))
53#define READ_PIXEL_4(a)       (((((UINT8 *)a##_base_mem)[PIXEL_OFFSET_4(a)]) >> PIXEL_SHIFT_4(a)) & 0x0f)
54#define READ_ZDATA_4(a)       0 /* huh? */
55
56#define PIXEL_OFFSET_8(a)     BYTE4_XOR_BE(((UINT32)a##_y >> 16) * a##_width + (((UINT32)a##_x >> 16) & ~7) * (1 + a##_pitch) + (((UINT32)a##_x >> 16) & 7))
57#define ZDATA_OFFSET_8(a)     (PIXEL_OFFSET_8(a) + a##_zoffs * 8)
58#define READ_RDATA_8(r,a,p)   ((p) ? (((UINT8 *)&m_blitter_regs[r])[BYTE4_XOR_BE(((UINT32)a##_x >> 16) & 7)]) : (m_blitter_regs[r] & 0xff))
59#define READ_PIXEL_8(a)       (((UINT8 *)a##_base_mem)[PIXEL_OFFSET_8(a)])
60#define READ_ZDATA_8(a)       (((UINT8 *)a##_base_mem)[ZDATA_OFFSET_8(a)])
61
62#define PIXEL_OFFSET_16(a)    BYTE_XOR_BE(((UINT32)a##_y >> 16) * a##_width + (((UINT32)a##_x >> 16) & ~3) * (1 + a##_pitch) + (((UINT32)a##_x >> 16) & 3))
63#define ZDATA_OFFSET_16(a)    (PIXEL_OFFSET_16(a) + a##_zoffs * 4)
64#define READ_RDATA_16(r,a,p)  ((p) ? (((UINT16 *)&m_blitter_regs[r])[BYTE_XOR_BE(((UINT32)a##_x >> 16) & 3)]) : (m_blitter_regs[r] & 0xffff))
65#define READ_PIXEL_16(a)      (((UINT16 *)a##_base_mem)[PIXEL_OFFSET_16(a)])
66#define READ_ZDATA_16(a)      (((UINT16 *)a##_base_mem)[ZDATA_OFFSET_16(a)])
67
68#define PIXEL_OFFSET_32(a)    (((UINT32)a##_y >> 16) * a##_width + (((UINT32)a##_x >> 16) & ~1) * (1 + a##_pitch) + (((UINT32)a##_x >> 16) & 1))
69#define ZDATA_OFFSET_32(a)    (PIXEL_OFFSET_32(a) + a##_zoffs * 2)
70#define READ_RDATA_32(r,a,p)  ((p) ? (m_blitter_regs[r + (((UINT32)a##_x >> 16) & 1)]) : m_blitter_regs[r])
71#define READ_PIXEL_32(a)      (((UINT32 *)a##_base_mem)[PIXEL_OFFSET_32(a)])
72#define READ_ZDATA_32(a)      (((UINT32 *)a##_base_mem)[ZDATA_OFFSET_32(a)])
73
74#define READ_RDATA(r,a,f,p) \
75   ((((f) & 0x38) == (0 << 3)) ? (READ_RDATA_1(r,a,p)) : \
76      (((f) & 0x38) == (1 << 3)) ? (READ_RDATA_2(r,a,p)) : \
77      (((f) & 0x38) == (2 << 3)) ? (READ_RDATA_4(r,a,p)) : \
78      (((f) & 0x38) == (3 << 3)) ? (READ_RDATA_8(r,a,p)) : \
79      (((f) & 0x38) == (4 << 3)) ? (READ_RDATA_16(r,a,p)) : \
80      (((f) & 0x38) == (5 << 3)) ? (READ_RDATA_32(r,a,p)) : 0)
81
82#define READ_PIXEL(a,f) \
83   ((((f) & 0x38) == (0 << 3)) ? (READ_PIXEL_1(a)) : \
84      (((f) & 0x38) == (1 << 3)) ? (READ_PIXEL_2(a)) : \
85      (((f) & 0x38) == (2 << 3)) ? (READ_PIXEL_4(a)) : \
86      (((f) & 0x38) == (3 << 3)) ? (READ_PIXEL_8(a)) : \
87      (((f) & 0x38) == (4 << 3)) ? (READ_PIXEL_16(a)) : \
88      (((f) & 0x38) == (5 << 3)) ? (READ_PIXEL_32(a)) : 0)
89
90#define READ_ZDATA(a,f) \
91   ((((f) & 0x38) == (0 << 3)) ? (READ_ZDATA_1(a)) : \
92      (((f) & 0x38) == (1 << 3)) ? (READ_ZDATA_2(a)) : \
93      (((f) & 0x38) == (2 << 3)) ? (READ_ZDATA_4(a)) : \
94      (((f) & 0x38) == (3 << 3)) ? (READ_ZDATA_8(a)) : \
95      (((f) & 0x38) == (4 << 3)) ? (READ_ZDATA_16(a)) : \
96      (((f) & 0x38) == (5 << 3)) ? (READ_ZDATA_32(a)) : 0)
97
98#define PIXEL_SHIFT_WRITE_1      ((~adest_x >> 16) & 7)
99#define PIXEL_SHIFT_WRITE_2      ((~adest_x >> 15) & 6)
100#define PIXEL_SHIFT_WRITE_4      ((~adest_x >> 14) & 4)
101
102#define PIXEL_OFFSET_WRITE_1     (((UINT32)adest_y >> 16) * adest_width / 8 + (((UINT32)adest_x >> 19) & ~7) * (1 + adest_pitch) + (((UINT32)adest_x >> 19) & 7))
103#define PIXEL_OFFSET_WRITE_2     (((UINT32)adest_y >> 16) * adest_width / 4 + (((UINT32)adest_x >> 18) & ~7) * (1 + adest_pitch) + (((UINT32)adest_x >> 18) & 7))
104#define PIXEL_OFFSET_WRITE_4     (((UINT32)adest_y >> 16) * adest_width / 2 + (((UINT32)adest_x >> 17) & ~7) * (1 + adest_pitch) + (((UINT32)adest_x >> 17) & 7))
105#define PIXEL_OFFSET_WRITE_8     (((UINT32)adest_y >> 16) * adest_width + (((UINT32)adest_x >> 16) & ~7) * (1 + adest_pitch) + (((UINT32)adest_x >> 16) & 7))
106#define PIXEL_OFFSET_WRITE_16    (((UINT32)adest_y >> 16) * adest_width + (((UINT32)adest_x >> 16) & ~3) * (1 + adest_pitch) + (((UINT32)adest_x >> 16) & 3))
107#define PIXEL_OFFSET_WRITE_32    (((UINT32)adest_y >> 16) * adest_width + (((UINT32)adest_x >> 16) & ~1) * (1 + adest_pitch) + (((UINT32)adest_x >> 16) & 1))
108
109#define ZDATA_OFFSET_WRITE_1     0 /* huh? */
110#define ZDATA_OFFSET_WRITE_2     0 /* huh? */
111#define ZDATA_OFFSET_WRITE_4     0 /* huh? */
112#define ZDATA_OFFSET_WRITE_8     (PIXEL_OFFSET_WRITE_8 + adest_zoffs * 8)
113#define ZDATA_OFFSET_WRITE_16    (PIXEL_OFFSET_WRITE_16 + adest_zoffs * 4)
114#define ZDATA_OFFSET_WRITE_32    (PIXEL_OFFSET_WRITE_32 + adest_zoffs * 2)
115
116
117#define WRITE_PIXEL_1(d)    do { int writeoffs = PIXEL_OFFSET_WRITE_1; int shift = PIXEL_SHIFT_WRITE_1; UINT8 pix = m_gpu->space(AS_PROGRAM).read_byte(adest_base + (writeoffs)); pix = (pix & ~(0x01 << shift)) | ((d) << shift); m_gpu->space(AS_PROGRAM).write_byte(adest_base + (writeoffs), pix); } while (0)
118#define WRITE_ZDATA_1(d)    /* huh? */
119#define WRITE_PIXEL_2(d)    do { int writeoffs = PIXEL_OFFSET_WRITE_2; int shift = PIXEL_SHIFT_WRITE_2; UINT8 pix = m_gpu->space(AS_PROGRAM).read_byte(adest_base + (writeoffs)); pix = (pix & ~(0x03 << shift)) | ((d) << shift); m_gpu->space(AS_PROGRAM).write_byte(adest_base + (writeoffs), pix); } while (0)
120#define WRITE_ZDATA_2(d)    /* huh? */
121#define WRITE_PIXEL_4(d)    do { int writeoffs = PIXEL_OFFSET_WRITE_4; int shift = PIXEL_SHIFT_WRITE_4; UINT8 pix = m_gpu->space(AS_PROGRAM).read_byte(adest_base + (writeoffs)); pix = (pix & ~(0x0f << shift)) | ((d) << shift); m_gpu->space(AS_PROGRAM).write_byte(adest_base + (writeoffs), pix); } while (0)
122#define WRITE_ZDATA_4(d)    /* huh? */
123#define WRITE_PIXEL_8(d)    do { int writeoffs = PIXEL_OFFSET_WRITE_8;  m_gpu->space(AS_PROGRAM).write_byte(adest_base + (writeoffs), (d)); } while (0)
124#define WRITE_ZDATA_8(d)    do { int writeoffs = ZDATA_OFFSET_WRITE_8;  m_gpu->space(AS_PROGRAM).write_byte(adest_base + (writeoffs), (d)); } while (0)
125#define WRITE_PIXEL_16(d)   do { int writeoffs = PIXEL_OFFSET_WRITE_16; m_gpu->space(AS_PROGRAM).write_word(adest_base + (writeoffs<<1), (d)); } while (0)
126#define WRITE_ZDATA_16(d)   do { int writeoffs = ZDATA_OFFSET_WRITE_16; m_gpu->space(AS_PROGRAM).write_word(adest_base + (writeoffs<<1), (d)); } while (0)
127#define WRITE_PIXEL_32(d)   do { int writeoffs = PIXEL_OFFSET_WRITE_32; m_gpu->space(AS_PROGRAM).write_dword(adest_base + (writeoffs<<2), (d)); } while (0)
128#define WRITE_ZDATA_32(d)   do { int writeoffs = ZDATA_OFFSET_WRITE_32; m_gpu->space(AS_PROGRAM).write_dword(adest_base + (writeoffs<<2), (d)); } while (0)
129
130
131
132#define WRITE_PIXEL(f,d) \
133   do \
134   { \
135            if (((f) & 0x38) == (0 << 3)) WRITE_PIXEL_1(d); \
136      else if (((f) & 0x38) == (1 << 3)) WRITE_PIXEL_2(d); \
137      else if (((f) & 0x38) == (2 << 3)) WRITE_PIXEL_4(d); \
138      else if (((f) & 0x38) == (3 << 3)) WRITE_PIXEL_8(d); \
139      else if (((f) & 0x38) == (4 << 3)) WRITE_PIXEL_16(d); \
140      else if (((f) & 0x38) == (5 << 3)) WRITE_PIXEL_32(d); \
141   } while (0)
142
143#define WRITE_ZDATA(f,d) \
144   do \
145   { \
146            if (((f) & 0x38) == (0 << 3)) WRITE_ZDATA_1(d); \
147      else if (((f) & 0x38) == (1 << 3)) WRITE_ZDATA_2(d); \
148      else if (((f) & 0x38) == (2 << 3)) WRITE_ZDATA_4(d); \
149      else if (((f) & 0x38) == (3 << 3)) WRITE_ZDATA_8(d); \
150      else if (((f) & 0x38) == (4 << 3)) WRITE_ZDATA_16(d); \
151      else if (((f) & 0x38) == (5 << 3)) WRITE_ZDATA_32(d); \
152   } while (0)
153#endif
154
155void jaguar_state::FUNCNAME(UINT32 command, UINT32 a1flags, UINT32 a2flags)
156{
157   UINT32 a1_base = m_blitter_regs[A1_BASE] & ~0x7;
158   INT32 a1_pitch = (A1FIXED & 3) ^ ((A1FIXED & 2) >> 1);
159   INT32 a1_zoffs = (A1FIXED >> 6) & 7;
160   INT32 a1_width = ((4 | ((a1flags >> 9) & 3)) << ((a1flags >> 11) & 15)) >> 2;
161   INT32 a1_xadd = (A1FIXED >> 16) & 0x03;
162   INT32 a1_yadd = (A1FIXED >> 18) & 0x01;
163   INT32 a1_x = (m_blitter_regs[A1_PIXEL] << 16) | (m_blitter_regs[A1_FPIXEL] & 0xffff);
164   INT32 a1_y = (m_blitter_regs[A1_PIXEL] & 0xffff0000) | (m_blitter_regs[A1_FPIXEL] >> 16);
165   INT32 a1_xstep = 0;
166   INT32 a1_ystep = 0;
167   UINT32 a1_xmask = 0xffffffff;
168   UINT32 a1_ymask = 0xffffffff;
169
170   UINT32 a2_base = m_blitter_regs[A2_BASE] & ~0x7;
171   INT32 a2_pitch = (A2FIXED & 3) ^ ((A2FIXED & 2) >> 1);
172   INT32 a2_zoffs = (A2FIXED >> 6) & 7;
173   INT32 a2_width = ((4 | ((a2flags >> 9) & 3)) << ((a2flags >> 11) & 15)) >> 2;
174   INT32 a2_xadd = (A2FIXED >> 16) & 0x03;
175   INT32 a2_yadd = (A1FIXED >> 18) & 0x01;     // From Jaguar HW errata: "If the A1 Y add control bit is set it will affect both address generators."
176   INT32 a2_x = (m_blitter_regs[A2_PIXEL] << 16);
177   INT32 a2_y = (m_blitter_regs[A2_PIXEL] & 0xffff0000);
178   INT32 a2_xstep = 0;
179   INT32 a2_ystep = 0;
180   UINT32 a2_xmask = 0xffffffff;
181   UINT32 a2_ymask = 0xffffffff;
182
183   int inner_count = m_blitter_regs[B_COUNT] & 0xffff;
184   int outer_count = m_blitter_regs[B_COUNT] >> 16;
185   int inner, outer;
186
187   UINT8 a1_phrase_mode = 0;
188   UINT8 a2_phrase_mode = 0;
189
190   void *a1_base_mem = memory_base(a1_base);
191   void *a2_base_mem = memory_base(a2_base);
192
193   void *asrc_base_mem =   (COMMAND & 0x00000800) ? a1_base_mem : a2_base_mem;
194   void *adest_base_mem =  (COMMAND & 0x00000800) ? a2_base_mem : a1_base_mem;
195   UINT32 asrcflags =      (COMMAND & 0x00000800) ? A1FIXED : A2FIXED;
196   INT32 asrc_x =          (COMMAND & 0x00000800) ? a1_x : a2_x;
197   INT32 asrc_y =          (COMMAND & 0x00000800) ? a1_y : a2_y;
198   INT32 asrc_width =      (COMMAND & 0x00000800) ? a1_width : a2_width;
199   INT32 asrc_pitch =      (COMMAND & 0x00000800) ? a1_pitch : a2_pitch;
200   INT32 asrc_zoffs =      (COMMAND & 0x00000800) ? a1_zoffs : a2_zoffs;
201   UINT8 asrc_phrase_mode;
202   INT32 asrc_xadd, asrc_xstep, asrc_yadd, asrc_ystep;
203   UINT32 asrc_xmask, asrc_ymask;
204
205   UINT32 adest_base =  (COMMAND & 0x00000800) ? a2_base : a1_base;
206   UINT32 adestflags =     (COMMAND & 0x00000800) ? A2FIXED : A1FIXED;
207   INT32 adest_x =         (COMMAND & 0x00000800) ? a2_x : a1_x;
208   INT32 adest_y =         (COMMAND & 0x00000800) ? a2_y : a1_y;
209   INT32 adest_width =     (COMMAND & 0x00000800) ? a2_width : a1_width;
210   INT32 adest_pitch =     (COMMAND & 0x00000800) ? a2_pitch : a1_pitch;
211   INT32 adest_zoffs =     (COMMAND & 0x00000800) ? a2_zoffs : a1_zoffs;
212   UINT8 adest_phrase_mode;
213   INT32 adest_xadd, adest_xstep, adest_yadd, adest_ystep;
214   UINT32 adest_xmask, adest_ymask;
215
216   /* don't blit if pointer bad */
217   if (!a1_base_mem || !a2_base_mem)
218   {
219      if (LOG_BAD_BLITS)
220      {
221      logerror("%s:Blit!\n", machine().describe_context());
222      logerror("  a1_base  = %08X\n", a1_base);
223      logerror("  a2_base  = %08X\n", a2_base);
224      }
225      return;
226   }
227
228   /* determine actual xadd/yadd for A1 */
229   a1_yadd <<= 16;
230   if (A1FIXED & 0x00100000)
231      a1_yadd = -a1_yadd;
232
233   a1_phrase_mode = (a1_xadd == 0);
234   if (a1_xadd == 3)
235   {
236      a1_xadd = (m_blitter_regs[A1_INC] << 16) | (m_blitter_regs[A1_FINC] & 0xffff);
237      a1_yadd = (m_blitter_regs[A1_INC] & 0xffff0000) | (m_blitter_regs[A1_FINC] >> 16);
238   }
239   else if (a1_xadd == 2)
240      a1_xadd = 0;
241   else
242      a1_xadd = 1 << 16;
243   if (A1FIXED & 0x00080000)
244      a1_xadd = -a1_xadd;
245
246   /* determine actual xadd/yadd for A2 */
247   a2_yadd <<= 16;
248   if (A2FIXED & 0x00100000)
249      a2_yadd = -a2_yadd;
250
251   a2_phrase_mode = (a2_xadd == 0);
252   if (a2_xadd == 2)
253      a2_xadd = 0;
254   else
255      a2_xadd = 1 << 16;
256   if (A2FIXED & 0x00080000)
257      a2_xadd = -a2_xadd;
258
259   /* set up the A2 mask */
260   if (A2FIXED & 0x00008000)
261   {
262      a2_xmask = ((m_blitter_regs[A2_MASK] & 0x0000ffff) << 16) | 0xffff;
263      a2_ymask = (m_blitter_regs[A2_MASK] & 0xffff0000) | 0xffff;
264   }
265
266   /* modify outer loop steps based on command */
267   if (command & 0x00000100)
268   {
269      a1_xstep = m_blitter_regs[A1_FSTEP] & 0xffff;
270      a1_ystep = m_blitter_regs[A1_FSTEP] >> 16;
271   }
272   if (command & 0x00000200)
273   {
274      a1_xstep += m_blitter_regs[A1_STEP] << 16;
275      a1_ystep += m_blitter_regs[A1_STEP] & 0xffff0000;
276   }
277   if (command & 0x00000400)
278   {
279      a2_xstep = m_blitter_regs[A2_STEP] << 16;
280      a2_ystep = m_blitter_regs[A2_STEP] & 0xffff0000;
281   }
282
283   asrc_phrase_mode    = (COMMAND & 0x00000800) ? a1_phrase_mode : a2_phrase_mode;
284   asrc_xstep          = (COMMAND & 0x00000800) ? a1_xstep : a2_xstep;
285   asrc_ystep          = (COMMAND & 0x00000800) ? a1_ystep : a2_ystep;
286   asrc_xadd           = (COMMAND & 0x00000800) ? a1_xadd : a2_xadd;
287   asrc_yadd           = (COMMAND & 0x00000800) ? a1_yadd : a2_yadd;
288   asrc_xmask          = (COMMAND & 0x00000800) ? a1_xmask : a2_xmask;
289   asrc_ymask          = (COMMAND & 0x00000800) ? a1_ymask : a2_ymask;
290
291   adest_phrase_mode   = (COMMAND & 0x00000800) ? a2_phrase_mode : a1_phrase_mode;
292   adest_xstep         = (COMMAND & 0x00000800) ? a2_xstep : a1_xstep;
293   adest_ystep         = (COMMAND & 0x00000800) ? a2_ystep : a1_ystep;
294   adest_xadd          = (COMMAND & 0x00000800) ? a2_xadd : a1_xadd;
295   adest_yadd          = (COMMAND & 0x00000800) ? a2_yadd : a1_yadd;
296   adest_xmask         = (COMMAND & 0x00000800) ? a2_xmask : a1_xmask;
297   adest_ymask         = (COMMAND & 0x00000800) ? a2_ymask : a1_ymask;
298
299   int gouraud_color[4];
300   gouraud_color[0] = (m_blitter_regs[B_PATD_H] >> 16) & 0xff00;
301   gouraud_color[1] = m_blitter_regs[B_PATD_H] & 0xff00;
302   gouraud_color[2] = (m_blitter_regs[B_PATD_L] >> 16) & 0xff00;
303   gouraud_color[3] = m_blitter_regs[B_PATD_L] & 0xff00;
304
305   int gouraud_inten[4];
306   gouraud_inten[3] = m_blitter_regs[B_I0] & 0xffffff;
307   gouraud_inten[2] = m_blitter_regs[B_I1] & 0xffffff;
308   gouraud_inten[1] = m_blitter_regs[B_I2] & 0xffffff;
309   gouraud_inten[0] = m_blitter_regs[B_I3] & 0xffffff;
310
311   int gouraud_iinc = m_blitter_regs[B_IINC] & 0xffffff;
312   if (gouraud_iinc & 0x800000)
313      gouraud_iinc |= 0xff000000;
314
315   if (LOG_BLITS)
316   {
317   logerror("%s:Blit!\n", machine().describe_context());
318   logerror("  a1_base  = %08X\n", a1_base);
319   logerror("  a1_pitch = %d\n", a1_pitch);
320   logerror("  a1_psize = %d\n", 1 << ((A1FIXED >> 3) & 7));
321   logerror("  a1_width = %d\n", a1_width);
322   logerror("  a1_xadd  = %f (phrase=%d)\n", (float)a1_xadd / 65536.0, a1_phrase_mode);
323   logerror("  a1_yadd  = %f\n", (float)a1_yadd / 65536.0);
324   logerror("  a1_xstep = %f\n", (float)a1_xstep / 65536.0);
325   logerror("  a1_ystep = %f\n", (float)a1_ystep / 65536.0);
326   logerror("  a1_x     = %f\n", (float)a1_x / 65536.0);
327   logerror("  a1_y     = %f\n", (float)a1_y / 65536.0);
328
329   logerror("  a2_base  = %08X\n", a2_base);
330   logerror("  a2_pitch = %d\n", a2_pitch);
331   logerror("  a2_psize = %d\n", 1 << ((A2FIXED >> 3) & 7));
332   logerror("  a2_width = %d\n", a2_width);
333   logerror("  a2_xadd  = %f (phrase=%d)\n", (float)a2_xadd / 65536.0, a2_phrase_mode);
334   logerror("  a2_yadd  = %f\n", (float)a2_yadd / 65536.0);
335   logerror("  a2_xstep = %f\n", (float)a2_xstep / 65536.0);
336   logerror("  a2_ystep = %f\n", (float)a2_ystep / 65536.0);
337   logerror("  a2_x     = %f\n", (float)a2_x / 65536.0);
338   logerror("  a2_y     = %f\n", (float)a2_y / 65536.0);
339
340   logerror("  count    = %d x %d\n", inner_count, outer_count);
341   logerror("  command  = %08X\n", COMMAND);
342   }
343
344   /* check for unhandled command bits */
345   if (LOG_UNHANDLED_BLITS && (COMMAND & 0x24003000))
346      logerror("Blitter unhandled: these command bits: %08X\n", COMMAND & 0x24003000);
347
348   /* top of the outer loop */
349   outer = outer_count;
350   while (outer--)
351   {
352      /* top of the inner loop */
353      inner = inner_count;
354      while (inner--)
355      {
356         UINT32 srcdata;
357         UINT32 srczdata = 0;
358         UINT32 dstdata;
359         UINT32 dstzdata = 0;
360         UINT32 writedata = 0;
361         int inhibit = 0;
362
363            /* load src data and Z */
364            if (COMMAND & 0x00000001)
365            {
366               srcdata = READ_PIXEL(asrc, asrcflags);
367               if (COMMAND & 0x00000002)
368                  srczdata = READ_ZDATA(asrc, asrcflags);
369               else if (COMMAND & 0x001c020)
370                  srczdata = READ_RDATA(B_SRCZ1_H, asrc, asrcflags, asrc_phrase_mode);
371            }
372            else
373            {
374               srcdata = READ_RDATA(B_SRCD_H, asrc, asrcflags, asrc_phrase_mode);
375               if (COMMAND & 0x001c020)
376                  srczdata = READ_RDATA(B_SRCZ1_H, asrc, asrcflags, asrc_phrase_mode);
377            }
378
379            /* load dst data and Z */
380            if (COMMAND & 0x00000008)
381            {
382               dstdata = READ_PIXEL(adest, adestflags);
383               if (COMMAND & 0x00000010)
384                  dstzdata = READ_ZDATA(adest, adestflags);
385               else
386                  dstzdata = READ_RDATA(B_DSTZ_H, adest, adestflags, adest_phrase_mode);
387            }
388            else
389            {
390               dstdata = READ_RDATA(B_DSTD_H, adest, adestflags, adest_phrase_mode);
391               if (COMMAND & 0x00000010)
392                  dstzdata = READ_RDATA(B_DSTZ_H, adest, adestflags, adest_phrase_mode);
393            }
394
395            /* handle clipping */
396            if (COMMAND & 0x00000040)
397            {
398               if (adest_x < 0 || adest_y < 0 ||
399                  (adest_x >> 16) >= (m_blitter_regs[A1_CLIP] & 0x7fff) ||
400                  (adest_y >> 16) >= ((m_blitter_regs[A1_CLIP] >> 16) & 0x7fff))
401                  inhibit = 1;
402            }
403
404            /* apply Z comparator */
405            if (COMMAND & 0x00040000)
406               if (srczdata < dstzdata) inhibit = 1;
407            if (COMMAND & 0x00080000)
408               if (srczdata == dstzdata) inhibit = 1;
409            if (COMMAND & 0x00100000)
410               if (srczdata > dstzdata) inhibit = 1;
411
412            /* apply data comparator */
413            if (COMMAND & 0x08000000)
414            {
415               if (!(COMMAND & 0x02000000))
416               {
417                  if (srcdata == READ_RDATA(B_PATD_H, asrc, asrcflags, asrc_phrase_mode))
418                     inhibit = 1;
419               }
420               else
421               {
422                  if (dstdata == READ_RDATA(B_PATD_H, adest, adestflags, adest_phrase_mode))
423                     inhibit = 1;
424               }
425            }
426
427            /* compute the write data and store */
428            if (!inhibit)
429            {
430               /* handle patterns/additive/LFU */
431               if (COMMAND & 0x00010000)
432                  writedata = READ_RDATA(B_PATD_H, adest, adestflags, adest_phrase_mode);
433               else if (COMMAND & 0x00020000)
434               {
435                  writedata = (srcdata & 0xff) + (dstdata & 0xff);
436                  if (!(COMMAND & 0x00004000) && writedata > 0xff)
437                     writedata = 0xff;
438                  writedata |= (srcdata & 0xf00) + (dstdata & 0xf00);
439                  if (!(COMMAND & 0x00008000) && writedata > 0xfff)
440                     writedata = 0xfff;
441                  writedata |= (srcdata & 0xf000) + (dstdata & 0xf000);
442               }
443               else
444               {
445                  if (COMMAND & 0x00200000)
446                     writedata |= ~srcdata & ~dstdata;
447                  if (COMMAND & 0x00400000)
448                     writedata |= ~srcdata & dstdata;
449                  if (COMMAND & 0x00800000)
450                     writedata |= srcdata & ~dstdata;
451                  if (COMMAND & 0x01000000)
452                     writedata |= srcdata & dstdata;
453               }
454
455               /* handle source shading */
456               if (COMMAND & 0x40000000)
457               {
458                  int intensity = srcdata & 0x00ff;
459                  intensity += (INT8) (m_blitter_regs[B_IINC] >> 16);
460                  if (intensity < 0)
461                     intensity = 0;
462                  else if (intensity > 0xff)
463                     intensity = 0xff;
464                  writedata = (srcdata & 0xff00) | intensity;
465               }
466
467               /* handle gouraud shading */
468               if (COMMAND & 0x1000)
469               {
470                  int p = asrc_phrase_mode ? (asrc_x & 3) : 3;
471                  writedata = ((gouraud_inten[p] >> 16) & 0xff) | gouraud_color[p];
472
473                  int intensity = gouraud_inten[p];
474                  intensity += gouraud_iinc;
475                  if (intensity < 0) intensity = 0;
476                  if (intensity > 0xffffff) intensity = 0xffffff;
477                  gouraud_inten[p] = intensity;
478               }
479            }
480            else
481               writedata = dstdata;
482
483         if ((command & 0x10000000) || !inhibit)
484         {
485            /* write to the destination */
486            WRITE_PIXEL(adestflags, writedata);
487            if (COMMAND & 0x00000020)
488               WRITE_ZDATA(adestflags, srczdata);
489         }
490
491            /* update X/Y */
492         asrc_x = (asrc_x + asrc_xadd) & asrc_xmask;
493         asrc_y = (asrc_y + asrc_yadd) & asrc_ymask;
494         adest_x = (adest_x + adest_xadd) & adest_xmask;
495         adest_y = (adest_y + adest_yadd) & adest_ymask;
496      }
497
498      /* adjust for phrase mode */
499      if (asrc_phrase_mode)
500      {
501         if (asrc_xadd > 0)
502            asrc_x += 3 << 16;
503         else
504            asrc_x -= 3 << 16;
505         asrc_x &= ~(3 << 16);
506      }
507      if (adest_phrase_mode)
508      {
509         if (adest_xadd > 0)
510            adest_x += 3 << 16;
511         else
512            adest_x -= 3 << 16;
513         adest_x &= ~(3 << 16);
514      }
515
516      /* update for outer loop */
517      asrc_x += asrc_xstep;
518      asrc_y += asrc_ystep;
519      adest_x += adest_xstep;
520      adest_y += adest_ystep;
521   }
522
523   /* write values back to registers */
524   a1_x =  (COMMAND & 0x00000800) ? asrc_x : adest_x;
525   a1_y =  (COMMAND & 0x00000800) ? asrc_y : adest_y;
526   a2_x =  (COMMAND & 0x00000800) ? adest_x : asrc_x;
527   a2_y =  (COMMAND & 0x00000800) ? adest_y : asrc_y;
528
529   m_blitter_regs[A1_PIXEL] = (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff);
530   m_blitter_regs[A1_FPIXEL] = (a1_y << 16) | (a1_x & 0xffff);
531   m_blitter_regs[A2_PIXEL] = (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff);
532}
Property changes on: trunk/src/mame/video/jagblit.inc
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/mame/video/model2rd.inc
r0r23776
1/********************************************************************
2
3    Sega Model 2 3D rasterization functions
4
5********************************************************************/
6
7#undef MODEL2_CHECKER
8#undef MODEL2_TEXTURED
9#undef MODEL2_TRANSLUCENT
10
11#ifndef MODEL2_FUNC
12#error "Model 2 renderer: No function defined!"
13#endif
14
15#ifndef MODEL2_FUNC_NAME
16#error "Model 2 renderer: No function name defined!"
17#endif
18
19#if MODEL2_FUNC == 0
20#undef MODEL2_CHECKER
21#undef MODEL2_TEXTURED
22#undef MODEL2_TRANSLUCENT
23#elif MODEL2_FUNC == 1
24#undef MODEL2_CHECKER
25#undef MODEL2_TEXTURED
26#define MODEL2_TRANSLUCENT
27#elif MODEL2_FUNC == 2
28#undef MODEL2_CHECKER
29#define MODEL2_TEXTURED
30#undef MODEL2_TRANSLUCENT
31#elif MODEL2_FUNC == 3
32#undef MODEL2_CHECKER
33#define MODEL2_TEXTURED
34#define MODEL2_TRANSLUCENT
35#elif MODEL2_FUNC == 4
36#define MODEL2_CHECKER
37#undef MODEL2_TEXTURED
38#undef MODEL2_TRANSLUCENT
39#elif MODEL2_FUNC == 5
40#define MODEL2_CHECKER
41#undef MODEL2_TEXTURED
42#define MODEL2_TRANSLUCENT
43#elif MODEL2_FUNC == 6
44#define MODEL2_CHECKER
45#define MODEL2_TEXTURED
46#undef MODEL2_TRANSLUCENT
47#elif MODEL2_FUNC == 7
48#define MODEL2_CHECKER
49#define MODEL2_TEXTURED
50#define MODEL2_TRANSLUCENT
51#else
52#error "Model 2 renderer: Invalif function selected!"
53#endif
54
55#ifndef MODEL2_TEXTURED
56/* non-textured render path */
57static void MODEL2_FUNC_NAME(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
58{
59#if !defined( MODEL2_TRANSLUCENT)
60   const poly_extra_data *extra = (const poly_extra_data *)extradata;
61   model2_state *state = extra->state;
62   bitmap_rgb32 *destmap = (bitmap_rgb32 *)dest;
63   UINT32 *p = &destmap->pix32(scanline);
64
65   /* extract color information */
66   const UINT16 *colortable_r = (const UINT16 *)&state->m_colorxlat[0x0000/4];
67   const UINT16 *colortable_g = (const UINT16 *)&state->m_colorxlat[0x4000/4];
68   const UINT16 *colortable_b = (const UINT16 *)&state->m_colorxlat[0x8000/4];
69   const UINT16 *lumaram = (const UINT16 *)state->m_lumaram.target();
70   const UINT16 *palram = (const UINT16 *)state->m_paletteram32.target();
71   UINT32  lumabase = extra->lumabase;
72   UINT32  color = extra->colorbase;
73   UINT8   luma;
74   UINT32  tr, tg, tb;
75   int     x;
76#endif
77   /* if it's translucent, there's nothing to render */
78#if defined( MODEL2_TRANSLUCENT)
79   return;
80#else
81
82   luma = lumaram[BYTE_XOR_LE(lumabase + (0xf << 3))] & 0x3F;
83
84   color = palram[BYTE_XOR_LE(color + 0x1000)] & 0x7fff;
85
86   colortable_r += ((color >>  0) & 0x1f) << 8;
87   colortable_g += ((color >>  5) & 0x1f) << 8;
88   colortable_b += ((color >> 10) & 0x1f) << 8;
89
90   /* we have the 6 bits of luma information along with 5 bits per color component */
91   /* now build and index into the master color lookup table and extract the raw RGB values */
92
93   tr = colortable_r[BYTE_XOR_LE(luma)] & 0xff;
94   tg = colortable_g[BYTE_XOR_LE(luma)] & 0xff;
95   tb = colortable_b[BYTE_XOR_LE(luma)] & 0xff;
96
97   /* build the final color */
98   color = MAKE_RGB(tr, tg, tb);
99
100   for(x = extent->startx; x < extent->stopx; x++)
101#if defined(MODEL2_CHECKER)
102      if ((x^scanline) & 1) p[x] = color;
103#else
104      p[x] = color;
105#endif
106#endif
107}
108
109#else
110/* textured render path */
111static void MODEL2_FUNC_NAME(void *dest, INT32 scanline, const poly_extent *extent, const void *extradata, int threadid)
112{
113   const poly_extra_data *extra = (const poly_extra_data *)extradata;
114   model2_state *state = extra->state;
115   bitmap_rgb32 *destmap = (bitmap_rgb32 *)dest;
116   UINT32 *p = &destmap->pix32(scanline);
117
118   UINT32  tex_width = extra->texwidth;
119   UINT32  tex_height = extra->texheight;
120
121   /* extract color information */
122   const UINT16 *colortable_r = (const UINT16 *)&state->m_colorxlat[0x0000/4];
123   const UINT16 *colortable_g = (const UINT16 *)&state->m_colorxlat[0x4000/4];
124   const UINT16 *colortable_b = (const UINT16 *)&state->m_colorxlat[0x8000/4];
125   const UINT16 *lumaram = (const UINT16 *)state->m_lumaram.target();
126   const UINT16 *palram = (const UINT16 *)state->m_paletteram32.target();
127   UINT32  colorbase = extra->colorbase;
128   UINT32  lumabase = extra->lumabase;
129   UINT32  tex_x = extra->texx;
130   UINT32  tex_y = extra->texy;
131   UINT32  tex_x_mask, tex_y_mask;
132   UINT32  tex_mirr_x = extra->texmirrorx;
133   UINT32  tex_mirr_y = extra->texmirrory;
134   UINT32 *sheet = extra->texsheet;
135   float ooz = extent->param[0].start;
136   float uoz = extent->param[1].start;
137   float voz = extent->param[2].start;
138   float dooz = extent->param[0].dpdx;
139   float duoz = extent->param[1].dpdx;
140   float dvoz = extent->param[2].dpdx;
141   int     x;
142
143   tex_x_mask  = tex_width - 1;
144   tex_y_mask  = tex_height - 1;
145
146   colorbase = palram[BYTE_XOR_LE(colorbase + 0x1000)] & 0x7fff;
147
148   colortable_r += ((colorbase >>  0) & 0x1f) << 8;
149   colortable_g += ((colorbase >>  5) & 0x1f) << 8;
150   colortable_b += ((colorbase >> 10) & 0x1f) << 8;
151
152   for(x = extent->startx; x < extent->stopx; x++, uoz += duoz, voz += dvoz, ooz += dooz)
153   {
154      float z = recip_approx(ooz) * 256.0f;
155      INT32 u = uoz * z;
156      INT32 v = voz * z;
157      UINT32  tr, tg, tb;
158      UINT16  t;
159      UINT8 luma;
160      int u2;
161      int v2;
162
163#if defined(MODEL2_CHECKER)
164      if ( ((x^scanline) & 1) == 0 )
165         continue;
166#endif
167      u2 = (u >> 8) & tex_x_mask;
168      v2 = (v >> 8) & tex_y_mask;
169
170      if ( tex_mirr_x )
171         u2 = ( tex_width - 1 ) - u2;
172
173      if ( tex_mirr_y )
174         v2 = ( tex_height - 1 ) - v2;
175
176      t = get_texel( tex_x, tex_y, u2, v2, sheet );
177
178#if defined(MODEL2_TRANSLUCENT)
179      if ( t == 0x0f )
180         continue;
181#endif
182      luma = lumaram[BYTE_XOR_LE(lumabase + (t << 3))] & 0x3f;
183
184      /* we have the 6 bits of luma information along with 5 bits per color component */
185      /* now build and index into the master color lookup table and extract the raw RGB values */
186
187      tr = colortable_r[BYTE_XOR_LE(luma)] & 0xff;
188      tg = colortable_g[BYTE_XOR_LE(luma)] & 0xff;
189      tb = colortable_b[BYTE_XOR_LE(luma)] & 0xff;
190
191      p[x] = MAKE_RGB(tr, tg, tb);
192   }
193}
194
195#endif
Property changes on: trunk/src/mame/video/model2rd.inc
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/mame/video/jagobj.inc
r0r23776
1/***************************************************************************
2
3    Atari Jaguar object processor
4
5****************************************************************************/
6
7#ifndef INCLUDE_OBJECT_PROCESSOR
8#error jagobj.c is not directly compilable!
9#endif
10
11
12#define LOG_OBJECTS         0
13
14
15/*************************************
16 *
17 *  Object processor init
18 *
19 *************************************/
20
21void jaguar_state::jagobj_init()
22{
23   int i;
24
25   /* fill tables */
26   for (i = 0; i < 256 * 256; i++)
27   {
28      int y = (i >> 8) & 0xff;
29      int dy = (INT8)i;
30      int c1 = (i >> 8) & 0x0f;
31      int dc1 = (INT8)(i << 4) >> 4;
32      int c2 = (i >> 12) & 0x0f;
33      int dc2 = (INT8)(i & 0xf0) >> 4;
34
35      y += dy;
36      if (y < 0) y = 0;
37      else if (y > 0xff) y = 0xff;
38      m_blend_y[i] = y;
39
40      c1 += dc1;
41      if (c1 < 0) c1 = 0;
42      else if (c1 > 0x0f) c1 = 0x0f;
43      c2 += dc2;
44      if (c2 < 0) c2 = 0;
45      else if (c2 > 0x0f) c2 = 0x0f;
46      m_blend_cc[i] = (c2 << 4) | c1;
47   }
48}
49
50
51
52/*************************************
53 *
54 *  Blending function
55 *
56 *************************************/
57
58#define BLEND(dst, src)     \
59   (dst) = (m_blend_cc[((dst) & 0xff00) | (((src) >> 8) & 0xff)] << 8) | m_blend_y[(((dst) & 0xff) << 8) | ((src) & 0xff)];
60
61
62
63/*************************************
64 *
65 *  4bpp bitmap renderers
66 *
67 *************************************/
68
69inline void jaguar_state::bitmap_4_draw(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT8 flags, INT32 dxpos, UINT16 *clutbase)
70{
71   if (firstpix & 7)
72   {
73      UINT32 pixsrc = src[firstpix >> 3];
74      while (firstpix & 7)
75      {
76         int pix = (pixsrc >> ((~firstpix & 7) << 2)) & 0x0f;
77         if ((!(flags & 4) || pix) && (UINT32)xpos < 760)
78         {
79            if (!(flags & 2))
80               scanline[xpos] = clutbase[BYTE_XOR_BE(pix)];
81            else
82               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix)]);
83         }
84         xpos += dxpos;
85         firstpix++;
86      }
87   }
88
89   firstpix >>= 3;
90   iwidth >>= 3;
91   iwidth -= firstpix;
92
93   while (iwidth-- > 0)
94   {
95      UINT32 pix = src[firstpix++];
96      if (!(flags & 4) || pix)
97      {
98         if ((!(flags & 4) || (pix & 0xf0000000)) && (UINT32)xpos < 760)
99         {
100            if (!(flags & 2))
101               scanline[xpos] = clutbase[BYTE_XOR_BE(pix >> 28)];
102            else
103               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix >> 28)]);
104         }
105         xpos += dxpos;
106
107         if ((!(flags & 4) || (pix & 0x0f000000)) && (UINT32)xpos < 760)
108         {
109            if (!(flags & 2))
110               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 24) & 0x0f)];
111            else
112               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 24) & 0x0f)]);
113         }
114         xpos += dxpos;
115
116         if ((!(flags & 4) || (pix & 0x00f00000)) && (UINT32)xpos < 760)
117         {
118            if (!(flags & 2))
119               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 20) & 0x0f)];
120            else
121               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 20) & 0x0f)]);
122         }
123         xpos += dxpos;
124
125         if ((!(flags & 4) || (pix & 0x000f0000)) && (UINT32)xpos < 760)
126         {
127            if (!(flags & 2))
128               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 16) & 0x0f)];
129            else
130               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 16) & 0x0f)]);
131         }
132         xpos += dxpos;
133
134         if ((!(flags & 4) || (pix & 0x0000f000)) && (UINT32)xpos < 760)
135         {
136            if (!(flags & 2))
137               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 12) & 0x0f)];
138            else
139               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 12) & 0x0f)]);
140         }
141         xpos += dxpos;
142
143         if ((!(flags & 4) || (pix & 0x00000f00)) && (UINT32)xpos < 760)
144         {
145            if (!(flags & 2))
146               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 8) & 0x0f)];
147            else
148               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 8) & 0x0f)]);
149         }
150         xpos += dxpos;
151
152         if ((!(flags & 4) || (pix & 0x000000f0)) && (UINT32)xpos < 760)
153         {
154            if (!(flags & 2))
155               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 4) & 0x0f)];
156            else
157               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 4) & 0x0f)]);
158         }
159         xpos += dxpos;
160
161         if ((!(flags & 4) || (pix & 0x0000000f)) && (UINT32)xpos < 760)
162         {
163            if (!(flags & 2))
164               scanline[xpos] = clutbase[BYTE_XOR_BE(pix & 0x0f)];
165            else
166               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix & 0x0f)]);
167         }
168         xpos += dxpos;
169      }
170      else
171         xpos += dxpos << 3;
172   }
173}
174
175void jaguar_state::bitmap_4_0(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
176{
177   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 0, 1, clutbase);
178}
179
180void jaguar_state::bitmap_4_1(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
181{
182   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 1, -1, clutbase);
183}
184
185void jaguar_state::bitmap_4_2(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
186{
187   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 2, 1, clutbase);
188}
189
190void jaguar_state::bitmap_4_3(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
191{
192   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 3, -1, clutbase);
193}
194
195void jaguar_state::bitmap_4_4(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
196{
197   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 4, 1, clutbase);
198}
199
200void jaguar_state::bitmap_4_5(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
201{
202   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 5, -1, clutbase);
203}
204
205void jaguar_state::bitmap_4_6(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
206{
207   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 6, 1, clutbase);
208}
209
210void jaguar_state::bitmap_4_7(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
211{
212   bitmap_4_draw(scanline, firstpix, iwidth, src, xpos, 7, -1, clutbase);
213}
214
215void (jaguar_state::*const jaguar_state::bitmap4[8])(UINT16 *, INT32, INT32, UINT32 *, INT32, UINT16 *) =
216{
217   &jaguar_state::bitmap_4_0,
218   &jaguar_state::bitmap_4_1,
219   &jaguar_state::bitmap_4_2,
220   &jaguar_state::bitmap_4_3,
221   &jaguar_state::bitmap_4_4,
222   &jaguar_state::bitmap_4_5,
223   &jaguar_state::bitmap_4_6,
224   &jaguar_state::bitmap_4_7
225};
226
227
228
229/*************************************
230 *
231 *  8bpp bitmap renderers
232 *
233 *************************************/
234
235inline void jaguar_state::bitmap_8_draw(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT8 flags, INT32 dxpos, UINT16 *clutbase)
236{
237   if (firstpix & 3)
238   {
239      UINT32 pixsrc = src[firstpix >> 2];
240      while (firstpix & 3)
241      {
242         UINT8 pix = pixsrc >> ((~firstpix & 3) << 3);
243         if ((!(flags & 4) || pix) && (UINT32)xpos < 760)
244         {
245            if (!(flags & 2))
246               scanline[xpos] = clutbase[BYTE_XOR_BE(pix)];
247            else
248               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix)]);
249         }
250         xpos += dxpos;
251         firstpix++;
252      }
253   }
254
255   firstpix >>= 2;
256   iwidth >>= 2;
257   iwidth -= firstpix;
258
259   while (iwidth-- > 0)
260   {
261      UINT32 pix = src[firstpix++];
262      if (!(flags & 4) || pix)
263      {
264         if ((!(flags & 4) || (pix & 0xff000000)) && (UINT32)xpos < 760)
265         {
266            if (!(flags & 2))
267               scanline[xpos] = clutbase[BYTE_XOR_BE(pix >> 24)];
268            else
269               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix >> 24)]);
270         }
271         xpos += dxpos;
272
273         if ((!(flags & 4) || (pix & 0x00ff0000)) && (UINT32)xpos < 760)
274         {
275            if (!(flags & 2))
276               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 16) & 0xff)];
277            else
278               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 16) & 0xff)]);
279         }
280         xpos += dxpos;
281
282         if ((!(flags & 4) || (pix & 0x0000ff00)) && (UINT32)xpos < 760)
283         {
284            if (!(flags & 2))
285               scanline[xpos] = clutbase[BYTE_XOR_BE((pix >> 8) & 0xff)];
286            else
287               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE((pix >> 8) & 0xff)]);
288         }
289         xpos += dxpos;
290
291         if ((!(flags & 4) || (pix & 0x000000ff)) && (UINT32)xpos < 760)
292         {
293            if (!(flags & 2))
294               scanline[xpos] = clutbase[BYTE_XOR_BE(pix & 0xff)];
295            else
296               BLEND(scanline[xpos], clutbase[BYTE_XOR_BE(pix & 0xff)]);
297         }
298         xpos += dxpos;
299      }
300      else
301         xpos += dxpos << 2;
302   }
303}
304
305void jaguar_state::bitmap_8_0(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
306{
307   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 0, 1, clutbase);
308}
309
310void jaguar_state::bitmap_8_1(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
311{
312   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 1, -1, clutbase);
313}
314
315void jaguar_state::bitmap_8_2(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
316{
317   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 2, 1, clutbase);
318}
319
320void jaguar_state::bitmap_8_3(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
321{
322   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 3, -1, clutbase);
323}
324
325void jaguar_state::bitmap_8_4(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
326{
327   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 4, 1, clutbase);
328}
329
330void jaguar_state::bitmap_8_5(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
331{
332   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 5, -1, clutbase);
333}
334
335void jaguar_state::bitmap_8_6(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
336{
337   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 6, 1, clutbase);
338}
339
340void jaguar_state::bitmap_8_7(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT16 *clutbase)
341{
342   bitmap_8_draw(scanline, firstpix, iwidth, src, xpos, 7, -1, clutbase);
343}
344
345void (jaguar_state::*const jaguar_state::bitmap8[8])(UINT16 *, INT32, INT32, UINT32 *, INT32, UINT16 *) =
346{
347   &jaguar_state::bitmap_8_0,
348   &jaguar_state::bitmap_8_1,
349   &jaguar_state::bitmap_8_2,
350   &jaguar_state::bitmap_8_3,
351   &jaguar_state::bitmap_8_4,
352   &jaguar_state::bitmap_8_5,
353   &jaguar_state::bitmap_8_6,
354   &jaguar_state::bitmap_8_7
355};
356
357
358
359/*************************************
360 *
361 *  16bpp bitmap renderers
362 *
363 *************************************/
364
365inline void jaguar_state::bitmap_16_draw(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT8 flags, INT32 dxpos)
366{
367   if (firstpix & 1)
368   {
369      UINT16 pix = src[firstpix >> 1];
370      if ((!(flags & 4) || pix) && (UINT32)xpos < 760)
371      {
372         if (!(flags & 2))
373            scanline[xpos] = pix;
374         else
375            BLEND(scanline[xpos], pix);
376      }
377      xpos += dxpos;
378   }
379
380   firstpix >>= 1;
381   iwidth >>= 1;
382   iwidth -= firstpix;
383
384   while (iwidth-- > 0)
385   {
386      UINT32 pix = src[firstpix++];
387      if (!(flags & 4) || pix)
388      {
389         if ((!(flags & 4) || (pix >> 16)) && (UINT32)xpos < 760)
390         {
391            if (!(flags & 2))
392               scanline[xpos] = pix >> 16;
393            else
394               BLEND(scanline[xpos], pix >> 16);
395         }
396         xpos += dxpos;
397
398         if ((!(flags & 4) || (pix & 0xffff)) && (UINT32)xpos < 760)
399         {
400            if (!(flags & 2))
401               scanline[xpos] = pix;
402            else
403               BLEND(scanline[xpos], pix);
404         }
405         xpos += dxpos;
406      }
407      else
408         xpos += dxpos << 1;
409   }
410}
411
412void jaguar_state::bitmap_16_0(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
413{
414   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 0, 1);
415}
416
417void jaguar_state::bitmap_16_1(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
418{
419   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 1, -1);
420}
421
422void jaguar_state::bitmap_16_2(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
423{
424   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 2, 1);
425}
426
427void jaguar_state::bitmap_16_3(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
428{
429   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 3, -1);
430}
431
432void jaguar_state::bitmap_16_4(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
433{
434   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 4, 1);
435}
436
437void jaguar_state::bitmap_16_5(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
438{
439   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 5, -1);
440}
441
442void jaguar_state::bitmap_16_6(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
443{
444   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 6, 1);
445}
446
447void jaguar_state::bitmap_16_7(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
448{
449   bitmap_16_draw(scanline, firstpix, iwidth, src, xpos, 7, -1);
450}
451
452void (jaguar_state::*const jaguar_state::bitmap16[8])(UINT16 *, INT32, INT32, UINT32 *, INT32) =
453{
454   &jaguar_state::bitmap_16_0,
455   &jaguar_state::bitmap_16_1,
456   &jaguar_state::bitmap_16_2,
457   &jaguar_state::bitmap_16_3,
458   &jaguar_state::bitmap_16_4,
459   &jaguar_state::bitmap_16_5,
460   &jaguar_state::bitmap_16_6,
461   &jaguar_state::bitmap_16_7
462};
463
464
465
466
467
468/*************************************
469 *
470 *  32bpp bitmap renderers - needs to be verified
471 *
472 *************************************/
473
474inline void jaguar_state::bitmap_32_draw(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos, UINT8 flags, INT32 dxpos)
475{
476   iwidth -= firstpix;
477
478   while (iwidth-- > 0)
479   {
480      UINT32 pix = src[firstpix++];
481
482      if (xpos < 760)
483      {
484         scanline[xpos++] = (pix&0xffff0000)>>16;
485         scanline[xpos++] = pix&0xffff;
486      }
487   }
488}
489
490void jaguar_state::bitmap_32_0(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
491{
492   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 0, 1);
493}
494
495void jaguar_state::bitmap_32_1(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
496{
497   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 1, -1);
498}
499
500void jaguar_state::bitmap_32_2(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
501{
502   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 2, 1);
503}
504
505void jaguar_state::bitmap_32_3(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
506{
507   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 3, -1);
508}
509
510void jaguar_state::bitmap_32_4(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
511{
512   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 4, 1);
513}
514
515void jaguar_state::bitmap_32_5(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
516{
517   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 5, -1);
518}
519
520void jaguar_state::bitmap_32_6(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
521{
522   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 6, 1);
523}
524
525void jaguar_state::bitmap_32_7(UINT16 *scanline, INT32 firstpix, INT32 iwidth, UINT32 *src, INT32 xpos)
526{
527   bitmap_32_draw(scanline, firstpix, iwidth, src, xpos, 7, -1);
528}
529
530void (jaguar_state::*const jaguar_state::bitmap32[8])(UINT16 *, INT32, INT32, UINT32 *, INT32) =
531{
532   &jaguar_state::bitmap_32_0,
533   &jaguar_state::bitmap_32_1,
534   &jaguar_state::bitmap_32_2,
535   &jaguar_state::bitmap_32_3,
536   &jaguar_state::bitmap_32_4,
537   &jaguar_state::bitmap_32_5,
538   &jaguar_state::bitmap_32_6,
539   &jaguar_state::bitmap_32_7
540};
541
542
543
544static inline UINT8 lookup_pixel(const UINT32 *src, int i, int pitch, int depth)
545{
546   int ppl     = 32 / depth;
547   UINT32 data = src[((i & ppl) / ppl) + ((i / (ppl<<1)) * (pitch<<1))];
548   UINT8 pix   = (data >> ((~i & (ppl-1)) * depth)) & ((1 << depth) - 1);
549   return pix;
550}
551
552
553
554/*************************************
555 *
556 *  Standard bitmap processor
557 *
558 *************************************/
559
560UINT32 *jaguar_state::process_bitmap(UINT16 *scanline, UINT32 *objdata, int vc, int logit)
561{
562   /* extract minimal data */
563   UINT32 upper = objdata[0];
564   UINT32 lower = objdata[1];
565   UINT32 ypos = (lower >> 3) & 0x7ff;
566   UINT32 height = (lower >> 14) & 0x3ff;
567   UINT32 link = (lower >> 24) | ((upper & 0x7ff) << 8);
568   UINT32 data = (upper >> 11);
569   UINT32 *src = (UINT32 *)memory_base(data << 3);
570
571   if (logit)
572   {
573      /* second phrase */
574      UINT32 upper2 = objdata[2];
575      UINT32 lower2 = objdata[3];
576
577      /* extract data */
578      INT32 xpos = (INT32)(lower2 << 20) >> 20;
579      UINT8 depth = 1 << ((lower2 >> 12) & 7);
580      UINT8 pitch = (lower2 >> 15) & 7;
581      UINT32 dwidth = (lower2 >> 18) & 0x3ff;
582      INT32 iwidth = (lower2 >> 28) | ((upper2 & 0x3f) << 4);
583      UINT8 _index = (upper2 >> 6) & 0x3f;
584      UINT8 flags = (upper2 >> 13) & 0x0f;
585      UINT8 firstpix = (upper2 >> 17) & 0x3f;
586
587      logerror("        ypos=%X height=%X link=%06X data=%06X\n", ypos, height, link << 3, data << 3);
588      logerror("        xpos=%X depth=%X pitch=%X dwidth=%X iwidth=%X index=%X flags=%X firstpix=%X\n", xpos, depth, pitch, dwidth, iwidth, _index, flags, firstpix);
589   }
590
591   /* only render if valid */
592   if (vc >= ypos && height > 0 && src)
593   {
594      /* second phrase */
595      UINT32 upper2 = objdata[2];
596      UINT32 lower2 = objdata[3];
597
598      /* extract data */
599      INT32 xpos = (INT32)(lower2 << 20) >> 20;
600      UINT8 depthlog = (lower2 >> 12) & 7;
601      UINT8 pitch = (lower2 >> 15) & 7;
602      UINT32 dwidth = (lower2 >> 18) & 0x3ff;
603      UINT32 iwidth = ((lower2 >> 28) | ((upper2 & 0x3f) << 4)) << (6 - depthlog);
604      UINT8 _index = (upper2 >> 5) & 0xfe;
605      UINT8 flags = (upper2 >> 13) & 0x07;
606      UINT8 firstpix = ((upper2 >> 17) & 0x3f) >> depthlog;
607      int i, dxpos = (flags & 1) ? -1 : 1;
608
609      /* preadjust for firstpix */
610      xpos += firstpix * dxpos;
611
612      /* switch off the depth */
613      switch (depthlog)
614      {
615         /* 1bpp case */
616         case 0:
617         {
618            UINT16 *clut = (UINT16 *)&m_gpu_clut[0] + _index;
619
620            /* non-blending */
621            if (!(flags & 2))
622            {
623               for (i = firstpix; i < iwidth; i++)
624               {
625                  UINT8 pix = lookup_pixel(src, i, pitch, 1);
626
627                  if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
628                     scanline[xpos] = clut[BYTE_XOR_BE(pix)];
629                  xpos += dxpos;
630               }
631            }
632
633            /* blending */
634            else
635            {
636               for (i = firstpix; i < iwidth; i++)
637               {
638                  UINT8 pix = lookup_pixel(src, i, pitch, 1);
639
640                  if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
641                     BLEND(scanline[xpos], clut[BYTE_XOR_BE(pix)]);
642                  xpos += dxpos;
643               }
644            }
645            break;
646         }
647
648         /* 2bpp case */
649         case 1:
650         {
651            UINT16 *clut = (UINT16 *)&m_gpu_clut[0] + (_index & 0xfc);
652
653            /* non-blending */
654            if (!(flags & 2))
655            {
656               for (i = firstpix; i < iwidth; i++)
657               {
658                  UINT8 pix = lookup_pixel(src, i, pitch, 2);
659
660                  if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
661                     scanline[xpos] = clut[BYTE_XOR_BE(pix)];
662                  xpos += dxpos;
663               }
664            }
665
666            /* blending */
667            else
668            {
669               for (i = firstpix; i < iwidth; i++)
670               {
671                  UINT8 pix = lookup_pixel(src, i, pitch, 2);
672
673                  if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
674                     BLEND(scanline[xpos], clut[BYTE_XOR_BE(pix)]);
675                  xpos += dxpos;
676               }
677            }
678            break;
679         }
680
681         /* 4bpp case */
682         case 2:
683            /* only handle pitch=1 for now */
684            if (pitch != 1)
685               logerror("Unhandled pitch = %d\n", pitch);
686
687            (this->*bitmap4[flags])(scanline, firstpix, iwidth, src, xpos, (UINT16 *)&m_gpu_clut[0] + (_index & 0xf8));
688            break;
689
690         /* 8bpp case */
691         case 3:
692            /* only handle pitch=1 for now */
693            if (pitch != 1)
694               logerror("Unhandled pitch = %d\n", pitch);
695
696            (this->*bitmap8[flags])(scanline, firstpix, iwidth, src, xpos, (UINT16 *)&m_gpu_clut[0]);
697            break;
698
699         /* 16bpp case */
700         case 4:
701            /* only handle pitch=1 for now */
702            if (pitch != 1)
703               logerror("Unhandled pitch = %d\n", pitch);
704
705            (this->*bitmap16[flags])(scanline, firstpix, iwidth, src, xpos);
706            break;
707
708         /* 32bpp case */
709         case 5:
710            /* only handle pitch=1 for now */
711            if (pitch != 1)
712               logerror("Unhandled pitch = %d\n", pitch);
713
714            (this->*bitmap32[flags])(scanline, firstpix, iwidth, src, xpos);
715            break;
716
717         default:
718            fprintf(stderr, "Unhandled bitmap source depth = %d\n", depthlog);
719            break;
720      }
721
722      /* decrement the height and add to the source data offset */
723      objdata[0] = upper + (dwidth << 11);
724      objdata[1] = lower - (1 << 14);
725   }
726
727   return (UINT32 *)memory_base(link << 3);
728}
729
730
731
732/*************************************
733 *
734 *  Scaled bitmap object processor
735 *
736 *************************************/
737
738UINT32 *jaguar_state::process_scaled_bitmap(UINT16 *scanline, UINT32 *objdata, int vc, int logit)
739{
740   /* extract data */
741   UINT32 upper = objdata[0];
742   UINT32 lower = objdata[1];
743   UINT32 ypos = (lower >> 3) & 0x7ff;
744   UINT32 height = (lower >> 14) & 0x3ff;
745   UINT32 link = (lower >> 24) | ((upper & 0x7ff) << 8);
746   UINT32 data = (upper >> 11);
747   UINT32 *src = (UINT32 *)memory_base(data << 3);
748
749   /* third phrase */
750   UINT32 lower3 = objdata[5];
751   INT32 remainder = (lower3 >> 16) & 0xff;
752
753   if (logit)
754   {
755      /* second phrase */
756      UINT32 upper2 = objdata[2];
757      UINT32 lower2 = objdata[3];
758
759      /* extract data */
760      INT32 xpos = (INT32)(lower2 << 20) >> 20;
761      UINT8 depth = 1 << ((lower2 >> 12) & 7);
762      UINT8 pitch = (lower2 >> 15) & 7;
763      UINT32 dwidth = (lower2 >> 18) & 0x3ff;
764      INT32 iwidth = (lower2 >> 28) | ((upper2 & 0x3f) << 4);
765      UINT8 _index = (upper2 >> 6) & 0x3f;
766      UINT8 flags = (upper2 >> 13) & 0x0f;
767      UINT8 firstpix = (upper2 >> 17) & 0x3f;
768
769      INT32 hscale = lower3 & 0xff;
770      INT32 vscale = (lower3 >> 8) & 0xff;
771
772      logerror("        ypos=%X height=%X link=%06X data=%06X\n", ypos, height, link << 3, data << 3);
773      logerror("        xpos=%X depth=%X pitch=%X dwidth=%X iwidth=%X index=%X flags=%X firstpix=%X\n", xpos, depth, pitch, dwidth, iwidth, _index, flags, firstpix);
774      logerror("        hscale=%X vscale=%X remainder=%X\n", hscale, vscale, remainder);
775   }
776
777   /* only render if valid */
778   if (vc >= ypos && (height > 0 || remainder > 0) && src)
779   {
780      /* second phrase */
781      UINT32 upper2 = objdata[2];
782      UINT32 lower2 = objdata[3];
783
784      /* extract data */
785      INT32 xpos = (INT32)(lower2 << 20) >> 20;
786      UINT8 depthlog = (lower2 >> 12) & 7;
787      UINT8 pitch = (lower2 >> 15) & 7;
788      UINT32 dwidth = (lower2 >> 18) & 0x3ff;
789      INT32 iwidth = ((lower2 >> 28) | ((upper2 & 0x3f) << 4)) << (6 - depthlog);
790      UINT8 _index = (upper2 >> 5) & 0xfe;
791      UINT8 flags = (upper2 >> 13) & 0x07;
792      UINT8 firstpix = ((upper2 >> 17) & 0x3f) >> depthlog;
793
794      INT32 hscale = lower3 & 0xff;
795      INT32 vscale = (lower3 >> 8) & 0xff;
796      INT32 xleft = hscale;
797      int dxpos = (flags & 1) ? -1 : 1;
798      int xpix = firstpix, yinc;
799
800      /* only handle pitch=1 (sequential data) for now */
801      if (pitch != 1)
802         logerror("Unhandled pitch = %d\n", pitch);
803      if (flags & 2)
804      {
805         mame_printf_debug("Unhandled blend mode in scaled bitmap case\n");
806         logerror("Unhandled blend mode in scaled bitmap case\n");
807      }
808
809      /* preadjust for firstpix */
810      xpos += firstpix * dxpos;
811
812      /* ignore hscale = 0 */
813      if (hscale != 0)
814      {
815         /* switch off the depth */
816         switch (depthlog)
817         {
818            case 0:
819            {
820               UINT16 *clut = (UINT16 *)&m_gpu_clut[0] + _index;
821
822               /* render in phrases */
823               while (xpix < iwidth)
824               {
825                  UINT16 pix = (src[xpix >> 5] >> (~xpix & 31)) & 0x01;
826
827                  while (xleft > 0)
828                  {
829                     if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
830                        scanline[xpos] = clut[BYTE_XOR_BE(pix)];
831                     xpos += dxpos;
832                     xleft -= 0x20;
833                  }
834                  while (xleft <= 0)
835                     xleft += hscale, xpix++;
836               }
837               break;
838            }
839
840            case 1:
841            {
842               UINT16 *clut = (UINT16 *)&m_gpu_clut[0] + (_index & 0xfc);
843
844               /* render in phrases */
845               while (xpix < iwidth)
846               {
847                  UINT16 pix = (src[xpix >> 4] >> ((~xpix & 15) << 1)) & 0x03;
848
849                  while (xleft > 0)
850                  {
851                     if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
852                        scanline[xpos] = clut[BYTE_XOR_BE(pix)];
853                     xpos += dxpos;
854                     xleft -= 0x20;
855                  }
856                  while (xleft <= 0)
857                     xleft += hscale, xpix++;
858               }
859               break;
860            }
861
862            case 2:
863            {
864               UINT16 *clut = (UINT16 *)&m_gpu_clut[0] + (_index & 0xf8);
865
866               /* render in phrases */
867               while (xpix < iwidth)
868               {
869                  UINT16 pix = (src[xpix >> 3] >> ((~xpix & 7) << 2)) & 0x0f;
870
871                  while (xleft > 0)
872                  {
873                     if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
874                        scanline[xpos] = clut[BYTE_XOR_BE(pix)];
875                     xpos += dxpos;
876                     xleft -= 0x20;
877                  }
878                  while (xleft <= 0)
879                     xleft += hscale, xpix++;
880               }
881               break;
882            }
883
884            case 3:
885            {
886               UINT16 *clut = (UINT16 *)&m_gpu_clut[0];
887
888               /* render in phrases */
889               while (xpix < iwidth)
890               {
891                  UINT16 pix = (src[xpix >> 2] >> ((~xpix & 3) << 3)) & 0xff;
892
893                  while (xleft > 0)
894                  {
895                     if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
896                        scanline[xpos] = clut[BYTE_XOR_BE(pix)];
897                     xpos += dxpos;
898                     xleft -= 0x20;
899                  }
900                  while (xleft <= 0)
901                     xleft += hscale, xpix++;
902               }
903               break;
904            }
905
906            case 4:
907               while (xpix < iwidth)
908               {
909                  UINT16 pix = src[xpix >> 1] >> ((~xpix & 1) << 4);
910
911                  while (xleft > 0)
912                  {
913                     if (xpos >= 0 && xpos < 760 && (pix || !(flags & 4)))
914                        scanline[xpos] = pix;
915                     xpos += dxpos;
916                     xleft -= 0x20;
917                  }
918                  while (xleft <= 0)
919                     xleft += hscale, xpix++;
920               }
921               break;
922
923            default:
924               fprintf(stderr, "Unhandled scaled bitmap source depth = %d\n", depthlog);
925               break;
926         }
927      }
928
929      /* handle Y scale */
930      remainder -= 0x20;
931      yinc = 0;
932      while (remainder <= 0 && vscale != 0)
933         remainder += vscale, yinc++;
934      if (yinc > height)
935         yinc = height, remainder = 0;
936
937      /* decrement the height and add to the source data offset */
938      objdata[0] = upper + yinc * (dwidth << 11);
939      objdata[1] = lower - yinc * (1 << 14);
940      objdata[5] = (lower3 & ~0xff0000) | ((remainder & 0xff) << 16);
941   }
942
943   return (UINT32 *)memory_base(link << 3);
944}
945
946
947
948/*************************************
949 *
950 *  Branch object processor
951 *
952 *************************************/
953
954UINT32 *jaguar_state::process_branch(UINT32 *objdata, int vc, int logit)
955{
956   UINT32 upper = objdata[0];
957   UINT32 lower = objdata[1];
958   UINT32 ypos = (lower >> 3) & 0x7ff;
959   UINT32 cc = (lower >> 14) & 7;
960   UINT32 link = (lower >> 24) | ((upper & 0x7ff) << 8);
961   int taken = 0;
962
963//  if ((ypos & 1) && ypos != 0x7ff)
964//      fprintf(stderr, "        branch cc=%d ypos=%X link=%06X - \n", cc, ypos, link << 3);
965
966   switch (cc)
967   {
968      /* 0: branch if ypos == vc or ypos == 0x7ff */
969      case 0:
970         if (logit) logerror("        branch if %X == vc or %X == 0x7ff to %06X\n", ypos, ypos, link << 3);
971         taken = (ypos == vc) || (ypos == 0x7ff);
972         break;
973
974      /* 1: branch if ypos > vc */
975      case 1:
976         if (logit) logerror("        branch if %X > vc to %06X\n", ypos, link << 3);
977         taken = (ypos > vc);
978         break;
979
980      /* 2: branch if ypos < vc */
981      case 2:
982         if (logit) logerror("        branch if %X < vc to %06X\n", ypos, link << 3);
983         taken = (ypos < vc);
984         break;
985
986      /* 3: branch if object processor flag is set */
987      case 3:
988         if (logit) logerror("        branch if object flag set to %06X\n", link << 3);
989         taken = m_gpu_regs[OBF] & 1;
990         break;
991
992      /* 4: branch on second half of display line */
993      case 4:
994         if (logit) logerror("        branch if second half of line to %06X\n", link << 3);
995         taken = (vc & 1);
996         break;
997
998      default:
999         fprintf(stderr, "Invalid branch!\n");
1000         link = 0; taken = 1;
1001         break;
1002   }
1003
1004   /* handle the branch */
1005   return taken ? (UINT32 *)memory_base(link << 3) : (objdata + 2);
1006}
1007
1008
1009
1010/*************************************
1011 *
1012 *  Process object list
1013 *
1014 *************************************/
1015
1016void jaguar_state::process_object_list(int vc, UINT16 *scanline)
1017{
1018   int done = 0, count = 0;
1019   UINT32 *objdata;
1020   int logit;
1021   int x;
1022
1023   /* erase the scanline first */
1024   for (x = 0; x < 760; x++)
1025      scanline[x] = m_gpu_regs[BG];
1026
1027   logit = LOG_OBJECTS;
1028
1029   /* fetch the object pointer */
1030   objdata = (UINT32 *)memory_base((m_gpu_regs[OLP_H] << 16) | m_gpu_regs[OLP_L]);
1031   while (!done && objdata && count++ < 100)
1032   {
1033      /* the low 3 bits determine the command */
1034      switch (objdata[1] & 7)
1035      {
1036         /* bitmap object */
1037         case 0:
1038            if (logit)
1039               logerror("bitmap = %08X-%08X %08X-%08X\n", objdata[0], objdata[1], objdata[2], objdata[3]);
1040            objdata = process_bitmap(scanline, objdata, vc, logit);
1041            break;
1042
1043         /* scaled bitmap object */
1044         case 1:
1045            if (logit)
1046               logerror("scaled = %08X-%08X %08X-%08X %08X-%08X\n", objdata[0], objdata[1], objdata[2], objdata[3], objdata[4], objdata[5]);
1047            objdata = process_scaled_bitmap(scanline, objdata, vc, logit);
1048            break;
1049
1050
1051         /* GPU interrupt */
1052         case 2:
1053            m_gpu_regs[OB_HH]=(objdata[1]&0xffff0000)>>16;
1054            m_gpu_regs[OB_HL]=objdata[1]&0xffff;
1055            m_gpu_regs[OB_LH]=(objdata[0]&0xffff0000)>>16;
1056            m_gpu_regs[OB_LL]=objdata[0]&0xffff;
1057            m_cpu_irq_state |= 2;
1058            update_cpu_irq();
1059            done=1;
1060            break;
1061
1062         /* branch */
1063         case 3:
1064            if (logit)
1065               logerror("branch = %08X-%08X\n", objdata[0], objdata[1]);
1066            objdata = process_branch(objdata, vc, logit);
1067            break;
1068
1069         /* stop */
1070         case 4:
1071         {
1072            int interrupt = (objdata[1] >> 3) & 1;
1073            done = 1;
1074
1075            if (logit)
1076               logerror("stop   = %08X-%08X\n", objdata[0], objdata[1]);
1077            if (interrupt)
1078            {
1079//                  fprintf(stderr, "stop int=%d\n", interrupt);
1080               m_cpu_irq_state |= 4;
1081               update_cpu_irq();
1082            }
1083            break;
1084         }
1085
1086         default:
1087            fprintf(stderr, "%08X %08X\n", objdata[0], objdata[1]);
1088            done = 1;
1089            break;
1090      }
1091   }
1092}
Property changes on: trunk/src/mame/video/jagobj.inc
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/mame/video/model2.c
r23775r23776
855855/* checker = 0, textured = 0, transparent = 0 */
856856#define MODEL2_FUNC 0
857857#define MODEL2_FUNC_NAME    model2_3d_render_0
858#include "model2rd.c"
858#include "model2rd.inc"
859859#undef MODEL2_FUNC
860860#undef MODEL2_FUNC_NAME
861861
862862/* checker = 0, textured = 0, translucent = 1 */
863863#define MODEL2_FUNC 1
864864#define MODEL2_FUNC_NAME    model2_3d_render_1
865#include "model2rd.c"
865#include "model2rd.inc"
866866#undef MODEL2_FUNC
867867#undef MODEL2_FUNC_NAME
868868
869869/* checker = 0, textured = 1, translucent = 0 */
870870#define MODEL2_FUNC 2
871871#define MODEL2_FUNC_NAME    model2_3d_render_2
872#include "model2rd.c"
872#include "model2rd.inc"
873873#undef MODEL2_FUNC
874874#undef MODEL2_FUNC_NAME
875875
876876/* checker = 0, textured = 1, translucent = 1 */
877877#define MODEL2_FUNC 3
878878#define MODEL2_FUNC_NAME    model2_3d_render_3
879#include "model2rd.c"
879#include "model2rd.inc"
880880#undef MODEL2_FUNC
881881#undef MODEL2_FUNC_NAME
882882
883883/* checker = 1, textured = 0, translucent = 0 */
884884#define MODEL2_FUNC 4
885885#define MODEL2_FUNC_NAME    model2_3d_render_4
886#include "model2rd.c"
886#include "model2rd.inc"
887887#undef MODEL2_FUNC
888888#undef MODEL2_FUNC_NAME
889889
890890/* checker = 1, textured = 0, translucent = 1 */
891891#define MODEL2_FUNC 5
892892#define MODEL2_FUNC_NAME    model2_3d_render_5
893#include "model2rd.c"
893#include "model2rd.inc"
894894#undef MODEL2_FUNC
895895#undef MODEL2_FUNC_NAME
896896
897897/* checker = 1, textured = 1, translucent = 0 */
898898#define MODEL2_FUNC 6
899899#define MODEL2_FUNC_NAME    model2_3d_render_6
900#include "model2rd.c"
900#include "model2rd.inc"
901901#undef MODEL2_FUNC
902902#undef MODEL2_FUNC_NAME
903903
904904/* checker = 1, textured = 1, translucent = 1 */
905905#define MODEL2_FUNC 7
906906#define MODEL2_FUNC_NAME    model2_3d_render_7
907#include "model2rd.c"
907#include "model2rd.inc"
908908#undef MODEL2_FUNC
909909#undef MODEL2_FUNC_NAME
910910
trunk/src/mame/video/model3.c
r23775r23776
966966/*****************************************************************************/
967967/* transformation and rasterizing */
968968
969#include "m3raster.c"
969#include "m3raster.inc"
970970
971971INLINE int is_point_inside(float x, float y, float z, PLANE cp)
972972{
trunk/src/mame/video/rdpfiltr.inc
r0r23776
1INLINE void video_filter16(int *out_r, int *out_g, int *out_b, UINT16* vbuff, UINT8* hbuff, const UINT32 hres);
2INLINE void divot_filter16(UINT8* r, UINT8* g, UINT8* b, UINT16* fbuff, UINT32 fbuff_index);
3INLINE void restore_filter16(INT32* r, INT32* g, INT32* b, UINT16* fbuff, UINT32 fbuff_index, UINT32 hres);
4INLINE void divot_filter16_buffer(INT32* r, INT32* g, INT32* b, Color* vibuffer);
5INLINE void restore_filter16_buffer(INT32* r, INT32* g, INT32* b, Color* vibuff, UINT32 hres);
6INLINE void restore_two(Color* filtered, Color* neighbour);
7INLINE void video_max(UINT32* Pixels, UINT8* max, UINT32* enb);
8INLINE UINT32 ge_two(UINT32 enb);
9
10INLINE void video_filter16(int *out_r, int *out_g, int *out_b, UINT16* vbuff, UINT8* hbuff, const UINT32 hres)
11{
12   Color penumax, penumin, max, min;
13   UINT16 pix = *vbuff;
14   const UINT8 centercvg = (*hbuff & 3) + ((pix & 1) << 2) + 1;
15   UINT32 numoffull = 1;
16   UINT32 cvg;
17   UINT32 backr[7], backg[7], backb[7];
18   UINT32 invr[7], invg[7], invb[7];
19   INT32 coeff;
20   INT32 leftup = -hres - 2;
21   INT32 leftdown = hres - 2;
22   INT32 toleft = -2;
23   UINT32 colr, colg, colb;
24   UINT32 enb;
25   UINT32 r = ((pix >> 8) & 0xf8) | (pix >> 13);
26   UINT32 g = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
27   UINT32 b = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
28
29   *out_r = *out_g = *out_b = 0;
30
31   backr[0] = r;
32   backg[0] = g;
33   backb[0] = b;
34   invr[0] = ~r;
35   invg[0] = ~g;
36   invb[0] = ~b;
37
38   if (centercvg == 8)
39   {
40      *out_r = r;
41      *out_g = g;
42      *out_b = b;
43      return;
44   }
45
46   for(int i = 0; i < 5; i++)
47   {
48      pix = vbuff[leftup ^ WORD_ADDR_XOR];
49      cvg = hbuff[leftup ^ BYTE_ADDR_XOR] & 3;
50      if(i & 1)
51      {
52         if (cvg == 3 && (pix & 1))
53         {
54            backr[numoffull] = ((pix >> 8) & 0xf8) | (pix >> 13);
55            backg[numoffull] = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
56            backb[numoffull] = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
57            invr[numoffull] = ~backr[numoffull];
58            invg[numoffull] = ~backg[numoffull];
59            invb[numoffull] = ~backb[numoffull];
60         }
61         else
62         {
63            backr[numoffull] = invr[numoffull] = 0;
64            backg[numoffull] = invg[numoffull] = 0;
65            backb[numoffull] = invb[numoffull] = 0;
66         }
67         numoffull++;
68      }
69      leftup++;
70   }
71
72   for(int i = 0; i < 5; i++)
73   {
74      pix = vbuff[leftdown ^ WORD_ADDR_XOR];
75      cvg = hbuff[leftdown ^ BYTE_ADDR_XOR] & 3;
76      if (i&1)
77      {
78         if (cvg == 3 && (pix & 1))
79         {
80            backr[numoffull] = ((pix >> 8) & 0xf8) | (pix >> 13);
81            backg[numoffull] = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
82            backb[numoffull] = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
83            invr[numoffull] = ~backr[numoffull];
84            invg[numoffull] = ~backg[numoffull];
85            invb[numoffull] = ~backb[numoffull];
86         }
87         else
88         {
89            backr[numoffull] = invr[numoffull] = 0;
90            backg[numoffull] = invg[numoffull] = 0;
91            backb[numoffull] = invb[numoffull] = 0;
92         }
93         numoffull++;
94      }
95      leftdown++;
96   }
97
98   for(int i = 0; i < 5; i++)
99   {
100      pix = vbuff[toleft ^ WORD_ADDR_XOR];
101      cvg = hbuff[toleft ^ BYTE_ADDR_XOR] & 3;
102      if (!(i&3))
103      {
104         if (cvg == 3 && (pix & 1))
105         {
106            backr[numoffull] = ((pix >> 8) & 0xf8) | (pix >> 13);
107            backg[numoffull] = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
108            backb[numoffull] = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
109            invr[numoffull] = ~backr[numoffull];
110            invg[numoffull] = ~backg[numoffull];
111            invb[numoffull] = ~backb[numoffull];
112         }
113         else
114         {
115            backr[numoffull] = invr[numoffull] = 0;
116            backg[numoffull] = invg[numoffull] = 0;
117            backb[numoffull] = invb[numoffull] = 0;
118         }
119         numoffull++;
120      }
121      toleft++;
122   }
123
124   video_max(&backr[0], &max.i.r, &enb);
125   for(int i = 1; i < 7; i++)
126   {
127      if (!((enb >> i) & 1))
128      {
129         backr[i] = 0;
130      }
131   }
132   video_max(&backg[0], &max.i.g, &enb);
133   for (int i = 1; i < 7; i++)
134   {
135      if (!((enb >> i) & 1))
136      {
137         backg[i] = 0;
138      }
139   }
140   video_max(&backb[0], &max.i.b, &enb);
141   for (int i = 1; i < 7; i++)
142   {
143      if (!((enb >> i) & 1))
144      {
145         backb[i] = 0;
146      }
147   }
148   video_max(&invr[0], &min.i.r, &enb);
149   for (int i = 1; i < 7; i++)
150   {
151      if (!((enb >> i) & 1))
152      {
153         backr[i] = 0;
154      }
155   }
156   video_max(&invg[0], &min.i.g, &enb);
157   for (int i = 1; i < 7; i++)
158   {
159      if (!((enb >> i) & 1))
160      {
161         backg[i] = 0;
162      }
163   }
164   video_max(&invb[0], &min.i.b, &enb);
165   for (int i = 1; i < 7; i++)
166   {
167      if (!((enb >> i) & 1))
168      {
169         backb[i] = 0;
170      }
171   }
172
173   video_max(&backr[0], &penumax.i.r, &enb);
174   penumax.i.r = ge_two(enb) ? max.i.r : penumax.i.r;
175
176   video_max(&backg[0], &penumax.i.g, &enb);
177   penumax.i.g = ge_two(enb) ? max.i.g : penumax.i.g;
178
179   video_max(&backb[0], &penumax.i.b, &enb);
180   penumax.i.b = ge_two(enb) ? max.i.b : penumax.i.b;
181
182   video_max(&invr[0], &penumin.i.r, &enb);
183   penumin.i.r = ge_two(enb) ? min.i.r : penumin.i.r;
184
185   video_max(&invg[0], &penumin.i.g, &enb);
186   penumin.i.g = ge_two(enb) ? min.i.g : penumin.i.g;
187
188   video_max(&invb[0], &penumin.i.b, &enb);
189   penumin.i.b = ge_two(enb) ? min.i.b : penumin.i.b;
190
191   penumin.i.r = ~penumin.i.r;
192   penumin.i.g = ~penumin.i.g;
193   penumin.i.b = ~penumin.i.b;
194
195   colr = (UINT32)penumin.i.r + (UINT32)penumax.i.r - (r << 1);
196   colg = (UINT32)penumin.i.g + (UINT32)penumax.i.g - (g << 1);
197   colb = (UINT32)penumin.i.b + (UINT32)penumax.i.b - (b << 1);
198   coeff = 8 - centercvg;
199   colr = (((colr * coeff) + 4) >> 3) + r;
200   colg = (((colg * coeff) + 4) >> 3) + g;
201   colb = (((colb * coeff) + 4) >> 3) + b;
202
203   *out_r = colr & 0xff;
204   *out_g = colg & 0xff;
205   *out_b = colb & 0xff;
206   return;
207}
208
209// This needs to be fixed for endianness.
210INLINE void divot_filter16(UINT8* r, UINT8* g, UINT8* b, UINT16* fbuff, UINT32 fbuff_index)
211{
212   UINT8 leftr, leftg, leftb, rightr, rightg, rightb;
213   UINT16 leftpix, rightpix;
214   UINT16* next, *prev;
215   UINT32 Lsw = fbuff_index & 1;
216   next = (Lsw) ? (UINT16*)(fbuff - 1) : (UINT16*)(fbuff + 3);
217   prev = (Lsw) ? (UINT16*)(fbuff - 3) : (UINT16*)(fbuff + 1);
218   leftpix = *prev;
219   rightpix = *next;
220
221   //leftpix = *(fbuff - 1); //for BE targets
222   //rightpix = *(fbuff + 1);
223
224   leftr = ((leftpix >> 8) & 0xf8) | (leftpix >> 13);
225   leftg = ((leftpix >> 3) & 0xf8) | ((leftpix >>  8) & 0x07);
226   leftb = ((leftpix << 2) & 0xf8) | ((leftpix >>  3) & 0x07);
227   rightr = ((rightpix >> 8) & 0xf8) | (rightpix >> 13);
228   rightg = ((rightpix >> 3) & 0xf8) | ((rightpix >>  8) & 0x07);
229   rightb = ((rightpix << 2) & 0xf8) | ((rightpix >>  3) & 0x07);
230   if ((leftr >= *r && rightr >= leftr) || (leftr >= rightr && *r >= leftr))
231   {
232      *r = leftr; //left = median value
233   }
234   if ((rightr >= *r && leftr >= rightr) || (rightr >= leftr && *r >= rightr))
235   {
236      *r = rightr; //right = median, else *r itself is median
237   }
238   if ((leftg >= *g && rightg >= leftg) || (leftg >= rightg && *g >= leftg))
239   {
240      *g = leftg;
241   }
242   if ((rightg >= *g && leftg >= rightg) || (rightg >= leftg && *g >= rightg))
243   {
244      *g = rightg;
245   }
246   if ((leftb >= *b && rightb >= leftb) || (leftb >= rightb && *b >= leftb))
247   {
248      *b = leftb;
249   }
250   if ((rightb >= *b && leftb >= rightb) || (rightb >= leftb && *b >= rightb))
251   {
252      *b = rightb;
253   }
254}
255
256INLINE void divot_filter16_buffer(int* r, int* g, int* b, Color* vibuffer)
257{
258   Color leftpix = vibuffer[-1];
259   Color rightpix = vibuffer[1];
260   Color filtered = *vibuffer;
261
262   *r = filtered.i.r;
263   *g = filtered.i.g;
264   *b = filtered.i.b;
265   UINT32 leftr = leftpix.i.r;
266   UINT32 leftg = leftpix.i.g;
267   UINT32 leftb = leftpix.i.b;
268   UINT32 rightr = rightpix.i.r;
269   UINT32 rightg = rightpix.i.g;
270   UINT32 rightb = rightpix.i.b;
271
272   if ((leftr >= *r && rightr >= leftr) || (leftr >= rightr && *r >= leftr))
273   {
274      *r = leftr; //left = median value
275   }
276   if ((rightr >= *r && leftr >= rightr) || (rightr >= leftr && *r >= rightr))
277   {
278      *r = rightr; //right = median, else *r itself is median
279   }
280   if ((leftg >= *g && rightg >= leftg) || (leftg >= rightg && *g >= leftg))
281   {
282      *g = leftg;
283   }
284   if ((rightg >= *g && leftg >= rightg) || (rightg >= leftg && *g >= rightg))
285   {
286      *g = rightg;
287   }
288   if ((leftb >= *b && rightb >= leftb) || (leftb >= rightb && *b >= leftb))
289   {
290      *b = leftb;
291   }
292   if ((rightb >= *b && leftb >= rightb) || (rightb >= leftb && *b >= rightb))
293   {
294      *b = rightb;
295   }
296
297   filtered.i.r = *r;
298   filtered.i.g = *g;
299   filtered.i.b = *b;
300}
301
302// Fix me.
303INLINE void restore_filter16(int* r, int* g, int* b, UINT16* fbuff, UINT32 fbuff_index, UINT32 hres)
304{
305   INT32 leftuppix = -hres - 1;
306   INT32 leftdownpix = hres - 1;
307   INT32 toleftpix = -1;
308   UINT8 tempr, tempg, tempb;
309   UINT16 pix;
310   int i;
311
312   UINT8 r5 = *r;
313   UINT8 g5 = *g;
314   UINT8 b5 = *b;
315   r5 &= ~7;
316   g5 &= ~7;
317   b5 &= ~7;
318
319   for (i = 0; i < 3; i++)
320   {
321      pix = fbuff[leftuppix ^ 1];
322      tempr = ((pix >> 8) & 0xf8) | (pix >> 13);
323      tempg = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
324      tempb = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
325      tempr &= ~7;
326      tempg &= ~7;
327      tempb &= ~7;
328      if (tempr > r5)
329      {
330         *r += 1;
331      }
332      if (tempr < r5)
333      {
334         *r -= 1;
335      }
336      if (tempg > g5)
337      {
338         *g += 1;
339      }
340      if (tempg < g5)
341      {
342         *g -= 1;
343      }
344      if (tempb > b5)
345      {
346         *b += 1;
347      }
348      if (tempb < b5)
349      {
350         *b -= 1;
351      }
352      leftuppix++;
353   }
354
355   for (i = 0; i < 3; i++)
356   {
357      pix = fbuff[leftdownpix ^ 1];
358      tempr = ((pix >> 8) & 0xf8) | (pix >> 13);
359      tempg = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
360      tempb = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
361      tempr &= ~7;
362      tempg &= ~7;
363      tempb &= ~7;
364      if (tempr > r5)
365      {
366         *r += 1;
367      }
368      if (tempr < r5)
369      {
370         *r -= 1;
371      }
372      if (tempg > g5)
373      {
374         *g += 1;
375      }
376      if (tempg < g5)
377      {
378         *g -= 1;
379      }
380      if (tempb > b5)
381      {
382         *b += 1;
383      }
384      if (tempb < b5)
385      {
386         *b -= 1;
387      }
388      leftdownpix++;
389   }
390   for(i = 0; i < 3; i++)
391   {
392      if (!(i & 1))
393      {
394         pix = fbuff[toleftpix ^ 1];
395         tempr = ((pix >> 8) & 0xf8) | (pix >> 13);
396         tempg = ((pix >> 3) & 0xf8) | ((pix >>  8) & 0x07);
397         tempb = ((pix << 2) & 0xf8) | ((pix >>  3) & 0x07);
398         tempr &= ~7;
399         tempg &= ~7;
400         tempb &= ~7;
401         if (tempr > r5)
402         {
403            *r += 1;
404         }
405         if (tempr < r5)
406         {
407            *r -= 1;
408         }
409         if (tempg > g5)
410         {
411            *g += 1;
412         }
413         if (tempg < g5)
414         {
415            *g -= 1;
416         }
417         if (tempb > b5)
418         {
419            *b += 1;
420         }
421         if (tempb < b5)
422         {
423            *b -= 1;
424         }
425      }
426      toleftpix++;
427   }
428}
429
430INLINE void restore_filter16_buffer(INT32* r, INT32* g, INT32* b, Color* vibuff, UINT32 hres)
431{
432   Color filtered;
433   Color leftuppix, leftdownpix, leftpix;
434   Color rightuppix, rightdownpix, rightpix;
435   Color uppix, downpix;
436   INT32 ihres = (INT32)hres; //can't apply unary minus to unsigned
437
438   leftuppix = vibuff[-ihres - 1];
439   leftdownpix = vibuff[ihres - 1];
440   leftpix = vibuff[-1];
441
442   rightuppix = vibuff[-ihres + 1];
443   rightdownpix = vibuff[ihres + 1];
444   rightpix = vibuff[1];
445
446   uppix = vibuff[-ihres];
447   downpix = vibuff[ihres];
448   filtered = *vibuff;
449
450   restore_two(&filtered, &leftuppix);
451   restore_two(&filtered, &uppix);
452   restore_two(&filtered, &rightuppix);
453
454   restore_two(&filtered, &leftpix);
455   restore_two(&filtered, &rightpix);
456
457   restore_two(&filtered, &leftdownpix);
458   restore_two(&filtered, &downpix);
459   restore_two(&filtered, &rightdownpix);
460
461   *r = filtered.i.r;
462   *g = filtered.i.g;
463   *b = filtered.i.b;
464
465   if(*r < 0) *r = 0;
466   else if(*r > 255) *r = 255;
467   if(*g < 0) *g = 0;
468   else if(*g > 255) *g = 255;
469   if(*b < 0) *b = 0;
470   else if(*b > 255) *b = 255;
471}
472
473// This is wrong, only the 5 upper bits are compared.
474INLINE void restore_two(Color* filtered, Color* neighbour)
475{
476   if (neighbour->i.r > filtered->i.r)
477   {
478      filtered->i.r += 1;
479   }
480   if (neighbour->i.r < filtered->i.r)
481   {
482      filtered->i.r -= 1;
483   }
484   if (neighbour->i.g > filtered->i.g)
485   {
486      filtered->i.g += 1;
487   }
488   if (neighbour->i.g < filtered->i.g)
489   {
490      filtered->i.g -= 1;
491   }
492   if (neighbour->i.b > filtered->i.b)
493   {
494      filtered->i.b += 1;
495   }
496   if (neighbour->i.b < filtered->i.b)
497   {
498      filtered->i.b -= 1;
499   }
500}
501
502INLINE void video_max(UINT32* Pixels, UINT8* max, UINT32* enb)
503{
504   int i;
505   int pos = 0;
506   *enb = 0;
507   for(i = 0; i < 7; i++)
508   {
509      if (Pixels[i] > Pixels[pos])
510      {
511         *enb += (1 << i);
512         pos = i;
513      }
514      else if (Pixels[i] < Pixels[pos])
515      {
516         *enb += (1 << i);
517      }
518      else
519      {
520         pos = i;
521      }
522   }
523   *max = Pixels[pos];
524}
525
526INLINE UINT32 ge_two(UINT32 enb)
527{
528   if(enb & 1)
529   {
530      if(enb & 2)
531         return 1;
532      if(enb & 4)
533         return 1;
534      if(enb & 8)
535         return 1;
536      if(enb & 16)
537         return 1;
538      if(enb & 32)
539         return 1;
540      if(enb & 64)
541         return 1;
542      if(enb & 128)
543         return 1;
544      return 0;
545   }
546   else if(enb & 2)
547   {
548      if(enb & 4)
549         return 1;
550      if(enb & 8)
551         return 1;
552      if(enb & 16)
553         return 1;
554      if(enb & 32)
555         return 1;
556      if(enb & 64)
557         return 1;
558      if(enb & 128)
559         return 1;
560      return 0;
561   }
562   else if(enb & 4)
563   {
564      if(enb & 8)
565         return 1;
566      if(enb & 16)
567         return 1;
568      if(enb & 32)
569         return 1;
570      if(enb & 64)
571         return 1;
572      if(enb & 128)
573         return 1;
574      return 0;
575   }
576   else if(enb & 8)
577   {
578      if(enb & 16)
579         return 1;
580      if(enb & 32)
581         return 1;
582      if(enb & 64)
583         return 1;
584      if(enb & 128)
585         return 1;
586      return 0;
587   }
588   else if(enb & 16)
589   {
590      if(enb & 32)
591         return 1;
592      if(enb & 64)
593         return 1;
594      if(enb & 128)
595         return 1;
596      return 0;
597   }
598   else if(enb & 32)
599   {
600      if(enb & 64)
601         return 1;
602      if(enb & 128)
603         return 1;
604      return 0;
605   }
606   else if(enb & 64)
607   {
608      if(enb & 128)
609         return 1;
610      return 0;
611   }
612   return 0;
613}
Property changes on: trunk/src/mame/video/rdpfiltr.inc
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/mame/video/jaguar.c
r23775r23776
861861 *************************************/
862862
863863#define INCLUDE_OBJECT_PROCESSOR
864#include "jagobj.c"
864#include "jagobj.inc"
865865
866866
867867
r23775r23776
876876#define COMMAND     command
877877#define A1FIXED     a1flags
878878#define A2FIXED     a2flags
879#include "jagblit.c"
879#include "jagblit.inc"
880880#undef A2FIXED
881881#undef A1FIXED
882882#undef COMMAND
r23775r23776
887887#define COMMAND     0x09800001
888888#define A1FIXED     0x010020
889889#define A2FIXED     0x010020
890#include "jagblit.c"
890#include "jagblit.inc"
891891#undef A2FIXED
892892#undef A1FIXED
893893#undef COMMAND
r23775r23776
897897#define COMMAND     0x09800009
898898#define A1FIXED     0x000020
899899#define A2FIXED     0x000020
900#include "jagblit.c"
900#include "jagblit.inc"
901901#undef A2FIXED
902902#undef A1FIXED
903903#undef COMMAND
r23775r23776
907907#define COMMAND     0x01800009
908908#define A1FIXED     0x000028
909909#define A2FIXED     0x000028
910#include "jagblit.c"
910#include "jagblit.inc"
911911#undef A2FIXED
912912#undef A1FIXED
913913#undef COMMAND
r23775r23776
917917#define COMMAND     0x01800001
918918#define A1FIXED     0x000018
919919#define A2FIXED     0x000018
920#include "jagblit.c"
920#include "jagblit.inc"
921921#undef A2FIXED
922922#undef A1FIXED
923923#undef COMMAND
r23775r23776
927927#define COMMAND     0x01c00001
928928#define A1FIXED     0x000018
929929#define A2FIXED     0x000018
930#include "jagblit.c"
930#include "jagblit.inc"
931931#undef A2FIXED
932932#undef A1FIXED
933933#undef COMMAND
r23775r23776
938938#define COMMAND     0x00010000
939939#define A1FIXED     a1flags
940940#define A2FIXED     a2flags
941#include "jagblit.c"
941#include "jagblit.inc"
942942#undef A2FIXED
943943#undef A1FIXED
944944#undef COMMAND
r23775r23776
948948#define COMMAND     0x01800001
949949#define A1FIXED     a1flags
950950#define A2FIXED     a2flags
951#include "jagblit.c"
951#include "jagblit.inc"
952952#undef A2FIXED
953953#undef A1FIXED
954954#undef COMMAND
r23775r23776
958958#define COMMAND     ((command & 0xf0000f00) | 0x01800001)
959959#define A1FIXED     a1flags
960960#define A2FIXED     a2flags
961#include "jagblit.c"
961#include "jagblit.inc"
962962#undef A2FIXED
963963#undef A1FIXED
964964#undef COMMAND
trunk/src/mame/drivers/galdrvr.c
r23775r23776
1   /*************************************
2   *
3   *  Input Ports
4   *  Galaxian-derived games
5   *
6   *************************************/
7
8static INPUT_PORTS_START( galaxian )
9   PORT_START("IN0")
10   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
11   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
12   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
13   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
14   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
15   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
16   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
17   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
18   PORT_SERVICE( 0x40, IP_ACTIVE_HIGH )
19   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 )
20
21   PORT_START("IN1")
22   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
23   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
24   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
25   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
26   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
27   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
28   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
29   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
30   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
31   PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
32   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
33
34   PORT_START("IN2")
35   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
36   PORT_DIPSETTING(    0x00, "7000" )
37   PORT_DIPSETTING(    0x01, "10000" )
38   PORT_DIPSETTING(    0x02, "12000" )
39   PORT_DIPSETTING(    0x03, "20000" )
40   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
41   PORT_DIPSETTING(    0x00, "2" )
42   PORT_DIPSETTING(    0x04, "3" )
43   PORT_DIPUNUSED( 0x08, 0x00 )
44   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
45INPUT_PORTS_END
46
47static INPUT_PORTS_START( galaxianbl )
48   PORT_INCLUDE(galaxian)
49
50   PORT_MODIFY("IN2")
51   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
52   PORT_DIPSETTING(    0x00, DEF_STR(None) )
53   PORT_DIPSETTING(    0x01, "10000" )
54   PORT_DIPSETTING(    0x02, "20000" )
55   PORT_DIPSETTING(    0x03, "30000" )
56INPUT_PORTS_END
57
58
59static INPUT_PORTS_START( galaxrf )
60   PORT_INCLUDE(galaxian)
61
62   PORT_MODIFY("IN2")
63   PORT_DIPNAME( 0x03, 0x01, "Bonus Life / Enemy Bullet Speed" ) // not verified this
64   PORT_DIPSETTING(    0x00, "None, Slow" )
65   PORT_DIPSETTING(    0x01, "12000, Medium" )
66   PORT_DIPSETTING(    0x02, "20000, Fast" )
67   PORT_DIPSETTING(    0x03, "30000, Fastest" )
68   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
69   PORT_DIPSETTING(    0x00, "2" )
70   PORT_DIPSETTING(    0x04, "3" )
71   PORT_DIPNAME( 0x08, 0x00, "Player Bullet Speed" )
72   PORT_DIPSETTING(    0x00, "Slow" )
73   PORT_DIPSETTING(    0x08, "Fast" )
74INPUT_PORTS_END
75
76static INPUT_PORTS_START( superg )
77   PORT_INCLUDE(galaxian)
78
79   PORT_MODIFY("IN2")
80   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
81   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
82   PORT_DIPSETTING(    0x01, "4000" )
83   PORT_DIPSETTING(    0x02, "5000" )
84   PORT_DIPSETTING(    0x03, "7000" )
85   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
86   PORT_DIPSETTING(    0x00, "3" )
87   PORT_DIPSETTING(    0x04, "5" )
88INPUT_PORTS_END
89
90
91static INPUT_PORTS_START( swarm )
92   PORT_INCLUDE(galaxian)
93
94   PORT_MODIFY("IN2")
95   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
96   PORT_DIPSETTING(    0x01, "10000" )
97   PORT_DIPSETTING(    0x02, "20000" )
98   PORT_DIPSETTING(    0x03, "40000" )
99   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
100   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
101   PORT_DIPSETTING(    0x00, "3" )
102   PORT_DIPSETTING(    0x04, "4" )
103   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) )   /* aliens "flying" simultaneously */
104   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )             /* less aliens */
105   PORT_DIPSETTING(    0x08, DEF_STR( Hard ) )             /* more aliens */
106INPUT_PORTS_END
107
108
109static INPUT_PORTS_START( zerotime )
110   PORT_INCLUDE(galaxian)
111
112   PORT_MODIFY("IN1")
113   PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) )
114   PORT_DIPSETTING(    0x40, "A 1C/1C 2C/2C  B 1C/2C" )
115   PORT_DIPSETTING(    0xc0, "A 1C/1C 2C/3C  B 1C/3C" )
116   PORT_DIPSETTING(    0x00, "A 1C/2C 2C/4C  B 1C/4C" )
117   PORT_DIPSETTING(    0x80, "A 1C/2C 2C/5C  B 1C/5C" )
118
119   PORT_MODIFY("IN2")
120   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
121   PORT_DIPSETTING(    0x03, "6000" )
122   PORT_DIPSETTING(    0x02, "7000" )
123   PORT_DIPSETTING(    0x01, "9000" )
124   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
125   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
126   PORT_DIPSETTING(    0x00, "3" )
127   PORT_DIPSETTING(    0x04, "5" )
128   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) )   /* player's bullet speed */
129   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )             /* gap of 6 pixels */
130   PORT_DIPSETTING(    0x08, DEF_STR( Hard ) )             /* gap of 8 pixels */
131INPUT_PORTS_END
132
133
134static INPUT_PORTS_START( blkhole )
135   PORT_INCLUDE(galaxian)
136
137   PORT_MODIFY("IN0")
138   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
139   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
140   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
141   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
142
143   PORT_MODIFY("IN1")
144   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
145   PORT_DIPSETTING(    0xc0, DEF_STR( 2C_1C ) )
146   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
147   PORT_DIPSETTING(    0x40, DEF_STR( 1C_2C ) )
148   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
149
150   PORT_MODIFY("IN2")
151   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
152   PORT_DIPSETTING(    0x00, "5000" )
153   PORT_DIPSETTING(    0x01, "10000" )
154   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) )
155   PORT_DIPSETTING(    0x02, DEF_STR( Upright ) )
156   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
157   PORT_DIPUNUSED( 0x04, 0x00 )
158   PORT_DIPUNUSED( 0x08, 0x00 )
159INPUT_PORTS_END
160
161
162static INPUT_PORTS_START( orbitron )
163   PORT_INCLUDE(galaxian)
164
165   PORT_MODIFY("IN0")
166   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
167   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
168   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
169   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
170   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
171
172   PORT_MODIFY("IN1")
173   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
174   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
175   PORT_DIPNAME( 0x60, 0x40, DEF_STR( Coinage ) )      /* Routine at 0x00e1 */
176   PORT_DIPSETTING(    0x00, "A 2C/1C  B 1C/3C" )
177   PORT_DIPSETTING(    0x20, "A 2C/1C  B 1C/3C (duplicate)" )
178   PORT_DIPSETTING(    0x40, "A 1C/1C  B 1C/6C" )
179   PORT_DIPSETTING(    0x60, "A 1C/1C  B 1C/6C (duplicate)" )
180   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
181
182   PORT_MODIFY("IN2")
183   PORT_DIPUNUSED( 0x01, 0x00 )
184   PORT_DIPUNUSED( 0x02, 0x00 )
185   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
186   PORT_DIPSETTING(    0x04, "2" )
187   PORT_DIPSETTING(    0x00, "3" )
188   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
189   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
190   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
191INPUT_PORTS_END
192
193
194/* These inputs are clearly wrong, they need a full test */
195static INPUT_PORTS_START( luctoday )
196   PORT_START("IN0")
197   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
198   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
199   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_NAME("Add Credit to Bet")
200   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_NAME("Remove Credit from Bet")
201   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
202   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
203   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
204   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BILL1 )
205
206   PORT_START("IN1")
207   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
208   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
209   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
210   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
211   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
212   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
213   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
214   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
215
216   PORT_START("IN2")
217   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
218   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
219   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
220   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
221INPUT_PORTS_END
222
223
224static INPUT_PORTS_START( catacomb )
225   PORT_INCLUDE(galaxian)
226
227   PORT_MODIFY("IN0")
228   PORT_DIPUNKNOWN( 0x40, 0x00 )
229   PORT_DIPUNKNOWN( 0x80, 0x00 )
230
231   PORT_MODIFY("IN1")
232   PORT_DIPUNKNOWN( 0x20, 0x00 )
233   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
234   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
235   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
236   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Coin_B ) )
237   PORT_DIPSETTING(    0x00, DEF_STR( 1C_3C ) )
238   PORT_DIPSETTING(    0x80, DEF_STR( 1C_5C ) )
239
240   PORT_MODIFY("IN2")
241   PORT_DIPUNKNOWN( 0x01, 0x00 )
242   PORT_DIPUNKNOWN( 0x02, 0x00 )
243   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
244   PORT_DIPSETTING(    0x04, "3" )
245   PORT_DIPSETTING(    0x00, "5" )
246   PORT_DIPUNKNOWN( 0x08, 0x00 )
247INPUT_PORTS_END
248
249
250static INPUT_PORTS_START( omega )
251   PORT_INCLUDE(galaxian)
252
253   PORT_MODIFY("IN0")
254   PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
255
256   PORT_MODIFY("IN1")
257   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
258   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
259   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
260   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
261   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
262   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
263   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
264
265   PORT_MODIFY("IN2")
266   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
267   PORT_DIPSETTING(    0x00, "10000" )
268   PORT_DIPSETTING(    0x01, "20000" )
269   PORT_DIPUNUSED( 0x02, 0x00 )
270   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
271   PORT_DIPSETTING(    0x00, "3" )
272   PORT_DIPSETTING(    0x04, "5" )
273   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
274   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
275   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
276INPUT_PORTS_END
277
278
279static INPUT_PORTS_START( warofbug )
280   PORT_INCLUDE(galaxian)
281
282   PORT_MODIFY("IN0")
283   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
284   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
285   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
286   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
287   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
288
289   PORT_MODIFY("IN1")
290   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
291   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
292   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
293   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
294   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
295   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
296//  PORT_DIPSETTING(    0x80, DEF_STR( 2C_1C ) )
297   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
298
299   PORT_MODIFY("IN2")
300   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
301   PORT_DIPSETTING(    0x00, "1" )
302   PORT_DIPSETTING(    0x01, "2" )
303   PORT_DIPSETTING(    0x02, "3" )
304   PORT_DIPSETTING(    0x03, "4" )
305   PORT_DIPUNUSED( 0x04, 0x00 )
306   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) )
307   PORT_DIPSETTING(    0x08, "500000" )
308   PORT_DIPSETTING(    0x00, "750000" )
309INPUT_PORTS_END
310
311
312static INPUT_PORTS_START( redufo )
313   PORT_INCLUDE(galaxian)
314
315   PORT_MODIFY("IN0")
316   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
317   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )        // Not tested due to code removed at 0x1901 and 0x191a
318
319   PORT_MODIFY("IN1")
320   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_B ) )
321   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
322   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
323   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_A ) )
324   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
325   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
326
327   PORT_MODIFY("IN2")
328   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
329   PORT_DIPSETTING(    0x00, "7000" )
330   PORT_DIPSETTING(    0x01, DEF_STR( None ) )
331   PORT_DIPUNUSED( 0x02, 0x00 )                        // Not read due to code at 0x012b
332   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
333   PORT_DIPSETTING(    0x00, "3" )
334   PORT_DIPSETTING(    0x04, "5" )
335   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
336   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
337   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
338INPUT_PORTS_END
339
340
341static INPUT_PORTS_START( redufob )
342   PORT_INCLUDE(galaxian)
343
344   PORT_MODIFY("IN1")
345   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
346   PORT_DIPSETTING(    0x40, "A 2C/1C  B 1C/3C" )
347   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/6C" )
348   PORT_DIPSETTING(    0x80, "A 1C/2C  B 1C/12C" )
349   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
350
351   PORT_MODIFY("IN2")
352   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
353   PORT_DIPSETTING(    0x01, "4000" )
354   PORT_DIPSETTING(    0x02, "5000" )
355   PORT_DIPSETTING(    0x03, "7000" )
356   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
357   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
358   PORT_DIPSETTING(    0x00, "3" )
359   PORT_DIPSETTING(    0x04, "5" )
360INPUT_PORTS_END
361
362
363static INPUT_PORTS_START( azurian )
364   PORT_START("IN0")
365   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
366   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
367   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
368   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
369   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
370   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
371   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
372   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
373
374   PORT_START("IN1")
375   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
376   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
377   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
378   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
379   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
380   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
381   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, azurian_port_r, (void *)0) /* "linked" with bit 2 of IN2 */
382   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) )
383   PORT_DIPSETTING(    0x00, "3" )
384   PORT_DIPSETTING(    0x80, "5" )
385
386   PORT_START("IN2")
387   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) )
388   PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
389   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
390   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Bonus_Life ) )
391   PORT_DIPSETTING(    0x00, "5000" )
392   PORT_DIPSETTING(    0x02, "7000" )
393   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, azurian_port_r, (void *)1) /* "linked" with bit 6 of IN1 */
394   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
395   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
396   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
397   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
398
399   PORT_START("FAKE")      /* fake port to handle routine at 0x05b3 that stores value at 0x40f4 */
400   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
401   PORT_DIPSETTING(    0x03, DEF_STR( Easy ) )
402   PORT_DIPSETTING(    0x01, DEF_STR( Normal ) )
403   PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
404   PORT_DIPSETTING(    0x00, DEF_STR( Very_Hard ) )
405INPUT_PORTS_END
406
407
408static INPUT_PORTS_START( pisces )
409   PORT_INCLUDE(galaxian)
410
411   PORT_MODIFY("IN0")
412   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
413   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
414   PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
415
416   PORT_MODIFY("IN1")
417   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Lives ) )
418   PORT_DIPSETTING(    0x00, "3" )
419   PORT_DIPSETTING(    0x40, "4" )
420   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
421   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
422   PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
423
424   PORT_MODIFY("IN2")
425   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
426   PORT_DIPSETTING(    0x00, "10000" )
427   PORT_DIPSETTING(    0x01, "20000" )
428   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
429   PORT_DIPSETTING(    0x02, "A 2C/1C  B 1C/3C" )
430   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/6C" )
431   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) )
432   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
433   PORT_DIPSETTING(    0x04, DEF_STR( Hard ) )
434INPUT_PORTS_END
435
436
437static INPUT_PORTS_START( piscesb )
438   PORT_INCLUDE(pisces)
439
440   PORT_MODIFY("IN2")
441   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
442   PORT_DIPSETTING(    0x02, "A 2C/1C  B 1C/2C 2C/5C" )
443   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/5C" )
444INPUT_PORTS_END
445
446
447static INPUT_PORTS_START( gteikokb )
448   PORT_INCLUDE(galaxian)
449
450   PORT_MODIFY("IN0")
451   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
452   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )        /* Not tested due to code removed at 0x00ab, 0x1b26 and 0x1c97*/
453   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )        /* Not tested due to code removed at 0x1901*/
454
455   PORT_MODIFY("IN1")
456   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
457   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
458   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
459   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
460   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
461   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
462
463   PORT_MODIFY("IN2")
464   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
465   PORT_DIPSETTING(    0x00, "7000" )
466   PORT_DIPSETTING(    0x01, DEF_STR( None ) )
467   PORT_DIPUNUSED( 0x02, 0x00 )                        // Not read due to code at 0x012b
468   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
469   PORT_DIPSETTING(    0x00, "3" )
470   PORT_DIPSETTING(    0x04, "5" )
471   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
472   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
473   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
474INPUT_PORTS_END
475
476
477static INPUT_PORTS_START( gteikob2 )
478   PORT_INCLUDE(gteikokb)
479
480   PORT_MODIFY("IN2")
481   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
482   PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
483   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
484INPUT_PORTS_END
485
486static INPUT_PORTS_START( asideral )
487   PORT_INCLUDE(galaxian)
488
489   PORT_MODIFY("IN1")
490   PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) )
491   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
492   PORT_DIPSETTING(    0x00, "1C/2C, 1C/1C" )
493   PORT_DIPSETTING(    0x80, "1C/4C, 1C/2C" )
494   PORT_DIPSETTING(    0xc0, "Free Play (corrupt text)" )
495
496   PORT_MODIFY("IN2")
497   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
498   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
499   PORT_DIPSETTING(    0x01, "4000" )
500   PORT_DIPSETTING(    0x02, "5000" )
501   PORT_DIPSETTING(    0x03, "7000" )
502   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
503   PORT_DIPSETTING(    0x00, "3" )
504   PORT_DIPSETTING(    0x04, "5" )
505INPUT_PORTS_END
506
507static INPUT_PORTS_START( spacbatt )
508   PORT_INCLUDE(galaxian)
509
510   PORT_MODIFY("IN1")
511   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
512   PORT_DIPSETTING(    0x40, "A 2C/1C  B 1C/3C" )
513   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/6C" )
514   PORT_DIPSETTING(    0x80, "A 1C/2C  B 1C/6C" )
515   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
516
517   PORT_MODIFY("IN2")
518   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
519   PORT_DIPSETTING(    0x01, "4000" )
520   PORT_DIPSETTING(    0x02, "5000" )
521   PORT_DIPSETTING(    0x03, "7000" )
522   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
523   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
524   PORT_DIPSETTING(    0x00, "3" )
525   PORT_DIPSETTING(    0x04, "5" )
526INPUT_PORTS_END
527
528
529static INPUT_PORTS_START( batman2 )
530   PORT_INCLUDE(galaxian)
531
532   PORT_MODIFY("IN0")
533   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
534   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
535   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 )
536
537   PORT_MODIFY("IN1")
538   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
539   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
540   PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) )
541   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
542   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
543   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
544
545   PORT_MODIFY("IN2")
546   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
547   PORT_DIPSETTING(    0x00, "30000" )
548   PORT_DIPSETTING(    0x01, "50000" )
549   PORT_DIPUNUSED( 0x02, 0x00 )
550   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
551   PORT_DIPSETTING(    0x00, "3" )
552   PORT_DIPSETTING(    0x04, "5" )
553   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
554   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
555   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
556INPUT_PORTS_END
557
558
559static INPUT_PORTS_START( streakng )
560   PORT_START("IN0")
561   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
562   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
563   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
564   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
565   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
566   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
567   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
568   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
569   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
570   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
571
572   PORT_START("IN1")
573   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
574   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
575   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
576   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
577   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
578   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
579   PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Bonus_Life ) )
580   PORT_DIPSETTING(    0x40, "10000" )
581   PORT_DIPSETTING(    0x80, "15000" )
582   PORT_DIPSETTING(    0xc0, "20000" )
583   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
584
585   PORT_START("IN2")
586   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) )
587   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
588   PORT_DIPSETTING(    0x02, DEF_STR( 1C_1C ) )
589   PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
590   PORT_DIPSETTING(    0x03, DEF_STR( Free_Play ) )
591   PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) )
592   PORT_DIPSETTING(    0x0c, "1" )
593   PORT_DIPSETTING(    0x08, "2" )
594   PORT_DIPSETTING(    0x04, "3" )
595   PORT_DIPSETTING(    0x00, "5" )
596   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
597INPUT_PORTS_END
598
599
600static INPUT_PORTS_START( articms )
601   PORT_START("IN0")
602   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
603   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
604   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
605   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
606   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
607   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
608   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
609   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
610
611   PORT_START("IN1")
612   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
613   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
614   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
615   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
616   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
617   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
618   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
619   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
620   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
621   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
622   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
623   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
624
625   PORT_START("IN2")
626   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) /* Likely Bonus Life */
627   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
628   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
629   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Difficulty ) )
630   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
631   PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
632   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
633   PORT_DIPSETTING(    0x00, "3" )
634   PORT_DIPSETTING(    0x04, "5" )
635   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
636   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
637   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
638   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
639   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
640   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
641   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
642   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
643   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
644   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
645   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
646   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
647   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
648   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
649   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
650INPUT_PORTS_END
651
652
653static INPUT_PORTS_START( pacmanbl )
654   PORT_INCLUDE(articms)
655
656   PORT_MODIFY("IN0")
657   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
658   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
659   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
660   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
661   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
662   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
663
664   PORT_MODIFY("IN1")
665   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
666   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
667   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
668   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
669
670   PORT_MODIFY("IN2")
671   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
672   PORT_DIPSETTING(    0x00, "15000" )
673   PORT_DIPSETTING(    0x01, "20000" )
674   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
675INPUT_PORTS_END
676
677static INPUT_PORTS_START( tenspot )
678   PORT_INCLUDE(articms)
679
680   PORT_START("SELECT") /* inputs? read by select CPU - unknown */
681   PORT_DIPUNKNOWN( 0x01, 0x01 )
682   PORT_DIPUNKNOWN( 0x02, 0x02 )
683   PORT_DIPUNKNOWN( 0x04, 0x04 )
684   PORT_DIPUNKNOWN( 0x08, 0x08 )
685   PORT_DIPUNKNOWN( 0x10, 0x10 )
686   PORT_DIPUNKNOWN( 0x20, 0x20 )
687   PORT_DIPUNKNOWN( 0x40, 0x40 )
688   PORT_DIPUNKNOWN( 0x80, 0x80 )
689
690   PORT_START("SELECT2") /* inputs? read by select CPU - unknown */
691   PORT_DIPUNKNOWN( 0x01, 0x01 )
692   PORT_DIPUNKNOWN( 0x02, 0x02 )
693   PORT_DIPUNKNOWN( 0x04, 0x04 )
694   PORT_DIPUNKNOWN( 0x08, 0x08 )
695   PORT_DIPUNKNOWN( 0x10, 0x10 )
696   PORT_DIPUNKNOWN( 0x20, 0x20 )
697   PORT_DIPUNKNOWN( 0x40, 0x40 )
698   PORT_DIPUNKNOWN( 0x80, 0x80 )
699
700   PORT_START("FAKE_SELECT") /* fake button to move onto next game - until select rom is understood! */
701   PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Next Game (Fake)") PORT_IMPULSE(1)
702
703   PORT_MODIFY("IN0")
704   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
705   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
706   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
707   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
708   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
709
710   PORT_MODIFY("IN1")
711   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
712   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
713   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
714
715
716   PORT_MODIFY("IN2") // ignored
717   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
718
719   // yes, the board has 10 banks of dipswitches...
720   PORT_START("IN2_GAME0")
721   PORT_DIPNAME( 0x01, 0x01, "Survivor DSW0" )
722   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
723   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
724   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
725   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
726   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
727   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
728   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
729   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
730   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
731   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
732   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
733   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
734   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
735   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
736   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
737   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
738   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
739   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
740   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
741   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
742   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
743   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
744   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
745
746   PORT_START("IN2_GAME1")
747   PORT_DIPNAME( 0x01, 0x01, "Moon Cresta DSW0" )
748   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
749   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
750   PORT_DIPUNKNOWN( 0x02, 0x02 )
751   PORT_DIPUNKNOWN( 0x04, 0x04 )
752   PORT_DIPUNKNOWN( 0x08, 0x08 )
753   PORT_DIPUNKNOWN( 0x10, 0x10 )
754   PORT_DIPUNKNOWN( 0x20, 0x20 )
755   PORT_DIPUNKNOWN( 0x40, 0x40 )
756   PORT_DIPUNKNOWN( 0x80, 0x80 )
757
758   PORT_START("IN2_GAME2")
759   PORT_DIPNAME( 0x01, 0x01, "Space Cruiser DSW0" )
760   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
761   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
762   PORT_DIPUNKNOWN( 0x02, 0x02 )
763   PORT_DIPUNKNOWN( 0x04, 0x04 )
764   PORT_DIPUNKNOWN( 0x08, 0x08 )
765   PORT_DIPUNKNOWN( 0x10, 0x10 )
766   PORT_DIPUNKNOWN( 0x20, 0x20 )
767   PORT_DIPUNKNOWN( 0x40, 0x40 )
768   PORT_DIPUNKNOWN( 0x80, 0x80 )
769
770   PORT_START("IN2_GAME3")
771   PORT_DIPNAME( 0x01, 0x01, "Mission Rescue DSW0" )
772   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
773   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
774   PORT_DIPUNKNOWN( 0x02, 0x02 )
775   PORT_DIPUNKNOWN( 0x04, 0x04 )
776   PORT_DIPUNKNOWN( 0x08, 0x08 )
777   PORT_DIPUNKNOWN( 0x10, 0x10 )
778   PORT_DIPUNKNOWN( 0x20, 0x20 )
779   PORT_DIPUNKNOWN( 0x40, 0x40 )
780   PORT_DIPUNKNOWN( 0x80, 0x80 )
781
782   PORT_START("IN2_GAME4")
783   PORT_DIPNAME( 0x01, 0x01, "Uniwars DSW0" )
784   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
785   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
786   PORT_DIPUNKNOWN( 0x02, 0x02 )
787   PORT_DIPUNKNOWN( 0x04, 0x04 )
788   PORT_DIPUNKNOWN( 0x08, 0x08 )
789   PORT_DIPUNKNOWN( 0x10, 0x10 )
790   PORT_DIPUNKNOWN( 0x20, 0x20 )
791   PORT_DIPUNKNOWN( 0x40, 0x40 )
792   PORT_DIPUNKNOWN( 0x80, 0x80 )
793
794   PORT_START("IN2_GAME5")
795   PORT_DIPNAME( 0x01, 0x01, "Batman Pt.2 DSW0" )
796   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
797   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
798   PORT_DIPUNKNOWN( 0x02, 0x02 )
799   PORT_DIPUNKNOWN( 0x04, 0x04 )
800   PORT_DIPUNKNOWN( 0x08, 0x08 )
801   PORT_DIPUNKNOWN( 0x10, 0x10 )
802   PORT_DIPUNKNOWN( 0x20, 0x20 )
803   PORT_DIPUNKNOWN( 0x40, 0x40 )
804   PORT_DIPUNKNOWN( 0x80, 0x80 )
805
806   PORT_START("IN2_GAME6")
807   PORT_DIPNAME( 0x01, 0x01, "Defend UFO DSW0" )
808   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
809   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
810   PORT_DIPUNKNOWN( 0x02, 0x02 )
811   PORT_DIPUNKNOWN( 0x04, 0x04 )
812   PORT_DIPUNKNOWN( 0x08, 0x08 )
813   PORT_DIPUNKNOWN( 0x10, 0x10 )
814   PORT_DIPUNKNOWN( 0x20, 0x20 )
815   PORT_DIPUNKNOWN( 0x40, 0x40 )
816   PORT_DIPUNKNOWN( 0x80, 0x80 )
817
818   PORT_START("IN2_GAME7")
819   PORT_DIPNAME( 0x01, 0x01, "King and Balloon DSW0" )
820   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
821   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
822   PORT_DIPUNKNOWN( 0x02, 0x02 )
823   PORT_DIPUNKNOWN( 0x04, 0x04 )
824   PORT_DIPUNKNOWN( 0x08, 0x08 )
825   PORT_DIPUNKNOWN( 0x10, 0x10 )
826   PORT_DIPUNKNOWN( 0x20, 0x20 )
827   PORT_DIPUNKNOWN( 0x40, 0x40 )
828   PORT_DIPUNKNOWN( 0x80, 0x80 )
829
830   PORT_START("IN2_GAME8")
831   PORT_DIPNAME( 0x01, 0x01, "Omega DSW0" )
832   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
833   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
834   PORT_DIPUNKNOWN( 0x02, 0x02 )
835   PORT_DIPUNKNOWN( 0x04, 0x04 )
836   PORT_DIPUNKNOWN( 0x08, 0x08 )
837   PORT_DIPUNKNOWN( 0x10, 0x10 )
838   PORT_DIPUNKNOWN( 0x20, 0x20 )
839   PORT_DIPUNKNOWN( 0x40, 0x40 )
840   PORT_DIPUNKNOWN( 0x80, 0x80 )
841
842   PORT_START("IN2_GAME9")
843   PORT_DIPNAME( 0x01, 0x01, "Battle of Atlantis DSW0" )
844   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
845   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
846   PORT_DIPUNKNOWN( 0x02, 0x02 )
847   PORT_DIPUNKNOWN( 0x04, 0x04 )
848   PORT_DIPUNKNOWN( 0x08, 0x08 )
849   PORT_DIPUNKNOWN( 0x10, 0x10 )
850   PORT_DIPUNKNOWN( 0x20, 0x20 )
851   PORT_DIPUNKNOWN( 0x40, 0x40 )
852   PORT_DIPUNKNOWN( 0x80, 0x80 )
853INPUT_PORTS_END
854
855static INPUT_PORTS_START( phoenxp2 )
856   PORT_INCLUDE(articms)
857INPUT_PORTS_END
858
859
860static INPUT_PORTS_START( atlantib )
861   PORT_INCLUDE(articms)
862
863   PORT_MODIFY("IN1")
864   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coin_A ) ) /* These are backwards compared to the other sets??? */
865   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
866   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
867
868   PORT_MODIFY("IN2")
869   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) /* These are backwards compared to the other sets??? */
870   PORT_DIPSETTING(    0x04, "3" )
871   PORT_DIPSETTING(    0x00, "5" )
872   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) ) /* These are backwards compared to the other sets??? */
873   PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
874   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
875INPUT_PORTS_END
876
877
878static INPUT_PORTS_START( devilfsg )
879   PORT_INCLUDE(pacmanbl)
880
881   PORT_MODIFY("IN0")
882   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
883
884   PORT_MODIFY("IN1")
885   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
886
887   PORT_MODIFY("IN2")
888   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
889   PORT_DIPSETTING(    0x00, "10000" )
890   PORT_DIPSETTING(    0x01, "15000" )
891   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
892   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
893   PORT_DIPSETTING(    0x00, "4" )
894   PORT_DIPSETTING(    0x04, "5" )
895INPUT_PORTS_END
896
897
898static INPUT_PORTS_START( zigzag )
899   PORT_START("IN0")
900   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
901   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
902   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
903   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
904   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
905   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
906   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
907   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
908
909   PORT_START("IN1")
910   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
911   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
912   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
913   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
914   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
915   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
916   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
917   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
918   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
919   PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
920   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
921
922   PORT_START("IN2")
923   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Lives ) )
924   PORT_DIPSETTING(    0x00, "3" )
925   PORT_DIPSETTING(    0x01, "4" )
926   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) )
927   PORT_DIPSETTING(    0x02, DEF_STR( Upright ) )
928   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
929   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
930   PORT_DIPSETTING(    0x00, "10000 60000" )
931   PORT_DIPSETTING(    0x04, "20000 60000" )
932   PORT_DIPSETTING(    0x08, "30000 60000" )
933   PORT_DIPSETTING(    0x0c, "40000 60000" )
934   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
935INPUT_PORTS_END
936
937
938static INPUT_PORTS_START( gmgalax )
939   PORT_START("IN0")
940   PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, gmgalax_port_r, "GMIN0\0GLIN0")
941
942   PORT_START("IN1")
943   PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, gmgalax_port_r, "GMIN1\0GLIN1")
944
945   PORT_START("IN2")
946   PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, gmgalax_port_r, "GMIN2\0GLIN2")
947
948   PORT_START("GMIN0")      /* Ghost Muncher - IN0 */
949   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )                                  PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
950   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP) PORT_4WAY PORT_COCKTAIL     PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
951   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY                PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
952   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY               PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
953   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )                                 PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
954   PORT_DIPNAME( 0x20, 0x00, "Ghost Muncher - Cabinet" )                        PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
955   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
956   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
957   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY                PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
958   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY                  PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
959
960   PORT_START("GMIN1")      /* Ghost Muncher - IN1 */
961   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )                                 PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
962   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )                                 PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
963   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL  PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
964   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
965   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )                                 PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
966   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL  PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
967   PORT_DIPNAME( 0xc0, 0x40, "Ghost Muncher - Bonus Life" )                     PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
968   PORT_DIPSETTING(    0x40, "10000" )
969   PORT_DIPSETTING(    0x80, "15000" )
970   PORT_DIPSETTING(    0xc0, "20000" )
971   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
972
973   PORT_START("GMIN2")      /* Ghost Muncher - IN2 */
974   PORT_DIPNAME( 0x03, 0x02, "Ghost Muncher - Coinage" )                        PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
975   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
976   PORT_DIPSETTING(    0x02, DEF_STR( 1C_1C ) )
977   PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
978   PORT_DIPSETTING(    0x03, DEF_STR( Free_Play ) )
979   PORT_DIPNAME( 0x0c, 0x04, "Ghost Muncher - Lives" )                          PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
980   PORT_DIPSETTING(    0x0c, "1" )
981   PORT_DIPSETTING(    0x08, "2" )
982   PORT_DIPSETTING(    0x04, "3" )
983   PORT_DIPSETTING(    0x00, "5" )
984   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
985
986   PORT_START("GLIN0")      /* Galaxian - IN0 */
987   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )                                  PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
988   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )                                  PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
989   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY                PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
990   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY               PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
991   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )                                PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
992   PORT_DIPNAME( 0x20, 0x00, "Galaxian - Cabinet" )                             PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
993   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
994   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
995   PORT_SERVICE( 0x40, IP_ACTIVE_HIGH )                                         PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
996   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 )                               PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
997
998   PORT_START("GLIN1")      /* Galaxian - IN1 */
999   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )                                 PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1000   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )                                 PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1001   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL  PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1002   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1003   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL                  PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1004   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )                                 PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1005   PORT_DIPNAME( 0xc0, 0x00, "Galaxian - Coinage" )                             PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1006   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
1007   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1008   PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
1009   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
1010
1011   PORT_START("GLIN2")      /* Galaxian - IN2 */
1012   PORT_DIPNAME( 0x03, 0x01, "Galaxian - Bonus Life" )                          PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1013   PORT_DIPSETTING(    0x01, "4000" )
1014   PORT_DIPSETTING(    0x02, "5000" )
1015   PORT_DIPSETTING(    0x03, "7000" )
1016   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
1017   PORT_DIPNAME( 0x04, 0x00, "Galaxian - Lives" )                               PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1018   PORT_DIPSETTING(    0x00, "3" )
1019   PORT_DIPSETTING(    0x04, "5" )
1020   PORT_DIPUNUSED( 0x08, 0x00 )
1021   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
1022
1023   PORT_START("GAMESEL")      /* fake - game select */
1024   PORT_DIPNAME( 0x01, 0x00, "Game Select") PORT_CODE(KEYCODE_F1) PORT_TOGGLE PORT_CHANGED_MEMBER(DEVICE_SELF, galaxian_state, gmgalax_game_changed, NULL)
1025   PORT_DIPSETTING( 0x00, "Ghost Muncher" )
1026   PORT_DIPSETTING( 0x01, "Galaxian" )
1027INPUT_PORTS_END
1028
1029
1030
1031/*************************************
1032 *
1033 *  Input Ports
1034 *  Moon Cresta-derived games
1035 *
1036 *************************************/
1037
1038static INPUT_PORTS_START( mooncrst )
1039   PORT_START("IN0")
1040   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1041   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1042   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
1043   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
1044   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1045   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
1046   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1047   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
1048   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )   /* "reset" on schematics */
1049   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
1050
1051   PORT_START("IN1")
1052   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1053   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1054   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
1055   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
1056   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
1057   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
1058   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) )
1059   PORT_DIPSETTING(    0x00, "30000" )
1060   PORT_DIPSETTING(    0x40, "50000" )
1061   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) )
1062   PORT_DIPSETTING(    0x80, DEF_STR( English ) )
1063   PORT_DIPSETTING(    0x00, DEF_STR( Japanese ) )
1064
1065   PORT_START("IN2")
1066   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) )
1067   PORT_DIPSETTING(    0x03, DEF_STR( 4C_1C ) )
1068   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
1069   PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
1070   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1071   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) )
1072   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1073   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
1074   PORT_DIPSETTING(    0x08, DEF_STR( 1C_3C ) )
1075   PORT_DIPSETTING(    0x0c, DEF_STR( Free_Play ) )
1076   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
1077INPUT_PORTS_END
1078
1079
1080static INPUT_PORTS_START( mooncrsa )
1081   PORT_INCLUDE(mooncrst)
1082
1083   PORT_MODIFY("IN2")
1084   PORT_DIPUNUSED( 0x03, IP_ACTIVE_HIGH )      /* Not used due to code at 0x01c0 */
1085   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) )
1086   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1087   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
1088   PORT_DIPSETTING(    0x08, DEF_STR( 1C_3C ) )
1089   PORT_DIPSETTING(    0x0c, DEF_STR( Free_Play ) )
1090INPUT_PORTS_END
1091
1092
1093static INPUT_PORTS_START( mooncrsg )
1094   PORT_INCLUDE(mooncrst)
1095
1096   PORT_MODIFY("IN1")
1097   PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH )      /* Always non-Japanese due to code at 0x2f77 */
1098INPUT_PORTS_END
1099
1100
1101static INPUT_PORTS_START( fantazia )
1102   PORT_INCLUDE(mooncrst)
1103
1104   PORT_MODIFY("IN1")
1105   PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH )      /* Always non-Japanese due to code at 0x2f53 */
1106
1107   PORT_MODIFY("IN2")
1108   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_B ) )
1109   PORT_DIPSETTING(    0x03, DEF_STR( 4C_1C ) )
1110   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
1111   PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
1112   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1113   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_A ) )
1114   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1115   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
1116   PORT_DIPSETTING(    0x08, DEF_STR( 1C_3C ) )
1117   PORT_DIPSETTING(    0x0c, DEF_STR( Free_Play ) )
1118INPUT_PORTS_END
1119
1120
1121static INPUT_PORTS_START( eagle2 )
1122   PORT_INCLUDE(mooncrst)
1123
1124   PORT_MODIFY("IN2")
1125   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
1126   PORT_DIPSETTING(    0x03, DEF_STR( 4C_1C ) )
1127   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
1128   PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
1129   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1130   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Free_Play ) )        /* Not used due to code at 0x01c0, but "Free Play" is checked */
1131   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1132//  PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1133//  PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1134   PORT_DIPSETTING(    0x0c, DEF_STR( On ) )
1135INPUT_PORTS_END
1136
1137
1138static INPUT_PORTS_START( smooncrs )
1139   PORT_INCLUDE(mooncrst)
1140
1141   PORT_MODIFY("IN1")
1142   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )            /* Not read due to code at 0x2b1c and 0x3313 */
1143   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )            /* Not read due to code at 0x2b1c and 0x3313 */
1144   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )            /* Not read due to code at 0x2b1c and 0x3313 */
1145   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )       /* code at 0x2962 (0x2f68 in spcdrag) */
1146   PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
1147   PORT_DIPSETTING(    0x00, DEF_STR( Hard ) )
1148   PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" )     /* code at 0x0007 (0x2f53 in spcdrag) */
1149   PORT_DIPSETTING(    0x00, "Slow" )
1150   PORT_DIPSETTING(    0x80, "Fast" )
1151   /* Bonus life is always '50000' due to code at 0x2f68 */
1152   /* Language is always non-Japanese due to code at 0x2f53 */
1153INPUT_PORTS_END
1154
1155static INPUT_PORTS_START( mooncreg )
1156   PORT_INCLUDE(mooncrst)
1157
1158   PORT_MODIFY("IN1")
1159   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
1160   PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
1161   PORT_DIPSETTING(    0x00, DEF_STR( Hard ) )
1162   PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" )
1163   PORT_DIPSETTING(    0x00, "Slow" )
1164   PORT_DIPSETTING(    0x80, "Fast" )
1165
1166   PORT_MODIFY("IN2")
1167   PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coinage  ) )
1168   PORT_DIPSETTING(    0x00, "1C/1C, 1C/2C" )
1169   PORT_DIPSETTING(    0x01, "2C/1C, 2C/3C" )
1170   PORT_DIPSETTING(    0x02, "3C/1C, 3C/4C" )
1171   PORT_DIPSETTING(    0x03, "4C/1C, 4C/5C" )
1172   PORT_DIPSETTING(    0x04, "1C/1C, 1C/3C" )
1173   PORT_DIPSETTING(    0x05, "2C/1C, 2C/5C" )
1174   PORT_DIPSETTING(    0x06, "3C/1C, 3C/7C" )
1175   PORT_DIPSETTING(    0x07, "4C/1C, 4C/9C" )
1176   PORT_DIPSETTING(    0x08, "1C/1C, 1C/4C" )
1177   PORT_DIPSETTING(    0x09, "2C/1C, 2C/7C" )
1178   PORT_DIPSETTING(    0x0a, "3C/1C, 3C/10C" )
1179   PORT_DIPSETTING(    0x0b, "4C/1C, 4C/13C" )
1180   PORT_DIPSETTING(    0x0c, DEF_STR( Free_Play) ) // these all force 4 credits, although the credit inputs will temporarily add different amounts
1181   PORT_DIPSETTING(    0x0d, "Free Play (duplicate 1)" )
1182   PORT_DIPSETTING(    0x0e, "Free Play (duplicate 2)" )
1183   PORT_DIPSETTING(    0x0f, "Free Play (duplicate 3)" )
1184INPUT_PORTS_END
1185
1186static INPUT_PORTS_START( mooncrsl )
1187   PORT_INCLUDE(mooncrst)
1188
1189   PORT_MODIFY("IN1")
1190   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) /* the game will crash at round 3 otherwise, could be protection (or a bad rom / bad hack) the same code is mostly patched out in mooncreg */
1191   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
1192   PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
1193   PORT_DIPSETTING(    0x00, DEF_STR( Hard ) )
1194   PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" )
1195   PORT_DIPSETTING(    0x00, "Slow" )
1196   PORT_DIPSETTING(    0x80, "Fast" )
1197INPUT_PORTS_END
1198
1199
1200static INPUT_PORTS_START( mooncptc )
1201   PORT_INCLUDE(smooncrs)
1202
1203   PORT_MODIFY("IN2") // no 1c/1c ?
1204   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) )
1205   PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) )
1206   PORT_DIPSETTING(    0x01, DEF_STR( 2C_3C ) )
1207   PORT_DIPSETTING(    0x02, DEF_STR( 3C_4C ) )
1208   PORT_DIPSETTING(    0x03, DEF_STR( 4C_5C ) )
1209INPUT_PORTS_END
1210
1211
1212static INPUT_PORTS_START( mooncrgx )
1213   PORT_INCLUDE(mooncrst)
1214
1215   PORT_MODIFY("IN0")
1216   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
1217
1218   PORT_MODIFY("IN1")
1219   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
1220   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
1221   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
1222   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
1223   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
1224   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
1225
1226   PORT_MODIFY("IN2")
1227   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Bonus_Life ) )
1228   PORT_DIPSETTING(    0x01, "30000" )
1229   PORT_DIPSETTING(    0x00, "50000" )
1230   PORT_DIPUNUSED( 0x02, 0x00 )
1231   PORT_DIPUNUSED( 0x04, 0x00 )        /* Always non-Japanese due to code removed at 0x2f4b */
1232   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1233   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1234   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
1235INPUT_PORTS_END
1236
1237
1238static INPUT_PORTS_START( moonqsr )
1239   PORT_INCLUDE(mooncrst)
1240
1241   PORT_MODIFY("IN1")
1242   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) )
1243   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
1244   PORT_DIPSETTING(    0x40, DEF_STR( Medium ) )
1245   PORT_DIPSETTING(    0x80, DEF_STR( Hard ) )
1246   PORT_DIPSETTING(    0xc0, DEF_STR( Hardest ) )
1247INPUT_PORTS_END
1248
1249
1250static INPUT_PORTS_START( moonal2 )
1251   PORT_INCLUDE(galaxian)
1252
1253   PORT_MODIFY("IN2")
1254   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
1255   PORT_DIPSETTING(    0x01, "4000" )
1256   PORT_DIPSETTING(    0x02, "5000" )
1257   PORT_DIPSETTING(    0x03, "7000" )
1258   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
1259   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
1260   PORT_DIPSETTING(    0x00, "3" )
1261   PORT_DIPSETTING(    0x04, "5" )
1262   PORT_DIPUNUSED( 0x08, 0x00 )
1263INPUT_PORTS_END
1264
1265
1266static INPUT_PORTS_START( fantastc )
1267   PORT_START("IN0")
1268   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
1269   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1270   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1271   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
1272   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
1273   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
1274   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1275   PORT_SERVICE( 0x20, IP_ACTIVE_HIGH )
1276   PORT_DIPNAME( 0x40, 0x40, "Extended Bonus Life" )
1277   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1278   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1279   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1280   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1281   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1282
1283   PORT_START("IN1")
1284   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1285   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1286   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
1287   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1288   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1289   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
1290   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1291   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1292   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1293   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1294   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1295   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
1296   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1297   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1298   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) ) // no effect?
1299   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1300   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
1301   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) )
1302   PORT_DIPSETTING(    0x00, "3" )
1303   PORT_DIPSETTING(    0x80, "5" )
1304
1305   PORT_START("IN2")
1306   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
1307   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
1308   PORT_DIPSETTING(    0x01, DEF_STR( Medium ) )
1309   PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
1310   PORT_DIPSETTING(    0x03, DEF_STR( Hardest ) )
1311   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
1312   PORT_DIPSETTING(    0x00, "20000 80000" )
1313   PORT_DIPSETTING(    0x04, "30000 80000" )
1314   PORT_DIPSETTING(    0x08, "20000 120000" )
1315   PORT_DIPSETTING(    0x0c, "30000 120000" )
1316   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1317   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1318   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1319   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
1320   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1321   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1322   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
1323   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1324   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1325   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1326   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1327   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1328INPUT_PORTS_END
1329
1330
1331static INPUT_PORTS_START( timefgtr )
1332   PORT_START("IN0")
1333   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1334   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
1335   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1336   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1337   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1338   PORT_DIPNAME( 0x20, 0x00, "255 Lives (Cheat)" )
1339   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1340   PORT_DIPSETTING(    0x20, DEF_STR( On ) )
1341   PORT_DIPNAME( 0x40, 0x40, "Extended Bonus Life" )
1342   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1343   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1344   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1345
1346   PORT_START("IN1")
1347   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1348   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1349   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // tilt? freeze?
1350   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1351   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1352   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1353   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) )
1354   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1355   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
1356   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) )
1357   PORT_DIPSETTING(    0x00, "3" )
1358   PORT_DIPSETTING(    0x80, "5" )
1359
1360   PORT_START("IN2")
1361   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) // if 01 and 02 are both set, bonus life is 00
1362   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1363   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1364   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) // "
1365   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1366   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1367   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
1368   PORT_DIPSETTING(    0x00, "10000 50000" )
1369   PORT_DIPSETTING(    0x04, "20000 50000" )
1370   PORT_DIPSETTING(    0x08, "10000 60000" )
1371   PORT_DIPSETTING(    0x0c, "20000 60000" )
1372   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1373   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1374   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1375   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1376INPUT_PORTS_END
1377
1378
1379static INPUT_PORTS_START( kong )
1380   PORT_START("IN0")
1381   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
1382   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1383   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1384   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
1385   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1386   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1387   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1388   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1389   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1390   PORT_SERVICE( 0x20, IP_ACTIVE_HIGH )
1391   PORT_DIPNAME( 0x40, 0x00, "99 Men/Max Timer (Cheat)" )
1392   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1393   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1394   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1395
1396   PORT_START("IN1")
1397   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME ("One Player Start/Jump")
1398   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME ("Two Player Start/Jump")
1399   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
1400   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1401   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1402   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
1403   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1404   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1405   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1406   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1407   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1408   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1409   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Lives ) )
1410   PORT_DIPSETTING(    0x00, "3" )
1411   PORT_DIPSETTING(    0x40, "5" )
1412   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Coinage ) )
1413   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1414   PORT_DIPSETTING(    0x80, DEF_STR( 2C_1C ) )
1415
1416   PORT_START("IN2")
1417   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
1418   PORT_DIPSETTING(    0x00, "10000" )
1419   PORT_DIPSETTING(    0x01, "20000" )
1420   PORT_DIPSETTING(    0x02, "30000" )
1421   PORT_DIPSETTING(    0x03, DEF_STR( None ) )
1422   PORT_DIPNAME( 0x04, 0x00, "Mode" )
1423   PORT_DIPSETTING(    0x04, "Tournament (harder)" )
1424   PORT_DIPSETTING(    0x00, "Normal" )
1425   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
1426   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1427   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1428   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1429   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1430   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1431   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
1432   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1433   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1434   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
1435   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1436   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1437   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1438   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1439   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1440INPUT_PORTS_END
1441
1442
1443static INPUT_PORTS_START( tdpgal )
1444   PORT_START("IN0")
1445   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1446   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1447   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1448   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1449   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1450   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1451   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
1452   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1453   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1454   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1455
1456   PORT_START("IN1")
1457   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1458   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1459   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
1460   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1461   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1462   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
1463   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1464   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1465   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
1466   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1467   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1468   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
1469   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1470   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1471   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
1472   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1473   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1474   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
1475   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1476   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1477
1478   PORT_START("IN2")
1479   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
1480   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1481   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1482   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
1483   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1484   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1485   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
1486   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1487   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1488   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
1489   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1490   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1491   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
1492   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1493   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1494   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
1495   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1496   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1497   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
1498   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1499   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1500   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
1501   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1502   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1503INPUT_PORTS_END
1504
1505
1506static INPUT_PORTS_START( skybase )
1507   PORT_INCLUDE(mooncrst)
1508
1509   PORT_MODIFY("IN0")
1510   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
1511
1512   PORT_MODIFY("IN1")
1513   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
1514   PORT_DIPSETTING(    0x80, "1C/1C (2 to start)" )
1515   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1516   PORT_DIPSETTING(    0x40, DEF_STR( 1C_2C ) )
1517   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
1518
1519   PORT_MODIFY("IN2")
1520   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1521   PORT_DIPSETTING(    0x00, "3" )
1522   PORT_DIPSETTING(    0x01, "4" )
1523   PORT_DIPSETTING(    0x02, "5" )
1524   PORT_DIPSETTING(    0x03, "Infinite (Cheat)")
1525   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
1526   PORT_DIPSETTING(    0x00, "10000" )
1527   PORT_DIPSETTING(    0x04, "15000" )
1528   PORT_DIPSETTING(    0x08, "20000" )
1529   PORT_DIPSETTING(    0x0c, DEF_STR( None ) )
1530   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
1531   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
1532   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 )
1533   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
1534INPUT_PORTS_END
1535
1536
1537static INPUT_PORTS_START( jumpbug )
1538   PORT_START("IN0")
1539   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1540   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
1541   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
1542   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
1543   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1544   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
1545   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1546   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
1547   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
1548   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
1549
1550   PORT_START("IN1")
1551   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1552   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1553   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
1554   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
1555   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
1556   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
1557   PORT_DIPNAME( 0x40, 0x00, "Difficulty ?" )
1558   PORT_DIPSETTING(    0x00, DEF_STR( Hard ) )
1559   PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
1560   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
1561
1562   PORT_START("IN2")
1563   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
1564   PORT_DIPSETTING(    0x01, "3" )
1565   PORT_DIPSETTING(    0x02, "4" )
1566   PORT_DIPSETTING(    0x03, "5" )
1567   PORT_DIPSETTING(    0x00, "Infinite (Cheat)")
1568   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) )
1569   PORT_DIPSETTING(    0x04, "A 2C/1C  B 2C/1C" )
1570   PORT_DIPSETTING(    0x08, "A 2C/1C  B 1C/3C" )
1571   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/1C" )
1572   PORT_DIPSETTING(    0x0c, "A 1C/1C  B 1C/6C" )
1573   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
1574INPUT_PORTS_END
1575
1576
1577static INPUT_PORTS_START( levers )
1578   PORT_START("IN0")
1579   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1580   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
1581   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
1582   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
1583   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1584   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
1585   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
1586   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
1587
1588   PORT_START("IN1")
1589   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1590   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1591   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
1592   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
1593   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1594   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
1595   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1596   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
1597
1598   PORT_START("IN2")
1599   PORT_DIPUNKNOWN( 0x01, 0x01 )   /* probably unused */
1600   PORT_DIPUNKNOWN( 0x02, 0x02 )   /* probably unused */
1601   PORT_DIPNAME( 0x04, 0x00, "Leave On" )  /* used - MUST be ON */
1602   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1603   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1604   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Free_Play ) )
1605   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1606   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
1607   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
1608INPUT_PORTS_END
1609
1610
1611static INPUT_PORTS_START( checkman )
1612   PORT_START("IN0")
1613   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
1614   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
1615   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1616   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1617   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Tiles Right")
1618   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1619   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
1620   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1621
1622   PORT_START("IN1")
1623   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Tiles Left")/* also p1 tiles left */
1624   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Tiles Right")/* also p1 tiles right */
1625   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
1626   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
1627   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Tiles Left")/* p2 tiles left */
1628   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
1629   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) )
1630   PORT_DIPSETTING(    0x40, "A 2C/1C  B 1C/3C" )
1631   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/6C" )
1632   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
1633   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1634   PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
1635
1636   PORT_START("IN2")
1637   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1638   PORT_DIPSETTING(    0x00, "3" )
1639   PORT_DIPSETTING(    0x01, "4" )
1640   PORT_DIPSETTING(    0x02, "5" )
1641   PORT_DIPSETTING(    0x03, "6" )
1642   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
1643   PORT_DIPSETTING(    0x00, "100000" )
1644   PORT_DIPSETTING(    0x04, "200000" )
1645   PORT_DIPNAME( 0x08, 0x00, "Difficulty Increases At Level" )
1646   PORT_DIPSETTING(    0x08, "3" )
1647   PORT_DIPSETTING(    0x00, "5" )
1648   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
1649INPUT_PORTS_END
1650
1651
1652static INPUT_PORTS_START( checkmaj )
1653   PORT_INCLUDE(checkman)
1654
1655   PORT_MODIFY("IN0")
1656   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1657   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1658   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1659   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1660   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1661   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_COCKTAIL PORT_NAME("P2 Tiles Right")
1662   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
1663   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1664
1665   PORT_MODIFY("IN1")
1666   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1667   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1668   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
1669   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
1670   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
1671   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_COCKTAIL PORT_NAME("P2 Tiles Left")
1672
1673   PORT_MODIFY("IN2")
1674   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Tiles Right")
1675   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Tiles Left")
1676   PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
1677INPUT_PORTS_END
1678
1679
1680static INPUT_PORTS_START( dingo )
1681   PORT_START("IN0")
1682   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1683   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1684   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1685   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1686   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1687   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL /* 1st Button 1 */
1688   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
1689   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1690
1691   PORT_START("IN1")
1692   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1693   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1694   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
1695   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
1696   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
1697   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL /* 2nd Button 1 */
1698   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) )
1699   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1700   PORT_DIPSETTING(    0x40, DEF_STR( Cocktail ) )
1701   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
1702   PORT_DIPSETTING(    0x80, "A 1C/1C  B 1C/5C" )
1703   PORT_DIPSETTING(    0x00, "A 2C/1C  B 1C/3C" )
1704
1705   PORT_START("IN2")
1706   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
1707   PORT_DIPSETTING(    0x00, DEF_STR( Easiest ) )
1708   PORT_DIPSETTING(    0x01, DEF_STR( Easy ) )
1709   PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
1710   PORT_DIPSETTING(    0x03, DEF_STR( Hardest ) )
1711   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
1712   PORT_DIPSETTING(    0x00, "3" )
1713   PORT_DIPSETTING(    0x04, "4" )
1714   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Bonus_Life ) )
1715   PORT_DIPSETTING(    0x00, "20000" )
1716   PORT_DIPSETTING(    0x08, "40000" )
1717   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )   /* Yes, the game reads both of these */
1718   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )   /* Check code at 0x22e1 */
1719INPUT_PORTS_END
1720
1721
1722static INPUT_PORTS_START( mshuttle )
1723   PORT_START("IN0")
1724   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1725   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1726   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1727   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1728   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1729   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1730   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1731   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1732
1733   PORT_START("IN1")
1734   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1735   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1736   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
1737   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
1738   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
1739   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
1740   PORT_SERVICE( 0x40, IP_ACTIVE_HIGH )
1741   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
1742   PORT_DIPSETTING(    0x80, DEF_STR( Upright ) )
1743   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
1744
1745   PORT_START("IN2")
1746   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1747   PORT_DIPSETTING(    0x00, "3" )
1748   PORT_DIPSETTING(    0x01, "4" )
1749   PORT_DIPSETTING(    0x02, "5" )
1750   PORT_DIPSETTING(    0x03, "6" )
1751   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
1752   PORT_DIPSETTING(    0x00, "20000" )
1753   PORT_DIPSETTING(    0x04, "30000" )
1754   PORT_DIPNAME( 0x18, 0x00, DEF_STR( Coin_A ) )
1755   PORT_DIPSETTING(    0x18, DEF_STR( 4C_1C ) )
1756   PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
1757   PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
1758   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1759   PORT_DIPNAME( 0x60, 0x00, DEF_STR( Coin_B ) )
1760   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1761   PORT_DIPSETTING(    0x20, DEF_STR( 1C_2C ) )
1762   PORT_DIPSETTING(    0x40, DEF_STR( 1C_3C ) )
1763   PORT_DIPSETTING(    0x60, DEF_STR( 1C_4C ) )
1764   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
1765   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1766   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
1767INPUT_PORTS_END
1768
1769
1770static INPUT_PORTS_START( kingball )
1771   PORT_INCLUDE(galaxian)
1772
1773   PORT_MODIFY("IN0")
1774   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, kingball_muxbit_r, NULL)
1775   /* Relating to above port:Hack? - possibly multiplexed via writes to $b003 */
1776   //PORT_DIPNAME( 0x40, 0x40, "Speech" )
1777   //PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1778   //PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1779
1780   PORT_MODIFY("IN1")
1781   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, kingball_noise_r, NULL)   /* NOISE line */
1782   PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) )
1783   PORT_DIPSETTING(    0xc0, DEF_STR( 2C_1C ) )
1784   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
1785   PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
1786   PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
1787
1788   PORT_MODIFY("IN2")
1789   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
1790   PORT_DIPSETTING(    0x00, "10000" )
1791   PORT_DIPSETTING(    0x01, "12000" )
1792   PORT_DIPSETTING(    0x02, "15000" )
1793   PORT_DIPSETTING(    0x03, DEF_STR( None ) )
1794
1795   PORT_START("FAKE")
1796   PORT_SERVICE( 0x01, IP_ACTIVE_HIGH )
1797   PORT_DIPNAME( 0x02, 0x02, "Speech" )
1798   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1799   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
1800INPUT_PORTS_END
1801
1802
1803static INPUT_PORTS_START( thepitm )
1804   PORT_START("IN0")
1805   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1806   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1807   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1808   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1809   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1810   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1811   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
1812   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1813
1814   PORT_START("IN1")
1815   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1816   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1817   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
1818   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
1819   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
1820   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
1821   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) // turning both of these on boots with 9 credits?
1822   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1823   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1824   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
1825   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1826   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
1827
1828   PORT_START("IN2")
1829   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
1830   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1831   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
1832   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
1833   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1834   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
1835   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Flip_Screen ) )
1836   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1837   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
1838   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1839   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1840   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
1841   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
1842   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1843   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
1844   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
1845   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1846   PORT_DIPSETTING(    0x20, DEF_STR( On ) )
1847   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
1848   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1849   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1850   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
1851   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1852   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
1853INPUT_PORTS_END
1854
1855/*************************************
1856 *
1857 *  Input Ports
1858 *  Konami games
1859 *
1860 *************************************/
1861
1862static INPUT_PORTS_START( frogger )
1863   PORT_START("IN0")
1864   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
1865   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot2 - unused */
1866   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1867   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot1 - unused */
1868   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
1869   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1870   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
1871   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
1872
1873   PORT_START("IN1")
1874   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1875   PORT_DIPSETTING(    0x00, "3" )
1876   PORT_DIPSETTING(    0x01, "5" )
1877   PORT_DIPSETTING(    0x02, "7" )
1878   PORT_DIPSETTING(    0x03, "256 (Cheat)")
1879   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot2 - unused */
1880   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot1 - unused */
1881   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
1882   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
1883   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
1884   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
1885
1886   PORT_START("IN2")
1887   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
1888   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
1889   PORT_DIPSETTING(    0x02, "A 2/1 B 2/1 C 2/1" )
1890   PORT_DIPSETTING(    0x04, "A 2/1 B 1/3 C 2/1" )
1891   PORT_DIPSETTING(    0x00, "A 1/1 B 1/1 C 1/1" )
1892   PORT_DIPSETTING(    0x06, "A 1/1 B 1/6 C 1/1" )
1893   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1894   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1895   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
1896   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
1897   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
1898   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
1899   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
1900
1901   PORT_START("IN3")   /* need for some PPI accesses */
1902   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
1903INPUT_PORTS_END
1904
1905
1906static INPUT_PORTS_START( froggrmc )
1907   PORT_START("IN0")
1908   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1909   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1910   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
1911   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
1912   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
1913   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
1914   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1915   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1916
1917   PORT_START("IN1")
1918   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1919   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1920   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
1921   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
1922   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
1923   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
1924   PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
1925   PORT_DIPSETTING(    0xc0, "3" )
1926   PORT_DIPSETTING(    0x80, "5" )
1927   PORT_DIPSETTING(    0x40, "7" )
1928   PORT_DIPSETTING(    0x00, "256 (Cheat)")
1929
1930   PORT_START("IN2")
1931   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
1932   PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
1933   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
1934   PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coinage ) )
1935   PORT_DIPSETTING(    0x02, "A 2/1 B 2/1 C 2/1" )
1936   PORT_DIPSETTING(    0x04, "A 2/1 B 1/3 C 2/1" )
1937   PORT_DIPSETTING(    0x06, "A 1/1 B 1/1 C 1/1" )
1938   PORT_DIPSETTING(    0x00, "A 1/1 B 1/6 C 1/1" )
1939   PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1940
1941   PORT_START("IN3")   /* need for some PPI accesses */
1942   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
1943INPUT_PORTS_END
1944
1945
1946static INPUT_PORTS_START( frogg )
1947   PORT_INCLUDE(froggrmc)
1948
1949   PORT_MODIFY("IN0")
1950   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_SPECIAL )       // See notes
1951   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
1952   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
1953
1954   PORT_MODIFY("IN1")
1955   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_SPECIAL )       // See notes
1956
1957   PORT_MODIFY("IN2")
1958   PORT_DIPUNUSED( 0x02, 0x00 )                        // not tested due to code at 0x3084
1959   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Coinage ) )      // when "Cabinet" Dip Switch set to "Upright"
1960   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )        // "A 1/1 B 1/6" if "Cabinet" Dip Switch set to "Cocktail"
1961   PORT_DIPSETTING(    0x04, DEF_STR( 1C_1C ) )        // "A 2/1 B 1/3" if "Cabinet" Dip Switch set to "Cocktail"
1962   PORT_DIPUNUSED( 0x08, 0x00 )
1963INPUT_PORTS_END
1964
1965
1966static INPUT_PORTS_START( turtles )
1967   PORT_START("IN0")
1968   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
1969   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
1970   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1971   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
1972   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
1973   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1974   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
1975   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
1976
1977   PORT_START("IN1")
1978   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
1979   PORT_DIPSETTING(    0x00, "3" )
1980   PORT_DIPSETTING(    0x01, "4" )
1981   PORT_DIPSETTING(    0x02, "5" )
1982   PORT_DIPSETTING(    0x03, "126 (Cheat)")
1983   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
1984   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
1985   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
1986   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
1987   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
1988   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
1989
1990   PORT_START("IN2")
1991   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
1992   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
1993   PORT_DIPSETTING(    0x00, "A 1/1 B 2/1 C 1/1" )
1994   PORT_DIPSETTING(    0x02, "A 1/2 B 1/1 C 1/2" )
1995   PORT_DIPSETTING(    0x04, "A 1/3 B 3/1 C 1/3" )
1996   PORT_DIPSETTING(    0x06, "A 1/4 B 4/1 C 1/4" )
1997   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1998   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1999   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2000   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
2001   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
2002   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
2003   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
2004
2005   PORT_START("IN3")   /* need for some PPI accesses */
2006   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2007INPUT_PORTS_END
2008
2009
2010static INPUT_PORTS_START( turpin )
2011   PORT_INCLUDE(turtles)
2012
2013   PORT_MODIFY("IN1")
2014   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
2015   PORT_DIPSETTING(    0x00, "3" )
2016   PORT_DIPSETTING(    0x01, "5" )
2017   PORT_DIPSETTING(    0x02, "7" )
2018   PORT_DIPSETTING(    0x03, "126 (Cheat)")
2019
2020   PORT_MODIFY("IN2")
2021   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
2022   PORT_DIPSETTING(    0x06, DEF_STR( 4C_1C ) )
2023   PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
2024   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
2025   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
2026INPUT_PORTS_END
2027
2028
2029static INPUT_PORTS_START( amidar )
2030   PORT_INCLUDE(turtles)
2031
2032   PORT_MODIFY("IN1")
2033   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
2034   PORT_DIPSETTING(    0x03, "3" )
2035   PORT_DIPSETTING(    0x02, "4" )
2036   PORT_DIPSETTING(    0x01, "5" )
2037   PORT_DIPSETTING(    0x00, "255 (Cheat)")
2038
2039   PORT_MODIFY("IN2")
2040   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2041   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2042   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2043   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
2044   PORT_DIPSETTING(    0x00, "30000 50000" )
2045   PORT_DIPSETTING(    0x04, "50000 50000" )
2046
2047   PORT_MODIFY("IN3")
2048   PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
2049   PORT_DIPSETTING(    0x04, DEF_STR( 4C_1C ) )
2050   PORT_DIPSETTING(    0x0a, DEF_STR( 3C_1C ) )
2051   PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
2052   PORT_DIPSETTING(    0x02, DEF_STR( 3C_2C ) )
2053   PORT_DIPSETTING(    0x08, DEF_STR( 4C_3C ) )
2054   PORT_DIPSETTING(    0x0f, DEF_STR( 1C_1C ) )
2055   PORT_DIPSETTING(    0x0c, DEF_STR( 3C_4C ) )
2056   PORT_DIPSETTING(    0x0e, DEF_STR( 2C_3C ) )
2057   PORT_DIPSETTING(    0x07, DEF_STR( 1C_2C ) )
2058   PORT_DIPSETTING(    0x06, DEF_STR( 2C_5C ) )
2059   PORT_DIPSETTING(    0x0b, DEF_STR( 1C_3C ) )
2060   PORT_DIPSETTING(    0x03, DEF_STR( 1C_4C ) )
2061   PORT_DIPSETTING(    0x0d, DEF_STR( 1C_5C ) )
2062   PORT_DIPSETTING(    0x05, DEF_STR( 1C_6C ) )
2063   PORT_DIPSETTING(    0x09, DEF_STR( 1C_7C ) )
2064   PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
2065   PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )
2066   PORT_DIPSETTING(    0x40, DEF_STR( 4C_1C ) )
2067   PORT_DIPSETTING(    0xa0, DEF_STR( 3C_1C ) )
2068   PORT_DIPSETTING(    0x10, DEF_STR( 2C_1C ) )
2069   PORT_DIPSETTING(    0x20, DEF_STR( 3C_2C ) )
2070   PORT_DIPSETTING(    0x80, DEF_STR( 4C_3C ) )
2071   PORT_DIPSETTING(    0xf0, DEF_STR( 1C_1C ) )
2072   PORT_DIPSETTING(    0xc0, DEF_STR( 3C_4C ) )
2073   PORT_DIPSETTING(    0xe0, DEF_STR( 2C_3C ) )
2074   PORT_DIPSETTING(    0x70, DEF_STR( 1C_2C ) )
2075   PORT_DIPSETTING(    0x60, DEF_STR( 2C_5C ) )
2076   PORT_DIPSETTING(    0xb0, DEF_STR( 1C_3C ) )
2077   PORT_DIPSETTING(    0x30, DEF_STR( 1C_4C ) )
2078   PORT_DIPSETTING(    0xd0, DEF_STR( 1C_5C ) )
2079   PORT_DIPSETTING(    0x50, DEF_STR( 1C_6C ) )
2080   PORT_DIPSETTING(    0x90, DEF_STR( 1C_7C ) )
2081   PORT_DIPSETTING(    0x00, "Invalid" )
2082   /* Invalid = both coin slots disabled */
2083INPUT_PORTS_END
2084
2085
2086static INPUT_PORTS_START( amidaru )
2087   PORT_INCLUDE(amidar)
2088
2089   PORT_MODIFY("IN2")
2090   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
2091   PORT_DIPSETTING(    0x00, "30000 70000" )
2092   PORT_DIPSETTING(    0x04, "50000 80000" )
2093INPUT_PORTS_END
2094
2095
2096static INPUT_PORTS_START( amidaro )
2097   PORT_INCLUDE(amidar)
2098
2099   PORT_MODIFY("IN1")
2100   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
2101   PORT_DIPSETTING(    0x03, "1" )
2102   PORT_DIPSETTING(    0x02, "2" )
2103   PORT_DIPSETTING(    0x01, "3" )
2104   PORT_DIPSETTING(    0x00, "4" )
2105
2106   PORT_MODIFY("IN2")
2107   PORT_DIPNAME( 0x02, 0x00, "Level Progression" )
2108   PORT_DIPSETTING(    0x00, "Slow" )
2109   PORT_DIPSETTING(    0x02, "Fast" )
2110   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
2111   PORT_DIPSETTING(    0x00, "30000 70000" )
2112   PORT_DIPSETTING(    0x04, "50000 80000" )
2113INPUT_PORTS_END
2114
2115
2116static INPUT_PORTS_START( amidars )
2117   PORT_INCLUDE(turtles)
2118
2119   PORT_MODIFY("IN1")
2120   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
2121   PORT_DIPSETTING(    0x03, "2" )
2122   PORT_DIPSETTING(    0x02, "3" )
2123   PORT_DIPSETTING(    0x01, "4" )
2124   PORT_DIPSETTING(    0x00, "256 (Cheat)")
2125
2126   PORT_MODIFY("IN2")
2127   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
2128   PORT_DIPSETTING(    0x00, "A 1/1 B 1/6" )
2129   PORT_DIPSETTING(    0x02, "A 2/1 B 1/3" )
2130   PORT_DIPUNKNOWN( 0x04, 0x00 )
2131INPUT_PORTS_END
2132
2133
2134static INPUT_PORTS_START( theend )
2135   PORT_START("IN0")
2136   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2137   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2138   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2139   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2140   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2141   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
2142   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2143   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2144
2145   PORT_START("IN1")
2146   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
2147   PORT_DIPSETTING(    0x00, "3" )
2148   PORT_DIPSETTING(    0x01, "4" )
2149   PORT_DIPSETTING(    0x02, "5" )
2150   PORT_DIPSETTING(    0x03, "256 (Cheat)")
2151   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2152   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2153   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2154   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2155   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2156   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2157
2158   PORT_START("IN2")
2159   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2160   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
2161   PORT_DIPSETTING(    0x04, DEF_STR( 3C_1C ) )
2162   PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
2163   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
2164   PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
2165   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2166   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2167   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2168   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )     /* output bits */
2169
2170   PORT_START("IN3")   /* need for some PPI accesses */
2171   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2172INPUT_PORTS_END
2173
2174
2175static INPUT_PORTS_START( scramble )
2176   PORT_START("IN0")
2177   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
2178   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2179   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2180   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2181   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2182   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
2183   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2184   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2185
2186   PORT_START("IN1")
2187   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
2188   PORT_DIPSETTING(    0x00, "3" )
2189   PORT_DIPSETTING(    0x01, "4" )
2190   PORT_DIPSETTING(    0x02, "5" )
2191   PORT_DIPSETTING(    0x03, "255 (Cheat)")
2192   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2193   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2194   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2195   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2196   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2197   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2198
2199   PORT_START("IN2")
2200   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
2201   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
2202   PORT_DIPSETTING(    0x00, "A 1/1  B 2/1  C 1/1" )
2203   PORT_DIPSETTING(    0x02, "A 1/2  B 1/1  C 1/2" )
2204   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1  C 1/3" )
2205   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1  C 1/4" )
2206   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2207   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2208   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2209   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
2210   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, scramble_protection_alt_r, (void *)0)  /* protection bit */
2211   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
2212   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, scramble_protection_alt_r, (void *)1)  /* protection bit */
2213
2214   PORT_START("IN3")   /* need for some PPI accesses */
2215   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2216INPUT_PORTS_END
2217
2218
2219static INPUT_PORTS_START( strfbomb )
2220   PORT_INCLUDE(scramble)
2221
2222   PORT_MODIFY("IN2")
2223   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
2224   PORT_DIPSETTING(    0x00, "A 1/2  B 4/1  C 1/2" )
2225   PORT_DIPSETTING(    0x02, "A 1/3  B 2/1  C 1/3" )
2226   PORT_DIPSETTING(    0x04, "A 1/4  B 3/1  C 1/4" )
2227   PORT_DIPSETTING(    0x06, "A 1/5  B 1/1  C 1/5" )
2228INPUT_PORTS_END
2229
2230
2231static INPUT_PORTS_START( explorer )
2232   PORT_START("IN0")
2233   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
2234   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
2235   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
2236   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
2237   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2238   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
2239   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
2240   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 )
2241
2242   PORT_START("IN1")
2243   PORT_DIPUNKNOWN( 0x01, 0x00 )
2244   PORT_DIPUNKNOWN( 0x02, 0x00 )
2245   PORT_DIPUNKNOWN( 0x04, 0x00 )
2246   PORT_DIPUNKNOWN( 0x08, 0x00 )
2247   PORT_DIPUNKNOWN( 0x10, 0x00 )
2248   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* pressing this disables the coins */
2249   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
2250   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 )
2251
2252   PORT_START("IN2")
2253   PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coin_A ) )
2254   PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
2255   PORT_DIPSETTING(    0x09, DEF_STR( 2C_2C ) )
2256   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
2257   PORT_DIPSETTING(    0x0a, DEF_STR( 2C_3C ) )
2258   PORT_DIPSETTING(    0x0b, DEF_STR( 2C_4C ) )
2259   PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
2260   PORT_DIPSETTING(    0x0c, DEF_STR( 2C_5C ) )
2261   PORT_DIPSETTING(    0x0d, DEF_STR( 2C_6C ) )
2262   PORT_DIPSETTING(    0x02, DEF_STR( 1C_3C ) )
2263   PORT_DIPSETTING(    0x0e, DEF_STR( 2C_7C ) )
2264   PORT_DIPSETTING(    0x0f, DEF_STR( 2C_8C ) )
2265   PORT_DIPSETTING(    0x03, DEF_STR( 1C_4C ) )
2266   PORT_DIPSETTING(    0x04, DEF_STR( 1C_5C ) )
2267   PORT_DIPSETTING(    0x05, DEF_STR( 1C_6C ) )
2268   PORT_DIPSETTING(    0x06, DEF_STR( 1C_7C ) )
2269   PORT_DIPSETTING(    0x07, DEF_STR( 1C_8C ) )
2270   PORT_DIPNAME( 0xf0, 0x00, DEF_STR( Coin_B ) )
2271   PORT_DIPSETTING(    0x80, DEF_STR( 2C_1C ) )
2272   PORT_DIPSETTING(    0x90, DEF_STR( 2C_2C ) )
2273   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
2274   PORT_DIPSETTING(    0xa0, DEF_STR( 2C_3C ) )
2275   PORT_DIPSETTING(    0xb0, DEF_STR( 2C_4C ) )
2276   PORT_DIPSETTING(    0x10, DEF_STR( 1C_2C ) )
2277   PORT_DIPSETTING(    0xc0, DEF_STR( 2C_5C ) )
2278   PORT_DIPSETTING(    0xd0, DEF_STR( 2C_6C ) )
2279   PORT_DIPSETTING(    0x20, DEF_STR( 1C_3C ) )
2280   PORT_DIPSETTING(    0xe0, DEF_STR( 2C_7C ) )
2281   PORT_DIPSETTING(    0xf0, DEF_STR( 2C_8C ) )
2282   PORT_DIPSETTING(    0x30, DEF_STR( 1C_4C ) )
2283   PORT_DIPSETTING(    0x40, DEF_STR( 1C_5C ) )
2284   PORT_DIPSETTING(    0x50, DEF_STR( 1C_6C ) )
2285   PORT_DIPSETTING(    0x60, DEF_STR( 1C_7C ) )
2286   PORT_DIPSETTING(    0x70, DEF_STR( 1C_8C ) )
2287
2288   PORT_START("IN3")
2289   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
2290   PORT_DIPSETTING(    0x00, "2" )
2291   PORT_DIPSETTING(    0x01, "3" )
2292   PORT_DIPSETTING(    0x02, "4" )
2293   PORT_DIPSETTING(    0x03, "5" )
2294   PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Bonus_Life ) )
2295   PORT_DIPSETTING(    0x04, "10000" )
2296   PORT_DIPSETTING(    0x0c, "15000" )
2297   PORT_DIPSETTING(    0x14, "20000" )
2298   PORT_DIPSETTING(    0x1c, "25000" )
2299   PORT_DIPSETTING(    0x00, "30000" )
2300   PORT_DIPSETTING(    0x08, "50000" )
2301   PORT_DIPSETTING(    0x10, "70000" )
2302   PORT_DIPSETTING(    0x18, "90000" )
2303   PORT_DIPUNKNOWN( 0x20, 0x00 )
2304   PORT_DIPUNKNOWN( 0x40, 0x00 )
2305   PORT_SERVICE( 0x80, IP_ACTIVE_HIGH )
2306INPUT_PORTS_END
2307
2308
2309static INPUT_PORTS_START( atlantis )
2310   PORT_START("IN0")
2311   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
2312   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2313   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* probably unused */
2314   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2315   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2316   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
2317   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2318   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2319
2320   PORT_START("IN1")
2321   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
2322   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2323   PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
2324   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Lives ) )
2325   PORT_DIPSETTING(    0x02, "3" )
2326   PORT_DIPSETTING(    0x00, "5" )
2327   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2328   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2329   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2330   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2331   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2332   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2333
2334   PORT_START("IN2")
2335   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
2336   PORT_DIPNAME( 0x0e, 0x00, DEF_STR( Coinage ) )
2337   PORT_DIPSETTING(    0x02, "A 1/3  B 2/1" )
2338   PORT_DIPSETTING(    0x00, "A 1/6  B 1/1" )
2339   PORT_DIPSETTING(    0x04, "A 1/99 B 1/99")
2340   /* all the other combos give 99 credits */
2341   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
2342   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2343   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
2344   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2345
2346   PORT_START("IN3")   /* need for some PPI accesses */
2347   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2348INPUT_PORTS_END
2349
2350
2351static INPUT_PORTS_START( scorpion )
2352   PORT_START("IN0")
2353   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
2354   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2355   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2356   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2357   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2358   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
2359   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2360   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2361
2362   PORT_START("IN1")
2363   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
2364   PORT_DIPSETTING(    0x03, "3")
2365   PORT_DIPSETTING(    0x02, "4" )
2366   PORT_DIPSETTING(    0x01, "5" )
2367   PORT_DIPSETTING(    0x00, "255" )
2368   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2369   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2370   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2371   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2372   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2373   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2374
2375   PORT_START("IN2")
2376   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
2377   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2378   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2379   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2380   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
2381   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2382   PORT_DIPSETTING(    0x04, DEF_STR( Cocktail ) )
2383   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) )
2384   PORT_DIPSETTING(    0x08, "A 1/1  B 1/1" )
2385   PORT_DIPSETTING(    0x00, "A 1/1  B 1/3" )
2386   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
2387   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
2388   PORT_DIPNAME( 0xa0, 0xa0, DEF_STR( Difficulty ) )
2389   PORT_DIPSETTING(    0xa0, DEF_STR( Normal ) )
2390   PORT_DIPSETTING(    0x80, DEF_STR( Medium ) )
2391   PORT_DIPSETTING(    0x20, DEF_STR( Hard ) )
2392   PORT_DIPSETTING(    0x00, DEF_STR( Very_Hard ) )
2393
2394   PORT_START("IN3")   /* need for some PPI accesses */
2395   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2396INPUT_PORTS_END
2397
2398
2399static INPUT_PORTS_START( scorpnmc )
2400   PORT_START("IN0")      /* 0xa000 */
2401   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 )      // COIN2? (it ALWAYS adds 1 credit)
2402   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
2403   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
2404   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2405   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
2406   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
2407   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
2408   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
2409
2410   PORT_START("IN1")      /* 0xa800 */
2411   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Button 1")     /* also P1 Button 1 */
2412   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Button 2")     /* also P1 Button 2 */
2413   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2414   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2415   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
2416   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
2417   PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ) )   // Check code at 0x0118
2418   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
2419   PORT_DIPSETTING(    0x40, DEF_STR( Normal ) )
2420   PORT_DIPSETTING(    0x80, DEF_STR( Hard ) )
2421   PORT_DIPSETTING(    0xc0, DEF_STR( Hardest ) )
2422
2423   PORT_START("IN2")      /* 0xb001 */
2424   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
2425   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
2426   PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) )        // Check code at 0x00eb
2427   PORT_DIPSETTING(    0x00, "2" )
2428   PORT_DIPSETTING(    0x04, "3" )
2429   PORT_DIPSETTING(    0x08, "4" )
2430   PORT_DIPSETTING(    0x0c, "5" )
2431   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
2432
2433   PORT_START("IN3")      /* 0xb002 */
2434   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )      // Check code at 0x00fe
2435   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2436   PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
2437   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2438   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
2439   PORT_DIPSETTING(    0x02, DEF_STR( 1C_1C ) )
2440   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
2441   PORT_DIPSETTING(    0x06, DEF_STR( 1C_3C ) )
2442   PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNUSED )
2443INPUT_PORTS_END
2444
2445
2446static INPUT_PORTS_START( aracnis )
2447   PORT_START("IN0")      /* 0xa000 */
2448   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 )      // COIN2? (it ALWAYS adds 1 credit)
2449   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
2450   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
2451   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2452   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_8WAY
2453   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2454   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2455   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2456   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 )
2457   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
2458
2459   PORT_START("IN1")      /* 0xa800 - needs verifying */
2460   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Button 1")     /* also P1 Button 1 */
2461   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Button 2")     /* also P1 Button 2 */
2462   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
2463   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2464   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
2465   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2466   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2467   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
2468   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2469   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2470   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2471   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2472   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2473   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
2474   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2475   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2476   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
2477   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2478
2479
2480   PORT_START("IN2")      /* 0xb001 */
2481   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) )
2482   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
2483   PORT_DIPSETTING(    0x01, DEF_STR( 1C_1C ) )
2484   PORT_DIPSETTING(    0x02, DEF_STR( 1C_2C ) )
2485   PORT_DIPSETTING(    0x03, DEF_STR( 1C_3C ) )
2486   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2487   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
2488   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2489   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2490   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
2491   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2492   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2493   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
2494   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2495   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2496   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2497   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2498   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2499   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
2500   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2501   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2502   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
2503   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2504
2505   PORT_START("IN3")      /* 0xb002 */
2506   PORT_DIPNAME( 0x01, 0x01, "0xb002" )
2507   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
2508   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2509   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2510   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2511   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2512   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2513   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
2514   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2515   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2516   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
2517   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2518   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2519   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
2520   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2521   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2522   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2523   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2524   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2525   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
2526   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2527   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2528   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
2529   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2530INPUT_PORTS_END
2531
2532
2533static INPUT_PORTS_START( sfx )
2534   PORT_START("IN0")
2535   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
2536   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) // "Fire" left
2537   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2538   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) // "Fire" right
2539   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
2540   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
2541   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2542   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2543
2544   PORT_START("IN1")
2545   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
2546   PORT_DIPSETTING(    0x02, "3" )
2547   PORT_DIPSETTING(    0x01, "4" )
2548   PORT_DIPSETTING(    0x00, "5" )
2549   PORT_DIPSETTING(    0x03, "Invulnerability (Cheat)")
2550   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) // "Fire" left
2551   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) // "Fire" right
2552   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
2553   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
2554   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2555   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2556
2557   PORT_START("IN2")
2558   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
2559   PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coinage ) )
2560   PORT_DIPSETTING(    0x00, DEF_STR( 3C_1C ) )
2561   PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
2562   PORT_DIPSETTING(    0x06, DEF_STR( 1C_1C ) )
2563   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
2564   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2565   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2566   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2567   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
2568   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* unused */
2569   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
2570   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* unused */
2571
2572   PORT_START("IN3")   /* need for some PPI accesses */
2573   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2574INPUT_PORTS_END
2575
2576
2577/* verified from Z80 code */
2578static INPUT_PORTS_START( scobra )
2579   PORT_START("IN0")
2580   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY PORT_COCKTAIL
2581   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2582   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )                     /* see notes */
2583   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2584   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2585   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY
2586   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2587   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2588
2589   PORT_START("IN1")
2590   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("H2:2")
2591   PORT_DIPSETTING(    0x00, DEF_STR( No ) )
2592   PORT_DIPSETTING(    0x01, "4 Times" )
2593   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("H2:1")
2594   PORT_DIPSETTING(    0x00, "3" )
2595   PORT_DIPSETTING(    0x02, "4" )
2596   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2597   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2598   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2599   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY PORT_COCKTAIL
2600   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2601   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2602
2603   PORT_START("IN2")
2604   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY PORT_COCKTAIL
2605   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("H2:4,5") /* see notes */
2606   PORT_DIPSETTING(    0x04, DEF_STR( 2C_1C ) )
2607   PORT_DIPSETTING(    0x06, DEF_STR( 4C_3C ) )
2608   PORT_DIPSETTING(    0x02, DEF_STR( 1C_1C ) )
2609   PORT_DIPSETTING(    0x00, "99 Credits" )
2610   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("H2:3")
2611   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2612   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2613   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY
2614   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
2615   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY
2616   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
2617
2618   PORT_START("IN3")   /* need for some PPI accesses */
2619   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2620INPUT_PORTS_END
2621
2622/* verified from Z80 code */
2623static INPUT_PORTS_START( scobras )
2624   PORT_INCLUDE(scobra)
2625
2626   PORT_MODIFY("IN1")
2627   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("H2:2")
2628   PORT_DIPSETTING(    0x00, DEF_STR( No ) )
2629   PORT_DIPSETTING(    0x01, "255 Times" )
2630   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("H2:1")
2631   PORT_DIPSETTING(    0x00, "3" )
2632   PORT_DIPSETTING(    0x02, "5" )
2633INPUT_PORTS_END
2634
2635
2636CUSTOM_INPUT_MEMBER(galaxian_state::moonwar_dial_r)
2637{
2638   static const char *const dialname[2] = { "P1_DIAL", "P2_DIAL" };
2639   int p = (~m_moonwar_port_select >> 4) & 1;
2640
2641   // see http://www.cityofberwyn.com/schematics/stern/MoonWar_opto.tiff for schematic
2642   // I.e. a 74ls161 counts from 0 to 15 which is the absolute number of bars passed on the quadrature
2643
2644   signed char dialread = ioport(dialname[p])->read();
2645
2646   UINT8 ret;
2647
2648   if (dialread < 0) m_direction[p] = 0x00;
2649   else if (dialread > 0) m_direction[p] = 0x10;
2650
2651   m_counter_74ls161[p] += abs(dialread);
2652   m_counter_74ls161[p] &= 0xf;
2653
2654   ret = m_counter_74ls161[p] | m_direction[p];
2655   //fprintf(stderr, "dialread1: %02x, counter_74ls161: %02x, spinner ret is %02x\n", dialread, m_counter_74ls161[p], ret);
2656
2657   return ret;
2658}
2659
2660/* verified from Z80 code */
2661static INPUT_PORTS_START( moonwar )
2662   PORT_START("IN0")
2663   PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, moonwar_dial_r, (void *)0)
2664   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL // cocktail: p2 shield
2665   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2666   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2667
2668   PORT_START("IN1")
2669   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
2670   PORT_DIPSETTING(    0x00, "3" )
2671   PORT_DIPSETTING(    0x01, "4" )
2672   PORT_DIPSETTING(    0x02, "5" )
2673   PORT_DIPSETTING(    0x03, DEF_STR( Free_Play ) )                  /* see notes */
2674   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
2675   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
2676   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_CONDITION("IN2", 0x08, EQUALS, 0x08) // cocktail: p2 thrust
2677   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CONDITION("IN2", 0x08, EQUALS, 0x00) // upright: p1&p2 hyperflip
2678   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) // both: p1(upright: &p2) shield
2679   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) // both: p1(upright: &p2) thrust
2680   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) // both: p1(upright: &p2) fire
2681
2682   PORT_START("IN2")
2683   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL // cocktail: p2 fire
2684   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2685   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
2686   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
2687   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
2688   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
2689   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2690   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2691   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2692   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )                       /* output bits */
2693
2694   PORT_START("IN3")   /* need for some PPI accesses */
2695   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2696
2697   PORT_START("P1_DIAL")
2698   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_REVERSE PORT_RESET PORT_CONDITION("IN2", 0x08, EQUALS, 0x08) // cocktail: dial is reversed
2699   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET PORT_CONDITION("IN2", 0x08, EQUALS, 0x00) // upright: dial works normally
2700
2701   PORT_START("P2_DIAL")
2702   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET PORT_COCKTAIL PORT_REVERSE // cocktail: dial is reversed
2703INPUT_PORTS_END
2704
2705/* verified from Z80 code */
2706static INPUT_PORTS_START( moonwara )
2707   PORT_INCLUDE(moonwar)
2708
2709   PORT_MODIFY("IN2")
2710   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
2711   PORT_DIPSETTING(    0x00, "A 1/1  B 4/1" )
2712   PORT_DIPSETTING(    0x02, "A 1/2  B 3/1" )
2713   PORT_DIPSETTING(    0x04, "A 1/3  B 1/1" )
2714   PORT_DIPSETTING(    0x06, "A 1/4  B 2/1" )
2715
2716   PORT_MODIFY("P1_DIAL")
2717   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET // both: p1 dial works normally, p2 dial is reversed, both share same port
2718
2719   PORT_MODIFY("P2_DIAL")       /* doesn't actually work due to bug in game code */
2720   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET PORT_COCKTAIL
2721INPUT_PORTS_END
2722
2723
2724/* verified from Z80 code */
2725static INPUT_PORTS_START( armorcar )
2726   PORT_START("IN0")
2727   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_4WAY PORT_COCKTAIL
2728   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2729   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
2730   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2731   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
2732   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_4WAY
2733   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2734   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2735
2736   PORT_START("IN1")
2737   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
2738   PORT_DIPSETTING(    0x01, "3" )
2739   PORT_DIPSETTING(    0x00, "5" )
2740   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2741   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2742   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2743   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2744   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2745   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
2746   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_4WAY PORT_COCKTAIL
2747   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2748   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2749
2750   PORT_START("IN2")
2751   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_4WAY PORT_COCKTAIL
2752   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2753   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
2754   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
2755   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
2756   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
2757   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
2758   PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
2759   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
2760   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_4WAY
2761   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
2762   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_4WAY
2763   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
2764
2765   PORT_START("IN3")   /* need for some PPI accesses */
2766   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2767INPUT_PORTS_END
2768
2769/* verified from Z80 code */
2770static INPUT_PORTS_START( armorcar2 )
2771   PORT_INCLUDE(armorcar)
2772
2773   PORT_MODIFY("IN0")
2774   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )                       /* see notes */
2775
2776   PORT_MODIFY("IN1")
2777   PORT_BIT( 0x3c, IP_ACTIVE_LOW, IPT_UNUSED )                       /* see notes */
2778
2779   PORT_MODIFY("IN2")
2780   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )                       /* see notes */
2781   PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )                             /* see notes */
2782INPUT_PORTS_END
2783
2784
2785/* verified from Z80 code */
2786static INPUT_PORTS_START( tazmania )
2787   PORT_START("IN0")
2788   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
2789   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
2790   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY
2791   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY
2792   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2793   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY
2794   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2795   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2796
2797   PORT_START("IN1")
2798   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
2799   PORT_DIPSETTING(    0x01, "3" )
2800   PORT_DIPSETTING(    0x00, "5" )
2801   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2802   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2803   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2804   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY PORT_COCKTAIL
2805   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY PORT_COCKTAIL
2806   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2807   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY PORT_COCKTAIL
2808   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2809   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2810
2811   PORT_START("IN2")
2812   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
2813   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2814   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
2815   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
2816   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
2817   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
2818   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
2819   PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
2820   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
2821   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2822   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2823   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2824   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2825
2826   PORT_START("IN3")   /* need for some PPI accesses */
2827   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2828INPUT_PORTS_END
2829
2830
2831/* verified from Z80 code */
2832static INPUT_PORTS_START( anteater )
2833   PORT_START("IN0")
2834   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
2835   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
2836   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_4WAY
2837   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_4WAY
2838   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
2839   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_4WAY
2840   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2841   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2842
2843   PORT_START("IN1")
2844   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
2845   PORT_DIPSETTING(    0x01, "3" )
2846   PORT_DIPSETTING(    0x00, "5" )
2847   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2848   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2849   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2850//  PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_4WAY PORT_COCKTAIL
2851//  PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_4WAY PORT_COCKTAIL
2852//  PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
2853//  PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_4WAY PORT_COCKTAIL
2854//  PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2855   PORT_BIT( 0x7c, IP_ACTIVE_LOW, IPT_UNUSED )                       /* see notes */
2856   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
2857
2858   PORT_START("IN2")
2859   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
2860   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2861   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
2862   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
2863   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
2864   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
2865//  PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
2866//  PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
2867//  PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
2868   PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )                             /* see notes */
2869   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2870   PORT_BIT( 0xb0, IP_ACTIVE_LOW, IPT_UNUSED )
2871
2872   PORT_START("IN3")   /* need for some PPI accesses */
2873   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2874INPUT_PORTS_END
2875
2876
2877static INPUT_PORTS_START( anteateruk )
2878   PORT_START("IN0")
2879   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
2880   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2881   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2882   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2883   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2884   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
2885   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2886   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2887   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
2888   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
2889   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2890   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2891
2892   PORT_START("IN1")
2893   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
2894   PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
2895   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
2896   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2897   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2898   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2899   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2900   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
2901   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2902   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2903   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
2904   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
2905   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2906   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2907
2908   PORT_START("IN2")
2909   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
2910   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Coinage ) )
2911   PORT_DIPSETTING(    0x02, "A 1/1  B 1/5" )
2912   PORT_DIPSETTING(    0x00, "A 2/1  B 1/3" )
2913   PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
2914   PORT_DIPSETTING(    0x0c, "3" )
2915   PORT_DIPSETTING(    0x08, "4" )
2916   PORT_DIPSETTING(    0x04, "5" )
2917   PORT_DIPSETTING(    0x00, "6" )
2918   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
2919   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2920   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2921   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2922   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
2923   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2924   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
2925   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2926
2927   PORT_START("IN3")   /* need for some PPI accesses */
2928   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2929INPUT_PORTS_END
2930
2931
2932/* verified from Z80 code */
2933static INPUT_PORTS_START( calipso )
2934   PORT_START("IN0")
2935   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)      /* also START2 - see notes */
2936   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
2937   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY PORT_PLAYER(1)
2938   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY PORT_PLAYER(1)
2939   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
2940   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY PORT_PLAYER(1)
2941   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2942   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2943
2944   PORT_START("IN1")
2945   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
2946   PORT_DIPSETTING(    0x01, "3" )
2947   PORT_DIPSETTING(    0x00, "5" )
2948   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2949   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2950   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2951   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY PORT_PLAYER(2)
2952   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY PORT_PLAYER(2)
2953   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
2954   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY PORT_PLAYER(2)
2955   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
2956   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
2957
2958   PORT_START("IN2")
2959   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )  PORT_PLAYER(1)      /* also START1 - see notes */
2960   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2961   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
2962   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
2963   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
2964   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
2965//  PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
2966//  PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
2967//  PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
2968   PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )                             /* see notes */
2969   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
2970
2971   PORT_START("IN3")   /* need for some PPI accesses */
2972   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2973INPUT_PORTS_END
2974
2975
2976/* verified from Z80 code */
2977static INPUT_PORTS_START( losttomb )
2978   PORT_START("IN0")
2979   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 )
2980   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
2981   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP )     PORT_8WAY
2982   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN )   PORT_8WAY
2983   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT )  PORT_8WAY
2984   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT )   PORT_8WAY
2985   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2986   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2987
2988   PORT_START("IN1")
2989   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("H2:1,2")
2990   PORT_DIPSETTING(    0x01, "3" )
2991   PORT_DIPSETTING(    0x02, "5" )
2992   PORT_DIPSETTING(    0x03, DEF_STR( Free_Play ) )                  /* see notes */
2993   PORT_DIPSETTING(    0x00, "Invulnerability (Cheat)")
2994   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP )    PORT_8WAY
2995   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN )  PORT_8WAY
2996   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY
2997   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT )  PORT_8WAY
2998   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 )                      /* "WHIP" */
2999   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
3000
3001   PORT_START("IN2")
3002   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
3003   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("H2:4,5")
3004   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
3005   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
3006   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
3007   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
3008   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("H2:3") /* see notes */
3009   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
3010   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
3011   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
3012
3013   PORT_START("IN3")   /* need for some PPI accesses */
3014   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
3015INPUT_PORTS_END
3016
3017
3018/* verified from Z80 code - IN2 bit 1 still needs to be understood */
3019static INPUT_PORTS_START( spdcoin )
3020   PORT_START("IN0")
3021   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
3022   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
3023   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
3024   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
3025   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
3026   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
3027   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
3028   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
3029
3030   PORT_START("IN1")
3031   PORT_DIPNAME( 0x01, 0x00, "Freeze" )                              /* Dip Sw #2 */
3032   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
3033   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
3034   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Free_Play ) )                  /* Dip Sw #1 */
3035   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
3036   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
3037   PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
3038
3039   PORT_START("IN2")
3040   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
3041   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )                    /* Dip Sw #5 - Check code at 0x0569 */
3042   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
3043   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
3044   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) )                 /* Dip Sw #4 */
3045   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
3046   PORT_DIPSETTING(    0x04, DEF_STR( Hard ) )
3047   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )                      /* Dip Sw #3 */
3048   PORT_DIPSETTING(    0x08, "3" )
3049   PORT_DIPSETTING(    0x00, "5" )
3050   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
3051
3052   PORT_START("IN3")   /* need for some PPI accesses */
3053   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
3054INPUT_PORTS_END
3055
3056/* verified from Z80 code */
3057static INPUT_PORTS_START( superbon )
3058   PORT_INCLUDE(losttomb)
3059
3060   PORT_MODIFY("IN0")
3061   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY
3062   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY
3063   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
3064   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY
3065
3066   PORT_MODIFY("IN1")
3067   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 )                      /* "HOLD" */
3068   PORT_BIT( 0x34, IP_ACTIVE_LOW, IPT_UNUSED )
3069INPUT_PORTS_END
3070
3071
3072/*************************************
3073 *
3074 *  ROM definitions
3075 *  Galaxian-derived games
3076 *
3077 *************************************/
3078
3079ROM_START( galaxian )
3080   ROM_REGION( 0x4000, "maincpu", 0 )
3081   ROM_LOAD( "galmidw.u",    0x0000, 0x0800, CRC(745e2d61) SHA1(e65f74e35b1bfaccd407e168ea55678ae9b68edf) )
3082   ROM_LOAD( "galmidw.v",    0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) )
3083   ROM_LOAD( "galmidw.w",    0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) )
3084   ROM_LOAD( "galmidw.y",    0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) )
3085   ROM_LOAD( "7l",           0x2000, 0x0800, CRC(1b933207) SHA1(8b44b0f74420871454e27894d0f004859f9e59a9) )
3086
3087   ROM_REGION( 0x1000, "gfx1", 0 )
3088   ROM_LOAD( "1h.bin",       0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3089   ROM_LOAD( "1k.bin",       0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3090
3091   ROM_REGION( 0x0020, "proms", 0 )
3092   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3093ROM_END
3094
3095ROM_START( galaxiana )
3096   ROM_REGION( 0x4000, "maincpu", 0 )
3097   ROM_LOAD( "7f.bin",       0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) )
3098   ROM_LOAD( "7j.bin",       0x1000, 0x1000, CRC(4e6f66a1) SHA1(ee2a675ab34485c0f58c51be7630a51e27a7a8f3) )
3099   ROM_LOAD( "7l.bin",       0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) )
3100
3101   ROM_REGION( 0x1000, "gfx1", 0 )
3102   ROM_LOAD( "1h.bin",       0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3103   ROM_LOAD( "1k.bin",       0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3104
3105   ROM_REGION( 0x0020, "proms", 0 )
3106   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3107ROM_END
3108
3109ROM_START( galaxianm )
3110   ROM_REGION( 0x4000, "maincpu", 0 )
3111   ROM_LOAD( "galmidw.u",    0x0000, 0x0800, CRC(745e2d61) SHA1(e65f74e35b1bfaccd407e168ea55678ae9b68edf) )
3112   ROM_LOAD( "galmidw.v",    0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) )
3113   ROM_LOAD( "galmidw.w",    0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) )
3114   ROM_LOAD( "galmidw.y",    0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) )
3115   ROM_LOAD( "galmidw.z",    0x2000, 0x0800, CRC(cb24f797) SHA1(e6bb977ded0654c2c7388aad188059e1e0647908) )
3116
3117   ROM_REGION( 0x1000, "gfx1", 0 )
3118   ROM_LOAD( "galaxian.j1",  0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
3119   ROM_LOAD( "galaxian.l1",  0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
3120
3121   ROM_REGION( 0x0020, "proms", 0 )
3122   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3123ROM_END
3124
3125ROM_START( galaxianmo )
3126   ROM_REGION( 0x4000, "maincpu", 0 )
3127   ROM_LOAD( "galaxian.u",   0x0000, 0x0800, CRC(fac42d34) SHA1(0b96d9f1c6bf0e0b7f757dcbaeacfbfafefc54d1) )
3128   ROM_LOAD( "galaxian.v",   0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
3129   ROM_LOAD( "galaxian.w",   0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
3130   ROM_LOAD( "galaxian.y",   0x1800, 0x0800, CRC(96a7ac94) SHA1(c3c7a43117c8b9fd8621823c872889f8e31bf935) )
3131   ROM_LOAD( "7l.bin",       0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) )
3132
3133   ROM_REGION( 0x1000, "gfx1", 0 )
3134   ROM_LOAD( "galaxian.j1",  0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
3135   ROM_LOAD( "galaxian.l1",  0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
3136
3137   ROM_REGION( 0x0020, "proms", 0 )
3138   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3139ROM_END
3140
3141ROM_START( galaxiant )
3142   ROM_REGION( 0x4000, "maincpu", 0 )
3143   ROM_LOAD( "gl-03.8g",  0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) ) /* All eprom are HN462716 eproms */
3144   ROM_LOAD( "gl-04.8f",  0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
3145   ROM_LOAD( "gl-05.8e",  0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
3146   ROM_LOAD( "gl-06.8d",  0x1800, 0x0800, CRC(097d92a2) SHA1(63ef86657286a4e1fae4f795e0e6b410ca2ef06b) )
3147   ROM_LOAD( "gl-07.8c",  0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) )
3148
3149   ROM_REGION( 0x1000, "gfx1", 0 )
3150   ROM_LOAD( "gl-02.1k",  0x0000, 0x0800, CRC(d14f7510) SHA1(cd09e6ee0a3890d01b2415f5b8346c42c02d15a3) ) /* This arrangement produces the correct colors */
3151   ROM_LOAD( "gl-01.1j",  0x0800, 0x0800, CRC(968b6016) SHA1(f13e4a8d0fdeb121d39ca76120acdc6c7e7f377c) ) /* Are the PCB locations reversed for these two? */
3152
3153   ROM_REGION( 0x0020, "proms", 0 )
3154   ROM_LOAD( "6l.bpr",    0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3155ROM_END
3156
3157ROM_START( galaxrf )
3158   ROM_REGION( 0x4000, "maincpu", 0 )
3159   ROM_LOAD( "princip1.u",   0x0000, 0x0800, CRC(3d5d9bae) SHA1(36ef85b42c361e70cd6f31351d6f4b0ef3f3492f) )
3160   ROM_LOAD( "princip2.v",   0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) )
3161   ROM_LOAD( "princip3.w",   0x1000, 0x0800, CRC(aaf038d4) SHA1(2d070fe7c4e9b26092f0f12a9db3392f7d8a65f1) )
3162   ROM_LOAD( "princip4.y",   0x1800, 0x0800, CRC(d74bdd2a) SHA1(68917489b90e7fc3dd1fe9f18d7ef25e12c8d823) )
3163   ROM_LOAD( "princip5.z",   0x2000, 0x0800, CRC(7eeb9e63) SHA1(c05da0f8a3c06aff441f3f9bda891f3e173dc7b7) )
3164
3165   ROM_REGION( 0x1000, "gfx1", 0 )
3166   ROM_LOAD( "graphhj.j1",  0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3167   ROM_LOAD( "graphkl.l1",  0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3168
3169   ROM_REGION( 0x0020, "proms", 0 ) // assumed to be the same
3170   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3171ROM_END
3172
3173ROM_START( astrians )
3174   ROM_REGION( 0x10000, "maincpu", 0 )
3175   ROM_LOAD( "astrians.7h",  0x0000, 0x0800, CRC(21eba3d0) SHA1(d07f141d785c86faca8c40af034c26f2789e9346) )
3176   ROM_LOAD( "astrians.7j",  0x0800, 0x0800, CRC(f3a436cd) SHA1(8d64e61b823e22f17cb79bf9e0c7b3c80c76413f) )
3177   ROM_LOAD( "astrians.7k",  0x1000, 0x0800, CRC(2915e38b) SHA1(045d4cc2c363b9ba8d066f902f03b7eacbeb1f5e) )
3178   ROM_LOAD( "astrians.7l",  0x1800, 0x0800, CRC(2db56b2f) SHA1(b15ce010560f3692d4254a93bff234b409697bac) )
3179   ROM_LOAD( "astrians.7m",  0x2000, 0x0800, CRC(41075efb) SHA1(2839981d9aab87167a6c8c3e9854028e3e11daaa) )
3180
3181   ROM_REGION( 0x1000, "gfx1", 0 )
3182   ROM_LOAD( "astrians.1h",  0x0000, 0x0800, CRC(77c074b4) SHA1(a33f8826ffd593454b72b21cf6d7be084d095a87) )
3183   ROM_LOAD( "astrians.1k",  0x0800, 0x0800, CRC(c30fcc46) SHA1(e99998271c750ffa436d83277bea9f07b840c880) )
3184
3185   ROM_REGION( 0x0020, "proms", 0 )
3186   ROM_LOAD( "prom.6l",      0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3187ROM_END
3188
3189ROM_START( moonaln )
3190   ROM_REGION( 0x4000, "maincpu", 0 )
3191   ROM_LOAD( "galx.u",       0x0000, 0x0800, CRC(79e4007d) SHA1(d55050498a670d1c022ba3caad34f8fcaccf4a30) ) // prg1.bin
3192   ROM_LOAD( "prg2.bin",     0x0800, 0x0800, CRC(59580b30) SHA1(e659426ad8c4e5e10a7cdd07d8b4fea93f875026) )
3193   ROM_LOAD( "prg3.bin",     0x1000, 0x0800, CRC(b64e9d12) SHA1(3b07902ea61388f54c03d65082e78dfc0fa8d3d2) )
3194   ROM_LOAD( "superg.y",     0x1800, 0x0800, CRC(9463f753) SHA1(d9cb35c19aafec43d08b048bbe2337a790f6ba9d) ) // prg4.bin
3195   ROM_LOAD( "prg5.bin",     0x2000, 0x0800, CRC(8bb78987) SHA1(5f24dba0bb31fc8bda5bf570d568472befc4d740) )
3196
3197   ROM_REGION( 0x1000, "gfx1", 0 )
3198   ROM_LOAD( "ca1.bin",   0x0000, 0x0800, CRC(074271dd) SHA1(cd6a40b493bc51c5340d7083f83c51834b95b5fe) )
3199   ROM_LOAD( "ca2.bin",   0x0800, 0x0800, CRC(84d90397) SHA1(93e6ded079c9721d3f9c003e378e8121584671c9) )
3200
3201   ROM_REGION( 0x0020, "proms", 0 )
3202   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3203ROM_END
3204
3205ROM_START( superg )
3206   ROM_REGION( 0x4000, "maincpu", 0 )
3207   ROM_LOAD( "7f.bin",       0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) )
3208   ROM_LOAD( "superg.w",     0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) )
3209   ROM_LOAD( "superg.y",     0x1800, 0x0800, CRC(9463f753) SHA1(d9cb35c19aafec43d08b048bbe2337a790f6ba9d) )
3210   ROM_LOAD( "superg.z",     0x2000, 0x0800, CRC(e6312e35) SHA1(c4010459379d7fe00f605aaf288928b2deffb8b2) )
3211
3212   ROM_REGION( 0x1000, "gfx1", 0 )
3213   ROM_LOAD( "galmidw.1j",   0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
3214   ROM_LOAD( "galmidw.1k",   0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
3215
3216   ROM_REGION( 0x0020, "proms", 0 )
3217   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3218ROM_END
3219
3220ROM_START( galturbo )
3221   ROM_REGION( 0x4000, "maincpu", 0 )
3222   ROM_LOAD( "galturbo.u",   0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) )
3223   ROM_LOAD( "galx.v",       0x0800, 0x0800, CRC(bc16064e) SHA1(4e3220fd63c8184bf9581a89dffb6944d8fae3bb) )
3224   ROM_LOAD( "superg.w",     0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) )
3225   ROM_LOAD( "galturbo.y",   0x1800, 0x0800, CRC(a44f450f) SHA1(4009834afb45e9b23c7cf058bcd3378ef8601872) )
3226   ROM_LOAD( "galturbo.z",   0x2000, 0x0800, CRC(3247f3d4) SHA1(5754dedc2d06736629d85514b2e7c262ce27bf2d) )
3227
3228   ROM_REGION( 0x1000, "gfx1", 0 )
3229   ROM_LOAD( "galturbo.1h",  0x0000, 0x0800, CRC(a713fd1a) SHA1(abf86fe5cb7243a1a36d7ac0a868577a3360dcca) )
3230   ROM_LOAD( "galturbo.1k",  0x0800, 0x0800, CRC(28511790) SHA1(dec2e183a753295d033a56184c973bbc810abf55) )
3231
3232   ROM_REGION( 0x0020, "proms", 0 )
3233   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3234ROM_END
3235
3236ROM_START( galapx )
3237   ROM_REGION( 0x4000, "maincpu", 0 )
3238   ROM_LOAD( "galx.u",       0x0000, 0x0800, CRC(79e4007d) SHA1(d55050498a670d1c022ba3caad34f8fcaccf4a30) )
3239   ROM_LOAD( "galx.v",       0x0800, 0x0800, CRC(bc16064e) SHA1(4e3220fd63c8184bf9581a89dffb6944d8fae3bb) )
3240   ROM_LOAD( "galx.w",       0x1000, 0x0800, CRC(72d2d3ee) SHA1(96e0c5824e46d7398c7e58dd6b75a9f4ead6f3f5) )
3241   ROM_LOAD( "galx.y",       0x1800, 0x0800, CRC(afe397f3) SHA1(283c6f3b3f07581d88f7a6e11fc36947a9d90e2e) )
3242   ROM_LOAD( "galx.z",       0x2000, 0x0800, CRC(778c0d3c) SHA1(6a81875abfea515d379c6212cb57f8e54573e943) )
3243
3244   ROM_REGION( 0x1000, "gfx1", 0 )
3245   ROM_LOAD( "galx.1h",      0x0000, 0x0800, CRC(e8810654) SHA1(b6924c7ad765c32714e6abd5bb56b2732edd5855) )
3246   ROM_LOAD( "galx.1k",      0x0800, 0x0800, CRC(cbe84a76) SHA1(c6d72fb452e8213dd40a2eb5dcca726d7cdca658) )
3247
3248   ROM_REGION( 0x0020, "proms", 0 )
3249   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3250ROM_END
3251
3252ROM_START( galap1 )
3253   ROM_REGION( 0x4000, "maincpu", 0 )
3254   ROM_LOAD( "7f.bin",       0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) )
3255   ROM_LOAD( "galaxian.w",   0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
3256   ROM_LOAD( "galx_1_4.rom", 0x1800, 0x0800, CRC(e71e1d9e) SHA1(32bf22b06c84d36de7c1280740b9c11e8d6a12b6) )
3257   ROM_LOAD( "galx_1_5.rom", 0x2000, 0x0800, CRC(6e65a3b2) SHA1(c9f20645ad2882e937245a9e90504423bb492158) )
3258
3259   ROM_REGION( 0x1000, "gfx1", 0 )
3260   ROM_LOAD( "galmidw.1j",   0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
3261   ROM_LOAD( "galmidw.1k",   0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
3262
3263   ROM_REGION( 0x0020, "proms", 0 )
3264   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3265ROM_END
3266
3267ROM_START( galap4 )
3268   ROM_REGION( 0x4000, "maincpu", 0 )
3269   ROM_LOAD( "galnamco.u",   0x0000, 0x0800, CRC(acfde501) SHA1(4b72c1ffecaccadc541da2367f3ef70a2a9aed64) )
3270   ROM_LOAD( "galnamco.v",   0x0800, 0x0800, CRC(65cf3c77) SHA1(1c5249815816b395e1e04bf6a7dbb63e40faa0e3) )
3271   ROM_LOAD( "galnamco.w",   0x1000, 0x0800, CRC(9eef9ae6) SHA1(b2282e4edb8911e6aabfa936c3526f90381e1320) )
3272   ROM_LOAD( "galnamco.y",   0x1800, 0x0800, CRC(56a5ddd1) SHA1(1f87f647ebdffba28d5957f195448f6bce17f4d5) )
3273   ROM_LOAD( "galnamco.z",   0x2000, 0x0800, CRC(f4bc7262) SHA1(c4b70e474d49f45cec96f7c250bd77e01e18601a) )
3274
3275   ROM_REGION( 0x1000, "gfx1", 0 )
3276   ROM_LOAD( "galx_4c1.rom", 0x0000, 0x0800, CRC(d5e88ab4) SHA1(737a22e406fd0a97d10e93a2c91c3aa61aebbdef) )
3277   ROM_LOAD( "galx_4c2.rom", 0x0800, 0x0800, CRC(a57b83e4) SHA1(335d8674df1d237a4b83da00eb9aee346bc2e901) )
3278
3279   ROM_REGION( 0x0020, "proms", 0 )
3280   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3281ROM_END
3282
3283ROM_START( swarm )
3284   ROM_REGION( 0x4000, "maincpu", 0 )
3285   ROM_LOAD( "swarm1.bin",   0x0000, 0x0800, CRC(21eba3d0) SHA1(d07f141d785c86faca8c40af034c26f2789e9346) )
3286   ROM_LOAD( "swarm2.bin",   0x0800, 0x0800, CRC(f3a436cd) SHA1(8d64e61b823e22f17cb79bf9e0c7b3c80c76413f) )
3287   ROM_LOAD( "swarm3.bin",   0x1000, 0x0800, CRC(2915e38b) SHA1(045d4cc2c363b9ba8d066f902f03b7eacbeb1f5e) )
3288   ROM_LOAD( "swarm4.bin",   0x1800, 0x0800, CRC(8bbbf486) SHA1(84c975562c9c359069fb70f7f416420c74d40622) )
3289   ROM_LOAD( "swarm5.bin",   0x2000, 0x0800, CRC(f1b1987e) SHA1(0c8b57cb156fdd1a81a5e4535464cafab737185b) )
3290
3291   ROM_REGION( 0x1000, "gfx1", 0 )
3292   ROM_LOAD( "swarma.bin",   0x0000, 0x0800, CRC(ef8657bb) SHA1(c942db83231b04041e2794a08ce779331613edcf) )
3293   ROM_LOAD( "swarmb.bin",   0x0800, 0x0800, CRC(60c4bd31) SHA1(a8f22f8d7a9fca2c29091888e243dfa10211e138) )
3294
3295   ROM_REGION( 0x0020, "proms", 0 )
3296   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3297ROM_END
3298
3299ROM_START( zerotime )
3300   ROM_REGION( 0x4000, "maincpu", 0 )
3301   ROM_LOAD( "zt-p01c.016",  0x0000, 0x0800, CRC(90a2bc61) SHA1(9d23dfcf5310cf1d4aa1b473ec84279585e1a876) )
3302   ROM_LOAD( "zt-2.016",     0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) )
3303   ROM_LOAD( "zt-3.016",     0x1000, 0x0800, CRC(aaf038d4) SHA1(2d070fe7c4e9b26092f0f12a9db3392f7d8a65f1) )
3304   ROM_LOAD( "zt-4.016",     0x1800, 0x0800, CRC(786d690a) SHA1(50c5c07941006e3b71afbf057d27daa2f2274925) )
3305   ROM_LOAD( "zt-5.016",     0x2000, 0x0800, CRC(af9260d7) SHA1(955e466a8989993351dc69d73ca322c1c9af7b63) )
3306
3307   ROM_REGION( 0x1000, "gfx1", 0 )
3308   ROM_LOAD( "ztc-2.016",    0x0000, 0x0800, CRC(1b13ca05) SHA1(6999068771dacc6bf6c17eb858af593a929d09af) )
3309   ROM_LOAD( "ztc-1.016",    0x0800, 0x0800, CRC(5cd7df03) SHA1(77873408c89546a17b1da3f64b7e96e314fadb17) )
3310
3311   ROM_REGION( 0x0020, "proms", 0 )
3312   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3313ROM_END
3314
3315ROM_START( starfght )
3316   ROM_REGION( 0x4000, "maincpu", 0 )
3317   ROM_LOAD( "ja.1",         0x0000, 0x0400, CRC(c6ab558b) SHA1(2b707e332c57b9ec6a61220ab2b79ed5076d0628) )
3318   ROM_LOAD( "jb.2",         0x0400, 0x0400, CRC(34b99fed) SHA1(03d12b19c9aee75313cae6af602c93205d2fd4a8) )
3319   ROM_LOAD( "jc.3",         0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) )
3320   ROM_LOAD( "jd.4",         0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) )
3321   ROM_LOAD( "je.5",         0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) )
3322   ROM_LOAD( "jf.6",         0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) )
3323   ROM_LOAD( "jg.7",         0x1800, 0x0400, CRC(707c0f02) SHA1(4cfb18b8161ec6a74663b54120bdc6371ee9dbff) )
3324   ROM_LOAD( "jh.8",         0x1c00, 0x0400, CRC(5dd26461) SHA1(173b939287d0261ff069c277a1afd724133f4c88) )
3325   ROM_LOAD( "ji.9",         0x2000, 0x0400, CRC(6651fe93) SHA1(eb1d9466090ef723ae20003e5be27059f5bea57b) )
3326   ROM_LOAD( "jj.10",        0x2400, 0x0400, CRC(12c721b9) SHA1(1944cd5129115d245ced44da7f1eb4574561c457) )
3327
3328   ROM_REGION( 0x1000, "gfx1", 0 )
3329   ROM_LOAD( "k1.7a",        0x0000, 0x0800, CRC(977e37cf) SHA1(88ff1e4edadf5cfc83413a1fe999aecf4ba72232) )
3330   ROM_LOAD( "k2.9a",        0x0800, 0x0800, CRC(15e387ce) SHA1(d804b1391de5a15c336aa53c812b4a885f830191) )
3331
3332   ROM_REGION( 0x0020, "proms", 0 )
3333   ROM_LOAD( "mmi6331.7f",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* Compatible with 82s123 prom */
3334ROM_END
3335
3336/* was marked 'star fighter' but doesn't appear to be the above game */
3337ROM_START( galaxbsf )
3338   ROM_REGION( 0x4000, "maincpu", 0 )
3339   ROM_LOAD( "1.bn",         0x0000, 0x0400, CRC(cc37b774) SHA1(5b7d9e3c896a1f5b0353732806568d4ffead3ead) )
3340   ROM_LOAD( "2.bn",         0x0400, 0x0400, CRC(c6d21f03) SHA1(64784915bf988fd2a3eea5f219c95c8498175018) )
3341   ROM_LOAD( "3.bn",         0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) )
3342   ROM_LOAD( "4.bn",         0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) )
3343   ROM_LOAD( "5.bn",         0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) )
3344   ROM_LOAD( "6.bn",         0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) )
3345   ROM_LOAD( "7.bn",         0x1800, 0x0400, CRC(1237b9da) SHA1(00e11532c599fca452a816683b361a24476b7100) )
3346   ROM_LOAD( "8.bn",         0x1c00, 0x0400, CRC(78c53607) SHA1(780acff57b594185eb5f4b24ae7d8b4992d96611) )
3347   ROM_LOAD( "9.bn",         0x2000, 0x0400, CRC(901894cc) SHA1(a189a8ab0068e9acc3be7b8e87adc1eadfd6b708) )
3348   ROM_LOAD( "10.bn",        0x2400, 0x0400, CRC(5876f695) SHA1(e8c0d13066cfe4a409293b9e1380513099b35330) )
3349
3350   ROM_REGION( 0x1000, "gfx1", 0 )
3351   ROM_LOAD( "11.bn",       0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3352   ROM_LOAD( "12.bn",       0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3353
3354   ROM_REGION( 0x0020, "proms", 0 )
3355   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3356ROM_END
3357
3358ROM_START( galaxianbl ) // looks to be a fairly plain set with modified bonus lives etc.
3359   ROM_REGION( 0x4000, "maincpu", 0 )
3360   ROM_LOAD( "gal00eg.ic4",       0x0000, 0x0400, CRC(7c44510c) SHA1(76b0831cb42cae0d56176d549f223b75e8275308) )
3361   ROM_LOAD( "gal01eg.ic5",       0x0400, 0x0400, CRC(2a426500) SHA1(c6507a289833a751da7d6907c14bc6fcd4aafda6) )
3362   ROM_LOAD( "gal02.ic6",         0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) )
3363   ROM_LOAD( "gal03.ic7",         0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) )
3364   ROM_LOAD( "gal04.ic8",         0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) )
3365   ROM_LOAD( "gal05.ic9",         0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) )
3366   ROM_LOAD( "gal06.ic10",        0x1800, 0x0400, CRC(1237b9da) SHA1(00e11532c599fca452a816683b361a24476b7100) )
3367   ROM_LOAD( "gal07eg.ic11",      0x1c00, 0x0400, CRC(16144658) SHA1(2195814579d511c290b9d0cfe7386e2c24827627) )
3368   ROM_LOAD( "gal08.ic12",        0x2000, 0x0400, CRC(901894cc) SHA1(a189a8ab0068e9acc3be7b8e87adc1eadfd6b708) )
3369   ROM_LOAD( "gal09.ic13",        0x2400, 0x0400, CRC(5876f695) SHA1(e8c0d13066cfe4a409293b9e1380513099b35330) )
3370
3371   ROM_REGION( 0x1000, "gfx1", 0 )
3372   ROM_LOAD( "galaxian.1h",       0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3373   ROM_LOAD( "galaxian.1k",       0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3374
3375   ROM_REGION( 0x0020, "proms", 0 )
3376   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3377ROM_END
3378
3379ROM_START( kamakazi3 ) /* Hack of Video Games (UK) Ltd. version???? flyer spells it Kamakaze III, also no year or (c) */
3380   ROM_REGION( 0x4000, "maincpu", 0 )
3381   ROM_LOAD( "f_r_a.bin",    0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) )
3382   ROM_LOAD( "f_a.bin",      0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
3383   ROM_LOAD( "f_b.bin",      0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) )
3384   ROM_LOAD( "f_r_c.bin",    0x1800, 0x0800, CRC(c8530a88) SHA1(b8856af80cdae7430c05239875bffdc5d67aab98) )
3385   ROM_LOAD( "f_r_d.bin",    0x2000, 0x0800, CRC(da2d77e0) SHA1(aa96fb8c6401c443b7e767f6d08713bf9e1af103) )
3386
3387   ROM_REGION( 0x1000, "gfx1", 0 )
3388   ROM_LOAD( "r_b.bin",      0x0000, 0x0800, CRC(977e37cf) SHA1(88ff1e4edadf5cfc83413a1fe999aecf4ba72232) )
3389   ROM_LOAD( "r_a.bin",      0x0800, 0x0800, CRC(d0ba22c9) SHA1(678b22d10e1ae7dcea068da838bf6bd648e9ee28) )
3390
3391   ROM_REGION( 0x0020, "proms", 0 )
3392   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3393ROM_END
3394
3395ROM_START( supergx )
3396   ROM_REGION( 0x10000, "maincpu", 0 )
3397   ROM_LOAD( "sg1",          0x0000, 0x0800, CRC(b83f4578) SHA1(9a5d5fc291839f7f1e0a52cca7bea29e99c13315) )
3398   ROM_LOAD( "sg2",          0x0800, 0x0800, CRC(d12ca054) SHA1(8eb7f6904c3c650bfa80908a5988622d5e693bd1) )
3399   ROM_LOAD( "sg3",          0x1000, 0x0800, CRC(53714cb1) SHA1(7dffcd3ced1c3354339bb69477f8aa4c708708db) )
3400   ROM_LOAD( "sg4",          0x1800, 0x0800, CRC(2f36fc69) SHA1(d310dcb0a79b03ee26b0575db9cba6d920cb9273) )
3401   ROM_LOAD( "sg5",          0x2000, 0x0800, CRC(1e0ed4fd) SHA1(183d8990dbff1954921f8c5b67cec09f2d380794) )
3402   ROM_LOAD( "sg6",          0x2800, 0x0800, BAD_DUMP CRC(4f3d97a8) SHA1(b9fcab182ab57e8374fef93f7fd314a155a8d04d) )
3403
3404   ROM_REGION( 0x2000, "gfx1", 0 )
3405   ROM_LOAD( "sgg1",         0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) )
3406   ROM_RELOAD(               0x0800, 0x0800 )
3407   ROM_LOAD( "sgg2",         0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) )
3408   ROM_RELOAD(               0x1800, 0x0800 )
3409
3410   ROM_REGION( 0x0020, "proms", 0 )
3411   ROM_LOAD( "supergx.prm",  0x0000, 0x0020, NO_DUMP )
3412ROM_END
3413
3414ROM_START( tst_galx )
3415   ROM_REGION( 0x4000, "maincpu", 0 )
3416   ROM_LOAD( "test.u",       0x0000, 0x0800, CRC(0614cd7f) SHA1(12440678be8a27a6c3032b6e43c45e27905ffa83) )   /*  The Test ROM */
3417   ROM_LOAD( "galmidw.v",    0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) )
3418   ROM_LOAD( "galmidw.w",    0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) )
3419   ROM_LOAD( "galmidw.y",    0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) )
3420
3421   ROM_LOAD( "7l",           0x2000, 0x0800, CRC(1b933207) SHA1(8b44b0f74420871454e27894d0f004859f9e59a9) )
3422
3423   ROM_REGION( 0x1000, "gfx1", 0 )
3424   ROM_LOAD( "1h.bin",       0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3425   ROM_LOAD( "1k.bin",       0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3426
3427   ROM_REGION( 0x0020, "proms", 0 )
3428   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3429ROM_END
3430
3431
3432ROM_START( blkhole )
3433   ROM_REGION( 0x10000, "maincpu", 0 )
3434   ROM_LOAD( "bh1",          0x0000, 0x0800, CRC(64998819) SHA1(69fe5dfbe6cde18ef4cae62da12b5c692c2c72b9) )
3435   ROM_LOAD( "bh2",          0x0800, 0x0800, CRC(26f26ce4) SHA1(720ce7af05ef596fb9a109591534c74d282955e8) )
3436   ROM_LOAD( "bh3",          0x1000, 0x0800, CRC(3418bc45) SHA1(088bbbde66b7b5c36fa48cf14c22146e1444e67c) )
3437   ROM_LOAD( "bh4",          0x1800, 0x0800, CRC(735ff481) SHA1(d9b32db048a0e2a1195cd6f7326005e6622242a9) )
3438   ROM_LOAD( "bh5",          0x2000, 0x0800, CRC(3f657be9) SHA1(3ed1ee0bc199c1625156d2771eecd18a57a0e6ed) )
3439   ROM_LOAD( "bh6",          0x2800, 0x0800, CRC(a057ab35) SHA1(430261bafe20fc182e6e6659019cf42643e95d54) )
3440
3441   ROM_REGION( 0x1000, "gfx1", 0 )
3442   ROM_LOAD( "bh7",          0x0000, 0x0800, CRC(975ba821) SHA1(c50d55f6ab81b803d67f5e18c1243ef85a1a2df1) )
3443   ROM_LOAD( "bh8",          0x0800, 0x0800, CRC(03d11020) SHA1(5768b573fac9aac168db2723462cca76d4d80552) )
3444
3445   ROM_REGION( 0x0020, "proms", 0 )
3446   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3447ROM_END
3448
3449ROM_START( orbitron )
3450   ROM_REGION( 0x10000, "maincpu", 0 )
3451   ROM_LOAD( "orbitron.3",   0x0600, 0x0200, CRC(419f9c9b) SHA1(788a3920f4270b886b3a578f8c2df33e6314a1c3) )
3452   ROM_CONTINUE(             0x0400, 0x0200)
3453   ROM_CONTINUE(             0x0200, 0x0200)
3454   ROM_CONTINUE(             0x0000, 0x0200)
3455   ROM_LOAD( "orbitron.4",   0x0e00, 0x0200, CRC(44ad56ac) SHA1(3a8339cdee50912a16ac0fb448e6659e32542c0c) )
3456   ROM_CONTINUE(             0x0c00, 0x0200)
3457   ROM_CONTINUE(             0x0a00, 0x0200)
3458   ROM_CONTINUE(             0x0800, 0x0200)
3459   ROM_LOAD( "orbitron.1",   0x1600, 0x0200, CRC(da3f5168) SHA1(1927cc7cd3b9d15b629e09781557f4c75d684182) )
3460   ROM_CONTINUE(             0x1400, 0x0200)
3461   ROM_CONTINUE(             0x1200, 0x0200)
3462   ROM_CONTINUE(             0x1000, 0x0200)
3463   ROM_LOAD( "orbitron.2",   0x1e00, 0x0200, CRC(a3b813fc) SHA1(7f0f22667bee897b474fb485d65a74d74a36991a) )
3464   ROM_CONTINUE(             0x1c00, 0x0200)
3465   ROM_CONTINUE(             0x1a00, 0x0200)
3466   ROM_CONTINUE(             0x1800, 0x0200)
3467   ROM_LOAD( "orbitron.5",   0x2000, 0x0800, CRC(20cd8bb8) SHA1(a5309cb04a656c6e1e18bb19910474af8ef814a5) )
3468
3469   ROM_REGION( 0x1000, "gfx1", 0 )
3470   ROM_LOAD( "orbitron.6",   0x0000, 0x0800, CRC(2c91b83f) SHA1(29c73b7ad0dc5a3ba739492c902ad9201eae6ef2) )
3471   ROM_LOAD( "orbitron.7",   0x0800, 0x0800, CRC(46f4cca4) SHA1(e5fb616b1d17b5b5167f05f7840638840deb2d13) )
3472
3473   ROM_REGION( 0x0020, "proms", 0 )
3474   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3475ROM_END
3476
3477ROM_START( luctoday )
3478   ROM_REGION( 0x10000, "maincpu", 0 )
3479   ROM_LOAD( "ltprog1.bin", 0x0000, 0x0800, CRC(59c389b9) SHA1(1e158ced3b56db2c51e422fb4c0b8893565f1956))
3480   ROM_LOAD( "ltprog2.bin", 0x2000, 0x0800, CRC(ac3893b1) SHA1(f6b9cd8111b367ff7030cba52fe965959d92568f))
3481
3482   ROM_REGION( 0x1000, "gfx1", 0 )
3483   ROM_LOAD( "ltchar2.bin", 0x0000, 0x0800, CRC(8cd73bdc) SHA1(6174f7347d2c96f9c5074bc0da5a370c9b07461b))
3484   ROM_LOAD( "ltchar1.bin", 0x0800, 0x0800, CRC(b5ba9946) SHA1(7222cbe8c41ca74b214f4dd5439bf69d90f4644e))
3485
3486   ROM_REGION( 0x0020, "proms", 0 )//This may not be the correct prom
3487   ROM_LOAD( "74s288.ch", 0x0000, 0x0020, BAD_DUMP CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d))
3488ROM_END
3489
3490ROM_START( chewing )
3491   ROM_REGION( 0x10000, "maincpu", 0 )
3492   ROM_LOAD( "1.bin", 0x0000, 0x1000, CRC(7470b347) SHA1(315d2631b50a6e469b9538318d95452e8d2e1f69) )
3493   ROM_LOAD( "7l.bin", 0x2000, 0x0800, CRC(78ebed36) SHA1(e80185737c8ac448901cf0e60ca50d967c323b34) )
3494
3495   ROM_REGION( 0x1000, "gfx1", 0 )
3496   ROM_LOAD( "2.bin", 0x0000, 0x0800, CRC(88c605f3) SHA1(938a9fadfa0994a1d2fc9b3266ec4ccdb5ec6d3a) )
3497   ROM_LOAD( "3.bin", 0x0800, 0x0800, CRC(77ac016a) SHA1(fa5b1e79603ca8d2ee7b3d0a78f12d9ffeec3fd4) )
3498
3499   ROM_REGION( 0x0020, "proms", 0 )
3500   ROM_LOAD( "74s288.ch", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
3501ROM_END
3502
3503ROM_START( catacomb )
3504   ROM_REGION( 0x10000, "maincpu", 0 )
3505   ROM_LOAD( "catacomb.u",    0x0000, 0x0800, CRC(35cc28d2) SHA1(e1dbd75fc21ec88b8119bf9508c87d78e1d5c4f6) )
3506   ROM_LOAD( "catacomb.v",    0x0800, 0x0800, CRC(1d1ce133) SHA1(e22a169003a2238004bdf6c2558198216c2353b7) )
3507   ROM_LOAD( "catacomb.w",    0x1000, 0x0800, CRC(479bbde7) SHA1(9981662cb6351de7c1730de45f645fb0e26ea467) )
3508   /* no .x */
3509   ROM_LOAD( "catacomb.y",    0x2000, 0x0800, CRC(5e3da534) SHA1(a9b960ae96c8ef0b2d590bc58b711aad949025e2) )
3510
3511   ROM_REGION( 0x1000, "gfx1", 0 )
3512   ROM_LOAD( "cat-gfx1",       0x0000, 0x0800, CRC(e871e65c) SHA1(0b528dfab0f57153db9406798848cdedee0323a0) )
3513   ROM_LOAD( "cat-gfx2",       0x0800, 0x0800, CRC(b14dafaa) SHA1(592d5931a76563b3565f22ac4c0120b9a120193f) )
3514
3515   ROM_REGION( 0x0020, "proms", 0 )
3516   /* No color PROM came with the conversion - the Moon Cresta one seems more appropriate than Galaxian,
3517      (the game is unplayable with a Galaxian PROM) but which was intended for use with the kit is unclear */
3518   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, BAD_DUMP CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3519ROM_END
3520
3521ROM_START( omega )
3522   ROM_REGION( 0x10000, "maincpu", 0 )
3523   ROM_LOAD( "omega1.bin",   0x0000, 0x0800, CRC(fc2a096b) SHA1(071ff30060a1aa0a47ae6e88140b80caed00fc4e) )
3524   ROM_LOAD( "omega2.bin",   0x0800, 0x0800, CRC(ad100357) SHA1(7c5e82c25e65b4a390cf5607f15bf4df407f7f11) )
3525   ROM_LOAD( "omega3.bin",   0x1000, 0x0800, CRC(d7e3be79) SHA1(ffa228043c6c717bee8bbec16432dcfe2e348aef) )
3526   ROM_LOAD( "omega4.bin",   0x1800, 0x0800, CRC(42068171) SHA1(940ca30a5772940b8a437498d22c6121482b38e6) )
3527   ROM_LOAD( "omega5.bin",   0x2000, 0x0800, CRC(d8a93383) SHA1(5f60f127360b14206d4df638e528bf961049e37d) )
3528   ROM_LOAD( "omega6.bin",   0x2800, 0x0800, CRC(32a42f44) SHA1(94f458997ec279dce218a17b665fa8c46067e646) )
3529
3530   ROM_REGION( 0x1000, "gfx1", 0 )
3531   ROM_LOAD( "omega1h.bin",  0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) )
3532   ROM_LOAD( "omega1k.bin",  0x0800, 0x0800, CRC(36de42c6) SHA1(6fd93d439e3b8eab62049f925d9e8f8deeda2ae3) )
3533
3534   ROM_REGION( 0x0020, "proms", 0 )
3535   ROM_LOAD( "mmi6331-1j.86",   0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3536ROM_END
3537
3538
3539ROM_START( warofbug )  /* Shows 20c as the base of currency.  I know of no US games that used dimes - unless it's another country? */
3540   ROM_REGION( 0x4000, "maincpu", 0 )
3541   ROM_LOAD( "warofbug.u",   0x0000, 0x0800, CRC(b8dfb7e3) SHA1(c7c675b2638869a9cd7dbd554e6131d8c71b567a) )
3542   ROM_LOAD( "warofbug.v",   0x0800, 0x0800, CRC(fd8854e0) SHA1(b39ab41b834f18341968dd780f0a3cd07d70c16c) )
3543   ROM_LOAD( "warofbug.w",   0x1000, 0x0800, CRC(4495aa14) SHA1(f1be281db1d831770efa9cc41ea87eb348e70108) )
3544   ROM_LOAD( "warofbug.y",   0x1800, 0x0800, CRC(c14a541f) SHA1(d32e89fd18d9e1db2e4a545186eac728c0b02255) )
3545   ROM_LOAD( "warofbug.z",   0x2000, 0x0800, CRC(c167fe55) SHA1(d85c4d1bd7aa5e14eb2f11dfa14979e5dbc084a8) )
3546
3547   ROM_REGION( 0x1000, "gfx1", 0 )
3548   ROM_LOAD( "warofbug.1k",  0x0000, 0x0800, CRC(8100fa85) SHA1(06641c431cace36dec98b87555f62e72f3e53a31) )
3549   ROM_LOAD( "warofbug.1j",  0x0800, 0x0800, CRC(d1220ae9) SHA1(e892bc8b0b71d8b07503e474e9c30e6cab460682) )
3550
3551   ROM_REGION( 0x0020, "proms", 0 )
3552   ROM_LOAD( "warofbug.clr", 0x0000, 0x0020, CRC(8688e64b) SHA1(ed13414257f580b98b50c9892a14159c55e7838d) )
3553ROM_END
3554
3555
3556ROM_START( warofbugg )
3557   ROM_REGION( 0x4000, "maincpu", 0 )
3558   ROM_LOAD( "wotbg-u-1.bin",   0x0000, 0x0800, CRC(f43ff0a8) SHA1(b87abeb8af9105fa8fba78f9a68363bd89066e7f) )
3559   ROM_LOAD( "wotbg-v-2.bin",   0x0800, 0x0800, CRC(eb7a028b) SHA1(8c822ae11d3cc04f749a7cd639d15b9fc830ab35) )
3560   ROM_LOAD( "wotbg-w-3.bin",   0x1000, 0x0800, CRC(693e0e50) SHA1(00b19969cee0f95bfb8251c2df133ff2c9ae3b00) )
3561   ROM_LOAD( "wotbg-y-4.bin",   0x1800, 0x0800, CRC(885d4982) SHA1(4aeaf514a9413a9cb9a971fd258c6cf46ca66fc4) )
3562   ROM_LOAD( "wotbg-z-5.bin",   0x2000, 0x0800, CRC(60041ef2) SHA1(cced5837a037ac5cd8fa6260d69d8e33de5ecd48) )
3563
3564   ROM_REGION( 0x1000, "gfx1", 0 )
3565   ROM_LOAD( "warofbug.1k",  0x0000, 0x0800, CRC(8100fa85) SHA1(06641c431cace36dec98b87555f62e72f3e53a31) )
3566   ROM_LOAD( "warofbug.1j",  0x0800, 0x0800, CRC(d1220ae9) SHA1(e892bc8b0b71d8b07503e474e9c30e6cab460682) )
3567
3568   ROM_REGION( 0x0020, "proms", 0 )
3569   ROM_LOAD( "warofbug.clr", 0x0000, 0x0020, CRC(8688e64b) SHA1(ed13414257f580b98b50c9892a14159c55e7838d) )
3570ROM_END
3571
3572
3573/*  Galaxian hardware mods for War of the Bugs warofbug/warofbugg
3574
3575(WotB using daughterboard that plugs into Z80 socket - has a socketed PAL, two other 20-pin ICs,
3576a 16-pin IC (all with their markings sanded off) and five EPROMs)
3577
3578On the Galaxian board:
3579
35802B, 74LS366 - cut pin 15 OR pin 1 (this disables the stars)
35818E, 74LS139 - cut pin 11 only, join the stub left ON THE CHIP to pin 13 on the chip
3582
3583Cut the track on the bottom of the board going to pin 21 of IC 1K
3584(2716 eprom).
3585
3586Cut the track on the bottom of the board going to pin 21 of IC 1H
3587(2716 eprom).
3588
3589Join pins 21 of IC's 1H and 1K together and connect both to +5 volts
3590(although I've seen one set of docs saying to connect to pin 1 of
3591ic 2N (7408) instead)  */
3592
3593
3594ROM_START( warofbugu )
3595   ROM_REGION( 0x4000, "maincpu", 0 )
3596   ROM_LOAD( "wb-prog-1.7d",   0x0000, 0x0800, CRC(b8dfb7e3) SHA1(c7c675b2638869a9cd7dbd554e6131d8c71b567a) )
3597   ROM_LOAD( "wb-prog-2.7e",   0x0800, 0x0800, CRC(fd8854e0) SHA1(b39ab41b834f18341968dd780f0a3cd07d70c16c) )
3598   ROM_LOAD( "wb-prog-3.7j",   0x1000, 0x0800, CRC(4495aa14) SHA1(f1be281db1d831770efa9cc41ea87eb348e70108) )
3599   ROM_LOAD( "wb-prog-4.7n",   0x1800, 0x0800, CRC(e4bd257c) SHA1(e9a26a50cbc76bb339dfbf3d2817229fe9ff7fc4) )
3600   ROM_LOAD( "wb-prog-5.7p",   0x2000, 0x0800, CRC(71257bb4) SHA1(3624becfda4e080795a15428a51dcda261f91210) )
3601
3602   ROM_REGION( 0x1000, "gfx1", 0 )
3603   ROM_LOAD( "warofbug.1k",  0x0000, 0x0800, CRC(8100fa85) SHA1(06641c431cace36dec98b87555f62e72f3e53a31) ) // wb-vid-1.1j
3604   ROM_LOAD( "warofbug.1j",  0x0800, 0x0800, CRC(d1220ae9) SHA1(e892bc8b0b71d8b07503e474e9c30e6cab460682) ) // wb-vid-2.1l
3605
3606   ROM_REGION( 0x0020, "proms", 0 )
3607   ROM_LOAD( "warofbug.clr", 0x0000, 0x0020, CRC(8688e64b) SHA1(ed13414257f580b98b50c9892a14159c55e7838d) )
3608ROM_END
3609
3610
3611ROM_START( redufo ) /* Galaxian bootleg hardware known as Artic Multi-System */
3612   ROM_REGION( 0x4000, "maincpu", 0 )
3613   ROM_LOAD( "redufo.1",  0x0000, 0x0800, CRC(6a3b873c) SHA1(82f07921d8f1da3ed8b4f99b8052bd7e2cefcb6a) )
3614   ROM_LOAD( "redufo.2",  0x0800, 0x0800, CRC(202eda3b) SHA1(5ca7b50fc510950cd6cce6f27573b5c491171bf0) )
3615   ROM_LOAD( "redufo.3",  0x1000, 0x0800, CRC(bf7030e8) SHA1(59b0624dd91527a916ee6a27d61def82c3c14f49) )
3616   ROM_LOAD( "redufo.4",  0x1800, 0x0800, CRC(8c1c2ef9) SHA1(3beec82c67d8e26ecd988be77efb8599a4741d4d) )
3617   ROM_LOAD( "redufo.5",  0x2000, 0x0800, CRC(ef965b24) SHA1(2e2e0ef2b2940660092c27f46ae76c9320136f17) )
3618   ROM_LOAD( "redufo.6",  0x2800, 0x0800, CRC(58b3e39b) SHA1(9b081154c90f22c17315c8bc2a47993468367768) )
3619   ROM_LOAD( "redufo.7",  0x3000, 0x0800, CRC(fd07d811) SHA1(6b968a7ce452f76a8d26fe694aa4ea6b16e8b6fa) )
3620
3621   ROM_REGION( 0x1000, "gfx1", 0 )
3622   ROM_LOAD( "redufo.8",  0x0000, 0x0800, CRC(b34c7cb4) SHA1(146ed4a02d7540378f4a27a6643055216ad403f7) )
3623   ROM_LOAD( "redufo.9",  0x0800, 0x0800, CRC(50a2d447) SHA1(1f97d1096ad2a3a43a480cb1f040f4534fada3c3) )
3624
3625   ROM_REGION( 0x0020, "proms", 0 )
3626   ROM_LOAD( "tbp18s030n.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3627ROM_END
3628
3629ROM_START( redufob )
3630   ROM_REGION( 0x4000, "maincpu", 0 )
3631   ROM_LOAD( "ru1a",         0x0000, 0x0800, CRC(5a8e4f37) SHA1(c0957ede91e2dc3f80e4912b877843aed5d15779) )
3632   ROM_LOAD( "ru2a",         0x0800, 0x0800, CRC(c624f52d) SHA1(119a660513ad33e35c9bdaecd588219bf8026d82) )
3633   ROM_LOAD( "ru3a",         0x1000, 0x0800, CRC(e1030d1c) SHA1(80640fbbfa7f84c016366b1084e7f8a7acdcd440) )
3634   ROM_LOAD( "ru4a",         0x1800, 0x0800, CRC(7692069e) SHA1(5130d61c857c3b85eadabcf10f3a6771c72f0f56) )
3635   ROM_LOAD( "ru5a",         0x2000, 0x0800, CRC(cb648ff3) SHA1(e0042251ca7f4a31b5bd9f8cca35278a1e152899) )
3636   ROM_LOAD( "ru6a",         0x2800, 0x0800, CRC(e1a9f58e) SHA1(4fc7489fca057156a7cf5efcb01058ce4f0db69e) )
3637
3638   ROM_REGION( 0x1000, "gfx1", 0 )
3639   ROM_LOAD( "ruhja",        0x0000, 0x0800, CRC(8a422b0d) SHA1(b886157518f73e7115a225ba230e456179f6e18f) )
3640   ROM_LOAD( "rukla",        0x0800, 0x0800, CRC(1eb84cb1) SHA1(08f360802a90039c0499a1417d06b6eb5f89d67e) )
3641
3642   ROM_REGION( 0x0020, "proms", 0 )
3643   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3644ROM_END
3645
3646ROM_START( exodus )
3647   ROM_REGION( 0x4000, "maincpu", 0 )
3648   ROM_LOAD( "exodus1.bin",  0x0000, 0x0800, CRC(5dfe65e1) SHA1(5f1ce289b3c98a89d61d4dea952b4b8888d92ed7) )
3649   ROM_LOAD( "exodus2.bin",  0x0800, 0x0800, CRC(6559222f) SHA1(520497f6fb2b0c76be8419702e8af894283ebf0b) )
3650   ROM_LOAD( "exodus3.bin",  0x1000, 0x0800, CRC(bf7030e8) SHA1(59b0624dd91527a916ee6a27d61def82c3c14f49) )
3651   ROM_LOAD( "exodus4.bin",  0x1800, 0x0800, CRC(3607909e) SHA1(93d074fe4b258d496a0998acb3fc47f0a762227a) )
3652   ROM_LOAD( "exodus9.bin",  0x2000, 0x0800, CRC(994a90c4) SHA1(a07e3ce8f69042c45ebe00ab1d40dbb85602a7a2) )
3653   ROM_LOAD( "exodus10.bin", 0x2800, 0x0800, CRC(fbd11187) SHA1(a3bd49c4a79e76b08e6b343b94689159dc239458) )
3654   ROM_LOAD( "exodus11.bin", 0x3000, 0x0800, CRC(fd07d811) SHA1(6b968a7ce452f76a8d26fe694aa4ea6b16e8b6fa) )
3655
3656   ROM_REGION( 0x1000, "gfx1", 0 )
3657   ROM_LOAD( "exodus5.bin",  0x0000, 0x0800, CRC(b34c7cb4) SHA1(146ed4a02d7540378f4a27a6643055216ad403f7) )
3658   ROM_LOAD( "exodus6.bin",  0x0800, 0x0800, CRC(50a2d447) SHA1(1f97d1096ad2a3a43a480cb1f040f4534fada3c3) )
3659
3660   ROM_REGION( 0x0020, "proms", 0 )
3661   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3662ROM_END
3663
3664ROM_START( tdpgal )
3665   ROM_REGION( 0x10000, "maincpu", 0 )
3666   ROM_LOAD( "1.bin",  0x0000, 0x0800, CRC(7be819fe) SHA1(ab5a332914546692f9976e243daf3040f0d9952e) )
3667   ROM_LOAD( "2.bin",  0x0800, 0x0800, CRC(70c83a5e) SHA1(7b781b027c73d6c3901c6d27901f97fae61a352d) )
3668   ROM_LOAD( "3.bin",  0x1000, 0x0800, CRC(475eb5a0) SHA1(b7436873fd74aff3577540474420a1abaa2babcb) )
3669   ROM_LOAD( "4.bin",  0x1800, 0x0800, CRC(20a71943) SHA1(e196eea20bd0518545dcde61f2697a1d6f61568b) )
3670   ROM_LOAD( "5.bin",  0x2000, 0x0800, CRC(72c4f2dc) SHA1(30a9c69afd2c4da4a14363fc0b17b1e0da188927) )
3671   ROM_LOAD( "6.bin",  0x2800, 0x0800, CRC(fa4e2be4) SHA1(a30d43189660f8a1437faf87064fce28c9c760ad) )
3672
3673   ROM_REGION( 0x1000, "gfx1", 0 )
3674   ROM_LOAD( "8.bin",         0x0000, 0x0800, CRC(d701b1d4) SHA1(8f23ba3c9f42fedd8b8f38d321118a86889f00dc) )
3675   ROM_LOAD( "7.bin",         0x0800, 0x0800, CRC(3113bcfd) SHA1(e2792e5fe7d7f27bb329e3104dee3ca29d72ef48) )
3676
3677   ROM_REGION( 0x0020, "proms", 0 )
3678   ROM_LOAD( "bprom.bin",       0x0000, 0x0020, CRC(2b4cf53f) SHA1(8d7eb0453173b9821eea32419b67559bfb4578d0) )
3679ROM_END
3680
3681
3682ROM_START( azurian )
3683   ROM_REGION( 0x10000, "maincpu", 0 )
3684   ROM_LOAD( "pgm.1",        0x0000, 0x1000, CRC(17a0fca7) SHA1(0ffb80d433fbaa0631d0d982a453f9e6cccab297) )
3685   ROM_LOAD( "pgm.2",        0x1000, 0x1000, CRC(14659848) SHA1(bb9d9c01b074bf7ed7a1c29379bbef41728dd27a) )
3686   ROM_LOAD( "pgm.3",        0x2000, 0x1000, CRC(8f60fb97) SHA1(d0f4d65e568ac1a5d41e550f2f626cbf72884959) )
3687
3688   ROM_REGION( 0x1000, "gfx1", 0 )
3689   ROM_LOAD( "gfx.1",        0x0000, 0x0800, CRC(f5afb803) SHA1(ffc8f86a35179d7715ef618004b79003e0236a93) )
3690   ROM_LOAD( "gfx.2",        0x0800, 0x0800, CRC(ae96e5d1) SHA1(df667fb96d7353ccf9ce0acf788371ef2221e97d) )
3691
3692   ROM_REGION( 0x0020, "proms", 0 )
3693   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3694ROM_END
3695
3696ROM_START( pisces )
3697   ROM_REGION( 0x4000, "maincpu", 0 )
3698   ROM_LOAD( "p1.bin",       0x0000, 0x0800, CRC(40c5b0e4) SHA1(6c18e6f4719eb0d7eb13b778d7ea58e4b87ac35c) )
3699   ROM_LOAD( "p2.bin",       0x0800, 0x0800, CRC(055f9762) SHA1(9d821874dd48a80651adc58a2f7fe5d2b3ed67bc) )
3700   ROM_LOAD( "p3.bin",       0x1000, 0x0800, CRC(3073dd04) SHA1(b93913a988f412d565abd19dc668976585cc8066) )
3701   ROM_LOAD( "p4.bin",       0x1800, 0x0800, CRC(44aaf525) SHA1(667bf4c3a36169c3ddddd22b2f1f90bcc9308548) )
3702   ROM_LOAD( "p5.bin",       0x2000, 0x0800, CRC(fade512b) SHA1(ccef2650f1d9dc3fdde2d441774246d47febc2cc) )
3703   ROM_LOAD( "p6.bin",       0x2800, 0x0800, CRC(5ab2822f) SHA1(bbcac3aab943dd9b173de11ddf02ff75d16b1582) )
3704
3705   ROM_REGION( 0x2000, "gfx1", 0 )
3706//  ROM_LOAD( "pisces.1j",    0x0000, 0x1000, CRC(2dba9e0e) )
3707//  ROM_LOAD( "pisces.1k",    0x1000, 0x1000, CRC(cdc5aa26) )
3708   ROM_LOAD( "g09.bin",      0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) )
3709   ROM_LOAD( "g11.bin",      0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) )
3710   ROM_LOAD( "g10.bin",      0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) )
3711   ROM_LOAD( "g12.bin",      0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) )
3712
3713   ROM_REGION( 0x0020, "proms", 0 )
3714   ROM_LOAD( "colour.bin",   0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )    // same as checkman.clr
3715ROM_END
3716
3717ROM_START( piscesb )
3718   ROM_REGION( 0x4000, "maincpu", 0 )
3719   ROM_LOAD( "pisces.a1",    0x0000, 0x0800, CRC(856b8e1f) SHA1(24d468b5f06f54c3fa1cb54ceec8a0c8e285430e) )
3720   ROM_LOAD( "p2.bin",       0x0800, 0x0800, CRC(055f9762) SHA1(9d821874dd48a80651adc58a2f7fe5d2b3ed67bc) )
3721   ROM_LOAD( "pisces.b2",    0x1000, 0x0800, CRC(5540f2e4) SHA1(b069a7e46fa2c1f732371ef056caaf8f343e11a8) )
3722   ROM_LOAD( "p4.bin",       0x1800, 0x0800, CRC(44aaf525) SHA1(667bf4c3a36169c3ddddd22b2f1f90bcc9308548) )
3723   ROM_LOAD( "p5.bin",       0x2000, 0x0800, CRC(fade512b) SHA1(ccef2650f1d9dc3fdde2d441774246d47febc2cc) )
3724   ROM_LOAD( "p6.bin",       0x2800, 0x0800, CRC(5ab2822f) SHA1(bbcac3aab943dd9b173de11ddf02ff75d16b1582) )
3725
3726   ROM_REGION( 0x2000, "gfx1", 0 )
3727//  ROM_LOAD( "pisces.1j",    0x0000, 0x1000, CRC(2dba9e0e) )
3728//  ROM_LOAD( "pisces.1k",    0x1000, 0x1000, CRC(cdc5aa26) )
3729   ROM_LOAD( "g09.bin",      0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) )
3730   ROM_LOAD( "g11.bin",      0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) )
3731   ROM_LOAD( "g10.bin",      0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) )
3732   ROM_LOAD( "g12.bin",      0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) )
3733
3734   ROM_REGION( 0x0020, "proms", 0 )
3735//  ROM_LOAD( "6331-1j.86",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* very close to Galaxian */
3736   ROM_LOAD( "colour.bin",   0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )    // same as checkman.clr
3737ROM_END
3738
3739ROM_START( omni )
3740   ROM_REGION( 0x4000, "maincpu", 0 )
3741   ROM_LOAD( "omni1.7f",     0x0000, 0x1000, CRC(a9b7acc6) SHA1(0c6319957b760fea3cfa6c29b37c25f5a89a6d77) )
3742   ROM_LOAD( "omni2.7j",     0x1000, 0x1000, CRC(6ade29b7) SHA1(64f1ce82c761db11d26c385299a7063f5971c99a) )
3743   ROM_LOAD( "omni3.7f",     0x2000, 0x1000, CRC(9e37bb24) SHA1(d90b2ff0297d87687561e1e9b29510b6c051760b) )
3744
3745   ROM_REGION( 0x2000, "gfx1", 0 )
3746   ROM_LOAD( "omni5b.l1",    0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) )
3747   ROM_LOAD( "omni6c.j22",   0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) )
3748   ROM_LOAD( "omni4a.j1",    0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) )
3749   ROM_LOAD( "omni7d.l2",    0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) )
3750
3751   ROM_REGION( 0x0020, "proms", 0 )
3752   ROM_LOAD( "colour.bin",   0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )
3753ROM_END
3754
3755ROM_START( uniwars )
3756   ROM_REGION( 0x4000, "maincpu", 0 )
3757   ROM_LOAD( "f07_1a.bin",   0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
3758   ROM_LOAD( "h07_2a.bin",   0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
3759   ROM_LOAD( "k07_3a.bin",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3760   ROM_LOAD( "m07_4a.bin",   0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) )
3761   ROM_LOAD( "d08p_5a.bin",  0x2000, 0x0800, CRC(62354351) SHA1(85bf18942f73023b8be0c3659a0dcd3dfcccfc2c) )
3762   ROM_LOAD( "gg6",          0x2800, 0x0800, CRC(270a3f4d) SHA1(20f5097033fca515d70fe47178cbd341a1d07443) )
3763   ROM_LOAD( "m08p_7a.bin",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3764   ROM_LOAD( "n08p_8a.bin",  0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
3765
3766   ROM_REGION( 0x2000, "gfx1", 0 )
3767   ROM_LOAD( "egg10",        0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) )
3768   ROM_LOAD( "h01_2.bin",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3769   ROM_LOAD( "egg9",         0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) )
3770   ROM_LOAD( "k01_2.bin",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3771
3772   ROM_REGION( 0x0020, "proms", 0 )
3773   ROM_LOAD( "uniwars.clr",  0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
3774ROM_END
3775
3776ROM_START( spacempr )
3777   ROM_REGION( 0x4000, "maincpu", 0 )
3778   ROM_LOAD( "uw01",   0x0000, 0x0800, CRC(7c64fb92) SHA1(69f0923870cb8cbb7ae7a2a056c67a1da9b5588d) )
3779   ROM_LOAD( "uw02",   0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
3780   ROM_LOAD( "uw03",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3781   ROM_LOAD( "uw04",   0x1800, 0x0800, CRC(84885060) SHA1(a6ea3e272b426e86ff87e95c765362b44506228e) )
3782   ROM_LOAD( "uw05",   0x2000, 0x0800, CRC(e342371d) SHA1(f53caf7793df5788237d5e2f35242c0dd7a3085b) )
3783   ROM_LOAD( "uw06",   0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
3784   ROM_LOAD( "uw07",   0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3785   ROM_LOAD( "uw08",   0x3800, 0x0800, CRC(a237c394) SHA1(66dfa2aa39bd19f1f6ddb267d8f8bdbdba750d46) )
3786
3787   ROM_REGION( 0x2000, "gfx1", 0 )
3788   ROM_LOAD( "uw10",   0x0000, 0x0800, CRC(af069cba) SHA1(12b7d0a57f43613c80afd51c417628090740aabe) )
3789   ROM_LOAD( "uw12",   0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3790   ROM_LOAD( "uw09",   0x1000, 0x0800, CRC(ff2c20d5) SHA1(48668dc4f008f44f5c15bdcc331cfe133da99cd4) )
3791   ROM_LOAD( "uw11",   0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3792
3793   ROM_REGION( 0x0020, "proms", 0 )
3794   ROM_LOAD( "mmi6331",  0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3795ROM_END
3796
3797ROM_START( gteikoku )
3798   ROM_REGION( 0x4000, "maincpu", 0 )
3799   ROM_LOAD( "f07_1a.bin",   0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
3800   ROM_LOAD( "h07_2a.bin",   0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
3801   ROM_LOAD( "k07_3a.bin",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3802   ROM_LOAD( "m07_4a.bin",   0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) )
3803   ROM_LOAD( "d08p_5a.bin",  0x2000, 0x0800, CRC(62354351) SHA1(85bf18942f73023b8be0c3659a0dcd3dfcccfc2c) )
3804   ROM_LOAD( "e08p_6a.bin",  0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
3805   ROM_LOAD( "m08p_7a.bin",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3806   ROM_LOAD( "n08p_8a.bin",  0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
3807
3808   ROM_REGION( 0x2000, "gfx1", 0 )
3809   ROM_LOAD( "h01_1.bin",    0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) )
3810   ROM_LOAD( "h01_2.bin",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3811   ROM_LOAD( "k01_1.bin",    0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) )
3812   ROM_LOAD( "k01_2.bin",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3813
3814   ROM_REGION( 0x0020, "proms", 0 )
3815   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3816ROM_END
3817
3818ROM_START( gteikokb )
3819   ROM_REGION( 0x4000, "maincpu", 0 )
3820   ROM_LOAD( "1.bin",        0x0000, 0x0800, CRC(bf00252f) SHA1(a4ec48c6b9468f52bcf8b01d1bdb908dcf81d42d) )
3821   ROM_LOAD( "2.bin",        0x0800, 0x0800, CRC(f712b7d5) SHA1(c269db2e9984a3fbd33888bd426c53d319cad36f) )
3822   ROM_LOAD( "k07_3a.bin",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3823   ROM_LOAD( "4.bin",        0x1800, 0x0800, CRC(808a39a8) SHA1(f3db5175d0c2d10e9e3ded400888f6541490597e) )
3824   ROM_LOAD( "5.bin",        0x2000, 0x0800, CRC(36fe6e67) SHA1(e54a19ad6611fefcdfcf74019a63cc6cea6cf433) )
3825   ROM_LOAD( "6.bin",        0x2800, 0x0800, CRC(c5ea67e8) SHA1(0157eb2ef5ab56cd00e5f4fafd618271d2d4862b) )
3826   ROM_LOAD( "m08p_7a.bin",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3827   ROM_LOAD( "8.bin",        0x3800, 0x0800, CRC(28df3229) SHA1(fd307c6a7de4fcddce1c2f36a957a31b9a6aaa21) )
3828
3829   ROM_REGION( 0x2000, "gfx1", 0 )
3830   ROM_LOAD( "h01_1.bin",    0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) )
3831   ROM_LOAD( "h01_2.bin",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3832   ROM_LOAD( "k01_1.bin",    0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) )
3833   ROM_LOAD( "k01_2.bin",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3834
3835   ROM_REGION( 0x0020, "proms", 0 )
3836   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3837ROM_END
3838
3839ROM_START( gteikob2 )
3840   ROM_REGION( 0x4000, "maincpu", 0 )
3841   ROM_LOAD( "94gnog.bin",   0x0000, 0x0800, CRC(67ec3235) SHA1(f250db867257f474f693012c11008bf92f038cc7) )
3842   ROM_LOAD( "92gnog.bin",   0x0800, 0x0800, CRC(813c41f2) SHA1(bd92e0b53e3c8874d63f3444bca02246cd74b1c6) )
3843   ROM_LOAD( "k07_3a.bin",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3844   ROM_LOAD( "1gnog.bin",    0x1800, 0x0800, CRC(49ff9658) SHA1(3b7f3dc40b3fbc7d4abe5f5d534951c70409148c) )
3845   ROM_LOAD( "5.bin",        0x2000, 0x0800, CRC(36fe6e67) SHA1(e54a19ad6611fefcdfcf74019a63cc6cea6cf433) )
3846   ROM_LOAD( "e08p_6a.bin",  0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
3847   ROM_LOAD( "m08p_7a.bin",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3848   ROM_LOAD( "98gnog.bin",   0x3800, 0x0800, CRC(e9d4ad3c) SHA1(b32b96bebbf59e23b06958f6b16790e9f9f334e2) )
3849
3850   ROM_REGION( 0x2000, "gfx1", 0 )
3851   ROM_LOAD( "h01_1.bin",    0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) )
3852   ROM_LOAD( "h01_2.bin",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3853   ROM_LOAD( "k01_1.bin",    0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) )
3854   ROM_LOAD( "k01_2.bin",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3855
3856   ROM_REGION( 0x0020, "proms", 0 )
3857   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3858ROM_END
3859
3860ROM_START( galemp )
3861   ROM_REGION( 0x4000, "maincpu", 0 )
3862   ROM_LOAD( "1",  0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
3863   ROM_LOAD( "2",  0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
3864   ROM_LOAD( "3",  0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3865   ROM_LOAD( "4",  0x1800, 0x0800, CRC(df7a13ea) SHA1(9d07cdfde84c9243719092234cfa362bf2878a95) )
3866   ROM_LOAD( "5",  0x2000, 0x0800, CRC(ff6128a2) SHA1(64cc17b6cab8d8fd8358840beb13baa76262c6aa) )
3867   ROM_LOAD( "6",  0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
3868   ROM_LOAD( "7",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3869   ROM_LOAD( "8",  0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
3870
3871   ROM_REGION( 0x2000, "gfx1", 0 )
3872   ROM_LOAD( "10",    0x0000, 0x0800, CRC(30177b93) SHA1(b91740b573eadb9a0df23f55594d22b10ea93555) )
3873   ROM_LOAD( "12",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3874   ROM_LOAD( "9",     0x1000, 0x0800, CRC(7e8dcc13) SHA1(56450cb3a9c77a578a12f664d07dbfbbcb82bc07) )
3875   ROM_LOAD( "11",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3876
3877   ROM_REGION( 0x0020, "proms", 0 )
3878   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3879ROM_END
3880
3881ROM_START( asideral )
3882   ROM_REGION( 0x4000, "maincpu", 0 )
3883   ROM_LOAD( "1401.7f",  0x0000, 0x0800, CRC(82a9da91) SHA1(864127f73b4a78435766ff70010663c4d789c472) )
3884   ROM_LOAD( "1302.7h",  0x0800, 0x0800, CRC(cc59b49c) SHA1(13f6cb3a979f1b9baa4fd07c3e36c17ad8e69b5f) )
3885   ROM_LOAD( "1203.7k",  0x1000, 0x0800, CRC(3bc5a165) SHA1(0ad0247f6499170a828bf343f7710c1036b241a7) )
3886   ROM_LOAD( "1104.7m",  0x1800, 0x0800, CRC(c50149d0) SHA1(4007d7c07fe2742d67d2041b4b3c2f3fcaedbc8b) )
3887   ROM_LOAD( "5.8f",     0x2000, 0x0800, CRC(17720c9e) SHA1(c2b59b95c3936e46202e5512a8d117ac86d1be2d) )
3888   ROM_LOAD( "6.8f",     0x2800, 0x0800, CRC(f157a8db) SHA1(75fa76d5dad149502c25d191053041a52dd1562e) )
3889   ROM_LOAD( "7.8f",     0x3000, 0x0800, CRC(75085cb6) SHA1(92c4f375352685ec670b0aa96becce064c5d9bce) )
3890   ROM_LOAD( "8.8f",     0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
3891
3892   ROM_REGION( 0x2000, "gfx1", 0 )
3893   ROM_LOAD( "u10.j2",    0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) )
3894   ROM_LOAD( "u12.j2",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3895   ROM_LOAD( "u9.l2",     0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) )
3896   ROM_LOAD( "u11.l2",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3897
3898   ROM_REGION( 0x0020, "proms", 0 )
3899   ROM_LOAD( "uniwars.clr",  0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
3900ROM_END
3901
3902ROM_START( pajaroes ) // VERY similar to the asideral set
3903   ROM_REGION( 0x4000, "maincpu", 0 )
3904   ROM_LOAD( "pea.rom",  0x0000, 0x0800, CRC(82a9da91) SHA1(864127f73b4a78435766ff70010663c4d789c472) )
3905   ROM_LOAD( "peb.rom",  0x0800, 0x0800, CRC(cc59b49c) SHA1(13f6cb3a979f1b9baa4fd07c3e36c17ad8e69b5f) )
3906   ROM_LOAD( "pec.rom",  0x1000, 0x0800, CRC(3bc5a165) SHA1(0ad0247f6499170a828bf343f7710c1036b241a7) )
3907   ROM_LOAD( "ped.rom",  0x1800, 0x0800, CRC(c50149d0) SHA1(4007d7c07fe2742d67d2041b4b3c2f3fcaedbc8b) )
3908   ROM_LOAD( "pe05.rom", 0x2000, 0x0800, CRC(cb461871) SHA1(3865f3b7f47f314a097dddfcc49929bb63afd4fc) )
3909   ROM_LOAD( "pe04.rom", 0x2800, 0x0800, CRC(f157a8db) SHA1(75fa76d5dad149502c25d191053041a52dd1562e) )
3910   ROM_LOAD( "pe03.rom", 0x3000, 0x0800, CRC(75085cb6) SHA1(92c4f375352685ec670b0aa96becce064c5d9bce) )
3911   ROM_LOAD( "pe02.rom", 0x3800, 0x0800, BAD_DUMP CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) ) // was missing, assuming it's the same as asideral for now
3912
3913   ROM_REGION( 0x2000, "gfx1", 0 )
3914   ROM_LOAD( "pe07.rom",    0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) )
3915   ROM_LOAD( "pe09.rom",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3916   ROM_LOAD( "pe06.rom",    0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) )
3917   ROM_LOAD( "pe08.rom",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3918
3919   ROM_REGION( 0x0020, "proms", 0 ) // wasn't in the set
3920   ROM_LOAD( "uniwars.clr",  0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
3921ROM_END
3922
3923
3924
3925ROM_START( spacbatt )
3926   ROM_REGION( 0x4000, "maincpu", 0 )
3927   ROM_LOAD( "sb1",    0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) /* Same as f07_1a.bin above */
3928   ROM_LOAD( "sb2",    0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) /* Same as h07_2a.bin above */
3929   ROM_LOAD( "sb3",    0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) /* Same as k07_3a.bin above */
3930   ROM_LOAD( "sb4",    0x1800, 0x0800, CRC(8229835c) SHA1(8cfd8f6cab6f80ca69645a184f7e841fc69f47f6) )
3931   ROM_LOAD( "sb5",    0x2000, 0x0800, CRC(f51ef930) SHA1(213e68571a0c7d5ba33a7170d5fa4aea898ea0b9) )
3932   ROM_LOAD( "sb6",    0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) /* Same as e08p_6a.bin above */
3933   ROM_LOAD( "sb7",    0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) /* Same as m08p_7a.bin above */
3934   ROM_LOAD( "sb8",    0x3800, 0x0800, CRC(e59ff1ae) SHA1(fef22885cbd3273882f8c7755dd04c28e843b9ea) )
3935
3936   ROM_REGION( 0x2000, "gfx1", 0 )
3937   ROM_LOAD( "sb12",   0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) /* Same as h01_1.bin above */
3938   ROM_LOAD( "sb14",   0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) /* Same as h01_2.bin above */
3939   ROM_LOAD( "sb11",   0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) /* Same as k01_1.bin above */
3940   ROM_LOAD( "sb13",   0x1800, 0x0800, CRC(92454380) SHA1(f0cd67b39c760c2b5ac549b27b0a5f83fbb3a86b) )
3941
3942   ROM_REGION( 0x0020, "proms", 0 )
3943   ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) /* MMI 6331 bp-prom, compatible with 82s123 */
3944ROM_END
3945
3946ROM_START( spacbat2 )
3947   ROM_REGION( 0x4000, "maincpu", 0 )
3948   ROM_LOAD( "sb1",    0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) /* Same as f07_1a.bin above */
3949   ROM_LOAD( "sb2",    0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) /* Same as h07_2a.bin above */
3950   ROM_LOAD( "sb.3",   0x1000, 0x0800, CRC(c25ce4c1) SHA1(d7a5d435df7868155523d2fb90f331d4b6d9eaa1) )
3951   ROM_LOAD( "sb4",    0x1800, 0x0800, CRC(8229835c) SHA1(8cfd8f6cab6f80ca69645a184f7e841fc69f47f6) )
3952   ROM_LOAD( "sb5",    0x2000, 0x0800, CRC(f51ef930) SHA1(213e68571a0c7d5ba33a7170d5fa4aea898ea0b9) )
3953   ROM_LOAD( "sb6",    0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) /* Same as e08p_6a.bin above */
3954   ROM_LOAD( "sb7",    0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) /* Same as m08p_7a.bin above */
3955   ROM_LOAD( "sb8",    0x3800, 0x0800, CRC(e59ff1ae) SHA1(fef22885cbd3273882f8c7755dd04c28e843b9ea) )
3956
3957   ROM_REGION( 0x2000, "gfx1", 0 )
3958   ROM_LOAD( "sb12",      0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) /* Same as h01_1.bin above */
3959   ROM_LOAD( "sb14",      0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) /* Same as h01_2.bin above */
3960   ROM_LOAD( "sb11",      0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) /* Same as k01_1.bin above */
3961   ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3962
3963   ROM_REGION( 0x0020, "proms", 0 )
3964   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3965ROM_END
3966
3967ROM_START( skyraidr )
3968   ROM_REGION( 0x4000, "maincpu", 0 )
3969   ROM_LOAD( "f07_1a.bin",   0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
3970   ROM_LOAD( "h07_2a.bin",   0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
3971   ROM_LOAD( "k07_3a.bin",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3972   ROM_LOAD( "sr.04",        0x1800, 0x0800, CRC(9f61d1f8) SHA1(389b0a0d1a577b302907b2ea4c119aa18a6120d9) )
3973   ROM_LOAD( "sr.05",        0x2000, 0x0800, CRC(4352af0a) SHA1(1b31846ea7025aaf3a79141dfa5a089b8d12d982) )
3974   ROM_LOAD( "sr.06",        0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
3975   ROM_LOAD( "m08p_7a.bin",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3976   ROM_LOAD( "n08p_8a.bin",  0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
3977
3978   ROM_REGION( 0x2000, "gfx1", 0 )
3979   ROM_LOAD( "sr.10",        0x0000, 0x0800, CRC(af069cba) SHA1(12b7d0a57f43613c80afd51c417628090740aabe) )
3980   ROM_LOAD( "h01_2.bin",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3981   ROM_LOAD( "sr.09",        0x1000, 0x0800, CRC(ff2c20d5) SHA1(48668dc4f008f44f5c15bdcc331cfe133da99cd4) )
3982   ROM_LOAD( "k01_2.bin",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3983
3984   ROM_REGION( 0x0020, "proms", 0 )
3985   ROM_LOAD( "uniwars.clr",  0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
3986ROM_END
3987
3988
3989ROM_START( devilfsg )
3990   ROM_REGION( 0x10000, "maincpu", 0 )
3991   ROM_LOAD( "dfish1.7f",    0x2000, 0x0800, CRC(2ab19698) SHA1(8450981d3cf3fa8abf2fb5487aa98b03a4cf03a1) )
3992   ROM_CONTINUE(             0x0000, 0x0800 )
3993   ROM_LOAD( "dfish2.7h",    0x2800, 0x0800, CRC(4e77f097) SHA1(aeaa5ff210ccbbe77114edf5dee992d2720636ae) )
3994   ROM_CONTINUE(             0x0800, 0x0800 )
3995   ROM_LOAD( "dfish3.7k",    0x3000, 0x0800, CRC(3f16a4c6) SHA1(cc30b27070a12c250cdc2f7289bae7c7a4c05c2c) )
3996   ROM_CONTINUE(             0x1000, 0x0800 )
3997   ROM_LOAD( "dfish4.7m",    0x3800, 0x0800, CRC(11fc7e59) SHA1(2c0182a75bfca085e67483b421f40b3bc9b8ef24) )
3998   ROM_CONTINUE(             0x1800, 0x0800 )
3999
4000   ROM_REGION( 0x1000, "gfx1", 0 )
4001   ROM_LOAD( "dfish5.1h",    0x0000, 0x0800, CRC(ace6e31f) SHA1(23df890fdf8ef275af79e10c8e43ff3a617b28ac) )
4002   ROM_CONTINUE(             0x0000, 0x0800 )
4003   ROM_LOAD( "dfish6.1k",    0x0800, 0x0800, CRC(d7a6c4c4) SHA1(ec5f9182657edb11884ab93f868f1bb3569461ae) )
4004   ROM_CONTINUE(             0x0800, 0x0800 )
4005
4006   ROM_REGION( 0x1000, "gfx2", 0 )
4007   ROM_LOAD( "dfish5.1h",    0x0000, 0x0800, CRC(ace6e31f) SHA1(23df890fdf8ef275af79e10c8e43ff3a617b28ac) )
4008   ROM_IGNORE(                       0x0800 )
4009   ROM_LOAD( "dfish6.1k",    0x0800, 0x0800, CRC(d7a6c4c4) SHA1(ec5f9182657edb11884ab93f868f1bb3569461ae) )
4010   ROM_IGNORE(                       0x0800 )
4011
4012   ROM_REGION( 0x0020, "proms", 0 )
4013   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4014ROM_END
4015
4016
4017ROM_START( zigzag )
4018   ROM_REGION( 0x10000, "maincpu", 0 )
4019   ROM_LOAD( "zz_d1.7l",    0x0000, 0x1000, CRC(8cc08d81) SHA1(be671192ef06dc3ed6963dc39e6bdce3275300e9) )
4020   ROM_LOAD( "zz_d2.7k",    0x1000, 0x1000, CRC(326d8d45) SHA1(563b9fc64c34e36cfadffb107ce30d3a04d62d9c) )
4021   ROM_LOAD( "zz_d4.7f",    0x2000, 0x1000, CRC(a94ed92a) SHA1(d56f32fc2b3f0f7affe658b7726682c60d09bc16) )
4022   ROM_LOAD( "zz_d3.7h",    0x3000, 0x1000, CRC(ce5e7a00) SHA1(93c47d22698a016cb0f0b654ade9ccab0cd1c88b) )
4023
4024   ROM_REGION( 0x1000, "gfx1", 0 )
4025   ROM_LOAD( "zz_6.1h",     0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
4026   ROM_IGNORE(                      0x0800 )
4027   ROM_LOAD( "zz_5.1k",     0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
4028   ROM_IGNORE(                      0x0800 )
4029
4030   ROM_REGION( 0x1000, "gfx2", 0 )
4031   ROM_LOAD( "zz_6.1h",     0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
4032   ROM_CONTINUE(            0x0000, 0x0800 )
4033   ROM_LOAD( "zz_5.1k",     0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
4034   ROM_CONTINUE(            0x0800, 0x0800 )
4035
4036   ROM_REGION( 0x0020, "proms", 0 )
4037   ROM_LOAD( "zzbpr_e9.bin",0x0000, 0x0020, CRC(aa486dd0) SHA1(b845b52715bf6361ceee8c1ac541733963bd47af) )
4038ROM_END
4039
4040ROM_START( zigzag2 )
4041   ROM_REGION( 0x10000, "maincpu", 0 )
4042   ROM_LOAD( "z1.7l",       0x0000, 0x1000, CRC(4c28349a) SHA1(646134ce506deaee88cc2ec5a973f8fedaddb66b) )
4043   ROM_LOAD( "zz_d2.7k",    0x1000, 0x1000, CRC(326d8d45) SHA1(563b9fc64c34e36cfadffb107ce30d3a04d62d9c) )
4044   ROM_LOAD( "zz_d4.7f",    0x2000, 0x1000, CRC(a94ed92a) SHA1(d56f32fc2b3f0f7affe658b7726682c60d09bc16) )
4045   ROM_LOAD( "zz_d3.7h",    0x3000, 0x1000, CRC(ce5e7a00) SHA1(93c47d22698a016cb0f0b654ade9ccab0cd1c88b) )
4046
4047   ROM_REGION( 0x1000, "gfx1", 0 )
4048   ROM_LOAD( "zz_6.1h",     0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
4049   ROM_IGNORE(                      0x0800 )
4050   ROM_LOAD( "zz_5.1k",     0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
4051   ROM_IGNORE(                      0x0800 )
4052
4053   ROM_REGION( 0x1000, "gfx2", 0 )
4054   ROM_LOAD( "zz_6.1h",     0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
4055   ROM_CONTINUE(            0x0000, 0x0800 )
4056   ROM_LOAD( "zz_5.1k",     0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
4057   ROM_CONTINUE(            0x0800, 0x0800 )
4058
4059   ROM_REGION( 0x0020, "proms", 0 )
4060   ROM_LOAD( "zzbpr_e9.bin",0x0000, 0x0020, CRC(aa486dd0) SHA1(b845b52715bf6361ceee8c1ac541733963bd47af) )
4061ROM_END
4062
4063
4064ROM_START( gmgalax )
4065   ROM_REGION( 0x18000, "maincpu", 0 ) /* 64k for code + 32k for banked code */
4066   ROM_LOAD( "pcb1_pm1.bin", 0x10000, 0x1000, CRC(19338c70) SHA1(cc2665b7d534d324627d12025ee099ff415d4214) )
4067   ROM_LOAD( "pcb1_pm2.bin", 0x11000, 0x1000, CRC(18db074d) SHA1(a70ed18f632e947493e648e6fc057dfb7a2a3322) )
4068   ROM_LOAD( "pcb1_pm3.bin", 0x12000, 0x1000, CRC(abb98b1d) SHA1(bb0109d353359bb192a3e6856a857c2f842838cb) )
4069   ROM_LOAD( "pcb1_pm4.bin", 0x13000, 0x1000, CRC(2403c78e) SHA1(52d8c8a4efcf47871485080ab217098a019e6579) )
4070   ROM_LOAD( "pcb1_gx1.bin", 0x14000, 0x1000, CRC(2faa9f53) SHA1(1e7010d407601c5da1adc68bc9f4742c79d57286) )
4071   ROM_LOAD( "pcb1_gx2.bin", 0x15000, 0x1000, CRC(121c5f16) SHA1(cb1806fa984870133fd883969838dca85f992515) )
4072   ROM_LOAD( "pcb1_gx3.bin", 0x16000, 0x1000, CRC(02d81a21) SHA1(39209cfb7cf142a65e157544d93803ea542a8efb) )
4073
4074   ROM_REGION( 0x4000, "gfx1", 0 )
4075   ROM_LOAD( "pcb2gfx1.bin", 0x0000, 0x0800, CRC(7021bbc0) SHA1(52d2983d74e722fccb31eb02ca56255850c4f41c) )
4076   ROM_CONTINUE(             0x1000, 0x0800 )
4077   ROM_LOAD( "pcb2gfx3.bin", 0x0800, 0x0800, CRC(089c922b) SHA1(f1b81999f63677d4cd58cd547353170e348a1423) )
4078   ROM_CONTINUE(             0x1800, 0x0800 )
4079   ROM_LOAD( "pcb2gfx2.bin", 0x2000, 0x0800, CRC(51bf58ee) SHA1(3546ff03c76a6422b0515bd5c695674bfb032089) )
4080   ROM_CONTINUE(             0x3000, 0x0800 )
4081   ROM_LOAD( "pcb2gfx4.bin", 0x2800, 0x0800, CRC(908fd0dc) SHA1(ac278bd82730e92ff312793244340748b93fa9bb) )
4082   ROM_CONTINUE(             0x3800, 0x0800 )
4083
4084   ROM_REGION( 0x0040, "proms", 0 )
4085   ROM_LOAD( "gmgalax2.clr", 0x0000, 0x0020, CRC(499f4440) SHA1(66d6463a145087041934bdab8bfa6c3db6375317) )
4086   ROM_LOAD( "l06_prom.bin", 0x0020, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4087ROM_END
4088
4089
4090/*************************************
4091 *
4092 *  ROM definitions
4093 *  Artic Multi-System (Galaxian bootleg hardware)
4094 *  About 20 games were available on this system, some unique!
4095 *
4096 *************************************/
4097
4098ROM_START( streakng )
4099   ROM_REGION( 0x10000, "maincpu", 0 )
4100   ROM_LOAD( "sk1",          0x0000, 0x1000, CRC(c8866ccb) SHA1(1fc8bc643ecbfa86a50448d79b299f5a3dd586c5) )
4101   ROM_LOAD( "sk2",          0x1000, 0x1000, CRC(7caea29b) SHA1(5b3946ee914b1637db9046abf92d66ceaeb4fc5f) )
4102   ROM_LOAD( "sk3",          0x2000, 0x1000, CRC(7b4bfa76) SHA1(9223bec0c1cc39bc84670869b2a4fab0d0167c6e) )
4103   ROM_LOAD( "sk4",          0x3000, 0x1000, CRC(056fc921) SHA1(de8525571e5a82ddf74dd57b1a6c5bc9f2d2c0fe) )
4104
4105   ROM_REGION( 0x1000, "gfx1", 0 )
4106   ROM_LOAD( "sk5",          0x0000, 0x1000, CRC(d27f1e0c) SHA1(c3b4ae55a93516b034a16c9f943b360b24c933d6) )
4107
4108   ROM_REGION( 0x1000, "gfx2", 0 )
4109   ROM_LOAD( "sk6",          0x0000, 0x1000, CRC(a7089588) SHA1(e76242b043b1d8f060f669da3ddeee3d10122cdb) )
4110
4111   ROM_REGION( 0x0020, "proms", 0 )
4112   ROM_LOAD( "sk.bpr",       0x0000, 0x0020, CRC(bce79607) SHA1(49d60fde149240bcd025f721b0fbbbdbc549a42f) )
4113ROM_END
4114
4115/*
4116sk2          [1/2]      st3.BIN                 IDENTICAL
4117sk3          [1/2]      5st.BIN                 IDENTICAL
4118sk6          [1/2]      9.BIN                   IDENTICAL
4119sk5          [1/2]      11.BIN                  IDENTICAL
4120sk1          [2/2]      st2.BIN                 IDENTICAL
4121sk2          [2/2]      st4.BIN                 IDENTICAL
4122sk3          [2/2]      6st.BIN                 IDENTICAL
4123sk4          [2/2]      8st.BIN                 IDENTICAL
4124sk5          [2/2]      12.BIN                  IDENTICAL
4125sk6          [2/2]      10.BIN                  IDENTICAL
4126sk1          [1/2]      st1.BIN                 99.951172%
4127sk4          [1/2]      7st.BIN                 99.951172%
4128sk.bpr                                          NO MATCH
4129*/
4130
4131ROM_START( streaknga )
4132   ROM_REGION( 0x10000, "maincpu", 0 )
4133   ROM_LOAD( "st1.bin",  0x0000, 0x0800, CRC(c827e124) SHA1(85d84bb678cb80e7ca4a591b6c30a247e9aac213) )
4134   ROM_LOAD( "st2.bin",  0x0800, 0x0800, CRC(b01d4f8f) SHA1(1116374b5e90c7e525319c92d6dd9ba6641ca231) )
4135   ROM_LOAD( "st3.bin",  0x1000, 0x0800, CRC(c7a9c493) SHA1(58c25bdf68807ecfe6fcaf90137a5f8701696d1d) )
4136   ROM_LOAD( "st4.bin",  0x1800, 0x0800, CRC(12487c75) SHA1(12796dab558ab13b42ee87181d60c3fa290c64e4) )
4137   ROM_LOAD( "5st.bin",  0x2000, 0x0800, CRC(f9f9e2be) SHA1(3efa850361137f50a42de9dcd868519fbc4680b4) )
4138   ROM_LOAD( "6st.bin",  0x2800, 0x0800, CRC(c22fe6c2) SHA1(fb8bf579f6bd413ae5ef49facf1d21125da52833) )
4139   ROM_LOAD( "7st.bin",  0x3000, 0x0800, CRC(9cd7869a) SHA1(5edccf4a1dff184ebbec8748216353805abff29d) )
4140   ROM_LOAD( "8st.bin",  0x3800, 0x0800, CRC(5e750ad3) SHA1(55f77564a9bb07d66c2f13ee1a4ff39c8029a383) )
4141
4142   ROM_REGION( 0x1000, "gfx1", 0 )
4143   ROM_LOAD( "11.bin",   0x0000, 0x0800, CRC(cddd8924) SHA1(340ed1d4da62388d49838db25f09a569a0e17dee) )
4144   ROM_LOAD( "12.bin",   0x0800, 0x0800, CRC(10cda095) SHA1(488def62d52296c7482b349c1aeaeaa1d45bad77) )
4145
4146   ROM_REGION( 0x1000, "gfx2", 0 )
4147   ROM_LOAD( "9.bin",    0x0000, 0x0800, CRC(6a2a8a0f) SHA1(1822c2f4c48740fee2d4e048410db5e846c8a2db) )
4148   ROM_LOAD( "10.bin",   0x0800, 0x0800, CRC(3563dfbe) SHA1(9056b618e19a40cc96d90f393c1c40a573497ca7) )
4149
4150   ROM_REGION( 0x0020, "proms", 0 )    /* from parent set */
4151   ROM_LOAD( "sk.bpr",   0x0000, 0x0020, BAD_DUMP CRC(bce79607) SHA1(49d60fde149240bcd025f721b0fbbbdbc549a42f) )
4152ROM_END
4153
4154ROM_START( pacmanbl ) /* Artic Multi-System */
4155   ROM_REGION( 0x10000, "maincpu", 0 )
4156   ROM_LOAD( "1",  0x0000, 0x0800, CRC(6718df42) SHA1(ee15c3f583d381fba4878f824f83d04479a0cee5) )
4157   ROM_LOAD( "2",  0x0800, 0x0800, CRC(33be3648) SHA1(50175889cf37fe8a81c931e009b55d10f8d0444a) )
4158   ROM_LOAD( "3",  0x1000, 0x0800, CRC(f98c0ceb) SHA1(4faf8b2fb3f109d1196a9ea256328485074a31b9) )
4159   ROM_LOAD( "4",  0x1800, 0x0800, CRC(a9cd0082) SHA1(f44ff1ad15d5ee3096f8f44f9c605f32ae2737d9) )
4160   ROM_LOAD( "5",  0x2000, 0x0800, CRC(6d475afc) SHA1(4fe6bde352c7dd9572fefaae4b59640b4f4eb8ba) )
4161   ROM_LOAD( "6",  0x2800, 0x0800, CRC(cbe863d3) SHA1(97a2ffa6ab33e6061c664dcd1ee57c86a456782f) )
4162   ROM_LOAD( "7",  0x3000, 0x0800, CRC(7daef758) SHA1(4dc8ec0ea8fc04d5bffc1c1335407729309c17f0) )
4163   /*              0x3800, 0x0800 not populated */
4164
4165   /* note from f205v: on the PCB I have, 10b and 11b have been joined into one single 2732 EPROM labeled "pmc31"
4166   The same goes for 9b and 12b, joined into one single 2732 EPROM labeled "pmc42" */
4167   ROM_REGION( 0x1000, "gfx1", 0 )
4168   ROM_LOAD( "12",  0x0000, 0x0800, CRC(b2ed320b) SHA1(680a6fdcb65cc2d88d10bc85e0b2628f43375c5c) )
4169   ROM_LOAD( "11",  0x0800, 0x0800, CRC(ab88b2c4) SHA1(d0c829ea8021eae81a2b82d36c35ad8258b115e0) )
4170
4171   ROM_REGION( 0x1000, "gfx2", 0 )
4172   ROM_LOAD( "10",  0x0000, 0x0800, CRC(44a45b72) SHA1(8abd0684a01d6c23ef5cf5f0765458f982316acf) )
4173   ROM_LOAD( "9",   0x0800, 0x0800, CRC(fa84659f) SHA1(20c212723f9062f052539190dfe3fc41577543eb) )
4174
4175   ROM_REGION( 0x0020, "proms", 0 )
4176   ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* same as pisces */
4177ROM_END
4178
4179ROM_START( pacmanbla ) /* content is the same as the above bootleg, but arranged differently in the roms */
4180   ROM_REGION( 0x10000, "maincpu", 0 )
4181   ROM_LOAD( "rom1.bin",      0x0000, 0x0800, CRC(75e4f967) SHA1(8bdb5ab2b3f978c578f1498b64bb16d2cb292ef2) )
4182   ROM_CONTINUE(0x2000,0x800)
4183   ROM_LOAD( "rom2.bin",      0x0800, 0x0800, CRC(5b2e4293) SHA1(bb925491e315d2e6bb9e756bdf664d173f83cd58) )
4184   ROM_CONTINUE(0x2800,0x800)
4185   ROM_LOAD( "rom3.bin",      0x1000, 0x0800, CRC(c06e30a4) SHA1(00d8d114bd4e0b689e75e312c93f6c7b8492426e) )
4186   ROM_CONTINUE(0x3000,0x800)
4187   ROM_LOAD( "rom4.bin",      0x1800, 0x0800, CRC(592b4ba8) SHA1(52a559344f70cd8a3a87de71de2bae57c885641a) )
4188   ROM_CONTINUE(0x3800,0x800)
4189
4190   ROM_REGION( 0x2000, "tempgfx", 0 )
4191   ROM_LOAD( "rom5.bin",      0x0000, 0x1000, CRC(f2d8c01e) SHA1(d4a5789476fa7859bb936df10590775e97e87578) )
4192   ROM_LOAD( "rom6.bin",      0x1000, 0x1000, CRC(346a1720) SHA1(e152c9161f4e8ef53153b9c4a8ecef9fdbbe2463) )
4193
4194   ROM_REGION( 0x1000, "gfx1", 0 )
4195   ROM_COPY( "tempgfx", 0x0800, 0x0000, 0x0800 )
4196   ROM_COPY( "tempgfx", 0x1800, 0x0800, 0x0800 )
4197
4198   ROM_REGION( 0x1000, "gfx2", 0 )
4199   ROM_COPY( "tempgfx", 0x0000, 0x0000, 0x0800 )
4200   ROM_COPY( "tempgfx", 0x1000, 0x0800, 0x0800 )
4201
4202   ROM_REGION( 0x0020, "proms", 0 )
4203   ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* same as pisces */
4204ROM_END
4205
4206ROM_START( ghostmun )
4207   ROM_REGION( 0x10000, "maincpu", 0 )
4208   ROM_LOAD( "pac1.bin",     0x0000, 0x1000, CRC(19338c70) SHA1(cc2665b7d534d324627d12025ee099ff415d4214) )
4209   ROM_LOAD( "pac2.bin",     0x1000, 0x1000, CRC(18db074d) SHA1(a70ed18f632e947493e648e6fc057dfb7a2a3322) )
4210   ROM_LOAD( "pac3.bin",     0x2000, 0x1000, CRC(abb98b1d) SHA1(bb0109d353359bb192a3e6856a857c2f842838cb) )
4211   ROM_LOAD( "pac4.bin",     0x3000, 0x1000, CRC(2403c78e) SHA1(52d8c8a4efcf47871485080ab217098a019e6579) )
4212
4213   ROM_REGION( 0x1000, "gfx1", 0 )
4214   ROM_LOAD( "blpac12b",     0x0000, 0x0800, CRC(b2ed320b) SHA1(680a6fdcb65cc2d88d10bc85e0b2628f43375c5c) )
4215   ROM_LOAD( "blpac11b",     0x0800, 0x0800, CRC(ab88b2c4) SHA1(d0c829ea8021eae81a2b82d36c35ad8258b115e0) )
4216
4217   ROM_REGION( 0x1000, "gfx2", 0 )
4218   ROM_LOAD( "blpac10b",     0x0000, 0x0800, CRC(44a45b72) SHA1(8abd0684a01d6c23ef5cf5f0765458f982316acf) )
4219   ROM_LOAD( "blpac9b",      0x0800, 0x0800, CRC(fa84659f) SHA1(20c212723f9062f052539190dfe3fc41577543eb) )
4220
4221   ROM_REGION( 0x0020, "proms", 0 )
4222   ROM_LOAD( "ghostmun.clr", 0x0000, 0x0020, CRC(759647e3) SHA1(9e21e12f4be007265851a5a1676b7e9facf7109b) )
4223ROM_END
4224
4225ROM_START( phoenxp2 ) /* Artic Multi-System */
4226   ROM_REGION( 0x10000, "maincpu", 0 )
4227   ROM_LOAD( "1",  0x0000, 0x0800, CRC(f6dcfd51) SHA1(8475726dbbf0dd13581f457a5379956424dc2862) )
4228   ROM_LOAD( "2",  0x0800, 0x0800, CRC(de951936) SHA1(657d2c595a5864d8c9a51926ab7bfa0a7068e2b2) )
4229   ROM_LOAD( "3",  0x1000, 0x0800, CRC(7a3af2da) SHA1(49e9ad7115e71839d1d027552d08c7831a617b4a) )
4230   ROM_LOAD( "4",  0x1800, 0x0800, CRC(c820ad32) SHA1(b5286d49f6578dfeffdf429e7d52321f4813e03c) )
4231   ROM_LOAD( "5",  0x2000, 0x0800, CRC(08e83233) SHA1(44159e0f3fb717b726b6b5c77da32391c1cdd04d) )
4232   ROM_LOAD( "6",  0x2800, 0x0800, CRC(f31fb9d6) SHA1(bdfb5427869940ed6b8e2667a6c1f410a9a41b87) )
4233   ROM_LOAD( "7",  0x3000, 0x0800, CRC(d3a480c1) SHA1(d1e4fe83b49f918285009f09df38c6555a686823) )
4234   ROM_LOAD( "8",  0x3800, 0x0800, CRC(edf9779e) SHA1(c1e7307c59f15bebac3e29b41135fe9f18fc9a06) )
4235
4236   ROM_REGION( 0x2000, "gfx1", 0 )
4237   ROM_LOAD( "09",       0x0000, 0x0800, CRC(1a657b1f) SHA1(42149dafdde7d9104f0bddda2223bfc211d0154a) )
4238   ROM_LOAD( "11",       0x0800, 0x0800, CRC(7a2b48e5) SHA1(f559799c685dd2cb9de06a356bee95b7d6ffadfc) )
4239   ROM_LOAD( "10",       0x1000, 0x0800, CRC(9b570016) SHA1(44fd2b1caeecdc5200d63c35636f0a605943d30c) )
4240   ROM_LOAD( "12",       0x1800, 0x0800, CRC(73956244) SHA1(e464b587b5ed636816cc9688593f5b6005cb5216) )
4241
4242   ROM_REGION( 0x0020, "proms", 0 )
4243   ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* same as 'Omega' */
4244ROM_END
4245
4246ROM_START( batman2 ) /* wasn't marked as artic multi-system, but it's basically the same as the above phoenixp2 */
4247   ROM_REGION( 0x4000, "maincpu", 0 )
4248   ROM_LOAD( "01.bin",       0x0000, 0x0800, CRC(150fbca5) SHA1(a5dc104169eb3225c6200e7e07102f8a9bee6861) )
4249   ROM_LOAD( "02.bin",       0x0800, 0x0800, CRC(b1624fd0) SHA1(ca4678cf7a8b935be2f68d6e342c1f961bf6f1a2) )
4250   ROM_LOAD( "03.bin",       0x1000, 0x0800, CRC(93774188) SHA1(8bdd3290db43459c56b932b582f555d89df30bd1) )
4251   ROM_LOAD( "04.bin",       0x1800, 0x0800, CRC(8a94ec6c) SHA1(dacadab9a05ddee2de188b368f795d74213e020d) )
4252   ROM_LOAD( "05.bin",       0x2000, 0x0800, CRC(a3669461) SHA1(11ea7aa9b55f5790cc2451d80d0eb84388cf47eb) )
4253   ROM_LOAD( "06.bin",       0x2800, 0x0800, CRC(fa1efbfe) SHA1(f7222dd21e0810d0c8c32919ebb6e0e7bbb4c68e) )
4254   ROM_LOAD( "07.bin",       0x3000, 0x0800, CRC(9b77debd) SHA1(1f5521bc0f701d86e61219ad3b9516aaa71a68da) )
4255   ROM_LOAD( "08.bin",       0x3800, 0x0800, CRC(6466177e) SHA1(fc359eadee34586576c557ff7c1dd2c8d49bdf3f) )
4256
4257   ROM_REGION( 0x2000, "gfx1", 0 )
4258   ROM_LOAD( "09.bin",       0x0000, 0x0800, CRC(1a657b1f) SHA1(42149dafdde7d9104f0bddda2223bfc211d0154a) )
4259   ROM_LOAD( "11.bin",       0x0800, 0x0800, CRC(7a2b48e5) SHA1(f559799c685dd2cb9de06a356bee95b7d6ffadfc) )
4260   ROM_LOAD( "10.bin",       0x1000, 0x0800, CRC(9b570016) SHA1(44fd2b1caeecdc5200d63c35636f0a605943d30c) )
4261   ROM_LOAD( "12.bin",       0x1800, 0x0800, CRC(73956244) SHA1(e464b587b5ed636816cc9688593f5b6005cb5216) )
4262
4263   ROM_REGION( 0x0020, "proms", 0 )
4264   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4265ROM_END
4266
4267ROM_START( atlantisb ) /* Artic Multi-System */
4268   ROM_REGION( 0x10000, "maincpu", 0 )
4269   ROM_LOAD( "1",  0x0000, 0x0800, CRC(2b612351) SHA1(cfd244946190c062146716c0417c35be216943e4) ) /* aka "subfury" */
4270   ROM_LOAD( "2",  0x0800, 0x0800, CRC(b1c970e9) SHA1(1e12a1d34453b01ff5ef4d9530a90f476fc34631) )
4271   /*              0x1000, 0x0800 not populated */
4272   ROM_LOAD( "3",  0x1800, 0x0800, CRC(63c3783e) SHA1(e3a7a8bb2c108d3e1e1403017c72963afcd23813) )
4273   ROM_LOAD( "4",  0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) )
4274   ROM_LOAD( "5",  0x2800, 0x0800, CRC(f335b96b) SHA1(17daa6d9bc916081f3c6cbdfe5b4960177dc7c9b) )
4275   ROM_LOAD( "6",  0x3000, 0x0800, CRC(a50bf8d5) SHA1(5bca98e1c0838d27ec66bf4b906877977b212b6d) )
4276   /*              0x3800, 0x0800 not populated */
4277
4278   ROM_REGION( 0x1000, "gfx1", 0 )
4279   ROM_LOAD( "8",  0x0000, 0x0800, CRC(55cd5acd) SHA1(b3e2ce71d4e48255d44cd451ee015a7234a108c8) )
4280   ROM_LOAD( "7",  0x0800, 0x0800, CRC(72e773b8) SHA1(6ce178df3bd6a4177c68761572a13a56d222c48f) )
4281
4282   ROM_REGION( 0x1000, "gfx2", ROMREGION_ERASEFF )
4283   /* 0x000, 0x0800 not populated */
4284   /* 0x000, 0x0800 not populated */
4285
4286   ROM_REGION( 0x0020, "proms", 0 )
4287   ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4288ROM_END
4289
4290
4291ROM_START( tenspot )
4292   /* Game A - Survivor */
4293   ROM_REGION( 0x4000, "game_0_cpu", 0 )
4294   ROM_LOAD( "svt1-a.a1",    0x0000, 0x1000, CRC(5806d0e6) SHA1(887ff2985578faa9535387a5ce3953452e7a3171) )
4295   ROM_LOAD( "svt2-a.a2",    0x1000, 0x1000, CRC(847c16d0) SHA1(7ac65e5f47153f7e1e70c701b16d537774f60982) )
4296   ROM_LOAD( "svt3-a.a3",    0x2000, 0x1000, CRC(63a6990b) SHA1(901772e2ed8536c3031a66204889e1cac60011c5) )
4297
4298   ROM_REGION( 0x2000, "game_0_temp", 0 )
4299   ROM_LOAD( "syt5-a.a5",       0x0000, 0x1000, CRC(7f804605) SHA1(898f7de488ca79b5b29dbdb93233c63ed20df354) )
4300   ROM_LOAD( "svt5-a.a6",       0x1000, 0x1000, CRC(fff07c86) SHA1(a37034fb7fcf60ee5f098d405ee3277616c8aceb) )
4301
4302   ROM_REGION( 0x0020, "game_0_prom", 0 )
4303   ROM_LOAD( "clr3.a7",       0x0000, 0x0020, CRC(aefcf6b1) SHA1(10cde93e23fe8720f5af9039c4f68999f7cfce67) )
4304
4305   /* Game B - Moon Cresta */
4306   ROM_REGION( 0x4000, "game_1_cpu", 0 )
4307   ROM_LOAD( "mct1-a.b1",    0x0000, 0x1000, CRC(90a74a0b) SHA1(a1fb24aa621611c18bf6188f380640e5576ac248) )
4308   ROM_LOAD( "mct2-a.b2",    0x1000, 0x1000, CRC(9bb1e8e8) SHA1(0a8567c7efb6511360a786c18a09966966c253a2) )
4309   ROM_LOAD( "mct3-a.b3",    0x2000, 0x1000, CRC(6d19c439) SHA1(39a5d78c7d42981e1fa12bc6c794b915f738faf7) )
4310   ROM_LOAD( "mct4-a.b4",    0x3000, 0x1000, CRC(dd029a6e) SHA1(e6035a6981e22565a2af3a3ecac16676cb3b3500) )
4311
4312   ROM_REGION( 0x2000, "game_1_temp", 0 )
4313   ROM_LOAD( "mct5-a.b5",       0x0000, 0x1000, CRC(ac1a6a62) SHA1(febfcdbf1afe9a5352d8d96b454a6c8fc7818ef0) )
4314   ROM_LOAD( "mct6-a.b6",       0x1000, 0x1000, CRC(dc19ec73) SHA1(19a3295597a8eff2587ff838a3b8f7e3817f22f0) )
4315
4316   ROM_REGION( 0x0020, "game_1_prom", 0 )
4317   ROM_LOAD( "clr2.b7",       0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4318
4319   /* Game C - Space Cruiser */
4320   ROM_REGION( 0x4000, "game_2_cpu", 0 )
4321   ROM_LOAD( "sct1-a.c1",    0x0000, 0x1000, CRC(5068e89c) SHA1(539fe47ec846ec038ee6ffd2d3578d7cf25d4219) )
4322   ROM_LOAD( "sct2-a.c2",    0x1000, 0x1000, CRC(96013308) SHA1(756ad5592acbe68c923a810eba2ff4eda4a9a51c) )
4323   ROM_LOAD( "sct3-a.c3",    0x2000, 0x1000, CRC(3c6ef851) SHA1(a2c5dd8cca60b7340c9c3973137415621f5b1a11) )
4324
4325   ROM_REGION( 0x2000, "game_2_temp", 0 )
4326   ROM_LOAD( "sct5-a.c5",       0x0000, 0x1000, CRC(272a0037) SHA1(48dcb9da66db75721668c3708ed1a55a0ee65238) )
4327   ROM_LOAD( "sct6-a.c6",       0x1000, 0x1000, CRC(d6b35f01) SHA1(e16a7400901e2b0ad4ce70dce8092741d85b6a43) )
4328
4329   ROM_REGION( 0x0020, "game_2_prom", 0 )
4330   ROM_LOAD( "clr1.c7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4331
4332   /* Game D - Mission Rescue (Black Hole) */
4333   ROM_REGION( 0x4000, "game_3_cpu", 0 )
4334   ROM_LOAD( "mrt1-a.d1",    0x0000, 0x1000, CRC(eb63c4e0) SHA1(29a59fa8616e36dd098ff9f6e520128db3b66ed9) )
4335   ROM_LOAD( "mrt2-a.d2",    0x1000, 0x1000, CRC(e4ba463a) SHA1(b5370bc33275f6aa52c96304db4be086b5f6d18c) )
4336   ROM_LOAD( "mrt3-a.d3",    0x2000, 0x1000, CRC(62d7b1ce) SHA1(5243d053ea53dcfe4110fdf04077e818237121c8) )
4337
4338   ROM_REGION( 0x2000, "game_3_temp", 0 )
4339   ROM_LOAD( "mrt5-a.d5",       0x0000, 0x1000, CRC(cc6bb4bc) SHA1(f81f671d2865a43849f10a48c0cc9f6c5bbe0f9e) )
4340   ROM_LOAD( "mrt6-a.d6",       0x1000, 0x1000, CRC(4b4e6c62) SHA1(86ea8436d631a30461f0ba708c0b597f15ebdd47) )
4341
4342   ROM_REGION( 0x0020, "game_3_prom", 0 )
4343   ROM_LOAD( "clr1.d7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4344
4345   /* Game E - Uniwars */
4346   ROM_REGION( 0x4000, "game_4_cpu", 0 )
4347   ROM_LOAD( "uwt1-a.e1",    0x0000, 0x1000, CRC(1379be84) SHA1(e280e0402c7cfa52f2a04801634f8c3aa85bf02f) )
4348   ROM_LOAD( "uwt2-a.e2",    0x1000, 0x1000, CRC(ed8e5260) SHA1(a2ebc8aa9b5da6ff689847de8973a512f9d96128) )
4349   ROM_LOAD( "uwt3-a.e3",    0x2000, 0x1000, CRC(9abd1570) SHA1(74f82ac2c3a1822f1e5575e7e72c017d24c43dc1) )
4350   ROM_LOAD( "uwt4-b.e4",    0x3000, 0x1000, CRC(daea5232) SHA1(cdb2a1a14188e971e2c98c625e0b577f688a753a) )
4351
4352   ROM_REGION( 0x2000, "game_4_temp", 0 )
4353   ROM_LOAD( "uwt5-a.e5",       0x0000, 0x1000, CRC(49a1c892) SHA1(b6b1be0d8fa6909ed8e6f36d3f75dadd8f5cafbe) )
4354   ROM_LOAD( "uwt6-a.e6",       0x1000, 0x1000, CRC(9d27e53d) SHA1(ef41c8b586545207a0e2021c8634df4ffe4b7b8a) )
4355
4356   ROM_REGION( 0x0020, "game_4_prom", 0 )
4357   ROM_LOAD( "clr1.e7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4358
4359   /* Game F - Batman Pt.2 (Phoenix) - this needs custom video banking like the standalone version.... */
4360   ROM_REGION( 0x4000, "game_5_cpu", 0 )
4361   ROM_LOAD( "bmt1-a.f1",    0x0000, 0x1000, CRC(2aecaaa0) SHA1(07c35f34eebbe65247a412c828328a558936d03c) )
4362   ROM_LOAD( "bmt2-a.f2",    0x1000, 0x1000, CRC(1972ff4c) SHA1(262db6caba201fa1f2f7b04f36f4d6084283d841) )
4363   ROM_LOAD( "bmt3-a.f3",    0x2000, 0x1000, CRC(34c0728d) SHA1(54f76368a387b42010258fa549465a430dd6ecf7) )
4364   ROM_LOAD( "bmt4-a.f4",    0x3000, 0x1000, CRC(fc2e8de1) SHA1(683815035054669a845ce440d66c023cf54dbdcc) )
4365
4366   ROM_REGION( 0x2000, "game_5_temp", 0 )
4367   ROM_LOAD( "bmt5-a.f5",       0x0000, 0x1000, CRC(ee71a2de) SHA1(c41b8c705ec697ab2a37fbde0fc2bbcd3259ec98) )
4368   ROM_LOAD( "bmt6-a.f6",       0x1000, 0x1000, CRC(ea538ab9) SHA1(310052358fca96bba5b69366f7bd47c446287783) )
4369
4370   ROM_REGION( 0x0020, "game_5_prom", 0 )
4371   ROM_LOAD( "clr1.f7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4372
4373   /* Game H - Defend UFO */
4374   ROM_REGION( 0x4000, "game_6_cpu", 0 )
4375   ROM_LOAD( "rut1-a.h1",    0x0000, 0x1000, CRC(364b0689) SHA1(d39c1ca5774b21c9e045f2234c2256f56ff36a2a) )
4376   ROM_LOAD( "rut2-a.h2",    0x1000, 0x1000, CRC(ed448821) SHA1(33c983b8cfa17299728363870f906477bce14dbf) )
4377   ROM_LOAD( "rut3-a.h3",    0x2000, 0x1000, CRC(312d5d37) SHA1(772a5e7ea94dd6b9744f4eef7d7ac26cb58d58ab) )
4378   ROM_LOAD( "rut4-a.h4",    0x3000, 0x1000, CRC(2281b279) SHA1(c6cfb14b6656de185f38a5c73cf042f2f8b4cc6e) )
4379
4380   ROM_REGION( 0x2000, "game_6_temp", 0 )
4381   ROM_LOAD( "rut5-a.h5",       0x0000, 0x1000, CRC(6fb16866) SHA1(e1a1ac17ef9c08ac2f4c7b15a13932f542aed95d) )
4382   ROM_LOAD( "rut6-a.h6",       0x1000, 0x1000, CRC(5ae0dc50) SHA1(d4ec2179d5181b71171bac5098a6f7f1c96e63b3) )
4383
4384   ROM_REGION( 0x0020, "game_6_prom", 0 )
4385   ROM_LOAD( "clr1.h7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4386
4387   /* Game J - King and Balloon */
4388   ROM_REGION( 0x4000, "game_7_cpu", 0 )
4389   ROM_LOAD( "kbt1-a.j1",    0x0000, 0x1000, CRC(6bcdfaef) SHA1(5f3d57a91d57c8758f1fa39a44be6082fff52406) )
4390   ROM_LOAD( "kbt2-a.j2",    0x1000, 0x1000, CRC(3652c64b) SHA1(7cb2a51e1830d48d5d3a62d521dfef1779dd5222) )
4391   ROM_LOAD( "kbt3-a.j3",    0x2000, 0x1000, CRC(946447c6) SHA1(0759f7d8b538d5e489a85bc6551cde76e6b3ed71) )
4392
4393   ROM_REGION( 0x2000, "game_7_temp", 0 )
4394   ROM_LOAD( "kbt5-a.j5",       0x0000, 0x1000, CRC(ea36f825) SHA1(20e26c97d780fb1fd15ad4c33c097a5b3539d43d) )
4395   ROM_LOAD( "kbt6-a.j6",       0x1000, 0x1000, CRC(2b8b46bc) SHA1(48a7a65fc5c174d0cc654557b3a1166df7fea4da) )
4396
4397   ROM_REGION( 0x0020, "game_7_prom", 0 )
4398   ROM_LOAD( "clr1.j7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4399
4400   /* Game K - Omega (The End) */
4401   ROM_REGION( 0x4000, "game_8_cpu", 0 )
4402   ROM_LOAD( "omt1-a.k1",    0x0000, 0x1000, CRC(8fc41a53) SHA1(c1bb4018bad12b83954cf8da8eba49f23618139a) )
4403   ROM_LOAD( "omt2-a.k2",    0x1000, 0x1000, CRC(a3073430) SHA1(200b15c572d7cff9be39439a247c9be742f17a61) )
4404   ROM_LOAD( "omt3-a.k3",    0x2000, 0x1000, CRC(b0de1fa2) SHA1(71cf8303b7ddc5813d6b92a71bd53f83272f5f22) )
4405
4406   ROM_REGION( 0x2000, "game_8_temp", 0 )
4407   ROM_LOAD( "omt5-a.k5",       0x0000, 0x1000, CRC(5ab402c8) SHA1(c0640d9907d7dcd34cd7105d21b99fc15fcbac6e) )
4408   ROM_LOAD( "omt6-a.k6",       0x1000, 0x1000, CRC(2552e470) SHA1(ba5fba8047e4bb23442b0c2d45c858ec9da63945) )
4409
4410   ROM_REGION( 0x0020, "game_8_prom", 0 )
4411   ROM_LOAD( "clr1.k7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4412
4413   /* Game L - Battle of Atlantis */
4414   ROM_REGION( 0x4000, "game_9_cpu", 0 )
4415   ROM_LOAD( "bat1-a.l1",    0x0000, 0x1000, CRC(5849dd36) SHA1(c69bf6119ae63a3c855d58bbadb5b358f7b25ad0) )
4416   ROM_LOAD( "bat2-a.l2",    0x1000, 0x1000, CRC(adc2ce4b) SHA1(36f477a48b3df9cb2456460048b2fdd0d3e8b73e) )
4417   ROM_LOAD( "bat3-a.l3",    0x2000, 0x1000, CRC(81270ace) SHA1(0385fedacbbda4ed750c5a64d51a60ed98c3ed65) )
4418   ROM_LOAD( "bat4-a.l4",    0x3000, 0x1000, CRC(bd751ba9) SHA1(dbdc8972b0236755d5a8ea90e2de2d16585f5e02) )
4419
4420   ROM_REGION( 0x2000, "game_9_temp", 0 )
4421   ROM_LOAD( "bat5-a.l5",       0x0000, 0x1000, CRC(b9701513) SHA1(d8bc7b36a6d0b1e73aa7b6a5dab7b36ce111a04c) )
4422   ROM_LOAD( "bat6-a.l6",       0x1000, 0x1000, CRC(54b423b7) SHA1(31eec49b4e9c8b56668b9037dd47e66659ce64cb) )
4423
4424   ROM_REGION( 0x0020, "game_9_prom", 0 )
4425   ROM_LOAD( "clr1.l7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4426
4427
4428   ROM_REGION( 0x4000, "selectcpu", 0 ) // probably related to game selection
4429   ROM_LOAD( "tenu2-d.u2",    0x0000, 0x800, CRC(58c7fe3b) SHA1(a4faa8e669a81fe01696d6df9c8ebd5c17be0f00) )
4430
4431   ROM_REGION( 0x4000, "unknown", 0 ) // ?? no idea
4432   ROM_LOAD( "u1.u1",    0x0000, 0x100, CRC(f18006f7) SHA1(f9a3541cd7f2b75816227d8befc03d2e33eeebac) )
4433
4434
4435   /* temporary - replace game_x with the game number you want to test. */
4436   ROM_REGION( 0x4000, "maincpu", ROMREGION_ERASEFF )
4437   ROM_REGION( 0x2000, "gfx1", ROMREGION_ERASEFF )
4438   ROM_REGION( 0x2000, "gfx2", ROMREGION_ERASEFF )
4439   ROM_REGION( 0x0020, "proms", ROMREGION_ERASEFF )
4440   ROM_END
4441
4442/*************************************
4443 *
4444 *  ROM definitions
4445 *  Moon Cresta-derived games
4446 *
4447 *************************************/
4448
4449ROM_START( mooncrst )
4450   ROM_REGION( 0x8000, "maincpu", 0 )
4451   ROM_LOAD( "mc1",          0x0000, 0x0800, CRC(7d954a7a) SHA1(a93ee403cfd7887538ad12d33f6dd6c71bea2a32) )
4452   ROM_LOAD( "mc2",          0x0800, 0x0800, CRC(44bb7cfa) SHA1(349c2e23a9fce73f95bb8168d369082fa129fe3d) )
4453   ROM_LOAD( "mc3",          0x1000, 0x0800, CRC(9c412104) SHA1(1b40054ebb1ace965a8522119bb23f09797bc5f6) )
4454   ROM_LOAD( "mc4",          0x1800, 0x0800, CRC(7e9b1ab5) SHA1(435f603c0c3e788a509dd144a7916a34e791ae44) )
4455   ROM_LOAD( "mc5.7r",       0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) )
4456   ROM_LOAD( "mc6.8d",       0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) )
4457   ROM_LOAD( "mc7.8e",       0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) )
4458   ROM_LOAD( "mc8",          0x3800, 0x0800, CRC(18ca312b) SHA1(39219059003b949e38305553fea2d33071062c64) )
4459
4460   ROM_REGION( 0x2000, "gfx1", 0 )
4461   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
4462   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4463   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
4464   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4465
4466   ROM_REGION( 0x0020, "proms", 0 )
4467   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4468ROM_END
4469
4470ROM_START( mooncrstuk )
4471   ROM_REGION( 0x8000, "maincpu", 0 )
4472   ROM_LOAD( "mc1",          0x0000, 0x0800, CRC(7d954a7a) SHA1(a93ee403cfd7887538ad12d33f6dd6c71bea2a32) )
4473   ROM_LOAD( "mc2",          0x0800, 0x0800, CRC(44bb7cfa) SHA1(349c2e23a9fce73f95bb8168d369082fa129fe3d) )
4474   ROM_LOAD( "mc3",          0x1000, 0x0800, CRC(9c412104) SHA1(1b40054ebb1ace965a8522119bb23f09797bc5f6) )
4475   ROM_LOAD( "mc4",          0x1800, 0x0800, CRC(7e9b1ab5) SHA1(435f603c0c3e788a509dd144a7916a34e791ae44) )
4476   ROM_LOAD( "mc5.7r",       0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) )
4477   ROM_LOAD( "mc6.8d",       0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) )
4478   ROM_LOAD( "mc7.8e",       0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) )
4479   ROM_LOAD( "8_uk.bin",     0x3800, 0x0800, CRC(ce727ad4) SHA1(247fe0ea7dcc7cc50f19da0a54385b8545f03609) )
4480
4481   ROM_REGION( 0x2000, "gfx1", 0 )
4482   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
4483   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4484   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
4485   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4486
4487   ROM_REGION( 0x0020, "proms", 0 )
4488   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4489ROM_END
4490
4491ROM_START( mooncrstuku )
4492   ROM_REGION( 0x8000, "maincpu", 0 )
4493   ROM_LOAD( "smc1f",        0x0000, 0x0800, CRC(389ca0d6) SHA1(51cf6d190a0ebf23b70c2bcf1ccaa4705e29cd09) )
4494   ROM_LOAD( "smc2f",        0x0800, 0x0800, CRC(410ab430) SHA1(d89abff6ac4afbf69377a1d63043d629a634aab7) )
4495   ROM_LOAD( "smc3f",        0x1000, 0x0800, CRC(a6b4144b) SHA1(2b27ad54d716286c0dc9476d47df182ae01bcfd7) )
4496   ROM_LOAD( "smc4f",        0x1800, 0x0800, CRC(4cc046fe) SHA1(465eaacd50967d768babadd09ab9cad35380f6bf) )
4497   ROM_LOAD( "smc5f",        0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4498   ROM_LOAD( "smc6f",        0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
4499   ROM_LOAD( "smc7f",        0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4500   ROM_LOAD( "smc8f_uk",     0x3800, 0x0800, CRC(b968b2ff) SHA1(40105423f48d2260e85597c3c1e4d8fe947db793) )
4501
4502   ROM_REGION( 0x2000, "gfx1", 0 )
4503   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
4504   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4505   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
4506   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4507
4508   ROM_REGION( 0x0020, "proms", 0 )
4509   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4510ROM_END
4511
4512ROM_START( mooncrstu )
4513   ROM_REGION( 0x8000, "maincpu", 0 )
4514   ROM_LOAD( "smc1f",        0x0000, 0x0800, CRC(389ca0d6) SHA1(51cf6d190a0ebf23b70c2bcf1ccaa4705e29cd09) )
4515   ROM_LOAD( "smc2f",        0x0800, 0x0800, CRC(410ab430) SHA1(d89abff6ac4afbf69377a1d63043d629a634aab7) )
4516   ROM_LOAD( "smc3f",        0x1000, 0x0800, CRC(a6b4144b) SHA1(2b27ad54d716286c0dc9476d47df182ae01bcfd7) )
4517   ROM_LOAD( "smc4f",        0x1800, 0x0800, CRC(4cc046fe) SHA1(465eaacd50967d768babadd09ab9cad35380f6bf) )
4518   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4519   ROM_LOAD( "bepr199",      0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
4520   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4521   ROM_LOAD( "smc8f",        0x3800, 0x0800, CRC(f42164c5) SHA1(e0d1680f193889568edf005786e2767d4fb086f4) )
4522
4523   ROM_REGION( 0x2000, "gfx1", 0 )
4524   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
4525   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4526   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
4527   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4528
4529   ROM_REGION( 0x0020, "proms", 0 )
4530   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4531ROM_END
4532
4533ROM_START( mooncrsto )
4534   ROM_REGION( 0x8000, "maincpu", 0 )
4535   ROM_LOAD( "mc1.7d",       0x0000, 0x0800, CRC(92a86aac) SHA1(f5818ac97d8b779e1fb29bf903f74185d24afb0d) )
4536   ROM_LOAD( "mc2.7e",       0x0800, 0x0800, CRC(438c2b4b) SHA1(11f56b489b5489999952e91919c5e1f622c59c36) )
4537   ROM_LOAD( "mc3.7j",       0x1000, 0x0800, CRC(67e3d21d) SHA1(59579d19931ef11b30fdc3912d838200bef92c81) )
4538   ROM_LOAD( "mc4.7p",       0x1800, 0x0800, CRC(f4db39f6) SHA1(454931f80b35608793590b3843c69ba64cbf6772) )
4539   ROM_LOAD( "mc5.7r",       0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) )
4540   ROM_LOAD( "mc6.8d",       0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) )
4541   ROM_LOAD( "mc7.8e",       0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) )
4542   ROM_LOAD( "mc8.8h",       0x3800, 0x0800, CRC(7e2b1928) SHA1(4f0de8e80c2e2ec6df8612755caf93671ea965b0) )
4543
4544   ROM_REGION( 0x2000, "gfx1", 0 )
4545   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
4546   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4547   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
4548   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4549
4550   ROM_REGION( 0x0020, "proms", 0 )
4551   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4552ROM_END
4553
4554ROM_START( mooncrstg )
4555   ROM_REGION( 0x8000, "maincpu", 0 )
4556   ROM_LOAD( "epr194",       0x0000, 0x0800, CRC(0e5582b1) SHA1(946ad4aeb10c0b7b3f93fd24925cc9bcb49e443c) )
4557   ROM_LOAD( "epr195",       0x0800, 0x0800, CRC(12cb201b) SHA1(ebb01ec646b9e015cbcb93f70dfdaf448afefc12) )
4558   ROM_LOAD( "epr196",       0x1000, 0x0800, CRC(18255614) SHA1(b373e22d47c0f7facba13148ca9c462ec9a0d732) )
4559   ROM_LOAD( "epr197",       0x1800, 0x0800, CRC(05ac1466) SHA1(cbf93a8ce0925fa1c073c74f1274b190d9faefaf) )
4560   ROM_LOAD( "epr198",       0x2000, 0x0800, CRC(c28a2e8f) SHA1(9ff6bab1e1185597ba55cb0d6086091a1fce01a6) )
4561   ROM_LOAD( "epr199",       0x2800, 0x0800, CRC(5a4571de) SHA1(2a4170dee105922fc69c99b79f6f328098e81918) )
4562   ROM_LOAD( "epr200",       0x3000, 0x0800, CRC(b7c85bf1) SHA1(cc9f593658ea39c849d80c83ee0c2170cc29879e) )
4563   ROM_LOAD( "epr201",       0x3800, 0x0800, CRC(2caba07f) SHA1(8fec4904e12b4cfb6068784007278be986a3eede) )
4564
4565   ROM_REGION( 0x2000, "gfx1", 0 )
4566   ROM_LOAD( "epr203",       0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) )
4567   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4568   ROM_LOAD( "epr202",       0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) )
4569   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4570
4571   ROM_REGION( 0x0020, "proms", 0 )
4572   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4573ROM_END
4574
4575ROM_START( mooncrsb )
4576   ROM_REGION( 0x8000, "maincpu", 0 )
4577   ROM_LOAD( "bepr194",      0x0000, 0x0800, CRC(6a23ec6d) SHA1(df2214bdde26a71db59ffd39a745052076563f65) )
4578   ROM_LOAD( "bepr195",      0x0800, 0x0800, CRC(ee262ff2) SHA1(4e2202023ad53109ea58304071735d2425a617f3) )
4579   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4580   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4581   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4582   ROM_LOAD( "bepr199",      0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
4583   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4584   ROM_LOAD( "bepr201",      0x3800, 0x0800, CRC(66da55d5) SHA1(39e2f6107e77ee97860147f64b9673cd9a2ae612) )
4585
4586   ROM_REGION( 0x2000, "gfx1", 0 )
4587   ROM_LOAD( "epr203",       0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) )
4588   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4589   ROM_LOAD( "epr202",       0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) )
4590   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4591
4592   ROM_REGION( 0x0020, "proms", 0 )
4593   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4594ROM_END
4595
4596ROM_START( mooncrs2 )
4597   ROM_REGION( 0x8000, "maincpu", 0 )
4598   ROM_LOAD( "f8.bin",       0x0000, 0x0800, CRC(d36003e5) SHA1(562b27f1bccce6ae29de18b93fa51c508446cda9) )
4599   ROM_LOAD( "bepr195",      0x0800, 0x0800, CRC(ee262ff2) SHA1(4e2202023ad53109ea58304071735d2425a617f3) )
4600   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4601   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4602   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4603   ROM_LOAD( "bepr199",      0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
4604   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4605   ROM_LOAD( "m7.bin",       0x3800, 0x0800, CRC(957ee078) SHA1(472038dedfc01c995be889ea93d4df8bef2b874c) )
4606
4607   ROM_REGION( 0x2000, "gfx1", 0 )
4608   ROM_LOAD( "1h_1_10.bin",  0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
4609   ROM_LOAD( "12.chr",       0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
4610   ROM_CONTINUE(             0x0c00, 0x0200 )  /* this version of the gfx ROMs has two */
4611   ROM_CONTINUE(             0x0a00, 0x0200 )  /* groups of 16 sprites swapped */
4612   ROM_CONTINUE(             0x0e00, 0x0200 )
4613   ROM_LOAD( "1k_1_11.bin",  0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
4614   ROM_LOAD( "11.chr",       0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
4615   ROM_CONTINUE(             0x1c00, 0x0200 )
4616   ROM_CONTINUE(             0x1a00, 0x0200 )
4617   ROM_CONTINUE(             0x1e00, 0x0200 )
4618
4619   ROM_REGION( 0x0020, "proms", 0 )
4620   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4621ROM_END
4622
4623ROM_START( mooncrs3 ) /* Bootleg by Jeutel, very similar to Moon Cresta (bootleg set 2) */
4624   ROM_REGION( 0x8000, "maincpu", 0 )
4625   ROM_LOAD( "b1.7f",  0x0000, 0x0800, CRC(0b28cd8a) SHA1(a1aa0ec63e1dddf4263aa39f6a5fda93108b6e98) )
4626   ROM_CONTINUE(       0x2000, 0x0800 )
4627   ROM_LOAD( "b2.7h",  0x0800, 0x0800, CRC(74a6f0ca) SHA1(cc8e8193bb6bd62f6cb9ea924e4da5ddc44c4685) )
4628   ROM_CONTINUE(       0x2800, 0x0800 )
4629   ROM_LOAD( "b3.7j",  0x1000, 0x0800, CRC(eeb34cc9) SHA1(c5e7d5e1989211be949972e4281403b7b4866922) )
4630   ROM_CONTINUE(       0x3000, 0x0800 )
4631   ROM_LOAD( "b4.7k",  0x1800, 0x0800, CRC(714330e5) SHA1(c681752732c73a6c9bcc9acdcd5c978c455acba0) )
4632   ROM_CONTINUE(       0x3800, 0x0800 )
4633
4634   ROM_REGION( 0x2000, "gfx1", 0 )
4635   ROM_LOAD( "o.1h",  0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
4636   ROM_LOAD( "q.1h",  0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
4637   ROM_CONTINUE(      0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */
4638   ROM_CONTINUE(      0x0a00, 0x0200 ) /* groups of 16 sprites swapped */
4639   ROM_CONTINUE(      0x0e00, 0x0200 )
4640   ROM_LOAD( "p.1k",  0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
4641   ROM_LOAD( "r.1k",  0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
4642   ROM_CONTINUE(      0x1c00, 0x0200 )
4643   ROM_CONTINUE(      0x1a00, 0x0200 )
4644   ROM_CONTINUE(      0x1e00, 0x0200 )
4645
4646   ROM_REGION( 0x0020, "proms", 0 )
4647   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4648ROM_END
4649
4650ROM_START( mooncrs4 )
4651   ROM_REGION( 0x10000, "maincpu", 0 )
4652   ROM_LOAD( "mooncrs4.7k", 0x0000, 0x1000, CRC(5e201041) SHA1(2ab29e69b1cf9464e6a6a3574a3097cc2bd38432) )
4653   ROM_LOAD( "mooncrs4.7j", 0x1000, 0x1000, CRC(8de07c8e) SHA1(7f520a57acb8acedd7b4e29d8367fe2b190efa37) )
4654   ROM_LOAD( "mooncrs4.7h", 0x2000, 0x1000, CRC(888c6d61) SHA1(07404ac714aa1ff9e6bbffffa8afa76a5899ad75) )
4655   ROM_LOAD( "mooncrs4.7f", 0x3000, 0x1000, CRC(492f9b01) SHA1(a301ef05411e7f2cc2c2433faf0933299c43c49a) )
4656
4657   ROM_REGION( 0x2000, "gfx1", 0 )
4658   ROM_LOAD( "mooncrs4.1h", 0x0800, 0x0200, CRC(f508a7a5) SHA1(0867ef190a0543411fe8e394c8f99669f4050433) )
4659   ROM_CONTINUE(            0x0c00, 0x0200 )
4660   ROM_CONTINUE(            0x0a00, 0x0200 )
4661   ROM_CONTINUE(            0x0e00, 0x0200 )
4662   ROM_CONTINUE(            0x0000, 0x0800 )
4663   ROM_LOAD( "mooncrs4.1k", 0x1800, 0x0200, CRC(9b549313) SHA1(7f161b4de86bc64ada4bad84beab3585dde14944) )
4664   ROM_CONTINUE(            0x1c00, 0x0200 )
4665   ROM_CONTINUE(            0x1a00, 0x0200 )
4666   ROM_CONTINUE(            0x1e00, 0x0200 )
4667   ROM_CONTINUE(            0x1000, 0x0800 )
4668
4669   ROM_REGION( 0x0020, "proms", 0 )
4670   ROM_LOAD( "prom.6l",     0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4671ROM_END
4672
4673ROM_START( fantazia )
4674   ROM_REGION( 0x8000, "maincpu", 0 )
4675   ROM_LOAD( "f01.bin",      0x0000, 0x0800, CRC(d3e23863) SHA1(f0a6f7491fdf8aae214f40078b29b7aecdcf2f1e) )
4676   ROM_LOAD( "f02.bin",      0x0800, 0x0800, CRC(63fa4149) SHA1(603ee6d4d2952cc08b3f6e98b1a2053671875e44) )
4677   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4678   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4679   ROM_LOAD( "f09.bin",      0x2000, 0x0800, CRC(75fd5ca1) SHA1(45f2dd33f0e437cb95d9373f86490e5432338737) )
4680   ROM_LOAD( "f10.bin",      0x2800, 0x0800, CRC(e4da2dd4) SHA1(7a53efd5b583f656c87b7d7a5ba7c239ced7d87b) )
4681   ROM_LOAD( "f11.bin",      0x3000, 0x0800, CRC(42869646) SHA1(a3640b2ace31ce99c056bc14d1d96f3404698d6a) )
4682   ROM_LOAD( "f12.bin",      0x3800, 0x0800, CRC(a48d7fb0) SHA1(6206036a9d85e87fb7f8a88c17bfe090fc70caf4) )
4683
4684   ROM_REGION( 0x2000, "gfx1", 0 )
4685   ROM_LOAD( "1h_1_10.bin",  0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
4686   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4687   ROM_LOAD( "1k_1_11.bin",  0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
4688   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4689
4690   ROM_REGION( 0x0020, "proms", 0 )
4691   ROM_LOAD( "fantazia.clr", 0x0000, 0x0020, CRC(a84ff0af) SHA1(c300dc937c608d2d1c113ca7a53c649472c72379) )
4692ROM_END
4693
4694ROM_START( eagle )
4695   ROM_REGION( 0x8000, "maincpu", 0 )
4696   ROM_LOAD( "e1",           0x0000, 0x0800, CRC(224c9526) SHA1(4c014d60d4ee80de7f60b4609269461688c181d0) )
4697   ROM_LOAD( "e2",           0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) )
4698   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4699   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4700   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4701   ROM_LOAD( "e6",           0x2800, 0x0800, CRC(0dea20d5) SHA1(405b51d4e3b1065f78afd2297e075e977ae19196) )
4702   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4703   ROM_LOAD( "e8",           0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) )
4704
4705   ROM_REGION( 0x2000, "gfx1", 0 )
4706   ROM_LOAD( "e10",          0x0000, 0x0800, CRC(40ce58bf) SHA1(67ea99e1afe4fff3e17252b22d11d3c96a416041) )
4707   ROM_LOAD( "e12",          0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) )
4708   ROM_CONTINUE(             0x0c00, 0x0200 )  /* this version of the gfx ROMs has two */
4709   ROM_CONTINUE(             0x0a00, 0x0200 )  /* groups of 16 sprites swapped */
4710   ROM_CONTINUE(             0x0e00, 0x0200 )
4711   ROM_LOAD( "e9",           0x1000, 0x0800, CRC(ba664099) SHA1(9509123bed02a9d47f2c056e1562b80206da5579) )
4712   ROM_LOAD( "e11",          0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) )
4713   ROM_CONTINUE(             0x1c00, 0x0200 )
4714   ROM_CONTINUE(             0x1a00, 0x0200 )
4715   ROM_CONTINUE(             0x1e00, 0x0200 )
4716
4717   ROM_REGION( 0x0020, "proms", 0 )
4718   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4719ROM_END
4720
4721ROM_START( eagle2 )
4722   ROM_REGION( 0x8000, "maincpu", 0 )
4723   ROM_LOAD( "e1.7f",        0x0000, 0x0800, CRC(45aab7a3) SHA1(52ae0463f363dc0964b976faa2c0c428d85a4f12) )
4724   ROM_LOAD( "e2",           0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) )
4725   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4726   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4727   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4728   ROM_LOAD( "e6.6",         0x2800, 0x0800, CRC(9f09f8c6) SHA1(47c600629e02357389dd78c7fcaec862e0da4ef0) )
4729   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4730   ROM_LOAD( "e8",           0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) )
4731
4732   ROM_REGION( 0x2000, "gfx1", 0 )
4733   ROM_LOAD( "e10.2",        0x0000, 0x0800, CRC(25b38ebd) SHA1(f679c2f2cb5892680fec102fafbdfeae156ce373) )
4734   ROM_LOAD( "e12",          0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) )
4735   ROM_CONTINUE(             0x0c00, 0x0200 )  /* this version of the gfx ROMs has two */
4736   ROM_CONTINUE(             0x0a00, 0x0200 )  /* groups of 16 sprites swapped */
4737   ROM_CONTINUE(             0x0e00, 0x0200 )
4738   ROM_LOAD( "e9",           0x1000, 0x0800, CRC(ba664099) SHA1(9509123bed02a9d47f2c056e1562b80206da5579) )
4739   ROM_LOAD( "e11",          0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) )
4740   ROM_CONTINUE(             0x1c00, 0x0200 )
4741   ROM_CONTINUE(             0x1a00, 0x0200 )
4742   ROM_CONTINUE(             0x1e00, 0x0200 )
4743
4744   ROM_REGION( 0x0020, "proms", 0 )
4745   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4746ROM_END
4747
4748ROM_START( eagle3 )
4749   ROM_REGION( 0x8000, "maincpu", 0 )
4750   ROM_LOAD( "e1",           0x0000, 0x0800, CRC(224c9526) SHA1(4c014d60d4ee80de7f60b4609269461688c181d0) )
4751   ROM_LOAD( "e2",           0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) )
4752   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4753   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4754   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4755   ROM_LOAD( "e6",           0x2800, 0x0800, CRC(0dea20d5) SHA1(405b51d4e3b1065f78afd2297e075e977ae19196) )
4756   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4757   ROM_LOAD( "e8",           0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) )
4758
4759   ROM_REGION( 0x2000, "gfx1", 0 )
4760   ROM_LOAD( "e10a",         0x0000, 0x0800, CRC(e3c63d4c) SHA1(ad2b22e316da6bb819c58934d51cd4b2819b18f0) )
4761   ROM_LOAD( "e12",          0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) )
4762   ROM_CONTINUE(             0x0c00, 0x0200 )  /* this version of the gfx ROMs has two */
4763   ROM_CONTINUE(             0x0a00, 0x0200 )  /* groups of 16 sprites swapped */
4764   ROM_CONTINUE(             0x0e00, 0x0200 )
4765   ROM_LOAD( "e9a",          0x1000, 0x0800, CRC(59429e47) SHA1(b7629c81d122fd1e4d390aa7abba44df898387d3) )
4766   ROM_LOAD( "e11",          0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) )
4767   ROM_CONTINUE(             0x1c00, 0x0200 )
4768   ROM_CONTINUE(             0x1a00, 0x0200 )
4769   ROM_CONTINUE(             0x1e00, 0x0200 )
4770
4771   ROM_REGION( 0x0020, "proms", 0 )
4772   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4773ROM_END
4774
4775ROM_START( spctbird )
4776   ROM_REGION( 0x8000, "maincpu", 0 )
4777   ROM_LOAD( "tssa-7f",      0x0000, 0x0800, CRC(45aab7a3) SHA1(52ae0463f363dc0964b976faa2c0c428d85a4f12) )
4778   ROM_LOAD( "tssa-7h",      0x0800, 0x0800, CRC(8b328f48) SHA1(d4f549e90e0bf1f546e2c3dc5a5a16e0415e709e) )
4779   ROM_LOAD( "tssa-7k",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4780   ROM_LOAD( "tssa-7m",      0x1800, 0x0800, CRC(99c9166d) SHA1(c108d84330bc958ff2812dc807e68c246a5a5ad5) )
4781   ROM_LOAD( "tssa-5",       0x2000, 0x0800, CRC(797b6261) SHA1(9a60e504e2aa0201b7311485c0dd411bbe2dc70b) )
4782   ROM_LOAD( "tssa-6",       0x2800, 0x0800, CRC(4825692c) SHA1(41a7e305c3d93f2245fb0413398d951eab9d16c0) )
4783   ROM_LOAD( "tssa-7",       0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4784   ROM_LOAD( "tssa-8",       0x3800, 0x0800, CRC(c9b77b85) SHA1(00797f126b4cdacd9ec2df7e747aa1892933b8b8) )
4785
4786   ROM_REGION( 0x2000, "gfx1", 0 )
4787   ROM_LOAD( "tssb-2",       0x0000, 0x0800, CRC(7d23e1f2) SHA1(6902e44ff6f805a8d589c57b236e471b7fb609f8) )
4788   ROM_LOAD( "tssb-4",       0x0800, 0x0200, CRC(e4977833) SHA1(85aca9bccc6c1a5a2d792a9c4a77ee1b114934c9) )
4789   ROM_CONTINUE(             0x0c00, 0x0200 )
4790   ROM_CONTINUE(             0x0a00, 0x0200 )
4791   ROM_CONTINUE(             0x0e00, 0x0200 )
4792   ROM_LOAD( "tssb-1",       0x1000, 0x0800, CRC(9b9267c3) SHA1(2bbbff7a8a2d3e4524634de5e1c5a2426612c18f) )
4793   ROM_LOAD( "tssb-3",       0x1800, 0x0200, CRC(5ca5e233) SHA1(2115faecd07940547d0ee09776da6fcb1a008287) )
4794   ROM_CONTINUE(             0x1c00, 0x0200 )
4795   ROM_CONTINUE(             0x1a00, 0x0200 )
4796   ROM_CONTINUE(             0x1e00, 0x0200 )
4797
4798   ROM_REGION( 0x0020, "proms", 0 )
4799   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4800ROM_END
4801
4802ROM_START( smooncrs )
4803   ROM_REGION( 0x8000, "maincpu", 0 )
4804   ROM_LOAD( "927",          0x0000, 0x0800, CRC(55c5b994) SHA1(3451b121fa22361b2684385cf5d4455fa6963215) )
4805   ROM_LOAD( "928a",         0x0800, 0x0800, CRC(77ae26d3) SHA1(cbc16a024b73bedff76a6c47336d6ef098e92c53) )
4806   ROM_LOAD( "929",          0x1000, 0x0800, CRC(716eaa10) SHA1(780fc785e6651f19dc1a0ccf48cf9485d6562a71) )
4807   ROM_LOAD( "930",          0x1800, 0x0800, CRC(cea864f2) SHA1(aaaf9f8dd126dfb4a4f52f39863fee02a56a6485) )
4808   ROM_LOAD( "931",          0x2000, 0x0800, CRC(702c5f51) SHA1(5ba8d87c93c4810b8e7c2ad4ee376cd806e83686) )
4809   ROM_LOAD( "932a",         0x2800, 0x0800, CRC(e6a2039f) SHA1(f0f240dd8ac7cd2d9994cb7341b59d7a0a3eaf26) )
4810   ROM_LOAD( "933",          0x3000, 0x0800, CRC(73783cee) SHA1(69760e25ba22645572ec16b4f9136ee84ed0c766) )
4811   ROM_LOAD( "934",          0x3800, 0x0800, CRC(c1a14aa2) SHA1(99f6b01a0acd5e936d6ae61c13599db603b73191) )
4812
4813   ROM_REGION( 0x2000, "gfx1", 0 )
4814   ROM_LOAD( "epr203",       0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) )
4815   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4816   ROM_LOAD( "epr202",       0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) )
4817   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4818
4819   ROM_REGION( 0x0020, "proms", 0 )
4820   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4821ROM_END
4822
4823
4824
4825ROM_START( mooncptc )
4826   ROM_REGION( 0x8000, "maincpu", 0 )
4827   ROM_LOAD( "mc1.bin",          0x0000, 0x0800, CRC(16f17cd5) SHA1(b3bbea2d91a6deeda7e045fc694ea3afb2e88a29) )
4828   ROM_LOAD( "mc2.bin",          0x0800, 0x0800, CRC(e2128805) SHA1(98aba5fd27eb7a3fdd3006f47c1eb7a0ea9d9a6f) )
4829   ROM_LOAD( "mc3.bin",          0x1000, 0x0800, CRC(716eaa10) SHA1(780fc785e6651f19dc1a0ccf48cf9485d6562a71) ) //  = 929                   smooncrs   Super Moon Cresta
4830   ROM_LOAD( "mc4.bin",          0x1800, 0x0800, CRC(bd45cd8f) SHA1(045e8b56d46a11c6f974ea9455618d067ba0ef50) )
4831   ROM_LOAD( "mc5.bin",          0x2000, 0x0800, CRC(9a1e0528) SHA1(d77e7daa9fc79ea0503f93af8c714441c7fd9ca5) )
4832   ROM_LOAD( "mc6.bin",          0x2800, 0x0800, CRC(f0230048) SHA1(8a4363323530b21ee14dbe608aa0de5241d8bb39) )
4833   ROM_LOAD( "mc7.bin",          0x3000, 0x0800, CRC(eafd4d02) SHA1(b75ed5358646d8a377ccd1f282136e638aaa9d0c) )
4834   ROM_LOAD( "mc8.bin",          0x3800, 0x0800, CRC(ccee32f8) SHA1(a4abd8d66209a29f63a56dfc9b6f9f834886c747) )
4835
4836   ROM_REGION( 0x2000, "gfx1", 0 )
4837   ROM_LOAD( "mc12.bin",     0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) ) // == 1h_1_10.bin
4838   ROM_LOAD( "mc14.bin",     0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) ) // == 12.chr
4839   ROM_CONTINUE(             0x0c00, 0x0200 )  /* this version of the gfx ROMs has two */
4840   ROM_CONTINUE(             0x0a00, 0x0200 )  /* groups of 16 sprites swapped */
4841   ROM_CONTINUE(             0x0e00, 0x0200 )
4842   ROM_LOAD( "mc11.bin",     0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) ) // == 1k_1_11.bin
4843   ROM_LOAD( "mc13.bin",     0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) ) // == 11.chr
4844   ROM_CONTINUE(             0x1c00, 0x0200 )
4845   ROM_CONTINUE(             0x1a00, 0x0200 )
4846   ROM_CONTINUE(             0x1e00, 0x0200 )
4847
4848   ROM_REGION( 0x0020, "proms", 0 )
4849   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4850ROM_END
4851
4852
4853ROM_START( sstarcrs )
4854   ROM_REGION( 0x8000, "maincpu", 0 )
4855   ROM_LOAD( "ss1",          0x0000, 0x0800, CRC(2ff72897) SHA1(c34c149ee32dd3318a04eda8928f0cd5f997d184) )
4856   ROM_LOAD( "ss2",          0x0800, 0x0800, CRC(565e7880) SHA1(cd8d1154c2e970e863bd489856819cd34848570b) )
4857   ROM_LOAD( "ss3",          0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
4858   ROM_LOAD( "ss4",          0x1800, 0x0800, CRC(a332e012) SHA1(7b32001fe342dcae2bce1c39dd1e75c6b5806199) )
4859   ROM_LOAD( "ss5",          0x2000, 0x0800, CRC(b9e58453) SHA1(60890208a5dee6e5e52e4ffafcb3501de080adf8) )
4860   ROM_LOAD( "ss6",          0x2800, 0x0800, CRC(7cbb5bc8) SHA1(5158d798e9b4649636f9fecf29738f271a3edef2) )
4861   ROM_LOAD( "ss7",          0x3000, 0x0800, CRC(57713b91) SHA1(ba01ed3f047ebbd0f9e6956e649bec0e8b730a45) )
4862   ROM_LOAD( "ss8",          0x3800, 0x0800, CRC(c857e898) SHA1(a596abe4971e65785945a844a783be2dbca559bc) )
4863
4864   ROM_REGION( 0x2000, "gfx1", 0 )
4865   ROM_LOAD( "ss10",         0x0000, 0x0800, CRC(2a95b8ea) SHA1(b2f7f2d4aca55b8cbbb907c990b27c06b7b2d77b) )
4866   ROM_LOAD( "ss12",         0x0800, 0x0200, CRC(b92c4c30) SHA1(4abc4c759e401be4edcce4f3f2d7b2b3f1827a99) )
4867   ROM_CONTINUE(             0x0c00, 0x0200 )
4868   ROM_CONTINUE(             0x0a00, 0x0200 )
4869   ROM_CONTINUE(             0x0e00, 0x0200 )
4870   ROM_LOAD( "ss9",          0x1000, 0x0800, CRC(3661e084) SHA1(bb5b8b7c9c61a0379a3f1eec02d61bbb385cd3e9) )
4871   ROM_LOAD( "ss11",         0x1800, 0x0200, CRC(95613048) SHA1(b9ba1ca11ef3154a800a90adaa8c491bb944a3a2) )
4872   ROM_CONTINUE(             0x1c00, 0x0200 )
4873   ROM_CONTINUE(             0x1a00, 0x0200 )
4874   ROM_CONTINUE(             0x1e00, 0x0200 )
4875
4876   ROM_REGION( 0x0020, "proms", 0 )
4877   // not present in this set
4878   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4879ROM_END
4880
4881ROM_START( fantastc )
4882   ROM_REGION( 0x8000, "maincpu", 0 )
4883   ROM_LOAD( "f1",           0x0000, 0x1000, CRC(8019f0b7) SHA1(b0a611d1cbb92874a6534fd27c6ac57141668913) )
4884   ROM_LOAD( "f2",           0x1000, 0x1000, CRC(988a9bc6) SHA1(468d483f285ed587f3be81431f22fdbaa3c221cc) )
4885   ROM_LOAD( "f3",           0x2000, 0x1000, CRC(a3c0cc0b) SHA1(a1b12f1c4187d8db1b267a992db6cd297aeea1bc) )
4886   ROM_LOAD( "f4",           0x3000, 0x1000, CRC(c1361be8) SHA1(5c8512747927096dd75e6095deb12dfe637f9096) )
4887   ROM_LOAD( "f5",           0x4000, 0x1000, CRC(6787e93f) SHA1(4ed784ce600fc88efc4865a361f5427027d3419a) )
4888   ROM_LOAD( "f6",           0x5000, 0x1000, CRC(597029ae) SHA1(38ea1348ac35bd1e6190f395ccb22f16cc30133d) )
4889   ROM_LOAD( "f7",           0x6000, 0x1000, CRC(8de08d9a) SHA1(ba48a23236f2b26aa17b509daddc4b3e75424d06) )
4890   ROM_LOAD( "f8",           0x7000, 0x1000, CRC(489e2fb7) SHA1(f7f641c3c6874eae0c9bb3920aa916f8b99a9285) )
4891
4892   ROM_REGION( 0x2000, "gfx1", 0 )
4893   ROM_LOAD( "37",           0x0000, 0x1000, CRC(3a54f749) SHA1(41e3c479b268de21ae0fd4f7986eb666ee58ad83) )
4894   ROM_LOAD( "38",           0x1000, 0x1000, CRC(88b71264) SHA1(60c2eb49f16b94b27625045c78c864e299b60d6b) )
4895
4896   ROM_REGION( 0x0020, "proms", 0 )
4897   ROM_LOAD( "prom-74g138", 0x0000, 0x0020, CRC(800f5718) SHA1(5387b24934c8130726180159e207943211215ae2) )
4898ROM_END
4899
4900ROM_START( timefgtr )
4901   ROM_REGION( 0x8000, "maincpu", 0 )
4902   ROM_LOAD( "tp01",           0x0000, 0x1000, CRC(ba8b3e70) SHA1(cb930022e462319721013f343e513f4a4957b89e) )
4903   ROM_LOAD( "tp02",           0x1000, 0x1000, CRC(796158c0) SHA1(bc02131a9af1773839ae0aba0225b3160ae632c4) )
4904   ROM_LOAD( "tp03",           0x2000, 0x1000, CRC(fe6a1c98) SHA1(f4a4e61cc96d93cd21e79b0aa3ddc158a7a034a0) )
4905   ROM_LOAD( "tp04",           0x3000, 0x1000, CRC(eff73185) SHA1(8538f1b63b051d6d3892ebedc76f45c3cf02cbab) )
4906   ROM_LOAD( "tp05",           0x4000, 0x1000, CRC(85023e4a) SHA1(afc76ba15d6278c45bf50e9bafcb72a0beb69d4d) )
4907   ROM_LOAD( "tp06",           0x5000, 0x1000, CRC(b6b8aaf9) SHA1(e25e59ee653b13437c412f1aeb8d7c670e34b39f) )
4908
4909   ROM_REGION( 0x4000, "gfx1", 0 )
4910   ROM_LOAD( "tp07",           0x0000, 0x1000, CRC(5f57342c) SHA1(000985613d620cbcafbd24351bd4b02f037430a9) )
4911   ROM_LOAD( "tp09",           0x1000, 0x1000, CRC(636fd772) SHA1(6567992488f0125c082a164f1043c9384736c665) )
4912   ROM_LOAD( "tp08",           0x2000, 0x1000, CRC(2dc3c48b) SHA1(f4ddf5fce909a1de3efbcaf2ff2e4a8d1ea06516) )
4913   ROM_LOAD( "tp10",           0x3000, 0x1000, CRC(b27b450c) SHA1(16131583133fe33b61d4f51a860f41d43011bc50) )
4914
4915   ROM_REGION( 0x0020, "proms", 0 )
4916   ROM_LOAD( "prom", 0x0000, 0x0020, NO_DUMP )
4917ROM_END
4918
4919ROM_START( kong )
4920   ROM_REGION( 0x8000, "maincpu", 0 )
4921   ROM_LOAD( "1",   0x0000, 0x1000, CRC(a206beb5) SHA1(5fea9584b4e3ae076178f6965f0743b9b90b15fc) )
4922   ROM_LOAD( "2",   0x1000, 0x1000, CRC(d75597b6) SHA1(df9dc99e4f0e864a91ae170d993838db8677f70f) )
4923   ROM_LOAD( "3",   0x2000, 0x1000, CRC(54e0b87b) SHA1(cfcc64fce36bf8250966576a34768ed7e8857783) )
4924   ROM_LOAD( "4",   0x3000, 0x1000, CRC(356c4ca2) SHA1(e95d219b013a1b066653b566a84c03c035a03073) )
4925   ROM_LOAD( "5",   0x4000, 0x1000, CRC(2d295976) SHA1(79e26c55e06b894bab403de77d76260c2bb3baf0) )
4926   ROM_LOAD( "6",   0x5000, 0x1000, CRC(77131cca) SHA1(900948988f2f6de6b572e5e489a7954eca812278) )
4927   ROM_LOAD( "7",   0x6000, 0x1000, CRC(3d5ec3f1) SHA1(b382e4a2d2915db190a1578b0ad51ca9b94d521b) )
4928   ROM_LOAD( "8",   0x7000, 0x1000, CRC(015fe5e5) SHA1(d246d1c791eb4d85e59a826ed0accd9f1da483bb) )
4929
4930   ROM_REGION( 0x2000, "gfx1", 0 )
4931   ROM_LOAD( "9",   0x0000, 0x0800, CRC(fe42a052) SHA1(3f5893728c1aa73f28ff4841a388124b15bbf1b7) )
4932   ROM_LOAD( "10",   0x1000, 0x0800, CRC(91fa187e) SHA1(f32741a06a3d9ba4b7d3a5552f796a27d9fa1abf) )
4933   ROM_LOAD( "11",   0x0800, 0x0800, CRC(ad2b2cdd) SHA1(01a5db01c4fa07707823436a28d40cfd2b80be23) )
4934   ROM_LOAD( "12",   0x1800, 0x0800, CRC(b74724df) SHA1(d72d0831e3806f49a07ae3333d7a29fccaf6d65e) )
4935
4936   ROM_REGION( 0x2000, "unk", 0 ) // what is this?
4937   ROM_LOAD( "13",   0x0000, 0x1000, CRC(7d33ca0a) SHA1(8a65a4b913559e3fd17f6abb381db1ab813fc8f2) )
4938
4939   ROM_REGION( 0x0020, "proms", 0 )
4940   ROM_LOAD( "prom", 0x0000, 0x0020, NO_DUMP )
4941ROM_END
4942
4943ROM_START( mooncmw )
4944   ROM_REGION( 0x8000, "maincpu", 0 )
4945   ROM_LOAD( "60.1x",      0x0000, 0x0800, CRC(322859e6) SHA1(292dccb66c38c8de837ec3ac10928d092494958e) )
4946   ROM_LOAD( "61.2x",      0x0800, 0x0800, CRC(c249902d) SHA1(0015461173fb991fd99c824e0eab054c3c17d0f1) )
4947   ROM_LOAD( "62.3x",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4948   ROM_LOAD( "63.4x",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4949   ROM_LOAD( "64.5x",      0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4950   ROM_LOAD( "65.6x",      0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
4951   ROM_LOAD( "66.7x",      0x3000, 0x0800, CRC(f23cd8ce) SHA1(a77e7eca239de6a72a8cabed6444ae8efb9e40bd) )
4952   ROM_LOAD( "67.8x",      0x3800, 0x0800, CRC(66da55d5) SHA1(39e2f6107e77ee97860147f64b9673cd9a2ae612) )
4953
4954   ROM_REGION( 0x2000, "gfx1", 0 )
4955   ROM_LOAD( "68.1h",      0x0000, 0x0800, CRC(78663d86) SHA1(8648a3e60259404a05ad58b1641190e5b33a24eb) )
4956   ROM_CONTINUE(           0x0800, 0x0200 )
4957   ROM_CONTINUE(           0x0c00, 0x0200 )
4958   ROM_CONTINUE(           0x0a00, 0x0200 )
4959   ROM_CONTINUE(           0x0e00, 0x0200 )
4960   ROM_LOAD( "69.1k",      0x1000, 0x0800, CRC(162c50d3) SHA1(67d9c87782cf29c443590d7ad687fbeaa6218346) )
4961   ROM_CONTINUE(           0x1800, 0x0200 )
4962   ROM_CONTINUE(           0x1c00, 0x0200 )
4963   ROM_CONTINUE(           0x1a00, 0x0200 )
4964   ROM_CONTINUE(           0x1e00, 0x0200 )
4965
4966   ROM_REGION( 0x0020, "proms", 0 )
4967   ROM_LOAD( "prom-sn74s288n-71.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4968ROM_END
4969
4970
4971ROM_START( starfgmc )
4972   ROM_REGION( 0x8000, "maincpu", 0 )
4973   ROM_LOAD( "sei-sf-a2.bin",      0x0000, 0x0800, CRC(322859e6) SHA1(292dccb66c38c8de837ec3ac10928d092494958e) )
4974   ROM_LOAD( "sei-sf-a1.bin",      0x0800, 0x0800, CRC(7fed0654) SHA1(5a0336a5fd2f34eb901da6cf703221bc2d3f954e) )
4975   ROM_LOAD( "sei-sf-b2.bin",      0x1000, 0x0800, CRC(935f7435) SHA1(433304c8c6f495c1098371770dca10e5ef5750c6) )
4976   ROM_LOAD( "sei-sf-c1.bin",      0x1800, 0x0800, CRC(29d54869) SHA1(71e0862f24c26a5262c76140a258388b56a9af19) )
4977   ROM_LOAD( "sei-sf-d1.bin",      0x2000, 0x0800, CRC(9126cca6) SHA1(ec8ae1d55010645cc4243a1bbf8343d10194136a) )
4978   ROM_LOAD( "sei-sf-e2.bin",      0x2800, 0x0800, CRC(9d394261) SHA1(e1e6d09ad0c01588d8e4b4665a62264163f80a3d) )
4979   ROM_LOAD( "sei-sf-f2.bin",      0x3000, 0x0800, CRC(94f161dd) SHA1(5e5e5a35e8a1478755b5569018ebf54c513d3c64) )
4980   ROM_LOAD( "sei-sf-f1.bin",      0x3800, 0x0800, CRC(6ced7f80) SHA1(4710d6a35ac38642893f2ceb27799f5caf24aa3b) )
4981
4982   ROM_REGION( 0x2000, "gfx1", 0 ) // check loading
4983   ROM_LOAD( "sei-sf-jh2.bin",  0x0000, 0x0800, CRC(8edba3cd) SHA1(296cf08ee388d1aec7388a9789ab18db54c64118) )
4984   ROM_LOAD( "sei-sf-jh3.bin",  0x0800, 0x0800, CRC(f5a871a9) SHA1(6afa971ffb15b7b97a6880db26a1f599d23f8655) )
4985   ROM_LOAD( "sei-sf-lk2.bin",  0x1000, 0x0800, CRC(44b0f06a) SHA1(26cb43239e9150dc867b19d3b48b5a766778ca0a) )
4986   ROM_LOAD( "sei-sf-lk3.bin",  0x1800, 0x0800, CRC(773b1ee6) SHA1(6d0ca6d0d01f408a2cb1ae40a4dab903eccea528) )
4987
4988
4989   ROM_REGION( 0x0020, "proms", 0 ) // no prom included so using the regular one
4990   ROM_LOAD( "prom-sn74s288n-71.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4991ROM_END
4992
4993
4994ROM_START( spcdrag )
4995   ROM_REGION( 0x10000, "maincpu", 0 )
4996   ROM_LOAD( "a.bin",      0x0000, 0x0800, CRC(38cc9839) SHA1(71c5853fc14a9c0b93e3b7660b925021680a0fe1) )
4997   ROM_LOAD( "b.bin",      0x0800, 0x0800, CRC(419fa8d6) SHA1(709b096d43c15cbfb98745e1f5e7c1bc921e3241) )
4998   ROM_LOAD( "c.bin",      0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
4999   ROM_LOAD( "d.bin",      0x1800, 0x0800, CRC(cbcf17c5) SHA1(9aa3ca6dc30e4a19ed2bdb2be6ba90bde4cb7542) )
5000   ROM_LOAD( "em.bin",     0x2000, 0x0800, CRC(eb81c19c) SHA1(e5dd61704938c837b87a3155d54698482235c513) )
5001   ROM_LOAD( "fm.bin",     0x2800, 0x0800, CRC(757b7672) SHA1(d042e4bc17d2a8c9f1db55d57d5c235338cdb20c) )
5002   ROM_LOAD( "g.bin",      0x3000, 0x0800, CRC(57713b91) SHA1(ba01ed3f047ebbd0f9e6956e649bec0e8b730a45) )
5003   ROM_LOAD( "h.bin",      0x3800, 0x0800, CRC(159ad847) SHA1(9d46f380c868ac07964e571c54e800c683a6a679) )
5004
5005   ROM_REGION( 0x2000, "gfx1", 0 )
5006   ROM_LOAD( "203.bin",  0x0000, 0x0800, CRC(a2e82527) SHA1(5e9236ba102728213b4651db984b3a169b4a0410) )
5007   ROM_LOAD( "172.bin",  0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
5008   ROM_LOAD( "202.bin",  0x1000, 0x0800, CRC(80c3ad74) SHA1(0fd2269543d123bd427f5a648a17f8bee65b20a2) )
5009   ROM_LOAD( "171.bin",  0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
5010
5011   ROM_REGION( 0x0020, "proms", 0 )
5012   // not present in this set
5013   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
5014ROM_END
5015
5016ROM_START( spcdraga )
5017   ROM_REGION( 0x10000, "maincpu", 0 )
5018   ROM_LOAD( "1.7g",      0x0000, 0x0800, CRC(38cc9839) SHA1(71c5853fc14a9c0b93e3b7660b925021680a0fe1) )
5019   ROM_LOAD( "2.7g",      0x0800, 0x0800, CRC(29e00ae4) SHA1(574bdfb621e084485e6621229cd569486831e4ba) )
5020   ROM_LOAD( "3.7g",      0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
5021   ROM_LOAD( "4.7g",      0x1800, 0x0800, CRC(068f8830) SHA1(e12d590401878d9f2695e5c7aa38387ed9ccfb06) )
5022   ROM_LOAD( "5.10g",     0x2000, 0x0800, CRC(32cd9adc) SHA1(3143690712465d092d6c63f4826f220839d78958) )
5023   ROM_LOAD( "6.10g",     0x2800, 0x0800, CRC(50db67c5) SHA1(69ad219332ac0d9f4e328b314f7bdc34d5599393) )
5024   ROM_LOAD( "7.10g",     0x3000, 0x0800, CRC(22415271) SHA1(60b1ca2dc044c0863c6f38280a3bd0ff9397c869) )
5025   ROM_LOAD( "8.10g",     0x3800, 0x0800, CRC(159ad847) SHA1(9d46f380c868ac07964e571c54e800c683a6a679) )
5026
5027   ROM_REGION( 0x2000, "gfx1", 0 )
5028   ROM_LOAD( "a2.7a",  0x0000, 0x0800, CRC(38b042dd) SHA1(bd452dae4cbc22a900cf783f84d1f9d8cb1218f9) )
5029   ROM_LOAD( "a4.7a",  0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
5030   ROM_CONTINUE(       0x0c00, 0x0200 )
5031   ROM_CONTINUE(       0x0a00, 0x0200 )
5032   ROM_CONTINUE(       0x0e00, 0x0200 )
5033   ROM_LOAD( "a1.9a",  0x1000, 0x0800, CRC(24441ab3) SHA1(8c9d2bd062cb2360f3dd3df2d7d212e9485f91ad) )
5034   ROM_LOAD( "a3.9a",  0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
5035   ROM_CONTINUE(       0x1c00, 0x0200 )
5036   ROM_CONTINUE(       0x1a00, 0x0200 )
5037   ROM_CONTINUE(       0x1e00, 0x0200 )
5038
5039   ROM_REGION( 0x0020, "proms", 0 )
5040   // not present in this set
5041   ROM_LOAD( "prom_6331.10f", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
5042ROM_END
5043
5044ROM_START( mooncreg ) // similar to the spcdraga 'Space Dragon (set 2)' set but with original Moon Cresta gfx roms
5045   ROM_REGION( 0x10000, "maincpu", 0 )
5046   ROM_LOAD( "eg1",     0x0000, 0x0800, CRC(a67ca4af) SHA1(0422be6b3549418c19ece3de6dd165e690d40fdd) ) // unique to this set
5047   ROM_LOAD( "eg2",     0x0800, 0x0800, CRC(b57b140e) SHA1(f436586280e70dded199be52984fb22c0daf2d62) ) // unique to this set
5048   ROM_LOAD( "eg3",     0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) ) // == spcdrag/spcdraga
5049   ROM_LOAD( "eg4",     0x1800, 0x0800, CRC(068f8830) SHA1(e12d590401878d9f2695e5c7aa38387ed9ccfb06) ) // == spcdraga
5050   ROM_LOAD( "eg5",     0x2000, 0x0800, CRC(32cd9adc) SHA1(3143690712465d092d6c63f4826f220839d78958) ) // == spcdraga
5051   ROM_LOAD( "eg6",     0x2800, 0x0800, CRC(3a4b62d9) SHA1(955603f1ca7c8e7a488a6b33dabed0ac12aa8050) ) // unique to this set
5052   ROM_LOAD( "eg7",     0x3000, 0x0800, CRC(22415271) SHA1(60b1ca2dc044c0863c6f38280a3bd0ff9397c869) ) // == spcdraga
5053   ROM_LOAD( "eg8",     0x3800, 0x0800, CRC(7b9cc105) SHA1(d12bb1d86eddc08ab24c0e8f8b4cc6011fa70f5a) ) // unique to this set
5054
5055   ROM_REGION( 0x2000, "gfx1", 0 )
5056   ROM_LOAD( "eg_2b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
5057   ROM_LOAD( "eg_4b",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
5058   ROM_LOAD( "eg_1b",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
5059   ROM_LOAD( "eg_3b",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
5060
5061   ROM_REGION( 0x0020, "proms", 0 )
5062   // not present in this set
5063   ROM_LOAD( "prom_6331.10f", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
5064ROM_END
5065
5066
5067ROM_START( mooncrsl ) // similar to above
5068   ROM_REGION( 0x10000, "maincpu", 0 )
5069   ROM_LOAD( "01.bin",     0x0000, 0x0800, CRC(a67ca4af) SHA1(0422be6b3549418c19ece3de6dd165e690d40fdd) )
5070   ROM_LOAD( "02.bin",     0x0800, 0x0800, CRC(16edce3e) SHA1(59a21d69aba42be265fa3f9166a031ef510c59ed) )
5071   ROM_LOAD( "03.bin",     0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
5072   ROM_LOAD( "04.bin",     0x1800, 0x0800, CRC(068f8830) SHA1(e12d590401878d9f2695e5c7aa38387ed9ccfb06) )
5073   ROM_LOAD( "05.bin",     0x2000, 0x0800, CRC(28ae612d) SHA1(f1c224be95659e716f0d4f0dc2704503cfc46c07) )
5074   ROM_LOAD( "06.bin",     0x2800, 0x0800, CRC(803da987) SHA1(41ce0401a142f2fc41ea2db95d1067a2386e9e70) )
5075   ROM_LOAD( "07.bin",     0x3000, 0x0800, CRC(8e9ac0fc) SHA1(ddc11ad20ecbd954098becf7d7a1bbe6cddeda1b) )
5076   ROM_LOAD( "08.bin",     0x3800, 0x0800, CRC(020a8e2f) SHA1(b64438cb043252565d8a4f3f58f4a4f78a276ba2) )
5077
5078   ROM_REGION( 0x2000, "gfx1", 0 ) // not present in this set
5079   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
5080   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
5081   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
5082   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
5083
5084   ROM_REGION( 0x0020, "proms", 0 ) // not present in this set
5085   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
5086ROM_END
5087
5088
5089ROM_START( stera )
5090   ROM_REGION( 0x8000, "maincpu", 0 )
5091   ROM_LOAD( "stera.1",      0x0000, 0x0800, CRC(cd04fea8) SHA1(f3ba58f276c784f4ad4a53f9f961c269faa8fa87) )
5092   ROM_LOAD( "stera.2",      0x0800, 0x0800, CRC(ccd1878e) SHA1(cfa4913a3cd3e58998bd983c9078af58560cfbd6) )
5093   ROM_LOAD( "stera.3",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
5094   ROM_LOAD( "stera.4",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
5095   ROM_LOAD( "stera.5",      0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
5096   ROM_LOAD( "stera.6",      0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
5097   ROM_LOAD( "stera.7",      0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
5098   ROM_LOAD( "stera.8",      0x3800, 0x0800, CRC(37f19956) SHA1(cb59ae3bb06f56baa0898baeae8b3810263e046b) )
5099
5100   ROM_REGION( 0x2000, "gfx1", 0 )
5101   ROM_LOAD( "stera.10",  0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
5102   ROM_LOAD( "stera.12",  0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
5103   ROM_LOAD( "stera.11",  0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
5104   ROM_LOAD( "stera.9",   0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
5105
5106   ROM_REGION( 0x0020, "proms", 0 )
5107   ROM_LOAD( "stera.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
5108ROM_END
5109
5110ROM_START( mooncrgx )
5111   ROM_REGION( 0x8000, "maincpu", 0 )
5112   ROM_LOAD( "1",            0x0000, 0x0800, CRC(84cf420b) SHA1(82c979467c51df699337d5878340d05bee606480) )
5113   ROM_LOAD( "2",            0x0800, 0x0800, CRC(4c2a61a1) SHA1(a3759bd2c062f2843cd5b812529c798d5d12086c) )
5114   ROM_LOAD( "3",            0x1000, 0x0800, CRC(1962523a) SHA1(56ea003c3ff37c2bc33383207fccde0ba0ed781a) )
5115   ROM_LOAD( "4",            0x1800, 0x0800, CRC(75dca896) SHA1(017d04501d3d1305491ba843d92ebd74d47d2f9c) )
5116   ROM_LOAD( "5",            0x2000, 0x0800, CRC(32483039) SHA1(23baf136d5b7fc02f999dcb31b8daf68b6ffafd1) )
5117   ROM_LOAD( "6",            0x2800, 0x0800, CRC(43f2ab89) SHA1(f7f0802a12fd89d61f6f00044e077f34a9d3955f) )
5118   ROM_LOAD( "7",            0x3000, 0x0800, CRC(1e9c168c) SHA1(891dc159dfc343322c3241980a0ef76dee510ca9) )
5119   ROM_LOAD( "8",            0x3800, 0x0800, CRC(5e09da94) SHA1(677890912db12df6fa2cb515c198f8ac3f7187af) )
5120
5121   ROM_REGION( 0x2000, "gfx1", 0 )
5122   ROM_LOAD( "1h_1_10.bin",  0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
5123   ROM_LOAD( "12.chr",       0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
5124   ROM_CONTINUE(             0x0c00, 0x0200 )
5125   ROM_CONTINUE(             0x0a00, 0x0200 )
5126   ROM_CONTINUE(             0x0e00, 0x0200 )
5127   ROM_LOAD( "9.chr",        0x1000, 0x0800, CRC(70df525c) SHA1(f771293494a2234bf80f206ecf1e88773322e503) )
5128   ROM_LOAD( "11.chr",       0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
5129   ROM_CONTINUE(             0x1c00, 0x0200 )
5130   ROM_CONTINUE(             0x1a00, 0x0200 )
5131   ROM_CONTINUE(             0x1e00, 0x0200 )
5132
5133   ROM_REGION( 0x0020, "proms", 0 )
5134   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
5135ROM_END
5136
5137ROM_START( moonqsr )
5138   ROM_REGION( 0x10000, "maincpu", 0 )
5139   ROM_LOAD( "mq1",          0x0000, 0x0800, CRC(132c13ec) SHA1(d95166b025442f184e44a70312fb3b4f6366f324) )
5140   ROM_LOAD( "mq2",          0x0800, 0x0800, CRC(c8eb74f1) SHA1(4efa85c40349852da47a0f725ae06873efe4ce1c) )
5141   ROM_LOAD( "mq3",          0x1000, 0x0800, CRC(33965a89) SHA1(92912cea76a472d9b709c664d9818844a07fcc32) )
5142   ROM_LOAD( "mq4",          0x1800, 0x0800, CRC(a3861d17) SHA1(d7037d93b7838ccdd9a6a1a1476571cfa869fca1) )
5143   ROM_LOAD( "mq5",          0x2000, 0x0800, CRC(8bcf9c67) SHA1(7af0d9308d20c52675301acf5d1a5d62358352a6) )
5144   ROM_LOAD( "mq6",          0x2800, 0x0800, CRC(5750cda9) SHA1(17c2bc38037833fdb8923d4a2262264386ef916b) )
5145   ROM_LOAD( "mq7",          0x3000, 0x0800, CRC(78d7fe5b) SHA1(4085562a0af94c65dad2a3550409727e597c0d5b) )
5146   ROM_LOAD( "mq8",          0x3800, 0x0800, CRC(4919eed5) SHA1(526aaedd25e0f7c525eb7c66519218ae09b0407e) )
5147
5148   ROM_REGION( 0x2000, "gfx1", 0 )
5149   ROM_LOAD( "mqb",          0x0000, 0x0800, CRC(b55ec806) SHA1(fb52e53dfa3ae9dec162622d22de9cfdb0b5f9d6) )
5150   ROM_LOAD( "mqd",          0x0800, 0x0800, CRC(9e7d0e13) SHA1(18951080d307ac13344f89745f671595e26d282c) )
5151   ROM_LOAD( "mqa",          0x1000, 0x0800, CRC(66eee0db) SHA1(eeb08efd226e15e248999558240488ffd0e39688) )
5152   ROM_LOAD( "mqc",          0x1800, 0x0800, CRC(a6db5b0d) SHA1(476e197df047e991d2ea3c1fad92c799510f1647) )
5153
5154   ROM_REGION( 0x0020, "proms", 0 )
5155   ROM_LOAD( "vid_e6.bin",   0x0000, 0x0020, CRC(0b878b54) SHA1(3667aca564ebfef5b88d7f74fabbd16dd23183b4) )
5156ROM_END
5157
5158ROM_START( moonal2 )
5159   ROM_REGION( 0x10000, "maincpu", 0 )
5160   ROM_LOAD( "ali1",         0x0000, 0x0400, CRC(0dcecab4) SHA1(493628640de1a7e3bb9914ee3459b74cedc599fd) )
5161   ROM_LOAD( "ali2",         0x0400, 0x0400, CRC(c6ee75a7) SHA1(36503351380f7638069637c22bd06da06da54a1c) )
5162   ROM_LOAD( "ali3",         0x0800, 0x0400, CRC(cd1be7e9) SHA1(684f1923090f0d53338705f6972778712e27577f) )
5163   ROM_LOAD( "ali4",         0x0c00, 0x0400, CRC(83b03f08) SHA1(a1fd422051aa7f17f857188b503031cce3fdc275) )
5164   ROM_LOAD( "ali5",         0x1000, 0x0400, CRC(6f3cf61d) SHA1(e238ed6f9c0813f0177abe9090e29562529eeef8) )
5165   ROM_LOAD( "ali6",         0x1400, 0x0400, CRC(e169d432) SHA1(a5189d7322a240863afee7ac0ecf68599498cb87) )
5166   ROM_LOAD( "ali7",         0x1800, 0x0400, CRC(41f64b73) SHA1(dff786a74575da9fbaca3ac610ad2f367983c7fc) )
5167   ROM_LOAD( "ali8",         0x1c00, 0x0400, CRC(f72ee876) SHA1(8e50a516f10d77652ff3692bb85adb66bc128e26) )
5168   ROM_LOAD( "ali9",         0x2000, 0x0400, CRC(b7fb763c) SHA1(4e7c4995f52dec2ea61424c79d79797933dad604) )
5169   ROM_LOAD( "ali10",        0x2400, 0x0400, CRC(b1059179) SHA1(86de04c82a7604cb57958a52d5585837481f94a5) )
5170   ROM_LOAD( "ali11",        0x2800, 0x0400, CRC(9e79a1c6) SHA1(2f59e3a2a81a224b163b23bd2c184385f64e1565) )
5171
5172   ROM_REGION( 0x2000, "gfx1", 0 )
5173   ROM_LOAD( "ali13.1h",     0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) )
5174   ROM_RELOAD(               0x0800, 0x0800 )
5175   ROM_LOAD( "ali12.1k",     0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) )
5176   ROM_RELOAD(               0x1800, 0x0800 )
5177
5178   ROM_REGION( 0x0020, "proms", 0 )
5179   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
5180ROM_END
5181
5182ROM_START( moonal2b )
5183   ROM_REGION( 0x10000, "maincpu", 0 )
5184   ROM_LOAD( "ali1",         0x0000, 0x0400, CRC(0dcecab4) SHA1(493628640de1a7e3bb9914ee3459b74cedc599fd) )
5185   ROM_LOAD( "ali2",         0x0400, 0x0400, CRC(c6ee75a7) SHA1(36503351380f7638069637c22bd06da06da54a1c) )
5186   ROM_LOAD( "md-2",         0x0800, 0x0800, CRC(8318b187) SHA1(75bb113db1111cd2a335139fa6cb94d9522f5860) )
5187   ROM_LOAD( "ali5",         0x1000, 0x0400, CRC(6f3cf61d) SHA1(e238ed6f9c0813f0177abe9090e29562529eeef8) )
5188   ROM_LOAD( "ali6",         0x1400, 0x0400, CRC(e169d432) SHA1(a5189d7322a240863afee7ac0ecf68599498cb87) )
5189   ROM_LOAD( "ali7",         0x1800, 0x0400, CRC(41f64b73) SHA1(dff786a74575da9fbaca3ac610ad2f367983c7fc) )
5190   ROM_LOAD( "ali8",         0x1c00, 0x0400, CRC(f72ee876) SHA1(8e50a516f10d77652ff3692bb85adb66bc128e26) )
5191   ROM_LOAD( "ali9",         0x2000, 0x0400, CRC(b7fb763c) SHA1(4e7c4995f52dec2ea61424c79d79797933dad604) )
5192   ROM_LOAD( "ali10",        0x2400, 0x0400, CRC(b1059179) SHA1(86de04c82a7604cb57958a52d5585837481f94a5) )
5193   ROM_LOAD( "md-6",         0x2800, 0x0800, CRC(9cc973e0) SHA1(8d96448794e0869036a3fac7f7fbcad459149a98) )
5194
5195   ROM_REGION( 0x2000, "gfx1", 0 )
5196   ROM_LOAD( "ali13.1h",     0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) )
5197   ROM_RELOAD(               0x0800, 0x0800 )
5198   ROM_LOAD( "ali12.1k",     0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) )
5199   ROM_RELOAD(               0x1800, 0x0800 )
5200
5201   ROM_REGION( 0x0020, "proms", 0 )
5202   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
5203ROM_END
5204
5205
5206/*
5207
5208The Pit (on Moon Quasar hardware)
5209^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5210
5211Dumped by Andrew Welburn
5212on the sunny morning of 2/03/10
5213
5214http://www.andys-arcade.com
5215
5216*************************************************
5217**Do not separate this text file from the roms.**
5218*************************************************
5219
5220Nichibutsu Moon Quasar pcb largely unhacked, but
5221with an odd looking set of roms. One gfx rom
5222identifies itself as 'The Pit' so that is my only
5223guess at what the game actually is.
5224
5225Roms 1 through 8 read well in-circuit in the right
5226places in the memory map for moon cresta,
5227(through the fluke 9100) but the game does not
5228currently run. Roms dumped adn verified with no
5229anomalies.
5230
5231Rom 9 was placed on the through-socket and has
5232pins 20 and 18 (/E and A11 respectively) tied to
5233pin 5 of 8E (A14/A15/MREQ demux). This demux has
5234some patches, the trace to pin 13 is cut, and is
5235instead wired to pin 3.
5236
5237*/
5238
5239ROM_START( thepitm )
5240   ROM_REGION( 0x10000, "maincpu", 0 )
5241   ROM_LOAD( "1.bin",          0x0000, 0x0800, CRC(0f78d6ea) SHA1(e224b2fb9b4a26295b03af720fa647d4488a1287) )
5242   ROM_LOAD( "2.bin",          0x0800, 0x0800, CRC(ebacc6eb) SHA1(8b73d96ebe8070fbbb16434aa6a30ec8985ddec6) )
5243   ROM_LOAD( "3.bin",          0x1000, 0x0800, CRC(14fd0706) SHA1(5d905d8272731c307dc9f96caf4973b28413198e) )
5244   ROM_LOAD( "4.bin",          0x1800, 0x0800, CRC(613e920f) SHA1(078c7f36ba0145fbbd24bdae4cb6b03c5c27c1cc) )
5245   ROM_LOAD( "5.bin",          0x2000, 0x0800, CRC(5a791f3f) SHA1(166f07f7fe260e53e611784976792638a25485c1) )
5246   ROM_LOAD( "6.bin",          0x2800, 0x0800, CRC(0bb37f51) SHA1(32e31678388bad048c829bd43a18dc4e24869840) )
5247   ROM_LOAD( "7.bin",          0x3000, 0x0800, CRC(4dfdec6f) SHA1(eb88a278860998c343f94e27c8c6c723cffb2dd9) )
5248   ROM_LOAD( "8.bin",          0x3800, 0x0800, CRC(a39a9189) SHA1(aacd54edca6bc7f7feacd651a0de57b3d9592aad) )
5249   ROM_LOAD( "9.bin",          0x4000, 0x0800, CRC(2eb90e07) SHA1(92678fc5cfeb7119ce27f042571daa831fa1dad5) )
5250
5251   ROM_REGION( 0x2000, "gfx1", 0 )
5252   ROM_LOAD( "1h.bin",      0x0000, 0x0800, CRC(00dce65f) SHA1(ba0cce484d1f8693a85b85e0689d107588df9043) )
5253   ROM_LOAD( "1k.bin",      0x1000, 0x0800, CRC(3ec0056e) SHA1(1dd19e7535ab9abd62b4b32663437f8e8acb91b5) )
5254
5255   ROM_REGION( 0x0020, "proms", 0 )
5256   ROM_LOAD( "6l.bin",   0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
5257ROM_END
5258
5259
5260ROM_START( skybase )
5261   ROM_REGION( 0x10000, "maincpu", 0 )
5262   ROM_LOAD( "skybase.9a",   0x0000, 0x1000, CRC(845b87a5) SHA1(8a249c1ec921532cb1bb85ed7fec11396634ca38) )
5263   ROM_LOAD( "skybase.8a",   0x1000, 0x1000, CRC(096785c2) SHA1(a0833bc1984e1f198587195e58b6fed6657922bd) )
5264   ROM_LOAD( "skybase.7a",   0x2000, 0x1000, CRC(d50c715b) SHA1(3d0fa15514b210bccd4aeed06540122a4f56fd7a) )
5265   ROM_LOAD( "skybase.6a",   0x3000, 0x1000, CRC(f57edb27) SHA1(4b5c376017700315345241fad96c00478a14fc8f) )
5266   ROM_LOAD( "skybase.5a",   0x4000, 0x1000, CRC(50365d95) SHA1(9b3d360c9d1df0ebf047bef1b30765ea9bb42b42) )
5267   ROM_LOAD( "skybase.4a",   0x5000, 0x1000, CRC(cbd6647f) SHA1(7a167c9df6b5f3346c37e5c45d0680b0b29852a6) )
5268
5269   ROM_REGION( 0x4000, "gfx1", 0 )
5270   ROM_LOAD( "skybase.7t",   0x0000, 0x1000, CRC(9b471686) SHA1(b35831daa8ce57e498c2c4f75763a74c340cfaf0) )
5271   ROM_LOAD( "skybase.8t",   0x1000, 0x1000, CRC(1cf723da) SHA1(f2e41ab89413298571626d13b2b5853eb35dcb96) )
5272   ROM_LOAD( "skybase.10t",  0x2000, 0x1000, CRC(fe02e72c) SHA1(bf7c078e984b13dcc12d529904f1096d65e41bec) )
5273   ROM_LOAD( "skybase.9t",   0x3000, 0x1000, CRC(0871291f) SHA1(2e4e802316b55711bcfeb48d84bacd11afff8cb3) )
5274
5275   ROM_REGION( 0x0020, "proms", 0 )
5276   ROM_LOAD( "82s123.bpr",  0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Color prom */
5277ROM_END
5278
5279
5280ROM_START( jumpbug )
5281   ROM_REGION( 0x10000, "maincpu", 0 )
5282   ROM_LOAD( "jb1",          0x0000, 0x1000, CRC(415aa1b7) SHA1(4f9edd7e9720acf085dd8910849c2f2fac5cb547) )
5283   ROM_LOAD( "jb2",          0x1000, 0x1000, CRC(b1c27510) SHA1(66fbe0b94b6c101cb50d7a3ff78160110415dff9) )
5284   ROM_LOAD( "jb3",          0x2000, 0x1000, CRC(97c24be2) SHA1(1beb9fbc3a52610b416af8b5fee156d8b6b3125a) )
5285   ROM_LOAD( "jb4",          0x3000, 0x1000, CRC(66751d12) SHA1(26c68cfb59596ae164ee9ae4a24ddf8dc7a923a7) )
5286   ROM_LOAD( "jb5",          0x8000, 0x1000, CRC(e2d66faf) SHA1(3dec0796642856359de57afb896cc668c0245b40) )
5287   ROM_LOAD( "jb6",          0x9000, 0x1000, CRC(49e0bdfd) SHA1(8d89d9cd7134b153264fdc49d2c68e8c14004b0d) )
5288   ROM_LOAD( "jb7",          0xa000, 0x0800, CRC(83d71302) SHA1(9292088d26ba29fbf8817df03461b8bb6bf27639) )
5289
5290   ROM_REGION( 0x3000, "gfx1", 0 )
5291   ROM_LOAD( "jbl",          0x0000, 0x0800, CRC(9a091b0a) SHA1(19b88f802ee80ff8901ef99e3688f2869f1a69c5) )
5292   ROM_LOAD( "jbm",          0x0800, 0x0800, CRC(8a0fc082) SHA1(58b72a3161950a2fb71cdab3f30bb3abb19c7978) )
5293   ROM_LOAD( "jbn",          0x1000, 0x0800, CRC(155186e0) SHA1(717ddaecc52a4ef03a01fcddb520acdbfb0d722a) )
5294   ROM_LOAD( "jbi",          0x1800, 0x0800, CRC(7749b111) SHA1(55071ce04708bd52177644298f76ae79d23f6ac9) )
5295   ROM_LOAD( "jbj",          0x2000, 0x0800, CRC(06e8d7df) SHA1(d04f1503d9fde5aae92652cb9d2eb16bd6a0fe9c) )
5296   ROM_LOAD( "jbk",          0x2800, 0x0800, CRC(b8dbddf3) SHA1(043de444890a93459789dc99c43ef88ff66b79e4) )
5297
5298   ROM_REGION( 0x0020, "proms", 0 )
5299   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
5300ROM_END
5301
5302ROM_START( jumpbugb )
5303   ROM_REGION( 0x10000, "maincpu", 0 )
5304   ROM_LOAD( "jb1",          0x0000, 0x1000, CRC(415aa1b7) SHA1(4f9edd7e9720acf085dd8910849c2f2fac5cb547) )
5305   ROM_LOAD( "jb2",          0x1000, 0x1000, CRC(b1c27510) SHA1(66fbe0b94b6c101cb50d7a3ff78160110415dff9) )
5306   ROM_LOAD( "jb3b",         0x2000, 0x1000, CRC(cb8b8a0f) SHA1(9e8591471dda2cb964ba2a866d4a5a3ef65d8707) )
5307   ROM_LOAD( "jb4",          0x3000, 0x1000, CRC(66751d12) SHA1(26c68cfb59596ae164ee9ae4a24ddf8dc7a923a7) )
5308   ROM_LOAD( "jb5b",         0x8000, 0x1000, CRC(7553b5e2) SHA1(6439585e713581dd36cea6324414f803d683216f) )
5309   ROM_LOAD( "jb6b",         0x9000, 0x1000, CRC(47be9843) SHA1(495d6fc732267bfd19a953b0b70df3f94b3c1e38) )
5310   ROM_LOAD( "jb7b",         0xa000, 0x0800, CRC(460aed61) SHA1(449ab1bb502f98da74c0955ce1364f8708fd3f81) )
5311
5312   ROM_REGION( 0x3000, "gfx1", 0 )
5313   ROM_LOAD( "jbl",          0x0000, 0x0800, CRC(9a091b0a) SHA1(19b88f802ee80ff8901ef99e3688f2869f1a69c5) )
5314   ROM_LOAD( "jbm",          0x0800, 0x0800, CRC(8a0fc082) SHA1(58b72a3161950a2fb71cdab3f30bb3abb19c7978) )
5315   ROM_LOAD( "jbn",          0x1000, 0x0800, CRC(155186e0) SHA1(717ddaecc52a4ef03a01fcddb520acdbfb0d722a) )
5316   ROM_LOAD( "jbi",          0x1800, 0x0800, CRC(7749b111) SHA1(55071ce04708bd52177644298f76ae79d23f6ac9) )
5317   ROM_LOAD( "jbj",          0x2000, 0x0800, CRC(06e8d7df) SHA1(d04f1503d9fde5aae92652cb9d2eb16bd6a0fe9c) )
5318   ROM_LOAD( "jbk",          0x2800, 0x0800, CRC(b8dbddf3) SHA1(043de444890a93459789dc99c43ef88ff66b79e4) )
5319
5320   ROM_REGION( 0x0020, "proms", 0 )
5321   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
5322ROM_END
5323
5324ROM_START( levers )
5325   ROM_REGION( 0x10000, "maincpu", 0 )
5326   ROM_LOAD( "g96059.a8",    0x0000, 0x1000, CRC(9550627a) SHA1(3da9a614622d5b880852fe2bb2e8e4a60afb2d34) )
5327   ROM_LOAD( "g96060.d8",    0x2000, 0x1000, CRC(5ac64646) SHA1(459755932a033095eff72d78d1e916932964c5cc) )
5328   ROM_LOAD( "g96061.e8",    0x3000, 0x1000, CRC(9db8e520) SHA1(1ff10e221e45cc4afb77571a171937f8501aa509) )
5329   ROM_LOAD( "g96062.h8",    0x8000, 0x1000, CRC(7c8e8b3a) SHA1(ad281f801e818ea529be8ec43096212e834f69ef) )
5330   ROM_LOAD( "g96063.j8",    0x9000, 0x1000, CRC(fa61e793) SHA1(7aad77f3de05a7bd3dcb0c9c97a3cccd1136f352) )
5331   ROM_LOAD( "g96064.l8",    0xa000, 0x1000, CRC(f797f389) SHA1(b961f0506defa9884ac47b2316884318e1e90bff) )
5332
5333   ROM_REGION( 0x3000, "gfx1", 0 )
5334   ROM_LOAD( "g95948.n1",    0x0000, 0x0800, CRC(d8a0c692) SHA1(dd64623f4072bcb8c528b5b7b95a7bd858b79d6c) )
5335                     /*0x0800- 0x0fff empty */
5336   ROM_LOAD( "g95949.s1",    0x1000, 0x0800, CRC(3660a552) SHA1(bebfd30f90da55d6d42945717b9b38d5b0c9623a) )
5337   ROM_LOAD( "g95946.j1",    0x1800, 0x0800, CRC(73b61b2d) SHA1(fdb75eea1778daa6f9c48243361e418044b471f8) )
5338                     /*0x2000- 0x27ff empty */
5339   ROM_LOAD( "g95947.m1",    0x2800, 0x0800, CRC(72ff67e2) SHA1(dcc12f17a857271c253d06d5ac170b9d6bb6a2bd) )
5340
5341   ROM_REGION( 0x0020, "proms", 0 )
5342   ROM_LOAD( "g960lev.clr",  0x0000, 0x0020, CRC(01febbbe) SHA1(11b1dab7983ba29e830ccb7f14eb1a99465c9e81) )
5343ROM_END
5344
5345
5346ROM_START( checkman )
5347   ROM_REGION( 0x10000, "maincpu", 0 )
5348   ROM_LOAD( "cm1",          0x0000, 0x0800, CRC(e8cbdd28) SHA1(ba0b41e375b94bbfed6a2c949cc7958474c8ba6e) )
5349   ROM_LOAD( "cm2",          0x0800, 0x0800, CRC(b8432d4d) SHA1(d331476f1f88b7ef1426bed7442392f369e0650b) )
5350   ROM_LOAD( "cm3",          0x1000, 0x0800, CRC(15a97f61) SHA1(3c06c734cef1eed68b401d0d36f7ec9126986d73) )
5351   ROM_LOAD( "cm4",          0x1800, 0x0800, CRC(8c12ecc0) SHA1(1c2d61ef84404b6a524c453a3d339aaaadb38229) )
5352   ROM_LOAD( "cm5",          0x2000, 0x0800, CRC(2352cfd6) SHA1(77db5f925ee5f83c17a05a78af5191eefe70ca5a) )
5353
5354   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5355   ROM_LOAD( "cm13",         0x0000, 0x0800, CRC(0b09a3e8) SHA1(e4e65da306e22f61790f0a68d953cc017c3ce762) )
5356   ROM_LOAD( "cm14",         0x0800, 0x0800, CRC(47f043be) SHA1(44d8892d93849cbc989561387c0a05baead58446) )
5357
5358   ROM_REGION( 0x2000, "gfx1", 0 )
5359   ROM_LOAD( "cm11",         0x0000, 0x0800, CRC(8d1bcca0) SHA1(28fc7fb76180820e84d59e6836ed1f8136e8f138) )
5360   ROM_RELOAD(               0x0800, 0x0800 )
5361   ROM_LOAD( "cm9",          0x1000, 0x0800, CRC(3cd5c751) SHA1(a769fdd30752da8fb331aa0f7a0181a93f0b3378) )
5362   ROM_RELOAD(               0x1800, 0x0800 )
5363
5364   ROM_REGION( 0x0020, "proms", 0 )
5365   ROM_LOAD( "checkman.clr", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )
5366ROM_END
5367
5368ROM_START( checkmanj )
5369   ROM_REGION( 0x10000, "maincpu", 0 )
5370   ROM_LOAD( "cm_1.bin",     0x0000, 0x1000, CRC(456a118f) SHA1(7c2e8343360f446af4391012784a1ccfecae3299) )
5371   ROM_LOAD( "cm_2.bin",     0x1000, 0x1000, CRC(146b2c44) SHA1(80455396a9b1802fcefaec1340b76461c0601bf9) )
5372   ROM_LOAD( "cm_3.bin",     0x2000, 0x0800, CRC(73e1c945) SHA1(bcf2558958a30e5936f19ff53687f2316e0b822e) )
5373
5374   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5375   ROM_LOAD( "cm_4.bin",     0x0000, 0x1000, CRC(923cffa1) SHA1(132822d20de2ad1ecc561e811ca40c5642500631) )
5376
5377   ROM_REGION( 0x1000, "gfx1", 0 )
5378   ROM_LOAD( "cm_6.bin",     0x0000, 0x0800, CRC(476a7cc3) SHA1(3c343b0dcfb2f4cbec2f8b5854a303a1660fea22) )
5379   ROM_LOAD( "cm_5.bin",     0x0800, 0x0800, CRC(b3df2b5f) SHA1(519a0894d1794211659abeb6b2a2c610e6c2af25) )
5380
5381   ROM_REGION( 0x0020, "proms", 0 )
5382   ROM_LOAD( "checkman.clr", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )
5383ROM_END
5384
5385ROM_START( dingo )
5386   ROM_REGION( 0x10000, "maincpu", 0 )
5387   ROM_LOAD( "003.e7",       0x0000, 0x1000, CRC(d088550f) SHA1(13b87995881e484825c45ab4e558ac3d90bf162a) )
5388   ROM_LOAD( "004.h7",       0x1000, 0x1000, CRC(a228446a) SHA1(4b7e611edd6bce308cc7b17caa068445f5438f4f) )
5389   ROM_LOAD( "005.j7",       0x2000, 0x0800, CRC(14d680bb) SHA1(e9d84d1a62ed5300c390a7326c16cebd0aceae3b) )
5390
5391   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5392   ROM_LOAD( "6.7l",         0x0000, 0x1000, CRC(047092e0) SHA1(24014c999c904b4be571121b0f6808713d95add1) )
5393
5394   ROM_REGION( 0x1000, "gfx1", 0 )
5395   ROM_LOAD( "001.h1",       0x0000, 0x0800, CRC(1ab1dd4d) SHA1(74ef2226e1f1d2583b0c7718325da193f411a97d) )
5396   ROM_LOAD( "002.k1",       0x0800, 0x0800, CRC(4be375ee) SHA1(7379b037887baca0f932d910f8f94f7edf39bb26) )
5397
5398   ROM_REGION( 0x0020, "proms", 0 )
5399   ROM_LOAD( "18s030.l6",    0x0000, 0x0020, CRC(3061d0f9) SHA1(5af85499c6219137dc57d9fba79cb5afa3548ab1) )
5400ROM_END
5401
5402ROM_START( dingoe )
5403   ROM_REGION( 0x10000, "maincpu", 0 )
5404   ROM_LOAD( "unk.2b",       0x0000, 0x1000, CRC(0df7ac6d) SHA1(c1d45a7694848e66426c3510d0749c98e51571cb) )
5405   ROM_LOAD( "unk.2d",       0x1000, 0x1000, CRC(0881e204) SHA1(4ba59d73e04b5337cfbd68d6a708e7321cb629f1) )
5406   ROM_LOAD( "unk.3b",       0x2000, 0x1000, BAD_DUMP CRC(0b6aeab5) SHA1(ebfab3227dd23e3e1802b881a5662f634f86e382) ) // both halves identical (bad?)
5407
5408   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5409   ROM_LOAD( "unk.1c",       0x0000, 0x0800, CRC(8e354c38) SHA1(87608c1fa55e6fcf482f5d3bcc506a84673719cc) )
5410   ROM_LOAD( "unk.1d",       0x0800, 0x0800, CRC(092878d6) SHA1(8a3b25e27df5aee2023a7e1a193ab152df171ede) )
5411
5412   ROM_REGION( 0x1000, "gfx1", 0 )
5413   ROM_LOAD( "unk.4d",       0x0000, 0x0800, CRC(76a00a56) SHA1(2a696b9ce3e148529c731231852dc104729bb916) )
5414   ROM_LOAD( "unk.4b",       0x0800, 0x0800, CRC(5acf57aa) SHA1(bb05be53728e7867085dad5854fcadfa687ff5d7) )
5415
5416   ROM_REGION( 0x0020, "proms", 0 )
5417   ROM_LOAD( "82s123n.001",  0x0000, 0x0020, CRC(02b11865) SHA1(70053db9635a9194e4372835379a82f6ea64ef83) ) /* Unknown */
5418ROM_END
5419
5420
5421ROM_START( mshuttle )
5422   ROM_REGION( 2*0x10000, "maincpu", 0 )   /* 64k for code + 64k for decrypted opcodes */
5423   ROM_LOAD( "my05",         0x0000, 0x1000, CRC(83574af1) SHA1(d69c2a0538a49d6c72c3346ac4e3959d91da6c98) )
5424   ROM_LOAD( "my04",         0x1000, 0x1000, CRC(1cfae2c8) SHA1(6c7eeee70e91b8498c41525dcc60f8086cff8da7) )
5425   ROM_LOAD( "my03",         0x2000, 0x1000, CRC(c8b8a368) SHA1(140ba60f55285d1e9f7a262634f5ce5c3470ab71) )
5426   ROM_LOAD( "my02",         0x3000, 0x1000, CRC(b6aeee6e) SHA1(032af7000aebe9d34319231cdb3f2fe5de7158ba) )
5427   ROM_LOAD( "my01",         0x4000, 0x1000, CRC(def82adc) SHA1(2fb963299468c52d50b7460b55bf69c9659ee21d) )
5428
5429   ROM_REGION( 0x4000, "gfx1", 0 )
5430   ROM_LOAD( "my09",         0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
5431   ROM_LOAD( "my11",         0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) )
5432   ROM_LOAD( "my08",         0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
5433   ROM_LOAD( "my10",         0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
5434
5435   ROM_REGION( 0x0020, "proms", 0 )
5436   ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
5437
5438   ROM_REGION( 0x2000, "samples", 0 )  /* samples */
5439   ROM_LOAD( "my07",         0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
5440   ROM_LOAD( "my06(__eng)",        0x1000, 0x1000, CRC(466415f2) SHA1(a05f8238cdcebe926a564ef6268b3cd677987fa2) )
5441ROM_END
5442
5443ROM_START( mshuttle2 )
5444   ROM_REGION( 2*0x10000, "maincpu", 0 )   /* 64k for code + 64k for decrypted opcodes */
5445   ROM_LOAD( "my05",         0x0000, 0x1000, CRC(83574af1) SHA1(d69c2a0538a49d6c72c3346ac4e3959d91da6c98) )
5446   ROM_LOAD( "my04",         0x1000, 0x1000, CRC(1cfae2c8) SHA1(6c7eeee70e91b8498c41525dcc60f8086cff8da7) )
5447   ROM_LOAD( "my03",         0x2000, 0x1000, CRC(c8b8a368) SHA1(140ba60f55285d1e9f7a262634f5ce5c3470ab71) )
5448   ROM_LOAD( "my02(__mshuttle2)",         0x3000, 0x1000, CRC(9804061c) SHA1(d5147e827c5a851f6baadea4a0a3b1deb19dda16) )
5449   ROM_LOAD( "my01(__mshuttle2)",         0x4000, 0x1000, CRC(ca746a61) SHA1(259b1556b0646bf0108b1e3ffbd77bf7238350b0) )
5450
5451   ROM_REGION( 0x4000, "gfx1", 0 )
5452   ROM_LOAD( "my09",         0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
5453   ROM_LOAD( "my11(__mshuttle2)",         0x1000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
5454   ROM_LOAD( "my08",         0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
5455   ROM_LOAD( "my10",         0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
5456
5457   ROM_REGION( 0x0020, "proms", 0 )
5458   ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
5459
5460   ROM_REGION( 0x2000, "samples", 0 )  /* samples */
5461   ROM_LOAD( "my07",         0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
5462   ROM_LOAD( "my06",         0x1000, 0x1000, CRC(6d2dd711) SHA1(82e7c7b10258f651943173c968c7fa2bdf937ca9) )
5463ROM_END
5464
5465
5466
5467ROM_START( mshuttlej )
5468   ROM_REGION( 2*0x10000, "maincpu", 0 )   /* 64k for code + 64k for decrypted opcodes */
5469   ROM_LOAD( "mcs.5",        0x0000, 0x1000, CRC(a5a292b4) SHA1(b4e9d969c762f4114eba88051917df122fc7181f) )
5470   ROM_LOAD( "mcs.4",        0x1000, 0x1000, CRC(acdc0f9e) SHA1(8cd6d6566fe3f4090ccb625c3c1e5850a371826f) )
5471   ROM_LOAD( "mcs.3",        0x2000, 0x1000, CRC(c1e3f5d8) SHA1(d3af89d485b1ca21ac879dbe15490dcd1cd64f2a) )
5472   ROM_LOAD( "mcs.2",        0x3000, 0x1000, CRC(14577703) SHA1(51537982dd06ba44e95e4c7d1f7fa41ff186421d) )
5473
5474   ROM_LOAD( "mcs.1",        0x4000, 0x1000, CRC(27d46772) SHA1(848a47ba30823a55933bb55792991f0535078f0c) )
5475
5476   ROM_REGION( 0x4000, "gfx1", 0 )
5477   ROM_LOAD( "my09",         0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
5478   ROM_LOAD( "my11",         0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) )
5479   ROM_LOAD( "my08",         0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
5480   ROM_LOAD( "my10",         0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
5481
5482   ROM_REGION( 0x0020, "proms", 0 )
5483   ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
5484
5485   ROM_REGION( 0x2000, "samples", 0 )  /* samples */
5486   ROM_LOAD( "my07",         0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
5487   ROM_LOAD( "my06",         0x1000, 0x1000, CRC(6d2dd711) SHA1(82e7c7b10258f651943173c968c7fa2bdf937ca9) )
5488ROM_END
5489
5490ROM_START( mshuttlej2 )
5491   ROM_REGION( 2*0x10000, "maincpu", 0 )   /* 64k for code + 64k for decrypted opcodes */
5492   ROM_LOAD( "ali5.bin",     0x0000, 0x1000, CRC(320fe630) SHA1(df4fe25989783c8851f41c9b4b63dedfa365c1e9) )
5493   ROM_LOAD( "mcs.4",        0x1000, 0x1000, CRC(acdc0f9e) SHA1(8cd6d6566fe3f4090ccb625c3c1e5850a371826f) )
5494   ROM_LOAD( "mcs.3",        0x2000, 0x1000, CRC(c1e3f5d8) SHA1(d3af89d485b1ca21ac879dbe15490dcd1cd64f2a) )
5495   ROM_LOAD( "ali2.bin",     0x3000, 0x1000, CRC(9ed169e1) SHA1(75a24d0fcbdfc7c4e6fa0d8c7f8b4a3bccaa4439) )
5496
5497   ROM_LOAD( "ali1.bin",     0x4000, 0x1000, CRC(7f8a52d9) SHA1(4e62f6265289bae1a46e60cdd3230e188b2aec3c) )
5498
5499   ROM_REGION( 0x4000, "gfx1", 0 )
5500   ROM_LOAD( "my09",         0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
5501   ROM_LOAD( "my11",         0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) )
5502   ROM_LOAD( "my08",         0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
5503   ROM_LOAD( "my10",         0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
5504
5505   ROM_REGION( 0x0020, "proms", 0 )
5506   ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
5507
5508   ROM_REGION( 0x2000, "samples", 0 )  /* samples */
5509   ROM_LOAD( "my07",         0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
5510   ROM_LOAD( "my06.4r",      0x1000, 0x1000, CRC(4162be4d) SHA1(84fa8651796e498a37893ea90ef51b274c70e568) )
5511ROM_END
5512
5513
5514ROM_START( kingball )
5515   ROM_REGION( 0x10000, "maincpu", 0 )
5516   ROM_LOAD( "prg1.7f",      0x0000, 0x1000, CRC(6cb49046) SHA1(a0891605dff7f9ff51bc7ad85f831a749f2f61e9) )
5517   ROM_LOAD( "prg2.7j",      0x1000, 0x1000, CRC(c223b416) SHA1(ca2d9f6b8ef6db4f382089161f4147d9828c3554) )
5518   ROM_LOAD( "prg3.7l",      0x2000, 0x0800, CRC(453634c0) SHA1(0025ccd91e165692092a37541e730010e85e37f2) )
5519
5520   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5521   ROM_LOAD( "kbe1.ic4",     0x0000, 0x0800, CRC(5be2c80a) SHA1(f719a80357bed3d66bce40569690f419740148c5) )
5522   ROM_LOAD( "kbe2.ic5",     0x0800, 0x0800, CRC(bb59e965) SHA1(830e0c415f051e932d76df604025e4e33118a799) )
5523   ROM_LOAD( "kbe3.ic6",     0x1000, 0x0800, BAD_DUMP CRC(1c94dd31) SHA1(14ab59b8eee741eb1f10ae99ddb99bf7c2dab957) ) // 2nd half missing ("bye bye" voice cut off)
5524   ROM_LOAD( "kbe2.ic7",     0x1800, 0x0800, CRC(bb59e965) SHA1(830e0c415f051e932d76df604025e4e33118a799) )
5525
5526   ROM_REGION( 0x2000, "gfx1", 0 )
5527   ROM_LOAD( "chg1.1h",      0x0000, 0x0800, CRC(9cd550e7) SHA1(d2989e6b7a4d7b37a711ef1cfb536fe13e0c5482) )
5528   ROM_RELOAD(               0x0800, 0x0800 )
5529   ROM_LOAD( "chg2.1k",      0x1000, 0x0800, CRC(a206757d) SHA1(46b50005876b7f61ab4a118d0a4caaebce8ce3e1) )
5530   ROM_RELOAD(               0x1800, 0x0800 )
5531
5532   ROM_REGION( 0x0020, "proms", 0 )
5533   ROM_LOAD( "kb2-1",        0x0000, 0x0020, CRC(15dd5b16) SHA1(3d2ca2b42bf508a9e5198e970abcbbedf5729164) )
5534ROM_END
5535
5536ROM_START( kingballj )
5537   ROM_REGION( 0x10000, "maincpu", 0 )
5538   ROM_LOAD( "prg1.7f",      0x0000, 0x1000, CRC(6cb49046) SHA1(a0891605dff7f9ff51bc7ad85f831a749f2f61e9) )
5539   ROM_LOAD( "prg2.7j",      0x1000, 0x1000, CRC(c223b416) SHA1(ca2d9f6b8ef6db4f382089161f4147d9828c3554) )
5540   ROM_LOAD( "prg3.7l",      0x2000, 0x0800, CRC(453634c0) SHA1(0025ccd91e165692092a37541e730010e85e37f2) )
5541
5542   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5543   ROM_LOAD( "kbj1.ic4",     0x0000, 0x0800, CRC(ba16beb7) SHA1(8c2c91a9e941d858a49edd6c0c8a912e1135653e) )
5544   ROM_LOAD( "kbj2.ic5",     0x0800, 0x0800, CRC(56686a63) SHA1(8e624df57a63a556941fdbebcd886488799fad17) )
5545   ROM_LOAD( "kbj3.ic6",     0x1000, 0x0800, CRC(fbc570a5) SHA1(d0dbaf86396bca65e067338a3b5b60b24990b8be) )
5546   ROM_LOAD( "kbj2.ic7",     0x1800, 0x0800, CRC(56686a63) SHA1(8e624df57a63a556941fdbebcd886488799fad17) )
5547
5548
5549   ROM_REGION( 0x2000, "gfx1", 0 )
5550   ROM_LOAD( "chg1.1h",      0x0000, 0x0800, CRC(9cd550e7) SHA1(d2989e6b7a4d7b37a711ef1cfb536fe13e0c5482) )
5551   ROM_RELOAD(               0x0800, 0x0800 )
5552   ROM_LOAD( "chg2.1k",      0x1000, 0x0800, CRC(a206757d) SHA1(46b50005876b7f61ab4a118d0a4caaebce8ce3e1) )
5553   ROM_RELOAD(               0x1800, 0x0800 )
5554
5555   ROM_REGION( 0x0020, "proms", 0 )
5556   ROM_LOAD( "kb2-1",        0x0000, 0x0020, CRC(15dd5b16) SHA1(3d2ca2b42bf508a9e5198e970abcbbedf5729164) )
5557ROM_END
5558
5559
5560/*************************************
5561 *
5562 *  ROM definitions
5563 *  Konami games
5564 *
5565 *************************************/
5566
5567ROM_START( frogger )
5568   ROM_REGION( 0x10000, "maincpu", 0 )
5569   ROM_LOAD( "frogger.26",   0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) )
5570   ROM_LOAD( "frogger.27",   0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) )
5571   ROM_LOAD( "frsm3.7",      0x2000, 0x1000, CRC(aca22ae0) SHA1(5a99060ea2506a3ac7d61ca5876ce5cb3e493565) )
5572
5573   ROM_REGION( 0x10000, "audiocpu", 0 )
5574   ROM_LOAD( "frogger.608",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5575   ROM_LOAD( "frogger.609",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5576   ROM_LOAD( "frogger.610",  0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
5577
5578   ROM_REGION( 0x1000, "gfx1", 0 )
5579   ROM_LOAD( "frogger.607",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5580   ROM_LOAD( "frogger.606",  0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
5581
5582   ROM_REGION( 0x0020, "proms", 0 )
5583   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5584ROM_END
5585
5586ROM_START( froggers1 )
5587   ROM_REGION( 0x10000, "maincpu", 0 )
5588   ROM_LOAD( "frogger.26",   0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) ) /* We need the correct Sega "EPR" labels for these 3 */
5589   ROM_LOAD( "frogger.27",   0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) )
5590   ROM_LOAD( "frogger.34",   0x2000, 0x1000, CRC(ed866bab) SHA1(24e1bbde44eb5480b7a0570fa0dc1de388cb95ba) )
5591
5592   ROM_REGION( 0x10000, "audiocpu", 0 )
5593   ROM_LOAD( "epr-608.ic32",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5594   ROM_LOAD( "epr-609.ic33",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5595   ROM_LOAD( "epr-610.ic34",  0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
5596
5597   ROM_REGION( 0x1000, "gfx1", 0 )
5598   ROM_LOAD( "epr-607.ic101",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5599   ROM_LOAD( "epr-606.ic102",  0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
5600
5601   ROM_REGION( 0x0020, "proms", 0 )
5602   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5603ROM_END
5604
5605ROM_START( froggers2 )
5606   ROM_REGION( 0x10000, "maincpu", 0 )
5607   ROM_LOAD( "epr-1012.ic5",  0x0000, 0x1000, CRC(efab0c79) SHA1(68c99b6cdcb9396bb473739a62ffc009b4bf57d5) )
5608   ROM_LOAD( "epr-1013a.ic6", 0x1000, 0x1000, CRC(aeca9c13) SHA1(cdf560adbd7f2813e86e378da7781cccf7928a44) )
5609   ROM_LOAD( "epr-1014.ic7",  0x2000, 0x1000, CRC(dd251066) SHA1(4612e1fe1ab7182a277140b1a1976cc17e0746a5) )
5610   ROM_LOAD( "epr-1015.ic8",  0x3000, 0x1000, CRC(bf293a02) SHA1(be94e9f5caa74c3de6fd95bd20928f4a9c514227) )
5611
5612   ROM_REGION( 0x10000, "audiocpu", 0 )
5613   ROM_LOAD( "epr-608.ic32",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5614   ROM_LOAD( "epr-609.ic33",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5615   ROM_LOAD( "epr-610.ic34",  0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
5616
5617   ROM_REGION( 0x1000, "gfx1", 0 )
5618   ROM_LOAD( "epr-607.ic101",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5619   ROM_LOAD( "epr-606.ic102",  0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
5620
5621   ROM_REGION( 0x0020, "proms", 0 )
5622   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5623ROM_END
5624
5625ROM_START( froggermc )
5626   ROM_REGION( 0x10000, "maincpu", 0 )
5627   ROM_LOAD( "epr-1031.15",  0x0000, 0x1000, CRC(4b7c8d11) SHA1(9200b33cac0ef5a6647c95ebd25237fa62fcdf30) )
5628   ROM_LOAD( "epr-1032.16",  0x1000, 0x1000, CRC(ac00b9d9) SHA1(6414d2aa2c0ccb8cb567ffde3acdb693cfd28dbb) )
5629   ROM_LOAD( "epr-1033.33",  0x2000, 0x1000, CRC(bc1d6fbc) SHA1(c9c040418f0bf7b7fce599592f806e7aaf448c3d) )
5630   ROM_LOAD( "epr-1034.34",  0x3000, 0x1000, CRC(9efe7399) SHA1(77355160169db256f45286e60ebf6a406527d346) )
5631
5632   ROM_REGION( 0x10000, "audiocpu", 0 )
5633   ROM_LOAD( "epr-1082.42",  0x0000, 0x1000, CRC(802843c2) SHA1(059b26ddf1cdc8076d160b872f9d50b97af7f316) )
5634   ROM_LOAD( "epr-1035.43",  0x1000, 0x0800, CRC(14e74148) SHA1(0023394e971f191c41ff20b47835f1dafb924d15) )
5635
5636   ROM_REGION( 0x1000, "gfx1", 0 )
5637   ROM_LOAD( "epr-1037.1h",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5638   ROM_LOAD( "epr-1036.1k",  0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
5639
5640   ROM_REGION( 0x0020, "proms", 0 )
5641   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5642ROM_END
5643
5644ROM_START( froggers )
5645   ROM_REGION( 0x10000, "maincpu", 0 )
5646   ROM_LOAD( "vid_d2.bin",   0x0000, 0x0800, CRC(c103066e) SHA1(8c2d4c825e9c4180fe70b0db18a547dc3ddc3c2c) )
5647   ROM_LOAD( "vid_e2.bin",   0x0800, 0x0800, CRC(f08bc094) SHA1(23ad1e57f244d6b63fd9640249dcb1eeafb8206e) )
5648   ROM_LOAD( "vid_f2.bin",   0x1000, 0x0800, CRC(637a2ff8) SHA1(e9b9fc692ca5d8deb9cd30d9d73ad25c8d8bafe1) )
5649   ROM_LOAD( "vid_h2.bin",   0x1800, 0x0800, CRC(04c027a5) SHA1(193550731513c02cad464661a1ceb230819ca70f) )
5650   ROM_LOAD( "vid_j2.bin",   0x2000, 0x0800, CRC(fbdfbe74) SHA1(48d5d1247d09eaea2a9a29f4ed6543d0411597aa) )
5651   ROM_LOAD( "vid_l2.bin",   0x2800, 0x0800, CRC(8a4389e1) SHA1(b2c74afb93927dac0d8bb24e02e0b2a069f2d3c8) )
5652
5653   ROM_REGION( 0x10000, "audiocpu", 0 )
5654   ROM_LOAD( "frogger.608",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5655   ROM_LOAD( "frogger.609",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5656   ROM_LOAD( "frogger.610",  0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
5657
5658   ROM_REGION( 0x1000, "gfx1", 0 )
5659   ROM_LOAD( "frogger.607",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5660   ROM_LOAD( "epr-1036.1k",  0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
5661
5662   ROM_REGION( 0x0020, "proms", 0 )
5663   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5664ROM_END
5665
5666ROM_START( frogf )
5667   ROM_REGION( 0x10000, "maincpu", 0 )
5668   ROM_LOAD( "6.bin",        0x0000, 0x1000, CRC(8ff0a973) SHA1(adb1c28617d915fbcfa9190bd8589a56a8858e25) )
5669   ROM_LOAD( "7.bin",        0x1000, 0x1000, CRC(3087bb4b) SHA1(3fe1f68a2ad12b1cadba89d99afe574cf5342d81) )
5670   ROM_LOAD( "8.bin",        0x2000, 0x1000, CRC(c3869d12) SHA1(7bd95c12fc1fe1a3cfc0140b64cf76fa57aa3fb4) )
5671
5672   ROM_REGION( 0x10000, "audiocpu", 0 )
5673   ROM_LOAD( "frogger.608",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5674   ROM_LOAD( "frogger.609",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5675   ROM_LOAD( "frogger.610",  0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
5676
5677   ROM_REGION( 0x1000, "gfx1", 0 )
5678   ROM_LOAD( "frogger.607",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5679   ROM_LOAD( "epr-1036.1k",  0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
5680
5681   ROM_REGION( 0x0020, "proms", 0 )
5682   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5683ROM_END
5684
5685ROM_START( frogg )
5686   ROM_REGION( 0x10000, "maincpu", 0 )
5687   ROM_LOAD( "p1.bin",       0x0000, 0x0800, CRC(1762b266) SHA1(2cf34dcfe00dc476b327f9d762a8d2aa268a2d25) )
5688   ROM_LOAD( "p2.bin",       0x0800, 0x0800, CRC(322f3916) SHA1(9236aaa260c4db4adbd92c8bba3674d07d7235a8) )
5689   ROM_LOAD( "p3.bin",       0x1000, 0x0800, CRC(28bd6151) SHA1(1a5bc540168fa5fef01bd7bc2cdbdb910c9a4ba4) )
5690   ROM_LOAD( "p4.bin",       0x1800, 0x0800, CRC(5a69ab18) SHA1(40b7bf200f87e0fb3fb54726ba79387889446052) )
5691   ROM_LOAD( "p5.bin",       0x2000, 0x0800, CRC(b4f17745) SHA1(2f237a667f6c95af213b787620142c1530d3cdd8) )
5692   ROM_LOAD( "p6.bin",       0x2800, 0x0800, CRC(34be71b5) SHA1(3088fc5817a397d0a87610d62845c7b8c4440f57) )
5693   ROM_LOAD( "p7.bin",       0x3000, 0x0800, CRC(de3edc8c) SHA1(634d54fb19b422b56576a196bdaf95733c52c7ee) )
5694
5695   ROM_REGION( 0x1000, "gfx1", 0 )
5696   ROM_LOAD( "k.bin",        0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5697   ROM_LOAD( "h.bin",        0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
5698
5699   ROM_REGION( 0x0020, "proms", 0 )
5700   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5701ROM_END
5702
5703ROM_START( froggrs )
5704   ROM_REGION( 0x10000, "maincpu", 0 ) /* 64k for code */
5705   ROM_LOAD( "frog4.bin",    0x0000, 0x1000, CRC(4d563992) SHA1(25a197f711498112e202fa88ca576b247d24e228) )
5706   ROM_LOAD( "frog5.bin",    0x1000, 0x1000, CRC(d8b8c06e) SHA1(51363deab935c3625a825499cb1f1c7a0c773b03) )
5707   ROM_LOAD( "frog6.bin",    0x2000, 0x1000, CRC(b55a1cb5) SHA1(4e751e561c179641bb7db1abf3a5272d81d434b0) )
5708
5709   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for the audio CPU */
5710   ROM_LOAD( "frogger.608",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5711   ROM_LOAD( "frogger.609",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5712   ROM_LOAD( "frog3.bin",    0x1000, 0x0800, CRC(837c16ab) SHA1(740780149563708163867c6412d3b2500192d7b1) )
5713
5714   ROM_REGION( 0x1000, "gfx1", 0 )
5715   ROM_LOAD( "frogger.607",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5716   ROM_LOAD( "frogger.606",  0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
5717
5718   ROM_REGION( 0x0020, "proms", 0 )
5719   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5720ROM_END
5721
5722ROM_START( turtles )
5723   ROM_REGION( 0x10000, "maincpu", 0 )
5724   ROM_LOAD( "turt_vid.2c",  0x0000, 0x1000, CRC(ec5e61fb) SHA1(3ca89800fda7a7e61f54d71d5302908be2706def) )
5725   ROM_LOAD( "turt_vid.2e",  0x1000, 0x1000, CRC(fd10821e) SHA1(af74602bf2454eb8f3b9bb5c425e2476feeecd69) )
5726   ROM_LOAD( "turt_vid.2f",  0x2000, 0x1000, CRC(ddcfc5fa) SHA1(2af9383e5a289c2d7fbe6cf5e5b1519c352afbab) )
5727   ROM_LOAD( "turt_vid.2h",  0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) )
5728   ROM_LOAD( "turt_vid.2j",  0x4000, 0x1000, CRC(fcd49fef) SHA1(bb1e91b2e6d4b5a861bf37907ef6b198328d8d83) )
5729
5730   ROM_REGION( 0x10000, "audiocpu", 0 )
5731   ROM_LOAD( "turt_snd.5c",  0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) )
5732   ROM_LOAD( "turt_snd.5d",  0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) )
5733
5734   ROM_REGION( 0x1000, "gfx1", 0 )
5735   ROM_LOAD( "turt_vid.5h",  0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) )
5736   ROM_LOAD( "turt_vid.5f",  0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) )
5737
5738   ROM_REGION( 0x0020, "proms", 0 )
5739   ROM_LOAD( "turtles.clr",  0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
5740ROM_END
5741
5742ROM_START( turpin )
5743   ROM_REGION( 0x10000, "maincpu", 0 )
5744   ROM_LOAD( "m1",           0x0000, 0x1000, CRC(89177473) SHA1(0717b1e7308ffe527edfc578ec4353809e7d9eea) )
5745   ROM_LOAD( "m2",           0x1000, 0x1000, CRC(4c6ca5c6) SHA1(dd4ca7adaa523a8e775cdfaa99bb3cc25da32c08) )
5746   ROM_LOAD( "m3",           0x2000, 0x1000, CRC(62291652) SHA1(82965d3e9608afde4ff06cba1d7a4b11cd904c11) )
5747   ROM_LOAD( "turt_vid.2h",  0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) )
5748   ROM_LOAD( "m5",           0x4000, 0x1000, CRC(7d2600f2) SHA1(1a9bdf63b50419c6e0d9c401c3dcf29d5b459fa6) )
5749
5750   ROM_REGION( 0x10000, "audiocpu", 0 )
5751   ROM_LOAD( "turt_snd.5c",  0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) )
5752   ROM_LOAD( "turt_snd.5d",  0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) )
5753
5754   ROM_REGION( 0x1000, "gfx1", 0 )
5755   ROM_LOAD( "turt_vid.5h",  0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) )
5756   ROM_LOAD( "turt_vid.5f",  0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) )
5757
5758   ROM_REGION( 0x0020, "proms", 0 )
5759   ROM_LOAD( "turtles.clr",  0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
5760ROM_END
5761
5762ROM_START( 600 )
5763   ROM_REGION( 0x10000, "maincpu", 0 )
5764   ROM_LOAD( "600_vid.2c",   0x0000, 0x1000, CRC(8ee090ae) SHA1(3d491313da6cccd6dbc15774569be0555fe2f73a) )
5765   ROM_LOAD( "600_vid.2e",   0x1000, 0x1000, CRC(45bfaff2) SHA1(ba4f7aa499f4993ec2191b8832b5604fd41964bc) )
5766   ROM_LOAD( "600_vid.2f",   0x2000, 0x1000, CRC(9f4c8ed7) SHA1(2564dae82019097227351a7ddc9c5156ca00297a) )
5767   ROM_LOAD( "600_vid.2h",   0x3000, 0x1000, CRC(a92ef056) SHA1(c319d41a3345b84670fe9110f78332c1cfe1e163) )
5768   ROM_LOAD( "600_vid.2j",   0x4000, 0x1000, CRC(6dadd72d) SHA1(5602b5ebb2c287f72a5ce873b4e3dfd19b8412a0) )
5769
5770   ROM_REGION( 0x10000, "audiocpu", 0 )
5771   ROM_LOAD( "600_snd.5c",   0x0000, 0x1000, CRC(1773c68e) SHA1(cc4aa3a98e85bc6300f8c1ee1a0448071d7c6dfa) )
5772   ROM_LOAD( "600_snd.5d",   0x1000, 0x1000, CRC(a311b998) SHA1(39af321b8c3f211ed6d083a2aba4fbc8af11c9e8) )
5773
5774   ROM_REGION( 0x1000, "gfx1", 0 )
5775   ROM_LOAD( "600_vid.5h",   0x0000, 0x0800, CRC(006c3d56) SHA1(0c773e0e84d0bf45be5a5a7cfff960c1ca2f0320) )
5776   ROM_LOAD( "600_vid.5f",   0x0800, 0x0800, CRC(7dbc0426) SHA1(29eeb3cdb5a3bcf7115d8099e4d04cf76216b003) )
5777
5778   ROM_REGION( 0x0020, "proms", 0 )
5779   ROM_LOAD( "turtles.clr",  0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
5780ROM_END
5781
5782/* Amidar (c) Konami 1982. Original Konami pcb.
5783   Soundboard silkscreened: Konami KT-4108-1B
5784   CPU Board Silkscreened: Konami KT4108-2 */
5785
5786ROM_START( amidar )
5787   ROM_REGION( 0x10000, "maincpu", 0 )
5788   ROM_LOAD( "1.2c",  0x0000, 0x1000, CRC(621b74de) SHA1(f064eccfb7da18119ed3088a5f939085eb446c90) )
5789   ROM_LOAD( "2.2e",  0x1000, 0x1000, CRC(38538b98) SHA1(12b2a0c09926d006781bee5d450bc0c391cc1fb5) )
5790   ROM_LOAD( "3.2f",  0x2000, 0x1000, CRC(099ecb24) SHA1(e83f049b25aba481e09606db3158726145ebd656) )
5791   ROM_LOAD( "4.2h",  0x3000, 0x1000, CRC(ba149a93) SHA1(9ef1d27f0780612be0ea2be94c3a2c781a4924c8) )
5792   ROM_LOAD( "5.2j",  0x4000, 0x1000, CRC(eecc1abf) SHA1(1530b374d15e0d05c8eb988cc1cbab48b0be211c) )
5793
5794   ROM_REGION( 0x10000, "audiocpu", 0 )
5795   ROM_LOAD( "s1.5c",  0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5796   ROM_LOAD( "s2.5d",  0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5797
5798   ROM_REGION( 0x1000, "gfx1", 0 )
5799   ROM_LOAD( "c2.5f",  0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) )
5800   ROM_LOAD( "c2.5d",  0x0800, 0x0800, CRC(57c4fd0d) SHA1(8764deec9fbff4220d61df621b12fc36c3702601) )
5801
5802   ROM_REGION( 0x0020, "proms", 0 )
5803   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5804ROM_END
5805
5806ROM_START( amidar1 )
5807   ROM_REGION( 0x10000, "maincpu", 0 )
5808   ROM_LOAD( "amidar.2c",    0x0000, 0x1000, CRC(c294bf27) SHA1(399325bf1559e8cdbddf7cfbf0dc739f9ed72ef0) )
5809   ROM_LOAD( "amidar.2e",    0x1000, 0x1000, CRC(e6e96826) SHA1(e9c4f8c594640424b456505e676352a98b758c03) )
5810   ROM_LOAD( "amidar.2f",    0x2000, 0x1000, CRC(3656be6f) SHA1(9d652f66bedcf17a6453c0e0ead30bfd7ea0bd0a) )
5811   ROM_LOAD( "amidar.2h",    0x3000, 0x1000, CRC(1be170bd) SHA1(c047bc393b297c0d47668a5f6f4870e3fac937ef) )
5812
5813   ROM_REGION( 0x10000, "audiocpu", 0 )
5814   ROM_LOAD( "amidar.5c",    0x0000, 0x1000, CRC(c4b66ae4) SHA1(9d09dbde4019f7be3abe0815b0e06d542c01c255) )
5815   ROM_LOAD( "amidar.5d",    0x1000, 0x1000, CRC(806785af) SHA1(c8c85e3a6a204feccd7859b4527bd649e96134b4) )
5816
5817   ROM_REGION( 0x1000, "gfx1", 0 )
5818   ROM_LOAD( "amidar.5f",    0x0000, 0x0800, CRC(5e51e84d) SHA1(dfe84db7e2b1a45a1d484fcf37291f536bc5324c) )
5819   ROM_LOAD( "amidar.5h",    0x0800, 0x0800, CRC(2f7f1c30) SHA1(83c330eca20dfcc6a4099001943b9ed7a7c3db5b) )
5820
5821   ROM_REGION( 0x0020, "proms", 0 )
5822   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5823ROM_END
5824
5825ROM_START( amidaru )
5826   ROM_REGION( 0x10000, "maincpu", 0 )
5827   ROM_LOAD( "amidarus.2c",  0x0000, 0x1000, CRC(951e0792) SHA1(3a68b829c9ffb465bd6582c9ea566e0e947c6c19) )
5828   ROM_LOAD( "amidarus.2e",  0x1000, 0x1000, CRC(a1a3a136) SHA1(330ec857fdf4c1b28e2560a5f63a2432f87f9b2f) )
5829   ROM_LOAD( "amidarus.2f",  0x2000, 0x1000, CRC(a5121bf5) SHA1(fe15b91724758ede43dd332327919f164772c592) )
5830   ROM_LOAD( "amidarus.2h",  0x3000, 0x1000, CRC(051d1c7f) SHA1(3cfa0f728a5c27da0a3fe2579ad226129ccde232) )
5831   ROM_LOAD( "amidarus.2j",  0x4000, 0x1000, CRC(351f00d5) SHA1(6659357f40f888b21be00826246200fd3a8a88ce) )
5832
5833   ROM_REGION( 0x10000, "audiocpu", 0 )
5834   ROM_LOAD( "amidarus.5c",  0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5835   ROM_LOAD( "amidarus.5d",  0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5836
5837   ROM_REGION( 0x1000, "gfx1", 0 )
5838   ROM_LOAD( "amidarus.5f",  0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) )
5839   ROM_LOAD( "amidarus.5h",  0x0800, 0x0800, CRC(57c4fd0d) SHA1(8764deec9fbff4220d61df621b12fc36c3702601) )
5840
5841   ROM_REGION( 0x0020, "proms", 0 )
5842   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5843ROM_END
5844
5845ROM_START( amidaro )
5846   ROM_REGION( 0x10000, "maincpu", 0 )
5847   ROM_LOAD( "107.2cd",      0x0000, 0x1000, CRC(c52536be) SHA1(3f64578214d2d9f0e4e7ee87e09b0aac33a73098) )
5848   ROM_LOAD( "108.2fg",      0x1000, 0x1000, CRC(38538b98) SHA1(12b2a0c09926d006781bee5d450bc0c391cc1fb5) )
5849   ROM_LOAD( "109.2fg",      0x2000, 0x1000, CRC(69907f0f) SHA1(f1d19a76ffc41ee8c5c574f10108cfdfe525b732) )
5850   ROM_LOAD( "110.2h",       0x3000, 0x1000, CRC(ba149a93) SHA1(9ef1d27f0780612be0ea2be94c3a2c781a4924c8) )
5851   ROM_LOAD( "111.2j",       0x4000, 0x1000, CRC(20d01c2e) SHA1(e09437ff440f04036d5ec74b355e97bbbbfefb95) )
5852
5853   ROM_REGION( 0x10000, "audiocpu", 0 )
5854   ROM_LOAD( "amidarus.5c",  0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5855   ROM_LOAD( "amidarus.5d",  0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5856
5857   ROM_REGION( 0x1000, "gfx1", 0 )
5858   ROM_LOAD( "amidarus.5f",  0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) )
5859   ROM_LOAD( "113.5h",       0x0800, 0x0800, CRC(bcdce168) SHA1(e593d03c460ef4607e3ba25019d9f01d4a717dd9) )  /* The letter 'S' is slightly different */
5860
5861   ROM_REGION( 0x0020, "proms", 0 )
5862   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5863ROM_END
5864
5865ROM_START( amidarb )
5866   ROM_REGION( 0x10000, "maincpu", 0 )
5867   ROM_LOAD( "ami2gor.2c", 0x0000, 0x1000, CRC(9ad2dcd2) SHA1(43ceb93d891c1ebf55e7c26de13e3db8e1d26f6d) )
5868   ROM_LOAD( "2.2f",       0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) )
5869   ROM_LOAD( "3.2j",       0x2000, 0x1000, CRC(b0860e31) SHA1(8fb92b0e71c826a509a8f712553de0f4a636286f) )
5870   ROM_LOAD( "4.2m",       0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) )
5871
5872   ROM_REGION( 0x10000, "audiocpu", 0 )
5873   ROM_LOAD( "8.11d",      0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5874   ROM_LOAD( "9.9d",       0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5875
5876   ROM_REGION( 0x1000, "gfx1", 0 )
5877   ROM_LOAD( "5.5f",      0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) )
5878   ROM_LOAD( "6.5h",      0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
5879
5880   ROM_REGION( 0x0020, "proms", 0 )
5881   ROM_LOAD( "n82s123n.6e",   0x0000, 0x0020, CRC(01004d3f) SHA1(e53cbc54ea96e846481a67bbcccf6b1726e70f9c) )
5882ROM_END
5883
5884ROM_START( amigo )
5885   ROM_REGION( 0x10000, "maincpu", 0 )
5886   ROM_LOAD( "2732.a1",      0x0000, 0x1000, CRC(930dc856) SHA1(7022f1f26830baccdc8b8f0b10fb1d1ccb080f22) )
5887   ROM_LOAD( "2732.a2",      0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) )
5888   ROM_LOAD( "2732.a3",      0x2000, 0x1000, CRC(e9d3dc76) SHA1(627c6068c65985175388aec43ac2a4248b004c97) )
5889   ROM_LOAD( "2732.a4",      0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) )
5890
5891   ROM_REGION( 0x10000, "audiocpu", 0 )
5892   ROM_LOAD( "amidarus.5c",  0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5893   ROM_LOAD( "amidarus.5d",  0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5894
5895   ROM_REGION( 0x1000, "gfx1", 0 )
5896   ROM_LOAD( "2716.a6",      0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) )
5897   ROM_LOAD( "2716.a5",      0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
5898
5899   ROM_REGION( 0x0020, "proms", 0 )
5900   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5901ROM_END
5902
5903ROM_START( amidars )
5904   ROM_REGION( 0x10000, "maincpu", 0 )
5905   ROM_LOAD( "am2d",         0x0000, 0x0800, CRC(24b79547) SHA1(eca735c6a35561a9a6ba8a20dca1e1c78ed073fc) )
5906   ROM_LOAD( "am2e",         0x0800, 0x0800, CRC(4c64161e) SHA1(5b2e49ff915295617671b13f15b566046a5dbc15) )
5907   ROM_LOAD( "am2f",         0x1000, 0x0800, CRC(b3987a72) SHA1(1d72e9ae3005029628c6f9beb6ca65afcb1f7893) )
5908   ROM_LOAD( "am2h",         0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) )
5909   ROM_LOAD( "am2j",         0x2000, 0x0800, CRC(0fdd54d8) SHA1(c32fdc8e292d91159e6c80c7033abea6404a4f2c) )
5910   ROM_LOAD( "am2l",         0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) )
5911   ROM_LOAD( "am2m",         0x3000, 0x0800, CRC(1d7109e9) SHA1(e0d24475547bbe5a94b45be6abefb84ad84d2534) )
5912   ROM_LOAD( "am2p",         0x3800, 0x0800, CRC(c9163ac6) SHA1(46d757180426b71c827d14a35824a248f2c787b6) )
5913
5914   ROM_REGION( 0x10000, "audiocpu", 0 )
5915   ROM_LOAD( "amidarus.5c",  0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5916   ROM_LOAD( "amidarus.5d",  0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5917
5918   ROM_REGION( 0x1000, "gfx1", 0 )
5919   ROM_LOAD( "2716.a6",      0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) )   /* Same graphics ROMs as Amigo */
5920   ROM_LOAD( "2716.a5",      0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
5921
5922   ROM_REGION( 0x0020, "proms", 0 )
5923   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5924ROM_END
5925
5926ROM_START( theend )
5927   ROM_REGION( 0x10000, "maincpu", 0 )
5928   ROM_LOAD( "ic13_1t.bin",  0x0000, 0x0800, CRC(93e555ba) SHA1(f684927cecabfbd7544f7549a6152c0a6a436019) )
5929   ROM_LOAD( "ic14_2t.bin",  0x0800, 0x0800, CRC(2de7ad27) SHA1(caf369fde632652a0a5fb11d3605f0d2386d297a) )
5930   ROM_LOAD( "ic15_3t.bin",  0x1000, 0x0800, CRC(035f750b) SHA1(5f70518e5dbfca0ba12ba4dc4f357ce8e6b27bc8) )
5931   ROM_LOAD( "ic16_4t.bin",  0x1800, 0x0800, CRC(61286b5c) SHA1(14464aa5284aecc9c6046e464ab3d13da89d8dda) )
5932   ROM_LOAD( "ic17_5t.bin",  0x2000, 0x0800, CRC(434a8f68) SHA1(3c8c099c7865997d475c096f1b1c93d88ab21543) )
5933   ROM_LOAD( "ic18_6t.bin",  0x2800, 0x0800, CRC(dc4cc786) SHA1(3311361a1eb29715aa41d61fbb3563014bd9eeb1) )
5934
5935   ROM_REGION( 0x10000, "audiocpu", 0 )
5936   ROM_LOAD( "ic56_1.bin",   0x0000, 0x0800, CRC(7a141f29) SHA1(ca483943971c8fc7f5775a8a7cc6ddd331d48170) )
5937   ROM_LOAD( "ic55_2.bin",   0x0800, 0x0800, CRC(218497c1) SHA1(3e080621f2e83909a6f304a2d960a080bccbbdc2) )
5938
5939   ROM_REGION( 0x1000, "gfx1", 0 )
5940   ROM_LOAD( "ic30_2c.bin",  0x0000, 0x0800, CRC(68ccf7bf) SHA1(a8ea784a2660f855757ae0b30cb2a33ab6f2cd59) )
5941   ROM_LOAD( "ic31_1c.bin",  0x0800, 0x0800, CRC(4a48c999) SHA1(f1abcbfc3146a18dc3ff865e3ba278377a42a875) )
5942
5943   ROM_REGION( 0x0020, "proms", 0 )
5944   ROM_LOAD( "6331-1j.86",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
5945ROM_END
5946
5947ROM_START( theends )
5948   ROM_REGION( 0x10000, "maincpu", 0 )
5949   ROM_LOAD( "ic13",         0x0000, 0x0800, CRC(90e5ab14) SHA1(b926801ab1cc1e2787a76ced6c7cffd6fce753d4) )
5950   ROM_LOAD( "ic14",         0x0800, 0x0800, CRC(950f0a07) SHA1(bde9f3c6cf060dc6f5b7652287b94e04bed7bcf7) )
5951   ROM_LOAD( "ic15",         0x1000, 0x0800, CRC(6786bcf5) SHA1(7556d3dc51d6a112b6357b8a36df05fd1a4d1cc9) )
5952   ROM_LOAD( "ic16",         0x1800, 0x0800, CRC(380a0017) SHA1(3354eb328a32537f722fe8a0949ddcab6cf21eb8) )
5953   ROM_LOAD( "ic17",         0x2000, 0x0800, CRC(af067b7f) SHA1(855c6ddf29fbfea004c7143fe29064abf53801ad) )
5954   ROM_LOAD( "ic18",         0x2800, 0x0800, CRC(a0411b93) SHA1(d644968758a1b73d13e09b24d24bfec82276e8f4) )
5955
5956   ROM_REGION( 0x10000, "audiocpu", 0 )
5957   ROM_LOAD( "ic56",         0x0000, 0x0800, CRC(3b2c2f70) SHA1(bcccdacacfc9a3b5f1412dfba6bb0046d283bccc) )
5958   ROM_LOAD( "ic55",         0x0800, 0x0800, CRC(e0429e50) SHA1(27678fc3172cbca3ae1eae96e9d8a62561d5ce40) )
5959
5960   ROM_REGION( 0x1000, "gfx1", 0 )
5961   ROM_LOAD( "ic30",         0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) )
5962   ROM_LOAD( "ic31",         0x0800, 0x0800, CRC(af6d09b6) SHA1(f3ad51dc88aa58fd39195ead978b039e0b0b585c) )
5963
5964   ROM_REGION( 0x0020, "proms", 0 )
5965   ROM_LOAD( "6331-1j.86",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
5966ROM_END
5967
5968ROM_START( theendb )
5969   ROM_REGION( 0x10000, "maincpu", 0 )
5970   ROM_LOAD( "0p.t.o.10l",   0x0000, 0x1000, CRC(46712d43) SHA1(e1b84494b530dd96d8a51a3f8bd7d7d3ba7560a9) )
5971   ROM_LOAD( "1p.t.o.9l",    0x1000, 0x1000, CRC(10256742) SHA1(3748bf82e410ba763cc10a546b566f1d9efb8307) )
5972   ROM_LOAD( "2p.t.o.8l",    0x2000, 0x1000, CRC(5ee6660a) SHA1(092d5da074c15743e619e3d9e0b5f5bd16ea7159) )
5973
5974   ROM_REGION( 0x10000, "audiocpu", 0 )
5975   ROM_LOAD( "0s.t.o.3b",    0x0000, 0x1000, CRC(cdc9da78) SHA1(b52d5b67b8e0dfb76216d7b3e6e51a027ef4b20e) )
5976
5977   ROM_REGION( 0x1000, "gfx1", 0 )
5978   ROM_LOAD( "ic30",         0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) ) // 0gc.t.o.5h
5979   ROM_LOAD( "ic31",         0x0800, 0x0800, CRC(af6d09b6) SHA1(f3ad51dc88aa58fd39195ead978b039e0b0b585c) ) // 1gc.t.o.3h
5980
5981   ROM_REGION( 0x0020, "proms", 0 )
5982   ROM_LOAD( "6331-1j.86",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
5983ROM_END
5984
5985
5986ROM_START( scramble )
5987   ROM_REGION( 0x10000, "maincpu", 0 )
5988   ROM_LOAD( "s1.2d",        0x0000, 0x0800, CRC(ea35ccaa) SHA1(1dcb375987fe21e0483c27d485c405de53848d61) )
5989   ROM_LOAD( "s2.2e",        0x0800, 0x0800, CRC(e7bba1b3) SHA1(240877576045fddcc9ff01d97dc78139454ac4f1) )
5990   ROM_LOAD( "s3.2f",        0x1000, 0x0800, CRC(12d7fc3e) SHA1(a84d191c7be8700f630a83ddad798be9e83b5d55) )
5991   ROM_LOAD( "s4.2h",        0x1800, 0x0800, CRC(b59360eb) SHA1(5d155808c19dcf2e14aa8e29c0ee41a6d3d3c43a) )
5992   ROM_LOAD( "s5.2j",        0x2000, 0x0800, CRC(4919a91c) SHA1(9cb5861c61e4783e5fbaa3869d51195f127b1129) )
5993   ROM_LOAD( "s6.2l",        0x2800, 0x0800, CRC(26a4547b) SHA1(67c0fa81729370631647b5d78bb5a61433facd7f) )
5994   ROM_LOAD( "s7.2m",        0x3000, 0x0800, CRC(0bb49470) SHA1(05a6fe3010c2136284ca76352dac147797c79778) )
5995   ROM_LOAD( "s8.2p",        0x3800, 0x0800, CRC(6a5740e5) SHA1(e3b09141cee26857d626412e9d1a0e759469b97a) )
5996
5997   ROM_REGION( 0x10000, "audiocpu", 0 )
5998   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
5999   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6000   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6001
6002   ROM_REGION( 0x1000, "gfx1", 0 )
6003   ROM_LOAD( "c2.5f",        0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6004   ROM_LOAD( "c1.5h",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6005
6006   ROM_REGION( 0x0020, "proms", 0 )
6007   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6008ROM_END
6009
6010ROM_START( scrambles )
6011   ROM_REGION( 0x10000, "maincpu", 0 )
6012   ROM_LOAD( "2d(__scrambles)",           0x0000, 0x0800, CRC(b89207a1) SHA1(5422df979e82bcc73df49f50515fe76c126c037b) )
6013   ROM_LOAD( "2e(__scrambles)",           0x0800, 0x0800, CRC(e9b4b9eb) SHA1(a8ee9ddfadf5e9accedfaf81da757a88a2e55a0a) )
6014   ROM_LOAD( "2f(__scrambles)",           0x1000, 0x0800, CRC(a1f14f4c) SHA1(3eae2b3e4596505a8afb5c5cfb108e823c2c4319) )
6015   ROM_LOAD( "2h(__scrambles)",           0x1800, 0x0800, CRC(591bc0d9) SHA1(170f9e92f0a3bee04407be27210b4fa825367688) )
6016   ROM_LOAD( "2j(__scrambles)",           0x2000, 0x0800, CRC(22f11b6b) SHA1(e426ef6a7444a39a34d59799973b07d11b89f372) )
6017   ROM_LOAD( "2l(__scrambles)",           0x2800, 0x0800, CRC(705ffe49) SHA1(174df3f281068c767344f751daace646360e26d6) )
6018   ROM_LOAD( "2m(__scrambles)",           0x3000, 0x0800, CRC(ea26c35c) SHA1(a2f3380982d93a022f46756f974fd16c4cd617de) )
6019   ROM_LOAD( "2p(__scrambles)",           0x3800, 0x0800, CRC(94d8f5e3) SHA1(f3a9c4d1d91836476fcad87ea0d243dde7171e0a) )
6020
6021   ROM_REGION( 0x10000, "audiocpu", 0 )
6022   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
6023   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6024   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6025
6026   ROM_REGION( 0x1000, "gfx1", 0 )
6027   ROM_LOAD( "5f",           0x0000, 0x0800, CRC(5f30311a) SHA1(d64134089bebd995b3a1a089411e180c8c29f32d) )
6028   ROM_LOAD( "5h",           0x0800, 0x0800, CRC(516e029e) SHA1(81b44eb1ce43cebde87f0a41ade2e7eb291af78d) )
6029
6030   ROM_REGION( 0x0020, "proms", 0 )
6031   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6032ROM_END
6033
6034ROM_START( scrambles2 )
6035   ROM_REGION( 0x10000, "maincpu", 0 )
6036   ROM_LOAD( "2d",           0x0000, 0x0800, CRC(defae436) SHA1(b32f709069d2484275c88482f865f2758865729e) )
6037   ROM_LOAD( "2e",           0x0800, 0x0800, CRC(136bf894) SHA1(ecb4c245bdceedd1151707b05c2036941302776b) )
6038   ROM_LOAD( "2f",           0x1000, 0x0800, CRC(539ff711) SHA1(21b8cdbeebedd9436e88037fb3a01ae9ef7cd4d1) )
6039   ROM_LOAD( "2h",           0x1800, 0x0800, CRC(b59360eb) SHA1(5d155808c19dcf2e14aa8e29c0ee41a6d3d3c43a) )
6040   ROM_LOAD( "2j",           0x2000, 0x0800, CRC(d5aefbd5) SHA1(9001d969334c5791a9157e2b3558ab5cbb27714d) )
6041   ROM_LOAD( "2l",           0x2800, 0x0800, CRC(d6f0dfc9) SHA1(5581ba9894ea9f0067466ef5c7ff99bff92581da) )
6042   ROM_LOAD( "2m",           0x3000, 0x0800, CRC(d69e0980) SHA1(b0983f39929183bafddaf5703fc613dcc9a31b63) )
6043   ROM_LOAD( "2p",           0x3800, 0x0800, CRC(4fc94e8c) SHA1(cc9ed40257a0f6001bb7e8722ce6ff909e1f0b4b) )
6044
6045   ROM_REGION( 0x10000, "audiocpu", 0 )
6046   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
6047   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6048   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6049
6050   ROM_REGION( 0x1000, "gfx1", 0 )
6051   ROM_LOAD( "5f",           0x0000, 0x0800, CRC(5f30311a) SHA1(d64134089bebd995b3a1a089411e180c8c29f32d) )
6052   ROM_LOAD( "5h",           0x0800, 0x0800, CRC(516e029e) SHA1(81b44eb1ce43cebde87f0a41ade2e7eb291af78d) )
6053
6054   ROM_REGION( 0x0020, "proms", 0 )
6055   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6056ROM_END
6057
6058ROM_START( scramblebf )
6059   ROM_REGION( 0x10000, "maincpu", 0 )
6060   ROM_LOAD( "scf1.2d",      0x0000, 0x0800, CRC(b126aa1f) SHA1(1e4db9ee891711e880273241e74e932b0f4e3a0b) )
6061   ROM_LOAD( "scf2.2e",      0x0800, 0x0800, CRC(ce25fb77) SHA1(faaa2e5735075090548217b80b736b2eebf21dff) )
6062   ROM_LOAD( "scns3.2f",     0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) )
6063   ROM_LOAD( "scns4.2h",     0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
6064   ROM_LOAD( "scns5.2j",     0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) )
6065   ROM_LOAD( "scns6.2l",     0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
6066   ROM_LOAD( "scns7.2m",     0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
6067   ROM_LOAD( "scns8.2p",     0x3800, 0x0800, CRC(75232e09) SHA1(b0da201bf05c63031cdbe9f7059e3c710557f33d) )
6068
6069   ROM_REGION( 0x10000, "audiocpu", 0 )
6070   ROM_LOAD( "ot1ns.5c",     0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
6071   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6072   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6073
6074   ROM_REGION( 0x1000, "gfx1", 0 )
6075   ROM_LOAD( "c2.5f",        0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6076   ROM_LOAD( "c1.5h",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6077
6078   ROM_REGION( 0x0020, "proms", 0 ) // should be different on this bootleg..
6079   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, BAD_DUMP CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6080ROM_END
6081
6082
6083
6084
6085ROM_START( scrambp )
6086   ROM_REGION( 0x10000, "maincpu", 0 )
6087   ROM_LOAD( "b1-2716.cpu",     0x0000, 0x0800, CRC(63420017) SHA1(82e7c448297bf789033ed03cbe8fc9ac4525a826) )
6088   ROM_LOAD( "b2-2716.cpu",     0x0800, 0x0800, CRC(66ebc070) SHA1(ada52d7880185d1ac3a39c94896d5127ea05b14a) )
6089   ROM_LOAD( "b3-2716.cpu",     0x1000, 0x0800, CRC(317548fd) SHA1(687c309d476cd5fc830d90e9e6293d1dcab96df7) )
6090   ROM_LOAD( "b4-2716.cpu",     0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
6091   ROM_LOAD( "b5-2716.cpu",     0x2000, 0x0800, CRC(fa4f1a70) SHA1(9d797eaab0f19a2ed003f782716719c9d752bd56) )
6092   ROM_LOAD( "b6-2716.cpu",     0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
6093   ROM_LOAD( "b7-2716.cpu",     0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
6094   ROM_LOAD( "b8-2716.cpu",     0x3800, 0x0800, CRC(d20088ee) SHA1(4b2deb64f1185780e5b6d1527ed5f691591b9ea0) )
6095
6096   ROM_REGION( 0x10000, "audiocpu", 0 )
6097   ROM_LOAD( "b11-2716.cpu",     0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
6098   ROM_LOAD( "b12-2716.cpu",     0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6099   ROM_LOAD( "b13-2716.cpu",     0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6100
6101   ROM_REGION( 0x1000, "gfx1", 0 )
6102   ROM_LOAD( "b9-2716.cpu",         0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6103   ROM_LOAD( "b10-2716.cpu",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6104
6105   ROM_REGION( 0x0020, "proms", 0 ) // not verified
6106   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6107ROM_END
6108
6109
6110ROM_START( scrampt )
6111   ROM_REGION( 0x10000, "maincpu", 0 )
6112   ROM_LOAD( "cx8-2716.cpu",     0x0000, 0x0800, CRC(12b97cc6) SHA1(edcd98fafe1001d033a73279d6dfb8336ce164de) )
6113   ROM_LOAD( "cx4-2716.cpu",     0x0800, 0x0800, CRC(66ebc070) SHA1(ada52d7880185d1ac3a39c94896d5127ea05b14a) )
6114   ROM_LOAD( "cx9-2716.cpu",     0x1000, 0x0800, CRC(317548fd) SHA1(687c309d476cd5fc830d90e9e6293d1dcab96df7) )
6115   ROM_LOAD( "cx5-2716.cpu",     0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
6116   ROM_LOAD( "cx10-2716.cpu",    0x2000, 0x0800, CRC(fa4f1a70) SHA1(9d797eaab0f19a2ed003f782716719c9d752bd56) )
6117   ROM_LOAD( "cx6-2716.cpu",     0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
6118   ROM_LOAD( "cx11-2716.cpu",    0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
6119   ROM_LOAD( "cx7-2716.cpu",     0x3800, 0x0800, CRC(c9a6c489) SHA1(01aa49c5c75f76affcd2057afc5f9b57098a3374) )
6120
6121   ROM_REGION( 0x10000, "audiocpu", 0 )
6122   ROM_LOAD( "cx3-2716.cpu",       0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
6123   ROM_LOAD( "cx2-2716.cpu",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6124   ROM_LOAD( "cx1-2716.cpu",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6125
6126   ROM_REGION( 0x1000, "gfx1", 0 )
6127   ROM_LOAD( "cx12-2716.cpu",        0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6128   ROM_LOAD( "cx13-2716.cpu",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6129
6130   ROM_REGION( 0x0020, "proms", 0 ) // not verified
6131   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6132ROM_END
6133
6134
6135ROM_START( scramblebb ) // no PCB, just eproms...
6136   ROM_REGION( 0x10000, "maincpu", 0 )
6137   ROM_LOAD( "1",      0x0000, 0x0800, CRC(8ba174c4) SHA1(9ff48669054e4f55a19cb2d317a9d7a5e400e86c) )
6138   ROM_LOAD( "2",      0x0800, 0x0800, CRC(43cb40a4) SHA1(4e500f63a06865a5fd9a7d920eb866ea610a4d92) )
6139   ROM_LOAD( "3",      0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) )
6140   ROM_LOAD( "4",      0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
6141   ROM_LOAD( "5",      0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) )
6142   ROM_LOAD( "6",      0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
6143   ROM_LOAD( "7",      0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
6144   ROM_LOAD( "8",      0x3800, 0x0800, CRC(75232e09) SHA1(b0da201bf05c63031cdbe9f7059e3c710557f33d) )
6145
6146   ROM_REGION( 0x10000, "audiocpu", 0 )
6147   ROM_LOAD( "ot1.5c",  0x0000, 0x0800, BAD_DUMP CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )    // need proper dump
6148   ROM_LOAD( "ot2.5d",  0x0800, 0x0800, BAD_DUMP CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )    // need proper dump
6149   ROM_LOAD( "ot3.5e",  0x1000, 0x0800, BAD_DUMP CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )    // need proper dump
6150
6151   ROM_REGION( 0x1000, "gfx1", 0 )
6152   ROM_LOAD( "9",      0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6153   ROM_LOAD( "10",     0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6154
6155   ROM_REGION( 0x0020, "proms", 0 ) // should be different on this bootleg..
6156   ROM_LOAD( "c01s.6e", 0x0000, 0x0020, BAD_DUMP CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )    // need proper dump
6157ROM_END
6158
6159ROM_START( strfbomb )
6160   ROM_REGION( 0x10000, "maincpu", 0 )
6161   ROM_LOAD( "1.2c",         0x0000, 0x0800, CRC(b102aaa0) SHA1(00560da7a2ded6afcdc1d46e12cc3c795654639a) )
6162   ROM_LOAD( "2.2e",         0x0800, 0x0800, CRC(d4155703) SHA1(defd37df55536890456c29812340e0d6b4292b78) )
6163   ROM_LOAD( "3.2f",         0x1000, 0x0800, CRC(a9568c89) SHA1(0d8e6b3af92e4933814700d54acfd43407f3ede1) )
6164   ROM_LOAD( "4.2h",         0x1800, 0x0800, CRC(663b6c35) SHA1(354fb2e92f4376b20aee412ed361d59b8a2c01e1) )
6165   ROM_LOAD( "5.2j",         0x2000, 0x0800, CRC(4919a91c) SHA1(9cb5861c61e4783e5fbaa3869d51195f127b1129) )
6166   ROM_LOAD( "6.2l",         0x2800, 0x0800, CRC(4ec66ae3) SHA1(a74827e161212e9b2eddd980321507a377f1e30b) )
6167   ROM_LOAD( "7.2m",         0x3000, 0x0800, CRC(0feb0192) SHA1(45a44bde3bf1483abf95fe1d1d5066bfcb1736df) )
6168   ROM_LOAD( "8.2p",         0x3800, 0x0800, CRC(280a6142) SHA1(f17625b91eaaffa36a433be32e4e80651d94b3b9) )
6169
6170   ROM_REGION( 0x10000, "audiocpu", 0 )
6171   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
6172   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6173   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6174
6175   ROM_REGION( 0x1000, "gfx1", 0 )
6176   ROM_LOAD( "9.5f",         0x0000, 0x0800, CRC(3abeff25) SHA1(ff6de0596c849ec877fb759c1ab9c7a8ffe2edac) )
6177   ROM_LOAD( "10.5h",        0x0800, 0x0800, CRC(79ecacbe) SHA1(285cb3ee0ff8d596877bb571ea8479566ab36eb9) )
6178
6179   ROM_REGION( 0x0020, "proms", 0 )
6180   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6181ROM_END
6182
6183ROM_START( explorer )
6184   ROM_REGION( 0x10000, "maincpu", 0 )
6185   ROM_LOAD( "10l.bin",      0x0000, 0x1000, CRC(d5adf626) SHA1(f362322f780c13cee73697f9158a8ca8aa943a2e) )
6186   ROM_LOAD( "9l.bin",       0x1000, 0x1000, CRC(48e32788) SHA1(7a98848d2ed8ba5b2da28c014226109af7cc9287) )
6187   ROM_LOAD( "8l.bin",       0x2000, 0x1000, CRC(c0dbdbde) SHA1(eac7444246bdf80f97962031bf900ce09b28c8b5) )
6188   ROM_LOAD( "7l.bin",       0x3000, 0x1000, CRC(9b30d227) SHA1(22764e0a2a5ce7abe862e42c84abaaf25949575f) )
6189
6190   ROM_REGION( 0x10000, "audiocpu", 0 )
6191   ROM_LOAD( "3f.bin",       0x0000, 0x1000, CRC(9faf18cf) SHA1(1b6c65472d639753cc39031750f85efe1d31ae5e) )
6192   ROM_LOAD( "4b.bin",       0x1000, 0x0800, CRC(e910b5c3) SHA1(228e8d36dd1ac8a00a396df74b80aa6616997028) )
6193
6194   ROM_REGION( 0x1000, "gfx1", 0 )
6195   ROM_LOAD( "c2.5f",        0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6196   ROM_LOAD( "c1.5h",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6197
6198   ROM_REGION( 0x0020, "proms", 0 )
6199   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6200ROM_END
6201
6202
6203ROM_START( atlantis )
6204   ROM_REGION( 0x10000, "maincpu", 0 )
6205   ROM_LOAD( "2c",           0x0000, 0x0800, CRC(0e485b9a) SHA1(976f1d6f4552fbee134359a776b5688588824cbb) )
6206   ROM_LOAD( "2e",           0x0800, 0x0800, CRC(c1640513) SHA1(a0dfb34f401330b16e9e4d66ec4b49d120499606) )
6207   ROM_LOAD( "2f",           0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) )
6208   ROM_LOAD( "2h",           0x1800, 0x0800, CRC(a5d2e442) SHA1(e535d1a501ebd861ad62da70b87215fb7c23de1d) )
6209   ROM_LOAD( "2j",           0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) )
6210   ROM_LOAD( "2l",           0x2800, 0x0800, CRC(f335b96b) SHA1(17daa6d9bc916081f3c6cbdfe5b4960177dc7c9b) )
6211
6212   ROM_REGION( 0x10000, "audiocpu", 0 )
6213   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
6214   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6215   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6216
6217   ROM_REGION( 0x1000, "gfx1", 0 )
6218   ROM_LOAD( "5f",           0x0000, 0x0800, CRC(57f9c6b9) SHA1(ad0d09a6611998d093d676a9c9fe9e32b10f643e) )
6219   ROM_LOAD( "5h",           0x0800, 0x0800, CRC(e989f325) SHA1(947aee915779687deae040aeef9e9aee680aaebf) )
6220
6221   ROM_REGION( 0x0020, "proms", 0 )
6222   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6223ROM_END
6224
6225ROM_START( atlantis2 )
6226   ROM_REGION( 0x10000, "maincpu", 0 )
6227   ROM_LOAD( "rom1",         0x0000, 0x0800, CRC(ad348089) SHA1(3548b94192c451c0126e7aaecefa7137ae074cd3) )
6228   ROM_LOAD( "rom2",         0x0800, 0x0800, CRC(caa705d1) SHA1(b4aefbea21fa9608e1dae2a09ae0d31270eb8c78) )
6229   ROM_LOAD( "rom3",         0x1000, 0x0800, CRC(e420641d) SHA1(103e7590f5acbac6991d665495f933c3a68da1c8) )
6230   ROM_LOAD( "rom4",         0x1800, 0x0800, CRC(04792d90) SHA1(cb477e4b8e4538def01c10b0348f8f8e3a2a9500) )
6231   ROM_LOAD( "2j",           0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) )
6232   ROM_LOAD( "rom6",         0x2800, 0x0800, CRC(b297bd4b) SHA1(0c48da41d9cf2a3456df5b1e8bf27fa641bc643b) )
6233   ROM_LOAD( "rom7",         0x3000, 0x0800, CRC(a50bf8d5) SHA1(5bca98e1c0838d27ec66bf4b906877977b212b6d) )
6234   ROM_LOAD( "rom8",         0x3800, 0x0800, CRC(d2c5c984) SHA1(a9432f9aff8a2f5ca1d347443efc008a177d8ae0) )
6235
6236   ROM_REGION( 0x10000, "audiocpu", 0 )
6237   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
6238   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6239   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6240
6241   ROM_REGION( 0x1000, "gfx1", 0 )
6242   ROM_LOAD( "rom9",         0x0000, 0x0800, CRC(55cd5acd) SHA1(b3e2ce71d4e48255d44cd451ee015a7234a108c8) )
6243   ROM_LOAD( "rom10",        0x0800, 0x0800, CRC(72e773b8) SHA1(6ce178df3bd6a4177c68761572a13a56d222c48f) )
6244
6245   ROM_REGION( 0x0020, "proms", 0 )
6246   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6247ROM_END
6248
6249ROM_START( bomber )
6250   /* Bootleg of scramble from Alca */
6251   ROM_REGION( 0x10000, "maincpu", 0 ) /* 64k for code */
6252   ROM_LOAD( "1.3l",         0x0000, 0x0800, CRC(8c30c7c3) SHA1(39e6244ac6b6c711ab83a6953d4b0585e035dfec) )
6253   ROM_LOAD( "2.3k",         0x0800, 0x0800, CRC(1fca370c) SHA1(b48b67afe226b13656a1585a1d7ad4b6322c58a1) )
6254   ROM_LOAD( "3.3h",         0x1000, 0x0800, CRC(8a714167) SHA1(34ed01fd9e9efa5cd9067284a2b66b72cafe3209) )
6255   ROM_LOAD( "4.3f",         0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
6256   ROM_LOAD( "5.3e",         0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) )
6257   ROM_LOAD( "6.3d",         0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
6258   ROM_LOAD( "7.3c",         0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
6259   ROM_LOAD( "8.3a",         0x3800, 0x0800, CRC(75232e09) SHA1(b0da201bf05c63031cdbe9f7059e3c710557f33d) )
6260
6261   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for the audio CPU */
6262   ROM_LOAD( "11.8k",        0x0000, 0x0800, CRC(97ba15e8) SHA1(2729ccb156540ace2360b03c485865f7f97f5368) )
6263   ROM_LOAD( "12.8l",        0x0800, 0x0800, CRC(6510761d) SHA1(0df92f9f123447d59a9106b2351d680cb04d1a9e) )
6264
6265   ROM_REGION( 0x1000, "gfx1", 0 )
6266   ROM_LOAD( "c2.5f",        0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) ) // 10.4k on pcb
6267   ROM_LOAD( "c1.5h",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) ) // 9.4l on pcb
6268
6269   ROM_REGION( 0x0020, "proms", 0 )
6270   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // q.9c on pcb
6271ROM_END
6272
6273ROM_START( scorpion )
6274   ROM_REGION( 0x10000, "maincpu", 0 )
6275   ROM_LOAD( "1.2d",         0x0000, 0x1000, CRC(ba1219b4) SHA1(33c7843dba44152a8bc3223ea0c30b13609b80ba) )
6276   ROM_LOAD( "2.2f",         0x1000, 0x1000, CRC(c3909ab6) SHA1(0bec902ae4291fa0530f4c89ad45cc7aab888b7a) )
6277   ROM_LOAD( "3.2g",         0x2000, 0x1000, CRC(43261352) SHA1(49468cbed7e0286b260eef297bd5fad0ab9fd45b) )
6278   ROM_LOAD( "4.2h",         0x3000, 0x1000, CRC(aba2276a) SHA1(42b0378f06d2bdb4faaaa95274a6c0f965716877) )
6279   ROM_LOAD( "5.2k",         0x6000, 0x0800, CRC(952f78f2) SHA1(9562037b104fc1852c2d2650209a77ffce2cb90e) )
6280   ROM_CONTINUE(             0x5800, 0x0800 )
6281
6282   ROM_REGION( 0x10000, "audiocpu", 0 )
6283   ROM_LOAD( "igr_scorpion_32_a4.ic12", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) )
6284   ROM_LOAD( "igr_scorpion_32_a5.ic13", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) )
6285
6286   ROM_REGION( 0x2000, "gfx1", 0 )
6287   ROM_LOAD( "igr_scorpion_32_f5.ic72", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
6288   ROM_LOAD( "igr_scorpion_32_h5.ic73", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
6289
6290   ROM_REGION( 0x3000, "digitalker", 0 ) /* Digitalker speech samples */
6291   ROM_LOAD( "igr_scorpion_32_a3.ic25", 0x0000, 0x1000, CRC(04abf178) SHA1(2e7f231413d9ec461ca21840f31d1d6b8b17c4d5) )
6292   ROM_LOAD( "igr_scorpion_32_a2.ic24", 0x1000, 0x1000, CRC(90352dd4) SHA1(62c261a2f2fbd8eff31d5c72cf532d5e43d86dd3) )
6293   ROM_LOAD( "igr_scorpion_32_a1.ic23", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) )
6294
6295   ROM_REGION( 0x0020, "proms", 0 )
6296   ROM_LOAD( "mmi6331_6e.ic59", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) /* BPROM type MMI 6331 */
6297ROM_END
6298
6299ROM_START( scorpiona ) /* Scorpion was developed by I.G.R. and original labels have "I.G.R. SCORPION" printed them */
6300   ROM_REGION( 0x10000, "maincpu", 0 )
6301   ROM_LOAD( "igr_scorpion_32_d2.ic109",  0x0000, 0x1000, CRC(c5b9daeb) SHA1(faf7a22013dd5f063eb8f506f3722cfd5522539a) )
6302   ROM_LOAD( "igr_scorpion_32_e2.ic110",  0x1000, 0x1000, CRC(82308d05) SHA1(26bc7c8b3ea0020fd1b93f6aaa29d82d04ae64b2) )
6303   ROM_LOAD( "igr_scorpion_32_g2.ic111",  0x2000, 0x1000, CRC(756b09cd) SHA1(9aec34e063fe8c0d1392db09daea2875d06eec46) )
6304   ROM_LOAD( "igr_scorpion_32_h2.ic112",  0x3000, 0x1000, CRC(667ad8be) SHA1(2b2dcd32d52c0173a1fd93da9a8a1ccb669c7d55) )
6305   ROM_LOAD( "igr_scorpion_16_k2.ic113",  0x5800, 0x0800, CRC(42ec34d8) SHA1(b358d10a96490f325420b992e8e03bb3884e415a) )
6306   ROM_LOAD( "igr_scorpion_16_l2.ic114",  0x6000, 0x0800, CRC(6623da33) SHA1(99110005d00c80d674bde5d21608f50b85ee488c) )
6307
6308   ROM_REGION( 0x10000, "audiocpu", 0 )
6309   ROM_LOAD( "igr_scorpion_32_a4.ic12", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) )
6310   ROM_LOAD( "igr_scorpion_32_a5.ic13", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) )
6311
6312   ROM_REGION( 0x2000, "gfx1", 0 )
6313   ROM_LOAD( "igr_scorpion_32_f5.ic72", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
6314   ROM_LOAD( "igr_scorpion_32_h5.ic73", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
6315
6316   ROM_REGION( 0x3000, "digitalker", 0 ) /* Digitalker speech samples */
6317   ROM_LOAD( "igr_scorpion_32_a3.ic25", 0x0000, 0x1000, CRC(04abf178) SHA1(2e7f231413d9ec461ca21840f31d1d6b8b17c4d5) )
6318   ROM_LOAD( "igr_scorpion_32_a2.ic24", 0x1000, 0x1000, CRC(90352dd4) SHA1(62c261a2f2fbd8eff31d5c72cf532d5e43d86dd3) )
6319   ROM_LOAD( "igr_scorpion_32_a1.ic23", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) )
6320
6321   ROM_REGION( 0x0020, "proms", 0 )
6322   ROM_LOAD( "mmi6331_6e.ic59", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) /* BPROM type MMI 6331 */
6323ROM_END
6324
6325ROM_START( scorpionb )
6326   ROM_REGION( 0x10000, "maincpu", 0 )
6327   ROM_LOAD( "ic109.2d", 0x0000, 0x1000, CRC(f54688c9) SHA1(2881d5238733353b9c277a2829d157688a87601b) )
6328   ROM_LOAD( "ic110.2e", 0x1000, 0x1000, CRC(91aaaa12) SHA1(2a5e5eb5aeec5637ee4675930f67158a969e0d5d) )
6329   ROM_LOAD( "ic111.2g", 0x2000, 0x1000, CRC(4c3720da) SHA1(5b2758c8a91f9463bf98abf2b52af946c5e90cf0) )
6330   ROM_LOAD( "ic112.2h", 0x3000, 0x1000, CRC(53e2a983) SHA1(cfe272055a92793de76dd1cff617b13281815485) )
6331   ROM_LOAD( "ic113.2k", 0x6000, 0x0800, CRC(e4ad299a) SHA1(712cab86eadeba9e859f7bae98eb289f00d2e217) )
6332   ROM_CONTINUE(         0x5800, 0x0800 )
6333
6334   ROM_REGION( 0x10000, "audiocpu", 0 )
6335   ROM_LOAD( "igr_scorpion_32_a4.ic12", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) ) /* missing from this set */
6336   ROM_LOAD( "igr_scorpion_32_a5.ic13", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) )
6337
6338   ROM_REGION( 0x2000, "gfx1", 0 )
6339   ROM_LOAD( "igr_scorpion_32_f5.ic72", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
6340   ROM_LOAD( "igr_scorpion_32_h5.ic73", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
6341
6342   ROM_REGION( 0x3000, "digitalker", 0 ) /* Digitalker speech samples */
6343   ROM_LOAD( "igr_scorpion_32_a3.ic25", 0x0000, 0x1000, CRC(04abf178) SHA1(2e7f231413d9ec461ca21840f31d1d6b8b17c4d5) )
6344   ROM_LOAD( "igr_scorpion_32_a2.ic24", 0x1000, 0x1000, CRC(90352dd4) SHA1(62c261a2f2fbd8eff31d5c72cf532d5e43d86dd3) )
6345   ROM_LOAD( "igr_scorpion_32_a1.ic23", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) )
6346
6347   ROM_REGION( 0x0020, "proms", 0 )
6348   ROM_LOAD( "mmi6331_6e.ic59", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) /* BPROM type MMI 6331 */
6349ROM_END
6350
6351ROM_START( scorpionmc )
6352   ROM_REGION( 0x10000, "maincpu", 0 )
6353   ROM_LOAD( "p1.bin",       0x0000, 0x0800, CRC(58818d88) SHA1(d9fbfb6fff9ba1d078c3735889b8878ab0442ded) )
6354   ROM_LOAD( "p2.bin",       0x0800, 0x0800, CRC(8bec5f9f) SHA1(78642124edbf946140f62985bafe2dca314cb257) )
6355   ROM_LOAD( "p3.bin",       0x1000, 0x0800, CRC(24b7fdff) SHA1(1382199c85af3aa101b4ca01a0b096d801bc61a6) )
6356   ROM_LOAD( "p4.bin",       0x1800, 0x0800, CRC(9082e2f0) SHA1(8e3beebca33e73901cb8c4fa0af39a299b831d32) )
6357   ROM_LOAD( "p5.bin",       0x2000, 0x0800, CRC(20387fc0) SHA1(1aa2f16fb1630e65fd8aaedd21d8e4bac343678b) )
6358   ROM_LOAD( "p6.bin",       0x2800, 0x0800, CRC(f66c48e1) SHA1(bbfd68309d1f6b6bb3ec0879c8bde80b3f30fa02) )
6359   ROM_LOAD( "p7.bin",       0x3000, 0x0800, CRC(931e34c7) SHA1(8b6c1099634b5d693faab9edf5e29b3c476c7f52) )
6360   ROM_LOAD( "p8.bin",       0x3800, 0x0800, CRC(ab5ab61d) SHA1(eb78d7dc8d424f6ed4f7cbec02485cd769bac5c6) )
6361   ROM_LOAD( "p9.bin",       0x5000, 0x1000, CRC(b551b974) SHA1(c19e61dd8b6daf808ba42fa318dfd179a020d20e) )
6362   ROM_LOAD( "p10.bin",      0x6000, 0x0800, CRC(a7bd8d20) SHA1(c8131279de58298546c5af2c34ff18116c3a2d3b) )
6363
6364   ROM_REGION( 0x2000, "gfx1", 0 )
6365   ROM_LOAD( "h.bin",        0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
6366   ROM_LOAD( "k.bin",        0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
6367
6368   ROM_REGION( 0x0020, "proms", 0 )
6369   ROM_LOAD( "mmi6331.bpr",  0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
6370ROM_END
6371
6372ROM_START( aracnis )
6373   ROM_REGION( 0x10000, "maincpu", 0 )
6374   ROM_LOAD( "00sc.bin",       0x0000, 0x1000, CRC(c7e0d6b9) SHA1(3aac51d22939da8a595237ad26fe0f06a3acfb6a) )
6375   ROM_LOAD( "01sc.bin",       0x1000, 0x1000, CRC(03eb27dc) SHA1(8dae30006c9e81ab0d2b5c5faa7257813ea00a89) )
6376   ROM_LOAD( "02sc.bin",       0x2000, 0x1000, CRC(f3d49d4f) SHA1(19f603a2bda88e51608414f2748a33b4fb6e31c1) )
6377   ROM_LOAD( "03sc.bin",       0x3000, 0x1000, CRC(0e741984) SHA1(6e2c7820bbb1834c49f312664c786b50af0cff26) )
6378   ROM_LOAD( "05sc.bin",       0x5000, 0x1000, CRC(f27ee3e4) SHA1(e034507b99705492b6a8aa34764a1e3222ba31b2) )
6379   ROM_LOAD( "06sc.bin",       0x6000, 0x0800, CRC(fdfc2c82) SHA1(6b8914d6496c216de5bf160cd798b8f6facd44d2) )
6380
6381   ROM_REGION( 0x2000, "gfx1", 0 )
6382   ROM_LOAD( "08sc.1h",        0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
6383   ROM_LOAD( "07sc.1k",        0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
6384
6385   ROM_REGION( 0x0020, "proms", 0 )
6386   // colours are wrong, but this is the prom that was on the board
6387
6388   // note: pin 13 is marked with red paint, and is not connected
6389   //  ^ this is important for getting correct colours on real hw
6390   ROM_LOAD( "mmi6331-1.6l",  0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
6391ROM_END
6392
6393ROM_START( sfx )
6394   ROM_REGION( 0x10000, "maincpu", 0 )
6395   ROM_LOAD( "sfx_b-0.1j",   0x0000, 0x1000, CRC(e5bc6952) SHA1(7bfb772418d738d3c49fd59c0bfc04590945977a) )
6396   ROM_CONTINUE(             0xe000, 0x1000             )
6397   ROM_LOAD( "1.1c",         0x1000, 0x1000, CRC(1b3c48e7) SHA1(2f245aaf9b4bb5d949aae18ee89a0be639e7b2df) )
6398   ROM_LOAD( "22.1d",        0x2000, 0x1000, CRC(ed44950d) SHA1(f8c54ff89ac461171df951d703d5571be1b8da38) )
6399   ROM_LOAD( "23.1e",        0x3000, 0x1000, CRC(f44a3ca0) SHA1(3917ea960329a06d3d0c447cb6a4ba710fb7ca92) )
6400   ROM_LOAD( "27.1a",        0x7000, 0x1000, CRC(ed86839f) SHA1(a0d8c941a6e01058eab66d5da9b49b6b5695b981) )
6401   ROM_LOAD( "24.1g",        0xc000, 0x1000, CRC(e6d7dc74) SHA1(c1e6d9598fb837775ee6550fea3cd4910572615e) )
6402   ROM_LOAD( "5.1h",         0xd000, 0x1000, CRC(d1e8d390) SHA1(f8fe9f69e6500fbcf25f8151c1070d9a1a20a38c) )
6403
6404   ROM_REGION( 0x10000, "audiocpu", 0 )
6405   ROM_LOAD( "5.5j",         0x0000, 0x1000, CRC(59028fb6) SHA1(94105b5b03c81a948a409f7ea20312bb9c79c150) )
6406   ROM_LOAD( "6.6j",         0x1000, 0x1000, CRC(5427670f) SHA1(ffc3f7186d0319f0fd7ed25eb97bb0db7bc107c6) )
6407
6408   ROM_REGION( 0x10000, "audio2", 0 )
6409   ROM_LOAD( "1.1j",         0x0000, 0x1000, CRC(2f172c58) SHA1(4706d55fcfad4d5a87d96a0a0187f59997ef9720) )
6410   ROM_LOAD( "2.2j",         0x1000, 0x1000, CRC(a6ad2f6b) SHA1(14d1a93e507c349b14a1b26408cce23f089fa33c) )
6411   ROM_LOAD( "3.3j",         0x2000, 0x1000, CRC(fa1274fa) SHA1(e98cb602b265b209eaa4a9b3972e47c869ff863b) )
6412   ROM_LOAD( "4.4j",         0x3000, 0x1000, CRC(1cd33f3a) SHA1(cf9248fd6cb56ec81d354afe032a2dea810e834b) )
6413   ROM_LOAD( "10.3h",        0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) )
6414   ROM_LOAD( "11.4h",        0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) )
6415
6416   ROM_REGION( 0x2000, "gfx1", 0 )
6417   ROM_LOAD( "28.5a",        0x0000, 0x1000, CRC(d73a8252) SHA1(59d14f41f1a806f98ee33596b84fe5aefe606944) )
6418   ROM_LOAD( "29.5c",        0x1000, 0x1000, CRC(1401ccf2) SHA1(5762eafd9f402330e1d4ac677f46595087716c47) )
6419
6420   ROM_REGION( 0x0020, "proms", 0 )
6421   ROM_LOAD( "6331.9g",      0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) )
6422ROM_END
6423
6424ROM_START( skelagon )
6425   ROM_REGION( 0x10000, "maincpu", 0 )
6426   /* first half of 36.bin is missing */
6427   ROM_LOAD( "31.bin",       0x1000, 0x1000, CRC(ae6f8647) SHA1(801e88b91c204f2797e5ce45390ea6eec27a3f54) )
6428   ROM_LOAD( "32.bin",       0x2000, 0x1000, CRC(a28c5838) SHA1(0a37de7986c494d1522ce76635dd1fa6d03f05c7) )
6429   ROM_LOAD( "33.bin",       0x3000, 0x1000, CRC(32f7e99c) SHA1(2718063a77eeeb8067a9cad7ff3d9e0266b61566) )
6430   ROM_LOAD( "37.bin",       0x7000, 0x1000, CRC(47f68a31) SHA1(6e15024f67c88a733ede8702d2a80ddb1892b27e) )
6431   ROM_LOAD( "24.bin",       0xc000, 0x1000, CRC(e6d7dc74) SHA1(c1e6d9598fb837775ee6550fea3cd4910572615e) )
6432   ROM_LOAD( "35.bin",       0xd000, 0x1000, CRC(5b2a0158) SHA1(66d2fb05a8daaa86bb547b4860d5bf27b4359326) )
6433   ROM_LOAD( "36.bin",       0xe000, 0x1000, BAD_DUMP CRC(f53ead29) SHA1(f8957b0c0558acc005f418adbfeb66d1d562c9ac) )
6434
6435   ROM_REGION( 0x10000, "audiocpu", 0 )
6436   ROM_LOAD( "5.5j",         0x0000, 0x1000, CRC(59028fb6) SHA1(94105b5b03c81a948a409f7ea20312bb9c79c150) )
6437   ROM_LOAD( "6.6j",         0x1000, 0x1000, CRC(5427670f) SHA1(ffc3f7186d0319f0fd7ed25eb97bb0db7bc107c6) )
6438
6439   ROM_REGION( 0x10000, "audio2", 0 )
6440   ROM_LOAD( "1.1j",         0x0000, 0x1000, CRC(2f172c58) SHA1(4706d55fcfad4d5a87d96a0a0187f59997ef9720) )
6441   ROM_LOAD( "2.2j",         0x1000, 0x1000, CRC(a6ad2f6b) SHA1(14d1a93e507c349b14a1b26408cce23f089fa33c) )
6442   ROM_LOAD( "3.3j",         0x2000, 0x1000, CRC(fa1274fa) SHA1(e98cb602b265b209eaa4a9b3972e47c869ff863b) )
6443   ROM_LOAD( "4.4j",         0x3000, 0x1000, CRC(1cd33f3a) SHA1(cf9248fd6cb56ec81d354afe032a2dea810e834b) )
6444   ROM_LOAD( "10.bin",       0x4000, 0x1000, CRC(2c719de2) SHA1(0953e96f8be1cbab3f4a8e166457c74e986a87b1) )
6445   ROM_LOAD( "8.bin",        0x5000, 0x1000, CRC(350379dd) SHA1(e979251b11d6702170dd60ffd28fc15ea737588b) )
6446
6447   ROM_REGION( 0x2000, "gfx1", 0 )
6448   ROM_LOAD( "38.bin",       0x0000, 0x1000, CRC(2fffa8b1) SHA1(6a6032f55b9fe1da209e4ed4423042efec773d4d) )
6449   ROM_LOAD( "39.bin",       0x1000, 0x1000, CRC(a854b5de) SHA1(dd038f20ee366d439f09f0c82fd6432101b3781a) )
6450
6451   ROM_REGION( 0x0020, "proms", 0 )
6452   ROM_LOAD( "6331.9g",      0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) )
6453ROM_END
6454
6455/*
6456Monster Zero
6457
6458CPU: Z80 (x3)
6459Sound: AY-3-8910 (x2)
6460Other: 8255 (x3)
6461RAM: 2114 (x2), 2114 (x2), TMM2016P, TMM314A (x4), MPB8216 (x2), MPB8216 (x2), 2114 (x2), TMM314A (x2), D2125A (x5)
6462PAL: 16R8C (protected x2)
6463PROM: 82S123
6464X1: 1431818
6465X2: 16000
6466*/
6467
6468ROM_START( monsterz )
6469   ROM_REGION( 0x10000, "maincpu", 0 )
6470   ROM_LOAD( "b-1e.a1",      0x0000, 0x1000, CRC(97886542) SHA1(01f4f9bd55f9eae28162cbb22a26f7cda22cd3f3) )
6471   ROM_LOAD( "b-2e.c1",      0x1000, 0x1000, CRC(184ffcb4) SHA1(829d6ca13773aba7c3a81e122171befbe3666110) )
6472   ROM_LOAD( "b-3e.d1",      0x2000, 0x1000, CRC(b7b10ac7) SHA1(51d544d4db456df756a95d7f1853fffed9259647) )
6473   ROM_LOAD( "b-4e.e1",      0x3000, 0x1000, CRC(fb02c736) SHA1(24466116dd07b856b1afff62b8312c67ff466b95) )
6474   ROM_LOAD( "b-5e.g1",      0xc000, 0x1000, CRC(b2788ab9) SHA1(eb1a6b41f4c7a243481bfccf2b068ce1bc292366) )
6475   ROM_LOAD( "b-6e.h1",      0xd000, 0x1000, CRC(77d7aa8d) SHA1(62aaf582ba55f7b21f6cf13b4fb6c2c54bb729f5) )
6476
6477   ROM_REGION( 0x10000, "audiocpu", 0 )
6478   ROM_LOAD( "a-1e.k1",      0x0000, 0x1000, CRC(b88ba44e) SHA1(85c141fb411d541b1e20412f5fefd18395f635ae) )
6479   ROM_LOAD( "a-2.k2",       0x1000, 0x1000, CRC(8913c94e) SHA1(6c4fe065217a234d45761f8ad4d2c4e7078a0abd) )
6480   ROM_LOAD( "a-3e.k3",      0x2000, 0x1000, CRC(a8fa5095) SHA1(5cabe5497a79a0c43e78a84ae87c824af60a2a3f) )
6481   ROM_LOAD( "a-4.k4",       0x3000, 0x1000, CRC(93f81317) SHA1(167708be94cb9a47290067a20bc5ff6f018b93b6) )
6482
6483   ROM_REGION( 0x10000, "audio2", 0 )
6484   ROM_LOAD( "a-5e.k5",      0x0000, 0x1000, CRC(b5bcdb4e) SHA1(db0965e5636e0f4e9cd4f4a7d808c413ecf733db) )
6485   ROM_LOAD( "a-6.k6",       0x1000, 0x1000, CRC(24832b2e) SHA1(2a67888e86ce1a3182303e841513ba2a07977359) )
6486   ROM_LOAD( "a-7e.k7",      0x2000, 0x1000, CRC(20ebea81) SHA1(473c688365b256d8593663ff95768f4a5bb1289d) )
6487   // 0x3000 empty ?
6488   ROM_LOAD( "a-8.k8",       0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) )
6489   ROM_LOAD( "a-9.k9",       0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) )
6490
6491   ROM_REGION( 0x2000, "gfx1", 0 )
6492   ROM_LOAD( "b-7e.a5",      0x0000, 0x1000, CRC(ddd4158d) SHA1(9701e2d8a0226455dfbed650e58bb4be05918fe8) )
6493   ROM_LOAD( "b-8e.c5",      0x1000, 0x1000, CRC(b1331b4c) SHA1(fa1af406ecd6919b4846aea68d3edb70106f9273) )
6494
6495   ROM_REGION( 0x0020, "proms", 0 )
6496   ROM_LOAD( "prom.g9",      0x0000, 0x0020, CRC(b7ea00d7) SHA1(f658c6ac8123ae1e6b68ae513cc02c4d9d2b4e47) )
6497ROM_END
6498
6499
6500ROM_START( scobra )
6501   ROM_REGION( 0x10000, "maincpu", 0 )
6502   ROM_LOAD( "epr1265.2c",   0x0000, 0x1000, CRC(a0744b3f) SHA1(8949298a04f8ba8a82d5d84a7b012a0e7cff11df) )
6503   ROM_LOAD( "2e",           0x1000, 0x1000, CRC(8e7245cd) SHA1(281504ff364c3ddbf901c92729b139afd93b9785) )
6504   ROM_LOAD( "epr1267.2f",   0x2000, 0x1000, CRC(47a4e6fb) SHA1(01775ad11dc23469649539ee8fb8a5800df031c6) )
6505   ROM_LOAD( "2h",           0x3000, 0x1000, CRC(7244f21c) SHA1(f5fff565ed3f6c5f277a4db53c9f569813fcec1d) )
6506   ROM_LOAD( "epr1269.2j",   0x4000, 0x1000, CRC(e1f8a801) SHA1(2add8270352d6596052d3ff22c891ceccaa92071) )
6507   ROM_LOAD( "2l",           0x5000, 0x1000, CRC(d52affde) SHA1(5681771ed51d504bdcc2999fcbf926a30b137828) )
6508
6509   ROM_REGION( 0x10000, "audiocpu", 0 )
6510   ROM_LOAD( "5c",           0x0000, 0x0800, CRC(d4346959) SHA1(5eab4505beb69a5bdd88b23db60e1193371250cf) )
6511   ROM_LOAD( "5d",           0x0800, 0x0800, CRC(cc025d95) SHA1(2b0784c4d05c466e0b7648f16e14f34393d792c3) )
6512   ROM_LOAD( "5e",           0x1000, 0x0800, CRC(1628c53f) SHA1(ec79a73e4a2d7373454b227dd7eff255f1cc60cc) )
6513
6514   ROM_REGION( 0x1000, "gfx1", 0 )
6515   ROM_LOAD( "epr1274.5h",   0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
6516   ROM_LOAD( "epr1273.5f",   0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
6517
6518   ROM_REGION( 0x0020, "proms", 0 )
6519   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6520ROM_END
6521
6522ROM_START( scobrase )
6523   ROM_REGION( 0x10000, "maincpu", 0 )
6524   ROM_LOAD( "epr1265.2c",   0x0000, 0x1000, CRC(a0744b3f) SHA1(8949298a04f8ba8a82d5d84a7b012a0e7cff11df) )
6525   ROM_LOAD( "epr1266.2e",   0x1000, 0x1000, CRC(65306279) SHA1(f6e10d57c9b88e3fcd7333f76708e190a97b4faa) )
6526   ROM_LOAD( "epr1267.2f",   0x2000, 0x1000, CRC(47a4e6fb) SHA1(01775ad11dc23469649539ee8fb8a5800df031c6) )
6527   ROM_LOAD( "epr1268.2h",   0x3000, 0x1000, CRC(53eecaf2) SHA1(08ca34097f63af8ab69b1d836a12a8bd4d42e4a2) )
6528   ROM_LOAD( "epr1269.2j",   0x4000, 0x1000, CRC(e1f8a801) SHA1(2add8270352d6596052d3ff22c891ceccaa92071) )
6529   ROM_LOAD( "epr1270.2l",   0x5000, 0x1000, CRC(f7709710) SHA1(dff9ae72ba00a98d4f5acdd6d506e3d7add6b2c6) )
6530
6531   ROM_REGION( 0x10000, "audiocpu", 0 )
6532   ROM_LOAD( "epr1275.5c",   0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) )
6533   ROM_LOAD( "epr1276.5d",   0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) )
6534   ROM_LOAD( "epr1277.5e",   0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) )
6535
6536   ROM_REGION( 0x1000, "gfx1", 0 )
6537   ROM_LOAD( "epr1274.5h",   0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
6538   ROM_LOAD( "epr1273.5f",   0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
6539
6540   ROM_REGION( 0x0020, "proms", 0 )
6541   ROM_LOAD( "pr1278.6e",    0x0000, 0x0020, CRC(fd35c561) SHA1(590f60beb443dd689c890c37cc100e0b936bf8c9) )
6542ROM_END
6543
6544ROM_START( scobras )
6545   ROM_REGION( 0x10000, "maincpu", 0 )
6546   ROM_LOAD( "scobra2c.bin", 0x0000, 0x1000, CRC(e15ade38) SHA1(21cf26d1781d133fa336d275d8a61d3f95d10b77) )
6547   ROM_LOAD( "scobra2e.bin", 0x1000, 0x1000, CRC(a270e44d) SHA1(8b7307af458b9cd3c45bb72b35e682d6d109ed01) )
6548   ROM_LOAD( "scobra2f.bin", 0x2000, 0x1000, CRC(bdd70346) SHA1(bda0dc5777233a86a3a0aceb6eded45145057ba8) )
6549   ROM_LOAD( "scobra2h.bin", 0x3000, 0x1000, CRC(dca5ec31) SHA1(50073d44ccef76a3c36c73a6ed4479127f2c98ee) )
6550   ROM_LOAD( "scobra2j.bin", 0x4000, 0x1000, CRC(0d8f6b6e) SHA1(0ca0096cd55cdb87d14cb7f4c7c7b853ec1661c7) )
6551   ROM_LOAD( "scobra2l.bin", 0x5000, 0x1000, CRC(6f80f3a9) SHA1(817d212454c5eb16c5d7471d2ccefc4f8708d57f) )
6552
6553   ROM_REGION( 0x10000, "audiocpu", 0 )
6554   ROM_LOAD( "epr1275.5c",   0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) )
6555   ROM_LOAD( "epr1276.5d",   0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) )
6556   ROM_LOAD( "epr1277.5e",   0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) )
6557
6558   ROM_REGION( 0x1000, "gfx1", 0 )
6559   ROM_LOAD( "epr1274.5h",   0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
6560   ROM_LOAD( "epr1273.5f",   0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
6561
6562   ROM_REGION( 0x0020, "proms", 0 )
6563   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6564ROM_END
6565
6566ROM_START( scobrab )
6567   ROM_REGION( 0x10000, "maincpu", 0 )
6568   ROM_LOAD( "vid_2c.bin",   0x0000, 0x0800, CRC(aeddf391) SHA1(87632469e943cfe38a9676de5e8ed839a63c5da2) )
6569   ROM_LOAD( "vid_2e.bin",   0x0800, 0x0800, CRC(72b57eb7) SHA1(978d0acbfccb7c1edddb073ad9417d4cbd9b7e63) )
6570   ROM_LOAD( "scobra2e.bin", 0x1000, 0x1000, CRC(a270e44d) SHA1(8b7307af458b9cd3c45bb72b35e682d6d109ed01) )
6571   ROM_LOAD( "scobra2f.bin", 0x2000, 0x1000, CRC(bdd70346) SHA1(bda0dc5777233a86a3a0aceb6eded45145057ba8) )
6572   ROM_LOAD( "scobra2h.bin", 0x3000, 0x1000, CRC(dca5ec31) SHA1(50073d44ccef76a3c36c73a6ed4479127f2c98ee) )
6573   ROM_LOAD( "scobra2j.bin", 0x4000, 0x1000, CRC(0d8f6b6e) SHA1(0ca0096cd55cdb87d14cb7f4c7c7b853ec1661c7) )
6574   ROM_LOAD( "scobra2l.bin", 0x5000, 0x1000, CRC(6f80f3a9) SHA1(817d212454c5eb16c5d7471d2ccefc4f8708d57f) )
6575
6576   ROM_REGION( 0x10000, "audiocpu", 0 )
6577   ROM_LOAD( "epr1275.5c",   0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) ) /* snd_5c.bin */
6578   ROM_LOAD( "epr1276.5d",   0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) ) /* snd_5d.bin */
6579   ROM_LOAD( "epr1277.5e",   0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) ) /* snd_5e.bin */
6580
6581   ROM_REGION( 0x1000, "gfx1", 0 )
6582   ROM_LOAD( "epr1274.5h",   0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
6583   ROM_LOAD( "epr1273.5f",   0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
6584
6585   ROM_REGION( 0x0020, "proms", 0 )
6586   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6587ROM_END
6588
6589ROM_START( suprheli )
6590   /* this is a bootleg of Super Cobra */
6591   ROM_REGION( 0x10000, "maincpu", 0 )
6592   ROM_LOAD( "1.2c",         0x0000, 0x1000, CRC(b25141d8) SHA1(9df638ad2c482cc7d8b8c8b61c9f8872bfaff4d5) )
6593   ROM_LOAD( "scobra2e.bin", 0x1000, 0x1000, CRC(a270e44d) SHA1(8b7307af458b9cd3c45bb72b35e682d6d109ed01) ) /* labeled "2" */
6594   ROM_LOAD( "scobra2f.bin", 0x2000, 0x1000, CRC(bdd70346) SHA1(bda0dc5777233a86a3a0aceb6eded45145057ba8) ) /* labeled "3" */
6595   ROM_LOAD( "scobra2h.bin", 0x3000, 0x1000, CRC(dca5ec31) SHA1(50073d44ccef76a3c36c73a6ed4479127f2c98ee) ) /* labeled "4" */
6596   ROM_LOAD( "scobra2j.bin", 0x4000, 0x1000, CRC(0d8f6b6e) SHA1(0ca0096cd55cdb87d14cb7f4c7c7b853ec1661c7) ) /* labeled "5" */
6597   ROM_LOAD( "6.2l",         0x5000, 0x1000, CRC(10a474d9) SHA1(3ba7ea791ab7b97bb4276550591812134f891708) )
6598
6599   ROM_REGION( 0x10000, "audiocpu", 0 )
6600   ROM_LOAD( "epr1275.5c",   0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) ) /* all the rom stickers are reflective and have white printing, except this one has green and was labeled "10" and is at position 11D */
6601   ROM_LOAD( "epr1276.5d",   0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) ) /* also labeled "10" but in white and is at position 10D */
6602   ROM_LOAD( "9.9d",         0x1000, 0x0800, CRC(2b69b8f3) SHA1(89ed25e7295eff63b53046b78fcb7f6e78796873) )
6603
6604   ROM_REGION( 0x1000, "gfx1", 0 )
6605   ROM_LOAD( "epr1274.5h",   0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) ) /* labeled "7" and is at position 5F, not H */
6606   ROM_LOAD( "epr1273.5f",   0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) ) /* labeled "8" and is at position 5H, not F */
6607
6608   ROM_REGION( 0x0020, "proms", 0 )
6609   ROM_LOAD( "k.6e",         0x0000, 0x0020, CRC(fd35c561) SHA1(590f60beb443dd689c890c37cc100e0b936bf8c9) ) /* this dump matches the prom from scobrase, it was labeled "K" with a marker here at 6E */
6610ROM_END
6611
6612
6613ROM_START( moonwar )
6614   ROM_REGION( 0x10000, "maincpu", 0 )
6615   ROM_LOAD( "mw2.2c",       0x0000, 0x1000, CRC(7c11b4d9) SHA1(a27bdff6ce728647ec811df843ac235c32c293d6) )
6616   ROM_LOAD( "mw2.2e",       0x1000, 0x1000, CRC(1b6362be) SHA1(2fbd95869146adcc0c8be1df653251fda8849e8e) )
6617   ROM_LOAD( "mw2.2f",       0x2000, 0x1000, CRC(4fd8ba4b) SHA1(3da784267a96d05f66b00626a22cb3f06211d202) )
6618   ROM_LOAD( "mw2.2h",       0x3000, 0x1000, CRC(56879f0d) SHA1(d1e9932863aebc5761e71fca8d24f3c400e1250d) )
6619
6620   ROM_REGION( 0x10000, "audiocpu", 0 )
6621   ROM_LOAD( "mw2.5c",       0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) )
6622   ROM_LOAD( "mw2.5d",       0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) )
6623
6624   ROM_REGION( 0x1000, "gfx1", 0 )
6625   ROM_LOAD( "mw2.5f",       0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) )
6626   ROM_LOAD( "mw2.5h",       0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) )
6627
6628   ROM_REGION( 0x0020, "proms", 0 )
6629   ROM_LOAD( "mw2.clr",      0x0000, 0x0020, CRC(99614c6c) SHA1(f068985f3c5e0cd88551a02c32f9baeabfd50241) )
6630ROM_END
6631
6632ROM_START( moonwara )
6633   ROM_REGION( 0x10000, "maincpu", 0 )
6634   ROM_LOAD( "2c",           0x0000, 0x1000, CRC(bc20b734) SHA1(c6fe550987d0052979aad43c67aa1b9248049669) )
6635   ROM_LOAD( "2e",           0x1000, 0x1000, CRC(db6ffec2) SHA1(0fcd55b1e415e2e7041d10778052a235251f85fe) )
6636   ROM_LOAD( "2f",           0x2000, 0x1000, CRC(378931b8) SHA1(663f1eea9b0e8dc38de818df66c5211dac41c33b) )
6637   ROM_LOAD( "2h",           0x3000, 0x1000, CRC(031dbc2c) SHA1(5f2ca8b8763398bf161ee0c2c748a12d36cb40ec) )
6638
6639   ROM_REGION( 0x10000, "audiocpu", 0 )
6640   ROM_LOAD( "mw2.5c",       0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) )
6641   ROM_LOAD( "mw2.5d",       0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) )
6642
6643   ROM_REGION( 0x1000, "gfx1", 0 )
6644   ROM_LOAD( "mw2.5f",       0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) )
6645   ROM_LOAD( "mw2.5h",       0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) )
6646
6647   ROM_REGION( 0x0020, "proms", 0 )
6648   ROM_LOAD( "moonwara.clr", 0x0000, 0x0020, CRC(f58d4f58) SHA1(12a80d1edf3c80dafa0e1e3622d2a03224b62f14) )    /* olive, instead of white */
6649ROM_END
6650
6651
6652ROM_START( armorcar )
6653   ROM_REGION( 0x10000, "maincpu", 0 )
6654   ROM_LOAD( "cpu.2c",       0x0000, 0x1000, CRC(0d7bfdfb) SHA1(47791d4fc298c25d29584dfcddcd92618e3750c5) )
6655   ROM_LOAD( "cpu.2e",       0x1000, 0x1000, CRC(76463213) SHA1(86dbbed25325cc8855c1eb39bbb11b0473b7f4b5) )
6656   ROM_LOAD( "cpu.2f",       0x2000, 0x1000, CRC(2cc6d5f0) SHA1(94abb33760aed206f0f90f035fe2977c1f2e26cf) )
6657   ROM_LOAD( "cpu.2h",       0x3000, 0x1000, CRC(61278dbb) SHA1(e12cd6c499af75f77e549499093fe6d2e8eddb1d) )
6658   ROM_LOAD( "cpu.2j",       0x4000, 0x1000, CRC(fb158d8c) SHA1(efa70e92c56678d4a404a96c72cfee317b15648c) )
6659
6660   ROM_REGION( 0x10000, "audiocpu", 0 )
6661   ROM_LOAD( "sound.5c",     0x0000, 0x0800, CRC(54ee7753) SHA1(3ebfa2cadf33acb4d24aa50cfa4713355cc780a3) )
6662   ROM_LOAD( "sound.5d",     0x0800, 0x0800, CRC(5218fec0) SHA1(c8f84f1e6aafc544e5acf48b245e8b1edb63211e) )
6663
6664   ROM_REGION( 0x1000, "gfx1", 0 )
6665   ROM_LOAD( "cpu.5f",       0x0000, 0x0800, CRC(8a3da4d1) SHA1(4d2ef48aeb9099fdd145e11e2485e0bf8d87290d) )
6666   ROM_LOAD( "cpu.5h",       0x0800, 0x0800, CRC(85bdb113) SHA1(f62da0ea0c29feb10d8d1ce8de28fd750a53b40a) )
6667
6668   ROM_REGION( 0x0020, "proms", 0 )
6669   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6670ROM_END
6671
6672ROM_START( armorcar2 )
6673   ROM_REGION( 0x10000, "maincpu", 0 )
6674   ROM_LOAD( "2c",           0x0000, 0x1000, CRC(e393bd2f) SHA1(6a5079d1f5d724e5f643cbc5352fc43d0b652e05) )
6675   ROM_LOAD( "2e",           0x1000, 0x1000, CRC(b7d443af) SHA1(1ce41e11a7fcfd039fbff03c4382ae29b601ed50) )
6676   ROM_LOAD( "2g",           0x2000, 0x1000, CRC(e67380a4) SHA1(a9a87e769d1ef223ae26241e9211c97b3d469656) )
6677   ROM_LOAD( "2h",           0x3000, 0x1000, CRC(72af7b37) SHA1(c9cd0a0a3e34fc7b12822f75eb511f0850703f55) )
6678   ROM_LOAD( "2j",           0x4000, 0x1000, CRC(e6b0dd7f) SHA1(98292fea03bff028ba924a49f0bfa49377018860) )
6679
6680   ROM_REGION( 0x10000, "audiocpu", 0 )
6681   ROM_LOAD( "sound.5c",     0x0000, 0x0800, CRC(54ee7753) SHA1(3ebfa2cadf33acb4d24aa50cfa4713355cc780a3) )
6682   ROM_LOAD( "sound.5d",     0x0800, 0x0800, CRC(5218fec0) SHA1(c8f84f1e6aafc544e5acf48b245e8b1edb63211e) )
6683
6684   ROM_REGION( 0x1000, "gfx1", 0 )
6685   ROM_LOAD( "cpu.5f",       0x0000, 0x0800, CRC(8a3da4d1) SHA1(4d2ef48aeb9099fdd145e11e2485e0bf8d87290d) )
6686   ROM_LOAD( "cpu.5h",       0x0800, 0x0800, CRC(85bdb113) SHA1(f62da0ea0c29feb10d8d1ce8de28fd750a53b40a) )
6687
6688   ROM_REGION( 0x0020, "proms", 0 )
6689   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6690ROM_END
6691
6692
6693ROM_START( tazmania )
6694   ROM_REGION( 0x10000, "maincpu", 0 )
6695   ROM_LOAD( "2c.cpu",       0x0000, 0x1000, CRC(932c5a06) SHA1(f90040a12f579a05cb91eacbe49dae9b2c725592) )
6696   ROM_LOAD( "2e.cpu",       0x1000, 0x1000, CRC(ef17ce65) SHA1(e1372886a4a2ae58278772f49b4f3be35e0b65d1) )
6697   ROM_LOAD( "2f.cpu",       0x2000, 0x1000, CRC(43c7c39d) SHA1(3cfe97009e3c9236b118fa1beadc50f41584bd7e) )
6698   ROM_LOAD( "2h.cpu",       0x3000, 0x1000, CRC(be829694) SHA1(3885c95ae1704e7a472139740b87fc8dd9610e07) )
6699   ROM_LOAD( "2j.cpu",       0x4000, 0x1000, CRC(6e197271) SHA1(231141a95e4dcb54d8bbee346825702e52824c42) )
6700   ROM_LOAD( "2k.cpu",       0x5000, 0x1000, CRC(a1eb453b) SHA1(50ddfd1dd8cc8c2cde97e52d4ef90e6d10e27a53) )
6701
6702   ROM_REGION( 0x10000, "audiocpu", 0 )
6703   ROM_LOAD( "rom0.snd",     0x0000, 0x0800, CRC(b8d741f1) SHA1(a1bb8a1e0d6b34111f05c539c8e92fffacf5aa5c) )
6704
6705   ROM_REGION( 0x1000, "gfx1", 0 )
6706   ROM_LOAD( "5f.cpu",       0x0000, 0x0800, CRC(2c5b612b) SHA1(32e3a41a9a4a8b1285b6a195213ff0d98012360a) )
6707   ROM_LOAD( "5h.cpu",       0x0800, 0x0800, CRC(3f5ff3ac) SHA1(bc70eef54a45b52c14e35464e5f06b5eec554eb6) )
6708
6709   ROM_REGION( 0x0020, "proms", 0 )
6710   ROM_LOAD( "colr6f.cpu",   0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
6711ROM_END
6712
6713
6714ROM_START( anteater )
6715   ROM_REGION( 0x10000, "maincpu", 0 )
6716   ROM_LOAD( "ra1-2c",       0x0000, 0x1000, CRC(58bc9393) SHA1(7122782a69ef0d2196ec16833f229b6286802668) )
6717   ROM_LOAD( "ra1-2e",       0x1000, 0x1000, CRC(574fc6f6) SHA1(a1a213d215fe8502edf22383c3a6fb7c9b279d94) )
6718   ROM_LOAD( "ra1-2f",       0x2000, 0x1000, CRC(2f7c1fe5) SHA1(4cea7e66a85766a9cf9846bb5bc1ca4e6ee1f4e2) )
6719   ROM_LOAD( "ra1-2h",       0x3000, 0x1000, CRC(ae8a5da3) SHA1(1893d8293b25431d080b89f5b0874440d14e8d17) )
6720
6721   ROM_REGION( 0x10000, "audiocpu", 0 )
6722   ROM_LOAD( "ra4-5c",       0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
6723   ROM_LOAD( "ra4-5d",       0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
6724
6725   ROM_REGION( 0x1000, "gfx1", 0 )
6726   ROM_LOAD( "ra6-5f",       0x0000, 0x0800, CRC(4c3f8a08) SHA1(3152eef64903be1a82f09764821a3654f316197d) )
6727   ROM_LOAD( "ra6-5h",       0x0800, 0x0800, CRC(b30c7c9f) SHA1(d4ae040d1fd7e5a5d08c2f6968735c551119c207) )
6728
6729   ROM_REGION( 0x0020, "proms", 0 )
6730   ROM_LOAD( "colr6f.cpu",   0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
6731ROM_END
6732
6733
6734ROM_START( anteateruk )
6735   ROM_REGION( 0x10000, "maincpu", 0 )
6736   ROM_LOAD( "ant1.bin",     0x0000, 0x0400, CRC(69debc90) SHA1(2ad4c86a1cbaf86d0b76bb07b885f61bc6604009) )
6737   ROM_CONTINUE(             0x4600, 0x0a00 )
6738   ROM_CONTINUE(             0x6400, 0x1200 )
6739   ROM_LOAD( "ant2.bin",     0x7600, 0x0500, CRC(ab352805) SHA1(858928f2b57c324a7942c13e0e6a7717a36f6ffc) )
6740   ROM_CONTINUE(             0x8300, 0x1600 )
6741   ROM_CONTINUE(             0xa300, 0x0500 )
6742
6743   ROM_REGION( 0x10000, "audiocpu", 0 )
6744   ROM_LOAD( "ra4-5c",       0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
6745   ROM_LOAD( "ra4-5d",       0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
6746
6747   ROM_REGION( 0x1000, "gfx1", 0 )
6748   ROM_LOAD( "gfx_1.bin",    0x0000, 0x0800, CRC(1e2824b1) SHA1(9527937db618505181f4d5a22bc532977a767232) )
6749   ROM_LOAD( "gfx_2.bin",    0x0800, 0x0800, CRC(784319b3) SHA1(0c3612a428d0906b07b35782cc0f84fda13aab73) )
6750
6751   ROM_REGION( 0x0020, "proms", 0 )
6752   ROM_LOAD( "colr6f.cpu",   0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
6753ROM_END
6754
6755
6756ROM_START( anteaterg )
6757   ROM_REGION( 0x10000, "maincpu", 0 )
6758   ROM_LOAD( "prg_2.bin",    0x0000, 0x0400, CRC(2ba793a8) SHA1(a97c96dcd55804d3b41856ece6477ec1c1e45892) )
6759   ROM_CONTINUE(             0x4600, 0x0a00 )
6760   ROM_CONTINUE(             0x6400, 0x1200 )
6761   ROM_LOAD( "prg_1.bin",    0x7600, 0x0500, CRC(7a798af5) SHA1(b4c8672c92b207a7a334dd3b78e57537b7d99b71) )
6762   ROM_CONTINUE(             0x8300, 0x1600 )
6763   ROM_CONTINUE(             0xa300, 0x0500 )
6764
6765   ROM_REGION( 0x10000, "audiocpu", 0 )
6766   ROM_LOAD( "ra4-5c",       0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
6767   ROM_LOAD( "ra4-5d",       0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
6768
6769   ROM_REGION( 0x1000, "gfx1", 0 )
6770   ROM_LOAD( "gfx_1.bin",    0x0000, 0x0800, CRC(1e2824b1) SHA1(9527937db618505181f4d5a22bc532977a767232) )
6771   ROM_LOAD( "gfx_2.bin",    0x0800, 0x0800, CRC(784319b3) SHA1(0c3612a428d0906b07b35782cc0f84fda13aab73) )
6772
6773   ROM_REGION( 0x0020, "proms", 0 )
6774   ROM_LOAD( "colr6f.cpu",   0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
6775ROM_END
6776
6777
6778ROM_START( calipso )
6779   ROM_REGION( 0x10000, "maincpu", 0 )
6780   ROM_LOAD( "calipso.2c",   0x0000, 0x1000, CRC(0fcb703c) SHA1(2bb096f114911973afdf3088c860c9566df06f60) )
6781   ROM_LOAD( "calipso.2e",   0x1000, 0x1000, CRC(c6622f14) SHA1(475164aed703a97275ff285ecaec9d8fd4fe723b) )
6782   ROM_LOAD( "calipso.2f",   0x2000, 0x1000, CRC(7bacbaba) SHA1(d321d6d09c689123eb1e5d758d95ccecec225252) )
6783   ROM_LOAD( "calipso.2h",   0x3000, 0x1000, CRC(a3a8111b) SHA1(3d9500c676563ebfc27aebb07716e6a966f00c35) )
6784   ROM_LOAD( "calipso.2j",   0x4000, 0x1000, CRC(fcbd7b9e) SHA1(5cc1edcc8b9867bb7849c8d97d1096bb6464f562) )
6785   ROM_LOAD( "calipso.2l",   0x5000, 0x1000, CRC(f7630cab) SHA1(482ee91cccd8a7c5768a1d6a9772d797769fe2dc) )
6786
6787   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
6788   ROM_LOAD( "calipso.5c",   0x0000, 0x0800, CRC(9cbc65ab) SHA1(b4ce04d18f9536c0ddd2f9c15edda75570e750e5) )
6789   ROM_LOAD( "calipso.5d",   0x0800, 0x0800, CRC(a225ee3b) SHA1(dba111f89851c69fb6fce16219cb2b0cb3294c15) )
6790
6791   ROM_REGION( 0x4000, "gfx1", 0 )
6792   ROM_LOAD( "calipso.5f",   0x0000, 0x2000, CRC(fd4252e9) SHA1(881b988cdc9b7913f577573f8a15af7a7c7cc67f) )
6793   ROM_LOAD( "calipso.5h",   0x2000, 0x2000, CRC(1663a73a) SHA1(95b6ed25b656afdfb70fac35efa2e005185e4343) )
6794
6795   ROM_REGION( 0x0020, "proms", 0 )
6796   ROM_LOAD( "calipso.clr",  0x0000, 0x0020, CRC(01165832) SHA1(bfef0459492dbd5febf3030916b6438eb6be71de) )
6797ROM_END
6798
6799
6800/*
6801    Lost Tomb
6802
6803    CPU/Sound Board: A969
6804    Video Board:     A2048
6805*/
6806
6807ROM_START( losttomb )
6808   ROM_REGION( 0x10000, "maincpu", 0 )
6809   ROM_LOAD( "2c",           0x0000, 0x1000, CRC(d6176d2c) SHA1(bc2bf63ee8d3e376f155d218704ceb5adcdf8e54) )
6810   ROM_LOAD( "2e",           0x1000, 0x1000, CRC(a5f55f4a) SHA1(3609fc2b15b6856e81738bbd370250735dba694d) )
6811   ROM_LOAD( "2f",           0x2000, 0x1000, CRC(0169fa3c) SHA1(2c06b1deca6c80d067032bfc2386da6ab0111e5f) )
6812   ROM_LOAD( "2h-easy",      0x3000, 0x1000, CRC(054481b6) SHA1(b0f5d19af0336883e4d9813e58a75c176a63a987) )
6813   ROM_LOAD( "2j",           0x4000, 0x1000, CRC(249ee040) SHA1(7297039e95e67220fa3e75fc50635f4df4c46a86) )
6814   ROM_LOAD( "2l",           0x5000, 0x1000, CRC(c7d2e608) SHA1(8aabecabd1dcd6833fb581e4571d71a680e6563a) )
6815   ROM_LOAD( "2m",           0x6000, 0x1000, CRC(bc4bc5b1) SHA1(95ffa72e57d1da10ddeda4d9333c9e0a2fb33e82) )
6816
6817   ROM_REGION( 0x10000, "audiocpu", 0 )
6818   ROM_LOAD( "5c",           0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
6819   ROM_LOAD( "5d",           0x0800, 0x0800, CRC(6907af31) SHA1(8496c8db5342129d81381eec196facbca45bca77) )
6820
6821   ROM_REGION( 0x1000, "gfx1", 0 )
6822   ROM_LOAD( "5f",           0x0000, 0x0800, CRC(61f137e7) SHA1(8bff09bc29fa829e21e6b36f7b3f67f19f6bbb26) )
6823   ROM_LOAD( "5h",           0x0800, 0x0800, CRC(5581de5f) SHA1(763dacb0d2183c159e7f1f04c7ecb1182da18abf) )
6824
6825   ROM_REGION( 0x0020, "proms", 0 )
6826   ROM_LOAD( "ltprom",       0x0000, 0x0020, CRC(1108b816) SHA1(49fdb08f8f31fefa2f3dca3d3455318cb21847a3) )
6827ROM_END
6828
6829ROM_START( losttombh )
6830   ROM_REGION( 0x10000, "maincpu", 0 )
6831   ROM_LOAD( "2c",           0x0000, 0x1000, CRC(d6176d2c) SHA1(bc2bf63ee8d3e376f155d218704ceb5adcdf8e54) )
6832   ROM_LOAD( "2e",           0x1000, 0x1000, CRC(a5f55f4a) SHA1(3609fc2b15b6856e81738bbd370250735dba694d) )
6833   ROM_LOAD( "2f",           0x2000, 0x1000, CRC(0169fa3c) SHA1(2c06b1deca6c80d067032bfc2386da6ab0111e5f) )
6834   ROM_LOAD( "lthard",       0x3000, 0x1000, CRC(e32cbf0e) SHA1(c4a63e01fad7bd450def5c4412690d4bb8d12691) )
6835   ROM_LOAD( "2j",           0x4000, 0x1000, CRC(249ee040) SHA1(7297039e95e67220fa3e75fc50635f4df4c46a86) )
6836   ROM_LOAD( "2l",           0x5000, 0x1000, CRC(c7d2e608) SHA1(8aabecabd1dcd6833fb581e4571d71a680e6563a) )
6837   ROM_LOAD( "2m",           0x6000, 0x1000, CRC(bc4bc5b1) SHA1(95ffa72e57d1da10ddeda4d9333c9e0a2fb33e82) )
6838
6839   ROM_REGION( 0x10000, "audiocpu", 0 )
6840   ROM_LOAD( "5c",           0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
6841   ROM_LOAD( "5d",           0x0800, 0x0800, CRC(6907af31) SHA1(8496c8db5342129d81381eec196facbca45bca77) )
6842
6843   ROM_REGION( 0x1000, "gfx1", 0 )
6844   ROM_LOAD( "5f",           0x0000, 0x0800, CRC(61f137e7) SHA1(8bff09bc29fa829e21e6b36f7b3f67f19f6bbb26) )
6845   ROM_LOAD( "5h",           0x0800, 0x0800, CRC(5581de5f) SHA1(763dacb0d2183c159e7f1f04c7ecb1182da18abf) )
6846
6847   ROM_REGION( 0x0020, "proms", 0 )
6848   ROM_LOAD( "ltprom",       0x0000, 0x0020, CRC(1108b816) SHA1(49fdb08f8f31fefa2f3dca3d3455318cb21847a3) )
6849ROM_END
6850
6851
6852ROM_START( spdcoin )
6853   ROM_REGION( 0x10000, "maincpu", 0 )
6854   ROM_LOAD( "spdcoin.2c",   0x0000, 0x1000, CRC(65cf1e49) SHA1(a4570f0d7868fcdd378de3fd9e5346780afcf427) )
6855   ROM_LOAD( "spdcoin.2e",   0x1000, 0x1000, CRC(1ee59232) SHA1(b58c1de69d33cf80432012b9b6d8b1e3d8b00662) )
6856
6857   ROM_REGION( 0x10000, "audiocpu", 0 )
6858   ROM_LOAD( "spdcoin.5c",   0x0000, 0x0800, CRC(b4cf64b7) SHA1(a95d94be2e374b78b4ba49b6931f0c214ff9d033) )
6859   ROM_LOAD( "spdcoin.5d",   0x0800, 0x0800, CRC(92304df0) SHA1(01471bf7cbea0090933a253b1b46f80c8f240df5) )
6860
6861   ROM_REGION( 0x1000, "gfx1", 0 )
6862   ROM_LOAD( "spdcoin.5f",   0x0000, 0x0800, CRC(dd5f1dbc) SHA1(e7c40972a7530cac19ce04de3272244959d337ab) )
6863   ROM_LOAD( "spdcoin.5h",   0x0800, 0x0800, CRC(ab1fe81b) SHA1(98057932cb5faad60d425b547590ab22bfc67ff6) )
6864
6865   ROM_REGION( 0x0020, "proms", 0 )
6866   ROM_LOAD( "spdcoin.clr",  0x0000, 0x0020, CRC(1a2ccc56) SHA1(58bedaa8b3e21e916295603b38529084b6c0099a) )
6867ROM_END
6868
6869
6870ROM_START( superbon )
6871   ROM_REGION( 0x10000, "maincpu", 0 )
6872   ROM_LOAD( "2d.cpu",       0x0000, 0x1000, CRC(60c0ba18) SHA1(6ad09e01dd3c86c8d9c465916227c9b00f38e025) )
6873   ROM_LOAD( "2e.cpu",       0x1000, 0x1000, CRC(ddcf44bf) SHA1(b862622f4aa8af6da568b4f82ef043359ece530f) )
6874   ROM_LOAD( "2f.cpu",       0x2000, 0x1000, CRC(bb66c2d5) SHA1(cbb7f4279ae48460790cb8abf976b978ae6a1a25) )
6875   ROM_LOAD( "2h.cpu",       0x3000, 0x1000, CRC(74f4f04d) SHA1(d51c5d2c21453ee0dab60253c3124b6112d1f859) )
6876   ROM_LOAD( "2j.cpu",       0x4000, 0x1000, CRC(78effb08) SHA1(64f211b34c2f37c25a36200b393f145b39ae67b5) )
6877   ROM_LOAD( "2l.cpu",       0x5000, 0x1000, CRC(e9dcecbd) SHA1(ec61cec2b66c041872a2ca29cf724a89c73fc9a3) )
6878   ROM_LOAD( "2m.cpu",       0x6000, 0x1000, CRC(3ed0337e) SHA1(975b93aee851867e335614419aa6db16fbf8063f) )
6879
6880   ROM_REGION( 0x10000, "audiocpu", 0 )
6881   ROM_LOAD( "5c",           0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
6882   ROM_LOAD( "5d.snd",       0x0800, 0x0800, CRC(80640a04) SHA1(83f2bafcfa5737441194d3058a76b2582317cfcb) )
6883
6884   ROM_REGION( 0x1000, "gfx1", 0 )
6885   ROM_LOAD( "5f.cpu",       0x0000, 0x0800, CRC(5b9d4686) SHA1(c7814aefaccab9c8a3a0b015447d366cd2e43c3a) )
6886   ROM_LOAD( "5h.cpu",       0x0800, 0x0800, CRC(58c29927) SHA1(b88515d9c3108d2ad59f30fed5d74877b1636280) )
6887
6888   /* The conversion instructions do not mention color proms:                   */
6889   /* http://www.arcadeflyers.com/?page=flyer&db=videodb&id=5353&image=2        */
6890   /* However, pages may be missing. In addition, it is mentioned that the      */
6891   /* conversion kit may be used for Scramble, Amidar and Frogger as well.      */
6892   /* They all have different color proms. We use the prom from Super Cobra     */
6893   /* for now and mark it as bad dump until we have more information.           */
6894   ROM_REGION( 0x0020, "proms", 0 )
6895   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, BAD_DUMP CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6896ROM_END
6897
6898
6899/*************************************
6900 *
6901 *  Game drivers
6902 *  Galaxian-derived games
6903 *
6904 *************************************/
6905
6906/* basic galaxian hardware */
6907GAME( 1979, galaxian,   0,        galaxian, galaxian, galaxian_state, galaxian, ROT90,  "Namco", "Galaxian (Namco set 1)", GAME_SUPPORTS_SAVE )
6908GAME( 1979, galaxiana,  galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "Namco", "Galaxian (Namco set 2)", GAME_SUPPORTS_SAVE )
6909GAME( 1979, galaxianm,  galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90,  "Namco (Midway license)", "Galaxian (Midway set 1)", GAME_SUPPORTS_SAVE )
6910GAME( 1979, galaxianmo, galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90,  "Namco (Midway license)", "Galaxian (Midway set 2)", GAME_SUPPORTS_SAVE )
6911GAME( 1979, galaxiant,  galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "Namco (Taito license)", "Galaxian (Taito)", GAME_SUPPORTS_SAVE )
6912
6913/* straight Galaxian ripoffs on basic galaxian hardware */
6914GAME( 1979, moonaln,  galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "Namco / Nichibutsu (Karateco license?)", "Moon Alien", GAME_SUPPORTS_SAVE ) // or bootleg?
6915GAME( 1979, superg,   galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "hack", "Super Galaxians (galaxiana hack)", GAME_SUPPORTS_SAVE )
6916GAME( 1979, galturbo, galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "hack", "Galaxian Turbo (superg hack)", GAME_SUPPORTS_SAVE )
6917GAME( 1979, galapx,   galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "hack", "Galaxian Part X (moonaln hack)", GAME_SUPPORTS_SAVE )
6918GAME( 1979, galap1,   galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "hack", "Space Invaders Galactica (galaxiana hack)", GAME_SUPPORTS_SAVE )
6919GAME( 1979, galap4,   galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "hack (G.G.I)", "Galaxian Part 4 (hack)", GAME_SUPPORTS_SAVE )
6920GAME( 1979, swarm,    galaxian, galaxian, swarm, galaxian_state,    galaxian, ROT90,  "bootleg? (Subelectro)", "Swarm (bootleg?)", GAME_SUPPORTS_SAVE )
6921GAME( 1980, astrians, galaxian, galaxian, swarm,  galaxian_state,   galaxian, ROT90,  "bootleg (BGV Ltd.)", "Astrians (clone of Swarm)", GAME_SUPPORTS_SAVE )
6922GAME( 1979, zerotime, galaxian, galaxian, zerotime, galaxian_state, galaxian, ROT90,  "bootleg? (Petaco S.A.)", "Zero Time", GAME_SUPPORTS_SAVE )
6923GAME( 1979, starfght, galaxian, galaxian, swarm, galaxian_state,    galaxian, ROT90,  "bootleg (Jeutel)", "Star Fighter", GAME_SUPPORTS_SAVE )
6924GAME( 1979, galaxbsf, galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90,  "bootleg", "Galaxian (bootleg, set 1)", GAME_SUPPORTS_SAVE )
6925GAME( 1979, galaxianbl,galaxian,galaxian, galaxianbl,galaxian_state,galaxian, ROT90,  "bootleg", "Galaxian (bootleg, set 2)", GAME_SUPPORTS_SAVE )
6926GAME( 1980, supergx,  galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "Namco / Nichibutsu", "Super GX", GAME_NOT_WORKING | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
6927GAME( 19??, tst_galx, galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90,  "<unknown>", "Galaxian Test ROM", GAME_SUPPORTS_SAVE )
6928GAME( 1980, galaxrf,  galaxian, galaxian, galaxrf, galaxian_state,  galaxian, ROT90,  "bootleg (Recreativos Franco S.A.)", "Galaxian (Recreativos Franco S.A. Spanish bootleg)", GAME_SUPPORTS_SAVE )
6929
6930/* other games on basic galaxian hardware */
6931GAME( 1981, blkhole,  0,        galaxian, blkhole, galaxian_state,  galaxian, ROT90,  "TDS & MINTS", "Black Hole", GAME_SUPPORTS_SAVE )
6932GAME( 1982, orbitron, 0,        galaxian, orbitron, galaxian_state, galaxian, ROT270, "Signatron USA", "Orbitron", GAME_SUPPORTS_SAVE )
6933GAME( 1980, luctoday, 0,        galaxian, luctoday, galaxian_state, galaxian, ROT270, "Sigma", "Lucky Today",GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
6934GAME( 19??, chewing,  luctoday, galaxian, luctoday, galaxian_state, galaxian, ROT90,  "<unknown>", "Chewing Gum", GAME_SUPPORTS_SAVE )
6935GAME( 1982, catacomb, 0,        galaxian, catacomb, galaxian_state, galaxian, ROT90,  "MTM Games", "Catacomb", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
6936GAME( 19??, omega,    theend,   galaxian, omega, galaxian_state,    galaxian, ROT270, "bootleg?", "Omega", GAME_SUPPORTS_SAVE )
6937
6938/* these games require the coin lockout mechanism to be disabled */
6939GAME( 1981, warofbug, 0,        galaxian, warofbug, galaxian_state, nolock,   ROT90,  "Armenia / Food and Fun Corp", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze", GAME_SUPPORTS_SAVE )
6940GAME( 1981, warofbugu,warofbug, galaxian, warofbug, galaxian_state, nolock,   ROT90,  "Armenia / Super Video Games", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze (US)", GAME_SUPPORTS_SAVE )
6941GAME( 1981, warofbugg,warofbug, galaxian, warofbug, galaxian_state, nolock,   ROT90,  "Armenia", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze (German)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
6942GAME( 1981, redufo,   0,        galaxian, redufo, galaxian_state,   nolock,   ROT270, "Artic", "Defend the Terra Attack on the Red UFO", GAME_SUPPORTS_SAVE ) // is this the original?
6943GAME( 1981, redufob,  redufo,   galaxian, redufob, galaxian_state,  nolock,   ROT90,  "bootleg", "Defend the Terra Attack on the Red UFO (bootleg)", GAME_SUPPORTS_SAVE ) // rev A?
6944GAME( 19??, exodus,   redufo,   galaxian, redufo, galaxian_state,   nolock,   ROT90,  "bootleg? (Subelectro)", "Exodus (bootleg?)", GAME_SUPPORTS_SAVE )
6945GAME( 1983, tdpgal,   0,        galaxian, tdpgal, galaxian_state,   nolock,   ROT90,  "Design Labs / Thomas Automatics", "Triple Draw Poker", GAME_SUPPORTS_SAVE )
6946GAME( 1979, kamakazi3,galaxian, galaxian, superg, galaxian_state,   nolock,   ROT90,  "hack", "Kamakazi III (superg hack)", GAME_SUPPORTS_SAVE )
6947
6948/* different bullet color */
6949GAME( 1982, azurian,  0,        galaxian, azurian, galaxian_state,  azurian,  ROT90,  "Rait Electronics Ltd", "Azurian Attack", GAME_SUPPORTS_SAVE )
6950
6951/* extra characters controlled via bank at $6002 */
6952GAME( 19??, pisces,   0,        galaxian, pisces, galaxian_state,   pisces,   ROT90,  "Subelectro", "Pisces", GAME_SUPPORTS_SAVE )
6953GAME( 19??, piscesb,  pisces,   galaxian, piscesb, galaxian_state,  pisces,   ROT90,  "bootleg", "Pisces (bootleg)", GAME_SUPPORTS_SAVE )
6954GAME( 19??, omni,     pisces,   galaxian, piscesb, galaxian_state,  pisces,   ROT90,  "bootleg", "Omni", GAME_SUPPORTS_SAVE )
6955GAME( 1980, uniwars,  0,        galaxian, superg, galaxian_state,   pisces,   ROT90,  "Irem", "UniWar S", GAME_SUPPORTS_SAVE )
6956GAME( 1980, gteikoku, uniwars,  galaxian, superg, galaxian_state,   pisces,   ROT90,  "Irem", "Gingateikoku No Gyakushu", GAME_SUPPORTS_SAVE )
6957GAME( 1980, gteikokb, uniwars,  galaxian, gteikokb, galaxian_state, pisces,   ROT270, "bootleg", "Gingateikoku No Gyakushu (bootleg set 1)", GAME_SUPPORTS_SAVE )
6958GAME( 1980, gteikob2, uniwars,  galaxian, gteikob2, galaxian_state, pisces,   ROT90,  "bootleg", "Gingateikoku No Gyakushu (bootleg set 2)", GAME_SUPPORTS_SAVE )
6959GAME( 1980, spacbatt, uniwars,  galaxian, spacbatt, galaxian_state, pisces,   ROT90,  "bootleg", "Space Battle (bootleg set 1)", GAME_SUPPORTS_SAVE )
6960GAME( 1980, spacbat2, uniwars,  galaxian, spacbatt, galaxian_state, pisces,   ROT90,  "bootleg", "Space Battle (bootleg set 2)", GAME_SUPPORTS_SAVE )
6961GAME( 1980, spacempr, uniwars,  galaxian, spacbatt, galaxian_state, pisces,   ROT90,  "bootleg", "Space Empire (bootleg)", GAME_SUPPORTS_SAVE )
6962GAME( 1980, skyraidr, uniwars,  galaxian, superg, galaxian_state,   pisces,   ROT90,  "bootleg", "Sky Raider (Uniwars bootleg)", GAME_SUPPORTS_SAVE )
6963GAME( 1980, galemp,   uniwars,  galaxian, superg, galaxian_state,   pisces,   ROT90,  "bootleg (Taito do Brasil)", "Galaxy Empire (bootleg?)", GAME_SUPPORTS_SAVE ) // clearly a hack, but was it licensed?
6964GAME( 1980, asideral, uniwars,  galaxian, asideral, galaxian_state, pisces,   ROT90,  "bootleg (Electrogame S.A.)", "Ataque Sideral (Spanish bootleg of UniWar S)", GAME_SUPPORTS_SAVE )
6965GAME( 1980, pajaroes, uniwars,  galaxian, asideral, galaxian_state, pisces,   ROT90,  "bootleg (PSV S.A.)", "Pajaro del Espacio (Spanish bootleg of UniWar S)", GAME_SUPPORTS_SAVE ) // very similar to above
6966
6967
6968/* Artic Multi-System games - separate tile/sprite ROMs */
6969GAME( 1980, streakng, 0,        pacmanbl, streakng, galaxian_state, galaxian, ROT90,  "Shoei", "Streaking (set 1)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
6970GAME( 1980, streaknga,streakng, pacmanbl, streakng, galaxian_state, galaxian, ROT90,  "Shoei", "Streaking (set 2)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
6971GAME( 1981, pacmanbl, puckman,  pacmanbl, pacmanbl, galaxian_state, pacmanbl, ROT270, "bootleg", "Pac-Man (Galaxian hardware, set 1)", GAME_SUPPORTS_SAVE )
6972GAME( 1981, pacmanbla,puckman,  pacmanbl, pacmanbl, galaxian_state, pacmanbl, ROT270, "bootleg", "Pac-Man (Galaxian hardware, set 2)", GAME_SUPPORTS_SAVE )
6973GAME( 1981, ghostmun, puckman,  pacmanbl, streakng, galaxian_state, ghostmun, ROT90,  "bootleg (Leisure and Allied)", "Ghost Muncher", GAME_SUPPORTS_SAVE )
6974GAME( 1981, phoenxp2, phoenix,  galaxian, phoenxp2, galaxian_state, batman2,  ROT270, "bootleg", "Phoenix Part 2", GAME_SUPPORTS_SAVE )
6975GAME( 1981, batman2,  phoenix,  galaxian, batman2, galaxian_state,  batman2,  ROT270, "bootleg", "Batman Part 2", GAME_SUPPORTS_SAVE ) /* similar to pisces, but with different video banking characteristics */
6976GAME( 1981, atlantisb,atlantis, galaxian, atlantib, galaxian_state, galaxian, ROT270, "bootleg", "Battle of Atlantis (bootleg)", GAME_SUPPORTS_SAVE ) // I don't know if this should have a starfield...
6977GAME( 1982, tenspot,  0,        tenspot,  tenspot, galaxian_state,  tenspot,  ROT270, "Thomas Automatics", "Ten Spot", GAME_NOT_WORKING ) // work out how menu works
6978
6979/* separate tile/sprite ROMs, plus INT instead of NMI */
6980GAME( 1984, devilfsg, devilfsh, pacmanbl, devilfsg, galaxian_state, devilfsg, ROT270, "Vision / Artic", "Devil Fish (Galaxian hardware, bootleg?)", GAME_SUPPORTS_SAVE )
6981
6982/* sound hardware replaced with AY8910 */
6983GAME( 1982, zigzag,   0,        zigzag,   zigzag, galaxian_state,   zigzag,   ROT90,  "bootleg (LAX)", "Zig Zag (Galaxian hardware, set 1)", GAME_SUPPORTS_SAVE ) // maybe by Taito do Brasil?
6984GAME( 1982, zigzag2,  zigzag,   zigzag,   zigzag, galaxian_state,   zigzag,   ROT90,  "bootleg (LAX)", "Zig Zag (Galaxian hardware, set 2)", GAME_SUPPORTS_SAVE ) // "
6985
6986/* multi-game select via external switch */
6987GAME( 1981, gmgalax,  0,        gmgalax,  gmgalax, galaxian_state,  gmgalax,  ROT90,  "bootleg", "Ghostmuncher Galaxian (bootleg)", GAME_SUPPORTS_SAVE )
6988
6989
6990
6991
6992
6993/*************************************
6994 *
6995 *  Game drivers
6996 *  Moon Cresta-derived games
6997 *
6998 *************************************/
6999
7000/* based on Galaxian, but with altered address map for more ROM */
7001GAME( 1980, mooncrst,   0,        mooncrst, mooncrst, galaxian_state, mooncrst, ROT90,  "Nichibutsu", "Moon Cresta (Nichibutsu)", GAME_SUPPORTS_SAVE )
7002GAME( 1980, mooncrstuk, mooncrst, mooncrst, mooncrst, galaxian_state, mooncrst, ROT90,  "Nichibutsu UK", "Moon Cresta (Nichibutsu UK)", GAME_SUPPORTS_SAVE )
7003GAME( 1980, mooncrstuku,mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90,  "Nichibutsu UK", "Moon Cresta (Nichibutsu UK, unencrypted)", GAME_SUPPORTS_SAVE )
7004GAME( 1980, mooncrstu,  mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90,  "Nichibutsu USA", "Moon Cresta (Nichibutsu USA, unencrypted)", GAME_SUPPORTS_SAVE )
7005GAME( 1980, mooncrsto,  mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrst, ROT90,  "Nichibutsu", "Moon Cresta (Nichibutsu, old rev)", GAME_SUPPORTS_SAVE )
7006GAME( 1980, mooncrstg,  mooncrst, mooncrst, mooncrsg, galaxian_state, mooncrsu, ROT90,  "Nichibutsu (Gremlin license)", "Moon Cresta (Gremlin)", GAME_SUPPORTS_SAVE )
7007
7008/* straight Moon Cresta ripoffs on basic mooncrst hardware */
7009GAME( 1980, mooncrsb, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "bootleg", "Moon Cresta (bootleg set 1)", GAME_SUPPORTS_SAVE )
7010GAME( 1980, mooncrs2, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "bootleg", "Moon Cresta (bootleg set 2)", GAME_SUPPORTS_SAVE )
7011GAME( 1980, mooncrs3, mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90,  "bootleg (Jeutel)", "Moon Cresta (bootleg set 3)", GAME_SUPPORTS_SAVE ) /* Jeutel bootleg, similar to bootleg set 2 */
7012GAME( 1980, mooncrs4, mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90,  "bootleg (SG-Florence)", "Moon Crest (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
7013GAME( 1980, fantazia, mooncrst, mooncrst, fantazia, galaxian_state, mooncrsu, ROT90,  "bootleg? (Subelectro)", "Fantazia (bootleg?)", GAME_SUPPORTS_SAVE )
7014GAME( 1980, eagle,    mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "Nichibutsu (Centuri license)", "Eagle (set 1)", GAME_SUPPORTS_SAVE ) // or bootleg?
7015GAME( 1980, eagle2,   mooncrst, mooncrst, eagle2, galaxian_state,   mooncrsu, ROT90,  "Nichibutsu (Centuri license)", "Eagle (set 2)", GAME_SUPPORTS_SAVE ) // "
7016GAME( 1980, eagle3,   mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "Nichibutsu (Centuri license)", "Eagle (set 3)", GAME_SUPPORTS_SAVE ) // "
7017GAME( 1981?,spctbird, mooncrst, mooncrst, eagle2, galaxian_state,   mooncrsu, ROT90,  "bootleg? (Fortrek)", "Space Thunderbird", GAME_SUPPORTS_SAVE )
7018GAME( 1980?,smooncrs, mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90,  "Nichibutsu (Gremlin license)", "Super Moon Cresta", GAME_SUPPORTS_SAVE )
7019GAME( 1980?,mooncptc, mooncrst, mooncrst, mooncptc, galaxian_state, mooncrsu, ROT90,  "bootleg (Petaco S.A.)", "Moon Cresta (Petaco S.A. Spanish bootleg)", GAME_SUPPORTS_SAVE )
7020GAME( 1980?,sstarcrs, mooncrst, mooncrst, mooncrsg, galaxian_state, mooncrsu, ROT90,  "Nichibutsu (Taito do Brasil license)", "Super Star Crest", GAME_SUPPORTS_SAVE )
7021GAME( 198?, mooncmw,  mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "bootleg", "Moon War (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
7022GAME( 198?, starfgmc, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "bootleg (Samyra Engineering)", "Starfighter (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
7023// The boards were marked 'Space Dragon' although this doesn't appear in the games.
7024GAME( 1980, spcdrag,  mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90,  "bootleg", "Space Dragon (Moon Cresta bootleg, set 1)", GAME_SUPPORTS_SAVE )
7025GAME( 1980, spcdraga, mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90,  "bootleg", "Space Dragon (Moon Cresta bootleg, set 2)", GAME_SUPPORTS_SAVE )
7026GAME( 1980, mooncreg, mooncrst, mooncrst, mooncreg, galaxian_state, mooncrsu, ROT90,  "bootleg (Electrogame S.A.)", "Moon Cresta (Electrogame S.A. Spanish bootleg)", GAME_SUPPORTS_SAVE )
7027GAME( 1980, mooncrsl, mooncrst, mooncrst, mooncrsl, galaxian_state, mooncrsu, ROT90,  "bootleg (Laguna S.A.)", "Cresta Mundo (Laguna S.A. Spanish Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
7028GAME( 1980, stera,    mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90,  "bootleg", "Steraranger (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
7029GAME( 1980, mooncrgx, mooncrst, galaxian, mooncrgx, galaxian_state, mooncrgx, ROT270, "bootleg", "Moon Cresta (Galaxian hardware)", GAME_SUPPORTS_SAVE )
7030GAME( 1980, moonqsr,  0,        mooncrst, moonqsr, galaxian_state,  moonqsr,  ROT90,  "Nichibutsu", "Moon Quasar", GAME_SUPPORTS_SAVE )
7031GAME( 1980, moonal2,  galaxian, mooncrst, moonal2, galaxian_state,  galaxian, ROT90,  "Namco / Nichibutsu", "Moon Alien Part 2", GAME_SUPPORTS_SAVE )
7032GAME( 1980, moonal2b, galaxian, mooncrst, moonal2, galaxian_state,  galaxian, ROT90,  "Namco / Nichibutsu", "Moon Alien Part 2 (older version)", GAME_SUPPORTS_SAVE )
7033
7034/* larger romspace, interrupt enable moved */
7035GAME( 198?, thepitm,  thepit,   mooncrst, thepitm, galaxian_state,  thepitm,  ROT90,  "bootleg (KZH)", "The Pit (bootleg on Moon Quasar hardware)", GAME_SUPPORTS_SAVE ) // on an original MQ-2FJ pcb, even if the memory map appears closer to Moon Cresta
7036
7037
7038/* other games on basic mooncrst hardware */
7039GAME( 1982, skybase,  0,        mooncrst, skybase, galaxian_state,  skybase,  ROT90,  "Omori Electric Co., Ltd.", "Sky Base", GAME_SUPPORTS_SAVE )
7040GAME( 198?, kong,     0,        mooncrst, kong,    galaxian_state,  kong,     ROT90,  "Taito do Brasil", "Kong (Donkey Kong conversion on Galaxian hardware)", GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS ) // rewrite of Donkey Kong (!) not a clone
7041
7042/* larger romspace, 2*AY8910, based on Super Star Crest board? */
7043GAME( 198?, fantastc, 0,        fantastc, fantastc, galaxian_state, fantastc, ROT90,  "Taito do Brasil", "Fantastic (Galaga conversion on Galaxian hardware)", GAME_SUPPORTS_SAVE ) // rewrite of Galaga (!) not a clone
7044
7045/* like fantastc, plus larger spriteram, and maybe different bullet hw(?) */
7046GAME( 198?, timefgtr, 0,        timefgtr, timefgtr, galaxian_state, timefgtr, ROT90,  "Taito do Brasil", "Time Fighter (Time Pilot conversion on Galaxian hardware)", GAME_SUPPORTS_SAVE | GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS ) // rewrite of Time Pilot (!) not a clone
7047
7048/* extra ROMs, protection, and sound hardware replaced with AY8910 */
7049GAME( 1981, jumpbug,  0,        jumpbug,  jumpbug, galaxian_state,  jumpbug,  ROT90,  "Hoei (Rock-Ola license)", "Jump Bug", GAME_SUPPORTS_SAVE ) // or by Alpha Denshi Co. under contract from Hoei?
7050GAME( 1981, jumpbugb, jumpbug,  jumpbug,  jumpbug, galaxian_state,  jumpbug,  ROT90,  "bootleg", "Jump Bug (bootleg)", GAME_SUPPORTS_SAVE ) // bootleg of Sega license
7051GAME( 1983, levers,   0,        jumpbug,  levers, galaxian_state,   jumpbug,  ROT90,  "Rock-Ola", "Levers", GAME_SUPPORTS_SAVE )
7052
7053/* 2nd CPU driving AY8910 for sound */
7054GAME( 1982, checkman, 0,        checkman, checkman, galaxian_state, checkman, ROT90,  "Zilec-Zenitone", "Check Man", GAME_SUPPORTS_SAVE )
7055GAME( 1982, checkmanj,checkman, checkmaj, checkmaj, galaxian_state, checkmaj, ROT90,  "Zilec-Zenitone (Jaleco license)", "Check Man (Japan)", GAME_SUPPORTS_SAVE )
7056GAME( 1983, dingo,    0,        checkmaj, dingo, galaxian_state,    dingo,    ROT90,  "Ashby Computers and Graphics Ltd. (Jaleco license)", "Dingo", GAME_SUPPORTS_SAVE )
7057GAME( 1983, dingoe,   dingo,    checkman, dingo, galaxian_state,    dingoe,   ROT90,  "Ashby Computers and Graphics Ltd.", "Dingo (encrypted)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
7058
7059/* Crazy Climber sound plus AY8910 instead of galaxian sound, plus INT instead of NMI */
7060GAME( 1981, mshuttle,  0,        mshuttle, mshuttle, galaxian_state, mshuttle, ROT0,   "Nichibutsu", "Moon Shuttle (US? set 1)", GAME_SUPPORTS_SAVE )
7061GAME( 1981, mshuttle2, mshuttle, mshuttle, mshuttle, galaxian_state, mshuttle, ROT0,   "Nichibutsu", "Moon Shuttle (US? set 2)", GAME_SUPPORTS_SAVE )
7062GAME( 1981, mshuttlej, mshuttle, mshuttle, mshuttle, galaxian_state, mshuttlj, ROT0,   "Nichibutsu", "Moon Shuttle (Japan set 1)", GAME_SUPPORTS_SAVE )
7063GAME( 1981, mshuttlej2,mshuttle, mshuttle, mshuttle, galaxian_state, mshuttlj, ROT0,   "Nichibutsu", "Moon Shuttle (Japan set 2)", GAME_SUPPORTS_SAVE )
7064
7065/* 2nd CPU driving DAC for sound */
7066GAME( 1980, kingball, 0,        kingball, kingball, galaxian_state, kingball, ROT90,  "Namco", "King & Balloon (US)", GAME_SUPPORTS_SAVE )
7067GAME( 1980, kingballj,kingball, kingball, kingball, galaxian_state, kingball, ROT90,  "Namco", "King & Balloon (Japan)", GAME_SUPPORTS_SAVE )
7068
7069
7070
7071/*************************************
7072 *
7073 *  Game drivers
7074 *  Konami games
7075 *
7076 *************************************/
7077
7078/* Frogger based hardware: 2nd Z80, AY-8910A, 2 8255 PPI for I/O, custom background */
7079GAME( 1981, frogger,  0,        frogger,  frogger, galaxian_state,  frogger,  ROT90,  "Konami", "Frogger", GAME_SUPPORTS_SAVE )
7080GAME( 1981, froggers1,frogger,  frogger,  frogger, galaxian_state,  frogger,  ROT90,  "Konami (Sega license)", "Frogger (Sega set 1)", GAME_SUPPORTS_SAVE )
7081GAME( 1981, froggers2,frogger,  frogger,  frogger, galaxian_state,  frogger,  ROT90,  "Konami (Sega license)", "Frogger (Sega set 2)", GAME_SUPPORTS_SAVE )
7082GAME( 1981, froggermc,frogger,  froggrmc, froggrmc, galaxian_state, froggrmc, ROT90,  "Konami (Sega license)", "Frogger (Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
7083GAME( 1981, froggers, frogger,  froggers, frogger, galaxian_state,  froggers, ROT90,  "bootleg", "Frog", GAME_SUPPORTS_SAVE )
7084GAME( 1981, frogf,    frogger,  frogf,    frogger, galaxian_state,  froggers, ROT90,  "bootleg (Falcon)", "Frog (Falcon bootleg)", GAME_SUPPORTS_SAVE )
7085GAME( 1981, frogg,    frogger,  galaxian, frogg, galaxian_state,    frogg,    ROT90,  "bootleg", "Frog (Galaxian hardware)", GAME_SUPPORTS_SAVE )
7086GAME( 1981, froggrs,  frogger,  froggers, frogger,  galaxian_state, froggrs,  ROT90,  "bootleg (Coin Music)", "Frogger (Scramble hardware)", GAME_SUPPORTS_SAVE )
7087
7088
7089/*
7090    Turtles based hardware
7091
7092    CPU/Video Board: KT-4108-2
7093    Sound Board:     KT-4108-1
7094*/
7095GAME( 1981, turtles,  0,        turtles,  turtles, galaxian_state,  turtles,  ROT90,  "Konami (Stern Electronics license)", "Turtles", GAME_SUPPORTS_SAVE )
7096GAME( 1981, turpin,   turtles,  turtles,  turpin, galaxian_state,   turtles,  ROT90,  "Konami (Sega license)", "Turpin", GAME_SUPPORTS_SAVE )
7097GAME( 1981, 600,      turtles,  turtles,  turtles, galaxian_state,  turtles,  ROT90,  "Konami", "600", GAME_SUPPORTS_SAVE )
7098
7099GAME( 1982, amidar,   0,        turtles,  amidaru, galaxian_state,  turtles,  ROT90,  "Konami", "Amidar", GAME_SUPPORTS_SAVE )
7100GAME( 1981, amidar1,  amidar,   turtles,  amidar, galaxian_state,   turtles,  ROT90,  "Konami", "Amidar (older)", GAME_SUPPORTS_SAVE )
7101GAME( 1982, amidaru,  amidar,   turtles,  amidaru, galaxian_state,  turtles,  ROT90,  "Konami (Stern Electronics license)", "Amidar (Stern Electronics)", GAME_SUPPORTS_SAVE )
7102GAME( 1982, amidaro,  amidar,   turtles,  amidaro, galaxian_state,  turtles,  ROT90,  "Konami (Olympia license)", "Amidar (Olympia)", GAME_SUPPORTS_SAVE )
7103GAME( 1982, amidarb,  amidar,   turtles,  amidaru, galaxian_state,  turtles,  ROT90,  "bootleg", "Amidar (bootleg)", GAME_SUPPORTS_SAVE ) /* similar to Amigo bootleg */
7104GAME( 1982, amigo,    amidar,   turtles,  amidaru, galaxian_state,  turtles,  ROT90,  "bootleg", "Amigo", GAME_SUPPORTS_SAVE )
7105GAME( 1982, amidars,  amidar,   scramble, amidars, galaxian_state,  scramble, ROT90,  "Konami", "Amidar (Scramble hardware)", GAME_SUPPORTS_SAVE )
7106
7107
7108/* The End/Scramble based hardware */
7109GAME( 1980, theend,   0,        theend,   theend, galaxian_state,   theend,   ROT90,  "Konami", "The End", GAME_SUPPORTS_SAVE )
7110GAME( 1980, theends,  theend,   theend,   theend, galaxian_state,   theend,   ROT90,  "Konami (Stern Electronics license)", "The End (Stern Electronics)", GAME_SUPPORTS_SAVE )
7111GAME( 1980, theendb,  theend,   theend,   theend, galaxian_state,   theend,   ROT90,  "bootleg?", "The End (bootleg?)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
7112
7113GAME( 1981, scramble, 0,        scramble, scramble, galaxian_state, scramble, ROT90,  "Konami", "Scramble", GAME_SUPPORTS_SAVE )
7114GAME( 1981, scrambles,scramble, scramble, scramble, galaxian_state, scramble, ROT90,  "Konami (Stern Electronics license)", "Scramble (Stern Electronics set 1)", GAME_SUPPORTS_SAVE )
7115GAME( 1981, scrambles2,scramble,scramble, scramble, galaxian_state, scramble, ROT90,  "Konami (Stern Electronics license)", "Scramble (Stern Electronics set 2)", GAME_SUPPORTS_SAVE )
7116GAME( 1981, strfbomb, scramble, scramble, strfbomb, galaxian_state, scramble, ROT90,  "bootleg (Omni)",                     "Strafe Bomb (bootleg of Scramble)", GAME_SUPPORTS_SAVE )
7117GAME( 1981, explorer, scramble, explorer, explorer, galaxian_state, explorer, ROT90,  "bootleg",                            "Explorer (bootleg of Scramble)", GAME_SUPPORTS_SAVE )
7118GAME( 1981, scramblebf,scramble,scramble, scramble, galaxian_state, scramble, ROT90,  "bootleg (Karateko)",                 "Scramble (Karateko, French bootleg)", GAME_SUPPORTS_SAVE )
7119GAME( 1981, scrambp,   scramble,scramble, scramble, galaxian_state, scramble, ROT90,  "bootleg (Billport S.A.)",            "Impacto (Billport S.A., Spanish bootleg of Scramble)", GAME_SUPPORTS_SAVE ) // similar to the Karateko set above
7120GAME( 1981, scrampt,   scramble,scramble, scramble, galaxian_state, scramble, ROT90,  "bootleg (Petaco S.A.)",              "Scramble (Petaco S.A., Spanish bootleg)", GAME_SUPPORTS_SAVE ) // ^^
7121
7122
7123
7124GAME( 1981, scramblebb,scramble,scramble, scramble, galaxian_state, scramble, ROT90,  "bootleg?", "Scramble (bootleg?)", GAME_SUPPORTS_SAVE )
7125GAME( 198?, bomber,   scramble, scramble, scramble, galaxian_state, scramble, ROT90,  "bootleg (Alca)", "Bomber (bootleg of Scramble)", GAME_SUPPORTS_SAVE )
7126
7127GAME( 1981, atlantis, 0,        theend,   atlantis, galaxian_state, atlantis, ROT90,  "Comsoft", "Battle of Atlantis (set 1)", GAME_SUPPORTS_SAVE )
7128GAME( 1981, atlantis2,atlantis, theend,   atlantis, galaxian_state, atlantis, ROT90,  "Comsoft", "Battle of Atlantis (set 2)", GAME_SUPPORTS_SAVE )
7129
7130/* Scorpion hardware; based on Scramble but with a 3rd AY-8910 and a speech chip */
7131GAME( 1982, scorpion, 0,        scorpion, scorpion, galaxian_state, scorpion, ROT90,  "Zaccaria", "Scorpion (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
7132GAME( 1982, scorpiona,scorpion, scorpion, scorpion, galaxian_state, scorpion, ROT90,  "Zaccaria", "Scorpion (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
7133GAME( 1982, scorpionb,scorpion, scorpion, scorpion, galaxian_state, scorpion, ROT90,  "Zaccaria", "Scorpion (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
7134GAME( 19??, scorpionmc,scorpion,mooncrst, scorpnmc, galaxian_state, scorpnmc, ROT90,  "bootleg? (Dorneer)", "Scorpion (Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
7135GAME( 19??, aracnis,   scorpion,mooncrst, aracnis, galaxian_state,  scorpnmc, ROT90,  "bootleg",  "Aracnis (bootleg of Scorpion on Moon Cresta hardware)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
7136
7137/* SF-X hardware; based on Scramble with extra Z80 and 8255 driving a DAC-based sample player */
7138GAME( 1983, sfx,      0,        sfx,      sfx, galaxian_state,      sfx,      ORIENTATION_FLIP_X, "Nichibutsu", "SF-X", GAME_SUPPORTS_SAVE )
7139GAME( 1983, skelagon, sfx,      sfx,      sfx, galaxian_state,      sfx,      ORIENTATION_FLIP_X, "Nichibutsu USA", "Skelagon", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
7140GAME( 1982, monsterz, 0,        monsterz, sfx, galaxian_state,      sfx,      ORIENTATION_FLIP_X, "Nihon Game", "Monster Zero", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
7141
7142
7143/*
7144    Super Cobra
7145
7146    CPU/Video Board: A969
7147    Sound Board:     A970
7148*/
7149GAME( 1981, scobra,    0,        scobra,   scobra, galaxian_state,    scobra,   ROT90,  "Konami", "Super Cobra", GAME_SUPPORTS_SAVE )
7150GAME( 1981, scobrase,  scobra,   scobra,   scobra, galaxian_state,    scobra,   ROT90,  "Konami (Sega license)", "Super Cobra (Sega)", GAME_SUPPORTS_SAVE )
7151GAME( 1981, scobras,   scobra,   scobra,   scobras, galaxian_state,   scobra,   ROT90,  "Konami (Stern Electronics license)", "Super Cobra (Stern Electronics)", GAME_SUPPORTS_SAVE )
7152GAME( 1981, scobrab,   scobra,   scobra,   scobras, galaxian_state,   scobra,   ROT90,  "bootleg", "Super Cobra (bootleg)", GAME_SUPPORTS_SAVE )
7153GAME( 1981, suprheli,  scobra,   scobra,   scobras, galaxian_state,   scobra,   ROT90,  "bootleg", "Super Heli (Super Cobra bootleg)", GAME_SUPPORTS_SAVE )
7154
7155GAME( 1981, moonwar,   0,        moonwar,  moonwar, galaxian_state,   moonwar,  ROT90,  "Stern Electronics", "Moonwar", GAME_SUPPORTS_SAVE )
7156GAME( 1981, moonwara,  moonwar,  moonwar,  moonwara, galaxian_state,  moonwar,  ROT90,  "Stern Electronics", "Moonwar (older)", GAME_SUPPORTS_SAVE )
7157
7158GAME( 1981, armorcar,  0,        scobra,   armorcar, galaxian_state,  scobra,   ROT90,  "Stern Electronics", "Armored Car (set 1)", GAME_SUPPORTS_SAVE )
7159GAME( 1981, armorcar2, armorcar, scobra,   armorcar2, galaxian_state, scobra,   ROT90,  "Stern Electronics", "Armored Car (set 2)", GAME_SUPPORTS_SAVE )
7160
7161GAME( 1982, tazmania,  0,        scobra,   tazmania, galaxian_state,  scobra,   ROT90,  "Stern Electronics", "Tazz-Mania (set 1)", GAME_SUPPORTS_SAVE )
7162
7163/*
7164    Anteater (sold as conversion kit)
7165
7166    CPU/Video Board: A969 (Has various wire mods)
7167    Sound Board:     A970
7168*/
7169GAME( 1982, anteater,  0,        anteater,  anteater, galaxian_state,  anteater,  ROT90,  "Tago Electronics", "Anteater", GAME_SUPPORTS_SAVE )
7170GAME( 1982, anteateruk,anteater, anteateruk,anteateruk, galaxian_state,anteateruk,ROT90,  "Tago Electronics (Free Enterprise Games license", "The Anteater (UK)", GAME_SUPPORTS_SAVE ) // distributed in 1983
7171GAME( 1982, anteaterg, anteater, anteaterg, anteateruk, galaxian_state,anteateruk,ROT90,  "Tago Electronics (TV-Tuning license from Free Enterprise Games)", "Ameisenbaer (German)", GAME_SUPPORTS_SAVE )
7172
7173GAME( 1982, calipso,   0,        scobra,    calipso, galaxian_state,   calipso,   ROT90,  "Tago Electronics", "Calipso",  GAME_SUPPORTS_SAVE )
7174
7175/*
7176    Lost Tomb
7177
7178    CPU/Video Board: A969 (Has various wire mods)
7179    Sound Board:     A2048
7180*/
7181GAME( 1982, losttomb,  0,        scobra,   losttomb, galaxian_state,  losttomb, ROT90,  "Stern Electronics", "Lost Tomb (easy)", GAME_SUPPORTS_SAVE )
7182GAME( 1982, losttombh, losttomb, scobra,   losttomb, galaxian_state,  losttomb, ROT90,  "Stern Electronics", "Lost Tomb (hard)", GAME_SUPPORTS_SAVE )
7183
7184GAME( 1984, spdcoin,   0,        scobra,   spdcoin, galaxian_state,   scobra,   ROT90,  "Stern Electronics", "Speed Coin (prototype)", GAME_SUPPORTS_SAVE )
7185
7186GAME( 1985, superbon,  0,        scobra,   superbon, galaxian_state,  superbon, ROT90,  "Signatron USA", "Agent Super Bond (Super Cobra conversion)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
7187
7188
7189
7190/* currently in galaxold.c and should be moved here */
7191//GAME( 1981, 4in1,     0,        4in1,     4in1, galaxian_state,     4in1,     ROT90,  "Armenia / Food and Fun", "4 Fun in 1", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
7192//GAME( 1982, bagmanmc, bagman,   bagmanmc, bagmanmc, galaxian_state, galaxian, ROT90,  "bootleg", "Bagman (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
7193//GAME( 1982, dkongjrm, dkongjr,  dkongjrm, dkongjrm, galaxian_state, galaxian, ROT90,  "bootleg", "Donkey Kong Jr. (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
7194//GAME( 1981, rockclim, 0,        rockclim, rockclim, galaxian_state, galaxian, ROT180, "Taito", "Rock Climber", GAME_SUPPORTS_SAVE )
7195//GAME( 1983, ozon1,    0,        ozon1,    ozon1, galaxold_state,    galaxian, ROT90,  "Proma", "Ozon I", GAME_SUPPORTS_SAVE )
7196//GAME( 1983, ladybugg, ladybug,  galaxian/*batman2*/,  ladybugg, XXX_CLASS, ladybugg, ROT270, "bootleg", "Lady Bug (bootleg on Galaxian hardware)", GAME_SUPPORTS_SAVE )
7197//GAME( 1980, vpool,    hustler,  mooncrst, vpool, galaxian_state,    galaxian, ROT90,  "bootleg", "Video Pool (bootleg on Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
7198//GAME( 1984, drivfrcg, drivfrcp, drivfrcg, drivfrcg, galaxold_state, galaxian, ROT90,  "Shinkai Inc. (Magic Electronics USA license)", "Driving Force (Galaxian conversion)", GAME_SUPPORTS_SAVE )
7199//GAME( 1985, drivfrcb, drivfrcp, drivfrcg, drivfrcg, galaxold_state, galaxian, ROT90,  "bootleg", "Driving Force (Galaxian conversion bootleg)", GAME_SUPPORTS_SAVE )
7200//GAME( 1983, bongo,    0,        bongo,    bongo, galaxold_state,    galaxian, ROT90,  "Jetsoft", "Bongo", GAME_SUPPORTS_SAVE )
7201//GAME( 1983, hunchbkg, hunchbak,   hunchbkg, hunchbkg, galaxold_state, galaxian, ROT90,  "Century Electronics", "Hunchback (Galaxian hardware)", GAME_SUPPORTS_SAVE )
7202//GAME( 1983, harem,    0,        harem,    harem, galaxold_state,    galaxian, ROT90,  "I.G.R.", "Harem", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
7203//GAME( 1982, tazzmang, tazmania,   tazzmang, tazzmang, galaxian_state, galaxian, ROT90,  "bootleg", "Tazz-Mania (Galaxian Hardware)", GAME_SUPPORTS_SAVE )
7204//GAME( 1986, racknrol, 0,        racknrol, racknrol, galaxold_state, galaxian, ROT0,   "Status (Shinkai license)", "Rack + Roll", GAME_SUPPORTS_SAVE )
7205//GAME( 1986, hexpool,  racknrol, racknrol, racknrol, galaxold_state, galaxian, ROT90,  "Shinkai", "Hex Pool (Shinkai)", GAME_SUPPORTS_SAVE )
7206//GAME( 1985, hexpoola, racknrol, hexpoola, racknrol, galaxold_state, galaxian, ROT90,  "Senko", "Hex Pool (Senko)", GAME_SUPPORTS_SAVE )
7207//GAME( 1985, trvchlng, 0,        racknrol, trvchlng, galaxold_state, galaxian, ROT90,  "Joyland (Senko license)", "Trivia Challenge", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
7208//GAME( 1981, ckongg,   0,        ckongg  , ckongg, galaxian_state,   galaxian, ROT90,  "bootleg", "Crazy Kong (galaxian)", GAME_SUPPORTS_SAVE )
7209//GAME( 1981, kkgalax,  ckongg,   ckongg  , ckongg, galaxian_state,   galaxian, ROT90,  "bootleg", "Crazy Kong (bootleg on Galaxian hardware, set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // set was marked as 'King Kong on Galaxian'
7210//GAME( 19??, porter,   0,        mooncrst, porter, galaxian_state,   mooncrst, ROT90,  "bootleg", "Port Man (bootleg on Moon Cresta hardware)", GAME_IMPERFECT_GRAPHICS ) // missing GFX bank switch!
7211
7212/* currently in scramble.c and should be moved here */
7213//GAME( 1982, triplep,  0,        theend  /*triplep*/,  triplep, XXX_CLASS,  scramble_ppi, ROT90, "KKI", "Triple Punch", GAME_SUPPORTS_SAVE )
7214//GAME( 1982, knockout, triplep,  theend  /*triplep*/,  triplep, XXX_CLASS,  scramble_ppi, ROT90, "KKK", "Knock Out!!", GAME_SUPPORTS_SAVE )
7215//GAME( 1981, mariner,  0,        theend  /*mariner*/,  scramble, XXX_CLASS, mariner,      ROT90, "Amenip", "Mariner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
7216//GAME( 1981, 800fath,  mariner,  theend  /*mariner*/,  scramble, XXX_CLASS, mariner,      ROT90, "Amenip (US Billiards Inc. license)", "800 Fathoms", GAME_SUPPORTS_SAVE )
7217//GAME( 1981, ckongs,   ckong,    theend  /*ckongs*/,   ckongs, XXX_CLASS,   ckongs,       ROT90, "bootleg", "Crazy Kong (Scramble hardware)", GAME_SUPPORTS_SAVE )
7218//GAME( 1981, mars,     0,        theend  /*mars*/,     mars, XXX_CLASS,     mars,         ROT90, "Artic", "Mars", GAME_SUPPORTS_SAVE )
7219//GAME( 1982, devilfsh, 0,        theend  /*devilfsh*/, devilfsh, XXX_CLASS, devilfsh,     ROT90, "Artic", "Devil Fish", GAME_SUPPORTS_SAVE )
7220//GAME( 1983, newsin7,  0,        theend  /*newsin7*/,  newsin7, XXX_CLASS,  mars,         ROT90, "ATW USA, Inc.", "New Sinbad 7", GAME_SUPPORTS_SAVE )
7221//GAME( 1984, mrkougar, 0,        theend  /*mrkougar*/, mrkougar, XXX_CLASS, mrkougar,     ROT90, "ATW", "Mr. Kougar", GAME_SUPPORTS_SAVE )
7222//GAME( 1983, mrkougr2, mrkougar, theend  /*mrkougar*/, mrkougar, XXX_CLASS, mrkougar,     ROT90, "ATW", "Mr. Kougar (earlier)", GAME_SUPPORTS_SAVE )
7223//GAME( 1983, mrkougb,  mrkougar, theend  /*mrkougb*/,  mrkougar, XXX_CLASS, mrkougb,      ROT90, "bootleg", "Mr. Kougar (bootleg set 1)", GAME_SUPPORTS_SAVE )
7224//GAME( 1983, mrkougb2, mrkougar, theend  /*mrkougb*/,  mrkougar, XXX_CLASS, mrkougb,      ROT90, "bootleg", "Mr. Kougar (bootleg set 2)", GAME_SUPPORTS_SAVE )
7225//GAME( 1982, hotshock, 0,        theend  /*hotshock*/, hotshock, XXX_CLASS, hotshock,     ROT90, "E.G. Felaco", "Hot Shocker", GAME_SUPPORTS_SAVE )
7226//GAME( 1982, conquer,  0,        theend  /*hotshock*/, hotshock, driver_device, 0,            ROT90, "<unknown>", "Conquer", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
7227//GAME( 1983, hunchbks, hunchbak, theend  /*hunchbks*/, hunchbks, XXX_CLASS, scramble_ppi, ROT90, "Century Electronics", "Hunchback (Scramble hardware)", GAME_SUPPORTS_SAVE )
7228//GAME( 1984, hncholms, huncholy, theend  /*hncholms*/, hncholms, XXX_CLASS, scramble_ppi, ROT90, "Century Electronics", "Hunchback Olympic (Scramble hardware)", GAME_SUPPORTS_SAVE )
7229//GAME( 1983, cavelon,  0,        theend  /*cavelon*/,  cavelon, XXX_CLASS,  cavelon,      ROT90, "Jetsoft", "Cavelon", GAME_SUPPORTS_SAVE )
7230//GAME( 1982, mimonscr, mimonkey, theend  /*mimonscr*/, mimonscr, XXX_CLASS, mimonscr,     ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", GAME_SUPPORTS_SAVE )
7231//GAME( 1983, ad2083,   0,        theend  /*ad2083*/,   ad2083, XXX_CLASS,   ad2083,       ROT90, "Midcoin", "A. D. 2083", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
7232//GAME( 1981, turpins,  turtles,  turtles,  turpins, driver_device,  0,              ROT90, "bootleg", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet
7233
7234/* currently in scobra.c and should be moved here */
7235//GAME( 1981, stratgyx, 0,        scobra/*stratgyx*/, stratgyx, XXX_CLASS, stratgyx,     ROT0,   "Konami", "Strategy X", GAME_SUPPORTS_SAVE )
7236//GAME( 1981, stratgys, stratgyx, scobra/*stratgyx*/, stratgyx, XXX_CLASS, stratgyx,     ROT0,   "Konami (Stern Electronics license)", "Strategy X (Stern Electronics)", GAME_SUPPORTS_SAVE )
7237//GAME( 1982, darkplnt, 0,        scobra/*darkplnt*/, darkplnt, XXX_CLASS, darkplnt,     ROT180, "Stern Electronics", "Dark Planet", GAME_SUPPORTS_SAVE )
7238//GAME( 1982, tazmani2, tazmania, scobra/*type2*/,    tazmania, XXX_CLASS, tazmani2,     ROT90,  "Stern Electronics", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE )
7239//GAME( 1982, rescue,   0,        scobra/*rescue*/,   rescue, XXX_CLASS,   rescue,       ROT90,  "Stern Electronics", "Rescue", GAME_SUPPORTS_SAVE )
7240//GAME( 1982, aponow,   rescue,   scobra/*rescue*/,   rescue, XXX_CLASS,   rescue,       ROT90,  "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE )
7241//GAME( 1983, minefld,  0,        scobra/*minefld*/,  minefld, XXX_CLASS,  minefld,      ROT90,  "Stern Electronics", "Minefield", GAME_SUPPORTS_SAVE )
7242//GAME( 1981, hustler,  0,        scobra/*hustler*/,  hustler, XXX_CLASS,  hustler,      ROT90,  "Konami", "Video Hustler", GAME_SUPPORTS_SAVE )
7243//GAME( 1981, billiard, hustler,  scobra/*hustler*/,  hustler, XXX_CLASS,  billiard,     ROT90,  "bootleg", "The Billiards", GAME_SUPPORTS_SAVE )
7244//GAME( 1981, hustlerb, hustler,  scobra/*hustlerb*/, hustler, XXX_CLASS,  scramble_ppi, ROT90,  "bootleg", "Video Hustler (bootleg)", GAME_SUPPORTS_SAVE )
7245//GAME( 1982, mimonkey, 0,        scobra/*mimonkey*/, mimonkey, XXX_CLASS, mimonkey,     ROT90,  "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE )
7246//GAME( 1982, mimonsco, mimonkey, scobra/*mimonkey*/, mimonsco, XXX_CLASS, mimonsco,     ROT90,  "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE )
7247
7248/* currently in dambustr.c and should be moved here */
7249//GAME( 1981, dambustr,   0,        dambustr, dambustr, dambustr_state,   dambustr, ROT90, "South West Research", "Dambusters (US, set 1)", 0 )
7250//GAME( 1981, dambustra,  dambustr, dambustr, dambustr, dambustr_state,   dambustr, ROT90, "South West Research", "Dambusters (US, set 2)", 0 )
7251//GAME( 1981, dambustruk, dambustr, dambustr, dambustruk, dambustr_state, dambustr, ROT90, "South West Research", "Dambusters (UK)", 0 )
7252
7253/* misc stuff that should eventually be moved here */
7254//GAME( 1981, scramblb, scramble, scramblb, scramblb, galaxian_state, galaxian, ROT90,  "bootleg", "Scramble (Galaxian hardware)", GAME_SUPPORTS_SAVE )
7255//GAME( 1981, scramb2,  scramble, scramb2,  scramb2, driver_device,  0,        ROT90,  "bootleg", "Scramble (bootleg)", GAME_SUPPORTS_SAVE )
trunk/src/mame/drivers/neodrvr.c
r23775r23776
1/****************************************************************************
2
3    neodrvr.c
4
5    Neo-Geo hardware
6    This file contains all game specific overrides
7
8****************************************************************************/
9
10
11/****************************************************************************
12
13    Title catalog
14    (source: http://neogeomuseum.snkplaymore.co.jp/english/catalogue/index.php)
15
16*****************************************************************************
17
18
19    In 2010, SNK Playmore, the successor of SNK, released a title catalogue which lists the released
20    games (MVS/AES/CD) including their release dates in Japan. It is not 100% complete.
21    The included title catalogue is the english one.
22
23    Game Title                                                  Genre           Publisher       Date Released (in Japan)
24    =================================================================================================================================
25    NAM-1975                                                    3D Action       SNK             MVS Cartridge:1990/04/26
26                                                                                                NEOGEO ROM-cart:1991/07/01
27                                                                                                NEOGEO CD:1994/09/09
28    MAHJONG KYORETSUDEN                                         Mahjong         SNK             MVS Cartridge:1990/04/26
29                                                                                                NEOGEO ROM-cart:1991/07/01
30                                                                                                NEOGEO CD:1994/09/09
31    MAGICIAN LORD                                               Action          ADK             MVS Cartridge:1990/04/26
32                                                                                                NEOGEO ROM-cart:1991/07/01
33                                                                                                NEOGEO CD:1994/10/31
34    BASEBALL STARS PROFESSIONAL                                 Sports          SNK             MVS Cartridge:1990/04/26
35                                                                                                NEOGEO ROM-cart:1991/07/01
36                                                                                                NEOGEO CD:1995/04/21
37    TOP PLAYER'S GOLF                                           Sports          SNK             MVS Cartridge:1990/05/23
38                                                                                                NEOGEO ROM-cart:1991/07/01
39                                                                                                NEOGEO CD:1994/09/09
40    NINJA COMBAT                                                Action          ADK             MVS Cartridge:1990/07/24
41                                                                                                NEOGEO ROM-cart:1991/07/01
42                                                                                                NEOGEO CD:1994/10/31
43    RIDING HERO                                                 3D Racing       SNK             MVS Cartridge:1990/07/24
44                                                                                                NEOGEO ROM-cart:1991/07/01
45                                                                                                NEOGEO CD:1995/05/26
46    THE SUPER SPY                                               3D Action       SNK             MVS Cartridge:1990/10/08
47                                                                                                NEOGEO ROM-cart:1991/07/01
48                                                                                                NEOGEO CD:1994/09/09
49    CYBER-LIP                                                   Action          SNK             MVS Cartridge:1990/11/07
50                                                                                                NEOGEO ROM-cart:1991/07/01
51                                                                                                NEOGEO CD:1995/04/21
52    PUZZLED                                                     Puzzle          SNK             MVS Cartridge:1990/11/20
53                                                                                                NEOGEO ROM-cart:1991/07/01
54                                                                                                NEOGEO CD:1994/09/09
55    LEAGUE BOWLING                                              Sports          SNK             MVS Cartridge:1990/12/10
56                                                                                                NEOGEO ROM-cart:1991/07/01
57                                                                                                NEOGEO CD:1994/09/09
58    GHOST PILOTS                                                Shooter         SNK             MVS Cartridge:1991/01/25
59                                                                                                NEOGEO ROM-cart:1991/07/01
60                                                                                                NEOGEO CD:1995/03/17
61    SENGOKU                                                     Action          SNK             MVS Cartridge:1991/02/12
62                                                                                                NEOGEO ROM-cart:1991/07/01
63                                                                                                NEOGEO CD:1995/03/17
64    KING OF THE MONSTERS                                        Fighting        SNK             MVS Cartridge:1991/02/25
65                                                                                                NEOGEO ROM-cart:1991/07/01
66    BLUE'S JOURNEY                                              Action          ADK             MVS Cartridge:1991/03/14
67                                                                                                NEOGEO ROM-cart:1991/07/01
68                                                                                                NEOGEO CD:1994/10/31
69    ALPHA MISSION II                                            Shooter         SNK             MVS Cartridge:1991/03/25
70                                                                                                NEOGEO ROM-cart:1991/07/01
71                                                                                                NEOGEO CD:1994/09/09
72    BURNING FIGHT                                               Action          SNK             MVS Cartridge:1991/05/20
73                                                                                                NEOGEO ROM-cart:1991/08/09
74                                                                                                NEOGEO CD:1994/09/09
75    MINNASAN NO OKAGESAMA DESU                                  Table           Monolith        MVS Cartridge:1991/07/25
76                                                                                                NEOGEO ROM-cart:1991/07/21
77    CROSSED SWORDS                                              Action          ADK             MVS Cartridge:1991/07/25
78                                                                                                NEOGEO ROM-cart:1991/10/01
79                                                                                                NEOGEO CD:1994/10/31
80    LEGEND OF SUCCESS JOE                                       Action          Wave            MVS Cartridge:1991/07
81                                                                                                NEOGEO ROM-cart:1991/08/30
82    QUIZ DAISUSA SEN: THE LAST COUNT DOWN                       Quiz            SNK             MVS Cartridge:1991/07
83                                                                                                NEOGEO ROM-cart:1991/08/30
84    SUPER BASEBALL 2020                                         Sports          SNK             MVS Cartridge:1991/09/20
85                                                                                                NEOGEO ROM-cart:1991/10/25
86                                                                                                NEOGEO CD:1995/02/25
87    ROBO ARMY                                                   Action          SNK             MVS Cartridge:1991/10/30
88                                                                                                NEOGEO ROM-cart:1991/12/20
89                                                                                                NEOGEO CD:1995/04/21
90    THRASH RALLY                                                Racing          ADK             MVS Cartridge:1991/11/08
91                                                                                                NEOGEO ROM-cart:1991/12/20
92                                                                                                NEOGEO CD:1994/10/31
93    EIGHT MAN                                                   Action          SNK             NEOGEO ROM-cart:1991/11/20
94    FATAL FURY                                                  Fighting        SNK             MVS Cartridge:1991/11/25
95                                                                                                NEOGEO ROM-cart:1991/12/20
96                                                                                                NEOGEO CD:1994/09/09
97    BAKATONO-SAMA MAHJONG MAN'YUKI                              Mahjong         Monolith        MVS Cartridge:1991/11
98                                                                                                NEOGEO ROM-cart:1991/12/13
99    THRASH RALLY                                                Racing          ADK             NEOGEO ROM-cart:1991/12/20
100    FOOTBALL FRENZY                                             Sports          SNK             MVS Cartridge:1992/01/31
101                                                                                                NEOGEO ROM-cart:1992/02/21
102                                                                                                NEOGEO CD:1994/09/09
103    SOCCER BRAWL                                                Sports          SNK             MVS Cartridge:1992/02/14
104                                                                                                NEOGEO ROM-cart:1992/03/13
105                                                                                                NEOGEO CD:1995/03/31
106    MUTATION NATION                                             Action          SNK             MVS Cartridge:1992/03/16
107                                                                                                NEOGEO ROM-cart:1992/04/17
108                                                                                                NEOGEO CD:1995/02/25
109    LAST RESORT                                                 Shooter         SNK             MVS Cartridge:1992/03/23
110                                                                                                NEOGEO ROM-cart:1992/04/24
111                                                                                                NEOGEO CD:1994/09/09
112    QUIZ MEITANTEI NEO & GEO: QUIZ DAISOUSASEN PART 2           Quiz            SNK             MVS Cartridge:1992/03
113                                                                                                NEOGEO ROM-cart:1991/04/24
114    BASEBALL STARS 2                                            Sports          SNK             MVS Cartridge:1992/04/15
115                                                                                                NEOGEO ROM-cart:1992/04/28
116                                                                                                NEOGEO CD:1994/09/09
117    NINJA COMMANDO                                              Shooter         ADK             MVS Cartridge:1992/04/30
118                                                                                                NEOGEO ROM-cart:1992/05/29
119                                                                                                NEOGEO CD:1994/10/31
120    KING OF THE MONSTERS 2                                      Fighting        SNK             MVS Cartridge:1992/05/25
121                                                                                                NEOGEO ROM-cart:1992/06/19
122                                                                                                NEOGEO CD:1994/09/09
123    ANDRO DUNOS                                                 Shooter         Visco           MVS Cartridge:1992/06/15
124                                                                                                NEOGEO ROM-cart:1992/07/17
125    WORLD HEROES                                                Fighting        ADK             MVS Cartridge:1992/07/28
126                                                                                                NEOGEO ROM-cart:1992/09/11
127                                                                                                NEOGEO CD:1995/03/17
128    ART OF FIGHTING                                             Fighting        SNK             MVS Cartridge:1992/09/24
129                                                                                                NEOGEO ROM-cart:1992/12/11
130                                                                                                NEOGEO CD:1994/09/09
131    VIEWPOINT                                                   Shooter         Sammy           MVS Cartridge:1992/11/20
132                                                                                                NEOGEO ROM-cart:1992/12/11
133                                                                                                NEOGEO CD:1995/02/25
134    FATAL FURY 2                                                Fighting        SNK             MVS Cartridge:1992/12/10
135                                                                                                NEOGEO ROM-cart:1993/03/05
136                                                                                                NEOGEO CD:1994/09/09
137    SUPER SIDEKICKS                                             Sports          SNK             MVS Cartridge:1992/12/14
138                                                                                                NEOGEO ROM-cart:1993/02/19
139                                                                                                NEOGEO CD:1995/03/31
140    SENGOKU 2                                                   Action          SNK             MVS Cartridge:1993/02/18
141                                                                                                NEOGEO ROM-cart:1993/04/09
142                                                                                                NEOGEO CD:1995/03/17
143    3 COUNT BOUT                                                Fighting        SNK             MVS Cartridge:1993/03/25
144                                                                                                NEOGEO ROM-cart:1993/04/23
145                                                                                                NEOGEO CD:1995/04/21
146    WORLD HEROES 2                                              Fighting        ADK             MVS Cartridge:1993/04/26
147                                                                                                NEOGEO ROM-cart:1993/06/04
148                                                                                                NEOGEO CD:1995/04/14
149    SAMURAI SHODOWN                                             Fighting        SNK             MVS Cartridge:1993/07/07
150                                                                                                NEOGEO ROM-cart:1993/08/11
151                                                                                                NEOGEO CD:1994/09/09
152    FATAL FURY SPECIAL                                          Fighting        SNK             MVS Cartridge:1993/09/16
153                                                                                                NEOGEO ROM-cart:1993/12/22
154                                                                                                NEOGEO CD:1994/09/09
155    SPINMASTER                                                  Sideview Action Data East       MVS Cartridge:1993/12/16
156                                                                                                NEOGEO ROM-cart:1994/02/18
157    ART OF FIGHTING 2                                           Fighting        SNK             MVS Cartridge:1994/02/03
158                                                                                                NEOGEO ROM-cart:1994/03/11
159                                                                                                NEOGEO CD:1994/09/09
160    WINDJAMMERS                                                 Sports          Data East       MVS Cartridge:1994/02/17
161                                                                                                NEOGEO ROM-cart:1994/04/08
162                                                                                                NEOGEO CD:1995/01/20
163    KARNOV'S REVENGE                                            Fighting        Data East       MVS Cartridge:1994/03/17
164                                                                                                NEOGEO ROM-cart:1994/04/28
165                                                                                                NEOGEO CD:1994/12/22
166    SUPER SIDEKICKS 2                                           Sports          SNK             MVS Cartridge:1994/04/19
167                                                                                                NEOGEO ROM-cart:1994/05/27
168                                                                                                NEOGEO CD:1994/09/09
169    WORLD HEROES 2 JET                                          Fighting        ADK             MVS Cartridge:1994/04/26
170                                                                                                NEOGEO ROM-cart:1994/06/10
171                                                                                                NEOGEO CD:1994/11/11
172    TOP HUNTER                                                  Action          SNK             MVS Cartridge:1994/05/18
173                                                                                                NEOGEO ROM-cart:1994/06/24
174                                                                                                NEOGEO CD:1994/09/29
175    GURURIN                                                     Puzzle          Face            MVS Cartridge:1994/05/25
176    FIGHT FEVER                                                 Fighting        VICCOM          MVS Cartridge:1994/06/28
177    JANSHIN DENSETSU: QUEST OF JONGMASTER                       Mahjong         Aicom           MVS Cartridge:1994/06/29
178                                                                                                NEOGEO CD:1995/03/31
179    AERO FIGHTERS 2                                             Topview Shooter Video System    MVS Cartridge:1994/07/18
180                                                                                                NEOGEO ROM-cart:1994/08/26
181                                                                                                NEOGEO CD:1994/09/29
182    AGGRESSORS OF DARK KOMBAT                                   Fighting        ADK             MVS Cartridge:1994/07/26
183                                                                                                NEOGEO ROM-cart:1994/08/26
184                                                                                                NEOGEO CD:1995/01/13
185    THE KING OF FIGHTERS '94                                    Fighting        SNK             MVS Cartridge:1994/08/25
186                                                                                                NEOGEO ROM-cart:1994/10/01
187                                                                                                NEOGEO CD:1994/11/02
188    ZED BLADE                                                   Shooter         NMK             MVS Cartridge:1994/09/13
189    POWER SPIKES II                                             Sports          Video System    MVS Cartridge:1994/10/19
190                                                                                                NEOGEO CD:1995/03/18
191    SAMURAI SHODOWN II                                          Fighting        SNK             MVS Cartridge:1994/10/28
192                                                                                                NEOGEO ROM-cart:1994/12/02
193                                                                                                NEOGEO CD:1994/12/15
194    STREET HOOP                                                 Sports          Data East       MVS Cartridge:1994/12/08
195                                                                                                NEOGEO ROM-cart:1994/12/09
196                                                                                                NEOGEO CD:1995/01/20
197    PUZZLE BOBBLE                                               Puzzle          TAITO           MVS Cartridge:1994/12/21
198                                                                                                NEOGEO CD:1995/05/02
199    SUPER VOLLEY '94                                            Sports          TAITO           MVS Cartridge:1994
200    BOMBERMAN: PANIC BOMBER                                     Puzzle          Eighting        MVS Cartridge:1995/01/18
201    GALAXY FIGHT: UNIVERSAL WARRIORS                            Fighting        Sunsoft         MVS Cartridge:1995/01/24
202                                                                                                NEOGEO ROM-cart:1995/02/25
203                                                                                                NEOGEO CD:1995/04/21
204    QUIZ KING OF FIGHTERS                                       Quiz            Saurus          MVS Cartridge:1995/02/01
205                                                                                                NEOGEO ROM-cart:1995/03/10
206                                                                                                NEOGEO CD:1995/04/07
207    DOUBLE DRAGON                                               Fighting        Technos         MVS Cartridge:1995/03/03
208                                                                                                NEOGEO ROM-cart:1995/03/31
209                                                                                                NEOGEO CD:1995/06/02
210    SUPER SIDEKICKS 3                                           Sports          SNK             MVS Cartridge:1995/03/07
211                                                                                                NEOGEO ROM-cart:1995/04/07
212                                                                                                NEOGEO CD:1995/06/23
213    FATAL FURY 3                                                Fighting        SNK             MVS Cartridge:1995/03/27
214                                                                                                NEOGEO ROM-cart:1995/04/21
215                                                                                                NEOGEO CD:1995/04/28
216    SAVAGE REIGN                                                Fighting        SNK             MVS Cartridge:1995/04/25
217                                                                                                NEOGEO ROM-cart:1995/03/10
218                                                                                                NEOGEO CD:1995/06/16
219    CROSSED SWORDS II                                           Action          ADK             NEOGEO CD:1995/05/02
220    WORLD HEROES PERFECT                                        Fighting        ADK             MVS Cartridge:1995/05/25
221                                                                                                NEOGEO ROM-cart:1995/06/30
222                                                                                                NEOGEO CD:1995/07/21
223    FAR EAST OF EDEN: KABUKI KLASH                              Fighting        Hudson Soft     MVS Cartridge:1995/06/20
224                                                                                                NEOGEO ROM-cart:1995/07/28
225                                                                                                NEOGEO CD:1995/11/24
226    THE KING OF FIGHTERS '95                                    Fighting        SNK             MVS Cartridge:1995/07/25
227                                                                                                NEOGEO ROM-cart:1995/09/01
228                                                                                                NEOGEO CD:1995/09/29
229    IDOL MAHJONG FINAL ROMANCE 2                                Mahjong         Video System    NEOGEO CD:1995/08/25
230    PULSTAR                                                     Sidevi. Shooter Aicom           MVS Cartridge:1995/08/28
231                                                                                                NEOGEO ROM-cart:1995/09/29
232                                                                                                NEOGEO CD:1995/10/27
233    VOLTAGE FIGHTER GOWCAIZER                                   Fighting        Technos         MVS Cartridge:1995/09/18
234                                                                                                NEOGEO ROM-cart:1995/10/20
235                                                                                                NEOGEO CD:1995/11/24
236    STAKES WINNER                                               Action          Saurus          MVS Cartridge:1995/09/27
237                                                                                                NEOGEO ROM-cart:1995/10/27
238                                                                                                NEOGEO CD:1996/03/22
239    SHOGI NO TATSUJIN - MASTER OF SYOUGI                        Japanese chess  ADK             MVS Cartridge:1995/09/28
240                                                                                                NEOGEO ROM-cart:1995/10/13
241                                                                                                NEOGEO CD:1995/10/20
242    AERO FIGHTERS 3                                             Topview Action  Video System    MVS Cartridge:1995/10/12
243                                                                                                NEOGEO ROM-cart:1995/11/17
244                                                                                                NEOGEO CD:1995/12/08
245    ADK WORLD                                                   Variety         ADK             NEOGEO CD:1995/11/10
246    SAMURAI SHODOWN III                                         Fighting        SNK             MVS Cartridge:1995/11/15
247                                                                                                NEOGEO ROM-cart:1995/12/01
248                                                                                                NEOGEO CD:1995/12/29
249    CHIBI MARUKO-CHAN DELUXE QUIZ                               Variety         Takara          MVS Cartridge:1995/11/27
250                                                                                                NEOGEO ROM-cart:1996/01/26
251    PUZZLE DE PON!                                              Puzzle          Visco           MVS Cartridge:1995/11/28
252    REAL BOUT FATAL FURY                                        Fighting        SNK             MVS Cartridge:1995/12/21
253                                                                                                NEOGEO ROM-cart:1996/01/26
254                                                                                                NEOGEO CD:1996/02/23
255    NEO-GEO CD SPECIAL                                          Variety         SNK             NEOGEO CD:1995/12/22
256    NEO TURF MASTERS                                            Sports          Nazca           MVS Cartridge:1996/01/29
257                                                                                                NEOGEO ROM-cart:1996/03/01
258                                                                                                NEOGEO CD:1996/05/03
259    ART OF FIGHTING 3                                           Fighting        SNK             MVS Cartridge:1996/03/12
260                                                                                                NEOGEO ROM-cart:1996/04/26
261                                                                                                NEOGEO CD:1996/06/14
262    MAGICAL DROP II                                             Puzzle          Data East       MVS Cartridge:1996/03/21
263                                                                                                NEOGEO ROM-cart:1996/04/19
264                                                                                                NEOGEO CD:1996/05/24
265    OSHIDASHI JIN TRICK                                         Puzzle          ADK             NEOGEO CD:1996/03/22
266    NEO DRIFT OUT                                               Racing          Visco           MVS Cartridge:1996/03/28
267                                                                                                NEOGEO CD:1996/07/26
268    METAL SLUG                                                  Action          Nazca           MVS Cartridge:1996/04/19
269                                                                                                NEOGEO ROM-cart:1996/05/24
270                                                                                                NEOGEO CD:1996/07/05
271    OVER TOP                                                    Racing          ADK             MVS Cartridge:1996/04/26
272                                                                                                NEOGEO ROM-cart:1996/06/07
273                                                                                                NEOGEO CD:1996/07/26
274    NINJA MASTER'S                                              Fighting        ADK             MVS Cartridge:1996/05/27
275                                                                                                NEOGEO ROM-cart:1996/06/28
276                                                                                                NEOGEO CD:1996/09/27
277    RAGNAGARD                                                   Fighting        Saurus          MVS Cartridge:1996/06/13
278                                                                                                NEOGEO ROM-cart:1996/07/26
279                                                                                                NEOGEO CD:1996/08/23
280    FUTSAL                                                      Sports          Saurus          NEOGEO CD:1996/07/19
281    THE KING OF FIGHTERS '96                                    Fighting        SNK             MVS Cartridge:1996/07/30
282                                                                                                NEOGEO ROM-cart:1996/09/27
283                                                                                                NEOGEO CD:1996/10/25
284    KIZUNA ENCOUNTER SUPER TAG BATTLE                           Fighting        SNK             MVS Cartridge:1996/09/20
285                                                                                                NEOGEO ROM-cart:1996/11/08
286    CHOUTETSU BURIKINGA                                         Shooter         Saurus          NEOGEO CD:1996/09/20
287    STAKES WINNER 2                                             Real Jockey Act Saurus          MVS Cartridge:1996/09/24
288                                                                                                NEOGEO ROM-cart:1996/12/13
289    THE ULTIMATE 11                                             Sports          SNK             MVS Cartridge:1996/10/16
290                                                                                                NEOGEO ROM-cart:1996/12/20
291    SAMURAI SHODOWN IV                                          Fighting        SNK             MVS Cartridge:1996/10/25
292                                                                                                NEOGEO ROM-cart:1996/11/29
293                                                                                                NEOGEO CD:1996/12/27
294    WAKU WAKU 7                                                 Fighting        Sunsoft         MVS Cartridge:1996/11/21
295                                                                                                NEOGEO ROM-cart:1996/12/27
296    TWINKLE STAR SPRITES                                        Shooter         ADK             MVS Cartridge:1996/11/25
297                                                                                                NEOGEO ROM-cart:1997/01/31
298                                                                                                NEOGEO CD:1997/02/21
299    BREAKERS                                                    Fighting        Visco           MVS Cartridge:1996/12/17
300                                                                                                NEOGEO ROM-cart:1997/03/21
301                                                                                                NEOGEO CD:1997/04/25
302    MONEY IDOL EXCHANGER                                        Puzzle          Face            MVS Cartridge:1997/01/15
303    Real Bout FATAL FURY SPECIAL                                Fighting        SNK             MVS Cartridge:1997/01/28
304                                                                                                NEOGEO ROM-cart:1997/02/28
305                                                                                                NEOGEO CD:1997/03/03
306    THE KING OF FIGHTERS '96 NEOGEO COLLECTION                  Variety         SNK             NEOGEO CD:1997/02/14
307    MAGICAL DROP III                                            Puzzle          Data East       MVS Cartridge:1997/02/25
308                                                                                                NEOGEO ROM-cart:1997/04/25
309    NEO BOMBERMAN                                               Action          Hudson Soft     MVS Cartridge:1997/05/01
310    NEO MR.DO!                                                  Action          Visco           MVS Cartridge:1997/06/26
311    SHINSETSU SAMURAI SHODOWN BUSHIDO RETSUDEN                  Role-playing    SNK             NEOGEO CD:1997/06/27
312    THE KING OF FIGHTERS '97                                    Fighting        SNK             MVS Cartridge:1997/07/28
313                                                                                                NEOGEO ROM-cart:1997/09/25
314                                                                                                NEOGEO CD:1997/10/30
315    UCCHAN NANCHAN NO HONO NO CHALLENGER ULTRA DENRYU IRAIRABOU Action          Saurus          MVS Cartridge:1997/08/25
316    SHOCK TROOPERS                                              Shooter         Saurus          MVS Cartridge:1997/11/11
317    THE LAST BLADE                                              Fighting        SNK             MVS Cartridge:1997/12/05
318                                                                                                NEOGEO ROM-cart:1998/01/29
319                                                                                                NEOGEO CD:1998/03/26
320    BLAZING STAR                                                Shooter         Yumekobo        MVS Cartridge:1998/01/19
321                                                                                                NEOGEO ROM-cart:1998/02/26
322    METAL SLUG 2                                                Action          SNK             MVS Cartridge:1998/02/23
323                                                                                                NEOGEO ROM-cart:1998/04/02
324                                                                                                NEOGEO CD:1998/06/25
325    REAL BOUT FATAL FURY 2                                      Fighting        SNK             MVS Cartridge:1998/03/20
326                                                                                                NEOGEO ROM-cart:1998/04/29
327                                                                                                NEOGEO CD:1998/07/23
328    NEOGEO CUP '98                                              Sports          SNK             MVS Cartridge:1998/05/28
329                                                                                                NEOGEO ROM-cart:1998/07/30
330    BREAKERS REVENGE                                            Fighting        Visco           MVS Cartridge:1998/07/03
331                                                                                                NEOGEO ROM-cart:
332    THE KING OF FIGHTERS '98                                    Fighting        SNK             MVS Cartridge:1998/07/23
333                                                                                                NEOGEO ROM-cart:1998/09/23
334                                                                                                NEOGEO CD:1998/12/23
335    SHOCK TROOPERS 2nd Squad                                    Action Shooter  Saurus          MVS Cartridge:1998/11/06
336                                                                                                NEOGEO ROM-cart:1999/06/24
337    THE LAST BLADE 2                                            Fighting        SNK             MVS Cartridge:1998/11/25
338                                                                                                NEOGEO ROM-cart:1999/01/28
339                                                                                                NEOGEO CD:1999/02/27
340    FLIP SHOT                                                   Action          Visco           MVS Cartridge:1998/12/08
341    METAL SLUG X                                                Action          SNK             MVS Cartridge:1999/03/19
342                                                                                                NEOGEO ROM-cart:1999/05/27
343    CAPTAIN TOMADAY                                             Shooter         Visco           MVS Cartridge:1999/05/27
344    THE KING OF FIGHTERS '99                                    Fighting        SNK             MVS Cartridge:1999/07/22
345                                                                                                NEOGEO ROM-cart:1999/09/23
346                                                                                                NEOGEO CD:1999/12/02
347    PREHISTORIC ISLE 2                                          Shooter         Yumekobo        MVS Cartridge:1999/09/27
348    GAROU: MARK OF THE WOLVES                                   Fighting        SNK             MVS Cartridge:1999/11/26
349                                                                                                NEOGEO ROM-cart:2000/02/25
350    STRIKERS 1945 PLUS                                          Shooter         Psikyo          MVS Cartridge:1999/12/24
351    METAL SLUG 3                                                Action Shooter  SNK             MVS Cartridge:2000/03/23
352                                                                                                NEOGEO ROM-cart:2000/06/01
353    THE KING OF FIGHTERS 2000                                   Fighting        SNK             MVS Cartridge:2000/07/26
354                                                                                                NEOGEO ROM-cart:2000/12/21
355    NIGHTMARE IN THE DARK                                       Horror Action   Gavaking        MVS Cartridge:2001
356    ZUPAPA!                                                     Comical Action  Video System    MVS Cartridge:2001
357    SENGOKU 3                                                   Action          SNK PLAYMORE    MVS Cartridge:2001/07/18
358                                                                                                NEOGEO ROM-cart:2001/10/25
359    THE KING OF FIGHTERS 2001                                   Fighting        SNK PLAYMORE    MVS Cartridge:2001/11/15
360                                                                                                NEOGEO ROM-cart:2002/03/14
361    METAL SLUG 4                                                Action Shooter  SNK PLAYMORE    MVS Cartridge:2002/03/27
362                                                                                                NEOGEO ROM-cart:2002/06/13
363    RAGE OF THE DRAGONS                                         Fighting        Evoga           MVS Cartridge:2002/06/06
364                                                                                                NEOGEO ROM-cart:2002/09/26
365    THE KING OF FIGHTERS 2002                                   Fighting        SNK PLAYMORE    MVS Cartridge:2002/10/10
366                                                                                                NEOGEO ROM-cart:2002/12/19
367    POWER INSTINCT MATRIMELEE                                   Fighting        ATLUS/NOISE FA. MVS Cartridge:2003/03/20
368                                                                                                NEOGEO ROM-cart:2003/05/29
369    SNK VS. CAPCOM: SVC CHAOS                                   Fighting        SNK PLAYMORE    MV-0:2003/07/24
370                                                                                                NEOGEO ROM-cart:2003/11/13
371    SAMURAI SHODOWN V                                           Fighting        SNK P/Yuki Ent  MVS Cartridge:2003/10/10
372                                                                                                NEOGEO ROM-cart:2003/12/11
373    METAL SLUG 5                                                Action Shooter  SNK PLAYMORE    MV-0:2003/11/14
374                                                                                                NEOGEO ROM-cart:2004/02/19
375    THE KING OF FIGHTERS 2003                                   Fighting        SNK PLAYMORE    MV-0:2003/12/12
376                                                                                                NEOGEO ROM-cart:2004/03/18
377    POCHI & NYAA                                                Puzzle          Aiky            MVS Cartridge:2003/12/24
378    SAMURAI SHODOWN V SPECIAL                                   Fighting        SNK P/Yuki Ent  MVS Cartridge:2004/04/22
379                                                                                                NEOGEO ROM-cart:2004/07/15
380
381
382*****************************************************************************
383
384    Neo-Geo game PCB infos
385
386*****************************************************************************
387
388
389    The Neo-Geo games for AES (home) and MVS (arcade) systems are cartridge based.
390
391    Each cartridge consists of two PCBs: CHA and PROG.
392    .CHA PCB contains gfx data ('C' - rom), text layer data ('S' - rom) and sound driver ('M' - rom).
393    .PROG PCB contains sample data ('V' - rom) and program code ('P' - rom).
394
395    On most PCBs various custom/protection chips can also be found:
396    (Custom chip detail information (modified) from: http://wiki.neogeodev.org)
397
398    CHA:
399    . NEO-273  (C and S-ROM address latch)
400    . NEO-CMC 90G06CF7042 (NEO-273 logic / NEO-ZMC logic / C-ROM decryption / C and S-ROM multiplexer / S-ROM bankswitching)
401    . NEO-CMC 90G06CF7050 (NEO-273 logic / NEO-ZMC logic / C-ROM decryption / M-ROM decryption / C and S-ROM multiplexer / S-ROM bankswitching)
402    . NEO-ZMC  (Z80 memory controller)
403    . NEO-ZMC2 (Z80 memory controller / Tile serializer)
404    . PRO-CT0  (C-ROM serializer and multiplexer?; used on early AES-CHA boards)
405    . SNK-9201 (C-ROM serializer and multiplexer?; used on early AES-CHA boards)
406
407    PROG:
408    . 0103 (QFP144) (Only found on Metal Slug X NEO-MVS PROGEOP board; function unknown)
409    . ALTERA   (EPM7128SQC100-15) (P-ROM protection chip used for KOF98 NEO-MVS PROGSF1 board and Metal Slug X NEO-MVS PROGEOP board)
410    . NEO-COMA (Microcontroller; used for MULTI PLAY MODE, boards and sets see below)
411    . NEO-PCM2 (SNK 1999) (PCM functionality / V-ROM decryption / P-ROM decoding and bankswitching)
412    . NEO-PCM2 (PLAYMORE 2002) (PCM functionality / V-ROM decryption / P-ROM decoding and bankswitching)
413    . NEO-PVC  (P-ROM decryption and bankswitching) / RAM
414    . NEO-SMA  (P-ROM decryption and bankswitching / RNG / Storage of 256kb game data)
415    . PCM      (ADPCM bus latches / V-ROM multiplexer)
416    . PRO-CT0  (On PROG board used for P-ROM protection -> Fatal Fury 2)
417    . SNK-9201 (On PROG board used for P-ROM protection -> Fatal Fury 2)
418
419
420    Known PCBs:
421    ============
422
423    MVS CHA:
424    -- SNK --
425    . NEO-MVS CHA-32
426    . NEO-MVS CHA-8M
427    . NEO-MVS CHA42G
428    . NEO-MVS CHA42G-1
429    . NEO-MVS CHA 42G-2
430    . NEO-MVS CHA 42G-3
431    . NEO-MVS CHA42G-3B
432    . NEO-MVS CHA256
433    . NEO-MVS CHA256B
434    . NEO-MVS CHA512Y
435    . NEO-MVS CHAFIO (1999.6.14) - used with NEO-CMC 90G06C7042 or NEO-CMC 90G06C7050
436    . MVS CHAFIO REV1.0 (KOF-2001)
437    . NEO-MVS CHAFIO (SNK 2002) - MADE IN KOREA
438    -- SNKPLAYMORE --
439    . NEO-MVS CHAFIO (2003.7.24) - used only with NEO-CMC 90G06C7050
440
441    -- SNK development boards --
442    . NEO-MVS CHAMC2
443
444    MVS PROG:
445    -- SNK --
446    . NEO-MVS PROG-NAM
447    . NEO-MVS PROG-HERO
448    . NEO-MVS PROG-EP
449    . NEO-MVS PROG-8MB
450    . NEO-MVS PROGEP8M
451    . NEO-MVS PROG8M42
452    . NEO-MVS PROG16
453    . NEO-MVS PROG42G
454    . NEO-MVS PROG42G-COM
455    . NEO-MVS PROG42G-1
456    . NEO-MVS PROG-G2
457    . NEO-MVS PROG 4096
458    . NEO-MVS PROG 4096 B
459    . NEO-MVS PROGGSC
460    . NEO-MVS PROGSM
461    . NEO-MVS PROGSS3
462    . NEO-MVS PROGTOP
463    . NEO-MVS PROGSF1 (1998.6.17)
464    . NEO-MVS PROGEOP (1999.2.2)
465    . NEO-MVS PROGLBA (1999.4.12) - LBA-SUB (2000.2.24)
466    . NEO-MVS PROGBK1 (1994)
467    . NEO-MVS PROGBK1 (2001)
468    . NEO-MVS PROGBK2 (2000.3.21) - used with NEO-PCM2 (1999 SNK) or NEO-PCM2 (2002 PLAYMORE)
469    . MVS PROGBK2 REV1.0 (KOF-2001)
470    . NEO-MVS PROGBK2 (SNK 2002) - MADE IN KOREA
471    -- SNKPLAYMORE --
472    . NEO-MVS PROGBK2R (2003.8.26) - NEO-HYCS (2003.9.29)
473    . NEO-MVS PROGBK3R (2003.9.2) - NEO-HYCS (2003.9.29)
474    . NEO-MVS PROGBK3S (2003.10.1)
475    . NEO-MVS PROGBK2S (2003.10.18)
476
477    -- SNK development boards --
478    . NEO-MVS PROGMC2
479
480
481    AES CHA:
482    -- SNK --
483    . NEO-AEG CHA-32
484    . NEO-AEG CHA-8M
485    . NEO-AEG CHA42G
486    . NEO-AEG CHA42G-1
487    . NEO-AEG CHA42G-2B
488    . NEO-AEG CHA42G-3
489    . NEO-AEG CHA42G-4
490    . NEO-AEG CHA256
491    . NEO-AEG CHA256[B]
492    . NEO-AEG CHA256RY
493    . NEO-AEG CHA512Y
494    . NEO-AEG CHAFIO (1999.8.10) - used with NEO-CMC 90G06C7042 or NEO-CMC 90G06C7050
495    -- SNKPLAYMORE --
496    . NEO-AEG CHAFIO (2003.7.24) - used only with NEO-CMC 90G06C7050
497
498    AES PROG:
499    -- SNK --
500    . NEO-AEG PROG-NAM
501    . NEO-AEG PROG-HERO
502    . NEO-AEG PROG-4A
503    . NEO-AEG PROG-4B
504    . NEO-AEG PROG 8M42
505    . NEO-AEG PROG B
506    . NEO-AEG PROG16
507    . NEO-AEG PROG42G
508    . NEO-AEG PROG42G-COM
509    . NEO-AEG PROG42G-1
510    . NEO-AEG PROG-G2
511    . NEO-AEG PROG4096 B
512    . NEO-AEG PROGGS
513    . NEO-AEG PROGTOP2
514    . NEO-AEG PROGEOP (1999.4.2)
515    . NEO-AEG PROGLBA (1999.7.6)
516    . NEO-AEG PROGRK
517    . NEO-AEG PROGRKB
518    . NEO-AEG PROGBK1Y
519    . NEO-AEG PROGBK1F
520    -- PLAYMORE --
521    . NEO-AEG PROGBK2 (2002.4.1) - used with NEO-PCM2 (1999 SNK) or NEO-PCM2 (2002 PLAYMORE)
522    -- SNKPLAYMORE --
523    . NEO-AEG PROGBK3R (2003.8.29) - NEO-HYCS (2003.9.29)
524    . NEO-AEG PROGBK3S (2003.10.6)
525    . NEO-AEG PROGBK2S (2003.10.16)
526
527
528    Cartridge colours:
529    ==================
530
531    MVS cartridges were produced in different colours.
532
533    Known cartridge colours:
534    . Black
535    . Blue
536    . Green
537    . Grey
538    . Red
539    . Transparent
540    . Transparent Blue
541    . Transparent Green
542    . White
543    . Yellow
544
545    The above listed only covers SNK / PLAYMORE / SNKPLAYMORE PCBs. There also exists a
546    wide range of 'bootleg' PCBs.
547
548
549    Unofficial pcb's from NG:DEV.TEAM:
550
551    MVS CHA:
552    GIGA CHAR Board 1.0
553    GIGA CHAR Board 1.5
554
555    MVS PROG:
556    GIGA PROG Board 1.0
557    GIGA PROG Board 1.5
558
559
560    Neo-Geo game PCB infos by Johnboy
561
562
563*****************************************************************************
564
565    MVS cart pinout
566
567*****************************************************************************
568
569
570    Kindly submitted by Apollo69 (apollo69@columbus.rr.com)
571    =================================================================
572                CTRG1                            CTRG2
573    =================================================================
574         GND = 01A | 01B = GND            GND = 01A | 01B = GND
575         GND = 02A | 02B = GND            GND = 02A | 02B = GND
576          P0 = 03A | 03B = P1             GND = 03A | 03B = GND
577          P2 = 04A | 04B = P3             GND = 04A | 04B = GND
578          P4 = 05A | 05B = P5              D0 = 05A | 05B = A1
579          P6 = 06A | 06B = P7              D1 = 06A | 06B = A2
580          P8 = 07A | 07B = P9              D2 = 07A | 07B = A3
581         P10 = 08A | 08B = P11             D3 = 08A | 08B = A4
582         P12 = 09A | 09B = P13             D4 = 09A | 09B = A5
583         P14 = 10A | 10B = P15             D5 = 10A | 10B = A6
584         P16 = 11A | 11B = P17             D6 = 11A | 11B = A7
585         P18 = 12A | 12B = P19             D7 = 12A | 12B = A8
586         P20 = 13A | 13B = P21             D8 = 13A | 13B = A9
587         P22 = 14A | 14B = P23             D9 = 14A | 14B = A10
588       PCK1B = 15A | 15B = 24M            D10 = 15A | 15B = A11
589       PCK2B = 16A | 16B = 12M            D11 = 16A | 16B = A12
590         2H1 = 17A | 17B = 8M             D12 = 17A | 17B = A13
591         CA4 = 18A | 18B = RESET          D13 = 18A | 18B = A14
592         CR0 = 19A | 19B = CR1            D14 = 19A | 19B = A15
593         CR2 = 20A | 20B = CR3            D15 = 20A | 20B = A16
594         CR4 = 21A | 21B = CR5            R/W = 21A | 21B = A17
595         CR6 = 22A | 22B = CR7             AS = 22A | 22B = A18
596         CR8 = 23A | 23B = CR9         ROMOEU = 23A | 23B = A19
597        CR10 = 24A | 24B = CR11        ROMOEL = 24A | 24B = 68KCLKB
598        CR12 = 25A | 25B = CR13       PORTOEU = 25A | 25B = ROMWAIT
599        CR14 = 26A | 26B = CR15       PORTOEL = 26A | 26B = PWAIT0
600        CR16 = 27A | 27B = CR17       PORTWEU = 27A | 27B = PWAIT1
601        CR18 = 28A | 28B = CR19       PORTWEL = 28A | 28B = PDTACT
602         VCC = 29A | 29B = VCC            VCC = 29A | 29B = VCC
603         VCC = 30A | 30B = VCC            VCC = 30A | 30B = VCC
604         VCC = 31A | 31B = VCC            VCC = 31A | 31B = VCC
605         VCC = 32A | 32B = VCC            VCC = 32A | 32B = VCC
606        CR20 = 33A | 33B = CR21      PORTADRS = 33A | 33B = 4MB
607        CR22 = 34A | 34B = CR23            NC = 34A | 34B = ROMOE
608        CR24 = 35A | 35B = CR25            NC = 35A | 35B = RESET
609        CR26 = 36A | 36B = CR27            NC = 36A | 36B = NC
610        CR28 = 37A | 37B = CR29            NC = 37A | 37B = NC
611        CR30 = 38A | 38B = CR31            NC = 38A | 38B = NC
612          NC = 39A | 39B = FIX00           NC = 39A | 39B = NC
613          NC = 40A | 40B = FIX01           NC = 40A | 40B = NC
614          NC = 41A | 41B = FIX02           NC = 41A | 41B = SDPAD0
615     SYSTEMB = 42A | 42B = FIX03      SYSTEMB = 42A | 42B = SDPAD1
616        SDA0 = 43A | 43B = FIX04        SDPA8 = 43A | 43B = SDPAD2
617        SDA1 = 44A | 44B = FIX05        SDPA9 = 44A | 44B = SDPAD3
618        SDA2 = 45A | 45B = FIX06       SDPA10 = 45A | 45B = SDPAD4
619        SDA3 = 46A | 46B = FIX07       SDPA11 = 46A | 46B = SDPAD5
620        SDA4 = 47A | 47B = SDRD0       SDPMPX = 47A | 47B = SDPAD6
621        SDA5 = 48A | 48B = SDRD1        SDPOE = 48A | 48B = SDPAD7
622        SDA6 = 49A | 49B = SDROM        SDRA8 = 49A | 49B = SDRA00
623        SDA7 = 50A | 50B = SDMRD        SDRA9 = 50A | 50B = SDRA01
624        SDA8 = 51A | 51B = SDDO        SDRA20 = 51A | 51B = SDRA02
625        SDA9 = 52A | 52B = SDD1        SDRA21 = 52A | 52B = SDRA03
626       SDA10 = 53A | 53B = SDD2        SDRA22 = 53A | 53B = SDRA04
627       SDA11 = 54A | 54B = SDD3        SDRA23 = 54A | 54B = SDRA05
628       SDA12 = 55A | 55B = SDD4        SDRMPX = 55A | 55B = SDRA06
629       SDA13 = 56A | 56B = SDD5         SDROE = 56A | 56B = SDRA07
630       SDA14 = 57A | 57B = SDD6           GND = 57A | 57B = GND
631       SDA15 = 58A | 58B = SDD7           GND = 58A | 58B = GND
632         GND = 59A | 59B = GND            GND = 59A | 59B = GND
633         GND = 60A | 60B = GND            GND = 60A | 60B = GND
634
635    CTRG1 (CHA)  = Contains gfx data ('C' - rom), text layer data ('S' - rom) and sound driver ('M' - rom)
636    CTRG2 (PROG) = Contains sample data ('V' - rom) and program code ('P' - rom)
637
638    NOTE: On CTRG2-B, The "A" lines start at "A1". If you trace this on an
639    actual cart, you will see that this is actually "A0" (A0 - A18).
640
641    These are from a very hard to read copy of the schematics, so
642    I hope that I got the pin names correct.
643
644    Apollo69 10/19/99
645
646
647*****************************************************************************
648
649    Neo-Geo bios
650
651*****************************************************************************
652
653
654    These are the known Bios Roms, Set options.bios to the one you want.
655
656    The Universe bios roms are supported because they're now used on enough PCBs
657    to be considered 'in active arcade use' rather than just homebrew hacks.
658    Some may be missing, there have been multiple CRCs reported for the same
659    revision in some cases (the Universe bios has an option for entering / displaying
660    a serial number; these should be noted as such if they're added).
661
662    The 'japan-hotel' BIOS is a dump of an MVS which could be found in some japanese
663    hotels. it is a custom MVS mobo which uses MVS carts but it hasn't jamma
664    connector and it's similar to a console with a coin mechanism, so it's a sort
665    of little coin op console installed in hotels.
666
667    The sp-45.sp1 bios is the latest 'ASIA' revision. Japan-j3.bin is the latest 'JAPAN'
668    revision. Both of them are also used in the sp-4x.sp1 bios of the Jamma PCB boards.
669
670    The current Neo-Geo MVS system set (SFIX/SM1/000-LO) used is from a NEO-MVH MV1FS board.
671    Other boards (MV1xx / MV2x / MV4x /MV6x) other system sets?
672
673    Zoom ROM (LO)    128K   TC531000CP      1x 128Kx8   Zoom look-up table ROM
674    Fix ROM (SFIX)   128K   27C1000         1x 128Kx8   Text layer graphics ROM
675    Sound ROM (SM1)  128K   27C1000/23C1000 1x 128Kx8   Z80 program ROM
676
677*/
678
679#define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \
680      ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_BIOS(bios+1)) /* Note '+1' */
681
682#define NEOGEO_BIOS \
683   ROM_REGION16_BE( 0x80000, "mainbios", 0 ) \
684   ROM_SYSTEM_BIOS( 0, "euro",        "Europe MVS (Ver. 2)" ) \
685   ROM_LOAD16_WORD_SWAP_BIOS( 0, "sp-s2.sp1",    0x00000, 0x020000, CRC(9036d879) SHA1(4f5ed7105b7128794654ce82b51723e16e389543) ) /* Europe, 1 Slot, has also been found on 2 Slot and 4 Slot (the old hacks were designed for this one) */ \
686   ROM_SYSTEM_BIOS( 1, "euro-s1",     "Europe MVS (Ver. 1)" ) \
687   ROM_LOAD16_WORD_SWAP_BIOS( 1, "sp-s.sp1",     0x00000, 0x020000, CRC(c7f2fa45) SHA1(09576ff20b4d6b365e78e6a5698ea450262697cd) ) /* Europe, 4 Slot */ \
688   ROM_SYSTEM_BIOS( 2, "us",          "US MVS (Ver. 2?)" ) \
689   ROM_LOAD16_WORD_SWAP_BIOS( 2, "sp-u2.sp1", 0x00000, 0x020000, CRC(e72943de) SHA1(5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb) ) /* US, 2 Slot */ \
690   ROM_SYSTEM_BIOS( 3, "us-e",        "US MVS (Ver. 1)" ) \
691   ROM_LOAD16_WORD_SWAP_BIOS( 3, "sp-e.sp1",     0x00000, 0x020000, CRC(2723a5b5) SHA1(5dbff7531cf04886cde3ef022fb5ca687573dcb8) ) /* US, 6 Slot (V5?) */ \
692   ROM_SYSTEM_BIOS( 4, "asia",        "Asia MVS (Ver. 3)" ) \
693   ROM_LOAD16_WORD_SWAP_BIOS( 4, "asia-s3.rom",  0x00000, 0x020000, CRC(91b64be3) SHA1(720a3e20d26818632aedf2c2fd16c54f213543e1) ) /* Asia */ \
694   ROM_SYSTEM_BIOS( 5, "japan",       "Japan MVS (Ver. 3)" ) \
695   ROM_LOAD16_WORD_SWAP_BIOS( 5, "vs-bios.rom",  0x00000, 0x020000, CRC(f0e8f27d) SHA1(ecf01eda815909f1facec62abf3594eaa8d11075) ) /* Japan, Ver 6 VS Bios */ \
696   ROM_SYSTEM_BIOS( 6, "japan-s2",    "Japan MVS (Ver. 2)" ) \
697   ROM_LOAD16_WORD_SWAP_BIOS( 6, "sp-j2.sp1",    0x00000, 0x020000, CRC(acede59c) SHA1(b6f97acd282fd7e94d9426078a90f059b5e9dd91) ) /* Japan, Older */ \
698   ROM_SYSTEM_BIOS( 7, "japan-s1",    "Japan MVS (Ver. 1)" ) \
699   ROM_LOAD16_WORD_SWAP_BIOS( 7, "sp1.jipan.1024",0x00000, 0x020000, CRC(9fb0abe4) SHA1(18a987ce2229df79a8cf6a84f968f0e42ce4e59d) ) /* Japan, Older */ \
700   ROM_SYSTEM_BIOS( 8, "mv1c",        "NEO-MVH MV1C" ) \
701   ROM_LOAD16_WORD_SWAP_BIOS( 8, "sp-45.sp1",0x00000, 0x080000, CRC(03cc9f6a) SHA1(cdf1f49e3ff2bac528c21ed28449cf35b7957dc1) ) /* Latest Asia bios */ \
702   ROM_SYSTEM_BIOS( 9, "japan-j3",    "Japan MVS (J3)" ) \
703   ROM_LOAD16_WORD_SWAP_BIOS( 9, "japan-j3.bin",0x00000, 0x020000, CRC(dff6d41f) SHA1(e92910e20092577a4523a6b39d578a71d4de7085) ) /* Latest Japan bios; correct chip label unknown */ \
704   ROM_SYSTEM_BIOS( 10, "japan-hotel","Custom Japanese Hotel" ) \
705   ROM_LOAD16_WORD_SWAP_BIOS( 10, "sp-1v1_3db8c.bin",0x00000, 0x020000, CRC(162f0ebe) SHA1(fe1c6dd3dfcf97d960065b1bb46c1e11cb7bf271) ) /* 'rare MVS found in japanese hotels' shows v1.3 in test mode */ \
706   ROM_SYSTEM_BIOS( 11, "uni-bios_2_3","Universe Bios (Hack, Ver. 2.3)" ) \
707   ROM_LOAD16_WORD_SWAP_BIOS( 11, "uni-bios_2_3.rom",  0x00000, 0x020000, CRC(27664eb5) SHA1(5b02900a3ccf3df168bdcfc98458136fd2b92ac0) ) /* Universe Bios v2.3 (hack) */ \
708   ROM_SYSTEM_BIOS( 12, "uni-bios_2_3o","Universe Bios (Hack, Ver. 2.3, older?)" ) \
709   ROM_LOAD16_WORD_SWAP_BIOS( 12, "uni-bios_2_3o.rom",  0x00000, 0x020000, CRC(601720ae) SHA1(1b8a72c720cdb5ee3f1d735bbcf447b09204b8d9) ) /* Universe Bios v2.3 (hack) alt version, withdrawn? */ \
710   ROM_SYSTEM_BIOS( 13, "uni-bios_2_2","Universe Bios (Hack, Ver. 2.2)" ) \
711   ROM_LOAD16_WORD_SWAP_BIOS( 13, "uni-bios_2_2.rom",  0x00000, 0x020000, CRC(2d50996a) SHA1(5241a4fb0c63b1a23fd1da8efa9c9a9bd3b4279c) ) /* Universe Bios v2.2 (hack) */ \
712   ROM_SYSTEM_BIOS( 14, "uni-bios_2_1","Universe Bios (Hack, Ver. 2.1)" ) \
713   ROM_LOAD16_WORD_SWAP_BIOS( 14, "uni-bios_2_1.rom",  0x00000, 0x020000, CRC(8dabf76b) SHA1(c23732c4491d966cf0373c65c83c7a4e88f0082c) ) /* Universe Bios v2.1 (hack) */ \
714   ROM_SYSTEM_BIOS( 15, "uni-bios_2_0","Universe Bios (Hack, Ver. 2.0)" ) \
715   ROM_LOAD16_WORD_SWAP_BIOS( 15, "uni-bios_2_0.rom",  0x00000, 0x020000, CRC(0c12c2ad) SHA1(37bcd4d30f3892078b46841d895a6eff16dc921e) ) /* Universe Bios v2.0 (hack) */ \
716   ROM_SYSTEM_BIOS( 16, "uni-bios_1_3","Universe Bios (Hack, Ver. 1.3)" ) \
717   ROM_LOAD16_WORD_SWAP_BIOS( 16, "uni-bios_1_3.rom",  0x00000, 0x020000, CRC(b24b44a0) SHA1(eca8851d30557b97c309a0d9f4a9d20e5b14af4e) ) /* Universe Bios v1.3 (hack) */ \
718   ROM_SYSTEM_BIOS( 17, "uni-bios_1_2","Universe Bios (Hack, Ver. 1.2)" ) \
719   ROM_LOAD16_WORD_SWAP_BIOS( 17, "uni-bios_1_2.rom",  0x00000, 0x020000, CRC(4fa698e9) SHA1(682e13ec1c42beaa2d04473967840c88fd52c75a) ) /* Universe Bios v1.2 (hack) */ \
720   ROM_SYSTEM_BIOS( 18, "uni-bios_1_2o","Universe Bios (Hack, Ver. 1.2, older)" ) \
721   ROM_LOAD16_WORD_SWAP_BIOS( 18, "uni-bios_1_2o.rom", 0x00000, 0x020000, CRC(e19d3ce9) SHA1(af88ef837f44a3af2d7144bb46a37c8512b67770) ) /* Universe Bios v1.2 (hack) alt version */ \
722   ROM_SYSTEM_BIOS( 19, "uni-bios_1_1","Universe Bios (Hack, Ver. 1.1)" ) \
723   ROM_LOAD16_WORD_SWAP_BIOS( 19, "uni-bios_1_1.rom",  0x00000, 0x020000, CRC(5dda0d84) SHA1(4153d533c02926a2577e49c32657214781ff29b7) ) /* Universe Bios v1.1 (hack) */ \
724   ROM_SYSTEM_BIOS( 20, "uni-bios_1_0","Universe Bios (Hack, Ver. 1.0)" ) \
725   ROM_LOAD16_WORD_SWAP_BIOS( 20, "uni-bios_1_0.rom",  0x00000, 0x020000, CRC(0ce453a0) SHA1(3b4c0cd26c176fc6b26c3a2f95143dd478f6abf9) ) /* Universe Bios v1.0 (hack) */ \
726   ROM_SYSTEM_BIOS( 21, "uni-bios_3_0","Universe Bios (Hack, Ver. 3.0)" ) \
727   ROM_LOAD16_WORD_SWAP_BIOS( 21, "uni-bios_3_0.rom",  0x00000, 0x020000, CRC(a97c89a9) SHA1(97a5eff3b119062f10e31ad6f04fe4b90d366e7f) ) /* Universe Bios v3.0 (hack) */ \
728//  ROM_SYSTEM_BIOS( 22, "debug",      "Debug MVS (Hack?)" )
729//  ROM_LOAD16_WORD_SWAP_BIOS( 22, "neodebug.rom", 0x00000, 0x020000, CRC(698ebb7d) SHA1(081c49aa8cc7dad5939833dc1b18338321ea0a07) ) /* Debug (Development) Bios */
730//  ROM_SYSTEM_BIOS( 23, "asia-aes",   "Asia AES" )
731//  ROM_LOAD16_WORD_SWAP_BIOS( 23, "neo-epo.sp1", 0x00000, 0x020000, CRC(d27a71f1) SHA1(1b3b22092f30c4d1b2c15f04d1670eb1e9fbea07) ) /* AES Console (Asia?) Bios */
732//  ROM_SYSTEM_BIOS( 24, "japan-aes",  "Japan AES" )
733//  ROM_LOAD16_WORD_SWAP_BIOS( 24, "neo-po.sp1", 0x00000, 0x020000, CRC(16d0c132) SHA1(4e4a440cae46f3889d20234aebd7f8d5f522e22c) ) /* AES Console (Japan) Bios */
734
735/*  Note you'll have to modify the last for lines of each block to use the extra bios roms,
736    they're hacks / homebrew / console bios roms so MAME doesn't list them by default. */
737
738
739#define NEO_BIOS_AUDIO_64K(name, hash) \
740   NEOGEO_BIOS \
741   ROM_REGION( 0x20000, "audiobios", 0 ) \
742   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
743   ROM_REGION( 0x20000, "audiocpu", 0 ) \
744   ROM_LOAD( name, 0x00000, 0x10000, hash ) \
745   ROM_RELOAD(     0x10000, 0x10000 )
746
747#define NEO_BIOS_AUDIO_128K(name, hash) \
748   NEOGEO_BIOS \
749   ROM_REGION( 0x20000, "audiobios", 0 ) \
750   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
751   ROM_REGION( 0x30000, "audiocpu", 0 ) \
752   ROM_LOAD( name, 0x00000, 0x20000, hash ) \
753   ROM_RELOAD(     0x10000, 0x20000 )
754
755#define NEO_BIOS_AUDIO_256K(name, hash) \
756   NEOGEO_BIOS \
757   ROM_REGION( 0x20000, "audiobios", 0 ) \
758   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
759   ROM_REGION( 0x50000, "audiocpu", 0 ) \
760   ROM_LOAD( name, 0x00000, 0x40000, hash ) \
761   ROM_RELOAD(     0x10000, 0x40000 )
762
763#define NEO_BIOS_AUDIO_512K(name, hash) \
764   NEOGEO_BIOS \
765   ROM_REGION( 0x20000, "audiobios", 0 ) \
766   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
767   ROM_REGION( 0x90000, "audiocpu", 0 ) \
768   ROM_LOAD( name, 0x00000, 0x80000, hash ) \
769   ROM_RELOAD(     0x10000, 0x80000 )
770
771
772#define NEO_BIOS_AUDIO_ENCRYPTED_128K(name, hash) \
773   NEOGEO_BIOS \
774   ROM_REGION( 0x20000, "audiobios", 0 ) \
775   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
776   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF ) \
777   ROM_REGION( 0x80000, "audiocrypt", 0 ) \
778   ROM_LOAD( name, 0x00000, 0x20000, hash )
779#define NEO_BIOS_AUDIO_ENCRYPTED_256K(name, hash) \
780   NEOGEO_BIOS \
781   ROM_REGION( 0x20000, "audiobios", 0 ) \
782   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
783   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF ) \
784   ROM_REGION( 0x80000, "audiocrypt", 0 ) \
785   ROM_LOAD( name, 0x00000, 0x40000, hash )
786#define NEO_BIOS_AUDIO_ENCRYPTED_512K(name, hash) \
787   NEOGEO_BIOS \
788   ROM_REGION( 0x20000, "audiobios", 0 ) \
789   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
790   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF ) \
791   ROM_REGION( 0x80000, "audiocrypt", 0 ) \
792   ROM_LOAD( name,      0x00000, 0x80000, hash )
793
794#define NO_DELTAT_REGION
795
796
797#define NEO_SFIX_64K(name, hash) \
798   ROM_REGION( 0x20000, "fixed", 0 ) \
799   ROM_LOAD( name, 0x000000, 0x10000, hash ) \
800   ROM_REGION( 0x20000, "fixedbios", 0 ) \
801   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) ) \
802   ROM_Y_ZOOM
803
804#define NEO_SFIX_128K(name, hash) \
805   ROM_REGION( 0x20000, "fixed", 0 ) \
806   ROM_LOAD( name, 0x000000, 0x20000, hash ) \
807   ROM_REGION( 0x20000, "fixedbios", 0 ) \
808   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) ) \
809   ROM_Y_ZOOM
810
811
812#define ROM_Y_ZOOM \
813   ROM_REGION( 0x20000, "zoomy", 0 ) \
814   ROM_LOAD( "000-lo.lo", 0x00000, 0x20000, CRC(5a86cff2) SHA1(5992277debadeb64d1c1c64b0a92d9293eaf7e4a) )
815
816
817/****************************************************************************
818
819    Official sets
820
821*****************************************************************************
822
823
824    About supported sets:
825    =====================
826
827    MVS carts (arcade) were released before the AES carts (home)
828    The actual codepath taken depends entirely on the BIOS rom, not the roms in the cartridge, which (with
829    a few exceptions) support both codepaths.
830
831    The initial AES releases are therefore later revisions of the game, often with bug fixes over the
832    initial MVS releases. It isn't uncommon for later production runs and bootlegs to use these newer sets,
833    so all of them are supported in MAME.
834
835    Likewise, because the MVS carts were released first (and were produced in higher numbers and generally
836    have a lower cost) it's not uncommon for AES units to operate with converted MVS carts, so, with the
837    exception of the sets that specifically lock out the AES mode* these sets are all equally suitable
838    for MESS.
839    * nitd, kof2001 (initial release has no AES code), and a number of the hacked bootlegs.
840
841    The 'MVS ONLY RELEASE' tagged sets were not officially released for the AES (home) system.
842    Information about this can be found at 'The NeoGeo Master List' (unofficial) - http://www.neo-geo.com
843    and the official NeoGeo museum - http://neogeomuseum.snkplaymore.co.jp/english/index.php
844    Several unofficial 'conversions' of these sets can be found across the internet.
845    For completeness sake: Some of these have sets have been released for the CD system.
846
847
848    M1 (sound driver) rom information:
849    ==================================
850    . Many 'M1' roms contain mirrored data (64k mirrored or 128k mirrored).
851    . Found on several early sets (ID 0001 ~ 0045) and on the last sets (ID 0267 ~ 0272).
852    . This caused some confusion and incorrect rom sizes.
853    . Minimum 'M1' size is 1mbit, maximum size 4mbit.
854    . The remaining 64k 'M1' are marked BAD_DUMP.
855
856
857    S1 (text layer) rom information:
858    ================================
859    . All 'S1' roms found on prom are 1mbit.
860    . The remainig 64k 'S1' are marked BAD_DUMP.
861
862
863    MULTI PLAY MODE:
864    ================
865    The NeoGeo has three games which support MULTI PLAY MODE (Riding Hero / League Bowling / Trash Rally).
866    This allows you to 'link' 4 games (MVS) / 2 games (AES) using in game 'Multi-Play' option. To establish
867    a link between the carts you have to connect the carts to each other by a communicator cable. The communicatior
868    cable is a regular headphone cable with stereo pin jack. It has been reported that you can also 'link' MVS <-> AES.
869
870    All three games use a special PROG board for MULTI PLAY MODE support:
871    . Riding Hero    (AES - NEO-AEG PROG-HERO   / MVS NEO-MVS PROG-HERO)
872    . League Bowling (AES - NEO-AEG PROG-HERO   / MVS NEO-MVS PROG-HERO)
873    . Trash Rally    (AES - NEO-AEG PROG42G-COM / NEO-MVS PROG42G-COM)
874
875    A HD6301V1P MCU on the above boards is used for establishing the 'link'. The MCU has a 4kb internal ROM which
876    is not dumped.
877    To use the MULTI PLAY MODE on your MVS you have to set the following hardware dips:
878    HARD DIP SETTING  4   5   6
879    CABINET 1:        OFF OFF ON
880    CABINET 2:        OFF ON  ON
881    CABINET 3:        ON  OFF ON
882    CABINET 4:        ON  ON  ON
883
884
885    SPHERO SYMPHONY:
886    ================
887    Several early games have a 'feature' called "sphero symphony". None of the games featuring "sphero symphony"
888    uses special hardware. It is something sound based, but what exactly it is (specially arragend samples,
889    FM synthesis etc.) is unknown. The AES and MVS releases share the same sound data and driver.
890
891    The AES game-inserts and manuals have an eye-shaped logo with the following text (not to be found on MVS sets):
892    sphero
893    symphony
894    STEREOPHONIC SOUND
895
896    Experience this "LIVE" 3 dimensional sound coming from all around you.
897
898    Games featuring "sphero symphony":
899    ID-0006 - Riding Hero
900    ID-0007 - Alpha Mission II / ASO II - Last Guardian
901    ID-0009 - Ninja Combat
902    ID-0010 - Cyber-Lip
903    ID-0011 - The Super Spy
904    ID-0014 - Mutation Nation
905    ID-0017 - Sengoku / Sengoku Denshou
906    ID-0018 - Burning Fight
907    ID-0020 - Ghost Pilots
908    ID-0024 - Last Resort
909    ID-0031 - Soccer Brawl
910    ID-0033 - Fatal Fury - King of Fighters / Garou Densetsu - shukumei no tatakai
911    ID-0034 - Football Frenzy
912    ID-0037 - Crossed Swords
913    ID-0038 - Thrash Rally
914    ID-0039 - King of the Monsters 2 - The Next Thing
915    ID-0041 - Baseball Stars 2
916    ID-0044 - Art of Fighting / Ryuuko no Ken
917    ID-0047 - Fatal Fury 2 / Garou Densetsu 2 - arata-naru tatakai
918    ID-0049 - Andro Dunos
919
920*/
921
922
923/* dummy entry for the dummy bios driver */
924ROM_START( neogeo )
925   NEOGEO_BIOS
926
927   ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF )
928
929   ROM_REGION( 0x20000, "audiobios", 0 )
930   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
931
932   ROM_REGION( 0x50000, "audiocpu", 0 )
933   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
934
935   ROM_Y_ZOOM
936
937   ROM_REGION( 0x20000, "fixed", ROMREGION_ERASEFF )
938
939   ROM_REGION( 0x20000, "fixedbios", 0 )
940   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
941
942   ROM_REGION( 0x10000, "ymsnd", ROMREGION_ERASEFF )
943
944   NO_DELTAT_REGION
945
946   ROM_REGION( 0x100000, "sprites", ROMREGION_ERASEFF )
947ROM_END
948
949/****************************************
950 ID-0001
951 . NGM-001
952 NEO-MVS PROG-NAM / NEO-MVS CHA-32
953 . NGH-001
954 NEO-AEG PROG-NAM / NEO-AEG CHA-32
955****************************************/
956
957ROM_START( nam1975 ) /* MVS AND AES VERSION */
958   ROM_REGION( 0x100000, "maincpu", 0 )
959   ROM_LOAD16_WORD_SWAP( "001-p1.p1", 0x000000, 0x080000, CRC(cc9fc951) SHA1(92f4e6ddeeb825077d92dbb70b50afea985f15c0) ) /* MB834200 */
960
961   NEO_SFIX_128K( "001-s1.s1", CRC(7988ba51) SHA1(bc2f661f381b06b34ac2fa215dd5689d3bf84832) ) /* MB831000 */
962
963   NEO_BIOS_AUDIO_256K( "001-m1.m1", CRC(ba874463) SHA1(a83514f4b20301f84a98699900e2593f1c1b8846) ) /* MB832000 */
964
965   ROM_REGION( 0x080000, "ymsnd", 0 )
966   ROM_LOAD( "001-v11.v11", 0x000000, 0x080000, CRC(a7c3d5e5) SHA1(e3efc86940f91c53b7724c4566cfc21ea1a7a465) ) /* MB834200 */
967   // AES has different label, data is the same: 001-v1.v1
968
969   ROM_REGION( 0x180000, "ymsnd.deltat", 0 )
970   ROM_LOAD( "001-v21.v21", 0x000000, 0x080000, CRC(55e670b3) SHA1(a047049646a90b6db2d1882264df9256aa5a85e5) )  /* MB834200 */
971   // AES has different label, data is the same: 001-v2.v21
972   ROM_LOAD( "001-v22.v22", 0x080000, 0x080000, CRC(ab0d8368) SHA1(404114db9f3295929080b87a5d0106b40da6223a) ) /* MB834000 */
973   ROM_LOAD( "001-v23.v23", 0x100000, 0x080000, CRC(df468e28) SHA1(4e5d4a709a4737a87bba4083aeb788f657862f1a) ) /* MB834000 */
974
975   ROM_REGION( 0x300000, "sprites", 0 )
976   ROM_LOAD16_BYTE( "001-c1.c1", 0x000000, 0x80000, CRC(32ea98e1) SHA1(c2fb3fb7dd14523a4b4b7fbdb81f44cb4cc48239) ) /* Plane 0,1 */ /* MB834200 */
977   ROM_LOAD16_BYTE( "001-c2.c2", 0x000001, 0x80000, CRC(cbc4064c) SHA1(224c970fd060d841fd430c946ef609bb57b6d78c) ) /* Plane 2,3 */ /* MB834200 */
978   ROM_LOAD16_BYTE( "001-c3.c3", 0x100000, 0x80000, CRC(0151054c) SHA1(f24fb501a7845f64833f4e5a461bcf9dc3262557) ) /* Plane 0,1 */ /* MB834200 */
979   ROM_LOAD16_BYTE( "001-c4.c4", 0x100001, 0x80000, CRC(0a32570d) SHA1(f108446ec7844fde25f7a4ab454f76d384bf5e52) ) /* Plane 2,3 */ /* MB834200 */
980   ROM_LOAD16_BYTE( "001-c5.c5", 0x200000, 0x80000, CRC(90b74cc2) SHA1(89898da36db259180e5261ed45eafc99ca13e504) ) /* Plane 0,1 */ /* MB834200 */
981   ROM_LOAD16_BYTE( "001-c6.c6", 0x200001, 0x80000, CRC(e62bed58) SHA1(d05b2903b212a51ee131e52c761b714cb787683e) ) /* Plane 2,3 */ /* MB834200 */
982ROM_END
983
984/****************************************
985 ID-0002
986 . NGM-002
987 NEO-MVS PROG-EP / NEO-MVS CHA-32
988 . NGH-002
989 NEO-AEG PROG-4A / NEO-AEG CHA-32
990****************************************/
991
992ROM_START( bstars ) /* MVS VERSION */
993   ROM_REGION( 0x100000, "maincpu", 0 )
994   ROM_LOAD16_WORD_SWAP( "002-pg.p1", 0x000000, 0x080000, CRC(c100b5f5) SHA1(4cea9f29ad67288c3eccfa4cf961ee9782e49165) ) /* MB834200 */
995
996   NEO_SFIX_128K( "002-s1.s1", CRC(1a7fd0c6) SHA1(3fc701b7afddab369ddf9dedfbc5e1aaf80b8af3) ) /* MB831000 */
997
998   NEO_BIOS_AUDIO_256K( "002-m1.m1", CRC(4ecaa4ee) SHA1(50abfb8eed6cb4887393089f9ccc76f306ef69b5) ) /* MB832000 */
999
1000   ROM_REGION( 0x200000, "ymsnd", 0 )
1001   ROM_LOAD( "002-v11.v11", 0x000000, 0x080000, CRC(b7b925bd) SHA1(644c92fa90e74998e73714f74b1e0680ee372a07) ) /* MB834000 */
1002   ROM_LOAD( "002-v12.v12", 0x080000, 0x080000, CRC(329f26fc) SHA1(2c8009edc88c6b26f7be5beb2b8d260aac394ee1) ) /* MB834000 */
1003   ROM_LOAD( "002-v13.v13", 0x100000, 0x080000, CRC(0c39f3c8) SHA1(db8f8670639601215707d918d4fb93221460446a) ) /* MB834000 */
1004   ROM_LOAD( "002-v14.v14", 0x180000, 0x080000, CRC(c7e11c38) SHA1(5abf2a7877e0162c758a4dcf09f183930fa7ef24) ) /* MB834000 */
1005
1006   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1007   ROM_LOAD( "002-v21.v21", 0x000000, 0x080000, CRC(04a733d1) SHA1(84159368c0f6de2c3b8121227201cd3422455cf6) ) /* MB834000 */
1008
1009   ROM_REGION( 0x300000, "sprites", 0 )
1010   ROM_LOAD16_BYTE( "002-c1.c1", 0x000000, 0x080000, CRC(aaff2a45) SHA1(c91ee72d1d74514df8ec44fca703409d92158ae3) ) /* Plane 0,1 */ /* MB834200 */
1011   ROM_LOAD16_BYTE( "002-c2.c2", 0x000001, 0x080000, CRC(3ba0f7e4) SHA1(f023b134b9c7994f477867307d2732026033501d) ) /* Plane 2,3 */ /* MB834200 */
1012   ROM_LOAD16_BYTE( "002-c3.c3", 0x100000, 0x080000, CRC(96f0fdfa) SHA1(9f779a1ae46aeda54d69382b074392ade687f62f) ) /* Plane 0,1 */ /* MB834200 */
1013   ROM_LOAD16_BYTE( "002-c4.c4", 0x100001, 0x080000, CRC(5fd87f2f) SHA1(a5dd6f26f9485f216c2428ae1792c182beb10dbc) ) /* Plane 2,3 */ /* MB834200 */
1014   ROM_LOAD16_BYTE( "002-c5.c5", 0x200000, 0x080000, CRC(807ed83b) SHA1(3268e7d4602c3f55f1e0da2c80653d5ae461ef67) ) /* Plane 0,1 */ /* MB834200 */
1015   ROM_LOAD16_BYTE( "002-c6.c6", 0x200001, 0x080000, CRC(5a3cad41) SHA1(c620d18f4ff32ed5489c941dfc641030a54f1c14) ) /* Plane 2,3 */ /* MB834200 */
1016ROM_END
1017
1018ROM_START( bstarsh ) /* AES VERSION */
1019   ROM_REGION( 0x100000, "maincpu", 0 )
1020   ROM_LOAD16_WORD_SWAP( "002-p1.p1", 0x000000, 0x080000, CRC(3bc7790e) SHA1(50b2fffb1278151bb4849fbe1f8cb23916019815) ) /* MB834200 */
1021
1022   NEO_SFIX_128K( "002-s1.s1", CRC(1a7fd0c6) SHA1(3fc701b7afddab369ddf9dedfbc5e1aaf80b8af3) ) /* MB831000 */
1023
1024   NEO_BIOS_AUDIO_256K( "002-m1.m1", CRC(4ecaa4ee) SHA1(50abfb8eed6cb4887393089f9ccc76f306ef69b5) ) /* MB832000 */
1025
1026   ROM_REGION( 0x200000, "ymsnd", 0 )
1027   ROM_LOAD( "002-v11.v11", 0x000000, 0x080000, CRC(b7b925bd) SHA1(644c92fa90e74998e73714f74b1e0680ee372a07) ) /* MB834000 */
1028   ROM_LOAD( "002-v12.v12", 0x080000, 0x080000, CRC(329f26fc) SHA1(2c8009edc88c6b26f7be5beb2b8d260aac394ee1) ) /* MB834000 */
1029   ROM_LOAD( "002-v13.v13", 0x100000, 0x080000, CRC(0c39f3c8) SHA1(db8f8670639601215707d918d4fb93221460446a) ) /* MB834000 */
1030   ROM_LOAD( "002-v14.v14", 0x180000, 0x080000, CRC(c7e11c38) SHA1(5abf2a7877e0162c758a4dcf09f183930fa7ef24) ) /* MB834000 */
1031
1032   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1033   ROM_LOAD( "002-v21.v21", 0x000000, 0x080000, CRC(04a733d1) SHA1(84159368c0f6de2c3b8121227201cd3422455cf6) ) /* MB834000 */
1034
1035   ROM_REGION( 0x300000, "sprites", 0 )
1036   ROM_LOAD16_BYTE( "002-c1.c1", 0x000000, 0x080000, CRC(aaff2a45) SHA1(c91ee72d1d74514df8ec44fca703409d92158ae3) ) /* Plane 0,1 */ /* MB834200 */
1037   ROM_LOAD16_BYTE( "002-c2.c2", 0x000001, 0x080000, CRC(3ba0f7e4) SHA1(f023b134b9c7994f477867307d2732026033501d) ) /* Plane 2,3 */ /* MB834200 */
1038   ROM_LOAD16_BYTE( "002-c3.c3", 0x100000, 0x080000, CRC(96f0fdfa) SHA1(9f779a1ae46aeda54d69382b074392ade687f62f) ) /* Plane 0,1 */ /* MB834200 */
1039   ROM_LOAD16_BYTE( "002-c4.c4", 0x100001, 0x080000, CRC(5fd87f2f) SHA1(a5dd6f26f9485f216c2428ae1792c182beb10dbc) ) /* Plane 2,3 */ /* MB834200 */
1040   ROM_LOAD16_BYTE( "002-c5.c5", 0x200000, 0x080000, CRC(807ed83b) SHA1(3268e7d4602c3f55f1e0da2c80653d5ae461ef67) ) /* Plane 0,1 */ /* MB834200 */
1041   ROM_LOAD16_BYTE( "002-c6.c6", 0x200001, 0x080000, CRC(5a3cad41) SHA1(c620d18f4ff32ed5489c941dfc641030a54f1c14) ) /* Plane 2,3 */ /* MB834200 */
1042ROM_END
1043
1044/****************************************
1045 ID-0003
1046 . NGM-003
1047 NEO-MVS PROG-EP / NEO-MVS CHA-32
1048 . NGH-003
1049 NEO-AEG PROG-4B / NEO-AEG CHA-32
1050****************************************/
1051
1052ROM_START( tpgolf ) /* MVS AND AES VERSION */
1053   ROM_REGION( 0x100000, "maincpu", 0 )
1054   ROM_LOAD16_WORD_SWAP( "003-p1.p1", 0x000000, 0x080000, CRC(f75549ba) SHA1(3f7bdf5e2964e921fe1dd87c51a79a1a501fc73f) ) /* TC534200 */
1055   ROM_LOAD16_WORD_SWAP( "003-p2.p2", 0x080000, 0x080000, CRC(b7809a8f) SHA1(1604c889592c9610668bff296de48a0d6906156d) ) /* TC534200 */
1056
1057   NEO_SFIX_128K( "003-s1.s1", CRC(7b3eb9b1) SHA1(39cd8bad9f8bfdeb8ac681b5b79ae5aa81c8dd5f) ) /* TC531000 */
1058
1059   NEO_BIOS_AUDIO_128K( "003-m1.m1", CRC(4cc545e6) SHA1(8e014b8cab3e5b3995756a4ea52ce49c36866377) ) /* TC531001 */
1060
1061   ROM_REGION( 0x080000, "ymsnd", 0 )
1062   ROM_LOAD( "003-v11.v11", 0x000000, 0x080000, CRC(ff97f1cb) SHA1(defa249d46ae220f7bfa70746f5202bbbcc3e5fe) ) /* TC534000 */
1063   // AES has different label, data is the same (also found on MVS): 003-v1.v11
1064
1065   ROM_REGION( 0x200000, "ymsnd.deltat", 0 )
1066   ROM_LOAD( "003-v21.v21", 0x000000, 0x080000, CRC(d34960c6) SHA1(36d5877d5e42aab943f4d693159f4f3ad8b0addc) ) /* TC534000 */
1067   // AES has different label, data is the same (also found on MVS): 003-v2.v21
1068   ROM_LOAD( "003-v22.v22", 0x080000, 0x080000, CRC(9a5f58d4) SHA1(2b580595e1820430a36f06fd3e0e0b8f7d686889) ) /* TC534000 */
1069   ROM_LOAD( "003-v23.v23", 0x100000, 0x080000, CRC(30f53e54) SHA1(22461f88a56d272b78dbc23204c0c6816200532b) ) /* TC534000 */
1070   ROM_LOAD( "003-v24.v24", 0x180000, 0x080000, CRC(5ba0f501) SHA1(ca02937a611a2c50c9e4b54f8fd4eaea09259894) ) /* TC534000 */
1071
1072   ROM_REGION( 0x400000, "sprites", 0 )
1073   ROM_LOAD16_BYTE( "003-c1.c1", 0x000000, 0x80000, CRC(0315fbaf) SHA1(583c9253219c1026d81ee5e0cf5568683adc2633) ) /* Plane 0,1 */ /* TC534200 */
1074   ROM_LOAD16_BYTE( "003-c2.c2", 0x000001, 0x80000, CRC(b4c15d59) SHA1(b0d8ec967f9b8e5216301c10b2d36912abce6515) ) /* Plane 2,3 */ /* TC534200 */
1075   ROM_LOAD16_BYTE( "003-c3.c3", 0x100000, 0x80000, CRC(8ce3e8da) SHA1(bc6c49b27d498f75a0d1a8c4d0cca75e140b9efc) ) /* Plane 0,1 */ /* TC534200 */
1076   ROM_LOAD16_BYTE( "003-c4.c4", 0x100001, 0x80000, CRC(29725969) SHA1(f1407da84919c2b3fe0e8f1fca65934b147c86c7) ) /* Plane 2,3 */ /* TC534200 */
1077   ROM_LOAD16_BYTE( "003-c5.c5", 0x200000, 0x80000, CRC(9a7146da) SHA1(2fc83d13e3e9565919aab01bf2a1b028f433b547) ) /* Plane 0,1 */ /* TC534200 */
1078   ROM_LOAD16_BYTE( "003-c6.c6", 0x200001, 0x80000, CRC(1e63411a) SHA1(ee397e2f679042e87b37d95837af62bb95a72af9) ) /* Plane 2,3 */ /* TC534200 */
1079   ROM_LOAD16_BYTE( "003-c7.c7", 0x300000, 0x80000, CRC(2886710c) SHA1(1533dd935f0a8f92a0a3c47d1d2bc6d035454244) ) /* Plane 0,1 */ /* TC534200 */
1080   ROM_LOAD16_BYTE( "003-c8.c8", 0x300001, 0x80000, CRC(422af22d) SHA1(f67c844c34545de6ea187f5bfdf440dec8518532) ) /* Plane 2,3 */ /* TC534200 */
1081ROM_END
1082
1083/****************************************
1084 ID-0004
1085 . NGM-004
1086 NEO-MVS PROG-EP / NEO-MVS CHA-32
1087 . NGH-004
1088 NEO-AEG PROG B  / NEO-AEG CHA-32
1089****************************************/
1090
1091ROM_START( mahretsu ) /* MVS AND AES VERSION */
1092   ROM_REGION( 0x100000, "maincpu", 0 )
1093   ROM_LOAD16_WORD_SWAP( "004-p1.p1", 0x000000, 0x080000, CRC(fc6f53db) SHA1(64a62ca4c8fb68954e06121399c9402278bd0467) ) /* TC534200 */
1094
1095   NEO_SFIX_128K( "004-s1.s1", CRC(2bd05a06) SHA1(876deadd4645373d82a503154eeddf18f440d743) ) /* TC531000 */
1096
1097   NEO_BIOS_AUDIO_128K( "004-m1.m1", CRC(c71fbb3b) SHA1(59c58665b53da61352359d191a0569de5dd1f4b3) ) /* TC531001 */
1098
1099   ROM_REGION( 0x100000, "ymsnd", 0 )
1100   ROM_LOAD( "004-v11.v11", 0x000000, 0x080000, CRC(b2fb2153) SHA1(36e0cc8927b11105de40188af46f6cf532794c10) ) /* CXK384001 */
1101   ROM_LOAD( "004-v12.v12", 0x080000, 0x080000, CRC(8503317b) SHA1(ab22f1aba1e977ab234a4f1d73dc6ed789dbeb85) ) /* CXK384001 */
1102
1103   ROM_REGION( 0x180000, "ymsnd.deltat", 0 )
1104   ROM_LOAD( "004-v21.v21", 0x000000, 0x080000, CRC(4999fb27) SHA1(2d4926a220ea21bdd5e816bb16f985fff089500a) ) /* CXK384001 */
1105   ROM_LOAD( "004-v22.v22", 0x080000, 0x080000, CRC(776fa2a2) SHA1(e7d5a362ab7806b7b009700a435c815a20e8ec68) ) /* CXK384001 */
1106   ROM_LOAD( "004-v23.v23", 0x100000, 0x080000, CRC(b3e7eeea) SHA1(4d1e97f380702a3a06e7f954b4caddd9c4119d8f) ) /* CXK384001 */
1107
1108   ROM_REGION( 0x200000, "sprites", 0 )
1109   ROM_LOAD16_BYTE( "004-c1.c1", 0x000000, 0x80000, CRC(f1ae16bc) SHA1(df68feed4dcba1e1566032b01ebb7b478a1792bf) ) /* Plane 0,1 */ /* MB834200 */
1110   ROM_LOAD16_BYTE( "004-c2.c2", 0x000001, 0x80000, CRC(bdc13520) SHA1(2bc4c996d019a4c539f6c3188ef18089e54b7efa) ) /* Plane 2,3 */ /* MB834200 */
1111   ROM_LOAD16_BYTE( "004-c3.c3", 0x100000, 0x80000, CRC(9c571a37) SHA1(21388aeb92bb8e15a55a063701ca9df79e292127) ) /* Plane 0,1 */ /* MB834200 */
1112   ROM_LOAD16_BYTE( "004-c4.c4", 0x100001, 0x80000, CRC(7e81cb29) SHA1(5036f04df30cf6903bd1a8cc06ff6f015c24a74b) ) /* Plane 2,3 */ /* MB834200 */
1113ROM_END
1114
1115/****************************************
1116 ID-0005
1117 . NGM-005
1118 NEO-MVS PROG-EP / NEO-MVS CHA-32
1119 . NGH-005
1120 NEO-AEG PROG-4B / NEO-AEG CHA-32
1121****************************************/
1122
1123ROM_START( maglord ) /* MVS VERSION */
1124   ROM_REGION( 0x100000, "maincpu", 0 )
1125   ROM_LOAD16_WORD_SWAP( "005-pg1.p1", 0x000000, 0x080000, CRC(bd0a492d) SHA1(d043d3710cf2b0d2b3798008e65e4c7c3ead1af3) ) /* MB834200 */
1126
1127   NEO_SFIX_128K( "005-s1.s1", CRC(1c5369a2) SHA1(db0dba0a7dced6c9ca929c5abda491b05d84199c) ) /* MB831000 */
1128
1129   NEO_BIOS_AUDIO_256K( "005-m1.m1", CRC(26259f0f) SHA1(4f3e500093d61585048767dbd9fa09b3911a05d6) ) /* MB832000 */
1130
1131   ROM_REGION( 0x080000, "ymsnd", 0 )
1132   ROM_LOAD( "005-v11.v11", 0x000000, 0x080000, CRC(cc0455fd) SHA1(a8ff4270e7705e263d25ff0b301f503bccea7e59) ) /* MB834000 */
1133
1134   ROM_REGION( 0x100000, "ymsnd.deltat", 0 )
1135   ROM_LOAD( "005-v21.v21", 0x000000, 0x080000, CRC(f94ab5b7) SHA1(2c16985102e3585e08622d8c54ac5c60425b9ff8) ) /* MB834000 */
1136   ROM_LOAD( "005-v22.v22", 0x080000, 0x080000, CRC(232cfd04) SHA1(61b66a9decbbd1f500a8c186615e7fd077c6861e) ) /* MB834000 */
1137
1138   ROM_REGION( 0x300000, "sprites", 0 )
1139   ROM_LOAD16_BYTE( "005-c1.c1", 0x000000, 0x80000, CRC(806aee34) SHA1(3c32a0edbbddb694495b510c13979c44b83de8bc) ) /* Plane 0,1 */ /* MB834200 */
1140   ROM_LOAD16_BYTE( "005-c2.c2", 0x000001, 0x80000, CRC(34aa9a86) SHA1(cec97e1ff7f91158040c629ba75742db82c4ae5e) ) /* Plane 2,3 */ /* MB834200 */
1141   ROM_LOAD16_BYTE( "005-c3.c3", 0x100000, 0x80000, CRC(c4c2b926) SHA1(478bfafca21f5a1338808251a06ab405e6a9e65f) ) /* Plane 0,1 */ /* MB834200 */
1142   ROM_LOAD16_BYTE( "005-c4.c4", 0x100001, 0x80000, CRC(9c46dcf4) SHA1(4c05f3dc25777a87578ce09a6cefb3a4cebf3266) ) /* Plane 2,3 */ /* MB834200 */
1143   ROM_LOAD16_BYTE( "005-c5.c5", 0x200000, 0x80000, CRC(69086dec) SHA1(7fa47f4a765948813ebf366168275dcc3c42e951) ) /* Plane 0,1 */ /* MB834200 */
1144   ROM_LOAD16_BYTE( "005-c6.c6", 0x200001, 0x80000, CRC(ab7ac142) SHA1(e6ad2843947d35d8e913d2666f87946c1ba7944f) ) /* Plane 2,3 */ /* MB834200 */
1145ROM_END
1146
1147ROM_START( maglordh ) /* AES VERSION */
1148   ROM_REGION( 0x100000, "maincpu", 0 )
1149   ROM_LOAD16_WORD_SWAP( "005-p1.p1", 0x000000, 0x080000, CRC(599043c5) SHA1(43f234b0f89b72b4c6050c40d9daa5c4e96b94ce) ) /* MB834200 */
1150
1151   NEO_SFIX_128K( "005-s1.s1", CRC(1c5369a2) SHA1(db0dba0a7dced6c9ca929c5abda491b05d84199c) ) /* MB831000 */
1152
1153   NEO_BIOS_AUDIO_256K( "005-m1.m1", CRC(26259f0f) SHA1(4f3e500093d61585048767dbd9fa09b3911a05d6) ) /* MB832000 */
1154
1155   ROM_REGION( 0x080000, "ymsnd", 0 )
1156   ROM_LOAD( "005-v11.v11", 0x000000, 0x080000, CRC(cc0455fd) SHA1(a8ff4270e7705e263d25ff0b301f503bccea7e59) ) /* MB834000 */
1157
1158   ROM_REGION( 0x100000, "ymsnd.deltat", 0 )
1159   ROM_LOAD( "005-v21.v21", 0x000000, 0x080000, CRC(f94ab5b7) SHA1(2c16985102e3585e08622d8c54ac5c60425b9ff8) ) /* MB834000 */
1160   ROM_LOAD( "005-v22.v22", 0x080000, 0x080000, CRC(232cfd04) SHA1(61b66a9decbbd1f500a8c186615e7fd077c6861e) ) /* MB834000 */
1161
1162   ROM_REGION( 0x300000, "sprites", 0 )
1163   ROM_LOAD16_BYTE( "005-c1.c1", 0x000000, 0x80000, CRC(806aee34) SHA1(3c32a0edbbddb694495b510c13979c44b83de8bc) ) /* Plane 0,1 */ /* MB834200 */
1164   ROM_LOAD16_BYTE( "005-c2.c2", 0x000001, 0x80000, CRC(34aa9a86) SHA1(cec97e1ff7f91158040c629ba75742db82c4ae5e) ) /* Plane 2,3 */ /* MB834200 */
1165   ROM_LOAD16_BYTE( "005-c3.c3", 0x100000, 0x80000, CRC(c4c2b926) SHA1(478bfafca21f5a1338808251a06ab405e6a9e65f) ) /* Plane 0,1 */ /* MB834200 */
1166   ROM_LOAD16_BYTE( "005-c4.c4", 0x100001, 0x80000, CRC(9c46dcf4) SHA1(4c05f3dc25777a87578ce09a6cefb3a4cebf3266) ) /* Plane 2,3 */ /* MB834200 */
1167   ROM_LOAD16_BYTE( "005-c5.c5", 0x200000, 0x80000, CRC(69086dec) SHA1(7fa47f4a765948813ebf366168275dcc3c42e951) ) /* Plane 0,1 */ /* MB834200 */
1168   ROM_LOAD16_BYTE( "005-c6.c6", 0x200001, 0x80000, CRC(ab7ac142) SHA1(e6ad2843947d35d8e913d2666f87946c1ba7944f) ) /* Plane 2,3 */ /* MB834200 */
1169ROM_END
1170
1171/****************************************
1172 ID-0006
1173 . NGM-006
1174 NEO-MVS PROG-HERO / NEO-MVS CHA-32
1175 . NGH-006
1176 NEO-AEG PROG-HERO / NEO-AEG CHA-32
1177****************************************/
1178
1179ROM_START( ridhero ) /* MVS AND AES VERSION */
1180   ROM_REGION( 0x100000, "maincpu", 0 )
1181   ROM_LOAD16_WORD_SWAP( "006-p1.p1", 0x000000, 0x080000, CRC(d4aaf597) SHA1(34d35b71adb5bd06f4f1b50ffd9c58ab9c440a84) ) /* MB834200 */
1182
1183   ROM_REGION( 0x1000, "mcu", 0 )    /* Hitachi HD6301V1 MCU */
1184   ROM_LOAD( "hd6301v1p.com", 0x0000, 0x1000, NO_DUMP )
1185
1186   NEO_SFIX_128K( "006-s1.s1", CRC(eb5189f0) SHA1(0239c342ea62e73140a2306052f226226461a478) ) /* TC531000 */
1187
1188   NEO_BIOS_AUDIO_256K( "006-m1.m1", CRC(92e7b4fe) SHA1(d240056cd632f92bdfaa5e0492c09aa9bd7b0471) ) /* MB832000 */
1189
1190   ROM_REGION( 0x100000, "ymsnd", 0 )
1191   ROM_LOAD( "006-v11.v11", 0x000000, 0x080000, CRC(cdf74a42) SHA1(a17106cc3f9e5c5d52b4def861c0545a98151da2) ) /* MB834000 */
1192   ROM_LOAD( "006-v12.v12", 0x080000, 0x080000, CRC(e2fd2371) SHA1(cc95297bee7ffbdcb24ac4daeb5307cb39a52067) ) /* MB834000 */
1193
1194   ROM_REGION( 0x200000, "ymsnd.deltat", 0 )
1195   ROM_LOAD( "006-v21.v21", 0x000000, 0x080000, CRC(94092bce) SHA1(1a2906271fe6bc396898a756153629a5862930eb) ) /* MB834000 */
1196   ROM_LOAD( "006-v22.v22", 0x080000, 0x080000, CRC(4e2cd7c3) SHA1(72fb215a4f208a22a764e801186d1643d3d840ca) ) /* MB834000 */
1197   ROM_LOAD( "006-v23.v23", 0x100000, 0x080000, CRC(069c71ed) SHA1(f450e9f60cd6ef846dbc77993159ec6157fb64e7) ) /* MB834000 */
1198   ROM_LOAD( "006-v24.v24", 0x180000, 0x080000, CRC(89fbb825) SHA1(656a97c6a8832dab3a5e1577d9cd257b561cc356) ) /* MB834000 */
1199
1200   ROM_REGION( 0x200000, "sprites", 0 )
1201   ROM_LOAD16_BYTE( "006-c1.c1", 0x000000, 0x080000, CRC(4a5c7f78) SHA1(f8f1e6b7841c74368210d52a84307bb28f722a2d) ) /* Plane 0,1 */ /* CXK384000 */
1202   ROM_LOAD16_BYTE( "006-c2.c2", 0x000001, 0x080000, CRC(e0b70ece) SHA1(e2b750e43cdddcea29d1c9c943a3628117a16a1b) ) /* Plane 2,3 */ /* CXK384000 */
1203   ROM_LOAD16_BYTE( "006-c3.c3", 0x100000, 0x080000, CRC(8acff765) SHA1(11fe89b9d112d0658c9ddf40d928584de6ea9202) ) /* Plane 0,1 */ /* CXK384000 */
1204   ROM_LOAD16_BYTE( "006-c4.c4", 0x100001, 0x080000, CRC(205e3208) SHA1(aa2acf2c6f48ffffdcc0c94ddc031acc9e4a2e68) ) /* Plane 2,3 */ /* CXK384000 */
1205ROM_END
1206
1207ROM_START( ridheroh )
1208   ROM_REGION( 0x100000, "maincpu", 0 )
1209   ROM_LOAD16_WORD_SWAP( "006-pg1.p1", 0x000000, 0x080000, BAD_DUMP CRC(52445646) SHA1(647bb31f2f68453c1366cb6e2e867e37d1df7a54) )
1210   /* Chip label p1h does not exist, renamed temporarly to pg1, marked BAD_DUMP. This needs to be verified. */
1211
1212   ROM_REGION( 0x1000, "mcu", 0 )    /* Hitachi HD6301V1 MCU */
1213   ROM_LOAD( "hd6301v1p.com", 0x0000, 0x1000, NO_DUMP )
1214
1215   NEO_SFIX_128K( "006-s1.s1", CRC(eb5189f0) SHA1(0239c342ea62e73140a2306052f226226461a478) ) /* TC531000 */
1216
1217   NEO_BIOS_AUDIO_256K( "006-m1.m1", CRC(92e7b4fe) SHA1(d240056cd632f92bdfaa5e0492c09aa9bd7b0471) ) /* MB832000 */
1218
1219   ROM_REGION( 0x100000, "ymsnd", 0 )
1220   ROM_LOAD( "006-v11.v11", 0x000000, 0x080000, CRC(cdf74a42) SHA1(a17106cc3f9e5c5d52b4def861c0545a98151da2) ) /* MB834000 */
1221   ROM_LOAD( "006-v12.v12", 0x080000, 0x080000, CRC(e2fd2371) SHA1(cc95297bee7ffbdcb24ac4daeb5307cb39a52067) ) /* MB834000 */
1222
1223   ROM_REGION( 0x200000, "ymsnd.deltat", 0 )
1224   ROM_LOAD( "006-v21.v21", 0x000000, 0x080000, CRC(94092bce) SHA1(1a2906271fe6bc396898a756153629a5862930eb) ) /* MB834000 */
1225   ROM_LOAD( "006-v22.v22", 0x080000, 0x080000, CRC(4e2cd7c3) SHA1(72fb215a4f208a22a764e801186d1643d3d840ca) ) /* MB834000 */
1226   ROM_LOAD( "006-v23.v23", 0x100000, 0x080000, CRC(069c71ed) SHA1(f450e9f60cd6ef846dbc77993159ec6157fb64e7) ) /* MB834000 */
1227   ROM_LOAD( "006-v24.v24", 0x180000, 0x080000, CRC(89fbb825) SHA1(656a97c6a8832dab3a5e1577d9cd257b561cc356) ) /* MB834000 */
1228
1229   ROM_REGION( 0x200000, "sprites", 0 )
1230   ROM_LOAD16_BYTE( "006-c1.c1", 0x000000, 0x080000, CRC(4a5c7f78) SHA1(f8f1e6b7841c74368210d52a84307bb28f722a2d) ) /* Plane 0,1 */ /* CXK384000 */
1231   ROM_LOAD16_BYTE( "006-c2.c2", 0x000001, 0x080000, CRC(e0b70ece) SHA1(e2b750e43cdddcea29d1c9c943a3628117a16a1b) ) /* Plane 2,3 */ /* CXK384000 */
1232   ROM_LOAD16_BYTE( "006-c3.c3", 0x100000, 0x080000, CRC(8acff765) SHA1(11fe89b9d112d0658c9ddf40d928584de6ea9202) ) /* Plane 0,1 */ /* CXK384000 */
1233   ROM_LOAD16_BYTE( "006-c4.c4", 0x100001, 0x080000, CRC(205e3208) SHA1(aa2acf2c6f48ffffdcc0c94ddc031acc9e4a2e68) ) /* Plane 2,3 */ /* CXK384000 */
1234ROM_END
1235
1236/****************************************
1237 ID-0007
1238 . NGM-007
1239 NEO-MVS PROG42G / NEO-MVS CHA42G
1240 . NGH-007
1241 NEO-AEG PROG42G / NEO-AEG CHA42G
1242****************************************/
1243
1244ROM_START( alpham2 ) /* MVS AND AES VERSION */
1245   ROM_REGION( 0x100000, "maincpu", 0 )
1246   ROM_LOAD16_WORD_SWAP( "007-p1.p1", 0x000000, 0x080000, CRC(5b266f47) SHA1(8afbf995989f47ad93fea1f31a884afc7228b53a) ) /* TC534200 */
1247   ROM_LOAD16_WORD_SWAP( "007-p2.p2", 0x080000, 0x020000, CRC(eb9c1044) SHA1(65d3416dcd96663bc4e7cefe90ecb7c1eafb2dda) ) /* TC531024 */
1248
1249   NEO_SFIX_128K( "007-s1.s1", CRC(85ec9acf) SHA1(39a11974438ad36a2cc84307151b31474c3c5518) ) /* TC531000 */
1250
1251   NEO_BIOS_AUDIO_128K( "007-m1.m1", CRC(28dfe2cd) SHA1(1a1a99fb917c6c8db591e3be695ce03f843ee1df) ) /* TC531001 */
1252
1253   ROM_REGION( 0x200000, "ymsnd", 0 )
1254   ROM_LOAD( "007-v1.v1", 0x000000, 0x100000, CRC(cd5db931) SHA1(b59f9f2df29f49470312a6cd20f5669b6aaf51ff) ) /* TC538200 */
1255   ROM_LOAD( "007-v2.v2", 0x100000, 0x100000, CRC(63e9b574) SHA1(1ade4cd0b15c84dd4a0fb7f7abf0885eef3a3f71) ) /* TC538200 */
1256
1257   NO_DELTAT_REGION
1258
1259   ROM_REGION( 0x300000, "sprites", 0 )
1260   ROM_LOAD16_BYTE( "007-c1.c1", 0x000000, 0x100000, CRC(8fba8ff3) SHA1(1a682292e99eb91b0edb9771c44bc5e762867e98) ) /* Plane 0,1 */ /* TC538200 */
1261   ROM_LOAD16_BYTE( "007-c2.c2", 0x000001, 0x100000, CRC(4dad2945) SHA1(ac85a146276537fed124bda892bb93ff549f1d93) ) /* Plane 2,3 */ /* TC538200 */
1262   ROM_LOAD16_BYTE( "007-c3.c3", 0x200000, 0x080000, CRC(68c2994e) SHA1(4f8dfc6e5188942e03b853a2c9f0ea6138dec791) ) /* Plane 0,1 */ /* TC534200 */
1263   ROM_LOAD16_BYTE( "007-c4.c4", 0x200001, 0x080000, CRC(7d588349) SHA1(a5ed789d7bbc25be5c5b2d99883b64d379c103a2) ) /* Plane 2,3 */ /* TC534200 */
1264ROM_END
1265
1266ROM_START( alpham2p ) /* early prototype - all roms were hand labeled with CRCs, dumps verified against them */
1267   ROM_REGION( 0x100000, "maincpu", 0 )
1268   ROM_LOAD16_BYTE( "proto_007-p1.p1", 0x000001, 0x080000, CRC(c763e52a) SHA1(b24acbac255c5ee1a2e92e77cdde6620a24081cf) )
1269   ROM_LOAD16_BYTE( "proto_007-p2.p2", 0x000000, 0x080000, CRC(7a0b435c) SHA1(40e6f42a92001d9f4e51898dd7489da143b6b74b) )
1270
1271   NEO_SFIX_128K( "proto_007-s1.s1", CRC(efc9ae2e) SHA1(a594826b0082fe5a13191673e8d9aa42517230f5) )
1272
1273   NEO_BIOS_AUDIO_128K( "proto_007-m1.m1", CRC(5976b464) SHA1(ec824567ecc3579f6d86c9d9385710cbaeef16a3) )
1274
1275   ROM_REGION( 0x200000, "ymsnd", 0 )
1276   ROM_LOAD( "proto_007-v11.v11", 0x000000, 0x080000, CRC(18eaa9e1) SHA1(85c94d8660f8a32e4ca8e015f0bd704208482d68) )
1277   ROM_LOAD( "proto_007-v12.v12", 0x080000, 0x080000, CRC(2487d495) SHA1(49af3c4dc6a38c5158d3641fd8f9a40041b42aa6) )
1278   ROM_LOAD( "proto_007-v13.v13", 0x100000, 0x080000, CRC(25e60f25) SHA1(d06b0df872372de38fcf90187195070ac5f8c651) )
1279   ROM_LOAD( "proto_007-v21.v21", 0x180000, 0x080000, CRC(ac44b75a) SHA1(7399a05cd4e2c7ecde4a7323d3e189255afe5fc2) )
1280
1281   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1282   ROM_COPY( "ymsnd", 0x180000, 0x00000, 0x80000 )
1283
1284   ROM_REGION( 0x400000, "sprites", 0 ) // note, ROM_LOAD32_BYTE
1285   ROM_LOAD32_BYTE( "proto_007-c1.c1", 0x000000, 0x80000, CRC(24841639) SHA1(fcc2a349121dad86ffefc44b9f0e8ba616ce0d30) ) /* Plane 0 */
1286   ROM_LOAD32_BYTE( "proto_007-c2.c2", 0x000002, 0x80000, CRC(912763ab) SHA1(cedf26d7d85ad140399ee62813c71f35e65498d6) ) /* Plane 2 */
1287   ROM_LOAD32_BYTE( "proto_007-c3.c3", 0x000001, 0x80000, CRC(0743bde2) SHA1(0d13ad6333909ad3cf10f9ac360f9abf191318de) ) /* Plane 1 */
1288   ROM_LOAD32_BYTE( "proto_007-c4.c4", 0x000003, 0x80000, CRC(61240212) SHA1(dee36f6604adaeb96e0d761a7256241c066b1cd2) ) /* Plane 3 */
1289   ROM_LOAD32_BYTE( "proto_007-c5.c5", 0x200000, 0x80000, CRC(cf9f4c53) SHA1(f979c85f83d9f76e554c2617f85f6d4efca6799c) ) /* Plane 0 */
1290   ROM_LOAD32_BYTE( "proto_007-c6.c6", 0x200002, 0x80000, CRC(3d903b19) SHA1(001a8c762336b855fe1df69fe2e605d30a3f00a1) ) /* Plane 2 */
1291   ROM_LOAD32_BYTE( "proto_007-c7.c7", 0x200001, 0x80000, CRC(e41e3875) SHA1(730aceb8a66cb33d0194b096568f053ad7dc000a) ) /* Plane 1 */
1292   ROM_LOAD32_BYTE( "proto_007-c8.c8", 0x200003, 0x80000, CRC(4483e2cf) SHA1(47c3364f5c36ae9dc3a49fe37ca60bcee0e73314) ) /* Plane 3 */
1293ROM_END
1294
1295/****************************************
1296 ID-0008
1297 Sunshine (prototype) 1990 SNK
1298****************************************/
1299
1300/****************************************
1301 ID-0009
1302 . NGM-009
1303 NEO-MVS PROG-EP / NEO-MVS CHA-32
1304 . NGH-009
1305 NEO-AEG PROG-4A / NEO-AEG CHA-32
1306****************************************/
1307
1308ROM_START( ncombat ) /* MVS VERSION */
1309   ROM_REGION( 0x100000, "maincpu", 0 )
1310   ROM_LOAD16_WORD_SWAP( "009-p1.p1", 0x000000, 0x080000, CRC(b45fcfbf) SHA1(3872147dda2d1ba905d35f4571065d87b1958b4a) ) /* TC534200 */
1311
1312   NEO_SFIX_128K( "009-s1.s1", CRC(d49afee8) SHA1(77615f12edf08ae8f1353f7a056a8f3a50d3ebdc) ) /* TC531000 */
1313
1314   NEO_BIOS_AUDIO_128K( "009-m1.m1", CRC(b5819863) SHA1(6f2309d51531052dbf7d712993c9e35649db0d84) ) /* TC531001 */
1315
1316   ROM_REGION( 0x180000, "ymsnd", 0 )
1317   ROM_LOAD( "009-v11.v11", 0x000000, 0x080000, CRC(cf32a59c) SHA1(af5b7fcd8a4aff1307c0a1d937e5f0460c32de79) ) /* TC534000 */
1318   ROM_LOAD( "009-v12.v12", 0x080000, 0x080000, CRC(7b3588b7) SHA1(a4e6d9d4113ff4ce48b371f65e9187d551821d3b) ) /* TC534000 */
1319   ROM_LOAD( "009-v13.v13", 0x100000, 0x080000, CRC(505a01b5) SHA1(9426a4f5b31e16f74e72e61951c189a878f211c5) ) /* TC534000 */
1320
1321   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1322   ROM_LOAD( "009-v21.v21", 0x000000, 0x080000, CRC(365f9011) SHA1(aebd292214ab280b05ee9e759b7e9a681a099c4a) ) /* TC534000 */
1323
1324   ROM_REGION( 0x300000, "sprites", 0 )
1325   ROM_LOAD16_BYTE( "009-c1.c1", 0x000000, 0x80000, CRC(33cc838e) SHA1(c445c891c0ba4190aa0b472786150620e76df5b4) ) /* Plane 0,1 */ /* TC534200 */
1326   ROM_LOAD16_BYTE( "009-c2.c2", 0x000001, 0x80000, CRC(26877feb) SHA1(8f48097fb8e4757f50b6d86219122fbf4b6f87ef) ) /* Plane 2,3 */ /* TC534200 */
1327   ROM_LOAD16_BYTE( "009-c3.c3", 0x100000, 0x80000, CRC(3b60a05d) SHA1(0a165a17af4834876fcd634599cd2208adc9248f) ) /* Plane 0,1 */ /* TC534200 */
1328   ROM_LOAD16_BYTE( "009-c4.c4", 0x100001, 0x80000, CRC(39c2d039) SHA1(8ca6c3f977c43c7abba2a00a0e70f02e2a49f5f2) ) /* Plane 2,3 */ /* TC534200 */
1329   ROM_LOAD16_BYTE( "009-c5.c5", 0x200000, 0x80000, CRC(67a4344e) SHA1(b325f152c7b2388fc92c5826e1dc99094b9ea749) ) /* Plane 0,1 */ /* TC534200 */
1330   ROM_LOAD16_BYTE( "009-c6.c6", 0x200001, 0x80000, CRC(2eca8b19) SHA1(16764ef10e404325ba0a1a2ad3a4c0af287be21f) ) /* Plane 2,3 */ /* TC534200 */
1331ROM_END
1332
1333ROM_START( ncombath ) /* AES VERSION */
1334   ROM_REGION( 0x100000, "maincpu", 0 )
1335   ROM_LOAD16_WORD_SWAP( "009-pg1.p1", 0x000000, 0x080000, CRC(8e9f0add) SHA1(d0b908a86a58f2537eea73a431038f1cd74a5a2f) ) /* TC534200 */
1336
1337   NEO_SFIX_128K( "009-s1.s1", CRC(d49afee8) SHA1(77615f12edf08ae8f1353f7a056a8f3a50d3ebdc) ) /* TC531000 */
1338
1339   NEO_BIOS_AUDIO_128K( "009-m1.m1", CRC(b5819863) SHA1(6f2309d51531052dbf7d712993c9e35649db0d84) ) /* TC531001 */
1340
1341   ROM_REGION( 0x180000, "ymsnd", 0 )
1342   ROM_LOAD( "009-v11.v11", 0x000000, 0x080000, CRC(cf32a59c) SHA1(af5b7fcd8a4aff1307c0a1d937e5f0460c32de79) ) /* TC534000 */
1343   ROM_LOAD( "009-v12.v12", 0x080000, 0x080000, CRC(7b3588b7) SHA1(a4e6d9d4113ff4ce48b371f65e9187d551821d3b) ) /* TC534000 */
1344   ROM_LOAD( "009-v13.v13", 0x100000, 0x080000, CRC(505a01b5) SHA1(9426a4f5b31e16f74e72e61951c189a878f211c5) ) /* TC534000 */
1345
1346   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1347   ROM_LOAD( "009-v21.v21", 0x000000, 0x080000, CRC(365f9011) SHA1(aebd292214ab280b05ee9e759b7e9a681a099c4a) ) /* TC534000 */
1348
1349   ROM_REGION( 0x300000, "sprites", 0 )
1350   ROM_LOAD16_BYTE( "009-c1.c1", 0x000000, 0x80000, CRC(33cc838e) SHA1(c445c891c0ba4190aa0b472786150620e76df5b4) ) /* Plane 0,1 */ /* TC534200 */
1351   ROM_LOAD16_BYTE( "009-c2.c2", 0x000001, 0x80000, CRC(26877feb) SHA1(8f48097fb8e4757f50b6d86219122fbf4b6f87ef) ) /* Plane 2,3 */ /* TC534200 */
1352   ROM_LOAD16_BYTE( "009-c3.c3", 0x100000, 0x80000, CRC(3b60a05d) SHA1(0a165a17af4834876fcd634599cd2208adc9248f) ) /* Plane 0,1 */ /* TC534200 */
1353   ROM_LOAD16_BYTE( "009-c4.c4", 0x100001, 0x80000, CRC(39c2d039) SHA1(8ca6c3f977c43c7abba2a00a0e70f02e2a49f5f2) ) /* Plane 2,3 */ /* TC534200 */
1354   ROM_LOAD16_BYTE( "009-c5.c5", 0x200000, 0x80000, CRC(67a4344e) SHA1(b325f152c7b2388fc92c5826e1dc99094b9ea749) ) /* Plane 0,1 */ /* TC534200 */
1355   ROM_LOAD16_BYTE( "009-c6.c6", 0x200001, 0x80000, CRC(2eca8b19) SHA1(16764ef10e404325ba0a1a2ad3a4c0af287be21f) ) /* Plane 2,3 */ /* TC534200 */
1356ROM_END
1357
1358/****************************************
1359 ID-0010
1360 . NGM-010
1361 NEO-MVS PROG-EP / NEO-MVS CHA-32
1362 . NGH-010
1363****************************************/
1364
1365ROM_START( cyberlip )
1366   ROM_REGION( 0x100000, "maincpu", 0 )
1367   ROM_LOAD16_WORD_SWAP( "010-p1.p1", 0x000000, 0x080000, CRC(69a6b42d) SHA1(6e7cb089de83f1d22cc4a87db5b1a94bf76fb1e8) ) /* TC534200 */
1368
1369   NEO_SFIX_128K( "010-s1.s1", CRC(79a35264) SHA1(c2819a82adbe1f5e489496e0e03477863a5b7665) ) /* TC531000 */
1370
1371   NEO_BIOS_AUDIO_128K( "010-m1.m1", CRC(8be3a078) SHA1(054ec6a061fcc88df1ecbb0a01611a31f37a7709) ) /* TC531001 */
1372
1373   ROM_REGION( 0x200000, "ymsnd", 0 )
1374   ROM_LOAD( "010-v11.v11", 0x000000, 0x080000, CRC(90224d22) SHA1(5443ee6f90d80d43194cb4b4f0e08851a59e7784) ) /* TC534000 */
1375   ROM_LOAD( "010-v12.v12", 0x080000, 0x080000, CRC(a0cf1834) SHA1(8df57a7941bdae7e446a6056039adb012cdde246) ) /* TC534000 */
1376   ROM_LOAD( "010-v13.v13", 0x100000, 0x080000, CRC(ae38bc84) SHA1(c0937b4f89b8b26c8a0e747b234f44ad6a3bf2ba) ) /* TC534000 */
1377   ROM_LOAD( "010-v14.v14", 0x180000, 0x080000, CRC(70899bd2) SHA1(8cf01144f0bcf59f09777175ae6b71846b09f3a1) ) /* TC534000 */
1378
1379   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1380   ROM_LOAD( "010-v21.v21", 0x000000, 0x080000, CRC(586f4cb2) SHA1(588460031d84c308e3353ecf714db9986425c21c) ) /* TC534000 */
1381
1382   ROM_REGION( 0x300000, "sprites", 0 )
1383   ROM_LOAD16_BYTE( "010-c1.c1", 0x000000, 0x80000, CRC(8bba5113) SHA1(70f0926409ab265da4b8632500d1d32d63cf77cf) ) /* Plane 0,1 */ /* TC534200 */
1384   ROM_LOAD16_BYTE( "010-c2.c2", 0x000001, 0x80000, CRC(cbf66432) SHA1(cc529640c475d08330e116ea9c5e5a28b7cd13db) ) /* Plane 2,3 */ /* TC534200 */
1385   ROM_LOAD16_BYTE( "010-c3.c3", 0x100000, 0x80000, CRC(e4f86efc) SHA1(fa60863d8a7ed4f21d30f91eb1936d0b8329db7a) ) /* Plane 0,1 */ /* TC534200 */
1386   ROM_LOAD16_BYTE( "010-c4.c4", 0x100001, 0x80000, CRC(f7be4674) SHA1(b4ad0432d4bb6d5a98e27015910343c964b73ed4) ) /* Plane 2,3 */ /* TC534200 */
1387   ROM_LOAD16_BYTE( "010-c5.c5", 0x200000, 0x80000, CRC(e8076da0) SHA1(3ec5cc19809dea688041a42b32c13d257576f3da) ) /* Plane 0,1 */ /* TC534200 */
1388   ROM_LOAD16_BYTE( "010-c6.c6", 0x200001, 0x80000, CRC(c495c567) SHA1(2f58475fbb5f1adafce027d396fb05dd71e8fb55) ) /* Plane 2,3 */ /* TC534200 */
1389ROM_END
1390
1391/****************************************
1392 ID-0011
1393 . NGM-011
1394 NEO-MVS PROG-8MB / NEO-MVS CHA-8M
1395 . NGH-011
1396 NEO-AEG PROG-8MB / NEO-AEG CHA-8M
1397****************************************/
1398
1399ROM_START( superspy ) /* MVS AND AES VERSION */
1400   ROM_REGION( 0x100000, "maincpu", 0 )
1401   ROM_LOAD16_WORD_SWAP( "011-p1.p1",  0x000000, 0x080000, CRC(c7f944b5) SHA1(da7560e09187c68f1d9f7656218497b4464c56c9) ) /* MB834200 */
1402   ROM_LOAD16_WORD_SWAP( "sp2.p2",     0x080000, 0x020000, CRC(811a4faf) SHA1(8169dfaf79f52d80ecec402ce1b1ab9cafb7ebdd) ) /* TC531024 */
1403
1404   NEO_SFIX_128K( "011-s1.s1", CRC(ec5fdb96) SHA1(8003028025ac7bf531e568add6ba66c02d0b7e84) ) /* MB831000 */
1405
1406   NEO_BIOS_AUDIO_256K( "011-m1.m1", CRC(ca661f1b) SHA1(4e3cb57db716ec48487c1b070c3a55a5faf40856) ) /* MB832000 */
1407
1408   ROM_REGION( 0x180000, "ymsnd", 0 )
1409   ROM_LOAD( "011-v11.v11", 0x000000, 0x100000, CRC(5c674d5c) SHA1(d7b9beddeb247b584cea9ca6c43ec6869809b673) ) /* MB838000 */
1410   ROM_LOAD( "011-v12.v12", 0x100000, 0x080000, CRC(9f513d5a) SHA1(37b04962f0b8e2a74abd35c407337a6151dc4e95) ) /* MB834000 */
1411
1412   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1413   ROM_LOAD( "011-v21.v21", 0x000000, 0x080000, CRC(426cd040) SHA1(b2b45189837c8287223c2b8bd4df9525b72a3f16) ) /* MB834000 */
1414
1415   ROM_REGION( 0x400000, "sprites", 0 )
1416   ROM_LOAD16_BYTE( "011-c1.c1", 0x000000, 0x100000, CRC(cae7be57) SHA1(43b35b349594535689c358d9f324adda55e5281a) ) /* Plane 0,1 */ /* MB838200 */
1417   ROM_LOAD16_BYTE( "011-c2.c2", 0x000001, 0x100000, CRC(9e29d986) SHA1(b417763bad1acf76116cd56f4203c2d2677e22e5) ) /* Plane 2,3 */ /* MB838200 */
1418   ROM_LOAD16_BYTE( "011-c3.c3", 0x200000, 0x100000, CRC(14832ff2) SHA1(1179792d773d97d5e45e7d8f009051d362d72e24) ) /* Plane 0,1 */ /* MB838200 */
1419   ROM_LOAD16_BYTE( "011-c4.c4", 0x200001, 0x100000, CRC(b7f63162) SHA1(077a81b2bb0a8f17c9df6945078608f74432877a) ) /* Plane 2,3 */ /* MB838200 */
1420ROM_END
1421
1422/****************************************
1423 ID-0012
1424 unknown
1425****************************************/
1426
1427/****************************************
1428 ID-0013
1429 unknown
1430****************************************/
1431
1432/****************************************
1433 ID-0014
1434 . NGM-014
1435 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1436 . NGH-014
1437 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
1438****************************************/
1439
1440ROM_START( mutnat ) /* MVS AND AES VERSION */
1441   ROM_REGION( 0x100000, "maincpu", 0 )
1442   ROM_LOAD16_WORD_SWAP( "014-p1.p1", 0x000000, 0x080000, CRC(6f1699c8) SHA1(87206f67a619dede7959230f9ff3701b8b78957a) ) /* CXK384500 */
1443
1444   NEO_SFIX_128K( "014-s1.s1", CRC(99419733) SHA1(b2524af8704941acc72282aa1d62fd4c93e3e822) ) /* CXK381000 */
1445
1446   NEO_BIOS_AUDIO_128K( "014-m1.m1", CRC(b6683092) SHA1(623ec7ec2915fb077bf65b4a16c815e071c25259) ) /* CXK381003A */
1447
1448   ROM_REGION( 0x200000, "ymsnd", 0 )
1449   ROM_LOAD( "014-v1.v1", 0x000000, 0x100000, CRC(25419296) SHA1(c9fc04987c4e0875d276e1a0fb671740b6f548ad) ) /* CXK388000 */
1450   ROM_LOAD( "014-v2.v2", 0x100000, 0x100000, CRC(0de53d5e) SHA1(467f6040da3dfb1974785e95e14c3f608a93720a) ) /* CXK388000 */
1451
1452   NO_DELTAT_REGION
1453
1454   ROM_REGION( 0x400000, "sprites", 0 )
1455   ROM_LOAD16_BYTE( "014-c1.c1", 0x000000, 0x100000, CRC(5e4381bf) SHA1(d429a5e09dafd2fb99495658b3652eecbf58f91b) ) /* Plane 0,1 */ /* CXK388000 */
1456   ROM_LOAD16_BYTE( "014-c2.c2", 0x000001, 0x100000, CRC(69ba4e18) SHA1(b3369190c47771a790c7adffa958ff55d90e758b) ) /* Plane 2,3 */ /* CXK388000 */
1457   ROM_LOAD16_BYTE( "014-c3.c3", 0x200000, 0x100000, CRC(890327d5) SHA1(47f97bf120a8480758e1f3bb8982be4c5325c036) ) /* Plane 0,1 */ /* CXK388000 */
1458   ROM_LOAD16_BYTE( "014-c4.c4", 0x200001, 0x100000, CRC(e4002651) SHA1(17e53a5f4708866a120415bf24f3b89621ad0bcc) ) /* Plane 2,3 */ /* CXK388000 */
1459ROM_END
1460
1461/****************************************
1462 ID-0015
1463 unknown
1464****************************************/
1465
1466/****************************************
1467 ID-0016
1468 . NGM-016
1469 NEO-MVS PROG42G   / NEO-MVS CHA42G
1470 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1471 . NGH-016
1472 NEO-AEG PROG42G / NEO-AEG CHA42G
1473****************************************/
1474
1475ROM_START( kotm ) /* MVS VERSION */
1476   ROM_REGION( 0x100000, "maincpu", 0 )
1477   ROM_LOAD16_WORD_SWAP( "016-p1.p1", 0x000000, 0x080000, CRC(1b818731) SHA1(b98b1b33c0301fd79aac908f6b635dd00d1cb08d) ) /* TC534200 */
1478   ROM_LOAD16_WORD_SWAP( "016-p2.p2", 0x080000, 0x020000, CRC(12afdc2b) SHA1(3a95f5910cbb9f17e63ddece995c6e120fa2f622) ) /* TC531024 */
1479
1480   NEO_SFIX_128K( "016-s1.s1", CRC(1a2eeeb3) SHA1(8d2b96d395020197bc59294b6b0c8d62b1d8d4dd) ) /* TC531000 */
1481
1482   NEO_BIOS_AUDIO_128K( "016-m1.m1", CRC(9da9ca10) SHA1(88b915827d529f39c365d3e41197d5461e07a085) ) /* TC531001 */
1483
1484   ROM_REGION( 0x200000, "ymsnd", 0 )
1485   ROM_LOAD( "016-v1.v1", 0x000000, 0x100000, CRC(86c0a502) SHA1(7fe2db0c64aefdd14d6c36f7fcd6442591e9a014) ) /* TC538200 */
1486   ROM_LOAD( "016-v2.v2", 0x100000, 0x100000, CRC(5bc23ec5) SHA1(f4ff5d20587469daa026d5c812739335ce53cfdf) ) /* TC538200 */
1487
1488   NO_DELTAT_REGION
1489
1490   ROM_REGION( 0x400000, "sprites", 0 )
1491   ROM_LOAD16_BYTE( "016-c1.c1", 0x000000, 0x100000, CRC(71471c25) SHA1(bc8e3fee56b33ef2bac5b4b852339d2fbcd09b7c) ) /* Plane 0,1 */ /* TC538200 */
1492   ROM_LOAD16_BYTE( "016-c2.c2", 0x000001, 0x100000, CRC(320db048) SHA1(d6b43834de6f5442e23ca8fb26b3a36e96790d8d) ) /* Plane 2,3 */ /* TC538200 */
1493   ROM_LOAD16_BYTE( "016-c3.c3", 0x200000, 0x100000, CRC(98de7995) SHA1(e33edf4d36c82196d2b474e37be180a05976f558) ) /* Plane 0,1 */ /* TC538200 */
1494   ROM_LOAD16_BYTE( "016-c4.c4", 0x200001, 0x100000, CRC(070506e2) SHA1(3a2ec365e1d87a9c5ce1ee9bea88402a8eef4ed7) ) /* Plane 2,3 */ /* TC538200 */
1495ROM_END
1496
1497ROM_START( kotmh ) /* AES VERSION */
1498   ROM_REGION( 0x100000, "maincpu", 0 )
1499   ROM_LOAD16_WORD_SWAP( "016-hp1.p1",0x000000, 0x080000, CRC(b774621e) SHA1(7684b2e07163aec68cd083ef1d8900f855f6cb42) ) /* TC534200 */
1500   ROM_LOAD16_WORD_SWAP( "016-p2.p2", 0x080000, 0x020000, CRC(12afdc2b) SHA1(3a95f5910cbb9f17e63ddece995c6e120fa2f622) ) /* TC531024 */
1501
1502   NEO_SFIX_128K( "016-s1.s1", CRC(1a2eeeb3) SHA1(8d2b96d395020197bc59294b6b0c8d62b1d8d4dd) ) /* TC531000 */
1503
1504   NEO_BIOS_AUDIO_128K( "016-m1.m1", CRC(9da9ca10) SHA1(88b915827d529f39c365d3e41197d5461e07a085) ) /* TC531001 */
1505
1506   ROM_REGION( 0x200000, "ymsnd", 0 )
1507   ROM_LOAD( "016-v1.v1", 0x000000, 0x100000, CRC(86c0a502) SHA1(7fe2db0c64aefdd14d6c36f7fcd6442591e9a014) ) /* TC538200 */
1508   ROM_LOAD( "016-v2.v2", 0x100000, 0x100000, CRC(5bc23ec5) SHA1(f4ff5d20587469daa026d5c812739335ce53cfdf) ) /* TC538200 */
1509
1510   NO_DELTAT_REGION
1511
1512   ROM_REGION( 0x400000, "sprites", 0 )
1513   ROM_LOAD16_BYTE( "016-c1.c1", 0x000000, 0x100000, CRC(71471c25) SHA1(bc8e3fee56b33ef2bac5b4b852339d2fbcd09b7c) ) /* Plane 0,1 */ /* TC538200 */
1514   ROM_LOAD16_BYTE( "016-c2.c2", 0x000001, 0x100000, CRC(320db048) SHA1(d6b43834de6f5442e23ca8fb26b3a36e96790d8d) ) /* Plane 2,3 */ /* TC538200 */
1515   ROM_LOAD16_BYTE( "016-c3.c3", 0x200000, 0x100000, CRC(98de7995) SHA1(e33edf4d36c82196d2b474e37be180a05976f558) ) /* Plane 0,1 */ /* TC538200 */
1516   ROM_LOAD16_BYTE( "016-c4.c4", 0x200001, 0x100000, CRC(070506e2) SHA1(3a2ec365e1d87a9c5ce1ee9bea88402a8eef4ed7) ) /* Plane 2,3 */ /* TC538200 */
1517ROM_END
1518
1519/****************************************
1520 ID-0017
1521 . NGM-017
1522 NEO-MVS PROG42G / NEO-MVS CHA42G
1523 . NGH-017
1524 NEO-AEG PROG42G / NEO-AEG CHA42G
1525****************************************/
1526
1527ROM_START( sengoku ) /* MVS AND AES VERSION */
1528   ROM_REGION( 0x100000, "maincpu", 0 )
1529   ROM_LOAD16_WORD_SWAP( "017-p1.p1", 0x000000, 0x080000, CRC(f8a63983) SHA1(7a10ecb2f0fd8315641374c065d2602107b09e72) ) /* TC534200 */
1530   ROM_LOAD16_WORD_SWAP( "017-p2.p2", 0x080000, 0x020000, CRC(3024bbb3) SHA1(88892e1292dd60f35a76f9a22e623d4f0f9693cc) ) /* TC531024 */
1531
1532   NEO_SFIX_128K( "017-s1.s1", CRC(b246204d) SHA1(73dce64c61fb5bb7e836a8e60f081bb77d80d281) ) /* TC531000 */
1533
1534   NEO_BIOS_AUDIO_128K( "017-m1.m1", CRC(9b4f34c6) SHA1(7f3a51f47fcbaa598f5c76bc66e2c53c8dfd852d) ) /* TC531001 */
1535
1536   ROM_REGION( 0x200000, "ymsnd", 0 )
1537   ROM_LOAD( "017-v1.v1", 0x000000, 0x100000, CRC(23663295) SHA1(9374a5d9f3de8e6a97c11f07d8b4485ac9d55edb) ) /* TC538200 */
1538   ROM_LOAD( "017-v2.v2", 0x100000, 0x100000, CRC(f61e6765) SHA1(1c9b287996947319eb3d288c3d82932cf01039db) ) /* TC538200 */
1539
1540   NO_DELTAT_REGION
1541
1542   ROM_REGION( 0x400000, "sprites", 0 )
1543   ROM_LOAD16_BYTE( "017-c1.c1", 0x000000, 0x100000, CRC(b4eb82a1) SHA1(79879e2ea78c07d04c88dc9a1ad59604b7a078be) ) /* Plane 0,1 */ /* TC538200 */
1544   ROM_LOAD16_BYTE( "017-c2.c2", 0x000001, 0x100000, CRC(d55c550d) SHA1(6110f693aa23710939c04153cf5af26493e4a03f) ) /* Plane 2,3 */ /* TC538200 */
1545   ROM_LOAD16_BYTE( "017-c3.c3", 0x200000, 0x100000, CRC(ed51ef65) SHA1(e8a8d86e24454948e51a75c883bc6e4091cbf820) ) /* Plane 0,1 */ /* TC538200 */
1546   ROM_LOAD16_BYTE( "017-c4.c4", 0x200001, 0x100000, CRC(f4f3c9cb) SHA1(8faafa89dbd0345218f71f891419d2e4e7578200) ) /* Plane 2,3 */ /* TC538200 */
1547ROM_END
1548
1549ROM_START( sengokuh ) /* AES VERSION (US) */
1550   ROM_REGION( 0x100000, "maincpu", 0 )
1551   ROM_LOAD16_WORD_SWAP( "017-hp1.p1", 0x000000, 0x080000, CRC(33eccae0) SHA1(000ccf9a9c73df75eeba3f2c367c3a1a9e0a3a6b) ) /* TC534200 */
1552   ROM_LOAD16_WORD_SWAP( "017-p2.p2",  0x080000, 0x020000, CRC(3024bbb3) SHA1(88892e1292dd60f35a76f9a22e623d4f0f9693cc) ) /* TC531024 */
1553
1554   NEO_SFIX_128K( "017-s1.s1", CRC(b246204d) SHA1(73dce64c61fb5bb7e836a8e60f081bb77d80d281) ) /* TC531000 */
1555
1556   NEO_BIOS_AUDIO_128K( "017-m1.m1", CRC(9b4f34c6) SHA1(7f3a51f47fcbaa598f5c76bc66e2c53c8dfd852d) ) /* TC531001 */
1557
1558   ROM_REGION( 0x200000, "ymsnd", 0 )
1559   ROM_LOAD( "017-v1.v1", 0x000000, 0x100000, CRC(23663295) SHA1(9374a5d9f3de8e6a97c11f07d8b4485ac9d55edb) ) /* TC538200 */
1560   ROM_LOAD( "017-v2.v2", 0x100000, 0x100000, CRC(f61e6765) SHA1(1c9b287996947319eb3d288c3d82932cf01039db) ) /* TC538200 */
1561
1562   NO_DELTAT_REGION
1563
1564   ROM_REGION( 0x400000, "sprites", 0 )
1565   ROM_LOAD16_BYTE( "017-c1.c1", 0x000000, 0x100000, CRC(b4eb82a1) SHA1(79879e2ea78c07d04c88dc9a1ad59604b7a078be) ) /* Plane 0,1 */ /* TC538200 */
1566   ROM_LOAD16_BYTE( "017-c2.c2", 0x000001, 0x100000, CRC(d55c550d) SHA1(6110f693aa23710939c04153cf5af26493e4a03f) ) /* Plane 2,3 */ /* TC538200 */
1567   ROM_LOAD16_BYTE( "017-c3.c3", 0x200000, 0x100000, CRC(ed51ef65) SHA1(e8a8d86e24454948e51a75c883bc6e4091cbf820) ) /* Plane 0,1 */ /* TC538200 */
1568   ROM_LOAD16_BYTE( "017-c4.c4", 0x200001, 0x100000, CRC(f4f3c9cb) SHA1(8faafa89dbd0345218f71f891419d2e4e7578200) ) /* Plane 2,3 */ /* TC538200 */
1569ROM_END
1570
1571/****************************************
1572 ID-0018
1573 . NGM-018
1574 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1575 also found on (seen several times; CHA and PROG board are 'manually patched up' with wires and resistors)
1576 NEO-MVS PROG42G / NEO-MVS CHA42G
1577 . NGH-018
1578 NEO-AEG PROG42G / NEO-AEG CHA42G
1579****************************************/
1580
1581ROM_START( burningf ) /* MVS AND AES VERSION */
1582   ROM_REGION( 0x100000, "maincpu", 0 )
1583   ROM_LOAD16_WORD_SWAP( "018-p1.p1", 0x000000, 0x080000, CRC(4092c8db) SHA1(df194a4ad2c35e0e18bc053ff9284183444a4666) ) /* HN62434 */
1584
1585   NEO_SFIX_128K( "018-s1.s1", CRC(6799ea0d) SHA1(ec75ef9dfdcb0b123574fc6d81ebaaadfba32fb5) ) /* HN62321 */
1586
1587   NEO_BIOS_AUDIO_128K( "018-m1.m1", CRC(0c939ee2) SHA1(57d580d3279e66b9fe66bbcc68529d3384a926ff) ) /* HN62321A */
1588
1589   ROM_REGION( 0x200000, "ymsnd", 0 )
1590   ROM_LOAD( "018-v1.v1", 0x000000, 0x100000, CRC(508c9ffc) SHA1(cd3a97a233a4585f8507116aba85884623cccdc4) ) /* HN62408 */
1591   ROM_LOAD( "018-v2.v2", 0x100000, 0x100000, CRC(854ef277) SHA1(4b3083b9c80620064cb44e812a787a700e32a6f3) ) /* HN62408 */
1592
1593   NO_DELTAT_REGION
1594
1595   ROM_REGION( 0x400000, "sprites", 0 )
1596   ROM_LOAD16_BYTE( "018-c1.c1", 0x000000, 0x100000, CRC(25a25e9b) SHA1(3cf02d0662e190678d0530d7b7d3f425209adf83) ) /* Plane 0,1 */ /* HN62408 */
1597   ROM_LOAD16_BYTE( "018-c2.c2", 0x000001, 0x100000, CRC(d4378876) SHA1(45659aa1755d96b992c977042186e47fff68bba9) ) /* Plane 2,3 */ /* HN62408 */
1598   ROM_LOAD16_BYTE( "018-c3.c3", 0x200000, 0x100000, CRC(862b60da) SHA1(e2303eb1609f1050f0b4f46693a15e37deb176fb) ) /* Plane 0,1 */ /* HN62408 */
1599   ROM_LOAD16_BYTE( "018-c4.c4", 0x200001, 0x100000, CRC(e2e0aff7) SHA1(1c691c092a6e2787de4f433b0eb9252bfdaa7e16) ) /* Plane 2,3 */ /* HN62408 */
1600ROM_END
1601
1602ROM_START( burningfh ) /* AES VERSION (US) */
1603   ROM_REGION( 0x100000, "maincpu", 0 )
1604   ROM_LOAD16_WORD_SWAP( "018-hp1.p1", 0x000000, 0x080000, CRC(ddffcbf4) SHA1(c646c4bbdb4e9b32df76c90f582ccd69fcc9f8e7) ) /* HN62434 */
1605
1606   NEO_SFIX_128K( "018-s1.s1", CRC(6799ea0d) SHA1(ec75ef9dfdcb0b123574fc6d81ebaaadfba32fb5) ) /* HN62321 */
1607
1608   NEO_BIOS_AUDIO_128K( "018-m1.m1", CRC(0c939ee2) SHA1(57d580d3279e66b9fe66bbcc68529d3384a926ff) ) /* HN62321A */
1609
1610   ROM_REGION( 0x200000, "ymsnd", 0 )
1611   ROM_LOAD( "018-v1.v1", 0x000000, 0x100000, CRC(508c9ffc) SHA1(cd3a97a233a4585f8507116aba85884623cccdc4) ) /* HN62408 */
1612   ROM_LOAD( "018-v2.v2", 0x100000, 0x100000, CRC(854ef277) SHA1(4b3083b9c80620064cb44e812a787a700e32a6f3) ) /* HN62408 */
1613
1614   NO_DELTAT_REGION
1615
1616   ROM_REGION( 0x400000, "sprites", 0 )
1617   ROM_LOAD16_BYTE( "018-c1.c1", 0x000000, 0x100000, CRC(25a25e9b) SHA1(3cf02d0662e190678d0530d7b7d3f425209adf83) ) /* Plane 0,1 */ /* HN62408 */
1618   ROM_LOAD16_BYTE( "018-c2.c2", 0x000001, 0x100000, CRC(d4378876) SHA1(45659aa1755d96b992c977042186e47fff68bba9) ) /* Plane 2,3 */ /* HN62408 */
1619   ROM_LOAD16_BYTE( "018-c3.c3", 0x200000, 0x100000, CRC(862b60da) SHA1(e2303eb1609f1050f0b4f46693a15e37deb176fb) ) /* Plane 0,1 */ /* HN62408 */
1620   ROM_LOAD16_BYTE( "018-c4.c4", 0x200001, 0x100000, CRC(e2e0aff7) SHA1(1c691c092a6e2787de4f433b0eb9252bfdaa7e16) ) /* Plane 2,3 */ /* HN62408 */
1621ROM_END
1622
1623ROM_START( burningfp ) /* early prototype - all roms were hand labeled with CRCs, dumps verified against them */
1624   ROM_REGION( 0x100000, "maincpu", 0 )
1625   ROM_LOAD16_BYTE( "proto_018-p1.p1", 0x000001, 0x080000, CRC(5b4032e7) SHA1(55df91dad6f484d3d49c28ab5972700bf71a8662) )
1626   ROM_LOAD16_BYTE( "proto_018-p2.p2", 0x000000, 0x080000, CRC(78762f68) SHA1(12170fc6efe75cb5d32624033d3d341032c97548) )
1627
1628   NEO_SFIX_128K( "proto_018-s1.s1", CRC(f3d130e8) SHA1(2fdeb93f4bb2a60d391cac2822be41661b1e1795) )
1629
1630   NEO_BIOS_AUDIO_128K( "proto_018-m1.m1", CRC(470dd5d4) SHA1(4291811b4aefe45261a1ae3631b6999fcd74fb3f) )
1631
1632   ROM_REGION( 0x200000, "ymsnd", 0 )
1633   ROM_LOAD( "proto_018-v11.v11", 0x000000, 0x080000, CRC(dc07ea3c) SHA1(c3e71aaec44ead7ddc581565d16b90030e6db5fd) )
1634   ROM_LOAD( "proto_018-v12.v12", 0x080000, 0x080000, CRC(f1ae637c) SHA1(02a4c7d4a544350a314ab7b26d8c9d3baa8f5778) )
1635   ROM_LOAD( "proto_018-v21.v21", 0x100000, 0x080000, CRC(9f3b4eda) SHA1(7f516923d04daa483b4b99c9babba66505931a34) )
1636
1637   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1638   ROM_COPY( "ymsnd", 0x100000, 0x00000, 0x80000 )
1639
1640   ROM_REGION( 0x400000, "sprites", 0 ) // note, ROM_LOAD32_BYTE
1641   ROM_LOAD32_BYTE( "proto_018-c1.c1", 0x000000, 0x80000, CRC(6569018b) SHA1(25040e0a9c2b72900100a22a2a41de5f6c339d8a) ) /* Plane 0 */
1642   ROM_LOAD32_BYTE( "proto_018-c2.c2", 0x000002, 0x80000, CRC(6949b501) SHA1(d8ee48837faff6cc849046ee8757b2b94d440303) ) /* Plane 2 */
1643   ROM_LOAD32_BYTE( "proto_018-c3.c3", 0x000001, 0x80000, CRC(410f653b) SHA1(ce94667721baa7b2c318fc268e3bb9209671c9f5) ) /* Plane 1 */
1644   ROM_LOAD32_BYTE( "proto_018-c4.c4", 0x000003, 0x80000, CRC(d43bf2a5) SHA1(c27985d8973611d02570f469a0d8cb4f5b63b614) ) /* Plane 3 */
1645   ROM_LOAD32_BYTE( "proto_018-c5.c5", 0x200000, 0x80000, CRC(837d09d3) SHA1(d3b06931fca6123604549599544b04529ef34c53) ) /* Plane 0 */
1646   ROM_LOAD32_BYTE( "proto_018-c6.c6", 0x200002, 0x80000, CRC(5fee51e7) SHA1(835c632fa12a1d5b4104cd80b8f686ac80b314a1) ) /* Plane 2 */
1647   ROM_LOAD32_BYTE( "proto_018-c7.c7", 0x200001, 0x80000, CRC(0f3f0823) SHA1(ec1d681c1795de43d20f30f85956e2473ec39c95) ) /* Plane 1 */
1648   ROM_LOAD32_BYTE( "proto_018-c8.c8", 0x200003, 0x80000, CRC(67cc9e34) SHA1(dc72a464c1456a4d2f7b992b416a984fb7885e99) ) /* Plane 3 */
1649ROM_END
1650
1651/****************************************
1652 ID-0019
1653 . NGM-019
1654 NEO-MVS PROG-HERO / NEO-MVS CHA-32
1655 . NGH-019
1656 NEO-AEG PROG-HERO / NEO-AEG CHA-32
1657****************************************/
1658
1659ROM_START( lbowling ) /* MVS AND AES VERSION */
1660   ROM_REGION( 0x100000, "maincpu", 0 )
1661   ROM_LOAD16_WORD_SWAP( "019-p1.p1", 0x000000, 0x080000, CRC(a2de8445) SHA1(893d7ae72b4644123469de143fa35fac1cbcd61e) ) /* TC534200 */
1662
1663   ROM_REGION( 0x1000, "mcu", 0 )    /* Hitachi HD6301V1 MCU */
1664   ROM_LOAD( "hd6301v1p.com", 0x0000, 0x1000, NO_DUMP )
1665
1666   NEO_SFIX_128K( "019-s1.s1", CRC(5fcdc0ed) SHA1(86415077e7adc3ba6153eeb4fb0c62cf36e903fa) ) /* TC531000 */
1667
1668   NEO_BIOS_AUDIO_128K( "019-m1.m1", CRC(d568c17d) SHA1(a2e318ed6ad1809c79f3f0853d75e0dd1a2f275c) ) /* TC531001 */
1669
1670   ROM_REGION( 0x100000, "ymsnd", 0 )
1671   ROM_LOAD( "019-v11.v11", 0x000000, 0x080000, CRC(0fb74872) SHA1(38c555926c77576d63472bc075210c42e9ce13a3) ) /* TC534000 */
1672   ROM_LOAD( "019-v12.v12", 0x080000, 0x080000, CRC(029faa57) SHA1(7bbaa87e38929ab1e32df5f6a2ec0fd5001e7cdb) ) /* TC534000 */
1673
1674   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1675   ROM_LOAD( "019-v21.v21", 0x000000, 0x080000, CRC(2efd5ada) SHA1(8ba70f5f665d566824333075227d9bce1253b8d8) ) /* TC534000 */
1676
1677   ROM_REGION( 0x100000, "sprites", 0 )
1678   ROM_LOAD16_BYTE( "019-c1.c1", 0x000000, 0x080000, CRC(4ccdef18) SHA1(5011e30ec235d0b0a5a513a11d4275777e61acdb) ) /* Plane 0,1 */ /* TC534200 */
1679   ROM_LOAD16_BYTE( "019-c2.c2", 0x000001, 0x080000, CRC(d4dd0802) SHA1(82069752028c118d42384a95befde45844f0f247) ) /* Plane 2,3 */ /* TC534200 */
1680ROM_END
1681
1682/****************************************
1683 ID-0020
1684 . NGM-020
1685 NEO-MVS PROG8M42 / NEO-MVS CHA-8M
1686 . NGH-020
1687 NEO-AEG PROG8M42 / NEO-AEG CHA-8M
1688****************************************/
1689
1690ROM_START( gpilots ) /* MVS AND AES VERSION */
1691   ROM_REGION( 0x100000, "maincpu", 0 )
1692   ROM_LOAD16_WORD_SWAP( "020-p1.p1", 0x000000, 0x080000, CRC(e6f2fe64) SHA1(50ab82517e077727d97668a4df2b9b96d2e78ab6) ) /* TC534200 */
1693   ROM_LOAD16_WORD_SWAP( "020-p2.p2", 0x080000, 0x020000, CRC(edcb22ac) SHA1(505d2db38ae999b7d436e8f2ff56b81796d62b54) ) /* TC531024 */
1694
1695   NEO_SFIX_128K( "020-s1.s1", CRC(a6d83d53) SHA1(9a8c092f89521cc0b27a385aa72e29cbaca926c5) ) /* TC531000 */
1696
1697   NEO_BIOS_AUDIO_128K( "020-m1.m1", CRC(48409377) SHA1(0e212d2c76856a90b2c2fdff675239525972ac43) ) /* TC531001 */
1698
1699   ROM_REGION( 0x180000, "ymsnd", 0 )
1700   ROM_LOAD( "020-v11.v11", 0x000000, 0x100000, CRC(1b526c8b) SHA1(2801868d2badcf8aaf5d490e010e4049d81d7bc1) ) /* TC538200 */
1701   ROM_LOAD( "020-v12.v12", 0x100000, 0x080000, CRC(4a9e6f03) SHA1(d3ac11f333b03d8a318921bdaefb14598e289a14) ) /* TC534200 */
1702
1703   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1704   ROM_LOAD( "020-v21.v21", 0x000000, 0x080000, CRC(7abf113d) SHA1(5b2a0e70f2eaf4638b44702dacd4cb17838fb1d5) ) /* TC534200 */
1705
1706   ROM_REGION( 0x400000, "sprites", 0 )
1707   ROM_LOAD16_BYTE( "020-c1.c1", 0x000000, 0x100000, CRC(bd6fe78e) SHA1(50b704862cd79d64fa488e621b079f6e413c33bc) ) /* Plane 0,1 */ /* TC538200 */
1708   ROM_LOAD16_BYTE( "020-c2.c2", 0x000001, 0x100000, CRC(5f4a925c) SHA1(71c5ef8141234daaa7025427a6c65e79766973a5) ) /* Plane 2,3 */ /* TC538200 */
1709   ROM_LOAD16_BYTE( "020-c3.c3", 0x200000, 0x100000, CRC(d1e42fd0) SHA1(f0d476aebbdc2ce008f5f0783be86d295b24aa44) ) /* Plane 0,1 */ /* TC538200 */
1710   ROM_LOAD16_BYTE( "020-c4.c4", 0x200001, 0x100000, CRC(edde439b) SHA1(79be7b10ecdab54c2f77062b8f5fda0e299fa982) ) /* Plane 2,3 */ /* TC538200 */
1711ROM_END
1712
1713ROM_START( gpilotsh ) /* AES VERSION (US) */
1714   ROM_REGION( 0x100000, "maincpu", 0 )
1715   ROM_LOAD16_WORD_SWAP( "020-hp1.p1", 0x000000, 0x080000, CRC(7cdb01ce) SHA1(32cae2ddf5e26fb7e8a09132e600220db82df3b8) ) /* TC534200 */
1716   ROM_LOAD16_WORD_SWAP( "020-p2.p2",  0x080000, 0x020000, CRC(edcb22ac) SHA1(505d2db38ae999b7d436e8f2ff56b81796d62b54) ) /* TC531024 */
1717
1718   NEO_SFIX_128K( "020-s1.s1", CRC(a6d83d53) SHA1(9a8c092f89521cc0b27a385aa72e29cbaca926c5) ) /* TC531000 */
1719
1720   NEO_BIOS_AUDIO_128K( "020-m1.m1", CRC(48409377) SHA1(0e212d2c76856a90b2c2fdff675239525972ac43) ) /* TC531001 */
1721
1722   ROM_REGION( 0x180000, "ymsnd", 0 )
1723   ROM_LOAD( "020-v11.v11", 0x000000, 0x100000, CRC(1b526c8b) SHA1(2801868d2badcf8aaf5d490e010e4049d81d7bc1) ) /* TC538200 */
1724   ROM_LOAD( "020-v12.v12", 0x100000, 0x080000, CRC(4a9e6f03) SHA1(d3ac11f333b03d8a318921bdaefb14598e289a14) ) /* TC534200 */
1725
1726   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1727   ROM_LOAD( "020-v21.v21", 0x000000, 0x080000, CRC(7abf113d) SHA1(5b2a0e70f2eaf4638b44702dacd4cb17838fb1d5) ) /* TC534200 */
1728
1729   ROM_REGION( 0x400000, "sprites", 0 )
1730   ROM_LOAD16_BYTE( "020-c1.c1", 0x000000, 0x100000, CRC(bd6fe78e) SHA1(50b704862cd79d64fa488e621b079f6e413c33bc) ) /* Plane 0,1 */ /* TC538200 */
1731   ROM_LOAD16_BYTE( "020-c2.c2", 0x000001, 0x100000, CRC(5f4a925c) SHA1(71c5ef8141234daaa7025427a6c65e79766973a5) ) /* Plane 2,3 */ /* TC538200 */
1732   ROM_LOAD16_BYTE( "020-c3.c3", 0x200000, 0x100000, CRC(d1e42fd0) SHA1(f0d476aebbdc2ce008f5f0783be86d295b24aa44) ) /* Plane 0,1 */ /* TC538200 */
1733   ROM_LOAD16_BYTE( "020-c4.c4", 0x200001, 0x100000, CRC(edde439b) SHA1(79be7b10ecdab54c2f77062b8f5fda0e299fa982) ) /* Plane 2,3 */ /* TC538200 */
1734ROM_END
1735
1736/****************************************
1737 ID-0021
1738 . NGM-021
1739 NEO-MVS PROG-EP / NEO-MVS CHA-32
1740 . NGH-021
1741 NEO-AEG PROG B  / NEO-AEG CHA-32
1742****************************************/
1743
1744ROM_START( joyjoy ) /* MVS AND AES VERSION */
1745   ROM_REGION( 0x100000, "maincpu", 0 )
1746   ROM_LOAD16_WORD_SWAP( "021-p1.p1", 0x000000, 0x080000, CRC(39c3478f) SHA1(06ebe54c9c4e14c5c31e770013d58b7162359ecc) ) /* MB834200 */
1747
1748   NEO_SFIX_128K( "021-s1.s1", CRC(6956d778) SHA1(e3757776d60dc07d8e07c9ca61b223b14732f860) ) /* MB831000 */
1749
1750   NEO_BIOS_AUDIO_256K( "021-m1.m1", CRC(5a4be5e8) SHA1(552f025ce0d51c25f42e1a81cf0d08376ca5475d) ) /* MB832000 */
1751
1752   ROM_REGION( 0x080000, "ymsnd", 0 )
1753   ROM_LOAD( "021-v11.v11", 0x000000, 0x080000, CRC(66c1e5c4) SHA1(7e85420021d4c39c36ed75a1cec567c5610ffce0) ) /* MB834000 */
1754
1755   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1756   ROM_LOAD( "021-v21.v21", 0x000000, 0x080000, CRC(8ed20a86) SHA1(d15cba5eac19ea56fdd4877541f1bb3eb755ebba) ) /* MB834000 */
1757
1758   ROM_REGION( 0x100000, "sprites", 0 )
1759   ROM_LOAD16_BYTE( "021-c1.c1", 0x000000, 0x080000, CRC(509250ec) SHA1(d6ddb16d8222088f153a85a905bcb99541a5f2cf) ) /* Plane 0,1 */ /* MB834200 */
1760   ROM_LOAD16_BYTE( "021-c2.c2", 0x000001, 0x080000, CRC(09ed5258) SHA1(6bf50cd10236e29146b49e714a0e0ebcfe30a682) ) /* Plane 2,3 */ /* MB834200 */
1761ROM_END
1762
1763/****************************************
1764 ID-0022
1765 . ALM-001
1766 NEO-MVS PROG8M42  / NEO-MVS CHA-8M
1767 . ALH-001
1768 NEO-AEG PROG 8M42 / NEO-AEG CHA-8M
1769****************************************/
1770
1771ROM_START( bjourney ) /* MVS AND AES VERSION */
1772   ROM_REGION( 0x100000, "maincpu", 0 )
1773   ROM_LOAD16_WORD_SWAP( "022-p1.p1", 0x000000, 0x100000, CRC(6a2f6d4a) SHA1(b8ca548e56f1c7abcdce415ba7329e0cf698ee13) ) /* TC538200 */
1774
1775   NEO_SFIX_128K( "022-s1.s1", CRC(843c3624) SHA1(dbdf86c193b7c1d795f8c21f2c103c1d3e18abbe) ) /* TC531000 */
1776
1777   NEO_BIOS_AUDIO_128K( "022-m1.m1", CRC(8e1d4ab6) SHA1(deabc11ab81e7e68a3e041c03a127ae28d0d7264) ) /* TC531001 */
1778
1779   ROM_REGION( 0x200000, "ymsnd", 0 )
1780   ROM_LOAD( "022-v11.v11", 0x000000, 0x100000, CRC(2cb4ad91) SHA1(169ec7303c4275155a66a88cc08270c24132bb36) ) /* TC538200 */
1781   ROM_LOAD( "022-v22.v22", 0x100000, 0x100000, CRC(65a54d13) SHA1(a591fbcedca8f679dacbebcd554e3aa3fd163e92) ) /* TC538200 */
1782
1783   NO_DELTAT_REGION
1784
1785   ROM_REGION( 0x300000, "sprites", 0 )
1786   ROM_LOAD16_BYTE( "022-c1.c1", 0x000000, 0x100000, CRC(4d47a48c) SHA1(6e282285be72583d828e7765b1c1695ecdc44777) ) /* Plane 0,1 */ /* TC538200 */
1787   ROM_LOAD16_BYTE( "022-c2.c2", 0x000001, 0x100000, CRC(e8c1491a) SHA1(c468d2556b3de095aaa05edd1bc16d71303e9478) ) /* Plane 2,3 */ /* TC538200 */
1788   ROM_LOAD16_BYTE( "022-c3.c3", 0x200000, 0x080000, CRC(66e69753) SHA1(974b823fc62236fbc23e727f25b61a805a707a9e) ) /* Plane 0,1 */ /* TC534200 */
1789   ROM_LOAD16_BYTE( "022-c4.c4", 0x200001, 0x080000, CRC(71bfd48a) SHA1(47288be69e6992d09ebef108b4de9ffab6293dc8) ) /* Plane 2,3 */ /* TC534200 */
1790ROM_END
1791
1792/****************************************
1793 ID-0023
1794 . NGM-023
1795 NEO-MVS PROG42G / NEO-MVS CHA42G
1796 . NGH-023
1797 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
1798****************************************/
1799
1800ROM_START( quizdais ) /* MVS AND AES VERSION */
1801   ROM_REGION( 0x100000, "maincpu", 0 )
1802   ROM_LOAD16_WORD_SWAP( "023-p1.p1", 0x000000, 0x100000, CRC(c488fda3) SHA1(4cdf2f1837fffd720efef42f81f933bdf2ef1402) ) /* TC538200 */
1803
1804   NEO_SFIX_128K( "023-s1.s1", CRC(ac31818a) SHA1(93c8d67a93606a2e02f12ca4cab849dc3f3de286) ) /* TC531000 */
1805
1806   NEO_BIOS_AUDIO_128K( "023-m1.m1", CRC(2a2105e0) SHA1(26fc13556fda2dbeb7b5b035abd994e302dc7662) ) /* TC531001 */
1807
1808   ROM_REGION( 0x100000, "ymsnd", 0 )
1809   ROM_LOAD( "023-v1.v1", 0x000000, 0x100000, CRC(a53e5bd3) SHA1(cf115c6478ce155d889e6a5acb962339e08e024b) ) /* TC538200 */
1810
1811   NO_DELTAT_REGION
1812
1813   ROM_REGION( 0x200000, "sprites", 0 )
1814   ROM_LOAD16_BYTE( "023-c1.c1", 0x000000, 0x100000, CRC(2999535a) SHA1(0deabf771039987b559edc2444eea741bd7ba861) ) /* Plane 0,1 */ /* TC538200 */
1815   ROM_LOAD16_BYTE( "023-c2.c2", 0x000001, 0x100000, CRC(876a99e6) SHA1(8d1dcfc0927d7523f8be8203573192406ec654b4) ) /* Plane 2,3 */ /* TC538200 */
1816ROM_END
1817
1818ROM_START( quizdaisk ) /* KOREAN VERSION */
1819   ROM_REGION( 0x100000, "maincpu", 0 )
1820   ROM_LOAD16_WORD_SWAP( "123-p1.p1", 0x000000, 0x100000, CRC(a6f35eae) SHA1(edd3fd5ba8eae2231e2b0a6605fa00e5c6de094a) )
1821
1822   NEO_SFIX_128K( "123-s1.s1", CRC(53de938a) SHA1(5024fee3b245f8a069d7ecfa6f033b70ed1a5fce) )
1823
1824   NEO_BIOS_AUDIO_128K( "123-m1.m1", CRC(d67f53f9) SHA1(73a1bd175ae29dd957a907a046884f8715bd0a34) )
1825
1826   ROM_REGION( 0x200000, "ymsnd", 0 )
1827   ROM_LOAD( "123-v1.v1", 0x000000, 0x200000, CRC(986f4af9) SHA1(9e15d2142ec5e5d076582dc1cecfd724b0924f54) )
1828
1829   NO_DELTAT_REGION
1830
1831   ROM_REGION( 0x200000, "sprites", 0 )
1832   ROM_LOAD16_BYTE( "123-c1.c1", 0x000000, 0x100000, CRC(e579a606) SHA1(b9430ec157902f0707e5d52e69bd5d93792e7118) ) /* Plane 0,1 */
1833   ROM_LOAD16_BYTE( "123-c2.c2", 0x000001, 0x100000, CRC(e182c837) SHA1(a8f7648bf21ebd3efe3a49606b53220815a60d0f) ) /* Plane 2,3 */
1834ROM_END
1835
1836/****************************************
1837 ID-0024
1838 . NGM-024
1839 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1840 . NGH-024
1841****************************************/
1842
1843ROM_START( lresort )
1844   ROM_REGION( 0x100000, "maincpu", 0 )
1845   ROM_LOAD16_WORD_SWAP( "024-p1.p1", 0x000000, 0x080000, CRC(89c4ab97) SHA1(3a1817c427185ea1b44fe52f009c00b0a9007c85) ) /* TC534200 */
1846
1847   NEO_SFIX_128K( "024-s1.s1", CRC(5cef5cc6) SHA1(9ec305007bdb356e9f8f279beae5e2bcb3f2cf7b) ) /* TC531000 */
1848
1849   NEO_BIOS_AUDIO_128K( "024-m1.m1", CRC(cec19742) SHA1(ab6c6ba7737e68d2420a0617719c6d4c89039c45) ) /* TC531001 */
1850
1851   ROM_REGION( 0x200000, "ymsnd", 0 )
1852   ROM_LOAD( "024-v1.v1", 0x000000, 0x100000, CRC(efdfa063) SHA1(e4609ecbcc1c820758f229da5145f51285b50555) ) /* TC538200 */
1853   ROM_LOAD( "024-v2.v2", 0x100000, 0x100000, CRC(3c7997c0) SHA1(8cb7e8e69892b19d318978370dbc510d51b06a69) ) /* TC538200 */
1854
1855   NO_DELTAT_REGION
1856
1857   ROM_REGION( 0x300000, "sprites", 0 )
1858   ROM_LOAD16_BYTE( "024-c1.c1", 0x000000, 0x100000, CRC(3617c2dc) SHA1(8de2643a618272f8aa1c705363edb007f4a5f5b7) ) /* Plane 0,1 */ /* TC538200 */
1859   ROM_LOAD16_BYTE( "024-c2.c2", 0x000001, 0x100000, CRC(3f0a7fd8) SHA1(d0c9c7a9dde9ce175fb243d33ec11fa719d0158c) ) /* Plane 2,3 */ /* TC538200 */
1860   ROM_LOAD16_BYTE( "024-c3.c3", 0x200000, 0x080000, CRC(e9f745f8) SHA1(bbe6141da28b0db7bf5cf321d69b7e613e2414d7) ) /* Plane 0,1 */ /* TC534200 */
1861   ROM_LOAD16_BYTE( "024-c4.c4", 0x200001, 0x080000, CRC(7382fefb) SHA1(e916dec5bb5462eb9ae9711f08c7388937abb980) ) /* Plane 2,3 */ /* TC534200 */
1862ROM_END
1863
1864/****************************************
1865 ID-0025
1866 . NGM-025
1867 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1868 . NGH-025
1869 NEO-AEG PROG42G / NEO-AEG CHA42G
1870****************************************/
1871
1872ROM_START( eightman ) /* MVS AND AES VERSION */
1873   ROM_REGION( 0x100000, "maincpu", 0 )
1874   ROM_LOAD16_WORD_SWAP( "025-p1.p1", 0x000000, 0x080000, CRC(43344cb0) SHA1(29dfd699f35b0a74e20fedd6c9174c289f0ef6e0) ) /* TC574200 */
1875
1876   NEO_SFIX_128K( "025-s1.s1", CRC(a402202b) SHA1(75c44e1af459af155f5b892fd18706268dd5e602) ) /* TC531000 */
1877
1878   NEO_BIOS_AUDIO_128K( "025-m1.m1", CRC(9927034c) SHA1(205665361c5b2ab4f01ec480dd3c9b69db858d09) ) /* TC541000 */
1879
1880   ROM_REGION( 0x200000, "ymsnd", 0 )
1881   ROM_LOAD( "025-v1.v1", 0x000000, 0x100000, CRC(4558558a) SHA1(a4b277703ed67225c652be0d618daeca65a27b88) ) /* TC538200 */
1882   ROM_LOAD( "025-v2.v2", 0x100000, 0x100000, CRC(c5e052e9) SHA1(fa1119c90ce4c706a6aa0c17d7bc06aa3068d9b2) ) /* TC538200 */
1883
1884   NO_DELTAT_REGION
1885
1886   ROM_REGION( 0x300000, "sprites", 0 )
1887   ROM_LOAD16_BYTE( "025-c1.c1", 0x000000, 0x100000, CRC(555e16a4) SHA1(1c96f3d2fd0991680fbf627a6cdd26ad2cd60319) ) /* Plane 0,1 */ /* TC538200 */
1888   ROM_LOAD16_BYTE( "025-c2.c2", 0x000001, 0x100000, CRC(e1ee51c3) SHA1(da8d074bb4e923ed7b8a154fd31b42f2d65b8e96) ) /* Plane 2,3 */ /* TC538200 */
1889   ROM_LOAD16_BYTE( "025-c3.c3", 0x200000, 0x080000, CRC(0923d5b0) SHA1(ab72ba1e3ebf56dd356f9ad181f986b1360a1089) ) /* Plane 0,1 */ /* TC534200 */
1890   ROM_LOAD16_BYTE( "025-c4.c4", 0x200001, 0x080000, CRC(e3eca67b) SHA1(88154cbc1a261c2f425430119ebc08a30adc9675) ) /* Plane 2,3 */ /* TC534200 */
1891ROM_END
1892
1893/****************************************
1894 ID-0026
1895 Fun Fun Brothers (prototype) 1991 Alpha
1896****************************************/
1897
1898/****************************************
1899 ID-0027
1900 . MOM-001
1901 NEO-MVS PROG-8MB / NEO-MVS CHA-8M
1902 . MOH-001
1903 NEO-AEG PROG-8MB / NEO-AEG CHA-8M
1904****************************************/
1905
1906ROM_START( minasan ) /* MVS AND AES VERSION */
1907   ROM_REGION( 0x100000, "maincpu", 0 )
1908   ROM_LOAD16_WORD_SWAP( "027-p1.p1", 0x000000, 0x080000, CRC(c8381327) SHA1(c8f8be0ba276c6d12ef13d05af3cf83a2b924894) ) /* HN62422PC */
1909
1910   NEO_SFIX_128K( "027-s1.s1", CRC(e5824baa) SHA1(8230ff7fe3cabeacecc762d90a084e893db84906) ) /* HN62321BP */
1911
1912   NEO_BIOS_AUDIO_128K( "027-m1.m1", CRC(add5a226) SHA1(99995bef2584abbba16777bac52f55523f7aa97d) ) /* HN62321AP */
1913
1914   ROM_REGION( 0x100000, "ymsnd", 0 )
1915   ROM_LOAD( "027-v11.v11", 0x000000, 0x100000, CRC(59ad4459) SHA1(bbb8ba8a8e337dd2946eefda4757e80d0547d54a) ) /* HN62308BPC */
1916
1917   ROM_REGION( 0x100000, "ymsnd.deltat", 0 )
1918   ROM_LOAD( "027-v21.v21", 0x000000, 0x100000, CRC(df5b4eeb) SHA1(134f3bcc3bb82e2a5711496af1019f343f9c0f7e) ) /* HN62308BPC */
1919
1920   ROM_REGION( 0x400000, "sprites", 0 )
1921   ROM_LOAD16_BYTE( "027-c1.c1", 0x000000, 0x100000, CRC(d0086f94) SHA1(7d6579530ccb5188f653be69b1df17e47e40e7a6) ) /* Plane 0,1 */ /* HN62408PD */
1922   ROM_LOAD16_BYTE( "027-c2.c2", 0x000001, 0x100000, CRC(da61f5a6) SHA1(82c5b4e5c5c5e30a3fd1c2e11c6157f39d033c42) ) /* Plane 2,3 */ /* HN62408PD */
1923   ROM_LOAD16_BYTE( "027-c3.c3", 0x200000, 0x100000, CRC(08df1228) SHA1(288b7ad328c2249f28d17df4dad3584995dca7bf) ) /* Plane 0,1 */ /* HN62408PD */
1924   ROM_LOAD16_BYTE( "027-c4.c4", 0x200001, 0x100000, CRC(54e87696) SHA1(90816dc86be3983dc57f56ededf7738475c0c61e) ) /* Plane 2,3 */ /* HN62408PD */
1925ROM_END
1926
1927/****************************************
1928 ID-0028
1929 Dunk Star (prototype) Sammy
1930****************************************/
1931
1932/****************************************
1933 ID-0029
1934 . ??M-029
1935 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1936 . ??H-029
1937****************************************/
1938
1939ROM_START( legendos )
1940   ROM_REGION( 0x100000, "maincpu", 0 )
1941   ROM_LOAD16_WORD_SWAP( "029-p1.p1", 0x000000, 0x080000, CRC(9d563f19) SHA1(9bff7bf9fdcf81a0a6c4ce3e196097d4f05e67b6) ) /* TC534200 */
1942
1943   NEO_SFIX_128K( "029-s1.s1", CRC(bcd502f0) SHA1(a3400f52c037aa6a42e59e602cc24fa45fcbc951) ) /* TC531000 */
1944
1945   NEO_BIOS_AUDIO_128K( "029-m1.m1", CRC(6f2843f0) SHA1(975fb1598b87a2798fff05e951fca2e2e0329e79) ) /* TC531001 */
1946
1947   ROM_REGION( 0x100000, "ymsnd", 0 )
1948   ROM_LOAD( "029-v1.v1", 0x000000, 0x100000, CRC(85065452) SHA1(7154b7c59b16c32753ac6b5790fb50b51ce30a20) ) /* TC538200 */
1949
1950   NO_DELTAT_REGION
1951
1952   ROM_REGION( 0x400000, "sprites", 0 )
1953   ROM_LOAD16_BYTE( "029-c1.c1", 0x000000, 0x100000, CRC(2f5ab875) SHA1(3e060973bba41a6c22ff7054104bdc5eee1fa13a) ) /* Plane 0,1 */ /* TC538200 */
1954   ROM_LOAD16_BYTE( "029-c2.c2", 0x000001, 0x100000, CRC(318b2711) SHA1(7014110cee98280317e1189f306ca40652b61f6f) ) /* Plane 2,3 */ /* TC538200 */
1955   ROM_LOAD16_BYTE( "029-c3.c3", 0x200000, 0x100000, CRC(6bc52cb2) SHA1(14323a4664b7dcbcde82e594168e535d7a921e44) ) /* Plane 0,1 */ /* TC538200 */
1956   ROM_LOAD16_BYTE( "029-c4.c4", 0x200001, 0x100000, CRC(37ef298c) SHA1(7a0c4c896dc3e730e06dcadbf00cf354f08a4466) ) /* Plane 2,3 */ /* TC538200 */
1957ROM_END
1958
1959/****************************************
1960 ID-0030
1961 . NGM-030
1962 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1963 . NGH-030
1964 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
1965****************************************/
1966
1967ROM_START( 2020bb )
1968   ROM_REGION( 0x100000, "maincpu", 0 )
1969   ROM_LOAD16_WORD_SWAP( "030-p1.p1", 0x000000, 0x080000, CRC(d396c9cb) SHA1(47ba421d14d05b965a8d44e7475b227a208e5a07) )
1970
1971   NEO_SFIX_128K( "030-s1.s1", CRC(7015b8fc) SHA1(8c09bc3e6c62e0f7c9557c1e10c901be325bae7f) ) /* TC531000 */
1972
1973   NEO_BIOS_AUDIO_128K( "030-m1.m1", CRC(4cf466ec) SHA1(6a003b53c7a4af9d7529e2c10f27ffc4e58dcda5) ) /* TC54H1000 */
1974
1975   ROM_REGION( 0x200000, "ymsnd", 0 )
1976   ROM_LOAD( "030-v1.v1", 0x000000, 0x100000, CRC(d4ca364e) SHA1(b0573744b0ea2ef1e2167a225f0d254883f5af04) ) /* TC538200 */
1977   ROM_LOAD( "030-v2.v2", 0x100000, 0x100000, CRC(54994455) SHA1(76eb62b86e8ed51a77f44313d5cc8091b3f58d57) ) /* TC538200 */
1978
1979   NO_DELTAT_REGION
1980
1981   ROM_REGION( 0x400000, "sprites", 0 )
1982   ROM_LOAD16_BYTE( "030-c1.c1", 0x000000, 0x100000, CRC(4f5e19bd) SHA1(ef7975c4b33a7aea4a25a385f604799f054d3200) ) /* Plane 0,1 */ /* TC538200 */
1983   ROM_LOAD16_BYTE( "030-c2.c2", 0x000001, 0x100000, CRC(d6314bf0) SHA1(0920cc580d7997fcb0170dd619af2f305d635577) ) /* Plane 2,3 */ /* TC538200 */
1984   ROM_LOAD16_BYTE( "030-c3.c3", 0x200000, 0x100000, CRC(47fddfee) SHA1(297c505a63448c999a2510c27bf4549102134db8) ) /* Plane 0,1 */ /* TC538200 */
1985   ROM_LOAD16_BYTE( "030-c4.c4", 0x200001, 0x100000, CRC(780d1c4e) SHA1(2e2cf9de828e3b48642dd2203637103438c62142) ) /* Plane 2,3 */ /* TC538200 */
1986ROM_END
1987
1988ROM_START( 2020bba ) /* MVS AND AES VERSION */
1989   ROM_REGION( 0x100000, "maincpu", 0 )
1990   ROM_LOAD16_WORD_SWAP( "030-epr.p1", 0x000000, 0x080000, CRC(c59be3dd) SHA1(4fbd462c1c18e85a252c58b04b54fd3b82b46cb0) ) /* TC574200 */
1991   /* P1 on eprom, correct chip label unknown */
1992
1993   NEO_SFIX_128K( "030-s1.s1", CRC(7015b8fc) SHA1(8c09bc3e6c62e0f7c9557c1e10c901be325bae7f) ) /* TC531000 */
1994
1995   NEO_BIOS_AUDIO_128K( "030-m1.m1", CRC(4cf466ec) SHA1(6a003b53c7a4af9d7529e2c10f27ffc4e58dcda5) ) /* TC54H1000 */
1996
1997   ROM_REGION( 0x200000, "ymsnd", 0 )
1998   ROM_LOAD( "030-v1.v1", 0x000000, 0x100000, CRC(d4ca364e) SHA1(b0573744b0ea2ef1e2167a225f0d254883f5af04) ) /* TC538200 */
1999   ROM_LOAD( "030-v2.v2", 0x100000, 0x100000, CRC(54994455) SHA1(76eb62b86e8ed51a77f44313d5cc8091b3f58d57) ) /* TC538200 */
2000
2001   NO_DELTAT_REGION
2002
2003   ROM_REGION( 0x400000, "sprites", 0 )
2004   ROM_LOAD16_BYTE( "030-c1.c1", 0x000000, 0x100000, CRC(4f5e19bd) SHA1(ef7975c4b33a7aea4a25a385f604799f054d3200) ) /* Plane 0,1 */ /* TC538200 */
2005   ROM_LOAD16_BYTE( "030-c2.c2", 0x000001, 0x100000, CRC(d6314bf0) SHA1(0920cc580d7997fcb0170dd619af2f305d635577) ) /* Plane 2,3 */ /* TC538200 */
2006   ROM_LOAD16_BYTE( "030-c3.c3", 0x200000, 0x100000, CRC(47fddfee) SHA1(297c505a63448c999a2510c27bf4549102134db8) ) /* Plane 0,1 */ /* TC538200 */
2007   ROM_LOAD16_BYTE( "030-c4.c4", 0x200001, 0x100000, CRC(780d1c4e) SHA1(2e2cf9de828e3b48642dd2203637103438c62142) ) /* Plane 2,3 */ /* TC538200 */
2008ROM_END
2009
2010ROM_START( 2020bbh )
2011   ROM_REGION( 0x100000, "maincpu", 0 )
2012   ROM_LOAD16_WORD_SWAP( "030-pg1.p1", 0x000000, 0x080000, BAD_DUMP CRC(12d048d7) SHA1(ee0d03a565b11ca3bee2d24f62ff46a85ef18d90) )
2013   /* Chip label p1h does not exist, renamed temporarly to pg1, marked BAD_DUMP. This needs to be verified. */
2014
2015   NEO_SFIX_128K( "030-s1.s1", CRC(7015b8fc) SHA1(8c09bc3e6c62e0f7c9557c1e10c901be325bae7f) ) /* TC531000 */
2016
2017   NEO_BIOS_AUDIO_128K( "030-m1.m1", CRC(4cf466ec) SHA1(6a003b53c7a4af9d7529e2c10f27ffc4e58dcda5) ) /* TC54H1000 */
2018
2019   ROM_REGION( 0x200000, "ymsnd", 0 )
2020   ROM_LOAD( "030-v1.v1", 0x000000, 0x100000, CRC(d4ca364e) SHA1(b0573744b0ea2ef1e2167a225f0d254883f5af04) ) /* TC538200 */
2021   ROM_LOAD( "030-v2.v2", 0x100000, 0x100000, CRC(54994455) SHA1(76eb62b86e8ed51a77f44313d5cc8091b3f58d57) ) /* TC538200 */
2022
2023   NO_DELTAT_REGION
2024
2025   ROM_REGION( 0x400000, "sprites", 0 )
2026   ROM_LOAD16_BYTE( "030-c1.c1", 0x000000, 0x100000, CRC(4f5e19bd) SHA1(ef7975c4b33a7aea4a25a385f604799f054d3200) ) /* Plane 0,1 */ /* TC538200 */
2027   ROM_LOAD16_BYTE( "030-c2.c2", 0x000001, 0x100000, CRC(d6314bf0) SHA1(0920cc580d7997fcb0170dd619af2f305d635577) ) /* Plane 2,3 */ /* TC538200 */
2028   ROM_LOAD16_BYTE( "030-c3.c3", 0x200000, 0x100000, CRC(47fddfee) SHA1(297c505a63448c999a2510c27bf4549102134db8) ) /* Plane 0,1 */ /* TC538200 */
2029   ROM_LOAD16_BYTE( "030-c4.c4", 0x200001, 0x100000, CRC(780d1c4e) SHA1(2e2cf9de828e3b48642dd2203637103438c62142) ) /* Plane 2,3 */ /* TC538200 */
2030ROM_END
2031
2032/****************************************
2033 ID-0031
2034 . NGM-031
2035 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2036 . NGH-031
2037 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
2038****************************************/
2039
2040ROM_START( socbrawl ) /* MVS VERSION */
2041   ROM_REGION( 0x100000, "maincpu", 0 )
2042   ROM_LOAD16_WORD_SWAP( "031-pg1.p1", 0x000000, 0x080000, CRC(17f034a7) SHA1(2e66c7bd93a08efe63c4894494db50bbf58f60e4) ) /* TC534200 */
2043
2044   NEO_SFIX_128K( "031-s1.s1", CRC(4c117174) SHA1(26e52c4f628338a9aa1c159517cdf873f738fb98) ) /* TC531000 */
2045
2046   NEO_BIOS_AUDIO_128K( "031-m1.m1", CRC(cb37427c) SHA1(99efe9600ebeda48331f396e3203c7588bdb7d24) ) /* TC531001 */
2047
2048   ROM_REGION( 0x200000, "ymsnd", 0 )
2049   ROM_LOAD( "031-v1.v1", 0x000000, 0x100000, CRC(cc78497e) SHA1(895bd647150fae9b2259ef043ed681f4c4de66ea) ) /* TC538200 */
2050   ROM_LOAD( "031-v2.v2", 0x100000, 0x100000, CRC(dda043c6) SHA1(08165a59700ab6b1e523079dd2a3549e520cc594) ) /* TC538200 */
2051
2052   NO_DELTAT_REGION
2053
2054   ROM_REGION( 0x300000, "sprites", 0 )
2055   ROM_LOAD16_BYTE( "031-c1.c1", 0x000000, 0x100000, CRC(bd0a4eb8) SHA1(b67988cb3e550d083e81c9bd436da55b242785ed) ) /* Plane 0,1 */ /* TC538200 */
2056   ROM_LOAD16_BYTE( "031-c2.c2", 0x000001, 0x100000, CRC(efde5382) SHA1(e42789c8d87ee3d4549d0a903e990c03338cbbd8) ) /* Plane 2,3 */ /* TC538200 */
2057   ROM_LOAD16_BYTE( "031-c3.c3", 0x200000, 0x080000, CRC(580f7f33) SHA1(f4f95a7c8de00e1366a723fc4cd0e8c1905af636) ) /* Plane 0,1 */ /* TC534200 */
2058   ROM_LOAD16_BYTE( "031-c4.c4", 0x200001, 0x080000, CRC(ed297de8) SHA1(616f8fa4c86231f3e79faf9f69f8bb909cbc35f0) ) /* Plane 2,3 */ /* TC534200 */
2059ROM_END
2060
2061ROM_START( socbrawlh ) /* AES VERSION */
2062   ROM_REGION( 0x100000, "maincpu", 0 )
2063   ROM_LOAD16_WORD_SWAP( "031-p1.p1", 0x000000, 0x080000, CRC(a2801c24) SHA1(627d76ff0740ca29586f37b268f47fb469822529) ) /* TC534200 */
2064
2065   NEO_SFIX_128K( "031-s1.s1", CRC(4c117174) SHA1(26e52c4f628338a9aa1c159517cdf873f738fb98) ) /* TC531000 */
2066
2067   NEO_BIOS_AUDIO_128K( "031-m1.m1", CRC(cb37427c) SHA1(99efe9600ebeda48331f396e3203c7588bdb7d24) ) /* TC531001 */
2068
2069   ROM_REGION( 0x200000, "ymsnd", 0 )
2070   ROM_LOAD( "031-v1.v1", 0x000000, 0x100000, CRC(cc78497e) SHA1(895bd647150fae9b2259ef043ed681f4c4de66ea) ) /* TC538200 */
2071   ROM_LOAD( "031-v2.v2", 0x100000, 0x100000, CRC(dda043c6) SHA1(08165a59700ab6b1e523079dd2a3549e520cc594) ) /* TC538200 */
2072
2073   NO_DELTAT_REGION
2074
2075   ROM_REGION( 0x300000, "sprites", 0 )
2076   ROM_LOAD16_BYTE( "031-c1.c1", 0x000000, 0x100000, CRC(bd0a4eb8) SHA1(b67988cb3e550d083e81c9bd436da55b242785ed) ) /* Plane 0,1 */ /* TC538200 */
2077   ROM_LOAD16_BYTE( "031-c2.c2", 0x000001, 0x100000, CRC(efde5382) SHA1(e42789c8d87ee3d4549d0a903e990c03338cbbd8) ) /* Plane 2,3 */ /* TC538200 */
2078   ROM_LOAD16_BYTE( "031-c3.c3", 0x200000, 0x080000, CRC(580f7f33) SHA1(f4f95a7c8de00e1366a723fc4cd0e8c1905af636) ) /* Plane 0,1 */ /* TC534200 */
2079   ROM_LOAD16_BYTE( "031-c4.c4", 0x200001, 0x080000, CRC(ed297de8) SHA1(616f8fa4c86231f3e79faf9f69f8bb909cbc35f0) ) /* Plane 2,3 */ /* TC534200 */
2080ROM_END
2081
2082/****************************************
2083 ID-0032
2084 . NGM-032
2085 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2086 . NGH-032
2087 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
2088****************************************/
2089
2090ROM_START( roboarmy )
2091   ROM_REGION( 0x100000, "maincpu", 0 )
2092   ROM_LOAD16_WORD_SWAP( "032-p1.p1", 0x000000, 0x080000, CRC(cd11cbd4) SHA1(23163e3da2f07e830a7f4a02aea1cb01a54ccbf3) ) /* TC534200 */
2093
2094   NEO_SFIX_128K( "032-s1.s1", CRC(ac0daa1b) SHA1(93bae4697dc403fce19422752a514326ccf66a91) ) /* TC531000 */
2095
2096   NEO_BIOS_AUDIO_128K( "032-m1.m1", CRC(35ec952d) SHA1(8aed30e26d7e2c70dbce5de752df416091066f7b) ) /* TC531001 */
2097
2098   ROM_REGION( 0x200000, "ymsnd", 0 )
2099   ROM_LOAD( "032-v1.v1", 0x000000, 0x100000, CRC(63791533) SHA1(4479e9308cdc906b9e03b985303f4ebedd00512f) ) /* TC538200 */
2100   ROM_LOAD( "032-v2.v2", 0x100000, 0x100000, CRC(eb95de70) SHA1(b34885201116d2b3bbdee15ec7b5961cf5c069e1) ) /* TC538200 */
2101
2102   NO_DELTAT_REGION
2103
2104   ROM_REGION( 0x300000, "sprites", 0 )
2105   ROM_LOAD16_BYTE( "032-c1.c1", 0x000000, 0x100000, CRC(97984c6c) SHA1(deea59c0892f05dc7db98cb57b3eb83688dc57f0) ) /* Plane 0,1 */ /* TC538200 */
2106   ROM_LOAD16_BYTE( "032-c2.c2", 0x000001, 0x100000, CRC(65773122) SHA1(2c0162a8e971e5e57933e4ae16040bf824ffdefe) ) /* Plane 2,3 */ /* TC538200 */
2107   ROM_LOAD16_BYTE( "032-c3.c3", 0x200000, 0x080000, CRC(40adfccd) SHA1(b11f866dd70ba0ed9123424508355cb948b19bdc) ) /* Plane 0,1 */ /* TC534200 */
2108   ROM_LOAD16_BYTE( "032-c4.c4", 0x200001, 0x080000, CRC(462571de) SHA1(5c3d610d492f91564423873b3b434dcda700373f) ) /* Plane 2,3 */ /* TC534200 */
2109ROM_END
2110
2111   /* Disabled for now, this looks like an emulation hack. Can someone confirm this set is real? */
2112#if 0
2113ROM_START( roboarma )
2114   ROM_REGION( 0x100000, "maincpu", 0 )
2115   ROM_LOAD16_WORD_SWAP( "032-p1h.p1", 0x000000, 0x080000, CRC(27c773cb) SHA1(597ca73f142b1129cc7780540bb9cfacd47bc6ce) ) /* TC534200 */
2116   /* Chip label p1h does not exist; if this is real what is the correct chip label? */
2117
2118   NEO_SFIX_128K( "032-s1.s1", CRC(ac0daa1b) SHA1(93bae4697dc403fce19422752a514326ccf66a91) ) /* TC531000 */
2119
2120   NEO_BIOS_AUDIO_128K( "032-m1.m1", CRC(35ec952d) SHA1(8aed30e26d7e2c70dbce5de752df416091066f7b) ) /* TC531001 */
2121
2122   ROM_REGION( 0x200000, "ymsnd", 0 )
2123   ROM_LOAD( "032-v1.v1", 0x000000, 0x100000, CRC(63791533) SHA1(4479e9308cdc906b9e03b985303f4ebedd00512f) ) /* TC538200 */
2124   ROM_LOAD( "032-v2.v2", 0x100000, 0x100000, CRC(eb95de70) SHA1(b34885201116d2b3bbdee15ec7b5961cf5c069e1) ) /* TC538200 */
2125
2126   NO_DELTAT_REGION
2127
2128   ROM_REGION( 0x300000, "sprites", 0 )
2129   ROM_LOAD16_BYTE( "032-c1.c1", 0x000000, 0x100000, CRC(97984c6c) SHA1(deea59c0892f05dc7db98cb57b3eb83688dc57f0) ) /* Plane 0,1 */ /* TC538200 */
2130   ROM_LOAD16_BYTE( "032-c2.c2", 0x000001, 0x100000, CRC(65773122) SHA1(2c0162a8e971e5e57933e4ae16040bf824ffdefe) ) /* Plane 2,3 */ /* TC538200 */
2131   ROM_LOAD16_BYTE( "032-c3.c3", 0x200000, 0x080000, CRC(40adfccd) SHA1(b11f866dd70ba0ed9123424508355cb948b19bdc) ) /* Plane 0,1 */ /* TC534200 */
2132   ROM_LOAD16_BYTE( "032-c4.c4", 0x200001, 0x080000, CRC(462571de) SHA1(5c3d610d492f91564423873b3b434dcda700373f) ) /* Plane 2,3 */ /* TC534200 */
2133ROM_END
2134#endif
2135
2136/****************************************
2137 ID-0033
2138 . NGM-033
2139 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2140 . NGH-033
2141 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
2142****************************************/
2143
2144ROM_START( fatfury1 ) /* MVS AND AES VERSION */
2145   ROM_REGION( 0x100000, "maincpu", 0 )
2146   ROM_LOAD16_WORD_SWAP( "033-p1.p1", 0x000000, 0x080000, CRC(47ebdc2f) SHA1(d46786502920fb510f1999db00c5e09fb641c0bd) ) /* TC534200 */
2147   ROM_LOAD16_WORD_SWAP( "033-p2.p2", 0x080000, 0x020000, CRC(c473af1c) SHA1(4919eeca20abe807493872ca7c79a5d1f496fe68) ) /* TC531024 */
2148
2149   NEO_SFIX_128K( "033-s1.s1", CRC(3c3bdf8c) SHA1(2f3e5feed6c27850b2a0f6fae0b97041690e944c) ) /* TC531000 */
2150
2151   NEO_BIOS_AUDIO_128K( "033-m1.m1", CRC(5be10ffd) SHA1(90a5e6cbbc58a7883cd2a3a597180d631a466882) ) /* TC531001 */
2152
2153   ROM_REGION( 0x200000, "ymsnd", 0 )
2154   ROM_LOAD( "033-v1.v1", 0x000000, 0x100000, CRC(212fd20d) SHA1(120c040db8c01a6f140eea03725448bfa9ca98c2) ) /* TC538200 */
2155   ROM_LOAD( "033-v2.v2", 0x100000, 0x100000, CRC(fa2ae47f) SHA1(80d0ba4cd30aab59b6f0db8fa341387bd7388afc) ) /* TC538200 */
2156
2157   NO_DELTAT_REGION
2158
2159   ROM_REGION( 0x400000, "sprites", 0 )
2160   ROM_LOAD16_BYTE( "033-c1.c1", 0x000000, 0x100000, CRC(74317e54) SHA1(67b9c2814a12603b959612456f59de55f9bf6f57) ) /* Plane 0,1 */ /* TC538200 */
2161   ROM_LOAD16_BYTE( "033-c2.c2", 0x000001, 0x100000, CRC(5bb952f3) SHA1(ea964bbcc0408b6ae07cbb5043d003281b1aca15) ) /* Plane 2,3 */ /* TC538200 */
2162   ROM_LOAD16_BYTE( "033-c3.c3", 0x200000, 0x100000, CRC(9b714a7c) SHA1(b62bdcede3207d062a89e0a4a9adf706101bb681) ) /* Plane 0,1 */ /* TC538200 */
2163   ROM_LOAD16_BYTE( "033-c4.c4", 0x200001, 0x100000, CRC(9397476a) SHA1(a12dbb74020aeb6ebf24ec2abbfba5129cabcb7d) ) /* Plane 2,3 */ /* TC538200 */
2164ROM_END
2165
2166/****************************************
2167 ID-0034
2168 . NGM-034
2169 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2170 . NGH-034
2171 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
2172****************************************/
2173
2174ROM_START( fbfrenzy ) /* MVS AND AES VERSION */
2175   ROM_REGION( 0x100000, "maincpu", 0 )
2176   ROM_LOAD16_WORD_SWAP( "034-p1.p1", 0x000000, 0x080000, CRC(cdef6b19) SHA1(97482db0dffc6d625fb41fa38449c0a74d741a72) ) /* TC534200 */
2177
2178   NEO_SFIX_128K( "034-s1.s1", CRC(8472ed44) SHA1(42e1a9671dddd090d2a634cff986f6c73ba08b70) ) /* TC531000 */
2179
2180   NEO_BIOS_AUDIO_128K( "034-m1.m1", CRC(f41b16b8) SHA1(f3e1cfc4cd2c5baece176f169906aa796367d303) ) /* TC531001 */
2181
2182   ROM_REGION( 0x200000, "ymsnd", 0 )
2183   ROM_LOAD( "034-v1.v1", 0x000000, 0x100000, CRC(50c9d0dd) SHA1(2b3f2875b00e5f307d274128bd73c1521a7d901b) ) /* TC538200 */
2184   ROM_LOAD( "034-v2.v2", 0x100000, 0x100000, CRC(5aa15686) SHA1(efe47954827a98d539ba719347c5f8aa60e6338b) ) /* TC538200 */
2185
2186   NO_DELTAT_REGION
2187
2188   ROM_REGION( 0x300000, "sprites", 0 )
2189   ROM_LOAD16_BYTE( "034-c1.c1", 0x000000, 0x100000, CRC(91c56e78) SHA1(2944d49ebfc71239d345209ca7f25993c2cc5a77) ) /* Plane 0,1 */ /* TC538200 */
2190   ROM_LOAD16_BYTE( "034-c2.c2", 0x000001, 0x100000, CRC(9743ea2f) SHA1(cf4fccdf10d521d555e92bc24123142393c2b3bb) ) /* Plane 2,3 */ /* TC538200 */
2191   ROM_LOAD16_BYTE( "034-c3.c3", 0x200000, 0x080000, CRC(e5aa65f5) SHA1(714356a2cee976ec0f515b1034ce971018e5c02e) ) /* Plane 0,1 */ /* TC534200 */
2192   ROM_LOAD16_BYTE( "034-c4.c4", 0x200001, 0x080000, CRC(0eb138cc) SHA1(21d31e1f136c674caa6dd44073281cd07b72ea9b) ) /* Plane 2,3 */ /* TC534200 */
2193ROM_END
2194
2195/****************************************
2196 ID-0035
2197 Mystic Wand (prototype) 1991 Alpha
2198****************************************/
2199
2200/****************************************
2201 ID-0036
2202 . MOM-002
2203 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2204 . MOH-002
2205 NEO-AEG PROG42G / NEO-AEG CHA42G
2206****************************************/
2207
2208ROM_START( bakatono ) /* MVS AND AES VERSION */
2209   ROM_REGION( 0x100000, "maincpu", 0 )
2210   ROM_LOAD16_WORD_SWAP( "036-p1.p1", 0x000000, 0x080000, CRC(1c66b6fa) SHA1(6c50cc452971c46c763ae0b2def95792671a1798) ) /* CXK384500 */
2211
2212   NEO_SFIX_128K( "036-s1.s1", CRC(f3ef4485) SHA1(c30bfceed7e669e4c97b0b3ec2e9f4271e5b6662) ) /* CXK381000 */
2213
2214   NEO_BIOS_AUDIO_128K( "036-m1.m1", CRC(f1385b96) SHA1(e7e3d1484188a115e262511116aaf466b8b1f428) ) /* CXK381003 */
2215
2216   ROM_REGION( 0x200000, "ymsnd", 0 )
2217   ROM_LOAD( "036-v1.v1", 0x000000, 0x100000, CRC(1c335dce) SHA1(493c273fa71bf81861a20af4c4eaae159e169f39) ) /* CXK388000 */
2218   ROM_LOAD( "036-v2.v2", 0x100000, 0x100000, CRC(bbf79342) SHA1(45a4f40e415cdf35c3073851506648c8f7d53958) ) /* CXK388000 */
2219
2220   NO_DELTAT_REGION
2221
2222   ROM_REGION( 0x400000, "sprites", 0 )
2223   ROM_LOAD16_BYTE( "036-c1.c1", 0x000000, 0x100000, CRC(fe7f1010) SHA1(5b6f5053821f4da8dc3768371e2cd51bb29da963) ) /* Plane 0,1 */ /* CXK388000 */
2224   ROM_LOAD16_BYTE( "036-c2.c2", 0x000001, 0x100000, CRC(bbf003f5) SHA1(054b2a3327e038836eece652055bb84c115cf8ed) ) /* Plane 2,3 */ /* CXK388000 */
2225   ROM_LOAD16_BYTE( "036-c3.c3", 0x200000, 0x100000, CRC(9ac0708e) SHA1(8decfe06d73a3dd3c3cf280719978fcf6d559d29) ) /* Plane 0,1 */ /* CXK388000 */
2226   ROM_LOAD16_BYTE( "036-c4.c4", 0x200001, 0x100000, CRC(f2577d22) SHA1(a37db8055ca4680e244c556dc6df8bdba16c2083) ) /* Plane 2,3 */ /* CXK388000 */
2227ROM_END
2228
2229/****************************************
2230 ID-0037
2231 . ALM-002
2232 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2233 . ALH-002
2234 NEO-AEG PROG42G / NEO-AEG CHA42G
2235****************************************/
2236
2237ROM_START( crsword ) /* MVS AND AES VERSION */
2238   ROM_REGION( 0x100000, "maincpu", 0 )
2239   ROM_LOAD16_WORD_SWAP( "037-p1.p1", 0x000000, 0x080000, CRC(e7f2553c) SHA1(8469ecb900477feed05ae3311fe9515019bbec2a) ) /* TC534200 */
2240
2241   NEO_SFIX_128K( "037-s1.s1", CRC(74651f27) SHA1(bff7ff2429d2be82c1647abac2ee45b339b3b310) ) /* TC531000 */
2242
2243   NEO_BIOS_AUDIO_128K( "037-m1.m1", CRC(9504b2c6) SHA1(9ce8e681b9df6eacd0d23a36bad836bd5074233d) ) /* TC531001 */
2244
2245   ROM_REGION( 0x100000, "ymsnd", 0 )
2246   ROM_LOAD( "037-v1.v1", 0x000000, 0x100000, CRC(61fedf65) SHA1(98f31d1e23bf7c1f7844e67f14707a704134042e) ) /* TC538200 */
2247
2248   NO_DELTAT_REGION
2249
2250   ROM_REGION( 0x400000, "sprites", 0 )
2251   ROM_LOAD16_BYTE( "037-c1.c1", 0x000000, 0x100000, CRC(09df6892) SHA1(df2579dcf9c9dc88d461212cb74de106be2983c1) ) /* Plane 0,1 */ /* TC538200 */
2252   ROM_LOAD16_BYTE( "037-c2.c2", 0x000001, 0x100000, CRC(ac122a78) SHA1(7bfa4d29b7d7d9443f64d81caeafa74fe05c606e) ) /* Plane 2,3 */ /* TC538200 */
2253   ROM_LOAD16_BYTE( "037-c3.c3", 0x200000, 0x100000, CRC(9d7ed1ca) SHA1(2bbd25dc3a3f825d0af79a418f06a23a1bf03cc0) ) /* Plane 0,1 */ /* TC538200 */
2254   ROM_LOAD16_BYTE( "037-c4.c4", 0x200001, 0x100000, CRC(4a24395d) SHA1(943f911f40985db901eaef4c28dfcda299fca73e) ) /* Plane 2,3 */ /* TC538200 */
2255ROM_END
2256
2257/****************************************
2258 ID-0038
2259 . ALM-003
2260 NEO-MVS PROG42G-COM / NEO-MVS CHA42G-1
2261 . ALH-003
2262 NEO-AEG PROG42G-COM / NEO-AEG CHA42G-1
2263****************************************/
2264
2265ROM_START( trally ) /* MVS AND AES VERSION */
2266   ROM_REGION( 0x100000, "maincpu", 0 )
2267   ROM_LOAD16_WORD_SWAP( "038-p1.p1", 0x000000, 0x080000, CRC(1e52a576) SHA1(a1cb56354c3378e955b0cd482c3c41ae15add952) ) /* TC534200 */
2268   ROM_LOAD16_WORD_SWAP( "038-p2.p2", 0x080000, 0x080000, CRC(a5193e2f) SHA1(96803480439e90da23cdca70d59ff519ee85beeb) ) /* TC534200 */
2269
2270   ROM_REGION( 0x1000, "mcu", 0 )    /* Hitachi HD6301V1 MCU */
2271   ROM_LOAD( "hd6301v1p.hd6301v1", 0x0000, 0x1000, NO_DUMP )
2272
2273   NEO_SFIX_128K( "038-s1.s1", CRC(fff62ae3) SHA1(6510a762ea41557a8938cbfc0557cd5921306061) ) /* TC531000 */
2274
2275   NEO_BIOS_AUDIO_128K( "038-m1.m1", CRC(0908707e) SHA1(df7489ea6abf84d7f137ba7a8f52a4fd1b088fd7) ) /* TC531001 */
2276
2277   ROM_REGION( 0x180000, "ymsnd", 0 )
2278   ROM_LOAD( "038-v1.v1", 0x000000, 0x100000, CRC(5ccd9fd5) SHA1(c3c8c758a320c39e4ceb0b6d9f188ed6d122eec4) ) /* TC538200 */
2279   ROM_LOAD( "038-v2.v2", 0x100000, 0x080000, CRC(ddd8d1e6) SHA1(65c819fa2392f264f5a1a0a4967c96775732500b) ) /* TC534200 */
2280
2281   NO_DELTAT_REGION
2282
2283   ROM_REGION( 0x300000, "sprites", 0 )
2284   ROM_LOAD16_BYTE( "038-c1.c1", 0x000000, 0x100000, CRC(c58323d4) SHA1(a6bd277471a4b612d165f8b804f3cb662f499b70) ) /* Plane 0,1 */ /* TC538200 */
2285   ROM_LOAD16_BYTE( "038-c2.c2", 0x000001, 0x100000, CRC(bba9c29e) SHA1(b70bbfdfa8c4f9ea76406530e86b16e42498d284) ) /* Plane 2,3 */ /* TC538200 */
2286   ROM_LOAD16_BYTE( "038-c3.c3", 0x200000, 0x080000, CRC(3bb7b9d6) SHA1(bc1eae6181ad5abf79736afc8db4ca34113d43f8) ) /* Plane 0,1 */ /* TC534200 */
2287   ROM_LOAD16_BYTE( "038-c4.c4", 0x200001, 0x080000, CRC(a4513ecf) SHA1(934aa103c226eac55157b44d7b4dfa35515322c3) ) /* Plane 2,3 */ /* TC534200 */
2288ROM_END
2289
2290/****************************************
2291 ID-0039
2292 . NGM-039
2293 NEO-MVS PROG16 / NEO-MVS CHA42G-1
2294 . NGH-039
2295 NEO-AEG PROG16 / NEO-AEG CHA42G-1
2296****************************************/
2297
2298ROM_START( kotm2 ) /* MVS AND AES VERSION */
2299   ROM_REGION( 0x100000, "maincpu", 0 )
2300   ROM_LOAD16_WORD_SWAP( "039-p1.p1", 0x000000, 0x080000, CRC(b372d54c) SHA1(b70fc6f72e16a66b6e144cc01370548e3398b8b8) ) /* TC534200 */
2301   ROM_LOAD16_WORD_SWAP( "039-p2.p2", 0x080000, 0x080000, CRC(28661afe) SHA1(6c85ff6ab334b1ca744f726f42dac211537e7315) ) /* TC534200 */
2302
2303   NEO_SFIX_128K( "039-s1.s1", CRC(63ee053a) SHA1(7d4b92bd022708975b1470e8f24d1f5a712e1b94) ) /* TC531000 */
2304
2305   NEO_BIOS_AUDIO_128K( "039-m1.m1", CRC(0c5b2ad5) SHA1(15eb5ea10fecdbdbcfd06225ae6d88bb239592e7) ) /* TC531001 */
2306
2307   ROM_REGION( 0x300000, "ymsnd", 0 )
2308   ROM_LOAD( "039-v2.v2", 0x000000, 0x200000, CRC(86d34b25) SHA1(89bdb614b0c63d678962da52e2f596750d20828c) ) /* TC5316200 */
2309   ROM_LOAD( "039-v4.v4", 0x200000, 0x100000, CRC(8fa62a0b) SHA1(58ac2fdd73c542eb8178cfc4adfa0e5940183283) ) /* TC538200 */
2310
2311   NO_DELTAT_REGION
2312
2313   ROM_REGION( 0x600000, "sprites", 0 )
2314   ROM_LOAD16_BYTE( "039-c1.c1", 0x000000, 0x100000, CRC(6d1c4aa9) SHA1(4fbc9d7cb37522ec298eefbe38c75a2d050fbb4a) ) /* Plane 0,1 */ /* TC5316200 */
2315   ROM_CONTINUE( 0x400000, 0x100000 )
2316   ROM_LOAD16_BYTE( "039-c2.c2", 0x000001, 0x100000, CRC(f7b75337) SHA1(4d85f85948c3e6ed38b0b0ccda79de3ce026e2d9) ) /* Plane 2,3 */ /* TC5316200 */
2317   ROM_CONTINUE( 0x400001, 0x100000 )
2318   ROM_LOAD16_BYTE( "039-c3.c3", 0x200000, 0x080000, CRC(bfc4f0b2) SHA1(f4abe2b52882b966412f3b503b8f2c8f49b57968) ) /* Plane 0,1 */ /* TC534200 */
2319   ROM_LOAD16_BYTE( "039-c4.c4", 0x200001, 0x080000, CRC(81c9c250) SHA1(e3a34ff69081a8681b5ca895915892dcdccfa7aa) ) /* Plane 2,3 */ /* TC534200 */
2320ROM_END
2321
2322ROM_START( kotm2p ) /* fairly late prototype release, only the code differs from the main set */
2323   ROM_REGION( 0x100000, "maincpu", 0 )
2324   ROM_LOAD16_BYTE( "proto_039-p1.p1", 0x000001, 0x080000, CRC(3c1d17e7) SHA1(aeaff465fafa46ded903ed4e8cb8cd05de8dc096) )
2325   ROM_LOAD16_BYTE( "proto_039-p2.p2", 0x000000, 0x080000, CRC(bc9691f0) SHA1(3854659b952d4f8c2edd5d59858a61ce6d518604) )
2326
2327   NEO_SFIX_128K( "039-s1.s1", CRC(63ee053a) SHA1(7d4b92bd022708975b1470e8f24d1f5a712e1b94) ) /* TC531000 */
2328
2329   NEO_BIOS_AUDIO_128K( "039-m1.m1", CRC(0c5b2ad5) SHA1(15eb5ea10fecdbdbcfd06225ae6d88bb239592e7) ) /* TC531001 */
2330
2331   // same data as main set, but prototype board layout
2332   ROM_REGION( 0x300000, "ymsnd", 0 )
2333   ROM_LOAD( "proto_039-v1.v1", 0x000000, 0x080000, CRC(dd3566f1) SHA1(f7c2a3747aaab2bc57cdfa33d8bb9fab057b5214) )
2334   ROM_LOAD( "proto_039-v2.v2", 0x080000, 0x080000, CRC(57f60274) SHA1(7e17740aa05cf7ad4f9084e147600a8eb82c7284) )
2335   ROM_LOAD( "proto_039-v3.v3", 0x100000, 0x080000, CRC(0f008a07) SHA1(ed243a0449232bbea409308c3fec7e057fcd8501) )
2336   ROM_LOAD( "proto_039-v4.v4", 0x180000, 0x080000, CRC(1943d0fe) SHA1(47fb716c76ea6b5fe64204ff6d72b7feea10bda9) )
2337   ROM_LOAD( "proto_039-v5.v5", 0x200000, 0x080000, CRC(13be045b) SHA1(0e3713ae6b164ebae434c0f18c466365b26b9a77) )
2338   ROM_LOAD( "proto_039-v6.v6", 0x280000, 0x080000, CRC(d1dd3fd6) SHA1(052b92168a76cf3a97c8cacebcc3ebab228726df) )
2339
2340   NO_DELTAT_REGION
2341
2342   // same data as main set, but prototype board layout
2343   ROM_REGION( 0x600000, "sprites", 0 ) // note, ROM_LOAD32_BYTE
2344   ROM_LOAD32_BYTE( "proto_039-c1.c1", 0x000000, 0x100000, CRC(7192a787) SHA1(7bef6ce79c618103485480aee3c6f856968eb51f) ) /* Plane 0 */
2345   ROM_LOAD32_BYTE( "proto_039-c2.c2", 0x000002, 0x100000, CRC(7157eca1) SHA1(65f36c6a3834775b04076d2c38a6047bffe9a8cf) ) /* Plane 2 */
2346   ROM_LOAD32_BYTE( "proto_039-c3.c3", 0x000001, 0x100000, CRC(11d75727) SHA1(5a4c7b5ca3f1195e7853b45c5e71c13fe74d16e9) ) /* Plane 1 */
2347   ROM_LOAD32_BYTE( "proto_039-c4.c4", 0x000003, 0x100000, CRC(7ad48b28) SHA1(27e65d948f08c231107cb1a810e2b06731091fc3) ) /* Plane 3 */
2348   ROM_LOAD32_BYTE( "proto_039-c5.c5", 0x400000, 0x080000, CRC(5bdaf9ca) SHA1(60620d42ac6cd0e5da019fede2814a2f4171ff3f) ) /* Plane 0 */
2349   ROM_LOAD32_BYTE( "proto_039-c6.c6", 0x400002, 0x080000, CRC(21d4be8c) SHA1(f1b19d37d52d21584f304b7d37d5c096b58219d6) ) /* Plane 2 */
2350   ROM_LOAD32_BYTE( "proto_039-c7.c7", 0x400001, 0x080000, CRC(da55fd00) SHA1(52804f955597591fdd1d7478dc340b36d3c08c4a) ) /* Plane 1 */
2351   ROM_LOAD32_BYTE( "proto_039-c8.c8", 0x400003, 0x080000, CRC(592e9267) SHA1(0d27de59970ccbcaa1d47909ea3d741ffb0d9e07) ) /* Plane 3 */
2352ROM_END
2353
2354/****************************************
2355 ID-0040
2356 . NGM-040
2357 NEO-MVS PROG 4096 / NEO-MVS CHA 42G-2
2358 . NGH-040
2359****************************************/
2360
2361ROM_START( sengoku2 )
2362   ROM_REGION( 0x100000, "maincpu", 0 )
2363   ROM_LOAD16_WORD_SWAP( "040-p1.p1", 0x000000, 0x100000, CRC(6dde02c2) SHA1(e432e63feb88c71629ec96aa84650dcfe356a551) )
2364
2365   NEO_SFIX_128K( "040-s1.s1", CRC(cd9802a3) SHA1(f685d4638f4f68e7e3f101c0c39128454536721b) ) /* TC531000 */
2366
2367   NEO_BIOS_AUDIO_128K( "040-m1.m1", CRC(d4de4bca) SHA1(ecf604d06f01d40b04e285facef66a6ae2d35661) )
2368
2369   ROM_REGION( 0x300000, "ymsnd", 0 )
2370   ROM_LOAD( "040-v1.v1", 0x000000, 0x200000, CRC(71cb4b5d) SHA1(56d9aca1d476c19c7d0f707176a8fed53e0189b7) )
2371   ROM_LOAD( "040-v2.v2", 0x200000, 0x100000, CRC(c5cece01) SHA1(923a3377dac1919e8c3d9ab316902250caa4785f) )
2372
2373   NO_DELTAT_REGION
2374
2375   ROM_REGION( 0x600000, "sprites", 0 )
2376   ROM_LOAD16_BYTE( "040-c1.c1", 0x000000, 0x100000, CRC(faa8ea99) SHA1(714575e57ea1990612f960ec42b38d2e157ad400) ) /* Plane 0,1 */
2377   ROM_CONTINUE( 0x400000, 0x100000 )
2378   ROM_LOAD16_BYTE( "040-c2.c2", 0x000001, 0x100000, CRC(87d0ec65) SHA1(23645e0cf859fb4cec3745b3846ca0ef64c689fb) ) /* Plane 2,3 */
2379   ROM_CONTINUE( 0x400001, 0x100000 )
2380   ROM_LOAD16_BYTE( "040-c3.c3", 0x200000, 0x080000, CRC(24b5ba80) SHA1(29d58a6b56bd24ee2046a8d45e023b4d7ab7685b) ) /* Plane 0,1 */
2381   ROM_LOAD16_BYTE( "040-c4.c4", 0x200001, 0x080000, CRC(1c9e9930) SHA1(d017474873750a7602b7708c663d29b25ef7bb63) ) /* Plane 2,3 */
2382ROM_END
2383
2384/****************************************
2385 ID-0041
2386 . NGM-041
2387 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2388 . NGH-041
2389****************************************/
2390
2391ROM_START( bstars2 )
2392   ROM_REGION( 0x100000, "maincpu", 0 )
2393   ROM_LOAD16_WORD_SWAP( "041-p1.p1", 0x000000, 0x080000, CRC(523567fd) SHA1(f1e81eb4678f586b214ea102cde6effea1b0f768) ) /* TC534200 */
2394
2395   NEO_SFIX_128K( "041-s1.s1", CRC(015c5c94) SHA1(f1c60cd3dc54986b39f630ef3bf48f68c68695dc) ) /* TC531000 */
2396
2397   NEO_BIOS_AUDIO_128K( "041-m1.m1", CRC(15c177a6) SHA1(3f4abed635102f9bc8b44809750828c82e79b44f) ) /* TC531001 */
2398
2399   ROM_REGION( 0x280000, "ymsnd", 0 )
2400   ROM_LOAD( "041-v1.v1", 0x000000, 0x100000, CRC(cb1da093) SHA1(4f4d1d5fefa9dda372083c045bf0d268a57ce8f1) ) /* TC538200 */
2401   ROM_LOAD( "041-v2.v2", 0x100000, 0x100000, CRC(1c954a9d) SHA1(159bc6efdd531615461f6e16f83f6d4c4e67c237) ) /* TC538200 */
2402   ROM_LOAD( "041-v3.v3", 0x200000, 0x080000, CRC(afaa0180) SHA1(c4a047e21f093830498a163598ed7bd48a8cf9d1) ) /* TC534200 */
2403
2404   NO_DELTAT_REGION
2405
2406   ROM_REGION( 0x400000, "sprites", 0 )
2407   ROM_LOAD16_BYTE( "041-c1.c1", 0x000000, 0x100000, CRC(b39a12e1) SHA1(bafe383bd7c5a6aac4cb92dabbc56e3672fe174d) ) /* Plane 0,1 */ /* TC538200 */
2408   ROM_LOAD16_BYTE( "041-c2.c2", 0x000001, 0x100000, CRC(766cfc2f) SHA1(79e1063925d54a57df943019a88bea56c9152df3) ) /* Plane 2,3 */ /* TC538200 */
2409   ROM_LOAD16_BYTE( "041-c3.c3", 0x200000, 0x100000, CRC(fb31339d) SHA1(f4e821299680970b2e979acc4a170029b968c807) ) /* Plane 0,1 */ /* TC538200 */
2410   ROM_LOAD16_BYTE( "041-c4.c4", 0x200001, 0x100000, CRC(70457a0c) SHA1(a1e307f11ddab85d2e9c09d0428fac2e6da774b1) ) /* Plane 2,3 */ /* TC538200 */
2411ROM_END
2412
2413/****************************************
2414 ID-0042
2415 . NGM-042
2416 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2417 . NGH-042
2418 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
2419****************************************/
2420
2421ROM_START( quizdai2 ) /* MVS AND AES VERSION */
2422   ROM_REGION( 0x100000, "maincpu", 0 )
2423   ROM_LOAD16_WORD_SWAP( "042-p1.p1", 0x000000, 0x100000, CRC(ed719dcf) SHA1(12baf2601e86c0e4358517b9fa1c55f2f5835f1d) ) /* TC538200 */
2424
2425   NEO_SFIX_128K( "042-s1.s1", CRC(164fd6e6) SHA1(dad35bedc33d502a5ae745a45a972af8d901b160) ) /* TC531000 */
2426
2427   NEO_BIOS_AUDIO_128K( "042-m1.m1", CRC(bb19995d) SHA1(ed458fad5a23c6bd0d099927d98c31e1e6562d1b) ) /* TC531001 */
2428
2429   ROM_REGION( 0x200000, "ymsnd", 0 )
2430   ROM_LOAD( "042-v1.v1", 0x000000, 0x100000, CRC(af7f8247) SHA1(99a47014017c20e4e22010c60612b6b7f6efc9e5) ) /* TC538200 */
2431   ROM_LOAD( "042-v2.v2", 0x100000, 0x100000, CRC(c6474b59) SHA1(a6c5054032b698116247b2f09a8b94a1b588c4f1) ) /* TC538200 */
2432
2433   NO_DELTAT_REGION
2434
2435   ROM_REGION( 0x300000, "sprites", 0 )
2436   ROM_LOAD16_BYTE( "042-c1.c1", 0x000000, 0x100000, CRC(cb5809a1) SHA1(b53d06685246dd51b82b5c1d54d639d10e2ec26d) ) /* Plane 0,1 */ /* TC538200 */
2437   ROM_LOAD16_BYTE( "042-c2.c2", 0x000001, 0x100000, CRC(1436dfeb) SHA1(27d136fb1be793bd345a741f5e55a977275fff86) ) /* Plane 2,3 */ /* TC538200 */
2438   ROM_LOAD16_BYTE( "042-c3.c3", 0x200000, 0x080000, CRC(bcd4a518) SHA1(f355298fe0f2cf50ddcc0d613db56a5c04d7230f) ) /* Plane 0,1 */ /* TC534200 */
2439   ROM_LOAD16_BYTE( "042-c4.c4", 0x200001, 0x080000, CRC(d602219b) SHA1(34cf0f16db1e224396464ac838f4cd2e6d1c640e) ) /* Plane 2,3 */ /* TC534200 */
2440ROM_END
2441
2442/****************************************
2443 ID-0043
2444 . NGM-043
2445 NEO-MVS PROG 4096 / NEO-MVS CHA 42G-2
2446 . NGH-043
2447 NEO-AEG PROG16 / NEO-AEG CHA42G-1
2448****************************************/
2449
2450ROM_START( 3countb ) /* MVS AND AES VERSION */
2451   ROM_REGION( 0x100000, "maincpu", 0 )
2452   ROM_LOAD16_WORD_SWAP( "043-p1.p1", 0x000000, 0x100000, CRC(ffbdd928) SHA1(05b24655ca32723661adc5509b450824deb0c176) ) /* TC538200 */
2453   /* The original p1 is 8mbit; also found sets with p1 / p2 4mbit on eprom. */
2454
2455   NEO_SFIX_128K( "043-s1.s1", CRC(c362d484) SHA1(a3c029292572842feabe9aa8c3372628fb63978d) ) /* TC531000 */
2456
2457   NEO_BIOS_AUDIO_128K( "043-m1.m1", CRC(7eab59cb) SHA1(5ae4107457e091f73960bfba39b589ae36d51ca3) ) /* TC531001 */
2458
2459   ROM_REGION( 0x400000, "ymsnd", 0 )
2460   ROM_LOAD( "043-v1.v1", 0x000000, 0x200000, CRC(63688ce8) SHA1(5c6ac29a0cc0655a87cfe3ada8706838b86b86e4) ) /* TC5316200 */
2461   ROM_LOAD( "043-v2.v2", 0x200000, 0x200000, CRC(c69a827b) SHA1(f5197ea87bb6573fa6aef3a1713c3679c58c1e74) ) /* TC5316200 */
2462
2463   NO_DELTAT_REGION
2464
2465   ROM_REGION( 0x0800000, "sprites", 0 )
2466   ROM_LOAD16_BYTE( "043-c1.c1", 0x000000, 0x100000, CRC(bad2d67f) SHA1(04928e50ca75b7fbc52b64e816ec5701901f5893) ) /* Plane 0,1 */ /* TC5316200 */
2467   ROM_CONTINUE( 0x400000, 0x100000 )
2468   ROM_LOAD16_BYTE( "043-c2.c2", 0x000001, 0x100000, CRC(a7fbda95) SHA1(9da3c5faf22592a7eaf8df9fa6454f48c2a927ae) ) /* Plane 2,3 */ /* TC5316200 */
2469   ROM_CONTINUE( 0x400001, 0x100000 )
2470   ROM_LOAD16_BYTE( "043-c3.c3", 0x200000, 0x100000, CRC(f00be011) SHA1(2721cdba37a511a966a2a53b9bd6240f181d920c) ) /* Plane 0,1 */ /* TC5316200 */
2471   ROM_CONTINUE( 0x600000, 0x100000 )
2472   ROM_LOAD16_BYTE( "043-c4.c4", 0x200001, 0x100000, CRC(1887e5c0) SHA1(9b915359add7c10c78d8b281b4084eceea8f0499) ) /* Plane 2,3 */ /* TC5316200 */
2473   ROM_CONTINUE( 0x600001, 0x100000 )
2474ROM_END
2475
2476/****************************************
2477 ID-0044
2478 . NGM-044
2479 NEO-MVS PROG16 / NEO-MVS CHA42G-1
2480 . NGH-044
2481 NEO-AEG PROG16 / NEO-AEG CHA42G-1
2482****************************************/
2483
2484ROM_START( aof ) /* MVS AND AES VERSION */
2485   ROM_REGION( 0x100000, "maincpu", 0 )
2486   ROM_LOAD16_WORD_SWAP( "044-p1.p1", 0x000000, 0x080000, CRC(ca9f7a6d) SHA1(4d28ef86696f7e832510a66d3e8eb6c93b5b91a1) ) /* TC534200 */
2487
2488   NEO_SFIX_128K( "044-s1.s1", CRC(89903f39) SHA1(a04a0c244a5d5c7a595fcf649107969635a6a8b6) ) /* TC531000 */
2489
2490   NEO_BIOS_AUDIO_128K( "044-m1.m1", CRC(0987e4bb) SHA1(8fae4b7fac09d46d4727928e609ed9d3711dbded) ) /* TC531001 */
2491
2492   ROM_REGION( 0x400000, "ymsnd", 0 )
2493   ROM_LOAD( "044-v2.v2", 0x000000, 0x200000, CRC(3ec632ea) SHA1(e3f413f580b57f70d2dae16dbdacb797884d3fce) ) /* TC5316200 */
2494   ROM_LOAD( "044-v4.v4", 0x200000, 0x200000, CRC(4b0f8e23) SHA1(105da0cc5ba19869c7147fba8b177500758c232b) ) /* TC5316200 */
2495
2496   NO_DELTAT_REGION
2497
2498   ROM_REGION( 0x800000, "sprites", 0 )
2499   ROM_LOAD16_BYTE( "044-c1.c1", 0x000000, 0x100000, CRC(ddab98a7) SHA1(f20eb81ec431268798c142c482146c1545af1c24) ) /* Plane 0,1 */ /* TC5316200 */
2500   ROM_CONTINUE( 0x400000, 0x100000 )
2501   ROM_LOAD16_BYTE( "044-c2.c2", 0x000001, 0x100000, CRC(d8ccd575) SHA1(f697263fe92164e274bf34c55327b3d4a158b332) ) /* Plane 2,3 */ /* TC5316200 */
2502   ROM_CONTINUE( 0x400001, 0x100000 )
2503   ROM_LOAD16_BYTE( "044-c3.c3", 0x200000, 0x100000, CRC(403e898a) SHA1(dd5888f8b24a33b2c1f483316fe80c17849ccfc4) ) /* Plane 0,1 */ /* TC5316200 */
2504   ROM_CONTINUE( 0x600000, 0x100000 )
2505   ROM_LOAD16_BYTE( "044-c4.c4", 0x200001, 0x100000, CRC(6235fbaa) SHA1(9090e337d7beed25ba81ae0708d0aeb57e6cf405) ) /* Plane 2,3 */ /* TC5316200 */
2506   ROM_CONTINUE( 0x600001, 0x100000 )
2507ROM_END
2508
2509/****************************************
2510 ID-0045
2511 . NGM-045
2512 NEO-MVS PROGGSC / NEO-MVS CHA 42G-3
2513 . NGH-045
2514 NEO-AEG PROGGS / NEO-AEG CHA42G-4
2515****************************************/
2516
2517ROM_START( samsho ) /* MVS VERSION */
2518   ROM_REGION( 0x200000, "maincpu", 0 )
2519   ROM_LOAD16_WORD_SWAP( "045-p1.p1",   0x000000, 0x100000, CRC(dfe51bf0) SHA1(2243af3770a516ae698b69bcd9daf53632d9128d) ) /* TC538200 */
2520   ROM_LOAD16_WORD_SWAP( "045-pg2.sp2", 0x100000, 0x100000, CRC(46745b94) SHA1(d9e959fd1f88c9402915c1d0dcdb4a9e3d49cdcb) ) /* TC538200 */
2521
2522   NEO_SFIX_128K( "045-s1.s1", CRC(9142a4d3) SHA1(54088e99fcfd75fd0f94852890a56350066a05a3) ) /* TC531000 */
2523
2524   NEO_BIOS_AUDIO_128K( "045-m1.m1", CRC(95170640) SHA1(125c502db0693e8d11cef619b090081c14a9a300) ) /* TC531001 */
2525
2526   ROM_REGION( 0x400000, "ymsnd", 0 )
2527   ROM_LOAD( "045-v1.v1", 0x000000, 0x200000, CRC(37f78a9b) SHA1(6279b497d12fa90b49ab5ac3aae20fb302ec8b81) ) /* TC5316200 */
2528   ROM_LOAD( "045-v2.v2", 0x200000, 0x200000, CRC(568b20cf) SHA1(61af858685472a1fad608e230cccc2b108509ddb) ) /* TC5316200 */
2529
2530   NO_DELTAT_REGION
2531
2532   ROM_REGION( 0xa00000, "sprites", 0 )
2533   ROM_LOAD16_BYTE( "045-c1.c1", 0x000000, 0x200000, CRC(2e5873a4) SHA1(65c74c1e2d34390666bbb630df7d1f4c9570c3db) ) /* Plane 0,1 */ /* TC5316200 */
2534   ROM_LOAD16_BYTE( "045-c2.c2", 0x000001, 0x200000, CRC(04febb10) SHA1(16a8cbf0fd9468e81bf9eab6dbe7a8e3623a843e) ) /* Plane 2,3 */ /* TC5316200 */
2535   ROM_LOAD16_BYTE( "045-c3.c3", 0x400000, 0x200000, CRC(f3dabd1e) SHA1(c80e52df42be9f8b2e89b467b11ab140a480cee8) ) /* Plane 0,1 */ /* TC5316200 */
2536   ROM_LOAD16_BYTE( "045-c4.c4", 0x400001, 0x200000, CRC(935c62f0) SHA1(0053d40085fac14096b683f4341f65e543b71dc1) ) /* Plane 2,3 */ /* TC5316200 */
2537   ROM_LOAD16_BYTE( "045-c51.c5", 0x800000, 0x100000, CRC(81932894) SHA1(550f15dc5892c4602422c51869f0d59f70f01e9e) ) /* Plane 0,1 */ /* TC538200 */
2538   ROM_LOAD16_BYTE( "045-c61.c6", 0x800001, 0x100000, CRC(be30612e) SHA1(5e8b785f917c176d6796eba0caed37b13ddb3e63) ) /* Plane 2,3 */ /* TC538200 */
2539ROM_END
2540
2541ROM_START( samshoh ) /* AES VERSION */
2542   ROM_REGION( 0x180000, "maincpu", 0 )
2543   ROM_LOAD16_WORD_SWAP( "045-p1.p1",  0x000000, 0x100000, CRC(dfe51bf0) SHA1(2243af3770a516ae698b69bcd9daf53632d9128d) ) /* TC538200 */
2544   ROM_LOAD16_WORD_SWAP( "045-p2.sp2", 0x100000, 0x080000, CRC(38ee9ba9) SHA1(48190699a6be83cb6257365ae81f93fdd23abe09) ) /* TC534200 */
2545
2546   NEO_SFIX_128K( "045-s1.s1", CRC(9142a4d3) SHA1(54088e99fcfd75fd0f94852890a56350066a05a3) ) /* TC531000 */
2547
2548   NEO_BIOS_AUDIO_128K( "045-m1.m1", CRC(95170640) SHA1(125c502db0693e8d11cef619b090081c14a9a300) ) /* TC531001 */
2549
2550   ROM_REGION( 0x400000, "ymsnd", 0 )
2551   ROM_LOAD( "045-v1.v1", 0x000000, 0x200000, CRC(37f78a9b) SHA1(6279b497d12fa90b49ab5ac3aae20fb302ec8b81) ) /* TC5316200 */
2552   ROM_LOAD( "045-v2.v2", 0x200000, 0x200000, CRC(568b20cf) SHA1(61af858685472a1fad608e230cccc2b108509ddb) ) /* TC5316200 */
2553
2554   NO_DELTAT_REGION
2555
2556   ROM_REGION( 0x900000, "sprites", 0 )
2557   ROM_LOAD16_BYTE( "045-c1.c1", 0x000000, 0x200000, CRC(2e5873a4) SHA1(65c74c1e2d34390666bbb630df7d1f4c9570c3db) ) /* Plane 0,1 */ /* TC5316200 */
2558   ROM_LOAD16_BYTE( "045-c2.c2", 0x000001, 0x200000, CRC(04febb10) SHA1(16a8cbf0fd9468e81bf9eab6dbe7a8e3623a843e) ) /* Plane 2,3 */ /* TC5316200 */
2559   ROM_LOAD16_BYTE( "045-c3.c3", 0x400000, 0x200000, CRC(f3dabd1e) SHA1(c80e52df42be9f8b2e89b467b11ab140a480cee8) ) /* Plane 0,1 */ /* TC5316200 */
2560   ROM_LOAD16_BYTE( "045-c4.c4", 0x400001, 0x200000, CRC(935c62f0) SHA1(0053d40085fac14096b683f4341f65e543b71dc1) ) /* Plane 2,3 */ /* TC5316200 */
2561   ROM_LOAD16_BYTE( "045-c5.c5", 0x800000, 0x080000, CRC(a2bb8284) SHA1(aa118e3b8c062daa219b36758b9a3814c08c69dc) ) /* Plane 0,1 */ /* TC534200 */
2562   ROM_LOAD16_BYTE( "045-c6.c6", 0x800001, 0x080000, CRC(4fa71252) SHA1(afe374a9d1f2d955a59efe7b6196b89e021b164c) ) /* Plane 2,3 */ /* TC534200 */
2563ROM_END
2564
2565/****************************************
2566 ID-0046
2567 . NGM-046
2568 NEO-MVS PROGTOP / NEO-MVS CHA256B
2569 . NGH-046
2570 NEO-AEG PROGTOP / NEO-AEG CHA256[B]
2571****************************************/
2572
2573ROM_START( tophuntr ) /* MVS VERSION */
2574   ROM_REGION( 0x200000, "maincpu", 0 )
2575   ROM_LOAD16_WORD_SWAP( "046-p1.p1",  0x000000, 0x100000, CRC(69fa9e29) SHA1(9a40a16163193bb506a32bd34f6323b25ec69622) ) /* mask rom TC538200 */
2576   ROM_LOAD16_WORD_SWAP( "046-p2.sp2", 0x100000, 0x100000, CRC(f182cb3e) SHA1(6b4e0af5d4e623f0682f37ff5c69e5b705e20028) ) /* mask rom TC538200 */
2577
2578   NEO_SFIX_128K( "046-s1.s1", CRC(14b01d7b) SHA1(618ce75c25d6cc86a3b46bd64a0aa34ab82f75ae) ) /* mask rom TC531000 */
2579
2580   NEO_BIOS_AUDIO_128K( "046-m1.m1", CRC(3f84bb9f) SHA1(07446040871d11da3c2217ee9d1faf8c3cae7420) ) /* mask rom TC531001 */
2581
2582   ROM_REGION( 0x400000, "ymsnd", 0 )
2583   ROM_LOAD( "046-v1.v1", 0x000000, 0x100000, CRC(c1f9c2db) SHA1(bed95a76afefa46503a12e0f0a9787c4c967ac50) ) /* mask rom TC538200 */
2584   ROM_LOAD( "046-v2.v2", 0x100000, 0x100000, CRC(56254a64) SHA1(1cf049cb4c414419859d2c8ee714317a35a85251) ) /* mask rom TC538200 */
2585   ROM_LOAD( "046-v3.v3", 0x200000, 0x100000, CRC(58113fb1) SHA1(40972982a63c7adecef840f9882f4165da723ab6) ) /* mask rom TC538200 */
2586   ROM_LOAD( "046-v4.v4", 0x300000, 0x100000, CRC(4f54c187) SHA1(63a76949301b83bdd44aa1a4462f642ab9ca3c0b) ) /* mask rom TC538200 */
2587
2588   NO_DELTAT_REGION
2589
2590   ROM_REGION( 0x800000, "sprites", 0 )
2591   ROM_LOAD16_BYTE( "046-c1.c1", 0x000000, 0x100000, CRC(fa720a4a) SHA1(364913b9fa40d46e4e39ae3cdae914cfd0de137d) ) /* Plane 0,1 */ /* mask rom TC538200 */
2592   ROM_LOAD16_BYTE( "046-c2.c2", 0x000001, 0x100000, CRC(c900c205) SHA1(50274e79aa26f334eb806288688b30720bade883) ) /* Plane 2,3 */ /* mask rom TC538200 */
2593   ROM_LOAD16_BYTE( "046-c3.c3", 0x200000, 0x100000, CRC(880e3c25) SHA1(b6974af0c833b766866919b6f15b6f8cef82530d) ) /* Plane 0,1 */ /* mask rom TC538200 */
2594   ROM_LOAD16_BYTE( "046-c4.c4", 0x200001, 0x100000, CRC(7a2248aa) SHA1(8af0b26025a54e3b91604dd24a3c1c518fbd8536) ) /* Plane 2,3 */ /* mask rom TC538200 */
2595   ROM_LOAD16_BYTE( "046-c5.c5", 0x400000, 0x100000, CRC(4b735e45) SHA1(2f8b46388c4696aee6a97e1e21cdadf6b142b01a) ) /* Plane 0,1 */ /* mask rom TC538200 */
2596   ROM_LOAD16_BYTE( "046-c6.c6", 0x400001, 0x100000, CRC(273171df) SHA1(9c35832221e016c12ef1ed71da167f565daaf86c) ) /* Plane 2,3 */ /* mask rom TC538200 */
2597   ROM_LOAD16_BYTE( "046-c7.c7", 0x600000, 0x100000, CRC(12829c4c) SHA1(ac5f3d848d7116fc35c97f53a72c85e049dd3a2f) ) /* Plane 0,1 */ /* mask rom TC538200 */
2598   ROM_LOAD16_BYTE( "046-c8.c8", 0x600001, 0x100000, CRC(c944e03d) SHA1(be23999b8ce09ee15ba500ce4d5e2a82a4f58d9b) ) /* Plane 2,3 */ /* mask rom TC538200 */
2599ROM_END
2600
2601ROM_START( tophuntrh ) /* AES VERSION */
2602   ROM_REGION( 0x200000, "maincpu", 0 )
2603   ROM_LOAD16_WORD_SWAP( "046-pg1.p1",0x000000, 0x100000, CRC(771e39bc) SHA1(c0e05fd1ca81926438bb75e2fa6894e40ab6521e) ) /* mask rom TC538200 */
2604   ROM_LOAD16_WORD_SWAP( "046-p2.sp2",0x100000, 0x100000, CRC(f182cb3e) SHA1(6b4e0af5d4e623f0682f37ff5c69e5b705e20028) ) /* mask rom TC538200 */
2605
2606   NEO_SFIX_128K( "046-sg1.s1", CRC(92e9ac8c) SHA1(cab5c77c091e8d12d9c3a2cc8d741b74e4386efb) ) /* mask rom TC531000 */
2607
2608   NEO_BIOS_AUDIO_128K( "046-m1.m1", CRC(3f84bb9f) SHA1(07446040871d11da3c2217ee9d1faf8c3cae7420) ) /* mask rom TC531001 */
2609
2610   ROM_REGION( 0x400000, "ymsnd", 0 )
2611   ROM_LOAD( "046-v1.v1", 0x000000, 0x100000, CRC(c1f9c2db) SHA1(bed95a76afefa46503a12e0f0a9787c4c967ac50) ) /* mask rom TC538200 */
2612   ROM_LOAD( "046-v2.v2", 0x100000, 0x100000, CRC(56254a64) SHA1(1cf049cb4c414419859d2c8ee714317a35a85251) ) /* mask rom TC538200 */
2613   ROM_LOAD( "046-v3.v3", 0x200000, 0x100000, CRC(58113fb1) SHA1(40972982a63c7adecef840f9882f4165da723ab6) ) /* mask rom TC538200 */
2614   ROM_LOAD( "046-v4.v4", 0x300000, 0x100000, CRC(4f54c187) SHA1(63a76949301b83bdd44aa1a4462f642ab9ca3c0b) ) /* mask rom TC538200 */
2615
2616   NO_DELTAT_REGION
2617
2618   ROM_REGION( 0x800000, "sprites", 0 )
2619   ROM_LOAD16_BYTE( "046-c1.c1", 0x000000, 0x100000, CRC(fa720a4a) SHA1(364913b9fa40d46e4e39ae3cdae914cfd0de137d) ) /* Plane 0,1 */ /* mask rom TC538200 */
2620   ROM_LOAD16_BYTE( "046-c2.c2", 0x000001, 0x100000, CRC(c900c205) SHA1(50274e79aa26f334eb806288688b30720bade883) ) /* Plane 2,3 */ /* mask rom TC538200 */
2621   ROM_LOAD16_BYTE( "046-c3.c3", 0x200000, 0x100000, CRC(880e3c25) SHA1(b6974af0c833b766866919b6f15b6f8cef82530d) ) /* Plane 0,1 */ /* mask rom TC538200 */
2622   ROM_LOAD16_BYTE( "046-c4.c4", 0x200001, 0x100000, CRC(7a2248aa) SHA1(8af0b26025a54e3b91604dd24a3c1c518fbd8536) ) /* Plane 2,3 */ /* mask rom TC538200 */
2623   ROM_LOAD16_BYTE( "046-c5.c5", 0x400000, 0x100000, CRC(4b735e45) SHA1(2f8b46388c4696aee6a97e1e21cdadf6b142b01a) ) /* Plane 0,1 */ /* mask rom TC538200 */
2624   ROM_LOAD16_BYTE( "046-c6.c6", 0x400001, 0x100000, CRC(273171df) SHA1(9c35832221e016c12ef1ed71da167f565daaf86c) ) /* Plane 2,3 */ /* mask rom TC538200 */
2625   ROM_LOAD16_BYTE( "046-c7.c7", 0x600000, 0x100000, CRC(12829c4c) SHA1(ac5f3d848d7116fc35c97f53a72c85e049dd3a2f) ) /* Plane 0,1 */ /* mask rom TC538200 */
2626   ROM_LOAD16_BYTE( "046-c8.c8", 0x600001, 0x100000, CRC(c944e03d) SHA1(be23999b8ce09ee15ba500ce4d5e2a82a4f58d9b) ) /* Plane 2,3 */ /* mask rom TC538200 */
2627ROM_END
2628
2629/****************************************
2630 ID-0047
2631 . NGM-047
2632 NEO-MVS PROG-G2 (SNK-9201) / NEO-MVS CHA42G-1
2633 . NGH-047
2634 NEO-AEG PROG-G2 (PRO-CT0) / NEO-AEG CHA42G-2B
2635****************************************/
2636
2637ROM_START( fatfury2 ) /* MVS AND AES VERSION */
2638   ROM_REGION( 0x100000, "maincpu", 0 )
2639   ROM_LOAD16_WORD_SWAP( "047-p1.p1", 0x000000, 0x100000, CRC(ecfdbb69) SHA1(59e2f137c6eaf043df4ddae865a9159a10265c60) ) /* TC538200 */
2640   /* The original p1 is 8mbit; also found sets with p1 / p2 4mbit on eprom. */
2641
2642   NEO_SFIX_128K( "047-s1.s1", CRC(d7dbbf39) SHA1(29253e596f475ebd41a6e3bb53952e3a0ccd2eed) ) /* TC531000 */
2643
2644   NEO_BIOS_AUDIO_128K( "047-m1.m1", CRC(820b0ba7) SHA1(5708248d89446e49184eaadb52f7c61b2b6c13c5) ) /* TC531001 */
2645
2646   ROM_REGION( 0x400000, "ymsnd", 0 )
2647   ROM_LOAD( "047-v1.v1", 0x000000, 0x200000, CRC(d9d00784) SHA1(f6a91eada8c23aa4518c4b82eeebca69f79d845c) ) /* TC5316200 */
2648   ROM_LOAD( "047-v2.v2", 0x200000, 0x200000, CRC(2c9a4b33) SHA1(d4a1c0951c02c8919b3ec32ed96933634ff9e54c) ) /* TC5316200 */
2649
2650   NO_DELTAT_REGION
2651
2652   ROM_REGION( 0x800000, "sprites", 0 )
2653   ROM_LOAD16_BYTE( "047-c1.c1", 0x000000, 0x100000, CRC(f72a939e) SHA1(67fc398ec28061adca0d3be82bbe7297015800da) ) /* Plane 0,1 */ /* TC5316200 */
2654   ROM_CONTINUE( 0x400000, 0x100000 )
2655   ROM_LOAD16_BYTE( "047-c2.c2", 0x000001, 0x100000, CRC(05119a0d) SHA1(c2f100b73eb04f65b6ba6089d49aceb51b470ec6) ) /* Plane 2,3 */ /* TC5316200 */
2656   ROM_CONTINUE( 0x400001, 0x100000 )
2657   ROM_LOAD16_BYTE( "047-c3.c3", 0x200000, 0x100000, CRC(01e00738) SHA1(79654f24d777dd5eb68bafc3b8cb9db71d5822e2) ) /* Plane 0,1 */ /* TC5316200 */
2658   ROM_CONTINUE( 0x600000, 0x100000 )
2659   ROM_LOAD16_BYTE( "047-c4.c4", 0x200001, 0x100000, CRC(9fe27432) SHA1(89d22d77ba8bc6d1f6c974195c34ad61b9010de7) ) /* Plane 2,3 */ /* TC5316200 */
2660   ROM_CONTINUE( 0x600001, 0x100000 )
2661ROM_END
2662
2663/****************************************
2664 ID-0048
2665 . ??M-048
2666 NEO-MVS PROGGSC / NEO-MVS CHA256
2667****************************************/
2668
2669ROM_START( janshin ) /* MVS ONLY RELEASE */
2670   ROM_REGION( 0x100000, "maincpu", 0 )
2671   ROM_LOAD16_WORD_SWAP( "048-p1.p1", 0x000000, 0x100000, CRC(fa818cbb) SHA1(afee2c897b766c84f13891fb52c574fb18df0951) ) /* mask rom TC538200 */
2672
2673   NEO_SFIX_128K( "048-s1.s1", CRC(8285b25a) SHA1(d983640cda3e346e38469b4d3ec8048b116a7bb7) ) /* mask rom TC531000 */
2674
2675   NEO_BIOS_AUDIO_128K( "048-m1.m1", CRC(310467c7) SHA1(c529961195c9bdf5d1ce70a38ad129002d1f3b5f) ) /* mask rom TC531001 */
2676
2677   ROM_REGION( 0x200000, "ymsnd", 0 )
2678   ROM_LOAD( "048-v1.v1", 0x000000, 0x200000, CRC(f1947d2b) SHA1(955ff91ab24eb2a7ec51ff46c9f9f2ec060456b2) ) /* mask rom TC5316200 */
2679
2680   NO_DELTAT_REGION
2681
2682   ROM_REGION( 0x400000, "sprites", 0 )
2683   ROM_LOAD16_BYTE( "048-c1.c1", 0x000000, 0x200000, CRC(3fa890e9) SHA1(e73d2802bacfbc2b2b16fbbedddde17488e4bbde) ) /* Plane 0,1 */ /* mask rom TC5316200 */
2684   ROM_LOAD16_BYTE( "048-c2.c1", 0x000001, 0x200000, CRC(59c48ad8) SHA1(2630817e735a6d197377558f4324c1442803fe15) ) /* Plane 2,3 */ /* mask rom TC5316200 */
2685ROM_END
2686
2687/****************************************
2688 ID-0049
2689 . NGM-049
2690 NEO-MVS PROG16 / NEO-MVS CHA42G-1
2691 . NGH-049
2692 NEO-AEG PROG16 / NEO-AEG CHA42G-1
2693****************************************/
2694
2695ROM_START( androdun ) /* MVS AND AES VERSION */
2696   ROM_REGION( 0x100000, "maincpu", 0 )
2697   ROM_LOAD16_WORD_SWAP( "049-p1.p1", 0x000000, 0x080000, CRC(3b857da2) SHA1(4dd86c739944696c16c3cdd85935d6dfa9fdc276) ) /* CXK384500 */
2698   ROM_LOAD16_WORD_SWAP( "049-p2.p2", 0x080000, 0x080000, CRC(2f062209) SHA1(991cf3e3677929b2cc0b2787b0c7b6ad3700f618) ) /* CXK384500 */
2699
2700   NEO_SFIX_128K( "049-s1.s1", CRC(6349de5d) SHA1(bcc44b9576d7bedd9a39294530bb66f707690c72) ) /* CXK381000 */
2701
2702   NEO_BIOS_AUDIO_128K( "049-m1.m1", CRC(edd2acf4) SHA1(c4ee6ba834d54b9fc5a854dbc41a05877e090371) ) /* CXK381003 */
2703
2704   ROM_REGION( 0x100000, "ymsnd", 0 )
2705   ROM_LOAD( "049-v1.v1", 0x000000, 0x100000, CRC(ce43cb89) SHA1(47f82e077abb6efc6b1b0490412ae147d5d2acef) ) /* CXK388000 */
2706
2707   NO_DELTAT_REGION
2708
2709   ROM_REGION( 0x200000, "sprites", 0 )
2710   ROM_LOAD16_BYTE( "049-c1.c1", 0x000000, 0x100000, CRC(7ace6db3) SHA1(c41cc9de8c0788dcc49ca494fd3bb3124062d9dd) ) /* Plane 0,1 */ /* CXK388000 */
2711   ROM_LOAD16_BYTE( "049-c2.c2", 0x000001, 0x100000, CRC(b17024f7) SHA1(fcf7efae48fcdccaf5255c145de414fb246128f0) ) /* Plane 2,3 */ /* CXK388000 */
2712ROM_END
2713
2714/****************************************
2715 ID-0050
2716 . ALM-004
2717 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2718 . ALH-004
2719****************************************/
2720
2721ROM_START( ncommand )
2722   ROM_REGION( 0x100000, "maincpu", 0 )
2723   ROM_LOAD16_WORD_SWAP( "050-p1.p1", 0x000000, 0x100000, CRC(4e097c40) SHA1(43311a7ca14a14dcd4a99d8576a12e897b078643) ) /* CXK388000 */
2724
2725   NEO_SFIX_128K( "050-s1.s1", CRC(db8f9c8e) SHA1(11cb82cf3c4d0fc2da5df0c26410a64808093610) ) /* CXK381000 */
2726
2727   NEO_BIOS_AUDIO_128K( "050-m1.m1", CRC(6fcf07d3) SHA1(e9ecff4bfec1f5964bf06645f75d80d611b6231c) ) /* CXK381003 */
2728
2729   ROM_REGION( 0x180000, "ymsnd", 0 )
2730   ROM_LOAD( "050-v1.v1", 0x000000, 0x100000, CRC(23c3ab42) SHA1(b6c59bb180f1aa34c95f3ec923f3aafb689d57b0) ) /* CXK388000 */
2731   ROM_LOAD( "050-v2.v2", 0x100000, 0x080000, CRC(80b8a984) SHA1(950cf0e78ceffa4037663f1086fbbc88588f49f2) ) /* CXK388000 */
2732
2733   NO_DELTAT_REGION
2734
2735   ROM_REGION( 0x400000, "sprites", 0 )
2736   ROM_LOAD16_BYTE( "050-c1.c1", 0x000000, 0x100000, CRC(87421a0a) SHA1(1d8faaf03778f7c5b062554d7333bbd3f0ca12ad) ) /* Plane 0,1 */ /* CXK388000 */
2737   ROM_LOAD16_BYTE( "050-c2.c2", 0x000001, 0x100000, CRC(c4cf5548) SHA1(ef9eca5aeff9dda2209a050c2af00ed8979ae2bc) ) /* Plane 2,3 */ /* CXK388000 */
2738   ROM_LOAD16_BYTE( "050-c3.c3", 0x200000, 0x100000, CRC(03422c1e) SHA1(920e5015aebe2ffc5ce43a52365c7f0a705f3b9e) ) /* Plane 0,1 */ /* CXK388000 */
2739   ROM_LOAD16_BYTE( "050-c4.c4", 0x200001, 0x100000, CRC(0845eadb) SHA1(3c71a02bf0e07a5381846bb6d75bbe7dd546adea) ) /* Plane 2,3 */ /* CXK388000 */
2740ROM_END
2741
2742/****************************************
2743 ID-0051
2744 . AIM-051
2745 NEO-MVS PROG-G2 / NEO-MVS CHA42G-1
2746 . AIH-051
2747****************************************/
2748
2749ROM_START( viewpoin )
2750   ROM_REGION( 0x100000, "maincpu", 0 )
2751   ROM_LOAD16_WORD_SWAP( "051-p1.p1", 0x000000, 0x100000, CRC(17aa899d) SHA1(674cd8ace7acdf4f407de741e3d0071bcb49c902) ) /* CXK388002 */
2752
2753   NEO_SFIX_128K( "051-s1.s1", CRC(9fea5758) SHA1(5c6f01da89f2639cf741ee7c39e27023b8083052) ) /* CXK381000 */
2754
2755   NEO_BIOS_AUDIO_128K( "051-m1.m1", CRC(8e69f29a) SHA1(7a25f4997996434ea1b7d0d1ca9e7aaf966cbd03) ) /* CXK381003 */
2756
2757   ROM_REGION( 0x400000, "ymsnd", 0 )
2758   /* What board was originally used (labels 051-V2 and 051-V4)? MVS is twice confirmed on NEO-MVS PROG-G2 */
2759   ROM_LOAD( "051-v2.v1", 0x000000, 0x200000, CRC(019978b6) SHA1(7896a551115fc6ed38b5944e0c8dcb2b2c1c077d) ) /* CXK381600 */
2760   ROM_LOAD( "051-v4.v2", 0x200000, 0x200000, CRC(5758f38c) SHA1(da10f4b7d22d9139bbf068bd940be82168a74ca1) ) /* CXK381600 */
2761
2762   NO_DELTAT_REGION
2763
2764   ROM_REGION( 0x600000, "sprites", 0 )
2765   ROM_LOAD16_BYTE( "051-c1.c1", 0x000000, 0x100000, CRC(d624c132) SHA1(49c7e9f020cba45d7083b45252bcc03397f8c286) ) /* Plane 0,1 */ /* CXK381600 */
2766   ROM_CONTINUE( 0x400000, 0x100000 )
2767   ROM_LOAD16_BYTE( "051-c2.c2", 0x000001, 0x100000, CRC(40d69f1e) SHA1(ec4a13582772594957f927622d50f54b0dfcd8d8) ) /* Plane 2,3 */ /* CXK381600 */
2768   ROM_CONTINUE( 0x400001, 0x100000 )
2769ROM_END
2770
2771/****************************************
2772 ID-0052
2773 . NGM-052
2774 NEO-MVS PROG-G2 (SNK-9201) / NEO-MVS CHA 42G-2
2775 . NGH-052
2776****************************************/
2777
2778ROM_START( ssideki )
2779   ROM_REGION( 0x100000, "maincpu", 0 )
2780   ROM_LOAD16_WORD_SWAP( "052-p1.p1", 0x000000, 0x080000, CRC(9cd97256) SHA1(1c780b711137fd79cc81b01941e84f3d59e0071f) ) /* TC534200 */
2781
2782   NEO_SFIX_128K( "052-s1.s1", CRC(97689804) SHA1(fa8dab3b3353d7115a0368f3fc749950c0186fbc) ) /* TC531000 */
2783
2784   NEO_BIOS_AUDIO_128K( "052-m1.m1", CRC(49f17d2d) SHA1(70971fcf71ae3a6b2e26e7ade8063941fb178ae5) ) /* TC531001 */
2785
2786   ROM_REGION( 0x200000, "ymsnd", 0 )
2787   ROM_LOAD( "052-v1.v1", 0x000000, 0x200000, CRC(22c097a5) SHA1(328c4e6db0a026f54a633cff1443a3f964a8daea) ) /* TC5316200 */
2788
2789   NO_DELTAT_REGION
2790
2791   ROM_REGION( 0x600000, "sprites", 0 )
2792   ROM_LOAD16_BYTE( "052-c1.c1", 0x000000, 0x100000, CRC(53e1c002) SHA1(2125b1be379ea7933893ffb1cd65d6c4bf8b03bd) ) /* Plane 0,1 */ /* TC5316200 */
2793   ROM_CONTINUE( 0x400000, 0x100000 )
2794   ROM_LOAD16_BYTE( "052-c2.c2", 0x000001, 0x100000, CRC(776a2d1f) SHA1(bca0bac87443e9e78c623d284f6cc96cc9c9098f) ) /* Plane 2,3 */ /* TC5316200 */
2795   ROM_CONTINUE( 0x400001, 0x100000 )
2796ROM_END
2797
2798/****************************************
2799 ID-0053
2800 . ALM-005
2801 NEO-MVS PROG16 / NEO-MVS CHA42G-1
2802 . ALH-005
2803 NEO-AEG PROG16 / NEO-AEG CHA42G-1
2804****************************************/
2805
2806ROM_START( wh1 ) /* MVS VERSION */
2807   ROM_REGION( 0x100000, "maincpu", 0 )
2808   ROM_LOAD16_WORD_SWAP( "053-epr.p1", 0x000000, 0x080000, CRC(d42e1e9a) SHA1(9d1911fe4bf6202466ec45557dd008cbf01ca9c6) ) /* D27C4000 */
2809   ROM_LOAD16_WORD_SWAP( "053-epr.p2", 0x080000, 0x080000, CRC(0e33e8a3) SHA1(4b7086edb504f3c30529d51ba8f453d48eba5164) ) /* D27C4000 */
2810   /* P's on eprom, correct chip label unknown */
2811
2812   NEO_SFIX_128K( "053-s1.s1", CRC(8c2c2d6b) SHA1(87fa79611c6f8886dcc8766814829c669c65b40f) ) /* TC531000 */
2813
2814   NEO_BIOS_AUDIO_128K( "053-m1.m1", CRC(1bd9d04b) SHA1(65cd7b002123ed1a3111e3d942608d0082799ff3) ) /* TC54H1000 */
2815
2816   ROM_REGION( 0x300000, "ymsnd", 0 )
2817   ROM_LOAD( "053-v2.v2", 0x000000, 0x200000, CRC(a68df485) SHA1(007fa715423fba72c899cd3db3f4bec13281cf7a) ) /* TC5316200 */
2818   ROM_LOAD( "053-v4.v4", 0x200000, 0x100000, CRC(7bea8f66) SHA1(428e8721bd87f7faa756adb1e12672219be46c1d) ) /* TC538200 */
2819
2820   NO_DELTAT_REGION
2821
2822   ROM_REGION( 0x600000, "sprites", 0 )
2823   ROM_LOAD16_BYTE( "053-c1.c1", 0x000000, 0x100000, CRC(85eb5bce) SHA1(3d03d29296ca6e6b5106aac4aaeec9d4b4ed1313) ) /* Plane 0,1 */ /* TC5316200 */
2824   ROM_CONTINUE( 0x400000, 0x100000 )
2825   ROM_LOAD16_BYTE( "053-c2.c2", 0x000001, 0x100000, CRC(ec93b048) SHA1(d4159210df94e259f874a4671d271ec27be13451) ) /* Plane 2,3 */ /* TC5316200 */
2826   ROM_CONTINUE( 0x400001, 0x100000 )
2827   ROM_LOAD16_BYTE( "053-c3.c3", 0x200000, 0x100000, CRC(0dd64965) SHA1(e97b3b8a461da5e8861b3dfdacb25e007ced37a1) ) /* Plane 0,1 */ /* TC538200 */
2828   ROM_LOAD16_BYTE( "053-c4.c4", 0x200001, 0x100000, CRC(9270d954) SHA1(a2ef909868f6b06cdcc22a63ddf6c96be12b999c) ) /* Plane 2,3 */ /* TC538200 */
2829ROM_END
2830
2831ROM_START( wh1h ) /* AES VERSION */
2832   ROM_REGION( 0x100000, "maincpu", 0 )
2833   ROM_LOAD16_WORD_SWAP( "053-p1.p1", 0x000000, 0x080000, CRC(95b574cb) SHA1(b7b7af6a04c3d902e7f8852897741ecaf0b1062c) ) /* TC534200 */
2834   ROM_LOAD16_WORD_SWAP( "053-p2.p2", 0x080000, 0x080000, CRC(f198ed45) SHA1(24ccc091e97f63796562bb5b30df51f39bd504ef) ) /* TC534200 */
2835
2836   NEO_SFIX_128K( "053-s1.s1", CRC(8c2c2d6b) SHA1(87fa79611c6f8886dcc8766814829c669c65b40f) ) /* TC531000 */
2837
2838   NEO_BIOS_AUDIO_128K( "053-m1.m1", CRC(1bd9d04b) SHA1(65cd7b002123ed1a3111e3d942608d0082799ff3) ) /* TC531001 */
2839
2840   ROM_REGION( 0x300000, "ymsnd", 0 )
2841   ROM_LOAD( "053-v2.v2", 0x000000, 0x200000, CRC(a68df485) SHA1(007fa715423fba72c899cd3db3f4bec13281cf7a) ) /* TC5316200 */
2842   ROM_LOAD( "053-v4.v4", 0x200000, 0x100000, CRC(7bea8f66) SHA1(428e8721bd87f7faa756adb1e12672219be46c1d) ) /* TC538200 */
2843
2844   NO_DELTAT_REGION
2845
2846   ROM_REGION( 0x600000, "sprites", 0 )
2847   ROM_LOAD16_BYTE( "053-c1.c1", 0x000000, 0x100000, CRC(85eb5bce) SHA1(3d03d29296ca6e6b5106aac4aaeec9d4b4ed1313) ) /* Plane 0,1 */ /* TC5316200 */
2848   ROM_CONTINUE( 0x400000, 0x100000 )
2849   ROM_LOAD16_BYTE( "053-c2.c2", 0x000001, 0x100000, CRC(ec93b048) SHA1(d4159210df94e259f874a4671d271ec27be13451) ) /* Plane 2,3 */ /* TC5316200 */
2850   ROM_CONTINUE( 0x400001, 0x100000 )
2851   ROM_LOAD16_BYTE( "053-c3.c3", 0x200000, 0x100000, CRC(0dd64965) SHA1(e97b3b8a461da5e8861b3dfdacb25e007ced37a1) ) /* Plane 0,1 */ /* TC538200 */
2852   ROM_LOAD16_BYTE( "053-c4.c4", 0x200001, 0x100000, CRC(9270d954) SHA1(a2ef909868f6b06cdcc22a63ddf6c96be12b999c) ) /* Plane 2,3 */ /* TC538200 */
2853ROM_END
2854
2855ROM_START( wh1ha )
2856   ROM_REGION( 0x100000, "maincpu", 0 )
2857   ROM_LOAD16_WORD_SWAP( "053-p1_a.p1", 0x000000, 0x080000, CRC(ed29fde2) SHA1(52b8ca5b804f786f95e1dfb348d8c7b82f1d4ddf) )
2858   ROM_LOAD16_WORD_SWAP( "053-p2_a.p2", 0x080000, 0x080000, CRC(98f2b158) SHA1(a64e1425970eb53cc910891db39973dee3d54ccc) )
2859   /* Correct chip labels for p1 and p2 unknown */
2860
2861   NEO_SFIX_128K( "053-s1.s1", CRC(8c2c2d6b) SHA1(87fa79611c6f8886dcc8766814829c669c65b40f) ) /* TC531000 */
2862
2863   NEO_BIOS_AUDIO_128K( "053-m1.m1", CRC(1bd9d04b) SHA1(65cd7b002123ed1a3111e3d942608d0082799ff3) ) /* TC531001 */
2864
2865   ROM_REGION( 0x300000, "ymsnd", 0 )
2866   ROM_LOAD( "053-v2.v2", 0x000000, 0x200000, CRC(a68df485) SHA1(007fa715423fba72c899cd3db3f4bec13281cf7a) ) /* TC5316200 */
2867   ROM_LOAD( "053-v4.v4", 0x200000, 0x100000, CRC(7bea8f66) SHA1(428e8721bd87f7faa756adb1e12672219be46c1d) ) /* TC538200 */
2868
2869   NO_DELTAT_REGION
2870
2871   ROM_REGION( 0x600000, "sprites", 0 )
2872   ROM_LOAD16_BYTE( "053-c1.c1", 0x000000, 0x100000, CRC(85eb5bce) SHA1(3d03d29296ca6e6b5106aac4aaeec9d4b4ed1313) ) /* Plane 0,1 */ /* TC5316200 */
2873   ROM_CONTINUE( 0x400000, 0x100000 )
2874   ROM_LOAD16_BYTE( "053-c2.c2", 0x000001, 0x100000, CRC(ec93b048) SHA1(d4159210df94e259f874a4671d271ec27be13451) ) /* Plane 2,3 */ /* TC5316200 */
2875   ROM_CONTINUE( 0x400001, 0x100000 )
2876   ROM_LOAD16_BYTE( "053-c3.c3", 0x200000, 0x100000, CRC(0dd64965) SHA1(e97b3b8a461da5e8861b3dfdacb25e007ced37a1) ) /* Plane 0,1 */ /* TC538200 */
2877   ROM_LOAD16_BYTE( "053-c4.c4", 0x200001, 0x100000, CRC(9270d954) SHA1(a2ef909868f6b06cdcc22a63ddf6c96be12b999c) ) /* Plane 2,3 */ /* TC538200 */
2878ROM_END
2879
2880/****************************************
2881 ID-0054
2882 Crossed Swords 2 (CD only? not confirmed, MVS might exist)
2883****************************************/
2884
2885/****************************************
2886 ID-0055
2887 . NGM-055
2888 NEO-MVS PROGTOP / NEO-MVS CHA256
2889 . NGH-055
2890 NEO-AEG PROGRK / NEO-AEG CHA256
2891****************************************/
2892
2893ROM_START( kof94 ) /* MVS AND AES VERSION */
2894   ROM_REGION( 0x200000, "maincpu", 0 )
2895   ROM_LOAD16_WORD_SWAP( "055-p1.p1", 0x100000, 0x100000, CRC(f10a2042) SHA1(d08a3f3c28be4b1793de7d362456281329fe1828) ) /* mask rom TC5316200 */
2896   ROM_CONTINUE( 0x000000, 0x100000 )
2897
2898   NEO_SFIX_128K( "055-s1.s1", CRC(825976c1) SHA1(cb6a70bdd95d449d25196ca269b621c362db6743) ) /* mask rom TC531000 */
2899
2900   NEO_BIOS_AUDIO_128K( "055-m1.m1", CRC(f6e77cf5) SHA1(292a3e3a4918ffe72bd1c41acb927b91844e035e) ) /* mask rom TC531001 */
2901
2902   ROM_REGION( 0x600000, "ymsnd", 0 )
2903   ROM_LOAD( "055-v1.v1", 0x000000, 0x200000, CRC(8889596d) SHA1(c9ce713b720511438dbd3fe3bcc7c246f475c6a2) ) /* mask rom TC5316200 */
2904   ROM_LOAD( "055-v2.v2", 0x200000, 0x200000, CRC(25022b27) SHA1(2b040a831c3c92ac6e4719de38009a0d55b64f6b) ) /* mask rom TC5316200 */
2905   ROM_LOAD( "055-v3.v3", 0x400000, 0x200000, CRC(83cf32c0) SHA1(34a31a37eb10945b5169e96321bcea06eec33a00) ) /* mask rom TC5316200 */
2906
2907   NO_DELTAT_REGION
2908
2909   ROM_REGION( 0x1000000, "sprites", 0 )
2910   ROM_LOAD16_BYTE( "055-c1.c1", 0x000000, 0x200000, CRC(b96ef460) SHA1(e52f5303c17b50ce165c008be2837336369c110b) ) /* Plane 0,1 */ /* mask rom TC5316200 */
2911   ROM_LOAD16_BYTE( "055-c2.c2", 0x000001, 0x200000, CRC(15e096a7) SHA1(237c2a3d059de00bfca66e0016ed325d7a32bfec) ) /* Plane 2,3 */ /* mask rom TC5316200 */
2912   ROM_LOAD16_BYTE( "055-c3.c3", 0x400000, 0x200000, CRC(54f66254) SHA1(c594384bcd8b03beb8c595591505fecc44b185ac) ) /* Plane 0,1 */ /* mask rom TC5316200 */
2913   ROM_LOAD16_BYTE( "055-c4.c4", 0x400001, 0x200000, CRC(0b01765f) SHA1(ec1fdcc944611408367bf5023d4ebe7edd9dfa88) ) /* Plane 2,3 */ /* mask rom TC5316200 */
2914   ROM_LOAD16_BYTE( "055-c5.c5", 0x800000, 0x200000, CRC(ee759363) SHA1(8a5621c1b1f8267b9b9b6a14ab4944de542e1945) ) /* Plane 0,1 */ /* mask rom TC5316200 */
2915   ROM_LOAD16_BYTE( "055-c6.c6", 0x800001, 0x200000, CRC(498da52c) SHA1(1e6e6202ee053a5261db889177ce3a087e078bda) ) /* Plane 2,3 */ /* mask rom TC5316200 */
2916   ROM_LOAD16_BYTE( "055-c7.c7", 0xc00000, 0x200000, CRC(62f66888) SHA1(ac91a0eab0753bee175ad40213a4ae5d38ed5b87) ) /* Plane 0,1 */ /* mask rom TC5316200 */
2917   ROM_LOAD16_BYTE( "055-c8.c8", 0xc00001, 0x200000, CRC(fe0a235d) SHA1(a45c66836e4e3c77dfef9d4c6cc422cb59169149) ) /* Plane 2,3 */ /* mask rom TC5316200 */
2918ROM_END
2919
2920/****************************************
2921 ID-0056
2922 . NGM-056
2923 NEO-MVS PROGGSC / NEO-MVS CHA256
2924 . NGH-056
2925 NEO-AEG PROGRKB / NEO-AEG CHA256[B]
2926****************************************/
2927
2928ROM_START( aof2 ) /* MVS VERSION */
2929   ROM_REGION( 0x100000, "maincpu", 0 )
2930   ROM_LOAD16_WORD_SWAP( "056-p1.p1", 0x000000, 0x100000, CRC(a3b1d021) SHA1(ee42f3ca4516226b0088d0303ed28e3ecdabcd71) ) /* TC538200 */
2931
2932   NEO_SFIX_128K( "056-s1.s1", CRC(8b02638e) SHA1(aa4d28804ca602da776948b5f223ea89e427906b) ) /* TC531000 */
2933
2934   NEO_BIOS_AUDIO_128K( "056-m1.m1", CRC(f27e9d52) SHA1(dddae733d87ce7c88ad2580a8f64cb6ff9572e67) ) /* TC531001 */
2935
2936   ROM_REGION( 0x500000, "ymsnd", 0 )
2937   ROM_LOAD( "056-v1.v1", 0x000000, 0x200000, CRC(4628fde0) SHA1(ece2a50f5270d844d58401b1447d1d856d78ea45) ) /* TC5316200 */
2938   ROM_LOAD( "056-v2.v2", 0x200000, 0x200000, CRC(b710e2f2) SHA1(df4da585203eea7554d3ce718eb107e9cb6a0254) ) /* TC5316200 */
2939   ROM_LOAD( "056-v3.v3", 0x400000, 0x100000, CRC(d168c301) SHA1(969273d1d11943e81560959359a2c4e69522af0e) ) /* TC538200 */
2940
2941   NO_DELTAT_REGION
2942
2943   ROM_REGION( 0x1000000, "sprites", 0 )
2944   /* Different layout with 4xC (32mbit) also exists; chip labels are 056-C13, 056-C24, 056-C57 and 056-C68 */
2945   ROM_LOAD16_BYTE( "056-c1.c1", 0x000000, 0x200000, CRC(17b9cbd2) SHA1(1eee81e02763d384bd1c10a6012473ca931e4093) ) /* Plane 0,1 */ /* TC5316200 */
2946   ROM_LOAD16_BYTE( "056-c2.c2", 0x000001, 0x200000, CRC(5fd76b67) SHA1(11925a41a53b53c6df4a5ebd28f98300950f743b) ) /* Plane 2,3 */ /* TC5316200 */
2947   ROM_LOAD16_BYTE( "056-c3.c3", 0x400000, 0x200000, CRC(d2c88768) SHA1(22e2d84aa0c095944190e249ce87ef50d3f7b8ce) ) /* Plane 0,1 */ /* TC5316200 */
2948   ROM_LOAD16_BYTE( "056-c4.c4", 0x400001, 0x200000, CRC(db39b883) SHA1(59de86c513dc4e230ae25d9e3b7e84621b657b54) ) /* Plane 2,3 */ /* TC5316200 */
2949   ROM_LOAD16_BYTE( "056-c5.c5", 0x800000, 0x200000, CRC(c3074137) SHA1(9a75e3d63cb98d54f900dcfb3a03e21f3148d32f) ) /* Plane 0,1 */ /* TC5316200 */
2950   ROM_LOAD16_BYTE( "056-c6.c6", 0x800001, 0x200000, CRC(31de68d3) SHA1(13ba7046cdd6863125f8284e60f102d4720af5a4) ) /* Plane 2,3 */ /* TC5316200 */
2951   ROM_LOAD16_BYTE( "056-c7.c7", 0xc00000, 0x200000, CRC(3f36df57) SHA1(79ee97e9ae811a51141b535633f90e1491209d54) ) /* Plane 0,1 */ /* TC5316200 */
2952   ROM_LOAD16_BYTE( "056-c8.c8", 0xc00001, 0x200000, CRC(e546d7a8) SHA1(74a2fca994a5a93a5784a46c0f68193122456a09) ) /* Plane 2,3 */ /* TC5316200 */
2953ROM_END
2954
2955ROM_START( aof2a ) /* AES VERSION */
2956   ROM_REGION( 0x100000, "maincpu", 0 )
2957   ROM_LOAD16_WORD_SWAP( "056-p1.p1",  0x000000, 0x100000, CRC(a3b1d021) SHA1(ee42f3ca4516226b0088d0303ed28e3ecdabcd71) ) /* TC538200 */
2958   /* the rom below acts as a patch to the program rom in the cart, replacing the first 512kb */
2959   ROM_LOAD16_WORD_SWAP( "056-epr.ep1", 0x000000, 0x80000, CRC(75d6301c) SHA1(e72d15fba55f96be7b4fa29e705a7b78f56edf7d) ) /* M27C4002 */
2960   /* P is on eprom, correct chip label unknown */
2961
2962   NEO_SFIX_128K( "056-s1.s1", CRC(8b02638e) SHA1(aa4d28804ca602da776948b5f223ea89e427906b) ) /* TC531000 */
2963
2964   NEO_BIOS_AUDIO_128K( "056-m1.m1", CRC(f27e9d52) SHA1(dddae733d87ce7c88ad2580a8f64cb6ff9572e67) ) /* TC531001 */
2965
2966   ROM_REGION( 0x500000, "ymsnd", 0 )
2967   ROM_LOAD( "056-v1.v1", 0x000000, 0x200000, CRC(4628fde0) SHA1(ece2a50f5270d844d58401b1447d1d856d78ea45) ) /* TC5316200 */
2968   ROM_LOAD( "056-v2.v2", 0x200000, 0x200000, CRC(b710e2f2) SHA1(df4da585203eea7554d3ce718eb107e9cb6a0254) ) /* TC5316200 */
2969   ROM_LOAD( "056-v3.v3", 0x400000, 0x100000, CRC(d168c301) SHA1(969273d1d11943e81560959359a2c4e69522af0e) ) /* TC538200 */
2970
2971   NO_DELTAT_REGION
2972
2973   ROM_REGION( 0x1000000, "sprites", 0 )
2974   ROM_LOAD16_BYTE( "056-c1.c1", 0x000000, 0x200000, CRC(17b9cbd2) SHA1(1eee81e02763d384bd1c10a6012473ca931e4093) ) /* Plane 0,1 */ /* TC5316200 */
2975   ROM_LOAD16_BYTE( "056-c2.c2", 0x000001, 0x200000, CRC(5fd76b67) SHA1(11925a41a53b53c6df4a5ebd28f98300950f743b) ) /* Plane 2,3 */ /* TC5316200 */
2976   ROM_LOAD16_BYTE( "056-c3.c3", 0x400000, 0x200000, CRC(d2c88768) SHA1(22e2d84aa0c095944190e249ce87ef50d3f7b8ce) ) /* Plane 0,1 */ /* TC5316200 */
2977   ROM_LOAD16_BYTE( "056-c4.c4", 0x400001, 0x200000, CRC(db39b883) SHA1(59de86c513dc4e230ae25d9e3b7e84621b657b54) ) /* Plane 2,3 */ /* TC5316200 */
2978   ROM_LOAD16_BYTE( "056-c5.c5", 0x800000, 0x200000, CRC(c3074137) SHA1(9a75e3d63cb98d54f900dcfb3a03e21f3148d32f) ) /* Plane 0,1 */ /* TC5316200 */
2979   ROM_LOAD16_BYTE( "056-c6.c6", 0x800001, 0x200000, CRC(31de68d3) SHA1(13ba7046cdd6863125f8284e60f102d4720af5a4) ) /* Plane 2,3 */ /* TC5316200 */
2980   ROM_LOAD16_BYTE( "056-c7.c7", 0xc00000, 0x200000, CRC(3f36df57) SHA1(79ee97e9ae811a51141b535633f90e1491209d54) ) /* Plane 0,1 */ /* TC5316200 */
2981   ROM_LOAD16_BYTE( "056-c8.c8", 0xc00001, 0x200000, CRC(e546d7a8) SHA1(74a2fca994a5a93a5784a46c0f68193122456a09) ) /* Plane 2,3 */ /* TC5316200 */
2982ROM_END
2983
2984/****************************************
2985 ID-0057
2986 . ALM-006
2987 NEO-MVS PROG 4096 B / NEO-MVS CHA 42G-3
2988 . ALH-006
2989 NEO-AEG PROG4096 B / NEO-AEG CHA42G-3
2990****************************************/
2991
2992ROM_START( wh2 ) /* MVS AND AES VERSION */
2993   ROM_REGION( 0x200000, "maincpu", 0 )
2994   ROM_LOAD16_WORD_SWAP( "057-p1.p1", 0x100000, 0x100000, CRC(65a891d9) SHA1(ff8d5ccb0dd22c523902bb3db3c645583a335056) ) /* TC5316200 */
2995   ROM_CONTINUE( 0x000000, 0x100000 )
2996
2997   NEO_SFIX_128K( "057-s1.s1", CRC(fcaeb3a4) SHA1(1f3f85e38b8552333261c04ae5af0d6e3b310622) ) /* TC531000 */
2998
2999   NEO_BIOS_AUDIO_128K( "057-m1.m1", CRC(8fa3bc77) SHA1(982f92978671e4ee66630948e6bb7565b37b5dc0) ) /* TC531001 */
3000
3001   ROM_REGION( 0x400000, "ymsnd", 0 )
3002   ROM_LOAD( "057-v1.v1", 0x000000, 0x200000, CRC(8877e301) SHA1(1bab988d74ea8fd12db201c257ec844622cf5f4e) ) /* TC5316200 */
3003   ROM_LOAD( "057-v2.v2", 0x200000, 0x200000, CRC(c1317ff4) SHA1(4c28b2b5998abaeaa5143f2f3a9ba52c6041f4f3) ) /* TC5316200 */
3004
3005   NO_DELTAT_REGION
3006
3007   ROM_REGION( 0xc00000, "sprites", 0 )
3008   ROM_LOAD16_BYTE( "057-c1.c1", 0x000000, 0x200000, CRC(21c6bb91) SHA1(a2c17d0c91dd59528d8fa7fe110af8b20b25ff99) ) /* Plane 0,1 */ /* TC5316200 */
3009   ROM_LOAD16_BYTE( "057-c2.c2", 0x000001, 0x200000, CRC(a3999925) SHA1(0ee861a77850d378d03c1bf00b9692abd860c759) ) /* Plane 2,3 */ /* TC5316200 */
3010   ROM_LOAD16_BYTE( "057-c3.c3", 0x400000, 0x200000, CRC(b725a219) SHA1(4857687d156a9150a69b97d2729245a51c144a0c) ) /* Plane 0,1 */ /* TC5316200 */
3011   ROM_LOAD16_BYTE( "057-c4.c4", 0x400001, 0x200000, CRC(8d96425e) SHA1(0f79c868a6a33ad25e38d842f30ec4440d809033) ) /* Plane 2,3 */ /* TC5316200 */
3012   ROM_LOAD16_BYTE( "057-c5.c5", 0x800000, 0x200000, CRC(b20354af) SHA1(da7609fd467f2f4d71d92970f438a04d11ab1cc1) ) /* Plane 0,1 */ /* TC5316200 */
3013   ROM_LOAD16_BYTE( "057-c6.c6", 0x800001, 0x200000, CRC(b13d1de3) SHA1(7d749c23a33d90fe50279e884540d71cf1aaaa6b) ) /* Plane 2,3 */ /* TC5316200 */
3014ROM_END
3015
3016/****************************************
3017 ID-0058
3018 . NGM-058
3019 NEO-MVS PROGGSC / NEO-MVS CHA 42G-3B
3020 . NGH-058
3021 NEO-AEG PROGGS / NEO-AEG CHA42G-4
3022****************************************/
3023
3024ROM_START( fatfursp ) /* MVS AND AES VERSION */
3025   ROM_REGION( 0x180000, "maincpu", 0 )
3026   ROM_LOAD16_WORD_SWAP( "058-p1.p1",  0x000000, 0x100000, CRC(2f585ba2) SHA1(429b4bf43fb9b1082c15d645ca328f9d175b976b) ) /* mask rom TC538200 */
3027   ROM_LOAD16_WORD_SWAP( "058-p2.sp2", 0x100000, 0x080000, CRC(d7c71a6b) SHA1(b3428063031a2e5857da40a5d2ffa87fb550c1bb) ) /* mask rom TC534200 */
3028
3029   NEO_SFIX_128K( "058-s1.s1", CRC(2df03197) SHA1(24083cfc97e720ac9e131c9fe37df57e27c49294) ) /* mask rom TC531000 */
3030
3031   NEO_BIOS_AUDIO_128K( "058-m1.m1", CRC(ccc5186e) SHA1(cf9091c523c182aebfb928c91640b2d72fd70123) ) /* mask rom TC531001 */
3032
3033   ROM_REGION( 0x500000, "ymsnd", 0 )
3034   ROM_LOAD( "058-v1.v1", 0x000000, 0x200000, CRC(55d7ce84) SHA1(05ac6a395d9bf9166925acca176a8d6129f533c8) ) /* mask rom TC5316200 */
3035   ROM_LOAD( "058-v2.v2", 0x200000, 0x200000, CRC(ee080b10) SHA1(29814fc21bbe30d37745c8918fab00c83a309be4) ) /* mask rom TC5316200 */
3036   ROM_LOAD( "058-v3.v3", 0x400000, 0x100000, CRC(f9eb3d4a) SHA1(d1747f9460b965f6daf4f881ed4ecd04c5253434) ) /* mask rom TC538200 */
3037
3038   NO_DELTAT_REGION
3039
3040   ROM_REGION( 0xc00000, "sprites", 0 )
3041   ROM_LOAD16_BYTE( "058-c1.c1", 0x000000, 0x200000, CRC(044ab13c) SHA1(569d283638a132bc163faac2a9055497017ee0d2) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3042   ROM_LOAD16_BYTE( "058-c2.c2", 0x000001, 0x200000, CRC(11e6bf96) SHA1(c093a4f93f13e07b276e28b30c2a14dda9135d8f) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3043   ROM_LOAD16_BYTE( "058-c3.c3", 0x400000, 0x200000, CRC(6f7938d5) SHA1(be057b0a3faeb76d5fff161d3e6fea8a26e11d2c) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3044   ROM_LOAD16_BYTE( "058-c4.c4", 0x400001, 0x200000, CRC(4ad066ff) SHA1(4e304646d954d5f7bbabc5d068e85de31d38830f) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3045   ROM_LOAD16_BYTE( "058-c5.c5", 0x800000, 0x200000, CRC(49c5e0bf) SHA1(f3784178f90751990ea47a082a6aa869ee3566c9) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3046   ROM_LOAD16_BYTE( "058-c6.c6", 0x800001, 0x200000, CRC(8ff1f43d) SHA1(6180ceb5412a3e2e34e9513a3283b9f63087f747) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3047ROM_END
3048
3049ROM_START( fatfurspa ) /* MVS AND AES VERSION */
3050   ROM_REGION( 0x180000, "maincpu", 0 )
3051   ROM_LOAD16_WORD_SWAP( "058-p1.p1",  0x000000, 0x100000, CRC(2f585ba2) SHA1(429b4bf43fb9b1082c15d645ca328f9d175b976b) ) /* mask rom TC538200 */
3052   ROM_LOAD16_WORD_SWAP( "058-p2.sp2", 0x100000, 0x080000, CRC(d7c71a6b) SHA1(b3428063031a2e5857da40a5d2ffa87fb550c1bb) ) /* mask rom TC534200 */
3053   /* the rom below acts as a patch to the program rom in the cart, replacing the first 512kb */
3054   ROM_LOAD16_WORD_SWAP( "058-epr.ep1", 0x000000, 0x080000, CRC(9f0c1e1a) SHA1(02861b0f230541becccc3df6a2c85dbe8733e7ce) ) /* M27C4002 */
3055   /* P is on eprom, correct chip label unknown */
3056
3057   NEO_SFIX_128K( "058-s1.s1", CRC(2df03197) SHA1(24083cfc97e720ac9e131c9fe37df57e27c49294) ) /* mask rom TC531000 */
3058
3059   NEO_BIOS_AUDIO_128K( "058-m1.m1", CRC(ccc5186e) SHA1(cf9091c523c182aebfb928c91640b2d72fd70123) ) /* mask rom TC531001 */
3060
3061   ROM_REGION( 0x500000, "ymsnd", 0 )
3062   ROM_LOAD( "058-v1.v1", 0x000000, 0x200000, CRC(55d7ce84) SHA1(05ac6a395d9bf9166925acca176a8d6129f533c8) ) /* mask rom TC5316200 */
3063   ROM_LOAD( "058-v2.v2", 0x200000, 0x200000, CRC(ee080b10) SHA1(29814fc21bbe30d37745c8918fab00c83a309be4) ) /* mask rom TC5316200 */
3064   ROM_LOAD( "058-v3.v3", 0x400000, 0x100000, CRC(f9eb3d4a) SHA1(d1747f9460b965f6daf4f881ed4ecd04c5253434) ) /* mask rom TC538200 */
3065
3066   NO_DELTAT_REGION
3067
3068   ROM_REGION( 0xc00000, "sprites", 0 )
3069   ROM_LOAD16_BYTE( "058-c1.c1", 0x000000, 0x200000, CRC(044ab13c) SHA1(569d283638a132bc163faac2a9055497017ee0d2) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3070   ROM_LOAD16_BYTE( "058-c2.c2", 0x000001, 0x200000, CRC(11e6bf96) SHA1(c093a4f93f13e07b276e28b30c2a14dda9135d8f) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3071   ROM_LOAD16_BYTE( "058-c3.c3", 0x400000, 0x200000, CRC(6f7938d5) SHA1(be057b0a3faeb76d5fff161d3e6fea8a26e11d2c) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3072   ROM_LOAD16_BYTE( "058-c4.c4", 0x400001, 0x200000, CRC(4ad066ff) SHA1(4e304646d954d5f7bbabc5d068e85de31d38830f) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3073   ROM_LOAD16_BYTE( "058-c5.c5", 0x800000, 0x200000, CRC(49c5e0bf) SHA1(f3784178f90751990ea47a082a6aa869ee3566c9) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3074   ROM_LOAD16_BYTE( "058-c6.c6", 0x800001, 0x200000, CRC(8ff1f43d) SHA1(6180ceb5412a3e2e34e9513a3283b9f63087f747) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3075ROM_END
3076
3077/****************************************
3078 ID-0059
3079 . NGM-059
3080 NEO-MVS PROGTOP / NEO-MVS CHA256
3081 . NGH-059
3082****************************************/
3083
3084ROM_START( savagere )
3085   ROM_REGION( 0x200000, "maincpu", 0 )
3086   ROM_LOAD16_WORD_SWAP( "059-p1.p1", 0x100000, 0x100000, CRC(01d4e9c0) SHA1(3179d2be59bf2de6918d506117cff50acf7e09f3) ) /* TC5316200 */
3087   ROM_CONTINUE( 0x000000, 0x100000 )
3088
3089   NEO_SFIX_128K( "059-s1.s1", CRC(e08978ca) SHA1(55152cb9bd0403ae8656b93a6b1522dba5db6d1a) ) /* TC531000 */
3090
3091   NEO_BIOS_AUDIO_128K( "059-m1.m1", CRC(29992eba) SHA1(187be624abe8670503edb235ff21ae8fdc3866e0) ) /* TC531001 */
3092
3093   ROM_REGION( 0x600000, "ymsnd", 0 )
3094   ROM_LOAD( "059-v1.v1", 0x000000, 0x200000, CRC(530c50fd) SHA1(29401cee7f7d2c199c7cb58092e86b28205e81ad) ) /* TC5316200 */
3095   ROM_LOAD( "059-v2.v2", 0x200000, 0x200000, CRC(eb6f1cdb) SHA1(7a311388315ea543babf872f62219fdc4d39d013) ) /* TC5316200 */
3096   ROM_LOAD( "059-v3.v3", 0x400000, 0x200000, CRC(7038c2f9) SHA1(c1d6f86b24feba03fe009b58199d2eeabe572f4e) ) /* TC5316200 */
3097
3098   NO_DELTAT_REGION
3099
3100   ROM_REGION( 0x1000000, "sprites", 0 )
3101   ROM_LOAD16_BYTE( "059-c1.c1", 0x000000, 0x200000, CRC(763ba611) SHA1(d3262e0332c894ee149c5963f882cc5e5562ee57) ) /* Plane 0,1 */ /* TC5316200 */
3102   ROM_LOAD16_BYTE( "059-c2.c2", 0x000001, 0x200000, CRC(e05e8ca6) SHA1(986a9b16ff92bc101ab567d2d01348e093abea9a) ) /* Plane 2,3 */ /* TC5316200 */
3103   ROM_LOAD16_BYTE( "059-c3.c3", 0x400000, 0x200000, CRC(3e4eba4b) SHA1(770adec719e63a30ebe9522cc7576caaca44f3b2) ) /* Plane 0,1 */ /* TC5316200 */
3104   ROM_LOAD16_BYTE( "059-c4.c4", 0x400001, 0x200000, CRC(3c2a3808) SHA1(698adcec0715c9e78b6286be38debf0ce28fd644) ) /* Plane 2,3 */ /* TC5316200 */
3105   ROM_LOAD16_BYTE( "059-c5.c5", 0x800000, 0x200000, CRC(59013f9e) SHA1(5bf48fcc450da72a8c4685f6e3887e67eae49988) ) /* Plane 0,1 */ /* TC5316200 */
3106   ROM_LOAD16_BYTE( "059-c6.c6", 0x800001, 0x200000, CRC(1c8d5def) SHA1(475d89a5c4922a9f6bd756d23c2624d57b6e9d62) ) /* Plane 2,3 */ /* TC5316200 */
3107   ROM_LOAD16_BYTE( "059-c7.c7", 0xc00000, 0x200000, CRC(c88f7035) SHA1(c29a428b741f4fe7b71a3bc23c87925b6bc1ca8f) ) /* Plane 0,1 */ /* TC5316200 */
3108   ROM_LOAD16_BYTE( "059-c8.c8", 0xc00001, 0x200000, CRC(484ce3ba) SHA1(4f21ed20ce6e2b67e2b079404599310c94f591ff) ) /* Plane 2,3 */ /* TC5316200 */
3109ROM_END
3110
3111/****************************************
3112 ID-0060
3113 . ??M-060
3114 NEO-MVS PROGGSC / NEO-MVS CHA256B
3115****************************************/
3116
3117ROM_START( fightfev ) /* MVS ONLY RELEASE */
3118   ROM_REGION( 0x100000, "maincpu", 0 )
3119   ROM_LOAD16_WORD_SWAP( "060-p1.p1", 0x0000000, 0x100000, CRC(2a104b50) SHA1(3eb663d3df7074e1cdf4c0e450a35c9cf55d8979) ) /* VIC940800 */
3120
3121   NEO_SFIX_128K( "060-s1.s1", CRC(7f012104) SHA1(f366dcc3923655dff16ec08a40d5fce22a84257d) ) /* VIC930100 */
3122
3123   NEO_BIOS_AUDIO_128K( "060-m1.m1", CRC(0b7c4e65) SHA1(999a1e784de18db3f1332b30bc425836ea6970be) ) /* VIC930100 */
3124
3125   ROM_REGION( 0x300000, "ymsnd", 0 )
3126   ROM_LOAD( "060-v1.v1", 0x000000, 0x200000, CRC(f417c215) SHA1(0f53b8dd056f43b5d880628e8b74c2b27881ffac) ) /* VIC931600 */
3127   ROM_LOAD( "060-v2.v2", 0x200000, 0x100000, CRC(efcff7cf) SHA1(e8372303724284a750b706dc6bf7641e4c52bb95) ) /* VIC930800 */
3128
3129   NO_DELTAT_REGION
3130
3131   ROM_REGION( 0x0800000, "sprites", 0 )
3132   ROM_LOAD16_BYTE( "060-c1.c1", 0x0000000, 0x200000, CRC(8908fff9) SHA1(f8c16ab0248b60f3a62e0d4d65c456e2f8e4da49) ) /* Plane 0,1 */ /* VIC931600 */
3133   ROM_LOAD16_BYTE( "060-c2.c2", 0x0000001, 0x200000, CRC(c6649492) SHA1(5d39b077387ed6897ac075ede4a2aa94bb64545e) ) /* Plane 2,3 */ /* VIC931600 */
3134   ROM_LOAD16_BYTE( "060-c3.c3", 0x0400000, 0x200000, CRC(0956b437) SHA1(c70be8b5cebf321afe4c3f5e9a12413c3077694a) ) /* Plane 0,1 */ /* VIC931600 */
3135   ROM_LOAD16_BYTE( "060-c4.c4", 0x0400001, 0x200000, CRC(026f3b62) SHA1(d608483b70d60e7aa0e41f25a8b3fed508129eb7) ) /* Plane 2,3 */ /* VIC931600 */
3136ROM_END
3137
3138ROM_START( fightfeva ) /* MVS ONLY RELEASE */
3139   ROM_REGION( 0x100000, "maincpu", 0 )
3140   ROM_LOAD16_WORD_SWAP( "060-p1.p1", 0x0000000, 0x100000, CRC(2a104b50) SHA1(3eb663d3df7074e1cdf4c0e450a35c9cf55d8979) ) /* VIC940800 */
3141   /* the rom below acts as a patch to the program rom in the cart, replacing the first 512kb */
3142   ROM_LOAD16_WORD_SWAP( "060-epr.sp2", 0x000000, 0x080000, BAD_DUMP CRC(3032041b) SHA1(4b8ed2e6f74579ea35a53e06ccac42d6905b0f51) )
3143   /* P is on eprom, correct chip label unknown */
3144
3145   NEO_SFIX_128K( "060-s1.s1", CRC(7f012104) SHA1(f366dcc3923655dff16ec08a40d5fce22a84257d) ) /* VIC930100 */
3146
3147   NEO_BIOS_AUDIO_128K( "060-m1.m1", CRC(0b7c4e65) SHA1(999a1e784de18db3f1332b30bc425836ea6970be) ) /* VIC930100 */
3148
3149   ROM_REGION( 0x300000, "ymsnd", 0 )
3150   ROM_LOAD( "060-v1.v1", 0x000000, 0x200000, CRC(f417c215) SHA1(0f53b8dd056f43b5d880628e8b74c2b27881ffac) ) /* VIC931600 */
3151   ROM_LOAD( "060-v2.v2", 0x200000, 0x100000, CRC(efcff7cf) SHA1(e8372303724284a750b706dc6bf7641e4c52bb95) ) /* VIC930800 */
3152
3153   NO_DELTAT_REGION
3154
3155   ROM_REGION( 0x0800000, "sprites", 0 )
3156   ROM_LOAD16_BYTE( "060-c1.c1", 0x0000000, 0x200000, CRC(8908fff9) SHA1(f8c16ab0248b60f3a62e0d4d65c456e2f8e4da49) ) /* Plane 0,1 */ /* VIC931600 */
3157   ROM_LOAD16_BYTE( "060-c2.c2", 0x0000001, 0x200000, CRC(c6649492) SHA1(5d39b077387ed6897ac075ede4a2aa94bb64545e) ) /* Plane 2,3 */ /* VIC931600 */
3158   ROM_LOAD16_BYTE( "060-c3.c3", 0x0400000, 0x200000, CRC(0956b437) SHA1(c70be8b5cebf321afe4c3f5e9a12413c3077694a) ) /* Plane 0,1 */ /* VIC931600 */
3159   ROM_LOAD16_BYTE( "060-c4.c4", 0x0400001, 0x200000, CRC(026f3b62) SHA1(d608483b70d60e7aa0e41f25a8b3fed508129eb7) ) /* Plane 2,3 */ /* VIC931600 */
3160ROM_END
3161
3162/****************************************
3163 ID-0061
3164 . NGM-061
3165 NEO-MVS PROGGSC / NEO-MVS CHA256
3166 . NGH-061
3167 NEO-AEG PROGRKB / NEO-AEG CHA256[B]
3168****************************************/
3169
3170ROM_START( ssideki2 ) /* MVS AND AES VERSION */
3171   ROM_REGION( 0x100000, "maincpu", 0 )
3172   ROM_LOAD16_WORD_SWAP( "061-p1.p1", 0x000000, 0x100000, CRC(5969e0dc) SHA1(78abea880c125ec5a85bef6404478512a34b5513) ) /* mask rom TC538200 */
3173
3174   NEO_SFIX_128K( "061-s1.s1", CRC(226d1b68) SHA1(de010f6fda3ddadb181fe37daa6105f22e78b970) ) /* mask rom TC531000 */
3175
3176   NEO_BIOS_AUDIO_128K( "061-m1.m1", CRC(156f6951) SHA1(49686f615f109a02b4f23931f1c84fee13872ffd) ) /* mask rom TC531001 */
3177
3178   ROM_REGION( 0x400000, "ymsnd", 0 )
3179   ROM_LOAD( "061-v1.v1", 0x000000, 0x200000, CRC(f081c8d3) SHA1(fc9da0ddc1ddd1f9ae1443a726815c25e9dc38ae) ) /* mask rom TC5316200 */
3180   ROM_LOAD( "061-v2.v2", 0x200000, 0x200000, CRC(7cd63302) SHA1(c39984c0ae0a8e76f1fc036344bbb83635c18937) ) /* mask rom TC5316200 */
3181
3182   NO_DELTAT_REGION
3183
3184   ROM_REGION( 0x800000, "sprites", 0 )
3185   /* Different layout with 8xC (8 mbit) also exists; naming sheme 061-Cx */
3186   ROM_LOAD16_BYTE( "061-c1-16.c1", 0x000000, 0x200000, CRC(a626474f) SHA1(d695f0dcb9480088b3a7c1488bd541b4c159528a) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3187   ROM_LOAD16_BYTE( "061-c2-16.c2", 0x000001, 0x200000, CRC(c3be42ae) SHA1(7fa65538bd0a0a162e4d3e9f49913da59d915e02) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3188   ROM_LOAD16_BYTE( "061-c3-16.c3", 0x400000, 0x200000, CRC(2a7b98b9) SHA1(75e1019dca8a8583afcc53651ac856cba3a96315) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3189   ROM_LOAD16_BYTE( "061-c4-16.c4", 0x400001, 0x200000, CRC(c0be9a1f) SHA1(228f41eaefdf3e147761f8ef849e3b5f321877d4) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3190ROM_END
3191
3192/****************************************
3193 ID-0062
3194 . DEM-001
3195 NEO-MVS PROGGSC / NEO-MVS CHA256
3196 . DEH-001
3197****************************************/
3198
3199ROM_START( spinmast )
3200   ROM_REGION( 0x200000, "maincpu", 0 )
3201   ROM_LOAD16_WORD_SWAP( "062-p1.p1",  0x000000, 0x100000, CRC(37aba1aa) SHA1(1a2ab9593371cc2f665121d554eec3f6bb4d09ff) ) /* mask rom TC538200 */
3202   ROM_LOAD16_WORD_SWAP( "062-p2.sp2", 0x100000, 0x100000, CRC(f025ab77) SHA1(4944be04648296d0b93cfe4c5ca7b9cede072cff) ) /* mask rom TC538200 */
3203
3204   NEO_SFIX_128K( "062-s1.s1", CRC(289e2bbe) SHA1(f52c7f2bffc89df3130b3cabd200408509a28cdc) ) /* mask rom TC531000 */
3205
3206   NEO_BIOS_AUDIO_128K( "062-m1.m1", CRC(76108b2f) SHA1(08c89a8b746dbb10ff885b41cde344173c2e3699) ) /* mask rom TC531001 */
3207
3208   ROM_REGION( 0x100000, "ymsnd", 0 )
3209   ROM_LOAD( "062-v1.v1", 0x000000, 0x100000, CRC(cc281aef) SHA1(68be154b3e25f837afb4a477600dbe0ee69bec44) ) /* mask rom TC538200 */
3210
3211   NO_DELTAT_REGION
3212
3213   ROM_REGION( 0x800000, "sprites", 0 )
3214   ROM_LOAD16_BYTE( "062-c1.c1", 0x000000, 0x100000, CRC(a9375aa2) SHA1(69218d8f1361e9ea709da11e3f15fe46b1db7181) ) /* Plane 0,1 */ /* mask rom TC538200 */
3215   ROM_LOAD16_BYTE( "062-c2.c2", 0x000001, 0x100000, CRC(0e73b758) SHA1(a247f736fbca0b609818dca4844ebb8442753bc1) ) /* Plane 2,3 */ /* mask rom TC538200 */
3216   ROM_LOAD16_BYTE( "062-c3.c3", 0x200000, 0x100000, CRC(df51e465) SHA1(171953c7a870f3ab96e0f875117ee7343931fd38) ) /* Plane 0,1 */ /* mask rom TC538200 */
3217   ROM_LOAD16_BYTE( "062-c4.c4", 0x200001, 0x100000, CRC(38517e90) SHA1(f7c64b94ac20f5146f9bb48b53cb2b30fe5b8f8c) ) /* Plane 2,3 */ /* mask rom TC538200 */
3218   ROM_LOAD16_BYTE( "062-c5.c5", 0x400000, 0x100000, CRC(7babd692) SHA1(0d4cd5006baa8d951cd2b6194ace566fa2845b8a) ) /* Plane 0,1 */ /* mask rom TC538200 */
3219   ROM_LOAD16_BYTE( "062-c6.c6", 0x400001, 0x100000, CRC(cde5ade5) SHA1(5899ef5dfcdbb8cf8c6aba748dbb52f3c5fed5fe) ) /* Plane 2,3 */ /* mask rom TC538200 */
3220   ROM_LOAD16_BYTE( "062-c7.c7", 0x600000, 0x100000, CRC(bb2fd7c0) SHA1(cce11c4cf39ac60143235ff89261806df339dae5) ) /* Plane 0,1 */ /* mask rom TC538200 */
3221   ROM_LOAD16_BYTE( "062-c8.c8", 0x600001, 0x100000, CRC(8d7be933) SHA1(e7097cfa26a959f90721e2e8368ceb47ea9db661) ) /* Plane 2,3 */ /* mask rom TC538200 */
3222ROM_END
3223
3224/****************************************
3225 ID-0063
3226 . NGM-063
3227 NEO-MVS PROGTOP / NEO-MVS CHA256
3228 . NGH-063
3229 NEO-AEG PROGTOP2 / NEO-AEG CHA256 B
3230****************************************/
3231
3232ROM_START( samsho2 ) /* MVS AND AES VERSION */
3233   ROM_REGION( 0x200000, "maincpu", 0 )
3234   ROM_LOAD16_WORD_SWAP( "063-p1.p1", 0x100000, 0x100000, CRC(22368892) SHA1(0997f8284aa0f57a333be8a0fdea777d0d01afd6) ) /* TC5316200 */
3235   ROM_CONTINUE( 0x000000, 0x100000 )
3236
3237   NEO_SFIX_128K( "063-s1.s1", CRC(64a5cd66) SHA1(12cdfb27bf9ccd5a8df6ddd4628ef7cf2c6d4964) ) /* TC531000 */
3238
3239   NEO_BIOS_AUDIO_128K( "063-m1.m1", CRC(56675098) SHA1(90429fc40d056d480d0e2bbefbc691d9fa260fc4) ) /* TC531001 */
3240
3241   ROM_REGION( 0x700000, "ymsnd", 0 )
3242   ROM_LOAD( "063-v1.v1", 0x000000, 0x200000, CRC(37703f91) SHA1(a373ebef4c33ba1d8340e826981a58769aada238) ) /* TC5316200 */
3243   ROM_LOAD( "063-v2.v2", 0x200000, 0x200000, CRC(0142bde8) SHA1(0be6c53acac44802bf70b6925452f70289a139d9) ) /* TC5316200 */
3244   ROM_LOAD( "063-v3.v3", 0x400000, 0x200000, CRC(d07fa5ca) SHA1(1da7f081f8b8fc86a91feacf900f573218d82676) ) /* TC5316200 */
3245   ROM_LOAD( "063-v4.v4", 0x600000, 0x100000, CRC(24aab4bb) SHA1(10ee4c5b3579865b93dcc1e4079963276aa700a6) ) /* TC538200 */
3246
3247   NO_DELTAT_REGION
3248
3249   ROM_REGION( 0x1000000, "sprites", 0 )
3250   ROM_LOAD16_BYTE( "063-c1.c1", 0x000000, 0x200000, CRC(86cd307c) SHA1(0d04336f7c436d74638d8c1cd8651faf436a6bec) ) /* Plane 0,1 */ /* TC5316200 */
3251   ROM_LOAD16_BYTE( "063-c2.c2", 0x000001, 0x200000, CRC(cdfcc4ca) SHA1(179dc81432424d68cefedd20cc1c4b2a95deb891) ) /* Plane 2,3 */ /* TC5316200 */
3252   ROM_LOAD16_BYTE( "063-c3.c3", 0x400000, 0x200000, CRC(7a63ccc7) SHA1(49d97c543bc2860d493a353ab0d059088c6fbd21) ) /* Plane 0,1 */ /* TC5316200 */
3253   ROM_LOAD16_BYTE( "063-c4.c4", 0x400001, 0x200000, CRC(751025ce) SHA1(e1bbaa7cd67fd04e4aab7f7ea77f63ae1cbc90d0) ) /* Plane 2,3 */ /* TC5316200 */
3254   ROM_LOAD16_BYTE( "063-c5.c5", 0x800000, 0x200000, CRC(20d3a475) SHA1(28da44a136bd14c73c62c147c3f6e6bcfa1066de) ) /* Plane 0,1 */ /* TC5316200 */
3255   ROM_LOAD16_BYTE( "063-c6.c6", 0x800001, 0x200000, CRC(ae4c0a88) SHA1(cc8a7d11daa3821f83a6fd0942534706f939e576) ) /* Plane 2,3 */ /* TC5316200 */
3256   ROM_LOAD16_BYTE( "063-c7.c7", 0xc00000, 0x200000, CRC(2df3cbcf) SHA1(e54f9022359963711451c2025825b862d36c6975) ) /* Plane 0,1 */ /* TC5316200 */
3257   ROM_LOAD16_BYTE( "063-c8.c8", 0xc00001, 0x200000, CRC(1ffc6dfa) SHA1(acea18aca76c072e0bac2a364fc96d49cfc86e77) ) /* Plane 2,3 */ /* TC5316200 */
3258ROM_END
3259
3260ROM_START( samsho2k ) /* KOREAN VERSION */
3261   // This has corrupt text if used with the Japan bios due to the replacement of the s1 rom to contain the new logo
3262   ROM_REGION( 0x200000, "maincpu", 0 )
3263   ROM_LOAD16_WORD_SWAP( "063-p1-kan.p1", 0x100000, 0x100000, CRC(147cc6d7) SHA1(8e22305f41a0688786ff55437c25948e6c8fda58) )
3264   ROM_CONTINUE( 0x000000, 0x100000 )
3265   // the roms below apply as patch over the main program (I haven't checked what they change, the game boots as the Korean version even with just the above program)
3266   ROM_LOAD16_WORD_SWAP( "063-ep1-kan.ep1", 0x000000, 0x080000, CRC(fa32e2d8) SHA1(94f56759ec04ab3a1e557bc2dc51b92176b3c147) )
3267   ROM_LOAD16_WORD_SWAP( "063-ep2-kan.ep2", 0x080000, 0x080000, CRC(70b1a4d9) SHA1(387737e87a68d0ea4fd13693f1f30d3227a17c82) ) // this is exactly the same data anyway!
3268
3269   NEO_SFIX_128K( "063-s1-kan.s1", CRC(ff08f80b) SHA1(240c6a1c52edebb49cc99ea08484c6a2d61ebf84) )
3270
3271   NEO_BIOS_AUDIO_128K( "063-m1.m1", CRC(56675098) SHA1(90429fc40d056d480d0e2bbefbc691d9fa260fc4) ) /* TC531001 */
3272
3273   ROM_REGION( 0x700000, "ymsnd", 0 )
3274   ROM_LOAD( "063-v1.v1", 0x000000, 0x200000, CRC(37703f91) SHA1(a373ebef4c33ba1d8340e826981a58769aada238) ) /* TC5316200 */
3275   ROM_LOAD( "063-v2.v2", 0x200000, 0x200000, CRC(0142bde8) SHA1(0be6c53acac44802bf70b6925452f70289a139d9) ) /* TC5316200 */
3276   ROM_LOAD( "063-v3.v3", 0x400000, 0x200000, CRC(d07fa5ca) SHA1(1da7f081f8b8fc86a91feacf900f573218d82676) ) /* TC5316200 */
3277   ROM_LOAD( "063-v4.v4", 0x600000, 0x100000, CRC(24aab4bb) SHA1(10ee4c5b3579865b93dcc1e4079963276aa700a6) ) /* TC538200 */
3278
3279   NO_DELTAT_REGION
3280
3281   ROM_REGION( 0x1000000, "sprites", 0 )
3282   ROM_LOAD16_BYTE( "063-c1.c1", 0x000000, 0x200000, CRC(86cd307c) SHA1(0d04336f7c436d74638d8c1cd8651faf436a6bec) ) /* Plane 0,1 */ /* TC5316200 */
3283   ROM_LOAD16_BYTE( "063-c2.c2", 0x000001, 0x200000, CRC(cdfcc4ca) SHA1(179dc81432424d68cefedd20cc1c4b2a95deb891) ) /* Plane 2,3 */ /* TC5316200 */
3284   ROM_LOAD16_BYTE( "063-c3.c3", 0x400000, 0x200000, CRC(7a63ccc7) SHA1(49d97c543bc2860d493a353ab0d059088c6fbd21) ) /* Plane 0,1 */ /* TC5316200 */
3285   ROM_LOAD16_BYTE( "063-c4.c4", 0x400001, 0x200000, CRC(751025ce) SHA1(e1bbaa7cd67fd04e4aab7f7ea77f63ae1cbc90d0) ) /* Plane 2,3 */ /* TC5316200 */
3286   ROM_LOAD16_BYTE( "063-c5.c5", 0x800000, 0x200000, CRC(20d3a475) SHA1(28da44a136bd14c73c62c147c3f6e6bcfa1066de) ) /* Plane 0,1 */ /* TC5316200 */
3287   ROM_LOAD16_BYTE( "063-c6.c6", 0x800001, 0x200000, CRC(ae4c0a88) SHA1(cc8a7d11daa3821f83a6fd0942534706f939e576) ) /* Plane 2,3 */ /* TC5316200 */
3288   ROM_LOAD16_BYTE( "063-c7.c7", 0xc00000, 0x200000, CRC(2df3cbcf) SHA1(e54f9022359963711451c2025825b862d36c6975) ) /* Plane 0,1 */ /* TC5316200 */
3289   ROM_LOAD16_BYTE( "063-c8.c8", 0xc00001, 0x200000, CRC(1ffc6dfa) SHA1(acea18aca76c072e0bac2a364fc96d49cfc86e77) ) /* Plane 2,3 */ /* TC5316200 */
3290ROM_END
3291
3292/****************************************
3293 ID-0064
3294 . ADM-007
3295 NEO-MVS PROGGSC / NEO-MVS CHA256
3296 . ADH-007
3297 NEO-AEG PROGRK / NEO-AEG CHA256
3298****************************************/
3299
3300ROM_START( wh2j ) /* MVS AND AES VERSION */
3301   ROM_REGION( 0x200000, "maincpu", 0 )
3302   ROM_LOAD16_WORD_SWAP( "064-p1.p1", 0x100000, 0x100000, CRC(385a2e86) SHA1(cfde4a1aeae038a3d6ca9946065624f097682d3d) ) /* TC5316200 */
3303   ROM_CONTINUE( 0x000000, 0x100000 )
3304
3305   NEO_SFIX_128K( "064-s1.s1", CRC(2a03998a) SHA1(5e33f469982f12d4622a06d323a345f192bf88e6) ) /* TC531000 */
3306
3307   NEO_BIOS_AUDIO_128K( "064-m1.m1", CRC(d2eec9d3) SHA1(09478787045f1448d19d064dd3d540d1741fd619) ) /* TC531001 */
3308
3309   ROM_REGION( 0x400000, "ymsnd", 0 )
3310   ROM_LOAD( "064-v1.v1", 0x000000, 0x200000, CRC(aa277109) SHA1(35c22b15bb0a4d0ab118cb22a2d450d03995a17c) ) /* TC5316200 */
3311   ROM_LOAD( "064-v2.v2", 0x200000, 0x200000, CRC(b6527edd) SHA1(2bcf5bfa6e117cf4a3728a5e5f5771313c93f22a) ) /* TC5316200 */
3312
3313   NO_DELTAT_REGION
3314
3315   ROM_REGION( 0x1000000, "sprites", 0 )
3316   ROM_LOAD16_BYTE( "064-c1.c1", 0x000000, 0x200000, CRC(2ec87cea) SHA1(e713ec7839a7665edee6ee3f82a6e530b3b4bd7c) ) /* Plane 0,1 */ /* TC5316200 */
3317   ROM_LOAD16_BYTE( "064-c2.c2", 0x000001, 0x200000, CRC(526b81ab) SHA1(b5f0a2f04489539ed6b9d0810b12787356c64b23) ) /* Plane 2,3 */ /* TC5316200 */
3318   ROM_LOAD16_BYTE( "064-c3.c3", 0x400000, 0x200000, CRC(436d1b31) SHA1(059776d77b91377ed0bcfc278802d659c917fc0f) ) /* Plane 0,1 */ /* TC5316200 */
3319   ROM_LOAD16_BYTE( "064-c4.c4", 0x400001, 0x200000, CRC(f9c8dd26) SHA1(25a9eea1d49b21b4a988beb32c25bf2f7796f227) ) /* Plane 2,3 */ /* TC5316200 */
3320   ROM_LOAD16_BYTE( "064-c5.c5", 0x800000, 0x200000, CRC(8e34a9f4) SHA1(67b839b426ef3fad0a85d951fdd44c0a45c55226) ) /* Plane 0,1 */ /* TC5316200 */
3321   ROM_LOAD16_BYTE( "064-c6.c6", 0x800001, 0x200000, CRC(a43e4766) SHA1(54f282f2b1ff2934cca7acbb4386a2b99a29df3a) ) /* Plane 2,3 */ /* TC5316200 */
3322   ROM_LOAD16_BYTE( "064-c7.c7", 0xc00000, 0x200000, CRC(59d97215) SHA1(85a960dc7f364df13ee0c2f99a4c53aefb081486) ) /* Plane 0,1 */ /* TC5316200 */
3323   ROM_LOAD16_BYTE( "064-c8.c8", 0xc00001, 0x200000, CRC(fc092367) SHA1(69ff4ae909dd857de3ca8645d63f8b4bde117448) ) /* Plane 2,3 */ /* TC5316200 */
3324ROM_END
3325
3326/****************************************
3327 ID-0065
3328 . DEM-002
3329 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
3330 . DEH-002
3331****************************************/
3332
3333ROM_START( wjammers )
3334   ROM_REGION( 0x100000, "maincpu", 0 )
3335   ROM_LOAD16_WORD_SWAP( "065-p1.p1", 0x000000, 0x100000, CRC(6692c140) SHA1(5da574e906974fac92bb2f49bdeea257c014a897) ) /* mask rom TC538200 */
3336
3337   NEO_SFIX_128K( "065-s1.s1", CRC(074b5723) SHA1(86d3b3bb5414f43e4d3b7a2af0db23cc71ce8412) ) /* mask rom TC531000 */
3338
3339   NEO_BIOS_AUDIO_128K( "065-m1.m1", CRC(52c23cfc) SHA1(809a7e072ad9acbffc25e9bd27cdb97638d09d07) ) /* mask rom TC531001 */
3340
3341   ROM_REGION( 0x400000, "ymsnd", 0 )
3342   ROM_LOAD( "065-v1.v1", 0x000000, 0x100000, CRC(ce8b3698) SHA1(7d75e2a5cf8c90be422f8b425447e81597fe145a) ) /* mask rom TC538200 */
3343   ROM_LOAD( "065-v2.v2", 0x100000, 0x100000, CRC(659f9b96) SHA1(62f40365212153bc3b92a1187fa44f6cdc7f7b83) ) /* mask rom TC538200 */
3344   ROM_LOAD( "065-v3.v3", 0x200000, 0x100000, CRC(39f73061) SHA1(ec57cd58e7f8569cff925d11e2320d588ce4fe49) ) /* mask rom TC538200 */
3345   ROM_LOAD( "065-v4.v4", 0x300000, 0x100000, CRC(5dee7963) SHA1(f8e6de73d65dd80b29c711f00835a574a770cb4e) ) /* mask rom TC538200 */
3346
3347   NO_DELTAT_REGION
3348
3349   ROM_REGION( 0x400000, "sprites", 0 )
3350   ROM_LOAD16_BYTE( "065-c1.c1", 0x000000, 0x100000, CRC(c7650204) SHA1(42918d700d59864f8ab15caf968a062a563c9b09) ) /* Plane 0,1 */ /* mask rom TC538200 */
3351   ROM_LOAD16_BYTE( "065-c2.c2", 0x000001, 0x100000, CRC(d9f3e71d) SHA1(fad1f64061eac1bf85bf6d75d2eae974a8c94069) ) /* Plane 2,3 */ /* mask rom TC538200 */
3352   ROM_LOAD16_BYTE( "065-c3.c3", 0x200000, 0x100000, CRC(40986386) SHA1(65795a50197049681265946713d416c9cdb68f08) ) /* Plane 0,1 */ /* mask rom TC538200 */
3353   ROM_LOAD16_BYTE( "065-c4.c4", 0x200001, 0x100000, CRC(715e15ff) SHA1(ac8b8b01f5c7384b883afbe0cf977430378e3fef) ) /* Plane 2,3 */ /* mask rom TC538200 */
3354ROM_END
3355
3356/****************************************
3357 ID-0066
3358 . DEM-003
3359 NEO-MVS PROGGSC / NEO-MVS CHA256
3360 . DEH-003
3361****************************************/
3362
3363ROM_START( karnovr )
3364   ROM_REGION( 0x100000, "maincpu", 0 )
3365   ROM_LOAD16_WORD_SWAP( "066-p1.p1", 0x000000, 0x100000, CRC(8c86fd22) SHA1(8cf97c6fb9c5717167ccc54bf5856248ccaf32c6) ) /* TC538200 */
3366
3367   NEO_SFIX_128K( "066-s1.s1", CRC(bae5d5e5) SHA1(aa69d9b235b781ec51f72a528fada9cb12e72cbc) ) /* TC531000 */
3368
3369   NEO_BIOS_AUDIO_128K( "066-m1.m1", CRC(030beae4) SHA1(ceb6ee6c09514504efacdbca7b280901e4c97084) ) /* TC531001 */
3370
3371   ROM_REGION( 0x200000, "ymsnd", 0 )
3372   ROM_LOAD( "066-v1.v1", 0x000000, 0x200000, CRC(0b7ea37a) SHA1(34e7d4f6db053674a7e8c8b2e3e398777d5b02e6) ) /* TC5316200 */
3373
3374   NO_DELTAT_REGION
3375
3376   ROM_REGION( 0xc00000, "sprites", 0 )
3377   ROM_LOAD16_BYTE( "066-c1.c1", 0x000000, 0x200000, CRC(09dfe061) SHA1(ca4c0f0ce80967b4be2f18b72435c468bbfbac4c) ) /* Plane 0,1 */ /* TC5316200 */
3378   ROM_LOAD16_BYTE( "066-c2.c2", 0x000001, 0x200000, CRC(e0f6682a) SHA1(addb4fbc30da2b8ffc86819d92a874eb232f67dd) ) /* Plane 2,3 */ /* TC5316200 */
3379   ROM_LOAD16_BYTE( "066-c3.c3", 0x400000, 0x200000, CRC(a673b4f7) SHA1(d138f5b38fd65c61549ce36f5c4983f7c8a3e7f6) ) /* Plane 0,1 */ /* TC5316200 */
3380   ROM_LOAD16_BYTE( "066-c4.c4", 0x400001, 0x200000, CRC(cb3dc5f4) SHA1(865d9ccfc3df517c341d6aac16120f6b6aa759fe) ) /* Plane 2,3 */ /* TC5316200 */
3381   ROM_LOAD16_BYTE( "066-c5.c5", 0x800000, 0x200000, CRC(9a28785d) SHA1(19723e1f7ff429e8a038d89488b279f830dfaf6e) ) /* Plane 0,1 */ /* TC5316200 */
3382   ROM_LOAD16_BYTE( "066-c6.c6", 0x800001, 0x200000, CRC(c15c01ed) SHA1(7cf5583e6610bcdc3b332896cefc71df84fb3f19) ) /* Plane 2,3 */ /* TC5316200 */
3383ROM_END
3384
3385/****************************************
3386 ID-0067
3387 . ??M-067
3388 NEO-MVS PROG16 / NEO-MVS CHA256B
3389****************************************/
3390
3391ROM_START( gururin ) /* MVS ONLY RELEASE */
3392   ROM_REGION( 0x100000, "maincpu", 0 )
3393   ROM_LOAD16_WORD_SWAP( "067-p1.p1", 0x000000, 0x80000, CRC(4cea8a49) SHA1(cea4a35db8de898e30eb40dd339b3cbe77ac0856) ) /* UM8303B */
3394
3395   NEO_SFIX_128K( "067-s1.s1", CRC(b119e1eb) SHA1(f63a68a71aea220d3d4475847652e2a1f68b2b6f) ) /* UMK300 */
3396
3397   NEO_BIOS_AUDIO_128K( "067-m1.m1", CRC(9e3c6328) SHA1(17e8479c258f28a01d2283be9e692ff7685898cc) ) /* UML359 */
3398
3399   ROM_REGION( 0x80000, "ymsnd", 0 )
3400   ROM_LOAD( "067-v1.v1", 0x000000, 0x80000, CRC(cf23afd0) SHA1(10f87014ee10613f92b04f482f449721a6379db7) ) /* UM8302 */
3401
3402   NO_DELTAT_REGION
3403
3404   ROM_REGION( 0x400000, "sprites", 0 )
3405   ROM_LOAD16_BYTE( "067-c1.c1", 0x000000, 0x200000, CRC(35866126) SHA1(e4b24670ccc7901af5f66b11b15fae4e67f843ab) ) /* Plane 0,1 */ /* UMT301B */
3406   ROM_LOAD16_BYTE( "067-c2.c2", 0x000001, 0x200000, CRC(9db64084) SHA1(68a43c12f63f5e98d68ad0902a6551c5d30f8543) ) /* Plane 2,3 */ /* UMT302B */
3407ROM_END
3408
3409/****************************************
3410 ID-0068
3411 . NGM-068
3412 NEO-MVS PROGTOP / NEO-MVS CHA256
3413****************************************/
3414
3415ROM_START( pspikes2 ) /* MVS ONLY RELEASE */
3416   ROM_REGION( 0x100000, "maincpu", 0 )
3417   ROM_LOAD16_WORD_SWAP( "068-pg1.p1", 0x000000, 0x100000, CRC(105a408f) SHA1(2ee51defa1c24c66c63a6498ee542ac26de3cfbb) ) /* mask rom TC538200 */
3418
3419   NEO_SFIX_128K( "068-sg1.s1", CRC(18082299) SHA1(efe93fabe6a76a5dc8cf12f255e571480afb40a0) ) /* mask rom TC531000 */
3420
3421   NEO_BIOS_AUDIO_128K( "068-mg1.m1", CRC(b1c7911e) SHA1(27b298e7d50981331e17aa642e2e363ffac4333a) ) /* mask rom TC531001 */
3422
3423   ROM_REGION( 0x300000, "ymsnd", 0 )
3424   ROM_LOAD( "068-v1.v1", 0x000000, 0x100000, CRC(2ced86df) SHA1(d6b73d1f31efbd74fb745200d4dade5f80b71541) ) /* mask rom TC538200 */
3425   ROM_LOAD( "068-v2.v2", 0x100000, 0x100000, CRC(970851ab) SHA1(6c9b04e9cc6b92133f1154e5bdd9d38d8ef050a7) ) /* mask rom TC538200 */
3426   ROM_LOAD( "068-v3.v3", 0x200000, 0x100000, CRC(81ff05aa) SHA1(d74302f38c59055bfc83b39dff798a585314fecd) ) /* mask rom TC538200 */
3427
3428   NO_DELTAT_REGION
3429
3430   ROM_REGION( 0x600000, "sprites", 0 )
3431   ROM_LOAD16_BYTE( "068-c1.c1", 0x000000, 0x100000, CRC(7f250f76) SHA1(5109a41adcb7859e24dc43d88842d4cc18cd3305) ) /* Plane 0,1 */ /* mask rom TC538200 */
3432   ROM_LOAD16_BYTE( "068-c2.c2", 0x000001, 0x100000, CRC(20912873) SHA1(2df8766b531e47ffc30457e41c63b83557b4f468) ) /* Plane 2,3 */ /* mask rom TC538200 */
3433   ROM_LOAD16_BYTE( "068-c3.c3", 0x200000, 0x100000, CRC(4b641ba1) SHA1(7a9c42a30163eda455f7bde2302402b1a5de7178) ) /* Plane 0,1 */ /* mask rom TC538200 */
3434   ROM_LOAD16_BYTE( "068-c4.c4", 0x200001, 0x100000, CRC(35072596) SHA1(4150a21041f06514c97592bd8af686504b06e187) ) /* Plane 2,3 */ /* mask rom TC538200 */
3435   ROM_LOAD16_BYTE( "068-c5.c5", 0x400000, 0x100000, CRC(151dd624) SHA1(f2690a3fe9c64f70f283df785a5217d5b92a289f) ) /* Plane 0,1 */ /* mask rom TC538200 */
3436   ROM_LOAD16_BYTE( "068-c6.c6", 0x400001, 0x100000, CRC(a6722604) SHA1(b40c57fb4be93ac0b918829f88393ced3d4f8bde) ) /* Plane 2,3 */ /* mask rom TC538200 */
3437ROM_END
3438
3439/****************************************
3440 ID-0069
3441 . NGM-069
3442 NEO-MVS PROGBK1 / NEO-MVS CHA256
3443. NGH-069
3444 NEO-AEG PROGBK1Y / NEO-AEG CHA256RY
3445****************************************/
3446
3447ROM_START( fatfury3 ) /* MVS AND AES VERSION */
3448   ROM_REGION( 0x300000, "maincpu", 0 )
3449   ROM_LOAD16_WORD_SWAP( "069-p1.p1",   0x000000, 0x100000, CRC(a8bcfbbc) SHA1(519c4861151797e5f4d4f33432b83dfabed8e7c4) ) /* TC538200 */
3450   ROM_LOAD16_WORD_SWAP( "069-sp2.sp2", 0x100000, 0x200000, CRC(dbe963ed) SHA1(8ece7f663cfe8e563576a397e41161d392cee67e) ) /* TC5316200 */
3451
3452   NEO_SFIX_128K( "069-s1.s1", CRC(0b33a800) SHA1(b7d2cc97da4f30ddebc7b801f5e1d17d2306b2db) ) /* TC531000 */
3453
3454   NEO_BIOS_AUDIO_128K( "069-m1.m1", CRC(fce72926) SHA1(a40c74f793900b8542f0b8383ce4bf46fca112d4) ) /* TC531001 */
3455
3456   ROM_REGION( 0xa00000, "ymsnd", 0 )
3457   ROM_LOAD( "069-v1.v1", 0x000000, 0x400000, CRC(2bdbd4db) SHA1(5f4fecf69c2329d699cbd45829c19303b1e2a80e) ) /* TC5332204 */
3458   ROM_LOAD( "069-v2.v2", 0x400000, 0x400000, CRC(a698a487) SHA1(11b8bc53bc26a51f4a408e900e3769958625c4ed) ) /* TC5332204 */
3459   ROM_LOAD( "069-v3.v3", 0x800000, 0x200000, CRC(581c5304) SHA1(e9550ec547b4f605afed996b22d711f49b48fa92) ) /* TC5316200 */
3460
3461   NO_DELTAT_REGION
3462
3463   ROM_REGION( 0x1400000, "sprites", 0 )
3464   ROM_LOAD16_BYTE( "069-c1.c1", 0x0000000, 0x400000, CRC(e302f93c) SHA1(d8610b14900b2b8fe691b67ca9b1abb335dbff74) ) /* Plane 0,1 */ /* TC5332205 */
3465   ROM_LOAD16_BYTE( "069-c2.c2", 0x0000001, 0x400000, CRC(1053a455) SHA1(69501bfac68739e63d798045b812badd251d57b8) ) /* Plane 2,3 */ /* TC5332205 */
3466   ROM_LOAD16_BYTE( "069-c3.c3", 0x0800000, 0x400000, CRC(1c0fde2f) SHA1(cf6c2ef56c03a861de3b0b6dc0d7c9204d947f9d) ) /* Plane 0,1 */ /* TC5332205 */
3467   ROM_LOAD16_BYTE( "069-c4.c4", 0x0800001, 0x400000, CRC(a25fc3d0) SHA1(83cb349e2f1032652060b233e741fb893be5af16) ) /* Plane 2,3 */ /* TC5332205 */
3468   ROM_LOAD16_BYTE( "069-c5.c5", 0x1000000, 0x200000, CRC(b3ec6fa6) SHA1(7e4c8ee9dd8d9a25ff183d9d8b05f38769348bc7) ) /* Plane 0,1 */ /* TC5316200 */
3469   ROM_LOAD16_BYTE( "069-c6.c6", 0x1000001, 0x200000, CRC(69210441) SHA1(6d496c549dba65caabeaffe5b762e86f9d648a26) ) /* Plane 2,3 */ /* TC5316200 */
3470ROM_END
3471
3472/****************************************
3473 ID-0070
3474 . ??M-070
3475 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
3476****************************************/
3477
3478ROM_START( zupapa ) /* Original Version - Encrypted GFX */ /* MVS ONLY RELEASE */
3479   ROM_REGION( 0x100000, "maincpu", 0 )
3480   ROM_LOAD16_WORD_SWAP( "070-p1.p1", 0x000000, 0x100000, CRC(5a96203e) SHA1(49cddec9ca6cc51e5ecf8a34e447a23e1f8a15a1) ) /* mask rom TC538200 */
3481
3482   ROM_Y_ZOOM
3483
3484   /* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
3485   ROM_REGION( 0x20000, "fixed", 0 )
3486   ROM_FILL( 0x000000, 0x20000, 0 )
3487   ROM_REGION( 0x20000, "fixedbios", 0 )
3488   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
3489
3490   NEO_BIOS_AUDIO_128K( "070-epr.m1", CRC(5a3b3191) SHA1(fa9a9930e18c64e598841fb344c4471d3d2c1964) ) /* M27C1001 */
3491   /* M1 on eprom, correct chip label unknown */
3492
3493   ROM_REGION( 0x0200000, "ymsnd", 0 )
3494   ROM_LOAD( "070-v1.v1", 0x000000, 0x200000, CRC(d3a7e1ff) SHA1(4a4a227e10f4af58168f6c26011ea1d414253f92) ) /* mask rom TC5316200 */
3495
3496   NO_DELTAT_REGION
3497
3498   ROM_REGION( 0x1000000, "sprites", 0 )
3499   /* Encrypted */
3500   ROM_LOAD16_BYTE( "070-c1.c1", 0x0000000, 0x800000, CRC(f8ad02d8) SHA1(9be54532332a8e963ec35ff1e518947bb11ebade) ) /* Plane 0,1 */ /* mask rom TC5364205 */
3501   ROM_LOAD16_BYTE( "070-c2.c2", 0x0000001, 0x800000, CRC(70156dde) SHA1(06286bf043d50199b47df9a76ca91f39cb28cb90) ) /* Plane 2,3 */ /* mask rom TC5364205 */
3502ROM_END
3503
3504/****************************************
3505 ID-0071
3506 Bang Bang Busters (prototype) 1994 Visco
3507 Released in 2010 for MVS and AES (Releaser claims that it is officially licensed by VISCO)
3508
3509 Reported UNIVERSE BIOS CRC32:
3510  ROM     EC861CAF
3511  BANK 0  NOT USED
3512  BANK 1  NOT USED
3513  BANK 2  NOT USED
3514  BANK 3  NOT USED
3515 ****************************************/
3516
3517/****************************************
3518 ID-0072
3519 Last Odyssey Pinball Fantasia (prototype) 1995 Monolith
3520 A video of this was on youtube in 2010/2011.
3521 ****************************************/
3522
3523/****************************************
3524 ID-0073
3525 . ??M-073
3526 NEO-MVS PROGTOP / NEO-MVS CHA256
3527****************************************/
3528
3529ROM_START( panicbom ) /* MVS ONLY RELEASE */
3530   ROM_REGION( 0x100000, "maincpu", 0 )
3531   ROM_LOAD16_WORD_SWAP( "073-p1.p1", 0x000000, 0x080000, CRC(adc356ad) SHA1(801e0a54b65d7a3500e6cef2d6bba40c6356dc1f) ) /* mask rom TC534200 */
3532
3533   NEO_SFIX_128K( "073-s1.s1", CRC(b876de7e) SHA1(910347d7657470da914fb0a6b0ea02891e13c081) ) /* mask rom TC531000 */
3534
3535   NEO_BIOS_AUDIO_128K( "073-m1.m1", CRC(3cdf5d88) SHA1(6d8365a946fbd0b7c7b896536322638d80f6a764) ) /* mask rom TC531001 */
3536
3537   ROM_REGION( 0x300000, "ymsnd", 0 )
3538   ROM_LOAD( "073-v1.v1", 0x000000, 0x200000, CRC(7fc86d2f) SHA1(aa4234d22157060e0ba97a09c4e85c5276b74099) ) /* mask rom TC5316200 */
3539   ROM_LOAD( "073-v2.v2", 0x200000, 0x100000, CRC(082adfc7) SHA1(19c168e9a6cadcbed79033c320bcf3a45f846daf) ) /* mask rom TC538200 */
3540
3541   NO_DELTAT_REGION
3542
3543   ROM_REGION( 0x200000, "sprites", 0 )
3544   ROM_LOAD16_BYTE( "073-c1.c1", 0x000000, 0x100000, CRC(8582e1b5) SHA1(e17d8f57b8ebee14b8e705374b34abe928937258) ) /* Plane 0,1 */ /* mask rom TC538200 */
3545   ROM_LOAD16_BYTE( "073-c2.c2", 0x000001, 0x100000, CRC(e15a093b) SHA1(548a418c81af79cd7ab6ad165b8d6daee30abb49) ) /* Plane 2,3 */ /* mask rom TC538200 */
3546ROM_END
3547
3548/****************************************
3549 ID-0074
3550 . ADM-008
3551 NEO-MVS PROGTOP / NEO-MVS CHA256B
3552 . ADH-008
3553 NEO-AEG PROGRK / NEO-AEG CHA256
3554****************************************/
3555
3556ROM_START( aodk ) /* MVS AND AES VERSION */
3557   ROM_REGION( 0x200000, "maincpu", 0 )
3558   ROM_LOAD16_WORD_SWAP( "074-p1.p1", 0x100000, 0x100000, CRC(62369553) SHA1(ca4d561ee08d16fe6804249d1ba49188eb3bd606) ) /* TC5316200 */
3559   ROM_CONTINUE( 0x000000, 0x100000 )
3560
3561   NEO_SFIX_128K( "074-s1.s1", CRC(96148d2b) SHA1(47725a8059346ebe5639bbdbf62a2ac8028756a9) ) /* TC531000 */
3562
3563   NEO_BIOS_AUDIO_128K( "074-m1.m1", CRC(5a52a9d1) SHA1(ef913a9a55d29d5dd3beab1ce6039d64ce9b1a5b) ) /* TC531001 */
3564
3565   ROM_REGION( 0x400000, "ymsnd", 0 )
3566   ROM_LOAD( "074-v1.v1", 0x000000, 0x200000, CRC(7675b8fa) SHA1(29f4facf89d551237b31bf779693cbbbc94e1ede) ) /* TC5316200 */
3567   ROM_LOAD( "074-v2.v2", 0x200000, 0x200000, CRC(a9da86e9) SHA1(ff65af61e42b79a75060a352b24077d1fa28c83f) ) /* TC5316200 */
3568
3569   NO_DELTAT_REGION
3570
3571   ROM_REGION( 0x1000000, "sprites", 0 )
3572   ROM_LOAD16_BYTE( "074-c1.c1", 0x000000, 0x200000, CRC(a0b39344) SHA1(adfff7b8836347abf030611563e6068a91164d0a) ) /* Plane 0,1 */ /* TC5316200 */
3573   ROM_LOAD16_BYTE( "074-c2.c2", 0x000001, 0x200000, CRC(203f6074) SHA1(737f2d707d504df1da1ca5c5cf61cf489a33eb56) ) /* Plane 2,3 */ /* TC5316200 */
3574   ROM_LOAD16_BYTE( "074-c3.c3", 0x400000, 0x200000, CRC(7fff4d41) SHA1(bebd18a75adeb34c3bbd49cfc8fd3d8c2bf9e475) ) /* Plane 0,1 */ /* TC5316200 */
3575   ROM_LOAD16_BYTE( "074-c4.c4", 0x400001, 0x200000, CRC(48db3e0a) SHA1(a88505e001e01bb45fb26beda5af24943d02552a) ) /* Plane 2,3 */ /* TC5316200 */
3576   ROM_LOAD16_BYTE( "074-c5.c5", 0x800000, 0x200000, CRC(c74c5e51) SHA1(0399c53e2a3d721901dddc073fda6ec22e02dfd4) ) /* Plane 0,1 */ /* TC5316200 */
3577   ROM_LOAD16_BYTE( "074-c6.c6", 0x800001, 0x200000, CRC(73e8e7e0) SHA1(dd6580227743e6a3db4950456ebe870008e022b2) ) /* Plane 2,3 */ /* TC5316200 */
3578   ROM_LOAD16_BYTE( "074-c7.c7", 0xc00000, 0x200000, CRC(ac7daa01) SHA1(78407a464f67d949933ce2ccaa23fbed80dff1ea) ) /* Plane 0,1 */ /* TC5316200 */
3579   ROM_LOAD16_BYTE( "074-c8.c8", 0xc00001, 0x200000, CRC(14e7ad71) SHA1(d4583fbce361fd1a11ac6c1a27b0b669e8a5c718) ) /* Plane 2,3 */ /* TC5316200 */
3580ROM_END
3581
3582/****************************************
3583 ID-0075
3584 . NGM-075
3585 NEO-MVS PROGGSC / NEO-MVS CHA256
3586 . NGH-075
3587****************************************/
3588
3589ROM_START( sonicwi2 )
3590   ROM_REGION( 0x200000, "maincpu", 0 )
3591   ROM_LOAD16_WORD_SWAP( "075-p1.p1", 0x100000, 0x100000, CRC(92871738) SHA1(fed040a7c1ff9e495109813a702d09fb1d2ecf3a) ) /* mask rom TC5316200 */
3592   ROM_CONTINUE( 0x000000, 0x100000 )
3593
3594   NEO_SFIX_128K( "075-s1.s1", CRC(c9eec367) SHA1(574e1afe7e0d54610c145131106e59ba2894eeb7) ) /* mask rom TC531000 */
3595
3596   NEO_BIOS_AUDIO_128K( "075-m1.m1", CRC(bb828df1) SHA1(eab8e2868173bdaac7c7ed97305a9aa1033fd303) ) /* mask rom TC531001 */
3597
3598   ROM_REGION( 0x300000, "ymsnd", 0 )
3599   ROM_LOAD( "075-v1.v1", 0x000000, 0x200000, CRC(7577e949) SHA1(3ba9f11094dd0cf519f33a16016cfae0d2c6629c) ) /* mask rom TC5316200 */
3600   ROM_LOAD( "075-v2.v2", 0x200000, 0x100000, CRC(021760cd) SHA1(8a24e38f1d4982c4dcd82718995571ac94cbb390) ) /* mask rom TC538200 */
3601
3602   NO_DELTAT_REGION
3603
3604   ROM_REGION( 0x800000, "sprites", 0 )
3605   ROM_LOAD16_BYTE( "075-c1.c1", 0x000000, 0x200000, CRC(3278e73e) SHA1(d9e6c8a3a5213690a1b8747d27806d8ac5aac405) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3606   ROM_LOAD16_BYTE( "075-c2.c2", 0x000001, 0x200000, CRC(fe6355d6) SHA1(ca72fff7a908b6d9325761079ff2a0e28f34cf89) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3607   ROM_LOAD16_BYTE( "075-c3.c3", 0x400000, 0x200000, CRC(c1b438f1) SHA1(b3751c5b426bca0fcc3a58bdb86712c22ef908ab) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3608   ROM_LOAD16_BYTE( "075-c4.c4", 0x400001, 0x200000, CRC(1f777206) SHA1(e29c5ae65ebdcc1167a894306d2446ce909639da) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3609ROM_END
3610
3611/****************************************
3612 ID-0076
3613 . ??M-076
3614 NEO-MVS PROGGSC / NEO-MVS CHA256
3615****************************************/
3616
3617ROM_START( zedblade ) /* MVS ONLY RELEASE */
3618   ROM_REGION( 0x100000, "maincpu", 0 )
3619   ROM_LOAD16_WORD_SWAP( "076-p1.p1", 0x000000, 0x080000, CRC(d7c1effd) SHA1(485c2308a40baecd122be9ab4996044622bdcc7e) ) /* mask rom TC538200 */
3620
3621   NEO_SFIX_128K( "076-s1.s1", CRC(f4c25dd5) SHA1(8ec9026219f393930634f9170edbaaee479f875e) ) /* mask rom TC531000 */
3622
3623   NEO_BIOS_AUDIO_128K( "076-m1.m1", CRC(7b5f3d0a) SHA1(4a301781a57ff236f49492b576ff4858b0ffbdf8) ) /* mask rom TC531001 */
3624
3625   ROM_REGION( 0x500000, "ymsnd", 0 )
3626   ROM_LOAD( "076-v1.v1", 0x000000, 0x200000, CRC(1a21d90c) SHA1(4793ab06421228ad122e359653ed0f1339b90c7a) ) /* mask rom TC5316200 */
3627   ROM_LOAD( "076-v2.v2", 0x200000, 0x200000, CRC(b61686c3) SHA1(5a3405e833ce36abb7421190438b5cccc8537919) ) /* mask rom TC5316200 */
3628   ROM_LOAD( "076-v3.v3", 0x400000, 0x100000, CRC(b90658fa) SHA1(b9a4b34565ce3688495c47e35c9b888ef686ae9f) ) /* mask rom TC538200 */
3629
3630   NO_DELTAT_REGION
3631
3632   ROM_REGION( 0x800000, "sprites", 0 )
3633   ROM_LOAD16_BYTE( "076-c1.c1", 0x000000, 0x200000, CRC(4d9cb038) SHA1(c0b52b32e1fa719b99ae242d61d5dbea1437331c) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3634   ROM_LOAD16_BYTE( "076-c2.c2", 0x000001, 0x200000, CRC(09233884) SHA1(1895cd0d126a022bce1cc4c7a569032d89f35e3f) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3635   ROM_LOAD16_BYTE( "076-c3.c3", 0x400000, 0x200000, CRC(d06431e3) SHA1(643bd1ad74af272795b02143ba80a76e375036ab) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3636   ROM_LOAD16_BYTE( "076-c4.c4", 0x400001, 0x200000, CRC(4b1c089b) SHA1(cd63961d88c5be84673cce83c683a86b222a064d) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3637ROM_END
3638
3639/****************************************
3640 ID-0077
3641 The Warlocks of the Fates (prototype) 1995 Astec
3642****************************************/
3643
3644/****************************************
3645 ID-0078
3646 . NGM-078
3647 NEO-MVS PROGTOP / NEO-MVS CHA256
3648 . NGH-078
3649****************************************/
3650
3651ROM_START( galaxyfg )
3652   ROM_REGION( 0x200000, "maincpu", 0 )
3653   ROM_LOAD16_WORD_SWAP( "078-p1.p1", 0x100000, 0x100000, CRC(45906309) SHA1(cdcd96a564acf42e959193e139e149b29c103e25) ) /* mask rom TC5316200 */
3654   ROM_CONTINUE( 0x000000, 0x100000 )
3655
3656   NEO_SFIX_128K( "078-s1.s1", CRC(72f8923e) SHA1(da908bffc2b5d8baa2002dbb5bfb3aa17d2472b7) ) /* mask rom TC531000 */
3657
3658   NEO_BIOS_AUDIO_128K( "078-m1.m1", CRC(8e9e3b10) SHA1(7c44d1dbd4f8d337c99e90361d1dab837df85e31) ) /* mask rom TC531001 */
3659
3660   ROM_REGION( 0x500000, "ymsnd", 0 )
3661   ROM_LOAD( "078-v1.v1", 0x000000, 0x200000, CRC(e3b735ac) SHA1(e16dfac09aef8115a20bae0bef8c86d4e7d0dc4a) ) /* mask rom TC5316200 */
3662   ROM_LOAD( "078-v2.v2", 0x200000, 0x200000, CRC(6a8e78c2) SHA1(f60b1f8a3a945f279a582745e82f37278ce5d83b) ) /* mask rom TC5316200 */
3663   ROM_LOAD( "078-v3.v3", 0x400000, 0x100000, CRC(70bca656) SHA1(218b7079c90898e7faa382b386e77f81f415e7ac) ) /* mask rom TC538200 */
3664
3665   NO_DELTAT_REGION
3666
3667   ROM_REGION( 0xe00000, "sprites", 0 )
3668   ROM_LOAD16_BYTE( "078-c1.c1", 0x000000, 0x200000, CRC(c890c7c0) SHA1(b96c18a41c34070a4f24ca77cb7516fae8b0fd0c) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3669   ROM_LOAD16_BYTE( "078-c2.c2", 0x000001, 0x200000, CRC(b6d25419) SHA1(e089df9c9a9645f706e501108d634f4d222622a2) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3670   ROM_LOAD16_BYTE( "078-c3.c3", 0x400000, 0x200000, CRC(9d87e761) SHA1(ea1b6d7c9d5ef3a9b48968bde5a52d5699d591cc) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3671   ROM_LOAD16_BYTE( "078-c4.c4", 0x400001, 0x200000, CRC(765d7cb8) SHA1(7b9c86714d688602064d928c9d2b49d70bb7541e) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3672   ROM_LOAD16_BYTE( "078-c5.c5", 0x800000, 0x200000, CRC(e6b77e6a) SHA1(db3b8fc62a6f21c6653621c0665450d5d9a9913d) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3673   ROM_LOAD16_BYTE( "078-c6.c6", 0x800001, 0x200000, CRC(d779a181) SHA1(2761026abd9698a7b56114b76631563abd41fd12) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3674   ROM_LOAD16_BYTE( "078-c7.c7", 0xc00000, 0x100000, CRC(4f27d580) SHA1(c0f12496b45b2fe6e94aa8ac52b0157063127e0a) ) /* Plane 0,1 */ /* mask rom TC538200 */
3675   ROM_LOAD16_BYTE( "078-c8.c8", 0xc00001, 0x100000, CRC(0a7cc0d8) SHA1(68aaee6341c87e56ce11acc1c4ec8047839fe70d) ) /* Plane 2,3 */ /* mask rom TC538200 */
3676ROM_END
3677
3678/****************************************
3679 ID-0079
3680 . DEM-004
3681 NEO-MVS PROGGSC / NEO-MVS CHA256
3682 . DEH-004
3683 NEO-AEG PROGRK  / NEO-AEG CHA256
3684****************************************/
3685
3686ROM_START( strhoop ) /* MVS AND AES VERSION */
3687   ROM_REGION( 0x100000, "maincpu", 0 )
3688   ROM_LOAD16_WORD_SWAP( "079-p1.p1", 0x000000, 0x100000, CRC(5e78328e) SHA1(7a00b096ed6dd77afc3008c5a4c83686e475f323) ) /* TC538200 */
3689
3690   NEO_SFIX_128K( "079-s1.s1", CRC(3ac06665) SHA1(ba9ab51eb95c3568304377ef6d7b5f32e8fbcde1) ) /* TC531000 */
3691
3692   NEO_BIOS_AUDIO_128K( "079-m1.m1", CRC(bee3455a) SHA1(fd5345d9847982085a9b364fff542580889bf02f) ) /* TC531001 */
3693
3694   ROM_REGION( 0x300000, "ymsnd", 0 )
3695   ROM_LOAD( "079-v1.v1", 0x000000, 0x200000, CRC(718a2400) SHA1(cefc5d0b302bd4a87ab1fa244ade4482c23c6806) ) /* TC5316200 */
3696   ROM_LOAD( "079-v2.v2", 0x200000, 0x100000, CRC(720774eb) SHA1(e4926f01322d0a15e700fb150b368152f2091146) ) /* TC538200 */
3697   /* AES 079-v2 is only 4 mbit (TC534200), data is the same */
3698
3699   NO_DELTAT_REGION
3700
3701   ROM_REGION( 0x800000, "sprites", 0 )
3702   ROM_LOAD16_BYTE( "079-c1.c1", 0x000000, 0x200000, CRC(0581c72a) SHA1(453f7a8474195a1120da5fa24337d79674563d9e) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3703   ROM_LOAD16_BYTE( "079-c2.c2", 0x000001, 0x200000, CRC(5b9b8fb6) SHA1(362aa0de0d2cf9aa03758363ffb1e15e046a3930) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3704   ROM_LOAD16_BYTE( "079-c3.c3", 0x400000, 0x200000, CRC(cd65bb62) SHA1(6f47d77d61d4289bcee82df7c4efa5346a6e4c80) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3705   ROM_LOAD16_BYTE( "079-c4.c4", 0x400001, 0x200000, CRC(a4c90213) SHA1(1b9f7b5f31acd6df2bdab81b849f32c13aa1b884) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3706ROM_END
3707
3708/****************************************
3709 ID-0080
3710 . SAM-080
3711 NEO-MVS PROGGSC / NEO-MVS CHA256
3712 . SAH-080
3713 NEO-AEG PROGTOP2 / NEO-AEG CHA256 B
3714****************************************/
3715
3716ROM_START( quizkof ) /* MVS AND AES VERSION */
3717   ROM_REGION( 0x100000, "maincpu", 0 )
3718   ROM_LOAD16_WORD_SWAP( "080-p1.p1", 0x000000, 0x100000, CRC(4440315e) SHA1(f4adba8e341d64a1f6280dfd98ebf6918c00608d) ) /* mask rom TC538200 */
3719
3720   NEO_SFIX_128K( "080-s1.s1", CRC(d7b86102) SHA1(09e1ca6451f3035ce476e3b045541646f860aad5) ) /* mask rom TC531000 */
3721
3722   NEO_BIOS_AUDIO_128K( "080-m1.m1", CRC(f5f44172) SHA1(eaaba1781622901b91bce9257be4e05f84df053b) ) /* mask rom TC531001 */
3723
3724   ROM_REGION( 0x600000, "ymsnd", 0 )
3725   ROM_LOAD( "080-v1.v1", 0x000000, 0x200000, CRC(0be18f60) SHA1(05c8b7d9f5a8583015f31902ad16d9c621f47d4e) ) /* mask rom TC5316200 */
3726   ROM_LOAD( "080-v2.v2", 0x200000, 0x200000, CRC(4abde3ff) SHA1(0188bfcafa9a1aac302705736a2bcb26b9d684c2) ) /* mask rom TC5316200 */
3727   ROM_LOAD( "080-v3.v3", 0x400000, 0x200000, CRC(f02844e2) SHA1(8c65ebe146f4ddb6c904f8125cb32767f74c24d5) ) /* mask rom TC5316200 */
3728
3729   NO_DELTAT_REGION
3730
3731   ROM_REGION( 0x800000, "sprites", 0 )
3732   ROM_LOAD16_BYTE( "080-c1.c1", 0x000000, 0x200000, CRC(ea1d764a) SHA1(78cc1735624c37f90607baa92e110a3c5cc54c6f) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3733   ROM_LOAD16_BYTE( "080-c2.c2", 0x000001, 0x200000, CRC(d331d4a4) SHA1(94228d13fb1e30973eb54058e697f17456ee16ea) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3734   ROM_LOAD16_BYTE( "080-c3.c3", 0x400000, 0x200000, CRC(b4851bfe) SHA1(b8286c601de5755c1681ea46e177fc89006fc066) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3735   ROM_LOAD16_BYTE( "080-c4.c4", 0x400001, 0x200000, CRC(ca6f5460) SHA1(ed36e244c9335f4c0a97c57b7b7f1b849dd3a90d) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3736ROM_END
3737
3738ROM_START( quizkofk ) /* KOREAN VERSION */
3739   /* Made by Viccom Corp.; proms have manufacturer stamp VICxxxxxx-xxx, chip labels same as quizkof; Cart ID 0080 */
3740   /* Due to parent set naming limitations, roms have been named vic-xxx */
3741   ROM_REGION( 0x100000, "maincpu", 0 )
3742   ROM_LOAD16_WORD_SWAP( "vic-080-p1.p1", 0x000000, 0x100000, CRC(2589488e) SHA1(609f3095c1cf8b11335b56f23c5d955eebd66dd2) )
3743
3744   NEO_SFIX_128K( "vic-080-s1.s1", CRC(af72c30f) SHA1(f6a2c583f38295b7da2cbcf4b2c7ed3d3e01db4f) )
3745
3746   NEO_BIOS_AUDIO_128K( "vic-080-m1.m1", CRC(4f157e9a) SHA1(8397bfdd5738914670ada7cd8c611c20ed1f74da) )
3747
3748   ROM_REGION( 0x600000, "ymsnd", 0 )
3749   ROM_LOAD( "080-v1.v1", 0x000000, 0x200000, CRC(0be18f60) SHA1(05c8b7d9f5a8583015f31902ad16d9c621f47d4e) ) /* mask rom TC5316200 */
3750   ROM_LOAD( "vic-080-v2.v2", 0x200000, 0x200000, CRC(719fee5b) SHA1(c94f8ca066c9693cd7c9fd311db1ad9b2665fc69) )
3751   ROM_LOAD( "vic-080-v3.v3", 0x400000, 0x200000, CRC(64b7efde) SHA1(11727f9a3c4da17fa7b00559c7081b66e7211c49) )
3752
3753   NO_DELTAT_REGION
3754
3755   ROM_REGION( 0x800000, "sprites", 0 )
3756   ROM_LOAD16_BYTE( "vic-080-c1.c1", 0x000000, 0x200000, CRC(94d90170) SHA1(4ab63dadc6ee0d32b8784c327681376f5fef0df9) ) /* Plane 0,1 */
3757   ROM_LOAD16_BYTE( "vic-080-c2.c2", 0x000001, 0x200000, CRC(297f25a1) SHA1(0dd845726c640d70804b5fd5854921771e8dbf19) ) /* Plane 2,3 */
3758   ROM_LOAD16_BYTE( "vic-080-c3.c3", 0x400000, 0x200000, CRC(cf484c4f) SHA1(f588908a693dbbb8362ffbfe5035dd5f867d9697) ) /* Plane 0,1 */
3759   ROM_LOAD16_BYTE( "vic-080-c4.c4", 0x400001, 0x200000, CRC(36e5d997) SHA1(99955ff947e2e586e60c1146c978c70705787917) ) /* Plane 2,3 */
3760ROM_END
3761
3762/****************************************
3763 ID-0081
3764 . NGM-081
3765 NEO-MVS PROGTOP / NEO-MVS CHA42G-3B
3766 NEO-MVS PROGTOP / NEO-MVS CHA256
3767 . NGH-081
3768****************************************/
3769
3770ROM_START( ssideki3 )
3771   ROM_REGION( 0x200000, "maincpu", 0 )
3772   ROM_LOAD16_WORD_SWAP( "081-p1.p1", 0x100000, 0x100000, CRC(6bc27a3d) SHA1(94692abe7343f9204a557acae4ab74d0af511ca3) ) /* TC5316200 */
3773   ROM_CONTINUE( 0x000000, 0x100000 )
3774
3775   NEO_SFIX_128K( "081-s1.s1", CRC(7626da34) SHA1(30bad65633d0035fd578323c22cbddb8c9d549a6) ) /* TC531000 */
3776
3777   NEO_BIOS_AUDIO_128K( "081-m1.m1", CRC(82fcd863) SHA1(b219a5685450f9c24cc195f1c914bc3b292d72c0) ) /* TC531001 */
3778
3779   ROM_REGION( 0x600000, "ymsnd", 0 )
3780   ROM_LOAD( "081-v1.v1", 0x000000, 0x200000, CRC(201fa1e1) SHA1(9c27cc1b1d075223ed4a90dd02571d09a2f0d076) ) /* TC5316200 */
3781   ROM_LOAD( "081-v2.v2", 0x200000, 0x200000, CRC(acf29d96) SHA1(5426985c33aea2efc8ff774b59d34d8b03bd9a85) ) /* TC5316200 */
3782   ROM_LOAD( "081-v3.v3", 0x400000, 0x200000, CRC(e524e415) SHA1(8733e1b63471381b16c2b7c64b909745d99c8925) ) /* TC5316200 */
3783
3784   NO_DELTAT_REGION
3785
3786   ROM_REGION( 0xc00000, "sprites", 0 )
3787   ROM_LOAD16_BYTE( "081-c1.c1", 0x000000, 0x200000, CRC(1fb68ebe) SHA1(abd9dbe7b7cbe0b6cd1d87e53c6bdc6edeccf83c) ) /* Plane 0,1 */ /* TC5316200 */
3788   ROM_LOAD16_BYTE( "081-c2.c2", 0x000001, 0x200000, CRC(b28d928f) SHA1(9f05148e3e1e94339752658c066f47f133db8fbf) ) /* Plane 2,3 */ /* TC5316200 */
3789   ROM_LOAD16_BYTE( "081-c3.c3", 0x400000, 0x200000, CRC(3b2572e8) SHA1(41aba1554bf59d4e5d5814249eaa0d531449e1de) ) /* Plane 0,1 */ /* TC5316200 */
3790   ROM_LOAD16_BYTE( "081-c4.c4", 0x400001, 0x200000, CRC(47d26a7c) SHA1(591ef24a3d381163c5da80fa64e6883b8ea9abfb) ) /* Plane 2,3 */ /* TC5316200 */
3791   ROM_LOAD16_BYTE( "081-c5.c5", 0x800000, 0x200000, CRC(17d42f0d) SHA1(7de7765bf43d390c50b2f59c2288502a7121d086) ) /* Plane 0,1 */ /* TC5316200 */
3792   ROM_LOAD16_BYTE( "081-c6.c6", 0x800001, 0x200000, CRC(6b53fb75) SHA1(fadf7a12661d83ae35d9258aa4947969d51c08b8) ) /* Plane 2,3 */ /* TC5316200 */
3793ROM_END
3794
3795/****************************************
3796 ID-0082
3797 . NGM-082
3798 NEO-MVS PROGTOP / NEO-MVS CHA256
3799 NEO-MVS PROGTOP / NEO-MVS CHA 42G-3
3800 NEO-MVS PROGBK1 / NEO-MVS CHA256
3801 . NGH-082
3802****************************************/
3803
3804ROM_START( doubledr )
3805   ROM_REGION( 0x200000, "maincpu", 0 )
3806   ROM_LOAD16_WORD_SWAP( "082-p1.p1", 0x100000, 0x100000, CRC(34ab832a) SHA1(fbb1bd195f5653f7b9c89648649f838eaf83cbe4) ) /* TC5316200 */
3807   ROM_CONTINUE( 0x000000, 0x100000 )
3808
3809   NEO_SFIX_128K( "082-s1.s1", CRC(bef995c5) SHA1(9c89adbdaa5c1f827632c701688563dac2e482a4) ) /* TC531000 */
3810
3811   NEO_BIOS_AUDIO_128K( "082-m1.m1", CRC(10b144de) SHA1(cf1ed0a447da68240c62bcfd76b1569803f6bf76) ) /* TC531001 */
3812
3813   ROM_REGION( 0x400000, "ymsnd", 0 )
3814   ROM_LOAD( "082-v1.v1", 0x000000, 0x200000, CRC(cc1128e4) SHA1(bfcfff24bc7fbde0b02b1bc0dffebd5270a0eb04) ) /* TC5316200 */
3815   ROM_LOAD( "082-v2.v2", 0x200000, 0x200000, CRC(c3ff5554) SHA1(c685887ad64998e5572607a916b023f8b9efac49) ) /* TC5316200 */
3816
3817   NO_DELTAT_REGION
3818
3819   ROM_REGION( 0xe00000, "sprites", 0 )
3820   ROM_LOAD16_BYTE( "082-c1.c1", 0x000000, 0x200000, CRC(b478c725) SHA1(3a777c5906220f246a6dc06cb084e6ad650d67bb) ) /* Plane 0,1 */ /* TC5316200 */
3821   ROM_LOAD16_BYTE( "082-c2.c2", 0x000001, 0x200000, CRC(2857da32) SHA1(9f13245965d23db86d46d7e73dfb6cc63e6f25a1) ) /* Plane 2,3 */ /* TC5316200 */
3822   ROM_LOAD16_BYTE( "082-c3.c3", 0x400000, 0x200000, CRC(8b0d378e) SHA1(3a347215e414b738164f1fe4144102f07d4ffb80) ) /* Plane 0,1 */ /* TC5316200 */
3823   ROM_LOAD16_BYTE( "082-c4.c4", 0x400001, 0x200000, CRC(c7d2f596) SHA1(e2d09d4d1b1fef9c0c53ecf3629e974b75e559f5) ) /* Plane 2,3 */ /* TC5316200 */
3824   ROM_LOAD16_BYTE( "082-c5.c5", 0x800000, 0x200000, CRC(ec87bff6) SHA1(3fa86da93881158c2c23443855922a7b32e55135) ) /* Plane 0,1 */ /* TC5316200 */
3825   ROM_LOAD16_BYTE( "082-c6.c6", 0x800001, 0x200000, CRC(844a8a11) SHA1(b2acbd4cacce66fb32c052b2fba9984904679bda) ) /* Plane 2,3 */ /* TC5316200 */
3826   ROM_LOAD16_BYTE( "082-c7.c7", 0xc00000, 0x100000, CRC(727c4d02) SHA1(8204c7f037d46e0c58f269f9c7a535bc2589f526) ) /* Plane 0,1 */ /* TC538200 */
3827   ROM_LOAD16_BYTE( "082-c8.c8", 0xc00001, 0x100000, CRC(69a5fa37) SHA1(020e70e0e8b3c5d00a40fe97e418115a3187e50a) ) /* Plane 2,3 */ /* TC538200 */
3828ROM_END
3829
3830/****************************************
3831 ID-0083
3832 . NGM-083
3833 NEO-MVS PROGTOP / NEO-MVS CHA256
3834****************************************/
3835
3836ROM_START( pbobblen ) /* MVS ONLY RELEASE */
3837   /* This set uses CHA and PROG board from Power Spikes II. Six Power Spikes II prom's are replaced with
3838   Puzzle Bobble prom's. Confirmed on several original carts. Do other layouts also exist? */
3839   ROM_REGION( 0x100000, "maincpu", 0 )
3840   ROM_LOAD16_WORD_SWAP( "d96-07.ep1", 0x000000, 0x080000, CRC(6102ca14) SHA1(328429d11de5b327a0654ae0548da4d0025a2ae6) ) /* 27C240 */
3841
3842   NEO_SFIX_128K( "d96-04.s1", CRC(9caae538) SHA1(cf2d90a7c1a42107c0bb8b9a61397634286dbe0a) ) /* mask rom TC531000 */
3843
3844   NEO_BIOS_AUDIO_128K( "d96-06.m1", CRC(f424368a) SHA1(5e5bbcaeb82bed2ee17df08f005ca20ad1030723) ) /* mask rom TC531001 */
3845
3846   ROM_REGION( 0x380000, "ymsnd", 0 )
3847   ROM_LOAD( "068-v1.v1", 0x000000, 0x100000, CRC(2ced86df) SHA1(d6b73d1f31efbd74fb745200d4dade5f80b71541) ) /* unused */ /* mask rom TC538200 */
3848   ROM_LOAD( "068-v2.v2", 0x100000, 0x100000, CRC(970851ab) SHA1(6c9b04e9cc6b92133f1154e5bdd9d38d8ef050a7) ) /* unused */ /* mask rom TC538200 */
3849   ROM_LOAD( "d96-01.v3", 0x200000, 0x100000, CRC(0840cbc4) SHA1(1adbd7aef44fa80832f63dfb8efdf69fd7256a57) ) /* mask rom TC538200 */
3850   ROM_LOAD( "d96-05.v4", 0x300000, 0x080000, CRC(0a548948) SHA1(e1e4afd17811cb60401c14fbcf0465035165f4fb) ) /* mask rom TC534200 */
3851
3852   NO_DELTAT_REGION
3853
3854   ROM_REGION( 0x500000, "sprites", 0 )
3855   ROM_LOAD16_BYTE( "068-c1.c1", 0x000000, 0x100000, CRC(7f250f76) SHA1(5109a41adcb7859e24dc43d88842d4cc18cd3305) ) /* unused */ /* mask rom TC538200 */
3856   ROM_LOAD16_BYTE( "068-c2.c2", 0x000001, 0x100000, CRC(20912873) SHA1(2df8766b531e47ffc30457e41c63b83557b4f468) ) /* unused */ /* mask rom TC538200 */
3857   ROM_LOAD16_BYTE( "068-c3.c3", 0x200000, 0x100000, CRC(4b641ba1) SHA1(7a9c42a30163eda455f7bde2302402b1a5de7178) ) /* unused */ /* mask rom TC538200 */
3858   ROM_LOAD16_BYTE( "068-c4.c4", 0x200001, 0x100000, CRC(35072596) SHA1(4150a21041f06514c97592bd8af686504b06e187) ) /* unused */ /* mask rom TC538200 */
3859   ROM_LOAD16_BYTE( "d96-02.c5", 0x400000, 0x80000, CRC(e89ad494) SHA1(69c9ea415773af94ac44c48af05d55ada222b138) ) /* Plane 0,1 */ /* mask rom TC534200 */
3860   ROM_LOAD16_BYTE( "d96-03.c6", 0x400001, 0x80000, CRC(4b42d7eb) SHA1(042ae50a528cea21cf07771d3915c57aa16fd5af) ) /* Plane 2,3 */ /* mask rom TC534200 */
3861ROM_END
3862
3863/****************************************
3864 ID-0084
3865 . NGM-084
3866 NEO-MVS PROGBK1 / NEO-MVS CHA256
3867 NEO-MVS PROGSM / NEO-MVS CHA256
3868 . NGH-084
3869 NEO-AEG PROGBK1Y / NEO-AEG CHA256RY
3870****************************************/
3871
3872ROM_START( kof95 ) /* MVS VERSION */
3873   ROM_REGION( 0x200000, "maincpu", 0 )
3874   ROM_LOAD16_WORD_SWAP( "084-p1.p1",0x100000, 0x100000, CRC(2cba2716) SHA1(f6c2d0537c9c3e0938065c65b1797c47198fcff8) ) /* TC5316200 */
3875   ROM_CONTINUE( 0x000000, 0x100000 )
3876
3877   NEO_SFIX_128K( "084-s1.s1", CRC(de716f8a) SHA1(f7386454a943ed5caf625f67ee1d0197b1c6fa13) ) /* TC531000 */
3878
3879   NEO_BIOS_AUDIO_128K( "084-m1.m1", CRC(6f2d7429) SHA1(6f8462e4f07af82a5ca3197895d5dcbb67bdaa61) ) /* TC531001 */
3880
3881   ROM_REGION( 0x900000, "ymsnd", 0 )
3882   ROM_LOAD( "084-v1.v1", 0x000000, 0x400000, CRC(84861b56) SHA1(1b6c91ddaed01f45eb9b7e49d9c2b9b479d50da6) ) /* TC5332201 */
3883   ROM_LOAD( "084-v2.v2", 0x400000, 0x200000, CRC(b38a2803) SHA1(dbc2c8606ca09ed7ff20906b022da3cf053b2f09) ) /* TC5316200 */
3884   /* 600000-7fffff empty */
3885   ROM_LOAD( "084-v3.v3", 0x800000, 0x100000, CRC(d683a338) SHA1(eb9866b4b286edc09963cb96c43ce0a8fb09adbb) ) /* TC538200 */
3886
3887   NO_DELTAT_REGION
3888
3889   ROM_REGION( 0x1a00000, "sprites", 0 )
3890   ROM_LOAD16_BYTE( "084-c1.c1", 0x0000000, 0x400000, CRC(fe087e32) SHA1(e8e89faa616027e4fb9b8a865c1a67f409c93bdf) ) /* Plane 0,1 */ /* TC5332202 */
3891   ROM_LOAD16_BYTE( "084-c2.c2", 0x0000001, 0x400000, CRC(07864e09) SHA1(0817fcfd75d0735fd8ff27561eaec371e4ff5829) ) /* Plane 2,3 */ /* TC5332202 */
3892   ROM_LOAD16_BYTE( "084-c3.c3", 0x0800000, 0x400000, CRC(a4e65d1b) SHA1(740a405b40b3a4b324697d2652cae29ffe0ac0bd) ) /* Plane 0,1 */ /* TC5332202 */
3893   ROM_LOAD16_BYTE( "084-c4.c4", 0x0800001, 0x400000, CRC(c1ace468) SHA1(74ea2a3cfd7b744f0988a05baaff10016ca8f625) ) /* Plane 2,3 */ /* TC5332202 */
3894   ROM_LOAD16_BYTE( "084-c5.c5", 0x1000000, 0x200000, CRC(8a2c1edc) SHA1(67866651bc0ce27122285a66b0aab108acf3d065) ) /* Plane 0,1 */ /* TC5316200 */
3895   ROM_LOAD16_BYTE( "084-c6.c6", 0x1000001, 0x200000, CRC(f593ac35) SHA1(302c92c63f092a8d49429c3331e5e5678f0ea48d) ) /* Plane 2,3 */ /* TC5316200 */
3896   /* 1400000-17fffff empty */
3897   ROM_LOAD16_BYTE( "084-c7.c7", 0x1800000, 0x100000, CRC(9904025f) SHA1(eec770746a0ad073f7d353ab16a2cc3a5278d307) ) /* Plane 0,1 */ /* TC538200 */
3898   ROM_LOAD16_BYTE( "084-c8.c8", 0x1800001, 0x100000, CRC(78eb0f9b) SHA1(2925ea21ed2ce167f08a25589e94f28643379034) ) /* Plane 2,3 */ /* TC538200 */
3899ROM_END
3900
3901ROM_START( kof95h ) /* MVS AND AES VERSION */
3902   /* There also exists a MVS version with 4x eprom (EP1~EP4); board used is NEO-MVS PROGSM */
3903   ROM_REGION( 0x200000, "maincpu", 0 )
3904   ROM_LOAD16_WORD_SWAP( "084-pg1.p1", 0x100000, 0x100000, CRC(5e54cf95) SHA1(41abe2042fdbb1526e92a0789976a9b1ac5e60f0) ) /* TC5316200 */
3905   ROM_CONTINUE( 0x000000, 0x100000 )
3906
3907   NEO_SFIX_128K( "084-s1.s1", CRC(de716f8a) SHA1(f7386454a943ed5caf625f67ee1d0197b1c6fa13) ) /* TC531000 */
3908
3909   NEO_BIOS_AUDIO_128K( "084-m1.m1", CRC(6f2d7429) SHA1(6f8462e4f07af82a5ca3197895d5dcbb67bdaa61) ) /* TC531001 */
3910
3911   ROM_REGION( 0x900000, "ymsnd", 0 )
3912   ROM_LOAD( "084-v1.v1", 0x000000, 0x400000, CRC(84861b56) SHA1(1b6c91ddaed01f45eb9b7e49d9c2b9b479d50da6) ) /* TC5332201 */
3913   ROM_LOAD( "084-v2.v2", 0x400000, 0x200000, CRC(b38a2803) SHA1(dbc2c8606ca09ed7ff20906b022da3cf053b2f09) ) /* TC5316200 */
3914   /* 600000-7fffff empty */
3915   ROM_LOAD( "084-v3.v3", 0x800000, 0x100000, CRC(d683a338) SHA1(eb9866b4b286edc09963cb96c43ce0a8fb09adbb) ) /* TC538200 */
3916
3917   NO_DELTAT_REGION
3918
3919   ROM_REGION( 0x1a00000, "sprites", 0 )
3920   ROM_LOAD16_BYTE( "084-c1.c1", 0x0000000, 0x400000, CRC(fe087e32) SHA1(e8e89faa616027e4fb9b8a865c1a67f409c93bdf) ) /* Plane 0,1 */ /* TC5332202 */
3921   ROM_LOAD16_BYTE( "084-c2.c2", 0x0000001, 0x400000, CRC(07864e09) SHA1(0817fcfd75d0735fd8ff27561eaec371e4ff5829) ) /* Plane 2,3 */ /* TC5332202 */
3922   ROM_LOAD16_BYTE( "084-c3.c3", 0x0800000, 0x400000, CRC(a4e65d1b) SHA1(740a405b40b3a4b324697d2652cae29ffe0ac0bd) ) /* Plane 0,1 */ /* TC5332202 */
3923   ROM_LOAD16_BYTE( "084-c4.c4", 0x0800001, 0x400000, CRC(c1ace468) SHA1(74ea2a3cfd7b744f0988a05baaff10016ca8f625) ) /* Plane 2,3 */ /* TC5332202 */
3924   ROM_LOAD16_BYTE( "084-c5.c5", 0x1000000, 0x200000, CRC(8a2c1edc) SHA1(67866651bc0ce27122285a66b0aab108acf3d065) ) /* Plane 0,1 */ /* TC5316200 */
3925   ROM_LOAD16_BYTE( "084-c6.c6", 0x1000001, 0x200000, CRC(f593ac35) SHA1(302c92c63f092a8d49429c3331e5e5678f0ea48d) ) /* Plane 2,3 */ /* TC5316200 */
3926   /* 1400000-17fffff empty */
3927   ROM_LOAD16_BYTE( "084-c7.c7", 0x1800000, 0x100000, CRC(9904025f) SHA1(eec770746a0ad073f7d353ab16a2cc3a5278d307) ) /* Plane 0,1 */ /* TC538200 */
3928   ROM_LOAD16_BYTE( "084-c8.c8", 0x1800001, 0x100000, CRC(78eb0f9b) SHA1(2925ea21ed2ce167f08a25589e94f28643379034) ) /* Plane 2,3 */ /* TC538200 */
3929ROM_END
3930
3931/****************************************
3932 ID-0085
3933 Shinsetsu Samurai Spirits Bushidoretsuden / Samurai Shodown RPG (CD only)
3934****************************************/
3935
3936/****************************************
3937 ID-0086
3938 . ??M-086
3939 NEO-MVS PROGBK1 / NEO-MVS CHA256B
3940****************************************/
3941
3942ROM_START( tws96 ) /* MVS ONLY RELEASE */
3943   ROM_REGION( 0x100000, "maincpu", 0 )
3944   ROM_LOAD16_WORD_SWAP( "086-p1.p1", 0x000000, 0x100000, CRC(03e20ab6) SHA1(3a0a5a54649178ce7a6158980cb4445084b40fb5) ) /* mask rom TC538200 */
3945
3946   NEO_SFIX_128K( "086-s1.s1", CRC(6f5e2b3a) SHA1(273341489f6625d35a4a920042a60e2b86373847) ) /* mask rom TC531000 */
3947
3948   NEO_BIOS_AUDIO_128K( "086-m1.m1", CRC(cb82bc5d) SHA1(8e3ecabec25d89adb6e0eed0ef5f94d34a4d5fc0) ) /* mask rom TC531001 */
3949
3950   ROM_REGION( 0x400000, "ymsnd", 0 )
3951   ROM_LOAD( "086-v1.v1", 0x000000, 0x200000, CRC(97bf1986) SHA1(b80d3a37e18d0a52f1e0092dc300989c9647efd1) ) /* mask rom TC5316200 */
3952   ROM_LOAD( "086-v2.v2", 0x200000, 0x200000, CRC(b7eb05df) SHA1(ff2b55c7021c248cfdcfc9cd3658f2896bcbca38) ) /* mask rom TC5316200 */
3953
3954   NO_DELTAT_REGION
3955
3956   ROM_REGION( 0xa00000, "sprites", 0 )
3957   ROM_LOAD16_BYTE( "086-c1.c1", 0x000000, 0x400000, CRC(2611bc2a) SHA1(bb5a96acd4a90fcb41c49cc8e9f760c4a06d6b84) ) /* Plane 0,1 */ /* mask rom TC5332205 */
3958   ROM_LOAD16_BYTE( "086-c2.c2", 0x000001, 0x400000, CRC(6b0d6827) SHA1(3cb2bbab381a26ec69f97c3d6116ce47254286b4) ) /* Plane 2,3 */ /* mask rom TC5332205 */
3959   ROM_LOAD16_BYTE( "086-c3.c3", 0x800000, 0x100000, CRC(750ddc0c) SHA1(9304a83d81afd544d88be0cd3ee47ae401d2da0e) ) /* Plane 0,1 */ /* mask rom TC538200 */
3960   ROM_LOAD16_BYTE( "086-c4.c4", 0x800001, 0x100000, CRC(7a6e7d82) SHA1(b1bb82cec3d68367d5e01e63c44c11b67e577411) ) /* Plane 2,3 */ /* mask rom TC538200 */
3961ROM_END
3962
3963/****************************************
3964 ID-0087
3965 . NGM-087
3966 NEO-MVS PROGSS3 / NEO-MVS CHA256
3967 . NGH-087
3968 NEO-AEG PROGBK1Y / NEO-AEG CHA256RY
3969****************************************/
3970
3971ROM_START( samsho3 ) /* MVS VERSION */
3972   ROM_REGION( 0x300000, "maincpu", 0 )
3973   ROM_LOAD16_WORD_SWAP( "087-epr.ep1", 0x000000, 0x080000, CRC(23e09bb8) SHA1(79da99fa50a639fce9d1266699b5e53c9ac55642) ) /* M27C4002 */
3974   ROM_LOAD16_WORD_SWAP( "087-epr.ep2", 0x080000, 0x080000, CRC(256f5302) SHA1(e2d21b413a6059194a994b7902b2a7df98a15151) ) /* M27C4002 */
3975   ROM_LOAD16_WORD_SWAP( "087-epr.ep3", 0x100000, 0x080000, CRC(bf2db5dd) SHA1(b4fa1dc1eccc9eb1ce74f0a06992ef89b1cbc732) ) /* M27C4002 */
3976   ROM_LOAD16_WORD_SWAP( "087-epr.ep4", 0x180000, 0x080000, CRC(53e60c58) SHA1(f975e81cab6322d3260348402721c673023259fa) ) /* M27C4002 */
3977   /* P's on eprom, correct chip label unknown */
3978   ROM_LOAD16_WORD_SWAP( "087-p5.p5",  0x200000, 0x100000, CRC(e86ca4af) SHA1(5246acbab77ac2f232b88b8522187764ff0872f0) ) /* TC538200 */
3979
3980   NEO_SFIX_128K( "087-s1.s1", CRC(74ec7d9f) SHA1(d79c479838a7ca51735a44f91f1968ec5b3c6b91) ) /* TC531000 */
3981
3982   NEO_BIOS_AUDIO_128K( "087-m1.m1", CRC(8e6440eb) SHA1(e3f72150af4e326543b29df71cda27d73ec087c1) ) /* T531001 */
3983
3984   ROM_REGION( 0x600000, "ymsnd", 0 )
3985   ROM_LOAD( "087-v1.v1", 0x000000, 0x400000, CRC(84bdd9a0) SHA1(adceceb00569eca13fcc2e0f0d9f0d9b06a06851) ) /* TC5332201 */
3986   ROM_LOAD( "087-v2.v2", 0x400000, 0x200000, CRC(ac0f261a) SHA1(5411bdff24cba7fdbc3397d45a70fb468d7a44b3) ) /* TC5316200 */
3987
3988   NO_DELTAT_REGION
3989
3990   ROM_REGION( 0x1a00000, "sprites", 0 )
3991   ROM_LOAD16_BYTE( "087-c1.c1", 0x0000000, 0x400000, CRC(07a233bc) SHA1(654cb56cfd6eeebe6745c0b8b730317fb8ccd3d9) ) /* Plane 0,1 */ /* TC5332202 */
3992   ROM_LOAD16_BYTE( "087-c2.c2", 0x0000001, 0x400000, CRC(7a413592) SHA1(b8c7a2d0d7a8b14d6cab94d7a5f347e73c6ab7a4) ) /* Plane 2,3 */ /* TC5332202 */
3993   ROM_LOAD16_BYTE( "087-c3.c3", 0x0800000, 0x400000, CRC(8b793796) SHA1(053acc129ea56691607a5d255845703e61fd3ada) ) /* Plane 0,1 */ /* TC5332202 */
3994   ROM_LOAD16_BYTE( "087-c4.c4", 0x0800001, 0x400000, CRC(728fbf11) SHA1(daa319d455f759bfc08a37b43218bdb48dc1c9e5) ) /* Plane 2,3 */ /* TC5332202 */
3995   ROM_LOAD16_BYTE( "087-c5.c5", 0x1000000, 0x400000, CRC(172ab180) SHA1(a6122f683bdb78d0079e1e360c1b96ba28def7b7) ) /* Plane 0,1 */ /* TC5332202 */
3996   ROM_LOAD16_BYTE( "087-c6.c6", 0x1000001, 0x400000, CRC(002ff8f3) SHA1(3a378708697d727796c4f702dd5bbf1c9eb4daec) ) /* Plane 2,3 */ /* TC5332202 */
3997   ROM_LOAD16_BYTE( "087-c7.c7", 0x1800000, 0x100000, CRC(ae450e3d) SHA1(ec482632cc347ec3f9e68df0ebcaa16ebe41b9f9) ) /* Plane 0,1 */ /* TC538200 */
3998   ROM_LOAD16_BYTE( "087-c8.c8", 0x1800001, 0x100000, CRC(a9e82717) SHA1(e39ee15d5140dbe7f06eea945cce9984a5e8b06a) ) /* Plane 2,3 */ /* TC538200 */
3999ROM_END
4000
4001ROM_START( samsho3h ) /* AES VERSION */
4002   ROM_REGION( 0x300000, "maincpu", 0 )
4003   ROM_LOAD16_WORD_SWAP( "087-pg1.p1", 0x000000, 0x100000, CRC(282a336e) SHA1(e062f1939d36a45f185b5dbd726cdd833dc7c28c) ) /* mask rom TC538200 */
4004   ROM_LOAD16_WORD_SWAP( "087-p2.sp2", 0x100000, 0x200000, CRC(9bbe27e0) SHA1(b18117102159903c8e8f4e4226e1cc91a400e816) ) /* mask rom TC5316200 */
4005
4006   NEO_SFIX_128K( "087-s1.s1", CRC(74ec7d9f) SHA1(d79c479838a7ca51735a44f91f1968ec5b3c6b91) ) /* T531000 */
4007
4008   NEO_BIOS_AUDIO_128K( "087-m1.m1", CRC(8e6440eb) SHA1(e3f72150af4e326543b29df71cda27d73ec087c1) ) /* T531001 */
4009
4010   ROM_REGION( 0x600000, "ymsnd", 0 )
4011   ROM_LOAD( "087-v1.v1", 0x000000, 0x400000, CRC(84bdd9a0) SHA1(adceceb00569eca13fcc2e0f0d9f0d9b06a06851) ) /* TC5332201 */
4012   ROM_LOAD( "087-v2.v2", 0x400000, 0x200000, CRC(ac0f261a) SHA1(5411bdff24cba7fdbc3397d45a70fb468d7a44b3) ) /* TC5316200 */
4013
4014   NO_DELTAT_REGION
4015
4016   ROM_REGION( 0x1a00000, "sprites", 0 )
4017   ROM_LOAD16_BYTE( "087-c1.c1", 0x0000000, 0x400000, CRC(07a233bc) SHA1(654cb56cfd6eeebe6745c0b8b730317fb8ccd3d9) ) /* Plane 0,1 */ /* TC5332202 */
4018   ROM_LOAD16_BYTE( "087-c2.c2", 0x0000001, 0x400000, CRC(7a413592) SHA1(b8c7a2d0d7a8b14d6cab94d7a5f347e73c6ab7a4) ) /* Plane 2,3 */ /* TC5332202 */
4019   ROM_LOAD16_BYTE( "087-c3.c3", 0x0800000, 0x400000, CRC(8b793796) SHA1(053acc129ea56691607a5d255845703e61fd3ada) ) /* Plane 0,1 */ /* TC5332202 */
4020   ROM_LOAD16_BYTE( "087-c4.c4", 0x0800001, 0x400000, CRC(728fbf11) SHA1(daa319d455f759bfc08a37b43218bdb48dc1c9e5) ) /* Plane 2,3 */ /* TC5332202 */
4021   ROM_LOAD16_BYTE( "087-c5.c5", 0x1000000, 0x400000, CRC(172ab180) SHA1(a6122f683bdb78d0079e1e360c1b96ba28def7b7) ) /* Plane 0,1 */ /* TC5332202 */
4022   ROM_LOAD16_BYTE( "087-c6.c6", 0x1000001, 0x400000, CRC(002ff8f3) SHA1(3a378708697d727796c4f702dd5bbf1c9eb4daec) ) /* Plane 2,3 */ /* TC5332202 */
4023   ROM_LOAD16_BYTE( "087-c7.c7", 0x1800000, 0x100000, CRC(ae450e3d) SHA1(ec482632cc347ec3f9e68df0ebcaa16ebe41b9f9) ) /* Plane 0,1 */ /* TC538200 */
4024   ROM_LOAD16_BYTE( "087-c8.c8", 0x1800001, 0x100000, CRC(a9e82717) SHA1(e39ee15d5140dbe7f06eea945cce9984a5e8b06a) ) /* Plane 2,3 */ /* TC538200 */
4025ROM_END
4026
4027ROM_START( fswords ) /* KOREAN VERSION */
4028   ROM_REGION( 0x300000, "maincpu", 0 )
4029   ROM_LOAD16_WORD_SWAP( "187-p1k.p1", 0x000000, 0x100000, CRC(c8e7c075) SHA1(7b74f2917114460d79d8f46ee24829a4c08cbf2a) )
4030   ROM_LOAD16_WORD_SWAP( "087-p2.sp2", 0x100000, 0x200000, CRC(9bbe27e0) SHA1(b18117102159903c8e8f4e4226e1cc91a400e816) ) /* mask rom TC5316200 */
4031
4032   NEO_SFIX_128K( "087-s1.s1", CRC(74ec7d9f) SHA1(d79c479838a7ca51735a44f91f1968ec5b3c6b91) ) /* TC531000 */
4033
4034   NEO_BIOS_AUDIO_128K( "087-m1.m1", CRC(8e6440eb) SHA1(e3f72150af4e326543b29df71cda27d73ec087c1) ) /* TC531001 */
4035
4036   ROM_REGION( 0x600000, "ymsnd", 0 )
4037   ROM_LOAD( "087-v1.v1", 0x000000, 0x400000, CRC(84bdd9a0) SHA1(adceceb00569eca13fcc2e0f0d9f0d9b06a06851) ) /* TC5332201 */
4038   ROM_LOAD( "087-v2.v2", 0x400000, 0x200000, CRC(ac0f261a) SHA1(5411bdff24cba7fdbc3397d45a70fb468d7a44b3) ) /* TC5316200 */
4039
4040   NO_DELTAT_REGION
4041
4042   ROM_REGION( 0x1a00000, "sprites", 0 )
4043   ROM_LOAD16_BYTE( "087-c1.c1", 0x0000000, 0x400000, CRC(07a233bc) SHA1(654cb56cfd6eeebe6745c0b8b730317fb8ccd3d9) ) /* Plane 0,1 */ /* TC5332202 */
4044   ROM_LOAD16_BYTE( "087-c2.c2", 0x0000001, 0x400000, CRC(7a413592) SHA1(b8c7a2d0d7a8b14d6cab94d7a5f347e73c6ab7a4) ) /* Plane 2,3 */ /* TC5332202 */
4045   ROM_LOAD16_BYTE( "087-c3.c3", 0x0800000, 0x400000, CRC(8b793796) SHA1(053acc129ea56691607a5d255845703e61fd3ada) ) /* Plane 0,1 */ /* TC5332202 */
4046   ROM_LOAD16_BYTE( "087-c4.c4", 0x0800001, 0x400000, CRC(728fbf11) SHA1(daa319d455f759bfc08a37b43218bdb48dc1c9e5) ) /* Plane 2,3 */ /* TC5332202 */
4047   ROM_LOAD16_BYTE( "087-c5.c5", 0x1000000, 0x400000, CRC(172ab180) SHA1(a6122f683bdb78d0079e1e360c1b96ba28def7b7) ) /* Plane 0,1 */ /* TC5332202 */
4048   ROM_LOAD16_BYTE( "087-c6.c6", 0x1000001, 0x400000, CRC(002ff8f3) SHA1(3a378708697d727796c4f702dd5bbf1c9eb4daec) ) /* Plane 2,3 */ /* TC5332202 */
4049   ROM_LOAD16_BYTE( "087-c7.c7", 0x1800000, 0x100000, CRC(ae450e3d) SHA1(ec482632cc347ec3f9e68df0ebcaa16ebe41b9f9) ) /* Plane 0,1 */ /* TC538200 */
4050   ROM_LOAD16_BYTE( "087-c8.c8", 0x1800001, 0x100000, CRC(a9e82717) SHA1(e39ee15d5140dbe7f06eea945cce9984a5e8b06a) ) /* Plane 2,3 */ /* TC538200 */
4051ROM_END
4052
4053/****************************************
4054 ID-0088
4055 . NGM-088
4056 NEO-MVS PROGBK1 / NEO-MVS CHA42-3B
4057 . NGH-088
4058****************************************/
4059
4060ROM_START( stakwin )
4061   ROM_REGION( 0x200000, "maincpu", 0 )
4062   ROM_LOAD16_WORD_SWAP( "088-p1.p1", 0x100000, 0x100000, CRC(bd5814f6) SHA1(95179a4dee61ae88bb5d9fd74af0c56c8c29f5ea) ) /* TC5316200 */
4063   ROM_CONTINUE( 0x000000, 0x100000)
4064
4065   NEO_SFIX_128K( "088-s1.s1", CRC(073cb208) SHA1(c5b4697d767575884dd49ae416c1fe4a4a92d3f6) ) /* TC531000 */
4066
4067   NEO_BIOS_AUDIO_128K( "088-m1.m1", CRC(2fe1f499) SHA1(5b747eeef65be04423d2db05e086df9132758a47) ) /* TC531001 */
4068
4069   ROM_REGION( 0x200000, "ymsnd", 0 )
4070   ROM_LOAD( "088-v1.v1", 0x000000, 0x200000, CRC(b7785023) SHA1(d11df1e623434669cd3f97f0feda747b24dac05d) ) /* TC5316200 */
4071
4072   NO_DELTAT_REGION
4073
4074   ROM_REGION( 0x800000, "sprites", 0 )
4075   ROM_LOAD16_BYTE( "088-c1.c1", 0x000000, 0x200000, CRC(6e733421) SHA1(b67c5d2654a62cc4e44bd54d28e62c7da5eea424) ) /* Plane 0,1 */ /* TC5316200 */
4076   ROM_LOAD16_BYTE( "088-c2.c2", 0x000001, 0x200000, CRC(4d865347) SHA1(ad448cf96f3dce44c83412ed6878c495eb4a8a1e) ) /* Plane 2,3 */ /* TC5316200 */
4077   ROM_LOAD16_BYTE( "088-c3.c3", 0x400000, 0x200000, CRC(8fa5a9eb) SHA1(7bee19d8a2bccedd8e2cf0c0e9138902b9dafc23) ) /* Plane 0,1 */ /* TC5316200 */
4078   ROM_LOAD16_BYTE( "088-c4.c4", 0x400001, 0x200000, CRC(4604f0dc) SHA1(ddf5dbb5e07313998a8f695ad19354ea54585dd6) ) /* Plane 2,3 */ /* TC5316200 */
4079ROM_END
4080
4081/****************************************
4082 ID-0089
4083 . NGM-089
4084 NEO-MVS PROGBK1 / NEO-MVS CHA256
4085 . NGH-089
4086****************************************/
4087
4088ROM_START( pulstar )
4089   ROM_REGION( 0x300000, "maincpu", 0 )
4090   ROM_LOAD16_WORD_SWAP( "089-p1.p1",  0x000000, 0x100000, CRC(5e5847a2) SHA1(b864d0ec4184b785569ddbf67c2115b5ab86ee3e) ) /* mask rom TC538200 */
4091   ROM_LOAD16_WORD_SWAP( "089-p2.sp2", 0x100000, 0x200000, CRC(028b774c) SHA1(fc5da2821a5072f2b78245fc59b6e3eeef116d16) ) /* mask rom TC5316200 */
4092
4093   NEO_SFIX_128K( "089-s1.s1", CRC(c79fc2c8) SHA1(914c224fb3c461a68d7425cae724cf22bd5f985d) ) /* mask rom TC531000 */
4094
4095   NEO_BIOS_AUDIO_128K( "089-m1.m1", CRC(ff3df7c7) SHA1(59d2ef64f734f6026073b365300221909057a512) ) /* mask rom TC531001 */
4096
4097   ROM_REGION( 0x800000, "ymsnd", 0 )
4098   ROM_LOAD( "089-v1.v1", 0x000000, 0x400000, CRC(6f726ecb) SHA1(e8e2a46af690ce6c7ee64a58ab5010d22df9548c) ) /* mask rom TC5332204 */
4099   ROM_LOAD( "089-v2.v2", 0x400000, 0x400000, CRC(9d2db551) SHA1(83f7e5db7fb1502ceadcd334df90b11b1bba78e5) ) /* mask rom TC5332204 */
4100
4101   NO_DELTAT_REGION
4102
4103   ROM_REGION( 0x1c00000, "sprites", 0 )
4104   ROM_LOAD16_BYTE( "089-c1.c1", 0x0000000, 0x400000, CRC(f4e97332) SHA1(54693827a99836e7d61c45d495dd78bf3fcf1544) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4105   ROM_LOAD16_BYTE( "089-c2.c2", 0x0000001, 0x400000, CRC(836d14da) SHA1(99cc4f9b764503eff7849ff2977d90bb47c5564a) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4106   ROM_LOAD16_BYTE( "089-c3.c3", 0x0800000, 0x400000, CRC(913611c4) SHA1(9664eb1fe1e6f8c3ddeeff872d38ea920ed38a82) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4107   ROM_LOAD16_BYTE( "089-c4.c4", 0x0800001, 0x400000, CRC(44cef0e3) SHA1(34f6f348ba86a2a06cb9c43a16b97cf6ee6158ac) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4108   ROM_LOAD16_BYTE( "089-c5.c5", 0x1000000, 0x400000, CRC(89baa1d7) SHA1(976c745c44967de61e2a23227835be580b1d283a) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4109   ROM_LOAD16_BYTE( "089-c6.c6", 0x1000001, 0x400000, CRC(b2594d56) SHA1(685c0bf8ff76c76e41c2ceaebb96349634cfdb2e) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4110   ROM_LOAD16_BYTE( "089-c7.c7", 0x1800000, 0x200000, CRC(6a5618ca) SHA1(9a1d5f998b0dfabacf9dad45c94bef2bb43e5e0c) ) /* Plane 0,1 */ /* mask rom TC5316200 */
4111   ROM_LOAD16_BYTE( "089-c8.c8", 0x1800001, 0x200000, CRC(a223572d) SHA1(2791b1212f57937b2b2a95bc9e420c06d0c37669) ) /* Plane 2,3 */ /* mask rom TC5316200 */
4112ROM_END
4113
4114/****************************************
4115 ID-0090
4116 . ADM-009
4117 NEO-MVS PROGTOP / NEO-MVS CHA256
4118 . ADH-009
4119****************************************/
4120
4121ROM_START( whp )
4122   ROM_REGION( 0x200000, "maincpu", 0 )
4123   ROM_LOAD16_WORD_SWAP( "090-p1.p1", 0x100000, 0x100000, CRC(afaa4702) SHA1(83d122fddf17d4774353abf4a0655f3939f7b752) ) /* mask rom TC5316200 */
4124   ROM_CONTINUE( 0x000000, 0x100000 )
4125
4126   NEO_SFIX_128K( "090-s1.s1", CRC(174a880f) SHA1(c35d315d728d119a6e9aa42e0593937c90897449) ) /* mask rom TC531000 */
4127
4128   NEO_BIOS_AUDIO_128K( "090-m1.m1", CRC(28065668) SHA1(0c60d4afa1dccad0135e733104f056be73b54e4e) ) /* mask rom TC531001 */
4129
4130   ROM_REGION( 0x600000, "ymsnd", 0 )
4131   ROM_LOAD( "090-v1.v1", 0x000000, 0x200000, CRC(30cf2709) SHA1(d1845033f16de2470afd3858ee0efb45176d9ed7) ) /* mask rom TC5316200 */
4132   ROM_LOAD( "064-v2.v2", 0x200000, 0x200000, CRC(b6527edd) SHA1(2bcf5bfa6e117cf4a3728a5e5f5771313c93f22a) ) /* mask rom TC5316200 */
4133   ROM_LOAD( "090-v3.v3", 0x400000, 0x200000, CRC(1908a7ce) SHA1(78f31bcfea33eb94752bbf5226c481baec1af5ac) ) /* mask rom TC5316200 */
4134
4135   NO_DELTAT_REGION
4136
4137   ROM_REGION( 0x1c00000, "sprites", 0 )
4138   ROM_LOAD16_BYTE( "090-c1.c1", 0x0000000, 0x400000, CRC(cd30ed9b) SHA1(839c20f7ff31251acc875ae402b5d267e55510c7) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4139   ROM_LOAD16_BYTE( "090-c2.c2", 0x0000001, 0x400000, CRC(10eed5ee) SHA1(12131b1c8c017ea77a98c044b392a5db6aad0143) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4140   ROM_LOAD16_BYTE( "064-c3.c3", 0x0800000, 0x200000, CRC(436d1b31) SHA1(059776d77b91377ed0bcfc278802d659c917fc0f) ) /* Plane 0,1 */ /* mask rom TC5316200 */
4141   ROM_LOAD16_BYTE( "064-c4.c4", 0x0800001, 0x200000, CRC(f9c8dd26) SHA1(25a9eea1d49b21b4a988beb32c25bf2f7796f227) ) /* Plane 2,3 */ /* mask rom TC5316200 */
4142   /* 0c00000-0ffffff empty */
4143   ROM_LOAD16_BYTE( "064-c5.c5", 0x1000000, 0x200000, CRC(8e34a9f4) SHA1(67b839b426ef3fad0a85d951fdd44c0a45c55226) ) /* Plane 0,1 */ /* mask rom TC5316200 */
4144   ROM_LOAD16_BYTE( "064-c6.c6", 0x1000001, 0x200000, CRC(a43e4766) SHA1(54f282f2b1ff2934cca7acbb4386a2b99a29df3a) ) /* Plane 2,3 */ /* mask rom TC5316200 */
4145   /* 1400000-17fffff empty */
4146   ROM_LOAD16_BYTE( "064-c7.c7", 0x1800000, 0x200000, CRC(59d97215) SHA1(85a960dc7f364df13ee0c2f99a4c53aefb081486) ) /* Plane 0,1 */ /* mask rom TC5316200 */
4147   ROM_LOAD16_BYTE( "064-c8.c8", 0x1800001, 0x200000, CRC(fc092367) SHA1(69ff4ae909dd857de3ca8645d63f8b4bde117448) ) /* Plane 2,3 */ /* mask rom TC5316200 */
4148ROM_END
4149
4150/****************************************
4151 ID-0091
4152 unknown
4153****************************************/
4154
4155/****************************************
4156 ID-0092
4157 . NGM-092
4158 NEO-MVS PROGBK1 / NEO-MVS CHA256
4159 . NGH-092
4160****************************************/
4161
4162ROM_START( kabukikl )
4163   ROM_REGION( 0x200000, "maincpu", 0 )
4164   ROM_LOAD16_WORD_SWAP( "092-p1.p1", 0x100000, 0x100000, CRC(28ec9b77) SHA1(7cdc789a99f8127f437d68cbc41278c926be9efd) ) /* mask rom TC5316200 */
4165   ROM_CONTINUE( 0x000000, 0x100000 )
4166
4167   NEO_SFIX_128K( "092-s1.s1", CRC(a3d68ee2) SHA1(386f6110a16967a72fbf788f9d968fddcdcd2889) ) /* mask rom TC531000 */
4168
4169   NEO_BIOS_AUDIO_128K( "092-m1.m1", CRC(91957ef6) SHA1(7b6907532a0e02ceb643623cbd689cf228776ed1) ) /* mask rom TC531001 */
4170
4171   ROM_REGION( 0x700000, "ymsnd", 0 )
4172   ROM_LOAD( "092-v1.v1", 0x000000, 0x200000, CRC(69e90596) SHA1(1a2007d7784b3ce90d115980c3353862f1664d45) ) /* mask rom TC5316200 */
4173   ROM_LOAD( "092-v2.v2", 0x200000, 0x200000, CRC(7abdb75d) SHA1(0bff764889fe02f37877514c7fc450250839f632) ) /* mask rom TC5316200 */
4174   ROM_LOAD( "092-v3.v3", 0x400000, 0x200000, CRC(eccc98d3) SHA1(b0dfbdb1ea045cb961323ac6906ab342256c3dc7) ) /* mask rom TC5316200 */
4175   ROM_LOAD( "092-v4.v4", 0x600000, 0x100000, CRC(a7c9c949) SHA1(574bc55b45e81ce357b14f5992426115de25cd35) ) /* mask rom TC538200 */
4176
4177   NO_DELTAT_REGION
4178
4179   ROM_REGION( 0x1000000, "sprites", 0 )
4180   ROM_LOAD16_BYTE( "092-c1.c1", 0x000000, 0x400000, CRC(2a9fab01) SHA1(aa9f037df33ae0575b328734c76c0918ae1917e9) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4181   ROM_LOAD16_BYTE( "092-c2.c2", 0x000001, 0x400000, CRC(6d2bac02) SHA1(dfe96b62883333872be432e8af1ae617c9e62698) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4182   ROM_LOAD16_BYTE( "092-c3.c3", 0x800000, 0x400000, CRC(5da735d6) SHA1(f1c05a73794ece15576a0a30c81f4a44faac475a) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4183   ROM_LOAD16_BYTE( "092-c4.c4", 0x800001, 0x400000, CRC(de07f997) SHA1(c27a4d4bef868eed38dc152ff37d4135b16cc991) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4184ROM_END
4185
4186/****************************************
4187 ID-0093
4188 . ??M-093
4189 NEO-MVS PROGBK1 / NEO-MVS CHA256
4190****************************************/
4191
4192ROM_START( neobombe ) /* MVS ONLY RELEASE */
4193   ROM_REGION( 0x100000, "maincpu", 0 )
4194   ROM_LOAD16_WORD_SWAP( "093-p1.p1", 0x000000, 0x100000, CRC(a1a71d0d) SHA1(059284c84f61a825923d86d2f29c91baa2c439cd) ) /* TC538200 */
4195
4196   NEO_SFIX_128K( "093-s1.s1", CRC(4b3fa119) SHA1(41cb0909bfb017eb6f2c530cb92a423319ed7ab1) ) /* TC531000 */
4197
4198   NEO_BIOS_AUDIO_128K( "093-m1.m1", CRC(e81e780b) SHA1(c56c53984e0f92e180e850c60a75f550ee84917c) ) /* TC531001 */
4199
4200   ROM_REGION( 0x600000, "ymsnd", 0 )
4201   ROM_LOAD( "093-v1.v1", 0x000000, 0x400000, CRC(02abd4b0) SHA1(6bf33ebc9b01cd4a029f6a555694a9835e30ca1b) ) /* TC5332204 */
4202   ROM_LOAD( "093-v2.v2", 0x400000, 0x200000, CRC(a92b8b3d) SHA1(b672c97b85d2f52eba3cb26025008ebc7a18312a) ) /* TC5316200 */
4203
4204   NO_DELTAT_REGION
4205
4206   ROM_REGION( 0x900000, "sprites", 0 )
4207   ROM_LOAD16_BYTE( "093-c1.c1", 0x000000, 0x400000, CRC(d1f328f8) SHA1(ddf71280c2ce85225f15fe9e973f330609281878) ) /* Plane 0,1 */ /* TC5332205 */
4208   ROM_LOAD16_BYTE( "093-c2.c2", 0x000001, 0x400000, CRC(82c49540) SHA1(5f37c1bc0d63c98a13967b44da3d2c85e6dbbe50) ) /* Plane 2,3 */ /* TC5332205 */
4209   ROM_LOAD16_BYTE( "093-c3.c3", 0x800000, 0x080000, CRC(e37578c5) SHA1(20024caa0f09ee887a6418dd02d02a0df93786fd) ) /* Plane 0,1 */ /* TC534200 */
4210   ROM_LOAD16_BYTE( "093-c4.c4", 0x800001, 0x080000, CRC(59826783) SHA1(0110a2b6186cca95f75225d4d0269d61c2ad25b1) ) /* Plane 2,3 */ /* TC534200 */
4211ROM_END
4212
4213/****************************************
4214 ID-0094
4215 . NGM-094
4216 NEO-MVS PROGBK1 / NEO-MVS CHA42G-3B
4217 . NGH-094
4218****************************************/
4219
4220ROM_START( gowcaizr )
4221   ROM_REGION( 0x200000, "maincpu", 0 )
4222   ROM_LOAD16_WORD_SWAP( "094-p1.p1", 0x100000, 0x100000, CRC(33019545) SHA1(213db6c0b7d24b74b809854f9c606dbea1d9ba00) ) /* TC5316200 */
4223   ROM_CONTINUE( 0x000000, 0x100000 )
4224
4225   NEO_SFIX_128K( "094-s1.s1", CRC(2f8748a2) SHA1(5cc723c4284120473d63d8b0c1a3b3be74bdc324) ) /* TC531000 */
4226
4227   NEO_BIOS_AUDIO_128K( "094-m1.m1", CRC(78c851cb) SHA1(a9923c002e4e2171a564af45cff0958c5d57b275) ) /* TC531001 */
4228
4229   ROM_REGION( 0x500000, "ymsnd", 0 )
4230   ROM_LOAD( "094-v1.v1", 0x000000, 0x200000, CRC(6c31223c) SHA1(ede3a2806d7d872a0f737626a23ecce200b534e6) ) /* TC5316200 */
4231   ROM_LOAD( "094-v2.v2", 0x200000, 0x200000, CRC(8edb776c) SHA1(a9eac5e24f83ccdcf303d63261747b1bad876a24) ) /* TC5316200 */
4232   ROM_LOAD( "094-v3.v3", 0x400000, 0x100000, CRC(c63b9285) SHA1(6bbbacfe899e204e74657d6c3f3d05ce75e432f1) ) /* TC538200 */
4233
4234   NO_DELTAT_REGION
4235
4236   ROM_REGION( 0x1000000, "sprites", 0 )
4237   ROM_LOAD16_BYTE( "094-c1.c1", 0x000000, 0x200000, CRC(042f6af5) SHA1(1c50df6a1a53ffb3079ea0a19c746f5c9536a3ed) ) /* Plane 0,1 */ /* TC5316200 */
4238   ROM_LOAD16_BYTE( "094-c2.c2", 0x000001, 0x200000, CRC(0fbcd046) SHA1(9a6dc920a877f27424477c3478907b23afbaa5ea) ) /* Plane 2,3 */ /* TC5316200 */
4239   ROM_LOAD16_BYTE( "094-c3.c3", 0x400000, 0x200000, CRC(58bfbaa1) SHA1(4c6f9cf138c5e6dfe89a45e2a690a986c75f5bfc) ) /* Plane 0,1 */ /* TC5316200 */
4240   ROM_LOAD16_BYTE( "094-c4.c4", 0x400001, 0x200000, CRC(9451ee73) SHA1(7befee4a886b1d7493c06cefb7abf4ec01c14a8b) ) /* Plane 2,3 */ /* TC5316200 */
4241   ROM_LOAD16_BYTE( "094-c5.c5", 0x800000, 0x200000, CRC(ff9cf48c) SHA1(5f46fb5d0812275b0006919d8540f22be7c16492) ) /* Plane 0,1 */ /* TC5316200 */
4242   ROM_LOAD16_BYTE( "094-c6.c6", 0x800001, 0x200000, CRC(31bbd918) SHA1(7ff8c5e3f17d40e7a8a189ad8f8026de55368810) ) /* Plane 2,3 */ /* TC5316200 */
4243   ROM_LOAD16_BYTE( "094-c7.c7", 0xc00000, 0x200000, CRC(2091ec04) SHA1(a81d4bdbef1ac6ea49845dc30e31bf9745694100) ) /* Plane 0,1 */ /* TC5316200 */
4244   ROM_LOAD16_BYTE( "094-c8.c8", 0xc00001, 0x200000, CRC(d80dd241) SHA1(1356a64e4d4e271f62cd0d83f79ee9c906440810) ) /* Plane 2,3 */ /* TC5316200 */
4245ROM_END
4246
4247/****************************************
4248 ID-0095
4249 . NGM-095
4250 NEO-MVS PROGBK1 / NEO-MVS CHA256
4251 . NGH-095
4252 NEO-AEG PROGBK1Y / NEO-AEG CHA256RY
4253****************************************/
4254
4255ROM_START( rbff1 ) /* MVS AND AES VERSION */
4256   ROM_REGION( 0x300000, "maincpu", 0 )
4257   ROM_LOAD16_WORD_SWAP( "095-p1.p1",  0x000000, 0x100000, CRC(63b4d8ae) SHA1(03aa9f6bab6aee685d1b57a52823797704eea845) ) /* TC538200 */
4258   ROM_LOAD16_WORD_SWAP( "095-p2.sp2", 0x100000, 0x200000, CRC(cc15826e) SHA1(44d6ac6c0ca697a6f367dcfd809b1e1771cb0635) ) /* TC5316200 */
4259
4260   NEO_SFIX_128K( "095-s1.s1", CRC(b6bf5e08) SHA1(b527355c35ea097f3448676f2ffa65b8e56ae30c) ) /* TC531000 */
4261
4262   NEO_BIOS_AUDIO_128K( "095-m1.m1", CRC(653492a7) SHA1(39e511fb9ed5d2135dc8428a31d0baafb2ab36e0) ) /* TC531001 */
4263
4264   ROM_REGION( 0xc00000, "ymsnd", 0 )
4265   ROM_LOAD( "069-v1.v1", 0x000000, 0x400000, CRC(2bdbd4db) SHA1(5f4fecf69c2329d699cbd45829c19303b1e2a80e) ) /* TC5332204 */
4266   ROM_LOAD( "069-v2.v2", 0x400000, 0x400000, CRC(a698a487) SHA1(11b8bc53bc26a51f4a408e900e3769958625c4ed) ) /* TC5332204 */
4267   ROM_LOAD( "095-v3.v3", 0x800000, 0x400000, CRC(189d1c6c) SHA1(f0b8cd1ee40ea3feeb2800f0723b451ec8240203) ) /* TC5332201 */
4268
4269   NO_DELTAT_REGION
4270
4271   ROM_REGION( 0x1c00000, "sprites", 0 )
4272   ROM_LOAD16_BYTE( "069-c1.c1", 0x0000000, 0x400000, CRC(e302f93c) SHA1(d8610b14900b2b8fe691b67ca9b1abb335dbff74) ) /* Plane 0,1 */ /* TC5332205 */
4273   ROM_LOAD16_BYTE( "069-c2.c2", 0x0000001, 0x400000, CRC(1053a455) SHA1(69501bfac68739e63d798045b812badd251d57b8) ) /* Plane 2,3 */ /* TC5332205 */
4274   ROM_LOAD16_BYTE( "069-c3.c3", 0x0800000, 0x400000, CRC(1c0fde2f) SHA1(cf6c2ef56c03a861de3b0b6dc0d7c9204d947f9d) ) /* Plane 0,1 */ /* TC5332205 */
4275   ROM_LOAD16_BYTE( "069-c4.c4", 0x0800001, 0x400000, CRC(a25fc3d0) SHA1(83cb349e2f1032652060b233e741fb893be5af16) ) /* Plane 2,3 */ /* TC5332205 */
4276   ROM_LOAD16_BYTE( "095-c5.c5", 0x1000000, 0x400000, CRC(8b9b65df) SHA1(e2a7e20855501f240bcd22f5cc92fcb4a9806abe) ) /* Plane 0,1 */ /* TC5332202 */
4277   ROM_LOAD16_BYTE( "095-c6.c6", 0x1000001, 0x400000, CRC(3e164718) SHA1(53217f938c8964c1ca68a6fd5249c4169a5ac8e6) ) /* Plane 2,3 */ /* TC5332202 */
4278   ROM_LOAD16_BYTE( "095-c7.c7", 0x1800000, 0x200000, CRC(ca605e12) SHA1(5150b835247fd705bc1dece97d423d9c20a51416) ) /* Plane 0,1 */ /* TC5316200 */
4279   ROM_LOAD16_BYTE( "095-c8.c8", 0x1800001, 0x200000, CRC(4e6beb6c) SHA1(c0ac7cfc832ace6ad52c58f5da3a8101baead749) ) /* Plane 2,3 */ /* TC5316200 */
4280ROM_END
4281
4282ROM_START( rbff1a ) /* MVS VERSION */
4283   /* This is a bug fixed revision applied over the original cart. The original P1 and P2 stayed in the cart and this */
4284   /* 512k ROM was added to replace the first 512k of P1. */
4285   ROM_REGION( 0x300000, "maincpu", 0 )
4286   ROM_LOAD16_WORD_SWAP( "095-p1.p1",  0x000000, 0x100000, CRC(63b4d8ae) SHA1(03aa9f6bab6aee685d1b57a52823797704eea845) ) /* TC538200 */
4287   ROM_LOAD16_WORD_SWAP( "095-p2.sp2", 0x100000, 0x200000, CRC(cc15826e) SHA1(44d6ac6c0ca697a6f367dcfd809b1e1771cb0635) ) /* TC5316200 */
4288   /* the rom below acts as a patch to the program rom in the cart, replacing the first 512kb */
4289   ROM_LOAD16_WORD_SWAP( "095-epr.ep1", 0x000000, 0x080000, CRC(be0060a3) SHA1(fa741d34898ad5004a23e280139d1446f1a082c7) ) /* M27C4002 */
4290   /* P is on eprom, correct chip label unknown */
4291
4292   NEO_SFIX_128K( "095-s1.s1", CRC(b6bf5e08) SHA1(b527355c35ea097f3448676f2ffa65b8e56ae30c) ) /* TC531000 */
4293
4294   NEO_BIOS_AUDIO_128K( "095-m1.m1", CRC(653492a7) SHA1(39e511fb9ed5d2135dc8428a31d0baafb2ab36e0) ) /* TC531001 */
4295
4296   ROM_REGION( 0xc00000, "ymsnd", 0 )
4297   ROM_LOAD( "069-v1.v1", 0x000000, 0x400000, CRC(2bdbd4db) SHA1(5f4fecf69c2329d699cbd45829c19303b1e2a80e) ) /* TC5332204 */
4298   ROM_LOAD( "069-v2.v2", 0x400000, 0x400000, CRC(a698a487) SHA1(11b8bc53bc26a51f4a408e900e3769958625c4ed) ) /* TC5332204 */
4299   ROM_LOAD( "095-v3.v3", 0x800000, 0x400000, CRC(189d1c6c) SHA1(f0b8cd1ee40ea3feeb2800f0723b451ec8240203) ) /* TC5332201 */
4300
4301   NO_DELTAT_REGION
4302
4303   ROM_REGION( 0x1c00000, "sprites", 0 )
4304   ROM_LOAD16_BYTE( "069-c1.c1", 0x0000000, 0x400000, CRC(e302f93c) SHA1(d8610b14900b2b8fe691b67ca9b1abb335dbff74) ) /* Plane 0,1 */ /* TC5332205 */
4305   ROM_LOAD16_BYTE( "069-c2.c2", 0x0000001, 0x400000, CRC(1053a455) SHA1(69501bfac68739e63d798045b812badd251d57b8) ) /* Plane 2,3 */ /* TC5332205 */
4306   ROM_LOAD16_BYTE( "069-c3.c3", 0x0800000, 0x400000, CRC(1c0fde2f) SHA1(cf6c2ef56c03a861de3b0b6dc0d7c9204d947f9d) ) /* Plane 0,1 */ /* TC5332205 */
4307   ROM_LOAD16_BYTE( "069-c4.c4", 0x0800001, 0x400000, CRC(a25fc3d0) SHA1(83cb349e2f1032652060b233e741fb893be5af16) ) /* Plane 2,3 */ /* TC5332205 */
4308   ROM_LOAD16_BYTE( "095-c5.c5", 0x1000000, 0x400000, CRC(8b9b65df) SHA1(e2a7e20855501f240bcd22f5cc92fcb4a9806abe) ) /* Plane 0,1 */ /* TC5332202 */
4309   ROM_LOAD16_BYTE( "095-c6.c6", 0x1000001, 0x400000, CRC(3e164718) SHA1(53217f938c8964c1ca68a6fd5249c4169a5ac8e6) ) /* Plane 2,3 */ /* TC5332202 */
4310   ROM_LOAD16_BYTE( "095-c7.c7", 0x1800000, 0x200000, CRC(ca605e12) SHA1(5150b835247fd705bc1dece97d423d9c20a51416) ) /* Plane 0,1 */ /* TC5316200 */
4311   ROM_LOAD16_BYTE( "095-c8.c8", 0x1800001, 0x200000, CRC(4e6beb6c) SHA1(c0ac7cfc832ace6ad52c58f5da3a8101baead749) ) /* Plane 2,3 */ /* TC5316200 */
4312ROM_END
4313
4314/****************************************
4315 ID-0096
4316 . NGM-096
4317 NEO-MVS PROGBK1 / NEO-MVS CHA256
4318 . NGH-096
4319****************************************/
4320
4321ROM_START( aof3 )
4322   ROM_REGION( 0x300000, "maincpu", 0 )
4323   ROM_LOAD16_WORD_SWAP( "096-p1.p1",  0x000000, 0x100000, CRC(9edb420d) SHA1(150d80707325ece351c72c21c6186cfb5996adba) ) /* TC538200 */
4324   ROM_LOAD16_WORD_SWAP( "096-p2.sp2", 0x100000, 0x200000, CRC(4d5a2602) SHA1(4c26d6135d2877d9c38169662033e9d0cc24d943) ) /* TC5316200 */
4325
4326   NEO_SFIX_128K( "096-s1.s1", CRC(cc7fd344) SHA1(2c6846cf8ea61fb192ba181dbccb63594d572c0e) ) /* TC531000 */
4327
4328   NEO_BIOS_AUDIO_128K( "096-m1.m1", CRC(cb07b659) SHA1(940b379957c2987d7ab0443cb80c3ff58f6ba559) ) /* TC531001 */
4329
4330   ROM_REGION( 0x600000, "ymsnd", 0 )
4331   ROM_LOAD( "096-v1.v1", 0x000000, 0x200000, CRC(e2c32074) SHA1(69426e7e63fc31a73d1cd056cc9ae6a2c4499407) ) /* TC5316200 */
4332   ROM_LOAD( "096-v2.v2", 0x200000, 0x200000, CRC(a290eee7) SHA1(e66a98cd9740188bf999992b417f8feef941cede) ) /* TC5316200 */
4333   ROM_LOAD( "096-v3.v3", 0x400000, 0x200000, CRC(199d12ea) SHA1(a883bf34e685487705a8dafdd0b8db15eb360e80) ) /* TC5316200 */
4334
4335   NO_DELTAT_REGION
4336
4337   ROM_REGION( 0x1c00000, "sprites", 0 )
4338   ROM_LOAD16_BYTE( "096-c1.c1", 0x0000000, 0x400000, CRC(f17b8d89) SHA1(7180df23f7c7a964b0835fda76970b12f0aa9ea8) ) /* Plane 0,1 */ /* TC5332205 */
4339   ROM_LOAD16_BYTE( "096-c2.c2", 0x0000001, 0x400000, CRC(3840c508) SHA1(55adc7cd26fec3e4dbd779df6701bc6eaba41b84) ) /* Plane 2,3 */ /* TC5332205 */
4340   ROM_LOAD16_BYTE( "096-c3.c3", 0x0800000, 0x400000, CRC(55f9ee1e) SHA1(fbe1b7891beae66c5fcbc7e36168dc1b460ede91) ) /* Plane 0,1 */ /* TC5332205 */
4341   ROM_LOAD16_BYTE( "096-c4.c4", 0x0800001, 0x400000, CRC(585b7e47) SHA1(d50ea91397fc53d86470ff5b493a44d57c010306) ) /* Plane 2,3 */ /* TC5332205 */
4342   ROM_LOAD16_BYTE( "096-c5.c5", 0x1000000, 0x400000, CRC(c75a753c) SHA1(fc977f8710816a369a5d0d49ee84059380e93fb7) ) /* Plane 0,1 */ /* TC5332205 */
4343   ROM_LOAD16_BYTE( "096-c6.c6", 0x1000001, 0x400000, CRC(9a9d2f7a) SHA1(a89a713bfcd93974c9acb21ce699d365b08e7e39) ) /* Plane 2,3 */ /* TC5332205 */
4344   ROM_LOAD16_BYTE( "096-c7.c7", 0x1800000, 0x200000, CRC(51bd8ab2) SHA1(c8def9c64de64571492b5b7e14b794e3c18f1393) ) /* Plane 0,1 */ /* TC5316200 */
4345   ROM_LOAD16_BYTE( "096-c8.c8", 0x1800001, 0x200000, CRC(9a34f99c) SHA1(fca72d95ec42790a7f1e771a1e25dbc5bec5fc19) ) /* Plane 2,3 */ /* TC5316200 */
4346ROM_END
4347
4348ROM_START( aof3k ) /* KOREAN VERSION */
4349   ROM_REGION( 0x300000, "maincpu", 0 )
4350   ROM_LOAD16_WORD_SWAP( "196-p1k.p1", 0x000000, 0x100000, CRC(a0780789) SHA1(83657922a9a3502653ef8cda45b15d9f935aa96a) )
4351   ROM_LOAD16_WORD_SWAP( "096-p2.sp2", 0x100000, 0x200000, CRC(4d5a2602) SHA1(4c26d6135d2877d9c38169662033e9d0cc24d943) ) /* TC5316200 */
4352
4353   NEO_SFIX_128K( "096-s1.s1", CRC(cc7fd344) SHA1(2c6846cf8ea61fb192ba181dbccb63594d572c0e) ) /* TC531000 */
4354
4355   NEO_BIOS_AUDIO_128K( "096-m1.m1", CRC(cb07b659) SHA1(940b379957c2987d7ab0443cb80c3ff58f6ba559) ) /* TC531001 */
4356
4357   ROM_REGION( 0x600000, "ymsnd", 0 )
4358   ROM_LOAD( "096-v1.v1", 0x000000, 0x200000, CRC(e2c32074) SHA1(69426e7e63fc31a73d1cd056cc9ae6a2c4499407) ) /* TC5316200 */
4359   ROM_LOAD( "096-v2.v2", 0x200000, 0x200000, CRC(a290eee7) SHA1(e66a98cd9740188bf999992b417f8feef941cede) ) /* TC5316200 */
4360   ROM_LOAD( "096-v3.v3", 0x400000, 0x200000, CRC(199d12ea) SHA1(a883bf34e685487705a8dafdd0b8db15eb360e80) ) /* TC5316200 */
4361
4362   NO_DELTAT_REGION
4363
4364   ROM_REGION( 0x1c00000, "sprites", 0 )
4365   ROM_LOAD16_BYTE( "096-c1.c1", 0x0000000, 0x400000, CRC(f17b8d89) SHA1(7180df23f7c7a964b0835fda76970b12f0aa9ea8) ) /* Plane 0,1 */ /* TC5332205 */
4366   ROM_LOAD16_BYTE( "096-c2.c2", 0x0000001, 0x400000, CRC(3840c508) SHA1(55adc7cd26fec3e4dbd779df6701bc6eaba41b84) ) /* Plane 2,3 */ /* TC5332205 */
4367   ROM_LOAD16_BYTE( "096-c3.c3", 0x0800000, 0x400000, CRC(55f9ee1e) SHA1(fbe1b7891beae66c5fcbc7e36168dc1b460ede91) ) /* Plane 0,1 */ /* TC5332205 */
4368   ROM_LOAD16_BYTE( "096-c4.c4", 0x0800001, 0x400000, CRC(585b7e47) SHA1(d50ea91397fc53d86470ff5b493a44d57c010306) ) /* Plane 2,3 */ /* TC5332205 */
4369   ROM_LOAD16_BYTE( "096-c5.c5", 0x1000000, 0x400000, CRC(c75a753c) SHA1(fc977f8710816a369a5d0d49ee84059380e93fb7) ) /* Plane 0,1 */ /* TC5332205 */
4370   ROM_LOAD16_BYTE( "096-c6.c6", 0x1000001, 0x400000, CRC(9a9d2f7a) SHA1(a89a713bfcd93974c9acb21ce699d365b08e7e39) ) /* Plane 2,3 */ /* TC5332205 */
4371   ROM_LOAD16_BYTE( "096-c7.c7", 0x1800000, 0x200000, CRC(51bd8ab2) SHA1(c8def9c64de64571492b5b7e14b794e3c18f1393) ) /* Plane 0,1 */ /* TC5316200 */
4372   ROM_LOAD16_BYTE( "096-c8.c8", 0x1800001, 0x200000, CRC(9a34f99c) SHA1(fca72d95ec42790a7f1e771a1e25dbc5bec5fc19) ) /* Plane 2,3 */ /* TC5316200 */
4373ROM_END
4374
4375/****************************************
4376 ID-0097
4377 . NGM-097
4378 NEO-MVS PROGBK1 / NEO-MVS CHA256
4379 . NGH-097
4380****************************************/
4381
4382ROM_START( sonicwi3 )
4383   ROM_REGION( 0x200000, "maincpu", 0 )
4384   ROM_LOAD16_WORD_SWAP( "097-p1.p1", 0x100000, 0x100000, CRC(0547121d) SHA1(e0bb6c614f572b74ba9a9f0d3d5b69fbc91ebc52) ) /* TC5316200 */
4385   ROM_CONTINUE( 0x000000, 0x100000 )
4386
4387   NEO_SFIX_128K( "097-s1.s1", CRC(8dd66743) SHA1(39214bb25a1d5b44a8524010be05bf5a0211981f) ) /* TC531000 */
4388
4389   NEO_BIOS_AUDIO_128K( "097-m1.m1", CRC(b20e4291) SHA1(0e891ab53f9fded510295dfc7818bc59b4a9dd97) ) /* TC531001 */
4390
4391   ROM_REGION( 0x600000, "ymsnd", 0 )
4392   ROM_LOAD( "097-v1.v1", 0x000000, 0x400000, CRC(6f885152) SHA1(8175804d5c1420c5d37b733d4a8fa2aa81e59f1b) ) /* TC5332201 */
4393   ROM_LOAD( "097-v2.v2", 0x400000, 0x200000, CRC(3359e868) SHA1(b7efd9f1a6dab33271fe8356bcc863aeae1d3ed8) ) /* TC5316200 */
4394
4395   NO_DELTAT_REGION
4396
4397   ROM_REGION( 0xc00000, "sprites", 0 )
4398   ROM_LOAD16_BYTE( "097-c1.c1", 0x000000, 0x400000, CRC(33d0d589) SHA1(fe4aa95555e478ceb2d28fd27d83ee06cd09520c) ) /* Plane 0,1 */ /* TC5332202 */
4399   ROM_LOAD16_BYTE( "097-c2.c2", 0x000001, 0x400000, CRC(186f8b43) SHA1(f5cced93e21dc841b00ebeaa30786cb0e047bd9a) ) /* Plane 2,3 */ /* TC5332202 */
4400   ROM_LOAD16_BYTE( "097-c3.c3", 0x800000, 0x200000, CRC(c339fff5) SHA1(58dfd1e30dc0ad3f816a5dbd1cc7e7ccbb792c53) ) /* Plane 0,1 */ /* TC5316200 */
4401   ROM_LOAD16_BYTE( "097-c4.c4", 0x800001, 0x200000, CRC(84a40c6e) SHA1(061a13fba5fed883e5ee9566cedc208df2511bcf) ) /* Plane 2,3 */ /* TC5316200 */
4402ROM_END
4403
4404/****************************************
4405 ID-0098
4406 Idol Mahjong - final romance 2 (CD only? not confirmed, MVS might exist)
4407****************************************/
4408
4409/****************************************
4410 ID-0099
4411 Neo Pool Masters
4412****************************************/
4413
4414
4415/* ID range from 100 - 199 is used for Korean (some) and Neo Print carts */
4416
4417/*
4418    The following ID's are used by Korean releases:
4419
4420    ID-0122 - Pae Wang Jeon Seol / Legend of a Warrior (Korean censored Samurai Shodown IV)
4421    ID-0123 - Quiz Daisousa Sen - The Last Count Down (Korean release)
4422    ID-0124 - Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special (Korean release)
4423    ID-0134 - The Last Soldier (Korean release of The Last Blade)
4424    ID-0140 - Real Bout Fatal Fury 2 - The Newcomers (Korean release)
4425    ID-0152 - The King of Fighters '99 - Millennium Battle (Korean release)
4426    ID-0163 - Saulabi Spirits / Jin Saulabi Tu Hon (Korean release of Samurai Shodown II)
4427    ID-0187 - Fighters Swords (Korean release of Samurai Shodown III)
4428    ID-0196 - Art of Fighting 3 - The Path of the Warrior (Korean release)
4429*/
4430
4431
4432/****************************************
4433 ID-0200
4434 . NGM-200
4435 NEO-MVS PROGBK1 / NEO-MVS CHA256B
4436 . NGH-200
4437****************************************/
4438
4439ROM_START( turfmast )
4440   ROM_REGION( 0x200000, "maincpu", 0 )
4441   ROM_LOAD16_WORD_SWAP( "200-p1.p1", 0x100000, 0x100000, CRC(28c83048) SHA1(e7ef87e1de21d2bb17ef17bb08657e92363f0e9a) ) /* mask rom TC5316200 */
4442   ROM_CONTINUE( 0x000000, 0x100000)
4443
4444   NEO_SFIX_128K( "200-s1.s1", CRC(9a5402b2) SHA1(ae1a0b5450869d61b2bb23671c744d3dda8769c4) ) /* mask rom TC531000 */
4445
4446   NEO_BIOS_AUDIO_128K( "200-m1.m1", CRC(9994ac00) SHA1(7bded797f3b80fd00bcbe451ac0abe6646b19a14) ) /* mask rom TC531001 */
4447
4448   ROM_REGION( 0x800000, "ymsnd", 0 )
4449   ROM_LOAD( "200-v1.v1", 0x000000, 0x200000, CRC(00fd48d2) SHA1(ddfee09328632e598fd51537b3ae8593219b2111) ) /* mask rom TC5316200 */
4450   ROM_LOAD( "200-v2.v2", 0x200000, 0x200000, CRC(082acb31) SHA1(2f1c053040e9d50a6d45fd7bea1b96742bae694f) ) /* mask rom TC5316200 */
4451   ROM_LOAD( "200-v3.v3", 0x400000, 0x200000, CRC(7abca053) SHA1(e229bc0ea82a371d6ee8fd9fe442b0fd141d0a71) ) /* mask rom TC5316200 */
4452   ROM_LOAD( "200-v4.v4", 0x600000, 0x200000, CRC(6c7b4902) SHA1(d55e0f542d928a9a851133ff26763c8236cbbd4d) ) /* mask rom TC5316200 */
4453
4454   NO_DELTAT_REGION
4455
4456   ROM_REGION( 0x800000, "sprites", 0 )
4457   ROM_LOAD16_BYTE( "200-c1.c1", 0x000000, 0x400000, CRC(8e7bf41a) SHA1(148eb747f2f4d8e921eb0411c88a636022ceab80) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4458   ROM_LOAD16_BYTE( "200-c2.c2", 0x000001, 0x400000, CRC(5a65a8ce) SHA1(d6c7afe035411f3eacdf6868d36f91572dd593e0) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4459ROM_END
4460
4461/****************************************
4462 ID-0201
4463 . NGM-201
4464 NEO-MVS PROGBK1 / NEO-MVS CHA256
4465 . NGH-201
4466****************************************/
4467
4468ROM_START( mslug )
4469   ROM_REGION( 0x200000, "maincpu", 0 )
4470   ROM_LOAD16_WORD_SWAP( "201-p1.p1", 0x100000, 0x100000, CRC(08d8daa5) SHA1(b888993dbb7e9f0a28a01d7d2e1da00ef9cf6f38) ) /* TC5316200 */
4471   ROM_CONTINUE( 0x000000, 0x100000 )
4472
4473   NEO_SFIX_128K( "201-s1.s1", CRC(2f55958d) SHA1(550b53628daec9f1e1e11a398854092d90f9505a) ) /* TC531000 */
4474
4475   NEO_BIOS_AUDIO_128K( "201-m1.m1", CRC(c28b3253) SHA1(fd75bd15aed30266a8b3775f276f997af57d1c06) ) /* TC531001 */
4476
4477   ROM_REGION( 0x800000, "ymsnd", 0 )
4478   ROM_LOAD( "201-v1.v1", 0x000000, 0x400000, CRC(23d22ed1) SHA1(cd076928468ad6bcc5f19f88cb843ecb5e660681) ) /* TC5332204 */
4479   ROM_LOAD( "201-v2.v2", 0x400000, 0x400000, CRC(472cf9db) SHA1(5f79ea9286d22ed208128f9c31ca75552ce08b57) ) /* TC5332204 */
4480
4481   NO_DELTAT_REGION
4482
4483   ROM_REGION( 0x1000000, "sprites", 0 )
4484   ROM_LOAD16_BYTE( "201-c1.c1", 0x000000, 0x400000, CRC(72813676) SHA1(7b045d1a48980cb1a140699011cb1a3d4acdc4d1) ) /* Plane 0,1 */ /* TC5332205 */
4485   ROM_LOAD16_BYTE( "201-c2.c2", 0x000001, 0x400000, CRC(96f62574) SHA1(cb7254b885989223bba597b8ff0972dfa5957816) ) /* Plane 2,3 */ /* TC5332205 */
4486   ROM_LOAD16_BYTE( "201-c3.c3", 0x800000, 0x400000, CRC(5121456a) SHA1(0a7a27d603d1bb2520b5570ebf5b34a106e255a6) ) /* Plane 0,1 */ /* TC5332205 */
4487   ROM_LOAD16_BYTE( "201-c4.c4", 0x800001, 0x400000, CRC(f4ad59a3) SHA1(4e94fda8ee63abf0f92afe08060a488546e5c280) ) /* Plane 2,3 */ /* TC5332205 */
4488ROM_END
4489
4490/****************************************
4491 ID-0202
4492 . ??M-202
4493 NEO-MVS PROG 4096 / NEO-MVS CHA 42G-2
4494****************************************/
4495
4496ROM_START( puzzledp ) /* MVS ONLY RELEASE */
4497   ROM_REGION( 0x100000, "maincpu", 0 )
4498   ROM_LOAD16_WORD_SWAP( "202-p1.p1", 0x000000, 0x080000, CRC(2b61415b) SHA1(0e3e4faf2fd6e63407425e1ac788003e75aeeb4f) ) /* TC534200 */
4499
4500   NEO_SFIX_128K( "202-s1.s1", CRC(cd19264f) SHA1(531be2305cd56d332fb7a53ab924214ade34a9e8) ) /* TC531000 */
4501
4502   NEO_BIOS_AUDIO_128K( "202-m1.m1", CRC(9c0291ea) SHA1(3fa67c62acba79be6b3a98cc1601e45569fa11ae) ) /* TC531001 */
4503
4504   ROM_REGION( 0x080000, "ymsnd", 0 )
4505   ROM_LOAD( "202-v1.v1", 0x000000, 0x080000, CRC(debeb8fb) SHA1(49a3d3578c087f1a0050168571ef8d1b08c5dc05) ) /* TC534200 */
4506
4507   NO_DELTAT_REGION
4508
4509   ROM_REGION( 0x200000, "sprites", 0 )
4510   ROM_LOAD16_BYTE( "202-c1.c1", 0x000000, 0x100000, CRC(cc0095ef) SHA1(3d86f455e6db10a2449b775dc386f1826ba3b62e) ) /* Plane 0,1 */ /* TC538200 */
4511   ROM_LOAD16_BYTE( "202-c2.c2", 0x000001, 0x100000, CRC(42371307) SHA1(df794f989e2883634bf7ffeea48d6bc3854529af) ) /* Plane 2,3 */ /* TC538200 */
4512ROM_END
4513
4514/****************************************
4515 ID-0203
4516 . ADM-010
4517 NEO-MVS PROGTOP / NEO-MVS CHA42G-3B
4518 . ADH-010
4519****************************************/
4520
4521ROM_START( mosyougi )
4522   ROM_REGION( 0x100000, "maincpu", 0 )
4523   ROM_LOAD16_WORD_SWAP( "203-p1.p1", 0x000000, 0x100000, CRC(7ba70e2d) SHA1(945f472cc3e7706f613c52df18de35c986d166e7) ) /* TC538200 */
4524
4525   NEO_SFIX_128K( "203-s1.s1", CRC(bfdc8309) SHA1(781337eab932a130b396a6c1080611d6f9c24c6e) ) /* TC531000 */
4526
4527   NEO_BIOS_AUDIO_128K( "203-m1.m1", CRC(a602c2c2) SHA1(19fd5d0379244c528b58343f6cbf78b4766fb23d) ) /* TC531001 */
4528
4529   ROM_REGION( 0x200000, "ymsnd", 0 )
4530   ROM_LOAD( "203-v1.v1", 0x000000, 0x200000, CRC(baa2b9a5) SHA1(914782b6c81d9a76ce02251575592b0648434ba3) ) /* TC5316200 */
4531
4532   NO_DELTAT_REGION
4533
4534   ROM_REGION( 0x400000, "sprites", 0 )
4535   ROM_LOAD16_BYTE( "203-c1.c1", 0x000000, 0x200000, CRC(bba9e8c0) SHA1(db89b7275a59ae6104a8308025c7e142a67b947b) ) /* Plane 0,1 */ /* TC5316200 */
4536   ROM_LOAD16_BYTE( "203-c2.c2", 0x000001, 0x200000, CRC(2574be03) SHA1(198cfd697c623022919ae4118928a7fe30cd6c46) ) /* Plane 2,3 */ /* TC5316200 */
4537ROM_END
4538
4539/****************************************
4540 ID-0204
4541 QP (prototype)
4542****************************************/
4543
4544/****************************************
4545 ID-0205
4546 Neo-Geo CD Special (CD only)
4547****************************************/
4548
4549/****************************************
4550 ID-0206
4551 . ??M-206
4552 NEO-MVS PROGBK1 / NEO-MVS CHA256
4553 . ??H-206
4554****************************************/
4555
4556ROM_START( marukodq )
4557   ROM_REGION( 0x100000, "maincpu", 0 )
4558   ROM_LOAD16_WORD_SWAP( "206-p1.p1", 0x000000, 0x100000, CRC(c33ed21e) SHA1(bffff0d17e587e67672227e60c0ebd3f3a7193e6) ) /* mask rom TC538200 */
4559
4560   NEO_SFIX_128K( "206-s1.s1", CRC(f0b68780) SHA1(3f60950b14d121a5af3e6a8155ae9832ddc6ec46) ) /* mask rom TC531000 */
4561
4562   NEO_BIOS_AUDIO_128K( "206-m1.m1", CRC(0e22902e) SHA1(fb8466c342d4abd8bb4cad01c6ceab03f96cdad8) ) /* mask rom TC531001 */
4563
4564   ROM_REGION( 0x400000, "ymsnd", 0 )
4565   ROM_LOAD( "206-v1.v1", 0x000000, 0x200000, CRC(5385eca8) SHA1(1ca171ce74a5885ae8841d0924de21dc0af2214e) ) /* mask rom TC5316200 */
4566   ROM_LOAD( "206-v2.v2", 0x200000, 0x200000, CRC(f8c55404) SHA1(cecc41e9e08a7ff05b6f62e713fc86a816bf55a2) ) /* mask rom TC5316200 */
4567
4568   NO_DELTAT_REGION
4569
4570   ROM_REGION( 0xa00000, "sprites", 0 )
4571   ROM_LOAD16_BYTE( "206-c1.c1", 0x000000, 0x400000, CRC(846e4e8e) SHA1(ba9b96340aca7fadaff0e6d484391ddb5c5e7bd4) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4572   ROM_LOAD16_BYTE( "206-c2.c2", 0x000001, 0x400000, CRC(1cba876d) SHA1(3254ceb5a2f76c172930d9889d5d81e093e87628) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4573   ROM_LOAD16_BYTE( "206-c3.c3", 0x800000, 0x100000, CRC(79aa2b48) SHA1(31f94217cd35f48845c74a55256314c16fd26ed7) ) /* Plane 0,1 */ /* mask rom TC538200 */
4574   ROM_LOAD16_BYTE( "206-c4.c4", 0x800001, 0x100000, CRC(55e1314d) SHA1(fffbc9eb9000ff5b1063af1817de7ea4a267fedd) ) /* Plane 2,3 */ /* mask rom TC538200 */
4575ROM_END
4576
4577/****************************************
4578 ID-0207
4579 . ??M-207
4580 NEO-MVS PROGBK1 / NEO-MVS CHA42G-3B
4581****************************************/
4582
4583ROM_START( neomrdo ) /* MVS ONLY RELEASE */
4584   ROM_REGION( 0x100000, "maincpu", 0 )
4585   ROM_LOAD16_WORD_SWAP( "207-p1.p1", 0x000000, 0x100000, CRC(334ea51e) SHA1(0a642f8565ec6e9587ed767bcf177f4677547162) ) /* TC538200 */
4586
4587   NEO_SFIX_128K( "207-s1.s1", CRC(6aebafce) SHA1(5db03715fbed62f2ff3cef7f93606f30261c0362) ) /* TC531000 */
4588
4589   NEO_BIOS_AUDIO_128K( "207-m1.m1", CRC(b5b74a95) SHA1(7b01f3b87c247cc7472591f8cdcf0ae8065e31c6) ) /* TC531001 */
4590
4591   ROM_REGION( 0x200000, "ymsnd", 0 )
4592   ROM_LOAD( "207-v1.v1", 0x000000, 0x200000, CRC(4143c052) SHA1(561b19bc8811b80f2f42ffc0b5df27132696470a) ) /* TC5316200 */
4593
4594   NO_DELTAT_REGION
4595
4596   ROM_REGION( 0x400000, "sprites", 0 )
4597   ROM_LOAD16_BYTE( "207-c1.c1", 0x000000, 0x200000, CRC(c7541b9d) SHA1(25ca1a2b14cc2648d8dbe432cbd1396017af822c) ) /* Plane 0,1 */ /* TC5316200 */
4598   ROM_LOAD16_BYTE( "207-c2.c2", 0x000001, 0x200000, CRC(f57166d2) SHA1(bf3aa47d17156485c2177fb63cba093f050abb98) ) /* Plane 2,3 */ /* TC5316200 */
4599ROM_END
4600
4601/****************************************
4602 ID-0208
4603 . ??M-208
4604 NEO-MVS PROGBK1 / NEO-MVS CHA256B
4605****************************************/
4606
4607ROM_START( sdodgeb ) /* MVS ONLY RELEASE */
4608   ROM_REGION( 0x200000, "maincpu", 0 )
4609   ROM_LOAD16_WORD_SWAP( "208-p1.p1", 0x100000, 0x100000, CRC(127f3d32) SHA1(18e77b79b1197a89371533ef9b1e4d682c44d875) ) /* TC5316200 */
4610   ROM_CONTINUE( 0x000000, 0x100000 )
4611
4612   NEO_SFIX_128K( "208-s1.s1", CRC(64abd6b3) SHA1(0315d724e4d83a44ce84c531ff9b8c398363c039) ) /* TC531000 */
4613
4614   NEO_BIOS_AUDIO_128K( "208-m1.m1", CRC(0a5f3325) SHA1(04e0236df478a5452654c823dcb42fea65b6a718) ) /* TC531001 */
4615
4616   ROM_REGION( 0x400000, "ymsnd", 0 )
4617   ROM_LOAD( "208-v1.v1", 0x000000, 0x400000, CRC(e7899a24) SHA1(3e75b449898fee73fbacf58d70e3a460b9e0c573) ) /* TC5332204 */
4618
4619   NO_DELTAT_REGION
4620
4621   ROM_REGION( 0x0c00000, "sprites", 0 )
4622   ROM_LOAD16_BYTE( "208-c1.c1", 0x0000000, 0x400000, CRC(93d8619b) SHA1(6588cb67e38722d5843fb29943d92e3905101aff) ) /* Plane 0,1 */ /* TC5332205 */
4623   ROM_LOAD16_BYTE( "208-c2.c2", 0x0000001, 0x400000, CRC(1c737bb6) SHA1(8e341989981a713e61dfed8bde9a6459583ef46d) ) /* Plane 2,3 */ /* TC5332205 */
4624   ROM_LOAD16_BYTE( "208-c3.c3", 0x0800000, 0x200000, CRC(14cb1703) SHA1(a46acec03c1b2351fe36810628f02b7c848d13db) ) /* Plane 0,1 */ /* TC5316200 */
4625   ROM_LOAD16_BYTE( "208-c4.c4", 0x0800001, 0x200000, CRC(c7165f19) SHA1(221f03de893dca0e5305fa17aa94f96c67713818) ) /* Plane 2,3 */ /* TC5316200 */
4626ROM_END
4627
4628/****************************************
4629 ID-0209
4630 . ??M-209
4631 NEO-MVS PROGBK1 / NEO-MVS CHA256
4632****************************************/
4633
4634ROM_START( goalx3 ) /* MVS ONLY RELEASE */
4635   ROM_REGION( 0x200000, "maincpu", 0 )
4636   ROM_LOAD16_WORD_SWAP( "209-p1.p1", 0x100000, 0x100000, CRC(2a019a79) SHA1(422a639e74284fef2e53e1b49cf8803b0a7e80c6) ) /* mask rom TC5316200 */
4637   ROM_CONTINUE( 0x000000, 0x100000 )
4638
4639   NEO_SFIX_128K( "209-s1.s1", CRC(c0eaad86) SHA1(99412093c9707d51817893971e73fb8469cdc9d0) ) /* mask rom TC531000 */
4640
4641   NEO_BIOS_AUDIO_128K( "209-m1.m1", CRC(cd758325) SHA1(b51eac634fc646c07210dff993018ad9ebabd3f9) ) /* mask rom TC531001 */
4642
4643   ROM_REGION( 0x200000, "ymsnd", 0 )
4644   ROM_LOAD( "209-v1.v1", 0x000000, 0x200000, CRC(ef214212) SHA1(3e05ccaa2d06decb18b379b96f900c0e6b39ce70) ) /* mask rom TC5316200 */
4645
4646   NO_DELTAT_REGION
4647
4648   ROM_REGION( 0xa00000, "sprites", 0 )
4649   ROM_LOAD16_BYTE( "209-c1.c1", 0x000000, 0x400000, CRC(b49d980e) SHA1(722d10074f16fa7f14c71270f43fdab427b85e2b) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4650   ROM_LOAD16_BYTE( "209-c2.c2", 0x000001, 0x400000, CRC(5649b015) SHA1(9c9674f3841e6becd3b8e63bae9b9df45ac9f11e) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4651   ROM_LOAD16_BYTE( "209-c3.c3", 0x800000, 0x100000, CRC(5f91bace) SHA1(3864be27dce6d8f8828d3bf09bfc8116116a2b56) ) /* Plane 0,1 */ /* mask rom TC538200 */
4652   ROM_LOAD16_BYTE( "209-c4.c4", 0x800001, 0x100000, CRC(1e9f76f2) SHA1(b57fdc226bfe328b8848127fb4292295f1287bf6) ) /* Plane 2,3 */ /* mask rom TC538200 */
4653ROM_END
4654
4655/****************************************
4656 ID-0210
4657 Karate Ninja Sho (prototype) 1995 Yumekobo
4658****************************************/
4659
4660/****************************************
4661 ID-0211
4662 Oshidashi Zintrick (CD only? not confirmed, MVS might exist) 1996 SNK/ADK
4663****************************************/
4664
4665/****************************************
4666 ID-0212
4667 . ADM-011
4668 NEO-MVS PROGBK1 / NEO-MVS CHA256
4669 . ADH-011
4670****************************************/
4671
4672ROM_START( overtop )
4673   ROM_REGION( 0x200000, "maincpu", 0 )
4674   ROM_LOAD16_WORD_SWAP( "212-p1.p1", 0x100000, 0x100000, CRC(16c063a9) SHA1(5432869f830eed816ee5ed71c7fd39f749d15619) ) /* mask rom TC5316200 */
4675   ROM_CONTINUE( 0x000000, 0x100000 )
4676
4677   NEO_SFIX_128K( "212-s1.s1", CRC(481d3ddc) SHA1(7b0df3fc5b19f282abfd0eb5a4c6ed836a536ece) ) /* mask rom TC531000 */
4678
4679   NEO_BIOS_AUDIO_128K( "212-m1.m1", CRC(fcab6191) SHA1(488b8310b0957f0012fe50f73641b606f6ac4a57) ) /* mask rom TC531001 */
4680
4681   ROM_REGION( 0x400000, "ymsnd", 0 )
4682   ROM_LOAD( "212-v1.v1", 0x000000, 0x400000, CRC(013d4ef9) SHA1(438a697c44525bdf78b54432c4f7217ab5667047) ) /* mask rom TC5332204 */
4683
4684   NO_DELTAT_REGION
4685
4686   ROM_REGION( 0x1400000, "sprites", 0 )
4687   ROM_LOAD16_BYTE( "212-c1.c1", 0x0000000, 0x400000, CRC(50f43087) SHA1(e5a8c914ef8e77c7a29bffdeb18f1877b5c2fc7d) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4688   ROM_LOAD16_BYTE( "212-c2.c2", 0x0000001, 0x400000, CRC(a5b39807) SHA1(e98e82cf99576cb48cc5e8dc655b7e9a428c2843) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4689   ROM_LOAD16_BYTE( "212-c3.c3", 0x0800000, 0x400000, CRC(9252ea02) SHA1(269066e0f893d3e8e7c308528026a486c2b023a2) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4690   ROM_LOAD16_BYTE( "212-c4.c4", 0x0800001, 0x400000, CRC(5f41a699) SHA1(abbb162658e06a37db8475b659ece7e1270ebb49) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4691   ROM_LOAD16_BYTE( "212-c5.c5", 0x1000000, 0x200000, CRC(fc858bef) SHA1(0031def13e7cf4a465a1eca7aa0d13d1b21427e2) ) /* Plane 0,1 */ /* mask rom TC5316200 */
4692   ROM_LOAD16_BYTE( "212-c6.c6", 0x1000001, 0x200000, CRC(0589c15e) SHA1(b1167caf7cb61f3e05a5d342290bfe00e02e9d38) ) /* Plane 2,3 */ /* mask rom TC5316200 */
4693ROM_END
4694
4695/****************************************
4696 ID-0213
4697 . ??M-213
4698 NEO-MVS PROGBK1 / NEO-MVS CHA256B
4699****************************************/
4700
4701ROM_START( neodrift ) /* MVS ONLY RELEASE */
4702   ROM_REGION( 0x200000, "maincpu", 0 )
4703   ROM_LOAD16_WORD_SWAP( "213-p1.p1", 0x100000, 0x100000, CRC(e397d798) SHA1(10f459111db4bab7aaa63ca47e83304a84300812) ) /* mask rom TC5316200 */
4704   ROM_CONTINUE( 0x000000, 0x100000)
4705
4706   NEO_SFIX_128K( "213-s1.s1", CRC(b76b61bc) SHA1(5fdb407d16ab9e33c4f26ee09ff70891ae1d2bd0) ) /* mask rom TC531000 */
4707
4708   NEO_BIOS_AUDIO_128K( "213-m1.m1", CRC(200045f1) SHA1(7a6cd1c8d4447ea260d7ff4520c676b8d685f2e4) ) /* mask rom TC531001*/
4709
4710   ROM_REGION( 0x400000, "ymsnd", 0 )
4711   ROM_LOAD( "213-v1.v1", 0x000000, 0x200000, CRC(a421c076) SHA1(129f05c1a28a6493442f47a79c2d3577a1a43ef5) ) /* mask rom TC5316200 */
4712   ROM_LOAD( "213-v2.v2", 0x200000, 0x200000, CRC(233c7dd9) SHA1(be7f980aa83831b6605aaaf4ec904180bb96c935) ) /* mask rom TC5316200 */
4713
4714   NO_DELTAT_REGION
4715
4716   ROM_REGION( 0x800000, "sprites", 0 )
4717   ROM_LOAD16_BYTE( "213-c1.c1", 0x000000, 0x400000, CRC(3edc8bd3) SHA1(71dcba9afd3b08ebfa13294644dcb365c2740780) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4718   ROM_LOAD16_BYTE( "213-c2.c2", 0x000001, 0x400000, CRC(46ae5f16) SHA1(a01310632734e776e889af6a531063cb1661c33a) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4719ROM_END
4720
4721/****************************************
4722 ID-0214
4723 . NGM-214
4724 NEO-MVS PROGBK1 / NEO-MVS CHA256
4725 . NGH-214
4726****************************************/
4727
4728ROM_START( kof96 ) /* MVS VERSION */
4729   ROM_REGION( 0x300000, "maincpu", 0 )
4730   ROM_LOAD16_WORD_SWAP( "214-p1.p1",  0x000000, 0x100000, CRC(52755d74) SHA1(4232d627f1d2e6ea9fc8cf01571d77d4d5b8a1bb) ) /* TC538200 */
4731   ROM_LOAD16_WORD_SWAP( "214-p2.sp2", 0x100000, 0x200000, CRC(002ccb73) SHA1(3ae8df682c75027ca82db25491021eeba00a267e) ) /* TC5316200 */
4732
4733   NEO_SFIX_128K( "214-s1.s1", CRC(1254cbdb) SHA1(fce5cf42588298711a3633e9c9c1d4dcb723ac76) ) /* TC531000 */
4734
4735   NEO_BIOS_AUDIO_128K( "214-m1.m1", CRC(dabc427c) SHA1(b76722ed142ee7addceb4757424870dbd003e8b3) ) /* TC531001 */
4736
4737   ROM_REGION( 0xa00000, "ymsnd", 0 )
4738   ROM_LOAD( "214-v1.v1", 0x000000, 0x400000, CRC(63f7b045) SHA1(1353715f1a8476dca6f8031d9e7a401eacab8159) ) /* TC5332204 */
4739   ROM_LOAD( "214-v2.v2", 0x400000, 0x400000, CRC(25929059) SHA1(6a721c4cb8f8dc772774023877d4a9f50d5a9e31) ) /* TC5332204 */
4740   ROM_LOAD( "214-v3.v3", 0x800000, 0x200000, CRC(92a2257d) SHA1(5064aec78fa0d104e5dd5869b95382aa170214ee) ) /* TC5316200 */
4741
4742   NO_DELTAT_REGION
4743
4744   ROM_REGION( 0x2000000, "sprites", 0 )
4745   ROM_LOAD16_BYTE( "214-c1.c1", 0x0000000, 0x400000, CRC(7ecf4aa2) SHA1(f773c4c1f05d58dd37e7bb2ac1d1e0ec43998a71) ) /* Plane 0,1 */ /* TC5332205 */
4746   ROM_LOAD16_BYTE( "214-c2.c2", 0x0000001, 0x400000, CRC(05b54f37) SHA1(cc31653fe4cb05201fba234e080cb9c7a7592b1b) ) /* Plane 2,3 */ /* TC5332205 */
4747   ROM_LOAD16_BYTE( "214-c3.c3", 0x0800000, 0x400000, CRC(64989a65) SHA1(e6f3749d43be0afa9dad7b085cb782ba694252ca) ) /* Plane 0,1 */ /* TC5332205 */
4748   ROM_LOAD16_BYTE( "214-c4.c4", 0x0800001, 0x400000, CRC(afbea515) SHA1(ae875052728de33174827705646bd14cf3937b5c) ) /* Plane 2,3 */ /* TC5332205 */
4749   ROM_LOAD16_BYTE( "214-c5.c5", 0x1000000, 0x400000, CRC(2a3bbd26) SHA1(7c1a7e50a10a1b082e0d0d515c34135ee9f995ac) ) /* Plane 0,1 */ /* TC5332205 */
4750   ROM_LOAD16_BYTE( "214-c6.c6", 0x1000001, 0x400000, CRC(44d30dc7) SHA1(c8ae001e37224b55d9e4a4d99f6578b4f6eb055f) ) /* Plane 2,3 */ /* TC5332205 */
4751   ROM_LOAD16_BYTE( "214-c7.c7", 0x1800000, 0x400000, CRC(3687331b) SHA1(2be95caab76d7af51674f93884330ba73a6053e4) ) /* Plane 0,1 */ /* TC5332205 */
4752   ROM_LOAD16_BYTE( "214-c8.c8", 0x1800001, 0x400000, CRC(fa1461ad) SHA1(6c71a7f08e4044214223a6bf80984582ab5e0328) ) /* Plane 2,3 */ /* TC5332205 */
4753ROM_END
4754
4755ROM_START( kof96h )
4756   ROM_REGION( 0x300000, "maincpu", 0 )
4757   ROM_LOAD16_WORD_SWAP( "214-pg1.p1", 0x000000, 0x100000, CRC(bd3757c9) SHA1(35392a044117e46c088ff0fdd07d69a3faa4f96e) )
4758   ROM_LOAD16_WORD_SWAP( "214-p2.sp2", 0x100000, 0x200000, CRC(002ccb73) SHA1(3ae8df682c75027ca82db25491021eeba00a267e) ) /* TC5316200 */
4759
4760   NEO_SFIX_128K( "214-s1.s1", CRC(1254cbdb) SHA1(fce5cf42588298711a3633e9c9c1d4dcb723ac76) ) /* TC531000 */
4761
4762   NEO_BIOS_AUDIO_128K( "214-m1.m1", CRC(dabc427c) SHA1(b76722ed142ee7addceb4757424870dbd003e8b3) ) /* TC531001 */
4763
4764   ROM_REGION( 0xa00000, "ymsnd", 0 )
4765   ROM_LOAD( "214-v1.v1", 0x000000, 0x400000, CRC(63f7b045) SHA1(1353715f1a8476dca6f8031d9e7a401eacab8159) ) /* TC5332204 */
4766   ROM_LOAD( "214-v2.v2", 0x400000, 0x400000, CRC(25929059) SHA1(6a721c4cb8f8dc772774023877d4a9f50d5a9e31) ) /* TC5332204 */
4767   ROM_LOAD( "214-v3.v3", 0x800000, 0x200000, CRC(92a2257d) SHA1(5064aec78fa0d104e5dd5869b95382aa170214ee) ) /* TC5316200 */
4768
4769   NO_DELTAT_REGION
4770
4771   ROM_REGION( 0x2000000, "sprites", 0 )
4772   ROM_LOAD16_BYTE( "214-c1.c1", 0x0000000, 0x400000, CRC(7ecf4aa2) SHA1(f773c4c1f05d58dd37e7bb2ac1d1e0ec43998a71) ) /* Plane 0,1 */ /* TC5332205 */
4773   ROM_LOAD16_BYTE( "214-c2.c2", 0x0000001, 0x400000, CRC(05b54f37) SHA1(cc31653fe4cb05201fba234e080cb9c7a7592b1b) ) /* Plane 2,3 */ /* TC5332205 */
4774   ROM_LOAD16_BYTE( "214-c3.c3", 0x0800000, 0x400000, CRC(64989a65) SHA1(e6f3749d43be0afa9dad7b085cb782ba694252ca) ) /* Plane 0,1 */ /* TC5332205 */
4775   ROM_LOAD16_BYTE( "214-c4.c4", 0x0800001, 0x400000, CRC(afbea515) SHA1(ae875052728de33174827705646bd14cf3937b5c) ) /* Plane 2,3 */ /* TC5332205 */
4776   ROM_LOAD16_BYTE( "214-c5.c5", 0x1000000, 0x400000, CRC(2a3bbd26) SHA1(7c1a7e50a10a1b082e0d0d515c34135ee9f995ac) ) /* Plane 0,1 */ /* TC5332205 */
4777   ROM_LOAD16_BYTE( "214-c6.c6", 0x1000001, 0x400000, CRC(44d30dc7) SHA1(c8ae001e37224b55d9e4a4d99f6578b4f6eb055f) ) /* Plane 2,3 */ /* TC5332205 */
4778   ROM_LOAD16_BYTE( "214-c7.c7", 0x1800000, 0x400000, CRC(3687331b) SHA1(2be95caab76d7af51674f93884330ba73a6053e4) ) /* Plane 0,1 */ /* TC5332205 */
4779   ROM_LOAD16_BYTE( "214-c8.c8", 0x1800001, 0x400000, CRC(fa1461ad) SHA1(6c71a7f08e4044214223a6bf80984582ab5e0328) ) /* Plane 2,3 */ /* TC5332205 */
4780ROM_END
4781
4782/****************************************
4783 ID-0215
4784 . NGM-215
4785 NEO-MVS PROGBK1 / NEO-MVS CHA256
4786 . NGH-215
4787****************************************/
4788
4789ROM_START( ssideki4 )
4790   ROM_REGION( 0x200000, "maincpu", 0 )
4791   ROM_LOAD16_WORD_SWAP( "215-p1.p1", 0x100000, 0x100000, CRC(519b4ba3) SHA1(5aa59514b23aa663f2c4014ee94a31e9f59151de) ) /* TC5316200 */
4792   ROM_CONTINUE( 0x000000, 0x100000 )
4793
4794   NEO_SFIX_128K( "215-s1.s1", CRC(f0fe5c36) SHA1(b7badd6d2ac3788ce5cace1fcf5cdad14734e4e6) ) /* TC531000 */
4795
4796   NEO_BIOS_AUDIO_128K( "215-m1.m1", CRC(a932081d) SHA1(376a45e19edb780ac8798c41ae2260c8a8a4bba8) ) /* TC531001 */
4797
4798   ROM_REGION( 0x600000, "ymsnd", 0 )
4799   ROM_LOAD( "215-v1.v1", 0x000000, 0x400000, CRC(877d1409) SHA1(77c58ebffe677ea6369c964ec7975b11df512fa1) ) /* TC5332204 */
4800   ROM_LOAD( "215-v2.v2", 0x400000, 0x200000, CRC(1bfa218b) SHA1(344836a578bde3c0ab59b58c8734f868e7403c26) ) /* TC5316200 */
4801
4802   NO_DELTAT_REGION
4803
4804   ROM_REGION( 0x1400000, "sprites", 0 )
4805   ROM_LOAD16_BYTE( "215-c1.c1", 0x0000000, 0x400000, CRC(8ff444f5) SHA1(e2dc52d09512cb378df96ddf45435f9bcbbe9947) ) /* Plane 0,1 */ /* TC5332205 */
4806   ROM_LOAD16_BYTE( "215-c2.c2", 0x0000001, 0x400000, CRC(5b155037) SHA1(68900c0fdcd35c9f38e0effdf27e1dbd3c53daf8) ) /* Plane 2,3 */ /* TC5332205 */
4807   ROM_LOAD16_BYTE( "215-c3.c3", 0x0800000, 0x400000, CRC(456a073a) SHA1(3488013f371012eab4e788e1525c81260e0b7080) ) /* Plane 0,1 */ /* TC5332205 */
4808   ROM_LOAD16_BYTE( "215-c4.c4", 0x0800001, 0x400000, CRC(43c182e1) SHA1(343f034c65ca498b437e22e06a866a5daf3b9602) ) /* Plane 2,3 */ /* TC5332205 */
4809   ROM_LOAD16_BYTE( "215-c5.c5", 0x1000000, 0x200000, CRC(0c6f97ec) SHA1(b8d297f0ba2b04404eb0f7c6673ecc206fadae0c) ) /* Plane 0,1 */ /* TC5316200 */
4810   ROM_LOAD16_BYTE( "215-c6.c6", 0x1000001, 0x200000, CRC(329c5e1b) SHA1(015c36b8d3efab9b4647f110ecb5c118a9c80f43) ) /* Plane 2,3 */ /* TC5316200 */
4811ROM_END
4812
4813/****************************************
4814 ID-0216
4815 . ??M-216
4816 NEO-MVS PROGTOP / NEO-MVS CHA256
4817 . ??H-216
4818****************************************/
4819
4820ROM_START( kizuna )
4821   ROM_REGION( 0x200000, "maincpu", 0 )
4822   ROM_LOAD16_WORD_SWAP( "216-p1.p1", 0x100000, 0x100000, CRC(75d2b3de) SHA1(ee778656c26828935ee2a2bfd0ce5a22aa681c10) ) /* mask rom TC5316200 */
4823   ROM_CONTINUE( 0x000000, 0x100000 )
4824
4825   NEO_SFIX_128K( "216-s1.s1", CRC(efdc72d7) SHA1(be37cbf1852e2e4c907cc799b754b538544b6703) ) /* mask rom TC531000 */
4826
4827   NEO_BIOS_AUDIO_128K( "216-m1.m1", CRC(1b096820) SHA1(72852e78c620038f8dafde5e54e02e418c31be9c) ) /* mask rom TC531001 */
4828
4829   ROM_REGION( 0x800000, "ymsnd", 0 )
4830   ROM_LOAD( "059-v1.v1", 0x000000, 0x200000, CRC(530c50fd) SHA1(29401cee7f7d2c199c7cb58092e86b28205e81ad) ) /* TC5316200 */
4831   ROM_LOAD( "216-v2.v2", 0x200000, 0x200000, CRC(03667a8d) SHA1(3b0475e553a49f8788f32b0c84f82645cc6b4273) ) /* mask rom TC5316200 */
4832   ROM_LOAD( "059-v3.v3", 0x400000, 0x200000, CRC(7038c2f9) SHA1(c1d6f86b24feba03fe009b58199d2eeabe572f4e) ) /* TC5316200 */
4833   ROM_LOAD( "216-v4.v4", 0x600000, 0x200000, CRC(31b99bd6) SHA1(5871751f8e9e6b98337472c22b5e1c7ede0a9311) ) /* mask rom TC5316200 */
4834
4835   NO_DELTAT_REGION
4836
4837   ROM_REGION( 0x1c00000, "sprites", 0 )
4838   ROM_LOAD16_BYTE( "059-c1.c1", 0x0000000, 0x200000, CRC(763ba611) SHA1(d3262e0332c894ee149c5963f882cc5e5562ee57) ) /* Plane 0,1 */ /* TC5316200 */
4839   ROM_LOAD16_BYTE( "059-c2.c2", 0x0000001, 0x200000, CRC(e05e8ca6) SHA1(986a9b16ff92bc101ab567d2d01348e093abea9a) ) /* Plane 2,3 */ /* TC5316200 */
4840   /* 400000-7fffff empty */
4841   ROM_LOAD16_BYTE( "216-c3.c3", 0x0800000, 0x400000, CRC(665c9f16) SHA1(7ec781a49a462f395b450460b29493f55134eac2) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4842   ROM_LOAD16_BYTE( "216-c4.c4", 0x0800001, 0x400000, CRC(7f5d03db) SHA1(365ed266c121f4df0bb76898955a8ae0e668a216) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4843   ROM_LOAD16_BYTE( "059-c5.c5", 0x1000000, 0x200000, CRC(59013f9e) SHA1(5bf48fcc450da72a8c4685f6e3887e67eae49988) ) /* Plane 0,1 */ /* TC5316200 */
4844   ROM_LOAD16_BYTE( "059-c6.c6", 0x1000001, 0x200000, CRC(1c8d5def) SHA1(475d89a5c4922a9f6bd756d23c2624d57b6e9d62) ) /* Plane 2,3 */ /* TC5316200 */
4845   /* 1400000-17fffff empty */
4846   ROM_LOAD16_BYTE( "059-c7.c7", 0x1800000, 0x200000, CRC(c88f7035) SHA1(c29a428b741f4fe7b71a3bc23c87925b6bc1ca8f) ) /* Plane 0,1 */ /* TC538200 */
4847   ROM_LOAD16_BYTE( "059-c8.c8", 0x1800001, 0x200000, CRC(484ce3ba) SHA1(4f21ed20ce6e2b67e2b079404599310c94f591ff) ) /* Plane 2,3 */ /* TC538200 */
4848ROM_END
4849
4850/****************************************
4851 ID-0217
4852 . ADM-012
4853 NEO-MVS PROGBK1 / NEO-MVS CHA256
4854 . ADH-012
4855****************************************/
4856
4857ROM_START( ninjamas )
4858   ROM_REGION( 0x300000, "maincpu", 0 )
4859   ROM_LOAD16_WORD_SWAP( "217-p1.p1",  0x000000, 0x100000, CRC(3e97ed69) SHA1(336bcae375a5109945d11356503bf0d9f4a9a50a) ) /* TC538200 */
4860   ROM_LOAD16_WORD_SWAP( "217-p2.sp2", 0x100000, 0x200000, CRC(191fca88) SHA1(e318e5931704779bbe461719a5eeeba89bd83a5d) ) /* TC5316200 */
4861
4862   NEO_SFIX_128K( "217-s1.s1", CRC(8ff782f0) SHA1(90099c154357042ba658d4ef6abe4d9335bb7172) ) /* TC531000 */
4863
4864   NEO_BIOS_AUDIO_128K( "217-m1.m1", CRC(d00fb2af) SHA1(6bcaa52e1641cc24288e1f22f4dc98e8d8921b90) ) /* TC531001 */
4865
4866   ROM_REGION( 0x600000, "ymsnd", 0 )
4867   ROM_LOAD( "217-v1.v1", 0x000000, 0x400000, CRC(1c34e013) SHA1(5368e413d2188c4fd063b6bb7d5f498ff83ea812) ) /* TC5332204 */
4868   ROM_LOAD( "217-v2.v2", 0x400000, 0x200000, CRC(22f1c681) SHA1(09da03b2e63d180e55173ff25e8735c4162f027b) ) /* TC5316200 */
4869
4870   NO_DELTAT_REGION
4871
4872   ROM_REGION( 0x2000000, "sprites", 0 )
4873   ROM_LOAD16_BYTE( "217-c1.c1", 0x0000000, 0x400000, CRC(5fe97bc4) SHA1(d76c955d83baa2b9fd24222a9b2852947b7b92f0) ) /* Plane 0,1 */ /* TC5332205 */
4874   ROM_LOAD16_BYTE( "217-c2.c2", 0x0000001, 0x400000, CRC(886e0d66) SHA1(d407e1525e4ebe996e14f6e5c0396a10f736a50d) ) /* Plane 2,3 */ /* TC5332205 */
4875   ROM_LOAD16_BYTE( "217-c3.c3", 0x0800000, 0x400000, CRC(59e8525f) SHA1(19f602c71545d6c021dc72e112d3a8b8efe7a9b7) ) /* Plane 0,1 */ /* TC5332205 */
4876   ROM_LOAD16_BYTE( "217-c4.c4", 0x0800001, 0x400000, CRC(8521add2) SHA1(0d1a6f2979302c4c282e31ff334d2d887aec74f7) ) /* Plane 2,3 */ /* TC5332205 */
4877   ROM_LOAD16_BYTE( "217-c5.c5", 0x1000000, 0x400000, CRC(fb1896e5) SHA1(777a8caa9ebdbddf89e3d5ab650c94a55228ce54) ) /* Plane 0,1 */ /* TC5332205 */
4878   ROM_LOAD16_BYTE( "217-c6.c6", 0x1000001, 0x400000, CRC(1c98c54b) SHA1(cb1cad161d9b9f2f5a7cf8ae4d6d35b51acf90f5) ) /* Plane 2,3 */ /* TC5332205 */
4879   ROM_LOAD16_BYTE( "217-c7.c7", 0x1800000, 0x400000, CRC(8b0ede2e) SHA1(ea632ac98291ddac95441b7fe2349974b2da8a42) ) /* Plane 0,1 */ /* TC5332205 */
4880   ROM_LOAD16_BYTE( "217-c8.c8", 0x1800001, 0x400000, CRC(a085bb61) SHA1(6a3e9e6ba96072b8849b407f2b24103dc0852259) ) /* Plane 2,3 */ /* TC5332205 */
4881ROM_END
4882
4883/****************************************
4884 ID-0218
4885 . NGM-218
4886 NEO-MVS PROGBK1 / NEO-MVS CHA256
4887 . NGH-218
4888****************************************/
4889
4890ROM_START( ragnagrd )
4891   ROM_REGION( 0x200000, "maincpu", 0 )
4892   ROM_LOAD16_WORD_SWAP( "218-p1.p1", 0x100000, 0x100000, CRC(ca372303) SHA1(67991e4fef9b36bc7d909810eebb857ac2f906f1) ) /* mask rom TC5316200 */
4893   ROM_CONTINUE( 0x000000, 0x100000 )
4894
4895   NEO_SFIX_128K( "218-s1.s1", CRC(7d402f9a) SHA1(59ec29d03e62e7a8bef689a124a9164f43b2ace1) ) /* mask rom TC531000 */
4896
4897   NEO_BIOS_AUDIO_128K( "218-m1.m1", CRC(17028bcf) SHA1(7a4e8f33ce9b41beac2152b8f6003f247699e2e1) ) /* mask rom TC531001 */
4898
4899   ROM_REGION( 0x800000, "ymsnd", 0 )
4900   ROM_LOAD( "218-v1.v1", 0x000000, 0x400000, CRC(61eee7f4) SHA1(5b11b1a0b1b74dfbc2998cbda9f8f7a5e9059957) ) /* mask rom TC5332204 */
4901   ROM_LOAD( "218-v2.v2", 0x400000, 0x400000, CRC(6104e20b) SHA1(18e8aae3e51e141977d523a10e737ff68fe81910) ) /* mask rom TC5332204 */
4902
4903   NO_DELTAT_REGION
4904
4905   ROM_REGION( 0x2000000, "sprites", 0 )
4906   ROM_LOAD16_BYTE( "218-c1.c1", 0x0000000, 0x400000, CRC(c31500a4) SHA1(cc82100038988872721028044ed2e9764bcc2fb0) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4907   ROM_LOAD16_BYTE( "218-c2.c2", 0x0000001, 0x400000, CRC(98aba1f9) SHA1(121276c569967e501d8e1b83747f1bdebff612ea) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4908   ROM_LOAD16_BYTE( "218-c3.c3", 0x0800000, 0x400000, CRC(833c163a) SHA1(b7e5356bbd9efab67fedb5bc671ba8bbd661fe0f) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4909   ROM_LOAD16_BYTE( "218-c4.c4", 0x0800001, 0x400000, CRC(c1a30f69) SHA1(f87ddda4695abcd14f5c2d4b7d41f72ad5b064cc) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4910   ROM_LOAD16_BYTE( "218-c5.c5", 0x1000000, 0x400000, CRC(6b6de0ff) SHA1(1abb24cb407258235f4a572cf101d0774823040b) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4911   ROM_LOAD16_BYTE( "218-c6.c6", 0x1000001, 0x400000, CRC(94beefcf) SHA1(d2ff0bac325c9c823dba68bd4f281b3b9f8f68e7) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4912   ROM_LOAD16_BYTE( "218-c7.c7", 0x1800000, 0x400000, CRC(de6f9b28) SHA1(455adb6bb986af8a00d7f32b7f4f3715fc3007f6) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4913   ROM_LOAD16_BYTE( "218-c8.c8", 0x1800001, 0x400000, CRC(d9b311f6) SHA1(ba61a7ab3f08bb7348ad6cd01e5d29ca5ee75074) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4914ROM_END
4915
4916/****************************************
4917 ID-0219
4918 . NGM-219
4919 NEO-MVS PROGBK1 / NEO-MVS CHA256
4920****************************************/
4921
4922ROM_START( pgoal ) /* MVS ONLY RELEASE */
4923   ROM_REGION( 0x200000, "maincpu", 0 )
4924   ROM_LOAD16_WORD_SWAP( "219-p1.p1", 0x100000, 0x100000, CRC(6af0e574) SHA1(c3f0fed0d942e48c99c80b1713f271c033ce0f4f) ) /* TC5316200 */
4925   ROM_CONTINUE( 0x000000, 0x100000 )
4926
4927   NEO_SFIX_128K( "219-s1.s1", CRC(002f3c88) SHA1(a8a5bbc5397c8ae9858e38997ebdc713b7b4f50a) ) /* TC531000 */
4928
4929   NEO_BIOS_AUDIO_128K( "219-m1.m1", CRC(958efdc8) SHA1(aacc6056b1ff48cde8f241a11a27473cfb4b4aa3) ) /* TC531001 */
4930
4931   ROM_REGION( 0x400000, "ymsnd", 0 )
4932   ROM_LOAD( "219-v1.v1", 0x000000, 0x400000, CRC(d0ae33d9) SHA1(cb21a91184d9d84ff25ca86c00dcadfc210272a8) ) /* TC5332204 */
4933
4934   NO_DELTAT_REGION
4935
4936   ROM_REGION( 0xc00000, "sprites", 0 )
4937   ROM_LOAD16_BYTE( "219-c1.c1", 0x0000000, 0x400000, CRC(67fec4dc) SHA1(b99767972a2a4fce2b704df8d08e6b092665a696) ) /* Plane 0,1 */ /* TC5332205 */
4938   ROM_LOAD16_BYTE( "219-c2.c2", 0x0000001, 0x400000, CRC(86ed01f2) SHA1(9d7d1493946e8fbbd572503d2362b0156c023b76) ) /* Plane 2,3 */ /* TC5332205 */
4939   ROM_LOAD16_BYTE( "219-c3.c3", 0x0800000, 0x200000, CRC(5fdad0a5) SHA1(56f6d2a7224aa4e82a1858079f918e85cadbd6c2) ) /* Plane 0,1 */ /* TC5316200 */
4940   ROM_LOAD16_BYTE( "219-c4.c4", 0x0800001, 0x200000, CRC(f57b4a1c) SHA1(875ca69afbc5304ec23f4bc9186abe92f477f6c8) ) /* Plane 2,3 */ /* TC5316200 */
4941ROM_END
4942
4943/****************************************
4944 ID-0220
4945 Choutetsu Brikin'ger - Iron clad (prototype) 1996 Saurus
4946****************************************/
4947
4948ROM_START( ironclad ) /* Prototype - crcs should match the ones of the unreleased dump. */
4949   ROM_REGION( 0x200000, "maincpu", 0 )
4950   ROM_LOAD16_WORD_SWAP( "proto_220-p1.p1", 0x100000, 0x100000, CRC(62a942c6) SHA1(12aaa7d9bd84328d1bf4610e056b5c57d0252537) )
4951   ROM_CONTINUE( 0x000000, 0x100000 )
4952
4953   NEO_SFIX_128K( "proto_220-s1.s1", CRC(372fe217) SHA1(493433e682f519bf647e1481c8bdd3a980830ffb) )
4954
4955   NEO_BIOS_AUDIO_128K( "proto_220-m1.m1", CRC(3a08bb63) SHA1(d8fbbf42a006ccafc3cd99808d28c82dbaac4590) )
4956
4957   ROM_REGION( 0x400000, "ymsnd", 0 )
4958   ROM_LOAD( "proto_220-v1.v1", 0x000000, 0x400000, CRC(8f30a215) SHA1(0ee866a468c4c3608d55df2b5cb9243c8016d77c) )
4959
4960   NO_DELTAT_REGION
4961
4962   ROM_REGION( 0x1000000, "sprites", 0 )
4963   ROM_LOAD16_BYTE( "proto_220-c1.c1", 0x000000, 0x400000, CRC(9aa2b7dc) SHA1(6b3dff292c86f949890b1f8201bc5278f38c2668) ) /* Plane 0,1 */
4964   ROM_LOAD16_BYTE( "proto_220-c2.c2", 0x000001, 0x400000, CRC(8a2ad708) SHA1(9568ac4cc0552e7fd3e50d3cd8d9f0f4fe7df1d4) ) /* Plane 2,3 */
4965   ROM_LOAD16_BYTE( "proto_220-c3.c3", 0x800000, 0x400000, CRC(d67fb15a) SHA1(842971aeaf3c92e70f7c653bbf29058bc60f5b71) ) /* Plane 0,1 */
4966   ROM_LOAD16_BYTE( "proto_220-c4.c4", 0x800001, 0x400000, CRC(e73ea38b) SHA1(27138d588e61e86c292f12d16e36c3681075c607) ) /* Plane 2,3 */
4967ROM_END
4968
4969ROM_START( ironclado ) /* Prototype - bootleg/hack based on later release. */
4970   ROM_REGION( 0x200000, "maincpu", 0 )
4971   ROM_LOAD16_WORD_SWAP( "proto_220-p1o.p1", 0x100000, 0x100000, CRC(ce37e3a0) SHA1(488f95fa15f56eea6666dda13d96ec29dba18e19) )
4972   ROM_CONTINUE( 0x000000, 0x100000 )
4973
4974   NEO_SFIX_128K( "proto_220-s1.s1", CRC(372fe217) SHA1(493433e682f519bf647e1481c8bdd3a980830ffb) )
4975
4976   NEO_BIOS_AUDIO_128K( "proto_220-m1.m1", CRC(3a08bb63) SHA1(d8fbbf42a006ccafc3cd99808d28c82dbaac4590) )
4977
4978   ROM_REGION( 0x400000, "ymsnd", 0 )
4979   ROM_LOAD( "proto_220-v1.v1", 0x000000, 0x400000, CRC(8f30a215) SHA1(0ee866a468c4c3608d55df2b5cb9243c8016d77c) )
4980
4981   NO_DELTAT_REGION
4982
4983   ROM_REGION( 0x1000000, "sprites", 0 )
4984   ROM_LOAD16_BYTE( "proto_220-c1.c1", 0x000000, 0x400000, CRC(9aa2b7dc) SHA1(6b3dff292c86f949890b1f8201bc5278f38c2668) ) /* Plane 0,1 */
4985   ROM_LOAD16_BYTE( "proto_220-c2.c2", 0x000001, 0x400000, CRC(8a2ad708) SHA1(9568ac4cc0552e7fd3e50d3cd8d9f0f4fe7df1d4) ) /* Plane 2,3 */
4986   ROM_LOAD16_BYTE( "proto_220-c3.c3", 0x800000, 0x400000, CRC(d67fb15a) SHA1(842971aeaf3c92e70f7c653bbf29058bc60f5b71) ) /* Plane 0,1 */
4987   ROM_LOAD16_BYTE( "proto_220-c4.c4", 0x800001, 0x400000, CRC(e73ea38b) SHA1(27138d588e61e86c292f12d16e36c3681075c607) ) /* Plane 2,3 */
4988ROM_END
4989
4990/****************************************
4991 ID-0221
4992 . NGM-221
4993 NEO-MVS PROGBK1 / NEO-MVS CHA256B
4994 . NGH-221
4995****************************************/
4996
4997ROM_START( magdrop2 )
4998   ROM_REGION( 0x100000, "maincpu", 0 )
4999   ROM_LOAD16_WORD_SWAP( "221-p1.p1", 0x000000, 0x80000, CRC(7be82353) SHA1(08ab39f52b893591c13a7d7aa26b20ce86e9ddf5) ) /* mask rom TC534200 */
5000
5001   NEO_SFIX_128K( "221-s1.s1", CRC(2a4063a3) SHA1(0e09a7d88d85b1a2100888f4211960ea56ef978b) ) /* mask rom TC531000 */
5002
5003   NEO_BIOS_AUDIO_128K( "221-m1.m1", CRC(bddae628) SHA1(02c77e6aaaed43e39778bf83a3184e7c21db63d4) ) /* mask rom TC531001 */
5004
5005   ROM_REGION( 0x200000, "ymsnd", 0 )
5006   ROM_LOAD( "221-v1.v1", 0x000000, 0x200000, CRC(7e5e53e4) SHA1(72b063b2d4acaaf72a20d14ad5bfc90cb64d3fed) ) /* mask rom TC5316200 */
5007
5008   NO_DELTAT_REGION
5009
5010   ROM_REGION( 0x800000, "sprites", 0 )
5011   ROM_LOAD16_BYTE( "221-c1.c1", 0x000000, 0x400000, CRC(1f862a14) SHA1(1253e8b65d863d552d00dbdbfc5c168f5fc7edd1) ) /* Plane 0,1 */ /* mask rom TC5332205 */
5012   ROM_LOAD16_BYTE( "221-c2.c2", 0x000001, 0x400000, CRC(14b90536) SHA1(e0d41f6b84d8261729f154b44ddd95c9b9c0714a) ) /* Plane 2,3 */ /* mask rom TC5332205 */
5013ROM_END
5014
5015/****************************************
5016 ID-0222
5017 . NGM-222
5018 NEO-MVS PROGBK1 / NEO-MVS CHA256B
5019 . NGH-222
5020 NEO-AEG PROGBK1Y / NEO-AEG CHA256RY
5021****************************************/
5022
5023ROM_START( samsho4 ) /* MVS AND AES VERSION */
5024   ROM_REGION( 0x500000, "maincpu", 0 )
5025   ROM_LOAD16_WORD_SWAP( "222-p1.p1",  0x000000, 0x100000, CRC(1a5cb56d) SHA1(9a0a5a1c7c5d428829f22d3d17f7033d43a51b5b) ) /* TC538200 */
5026   ROM_LOAD16_WORD_SWAP( "222-p2.sp2", 0x100000, 0x400000, CRC(b023cd8b) SHA1(35b4cec9858225f90acdfa16ed8a3017d0d08327) ) /* TC5332205 */
5027
5028   NEO_SFIX_128K( "222-s1.s1", CRC(8d3d3bf9) SHA1(9975ed9b458bdd14e23451d2534153f68a5e4e6c) ) /* TC531000 */
5029
5030   NEO_BIOS_AUDIO_128K( "222-m1.m1", CRC(7615bc1b) SHA1(b936f7b341f6fe0921b4c41049734684583e3596) ) /* TC531001 */
5031
5032   ROM_REGION( 0xa00000, "ymsnd", 0 )
5033   ROM_LOAD( "222-v1.v1", 0x000000, 0x400000, CRC(7d6ba95f) SHA1(03cb4e0d770e0b332b07b64cacef624460b84c78) ) /* TC5332204 */
5034   ROM_LOAD( "222-v2.v2", 0x400000, 0x400000, CRC(6c33bb5d) SHA1(fd5d4e08a962dd0d22c52c91bad5ec7f23cfb901) ) /* TC5332204 */
5035   ROM_LOAD( "222-v3.v3", 0x800000, 0x200000, CRC(831ea8c0) SHA1(f2987b7d09bdc4311e972ce8a9ab7ca9802db4db) ) /* TC5316200 */
5036
5037   NO_DELTAT_REGION
5038
5039   ROM_REGION( 0x2000000, "sprites", 0 )
5040   ROM_LOAD16_BYTE( "222-c1.c1", 0x0000000, 0x400000, CRC(68f2ed95) SHA1(c0a02df012cd25bcfe341770ea861a80294148cb) ) /* Plane 0,1 */ /* TC5332205 */
5041   ROM_LOAD16_BYTE( "222-c2.c2", 0x0000001, 0x400000, CRC(a6e9aff0) SHA1(15addca49951ed53fa3c000c8d7cd327d012a620) ) /* Plane 2,3 */ /* TC5332205 */
5042   ROM_LOAD16_BYTE( "222-c3.c3", 0x0800000, 0x400000, CRC(c91b40f4) SHA1(dcda45e0336204e3e024de08edfd0a3217bc1fdd) ) /* Plane 0,1 */ /* TC5332205 */
5043   ROM_LOAD16_BYTE( "222-c4.c4", 0x0800001, 0x400000, CRC(359510a4) SHA1(b6642677ebdff7788263266402080272b8a66b15) ) /* Plane 2,3 */ /* TC5332205 */
5044   ROM_LOAD16_BYTE( "222-c5.c5", 0x1000000, 0x400000, CRC(9cfbb22d) SHA1(789c32f917d0c6e38601cd390a7bf9d803131a4a) ) /* Plane 0,1 */ /* TC5332205 */
5045   ROM_LOAD16_BYTE( "222-c6.c6", 0x1000001, 0x400000, CRC(685efc32) SHA1(db21ba1c7e3631ce0f1cb6f503ae7e0e043ff71b) ) /* Plane 2,3 */ /* TC5332205 */
5046   ROM_LOAD16_BYTE( "222-c7.c7", 0x1800000, 0x400000, CRC(d0f86f0d) SHA1(32502d71c2ab1469c492b6b382bf2bb3f85981d9) ) /* Plane 0,1 */ /* TC5332205 */
5047   ROM_LOAD16_BYTE( "222-c8.c8", 0x1800001, 0x400000, CRC(adfc50e3) SHA1(7d7ee874355b5aa75ad9c9a5c9c3df98d098d85e) ) /* Plane 2,3 */ /* TC5332205 */
5048ROM_END
5049
5050ROM_START( samsho4k ) /* KOREAN VERSION */
5051   ROM_REGION( 0x500000, "maincpu", 0 )
5052   ROM_LOAD16_WORD_SWAP( "222-p1k.p1", 0x000000, 0x100000, CRC(06e0a25d) SHA1(81e6727e0acb67ae41383518c0fc07f28d232979) )
5053   ROM_LOAD16_WORD_SWAP( "222-p2.sp2", 0x100000, 0x400000, CRC(b023cd8b) SHA1(35b4cec9858225f90acdfa16ed8a3017d0d08327) ) /* TC5332205 */
5054
5055   NEO_SFIX_128K( "222-s1k.s1", CRC(d313687d) SHA1(9ba468a9d582ef76c863f57ad9a0f811f3f08bd9) )
5056
5057   NEO_BIOS_AUDIO_128K( "222-m1.m1", CRC(7615bc1b) SHA1(b936f7b341f6fe0921b4c41049734684583e3596) ) /* TC531001 */
5058
5059   ROM_REGION( 0xa00000, "ymsnd", 0 )
5060   ROM_LOAD( "222-v1.v1", 0x000000, 0x400000, CRC(7d6ba95f) SHA1(03cb4e0d770e0b332b07b64cacef624460b84c78) ) /* TC5332204 */
5061   ROM_LOAD( "222-v2.v2", 0x400000, 0x400000, CRC(6c33bb5d) SHA1(fd5d4e08a962dd0d22c52c91bad5ec7f23cfb901) ) /* TC5332204 */
5062   ROM_LOAD( "222-v3.v3", 0x800000, 0x200000, CRC(831ea8c0) SHA1(f2987b7d09bdc4311e972ce8a9ab7ca9802db4db) ) /* TC5316200 */
5063
5064   NO_DELTAT_REGION
5065
5066   ROM_REGION( 0x2000000, "sprites", 0 )
5067   ROM_LOAD16_BYTE( "222-c1.c1", 0x0000000, 0x400000, CRC(68f2ed95) SHA1(c0a02df012cd25bcfe341770ea861a80294148cb) ) /* Plane 0,1 */ /* TC5332205 */
5068   ROM_LOAD16_BYTE( "222-c2.c2", 0x0000001, 0x400000, CRC(a6e9aff0) SHA1(15addca49951ed53fa3c000c8d7cd327d012a620) ) /* Plane 2,3 */ /* TC5332205 */
5069   ROM_LOAD16_BYTE( "222-c3.c3", 0x0800000, 0x400000, CRC(c91b40f4) SHA1(dcda45e0336204e3e024de08edfd0a3217bc1fdd) ) /* Plane 0,1 */ /* TC5332205 */
5070   ROM_LOAD16_BYTE( "222-c4.c4", 0x0800001, 0x400000, CRC(359510a4) SHA1(b6642677ebdff7788263266402080272b8a66b15) ) /* Plane 2,3 */ /* TC5332205 */
5071   ROM_LOAD16_BYTE( "222-c5.c5", 0x1000000, 0x400000, CRC(9cfbb22d) SHA1(789c32f917d0c6e38601cd390a7bf9d803131a4a) ) /* Plane 0,1 */ /* TC5332205 */
5072   ROM_LOAD16_BYTE( "222-c6.c6", 0x1000001, 0x400000, CRC(685efc32) SHA1(db21ba1c7e3631ce0f1cb6f503ae7e0e043ff71b) ) /* Plane 2,3 */ /* TC5332205 */
5073   ROM_LOAD16_BYTE( "222-c7.c7", 0x1800000, 0x400000, CRC(d0f86f0d) SHA1(32502d71c2ab1469c492b6b382bf2bb3f85981d9) ) /* Plane 0,1 */ /* TC5332205 */
5074   ROM_LOAD16_BYTE( "222-c8.c8", 0x1800001, 0x400000, CRC(adfc50e3) SHA1(7d7ee874355b5aa75ad9c9a5c9c3df98d098d85e) ) /* Plane 2,3 */ /* TC5332205 */
5075ROM_END
5076
5077/****************************************
5078 ID-0223
5079 . NGM-223
5080 NEO-MVS PROGBK1 / NEO-MVS CHA256B
5081 . NGH-223
5082****************************************/
5083
5084ROM_START( rbffspec )
5085   ROM_REGION( 0x500000, "maincpu", 0 )
5086   ROM_LOAD16_WORD_SWAP( "223-p1.p1",  0x000000, 0x100000, CRC(f84a2d1d) SHA1(fc19225d9dbdb6bd0808023ee32c7829f6ffdef6) ) /* TC538200 */
5087   ROM_LOAD16_WORD_SWAP( "223-p2.sp2", 0x100000, 0x400000, CRC(addd8f08) SHA1(abaf5b86c8ec915c07ef2d83fce9ad03acaa4817) ) /* TC5332205 */
5088
5089   NEO_SFIX_128K( "223-s1.s1", CRC(7ecd6e8c) SHA1(465455afc4d83cbb118142be4671b2539ffafd79) ) /* TC531000 */
5090
5091   NEO_BIOS_AUDIO_128K( "223-m1.m1", CRC(3fee46bf) SHA1(e750f85233953853618fcdff980a4721af1710a3) ) /* TC531001 */
5092
5093   ROM_REGION( 0xc00000, "ymsnd", 0 )
5094   ROM_LOAD( "223-v1.v1", 0x000000, 0x400000, CRC(76673869) SHA1(78a26afa29f73de552ffabdbf3fc4bf26be8ae9e) ) /* TC5332204 */
5095   ROM_LOAD( "223-v2.v2", 0x400000, 0x400000, CRC(7a275acd) SHA1(8afe87ce822614262b72a90b371fc79155ac0d0c) ) /* TC5332204 */
5096   ROM_LOAD( "223-v3.v3", 0x800000, 0x400000, CRC(5a797fd2) SHA1(94958e334f86d4d71059af8138f255b8d97a3b01) ) /* TC5332204 */
5097
5098   NO_DELTAT_REGION
5099
5100   ROM_REGION( 0x2000000, "sprites", 0 )
5101   ROM_LOAD16_BYTE( "223-c1.c1", 0x0000000, 0x400000, CRC(ebab05e2) SHA1(0d60a8b631e3a3dcfbfdd7779dee081c9548ec39) ) /* Plane 0,1 */ /* TC5332205 */
5102   ROM_LOAD16_BYTE( "223-c2.c2", 0x0000001, 0x400000, CRC(641868c3) SHA1(aa1aeb661842276b3326bfa4f1456f75bfecd52e) ) /* Plane 2,3 */ /* TC5332205 */
5103   ROM_LOAD16_BYTE( "223-c3.c3", 0x0800000, 0x400000, CRC(ca00191f) SHA1(96977febfcc513e1848d7029ff169cdf51104038) ) /* Plane 0,1 */ /* TC5332205 */
5104   ROM_LOAD16_BYTE( "223-c4.c4", 0x0800001, 0x400000, CRC(1f23d860) SHA1(e18df52f898a51074e07a0b8c6e75873e7cde35e) ) /* Plane 2,3 */ /* TC5332205 */
5105   ROM_LOAD16_BYTE( "223-c5.c5", 0x1000000, 0x400000, CRC(321e362c) SHA1(39bd189334278f266124c97c6f70995f6f171cea) ) /* Plane 0,1 */ /* TC5332205 */
5106   ROM_LOAD16_BYTE( "223-c6.c6", 0x1000001, 0x400000, CRC(d8fcef90) SHA1(bbccacb27f1e587bc144fe7ce68bd7b327ceaaee) ) /* Plane 2,3 */ /* TC5332205 */
5107   ROM_LOAD16_BYTE( "223-c7.c7", 0x1800000, 0x400000, CRC(bc80dd2d) SHA1(086f372015eede88c6c578595fe915e28a589d2f) ) /* Plane 0,1 */ /* TC5332205 */
5108   ROM_LOAD16_BYTE( "223-c8.c8", 0x1800001, 0x400000, CRC(5ad62102) SHA1(e28cc9840caed2a1a8bd65a03bef05231071040c) ) /* Plane 2,3 */ /* TC5332205 */
5109ROM_END
5110
5111ROM_START( rbffspeck ) /* KOREAN VERSION */
5112   ROM_REGION( 0x500000, "maincpu", 0 )
5113   ROM_LOAD16_WORD_SWAP( "223-p1k.p1", 0x000000, 0x100000, CRC(b78c8391) SHA1(936b356ac135331b10a37bc10882ec2e4f6b400b) )
5114   /* Chip label is correct. They used Cart ID 0124 as 0123 was allready used by quizdaisk */
5115   ROM_LOAD16_WORD_SWAP( "223-p2.sp2", 0x100000, 0x400000, CRC(addd8f08) SHA1(abaf5b86c8ec915c07ef2d83fce9ad03acaa4817) ) /* TC5332205 */
5116
5117   NEO_SFIX_128K( "223-s1.s1", CRC(7ecd6e8c) SHA1(465455afc4d83cbb118142be4671b2539ffafd79) ) /* TC531000 */
5118
5119   NEO_BIOS_AUDIO_128K( "223-m1.m1", CRC(3fee46bf) SHA1(e750f85233953853618fcdff980a4721af1710a3) ) /* TC531001 */
5120
5121   ROM_REGION( 0xc00000, "ymsnd", 0 )
5122   ROM_LOAD( "223-v1.v1", 0x000000, 0x400000, CRC(76673869) SHA1(78a26afa29f73de552ffabdbf3fc4bf26be8ae9e) ) /* TC5332204 */
5123   ROM_LOAD( "223-v2.v2", 0x400000, 0x400000, CRC(7a275acd) SHA1(8afe87ce822614262b72a90b371fc79155ac0d0c) ) /* TC5332204 */
5124   ROM_LOAD( "223-v3.v3", 0x800000, 0x400000, CRC(5a797fd2) SHA1(94958e334f86d4d71059af8138f255b8d97a3b01) ) /* TC5332204 */
5125
5126   NO_DELTAT_REGION
5127
5128   ROM_REGION( 0x2000000, "sprites", 0 )
5129   ROM_LOAD16_BYTE( "223-c1.c1", 0x0000000, 0x400000, CRC(ebab05e2) SHA1(0d60a8b631e3a3dcfbfdd7779dee081c9548ec39) ) /* Plane 0,1 */ /* TC5332205 */
5130   ROM_LOAD16_BYTE( "223-c2.c2", 0x0000001, 0x400000, CRC(641868c3) SHA1(aa1aeb661842276b3326bfa4f1456f75bfecd52e) ) /* Plane 2,3 */ /* TC5332205 */
5131   ROM_LOAD16_BYTE( "223-c3.c3", 0x0800000, 0x400000, CRC(ca00191f) SHA1(96977febfcc513e1848d7029ff169cdf51104038) ) /* Plane 0,1 */ /* TC5332205 */
5132   ROM_LOAD16_BYTE( "223-c4.c4", 0x0800001, 0x400000, CRC(1f23d860) SHA1(e18df52f898a51074e07a0b8c6e75873e7cde35e) ) /* Plane 2,3 */ /* TC5332205 */
5133   ROM_LOAD16_BYTE( "223-c5.c5", 0x1000000, 0x400000, CRC(321e362c) SHA1(39bd189334278f266124c97c6f70995f6f171cea) ) /* Plane 0,1 */ /* TC5332205 */
5134   ROM_LOAD16_BYTE( "223-c6.c6", 0x1000001, 0x400000, CRC(d8fcef90) SHA1(bbccacb27f1e587bc144fe7ce68bd7b327ceaaee) ) /* Plane 2,3 */ /* TC5332205 */
5135   ROM_LOAD16_BYTE( "223-c7.c7", 0x1800000, 0x400000, CRC(bc80dd2d) SHA1(086f372015eede88c6c578595fe915e28a589d2f) ) /* Plane 0,1 */ /* TC5332205 */
5136   ROM_LOAD16_BYTE( "223-c8.c8", 0x1800001, 0x400000, CRC(5ad62102) SHA1(e28cc9840caed2a1a8bd65a03bef05231071040c) ) /* Plane 2,3 */ /* TC5332205 */
5137ROM_END
5138
5139/****************************************
5140 ID-0224
5141 . ADM-013
5142 NEO-MVS PROGBK1 / NEO-MVS CHA256B
5143 . ADH-013
5144****************************************/
5145
5146ROM_START( twinspri )
5147   ROM_REGION( 0x200000, "maincpu", 0 )
5148   ROM_LOAD16_WORD_SWAP( "224-p1.p1", 0x100000, 0x100000, CRC(7697e445) SHA1(5b55ca120f77a931d40719b14e0bfc8cac1d628c) ) /* mask rom TC5316200 */
5149   ROM_CONTINUE( 0x000000, 0x100000 )
5150
5151   NEO_SFIX_128K( "224-s1.s1", CRC(eeed5758) SHA1(24e48f396716e145b692468762cf595fb7267873) ) /* mask rom TC531000 */
5152
5153   NEO_BIOS_AUDIO_128K( "224-m1.m1", CRC(364d6f96) SHA1(779b95a6476089b71f48c8368d9043ee1dba9032) ) /* mask rom TC531001 */
5154
5155   ROM_REGION( 0x600000, "ymsnd", 0 )
5156   ROM_LOAD( "224-v1.v1", 0x000000, 0x400000, CRC(ff57f088) SHA1(1641989b8aac899dbd68aa2332bcdf9b90b33564) ) /* mask rom TC5332204 */
5157   ROM_LOAD( "224-v2.v2", 0x400000, 0x200000, CRC(7ad26599) SHA1(822030037b7664795bf3d64e1452d0aecc22497e) ) /* mask rom TC5316200 */
5158
5159   NO_DELTAT_REGION
5160
5161   ROM_REGION( 0xa00000, "sprites", 0 )
5162   ROM_LOAD16_BYTE( "224-c1.c1", 0x000000, 0x400000, CRC(f7da64ab) SHA1(587a10ed9235c9046a3523fe80feba07764fac9b) ) /* Plane 0,1 */ /* mask rom TC5332205 */
5163   ROM_LOAD16_BYTE( "224-c2.c2", 0x000001, 0x400000, CRC(4c09bbfb) SHA1(e781aafba3bdefb7ed152826f4c3eb441735331c) ) /* Plane 2,3 */ /* mask rom TC5332205 */
5164   ROM_LOAD16_BYTE( "224-c3.c3", 0x800000, 0x100000, CRC(c59e4129) SHA1(93f02d1b4fbb152a9d336494fbff0d7642921de5) ) /* Plane 0,1 */ /* mask rom TC538200 */
5165   ROM_LOAD16_BYTE( "224-c4.c4", 0x800001, 0x100000, CRC(b5532e53) SHA1(7d896c25ba97f6e5d43c13d4df4ba72964a976ed) ) /* Plane 2,3 */ /* mask rom TC538200 */
5166ROM_END
5167
5168/****************************************
5169 ID-0225
5170 . SUM-225
5171 NEO-MVS PROGBK1 / NEO-MVS CHA256B
5172 . SUH-225
5173****************************************/
5174
5175ROM_START( wakuwak7 )
5176   ROM_REGION( 0x300000, "maincpu", 0 )
5177   ROM_LOAD16_WORD_SWAP( "225-p1.p1",  0x000000, 0x100000, CRC(b14da766) SHA1(bdffd72ff705fc6b085a4026217bac1c4bc93163) ) /* TC538200 */
5178   ROM_LOAD16_WORD_SWAP( "225-p2.sp2", 0x100000, 0x200000, CRC(fe190665) SHA1(739d9a8fc2da34381654d9e291141eacc210ae5c) ) /* TC5316200 */
5179
5180   NEO_SFIX_128K( "225-s1.s1", CRC(71c4b4b5) SHA1(9410f13807f01082dc86f2d84051be4bed8e9f7c) ) /* TC531000 */
5181
5182   NEO_BIOS_AUDIO_128K( "225-m1.m1", CRC(0634bba6) SHA1(153aaf016440500df7a4454f3f2f2911219cb7d8) ) /* TC531001 */
5183
5184   ROM_REGION( 0x800000, "ymsnd", 0 )
5185   ROM_LOAD( "225-v1.v1", 0x000000, 0x400000, CRC(6195c6b4) SHA1(66c06b5904aedb256e3997bbec60f8ab50c6ff0c) ) /* TC5332204 */
5186   ROM_LOAD( "225-v2.v2", 0x400000, 0x400000, CRC(6159c5fe) SHA1(9015e93416497f1ef877c717afed40f7ecfa42e4) ) /* TC5332204 */
5187
5188   NO_DELTAT_REGION
5189
5190   ROM_REGION( 0x1800000, "sprites", 0 )
5191   ROM_LOAD16_BYTE( "225-c1.c1", 0x0000000, 0x400000, CRC(ee4fea54) SHA1(314b513a52b2cc88cbf2409d1934c357269a8bb2) ) /* Plane 0,1 */ /* TC5332205 */
5192   ROM_LOAD16_BYTE( "225-c2.c2", 0x0000001, 0x400000, CRC(0c549e2d) SHA1(d8c4626231c92e43d9bf183202553ee2b5c532e6) ) /* Plane 2,3 */ /* TC5332205 */
5193   ROM_LOAD16_BYTE( "225-c3.c3", 0x0800000, 0x400000, CRC(af0897c0) SHA1(2b8ec19b9dd0bd1f1171fb01b915e9d25ec8c421) ) /* Plane 0,1 */ /* TC5332205 */
5194   ROM_LOAD16_BYTE( "225-c4.c4", 0x0800001, 0x400000, CRC(4c66527a) SHA1(6c8c9342fad70b456e282b0d52e7ad890e4673d3) ) /* Plane 2,3 */ /* TC5332205 */
5195   ROM_LOAD16_BYTE( "225-c5.c5", 0x1000000, 0x400000, CRC(8ecea2b5) SHA1(cad51e6e76d8258a78becb6f4096dd061f537494) ) /* Plane 0,1 */ /* TC5332205 */
5196   ROM_LOAD16_BYTE( "225-c6.c6", 0x1000001, 0x400000, CRC(0eb11a6d) SHA1(c6d4f978ff3ca190a3060ac52bd7347189194f76) ) /* Plane 2,3 */ /* TC5332205 */
5197ROM_END
5198
5199/****************************************
5200 ID-0226
5201 Pair Pair Wars (prototype) 1996 Sunsoft?
5202****************************************/
5203
5204/****************************************
5205 ID-0227
5206 . NGM-227
5207 NEO-MVS PROGBK1 / NEO-MVS CHA256
5208 . NGH-227
5209****************************************/
5210
5211ROM_START( stakwin2 )
5212   ROM_REGION( 0x200000, "maincpu", 0 )
5213   ROM_LOAD16_WORD_SWAP( "227-p1.p1", 0x100000, 0x100000, CRC(daf101d2) SHA1(96b90f884bae2969ebd8c04aba509928464e2433) ) /* mask rom TC5316200 */
5214   ROM_CONTINUE( 0x000000, 0x100000 )
5215
5216   NEO_SFIX_128K( "227-s1.s1", CRC(2a8c4462) SHA1(9155fbb5fee6d46a68d17ea780a7a92565f9aa47) ) /* mask rom TC531000 */
5217
5218   NEO_BIOS_AUDIO_128K( "227-m1.m1", CRC(c8e5e0f9) SHA1(09bb05ae6f09b59b9e4871fae1fc7c3bafd07394) ) /* mask rom TC531001 */
5219
5220   ROM_REGION( 0x800000, "ymsnd", 0 )
5221   ROM_LOAD( "227-v1.v1", 0x000000, 0x400000, CRC(b8f24181) SHA1(0a3af88d20ff65b82c58325d32c20b99fc07f7f3) ) /* mask rom TC5332204 */
5222   ROM_LOAD( "227-v2.v2", 0x400000, 0x400000, CRC(ee39e260) SHA1(4ed6802564ce262ebe92c7276424056b70998758) ) /* mask rom TC5332204 */
5223
5224   NO_DELTAT_REGION
5225
5226   ROM_REGION( 0xc00000, "sprites", 0 )
5227   ROM_LOAD16_BYTE( "227-c1.c1", 0x0000000, 0x400000, CRC(7d6c2af4) SHA1(e54f0ab15c95d7a6f965b5d8ab28b5445100650b) ) /* Plane 0,1 */ /* mask rom TC5332205 */
5228   ROM_LOAD16_BYTE( "227-c2.c2", 0x0000001, 0x400000, CRC(7e402d39) SHA1(9d3a44f98ddd0b606c8b3efa0c6b9d5a46c0bfeb) ) /* Plane 2,3 */ /* mask rom TC5332205 */
5229   ROM_LOAD16_BYTE( "227-c3.c3", 0x0800000, 0x200000, CRC(93dfd660) SHA1(5b473c556ef919cd7a872351dbb20a636aae32b6) ) /* Plane 0,1 */ /* mask rom TC5316200 */
5230   ROM_LOAD16_BYTE( "227-c4.c4", 0x0800001, 0x200000, CRC(7efea43a) SHA1(3f2b1718fe7be06b6d75ec34badc2de2a3554d3e) ) /* Plane 2,3 */ /* mask rom TC5316200 */
5231ROM_END
5232
5233/****************************************
5234 ID-0228
5235 Ghostlop (prototype) 1996 Data East Corp.
5236****************************************/
5237
5238ROM_START( ghostlop ) /* Prototype */
5239   ROM_REGION( 0x100000, "maincpu", 0 )
5240   ROM_LOAD16_WORD_SWAP( "proto_228-p1.p1", 0x000000, 0x100000, CRC(6033172e) SHA1(f57fb706aa8dd9e5f9e992a5d35c1799578b59f8) )
5241
5242   NEO_SFIX_128K( "proto_228-s1.s1", CRC(83c24e81) SHA1(585ef209d8bfc23bdccc1f37d8b764eeedfedc1c) )
5243
5244   NEO_BIOS_AUDIO_128K( "proto_228-m1.m1", CRC(fd833b33) SHA1(ab6c218c42cba821654cbdae154efecb69f844f6) )
5245
5246   ROM_REGION( 0x200000, "ymsnd", 0 )
5247   ROM_LOAD( "proto_228-v1.v1", 0x000000, 0x200000, CRC(c603fce6) SHA1(5a866471d35895b2ae13cbd5d1cb41bf2e72e1b8) )
5248
5249   NO_DELTAT_REGION
5250
5251   ROM_REGION( 0x800000, "sprites", 0 )
5252   ROM_LOAD16_BYTE( "proto_228-c1.c1", 0x000000, 0x400000, CRC(bfc99efe) SHA1(5cd2545310142080b8286e787cf5b859f627b3db) ) /* Plane 0,1 */
5253   ROM_LOAD16_BYTE( "proto_228-c2.c2", 0x000001, 0x400000, CRC(69788082) SHA1(c3ecb42ddcbd9e16d0018a0c3adb56a911d813ca) ) /* Plane 2,3 */
5254ROM_END
5255
5256/****************************************
5257 ID-0229
5258 King of Fighters '96 CD Collection (CD only)
5259****************************************/
5260
5261
5262/* With ID-0230 the product ID code changed from xxM-xxx / xxH-xxx to xxM-xxx0 / xxH-xxx0 */
5263
5264
5265/****************************************
5266 ID-0230
5267 . NGM-2300
5268 NEO-MVS PROGBK1 / NEO-MVS CHA256B
5269 . NGH-2300
5270****************************************/
5271
5272ROM_START( breakers )
5273   ROM_REGION( 0x200000, "maincpu", 0 )
5274   ROM_LOAD16_WORD_SWAP( "230-p1.p1", 0x100000, 0x100000, CRC(ed24a6e6) SHA1(3fb77ae696d92d2f9a5d589e08b708545c7cda0a) ) /* TC5316200 */
5275   ROM_CONTINUE( 0x000000, 0x100000 )
5276
5277   NEO_SFIX_128K( "230-s1.s1", CRC(076fb64c) SHA1(c166038128d7004f69932141f83b320a35c2b4ca) ) /* TC531000 */
5278
5279   NEO_BIOS_AUDIO_128K( "230-m1.m1", CRC(3951a1c1) SHA1(1e6442a7ea82ada9503d71045dd93e12bd05254f) ) /* TC531001 */
5280
5281   ROM_REGION( 0x800000, "ymsnd", 0 )
5282   ROM_LOAD( "230-v1.v1", 0x000000, 0x400000, CRC(7f9ed279) SHA1(acd0558960ec29bfc3e3ee99d00e503bebff8513) ) /* TC5332204 */
5283   ROM_LOAD( "230-v2.v2", 0x400000, 0x400000, CRC(1d43e420) SHA1(26d09b8b18b4b802dbda4d6f06626c24d0b7c512) ) /* TC5332204 */
5284
5285   NO_DELTAT_REGION
5286
5287   ROM_REGION( 0x1000000, "sprites", 0 )
5288   ROM_LOAD16_BYTE( "230-c1.c1", 0x000000, 0x400000, CRC(68d4ae76) SHA1(2e820067f6963669f104bebf19e865fe4127b4dd) ) /* Plane 0,1 */ /* TC5332205 */
5289   ROM_LOAD16_BYTE( "230-c2.c2", 0x000001, 0x400000, CRC(fdee05cd) SHA1(efc4ffd790953ac7c25d5f045c64a9b49d24b096) ) /* Plane 2,3 */ /* TC5332205 */
5290   ROM_LOAD16_BYTE( "230-c3.c3", 0x800000, 0x400000, CRC(645077f3) SHA1(0ae74f3b4b3b88f128c6d8c0f35ffa53f5d67ef2) ) /* Plane 0,1 */ /* TC5332205 */
5291   ROM_LOAD16_BYTE( "230-c4.c4", 0x800001, 0x400000, CRC(63aeb74c) SHA1(9ff6930c0c3d79b46b86356e8565ce4fcd69ac38) ) /* Plane 2,3 */ /* TC5332205 */
5292ROM_END
5293
5294/****************************************
5295 ID-0231
5296 . ??M-2310
5297 NEO-MVS PROGBK1 / NEO-MVS CHA42G-3B
5298****************************************/
5299
5300ROM_START( miexchng ) /* MVS ONLY RELEASE */
5301   ROM_REGION( 0x100000, "maincpu", 0 )
5302   ROM_LOAD16_WORD_SWAP( "231-p1.p1", 0x000000, 0x80000, CRC(61be1810) SHA1(1ab0e11352ca05329c6e3f5657b60e4a227fcbfb) ) /* mask rom TC534200 */
5303
5304   NEO_SFIX_128K( "231-s1.s1", CRC(fe0c0c53) SHA1(54d56d4463db193e504658f4f6f4997a62ae3d95) ) /* mask rom TC531000 */
5305
5306   NEO_BIOS_AUDIO_128K( "231-m1.m1", CRC(de41301b) SHA1(59ce3836ac8f064d56a446c9374f05bcb40fcfd8) ) /* mask rom TC531001 */
5307
5308   ROM_REGION( 0x400000, "ymsnd", 0 )
5309   ROM_LOAD( "231-v1.v1", 0x000000, 0x400000, CRC(113fb898) SHA1(9168ba90c4aa969f69eb11ba3f4d76592d81e05a) ) /* mask rom TC5332204 */
5310
5311   NO_DELTAT_REGION
5312
5313   ROM_REGION( 0x600000, "sprites", 0 )
5314   ROM_LOAD16_BYTE( "231-c1.c1", 0x000000, 0x200000, CRC(6c403ba3) SHA1(3830446fbd07d5a6564f9ac68a4bec5ff5b7d5c9) ) /* Plane 0,1 */ /* mask rom TC5316200 */
5315   ROM_LOAD16_BYTE( "231-c2.c2", 0x000001, 0x200000, CRC(554bcd9b) SHA1(e658161618bd41a66f1040be409efdea28020cf6) ) /* Plane 2,3 */ /* mask rom TC5316200 */
5316   ROM_LOAD16_BYTE( "231-c3.c3", 0x400000, 0x100000, CRC(4f6f7a63) SHA1(10935dbc1f52b95979a097b13a114cff18d4d446) ) /* Plane 0,1 */ /* mask rom TC538200 */
5317   ROM_LOAD16_BYTE( "231-c4.c4", 0x400001, 0x100000, CRC(2e35e71b) SHA1(6f248191c2c60ca1b1b4f2ebf08756e036682144) ) /* Plane 2,3 */ /* mask rom TC538200 */
5318ROM_END
5319
5320/****************************************
5321 ID-0232
5322 . NGM-2320
5323 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5324 . NGH-2320
5325 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5326****************************************/
5327
5328ROM_START( kof97 ) /* MVS VERSION */
5329   ROM_REGION( 0x500000, "maincpu", 0 )
5330   ROM_LOAD16_WORD_SWAP( "232-p1.p1",  0x000000, 0x100000, CRC(7db81ad9) SHA1(8bc42be872fd497eb198ca13bf004852b88eb1dc) ) /* TC538200 */
5331   ROM_LOAD16_WORD_SWAP( "232-p2.sp2", 0x100000, 0x400000, CRC(158b23f6) SHA1(9744620a70513490aaf9c5eda33e5ec31222be19) ) /* TC5332205 */
5332
5333   NEO_SFIX_128K( "232-s1.s1", CRC(8514ecf5) SHA1(18d8e7feb51ea88816f1c786932a53655b0de6a0) ) /* TC531000 */
5334
5335   NEO_BIOS_AUDIO_128K( "232-m1.m1", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) ) /* TC531001 */
5336
5337   ROM_REGION( 0xc00000, "ymsnd", 0 )
5338   ROM_LOAD( "232-v1.v1", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) ) /* TC5332204 */
5339   ROM_LOAD( "232-v2.v2", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) ) /* TC5332204 */
5340   ROM_LOAD( "232-v3.v3", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) ) /* TC5332204 */
5341
5342   NO_DELTAT_REGION
5343
5344   ROM_REGION( 0x2800000, "sprites", 0 )
5345   ROM_LOAD16_BYTE( "232-c1.c1", 0x0000000, 0x800000, CRC(5f8bf0a1) SHA1(e8b63bbc814de171fd18c5864a7fc639970c1ecf) ) /* Plane 0,1 */ /* TC5364205 */
5346   ROM_LOAD16_BYTE( "232-c2.c2", 0x0000001, 0x800000, CRC(e4d45c81) SHA1(fdb2b9326362e27b1c7a5beb977e0bc537488186) ) /* Plane 2,3 */ /* TC5364205 */
5347   ROM_LOAD16_BYTE( "232-c3.c3", 0x1000000, 0x800000, CRC(581d6618) SHA1(14d3124a08ded59f86932c6b28e1a4e48c564ccd) ) /* Plane 0,1 */ /* TC5364205 */
5348   ROM_LOAD16_BYTE( "232-c4.c4", 0x1000001, 0x800000, CRC(49bb1e68) SHA1(f769c1bd1b019521111ff3f0d22c63cb1f2640ef) ) /* Plane 2,3 */ /* TC5364205 */
5349   ROM_LOAD16_BYTE( "232-c5.c5", 0x2000000, 0x400000, CRC(34fc4e51) SHA1(b39c65f27873f71a6f5a5d1d04e5435f874472ee) ) /* Plane 0,1 */ /* TC5332205 */
5350   ROM_LOAD16_BYTE( "232-c6.c6", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */ /* TC5332205 */
5351ROM_END
5352
5353ROM_START( kof97h ) /* AES VERSION */
5354   ROM_REGION( 0x500000, "maincpu", 0 )
5355   ROM_LOAD16_WORD_SWAP( "232-pg1.p1", 0x000000, 0x100000, CRC(5c2400b7) SHA1(49e23f80c012c62146a1bb8f254a7597823de430) ) /* TC538200 */
5356   ROM_LOAD16_WORD_SWAP( "232-p2.sp2", 0x100000, 0x400000, CRC(158b23f6) SHA1(9744620a70513490aaf9c5eda33e5ec31222be19) ) /* TC5332205 */
5357
5358   NEO_SFIX_128K( "232-s1.s1", CRC(8514ecf5) SHA1(18d8e7feb51ea88816f1c786932a53655b0de6a0) ) /* TC531000 */
5359
5360   NEO_BIOS_AUDIO_128K( "232-m1.m1", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) ) /* TC531001 */
5361
5362   ROM_REGION( 0xc00000, "ymsnd", 0 )
5363   ROM_LOAD( "232-v1.v1", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) ) /* TC5332204 */
5364   ROM_LOAD( "232-v2.v2", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) ) /* TC5332204 */
5365   ROM_LOAD( "232-v3.v3", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) ) /* TC5332204 */
5366
5367   NO_DELTAT_REGION
5368
5369   ROM_REGION( 0x2800000, "sprites", 0 )
5370   ROM_LOAD16_BYTE( "232-c1.c1", 0x0000000, 0x800000, CRC(5f8bf0a1) SHA1(e8b63bbc814de171fd18c5864a7fc639970c1ecf) ) /* Plane 0,1 */ /* TC5364205 */
5371   ROM_LOAD16_BYTE( "232-c2.c2", 0x0000001, 0x800000, CRC(e4d45c81) SHA1(fdb2b9326362e27b1c7a5beb977e0bc537488186) ) /* Plane 2,3 */ /* TC5364205 */
5372   ROM_LOAD16_BYTE( "232-c3.c3", 0x1000000, 0x800000, CRC(581d6618) SHA1(14d3124a08ded59f86932c6b28e1a4e48c564ccd) ) /* Plane 0,1 */ /* TC5364205 */
5373   ROM_LOAD16_BYTE( "232-c4.c4", 0x1000001, 0x800000, CRC(49bb1e68) SHA1(f769c1bd1b019521111ff3f0d22c63cb1f2640ef) ) /* Plane 2,3 */ /* TC5364205 */
5374   ROM_LOAD16_BYTE( "232-c5.c5", 0x2000000, 0x400000, CRC(34fc4e51) SHA1(b39c65f27873f71a6f5a5d1d04e5435f874472ee) ) /* Plane 0,1 */ /* TC5332205 */
5375   ROM_LOAD16_BYTE( "232-c6.c6", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */ /* TC5332205 */
5376ROM_END
5377
5378ROM_START( kof97k ) /* KOREAN VERSION */
5379   ROM_REGION( 0x500000, "maincpu", 0 )
5380   ROM_LOAD16_WORD_SWAP( "232-p1.p1",  0x000000, 0x100000, CRC(7db81ad9) SHA1(8bc42be872fd497eb198ca13bf004852b88eb1dc) ) /* TC538200 */
5381   ROM_LOAD16_WORD_SWAP( "232-p2.sp2", 0x100000, 0x400000, CRC(158b23f6) SHA1(9744620a70513490aaf9c5eda33e5ec31222be19) ) /* TC5332205 */
5382
5383   NEO_SFIX_128K( "232-s1.s1", CRC(8514ecf5) SHA1(18d8e7feb51ea88816f1c786932a53655b0de6a0) ) /* TC531000 */
5384
5385   NEO_BIOS_AUDIO_128K( "232-m1k.m1", CRC(bbea9070) SHA1(c26c2e29fe90966dd574838be63f0037ea799aca) )
5386
5387   ROM_REGION( 0xc00000, "ymsnd", 0 )
5388   ROM_LOAD( "232-v1.v1", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) ) /* TC5332204 */
5389   ROM_LOAD( "232-v2.v2", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) ) /* TC5332204 */
5390   ROM_LOAD( "232-v3.v3", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) ) /* TC5332204 */
5391
5392   NO_DELTAT_REGION
5393
5394   ROM_REGION( 0x2800000, "sprites", 0 )
5395   ROM_LOAD16_BYTE( "232-c1.c1", 0x0000000, 0x800000, CRC(5f8bf0a1) SHA1(e8b63bbc814de171fd18c5864a7fc639970c1ecf) ) /* Plane 0,1 */ /* TC5364205 */
5396   ROM_LOAD16_BYTE( "232-c2.c2", 0x0000001, 0x800000, CRC(e4d45c81) SHA1(fdb2b9326362e27b1c7a5beb977e0bc537488186) ) /* Plane 2,3 */ /* TC5364205 */
5397   ROM_LOAD16_BYTE( "232-c3.c3", 0x1000000, 0x800000, CRC(581d6618) SHA1(14d3124a08ded59f86932c6b28e1a4e48c564ccd) ) /* Plane 0,1 */ /* TC5364205 */
5398   ROM_LOAD16_BYTE( "232-c4.c4", 0x1000001, 0x800000, CRC(49bb1e68) SHA1(f769c1bd1b019521111ff3f0d22c63cb1f2640ef) ) /* Plane 2,3 */ /* TC5364205 */
5399   ROM_LOAD16_BYTE( "232-c5.c5", 0x2000000, 0x400000, CRC(34fc4e51) SHA1(b39c65f27873f71a6f5a5d1d04e5435f874472ee) ) /* Plane 0,1 */ /* TC5332205 */
5400   ROM_LOAD16_BYTE( "232-c6.c6", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */ /* TC5332205 */
5401ROM_END
5402
5403/****************************************
5404 ID-0233
5405 . NGM-2330
5406 NEO-MVS PROGBK1 / NEO-MVS CHA256
5407 . NGH-2330
5408****************************************/
5409
5410ROM_START( magdrop3 )
5411   ROM_REGION( 0x100000, "maincpu", 0 )
5412   ROM_LOAD16_WORD_SWAP( "233-p1.p1", 0x000000, 0x100000, CRC(931e17fa) SHA1(4a95c4b79d0878485ce272e9f4c4f647bec0e070) ) /* TC538200 */
5413
5414   NEO_SFIX_128K( "233-s1.s1", CRC(7399e68a) SHA1(b535ee56a0f0995f04674e676f6aa636ffad26aa) ) /* TC531000 */
5415
5416   NEO_BIOS_AUDIO_128K( "233-m1.m1", CRC(5beaf34e) SHA1(2905d26945932cddc2dd3a1dc5abba8aa3baee14) ) /* TC531001 */
5417
5418   ROM_REGION( 0x480000, "ymsnd", 0 )
5419   ROM_LOAD( "233-v1.v1", 0x000000, 0x400000, CRC(58839298) SHA1(18cae7bba997c52780761cbf119c4e4b34397a61) ) /* TC5332204 */
5420   ROM_LOAD( "233-v2.v2", 0x400000, 0x080000, CRC(d5e30df4) SHA1(bbbc0ff5b975471bd682f85976ac4a93f6d44f2e) ) /* TC534200 */
5421
5422   NO_DELTAT_REGION
5423
5424   ROM_REGION( 0x1000000, "sprites", 0 )
5425   ROM_LOAD16_BYTE( "233-c1.c1", 0x000000, 0x400000, CRC(65e3f4c4) SHA1(a6deb75d802225327f8f1c2733a7f2b47e722e59) ) /* Plane 0,1 */ /* TC5332205 */
5426   ROM_LOAD16_BYTE( "233-c2.c2", 0x000001, 0x400000, CRC(35dea6c9) SHA1(ea133bf947f950236f49d0ae0d1a9af3bc1a9a50) ) /* Plane 2,3 */ /* TC5332205 */
5427   ROM_LOAD16_BYTE( "233-c3.c3", 0x800000, 0x400000, CRC(0ba2c502) SHA1(8e0f1e553aef04758aaaa14d5115f0ecace4391e) ) /* Plane 0,1 */ /* TC5332205 */
5428   ROM_LOAD16_BYTE( "233-c4.c4", 0x800001, 0x400000, CRC(70dbbd6d) SHA1(32dd6a04c6329e89f4878e7a56f0d172a6388eea) ) /* Plane 2,3 */ /* TC5332205 */
5429ROM_END
5430
5431/****************************************
5432 ID-0234
5433 . NGM-2340
5434 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5435 . NGH-2340
5436 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5437****************************************/
5438
5439ROM_START( lastblad ) /* MVS VERSION */
5440   ROM_REGION( 0x500000, "maincpu", 0 )
5441   ROM_LOAD16_WORD_SWAP( "234-p1.p1",  0x000000, 0x100000, CRC(e123a5a3) SHA1(a3ddabc00feeb54272b145246612ad4632b0e413) ) /* TC538200 */
5442   ROM_LOAD16_WORD_SWAP( "234-p2.sp2", 0x100000, 0x400000, CRC(0fdc289e) SHA1(1ff31c0b0f4f9ddbedaf4bcf927faaae81892ec7) ) /* TC5332205 */
5443
5444   NEO_SFIX_128K( "234-s1.s1", CRC(95561412) SHA1(995de272f572fd08d909d3d0af4251b9957b3640) ) /* TC531000 */
5445
5446   NEO_BIOS_AUDIO_128K( "234-m1.m1", CRC(087628ea) SHA1(48dcf739bb16699af4ab8ed632b7dcb25e470e06) ) /* TC531001 */
5447
5448   ROM_REGION( 0x1000000, "ymsnd", 0 )
5449   ROM_LOAD( "234-v1.v1", 0x000000, 0x400000, CRC(ed66b76f) SHA1(8a05ff06d9b6f01c6c16b3026282eaabb0e25b44) ) /* TC5332204 */
5450   ROM_LOAD( "234-v2.v2", 0x400000, 0x400000, CRC(a0e7f6e2) SHA1(753ff74fa9294f695aae511ae01ead119b114a57) ) /* TC5332204 */
5451   ROM_LOAD( "234-v3.v3", 0x800000, 0x400000, CRC(a506e1e2) SHA1(b3e04ba1a5cb50b77c6fbe9fe353b9b64b6f3f74) ) /* TC5332204 */
5452   ROM_LOAD( "234-v4.v4", 0xc00000, 0x400000, CRC(0e34157f) SHA1(20A1F4833E5E29BA0073C1712D7A17AB7A2A035C) ) /* TC5332204 */
5453
5454   NO_DELTAT_REGION
5455
5456   ROM_REGION( 0x2800000, "sprites", 0 )
5457   ROM_LOAD16_BYTE( "234-c1.c1", 0x0000000, 0x800000, CRC(9f7e2bd3) SHA1(2828aca0c0f5802110f10453c1cf640f69736554) ) /* Plane 0,1 */ /* TC5364205 */
5458   ROM_LOAD16_BYTE( "234-c2.c2", 0x0000001, 0x800000, CRC(80623d3c) SHA1(ad460615115ec8fb25206f012da59ecfc8059b64) ) /* Plane 2,3 */ /* TC5364205 */
5459   ROM_LOAD16_BYTE( "234-c3.c3", 0x1000000, 0x800000, CRC(91ab1a30) SHA1(e3cf9133784bef2c8f1bfe45f277ccf82cc6f6a1) ) /* Plane 0,1 */ /* TC5364205 */
5460   ROM_LOAD16_BYTE( "234-c4.c4", 0x1000001, 0x800000, CRC(3d60b037) SHA1(78a50233bcd19e92c7b6f7ee1a53417d9db21f6a) ) /* Plane 2,3 */ /* TC5364205 */
5461   ROM_LOAD16_BYTE( "234-c5.c5", 0x2000000, 0x400000, CRC(1ba80cee) SHA1(0c59057183b5279b747e73213b4cd3c6d7ad9eb1) ) /* Plane 0,1 */ /* TC5332205 */
5462   ROM_LOAD16_BYTE( "234-c6.c6", 0x2000001, 0x400000, CRC(beafd091) SHA1(55df9cc128eb0f00856de3996c946e3efe8f09a5) ) /* Plane 2,3 */ /* TC5332205 */
5463ROM_END
5464
5465ROM_START( lastbladh ) /* AES VERSION */
5466   ROM_REGION( 0x500000, "maincpu", 0 )
5467   ROM_LOAD16_WORD_SWAP( "234-pg1.p1", 0x000000, 0x100000, CRC(cd01c06d) SHA1(d66142571afe07c6191b52f319f1bc8bc8541c14) ) /* TC538200 */
5468   ROM_LOAD16_WORD_SWAP( "234-p2.sp2", 0x100000, 0x400000, CRC(0fdc289e) SHA1(1ff31c0b0f4f9ddbedaf4bcf927faaae81892ec7) ) /* TC5332205 */
5469
5470   NEO_SFIX_128K( "234-s1.s1", CRC(95561412) SHA1(995de272f572fd08d909d3d0af4251b9957b3640) ) /* TC531000 */
5471
5472   NEO_BIOS_AUDIO_128K( "234-m1.m1", CRC(087628ea) SHA1(48dcf739bb16699af4ab8ed632b7dcb25e470e06) ) /* TC531001 */
5473
5474   ROM_REGION( 0x1000000, "ymsnd", 0 )
5475   ROM_LOAD( "234-v1.v1", 0x000000, 0x400000, CRC(ed66b76f) SHA1(8a05ff06d9b6f01c6c16b3026282eaabb0e25b44) ) /* TC5332204 */
5476   ROM_LOAD( "234-v2.v2", 0x400000, 0x400000, CRC(a0e7f6e2) SHA1(753ff74fa9294f695aae511ae01ead119b114a57) ) /* TC5332204 */
5477   ROM_LOAD( "234-v3.v3", 0x800000, 0x400000, CRC(a506e1e2) SHA1(b3e04ba1a5cb50b77c6fbe9fe353b9b64b6f3f74) ) /* TC5332204 */
5478   ROM_LOAD( "234-v4.v4", 0xc00000, 0x400000, CRC(0e34157f) SHA1(20A1F4833E5E29BA0073C1712D7A17AB7A2A035C) ) /* TC5332204 */
5479
5480   NO_DELTAT_REGION
5481
5482   ROM_REGION( 0x2800000, "sprites", 0 )
5483   ROM_LOAD16_BYTE( "234-c1.c1", 0x0000000, 0x800000, CRC(9f7e2bd3) SHA1(2828aca0c0f5802110f10453c1cf640f69736554) ) /* Plane 0,1 */ /* TC5364205 */
5484   ROM_LOAD16_BYTE( "234-c2.c2", 0x0000001, 0x800000, CRC(80623d3c) SHA1(ad460615115ec8fb25206f012da59ecfc8059b64) ) /* Plane 2,3 */ /* TC5364205 */
5485   ROM_LOAD16_BYTE( "234-c3.c3", 0x1000000, 0x800000, CRC(91ab1a30) SHA1(e3cf9133784bef2c8f1bfe45f277ccf82cc6f6a1) ) /* Plane 0,1 */ /* TC5364205 */
5486   ROM_LOAD16_BYTE( "234-c4.c4", 0x1000001, 0x800000, CRC(3d60b037) SHA1(78a50233bcd19e92c7b6f7ee1a53417d9db21f6a) ) /* Plane 2,3 */ /* TC5364205 */
5487   ROM_LOAD16_BYTE( "234-c5.c5", 0x2000000, 0x400000, CRC(1ba80cee) SHA1(0c59057183b5279b747e73213b4cd3c6d7ad9eb1) ) /* Plane 0,1 */ /* TC5332205 */
5488   ROM_LOAD16_BYTE( "234-c6.c6", 0x2000001, 0x400000, CRC(beafd091) SHA1(55df9cc128eb0f00856de3996c946e3efe8f09a5) ) /* Plane 2,3 */ /* TC5332205 */
5489ROM_END
5490
5491ROM_START( lastsold ) /* KOREAN VERSION */
5492   ROM_REGION( 0x500000, "maincpu", 0 )
5493   ROM_LOAD16_WORD_SWAP( "134-p1k.p1", 0x000000, 0x100000, CRC(906f3065) SHA1(25167665f1b8e82e13f7fcf4d0e3c54a925c2a58) ) /* TC538200 */
5494   ROM_LOAD16_WORD_SWAP( "234-p2.sp2", 0x100000, 0x400000, CRC(0fdc289e) SHA1(1ff31c0b0f4f9ddbedaf4bcf927faaae81892ec7) ) /* TC5332205 */
5495
5496   NEO_SFIX_128K( "234-s1.s1", CRC(95561412) SHA1(995de272f572fd08d909d3d0af4251b9957b3640) ) /* TC531000 */
5497
5498   NEO_BIOS_AUDIO_128K( "234-m1.m1", CRC(087628ea) SHA1(48dcf739bb16699af4ab8ed632b7dcb25e470e06) ) /* TC531001 */
5499
5500   ROM_REGION( 0x1000000, "ymsnd", 0 )
5501   ROM_LOAD( "234-v1.v1", 0x000000, 0x400000, CRC(ed66b76f) SHA1(8a05ff06d9b6f01c6c16b3026282eaabb0e25b44) ) /* TC5332204 */
5502   ROM_LOAD( "234-v2.v2", 0x400000, 0x400000, CRC(a0e7f6e2) SHA1(753ff74fa9294f695aae511ae01ead119b114a57) ) /* TC5332204 */
5503   ROM_LOAD( "234-v3.v3", 0x800000, 0x400000, CRC(a506e1e2) SHA1(b3e04ba1a5cb50b77c6fbe9fe353b9b64b6f3f74) ) /* TC5332204 */
5504   ROM_LOAD( "234-v4.v4", 0xc00000, 0x400000, CRC(0e34157f) SHA1(20A1F4833E5E29BA0073C1712D7A17AB7A2A035C) ) /* TC5332204 */
5505
5506   NO_DELTAT_REGION
5507
5508   ROM_REGION( 0x2800000, "sprites", 0 )
5509   ROM_LOAD16_BYTE( "234-c1.c1", 0x0000000, 0x800000, CRC(9f7e2bd3) SHA1(2828aca0c0f5802110f10453c1cf640f69736554) ) /* Plane 0,1 */ /* TC5364205 */
5510   ROM_LOAD16_BYTE( "234-c2.c2", 0x0000001, 0x800000, CRC(80623d3c) SHA1(ad460615115ec8fb25206f012da59ecfc8059b64) ) /* Plane 2,3 */ /* TC5364205 */
5511   ROM_LOAD16_BYTE( "234-c3.c3", 0x1000000, 0x800000, CRC(91ab1a30) SHA1(e3cf9133784bef2c8f1bfe45f277ccf82cc6f6a1) ) /* Plane 0,1 */ /* TC5364205 */
5512   ROM_LOAD16_BYTE( "234-c4.c4", 0x1000001, 0x800000, CRC(3d60b037) SHA1(78a50233bcd19e92c7b6f7ee1a53417d9db21f6a) ) /* Plane 2,3 */ /* TC5364205 */
5513   ROM_LOAD16_BYTE( "234-c5.c5", 0x2000000, 0x400000, CRC(1ba80cee) SHA1(0c59057183b5279b747e73213b4cd3c6d7ad9eb1) ) /* Plane 0,1 */ /* TC5332205 */
5514   ROM_LOAD16_BYTE( "234-c6.c6", 0x2000001, 0x400000, CRC(beafd091) SHA1(55df9cc128eb0f00856de3996c946e3efe8f09a5) ) /* Plane 2,3 */ /* TC5332205 */
5515ROM_END
5516
5517/****************************************
5518 ID-0235
5519 . ??M-2350
5520 NEO-MVS PROG 4096 / NEO-MVS CHA 42G-2
5521****************************************/
5522
5523ROM_START( puzzldpr ) /* MVS ONLY RELEASE */
5524   ROM_REGION( 0x100000, "maincpu", 0 )
5525   ROM_LOAD16_WORD_SWAP( "235-p1.p1", 0x000000, 0x080000, CRC(afed5de2) SHA1(a5d82c6dbe687505e8c8d7339908da45cd379a0b) )
5526
5527   NEO_SFIX_64K( "235-s1.s1", BAD_DUMP CRC(5a68d91e) SHA1(a8c58eb68fd7e6e2d9d1153a9da514430437f342) )
5528
5529   NEO_BIOS_AUDIO_128K( "202-m1.m1", CRC(9c0291ea) SHA1(3fa67c62acba79be6b3a98cc1601e45569fa11ae) ) /* TC531001 */
5530
5531   ROM_REGION( 0x080000, "ymsnd", 0 )
5532   ROM_LOAD( "202-v1.v1", 0x000000, 0x080000, CRC(debeb8fb) SHA1(49a3d3578c087f1a0050168571ef8d1b08c5dc05) ) /* TC534200 */
5533
5534   NO_DELTAT_REGION
5535
5536   ROM_REGION( 0x200000, "sprites", 0 )
5537   ROM_LOAD16_BYTE( "202-c1.c1", 0x000000, 0x100000, CRC(cc0095ef) SHA1(3d86f455e6db10a2449b775dc386f1826ba3b62e) ) /* Plane 0,1 */ /* TC538200 */
5538   ROM_LOAD16_BYTE( "202-c2.c2", 0x000001, 0x100000, CRC(42371307) SHA1(df794f989e2883634bf7ffeea48d6bc3854529af) ) /* Plane 2,3 */ /* TC538200 */
5539ROM_END
5540
5541/****************************************
5542 ID-0236
5543 . ??M-2360
5544 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5545****************************************/
5546
5547ROM_START( irrmaze ) /* MVS ONLY RELEASE */
5548   ROM_REGION( 0x200000, "maincpu", 0 )
5549   ROM_LOAD16_WORD_SWAP( "236-p1.p1", 0x100000, 0x100000, CRC(4c2ff660) SHA1(4a0cbd09044648ff9ec67723729f16d422c34bda) )
5550   ROM_CONTINUE( 0x000000, 0x100000 )
5551
5552   NEO_SFIX_128K( "236-s1.s1", CRC(5d1ca640) SHA1(40a9668a1742a44597a07ce72273d17119815637) )
5553
5554   ROM_REGION16_BE( 0x20000, "mainbios", 0 )
5555   /* special BIOS with trackball support, we only have one Irritating Maze bios and thats asia */
5556   ROM_LOAD16_WORD_SWAP("236-bios.sp1", 0x00000, 0x020000, CRC(853e6b96) SHA1(de369cb4a7df147b55168fa7aaf0b98c753b735e) )
5557
5558   ROM_REGION( 0x20000, "audiobios", 0 )
5559   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
5560
5561   ROM_REGION( 0x50000, "audiocpu", 0 )
5562   ROM_LOAD( "236-m1.m1", 0x00000, 0x20000, CRC(880a1abd) SHA1(905afa157aba700e798243b842792e50729b19a0) ) /* so overwrite it with the real thing */
5563   ROM_RELOAD( 0x10000, 0x20000 )
5564
5565   ROM_REGION( 0x200000, "ymsnd", 0 )
5566   ROM_LOAD( "236-v1.v1", 0x000000, 0x200000, CRC(5f89c3b4) SHA1(dc8fd561cf8dfdd41696dcf14ea8d2d0ac4eec4b) )
5567
5568   ROM_REGION( 0x100000, "ymsnd.deltat", 0 )
5569   ROM_LOAD( "236-v2.v2", 0x000000, 0x100000, CRC(1e843567) SHA1(30d63887b4900571025b3077b9e41099a59c3ad9) )
5570
5571   ROM_REGION( 0x0800000, "sprites", 0 )
5572   ROM_LOAD16_BYTE( "236-c1.c1", 0x000000, 0x400000, CRC(c1d47902) SHA1(727001c34f979226fc8f581113ce2aaac4fc0d42) ) /* Plane 0,1 */
5573   ROM_LOAD16_BYTE( "236-c2.c2", 0x000001, 0x400000, CRC(e15f972e) SHA1(6a329559c57a67be73a6733513b59e9e6c8d61cc) ) /* Plane 2,3 */
5574ROM_END
5575
5576/****************************************
5577 ID-0237
5578 . ??M-2370
5579 NEO-MVS PROG 4096 / NEO-MVS CHA42G-3B
5580****************************************/
5581
5582ROM_START( popbounc ) /* MVS ONLY RELEASE */
5583   ROM_REGION( 0x100000, "maincpu", 0 )
5584   ROM_LOAD16_WORD_SWAP( "237-p1.p1", 0x000000, 0x100000, CRC(be96e44f) SHA1(43679da8664fbb491103a1108040ddf94d59fc2b) ) /* TC538200 */
5585
5586   NEO_SFIX_128K( "237-s1.s1", CRC(b61cf595) SHA1(b14f8b78af7c634d41cf34d36b11b116e61f7342) ) /* TC531000 */
5587
5588   NEO_BIOS_AUDIO_128K( "237-m1.m1", CRC(d4c946dd) SHA1(6ca09040b5db8d89511d627954c783154d58ab01) ) /* TC531001 */
5589
5590   ROM_REGION( 0x200000, "ymsnd", 0 )
5591   ROM_LOAD( "237-v1.v1", 0x000000, 0x200000, CRC(edcb1beb) SHA1(62f086b9968b366b59276ee4ae3c32c4d76fc6ce) ) /* TC5316200 */
5592
5593   NO_DELTAT_REGION
5594
5595   ROM_REGION( 0x400000, "sprites", 0 )
5596   ROM_LOAD16_BYTE( "237-c1.c1", 0x000000, 0x200000, CRC(eda42d66) SHA1(2735538fcb9dc0c16e043a8728c8b642650189f4) ) /* Plane 0,1 */ /* TC5316200 */
5597   ROM_LOAD16_BYTE( "237-c2.c2", 0x000001, 0x200000, CRC(5e633c65) SHA1(9a82107caf027317c173c1c1ef676f0fdeea79b2) ) /* Plane 2,3 */ /* TC5316200 */
5598ROM_END
5599
5600/****************************************
5601 ID-0238
5602 . ??M-2380
5603 NEO-MVS PROGBK1 / NEO-MVS CHA256
5604****************************************/
5605
5606ROM_START( shocktro ) /* MVS ONLY RELEASE */
5607   ROM_REGION( 0x500000, "maincpu", 0 )
5608   ROM_LOAD16_WORD_SWAP( "238-p1.p1",  0x000000, 0x100000, CRC(5677456f) SHA1(f76169fa5c90871d65e2a16fd1bb036c90533ac8) )
5609   ROM_LOAD16_WORD_SWAP( "238-p2.sp2", 0x100000, 0x400000, CRC(5b4a09c5) SHA1(de04036cba2da4bb2da73d902d1822b82b4f67a9) ) /* TC5332205 */
5610
5611   NEO_SFIX_128K( "238-s1.s1", CRC(1f95cedb) SHA1(adfa74868147fd260481e4c387d254d3b6de83f4) ) /* TC531000 */
5612
5613   NEO_BIOS_AUDIO_128K( "238-m1.m1", CRC(075b9518) SHA1(ac21b88a860b9572bf24432b4cadcc96d108055d) ) /* TC531001 */
5614
5615   ROM_REGION( 0x600000, "ymsnd", 0 )
5616   ROM_LOAD( "238-v1.v1", 0x000000, 0x400000, CRC(260c0bef) SHA1(9c4f80ce4bb205afed11bb8b8926d20748eb5512) ) /* TC5332204 */
5617   ROM_LOAD( "238-v2.v2", 0x400000, 0x200000, CRC(4ad7d59e) SHA1(bfdf2684f7f38af4e75ad0068ff9463dc2601598) ) /* TC5316200 */
5618
5619   NO_DELTAT_REGION
5620
5621   ROM_REGION( 0x2000000, "sprites", 0 )
5622   ROM_LOAD16_BYTE( "238-c1.c1", 0x0000000, 0x400000, CRC(90c6a181) SHA1(a381bc8449718814ff12b3a4f7fc4d1bb7ea1631) ) /* Plane 0,1 */ /* TC5332205 */
5623   ROM_LOAD16_BYTE( "238-c2.c2", 0x0000001, 0x400000, CRC(888720f0) SHA1(cd4d65df8d3ef0dbcca2b7f3f803f45c457f5beb) ) /* Plane 2,3 */ /* TC5332205 */
5624   ROM_LOAD16_BYTE( "238-c3.c3", 0x0800000, 0x400000, CRC(2c393aa3) SHA1(1cd7cebe5861a2d65f1d6615dd7752162e573a02) ) /* Plane 0,1 */ /* TC5332205 */
5625   ROM_LOAD16_BYTE( "238-c4.c4", 0x0800001, 0x400000, CRC(b9e909eb) SHA1(33cc9b2d13e4ed2ab6040ff582a53dc9bca402e0) ) /* Plane 2,3 */ /* TC5332205 */
5626   ROM_LOAD16_BYTE( "238-c5.c5", 0x1000000, 0x400000, CRC(c22c68eb) SHA1(a4b04118b1b1909d3b76be8d9ee5d97db6120600) ) /* Plane 0,1 */ /* TC5332205 */
5627   ROM_LOAD16_BYTE( "238-c6.c6", 0x1000001, 0x400000, CRC(119323cd) SHA1(05a9d4b1fb4cc963b25452ff6f81e296e0c0b2a1) ) /* Plane 2,3 */ /* TC5332205 */
5628   ROM_LOAD16_BYTE( "238-c7.c7", 0x1800000, 0x400000, CRC(a72ce7ed) SHA1(05b151554bd7af09ccf554a17bc3c75a0512faaf) ) /* Plane 0,1 */ /* TC5332205 */
5629   ROM_LOAD16_BYTE( "238-c8.c8", 0x1800001, 0x400000, CRC(1c7c2efb) SHA1(b055ee43cbdaf9a3cb19e4e1f9dd2c40bde69d70) ) /* Plane 2,3 */ /* TC5332205 */
5630ROM_END
5631
5632ROM_START( shocktroa ) /* MVS ONLY RELEASE */
5633   ROM_REGION( 0x500000, "maincpu", 0 )
5634   ROM_LOAD16_WORD_SWAP( "238-pg1.p1", 0x000000, 0x100000, CRC(efedf8dc) SHA1(f638df9bf7aa7d514ee2bccfc7f2adbf39ca83fc) ) /* mask rom TC538200 */
5635   ROM_LOAD16_WORD_SWAP( "238-p2.sp2", 0x100000, 0x400000, CRC(5b4a09c5) SHA1(de04036cba2da4bb2da73d902d1822b82b4f67a9) ) /* TC5332205 */
5636
5637   NEO_SFIX_128K( "238-s1.s1", CRC(1f95cedb) SHA1(adfa74868147fd260481e4c387d254d3b6de83f4) ) /* TC531000 */
5638
5639   NEO_BIOS_AUDIO_128K( "238-m1.m1", CRC(075b9518) SHA1(ac21b88a860b9572bf24432b4cadcc96d108055d) ) /* TC531001 */
5640
5641   ROM_REGION( 0x600000, "ymsnd", 0 )
5642   ROM_LOAD( "238-v1.v1", 0x000000, 0x400000, CRC(260c0bef) SHA1(9c4f80ce4bb205afed11bb8b8926d20748eb5512) ) /* TC5332204 */
5643   ROM_LOAD( "238-v2.v2", 0x400000, 0x200000, CRC(4ad7d59e) SHA1(bfdf2684f7f38af4e75ad0068ff9463dc2601598) ) /* TC5316200 */
5644
5645   NO_DELTAT_REGION
5646
5647   ROM_REGION( 0x2000000, "sprites", 0 )
5648   ROM_LOAD16_BYTE( "238-c1.c1", 0x0000000, 0x400000, CRC(90c6a181) SHA1(a381bc8449718814ff12b3a4f7fc4d1bb7ea1631) ) /* Plane 0,1 */ /* TC5332205 */
5649   ROM_LOAD16_BYTE( "238-c2.c2", 0x0000001, 0x400000, CRC(888720f0) SHA1(cd4d65df8d3ef0dbcca2b7f3f803f45c457f5beb) ) /* Plane 2,3 */ /* TC5332205 */
5650   ROM_LOAD16_BYTE( "238-c3.c3", 0x0800000, 0x400000, CRC(2c393aa3) SHA1(1cd7cebe5861a2d65f1d6615dd7752162e573a02) ) /* Plane 0,1 */ /* TC5332205 */
5651   ROM_LOAD16_BYTE( "238-c4.c4", 0x0800001, 0x400000, CRC(b9e909eb) SHA1(33cc9b2d13e4ed2ab6040ff582a53dc9bca402e0) ) /* Plane 2,3 */ /* TC5332205 */
5652   ROM_LOAD16_BYTE( "238-c5.c5", 0x1000000, 0x400000, CRC(c22c68eb) SHA1(a4b04118b1b1909d3b76be8d9ee5d97db6120600) ) /* Plane 0,1 */ /* TC5332205 */
5653   ROM_LOAD16_BYTE( "238-c6.c6", 0x1000001, 0x400000, CRC(119323cd) SHA1(05a9d4b1fb4cc963b25452ff6f81e296e0c0b2a1) ) /* Plane 2,3 */ /* TC5332205 */
5654   ROM_LOAD16_BYTE( "238-c7.c7", 0x1800000, 0x400000, CRC(a72ce7ed) SHA1(05b151554bd7af09ccf554a17bc3c75a0512faaf) ) /* Plane 0,1 */ /* TC5332205 */
5655   ROM_LOAD16_BYTE( "238-c8.c8", 0x1800001, 0x400000, CRC(1c7c2efb) SHA1(b055ee43cbdaf9a3cb19e4e1f9dd2c40bde69d70) ) /* Plane 2,3 */ /* TC5332205 */
5656ROM_END
5657
5658/****************************************
5659 ID-0239
5660 . NGM-2390
5661 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5662 . NGH-2390
5663****************************************/
5664
5665ROM_START( blazstar )
5666   ROM_REGION( 0x300000, "maincpu", 0 )
5667   ROM_LOAD16_WORD_SWAP( "239-p1.p1",  0x000000, 0x100000, CRC(183682f8) SHA1(dcee1c2cf4a991ca1f9f2b40c4a738f21682807b) ) /* TC538200 */
5668   ROM_LOAD16_WORD_SWAP( "239-p2.sp2", 0x100000, 0x200000, CRC(9a9f4154) SHA1(f8805453d0995c8fa16cd9accfb7a990071ca630) ) /* TC5316200 */
5669
5670   NEO_SFIX_128K( "239-s1.s1", CRC(d56cb498) SHA1(420ce56431dc7f3f7de84fcbc8c0a17b5eab205e) ) /* TC531000 */
5671
5672   NEO_BIOS_AUDIO_128K( "239-m1.m1", CRC(d31a3aea) SHA1(e23abfeb23052f0358edcf2c83401025fe632511) ) /* TC531001 */
5673
5674   ROM_REGION( 0x800000, "ymsnd", 0 )
5675   ROM_LOAD( "239-v1.v1", 0x000000, 0x400000, CRC(1b8d5bf7) SHA1(67fc1f7e36e92a89cd1d415eb31a2892f57b0d04) ) /* TC5332204 */
5676   ROM_LOAD( "239-v2.v2", 0x400000, 0x400000, CRC(74cf0a70) SHA1(b00451a2a30de2517ae3eca35eb1fe985b950eb8) ) /* TC5332204 */
5677
5678   NO_DELTAT_REGION
5679
5680   ROM_REGION( 0x2000000, "sprites", 0 )
5681   ROM_LOAD16_BYTE( "239-c1.c1", 0x0000000, 0x400000, CRC(84f6d584) SHA1(ff36db8504611b0d8d942d1e24823ff71e4aeb37) ) /* Plane 0,1 */ /* TC5332205 */
5682   ROM_LOAD16_BYTE( "239-c2.c2", 0x0000001, 0x400000, CRC(05a0cb22) SHA1(4abe03e7f3a86f277131d413a3151c7b9c3646c8) ) /* Plane 2,3 */ /* TC5332205 */
5683   ROM_LOAD16_BYTE( "239-c3.c3", 0x0800000, 0x400000, CRC(5fb69c9e) SHA1(77b96518d8ad8ad120537e0f8ba65d69d1c33566) ) /* Plane 0,1 */ /* TC5332205 */
5684   ROM_LOAD16_BYTE( "239-c4.c4", 0x0800001, 0x400000, CRC(0be028c4) SHA1(d3f8b37786ca7838c3525895a7f2b49afc8530d4) ) /* Plane 2,3 */ /* TC5332205 */
5685   ROM_LOAD16_BYTE( "239-c5.c5", 0x1000000, 0x400000, CRC(74bae5f8) SHA1(812c9a31f0721c2971a316b084ce69337dbe3747) ) /* Plane 0,1 */ /* TC5332205 */
5686   ROM_LOAD16_BYTE( "239-c6.c6", 0x1000001, 0x400000, CRC(4e0700d2) SHA1(cd059fb713c403208923c17e1e8ef02fcfd2fe8d) ) /* Plane 2,3 */ /* TC5332205 */
5687   ROM_LOAD16_BYTE( "239-c7.c7", 0x1800000, 0x400000, CRC(010ff4fd) SHA1(2571d406442f007a7458d8ccb0939a9201c9c9bf) ) /* Plane 0,1 */ /* TC5332205 */
5688   ROM_LOAD16_BYTE( "239-c8.c8", 0x1800001, 0x400000, CRC(db60460e) SHA1(a5cb27c0983c8b400d96fd0828ef0639a66d4dba) ) /* Plane 2,3 */ /* TC5332205 */
5689ROM_END
5690
5691/****************************************
5692 ID-0240
5693 . NGM-2400
5694 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5695 . NGH-2400
5696 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5697****************************************/
5698
5699ROM_START( rbff2 ) /* MVS VERSION */
5700   ROM_REGION( 0x500000, "maincpu", 0 )
5701   ROM_LOAD16_WORD_SWAP( "240-p1.p1",  0x000000, 0x100000, CRC(80e41205) SHA1(8f83eb8ff54be4ec40f8a0dd2cbe56c54908d00a) ) /* TC538200 */
5702   ROM_LOAD16_WORD_SWAP( "240-p2.sp2", 0x100000, 0x400000, CRC(960aa88d) SHA1(3d9e785891871af90313f178dca2724633406674) ) /* TC5332205 */
5703
5704   NEO_SFIX_128K( "240-s1.s1", CRC(da3b40de) SHA1(e6bf74e057ac6fe1f249a7547f13ba7fbc694561) ) /* TC531000 */
5705
5706   NEO_BIOS_AUDIO_256K( "240-m1.m1", CRC(ed482791) SHA1(1f54a45967cb7842c33aa24be322c9f33ff75ac3) ) /* TC532000 */
5707
5708   ROM_REGION( 0x0e00000, "ymsnd", 0 )
5709   ROM_LOAD( "240-v1.v1", 0x000000, 0x400000, CRC(f796265a) SHA1(736dff37eb91fc856b4d189249fb0de9b6c0813a) ) /* TC5332204 */
5710   ROM_LOAD( "240-v2.v2", 0x400000, 0x400000, CRC(2cb3f3bb) SHA1(697e677890892f4b028c9a27c66809ca0a8a9b18) ) /* TC5332204 */
5711   ROM_LOAD( "240-v3.v3", 0x800000, 0x400000, CRC(8fe1367a) SHA1(093d7a4ac2b54ad7ffb2dc316fe29415f7a99535) ) /* TC5332204 */
5712   ROM_LOAD( "240-v4.v4", 0xc00000, 0x200000, CRC(996704d8) SHA1(0bf7a1d0660199dedf3c25be757eeab75cc6147e) ) /* TC5316200 */
5713
5714   NO_DELTAT_REGION
5715
5716   ROM_REGION( 0x3000000, "sprites", 0 )
5717   ROM_LOAD16_BYTE( "240-c1.c1", 0x0000000, 0x800000, CRC(effac504) SHA1(e36a96e7369b02c7e839b5abf3c6799453ba1927) ) /* Plane 0,1 */ /* TC5364205 */
5718   ROM_LOAD16_BYTE( "240-c2.c2", 0x0000001, 0x800000, CRC(ed182d44) SHA1(a9fc0a3a786bf067c129ec7220df65953dff804f) ) /* Plane 2,3 */ /* TC5364205 */
5719   ROM_LOAD16_BYTE( "240-c3.c3", 0x1000000, 0x800000, CRC(22e0330a) SHA1(0fe7f6a8aeba7f17dbb278e85003969ff10d3cd2) ) /* Plane 0,1 */ /* TC5364205 */
5720   ROM_LOAD16_BYTE( "240-c4.c4", 0x1000001, 0x800000, CRC(c19a07eb) SHA1(139eac8b51cadf328dd42d8109f4e2463f57230c) ) /* Plane 2,3 */ /* TC5364205 */
5721   ROM_LOAD16_BYTE( "240-c5.c5", 0x2000000, 0x800000, CRC(244dff5a) SHA1(156548156d3ceaa808d0053d0749af2526a3943e) ) /* Plane 0,1 */ /* TC5364205 */
5722   ROM_LOAD16_BYTE( "240-c6.c6", 0x2000001, 0x800000, CRC(4609e507) SHA1(bb17f50a377dddb77c1eeda5944a7bcbf0cca5f7) ) /* Plane 2,3 */ /* TC5364205 */
5723ROM_END
5724
5725ROM_START( rbff2h ) /* AES VERSION */
5726   ROM_REGION( 0x500000, "maincpu", 0 )
5727   ROM_LOAD16_WORD_SWAP( "240-pg1.p1", 0x000000, 0x100000, CRC(b6969780) SHA1(e3373d18e0f0724d69efb8024a27cca121f1b5b2) ) /* TC538200 */
5728   ROM_LOAD16_WORD_SWAP( "240-p2.sp2", 0x100000, 0x400000, CRC(960aa88d) SHA1(3d9e785891871af90313f178dca2724633406674) ) /* TC5332205 */
5729
5730   NEO_SFIX_128K( "240-s1.s1", CRC(da3b40de) SHA1(e6bf74e057ac6fe1f249a7547f13ba7fbc694561) ) /* TC531000 */
5731
5732   NEO_BIOS_AUDIO_256K( "240-m1.m1", CRC(ed482791) SHA1(1f54a45967cb7842c33aa24be322c9f33ff75ac3) ) /* TC532000 */
5733
5734   ROM_REGION( 0x0e00000, "ymsnd", 0 )
5735   ROM_LOAD( "240-v1.v1", 0x000000, 0x400000, CRC(f796265a) SHA1(736dff37eb91fc856b4d189249fb0de9b6c0813a) ) /* TC5332204 */
5736   ROM_LOAD( "240-v2.v2", 0x400000, 0x400000, CRC(2cb3f3bb) SHA1(697e677890892f4b028c9a27c66809ca0a8a9b18) ) /* TC5332204 */
5737   ROM_LOAD( "240-v3.v3", 0x800000, 0x400000, CRC(8fe1367a) SHA1(093d7a4ac2b54ad7ffb2dc316fe29415f7a99535) ) /* TC5332204 */
5738   ROM_LOAD( "240-v4.v4", 0xc00000, 0x200000, CRC(996704d8) SHA1(0bf7a1d0660199dedf3c25be757eeab75cc6147e) ) /* TC5316200 */
5739
5740   NO_DELTAT_REGION
5741
5742   ROM_REGION( 0x3000000, "sprites", 0 )
5743   ROM_LOAD16_BYTE( "240-c1.c1", 0x0000000, 0x800000, CRC(effac504) SHA1(e36a96e7369b02c7e839b5abf3c6799453ba1927) ) /* Plane 0,1 */ /* TC5364205 */
5744   ROM_LOAD16_BYTE( "240-c2.c2", 0x0000001, 0x800000, CRC(ed182d44) SHA1(a9fc0a3a786bf067c129ec7220df65953dff804f) ) /* Plane 2,3 */ /* TC5364205 */
5745   ROM_LOAD16_BYTE( "240-c3.c3", 0x1000000, 0x800000, CRC(22e0330a) SHA1(0fe7f6a8aeba7f17dbb278e85003969ff10d3cd2) ) /* Plane 0,1 */ /* TC5364205 */
5746   ROM_LOAD16_BYTE( "240-c4.c4", 0x1000001, 0x800000, CRC(c19a07eb) SHA1(139eac8b51cadf328dd42d8109f4e2463f57230c) ) /* Plane 2,3 */ /* TC5364205 */
5747   ROM_LOAD16_BYTE( "240-c5.c5", 0x2000000, 0x800000, CRC(244dff5a) SHA1(156548156d3ceaa808d0053d0749af2526a3943e) ) /* Plane 0,1 */ /* TC5364205 */
5748   ROM_LOAD16_BYTE( "240-c6.c6", 0x2000001, 0x800000, CRC(4609e507) SHA1(bb17f50a377dddb77c1eeda5944a7bcbf0cca5f7) ) /* Plane 2,3 */ /* TC5364205 */
5749ROM_END
5750
5751ROM_START( rbff2k ) /* KOREAN VERSION */
5752   ROM_REGION( 0x500000, "maincpu", 0 )
5753   ROM_LOAD16_WORD_SWAP( "140-p1k.p1", 0x000000, 0x100000, CRC(965edee1) SHA1(7f4b947b19ccfee32fc73e4fd89645eb313b5c77) ) /* mask rom TC538200 */
5754   ROM_LOAD16_WORD_SWAP( "240-p2.sp2", 0x100000, 0x400000, CRC(960aa88d) SHA1(3d9e785891871af90313f178dca2724633406674) ) /* TC5332205 */
5755
5756   NEO_SFIX_128K( "240-s1.s1", CRC(da3b40de) SHA1(e6bf74e057ac6fe1f249a7547f13ba7fbc694561) ) /* TC531000 */
5757
5758   NEO_BIOS_AUDIO_256K( "240-m1.m1", CRC(ed482791) SHA1(1f54a45967cb7842c33aa24be322c9f33ff75ac3) ) /* TC532000 */
5759
5760   ROM_REGION( 0x0e00000, "ymsnd", 0 )
5761   ROM_LOAD( "240-v1.v1", 0x000000, 0x400000, CRC(f796265a) SHA1(736dff37eb91fc856b4d189249fb0de9b6c0813a) ) /* TC5332204 */
5762   ROM_LOAD( "240-v2.v2", 0x400000, 0x400000, CRC(2cb3f3bb) SHA1(697e677890892f4b028c9a27c66809ca0a8a9b18) ) /* TC5332204 */
5763   ROM_LOAD( "240-v3.v3", 0x800000, 0x400000, CRC(8fe1367a) SHA1(093d7a4ac2b54ad7ffb2dc316fe29415f7a99535) ) /* TC5332204 */
5764   ROM_LOAD( "240-v4.v4", 0xc00000, 0x200000, CRC(996704d8) SHA1(0bf7a1d0660199dedf3c25be757eeab75cc6147e) ) /* TC5316200 */
5765
5766   NO_DELTAT_REGION
5767
5768   ROM_REGION( 0x3000000, "sprites", 0 )
5769   ROM_LOAD16_BYTE( "240-c1.c1", 0x0000000, 0x800000, CRC(effac504) SHA1(e36a96e7369b02c7e839b5abf3c6799453ba1927) ) /* Plane 0,1 */ /* TC5364205 */
5770   ROM_LOAD16_BYTE( "240-c2.c2", 0x0000001, 0x800000, CRC(ed182d44) SHA1(a9fc0a3a786bf067c129ec7220df65953dff804f) ) /* Plane 2,3 */ /* TC5364205 */
5771   ROM_LOAD16_BYTE( "240-c3.c3", 0x1000000, 0x800000, CRC(22e0330a) SHA1(0fe7f6a8aeba7f17dbb278e85003969ff10d3cd2) ) /* Plane 0,1 */ /* TC5364205 */
5772   ROM_LOAD16_BYTE( "240-c4.c4", 0x1000001, 0x800000, CRC(c19a07eb) SHA1(139eac8b51cadf328dd42d8109f4e2463f57230c) ) /* Plane 2,3 */ /* TC5364205 */
5773   ROM_LOAD16_BYTE( "240-c5.c5", 0x2000000, 0x800000, CRC(244dff5a) SHA1(156548156d3ceaa808d0053d0749af2526a3943e) ) /* Plane 0,1 */ /* TC5364205 */
5774   ROM_LOAD16_BYTE( "240-c6.c6", 0x2000001, 0x800000, CRC(4609e507) SHA1(bb17f50a377dddb77c1eeda5944a7bcbf0cca5f7) ) /* Plane 2,3 */ /* TC5364205 */
5775ROM_END
5776
5777/****************************************
5778 ID-0241
5779 . NGM-2410
5780 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5781 . NGH-2410
5782 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5783****************************************/
5784
5785ROM_START( mslug2 ) /* MVS AND AES VERSION */
5786   ROM_REGION( 0x300000, "maincpu", 0 )
5787   ROM_LOAD16_WORD_SWAP( "241-p1.p1",  0x000000, 0x100000, CRC(2a53c5da) SHA1(5a6aba482cac588a6c2c51179c95b487c6e11899) ) /* TC538200 */
5788   ROM_LOAD16_WORD_SWAP( "241-p2.sp2", 0x100000, 0x200000, CRC(38883f44) SHA1(fcf34b8c6e37774741542393b963635412484a27) ) /* TC5316200 */
5789
5790   NEO_SFIX_128K( "241-s1.s1", CRC(f3d32f0f) SHA1(2dc38b7dfd3ff14f64d5c0733c510b6bb8c692d0) ) /* TC531000 */
5791
5792   NEO_BIOS_AUDIO_128K( "241-m1.m1", CRC(94520ebd) SHA1(f8a1551cebcb91e416f30f50581feed7f72899e9) ) /* TC531001 */
5793
5794   ROM_REGION( 0x800000, "ymsnd", 0 )
5795   ROM_LOAD( "241-v1.v1", 0x000000, 0x400000, CRC(99ec20e8) SHA1(80597707f1fe115eed1941bb0701fc00790ad504) ) /* TC5332204 */
5796   ROM_LOAD( "241-v2.v2", 0x400000, 0x400000, CRC(ecb16799) SHA1(b4b4ddc680836ed55942c66d7dfe756314e02211) ) /* TC5332204 */
5797
5798   NO_DELTAT_REGION
5799
5800   ROM_REGION( 0x2000000, "sprites", 0 )
5801   ROM_LOAD16_BYTE( "241-c1.c1", 0x0000000, 0x800000, CRC(394b5e0d) SHA1(4549926f5054ee6aa7689cf920be0327e3908a50) ) /* Plane 0,1 */ /* TC5364205 */
5802   ROM_LOAD16_BYTE( "241-c2.c2", 0x0000001, 0x800000, CRC(e5806221) SHA1(1e5475cfab129c77acc610f09369ca42ba5aafa5) ) /* Plane 2,3 */ /* TC5364205 */
5803   ROM_LOAD16_BYTE( "241-c3.c3", 0x1000000, 0x800000, CRC(9f6bfa6f) SHA1(a4319b48004e723f81a980887678e3e296049a53) ) /* Plane 0,1 */ /* TC5364205 */
5804   ROM_LOAD16_BYTE( "241-c4.c4", 0x1000001, 0x800000, CRC(7d3e306f) SHA1(1499316fb381775218d897b81a6a0c3465d1a37c) ) /* Plane 2,3 */ /* TC5364205 */
5805ROM_END
5806
5807/****************************************
5808 ID-0242
5809 . NGM-2420
5810 NEO-MVS PROGSF1 (protected board) / NEO-MVS CHA512Y
5811 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5812 . NGH-2420
5813 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5814****************************************/
5815
5816ROM_START( kof98 ) /* encrypted code + protection */ /* MVS VERSION */
5817   ROM_REGION( 0x600000, "maincpu", 0 )
5818   ROM_LOAD16_WORD_SWAP( "242-p1.p1",  0x000000, 0x200000, CRC(8893df89) SHA1(0452828785110601c65f667209fc2d2926cd3751) ) /* mask rom 16mbit */
5819   ROM_LOAD16_WORD_SWAP( "242-p2.sp2", 0x200000, 0x400000, CRC(980aba4c) SHA1(5e735929ec6c3ca5b2efae3c7de47bcbb8ade2c5) ) /* TC5332205 */
5820
5821   NEO_SFIX_128K( "242-s1.s1", CRC(7f7b4805) SHA1(80ee6e5d0ece9c34ebca54b043a7cb33f9ff6b92) ) /* TC531000 */
5822
5823   NEO_BIOS_AUDIO_256K( "242-m1.m1", CRC(4ef7016b) SHA1(4182235e963bd70d398a79abeb54ab4d62887c48) ) /* TC532000 */
5824
5825   ROM_REGION( 0x1000000, "ymsnd", 0 )
5826   ROM_LOAD( "242-v1.v1", 0x000000, 0x400000, CRC(b9ea8051) SHA1(49606f64eb249263b3341b4f50cc1763c390b2af) ) /* TC5332204 */
5827   ROM_LOAD( "242-v2.v2", 0x400000, 0x400000, CRC(cc11106e) SHA1(d3108bc05c9bf041d4236b2fa0c66b013aa8db1b) ) /* TC5332204 */
5828   ROM_LOAD( "242-v3.v3", 0x800000, 0x400000, CRC(044ea4e1) SHA1(062a2f2e52098d73bc31c9ad66f5db8080395ce8) ) /* TC5332204 */
5829   ROM_LOAD( "242-v4.v4", 0xc00000, 0x400000, CRC(7985ea30) SHA1(54ed5f0324de6164ea81943ebccb3e8d298368ec) ) /* TC5332204 */
5830
5831   NO_DELTAT_REGION
5832
5833   ROM_REGION( 0x4000000, "sprites", 0 )
5834   ROM_LOAD16_BYTE( "242-c1.c1", 0x0000000, 0x800000, CRC(e564ecd6) SHA1(78f22787a204f26bae9b2b1c945ddbc27143352f) ) /* Plane 0,1 */ /* TC5364205 */
5835   ROM_LOAD16_BYTE( "242-c2.c2", 0x0000001, 0x800000, CRC(bd959b60) SHA1(2c97c59e77c9a3fe7d664e741d37944f3d56c10b) ) /* Plane 2,3 */ /* TC5364205 */
5836   ROM_LOAD16_BYTE( "242-c3.c3", 0x1000000, 0x800000, CRC(22127b4f) SHA1(bd0d00f889d9da7c6ac48f287d9ed8c605ae22cf) ) /* Plane 0,1 */ /* TC5364205 */
5837   ROM_LOAD16_BYTE( "242-c4.c4", 0x1000001, 0x800000, CRC(0b4fa044) SHA1(fa13c3764fae6b035a626601bc43629f1ebaaffd) ) /* Plane 2,3 */ /* TC5364205 */
5838   ROM_LOAD16_BYTE( "242-c5.c5", 0x2000000, 0x800000, CRC(9d10bed3) SHA1(4d44addc7c808649bfb03ec45fb9529da413adff) ) /* Plane 0,1 */ /* TC5364205 */
5839   ROM_LOAD16_BYTE( "242-c6.c6", 0x2000001, 0x800000, CRC(da07b6a2) SHA1(9c3f0da7cde1ffa8feca89efc88f07096e502acf) ) /* Plane 2,3 */ /* TC5364205 */
5840   ROM_LOAD16_BYTE( "242-c7.c7", 0x3000000, 0x800000, CRC(f6d7a38a) SHA1(dd295d974dd4a7e5cb26a3ef3febcd03f28d522b) ) /* Plane 0,1 */ /* TC5364205 */
5841   ROM_LOAD16_BYTE( "242-c8.c8", 0x3000001, 0x800000, CRC(c823e045) SHA1(886fbf64bcb58bc4eabb1fc9262f6ac9901a0f28) ) /* Plane 2,3 */ /* TC5364205 */
5842ROM_END
5843
5844ROM_START( kof98k ) /* encrypted code + protection, only z80 rom is different to kof98 */ /* KOREAN VERSION */
5845   ROM_REGION( 0x600000, "maincpu", 0 )
5846   ROM_LOAD16_WORD_SWAP( "242-p1.p1",  0x000000, 0x200000, CRC(8893df89) SHA1(0452828785110601c65f667209fc2d2926cd3751) ) /* mask rom 16mbit */
5847   ROM_LOAD16_WORD_SWAP( "242-p2.sp2", 0x200000, 0x400000, CRC(980aba4c) SHA1(5e735929ec6c3ca5b2efae3c7de47bcbb8ade2c5) ) /* TC5332205 */
5848
5849   NEO_SFIX_128K( "242-s1.s1", CRC(7f7b4805) SHA1(80ee6e5d0ece9c34ebca54b043a7cb33f9ff6b92) ) /* TC531000 */
5850
5851   /* Correct chip label */
5852   NEO_BIOS_AUDIO_256K( "242-m1k.m1", CRC(ce12da0c) SHA1(e7c01dae2852d543d1a58d55735239f6a5aa05a5) ) /* mask rom TC532000 */
5853
5854   ROM_REGION( 0x1000000, "ymsnd", 0 )
5855   ROM_LOAD( "242-v1.v1", 0x000000, 0x400000, CRC(b9ea8051) SHA1(49606f64eb249263b3341b4f50cc1763c390b2af) ) /* TC5332204 */
5856   ROM_LOAD( "242-v2.v2", 0x400000, 0x400000, CRC(cc11106e) SHA1(d3108bc05c9bf041d4236b2fa0c66b013aa8db1b) ) /* TC5332204 */
5857   ROM_LOAD( "242-v3.v3", 0x800000, 0x400000, CRC(044ea4e1) SHA1(062a2f2e52098d73bc31c9ad66f5db8080395ce8) ) /* TC5332204 */
5858   ROM_LOAD( "242-v4.v4", 0xc00000, 0x400000, CRC(7985ea30) SHA1(54ed5f0324de6164ea81943ebccb3e8d298368ec) ) /* TC5332204 */
5859
5860   NO_DELTAT_REGION
5861
5862   ROM_REGION( 0x4000000, "sprites", 0 )
5863   ROM_LOAD16_BYTE( "242-c1.c1", 0x0000000, 0x800000, CRC(e564ecd6) SHA1(78f22787a204f26bae9b2b1c945ddbc27143352f) ) /* Plane 0,1 */ /* TC5364205 */
5864   ROM_LOAD16_BYTE( "242-c2.c2", 0x0000001, 0x800000, CRC(bd959b60) SHA1(2c97c59e77c9a3fe7d664e741d37944f3d56c10b) ) /* Plane 2,3 */ /* TC5364205 */
5865   ROM_LOAD16_BYTE( "242-c3.c3", 0x1000000, 0x800000, CRC(22127b4f) SHA1(bd0d00f889d9da7c6ac48f287d9ed8c605ae22cf) ) /* Plane 0,1 */ /* TC5364205 */
5866   ROM_LOAD16_BYTE( "242-c4.c4", 0x1000001, 0x800000, CRC(0b4fa044) SHA1(fa13c3764fae6b035a626601bc43629f1ebaaffd) ) /* Plane 2,3 */ /* TC5364205 */
5867   ROM_LOAD16_BYTE( "242-c5.c5", 0x2000000, 0x800000, CRC(9d10bed3) SHA1(4d44addc7c808649bfb03ec45fb9529da413adff) ) /* Plane 0,1 */ /* TC5364205 */
5868   ROM_LOAD16_BYTE( "242-c6.c6", 0x2000001, 0x800000, CRC(da07b6a2) SHA1(9c3f0da7cde1ffa8feca89efc88f07096e502acf) ) /* Plane 2,3 */ /* TC5364205 */
5869   ROM_LOAD16_BYTE( "242-c7.c7", 0x3000000, 0x800000, CRC(f6d7a38a) SHA1(dd295d974dd4a7e5cb26a3ef3febcd03f28d522b) ) /* Plane 0,1 */ /* TC5364205 */
5870   ROM_LOAD16_BYTE( "242-c8.c8", 0x3000001, 0x800000, CRC(c823e045) SHA1(886fbf64bcb58bc4eabb1fc9262f6ac9901a0f28) ) /* Plane 2,3 */ /* TC5364205 */
5871ROM_END
5872
5873ROM_START( kof98ka ) /* encrypted code + protection, only z80 rom is different to kof98 */ /* KOREAN VERSION */
5874   ROM_REGION( 0x600000, "maincpu", 0 )
5875   ROM_LOAD16_WORD_SWAP( "242-p1.p1",  0x000000, 0x200000, CRC(8893df89) SHA1(0452828785110601c65f667209fc2d2926cd3751) ) /* mask rom 16mbit */
5876   ROM_LOAD16_WORD_SWAP( "242-p2.sp2", 0x200000, 0x400000, CRC(980aba4c) SHA1(5e735929ec6c3ca5b2efae3c7de47bcbb8ade2c5) ) /* TC5332205 */
5877
5878   NEO_SFIX_128K( "242-s1.s1", CRC(7f7b4805) SHA1(80ee6e5d0ece9c34ebca54b043a7cb33f9ff6b92) ) /* TC531000 */
5879
5880   /* Correct chip label */
5881   NEO_BIOS_AUDIO_256K( "242-mg1k.m1", CRC(ce9fb07c) SHA1(631d995f1291dd803fb069f3b25e7b9ed30d8649) ) /* 27C2000 */
5882
5883   ROM_REGION( 0x1000000, "ymsnd", 0 )
5884   ROM_LOAD( "242-v1.v1", 0x000000, 0x400000, CRC(b9ea8051) SHA1(49606f64eb249263b3341b4f50cc1763c390b2af) ) /* TC5332204 */
5885   ROM_LOAD( "242-v2.v2", 0x400000, 0x400000, CRC(cc11106e) SHA1(d3108bc05c9bf041d4236b2fa0c66b013aa8db1b) ) /* TC5332204 */
5886   ROM_LOAD( "242-v3.v3", 0x800000, 0x400000, CRC(044ea4e1) SHA1(062a2f2e52098d73bc31c9ad66f5db8080395ce8) ) /* TC5332204 */
5887   ROM_LOAD( "242-v4.v4", 0xc00000, 0x400000, CRC(7985ea30) SHA1(54ed5f0324de6164ea81943ebccb3e8d298368ec) ) /* TC5332204 */
5888
5889   NO_DELTAT_REGION
5890
5891   ROM_REGION( 0x4000000, "sprites", 0 )
5892   ROM_LOAD16_BYTE( "242-c1.c1", 0x0000000, 0x800000, CRC(e564ecd6) SHA1(78f22787a204f26bae9b2b1c945ddbc27143352f) ) /* Plane 0,1 */ /* TC5364205 */
5893   ROM_LOAD16_BYTE( "242-c2.c2", 0x0000001, 0x800000, CRC(bd959b60) SHA1(2c97c59e77c9a3fe7d664e741d37944f3d56c10b) ) /* Plane 2,3 */ /* TC5364205 */
5894   ROM_LOAD16_BYTE( "242-c3.c3", 0x1000000, 0x800000, CRC(22127b4f) SHA1(bd0d00f889d9da7c6ac48f287d9ed8c605ae22cf) ) /* Plane 0,1 */ /* TC5364205 */
5895   ROM_LOAD16_BYTE( "242-c4.c4", 0x1000001, 0x800000, CRC(0b4fa044) SHA1(fa13c3764fae6b035a626601bc43629f1ebaaffd) ) /* Plane 2,3 */ /* TC5364205 */
5896   ROM_LOAD16_BYTE( "242-c5.c5", 0x2000000, 0x800000, CRC(9d10bed3) SHA1(4d44addc7c808649bfb03ec45fb9529da413adff) ) /* Plane 0,1 */ /* TC5364205 */
5897   ROM_LOAD16_BYTE( "242-c6.c6", 0x2000001, 0x800000, CRC(da07b6a2) SHA1(9c3f0da7cde1ffa8feca89efc88f07096e502acf) ) /* Plane 2,3 */ /* TC5364205 */
5898   ROM_LOAD16_BYTE( "242-c7.c7", 0x3000000, 0x800000, CRC(f6d7a38a) SHA1(dd295d974dd4a7e5cb26a3ef3febcd03f28d522b) ) /* Plane 0,1 */ /* TC5364205 */
5899   ROM_LOAD16_BYTE( "242-c8.c8", 0x3000001, 0x800000, CRC(c823e045) SHA1(886fbf64bcb58bc4eabb1fc9262f6ac9901a0f28) ) /* Plane 2,3 */ /* TC5364205 */
5900ROM_END
5901
5902ROM_START( kof98h ) /* AES VERSION */
5903   ROM_REGION( 0x500000, "maincpu", 0 )
5904   ROM_LOAD16_WORD_SWAP( "242-pn1.p1", 0x000000, 0x100000, CRC(61ac868a) SHA1(26577264aa72d6af272952a876fcd3775f53e3fa) ) /* TC538200 */
5905   ROM_LOAD16_WORD_SWAP( "242-p2.sp2", 0x100000, 0x400000, CRC(980aba4c) SHA1(5e735929ec6c3ca5b2efae3c7de47bcbb8ade2c5) ) /* TC5332205 */
5906
5907   NEO_SFIX_128K( "242-s1.s1", CRC(7f7b4805) SHA1(80ee6e5d0ece9c34ebca54b043a7cb33f9ff6b92) ) /* TC531000 */
5908
5909   NEO_BIOS_AUDIO_256K( "242-mg1.m1", CRC(4e7a6b1b) SHA1(b54d08f88713ed0271aa06f9f7c9c572ef555b1a) ) /* TC532000 */
5910
5911   ROM_REGION( 0x1000000, "ymsnd", 0 )
5912   ROM_LOAD( "242-v1.v1", 0x000000, 0x400000, CRC(b9ea8051) SHA1(49606f64eb249263b3341b4f50cc1763c390b2af) ) /* TC5332204 */
5913   ROM_LOAD( "242-v2.v2", 0x400000, 0x400000, CRC(cc11106e) SHA1(d3108bc05c9bf041d4236b2fa0c66b013aa8db1b) ) /* TC5332204 */
5914   ROM_LOAD( "242-v3.v3", 0x800000, 0x400000, CRC(044ea4e1) SHA1(062a2f2e52098d73bc31c9ad66f5db8080395ce8) ) /* TC5332204 */
5915   ROM_LOAD( "242-v4.v4", 0xc00000, 0x400000, CRC(7985ea30) SHA1(54ed5f0324de6164ea81943ebccb3e8d298368ec) ) /* TC5332204 */
5916
5917   NO_DELTAT_REGION
5918
5919   ROM_REGION( 0x4000000, "sprites", 0 )
5920   ROM_LOAD16_BYTE( "242-c1.c1", 0x0000000, 0x800000, CRC(e564ecd6) SHA1(78f22787a204f26bae9b2b1c945ddbc27143352f) ) /* Plane 0,1 */ /* TC5364205 */
5921   ROM_LOAD16_BYTE( "242-c2.c2", 0x0000001, 0x800000, CRC(bd959b60) SHA1(2c97c59e77c9a3fe7d664e741d37944f3d56c10b) ) /* Plane 2,3 */ /* TC5364205 */
5922   ROM_LOAD16_BYTE( "242-c3.c3", 0x1000000, 0x800000, CRC(22127b4f) SHA1(bd0d00f889d9da7c6ac48f287d9ed8c605ae22cf) ) /* Plane 0,1 */ /* TC5364205 */
5923   ROM_LOAD16_BYTE( "242-c4.c4", 0x1000001, 0x800000, CRC(0b4fa044) SHA1(fa13c3764fae6b035a626601bc43629f1ebaaffd) ) /* Plane 2,3 */ /* TC5364205 */
5924   ROM_LOAD16_BYTE( "242-c5.c5", 0x2000000, 0x800000, CRC(9d10bed3) SHA1(4d44addc7c808649bfb03ec45fb9529da413adff) ) /* Plane 0,1 */ /* TC5364205 */
5925   ROM_LOAD16_BYTE( "242-c6.c6", 0x2000001, 0x800000, CRC(da07b6a2) SHA1(9c3f0da7cde1ffa8feca89efc88f07096e502acf) ) /* Plane 2,3 */ /* TC5364205 */
5926   ROM_LOAD16_BYTE( "242-c7.c7", 0x3000000, 0x800000, CRC(f6d7a38a) SHA1(dd295d974dd4a7e5cb26a3ef3febcd03f28d522b) ) /* Plane 0,1 */ /* TC5364205 */
5927   ROM_LOAD16_BYTE( "242-c8.c8", 0x3000001, 0x800000, CRC(c823e045) SHA1(886fbf64bcb58bc4eabb1fc9262f6ac9901a0f28) ) /* Plane 2,3 */ /* TC5364205 */
5928ROM_END
5929
5930/****************************************
5931 ID-0243
5932 . NGM-2430
5933 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5934 . NGH-2430
5935 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5936****************************************/
5937
5938ROM_START( lastbld2 ) /* MVS AND AES VERSION */ /* later revision */
5939   ROM_REGION( 0x500000, "maincpu", 0 )
5940   ROM_LOAD16_WORD_SWAP( "243-pg1.p1",  0x000000, 0x100000, CRC(af1e6554) SHA1(bd8526f60c2472937728a5d933fbd19d899f2cba) ) /* TC538200 */
5941   ROM_LOAD16_WORD_SWAP( "243-pg2.sp2", 0x100000, 0x400000, CRC(add4a30b) SHA1(7db62564db49fe0218cbb35b119d62582a24d658) ) /* TC5332205 */
5942
5943   NEO_SFIX_128K( "243-s1.s1", CRC(c9cd2298) SHA1(a9a18b5347f9dbe29a2ccb63fd4c8fd19537bf8b) ) /* TC531000 */
5944
5945   NEO_BIOS_AUDIO_128K( "243-m1.m1", CRC(acf12d10) SHA1(6e6b98cc1fa44f24a5168877559b0055e6957b60) ) /* TC531001 */
5946
5947   ROM_REGION( 0x1000000, "ymsnd", 0 )
5948   ROM_LOAD( "243-v1.v1", 0x000000, 0x400000, CRC(f7ee6fbb) SHA1(55137bcabeeb590e40a9b8a7c07dd106e4d12a90) ) /* TC5332204 */
5949   ROM_LOAD( "243-v2.v2", 0x400000, 0x400000, CRC(aa9e4df6) SHA1(a0b91f63e2552a8ad9e0d1af00e2c38288637161) ) /* TC5332204 */
5950   ROM_LOAD( "243-v3.v3", 0x800000, 0x400000, CRC(4ac750b2) SHA1(585a154acc67bd84ea5b944686b78ed082b768d9) ) /* TC5332204 */
5951   ROM_LOAD( "243-v4.v4", 0xc00000, 0x400000, CRC(f5c64ba6) SHA1(2eac455def8c27090862cc042f65a3a8aad88283) ) /* TC5332204 */
5952
5953   NO_DELTAT_REGION
5954
5955   ROM_REGION( 0x3000000, "sprites", 0 )
5956   ROM_LOAD16_BYTE( "243-c1.c1", 0x0000000, 0x800000, CRC(5839444d) SHA1(0616921c4cce20422563578bd0e806d359508599) ) /* Plane 0,1 */ /* TC5364205 */
5957   ROM_LOAD16_BYTE( "243-c2.c2", 0x0000001, 0x800000, CRC(dd087428) SHA1(ca27fdb60425664956a18c021ea465f452fb1527) ) /* Plane 2,3 */ /* TC5364205 */
5958   ROM_LOAD16_BYTE( "243-c3.c3", 0x1000000, 0x800000, CRC(6054cbe0) SHA1(ec2f65e9c930250ee25fd064ee5ae76a7a9c61d9) ) /* Plane 0,1 */ /* TC5364205 */
5959   ROM_LOAD16_BYTE( "243-c4.c4", 0x1000001, 0x800000, CRC(8bd2a9d2) SHA1(0935df65cd2b0891a708bcc0f1c188148058d4b5) ) /* Plane 2,3 */ /* TC5364205 */
5960   ROM_LOAD16_BYTE( "243-c5.c5", 0x2000000, 0x800000, CRC(6a503dcf) SHA1(23241b16d7e20f923d41186b29487ab922c7f530) ) /* Plane 0,1 */ /* TC5364205 */
5961   ROM_LOAD16_BYTE( "243-c6.c6", 0x2000001, 0x800000, CRC(ec9c36d0) SHA1(e145e9e359000dda6e1dfe95a996bc6d29cfca21) ) /* Plane 2,3 */ /* TC5364205 */
5962ROM_END
5963
5964/****************************************
5965 ID-0244
5966 . ??M-2440
5967 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5968 . ??H-2440
5969****************************************/
5970
5971ROM_START( neocup98 )
5972   ROM_REGION( 0x200000, "maincpu", 0 )
5973   ROM_LOAD16_WORD_SWAP( "244-p1.p1", 0x100000, 0x100000, CRC(f8fdb7a5) SHA1(f34ee5d1c24e70427d05ef488f46906dbd9f9950) ) /* TC5316200 */
5974   ROM_CONTINUE( 0x000000, 0x100000 )
5975
5976   NEO_SFIX_128K( "244-s1.s1", CRC(9bddb697) SHA1(2f479bcd5a433201168792a578de3057252d649f) ) /* TC531000 */
5977
5978   NEO_BIOS_AUDIO_128K( "244-m1.m1", CRC(a701b276) SHA1(055550ebc650835bcf8ea4457b2c91bd73e21281) ) /* TC531001 */
5979
5980   ROM_REGION( 0x600000, "ymsnd", 0 )
5981   ROM_LOAD( "244-v1.v1", 0x000000, 0x400000, CRC(79def46d) SHA1(63414235de2e177654508f1c840040424f8993e6) ) /* TC5332204 */
5982   ROM_LOAD( "244-v2.v2", 0x400000, 0x200000, CRC(b231902f) SHA1(9209772e947a2c7ac31b49dd613bf2eab0cb3358) ) /* TC5316200 */
5983
5984   NO_DELTAT_REGION
5985
5986   ROM_REGION( 0x1000000, "sprites", 0 )
5987   ROM_LOAD16_BYTE( "244-c1.c1", 0x000000, 0x800000, CRC(c7a62b23) SHA1(4534ecc9ade69c543188c66229dcad89dbc48668) ) /* Plane 0,1 */ /* TC5364205 */
5988   ROM_LOAD16_BYTE( "244-c2.c2", 0x000001, 0x800000, CRC(33aa0f35) SHA1(3443c7765c6aa177003d42bbfcac9f31d1e12575) ) /* Plane 2,3 */ /* TC5364205 */
5989ROM_END
5990
5991/****************************************
5992 ID-0245
5993 . ??M-2450
5994 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5995****************************************/
5996
5997ROM_START( breakrev ) /* MVS ONLY RELEASE */
5998   ROM_REGION( 0x200000, "maincpu", 0 )
5999   ROM_LOAD16_WORD_SWAP( "245-p1.p1", 0x100000, 0x100000, CRC(c828876d) SHA1(1dcba850e5cf8219d0945612cfded6d20ca8682a) ) /* mask rom TC5316200 */
6000   ROM_CONTINUE( 0x000000, 0x100000 )
6001
6002   NEO_SFIX_128K( "245-s1.s1", CRC(e7660a5d) SHA1(1cd54964ba60b245ea57d9daf0e27b572b815d21) ) /* mask rom TC531000 */
6003
6004   NEO_BIOS_AUDIO_128K( "245-m1.m1", CRC(00f31c66) SHA1(8488598415c9b74bce00e05b31d96e3d1625c20d) ) /* mask rom TC531001 */
6005
6006   ROM_REGION( 0x800000, "ymsnd", 0 )
6007   ROM_LOAD( "245-v1.v1", 0x000000, 0x400000, CRC(e255446c) SHA1(b3933340d49d4ba581f3bf1af7ad69d786205790) ) /* mask rom TC5332204 */
6008   ROM_LOAD( "245-v2.v2", 0x400000, 0x400000, CRC(9068198a) SHA1(71819b0475a5e173a2f9a6e4ff19a94655141c3c) ) /* mask rom TC5332204 */
6009
6010   NO_DELTAT_REGION
6011
6012   ROM_REGION( 0x1800000, "sprites", 0 )
6013   /* The chip labels and sizes are correct */
6014   ROM_LOAD16_BYTE( "245-c1.c1", 0x0000000, 0x400000, CRC(68d4ae76) SHA1(2e820067f6963669f104bebf19e865fe4127b4dd) ) /* Plane 0,1 */ /* mask rom TC5332205 */
6015   ROM_LOAD16_BYTE( "245-c2.c2", 0x0000001, 0x400000, CRC(fdee05cd) SHA1(efc4ffd790953ac7c25d5f045c64a9b49d24b096) ) /* Plane 2,3 */ /* mask rom TC5332205 */
6016   ROM_LOAD16_BYTE( "245-c3.c3", 0x0800000, 0x400000, CRC(645077f3) SHA1(0ae74f3b4b3b88f128c6d8c0f35ffa53f5d67ef2) ) /* Plane 0,1 */ /* mask rom TC5332205 */
6017   ROM_LOAD16_BYTE( "245-c4.c4", 0x0800001, 0x400000, CRC(63aeb74c) SHA1(9ff6930c0c3d79b46b86356e8565ce4fcd69ac38) ) /* Plane 2,3 */ /* mask rom TC5332205 */
6018   ROM_LOAD16_BYTE( "245-c5.c5", 0x1000000, 0x400000, CRC(b5f40e7f) SHA1(b332bac64dbb9a9dd66c5315f47ea08634d36f45) ) /* Plane 0,1 */ /* mask rom TC5332205 */
6019   ROM_LOAD16_BYTE( "245-c6.c6", 0x1000001, 0x400000, CRC(d0337328) SHA1(dff86b75dc283bd4512557a5c64f16e6be6c16e4) ) /* Plane 2,3 */ /* mask rom TC5332205 */
6020ROM_END
6021
6022/****************************************
6023 ID-0246
6024 . NGM-2460
6025 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
6026 . NGH-2460
6027****************************************/
6028
6029ROM_START( shocktr2 )
6030   ROM_REGION( 0x500000, "maincpu", 0 )
6031   ROM_LOAD16_WORD_SWAP( "246-p1.p1",  0x000000, 0x100000, CRC(6d4b7781) SHA1(3c9d53d5da9842bfd45037c919064dda3fb2e089) ) /* TC538200 */
6032   ROM_LOAD16_WORD_SWAP( "246-p2.sp2", 0x100000, 0x400000, CRC(72ea04c3) SHA1(4fb1d22c30f5f3db4637dd92a4d2705c88de399d) ) /* TC5332205 */
6033
6034   NEO_SFIX_128K( "246-s1.s1", CRC(2a360637) SHA1(431b43da5377dd189e51bd93d88d8a24d1b5090a) ) /* TC531000 */
6035
6036   NEO_BIOS_AUDIO_128K( "246-m1.m1", CRC(d0604ad1) SHA1(fae3cd52a177eadd5f5775ace957cc0f8301e65d) ) /* TC531001 */
6037
6038   ROM_REGION( 0x1000000, "ymsnd", 0 )
6039   ROM_LOAD( "246-v1.v1", 0x000000, 0x400000, CRC(16986fc6) SHA1(cff3103dadf2f4390460456a5bd3fb5f28e21f6a) ) /* TC5332204 */
6040   ROM_LOAD( "246-v2.v2", 0x400000, 0x400000, CRC(ada41e83) SHA1(78e37ffaaa5679c8775a3a71f6df7a0d15082bdc) ) /* TC5332204 */
6041   ROM_LOAD( "246-v3.v3", 0x800000, 0x200000, CRC(a05ba5db) SHA1(09d739cad323d918f4196f91b654627fcafd8f4d) ) /* TC5316200 */
6042
6043   NO_DELTAT_REGION
6044
6045   ROM_REGION( 0x3000000, "sprites", 0 )
6046   ROM_LOAD16_BYTE( "246-c1.c1", 0x0000000, 0x800000, CRC(47ac9ec5) SHA1(2d9eea11ba87baa23b18a1a3f607dc137846e807) ) /* Plane 0,1 */ /* TC5364205 */
6047   ROM_LOAD16_BYTE( "246-c2.c2", 0x0000001, 0x800000, CRC(7bcab64f) SHA1(08d0edddd14b53d606e9a7a46aa4fb4e7398e0d0) ) /* Plane 2,3 */ /* TC5364205 */
6048   ROM_LOAD16_BYTE( "246-c3.c3", 0x1000000, 0x800000, CRC(db2f73e8) SHA1(8d0c3473a8b2a4e28fed1b74beb2e025b7e61867) ) /* Plane 0,1 */ /* TC5364205 */
6049   ROM_LOAD16_BYTE( "246-c4.c4", 0x1000001, 0x800000, CRC(5503854e) SHA1(a0f2e7c609cbb2aa43493a39d7dcaeca3d511d26) ) /* Plane 2,3 */ /* TC5364205 */
6050   ROM_LOAD16_BYTE( "246-c5.c5", 0x2000000, 0x800000, CRC(055b3701) SHA1(97f5e92538d1f2e437dcb3f80e56e1230287e8d1) ) /* Plane 0,1 */ /* TC5364205 */
6051   ROM_LOAD16_BYTE( "246-c6.c6", 0x2000001, 0x800000, CRC(7e2caae1) SHA1(d9de14e3e323664a8c5b7f1df1ba9ec7dd0e6a46) ) /* Plane 2,3 */ /* TC5364205 */
6052ROM_END
6053
6054/****************************************
6055 ID-0247
6056 . ??M-2470
6057 NEO-MVS PROGBK1 / NEO-MVS CHA256
6058****************************************/
6059
6060ROM_START( flipshot ) /* MVS ONLY RELEASE */
6061   ROM_REGION( 0x100000, "maincpu", 0 )
6062   ROM_LOAD16_WORD_SWAP( "247-p1.p1", 0x000000, 0x100000, CRC(95779094) SHA1(a985e033bc6f137fa65855d3eed245d66d5b244a) ) /* mask rom TC538200 */
6063
6064   NEO_SFIX_128K( "247-s1.s1", CRC(6300185c) SHA1(cb2f1de085fde214f96a962b1c2fa285eb387d44) ) /* mask rom TC531000 */
6065
6066   NEO_BIOS_AUDIO_128K( "247-m1.m1", CRC(a9fe0144) SHA1(4cc076ecce9216a373f3dcd7ba28a03d6050e522) ) /* mask rom TC 531001 */
6067
6068   ROM_REGION( 0x200000, "ymsnd", 0 )
6069   ROM_LOAD( "247-v1.v1", 0x000000, 0x200000, CRC(42ec743d) SHA1(f45b5167ebcbd59300f4e5b05448cd421654102a) ) /* mask rom TC5316200 */
6070
6071   NO_DELTAT_REGION
6072
6073   ROM_REGION( 0x400000, "sprites", 0 )
6074   ROM_LOAD16_BYTE( "247-c1.c1", 0x000000, 0x200000, CRC(c9eedcb2) SHA1(7627f2810322c146511525eb70b573a6a5ede926) ) /* Plane 0,1 */ /* mask rom TC5316200 */
6075   ROM_LOAD16_BYTE( "247-c2.c2", 0x000001, 0x200000, CRC(7d6d6e87) SHA1(6475b58b9f91c20d1f465f3e892de0c68e12a92b) ) /* Plane 2,3 */ /* mask rom TC5316200 */
6076ROM_END
6077
6078/****************************************
6079 ID-0248
6080 . ??M-2480
6081 NEO-MVS PROGBK1 / NEO-MVS CHA256
6082****************************************/
6083
6084ROM_START( pbobbl2n ) /* MVS ONLY RELEASE */
6085   ROM_REGION( 0x100000, "maincpu", 0 )
6086   ROM_LOAD16_WORD_SWAP( "248-p1.p1", 0x000000, 0x100000, CRC(9d6c0754) SHA1(95c70c2d51fc4de01e768e03cc800a850aaad5dc) ) /* TC538200 */
6087
6088   NEO_SFIX_128K( "248-s1.s1", CRC(0a3fee41) SHA1(0ab2120e462086be942efcf6ffb37f58ea966ca3) ) /* TC531000DP */
6089
6090   NEO_BIOS_AUDIO_128K( "248-m1.m1", CRC(883097a9) SHA1(677bf9684c0c7977a9a3f0c1288e430040a53b49) ) /* TC531001 */
6091
6092   ROM_REGION( 0x800000, "ymsnd", 0 )
6093   ROM_LOAD( "248-v1.v1", 0x000000, 0x400000, CRC(57fde1fa) SHA1(af39bc141fc35b78dcacfd42b3abb29d7e5c2c89) ) /* TC5332204 */
6094   ROM_LOAD( "248-v2.v2", 0x400000, 0x400000, CRC(4b966ef3) SHA1(083c0e9fd7b8e506087648cdd8ec4206103984cd) ) /* TC5332204 */
6095
6096   NO_DELTAT_REGION
6097
6098   ROM_REGION( 0xa00000, "sprites", 0 )
6099   ROM_LOAD16_BYTE( "248-c1.c1", 0x000000, 0x400000, CRC(d9115327) SHA1(a49aa836a902326cfe785428e1699fefcf8566d4) ) /* Plane 0,1 */ /* TC5332205 */
6100   ROM_LOAD16_BYTE( "248-c2.c2", 0x000001, 0x400000, CRC(77f9fdac) SHA1(4642d71d32b6a05dc8bfa0f95c936a77c7cef05e) ) /* Plane 2,3 */ /* TC5332205 */
6101   ROM_LOAD16_BYTE( "248-c3.c3", 0x800000, 0x100000, CRC(8890bf7c) SHA1(a52f6bafd60e72003bfe38c80c1dde24b4983b2a) ) /* Plane 0,1 */ /* TC538200 */
6102   ROM_LOAD16_BYTE( "248-c4.c4", 0x800001, 0x100000, CRC(8efead3f) SHA1(f577d2f7c6f850b3d100c36947ad15e33dfa0bed) ) /* Plane 2,3 */ /* TC538200 */
6103ROM_END
6104
6105/****************************************
6106 ID-0249
6107 . ??M-2490
6108 NEO-MVS PROGBK1 / NEO-MVS CHA256
6109 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
6110****************************************/
6111
6112ROM_START( ctomaday ) /* MVS ONLY RELEASE */
6113   ROM_REGION( 0x200000, "maincpu", 0 )
6114   ROM_LOAD16_WORD_SWAP( "249-p1.p1", 0x100000, 0x100000, CRC(c9386118) SHA1(5554662c7bc8605889cac4a67fee05bbb4eb786f) ) /* TC5316200 */
6115   ROM_CONTINUE( 0x000000, 0x100000 )
6116
6117   NEO_SFIX_128K( "249-s1.s1", CRC(dc9eb372) SHA1(b8aa142243ba303799554479bfc88eb49260f3b1) ) /* TC531000DP */
6118
6119   NEO_BIOS_AUDIO_128K( "249-m1.m1", CRC(80328a47) SHA1(34b6b1a81eab1cf38834b2eea55454ce1b6100e2) ) /* TC531001 */
6120
6121   ROM_REGION( 0x500000, "ymsnd", 0 )
6122   ROM_LOAD( "249-v1.v1", 0x000000, 0x400000, CRC(de7c8f27) SHA1(3681a68a702ab5da8f509b8301d6cada75959332) ) /* TC5332204 */
6123   ROM_LOAD( "249-v2.v2", 0x400000, 0x100000, CRC(c8e40119) SHA1(738f525c381ed68c0b8a89318a3e4d0089473c45) ) /* TC538200 */
6124
6125   NO_DELTAT_REGION
6126
6127   ROM_REGION( 0x800000, "sprites", 0 )
6128   ROM_LOAD16_BYTE( "249-c1.c1", 0x000000, 0x400000, CRC(041fb8ee) SHA1(dacc84d713d76818d89a26358374afaa22fa82a2) ) /* Plane 0,1 */ /* TC5332205 */
6129   ROM_LOAD16_BYTE( "249-c2.c2", 0x000001, 0x400000, CRC(74f3cdf4) SHA1(55ddabaf77f4d575f4deb24fe63e4bdc2c6f31e1) ) /* Plane 2,3 */ /* TC5332205 */
6130ROM_END
6131
6132/****************************************
6133 ID-0250
6134 . NGM-2500
6135 NEO-MVS PROGEOP (1999.2.2) / NEO-MVS CHA512Y
6136 . NGH-2500
6137 NEO-AEG PROGEOP (1999.4.2) / NEO-AEG CHA512Y
6138****************************************/
6139
6140ROM_START( mslugx ) /* MVS AND AES VERSION */
6141   ROM_REGION( 0x500000, "maincpu", 0 )
6142   ROM_LOAD16_WORD_SWAP( "250-p1.p1",  0x000000, 0x100000, CRC(81f1f60b) SHA1(4c19f2e9824e606178ac1c9d4b0516fbaa625035) ) /* TC538200 */
6143   ROM_LOAD16_WORD_SWAP( "250-p2.ep1", 0x100000, 0x400000, CRC(1fda2e12) SHA1(18aaa7a3ba8da99f78c430e9be69ccde04bc04d9) ) /* TC5332205 */
6144
6145   NEO_SFIX_128K( "250-s1.s1", CRC(fb6f441d) SHA1(2cc392ecde5d5afb28ddbaa1030552b48571dcfb) ) /* TC531000 */
6146
6147   NEO_BIOS_AUDIO_128K( "250-m1.m1", CRC(fd42a842) SHA1(55769bad4860f64ef53a333e0da9e073db483d6a) ) /* TC531001 */
6148
6149   ROM_REGION( 0xa00000, "ymsnd", 0 )
6150   ROM_LOAD( "250-v1.v1", 0x000000, 0x400000, CRC(c79ede73) SHA1(ebfcc67204ff9677cf7972fd5b6b7faabf07280c) ) /* TC5332204 */
6151   ROM_LOAD( "250-v2.v2", 0x400000, 0x400000, CRC(ea9aabe1) SHA1(526c42ca9a388f7435569400e2f132e2724c71ff) ) /* TC5332204 */
6152   ROM_LOAD( "250-v3.v3", 0x800000, 0x200000, CRC(2ca65102) SHA1(45979d1edb1fc774a415d9386f98d7cb252a2043) ) /* TC5316200 */
6153
6154   NO_DELTAT_REGION
6155
6156   ROM_REGION( 0x3000000, "sprites", 0 )
6157   ROM_LOAD16_BYTE( "250-c1.c1", 0x0000000, 0x800000, CRC(09a52c6f) SHA1(c3e8a8ccdac0f8bddc4c3413277626532405fae2) ) /* Plane 0,1 */ /* TC5364205 */
6158   ROM_LOAD16_BYTE( "250-c2.c2", 0x0000001, 0x800000, CRC(31679821) SHA1(554f600a3aa09c16c13c625299b087a79d0d15c5) ) /* Plane 2,3 */ /* TC5364205 */
6159   ROM_LOAD16_BYTE( "250-c3.c3", 0x1000000, 0x800000, CRC(fd602019) SHA1(c56646c62387bc1439d46610258c755beb8d7dd8) ) /* Plane 0,1 */ /* TC5364205 */
6160   ROM_LOAD16_BYTE( "250-c4.c4", 0x1000001, 0x800000, CRC(31354513) SHA1(31be8ea2498001f68ce4b06b8b90acbf2dcab6af) ) /* Plane 2,3 */ /* TC5364205 */
6161   ROM_LOAD16_BYTE( "250-c5.c5", 0x2000000, 0x800000, CRC(a4b56124) SHA1(d41069856df990a1a99d39fb263c8303389d5475) ) /* Plane 0,1 */ /* TC5364205 */
6162   ROM_LOAD16_BYTE( "250-c6.c6", 0x2000001, 0x800000, CRC(83e3e69d) SHA1(39be66287696829d243fb71b3fb8b7dc2bc3298f) ) /* Plane 0,1 */ /* TC5364205 */
6163ROM_END
6164
6165/****************************************
6166 ID-0251
6167 . NGM-2510
6168 SMA protected version found on:
6169 NEO-MVS PROGLBA (NEO-SMA) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6170 Non SMA protected version found on:
6171 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6172 . NGH-2510
6173 NEO-AEG PROGLBA / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7042)
6174****************************************/
6175
6176ROM_START( kof99 ) /* Original Version - Encrypted Code & GFX */ /* MVS VERSION */
6177   ROM_REGION( 0x900000, "maincpu", 0 )
6178   ROM_LOAD16_WORD_SWAP( "ka.neo-sma", 0x0c0000, 0x040000, CRC(7766d09e) SHA1(4e0a49d1ad669a62676cb30f527c6590cde80194) ) /* stored in the custom chip */
6179   ROM_LOAD16_WORD_SWAP( "251-p1.p1",  0x100000, 0x400000, CRC(006e4532) SHA1(47791ab4044ad55988b1d3412d95b65b91a163c8) ) /* mask rom TC5332205 */
6180   ROM_LOAD16_WORD_SWAP( "251-p2.p2",  0x500000, 0x400000, CRC(90175f15) SHA1(aa9e75810438a8b45808a8bf32cb04d91b5c0b3a) ) /* mask rom TC5332205 */
6181
6182   ROM_Y_ZOOM
6183
6184   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6185   ROM_REGION( 0x20000, "fixed", 0 )
6186   ROM_FILL( 0x000000, 0x20000, 0 )
6187   ROM_REGION( 0x20000, "fixedbios", 0 )
6188   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6189
6190   NEO_BIOS_AUDIO_128K( "251-m1.m1", CRC(5e74539c) SHA1(6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da) ) /* TC531001 */
6191
6192   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6193   ROM_LOAD( "251-v1.v1", 0x000000, 0x400000, CRC(ef2eecc8) SHA1(8ed13b9db92dba3124bc5ba66e3e275885ece24a) ) /* TC5332204 */
6194   ROM_LOAD( "251-v2.v2", 0x400000, 0x400000, CRC(73e211ca) SHA1(0e60fa64cab6255d9721e2b4bc22e3de64c874c5) ) /* TC5332204 */
6195   ROM_LOAD( "251-v3.v3", 0x800000, 0x400000, CRC(821901da) SHA1(c6d4975bfaa19a62ed59126cadf2578c0a5c257f) ) /* TC5332204 */
6196   ROM_LOAD( "251-v4.v4", 0xc00000, 0x200000, CRC(b49e6178) SHA1(dde6f76e958841e8c99b693e13ced9aa9ef316dc) ) /* TC5316200 */
6197
6198   NO_DELTAT_REGION
6199
6200   ROM_REGION( 0x4000000, "sprites", 0 )
6201   /* Encrypted */
6202   ROM_LOAD16_BYTE( "251-c1.c1", 0x0000000, 0x800000, CRC(0f9e93fe) SHA1(c7d77f0833c6f526f632e4f2dce59e302f6b9a15) ) /* Plane 0,1 */ /* TC5364205 */
6203   ROM_LOAD16_BYTE( "251-c2.c2", 0x0000001, 0x800000, CRC(e71e2ea3) SHA1(39c7a326fddbcca3b29c68cdc96aad4d62295c0f) ) /* Plane 2,3 */ /* TC5364205 */
6204   ROM_LOAD16_BYTE( "251-c3.c3", 0x1000000, 0x800000, CRC(238755d2) SHA1(01125b5c7a28e350f091280b041954fd1ac7c98f) ) /* Plane 0,1 */ /* TC5364205 */
6205   ROM_LOAD16_BYTE( "251-c4.c4", 0x1000001, 0x800000, CRC(438c8b22) SHA1(ffbc643f5b27dd00f2f95d4ef4c5f29ee814722b) ) /* Plane 2,3 */ /* TC5364205 */
6206   ROM_LOAD16_BYTE( "251-c5.c5", 0x2000000, 0x800000, CRC(0b0abd0a) SHA1(d5ad324fe523bdc6f09209d236cc4932524a48f1) ) /* Plane 0,1 */ /* TC5364205 */
6207   ROM_LOAD16_BYTE( "251-c6.c6", 0x2000001, 0x800000, CRC(65bbf281) SHA1(79ae174667a23dabcfe865b6cd6133c86098452e) ) /* Plane 2,3 */ /* TC5364205 */
6208   ROM_LOAD16_BYTE( "251-c7.c7", 0x3000000, 0x800000, CRC(ff65f62e) SHA1(7cd335fede05b56e15db90ce407c1183a78da4e9) ) /* Plane 0,1 */ /* TC5364205 */
6209   ROM_LOAD16_BYTE( "251-c8.c8", 0x3000001, 0x800000, CRC(8d921c68) SHA1(42acf1d27d52a8e3b6262eb7df50693c0b135565) ) /* Plane 2,3 */ /* TC5364205 */
6210ROM_END
6211
6212ROM_START( kof99h ) /* Original Version - Encrypted Code & GFX */ /* AES VERSION */
6213   ROM_REGION( 0x900000, "maincpu", 0 )
6214   ROM_LOAD16_WORD_SWAP( "kc.neo-sma",  0x0c0000, 0x040000, CRC(6c9d0647) SHA1(2a0ce62ca6c18007e8fbe1b60475c7874ab79389) ) /* stored in the custom chip */
6215   ROM_LOAD16_WORD_SWAP( "251-p1.p1",   0x100000, 0x400000, CRC(006e4532) SHA1(47791ab4044ad55988b1d3412d95b65b91a163c8) ) /* mask rom TC5332205 */
6216   ROM_LOAD16_WORD_SWAP( "251-pg2.p2",  0x500000, 0x400000, CRC(d9057f51) SHA1(8d365b4dd40351495df99d6c765df1434b0b0548) ) /* mask rom TC5332205 */
6217
6218   ROM_Y_ZOOM
6219
6220   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6221   ROM_REGION( 0x20000, "fixed", 0 )
6222   ROM_FILL( 0x000000, 0x20000, 0 )
6223   ROM_REGION( 0x20000, "fixedbios", 0 )
6224   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6225
6226   NEO_BIOS_AUDIO_128K( "251-m1.m1", CRC(5e74539c) SHA1(6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da) ) /* TC531001 */
6227
6228   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6229   ROM_LOAD( "251-v1.v1", 0x000000, 0x400000, CRC(ef2eecc8) SHA1(8ed13b9db92dba3124bc5ba66e3e275885ece24a) ) /* TC5332204 */
6230   ROM_LOAD( "251-v2.v2", 0x400000, 0x400000, CRC(73e211ca) SHA1(0e60fa64cab6255d9721e2b4bc22e3de64c874c5) ) /* TC5332204 */
6231   ROM_LOAD( "251-v3.v3", 0x800000, 0x400000, CRC(821901da) SHA1(c6d4975bfaa19a62ed59126cadf2578c0a5c257f) ) /* TC5332204 */
6232   ROM_LOAD( "251-v4.v4", 0xc00000, 0x200000, CRC(b49e6178) SHA1(dde6f76e958841e8c99b693e13ced9aa9ef316dc) ) /* TC5316200 */
6233
6234   NO_DELTAT_REGION
6235
6236   ROM_REGION( 0x4000000, "sprites", 0 )
6237   /* Encrypted */
6238   ROM_LOAD16_BYTE( "251-c1.c1", 0x0000000, 0x800000, CRC(0f9e93fe) SHA1(c7d77f0833c6f526f632e4f2dce59e302f6b9a15) ) /* Plane 0,1 */ /* TC5364205 */
6239   ROM_LOAD16_BYTE( "251-c2.c2", 0x0000001, 0x800000, CRC(e71e2ea3) SHA1(39c7a326fddbcca3b29c68cdc96aad4d62295c0f) ) /* Plane 2,3 */ /* TC5364205 */
6240   ROM_LOAD16_BYTE( "251-c3.c3", 0x1000000, 0x800000, CRC(238755d2) SHA1(01125b5c7a28e350f091280b041954fd1ac7c98f) ) /* Plane 0,1 */ /* TC5364205 */
6241   ROM_LOAD16_BYTE( "251-c4.c4", 0x1000001, 0x800000, CRC(438c8b22) SHA1(ffbc643f5b27dd00f2f95d4ef4c5f29ee814722b) ) /* Plane 2,3 */ /* TC5364205 */
6242   ROM_LOAD16_BYTE( "251-c5.c5", 0x2000000, 0x800000, CRC(0b0abd0a) SHA1(d5ad324fe523bdc6f09209d236cc4932524a48f1) ) /* Plane 0,1 */ /* TC5364205 */
6243   ROM_LOAD16_BYTE( "251-c6.c6", 0x2000001, 0x800000, CRC(65bbf281) SHA1(79ae174667a23dabcfe865b6cd6133c86098452e) ) /* Plane 2,3 */ /* TC5364205 */
6244   ROM_LOAD16_BYTE( "251-c7.c7", 0x3000000, 0x800000, CRC(ff65f62e) SHA1(7cd335fede05b56e15db90ce407c1183a78da4e9) ) /* Plane 0,1 */ /* TC5364205 */
6245   ROM_LOAD16_BYTE( "251-c8.c8", 0x3000001, 0x800000, CRC(8d921c68) SHA1(42acf1d27d52a8e3b6262eb7df50693c0b135565) ) /* Plane 2,3 */ /* TC5364205 */
6246ROM_END
6247
6248ROM_START( kof99e ) /* Original Version - Encrypted Code & GFX */
6249   ROM_REGION( 0x900000, "maincpu", 0 )
6250   ROM_LOAD16_WORD_SWAP( "ka.neo-sma", 0x0c0000, 0x040000, CRC(7766d09e) SHA1(4e0a49d1ad669a62676cb30f527c6590cde80194) )  /* stored in the custom chip */
6251   /* Is the SMA for this set correct? A set with this layout and a SMA.KB is known */
6252   ROM_LOAD16_WORD_SWAP( "251-ep1.p1", 0x100000, 0x200000, CRC(1e8d692d) SHA1(eea1aa8c0a17f089ac14831889c36535e559072c) )
6253   ROM_LOAD16_WORD_SWAP( "251-ep2.p2", 0x300000, 0x200000, CRC(d6206e5a) SHA1(0e1100d03c40c6d5cfa899d009e319ae73fce6b8) )
6254   ROM_LOAD16_WORD_SWAP( "251-ep3.p3", 0x500000, 0x200000, CRC(d58c3ef8) SHA1(f927d90d55b49944f448d6286e0cb913cc70ade1) )
6255   ROM_LOAD16_WORD_SWAP( "251-ep4.p4", 0x700000, 0x200000, CRC(52de02ae) SHA1(f16924ff8eef92da7716236a6a055e22e090a02b) )
6256
6257   ROM_Y_ZOOM
6258
6259   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6260   ROM_REGION( 0x20000, "fixed", 0 )
6261   ROM_FILL( 0x000000, 0x20000, 0 )
6262   ROM_REGION( 0x20000, "fixedbios", 0 )
6263   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6264
6265   NEO_BIOS_AUDIO_128K( "251-m1.m1", CRC(5e74539c) SHA1(6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da) ) /* TC531001 */
6266
6267   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6268   ROM_LOAD( "251-v1.v1", 0x000000, 0x400000, CRC(ef2eecc8) SHA1(8ed13b9db92dba3124bc5ba66e3e275885ece24a) ) /* TC5332204 */
6269   ROM_LOAD( "251-v2.v2", 0x400000, 0x400000, CRC(73e211ca) SHA1(0e60fa64cab6255d9721e2b4bc22e3de64c874c5) ) /* TC5332204 */
6270   ROM_LOAD( "251-v3.v3", 0x800000, 0x400000, CRC(821901da) SHA1(c6d4975bfaa19a62ed59126cadf2578c0a5c257f) ) /* TC5332204 */
6271   ROM_LOAD( "251-v4.v4", 0xc00000, 0x200000, CRC(b49e6178) SHA1(dde6f76e958841e8c99b693e13ced9aa9ef316dc) ) /* TC5316200 */
6272
6273   NO_DELTAT_REGION
6274
6275   ROM_REGION( 0x4000000, "sprites", 0 )
6276   /* Encrypted */
6277   ROM_LOAD16_BYTE( "251-c1.c1", 0x0000000, 0x800000, CRC(0f9e93fe) SHA1(c7d77f0833c6f526f632e4f2dce59e302f6b9a15) ) /* Plane 0,1 */ /* TC5364205 */
6278   ROM_LOAD16_BYTE( "251-c2.c2", 0x0000001, 0x800000, CRC(e71e2ea3) SHA1(39c7a326fddbcca3b29c68cdc96aad4d62295c0f) ) /* Plane 2,3 */ /* TC5364205 */
6279   ROM_LOAD16_BYTE( "251-c3.c3", 0x1000000, 0x800000, CRC(238755d2) SHA1(01125b5c7a28e350f091280b041954fd1ac7c98f) ) /* Plane 0,1 */ /* TC5364205 */
6280   ROM_LOAD16_BYTE( "251-c4.c4", 0x1000001, 0x800000, CRC(438c8b22) SHA1(ffbc643f5b27dd00f2f95d4ef4c5f29ee814722b) ) /* Plane 2,3 */ /* TC5364205 */
6281   ROM_LOAD16_BYTE( "251-c5.c5", 0x2000000, 0x800000, CRC(0b0abd0a) SHA1(d5ad324fe523bdc6f09209d236cc4932524a48f1) ) /* Plane 0,1 */ /* TC5364205 */
6282   ROM_LOAD16_BYTE( "251-c6.c6", 0x2000001, 0x800000, CRC(65bbf281) SHA1(79ae174667a23dabcfe865b6cd6133c86098452e) ) /* Plane 2,3 */ /* TC5364205 */
6283   ROM_LOAD16_BYTE( "251-c7.c7", 0x3000000, 0x800000, CRC(ff65f62e) SHA1(7cd335fede05b56e15db90ce407c1183a78da4e9) ) /* Plane 0,1 */ /* TC5364205 */
6284   ROM_LOAD16_BYTE( "251-c8.c8", 0x3000001, 0x800000, CRC(8d921c68) SHA1(42acf1d27d52a8e3b6262eb7df50693c0b135565) ) /* Plane 2,3 */ /* TC5364205 */
6285ROM_END
6286
6287ROM_START( kof99k ) /* Original Version - Encrypted GFX */ /* KOREAN VERSION */
6288   ROM_REGION( 0x500000, "maincpu", 0 )
6289   ROM_LOAD16_WORD_SWAP( "152-p1.p1",  0x000000, 0x100000, CRC(f2c7ddfa) SHA1(d592eecc53d442c55c2f26a6a721fdf2924d2a5b) )
6290   ROM_LOAD16_WORD_SWAP( "152-p2.sp2", 0x100000, 0x400000, CRC(274ef47a) SHA1(98654b68cc85c19d4a90b46f3110f551fa2e5357) )
6291
6292   ROM_Y_ZOOM
6293
6294   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6295   ROM_REGION( 0x20000, "fixed", 0 )
6296   ROM_FILL( 0x000000, 0x20000, 0 )
6297   ROM_REGION( 0x20000, "fixedbios", 0 )
6298   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6299
6300   NEO_BIOS_AUDIO_128K( "251-m1.m1", CRC(5e74539c) SHA1(6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da) ) /* TC531001 */
6301
6302   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6303   ROM_LOAD( "251-v1.v1", 0x000000, 0x400000, CRC(ef2eecc8) SHA1(8ed13b9db92dba3124bc5ba66e3e275885ece24a) ) /* TC5332204 */
6304   ROM_LOAD( "251-v2.v2", 0x400000, 0x400000, CRC(73e211ca) SHA1(0e60fa64cab6255d9721e2b4bc22e3de64c874c5) ) /* TC5332204 */
6305   ROM_LOAD( "251-v3.v3", 0x800000, 0x400000, CRC(821901da) SHA1(c6d4975bfaa19a62ed59126cadf2578c0a5c257f) ) /* TC5332204 */
6306   ROM_LOAD( "251-v4.v4", 0xc00000, 0x200000, CRC(b49e6178) SHA1(dde6f76e958841e8c99b693e13ced9aa9ef316dc) ) /* TC5316200 */
6307
6308   NO_DELTAT_REGION
6309
6310   ROM_REGION( 0x4000000, "sprites", 0 )
6311   /* Encrypted */
6312   ROM_LOAD16_BYTE( "251-c1.c1", 0x0000000, 0x800000, CRC(0f9e93fe) SHA1(c7d77f0833c6f526f632e4f2dce59e302f6b9a15) ) /* Plane 0,1 */ /* TC5364205 */
6313   ROM_LOAD16_BYTE( "251-c2.c2", 0x0000001, 0x800000, CRC(e71e2ea3) SHA1(39c7a326fddbcca3b29c68cdc96aad4d62295c0f) ) /* Plane 2,3 */ /* TC5364205 */
6314   ROM_LOAD16_BYTE( "251-c3.c3", 0x1000000, 0x800000, CRC(238755d2) SHA1(01125b5c7a28e350f091280b041954fd1ac7c98f) ) /* Plane 0,1 */ /* TC5364205 */
6315   ROM_LOAD16_BYTE( "251-c4.c4", 0x1000001, 0x800000, CRC(438c8b22) SHA1(ffbc643f5b27dd00f2f95d4ef4c5f29ee814722b) ) /* Plane 2,3 */ /* TC5364205 */
6316   ROM_LOAD16_BYTE( "251-c5.c5", 0x2000000, 0x800000, CRC(0b0abd0a) SHA1(d5ad324fe523bdc6f09209d236cc4932524a48f1) ) /* Plane 0,1 */ /* TC5364205 */
6317   ROM_LOAD16_BYTE( "251-c6.c6", 0x2000001, 0x800000, CRC(65bbf281) SHA1(79ae174667a23dabcfe865b6cd6133c86098452e) ) /* Plane 2,3 */ /* TC5364205 */
6318   ROM_LOAD16_BYTE( "251-c7.c7", 0x3000000, 0x800000, CRC(ff65f62e) SHA1(7cd335fede05b56e15db90ce407c1183a78da4e9) ) /* Plane 0,1 */ /* TC5364205 */
6319   ROM_LOAD16_BYTE( "251-c8.c8", 0x3000001, 0x800000, CRC(8d921c68) SHA1(42acf1d27d52a8e3b6262eb7df50693c0b135565) ) /* Plane 2,3 */ /* TC5364205 */
6320ROM_END
6321
6322ROM_START( kof99p ) /* Prototype Version - Possibly Hacked */
6323   ROM_REGION( 0x500000, "maincpu", 0 )
6324   ROM_LOAD16_WORD_SWAP( "proto_251-p1.p1", 0x000000, 0x100000, CRC(f37929c4) SHA1(226e7e3d629568399b88275e5bcd4e5b3839be95) )
6325   ROM_LOAD16_WORD_SWAP( "proto_251-p2.p2", 0x100000, 0x400000, CRC(739742ad) SHA1(31acaf05a9bf186305888d3db7e4e8a83f7bb0a4) )
6326
6327   /* This is the S1 from the prototype, the final is different */
6328   NEO_SFIX_128K( "proto_251-s1.s1", CRC(fb1498ed) SHA1(d40060b31b6f217a4abdf3b336439fcd7bd7aaef) )
6329
6330   /* Did the Prototype really use the same sound program / voice roms, sound isn't great .. */
6331   NEO_BIOS_AUDIO_128K( "251-m1.m1", CRC(5e74539c) SHA1(6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da) ) /* TC531001 */
6332
6333   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6334   ROM_LOAD( "251-v1.v1", 0x000000, 0x400000, CRC(ef2eecc8) SHA1(8ed13b9db92dba3124bc5ba66e3e275885ece24a) ) /* TC5332204 */
6335   ROM_LOAD( "251-v2.v2", 0x400000, 0x400000, CRC(73e211ca) SHA1(0e60fa64cab6255d9721e2b4bc22e3de64c874c5) ) /* TC5332204 */
6336   ROM_LOAD( "251-v3.v3", 0x800000, 0x400000, CRC(821901da) SHA1(c6d4975bfaa19a62ed59126cadf2578c0a5c257f) ) /* TC5332204 */
6337   ROM_LOAD( "251-v4.v4", 0xc00000, 0x200000, CRC(b49e6178) SHA1(dde6f76e958841e8c99b693e13ced9aa9ef316dc) ) /* TC5316200 */
6338
6339   NO_DELTAT_REGION
6340
6341   ROM_REGION( 0x4000000, "sprites", 0 )
6342   /* these are probably decrypted versions of the roms found in the final */
6343   ROM_LOAD16_BYTE( "proto_251-c1.c1", 0x0000000, 0x800000, CRC(e5d8ffa4) SHA1(65f15f9f02424a7a9dd35916166594f283e8d424) ) /* Plane 0,1 */
6344   ROM_LOAD16_BYTE( "proto_251-c2.c2", 0x0000001, 0x800000, CRC(d822778f) SHA1(b590055e9bf1549bd6e1ecdabd65702202615712) ) /* Plane 2,3 */
6345   ROM_LOAD16_BYTE( "proto_251-c3.c3", 0x1000000, 0x800000, CRC(f20959e8) SHA1(38293043fa77ac51c5e3191118874c58f1ae4d30) ) /* Plane 0,1 */
6346   ROM_LOAD16_BYTE( "proto_251-c4.c4", 0x1000001, 0x800000, CRC(54ffbe9f) SHA1(8e62442923551f07a552621951b1accab2830e3b) ) /* Plane 2,3 */
6347   ROM_LOAD16_BYTE( "proto_251-c5.c5", 0x2000000, 0x800000, CRC(d87a3bbc) SHA1(430f6812088712e0eb5714dcc664d8bba75e921a) ) /* Plane 0,1 */
6348   ROM_LOAD16_BYTE( "proto_251-c6.c6", 0x2000001, 0x800000, CRC(4d40a691) SHA1(2b580d0678a5e6033ef16130671e860364d35e56) ) /* Plane 2,3 */
6349   ROM_LOAD16_BYTE( "proto_251-c7.c7", 0x3000000, 0x800000, CRC(a4479a58) SHA1(d50e6cc9ccfe1ddbc6d90d46b8ca2cb0304edd8c) ) /* Plane 0,1 */
6350   ROM_LOAD16_BYTE( "proto_251-c8.c8", 0x3000001, 0x800000, CRC(ead513ce) SHA1(e9b07a0b01fdeb3004755a479df059c81b4d0ed6) ) /* Plane 2,3 */
6351ROM_END
6352
6353/****************************************
6354 ID-0252
6355 . ??M-2520
6356 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6357****************************************/
6358
6359ROM_START( ganryu ) /* Original Version - Encrypted GFX */ /* MVS ONLY RELEASE */
6360   ROM_REGION( 0x200000, "maincpu", 0 )
6361   ROM_LOAD16_WORD_SWAP( "252-p1.p1", 0x100000, 0x100000, CRC(4b8ac4fb) SHA1(93d90271bff281862b03beba3809cf95a47a1e44) )
6362   ROM_CONTINUE( 0x000000, 0x100000 )
6363
6364   ROM_Y_ZOOM
6365
6366   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6367   ROM_REGION( 0x20000, "fixed", 0 )
6368   ROM_FILL( 0x000000, 0x20000, 0 )
6369   ROM_REGION( 0x20000, "fixedbios", 0 )
6370   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6371
6372   NEO_BIOS_AUDIO_128K( "252-m1.m1", CRC(30cc4099) SHA1(46453b7aac41855a92724a785372f8daf931d8d4) )
6373
6374   ROM_REGION( 0x0400000, "ymsnd", 0 )
6375   ROM_LOAD( "252-v1.v1", 0x000000, 0x400000, CRC(e5946733) SHA1(d5904a50465af03d6ff33399a98f3259721ca0b2) )
6376
6377   NO_DELTAT_REGION
6378
6379   ROM_REGION( 0x1000000, "sprites", 0 )
6380   /* Encrypted */
6381   ROM_LOAD16_BYTE( "252-c1.c1", 0x0000000, 0x800000, CRC(50ee7882) SHA1(ace0f95407c246d0456341cf2ad8a7668b81df8a) ) /* Plane 0,1 */
6382   ROM_LOAD16_BYTE( "252-c2.c2", 0x0000001, 0x800000, CRC(62585474) SHA1(b35461598087aa82886af0030c61b26cc064af5f) ) /* Plane 2,3 */
6383ROM_END
6384
6385/****************************************
6386 ID-0253
6387 . NGM-2530
6388 NEO-MVS PROGLBA (NEO-SMA) (LBA-SUB) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6389 . NGH-2530
6390 NEO-AEG PROGLBA (NEO-SMA) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7042)
6391****************************************/
6392
6393ROM_START( garou ) /* Original Version - Encrypted GFX */ /* MVS VERSION - later revision */
6394   ROM_REGION( 0x900000, "maincpu", 0 )
6395   ROM_LOAD16_WORD_SWAP( "kf.neo-sma", 0x0c0000, 0x040000, CRC(98bc93dc) SHA1(01fe3d18b50f770e131e8d8eeff4c630ba8c9551) )  /* stored in the custom chip */
6396   ROM_LOAD16_WORD_SWAP( "253-ep1.p1", 0x100000, 0x200000, CRC(ea3171a4) SHA1(bbda40f652baa0dc5fc6a006c001a1bdb0df43f6) ) /* M27C160 */
6397   ROM_LOAD16_WORD_SWAP( "253-ep2.p2", 0x300000, 0x200000, CRC(382f704b) SHA1(0ace9c84a8b8a0524fd9a503e7d872de1bf1bd52) ) /* M27C160 */
6398   ROM_LOAD16_WORD_SWAP( "253-ep3.p3", 0x500000, 0x200000, CRC(e395bfdd) SHA1(6b50f5ac15bf66b7e4e9bff57594fd3d7530c831) ) /* M27C160 */
6399   ROM_LOAD16_WORD_SWAP( "253-ep4.p4", 0x700000, 0x200000, CRC(da92c08e) SHA1(5556f983ebcebc33160e90a6a6cf589d54c8cedc) ) /* M27C160 */
6400
6401   ROM_Y_ZOOM
6402
6403   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6404   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
6405   ROM_FILL( 0x000000, 0x20000, 0 )
6406   ROM_REGION( 0x20000, "fixedbios", 0 )
6407   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6408
6409   NEO_BIOS_AUDIO_256K( "253-m1.m1", CRC(36a806be) SHA1(90fb44dc0c3fb57946a0f35716056abb84a0f191) ) /* TC532000 */
6410
6411   ROM_REGION( 0x1000000, "ymsnd", 0 )
6412   ROM_LOAD( "253-v1.v1", 0x000000, 0x400000, CRC(263e388c) SHA1(11f05feee170370c4bfc5053af79246a6e3de5dc) ) /* TC5332204 */
6413   ROM_LOAD( "253-v2.v2", 0x400000, 0x400000, CRC(2c6bc7be) SHA1(c9c61054ce1a47bf1bf77a31117726b499df24a4) ) /* TC5332204 */
6414   ROM_LOAD( "253-v3.v3", 0x800000, 0x400000, CRC(0425b27d) SHA1(986863c98fc3445487242dcf2ea75b075e7f33ee) ) /* TC5332204 */
6415   ROM_LOAD( "253-v4.v4", 0xc00000, 0x400000, CRC(a54be8a9) SHA1(d7123e79b43e8adfaa5ecadbfcbeb6be890ec311) ) /* TC5332204 */
6416
6417   NO_DELTAT_REGION
6418
6419   ROM_REGION( 0x4000000, "sprites", 0 )
6420   /* Encrypted */
6421   ROM_LOAD16_BYTE( "253-c1.c1", 0x0000000, 0x800000, CRC(0603e046) SHA1(5ef4557ce90ba65d36129de97be1fdc049c4a3d0) ) /* Plane 0,1 */ /* TC5364205 */
6422   ROM_LOAD16_BYTE( "253-c2.c2", 0x0000001, 0x800000, CRC(0917d2a4) SHA1(d4ed3a13ae22f880fb399671c1752f1a0283f316) ) /* Plane 2,3 */ /* TC5364205 */
6423   ROM_LOAD16_BYTE( "253-c3.c3", 0x1000000, 0x800000, CRC(6737c92d) SHA1(678f0c9cc1267bd131546981b9989bfb7289d8ba) ) /* Plane 0,1 */ /* TC5364205 */
6424   ROM_LOAD16_BYTE( "253-c4.c4", 0x1000001, 0x800000, CRC(5ba92ec6) SHA1(aae36b050a3a0321026a96eba06dd184c0e2acca) ) /* Plane 2,3 */ /* TC5364205 */
6425   ROM_LOAD16_BYTE( "253-c5.c5", 0x2000000, 0x800000, CRC(3eab5557) SHA1(47c433015aa81a0b0a1d3ee51382c4948b80c023) ) /* Plane 0,1 */ /* TC5364205 */
6426   ROM_LOAD16_BYTE( "253-c6.c6", 0x2000001, 0x800000, CRC(308d098b) SHA1(b052f1fa9fbc69606004c250e2505360eaa24949) ) /* Plane 2,3 */ /* TC5364205 */
6427   ROM_LOAD16_BYTE( "253-c7.c7", 0x3000000, 0x800000, CRC(c0e995ae) SHA1(8675ca787d28246174c313167f82557f021366fc) ) /* Plane 0,1 */ /* TC5364205 */
6428   ROM_LOAD16_BYTE( "253-c8.c8", 0x3000001, 0x800000, CRC(21a11303) SHA1(fd61221ad257c185ef5c1f9694bd6b840b591af3) ) /* Plane 2,3 */ /* TC5364205 */
6429ROM_END
6430
6431ROM_START( garouh ) /* Original Version - Encrypted GFX */ /* MVS AND AES VERSION - earlier revision */
6432   ROM_REGION( 0x900000, "maincpu", 0 )
6433   ROM_LOAD16_WORD_SWAP( "ke.neo-sma", 0x0c0000, 0x040000, CRC(96c72233) SHA1(29e19effd40fdf7e5144332396857f4ad0eff13e) )  /* stored in the custom chip */
6434   ROM_LOAD16_WORD_SWAP( "253-p1.p1",  0x100000, 0x400000, CRC(18ae5d7e) SHA1(bdb58ec9137d8653979b47132f2d10e1cc6aaa24) ) /* mask rom TC5332205 */
6435   ROM_LOAD16_WORD_SWAP( "253-p2.p2",  0x500000, 0x400000, CRC(afffa779) SHA1(ac017986f02277fbcd656b8c02492a3f4216a90e) ) /* mask rom TC5332205 */
6436
6437   ROM_Y_ZOOM
6438
6439   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6440   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
6441   ROM_FILL( 0x000000, 0x20000, 0 )
6442   ROM_REGION( 0x20000, "fixedbios", 0 )
6443   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6444
6445   NEO_BIOS_AUDIO_256K( "253-m1.m1", CRC(36a806be) SHA1(90fb44dc0c3fb57946a0f35716056abb84a0f191) ) /* TC532000 */
6446
6447   ROM_REGION( 0x1000000, "ymsnd", 0 )
6448   ROM_LOAD( "253-v1.v1", 0x000000, 0x400000, CRC(263e388c) SHA1(11f05feee170370c4bfc5053af79246a6e3de5dc) ) /* TC5332204 */
6449   ROM_LOAD( "253-v2.v2", 0x400000, 0x400000, CRC(2c6bc7be) SHA1(c9c61054ce1a47bf1bf77a31117726b499df24a4) ) /* TC5332204 */
6450   ROM_LOAD( "253-v3.v3", 0x800000, 0x400000, CRC(0425b27d) SHA1(986863c98fc3445487242dcf2ea75b075e7f33ee) ) /* TC5332204 */
6451   ROM_LOAD( "253-v4.v4", 0xc00000, 0x400000, CRC(a54be8a9) SHA1(d7123e79b43e8adfaa5ecadbfcbeb6be890ec311) ) /* TC5332204 */
6452
6453   NO_DELTAT_REGION
6454
6455   ROM_REGION( 0x4000000, "sprites", 0 )
6456   /* Encrypted */
6457   ROM_LOAD16_BYTE( "253-c1.c1", 0x0000000, 0x800000, CRC(0603e046) SHA1(5ef4557ce90ba65d36129de97be1fdc049c4a3d0) ) /* Plane 0,1 */ /* TC5364205 */
6458   ROM_LOAD16_BYTE( "253-c2.c2", 0x0000001, 0x800000, CRC(0917d2a4) SHA1(d4ed3a13ae22f880fb399671c1752f1a0283f316) ) /* Plane 2,3 */ /* TC5364205 */
6459   ROM_LOAD16_BYTE( "253-c3.c3", 0x1000000, 0x800000, CRC(6737c92d) SHA1(678f0c9cc1267bd131546981b9989bfb7289d8ba) ) /* Plane 0,1 */ /* TC5364205 */
6460   ROM_LOAD16_BYTE( "253-c4.c4", 0x1000001, 0x800000, CRC(5ba92ec6) SHA1(aae36b050a3a0321026a96eba06dd184c0e2acca) ) /* Plane 2,3 */ /* TC5364205 */
6461   ROM_LOAD16_BYTE( "253-c5.c5", 0x2000000, 0x800000, CRC(3eab5557) SHA1(47c433015aa81a0b0a1d3ee51382c4948b80c023) ) /* Plane 0,1 */ /* TC5364205 */
6462   ROM_LOAD16_BYTE( "253-c6.c6", 0x2000001, 0x800000, CRC(308d098b) SHA1(b052f1fa9fbc69606004c250e2505360eaa24949) ) /* Plane 2,3 */ /* TC5364205 */
6463   ROM_LOAD16_BYTE( "253-c7.c7", 0x3000000, 0x800000, CRC(c0e995ae) SHA1(8675ca787d28246174c313167f82557f021366fc) ) /* Plane 0,1 */ /* TC5364205 */
6464   ROM_LOAD16_BYTE( "253-c8.c8", 0x3000001, 0x800000, CRC(21a11303) SHA1(fd61221ad257c185ef5c1f9694bd6b840b591af3) ) /* Plane 2,3 */ /* TC5364205 */
6465ROM_END
6466
6467ROM_START( garoup ) /* Prototype Version, seems genuine */
6468   ROM_REGION( 0x500000, "maincpu", 0 )
6469   ROM_LOAD16_WORD_SWAP( "proto_253-p1.p1", 0x000000, 0x100000, CRC(c72f0c16) SHA1(1ff6bb651682f93bef9ff02622c3cf63fe594986) )
6470   ROM_LOAD16_WORD_SWAP( "proto_253-p2.p2", 0x100000, 0x400000, CRC(bf8de565) SHA1(0e24574168cd38138bed0aa4dca49849f6901ca2) )
6471
6472   NEO_SFIX_128K( "proto_253-s1.s1", CRC(779989de) SHA1(8bd550857b60f8a907f6d39a4225ceffdd330307) )
6473
6474   NEO_BIOS_AUDIO_256K( "proto_253-m1.m1", CRC(bbe464f7) SHA1(f5f8f3e48f5d453f45107085d6f4023bcd24c053) )
6475
6476   ROM_REGION( 0x1000000, "ymsnd", 0 )
6477   ROM_LOAD( "proto_253-v1.v1", 0x000000, 0x400000, CRC(274f3923) SHA1(4c7a8ad1cd0e3afc1f78de3c2929120ed434f104) )
6478   ROM_LOAD( "proto_253-v2.v2", 0x400000, 0x400000, CRC(8f86dabe) SHA1(b3d2d9f5c1d97a6e7aee2c674fb6627f41bbb240) )
6479   ROM_LOAD( "proto_253-v3.v3", 0x800000, 0x400000, CRC(05fd06cd) SHA1(6cd699719614bb87547632ea3d61d92d81fdf563) )
6480   ROM_LOAD( "proto_253-v4.v4", 0xc00000, 0x400000, CRC(14984063) SHA1(170d5638327ec0eb3590b80dc11590897367250c) )
6481
6482   NO_DELTAT_REGION
6483
6484   ROM_REGION( 0x4000000, "sprites", 0 )
6485   ROM_LOAD16_BYTE( "proto_253-c1.c1", 0x0000000, 0x800000, CRC(5bb5d137) SHA1(d648febd8e6a0bdd9bdbb6ce1f1f8b08567ec05a) ) /* Plane 0,1 */
6486   ROM_LOAD16_BYTE( "proto_253-c2.c2", 0x0000001, 0x800000, CRC(5c8d2960) SHA1(f7503502be0332adf408ee0ea5ee5161c8939fd8) ) /* Plane 2,3 */
6487   ROM_LOAD16_BYTE( "proto_253-c3.c3", 0x1000000, 0x800000, CRC(234d16fc) SHA1(7b9221f7ecc438150c8a10be72390329854ed21b) ) /* Plane 0,1 */
6488   ROM_LOAD16_BYTE( "proto_253-c4.c4", 0x1000001, 0x800000, CRC(b9b5b993) SHA1(6059793eaf6e58c172235fe64aa9d25a40c38ed6) ) /* Plane 2,3 */
6489   ROM_LOAD16_BYTE( "proto_253-c5.c5", 0x2000000, 0x800000, CRC(722615d2) SHA1(798832c535869f0e247c3db0d8253779b103e213) ) /* Plane 0,1 */
6490   ROM_LOAD16_BYTE( "proto_253-c6.c6", 0x2000001, 0x800000, CRC(0a6fab38) SHA1(eaee6f2f18af91f7959d84d4b991b3fc182d07c4) ) /* Plane 2,3 */
6491   ROM_LOAD16_BYTE( "proto_253-c7.c7", 0x3000000, 0x800000, CRC(d68e806f) SHA1(92bfd9839115bd590972ae4ecc45ad35dce22387) ) /* Plane 0,1 */
6492   ROM_LOAD16_BYTE( "proto_253-c8.c8", 0x3000001, 0x800000, CRC(f778fe99) SHA1(c963f6ba90a36d02991728b44ffcf174ca18268a) ) /* Plane 2,3 */
6493ROM_END
6494
6495/****************************************
6496 ID-0254
6497 . ??M-2540
6498 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6499****************************************/
6500
6501ROM_START( s1945p ) /* Original Version, Encrypted GFX Roms */ /* MVS ONLY RELEASE */
6502   ROM_REGION( 0x500000, "maincpu", 0 )
6503   ROM_LOAD16_WORD_SWAP( "254-p1.p1",  0x000000, 0x100000, CRC(ff8efcff) SHA1(dcaeaca573385c172ecc43ee6bee355359091893) )
6504   ROM_LOAD16_WORD_SWAP( "254-p2.sp2", 0x100000, 0x400000, CRC(efdfd4dd) SHA1(254f3e1b546eed788f7ae919be9d1bf9702148ce) )
6505
6506   ROM_Y_ZOOM
6507
6508   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6509   ROM_REGION( 0x20000, "fixed", 0 )
6510   ROM_FILL( 0x000000, 0x20000, 0 )
6511   ROM_REGION( 0x20000, "fixedbios", 0 )
6512   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6513
6514   NEO_BIOS_AUDIO_128K( "254-m1.m1", CRC(994b4487) SHA1(a4e645a3ababa48a8325980ff022e04a8b51b017) )
6515
6516   ROM_REGION( 0x1000000, "ymsnd", 0 )
6517   ROM_LOAD( "254-v1.v1", 0x000000, 0x400000, CRC(844f58fb) SHA1(e59544457be9f21481eac8b5a39b9cbb502f252d) )
6518   ROM_LOAD( "254-v2.v2", 0x400000, 0x400000, CRC(d9a248f0) SHA1(dd3e0974b753e6f94d0943a002de45668a1b072b) )
6519   ROM_LOAD( "254-v3.v3", 0x800000, 0x400000, CRC(0b0d2d33) SHA1(f8e76af42a997f36a40f66b39de00f68afe6a89c) )
6520   ROM_LOAD( "254-v4.v4", 0xc00000, 0x400000, CRC(6d13dc91) SHA1(8433513c0b5aea61939068a25ab90efbe3e44116) )
6521
6522   NO_DELTAT_REGION
6523
6524   ROM_REGION( 0x4000000, "sprites", 0 )
6525   ROM_LOAD16_BYTE( "254-c1.c1", 0x0000000, 0x800000, CRC(ae6fc8ef) SHA1(544ccdaee8a4a45cdce9483e30852811d2d5f3cc) ) /* Plane 0,1 */
6526   ROM_LOAD16_BYTE( "254-c2.c2", 0x0000001, 0x800000, CRC(436fa176) SHA1(d70141a91a360a1b1070753086f976608fec38af) ) /* Plane 2,3 */
6527   ROM_LOAD16_BYTE( "254-c3.c3", 0x1000000, 0x800000, CRC(e53ff2dc) SHA1(31f6aaffe28146d574aa72f14f90a9d968f36bc6) ) /* Plane 0,1 */
6528   ROM_LOAD16_BYTE( "254-c4.c4", 0x1000001, 0x800000, CRC(818672f0) SHA1(460c6738d0ee5ae440a23fc1434fab53bbb242b5) ) /* Plane 2,3 */
6529   ROM_LOAD16_BYTE( "254-c5.c5", 0x2000000, 0x800000, CRC(4580eacd) SHA1(feb96eb5e80c9125ddd7836e0939212cd3011c34) ) /* Plane 0,1 */
6530   ROM_LOAD16_BYTE( "254-c6.c6", 0x2000001, 0x800000, CRC(e34970fc) SHA1(6e43e15e27bc914357f977116ab1e2d98711bb21) ) /* Plane 2,3 */
6531   ROM_LOAD16_BYTE( "254-c7.c7", 0x3000000, 0x800000, CRC(f2323239) SHA1(5b3e8dd77474203be010ec7363858d806344a320) ) /* Plane 0,1 */
6532   ROM_LOAD16_BYTE( "254-c8.c8", 0x3000001, 0x800000, CRC(66848c7d) SHA1(24d4ed627940a4cf8129761c1da15556e52e199c) ) /* Plane 2,3 */
6533ROM_END
6534
6535/****************************************
6536 ID-0255
6537 . ??M-2550
6538 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6539****************************************/
6540
6541ROM_START( preisle2 ) /* Original Version, Encrypted GFX */ /* MVS ONLY RELEASE */
6542   ROM_REGION( 0x500000, "maincpu", 0 )
6543   ROM_LOAD16_WORD_SWAP( "255-p1.p1",  0x000000, 0x100000, CRC(dfa3c0f3) SHA1(793c6a46f3a794536dc0327a3f3fad20e25ab661) )
6544   ROM_LOAD16_WORD_SWAP( "255-p2.sp2", 0x100000, 0x400000, CRC(42050b80) SHA1(0981a8295d43b264c2b95e5d7568bdda4e64c976) )
6545
6546   ROM_Y_ZOOM
6547
6548   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6549   ROM_REGION( 0x20000, "fixed", 0 )
6550   ROM_FILL( 0x000000, 0x20000, 0 )
6551   ROM_REGION( 0x20000, "fixedbios", 0 )
6552   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6553
6554   NEO_BIOS_AUDIO_128K( "255-m1.m1", CRC(8efd4014) SHA1(5b73809b6e4e49264d281ef3e5004ac8a9de296d) )
6555
6556   ROM_REGION( 0x0600000, "ymsnd", 0 )
6557   ROM_LOAD( "255-v1.v1", 0x000000, 0x400000, CRC(5a14543d) SHA1(7146ac748f846c7e2d5b0bdcf953892e39b648fe) )
6558   ROM_LOAD( "255-v2.v2", 0x400000, 0x200000, CRC(6610d91a) SHA1(b2c6786920dc1712e88c3cc26d2c6c3ac2615bf4) )
6559
6560   NO_DELTAT_REGION
6561
6562   ROM_REGION( 0x3000000, "sprites", 0 )
6563   /* Encrypted */
6564   ROM_LOAD16_BYTE( "255-c1.c1", 0x0000000, 0x800000, CRC(ea06000b) SHA1(1539b12e461fa48301190eb8171bbffff9d984b7) ) /* Plane 0,1 */
6565   ROM_LOAD16_BYTE( "255-c2.c2", 0x0000001, 0x800000, CRC(04e67d79) SHA1(aadb6ee750da2c14c6eededa2218db95e051a32c) ) /* Plane 2,3 */
6566   ROM_LOAD16_BYTE( "255-c3.c3", 0x1000000, 0x800000, CRC(60e31e08) SHA1(bd5b81ad9d04cdc4e0df31ac40eca305f98277eb) ) /* Plane 0,1 */
6567   ROM_LOAD16_BYTE( "255-c4.c4", 0x1000001, 0x800000, CRC(40371d69) SHA1(90011ccc5672ff1b90737cf50c963e71b6217ce3) ) /* Plane 2,3 */
6568   ROM_LOAD16_BYTE( "255-c5.c5", 0x2000000, 0x800000, CRC(0b2e6adf) SHA1(15c7d9aa8b1ad9a071e6fd0ef0de8a057c23b02e) ) /* Plane 0,1 */
6569   ROM_LOAD16_BYTE( "255-c6.c6", 0x2000001, 0x800000, CRC(b001bdd3) SHA1(394ba8004644844ee97a120cfda48aeac685af8a) ) /* Plane 2,3 */
6570ROM_END
6571
6572/****************************************
6573 ID-0256
6574 . NGM-2560
6575 SMA protected version found on:
6576 NEO-MVS PROGLBA (NEO-SMA)(LBA-SUB) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6577 Non SMA protected version found on:
6578 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6579 . NGH-2560
6580****************************************/
6581
6582ROM_START( mslug3 ) /* Original Version - Encrypted Code & GFX */ /* revision 2000.4.1 */ /* MVS VERSION */
6583   ROM_REGION( 0x900000, "maincpu", 0 )
6584   ROM_LOAD16_WORD_SWAP( "neo-sma",    0x0c0000, 0x040000, CRC(9cd55736) SHA1(d6efb2b313127c2911d47d9324626b3f1e7c6ccb) )  /* stored in the custom chip */
6585   /* The SMA for this release has a green colour marking; the older revision has a white colour marking */
6586   ROM_LOAD16_WORD_SWAP( "256-pg1.p1", 0x100000, 0x400000, CRC(b07edfd5) SHA1(dcbd9e500bfae98d754e55cdbbbbf9401013f8ee) ) /* TC5332202 */
6587   ROM_LOAD16_WORD_SWAP( "256-pg2.p2", 0x500000, 0x400000, CRC(6097c26b) SHA1(248ec29d21216f29dc6f5f3f0e1ad1601b3501b6) ) /* TC5332202 */
6588
6589   ROM_Y_ZOOM
6590
6591   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6592   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
6593   ROM_FILL( 0x000000, 0x20000, 0 )
6594   ROM_REGION( 0x20000, "fixedbios", 0 )
6595   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6596
6597   NEO_BIOS_AUDIO_512K( "256-m1.m1", CRC(eaeec116) SHA1(54419dbb21edc8c4b37eaac2e7ad9496d2de037a) ) /* mask rom TC534000 */
6598
6599   ROM_REGION( 0x1000000, "ymsnd", 0 )
6600   ROM_LOAD( "256-v1.v1", 0x000000, 0x400000, CRC(f2690241) SHA1(fd56babc1934d10e0d27c32f032f9edda7ca8ce9) ) /* TC5332204 */
6601   ROM_LOAD( "256-v2.v2", 0x400000, 0x400000, CRC(7e2a10bd) SHA1(0d587fb9f64cba0315ce2d8a03e2b8fe34936dff) ) /* TC5332204 */
6602   ROM_LOAD( "256-v3.v3", 0x800000, 0x400000, CRC(0eaec17c) SHA1(c3ed613cc6993edd6fc0d62a90bcd85de8e21915) ) /* TC5332204 */
6603   ROM_LOAD( "256-v4.v4", 0xc00000, 0x400000, CRC(9b4b22d4) SHA1(9764fbf8453e52f80aa97a46fb9cf5937ef15a31) ) /* TC5332204 */
6604
6605   NO_DELTAT_REGION
6606
6607   ROM_REGION( 0x4000000, "sprites", 0 )
6608   /* Encrypted */
6609   ROM_LOAD16_BYTE( "256-c1.c1", 0x0000000, 0x800000, CRC(5a79c34e) SHA1(b8aa51fa50935cae62ab3d125b723ab888691e60) ) /* Plane 0,1 */ /* TC5364205 */
6610   ROM_LOAD16_BYTE( "256-c2.c2", 0x0000001, 0x800000, CRC(944c362c) SHA1(3843ab300f956280475469caee70135658f67089) ) /* Plane 2,3 */ /* TC5364205 */
6611   ROM_LOAD16_BYTE( "256-c3.c3", 0x1000000, 0x800000, CRC(6e69d36f) SHA1(94e8cf42e999114b4bd8b30e0aa2f365578c4c9a) ) /* Plane 0,1 */ /* TC5364205 */
6612   ROM_LOAD16_BYTE( "256-c4.c4", 0x1000001, 0x800000, CRC(b755b4eb) SHA1(804700a0966a48f130c434ede3f970792ea74fa5) ) /* Plane 2,3 */ /* TC5364205 */
6613   ROM_LOAD16_BYTE( "256-c5.c5", 0x2000000, 0x800000, CRC(7aacab47) SHA1(312c1c9846175fe1a3cad51d5ae230cf674fc93d) ) /* Plane 0,1 */ /* TC5364205 */
6614   ROM_LOAD16_BYTE( "256-c6.c6", 0x2000001, 0x800000, CRC(c698fd5d) SHA1(16818883b06849ba2f8d61bdd5e21aaf99bd8408) ) /* Plane 2,3 */ /* TC5364205 */
6615   ROM_LOAD16_BYTE( "256-c7.c7", 0x3000000, 0x800000, CRC(cfceddd2) SHA1(7def666adf8bd1703f40c61f182fc040b6362dc9) ) /* Plane 0,1 */ /* TC5364205 */
6616   ROM_LOAD16_BYTE( "256-c8.c8", 0x3000001, 0x800000, CRC(4d9be34c) SHA1(a737bdfa2b815aea7067e7af2636e83a9409c414) ) /* Plane 2,3 */ /* TC5364205 */
6617ROM_END
6618
6619ROM_START( mslug3h ) /* Original Version - Encrypted GFX */ /* revision 2000.3.17 */ /* AES VERSION */
6620   ROM_REGION( 0x500000, "maincpu", 0 )
6621   ROM_LOAD16_WORD_SWAP( "256-ph1.p1",  0x000000, 0x100000, CRC(9c42ca85) SHA1(7a8f77a89867b889295ae9b9dfd4ba28f02d234d) )
6622   ROM_LOAD16_WORD_SWAP( "256-ph2.sp2", 0x100000, 0x400000, CRC(1f3d8ce8) SHA1(08b05a8abfb86ec09a5e758d6273acf1489961f9) )
6623
6624   ROM_Y_ZOOM
6625
6626   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6627   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
6628   ROM_FILL( 0x000000, 0x20000, 0 )
6629   ROM_REGION( 0x20000, "fixedbios", 0 )
6630   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6631
6632   NEO_BIOS_AUDIO_512K( "256-m1.m1", CRC(eaeec116) SHA1(54419dbb21edc8c4b37eaac2e7ad9496d2de037a) ) /* mask rom TC534000 */
6633
6634   ROM_REGION( 0x1000000, "ymsnd", 0 )
6635   ROM_LOAD( "256-v1.v1", 0x000000, 0x400000, CRC(f2690241) SHA1(fd56babc1934d10e0d27c32f032f9edda7ca8ce9) ) /* TC5332204 */
6636   ROM_LOAD( "256-v2.v2", 0x400000, 0x400000, CRC(7e2a10bd) SHA1(0d587fb9f64cba0315ce2d8a03e2b8fe34936dff) ) /* TC5332204 */
6637   ROM_LOAD( "256-v3.v3", 0x800000, 0x400000, CRC(0eaec17c) SHA1(c3ed613cc6993edd6fc0d62a90bcd85de8e21915) ) /* TC5332204 */
6638   ROM_LOAD( "256-v4.v4", 0xc00000, 0x400000, CRC(9b4b22d4) SHA1(9764fbf8453e52f80aa97a46fb9cf5937ef15a31) ) /* TC5332204 */
6639
6640   NO_DELTAT_REGION
6641
6642   ROM_REGION( 0x4000000, "sprites", 0 )
6643   /* Encrypted */
6644   ROM_LOAD16_BYTE( "256-c1.c1", 0x0000000, 0x800000, CRC(5a79c34e) SHA1(b8aa51fa50935cae62ab3d125b723ab888691e60) ) /* Plane 0,1 */ /* TC5364205 */
6645   ROM_LOAD16_BYTE( "256-c2.c2", 0x0000001, 0x800000, CRC(944c362c) SHA1(3843ab300f956280475469caee70135658f67089) ) /* Plane 2,3 */ /* TC5364205 */
6646   ROM_LOAD16_BYTE( "256-c3.c3", 0x1000000, 0x800000, CRC(6e69d36f) SHA1(94e8cf42e999114b4bd8b30e0aa2f365578c4c9a) ) /* Plane 0,1 */ /* TC5364205 */
6647   ROM_LOAD16_BYTE( "256-c4.c4", 0x1000001, 0x800000, CRC(b755b4eb) SHA1(804700a0966a48f130c434ede3f970792ea74fa5) ) /* Plane 2,3 */ /* TC5364205 */
6648   ROM_LOAD16_BYTE( "256-c5.c5", 0x2000000, 0x800000, CRC(7aacab47) SHA1(312c1c9846175fe1a3cad51d5ae230cf674fc93d) ) /* Plane 0,1 */ /* TC5364205 */
6649   ROM_LOAD16_BYTE( "256-c6.c6", 0x2000001, 0x800000, CRC(c698fd5d) SHA1(16818883b06849ba2f8d61bdd5e21aaf99bd8408) ) /* Plane 2,3 */ /* TC5364205 */
6650   ROM_LOAD16_BYTE( "256-c7.c7", 0x3000000, 0x800000, CRC(cfceddd2) SHA1(7def666adf8bd1703f40c61f182fc040b6362dc9) ) /* Plane 0,1 */ /* TC5364205 */
6651   ROM_LOAD16_BYTE( "256-c8.c8", 0x3000001, 0x800000, CRC(4d9be34c) SHA1(a737bdfa2b815aea7067e7af2636e83a9409c414) ) /* Plane 2,3 */ /* TC5364205 */
6652ROM_END
6653
6654/****************************************
6655 ID-0257
6656 . NGM-2570
6657 SMA protected version found on:
6658 NEO-MVS PROGLBA (NEO-SMA)(LBA-SUB) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
6659 Non SMA protected version found on:
6660 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
6661 . NGH-2570
6662 NEO-AEG PROGLBA (NEO-SMA) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
6663****************************************/
6664
6665ROM_START( kof2000 ) /* Original Version, Encrypted Code + Sound + GFX Roms */ /* MVS AND AES VERSION */
6666   ROM_REGION( 0x900000, "maincpu", 0 )
6667   ROM_LOAD16_WORD_SWAP( "neo-sma",   0x0c0000, 0x040000, CRC(71c6e6bb) SHA1(1bd29ded4c6b29780db8e8b772c452189699ca89) ) /* stored in the custom chip */
6668   ROM_LOAD16_WORD_SWAP( "257-p1.p1", 0x100000, 0x400000, CRC(60947b4c) SHA1(5faa0a7ac7734d6c8e276589bd12dd574264647d) ) /* mask rom TC5332202 */
6669   ROM_LOAD16_WORD_SWAP( "257-p2.p2", 0x500000, 0x400000, CRC(1b7ec415) SHA1(f19fa44e9ee5b5a6eb4a051349d6bc4acc3bbbdb) ) /* mask rom TC5332202 */
6670
6671   ROM_Y_ZOOM
6672
6673   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6674   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
6675   ROM_FILL( 0x000000, 0x20000, 0 )
6676   ROM_REGION( 0x20000, "fixedbios", 0 )
6677   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6678
6679   /* Encrypted */
6680   NEO_BIOS_AUDIO_ENCRYPTED_256K( "257-m1.m1", CRC(4b749113) SHA1(2af2361146edd0ce3966614d90165a5c1afb8de4) ) /* mask rom TC532000 */
6681
6682   ROM_REGION( 0x1000000, "ymsnd", 0 )
6683   ROM_LOAD( "257-v1.v1", 0x000000, 0x400000, CRC(17cde847) SHA1(4bcc0205b70dc6d9216b29025450c9c5b08cb65d) ) /* TC5332204 */
6684   ROM_LOAD( "257-v2.v2", 0x400000, 0x400000, CRC(1afb20ff) SHA1(57dfd2de058139345ff2b744a225790baaecd5a2) ) /* TC5332204 */
6685   ROM_LOAD( "257-v3.v3", 0x800000, 0x400000, CRC(4605036a) SHA1(51b228a0600d38a6ec37aec4822879ec3b0ee106) ) /* TC5332204 */
6686   ROM_LOAD( "257-v4.v4", 0xc00000, 0x400000, CRC(764bbd6b) SHA1(df23c09ca6cf7d0ae5e11ff16e30c159725106b3) ) /* TC5332204 */
6687
6688   NO_DELTAT_REGION
6689
6690   ROM_REGION( 0x4000000, "sprites", 0 )
6691   ROM_LOAD16_BYTE( "257-c1.c1", 0x0000000, 0x800000, CRC(cef1cdfa) SHA1(6135080f3a6b4712b76cc217edcc58e72b55c2b9) ) /* Plane 0,1 */  /* TC5364205 */
6692   ROM_LOAD16_BYTE( "257-c2.c2", 0x0000001, 0x800000, CRC(f7bf0003) SHA1(9f7b19a2100cf7d12867e742f440dd5277b4f895) ) /* Plane 2,3 */  /* TC5364205 */
6693   ROM_LOAD16_BYTE( "257-c3.c3", 0x1000000, 0x800000, CRC(101e6560) SHA1(8073ae1139e215d1167f8d32c14079a46ce3ee1c) ) /* Plane 0,1 */  /* TC5364205 */
6694   ROM_LOAD16_BYTE( "257-c4.c4", 0x1000001, 0x800000, CRC(bd2fc1b1) SHA1(da0006761923ad49b404a08d7a151193ee307a69) ) /* Plane 2,3 */  /* TC5364205 */
6695   ROM_LOAD16_BYTE( "257-c5.c5", 0x2000000, 0x800000, CRC(89775412) SHA1(b221b30224bc4239f1b3c2d2fd1cd4fa84e3523c) ) /* Plane 0,1 */  /* TC5364205 */
6696   ROM_LOAD16_BYTE( "257-c6.c6", 0x2000001, 0x800000, CRC(fa7200d5) SHA1(6f2b0d38af34e280d56a58955400e5c679906871) ) /* Plane 2,3 */  /* TC5364205 */
6697   ROM_LOAD16_BYTE( "257-c7.c7", 0x3000000, 0x800000, CRC(7da11fe4) SHA1(065336cf166807acb6c8569d59d3bf37a19b0a42) ) /* Plane 0,1 */  /* TC5364205 */
6698   ROM_LOAD16_BYTE( "257-c8.c8", 0x3000001, 0x800000, CRC(b1afa60b) SHA1(b916184f5cfe4121752270f4f65abf35d8eb0519) ) /* Plane 2,3 */  /* TC5364205 */
6699ROM_END
6700
6701ROM_START( kof2000n ) /* Original Version, Encrypted Sound + GFX Roms */
6702   ROM_REGION( 0x500000, "maincpu", 0 )
6703   ROM_LOAD16_WORD_SWAP( "257-pg1.p1",  0x000000, 0x100000, CRC(5f809dbe) SHA1(2bc233dcff5622de86d01e3b74b840c7caf12982) ) /* mask rom TC538200 */
6704   ROM_LOAD16_WORD_SWAP( "257-pg2.sp2", 0x100000, 0x400000, CRC(693c2c5e) SHA1(dc9121b7369ef46596343cac055a00aec81704d4) ) /* mask rom TC5332205 */
6705
6706   ROM_Y_ZOOM
6707
6708   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6709   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
6710   ROM_FILL( 0x000000, 0x20000, 0 )
6711   ROM_REGION( 0x20000, "fixedbios", 0 )
6712   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6713
6714   /* Encrypted */
6715   NEO_BIOS_AUDIO_ENCRYPTED_256K( "257-m1.m1", CRC(4b749113) SHA1(2af2361146edd0ce3966614d90165a5c1afb8de4) ) /* mask rom TC532000 */
6716
6717   ROM_REGION( 0x1000000, "ymsnd", 0 )
6718   ROM_LOAD( "257-v1.v1", 0x000000, 0x400000, CRC(17cde847) SHA1(4bcc0205b70dc6d9216b29025450c9c5b08cb65d) ) /* TC5332204 */
6719   ROM_LOAD( "257-v2.v2", 0x400000, 0x400000, CRC(1afb20ff) SHA1(57dfd2de058139345ff2b744a225790baaecd5a2) ) /* TC5332204 */
6720   ROM_LOAD( "257-v3.v3", 0x800000, 0x400000, CRC(4605036a) SHA1(51b228a0600d38a6ec37aec4822879ec3b0ee106) ) /* TC5332204 */
6721   ROM_LOAD( "257-v4.v4", 0xc00000, 0x400000, CRC(764bbd6b) SHA1(df23c09ca6cf7d0ae5e11ff16e30c159725106b3) ) /* TC5332204 */
6722
6723   NO_DELTAT_REGION
6724
6725   ROM_REGION( 0x4000000, "sprites", 0 )
6726   ROM_LOAD16_BYTE( "257-c1.c1", 0x0000000, 0x800000, CRC(cef1cdfa) SHA1(6135080f3a6b4712b76cc217edcc58e72b55c2b9) ) /* Plane 0,1 */  /* TC5364205 */
6727   ROM_LOAD16_BYTE( "257-c2.c2", 0x0000001, 0x800000, CRC(f7bf0003) SHA1(9f7b19a2100cf7d12867e742f440dd5277b4f895) ) /* Plane 2,3 */  /* TC5364205 */
6728   ROM_LOAD16_BYTE( "257-c3.c3", 0x1000000, 0x800000, CRC(101e6560) SHA1(8073ae1139e215d1167f8d32c14079a46ce3ee1c) ) /* Plane 0,1 */  /* TC5364205 */
6729   ROM_LOAD16_BYTE( "257-c4.c4", 0x1000001, 0x800000, CRC(bd2fc1b1) SHA1(da0006761923ad49b404a08d7a151193ee307a69) ) /* Plane 2,3 */  /* TC5364205 */
6730   ROM_LOAD16_BYTE( "257-c5.c5", 0x2000000, 0x800000, CRC(89775412) SHA1(b221b30224bc4239f1b3c2d2fd1cd4fa84e3523c) ) /* Plane 0,1 */  /* TC5364205 */
6731   ROM_LOAD16_BYTE( "257-c6.c6", 0x2000001, 0x800000, CRC(fa7200d5) SHA1(6f2b0d38af34e280d56a58955400e5c679906871) ) /* Plane 2,3 */  /* TC5364205 */
6732   ROM_LOAD16_BYTE( "257-c7.c7", 0x3000000, 0x800000, CRC(7da11fe4) SHA1(065336cf166807acb6c8569d59d3bf37a19b0a42) ) /* Plane 0,1 */  /* TC5364205 */
6733   ROM_LOAD16_BYTE( "257-c8.c8", 0x3000001, 0x800000, CRC(b1afa60b) SHA1(b916184f5cfe4121752270f4f65abf35d8eb0519) ) /* Plane 2,3 */  /* TC5364205 */
6734ROM_END
6735
6736/****************************************
6737 ID-0258
6738 SNK vs. Capcom?
6739****************************************/
6740
6741/****************************************
6742 ID-0259
6743 . ??M-2590
6744 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6745****************************************/
6746
6747ROM_START( bangbead ) /* Original Version - Encrypted GFX */ /* MVS ONLY RELEASE */
6748   ROM_REGION( 0x200000, "maincpu", 0 )
6749   ROM_LOAD16_WORD_SWAP( "259-p1.p1", 0x100000, 0x100000, CRC(88a37f8b) SHA1(566db84850fad5e8fe822e8bba910a33e083b550) )
6750   ROM_CONTINUE( 0x000000, 0x100000 )
6751
6752   ROM_Y_ZOOM
6753
6754   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6755   ROM_REGION( 0x20000, "fixed", 0 )
6756   ROM_FILL( 0x000000, 0x20000, 0 )
6757   ROM_REGION( 0x20000, "fixedbios", 0 )
6758   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6759
6760   NEO_BIOS_AUDIO_128K( "259-m1.m1", CRC(85668ee9) SHA1(7d3f51710cf90c097cd3faaeeef10ceb85cbb3e8) )
6761
6762   ROM_REGION( 0x500000, "ymsnd", 0 )
6763   ROM_LOAD( "259-v1.v1", 0x000000, 0x400000, CRC(088eb8ab) SHA1(608306e35501dd7d382d9f96b28e7550aa896a03) )
6764   ROM_LOAD( "259-v2.v2", 0x400000, 0x100000, CRC(97528fe9) SHA1(8f5eddbb3a9a225492479d1a44801f3916c8e791) )
6765
6766   NO_DELTAT_REGION
6767
6768   ROM_REGION( 0x1000000, "sprites", 0 )
6769   /* Encrypted */
6770   ROM_LOAD16_BYTE( "259-c1.c1", 0x0000000, 0x800000, CRC(1f537f74) SHA1(b8ef691e92191c20a5ed4f20a75cca3c7383bca6) ) /* Plane 0,1 */
6771   ROM_LOAD16_BYTE( "259-c2.c2", 0x0000001, 0x800000, CRC(0efd98ff) SHA1(d350315d3c7f26d638458e5ccf2126069a4c7a5b) ) /* Plane 2,3 */
6772ROM_END
6773
6774/* same data, diff. format roms, not encrypted, it could be a bootleg, not a prototype, since its identical
6775   when decrypted i'm disabling it for now */
6776#if 0
6777ROM_START( bangbedp )
6778   ROM_REGION( 0x200000, "maincpu", 0 )
6779   ROM_LOAD16_WORD_SWAP( "259-p1.p1", 0x100000, 0x100000, CRC(88a37f8b) SHA1(566db84850fad5e8fe822e8bba910a33e083b550) )
6780   ROM_CONTINUE( 0x000000, 0x100000 )
6781
6782   NEO_SFIX_128K( "proto_259-s1.s1", CRC(bb50fb2d) SHA1(7372939f328fb5e7d09c16985e09ae8c34702b0c) )
6783
6784   NEO_BIOS_AUDIO_128K( "259-m1.m1", CRC(85668ee9) SHA1(7d3f51710cf90c097cd3faaeeef10ceb85cbb3e8) )
6785
6786   ROM_REGION( 0x500000, "ymsnd", 0 )
6787   ROM_LOAD( "proto_259-v1.v1", 0x000000, 0x200000, CRC(e97b9385) SHA1(d213cae6cf5732b8ab1f8a8cf04afee5dfd9a260) )
6788   ROM_LOAD( "proto_259-v2.v2", 0x200000, 0x200000, CRC(b0cbd70a) SHA1(fc7c8183f8ff9800e8aae7c8d44d962300058cfb) )
6789   ROM_LOAD( "proto_259-v3.v3", 0x400000, 0x100000, CRC(97528fe9) SHA1(8f5eddbb3a9a225492479d1a44801f3916c8e791) )
6790
6791   NO_DELTAT_REGION
6792
6793   ROM_REGION( 0x600000, "sprites", 0 )
6794   ROM_LOAD16_BYTE( "proto_259-c1.c1", 0x000000, 0x200000, CRC(e3919e44) SHA1(54c722414b5a7ad311dc8ddf6fdda88535e829d1) ) /* Plane 0,1 */
6795   ROM_LOAD16_BYTE( "proto_259-c2.c2", 0x000001, 0x200000, CRC(baf5a320) SHA1(ead3d81d9b4aeb45af4f9cb5c38157f2236b506c) ) /* Plane 2,3 */
6796   ROM_LOAD16_BYTE( "proto_259-c3.c3", 0x400000, 0x100000, CRC(c8e52157) SHA1(f10f58e905c4cbaf182b20e63abe5364462133c5) ) /* Plane 0,1 */
6797   ROM_LOAD16_BYTE( "proto_259-c4.c4", 0x400001, 0x100000, CRC(69fa8e60) SHA1(29c1fbdb79dedf1470683202e2cb3435732d9275) ) /* Plane 2,3 */
6798ROM_END
6799#endif
6800
6801/****************************************
6802 ID-0260
6803 . ??M-2600
6804 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6805****************************************/
6806
6807ROM_START( nitd ) /* Original Version - Encrypted GFX */ /* MVS ONLY RELEASE */
6808   ROM_REGION( 0x100000, "maincpu", 0 )
6809   ROM_LOAD16_WORD_SWAP( "260-p1.p1", 0x000000, 0x080000, CRC(61361082) SHA1(441f3f41c1aa752c0e0a9a0b1d92711d9e636b85) )
6810
6811   ROM_Y_ZOOM
6812
6813   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6814   ROM_REGION( 0x20000, "fixed", 0 )
6815   ROM_FILL( 0x000000, 0x20000, 0 )
6816   ROM_REGION( 0x20000, "fixedbios", 0 )
6817   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6818
6819   NEO_BIOS_AUDIO_512K( "260-m1.m1", CRC(6407c5e5) SHA1(d273e154cc905b63205a17a1a6d419cac3485a92) )
6820
6821   ROM_REGION( 0x0400000, "ymsnd", 0 )
6822   ROM_LOAD( "260-v1.v1", 0x000000, 0x400000, CRC(24b0480c) SHA1(d769e621be52a5cd2e2568891b5f95a48268e1e0) )
6823
6824   NO_DELTAT_REGION
6825
6826   ROM_REGION( 0x1000000, "sprites", 0 )
6827   /* Encrypted */
6828   ROM_LOAD16_BYTE( "260-c1.c1", 0x0000000, 0x800000, CRC(147b0c7f) SHA1(a647c3a2f6d146ff47521c1d39f58830601f5781) ) /* Plane 0,1 */
6829   ROM_LOAD16_BYTE( "260-c2.c2", 0x0000001, 0x800000, CRC(d2b04b0d) SHA1(ce4322e6cfacb627fe997efe81018861e21d3c27) ) /* Plane 2,3 */
6830ROM_END
6831
6832/****************************************
6833 ID-0261
6834 . NGM-2610
6835 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6836 . NGH-2610
6837****************************************/
6838
6839ROM_START( sengoku3 ) /* Original Version - Encrypted GFX */
6840   ROM_REGION( 0x200000, "maincpu", 0 )
6841   ROM_LOAD16_WORD_SWAP( "261-ph1.p1", 0x100000, 0x100000, CRC(e0d4bc0a) SHA1(8df366097f224771ca6d1aa5c1691cd46776cd12) ) /* mask rom TC5316200 */
6842   ROM_CONTINUE( 0x000000, 0x100000 )
6843
6844   ROM_Y_ZOOM
6845
6846   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6847   ROM_REGION( 0x20000, "fixed", 0 )
6848   ROM_FILL( 0x000000, 0x20000, 0 )
6849   ROM_REGION( 0x20000, "fixedbios", 0 )
6850   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6851
6852   NEO_BIOS_AUDIO_512K( "261-m1.m1", CRC(7d501c39) SHA1(8e6bcc428f5ac7532d9c9be7e07ad0821461a080) ) /* mask rom TC534000 */
6853
6854   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6855   ROM_LOAD( "261-v1.v1", 0x000000, 0x400000, CRC(64c30081) SHA1(f9ebd20cf59b72e864b7274c1bdb6d99ecaf4595) ) /* mask rom TC5332204 */
6856   ROM_LOAD( "261-v2.v2", 0x400000, 0x400000, CRC(392a9c47) SHA1(7ab90a54089236ca6c3ef1af8e566a8025d38159) ) /* mask rom TC5332204 */
6857   ROM_LOAD( "261-v3.v3", 0x800000, 0x400000, CRC(c1a7ebe3) SHA1(1d7bb481451f5ee0457e954bb5210300182c3c9c) ) /* mask rom TC5332204 */
6858   ROM_LOAD( "261-v4.v4", 0xc00000, 0x200000, CRC(9000d085) SHA1(11157b355ab4eb6627e9f322ed875332d3d77349) ) /* mask rom TC5316200 */
6859
6860   NO_DELTAT_REGION
6861
6862   ROM_REGION( 0x2000000, "sprites", 0 )
6863   ROM_LOAD16_BYTE( "261-c1.c1", 0x0000000, 0x800000, CRC(ded84d9c) SHA1(d960523b813d4fae06d716298d4e431a5c77a0c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6864   ROM_LOAD16_BYTE( "261-c2.c2", 0x0000001, 0x800000, CRC(b8eb4348) SHA1(619d24312549932959481fa58f43f11c048e1ca5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6865   ROM_LOAD16_BYTE( "261-c3.c3", 0x1000000, 0x800000, CRC(84e2034a) SHA1(38ec4ae4b86933a25c9a03799b8cade4b1346401) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6866   ROM_LOAD16_BYTE( "261-c4.c4", 0x1000001, 0x800000, CRC(0b45ae53) SHA1(a19fb21408ab633aee8bbf38bf43b5e26766b355) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6867ROM_END
6868
6869/****************************************
6870 ID-0262
6871 . NGM-262?
6872 MVS PROGBK2 REV1.0 (NEO-PCM2 SNK)/ MVS CHAFIO REV1.0 (NEO-CMC 7050)
6873 . NGH-2621
6874 NEO-AEG PROGBK1F / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
6875  - Distribution by BrezzaSoft
6876****************************************/
6877
6878ROM_START( kof2001 ) /* MVS VERSION */
6879   ROM_REGION( 0x500000, "maincpu", 0 )
6880   ROM_LOAD16_WORD_SWAP( "262-p1-08-e0.p1",  0x000000, 0x100000, CRC(9381750d) SHA1(dcfecd69e563ff52fe07d23c5372d0f748b07819) ) /* mask rom TC538200 */
6881   ROM_LOAD16_WORD_SWAP( "262-p2-08-e0.sp2", 0x100000, 0x400000, CRC(8e0d8329) SHA1(10dcc1baf0aaf1fc84c4d856bca6bcff85aed2bc) ) /* mask rom TC5332205 */
6882   /* The first/early production run sets have proms with above labels. Some later? sets found have eproms instead of proms */
6883
6884   ROM_Y_ZOOM
6885
6886   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6887   ROM_REGION( 0x20000, "fixed", 0 )
6888   ROM_FILL( 0x000000, 0x20000, 0 )
6889   ROM_REGION( 0x20000, "fixedbios", 0 )
6890   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6891
6892   /* Encrypted */
6893   NEO_BIOS_AUDIO_ENCRYPTED_256K( "265-262-m1.m1", CRC(a7f8119f) SHA1(71805b39b8b09c32425cf39f9de59b2f755976c2) ) /* mask rom TC532000 */
6894
6895   ROM_REGION( 0x1000000, "ymsnd", 0 )
6896   ROM_LOAD( "262-v1-08-e0.v1", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) ) /* mask rom TC5332204 */
6897   ROM_LOAD( "262-v2-08-e0.v2", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) ) /* mask rom TC5332204 */
6898   ROM_LOAD( "262-v3-08-e0.v3", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) ) /* mask rom TC5332204 */
6899   ROM_LOAD( "262-v4-08-e0.v4", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) ) /* mask rom TC5332204 */
6900
6901   NO_DELTAT_REGION
6902
6903   ROM_REGION( 0x4000000, "sprites", 0 )
6904   /* Encrypted */
6905   ROM_LOAD16_BYTE( "262-c1-08-e0.c1", 0x0000000, 0x800000, CRC(99cc785a) SHA1(374f0674871d0196fa274aa6c5956d7b3848d5da) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6906   ROM_LOAD16_BYTE( "262-c2-08-e0.c2", 0x0000001, 0x800000, CRC(50368cbf) SHA1(5d9e206e98e0b0c7735b72ea46b45058fdec2352) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6907   ROM_LOAD16_BYTE( "262-c3-08-e0.c3", 0x1000000, 0x800000, CRC(fb14ff87) SHA1(445a8db2fc69eff54a252700f2d3a89244c58e75) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6908   ROM_LOAD16_BYTE( "262-c4-08-e0.c4", 0x1000001, 0x800000, CRC(4397faf8) SHA1(6752b394f6647502a649a3e62bd3442f936b733e) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6909   ROM_LOAD16_BYTE( "262-c5-08-e0.c5", 0x2000000, 0x800000, CRC(91f24be4) SHA1(88190c41f7d4a0f4b1982149fc9acfc640af498d) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6910   ROM_LOAD16_BYTE( "262-c6-08-e0.c6", 0x2000001, 0x800000, CRC(a31e4403) SHA1(5cd1a14703aa58810e2377dfb7353c61e9dc9c1f) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6911   ROM_LOAD16_BYTE( "262-c7-08-e0.c7", 0x3000000, 0x800000, CRC(54d9d1ec) SHA1(80c3a8ec39130dd5d3da561f287709da6b8abcf4) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6912   ROM_LOAD16_BYTE( "262-c8-08-e0.c8", 0x3000001, 0x800000, CRC(59289a6b) SHA1(ddfce7c85b2a144975db5bb14b4b51aaf881880e) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6913ROM_END
6914
6915ROM_START( kof2001h ) /* AES VERSION */
6916   ROM_REGION( 0x500000, "maincpu", 0 )
6917   ROM_LOAD16_WORD_SWAP( "262-pg1.p1",  0x000000, 0x100000, CRC(2af7e741) SHA1(e41282d73ed6d521da056f1a16573bb61bfa3826) ) /* mask rom TC538200 */
6918   ROM_LOAD16_WORD_SWAP( "262-pg2.sp2", 0x100000, 0x400000, CRC(91eea062) SHA1(82bae42bbeedb9f3aa0c7c0b0a7a69be499cf98f) ) /* mask rom TC5332205 */
6919
6920   ROM_Y_ZOOM
6921
6922   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6923   ROM_REGION( 0x20000, "fixed", 0 )
6924   ROM_FILL( 0x000000, 0x20000, 0 )
6925   ROM_REGION( 0x20000, "fixedbios", 0 )
6926   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6927
6928   /* Encrypted */
6929   NEO_BIOS_AUDIO_ENCRYPTED_256K( "265-262-m1.m1", CRC(a7f8119f) SHA1(71805b39b8b09c32425cf39f9de59b2f755976c2) ) /* mask rom TC532000 */
6930
6931   ROM_REGION( 0x1000000, "ymsnd", 0 )
6932   ROM_LOAD( "262-v1-08-e0.v1", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) ) /* mask rom TC5332204 */
6933   ROM_LOAD( "262-v2-08-e0.v2", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) ) /* mask rom TC5332204 */
6934   ROM_LOAD( "262-v3-08-e0.v3", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) ) /* mask rom TC5332204 */
6935   ROM_LOAD( "262-v4-08-e0.v4", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) ) /* mask rom TC5332204 */
6936
6937   NO_DELTAT_REGION
6938
6939   ROM_REGION( 0x4000000, "sprites", 0 )
6940   /* Encrypted */
6941   ROM_LOAD16_BYTE( "262-c1-08-e0.c1", 0x0000000, 0x800000, CRC(99cc785a) SHA1(374f0674871d0196fa274aa6c5956d7b3848d5da) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6942   ROM_LOAD16_BYTE( "262-c2-08-e0.c2", 0x0000001, 0x800000, CRC(50368cbf) SHA1(5d9e206e98e0b0c7735b72ea46b45058fdec2352) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6943   ROM_LOAD16_BYTE( "262-c3-08-e0.c3", 0x1000000, 0x800000, CRC(fb14ff87) SHA1(445a8db2fc69eff54a252700f2d3a89244c58e75) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6944   ROM_LOAD16_BYTE( "262-c4-08-e0.c4", 0x1000001, 0x800000, CRC(4397faf8) SHA1(6752b394f6647502a649a3e62bd3442f936b733e) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6945   ROM_LOAD16_BYTE( "262-c5-08-e0.c5", 0x2000000, 0x800000, CRC(91f24be4) SHA1(88190c41f7d4a0f4b1982149fc9acfc640af498d) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6946   ROM_LOAD16_BYTE( "262-c6-08-e0.c6", 0x2000001, 0x800000, CRC(a31e4403) SHA1(5cd1a14703aa58810e2377dfb7353c61e9dc9c1f) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6947   ROM_LOAD16_BYTE( "262-c7-08-e0.c7", 0x3000000, 0x800000, CRC(54d9d1ec) SHA1(80c3a8ec39130dd5d3da561f287709da6b8abcf4) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6948   ROM_LOAD16_BYTE( "262-c8-08-e0.c8", 0x3000001, 0x800000, CRC(59289a6b) SHA1(ddfce7c85b2a144975db5bb14b4b51aaf881880e) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6949ROM_END
6950
6951/****************************************
6952 ID-0263
6953 . NGM-2630
6954 NEO-MVS PROGBK2 (NEO-PCM2 SNK)/ NEO-MVS CHAFIO (NEO-CMC 7050)
6955 . NGH-2630
6956 NEO-AEG PROGBK2 (NEO-PCM2 SNK) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
6957****************************************/
6958
6959ROM_START( mslug4 ) /* Original Version - Encrypted GFX */ /* MVS VERSION */
6960   /* There also exist carts where p1 label is pg1; the PG1 revision has a Japanese cart label, SN 02Jxxxxx
6961   The P1 revision has a US/EUR cart label, SN 02Txxxxx ; Rom data on both is identical.
6962   These carts were manufactured by Mega Enterprise, not SNK. */
6963   ROM_REGION( 0x500000, "maincpu", 0 )
6964   ROM_LOAD16_WORD_SWAP( "263-p1.p1",  0x000000, 0x100000, CRC(27e4def3) SHA1(a08785e8145981bb6b5332a3b2df7eb321253cca) ) /* mask rom TC538200 */
6965   ROM_LOAD16_WORD_SWAP( "263-p2.sp2", 0x100000, 0x400000, CRC(fdb7aed8) SHA1(dbeaec38f44e58ffedba99e70fa1439c2bf0dfa3) ) /* mask rom TC5332205 */
6966
6967   ROM_Y_ZOOM
6968
6969   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6970   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
6971   ROM_FILL( 0x000000, 0x20000, 0 )
6972   ROM_REGION( 0x20000, "fixedbios", 0 )
6973   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6974
6975   /* Encrypted */
6976   NEO_BIOS_AUDIO_ENCRYPTED_128K( "263-m1.m1", CRC(46ac8228) SHA1(5aeea221050c98e4bb0f16489ce772bf1c80f787) ) /* mask rom TC531001 */
6977
6978   ROM_REGION( 0x1000000, "ymsnd", 0 )
6979   /* Encrypted */
6980   ROM_LOAD( "263-v1.v1", 0x000000, 0x800000, CRC(01e9b9cd) SHA1(0b045c2999449f7dab5ae8a42e957d5b6650431e) ) /* mask rom TC5364205 */
6981   ROM_LOAD( "263-v2.v2", 0x800000, 0x800000, CRC(4ab2bf81) SHA1(77ccfa48f7e3daddef5fe5229a0093eb2f803742) ) /* mask rom TC5364205 */
6982
6983   NO_DELTAT_REGION
6984
6985   ROM_REGION( 0x3000000, "sprites", 0 )
6986   /* Encrypted */
6987   ROM_LOAD16_BYTE( "263-c1.c1", 0x0000000, 0x800000, CRC(84865f8a) SHA1(34467ada896eb7c7ca58658bf2a932936d8b632c) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6988   ROM_LOAD16_BYTE( "263-c2.c2", 0x0000001, 0x800000, CRC(81df97f2) SHA1(2b74493b8ec8fd49216a627aeb3db493f76124e3) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6989   ROM_LOAD16_BYTE( "263-c3.c3", 0x1000000, 0x800000, CRC(1a343323) SHA1(bbbb5232bba538c277ce2ee02e2956ca2243b787) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6990   ROM_LOAD16_BYTE( "263-c4.c4", 0x1000001, 0x800000, CRC(942cfb44) SHA1(d9b46c71726383c4581fb042e63897e5a3c92d1b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6991   ROM_LOAD16_BYTE( "263-c5.c5", 0x2000000, 0x800000, CRC(a748854f) SHA1(2611bbedf9b5d8e82c6b2c99b88f842c46434d41) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6992   ROM_LOAD16_BYTE( "263-c6.c6", 0x2000001, 0x800000, CRC(5c8ba116) SHA1(6034db09c8706d4ddbcefc053efbc47a0953eb92) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6993ROM_END
6994
6995ROM_START( mslug4h ) /* Original Version - Encrypted GFX */ /* AES VERSION */
6996   ROM_REGION( 0x500000, "maincpu", 0 )
6997   ROM_LOAD16_WORD_SWAP( "263-ph1.p1",  0x000000, 0x100000, CRC(c67f5c8d) SHA1(12af74964843f103520d9f0825069ea2f67eeb2f) ) /* mask rom TC538200 */
6998   ROM_LOAD16_WORD_SWAP( "263-ph2.sp2", 0x100000, 0x400000, CRC(bc3ec89e) SHA1(2cb0626bc4fa57e1d25f208e04532b570d87b3fb) ) /* mask rom TC5332205 */
6999
7000   ROM_Y_ZOOM
7001
7002   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7003   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
7004   ROM_FILL( 0x000000, 0x20000, 0 )
7005   ROM_REGION( 0x20000, "fixedbios", 0 )
7006   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7007
7008   /* Encrypted */
7009   NEO_BIOS_AUDIO_ENCRYPTED_128K( "263-m1.m1", CRC(46ac8228) SHA1(5aeea221050c98e4bb0f16489ce772bf1c80f787) ) /* mask rom TC531001 */
7010
7011   ROM_REGION( 0x1000000, "ymsnd", 0 )
7012   /* Encrypted */
7013   ROM_LOAD( "263-v1.v1", 0x000000, 0x800000, CRC(01e9b9cd) SHA1(0b045c2999449f7dab5ae8a42e957d5b6650431e) ) /* mask rom TC5364205 */
7014   ROM_LOAD( "263-v2.v2", 0x800000, 0x800000, CRC(4ab2bf81) SHA1(77ccfa48f7e3daddef5fe5229a0093eb2f803742) ) /* mask rom TC5364205 */
7015
7016   NO_DELTAT_REGION
7017
7018   ROM_REGION( 0x3000000, "sprites", 0 )
7019   /* Encrypted */
7020   ROM_LOAD16_BYTE( "263-c1.c1", 0x0000000, 0x800000, CRC(84865f8a) SHA1(34467ada896eb7c7ca58658bf2a932936d8b632c) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7021   ROM_LOAD16_BYTE( "263-c2.c2", 0x0000001, 0x800000, CRC(81df97f2) SHA1(2b74493b8ec8fd49216a627aeb3db493f76124e3) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7022   ROM_LOAD16_BYTE( "263-c3.c3", 0x1000000, 0x800000, CRC(1a343323) SHA1(bbbb5232bba538c277ce2ee02e2956ca2243b787) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7023   ROM_LOAD16_BYTE( "263-c4.c4", 0x1000001, 0x800000, CRC(942cfb44) SHA1(d9b46c71726383c4581fb042e63897e5a3c92d1b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7024   ROM_LOAD16_BYTE( "263-c5.c5", 0x2000000, 0x800000, CRC(a748854f) SHA1(2611bbedf9b5d8e82c6b2c99b88f842c46434d41) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7025   ROM_LOAD16_BYTE( "263-c6.c6", 0x2000001, 0x800000, CRC(5c8ba116) SHA1(6034db09c8706d4ddbcefc053efbc47a0953eb92) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7026ROM_END
7027
7028/****************************************
7029 ID-0264
7030 . NGM-264?
7031 NEO-MVS PROGBK2 (NEO-PCM2 SNK) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
7032 . NGH-2641
7033 NEO-AEG PROGBK2 (NEO-PCM2 SNK) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
7034  - Distribution by BrezzaSoft
7035****************************************/
7036
7037ROM_START( rotd ) /* Encrypted Set */ /* MVS VERSION */
7038   ROM_REGION( 0x800000, "maincpu", 0 )
7039   ROM_LOAD16_WORD_SWAP( "264-p1.p1", 0x000000, 0x800000, CRC(b8cc969d) SHA1(4f2205b4bdd32dd1522106ef4df10ac0eb1b852d) ) /* mask rom TC5364205 */
7040
7041   ROM_Y_ZOOM
7042
7043   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7044   ROM_REGION( 0x20000, "fixed", 0 )
7045   ROM_FILL( 0x000000, 0x20000, 0 )
7046   ROM_REGION( 0x20000, "fixedbios", 0 )
7047   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7048
7049   /* Encrypted */
7050   NEO_BIOS_AUDIO_ENCRYPTED_128K( "264-m1.m1", CRC(4dbd7b43) SHA1(6b63756b0d2d30bbf13fbd219833c81fd060ef96) ) /* mask rom 27c010 */
7051
7052   ROM_REGION( 0x1000000, "ymsnd", 0 )
7053   /* Encrypted */
7054   ROM_LOAD( "264-v1.v1", 0x000000, 0x800000, CRC(fa005812) SHA1(73723126dab5a640ac11955ed6da1bf7a91394f5) ) /* mask rom TC5364205 */
7055   ROM_LOAD( "264-v2.v2", 0x800000, 0x800000, CRC(c3dc8bf0) SHA1(a105e37262d9500a30fb8a5dac05aa4fab2562a3) ) /* mask rom TC5364205 */
7056
7057   NO_DELTAT_REGION
7058
7059   ROM_REGION( 0x4000000, "sprites", 0 )
7060   /* Encrypted */
7061   ROM_LOAD16_BYTE( "264-c1.c1", 0x0000000, 0x800000, CRC(4f148fee) SHA1(0821463765fad8fbd0dfbbabb7807337d0333719) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7062   ROM_LOAD16_BYTE( "264-c2.c2", 0x0000001, 0x800000, CRC(7cf5ff72) SHA1(ccb2f94bce943576d224cb326806942426d25584) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7063   ROM_LOAD16_BYTE( "264-c3.c3", 0x1000000, 0x800000, CRC(64d84c98) SHA1(8faf153f465ce6fb7770b27a7ce63caf11dd4086) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7064   ROM_LOAD16_BYTE( "264-c4.c4", 0x1000001, 0x800000, CRC(2f394a95) SHA1(82347e8f2b48b0522d7d91fd3f372d5768934ab2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7065   ROM_LOAD16_BYTE( "264-c5.c5", 0x2000000, 0x800000, CRC(6b99b978) SHA1(8fd0a60029b41668f9e1e3056edd3c90f62efa83) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7066   ROM_LOAD16_BYTE( "264-c6.c6", 0x2000001, 0x800000, CRC(847d5c7d) SHA1(a2ce03f6302edf81f2645de9ec61df1a281ddd78) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7067   ROM_LOAD16_BYTE( "264-c7.c7", 0x3000000, 0x800000, CRC(231d681e) SHA1(87836e64dc816f8bf1c834641535ea96baacc024) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7068   ROM_LOAD16_BYTE( "264-c8.c8", 0x3000001, 0x800000, CRC(c5edb5c4) SHA1(253378c8739daa5da4edb15eff7050820b2b3755) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7069ROM_END
7070
7071/****************************************
7072 ID-0265
7073 . NGM-2650
7074 NEO-MVS PROGBK2 (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
7075 . NGH-2650
7076 NEO-AEG PROGBK2 (NEO-PCM2 PLAYMORE) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
7077****************************************/
7078
7079ROM_START( kof2002 ) /* Encrypted Set */ /* MVS AND AES VERSION */
7080   ROM_REGION( 0x500000, "maincpu", 0 )
7081   ROM_LOAD16_WORD_SWAP( "265-p1.p1",  0x000000, 0x100000, CRC(9ede7323) SHA1(ad9d45498777fda9fa58e75781f48e09aee705a6) ) /* mask rom TC538200 */
7082   ROM_LOAD16_WORD_SWAP( "265-p2.sp2", 0x100000, 0x400000, CRC(327266b8) SHA1(98f445cc0a94f8744d74bca71cb420277622b034) ) /* mask rom TC5332205 */
7083
7084   ROM_Y_ZOOM
7085
7086   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7087   ROM_REGION( 0x20000, "fixed", 0 )
7088   ROM_FILL( 0x000000, 0x20000, 0 )
7089   ROM_REGION( 0x20000, "fixedbios", 0 )
7090   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7091
7092   /* Encrypted */
7093   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
7094
7095   ROM_REGION( 0x1000000, "ymsnd", 0 )
7096   /* Encrypted */
7097   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
7098   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
7099
7100   NO_DELTAT_REGION
7101
7102   ROM_REGION( 0x4000000, "sprites", 0 )
7103   /* Encrypted */
7104   ROM_LOAD16_BYTE( "265-c1.c1", 0x0000000, 0x800000, CRC(2b65a656) SHA1(9c46d8cf5b1ef322db442ac6a9b9406ab49206c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7105   ROM_LOAD16_BYTE( "265-c2.c2", 0x0000001, 0x800000, CRC(adf18983) SHA1(150cd4a5e51e9df88688469d2ea7675c2cf3658a) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7106   ROM_LOAD16_BYTE( "265-c3.c3", 0x1000000, 0x800000, CRC(875e9fd7) SHA1(28f52d56192d48bbc5dc3c97abf456bd34a58cbd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7107   ROM_LOAD16_BYTE( "265-c4.c4", 0x1000001, 0x800000, CRC(2da13947) SHA1(f8d79ec2c236aa3d3648a4f715676899602122c1) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7108   ROM_LOAD16_BYTE( "265-c5.c5", 0x2000000, 0x800000, CRC(61bd165d) SHA1(b3424db84bc683d858fb635bc42728f9cdd89caf) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7109   ROM_LOAD16_BYTE( "265-c6.c6", 0x2000001, 0x800000, CRC(03fdd1eb) SHA1(6155c7e802062f4eafa27e414c4e73ee59b868bf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7110   ROM_LOAD16_BYTE( "265-c7.c7", 0x3000000, 0x800000, CRC(1a2749d8) SHA1(af7d9ec1d576209826fa568f676bbff92f6d6ddd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7111   ROM_LOAD16_BYTE( "265-c8.c8", 0x3000001, 0x800000, CRC(ab0bb549) SHA1(d23afb60b7f831f7d4a98ad3c4a00ee19877a1ce) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7112ROM_END
7113
7114/****************************************
7115 ID-0266
7116 . NGM-2660
7117 NEO-MVS PROGBK2 (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
7118 . NGH-2660
7119 NEO-AEG PROGBK2 (NEO-PCM2 PLAYMORE) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
7120****************************************/
7121
7122ROM_START( matrim ) /* Encrypted Set */ /* MVS AND AES VERSION */
7123   ROM_REGION( 0x500000, "maincpu", 0 )
7124   ROM_LOAD16_WORD_SWAP( "266-p1.p1",  0x000000, 0x100000, CRC(5d4c2dc7) SHA1(8d723b0d28ec344eef26009b361a2b97d300dd51) ) /* mask rom TC538200 */
7125   ROM_LOAD16_WORD_SWAP( "266-p2.sp2", 0x100000, 0x400000, CRC(a14b1906) SHA1(1daa14d73512f760ef569b06f9facb279437d1db) ) /* mask rom TC5332205 */
7126
7127   ROM_Y_ZOOM
7128
7129   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7130   ROM_REGION( 0x80000, "fixed", 0 )
7131   ROM_FILL( 0x000000, 0x80000, 0 )
7132   ROM_REGION( 0x20000, "fixedbios", 0 )
7133   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7134
7135   /* Encrypted */
7136   NEO_BIOS_AUDIO_ENCRYPTED_128K( "266-m1.m1", CRC(456c3e6c) SHA1(5a07d0186198a18d2dda1331093cf29b0b9b2984) ) /* mask rom TC531001 */
7137
7138   ROM_REGION( 0x1000000, "ymsnd", 0 )
7139   /* Encrypted */
7140   ROM_LOAD( "266-v1.v1", 0x000000, 0x800000, CRC(a4f83690) SHA1(200d683d8c30ebc6d0ed331aa5bbba39b4e07160) ) /* mask rom TC5364205 */
7141   ROM_LOAD( "266-v2.v2", 0x800000, 0x800000, CRC(d0f69eda) SHA1(9d7e98976ad433ed8a35d7afffa38130444ba7db) ) /* mask rom TC5364205 */
7142
7143   NO_DELTAT_REGION
7144
7145   ROM_REGION( 0x4000000, "sprites", 0 )
7146   /* Encrypted */
7147   ROM_LOAD16_BYTE( "266-c1.c1", 0x0000000, 0x800000, CRC(505f4e30) SHA1(f22b6f76fc0cad963555dc89d072967c8dc8b79a) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7148   ROM_LOAD16_BYTE( "266-c2.c2", 0x0000001, 0x800000, CRC(3cb57482) SHA1(dab15bc24391f9a5173de76af48b612fb9636ccf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7149   ROM_LOAD16_BYTE( "266-c3.c3", 0x1000000, 0x800000, CRC(f1cc6ad0) SHA1(66c1cccc0332ffd2d3064f06330c41f95ca09ced) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7150   ROM_LOAD16_BYTE( "266-c4.c4", 0x1000001, 0x800000, CRC(45b806b7) SHA1(c2bb866fded53d62fad0fc88d89d5e7d4cb1894f) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7151   ROM_LOAD16_BYTE( "266-c5.c5", 0x2000000, 0x800000, CRC(9a15dd6b) SHA1(194a6973a7a9e3847efe1bdbaeaeb16e74aff2dd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7152   ROM_LOAD16_BYTE( "266-c6.c6", 0x2000001, 0x800000, CRC(281cb939) SHA1(bdb7766cfde581ccfaee2be7fe48445f360a2301) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7153   ROM_LOAD16_BYTE( "266-c7.c7", 0x3000000, 0x800000, CRC(4b71f780) SHA1(d5611a6f6b730db58613b48f2b0174661ccfb7bb) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7154   ROM_LOAD16_BYTE( "266-c8.c8", 0x3000001, 0x800000, CRC(29873d33) SHA1(dc77f129ed49b8d40d0d4241feef3f6c2f19a987) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7155ROM_END
7156
7157/****************************************
7158 ID-0267
7159 . ??M-2670
7160 NEO-MVS PROGBK2 (NEO-PCM2 SNK) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
7161****************************************/
7162
7163ROM_START( pnyaa ) /* Encrypted Set */ /* MVS ONLY RELEASE */
7164   ROM_REGION( 0x100000, "maincpu", 0 )
7165   ROM_LOAD16_WORD_SWAP( "267-p1.p1", 0x000000, 0x100000, CRC(112fe2c0) SHA1(01420e051f0bdbd4f68ce306a3738161b96f8ba8) ) /* mask rom TC538200 */
7166
7167   ROM_Y_ZOOM
7168
7169   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7170   ROM_REGION( 0x20000, "fixed", 0 )
7171   ROM_FILL( 0x000000, 0x20000, 0 )
7172   ROM_REGION( 0x20000, "fixedbios", 0 )
7173   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7174
7175   /* Encrypted */
7176   NEO_BIOS_AUDIO_ENCRYPTED_512K( "267-m1.m1", CRC(c7853ccd) SHA1(1b7a4c5093cf0fe3861ce44fd1d3b30c71ad0abe) ) /* mask rom TC534000 */
7177
7178   ROM_REGION( 0x400000, "ymsnd", 0 )
7179   /* Encrypted */
7180   ROM_LOAD( "267-v1.v1", 0x000000, 0x400000, CRC(e2e8e917) SHA1(7f412d55aebff3d38a225a88c632916295ab0584) ) /* mask rom TC5332204 */
7181
7182   NO_DELTAT_REGION
7183
7184   ROM_REGION( 0x1000000, "sprites", 0 )
7185   /* Encrypted */
7186   ROM_LOAD16_BYTE( "267-c1.c1", 0x0000000, 0x800000, CRC(5eebee65) SHA1(7eb3eefdeb24e19831d0f51d4ea07a0292c25ab6) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7187   ROM_LOAD16_BYTE( "267-c2.c2", 0x0000001, 0x800000, CRC(2b67187b) SHA1(149c3efd3c444fd0d35a97fa2268102bf76be3ed) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7188ROM_END
7189
7190/****************************************
7191 ID-0268
7192 . NGM-2680
7193 NEO-MVS PROGBK3S (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050)
7194 . NGH-2680
7195****************************************/
7196
7197ROM_START( mslug5 ) /* Encrypted Set */ /* MVS VERSION */
7198   ROM_REGION( 0x800000, "maincpu", 0 )
7199   ROM_LOAD32_WORD_SWAP( "268-p1cr.p1", 0x000000, 0x400000, CRC(d0466792) SHA1(880819933d997fab398f91061e9dbccb959ae8a1) ) /* mask rom TC5332205 */
7200   ROM_LOAD32_WORD_SWAP( "268-p2cr.p2", 0x000002, 0x400000, CRC(fbf6b61e) SHA1(9ec743d5988b5e3183f37f8edf45c72a8c0c893e) ) /* mask rom TC5332205 */
7201
7202   ROM_Y_ZOOM
7203
7204   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7205   ROM_REGION( 0x20000, "fixed", 0 )
7206   ROM_FILL( 0x000000, 0x20000, 0 )
7207   ROM_REGION( 0x20000, "fixedbios", 0 )
7208   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7209
7210   /* Encrypted */
7211   NEO_BIOS_AUDIO_ENCRYPTED_512K( "268-m1.m1", CRC(4a5a6e0e) SHA1(df0f660f2465e1db7be5adfcaf5e88ad61a74a42) ) /* mask rom TC534000 */
7212
7213   ROM_REGION( 0x1000000, "ymsnd", 0 )
7214   /* Encrypted */
7215   ROM_LOAD( "268-v1c.v1", 0x000000, 0x800000, CRC(ae31d60c) SHA1(c42285cf4e52fea74247860813e826df5aa7600a) ) /* mask rom TC5364205 */
7216   ROM_LOAD( "268-v2c.v2", 0x800000, 0x800000, CRC(c40613ed) SHA1(af889570304e2867d7dfea1e94e388c06249fb67) ) /* mask rom TC5364205 */
7217
7218   NO_DELTAT_REGION
7219
7220   ROM_REGION( 0x4000000, "sprites", 0 )
7221   /* Encrypted */
7222   ROM_LOAD16_BYTE( "268-c1c.c1", 0x0000000, 0x800000, CRC(ab7c389a) SHA1(025a188de589500bf7637fa8e7a37ab24bf4312e) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7223   ROM_LOAD16_BYTE( "268-c2c.c2", 0x0000001, 0x800000, CRC(3560881b) SHA1(493d218c92290b4770024d6ee2917c4022753b07) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7224   ROM_LOAD16_BYTE( "268-c3c.c3", 0x1000000, 0x800000, CRC(3af955ea) SHA1(cf36b6ae9b0d12744b17cb7a928399214de894be) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7225   ROM_LOAD16_BYTE( "268-c4c.c4", 0x1000001, 0x800000, CRC(c329c373) SHA1(5073d4079958a0ef5426885af2c9e3178f37d5e0) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7226   ROM_LOAD16_BYTE( "268-c5c.c5", 0x2000000, 0x800000, CRC(959c8177) SHA1(889bda7c65d71172e7d89194d1269561888fe789) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7227   ROM_LOAD16_BYTE( "268-c6c.c6", 0x2000001, 0x800000, CRC(010a831b) SHA1(aec140661e3ae35d264df416478ba15188544d91) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7228   ROM_LOAD16_BYTE( "268-c7c.c7", 0x3000000, 0x800000, CRC(6d72a969) SHA1(968dd9a4d1209b770b9b85ea6532fa24d262a262) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7229   ROM_LOAD16_BYTE( "268-c8c.c8", 0x3000001, 0x800000, CRC(551d720e) SHA1(ebf69e334fcaba0fda6fd432fd0970283a365d12) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7230ROM_END
7231
7232ROM_START( mslug5h ) /* Encrypted Set */ /* AES release of the game but is also found in later MVS carts */
7233   ROM_REGION( 0x800000, "maincpu", 0 )
7234   ROM_LOAD32_WORD_SWAP( "268-p1c.p1", 0x000000, 0x400000, CRC(3636690a) SHA1(e0da714b4bdc6efffe1250ded02ebddb3ab6d7b3) )
7235   ROM_LOAD32_WORD_SWAP( "268-p2c.p2", 0x000002, 0x400000, CRC(8dfc47a2) SHA1(27d618cfbd0107a4d2a836797e967b39d2eb4851) )
7236
7237   ROM_Y_ZOOM
7238
7239   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7240   ROM_REGION( 0x20000, "fixed", 0 )
7241   ROM_FILL( 0x000000, 0x20000, 0 )
7242   ROM_REGION( 0x20000, "fixedbios", 0 )
7243   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7244
7245   /* Encrypted */
7246   NEO_BIOS_AUDIO_ENCRYPTED_512K( "268-m1.m1", CRC(4a5a6e0e) SHA1(df0f660f2465e1db7be5adfcaf5e88ad61a74a42) ) /* mask rom TC534000 */
7247
7248   ROM_REGION( 0x1000000, "ymsnd", 0 )
7249   /* Encrypted */
7250   ROM_LOAD( "268-v1c.v1", 0x000000, 0x800000, CRC(ae31d60c) SHA1(c42285cf4e52fea74247860813e826df5aa7600a) ) /* mask rom TC5364205 */
7251   ROM_LOAD( "268-v2c.v2", 0x800000, 0x800000, CRC(c40613ed) SHA1(af889570304e2867d7dfea1e94e388c06249fb67) ) /* mask rom TC5364205 */
7252
7253   NO_DELTAT_REGION
7254
7255   ROM_REGION( 0x4000000, "sprites", 0 )
7256   /* Encrypted */
7257   ROM_LOAD16_BYTE( "268-c1c.c1", 0x0000000, 0x800000, CRC(ab7c389a) SHA1(025a188de589500bf7637fa8e7a37ab24bf4312e) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7258   ROM_LOAD16_BYTE( "268-c2c.c2", 0x0000001, 0x800000, CRC(3560881b) SHA1(493d218c92290b4770024d6ee2917c4022753b07) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7259   ROM_LOAD16_BYTE( "268-c3c.c3", 0x1000000, 0x800000, CRC(3af955ea) SHA1(cf36b6ae9b0d12744b17cb7a928399214de894be) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7260   ROM_LOAD16_BYTE( "268-c4c.c4", 0x1000001, 0x800000, CRC(c329c373) SHA1(5073d4079958a0ef5426885af2c9e3178f37d5e0) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7261   ROM_LOAD16_BYTE( "268-c5c.c5", 0x2000000, 0x800000, CRC(959c8177) SHA1(889bda7c65d71172e7d89194d1269561888fe789) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7262   ROM_LOAD16_BYTE( "268-c6c.c6", 0x2000001, 0x800000, CRC(010a831b) SHA1(aec140661e3ae35d264df416478ba15188544d91) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7263   ROM_LOAD16_BYTE( "268-c7c.c7", 0x3000000, 0x800000, CRC(6d72a969) SHA1(968dd9a4d1209b770b9b85ea6532fa24d262a262) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7264   ROM_LOAD16_BYTE( "268-c8c.c8", 0x3000001, 0x800000, CRC(551d720e) SHA1(ebf69e334fcaba0fda6fd432fd0970283a365d12) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7265ROM_END
7266
7267/****************************************
7268 ID-0269
7269 . NGM-2690
7270 NEO-MVS PROGBK3R (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050)
7271 . NGH-2690
7272 NEO-AEG PROGBK3R (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050)
7273****************************************/
7274
7275ROM_START( svc ) /* Encrypted Set */ /* MVS AND AES VERSION */
7276   ROM_REGION( 0x800000, "maincpu", 0 )
7277   ROM_LOAD32_WORD_SWAP( "269-p1.p1", 0x000000, 0x400000, CRC(38e2005e) SHA1(1b902905916a30969282f1399a756e32ff069097) ) /* mask rom TC5332205 */
7278   ROM_LOAD32_WORD_SWAP( "269-p2.p2", 0x000002, 0x400000, CRC(6d13797c) SHA1(3cb71a95cea6b006b44cac0f547df88aec0007b7) ) /* mask rom TC5332205 */
7279
7280   ROM_Y_ZOOM
7281
7282   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7283   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
7284   ROM_FILL( 0x000000, 0x80000, 0 )
7285   ROM_REGION( 0x20000, "fixedbios", 0 )
7286   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7287
7288   /* Encrypted */
7289   NEO_BIOS_AUDIO_ENCRYPTED_512K( "269-m1.m1", CRC(f6819d00) SHA1(d3bbe09df502464f104e53501708ac6e2c1832c6) ) /* mask rom TC534000 */
7290
7291   ROM_REGION( 0x1000000, "ymsnd", 0 )
7292   /* Encrypted */
7293   ROM_LOAD( "269-v1.v1", 0x000000, 0x800000, CRC(c659b34c) SHA1(1931e8111ef43946f68699f8707334c96f753a1e) ) /* mask rom TC5364205 */
7294   ROM_LOAD( "269-v2.v2", 0x800000, 0x800000, CRC(dd903835) SHA1(e58d38950a7a8697bb22a1cc7a371ae6664ae8f9) ) /* mask rom TC5364205 */
7295
7296   ROM_REGION( 0x4000000, "sprites", 0 )
7297   /* Encrypted */
7298   ROM_LOAD16_BYTE( "269-c1r.c1", 0x0000000, 0x800000, CRC(887b4068) SHA1(227cdcf7a10a415f1e3afe7ae97acc9afc2cc8e1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7299   ROM_LOAD16_BYTE( "269-c2r.c2", 0x0000001, 0x800000, CRC(4e8903e4) SHA1(31daaa4fd6c23e8f0a8428931c513d97d2eee1bd) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7300   ROM_LOAD16_BYTE( "269-c3r.c3", 0x1000000, 0x800000, CRC(7d9c55b0) SHA1(1f94a948b3e3c31b3ff05518ef525031a3cb2c62) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7301   ROM_LOAD16_BYTE( "269-c4r.c4", 0x1000001, 0x800000, CRC(8acb5bb6) SHA1(2c27d6e309646d7b84da85f78c06e4aaa74e844b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7302   ROM_LOAD16_BYTE( "269-c5r.c5", 0x2000000, 0x800000, CRC(097a4157) SHA1(54d839f55d27f68c704a94ea3c63c644ffc22ca4) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7303   ROM_LOAD16_BYTE( "269-c6r.c6", 0x2000001, 0x800000, CRC(e19df344) SHA1(20448add53ab25dd3a8f0b681131ad3b9c68acc9) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7304   ROM_LOAD16_BYTE( "269-c7r.c7", 0x3000000, 0x800000, CRC(d8f0340b) SHA1(43114af7557361a8903bb8cf8553f602946a9220) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7305   ROM_LOAD16_BYTE( "269-c8r.c8", 0x3000001, 0x800000, CRC(2570b71b) SHA1(99266e1c2ffcf324793fb5c55325fbc7e6265ac0) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7306ROM_END
7307
7308/****************************************
7309 ID-0270
7310 . NGM-2700
7311 NEO-MVS PROGBK2R (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050)
7312 . NGH-2700
7313 NEO-AEG PROGBK2S (NEO-PCM2 PLAYMORE) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050)
7314****************************************/
7315
7316ROM_START( samsho5 ) /* Encrypted Set */ /* MVS VERSION */
7317   ROM_REGION( 0x800000, "maincpu", 0 )
7318   ROM_LOAD16_WORD_SWAP( "270-p1.p1",  0x000000, 0x400000, CRC(4a2a09e6) SHA1(2644de02cdab8ccc605488a7c76b8c9cd1d5bcb9) ) /* mask rom TC5332205 */
7319   ROM_LOAD16_WORD_SWAP( "270-p2.sp2", 0x400000, 0x400000, CRC(e0c74c85) SHA1(df24a4ee76438e40c2f04a714175a7f85cacdfe0) ) /* mask rom TC5332205 */
7320
7321   ROM_Y_ZOOM
7322
7323   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7324   ROM_REGION( 0x20000, "fixed", 0 )
7325   ROM_FILL( 0x000000, 0x20000, 0 )
7326   ROM_REGION( 0x20000, "fixedbios", 0 )
7327   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7328
7329   /* Encrypted */
7330   NEO_BIOS_AUDIO_ENCRYPTED_512K( "270-m1.m1", CRC(49c9901a) SHA1(2623e9765a0eba58fee2de72851e9dc502344a3d) ) /* mask rom 27c040 */
7331
7332   ROM_REGION( 0x1000000, "ymsnd", 0 )
7333   /* Encrypted */
7334   ROM_LOAD( "270-v1.v1", 0x000000, 0x800000, CRC(62e434eb) SHA1(1985f5e88f8e866f9683b6cea901aa28c04b80bf) ) /* mask rom TC5364205 */
7335   ROM_LOAD( "270-v2.v2", 0x800000, 0x800000, CRC(180f3c9a) SHA1(6d7dc2605ead6e78704efa127e7e0dfe621e2c54) ) /* mask rom TC5364205 */
7336
7337   NO_DELTAT_REGION
7338
7339   ROM_REGION( 0x4000000, "sprites", 0 )
7340   /* Encrypted */
7341   ROM_LOAD16_BYTE( "270-c1.c1", 0x0000000, 0x800000, CRC(14ffffac) SHA1(2ccebfdd0c7907679ae95bf6eca85b8d322441e2) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7342   ROM_LOAD16_BYTE( "270-c2.c2", 0x0000001, 0x800000, CRC(401f7299) SHA1(94e48cdf1682b1250f53c59f3f71d995e928d17b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7343   ROM_LOAD16_BYTE( "270-c3.c3", 0x1000000, 0x800000, CRC(838f0260) SHA1(d5c8d3c6e7221d04e0b20882a847752e5ba95635) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7344   ROM_LOAD16_BYTE( "270-c4.c4", 0x1000001, 0x800000, CRC(041560a5) SHA1(d165e533699f15b1e079c82f97db3542b3a7dd66) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7345   ROM_LOAD16_BYTE( "270-c5.c5", 0x2000000, 0x800000, CRC(bd30b52d) SHA1(9f8282e684415b4045218cf764ef7d75a70e3240) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7346   ROM_LOAD16_BYTE( "270-c6.c6", 0x2000001, 0x800000, CRC(86a69c70) SHA1(526732cdb408cf680af9da39057bce6a4dfb5e13) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7347   ROM_LOAD16_BYTE( "270-c7.c7", 0x3000000, 0x800000, CRC(d28fbc3c) SHA1(a82a6ba6760fad14d9309f9147cb7d80bd6f70fc) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7348   ROM_LOAD16_BYTE( "270-c8.c8", 0x3000001, 0x800000, CRC(02c530a6) SHA1(7a3fafa6075506c6ef78cc4ec2cb72118ec83cb9) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7349ROM_END
7350
7351ROM_START( samsho5h ) /* Encrypted Set, Alternate Set */ /* AES VERSION */
7352   ROM_REGION( 0x800000, "maincpu", 0 )
7353   ROM_LOAD16_WORD_SWAP( "270-p1c.p1",  0x000000, 0x400000, CRC(bf956089) SHA1(c538289069bf338b9fa7ecc5c9143763dbb776a8) ) /* mask rom TC5332205 */
7354   ROM_LOAD16_WORD_SWAP( "270-p2c.sp2", 0x400000, 0x400000, CRC(943a6b1d) SHA1(12bd02fc197456da6ee86f066086094cef0f4bf9) ) /* mask rom TC5332205 */
7355
7356   ROM_Y_ZOOM
7357
7358   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7359   ROM_REGION( 0x20000, "fixed", 0 )
7360   ROM_FILL( 0x000000, 0x20000, 0 )
7361   ROM_REGION( 0x20000, "fixedbios", 0 )
7362   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7363
7364   /* Encrypted */
7365   NEO_BIOS_AUDIO_ENCRYPTED_512K( "270-m1.m1", CRC(49c9901a) SHA1(2623e9765a0eba58fee2de72851e9dc502344a3d) ) /* mask rom 27c040 */
7366
7367   ROM_REGION( 0x1000000, "ymsnd", 0 )
7368   /* Encrypted */
7369   ROM_LOAD( "270-v1.v1", 0x000000, 0x800000, CRC(62e434eb) SHA1(1985f5e88f8e866f9683b6cea901aa28c04b80bf) ) /* mask rom TC5364205 */
7370   ROM_LOAD( "270-v2.v2", 0x800000, 0x800000, CRC(180f3c9a) SHA1(6d7dc2605ead6e78704efa127e7e0dfe621e2c54) ) /* mask rom TC5364205 */
7371
7372   NO_DELTAT_REGION
7373
7374   ROM_REGION( 0x4000000, "sprites", 0 )
7375   /* Encrypted */
7376   ROM_LOAD16_BYTE( "270-c1.c1", 0x0000000, 0x800000, CRC(14ffffac) SHA1(2ccebfdd0c7907679ae95bf6eca85b8d322441e2) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7377   ROM_LOAD16_BYTE( "270-c2.c2", 0x0000001, 0x800000, CRC(401f7299) SHA1(94e48cdf1682b1250f53c59f3f71d995e928d17b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7378   ROM_LOAD16_BYTE( "270-c3.c3", 0x1000000, 0x800000, CRC(838f0260) SHA1(d5c8d3c6e7221d04e0b20882a847752e5ba95635) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7379   ROM_LOAD16_BYTE( "270-c4.c4", 0x1000001, 0x800000, CRC(041560a5) SHA1(d165e533699f15b1e079c82f97db3542b3a7dd66) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7380   ROM_LOAD16_BYTE( "270-c5.c5", 0x2000000, 0x800000, CRC(bd30b52d) SHA1(9f8282e684415b4045218cf764ef7d75a70e3240) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7381   ROM_LOAD16_BYTE( "270-c6.c6", 0x2000001, 0x800000, CRC(86a69c70) SHA1(526732cdb408cf680af9da39057bce6a4dfb5e13) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7382   ROM_LOAD16_BYTE( "270-c7.c7", 0x3000000, 0x800000, CRC(d28fbc3c) SHA1(a82a6ba6760fad14d9309f9147cb7d80bd6f70fc) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7383   ROM_LOAD16_BYTE( "270-c8.c8", 0x3000001, 0x800000, CRC(02c530a6) SHA1(7a3fafa6075506c6ef78cc4ec2cb72118ec83cb9) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7384ROM_END
7385
7386/****************************************
7387 ID-0271
7388 . NGM-2710
7389 NEO-MVS PROGBK3S (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050)
7390 . NGH-2710
7391 NEO-AEG PROGBK3S (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050)
7392****************************************/
7393
7394ROM_START( kof2003 ) /* Encrypted Code + Sound + GFX Roms */ /* MVS VERSION */
7395   ROM_REGION( 0x900000, "maincpu", 0 )
7396   ROM_LOAD32_WORD_SWAP( "271-p1c.p1", 0x000000, 0x400000, CRC(530ecc14) SHA1(812cf7e9902af3f5e9e330b7c05c2171b139ad2b) ) /* mask rom TC5332205 */
7397   ROM_LOAD32_WORD_SWAP( "271-p2c.p2", 0x000002, 0x400000, CRC(fd568da9) SHA1(46364906a1e81dc251117e91a1a7b43af1373ada) ) /* mask rom TC5332205 */
7398   ROM_LOAD16_WORD_SWAP( "271-p3c.p3", 0x800000, 0x100000, CRC(aec5b4a9) SHA1(74087f785590eda5898ce146029818f86ced42b6) ) /* mask rom TC538200 */
7399
7400   ROM_Y_ZOOM
7401
7402   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7403   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
7404   ROM_FILL( 0x000000, 0x80000, 0 )
7405   ROM_REGION( 0x20000, "fixedbios", 0 )
7406   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7407
7408   /* Encrypted */
7409   NEO_BIOS_AUDIO_ENCRYPTED_512K( "271-m1c.m1", CRC(f5515629) SHA1(7516bf1b0207a3c8d41dc30c478f8d8b1f71304b) ) /* mask rom TC534000 */
7410
7411   ROM_REGION( 0x1000000, "ymsnd", 0 )
7412   /* Encrypted */
7413   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
7414   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
7415
7416   NO_DELTAT_REGION
7417
7418   ROM_REGION( 0x4000000, "sprites", 0 )
7419   /* Encrypted */
7420   ROM_LOAD16_BYTE( "271-c1c.c1", 0x0000000, 0x800000, CRC(b1dc25d0) SHA1(50adc3c60d5b4b3abd10a49db2267306c6dbd772) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7421   ROM_LOAD16_BYTE( "271-c2c.c2", 0x0000001, 0x800000, CRC(d5362437) SHA1(66db36522dc09106388c707252df9fe1c88b4856) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7422   ROM_LOAD16_BYTE( "271-c3c.c3", 0x1000000, 0x800000, CRC(0a1fbeab) SHA1(9fe30d36ba98d00fda010832ff2f27783dd577c1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7423   ROM_LOAD16_BYTE( "271-c4c.c4", 0x1000001, 0x800000, CRC(87b19a0c) SHA1(b72a8e7d9124ce859b5149bb4381ba481c161ea5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7424   ROM_LOAD16_BYTE( "271-c5c.c5", 0x2000000, 0x800000, CRC(704ea371) SHA1(e75b80422f0d72eac826f8ffadf79efeccaab124) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7425   ROM_LOAD16_BYTE( "271-c6c.c6", 0x2000001, 0x800000, CRC(20a1164c) SHA1(c9843b37612a16fc95f6851793b1cfb5d49d811d) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7426   ROM_LOAD16_BYTE( "271-c7c.c7", 0x3000000, 0x800000, CRC(189aba7f) SHA1(7152195a57ad36b28290810fe87ed8c206262ba9) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7427   ROM_LOAD16_BYTE( "271-c8c.c8", 0x3000001, 0x800000, CRC(20ec4fdc) SHA1(deb5f7ec5a090e419b9d1a6a74877bee081198e2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7428ROM_END
7429
7430ROM_START( kof2003h ) /* Encrypted Code + Sound + GFX Roms */ /* AES VERSION */
7431   /* All chip labels for this set are correct */
7432   ROM_REGION( 0x900000, "maincpu", 0 )
7433   ROM_LOAD32_WORD_SWAP( "271-p1k.p1", 0x000000, 0x400000, CRC(d0d0ae3e) SHA1(538d054ac50c91694fbbfefcce548b063713e14e) ) /* mask rom TC5332205 */
7434   ROM_LOAD32_WORD_SWAP( "271-p2k.p2", 0x000002, 0x400000, CRC(fb3f79d9) SHA1(f253d10e732d6e23ae82d74ac9269d21f69ddb4d) ) /* mask rom TC5332205 */
7435   ROM_LOAD16_WORD_SWAP( "271-p3k.p3", 0x800000, 0x100000, CRC(232702ad) SHA1(6045046027dac1cbd4cbd14b5c1ece522bc6197f) ) /* mask rom TC538200 */
7436
7437   ROM_Y_ZOOM
7438
7439   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7440   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
7441   ROM_FILL( 0x000000, 0x80000, 0 )
7442   ROM_REGION( 0x20000, "fixedbios", 0 )
7443   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7444
7445   /* Encrypted */
7446   NEO_BIOS_AUDIO_ENCRYPTED_512K( "271-m1k.m1", CRC(48d9affe) SHA1(68f01560b91bbada39001ce01bdeeed5c9bb29f2) ) /* mask rom TC534000 */
7447
7448   ROM_REGION( 0x1000000, "ymsnd", 0 )
7449   /* Encrypted */
7450   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
7451   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
7452
7453   NO_DELTAT_REGION
7454
7455   ROM_REGION( 0x4000000, "sprites", 0 )
7456   /* Encrypted */
7457   ROM_LOAD16_BYTE( "271-c1k.c1", 0x0000000, 0x800000, CRC(efb9dd24) SHA1(1c6fe10fdbfc3306c3b7321c731f28ffdbfb15b8) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7458   ROM_LOAD16_BYTE( "271-c2k.c2", 0x0000001, 0x800000, CRC(3fb90447) SHA1(04d196de7c54c77bc75eba56d3060d46efc2d406) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7459   ROM_LOAD16_BYTE( "271-c3k.c3", 0x1000000, 0x800000, CRC(27950f28) SHA1(924f4de61c86b9efde6f1104b986886f1117055d) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7460   ROM_LOAD16_BYTE( "271-c4k.c4", 0x1000001, 0x800000, CRC(735177f8) SHA1(c95da1bc256995a7f44c9cc3312879ab6cbc15d6) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7461   ROM_LOAD16_BYTE( "271-c5k.c5", 0x2000000, 0x800000, CRC(a51b7c0f) SHA1(53dcf692b35b8d32abe5962ac799b8d641f04710) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7462   ROM_LOAD16_BYTE( "271-c6k.c6", 0x2000001, 0x800000, CRC(d5cae4e0) SHA1(248cd9eaac7a04d6b5d80c7534de90b057d566d7) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7463   ROM_LOAD16_BYTE( "271-c7k.c7", 0x3000000, 0x800000, CRC(e65ae2d0) SHA1(39744e10697d7ac539ecfcfa597e75597f321955) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7464   ROM_LOAD16_BYTE( "271-c8k.c8", 0x3000001, 0x800000, CRC(312f528c) SHA1(b4ad75f54f730ada6cb00112b74022250f055725) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7465ROM_END
7466
7467/****************************************
7468 ID-0272
7469 . NGM-2720
7470 NEO-MVS PROGBK2S (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050)
7471 . NGH-2720
7472****************************************/
7473
7474ROM_START( samsh5sp ) /* Encrypted Set */ /* MVS VERSION */
7475   /* Uncensored */
7476   ROM_REGION( 0x800000, "maincpu", 0 )
7477   ROM_LOAD16_WORD_SWAP( "272-p1.p1",  0x000000, 0x400000, CRC(fb7a6bba) SHA1(f68c527208d8a55ca44b0caaa8ab66b3a0ffdfe5) )
7478   ROM_LOAD16_WORD_SWAP( "272-p2.sp2", 0x400000, 0x400000, CRC(63492ea6) SHA1(6ba946acb62c63ed61a42fe72b7fff3828883bcc) )
7479
7480   ROM_Y_ZOOM
7481
7482   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7483   ROM_REGION( 0x20000, "fixed", 0 )
7484   ROM_FILL( 0x000000, 0x20000, 0 )
7485   ROM_REGION( 0x20000, "fixedbios", 0 )
7486   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7487
7488   /* Encrypted */
7489   NEO_BIOS_AUDIO_ENCRYPTED_512K( "272-m1.m1", CRC(adeebf40) SHA1(8cbd63dda3fff4de38060405bf70cd9308c9e66e) )
7490
7491   ROM_REGION( 0x1000000, "ymsnd", 0 )
7492   /* Encrypted */
7493   ROM_LOAD( "272-v1.v1", 0x000000, 0x800000, CRC(76a94127) SHA1(c3affd7ff1eb02345cfb755962ec173a8ec34acd) )
7494   ROM_LOAD( "272-v2.v2", 0x800000, 0x800000, CRC(4ba507f1) SHA1(728d139da3fe8a391fd8be4d24bb7fdd4bf9548a) )
7495
7496   NO_DELTAT_REGION
7497
7498   ROM_REGION( 0x4000000, "sprites", 0 )
7499   /* Encrypted */
7500   ROM_LOAD16_BYTE( "272-c1.c1", 0x0000000, 0x800000, CRC(4f97661a) SHA1(87f1721bae5ef16bc23c06b05e64686c396413df) ) /* Plane 0,1 */
7501   ROM_LOAD16_BYTE( "272-c2.c2", 0x0000001, 0x800000, CRC(a3afda4f) SHA1(86b475fce0bc0aa04d34e31324e8c7c7c847df19) ) /* Plane 2,3 */
7502   ROM_LOAD16_BYTE( "272-c3.c3", 0x1000000, 0x800000, CRC(8c3c7502) SHA1(6639020a8860d2400308e110d7277cbaf6eccc2a) ) /* Plane 0,1 */
7503   ROM_LOAD16_BYTE( "272-c4.c4", 0x1000001, 0x800000, CRC(32d5e2e2) SHA1(2b5612017152afd7433aaf99951a084ef5ad6bf0) ) /* Plane 2,3 */
7504   ROM_LOAD16_BYTE( "272-c5.c5", 0x2000000, 0x800000, CRC(6ce085bc) SHA1(0432b04a2265c649bba1bbd934dfb425c5d80fb1) ) /* Plane 0,1 */
7505   ROM_LOAD16_BYTE( "272-c6.c6", 0x2000001, 0x800000, CRC(05c8dc8e) SHA1(da45c222893f25495a66bdb302f9b0b1de3c8ae0) ) /* Plane 2,3 */
7506   ROM_LOAD16_BYTE( "272-c7.c7", 0x3000000, 0x800000, CRC(1417b742) SHA1(dfe35eb4bcd022d2f2dc544ccbbb77078f08c0aa) ) /* Plane 0,1 */
7507   ROM_LOAD16_BYTE( "272-c8.c8", 0x3000001, 0x800000, CRC(d49773cd) SHA1(cd8cf3b762d381c1f8f12919579c84a7ef7efb3f) ) /* Plane 2,3 */
7508ROM_END
7509
7510
7511/*  Some info about the 2nd AES release of Samurai Shodown 5 Special (samsh5sph):
7512
7513    The fixed carts have a small round neogeo sticker applied to the front side of the cart (top right near cart sticker).
7514    SNK Playmore had authorized a recall of all Samurai Shodown V Special (Samurai Spirits 0 Special) home cartridges. This recall involved bug fixes
7515    and the addition of fatalities. (The fatalities were originally removed at the last minute due to the Nagasaki incident, a murder caused by a child killing her classmate by knife.)
7516    Bug fixes: Improvements on Voice, Back Ground Music, and Practice mode.
7517    Fatalities: SNK PLAYMORE modified the game program by including the removed "Zetumei Ougi" in a modified version.
7518    This new version does not show the complete fatalities, they are instead replaced by what SNK PLAYMORE refers to as "lessened fatalities".
7519*/
7520
7521
7522ROM_START( samsh5sph ) /* Encrypted Set */ /* AES VERSION, 2nd bugfix release */
7523   /* Less censored */
7524   ROM_REGION( 0x800000, "maincpu", 0 )
7525   ROM_LOAD16_WORD_SWAP( "272-p1ca.p1",  0x000000, 0x400000, CRC(c30a08dd) SHA1(66864954017c841d7ca8490112c3aa7a71a4da70) )
7526   ROM_LOAD16_WORD_SWAP( "272-p2ca.sp2", 0x400000, 0x400000, CRC(bd64a518) SHA1(aa259a168930f106377d680db444535411b3bce0) )
7527   /* Correct chip labels unknown */
7528
7529   ROM_Y_ZOOM
7530
7531   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7532   ROM_REGION( 0x20000, "fixed", 0 )
7533   ROM_FILL( 0x000000, 0x20000, 0 )
7534   ROM_REGION( 0x20000, "fixedbios", 0 )
7535   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7536
7537   /* Encrypted */
7538   NEO_BIOS_AUDIO_ENCRYPTED_512K( "272-m1.m1", CRC(adeebf40) SHA1(8cbd63dda3fff4de38060405bf70cd9308c9e66e) )
7539
7540   ROM_REGION( 0x1000000, "ymsnd", 0 )
7541   /* Encrypted */
7542   ROM_LOAD( "272-v1.v1", 0x000000, 0x800000, CRC(76a94127) SHA1(c3affd7ff1eb02345cfb755962ec173a8ec34acd) )
7543   ROM_LOAD( "272-v2.v2", 0x800000, 0x800000, CRC(4ba507f1) SHA1(728d139da3fe8a391fd8be4d24bb7fdd4bf9548a) )
7544
7545   NO_DELTAT_REGION
7546
7547   ROM_REGION( 0x4000000, "sprites", 0 )
7548   /* Encrypted */
7549   ROM_LOAD16_BYTE( "272-c1.c1", 0x0000000, 0x800000, CRC(4f97661a) SHA1(87f1721bae5ef16bc23c06b05e64686c396413df) ) /* Plane 0,1 */
7550   ROM_LOAD16_BYTE( "272-c2.c2", 0x0000001, 0x800000, CRC(a3afda4f) SHA1(86b475fce0bc0aa04d34e31324e8c7c7c847df19) ) /* Plane 2,3 */
7551   ROM_LOAD16_BYTE( "272-c3.c3", 0x1000000, 0x800000, CRC(8c3c7502) SHA1(6639020a8860d2400308e110d7277cbaf6eccc2a) ) /* Plane 0,1 */
7552   ROM_LOAD16_BYTE( "272-c4.c4", 0x1000001, 0x800000, CRC(32d5e2e2) SHA1(2b5612017152afd7433aaf99951a084ef5ad6bf0) ) /* Plane 2,3 */
7553   ROM_LOAD16_BYTE( "272-c5.c5", 0x2000000, 0x800000, CRC(6ce085bc) SHA1(0432b04a2265c649bba1bbd934dfb425c5d80fb1) ) /* Plane 0,1 */
7554   ROM_LOAD16_BYTE( "272-c6.c6", 0x2000001, 0x800000, CRC(05c8dc8e) SHA1(da45c222893f25495a66bdb302f9b0b1de3c8ae0) ) /* Plane 2,3 */
7555   ROM_LOAD16_BYTE( "272-c7.c7", 0x3000000, 0x800000, CRC(1417b742) SHA1(dfe35eb4bcd022d2f2dc544ccbbb77078f08c0aa) ) /* Plane 0,1 */
7556   ROM_LOAD16_BYTE( "272-c8.c8", 0x3000001, 0x800000, CRC(d49773cd) SHA1(cd8cf3b762d381c1f8f12919579c84a7ef7efb3f) ) /* Plane 2,3 */
7557ROM_END
7558
7559ROM_START( samsh5spho ) /* Encrypted Set */ /* AES VERSION, 1st release */
7560   /* Censored */
7561   ROM_REGION( 0x800000, "maincpu", 0 )
7562   ROM_LOAD16_WORD_SWAP( "272-p1c.p1",  0x000000, 0x400000, CRC(9291794d) SHA1(66588ff9b00ffad6508b03423548984e28a3209d) )
7563   ROM_LOAD16_WORD_SWAP( "272-p2c.sp2", 0x400000, 0x400000, CRC(fa1a7dd8) SHA1(62443dad76d6c1e18f515d7d4ef8e1295a4b7f1d) )
7564
7565   ROM_Y_ZOOM
7566
7567   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7568   ROM_REGION( 0x20000, "fixed", 0 )
7569   ROM_FILL( 0x000000, 0x20000, 0 )
7570   ROM_REGION( 0x20000, "fixedbios", 0 )
7571   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7572
7573   /* Encrypted */
7574   NEO_BIOS_AUDIO_ENCRYPTED_512K( "272-m1.m1", CRC(adeebf40) SHA1(8cbd63dda3fff4de38060405bf70cd9308c9e66e) )
7575
7576   ROM_REGION( 0x1000000, "ymsnd", 0 )
7577   /* Encrypted */
7578   ROM_LOAD( "272-v1.v1", 0x000000, 0x800000, CRC(76a94127) SHA1(c3affd7ff1eb02345cfb755962ec173a8ec34acd) )
7579   ROM_LOAD( "272-v2.v2", 0x800000, 0x800000, CRC(4ba507f1) SHA1(728d139da3fe8a391fd8be4d24bb7fdd4bf9548a) )
7580
7581   NO_DELTAT_REGION
7582
7583   ROM_REGION( 0x4000000, "sprites", 0 )
7584   /* Encrypted */
7585   ROM_LOAD16_BYTE( "272-c1.c1", 0x0000000, 0x800000, CRC(4f97661a) SHA1(87f1721bae5ef16bc23c06b05e64686c396413df) ) /* Plane 0,1 */
7586   ROM_LOAD16_BYTE( "272-c2.c2", 0x0000001, 0x800000, CRC(a3afda4f) SHA1(86b475fce0bc0aa04d34e31324e8c7c7c847df19) ) /* Plane 2,3 */
7587   ROM_LOAD16_BYTE( "272-c3.c3", 0x1000000, 0x800000, CRC(8c3c7502) SHA1(6639020a8860d2400308e110d7277cbaf6eccc2a) ) /* Plane 0,1 */
7588   ROM_LOAD16_BYTE( "272-c4.c4", 0x1000001, 0x800000, CRC(32d5e2e2) SHA1(2b5612017152afd7433aaf99951a084ef5ad6bf0) ) /* Plane 2,3 */
7589   ROM_LOAD16_BYTE( "272-c5.c5", 0x2000000, 0x800000, CRC(6ce085bc) SHA1(0432b04a2265c649bba1bbd934dfb425c5d80fb1) ) /* Plane 0,1 */
7590   ROM_LOAD16_BYTE( "272-c6.c6", 0x2000001, 0x800000, CRC(05c8dc8e) SHA1(da45c222893f25495a66bdb302f9b0b1de3c8ae0) ) /* Plane 2,3 */
7591   ROM_LOAD16_BYTE( "272-c7.c7", 0x3000000, 0x800000, CRC(1417b742) SHA1(dfe35eb4bcd022d2f2dc544ccbbb77078f08c0aa) ) /* Plane 0,1 */
7592   ROM_LOAD16_BYTE( "272-c8.c8", 0x3000001, 0x800000, CRC(d49773cd) SHA1(cd8cf3b762d381c1f8f12919579c84a7ef7efb3f) ) /* Plane 2,3 */
7593ROM_END
7594
7595
7596/****************************************************************************
7597
7598    BrezzaSoft games, licensed?
7599
7600****************************************************************************/
7601
7602
7603/****************************************
7604 B-J-02
7605 . ???-????
7606 MVS PROGV (2000.11.17) / NEO-MVS CHAFIO (1999.6.14)
7607****************************************/
7608
7609ROM_START( jockeygp ) /* MVS ONLY RELEASE */
7610   /* Officially licensed? Cart has a holographic 'SNK' sticker applied */
7611   ROM_REGION( 0x200000, "maincpu", 0 )
7612   ROM_LOAD16_WORD_SWAP( "008-epr.p1", 0x000000, 0x100000, CRC(2fb7f388) SHA1(e3c9b03944b4c10cf5081caaf9c8be1f08c06493) )
7613   /* P on eprom, correct chip label unknown */
7614   ROM_FILL( 0x100000, 0x100000, 0xff )
7615
7616   ROM_Y_ZOOM
7617
7618   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7619   ROM_REGION( 0x20000, "fixed", 0 )
7620   ROM_FILL( 0x000000, 0x20000, 0 )
7621   ROM_REGION( 0x20000, "fixedbios", 0 )
7622   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7623
7624   /* Encrypted */
7625   NEO_BIOS_AUDIO_ENCRYPTED_512K( "008-mg1.m1", CRC(d163c690) SHA1(1dfd04d20c5985037f07cd01000d0b04f3a8f4f4) ) /* M27C4001 */
7626
7627   ROM_REGION( 0x0200000, "ymsnd", 0 )
7628   ROM_LOAD( "008-v1.v1", 0x000000, 0x200000, CRC(443eadba) SHA1(3def3c22f0e276bc4c2fc7ff70ce473c08b0d2df) ) /* mask rom TC5316200 */
7629
7630   NO_DELTAT_REGION
7631
7632   ROM_REGION( 0x1000000, "sprites", 0 )
7633   /* Encrypted */
7634   ROM_LOAD16_BYTE( "008-c1.c1", 0x0000000, 0x800000, CRC(a9acbf18) SHA1(d55122c70cbe78c2679598dc07863e1d1d1a31df) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7635   ROM_LOAD16_BYTE( "008-c2.c2", 0x0000001, 0x800000, CRC(6289eef9) SHA1(a2ede77bb2468a2e1486d74745a22a5451026039) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7636ROM_END
7637
7638ROM_START( jockeygpa ) /* MVS ONLY RELEASE */
7639   /* Officially licensed? Cart has a holographic 'SNK' sticker applied */
7640   ROM_REGION( 0x100000, "maincpu", 0 )
7641   ROM_LOAD16_WORD_SWAP( "008-epr_a.p1", 0x000000, 0x100000, CRC(b8f35532) SHA1(b46c96677f1bfe324b678112e9c614a20c550d51) ) /* M27C800 */
7642   /* P on eprom, correct chip label unknown */
7643
7644   ROM_Y_ZOOM
7645
7646   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7647   ROM_REGION( 0x20000, "fixed", 0 )
7648   ROM_FILL( 0x000000, 0x20000, 0 )
7649   ROM_REGION( 0x20000, "fixedbios", 0 )
7650   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7651
7652   /* Encrypted */
7653   NEO_BIOS_AUDIO_ENCRYPTED_512K( "008-mg1.m1", CRC(d163c690) SHA1(1dfd04d20c5985037f07cd01000d0b04f3a8f4f4) ) /* M27C4001 */
7654
7655   ROM_REGION( 0x0200000, "ymsnd", 0 )
7656   ROM_LOAD( "008-v1.v1", 0x000000, 0x200000, CRC(443eadba) SHA1(3def3c22f0e276bc4c2fc7ff70ce473c08b0d2df) ) /* mask rom TC5316200 */
7657
7658   NO_DELTAT_REGION
7659
7660   ROM_REGION( 0x1000000, "sprites", 0 )
7661   /* Encrypted */
7662   ROM_LOAD16_BYTE( "008-c1.c1", 0x0000000, 0x800000, CRC(a9acbf18) SHA1(d55122c70cbe78c2679598dc07863e1d1d1a31df) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7663   ROM_LOAD16_BYTE( "008-c2.c2", 0x0000001, 0x800000, CRC(6289eef9) SHA1(a2ede77bb2468a2e1486d74745a22a5451026039) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7664ROM_END
7665
7666/****************************************
7667 B-V-01
7668 . ???-????
7669 MVS PROGV (2000.11.17) / MVS CHAV (2000.10.26)
7670****************************************/
7671
7672ROM_START( vliner ) /* MVS ONLY RELEASE */
7673   /* Officially licensed? Cart has a holographic 'SNK' sticker applied */
7674   ROM_REGION( 0x100000, "maincpu", 0 )
7675   ROM_LOAD16_WORD_SWAP( "epr.p1", 0x000000, 0x080000, CRC(72a2c043) SHA1(b34bcc10ff33e4465126a6865fe8bf6b6a3d6cee) )
7676   /* P on eprom, correct chip label unknown */
7677
7678   NEO_SFIX_128K( "s-1.s1", CRC(972d8c31) SHA1(41f09ef28a3791668ea304c74b8b06c117a50e9a) )
7679
7680   NEO_BIOS_AUDIO_64K( "m-1.m1", CRC(9b92b7d1) SHA1(2c9b777feb9a8e43fa1bd942aba5afe3b5427d94) )
7681
7682   ROM_REGION( 0x200000, "ymsnd", ROMREGION_ERASE00 )
7683
7684   NO_DELTAT_REGION
7685
7686   ROM_REGION( 0x400000, "sprites", 0 )
7687   ROM_LOAD16_BYTE( "c-1.c1", 0x000000, 0x80000, CRC(5118f7c0) SHA1(b6fb6e9cbb660580d98e00780ebf248c0995145a) ) /* Plane 0,1 */
7688   ROM_LOAD16_BYTE( "c-2.c2", 0x000001, 0x80000, CRC(efe9b33e) SHA1(910c651aadce9bf59e51c338ceef62287756d2e8) ) /* Plane 2,3 */
7689ROM_END
7690
7691ROM_START( vlinero ) /* MVS ONLY RELEASE */
7692   /* Officially licensed? Cart has a holographic 'SNK' sticker applied */
7693   ROM_REGION( 0x100000, "maincpu", 0 )
7694   ROM_LOAD16_WORD_SWAP( "epr_54.p1", 0x000000, 0x080000, CRC(172efc18) SHA1(8ca739f8780a9e6fa19ac2c3e931d75871603f58) )
7695   /* P on eprom, correct chip label unknown */
7696
7697   NEO_SFIX_128K( "s-1.s1", CRC(972d8c31) SHA1(41f09ef28a3791668ea304c74b8b06c117a50e9a) )
7698
7699   NEO_BIOS_AUDIO_64K( "m-1.m1", CRC(9b92b7d1) SHA1(2c9b777feb9a8e43fa1bd942aba5afe3b5427d94) )
7700
7701   ROM_REGION( 0x200000, "ymsnd", ROMREGION_ERASE00 )
7702
7703   NO_DELTAT_REGION
7704
7705   ROM_REGION( 0x400000, "sprites", 0 )
7706   ROM_LOAD16_BYTE( "c-1.c1", 0x000000, 0x80000, CRC(5118f7c0) SHA1(b6fb6e9cbb660580d98e00780ebf248c0995145a) ) /* Plane 0,1 */
7707   ROM_LOAD16_BYTE( "c-2.c2", 0x000001, 0x80000, CRC(efe9b33e) SHA1(910c651aadce9bf59e51c338ceef62287756d2e8) ) /* Plane 2,3 */
7708ROM_END
7709
7710
7711/****************************************************************************
7712
7713    Vektorlogic games, unlicensed
7714
7715****************************************************************************/
7716
7717
7718/****************************************
7719 NSBP ??
7720 PROGRAM CART REVISION 2.0 (C) VEKTORLOGIC 2004 / GRAPHICS CART REVISION 1.2 (C) VEKTORLOGIC 2004
7721****************************************/
7722
7723// this doesn't boot, protection like kof98?
7724// you can force it to boot with a simple debugger trick, but then it resets when starting a game
7725ROM_START( sbp ) /* Unlicensed, no official game ID # */ /* MVS ONLY VERSION */
7726   ROM_REGION( 0x100000, "maincpu", 0 )
7727   ROM_LOAD16_WORD_SWAP( "001-003-02a.u2", 0x000000, 0x080000, CRC(d054d264) SHA1(d1b4bc626d000e0679def0545940fa75035921ab) ) /* HN27C4096HG */
7728
7729   ROM_REGION( 0x20000, "fixed", 0 )
7730   ROM_LOAD( "001-003-02b.u2", 0x000000, 0x20000, CRC(2fd04b2a) SHA1(1acb446704ab56d0a33df7c48855aa8d00fd5a3c) ) /* M27C4001 */
7731   ROM_IGNORE(0x20000)
7732   ROM_IGNORE(0x20000)
7733   ROM_IGNORE(0x20000)
7734
7735   ROM_REGION( 0x20000, "fixedbios", 0 )
7736   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7737   ROM_Y_ZOOM
7738
7739   NEO_BIOS_AUDIO_512K( "001-003-01b.u1", CRC(7b1f86f7) SHA1(15b6af7f9fbd0f1f6a1ecd912200ca8d0af2da2a) ) /* M27C4001 */
7740
7741   ROM_REGION( 0x800000, "ymsnd", 0 )
7742   ROM_LOAD( "001-003-12a.u12", 0x000000, 0x400000, CRC(c96723b9) SHA1(52eec88550781d45f84efbf9b905d7e7912e96fa) ) /* M27C322 */
7743   ROM_LOAD( "001-003-13a.u13", 0x400000, 0x400000, CRC(08c339a5) SHA1(badc9510ae243ef2a7877977eb36efa81b1489fe) ) /* M27C322 */
7744
7745   NO_DELTAT_REGION
7746
7747   ROM_REGION( 0x400000, "sprites", 0 )
7748   ROM_LOAD16_BYTE( "001-003-03b.u3", 0x000000, 0x200000, CRC(44791317) SHA1(9e773eb9aae5ee767213bd17348ff8a312e9cb16) ) /* Plane 0,1 */ /* M27C160 */
7749   ROM_LOAD16_BYTE( "001-003-04b.u4", 0x000001, 0x200000, CRC(a3a1c0df) SHA1(3b1e5be673f7cbb04199a805b0e0de93dad8cb8c) ) /* Plane 2,3 */ /* M27C160 */
7750ROM_END
7751
7752
7753/****************************************************************************
7754
7755    Jamma PCB sets
7756
7757****************************************************************************/
7758
7759
7760/****************************************
7761 ID-2680
7762 . MV-0 ????
7763 NEO-MVH MVOBR 2003.8.4
7764****************************************/
7765
7766ROM_START( ms5pcb ) /* Encrypted Set */
7767   ROM_REGION( 0x800000, "maincpu", 0 )
7768   ROM_LOAD32_WORD_SWAP( "268-p1r.p1", 0x000000, 0x400000, CRC(d0466792) SHA1(880819933d997fab398f91061e9dbccb959ae8a1) )
7769   ROM_LOAD32_WORD_SWAP( "268-p2r.p2", 0x000002, 0x400000, CRC(fbf6b61e) SHA1(9ec743d5988b5e3183f37f8edf45c72a8c0c893e) )
7770
7771   ROM_REGION( 0x20000, "fixed", 0 )
7772   ROM_FILL( 0x000000, 0x20000, 0 )
7773   ROM_REGION( 0x20000, "fixedbios", 0 )
7774   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7775
7776   ROM_REGION16_BE( 0x80000, "mainbios", 0 )
7777   /* this contains both an ASIA and JAPAN bios, HARDDIP3 on the PCB selects which to use */
7778   ROM_LOAD16_WORD_SWAP( "sp-4x.sp1", 0x00000, 0x80000, CRC(b4590283) SHA1(47047ed5b6062babc0a0bebcc30e4b3f021e115a) )
7779
7780   /* Encrypted */
7781   ROM_REGION( 0x80000, "audiocrypt", 0 )
7782   ROM_LOAD( "268-m1.m1", 0x00000, 0x80000, CRC(4a5a6e0e) SHA1(df0f660f2465e1db7be5adfcaf5e88ad61a74a42) ) /* mask rom TC534000 */
7783   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF )
7784
7785   /* Encrypted */
7786
7787   ROM_Y_ZOOM
7788
7789   ROM_REGION( 0x1000000, "ymsnd", 0 )
7790   /* Encrypted */
7791   ROM_LOAD( "268-v1.v1", 0x000000, 0x1000000, CRC(8458afe5) SHA1(62b4c6e7db763e9ff2697bbcdb43dc5a56b48c68) )
7792
7793   NO_DELTAT_REGION
7794
7795   ROM_REGION( 0x4000000, "sprites", 0 )
7796   /* Encrypted */
7797   ROM_LOAD32_WORD( "268-c1.c1", 0x0000000, 0x1000000, BAD_DUMP CRC(802042e8) SHA1(ff028b65f60f0b51b255a380cc47ec19fdc0c0cf) ) /* Plane 0,1 */
7798   ROM_LOAD32_WORD( "268-c2.c2", 0x0000002, 0x1000000, BAD_DUMP CRC(3b89fb9f) SHA1(cbc0729aae961f683b105ec3e1cda58b3f985abc) ) /* Plane 2,3 */
7799   ROM_LOAD32_WORD( "268-c3.c3", 0x2000000, 0x1000000, BAD_DUMP CRC(0f3f59e3) SHA1(8cc751dc7d4e94864a9ce3346f23b8f011082fcc) ) /* Plane 0,1 */
7800   ROM_LOAD32_WORD( "268-c4.c4", 0x2000002, 0x1000000, BAD_DUMP CRC(3ad8435a) SHA1(b333c8993c9b4c4ea59450ad0a3560e0b28056bc) ) /* Plane 2,3 */
7801ROM_END
7802
7803/****************************************
7804 ID-2690
7805 . MV-0 ????
7806 NEO-MVH MVO 2003.6.5
7807****************************************/
7808
7809ROM_START( svcpcb ) /* Encrypted Set, JAMMA PCB */
7810   ROM_REGION( 0x2000000, "maincpu", 0 )
7811   ROM_LOAD16_WORD_SWAP( "269-p1.p1", 0x000000, 0x2000000, CRC(432cfdfc) SHA1(19b40d32188a8bace6d2d570c6cf3d2f1e31e379) )
7812
7813   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
7814   ROM_FILL( 0x000000, 0x80000, 0 )
7815   ROM_REGION( 0x20000, "fixedbios", 0 )
7816   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7817
7818   ROM_REGION16_BE( 0x80000, "mainbios", 0 )
7819   /* this contains both an ASIA and JAPAN bios, HARDDIP3 on the PCB selects which to use */
7820   ROM_LOAD16_WORD_SWAP( "sp-4x.sp1", 0x00000, 0x80000, CRC(b4590283) SHA1(47047ed5b6062babc0a0bebcc30e4b3f021e115a) )
7821
7822   /* Encrypted */
7823   ROM_REGION( 0x80000, "audiocrypt", 0 )
7824   ROM_LOAD( "269-m1.m1", 0x00000, 0x80000, CRC(f6819d00) SHA1(d3bbe09df502464f104e53501708ac6e2c1832c6) ) /* mask rom TC534000 */
7825   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF )
7826
7827   ROM_Y_ZOOM
7828
7829   ROM_REGION( 0x1000000, "ymsnd", 0 )
7830   /* Encrypted */
7831   ROM_LOAD( "269-v1.v1", 0x000000, 0x800000, CRC(c659b34c) SHA1(1931e8111ef43946f68699f8707334c96f753a1e) )
7832   ROM_LOAD( "269-v2.v1", 0x800000, 0x800000, CRC(dd903835) SHA1(e58d38950a7a8697bb22a1cc7a371ae6664ae8f9) )
7833
7834   ROM_REGION( 0x4000000, "sprites", 0 )
7835   /* Encrypted */
7836   ROM_LOAD( "269-c1.c1", 0x0000000, 0x2000000, CRC(1b608f9c) SHA1(4e70ad182da2ca18815bd3936efb04a06ebce01e) ) /* Plane 0,1 */
7837   ROM_LOAD( "269-c2.c1", 0x2000000, 0x2000000, CRC(5a95f294) SHA1(6123cc7b20b494076185d27c2ffea910e124b195) ) /* Plane 0,1 */
7838ROM_END
7839
7840/****************************************
7841 ID-2690
7842 . MV-0 ????
7843 NEO-MVH MVOB 2003.7.9
7844****************************************/
7845
7846ROM_START( svcpcba ) /* Encrypted Set, JAMMA PCB */
7847   /* alt PCB version, this one has the same program roms as the MVS set, and different GFX / Sound rom arrangements */
7848   ROM_REGION( 0x800000, "maincpu", 0 )
7849   ROM_LOAD32_WORD_SWAP( "269-p1a.p1", 0x000000, 0x400000, CRC(38e2005e) SHA1(1b902905916a30969282f1399a756e32ff069097)  )
7850   ROM_LOAD32_WORD_SWAP( "269-p2a.p1", 0x000002, 0x400000, CRC(6d13797c) SHA1(3cb71a95cea6b006b44cac0f547df88aec0007b7)  )
7851
7852   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
7853   ROM_FILL( 0x000000, 0x80000, 0 )
7854   ROM_REGION( 0x20000, "fixedbios", 0 )
7855   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7856
7857   ROM_REGION16_BE( 0x80000, "mainbios", 0 )
7858   /* this contains both an ASIA and JAPAN bios, HARDDIP3 on the PCB selects which to use */
7859   ROM_LOAD16_WORD_SWAP( "sp-4x.sp1", 0x00000, 0x80000, CRC(b4590283) SHA1(47047ed5b6062babc0a0bebcc30e4b3f021e115a) )
7860
7861   /* Encrypted */
7862   ROM_REGION( 0x80000, "audiocrypt", 0 )
7863   ROM_LOAD( "269-m1.m1", 0x00000, 0x80000, CRC(f6819d00) SHA1(d3bbe09df502464f104e53501708ac6e2c1832c6) )
7864   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF )
7865
7866   ROM_Y_ZOOM
7867
7868   ROM_REGION( 0x1000000, "ymsnd", 0 )
7869   /* Encrypted */
7870   ROM_LOAD( "269-v1a.v1", 0x000000, 0x1000000, CRC(a6af4753) SHA1(ec4f61a526b707a7faec4653b773beb3bf3a17ba) )
7871
7872   ROM_REGION( 0x4000000, "sprites", 0 )
7873   /* Encrypted */
7874   ROM_LOAD32_WORD( "269-c1a.c1", 0x0000000, 0x1000000, CRC(e64d2b0c) SHA1(0714198c400e5c273181e4c6f906b49e35fef75d) ) /* Plane 0,1 */
7875   ROM_LOAD32_WORD( "269-c2a.c2", 0x0000002, 0x1000000, CRC(249089c2) SHA1(1c0ca19e330efe1a74b2d35a1a9a8d61481e16a9) ) /* Plane 2,3 */
7876   ROM_LOAD32_WORD( "269-c3a.c3", 0x2000000, 0x1000000, CRC(d32f2fab) SHA1(273d58cb3c9075075b1ca39a3b247a2cd545fbe7) ) /* Plane 0,1 */
7877   ROM_LOAD32_WORD( "269-c4a.c4", 0x2000002, 0x1000000, CRC(bf77e878) SHA1(e6e76f8eed0d04ee9ad39bf38ce305930b10e2c1) ) /* Plane 2,3 */
7878ROM_END
7879
7880/****************************************
7881 ID-2710
7882 . MV-0 ????
7883 NEO-MVH MVOC 2003.11.3
7884****************************************/
7885
7886ROM_START( kf2k3pcb ) /* Encrypted Set, JAMMA PCB */
7887   ROM_REGION( 0x900000, "maincpu", 0 )
7888   ROM_LOAD32_WORD_SWAP( "271-p1.p1", 0x000000, 0x400000, CRC(b9da070c) SHA1(1a26325af142a4dd221c336061761468598c4634) )
7889   ROM_LOAD32_WORD_SWAP( "271-p2.p2", 0x000002, 0x400000, CRC(da3118c4) SHA1(582e4f44f03276adecb7b2848d3b96bf6da57f1e) )
7890   ROM_LOAD16_WORD_SWAP( "271-p3.p3", 0x800000, 0x100000, CRC(5cefd0d2) SHA1(cddc3164629fed4b6f715e12b109ad35d1009355) )
7891
7892   ROM_REGION( 0x100000, "fixed", 0 ) /* larger char set */
7893   ROM_FILL( 0x000000, 0x100000, 0 )
7894   ROM_REGION( 0x20000, "fixedbios", 0 )
7895   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7896
7897   ROM_REGION16_BE( 0x80000, "mainbios", 0 )
7898   ROM_LOAD16_WORD_SWAP( "spj.sp1", 0x00000, 0x080000, CRC(148dd727) SHA1(2cf592a16c7157de02a989675d47965f2b3a44dd) ) // encrypted
7899
7900   /* Encrypted */
7901   ROM_REGION( 0x80000, "audiocrypt", 0 )
7902   ROM_LOAD( "271-m1.m1", 0x00000, 0x80000, CRC(d6bcf2bc) SHA1(df78bc95990eb8e8f3638dde6e1876354df7fe84) )
7903   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF )
7904
7905   ROM_Y_ZOOM
7906
7907   ROM_REGION( 0x1000000, "ymsnd", 0 )
7908   /* Encrypted */
7909   ROM_LOAD( "271-v1.v1", 0x000000, 0x1000000, CRC(1d96154b) SHA1(1d4e262b0d30cee79a4edc83bb9706023c736668) )
7910
7911   NO_DELTAT_REGION
7912
7913   ROM_REGION( 0x6000000, "sprites", 0 )
7914   /* Encrypted */
7915   ROM_LOAD32_WORD( "271-c1.c1", 0x0000000, 0x1000000, CRC(f5ebb327) SHA1(e4f799a54b09adcca13b1b0cf95971a1f4291b61) ) /* Plane 0,1 */
7916   ROM_LOAD32_WORD( "271-c2.c2", 0x0000002, 0x1000000, CRC(2be21620) SHA1(872c658f53bbc558e90f18d5db9cbaa82e748a6a) ) /* Plane 2,3 */
7917   ROM_LOAD32_WORD( "271-c3.c3", 0x2000000, 0x1000000, CRC(ddded4ff) SHA1(ff7b356125bc9e6637b164f5e81b13eabeb8d804) ) /* Plane 0,1 */
7918   ROM_LOAD32_WORD( "271-c4.c4", 0x2000002, 0x1000000, CRC(d85521e6) SHA1(62278fa8690972ed32aca07a4f7f97e7203d9f3a) ) /* Plane 2,3 */
7919   ROM_LOAD32_WORD( "271-c5.c5", 0x4000000, 0x1000000, CRC(18aa3540) SHA1(15e0a8c4e0927b1f7eb9bee8f532acea6818d5eb) ) /* Plane 0,1 */
7920   ROM_LOAD32_WORD( "271-c6.c6", 0x4000002, 0x1000000, CRC(1c40de87) SHA1(8d6425aed43ff6a96c88194e203df6a783286373) ) /* Plane 2,3 */
7921ROM_END
7922
7923
7924/****************************************************************************
7925
7926    Bootleg sets
7927
7928****************************************************************************/
7929
7930
7931/*
7932    About supported sets:
7933
7934    For many bootleg sets, only P's (program rom), M1 (sound driver) and S1 (text layer) roms were dumped.
7935    For these sets it is assumed that the original V's (sound data) and C's (gfx data) are used.
7936    This requires verification.
7937
7938*/
7939
7940
7941/* Zintrick bootleg */
7942
7943/* This Zintrick set appears to be a bootleg made from the CD version, not a genuine
7944   prototype the code is based on that of the NeoCD version with some minor patches,
7945   for example the ADK SAMPLE TEST text that appears on the screen is actually a hacked
7946   PROG LOAD ERROR message. The set is supported in order to distinguish the hacks from
7947   a real prototype should one turn up. */
7948
7949ROM_START( zintrckb )
7950   ROM_REGION( 0x100000, "maincpu", 0 )
7951   ROM_LOAD16_WORD_SWAP( "zin-p1.bin", 0x000000, 0x100000, CRC(06c8fca7) SHA1(b7bf38965c3d0db4d7a9684d14cac94a45b4a45b))
7952
7953   NEO_SFIX_128K( "zin-s1.bin", CRC(a7ab0e81) SHA1(f0649819b96cea79b05411e0b15c8edc677d79ba) )
7954
7955   NEO_BIOS_AUDIO_128K( "zin-m1.bin", CRC(fd9627ca) SHA1(b640c1f1ff466f734bb1cb5d7b589cb7e8a55346) )
7956
7957   ROM_REGION( 0x200000, "ymsnd", 0 )
7958   ROM_LOAD( "zin-v1.bin", 0x000000, 0x200000, CRC(c09f74f1) SHA1(d0b56a780a6eba85ff092240b1f1cc6718f17c21) )
7959
7960   NO_DELTAT_REGION
7961
7962   ROM_REGION( 0x400000, "sprites", 0 )
7963   ROM_LOAD16_BYTE( "zin-c1.bin", 0x000000, 0x200000, CRC(76aee189) SHA1(ad6929804c5b9a59aa609e6baebc6aa37e858a47) ) /* Plane 0,1 */
7964   ROM_LOAD16_BYTE( "zin-c2.bin", 0x000001, 0x200000, CRC(844ed4b3) SHA1(fb7cd057bdc6cbe8b78097dd124118bae7402256) ) /* Plane 2,3 */
7965ROM_END
7966
7967/* The King of Fighters '97 bootlegs */
7968
7969ROM_START( kof97pls )
7970   ROM_REGION( 0x500000, "maincpu", 0 )
7971   ROM_LOAD16_WORD_SWAP( "kf97-p1p.bin", 0x000000, 0x100000, CRC(c01fda46) SHA1(bc6402f5082efc80a8936364c657165f19b49415) )
7972   ROM_LOAD16_WORD_SWAP( "kf97-p2p.bin", 0x100000, 0x400000, CRC(5502b020) SHA1(37c48198d8b3798910a44075782cd1a20b687b4a) )
7973
7974   NEO_SFIX_128K( "kf97-s1p.bin", CRC(73254270) SHA1(8d06305f9d8890da1327356272b88bdd0dc089f5) )
7975
7976   NEO_BIOS_AUDIO_128K( "232-m1.m1", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) ) /* TC531001 */
7977
7978   ROM_REGION( 0xc00000, "ymsnd", 0 )
7979   ROM_LOAD( "232-v1.v1", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) ) /* TC5332204 */
7980   ROM_LOAD( "232-v2.v2", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) ) /* TC5332204 */
7981   ROM_LOAD( "232-v3.v3", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) ) /* TC5332204 */
7982
7983   NO_DELTAT_REGION
7984
7985   ROM_REGION( 0x2800000, "sprites", 0 )
7986   ROM_LOAD16_BYTE( "232-c1.c1", 0x0000000, 0x800000, CRC(5f8bf0a1) SHA1(e8b63bbc814de171fd18c5864a7fc639970c1ecf) ) /* Plane 0,1 */ /* TC5364205 */
7987   ROM_LOAD16_BYTE( "232-c2.c2", 0x0000001, 0x800000, CRC(e4d45c81) SHA1(fdb2b9326362e27b1c7a5beb977e0bc537488186) ) /* Plane 2,3 */ /* TC5364205 */
7988   ROM_LOAD16_BYTE( "232-c3.c3", 0x1000000, 0x800000, CRC(581d6618) SHA1(14d3124a08ded59f86932c6b28e1a4e48c564ccd) ) /* Plane 0,1 */ /* TC5364205 */
7989   ROM_LOAD16_BYTE( "232-c4.c4", 0x1000001, 0x800000, CRC(49bb1e68) SHA1(f769c1bd1b019521111ff3f0d22c63cb1f2640ef) ) /* Plane 2,3 */ /* TC5364205 */
7990   ROM_LOAD16_BYTE( "232-c5.c5", 0x2000000, 0x400000, CRC(34fc4e51) SHA1(b39c65f27873f71a6f5a5d1d04e5435f874472ee) ) /* Plane 0,1 */ /* TC5332205 */
7991   ROM_LOAD16_BYTE( "232-c6.c6", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */ /* TC5332205 */
7992ROM_END
7993
7994ROM_START( kof97oro )
7995   ROM_REGION( 0x500000, "maincpu", 0 )
7996   ROM_LOAD16_WORD_SWAP( "orochi-p1.bin",  0x0000000, 0x100000, CRC(6dcb2946) SHA1(3ccb3fdf3d32a75c7fcfefff5db1f3c75054731f) )
7997   ROM_LOAD16_WORD_SWAP( "orochi-p21.bin", 0x0200000, 0x100000, CRC(6e1c4d8c) SHA1(f514638a599a8a582c5f4df72f6a957bab776b7e) )
7998   ROM_CONTINUE( 0x100000, 0x100000 )
7999   ROM_LOAD16_WORD_SWAP( "orochi-p29.bin", 0x0400000, 0x100000, CRC(4c7c0221) SHA1(fdd05927743cb12210b74768155bb3f59bff01b5) )
8000   ROM_CONTINUE( 0x300000, 0x100000 )
8001
8002   NEO_SFIX_128K( "orochi-s1.bin", CRC(4ee2149a) SHA1(180a1a90021031eac1a643b769d9cdeda56518f5) )
8003
8004   NEO_BIOS_AUDIO_128K( "orochi-m1.bin", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) )
8005
8006   ROM_REGION( 0xc00000, "ymsnd", 0 )
8007   ROM_LOAD( "orochi-v1.bin", 0x000000, 0x0400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) )
8008   ROM_LOAD( "orochi-v2.bin", 0x400000, 0x0400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) )
8009   ROM_LOAD( "orochi-v3.bin", 0x800000, 0x0400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) )
8010
8011   NO_DELTAT_REGION
8012
8013   ROM_REGION( 0x2800000, "sprites", 0 )
8014   // The C1 and C2 here are reconstructed but very likely to be correct.
8015   ROM_LOAD16_BYTE( "orochi-c1.bin",  0x0000000, 0x1000000, BAD_DUMP CRC(f13e841c) SHA1(e24b3fb5f7e1c1f4752cad382c264f5f93e737a0) ) /* Plane 0,1 */
8016   ROM_LOAD16_BYTE( "orochi-c2.bin",  0x0000001, 0x1000000, BAD_DUMP CRC(2db1f6d3) SHA1(13d957c04bd69f0db140e4633c39db4a9e44eab8) ) /* Plane 2,3 */
8017   ROM_LOAD16_BYTE( "orochi-c51.bin", 0x2000000, 0x0200000, CRC(a90340cb) SHA1(97eaa89f0e860e2c591ca3a995fd910d8116347d) ) /* Plane 0,1 */
8018   ROM_LOAD16_BYTE( "orochi-c61.bin", 0x2000001, 0x0200000, CRC(188e351a) SHA1(ab724250bc07ace0873fc825b798ace934260988) ) /* Plane 2,3 */
8019   ROM_LOAD16_BYTE( "orochi-c52.bin", 0x2400000, 0x0200000, CRC(d4eec50a) SHA1(0930cce5346fbbd5c1524f9148d0577cbe634420) ) /* Plane 0,1 */
8020   ROM_LOAD16_BYTE( "orochi-c62.bin", 0x2400001, 0x0200000, CRC(031b1ad5) SHA1(d47b3452953b553348be0a55473b863ce2872f6e) ) /* Plane 2,3 */
8021ROM_END
8022
8023ROM_START( kog )
8024   ROM_REGION( 0x600000, "maincpu", 0 )
8025   ROM_LOAD16_WORD_SWAP( "5232-p1.bin", 0x000000, 0x200000, CRC(d2413ec6) SHA1(c0bf409d1e714cba5fdc6f79e4c2aec805316634) )
8026   ROM_LOAD16_WORD_SWAP( "232-p2.sp2",  0x200000, 0x400000, CRC(158b23f6) SHA1(9744620a70513490aaf9c5eda33e5ec31222be19) ) /* TC5332205 */
8027
8028   NEO_SFIX_128K( "5232-s1.bin", CRC(0bef69da) SHA1(80918586e694dce35c4dba796eb18abf6a070ebb) )
8029
8030   NEO_BIOS_AUDIO_128K( "232-m1.m1", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) ) /* TC531001 */
8031
8032   ROM_REGION( 0xc00000, "ymsnd", 0 )
8033   ROM_LOAD( "232-v1.v1", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) ) /* TC5332204 */
8034   ROM_LOAD( "232-v2.v2", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) ) /* TC5332204 */
8035   ROM_LOAD( "232-v3.v3", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) ) /* TC5332204 */
8036
8037   ROM_REGION( 0x2800000, "sprites", 0 )
8038   ROM_LOAD16_BYTE( "5232-c1a.bin", 0x0000000, 0x800000, CRC(4eab9b0a) SHA1(a6f6b755215a3f41474e0a76b5463303a522c2d3) ) /* Plane 0,1 */
8039   ROM_LOAD16_BYTE( "5232-c2a.bin", 0x0000001, 0x800000, CRC(697f8fd0) SHA1(5784464c2357ccef8e6e79b6298843fc3d13b39c) ) /* Plane 2,3 */
8040   ROM_LOAD16_BYTE( "5232-c1b.bin", 0x1000000, 0x800000, CRC(1143fdf3) SHA1(9dc5fe9a3b7599380db62095880e2d6f237a41bd) ) /* Plane 0,1 */
8041   ROM_LOAD16_BYTE( "5232-c2b.bin", 0x1000001, 0x800000, CRC(ea82cf8f) SHA1(3d9ab64b69cecd6b3950839ac2c6d151ad66dcf8) ) /* Plane 2,3 */
8042   ROM_LOAD16_BYTE( "5232-c3.bin",  0x2000000, 0x400000, CRC(abd1be07) SHA1(857eb68bbee4538770bbfa77aaa540d61ab0abcd) ) /* Plane 0,1 */
8043   ROM_LOAD16_BYTE( "5232-c4.bin",  0x2000001, 0x400000, CRC(d2bd967b) SHA1(c494e0a98e127d37ca360a28accc167fa50fb626) ) /* Plane 2,3 */
8044ROM_END
8045
8046/* Shock Troopers - 2nd Squad bootleg */
8047
8048ROM_START( lans2004 )
8049   ROM_REGION( 0x600000, "maincpu", 0 )
8050   ROM_LOAD16_WORD_SWAP( "lnsq-p1.bin",  0x000000, 0x200000, CRC(b40a879a) SHA1(379f3d44b0bae430b32157fd5f4018d77b243c58) )
8051   ROM_LOAD16_WORD_SWAP( "lnsq-p21.bin", 0x200000, 0x200000, CRC(ecdb2d42) SHA1(0d930cd369dfbcab7778b144355e5f70874aa324) )
8052   ROM_LOAD16_WORD_SWAP( "lnsq-p22.bin", 0x400000, 0x200000, CRC(fac5e2e7) SHA1(5cce7226c137da80c969df00e1cda41ef9c5082c) )
8053
8054   NEO_SFIX_128K( "lnsq-s1.bin", CRC(39e82897) SHA1(24a8c94dd7e70ecde8f90ea17f75b6b5d065704f) )
8055
8056   NEO_BIOS_AUDIO_128K( "246-m1.bin", CRC(d0604ad1) SHA1(fae3cd52a177eadd5f5775ace957cc0f8301e65d) )
8057
8058   ROM_REGION( 0xA00000, "ymsnd", 0 )
8059   ROM_LOAD( "lnsq-v1.bin", 0x000000, 0x400000, CRC(4408ebc3) SHA1(e3f4d8a7e243a8cf48e97d91bbfec7829c0d9404) )
8060   ROM_LOAD( "lnsq-v2.bin", 0x400000, 0x400000, CRC(3d953975) SHA1(6a4ab02ab3d4416a65343cf16815007cb273f19b) )
8061   ROM_LOAD( "lnsq-v3.bin", 0x800000, 0x200000, CRC(437d1d8e) SHA1(95e015c21707b53ed7223eaa19f6cdcfb4d94f0c) )
8062
8063   NO_DELTAT_REGION
8064
8065   ROM_REGION( 0x3000000, "sprites", 0 )
8066   ROM_LOAD16_BYTE( "lnsq-c1.bin", 0x0000000, 0x800000, CRC(b83de59f) SHA1(8cc060f9a57ab7d4238543b0bce5f5cd1d271d4f) ) /* Plane 0,1 */
8067   ROM_LOAD16_BYTE( "lnsq-c2.bin", 0x0000001, 0x800000, CRC(e08969fd) SHA1(c192639d023cdad64a8f53dbcda02aa8cfb4168e) ) /* Plane 2,3 */
8068   ROM_LOAD16_BYTE( "lnsq-c3.bin", 0x1000000, 0x800000, CRC(013f2cda) SHA1(6261111ce69dc23fbf97241131e5a6a49355d18c) ) /* Plane 0,1 */
8069   ROM_LOAD16_BYTE( "lnsq-c4.bin", 0x1000001, 0x800000, CRC(d8c3a758) SHA1(d19ca3be06f9fb0cb1933b1eb3da318524c3145d) ) /* Plane 2,3 */
8070   ROM_LOAD16_BYTE( "lnsq-c5.bin", 0x2000000, 0x800000, CRC(75500b82) SHA1(06d2afe94ea3eb3c4e523f593b8e709dd7c284a3) ) /* Plane 0,1 */
8071   ROM_LOAD16_BYTE( "lnsq-c6.bin", 0x2000001, 0x800000, CRC(670ac13b) SHA1(f448a144caae51b69ea19e1f43940db135d1164a) ) /* Plane 2,3 */
8072ROM_END
8073
8074/* Garou - Mark of the Wolves bootleg */
8075
8076ROM_START( garoubl ) /* bootleg of garoup */
8077   ROM_REGION( 0x500000, "maincpu", 0 )
8078   ROM_LOAD16_WORD_SWAP( "garou-p1.bin", 0x000000, 0x100000, CRC(fd446d59) SHA1(e37484673a935b2af76c84cd26977c751c0f8cff) )
8079   ROM_LOAD16_WORD_SWAP( "garou-p2.bin", 0x100000, 0x400000, CRC(3fb10a84) SHA1(4e4a4f4cd7f0ad2520c938c64c8910e6f8805eaf) )
8080
8081   NEO_SFIX_128K( "garou-s1.bin", CRC(df720e33) SHA1(58d05002d4851682bd626241fa7b70f78f6f3bc8) )
8082
8083   NEO_BIOS_AUDIO_512K( "garou-m1.bin", CRC(7c51d002) SHA1(01ffba6cbc8da07804f7b21d8c71c39d64a1a4e2) )
8084
8085   ROM_REGION( 0x1000000, "ymsnd", 0 )
8086   ROM_LOAD( "garou-v1.bin", 0x000000, 0x400000, CRC(98d736e4) SHA1(3edda9a1d45b0e38a85156d24fc8ff2f0011239b) )
8087   ROM_LOAD( "garou-v2.bin", 0x400000, 0x400000, CRC(eb43c03f) SHA1(83c9c168b154e60a64f1033004b2d33e218bbb8b) )
8088   ROM_LOAD( "garou-v3.bin", 0x800000, 0x400000, CRC(10a0f814) SHA1(e86def80d6fb2a38ebc9f3338d22f28c15ce85da) )
8089   ROM_LOAD( "garou-v4.bin", 0xc00000, 0x400000, CRC(8918fdd3) SHA1(60ea2104a0f993341124728d8fde0e8e937c55ef) )
8090
8091   NO_DELTAT_REGION
8092
8093   ROM_REGION( 0x4000000, "sprites", 0 )
8094   ROM_LOAD16_BYTE( "garou-c1.bin", 0x0000000, 0x1000000, CRC(e2ac83fa) SHA1(186f88a85d80efbb0371bd42cca152b6b59817fb) ) /* Plane 0,1 */
8095   ROM_LOAD16_BYTE( "garou-c2.bin", 0x0000001, 0x1000000, CRC(7c344b24) SHA1(f8af62a917e0ce2bf8ae4f17736fdd84d55d0788) ) /* Plane 2,3 */
8096   ROM_LOAD16_BYTE( "garou-c3.bin", 0x2000000, 0x1000000, CRC(d3aec5a6) SHA1(c1a584909a8a1519f676aa49351742b87c18276d) ) /* Plane 0,1 */
8097   ROM_LOAD16_BYTE( "garou-c4.bin", 0x2000001, 0x1000000, CRC(e02a242d) SHA1(8a73826d14880303a7bea2a903e842c733178aca) ) /* Plane 2,3 */
8098ROM_END
8099
8100/* Metal Slug 3 bootleg */
8101
8102ROM_START( mslug3b6 ) /* This "Metal Slug 6" is a hack/bootleg of Metal Slug 3, the real Metal Slug 6 is on Atomiswave Hardware */
8103   ROM_REGION( 0x500000, "maincpu", 0 )
8104   ROM_LOAD16_WORD_SWAP( "299-p1.bin", 0x000000, 0x200000, CRC(5f2fe228) SHA1(747775a2dfc0da87ad2ddd4f57ce5b2522f23fa5) )
8105   ROM_LOAD16_WORD_SWAP( "299-p2.bin", 0x100000, 0x400000, CRC(193fa835) SHA1(fb1f26db7998b0bb6b1c8b92500c1596ec5dfc71) )
8106
8107   NEO_SFIX_128K( "299-s1.bin", CRC(6f8b9635) SHA1(86b0c8c0ccac913c6192ed6a96c35d4e1a5e8061) )
8108
8109   NEO_BIOS_AUDIO_512K( "256-m1.m1", CRC(eaeec116) SHA1(54419dbb21edc8c4b37eaac2e7ad9496d2de037a) ) /* mask rom TC534000 */
8110
8111   ROM_REGION( 0x1000000, "ymsnd", 0 )
8112   ROM_LOAD( "256-v1.v1", 0x000000, 0x400000, CRC(f2690241) SHA1(fd56babc1934d10e0d27c32f032f9edda7ca8ce9) ) /* TC5332204 */
8113   ROM_LOAD( "256-v2.v2", 0x400000, 0x400000, CRC(7e2a10bd) SHA1(0d587fb9f64cba0315ce2d8a03e2b8fe34936dff) ) /* TC5332204 */
8114   ROM_LOAD( "256-v3.v3", 0x800000, 0x400000, CRC(0eaec17c) SHA1(c3ed613cc6993edd6fc0d62a90bcd85de8e21915) ) /* TC5332204 */
8115   ROM_LOAD( "256-v4.v4", 0xc00000, 0x400000, CRC(9b4b22d4) SHA1(9764fbf8453e52f80aa97a46fb9cf5937ef15a31) ) /* TC5332204 */
8116
8117   NO_DELTAT_REGION
8118
8119   ROM_REGION( 0x4000000, "sprites", 0 )
8120   /* Encrypted */
8121   ROM_LOAD16_BYTE( "256-c1.c1", 0x0000000, 0x800000, CRC(5a79c34e) SHA1(b8aa51fa50935cae62ab3d125b723ab888691e60) ) /* Plane 0,1 */ /* TC5364205 */
8122   ROM_LOAD16_BYTE( "256-c2.c2", 0x0000001, 0x800000, CRC(944c362c) SHA1(3843ab300f956280475469caee70135658f67089) ) /* Plane 2,3 */ /* TC5364205 */
8123   ROM_LOAD16_BYTE( "256-c3.c3", 0x1000000, 0x800000, CRC(6e69d36f) SHA1(94e8cf42e999114b4bd8b30e0aa2f365578c4c9a) ) /* Plane 0,1 */ /* TC5364205 */
8124   ROM_LOAD16_BYTE( "256-c4.c4", 0x1000001, 0x800000, CRC(b755b4eb) SHA1(804700a0966a48f130c434ede3f970792ea74fa5) ) /* Plane 2,3 */ /* TC5364205 */
8125   ROM_LOAD16_BYTE( "256-c5.c5", 0x2000000, 0x800000, CRC(7aacab47) SHA1(312c1c9846175fe1a3cad51d5ae230cf674fc93d) ) /* Plane 0,1 */ /* TC5364205 */
8126   ROM_LOAD16_BYTE( "256-c6.c6", 0x2000001, 0x800000, CRC(c698fd5d) SHA1(16818883b06849ba2f8d61bdd5e21aaf99bd8408) ) /* Plane 2,3 */ /* TC5364205 */
8127   ROM_LOAD16_BYTE( "256-c7.c7", 0x3000000, 0x800000, CRC(cfceddd2) SHA1(7def666adf8bd1703f40c61f182fc040b6362dc9) ) /* Plane 0,1 */ /* TC5364205 */
8128   ROM_LOAD16_BYTE( "256-c8.c8", 0x3000001, 0x800000, CRC(4d9be34c) SHA1(a737bdfa2b815aea7067e7af2636e83a9409c414) ) /* Plane 2,3 */ /* TC5364205 */
8129ROM_END
8130
8131/* Nightmare in the Dark bootleg */
8132
8133ROM_START( nitdbl )
8134   ROM_REGION( 0x100000, "maincpu", 0 )
8135   ROM_LOAD16_WORD_SWAP( "nitd-p1.bin", 0x000000, 0x080000, CRC(1a05bd1b) SHA1(7bbddef842d50b0778711063af695b168a76ff61) )
8136
8137   NEO_SFIX_128K( "nitd-s1.bin", CRC(dd3bf47c) SHA1(881271caee6508b8be51bf1b59c8f1e58e08e551) )
8138
8139   /* Bootleg m1 is 128k, data is identical */
8140   NEO_BIOS_AUDIO_512K( "260-m1.m1", CRC(6407c5e5) SHA1(d273e154cc905b63205a17a1a6d419cac3485a92) ) /* TC534000 */
8141
8142   ROM_REGION( 0x400000, "ymsnd", 0 )
8143   ROM_LOAD( "nitd-v1.bin", 0x000000, 0x200000, CRC(79008868) SHA1(90bd6aaefd37341297ab1f4ae7246e52facd87d0) )
8144   ROM_LOAD( "nitd-v2.bin", 0x200000, 0x200000, CRC(728558F9) SHA1(309aa7c933c199b2e540a601b363e7af8744fe00) )
8145
8146   NO_DELTAT_REGION
8147
8148   ROM_REGION( 0x800000, "sprites", 0 )
8149   ROM_LOAD16_BYTE( "nitd-c1.bin", 0x000000, 0x200000, CRC(b4353190) SHA1(90d5352e243a05f5c2be4fa7475667bb56e78016) ) /* Plane 0,1 */
8150   ROM_LOAD16_BYTE( "nitd-c2.bin", 0x000001, 0x200000, CRC(6e27511f) SHA1(1fc5cf7786ad0f0bc7b1623acabe605ad04af3c1) ) /* Plane 2,3 */
8151   ROM_LOAD16_BYTE( "nitd-c3.bin", 0x400000, 0x200000, CRC(472cf075) SHA1(7cdd25019e37a3d127e68a4179c051881df19afa) ) /* Plane 0,1 */
8152   ROM_LOAD16_BYTE( "nitd-c4.bin", 0x400001, 0x200000, CRC(4c3926e6) SHA1(7fc54a9886dbef911f7b226e3cd20081c535e989) ) /* Plane 2,3 */
8153ROM_END
8154
8155/* The King of Fighters 2001 bootlegs */
8156
8157ROM_START( cthd2003 ) /* Protected hack/bootleg of kof2001 Phenixsoft */
8158   ROM_REGION( 0x500000, "maincpu", 0 )
8159   ROM_LOAD16_WORD_SWAP( "5003-p1.bin", 0x000000, 0x100000, CRC(bb7602c1) SHA1(abf329a40f34c88f7325b255e3bc090db1edaca4) )
8160   ROM_LOAD16_WORD_SWAP( "5003-p2.bin", 0x100000, 0x400000, CRC(adc1c22b) SHA1(271e0629989257a0d21d280c05df53df259414b1) )
8161
8162   NEO_SFIX_128K( "5003-s1.bin", CRC(5ba29aab) SHA1(e7ea67268a10243693bff722e6fd2276ca540acf) )
8163
8164   NEO_BIOS_AUDIO_128K( "5003-m1.bin", CRC(1a8c274b) SHA1(5f6f9c533f4a296a18c741ce59a69cf6f5c836b9) )
8165
8166   /* sound roms are identical to kof2001 */
8167   ROM_REGION( 0x1000000, "ymsnd", 0 )
8168   ROM_LOAD( "262-v1-08-e0.v1", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) ) /* mask rom TC5332204 */
8169   ROM_LOAD( "262-v2-08-e0.v2", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) ) /* mask rom TC5332204 */
8170   ROM_LOAD( "262-v3-08-e0.v3", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) ) /* mask rom TC5332204 */
8171   ROM_LOAD( "262-v4-08-e0.v4", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) ) /* mask rom TC5332204 */
8172
8173   NO_DELTAT_REGION
8174
8175   ROM_REGION( 0x4000000, "sprites", 0 )
8176   /* Encrypted */
8177   ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) ) /* Plane 0,1 */
8178   ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) ) /* Plane 2,3 */
8179   ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) ) /* Plane 0,1 */
8180   ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) ) /* Plane 2,3 */
8181   ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) ) /* Plane 0,1 */
8182   ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) ) /* Plane 2,3 */
8183   ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) ) /* Plane 0,1 */
8184   ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) ) /* Plane 2,3 */
8185ROM_END
8186
8187ROM_START( ct2k3sp ) /* Protected hack/bootleg of kof2001 Phenixsoft */
8188   ROM_REGION( 0x500000, "maincpu", 0 )
8189   ROM_LOAD16_WORD_SWAP( "5003-p1sp.bin", 0x000000, 0x100000, CRC(ab5c4de0) SHA1(ca9a6bfd4c32d791ecabb34ccbf2cbf0e84f97d5) )
8190   ROM_LOAD16_WORD_SWAP( "5003-p2.bin",   0x100000, 0x400000, CRC(adc1c22b) SHA1(271e0629989257a0d21d280c05df53df259414b1) )
8191
8192   ROM_Y_ZOOM
8193
8194   ROM_REGION( 0x40000, "fixed", 0 )
8195   ROM_LOAD( "5003-s1sp.bin", 0x00000, 0x40000, CRC(6c355ab4) SHA1(71ac2bcd3dbda8402baecc56dabc2297b148a900) )
8196   ROM_REGION( 0x20000, "fixedbios", 0 )
8197   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8198
8199   NEO_BIOS_AUDIO_128K( "5003-m1.bin", CRC(1a8c274b) SHA1(5f6f9c533f4a296a18c741ce59a69cf6f5c836b9) )
8200
8201   /* sound roms are identical to kof2001 */
8202   ROM_REGION( 0x1000000, "ymsnd", 0 )
8203   ROM_LOAD( "262-v1-08-e0.v1", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) ) /* mask rom TC5332204 */
8204   ROM_LOAD( "262-v2-08-e0.v2", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) ) /* mask rom TC5332204 */
8205   ROM_LOAD( "262-v3-08-e0.v3", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) ) /* mask rom TC5332204 */
8206   ROM_LOAD( "262-v4-08-e0.v4", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) ) /* mask rom TC5332204 */
8207
8208   NO_DELTAT_REGION
8209
8210   ROM_REGION( 0x4000000, "sprites", 0 )
8211   /* Encrypted */
8212   ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) ) /* Plane 0,1 */
8213   ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) ) /* Plane 2,3 */
8214   ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) ) /* Plane 0,1 */
8215   ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) ) /* Plane 2,3 */
8216   ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) ) /* Plane 0,1 */
8217   ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) ) /* Plane 2,3 */
8218   ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) ) /* Plane 0,1 */
8219   ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) ) /* Plane 2,3 */
8220ROM_END
8221
8222ROM_START( ct2k3sa ) /* Protected hack/bootleg of kof2001 Phenixsoft, alternate version */
8223   ROM_REGION( 0x500000, "maincpu", 0 )
8224   ROM_LOAD16_WORD_SWAP( "5003-p1sa.bin", 0x000000, 0x100000, CRC(013a509d) SHA1(c61c9b777e6e062b5f4ad87cdb78e9ca05e9bfb9) )
8225   ROM_LOAD16_WORD_SWAP( "5003-p2.bin",   0x100000, 0x400000, CRC(adc1c22b) SHA1(271e0629989257a0d21d280c05df53df259414b1) )
8226
8227   ROM_Y_ZOOM
8228
8229   ROM_REGION( 0x20000, "fixed", 0 )
8230   ROM_LOAD( "5003-s1sa.bin", 0x00000, 0x20000, CRC(4e1f7eae) SHA1(3302ad290804272447ccd2e8edd3ce968f043db1) )
8231   /* S1 needs redump, correct? */
8232   ROM_REGION( 0x20000, "fixedbios", 0 )
8233   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8234
8235   NEO_BIOS_AUDIO_128K( "5003-m1.bin", CRC(1a8c274b) SHA1(5f6f9c533f4a296a18c741ce59a69cf6f5c836b9) )
8236
8237   /* Original set has 2x64 mbit sound roms */
8238   ROM_REGION( 0x1000000, "ymsnd", 0 )
8239   ROM_LOAD( "262-v1-08-e0.v1", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) ) /* mask rom TC5332204 */
8240   ROM_LOAD( "262-v2-08-e0.v2", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) ) /* mask rom TC5332204 */
8241   ROM_LOAD( "262-v3-08-e0.v3", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) ) /* mask rom TC5332204 */
8242   ROM_LOAD( "262-v4-08-e0.v4", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) ) /* mask rom TC5332204 */
8243
8244   NO_DELTAT_REGION
8245
8246   ROM_REGION( 0x4000000, "sprites", 0 )
8247   /* Encrypted */
8248   ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) ) /* Plane 0,1 */
8249   ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) ) /* Plane 2,3 */
8250   ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) ) /* Plane 0,1 */
8251   ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) ) /* Plane 2,3 */
8252   ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) ) /* Plane 0,1 */
8253   ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) ) /* Plane 2,3 */
8254   ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) ) /* Plane 0,1 */
8255   ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) ) /* Plane 2,3 */
8256ROM_END
8257
8258/* Metal Slug 4 bootleg */
8259
8260ROM_START( ms4plus )
8261   ROM_REGION( 0x500000, "maincpu", 0 )
8262   ROM_LOAD16_WORD_SWAP( "ms4-p1p.bin", 0x000000, 0x100000, CRC(806a6e04) SHA1(df503772d607271ea51285154c9fd68e18b143ce) )
8263   ROM_LOAD16_WORD_SWAP( "263-p2.sp2",  0x100000, 0x400000, CRC(fdb7aed8) SHA1(dbeaec38f44e58ffedba99e70fa1439c2bf0dfa3) ) /* mask rom TC5332205 */
8264
8265   NEO_SFIX_128K( "ms4-s1p.bin", CRC(07ff87ce) SHA1(96ddb439de2a26bf9869015d7fb19129d40f3fd9) )
8266
8267   /* Encrypted */
8268   NEO_BIOS_AUDIO_ENCRYPTED_128K( "263-m1.m1", CRC(46ac8228) SHA1(5aeea221050c98e4bb0f16489ce772bf1c80f787) ) /* mask rom TC531001 */
8269
8270   ROM_REGION( 0x1000000, "ymsnd", 0 )
8271   /* Encrypted */
8272   ROM_LOAD( "263-v1.v1", 0x000000, 0x800000, CRC(01e9b9cd) SHA1(0b045c2999449f7dab5ae8a42e957d5b6650431e) ) /* mask rom TC5364205 */
8273   ROM_LOAD( "263-v2.v2", 0x800000, 0x800000, CRC(4ab2bf81) SHA1(77ccfa48f7e3daddef5fe5229a0093eb2f803742) ) /* mask rom TC5364205 */
8274
8275   NO_DELTAT_REGION
8276
8277   ROM_REGION( 0x3000000, "sprites", 0 )
8278   /* Encrypted */
8279   ROM_LOAD16_BYTE( "263-c1.c1", 0x0000000, 0x800000, CRC(84865f8a) SHA1(34467ada896eb7c7ca58658bf2a932936d8b632c) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8280   ROM_LOAD16_BYTE( "263-c2.c2", 0x0000001, 0x800000, CRC(81df97f2) SHA1(2b74493b8ec8fd49216a627aeb3db493f76124e3) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8281   ROM_LOAD16_BYTE( "263-c3.c3", 0x1000000, 0x800000, CRC(1a343323) SHA1(bbbb5232bba538c277ce2ee02e2956ca2243b787) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8282   ROM_LOAD16_BYTE( "263-c4.c4", 0x1000001, 0x800000, CRC(942cfb44) SHA1(d9b46c71726383c4581fb042e63897e5a3c92d1b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8283   ROM_LOAD16_BYTE( "263-c5.c5", 0x2000000, 0x800000, CRC(a748854f) SHA1(2611bbedf9b5d8e82c6b2c99b88f842c46434d41) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8284   ROM_LOAD16_BYTE( "263-c6.c6", 0x2000001, 0x800000, CRC(5c8ba116) SHA1(6034db09c8706d4ddbcefc053efbc47a0953eb92) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8285ROM_END
8286
8287/* The King of Fighters 2002 bootlegs */
8288
8289ROM_START( kof2002b )
8290   ROM_REGION( 0x500000, "maincpu", 0 )
8291   ROM_LOAD16_WORD_SWAP( "265-p1.p1",  0x000000, 0x100000, CRC(9ede7323) SHA1(ad9d45498777fda9fa58e75781f48e09aee705a6) ) /* mask rom TC538200 */
8292   ROM_LOAD16_WORD_SWAP( "2k2-p2.bin", 0x100000, 0x400000, CRC(6dbee4df) SHA1(9a9646c81b233b44213c624b898c19f83e9a07f8) )
8293
8294   NEO_SFIX_128K( "2k2-s1.bin", CRC(2255f5bf) SHA1(8a82b3e9717df30b580b9d0bac0b403f8102a002) )
8295
8296   /* Encrypted */
8297   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
8298
8299   ROM_REGION( 0x1000000, "ymsnd", 0 )
8300   /* Encrypted */
8301   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
8302   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
8303
8304   NO_DELTAT_REGION
8305
8306   ROM_REGION( 0x4000000, "sprites", 0 )
8307   ROM_LOAD16_BYTE( "2k2-c1.bin", 0x0000000, 0x800000, CRC(f25d3d66) SHA1(eb1da3e171c126d91e851ce141840709a2f62f8a) ) /* Plane 0,1 */
8308   ROM_LOAD16_BYTE( "2k2-c2.bin", 0x0000001, 0x800000, CRC(e3e66f1d) SHA1(af93e9e134816353d6187a53959c6e418b83ad8d) ) /* Plane 2,3 */
8309   ROM_LOAD16_BYTE( "2k2-c3.bin", 0x1000000, 0x800000, CRC(8732fa30) SHA1(81c482b375c04bcfbbc69e3e2a2e9ab567c9bb78) ) /* Plane 0,1 */
8310   ROM_LOAD16_BYTE( "2k2-c4.bin", 0x1000001, 0x800000, CRC(0989fd40) SHA1(355d6b2c528319e41ce89952c5cf5bcc47cd6de0) ) /* Plane 2,3 */
8311   ROM_LOAD16_BYTE( "2k2-c5.bin", 0x2000000, 0x800000, CRC(60635cd2) SHA1(0cf2c54e003edfcdbed64e0570e6b800e7ed3c1b) ) /* Plane 0,1 */
8312   ROM_LOAD16_BYTE( "2k2-c6.bin", 0x2000001, 0x800000, CRC(bd736824) SHA1(d897fc8248ace145fef57d8aa393eaebc4a1ccc4) ) /* Plane 2,3 */
8313   ROM_LOAD16_BYTE( "2k2-c7.bin", 0x3000000, 0x800000, CRC(2da8d8cf) SHA1(ab8aa88b8e1baba88e5fc01d0f3cb55503b6c81a) ) /* Plane 0,1 */
8314   ROM_LOAD16_BYTE( "2k2-c8.bin", 0x3000001, 0x800000, CRC(2048404a) SHA1(d6d0f049ffc196334825328e0472b04e04bf6695) ) /* Plane 2,3 */
8315ROM_END
8316
8317ROM_START( kf2k2pls )
8318   ROM_REGION( 0x500000, "maincpu", 0 )
8319   ROM_LOAD16_WORD_SWAP( "2k2-p1p.bin", 0x000000, 0x100000, CRC(3ab03781) SHA1(86946c19f1c4d9ab5cde86688d698bf63118a39d) )
8320   ROM_LOAD16_WORD_SWAP( "265-p2.sp2",  0x100000, 0x400000, CRC(327266b8) SHA1(98f445cc0a94f8744d74bca71cb420277622b034) ) /* mask rom TC5332205 */
8321
8322   NEO_SFIX_128K( "2k2-s1p.bin", CRC(595e0006) SHA1(ff086bdaa6f40e9ad963e1100a27f44618d684ed) )
8323
8324   /* Encrypted */
8325   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
8326
8327   ROM_REGION( 0x1000000, "ymsnd", 0 )
8328   /* Encrypted */
8329   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
8330   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
8331
8332   NO_DELTAT_REGION
8333
8334   ROM_REGION( 0x4000000, "sprites", 0 )
8335   /* Encrypted */
8336   ROM_LOAD16_BYTE( "265-c1.c1", 0x0000000, 0x800000, CRC(2b65a656) SHA1(9c46d8cf5b1ef322db442ac6a9b9406ab49206c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8337   ROM_LOAD16_BYTE( "265-c2.c2", 0x0000001, 0x800000, CRC(adf18983) SHA1(150cd4a5e51e9df88688469d2ea7675c2cf3658a) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8338   ROM_LOAD16_BYTE( "265-c3.c3", 0x1000000, 0x800000, CRC(875e9fd7) SHA1(28f52d56192d48bbc5dc3c97abf456bd34a58cbd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8339   ROM_LOAD16_BYTE( "265-c4.c4", 0x1000001, 0x800000, CRC(2da13947) SHA1(f8d79ec2c236aa3d3648a4f715676899602122c1) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8340   ROM_LOAD16_BYTE( "265-c5.c5", 0x2000000, 0x800000, CRC(61bd165d) SHA1(b3424db84bc683d858fb635bc42728f9cdd89caf) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8341   ROM_LOAD16_BYTE( "265-c6.c6", 0x2000001, 0x800000, CRC(03fdd1eb) SHA1(6155c7e802062f4eafa27e414c4e73ee59b868bf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8342   ROM_LOAD16_BYTE( "265-c7.c7", 0x3000000, 0x800000, CRC(1a2749d8) SHA1(af7d9ec1d576209826fa568f676bbff92f6d6ddd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8343   ROM_LOAD16_BYTE( "265-c8.c8", 0x3000001, 0x800000, CRC(ab0bb549) SHA1(d23afb60b7f831f7d4a98ad3c4a00ee19877a1ce) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8344ROM_END
8345
8346ROM_START( kf2k2pla )
8347   ROM_REGION( 0x500000, "maincpu", 0 )
8348   ROM_LOAD16_WORD_SWAP( "2k2-p1pa.bin", 0x000000, 0x100000, CRC(6a3a02f3) SHA1(c9973b64e9a87fa38dde233ee3e9a73ba085b013) )
8349   ROM_LOAD16_WORD_SWAP( "265-p2.sp2",   0x100000, 0x400000, CRC(327266b8) SHA1(98f445cc0a94f8744d74bca71cb420277622b034) ) /* mask rom TC5332205 */
8350
8351   NEO_SFIX_128K( "2k2-s1pa.bin", CRC(1a3ed064) SHA1(9749bb55c750e6b65d651998c2649c5fb68db68e))
8352
8353   /* Encrypted */
8354   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
8355
8356   ROM_REGION( 0x1000000, "ymsnd", 0 )
8357   /* Encrypted */
8358   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
8359   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
8360
8361   NO_DELTAT_REGION
8362
8363   ROM_REGION( 0x4000000, "sprites", 0 )
8364   /* Encrypted */
8365   ROM_LOAD16_BYTE( "265-c1.c1", 0x0000000, 0x800000, CRC(2b65a656) SHA1(9c46d8cf5b1ef322db442ac6a9b9406ab49206c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8366   ROM_LOAD16_BYTE( "265-c2.c2", 0x0000001, 0x800000, CRC(adf18983) SHA1(150cd4a5e51e9df88688469d2ea7675c2cf3658a) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8367   ROM_LOAD16_BYTE( "265-c3.c3", 0x1000000, 0x800000, CRC(875e9fd7) SHA1(28f52d56192d48bbc5dc3c97abf456bd34a58cbd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8368   ROM_LOAD16_BYTE( "265-c4.c4", 0x1000001, 0x800000, CRC(2da13947) SHA1(f8d79ec2c236aa3d3648a4f715676899602122c1) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8369   ROM_LOAD16_BYTE( "265-c5.c5", 0x2000000, 0x800000, CRC(61bd165d) SHA1(b3424db84bc683d858fb635bc42728f9cdd89caf) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8370   ROM_LOAD16_BYTE( "265-c6.c6", 0x2000001, 0x800000, CRC(03fdd1eb) SHA1(6155c7e802062f4eafa27e414c4e73ee59b868bf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8371   ROM_LOAD16_BYTE( "265-c7.c7", 0x3000000, 0x800000, CRC(1a2749d8) SHA1(af7d9ec1d576209826fa568f676bbff92f6d6ddd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8372   ROM_LOAD16_BYTE( "265-c8.c8", 0x3000001, 0x800000, CRC(ab0bb549) SHA1(d23afb60b7f831f7d4a98ad3c4a00ee19877a1ce) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8373ROM_END
8374
8375ROM_START( kf2k2mp )
8376   ROM_REGION( 0x800000, "maincpu", 0 )
8377   ROM_LOAD16_WORD_SWAP( "kf02m-p1.bin", 0x000000, 0x400000, CRC(ff7c6ec0) SHA1(704c14d671dcb4cfed44d9f978a289cb7dd9d065) )
8378   ROM_LOAD16_WORD_SWAP( "kf02m-p2.bin", 0x400000, 0x400000, CRC(91584716) SHA1(90da863037cf775957fa154cd42536e221df5740) )
8379
8380   NEO_SFIX_128K( "kf02m-s1.bin", CRC(348d6f2c) SHA1(586da8a936ebbb71af324339a4b60ec91dfa0990) )
8381
8382   /* Encrypted */
8383   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
8384
8385   ROM_REGION( 0x1000000, "ymsnd", 0 )
8386   /* Encrypted */
8387   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
8388   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
8389
8390   ROM_REGION( 0x4000000, "sprites", 0 )
8391   /* Encrypted */
8392   ROM_LOAD16_BYTE( "265-c1.c1", 0x0000000, 0x800000, CRC(2b65a656) SHA1(9c46d8cf5b1ef322db442ac6a9b9406ab49206c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8393   ROM_LOAD16_BYTE( "265-c2.c2", 0x0000001, 0x800000, CRC(adf18983) SHA1(150cd4a5e51e9df88688469d2ea7675c2cf3658a) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8394   ROM_LOAD16_BYTE( "265-c3.c3", 0x1000000, 0x800000, CRC(875e9fd7) SHA1(28f52d56192d48bbc5dc3c97abf456bd34a58cbd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8395   ROM_LOAD16_BYTE( "265-c4.c4", 0x1000001, 0x800000, CRC(2da13947) SHA1(f8d79ec2c236aa3d3648a4f715676899602122c1) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8396   ROM_LOAD16_BYTE( "265-c5.c5", 0x2000000, 0x800000, CRC(61bd165d) SHA1(b3424db84bc683d858fb635bc42728f9cdd89caf) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8397   ROM_LOAD16_BYTE( "265-c6.c6", 0x2000001, 0x800000, CRC(03fdd1eb) SHA1(6155c7e802062f4eafa27e414c4e73ee59b868bf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8398   ROM_LOAD16_BYTE( "265-c7.c7", 0x3000000, 0x800000, CRC(1a2749d8) SHA1(af7d9ec1d576209826fa568f676bbff92f6d6ddd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8399   ROM_LOAD16_BYTE( "265-c8.c8", 0x3000001, 0x800000, CRC(ab0bb549) SHA1(d23afb60b7f831f7d4a98ad3c4a00ee19877a1ce) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8400ROM_END
8401
8402ROM_START( kf2k2mp2 )
8403   ROM_REGION( 0x600000, "maincpu", 0 )
8404   ROM_LOAD16_WORD_SWAP( "k2k2m2p1.bin", 0x000000, 0x200000, CRC(1016806c) SHA1(a583b45e9c0d6f67b95c52e44444aabe88f68d97) )
8405   ROM_LOAD16_WORD_SWAP( "k2k2m2p2.bin", 0x200000, 0x400000, CRC(432fdf53) SHA1(d7e542cd84d948162c60768e40ee4ed33d8e7913) )
8406
8407   NEO_SFIX_128K( "k2k2m2s1.bin", CRC(446e74c5) SHA1(efc2afb26578bad9eb21659c70eb0f827d6d1ef6) )
8408
8409   /* Encrypted */
8410   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
8411
8412   ROM_REGION( 0x1000000, "ymsnd", 0 )
8413   /* Encrypted */
8414   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
8415   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
8416
8417   ROM_REGION( 0x4000000, "sprites", 0 )
8418   /* Encrypted */
8419   ROM_LOAD16_BYTE( "265-c1.c1", 0x0000000, 0x800000, CRC(2b65a656) SHA1(9c46d8cf5b1ef322db442ac6a9b9406ab49206c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8420   ROM_LOAD16_BYTE( "265-c2.c2", 0x0000001, 0x800000, CRC(adf18983) SHA1(150cd4a5e51e9df88688469d2ea7675c2cf3658a) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8421   ROM_LOAD16_BYTE( "265-c3.c3", 0x1000000, 0x800000, CRC(875e9fd7) SHA1(28f52d56192d48bbc5dc3c97abf456bd34a58cbd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8422   ROM_LOAD16_BYTE( "265-c4.c4", 0x1000001, 0x800000, CRC(2da13947) SHA1(f8d79ec2c236aa3d3648a4f715676899602122c1) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8423   ROM_LOAD16_BYTE( "265-c5.c5", 0x2000000, 0x800000, CRC(61bd165d) SHA1(b3424db84bc683d858fb635bc42728f9cdd89caf) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8424   ROM_LOAD16_BYTE( "265-c6.c6", 0x2000001, 0x800000, CRC(03fdd1eb) SHA1(6155c7e802062f4eafa27e414c4e73ee59b868bf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8425   ROM_LOAD16_BYTE( "265-c7.c7", 0x3000000, 0x800000, CRC(1a2749d8) SHA1(af7d9ec1d576209826fa568f676bbff92f6d6ddd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8426   ROM_LOAD16_BYTE( "265-c8.c8", 0x3000001, 0x800000, CRC(ab0bb549) SHA1(d23afb60b7f831f7d4a98ad3c4a00ee19877a1ce) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8427ROM_END
8428
8429ROM_START( kof10th )
8430   ROM_REGION( 0x900000, "maincpu", 0 ) // Modified
8431   ROM_LOAD16_WORD_SWAP( "kf10-p1.bin", 0x000000, 0x800000, CRC(b1fd0c43) SHA1(5f842a8a27be2d957fd4140d6431ae47154997bb) )
8432
8433   ROM_Y_ZOOM
8434
8435   ROM_REGION( 0x40000, "fixed", 0 ) // modified
8436   ROM_FILL( 0x000000, 0x40000, 0 ) // modified
8437   ROM_REGION( 0x20000, "fixedbios", 0 )
8438   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8439
8440   NEO_BIOS_AUDIO_128K( "kf10-m1.bin", CRC(f6fab859) SHA1(0184aa1394b9f9946d610278b53b846020dd88dc) )
8441
8442   ROM_REGION( 0x1000000, "ymsnd", 0 )
8443   ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, CRC(0fc9a58d) SHA1(9d79ef00e2c2abd9f29af5521c2fbe5798bf336f) )
8444   ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, CRC(b8c475a4) SHA1(10caf9c69927a223445d2c4b147864c02ce520a8) )
8445
8446   NO_DELTAT_REGION
8447
8448   ROM_REGION( 0x4000000, "sprites", 0 )
8449   ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, CRC(3bbc0364) SHA1(e8aa7ff82f151ce1db56f259377b64cceef85af0) ) /* Plane 0,1 */
8450   ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, CRC(91230075) SHA1(d9098e05a7ba6008661147b6bf8bc2f494b8b72b) ) /* Plane 2,3 */
8451   ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, CRC(b5abfc28) SHA1(eabf60992bb3485c95330065294071ec155bfe7c) ) /* Plane 0,1 */
8452   ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, CRC(6cc4c6e1) SHA1(be824a944e745ee18efdc45c81fd496a4d624b9c) ) /* Plane 2,3 */
8453   ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, CRC(5b3d4a16) SHA1(93ac1cd7739100f8c32732644f81f2a19837b131) ) /* Plane 0,1 */
8454   ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, CRC(c6f3419b) SHA1(340c17a73aeb7bf8a6209f8459e6f00000075b50) ) /* Plane 2,3 */
8455   ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, CRC(9d2bba19) SHA1(5ebbd0af3f83a60e33c8ccb743e3d5f5a96f1273) ) /* Plane 0,1 */
8456   ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, CRC(5a4050cb) SHA1(8fd2291f349efa1ed5cd37ad4e273b60fe831a77) ) /* Plane 2,3 */
8457   ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, CRC(a289d1e1) SHA1(50c7d7ebde6e118a01036cc3e40827fcd9f0d3fd) ) /* Plane 0,1 */
8458   ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, CRC(e6494b5d) SHA1(18e064b9867ae0b0794065f8dbefd486620419db) ) /* Plane 2,3 */
8459   ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, CRC(404fff02) SHA1(56d1b32c87ea4885e49264e8b21846e465a20e1f) ) /* Plane 0,1 */
8460   ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, CRC(f2ccfc9e) SHA1(69db7fac7023785ab94ea711a72dbc2826cfe1a3) ) /* Plane 2,3 */
8461   ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, CRC(be79c5a8) SHA1(ded3c5eb3571647f50533eb682c2675372ace3fb) ) /* Plane 0,1 */
8462   ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, CRC(a5952ca4) SHA1(76dbb3cb45ce5a4beffa1ed29491204fc6617e42) ) /* Plane 2,3 */
8463   ROM_LOAD16_BYTE( "kf10-c7b.bin", 0x3800000, 0x400000, CRC(3fdb3542) SHA1(7d2050752a2064cd6729f483a0da93808e2c6033) ) /* Plane 0,1 */
8464   ROM_LOAD16_BYTE( "kf10-c8b.bin", 0x3800001, 0x400000, CRC(661b7a52) SHA1(0ae2ad2389134892f156337332b77adade3ddad1) ) /* Plane 2,3 */
8465ROM_END
8466
8467ROM_START( kf10thep ) /* this is a hack of kof2002 much like the various korean hacks / bootlegs of games */
8468   ROM_REGION( 0x800000, "maincpu", 0 )
8469   ROM_LOAD16_WORD_SWAP( "5008-p2.bin", 0x100000, 0x400000, CRC(a649ec38) SHA1(5c63ed5e5c848940f587c966da4908d04cf1293c) )
8470   ROM_LOAD16_WORD_SWAP( "5008-p3.bin", 0x500000, 0x200000, CRC(e629e13c) SHA1(6ebe080ce01c51064cb2f4d89315ba98a45ae727) )
8471
8472   ROM_REGION( 0x200000, "audiocrypt", 0 )
8473   ROM_LOAD( "5008-p1.bin", 0x000000, 0x200000, CRC(bf5469ba) SHA1(f05236d8fffab5836c0d27becdeeb80def32ee49) )
8474
8475   NEO_SFIX_128K( "5008-s1.bin", CRC(92410064) SHA1(1fb800b46341858207d3b6961a760289fbec7faa) )
8476
8477   NEO_BIOS_AUDIO_128K( "5008-m1.bin", CRC(5a47d9ad) SHA1(0197737934653acc6c97221660d789e9914f3578) )
8478   //NEO_BIOS_AUDIO_128K( "5004-m1.bin", CRC(f6fab859) SHA1(0184aa1394b9f9946d610278b53b846020dd88dc) )
8479
8480   ROM_REGION( 0x1000000, "ymsnd", 0 )
8481   ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, CRC(0fc9a58d) SHA1(9d79ef00e2c2abd9f29af5521c2fbe5798bf336f) )
8482   ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, CRC(b8c475a4) SHA1(10caf9c69927a223445d2c4b147864c02ce520a8) )
8483
8484   NO_DELTAT_REGION
8485
8486   ROM_REGION( 0x4000000, "sprites", 0 )
8487   ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, CRC(3bbc0364) SHA1(e8aa7ff82f151ce1db56f259377b64cceef85af0) ) /* Plane 0,1 */
8488   ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, CRC(91230075) SHA1(d9098e05a7ba6008661147b6bf8bc2f494b8b72b) ) /* Plane 2,3 */
8489   ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, CRC(b5abfc28) SHA1(eabf60992bb3485c95330065294071ec155bfe7c) ) /* Plane 0,1 */
8490   ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, CRC(6cc4c6e1) SHA1(be824a944e745ee18efdc45c81fd496a4d624b9c) ) /* Plane 2,3 */
8491   ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, CRC(5b3d4a16) SHA1(93ac1cd7739100f8c32732644f81f2a19837b131) ) /* Plane 0,1 */
8492   ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, CRC(c6f3419b) SHA1(340c17a73aeb7bf8a6209f8459e6f00000075b50) ) /* Plane 2,3 */
8493   ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, CRC(9d2bba19) SHA1(5ebbd0af3f83a60e33c8ccb743e3d5f5a96f1273) ) /* Plane 0,1 */
8494   ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, CRC(5a4050cb) SHA1(8fd2291f349efa1ed5cd37ad4e273b60fe831a77) ) /* Plane 2,3 */
8495   ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, CRC(a289d1e1) SHA1(50c7d7ebde6e118a01036cc3e40827fcd9f0d3fd) ) /* Plane 0,1 */
8496   ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, CRC(e6494b5d) SHA1(18e064b9867ae0b0794065f8dbefd486620419db) ) /* Plane 2,3 */
8497   ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, CRC(404fff02) SHA1(56d1b32c87ea4885e49264e8b21846e465a20e1f) ) /* Plane 0,1 */
8498   ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, CRC(f2ccfc9e) SHA1(69db7fac7023785ab94ea711a72dbc2826cfe1a3) ) /* Plane 2,3 */
8499   ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, CRC(be79c5a8) SHA1(ded3c5eb3571647f50533eb682c2675372ace3fb) ) /* Plane 0,1 */
8500   ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, CRC(a5952ca4) SHA1(76dbb3cb45ce5a4beffa1ed29491204fc6617e42) ) /* Plane 2,3 */
8501   ROM_LOAD16_BYTE( "5008-c7b.bin", 0x3800000, 0x400000, CRC(33604ef0) SHA1(57deec23c81d5d673ce5992cef1f2567f1a2148e) ) /* Plane 0,1 */
8502   ROM_LOAD16_BYTE( "5008-c8b.bin", 0x3800001, 0x400000, CRC(51f6a8f8) SHA1(9ef1cdbdd125a2b430346c22b59f36902312905f) ) /* Plane 2,3 */
8503ROM_END
8504
8505ROM_START( kf2k5uni )
8506   ROM_REGION( 0x800000, "maincpu", 0 )
8507   ROM_LOAD16_WORD_SWAP( "5006-p2a.bin", 0x000000, 0x400000, CRC(ced883a2) SHA1(f93db4d74ce0a73a3e9631966fee37be22470c89) )
8508   ROM_LOAD16_WORD_SWAP( "5006-p1.bin",  0x400000, 0x400000, CRC(72c39c46) SHA1(4ba0657de20319c0bc30c7c3bba7d7331d0ce9a7) )
8509
8510   NEO_SFIX_128K( "5006-s1.bin", CRC(91f8c544) SHA1(9d16cafb9ca4bc54f31f7fd82b1be06ec8b11c79) )
8511
8512   NEO_BIOS_AUDIO_128K( "5006-m1.bin", CRC(9050bfe7) SHA1(765bf3d954f775231b7ef2504bb844cd0b29e3f7) )
8513
8514   ROM_REGION( 0x1000000, "ymsnd", 0 )
8515   ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, CRC(0fc9a58d) SHA1(9d79ef00e2c2abd9f29af5521c2fbe5798bf336f) )
8516   ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, CRC(b8c475a4) SHA1(10caf9c69927a223445d2c4b147864c02ce520a8) )
8517
8518   ROM_REGION( 0x4000000, "sprites", 0 )
8519   ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, CRC(3bbc0364) SHA1(e8aa7ff82f151ce1db56f259377b64cceef85af0) ) /* Plane 0,1 */
8520   ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, CRC(91230075) SHA1(d9098e05a7ba6008661147b6bf8bc2f494b8b72b) ) /* Plane 2,3 */
8521   ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, CRC(b5abfc28) SHA1(eabf60992bb3485c95330065294071ec155bfe7c) ) /* Plane 0,1 */
8522   ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, CRC(6cc4c6e1) SHA1(be824a944e745ee18efdc45c81fd496a4d624b9c) ) /* Plane 2,3 */
8523   ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, CRC(5b3d4a16) SHA1(93ac1cd7739100f8c32732644f81f2a19837b131) ) /* Plane 0,1 */
8524   ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, CRC(c6f3419b) SHA1(340c17a73aeb7bf8a6209f8459e6f00000075b50) ) /* Plane 2,3 */
8525   ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, CRC(9d2bba19) SHA1(5ebbd0af3f83a60e33c8ccb743e3d5f5a96f1273) ) /* Plane 0,1 */
8526   ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, CRC(5a4050cb) SHA1(8fd2291f349efa1ed5cd37ad4e273b60fe831a77) ) /* Plane 2,3 */
8527   ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, CRC(a289d1e1) SHA1(50c7d7ebde6e118a01036cc3e40827fcd9f0d3fd) ) /* Plane 0,1 */
8528   ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, CRC(e6494b5d) SHA1(18e064b9867ae0b0794065f8dbefd486620419db) ) /* Plane 2,3 */
8529   ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, CRC(404fff02) SHA1(56d1b32c87ea4885e49264e8b21846e465a20e1f) ) /* Plane 0,1 */
8530   ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, CRC(f2ccfc9e) SHA1(69db7fac7023785ab94ea711a72dbc2826cfe1a3) ) /* Plane 2,3 */
8531   ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, CRC(be79c5a8) SHA1(ded3c5eb3571647f50533eb682c2675372ace3fb) ) /* Plane 0,1 */
8532   ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, CRC(a5952ca4) SHA1(76dbb3cb45ce5a4beffa1ed29491204fc6617e42) ) /* Plane 2,3 */
8533   ROM_LOAD16_BYTE( "kf10-c7b.bin", 0x3800000, 0x400000, CRC(3fdb3542) SHA1(7d2050752a2064cd6729f483a0da93808e2c6033) ) /* Plane 0,1 */
8534   ROM_LOAD16_BYTE( "kf10-c8b.bin", 0x3800001, 0x400000, CRC(661b7a52) SHA1(0ae2ad2389134892f156337332b77adade3ddad1) ) /* Plane 2,3 */
8535ROM_END
8536
8537ROM_START( kof2k4se )
8538   ROM_REGION( 0x500000, "maincpu", 0 )
8539   ROM_LOAD16_WORD_SWAP( "k2k4s-p2.bin", 0x000000, 0x080000, CRC(21a84084) SHA1(973e8a0bffa0e1f055803f663f81a8e03701802d) )
8540   ROM_LOAD16_WORD_SWAP( "k2k4s-p3.bin", 0x080000, 0x080000, CRC(febb484e) SHA1(4b1838795b84f22d578ad043641df0a7bf7d9774) )
8541   ROM_LOAD16_WORD_SWAP( "k2k4s-p1.bin", 0x100000, 0x400000, CRC(e6c50566) SHA1(cc6a3489a3bfeb4dcc65b6ddae0030f7e66fbabe) )
8542
8543   NEO_SFIX_128K( "k2k4s-s1.bin", CRC(a3c9b2d8) SHA1(1472d2cbd7bb73e84824ecf773924007e6117e77) )
8544
8545   NEO_BIOS_AUDIO_128K( "k2k4s-m1.bin", CRC(5a47d9ad) SHA1(0197737934653acc6c97221660d789e9914f3578) )
8546
8547   ROM_REGION( 0x1000000, "ymsnd", 0 )
8548   ROM_LOAD( "k2k4s-v2.bin", 0x000000, 0x800000, CRC(e4ddfb3f) SHA1(eb8220ab01c16cf9244b7f3f9912bec0db561b85) )
8549   ROM_LOAD( "k2k4s-v1.bin", 0x800000, 0x800000, CRC(b887d287) SHA1(f593a5722df6f6fac023d189a739a117e976bb2f) )
8550
8551   NO_DELTAT_REGION
8552
8553   ROM_REGION( 0x4000000, "sprites", 0 )
8554   ROM_LOAD16_BYTE( "k2k4s-c4.bin", 0x0000000, 0x800000, CRC(7a050288) SHA1(55a20c5b01e11a859f096af3f8e09986025d288f) ) /* Plane 0,1 */
8555   ROM_LOAD16_BYTE( "k2k4s-c8.bin", 0x0000001, 0x800000, CRC(e924afcf) SHA1(651e974f7339d2cdcfa58c5398013197a0525b77) ) /* Plane 2,3 */
8556   ROM_LOAD16_BYTE( "k2k4s-c3.bin", 0x1000000, 0x800000, CRC(959fad0b) SHA1(63ab83ddc5f688dc8165a7ff8d262df3fcd942a2) ) /* Plane 0,1 */
8557   ROM_LOAD16_BYTE( "k2k4s-c7.bin", 0x1000001, 0x800000, CRC(efe6a468) SHA1(2a414285e48aa948b5b0d4a9333bab083b5fb853) ) /* Plane 2,3 */
8558   ROM_LOAD16_BYTE( "k2k4s-c2.bin", 0x2000000, 0x800000, CRC(74bba7c6) SHA1(e01adc7a4633bc0951b9b4f09abc07d728e9a2d9) ) /* Plane 0,1 */
8559   ROM_LOAD16_BYTE( "k2k4s-c6.bin", 0x2000001, 0x800000, CRC(e20d2216) SHA1(5d28eea7b581e780b78f391a8179f1678ee0d9a5) ) /* Plane 2,3 */
8560   ROM_LOAD16_BYTE( "k2k4s-c1.bin", 0x3000000, 0x800000, CRC(fa705b2b) SHA1(f314c66876589601806352484dd8e45bc41be692) ) /* Plane 0,1 */
8561   ROM_LOAD16_BYTE( "k2k4s-c5.bin", 0x3000001, 0x800000, CRC(2c912ff9) SHA1(b624a625ea3e221808b7ea43fb0b1a51d8c1853e) ) /* Plane 2,3 */
8562ROM_END
8563
8564/* Matrimelee bootleg */
8565
8566ROM_START( matrimbl )
8567   ROM_REGION( 0x500000, "maincpu", 0 )
8568   ROM_LOAD16_WORD_SWAP( "266-p1.p1",  0x000000, 0x100000, CRC(5d4c2dc7) SHA1(8d723b0d28ec344eef26009b361a2b97d300dd51) ) /* mask rom TC538200 */
8569   ROM_LOAD16_WORD_SWAP( "266-p2.sp2", 0x100000, 0x400000, CRC(a14b1906) SHA1(1daa14d73512f760ef569b06f9facb279437d1db) ) /* mask rom TC5332205 */
8570
8571   ROM_Y_ZOOM
8572
8573   ROM_REGION( 0x80000, "fixed", 0 )
8574   ROM_FILL( 0x000000, 0x80000, 0 )
8575   ROM_REGION( 0x20000, "fixedbios", 0 )
8576   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8577
8578   NEO_BIOS_AUDIO_128K( "mart-m1.bin", CRC(3ea96ab1) SHA1(e5053c4312f658faed2a34e38325a22ef792d384) )
8579
8580   ROM_REGION( 0x1000000, "ymsnd", 0 )
8581   ROM_LOAD( "mart-v1.bin", 0x000000, 0x400000, CRC(352b0a07) SHA1(19f7cc12f3f6d0fda9c7449816c4c32367447897) )
8582   ROM_LOAD16_WORD_SWAP( "mart-v2.bin", 0x400000, 0x400000, CRC(1e9bd59e) SHA1(0f754e780d0ebb815a92a45ad55f85f6d0181b70) )
8583   ROM_LOAD( "mart-v3.bin", 0x800000, 0x400000, CRC(e8362fcc) SHA1(42d558fd80cabe22a1c09a1fa75741afbcf46b7c) )
8584   ROM_LOAD16_WORD_SWAP( "mart-v4.bin", 0xc00000, 0x400000, CRC(c8c79b19) SHA1(9c7a5e694d68f37a27209e1400b60b6241a04cc7) )
8585
8586   NO_DELTAT_REGION
8587
8588   ROM_REGION( 0x4000000, "sprites", 0 )
8589   ROM_LOAD16_BYTE( "mart-c1.bin", 0x0000000, 0x800000, CRC(a5595656) SHA1(d86281607f22e4f2001047eaeeda99cd673c508c) ) /* Plane 0,1 */
8590   ROM_LOAD16_BYTE( "mart-c2.bin", 0x0000001, 0x800000, CRC(c5f7c300) SHA1(9ff5ffb750bd2e925667d84389192f92183e8677) ) /* Plane 2,3 */
8591   ROM_LOAD16_BYTE( "mart-c3.bin", 0x1000000, 0x800000, CRC(574efd7d) SHA1(6cac303db705fe2800701ee51de9e9fca04e6e66) ) /* Plane 0,1 */
8592   ROM_LOAD16_BYTE( "mart-c4.bin", 0x1000001, 0x800000, CRC(109d54d9) SHA1(22cb748b3b14317b90d9d9951297ada2bfc3a3f1) ) /* Plane 2,3 */
8593   ROM_LOAD16_BYTE( "mart-c5.bin", 0x2000000, 0x800000, CRC(15c9e882) SHA1(1c9f1ccaed4fdd9d8f5cc9b6fcaca3c4e328e59e) ) /* Plane 0,1 */
8594   ROM_LOAD16_BYTE( "mart-c6.bin", 0x2000001, 0x800000, CRC(77497b97) SHA1(c6481bea5a36f8210971fdcb4bfbe7ed93c769de) ) /* Plane 2,3 */
8595   ROM_LOAD16_BYTE( "mart-c7.bin", 0x3000000, 0x800000, CRC(ab481bb6) SHA1(6b2d97c5505eeb28e300b075f37f0d69ef44463a) ) /* Plane 0,1 */
8596   ROM_LOAD16_BYTE( "mart-c8.bin", 0x3000001, 0x800000, CRC(906cf267) SHA1(b0f2cf8887794d715f208751ddd1ed26b2c3ffdf) ) /* Plane 2,3 */
8597ROM_END
8598
8599/* Metal Slug 5 bootleg */
8600
8601ROM_START( ms5plus )
8602   ROM_REGION( 0x500000, "maincpu", 0 )
8603   ROM_LOAD16_WORD_SWAP( "ms5-p1p.bin", 0x000000, 0x100000, CRC(106b276f) SHA1(0e840df95f3813145e5043573483c7610d2d3e68) )
8604   ROM_LOAD16_WORD_SWAP( "ms5-p2p.bin", 0x100000, 0x200000, CRC(d6a458e8) SHA1(c0a8bdae06d62859fb6734766ccc190eb2a809a4) )
8605   ROM_LOAD16_WORD_SWAP( "ms5-p3p.bin", 0x300000, 0x200000, CRC(439ec031) SHA1(f0ad8f9be7d26bc504593c1321bd23c286a221f0) )
8606
8607   ROM_Y_ZOOM
8608
8609   ROM_REGION( 0x20000, "fixed", 0 )
8610   ROM_LOAD("ms5-s1p.bin", 0x000000, 0x20000, CRC(21e04432) SHA1(10057a2aa487087f7143d1d69fdad978a6bef0f7) )
8611   ROM_REGION( 0x20000, "fixedbios", 0 )
8612   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8613
8614   /* Encrypted */
8615   NEO_BIOS_AUDIO_ENCRYPTED_512K( "268-m1.m1", CRC(4a5a6e0e) SHA1(df0f660f2465e1db7be5adfcaf5e88ad61a74a42) ) /* mask rom TC534000 */
8616
8617   ROM_REGION( 0x1000000, "ymsnd", 0 )
8618   /* Encrypted */
8619   ROM_LOAD( "268-v1c.v1", 0x000000, 0x800000, CRC(ae31d60c) SHA1(c42285cf4e52fea74247860813e826df5aa7600a) ) /* mask rom TC5364205 */
8620   ROM_LOAD( "268-v2c.v2", 0x800000, 0x800000, CRC(c40613ed) SHA1(af889570304e2867d7dfea1e94e388c06249fb67) ) /* mask rom TC5364205 */
8621
8622   NO_DELTAT_REGION
8623
8624   ROM_REGION( 0x4000000, "sprites", 0 )
8625   /* Encrypted */
8626   ROM_LOAD16_BYTE( "268-c1c.c1", 0x0000000, 0x800000, CRC(ab7c389a) SHA1(025a188de589500bf7637fa8e7a37ab24bf4312e) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8627   ROM_LOAD16_BYTE( "268-c2c.c2", 0x0000001, 0x800000, CRC(3560881b) SHA1(493d218c92290b4770024d6ee2917c4022753b07) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8628   ROM_LOAD16_BYTE( "268-c3c.c3", 0x1000000, 0x800000, CRC(3af955ea) SHA1(cf36b6ae9b0d12744b17cb7a928399214de894be) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8629   ROM_LOAD16_BYTE( "268-c4c.c4", 0x1000001, 0x800000, CRC(c329c373) SHA1(5073d4079958a0ef5426885af2c9e3178f37d5e0) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8630   ROM_LOAD16_BYTE( "268-c5c.c5", 0x2000000, 0x800000, CRC(959c8177) SHA1(889bda7c65d71172e7d89194d1269561888fe789) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8631   ROM_LOAD16_BYTE( "268-c6c.c6", 0x2000001, 0x800000, CRC(010a831b) SHA1(aec140661e3ae35d264df416478ba15188544d91) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8632   ROM_LOAD16_BYTE( "268-c7c.c7", 0x3000000, 0x800000, CRC(6d72a969) SHA1(968dd9a4d1209b770b9b85ea6532fa24d262a262) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8633   ROM_LOAD16_BYTE( "268-c8c.c8", 0x3000001, 0x800000, CRC(551d720e) SHA1(ebf69e334fcaba0fda6fd432fd0970283a365d12) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8634ROM_END
8635
8636/* Puzzle Bobble / Bust-A-Move (Neo-Geo) bootleg */
8637
8638ROM_START( pbobblenb )
8639   ROM_REGION( 0x100000, "maincpu", 0 )
8640   ROM_LOAD16_WORD_SWAP( "u7", 0x000000, 0x080000, CRC(ac1e9ef3) SHA1(a2b125ee70869667431ab125bc29e768500802ad) )
8641
8642   NEO_SFIX_128K( "us1", CRC(9caae538) SHA1 (cf2d90a7c1a42107c0bb8b9a61397634286dbe0a) )
8643
8644   NEO_BIOS_AUDIO_128K( "um1", CRC(f424368a) SHA1 (5e5bbcaeb82bed2ee17df08f005ca20ad1030723) )
8645
8646   ROM_REGION( 0x380000, "ymsnd", 0 )
8647   /* 0x000000-0x1fffff empty */
8648   ROM_LOAD( "u8", 0x200000, 0x100000, CRC(0840cbc4) SHA1 (1adbd7aef44fa80832f63dfb8efdf69fd7256a57) )
8649   ROM_LOAD( "u9", 0x300000, 0x080000, CRC(0a548948) SHA1 (e1e4afd17811cb60401c14fbcf0465035165f4fb) )
8650
8651   NO_DELTAT_REGION
8652
8653   ROM_REGION( 0x100000, "sprites", 0 )
8654   ROM_LOAD16_BYTE( "uc5", 0x000000, 0x80000, CRC(e89ad494) SHA1 (69c9ea415773af94ac44c48af05d55ada222b138) ) /* Plane 0,1 */
8655   ROM_LOAD16_BYTE( "uc6", 0x000001, 0x80000, CRC(4b42d7eb) SHA1 (042ae50a528cea21cf07771d3915c57aa16fd5af) ) /* Plane 2,3 */
8656ROM_END
8657
8658/* SNK vs. CAPCOM SVC CHAOS bootlegs */
8659
8660ROM_START( svcboot )
8661   ROM_REGION( 0x800000, "maincpu", 0 )
8662   ROM_LOAD16_WORD_SWAP( "svc-p1.bin", 0x000000, 0x800000, CRC(0348f162) SHA1(c313351d68effd92aeb80ed320e4f8c26a3bb53e) )
8663
8664   ROM_REGION( 0x20000, "fixed", 0 )
8665   ROM_LOAD( "svc-s1.bin", 0x10000, 0x10000, CRC(70b44df1) SHA1(52ae3f264d7b33e94e770e6b2d0cf35a64e7dda4) )
8666   ROM_CONTINUE( 0x00000, 0x10000 )
8667   ROM_REGION( 0x20000, "fixedbios", 0 )
8668   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8669
8670   NEOGEO_BIOS
8671
8672   ROM_REGION( 0x20000, "audiobios", 0 )
8673   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
8674
8675   ROM_REGION( 0x50000, "audiocpu", 0 )
8676   ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, CRC(804328c3) SHA1(f931636c563b0789d4812033a77b47bf663db43f) )
8677   ROM_CONTINUE( 0x00000, 0x10000 )
8678   ROM_COPY( "audiocpu", 0x00000, 0x10000, 0x10000 )
8679
8680   ROM_Y_ZOOM
8681
8682   ROM_REGION( 0x1000000, "ymsnd", 0 )
8683   ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, CRC(b5097287) SHA1(3ba3a9b5624879616382ed40337a3d9c50a0f314) )
8684   ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, CRC(bd3a391f) SHA1(972bf09b75e99a683ee965bec93b0da8f15d72d9) )
8685   ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, CRC(33fc0b37) SHA1(d61017d829f44c7df8795ba10c55c727d9972662) )
8686   ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, CRC(aa9849a0) SHA1(9539b3356a070a066a89f27c287f316e7367ce2a) )
8687
8688   NO_DELTAT_REGION
8689
8690   ROM_REGION( 0x4000000, "sprites", 0 )
8691   ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, CRC(a7826b89) SHA1(3bbe348ce54b80b56ef032ea532a18ef3cafeb11) ) /* Plane 0,1 */
8692   ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, CRC(ed3c2089) SHA1(b5d17692f15f5a678c273589fab2e3918711135e) ) /* Plane 2,3 */
8693   ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, CRC(71ed8063) SHA1(ea1df9e2e382a8560a06d447421844cc588f43dd) ) /* Plane 0,1 */
8694   ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, CRC(250bde2d) SHA1(8c72dcfceef6d022ab4b73ab37cf3ac0c3940c17) ) /* Plane 2,3 */
8695   ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, CRC(9817c082) SHA1(1bea9c7220c2b1524896c86841d6d8fd55f5d366) ) /* Plane 0,1 */
8696   ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, CRC(2bc0307f) SHA1(8090fa82c46eb503832359093c8cc3cee3141c90) ) /* Plane 2,3 */
8697   ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, CRC(4358d7b9) SHA1(9270b58c2abc072a046bedda72f1395df26d0714) ) /* Plane 0,1 */
8698   ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, CRC(366deee5) SHA1(d477ad7a5987fd6c7ef2c1680fbb7c884654590e) ) /* Plane 2,3 */
8699ROM_END
8700
8701ROM_START( svcplus )
8702   ROM_REGION( 0x600000, "maincpu", 0 )
8703   ROM_LOAD16_WORD_SWAP( "svc-p1p.bin", 0x000000, 0x200000, CRC(a194d842) SHA1(72b7bfa34a97632b1aa003488e074d766a6c2f08) )
8704   ROM_LOAD16_WORD_SWAP( "svc-p2p.bin", 0x200000, 0x200000, CRC(50c0e2b7) SHA1(97b396415ab0e692e43ddf371091e5a456712f0a) )
8705   ROM_LOAD16_WORD_SWAP( "svc-p3p.bin", 0x400000, 0x200000, CRC(58cdc293) SHA1(3c4f2418ec513bcc13ed33a727de11dfb98f7525) )
8706
8707   NEO_SFIX_128K( "svc-s1p.bin", CRC(73344711) SHA1(04d84c4fe241b9135cd210f8ed8c725f595d11d2) )
8708
8709   NEOGEO_BIOS
8710
8711   ROM_REGION( 0x20000, "audiobios", 0 )
8712   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
8713
8714   ROM_REGION( 0x50000, "audiocpu", 0 )
8715   ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, CRC(804328c3) SHA1(f931636c563b0789d4812033a77b47bf663db43f) )
8716   ROM_CONTINUE( 0x00000, 0x10000 )
8717   ROM_COPY( "audiocpu", 0x00000, 0x10000, 0x10000 )
8718
8719   ROM_REGION( 0x1000000, "ymsnd", 0 )
8720   ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, CRC(b5097287) SHA1(3ba3a9b5624879616382ed40337a3d9c50a0f314) )
8721   ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, CRC(bd3a391f) SHA1(972bf09b75e99a683ee965bec93b0da8f15d72d9) )
8722   ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, CRC(33fc0b37) SHA1(d61017d829f44c7df8795ba10c55c727d9972662) )
8723   ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, CRC(aa9849a0) SHA1(9539b3356a070a066a89f27c287f316e7367ce2a) )
8724
8725   NO_DELTAT_REGION
8726
8727   ROM_REGION( 0x4000000, "sprites", 0 )
8728   ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, CRC(a7826b89) SHA1(3bbe348ce54b80b56ef032ea532a18ef3cafeb11) ) /* Plane 0,1 */
8729   ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, CRC(ed3c2089) SHA1(b5d17692f15f5a678c273589fab2e3918711135e) ) /* Plane 2,3 */
8730   ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, CRC(71ed8063) SHA1(ea1df9e2e382a8560a06d447421844cc588f43dd) ) /* Plane 0,1 */
8731   ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, CRC(250bde2d) SHA1(8c72dcfceef6d022ab4b73ab37cf3ac0c3940c17) ) /* Plane 2,3 */
8732   ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, CRC(9817c082) SHA1(1bea9c7220c2b1524896c86841d6d8fd55f5d366) ) /* Plane 0,1 */
8733   ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, CRC(2bc0307f) SHA1(8090fa82c46eb503832359093c8cc3cee3141c90) ) /* Plane 2,3 */
8734   ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, CRC(4358d7b9) SHA1(9270b58c2abc072a046bedda72f1395df26d0714) ) /* Plane 0,1 */
8735   ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, CRC(366deee5) SHA1(d477ad7a5987fd6c7ef2c1680fbb7c884654590e) ) /* Plane 2,3 */
8736ROM_END
8737
8738ROM_START( svcplusa )
8739   ROM_REGION( 0x600000, "maincpu", 0 )
8740   ROM_LOAD16_WORD_SWAP( "svc-p1pl.bin", 0x000000, 0x200000, CRC(16b44144) SHA1(5eab530274b1b6f480a39a86c199da524cddfccc) )
8741   ROM_LOAD16_WORD_SWAP( "svc-p2pl.bin", 0x200000, 0x400000, CRC(7231ace2) SHA1(d2f13ddd5d3ee29b4b9824e8663f7ee0241f30cf) )
8742
8743   ROM_REGION( 0x20000, "fixed", 0 )
8744   ROM_LOAD( "svc-s1pl.bin", 0x10000, 0x10000, CRC(ca3c735e) SHA1(aebd15253c90432a2e0a4c40f37110c1e2176ee4) )
8745   ROM_CONTINUE( 0x00000, 0x10000 )
8746   ROM_REGION( 0x20000, "fixedbios", 0 )
8747   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8748
8749   NEOGEO_BIOS
8750
8751   ROM_REGION( 0x20000, "audiobios", 0 )
8752   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
8753
8754   ROM_REGION( 0x50000, "audiocpu", 0 )
8755   ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, CRC(804328c3) SHA1(f931636c563b0789d4812033a77b47bf663db43f) )
8756   ROM_CONTINUE( 0x00000, 0x10000 )
8757   ROM_COPY( "audiocpu", 0x00000, 0x10000, 0x10000 )
8758
8759   ROM_Y_ZOOM
8760
8761   ROM_REGION( 0x1000000, "ymsnd", 0 )
8762   ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, CRC(b5097287) SHA1(3ba3a9b5624879616382ed40337a3d9c50a0f314) )
8763   ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, CRC(bd3a391f) SHA1(972bf09b75e99a683ee965bec93b0da8f15d72d9) )
8764   ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, CRC(33fc0b37) SHA1(d61017d829f44c7df8795ba10c55c727d9972662) )
8765   ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, CRC(aa9849a0) SHA1(9539b3356a070a066a89f27c287f316e7367ce2a) )
8766
8767   NO_DELTAT_REGION
8768
8769   ROM_REGION( 0x4000000, "sprites", 0 )
8770   ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, CRC(a7826b89) SHA1(3bbe348ce54b80b56ef032ea532a18ef3cafeb11) ) /* Plane 0,1 */
8771   ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, CRC(ed3c2089) SHA1(b5d17692f15f5a678c273589fab2e3918711135e) ) /* Plane 2,3 */
8772   ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, CRC(71ed8063) SHA1(ea1df9e2e382a8560a06d447421844cc588f43dd) ) /* Plane 0,1 */
8773   ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, CRC(250bde2d) SHA1(8c72dcfceef6d022ab4b73ab37cf3ac0c3940c17) ) /* Plane 2,3 */
8774   ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, CRC(9817c082) SHA1(1bea9c7220c2b1524896c86841d6d8fd55f5d366) ) /* Plane 0,1 */
8775   ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, CRC(2bc0307f) SHA1(8090fa82c46eb503832359093c8cc3cee3141c90) ) /* Plane 2,3 */
8776   ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, CRC(4358d7b9) SHA1(9270b58c2abc072a046bedda72f1395df26d0714) ) /* Plane 0,1 */
8777   ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, CRC(366deee5) SHA1(d477ad7a5987fd6c7ef2c1680fbb7c884654590e) ) /* Plane 2,3 */
8778ROM_END
8779
8780ROM_START( svcsplus )
8781   ROM_REGION( 0x800000, "maincpu", 0 )
8782   ROM_LOAD16_WORD_SWAP( "svc-p1sp.bin", 0x000000, 0x400000, CRC(2601902f) SHA1(202348a13c6480f7de37a3ee983823838822fc98) )
8783   ROM_LOAD16_WORD_SWAP( "svc-p2sp.bin", 0x400000, 0x400000, CRC(0ca13305) SHA1(ac8fbca71b754acbcdd11802161a62ae1cf32d88) )
8784
8785   NEO_SFIX_128K( "svc-s1sp.bin", CRC(233d6439) SHA1(369024c7a2405c3144c14ac016c07c3dc0f44187) )
8786
8787   NEOGEO_BIOS
8788
8789   ROM_REGION( 0x20000, "audiobios", 0 )
8790   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
8791
8792   ROM_REGION( 0x50000, "audiocpu", 0 )
8793   ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, CRC(804328c3) SHA1(f931636c563b0789d4812033a77b47bf663db43f) )
8794   ROM_CONTINUE( 0x00000, 0x10000 )
8795   ROM_COPY( "audiocpu", 0x00000, 0x10000, 0x10000 )
8796
8797   ROM_REGION( 0x1000000, "ymsnd", 0 )
8798   ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, CRC(b5097287) SHA1(3ba3a9b5624879616382ed40337a3d9c50a0f314) )
8799   ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, CRC(bd3a391f) SHA1(972bf09b75e99a683ee965bec93b0da8f15d72d9) )
8800   ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, CRC(33fc0b37) SHA1(d61017d829f44c7df8795ba10c55c727d9972662) )
8801   ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, CRC(aa9849a0) SHA1(9539b3356a070a066a89f27c287f316e7367ce2a) )
8802
8803   NO_DELTAT_REGION
8804
8805   ROM_REGION( 0x4000000, "sprites", 0 )
8806   ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, CRC(a7826b89) SHA1(3bbe348ce54b80b56ef032ea532a18ef3cafeb11) ) /* Plane 0,1 */
8807   ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, CRC(ed3c2089) SHA1(b5d17692f15f5a678c273589fab2e3918711135e) ) /* Plane 2,3 */
8808   ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, CRC(71ed8063) SHA1(ea1df9e2e382a8560a06d447421844cc588f43dd) ) /* Plane 0,1 */
8809   ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, CRC(250bde2d) SHA1(8c72dcfceef6d022ab4b73ab37cf3ac0c3940c17) ) /* Plane 2,3 */
8810   ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, CRC(9817c082) SHA1(1bea9c7220c2b1524896c86841d6d8fd55f5d366) ) /* Plane 0,1 */
8811   ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, CRC(2bc0307f) SHA1(8090fa82c46eb503832359093c8cc3cee3141c90) ) /* Plane 2,3 */
8812   ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, CRC(4358d7b9) SHA1(9270b58c2abc072a046bedda72f1395df26d0714) ) /* Plane 0,1 */
8813   ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, CRC(366deee5) SHA1(d477ad7a5987fd6c7ef2c1680fbb7c884654590e) ) /* Plane 2,3 */
8814ROM_END
8815
8816/* Samurai Shodown 5 bootleg */
8817
8818ROM_START( samsho5b )
8819   ROM_REGION( 0x800000, "maincpu", 0 )
8820   ROM_LOAD16_WORD_SWAP( "ssv-p2.bin", 0x000000, 0x400000, CRC(5023067f) SHA1(b1d682fa7d158f19664356a919da6572e8cfeee0) )
8821   ROM_LOAD16_WORD_SWAP( "ssv-p1.bin", 0x400000, 0x400000, CRC(b6cbe386) SHA1(99c2407361116c2b2c5fe72df53e05c5f99163c1) )
8822
8823   NEO_SFIX_128K( "ssv-s1.bin", CRC(70f667d0) SHA1(6d7ce62bb77eb215cc22d6c3c677accfd740aa83) )
8824
8825   NEO_BIOS_AUDIO_128K( "ssv-m1.bin", CRC(18114fb1) SHA1(016dc2f328340f3637a9bff373a20973df29f6b8) )
8826
8827   ROM_REGION( 0x1000000, "ymsnd", 0 )
8828   ROM_LOAD( "ssv-v1.bin", 0x000000, 0x400000, CRC(a3609761) SHA1(6dce1dbfd228c739b3716ae1cf08fd7f925d8650) )
8829   ROM_LOAD( "ssv-v2.bin", 0x400000, 0x400000, CRC(cbd6ebd5) SHA1(00211be3fa32035b0947ac65920ea8acae7bfae2) )
8830   ROM_LOAD( "ssv-v3.bin", 0x800000, 0x400000, CRC(6f1c2703) SHA1(8015df3d788cb7926ebbcda64a96964fe102ba27) )
8831   ROM_LOAD( "ssv-v4.bin", 0xc00000, 0x400000, CRC(5020c055) SHA1(bd1e68d1b0a47b0e2b365159e210048f8b22823a) )
8832
8833   NO_DELTAT_REGION
8834
8835   ROM_REGION( 0x4000000, "sprites", 0 )
8836   ROM_LOAD16_BYTE( "ssv-c1.bin", 0x0000000, 0x1000000, CRC(9c564a01) SHA1(99dc8900fd8f56ae04fff72b34ddcaa8abe4c1be) ) /* Plane 0,1 */
8837   ROM_LOAD16_BYTE( "ssv-c2.bin", 0x0000001, 0x1000000, CRC(4b73b8da) SHA1(a8b626de74cf57bbd8c222e8e24c953c9e8680f4) ) /* Plane 2,3 */
8838   ROM_LOAD16_BYTE( "ssv-c3.bin", 0x2000000, 0x1000000, CRC(029f9bb5) SHA1(6296c879aa0bbd22383ceeeac0326805cbc8b4ec) ) /* Plane 0,1 */
8839   ROM_LOAD16_BYTE( "ssv-c4.bin", 0x2000001, 0x1000000, CRC(75722430) SHA1(30594c30a167e75463670249df7744755e39e75b) ) /* Plane 2,3 */
8840ROM_END
8841
8842/* The King of Fighters 2003 bootlegs */
8843
8844ROM_START( kf2k3bl )
8845   ROM_REGION( 0x800000, "maincpu", 0 )
8846   ROM_LOAD16_WORD_SWAP( "2k3-p1.bin", 0x100000, 0x400000, CRC(92ed6ee3) SHA1(5e7e21eb40dfcc453ba73808760d5ddedd49c58a) )
8847   ROM_LOAD16_WORD_SWAP( "2k3-p2.bin", 0x500000, 0x200000, CRC(5d3d8bb3) SHA1(7f2341f14ca12ff5721eb038b3496228a1f34b60) )
8848   ROM_CONTINUE( 0x000000, 0x100000 )
8849   ROM_CONTINUE( 0x000000, 0x100000 )
8850
8851   NEO_SFIX_128K( "2k3-s1.bin", CRC(482c48a5) SHA1(27e2f5295a9a838e112be28dafc111893a388a16) )
8852
8853   NEO_BIOS_AUDIO_128K( "2k3-m1.bin", CRC(3a4969ff) SHA1(2fc107a023a82053a8df63025829bcf12cee9610) )
8854
8855   ROM_REGION( 0x1000000, "ymsnd", 0 )
8856   /* Encrypted */
8857   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
8858   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
8859
8860   NO_DELTAT_REGION
8861
8862   ROM_REGION( 0x4000000, "sprites", 0 )
8863   /* Encrypted */
8864   ROM_LOAD16_BYTE( "271-c1c.c1", 0x0000000, 0x800000, CRC(b1dc25d0) SHA1(50adc3c60d5b4b3abd10a49db2267306c6dbd772) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8865   ROM_LOAD16_BYTE( "271-c2c.c2", 0x0000001, 0x800000, CRC(d5362437) SHA1(66db36522dc09106388c707252df9fe1c88b4856) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8866   ROM_LOAD16_BYTE( "271-c3c.c3", 0x1000000, 0x800000, CRC(0a1fbeab) SHA1(9fe30d36ba98d00fda010832ff2f27783dd577c1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8867   ROM_LOAD16_BYTE( "271-c4c.c4", 0x1000001, 0x800000, CRC(87b19a0c) SHA1(b72a8e7d9124ce859b5149bb4381ba481c161ea5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8868   ROM_LOAD16_BYTE( "271-c5c.c5", 0x2000000, 0x800000, CRC(704ea371) SHA1(e75b80422f0d72eac826f8ffadf79efeccaab124) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8869   ROM_LOAD16_BYTE( "271-c6c.c6", 0x2000001, 0x800000, CRC(20a1164c) SHA1(c9843b37612a16fc95f6851793b1cfb5d49d811d) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8870   ROM_LOAD16_BYTE( "271-c7c.c7", 0x3000000, 0x800000, CRC(189aba7f) SHA1(7152195a57ad36b28290810fe87ed8c206262ba9) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8871   ROM_LOAD16_BYTE( "271-c8c.c8", 0x3000001, 0x800000, CRC(20ec4fdc) SHA1(deb5f7ec5a090e419b9d1a6a74877bee081198e2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8872ROM_END
8873
8874ROM_START( kf2k3bla )
8875   ROM_REGION( 0x700000, "maincpu", 0 )
8876   ROM_LOAD16_WORD_SWAP( "2k3-p1bl.bin", 0x000000, 0x100000, CRC(4ea414dd) SHA1(c242c9709c20a8cde3ad562adbe640a5dd5abcf1) )
8877   ROM_LOAD16_WORD_SWAP( "2k3-p3bl.bin", 0x100000, 0x400000, CRC(370acbff) SHA1(e72544de1c5e2e4f7478fc003caba9e33a306c19) )
8878   ROM_LOAD16_WORD_SWAP( "2k3-p2bl.bin", 0x500000, 0x200000, CRC(9c04fc52) SHA1(f41b53c79e4209373ec68276fa5941c91424bb15) )
8879
8880   NEO_SFIX_128K( "2k3-s1.bin", CRC(482c48a5) SHA1(27e2f5295a9a838e112be28dafc111893a388a16) )
8881
8882   NEO_BIOS_AUDIO_128K( "2k3-m1.bin", CRC(3a4969ff) SHA1(2fc107a023a82053a8df63025829bcf12cee9610) )
8883
8884   ROM_REGION( 0x1000000, "ymsnd", 0 )
8885   /* Encrypted */
8886   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
8887   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
8888
8889   NO_DELTAT_REGION
8890
8891   ROM_REGION( 0x4000000, "sprites", 0 )
8892   /* Encrypted */
8893   ROM_LOAD16_BYTE( "271-c1c.c1", 0x0000000, 0x800000, CRC(b1dc25d0) SHA1(50adc3c60d5b4b3abd10a49db2267306c6dbd772) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8894   ROM_LOAD16_BYTE( "271-c2c.c2", 0x0000001, 0x800000, CRC(d5362437) SHA1(66db36522dc09106388c707252df9fe1c88b4856) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8895   ROM_LOAD16_BYTE( "271-c3c.c3", 0x1000000, 0x800000, CRC(0a1fbeab) SHA1(9fe30d36ba98d00fda010832ff2f27783dd577c1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8896   ROM_LOAD16_BYTE( "271-c4c.c4", 0x1000001, 0x800000, CRC(87b19a0c) SHA1(b72a8e7d9124ce859b5149bb4381ba481c161ea5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8897   ROM_LOAD16_BYTE( "271-c5c.c5", 0x2000000, 0x800000, CRC(704ea371) SHA1(e75b80422f0d72eac826f8ffadf79efeccaab124) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8898   ROM_LOAD16_BYTE( "271-c6c.c6", 0x2000001, 0x800000, CRC(20a1164c) SHA1(c9843b37612a16fc95f6851793b1cfb5d49d811d) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8899   ROM_LOAD16_BYTE( "271-c7c.c7", 0x3000000, 0x800000, CRC(189aba7f) SHA1(7152195a57ad36b28290810fe87ed8c206262ba9) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8900   ROM_LOAD16_BYTE( "271-c8c.c8", 0x3000001, 0x800000, CRC(20ec4fdc) SHA1(deb5f7ec5a090e419b9d1a6a74877bee081198e2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8901ROM_END
8902
8903ROM_START( kf2k3pl )
8904   ROM_REGION( 0x700000, "maincpu", 0 )
8905   ROM_LOAD16_WORD_SWAP( "2k3-p1pl.bin", 0x000000, 0x100000, CRC(07b84112) SHA1(0b085a928a39ff9c0745a58bfa4ce6106b5f474a) )
8906   ROM_LOAD16_WORD_SWAP( "2k3-p3bl.bin", 0x100000, 0x400000, CRC(370acbff) SHA1(e72544de1c5e2e4f7478fc003caba9e33a306c19) )
8907   ROM_LOAD16_WORD_SWAP( "2k3-p2bl.bin", 0x500000, 0x200000, CRC(9c04fc52) SHA1(f41b53c79e4209373ec68276fa5941c91424bb15) )
8908
8909   NEO_SFIX_128K( "2k3-s1pl.bin", CRC(ad548a36) SHA1(7483dbe2d74a1bd1b4dc501e99e48a683416d08e) )
8910
8911   NEO_BIOS_AUDIO_128K( "2k3-m1.bin", CRC(3a4969ff) SHA1(2fc107a023a82053a8df63025829bcf12cee9610) )
8912
8913   ROM_REGION( 0x1000000, "ymsnd", 0 )
8914   /* Encrypted */
8915   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
8916   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
8917
8918   NO_DELTAT_REGION
8919
8920   ROM_REGION( 0x4000000, "sprites", 0 )
8921   /* Encrypted */
8922   ROM_LOAD16_BYTE( "271-c1c.c1", 0x0000000, 0x800000, CRC(b1dc25d0) SHA1(50adc3c60d5b4b3abd10a49db2267306c6dbd772) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8923   ROM_LOAD16_BYTE( "271-c2c.c2", 0x0000001, 0x800000, CRC(d5362437) SHA1(66db36522dc09106388c707252df9fe1c88b4856) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8924   ROM_LOAD16_BYTE( "271-c3c.c3", 0x1000000, 0x800000, CRC(0a1fbeab) SHA1(9fe30d36ba98d00fda010832ff2f27783dd577c1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8925   ROM_LOAD16_BYTE( "271-c4c.c4", 0x1000001, 0x800000, CRC(87b19a0c) SHA1(b72a8e7d9124ce859b5149bb4381ba481c161ea5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8926   ROM_LOAD16_BYTE( "271-c5c.c5", 0x2000000, 0x800000, CRC(704ea371) SHA1(e75b80422f0d72eac826f8ffadf79efeccaab124) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8927   ROM_LOAD16_BYTE( "271-c6c.c6", 0x2000001, 0x800000, CRC(20a1164c) SHA1(c9843b37612a16fc95f6851793b1cfb5d49d811d) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8928   ROM_LOAD16_BYTE( "271-c7c.c7", 0x3000000, 0x800000, CRC(189aba7f) SHA1(7152195a57ad36b28290810fe87ed8c206262ba9) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8929   ROM_LOAD16_BYTE( "271-c8c.c8", 0x3000001, 0x800000, CRC(20ec4fdc) SHA1(deb5f7ec5a090e419b9d1a6a74877bee081198e2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8930ROM_END
8931
8932ROM_START( kf2k3upl )
8933   ROM_REGION( 0x800000, "maincpu", 0 )
8934   ROM_LOAD16_WORD_SWAP( "2k3-p1up.bin", 0x000000, 0x800000, CRC(87294c01) SHA1(21420415a6b2ba1b43ecc1934270dc085d6bd7d9) )
8935
8936   NEO_SFIX_128K( "2k3-s1up.bin", CRC(e5708c0c) SHA1(5649446d3b0b1bd138b5a8b40b96a6d0f892f4d8) )
8937
8938   NEO_BIOS_AUDIO_128K( "2k3-m1.bin", CRC(3a4969ff) SHA1(2fc107a023a82053a8df63025829bcf12cee9610) )
8939
8940   ROM_REGION( 0x1000000, "ymsnd", 0 )
8941   /* Encrypted */
8942   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
8943   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
8944
8945   NO_DELTAT_REGION
8946
8947   ROM_REGION( 0x4000000, "sprites", 0 )
8948   /* Encrypted */
8949   ROM_LOAD16_BYTE( "271-c1c.c1", 0x0000000, 0x800000, CRC(b1dc25d0) SHA1(50adc3c60d5b4b3abd10a49db2267306c6dbd772) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8950   ROM_LOAD16_BYTE( "271-c2c.c2", 0x0000001, 0x800000, CRC(d5362437) SHA1(66db36522dc09106388c707252df9fe1c88b4856) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8951   ROM_LOAD16_BYTE( "271-c3c.c3", 0x1000000, 0x800000, CRC(0a1fbeab) SHA1(9fe30d36ba98d00fda010832ff2f27783dd577c1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8952   ROM_LOAD16_BYTE( "271-c4c.c4", 0x1000001, 0x800000, CRC(87b19a0c) SHA1(b72a8e7d9124ce859b5149bb4381ba481c161ea5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8953   ROM_LOAD16_BYTE( "271-c5c.c5", 0x2000000, 0x800000, CRC(704ea371) SHA1(e75b80422f0d72eac826f8ffadf79efeccaab124) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8954   ROM_LOAD16_BYTE( "271-c6c.c6", 0x2000001, 0x800000, CRC(20a1164c) SHA1(c9843b37612a16fc95f6851793b1cfb5d49d811d) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8955   ROM_LOAD16_BYTE( "271-c7c.c7", 0x3000000, 0x800000, CRC(189aba7f) SHA1(7152195a57ad36b28290810fe87ed8c206262ba9) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8956   ROM_LOAD16_BYTE( "271-c8c.c8", 0x3000001, 0x800000, CRC(20ec4fdc) SHA1(deb5f7ec5a090e419b9d1a6a74877bee081198e2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8957ROM_END
8958
8959
8960   /* Unlicensed Prototype */
8961
8962
8963ROM_START( diggerma ) /* Unlicensed Prototype, no official game ID # */
8964   ROM_REGION( 0x100000, "maincpu", 0 )
8965   ROM_LOAD16_WORD_SWAP( "dig-p1.bin", 0x000000, 0x080000, CRC(eda433d7) SHA1(abb14c66777ab0fe4ac76a402e253a49df7178d8) )
8966
8967   NEO_SFIX_64K( "dig-s1.bin", CRC(75a88c1f) SHA1(295dd9225f1e3d2fc64a65b3c287c7f1765417b1) )
8968
8969   NEO_BIOS_AUDIO_64K( "dig-m1.bin", CRC(833cdf1b) SHA1(3a92c79adbe0d37956ea46a4746d6f1cbf7d2c14) )
8970
8971   ROM_REGION( 0x200000, "ymsnd", 0 )
8972   ROM_LOAD( "dig-v1.bin", 0x000000, 0x080000, CRC(ee15bda4) SHA1(fe2206728e6efd02d6302869a98b196eb19a17df) )
8973
8974   NO_DELTAT_REGION
8975
8976   ROM_REGION( 0x400000, "sprites", 0 )
8977   ROM_LOAD16_BYTE( "dig-c1.bin", 0x000000, 0x080000, CRC(3db0a4ed) SHA1(6214faa883d97ea05809b6af7e0c85a236a18a28) ) /* Plane 0,1 */
8978   ROM_LOAD16_BYTE( "dig-c2.bin", 0x000001, 0x080000, CRC(3e632161) SHA1(83711c4286fb1d9f3f91414ac6e5fed36618033e) ) /* Plane 2,3 */
8979ROM_END
8980
8981
8982/****************************************************************************
8983
8984    Game specific input definitions
8985
8986****************************************************************************/
8987
8988
8989static INPUT_PORTS_START( svcpcb )
8990   STANDARD_IN0
8991
8992   STANDARD_IN1
8993
8994   STANDARD_IN2
8995
8996   STANDARD_IN3
8997
8998   STANDARD_IN4
8999
9000   /* the rom banking is tied directly to the dipswitch?, or is there a bank write somewhere? */
9001   PORT_START("HARDDIP")
9002   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Region ) ) PORT_DIPLOCATION("HARDDIP:3")
9003   PORT_DIPSETTING(    0x00, DEF_STR( Asia ) )
9004   PORT_DIPSETTING(    0x01, DEF_STR( Japan ) )
9005INPUT_PORTS_END
9006
9007
9008static INPUT_PORTS_START( ms5pcb )
9009   STANDARD_IN0
9010
9011   STANDARD_IN1
9012
9013   STANDARD_IN2
9014
9015   STANDARD_IN3
9016
9017   STANDARD_IN4
9018
9019   /* the rom banking is tied directly to the dipswitch?, or is there a bank write somewhere? */
9020   PORT_START("HARDDIP")
9021   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Region ) ) PORT_DIPLOCATION("HARDDIP:3")
9022   PORT_DIPSETTING(    0x00, DEF_STR( Asia ) )
9023   PORT_DIPSETTING(    0x01, DEF_STR( Japan ) )
9024INPUT_PORTS_END
9025
9026
9027static INPUT_PORTS_START( kog )
9028   STANDARD_IN0
9029
9030   STANDARD_IN1
9031
9032   STANDARD_IN2
9033
9034   STANDARD_IN3
9035
9036   STANDARD_IN4
9037
9038   /* a jumper on the pcb overlays a ROM address, very strange but that's how it works. */
9039   PORT_START("JUMPER")
9040   PORT_DIPNAME( 0x0001, 0x0001, "Title Language" ) PORT_DIPLOCATION("CART-JUMPER:1")
9041   PORT_DIPSETTING(      0x0001, DEF_STR( English ) )
9042   PORT_DIPSETTING(      0x0000, "Non-English" )
9043   PORT_BIT( 0x00fe, IP_ACTIVE_HIGH, IPT_UNUSED )
9044   PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
9045INPUT_PORTS_END
9046
9047
9048static INPUT_PORTS_START( mjneogeo )
9049   PORT_START("IN0")
9050   PORT_DIPNAME( 0x0001, 0x0001, "Test Switch" ) PORT_DIPLOCATION("SW:1")
9051   PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
9052   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
9053   PORT_DIPNAME( 0x0002, 0x0002, "Coin Chutes?" ) PORT_DIPLOCATION("SW:2")
9054   PORT_DIPSETTING(      0x0000, "1?" )
9055   PORT_DIPSETTING(      0x0002, "2?" )
9056   PORT_DIPNAME( 0x0004, 0x0000, "Mahjong Control Panel" ) PORT_DIPLOCATION("SW:3")
9057   PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
9058   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
9059   PORT_DIPNAME( 0x0018, 0x0018, "COMM Setting (Cabinet No.)" ) PORT_DIPLOCATION("SW:4,5")
9060   PORT_DIPSETTING(      0x0018, "1" )
9061   PORT_DIPSETTING(      0x0008, "2" )
9062   PORT_DIPSETTING(      0x0010, "3" )
9063   PORT_DIPSETTING(      0x0000, "4" )
9064   PORT_DIPNAME( 0x0020, 0x0020, "COMM Setting (Link Enable)" ) PORT_DIPLOCATION("SW:6")
9065   PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
9066   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
9067   PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW:7")
9068   PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
9069   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
9070   PORT_DIPNAME( 0x0080, 0x0080, "Freeze" ) PORT_DIPLOCATION("SW:8")
9071   PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
9072   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
9073   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,mahjong_controller_r, NULL)
9074
9075   STANDARD_IN1
9076
9077   STANDARD_IN2
9078
9079   STANDARD_IN3
9080
9081   STANDARD_IN4
9082
9083   PORT_START("MAHJONG1")
9084   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_A )
9085   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_B )
9086   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_C )
9087   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_D )
9088   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_E )
9089   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_F )
9090   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_MAHJONG_G )
9091   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
9092   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
9093
9094   PORT_START("MAHJONG2")
9095   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_H )
9096   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_I )
9097   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_J )
9098   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_K )
9099   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_L )
9100   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_M )
9101   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_MAHJONG_N )
9102   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
9103   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
9104
9105   PORT_START("MAHJONG3")
9106   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
9107   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
9108   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
9109   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
9110   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
9111   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
9112   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 )
9113   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 )
9114   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
9115
9116   PORT_START("MAHJONG4")
9117   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_PON )
9118   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_CHI )
9119   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_KAN )
9120   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_RON )
9121   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_REACH )
9122   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
9123   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
9124   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
9125   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
9126INPUT_PORTS_END
9127
9128
9129static INPUT_PORTS_START( irrmaze )
9130   PORT_START("IN0")
9131   STANDARD_DIPS
9132   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,multiplexed_controller_r, (void *)0)
9133
9134   PORT_START("IN1")
9135   PORT_BIT( 0x0fff, IP_ACTIVE_LOW, IPT_UNUSED )
9136   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
9137   PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
9138   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
9139   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
9140
9141   PORT_START("IN2")
9142   PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
9143   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
9144   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
9145   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START2 )
9146   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
9147   PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_memcard_status, NULL)
9148   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
9149
9150   STANDARD_IN3
9151
9152   PORT_START("IN4")
9153   PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9154   PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9155   PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9156   PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9157   PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9158   PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9159   PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN )  /* this bit is used.. */
9160   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Enter BIOS") PORT_CODE(KEYCODE_F2)
9161   PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
9162
9163   PORT_START("IN0-0")
9164   PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(10) PORT_KEYDELTA(20) PORT_REVERSE
9165
9166   PORT_START("IN0-1")
9167   PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(10) PORT_KEYDELTA(20) PORT_REVERSE
9168INPUT_PORTS_END
9169
9170
9171static INPUT_PORTS_START( popbounc )
9172   PORT_START("IN0")
9173   STANDARD_DIPS
9174   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,multiplexed_controller_r, (void *)0)
9175
9176   PORT_START("IN1")
9177   PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
9178   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,multiplexed_controller_r, (void *)1)
9179
9180   STANDARD_IN2
9181
9182   STANDARD_IN3
9183
9184   STANDARD_IN4
9185
9186   /* Fake inputs read by CUSTOM_INPUT handlers */
9187   PORT_START("IN0-0")
9188   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(20)
9189
9190   PORT_START("IN0-1")
9191   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
9192   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
9193   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
9194   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
9195   PORT_BIT( 0x90, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* note it needs it from 0x80 when using paddle */
9196   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
9197   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
9198
9199   PORT_START("IN1-0")
9200   PORT_BIT( 0xff, 0x00, IPT_DIAL  ) PORT_SENSITIVITY(25) PORT_KEYDELTA(20) PORT_PLAYER(2)
9201
9202   PORT_START("IN1-1")
9203   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
9204   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
9205   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
9206   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
9207   PORT_BIT( 0x90, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* note it needs it from 0x80 when using paddle */
9208   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
9209   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
9210INPUT_PORTS_END
9211
9212
9213static INPUT_PORTS_START( vliner )
9214   PORT_START("IN0")
9215   STANDARD_DIPS
9216   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
9217   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
9218   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
9219   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
9220   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("View Payout Table/Big")
9221   PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Bet/Small")
9222   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Stop/Double Up")
9223   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Start/Collect")
9224
9225   PORT_START("IN1")
9226   PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
9227
9228   PORT_START("IN2")
9229   PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
9230   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
9231   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* this bit is used.. */
9232   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
9233   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* this bit is used.. */
9234   PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_memcard_status, NULL)
9235   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
9236
9237   PORT_START("IN3")
9238   PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNUSED )
9239   PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_calendar_status, NULL)
9240   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_audio_result, NULL)
9241
9242   STANDARD_IN4
9243
9244   PORT_START("IN5")
9245   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
9246   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
9247   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
9248   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
9249   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Operator Menu") PORT_CODE(KEYCODE_F1)
9250   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Clear Credit")
9251   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
9252   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Hopper Out")
9253   PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
9254
9255   /* not sure what any of these bits are */
9256   PORT_START("IN6")
9257   PORT_BIT( 0x0003, IP_ACTIVE_LOW, IPT_UNKNOWN )
9258   PORT_BIT( 0xffc0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9259INPUT_PORTS_END
9260
9261
9262static INPUT_PORTS_START( jockeygp )
9263   STANDARD_IN0
9264
9265   STANDARD_IN1
9266
9267   PORT_START("IN2")
9268   PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
9269   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* game freezes with this bit enabled */
9270   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Next Game") PORT_CODE(KEYCODE_7)
9271   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* game freezes with this bit enabled */
9272   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Previous Game") PORT_CODE(KEYCODE_8)
9273   PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_memcard_status, NULL)
9274   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
9275
9276   STANDARD_IN3
9277
9278   STANDARD_IN4
9279INPUT_PORTS_END
9280
9281
9282/****************************************************************************
9283
9284    Game specific inits
9285
9286****************************************************************************/
9287
9288
9289DRIVER_INIT_MEMBER(neogeo_state,fatfury2)
9290{
9291   DRIVER_INIT_CALL(neogeo);
9292   fatfury2_install_protection();
9293}
9294
9295DRIVER_INIT_MEMBER(neogeo_state,zupapa)
9296{
9297   DRIVER_INIT_CALL(neogeo);
9298   m_fixed_layer_bank_type = 1;
9299   kof99_neogeo_gfx_decrypt(0xbd);
9300}
9301
9302DRIVER_INIT_MEMBER(neogeo_state,kof98)
9303{
9304   DRIVER_INIT_CALL(neogeo);
9305   kof98_decrypt_68k();
9306   install_kof98_protection();
9307}
9308
9309DRIVER_INIT_MEMBER(neogeo_state,mslugx)
9310{
9311   DRIVER_INIT_CALL(neogeo);
9312   mslugx_install_protection();
9313}
9314
9315DRIVER_INIT_MEMBER(neogeo_state,kof99)
9316{
9317   DRIVER_INIT_CALL(neogeo);
9318   kof99_decrypt_68k();
9319   m_fixed_layer_bank_type = 1;
9320   kof99_neogeo_gfx_decrypt(0x00);
9321   kof99_install_protection();
9322}
9323
9324DRIVER_INIT_MEMBER(neogeo_state,kof99k)
9325{
9326   DRIVER_INIT_CALL(neogeo);
9327   m_fixed_layer_bank_type = 1;
9328   kof99_neogeo_gfx_decrypt(0x00);
9329}
9330
9331DRIVER_INIT_MEMBER(neogeo_state,garou)
9332{
9333   DRIVER_INIT_CALL(neogeo);
9334   garou_decrypt_68k();
9335   m_fixed_layer_bank_type = 1;
9336   kof99_neogeo_gfx_decrypt(0x06);
9337   garou_install_protection();
9338}
9339
9340DRIVER_INIT_MEMBER(neogeo_state,garouh)
9341{
9342   DRIVER_INIT_CALL(neogeo);
9343   garouh_decrypt_68k();
9344   m_fixed_layer_bank_type = 1;
9345   kof99_neogeo_gfx_decrypt(0x06);
9346   garouh_install_protection();
9347}
9348
9349DRIVER_INIT_MEMBER(neogeo_state,garoubl)
9350{
9351   DRIVER_INIT_CALL(neogeo);
9352   neogeo_bootleg_sx_decrypt(2);
9353   neogeo_bootleg_cx_decrypt();
9354}
9355
9356DRIVER_INIT_MEMBER(neogeo_state,mslug3)
9357{
9358   DRIVER_INIT_CALL(neogeo);
9359   mslug3_decrypt_68k();
9360   m_fixed_layer_bank_type = 1;
9361   kof99_neogeo_gfx_decrypt(0xad);
9362   mslug3_install_protection();
9363}
9364
9365DRIVER_INIT_MEMBER(neogeo_state,mslug3h)
9366{
9367   DRIVER_INIT_CALL(neogeo);
9368   m_fixed_layer_bank_type = 1;
9369   kof99_neogeo_gfx_decrypt(0xad);
9370}
9371
9372DRIVER_INIT_MEMBER(neogeo_state,mslug3b6)
9373{
9374   DRIVER_INIT_CALL(neogeo);
9375   neogeo_bootleg_sx_decrypt(2);
9376   cmc42_neogeo_gfx_decrypt(0xad);
9377}
9378
9379DRIVER_INIT_MEMBER(neogeo_state,kof2000)
9380{
9381   DRIVER_INIT_CALL(neogeo);
9382   kof2000_decrypt_68k();
9383   m_fixed_layer_bank_type = 2;
9384   neogeo_cmc50_m1_decrypt();
9385   kof2000_neogeo_gfx_decrypt(0x00);
9386   kof2000_install_protection();
9387}
9388
9389DRIVER_INIT_MEMBER(neogeo_state,kof2000n)
9390{
9391   DRIVER_INIT_CALL(neogeo);
9392   m_fixed_layer_bank_type = 2;
9393   neogeo_cmc50_m1_decrypt();
9394   kof2000_neogeo_gfx_decrypt(0x00);
9395}
9396
9397DRIVER_INIT_MEMBER(neogeo_state,kof2001)
9398{
9399   DRIVER_INIT_CALL(neogeo);
9400   m_fixed_layer_bank_type = 1;
9401   kof2000_neogeo_gfx_decrypt(0x1e);
9402   neogeo_cmc50_m1_decrypt();
9403}
9404
9405DRIVER_INIT_MEMBER(neogeo_state,cthd2003)
9406{
9407   DRIVER_INIT_CALL(neogeo);
9408   decrypt_cthd2003();
9409   patch_cthd2003();
9410}
9411
9412DRIVER_INIT_MEMBER(neogeo_state,ct2k3sp)
9413{
9414   DRIVER_INIT_CALL(neogeo);
9415   decrypt_ct2k3sp();
9416   patch_cthd2003();
9417}
9418
9419DRIVER_INIT_MEMBER(neogeo_state,ct2k3sa)
9420{
9421   DRIVER_INIT_CALL(neogeo);
9422   decrypt_ct2k3sa();
9423   patch_ct2k3sa();
9424}
9425
9426DRIVER_INIT_MEMBER(neogeo_state,mslug4)
9427{
9428   DRIVER_INIT_CALL(neogeo);
9429   m_fixed_layer_bank_type = 1; /* USA violent content screen is wrong -- not a bug, confirmed on real hardware! */
9430   neogeo_cmc50_m1_decrypt();
9431   kof2000_neogeo_gfx_decrypt(0x31);
9432   neo_pcm2_snk_1999(8);
9433}
9434
9435DRIVER_INIT_MEMBER(neogeo_state,ms4plus)
9436{
9437   DRIVER_INIT_CALL(neogeo);
9438   cmc50_neogeo_gfx_decrypt(0x31);
9439   neo_pcm2_snk_1999(8);
9440   neogeo_cmc50_m1_decrypt();
9441}
9442
9443DRIVER_INIT_MEMBER(neogeo_state,ganryu)
9444{
9445   DRIVER_INIT_CALL(neogeo);
9446   m_fixed_layer_bank_type = 1;
9447   kof99_neogeo_gfx_decrypt(0x07);
9448}
9449
9450DRIVER_INIT_MEMBER(neogeo_state,s1945p)
9451{
9452   DRIVER_INIT_CALL(neogeo);
9453   m_fixed_layer_bank_type = 1;
9454   kof99_neogeo_gfx_decrypt(0x05);
9455}
9456
9457DRIVER_INIT_MEMBER(neogeo_state,preisle2)
9458{
9459   DRIVER_INIT_CALL(neogeo);
9460   m_fixed_layer_bank_type = 1;
9461   kof99_neogeo_gfx_decrypt(0x9f);
9462}
9463
9464DRIVER_INIT_MEMBER(neogeo_state,bangbead)
9465{
9466   DRIVER_INIT_CALL(neogeo);
9467   m_fixed_layer_bank_type = 1;
9468   kof99_neogeo_gfx_decrypt(0xf8);
9469}
9470
9471DRIVER_INIT_MEMBER(neogeo_state,nitd)
9472{
9473   DRIVER_INIT_CALL(neogeo);
9474   m_fixed_layer_bank_type = 1;
9475   kof99_neogeo_gfx_decrypt(0xff);
9476}
9477
9478DRIVER_INIT_MEMBER(neogeo_state,sengoku3)
9479{
9480   DRIVER_INIT_CALL(neogeo);
9481   m_fixed_layer_bank_type = 1;
9482   kof99_neogeo_gfx_decrypt(0xfe);
9483}
9484
9485DRIVER_INIT_MEMBER(neogeo_state,rotd)
9486{
9487   DRIVER_INIT_CALL(neogeo);
9488   neo_pcm2_snk_1999(16);
9489   m_fixed_layer_bank_type = 1;
9490   neogeo_cmc50_m1_decrypt();
9491   kof2000_neogeo_gfx_decrypt(0x3f);
9492}
9493
9494DRIVER_INIT_MEMBER(neogeo_state,kof2002)
9495{
9496   DRIVER_INIT_CALL(neogeo);
9497   kof2002_decrypt_68k();
9498   neo_pcm2_swap(0);
9499   neogeo_cmc50_m1_decrypt();
9500   kof2000_neogeo_gfx_decrypt(0xec);
9501}
9502
9503DRIVER_INIT_MEMBER(neogeo_state,kof2002b)
9504{
9505   DRIVER_INIT_CALL(neogeo);
9506   kof2002_decrypt_68k();
9507   neo_pcm2_swap(0);
9508   neogeo_cmc50_m1_decrypt();
9509   kof2002b_gfx_decrypt(memregion("sprites")->base(),0x4000000);
9510   kof2002b_gfx_decrypt(memregion("fixed")->base(),0x20000);
9511}
9512
9513DRIVER_INIT_MEMBER(neogeo_state,kf2k2pls)
9514{
9515   DRIVER_INIT_CALL(neogeo);
9516   kof2002_decrypt_68k();
9517   neo_pcm2_swap(0);
9518   neogeo_cmc50_m1_decrypt();
9519   cmc50_neogeo_gfx_decrypt(0xec);
9520}
9521
9522DRIVER_INIT_MEMBER(neogeo_state,kf2k2mp)
9523{
9524   DRIVER_INIT_CALL(neogeo);
9525   kf2k2mp_decrypt();
9526   neo_pcm2_swap(0);
9527   neogeo_cmc50_m1_decrypt();
9528   neogeo_bootleg_sx_decrypt(2);
9529   cmc50_neogeo_gfx_decrypt(0xec);
9530}
9531
9532DRIVER_INIT_MEMBER(neogeo_state,kf2k2mp2)
9533{
9534   DRIVER_INIT_CALL(neogeo);
9535   kf2k2mp2_px_decrypt();
9536   neo_pcm2_swap(0);
9537   neogeo_cmc50_m1_decrypt();
9538   neogeo_bootleg_sx_decrypt(1);
9539   cmc50_neogeo_gfx_decrypt(0xec);
9540}
9541
9542DRIVER_INIT_MEMBER(neogeo_state,kof10th)
9543{
9544   DRIVER_INIT_CALL(neogeo);
9545   decrypt_kof10th();
9546   install_kof10th_protection();
9547}
9548
9549DRIVER_INIT_MEMBER(neogeo_state,kf10thep)
9550{
9551   DRIVER_INIT_CALL(neogeo);
9552   decrypt_kf10thep();
9553}
9554
9555DRIVER_INIT_MEMBER(neogeo_state,kf2k5uni)
9556{
9557   DRIVER_INIT_CALL(neogeo);
9558   decrypt_kf2k5uni();
9559}
9560
9561DRIVER_INIT_MEMBER(neogeo_state,kof2k4se)
9562{
9563   DRIVER_INIT_CALL(neogeo);
9564   decrypt_kof2k4se_68k();
9565}
9566
9567DRIVER_INIT_MEMBER(neogeo_state,matrim)
9568{
9569   DRIVER_INIT_CALL(neogeo);
9570   matrim_decrypt_68k();
9571   neo_pcm2_swap(1);
9572   m_fixed_layer_bank_type = 2;
9573   neogeo_cmc50_m1_decrypt();
9574   kof2000_neogeo_gfx_decrypt(0x6a);
9575}
9576
9577DRIVER_INIT_MEMBER(neogeo_state,matrimbl)
9578{
9579   DRIVER_INIT_CALL(neogeo);
9580   matrim_decrypt_68k();
9581   m_fixed_layer_bank_type = 2;
9582   matrimbl_decrypt();
9583   neogeo_sfix_decrypt(); /* required for text layer */
9584}
9585
9586DRIVER_INIT_MEMBER(neogeo_state,pnyaa)
9587{
9588   DRIVER_INIT_CALL(neogeo);
9589   neo_pcm2_snk_1999(4);
9590   m_fixed_layer_bank_type = 1;
9591   neogeo_cmc50_m1_decrypt();
9592   kof2000_neogeo_gfx_decrypt(0x2e);
9593}
9594
9595DRIVER_INIT_MEMBER(neogeo_state,mslug5)
9596{
9597   DRIVER_INIT_CALL(neogeo);
9598   mslug5_decrypt_68k();
9599   neo_pcm2_swap(2);
9600   m_fixed_layer_bank_type = 1;
9601   neogeo_cmc50_m1_decrypt();
9602   kof2000_neogeo_gfx_decrypt(0x19);
9603   install_pvc_protection();
9604}
9605
9606TIMER_CALLBACK_MEMBER(neogeo_state::ms5pcb_bios_timer_callback)
9607{
9608   int harddip3 = ioport("HARDDIP")->read() & 1;
9609   membank(NEOGEO_BANK_BIOS)->set_base(memregion("mainbios")->base() + 0x20000 + harddip3 * 0x20000);
9610}
9611
9612DRIVER_INIT_MEMBER(neogeo_state,ms5pcb)
9613{
9614   DRIVER_INIT_CALL(neogeo);
9615
9616   /* start a timer that will check the BIOS select DIP every second */
9617   machine().scheduler().timer_set(attotime::zero, timer_expired_delegate(FUNC(neogeo_state::ms5pcb_bios_timer_callback),this));
9618   machine().scheduler().timer_pulse(attotime::from_msec(1000), timer_expired_delegate(FUNC(neogeo_state::ms5pcb_bios_timer_callback),this));
9619
9620   mslug5_decrypt_68k();
9621   svcpcb_gfx_decrypt();
9622   neogeo_cmc50_m1_decrypt();
9623   kof2000_neogeo_gfx_decrypt(0x19);
9624   m_fixed_layer_bank_type = 2;
9625   svcpcb_s1data_decrypt();
9626   neo_pcm2_swap(2);
9627   install_pvc_protection();
9628}
9629
9630DRIVER_INIT_MEMBER(neogeo_state,ms5plus)
9631{
9632   DRIVER_INIT_CALL(neogeo);
9633   cmc50_neogeo_gfx_decrypt(0x19);
9634   neo_pcm2_swap(2);
9635   neogeo_bootleg_sx_decrypt(1);
9636   m_fixed_layer_bank_type = 1;
9637   neogeo_cmc50_m1_decrypt();
9638   install_ms5plus_protection();
9639}
9640
9641TIMER_CALLBACK_MEMBER(neogeo_state::svcpcb_bios_timer_callback)
9642{
9643   int harddip3 = ioport("HARDDIP")->read() & 1;
9644   membank(NEOGEO_BANK_BIOS)->set_base(memregion("mainbios")->base() + 0x20000 + harddip3 * 0x20000);
9645}
9646
9647DRIVER_INIT_MEMBER(neogeo_state,svcpcb)
9648{
9649   DRIVER_INIT_CALL(neogeo);
9650
9651   /* start a timer that will check the BIOS select DIP every second */
9652   machine().scheduler().timer_set(attotime::zero, timer_expired_delegate(FUNC(neogeo_state::svcpcb_bios_timer_callback),this));
9653   machine().scheduler().timer_pulse(attotime::from_msec(1000), timer_expired_delegate(FUNC(neogeo_state::svcpcb_bios_timer_callback),this));
9654
9655   svc_px_decrypt();
9656   svcpcb_gfx_decrypt();
9657   neogeo_cmc50_m1_decrypt();
9658   kof2000_neogeo_gfx_decrypt(0x57);
9659   svcpcb_s1data_decrypt();
9660   neo_pcm2_swap(3);
9661   m_fixed_layer_bank_type = 2;
9662   install_pvc_protection();
9663}
9664
9665DRIVER_INIT_MEMBER(neogeo_state,svc)
9666{
9667   DRIVER_INIT_CALL(neogeo);
9668   svc_px_decrypt();
9669   neo_pcm2_swap(3);
9670   m_fixed_layer_bank_type = 2;
9671   neogeo_cmc50_m1_decrypt();
9672   kof2000_neogeo_gfx_decrypt(0x57);
9673   install_pvc_protection();
9674}
9675
9676DRIVER_INIT_MEMBER(neogeo_state,svcboot)
9677{
9678   DRIVER_INIT_CALL(neogeo);
9679   svcboot_px_decrypt();
9680   svcboot_cx_decrypt();
9681   install_pvc_protection();
9682}
9683
9684DRIVER_INIT_MEMBER(neogeo_state,svcplus)
9685{
9686   DRIVER_INIT_CALL(neogeo);
9687   svcplus_px_decrypt();
9688   svcboot_cx_decrypt();
9689   neogeo_bootleg_sx_decrypt( 1);
9690   svcplus_px_hack();
9691}
9692
9693DRIVER_INIT_MEMBER(neogeo_state,svcplusa)
9694{
9695   DRIVER_INIT_CALL(neogeo);
9696   svcplusa_px_decrypt();
9697   svcboot_cx_decrypt();
9698   svcplus_px_hack();
9699}
9700
9701DRIVER_INIT_MEMBER(neogeo_state,svcsplus)
9702{
9703   DRIVER_INIT_CALL(neogeo);
9704   svcsplus_px_decrypt();
9705   neogeo_bootleg_sx_decrypt(2);
9706   svcboot_cx_decrypt();
9707   svcsplus_px_hack();
9708   install_pvc_protection();
9709}
9710
9711DRIVER_INIT_MEMBER(neogeo_state,samsho5)
9712{
9713   DRIVER_INIT_CALL(neogeo);
9714   samsho5_decrypt_68k();
9715   neo_pcm2_swap(4);
9716   m_fixed_layer_bank_type = 1;
9717   neogeo_cmc50_m1_decrypt();
9718   kof2000_neogeo_gfx_decrypt(0x0f);
9719}
9720
9721DRIVER_INIT_MEMBER(neogeo_state,samsho5b)
9722{
9723   DRIVER_INIT_CALL(neogeo);
9724   samsho5b_px_decrypt();
9725   samsho5b_vx_decrypt();
9726   neogeo_bootleg_sx_decrypt(1);
9727   neogeo_bootleg_cx_decrypt();
9728}
9729
9730DRIVER_INIT_MEMBER(neogeo_state,kf2k3pcb)
9731{
9732   DRIVER_INIT_CALL(neogeo);
9733   kf2k3pcb_decrypt_68k();
9734   kf2k3pcb_gfx_decrypt();
9735   kof2003biosdecode();
9736   neogeo_cmc50_m1_decrypt();
9737
9738   /* extra little swap on the m1 - this must be performed AFTER the m1 decrypt
9739      or the m1 checksum (used to generate the key) for decrypting the m1 is
9740      incorrect */
9741   {
9742      int i;
9743      UINT8* rom = memregion("audiocpu")->base();
9744      for (i = 0; i < 0x90000; i++)
9745      {
9746         rom[i] = BITSWAP8(rom[i], 5, 6, 1, 4, 3, 0, 7, 2);
9747      }
9748   }
9749
9750   kof2000_neogeo_gfx_decrypt(0x9d);
9751   kf2k3pcb_decrypt_s1data();
9752   neo_pcm2_swap(5);
9753   m_fixed_layer_bank_type = 2;
9754   install_pvc_protection();
9755   m_maincpu->space(AS_PROGRAM).install_read_bank(0xc00000, 0xc7ffff, "bios" );  // 512k bios
9756}
9757
9758DRIVER_INIT_MEMBER(neogeo_state,kof2003)
9759{
9760   DRIVER_INIT_CALL(neogeo);
9761   kof2003_decrypt_68k();
9762   neo_pcm2_swap(5);
9763   m_fixed_layer_bank_type = 2;
9764   neogeo_cmc50_m1_decrypt();
9765   kof2000_neogeo_gfx_decrypt(0x9d);
9766   install_pvc_protection();
9767}
9768
9769DRIVER_INIT_MEMBER(neogeo_state,kof2003h)
9770{
9771   DRIVER_INIT_CALL(neogeo);
9772   kof2003h_decrypt_68k();
9773   neo_pcm2_swap(5);
9774   m_fixed_layer_bank_type = 2;
9775   neogeo_cmc50_m1_decrypt();
9776   kof2000_neogeo_gfx_decrypt(0x9d);
9777   install_pvc_protection();
9778}
9779
9780DRIVER_INIT_MEMBER(neogeo_state,kf2k3bl)
9781{
9782   DRIVER_INIT_CALL(neogeo);
9783   cmc50_neogeo_gfx_decrypt(0x9d);
9784   neo_pcm2_swap(5);
9785   neogeo_bootleg_sx_decrypt(1);
9786   kf2k3bl_install_protection();
9787}
9788
9789DRIVER_INIT_MEMBER(neogeo_state,kf2k3pl)
9790{
9791   DRIVER_INIT_CALL(neogeo);
9792   cmc50_neogeo_gfx_decrypt(0x9d);
9793   neo_pcm2_swap(5);
9794   kf2k3pl_px_decrypt();
9795   neogeo_bootleg_sx_decrypt(1);
9796   kf2k3pl_install_protection();
9797}
9798
9799DRIVER_INIT_MEMBER(neogeo_state,kf2k3upl)
9800{
9801   DRIVER_INIT_CALL(neogeo);
9802   cmc50_neogeo_gfx_decrypt(0x9d);
9803   neo_pcm2_swap(5);
9804   kf2k3upl_px_decrypt();
9805   neogeo_bootleg_sx_decrypt(2);
9806   kf2k3upl_install_protection();
9807}
9808
9809DRIVER_INIT_MEMBER(neogeo_state,samsh5sp)
9810{
9811   DRIVER_INIT_CALL(neogeo);
9812   samsh5sp_decrypt_68k();
9813   neo_pcm2_swap(6);
9814   m_fixed_layer_bank_type = 1;
9815   neogeo_cmc50_m1_decrypt();
9816   kof2000_neogeo_gfx_decrypt(0x0d);
9817}
9818
9819DRIVER_INIT_MEMBER(neogeo_state,jockeygp)
9820{
9821   DRIVER_INIT_CALL(neogeo);
9822   m_fixed_layer_bank_type = 1;
9823   neogeo_cmc50_m1_decrypt();
9824   kof2000_neogeo_gfx_decrypt(0xac);
9825
9826   /* install some extra RAM */
9827   m_maincpu->space(AS_PROGRAM).install_ram(0x200000, 0x201fff);
9828
9829//  m_maincpu->space(AS_PROGRAM).install_read_port(0x280000, 0x280001, "IN5");
9830//  m_maincpu->space(AS_PROGRAM).install_read_port(0x2c0000, 0x2c0001, "IN6");
9831}
9832
9833DRIVER_INIT_MEMBER(neogeo_state,vliner)
9834{
9835   m_maincpu->space(AS_PROGRAM).install_ram(0x200000, 0x201fff);
9836
9837   m_maincpu->space(AS_PROGRAM).install_read_port(0x280000, 0x280001, "IN5");
9838   m_maincpu->space(AS_PROGRAM).install_read_port(0x2c0000, 0x2c0001, "IN6");
9839
9840   DRIVER_INIT_CALL(neogeo);
9841}
9842
9843DRIVER_INIT_MEMBER(neogeo_state,kof97oro)
9844{
9845   kof97oro_px_decode();
9846   neogeo_bootleg_sx_decrypt(1);
9847   neogeo_bootleg_cx_decrypt();
9848   DRIVER_INIT_CALL(neogeo);
9849}
9850
9851DRIVER_INIT_MEMBER(neogeo_state,kog)
9852{
9853   /* overlay cartridge ROM */
9854   m_maincpu->space(AS_PROGRAM).install_read_port(0x0ffffe, 0x0fffff, "JUMPER");
9855
9856   kog_px_decrypt();
9857   neogeo_bootleg_sx_decrypt(1);
9858   neogeo_bootleg_cx_decrypt();
9859   DRIVER_INIT_CALL(neogeo);
9860}
9861
9862DRIVER_INIT_MEMBER(neogeo_state,lans2004)
9863{
9864   lans2004_decrypt_68k();
9865   lans2004_vx_decrypt();
9866   neogeo_bootleg_sx_decrypt(1);
9867   neogeo_bootleg_cx_decrypt();
9868   DRIVER_INIT_CALL(neogeo);
9869}
9870
9871READ16_MEMBER( neogeo_state::sbp_lowerrom_r )
9872{
9873   UINT16* rom = (UINT16*)memregion("maincpu")->base();
9874   UINT16 origdata = rom[(offset+(0x200/2))];
9875   UINT16 data =  BITSWAP16(origdata, 11,10,9,8,15,14,13,12,3,2,1,0,7,6,5,4);
9876   int realoffset = 0x200+(offset*2);
9877   logerror("sbp_lowerrom_r offset %08x data %04x\n", realoffset, data );
9878
9879   // there is actually data in the rom here already, maybe we should just return it 'as is'
9880   if (realoffset==0xd5e) return origdata;
9881
9882   return data;
9883}
9884
9885WRITE16_MEMBER( neogeo_state::sbp_lowerrom_w )
9886{
9887   int realoffset = 0x200+(offset*2);
9888
9889   // the actual data written is just pulled from the end of the rom, and unused space
9890   // maybe this is just some kind of watchdog for the protection device and it doesn't
9891   // matter?
9892   if (realoffset == 0x1080)
9893   {
9894      if (data==0x4e75)
9895      {
9896         return;
9897      }
9898      else if (data==0xffff)
9899      {
9900         return;
9901      }
9902   }
9903
9904   printf("sbp_lowerrom_w offset %08x data %04x\n", realoffset, data );
9905}
9906
9907DRIVER_INIT_MEMBER(neogeo_state,sbp)
9908{
9909   // there seems to be a protection device living around here..
9910   // if you nibble swap the data in the rom the game will boot
9911   // there are also writes to 0x1080..
9912   //
9913   // other stuff going on as well tho, the main overlay is still missing, and p1 inputs don't work
9914   m_maincpu->space(AS_PROGRAM).install_read_handler(0x00200, 0x001fff, read16_delegate(FUNC(neogeo_state::sbp_lowerrom_r),this));
9915   m_maincpu->space(AS_PROGRAM).install_write_handler(0x00200, 0x001fff, write16_delegate(FUNC(neogeo_state::sbp_lowerrom_w),this));
9916
9917   /* the game code clears the text overlay used ingame immediately after writing it.. why? protection? sloppy code that the hw ignores? imperfect emulation? */
9918   {
9919      UINT16* rom = (UINT16*)memregion("maincpu")->base();
9920
9921      rom[0x2a6f8/2] = 0x4e71;
9922      rom[0x2a6fa/2] = 0x4e71;
9923      rom[0x2a6fc/2] = 0x4e71;
9924   }
9925
9926}
9927
9928
9929/****************************************************************************
9930
9931    Softlist stuff
9932
9933****************************************************************************/
9934
9935
9936DRIVER_INIT_MEMBER(neogeo_state,mvs)
9937{
9938   DRIVER_INIT_CALL(neogeo);
9939}
9940
9941
9942// handle protected carts
9943void neogeo_state::mvs_install_protection(device_image_interface& image)
9944{
9945   const char *crypt_feature = image.get_feature( "crypt" );
9946
9947   if(crypt_feature == NULL)
9948   {
9949      DRIVER_INIT_CALL(neogeo);
9950   }
9951   else
9952   {
9953      /* work out which Driver Init decryption function to call based on flag in softlist
9954       - note this is called AFTER the regular DRIVER_INIT */
9955
9956      if(strcmp(crypt_feature,"mslugx_prot") == 0)        { DRIVER_INIT_CALL(mslugx); }
9957      else if(strcmp(crypt_feature,"fatfury2_prot") == 0) { DRIVER_INIT_CALL(fatfury2); }
9958      else if(strcmp(crypt_feature,"kog_prot") == 0)      { DRIVER_INIT_CALL(kog); }
9959      else if(strcmp(crypt_feature,"kof97oro_prot") == 0) { DRIVER_INIT_CALL(kof97oro); }
9960      else if(strcmp(crypt_feature,"kof98_prot") == 0)    { DRIVER_INIT_CALL(kof98); }
9961      else if(strcmp(crypt_feature,"kof99_prot") == 0)    { DRIVER_INIT_CALL(kof99); }
9962      else if(strcmp(crypt_feature,"kof99k_prot") == 0)   { DRIVER_INIT_CALL(kof99k); }
9963      else if(strcmp(crypt_feature,"garou_prot") == 0)    { DRIVER_INIT_CALL(garou); }
9964      else if(strcmp(crypt_feature,"garouh_prot") == 0)   { DRIVER_INIT_CALL(garouh); }
9965      else if(strcmp(crypt_feature,"garoubl_prot") == 0)  { DRIVER_INIT_CALL(garoubl); }
9966      else if(strcmp(crypt_feature,"mslug3_prot") == 0)   { DRIVER_INIT_CALL(mslug3); }
9967      else if(strcmp(crypt_feature,"mslug3h_prot") == 0)  { DRIVER_INIT_CALL(mslug3h); }
9968      else if(strcmp(crypt_feature,"mslug3b6_prot") == 0) { DRIVER_INIT_CALL(mslug3b6); }
9969      else if(strcmp(crypt_feature,"kof2000_prot") == 0)  { DRIVER_INIT_CALL(kof2000); }
9970      else if(strcmp(crypt_feature,"kof2000n_prot") == 0) { DRIVER_INIT_CALL(kof2000n); }
9971      else if(strcmp(crypt_feature,"sengoku3_prot") == 0) { DRIVER_INIT_CALL(sengoku3); }
9972      else if(strcmp(crypt_feature,"zupapa_prot") == 0)   { DRIVER_INIT_CALL(zupapa); }
9973      else if(strcmp(crypt_feature,"kof2001_prot") == 0)  { DRIVER_INIT_CALL(kof2001); }
9974      else if(strcmp(crypt_feature,"cthd2003_prot") == 0) { DRIVER_INIT_CALL(cthd2003); }
9975      else if(strcmp(crypt_feature,"ct2k3sp_prot") == 0)  { DRIVER_INIT_CALL(ct2k3sp); }
9976      else if(strcmp(crypt_feature,"ct2k3sa_prot") == 0)  { DRIVER_INIT_CALL(ct2k3sa); }
9977      else if(strcmp(crypt_feature,"kof2002_prot") == 0)  { DRIVER_INIT_CALL(kof2002); }
9978      else if(strcmp(crypt_feature,"kof2002b_prot") == 0) { DRIVER_INIT_CALL(kof2002b); }
9979      else if(strcmp(crypt_feature,"kf2k2pls_prot") == 0) { DRIVER_INIT_CALL(kf2k2pls); }
9980      else if(strcmp(crypt_feature,"kf2k2mp_prot") == 0)  { DRIVER_INIT_CALL(kf2k2mp); }
9981      else if(strcmp(crypt_feature,"kf2k2mp2_prot") == 0) { DRIVER_INIT_CALL(kf2k2mp2); }
9982      else if(strcmp(crypt_feature,"kof10th_prot") == 0)  { DRIVER_INIT_CALL(kof10th); }
9983      else if(strcmp(crypt_feature,"kf10thep_prot") == 0) { DRIVER_INIT_CALL(kf10thep); }
9984      else if(strcmp(crypt_feature,"kf2k5uni_prot") == 0) { DRIVER_INIT_CALL(kf2k5uni); }
9985      else if(strcmp(crypt_feature,"kof2k4se_prot") == 0) { DRIVER_INIT_CALL(kof2k4se); }
9986      else if(strcmp(crypt_feature,"mslug5_prot") == 0)   { DRIVER_INIT_CALL(mslug5); }
9987      else if(strcmp(crypt_feature,"ms5plus_prot") == 0)  { DRIVER_INIT_CALL(ms5plus); }
9988      else if(strcmp(crypt_feature,"svc_prot") == 0)      { DRIVER_INIT_CALL(svc); }
9989      else if(strcmp(crypt_feature,"svcboot_prot") == 0)  { DRIVER_INIT_CALL(svcboot); }
9990      else if(strcmp(crypt_feature,"svcplus_prot") == 0)  { DRIVER_INIT_CALL(svcplus); }
9991      else if(strcmp(crypt_feature,"svcplusa_prot") == 0) { DRIVER_INIT_CALL(svcplusa); }
9992      else if(strcmp(crypt_feature,"svcsplus_prot") == 0) { DRIVER_INIT_CALL(svcsplus); }
9993      else if(strcmp(crypt_feature,"samsho5_prot") == 0)  { DRIVER_INIT_CALL(samsho5); }
9994      else if(strcmp(crypt_feature,"samsho5b_prot") == 0) { DRIVER_INIT_CALL(samsho5b); }
9995      else if(strcmp(crypt_feature,"kof2003_prot") == 0)  { DRIVER_INIT_CALL(kof2003); }
9996      else if(strcmp(crypt_feature,"kof2003h_prot") == 0) { DRIVER_INIT_CALL(kof2003h); }
9997      else if(strcmp(crypt_feature,"kf2k3bl_prot") == 0)  { DRIVER_INIT_CALL(kf2k3bl); }
9998      else if(strcmp(crypt_feature,"kf2k3pl_prot") == 0)  { DRIVER_INIT_CALL(kf2k3pl); }
9999      else if(strcmp(crypt_feature,"kf2k3upl_prot") == 0) { DRIVER_INIT_CALL(kf2k3upl); }
10000      else if(strcmp(crypt_feature,"samsh5sp_prot") == 0) { DRIVER_INIT_CALL(samsh5sp); }
10001      else if(strcmp(crypt_feature,"preisle2_prot") == 0) { DRIVER_INIT_CALL(preisle2); }
10002      else if(strcmp(crypt_feature,"nitd_prot") == 0)     { DRIVER_INIT_CALL(nitd); }
10003      else if(strcmp(crypt_feature,"s1945p_prot") == 0)   { DRIVER_INIT_CALL(s1945p); }
10004      else if(strcmp(crypt_feature,"lans2004_prot") == 0) { DRIVER_INIT_CALL(lans2004); }
10005      else if(strcmp(crypt_feature,"pnyaa_prot") == 0)    { DRIVER_INIT_CALL(pnyaa); }
10006      else if(strcmp(crypt_feature,"ganryu_prot") == 0)   { DRIVER_INIT_CALL(ganryu); }
10007      else if(strcmp(crypt_feature,"bangbead_prot") == 0) { DRIVER_INIT_CALL(bangbead); }
10008      else if(strcmp(crypt_feature,"mslug4_prot") == 0)   { DRIVER_INIT_CALL(mslug4); }
10009      else if(strcmp(crypt_feature,"ms4plus_prot") == 0)  { DRIVER_INIT_CALL(ms4plus); }
10010      else if(strcmp(crypt_feature,"rotd_prot") == 0)     { DRIVER_INIT_CALL(rotd); }
10011      else if(strcmp(crypt_feature,"matrim_prot") == 0)   { DRIVER_INIT_CALL(matrim); }
10012      else if(strcmp(crypt_feature,"matrimbl_prot") == 0) { DRIVER_INIT_CALL(matrimbl); }
10013      else { fatalerror("unknown crypt type\n"); }
10014   }
10015}
10016
10017
10018/****************************************************************************/
10019
10020
10021/*    YEAR  NAME        PARENT    COMPAT    MACHINE   INPUT     INIT    */
10022CONS( 1990, neogeo,     0,        0,        mvs,      neogeo,   neogeo_state, mvs,  "SNK", "Neo-Geo", GAME_IS_BIOS_ROOT | GAME_SUPPORTS_SAVE )
10023
10024/*    YEAR  NAME        PARENT    MACHINE   INPUT     INIT      MONITOR */
10025/* SNK */
10026GAME( 1990, nam1975,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "NAM-1975 (NGM-001)(NGH-001)", GAME_SUPPORTS_SAVE )
10027GAME( 1990, bstars,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Baseball Stars Professional (NGM-002)", GAME_SUPPORTS_SAVE )
10028GAME( 1990, bstarsh,    bstars,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Baseball Stars Professional (NGH-002)", GAME_SUPPORTS_SAVE )
10029GAME( 1990, tpgolf,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Top Player's Golf (NGM-003)(NGH-003)", GAME_SUPPORTS_SAVE )
10030GAME( 1990, mahretsu,   neogeo,   neogeo,   mjneogeo, neogeo_state, neogeo,   ROT0, "SNK", "Mahjong Kyo Retsuden (NGM-004)(NGH-004)", GAME_SUPPORTS_SAVE )
10031GAME( 1990, ridhero,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Riding Hero (NGM-006)(NGH-006)", GAME_SUPPORTS_SAVE )
10032GAME( 1990, ridheroh,   ridhero,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Riding Hero (set 2)", GAME_SUPPORTS_SAVE )
10033GAME( 1991, alpham2,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Alpha Mission II / ASO II - Last Guardian (NGM-007)(NGH-007)", GAME_SUPPORTS_SAVE )
10034GAME( 1991, alpham2p,   alpham2,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Alpha Mission II / ASO II - Last Guardian (prototype)", GAME_SUPPORTS_SAVE )
10035GAME( 1990, cyberlip,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Cyber-Lip (NGM-010)", GAME_SUPPORTS_SAVE )
10036GAME( 1990, superspy,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Super Spy (NGM-011)(NGH-011)", GAME_SUPPORTS_SAVE )
10037GAME( 1992, mutnat,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Mutation Nation (NGM-014)(NGH-014)", GAME_SUPPORTS_SAVE )
10038GAME( 1991, kotm,       neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "King of the Monsters (set 1)", GAME_SUPPORTS_SAVE )
10039GAME( 1991, kotmh,      kotm,     neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "King of the Monsters (set 2)", GAME_SUPPORTS_SAVE )
10040GAME( 1991, sengoku,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Sengoku / Sengoku Denshou (NGM-017)(NGH-017)", GAME_SUPPORTS_SAVE )
10041GAME( 1991, sengokuh,   sengoku,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Sengoku / Sengoku Denshou (NGH-017)(US)", GAME_SUPPORTS_SAVE )
10042GAME( 1991, burningf,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Burning Fight (NGM-018)(NGH-018)", GAME_SUPPORTS_SAVE )
10043GAME( 1991, burningfh,  burningf, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Burning Fight (NGH-018)(US)", GAME_SUPPORTS_SAVE )
10044GAME( 1991, burningfp,  burningf, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Burning Fight (prototype)", GAME_SUPPORTS_SAVE )
10045GAME( 1990, lbowling,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "League Bowling (NGM-019)(NGH-019)", GAME_SUPPORTS_SAVE )
10046GAME( 1991, gpilots,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Ghost Pilots (NGM-020)(NGH-020)", GAME_SUPPORTS_SAVE )
10047GAME( 1991, gpilotsh,   gpilots,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Ghost Pilots (NGH-020)(US)", GAME_SUPPORTS_SAVE )
10048GAME( 1990, joyjoy,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Puzzled / Joy Joy Kid (NGM-021)(NGH-021)", GAME_SUPPORTS_SAVE )
10049GAME( 1991, quizdais,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Quiz Daisousa Sen - The Last Count Down (NGM-023)(NGH-023)", GAME_SUPPORTS_SAVE )
10050GAME( 1991, quizdaisk,  quizdais, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Quiz Daisousa Sen - The Last Count Down (Korean release)", GAME_SUPPORTS_SAVE )
10051GAME( 1992, lresort,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Last Resort", GAME_SUPPORTS_SAVE )
10052GAME( 1991, eightman,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK / Pallas", "Eight Man (NGM-025)(NGH-025)", GAME_SUPPORTS_SAVE )
10053GAME( 1991, legendos,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Legend of Success Joe / Ashita no Joe Densetsu", GAME_SUPPORTS_SAVE )
10054GAME( 1991, 2020bb,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK / Pallas", "2020 Super Baseball (set 1)", GAME_SUPPORTS_SAVE )
10055GAME( 1991, 2020bba,    2020bb,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK / Pallas", "2020 Super Baseball (set 2)", GAME_SUPPORTS_SAVE )
10056GAME( 1991, 2020bbh,    2020bb,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK / Pallas", "2020 Super Baseball (set 3)", GAME_SUPPORTS_SAVE )
10057GAME( 1991, socbrawl,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Soccer Brawl (NGM-031)", GAME_SUPPORTS_SAVE )
10058GAME( 1991, socbrawlh,  socbrawl, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Soccer Brawl (NGH-031)", GAME_SUPPORTS_SAVE )
10059GAME( 1991, fatfury1,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Fatal Fury - King of Fighters / Garou Densetsu - shukumei no tatakai (NGM-033)(NGH-033)", GAME_SUPPORTS_SAVE )
10060GAME( 1991, roboarmy,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Robo Army", GAME_SUPPORTS_SAVE )
10061//GAME( 1991, roboarma,   roboarmy, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Robo Army (set 2)", GAME_SUPPORTS_SAVE )
10062GAME( 1992, fbfrenzy,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Football Frenzy (NGM-034)(NGH-034)", GAME_SUPPORTS_SAVE )
10063GAME( 1992, kotm2,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "King of the Monsters 2 - The Next Thing (NGM-039)(NGH-039)", GAME_SUPPORTS_SAVE )
10064GAME( 1992, kotm2p,     kotm2,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "King of the Monsters 2 - The Next Thing (prototype)", GAME_SUPPORTS_SAVE )
10065GAME( 1993, sengoku2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Sengoku 2 / Sengoku Denshou 2", GAME_SUPPORTS_SAVE )
10066GAME( 1992, bstars2,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Baseball Stars 2", GAME_SUPPORTS_SAVE )
10067GAME( 1992, quizdai2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Quiz Meitantei Neo & Geo - Quiz Daisousa Sen part 2 (NGM-042)(NGH-042)", GAME_SUPPORTS_SAVE )
10068GAME( 1993, 3countb,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "3 Count Bout / Fire Suplex (NGM-043)(NGH-043)", GAME_SUPPORTS_SAVE )
10069GAME( 1992, aof,        neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Art of Fighting / Ryuuko no Ken (NGM-044)(NGH-044)", GAME_SUPPORTS_SAVE )
10070GAME( 1993, samsho,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown / Samurai Spirits (NGM-045)", GAME_SUPPORTS_SAVE )
10071GAME( 1993, samshoh,    samsho,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown / Samurai Spirits (NGH-045)", GAME_SUPPORTS_SAVE )
10072GAME( 1994, tophuntr,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Top Hunter - Roddy & Cathy (NGM-046)", GAME_SUPPORTS_SAVE )
10073GAME( 1994, tophuntrh,  tophuntr, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Top Hunter - Roddy & Cathy (NGH-046)", GAME_SUPPORTS_SAVE )
10074GAME( 1992, fatfury2,   neogeo,   neogeo,   neogeo, neogeo_state,   fatfury2, ROT0, "SNK", "Fatal Fury 2 / Garou Densetsu 2 - arata-naru tatakai (NGM-047)(NGH-047)", GAME_SUPPORTS_SAVE )
10075GAME( 1992, ssideki,    neogeo,   neogeo,   neogeo, neogeo_state,   fatfury2, ROT0, "SNK", "Super Sidekicks / Tokuten Ou", GAME_SUPPORTS_SAVE )
10076GAME( 1994, kof94,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '94 (NGM-055)(NGH-055)", GAME_SUPPORTS_SAVE )
10077GAME( 1994, aof2,       neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Art of Fighting 2 / Ryuuko no Ken 2 (NGM-056)", GAME_SUPPORTS_SAVE )
10078GAME( 1994, aof2a,      aof2,     neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Art of Fighting 2 / Ryuuko no Ken 2 (NGH-056)", GAME_SUPPORTS_SAVE )
10079GAME( 1993, fatfursp,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Fatal Fury Special / Garou Densetsu Special (set 1)(NGM-058)(NGH-058)", GAME_SUPPORTS_SAVE )
10080GAME( 1993, fatfurspa,  fatfursp, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Fatal Fury Special / Garou Densetsu Special (set 2)(NGM-058)(NGH-058)", GAME_SUPPORTS_SAVE )
10081GAME( 1995, savagere,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Savage Reign / Fu'un Mokushiroku - kakutou sousei", GAME_SUPPORTS_SAVE )
10082GAME( 1994, ssideki2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Super Sidekicks 2 - The World Championship / Tokuten Ou 2 - real fight football (NGM-061)(NGH-061)", GAME_SUPPORTS_SAVE )
10083GAME( 1994, samsho2,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown II / Shin Samurai Spirits - Haohmaru jigokuhen (NGM-063)(NGH-063)", GAME_SUPPORTS_SAVE )
10084GAME( 1994, samsho2k,   samsho2,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Saulabi Spirits / Jin Saulabi Tu Hon (Korean release of Samurai Shodown II)", GAME_SUPPORTS_SAVE ) // official or hack?
10085GAME( 1995, fatfury3,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Fatal Fury 3 - Road to the Final Victory / Garou Densetsu 3 - haruka-naru tatakai (NGM-069)(NGH-069)", GAME_SUPPORTS_SAVE )
10086GAME( 1995, ssideki3,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Super Sidekicks 3 - The Next Glory / Tokuten Ou 3 - eikou e no michi", GAME_SUPPORTS_SAVE )
10087GAME( 1995, kof95,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '95 (NGM-084)", GAME_SUPPORTS_SAVE )
10088GAME( 1995, kof95h,     kof95,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '95 (NGH-084)", GAME_SUPPORTS_SAVE )
10089GAME( 1995, samsho3,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown III / Samurai Spirits - Zankurou Musouken (NGM-087)", GAME_SUPPORTS_SAVE )
10090GAME( 1995, samsho3h,   samsho3,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown III / Samurai Spirits - Zankurou Musouken (NGH-087)", GAME_SUPPORTS_SAVE )
10091GAME( 1995, fswords,    samsho3,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Fighters Swords (Korean release of Samurai Shodown III)", GAME_SUPPORTS_SAVE )
10092GAME( 1995, rbff1,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury / Real Bout Garou Densetsu (NGM-095)(NGH-095)", GAME_SUPPORTS_SAVE )
10093GAME( 1995, rbff1a,     rbff1,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury / Real Bout Garou Densetsu (bug fix revision)", GAME_SUPPORTS_SAVE )
10094GAME( 1996, aof3,       neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Art of Fighting 3 - The Path of the Warrior / Art of Fighting - Ryuuko no Ken Gaiden", GAME_SUPPORTS_SAVE )
10095GAME( 1996, aof3k,      aof3,     neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Art of Fighting 3 - The Path of the Warrior (Korean release)", GAME_SUPPORTS_SAVE ) // no Japanese title / mode
10096GAME( 1996, kof96,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '96 (NGM-214)", GAME_SUPPORTS_SAVE )
10097GAME( 1996, kof96h,     kof96,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '96 (NGH-214)", GAME_SUPPORTS_SAVE )
10098GAME( 1996, ssideki4,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Ultimate 11 - The SNK Football Championship / Tokuten Ou - Honoo no Libero", GAME_SUPPORTS_SAVE )
10099GAME( 1996, kizuna,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Kizuna Encounter - Super Tag Battle / Fu'un Super Tag Battle", GAME_SUPPORTS_SAVE )
10100GAME( 1996, samsho4,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown IV - Amakusa's Revenge / Samurai Spirits - Amakusa Kourin (NGM-222)(NGH-222)", GAME_SUPPORTS_SAVE )
10101GAME( 1996, samsho4k,   samsho4,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Pae Wang Jeon Seol / Legend of a Warrior (Korean censored Samurai Shodown IV)", GAME_SUPPORTS_SAVE )
10102GAME( 1996, rbffspec,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special", GAME_SUPPORTS_SAVE )
10103GAME( 1996, rbffspeck,  rbffspec, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special (Korean release)", GAME_SUPPORTS_SAVE )
10104GAME( 1997, kof97,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '97 (NGM-2320)", GAME_SUPPORTS_SAVE )
10105GAME( 1997, kof97h,     kof97,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '97 (NGH-2320)", GAME_SUPPORTS_SAVE )
10106GAME( 1997, kof97k,     kof97,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '97 (Korean release)", GAME_SUPPORTS_SAVE )
10107GAME( 1997, kof97pls,   kof97,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "bootleg", "The King of Fighters '97 Plus (bootleg)", GAME_SUPPORTS_SAVE )
10108GAME( 1997, kof97oro,   kof97,    neogeo,   neogeo, neogeo_state,   kof97oro, ROT0, "bootleg", "The King of Fighters '97 Oroshi Plus 2003 (bootleg)", GAME_SUPPORTS_SAVE )
10109GAME( 1997, kog,        kof97,    neogeo,   kog,    neogeo_state,   kog,      ROT0, "bootleg", "King of Gladiator (The King of Fighters '97 bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // protected bootleg
10110GAME( 1997, lastblad,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Last Blade / Bakumatsu Roman - Gekka no Kenshi (NGM-2340)", GAME_SUPPORTS_SAVE )
10111GAME( 1997, lastbladh,  lastblad, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Last Blade / Bakumatsu Roman - Gekka no Kenshi (NGH-2340)", GAME_SUPPORTS_SAVE )
10112GAME( 1997, lastsold,   lastblad, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Last Soldier (Korean release of The Last Blade)", GAME_SUPPORTS_SAVE )
10113GAME( 1997, irrmaze,    neogeo,   neogeo,   irrmaze, neogeo_state,  neogeo,   ROT0, "SNK / Saurus", "The Irritating Maze / Ultra Denryu Iraira Bou", GAME_SUPPORTS_SAVE )
10114GAME( 1998, rbff2,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (NGM-2400)", GAME_SUPPORTS_SAVE )
10115GAME( 1998, rbff2h,     rbff2,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (NGH-2400)", GAME_SUPPORTS_SAVE )
10116GAME( 1998, rbff2k,     rbff2,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers (Korean release)", GAME_SUPPORTS_SAVE ) // no Japanese title / mode
10117GAME( 1998, mslug2,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Metal Slug 2 - Super Vehicle-001/II (NGM-2410)(NGH-2410)", GAME_SUPPORTS_SAVE )
10118GAME( 1998, kof98,      neogeo,   neogeo,   neogeo, neogeo_state,   kof98,    ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (NGM-2420)", GAME_SUPPORTS_SAVE )
10119GAME( 1998, kof98k,     kof98,    neogeo,   neogeo, neogeo_state,   kof98,    ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (Korean board)", GAME_SUPPORTS_SAVE )
10120GAME( 1998, kof98ka,    kof98,    neogeo,   neogeo, neogeo_state,   kof98,    ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (Korean board 2)", GAME_SUPPORTS_SAVE )
10121GAME( 1998, kof98h,     kof98,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (NGH-2420)", GAME_SUPPORTS_SAVE )
10122GAME( 1998, lastbld2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Last Blade 2 / Bakumatsu Roman - Dai Ni Maku Gekka no Kenshi (NGM-2430)(NGH-2430)", GAME_SUPPORTS_SAVE )
10123GAME( 1998, neocup98,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Neo-Geo Cup '98 - The Road to the Victory", GAME_SUPPORTS_SAVE )
10124GAME( 1999, mslugx,     neogeo,   neogeo,   neogeo, neogeo_state,   mslugx,   ROT0, "SNK", "Metal Slug X - Super Vehicle-001 (NGM-2500)(NGH-2500)", GAME_SUPPORTS_SAVE )
10125GAME( 1999, kof99,      neogeo,   neogeo,   neogeo, neogeo_state,   kof99,    ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGM-2510)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10126GAME( 1999, kof99h,     kof99,    neogeo,   neogeo, neogeo_state,   kof99,    ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGH-2510)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX, crashes going into attract demo */
10127GAME( 1999, kof99e,     kof99,    neogeo,   neogeo, neogeo_state,   kof99,    ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (earlier)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10128GAME( 1999, kof99k,     kof99,    neogeo,   neogeo, neogeo_state,   kof99k,   ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (Korean release)" , GAME_SUPPORTS_SAVE )   /* Encrypted GFX */
10129GAME( 1999, kof99p,     kof99,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (prototype)", GAME_SUPPORTS_SAVE )
10130GAME( 1999, garou,      neogeo,   neogeo,   neogeo, neogeo_state,   garou,    ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10131GAME( 1999, garouh,     garou,    neogeo,   neogeo, neogeo_state,   garouh,   ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530)(NGH-2530)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10132GAME( 1999, garoup,     garou,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Garou - Mark of the Wolves (prototype)", GAME_SUPPORTS_SAVE )
10133GAME( 1999, garoubl,    garou,    neogeo,   neogeo, neogeo_state,   garoubl,  ROT0, "bootleg", "Garou - Mark of the Wolves (bootleg)", GAME_SUPPORTS_SAVE ) /* Bootleg of garoup */
10134GAME( 2000, mslug3,     neogeo,   neogeo,   neogeo, neogeo_state,   mslug3,   ROT0, "SNK", "Metal Slug 3 (NGM-2560)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10135GAME( 2000, mslug3h,    mslug3,   neogeo,   neogeo, neogeo_state,   mslug3h,  ROT0, "SNK", "Metal Slug 3 (NGH-2560)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10136GAME( 2000, mslug3b6,   mslug3,   neogeo,   neogeo, neogeo_state,   mslug3b6, ROT0, "bootleg", "Metal Slug 6 (Metal Slug 3 bootleg)", GAME_SUPPORTS_SAVE ) /* real Metal Slug 6 is an Atomiswave HW game, see naomi.c ;-) */
10137GAME( 2000, kof2000,    neogeo,   neogeo,   neogeo, neogeo_state,   kof2000,  ROT0, "SNK", "The King of Fighters 2000 (NGM-2570) (NGH-2570)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10138GAME( 2000, kof2000n,   kof2000,  neogeo,   neogeo, neogeo_state,   kof2000n, ROT0, "SNK", "The King of Fighters 2000 (not encrypted)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10139GAME( 2001, zupapa,     neogeo,   neogeo,   neogeo, neogeo_state,   zupapa,   ROT0, "SNK", "Zupapa!" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10140GAME( 2001, sengoku3,   neogeo,   neogeo,   neogeo, neogeo_state,   sengoku3, ROT0, "Noise Factory / SNK", "Sengoku 3 / Sengoku Densho 2001" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10141GAME( 2001, kof2001,    neogeo,   neogeo,   neogeo, neogeo_state,   kof2001,  ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGM-262?)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10142GAME( 2001, kof2001h,   kof2001,  neogeo,   neogeo, neogeo_state,   kof2001,  ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGH-2621)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10143GAME( 2003, cthd2003,   kof2001,  neogeo,   neogeo, neogeo_state,   cthd2003, ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Protected Hack / Bootleg of kof2001 */
10144GAME( 2003, ct2k3sp,    kof2001,  neogeo,   neogeo, neogeo_state,   ct2k3sp,  ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 Super Plus (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Protected Hack / Bootleg of kof2001 */
10145GAME( 2003, ct2k3sa,    kof2001,  neogeo,   neogeo, neogeo_state,   ct2k3sa,  ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 Super Plus alternate (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Hack / Bootleg of kof2001 */
10146GAME( 2002, kof2002,    neogeo,   neogeo,   neogeo, neogeo_state,   kof2002,  ROT0, "Eolith / Playmore", "The King of Fighters 2002 (NGM-2650)(NGH-2650)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10147GAME( 2002, kof2002b,   kof2002,  neogeo,   neogeo, neogeo_state,   kof2002b, ROT0, "bootleg", "The King of Fighters 2002 (bootleg)", GAME_SUPPORTS_SAVE )
10148GAME( 2002, kf2k2pls,   kof2002,  neogeo,   neogeo, neogeo_state,   kf2k2pls, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 1)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10149GAME( 2002, kf2k2pla,   kof2002,  neogeo,   neogeo, neogeo_state,   kf2k2pls, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 2)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10150GAME( 2002, kf2k2mp,    kof2002,  neogeo,   neogeo, neogeo_state,   kf2k2mp,  ROT0, "bootleg", "The King of Fighters 2002 Magic Plus (bootleg)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10151GAME( 2002, kf2k2mp2,   kof2002,  neogeo,   neogeo, neogeo_state,   kf2k2mp2, ROT0, "bootleg", "The King of Fighters 2002 Magic Plus II (bootleg)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10152GAME( 2002, kof10th,    kof2002,  neogeo,   neogeo, neogeo_state,   kof10th,  ROT0, "bootleg", "The King of Fighters 10th Anniversary (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
10153GAME( 2005, kf10thep,   kof2002,  neogeo,   neogeo, neogeo_state,   kf10thep, ROT0, "bootleg", "The King of Fighters 10th Anniversary Extra Plus (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
10154GAME( 2004, kf2k5uni,   kof2002,  neogeo,   neogeo, neogeo_state,   kf2k5uni, ROT0, "bootleg", "The King of Fighters 10th Anniversary 2005 Unique (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
10155GAME( 2004, kof2k4se,   kof2002,  neogeo,   neogeo, neogeo_state,   kof2k4se, ROT0, "bootleg", "The King of Fighters Special Edition 2004 (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) /* Hack / Bootleg of kof2002 */
10156GAME( 2003, mslug5,     neogeo,   neogeo,   neogeo, neogeo_state,   mslug5,   ROT0, "SNK Playmore", "Metal Slug 5 (NGM-2680)", GAME_SUPPORTS_SAVE )
10157GAME( 2003, mslug5h,    mslug5,   neogeo,   neogeo, neogeo_state,   mslug5,   ROT0, "SNK Playmore", "Metal Slug 5 (NGH-2680)", GAME_SUPPORTS_SAVE ) /* Also found in later MVS carts */
10158GAME( 2003, ms5pcb,     0,        neogeo,   ms5pcb, neogeo_state,   ms5pcb,   ROT0, "SNK Playmore", "Metal Slug 5 (JAMMA PCB)", GAME_SUPPORTS_SAVE )
10159GAME( 2003, ms5plus,    mslug5,   neogeo,   neogeo, neogeo_state,   ms5plus,  ROT0, "bootleg", "Metal Slug 5 Plus (bootleg)", GAME_SUPPORTS_SAVE )
10160GAME( 2003, svcpcb,     0,        neogeo,   svcpcb, neogeo_state,   svcpcb,   ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (JAMMA PCB, set 1)", GAME_SUPPORTS_SAVE ) // not a clone of neogeo because it's NOT a neogeo cart.
10161GAME( 2003, svcpcba,    svcpcb,   neogeo,   svcpcb, neogeo_state,   svcpcb,   ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (JAMMA PCB, set 2)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code */
10162GAME( 2003, svc,        neogeo,   neogeo,   neogeo, neogeo_state,   svc,      ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (NGM-2690)(NGH-2690)", GAME_SUPPORTS_SAVE )
10163GAME( 2003, svcboot,    svc,      neogeo,   neogeo, neogeo_state,   svcboot,  ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos (bootleg)", GAME_SUPPORTS_SAVE )
10164GAME( 2003, svcplus,    svc,      neogeo,   neogeo, neogeo_state,   svcplus,  ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Plus (bootleg set 1)", GAME_SUPPORTS_SAVE )
10165GAME( 2003, svcplusa,   svc,      neogeo,   neogeo, neogeo_state,   svcplusa, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Plus (bootleg set 2)", GAME_SUPPORTS_SAVE )
10166GAME( 2003, svcsplus,   svc,      neogeo,   neogeo, neogeo_state,   svcsplus, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Super Plus (bootleg)", GAME_SUPPORTS_SAVE )
10167GAME( 2003, samsho5,    neogeo,   neogeo,   neogeo, neogeo_state,   samsho5,  ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (NGM-2700)", GAME_SUPPORTS_SAVE )
10168GAME( 2003, samsho5h,   samsho5,  neogeo,   neogeo, neogeo_state,   samsho5,  ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (NGH-2700)", GAME_SUPPORTS_SAVE )
10169GAME( 2003, samsho5b,   samsho5,  neogeo,   neogeo, neogeo_state,   samsho5b, ROT0, "bootleg", "Samurai Shodown V / Samurai Spirits Zero (bootleg)", GAME_SUPPORTS_SAVE ) // different program scrambling
10170GAME( 2003, kf2k3pcb,   0,        neogeo,   neogeo, neogeo_state,   kf2k3pcb, ROT0, "SNK Playmore", "The King of Fighters 2003 (Japan, JAMMA PCB)", GAME_SUPPORTS_SAVE ) // not a clone of neogeo because it's NOT a neogeo cart.
10171GAME( 2003, kof2003,    neogeo,   neogeo,   neogeo, neogeo_state,   kof2003,  ROT0, "SNK Playmore", "The King of Fighters 2003 (NGM-2710)", GAME_SUPPORTS_SAVE )
10172GAME( 2003, kof2003h,   kof2003,  neogeo,   neogeo, neogeo_state,   kof2003h, ROT0, "SNK Playmore", "The King of Fighters 2003 (NGH-2710)", GAME_SUPPORTS_SAVE )
10173GAME( 2003, kf2k3bl,    kof2003,  neogeo,   neogeo, neogeo_state,   kf2k3bl , ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 1)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart (unless it was a bootleg pcb with the new bios?)
10174GAME( 2003, kf2k3bla,   kof2003,  neogeo,   neogeo, neogeo_state,   kf2k3pl,  ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 2)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
10175GAME( 2003, kf2k3pl,    kof2003,  neogeo,   neogeo, neogeo_state,   kf2k3pl,  ROT0, "bootleg", "The King of Fighters 2004 Plus / Hero (The King of Fighters 2003 bootleg)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
10176GAME( 2003, kf2k3upl,   kof2003,  neogeo,   neogeo, neogeo_state,   kf2k3upl, ROT0, "bootleg", "The King of Fighters 2004 Ultra Plus (The King of Fighters 2003 bootleg)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
10177GAME( 2004, samsh5sp,   neogeo,   neogeo,   neogeo, neogeo_state,   samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGM-2720)", GAME_SUPPORTS_SAVE )
10178GAME( 2004, samsh5sph,  samsh5sp, neogeo,   neogeo, neogeo_state,   samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720) (2nd release, less censored)", GAME_SUPPORTS_SAVE )
10179GAME( 2004, samsh5spho, samsh5sp, neogeo,   neogeo, neogeo_state,   samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720) (1st release, censored)", GAME_SUPPORTS_SAVE )
10180
10181/* there are other bootlegs kof96ep, kf2k1pls etc.? -- work out which should be supported */
10182
10183/* Alpha Denshi Co. / ADK (changed name in 1993) */
10184GAME( 1990, maglord,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Magician Lord (NGM-005)", GAME_SUPPORTS_SAVE )
10185GAME( 1990, maglordh,   maglord,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Magician Lord (NGH-005)", GAME_SUPPORTS_SAVE )
10186GAME( 1990, ncombat,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Ninja Combat (NGM-009)", GAME_SUPPORTS_SAVE )
10187GAME( 1990, ncombath,   ncombat,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Ninja Combat (NGH-009)", GAME_SUPPORTS_SAVE )
10188GAME( 1990, bjourney,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Blue's Journey / Raguy (ALM-001)(ALH-001)", GAME_SUPPORTS_SAVE )
10189GAME( 1991, crsword,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Crossed Swords (ALM-002)(ALH-002)", GAME_SUPPORTS_SAVE )
10190GAME( 1991, trally,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Thrash Rally (ALM-003)(ALH-003)", GAME_SUPPORTS_SAVE )
10191GAME( 1992, ncommand,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Ninja Commando", GAME_SUPPORTS_SAVE )
10192GAME( 1992, wh1,        neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "World Heroes (ALM-005)", GAME_SUPPORTS_SAVE )
10193GAME( 1992, wh1h,       wh1,      neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "World Heroes (ALH-005)", GAME_SUPPORTS_SAVE )
10194GAME( 1992, wh1ha,      wh1,      neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "World Heroes (set 3)", GAME_SUPPORTS_SAVE )
10195GAME( 1993, wh2,        neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK",              "World Heroes 2 (ALM-006)(ALH-006)", GAME_SUPPORTS_SAVE )
10196GAME( 1994, wh2j,       neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "World Heroes 2 Jet (ADM-007)(ADH-007)", GAME_SUPPORTS_SAVE )
10197GAME( 1994, aodk,       neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "Aggressors of Dark Kombat / Tsuukai GANGAN Koushinkyoku (ADM-008)(ADH-008)", GAME_SUPPORTS_SAVE )
10198GAME( 1995, whp,        neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "World Heroes Perfect", GAME_SUPPORTS_SAVE )
10199GAME( 1995, mosyougi,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "Syougi No Tatsujin - Master of Syougi", GAME_SUPPORTS_SAVE )
10200GAME( 1996, overtop,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK",              "Over Top", GAME_SUPPORTS_SAVE )
10201GAME( 1996, ninjamas,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "Ninja Master's - haoh-ninpo-cho", GAME_SUPPORTS_SAVE )
10202GAME( 1996, twinspri,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "Twinkle Star Sprites", GAME_SUPPORTS_SAVE )
10203GAME( 1996, zintrckb,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "hack",             "Zintrick / Oshidashi Zentrix (hack)", GAME_SUPPORTS_SAVE )
10204
10205/* Aicom (was a part of Sammy) / Yumekobo (changed name in 1996) */
10206GAME( 1992, viewpoin,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Sammy / Aicom", "Viewpoint", GAME_SUPPORTS_SAVE )
10207GAME( 1994, janshin,    neogeo,   neogeo,   mjneogeo, neogeo_state, neogeo,   ROT0, "Aicom", "Jyanshin Densetsu - Quest of Jongmaster", GAME_SUPPORTS_SAVE )
10208GAME( 1995, pulstar,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Aicom", "Pulstar", GAME_SUPPORTS_SAVE )
10209GAME( 1998, blazstar,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Yumekobo", "Blazing Star", GAME_SUPPORTS_SAVE )
10210GAME( 1999, preisle2,   neogeo,   neogeo,   neogeo, neogeo_state,   preisle2, ROT0, "Yumekobo", "Prehistoric Isle 2" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10211
10212/* Data East Corporation */
10213GAME( 1993, spinmast,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Spin Master / Miracle Adventure", GAME_SUPPORTS_SAVE )
10214GAME( 1994, wjammers,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Windjammers / Flying Power Disc", GAME_SUPPORTS_SAVE )
10215GAME( 1994, karnovr,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Karnov's Revenge / Fighter's History Dynamite", GAME_SUPPORTS_SAVE )
10216GAME( 1994, strhoop,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Street Hoop / Street Slam / Dunk Dream (DEM-004) (DEH-004)", GAME_SUPPORTS_SAVE )
10217GAME( 1996, ghostlop,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Ghostlop (prototype)", GAME_SUPPORTS_SAVE )
10218GAME( 1996, magdrop2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Magical Drop II", GAME_SUPPORTS_SAVE )
10219GAME( 1997, magdrop3,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Magical Drop III", GAME_SUPPORTS_SAVE )
10220
10221/* Eleven */
10222GAME( 2000, nitd,       neogeo,   neogeo,   neogeo, neogeo_state,   nitd,     ROT0, "Eleven / Gavaking", "Nightmare in the Dark" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10223GAME( 2001, nitdbl,     nitd,     neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "bootleg", "Nightmare in the Dark (bootleg)" , GAME_SUPPORTS_SAVE )
10224
10225/* Face */
10226GAME( 1994, gururin,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Face", "Gururin", GAME_SUPPORTS_SAVE )
10227GAME( 1997, miexchng,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Face", "Money Puzzle Exchanger / Money Idol Exchanger", GAME_SUPPORTS_SAVE )
10228
10229/* Hudson Soft */
10230GAME( 1994, panicbom,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Eighting / Hudson", "Panic Bomber", GAME_SUPPORTS_SAVE )
10231GAME( 1995, kabukikl,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Hudson", "Far East of Eden - Kabuki Klash / Tengai Makyou - Shin Den", GAME_SUPPORTS_SAVE )
10232GAME( 1997, neobombe,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Hudson", "Neo Bomberman", GAME_SUPPORTS_SAVE )
10233
10234/* Monolith Corp. */
10235GAME( 1990, minasan,    neogeo,   neogeo,   mjneogeo, neogeo_state, neogeo,   ROT0, "Monolith Corp.", "Minasanno Okagesamadesu! Daisugorokutaikai (MOM-001)(MOH-001)", GAME_SUPPORTS_SAVE )
10236GAME( 1991, bakatono,   neogeo,   neogeo,   mjneogeo, neogeo_state, neogeo,   ROT0, "Monolith Corp.", "Bakatonosama Mahjong Manyuuki (MOM-002)(MOH-002)", GAME_SUPPORTS_SAVE )
10237
10238/* Nazca (later acquired by SNK) */
10239GAME( 1996, turfmast,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Nazca", "Neo Turf Masters / Big Tournament Golf", GAME_SUPPORTS_SAVE )
10240GAME( 1996, mslug,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Nazca", "Metal Slug - Super Vehicle-001", GAME_SUPPORTS_SAVE )
10241
10242/* NMK */
10243GAME( 1994, zedblade,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "NMK", "Zed Blade / Operation Ragnarok", GAME_SUPPORTS_SAVE )
10244
10245/* Psikyo */
10246GAME( 1999, s1945p,     neogeo,   neogeo,   neogeo, neogeo_state,   s1945p,   ROT0, "Psikyo", "Strikers 1945 Plus" , GAME_SUPPORTS_SAVE )   /* Encrypted GFX */
10247
10248/* Saurus */
10249GAME( 1995, quizkof,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Quiz King of Fighters (SAM-080)(SAH-080)", GAME_SUPPORTS_SAVE )
10250GAME( 1995, quizkofk,   quizkof,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Quiz King of Fighters (Korean release)", GAME_SUPPORTS_SAVE )
10251GAME( 1995, stakwin,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Stakes Winner / Stakes Winner - GI kinzen seiha e no michi", GAME_SUPPORTS_SAVE )
10252GAME( 1996, ragnagrd,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Ragnagard / Shin-Oh-Ken", GAME_SUPPORTS_SAVE )
10253GAME( 1996, pgoal,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Pleasure Goal / Futsal - 5 on 5 Mini Soccer (NGM-219)", GAME_SUPPORTS_SAVE )
10254GAME( 1996, ironclad,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Choutetsu Brikin'ger - Iron clad (Prototype)", GAME_SUPPORTS_SAVE )
10255GAME( 1996, ironclado,  ironclad, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "bootleg", "Choutetsu Brikin'ger - Iron clad (Prototype, bootleg)", GAME_SUPPORTS_SAVE )
10256GAME( 1996, stakwin2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Stakes Winner 2", GAME_SUPPORTS_SAVE )
10257GAME( 1997, shocktro,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Shock Troopers (set 1)", GAME_SUPPORTS_SAVE )
10258GAME( 1997, shocktroa,  shocktro, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Shock Troopers (set 2)", GAME_SUPPORTS_SAVE )
10259GAME( 1998, shocktr2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Shock Troopers - 2nd Squad", GAME_SUPPORTS_SAVE )
10260GAME( 1998, lans2004,   shocktr2, neogeo,   neogeo, neogeo_state,   lans2004, ROT0, "bootleg", "Lansquenet 2004 (Shock Troopers - 2nd Squad bootleg)", GAME_SUPPORTS_SAVE )
10261
10262/* Sunsoft */
10263GAME( 1995, galaxyfg,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Sunsoft", "Galaxy Fight - Universal Warriors", GAME_SUPPORTS_SAVE )
10264GAME( 1996, wakuwak7,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Sunsoft", "Waku Waku 7", GAME_SUPPORTS_SAVE )
10265
10266/* Taito */
10267GAME( 1994, pbobblen,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Taito", "Puzzle Bobble / Bust-A-Move (Neo-Geo) (NGM-083)", GAME_SUPPORTS_SAVE )
10268GAME( 1994, pbobblenb,  pbobblen, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "bootleg", "Puzzle Bobble / Bust-A-Move (Neo-Geo) (bootleg)", GAME_SUPPORTS_SAVE )
10269GAME( 1999, pbobbl2n,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Taito (SNK license)", "Puzzle Bobble 2 / Bust-A-Move Again (Neo-Geo)", GAME_SUPPORTS_SAVE )
10270GAME( 2003, pnyaa,      neogeo,   neogeo,   neogeo, neogeo_state,   pnyaa,    ROT0, "Aiky / Taito", "Pochi and Nyaa", GAME_SUPPORTS_SAVE )
10271
10272/* Takara */
10273GAME( 1995, marukodq,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Takara", "Chibi Marukochan Deluxe Quiz", GAME_SUPPORTS_SAVE )
10274
10275/* Technos Japan */
10276GAME( 1995, doubledr,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Technos Japan", "Double Dragon (Neo-Geo)", GAME_SUPPORTS_SAVE )
10277GAME( 1995, gowcaizr,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Technos Japan", "Voltage Fighter - Gowcaizer / Choujin Gakuen Gowcaizer", GAME_SUPPORTS_SAVE )
10278GAME( 1996, sdodgeb,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Technos Japan", "Super Dodge Ball / Kunio no Nekketsu Toukyuu Densetsu", GAME_SUPPORTS_SAVE )
10279
10280/* Tecmo */
10281GAME( 1996, tws96,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Tecmo", "Tecmo World Soccer '96", GAME_SUPPORTS_SAVE )
10282
10283/* Viccom */
10284GAME( 1994, fightfev,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Viccom", "Fight Fever (set 1)", GAME_SUPPORTS_SAVE )
10285GAME( 1994, fightfeva,  fightfev, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Viccom", "Fight Fever (set 2)", GAME_SUPPORTS_SAVE )
10286
10287/* Video System Co. */
10288GAME( 1994, pspikes2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Video System Co.", "Power Spikes II (NGM-068)", GAME_SUPPORTS_SAVE )
10289GAME( 1994, sonicwi2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Video System Co.", "Aero Fighters 2 / Sonic Wings 2", GAME_SUPPORTS_SAVE )
10290GAME( 1995, sonicwi3,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Video System Co.", "Aero Fighters 3 / Sonic Wings 3", GAME_SUPPORTS_SAVE )
10291GAME( 1997, popbounc,   neogeo,   neogeo,   popbounc, neogeo_state, neogeo,   ROT0, "Video System Co.", "Pop 'n Bounce / Gapporin", GAME_SUPPORTS_SAVE )
10292
10293/* Visco */
10294GAME( 1992, androdun,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Andro Dunos (NGM-049)(NGH-049)", GAME_SUPPORTS_SAVE )
10295GAME( 1995, puzzledp,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Taito (Visco license)", "Puzzle De Pon!", GAME_SUPPORTS_SAVE )
10296GAME( 1996, neomrdo,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Neo Mr. Do!", GAME_SUPPORTS_SAVE )
10297GAME( 1995, goalx3,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Goal! Goal! Goal!", GAME_SUPPORTS_SAVE )
10298GAME( 1996, neodrift,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Neo Drift Out - New Technology", GAME_SUPPORTS_SAVE )
10299GAME( 1996, breakers,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Breakers", GAME_SUPPORTS_SAVE )
10300GAME( 1997, puzzldpr,   puzzledp, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Taito (Visco license)", "Puzzle De Pon! R!", GAME_SUPPORTS_SAVE )
10301GAME( 1998, breakrev,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Breakers Revenge", GAME_SUPPORTS_SAVE )
10302GAME( 1998, flipshot,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Battle Flip Shot", GAME_SUPPORTS_SAVE )
10303GAME( 1999, ctomaday,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Captain Tomaday", GAME_SUPPORTS_SAVE )
10304GAME( 1999, ganryu,     neogeo,   neogeo,   neogeo, neogeo_state,   ganryu,   ROT0, "Visco", "Ganryu / Musashi Ganryuki" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10305GAME( 2000, bangbead,   neogeo,   neogeo,   neogeo, neogeo_state,   bangbead, ROT0, "Visco", "Bang Bead", GAME_SUPPORTS_SAVE )
10306//GAME( 2000, bangbedp,   bangbead, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Bang Bead (prototype)", GAME_SUPPORTS_SAVE )
10307
10308/* Mega Enterprise */
10309GAME( 2002, mslug4,     neogeo,   neogeo,   neogeo, neogeo_state,   mslug4,   ROT0, "Mega / Playmore", "Metal Slug 4 (NGM-2630)", GAME_SUPPORTS_SAVE )
10310GAME( 2002, mslug4h,    mslug4,   neogeo,   neogeo, neogeo_state,   mslug4,   ROT0, "Mega / Playmore", "Metal Slug 4 (NGH-2630)", GAME_SUPPORTS_SAVE )
10311GAME( 2002, ms4plus,    mslug4,   neogeo,   neogeo, neogeo_state,   ms4plus,  ROT0, "bootleg", "Metal Slug 4 Plus (bootleg)", GAME_SUPPORTS_SAVE )
10312
10313/* Evoga */
10314GAME( 2002, rotd,       neogeo,   neogeo,   neogeo, neogeo_state,   rotd,     ROT0, "Evoga / Playmore", "Rage of the Dragons (NGM-264?)", GAME_SUPPORTS_SAVE )
10315
10316/* Atlus */
10317GAME( 2002, matrim,     neogeo,   neogeo,   neogeo, neogeo_state,   matrim,   ROT0, "Noise Factory / Atlus", "Matrimelee / Shin Gouketsuji Ichizoku Toukon (NGM-2660) (NGH-2660)", GAME_SUPPORTS_SAVE )
10318GAME( 2002, matrimbl,   matrim,   neogeo,   neogeo, neogeo_state,   matrimbl, ROT0, "bootleg", "Matrimelee / Shin Gouketsuji Ichizoku Toukon (bootleg)", GAME_SUPPORTS_SAVE )
10319
10320/***** Unlicensed commercial releases *****/
10321
10322/* BrezzaSoft */
10323GAME( 2001, jockeygp,   neogeo,   neogeo,   jockeygp, neogeo_state, jockeygp, ROT0, "Sun Amusement / BrezzaSoft", "Jockey Grand Prix (set 1)", GAME_SUPPORTS_SAVE )
10324GAME( 2001, jockeygpa,  jockeygp, neogeo,   jockeygp, neogeo_state, jockeygp, ROT0, "Sun Amusement / BrezzaSoft", "Jockey Grand Prix (set 2)", GAME_SUPPORTS_SAVE )
10325GAME( 2001, vliner,     neogeo,   neogeo,   vliner, neogeo_state,   vliner,   ROT0, "Dyna / BrezzaSoft", "V-Liner (set 1)", GAME_SUPPORTS_SAVE )
10326GAME( 2001, vlinero,    vliner,   neogeo,   vliner, neogeo_state,   vliner,   ROT0, "Dyna / BrezzaSoft", "V-Liner (set 2)", GAME_SUPPORTS_SAVE )
10327
10328/* Kyle Hodgetts */
10329GAME( 2000, diggerma,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Kyle Hodgetts", "Digger Man (prototype)", GAME_SUPPORTS_SAVE )
10330
10331/* Vektorlogic */
10332GAME( 2004, sbp,        neogeo,   neogeo,   neogeo, neogeo_state,   sbp,      ROT0, "Vektorlogic", "Super Bubble Pop", GAME_NOT_WORKING )
10333
10334/* NG:DEV.TEAM */
10335// Last Hope (c)2006 - AES / NEOCD (has no MVS mode)
10336// Last Hope Pink Bullets (c)2008 - MVS / AES
10337// Fast Striker (c)2010 - MVS/AES
10338// Fast Striker 1.5 (c)2010 - MVS/AES
10339// GunLord (c)2012 - MVS/AES
trunk/src/mame/drivers/galaxian.c
r23775r23776
35993599}
36003600
36013601
3602#include "galdrvr.c"
3602#include "galaxian.inc"
trunk/src/mame/drivers/neogeo.c
r23775r23776
14031403}
14041404
14051405
1406#include "neodrvr.c"
1406#include "neogeo.inc"
trunk/src/mame/drivers/neogeo.inc
r0r23776
1/****************************************************************************
2
3    neodrvr.c
4
5    Neo-Geo hardware
6    This file contains all game specific overrides
7
8****************************************************************************/
9
10
11/****************************************************************************
12
13    Title catalog
14    (source: http://neogeomuseum.snkplaymore.co.jp/english/catalogue/index.php)
15
16*****************************************************************************
17
18
19    In 2010, SNK Playmore, the successor of SNK, released a title catalogue which lists the released
20    games (MVS/AES/CD) including their release dates in Japan. It is not 100% complete.
21    The included title catalogue is the english one.
22
23    Game Title                                                  Genre           Publisher       Date Released (in Japan)
24    =================================================================================================================================
25    NAM-1975                                                    3D Action       SNK             MVS Cartridge:1990/04/26
26                                                                                                NEOGEO ROM-cart:1991/07/01
27                                                                                                NEOGEO CD:1994/09/09
28    MAHJONG KYORETSUDEN                                         Mahjong         SNK             MVS Cartridge:1990/04/26
29                                                                                                NEOGEO ROM-cart:1991/07/01
30                                                                                                NEOGEO CD:1994/09/09
31    MAGICIAN LORD                                               Action          ADK             MVS Cartridge:1990/04/26
32                                                                                                NEOGEO ROM-cart:1991/07/01
33                                                                                                NEOGEO CD:1994/10/31
34    BASEBALL STARS PROFESSIONAL                                 Sports          SNK             MVS Cartridge:1990/04/26
35                                                                                                NEOGEO ROM-cart:1991/07/01
36                                                                                                NEOGEO CD:1995/04/21
37    TOP PLAYER'S GOLF                                           Sports          SNK             MVS Cartridge:1990/05/23
38                                                                                                NEOGEO ROM-cart:1991/07/01
39                                                                                                NEOGEO CD:1994/09/09
40    NINJA COMBAT                                                Action          ADK             MVS Cartridge:1990/07/24
41                                                                                                NEOGEO ROM-cart:1991/07/01
42                                                                                                NEOGEO CD:1994/10/31
43    RIDING HERO                                                 3D Racing       SNK             MVS Cartridge:1990/07/24
44                                                                                                NEOGEO ROM-cart:1991/07/01
45                                                                                                NEOGEO CD:1995/05/26
46    THE SUPER SPY                                               3D Action       SNK             MVS Cartridge:1990/10/08
47                                                                                                NEOGEO ROM-cart:1991/07/01
48                                                                                                NEOGEO CD:1994/09/09
49    CYBER-LIP                                                   Action          SNK             MVS Cartridge:1990/11/07
50                                                                                                NEOGEO ROM-cart:1991/07/01
51                                                                                                NEOGEO CD:1995/04/21
52    PUZZLED                                                     Puzzle          SNK             MVS Cartridge:1990/11/20
53                                                                                                NEOGEO ROM-cart:1991/07/01
54                                                                                                NEOGEO CD:1994/09/09
55    LEAGUE BOWLING                                              Sports          SNK             MVS Cartridge:1990/12/10
56                                                                                                NEOGEO ROM-cart:1991/07/01
57                                                                                                NEOGEO CD:1994/09/09
58    GHOST PILOTS                                                Shooter         SNK             MVS Cartridge:1991/01/25
59                                                                                                NEOGEO ROM-cart:1991/07/01
60                                                                                                NEOGEO CD:1995/03/17
61    SENGOKU                                                     Action          SNK             MVS Cartridge:1991/02/12
62                                                                                                NEOGEO ROM-cart:1991/07/01
63                                                                                                NEOGEO CD:1995/03/17
64    KING OF THE MONSTERS                                        Fighting        SNK             MVS Cartridge:1991/02/25
65                                                                                                NEOGEO ROM-cart:1991/07/01
66    BLUE'S JOURNEY                                              Action          ADK             MVS Cartridge:1991/03/14
67                                                                                                NEOGEO ROM-cart:1991/07/01
68                                                                                                NEOGEO CD:1994/10/31
69    ALPHA MISSION II                                            Shooter         SNK             MVS Cartridge:1991/03/25
70                                                                                                NEOGEO ROM-cart:1991/07/01
71                                                                                                NEOGEO CD:1994/09/09
72    BURNING FIGHT                                               Action          SNK             MVS Cartridge:1991/05/20
73                                                                                                NEOGEO ROM-cart:1991/08/09
74                                                                                                NEOGEO CD:1994/09/09
75    MINNASAN NO OKAGESAMA DESU                                  Table           Monolith        MVS Cartridge:1991/07/25
76                                                                                                NEOGEO ROM-cart:1991/07/21
77    CROSSED SWORDS                                              Action          ADK             MVS Cartridge:1991/07/25
78                                                                                                NEOGEO ROM-cart:1991/10/01
79                                                                                                NEOGEO CD:1994/10/31
80    LEGEND OF SUCCESS JOE                                       Action          Wave            MVS Cartridge:1991/07
81                                                                                                NEOGEO ROM-cart:1991/08/30
82    QUIZ DAISUSA SEN: THE LAST COUNT DOWN                       Quiz            SNK             MVS Cartridge:1991/07
83                                                                                                NEOGEO ROM-cart:1991/08/30
84    SUPER BASEBALL 2020                                         Sports          SNK             MVS Cartridge:1991/09/20
85                                                                                                NEOGEO ROM-cart:1991/10/25
86                                                                                                NEOGEO CD:1995/02/25
87    ROBO ARMY                                                   Action          SNK             MVS Cartridge:1991/10/30
88                                                                                                NEOGEO ROM-cart:1991/12/20
89                                                                                                NEOGEO CD:1995/04/21
90    THRASH RALLY                                                Racing          ADK             MVS Cartridge:1991/11/08
91                                                                                                NEOGEO ROM-cart:1991/12/20
92                                                                                                NEOGEO CD:1994/10/31
93    EIGHT MAN                                                   Action          SNK             NEOGEO ROM-cart:1991/11/20
94    FATAL FURY                                                  Fighting        SNK             MVS Cartridge:1991/11/25
95                                                                                                NEOGEO ROM-cart:1991/12/20
96                                                                                                NEOGEO CD:1994/09/09
97    BAKATONO-SAMA MAHJONG MAN'YUKI                              Mahjong         Monolith        MVS Cartridge:1991/11
98                                                                                                NEOGEO ROM-cart:1991/12/13
99    THRASH RALLY                                                Racing          ADK             NEOGEO ROM-cart:1991/12/20
100    FOOTBALL FRENZY                                             Sports          SNK             MVS Cartridge:1992/01/31
101                                                                                                NEOGEO ROM-cart:1992/02/21
102                                                                                                NEOGEO CD:1994/09/09
103    SOCCER BRAWL                                                Sports          SNK             MVS Cartridge:1992/02/14
104                                                                                                NEOGEO ROM-cart:1992/03/13
105                                                                                                NEOGEO CD:1995/03/31
106    MUTATION NATION                                             Action          SNK             MVS Cartridge:1992/03/16
107                                                                                                NEOGEO ROM-cart:1992/04/17
108                                                                                                NEOGEO CD:1995/02/25
109    LAST RESORT                                                 Shooter         SNK             MVS Cartridge:1992/03/23
110                                                                                                NEOGEO ROM-cart:1992/04/24
111                                                                                                NEOGEO CD:1994/09/09
112    QUIZ MEITANTEI NEO & GEO: QUIZ DAISOUSASEN PART 2           Quiz            SNK             MVS Cartridge:1992/03
113                                                                                                NEOGEO ROM-cart:1991/04/24
114    BASEBALL STARS 2                                            Sports          SNK             MVS Cartridge:1992/04/15
115                                                                                                NEOGEO ROM-cart:1992/04/28
116                                                                                                NEOGEO CD:1994/09/09
117    NINJA COMMANDO                                              Shooter         ADK             MVS Cartridge:1992/04/30
118                                                                                                NEOGEO ROM-cart:1992/05/29
119                                                                                                NEOGEO CD:1994/10/31
120    KING OF THE MONSTERS 2                                      Fighting        SNK             MVS Cartridge:1992/05/25
121                                                                                                NEOGEO ROM-cart:1992/06/19
122                                                                                                NEOGEO CD:1994/09/09
123    ANDRO DUNOS                                                 Shooter         Visco           MVS Cartridge:1992/06/15
124                                                                                                NEOGEO ROM-cart:1992/07/17
125    WORLD HEROES                                                Fighting        ADK             MVS Cartridge:1992/07/28
126                                                                                                NEOGEO ROM-cart:1992/09/11
127                                                                                                NEOGEO CD:1995/03/17
128    ART OF FIGHTING                                             Fighting        SNK             MVS Cartridge:1992/09/24
129                                                                                                NEOGEO ROM-cart:1992/12/11
130                                                                                                NEOGEO CD:1994/09/09
131    VIEWPOINT                                                   Shooter         Sammy           MVS Cartridge:1992/11/20
132                                                                                                NEOGEO ROM-cart:1992/12/11
133                                                                                                NEOGEO CD:1995/02/25
134    FATAL FURY 2                                                Fighting        SNK             MVS Cartridge:1992/12/10
135                                                                                                NEOGEO ROM-cart:1993/03/05
136                                                                                                NEOGEO CD:1994/09/09
137    SUPER SIDEKICKS                                             Sports          SNK             MVS Cartridge:1992/12/14
138                                                                                                NEOGEO ROM-cart:1993/02/19
139                                                                                                NEOGEO CD:1995/03/31
140    SENGOKU 2                                                   Action          SNK             MVS Cartridge:1993/02/18
141                                                                                                NEOGEO ROM-cart:1993/04/09
142                                                                                                NEOGEO CD:1995/03/17
143    3 COUNT BOUT                                                Fighting        SNK             MVS Cartridge:1993/03/25
144                                                                                                NEOGEO ROM-cart:1993/04/23
145                                                                                                NEOGEO CD:1995/04/21
146    WORLD HEROES 2                                              Fighting        ADK             MVS Cartridge:1993/04/26
147                                                                                                NEOGEO ROM-cart:1993/06/04
148                                                                                                NEOGEO CD:1995/04/14
149    SAMURAI SHODOWN                                             Fighting        SNK             MVS Cartridge:1993/07/07
150                                                                                                NEOGEO ROM-cart:1993/08/11
151                                                                                                NEOGEO CD:1994/09/09
152    FATAL FURY SPECIAL                                          Fighting        SNK             MVS Cartridge:1993/09/16
153                                                                                                NEOGEO ROM-cart:1993/12/22
154                                                                                                NEOGEO CD:1994/09/09
155    SPINMASTER                                                  Sideview Action Data East       MVS Cartridge:1993/12/16
156                                                                                                NEOGEO ROM-cart:1994/02/18
157    ART OF FIGHTING 2                                           Fighting        SNK             MVS Cartridge:1994/02/03
158                                                                                                NEOGEO ROM-cart:1994/03/11
159                                                                                                NEOGEO CD:1994/09/09
160    WINDJAMMERS                                                 Sports          Data East       MVS Cartridge:1994/02/17
161                                                                                                NEOGEO ROM-cart:1994/04/08
162                                                                                                NEOGEO CD:1995/01/20
163    KARNOV'S REVENGE                                            Fighting        Data East       MVS Cartridge:1994/03/17
164                                                                                                NEOGEO ROM-cart:1994/04/28
165                                                                                                NEOGEO CD:1994/12/22
166    SUPER SIDEKICKS 2                                           Sports          SNK             MVS Cartridge:1994/04/19
167                                                                                                NEOGEO ROM-cart:1994/05/27
168                                                                                                NEOGEO CD:1994/09/09
169    WORLD HEROES 2 JET                                          Fighting        ADK             MVS Cartridge:1994/04/26
170                                                                                                NEOGEO ROM-cart:1994/06/10
171                                                                                                NEOGEO CD:1994/11/11
172    TOP HUNTER                                                  Action          SNK             MVS Cartridge:1994/05/18
173                                                                                                NEOGEO ROM-cart:1994/06/24
174                                                                                                NEOGEO CD:1994/09/29
175    GURURIN                                                     Puzzle          Face            MVS Cartridge:1994/05/25
176    FIGHT FEVER                                                 Fighting        VICCOM          MVS Cartridge:1994/06/28
177    JANSHIN DENSETSU: QUEST OF JONGMASTER                       Mahjong         Aicom           MVS Cartridge:1994/06/29
178                                                                                                NEOGEO CD:1995/03/31
179    AERO FIGHTERS 2                                             Topview Shooter Video System    MVS Cartridge:1994/07/18
180                                                                                                NEOGEO ROM-cart:1994/08/26
181                                                                                                NEOGEO CD:1994/09/29
182    AGGRESSORS OF DARK KOMBAT                                   Fighting        ADK             MVS Cartridge:1994/07/26
183                                                                                                NEOGEO ROM-cart:1994/08/26
184                                                                                                NEOGEO CD:1995/01/13
185    THE KING OF FIGHTERS '94                                    Fighting        SNK             MVS Cartridge:1994/08/25
186                                                                                                NEOGEO ROM-cart:1994/10/01
187                                                                                                NEOGEO CD:1994/11/02
188    ZED BLADE                                                   Shooter         NMK             MVS Cartridge:1994/09/13
189    POWER SPIKES II                                             Sports          Video System    MVS Cartridge:1994/10/19
190                                                                                                NEOGEO CD:1995/03/18
191    SAMURAI SHODOWN II                                          Fighting        SNK             MVS Cartridge:1994/10/28
192                                                                                                NEOGEO ROM-cart:1994/12/02
193                                                                                                NEOGEO CD:1994/12/15
194    STREET HOOP                                                 Sports          Data East       MVS Cartridge:1994/12/08
195                                                                                                NEOGEO ROM-cart:1994/12/09
196                                                                                                NEOGEO CD:1995/01/20
197    PUZZLE BOBBLE                                               Puzzle          TAITO           MVS Cartridge:1994/12/21
198                                                                                                NEOGEO CD:1995/05/02
199    SUPER VOLLEY '94                                            Sports          TAITO           MVS Cartridge:1994
200    BOMBERMAN: PANIC BOMBER                                     Puzzle          Eighting        MVS Cartridge:1995/01/18
201    GALAXY FIGHT: UNIVERSAL WARRIORS                            Fighting        Sunsoft         MVS Cartridge:1995/01/24
202                                                                                                NEOGEO ROM-cart:1995/02/25
203                                                                                                NEOGEO CD:1995/04/21
204    QUIZ KING OF FIGHTERS                                       Quiz            Saurus          MVS Cartridge:1995/02/01
205                                                                                                NEOGEO ROM-cart:1995/03/10
206                                                                                                NEOGEO CD:1995/04/07
207    DOUBLE DRAGON                                               Fighting        Technos         MVS Cartridge:1995/03/03
208                                                                                                NEOGEO ROM-cart:1995/03/31
209                                                                                                NEOGEO CD:1995/06/02
210    SUPER SIDEKICKS 3                                           Sports          SNK             MVS Cartridge:1995/03/07
211                                                                                                NEOGEO ROM-cart:1995/04/07
212                                                                                                NEOGEO CD:1995/06/23
213    FATAL FURY 3                                                Fighting        SNK             MVS Cartridge:1995/03/27
214                                                                                                NEOGEO ROM-cart:1995/04/21
215                                                                                                NEOGEO CD:1995/04/28
216    SAVAGE REIGN                                                Fighting        SNK             MVS Cartridge:1995/04/25
217                                                                                                NEOGEO ROM-cart:1995/03/10
218                                                                                                NEOGEO CD:1995/06/16
219    CROSSED SWORDS II                                           Action          ADK             NEOGEO CD:1995/05/02
220    WORLD HEROES PERFECT                                        Fighting        ADK             MVS Cartridge:1995/05/25
221                                                                                                NEOGEO ROM-cart:1995/06/30
222                                                                                                NEOGEO CD:1995/07/21
223    FAR EAST OF EDEN: KABUKI KLASH                              Fighting        Hudson Soft     MVS Cartridge:1995/06/20
224                                                                                                NEOGEO ROM-cart:1995/07/28
225                                                                                                NEOGEO CD:1995/11/24
226    THE KING OF FIGHTERS '95                                    Fighting        SNK             MVS Cartridge:1995/07/25
227                                                                                                NEOGEO ROM-cart:1995/09/01
228                                                                                                NEOGEO CD:1995/09/29
229    IDOL MAHJONG FINAL ROMANCE 2                                Mahjong         Video System    NEOGEO CD:1995/08/25
230    PULSTAR                                                     Sidevi. Shooter Aicom           MVS Cartridge:1995/08/28
231                                                                                                NEOGEO ROM-cart:1995/09/29
232                                                                                                NEOGEO CD:1995/10/27
233    VOLTAGE FIGHTER GOWCAIZER                                   Fighting        Technos         MVS Cartridge:1995/09/18
234                                                                                                NEOGEO ROM-cart:1995/10/20
235                                                                                                NEOGEO CD:1995/11/24
236    STAKES WINNER                                               Action          Saurus          MVS Cartridge:1995/09/27
237                                                                                                NEOGEO ROM-cart:1995/10/27
238                                                                                                NEOGEO CD:1996/03/22
239    SHOGI NO TATSUJIN - MASTER OF SYOUGI                        Japanese chess  ADK             MVS Cartridge:1995/09/28
240                                                                                                NEOGEO ROM-cart:1995/10/13
241                                                                                                NEOGEO CD:1995/10/20
242    AERO FIGHTERS 3                                             Topview Action  Video System    MVS Cartridge:1995/10/12
243                                                                                                NEOGEO ROM-cart:1995/11/17
244                                                                                                NEOGEO CD:1995/12/08
245    ADK WORLD                                                   Variety         ADK             NEOGEO CD:1995/11/10
246    SAMURAI SHODOWN III                                         Fighting        SNK             MVS Cartridge:1995/11/15
247                                                                                                NEOGEO ROM-cart:1995/12/01
248                                                                                                NEOGEO CD:1995/12/29
249    CHIBI MARUKO-CHAN DELUXE QUIZ                               Variety         Takara          MVS Cartridge:1995/11/27
250                                                                                                NEOGEO ROM-cart:1996/01/26
251    PUZZLE DE PON!                                              Puzzle          Visco           MVS Cartridge:1995/11/28
252    REAL BOUT FATAL FURY                                        Fighting        SNK             MVS Cartridge:1995/12/21
253                                                                                                NEOGEO ROM-cart:1996/01/26
254                                                                                                NEOGEO CD:1996/02/23
255    NEO-GEO CD SPECIAL                                          Variety         SNK             NEOGEO CD:1995/12/22
256    NEO TURF MASTERS                                            Sports          Nazca           MVS Cartridge:1996/01/29
257                                                                                                NEOGEO ROM-cart:1996/03/01
258                                                                                                NEOGEO CD:1996/05/03
259    ART OF FIGHTING 3                                           Fighting        SNK             MVS Cartridge:1996/03/12
260                                                                                                NEOGEO ROM-cart:1996/04/26
261                                                                                                NEOGEO CD:1996/06/14
262    MAGICAL DROP II                                             Puzzle          Data East       MVS Cartridge:1996/03/21
263                                                                                                NEOGEO ROM-cart:1996/04/19
264                                                                                                NEOGEO CD:1996/05/24
265    OSHIDASHI JIN TRICK                                         Puzzle          ADK             NEOGEO CD:1996/03/22
266    NEO DRIFT OUT                                               Racing          Visco           MVS Cartridge:1996/03/28
267                                                                                                NEOGEO CD:1996/07/26
268    METAL SLUG                                                  Action          Nazca           MVS Cartridge:1996/04/19
269                                                                                                NEOGEO ROM-cart:1996/05/24
270                                                                                                NEOGEO CD:1996/07/05
271    OVER TOP                                                    Racing          ADK             MVS Cartridge:1996/04/26
272                                                                                                NEOGEO ROM-cart:1996/06/07
273                                                                                                NEOGEO CD:1996/07/26
274    NINJA MASTER'S                                              Fighting        ADK             MVS Cartridge:1996/05/27
275                                                                                                NEOGEO ROM-cart:1996/06/28
276                                                                                                NEOGEO CD:1996/09/27
277    RAGNAGARD                                                   Fighting        Saurus          MVS Cartridge:1996/06/13
278                                                                                                NEOGEO ROM-cart:1996/07/26
279                                                                                                NEOGEO CD:1996/08/23
280    FUTSAL                                                      Sports          Saurus          NEOGEO CD:1996/07/19
281    THE KING OF FIGHTERS '96                                    Fighting        SNK             MVS Cartridge:1996/07/30
282                                                                                                NEOGEO ROM-cart:1996/09/27
283                                                                                                NEOGEO CD:1996/10/25
284    KIZUNA ENCOUNTER SUPER TAG BATTLE                           Fighting        SNK             MVS Cartridge:1996/09/20
285                                                                                                NEOGEO ROM-cart:1996/11/08
286    CHOUTETSU BURIKINGA                                         Shooter         Saurus          NEOGEO CD:1996/09/20
287    STAKES WINNER 2                                             Real Jockey Act Saurus          MVS Cartridge:1996/09/24
288                                                                                                NEOGEO ROM-cart:1996/12/13
289    THE ULTIMATE 11                                             Sports          SNK             MVS Cartridge:1996/10/16
290                                                                                                NEOGEO ROM-cart:1996/12/20
291    SAMURAI SHODOWN IV                                          Fighting        SNK             MVS Cartridge:1996/10/25
292                                                                                                NEOGEO ROM-cart:1996/11/29
293                                                                                                NEOGEO CD:1996/12/27
294    WAKU WAKU 7                                                 Fighting        Sunsoft         MVS Cartridge:1996/11/21
295                                                                                                NEOGEO ROM-cart:1996/12/27
296    TWINKLE STAR SPRITES                                        Shooter         ADK             MVS Cartridge:1996/11/25
297                                                                                                NEOGEO ROM-cart:1997/01/31
298                                                                                                NEOGEO CD:1997/02/21
299    BREAKERS                                                    Fighting        Visco           MVS Cartridge:1996/12/17
300                                                                                                NEOGEO ROM-cart:1997/03/21
301                                                                                                NEOGEO CD:1997/04/25
302    MONEY IDOL EXCHANGER                                        Puzzle          Face            MVS Cartridge:1997/01/15
303    Real Bout FATAL FURY SPECIAL                                Fighting        SNK             MVS Cartridge:1997/01/28
304                                                                                                NEOGEO ROM-cart:1997/02/28
305                                                                                                NEOGEO CD:1997/03/03
306    THE KING OF FIGHTERS '96 NEOGEO COLLECTION                  Variety         SNK             NEOGEO CD:1997/02/14
307    MAGICAL DROP III                                            Puzzle          Data East       MVS Cartridge:1997/02/25
308                                                                                                NEOGEO ROM-cart:1997/04/25
309    NEO BOMBERMAN                                               Action          Hudson Soft     MVS Cartridge:1997/05/01
310    NEO MR.DO!                                                  Action          Visco           MVS Cartridge:1997/06/26
311    SHINSETSU SAMURAI SHODOWN BUSHIDO RETSUDEN                  Role-playing    SNK             NEOGEO CD:1997/06/27
312    THE KING OF FIGHTERS '97                                    Fighting        SNK             MVS Cartridge:1997/07/28
313                                                                                                NEOGEO ROM-cart:1997/09/25
314                                                                                                NEOGEO CD:1997/10/30
315    UCCHAN NANCHAN NO HONO NO CHALLENGER ULTRA DENRYU IRAIRABOU Action          Saurus          MVS Cartridge:1997/08/25
316    SHOCK TROOPERS                                              Shooter         Saurus          MVS Cartridge:1997/11/11
317    THE LAST BLADE                                              Fighting        SNK             MVS Cartridge:1997/12/05
318                                                                                                NEOGEO ROM-cart:1998/01/29
319                                                                                                NEOGEO CD:1998/03/26
320    BLAZING STAR                                                Shooter         Yumekobo        MVS Cartridge:1998/01/19
321                                                                                                NEOGEO ROM-cart:1998/02/26
322    METAL SLUG 2                                                Action          SNK             MVS Cartridge:1998/02/23
323                                                                                                NEOGEO ROM-cart:1998/04/02
324                                                                                                NEOGEO CD:1998/06/25
325    REAL BOUT FATAL FURY 2                                      Fighting        SNK             MVS Cartridge:1998/03/20
326                                                                                                NEOGEO ROM-cart:1998/04/29
327                                                                                                NEOGEO CD:1998/07/23
328    NEOGEO CUP '98                                              Sports          SNK             MVS Cartridge:1998/05/28
329                                                                                                NEOGEO ROM-cart:1998/07/30
330    BREAKERS REVENGE                                            Fighting        Visco           MVS Cartridge:1998/07/03
331                                                                                                NEOGEO ROM-cart:
332    THE KING OF FIGHTERS '98                                    Fighting        SNK             MVS Cartridge:1998/07/23
333                                                                                                NEOGEO ROM-cart:1998/09/23
334                                                                                                NEOGEO CD:1998/12/23
335    SHOCK TROOPERS 2nd Squad                                    Action Shooter  Saurus          MVS Cartridge:1998/11/06
336                                                                                                NEOGEO ROM-cart:1999/06/24
337    THE LAST BLADE 2                                            Fighting        SNK             MVS Cartridge:1998/11/25
338                                                                                                NEOGEO ROM-cart:1999/01/28
339                                                                                                NEOGEO CD:1999/02/27
340    FLIP SHOT                                                   Action          Visco           MVS Cartridge:1998/12/08
341    METAL SLUG X                                                Action          SNK             MVS Cartridge:1999/03/19
342                                                                                                NEOGEO ROM-cart:1999/05/27
343    CAPTAIN TOMADAY                                             Shooter         Visco           MVS Cartridge:1999/05/27
344    THE KING OF FIGHTERS '99                                    Fighting        SNK             MVS Cartridge:1999/07/22
345                                                                                                NEOGEO ROM-cart:1999/09/23
346                                                                                                NEOGEO CD:1999/12/02
347    PREHISTORIC ISLE 2                                          Shooter         Yumekobo        MVS Cartridge:1999/09/27
348    GAROU: MARK OF THE WOLVES                                   Fighting        SNK             MVS Cartridge:1999/11/26
349                                                                                                NEOGEO ROM-cart:2000/02/25
350    STRIKERS 1945 PLUS                                          Shooter         Psikyo          MVS Cartridge:1999/12/24
351    METAL SLUG 3                                                Action Shooter  SNK             MVS Cartridge:2000/03/23
352                                                                                                NEOGEO ROM-cart:2000/06/01
353    THE KING OF FIGHTERS 2000                                   Fighting        SNK             MVS Cartridge:2000/07/26
354                                                                                                NEOGEO ROM-cart:2000/12/21
355    NIGHTMARE IN THE DARK                                       Horror Action   Gavaking        MVS Cartridge:2001
356    ZUPAPA!                                                     Comical Action  Video System    MVS Cartridge:2001
357    SENGOKU 3                                                   Action          SNK PLAYMORE    MVS Cartridge:2001/07/18
358                                                                                                NEOGEO ROM-cart:2001/10/25
359    THE KING OF FIGHTERS 2001                                   Fighting        SNK PLAYMORE    MVS Cartridge:2001/11/15
360                                                                                                NEOGEO ROM-cart:2002/03/14
361    METAL SLUG 4                                                Action Shooter  SNK PLAYMORE    MVS Cartridge:2002/03/27
362                                                                                                NEOGEO ROM-cart:2002/06/13
363    RAGE OF THE DRAGONS                                         Fighting        Evoga           MVS Cartridge:2002/06/06
364                                                                                                NEOGEO ROM-cart:2002/09/26
365    THE KING OF FIGHTERS 2002                                   Fighting        SNK PLAYMORE    MVS Cartridge:2002/10/10
366                                                                                                NEOGEO ROM-cart:2002/12/19
367    POWER INSTINCT MATRIMELEE                                   Fighting        ATLUS/NOISE FA. MVS Cartridge:2003/03/20
368                                                                                                NEOGEO ROM-cart:2003/05/29
369    SNK VS. CAPCOM: SVC CHAOS                                   Fighting        SNK PLAYMORE    MV-0:2003/07/24
370                                                                                                NEOGEO ROM-cart:2003/11/13
371    SAMURAI SHODOWN V                                           Fighting        SNK P/Yuki Ent  MVS Cartridge:2003/10/10
372                                                                                                NEOGEO ROM-cart:2003/12/11
373    METAL SLUG 5                                                Action Shooter  SNK PLAYMORE    MV-0:2003/11/14
374                                                                                                NEOGEO ROM-cart:2004/02/19
375    THE KING OF FIGHTERS 2003                                   Fighting        SNK PLAYMORE    MV-0:2003/12/12
376                                                                                                NEOGEO ROM-cart:2004/03/18
377    POCHI & NYAA                                                Puzzle          Aiky            MVS Cartridge:2003/12/24
378    SAMURAI SHODOWN V SPECIAL                                   Fighting        SNK P/Yuki Ent  MVS Cartridge:2004/04/22
379                                                                                                NEOGEO ROM-cart:2004/07/15
380
381
382*****************************************************************************
383
384    Neo-Geo game PCB infos
385
386*****************************************************************************
387
388
389    The Neo-Geo games for AES (home) and MVS (arcade) systems are cartridge based.
390
391    Each cartridge consists of two PCBs: CHA and PROG.
392    .CHA PCB contains gfx data ('C' - rom), text layer data ('S' - rom) and sound driver ('M' - rom).
393    .PROG PCB contains sample data ('V' - rom) and program code ('P' - rom).
394
395    On most PCBs various custom/protection chips can also be found:
396    (Custom chip detail information (modified) from: http://wiki.neogeodev.org)
397
398    CHA:
399    . NEO-273  (C and S-ROM address latch)
400    . NEO-CMC 90G06CF7042 (NEO-273 logic / NEO-ZMC logic / C-ROM decryption / C and S-ROM multiplexer / S-ROM bankswitching)
401    . NEO-CMC 90G06CF7050 (NEO-273 logic / NEO-ZMC logic / C-ROM decryption / M-ROM decryption / C and S-ROM multiplexer / S-ROM bankswitching)
402    . NEO-ZMC  (Z80 memory controller)
403    . NEO-ZMC2 (Z80 memory controller / Tile serializer)
404    . PRO-CT0  (C-ROM serializer and multiplexer?; used on early AES-CHA boards)
405    . SNK-9201 (C-ROM serializer and multiplexer?; used on early AES-CHA boards)
406
407    PROG:
408    . 0103 (QFP144) (Only found on Metal Slug X NEO-MVS PROGEOP board; function unknown)
409    . ALTERA   (EPM7128SQC100-15) (P-ROM protection chip used for KOF98 NEO-MVS PROGSF1 board and Metal Slug X NEO-MVS PROGEOP board)
410    . NEO-COMA (Microcontroller; used for MULTI PLAY MODE, boards and sets see below)
411    . NEO-PCM2 (SNK 1999) (PCM functionality / V-ROM decryption / P-ROM decoding and bankswitching)
412    . NEO-PCM2 (PLAYMORE 2002) (PCM functionality / V-ROM decryption / P-ROM decoding and bankswitching)
413    . NEO-PVC  (P-ROM decryption and bankswitching) / RAM
414    . NEO-SMA  (P-ROM decryption and bankswitching / RNG / Storage of 256kb game data)
415    . PCM      (ADPCM bus latches / V-ROM multiplexer)
416    . PRO-CT0  (On PROG board used for P-ROM protection -> Fatal Fury 2)
417    . SNK-9201 (On PROG board used for P-ROM protection -> Fatal Fury 2)
418
419
420    Known PCBs:
421    ============
422
423    MVS CHA:
424    -- SNK --
425    . NEO-MVS CHA-32
426    . NEO-MVS CHA-8M
427    . NEO-MVS CHA42G
428    . NEO-MVS CHA42G-1
429    . NEO-MVS CHA 42G-2
430    . NEO-MVS CHA 42G-3
431    . NEO-MVS CHA42G-3B
432    . NEO-MVS CHA256
433    . NEO-MVS CHA256B
434    . NEO-MVS CHA512Y
435    . NEO-MVS CHAFIO (1999.6.14) - used with NEO-CMC 90G06C7042 or NEO-CMC 90G06C7050
436    . MVS CHAFIO REV1.0 (KOF-2001)
437    . NEO-MVS CHAFIO (SNK 2002) - MADE IN KOREA
438    -- SNKPLAYMORE --
439    . NEO-MVS CHAFIO (2003.7.24) - used only with NEO-CMC 90G06C7050
440
441    -- SNK development boards --
442    . NEO-MVS CHAMC2
443
444    MVS PROG:
445    -- SNK --
446    . NEO-MVS PROG-NAM
447    . NEO-MVS PROG-HERO
448    . NEO-MVS PROG-EP
449    . NEO-MVS PROG-8MB
450    . NEO-MVS PROGEP8M
451    . NEO-MVS PROG8M42
452    . NEO-MVS PROG16
453    . NEO-MVS PROG42G
454    . NEO-MVS PROG42G-COM
455    . NEO-MVS PROG42G-1
456    . NEO-MVS PROG-G2
457    . NEO-MVS PROG 4096
458    . NEO-MVS PROG 4096 B
459    . NEO-MVS PROGGSC
460    . NEO-MVS PROGSM
461    . NEO-MVS PROGSS3
462    . NEO-MVS PROGTOP
463    . NEO-MVS PROGSF1 (1998.6.17)
464    . NEO-MVS PROGEOP (1999.2.2)
465    . NEO-MVS PROGLBA (1999.4.12) - LBA-SUB (2000.2.24)
466    . NEO-MVS PROGBK1 (1994)
467    . NEO-MVS PROGBK1 (2001)
468    . NEO-MVS PROGBK2 (2000.3.21) - used with NEO-PCM2 (1999 SNK) or NEO-PCM2 (2002 PLAYMORE)
469    . MVS PROGBK2 REV1.0 (KOF-2001)
470    . NEO-MVS PROGBK2 (SNK 2002) - MADE IN KOREA
471    -- SNKPLAYMORE --
472    . NEO-MVS PROGBK2R (2003.8.26) - NEO-HYCS (2003.9.29)
473    . NEO-MVS PROGBK3R (2003.9.2) - NEO-HYCS (2003.9.29)
474    . NEO-MVS PROGBK3S (2003.10.1)
475    . NEO-MVS PROGBK2S (2003.10.18)
476
477    -- SNK development boards --
478    . NEO-MVS PROGMC2
479
480
481    AES CHA:
482    -- SNK --
483    . NEO-AEG CHA-32
484    . NEO-AEG CHA-8M
485    . NEO-AEG CHA42G
486    . NEO-AEG CHA42G-1
487    . NEO-AEG CHA42G-2B
488    . NEO-AEG CHA42G-3
489    . NEO-AEG CHA42G-4
490    . NEO-AEG CHA256
491    . NEO-AEG CHA256[B]
492    . NEO-AEG CHA256RY
493    . NEO-AEG CHA512Y
494    . NEO-AEG CHAFIO (1999.8.10) - used with NEO-CMC 90G06C7042 or NEO-CMC 90G06C7050
495    -- SNKPLAYMORE --
496    . NEO-AEG CHAFIO (2003.7.24) - used only with NEO-CMC 90G06C7050
497
498    AES PROG:
499    -- SNK --
500    . NEO-AEG PROG-NAM
501    . NEO-AEG PROG-HERO
502    . NEO-AEG PROG-4A
503    . NEO-AEG PROG-4B
504    . NEO-AEG PROG 8M42
505    . NEO-AEG PROG B
506    . NEO-AEG PROG16
507    . NEO-AEG PROG42G
508    . NEO-AEG PROG42G-COM
509    . NEO-AEG PROG42G-1
510    . NEO-AEG PROG-G2
511    . NEO-AEG PROG4096 B
512    . NEO-AEG PROGGS
513    . NEO-AEG PROGTOP2
514    . NEO-AEG PROGEOP (1999.4.2)
515    . NEO-AEG PROGLBA (1999.7.6)
516    . NEO-AEG PROGRK
517    . NEO-AEG PROGRKB
518    . NEO-AEG PROGBK1Y
519    . NEO-AEG PROGBK1F
520    -- PLAYMORE --
521    . NEO-AEG PROGBK2 (2002.4.1) - used with NEO-PCM2 (1999 SNK) or NEO-PCM2 (2002 PLAYMORE)
522    -- SNKPLAYMORE --
523    . NEO-AEG PROGBK3R (2003.8.29) - NEO-HYCS (2003.9.29)
524    . NEO-AEG PROGBK3S (2003.10.6)
525    . NEO-AEG PROGBK2S (2003.10.16)
526
527
528    Cartridge colours:
529    ==================
530
531    MVS cartridges were produced in different colours.
532
533    Known cartridge colours:
534    . Black
535    . Blue
536    . Green
537    . Grey
538    . Red
539    . Transparent
540    . Transparent Blue
541    . Transparent Green
542    . White
543    . Yellow
544
545    The above listed only covers SNK / PLAYMORE / SNKPLAYMORE PCBs. There also exists a
546    wide range of 'bootleg' PCBs.
547
548
549    Unofficial pcb's from NG:DEV.TEAM:
550
551    MVS CHA:
552    GIGA CHAR Board 1.0
553    GIGA CHAR Board 1.5
554
555    MVS PROG:
556    GIGA PROG Board 1.0
557    GIGA PROG Board 1.5
558
559
560    Neo-Geo game PCB infos by Johnboy
561
562
563*****************************************************************************
564
565    MVS cart pinout
566
567*****************************************************************************
568
569
570    Kindly submitted by Apollo69 (apollo69@columbus.rr.com)
571    =================================================================
572                CTRG1                            CTRG2
573    =================================================================
574         GND = 01A | 01B = GND            GND = 01A | 01B = GND
575         GND = 02A | 02B = GND            GND = 02A | 02B = GND
576          P0 = 03A | 03B = P1             GND = 03A | 03B = GND
577          P2 = 04A | 04B = P3             GND = 04A | 04B = GND
578          P4 = 05A | 05B = P5              D0 = 05A | 05B = A1
579          P6 = 06A | 06B = P7              D1 = 06A | 06B = A2
580          P8 = 07A | 07B = P9              D2 = 07A | 07B = A3
581         P10 = 08A | 08B = P11             D3 = 08A | 08B = A4
582         P12 = 09A | 09B = P13             D4 = 09A | 09B = A5
583         P14 = 10A | 10B = P15             D5 = 10A | 10B = A6
584         P16 = 11A | 11B = P17             D6 = 11A | 11B = A7
585         P18 = 12A | 12B = P19             D7 = 12A | 12B = A8
586         P20 = 13A | 13B = P21             D8 = 13A | 13B = A9
587         P22 = 14A | 14B = P23             D9 = 14A | 14B = A10
588       PCK1B = 15A | 15B = 24M            D10 = 15A | 15B = A11
589       PCK2B = 16A | 16B = 12M            D11 = 16A | 16B = A12
590         2H1 = 17A | 17B = 8M             D12 = 17A | 17B = A13
591         CA4 = 18A | 18B = RESET          D13 = 18A | 18B = A14
592         CR0 = 19A | 19B = CR1            D14 = 19A | 19B = A15
593         CR2 = 20A | 20B = CR3            D15 = 20A | 20B = A16
594         CR4 = 21A | 21B = CR5            R/W = 21A | 21B = A17
595         CR6 = 22A | 22B = CR7             AS = 22A | 22B = A18
596         CR8 = 23A | 23B = CR9         ROMOEU = 23A | 23B = A19
597        CR10 = 24A | 24B = CR11        ROMOEL = 24A | 24B = 68KCLKB
598        CR12 = 25A | 25B = CR13       PORTOEU = 25A | 25B = ROMWAIT
599        CR14 = 26A | 26B = CR15       PORTOEL = 26A | 26B = PWAIT0
600        CR16 = 27A | 27B = CR17       PORTWEU = 27A | 27B = PWAIT1
601        CR18 = 28A | 28B = CR19       PORTWEL = 28A | 28B = PDTACT
602         VCC = 29A | 29B = VCC            VCC = 29A | 29B = VCC
603         VCC = 30A | 30B = VCC            VCC = 30A | 30B = VCC
604         VCC = 31A | 31B = VCC            VCC = 31A | 31B = VCC
605         VCC = 32A | 32B = VCC            VCC = 32A | 32B = VCC
606        CR20 = 33A | 33B = CR21      PORTADRS = 33A | 33B = 4MB
607        CR22 = 34A | 34B = CR23            NC = 34A | 34B = ROMOE
608        CR24 = 35A | 35B = CR25            NC = 35A | 35B = RESET
609        CR26 = 36A | 36B = CR27            NC = 36A | 36B = NC
610        CR28 = 37A | 37B = CR29            NC = 37A | 37B = NC
611        CR30 = 38A | 38B = CR31            NC = 38A | 38B = NC
612          NC = 39A | 39B = FIX00           NC = 39A | 39B = NC
613          NC = 40A | 40B = FIX01           NC = 40A | 40B = NC
614          NC = 41A | 41B = FIX02           NC = 41A | 41B = SDPAD0
615     SYSTEMB = 42A | 42B = FIX03      SYSTEMB = 42A | 42B = SDPAD1
616        SDA0 = 43A | 43B = FIX04        SDPA8 = 43A | 43B = SDPAD2
617        SDA1 = 44A | 44B = FIX05        SDPA9 = 44A | 44B = SDPAD3
618        SDA2 = 45A | 45B = FIX06       SDPA10 = 45A | 45B = SDPAD4
619        SDA3 = 46A | 46B = FIX07       SDPA11 = 46A | 46B = SDPAD5
620        SDA4 = 47A | 47B = SDRD0       SDPMPX = 47A | 47B = SDPAD6
621        SDA5 = 48A | 48B = SDRD1        SDPOE = 48A | 48B = SDPAD7
622        SDA6 = 49A | 49B = SDROM        SDRA8 = 49A | 49B = SDRA00
623        SDA7 = 50A | 50B = SDMRD        SDRA9 = 50A | 50B = SDRA01
624        SDA8 = 51A | 51B = SDDO        SDRA20 = 51A | 51B = SDRA02
625        SDA9 = 52A | 52B = SDD1        SDRA21 = 52A | 52B = SDRA03
626       SDA10 = 53A | 53B = SDD2        SDRA22 = 53A | 53B = SDRA04
627       SDA11 = 54A | 54B = SDD3        SDRA23 = 54A | 54B = SDRA05
628       SDA12 = 55A | 55B = SDD4        SDRMPX = 55A | 55B = SDRA06
629       SDA13 = 56A | 56B = SDD5         SDROE = 56A | 56B = SDRA07
630       SDA14 = 57A | 57B = SDD6           GND = 57A | 57B = GND
631       SDA15 = 58A | 58B = SDD7           GND = 58A | 58B = GND
632         GND = 59A | 59B = GND            GND = 59A | 59B = GND
633         GND = 60A | 60B = GND            GND = 60A | 60B = GND
634
635    CTRG1 (CHA)  = Contains gfx data ('C' - rom), text layer data ('S' - rom) and sound driver ('M' - rom)
636    CTRG2 (PROG) = Contains sample data ('V' - rom) and program code ('P' - rom)
637
638    NOTE: On CTRG2-B, The "A" lines start at "A1". If you trace this on an
639    actual cart, you will see that this is actually "A0" (A0 - A18).
640
641    These are from a very hard to read copy of the schematics, so
642    I hope that I got the pin names correct.
643
644    Apollo69 10/19/99
645
646
647*****************************************************************************
648
649    Neo-Geo bios
650
651*****************************************************************************
652
653
654    These are the known Bios Roms, Set options.bios to the one you want.
655
656    The Universe bios roms are supported because they're now used on enough PCBs
657    to be considered 'in active arcade use' rather than just homebrew hacks.
658    Some may be missing, there have been multiple CRCs reported for the same
659    revision in some cases (the Universe bios has an option for entering / displaying
660    a serial number; these should be noted as such if they're added).
661
662    The 'japan-hotel' BIOS is a dump of an MVS which could be found in some japanese
663    hotels. it is a custom MVS mobo which uses MVS carts but it hasn't jamma
664    connector and it's similar to a console with a coin mechanism, so it's a sort
665    of little coin op console installed in hotels.
666
667    The sp-45.sp1 bios is the latest 'ASIA' revision. Japan-j3.bin is the latest 'JAPAN'
668    revision. Both of them are also used in the sp-4x.sp1 bios of the Jamma PCB boards.
669
670    The current Neo-Geo MVS system set (SFIX/SM1/000-LO) used is from a NEO-MVH MV1FS board.
671    Other boards (MV1xx / MV2x / MV4x /MV6x) other system sets?
672
673    Zoom ROM (LO)    128K   TC531000CP      1x 128Kx8   Zoom look-up table ROM
674    Fix ROM (SFIX)   128K   27C1000         1x 128Kx8   Text layer graphics ROM
675    Sound ROM (SM1)  128K   27C1000/23C1000 1x 128Kx8   Z80 program ROM
676
677*/
678
679#define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \
680      ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_BIOS(bios+1)) /* Note '+1' */
681
682#define NEOGEO_BIOS \
683   ROM_REGION16_BE( 0x80000, "mainbios", 0 ) \
684   ROM_SYSTEM_BIOS( 0, "euro",        "Europe MVS (Ver. 2)" ) \
685   ROM_LOAD16_WORD_SWAP_BIOS( 0, "sp-s2.sp1",    0x00000, 0x020000, CRC(9036d879) SHA1(4f5ed7105b7128794654ce82b51723e16e389543) ) /* Europe, 1 Slot, has also been found on 2 Slot and 4 Slot (the old hacks were designed for this one) */ \
686   ROM_SYSTEM_BIOS( 1, "euro-s1",     "Europe MVS (Ver. 1)" ) \
687   ROM_LOAD16_WORD_SWAP_BIOS( 1, "sp-s.sp1",     0x00000, 0x020000, CRC(c7f2fa45) SHA1(09576ff20b4d6b365e78e6a5698ea450262697cd) ) /* Europe, 4 Slot */ \
688   ROM_SYSTEM_BIOS( 2, "us",          "US MVS (Ver. 2?)" ) \
689   ROM_LOAD16_WORD_SWAP_BIOS( 2, "sp-u2.sp1", 0x00000, 0x020000, CRC(e72943de) SHA1(5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb) ) /* US, 2 Slot */ \
690   ROM_SYSTEM_BIOS( 3, "us-e",        "US MVS (Ver. 1)" ) \
691   ROM_LOAD16_WORD_SWAP_BIOS( 3, "sp-e.sp1",     0x00000, 0x020000, CRC(2723a5b5) SHA1(5dbff7531cf04886cde3ef022fb5ca687573dcb8) ) /* US, 6 Slot (V5?) */ \
692   ROM_SYSTEM_BIOS( 4, "asia",        "Asia MVS (Ver. 3)" ) \
693   ROM_LOAD16_WORD_SWAP_BIOS( 4, "asia-s3.rom",  0x00000, 0x020000, CRC(91b64be3) SHA1(720a3e20d26818632aedf2c2fd16c54f213543e1) ) /* Asia */ \
694   ROM_SYSTEM_BIOS( 5, "japan",       "Japan MVS (Ver. 3)" ) \
695   ROM_LOAD16_WORD_SWAP_BIOS( 5, "vs-bios.rom",  0x00000, 0x020000, CRC(f0e8f27d) SHA1(ecf01eda815909f1facec62abf3594eaa8d11075) ) /* Japan, Ver 6 VS Bios */ \
696   ROM_SYSTEM_BIOS( 6, "japan-s2",    "Japan MVS (Ver. 2)" ) \
697   ROM_LOAD16_WORD_SWAP_BIOS( 6, "sp-j2.sp1",    0x00000, 0x020000, CRC(acede59c) SHA1(b6f97acd282fd7e94d9426078a90f059b5e9dd91) ) /* Japan, Older */ \
698   ROM_SYSTEM_BIOS( 7, "japan-s1",    "Japan MVS (Ver. 1)" ) \
699   ROM_LOAD16_WORD_SWAP_BIOS( 7, "sp1.jipan.1024",0x00000, 0x020000, CRC(9fb0abe4) SHA1(18a987ce2229df79a8cf6a84f968f0e42ce4e59d) ) /* Japan, Older */ \
700   ROM_SYSTEM_BIOS( 8, "mv1c",        "NEO-MVH MV1C" ) \
701   ROM_LOAD16_WORD_SWAP_BIOS( 8, "sp-45.sp1",0x00000, 0x080000, CRC(03cc9f6a) SHA1(cdf1f49e3ff2bac528c21ed28449cf35b7957dc1) ) /* Latest Asia bios */ \
702   ROM_SYSTEM_BIOS( 9, "japan-j3",    "Japan MVS (J3)" ) \
703   ROM_LOAD16_WORD_SWAP_BIOS( 9, "japan-j3.bin",0x00000, 0x020000, CRC(dff6d41f) SHA1(e92910e20092577a4523a6b39d578a71d4de7085) ) /* Latest Japan bios; correct chip label unknown */ \
704   ROM_SYSTEM_BIOS( 10, "japan-hotel","Custom Japanese Hotel" ) \
705   ROM_LOAD16_WORD_SWAP_BIOS( 10, "sp-1v1_3db8c.bin",0x00000, 0x020000, CRC(162f0ebe) SHA1(fe1c6dd3dfcf97d960065b1bb46c1e11cb7bf271) ) /* 'rare MVS found in japanese hotels' shows v1.3 in test mode */ \
706   ROM_SYSTEM_BIOS( 11, "uni-bios_2_3","Universe Bios (Hack, Ver. 2.3)" ) \
707   ROM_LOAD16_WORD_SWAP_BIOS( 11, "uni-bios_2_3.rom",  0x00000, 0x020000, CRC(27664eb5) SHA1(5b02900a3ccf3df168bdcfc98458136fd2b92ac0) ) /* Universe Bios v2.3 (hack) */ \
708   ROM_SYSTEM_BIOS( 12, "uni-bios_2_3o","Universe Bios (Hack, Ver. 2.3, older?)" ) \
709   ROM_LOAD16_WORD_SWAP_BIOS( 12, "uni-bios_2_3o.rom",  0x00000, 0x020000, CRC(601720ae) SHA1(1b8a72c720cdb5ee3f1d735bbcf447b09204b8d9) ) /* Universe Bios v2.3 (hack) alt version, withdrawn? */ \
710   ROM_SYSTEM_BIOS( 13, "uni-bios_2_2","Universe Bios (Hack, Ver. 2.2)" ) \
711   ROM_LOAD16_WORD_SWAP_BIOS( 13, "uni-bios_2_2.rom",  0x00000, 0x020000, CRC(2d50996a) SHA1(5241a4fb0c63b1a23fd1da8efa9c9a9bd3b4279c) ) /* Universe Bios v2.2 (hack) */ \
712   ROM_SYSTEM_BIOS( 14, "uni-bios_2_1","Universe Bios (Hack, Ver. 2.1)" ) \
713   ROM_LOAD16_WORD_SWAP_BIOS( 14, "uni-bios_2_1.rom",  0x00000, 0x020000, CRC(8dabf76b) SHA1(c23732c4491d966cf0373c65c83c7a4e88f0082c) ) /* Universe Bios v2.1 (hack) */ \
714   ROM_SYSTEM_BIOS( 15, "uni-bios_2_0","Universe Bios (Hack, Ver. 2.0)" ) \
715   ROM_LOAD16_WORD_SWAP_BIOS( 15, "uni-bios_2_0.rom",  0x00000, 0x020000, CRC(0c12c2ad) SHA1(37bcd4d30f3892078b46841d895a6eff16dc921e) ) /* Universe Bios v2.0 (hack) */ \
716   ROM_SYSTEM_BIOS( 16, "uni-bios_1_3","Universe Bios (Hack, Ver. 1.3)" ) \
717   ROM_LOAD16_WORD_SWAP_BIOS( 16, "uni-bios_1_3.rom",  0x00000, 0x020000, CRC(b24b44a0) SHA1(eca8851d30557b97c309a0d9f4a9d20e5b14af4e) ) /* Universe Bios v1.3 (hack) */ \
718   ROM_SYSTEM_BIOS( 17, "uni-bios_1_2","Universe Bios (Hack, Ver. 1.2)" ) \
719   ROM_LOAD16_WORD_SWAP_BIOS( 17, "uni-bios_1_2.rom",  0x00000, 0x020000, CRC(4fa698e9) SHA1(682e13ec1c42beaa2d04473967840c88fd52c75a) ) /* Universe Bios v1.2 (hack) */ \
720   ROM_SYSTEM_BIOS( 18, "uni-bios_1_2o","Universe Bios (Hack, Ver. 1.2, older)" ) \
721   ROM_LOAD16_WORD_SWAP_BIOS( 18, "uni-bios_1_2o.rom", 0x00000, 0x020000, CRC(e19d3ce9) SHA1(af88ef837f44a3af2d7144bb46a37c8512b67770) ) /* Universe Bios v1.2 (hack) alt version */ \
722   ROM_SYSTEM_BIOS( 19, "uni-bios_1_1","Universe Bios (Hack, Ver. 1.1)" ) \
723   ROM_LOAD16_WORD_SWAP_BIOS( 19, "uni-bios_1_1.rom",  0x00000, 0x020000, CRC(5dda0d84) SHA1(4153d533c02926a2577e49c32657214781ff29b7) ) /* Universe Bios v1.1 (hack) */ \
724   ROM_SYSTEM_BIOS( 20, "uni-bios_1_0","Universe Bios (Hack, Ver. 1.0)" ) \
725   ROM_LOAD16_WORD_SWAP_BIOS( 20, "uni-bios_1_0.rom",  0x00000, 0x020000, CRC(0ce453a0) SHA1(3b4c0cd26c176fc6b26c3a2f95143dd478f6abf9) ) /* Universe Bios v1.0 (hack) */ \
726   ROM_SYSTEM_BIOS( 21, "uni-bios_3_0","Universe Bios (Hack, Ver. 3.0)" ) \
727   ROM_LOAD16_WORD_SWAP_BIOS( 21, "uni-bios_3_0.rom",  0x00000, 0x020000, CRC(a97c89a9) SHA1(97a5eff3b119062f10e31ad6f04fe4b90d366e7f) ) /* Universe Bios v3.0 (hack) */ \
728//  ROM_SYSTEM_BIOS( 22, "debug",      "Debug MVS (Hack?)" )
729//  ROM_LOAD16_WORD_SWAP_BIOS( 22, "neodebug.rom", 0x00000, 0x020000, CRC(698ebb7d) SHA1(081c49aa8cc7dad5939833dc1b18338321ea0a07) ) /* Debug (Development) Bios */
730//  ROM_SYSTEM_BIOS( 23, "asia-aes",   "Asia AES" )
731//  ROM_LOAD16_WORD_SWAP_BIOS( 23, "neo-epo.sp1", 0x00000, 0x020000, CRC(d27a71f1) SHA1(1b3b22092f30c4d1b2c15f04d1670eb1e9fbea07) ) /* AES Console (Asia?) Bios */
732//  ROM_SYSTEM_BIOS( 24, "japan-aes",  "Japan AES" )
733//  ROM_LOAD16_WORD_SWAP_BIOS( 24, "neo-po.sp1", 0x00000, 0x020000, CRC(16d0c132) SHA1(4e4a440cae46f3889d20234aebd7f8d5f522e22c) ) /* AES Console (Japan) Bios */
734
735/*  Note you'll have to modify the last for lines of each block to use the extra bios roms,
736    they're hacks / homebrew / console bios roms so MAME doesn't list them by default. */
737
738
739#define NEO_BIOS_AUDIO_64K(name, hash) \
740   NEOGEO_BIOS \
741   ROM_REGION( 0x20000, "audiobios", 0 ) \
742   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
743   ROM_REGION( 0x20000, "audiocpu", 0 ) \
744   ROM_LOAD( name, 0x00000, 0x10000, hash ) \
745   ROM_RELOAD(     0x10000, 0x10000 )
746
747#define NEO_BIOS_AUDIO_128K(name, hash) \
748   NEOGEO_BIOS \
749   ROM_REGION( 0x20000, "audiobios", 0 ) \
750   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
751   ROM_REGION( 0x30000, "audiocpu", 0 ) \
752   ROM_LOAD( name, 0x00000, 0x20000, hash ) \
753   ROM_RELOAD(     0x10000, 0x20000 )
754
755#define NEO_BIOS_AUDIO_256K(name, hash) \
756   NEOGEO_BIOS \
757   ROM_REGION( 0x20000, "audiobios", 0 ) \
758   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
759   ROM_REGION( 0x50000, "audiocpu", 0 ) \
760   ROM_LOAD( name, 0x00000, 0x40000, hash ) \
761   ROM_RELOAD(     0x10000, 0x40000 )
762
763#define NEO_BIOS_AUDIO_512K(name, hash) \
764   NEOGEO_BIOS \
765   ROM_REGION( 0x20000, "audiobios", 0 ) \
766   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
767   ROM_REGION( 0x90000, "audiocpu", 0 ) \
768   ROM_LOAD( name, 0x00000, 0x80000, hash ) \
769   ROM_RELOAD(     0x10000, 0x80000 )
770
771
772#define NEO_BIOS_AUDIO_ENCRYPTED_128K(name, hash) \
773   NEOGEO_BIOS \
774   ROM_REGION( 0x20000, "audiobios", 0 ) \
775   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
776   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF ) \
777   ROM_REGION( 0x80000, "audiocrypt", 0 ) \
778   ROM_LOAD( name, 0x00000, 0x20000, hash )
779#define NEO_BIOS_AUDIO_ENCRYPTED_256K(name, hash) \
780   NEOGEO_BIOS \
781   ROM_REGION( 0x20000, "audiobios", 0 ) \
782   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
783   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF ) \
784   ROM_REGION( 0x80000, "audiocrypt", 0 ) \
785   ROM_LOAD( name, 0x00000, 0x40000, hash )
786#define NEO_BIOS_AUDIO_ENCRYPTED_512K(name, hash) \
787   NEOGEO_BIOS \
788   ROM_REGION( 0x20000, "audiobios", 0 ) \
789   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) ) \
790   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF ) \
791   ROM_REGION( 0x80000, "audiocrypt", 0 ) \
792   ROM_LOAD( name,      0x00000, 0x80000, hash )
793
794#define NO_DELTAT_REGION
795
796
797#define NEO_SFIX_64K(name, hash) \
798   ROM_REGION( 0x20000, "fixed", 0 ) \
799   ROM_LOAD( name, 0x000000, 0x10000, hash ) \
800   ROM_REGION( 0x20000, "fixedbios", 0 ) \
801   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) ) \
802   ROM_Y_ZOOM
803
804#define NEO_SFIX_128K(name, hash) \
805   ROM_REGION( 0x20000, "fixed", 0 ) \
806   ROM_LOAD( name, 0x000000, 0x20000, hash ) \
807   ROM_REGION( 0x20000, "fixedbios", 0 ) \
808   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) ) \
809   ROM_Y_ZOOM
810
811
812#define ROM_Y_ZOOM \
813   ROM_REGION( 0x20000, "zoomy", 0 ) \
814   ROM_LOAD( "000-lo.lo", 0x00000, 0x20000, CRC(5a86cff2) SHA1(5992277debadeb64d1c1c64b0a92d9293eaf7e4a) )
815
816
817/****************************************************************************
818
819    Official sets
820
821*****************************************************************************
822
823
824    About supported sets:
825    =====================
826
827    MVS carts (arcade) were released before the AES carts (home)
828    The actual codepath taken depends entirely on the BIOS rom, not the roms in the cartridge, which (with
829    a few exceptions) support both codepaths.
830
831    The initial AES releases are therefore later revisions of the game, often with bug fixes over the
832    initial MVS releases. It isn't uncommon for later production runs and bootlegs to use these newer sets,
833    so all of them are supported in MAME.
834
835    Likewise, because the MVS carts were released first (and were produced in higher numbers and generally
836    have a lower cost) it's not uncommon for AES units to operate with converted MVS carts, so, with the
837    exception of the sets that specifically lock out the AES mode* these sets are all equally suitable
838    for MESS.
839    * nitd, kof2001 (initial release has no AES code), and a number of the hacked bootlegs.
840
841    The 'MVS ONLY RELEASE' tagged sets were not officially released for the AES (home) system.
842    Information about this can be found at 'The NeoGeo Master List' (unofficial) - http://www.neo-geo.com
843    and the official NeoGeo museum - http://neogeomuseum.snkplaymore.co.jp/english/index.php
844    Several unofficial 'conversions' of these sets can be found across the internet.
845    For completeness sake: Some of these have sets have been released for the CD system.
846
847
848    M1 (sound driver) rom information:
849    ==================================
850    . Many 'M1' roms contain mirrored data (64k mirrored or 128k mirrored).
851    . Found on several early sets (ID 0001 ~ 0045) and on the last sets (ID 0267 ~ 0272).
852    . This caused some confusion and incorrect rom sizes.
853    . Minimum 'M1' size is 1mbit, maximum size 4mbit.
854    . The remaining 64k 'M1' are marked BAD_DUMP.
855
856
857    S1 (text layer) rom information:
858    ================================
859    . All 'S1' roms found on prom are 1mbit.
860    . The remainig 64k 'S1' are marked BAD_DUMP.
861
862
863    MULTI PLAY MODE:
864    ================
865    The NeoGeo has three games which support MULTI PLAY MODE (Riding Hero / League Bowling / Trash Rally).
866    This allows you to 'link' 4 games (MVS) / 2 games (AES) using in game 'Multi-Play' option. To establish
867    a link between the carts you have to connect the carts to each other by a communicator cable. The communicatior
868    cable is a regular headphone cable with stereo pin jack. It has been reported that you can also 'link' MVS <-> AES.
869
870    All three games use a special PROG board for MULTI PLAY MODE support:
871    . Riding Hero    (AES - NEO-AEG PROG-HERO   / MVS NEO-MVS PROG-HERO)
872    . League Bowling (AES - NEO-AEG PROG-HERO   / MVS NEO-MVS PROG-HERO)
873    . Trash Rally    (AES - NEO-AEG PROG42G-COM / NEO-MVS PROG42G-COM)
874
875    A HD6301V1P MCU on the above boards is used for establishing the 'link'. The MCU has a 4kb internal ROM which
876    is not dumped.
877    To use the MULTI PLAY MODE on your MVS you have to set the following hardware dips:
878    HARD DIP SETTING  4   5   6
879    CABINET 1:        OFF OFF ON
880    CABINET 2:        OFF ON  ON
881    CABINET 3:        ON  OFF ON
882    CABINET 4:        ON  ON  ON
883
884
885    SPHERO SYMPHONY:
886    ================
887    Several early games have a 'feature' called "sphero symphony". None of the games featuring "sphero symphony"
888    uses special hardware. It is something sound based, but what exactly it is (specially arragend samples,
889    FM synthesis etc.) is unknown. The AES and MVS releases share the same sound data and driver.
890
891    The AES game-inserts and manuals have an eye-shaped logo with the following text (not to be found on MVS sets):
892    sphero
893    symphony
894    STEREOPHONIC SOUND
895
896    Experience this "LIVE" 3 dimensional sound coming from all around you.
897
898    Games featuring "sphero symphony":
899    ID-0006 - Riding Hero
900    ID-0007 - Alpha Mission II / ASO II - Last Guardian
901    ID-0009 - Ninja Combat
902    ID-0010 - Cyber-Lip
903    ID-0011 - The Super Spy
904    ID-0014 - Mutation Nation
905    ID-0017 - Sengoku / Sengoku Denshou
906    ID-0018 - Burning Fight
907    ID-0020 - Ghost Pilots
908    ID-0024 - Last Resort
909    ID-0031 - Soccer Brawl
910    ID-0033 - Fatal Fury - King of Fighters / Garou Densetsu - shukumei no tatakai
911    ID-0034 - Football Frenzy
912    ID-0037 - Crossed Swords
913    ID-0038 - Thrash Rally
914    ID-0039 - King of the Monsters 2 - The Next Thing
915    ID-0041 - Baseball Stars 2
916    ID-0044 - Art of Fighting / Ryuuko no Ken
917    ID-0047 - Fatal Fury 2 / Garou Densetsu 2 - arata-naru tatakai
918    ID-0049 - Andro Dunos
919
920*/
921
922
923/* dummy entry for the dummy bios driver */
924ROM_START( neogeo )
925   NEOGEO_BIOS
926
927   ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF )
928
929   ROM_REGION( 0x20000, "audiobios", 0 )
930   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
931
932   ROM_REGION( 0x50000, "audiocpu", 0 )
933   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
934
935   ROM_Y_ZOOM
936
937   ROM_REGION( 0x20000, "fixed", ROMREGION_ERASEFF )
938
939   ROM_REGION( 0x20000, "fixedbios", 0 )
940   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
941
942   ROM_REGION( 0x10000, "ymsnd", ROMREGION_ERASEFF )
943
944   NO_DELTAT_REGION
945
946   ROM_REGION( 0x100000, "sprites", ROMREGION_ERASEFF )
947ROM_END
948
949/****************************************
950 ID-0001
951 . NGM-001
952 NEO-MVS PROG-NAM / NEO-MVS CHA-32
953 . NGH-001
954 NEO-AEG PROG-NAM / NEO-AEG CHA-32
955****************************************/
956
957ROM_START( nam1975 ) /* MVS AND AES VERSION */
958   ROM_REGION( 0x100000, "maincpu", 0 )
959   ROM_LOAD16_WORD_SWAP( "001-p1.p1", 0x000000, 0x080000, CRC(cc9fc951) SHA1(92f4e6ddeeb825077d92dbb70b50afea985f15c0) ) /* MB834200 */
960
961   NEO_SFIX_128K( "001-s1.s1", CRC(7988ba51) SHA1(bc2f661f381b06b34ac2fa215dd5689d3bf84832) ) /* MB831000 */
962
963   NEO_BIOS_AUDIO_256K( "001-m1.m1", CRC(ba874463) SHA1(a83514f4b20301f84a98699900e2593f1c1b8846) ) /* MB832000 */
964
965   ROM_REGION( 0x080000, "ymsnd", 0 )
966   ROM_LOAD( "001-v11.v11", 0x000000, 0x080000, CRC(a7c3d5e5) SHA1(e3efc86940f91c53b7724c4566cfc21ea1a7a465) ) /* MB834200 */
967   // AES has different label, data is the same: 001-v1.v1
968
969   ROM_REGION( 0x180000, "ymsnd.deltat", 0 )
970   ROM_LOAD( "001-v21.v21", 0x000000, 0x080000, CRC(55e670b3) SHA1(a047049646a90b6db2d1882264df9256aa5a85e5) )  /* MB834200 */
971   // AES has different label, data is the same: 001-v2.v21
972   ROM_LOAD( "001-v22.v22", 0x080000, 0x080000, CRC(ab0d8368) SHA1(404114db9f3295929080b87a5d0106b40da6223a) ) /* MB834000 */
973   ROM_LOAD( "001-v23.v23", 0x100000, 0x080000, CRC(df468e28) SHA1(4e5d4a709a4737a87bba4083aeb788f657862f1a) ) /* MB834000 */
974
975   ROM_REGION( 0x300000, "sprites", 0 )
976   ROM_LOAD16_BYTE( "001-c1.c1", 0x000000, 0x80000, CRC(32ea98e1) SHA1(c2fb3fb7dd14523a4b4b7fbdb81f44cb4cc48239) ) /* Plane 0,1 */ /* MB834200 */
977   ROM_LOAD16_BYTE( "001-c2.c2", 0x000001, 0x80000, CRC(cbc4064c) SHA1(224c970fd060d841fd430c946ef609bb57b6d78c) ) /* Plane 2,3 */ /* MB834200 */
978   ROM_LOAD16_BYTE( "001-c3.c3", 0x100000, 0x80000, CRC(0151054c) SHA1(f24fb501a7845f64833f4e5a461bcf9dc3262557) ) /* Plane 0,1 */ /* MB834200 */
979   ROM_LOAD16_BYTE( "001-c4.c4", 0x100001, 0x80000, CRC(0a32570d) SHA1(f108446ec7844fde25f7a4ab454f76d384bf5e52) ) /* Plane 2,3 */ /* MB834200 */
980   ROM_LOAD16_BYTE( "001-c5.c5", 0x200000, 0x80000, CRC(90b74cc2) SHA1(89898da36db259180e5261ed45eafc99ca13e504) ) /* Plane 0,1 */ /* MB834200 */
981   ROM_LOAD16_BYTE( "001-c6.c6", 0x200001, 0x80000, CRC(e62bed58) SHA1(d05b2903b212a51ee131e52c761b714cb787683e) ) /* Plane 2,3 */ /* MB834200 */
982ROM_END
983
984/****************************************
985 ID-0002
986 . NGM-002
987 NEO-MVS PROG-EP / NEO-MVS CHA-32
988 . NGH-002
989 NEO-AEG PROG-4A / NEO-AEG CHA-32
990****************************************/
991
992ROM_START( bstars ) /* MVS VERSION */
993   ROM_REGION( 0x100000, "maincpu", 0 )
994   ROM_LOAD16_WORD_SWAP( "002-pg.p1", 0x000000, 0x080000, CRC(c100b5f5) SHA1(4cea9f29ad67288c3eccfa4cf961ee9782e49165) ) /* MB834200 */
995
996   NEO_SFIX_128K( "002-s1.s1", CRC(1a7fd0c6) SHA1(3fc701b7afddab369ddf9dedfbc5e1aaf80b8af3) ) /* MB831000 */
997
998   NEO_BIOS_AUDIO_256K( "002-m1.m1", CRC(4ecaa4ee) SHA1(50abfb8eed6cb4887393089f9ccc76f306ef69b5) ) /* MB832000 */
999
1000   ROM_REGION( 0x200000, "ymsnd", 0 )
1001   ROM_LOAD( "002-v11.v11", 0x000000, 0x080000, CRC(b7b925bd) SHA1(644c92fa90e74998e73714f74b1e0680ee372a07) ) /* MB834000 */
1002   ROM_LOAD( "002-v12.v12", 0x080000, 0x080000, CRC(329f26fc) SHA1(2c8009edc88c6b26f7be5beb2b8d260aac394ee1) ) /* MB834000 */
1003   ROM_LOAD( "002-v13.v13", 0x100000, 0x080000, CRC(0c39f3c8) SHA1(db8f8670639601215707d918d4fb93221460446a) ) /* MB834000 */
1004   ROM_LOAD( "002-v14.v14", 0x180000, 0x080000, CRC(c7e11c38) SHA1(5abf2a7877e0162c758a4dcf09f183930fa7ef24) ) /* MB834000 */
1005
1006   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1007   ROM_LOAD( "002-v21.v21", 0x000000, 0x080000, CRC(04a733d1) SHA1(84159368c0f6de2c3b8121227201cd3422455cf6) ) /* MB834000 */
1008
1009   ROM_REGION( 0x300000, "sprites", 0 )
1010   ROM_LOAD16_BYTE( "002-c1.c1", 0x000000, 0x080000, CRC(aaff2a45) SHA1(c91ee72d1d74514df8ec44fca703409d92158ae3) ) /* Plane 0,1 */ /* MB834200 */
1011   ROM_LOAD16_BYTE( "002-c2.c2", 0x000001, 0x080000, CRC(3ba0f7e4) SHA1(f023b134b9c7994f477867307d2732026033501d) ) /* Plane 2,3 */ /* MB834200 */
1012   ROM_LOAD16_BYTE( "002-c3.c3", 0x100000, 0x080000, CRC(96f0fdfa) SHA1(9f779a1ae46aeda54d69382b074392ade687f62f) ) /* Plane 0,1 */ /* MB834200 */
1013   ROM_LOAD16_BYTE( "002-c4.c4", 0x100001, 0x080000, CRC(5fd87f2f) SHA1(a5dd6f26f9485f216c2428ae1792c182beb10dbc) ) /* Plane 2,3 */ /* MB834200 */
1014   ROM_LOAD16_BYTE( "002-c5.c5", 0x200000, 0x080000, CRC(807ed83b) SHA1(3268e7d4602c3f55f1e0da2c80653d5ae461ef67) ) /* Plane 0,1 */ /* MB834200 */
1015   ROM_LOAD16_BYTE( "002-c6.c6", 0x200001, 0x080000, CRC(5a3cad41) SHA1(c620d18f4ff32ed5489c941dfc641030a54f1c14) ) /* Plane 2,3 */ /* MB834200 */
1016ROM_END
1017
1018ROM_START( bstarsh ) /* AES VERSION */
1019   ROM_REGION( 0x100000, "maincpu", 0 )
1020   ROM_LOAD16_WORD_SWAP( "002-p1.p1", 0x000000, 0x080000, CRC(3bc7790e) SHA1(50b2fffb1278151bb4849fbe1f8cb23916019815) ) /* MB834200 */
1021
1022   NEO_SFIX_128K( "002-s1.s1", CRC(1a7fd0c6) SHA1(3fc701b7afddab369ddf9dedfbc5e1aaf80b8af3) ) /* MB831000 */
1023
1024   NEO_BIOS_AUDIO_256K( "002-m1.m1", CRC(4ecaa4ee) SHA1(50abfb8eed6cb4887393089f9ccc76f306ef69b5) ) /* MB832000 */
1025
1026   ROM_REGION( 0x200000, "ymsnd", 0 )
1027   ROM_LOAD( "002-v11.v11", 0x000000, 0x080000, CRC(b7b925bd) SHA1(644c92fa90e74998e73714f74b1e0680ee372a07) ) /* MB834000 */
1028   ROM_LOAD( "002-v12.v12", 0x080000, 0x080000, CRC(329f26fc) SHA1(2c8009edc88c6b26f7be5beb2b8d260aac394ee1) ) /* MB834000 */
1029   ROM_LOAD( "002-v13.v13", 0x100000, 0x080000, CRC(0c39f3c8) SHA1(db8f8670639601215707d918d4fb93221460446a) ) /* MB834000 */
1030   ROM_LOAD( "002-v14.v14", 0x180000, 0x080000, CRC(c7e11c38) SHA1(5abf2a7877e0162c758a4dcf09f183930fa7ef24) ) /* MB834000 */
1031
1032   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1033   ROM_LOAD( "002-v21.v21", 0x000000, 0x080000, CRC(04a733d1) SHA1(84159368c0f6de2c3b8121227201cd3422455cf6) ) /* MB834000 */
1034
1035   ROM_REGION( 0x300000, "sprites", 0 )
1036   ROM_LOAD16_BYTE( "002-c1.c1", 0x000000, 0x080000, CRC(aaff2a45) SHA1(c91ee72d1d74514df8ec44fca703409d92158ae3) ) /* Plane 0,1 */ /* MB834200 */
1037   ROM_LOAD16_BYTE( "002-c2.c2", 0x000001, 0x080000, CRC(3ba0f7e4) SHA1(f023b134b9c7994f477867307d2732026033501d) ) /* Plane 2,3 */ /* MB834200 */
1038   ROM_LOAD16_BYTE( "002-c3.c3", 0x100000, 0x080000, CRC(96f0fdfa) SHA1(9f779a1ae46aeda54d69382b074392ade687f62f) ) /* Plane 0,1 */ /* MB834200 */
1039   ROM_LOAD16_BYTE( "002-c4.c4", 0x100001, 0x080000, CRC(5fd87f2f) SHA1(a5dd6f26f9485f216c2428ae1792c182beb10dbc) ) /* Plane 2,3 */ /* MB834200 */
1040   ROM_LOAD16_BYTE( "002-c5.c5", 0x200000, 0x080000, CRC(807ed83b) SHA1(3268e7d4602c3f55f1e0da2c80653d5ae461ef67) ) /* Plane 0,1 */ /* MB834200 */
1041   ROM_LOAD16_BYTE( "002-c6.c6", 0x200001, 0x080000, CRC(5a3cad41) SHA1(c620d18f4ff32ed5489c941dfc641030a54f1c14) ) /* Plane 2,3 */ /* MB834200 */
1042ROM_END
1043
1044/****************************************
1045 ID-0003
1046 . NGM-003
1047 NEO-MVS PROG-EP / NEO-MVS CHA-32
1048 . NGH-003
1049 NEO-AEG PROG-4B / NEO-AEG CHA-32
1050****************************************/
1051
1052ROM_START( tpgolf ) /* MVS AND AES VERSION */
1053   ROM_REGION( 0x100000, "maincpu", 0 )
1054   ROM_LOAD16_WORD_SWAP( "003-p1.p1", 0x000000, 0x080000, CRC(f75549ba) SHA1(3f7bdf5e2964e921fe1dd87c51a79a1a501fc73f) ) /* TC534200 */
1055   ROM_LOAD16_WORD_SWAP( "003-p2.p2", 0x080000, 0x080000, CRC(b7809a8f) SHA1(1604c889592c9610668bff296de48a0d6906156d) ) /* TC534200 */
1056
1057   NEO_SFIX_128K( "003-s1.s1", CRC(7b3eb9b1) SHA1(39cd8bad9f8bfdeb8ac681b5b79ae5aa81c8dd5f) ) /* TC531000 */
1058
1059   NEO_BIOS_AUDIO_128K( "003-m1.m1", CRC(4cc545e6) SHA1(8e014b8cab3e5b3995756a4ea52ce49c36866377) ) /* TC531001 */
1060
1061   ROM_REGION( 0x080000, "ymsnd", 0 )
1062   ROM_LOAD( "003-v11.v11", 0x000000, 0x080000, CRC(ff97f1cb) SHA1(defa249d46ae220f7bfa70746f5202bbbcc3e5fe) ) /* TC534000 */
1063   // AES has different label, data is the same (also found on MVS): 003-v1.v11
1064
1065   ROM_REGION( 0x200000, "ymsnd.deltat", 0 )
1066   ROM_LOAD( "003-v21.v21", 0x000000, 0x080000, CRC(d34960c6) SHA1(36d5877d5e42aab943f4d693159f4f3ad8b0addc) ) /* TC534000 */
1067   // AES has different label, data is the same (also found on MVS): 003-v2.v21
1068   ROM_LOAD( "003-v22.v22", 0x080000, 0x080000, CRC(9a5f58d4) SHA1(2b580595e1820430a36f06fd3e0e0b8f7d686889) ) /* TC534000 */
1069   ROM_LOAD( "003-v23.v23", 0x100000, 0x080000, CRC(30f53e54) SHA1(22461f88a56d272b78dbc23204c0c6816200532b) ) /* TC534000 */
1070   ROM_LOAD( "003-v24.v24", 0x180000, 0x080000, CRC(5ba0f501) SHA1(ca02937a611a2c50c9e4b54f8fd4eaea09259894) ) /* TC534000 */
1071
1072   ROM_REGION( 0x400000, "sprites", 0 )
1073   ROM_LOAD16_BYTE( "003-c1.c1", 0x000000, 0x80000, CRC(0315fbaf) SHA1(583c9253219c1026d81ee5e0cf5568683adc2633) ) /* Plane 0,1 */ /* TC534200 */
1074   ROM_LOAD16_BYTE( "003-c2.c2", 0x000001, 0x80000, CRC(b4c15d59) SHA1(b0d8ec967f9b8e5216301c10b2d36912abce6515) ) /* Plane 2,3 */ /* TC534200 */
1075   ROM_LOAD16_BYTE( "003-c3.c3", 0x100000, 0x80000, CRC(8ce3e8da) SHA1(bc6c49b27d498f75a0d1a8c4d0cca75e140b9efc) ) /* Plane 0,1 */ /* TC534200 */
1076   ROM_LOAD16_BYTE( "003-c4.c4", 0x100001, 0x80000, CRC(29725969) SHA1(f1407da84919c2b3fe0e8f1fca65934b147c86c7) ) /* Plane 2,3 */ /* TC534200 */
1077   ROM_LOAD16_BYTE( "003-c5.c5", 0x200000, 0x80000, CRC(9a7146da) SHA1(2fc83d13e3e9565919aab01bf2a1b028f433b547) ) /* Plane 0,1 */ /* TC534200 */
1078   ROM_LOAD16_BYTE( "003-c6.c6", 0x200001, 0x80000, CRC(1e63411a) SHA1(ee397e2f679042e87b37d95837af62bb95a72af9) ) /* Plane 2,3 */ /* TC534200 */
1079   ROM_LOAD16_BYTE( "003-c7.c7", 0x300000, 0x80000, CRC(2886710c) SHA1(1533dd935f0a8f92a0a3c47d1d2bc6d035454244) ) /* Plane 0,1 */ /* TC534200 */
1080   ROM_LOAD16_BYTE( "003-c8.c8", 0x300001, 0x80000, CRC(422af22d) SHA1(f67c844c34545de6ea187f5bfdf440dec8518532) ) /* Plane 2,3 */ /* TC534200 */
1081ROM_END
1082
1083/****************************************
1084 ID-0004
1085 . NGM-004
1086 NEO-MVS PROG-EP / NEO-MVS CHA-32
1087 . NGH-004
1088 NEO-AEG PROG B  / NEO-AEG CHA-32
1089****************************************/
1090
1091ROM_START( mahretsu ) /* MVS AND AES VERSION */
1092   ROM_REGION( 0x100000, "maincpu", 0 )
1093   ROM_LOAD16_WORD_SWAP( "004-p1.p1", 0x000000, 0x080000, CRC(fc6f53db) SHA1(64a62ca4c8fb68954e06121399c9402278bd0467) ) /* TC534200 */
1094
1095   NEO_SFIX_128K( "004-s1.s1", CRC(2bd05a06) SHA1(876deadd4645373d82a503154eeddf18f440d743) ) /* TC531000 */
1096
1097   NEO_BIOS_AUDIO_128K( "004-m1.m1", CRC(c71fbb3b) SHA1(59c58665b53da61352359d191a0569de5dd1f4b3) ) /* TC531001 */
1098
1099   ROM_REGION( 0x100000, "ymsnd", 0 )
1100   ROM_LOAD( "004-v11.v11", 0x000000, 0x080000, CRC(b2fb2153) SHA1(36e0cc8927b11105de40188af46f6cf532794c10) ) /* CXK384001 */
1101   ROM_LOAD( "004-v12.v12", 0x080000, 0x080000, CRC(8503317b) SHA1(ab22f1aba1e977ab234a4f1d73dc6ed789dbeb85) ) /* CXK384001 */
1102
1103   ROM_REGION( 0x180000, "ymsnd.deltat", 0 )
1104   ROM_LOAD( "004-v21.v21", 0x000000, 0x080000, CRC(4999fb27) SHA1(2d4926a220ea21bdd5e816bb16f985fff089500a) ) /* CXK384001 */
1105   ROM_LOAD( "004-v22.v22", 0x080000, 0x080000, CRC(776fa2a2) SHA1(e7d5a362ab7806b7b009700a435c815a20e8ec68) ) /* CXK384001 */
1106   ROM_LOAD( "004-v23.v23", 0x100000, 0x080000, CRC(b3e7eeea) SHA1(4d1e97f380702a3a06e7f954b4caddd9c4119d8f) ) /* CXK384001 */
1107
1108   ROM_REGION( 0x200000, "sprites", 0 )
1109   ROM_LOAD16_BYTE( "004-c1.c1", 0x000000, 0x80000, CRC(f1ae16bc) SHA1(df68feed4dcba1e1566032b01ebb7b478a1792bf) ) /* Plane 0,1 */ /* MB834200 */
1110   ROM_LOAD16_BYTE( "004-c2.c2", 0x000001, 0x80000, CRC(bdc13520) SHA1(2bc4c996d019a4c539f6c3188ef18089e54b7efa) ) /* Plane 2,3 */ /* MB834200 */
1111   ROM_LOAD16_BYTE( "004-c3.c3", 0x100000, 0x80000, CRC(9c571a37) SHA1(21388aeb92bb8e15a55a063701ca9df79e292127) ) /* Plane 0,1 */ /* MB834200 */
1112   ROM_LOAD16_BYTE( "004-c4.c4", 0x100001, 0x80000, CRC(7e81cb29) SHA1(5036f04df30cf6903bd1a8cc06ff6f015c24a74b) ) /* Plane 2,3 */ /* MB834200 */
1113ROM_END
1114
1115/****************************************
1116 ID-0005
1117 . NGM-005
1118 NEO-MVS PROG-EP / NEO-MVS CHA-32
1119 . NGH-005
1120 NEO-AEG PROG-4B / NEO-AEG CHA-32
1121****************************************/
1122
1123ROM_START( maglord ) /* MVS VERSION */
1124   ROM_REGION( 0x100000, "maincpu", 0 )
1125   ROM_LOAD16_WORD_SWAP( "005-pg1.p1", 0x000000, 0x080000, CRC(bd0a492d) SHA1(d043d3710cf2b0d2b3798008e65e4c7c3ead1af3) ) /* MB834200 */
1126
1127   NEO_SFIX_128K( "005-s1.s1", CRC(1c5369a2) SHA1(db0dba0a7dced6c9ca929c5abda491b05d84199c) ) /* MB831000 */
1128
1129   NEO_BIOS_AUDIO_256K( "005-m1.m1", CRC(26259f0f) SHA1(4f3e500093d61585048767dbd9fa09b3911a05d6) ) /* MB832000 */
1130
1131   ROM_REGION( 0x080000, "ymsnd", 0 )
1132   ROM_LOAD( "005-v11.v11", 0x000000, 0x080000, CRC(cc0455fd) SHA1(a8ff4270e7705e263d25ff0b301f503bccea7e59) ) /* MB834000 */
1133
1134   ROM_REGION( 0x100000, "ymsnd.deltat", 0 )
1135   ROM_LOAD( "005-v21.v21", 0x000000, 0x080000, CRC(f94ab5b7) SHA1(2c16985102e3585e08622d8c54ac5c60425b9ff8) ) /* MB834000 */
1136   ROM_LOAD( "005-v22.v22", 0x080000, 0x080000, CRC(232cfd04) SHA1(61b66a9decbbd1f500a8c186615e7fd077c6861e) ) /* MB834000 */
1137
1138   ROM_REGION( 0x300000, "sprites", 0 )
1139   ROM_LOAD16_BYTE( "005-c1.c1", 0x000000, 0x80000, CRC(806aee34) SHA1(3c32a0edbbddb694495b510c13979c44b83de8bc) ) /* Plane 0,1 */ /* MB834200 */
1140   ROM_LOAD16_BYTE( "005-c2.c2", 0x000001, 0x80000, CRC(34aa9a86) SHA1(cec97e1ff7f91158040c629ba75742db82c4ae5e) ) /* Plane 2,3 */ /* MB834200 */
1141   ROM_LOAD16_BYTE( "005-c3.c3", 0x100000, 0x80000, CRC(c4c2b926) SHA1(478bfafca21f5a1338808251a06ab405e6a9e65f) ) /* Plane 0,1 */ /* MB834200 */
1142   ROM_LOAD16_BYTE( "005-c4.c4", 0x100001, 0x80000, CRC(9c46dcf4) SHA1(4c05f3dc25777a87578ce09a6cefb3a4cebf3266) ) /* Plane 2,3 */ /* MB834200 */
1143   ROM_LOAD16_BYTE( "005-c5.c5", 0x200000, 0x80000, CRC(69086dec) SHA1(7fa47f4a765948813ebf366168275dcc3c42e951) ) /* Plane 0,1 */ /* MB834200 */
1144   ROM_LOAD16_BYTE( "005-c6.c6", 0x200001, 0x80000, CRC(ab7ac142) SHA1(e6ad2843947d35d8e913d2666f87946c1ba7944f) ) /* Plane 2,3 */ /* MB834200 */
1145ROM_END
1146
1147ROM_START( maglordh ) /* AES VERSION */
1148   ROM_REGION( 0x100000, "maincpu", 0 )
1149   ROM_LOAD16_WORD_SWAP( "005-p1.p1", 0x000000, 0x080000, CRC(599043c5) SHA1(43f234b0f89b72b4c6050c40d9daa5c4e96b94ce) ) /* MB834200 */
1150
1151   NEO_SFIX_128K( "005-s1.s1", CRC(1c5369a2) SHA1(db0dba0a7dced6c9ca929c5abda491b05d84199c) ) /* MB831000 */
1152
1153   NEO_BIOS_AUDIO_256K( "005-m1.m1", CRC(26259f0f) SHA1(4f3e500093d61585048767dbd9fa09b3911a05d6) ) /* MB832000 */
1154
1155   ROM_REGION( 0x080000, "ymsnd", 0 )
1156   ROM_LOAD( "005-v11.v11", 0x000000, 0x080000, CRC(cc0455fd) SHA1(a8ff4270e7705e263d25ff0b301f503bccea7e59) ) /* MB834000 */
1157
1158   ROM_REGION( 0x100000, "ymsnd.deltat", 0 )
1159   ROM_LOAD( "005-v21.v21", 0x000000, 0x080000, CRC(f94ab5b7) SHA1(2c16985102e3585e08622d8c54ac5c60425b9ff8) ) /* MB834000 */
1160   ROM_LOAD( "005-v22.v22", 0x080000, 0x080000, CRC(232cfd04) SHA1(61b66a9decbbd1f500a8c186615e7fd077c6861e) ) /* MB834000 */
1161
1162   ROM_REGION( 0x300000, "sprites", 0 )
1163   ROM_LOAD16_BYTE( "005-c1.c1", 0x000000, 0x80000, CRC(806aee34) SHA1(3c32a0edbbddb694495b510c13979c44b83de8bc) ) /* Plane 0,1 */ /* MB834200 */
1164   ROM_LOAD16_BYTE( "005-c2.c2", 0x000001, 0x80000, CRC(34aa9a86) SHA1(cec97e1ff7f91158040c629ba75742db82c4ae5e) ) /* Plane 2,3 */ /* MB834200 */
1165   ROM_LOAD16_BYTE( "005-c3.c3", 0x100000, 0x80000, CRC(c4c2b926) SHA1(478bfafca21f5a1338808251a06ab405e6a9e65f) ) /* Plane 0,1 */ /* MB834200 */
1166   ROM_LOAD16_BYTE( "005-c4.c4", 0x100001, 0x80000, CRC(9c46dcf4) SHA1(4c05f3dc25777a87578ce09a6cefb3a4cebf3266) ) /* Plane 2,3 */ /* MB834200 */
1167   ROM_LOAD16_BYTE( "005-c5.c5", 0x200000, 0x80000, CRC(69086dec) SHA1(7fa47f4a765948813ebf366168275dcc3c42e951) ) /* Plane 0,1 */ /* MB834200 */
1168   ROM_LOAD16_BYTE( "005-c6.c6", 0x200001, 0x80000, CRC(ab7ac142) SHA1(e6ad2843947d35d8e913d2666f87946c1ba7944f) ) /* Plane 2,3 */ /* MB834200 */
1169ROM_END
1170
1171/****************************************
1172 ID-0006
1173 . NGM-006
1174 NEO-MVS PROG-HERO / NEO-MVS CHA-32
1175 . NGH-006
1176 NEO-AEG PROG-HERO / NEO-AEG CHA-32
1177****************************************/
1178
1179ROM_START( ridhero ) /* MVS AND AES VERSION */
1180   ROM_REGION( 0x100000, "maincpu", 0 )
1181   ROM_LOAD16_WORD_SWAP( "006-p1.p1", 0x000000, 0x080000, CRC(d4aaf597) SHA1(34d35b71adb5bd06f4f1b50ffd9c58ab9c440a84) ) /* MB834200 */
1182
1183   ROM_REGION( 0x1000, "mcu", 0 )    /* Hitachi HD6301V1 MCU */
1184   ROM_LOAD( "hd6301v1p.com", 0x0000, 0x1000, NO_DUMP )
1185
1186   NEO_SFIX_128K( "006-s1.s1", CRC(eb5189f0) SHA1(0239c342ea62e73140a2306052f226226461a478) ) /* TC531000 */
1187
1188   NEO_BIOS_AUDIO_256K( "006-m1.m1", CRC(92e7b4fe) SHA1(d240056cd632f92bdfaa5e0492c09aa9bd7b0471) ) /* MB832000 */
1189
1190   ROM_REGION( 0x100000, "ymsnd", 0 )
1191   ROM_LOAD( "006-v11.v11", 0x000000, 0x080000, CRC(cdf74a42) SHA1(a17106cc3f9e5c5d52b4def861c0545a98151da2) ) /* MB834000 */
1192   ROM_LOAD( "006-v12.v12", 0x080000, 0x080000, CRC(e2fd2371) SHA1(cc95297bee7ffbdcb24ac4daeb5307cb39a52067) ) /* MB834000 */
1193
1194   ROM_REGION( 0x200000, "ymsnd.deltat", 0 )
1195   ROM_LOAD( "006-v21.v21", 0x000000, 0x080000, CRC(94092bce) SHA1(1a2906271fe6bc396898a756153629a5862930eb) ) /* MB834000 */
1196   ROM_LOAD( "006-v22.v22", 0x080000, 0x080000, CRC(4e2cd7c3) SHA1(72fb215a4f208a22a764e801186d1643d3d840ca) ) /* MB834000 */
1197   ROM_LOAD( "006-v23.v23", 0x100000, 0x080000, CRC(069c71ed) SHA1(f450e9f60cd6ef846dbc77993159ec6157fb64e7) ) /* MB834000 */
1198   ROM_LOAD( "006-v24.v24", 0x180000, 0x080000, CRC(89fbb825) SHA1(656a97c6a8832dab3a5e1577d9cd257b561cc356) ) /* MB834000 */
1199
1200   ROM_REGION( 0x200000, "sprites", 0 )
1201   ROM_LOAD16_BYTE( "006-c1.c1", 0x000000, 0x080000, CRC(4a5c7f78) SHA1(f8f1e6b7841c74368210d52a84307bb28f722a2d) ) /* Plane 0,1 */ /* CXK384000 */
1202   ROM_LOAD16_BYTE( "006-c2.c2", 0x000001, 0x080000, CRC(e0b70ece) SHA1(e2b750e43cdddcea29d1c9c943a3628117a16a1b) ) /* Plane 2,3 */ /* CXK384000 */
1203   ROM_LOAD16_BYTE( "006-c3.c3", 0x100000, 0x080000, CRC(8acff765) SHA1(11fe89b9d112d0658c9ddf40d928584de6ea9202) ) /* Plane 0,1 */ /* CXK384000 */
1204   ROM_LOAD16_BYTE( "006-c4.c4", 0x100001, 0x080000, CRC(205e3208) SHA1(aa2acf2c6f48ffffdcc0c94ddc031acc9e4a2e68) ) /* Plane 2,3 */ /* CXK384000 */
1205ROM_END
1206
1207ROM_START( ridheroh )
1208   ROM_REGION( 0x100000, "maincpu", 0 )
1209   ROM_LOAD16_WORD_SWAP( "006-pg1.p1", 0x000000, 0x080000, BAD_DUMP CRC(52445646) SHA1(647bb31f2f68453c1366cb6e2e867e37d1df7a54) )
1210   /* Chip label p1h does not exist, renamed temporarly to pg1, marked BAD_DUMP. This needs to be verified. */
1211
1212   ROM_REGION( 0x1000, "mcu", 0 )    /* Hitachi HD6301V1 MCU */
1213   ROM_LOAD( "hd6301v1p.com", 0x0000, 0x1000, NO_DUMP )
1214
1215   NEO_SFIX_128K( "006-s1.s1", CRC(eb5189f0) SHA1(0239c342ea62e73140a2306052f226226461a478) ) /* TC531000 */
1216
1217   NEO_BIOS_AUDIO_256K( "006-m1.m1", CRC(92e7b4fe) SHA1(d240056cd632f92bdfaa5e0492c09aa9bd7b0471) ) /* MB832000 */
1218
1219   ROM_REGION( 0x100000, "ymsnd", 0 )
1220   ROM_LOAD( "006-v11.v11", 0x000000, 0x080000, CRC(cdf74a42) SHA1(a17106cc3f9e5c5d52b4def861c0545a98151da2) ) /* MB834000 */
1221   ROM_LOAD( "006-v12.v12", 0x080000, 0x080000, CRC(e2fd2371) SHA1(cc95297bee7ffbdcb24ac4daeb5307cb39a52067) ) /* MB834000 */
1222
1223   ROM_REGION( 0x200000, "ymsnd.deltat", 0 )
1224   ROM_LOAD( "006-v21.v21", 0x000000, 0x080000, CRC(94092bce) SHA1(1a2906271fe6bc396898a756153629a5862930eb) ) /* MB834000 */
1225   ROM_LOAD( "006-v22.v22", 0x080000, 0x080000, CRC(4e2cd7c3) SHA1(72fb215a4f208a22a764e801186d1643d3d840ca) ) /* MB834000 */
1226   ROM_LOAD( "006-v23.v23", 0x100000, 0x080000, CRC(069c71ed) SHA1(f450e9f60cd6ef846dbc77993159ec6157fb64e7) ) /* MB834000 */
1227   ROM_LOAD( "006-v24.v24", 0x180000, 0x080000, CRC(89fbb825) SHA1(656a97c6a8832dab3a5e1577d9cd257b561cc356) ) /* MB834000 */
1228
1229   ROM_REGION( 0x200000, "sprites", 0 )
1230   ROM_LOAD16_BYTE( "006-c1.c1", 0x000000, 0x080000, CRC(4a5c7f78) SHA1(f8f1e6b7841c74368210d52a84307bb28f722a2d) ) /* Plane 0,1 */ /* CXK384000 */
1231   ROM_LOAD16_BYTE( "006-c2.c2", 0x000001, 0x080000, CRC(e0b70ece) SHA1(e2b750e43cdddcea29d1c9c943a3628117a16a1b) ) /* Plane 2,3 */ /* CXK384000 */
1232   ROM_LOAD16_BYTE( "006-c3.c3", 0x100000, 0x080000, CRC(8acff765) SHA1(11fe89b9d112d0658c9ddf40d928584de6ea9202) ) /* Plane 0,1 */ /* CXK384000 */
1233   ROM_LOAD16_BYTE( "006-c4.c4", 0x100001, 0x080000, CRC(205e3208) SHA1(aa2acf2c6f48ffffdcc0c94ddc031acc9e4a2e68) ) /* Plane 2,3 */ /* CXK384000 */
1234ROM_END
1235
1236/****************************************
1237 ID-0007
1238 . NGM-007
1239 NEO-MVS PROG42G / NEO-MVS CHA42G
1240 . NGH-007
1241 NEO-AEG PROG42G / NEO-AEG CHA42G
1242****************************************/
1243
1244ROM_START( alpham2 ) /* MVS AND AES VERSION */
1245   ROM_REGION( 0x100000, "maincpu", 0 )
1246   ROM_LOAD16_WORD_SWAP( "007-p1.p1", 0x000000, 0x080000, CRC(5b266f47) SHA1(8afbf995989f47ad93fea1f31a884afc7228b53a) ) /* TC534200 */
1247   ROM_LOAD16_WORD_SWAP( "007-p2.p2", 0x080000, 0x020000, CRC(eb9c1044) SHA1(65d3416dcd96663bc4e7cefe90ecb7c1eafb2dda) ) /* TC531024 */
1248
1249   NEO_SFIX_128K( "007-s1.s1", CRC(85ec9acf) SHA1(39a11974438ad36a2cc84307151b31474c3c5518) ) /* TC531000 */
1250
1251   NEO_BIOS_AUDIO_128K( "007-m1.m1", CRC(28dfe2cd) SHA1(1a1a99fb917c6c8db591e3be695ce03f843ee1df) ) /* TC531001 */
1252
1253   ROM_REGION( 0x200000, "ymsnd", 0 )
1254   ROM_LOAD( "007-v1.v1", 0x000000, 0x100000, CRC(cd5db931) SHA1(b59f9f2df29f49470312a6cd20f5669b6aaf51ff) ) /* TC538200 */
1255   ROM_LOAD( "007-v2.v2", 0x100000, 0x100000, CRC(63e9b574) SHA1(1ade4cd0b15c84dd4a0fb7f7abf0885eef3a3f71) ) /* TC538200 */
1256
1257   NO_DELTAT_REGION
1258
1259   ROM_REGION( 0x300000, "sprites", 0 )
1260   ROM_LOAD16_BYTE( "007-c1.c1", 0x000000, 0x100000, CRC(8fba8ff3) SHA1(1a682292e99eb91b0edb9771c44bc5e762867e98) ) /* Plane 0,1 */ /* TC538200 */
1261   ROM_LOAD16_BYTE( "007-c2.c2", 0x000001, 0x100000, CRC(4dad2945) SHA1(ac85a146276537fed124bda892bb93ff549f1d93) ) /* Plane 2,3 */ /* TC538200 */
1262   ROM_LOAD16_BYTE( "007-c3.c3", 0x200000, 0x080000, CRC(68c2994e) SHA1(4f8dfc6e5188942e03b853a2c9f0ea6138dec791) ) /* Plane 0,1 */ /* TC534200 */
1263   ROM_LOAD16_BYTE( "007-c4.c4", 0x200001, 0x080000, CRC(7d588349) SHA1(a5ed789d7bbc25be5c5b2d99883b64d379c103a2) ) /* Plane 2,3 */ /* TC534200 */
1264ROM_END
1265
1266ROM_START( alpham2p ) /* early prototype - all roms were hand labeled with CRCs, dumps verified against them */
1267   ROM_REGION( 0x100000, "maincpu", 0 )
1268   ROM_LOAD16_BYTE( "proto_007-p1.p1", 0x000001, 0x080000, CRC(c763e52a) SHA1(b24acbac255c5ee1a2e92e77cdde6620a24081cf) )
1269   ROM_LOAD16_BYTE( "proto_007-p2.p2", 0x000000, 0x080000, CRC(7a0b435c) SHA1(40e6f42a92001d9f4e51898dd7489da143b6b74b) )
1270
1271   NEO_SFIX_128K( "proto_007-s1.s1", CRC(efc9ae2e) SHA1(a594826b0082fe5a13191673e8d9aa42517230f5) )
1272
1273   NEO_BIOS_AUDIO_128K( "proto_007-m1.m1", CRC(5976b464) SHA1(ec824567ecc3579f6d86c9d9385710cbaeef16a3) )
1274
1275   ROM_REGION( 0x200000, "ymsnd", 0 )
1276   ROM_LOAD( "proto_007-v11.v11", 0x000000, 0x080000, CRC(18eaa9e1) SHA1(85c94d8660f8a32e4ca8e015f0bd704208482d68) )
1277   ROM_LOAD( "proto_007-v12.v12", 0x080000, 0x080000, CRC(2487d495) SHA1(49af3c4dc6a38c5158d3641fd8f9a40041b42aa6) )
1278   ROM_LOAD( "proto_007-v13.v13", 0x100000, 0x080000, CRC(25e60f25) SHA1(d06b0df872372de38fcf90187195070ac5f8c651) )
1279   ROM_LOAD( "proto_007-v21.v21", 0x180000, 0x080000, CRC(ac44b75a) SHA1(7399a05cd4e2c7ecde4a7323d3e189255afe5fc2) )
1280
1281   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1282   ROM_COPY( "ymsnd", 0x180000, 0x00000, 0x80000 )
1283
1284   ROM_REGION( 0x400000, "sprites", 0 ) // note, ROM_LOAD32_BYTE
1285   ROM_LOAD32_BYTE( "proto_007-c1.c1", 0x000000, 0x80000, CRC(24841639) SHA1(fcc2a349121dad86ffefc44b9f0e8ba616ce0d30) ) /* Plane 0 */
1286   ROM_LOAD32_BYTE( "proto_007-c2.c2", 0x000002, 0x80000, CRC(912763ab) SHA1(cedf26d7d85ad140399ee62813c71f35e65498d6) ) /* Plane 2 */
1287   ROM_LOAD32_BYTE( "proto_007-c3.c3", 0x000001, 0x80000, CRC(0743bde2) SHA1(0d13ad6333909ad3cf10f9ac360f9abf191318de) ) /* Plane 1 */
1288   ROM_LOAD32_BYTE( "proto_007-c4.c4", 0x000003, 0x80000, CRC(61240212) SHA1(dee36f6604adaeb96e0d761a7256241c066b1cd2) ) /* Plane 3 */
1289   ROM_LOAD32_BYTE( "proto_007-c5.c5", 0x200000, 0x80000, CRC(cf9f4c53) SHA1(f979c85f83d9f76e554c2617f85f6d4efca6799c) ) /* Plane 0 */
1290   ROM_LOAD32_BYTE( "proto_007-c6.c6", 0x200002, 0x80000, CRC(3d903b19) SHA1(001a8c762336b855fe1df69fe2e605d30a3f00a1) ) /* Plane 2 */
1291   ROM_LOAD32_BYTE( "proto_007-c7.c7", 0x200001, 0x80000, CRC(e41e3875) SHA1(730aceb8a66cb33d0194b096568f053ad7dc000a) ) /* Plane 1 */
1292   ROM_LOAD32_BYTE( "proto_007-c8.c8", 0x200003, 0x80000, CRC(4483e2cf) SHA1(47c3364f5c36ae9dc3a49fe37ca60bcee0e73314) ) /* Plane 3 */
1293ROM_END
1294
1295/****************************************
1296 ID-0008
1297 Sunshine (prototype) 1990 SNK
1298****************************************/
1299
1300/****************************************
1301 ID-0009
1302 . NGM-009
1303 NEO-MVS PROG-EP / NEO-MVS CHA-32
1304 . NGH-009
1305 NEO-AEG PROG-4A / NEO-AEG CHA-32
1306****************************************/
1307
1308ROM_START( ncombat ) /* MVS VERSION */
1309   ROM_REGION( 0x100000, "maincpu", 0 )
1310   ROM_LOAD16_WORD_SWAP( "009-p1.p1", 0x000000, 0x080000, CRC(b45fcfbf) SHA1(3872147dda2d1ba905d35f4571065d87b1958b4a) ) /* TC534200 */
1311
1312   NEO_SFIX_128K( "009-s1.s1", CRC(d49afee8) SHA1(77615f12edf08ae8f1353f7a056a8f3a50d3ebdc) ) /* TC531000 */
1313
1314   NEO_BIOS_AUDIO_128K( "009-m1.m1", CRC(b5819863) SHA1(6f2309d51531052dbf7d712993c9e35649db0d84) ) /* TC531001 */
1315
1316   ROM_REGION( 0x180000, "ymsnd", 0 )
1317   ROM_LOAD( "009-v11.v11", 0x000000, 0x080000, CRC(cf32a59c) SHA1(af5b7fcd8a4aff1307c0a1d937e5f0460c32de79) ) /* TC534000 */
1318   ROM_LOAD( "009-v12.v12", 0x080000, 0x080000, CRC(7b3588b7) SHA1(a4e6d9d4113ff4ce48b371f65e9187d551821d3b) ) /* TC534000 */
1319   ROM_LOAD( "009-v13.v13", 0x100000, 0x080000, CRC(505a01b5) SHA1(9426a4f5b31e16f74e72e61951c189a878f211c5) ) /* TC534000 */
1320
1321   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1322   ROM_LOAD( "009-v21.v21", 0x000000, 0x080000, CRC(365f9011) SHA1(aebd292214ab280b05ee9e759b7e9a681a099c4a) ) /* TC534000 */
1323
1324   ROM_REGION( 0x300000, "sprites", 0 )
1325   ROM_LOAD16_BYTE( "009-c1.c1", 0x000000, 0x80000, CRC(33cc838e) SHA1(c445c891c0ba4190aa0b472786150620e76df5b4) ) /* Plane 0,1 */ /* TC534200 */
1326   ROM_LOAD16_BYTE( "009-c2.c2", 0x000001, 0x80000, CRC(26877feb) SHA1(8f48097fb8e4757f50b6d86219122fbf4b6f87ef) ) /* Plane 2,3 */ /* TC534200 */
1327   ROM_LOAD16_BYTE( "009-c3.c3", 0x100000, 0x80000, CRC(3b60a05d) SHA1(0a165a17af4834876fcd634599cd2208adc9248f) ) /* Plane 0,1 */ /* TC534200 */
1328   ROM_LOAD16_BYTE( "009-c4.c4", 0x100001, 0x80000, CRC(39c2d039) SHA1(8ca6c3f977c43c7abba2a00a0e70f02e2a49f5f2) ) /* Plane 2,3 */ /* TC534200 */
1329   ROM_LOAD16_BYTE( "009-c5.c5", 0x200000, 0x80000, CRC(67a4344e) SHA1(b325f152c7b2388fc92c5826e1dc99094b9ea749) ) /* Plane 0,1 */ /* TC534200 */
1330   ROM_LOAD16_BYTE( "009-c6.c6", 0x200001, 0x80000, CRC(2eca8b19) SHA1(16764ef10e404325ba0a1a2ad3a4c0af287be21f) ) /* Plane 2,3 */ /* TC534200 */
1331ROM_END
1332
1333ROM_START( ncombath ) /* AES VERSION */
1334   ROM_REGION( 0x100000, "maincpu", 0 )
1335   ROM_LOAD16_WORD_SWAP( "009-pg1.p1", 0x000000, 0x080000, CRC(8e9f0add) SHA1(d0b908a86a58f2537eea73a431038f1cd74a5a2f) ) /* TC534200 */
1336
1337   NEO_SFIX_128K( "009-s1.s1", CRC(d49afee8) SHA1(77615f12edf08ae8f1353f7a056a8f3a50d3ebdc) ) /* TC531000 */
1338
1339   NEO_BIOS_AUDIO_128K( "009-m1.m1", CRC(b5819863) SHA1(6f2309d51531052dbf7d712993c9e35649db0d84) ) /* TC531001 */
1340
1341   ROM_REGION( 0x180000, "ymsnd", 0 )
1342   ROM_LOAD( "009-v11.v11", 0x000000, 0x080000, CRC(cf32a59c) SHA1(af5b7fcd8a4aff1307c0a1d937e5f0460c32de79) ) /* TC534000 */
1343   ROM_LOAD( "009-v12.v12", 0x080000, 0x080000, CRC(7b3588b7) SHA1(a4e6d9d4113ff4ce48b371f65e9187d551821d3b) ) /* TC534000 */
1344   ROM_LOAD( "009-v13.v13", 0x100000, 0x080000, CRC(505a01b5) SHA1(9426a4f5b31e16f74e72e61951c189a878f211c5) ) /* TC534000 */
1345
1346   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1347   ROM_LOAD( "009-v21.v21", 0x000000, 0x080000, CRC(365f9011) SHA1(aebd292214ab280b05ee9e759b7e9a681a099c4a) ) /* TC534000 */
1348
1349   ROM_REGION( 0x300000, "sprites", 0 )
1350   ROM_LOAD16_BYTE( "009-c1.c1", 0x000000, 0x80000, CRC(33cc838e) SHA1(c445c891c0ba4190aa0b472786150620e76df5b4) ) /* Plane 0,1 */ /* TC534200 */
1351   ROM_LOAD16_BYTE( "009-c2.c2", 0x000001, 0x80000, CRC(26877feb) SHA1(8f48097fb8e4757f50b6d86219122fbf4b6f87ef) ) /* Plane 2,3 */ /* TC534200 */
1352   ROM_LOAD16_BYTE( "009-c3.c3", 0x100000, 0x80000, CRC(3b60a05d) SHA1(0a165a17af4834876fcd634599cd2208adc9248f) ) /* Plane 0,1 */ /* TC534200 */
1353   ROM_LOAD16_BYTE( "009-c4.c4", 0x100001, 0x80000, CRC(39c2d039) SHA1(8ca6c3f977c43c7abba2a00a0e70f02e2a49f5f2) ) /* Plane 2,3 */ /* TC534200 */
1354   ROM_LOAD16_BYTE( "009-c5.c5", 0x200000, 0x80000, CRC(67a4344e) SHA1(b325f152c7b2388fc92c5826e1dc99094b9ea749) ) /* Plane 0,1 */ /* TC534200 */
1355   ROM_LOAD16_BYTE( "009-c6.c6", 0x200001, 0x80000, CRC(2eca8b19) SHA1(16764ef10e404325ba0a1a2ad3a4c0af287be21f) ) /* Plane 2,3 */ /* TC534200 */
1356ROM_END
1357
1358/****************************************
1359 ID-0010
1360 . NGM-010
1361 NEO-MVS PROG-EP / NEO-MVS CHA-32
1362 . NGH-010
1363****************************************/
1364
1365ROM_START( cyberlip )
1366   ROM_REGION( 0x100000, "maincpu", 0 )
1367   ROM_LOAD16_WORD_SWAP( "010-p1.p1", 0x000000, 0x080000, CRC(69a6b42d) SHA1(6e7cb089de83f1d22cc4a87db5b1a94bf76fb1e8) ) /* TC534200 */
1368
1369   NEO_SFIX_128K( "010-s1.s1", CRC(79a35264) SHA1(c2819a82adbe1f5e489496e0e03477863a5b7665) ) /* TC531000 */
1370
1371   NEO_BIOS_AUDIO_128K( "010-m1.m1", CRC(8be3a078) SHA1(054ec6a061fcc88df1ecbb0a01611a31f37a7709) ) /* TC531001 */
1372
1373   ROM_REGION( 0x200000, "ymsnd", 0 )
1374   ROM_LOAD( "010-v11.v11", 0x000000, 0x080000, CRC(90224d22) SHA1(5443ee6f90d80d43194cb4b4f0e08851a59e7784) ) /* TC534000 */
1375   ROM_LOAD( "010-v12.v12", 0x080000, 0x080000, CRC(a0cf1834) SHA1(8df57a7941bdae7e446a6056039adb012cdde246) ) /* TC534000 */
1376   ROM_LOAD( "010-v13.v13", 0x100000, 0x080000, CRC(ae38bc84) SHA1(c0937b4f89b8b26c8a0e747b234f44ad6a3bf2ba) ) /* TC534000 */
1377   ROM_LOAD( "010-v14.v14", 0x180000, 0x080000, CRC(70899bd2) SHA1(8cf01144f0bcf59f09777175ae6b71846b09f3a1) ) /* TC534000 */
1378
1379   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1380   ROM_LOAD( "010-v21.v21", 0x000000, 0x080000, CRC(586f4cb2) SHA1(588460031d84c308e3353ecf714db9986425c21c) ) /* TC534000 */
1381
1382   ROM_REGION( 0x300000, "sprites", 0 )
1383   ROM_LOAD16_BYTE( "010-c1.c1", 0x000000, 0x80000, CRC(8bba5113) SHA1(70f0926409ab265da4b8632500d1d32d63cf77cf) ) /* Plane 0,1 */ /* TC534200 */
1384   ROM_LOAD16_BYTE( "010-c2.c2", 0x000001, 0x80000, CRC(cbf66432) SHA1(cc529640c475d08330e116ea9c5e5a28b7cd13db) ) /* Plane 2,3 */ /* TC534200 */
1385   ROM_LOAD16_BYTE( "010-c3.c3", 0x100000, 0x80000, CRC(e4f86efc) SHA1(fa60863d8a7ed4f21d30f91eb1936d0b8329db7a) ) /* Plane 0,1 */ /* TC534200 */
1386   ROM_LOAD16_BYTE( "010-c4.c4", 0x100001, 0x80000, CRC(f7be4674) SHA1(b4ad0432d4bb6d5a98e27015910343c964b73ed4) ) /* Plane 2,3 */ /* TC534200 */
1387   ROM_LOAD16_BYTE( "010-c5.c5", 0x200000, 0x80000, CRC(e8076da0) SHA1(3ec5cc19809dea688041a42b32c13d257576f3da) ) /* Plane 0,1 */ /* TC534200 */
1388   ROM_LOAD16_BYTE( "010-c6.c6", 0x200001, 0x80000, CRC(c495c567) SHA1(2f58475fbb5f1adafce027d396fb05dd71e8fb55) ) /* Plane 2,3 */ /* TC534200 */
1389ROM_END
1390
1391/****************************************
1392 ID-0011
1393 . NGM-011
1394 NEO-MVS PROG-8MB / NEO-MVS CHA-8M
1395 . NGH-011
1396 NEO-AEG PROG-8MB / NEO-AEG CHA-8M
1397****************************************/
1398
1399ROM_START( superspy ) /* MVS AND AES VERSION */
1400   ROM_REGION( 0x100000, "maincpu", 0 )
1401   ROM_LOAD16_WORD_SWAP( "011-p1.p1",  0x000000, 0x080000, CRC(c7f944b5) SHA1(da7560e09187c68f1d9f7656218497b4464c56c9) ) /* MB834200 */
1402   ROM_LOAD16_WORD_SWAP( "sp2.p2",     0x080000, 0x020000, CRC(811a4faf) SHA1(8169dfaf79f52d80ecec402ce1b1ab9cafb7ebdd) ) /* TC531024 */
1403
1404   NEO_SFIX_128K( "011-s1.s1", CRC(ec5fdb96) SHA1(8003028025ac7bf531e568add6ba66c02d0b7e84) ) /* MB831000 */
1405
1406   NEO_BIOS_AUDIO_256K( "011-m1.m1", CRC(ca661f1b) SHA1(4e3cb57db716ec48487c1b070c3a55a5faf40856) ) /* MB832000 */
1407
1408   ROM_REGION( 0x180000, "ymsnd", 0 )
1409   ROM_LOAD( "011-v11.v11", 0x000000, 0x100000, CRC(5c674d5c) SHA1(d7b9beddeb247b584cea9ca6c43ec6869809b673) ) /* MB838000 */
1410   ROM_LOAD( "011-v12.v12", 0x100000, 0x080000, CRC(9f513d5a) SHA1(37b04962f0b8e2a74abd35c407337a6151dc4e95) ) /* MB834000 */
1411
1412   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1413   ROM_LOAD( "011-v21.v21", 0x000000, 0x080000, CRC(426cd040) SHA1(b2b45189837c8287223c2b8bd4df9525b72a3f16) ) /* MB834000 */
1414
1415   ROM_REGION( 0x400000, "sprites", 0 )
1416   ROM_LOAD16_BYTE( "011-c1.c1", 0x000000, 0x100000, CRC(cae7be57) SHA1(43b35b349594535689c358d9f324adda55e5281a) ) /* Plane 0,1 */ /* MB838200 */
1417   ROM_LOAD16_BYTE( "011-c2.c2", 0x000001, 0x100000, CRC(9e29d986) SHA1(b417763bad1acf76116cd56f4203c2d2677e22e5) ) /* Plane 2,3 */ /* MB838200 */
1418   ROM_LOAD16_BYTE( "011-c3.c3", 0x200000, 0x100000, CRC(14832ff2) SHA1(1179792d773d97d5e45e7d8f009051d362d72e24) ) /* Plane 0,1 */ /* MB838200 */
1419   ROM_LOAD16_BYTE( "011-c4.c4", 0x200001, 0x100000, CRC(b7f63162) SHA1(077a81b2bb0a8f17c9df6945078608f74432877a) ) /* Plane 2,3 */ /* MB838200 */
1420ROM_END
1421
1422/****************************************
1423 ID-0012
1424 unknown
1425****************************************/
1426
1427/****************************************
1428 ID-0013
1429 unknown
1430****************************************/
1431
1432/****************************************
1433 ID-0014
1434 . NGM-014
1435 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1436 . NGH-014
1437 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
1438****************************************/
1439
1440ROM_START( mutnat ) /* MVS AND AES VERSION */
1441   ROM_REGION( 0x100000, "maincpu", 0 )
1442   ROM_LOAD16_WORD_SWAP( "014-p1.p1", 0x000000, 0x080000, CRC(6f1699c8) SHA1(87206f67a619dede7959230f9ff3701b8b78957a) ) /* CXK384500 */
1443
1444   NEO_SFIX_128K( "014-s1.s1", CRC(99419733) SHA1(b2524af8704941acc72282aa1d62fd4c93e3e822) ) /* CXK381000 */
1445
1446   NEO_BIOS_AUDIO_128K( "014-m1.m1", CRC(b6683092) SHA1(623ec7ec2915fb077bf65b4a16c815e071c25259) ) /* CXK381003A */
1447
1448   ROM_REGION( 0x200000, "ymsnd", 0 )
1449   ROM_LOAD( "014-v1.v1", 0x000000, 0x100000, CRC(25419296) SHA1(c9fc04987c4e0875d276e1a0fb671740b6f548ad) ) /* CXK388000 */
1450   ROM_LOAD( "014-v2.v2", 0x100000, 0x100000, CRC(0de53d5e) SHA1(467f6040da3dfb1974785e95e14c3f608a93720a) ) /* CXK388000 */
1451
1452   NO_DELTAT_REGION
1453
1454   ROM_REGION( 0x400000, "sprites", 0 )
1455   ROM_LOAD16_BYTE( "014-c1.c1", 0x000000, 0x100000, CRC(5e4381bf) SHA1(d429a5e09dafd2fb99495658b3652eecbf58f91b) ) /* Plane 0,1 */ /* CXK388000 */
1456   ROM_LOAD16_BYTE( "014-c2.c2", 0x000001, 0x100000, CRC(69ba4e18) SHA1(b3369190c47771a790c7adffa958ff55d90e758b) ) /* Plane 2,3 */ /* CXK388000 */
1457   ROM_LOAD16_BYTE( "014-c3.c3", 0x200000, 0x100000, CRC(890327d5) SHA1(47f97bf120a8480758e1f3bb8982be4c5325c036) ) /* Plane 0,1 */ /* CXK388000 */
1458   ROM_LOAD16_BYTE( "014-c4.c4", 0x200001, 0x100000, CRC(e4002651) SHA1(17e53a5f4708866a120415bf24f3b89621ad0bcc) ) /* Plane 2,3 */ /* CXK388000 */
1459ROM_END
1460
1461/****************************************
1462 ID-0015
1463 unknown
1464****************************************/
1465
1466/****************************************
1467 ID-0016
1468 . NGM-016
1469 NEO-MVS PROG42G   / NEO-MVS CHA42G
1470 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1471 . NGH-016
1472 NEO-AEG PROG42G / NEO-AEG CHA42G
1473****************************************/
1474
1475ROM_START( kotm ) /* MVS VERSION */
1476   ROM_REGION( 0x100000, "maincpu", 0 )
1477   ROM_LOAD16_WORD_SWAP( "016-p1.p1", 0x000000, 0x080000, CRC(1b818731) SHA1(b98b1b33c0301fd79aac908f6b635dd00d1cb08d) ) /* TC534200 */
1478   ROM_LOAD16_WORD_SWAP( "016-p2.p2", 0x080000, 0x020000, CRC(12afdc2b) SHA1(3a95f5910cbb9f17e63ddece995c6e120fa2f622) ) /* TC531024 */
1479
1480   NEO_SFIX_128K( "016-s1.s1", CRC(1a2eeeb3) SHA1(8d2b96d395020197bc59294b6b0c8d62b1d8d4dd) ) /* TC531000 */
1481
1482   NEO_BIOS_AUDIO_128K( "016-m1.m1", CRC(9da9ca10) SHA1(88b915827d529f39c365d3e41197d5461e07a085) ) /* TC531001 */
1483
1484   ROM_REGION( 0x200000, "ymsnd", 0 )
1485   ROM_LOAD( "016-v1.v1", 0x000000, 0x100000, CRC(86c0a502) SHA1(7fe2db0c64aefdd14d6c36f7fcd6442591e9a014) ) /* TC538200 */
1486   ROM_LOAD( "016-v2.v2", 0x100000, 0x100000, CRC(5bc23ec5) SHA1(f4ff5d20587469daa026d5c812739335ce53cfdf) ) /* TC538200 */
1487
1488   NO_DELTAT_REGION
1489
1490   ROM_REGION( 0x400000, "sprites", 0 )
1491   ROM_LOAD16_BYTE( "016-c1.c1", 0x000000, 0x100000, CRC(71471c25) SHA1(bc8e3fee56b33ef2bac5b4b852339d2fbcd09b7c) ) /* Plane 0,1 */ /* TC538200 */
1492   ROM_LOAD16_BYTE( "016-c2.c2", 0x000001, 0x100000, CRC(320db048) SHA1(d6b43834de6f5442e23ca8fb26b3a36e96790d8d) ) /* Plane 2,3 */ /* TC538200 */
1493   ROM_LOAD16_BYTE( "016-c3.c3", 0x200000, 0x100000, CRC(98de7995) SHA1(e33edf4d36c82196d2b474e37be180a05976f558) ) /* Plane 0,1 */ /* TC538200 */
1494   ROM_LOAD16_BYTE( "016-c4.c4", 0x200001, 0x100000, CRC(070506e2) SHA1(3a2ec365e1d87a9c5ce1ee9bea88402a8eef4ed7) ) /* Plane 2,3 */ /* TC538200 */
1495ROM_END
1496
1497ROM_START( kotmh ) /* AES VERSION */
1498   ROM_REGION( 0x100000, "maincpu", 0 )
1499   ROM_LOAD16_WORD_SWAP( "016-hp1.p1",0x000000, 0x080000, CRC(b774621e) SHA1(7684b2e07163aec68cd083ef1d8900f855f6cb42) ) /* TC534200 */
1500   ROM_LOAD16_WORD_SWAP( "016-p2.p2", 0x080000, 0x020000, CRC(12afdc2b) SHA1(3a95f5910cbb9f17e63ddece995c6e120fa2f622) ) /* TC531024 */
1501
1502   NEO_SFIX_128K( "016-s1.s1", CRC(1a2eeeb3) SHA1(8d2b96d395020197bc59294b6b0c8d62b1d8d4dd) ) /* TC531000 */
1503
1504   NEO_BIOS_AUDIO_128K( "016-m1.m1", CRC(9da9ca10) SHA1(88b915827d529f39c365d3e41197d5461e07a085) ) /* TC531001 */
1505
1506   ROM_REGION( 0x200000, "ymsnd", 0 )
1507   ROM_LOAD( "016-v1.v1", 0x000000, 0x100000, CRC(86c0a502) SHA1(7fe2db0c64aefdd14d6c36f7fcd6442591e9a014) ) /* TC538200 */
1508   ROM_LOAD( "016-v2.v2", 0x100000, 0x100000, CRC(5bc23ec5) SHA1(f4ff5d20587469daa026d5c812739335ce53cfdf) ) /* TC538200 */
1509
1510   NO_DELTAT_REGION
1511
1512   ROM_REGION( 0x400000, "sprites", 0 )
1513   ROM_LOAD16_BYTE( "016-c1.c1", 0x000000, 0x100000, CRC(71471c25) SHA1(bc8e3fee56b33ef2bac5b4b852339d2fbcd09b7c) ) /* Plane 0,1 */ /* TC538200 */
1514   ROM_LOAD16_BYTE( "016-c2.c2", 0x000001, 0x100000, CRC(320db048) SHA1(d6b43834de6f5442e23ca8fb26b3a36e96790d8d) ) /* Plane 2,3 */ /* TC538200 */
1515   ROM_LOAD16_BYTE( "016-c3.c3", 0x200000, 0x100000, CRC(98de7995) SHA1(e33edf4d36c82196d2b474e37be180a05976f558) ) /* Plane 0,1 */ /* TC538200 */
1516   ROM_LOAD16_BYTE( "016-c4.c4", 0x200001, 0x100000, CRC(070506e2) SHA1(3a2ec365e1d87a9c5ce1ee9bea88402a8eef4ed7) ) /* Plane 2,3 */ /* TC538200 */
1517ROM_END
1518
1519/****************************************
1520 ID-0017
1521 . NGM-017
1522 NEO-MVS PROG42G / NEO-MVS CHA42G
1523 . NGH-017
1524 NEO-AEG PROG42G / NEO-AEG CHA42G
1525****************************************/
1526
1527ROM_START( sengoku ) /* MVS AND AES VERSION */
1528   ROM_REGION( 0x100000, "maincpu", 0 )
1529   ROM_LOAD16_WORD_SWAP( "017-p1.p1", 0x000000, 0x080000, CRC(f8a63983) SHA1(7a10ecb2f0fd8315641374c065d2602107b09e72) ) /* TC534200 */
1530   ROM_LOAD16_WORD_SWAP( "017-p2.p2", 0x080000, 0x020000, CRC(3024bbb3) SHA1(88892e1292dd60f35a76f9a22e623d4f0f9693cc) ) /* TC531024 */
1531
1532   NEO_SFIX_128K( "017-s1.s1", CRC(b246204d) SHA1(73dce64c61fb5bb7e836a8e60f081bb77d80d281) ) /* TC531000 */
1533
1534   NEO_BIOS_AUDIO_128K( "017-m1.m1", CRC(9b4f34c6) SHA1(7f3a51f47fcbaa598f5c76bc66e2c53c8dfd852d) ) /* TC531001 */
1535
1536   ROM_REGION( 0x200000, "ymsnd", 0 )
1537   ROM_LOAD( "017-v1.v1", 0x000000, 0x100000, CRC(23663295) SHA1(9374a5d9f3de8e6a97c11f07d8b4485ac9d55edb) ) /* TC538200 */
1538   ROM_LOAD( "017-v2.v2", 0x100000, 0x100000, CRC(f61e6765) SHA1(1c9b287996947319eb3d288c3d82932cf01039db) ) /* TC538200 */
1539
1540   NO_DELTAT_REGION
1541
1542   ROM_REGION( 0x400000, "sprites", 0 )
1543   ROM_LOAD16_BYTE( "017-c1.c1", 0x000000, 0x100000, CRC(b4eb82a1) SHA1(79879e2ea78c07d04c88dc9a1ad59604b7a078be) ) /* Plane 0,1 */ /* TC538200 */
1544   ROM_LOAD16_BYTE( "017-c2.c2", 0x000001, 0x100000, CRC(d55c550d) SHA1(6110f693aa23710939c04153cf5af26493e4a03f) ) /* Plane 2,3 */ /* TC538200 */
1545   ROM_LOAD16_BYTE( "017-c3.c3", 0x200000, 0x100000, CRC(ed51ef65) SHA1(e8a8d86e24454948e51a75c883bc6e4091cbf820) ) /* Plane 0,1 */ /* TC538200 */
1546   ROM_LOAD16_BYTE( "017-c4.c4", 0x200001, 0x100000, CRC(f4f3c9cb) SHA1(8faafa89dbd0345218f71f891419d2e4e7578200) ) /* Plane 2,3 */ /* TC538200 */
1547ROM_END
1548
1549ROM_START( sengokuh ) /* AES VERSION (US) */
1550   ROM_REGION( 0x100000, "maincpu", 0 )
1551   ROM_LOAD16_WORD_SWAP( "017-hp1.p1", 0x000000, 0x080000, CRC(33eccae0) SHA1(000ccf9a9c73df75eeba3f2c367c3a1a9e0a3a6b) ) /* TC534200 */
1552   ROM_LOAD16_WORD_SWAP( "017-p2.p2",  0x080000, 0x020000, CRC(3024bbb3) SHA1(88892e1292dd60f35a76f9a22e623d4f0f9693cc) ) /* TC531024 */
1553
1554   NEO_SFIX_128K( "017-s1.s1", CRC(b246204d) SHA1(73dce64c61fb5bb7e836a8e60f081bb77d80d281) ) /* TC531000 */
1555
1556   NEO_BIOS_AUDIO_128K( "017-m1.m1", CRC(9b4f34c6) SHA1(7f3a51f47fcbaa598f5c76bc66e2c53c8dfd852d) ) /* TC531001 */
1557
1558   ROM_REGION( 0x200000, "ymsnd", 0 )
1559   ROM_LOAD( "017-v1.v1", 0x000000, 0x100000, CRC(23663295) SHA1(9374a5d9f3de8e6a97c11f07d8b4485ac9d55edb) ) /* TC538200 */
1560   ROM_LOAD( "017-v2.v2", 0x100000, 0x100000, CRC(f61e6765) SHA1(1c9b287996947319eb3d288c3d82932cf01039db) ) /* TC538200 */
1561
1562   NO_DELTAT_REGION
1563
1564   ROM_REGION( 0x400000, "sprites", 0 )
1565   ROM_LOAD16_BYTE( "017-c1.c1", 0x000000, 0x100000, CRC(b4eb82a1) SHA1(79879e2ea78c07d04c88dc9a1ad59604b7a078be) ) /* Plane 0,1 */ /* TC538200 */
1566   ROM_LOAD16_BYTE( "017-c2.c2", 0x000001, 0x100000, CRC(d55c550d) SHA1(6110f693aa23710939c04153cf5af26493e4a03f) ) /* Plane 2,3 */ /* TC538200 */
1567   ROM_LOAD16_BYTE( "017-c3.c3", 0x200000, 0x100000, CRC(ed51ef65) SHA1(e8a8d86e24454948e51a75c883bc6e4091cbf820) ) /* Plane 0,1 */ /* TC538200 */
1568   ROM_LOAD16_BYTE( "017-c4.c4", 0x200001, 0x100000, CRC(f4f3c9cb) SHA1(8faafa89dbd0345218f71f891419d2e4e7578200) ) /* Plane 2,3 */ /* TC538200 */
1569ROM_END
1570
1571/****************************************
1572 ID-0018
1573 . NGM-018
1574 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1575 also found on (seen several times; CHA and PROG board are 'manually patched up' with wires and resistors)
1576 NEO-MVS PROG42G / NEO-MVS CHA42G
1577 . NGH-018
1578 NEO-AEG PROG42G / NEO-AEG CHA42G
1579****************************************/
1580
1581ROM_START( burningf ) /* MVS AND AES VERSION */
1582   ROM_REGION( 0x100000, "maincpu", 0 )
1583   ROM_LOAD16_WORD_SWAP( "018-p1.p1", 0x000000, 0x080000, CRC(4092c8db) SHA1(df194a4ad2c35e0e18bc053ff9284183444a4666) ) /* HN62434 */
1584
1585   NEO_SFIX_128K( "018-s1.s1", CRC(6799ea0d) SHA1(ec75ef9dfdcb0b123574fc6d81ebaaadfba32fb5) ) /* HN62321 */
1586
1587   NEO_BIOS_AUDIO_128K( "018-m1.m1", CRC(0c939ee2) SHA1(57d580d3279e66b9fe66bbcc68529d3384a926ff) ) /* HN62321A */
1588
1589   ROM_REGION( 0x200000, "ymsnd", 0 )
1590   ROM_LOAD( "018-v1.v1", 0x000000, 0x100000, CRC(508c9ffc) SHA1(cd3a97a233a4585f8507116aba85884623cccdc4) ) /* HN62408 */
1591   ROM_LOAD( "018-v2.v2", 0x100000, 0x100000, CRC(854ef277) SHA1(4b3083b9c80620064cb44e812a787a700e32a6f3) ) /* HN62408 */
1592
1593   NO_DELTAT_REGION
1594
1595   ROM_REGION( 0x400000, "sprites", 0 )
1596   ROM_LOAD16_BYTE( "018-c1.c1", 0x000000, 0x100000, CRC(25a25e9b) SHA1(3cf02d0662e190678d0530d7b7d3f425209adf83) ) /* Plane 0,1 */ /* HN62408 */
1597   ROM_LOAD16_BYTE( "018-c2.c2", 0x000001, 0x100000, CRC(d4378876) SHA1(45659aa1755d96b992c977042186e47fff68bba9) ) /* Plane 2,3 */ /* HN62408 */
1598   ROM_LOAD16_BYTE( "018-c3.c3", 0x200000, 0x100000, CRC(862b60da) SHA1(e2303eb1609f1050f0b4f46693a15e37deb176fb) ) /* Plane 0,1 */ /* HN62408 */
1599   ROM_LOAD16_BYTE( "018-c4.c4", 0x200001, 0x100000, CRC(e2e0aff7) SHA1(1c691c092a6e2787de4f433b0eb9252bfdaa7e16) ) /* Plane 2,3 */ /* HN62408 */
1600ROM_END
1601
1602ROM_START( burningfh ) /* AES VERSION (US) */
1603   ROM_REGION( 0x100000, "maincpu", 0 )
1604   ROM_LOAD16_WORD_SWAP( "018-hp1.p1", 0x000000, 0x080000, CRC(ddffcbf4) SHA1(c646c4bbdb4e9b32df76c90f582ccd69fcc9f8e7) ) /* HN62434 */
1605
1606   NEO_SFIX_128K( "018-s1.s1", CRC(6799ea0d) SHA1(ec75ef9dfdcb0b123574fc6d81ebaaadfba32fb5) ) /* HN62321 */
1607
1608   NEO_BIOS_AUDIO_128K( "018-m1.m1", CRC(0c939ee2) SHA1(57d580d3279e66b9fe66bbcc68529d3384a926ff) ) /* HN62321A */
1609
1610   ROM_REGION( 0x200000, "ymsnd", 0 )
1611   ROM_LOAD( "018-v1.v1", 0x000000, 0x100000, CRC(508c9ffc) SHA1(cd3a97a233a4585f8507116aba85884623cccdc4) ) /* HN62408 */
1612   ROM_LOAD( "018-v2.v2", 0x100000, 0x100000, CRC(854ef277) SHA1(4b3083b9c80620064cb44e812a787a700e32a6f3) ) /* HN62408 */
1613
1614   NO_DELTAT_REGION
1615
1616   ROM_REGION( 0x400000, "sprites", 0 )
1617   ROM_LOAD16_BYTE( "018-c1.c1", 0x000000, 0x100000, CRC(25a25e9b) SHA1(3cf02d0662e190678d0530d7b7d3f425209adf83) ) /* Plane 0,1 */ /* HN62408 */
1618   ROM_LOAD16_BYTE( "018-c2.c2", 0x000001, 0x100000, CRC(d4378876) SHA1(45659aa1755d96b992c977042186e47fff68bba9) ) /* Plane 2,3 */ /* HN62408 */
1619   ROM_LOAD16_BYTE( "018-c3.c3", 0x200000, 0x100000, CRC(862b60da) SHA1(e2303eb1609f1050f0b4f46693a15e37deb176fb) ) /* Plane 0,1 */ /* HN62408 */
1620   ROM_LOAD16_BYTE( "018-c4.c4", 0x200001, 0x100000, CRC(e2e0aff7) SHA1(1c691c092a6e2787de4f433b0eb9252bfdaa7e16) ) /* Plane 2,3 */ /* HN62408 */
1621ROM_END
1622
1623ROM_START( burningfp ) /* early prototype - all roms were hand labeled with CRCs, dumps verified against them */
1624   ROM_REGION( 0x100000, "maincpu", 0 )
1625   ROM_LOAD16_BYTE( "proto_018-p1.p1", 0x000001, 0x080000, CRC(5b4032e7) SHA1(55df91dad6f484d3d49c28ab5972700bf71a8662) )
1626   ROM_LOAD16_BYTE( "proto_018-p2.p2", 0x000000, 0x080000, CRC(78762f68) SHA1(12170fc6efe75cb5d32624033d3d341032c97548) )
1627
1628   NEO_SFIX_128K( "proto_018-s1.s1", CRC(f3d130e8) SHA1(2fdeb93f4bb2a60d391cac2822be41661b1e1795) )
1629
1630   NEO_BIOS_AUDIO_128K( "proto_018-m1.m1", CRC(470dd5d4) SHA1(4291811b4aefe45261a1ae3631b6999fcd74fb3f) )
1631
1632   ROM_REGION( 0x200000, "ymsnd", 0 )
1633   ROM_LOAD( "proto_018-v11.v11", 0x000000, 0x080000, CRC(dc07ea3c) SHA1(c3e71aaec44ead7ddc581565d16b90030e6db5fd) )
1634   ROM_LOAD( "proto_018-v12.v12", 0x080000, 0x080000, CRC(f1ae637c) SHA1(02a4c7d4a544350a314ab7b26d8c9d3baa8f5778) )
1635   ROM_LOAD( "proto_018-v21.v21", 0x100000, 0x080000, CRC(9f3b4eda) SHA1(7f516923d04daa483b4b99c9babba66505931a34) )
1636
1637   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1638   ROM_COPY( "ymsnd", 0x100000, 0x00000, 0x80000 )
1639
1640   ROM_REGION( 0x400000, "sprites", 0 ) // note, ROM_LOAD32_BYTE
1641   ROM_LOAD32_BYTE( "proto_018-c1.c1", 0x000000, 0x80000, CRC(6569018b) SHA1(25040e0a9c2b72900100a22a2a41de5f6c339d8a) ) /* Plane 0 */
1642   ROM_LOAD32_BYTE( "proto_018-c2.c2", 0x000002, 0x80000, CRC(6949b501) SHA1(d8ee48837faff6cc849046ee8757b2b94d440303) ) /* Plane 2 */
1643   ROM_LOAD32_BYTE( "proto_018-c3.c3", 0x000001, 0x80000, CRC(410f653b) SHA1(ce94667721baa7b2c318fc268e3bb9209671c9f5) ) /* Plane 1 */
1644   ROM_LOAD32_BYTE( "proto_018-c4.c4", 0x000003, 0x80000, CRC(d43bf2a5) SHA1(c27985d8973611d02570f469a0d8cb4f5b63b614) ) /* Plane 3 */
1645   ROM_LOAD32_BYTE( "proto_018-c5.c5", 0x200000, 0x80000, CRC(837d09d3) SHA1(d3b06931fca6123604549599544b04529ef34c53) ) /* Plane 0 */
1646   ROM_LOAD32_BYTE( "proto_018-c6.c6", 0x200002, 0x80000, CRC(5fee51e7) SHA1(835c632fa12a1d5b4104cd80b8f686ac80b314a1) ) /* Plane 2 */
1647   ROM_LOAD32_BYTE( "proto_018-c7.c7", 0x200001, 0x80000, CRC(0f3f0823) SHA1(ec1d681c1795de43d20f30f85956e2473ec39c95) ) /* Plane 1 */
1648   ROM_LOAD32_BYTE( "proto_018-c8.c8", 0x200003, 0x80000, CRC(67cc9e34) SHA1(dc72a464c1456a4d2f7b992b416a984fb7885e99) ) /* Plane 3 */
1649ROM_END
1650
1651/****************************************
1652 ID-0019
1653 . NGM-019
1654 NEO-MVS PROG-HERO / NEO-MVS CHA-32
1655 . NGH-019
1656 NEO-AEG PROG-HERO / NEO-AEG CHA-32
1657****************************************/
1658
1659ROM_START( lbowling ) /* MVS AND AES VERSION */
1660   ROM_REGION( 0x100000, "maincpu", 0 )
1661   ROM_LOAD16_WORD_SWAP( "019-p1.p1", 0x000000, 0x080000, CRC(a2de8445) SHA1(893d7ae72b4644123469de143fa35fac1cbcd61e) ) /* TC534200 */
1662
1663   ROM_REGION( 0x1000, "mcu", 0 )    /* Hitachi HD6301V1 MCU */
1664   ROM_LOAD( "hd6301v1p.com", 0x0000, 0x1000, NO_DUMP )
1665
1666   NEO_SFIX_128K( "019-s1.s1", CRC(5fcdc0ed) SHA1(86415077e7adc3ba6153eeb4fb0c62cf36e903fa) ) /* TC531000 */
1667
1668   NEO_BIOS_AUDIO_128K( "019-m1.m1", CRC(d568c17d) SHA1(a2e318ed6ad1809c79f3f0853d75e0dd1a2f275c) ) /* TC531001 */
1669
1670   ROM_REGION( 0x100000, "ymsnd", 0 )
1671   ROM_LOAD( "019-v11.v11", 0x000000, 0x080000, CRC(0fb74872) SHA1(38c555926c77576d63472bc075210c42e9ce13a3) ) /* TC534000 */
1672   ROM_LOAD( "019-v12.v12", 0x080000, 0x080000, CRC(029faa57) SHA1(7bbaa87e38929ab1e32df5f6a2ec0fd5001e7cdb) ) /* TC534000 */
1673
1674   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1675   ROM_LOAD( "019-v21.v21", 0x000000, 0x080000, CRC(2efd5ada) SHA1(8ba70f5f665d566824333075227d9bce1253b8d8) ) /* TC534000 */
1676
1677   ROM_REGION( 0x100000, "sprites", 0 )
1678   ROM_LOAD16_BYTE( "019-c1.c1", 0x000000, 0x080000, CRC(4ccdef18) SHA1(5011e30ec235d0b0a5a513a11d4275777e61acdb) ) /* Plane 0,1 */ /* TC534200 */
1679   ROM_LOAD16_BYTE( "019-c2.c2", 0x000001, 0x080000, CRC(d4dd0802) SHA1(82069752028c118d42384a95befde45844f0f247) ) /* Plane 2,3 */ /* TC534200 */
1680ROM_END
1681
1682/****************************************
1683 ID-0020
1684 . NGM-020
1685 NEO-MVS PROG8M42 / NEO-MVS CHA-8M
1686 . NGH-020
1687 NEO-AEG PROG8M42 / NEO-AEG CHA-8M
1688****************************************/
1689
1690ROM_START( gpilots ) /* MVS AND AES VERSION */
1691   ROM_REGION( 0x100000, "maincpu", 0 )
1692   ROM_LOAD16_WORD_SWAP( "020-p1.p1", 0x000000, 0x080000, CRC(e6f2fe64) SHA1(50ab82517e077727d97668a4df2b9b96d2e78ab6) ) /* TC534200 */
1693   ROM_LOAD16_WORD_SWAP( "020-p2.p2", 0x080000, 0x020000, CRC(edcb22ac) SHA1(505d2db38ae999b7d436e8f2ff56b81796d62b54) ) /* TC531024 */
1694
1695   NEO_SFIX_128K( "020-s1.s1", CRC(a6d83d53) SHA1(9a8c092f89521cc0b27a385aa72e29cbaca926c5) ) /* TC531000 */
1696
1697   NEO_BIOS_AUDIO_128K( "020-m1.m1", CRC(48409377) SHA1(0e212d2c76856a90b2c2fdff675239525972ac43) ) /* TC531001 */
1698
1699   ROM_REGION( 0x180000, "ymsnd", 0 )
1700   ROM_LOAD( "020-v11.v11", 0x000000, 0x100000, CRC(1b526c8b) SHA1(2801868d2badcf8aaf5d490e010e4049d81d7bc1) ) /* TC538200 */
1701   ROM_LOAD( "020-v12.v12", 0x100000, 0x080000, CRC(4a9e6f03) SHA1(d3ac11f333b03d8a318921bdaefb14598e289a14) ) /* TC534200 */
1702
1703   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1704   ROM_LOAD( "020-v21.v21", 0x000000, 0x080000, CRC(7abf113d) SHA1(5b2a0e70f2eaf4638b44702dacd4cb17838fb1d5) ) /* TC534200 */
1705
1706   ROM_REGION( 0x400000, "sprites", 0 )
1707   ROM_LOAD16_BYTE( "020-c1.c1", 0x000000, 0x100000, CRC(bd6fe78e) SHA1(50b704862cd79d64fa488e621b079f6e413c33bc) ) /* Plane 0,1 */ /* TC538200 */
1708   ROM_LOAD16_BYTE( "020-c2.c2", 0x000001, 0x100000, CRC(5f4a925c) SHA1(71c5ef8141234daaa7025427a6c65e79766973a5) ) /* Plane 2,3 */ /* TC538200 */
1709   ROM_LOAD16_BYTE( "020-c3.c3", 0x200000, 0x100000, CRC(d1e42fd0) SHA1(f0d476aebbdc2ce008f5f0783be86d295b24aa44) ) /* Plane 0,1 */ /* TC538200 */
1710   ROM_LOAD16_BYTE( "020-c4.c4", 0x200001, 0x100000, CRC(edde439b) SHA1(79be7b10ecdab54c2f77062b8f5fda0e299fa982) ) /* Plane 2,3 */ /* TC538200 */
1711ROM_END
1712
1713ROM_START( gpilotsh ) /* AES VERSION (US) */
1714   ROM_REGION( 0x100000, "maincpu", 0 )
1715   ROM_LOAD16_WORD_SWAP( "020-hp1.p1", 0x000000, 0x080000, CRC(7cdb01ce) SHA1(32cae2ddf5e26fb7e8a09132e600220db82df3b8) ) /* TC534200 */
1716   ROM_LOAD16_WORD_SWAP( "020-p2.p2",  0x080000, 0x020000, CRC(edcb22ac) SHA1(505d2db38ae999b7d436e8f2ff56b81796d62b54) ) /* TC531024 */
1717
1718   NEO_SFIX_128K( "020-s1.s1", CRC(a6d83d53) SHA1(9a8c092f89521cc0b27a385aa72e29cbaca926c5) ) /* TC531000 */
1719
1720   NEO_BIOS_AUDIO_128K( "020-m1.m1", CRC(48409377) SHA1(0e212d2c76856a90b2c2fdff675239525972ac43) ) /* TC531001 */
1721
1722   ROM_REGION( 0x180000, "ymsnd", 0 )
1723   ROM_LOAD( "020-v11.v11", 0x000000, 0x100000, CRC(1b526c8b) SHA1(2801868d2badcf8aaf5d490e010e4049d81d7bc1) ) /* TC538200 */
1724   ROM_LOAD( "020-v12.v12", 0x100000, 0x080000, CRC(4a9e6f03) SHA1(d3ac11f333b03d8a318921bdaefb14598e289a14) ) /* TC534200 */
1725
1726   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1727   ROM_LOAD( "020-v21.v21", 0x000000, 0x080000, CRC(7abf113d) SHA1(5b2a0e70f2eaf4638b44702dacd4cb17838fb1d5) ) /* TC534200 */
1728
1729   ROM_REGION( 0x400000, "sprites", 0 )
1730   ROM_LOAD16_BYTE( "020-c1.c1", 0x000000, 0x100000, CRC(bd6fe78e) SHA1(50b704862cd79d64fa488e621b079f6e413c33bc) ) /* Plane 0,1 */ /* TC538200 */
1731   ROM_LOAD16_BYTE( "020-c2.c2", 0x000001, 0x100000, CRC(5f4a925c) SHA1(71c5ef8141234daaa7025427a6c65e79766973a5) ) /* Plane 2,3 */ /* TC538200 */
1732   ROM_LOAD16_BYTE( "020-c3.c3", 0x200000, 0x100000, CRC(d1e42fd0) SHA1(f0d476aebbdc2ce008f5f0783be86d295b24aa44) ) /* Plane 0,1 */ /* TC538200 */
1733   ROM_LOAD16_BYTE( "020-c4.c4", 0x200001, 0x100000, CRC(edde439b) SHA1(79be7b10ecdab54c2f77062b8f5fda0e299fa982) ) /* Plane 2,3 */ /* TC538200 */
1734ROM_END
1735
1736/****************************************
1737 ID-0021
1738 . NGM-021
1739 NEO-MVS PROG-EP / NEO-MVS CHA-32
1740 . NGH-021
1741 NEO-AEG PROG B  / NEO-AEG CHA-32
1742****************************************/
1743
1744ROM_START( joyjoy ) /* MVS AND AES VERSION */
1745   ROM_REGION( 0x100000, "maincpu", 0 )
1746   ROM_LOAD16_WORD_SWAP( "021-p1.p1", 0x000000, 0x080000, CRC(39c3478f) SHA1(06ebe54c9c4e14c5c31e770013d58b7162359ecc) ) /* MB834200 */
1747
1748   NEO_SFIX_128K( "021-s1.s1", CRC(6956d778) SHA1(e3757776d60dc07d8e07c9ca61b223b14732f860) ) /* MB831000 */
1749
1750   NEO_BIOS_AUDIO_256K( "021-m1.m1", CRC(5a4be5e8) SHA1(552f025ce0d51c25f42e1a81cf0d08376ca5475d) ) /* MB832000 */
1751
1752   ROM_REGION( 0x080000, "ymsnd", 0 )
1753   ROM_LOAD( "021-v11.v11", 0x000000, 0x080000, CRC(66c1e5c4) SHA1(7e85420021d4c39c36ed75a1cec567c5610ffce0) ) /* MB834000 */
1754
1755   ROM_REGION( 0x080000, "ymsnd.deltat", 0 )
1756   ROM_LOAD( "021-v21.v21", 0x000000, 0x080000, CRC(8ed20a86) SHA1(d15cba5eac19ea56fdd4877541f1bb3eb755ebba) ) /* MB834000 */
1757
1758   ROM_REGION( 0x100000, "sprites", 0 )
1759   ROM_LOAD16_BYTE( "021-c1.c1", 0x000000, 0x080000, CRC(509250ec) SHA1(d6ddb16d8222088f153a85a905bcb99541a5f2cf) ) /* Plane 0,1 */ /* MB834200 */
1760   ROM_LOAD16_BYTE( "021-c2.c2", 0x000001, 0x080000, CRC(09ed5258) SHA1(6bf50cd10236e29146b49e714a0e0ebcfe30a682) ) /* Plane 2,3 */ /* MB834200 */
1761ROM_END
1762
1763/****************************************
1764 ID-0022
1765 . ALM-001
1766 NEO-MVS PROG8M42  / NEO-MVS CHA-8M
1767 . ALH-001
1768 NEO-AEG PROG 8M42 / NEO-AEG CHA-8M
1769****************************************/
1770
1771ROM_START( bjourney ) /* MVS AND AES VERSION */
1772   ROM_REGION( 0x100000, "maincpu", 0 )
1773   ROM_LOAD16_WORD_SWAP( "022-p1.p1", 0x000000, 0x100000, CRC(6a2f6d4a) SHA1(b8ca548e56f1c7abcdce415ba7329e0cf698ee13) ) /* TC538200 */
1774
1775   NEO_SFIX_128K( "022-s1.s1", CRC(843c3624) SHA1(dbdf86c193b7c1d795f8c21f2c103c1d3e18abbe) ) /* TC531000 */
1776
1777   NEO_BIOS_AUDIO_128K( "022-m1.m1", CRC(8e1d4ab6) SHA1(deabc11ab81e7e68a3e041c03a127ae28d0d7264) ) /* TC531001 */
1778
1779   ROM_REGION( 0x200000, "ymsnd", 0 )
1780   ROM_LOAD( "022-v11.v11", 0x000000, 0x100000, CRC(2cb4ad91) SHA1(169ec7303c4275155a66a88cc08270c24132bb36) ) /* TC538200 */
1781   ROM_LOAD( "022-v22.v22", 0x100000, 0x100000, CRC(65a54d13) SHA1(a591fbcedca8f679dacbebcd554e3aa3fd163e92) ) /* TC538200 */
1782
1783   NO_DELTAT_REGION
1784
1785   ROM_REGION( 0x300000, "sprites", 0 )
1786   ROM_LOAD16_BYTE( "022-c1.c1", 0x000000, 0x100000, CRC(4d47a48c) SHA1(6e282285be72583d828e7765b1c1695ecdc44777) ) /* Plane 0,1 */ /* TC538200 */
1787   ROM_LOAD16_BYTE( "022-c2.c2", 0x000001, 0x100000, CRC(e8c1491a) SHA1(c468d2556b3de095aaa05edd1bc16d71303e9478) ) /* Plane 2,3 */ /* TC538200 */
1788   ROM_LOAD16_BYTE( "022-c3.c3", 0x200000, 0x080000, CRC(66e69753) SHA1(974b823fc62236fbc23e727f25b61a805a707a9e) ) /* Plane 0,1 */ /* TC534200 */
1789   ROM_LOAD16_BYTE( "022-c4.c4", 0x200001, 0x080000, CRC(71bfd48a) SHA1(47288be69e6992d09ebef108b4de9ffab6293dc8) ) /* Plane 2,3 */ /* TC534200 */
1790ROM_END
1791
1792/****************************************
1793 ID-0023
1794 . NGM-023
1795 NEO-MVS PROG42G / NEO-MVS CHA42G
1796 . NGH-023
1797 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
1798****************************************/
1799
1800ROM_START( quizdais ) /* MVS AND AES VERSION */
1801   ROM_REGION( 0x100000, "maincpu", 0 )
1802   ROM_LOAD16_WORD_SWAP( "023-p1.p1", 0x000000, 0x100000, CRC(c488fda3) SHA1(4cdf2f1837fffd720efef42f81f933bdf2ef1402) ) /* TC538200 */
1803
1804   NEO_SFIX_128K( "023-s1.s1", CRC(ac31818a) SHA1(93c8d67a93606a2e02f12ca4cab849dc3f3de286) ) /* TC531000 */
1805
1806   NEO_BIOS_AUDIO_128K( "023-m1.m1", CRC(2a2105e0) SHA1(26fc13556fda2dbeb7b5b035abd994e302dc7662) ) /* TC531001 */
1807
1808   ROM_REGION( 0x100000, "ymsnd", 0 )
1809   ROM_LOAD( "023-v1.v1", 0x000000, 0x100000, CRC(a53e5bd3) SHA1(cf115c6478ce155d889e6a5acb962339e08e024b) ) /* TC538200 */
1810
1811   NO_DELTAT_REGION
1812
1813   ROM_REGION( 0x200000, "sprites", 0 )
1814   ROM_LOAD16_BYTE( "023-c1.c1", 0x000000, 0x100000, CRC(2999535a) SHA1(0deabf771039987b559edc2444eea741bd7ba861) ) /* Plane 0,1 */ /* TC538200 */
1815   ROM_LOAD16_BYTE( "023-c2.c2", 0x000001, 0x100000, CRC(876a99e6) SHA1(8d1dcfc0927d7523f8be8203573192406ec654b4) ) /* Plane 2,3 */ /* TC538200 */
1816ROM_END
1817
1818ROM_START( quizdaisk ) /* KOREAN VERSION */
1819   ROM_REGION( 0x100000, "maincpu", 0 )
1820   ROM_LOAD16_WORD_SWAP( "123-p1.p1", 0x000000, 0x100000, CRC(a6f35eae) SHA1(edd3fd5ba8eae2231e2b0a6605fa00e5c6de094a) )
1821
1822   NEO_SFIX_128K( "123-s1.s1", CRC(53de938a) SHA1(5024fee3b245f8a069d7ecfa6f033b70ed1a5fce) )
1823
1824   NEO_BIOS_AUDIO_128K( "123-m1.m1", CRC(d67f53f9) SHA1(73a1bd175ae29dd957a907a046884f8715bd0a34) )
1825
1826   ROM_REGION( 0x200000, "ymsnd", 0 )
1827   ROM_LOAD( "123-v1.v1", 0x000000, 0x200000, CRC(986f4af9) SHA1(9e15d2142ec5e5d076582dc1cecfd724b0924f54) )
1828
1829   NO_DELTAT_REGION
1830
1831   ROM_REGION( 0x200000, "sprites", 0 )
1832   ROM_LOAD16_BYTE( "123-c1.c1", 0x000000, 0x100000, CRC(e579a606) SHA1(b9430ec157902f0707e5d52e69bd5d93792e7118) ) /* Plane 0,1 */
1833   ROM_LOAD16_BYTE( "123-c2.c2", 0x000001, 0x100000, CRC(e182c837) SHA1(a8f7648bf21ebd3efe3a49606b53220815a60d0f) ) /* Plane 2,3 */
1834ROM_END
1835
1836/****************************************
1837 ID-0024
1838 . NGM-024
1839 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1840 . NGH-024
1841****************************************/
1842
1843ROM_START( lresort )
1844   ROM_REGION( 0x100000, "maincpu", 0 )
1845   ROM_LOAD16_WORD_SWAP( "024-p1.p1", 0x000000, 0x080000, CRC(89c4ab97) SHA1(3a1817c427185ea1b44fe52f009c00b0a9007c85) ) /* TC534200 */
1846
1847   NEO_SFIX_128K( "024-s1.s1", CRC(5cef5cc6) SHA1(9ec305007bdb356e9f8f279beae5e2bcb3f2cf7b) ) /* TC531000 */
1848
1849   NEO_BIOS_AUDIO_128K( "024-m1.m1", CRC(cec19742) SHA1(ab6c6ba7737e68d2420a0617719c6d4c89039c45) ) /* TC531001 */
1850
1851   ROM_REGION( 0x200000, "ymsnd", 0 )
1852   ROM_LOAD( "024-v1.v1", 0x000000, 0x100000, CRC(efdfa063) SHA1(e4609ecbcc1c820758f229da5145f51285b50555) ) /* TC538200 */
1853   ROM_LOAD( "024-v2.v2", 0x100000, 0x100000, CRC(3c7997c0) SHA1(8cb7e8e69892b19d318978370dbc510d51b06a69) ) /* TC538200 */
1854
1855   NO_DELTAT_REGION
1856
1857   ROM_REGION( 0x300000, "sprites", 0 )
1858   ROM_LOAD16_BYTE( "024-c1.c1", 0x000000, 0x100000, CRC(3617c2dc) SHA1(8de2643a618272f8aa1c705363edb007f4a5f5b7) ) /* Plane 0,1 */ /* TC538200 */
1859   ROM_LOAD16_BYTE( "024-c2.c2", 0x000001, 0x100000, CRC(3f0a7fd8) SHA1(d0c9c7a9dde9ce175fb243d33ec11fa719d0158c) ) /* Plane 2,3 */ /* TC538200 */
1860   ROM_LOAD16_BYTE( "024-c3.c3", 0x200000, 0x080000, CRC(e9f745f8) SHA1(bbe6141da28b0db7bf5cf321d69b7e613e2414d7) ) /* Plane 0,1 */ /* TC534200 */
1861   ROM_LOAD16_BYTE( "024-c4.c4", 0x200001, 0x080000, CRC(7382fefb) SHA1(e916dec5bb5462eb9ae9711f08c7388937abb980) ) /* Plane 2,3 */ /* TC534200 */
1862ROM_END
1863
1864/****************************************
1865 ID-0025
1866 . NGM-025
1867 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1868 . NGH-025
1869 NEO-AEG PROG42G / NEO-AEG CHA42G
1870****************************************/
1871
1872ROM_START( eightman ) /* MVS AND AES VERSION */
1873   ROM_REGION( 0x100000, "maincpu", 0 )
1874   ROM_LOAD16_WORD_SWAP( "025-p1.p1", 0x000000, 0x080000, CRC(43344cb0) SHA1(29dfd699f35b0a74e20fedd6c9174c289f0ef6e0) ) /* TC574200 */
1875
1876   NEO_SFIX_128K( "025-s1.s1", CRC(a402202b) SHA1(75c44e1af459af155f5b892fd18706268dd5e602) ) /* TC531000 */
1877
1878   NEO_BIOS_AUDIO_128K( "025-m1.m1", CRC(9927034c) SHA1(205665361c5b2ab4f01ec480dd3c9b69db858d09) ) /* TC541000 */
1879
1880   ROM_REGION( 0x200000, "ymsnd", 0 )
1881   ROM_LOAD( "025-v1.v1", 0x000000, 0x100000, CRC(4558558a) SHA1(a4b277703ed67225c652be0d618daeca65a27b88) ) /* TC538200 */
1882   ROM_LOAD( "025-v2.v2", 0x100000, 0x100000, CRC(c5e052e9) SHA1(fa1119c90ce4c706a6aa0c17d7bc06aa3068d9b2) ) /* TC538200 */
1883
1884   NO_DELTAT_REGION
1885
1886   ROM_REGION( 0x300000, "sprites", 0 )
1887   ROM_LOAD16_BYTE( "025-c1.c1", 0x000000, 0x100000, CRC(555e16a4) SHA1(1c96f3d2fd0991680fbf627a6cdd26ad2cd60319) ) /* Plane 0,1 */ /* TC538200 */
1888   ROM_LOAD16_BYTE( "025-c2.c2", 0x000001, 0x100000, CRC(e1ee51c3) SHA1(da8d074bb4e923ed7b8a154fd31b42f2d65b8e96) ) /* Plane 2,3 */ /* TC538200 */
1889   ROM_LOAD16_BYTE( "025-c3.c3", 0x200000, 0x080000, CRC(0923d5b0) SHA1(ab72ba1e3ebf56dd356f9ad181f986b1360a1089) ) /* Plane 0,1 */ /* TC534200 */
1890   ROM_LOAD16_BYTE( "025-c4.c4", 0x200001, 0x080000, CRC(e3eca67b) SHA1(88154cbc1a261c2f425430119ebc08a30adc9675) ) /* Plane 2,3 */ /* TC534200 */
1891ROM_END
1892
1893/****************************************
1894 ID-0026
1895 Fun Fun Brothers (prototype) 1991 Alpha
1896****************************************/
1897
1898/****************************************
1899 ID-0027
1900 . MOM-001
1901 NEO-MVS PROG-8MB / NEO-MVS CHA-8M
1902 . MOH-001
1903 NEO-AEG PROG-8MB / NEO-AEG CHA-8M
1904****************************************/
1905
1906ROM_START( minasan ) /* MVS AND AES VERSION */
1907   ROM_REGION( 0x100000, "maincpu", 0 )
1908   ROM_LOAD16_WORD_SWAP( "027-p1.p1", 0x000000, 0x080000, CRC(c8381327) SHA1(c8f8be0ba276c6d12ef13d05af3cf83a2b924894) ) /* HN62422PC */
1909
1910   NEO_SFIX_128K( "027-s1.s1", CRC(e5824baa) SHA1(8230ff7fe3cabeacecc762d90a084e893db84906) ) /* HN62321BP */
1911
1912   NEO_BIOS_AUDIO_128K( "027-m1.m1", CRC(add5a226) SHA1(99995bef2584abbba16777bac52f55523f7aa97d) ) /* HN62321AP */
1913
1914   ROM_REGION( 0x100000, "ymsnd", 0 )
1915   ROM_LOAD( "027-v11.v11", 0x000000, 0x100000, CRC(59ad4459) SHA1(bbb8ba8a8e337dd2946eefda4757e80d0547d54a) ) /* HN62308BPC */
1916
1917   ROM_REGION( 0x100000, "ymsnd.deltat", 0 )
1918   ROM_LOAD( "027-v21.v21", 0x000000, 0x100000, CRC(df5b4eeb) SHA1(134f3bcc3bb82e2a5711496af1019f343f9c0f7e) ) /* HN62308BPC */
1919
1920   ROM_REGION( 0x400000, "sprites", 0 )
1921   ROM_LOAD16_BYTE( "027-c1.c1", 0x000000, 0x100000, CRC(d0086f94) SHA1(7d6579530ccb5188f653be69b1df17e47e40e7a6) ) /* Plane 0,1 */ /* HN62408PD */
1922   ROM_LOAD16_BYTE( "027-c2.c2", 0x000001, 0x100000, CRC(da61f5a6) SHA1(82c5b4e5c5c5e30a3fd1c2e11c6157f39d033c42) ) /* Plane 2,3 */ /* HN62408PD */
1923   ROM_LOAD16_BYTE( "027-c3.c3", 0x200000, 0x100000, CRC(08df1228) SHA1(288b7ad328c2249f28d17df4dad3584995dca7bf) ) /* Plane 0,1 */ /* HN62408PD */
1924   ROM_LOAD16_BYTE( "027-c4.c4", 0x200001, 0x100000, CRC(54e87696) SHA1(90816dc86be3983dc57f56ededf7738475c0c61e) ) /* Plane 2,3 */ /* HN62408PD */
1925ROM_END
1926
1927/****************************************
1928 ID-0028
1929 Dunk Star (prototype) Sammy
1930****************************************/
1931
1932/****************************************
1933 ID-0029
1934 . ??M-029
1935 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1936 . ??H-029
1937****************************************/
1938
1939ROM_START( legendos )
1940   ROM_REGION( 0x100000, "maincpu", 0 )
1941   ROM_LOAD16_WORD_SWAP( "029-p1.p1", 0x000000, 0x080000, CRC(9d563f19) SHA1(9bff7bf9fdcf81a0a6c4ce3e196097d4f05e67b6) ) /* TC534200 */
1942
1943   NEO_SFIX_128K( "029-s1.s1", CRC(bcd502f0) SHA1(a3400f52c037aa6a42e59e602cc24fa45fcbc951) ) /* TC531000 */
1944
1945   NEO_BIOS_AUDIO_128K( "029-m1.m1", CRC(6f2843f0) SHA1(975fb1598b87a2798fff05e951fca2e2e0329e79) ) /* TC531001 */
1946
1947   ROM_REGION( 0x100000, "ymsnd", 0 )
1948   ROM_LOAD( "029-v1.v1", 0x000000, 0x100000, CRC(85065452) SHA1(7154b7c59b16c32753ac6b5790fb50b51ce30a20) ) /* TC538200 */
1949
1950   NO_DELTAT_REGION
1951
1952   ROM_REGION( 0x400000, "sprites", 0 )
1953   ROM_LOAD16_BYTE( "029-c1.c1", 0x000000, 0x100000, CRC(2f5ab875) SHA1(3e060973bba41a6c22ff7054104bdc5eee1fa13a) ) /* Plane 0,1 */ /* TC538200 */
1954   ROM_LOAD16_BYTE( "029-c2.c2", 0x000001, 0x100000, CRC(318b2711) SHA1(7014110cee98280317e1189f306ca40652b61f6f) ) /* Plane 2,3 */ /* TC538200 */
1955   ROM_LOAD16_BYTE( "029-c3.c3", 0x200000, 0x100000, CRC(6bc52cb2) SHA1(14323a4664b7dcbcde82e594168e535d7a921e44) ) /* Plane 0,1 */ /* TC538200 */
1956   ROM_LOAD16_BYTE( "029-c4.c4", 0x200001, 0x100000, CRC(37ef298c) SHA1(7a0c4c896dc3e730e06dcadbf00cf354f08a4466) ) /* Plane 2,3 */ /* TC538200 */
1957ROM_END
1958
1959/****************************************
1960 ID-0030
1961 . NGM-030
1962 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
1963 . NGH-030
1964 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
1965****************************************/
1966
1967ROM_START( 2020bb )
1968   ROM_REGION( 0x100000, "maincpu", 0 )
1969   ROM_LOAD16_WORD_SWAP( "030-p1.p1", 0x000000, 0x080000, CRC(d396c9cb) SHA1(47ba421d14d05b965a8d44e7475b227a208e5a07) )
1970
1971   NEO_SFIX_128K( "030-s1.s1", CRC(7015b8fc) SHA1(8c09bc3e6c62e0f7c9557c1e10c901be325bae7f) ) /* TC531000 */
1972
1973   NEO_BIOS_AUDIO_128K( "030-m1.m1", CRC(4cf466ec) SHA1(6a003b53c7a4af9d7529e2c10f27ffc4e58dcda5) ) /* TC54H1000 */
1974
1975   ROM_REGION( 0x200000, "ymsnd", 0 )
1976   ROM_LOAD( "030-v1.v1", 0x000000, 0x100000, CRC(d4ca364e) SHA1(b0573744b0ea2ef1e2167a225f0d254883f5af04) ) /* TC538200 */
1977   ROM_LOAD( "030-v2.v2", 0x100000, 0x100000, CRC(54994455) SHA1(76eb62b86e8ed51a77f44313d5cc8091b3f58d57) ) /* TC538200 */
1978
1979   NO_DELTAT_REGION
1980
1981   ROM_REGION( 0x400000, "sprites", 0 )
1982   ROM_LOAD16_BYTE( "030-c1.c1", 0x000000, 0x100000, CRC(4f5e19bd) SHA1(ef7975c4b33a7aea4a25a385f604799f054d3200) ) /* Plane 0,1 */ /* TC538200 */
1983   ROM_LOAD16_BYTE( "030-c2.c2", 0x000001, 0x100000, CRC(d6314bf0) SHA1(0920cc580d7997fcb0170dd619af2f305d635577) ) /* Plane 2,3 */ /* TC538200 */
1984   ROM_LOAD16_BYTE( "030-c3.c3", 0x200000, 0x100000, CRC(47fddfee) SHA1(297c505a63448c999a2510c27bf4549102134db8) ) /* Plane 0,1 */ /* TC538200 */
1985   ROM_LOAD16_BYTE( "030-c4.c4", 0x200001, 0x100000, CRC(780d1c4e) SHA1(2e2cf9de828e3b48642dd2203637103438c62142) ) /* Plane 2,3 */ /* TC538200 */
1986ROM_END
1987
1988ROM_START( 2020bba ) /* MVS AND AES VERSION */
1989   ROM_REGION( 0x100000, "maincpu", 0 )
1990   ROM_LOAD16_WORD_SWAP( "030-epr.p1", 0x000000, 0x080000, CRC(c59be3dd) SHA1(4fbd462c1c18e85a252c58b04b54fd3b82b46cb0) ) /* TC574200 */
1991   /* P1 on eprom, correct chip label unknown */
1992
1993   NEO_SFIX_128K( "030-s1.s1", CRC(7015b8fc) SHA1(8c09bc3e6c62e0f7c9557c1e10c901be325bae7f) ) /* TC531000 */
1994
1995   NEO_BIOS_AUDIO_128K( "030-m1.m1", CRC(4cf466ec) SHA1(6a003b53c7a4af9d7529e2c10f27ffc4e58dcda5) ) /* TC54H1000 */
1996
1997   ROM_REGION( 0x200000, "ymsnd", 0 )
1998   ROM_LOAD( "030-v1.v1", 0x000000, 0x100000, CRC(d4ca364e) SHA1(b0573744b0ea2ef1e2167a225f0d254883f5af04) ) /* TC538200 */
1999   ROM_LOAD( "030-v2.v2", 0x100000, 0x100000, CRC(54994455) SHA1(76eb62b86e8ed51a77f44313d5cc8091b3f58d57) ) /* TC538200 */
2000
2001   NO_DELTAT_REGION
2002
2003   ROM_REGION( 0x400000, "sprites", 0 )
2004   ROM_LOAD16_BYTE( "030-c1.c1", 0x000000, 0x100000, CRC(4f5e19bd) SHA1(ef7975c4b33a7aea4a25a385f604799f054d3200) ) /* Plane 0,1 */ /* TC538200 */
2005   ROM_LOAD16_BYTE( "030-c2.c2", 0x000001, 0x100000, CRC(d6314bf0) SHA1(0920cc580d7997fcb0170dd619af2f305d635577) ) /* Plane 2,3 */ /* TC538200 */
2006   ROM_LOAD16_BYTE( "030-c3.c3", 0x200000, 0x100000, CRC(47fddfee) SHA1(297c505a63448c999a2510c27bf4549102134db8) ) /* Plane 0,1 */ /* TC538200 */
2007   ROM_LOAD16_BYTE( "030-c4.c4", 0x200001, 0x100000, CRC(780d1c4e) SHA1(2e2cf9de828e3b48642dd2203637103438c62142) ) /* Plane 2,3 */ /* TC538200 */
2008ROM_END
2009
2010ROM_START( 2020bbh )
2011   ROM_REGION( 0x100000, "maincpu", 0 )
2012   ROM_LOAD16_WORD_SWAP( "030-pg1.p1", 0x000000, 0x080000, BAD_DUMP CRC(12d048d7) SHA1(ee0d03a565b11ca3bee2d24f62ff46a85ef18d90) )
2013   /* Chip label p1h does not exist, renamed temporarly to pg1, marked BAD_DUMP. This needs to be verified. */
2014
2015   NEO_SFIX_128K( "030-s1.s1", CRC(7015b8fc) SHA1(8c09bc3e6c62e0f7c9557c1e10c901be325bae7f) ) /* TC531000 */
2016
2017   NEO_BIOS_AUDIO_128K( "030-m1.m1", CRC(4cf466ec) SHA1(6a003b53c7a4af9d7529e2c10f27ffc4e58dcda5) ) /* TC54H1000 */
2018
2019   ROM_REGION( 0x200000, "ymsnd", 0 )
2020   ROM_LOAD( "030-v1.v1", 0x000000, 0x100000, CRC(d4ca364e) SHA1(b0573744b0ea2ef1e2167a225f0d254883f5af04) ) /* TC538200 */
2021   ROM_LOAD( "030-v2.v2", 0x100000, 0x100000, CRC(54994455) SHA1(76eb62b86e8ed51a77f44313d5cc8091b3f58d57) ) /* TC538200 */
2022
2023   NO_DELTAT_REGION
2024
2025   ROM_REGION( 0x400000, "sprites", 0 )
2026   ROM_LOAD16_BYTE( "030-c1.c1", 0x000000, 0x100000, CRC(4f5e19bd) SHA1(ef7975c4b33a7aea4a25a385f604799f054d3200) ) /* Plane 0,1 */ /* TC538200 */
2027   ROM_LOAD16_BYTE( "030-c2.c2", 0x000001, 0x100000, CRC(d6314bf0) SHA1(0920cc580d7997fcb0170dd619af2f305d635577) ) /* Plane 2,3 */ /* TC538200 */
2028   ROM_LOAD16_BYTE( "030-c3.c3", 0x200000, 0x100000, CRC(47fddfee) SHA1(297c505a63448c999a2510c27bf4549102134db8) ) /* Plane 0,1 */ /* TC538200 */
2029   ROM_LOAD16_BYTE( "030-c4.c4", 0x200001, 0x100000, CRC(780d1c4e) SHA1(2e2cf9de828e3b48642dd2203637103438c62142) ) /* Plane 2,3 */ /* TC538200 */
2030ROM_END
2031
2032/****************************************
2033 ID-0031
2034 . NGM-031
2035 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2036 . NGH-031
2037 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
2038****************************************/
2039
2040ROM_START( socbrawl ) /* MVS VERSION */
2041   ROM_REGION( 0x100000, "maincpu", 0 )
2042   ROM_LOAD16_WORD_SWAP( "031-pg1.p1", 0x000000, 0x080000, CRC(17f034a7) SHA1(2e66c7bd93a08efe63c4894494db50bbf58f60e4) ) /* TC534200 */
2043
2044   NEO_SFIX_128K( "031-s1.s1", CRC(4c117174) SHA1(26e52c4f628338a9aa1c159517cdf873f738fb98) ) /* TC531000 */
2045
2046   NEO_BIOS_AUDIO_128K( "031-m1.m1", CRC(cb37427c) SHA1(99efe9600ebeda48331f396e3203c7588bdb7d24) ) /* TC531001 */
2047
2048   ROM_REGION( 0x200000, "ymsnd", 0 )
2049   ROM_LOAD( "031-v1.v1", 0x000000, 0x100000, CRC(cc78497e) SHA1(895bd647150fae9b2259ef043ed681f4c4de66ea) ) /* TC538200 */
2050   ROM_LOAD( "031-v2.v2", 0x100000, 0x100000, CRC(dda043c6) SHA1(08165a59700ab6b1e523079dd2a3549e520cc594) ) /* TC538200 */
2051
2052   NO_DELTAT_REGION
2053
2054   ROM_REGION( 0x300000, "sprites", 0 )
2055   ROM_LOAD16_BYTE( "031-c1.c1", 0x000000, 0x100000, CRC(bd0a4eb8) SHA1(b67988cb3e550d083e81c9bd436da55b242785ed) ) /* Plane 0,1 */ /* TC538200 */
2056   ROM_LOAD16_BYTE( "031-c2.c2", 0x000001, 0x100000, CRC(efde5382) SHA1(e42789c8d87ee3d4549d0a903e990c03338cbbd8) ) /* Plane 2,3 */ /* TC538200 */
2057   ROM_LOAD16_BYTE( "031-c3.c3", 0x200000, 0x080000, CRC(580f7f33) SHA1(f4f95a7c8de00e1366a723fc4cd0e8c1905af636) ) /* Plane 0,1 */ /* TC534200 */
2058   ROM_LOAD16_BYTE( "031-c4.c4", 0x200001, 0x080000, CRC(ed297de8) SHA1(616f8fa4c86231f3e79faf9f69f8bb909cbc35f0) ) /* Plane 2,3 */ /* TC534200 */
2059ROM_END
2060
2061ROM_START( socbrawlh ) /* AES VERSION */
2062   ROM_REGION( 0x100000, "maincpu", 0 )
2063   ROM_LOAD16_WORD_SWAP( "031-p1.p1", 0x000000, 0x080000, CRC(a2801c24) SHA1(627d76ff0740ca29586f37b268f47fb469822529) ) /* TC534200 */
2064
2065   NEO_SFIX_128K( "031-s1.s1", CRC(4c117174) SHA1(26e52c4f628338a9aa1c159517cdf873f738fb98) ) /* TC531000 */
2066
2067   NEO_BIOS_AUDIO_128K( "031-m1.m1", CRC(cb37427c) SHA1(99efe9600ebeda48331f396e3203c7588bdb7d24) ) /* TC531001 */
2068
2069   ROM_REGION( 0x200000, "ymsnd", 0 )
2070   ROM_LOAD( "031-v1.v1", 0x000000, 0x100000, CRC(cc78497e) SHA1(895bd647150fae9b2259ef043ed681f4c4de66ea) ) /* TC538200 */
2071   ROM_LOAD( "031-v2.v2", 0x100000, 0x100000, CRC(dda043c6) SHA1(08165a59700ab6b1e523079dd2a3549e520cc594) ) /* TC538200 */
2072
2073   NO_DELTAT_REGION
2074
2075   ROM_REGION( 0x300000, "sprites", 0 )
2076   ROM_LOAD16_BYTE( "031-c1.c1", 0x000000, 0x100000, CRC(bd0a4eb8) SHA1(b67988cb3e550d083e81c9bd436da55b242785ed) ) /* Plane 0,1 */ /* TC538200 */
2077   ROM_LOAD16_BYTE( "031-c2.c2", 0x000001, 0x100000, CRC(efde5382) SHA1(e42789c8d87ee3d4549d0a903e990c03338cbbd8) ) /* Plane 2,3 */ /* TC538200 */
2078   ROM_LOAD16_BYTE( "031-c3.c3", 0x200000, 0x080000, CRC(580f7f33) SHA1(f4f95a7c8de00e1366a723fc4cd0e8c1905af636) ) /* Plane 0,1 */ /* TC534200 */
2079   ROM_LOAD16_BYTE( "031-c4.c4", 0x200001, 0x080000, CRC(ed297de8) SHA1(616f8fa4c86231f3e79faf9f69f8bb909cbc35f0) ) /* Plane 2,3 */ /* TC534200 */
2080ROM_END
2081
2082/****************************************
2083 ID-0032
2084 . NGM-032
2085 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2086 . NGH-032
2087 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
2088****************************************/
2089
2090ROM_START( roboarmy )
2091   ROM_REGION( 0x100000, "maincpu", 0 )
2092   ROM_LOAD16_WORD_SWAP( "032-p1.p1", 0x000000, 0x080000, CRC(cd11cbd4) SHA1(23163e3da2f07e830a7f4a02aea1cb01a54ccbf3) ) /* TC534200 */
2093
2094   NEO_SFIX_128K( "032-s1.s1", CRC(ac0daa1b) SHA1(93bae4697dc403fce19422752a514326ccf66a91) ) /* TC531000 */
2095
2096   NEO_BIOS_AUDIO_128K( "032-m1.m1", CRC(35ec952d) SHA1(8aed30e26d7e2c70dbce5de752df416091066f7b) ) /* TC531001 */
2097
2098   ROM_REGION( 0x200000, "ymsnd", 0 )
2099   ROM_LOAD( "032-v1.v1", 0x000000, 0x100000, CRC(63791533) SHA1(4479e9308cdc906b9e03b985303f4ebedd00512f) ) /* TC538200 */
2100   ROM_LOAD( "032-v2.v2", 0x100000, 0x100000, CRC(eb95de70) SHA1(b34885201116d2b3bbdee15ec7b5961cf5c069e1) ) /* TC538200 */
2101
2102   NO_DELTAT_REGION
2103
2104   ROM_REGION( 0x300000, "sprites", 0 )
2105   ROM_LOAD16_BYTE( "032-c1.c1", 0x000000, 0x100000, CRC(97984c6c) SHA1(deea59c0892f05dc7db98cb57b3eb83688dc57f0) ) /* Plane 0,1 */ /* TC538200 */
2106   ROM_LOAD16_BYTE( "032-c2.c2", 0x000001, 0x100000, CRC(65773122) SHA1(2c0162a8e971e5e57933e4ae16040bf824ffdefe) ) /* Plane 2,3 */ /* TC538200 */
2107   ROM_LOAD16_BYTE( "032-c3.c3", 0x200000, 0x080000, CRC(40adfccd) SHA1(b11f866dd70ba0ed9123424508355cb948b19bdc) ) /* Plane 0,1 */ /* TC534200 */
2108   ROM_LOAD16_BYTE( "032-c4.c4", 0x200001, 0x080000, CRC(462571de) SHA1(5c3d610d492f91564423873b3b434dcda700373f) ) /* Plane 2,3 */ /* TC534200 */
2109ROM_END
2110
2111   /* Disabled for now, this looks like an emulation hack. Can someone confirm this set is real? */
2112#if 0
2113ROM_START( roboarma )
2114   ROM_REGION( 0x100000, "maincpu", 0 )
2115   ROM_LOAD16_WORD_SWAP( "032-p1h.p1", 0x000000, 0x080000, CRC(27c773cb) SHA1(597ca73f142b1129cc7780540bb9cfacd47bc6ce) ) /* TC534200 */
2116   /* Chip label p1h does not exist; if this is real what is the correct chip label? */
2117
2118   NEO_SFIX_128K( "032-s1.s1", CRC(ac0daa1b) SHA1(93bae4697dc403fce19422752a514326ccf66a91) ) /* TC531000 */
2119
2120   NEO_BIOS_AUDIO_128K( "032-m1.m1", CRC(35ec952d) SHA1(8aed30e26d7e2c70dbce5de752df416091066f7b) ) /* TC531001 */
2121
2122   ROM_REGION( 0x200000, "ymsnd", 0 )
2123   ROM_LOAD( "032-v1.v1", 0x000000, 0x100000, CRC(63791533) SHA1(4479e9308cdc906b9e03b985303f4ebedd00512f) ) /* TC538200 */
2124   ROM_LOAD( "032-v2.v2", 0x100000, 0x100000, CRC(eb95de70) SHA1(b34885201116d2b3bbdee15ec7b5961cf5c069e1) ) /* TC538200 */
2125
2126   NO_DELTAT_REGION
2127
2128   ROM_REGION( 0x300000, "sprites", 0 )
2129   ROM_LOAD16_BYTE( "032-c1.c1", 0x000000, 0x100000, CRC(97984c6c) SHA1(deea59c0892f05dc7db98cb57b3eb83688dc57f0) ) /* Plane 0,1 */ /* TC538200 */
2130   ROM_LOAD16_BYTE( "032-c2.c2", 0x000001, 0x100000, CRC(65773122) SHA1(2c0162a8e971e5e57933e4ae16040bf824ffdefe) ) /* Plane 2,3 */ /* TC538200 */
2131   ROM_LOAD16_BYTE( "032-c3.c3", 0x200000, 0x080000, CRC(40adfccd) SHA1(b11f866dd70ba0ed9123424508355cb948b19bdc) ) /* Plane 0,1 */ /* TC534200 */
2132   ROM_LOAD16_BYTE( "032-c4.c4", 0x200001, 0x080000, CRC(462571de) SHA1(5c3d610d492f91564423873b3b434dcda700373f) ) /* Plane 2,3 */ /* TC534200 */
2133ROM_END
2134#endif
2135
2136/****************************************
2137 ID-0033
2138 . NGM-033
2139 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2140 . NGH-033
2141 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
2142****************************************/
2143
2144ROM_START( fatfury1 ) /* MVS AND AES VERSION */
2145   ROM_REGION( 0x100000, "maincpu", 0 )
2146   ROM_LOAD16_WORD_SWAP( "033-p1.p1", 0x000000, 0x080000, CRC(47ebdc2f) SHA1(d46786502920fb510f1999db00c5e09fb641c0bd) ) /* TC534200 */
2147   ROM_LOAD16_WORD_SWAP( "033-p2.p2", 0x080000, 0x020000, CRC(c473af1c) SHA1(4919eeca20abe807493872ca7c79a5d1f496fe68) ) /* TC531024 */
2148
2149   NEO_SFIX_128K( "033-s1.s1", CRC(3c3bdf8c) SHA1(2f3e5feed6c27850b2a0f6fae0b97041690e944c) ) /* TC531000 */
2150
2151   NEO_BIOS_AUDIO_128K( "033-m1.m1", CRC(5be10ffd) SHA1(90a5e6cbbc58a7883cd2a3a597180d631a466882) ) /* TC531001 */
2152
2153   ROM_REGION( 0x200000, "ymsnd", 0 )
2154   ROM_LOAD( "033-v1.v1", 0x000000, 0x100000, CRC(212fd20d) SHA1(120c040db8c01a6f140eea03725448bfa9ca98c2) ) /* TC538200 */
2155   ROM_LOAD( "033-v2.v2", 0x100000, 0x100000, CRC(fa2ae47f) SHA1(80d0ba4cd30aab59b6f0db8fa341387bd7388afc) ) /* TC538200 */
2156
2157   NO_DELTAT_REGION
2158
2159   ROM_REGION( 0x400000, "sprites", 0 )
2160   ROM_LOAD16_BYTE( "033-c1.c1", 0x000000, 0x100000, CRC(74317e54) SHA1(67b9c2814a12603b959612456f59de55f9bf6f57) ) /* Plane 0,1 */ /* TC538200 */
2161   ROM_LOAD16_BYTE( "033-c2.c2", 0x000001, 0x100000, CRC(5bb952f3) SHA1(ea964bbcc0408b6ae07cbb5043d003281b1aca15) ) /* Plane 2,3 */ /* TC538200 */
2162   ROM_LOAD16_BYTE( "033-c3.c3", 0x200000, 0x100000, CRC(9b714a7c) SHA1(b62bdcede3207d062a89e0a4a9adf706101bb681) ) /* Plane 0,1 */ /* TC538200 */
2163   ROM_LOAD16_BYTE( "033-c4.c4", 0x200001, 0x100000, CRC(9397476a) SHA1(a12dbb74020aeb6ebf24ec2abbfba5129cabcb7d) ) /* Plane 2,3 */ /* TC538200 */
2164ROM_END
2165
2166/****************************************
2167 ID-0034
2168 . NGM-034
2169 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2170 . NGH-034
2171 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
2172****************************************/
2173
2174ROM_START( fbfrenzy ) /* MVS AND AES VERSION */
2175   ROM_REGION( 0x100000, "maincpu", 0 )
2176   ROM_LOAD16_WORD_SWAP( "034-p1.p1", 0x000000, 0x080000, CRC(cdef6b19) SHA1(97482db0dffc6d625fb41fa38449c0a74d741a72) ) /* TC534200 */
2177
2178   NEO_SFIX_128K( "034-s1.s1", CRC(8472ed44) SHA1(42e1a9671dddd090d2a634cff986f6c73ba08b70) ) /* TC531000 */
2179
2180   NEO_BIOS_AUDIO_128K( "034-m1.m1", CRC(f41b16b8) SHA1(f3e1cfc4cd2c5baece176f169906aa796367d303) ) /* TC531001 */
2181
2182   ROM_REGION( 0x200000, "ymsnd", 0 )
2183   ROM_LOAD( "034-v1.v1", 0x000000, 0x100000, CRC(50c9d0dd) SHA1(2b3f2875b00e5f307d274128bd73c1521a7d901b) ) /* TC538200 */
2184   ROM_LOAD( "034-v2.v2", 0x100000, 0x100000, CRC(5aa15686) SHA1(efe47954827a98d539ba719347c5f8aa60e6338b) ) /* TC538200 */
2185
2186   NO_DELTAT_REGION
2187
2188   ROM_REGION( 0x300000, "sprites", 0 )
2189   ROM_LOAD16_BYTE( "034-c1.c1", 0x000000, 0x100000, CRC(91c56e78) SHA1(2944d49ebfc71239d345209ca7f25993c2cc5a77) ) /* Plane 0,1 */ /* TC538200 */
2190   ROM_LOAD16_BYTE( "034-c2.c2", 0x000001, 0x100000, CRC(9743ea2f) SHA1(cf4fccdf10d521d555e92bc24123142393c2b3bb) ) /* Plane 2,3 */ /* TC538200 */
2191   ROM_LOAD16_BYTE( "034-c3.c3", 0x200000, 0x080000, CRC(e5aa65f5) SHA1(714356a2cee976ec0f515b1034ce971018e5c02e) ) /* Plane 0,1 */ /* TC534200 */
2192   ROM_LOAD16_BYTE( "034-c4.c4", 0x200001, 0x080000, CRC(0eb138cc) SHA1(21d31e1f136c674caa6dd44073281cd07b72ea9b) ) /* Plane 2,3 */ /* TC534200 */
2193ROM_END
2194
2195/****************************************
2196 ID-0035
2197 Mystic Wand (prototype) 1991 Alpha
2198****************************************/
2199
2200/****************************************
2201 ID-0036
2202 . MOM-002
2203 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2204 . MOH-002
2205 NEO-AEG PROG42G / NEO-AEG CHA42G
2206****************************************/
2207
2208ROM_START( bakatono ) /* MVS AND AES VERSION */
2209   ROM_REGION( 0x100000, "maincpu", 0 )
2210   ROM_LOAD16_WORD_SWAP( "036-p1.p1", 0x000000, 0x080000, CRC(1c66b6fa) SHA1(6c50cc452971c46c763ae0b2def95792671a1798) ) /* CXK384500 */
2211
2212   NEO_SFIX_128K( "036-s1.s1", CRC(f3ef4485) SHA1(c30bfceed7e669e4c97b0b3ec2e9f4271e5b6662) ) /* CXK381000 */
2213
2214   NEO_BIOS_AUDIO_128K( "036-m1.m1", CRC(f1385b96) SHA1(e7e3d1484188a115e262511116aaf466b8b1f428) ) /* CXK381003 */
2215
2216   ROM_REGION( 0x200000, "ymsnd", 0 )
2217   ROM_LOAD( "036-v1.v1", 0x000000, 0x100000, CRC(1c335dce) SHA1(493c273fa71bf81861a20af4c4eaae159e169f39) ) /* CXK388000 */
2218   ROM_LOAD( "036-v2.v2", 0x100000, 0x100000, CRC(bbf79342) SHA1(45a4f40e415cdf35c3073851506648c8f7d53958) ) /* CXK388000 */
2219
2220   NO_DELTAT_REGION
2221
2222   ROM_REGION( 0x400000, "sprites", 0 )
2223   ROM_LOAD16_BYTE( "036-c1.c1", 0x000000, 0x100000, CRC(fe7f1010) SHA1(5b6f5053821f4da8dc3768371e2cd51bb29da963) ) /* Plane 0,1 */ /* CXK388000 */
2224   ROM_LOAD16_BYTE( "036-c2.c2", 0x000001, 0x100000, CRC(bbf003f5) SHA1(054b2a3327e038836eece652055bb84c115cf8ed) ) /* Plane 2,3 */ /* CXK388000 */
2225   ROM_LOAD16_BYTE( "036-c3.c3", 0x200000, 0x100000, CRC(9ac0708e) SHA1(8decfe06d73a3dd3c3cf280719978fcf6d559d29) ) /* Plane 0,1 */ /* CXK388000 */
2226   ROM_LOAD16_BYTE( "036-c4.c4", 0x200001, 0x100000, CRC(f2577d22) SHA1(a37db8055ca4680e244c556dc6df8bdba16c2083) ) /* Plane 2,3 */ /* CXK388000 */
2227ROM_END
2228
2229/****************************************
2230 ID-0037
2231 . ALM-002
2232 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2233 . ALH-002
2234 NEO-AEG PROG42G / NEO-AEG CHA42G
2235****************************************/
2236
2237ROM_START( crsword ) /* MVS AND AES VERSION */
2238   ROM_REGION( 0x100000, "maincpu", 0 )
2239   ROM_LOAD16_WORD_SWAP( "037-p1.p1", 0x000000, 0x080000, CRC(e7f2553c) SHA1(8469ecb900477feed05ae3311fe9515019bbec2a) ) /* TC534200 */
2240
2241   NEO_SFIX_128K( "037-s1.s1", CRC(74651f27) SHA1(bff7ff2429d2be82c1647abac2ee45b339b3b310) ) /* TC531000 */
2242
2243   NEO_BIOS_AUDIO_128K( "037-m1.m1", CRC(9504b2c6) SHA1(9ce8e681b9df6eacd0d23a36bad836bd5074233d) ) /* TC531001 */
2244
2245   ROM_REGION( 0x100000, "ymsnd", 0 )
2246   ROM_LOAD( "037-v1.v1", 0x000000, 0x100000, CRC(61fedf65) SHA1(98f31d1e23bf7c1f7844e67f14707a704134042e) ) /* TC538200 */
2247
2248   NO_DELTAT_REGION
2249
2250   ROM_REGION( 0x400000, "sprites", 0 )
2251   ROM_LOAD16_BYTE( "037-c1.c1", 0x000000, 0x100000, CRC(09df6892) SHA1(df2579dcf9c9dc88d461212cb74de106be2983c1) ) /* Plane 0,1 */ /* TC538200 */
2252   ROM_LOAD16_BYTE( "037-c2.c2", 0x000001, 0x100000, CRC(ac122a78) SHA1(7bfa4d29b7d7d9443f64d81caeafa74fe05c606e) ) /* Plane 2,3 */ /* TC538200 */
2253   ROM_LOAD16_BYTE( "037-c3.c3", 0x200000, 0x100000, CRC(9d7ed1ca) SHA1(2bbd25dc3a3f825d0af79a418f06a23a1bf03cc0) ) /* Plane 0,1 */ /* TC538200 */
2254   ROM_LOAD16_BYTE( "037-c4.c4", 0x200001, 0x100000, CRC(4a24395d) SHA1(943f911f40985db901eaef4c28dfcda299fca73e) ) /* Plane 2,3 */ /* TC538200 */
2255ROM_END
2256
2257/****************************************
2258 ID-0038
2259 . ALM-003
2260 NEO-MVS PROG42G-COM / NEO-MVS CHA42G-1
2261 . ALH-003
2262 NEO-AEG PROG42G-COM / NEO-AEG CHA42G-1
2263****************************************/
2264
2265ROM_START( trally ) /* MVS AND AES VERSION */
2266   ROM_REGION( 0x100000, "maincpu", 0 )
2267   ROM_LOAD16_WORD_SWAP( "038-p1.p1", 0x000000, 0x080000, CRC(1e52a576) SHA1(a1cb56354c3378e955b0cd482c3c41ae15add952) ) /* TC534200 */
2268   ROM_LOAD16_WORD_SWAP( "038-p2.p2", 0x080000, 0x080000, CRC(a5193e2f) SHA1(96803480439e90da23cdca70d59ff519ee85beeb) ) /* TC534200 */
2269
2270   ROM_REGION( 0x1000, "mcu", 0 )    /* Hitachi HD6301V1 MCU */
2271   ROM_LOAD( "hd6301v1p.hd6301v1", 0x0000, 0x1000, NO_DUMP )
2272
2273   NEO_SFIX_128K( "038-s1.s1", CRC(fff62ae3) SHA1(6510a762ea41557a8938cbfc0557cd5921306061) ) /* TC531000 */
2274
2275   NEO_BIOS_AUDIO_128K( "038-m1.m1", CRC(0908707e) SHA1(df7489ea6abf84d7f137ba7a8f52a4fd1b088fd7) ) /* TC531001 */
2276
2277   ROM_REGION( 0x180000, "ymsnd", 0 )
2278   ROM_LOAD( "038-v1.v1", 0x000000, 0x100000, CRC(5ccd9fd5) SHA1(c3c8c758a320c39e4ceb0b6d9f188ed6d122eec4) ) /* TC538200 */
2279   ROM_LOAD( "038-v2.v2", 0x100000, 0x080000, CRC(ddd8d1e6) SHA1(65c819fa2392f264f5a1a0a4967c96775732500b) ) /* TC534200 */
2280
2281   NO_DELTAT_REGION
2282
2283   ROM_REGION( 0x300000, "sprites", 0 )
2284   ROM_LOAD16_BYTE( "038-c1.c1", 0x000000, 0x100000, CRC(c58323d4) SHA1(a6bd277471a4b612d165f8b804f3cb662f499b70) ) /* Plane 0,1 */ /* TC538200 */
2285   ROM_LOAD16_BYTE( "038-c2.c2", 0x000001, 0x100000, CRC(bba9c29e) SHA1(b70bbfdfa8c4f9ea76406530e86b16e42498d284) ) /* Plane 2,3 */ /* TC538200 */
2286   ROM_LOAD16_BYTE( "038-c3.c3", 0x200000, 0x080000, CRC(3bb7b9d6) SHA1(bc1eae6181ad5abf79736afc8db4ca34113d43f8) ) /* Plane 0,1 */ /* TC534200 */
2287   ROM_LOAD16_BYTE( "038-c4.c4", 0x200001, 0x080000, CRC(a4513ecf) SHA1(934aa103c226eac55157b44d7b4dfa35515322c3) ) /* Plane 2,3 */ /* TC534200 */
2288ROM_END
2289
2290/****************************************
2291 ID-0039
2292 . NGM-039
2293 NEO-MVS PROG16 / NEO-MVS CHA42G-1
2294 . NGH-039
2295 NEO-AEG PROG16 / NEO-AEG CHA42G-1
2296****************************************/
2297
2298ROM_START( kotm2 ) /* MVS AND AES VERSION */
2299   ROM_REGION( 0x100000, "maincpu", 0 )
2300   ROM_LOAD16_WORD_SWAP( "039-p1.p1", 0x000000, 0x080000, CRC(b372d54c) SHA1(b70fc6f72e16a66b6e144cc01370548e3398b8b8) ) /* TC534200 */
2301   ROM_LOAD16_WORD_SWAP( "039-p2.p2", 0x080000, 0x080000, CRC(28661afe) SHA1(6c85ff6ab334b1ca744f726f42dac211537e7315) ) /* TC534200 */
2302
2303   NEO_SFIX_128K( "039-s1.s1", CRC(63ee053a) SHA1(7d4b92bd022708975b1470e8f24d1f5a712e1b94) ) /* TC531000 */
2304
2305   NEO_BIOS_AUDIO_128K( "039-m1.m1", CRC(0c5b2ad5) SHA1(15eb5ea10fecdbdbcfd06225ae6d88bb239592e7) ) /* TC531001 */
2306
2307   ROM_REGION( 0x300000, "ymsnd", 0 )
2308   ROM_LOAD( "039-v2.v2", 0x000000, 0x200000, CRC(86d34b25) SHA1(89bdb614b0c63d678962da52e2f596750d20828c) ) /* TC5316200 */
2309   ROM_LOAD( "039-v4.v4", 0x200000, 0x100000, CRC(8fa62a0b) SHA1(58ac2fdd73c542eb8178cfc4adfa0e5940183283) ) /* TC538200 */
2310
2311   NO_DELTAT_REGION
2312
2313   ROM_REGION( 0x600000, "sprites", 0 )
2314   ROM_LOAD16_BYTE( "039-c1.c1", 0x000000, 0x100000, CRC(6d1c4aa9) SHA1(4fbc9d7cb37522ec298eefbe38c75a2d050fbb4a) ) /* Plane 0,1 */ /* TC5316200 */
2315   ROM_CONTINUE( 0x400000, 0x100000 )
2316   ROM_LOAD16_BYTE( "039-c2.c2", 0x000001, 0x100000, CRC(f7b75337) SHA1(4d85f85948c3e6ed38b0b0ccda79de3ce026e2d9) ) /* Plane 2,3 */ /* TC5316200 */
2317   ROM_CONTINUE( 0x400001, 0x100000 )
2318   ROM_LOAD16_BYTE( "039-c3.c3", 0x200000, 0x080000, CRC(bfc4f0b2) SHA1(f4abe2b52882b966412f3b503b8f2c8f49b57968) ) /* Plane 0,1 */ /* TC534200 */
2319   ROM_LOAD16_BYTE( "039-c4.c4", 0x200001, 0x080000, CRC(81c9c250) SHA1(e3a34ff69081a8681b5ca895915892dcdccfa7aa) ) /* Plane 2,3 */ /* TC534200 */
2320ROM_END
2321
2322ROM_START( kotm2p ) /* fairly late prototype release, only the code differs from the main set */
2323   ROM_REGION( 0x100000, "maincpu", 0 )
2324   ROM_LOAD16_BYTE( "proto_039-p1.p1", 0x000001, 0x080000, CRC(3c1d17e7) SHA1(aeaff465fafa46ded903ed4e8cb8cd05de8dc096) )
2325   ROM_LOAD16_BYTE( "proto_039-p2.p2", 0x000000, 0x080000, CRC(bc9691f0) SHA1(3854659b952d4f8c2edd5d59858a61ce6d518604) )
2326
2327   NEO_SFIX_128K( "039-s1.s1", CRC(63ee053a) SHA1(7d4b92bd022708975b1470e8f24d1f5a712e1b94) ) /* TC531000 */
2328
2329   NEO_BIOS_AUDIO_128K( "039-m1.m1", CRC(0c5b2ad5) SHA1(15eb5ea10fecdbdbcfd06225ae6d88bb239592e7) ) /* TC531001 */
2330
2331   // same data as main set, but prototype board layout
2332   ROM_REGION( 0x300000, "ymsnd", 0 )
2333   ROM_LOAD( "proto_039-v1.v1", 0x000000, 0x080000, CRC(dd3566f1) SHA1(f7c2a3747aaab2bc57cdfa33d8bb9fab057b5214) )
2334   ROM_LOAD( "proto_039-v2.v2", 0x080000, 0x080000, CRC(57f60274) SHA1(7e17740aa05cf7ad4f9084e147600a8eb82c7284) )
2335   ROM_LOAD( "proto_039-v3.v3", 0x100000, 0x080000, CRC(0f008a07) SHA1(ed243a0449232bbea409308c3fec7e057fcd8501) )
2336   ROM_LOAD( "proto_039-v4.v4", 0x180000, 0x080000, CRC(1943d0fe) SHA1(47fb716c76ea6b5fe64204ff6d72b7feea10bda9) )
2337   ROM_LOAD( "proto_039-v5.v5", 0x200000, 0x080000, CRC(13be045b) SHA1(0e3713ae6b164ebae434c0f18c466365b26b9a77) )
2338   ROM_LOAD( "proto_039-v6.v6", 0x280000, 0x080000, CRC(d1dd3fd6) SHA1(052b92168a76cf3a97c8cacebcc3ebab228726df) )
2339
2340   NO_DELTAT_REGION
2341
2342   // same data as main set, but prototype board layout
2343   ROM_REGION( 0x600000, "sprites", 0 ) // note, ROM_LOAD32_BYTE
2344   ROM_LOAD32_BYTE( "proto_039-c1.c1", 0x000000, 0x100000, CRC(7192a787) SHA1(7bef6ce79c618103485480aee3c6f856968eb51f) ) /* Plane 0 */
2345   ROM_LOAD32_BYTE( "proto_039-c2.c2", 0x000002, 0x100000, CRC(7157eca1) SHA1(65f36c6a3834775b04076d2c38a6047bffe9a8cf) ) /* Plane 2 */
2346   ROM_LOAD32_BYTE( "proto_039-c3.c3", 0x000001, 0x100000, CRC(11d75727) SHA1(5a4c7b5ca3f1195e7853b45c5e71c13fe74d16e9) ) /* Plane 1 */
2347   ROM_LOAD32_BYTE( "proto_039-c4.c4", 0x000003, 0x100000, CRC(7ad48b28) SHA1(27e65d948f08c231107cb1a810e2b06731091fc3) ) /* Plane 3 */
2348   ROM_LOAD32_BYTE( "proto_039-c5.c5", 0x400000, 0x080000, CRC(5bdaf9ca) SHA1(60620d42ac6cd0e5da019fede2814a2f4171ff3f) ) /* Plane 0 */
2349   ROM_LOAD32_BYTE( "proto_039-c6.c6", 0x400002, 0x080000, CRC(21d4be8c) SHA1(f1b19d37d52d21584f304b7d37d5c096b58219d6) ) /* Plane 2 */
2350   ROM_LOAD32_BYTE( "proto_039-c7.c7", 0x400001, 0x080000, CRC(da55fd00) SHA1(52804f955597591fdd1d7478dc340b36d3c08c4a) ) /* Plane 1 */
2351   ROM_LOAD32_BYTE( "proto_039-c8.c8", 0x400003, 0x080000, CRC(592e9267) SHA1(0d27de59970ccbcaa1d47909ea3d741ffb0d9e07) ) /* Plane 3 */
2352ROM_END
2353
2354/****************************************
2355 ID-0040
2356 . NGM-040
2357 NEO-MVS PROG 4096 / NEO-MVS CHA 42G-2
2358 . NGH-040
2359****************************************/
2360
2361ROM_START( sengoku2 )
2362   ROM_REGION( 0x100000, "maincpu", 0 )
2363   ROM_LOAD16_WORD_SWAP( "040-p1.p1", 0x000000, 0x100000, CRC(6dde02c2) SHA1(e432e63feb88c71629ec96aa84650dcfe356a551) )
2364
2365   NEO_SFIX_128K( "040-s1.s1", CRC(cd9802a3) SHA1(f685d4638f4f68e7e3f101c0c39128454536721b) ) /* TC531000 */
2366
2367   NEO_BIOS_AUDIO_128K( "040-m1.m1", CRC(d4de4bca) SHA1(ecf604d06f01d40b04e285facef66a6ae2d35661) )
2368
2369   ROM_REGION( 0x300000, "ymsnd", 0 )
2370   ROM_LOAD( "040-v1.v1", 0x000000, 0x200000, CRC(71cb4b5d) SHA1(56d9aca1d476c19c7d0f707176a8fed53e0189b7) )
2371   ROM_LOAD( "040-v2.v2", 0x200000, 0x100000, CRC(c5cece01) SHA1(923a3377dac1919e8c3d9ab316902250caa4785f) )
2372
2373   NO_DELTAT_REGION
2374
2375   ROM_REGION( 0x600000, "sprites", 0 )
2376   ROM_LOAD16_BYTE( "040-c1.c1", 0x000000, 0x100000, CRC(faa8ea99) SHA1(714575e57ea1990612f960ec42b38d2e157ad400) ) /* Plane 0,1 */
2377   ROM_CONTINUE( 0x400000, 0x100000 )
2378   ROM_LOAD16_BYTE( "040-c2.c2", 0x000001, 0x100000, CRC(87d0ec65) SHA1(23645e0cf859fb4cec3745b3846ca0ef64c689fb) ) /* Plane 2,3 */
2379   ROM_CONTINUE( 0x400001, 0x100000 )
2380   ROM_LOAD16_BYTE( "040-c3.c3", 0x200000, 0x080000, CRC(24b5ba80) SHA1(29d58a6b56bd24ee2046a8d45e023b4d7ab7685b) ) /* Plane 0,1 */
2381   ROM_LOAD16_BYTE( "040-c4.c4", 0x200001, 0x080000, CRC(1c9e9930) SHA1(d017474873750a7602b7708c663d29b25ef7bb63) ) /* Plane 2,3 */
2382ROM_END
2383
2384/****************************************
2385 ID-0041
2386 . NGM-041
2387 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2388 . NGH-041
2389****************************************/
2390
2391ROM_START( bstars2 )
2392   ROM_REGION( 0x100000, "maincpu", 0 )
2393   ROM_LOAD16_WORD_SWAP( "041-p1.p1", 0x000000, 0x080000, CRC(523567fd) SHA1(f1e81eb4678f586b214ea102cde6effea1b0f768) ) /* TC534200 */
2394
2395   NEO_SFIX_128K( "041-s1.s1", CRC(015c5c94) SHA1(f1c60cd3dc54986b39f630ef3bf48f68c68695dc) ) /* TC531000 */
2396
2397   NEO_BIOS_AUDIO_128K( "041-m1.m1", CRC(15c177a6) SHA1(3f4abed635102f9bc8b44809750828c82e79b44f) ) /* TC531001 */
2398
2399   ROM_REGION( 0x280000, "ymsnd", 0 )
2400   ROM_LOAD( "041-v1.v1", 0x000000, 0x100000, CRC(cb1da093) SHA1(4f4d1d5fefa9dda372083c045bf0d268a57ce8f1) ) /* TC538200 */
2401   ROM_LOAD( "041-v2.v2", 0x100000, 0x100000, CRC(1c954a9d) SHA1(159bc6efdd531615461f6e16f83f6d4c4e67c237) ) /* TC538200 */
2402   ROM_LOAD( "041-v3.v3", 0x200000, 0x080000, CRC(afaa0180) SHA1(c4a047e21f093830498a163598ed7bd48a8cf9d1) ) /* TC534200 */
2403
2404   NO_DELTAT_REGION
2405
2406   ROM_REGION( 0x400000, "sprites", 0 )
2407   ROM_LOAD16_BYTE( "041-c1.c1", 0x000000, 0x100000, CRC(b39a12e1) SHA1(bafe383bd7c5a6aac4cb92dabbc56e3672fe174d) ) /* Plane 0,1 */ /* TC538200 */
2408   ROM_LOAD16_BYTE( "041-c2.c2", 0x000001, 0x100000, CRC(766cfc2f) SHA1(79e1063925d54a57df943019a88bea56c9152df3) ) /* Plane 2,3 */ /* TC538200 */
2409   ROM_LOAD16_BYTE( "041-c3.c3", 0x200000, 0x100000, CRC(fb31339d) SHA1(f4e821299680970b2e979acc4a170029b968c807) ) /* Plane 0,1 */ /* TC538200 */
2410   ROM_LOAD16_BYTE( "041-c4.c4", 0x200001, 0x100000, CRC(70457a0c) SHA1(a1e307f11ddab85d2e9c09d0428fac2e6da774b1) ) /* Plane 2,3 */ /* TC538200 */
2411ROM_END
2412
2413/****************************************
2414 ID-0042
2415 . NGM-042
2416 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2417 . NGH-042
2418 NEO-AEG PROG42G-1 / NEO-AEG CHA42G-1
2419****************************************/
2420
2421ROM_START( quizdai2 ) /* MVS AND AES VERSION */
2422   ROM_REGION( 0x100000, "maincpu", 0 )
2423   ROM_LOAD16_WORD_SWAP( "042-p1.p1", 0x000000, 0x100000, CRC(ed719dcf) SHA1(12baf2601e86c0e4358517b9fa1c55f2f5835f1d) ) /* TC538200 */
2424
2425   NEO_SFIX_128K( "042-s1.s1", CRC(164fd6e6) SHA1(dad35bedc33d502a5ae745a45a972af8d901b160) ) /* TC531000 */
2426
2427   NEO_BIOS_AUDIO_128K( "042-m1.m1", CRC(bb19995d) SHA1(ed458fad5a23c6bd0d099927d98c31e1e6562d1b) ) /* TC531001 */
2428
2429   ROM_REGION( 0x200000, "ymsnd", 0 )
2430   ROM_LOAD( "042-v1.v1", 0x000000, 0x100000, CRC(af7f8247) SHA1(99a47014017c20e4e22010c60612b6b7f6efc9e5) ) /* TC538200 */
2431   ROM_LOAD( "042-v2.v2", 0x100000, 0x100000, CRC(c6474b59) SHA1(a6c5054032b698116247b2f09a8b94a1b588c4f1) ) /* TC538200 */
2432
2433   NO_DELTAT_REGION
2434
2435   ROM_REGION( 0x300000, "sprites", 0 )
2436   ROM_LOAD16_BYTE( "042-c1.c1", 0x000000, 0x100000, CRC(cb5809a1) SHA1(b53d06685246dd51b82b5c1d54d639d10e2ec26d) ) /* Plane 0,1 */ /* TC538200 */
2437   ROM_LOAD16_BYTE( "042-c2.c2", 0x000001, 0x100000, CRC(1436dfeb) SHA1(27d136fb1be793bd345a741f5e55a977275fff86) ) /* Plane 2,3 */ /* TC538200 */
2438   ROM_LOAD16_BYTE( "042-c3.c3", 0x200000, 0x080000, CRC(bcd4a518) SHA1(f355298fe0f2cf50ddcc0d613db56a5c04d7230f) ) /* Plane 0,1 */ /* TC534200 */
2439   ROM_LOAD16_BYTE( "042-c4.c4", 0x200001, 0x080000, CRC(d602219b) SHA1(34cf0f16db1e224396464ac838f4cd2e6d1c640e) ) /* Plane 2,3 */ /* TC534200 */
2440ROM_END
2441
2442/****************************************
2443 ID-0043
2444 . NGM-043
2445 NEO-MVS PROG 4096 / NEO-MVS CHA 42G-2
2446 . NGH-043
2447 NEO-AEG PROG16 / NEO-AEG CHA42G-1
2448****************************************/
2449
2450ROM_START( 3countb ) /* MVS AND AES VERSION */
2451   ROM_REGION( 0x100000, "maincpu", 0 )
2452   ROM_LOAD16_WORD_SWAP( "043-p1.p1", 0x000000, 0x100000, CRC(ffbdd928) SHA1(05b24655ca32723661adc5509b450824deb0c176) ) /* TC538200 */
2453   /* The original p1 is 8mbit; also found sets with p1 / p2 4mbit on eprom. */
2454
2455   NEO_SFIX_128K( "043-s1.s1", CRC(c362d484) SHA1(a3c029292572842feabe9aa8c3372628fb63978d) ) /* TC531000 */
2456
2457   NEO_BIOS_AUDIO_128K( "043-m1.m1", CRC(7eab59cb) SHA1(5ae4107457e091f73960bfba39b589ae36d51ca3) ) /* TC531001 */
2458
2459   ROM_REGION( 0x400000, "ymsnd", 0 )
2460   ROM_LOAD( "043-v1.v1", 0x000000, 0x200000, CRC(63688ce8) SHA1(5c6ac29a0cc0655a87cfe3ada8706838b86b86e4) ) /* TC5316200 */
2461   ROM_LOAD( "043-v2.v2", 0x200000, 0x200000, CRC(c69a827b) SHA1(f5197ea87bb6573fa6aef3a1713c3679c58c1e74) ) /* TC5316200 */
2462
2463   NO_DELTAT_REGION
2464
2465   ROM_REGION( 0x0800000, "sprites", 0 )
2466   ROM_LOAD16_BYTE( "043-c1.c1", 0x000000, 0x100000, CRC(bad2d67f) SHA1(04928e50ca75b7fbc52b64e816ec5701901f5893) ) /* Plane 0,1 */ /* TC5316200 */
2467   ROM_CONTINUE( 0x400000, 0x100000 )
2468   ROM_LOAD16_BYTE( "043-c2.c2", 0x000001, 0x100000, CRC(a7fbda95) SHA1(9da3c5faf22592a7eaf8df9fa6454f48c2a927ae) ) /* Plane 2,3 */ /* TC5316200 */
2469   ROM_CONTINUE( 0x400001, 0x100000 )
2470   ROM_LOAD16_BYTE( "043-c3.c3", 0x200000, 0x100000, CRC(f00be011) SHA1(2721cdba37a511a966a2a53b9bd6240f181d920c) ) /* Plane 0,1 */ /* TC5316200 */
2471   ROM_CONTINUE( 0x600000, 0x100000 )
2472   ROM_LOAD16_BYTE( "043-c4.c4", 0x200001, 0x100000, CRC(1887e5c0) SHA1(9b915359add7c10c78d8b281b4084eceea8f0499) ) /* Plane 2,3 */ /* TC5316200 */
2473   ROM_CONTINUE( 0x600001, 0x100000 )
2474ROM_END
2475
2476/****************************************
2477 ID-0044
2478 . NGM-044
2479 NEO-MVS PROG16 / NEO-MVS CHA42G-1
2480 . NGH-044
2481 NEO-AEG PROG16 / NEO-AEG CHA42G-1
2482****************************************/
2483
2484ROM_START( aof ) /* MVS AND AES VERSION */
2485   ROM_REGION( 0x100000, "maincpu", 0 )
2486   ROM_LOAD16_WORD_SWAP( "044-p1.p1", 0x000000, 0x080000, CRC(ca9f7a6d) SHA1(4d28ef86696f7e832510a66d3e8eb6c93b5b91a1) ) /* TC534200 */
2487
2488   NEO_SFIX_128K( "044-s1.s1", CRC(89903f39) SHA1(a04a0c244a5d5c7a595fcf649107969635a6a8b6) ) /* TC531000 */
2489
2490   NEO_BIOS_AUDIO_128K( "044-m1.m1", CRC(0987e4bb) SHA1(8fae4b7fac09d46d4727928e609ed9d3711dbded) ) /* TC531001 */
2491
2492   ROM_REGION( 0x400000, "ymsnd", 0 )
2493   ROM_LOAD( "044-v2.v2", 0x000000, 0x200000, CRC(3ec632ea) SHA1(e3f413f580b57f70d2dae16dbdacb797884d3fce) ) /* TC5316200 */
2494   ROM_LOAD( "044-v4.v4", 0x200000, 0x200000, CRC(4b0f8e23) SHA1(105da0cc5ba19869c7147fba8b177500758c232b) ) /* TC5316200 */
2495
2496   NO_DELTAT_REGION
2497
2498   ROM_REGION( 0x800000, "sprites", 0 )
2499   ROM_LOAD16_BYTE( "044-c1.c1", 0x000000, 0x100000, CRC(ddab98a7) SHA1(f20eb81ec431268798c142c482146c1545af1c24) ) /* Plane 0,1 */ /* TC5316200 */
2500   ROM_CONTINUE( 0x400000, 0x100000 )
2501   ROM_LOAD16_BYTE( "044-c2.c2", 0x000001, 0x100000, CRC(d8ccd575) SHA1(f697263fe92164e274bf34c55327b3d4a158b332) ) /* Plane 2,3 */ /* TC5316200 */
2502   ROM_CONTINUE( 0x400001, 0x100000 )
2503   ROM_LOAD16_BYTE( "044-c3.c3", 0x200000, 0x100000, CRC(403e898a) SHA1(dd5888f8b24a33b2c1f483316fe80c17849ccfc4) ) /* Plane 0,1 */ /* TC5316200 */
2504   ROM_CONTINUE( 0x600000, 0x100000 )
2505   ROM_LOAD16_BYTE( "044-c4.c4", 0x200001, 0x100000, CRC(6235fbaa) SHA1(9090e337d7beed25ba81ae0708d0aeb57e6cf405) ) /* Plane 2,3 */ /* TC5316200 */
2506   ROM_CONTINUE( 0x600001, 0x100000 )
2507ROM_END
2508
2509/****************************************
2510 ID-0045
2511 . NGM-045
2512 NEO-MVS PROGGSC / NEO-MVS CHA 42G-3
2513 . NGH-045
2514 NEO-AEG PROGGS / NEO-AEG CHA42G-4
2515****************************************/
2516
2517ROM_START( samsho ) /* MVS VERSION */
2518   ROM_REGION( 0x200000, "maincpu", 0 )
2519   ROM_LOAD16_WORD_SWAP( "045-p1.p1",   0x000000, 0x100000, CRC(dfe51bf0) SHA1(2243af3770a516ae698b69bcd9daf53632d9128d) ) /* TC538200 */
2520   ROM_LOAD16_WORD_SWAP( "045-pg2.sp2", 0x100000, 0x100000, CRC(46745b94) SHA1(d9e959fd1f88c9402915c1d0dcdb4a9e3d49cdcb) ) /* TC538200 */
2521
2522   NEO_SFIX_128K( "045-s1.s1", CRC(9142a4d3) SHA1(54088e99fcfd75fd0f94852890a56350066a05a3) ) /* TC531000 */
2523
2524   NEO_BIOS_AUDIO_128K( "045-m1.m1", CRC(95170640) SHA1(125c502db0693e8d11cef619b090081c14a9a300) ) /* TC531001 */
2525
2526   ROM_REGION( 0x400000, "ymsnd", 0 )
2527   ROM_LOAD( "045-v1.v1", 0x000000, 0x200000, CRC(37f78a9b) SHA1(6279b497d12fa90b49ab5ac3aae20fb302ec8b81) ) /* TC5316200 */
2528   ROM_LOAD( "045-v2.v2", 0x200000, 0x200000, CRC(568b20cf) SHA1(61af858685472a1fad608e230cccc2b108509ddb) ) /* TC5316200 */
2529
2530   NO_DELTAT_REGION
2531
2532   ROM_REGION( 0xa00000, "sprites", 0 )
2533   ROM_LOAD16_BYTE( "045-c1.c1", 0x000000, 0x200000, CRC(2e5873a4) SHA1(65c74c1e2d34390666bbb630df7d1f4c9570c3db) ) /* Plane 0,1 */ /* TC5316200 */
2534   ROM_LOAD16_BYTE( "045-c2.c2", 0x000001, 0x200000, CRC(04febb10) SHA1(16a8cbf0fd9468e81bf9eab6dbe7a8e3623a843e) ) /* Plane 2,3 */ /* TC5316200 */
2535   ROM_LOAD16_BYTE( "045-c3.c3", 0x400000, 0x200000, CRC(f3dabd1e) SHA1(c80e52df42be9f8b2e89b467b11ab140a480cee8) ) /* Plane 0,1 */ /* TC5316200 */
2536   ROM_LOAD16_BYTE( "045-c4.c4", 0x400001, 0x200000, CRC(935c62f0) SHA1(0053d40085fac14096b683f4341f65e543b71dc1) ) /* Plane 2,3 */ /* TC5316200 */
2537   ROM_LOAD16_BYTE( "045-c51.c5", 0x800000, 0x100000, CRC(81932894) SHA1(550f15dc5892c4602422c51869f0d59f70f01e9e) ) /* Plane 0,1 */ /* TC538200 */
2538   ROM_LOAD16_BYTE( "045-c61.c6", 0x800001, 0x100000, CRC(be30612e) SHA1(5e8b785f917c176d6796eba0caed37b13ddb3e63) ) /* Plane 2,3 */ /* TC538200 */
2539ROM_END
2540
2541ROM_START( samshoh ) /* AES VERSION */
2542   ROM_REGION( 0x180000, "maincpu", 0 )
2543   ROM_LOAD16_WORD_SWAP( "045-p1.p1",  0x000000, 0x100000, CRC(dfe51bf0) SHA1(2243af3770a516ae698b69bcd9daf53632d9128d) ) /* TC538200 */
2544   ROM_LOAD16_WORD_SWAP( "045-p2.sp2", 0x100000, 0x080000, CRC(38ee9ba9) SHA1(48190699a6be83cb6257365ae81f93fdd23abe09) ) /* TC534200 */
2545
2546   NEO_SFIX_128K( "045-s1.s1", CRC(9142a4d3) SHA1(54088e99fcfd75fd0f94852890a56350066a05a3) ) /* TC531000 */
2547
2548   NEO_BIOS_AUDIO_128K( "045-m1.m1", CRC(95170640) SHA1(125c502db0693e8d11cef619b090081c14a9a300) ) /* TC531001 */
2549
2550   ROM_REGION( 0x400000, "ymsnd", 0 )
2551   ROM_LOAD( "045-v1.v1", 0x000000, 0x200000, CRC(37f78a9b) SHA1(6279b497d12fa90b49ab5ac3aae20fb302ec8b81) ) /* TC5316200 */
2552   ROM_LOAD( "045-v2.v2", 0x200000, 0x200000, CRC(568b20cf) SHA1(61af858685472a1fad608e230cccc2b108509ddb) ) /* TC5316200 */
2553
2554   NO_DELTAT_REGION
2555
2556   ROM_REGION( 0x900000, "sprites", 0 )
2557   ROM_LOAD16_BYTE( "045-c1.c1", 0x000000, 0x200000, CRC(2e5873a4) SHA1(65c74c1e2d34390666bbb630df7d1f4c9570c3db) ) /* Plane 0,1 */ /* TC5316200 */
2558   ROM_LOAD16_BYTE( "045-c2.c2", 0x000001, 0x200000, CRC(04febb10) SHA1(16a8cbf0fd9468e81bf9eab6dbe7a8e3623a843e) ) /* Plane 2,3 */ /* TC5316200 */
2559   ROM_LOAD16_BYTE( "045-c3.c3", 0x400000, 0x200000, CRC(f3dabd1e) SHA1(c80e52df42be9f8b2e89b467b11ab140a480cee8) ) /* Plane 0,1 */ /* TC5316200 */
2560   ROM_LOAD16_BYTE( "045-c4.c4", 0x400001, 0x200000, CRC(935c62f0) SHA1(0053d40085fac14096b683f4341f65e543b71dc1) ) /* Plane 2,3 */ /* TC5316200 */
2561   ROM_LOAD16_BYTE( "045-c5.c5", 0x800000, 0x080000, CRC(a2bb8284) SHA1(aa118e3b8c062daa219b36758b9a3814c08c69dc) ) /* Plane 0,1 */ /* TC534200 */
2562   ROM_LOAD16_BYTE( "045-c6.c6", 0x800001, 0x080000, CRC(4fa71252) SHA1(afe374a9d1f2d955a59efe7b6196b89e021b164c) ) /* Plane 2,3 */ /* TC534200 */
2563ROM_END
2564
2565/****************************************
2566 ID-0046
2567 . NGM-046
2568 NEO-MVS PROGTOP / NEO-MVS CHA256B
2569 . NGH-046
2570 NEO-AEG PROGTOP / NEO-AEG CHA256[B]
2571****************************************/
2572
2573ROM_START( tophuntr ) /* MVS VERSION */
2574   ROM_REGION( 0x200000, "maincpu", 0 )
2575   ROM_LOAD16_WORD_SWAP( "046-p1.p1",  0x000000, 0x100000, CRC(69fa9e29) SHA1(9a40a16163193bb506a32bd34f6323b25ec69622) ) /* mask rom TC538200 */
2576   ROM_LOAD16_WORD_SWAP( "046-p2.sp2", 0x100000, 0x100000, CRC(f182cb3e) SHA1(6b4e0af5d4e623f0682f37ff5c69e5b705e20028) ) /* mask rom TC538200 */
2577
2578   NEO_SFIX_128K( "046-s1.s1", CRC(14b01d7b) SHA1(618ce75c25d6cc86a3b46bd64a0aa34ab82f75ae) ) /* mask rom TC531000 */
2579
2580   NEO_BIOS_AUDIO_128K( "046-m1.m1", CRC(3f84bb9f) SHA1(07446040871d11da3c2217ee9d1faf8c3cae7420) ) /* mask rom TC531001 */
2581
2582   ROM_REGION( 0x400000, "ymsnd", 0 )
2583   ROM_LOAD( "046-v1.v1", 0x000000, 0x100000, CRC(c1f9c2db) SHA1(bed95a76afefa46503a12e0f0a9787c4c967ac50) ) /* mask rom TC538200 */
2584   ROM_LOAD( "046-v2.v2", 0x100000, 0x100000, CRC(56254a64) SHA1(1cf049cb4c414419859d2c8ee714317a35a85251) ) /* mask rom TC538200 */
2585   ROM_LOAD( "046-v3.v3", 0x200000, 0x100000, CRC(58113fb1) SHA1(40972982a63c7adecef840f9882f4165da723ab6) ) /* mask rom TC538200 */
2586   ROM_LOAD( "046-v4.v4", 0x300000, 0x100000, CRC(4f54c187) SHA1(63a76949301b83bdd44aa1a4462f642ab9ca3c0b) ) /* mask rom TC538200 */
2587
2588   NO_DELTAT_REGION
2589
2590   ROM_REGION( 0x800000, "sprites", 0 )
2591   ROM_LOAD16_BYTE( "046-c1.c1", 0x000000, 0x100000, CRC(fa720a4a) SHA1(364913b9fa40d46e4e39ae3cdae914cfd0de137d) ) /* Plane 0,1 */ /* mask rom TC538200 */
2592   ROM_LOAD16_BYTE( "046-c2.c2", 0x000001, 0x100000, CRC(c900c205) SHA1(50274e79aa26f334eb806288688b30720bade883) ) /* Plane 2,3 */ /* mask rom TC538200 */
2593   ROM_LOAD16_BYTE( "046-c3.c3", 0x200000, 0x100000, CRC(880e3c25) SHA1(b6974af0c833b766866919b6f15b6f8cef82530d) ) /* Plane 0,1 */ /* mask rom TC538200 */
2594   ROM_LOAD16_BYTE( "046-c4.c4", 0x200001, 0x100000, CRC(7a2248aa) SHA1(8af0b26025a54e3b91604dd24a3c1c518fbd8536) ) /* Plane 2,3 */ /* mask rom TC538200 */
2595   ROM_LOAD16_BYTE( "046-c5.c5", 0x400000, 0x100000, CRC(4b735e45) SHA1(2f8b46388c4696aee6a97e1e21cdadf6b142b01a) ) /* Plane 0,1 */ /* mask rom TC538200 */
2596   ROM_LOAD16_BYTE( "046-c6.c6", 0x400001, 0x100000, CRC(273171df) SHA1(9c35832221e016c12ef1ed71da167f565daaf86c) ) /* Plane 2,3 */ /* mask rom TC538200 */
2597   ROM_LOAD16_BYTE( "046-c7.c7", 0x600000, 0x100000, CRC(12829c4c) SHA1(ac5f3d848d7116fc35c97f53a72c85e049dd3a2f) ) /* Plane 0,1 */ /* mask rom TC538200 */
2598   ROM_LOAD16_BYTE( "046-c8.c8", 0x600001, 0x100000, CRC(c944e03d) SHA1(be23999b8ce09ee15ba500ce4d5e2a82a4f58d9b) ) /* Plane 2,3 */ /* mask rom TC538200 */
2599ROM_END
2600
2601ROM_START( tophuntrh ) /* AES VERSION */
2602   ROM_REGION( 0x200000, "maincpu", 0 )
2603   ROM_LOAD16_WORD_SWAP( "046-pg1.p1",0x000000, 0x100000, CRC(771e39bc) SHA1(c0e05fd1ca81926438bb75e2fa6894e40ab6521e) ) /* mask rom TC538200 */
2604   ROM_LOAD16_WORD_SWAP( "046-p2.sp2",0x100000, 0x100000, CRC(f182cb3e) SHA1(6b4e0af5d4e623f0682f37ff5c69e5b705e20028) ) /* mask rom TC538200 */
2605
2606   NEO_SFIX_128K( "046-sg1.s1", CRC(92e9ac8c) SHA1(cab5c77c091e8d12d9c3a2cc8d741b74e4386efb) ) /* mask rom TC531000 */
2607
2608   NEO_BIOS_AUDIO_128K( "046-m1.m1", CRC(3f84bb9f) SHA1(07446040871d11da3c2217ee9d1faf8c3cae7420) ) /* mask rom TC531001 */
2609
2610   ROM_REGION( 0x400000, "ymsnd", 0 )
2611   ROM_LOAD( "046-v1.v1", 0x000000, 0x100000, CRC(c1f9c2db) SHA1(bed95a76afefa46503a12e0f0a9787c4c967ac50) ) /* mask rom TC538200 */
2612   ROM_LOAD( "046-v2.v2", 0x100000, 0x100000, CRC(56254a64) SHA1(1cf049cb4c414419859d2c8ee714317a35a85251) ) /* mask rom TC538200 */
2613   ROM_LOAD( "046-v3.v3", 0x200000, 0x100000, CRC(58113fb1) SHA1(40972982a63c7adecef840f9882f4165da723ab6) ) /* mask rom TC538200 */
2614   ROM_LOAD( "046-v4.v4", 0x300000, 0x100000, CRC(4f54c187) SHA1(63a76949301b83bdd44aa1a4462f642ab9ca3c0b) ) /* mask rom TC538200 */
2615
2616   NO_DELTAT_REGION
2617
2618   ROM_REGION( 0x800000, "sprites", 0 )
2619   ROM_LOAD16_BYTE( "046-c1.c1", 0x000000, 0x100000, CRC(fa720a4a) SHA1(364913b9fa40d46e4e39ae3cdae914cfd0de137d) ) /* Plane 0,1 */ /* mask rom TC538200 */
2620   ROM_LOAD16_BYTE( "046-c2.c2", 0x000001, 0x100000, CRC(c900c205) SHA1(50274e79aa26f334eb806288688b30720bade883) ) /* Plane 2,3 */ /* mask rom TC538200 */
2621   ROM_LOAD16_BYTE( "046-c3.c3", 0x200000, 0x100000, CRC(880e3c25) SHA1(b6974af0c833b766866919b6f15b6f8cef82530d) ) /* Plane 0,1 */ /* mask rom TC538200 */
2622   ROM_LOAD16_BYTE( "046-c4.c4", 0x200001, 0x100000, CRC(7a2248aa) SHA1(8af0b26025a54e3b91604dd24a3c1c518fbd8536) ) /* Plane 2,3 */ /* mask rom TC538200 */
2623   ROM_LOAD16_BYTE( "046-c5.c5", 0x400000, 0x100000, CRC(4b735e45) SHA1(2f8b46388c4696aee6a97e1e21cdadf6b142b01a) ) /* Plane 0,1 */ /* mask rom TC538200 */
2624   ROM_LOAD16_BYTE( "046-c6.c6", 0x400001, 0x100000, CRC(273171df) SHA1(9c35832221e016c12ef1ed71da167f565daaf86c) ) /* Plane 2,3 */ /* mask rom TC538200 */
2625   ROM_LOAD16_BYTE( "046-c7.c7", 0x600000, 0x100000, CRC(12829c4c) SHA1(ac5f3d848d7116fc35c97f53a72c85e049dd3a2f) ) /* Plane 0,1 */ /* mask rom TC538200 */
2626   ROM_LOAD16_BYTE( "046-c8.c8", 0x600001, 0x100000, CRC(c944e03d) SHA1(be23999b8ce09ee15ba500ce4d5e2a82a4f58d9b) ) /* Plane 2,3 */ /* mask rom TC538200 */
2627ROM_END
2628
2629/****************************************
2630 ID-0047
2631 . NGM-047
2632 NEO-MVS PROG-G2 (SNK-9201) / NEO-MVS CHA42G-1
2633 . NGH-047
2634 NEO-AEG PROG-G2 (PRO-CT0) / NEO-AEG CHA42G-2B
2635****************************************/
2636
2637ROM_START( fatfury2 ) /* MVS AND AES VERSION */
2638   ROM_REGION( 0x100000, "maincpu", 0 )
2639   ROM_LOAD16_WORD_SWAP( "047-p1.p1", 0x000000, 0x100000, CRC(ecfdbb69) SHA1(59e2f137c6eaf043df4ddae865a9159a10265c60) ) /* TC538200 */
2640   /* The original p1 is 8mbit; also found sets with p1 / p2 4mbit on eprom. */
2641
2642   NEO_SFIX_128K( "047-s1.s1", CRC(d7dbbf39) SHA1(29253e596f475ebd41a6e3bb53952e3a0ccd2eed) ) /* TC531000 */
2643
2644   NEO_BIOS_AUDIO_128K( "047-m1.m1", CRC(820b0ba7) SHA1(5708248d89446e49184eaadb52f7c61b2b6c13c5) ) /* TC531001 */
2645
2646   ROM_REGION( 0x400000, "ymsnd", 0 )
2647   ROM_LOAD( "047-v1.v1", 0x000000, 0x200000, CRC(d9d00784) SHA1(f6a91eada8c23aa4518c4b82eeebca69f79d845c) ) /* TC5316200 */
2648   ROM_LOAD( "047-v2.v2", 0x200000, 0x200000, CRC(2c9a4b33) SHA1(d4a1c0951c02c8919b3ec32ed96933634ff9e54c) ) /* TC5316200 */
2649
2650   NO_DELTAT_REGION
2651
2652   ROM_REGION( 0x800000, "sprites", 0 )
2653   ROM_LOAD16_BYTE( "047-c1.c1", 0x000000, 0x100000, CRC(f72a939e) SHA1(67fc398ec28061adca0d3be82bbe7297015800da) ) /* Plane 0,1 */ /* TC5316200 */
2654   ROM_CONTINUE( 0x400000, 0x100000 )
2655   ROM_LOAD16_BYTE( "047-c2.c2", 0x000001, 0x100000, CRC(05119a0d) SHA1(c2f100b73eb04f65b6ba6089d49aceb51b470ec6) ) /* Plane 2,3 */ /* TC5316200 */
2656   ROM_CONTINUE( 0x400001, 0x100000 )
2657   ROM_LOAD16_BYTE( "047-c3.c3", 0x200000, 0x100000, CRC(01e00738) SHA1(79654f24d777dd5eb68bafc3b8cb9db71d5822e2) ) /* Plane 0,1 */ /* TC5316200 */
2658   ROM_CONTINUE( 0x600000, 0x100000 )
2659   ROM_LOAD16_BYTE( "047-c4.c4", 0x200001, 0x100000, CRC(9fe27432) SHA1(89d22d77ba8bc6d1f6c974195c34ad61b9010de7) ) /* Plane 2,3 */ /* TC5316200 */
2660   ROM_CONTINUE( 0x600001, 0x100000 )
2661ROM_END
2662
2663/****************************************
2664 ID-0048
2665 . ??M-048
2666 NEO-MVS PROGGSC / NEO-MVS CHA256
2667****************************************/
2668
2669ROM_START( janshin ) /* MVS ONLY RELEASE */
2670   ROM_REGION( 0x100000, "maincpu", 0 )
2671   ROM_LOAD16_WORD_SWAP( "048-p1.p1", 0x000000, 0x100000, CRC(fa818cbb) SHA1(afee2c897b766c84f13891fb52c574fb18df0951) ) /* mask rom TC538200 */
2672
2673   NEO_SFIX_128K( "048-s1.s1", CRC(8285b25a) SHA1(d983640cda3e346e38469b4d3ec8048b116a7bb7) ) /* mask rom TC531000 */
2674
2675   NEO_BIOS_AUDIO_128K( "048-m1.m1", CRC(310467c7) SHA1(c529961195c9bdf5d1ce70a38ad129002d1f3b5f) ) /* mask rom TC531001 */
2676
2677   ROM_REGION( 0x200000, "ymsnd", 0 )
2678   ROM_LOAD( "048-v1.v1", 0x000000, 0x200000, CRC(f1947d2b) SHA1(955ff91ab24eb2a7ec51ff46c9f9f2ec060456b2) ) /* mask rom TC5316200 */
2679
2680   NO_DELTAT_REGION
2681
2682   ROM_REGION( 0x400000, "sprites", 0 )
2683   ROM_LOAD16_BYTE( "048-c1.c1", 0x000000, 0x200000, CRC(3fa890e9) SHA1(e73d2802bacfbc2b2b16fbbedddde17488e4bbde) ) /* Plane 0,1 */ /* mask rom TC5316200 */
2684   ROM_LOAD16_BYTE( "048-c2.c1", 0x000001, 0x200000, CRC(59c48ad8) SHA1(2630817e735a6d197377558f4324c1442803fe15) ) /* Plane 2,3 */ /* mask rom TC5316200 */
2685ROM_END
2686
2687/****************************************
2688 ID-0049
2689 . NGM-049
2690 NEO-MVS PROG16 / NEO-MVS CHA42G-1
2691 . NGH-049
2692 NEO-AEG PROG16 / NEO-AEG CHA42G-1
2693****************************************/
2694
2695ROM_START( androdun ) /* MVS AND AES VERSION */
2696   ROM_REGION( 0x100000, "maincpu", 0 )
2697   ROM_LOAD16_WORD_SWAP( "049-p1.p1", 0x000000, 0x080000, CRC(3b857da2) SHA1(4dd86c739944696c16c3cdd85935d6dfa9fdc276) ) /* CXK384500 */
2698   ROM_LOAD16_WORD_SWAP( "049-p2.p2", 0x080000, 0x080000, CRC(2f062209) SHA1(991cf3e3677929b2cc0b2787b0c7b6ad3700f618) ) /* CXK384500 */
2699
2700   NEO_SFIX_128K( "049-s1.s1", CRC(6349de5d) SHA1(bcc44b9576d7bedd9a39294530bb66f707690c72) ) /* CXK381000 */
2701
2702   NEO_BIOS_AUDIO_128K( "049-m1.m1", CRC(edd2acf4) SHA1(c4ee6ba834d54b9fc5a854dbc41a05877e090371) ) /* CXK381003 */
2703
2704   ROM_REGION( 0x100000, "ymsnd", 0 )
2705   ROM_LOAD( "049-v1.v1", 0x000000, 0x100000, CRC(ce43cb89) SHA1(47f82e077abb6efc6b1b0490412ae147d5d2acef) ) /* CXK388000 */
2706
2707   NO_DELTAT_REGION
2708
2709   ROM_REGION( 0x200000, "sprites", 0 )
2710   ROM_LOAD16_BYTE( "049-c1.c1", 0x000000, 0x100000, CRC(7ace6db3) SHA1(c41cc9de8c0788dcc49ca494fd3bb3124062d9dd) ) /* Plane 0,1 */ /* CXK388000 */
2711   ROM_LOAD16_BYTE( "049-c2.c2", 0x000001, 0x100000, CRC(b17024f7) SHA1(fcf7efae48fcdccaf5255c145de414fb246128f0) ) /* Plane 2,3 */ /* CXK388000 */
2712ROM_END
2713
2714/****************************************
2715 ID-0050
2716 . ALM-004
2717 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
2718 . ALH-004
2719****************************************/
2720
2721ROM_START( ncommand )
2722   ROM_REGION( 0x100000, "maincpu", 0 )
2723   ROM_LOAD16_WORD_SWAP( "050-p1.p1", 0x000000, 0x100000, CRC(4e097c40) SHA1(43311a7ca14a14dcd4a99d8576a12e897b078643) ) /* CXK388000 */
2724
2725   NEO_SFIX_128K( "050-s1.s1", CRC(db8f9c8e) SHA1(11cb82cf3c4d0fc2da5df0c26410a64808093610) ) /* CXK381000 */
2726
2727   NEO_BIOS_AUDIO_128K( "050-m1.m1", CRC(6fcf07d3) SHA1(e9ecff4bfec1f5964bf06645f75d80d611b6231c) ) /* CXK381003 */
2728
2729   ROM_REGION( 0x180000, "ymsnd", 0 )
2730   ROM_LOAD( "050-v1.v1", 0x000000, 0x100000, CRC(23c3ab42) SHA1(b6c59bb180f1aa34c95f3ec923f3aafb689d57b0) ) /* CXK388000 */
2731   ROM_LOAD( "050-v2.v2", 0x100000, 0x080000, CRC(80b8a984) SHA1(950cf0e78ceffa4037663f1086fbbc88588f49f2) ) /* CXK388000 */
2732
2733   NO_DELTAT_REGION
2734
2735   ROM_REGION( 0x400000, "sprites", 0 )
2736   ROM_LOAD16_BYTE( "050-c1.c1", 0x000000, 0x100000, CRC(87421a0a) SHA1(1d8faaf03778f7c5b062554d7333bbd3f0ca12ad) ) /* Plane 0,1 */ /* CXK388000 */
2737   ROM_LOAD16_BYTE( "050-c2.c2", 0x000001, 0x100000, CRC(c4cf5548) SHA1(ef9eca5aeff9dda2209a050c2af00ed8979ae2bc) ) /* Plane 2,3 */ /* CXK388000 */
2738   ROM_LOAD16_BYTE( "050-c3.c3", 0x200000, 0x100000, CRC(03422c1e) SHA1(920e5015aebe2ffc5ce43a52365c7f0a705f3b9e) ) /* Plane 0,1 */ /* CXK388000 */
2739   ROM_LOAD16_BYTE( "050-c4.c4", 0x200001, 0x100000, CRC(0845eadb) SHA1(3c71a02bf0e07a5381846bb6d75bbe7dd546adea) ) /* Plane 2,3 */ /* CXK388000 */
2740ROM_END
2741
2742/****************************************
2743 ID-0051
2744 . AIM-051
2745 NEO-MVS PROG-G2 / NEO-MVS CHA42G-1
2746 . AIH-051
2747****************************************/
2748
2749ROM_START( viewpoin )
2750   ROM_REGION( 0x100000, "maincpu", 0 )
2751   ROM_LOAD16_WORD_SWAP( "051-p1.p1", 0x000000, 0x100000, CRC(17aa899d) SHA1(674cd8ace7acdf4f407de741e3d0071bcb49c902) ) /* CXK388002 */
2752
2753   NEO_SFIX_128K( "051-s1.s1", CRC(9fea5758) SHA1(5c6f01da89f2639cf741ee7c39e27023b8083052) ) /* CXK381000 */
2754
2755   NEO_BIOS_AUDIO_128K( "051-m1.m1", CRC(8e69f29a) SHA1(7a25f4997996434ea1b7d0d1ca9e7aaf966cbd03) ) /* CXK381003 */
2756
2757   ROM_REGION( 0x400000, "ymsnd", 0 )
2758   /* What board was originally used (labels 051-V2 and 051-V4)? MVS is twice confirmed on NEO-MVS PROG-G2 */
2759   ROM_LOAD( "051-v2.v1", 0x000000, 0x200000, CRC(019978b6) SHA1(7896a551115fc6ed38b5944e0c8dcb2b2c1c077d) ) /* CXK381600 */
2760   ROM_LOAD( "051-v4.v2", 0x200000, 0x200000, CRC(5758f38c) SHA1(da10f4b7d22d9139bbf068bd940be82168a74ca1) ) /* CXK381600 */
2761
2762   NO_DELTAT_REGION
2763
2764   ROM_REGION( 0x600000, "sprites", 0 )
2765   ROM_LOAD16_BYTE( "051-c1.c1", 0x000000, 0x100000, CRC(d624c132) SHA1(49c7e9f020cba45d7083b45252bcc03397f8c286) ) /* Plane 0,1 */ /* CXK381600 */
2766   ROM_CONTINUE( 0x400000, 0x100000 )
2767   ROM_LOAD16_BYTE( "051-c2.c2", 0x000001, 0x100000, CRC(40d69f1e) SHA1(ec4a13582772594957f927622d50f54b0dfcd8d8) ) /* Plane 2,3 */ /* CXK381600 */
2768   ROM_CONTINUE( 0x400001, 0x100000 )
2769ROM_END
2770
2771/****************************************
2772 ID-0052
2773 . NGM-052
2774 NEO-MVS PROG-G2 (SNK-9201) / NEO-MVS CHA 42G-2
2775 . NGH-052
2776****************************************/
2777
2778ROM_START( ssideki )
2779   ROM_REGION( 0x100000, "maincpu", 0 )
2780   ROM_LOAD16_WORD_SWAP( "052-p1.p1", 0x000000, 0x080000, CRC(9cd97256) SHA1(1c780b711137fd79cc81b01941e84f3d59e0071f) ) /* TC534200 */
2781
2782   NEO_SFIX_128K( "052-s1.s1", CRC(97689804) SHA1(fa8dab3b3353d7115a0368f3fc749950c0186fbc) ) /* TC531000 */
2783
2784   NEO_BIOS_AUDIO_128K( "052-m1.m1", CRC(49f17d2d) SHA1(70971fcf71ae3a6b2e26e7ade8063941fb178ae5) ) /* TC531001 */
2785
2786   ROM_REGION( 0x200000, "ymsnd", 0 )
2787   ROM_LOAD( "052-v1.v1", 0x000000, 0x200000, CRC(22c097a5) SHA1(328c4e6db0a026f54a633cff1443a3f964a8daea) ) /* TC5316200 */
2788
2789   NO_DELTAT_REGION
2790
2791   ROM_REGION( 0x600000, "sprites", 0 )
2792   ROM_LOAD16_BYTE( "052-c1.c1", 0x000000, 0x100000, CRC(53e1c002) SHA1(2125b1be379ea7933893ffb1cd65d6c4bf8b03bd) ) /* Plane 0,1 */ /* TC5316200 */
2793   ROM_CONTINUE( 0x400000, 0x100000 )
2794   ROM_LOAD16_BYTE( "052-c2.c2", 0x000001, 0x100000, CRC(776a2d1f) SHA1(bca0bac87443e9e78c623d284f6cc96cc9c9098f) ) /* Plane 2,3 */ /* TC5316200 */
2795   ROM_CONTINUE( 0x400001, 0x100000 )
2796ROM_END
2797
2798/****************************************
2799 ID-0053
2800 . ALM-005
2801 NEO-MVS PROG16 / NEO-MVS CHA42G-1
2802 . ALH-005
2803 NEO-AEG PROG16 / NEO-AEG CHA42G-1
2804****************************************/
2805
2806ROM_START( wh1 ) /* MVS VERSION */
2807   ROM_REGION( 0x100000, "maincpu", 0 )
2808   ROM_LOAD16_WORD_SWAP( "053-epr.p1", 0x000000, 0x080000, CRC(d42e1e9a) SHA1(9d1911fe4bf6202466ec45557dd008cbf01ca9c6) ) /* D27C4000 */
2809   ROM_LOAD16_WORD_SWAP( "053-epr.p2", 0x080000, 0x080000, CRC(0e33e8a3) SHA1(4b7086edb504f3c30529d51ba8f453d48eba5164) ) /* D27C4000 */
2810   /* P's on eprom, correct chip label unknown */
2811
2812   NEO_SFIX_128K( "053-s1.s1", CRC(8c2c2d6b) SHA1(87fa79611c6f8886dcc8766814829c669c65b40f) ) /* TC531000 */
2813
2814   NEO_BIOS_AUDIO_128K( "053-m1.m1", CRC(1bd9d04b) SHA1(65cd7b002123ed1a3111e3d942608d0082799ff3) ) /* TC54H1000 */
2815
2816   ROM_REGION( 0x300000, "ymsnd", 0 )
2817   ROM_LOAD( "053-v2.v2", 0x000000, 0x200000, CRC(a68df485) SHA1(007fa715423fba72c899cd3db3f4bec13281cf7a) ) /* TC5316200 */
2818   ROM_LOAD( "053-v4.v4", 0x200000, 0x100000, CRC(7bea8f66) SHA1(428e8721bd87f7faa756adb1e12672219be46c1d) ) /* TC538200 */
2819
2820   NO_DELTAT_REGION
2821
2822   ROM_REGION( 0x600000, "sprites", 0 )
2823   ROM_LOAD16_BYTE( "053-c1.c1", 0x000000, 0x100000, CRC(85eb5bce) SHA1(3d03d29296ca6e6b5106aac4aaeec9d4b4ed1313) ) /* Plane 0,1 */ /* TC5316200 */
2824   ROM_CONTINUE( 0x400000, 0x100000 )
2825   ROM_LOAD16_BYTE( "053-c2.c2", 0x000001, 0x100000, CRC(ec93b048) SHA1(d4159210df94e259f874a4671d271ec27be13451) ) /* Plane 2,3 */ /* TC5316200 */
2826   ROM_CONTINUE( 0x400001, 0x100000 )
2827   ROM_LOAD16_BYTE( "053-c3.c3", 0x200000, 0x100000, CRC(0dd64965) SHA1(e97b3b8a461da5e8861b3dfdacb25e007ced37a1) ) /* Plane 0,1 */ /* TC538200 */
2828   ROM_LOAD16_BYTE( "053-c4.c4", 0x200001, 0x100000, CRC(9270d954) SHA1(a2ef909868f6b06cdcc22a63ddf6c96be12b999c) ) /* Plane 2,3 */ /* TC538200 */
2829ROM_END
2830
2831ROM_START( wh1h ) /* AES VERSION */
2832   ROM_REGION( 0x100000, "maincpu", 0 )
2833   ROM_LOAD16_WORD_SWAP( "053-p1.p1", 0x000000, 0x080000, CRC(95b574cb) SHA1(b7b7af6a04c3d902e7f8852897741ecaf0b1062c) ) /* TC534200 */
2834   ROM_LOAD16_WORD_SWAP( "053-p2.p2", 0x080000, 0x080000, CRC(f198ed45) SHA1(24ccc091e97f63796562bb5b30df51f39bd504ef) ) /* TC534200 */
2835
2836   NEO_SFIX_128K( "053-s1.s1", CRC(8c2c2d6b) SHA1(87fa79611c6f8886dcc8766814829c669c65b40f) ) /* TC531000 */
2837
2838   NEO_BIOS_AUDIO_128K( "053-m1.m1", CRC(1bd9d04b) SHA1(65cd7b002123ed1a3111e3d942608d0082799ff3) ) /* TC531001 */
2839
2840   ROM_REGION( 0x300000, "ymsnd", 0 )
2841   ROM_LOAD( "053-v2.v2", 0x000000, 0x200000, CRC(a68df485) SHA1(007fa715423fba72c899cd3db3f4bec13281cf7a) ) /* TC5316200 */
2842   ROM_LOAD( "053-v4.v4", 0x200000, 0x100000, CRC(7bea8f66) SHA1(428e8721bd87f7faa756adb1e12672219be46c1d) ) /* TC538200 */
2843
2844   NO_DELTAT_REGION
2845
2846   ROM_REGION( 0x600000, "sprites", 0 )
2847   ROM_LOAD16_BYTE( "053-c1.c1", 0x000000, 0x100000, CRC(85eb5bce) SHA1(3d03d29296ca6e6b5106aac4aaeec9d4b4ed1313) ) /* Plane 0,1 */ /* TC5316200 */
2848   ROM_CONTINUE( 0x400000, 0x100000 )
2849   ROM_LOAD16_BYTE( "053-c2.c2", 0x000001, 0x100000, CRC(ec93b048) SHA1(d4159210df94e259f874a4671d271ec27be13451) ) /* Plane 2,3 */ /* TC5316200 */
2850   ROM_CONTINUE( 0x400001, 0x100000 )
2851   ROM_LOAD16_BYTE( "053-c3.c3", 0x200000, 0x100000, CRC(0dd64965) SHA1(e97b3b8a461da5e8861b3dfdacb25e007ced37a1) ) /* Plane 0,1 */ /* TC538200 */
2852   ROM_LOAD16_BYTE( "053-c4.c4", 0x200001, 0x100000, CRC(9270d954) SHA1(a2ef909868f6b06cdcc22a63ddf6c96be12b999c) ) /* Plane 2,3 */ /* TC538200 */
2853ROM_END
2854
2855ROM_START( wh1ha )
2856   ROM_REGION( 0x100000, "maincpu", 0 )
2857   ROM_LOAD16_WORD_SWAP( "053-p1_a.p1", 0x000000, 0x080000, CRC(ed29fde2) SHA1(52b8ca5b804f786f95e1dfb348d8c7b82f1d4ddf) )
2858   ROM_LOAD16_WORD_SWAP( "053-p2_a.p2", 0x080000, 0x080000, CRC(98f2b158) SHA1(a64e1425970eb53cc910891db39973dee3d54ccc) )
2859   /* Correct chip labels for p1 and p2 unknown */
2860
2861   NEO_SFIX_128K( "053-s1.s1", CRC(8c2c2d6b) SHA1(87fa79611c6f8886dcc8766814829c669c65b40f) ) /* TC531000 */
2862
2863   NEO_BIOS_AUDIO_128K( "053-m1.m1", CRC(1bd9d04b) SHA1(65cd7b002123ed1a3111e3d942608d0082799ff3) ) /* TC531001 */
2864
2865   ROM_REGION( 0x300000, "ymsnd", 0 )
2866   ROM_LOAD( "053-v2.v2", 0x000000, 0x200000, CRC(a68df485) SHA1(007fa715423fba72c899cd3db3f4bec13281cf7a) ) /* TC5316200 */
2867   ROM_LOAD( "053-v4.v4", 0x200000, 0x100000, CRC(7bea8f66) SHA1(428e8721bd87f7faa756adb1e12672219be46c1d) ) /* TC538200 */
2868
2869   NO_DELTAT_REGION
2870
2871   ROM_REGION( 0x600000, "sprites", 0 )
2872   ROM_LOAD16_BYTE( "053-c1.c1", 0x000000, 0x100000, CRC(85eb5bce) SHA1(3d03d29296ca6e6b5106aac4aaeec9d4b4ed1313) ) /* Plane 0,1 */ /* TC5316200 */
2873   ROM_CONTINUE( 0x400000, 0x100000 )
2874   ROM_LOAD16_BYTE( "053-c2.c2", 0x000001, 0x100000, CRC(ec93b048) SHA1(d4159210df94e259f874a4671d271ec27be13451) ) /* Plane 2,3 */ /* TC5316200 */
2875   ROM_CONTINUE( 0x400001, 0x100000 )
2876   ROM_LOAD16_BYTE( "053-c3.c3", 0x200000, 0x100000, CRC(0dd64965) SHA1(e97b3b8a461da5e8861b3dfdacb25e007ced37a1) ) /* Plane 0,1 */ /* TC538200 */
2877   ROM_LOAD16_BYTE( "053-c4.c4", 0x200001, 0x100000, CRC(9270d954) SHA1(a2ef909868f6b06cdcc22a63ddf6c96be12b999c) ) /* Plane 2,3 */ /* TC538200 */
2878ROM_END
2879
2880/****************************************
2881 ID-0054
2882 Crossed Swords 2 (CD only? not confirmed, MVS might exist)
2883****************************************/
2884
2885/****************************************
2886 ID-0055
2887 . NGM-055
2888 NEO-MVS PROGTOP / NEO-MVS CHA256
2889 . NGH-055
2890 NEO-AEG PROGRK / NEO-AEG CHA256
2891****************************************/
2892
2893ROM_START( kof94 ) /* MVS AND AES VERSION */
2894   ROM_REGION( 0x200000, "maincpu", 0 )
2895   ROM_LOAD16_WORD_SWAP( "055-p1.p1", 0x100000, 0x100000, CRC(f10a2042) SHA1(d08a3f3c28be4b1793de7d362456281329fe1828) ) /* mask rom TC5316200 */
2896   ROM_CONTINUE( 0x000000, 0x100000 )
2897
2898   NEO_SFIX_128K( "055-s1.s1", CRC(825976c1) SHA1(cb6a70bdd95d449d25196ca269b621c362db6743) ) /* mask rom TC531000 */
2899
2900   NEO_BIOS_AUDIO_128K( "055-m1.m1", CRC(f6e77cf5) SHA1(292a3e3a4918ffe72bd1c41acb927b91844e035e) ) /* mask rom TC531001 */
2901
2902   ROM_REGION( 0x600000, "ymsnd", 0 )
2903   ROM_LOAD( "055-v1.v1", 0x000000, 0x200000, CRC(8889596d) SHA1(c9ce713b720511438dbd3fe3bcc7c246f475c6a2) ) /* mask rom TC5316200 */
2904   ROM_LOAD( "055-v2.v2", 0x200000, 0x200000, CRC(25022b27) SHA1(2b040a831c3c92ac6e4719de38009a0d55b64f6b) ) /* mask rom TC5316200 */
2905   ROM_LOAD( "055-v3.v3", 0x400000, 0x200000, CRC(83cf32c0) SHA1(34a31a37eb10945b5169e96321bcea06eec33a00) ) /* mask rom TC5316200 */
2906
2907   NO_DELTAT_REGION
2908
2909   ROM_REGION( 0x1000000, "sprites", 0 )
2910   ROM_LOAD16_BYTE( "055-c1.c1", 0x000000, 0x200000, CRC(b96ef460) SHA1(e52f5303c17b50ce165c008be2837336369c110b) ) /* Plane 0,1 */ /* mask rom TC5316200 */
2911   ROM_LOAD16_BYTE( "055-c2.c2", 0x000001, 0x200000, CRC(15e096a7) SHA1(237c2a3d059de00bfca66e0016ed325d7a32bfec) ) /* Plane 2,3 */ /* mask rom TC5316200 */
2912   ROM_LOAD16_BYTE( "055-c3.c3", 0x400000, 0x200000, CRC(54f66254) SHA1(c594384bcd8b03beb8c595591505fecc44b185ac) ) /* Plane 0,1 */ /* mask rom TC5316200 */
2913   ROM_LOAD16_BYTE( "055-c4.c4", 0x400001, 0x200000, CRC(0b01765f) SHA1(ec1fdcc944611408367bf5023d4ebe7edd9dfa88) ) /* Plane 2,3 */ /* mask rom TC5316200 */
2914   ROM_LOAD16_BYTE( "055-c5.c5", 0x800000, 0x200000, CRC(ee759363) SHA1(8a5621c1b1f8267b9b9b6a14ab4944de542e1945) ) /* Plane 0,1 */ /* mask rom TC5316200 */
2915   ROM_LOAD16_BYTE( "055-c6.c6", 0x800001, 0x200000, CRC(498da52c) SHA1(1e6e6202ee053a5261db889177ce3a087e078bda) ) /* Plane 2,3 */ /* mask rom TC5316200 */
2916   ROM_LOAD16_BYTE( "055-c7.c7", 0xc00000, 0x200000, CRC(62f66888) SHA1(ac91a0eab0753bee175ad40213a4ae5d38ed5b87) ) /* Plane 0,1 */ /* mask rom TC5316200 */
2917   ROM_LOAD16_BYTE( "055-c8.c8", 0xc00001, 0x200000, CRC(fe0a235d) SHA1(a45c66836e4e3c77dfef9d4c6cc422cb59169149) ) /* Plane 2,3 */ /* mask rom TC5316200 */
2918ROM_END
2919
2920/****************************************
2921 ID-0056
2922 . NGM-056
2923 NEO-MVS PROGGSC / NEO-MVS CHA256
2924 . NGH-056
2925 NEO-AEG PROGRKB / NEO-AEG CHA256[B]
2926****************************************/
2927
2928ROM_START( aof2 ) /* MVS VERSION */
2929   ROM_REGION( 0x100000, "maincpu", 0 )
2930   ROM_LOAD16_WORD_SWAP( "056-p1.p1", 0x000000, 0x100000, CRC(a3b1d021) SHA1(ee42f3ca4516226b0088d0303ed28e3ecdabcd71) ) /* TC538200 */
2931
2932   NEO_SFIX_128K( "056-s1.s1", CRC(8b02638e) SHA1(aa4d28804ca602da776948b5f223ea89e427906b) ) /* TC531000 */
2933
2934   NEO_BIOS_AUDIO_128K( "056-m1.m1", CRC(f27e9d52) SHA1(dddae733d87ce7c88ad2580a8f64cb6ff9572e67) ) /* TC531001 */
2935
2936   ROM_REGION( 0x500000, "ymsnd", 0 )
2937   ROM_LOAD( "056-v1.v1", 0x000000, 0x200000, CRC(4628fde0) SHA1(ece2a50f5270d844d58401b1447d1d856d78ea45) ) /* TC5316200 */
2938   ROM_LOAD( "056-v2.v2", 0x200000, 0x200000, CRC(b710e2f2) SHA1(df4da585203eea7554d3ce718eb107e9cb6a0254) ) /* TC5316200 */
2939   ROM_LOAD( "056-v3.v3", 0x400000, 0x100000, CRC(d168c301) SHA1(969273d1d11943e81560959359a2c4e69522af0e) ) /* TC538200 */
2940
2941   NO_DELTAT_REGION
2942
2943   ROM_REGION( 0x1000000, "sprites", 0 )
2944   /* Different layout with 4xC (32mbit) also exists; chip labels are 056-C13, 056-C24, 056-C57 and 056-C68 */
2945   ROM_LOAD16_BYTE( "056-c1.c1", 0x000000, 0x200000, CRC(17b9cbd2) SHA1(1eee81e02763d384bd1c10a6012473ca931e4093) ) /* Plane 0,1 */ /* TC5316200 */
2946   ROM_LOAD16_BYTE( "056-c2.c2", 0x000001, 0x200000, CRC(5fd76b67) SHA1(11925a41a53b53c6df4a5ebd28f98300950f743b) ) /* Plane 2,3 */ /* TC5316200 */
2947   ROM_LOAD16_BYTE( "056-c3.c3", 0x400000, 0x200000, CRC(d2c88768) SHA1(22e2d84aa0c095944190e249ce87ef50d3f7b8ce) ) /* Plane 0,1 */ /* TC5316200 */
2948   ROM_LOAD16_BYTE( "056-c4.c4", 0x400001, 0x200000, CRC(db39b883) SHA1(59de86c513dc4e230ae25d9e3b7e84621b657b54) ) /* Plane 2,3 */ /* TC5316200 */
2949   ROM_LOAD16_BYTE( "056-c5.c5", 0x800000, 0x200000, CRC(c3074137) SHA1(9a75e3d63cb98d54f900dcfb3a03e21f3148d32f) ) /* Plane 0,1 */ /* TC5316200 */
2950   ROM_LOAD16_BYTE( "056-c6.c6", 0x800001, 0x200000, CRC(31de68d3) SHA1(13ba7046cdd6863125f8284e60f102d4720af5a4) ) /* Plane 2,3 */ /* TC5316200 */
2951   ROM_LOAD16_BYTE( "056-c7.c7", 0xc00000, 0x200000, CRC(3f36df57) SHA1(79ee97e9ae811a51141b535633f90e1491209d54) ) /* Plane 0,1 */ /* TC5316200 */
2952   ROM_LOAD16_BYTE( "056-c8.c8", 0xc00001, 0x200000, CRC(e546d7a8) SHA1(74a2fca994a5a93a5784a46c0f68193122456a09) ) /* Plane 2,3 */ /* TC5316200 */
2953ROM_END
2954
2955ROM_START( aof2a ) /* AES VERSION */
2956   ROM_REGION( 0x100000, "maincpu", 0 )
2957   ROM_LOAD16_WORD_SWAP( "056-p1.p1",  0x000000, 0x100000, CRC(a3b1d021) SHA1(ee42f3ca4516226b0088d0303ed28e3ecdabcd71) ) /* TC538200 */
2958   /* the rom below acts as a patch to the program rom in the cart, replacing the first 512kb */
2959   ROM_LOAD16_WORD_SWAP( "056-epr.ep1", 0x000000, 0x80000, CRC(75d6301c) SHA1(e72d15fba55f96be7b4fa29e705a7b78f56edf7d) ) /* M27C4002 */
2960   /* P is on eprom, correct chip label unknown */
2961
2962   NEO_SFIX_128K( "056-s1.s1", CRC(8b02638e) SHA1(aa4d28804ca602da776948b5f223ea89e427906b) ) /* TC531000 */
2963
2964   NEO_BIOS_AUDIO_128K( "056-m1.m1", CRC(f27e9d52) SHA1(dddae733d87ce7c88ad2580a8f64cb6ff9572e67) ) /* TC531001 */
2965
2966   ROM_REGION( 0x500000, "ymsnd", 0 )
2967   ROM_LOAD( "056-v1.v1", 0x000000, 0x200000, CRC(4628fde0) SHA1(ece2a50f5270d844d58401b1447d1d856d78ea45) ) /* TC5316200 */
2968   ROM_LOAD( "056-v2.v2", 0x200000, 0x200000, CRC(b710e2f2) SHA1(df4da585203eea7554d3ce718eb107e9cb6a0254) ) /* TC5316200 */
2969   ROM_LOAD( "056-v3.v3", 0x400000, 0x100000, CRC(d168c301) SHA1(969273d1d11943e81560959359a2c4e69522af0e) ) /* TC538200 */
2970
2971   NO_DELTAT_REGION
2972
2973   ROM_REGION( 0x1000000, "sprites", 0 )
2974   ROM_LOAD16_BYTE( "056-c1.c1", 0x000000, 0x200000, CRC(17b9cbd2) SHA1(1eee81e02763d384bd1c10a6012473ca931e4093) ) /* Plane 0,1 */ /* TC5316200 */
2975   ROM_LOAD16_BYTE( "056-c2.c2", 0x000001, 0x200000, CRC(5fd76b67) SHA1(11925a41a53b53c6df4a5ebd28f98300950f743b) ) /* Plane 2,3 */ /* TC5316200 */
2976   ROM_LOAD16_BYTE( "056-c3.c3", 0x400000, 0x200000, CRC(d2c88768) SHA1(22e2d84aa0c095944190e249ce87ef50d3f7b8ce) ) /* Plane 0,1 */ /* TC5316200 */
2977   ROM_LOAD16_BYTE( "056-c4.c4", 0x400001, 0x200000, CRC(db39b883) SHA1(59de86c513dc4e230ae25d9e3b7e84621b657b54) ) /* Plane 2,3 */ /* TC5316200 */
2978   ROM_LOAD16_BYTE( "056-c5.c5", 0x800000, 0x200000, CRC(c3074137) SHA1(9a75e3d63cb98d54f900dcfb3a03e21f3148d32f) ) /* Plane 0,1 */ /* TC5316200 */
2979   ROM_LOAD16_BYTE( "056-c6.c6", 0x800001, 0x200000, CRC(31de68d3) SHA1(13ba7046cdd6863125f8284e60f102d4720af5a4) ) /* Plane 2,3 */ /* TC5316200 */
2980   ROM_LOAD16_BYTE( "056-c7.c7", 0xc00000, 0x200000, CRC(3f36df57) SHA1(79ee97e9ae811a51141b535633f90e1491209d54) ) /* Plane 0,1 */ /* TC5316200 */
2981   ROM_LOAD16_BYTE( "056-c8.c8", 0xc00001, 0x200000, CRC(e546d7a8) SHA1(74a2fca994a5a93a5784a46c0f68193122456a09) ) /* Plane 2,3 */ /* TC5316200 */
2982ROM_END
2983
2984/****************************************
2985 ID-0057
2986 . ALM-006
2987 NEO-MVS PROG 4096 B / NEO-MVS CHA 42G-3
2988 . ALH-006
2989 NEO-AEG PROG4096 B / NEO-AEG CHA42G-3
2990****************************************/
2991
2992ROM_START( wh2 ) /* MVS AND AES VERSION */
2993   ROM_REGION( 0x200000, "maincpu", 0 )
2994   ROM_LOAD16_WORD_SWAP( "057-p1.p1", 0x100000, 0x100000, CRC(65a891d9) SHA1(ff8d5ccb0dd22c523902bb3db3c645583a335056) ) /* TC5316200 */
2995   ROM_CONTINUE( 0x000000, 0x100000 )
2996
2997   NEO_SFIX_128K( "057-s1.s1", CRC(fcaeb3a4) SHA1(1f3f85e38b8552333261c04ae5af0d6e3b310622) ) /* TC531000 */
2998
2999   NEO_BIOS_AUDIO_128K( "057-m1.m1", CRC(8fa3bc77) SHA1(982f92978671e4ee66630948e6bb7565b37b5dc0) ) /* TC531001 */
3000
3001   ROM_REGION( 0x400000, "ymsnd", 0 )
3002   ROM_LOAD( "057-v1.v1", 0x000000, 0x200000, CRC(8877e301) SHA1(1bab988d74ea8fd12db201c257ec844622cf5f4e) ) /* TC5316200 */
3003   ROM_LOAD( "057-v2.v2", 0x200000, 0x200000, CRC(c1317ff4) SHA1(4c28b2b5998abaeaa5143f2f3a9ba52c6041f4f3) ) /* TC5316200 */
3004
3005   NO_DELTAT_REGION
3006
3007   ROM_REGION( 0xc00000, "sprites", 0 )
3008   ROM_LOAD16_BYTE( "057-c1.c1", 0x000000, 0x200000, CRC(21c6bb91) SHA1(a2c17d0c91dd59528d8fa7fe110af8b20b25ff99) ) /* Plane 0,1 */ /* TC5316200 */
3009   ROM_LOAD16_BYTE( "057-c2.c2", 0x000001, 0x200000, CRC(a3999925) SHA1(0ee861a77850d378d03c1bf00b9692abd860c759) ) /* Plane 2,3 */ /* TC5316200 */
3010   ROM_LOAD16_BYTE( "057-c3.c3", 0x400000, 0x200000, CRC(b725a219) SHA1(4857687d156a9150a69b97d2729245a51c144a0c) ) /* Plane 0,1 */ /* TC5316200 */
3011   ROM_LOAD16_BYTE( "057-c4.c4", 0x400001, 0x200000, CRC(8d96425e) SHA1(0f79c868a6a33ad25e38d842f30ec4440d809033) ) /* Plane 2,3 */ /* TC5316200 */
3012   ROM_LOAD16_BYTE( "057-c5.c5", 0x800000, 0x200000, CRC(b20354af) SHA1(da7609fd467f2f4d71d92970f438a04d11ab1cc1) ) /* Plane 0,1 */ /* TC5316200 */
3013   ROM_LOAD16_BYTE( "057-c6.c6", 0x800001, 0x200000, CRC(b13d1de3) SHA1(7d749c23a33d90fe50279e884540d71cf1aaaa6b) ) /* Plane 2,3 */ /* TC5316200 */
3014ROM_END
3015
3016/****************************************
3017 ID-0058
3018 . NGM-058
3019 NEO-MVS PROGGSC / NEO-MVS CHA 42G-3B
3020 . NGH-058
3021 NEO-AEG PROGGS / NEO-AEG CHA42G-4
3022****************************************/
3023
3024ROM_START( fatfursp ) /* MVS AND AES VERSION */
3025   ROM_REGION( 0x180000, "maincpu", 0 )
3026   ROM_LOAD16_WORD_SWAP( "058-p1.p1",  0x000000, 0x100000, CRC(2f585ba2) SHA1(429b4bf43fb9b1082c15d645ca328f9d175b976b) ) /* mask rom TC538200 */
3027   ROM_LOAD16_WORD_SWAP( "058-p2.sp2", 0x100000, 0x080000, CRC(d7c71a6b) SHA1(b3428063031a2e5857da40a5d2ffa87fb550c1bb) ) /* mask rom TC534200 */
3028
3029   NEO_SFIX_128K( "058-s1.s1", CRC(2df03197) SHA1(24083cfc97e720ac9e131c9fe37df57e27c49294) ) /* mask rom TC531000 */
3030
3031   NEO_BIOS_AUDIO_128K( "058-m1.m1", CRC(ccc5186e) SHA1(cf9091c523c182aebfb928c91640b2d72fd70123) ) /* mask rom TC531001 */
3032
3033   ROM_REGION( 0x500000, "ymsnd", 0 )
3034   ROM_LOAD( "058-v1.v1", 0x000000, 0x200000, CRC(55d7ce84) SHA1(05ac6a395d9bf9166925acca176a8d6129f533c8) ) /* mask rom TC5316200 */
3035   ROM_LOAD( "058-v2.v2", 0x200000, 0x200000, CRC(ee080b10) SHA1(29814fc21bbe30d37745c8918fab00c83a309be4) ) /* mask rom TC5316200 */
3036   ROM_LOAD( "058-v3.v3", 0x400000, 0x100000, CRC(f9eb3d4a) SHA1(d1747f9460b965f6daf4f881ed4ecd04c5253434) ) /* mask rom TC538200 */
3037
3038   NO_DELTAT_REGION
3039
3040   ROM_REGION( 0xc00000, "sprites", 0 )
3041   ROM_LOAD16_BYTE( "058-c1.c1", 0x000000, 0x200000, CRC(044ab13c) SHA1(569d283638a132bc163faac2a9055497017ee0d2) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3042   ROM_LOAD16_BYTE( "058-c2.c2", 0x000001, 0x200000, CRC(11e6bf96) SHA1(c093a4f93f13e07b276e28b30c2a14dda9135d8f) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3043   ROM_LOAD16_BYTE( "058-c3.c3", 0x400000, 0x200000, CRC(6f7938d5) SHA1(be057b0a3faeb76d5fff161d3e6fea8a26e11d2c) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3044   ROM_LOAD16_BYTE( "058-c4.c4", 0x400001, 0x200000, CRC(4ad066ff) SHA1(4e304646d954d5f7bbabc5d068e85de31d38830f) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3045   ROM_LOAD16_BYTE( "058-c5.c5", 0x800000, 0x200000, CRC(49c5e0bf) SHA1(f3784178f90751990ea47a082a6aa869ee3566c9) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3046   ROM_LOAD16_BYTE( "058-c6.c6", 0x800001, 0x200000, CRC(8ff1f43d) SHA1(6180ceb5412a3e2e34e9513a3283b9f63087f747) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3047ROM_END
3048
3049ROM_START( fatfurspa ) /* MVS AND AES VERSION */
3050   ROM_REGION( 0x180000, "maincpu", 0 )
3051   ROM_LOAD16_WORD_SWAP( "058-p1.p1",  0x000000, 0x100000, CRC(2f585ba2) SHA1(429b4bf43fb9b1082c15d645ca328f9d175b976b) ) /* mask rom TC538200 */
3052   ROM_LOAD16_WORD_SWAP( "058-p2.sp2", 0x100000, 0x080000, CRC(d7c71a6b) SHA1(b3428063031a2e5857da40a5d2ffa87fb550c1bb) ) /* mask rom TC534200 */
3053   /* the rom below acts as a patch to the program rom in the cart, replacing the first 512kb */
3054   ROM_LOAD16_WORD_SWAP( "058-epr.ep1", 0x000000, 0x080000, CRC(9f0c1e1a) SHA1(02861b0f230541becccc3df6a2c85dbe8733e7ce) ) /* M27C4002 */
3055   /* P is on eprom, correct chip label unknown */
3056
3057   NEO_SFIX_128K( "058-s1.s1", CRC(2df03197) SHA1(24083cfc97e720ac9e131c9fe37df57e27c49294) ) /* mask rom TC531000 */
3058
3059   NEO_BIOS_AUDIO_128K( "058-m1.m1", CRC(ccc5186e) SHA1(cf9091c523c182aebfb928c91640b2d72fd70123) ) /* mask rom TC531001 */
3060
3061   ROM_REGION( 0x500000, "ymsnd", 0 )
3062   ROM_LOAD( "058-v1.v1", 0x000000, 0x200000, CRC(55d7ce84) SHA1(05ac6a395d9bf9166925acca176a8d6129f533c8) ) /* mask rom TC5316200 */
3063   ROM_LOAD( "058-v2.v2", 0x200000, 0x200000, CRC(ee080b10) SHA1(29814fc21bbe30d37745c8918fab00c83a309be4) ) /* mask rom TC5316200 */
3064   ROM_LOAD( "058-v3.v3", 0x400000, 0x100000, CRC(f9eb3d4a) SHA1(d1747f9460b965f6daf4f881ed4ecd04c5253434) ) /* mask rom TC538200 */
3065
3066   NO_DELTAT_REGION
3067
3068   ROM_REGION( 0xc00000, "sprites", 0 )
3069   ROM_LOAD16_BYTE( "058-c1.c1", 0x000000, 0x200000, CRC(044ab13c) SHA1(569d283638a132bc163faac2a9055497017ee0d2) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3070   ROM_LOAD16_BYTE( "058-c2.c2", 0x000001, 0x200000, CRC(11e6bf96) SHA1(c093a4f93f13e07b276e28b30c2a14dda9135d8f) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3071   ROM_LOAD16_BYTE( "058-c3.c3", 0x400000, 0x200000, CRC(6f7938d5) SHA1(be057b0a3faeb76d5fff161d3e6fea8a26e11d2c) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3072   ROM_LOAD16_BYTE( "058-c4.c4", 0x400001, 0x200000, CRC(4ad066ff) SHA1(4e304646d954d5f7bbabc5d068e85de31d38830f) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3073   ROM_LOAD16_BYTE( "058-c5.c5", 0x800000, 0x200000, CRC(49c5e0bf) SHA1(f3784178f90751990ea47a082a6aa869ee3566c9) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3074   ROM_LOAD16_BYTE( "058-c6.c6", 0x800001, 0x200000, CRC(8ff1f43d) SHA1(6180ceb5412a3e2e34e9513a3283b9f63087f747) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3075ROM_END
3076
3077/****************************************
3078 ID-0059
3079 . NGM-059
3080 NEO-MVS PROGTOP / NEO-MVS CHA256
3081 . NGH-059
3082****************************************/
3083
3084ROM_START( savagere )
3085   ROM_REGION( 0x200000, "maincpu", 0 )
3086   ROM_LOAD16_WORD_SWAP( "059-p1.p1", 0x100000, 0x100000, CRC(01d4e9c0) SHA1(3179d2be59bf2de6918d506117cff50acf7e09f3) ) /* TC5316200 */
3087   ROM_CONTINUE( 0x000000, 0x100000 )
3088
3089   NEO_SFIX_128K( "059-s1.s1", CRC(e08978ca) SHA1(55152cb9bd0403ae8656b93a6b1522dba5db6d1a) ) /* TC531000 */
3090
3091   NEO_BIOS_AUDIO_128K( "059-m1.m1", CRC(29992eba) SHA1(187be624abe8670503edb235ff21ae8fdc3866e0) ) /* TC531001 */
3092
3093   ROM_REGION( 0x600000, "ymsnd", 0 )
3094   ROM_LOAD( "059-v1.v1", 0x000000, 0x200000, CRC(530c50fd) SHA1(29401cee7f7d2c199c7cb58092e86b28205e81ad) ) /* TC5316200 */
3095   ROM_LOAD( "059-v2.v2", 0x200000, 0x200000, CRC(eb6f1cdb) SHA1(7a311388315ea543babf872f62219fdc4d39d013) ) /* TC5316200 */
3096   ROM_LOAD( "059-v3.v3", 0x400000, 0x200000, CRC(7038c2f9) SHA1(c1d6f86b24feba03fe009b58199d2eeabe572f4e) ) /* TC5316200 */
3097
3098   NO_DELTAT_REGION
3099
3100   ROM_REGION( 0x1000000, "sprites", 0 )
3101   ROM_LOAD16_BYTE( "059-c1.c1", 0x000000, 0x200000, CRC(763ba611) SHA1(d3262e0332c894ee149c5963f882cc5e5562ee57) ) /* Plane 0,1 */ /* TC5316200 */
3102   ROM_LOAD16_BYTE( "059-c2.c2", 0x000001, 0x200000, CRC(e05e8ca6) SHA1(986a9b16ff92bc101ab567d2d01348e093abea9a) ) /* Plane 2,3 */ /* TC5316200 */
3103   ROM_LOAD16_BYTE( "059-c3.c3", 0x400000, 0x200000, CRC(3e4eba4b) SHA1(770adec719e63a30ebe9522cc7576caaca44f3b2) ) /* Plane 0,1 */ /* TC5316200 */
3104   ROM_LOAD16_BYTE( "059-c4.c4", 0x400001, 0x200000, CRC(3c2a3808) SHA1(698adcec0715c9e78b6286be38debf0ce28fd644) ) /* Plane 2,3 */ /* TC5316200 */
3105   ROM_LOAD16_BYTE( "059-c5.c5", 0x800000, 0x200000, CRC(59013f9e) SHA1(5bf48fcc450da72a8c4685f6e3887e67eae49988) ) /* Plane 0,1 */ /* TC5316200 */
3106   ROM_LOAD16_BYTE( "059-c6.c6", 0x800001, 0x200000, CRC(1c8d5def) SHA1(475d89a5c4922a9f6bd756d23c2624d57b6e9d62) ) /* Plane 2,3 */ /* TC5316200 */
3107   ROM_LOAD16_BYTE( "059-c7.c7", 0xc00000, 0x200000, CRC(c88f7035) SHA1(c29a428b741f4fe7b71a3bc23c87925b6bc1ca8f) ) /* Plane 0,1 */ /* TC5316200 */
3108   ROM_LOAD16_BYTE( "059-c8.c8", 0xc00001, 0x200000, CRC(484ce3ba) SHA1(4f21ed20ce6e2b67e2b079404599310c94f591ff) ) /* Plane 2,3 */ /* TC5316200 */
3109ROM_END
3110
3111/****************************************
3112 ID-0060
3113 . ??M-060
3114 NEO-MVS PROGGSC / NEO-MVS CHA256B
3115****************************************/
3116
3117ROM_START( fightfev ) /* MVS ONLY RELEASE */
3118   ROM_REGION( 0x100000, "maincpu", 0 )
3119   ROM_LOAD16_WORD_SWAP( "060-p1.p1", 0x0000000, 0x100000, CRC(2a104b50) SHA1(3eb663d3df7074e1cdf4c0e450a35c9cf55d8979) ) /* VIC940800 */
3120
3121   NEO_SFIX_128K( "060-s1.s1", CRC(7f012104) SHA1(f366dcc3923655dff16ec08a40d5fce22a84257d) ) /* VIC930100 */
3122
3123   NEO_BIOS_AUDIO_128K( "060-m1.m1", CRC(0b7c4e65) SHA1(999a1e784de18db3f1332b30bc425836ea6970be) ) /* VIC930100 */
3124
3125   ROM_REGION( 0x300000, "ymsnd", 0 )
3126   ROM_LOAD( "060-v1.v1", 0x000000, 0x200000, CRC(f417c215) SHA1(0f53b8dd056f43b5d880628e8b74c2b27881ffac) ) /* VIC931600 */
3127   ROM_LOAD( "060-v2.v2", 0x200000, 0x100000, CRC(efcff7cf) SHA1(e8372303724284a750b706dc6bf7641e4c52bb95) ) /* VIC930800 */
3128
3129   NO_DELTAT_REGION
3130
3131   ROM_REGION( 0x0800000, "sprites", 0 )
3132   ROM_LOAD16_BYTE( "060-c1.c1", 0x0000000, 0x200000, CRC(8908fff9) SHA1(f8c16ab0248b60f3a62e0d4d65c456e2f8e4da49) ) /* Plane 0,1 */ /* VIC931600 */
3133   ROM_LOAD16_BYTE( "060-c2.c2", 0x0000001, 0x200000, CRC(c6649492) SHA1(5d39b077387ed6897ac075ede4a2aa94bb64545e) ) /* Plane 2,3 */ /* VIC931600 */
3134   ROM_LOAD16_BYTE( "060-c3.c3", 0x0400000, 0x200000, CRC(0956b437) SHA1(c70be8b5cebf321afe4c3f5e9a12413c3077694a) ) /* Plane 0,1 */ /* VIC931600 */
3135   ROM_LOAD16_BYTE( "060-c4.c4", 0x0400001, 0x200000, CRC(026f3b62) SHA1(d608483b70d60e7aa0e41f25a8b3fed508129eb7) ) /* Plane 2,3 */ /* VIC931600 */
3136ROM_END
3137
3138ROM_START( fightfeva ) /* MVS ONLY RELEASE */
3139   ROM_REGION( 0x100000, "maincpu", 0 )
3140   ROM_LOAD16_WORD_SWAP( "060-p1.p1", 0x0000000, 0x100000, CRC(2a104b50) SHA1(3eb663d3df7074e1cdf4c0e450a35c9cf55d8979) ) /* VIC940800 */
3141   /* the rom below acts as a patch to the program rom in the cart, replacing the first 512kb */
3142   ROM_LOAD16_WORD_SWAP( "060-epr.sp2", 0x000000, 0x080000, BAD_DUMP CRC(3032041b) SHA1(4b8ed2e6f74579ea35a53e06ccac42d6905b0f51) )
3143   /* P is on eprom, correct chip label unknown */
3144
3145   NEO_SFIX_128K( "060-s1.s1", CRC(7f012104) SHA1(f366dcc3923655dff16ec08a40d5fce22a84257d) ) /* VIC930100 */
3146
3147   NEO_BIOS_AUDIO_128K( "060-m1.m1", CRC(0b7c4e65) SHA1(999a1e784de18db3f1332b30bc425836ea6970be) ) /* VIC930100 */
3148
3149   ROM_REGION( 0x300000, "ymsnd", 0 )
3150   ROM_LOAD( "060-v1.v1", 0x000000, 0x200000, CRC(f417c215) SHA1(0f53b8dd056f43b5d880628e8b74c2b27881ffac) ) /* VIC931600 */
3151   ROM_LOAD( "060-v2.v2", 0x200000, 0x100000, CRC(efcff7cf) SHA1(e8372303724284a750b706dc6bf7641e4c52bb95) ) /* VIC930800 */
3152
3153   NO_DELTAT_REGION
3154
3155   ROM_REGION( 0x0800000, "sprites", 0 )
3156   ROM_LOAD16_BYTE( "060-c1.c1", 0x0000000, 0x200000, CRC(8908fff9) SHA1(f8c16ab0248b60f3a62e0d4d65c456e2f8e4da49) ) /* Plane 0,1 */ /* VIC931600 */
3157   ROM_LOAD16_BYTE( "060-c2.c2", 0x0000001, 0x200000, CRC(c6649492) SHA1(5d39b077387ed6897ac075ede4a2aa94bb64545e) ) /* Plane 2,3 */ /* VIC931600 */
3158   ROM_LOAD16_BYTE( "060-c3.c3", 0x0400000, 0x200000, CRC(0956b437) SHA1(c70be8b5cebf321afe4c3f5e9a12413c3077694a) ) /* Plane 0,1 */ /* VIC931600 */
3159   ROM_LOAD16_BYTE( "060-c4.c4", 0x0400001, 0x200000, CRC(026f3b62) SHA1(d608483b70d60e7aa0e41f25a8b3fed508129eb7) ) /* Plane 2,3 */ /* VIC931600 */
3160ROM_END
3161
3162/****************************************
3163 ID-0061
3164 . NGM-061
3165 NEO-MVS PROGGSC / NEO-MVS CHA256
3166 . NGH-061
3167 NEO-AEG PROGRKB / NEO-AEG CHA256[B]
3168****************************************/
3169
3170ROM_START( ssideki2 ) /* MVS AND AES VERSION */
3171   ROM_REGION( 0x100000, "maincpu", 0 )
3172   ROM_LOAD16_WORD_SWAP( "061-p1.p1", 0x000000, 0x100000, CRC(5969e0dc) SHA1(78abea880c125ec5a85bef6404478512a34b5513) ) /* mask rom TC538200 */
3173
3174   NEO_SFIX_128K( "061-s1.s1", CRC(226d1b68) SHA1(de010f6fda3ddadb181fe37daa6105f22e78b970) ) /* mask rom TC531000 */
3175
3176   NEO_BIOS_AUDIO_128K( "061-m1.m1", CRC(156f6951) SHA1(49686f615f109a02b4f23931f1c84fee13872ffd) ) /* mask rom TC531001 */
3177
3178   ROM_REGION( 0x400000, "ymsnd", 0 )
3179   ROM_LOAD( "061-v1.v1", 0x000000, 0x200000, CRC(f081c8d3) SHA1(fc9da0ddc1ddd1f9ae1443a726815c25e9dc38ae) ) /* mask rom TC5316200 */
3180   ROM_LOAD( "061-v2.v2", 0x200000, 0x200000, CRC(7cd63302) SHA1(c39984c0ae0a8e76f1fc036344bbb83635c18937) ) /* mask rom TC5316200 */
3181
3182   NO_DELTAT_REGION
3183
3184   ROM_REGION( 0x800000, "sprites", 0 )
3185   /* Different layout with 8xC (8 mbit) also exists; naming sheme 061-Cx */
3186   ROM_LOAD16_BYTE( "061-c1-16.c1", 0x000000, 0x200000, CRC(a626474f) SHA1(d695f0dcb9480088b3a7c1488bd541b4c159528a) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3187   ROM_LOAD16_BYTE( "061-c2-16.c2", 0x000001, 0x200000, CRC(c3be42ae) SHA1(7fa65538bd0a0a162e4d3e9f49913da59d915e02) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3188   ROM_LOAD16_BYTE( "061-c3-16.c3", 0x400000, 0x200000, CRC(2a7b98b9) SHA1(75e1019dca8a8583afcc53651ac856cba3a96315) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3189   ROM_LOAD16_BYTE( "061-c4-16.c4", 0x400001, 0x200000, CRC(c0be9a1f) SHA1(228f41eaefdf3e147761f8ef849e3b5f321877d4) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3190ROM_END
3191
3192/****************************************
3193 ID-0062
3194 . DEM-001
3195 NEO-MVS PROGGSC / NEO-MVS CHA256
3196 . DEH-001
3197****************************************/
3198
3199ROM_START( spinmast )
3200   ROM_REGION( 0x200000, "maincpu", 0 )
3201   ROM_LOAD16_WORD_SWAP( "062-p1.p1",  0x000000, 0x100000, CRC(37aba1aa) SHA1(1a2ab9593371cc2f665121d554eec3f6bb4d09ff) ) /* mask rom TC538200 */
3202   ROM_LOAD16_WORD_SWAP( "062-p2.sp2", 0x100000, 0x100000, CRC(f025ab77) SHA1(4944be04648296d0b93cfe4c5ca7b9cede072cff) ) /* mask rom TC538200 */
3203
3204   NEO_SFIX_128K( "062-s1.s1", CRC(289e2bbe) SHA1(f52c7f2bffc89df3130b3cabd200408509a28cdc) ) /* mask rom TC531000 */
3205
3206   NEO_BIOS_AUDIO_128K( "062-m1.m1", CRC(76108b2f) SHA1(08c89a8b746dbb10ff885b41cde344173c2e3699) ) /* mask rom TC531001 */
3207
3208   ROM_REGION( 0x100000, "ymsnd", 0 )
3209   ROM_LOAD( "062-v1.v1", 0x000000, 0x100000, CRC(cc281aef) SHA1(68be154b3e25f837afb4a477600dbe0ee69bec44) ) /* mask rom TC538200 */
3210
3211   NO_DELTAT_REGION
3212
3213   ROM_REGION( 0x800000, "sprites", 0 )
3214   ROM_LOAD16_BYTE( "062-c1.c1", 0x000000, 0x100000, CRC(a9375aa2) SHA1(69218d8f1361e9ea709da11e3f15fe46b1db7181) ) /* Plane 0,1 */ /* mask rom TC538200 */
3215   ROM_LOAD16_BYTE( "062-c2.c2", 0x000001, 0x100000, CRC(0e73b758) SHA1(a247f736fbca0b609818dca4844ebb8442753bc1) ) /* Plane 2,3 */ /* mask rom TC538200 */
3216   ROM_LOAD16_BYTE( "062-c3.c3", 0x200000, 0x100000, CRC(df51e465) SHA1(171953c7a870f3ab96e0f875117ee7343931fd38) ) /* Plane 0,1 */ /* mask rom TC538200 */
3217   ROM_LOAD16_BYTE( "062-c4.c4", 0x200001, 0x100000, CRC(38517e90) SHA1(f7c64b94ac20f5146f9bb48b53cb2b30fe5b8f8c) ) /* Plane 2,3 */ /* mask rom TC538200 */
3218   ROM_LOAD16_BYTE( "062-c5.c5", 0x400000, 0x100000, CRC(7babd692) SHA1(0d4cd5006baa8d951cd2b6194ace566fa2845b8a) ) /* Plane 0,1 */ /* mask rom TC538200 */
3219   ROM_LOAD16_BYTE( "062-c6.c6", 0x400001, 0x100000, CRC(cde5ade5) SHA1(5899ef5dfcdbb8cf8c6aba748dbb52f3c5fed5fe) ) /* Plane 2,3 */ /* mask rom TC538200 */
3220   ROM_LOAD16_BYTE( "062-c7.c7", 0x600000, 0x100000, CRC(bb2fd7c0) SHA1(cce11c4cf39ac60143235ff89261806df339dae5) ) /* Plane 0,1 */ /* mask rom TC538200 */
3221   ROM_LOAD16_BYTE( "062-c8.c8", 0x600001, 0x100000, CRC(8d7be933) SHA1(e7097cfa26a959f90721e2e8368ceb47ea9db661) ) /* Plane 2,3 */ /* mask rom TC538200 */
3222ROM_END
3223
3224/****************************************
3225 ID-0063
3226 . NGM-063
3227 NEO-MVS PROGTOP / NEO-MVS CHA256
3228 . NGH-063
3229 NEO-AEG PROGTOP2 / NEO-AEG CHA256 B
3230****************************************/
3231
3232ROM_START( samsho2 ) /* MVS AND AES VERSION */
3233   ROM_REGION( 0x200000, "maincpu", 0 )
3234   ROM_LOAD16_WORD_SWAP( "063-p1.p1", 0x100000, 0x100000, CRC(22368892) SHA1(0997f8284aa0f57a333be8a0fdea777d0d01afd6) ) /* TC5316200 */
3235   ROM_CONTINUE( 0x000000, 0x100000 )
3236
3237   NEO_SFIX_128K( "063-s1.s1", CRC(64a5cd66) SHA1(12cdfb27bf9ccd5a8df6ddd4628ef7cf2c6d4964) ) /* TC531000 */
3238
3239   NEO_BIOS_AUDIO_128K( "063-m1.m1", CRC(56675098) SHA1(90429fc40d056d480d0e2bbefbc691d9fa260fc4) ) /* TC531001 */
3240
3241   ROM_REGION( 0x700000, "ymsnd", 0 )
3242   ROM_LOAD( "063-v1.v1", 0x000000, 0x200000, CRC(37703f91) SHA1(a373ebef4c33ba1d8340e826981a58769aada238) ) /* TC5316200 */
3243   ROM_LOAD( "063-v2.v2", 0x200000, 0x200000, CRC(0142bde8) SHA1(0be6c53acac44802bf70b6925452f70289a139d9) ) /* TC5316200 */
3244   ROM_LOAD( "063-v3.v3", 0x400000, 0x200000, CRC(d07fa5ca) SHA1(1da7f081f8b8fc86a91feacf900f573218d82676) ) /* TC5316200 */
3245   ROM_LOAD( "063-v4.v4", 0x600000, 0x100000, CRC(24aab4bb) SHA1(10ee4c5b3579865b93dcc1e4079963276aa700a6) ) /* TC538200 */
3246
3247   NO_DELTAT_REGION
3248
3249   ROM_REGION( 0x1000000, "sprites", 0 )
3250   ROM_LOAD16_BYTE( "063-c1.c1", 0x000000, 0x200000, CRC(86cd307c) SHA1(0d04336f7c436d74638d8c1cd8651faf436a6bec) ) /* Plane 0,1 */ /* TC5316200 */
3251   ROM_LOAD16_BYTE( "063-c2.c2", 0x000001, 0x200000, CRC(cdfcc4ca) SHA1(179dc81432424d68cefedd20cc1c4b2a95deb891) ) /* Plane 2,3 */ /* TC5316200 */
3252   ROM_LOAD16_BYTE( "063-c3.c3", 0x400000, 0x200000, CRC(7a63ccc7) SHA1(49d97c543bc2860d493a353ab0d059088c6fbd21) ) /* Plane 0,1 */ /* TC5316200 */
3253   ROM_LOAD16_BYTE( "063-c4.c4", 0x400001, 0x200000, CRC(751025ce) SHA1(e1bbaa7cd67fd04e4aab7f7ea77f63ae1cbc90d0) ) /* Plane 2,3 */ /* TC5316200 */
3254   ROM_LOAD16_BYTE( "063-c5.c5", 0x800000, 0x200000, CRC(20d3a475) SHA1(28da44a136bd14c73c62c147c3f6e6bcfa1066de) ) /* Plane 0,1 */ /* TC5316200 */
3255   ROM_LOAD16_BYTE( "063-c6.c6", 0x800001, 0x200000, CRC(ae4c0a88) SHA1(cc8a7d11daa3821f83a6fd0942534706f939e576) ) /* Plane 2,3 */ /* TC5316200 */
3256   ROM_LOAD16_BYTE( "063-c7.c7", 0xc00000, 0x200000, CRC(2df3cbcf) SHA1(e54f9022359963711451c2025825b862d36c6975) ) /* Plane 0,1 */ /* TC5316200 */
3257   ROM_LOAD16_BYTE( "063-c8.c8", 0xc00001, 0x200000, CRC(1ffc6dfa) SHA1(acea18aca76c072e0bac2a364fc96d49cfc86e77) ) /* Plane 2,3 */ /* TC5316200 */
3258ROM_END
3259
3260ROM_START( samsho2k ) /* KOREAN VERSION */
3261   // This has corrupt text if used with the Japan bios due to the replacement of the s1 rom to contain the new logo
3262   ROM_REGION( 0x200000, "maincpu", 0 )
3263   ROM_LOAD16_WORD_SWAP( "063-p1-kan.p1", 0x100000, 0x100000, CRC(147cc6d7) SHA1(8e22305f41a0688786ff55437c25948e6c8fda58) )
3264   ROM_CONTINUE( 0x000000, 0x100000 )
3265   // the roms below apply as patch over the main program (I haven't checked what they change, the game boots as the Korean version even with just the above program)
3266   ROM_LOAD16_WORD_SWAP( "063-ep1-kan.ep1", 0x000000, 0x080000, CRC(fa32e2d8) SHA1(94f56759ec04ab3a1e557bc2dc51b92176b3c147) )
3267   ROM_LOAD16_WORD_SWAP( "063-ep2-kan.ep2", 0x080000, 0x080000, CRC(70b1a4d9) SHA1(387737e87a68d0ea4fd13693f1f30d3227a17c82) ) // this is exactly the same data anyway!
3268
3269   NEO_SFIX_128K( "063-s1-kan.s1", CRC(ff08f80b) SHA1(240c6a1c52edebb49cc99ea08484c6a2d61ebf84) )
3270
3271   NEO_BIOS_AUDIO_128K( "063-m1.m1", CRC(56675098) SHA1(90429fc40d056d480d0e2bbefbc691d9fa260fc4) ) /* TC531001 */
3272
3273   ROM_REGION( 0x700000, "ymsnd", 0 )
3274   ROM_LOAD( "063-v1.v1", 0x000000, 0x200000, CRC(37703f91) SHA1(a373ebef4c33ba1d8340e826981a58769aada238) ) /* TC5316200 */
3275   ROM_LOAD( "063-v2.v2", 0x200000, 0x200000, CRC(0142bde8) SHA1(0be6c53acac44802bf70b6925452f70289a139d9) ) /* TC5316200 */
3276   ROM_LOAD( "063-v3.v3", 0x400000, 0x200000, CRC(d07fa5ca) SHA1(1da7f081f8b8fc86a91feacf900f573218d82676) ) /* TC5316200 */
3277   ROM_LOAD( "063-v4.v4", 0x600000, 0x100000, CRC(24aab4bb) SHA1(10ee4c5b3579865b93dcc1e4079963276aa700a6) ) /* TC538200 */
3278
3279   NO_DELTAT_REGION
3280
3281   ROM_REGION( 0x1000000, "sprites", 0 )
3282   ROM_LOAD16_BYTE( "063-c1.c1", 0x000000, 0x200000, CRC(86cd307c) SHA1(0d04336f7c436d74638d8c1cd8651faf436a6bec) ) /* Plane 0,1 */ /* TC5316200 */
3283   ROM_LOAD16_BYTE( "063-c2.c2", 0x000001, 0x200000, CRC(cdfcc4ca) SHA1(179dc81432424d68cefedd20cc1c4b2a95deb891) ) /* Plane 2,3 */ /* TC5316200 */
3284   ROM_LOAD16_BYTE( "063-c3.c3", 0x400000, 0x200000, CRC(7a63ccc7) SHA1(49d97c543bc2860d493a353ab0d059088c6fbd21) ) /* Plane 0,1 */ /* TC5316200 */
3285   ROM_LOAD16_BYTE( "063-c4.c4", 0x400001, 0x200000, CRC(751025ce) SHA1(e1bbaa7cd67fd04e4aab7f7ea77f63ae1cbc90d0) ) /* Plane 2,3 */ /* TC5316200 */
3286   ROM_LOAD16_BYTE( "063-c5.c5", 0x800000, 0x200000, CRC(20d3a475) SHA1(28da44a136bd14c73c62c147c3f6e6bcfa1066de) ) /* Plane 0,1 */ /* TC5316200 */
3287   ROM_LOAD16_BYTE( "063-c6.c6", 0x800001, 0x200000, CRC(ae4c0a88) SHA1(cc8a7d11daa3821f83a6fd0942534706f939e576) ) /* Plane 2,3 */ /* TC5316200 */
3288   ROM_LOAD16_BYTE( "063-c7.c7", 0xc00000, 0x200000, CRC(2df3cbcf) SHA1(e54f9022359963711451c2025825b862d36c6975) ) /* Plane 0,1 */ /* TC5316200 */
3289   ROM_LOAD16_BYTE( "063-c8.c8", 0xc00001, 0x200000, CRC(1ffc6dfa) SHA1(acea18aca76c072e0bac2a364fc96d49cfc86e77) ) /* Plane 2,3 */ /* TC5316200 */
3290ROM_END
3291
3292/****************************************
3293 ID-0064
3294 . ADM-007
3295 NEO-MVS PROGGSC / NEO-MVS CHA256
3296 . ADH-007
3297 NEO-AEG PROGRK / NEO-AEG CHA256
3298****************************************/
3299
3300ROM_START( wh2j ) /* MVS AND AES VERSION */
3301   ROM_REGION( 0x200000, "maincpu", 0 )
3302   ROM_LOAD16_WORD_SWAP( "064-p1.p1", 0x100000, 0x100000, CRC(385a2e86) SHA1(cfde4a1aeae038a3d6ca9946065624f097682d3d) ) /* TC5316200 */
3303   ROM_CONTINUE( 0x000000, 0x100000 )
3304
3305   NEO_SFIX_128K( "064-s1.s1", CRC(2a03998a) SHA1(5e33f469982f12d4622a06d323a345f192bf88e6) ) /* TC531000 */
3306
3307   NEO_BIOS_AUDIO_128K( "064-m1.m1", CRC(d2eec9d3) SHA1(09478787045f1448d19d064dd3d540d1741fd619) ) /* TC531001 */
3308
3309   ROM_REGION( 0x400000, "ymsnd", 0 )
3310   ROM_LOAD( "064-v1.v1", 0x000000, 0x200000, CRC(aa277109) SHA1(35c22b15bb0a4d0ab118cb22a2d450d03995a17c) ) /* TC5316200 */
3311   ROM_LOAD( "064-v2.v2", 0x200000, 0x200000, CRC(b6527edd) SHA1(2bcf5bfa6e117cf4a3728a5e5f5771313c93f22a) ) /* TC5316200 */
3312
3313   NO_DELTAT_REGION
3314
3315   ROM_REGION( 0x1000000, "sprites", 0 )
3316   ROM_LOAD16_BYTE( "064-c1.c1", 0x000000, 0x200000, CRC(2ec87cea) SHA1(e713ec7839a7665edee6ee3f82a6e530b3b4bd7c) ) /* Plane 0,1 */ /* TC5316200 */
3317   ROM_LOAD16_BYTE( "064-c2.c2", 0x000001, 0x200000, CRC(526b81ab) SHA1(b5f0a2f04489539ed6b9d0810b12787356c64b23) ) /* Plane 2,3 */ /* TC5316200 */
3318   ROM_LOAD16_BYTE( "064-c3.c3", 0x400000, 0x200000, CRC(436d1b31) SHA1(059776d77b91377ed0bcfc278802d659c917fc0f) ) /* Plane 0,1 */ /* TC5316200 */
3319   ROM_LOAD16_BYTE( "064-c4.c4", 0x400001, 0x200000, CRC(f9c8dd26) SHA1(25a9eea1d49b21b4a988beb32c25bf2f7796f227) ) /* Plane 2,3 */ /* TC5316200 */
3320   ROM_LOAD16_BYTE( "064-c5.c5", 0x800000, 0x200000, CRC(8e34a9f4) SHA1(67b839b426ef3fad0a85d951fdd44c0a45c55226) ) /* Plane 0,1 */ /* TC5316200 */
3321   ROM_LOAD16_BYTE( "064-c6.c6", 0x800001, 0x200000, CRC(a43e4766) SHA1(54f282f2b1ff2934cca7acbb4386a2b99a29df3a) ) /* Plane 2,3 */ /* TC5316200 */
3322   ROM_LOAD16_BYTE( "064-c7.c7", 0xc00000, 0x200000, CRC(59d97215) SHA1(85a960dc7f364df13ee0c2f99a4c53aefb081486) ) /* Plane 0,1 */ /* TC5316200 */
3323   ROM_LOAD16_BYTE( "064-c8.c8", 0xc00001, 0x200000, CRC(fc092367) SHA1(69ff4ae909dd857de3ca8645d63f8b4bde117448) ) /* Plane 2,3 */ /* TC5316200 */
3324ROM_END
3325
3326/****************************************
3327 ID-0065
3328 . DEM-002
3329 NEO-MVS PROG42G-1 / NEO-MVS CHA42G-1
3330 . DEH-002
3331****************************************/
3332
3333ROM_START( wjammers )
3334   ROM_REGION( 0x100000, "maincpu", 0 )
3335   ROM_LOAD16_WORD_SWAP( "065-p1.p1", 0x000000, 0x100000, CRC(6692c140) SHA1(5da574e906974fac92bb2f49bdeea257c014a897) ) /* mask rom TC538200 */
3336
3337   NEO_SFIX_128K( "065-s1.s1", CRC(074b5723) SHA1(86d3b3bb5414f43e4d3b7a2af0db23cc71ce8412) ) /* mask rom TC531000 */
3338
3339   NEO_BIOS_AUDIO_128K( "065-m1.m1", CRC(52c23cfc) SHA1(809a7e072ad9acbffc25e9bd27cdb97638d09d07) ) /* mask rom TC531001 */
3340
3341   ROM_REGION( 0x400000, "ymsnd", 0 )
3342   ROM_LOAD( "065-v1.v1", 0x000000, 0x100000, CRC(ce8b3698) SHA1(7d75e2a5cf8c90be422f8b425447e81597fe145a) ) /* mask rom TC538200 */
3343   ROM_LOAD( "065-v2.v2", 0x100000, 0x100000, CRC(659f9b96) SHA1(62f40365212153bc3b92a1187fa44f6cdc7f7b83) ) /* mask rom TC538200 */
3344   ROM_LOAD( "065-v3.v3", 0x200000, 0x100000, CRC(39f73061) SHA1(ec57cd58e7f8569cff925d11e2320d588ce4fe49) ) /* mask rom TC538200 */
3345   ROM_LOAD( "065-v4.v4", 0x300000, 0x100000, CRC(5dee7963) SHA1(f8e6de73d65dd80b29c711f00835a574a770cb4e) ) /* mask rom TC538200 */
3346
3347   NO_DELTAT_REGION
3348
3349   ROM_REGION( 0x400000, "sprites", 0 )
3350   ROM_LOAD16_BYTE( "065-c1.c1", 0x000000, 0x100000, CRC(c7650204) SHA1(42918d700d59864f8ab15caf968a062a563c9b09) ) /* Plane 0,1 */ /* mask rom TC538200 */
3351   ROM_LOAD16_BYTE( "065-c2.c2", 0x000001, 0x100000, CRC(d9f3e71d) SHA1(fad1f64061eac1bf85bf6d75d2eae974a8c94069) ) /* Plane 2,3 */ /* mask rom TC538200 */
3352   ROM_LOAD16_BYTE( "065-c3.c3", 0x200000, 0x100000, CRC(40986386) SHA1(65795a50197049681265946713d416c9cdb68f08) ) /* Plane 0,1 */ /* mask rom TC538200 */
3353   ROM_LOAD16_BYTE( "065-c4.c4", 0x200001, 0x100000, CRC(715e15ff) SHA1(ac8b8b01f5c7384b883afbe0cf977430378e3fef) ) /* Plane 2,3 */ /* mask rom TC538200 */
3354ROM_END
3355
3356/****************************************
3357 ID-0066
3358 . DEM-003
3359 NEO-MVS PROGGSC / NEO-MVS CHA256
3360 . DEH-003
3361****************************************/
3362
3363ROM_START( karnovr )
3364   ROM_REGION( 0x100000, "maincpu", 0 )
3365   ROM_LOAD16_WORD_SWAP( "066-p1.p1", 0x000000, 0x100000, CRC(8c86fd22) SHA1(8cf97c6fb9c5717167ccc54bf5856248ccaf32c6) ) /* TC538200 */
3366
3367   NEO_SFIX_128K( "066-s1.s1", CRC(bae5d5e5) SHA1(aa69d9b235b781ec51f72a528fada9cb12e72cbc) ) /* TC531000 */
3368
3369   NEO_BIOS_AUDIO_128K( "066-m1.m1", CRC(030beae4) SHA1(ceb6ee6c09514504efacdbca7b280901e4c97084) ) /* TC531001 */
3370
3371   ROM_REGION( 0x200000, "ymsnd", 0 )
3372   ROM_LOAD( "066-v1.v1", 0x000000, 0x200000, CRC(0b7ea37a) SHA1(34e7d4f6db053674a7e8c8b2e3e398777d5b02e6) ) /* TC5316200 */
3373
3374   NO_DELTAT_REGION
3375
3376   ROM_REGION( 0xc00000, "sprites", 0 )
3377   ROM_LOAD16_BYTE( "066-c1.c1", 0x000000, 0x200000, CRC(09dfe061) SHA1(ca4c0f0ce80967b4be2f18b72435c468bbfbac4c) ) /* Plane 0,1 */ /* TC5316200 */
3378   ROM_LOAD16_BYTE( "066-c2.c2", 0x000001, 0x200000, CRC(e0f6682a) SHA1(addb4fbc30da2b8ffc86819d92a874eb232f67dd) ) /* Plane 2,3 */ /* TC5316200 */
3379   ROM_LOAD16_BYTE( "066-c3.c3", 0x400000, 0x200000, CRC(a673b4f7) SHA1(d138f5b38fd65c61549ce36f5c4983f7c8a3e7f6) ) /* Plane 0,1 */ /* TC5316200 */
3380   ROM_LOAD16_BYTE( "066-c4.c4", 0x400001, 0x200000, CRC(cb3dc5f4) SHA1(865d9ccfc3df517c341d6aac16120f6b6aa759fe) ) /* Plane 2,3 */ /* TC5316200 */
3381   ROM_LOAD16_BYTE( "066-c5.c5", 0x800000, 0x200000, CRC(9a28785d) SHA1(19723e1f7ff429e8a038d89488b279f830dfaf6e) ) /* Plane 0,1 */ /* TC5316200 */
3382   ROM_LOAD16_BYTE( "066-c6.c6", 0x800001, 0x200000, CRC(c15c01ed) SHA1(7cf5583e6610bcdc3b332896cefc71df84fb3f19) ) /* Plane 2,3 */ /* TC5316200 */
3383ROM_END
3384
3385/****************************************
3386 ID-0067
3387 . ??M-067
3388 NEO-MVS PROG16 / NEO-MVS CHA256B
3389****************************************/
3390
3391ROM_START( gururin ) /* MVS ONLY RELEASE */
3392   ROM_REGION( 0x100000, "maincpu", 0 )
3393   ROM_LOAD16_WORD_SWAP( "067-p1.p1", 0x000000, 0x80000, CRC(4cea8a49) SHA1(cea4a35db8de898e30eb40dd339b3cbe77ac0856) ) /* UM8303B */
3394
3395   NEO_SFIX_128K( "067-s1.s1", CRC(b119e1eb) SHA1(f63a68a71aea220d3d4475847652e2a1f68b2b6f) ) /* UMK300 */
3396
3397   NEO_BIOS_AUDIO_128K( "067-m1.m1", CRC(9e3c6328) SHA1(17e8479c258f28a01d2283be9e692ff7685898cc) ) /* UML359 */
3398
3399   ROM_REGION( 0x80000, "ymsnd", 0 )
3400   ROM_LOAD( "067-v1.v1", 0x000000, 0x80000, CRC(cf23afd0) SHA1(10f87014ee10613f92b04f482f449721a6379db7) ) /* UM8302 */
3401
3402   NO_DELTAT_REGION
3403
3404   ROM_REGION( 0x400000, "sprites", 0 )
3405   ROM_LOAD16_BYTE( "067-c1.c1", 0x000000, 0x200000, CRC(35866126) SHA1(e4b24670ccc7901af5f66b11b15fae4e67f843ab) ) /* Plane 0,1 */ /* UMT301B */
3406   ROM_LOAD16_BYTE( "067-c2.c2", 0x000001, 0x200000, CRC(9db64084) SHA1(68a43c12f63f5e98d68ad0902a6551c5d30f8543) ) /* Plane 2,3 */ /* UMT302B */
3407ROM_END
3408
3409/****************************************
3410 ID-0068
3411 . NGM-068
3412 NEO-MVS PROGTOP / NEO-MVS CHA256
3413****************************************/
3414
3415ROM_START( pspikes2 ) /* MVS ONLY RELEASE */
3416   ROM_REGION( 0x100000, "maincpu", 0 )
3417   ROM_LOAD16_WORD_SWAP( "068-pg1.p1", 0x000000, 0x100000, CRC(105a408f) SHA1(2ee51defa1c24c66c63a6498ee542ac26de3cfbb) ) /* mask rom TC538200 */
3418
3419   NEO_SFIX_128K( "068-sg1.s1", CRC(18082299) SHA1(efe93fabe6a76a5dc8cf12f255e571480afb40a0) ) /* mask rom TC531000 */
3420
3421   NEO_BIOS_AUDIO_128K( "068-mg1.m1", CRC(b1c7911e) SHA1(27b298e7d50981331e17aa642e2e363ffac4333a) ) /* mask rom TC531001 */
3422
3423   ROM_REGION( 0x300000, "ymsnd", 0 )
3424   ROM_LOAD( "068-v1.v1", 0x000000, 0x100000, CRC(2ced86df) SHA1(d6b73d1f31efbd74fb745200d4dade5f80b71541) ) /* mask rom TC538200 */
3425   ROM_LOAD( "068-v2.v2", 0x100000, 0x100000, CRC(970851ab) SHA1(6c9b04e9cc6b92133f1154e5bdd9d38d8ef050a7) ) /* mask rom TC538200 */
3426   ROM_LOAD( "068-v3.v3", 0x200000, 0x100000, CRC(81ff05aa) SHA1(d74302f38c59055bfc83b39dff798a585314fecd) ) /* mask rom TC538200 */
3427
3428   NO_DELTAT_REGION
3429
3430   ROM_REGION( 0x600000, "sprites", 0 )
3431   ROM_LOAD16_BYTE( "068-c1.c1", 0x000000, 0x100000, CRC(7f250f76) SHA1(5109a41adcb7859e24dc43d88842d4cc18cd3305) ) /* Plane 0,1 */ /* mask rom TC538200 */
3432   ROM_LOAD16_BYTE( "068-c2.c2", 0x000001, 0x100000, CRC(20912873) SHA1(2df8766b531e47ffc30457e41c63b83557b4f468) ) /* Plane 2,3 */ /* mask rom TC538200 */
3433   ROM_LOAD16_BYTE( "068-c3.c3", 0x200000, 0x100000, CRC(4b641ba1) SHA1(7a9c42a30163eda455f7bde2302402b1a5de7178) ) /* Plane 0,1 */ /* mask rom TC538200 */
3434   ROM_LOAD16_BYTE( "068-c4.c4", 0x200001, 0x100000, CRC(35072596) SHA1(4150a21041f06514c97592bd8af686504b06e187) ) /* Plane 2,3 */ /* mask rom TC538200 */
3435   ROM_LOAD16_BYTE( "068-c5.c5", 0x400000, 0x100000, CRC(151dd624) SHA1(f2690a3fe9c64f70f283df785a5217d5b92a289f) ) /* Plane 0,1 */ /* mask rom TC538200 */
3436   ROM_LOAD16_BYTE( "068-c6.c6", 0x400001, 0x100000, CRC(a6722604) SHA1(b40c57fb4be93ac0b918829f88393ced3d4f8bde) ) /* Plane 2,3 */ /* mask rom TC538200 */
3437ROM_END
3438
3439/****************************************
3440 ID-0069
3441 . NGM-069
3442 NEO-MVS PROGBK1 / NEO-MVS CHA256
3443. NGH-069
3444 NEO-AEG PROGBK1Y / NEO-AEG CHA256RY
3445****************************************/
3446
3447ROM_START( fatfury3 ) /* MVS AND AES VERSION */
3448   ROM_REGION( 0x300000, "maincpu", 0 )
3449   ROM_LOAD16_WORD_SWAP( "069-p1.p1",   0x000000, 0x100000, CRC(a8bcfbbc) SHA1(519c4861151797e5f4d4f33432b83dfabed8e7c4) ) /* TC538200 */
3450   ROM_LOAD16_WORD_SWAP( "069-sp2.sp2", 0x100000, 0x200000, CRC(dbe963ed) SHA1(8ece7f663cfe8e563576a397e41161d392cee67e) ) /* TC5316200 */
3451
3452   NEO_SFIX_128K( "069-s1.s1", CRC(0b33a800) SHA1(b7d2cc97da4f30ddebc7b801f5e1d17d2306b2db) ) /* TC531000 */
3453
3454   NEO_BIOS_AUDIO_128K( "069-m1.m1", CRC(fce72926) SHA1(a40c74f793900b8542f0b8383ce4bf46fca112d4) ) /* TC531001 */
3455
3456   ROM_REGION( 0xa00000, "ymsnd", 0 )
3457   ROM_LOAD( "069-v1.v1", 0x000000, 0x400000, CRC(2bdbd4db) SHA1(5f4fecf69c2329d699cbd45829c19303b1e2a80e) ) /* TC5332204 */
3458   ROM_LOAD( "069-v2.v2", 0x400000, 0x400000, CRC(a698a487) SHA1(11b8bc53bc26a51f4a408e900e3769958625c4ed) ) /* TC5332204 */
3459   ROM_LOAD( "069-v3.v3", 0x800000, 0x200000, CRC(581c5304) SHA1(e9550ec547b4f605afed996b22d711f49b48fa92) ) /* TC5316200 */
3460
3461   NO_DELTAT_REGION
3462
3463   ROM_REGION( 0x1400000, "sprites", 0 )
3464   ROM_LOAD16_BYTE( "069-c1.c1", 0x0000000, 0x400000, CRC(e302f93c) SHA1(d8610b14900b2b8fe691b67ca9b1abb335dbff74) ) /* Plane 0,1 */ /* TC5332205 */
3465   ROM_LOAD16_BYTE( "069-c2.c2", 0x0000001, 0x400000, CRC(1053a455) SHA1(69501bfac68739e63d798045b812badd251d57b8) ) /* Plane 2,3 */ /* TC5332205 */
3466   ROM_LOAD16_BYTE( "069-c3.c3", 0x0800000, 0x400000, CRC(1c0fde2f) SHA1(cf6c2ef56c03a861de3b0b6dc0d7c9204d947f9d) ) /* Plane 0,1 */ /* TC5332205 */
3467   ROM_LOAD16_BYTE( "069-c4.c4", 0x0800001, 0x400000, CRC(a25fc3d0) SHA1(83cb349e2f1032652060b233e741fb893be5af16) ) /* Plane 2,3 */ /* TC5332205 */
3468   ROM_LOAD16_BYTE( "069-c5.c5", 0x1000000, 0x200000, CRC(b3ec6fa6) SHA1(7e4c8ee9dd8d9a25ff183d9d8b05f38769348bc7) ) /* Plane 0,1 */ /* TC5316200 */
3469   ROM_LOAD16_BYTE( "069-c6.c6", 0x1000001, 0x200000, CRC(69210441) SHA1(6d496c549dba65caabeaffe5b762e86f9d648a26) ) /* Plane 2,3 */ /* TC5316200 */
3470ROM_END
3471
3472/****************************************
3473 ID-0070
3474 . ??M-070
3475 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
3476****************************************/
3477
3478ROM_START( zupapa ) /* Original Version - Encrypted GFX */ /* MVS ONLY RELEASE */
3479   ROM_REGION( 0x100000, "maincpu", 0 )
3480   ROM_LOAD16_WORD_SWAP( "070-p1.p1", 0x000000, 0x100000, CRC(5a96203e) SHA1(49cddec9ca6cc51e5ecf8a34e447a23e1f8a15a1) ) /* mask rom TC538200 */
3481
3482   ROM_Y_ZOOM
3483
3484   /* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
3485   ROM_REGION( 0x20000, "fixed", 0 )
3486   ROM_FILL( 0x000000, 0x20000, 0 )
3487   ROM_REGION( 0x20000, "fixedbios", 0 )
3488   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
3489
3490   NEO_BIOS_AUDIO_128K( "070-epr.m1", CRC(5a3b3191) SHA1(fa9a9930e18c64e598841fb344c4471d3d2c1964) ) /* M27C1001 */
3491   /* M1 on eprom, correct chip label unknown */
3492
3493   ROM_REGION( 0x0200000, "ymsnd", 0 )
3494   ROM_LOAD( "070-v1.v1", 0x000000, 0x200000, CRC(d3a7e1ff) SHA1(4a4a227e10f4af58168f6c26011ea1d414253f92) ) /* mask rom TC5316200 */
3495
3496   NO_DELTAT_REGION
3497
3498   ROM_REGION( 0x1000000, "sprites", 0 )
3499   /* Encrypted */
3500   ROM_LOAD16_BYTE( "070-c1.c1", 0x0000000, 0x800000, CRC(f8ad02d8) SHA1(9be54532332a8e963ec35ff1e518947bb11ebade) ) /* Plane 0,1 */ /* mask rom TC5364205 */
3501   ROM_LOAD16_BYTE( "070-c2.c2", 0x0000001, 0x800000, CRC(70156dde) SHA1(06286bf043d50199b47df9a76ca91f39cb28cb90) ) /* Plane 2,3 */ /* mask rom TC5364205 */
3502ROM_END
3503
3504/****************************************
3505 ID-0071
3506 Bang Bang Busters (prototype) 1994 Visco
3507 Released in 2010 for MVS and AES (Releaser claims that it is officially licensed by VISCO)
3508
3509 Reported UNIVERSE BIOS CRC32:
3510  ROM     EC861CAF
3511  BANK 0  NOT USED
3512  BANK 1  NOT USED
3513  BANK 2  NOT USED
3514  BANK 3  NOT USED
3515 ****************************************/
3516
3517/****************************************
3518 ID-0072
3519 Last Odyssey Pinball Fantasia (prototype) 1995 Monolith
3520 A video of this was on youtube in 2010/2011.
3521 ****************************************/
3522
3523/****************************************
3524 ID-0073
3525 . ??M-073
3526 NEO-MVS PROGTOP / NEO-MVS CHA256
3527****************************************/
3528
3529ROM_START( panicbom ) /* MVS ONLY RELEASE */
3530   ROM_REGION( 0x100000, "maincpu", 0 )
3531   ROM_LOAD16_WORD_SWAP( "073-p1.p1", 0x000000, 0x080000, CRC(adc356ad) SHA1(801e0a54b65d7a3500e6cef2d6bba40c6356dc1f) ) /* mask rom TC534200 */
3532
3533   NEO_SFIX_128K( "073-s1.s1", CRC(b876de7e) SHA1(910347d7657470da914fb0a6b0ea02891e13c081) ) /* mask rom TC531000 */
3534
3535   NEO_BIOS_AUDIO_128K( "073-m1.m1", CRC(3cdf5d88) SHA1(6d8365a946fbd0b7c7b896536322638d80f6a764) ) /* mask rom TC531001 */
3536
3537   ROM_REGION( 0x300000, "ymsnd", 0 )
3538   ROM_LOAD( "073-v1.v1", 0x000000, 0x200000, CRC(7fc86d2f) SHA1(aa4234d22157060e0ba97a09c4e85c5276b74099) ) /* mask rom TC5316200 */
3539   ROM_LOAD( "073-v2.v2", 0x200000, 0x100000, CRC(082adfc7) SHA1(19c168e9a6cadcbed79033c320bcf3a45f846daf) ) /* mask rom TC538200 */
3540
3541   NO_DELTAT_REGION
3542
3543   ROM_REGION( 0x200000, "sprites", 0 )
3544   ROM_LOAD16_BYTE( "073-c1.c1", 0x000000, 0x100000, CRC(8582e1b5) SHA1(e17d8f57b8ebee14b8e705374b34abe928937258) ) /* Plane 0,1 */ /* mask rom TC538200 */
3545   ROM_LOAD16_BYTE( "073-c2.c2", 0x000001, 0x100000, CRC(e15a093b) SHA1(548a418c81af79cd7ab6ad165b8d6daee30abb49) ) /* Plane 2,3 */ /* mask rom TC538200 */
3546ROM_END
3547
3548/****************************************
3549 ID-0074
3550 . ADM-008
3551 NEO-MVS PROGTOP / NEO-MVS CHA256B
3552 . ADH-008
3553 NEO-AEG PROGRK / NEO-AEG CHA256
3554****************************************/
3555
3556ROM_START( aodk ) /* MVS AND AES VERSION */
3557   ROM_REGION( 0x200000, "maincpu", 0 )
3558   ROM_LOAD16_WORD_SWAP( "074-p1.p1", 0x100000, 0x100000, CRC(62369553) SHA1(ca4d561ee08d16fe6804249d1ba49188eb3bd606) ) /* TC5316200 */
3559   ROM_CONTINUE( 0x000000, 0x100000 )
3560
3561   NEO_SFIX_128K( "074-s1.s1", CRC(96148d2b) SHA1(47725a8059346ebe5639bbdbf62a2ac8028756a9) ) /* TC531000 */
3562
3563   NEO_BIOS_AUDIO_128K( "074-m1.m1", CRC(5a52a9d1) SHA1(ef913a9a55d29d5dd3beab1ce6039d64ce9b1a5b) ) /* TC531001 */
3564
3565   ROM_REGION( 0x400000, "ymsnd", 0 )
3566   ROM_LOAD( "074-v1.v1", 0x000000, 0x200000, CRC(7675b8fa) SHA1(29f4facf89d551237b31bf779693cbbbc94e1ede) ) /* TC5316200 */
3567   ROM_LOAD( "074-v2.v2", 0x200000, 0x200000, CRC(a9da86e9) SHA1(ff65af61e42b79a75060a352b24077d1fa28c83f) ) /* TC5316200 */
3568
3569   NO_DELTAT_REGION
3570
3571   ROM_REGION( 0x1000000, "sprites", 0 )
3572   ROM_LOAD16_BYTE( "074-c1.c1", 0x000000, 0x200000, CRC(a0b39344) SHA1(adfff7b8836347abf030611563e6068a91164d0a) ) /* Plane 0,1 */ /* TC5316200 */
3573   ROM_LOAD16_BYTE( "074-c2.c2", 0x000001, 0x200000, CRC(203f6074) SHA1(737f2d707d504df1da1ca5c5cf61cf489a33eb56) ) /* Plane 2,3 */ /* TC5316200 */
3574   ROM_LOAD16_BYTE( "074-c3.c3", 0x400000, 0x200000, CRC(7fff4d41) SHA1(bebd18a75adeb34c3bbd49cfc8fd3d8c2bf9e475) ) /* Plane 0,1 */ /* TC5316200 */
3575   ROM_LOAD16_BYTE( "074-c4.c4", 0x400001, 0x200000, CRC(48db3e0a) SHA1(a88505e001e01bb45fb26beda5af24943d02552a) ) /* Plane 2,3 */ /* TC5316200 */
3576   ROM_LOAD16_BYTE( "074-c5.c5", 0x800000, 0x200000, CRC(c74c5e51) SHA1(0399c53e2a3d721901dddc073fda6ec22e02dfd4) ) /* Plane 0,1 */ /* TC5316200 */
3577   ROM_LOAD16_BYTE( "074-c6.c6", 0x800001, 0x200000, CRC(73e8e7e0) SHA1(dd6580227743e6a3db4950456ebe870008e022b2) ) /* Plane 2,3 */ /* TC5316200 */
3578   ROM_LOAD16_BYTE( "074-c7.c7", 0xc00000, 0x200000, CRC(ac7daa01) SHA1(78407a464f67d949933ce2ccaa23fbed80dff1ea) ) /* Plane 0,1 */ /* TC5316200 */
3579   ROM_LOAD16_BYTE( "074-c8.c8", 0xc00001, 0x200000, CRC(14e7ad71) SHA1(d4583fbce361fd1a11ac6c1a27b0b669e8a5c718) ) /* Plane 2,3 */ /* TC5316200 */
3580ROM_END
3581
3582/****************************************
3583 ID-0075
3584 . NGM-075
3585 NEO-MVS PROGGSC / NEO-MVS CHA256
3586 . NGH-075
3587****************************************/
3588
3589ROM_START( sonicwi2 )
3590   ROM_REGION( 0x200000, "maincpu", 0 )
3591   ROM_LOAD16_WORD_SWAP( "075-p1.p1", 0x100000, 0x100000, CRC(92871738) SHA1(fed040a7c1ff9e495109813a702d09fb1d2ecf3a) ) /* mask rom TC5316200 */
3592   ROM_CONTINUE( 0x000000, 0x100000 )
3593
3594   NEO_SFIX_128K( "075-s1.s1", CRC(c9eec367) SHA1(574e1afe7e0d54610c145131106e59ba2894eeb7) ) /* mask rom TC531000 */
3595
3596   NEO_BIOS_AUDIO_128K( "075-m1.m1", CRC(bb828df1) SHA1(eab8e2868173bdaac7c7ed97305a9aa1033fd303) ) /* mask rom TC531001 */
3597
3598   ROM_REGION( 0x300000, "ymsnd", 0 )
3599   ROM_LOAD( "075-v1.v1", 0x000000, 0x200000, CRC(7577e949) SHA1(3ba9f11094dd0cf519f33a16016cfae0d2c6629c) ) /* mask rom TC5316200 */
3600   ROM_LOAD( "075-v2.v2", 0x200000, 0x100000, CRC(021760cd) SHA1(8a24e38f1d4982c4dcd82718995571ac94cbb390) ) /* mask rom TC538200 */
3601
3602   NO_DELTAT_REGION
3603
3604   ROM_REGION( 0x800000, "sprites", 0 )
3605   ROM_LOAD16_BYTE( "075-c1.c1", 0x000000, 0x200000, CRC(3278e73e) SHA1(d9e6c8a3a5213690a1b8747d27806d8ac5aac405) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3606   ROM_LOAD16_BYTE( "075-c2.c2", 0x000001, 0x200000, CRC(fe6355d6) SHA1(ca72fff7a908b6d9325761079ff2a0e28f34cf89) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3607   ROM_LOAD16_BYTE( "075-c3.c3", 0x400000, 0x200000, CRC(c1b438f1) SHA1(b3751c5b426bca0fcc3a58bdb86712c22ef908ab) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3608   ROM_LOAD16_BYTE( "075-c4.c4", 0x400001, 0x200000, CRC(1f777206) SHA1(e29c5ae65ebdcc1167a894306d2446ce909639da) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3609ROM_END
3610
3611/****************************************
3612 ID-0076
3613 . ??M-076
3614 NEO-MVS PROGGSC / NEO-MVS CHA256
3615****************************************/
3616
3617ROM_START( zedblade ) /* MVS ONLY RELEASE */
3618   ROM_REGION( 0x100000, "maincpu", 0 )
3619   ROM_LOAD16_WORD_SWAP( "076-p1.p1", 0x000000, 0x080000, CRC(d7c1effd) SHA1(485c2308a40baecd122be9ab4996044622bdcc7e) ) /* mask rom TC538200 */
3620
3621   NEO_SFIX_128K( "076-s1.s1", CRC(f4c25dd5) SHA1(8ec9026219f393930634f9170edbaaee479f875e) ) /* mask rom TC531000 */
3622
3623   NEO_BIOS_AUDIO_128K( "076-m1.m1", CRC(7b5f3d0a) SHA1(4a301781a57ff236f49492b576ff4858b0ffbdf8) ) /* mask rom TC531001 */
3624
3625   ROM_REGION( 0x500000, "ymsnd", 0 )
3626   ROM_LOAD( "076-v1.v1", 0x000000, 0x200000, CRC(1a21d90c) SHA1(4793ab06421228ad122e359653ed0f1339b90c7a) ) /* mask rom TC5316200 */
3627   ROM_LOAD( "076-v2.v2", 0x200000, 0x200000, CRC(b61686c3) SHA1(5a3405e833ce36abb7421190438b5cccc8537919) ) /* mask rom TC5316200 */
3628   ROM_LOAD( "076-v3.v3", 0x400000, 0x100000, CRC(b90658fa) SHA1(b9a4b34565ce3688495c47e35c9b888ef686ae9f) ) /* mask rom TC538200 */
3629
3630   NO_DELTAT_REGION
3631
3632   ROM_REGION( 0x800000, "sprites", 0 )
3633   ROM_LOAD16_BYTE( "076-c1.c1", 0x000000, 0x200000, CRC(4d9cb038) SHA1(c0b52b32e1fa719b99ae242d61d5dbea1437331c) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3634   ROM_LOAD16_BYTE( "076-c2.c2", 0x000001, 0x200000, CRC(09233884) SHA1(1895cd0d126a022bce1cc4c7a569032d89f35e3f) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3635   ROM_LOAD16_BYTE( "076-c3.c3", 0x400000, 0x200000, CRC(d06431e3) SHA1(643bd1ad74af272795b02143ba80a76e375036ab) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3636   ROM_LOAD16_BYTE( "076-c4.c4", 0x400001, 0x200000, CRC(4b1c089b) SHA1(cd63961d88c5be84673cce83c683a86b222a064d) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3637ROM_END
3638
3639/****************************************
3640 ID-0077
3641 The Warlocks of the Fates (prototype) 1995 Astec
3642****************************************/
3643
3644/****************************************
3645 ID-0078
3646 . NGM-078
3647 NEO-MVS PROGTOP / NEO-MVS CHA256
3648 . NGH-078
3649****************************************/
3650
3651ROM_START( galaxyfg )
3652   ROM_REGION( 0x200000, "maincpu", 0 )
3653   ROM_LOAD16_WORD_SWAP( "078-p1.p1", 0x100000, 0x100000, CRC(45906309) SHA1(cdcd96a564acf42e959193e139e149b29c103e25) ) /* mask rom TC5316200 */
3654   ROM_CONTINUE( 0x000000, 0x100000 )
3655
3656   NEO_SFIX_128K( "078-s1.s1", CRC(72f8923e) SHA1(da908bffc2b5d8baa2002dbb5bfb3aa17d2472b7) ) /* mask rom TC531000 */
3657
3658   NEO_BIOS_AUDIO_128K( "078-m1.m1", CRC(8e9e3b10) SHA1(7c44d1dbd4f8d337c99e90361d1dab837df85e31) ) /* mask rom TC531001 */
3659
3660   ROM_REGION( 0x500000, "ymsnd", 0 )
3661   ROM_LOAD( "078-v1.v1", 0x000000, 0x200000, CRC(e3b735ac) SHA1(e16dfac09aef8115a20bae0bef8c86d4e7d0dc4a) ) /* mask rom TC5316200 */
3662   ROM_LOAD( "078-v2.v2", 0x200000, 0x200000, CRC(6a8e78c2) SHA1(f60b1f8a3a945f279a582745e82f37278ce5d83b) ) /* mask rom TC5316200 */
3663   ROM_LOAD( "078-v3.v3", 0x400000, 0x100000, CRC(70bca656) SHA1(218b7079c90898e7faa382b386e77f81f415e7ac) ) /* mask rom TC538200 */
3664
3665   NO_DELTAT_REGION
3666
3667   ROM_REGION( 0xe00000, "sprites", 0 )
3668   ROM_LOAD16_BYTE( "078-c1.c1", 0x000000, 0x200000, CRC(c890c7c0) SHA1(b96c18a41c34070a4f24ca77cb7516fae8b0fd0c) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3669   ROM_LOAD16_BYTE( "078-c2.c2", 0x000001, 0x200000, CRC(b6d25419) SHA1(e089df9c9a9645f706e501108d634f4d222622a2) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3670   ROM_LOAD16_BYTE( "078-c3.c3", 0x400000, 0x200000, CRC(9d87e761) SHA1(ea1b6d7c9d5ef3a9b48968bde5a52d5699d591cc) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3671   ROM_LOAD16_BYTE( "078-c4.c4", 0x400001, 0x200000, CRC(765d7cb8) SHA1(7b9c86714d688602064d928c9d2b49d70bb7541e) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3672   ROM_LOAD16_BYTE( "078-c5.c5", 0x800000, 0x200000, CRC(e6b77e6a) SHA1(db3b8fc62a6f21c6653621c0665450d5d9a9913d) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3673   ROM_LOAD16_BYTE( "078-c6.c6", 0x800001, 0x200000, CRC(d779a181) SHA1(2761026abd9698a7b56114b76631563abd41fd12) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3674   ROM_LOAD16_BYTE( "078-c7.c7", 0xc00000, 0x100000, CRC(4f27d580) SHA1(c0f12496b45b2fe6e94aa8ac52b0157063127e0a) ) /* Plane 0,1 */ /* mask rom TC538200 */
3675   ROM_LOAD16_BYTE( "078-c8.c8", 0xc00001, 0x100000, CRC(0a7cc0d8) SHA1(68aaee6341c87e56ce11acc1c4ec8047839fe70d) ) /* Plane 2,3 */ /* mask rom TC538200 */
3676ROM_END
3677
3678/****************************************
3679 ID-0079
3680 . DEM-004
3681 NEO-MVS PROGGSC / NEO-MVS CHA256
3682 . DEH-004
3683 NEO-AEG PROGRK  / NEO-AEG CHA256
3684****************************************/
3685
3686ROM_START( strhoop ) /* MVS AND AES VERSION */
3687   ROM_REGION( 0x100000, "maincpu", 0 )
3688   ROM_LOAD16_WORD_SWAP( "079-p1.p1", 0x000000, 0x100000, CRC(5e78328e) SHA1(7a00b096ed6dd77afc3008c5a4c83686e475f323) ) /* TC538200 */
3689
3690   NEO_SFIX_128K( "079-s1.s1", CRC(3ac06665) SHA1(ba9ab51eb95c3568304377ef6d7b5f32e8fbcde1) ) /* TC531000 */
3691
3692   NEO_BIOS_AUDIO_128K( "079-m1.m1", CRC(bee3455a) SHA1(fd5345d9847982085a9b364fff542580889bf02f) ) /* TC531001 */
3693
3694   ROM_REGION( 0x300000, "ymsnd", 0 )
3695   ROM_LOAD( "079-v1.v1", 0x000000, 0x200000, CRC(718a2400) SHA1(cefc5d0b302bd4a87ab1fa244ade4482c23c6806) ) /* TC5316200 */
3696   ROM_LOAD( "079-v2.v2", 0x200000, 0x100000, CRC(720774eb) SHA1(e4926f01322d0a15e700fb150b368152f2091146) ) /* TC538200 */
3697   /* AES 079-v2 is only 4 mbit (TC534200), data is the same */
3698
3699   NO_DELTAT_REGION
3700
3701   ROM_REGION( 0x800000, "sprites", 0 )
3702   ROM_LOAD16_BYTE( "079-c1.c1", 0x000000, 0x200000, CRC(0581c72a) SHA1(453f7a8474195a1120da5fa24337d79674563d9e) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3703   ROM_LOAD16_BYTE( "079-c2.c2", 0x000001, 0x200000, CRC(5b9b8fb6) SHA1(362aa0de0d2cf9aa03758363ffb1e15e046a3930) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3704   ROM_LOAD16_BYTE( "079-c3.c3", 0x400000, 0x200000, CRC(cd65bb62) SHA1(6f47d77d61d4289bcee82df7c4efa5346a6e4c80) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3705   ROM_LOAD16_BYTE( "079-c4.c4", 0x400001, 0x200000, CRC(a4c90213) SHA1(1b9f7b5f31acd6df2bdab81b849f32c13aa1b884) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3706ROM_END
3707
3708/****************************************
3709 ID-0080
3710 . SAM-080
3711 NEO-MVS PROGGSC / NEO-MVS CHA256
3712 . SAH-080
3713 NEO-AEG PROGTOP2 / NEO-AEG CHA256 B
3714****************************************/
3715
3716ROM_START( quizkof ) /* MVS AND AES VERSION */
3717   ROM_REGION( 0x100000, "maincpu", 0 )
3718   ROM_LOAD16_WORD_SWAP( "080-p1.p1", 0x000000, 0x100000, CRC(4440315e) SHA1(f4adba8e341d64a1f6280dfd98ebf6918c00608d) ) /* mask rom TC538200 */
3719
3720   NEO_SFIX_128K( "080-s1.s1", CRC(d7b86102) SHA1(09e1ca6451f3035ce476e3b045541646f860aad5) ) /* mask rom TC531000 */
3721
3722   NEO_BIOS_AUDIO_128K( "080-m1.m1", CRC(f5f44172) SHA1(eaaba1781622901b91bce9257be4e05f84df053b) ) /* mask rom TC531001 */
3723
3724   ROM_REGION( 0x600000, "ymsnd", 0 )
3725   ROM_LOAD( "080-v1.v1", 0x000000, 0x200000, CRC(0be18f60) SHA1(05c8b7d9f5a8583015f31902ad16d9c621f47d4e) ) /* mask rom TC5316200 */
3726   ROM_LOAD( "080-v2.v2", 0x200000, 0x200000, CRC(4abde3ff) SHA1(0188bfcafa9a1aac302705736a2bcb26b9d684c2) ) /* mask rom TC5316200 */
3727   ROM_LOAD( "080-v3.v3", 0x400000, 0x200000, CRC(f02844e2) SHA1(8c65ebe146f4ddb6c904f8125cb32767f74c24d5) ) /* mask rom TC5316200 */
3728
3729   NO_DELTAT_REGION
3730
3731   ROM_REGION( 0x800000, "sprites", 0 )
3732   ROM_LOAD16_BYTE( "080-c1.c1", 0x000000, 0x200000, CRC(ea1d764a) SHA1(78cc1735624c37f90607baa92e110a3c5cc54c6f) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3733   ROM_LOAD16_BYTE( "080-c2.c2", 0x000001, 0x200000, CRC(d331d4a4) SHA1(94228d13fb1e30973eb54058e697f17456ee16ea) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3734   ROM_LOAD16_BYTE( "080-c3.c3", 0x400000, 0x200000, CRC(b4851bfe) SHA1(b8286c601de5755c1681ea46e177fc89006fc066) ) /* Plane 0,1 */ /* mask rom TC5316200 */
3735   ROM_LOAD16_BYTE( "080-c4.c4", 0x400001, 0x200000, CRC(ca6f5460) SHA1(ed36e244c9335f4c0a97c57b7b7f1b849dd3a90d) ) /* Plane 2,3 */ /* mask rom TC5316200 */
3736ROM_END
3737
3738ROM_START( quizkofk ) /* KOREAN VERSION */
3739   /* Made by Viccom Corp.; proms have manufacturer stamp VICxxxxxx-xxx, chip labels same as quizkof; Cart ID 0080 */
3740   /* Due to parent set naming limitations, roms have been named vic-xxx */
3741   ROM_REGION( 0x100000, "maincpu", 0 )
3742   ROM_LOAD16_WORD_SWAP( "vic-080-p1.p1", 0x000000, 0x100000, CRC(2589488e) SHA1(609f3095c1cf8b11335b56f23c5d955eebd66dd2) )
3743
3744   NEO_SFIX_128K( "vic-080-s1.s1", CRC(af72c30f) SHA1(f6a2c583f38295b7da2cbcf4b2c7ed3d3e01db4f) )
3745
3746   NEO_BIOS_AUDIO_128K( "vic-080-m1.m1", CRC(4f157e9a) SHA1(8397bfdd5738914670ada7cd8c611c20ed1f74da) )
3747
3748   ROM_REGION( 0x600000, "ymsnd", 0 )
3749   ROM_LOAD( "080-v1.v1", 0x000000, 0x200000, CRC(0be18f60) SHA1(05c8b7d9f5a8583015f31902ad16d9c621f47d4e) ) /* mask rom TC5316200 */
3750   ROM_LOAD( "vic-080-v2.v2", 0x200000, 0x200000, CRC(719fee5b) SHA1(c94f8ca066c9693cd7c9fd311db1ad9b2665fc69) )
3751   ROM_LOAD( "vic-080-v3.v3", 0x400000, 0x200000, CRC(64b7efde) SHA1(11727f9a3c4da17fa7b00559c7081b66e7211c49) )
3752
3753   NO_DELTAT_REGION
3754
3755   ROM_REGION( 0x800000, "sprites", 0 )
3756   ROM_LOAD16_BYTE( "vic-080-c1.c1", 0x000000, 0x200000, CRC(94d90170) SHA1(4ab63dadc6ee0d32b8784c327681376f5fef0df9) ) /* Plane 0,1 */
3757   ROM_LOAD16_BYTE( "vic-080-c2.c2", 0x000001, 0x200000, CRC(297f25a1) SHA1(0dd845726c640d70804b5fd5854921771e8dbf19) ) /* Plane 2,3 */
3758   ROM_LOAD16_BYTE( "vic-080-c3.c3", 0x400000, 0x200000, CRC(cf484c4f) SHA1(f588908a693dbbb8362ffbfe5035dd5f867d9697) ) /* Plane 0,1 */
3759   ROM_LOAD16_BYTE( "vic-080-c4.c4", 0x400001, 0x200000, CRC(36e5d997) SHA1(99955ff947e2e586e60c1146c978c70705787917) ) /* Plane 2,3 */
3760ROM_END
3761
3762/****************************************
3763 ID-0081
3764 . NGM-081
3765 NEO-MVS PROGTOP / NEO-MVS CHA42G-3B
3766 NEO-MVS PROGTOP / NEO-MVS CHA256
3767 . NGH-081
3768****************************************/
3769
3770ROM_START( ssideki3 )
3771   ROM_REGION( 0x200000, "maincpu", 0 )
3772   ROM_LOAD16_WORD_SWAP( "081-p1.p1", 0x100000, 0x100000, CRC(6bc27a3d) SHA1(94692abe7343f9204a557acae4ab74d0af511ca3) ) /* TC5316200 */
3773   ROM_CONTINUE( 0x000000, 0x100000 )
3774
3775   NEO_SFIX_128K( "081-s1.s1", CRC(7626da34) SHA1(30bad65633d0035fd578323c22cbddb8c9d549a6) ) /* TC531000 */
3776
3777   NEO_BIOS_AUDIO_128K( "081-m1.m1", CRC(82fcd863) SHA1(b219a5685450f9c24cc195f1c914bc3b292d72c0) ) /* TC531001 */
3778
3779   ROM_REGION( 0x600000, "ymsnd", 0 )
3780   ROM_LOAD( "081-v1.v1", 0x000000, 0x200000, CRC(201fa1e1) SHA1(9c27cc1b1d075223ed4a90dd02571d09a2f0d076) ) /* TC5316200 */
3781   ROM_LOAD( "081-v2.v2", 0x200000, 0x200000, CRC(acf29d96) SHA1(5426985c33aea2efc8ff774b59d34d8b03bd9a85) ) /* TC5316200 */
3782   ROM_LOAD( "081-v3.v3", 0x400000, 0x200000, CRC(e524e415) SHA1(8733e1b63471381b16c2b7c64b909745d99c8925) ) /* TC5316200 */
3783
3784   NO_DELTAT_REGION
3785
3786   ROM_REGION( 0xc00000, "sprites", 0 )
3787   ROM_LOAD16_BYTE( "081-c1.c1", 0x000000, 0x200000, CRC(1fb68ebe) SHA1(abd9dbe7b7cbe0b6cd1d87e53c6bdc6edeccf83c) ) /* Plane 0,1 */ /* TC5316200 */
3788   ROM_LOAD16_BYTE( "081-c2.c2", 0x000001, 0x200000, CRC(b28d928f) SHA1(9f05148e3e1e94339752658c066f47f133db8fbf) ) /* Plane 2,3 */ /* TC5316200 */
3789   ROM_LOAD16_BYTE( "081-c3.c3", 0x400000, 0x200000, CRC(3b2572e8) SHA1(41aba1554bf59d4e5d5814249eaa0d531449e1de) ) /* Plane 0,1 */ /* TC5316200 */
3790   ROM_LOAD16_BYTE( "081-c4.c4", 0x400001, 0x200000, CRC(47d26a7c) SHA1(591ef24a3d381163c5da80fa64e6883b8ea9abfb) ) /* Plane 2,3 */ /* TC5316200 */
3791   ROM_LOAD16_BYTE( "081-c5.c5", 0x800000, 0x200000, CRC(17d42f0d) SHA1(7de7765bf43d390c50b2f59c2288502a7121d086) ) /* Plane 0,1 */ /* TC5316200 */
3792   ROM_LOAD16_BYTE( "081-c6.c6", 0x800001, 0x200000, CRC(6b53fb75) SHA1(fadf7a12661d83ae35d9258aa4947969d51c08b8) ) /* Plane 2,3 */ /* TC5316200 */
3793ROM_END
3794
3795/****************************************
3796 ID-0082
3797 . NGM-082
3798 NEO-MVS PROGTOP / NEO-MVS CHA256
3799 NEO-MVS PROGTOP / NEO-MVS CHA 42G-3
3800 NEO-MVS PROGBK1 / NEO-MVS CHA256
3801 . NGH-082
3802****************************************/
3803
3804ROM_START( doubledr )
3805   ROM_REGION( 0x200000, "maincpu", 0 )
3806   ROM_LOAD16_WORD_SWAP( "082-p1.p1", 0x100000, 0x100000, CRC(34ab832a) SHA1(fbb1bd195f5653f7b9c89648649f838eaf83cbe4) ) /* TC5316200 */
3807   ROM_CONTINUE( 0x000000, 0x100000 )
3808
3809   NEO_SFIX_128K( "082-s1.s1", CRC(bef995c5) SHA1(9c89adbdaa5c1f827632c701688563dac2e482a4) ) /* TC531000 */
3810
3811   NEO_BIOS_AUDIO_128K( "082-m1.m1", CRC(10b144de) SHA1(cf1ed0a447da68240c62bcfd76b1569803f6bf76) ) /* TC531001 */
3812
3813   ROM_REGION( 0x400000, "ymsnd", 0 )
3814   ROM_LOAD( "082-v1.v1", 0x000000, 0x200000, CRC(cc1128e4) SHA1(bfcfff24bc7fbde0b02b1bc0dffebd5270a0eb04) ) /* TC5316200 */
3815   ROM_LOAD( "082-v2.v2", 0x200000, 0x200000, CRC(c3ff5554) SHA1(c685887ad64998e5572607a916b023f8b9efac49) ) /* TC5316200 */
3816
3817   NO_DELTAT_REGION
3818
3819   ROM_REGION( 0xe00000, "sprites", 0 )
3820   ROM_LOAD16_BYTE( "082-c1.c1", 0x000000, 0x200000, CRC(b478c725) SHA1(3a777c5906220f246a6dc06cb084e6ad650d67bb) ) /* Plane 0,1 */ /* TC5316200 */
3821   ROM_LOAD16_BYTE( "082-c2.c2", 0x000001, 0x200000, CRC(2857da32) SHA1(9f13245965d23db86d46d7e73dfb6cc63e6f25a1) ) /* Plane 2,3 */ /* TC5316200 */
3822   ROM_LOAD16_BYTE( "082-c3.c3", 0x400000, 0x200000, CRC(8b0d378e) SHA1(3a347215e414b738164f1fe4144102f07d4ffb80) ) /* Plane 0,1 */ /* TC5316200 */
3823   ROM_LOAD16_BYTE( "082-c4.c4", 0x400001, 0x200000, CRC(c7d2f596) SHA1(e2d09d4d1b1fef9c0c53ecf3629e974b75e559f5) ) /* Plane 2,3 */ /* TC5316200 */
3824   ROM_LOAD16_BYTE( "082-c5.c5", 0x800000, 0x200000, CRC(ec87bff6) SHA1(3fa86da93881158c2c23443855922a7b32e55135) ) /* Plane 0,1 */ /* TC5316200 */
3825   ROM_LOAD16_BYTE( "082-c6.c6", 0x800001, 0x200000, CRC(844a8a11) SHA1(b2acbd4cacce66fb32c052b2fba9984904679bda) ) /* Plane 2,3 */ /* TC5316200 */
3826   ROM_LOAD16_BYTE( "082-c7.c7", 0xc00000, 0x100000, CRC(727c4d02) SHA1(8204c7f037d46e0c58f269f9c7a535bc2589f526) ) /* Plane 0,1 */ /* TC538200 */
3827   ROM_LOAD16_BYTE( "082-c8.c8", 0xc00001, 0x100000, CRC(69a5fa37) SHA1(020e70e0e8b3c5d00a40fe97e418115a3187e50a) ) /* Plane 2,3 */ /* TC538200 */
3828ROM_END
3829
3830/****************************************
3831 ID-0083
3832 . NGM-083
3833 NEO-MVS PROGTOP / NEO-MVS CHA256
3834****************************************/
3835
3836ROM_START( pbobblen ) /* MVS ONLY RELEASE */
3837   /* This set uses CHA and PROG board from Power Spikes II. Six Power Spikes II prom's are replaced with
3838   Puzzle Bobble prom's. Confirmed on several original carts. Do other layouts also exist? */
3839   ROM_REGION( 0x100000, "maincpu", 0 )
3840   ROM_LOAD16_WORD_SWAP( "d96-07.ep1", 0x000000, 0x080000, CRC(6102ca14) SHA1(328429d11de5b327a0654ae0548da4d0025a2ae6) ) /* 27C240 */
3841
3842   NEO_SFIX_128K( "d96-04.s1", CRC(9caae538) SHA1(cf2d90a7c1a42107c0bb8b9a61397634286dbe0a) ) /* mask rom TC531000 */
3843
3844   NEO_BIOS_AUDIO_128K( "d96-06.m1", CRC(f424368a) SHA1(5e5bbcaeb82bed2ee17df08f005ca20ad1030723) ) /* mask rom TC531001 */
3845
3846   ROM_REGION( 0x380000, "ymsnd", 0 )
3847   ROM_LOAD( "068-v1.v1", 0x000000, 0x100000, CRC(2ced86df) SHA1(d6b73d1f31efbd74fb745200d4dade5f80b71541) ) /* unused */ /* mask rom TC538200 */
3848   ROM_LOAD( "068-v2.v2", 0x100000, 0x100000, CRC(970851ab) SHA1(6c9b04e9cc6b92133f1154e5bdd9d38d8ef050a7) ) /* unused */ /* mask rom TC538200 */
3849   ROM_LOAD( "d96-01.v3", 0x200000, 0x100000, CRC(0840cbc4) SHA1(1adbd7aef44fa80832f63dfb8efdf69fd7256a57) ) /* mask rom TC538200 */
3850   ROM_LOAD( "d96-05.v4", 0x300000, 0x080000, CRC(0a548948) SHA1(e1e4afd17811cb60401c14fbcf0465035165f4fb) ) /* mask rom TC534200 */
3851
3852   NO_DELTAT_REGION
3853
3854   ROM_REGION( 0x500000, "sprites", 0 )
3855   ROM_LOAD16_BYTE( "068-c1.c1", 0x000000, 0x100000, CRC(7f250f76) SHA1(5109a41adcb7859e24dc43d88842d4cc18cd3305) ) /* unused */ /* mask rom TC538200 */
3856   ROM_LOAD16_BYTE( "068-c2.c2", 0x000001, 0x100000, CRC(20912873) SHA1(2df8766b531e47ffc30457e41c63b83557b4f468) ) /* unused */ /* mask rom TC538200 */
3857   ROM_LOAD16_BYTE( "068-c3.c3", 0x200000, 0x100000, CRC(4b641ba1) SHA1(7a9c42a30163eda455f7bde2302402b1a5de7178) ) /* unused */ /* mask rom TC538200 */
3858   ROM_LOAD16_BYTE( "068-c4.c4", 0x200001, 0x100000, CRC(35072596) SHA1(4150a21041f06514c97592bd8af686504b06e187) ) /* unused */ /* mask rom TC538200 */
3859   ROM_LOAD16_BYTE( "d96-02.c5", 0x400000, 0x80000, CRC(e89ad494) SHA1(69c9ea415773af94ac44c48af05d55ada222b138) ) /* Plane 0,1 */ /* mask rom TC534200 */
3860   ROM_LOAD16_BYTE( "d96-03.c6", 0x400001, 0x80000, CRC(4b42d7eb) SHA1(042ae50a528cea21cf07771d3915c57aa16fd5af) ) /* Plane 2,3 */ /* mask rom TC534200 */
3861ROM_END
3862
3863/****************************************
3864 ID-0084
3865 . NGM-084
3866 NEO-MVS PROGBK1 / NEO-MVS CHA256
3867 NEO-MVS PROGSM / NEO-MVS CHA256
3868 . NGH-084
3869 NEO-AEG PROGBK1Y / NEO-AEG CHA256RY
3870****************************************/
3871
3872ROM_START( kof95 ) /* MVS VERSION */
3873   ROM_REGION( 0x200000, "maincpu", 0 )
3874   ROM_LOAD16_WORD_SWAP( "084-p1.p1",0x100000, 0x100000, CRC(2cba2716) SHA1(f6c2d0537c9c3e0938065c65b1797c47198fcff8) ) /* TC5316200 */
3875   ROM_CONTINUE( 0x000000, 0x100000 )
3876
3877   NEO_SFIX_128K( "084-s1.s1", CRC(de716f8a) SHA1(f7386454a943ed5caf625f67ee1d0197b1c6fa13) ) /* TC531000 */
3878
3879   NEO_BIOS_AUDIO_128K( "084-m1.m1", CRC(6f2d7429) SHA1(6f8462e4f07af82a5ca3197895d5dcbb67bdaa61) ) /* TC531001 */
3880
3881   ROM_REGION( 0x900000, "ymsnd", 0 )
3882   ROM_LOAD( "084-v1.v1", 0x000000, 0x400000, CRC(84861b56) SHA1(1b6c91ddaed01f45eb9b7e49d9c2b9b479d50da6) ) /* TC5332201 */
3883   ROM_LOAD( "084-v2.v2", 0x400000, 0x200000, CRC(b38a2803) SHA1(dbc2c8606ca09ed7ff20906b022da3cf053b2f09) ) /* TC5316200 */
3884   /* 600000-7fffff empty */
3885   ROM_LOAD( "084-v3.v3", 0x800000, 0x100000, CRC(d683a338) SHA1(eb9866b4b286edc09963cb96c43ce0a8fb09adbb) ) /* TC538200 */
3886
3887   NO_DELTAT_REGION
3888
3889   ROM_REGION( 0x1a00000, "sprites", 0 )
3890   ROM_LOAD16_BYTE( "084-c1.c1", 0x0000000, 0x400000, CRC(fe087e32) SHA1(e8e89faa616027e4fb9b8a865c1a67f409c93bdf) ) /* Plane 0,1 */ /* TC5332202 */
3891   ROM_LOAD16_BYTE( "084-c2.c2", 0x0000001, 0x400000, CRC(07864e09) SHA1(0817fcfd75d0735fd8ff27561eaec371e4ff5829) ) /* Plane 2,3 */ /* TC5332202 */
3892   ROM_LOAD16_BYTE( "084-c3.c3", 0x0800000, 0x400000, CRC(a4e65d1b) SHA1(740a405b40b3a4b324697d2652cae29ffe0ac0bd) ) /* Plane 0,1 */ /* TC5332202 */
3893   ROM_LOAD16_BYTE( "084-c4.c4", 0x0800001, 0x400000, CRC(c1ace468) SHA1(74ea2a3cfd7b744f0988a05baaff10016ca8f625) ) /* Plane 2,3 */ /* TC5332202 */
3894   ROM_LOAD16_BYTE( "084-c5.c5", 0x1000000, 0x200000, CRC(8a2c1edc) SHA1(67866651bc0ce27122285a66b0aab108acf3d065) ) /* Plane 0,1 */ /* TC5316200 */
3895   ROM_LOAD16_BYTE( "084-c6.c6", 0x1000001, 0x200000, CRC(f593ac35) SHA1(302c92c63f092a8d49429c3331e5e5678f0ea48d) ) /* Plane 2,3 */ /* TC5316200 */
3896   /* 1400000-17fffff empty */
3897   ROM_LOAD16_BYTE( "084-c7.c7", 0x1800000, 0x100000, CRC(9904025f) SHA1(eec770746a0ad073f7d353ab16a2cc3a5278d307) ) /* Plane 0,1 */ /* TC538200 */
3898   ROM_LOAD16_BYTE( "084-c8.c8", 0x1800001, 0x100000, CRC(78eb0f9b) SHA1(2925ea21ed2ce167f08a25589e94f28643379034) ) /* Plane 2,3 */ /* TC538200 */
3899ROM_END
3900
3901ROM_START( kof95h ) /* MVS AND AES VERSION */
3902   /* There also exists a MVS version with 4x eprom (EP1~EP4); board used is NEO-MVS PROGSM */
3903   ROM_REGION( 0x200000, "maincpu", 0 )
3904   ROM_LOAD16_WORD_SWAP( "084-pg1.p1", 0x100000, 0x100000, CRC(5e54cf95) SHA1(41abe2042fdbb1526e92a0789976a9b1ac5e60f0) ) /* TC5316200 */
3905   ROM_CONTINUE( 0x000000, 0x100000 )
3906
3907   NEO_SFIX_128K( "084-s1.s1", CRC(de716f8a) SHA1(f7386454a943ed5caf625f67ee1d0197b1c6fa13) ) /* TC531000 */
3908
3909   NEO_BIOS_AUDIO_128K( "084-m1.m1", CRC(6f2d7429) SHA1(6f8462e4f07af82a5ca3197895d5dcbb67bdaa61) ) /* TC531001 */
3910
3911   ROM_REGION( 0x900000, "ymsnd", 0 )
3912   ROM_LOAD( "084-v1.v1", 0x000000, 0x400000, CRC(84861b56) SHA1(1b6c91ddaed01f45eb9b7e49d9c2b9b479d50da6) ) /* TC5332201 */
3913   ROM_LOAD( "084-v2.v2", 0x400000, 0x200000, CRC(b38a2803) SHA1(dbc2c8606ca09ed7ff20906b022da3cf053b2f09) ) /* TC5316200 */
3914   /* 600000-7fffff empty */
3915   ROM_LOAD( "084-v3.v3", 0x800000, 0x100000, CRC(d683a338) SHA1(eb9866b4b286edc09963cb96c43ce0a8fb09adbb) ) /* TC538200 */
3916
3917   NO_DELTAT_REGION
3918
3919   ROM_REGION( 0x1a00000, "sprites", 0 )
3920   ROM_LOAD16_BYTE( "084-c1.c1", 0x0000000, 0x400000, CRC(fe087e32) SHA1(e8e89faa616027e4fb9b8a865c1a67f409c93bdf) ) /* Plane 0,1 */ /* TC5332202 */
3921   ROM_LOAD16_BYTE( "084-c2.c2", 0x0000001, 0x400000, CRC(07864e09) SHA1(0817fcfd75d0735fd8ff27561eaec371e4ff5829) ) /* Plane 2,3 */ /* TC5332202 */
3922   ROM_LOAD16_BYTE( "084-c3.c3", 0x0800000, 0x400000, CRC(a4e65d1b) SHA1(740a405b40b3a4b324697d2652cae29ffe0ac0bd) ) /* Plane 0,1 */ /* TC5332202 */
3923   ROM_LOAD16_BYTE( "084-c4.c4", 0x0800001, 0x400000, CRC(c1ace468) SHA1(74ea2a3cfd7b744f0988a05baaff10016ca8f625) ) /* Plane 2,3 */ /* TC5332202 */
3924   ROM_LOAD16_BYTE( "084-c5.c5", 0x1000000, 0x200000, CRC(8a2c1edc) SHA1(67866651bc0ce27122285a66b0aab108acf3d065) ) /* Plane 0,1 */ /* TC5316200 */
3925   ROM_LOAD16_BYTE( "084-c6.c6", 0x1000001, 0x200000, CRC(f593ac35) SHA1(302c92c63f092a8d49429c3331e5e5678f0ea48d) ) /* Plane 2,3 */ /* TC5316200 */
3926   /* 1400000-17fffff empty */
3927   ROM_LOAD16_BYTE( "084-c7.c7", 0x1800000, 0x100000, CRC(9904025f) SHA1(eec770746a0ad073f7d353ab16a2cc3a5278d307) ) /* Plane 0,1 */ /* TC538200 */
3928   ROM_LOAD16_BYTE( "084-c8.c8", 0x1800001, 0x100000, CRC(78eb0f9b) SHA1(2925ea21ed2ce167f08a25589e94f28643379034) ) /* Plane 2,3 */ /* TC538200 */
3929ROM_END
3930
3931/****************************************
3932 ID-0085
3933 Shinsetsu Samurai Spirits Bushidoretsuden / Samurai Shodown RPG (CD only)
3934****************************************/
3935
3936/****************************************
3937 ID-0086
3938 . ??M-086
3939 NEO-MVS PROGBK1 / NEO-MVS CHA256B
3940****************************************/
3941
3942ROM_START( tws96 ) /* MVS ONLY RELEASE */
3943   ROM_REGION( 0x100000, "maincpu", 0 )
3944   ROM_LOAD16_WORD_SWAP( "086-p1.p1", 0x000000, 0x100000, CRC(03e20ab6) SHA1(3a0a5a54649178ce7a6158980cb4445084b40fb5) ) /* mask rom TC538200 */
3945
3946   NEO_SFIX_128K( "086-s1.s1", CRC(6f5e2b3a) SHA1(273341489f6625d35a4a920042a60e2b86373847) ) /* mask rom TC531000 */
3947
3948   NEO_BIOS_AUDIO_128K( "086-m1.m1", CRC(cb82bc5d) SHA1(8e3ecabec25d89adb6e0eed0ef5f94d34a4d5fc0) ) /* mask rom TC531001 */
3949
3950   ROM_REGION( 0x400000, "ymsnd", 0 )
3951   ROM_LOAD( "086-v1.v1", 0x000000, 0x200000, CRC(97bf1986) SHA1(b80d3a37e18d0a52f1e0092dc300989c9647efd1) ) /* mask rom TC5316200 */
3952   ROM_LOAD( "086-v2.v2", 0x200000, 0x200000, CRC(b7eb05df) SHA1(ff2b55c7021c248cfdcfc9cd3658f2896bcbca38) ) /* mask rom TC5316200 */
3953
3954   NO_DELTAT_REGION
3955
3956   ROM_REGION( 0xa00000, "sprites", 0 )
3957   ROM_LOAD16_BYTE( "086-c1.c1", 0x000000, 0x400000, CRC(2611bc2a) SHA1(bb5a96acd4a90fcb41c49cc8e9f760c4a06d6b84) ) /* Plane 0,1 */ /* mask rom TC5332205 */
3958   ROM_LOAD16_BYTE( "086-c2.c2", 0x000001, 0x400000, CRC(6b0d6827) SHA1(3cb2bbab381a26ec69f97c3d6116ce47254286b4) ) /* Plane 2,3 */ /* mask rom TC5332205 */
3959   ROM_LOAD16_BYTE( "086-c3.c3", 0x800000, 0x100000, CRC(750ddc0c) SHA1(9304a83d81afd544d88be0cd3ee47ae401d2da0e) ) /* Plane 0,1 */ /* mask rom TC538200 */
3960   ROM_LOAD16_BYTE( "086-c4.c4", 0x800001, 0x100000, CRC(7a6e7d82) SHA1(b1bb82cec3d68367d5e01e63c44c11b67e577411) ) /* Plane 2,3 */ /* mask rom TC538200 */
3961ROM_END
3962
3963/****************************************
3964 ID-0087
3965 . NGM-087
3966 NEO-MVS PROGSS3 / NEO-MVS CHA256
3967 . NGH-087
3968 NEO-AEG PROGBK1Y / NEO-AEG CHA256RY
3969****************************************/
3970
3971ROM_START( samsho3 ) /* MVS VERSION */
3972   ROM_REGION( 0x300000, "maincpu", 0 )
3973   ROM_LOAD16_WORD_SWAP( "087-epr.ep1", 0x000000, 0x080000, CRC(23e09bb8) SHA1(79da99fa50a639fce9d1266699b5e53c9ac55642) ) /* M27C4002 */
3974   ROM_LOAD16_WORD_SWAP( "087-epr.ep2", 0x080000, 0x080000, CRC(256f5302) SHA1(e2d21b413a6059194a994b7902b2a7df98a15151) ) /* M27C4002 */
3975   ROM_LOAD16_WORD_SWAP( "087-epr.ep3", 0x100000, 0x080000, CRC(bf2db5dd) SHA1(b4fa1dc1eccc9eb1ce74f0a06992ef89b1cbc732) ) /* M27C4002 */
3976   ROM_LOAD16_WORD_SWAP( "087-epr.ep4", 0x180000, 0x080000, CRC(53e60c58) SHA1(f975e81cab6322d3260348402721c673023259fa) ) /* M27C4002 */
3977   /* P's on eprom, correct chip label unknown */
3978   ROM_LOAD16_WORD_SWAP( "087-p5.p5",  0x200000, 0x100000, CRC(e86ca4af) SHA1(5246acbab77ac2f232b88b8522187764ff0872f0) ) /* TC538200 */
3979
3980   NEO_SFIX_128K( "087-s1.s1", CRC(74ec7d9f) SHA1(d79c479838a7ca51735a44f91f1968ec5b3c6b91) ) /* TC531000 */
3981
3982   NEO_BIOS_AUDIO_128K( "087-m1.m1", CRC(8e6440eb) SHA1(e3f72150af4e326543b29df71cda27d73ec087c1) ) /* T531001 */
3983
3984   ROM_REGION( 0x600000, "ymsnd", 0 )
3985   ROM_LOAD( "087-v1.v1", 0x000000, 0x400000, CRC(84bdd9a0) SHA1(adceceb00569eca13fcc2e0f0d9f0d9b06a06851) ) /* TC5332201 */
3986   ROM_LOAD( "087-v2.v2", 0x400000, 0x200000, CRC(ac0f261a) SHA1(5411bdff24cba7fdbc3397d45a70fb468d7a44b3) ) /* TC5316200 */
3987
3988   NO_DELTAT_REGION
3989
3990   ROM_REGION( 0x1a00000, "sprites", 0 )
3991   ROM_LOAD16_BYTE( "087-c1.c1", 0x0000000, 0x400000, CRC(07a233bc) SHA1(654cb56cfd6eeebe6745c0b8b730317fb8ccd3d9) ) /* Plane 0,1 */ /* TC5332202 */
3992   ROM_LOAD16_BYTE( "087-c2.c2", 0x0000001, 0x400000, CRC(7a413592) SHA1(b8c7a2d0d7a8b14d6cab94d7a5f347e73c6ab7a4) ) /* Plane 2,3 */ /* TC5332202 */
3993   ROM_LOAD16_BYTE( "087-c3.c3", 0x0800000, 0x400000, CRC(8b793796) SHA1(053acc129ea56691607a5d255845703e61fd3ada) ) /* Plane 0,1 */ /* TC5332202 */
3994   ROM_LOAD16_BYTE( "087-c4.c4", 0x0800001, 0x400000, CRC(728fbf11) SHA1(daa319d455f759bfc08a37b43218bdb48dc1c9e5) ) /* Plane 2,3 */ /* TC5332202 */
3995   ROM_LOAD16_BYTE( "087-c5.c5", 0x1000000, 0x400000, CRC(172ab180) SHA1(a6122f683bdb78d0079e1e360c1b96ba28def7b7) ) /* Plane 0,1 */ /* TC5332202 */
3996   ROM_LOAD16_BYTE( "087-c6.c6", 0x1000001, 0x400000, CRC(002ff8f3) SHA1(3a378708697d727796c4f702dd5bbf1c9eb4daec) ) /* Plane 2,3 */ /* TC5332202 */
3997   ROM_LOAD16_BYTE( "087-c7.c7", 0x1800000, 0x100000, CRC(ae450e3d) SHA1(ec482632cc347ec3f9e68df0ebcaa16ebe41b9f9) ) /* Plane 0,1 */ /* TC538200 */
3998   ROM_LOAD16_BYTE( "087-c8.c8", 0x1800001, 0x100000, CRC(a9e82717) SHA1(e39ee15d5140dbe7f06eea945cce9984a5e8b06a) ) /* Plane 2,3 */ /* TC538200 */
3999ROM_END
4000
4001ROM_START( samsho3h ) /* AES VERSION */
4002   ROM_REGION( 0x300000, "maincpu", 0 )
4003   ROM_LOAD16_WORD_SWAP( "087-pg1.p1", 0x000000, 0x100000, CRC(282a336e) SHA1(e062f1939d36a45f185b5dbd726cdd833dc7c28c) ) /* mask rom TC538200 */
4004   ROM_LOAD16_WORD_SWAP( "087-p2.sp2", 0x100000, 0x200000, CRC(9bbe27e0) SHA1(b18117102159903c8e8f4e4226e1cc91a400e816) ) /* mask rom TC5316200 */
4005
4006   NEO_SFIX_128K( "087-s1.s1", CRC(74ec7d9f) SHA1(d79c479838a7ca51735a44f91f1968ec5b3c6b91) ) /* T531000 */
4007
4008   NEO_BIOS_AUDIO_128K( "087-m1.m1", CRC(8e6440eb) SHA1(e3f72150af4e326543b29df71cda27d73ec087c1) ) /* T531001 */
4009
4010   ROM_REGION( 0x600000, "ymsnd", 0 )
4011   ROM_LOAD( "087-v1.v1", 0x000000, 0x400000, CRC(84bdd9a0) SHA1(adceceb00569eca13fcc2e0f0d9f0d9b06a06851) ) /* TC5332201 */
4012   ROM_LOAD( "087-v2.v2", 0x400000, 0x200000, CRC(ac0f261a) SHA1(5411bdff24cba7fdbc3397d45a70fb468d7a44b3) ) /* TC5316200 */
4013
4014   NO_DELTAT_REGION
4015
4016   ROM_REGION( 0x1a00000, "sprites", 0 )
4017   ROM_LOAD16_BYTE( "087-c1.c1", 0x0000000, 0x400000, CRC(07a233bc) SHA1(654cb56cfd6eeebe6745c0b8b730317fb8ccd3d9) ) /* Plane 0,1 */ /* TC5332202 */
4018   ROM_LOAD16_BYTE( "087-c2.c2", 0x0000001, 0x400000, CRC(7a413592) SHA1(b8c7a2d0d7a8b14d6cab94d7a5f347e73c6ab7a4) ) /* Plane 2,3 */ /* TC5332202 */
4019   ROM_LOAD16_BYTE( "087-c3.c3", 0x0800000, 0x400000, CRC(8b793796) SHA1(053acc129ea56691607a5d255845703e61fd3ada) ) /* Plane 0,1 */ /* TC5332202 */
4020   ROM_LOAD16_BYTE( "087-c4.c4", 0x0800001, 0x400000, CRC(728fbf11) SHA1(daa319d455f759bfc08a37b43218bdb48dc1c9e5) ) /* Plane 2,3 */ /* TC5332202 */
4021   ROM_LOAD16_BYTE( "087-c5.c5", 0x1000000, 0x400000, CRC(172ab180) SHA1(a6122f683bdb78d0079e1e360c1b96ba28def7b7) ) /* Plane 0,1 */ /* TC5332202 */
4022   ROM_LOAD16_BYTE( "087-c6.c6", 0x1000001, 0x400000, CRC(002ff8f3) SHA1(3a378708697d727796c4f702dd5bbf1c9eb4daec) ) /* Plane 2,3 */ /* TC5332202 */
4023   ROM_LOAD16_BYTE( "087-c7.c7", 0x1800000, 0x100000, CRC(ae450e3d) SHA1(ec482632cc347ec3f9e68df0ebcaa16ebe41b9f9) ) /* Plane 0,1 */ /* TC538200 */
4024   ROM_LOAD16_BYTE( "087-c8.c8", 0x1800001, 0x100000, CRC(a9e82717) SHA1(e39ee15d5140dbe7f06eea945cce9984a5e8b06a) ) /* Plane 2,3 */ /* TC538200 */
4025ROM_END
4026
4027ROM_START( fswords ) /* KOREAN VERSION */
4028   ROM_REGION( 0x300000, "maincpu", 0 )
4029   ROM_LOAD16_WORD_SWAP( "187-p1k.p1", 0x000000, 0x100000, CRC(c8e7c075) SHA1(7b74f2917114460d79d8f46ee24829a4c08cbf2a) )
4030   ROM_LOAD16_WORD_SWAP( "087-p2.sp2", 0x100000, 0x200000, CRC(9bbe27e0) SHA1(b18117102159903c8e8f4e4226e1cc91a400e816) ) /* mask rom TC5316200 */
4031
4032   NEO_SFIX_128K( "087-s1.s1", CRC(74ec7d9f) SHA1(d79c479838a7ca51735a44f91f1968ec5b3c6b91) ) /* TC531000 */
4033
4034   NEO_BIOS_AUDIO_128K( "087-m1.m1", CRC(8e6440eb) SHA1(e3f72150af4e326543b29df71cda27d73ec087c1) ) /* TC531001 */
4035
4036   ROM_REGION( 0x600000, "ymsnd", 0 )
4037   ROM_LOAD( "087-v1.v1", 0x000000, 0x400000, CRC(84bdd9a0) SHA1(adceceb00569eca13fcc2e0f0d9f0d9b06a06851) ) /* TC5332201 */
4038   ROM_LOAD( "087-v2.v2", 0x400000, 0x200000, CRC(ac0f261a) SHA1(5411bdff24cba7fdbc3397d45a70fb468d7a44b3) ) /* TC5316200 */
4039
4040   NO_DELTAT_REGION
4041
4042   ROM_REGION( 0x1a00000, "sprites", 0 )
4043   ROM_LOAD16_BYTE( "087-c1.c1", 0x0000000, 0x400000, CRC(07a233bc) SHA1(654cb56cfd6eeebe6745c0b8b730317fb8ccd3d9) ) /* Plane 0,1 */ /* TC5332202 */
4044   ROM_LOAD16_BYTE( "087-c2.c2", 0x0000001, 0x400000, CRC(7a413592) SHA1(b8c7a2d0d7a8b14d6cab94d7a5f347e73c6ab7a4) ) /* Plane 2,3 */ /* TC5332202 */
4045   ROM_LOAD16_BYTE( "087-c3.c3", 0x0800000, 0x400000, CRC(8b793796) SHA1(053acc129ea56691607a5d255845703e61fd3ada) ) /* Plane 0,1 */ /* TC5332202 */
4046   ROM_LOAD16_BYTE( "087-c4.c4", 0x0800001, 0x400000, CRC(728fbf11) SHA1(daa319d455f759bfc08a37b43218bdb48dc1c9e5) ) /* Plane 2,3 */ /* TC5332202 */
4047   ROM_LOAD16_BYTE( "087-c5.c5", 0x1000000, 0x400000, CRC(172ab180) SHA1(a6122f683bdb78d0079e1e360c1b96ba28def7b7) ) /* Plane 0,1 */ /* TC5332202 */
4048   ROM_LOAD16_BYTE( "087-c6.c6", 0x1000001, 0x400000, CRC(002ff8f3) SHA1(3a378708697d727796c4f702dd5bbf1c9eb4daec) ) /* Plane 2,3 */ /* TC5332202 */
4049   ROM_LOAD16_BYTE( "087-c7.c7", 0x1800000, 0x100000, CRC(ae450e3d) SHA1(ec482632cc347ec3f9e68df0ebcaa16ebe41b9f9) ) /* Plane 0,1 */ /* TC538200 */
4050   ROM_LOAD16_BYTE( "087-c8.c8", 0x1800001, 0x100000, CRC(a9e82717) SHA1(e39ee15d5140dbe7f06eea945cce9984a5e8b06a) ) /* Plane 2,3 */ /* TC538200 */
4051ROM_END
4052
4053/****************************************
4054 ID-0088
4055 . NGM-088
4056 NEO-MVS PROGBK1 / NEO-MVS CHA42-3B
4057 . NGH-088
4058****************************************/
4059
4060ROM_START( stakwin )
4061   ROM_REGION( 0x200000, "maincpu", 0 )
4062   ROM_LOAD16_WORD_SWAP( "088-p1.p1", 0x100000, 0x100000, CRC(bd5814f6) SHA1(95179a4dee61ae88bb5d9fd74af0c56c8c29f5ea) ) /* TC5316200 */
4063   ROM_CONTINUE( 0x000000, 0x100000)
4064
4065   NEO_SFIX_128K( "088-s1.s1", CRC(073cb208) SHA1(c5b4697d767575884dd49ae416c1fe4a4a92d3f6) ) /* TC531000 */
4066
4067   NEO_BIOS_AUDIO_128K( "088-m1.m1", CRC(2fe1f499) SHA1(5b747eeef65be04423d2db05e086df9132758a47) ) /* TC531001 */
4068
4069   ROM_REGION( 0x200000, "ymsnd", 0 )
4070   ROM_LOAD( "088-v1.v1", 0x000000, 0x200000, CRC(b7785023) SHA1(d11df1e623434669cd3f97f0feda747b24dac05d) ) /* TC5316200 */
4071
4072   NO_DELTAT_REGION
4073
4074   ROM_REGION( 0x800000, "sprites", 0 )
4075   ROM_LOAD16_BYTE( "088-c1.c1", 0x000000, 0x200000, CRC(6e733421) SHA1(b67c5d2654a62cc4e44bd54d28e62c7da5eea424) ) /* Plane 0,1 */ /* TC5316200 */
4076   ROM_LOAD16_BYTE( "088-c2.c2", 0x000001, 0x200000, CRC(4d865347) SHA1(ad448cf96f3dce44c83412ed6878c495eb4a8a1e) ) /* Plane 2,3 */ /* TC5316200 */
4077   ROM_LOAD16_BYTE( "088-c3.c3", 0x400000, 0x200000, CRC(8fa5a9eb) SHA1(7bee19d8a2bccedd8e2cf0c0e9138902b9dafc23) ) /* Plane 0,1 */ /* TC5316200 */
4078   ROM_LOAD16_BYTE( "088-c4.c4", 0x400001, 0x200000, CRC(4604f0dc) SHA1(ddf5dbb5e07313998a8f695ad19354ea54585dd6) ) /* Plane 2,3 */ /* TC5316200 */
4079ROM_END
4080
4081/****************************************
4082 ID-0089
4083 . NGM-089
4084 NEO-MVS PROGBK1 / NEO-MVS CHA256
4085 . NGH-089
4086****************************************/
4087
4088ROM_START( pulstar )
4089   ROM_REGION( 0x300000, "maincpu", 0 )
4090   ROM_LOAD16_WORD_SWAP( "089-p1.p1",  0x000000, 0x100000, CRC(5e5847a2) SHA1(b864d0ec4184b785569ddbf67c2115b5ab86ee3e) ) /* mask rom TC538200 */
4091   ROM_LOAD16_WORD_SWAP( "089-p2.sp2", 0x100000, 0x200000, CRC(028b774c) SHA1(fc5da2821a5072f2b78245fc59b6e3eeef116d16) ) /* mask rom TC5316200 */
4092
4093   NEO_SFIX_128K( "089-s1.s1", CRC(c79fc2c8) SHA1(914c224fb3c461a68d7425cae724cf22bd5f985d) ) /* mask rom TC531000 */
4094
4095   NEO_BIOS_AUDIO_128K( "089-m1.m1", CRC(ff3df7c7) SHA1(59d2ef64f734f6026073b365300221909057a512) ) /* mask rom TC531001 */
4096
4097   ROM_REGION( 0x800000, "ymsnd", 0 )
4098   ROM_LOAD( "089-v1.v1", 0x000000, 0x400000, CRC(6f726ecb) SHA1(e8e2a46af690ce6c7ee64a58ab5010d22df9548c) ) /* mask rom TC5332204 */
4099   ROM_LOAD( "089-v2.v2", 0x400000, 0x400000, CRC(9d2db551) SHA1(83f7e5db7fb1502ceadcd334df90b11b1bba78e5) ) /* mask rom TC5332204 */
4100
4101   NO_DELTAT_REGION
4102
4103   ROM_REGION( 0x1c00000, "sprites", 0 )
4104   ROM_LOAD16_BYTE( "089-c1.c1", 0x0000000, 0x400000, CRC(f4e97332) SHA1(54693827a99836e7d61c45d495dd78bf3fcf1544) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4105   ROM_LOAD16_BYTE( "089-c2.c2", 0x0000001, 0x400000, CRC(836d14da) SHA1(99cc4f9b764503eff7849ff2977d90bb47c5564a) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4106   ROM_LOAD16_BYTE( "089-c3.c3", 0x0800000, 0x400000, CRC(913611c4) SHA1(9664eb1fe1e6f8c3ddeeff872d38ea920ed38a82) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4107   ROM_LOAD16_BYTE( "089-c4.c4", 0x0800001, 0x400000, CRC(44cef0e3) SHA1(34f6f348ba86a2a06cb9c43a16b97cf6ee6158ac) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4108   ROM_LOAD16_BYTE( "089-c5.c5", 0x1000000, 0x400000, CRC(89baa1d7) SHA1(976c745c44967de61e2a23227835be580b1d283a) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4109   ROM_LOAD16_BYTE( "089-c6.c6", 0x1000001, 0x400000, CRC(b2594d56) SHA1(685c0bf8ff76c76e41c2ceaebb96349634cfdb2e) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4110   ROM_LOAD16_BYTE( "089-c7.c7", 0x1800000, 0x200000, CRC(6a5618ca) SHA1(9a1d5f998b0dfabacf9dad45c94bef2bb43e5e0c) ) /* Plane 0,1 */ /* mask rom TC5316200 */
4111   ROM_LOAD16_BYTE( "089-c8.c8", 0x1800001, 0x200000, CRC(a223572d) SHA1(2791b1212f57937b2b2a95bc9e420c06d0c37669) ) /* Plane 2,3 */ /* mask rom TC5316200 */
4112ROM_END
4113
4114/****************************************
4115 ID-0090
4116 . ADM-009
4117 NEO-MVS PROGTOP / NEO-MVS CHA256
4118 . ADH-009
4119****************************************/
4120
4121ROM_START( whp )
4122   ROM_REGION( 0x200000, "maincpu", 0 )
4123   ROM_LOAD16_WORD_SWAP( "090-p1.p1", 0x100000, 0x100000, CRC(afaa4702) SHA1(83d122fddf17d4774353abf4a0655f3939f7b752) ) /* mask rom TC5316200 */
4124   ROM_CONTINUE( 0x000000, 0x100000 )
4125
4126   NEO_SFIX_128K( "090-s1.s1", CRC(174a880f) SHA1(c35d315d728d119a6e9aa42e0593937c90897449) ) /* mask rom TC531000 */
4127
4128   NEO_BIOS_AUDIO_128K( "090-m1.m1", CRC(28065668) SHA1(0c60d4afa1dccad0135e733104f056be73b54e4e) ) /* mask rom TC531001 */
4129
4130   ROM_REGION( 0x600000, "ymsnd", 0 )
4131   ROM_LOAD( "090-v1.v1", 0x000000, 0x200000, CRC(30cf2709) SHA1(d1845033f16de2470afd3858ee0efb45176d9ed7) ) /* mask rom TC5316200 */
4132   ROM_LOAD( "064-v2.v2", 0x200000, 0x200000, CRC(b6527edd) SHA1(2bcf5bfa6e117cf4a3728a5e5f5771313c93f22a) ) /* mask rom TC5316200 */
4133   ROM_LOAD( "090-v3.v3", 0x400000, 0x200000, CRC(1908a7ce) SHA1(78f31bcfea33eb94752bbf5226c481baec1af5ac) ) /* mask rom TC5316200 */
4134
4135   NO_DELTAT_REGION
4136
4137   ROM_REGION( 0x1c00000, "sprites", 0 )
4138   ROM_LOAD16_BYTE( "090-c1.c1", 0x0000000, 0x400000, CRC(cd30ed9b) SHA1(839c20f7ff31251acc875ae402b5d267e55510c7) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4139   ROM_LOAD16_BYTE( "090-c2.c2", 0x0000001, 0x400000, CRC(10eed5ee) SHA1(12131b1c8c017ea77a98c044b392a5db6aad0143) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4140   ROM_LOAD16_BYTE( "064-c3.c3", 0x0800000, 0x200000, CRC(436d1b31) SHA1(059776d77b91377ed0bcfc278802d659c917fc0f) ) /* Plane 0,1 */ /* mask rom TC5316200 */
4141   ROM_LOAD16_BYTE( "064-c4.c4", 0x0800001, 0x200000, CRC(f9c8dd26) SHA1(25a9eea1d49b21b4a988beb32c25bf2f7796f227) ) /* Plane 2,3 */ /* mask rom TC5316200 */
4142   /* 0c00000-0ffffff empty */
4143   ROM_LOAD16_BYTE( "064-c5.c5", 0x1000000, 0x200000, CRC(8e34a9f4) SHA1(67b839b426ef3fad0a85d951fdd44c0a45c55226) ) /* Plane 0,1 */ /* mask rom TC5316200 */
4144   ROM_LOAD16_BYTE( "064-c6.c6", 0x1000001, 0x200000, CRC(a43e4766) SHA1(54f282f2b1ff2934cca7acbb4386a2b99a29df3a) ) /* Plane 2,3 */ /* mask rom TC5316200 */
4145   /* 1400000-17fffff empty */
4146   ROM_LOAD16_BYTE( "064-c7.c7", 0x1800000, 0x200000, CRC(59d97215) SHA1(85a960dc7f364df13ee0c2f99a4c53aefb081486) ) /* Plane 0,1 */ /* mask rom TC5316200 */
4147   ROM_LOAD16_BYTE( "064-c8.c8", 0x1800001, 0x200000, CRC(fc092367) SHA1(69ff4ae909dd857de3ca8645d63f8b4bde117448) ) /* Plane 2,3 */ /* mask rom TC5316200 */
4148ROM_END
4149
4150/****************************************
4151 ID-0091
4152 unknown
4153****************************************/
4154
4155/****************************************
4156 ID-0092
4157 . NGM-092
4158 NEO-MVS PROGBK1 / NEO-MVS CHA256
4159 . NGH-092
4160****************************************/
4161
4162ROM_START( kabukikl )
4163   ROM_REGION( 0x200000, "maincpu", 0 )
4164   ROM_LOAD16_WORD_SWAP( "092-p1.p1", 0x100000, 0x100000, CRC(28ec9b77) SHA1(7cdc789a99f8127f437d68cbc41278c926be9efd) ) /* mask rom TC5316200 */
4165   ROM_CONTINUE( 0x000000, 0x100000 )
4166
4167   NEO_SFIX_128K( "092-s1.s1", CRC(a3d68ee2) SHA1(386f6110a16967a72fbf788f9d968fddcdcd2889) ) /* mask rom TC531000 */
4168
4169   NEO_BIOS_AUDIO_128K( "092-m1.m1", CRC(91957ef6) SHA1(7b6907532a0e02ceb643623cbd689cf228776ed1) ) /* mask rom TC531001 */
4170
4171   ROM_REGION( 0x700000, "ymsnd", 0 )
4172   ROM_LOAD( "092-v1.v1", 0x000000, 0x200000, CRC(69e90596) SHA1(1a2007d7784b3ce90d115980c3353862f1664d45) ) /* mask rom TC5316200 */
4173   ROM_LOAD( "092-v2.v2", 0x200000, 0x200000, CRC(7abdb75d) SHA1(0bff764889fe02f37877514c7fc450250839f632) ) /* mask rom TC5316200 */
4174   ROM_LOAD( "092-v3.v3", 0x400000, 0x200000, CRC(eccc98d3) SHA1(b0dfbdb1ea045cb961323ac6906ab342256c3dc7) ) /* mask rom TC5316200 */
4175   ROM_LOAD( "092-v4.v4", 0x600000, 0x100000, CRC(a7c9c949) SHA1(574bc55b45e81ce357b14f5992426115de25cd35) ) /* mask rom TC538200 */
4176
4177   NO_DELTAT_REGION
4178
4179   ROM_REGION( 0x1000000, "sprites", 0 )
4180   ROM_LOAD16_BYTE( "092-c1.c1", 0x000000, 0x400000, CRC(2a9fab01) SHA1(aa9f037df33ae0575b328734c76c0918ae1917e9) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4181   ROM_LOAD16_BYTE( "092-c2.c2", 0x000001, 0x400000, CRC(6d2bac02) SHA1(dfe96b62883333872be432e8af1ae617c9e62698) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4182   ROM_LOAD16_BYTE( "092-c3.c3", 0x800000, 0x400000, CRC(5da735d6) SHA1(f1c05a73794ece15576a0a30c81f4a44faac475a) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4183   ROM_LOAD16_BYTE( "092-c4.c4", 0x800001, 0x400000, CRC(de07f997) SHA1(c27a4d4bef868eed38dc152ff37d4135b16cc991) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4184ROM_END
4185
4186/****************************************
4187 ID-0093
4188 . ??M-093
4189 NEO-MVS PROGBK1 / NEO-MVS CHA256
4190****************************************/
4191
4192ROM_START( neobombe ) /* MVS ONLY RELEASE */
4193   ROM_REGION( 0x100000, "maincpu", 0 )
4194   ROM_LOAD16_WORD_SWAP( "093-p1.p1", 0x000000, 0x100000, CRC(a1a71d0d) SHA1(059284c84f61a825923d86d2f29c91baa2c439cd) ) /* TC538200 */
4195
4196   NEO_SFIX_128K( "093-s1.s1", CRC(4b3fa119) SHA1(41cb0909bfb017eb6f2c530cb92a423319ed7ab1) ) /* TC531000 */
4197
4198   NEO_BIOS_AUDIO_128K( "093-m1.m1", CRC(e81e780b) SHA1(c56c53984e0f92e180e850c60a75f550ee84917c) ) /* TC531001 */
4199
4200   ROM_REGION( 0x600000, "ymsnd", 0 )
4201   ROM_LOAD( "093-v1.v1", 0x000000, 0x400000, CRC(02abd4b0) SHA1(6bf33ebc9b01cd4a029f6a555694a9835e30ca1b) ) /* TC5332204 */
4202   ROM_LOAD( "093-v2.v2", 0x400000, 0x200000, CRC(a92b8b3d) SHA1(b672c97b85d2f52eba3cb26025008ebc7a18312a) ) /* TC5316200 */
4203
4204   NO_DELTAT_REGION
4205
4206   ROM_REGION( 0x900000, "sprites", 0 )
4207   ROM_LOAD16_BYTE( "093-c1.c1", 0x000000, 0x400000, CRC(d1f328f8) SHA1(ddf71280c2ce85225f15fe9e973f330609281878) ) /* Plane 0,1 */ /* TC5332205 */
4208   ROM_LOAD16_BYTE( "093-c2.c2", 0x000001, 0x400000, CRC(82c49540) SHA1(5f37c1bc0d63c98a13967b44da3d2c85e6dbbe50) ) /* Plane 2,3 */ /* TC5332205 */
4209   ROM_LOAD16_BYTE( "093-c3.c3", 0x800000, 0x080000, CRC(e37578c5) SHA1(20024caa0f09ee887a6418dd02d02a0df93786fd) ) /* Plane 0,1 */ /* TC534200 */
4210   ROM_LOAD16_BYTE( "093-c4.c4", 0x800001, 0x080000, CRC(59826783) SHA1(0110a2b6186cca95f75225d4d0269d61c2ad25b1) ) /* Plane 2,3 */ /* TC534200 */
4211ROM_END
4212
4213/****************************************
4214 ID-0094
4215 . NGM-094
4216 NEO-MVS PROGBK1 / NEO-MVS CHA42G-3B
4217 . NGH-094
4218****************************************/
4219
4220ROM_START( gowcaizr )
4221   ROM_REGION( 0x200000, "maincpu", 0 )
4222   ROM_LOAD16_WORD_SWAP( "094-p1.p1", 0x100000, 0x100000, CRC(33019545) SHA1(213db6c0b7d24b74b809854f9c606dbea1d9ba00) ) /* TC5316200 */
4223   ROM_CONTINUE( 0x000000, 0x100000 )
4224
4225   NEO_SFIX_128K( "094-s1.s1", CRC(2f8748a2) SHA1(5cc723c4284120473d63d8b0c1a3b3be74bdc324) ) /* TC531000 */
4226
4227   NEO_BIOS_AUDIO_128K( "094-m1.m1", CRC(78c851cb) SHA1(a9923c002e4e2171a564af45cff0958c5d57b275) ) /* TC531001 */
4228
4229   ROM_REGION( 0x500000, "ymsnd", 0 )
4230   ROM_LOAD( "094-v1.v1", 0x000000, 0x200000, CRC(6c31223c) SHA1(ede3a2806d7d872a0f737626a23ecce200b534e6) ) /* TC5316200 */
4231   ROM_LOAD( "094-v2.v2", 0x200000, 0x200000, CRC(8edb776c) SHA1(a9eac5e24f83ccdcf303d63261747b1bad876a24) ) /* TC5316200 */
4232   ROM_LOAD( "094-v3.v3", 0x400000, 0x100000, CRC(c63b9285) SHA1(6bbbacfe899e204e74657d6c3f3d05ce75e432f1) ) /* TC538200 */
4233
4234   NO_DELTAT_REGION
4235
4236   ROM_REGION( 0x1000000, "sprites", 0 )
4237   ROM_LOAD16_BYTE( "094-c1.c1", 0x000000, 0x200000, CRC(042f6af5) SHA1(1c50df6a1a53ffb3079ea0a19c746f5c9536a3ed) ) /* Plane 0,1 */ /* TC5316200 */
4238   ROM_LOAD16_BYTE( "094-c2.c2", 0x000001, 0x200000, CRC(0fbcd046) SHA1(9a6dc920a877f27424477c3478907b23afbaa5ea) ) /* Plane 2,3 */ /* TC5316200 */
4239   ROM_LOAD16_BYTE( "094-c3.c3", 0x400000, 0x200000, CRC(58bfbaa1) SHA1(4c6f9cf138c5e6dfe89a45e2a690a986c75f5bfc) ) /* Plane 0,1 */ /* TC5316200 */
4240   ROM_LOAD16_BYTE( "094-c4.c4", 0x400001, 0x200000, CRC(9451ee73) SHA1(7befee4a886b1d7493c06cefb7abf4ec01c14a8b) ) /* Plane 2,3 */ /* TC5316200 */
4241   ROM_LOAD16_BYTE( "094-c5.c5", 0x800000, 0x200000, CRC(ff9cf48c) SHA1(5f46fb5d0812275b0006919d8540f22be7c16492) ) /* Plane 0,1 */ /* TC5316200 */
4242   ROM_LOAD16_BYTE( "094-c6.c6", 0x800001, 0x200000, CRC(31bbd918) SHA1(7ff8c5e3f17d40e7a8a189ad8f8026de55368810) ) /* Plane 2,3 */ /* TC5316200 */
4243   ROM_LOAD16_BYTE( "094-c7.c7", 0xc00000, 0x200000, CRC(2091ec04) SHA1(a81d4bdbef1ac6ea49845dc30e31bf9745694100) ) /* Plane 0,1 */ /* TC5316200 */
4244   ROM_LOAD16_BYTE( "094-c8.c8", 0xc00001, 0x200000, CRC(d80dd241) SHA1(1356a64e4d4e271f62cd0d83f79ee9c906440810) ) /* Plane 2,3 */ /* TC5316200 */
4245ROM_END
4246
4247/****************************************
4248 ID-0095
4249 . NGM-095
4250 NEO-MVS PROGBK1 / NEO-MVS CHA256
4251 . NGH-095
4252 NEO-AEG PROGBK1Y / NEO-AEG CHA256RY
4253****************************************/
4254
4255ROM_START( rbff1 ) /* MVS AND AES VERSION */
4256   ROM_REGION( 0x300000, "maincpu", 0 )
4257   ROM_LOAD16_WORD_SWAP( "095-p1.p1",  0x000000, 0x100000, CRC(63b4d8ae) SHA1(03aa9f6bab6aee685d1b57a52823797704eea845) ) /* TC538200 */
4258   ROM_LOAD16_WORD_SWAP( "095-p2.sp2", 0x100000, 0x200000, CRC(cc15826e) SHA1(44d6ac6c0ca697a6f367dcfd809b1e1771cb0635) ) /* TC5316200 */
4259
4260   NEO_SFIX_128K( "095-s1.s1", CRC(b6bf5e08) SHA1(b527355c35ea097f3448676f2ffa65b8e56ae30c) ) /* TC531000 */
4261
4262   NEO_BIOS_AUDIO_128K( "095-m1.m1", CRC(653492a7) SHA1(39e511fb9ed5d2135dc8428a31d0baafb2ab36e0) ) /* TC531001 */
4263
4264   ROM_REGION( 0xc00000, "ymsnd", 0 )
4265   ROM_LOAD( "069-v1.v1", 0x000000, 0x400000, CRC(2bdbd4db) SHA1(5f4fecf69c2329d699cbd45829c19303b1e2a80e) ) /* TC5332204 */
4266   ROM_LOAD( "069-v2.v2", 0x400000, 0x400000, CRC(a698a487) SHA1(11b8bc53bc26a51f4a408e900e3769958625c4ed) ) /* TC5332204 */
4267   ROM_LOAD( "095-v3.v3", 0x800000, 0x400000, CRC(189d1c6c) SHA1(f0b8cd1ee40ea3feeb2800f0723b451ec8240203) ) /* TC5332201 */
4268
4269   NO_DELTAT_REGION
4270
4271   ROM_REGION( 0x1c00000, "sprites", 0 )
4272   ROM_LOAD16_BYTE( "069-c1.c1", 0x0000000, 0x400000, CRC(e302f93c) SHA1(d8610b14900b2b8fe691b67ca9b1abb335dbff74) ) /* Plane 0,1 */ /* TC5332205 */
4273   ROM_LOAD16_BYTE( "069-c2.c2", 0x0000001, 0x400000, CRC(1053a455) SHA1(69501bfac68739e63d798045b812badd251d57b8) ) /* Plane 2,3 */ /* TC5332205 */
4274   ROM_LOAD16_BYTE( "069-c3.c3", 0x0800000, 0x400000, CRC(1c0fde2f) SHA1(cf6c2ef56c03a861de3b0b6dc0d7c9204d947f9d) ) /* Plane 0,1 */ /* TC5332205 */
4275   ROM_LOAD16_BYTE( "069-c4.c4", 0x0800001, 0x400000, CRC(a25fc3d0) SHA1(83cb349e2f1032652060b233e741fb893be5af16) ) /* Plane 2,3 */ /* TC5332205 */
4276   ROM_LOAD16_BYTE( "095-c5.c5", 0x1000000, 0x400000, CRC(8b9b65df) SHA1(e2a7e20855501f240bcd22f5cc92fcb4a9806abe) ) /* Plane 0,1 */ /* TC5332202 */
4277   ROM_LOAD16_BYTE( "095-c6.c6", 0x1000001, 0x400000, CRC(3e164718) SHA1(53217f938c8964c1ca68a6fd5249c4169a5ac8e6) ) /* Plane 2,3 */ /* TC5332202 */
4278   ROM_LOAD16_BYTE( "095-c7.c7", 0x1800000, 0x200000, CRC(ca605e12) SHA1(5150b835247fd705bc1dece97d423d9c20a51416) ) /* Plane 0,1 */ /* TC5316200 */
4279   ROM_LOAD16_BYTE( "095-c8.c8", 0x1800001, 0x200000, CRC(4e6beb6c) SHA1(c0ac7cfc832ace6ad52c58f5da3a8101baead749) ) /* Plane 2,3 */ /* TC5316200 */
4280ROM_END
4281
4282ROM_START( rbff1a ) /* MVS VERSION */
4283   /* This is a bug fixed revision applied over the original cart. The original P1 and P2 stayed in the cart and this */
4284   /* 512k ROM was added to replace the first 512k of P1. */
4285   ROM_REGION( 0x300000, "maincpu", 0 )
4286   ROM_LOAD16_WORD_SWAP( "095-p1.p1",  0x000000, 0x100000, CRC(63b4d8ae) SHA1(03aa9f6bab6aee685d1b57a52823797704eea845) ) /* TC538200 */
4287   ROM_LOAD16_WORD_SWAP( "095-p2.sp2", 0x100000, 0x200000, CRC(cc15826e) SHA1(44d6ac6c0ca697a6f367dcfd809b1e1771cb0635) ) /* TC5316200 */
4288   /* the rom below acts as a patch to the program rom in the cart, replacing the first 512kb */
4289   ROM_LOAD16_WORD_SWAP( "095-epr.ep1", 0x000000, 0x080000, CRC(be0060a3) SHA1(fa741d34898ad5004a23e280139d1446f1a082c7) ) /* M27C4002 */
4290   /* P is on eprom, correct chip label unknown */
4291
4292   NEO_SFIX_128K( "095-s1.s1", CRC(b6bf5e08) SHA1(b527355c35ea097f3448676f2ffa65b8e56ae30c) ) /* TC531000 */
4293
4294   NEO_BIOS_AUDIO_128K( "095-m1.m1", CRC(653492a7) SHA1(39e511fb9ed5d2135dc8428a31d0baafb2ab36e0) ) /* TC531001 */
4295
4296   ROM_REGION( 0xc00000, "ymsnd", 0 )
4297   ROM_LOAD( "069-v1.v1", 0x000000, 0x400000, CRC(2bdbd4db) SHA1(5f4fecf69c2329d699cbd45829c19303b1e2a80e) ) /* TC5332204 */
4298   ROM_LOAD( "069-v2.v2", 0x400000, 0x400000, CRC(a698a487) SHA1(11b8bc53bc26a51f4a408e900e3769958625c4ed) ) /* TC5332204 */
4299   ROM_LOAD( "095-v3.v3", 0x800000, 0x400000, CRC(189d1c6c) SHA1(f0b8cd1ee40ea3feeb2800f0723b451ec8240203) ) /* TC5332201 */
4300
4301   NO_DELTAT_REGION
4302
4303   ROM_REGION( 0x1c00000, "sprites", 0 )
4304   ROM_LOAD16_BYTE( "069-c1.c1", 0x0000000, 0x400000, CRC(e302f93c) SHA1(d8610b14900b2b8fe691b67ca9b1abb335dbff74) ) /* Plane 0,1 */ /* TC5332205 */
4305   ROM_LOAD16_BYTE( "069-c2.c2", 0x0000001, 0x400000, CRC(1053a455) SHA1(69501bfac68739e63d798045b812badd251d57b8) ) /* Plane 2,3 */ /* TC5332205 */
4306   ROM_LOAD16_BYTE( "069-c3.c3", 0x0800000, 0x400000, CRC(1c0fde2f) SHA1(cf6c2ef56c03a861de3b0b6dc0d7c9204d947f9d) ) /* Plane 0,1 */ /* TC5332205 */
4307   ROM_LOAD16_BYTE( "069-c4.c4", 0x0800001, 0x400000, CRC(a25fc3d0) SHA1(83cb349e2f1032652060b233e741fb893be5af16) ) /* Plane 2,3 */ /* TC5332205 */
4308   ROM_LOAD16_BYTE( "095-c5.c5", 0x1000000, 0x400000, CRC(8b9b65df) SHA1(e2a7e20855501f240bcd22f5cc92fcb4a9806abe) ) /* Plane 0,1 */ /* TC5332202 */
4309   ROM_LOAD16_BYTE( "095-c6.c6", 0x1000001, 0x400000, CRC(3e164718) SHA1(53217f938c8964c1ca68a6fd5249c4169a5ac8e6) ) /* Plane 2,3 */ /* TC5332202 */
4310   ROM_LOAD16_BYTE( "095-c7.c7", 0x1800000, 0x200000, CRC(ca605e12) SHA1(5150b835247fd705bc1dece97d423d9c20a51416) ) /* Plane 0,1 */ /* TC5316200 */
4311   ROM_LOAD16_BYTE( "095-c8.c8", 0x1800001, 0x200000, CRC(4e6beb6c) SHA1(c0ac7cfc832ace6ad52c58f5da3a8101baead749) ) /* Plane 2,3 */ /* TC5316200 */
4312ROM_END
4313
4314/****************************************
4315 ID-0096
4316 . NGM-096
4317 NEO-MVS PROGBK1 / NEO-MVS CHA256
4318 . NGH-096
4319****************************************/
4320
4321ROM_START( aof3 )
4322   ROM_REGION( 0x300000, "maincpu", 0 )
4323   ROM_LOAD16_WORD_SWAP( "096-p1.p1",  0x000000, 0x100000, CRC(9edb420d) SHA1(150d80707325ece351c72c21c6186cfb5996adba) ) /* TC538200 */
4324   ROM_LOAD16_WORD_SWAP( "096-p2.sp2", 0x100000, 0x200000, CRC(4d5a2602) SHA1(4c26d6135d2877d9c38169662033e9d0cc24d943) ) /* TC5316200 */
4325
4326   NEO_SFIX_128K( "096-s1.s1", CRC(cc7fd344) SHA1(2c6846cf8ea61fb192ba181dbccb63594d572c0e) ) /* TC531000 */
4327
4328   NEO_BIOS_AUDIO_128K( "096-m1.m1", CRC(cb07b659) SHA1(940b379957c2987d7ab0443cb80c3ff58f6ba559) ) /* TC531001 */
4329
4330   ROM_REGION( 0x600000, "ymsnd", 0 )
4331   ROM_LOAD( "096-v1.v1", 0x000000, 0x200000, CRC(e2c32074) SHA1(69426e7e63fc31a73d1cd056cc9ae6a2c4499407) ) /* TC5316200 */
4332   ROM_LOAD( "096-v2.v2", 0x200000, 0x200000, CRC(a290eee7) SHA1(e66a98cd9740188bf999992b417f8feef941cede) ) /* TC5316200 */
4333   ROM_LOAD( "096-v3.v3", 0x400000, 0x200000, CRC(199d12ea) SHA1(a883bf34e685487705a8dafdd0b8db15eb360e80) ) /* TC5316200 */
4334
4335   NO_DELTAT_REGION
4336
4337   ROM_REGION( 0x1c00000, "sprites", 0 )
4338   ROM_LOAD16_BYTE( "096-c1.c1", 0x0000000, 0x400000, CRC(f17b8d89) SHA1(7180df23f7c7a964b0835fda76970b12f0aa9ea8) ) /* Plane 0,1 */ /* TC5332205 */
4339   ROM_LOAD16_BYTE( "096-c2.c2", 0x0000001, 0x400000, CRC(3840c508) SHA1(55adc7cd26fec3e4dbd779df6701bc6eaba41b84) ) /* Plane 2,3 */ /* TC5332205 */
4340   ROM_LOAD16_BYTE( "096-c3.c3", 0x0800000, 0x400000, CRC(55f9ee1e) SHA1(fbe1b7891beae66c5fcbc7e36168dc1b460ede91) ) /* Plane 0,1 */ /* TC5332205 */
4341   ROM_LOAD16_BYTE( "096-c4.c4", 0x0800001, 0x400000, CRC(585b7e47) SHA1(d50ea91397fc53d86470ff5b493a44d57c010306) ) /* Plane 2,3 */ /* TC5332205 */
4342   ROM_LOAD16_BYTE( "096-c5.c5", 0x1000000, 0x400000, CRC(c75a753c) SHA1(fc977f8710816a369a5d0d49ee84059380e93fb7) ) /* Plane 0,1 */ /* TC5332205 */
4343   ROM_LOAD16_BYTE( "096-c6.c6", 0x1000001, 0x400000, CRC(9a9d2f7a) SHA1(a89a713bfcd93974c9acb21ce699d365b08e7e39) ) /* Plane 2,3 */ /* TC5332205 */
4344   ROM_LOAD16_BYTE( "096-c7.c7", 0x1800000, 0x200000, CRC(51bd8ab2) SHA1(c8def9c64de64571492b5b7e14b794e3c18f1393) ) /* Plane 0,1 */ /* TC5316200 */
4345   ROM_LOAD16_BYTE( "096-c8.c8", 0x1800001, 0x200000, CRC(9a34f99c) SHA1(fca72d95ec42790a7f1e771a1e25dbc5bec5fc19) ) /* Plane 2,3 */ /* TC5316200 */
4346ROM_END
4347
4348ROM_START( aof3k ) /* KOREAN VERSION */
4349   ROM_REGION( 0x300000, "maincpu", 0 )
4350   ROM_LOAD16_WORD_SWAP( "196-p1k.p1", 0x000000, 0x100000, CRC(a0780789) SHA1(83657922a9a3502653ef8cda45b15d9f935aa96a) )
4351   ROM_LOAD16_WORD_SWAP( "096-p2.sp2", 0x100000, 0x200000, CRC(4d5a2602) SHA1(4c26d6135d2877d9c38169662033e9d0cc24d943) ) /* TC5316200 */
4352
4353   NEO_SFIX_128K( "096-s1.s1", CRC(cc7fd344) SHA1(2c6846cf8ea61fb192ba181dbccb63594d572c0e) ) /* TC531000 */
4354
4355   NEO_BIOS_AUDIO_128K( "096-m1.m1", CRC(cb07b659) SHA1(940b379957c2987d7ab0443cb80c3ff58f6ba559) ) /* TC531001 */
4356
4357   ROM_REGION( 0x600000, "ymsnd", 0 )
4358   ROM_LOAD( "096-v1.v1", 0x000000, 0x200000, CRC(e2c32074) SHA1(69426e7e63fc31a73d1cd056cc9ae6a2c4499407) ) /* TC5316200 */
4359   ROM_LOAD( "096-v2.v2", 0x200000, 0x200000, CRC(a290eee7) SHA1(e66a98cd9740188bf999992b417f8feef941cede) ) /* TC5316200 */
4360   ROM_LOAD( "096-v3.v3", 0x400000, 0x200000, CRC(199d12ea) SHA1(a883bf34e685487705a8dafdd0b8db15eb360e80) ) /* TC5316200 */
4361
4362   NO_DELTAT_REGION
4363
4364   ROM_REGION( 0x1c00000, "sprites", 0 )
4365   ROM_LOAD16_BYTE( "096-c1.c1", 0x0000000, 0x400000, CRC(f17b8d89) SHA1(7180df23f7c7a964b0835fda76970b12f0aa9ea8) ) /* Plane 0,1 */ /* TC5332205 */
4366   ROM_LOAD16_BYTE( "096-c2.c2", 0x0000001, 0x400000, CRC(3840c508) SHA1(55adc7cd26fec3e4dbd779df6701bc6eaba41b84) ) /* Plane 2,3 */ /* TC5332205 */
4367   ROM_LOAD16_BYTE( "096-c3.c3", 0x0800000, 0x400000, CRC(55f9ee1e) SHA1(fbe1b7891beae66c5fcbc7e36168dc1b460ede91) ) /* Plane 0,1 */ /* TC5332205 */
4368   ROM_LOAD16_BYTE( "096-c4.c4", 0x0800001, 0x400000, CRC(585b7e47) SHA1(d50ea91397fc53d86470ff5b493a44d57c010306) ) /* Plane 2,3 */ /* TC5332205 */
4369   ROM_LOAD16_BYTE( "096-c5.c5", 0x1000000, 0x400000, CRC(c75a753c) SHA1(fc977f8710816a369a5d0d49ee84059380e93fb7) ) /* Plane 0,1 */ /* TC5332205 */
4370   ROM_LOAD16_BYTE( "096-c6.c6", 0x1000001, 0x400000, CRC(9a9d2f7a) SHA1(a89a713bfcd93974c9acb21ce699d365b08e7e39) ) /* Plane 2,3 */ /* TC5332205 */
4371   ROM_LOAD16_BYTE( "096-c7.c7", 0x1800000, 0x200000, CRC(51bd8ab2) SHA1(c8def9c64de64571492b5b7e14b794e3c18f1393) ) /* Plane 0,1 */ /* TC5316200 */
4372   ROM_LOAD16_BYTE( "096-c8.c8", 0x1800001, 0x200000, CRC(9a34f99c) SHA1(fca72d95ec42790a7f1e771a1e25dbc5bec5fc19) ) /* Plane 2,3 */ /* TC5316200 */
4373ROM_END
4374
4375/****************************************
4376 ID-0097
4377 . NGM-097
4378 NEO-MVS PROGBK1 / NEO-MVS CHA256
4379 . NGH-097
4380****************************************/
4381
4382ROM_START( sonicwi3 )
4383   ROM_REGION( 0x200000, "maincpu", 0 )
4384   ROM_LOAD16_WORD_SWAP( "097-p1.p1", 0x100000, 0x100000, CRC(0547121d) SHA1(e0bb6c614f572b74ba9a9f0d3d5b69fbc91ebc52) ) /* TC5316200 */
4385   ROM_CONTINUE( 0x000000, 0x100000 )
4386
4387   NEO_SFIX_128K( "097-s1.s1", CRC(8dd66743) SHA1(39214bb25a1d5b44a8524010be05bf5a0211981f) ) /* TC531000 */
4388
4389   NEO_BIOS_AUDIO_128K( "097-m1.m1", CRC(b20e4291) SHA1(0e891ab53f9fded510295dfc7818bc59b4a9dd97) ) /* TC531001 */
4390
4391   ROM_REGION( 0x600000, "ymsnd", 0 )
4392   ROM_LOAD( "097-v1.v1", 0x000000, 0x400000, CRC(6f885152) SHA1(8175804d5c1420c5d37b733d4a8fa2aa81e59f1b) ) /* TC5332201 */
4393   ROM_LOAD( "097-v2.v2", 0x400000, 0x200000, CRC(3359e868) SHA1(b7efd9f1a6dab33271fe8356bcc863aeae1d3ed8) ) /* TC5316200 */
4394
4395   NO_DELTAT_REGION
4396
4397   ROM_REGION( 0xc00000, "sprites", 0 )
4398   ROM_LOAD16_BYTE( "097-c1.c1", 0x000000, 0x400000, CRC(33d0d589) SHA1(fe4aa95555e478ceb2d28fd27d83ee06cd09520c) ) /* Plane 0,1 */ /* TC5332202 */
4399   ROM_LOAD16_BYTE( "097-c2.c2", 0x000001, 0x400000, CRC(186f8b43) SHA1(f5cced93e21dc841b00ebeaa30786cb0e047bd9a) ) /* Plane 2,3 */ /* TC5332202 */
4400   ROM_LOAD16_BYTE( "097-c3.c3", 0x800000, 0x200000, CRC(c339fff5) SHA1(58dfd1e30dc0ad3f816a5dbd1cc7e7ccbb792c53) ) /* Plane 0,1 */ /* TC5316200 */
4401   ROM_LOAD16_BYTE( "097-c4.c4", 0x800001, 0x200000, CRC(84a40c6e) SHA1(061a13fba5fed883e5ee9566cedc208df2511bcf) ) /* Plane 2,3 */ /* TC5316200 */
4402ROM_END
4403
4404/****************************************
4405 ID-0098
4406 Idol Mahjong - final romance 2 (CD only? not confirmed, MVS might exist)
4407****************************************/
4408
4409/****************************************
4410 ID-0099
4411 Neo Pool Masters
4412****************************************/
4413
4414
4415/* ID range from 100 - 199 is used for Korean (some) and Neo Print carts */
4416
4417/*
4418    The following ID's are used by Korean releases:
4419
4420    ID-0122 - Pae Wang Jeon Seol / Legend of a Warrior (Korean censored Samurai Shodown IV)
4421    ID-0123 - Quiz Daisousa Sen - The Last Count Down (Korean release)
4422    ID-0124 - Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special (Korean release)
4423    ID-0134 - The Last Soldier (Korean release of The Last Blade)
4424    ID-0140 - Real Bout Fatal Fury 2 - The Newcomers (Korean release)
4425    ID-0152 - The King of Fighters '99 - Millennium Battle (Korean release)
4426    ID-0163 - Saulabi Spirits / Jin Saulabi Tu Hon (Korean release of Samurai Shodown II)
4427    ID-0187 - Fighters Swords (Korean release of Samurai Shodown III)
4428    ID-0196 - Art of Fighting 3 - The Path of the Warrior (Korean release)
4429*/
4430
4431
4432/****************************************
4433 ID-0200
4434 . NGM-200
4435 NEO-MVS PROGBK1 / NEO-MVS CHA256B
4436 . NGH-200
4437****************************************/
4438
4439ROM_START( turfmast )
4440   ROM_REGION( 0x200000, "maincpu", 0 )
4441   ROM_LOAD16_WORD_SWAP( "200-p1.p1", 0x100000, 0x100000, CRC(28c83048) SHA1(e7ef87e1de21d2bb17ef17bb08657e92363f0e9a) ) /* mask rom TC5316200 */
4442   ROM_CONTINUE( 0x000000, 0x100000)
4443
4444   NEO_SFIX_128K( "200-s1.s1", CRC(9a5402b2) SHA1(ae1a0b5450869d61b2bb23671c744d3dda8769c4) ) /* mask rom TC531000 */
4445
4446   NEO_BIOS_AUDIO_128K( "200-m1.m1", CRC(9994ac00) SHA1(7bded797f3b80fd00bcbe451ac0abe6646b19a14) ) /* mask rom TC531001 */
4447
4448   ROM_REGION( 0x800000, "ymsnd", 0 )
4449   ROM_LOAD( "200-v1.v1", 0x000000, 0x200000, CRC(00fd48d2) SHA1(ddfee09328632e598fd51537b3ae8593219b2111) ) /* mask rom TC5316200 */
4450   ROM_LOAD( "200-v2.v2", 0x200000, 0x200000, CRC(082acb31) SHA1(2f1c053040e9d50a6d45fd7bea1b96742bae694f) ) /* mask rom TC5316200 */
4451   ROM_LOAD( "200-v3.v3", 0x400000, 0x200000, CRC(7abca053) SHA1(e229bc0ea82a371d6ee8fd9fe442b0fd141d0a71) ) /* mask rom TC5316200 */
4452   ROM_LOAD( "200-v4.v4", 0x600000, 0x200000, CRC(6c7b4902) SHA1(d55e0f542d928a9a851133ff26763c8236cbbd4d) ) /* mask rom TC5316200 */
4453
4454   NO_DELTAT_REGION
4455
4456   ROM_REGION( 0x800000, "sprites", 0 )
4457   ROM_LOAD16_BYTE( "200-c1.c1", 0x000000, 0x400000, CRC(8e7bf41a) SHA1(148eb747f2f4d8e921eb0411c88a636022ceab80) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4458   ROM_LOAD16_BYTE( "200-c2.c2", 0x000001, 0x400000, CRC(5a65a8ce) SHA1(d6c7afe035411f3eacdf6868d36f91572dd593e0) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4459ROM_END
4460
4461/****************************************
4462 ID-0201
4463 . NGM-201
4464 NEO-MVS PROGBK1 / NEO-MVS CHA256
4465 . NGH-201
4466****************************************/
4467
4468ROM_START( mslug )
4469   ROM_REGION( 0x200000, "maincpu", 0 )
4470   ROM_LOAD16_WORD_SWAP( "201-p1.p1", 0x100000, 0x100000, CRC(08d8daa5) SHA1(b888993dbb7e9f0a28a01d7d2e1da00ef9cf6f38) ) /* TC5316200 */
4471   ROM_CONTINUE( 0x000000, 0x100000 )
4472
4473   NEO_SFIX_128K( "201-s1.s1", CRC(2f55958d) SHA1(550b53628daec9f1e1e11a398854092d90f9505a) ) /* TC531000 */
4474
4475   NEO_BIOS_AUDIO_128K( "201-m1.m1", CRC(c28b3253) SHA1(fd75bd15aed30266a8b3775f276f997af57d1c06) ) /* TC531001 */
4476
4477   ROM_REGION( 0x800000, "ymsnd", 0 )
4478   ROM_LOAD( "201-v1.v1", 0x000000, 0x400000, CRC(23d22ed1) SHA1(cd076928468ad6bcc5f19f88cb843ecb5e660681) ) /* TC5332204 */
4479   ROM_LOAD( "201-v2.v2", 0x400000, 0x400000, CRC(472cf9db) SHA1(5f79ea9286d22ed208128f9c31ca75552ce08b57) ) /* TC5332204 */
4480
4481   NO_DELTAT_REGION
4482
4483   ROM_REGION( 0x1000000, "sprites", 0 )
4484   ROM_LOAD16_BYTE( "201-c1.c1", 0x000000, 0x400000, CRC(72813676) SHA1(7b045d1a48980cb1a140699011cb1a3d4acdc4d1) ) /* Plane 0,1 */ /* TC5332205 */
4485   ROM_LOAD16_BYTE( "201-c2.c2", 0x000001, 0x400000, CRC(96f62574) SHA1(cb7254b885989223bba597b8ff0972dfa5957816) ) /* Plane 2,3 */ /* TC5332205 */
4486   ROM_LOAD16_BYTE( "201-c3.c3", 0x800000, 0x400000, CRC(5121456a) SHA1(0a7a27d603d1bb2520b5570ebf5b34a106e255a6) ) /* Plane 0,1 */ /* TC5332205 */
4487   ROM_LOAD16_BYTE( "201-c4.c4", 0x800001, 0x400000, CRC(f4ad59a3) SHA1(4e94fda8ee63abf0f92afe08060a488546e5c280) ) /* Plane 2,3 */ /* TC5332205 */
4488ROM_END
4489
4490/****************************************
4491 ID-0202
4492 . ??M-202
4493 NEO-MVS PROG 4096 / NEO-MVS CHA 42G-2
4494****************************************/
4495
4496ROM_START( puzzledp ) /* MVS ONLY RELEASE */
4497   ROM_REGION( 0x100000, "maincpu", 0 )
4498   ROM_LOAD16_WORD_SWAP( "202-p1.p1", 0x000000, 0x080000, CRC(2b61415b) SHA1(0e3e4faf2fd6e63407425e1ac788003e75aeeb4f) ) /* TC534200 */
4499
4500   NEO_SFIX_128K( "202-s1.s1", CRC(cd19264f) SHA1(531be2305cd56d332fb7a53ab924214ade34a9e8) ) /* TC531000 */
4501
4502   NEO_BIOS_AUDIO_128K( "202-m1.m1", CRC(9c0291ea) SHA1(3fa67c62acba79be6b3a98cc1601e45569fa11ae) ) /* TC531001 */
4503
4504   ROM_REGION( 0x080000, "ymsnd", 0 )
4505   ROM_LOAD( "202-v1.v1", 0x000000, 0x080000, CRC(debeb8fb) SHA1(49a3d3578c087f1a0050168571ef8d1b08c5dc05) ) /* TC534200 */
4506
4507   NO_DELTAT_REGION
4508
4509   ROM_REGION( 0x200000, "sprites", 0 )
4510   ROM_LOAD16_BYTE( "202-c1.c1", 0x000000, 0x100000, CRC(cc0095ef) SHA1(3d86f455e6db10a2449b775dc386f1826ba3b62e) ) /* Plane 0,1 */ /* TC538200 */
4511   ROM_LOAD16_BYTE( "202-c2.c2", 0x000001, 0x100000, CRC(42371307) SHA1(df794f989e2883634bf7ffeea48d6bc3854529af) ) /* Plane 2,3 */ /* TC538200 */
4512ROM_END
4513
4514/****************************************
4515 ID-0203
4516 . ADM-010
4517 NEO-MVS PROGTOP / NEO-MVS CHA42G-3B
4518 . ADH-010
4519****************************************/
4520
4521ROM_START( mosyougi )
4522   ROM_REGION( 0x100000, "maincpu", 0 )
4523   ROM_LOAD16_WORD_SWAP( "203-p1.p1", 0x000000, 0x100000, CRC(7ba70e2d) SHA1(945f472cc3e7706f613c52df18de35c986d166e7) ) /* TC538200 */
4524
4525   NEO_SFIX_128K( "203-s1.s1", CRC(bfdc8309) SHA1(781337eab932a130b396a6c1080611d6f9c24c6e) ) /* TC531000 */
4526
4527   NEO_BIOS_AUDIO_128K( "203-m1.m1", CRC(a602c2c2) SHA1(19fd5d0379244c528b58343f6cbf78b4766fb23d) ) /* TC531001 */
4528
4529   ROM_REGION( 0x200000, "ymsnd", 0 )
4530   ROM_LOAD( "203-v1.v1", 0x000000, 0x200000, CRC(baa2b9a5) SHA1(914782b6c81d9a76ce02251575592b0648434ba3) ) /* TC5316200 */
4531
4532   NO_DELTAT_REGION
4533
4534   ROM_REGION( 0x400000, "sprites", 0 )
4535   ROM_LOAD16_BYTE( "203-c1.c1", 0x000000, 0x200000, CRC(bba9e8c0) SHA1(db89b7275a59ae6104a8308025c7e142a67b947b) ) /* Plane 0,1 */ /* TC5316200 */
4536   ROM_LOAD16_BYTE( "203-c2.c2", 0x000001, 0x200000, CRC(2574be03) SHA1(198cfd697c623022919ae4118928a7fe30cd6c46) ) /* Plane 2,3 */ /* TC5316200 */
4537ROM_END
4538
4539/****************************************
4540 ID-0204
4541 QP (prototype)
4542****************************************/
4543
4544/****************************************
4545 ID-0205
4546 Neo-Geo CD Special (CD only)
4547****************************************/
4548
4549/****************************************
4550 ID-0206
4551 . ??M-206
4552 NEO-MVS PROGBK1 / NEO-MVS CHA256
4553 . ??H-206
4554****************************************/
4555
4556ROM_START( marukodq )
4557   ROM_REGION( 0x100000, "maincpu", 0 )
4558   ROM_LOAD16_WORD_SWAP( "206-p1.p1", 0x000000, 0x100000, CRC(c33ed21e) SHA1(bffff0d17e587e67672227e60c0ebd3f3a7193e6) ) /* mask rom TC538200 */
4559
4560   NEO_SFIX_128K( "206-s1.s1", CRC(f0b68780) SHA1(3f60950b14d121a5af3e6a8155ae9832ddc6ec46) ) /* mask rom TC531000 */
4561
4562   NEO_BIOS_AUDIO_128K( "206-m1.m1", CRC(0e22902e) SHA1(fb8466c342d4abd8bb4cad01c6ceab03f96cdad8) ) /* mask rom TC531001 */
4563
4564   ROM_REGION( 0x400000, "ymsnd", 0 )
4565   ROM_LOAD( "206-v1.v1", 0x000000, 0x200000, CRC(5385eca8) SHA1(1ca171ce74a5885ae8841d0924de21dc0af2214e) ) /* mask rom TC5316200 */
4566   ROM_LOAD( "206-v2.v2", 0x200000, 0x200000, CRC(f8c55404) SHA1(cecc41e9e08a7ff05b6f62e713fc86a816bf55a2) ) /* mask rom TC5316200 */
4567
4568   NO_DELTAT_REGION
4569
4570   ROM_REGION( 0xa00000, "sprites", 0 )
4571   ROM_LOAD16_BYTE( "206-c1.c1", 0x000000, 0x400000, CRC(846e4e8e) SHA1(ba9b96340aca7fadaff0e6d484391ddb5c5e7bd4) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4572   ROM_LOAD16_BYTE( "206-c2.c2", 0x000001, 0x400000, CRC(1cba876d) SHA1(3254ceb5a2f76c172930d9889d5d81e093e87628) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4573   ROM_LOAD16_BYTE( "206-c3.c3", 0x800000, 0x100000, CRC(79aa2b48) SHA1(31f94217cd35f48845c74a55256314c16fd26ed7) ) /* Plane 0,1 */ /* mask rom TC538200 */
4574   ROM_LOAD16_BYTE( "206-c4.c4", 0x800001, 0x100000, CRC(55e1314d) SHA1(fffbc9eb9000ff5b1063af1817de7ea4a267fedd) ) /* Plane 2,3 */ /* mask rom TC538200 */
4575ROM_END
4576
4577/****************************************
4578 ID-0207
4579 . ??M-207
4580 NEO-MVS PROGBK1 / NEO-MVS CHA42G-3B
4581****************************************/
4582
4583ROM_START( neomrdo ) /* MVS ONLY RELEASE */
4584   ROM_REGION( 0x100000, "maincpu", 0 )
4585   ROM_LOAD16_WORD_SWAP( "207-p1.p1", 0x000000, 0x100000, CRC(334ea51e) SHA1(0a642f8565ec6e9587ed767bcf177f4677547162) ) /* TC538200 */
4586
4587   NEO_SFIX_128K( "207-s1.s1", CRC(6aebafce) SHA1(5db03715fbed62f2ff3cef7f93606f30261c0362) ) /* TC531000 */
4588
4589   NEO_BIOS_AUDIO_128K( "207-m1.m1", CRC(b5b74a95) SHA1(7b01f3b87c247cc7472591f8cdcf0ae8065e31c6) ) /* TC531001 */
4590
4591   ROM_REGION( 0x200000, "ymsnd", 0 )
4592   ROM_LOAD( "207-v1.v1", 0x000000, 0x200000, CRC(4143c052) SHA1(561b19bc8811b80f2f42ffc0b5df27132696470a) ) /* TC5316200 */
4593
4594   NO_DELTAT_REGION
4595
4596   ROM_REGION( 0x400000, "sprites", 0 )
4597   ROM_LOAD16_BYTE( "207-c1.c1", 0x000000, 0x200000, CRC(c7541b9d) SHA1(25ca1a2b14cc2648d8dbe432cbd1396017af822c) ) /* Plane 0,1 */ /* TC5316200 */
4598   ROM_LOAD16_BYTE( "207-c2.c2", 0x000001, 0x200000, CRC(f57166d2) SHA1(bf3aa47d17156485c2177fb63cba093f050abb98) ) /* Plane 2,3 */ /* TC5316200 */
4599ROM_END
4600
4601/****************************************
4602 ID-0208
4603 . ??M-208
4604 NEO-MVS PROGBK1 / NEO-MVS CHA256B
4605****************************************/
4606
4607ROM_START( sdodgeb ) /* MVS ONLY RELEASE */
4608   ROM_REGION( 0x200000, "maincpu", 0 )
4609   ROM_LOAD16_WORD_SWAP( "208-p1.p1", 0x100000, 0x100000, CRC(127f3d32) SHA1(18e77b79b1197a89371533ef9b1e4d682c44d875) ) /* TC5316200 */
4610   ROM_CONTINUE( 0x000000, 0x100000 )
4611
4612   NEO_SFIX_128K( "208-s1.s1", CRC(64abd6b3) SHA1(0315d724e4d83a44ce84c531ff9b8c398363c039) ) /* TC531000 */
4613
4614   NEO_BIOS_AUDIO_128K( "208-m1.m1", CRC(0a5f3325) SHA1(04e0236df478a5452654c823dcb42fea65b6a718) ) /* TC531001 */
4615
4616   ROM_REGION( 0x400000, "ymsnd", 0 )
4617   ROM_LOAD( "208-v1.v1", 0x000000, 0x400000, CRC(e7899a24) SHA1(3e75b449898fee73fbacf58d70e3a460b9e0c573) ) /* TC5332204 */
4618
4619   NO_DELTAT_REGION
4620
4621   ROM_REGION( 0x0c00000, "sprites", 0 )
4622   ROM_LOAD16_BYTE( "208-c1.c1", 0x0000000, 0x400000, CRC(93d8619b) SHA1(6588cb67e38722d5843fb29943d92e3905101aff) ) /* Plane 0,1 */ /* TC5332205 */
4623   ROM_LOAD16_BYTE( "208-c2.c2", 0x0000001, 0x400000, CRC(1c737bb6) SHA1(8e341989981a713e61dfed8bde9a6459583ef46d) ) /* Plane 2,3 */ /* TC5332205 */
4624   ROM_LOAD16_BYTE( "208-c3.c3", 0x0800000, 0x200000, CRC(14cb1703) SHA1(a46acec03c1b2351fe36810628f02b7c848d13db) ) /* Plane 0,1 */ /* TC5316200 */
4625   ROM_LOAD16_BYTE( "208-c4.c4", 0x0800001, 0x200000, CRC(c7165f19) SHA1(221f03de893dca0e5305fa17aa94f96c67713818) ) /* Plane 2,3 */ /* TC5316200 */
4626ROM_END
4627
4628/****************************************
4629 ID-0209
4630 . ??M-209
4631 NEO-MVS PROGBK1 / NEO-MVS CHA256
4632****************************************/
4633
4634ROM_START( goalx3 ) /* MVS ONLY RELEASE */
4635   ROM_REGION( 0x200000, "maincpu", 0 )
4636   ROM_LOAD16_WORD_SWAP( "209-p1.p1", 0x100000, 0x100000, CRC(2a019a79) SHA1(422a639e74284fef2e53e1b49cf8803b0a7e80c6) ) /* mask rom TC5316200 */
4637   ROM_CONTINUE( 0x000000, 0x100000 )
4638
4639   NEO_SFIX_128K( "209-s1.s1", CRC(c0eaad86) SHA1(99412093c9707d51817893971e73fb8469cdc9d0) ) /* mask rom TC531000 */
4640
4641   NEO_BIOS_AUDIO_128K( "209-m1.m1", CRC(cd758325) SHA1(b51eac634fc646c07210dff993018ad9ebabd3f9) ) /* mask rom TC531001 */
4642
4643   ROM_REGION( 0x200000, "ymsnd", 0 )
4644   ROM_LOAD( "209-v1.v1", 0x000000, 0x200000, CRC(ef214212) SHA1(3e05ccaa2d06decb18b379b96f900c0e6b39ce70) ) /* mask rom TC5316200 */
4645
4646   NO_DELTAT_REGION
4647
4648   ROM_REGION( 0xa00000, "sprites", 0 )
4649   ROM_LOAD16_BYTE( "209-c1.c1", 0x000000, 0x400000, CRC(b49d980e) SHA1(722d10074f16fa7f14c71270f43fdab427b85e2b) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4650   ROM_LOAD16_BYTE( "209-c2.c2", 0x000001, 0x400000, CRC(5649b015) SHA1(9c9674f3841e6becd3b8e63bae9b9df45ac9f11e) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4651   ROM_LOAD16_BYTE( "209-c3.c3", 0x800000, 0x100000, CRC(5f91bace) SHA1(3864be27dce6d8f8828d3bf09bfc8116116a2b56) ) /* Plane 0,1 */ /* mask rom TC538200 */
4652   ROM_LOAD16_BYTE( "209-c4.c4", 0x800001, 0x100000, CRC(1e9f76f2) SHA1(b57fdc226bfe328b8848127fb4292295f1287bf6) ) /* Plane 2,3 */ /* mask rom TC538200 */
4653ROM_END
4654
4655/****************************************
4656 ID-0210
4657 Karate Ninja Sho (prototype) 1995 Yumekobo
4658****************************************/
4659
4660/****************************************
4661 ID-0211
4662 Oshidashi Zintrick (CD only? not confirmed, MVS might exist) 1996 SNK/ADK
4663****************************************/
4664
4665/****************************************
4666 ID-0212
4667 . ADM-011
4668 NEO-MVS PROGBK1 / NEO-MVS CHA256
4669 . ADH-011
4670****************************************/
4671
4672ROM_START( overtop )
4673   ROM_REGION( 0x200000, "maincpu", 0 )
4674   ROM_LOAD16_WORD_SWAP( "212-p1.p1", 0x100000, 0x100000, CRC(16c063a9) SHA1(5432869f830eed816ee5ed71c7fd39f749d15619) ) /* mask rom TC5316200 */
4675   ROM_CONTINUE( 0x000000, 0x100000 )
4676
4677   NEO_SFIX_128K( "212-s1.s1", CRC(481d3ddc) SHA1(7b0df3fc5b19f282abfd0eb5a4c6ed836a536ece) ) /* mask rom TC531000 */
4678
4679   NEO_BIOS_AUDIO_128K( "212-m1.m1", CRC(fcab6191) SHA1(488b8310b0957f0012fe50f73641b606f6ac4a57) ) /* mask rom TC531001 */
4680
4681   ROM_REGION( 0x400000, "ymsnd", 0 )
4682   ROM_LOAD( "212-v1.v1", 0x000000, 0x400000, CRC(013d4ef9) SHA1(438a697c44525bdf78b54432c4f7217ab5667047) ) /* mask rom TC5332204 */
4683
4684   NO_DELTAT_REGION
4685
4686   ROM_REGION( 0x1400000, "sprites", 0 )
4687   ROM_LOAD16_BYTE( "212-c1.c1", 0x0000000, 0x400000, CRC(50f43087) SHA1(e5a8c914ef8e77c7a29bffdeb18f1877b5c2fc7d) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4688   ROM_LOAD16_BYTE( "212-c2.c2", 0x0000001, 0x400000, CRC(a5b39807) SHA1(e98e82cf99576cb48cc5e8dc655b7e9a428c2843) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4689   ROM_LOAD16_BYTE( "212-c3.c3", 0x0800000, 0x400000, CRC(9252ea02) SHA1(269066e0f893d3e8e7c308528026a486c2b023a2) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4690   ROM_LOAD16_BYTE( "212-c4.c4", 0x0800001, 0x400000, CRC(5f41a699) SHA1(abbb162658e06a37db8475b659ece7e1270ebb49) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4691   ROM_LOAD16_BYTE( "212-c5.c5", 0x1000000, 0x200000, CRC(fc858bef) SHA1(0031def13e7cf4a465a1eca7aa0d13d1b21427e2) ) /* Plane 0,1 */ /* mask rom TC5316200 */
4692   ROM_LOAD16_BYTE( "212-c6.c6", 0x1000001, 0x200000, CRC(0589c15e) SHA1(b1167caf7cb61f3e05a5d342290bfe00e02e9d38) ) /* Plane 2,3 */ /* mask rom TC5316200 */
4693ROM_END
4694
4695/****************************************
4696 ID-0213
4697 . ??M-213
4698 NEO-MVS PROGBK1 / NEO-MVS CHA256B
4699****************************************/
4700
4701ROM_START( neodrift ) /* MVS ONLY RELEASE */
4702   ROM_REGION( 0x200000, "maincpu", 0 )
4703   ROM_LOAD16_WORD_SWAP( "213-p1.p1", 0x100000, 0x100000, CRC(e397d798) SHA1(10f459111db4bab7aaa63ca47e83304a84300812) ) /* mask rom TC5316200 */
4704   ROM_CONTINUE( 0x000000, 0x100000)
4705
4706   NEO_SFIX_128K( "213-s1.s1", CRC(b76b61bc) SHA1(5fdb407d16ab9e33c4f26ee09ff70891ae1d2bd0) ) /* mask rom TC531000 */
4707
4708   NEO_BIOS_AUDIO_128K( "213-m1.m1", CRC(200045f1) SHA1(7a6cd1c8d4447ea260d7ff4520c676b8d685f2e4) ) /* mask rom TC531001*/
4709
4710   ROM_REGION( 0x400000, "ymsnd", 0 )
4711   ROM_LOAD( "213-v1.v1", 0x000000, 0x200000, CRC(a421c076) SHA1(129f05c1a28a6493442f47a79c2d3577a1a43ef5) ) /* mask rom TC5316200 */
4712   ROM_LOAD( "213-v2.v2", 0x200000, 0x200000, CRC(233c7dd9) SHA1(be7f980aa83831b6605aaaf4ec904180bb96c935) ) /* mask rom TC5316200 */
4713
4714   NO_DELTAT_REGION
4715
4716   ROM_REGION( 0x800000, "sprites", 0 )
4717   ROM_LOAD16_BYTE( "213-c1.c1", 0x000000, 0x400000, CRC(3edc8bd3) SHA1(71dcba9afd3b08ebfa13294644dcb365c2740780) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4718   ROM_LOAD16_BYTE( "213-c2.c2", 0x000001, 0x400000, CRC(46ae5f16) SHA1(a01310632734e776e889af6a531063cb1661c33a) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4719ROM_END
4720
4721/****************************************
4722 ID-0214
4723 . NGM-214
4724 NEO-MVS PROGBK1 / NEO-MVS CHA256
4725 . NGH-214
4726****************************************/
4727
4728ROM_START( kof96 ) /* MVS VERSION */
4729   ROM_REGION( 0x300000, "maincpu", 0 )
4730   ROM_LOAD16_WORD_SWAP( "214-p1.p1",  0x000000, 0x100000, CRC(52755d74) SHA1(4232d627f1d2e6ea9fc8cf01571d77d4d5b8a1bb) ) /* TC538200 */
4731   ROM_LOAD16_WORD_SWAP( "214-p2.sp2", 0x100000, 0x200000, CRC(002ccb73) SHA1(3ae8df682c75027ca82db25491021eeba00a267e) ) /* TC5316200 */
4732
4733   NEO_SFIX_128K( "214-s1.s1", CRC(1254cbdb) SHA1(fce5cf42588298711a3633e9c9c1d4dcb723ac76) ) /* TC531000 */
4734
4735   NEO_BIOS_AUDIO_128K( "214-m1.m1", CRC(dabc427c) SHA1(b76722ed142ee7addceb4757424870dbd003e8b3) ) /* TC531001 */
4736
4737   ROM_REGION( 0xa00000, "ymsnd", 0 )
4738   ROM_LOAD( "214-v1.v1", 0x000000, 0x400000, CRC(63f7b045) SHA1(1353715f1a8476dca6f8031d9e7a401eacab8159) ) /* TC5332204 */
4739   ROM_LOAD( "214-v2.v2", 0x400000, 0x400000, CRC(25929059) SHA1(6a721c4cb8f8dc772774023877d4a9f50d5a9e31) ) /* TC5332204 */
4740   ROM_LOAD( "214-v3.v3", 0x800000, 0x200000, CRC(92a2257d) SHA1(5064aec78fa0d104e5dd5869b95382aa170214ee) ) /* TC5316200 */
4741
4742   NO_DELTAT_REGION
4743
4744   ROM_REGION( 0x2000000, "sprites", 0 )
4745   ROM_LOAD16_BYTE( "214-c1.c1", 0x0000000, 0x400000, CRC(7ecf4aa2) SHA1(f773c4c1f05d58dd37e7bb2ac1d1e0ec43998a71) ) /* Plane 0,1 */ /* TC5332205 */
4746   ROM_LOAD16_BYTE( "214-c2.c2", 0x0000001, 0x400000, CRC(05b54f37) SHA1(cc31653fe4cb05201fba234e080cb9c7a7592b1b) ) /* Plane 2,3 */ /* TC5332205 */
4747   ROM_LOAD16_BYTE( "214-c3.c3", 0x0800000, 0x400000, CRC(64989a65) SHA1(e6f3749d43be0afa9dad7b085cb782ba694252ca) ) /* Plane 0,1 */ /* TC5332205 */
4748   ROM_LOAD16_BYTE( "214-c4.c4", 0x0800001, 0x400000, CRC(afbea515) SHA1(ae875052728de33174827705646bd14cf3937b5c) ) /* Plane 2,3 */ /* TC5332205 */
4749   ROM_LOAD16_BYTE( "214-c5.c5", 0x1000000, 0x400000, CRC(2a3bbd26) SHA1(7c1a7e50a10a1b082e0d0d515c34135ee9f995ac) ) /* Plane 0,1 */ /* TC5332205 */
4750   ROM_LOAD16_BYTE( "214-c6.c6", 0x1000001, 0x400000, CRC(44d30dc7) SHA1(c8ae001e37224b55d9e4a4d99f6578b4f6eb055f) ) /* Plane 2,3 */ /* TC5332205 */
4751   ROM_LOAD16_BYTE( "214-c7.c7", 0x1800000, 0x400000, CRC(3687331b) SHA1(2be95caab76d7af51674f93884330ba73a6053e4) ) /* Plane 0,1 */ /* TC5332205 */
4752   ROM_LOAD16_BYTE( "214-c8.c8", 0x1800001, 0x400000, CRC(fa1461ad) SHA1(6c71a7f08e4044214223a6bf80984582ab5e0328) ) /* Plane 2,3 */ /* TC5332205 */
4753ROM_END
4754
4755ROM_START( kof96h )
4756   ROM_REGION( 0x300000, "maincpu", 0 )
4757   ROM_LOAD16_WORD_SWAP( "214-pg1.p1", 0x000000, 0x100000, CRC(bd3757c9) SHA1(35392a044117e46c088ff0fdd07d69a3faa4f96e) )
4758   ROM_LOAD16_WORD_SWAP( "214-p2.sp2", 0x100000, 0x200000, CRC(002ccb73) SHA1(3ae8df682c75027ca82db25491021eeba00a267e) ) /* TC5316200 */
4759
4760   NEO_SFIX_128K( "214-s1.s1", CRC(1254cbdb) SHA1(fce5cf42588298711a3633e9c9c1d4dcb723ac76) ) /* TC531000 */
4761
4762   NEO_BIOS_AUDIO_128K( "214-m1.m1", CRC(dabc427c) SHA1(b76722ed142ee7addceb4757424870dbd003e8b3) ) /* TC531001 */
4763
4764   ROM_REGION( 0xa00000, "ymsnd", 0 )
4765   ROM_LOAD( "214-v1.v1", 0x000000, 0x400000, CRC(63f7b045) SHA1(1353715f1a8476dca6f8031d9e7a401eacab8159) ) /* TC5332204 */
4766   ROM_LOAD( "214-v2.v2", 0x400000, 0x400000, CRC(25929059) SHA1(6a721c4cb8f8dc772774023877d4a9f50d5a9e31) ) /* TC5332204 */
4767   ROM_LOAD( "214-v3.v3", 0x800000, 0x200000, CRC(92a2257d) SHA1(5064aec78fa0d104e5dd5869b95382aa170214ee) ) /* TC5316200 */
4768
4769   NO_DELTAT_REGION
4770
4771   ROM_REGION( 0x2000000, "sprites", 0 )
4772   ROM_LOAD16_BYTE( "214-c1.c1", 0x0000000, 0x400000, CRC(7ecf4aa2) SHA1(f773c4c1f05d58dd37e7bb2ac1d1e0ec43998a71) ) /* Plane 0,1 */ /* TC5332205 */
4773   ROM_LOAD16_BYTE( "214-c2.c2", 0x0000001, 0x400000, CRC(05b54f37) SHA1(cc31653fe4cb05201fba234e080cb9c7a7592b1b) ) /* Plane 2,3 */ /* TC5332205 */
4774   ROM_LOAD16_BYTE( "214-c3.c3", 0x0800000, 0x400000, CRC(64989a65) SHA1(e6f3749d43be0afa9dad7b085cb782ba694252ca) ) /* Plane 0,1 */ /* TC5332205 */
4775   ROM_LOAD16_BYTE( "214-c4.c4", 0x0800001, 0x400000, CRC(afbea515) SHA1(ae875052728de33174827705646bd14cf3937b5c) ) /* Plane 2,3 */ /* TC5332205 */
4776   ROM_LOAD16_BYTE( "214-c5.c5", 0x1000000, 0x400000, CRC(2a3bbd26) SHA1(7c1a7e50a10a1b082e0d0d515c34135ee9f995ac) ) /* Plane 0,1 */ /* TC5332205 */
4777   ROM_LOAD16_BYTE( "214-c6.c6", 0x1000001, 0x400000, CRC(44d30dc7) SHA1(c8ae001e37224b55d9e4a4d99f6578b4f6eb055f) ) /* Plane 2,3 */ /* TC5332205 */
4778   ROM_LOAD16_BYTE( "214-c7.c7", 0x1800000, 0x400000, CRC(3687331b) SHA1(2be95caab76d7af51674f93884330ba73a6053e4) ) /* Plane 0,1 */ /* TC5332205 */
4779   ROM_LOAD16_BYTE( "214-c8.c8", 0x1800001, 0x400000, CRC(fa1461ad) SHA1(6c71a7f08e4044214223a6bf80984582ab5e0328) ) /* Plane 2,3 */ /* TC5332205 */
4780ROM_END
4781
4782/****************************************
4783 ID-0215
4784 . NGM-215
4785 NEO-MVS PROGBK1 / NEO-MVS CHA256
4786 . NGH-215
4787****************************************/
4788
4789ROM_START( ssideki4 )
4790   ROM_REGION( 0x200000, "maincpu", 0 )
4791   ROM_LOAD16_WORD_SWAP( "215-p1.p1", 0x100000, 0x100000, CRC(519b4ba3) SHA1(5aa59514b23aa663f2c4014ee94a31e9f59151de) ) /* TC5316200 */
4792   ROM_CONTINUE( 0x000000, 0x100000 )
4793
4794   NEO_SFIX_128K( "215-s1.s1", CRC(f0fe5c36) SHA1(b7badd6d2ac3788ce5cace1fcf5cdad14734e4e6) ) /* TC531000 */
4795
4796   NEO_BIOS_AUDIO_128K( "215-m1.m1", CRC(a932081d) SHA1(376a45e19edb780ac8798c41ae2260c8a8a4bba8) ) /* TC531001 */
4797
4798   ROM_REGION( 0x600000, "ymsnd", 0 )
4799   ROM_LOAD( "215-v1.v1", 0x000000, 0x400000, CRC(877d1409) SHA1(77c58ebffe677ea6369c964ec7975b11df512fa1) ) /* TC5332204 */
4800   ROM_LOAD( "215-v2.v2", 0x400000, 0x200000, CRC(1bfa218b) SHA1(344836a578bde3c0ab59b58c8734f868e7403c26) ) /* TC5316200 */
4801
4802   NO_DELTAT_REGION
4803
4804   ROM_REGION( 0x1400000, "sprites", 0 )
4805   ROM_LOAD16_BYTE( "215-c1.c1", 0x0000000, 0x400000, CRC(8ff444f5) SHA1(e2dc52d09512cb378df96ddf45435f9bcbbe9947) ) /* Plane 0,1 */ /* TC5332205 */
4806   ROM_LOAD16_BYTE( "215-c2.c2", 0x0000001, 0x400000, CRC(5b155037) SHA1(68900c0fdcd35c9f38e0effdf27e1dbd3c53daf8) ) /* Plane 2,3 */ /* TC5332205 */
4807   ROM_LOAD16_BYTE( "215-c3.c3", 0x0800000, 0x400000, CRC(456a073a) SHA1(3488013f371012eab4e788e1525c81260e0b7080) ) /* Plane 0,1 */ /* TC5332205 */
4808   ROM_LOAD16_BYTE( "215-c4.c4", 0x0800001, 0x400000, CRC(43c182e1) SHA1(343f034c65ca498b437e22e06a866a5daf3b9602) ) /* Plane 2,3 */ /* TC5332205 */
4809   ROM_LOAD16_BYTE( "215-c5.c5", 0x1000000, 0x200000, CRC(0c6f97ec) SHA1(b8d297f0ba2b04404eb0f7c6673ecc206fadae0c) ) /* Plane 0,1 */ /* TC5316200 */
4810   ROM_LOAD16_BYTE( "215-c6.c6", 0x1000001, 0x200000, CRC(329c5e1b) SHA1(015c36b8d3efab9b4647f110ecb5c118a9c80f43) ) /* Plane 2,3 */ /* TC5316200 */
4811ROM_END
4812
4813/****************************************
4814 ID-0216
4815 . ??M-216
4816 NEO-MVS PROGTOP / NEO-MVS CHA256
4817 . ??H-216
4818****************************************/
4819
4820ROM_START( kizuna )
4821   ROM_REGION( 0x200000, "maincpu", 0 )
4822   ROM_LOAD16_WORD_SWAP( "216-p1.p1", 0x100000, 0x100000, CRC(75d2b3de) SHA1(ee778656c26828935ee2a2bfd0ce5a22aa681c10) ) /* mask rom TC5316200 */
4823   ROM_CONTINUE( 0x000000, 0x100000 )
4824
4825   NEO_SFIX_128K( "216-s1.s1", CRC(efdc72d7) SHA1(be37cbf1852e2e4c907cc799b754b538544b6703) ) /* mask rom TC531000 */
4826
4827   NEO_BIOS_AUDIO_128K( "216-m1.m1", CRC(1b096820) SHA1(72852e78c620038f8dafde5e54e02e418c31be9c) ) /* mask rom TC531001 */
4828
4829   ROM_REGION( 0x800000, "ymsnd", 0 )
4830   ROM_LOAD( "059-v1.v1", 0x000000, 0x200000, CRC(530c50fd) SHA1(29401cee7f7d2c199c7cb58092e86b28205e81ad) ) /* TC5316200 */
4831   ROM_LOAD( "216-v2.v2", 0x200000, 0x200000, CRC(03667a8d) SHA1(3b0475e553a49f8788f32b0c84f82645cc6b4273) ) /* mask rom TC5316200 */
4832   ROM_LOAD( "059-v3.v3", 0x400000, 0x200000, CRC(7038c2f9) SHA1(c1d6f86b24feba03fe009b58199d2eeabe572f4e) ) /* TC5316200 */
4833   ROM_LOAD( "216-v4.v4", 0x600000, 0x200000, CRC(31b99bd6) SHA1(5871751f8e9e6b98337472c22b5e1c7ede0a9311) ) /* mask rom TC5316200 */
4834
4835   NO_DELTAT_REGION
4836
4837   ROM_REGION( 0x1c00000, "sprites", 0 )
4838   ROM_LOAD16_BYTE( "059-c1.c1", 0x0000000, 0x200000, CRC(763ba611) SHA1(d3262e0332c894ee149c5963f882cc5e5562ee57) ) /* Plane 0,1 */ /* TC5316200 */
4839   ROM_LOAD16_BYTE( "059-c2.c2", 0x0000001, 0x200000, CRC(e05e8ca6) SHA1(986a9b16ff92bc101ab567d2d01348e093abea9a) ) /* Plane 2,3 */ /* TC5316200 */
4840   /* 400000-7fffff empty */
4841   ROM_LOAD16_BYTE( "216-c3.c3", 0x0800000, 0x400000, CRC(665c9f16) SHA1(7ec781a49a462f395b450460b29493f55134eac2) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4842   ROM_LOAD16_BYTE( "216-c4.c4", 0x0800001, 0x400000, CRC(7f5d03db) SHA1(365ed266c121f4df0bb76898955a8ae0e668a216) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4843   ROM_LOAD16_BYTE( "059-c5.c5", 0x1000000, 0x200000, CRC(59013f9e) SHA1(5bf48fcc450da72a8c4685f6e3887e67eae49988) ) /* Plane 0,1 */ /* TC5316200 */
4844   ROM_LOAD16_BYTE( "059-c6.c6", 0x1000001, 0x200000, CRC(1c8d5def) SHA1(475d89a5c4922a9f6bd756d23c2624d57b6e9d62) ) /* Plane 2,3 */ /* TC5316200 */
4845   /* 1400000-17fffff empty */
4846   ROM_LOAD16_BYTE( "059-c7.c7", 0x1800000, 0x200000, CRC(c88f7035) SHA1(c29a428b741f4fe7b71a3bc23c87925b6bc1ca8f) ) /* Plane 0,1 */ /* TC538200 */
4847   ROM_LOAD16_BYTE( "059-c8.c8", 0x1800001, 0x200000, CRC(484ce3ba) SHA1(4f21ed20ce6e2b67e2b079404599310c94f591ff) ) /* Plane 2,3 */ /* TC538200 */
4848ROM_END
4849
4850/****************************************
4851 ID-0217
4852 . ADM-012
4853 NEO-MVS PROGBK1 / NEO-MVS CHA256
4854 . ADH-012
4855****************************************/
4856
4857ROM_START( ninjamas )
4858   ROM_REGION( 0x300000, "maincpu", 0 )
4859   ROM_LOAD16_WORD_SWAP( "217-p1.p1",  0x000000, 0x100000, CRC(3e97ed69) SHA1(336bcae375a5109945d11356503bf0d9f4a9a50a) ) /* TC538200 */
4860   ROM_LOAD16_WORD_SWAP( "217-p2.sp2", 0x100000, 0x200000, CRC(191fca88) SHA1(e318e5931704779bbe461719a5eeeba89bd83a5d) ) /* TC5316200 */
4861
4862   NEO_SFIX_128K( "217-s1.s1", CRC(8ff782f0) SHA1(90099c154357042ba658d4ef6abe4d9335bb7172) ) /* TC531000 */
4863
4864   NEO_BIOS_AUDIO_128K( "217-m1.m1", CRC(d00fb2af) SHA1(6bcaa52e1641cc24288e1f22f4dc98e8d8921b90) ) /* TC531001 */
4865
4866   ROM_REGION( 0x600000, "ymsnd", 0 )
4867   ROM_LOAD( "217-v1.v1", 0x000000, 0x400000, CRC(1c34e013) SHA1(5368e413d2188c4fd063b6bb7d5f498ff83ea812) ) /* TC5332204 */
4868   ROM_LOAD( "217-v2.v2", 0x400000, 0x200000, CRC(22f1c681) SHA1(09da03b2e63d180e55173ff25e8735c4162f027b) ) /* TC5316200 */
4869
4870   NO_DELTAT_REGION
4871
4872   ROM_REGION( 0x2000000, "sprites", 0 )
4873   ROM_LOAD16_BYTE( "217-c1.c1", 0x0000000, 0x400000, CRC(5fe97bc4) SHA1(d76c955d83baa2b9fd24222a9b2852947b7b92f0) ) /* Plane 0,1 */ /* TC5332205 */
4874   ROM_LOAD16_BYTE( "217-c2.c2", 0x0000001, 0x400000, CRC(886e0d66) SHA1(d407e1525e4ebe996e14f6e5c0396a10f736a50d) ) /* Plane 2,3 */ /* TC5332205 */
4875   ROM_LOAD16_BYTE( "217-c3.c3", 0x0800000, 0x400000, CRC(59e8525f) SHA1(19f602c71545d6c021dc72e112d3a8b8efe7a9b7) ) /* Plane 0,1 */ /* TC5332205 */
4876   ROM_LOAD16_BYTE( "217-c4.c4", 0x0800001, 0x400000, CRC(8521add2) SHA1(0d1a6f2979302c4c282e31ff334d2d887aec74f7) ) /* Plane 2,3 */ /* TC5332205 */
4877   ROM_LOAD16_BYTE( "217-c5.c5", 0x1000000, 0x400000, CRC(fb1896e5) SHA1(777a8caa9ebdbddf89e3d5ab650c94a55228ce54) ) /* Plane 0,1 */ /* TC5332205 */
4878   ROM_LOAD16_BYTE( "217-c6.c6", 0x1000001, 0x400000, CRC(1c98c54b) SHA1(cb1cad161d9b9f2f5a7cf8ae4d6d35b51acf90f5) ) /* Plane 2,3 */ /* TC5332205 */
4879   ROM_LOAD16_BYTE( "217-c7.c7", 0x1800000, 0x400000, CRC(8b0ede2e) SHA1(ea632ac98291ddac95441b7fe2349974b2da8a42) ) /* Plane 0,1 */ /* TC5332205 */
4880   ROM_LOAD16_BYTE( "217-c8.c8", 0x1800001, 0x400000, CRC(a085bb61) SHA1(6a3e9e6ba96072b8849b407f2b24103dc0852259) ) /* Plane 2,3 */ /* TC5332205 */
4881ROM_END
4882
4883/****************************************
4884 ID-0218
4885 . NGM-218
4886 NEO-MVS PROGBK1 / NEO-MVS CHA256
4887 . NGH-218
4888****************************************/
4889
4890ROM_START( ragnagrd )
4891   ROM_REGION( 0x200000, "maincpu", 0 )
4892   ROM_LOAD16_WORD_SWAP( "218-p1.p1", 0x100000, 0x100000, CRC(ca372303) SHA1(67991e4fef9b36bc7d909810eebb857ac2f906f1) ) /* mask rom TC5316200 */
4893   ROM_CONTINUE( 0x000000, 0x100000 )
4894
4895   NEO_SFIX_128K( "218-s1.s1", CRC(7d402f9a) SHA1(59ec29d03e62e7a8bef689a124a9164f43b2ace1) ) /* mask rom TC531000 */
4896
4897   NEO_BIOS_AUDIO_128K( "218-m1.m1", CRC(17028bcf) SHA1(7a4e8f33ce9b41beac2152b8f6003f247699e2e1) ) /* mask rom TC531001 */
4898
4899   ROM_REGION( 0x800000, "ymsnd", 0 )
4900   ROM_LOAD( "218-v1.v1", 0x000000, 0x400000, CRC(61eee7f4) SHA1(5b11b1a0b1b74dfbc2998cbda9f8f7a5e9059957) ) /* mask rom TC5332204 */
4901   ROM_LOAD( "218-v2.v2", 0x400000, 0x400000, CRC(6104e20b) SHA1(18e8aae3e51e141977d523a10e737ff68fe81910) ) /* mask rom TC5332204 */
4902
4903   NO_DELTAT_REGION
4904
4905   ROM_REGION( 0x2000000, "sprites", 0 )
4906   ROM_LOAD16_BYTE( "218-c1.c1", 0x0000000, 0x400000, CRC(c31500a4) SHA1(cc82100038988872721028044ed2e9764bcc2fb0) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4907   ROM_LOAD16_BYTE( "218-c2.c2", 0x0000001, 0x400000, CRC(98aba1f9) SHA1(121276c569967e501d8e1b83747f1bdebff612ea) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4908   ROM_LOAD16_BYTE( "218-c3.c3", 0x0800000, 0x400000, CRC(833c163a) SHA1(b7e5356bbd9efab67fedb5bc671ba8bbd661fe0f) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4909   ROM_LOAD16_BYTE( "218-c4.c4", 0x0800001, 0x400000, CRC(c1a30f69) SHA1(f87ddda4695abcd14f5c2d4b7d41f72ad5b064cc) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4910   ROM_LOAD16_BYTE( "218-c5.c5", 0x1000000, 0x400000, CRC(6b6de0ff) SHA1(1abb24cb407258235f4a572cf101d0774823040b) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4911   ROM_LOAD16_BYTE( "218-c6.c6", 0x1000001, 0x400000, CRC(94beefcf) SHA1(d2ff0bac325c9c823dba68bd4f281b3b9f8f68e7) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4912   ROM_LOAD16_BYTE( "218-c7.c7", 0x1800000, 0x400000, CRC(de6f9b28) SHA1(455adb6bb986af8a00d7f32b7f4f3715fc3007f6) ) /* Plane 0,1 */ /* mask rom TC5332205 */
4913   ROM_LOAD16_BYTE( "218-c8.c8", 0x1800001, 0x400000, CRC(d9b311f6) SHA1(ba61a7ab3f08bb7348ad6cd01e5d29ca5ee75074) ) /* Plane 2,3 */ /* mask rom TC5332205 */
4914ROM_END
4915
4916/****************************************
4917 ID-0219
4918 . NGM-219
4919 NEO-MVS PROGBK1 / NEO-MVS CHA256
4920****************************************/
4921
4922ROM_START( pgoal ) /* MVS ONLY RELEASE */
4923   ROM_REGION( 0x200000, "maincpu", 0 )
4924   ROM_LOAD16_WORD_SWAP( "219-p1.p1", 0x100000, 0x100000, CRC(6af0e574) SHA1(c3f0fed0d942e48c99c80b1713f271c033ce0f4f) ) /* TC5316200 */
4925   ROM_CONTINUE( 0x000000, 0x100000 )
4926
4927   NEO_SFIX_128K( "219-s1.s1", CRC(002f3c88) SHA1(a8a5bbc5397c8ae9858e38997ebdc713b7b4f50a) ) /* TC531000 */
4928
4929   NEO_BIOS_AUDIO_128K( "219-m1.m1", CRC(958efdc8) SHA1(aacc6056b1ff48cde8f241a11a27473cfb4b4aa3) ) /* TC531001 */
4930
4931   ROM_REGION( 0x400000, "ymsnd", 0 )
4932   ROM_LOAD( "219-v1.v1", 0x000000, 0x400000, CRC(d0ae33d9) SHA1(cb21a91184d9d84ff25ca86c00dcadfc210272a8) ) /* TC5332204 */
4933
4934   NO_DELTAT_REGION
4935
4936   ROM_REGION( 0xc00000, "sprites", 0 )
4937   ROM_LOAD16_BYTE( "219-c1.c1", 0x0000000, 0x400000, CRC(67fec4dc) SHA1(b99767972a2a4fce2b704df8d08e6b092665a696) ) /* Plane 0,1 */ /* TC5332205 */
4938   ROM_LOAD16_BYTE( "219-c2.c2", 0x0000001, 0x400000, CRC(86ed01f2) SHA1(9d7d1493946e8fbbd572503d2362b0156c023b76) ) /* Plane 2,3 */ /* TC5332205 */
4939   ROM_LOAD16_BYTE( "219-c3.c3", 0x0800000, 0x200000, CRC(5fdad0a5) SHA1(56f6d2a7224aa4e82a1858079f918e85cadbd6c2) ) /* Plane 0,1 */ /* TC5316200 */
4940   ROM_LOAD16_BYTE( "219-c4.c4", 0x0800001, 0x200000, CRC(f57b4a1c) SHA1(875ca69afbc5304ec23f4bc9186abe92f477f6c8) ) /* Plane 2,3 */ /* TC5316200 */
4941ROM_END
4942
4943/****************************************
4944 ID-0220
4945 Choutetsu Brikin'ger - Iron clad (prototype) 1996 Saurus
4946****************************************/
4947
4948ROM_START( ironclad ) /* Prototype - crcs should match the ones of the unreleased dump. */
4949   ROM_REGION( 0x200000, "maincpu", 0 )
4950   ROM_LOAD16_WORD_SWAP( "proto_220-p1.p1", 0x100000, 0x100000, CRC(62a942c6) SHA1(12aaa7d9bd84328d1bf4610e056b5c57d0252537) )
4951   ROM_CONTINUE( 0x000000, 0x100000 )
4952
4953   NEO_SFIX_128K( "proto_220-s1.s1", CRC(372fe217) SHA1(493433e682f519bf647e1481c8bdd3a980830ffb) )
4954
4955   NEO_BIOS_AUDIO_128K( "proto_220-m1.m1", CRC(3a08bb63) SHA1(d8fbbf42a006ccafc3cd99808d28c82dbaac4590) )
4956
4957   ROM_REGION( 0x400000, "ymsnd", 0 )
4958   ROM_LOAD( "proto_220-v1.v1", 0x000000, 0x400000, CRC(8f30a215) SHA1(0ee866a468c4c3608d55df2b5cb9243c8016d77c) )
4959
4960   NO_DELTAT_REGION
4961
4962   ROM_REGION( 0x1000000, "sprites", 0 )
4963   ROM_LOAD16_BYTE( "proto_220-c1.c1", 0x000000, 0x400000, CRC(9aa2b7dc) SHA1(6b3dff292c86f949890b1f8201bc5278f38c2668) ) /* Plane 0,1 */
4964   ROM_LOAD16_BYTE( "proto_220-c2.c2", 0x000001, 0x400000, CRC(8a2ad708) SHA1(9568ac4cc0552e7fd3e50d3cd8d9f0f4fe7df1d4) ) /* Plane 2,3 */
4965   ROM_LOAD16_BYTE( "proto_220-c3.c3", 0x800000, 0x400000, CRC(d67fb15a) SHA1(842971aeaf3c92e70f7c653bbf29058bc60f5b71) ) /* Plane 0,1 */
4966   ROM_LOAD16_BYTE( "proto_220-c4.c4", 0x800001, 0x400000, CRC(e73ea38b) SHA1(27138d588e61e86c292f12d16e36c3681075c607) ) /* Plane 2,3 */
4967ROM_END
4968
4969ROM_START( ironclado ) /* Prototype - bootleg/hack based on later release. */
4970   ROM_REGION( 0x200000, "maincpu", 0 )
4971   ROM_LOAD16_WORD_SWAP( "proto_220-p1o.p1", 0x100000, 0x100000, CRC(ce37e3a0) SHA1(488f95fa15f56eea6666dda13d96ec29dba18e19) )
4972   ROM_CONTINUE( 0x000000, 0x100000 )
4973
4974   NEO_SFIX_128K( "proto_220-s1.s1", CRC(372fe217) SHA1(493433e682f519bf647e1481c8bdd3a980830ffb) )
4975
4976   NEO_BIOS_AUDIO_128K( "proto_220-m1.m1", CRC(3a08bb63) SHA1(d8fbbf42a006ccafc3cd99808d28c82dbaac4590) )
4977
4978   ROM_REGION( 0x400000, "ymsnd", 0 )
4979   ROM_LOAD( "proto_220-v1.v1", 0x000000, 0x400000, CRC(8f30a215) SHA1(0ee866a468c4c3608d55df2b5cb9243c8016d77c) )
4980
4981   NO_DELTAT_REGION
4982
4983   ROM_REGION( 0x1000000, "sprites", 0 )
4984   ROM_LOAD16_BYTE( "proto_220-c1.c1", 0x000000, 0x400000, CRC(9aa2b7dc) SHA1(6b3dff292c86f949890b1f8201bc5278f38c2668) ) /* Plane 0,1 */
4985   ROM_LOAD16_BYTE( "proto_220-c2.c2", 0x000001, 0x400000, CRC(8a2ad708) SHA1(9568ac4cc0552e7fd3e50d3cd8d9f0f4fe7df1d4) ) /* Plane 2,3 */
4986   ROM_LOAD16_BYTE( "proto_220-c3.c3", 0x800000, 0x400000, CRC(d67fb15a) SHA1(842971aeaf3c92e70f7c653bbf29058bc60f5b71) ) /* Plane 0,1 */
4987   ROM_LOAD16_BYTE( "proto_220-c4.c4", 0x800001, 0x400000, CRC(e73ea38b) SHA1(27138d588e61e86c292f12d16e36c3681075c607) ) /* Plane 2,3 */
4988ROM_END
4989
4990/****************************************
4991 ID-0221
4992 . NGM-221
4993 NEO-MVS PROGBK1 / NEO-MVS CHA256B
4994 . NGH-221
4995****************************************/
4996
4997ROM_START( magdrop2 )
4998   ROM_REGION( 0x100000, "maincpu", 0 )
4999   ROM_LOAD16_WORD_SWAP( "221-p1.p1", 0x000000, 0x80000, CRC(7be82353) SHA1(08ab39f52b893591c13a7d7aa26b20ce86e9ddf5) ) /* mask rom TC534200 */
5000
5001   NEO_SFIX_128K( "221-s1.s1", CRC(2a4063a3) SHA1(0e09a7d88d85b1a2100888f4211960ea56ef978b) ) /* mask rom TC531000 */
5002
5003   NEO_BIOS_AUDIO_128K( "221-m1.m1", CRC(bddae628) SHA1(02c77e6aaaed43e39778bf83a3184e7c21db63d4) ) /* mask rom TC531001 */
5004
5005   ROM_REGION( 0x200000, "ymsnd", 0 )
5006   ROM_LOAD( "221-v1.v1", 0x000000, 0x200000, CRC(7e5e53e4) SHA1(72b063b2d4acaaf72a20d14ad5bfc90cb64d3fed) ) /* mask rom TC5316200 */
5007
5008   NO_DELTAT_REGION
5009
5010   ROM_REGION( 0x800000, "sprites", 0 )
5011   ROM_LOAD16_BYTE( "221-c1.c1", 0x000000, 0x400000, CRC(1f862a14) SHA1(1253e8b65d863d552d00dbdbfc5c168f5fc7edd1) ) /* Plane 0,1 */ /* mask rom TC5332205 */
5012   ROM_LOAD16_BYTE( "221-c2.c2", 0x000001, 0x400000, CRC(14b90536) SHA1(e0d41f6b84d8261729f154b44ddd95c9b9c0714a) ) /* Plane 2,3 */ /* mask rom TC5332205 */
5013ROM_END
5014
5015/****************************************
5016 ID-0222
5017 . NGM-222
5018 NEO-MVS PROGBK1 / NEO-MVS CHA256B
5019 . NGH-222
5020 NEO-AEG PROGBK1Y / NEO-AEG CHA256RY
5021****************************************/
5022
5023ROM_START( samsho4 ) /* MVS AND AES VERSION */
5024   ROM_REGION( 0x500000, "maincpu", 0 )
5025   ROM_LOAD16_WORD_SWAP( "222-p1.p1",  0x000000, 0x100000, CRC(1a5cb56d) SHA1(9a0a5a1c7c5d428829f22d3d17f7033d43a51b5b) ) /* TC538200 */
5026   ROM_LOAD16_WORD_SWAP( "222-p2.sp2", 0x100000, 0x400000, CRC(b023cd8b) SHA1(35b4cec9858225f90acdfa16ed8a3017d0d08327) ) /* TC5332205 */
5027
5028   NEO_SFIX_128K( "222-s1.s1", CRC(8d3d3bf9) SHA1(9975ed9b458bdd14e23451d2534153f68a5e4e6c) ) /* TC531000 */
5029
5030   NEO_BIOS_AUDIO_128K( "222-m1.m1", CRC(7615bc1b) SHA1(b936f7b341f6fe0921b4c41049734684583e3596) ) /* TC531001 */
5031
5032   ROM_REGION( 0xa00000, "ymsnd", 0 )
5033   ROM_LOAD( "222-v1.v1", 0x000000, 0x400000, CRC(7d6ba95f) SHA1(03cb4e0d770e0b332b07b64cacef624460b84c78) ) /* TC5332204 */
5034   ROM_LOAD( "222-v2.v2", 0x400000, 0x400000, CRC(6c33bb5d) SHA1(fd5d4e08a962dd0d22c52c91bad5ec7f23cfb901) ) /* TC5332204 */
5035   ROM_LOAD( "222-v3.v3", 0x800000, 0x200000, CRC(831ea8c0) SHA1(f2987b7d09bdc4311e972ce8a9ab7ca9802db4db) ) /* TC5316200 */
5036
5037   NO_DELTAT_REGION
5038
5039   ROM_REGION( 0x2000000, "sprites", 0 )
5040   ROM_LOAD16_BYTE( "222-c1.c1", 0x0000000, 0x400000, CRC(68f2ed95) SHA1(c0a02df012cd25bcfe341770ea861a80294148cb) ) /* Plane 0,1 */ /* TC5332205 */
5041   ROM_LOAD16_BYTE( "222-c2.c2", 0x0000001, 0x400000, CRC(a6e9aff0) SHA1(15addca49951ed53fa3c000c8d7cd327d012a620) ) /* Plane 2,3 */ /* TC5332205 */
5042   ROM_LOAD16_BYTE( "222-c3.c3", 0x0800000, 0x400000, CRC(c91b40f4) SHA1(dcda45e0336204e3e024de08edfd0a3217bc1fdd) ) /* Plane 0,1 */ /* TC5332205 */
5043   ROM_LOAD16_BYTE( "222-c4.c4", 0x0800001, 0x400000, CRC(359510a4) SHA1(b6642677ebdff7788263266402080272b8a66b15) ) /* Plane 2,3 */ /* TC5332205 */
5044   ROM_LOAD16_BYTE( "222-c5.c5", 0x1000000, 0x400000, CRC(9cfbb22d) SHA1(789c32f917d0c6e38601cd390a7bf9d803131a4a) ) /* Plane 0,1 */ /* TC5332205 */
5045   ROM_LOAD16_BYTE( "222-c6.c6", 0x1000001, 0x400000, CRC(685efc32) SHA1(db21ba1c7e3631ce0f1cb6f503ae7e0e043ff71b) ) /* Plane 2,3 */ /* TC5332205 */
5046   ROM_LOAD16_BYTE( "222-c7.c7", 0x1800000, 0x400000, CRC(d0f86f0d) SHA1(32502d71c2ab1469c492b6b382bf2bb3f85981d9) ) /* Plane 0,1 */ /* TC5332205 */
5047   ROM_LOAD16_BYTE( "222-c8.c8", 0x1800001, 0x400000, CRC(adfc50e3) SHA1(7d7ee874355b5aa75ad9c9a5c9c3df98d098d85e) ) /* Plane 2,3 */ /* TC5332205 */
5048ROM_END
5049
5050ROM_START( samsho4k ) /* KOREAN VERSION */
5051   ROM_REGION( 0x500000, "maincpu", 0 )
5052   ROM_LOAD16_WORD_SWAP( "222-p1k.p1", 0x000000, 0x100000, CRC(06e0a25d) SHA1(81e6727e0acb67ae41383518c0fc07f28d232979) )
5053   ROM_LOAD16_WORD_SWAP( "222-p2.sp2", 0x100000, 0x400000, CRC(b023cd8b) SHA1(35b4cec9858225f90acdfa16ed8a3017d0d08327) ) /* TC5332205 */
5054
5055   NEO_SFIX_128K( "222-s1k.s1", CRC(d313687d) SHA1(9ba468a9d582ef76c863f57ad9a0f811f3f08bd9) )
5056
5057   NEO_BIOS_AUDIO_128K( "222-m1.m1", CRC(7615bc1b) SHA1(b936f7b341f6fe0921b4c41049734684583e3596) ) /* TC531001 */
5058
5059   ROM_REGION( 0xa00000, "ymsnd", 0 )
5060   ROM_LOAD( "222-v1.v1", 0x000000, 0x400000, CRC(7d6ba95f) SHA1(03cb4e0d770e0b332b07b64cacef624460b84c78) ) /* TC5332204 */
5061   ROM_LOAD( "222-v2.v2", 0x400000, 0x400000, CRC(6c33bb5d) SHA1(fd5d4e08a962dd0d22c52c91bad5ec7f23cfb901) ) /* TC5332204 */
5062   ROM_LOAD( "222-v3.v3", 0x800000, 0x200000, CRC(831ea8c0) SHA1(f2987b7d09bdc4311e972ce8a9ab7ca9802db4db) ) /* TC5316200 */
5063
5064   NO_DELTAT_REGION
5065
5066   ROM_REGION( 0x2000000, "sprites", 0 )
5067   ROM_LOAD16_BYTE( "222-c1.c1", 0x0000000, 0x400000, CRC(68f2ed95) SHA1(c0a02df012cd25bcfe341770ea861a80294148cb) ) /* Plane 0,1 */ /* TC5332205 */
5068   ROM_LOAD16_BYTE( "222-c2.c2", 0x0000001, 0x400000, CRC(a6e9aff0) SHA1(15addca49951ed53fa3c000c8d7cd327d012a620) ) /* Plane 2,3 */ /* TC5332205 */
5069   ROM_LOAD16_BYTE( "222-c3.c3", 0x0800000, 0x400000, CRC(c91b40f4) SHA1(dcda45e0336204e3e024de08edfd0a3217bc1fdd) ) /* Plane 0,1 */ /* TC5332205 */
5070   ROM_LOAD16_BYTE( "222-c4.c4", 0x0800001, 0x400000, CRC(359510a4) SHA1(b6642677ebdff7788263266402080272b8a66b15) ) /* Plane 2,3 */ /* TC5332205 */
5071   ROM_LOAD16_BYTE( "222-c5.c5", 0x1000000, 0x400000, CRC(9cfbb22d) SHA1(789c32f917d0c6e38601cd390a7bf9d803131a4a) ) /* Plane 0,1 */ /* TC5332205 */
5072   ROM_LOAD16_BYTE( "222-c6.c6", 0x1000001, 0x400000, CRC(685efc32) SHA1(db21ba1c7e3631ce0f1cb6f503ae7e0e043ff71b) ) /* Plane 2,3 */ /* TC5332205 */
5073   ROM_LOAD16_BYTE( "222-c7.c7", 0x1800000, 0x400000, CRC(d0f86f0d) SHA1(32502d71c2ab1469c492b6b382bf2bb3f85981d9) ) /* Plane 0,1 */ /* TC5332205 */
5074   ROM_LOAD16_BYTE( "222-c8.c8", 0x1800001, 0x400000, CRC(adfc50e3) SHA1(7d7ee874355b5aa75ad9c9a5c9c3df98d098d85e) ) /* Plane 2,3 */ /* TC5332205 */
5075ROM_END
5076
5077/****************************************
5078 ID-0223
5079 . NGM-223
5080 NEO-MVS PROGBK1 / NEO-MVS CHA256B
5081 . NGH-223
5082****************************************/
5083
5084ROM_START( rbffspec )
5085   ROM_REGION( 0x500000, "maincpu", 0 )
5086   ROM_LOAD16_WORD_SWAP( "223-p1.p1",  0x000000, 0x100000, CRC(f84a2d1d) SHA1(fc19225d9dbdb6bd0808023ee32c7829f6ffdef6) ) /* TC538200 */
5087   ROM_LOAD16_WORD_SWAP( "223-p2.sp2", 0x100000, 0x400000, CRC(addd8f08) SHA1(abaf5b86c8ec915c07ef2d83fce9ad03acaa4817) ) /* TC5332205 */
5088
5089   NEO_SFIX_128K( "223-s1.s1", CRC(7ecd6e8c) SHA1(465455afc4d83cbb118142be4671b2539ffafd79) ) /* TC531000 */
5090
5091   NEO_BIOS_AUDIO_128K( "223-m1.m1", CRC(3fee46bf) SHA1(e750f85233953853618fcdff980a4721af1710a3) ) /* TC531001 */
5092
5093   ROM_REGION( 0xc00000, "ymsnd", 0 )
5094   ROM_LOAD( "223-v1.v1", 0x000000, 0x400000, CRC(76673869) SHA1(78a26afa29f73de552ffabdbf3fc4bf26be8ae9e) ) /* TC5332204 */
5095   ROM_LOAD( "223-v2.v2", 0x400000, 0x400000, CRC(7a275acd) SHA1(8afe87ce822614262b72a90b371fc79155ac0d0c) ) /* TC5332204 */
5096   ROM_LOAD( "223-v3.v3", 0x800000, 0x400000, CRC(5a797fd2) SHA1(94958e334f86d4d71059af8138f255b8d97a3b01) ) /* TC5332204 */
5097
5098   NO_DELTAT_REGION
5099
5100   ROM_REGION( 0x2000000, "sprites", 0 )
5101   ROM_LOAD16_BYTE( "223-c1.c1", 0x0000000, 0x400000, CRC(ebab05e2) SHA1(0d60a8b631e3a3dcfbfdd7779dee081c9548ec39) ) /* Plane 0,1 */ /* TC5332205 */
5102   ROM_LOAD16_BYTE( "223-c2.c2", 0x0000001, 0x400000, CRC(641868c3) SHA1(aa1aeb661842276b3326bfa4f1456f75bfecd52e) ) /* Plane 2,3 */ /* TC5332205 */
5103   ROM_LOAD16_BYTE( "223-c3.c3", 0x0800000, 0x400000, CRC(ca00191f) SHA1(96977febfcc513e1848d7029ff169cdf51104038) ) /* Plane 0,1 */ /* TC5332205 */
5104   ROM_LOAD16_BYTE( "223-c4.c4", 0x0800001, 0x400000, CRC(1f23d860) SHA1(e18df52f898a51074e07a0b8c6e75873e7cde35e) ) /* Plane 2,3 */ /* TC5332205 */
5105   ROM_LOAD16_BYTE( "223-c5.c5", 0x1000000, 0x400000, CRC(321e362c) SHA1(39bd189334278f266124c97c6f70995f6f171cea) ) /* Plane 0,1 */ /* TC5332205 */
5106   ROM_LOAD16_BYTE( "223-c6.c6", 0x1000001, 0x400000, CRC(d8fcef90) SHA1(bbccacb27f1e587bc144fe7ce68bd7b327ceaaee) ) /* Plane 2,3 */ /* TC5332205 */
5107   ROM_LOAD16_BYTE( "223-c7.c7", 0x1800000, 0x400000, CRC(bc80dd2d) SHA1(086f372015eede88c6c578595fe915e28a589d2f) ) /* Plane 0,1 */ /* TC5332205 */
5108   ROM_LOAD16_BYTE( "223-c8.c8", 0x1800001, 0x400000, CRC(5ad62102) SHA1(e28cc9840caed2a1a8bd65a03bef05231071040c) ) /* Plane 2,3 */ /* TC5332205 */
5109ROM_END
5110
5111ROM_START( rbffspeck ) /* KOREAN VERSION */
5112   ROM_REGION( 0x500000, "maincpu", 0 )
5113   ROM_LOAD16_WORD_SWAP( "223-p1k.p1", 0x000000, 0x100000, CRC(b78c8391) SHA1(936b356ac135331b10a37bc10882ec2e4f6b400b) )
5114   /* Chip label is correct. They used Cart ID 0124 as 0123 was allready used by quizdaisk */
5115   ROM_LOAD16_WORD_SWAP( "223-p2.sp2", 0x100000, 0x400000, CRC(addd8f08) SHA1(abaf5b86c8ec915c07ef2d83fce9ad03acaa4817) ) /* TC5332205 */
5116
5117   NEO_SFIX_128K( "223-s1.s1", CRC(7ecd6e8c) SHA1(465455afc4d83cbb118142be4671b2539ffafd79) ) /* TC531000 */
5118
5119   NEO_BIOS_AUDIO_128K( "223-m1.m1", CRC(3fee46bf) SHA1(e750f85233953853618fcdff980a4721af1710a3) ) /* TC531001 */
5120
5121   ROM_REGION( 0xc00000, "ymsnd", 0 )
5122   ROM_LOAD( "223-v1.v1", 0x000000, 0x400000, CRC(76673869) SHA1(78a26afa29f73de552ffabdbf3fc4bf26be8ae9e) ) /* TC5332204 */
5123   ROM_LOAD( "223-v2.v2", 0x400000, 0x400000, CRC(7a275acd) SHA1(8afe87ce822614262b72a90b371fc79155ac0d0c) ) /* TC5332204 */
5124   ROM_LOAD( "223-v3.v3", 0x800000, 0x400000, CRC(5a797fd2) SHA1(94958e334f86d4d71059af8138f255b8d97a3b01) ) /* TC5332204 */
5125
5126   NO_DELTAT_REGION
5127
5128   ROM_REGION( 0x2000000, "sprites", 0 )
5129   ROM_LOAD16_BYTE( "223-c1.c1", 0x0000000, 0x400000, CRC(ebab05e2) SHA1(0d60a8b631e3a3dcfbfdd7779dee081c9548ec39) ) /* Plane 0,1 */ /* TC5332205 */
5130   ROM_LOAD16_BYTE( "223-c2.c2", 0x0000001, 0x400000, CRC(641868c3) SHA1(aa1aeb661842276b3326bfa4f1456f75bfecd52e) ) /* Plane 2,3 */ /* TC5332205 */
5131   ROM_LOAD16_BYTE( "223-c3.c3", 0x0800000, 0x400000, CRC(ca00191f) SHA1(96977febfcc513e1848d7029ff169cdf51104038) ) /* Plane 0,1 */ /* TC5332205 */
5132   ROM_LOAD16_BYTE( "223-c4.c4", 0x0800001, 0x400000, CRC(1f23d860) SHA1(e18df52f898a51074e07a0b8c6e75873e7cde35e) ) /* Plane 2,3 */ /* TC5332205 */
5133   ROM_LOAD16_BYTE( "223-c5.c5", 0x1000000, 0x400000, CRC(321e362c) SHA1(39bd189334278f266124c97c6f70995f6f171cea) ) /* Plane 0,1 */ /* TC5332205 */
5134   ROM_LOAD16_BYTE( "223-c6.c6", 0x1000001, 0x400000, CRC(d8fcef90) SHA1(bbccacb27f1e587bc144fe7ce68bd7b327ceaaee) ) /* Plane 2,3 */ /* TC5332205 */
5135   ROM_LOAD16_BYTE( "223-c7.c7", 0x1800000, 0x400000, CRC(bc80dd2d) SHA1(086f372015eede88c6c578595fe915e28a589d2f) ) /* Plane 0,1 */ /* TC5332205 */
5136   ROM_LOAD16_BYTE( "223-c8.c8", 0x1800001, 0x400000, CRC(5ad62102) SHA1(e28cc9840caed2a1a8bd65a03bef05231071040c) ) /* Plane 2,3 */ /* TC5332205 */
5137ROM_END
5138
5139/****************************************
5140 ID-0224
5141 . ADM-013
5142 NEO-MVS PROGBK1 / NEO-MVS CHA256B
5143 . ADH-013
5144****************************************/
5145
5146ROM_START( twinspri )
5147   ROM_REGION( 0x200000, "maincpu", 0 )
5148   ROM_LOAD16_WORD_SWAP( "224-p1.p1", 0x100000, 0x100000, CRC(7697e445) SHA1(5b55ca120f77a931d40719b14e0bfc8cac1d628c) ) /* mask rom TC5316200 */
5149   ROM_CONTINUE( 0x000000, 0x100000 )
5150
5151   NEO_SFIX_128K( "224-s1.s1", CRC(eeed5758) SHA1(24e48f396716e145b692468762cf595fb7267873) ) /* mask rom TC531000 */
5152
5153   NEO_BIOS_AUDIO_128K( "224-m1.m1", CRC(364d6f96) SHA1(779b95a6476089b71f48c8368d9043ee1dba9032) ) /* mask rom TC531001 */
5154
5155   ROM_REGION( 0x600000, "ymsnd", 0 )
5156   ROM_LOAD( "224-v1.v1", 0x000000, 0x400000, CRC(ff57f088) SHA1(1641989b8aac899dbd68aa2332bcdf9b90b33564) ) /* mask rom TC5332204 */
5157   ROM_LOAD( "224-v2.v2", 0x400000, 0x200000, CRC(7ad26599) SHA1(822030037b7664795bf3d64e1452d0aecc22497e) ) /* mask rom TC5316200 */
5158
5159   NO_DELTAT_REGION
5160
5161   ROM_REGION( 0xa00000, "sprites", 0 )
5162   ROM_LOAD16_BYTE( "224-c1.c1", 0x000000, 0x400000, CRC(f7da64ab) SHA1(587a10ed9235c9046a3523fe80feba07764fac9b) ) /* Plane 0,1 */ /* mask rom TC5332205 */
5163   ROM_LOAD16_BYTE( "224-c2.c2", 0x000001, 0x400000, CRC(4c09bbfb) SHA1(e781aafba3bdefb7ed152826f4c3eb441735331c) ) /* Plane 2,3 */ /* mask rom TC5332205 */
5164   ROM_LOAD16_BYTE( "224-c3.c3", 0x800000, 0x100000, CRC(c59e4129) SHA1(93f02d1b4fbb152a9d336494fbff0d7642921de5) ) /* Plane 0,1 */ /* mask rom TC538200 */
5165   ROM_LOAD16_BYTE( "224-c4.c4", 0x800001, 0x100000, CRC(b5532e53) SHA1(7d896c25ba97f6e5d43c13d4df4ba72964a976ed) ) /* Plane 2,3 */ /* mask rom TC538200 */
5166ROM_END
5167
5168/****************************************
5169 ID-0225
5170 . SUM-225
5171 NEO-MVS PROGBK1 / NEO-MVS CHA256B
5172 . SUH-225
5173****************************************/
5174
5175ROM_START( wakuwak7 )
5176   ROM_REGION( 0x300000, "maincpu", 0 )
5177   ROM_LOAD16_WORD_SWAP( "225-p1.p1",  0x000000, 0x100000, CRC(b14da766) SHA1(bdffd72ff705fc6b085a4026217bac1c4bc93163) ) /* TC538200 */
5178   ROM_LOAD16_WORD_SWAP( "225-p2.sp2", 0x100000, 0x200000, CRC(fe190665) SHA1(739d9a8fc2da34381654d9e291141eacc210ae5c) ) /* TC5316200 */
5179
5180   NEO_SFIX_128K( "225-s1.s1", CRC(71c4b4b5) SHA1(9410f13807f01082dc86f2d84051be4bed8e9f7c) ) /* TC531000 */
5181
5182   NEO_BIOS_AUDIO_128K( "225-m1.m1", CRC(0634bba6) SHA1(153aaf016440500df7a4454f3f2f2911219cb7d8) ) /* TC531001 */
5183
5184   ROM_REGION( 0x800000, "ymsnd", 0 )
5185   ROM_LOAD( "225-v1.v1", 0x000000, 0x400000, CRC(6195c6b4) SHA1(66c06b5904aedb256e3997bbec60f8ab50c6ff0c) ) /* TC5332204 */
5186   ROM_LOAD( "225-v2.v2", 0x400000, 0x400000, CRC(6159c5fe) SHA1(9015e93416497f1ef877c717afed40f7ecfa42e4) ) /* TC5332204 */
5187
5188   NO_DELTAT_REGION
5189
5190   ROM_REGION( 0x1800000, "sprites", 0 )
5191   ROM_LOAD16_BYTE( "225-c1.c1", 0x0000000, 0x400000, CRC(ee4fea54) SHA1(314b513a52b2cc88cbf2409d1934c357269a8bb2) ) /* Plane 0,1 */ /* TC5332205 */
5192   ROM_LOAD16_BYTE( "225-c2.c2", 0x0000001, 0x400000, CRC(0c549e2d) SHA1(d8c4626231c92e43d9bf183202553ee2b5c532e6) ) /* Plane 2,3 */ /* TC5332205 */
5193   ROM_LOAD16_BYTE( "225-c3.c3", 0x0800000, 0x400000, CRC(af0897c0) SHA1(2b8ec19b9dd0bd1f1171fb01b915e9d25ec8c421) ) /* Plane 0,1 */ /* TC5332205 */
5194   ROM_LOAD16_BYTE( "225-c4.c4", 0x0800001, 0x400000, CRC(4c66527a) SHA1(6c8c9342fad70b456e282b0d52e7ad890e4673d3) ) /* Plane 2,3 */ /* TC5332205 */
5195   ROM_LOAD16_BYTE( "225-c5.c5", 0x1000000, 0x400000, CRC(8ecea2b5) SHA1(cad51e6e76d8258a78becb6f4096dd061f537494) ) /* Plane 0,1 */ /* TC5332205 */
5196   ROM_LOAD16_BYTE( "225-c6.c6", 0x1000001, 0x400000, CRC(0eb11a6d) SHA1(c6d4f978ff3ca190a3060ac52bd7347189194f76) ) /* Plane 2,3 */ /* TC5332205 */
5197ROM_END
5198
5199/****************************************
5200 ID-0226
5201 Pair Pair Wars (prototype) 1996 Sunsoft?
5202****************************************/
5203
5204/****************************************
5205 ID-0227
5206 . NGM-227
5207 NEO-MVS PROGBK1 / NEO-MVS CHA256
5208 . NGH-227
5209****************************************/
5210
5211ROM_START( stakwin2 )
5212   ROM_REGION( 0x200000, "maincpu", 0 )
5213   ROM_LOAD16_WORD_SWAP( "227-p1.p1", 0x100000, 0x100000, CRC(daf101d2) SHA1(96b90f884bae2969ebd8c04aba509928464e2433) ) /* mask rom TC5316200 */
5214   ROM_CONTINUE( 0x000000, 0x100000 )
5215
5216   NEO_SFIX_128K( "227-s1.s1", CRC(2a8c4462) SHA1(9155fbb5fee6d46a68d17ea780a7a92565f9aa47) ) /* mask rom TC531000 */
5217
5218   NEO_BIOS_AUDIO_128K( "227-m1.m1", CRC(c8e5e0f9) SHA1(09bb05ae6f09b59b9e4871fae1fc7c3bafd07394) ) /* mask rom TC531001 */
5219
5220   ROM_REGION( 0x800000, "ymsnd", 0 )
5221   ROM_LOAD( "227-v1.v1", 0x000000, 0x400000, CRC(b8f24181) SHA1(0a3af88d20ff65b82c58325d32c20b99fc07f7f3) ) /* mask rom TC5332204 */
5222   ROM_LOAD( "227-v2.v2", 0x400000, 0x400000, CRC(ee39e260) SHA1(4ed6802564ce262ebe92c7276424056b70998758) ) /* mask rom TC5332204 */
5223
5224   NO_DELTAT_REGION
5225
5226   ROM_REGION( 0xc00000, "sprites", 0 )
5227   ROM_LOAD16_BYTE( "227-c1.c1", 0x0000000, 0x400000, CRC(7d6c2af4) SHA1(e54f0ab15c95d7a6f965b5d8ab28b5445100650b) ) /* Plane 0,1 */ /* mask rom TC5332205 */
5228   ROM_LOAD16_BYTE( "227-c2.c2", 0x0000001, 0x400000, CRC(7e402d39) SHA1(9d3a44f98ddd0b606c8b3efa0c6b9d5a46c0bfeb) ) /* Plane 2,3 */ /* mask rom TC5332205 */
5229   ROM_LOAD16_BYTE( "227-c3.c3", 0x0800000, 0x200000, CRC(93dfd660) SHA1(5b473c556ef919cd7a872351dbb20a636aae32b6) ) /* Plane 0,1 */ /* mask rom TC5316200 */
5230   ROM_LOAD16_BYTE( "227-c4.c4", 0x0800001, 0x200000, CRC(7efea43a) SHA1(3f2b1718fe7be06b6d75ec34badc2de2a3554d3e) ) /* Plane 2,3 */ /* mask rom TC5316200 */
5231ROM_END
5232
5233/****************************************
5234 ID-0228
5235 Ghostlop (prototype) 1996 Data East Corp.
5236****************************************/
5237
5238ROM_START( ghostlop ) /* Prototype */
5239   ROM_REGION( 0x100000, "maincpu", 0 )
5240   ROM_LOAD16_WORD_SWAP( "proto_228-p1.p1", 0x000000, 0x100000, CRC(6033172e) SHA1(f57fb706aa8dd9e5f9e992a5d35c1799578b59f8) )
5241
5242   NEO_SFIX_128K( "proto_228-s1.s1", CRC(83c24e81) SHA1(585ef209d8bfc23bdccc1f37d8b764eeedfedc1c) )
5243
5244   NEO_BIOS_AUDIO_128K( "proto_228-m1.m1", CRC(fd833b33) SHA1(ab6c218c42cba821654cbdae154efecb69f844f6) )
5245
5246   ROM_REGION( 0x200000, "ymsnd", 0 )
5247   ROM_LOAD( "proto_228-v1.v1", 0x000000, 0x200000, CRC(c603fce6) SHA1(5a866471d35895b2ae13cbd5d1cb41bf2e72e1b8) )
5248
5249   NO_DELTAT_REGION
5250
5251   ROM_REGION( 0x800000, "sprites", 0 )
5252   ROM_LOAD16_BYTE( "proto_228-c1.c1", 0x000000, 0x400000, CRC(bfc99efe) SHA1(5cd2545310142080b8286e787cf5b859f627b3db) ) /* Plane 0,1 */
5253   ROM_LOAD16_BYTE( "proto_228-c2.c2", 0x000001, 0x400000, CRC(69788082) SHA1(c3ecb42ddcbd9e16d0018a0c3adb56a911d813ca) ) /* Plane 2,3 */
5254ROM_END
5255
5256/****************************************
5257 ID-0229
5258 King of Fighters '96 CD Collection (CD only)
5259****************************************/
5260
5261
5262/* With ID-0230 the product ID code changed from xxM-xxx / xxH-xxx to xxM-xxx0 / xxH-xxx0 */
5263
5264
5265/****************************************
5266 ID-0230
5267 . NGM-2300
5268 NEO-MVS PROGBK1 / NEO-MVS CHA256B
5269 . NGH-2300
5270****************************************/
5271
5272ROM_START( breakers )
5273   ROM_REGION( 0x200000, "maincpu", 0 )
5274   ROM_LOAD16_WORD_SWAP( "230-p1.p1", 0x100000, 0x100000, CRC(ed24a6e6) SHA1(3fb77ae696d92d2f9a5d589e08b708545c7cda0a) ) /* TC5316200 */
5275   ROM_CONTINUE( 0x000000, 0x100000 )
5276
5277   NEO_SFIX_128K( "230-s1.s1", CRC(076fb64c) SHA1(c166038128d7004f69932141f83b320a35c2b4ca) ) /* TC531000 */
5278
5279   NEO_BIOS_AUDIO_128K( "230-m1.m1", CRC(3951a1c1) SHA1(1e6442a7ea82ada9503d71045dd93e12bd05254f) ) /* TC531001 */
5280
5281   ROM_REGION( 0x800000, "ymsnd", 0 )
5282   ROM_LOAD( "230-v1.v1", 0x000000, 0x400000, CRC(7f9ed279) SHA1(acd0558960ec29bfc3e3ee99d00e503bebff8513) ) /* TC5332204 */
5283   ROM_LOAD( "230-v2.v2", 0x400000, 0x400000, CRC(1d43e420) SHA1(26d09b8b18b4b802dbda4d6f06626c24d0b7c512) ) /* TC5332204 */
5284
5285   NO_DELTAT_REGION
5286
5287   ROM_REGION( 0x1000000, "sprites", 0 )
5288   ROM_LOAD16_BYTE( "230-c1.c1", 0x000000, 0x400000, CRC(68d4ae76) SHA1(2e820067f6963669f104bebf19e865fe4127b4dd) ) /* Plane 0,1 */ /* TC5332205 */
5289   ROM_LOAD16_BYTE( "230-c2.c2", 0x000001, 0x400000, CRC(fdee05cd) SHA1(efc4ffd790953ac7c25d5f045c64a9b49d24b096) ) /* Plane 2,3 */ /* TC5332205 */
5290   ROM_LOAD16_BYTE( "230-c3.c3", 0x800000, 0x400000, CRC(645077f3) SHA1(0ae74f3b4b3b88f128c6d8c0f35ffa53f5d67ef2) ) /* Plane 0,1 */ /* TC5332205 */
5291   ROM_LOAD16_BYTE( "230-c4.c4", 0x800001, 0x400000, CRC(63aeb74c) SHA1(9ff6930c0c3d79b46b86356e8565ce4fcd69ac38) ) /* Plane 2,3 */ /* TC5332205 */
5292ROM_END
5293
5294/****************************************
5295 ID-0231
5296 . ??M-2310
5297 NEO-MVS PROGBK1 / NEO-MVS CHA42G-3B
5298****************************************/
5299
5300ROM_START( miexchng ) /* MVS ONLY RELEASE */
5301   ROM_REGION( 0x100000, "maincpu", 0 )
5302   ROM_LOAD16_WORD_SWAP( "231-p1.p1", 0x000000, 0x80000, CRC(61be1810) SHA1(1ab0e11352ca05329c6e3f5657b60e4a227fcbfb) ) /* mask rom TC534200 */
5303
5304   NEO_SFIX_128K( "231-s1.s1", CRC(fe0c0c53) SHA1(54d56d4463db193e504658f4f6f4997a62ae3d95) ) /* mask rom TC531000 */
5305
5306   NEO_BIOS_AUDIO_128K( "231-m1.m1", CRC(de41301b) SHA1(59ce3836ac8f064d56a446c9374f05bcb40fcfd8) ) /* mask rom TC531001 */
5307
5308   ROM_REGION( 0x400000, "ymsnd", 0 )
5309   ROM_LOAD( "231-v1.v1", 0x000000, 0x400000, CRC(113fb898) SHA1(9168ba90c4aa969f69eb11ba3f4d76592d81e05a) ) /* mask rom TC5332204 */
5310
5311   NO_DELTAT_REGION
5312
5313   ROM_REGION( 0x600000, "sprites", 0 )
5314   ROM_LOAD16_BYTE( "231-c1.c1", 0x000000, 0x200000, CRC(6c403ba3) SHA1(3830446fbd07d5a6564f9ac68a4bec5ff5b7d5c9) ) /* Plane 0,1 */ /* mask rom TC5316200 */
5315   ROM_LOAD16_BYTE( "231-c2.c2", 0x000001, 0x200000, CRC(554bcd9b) SHA1(e658161618bd41a66f1040be409efdea28020cf6) ) /* Plane 2,3 */ /* mask rom TC5316200 */
5316   ROM_LOAD16_BYTE( "231-c3.c3", 0x400000, 0x100000, CRC(4f6f7a63) SHA1(10935dbc1f52b95979a097b13a114cff18d4d446) ) /* Plane 0,1 */ /* mask rom TC538200 */
5317   ROM_LOAD16_BYTE( "231-c4.c4", 0x400001, 0x100000, CRC(2e35e71b) SHA1(6f248191c2c60ca1b1b4f2ebf08756e036682144) ) /* Plane 2,3 */ /* mask rom TC538200 */
5318ROM_END
5319
5320/****************************************
5321 ID-0232
5322 . NGM-2320
5323 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5324 . NGH-2320
5325 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5326****************************************/
5327
5328ROM_START( kof97 ) /* MVS VERSION */
5329   ROM_REGION( 0x500000, "maincpu", 0 )
5330   ROM_LOAD16_WORD_SWAP( "232-p1.p1",  0x000000, 0x100000, CRC(7db81ad9) SHA1(8bc42be872fd497eb198ca13bf004852b88eb1dc) ) /* TC538200 */
5331   ROM_LOAD16_WORD_SWAP( "232-p2.sp2", 0x100000, 0x400000, CRC(158b23f6) SHA1(9744620a70513490aaf9c5eda33e5ec31222be19) ) /* TC5332205 */
5332
5333   NEO_SFIX_128K( "232-s1.s1", CRC(8514ecf5) SHA1(18d8e7feb51ea88816f1c786932a53655b0de6a0) ) /* TC531000 */
5334
5335   NEO_BIOS_AUDIO_128K( "232-m1.m1", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) ) /* TC531001 */
5336
5337   ROM_REGION( 0xc00000, "ymsnd", 0 )
5338   ROM_LOAD( "232-v1.v1", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) ) /* TC5332204 */
5339   ROM_LOAD( "232-v2.v2", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) ) /* TC5332204 */
5340   ROM_LOAD( "232-v3.v3", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) ) /* TC5332204 */
5341
5342   NO_DELTAT_REGION
5343
5344   ROM_REGION( 0x2800000, "sprites", 0 )
5345   ROM_LOAD16_BYTE( "232-c1.c1", 0x0000000, 0x800000, CRC(5f8bf0a1) SHA1(e8b63bbc814de171fd18c5864a7fc639970c1ecf) ) /* Plane 0,1 */ /* TC5364205 */
5346   ROM_LOAD16_BYTE( "232-c2.c2", 0x0000001, 0x800000, CRC(e4d45c81) SHA1(fdb2b9326362e27b1c7a5beb977e0bc537488186) ) /* Plane 2,3 */ /* TC5364205 */
5347   ROM_LOAD16_BYTE( "232-c3.c3", 0x1000000, 0x800000, CRC(581d6618) SHA1(14d3124a08ded59f86932c6b28e1a4e48c564ccd) ) /* Plane 0,1 */ /* TC5364205 */
5348   ROM_LOAD16_BYTE( "232-c4.c4", 0x1000001, 0x800000, CRC(49bb1e68) SHA1(f769c1bd1b019521111ff3f0d22c63cb1f2640ef) ) /* Plane 2,3 */ /* TC5364205 */
5349   ROM_LOAD16_BYTE( "232-c5.c5", 0x2000000, 0x400000, CRC(34fc4e51) SHA1(b39c65f27873f71a6f5a5d1d04e5435f874472ee) ) /* Plane 0,1 */ /* TC5332205 */
5350   ROM_LOAD16_BYTE( "232-c6.c6", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */ /* TC5332205 */
5351ROM_END
5352
5353ROM_START( kof97h ) /* AES VERSION */
5354   ROM_REGION( 0x500000, "maincpu", 0 )
5355   ROM_LOAD16_WORD_SWAP( "232-pg1.p1", 0x000000, 0x100000, CRC(5c2400b7) SHA1(49e23f80c012c62146a1bb8f254a7597823de430) ) /* TC538200 */
5356   ROM_LOAD16_WORD_SWAP( "232-p2.sp2", 0x100000, 0x400000, CRC(158b23f6) SHA1(9744620a70513490aaf9c5eda33e5ec31222be19) ) /* TC5332205 */
5357
5358   NEO_SFIX_128K( "232-s1.s1", CRC(8514ecf5) SHA1(18d8e7feb51ea88816f1c786932a53655b0de6a0) ) /* TC531000 */
5359
5360   NEO_BIOS_AUDIO_128K( "232-m1.m1", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) ) /* TC531001 */
5361
5362   ROM_REGION( 0xc00000, "ymsnd", 0 )
5363   ROM_LOAD( "232-v1.v1", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) ) /* TC5332204 */
5364   ROM_LOAD( "232-v2.v2", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) ) /* TC5332204 */
5365   ROM_LOAD( "232-v3.v3", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) ) /* TC5332204 */
5366
5367   NO_DELTAT_REGION
5368
5369   ROM_REGION( 0x2800000, "sprites", 0 )
5370   ROM_LOAD16_BYTE( "232-c1.c1", 0x0000000, 0x800000, CRC(5f8bf0a1) SHA1(e8b63bbc814de171fd18c5864a7fc639970c1ecf) ) /* Plane 0,1 */ /* TC5364205 */
5371   ROM_LOAD16_BYTE( "232-c2.c2", 0x0000001, 0x800000, CRC(e4d45c81) SHA1(fdb2b9326362e27b1c7a5beb977e0bc537488186) ) /* Plane 2,3 */ /* TC5364205 */
5372   ROM_LOAD16_BYTE( "232-c3.c3", 0x1000000, 0x800000, CRC(581d6618) SHA1(14d3124a08ded59f86932c6b28e1a4e48c564ccd) ) /* Plane 0,1 */ /* TC5364205 */
5373   ROM_LOAD16_BYTE( "232-c4.c4", 0x1000001, 0x800000, CRC(49bb1e68) SHA1(f769c1bd1b019521111ff3f0d22c63cb1f2640ef) ) /* Plane 2,3 */ /* TC5364205 */
5374   ROM_LOAD16_BYTE( "232-c5.c5", 0x2000000, 0x400000, CRC(34fc4e51) SHA1(b39c65f27873f71a6f5a5d1d04e5435f874472ee) ) /* Plane 0,1 */ /* TC5332205 */
5375   ROM_LOAD16_BYTE( "232-c6.c6", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */ /* TC5332205 */
5376ROM_END
5377
5378ROM_START( kof97k ) /* KOREAN VERSION */
5379   ROM_REGION( 0x500000, "maincpu", 0 )
5380   ROM_LOAD16_WORD_SWAP( "232-p1.p1",  0x000000, 0x100000, CRC(7db81ad9) SHA1(8bc42be872fd497eb198ca13bf004852b88eb1dc) ) /* TC538200 */
5381   ROM_LOAD16_WORD_SWAP( "232-p2.sp2", 0x100000, 0x400000, CRC(158b23f6) SHA1(9744620a70513490aaf9c5eda33e5ec31222be19) ) /* TC5332205 */
5382
5383   NEO_SFIX_128K( "232-s1.s1", CRC(8514ecf5) SHA1(18d8e7feb51ea88816f1c786932a53655b0de6a0) ) /* TC531000 */
5384
5385   NEO_BIOS_AUDIO_128K( "232-m1k.m1", CRC(bbea9070) SHA1(c26c2e29fe90966dd574838be63f0037ea799aca) )
5386
5387   ROM_REGION( 0xc00000, "ymsnd", 0 )
5388   ROM_LOAD( "232-v1.v1", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) ) /* TC5332204 */
5389   ROM_LOAD( "232-v2.v2", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) ) /* TC5332204 */
5390   ROM_LOAD( "232-v3.v3", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) ) /* TC5332204 */
5391
5392   NO_DELTAT_REGION
5393
5394   ROM_REGION( 0x2800000, "sprites", 0 )
5395   ROM_LOAD16_BYTE( "232-c1.c1", 0x0000000, 0x800000, CRC(5f8bf0a1) SHA1(e8b63bbc814de171fd18c5864a7fc639970c1ecf) ) /* Plane 0,1 */ /* TC5364205 */
5396   ROM_LOAD16_BYTE( "232-c2.c2", 0x0000001, 0x800000, CRC(e4d45c81) SHA1(fdb2b9326362e27b1c7a5beb977e0bc537488186) ) /* Plane 2,3 */ /* TC5364205 */
5397   ROM_LOAD16_BYTE( "232-c3.c3", 0x1000000, 0x800000, CRC(581d6618) SHA1(14d3124a08ded59f86932c6b28e1a4e48c564ccd) ) /* Plane 0,1 */ /* TC5364205 */
5398   ROM_LOAD16_BYTE( "232-c4.c4", 0x1000001, 0x800000, CRC(49bb1e68) SHA1(f769c1bd1b019521111ff3f0d22c63cb1f2640ef) ) /* Plane 2,3 */ /* TC5364205 */
5399   ROM_LOAD16_BYTE( "232-c5.c5", 0x2000000, 0x400000, CRC(34fc4e51) SHA1(b39c65f27873f71a6f5a5d1d04e5435f874472ee) ) /* Plane 0,1 */ /* TC5332205 */
5400   ROM_LOAD16_BYTE( "232-c6.c6", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */ /* TC5332205 */
5401ROM_END
5402
5403/****************************************
5404 ID-0233
5405 . NGM-2330
5406 NEO-MVS PROGBK1 / NEO-MVS CHA256
5407 . NGH-2330
5408****************************************/
5409
5410ROM_START( magdrop3 )
5411   ROM_REGION( 0x100000, "maincpu", 0 )
5412   ROM_LOAD16_WORD_SWAP( "233-p1.p1", 0x000000, 0x100000, CRC(931e17fa) SHA1(4a95c4b79d0878485ce272e9f4c4f647bec0e070) ) /* TC538200 */
5413
5414   NEO_SFIX_128K( "233-s1.s1", CRC(7399e68a) SHA1(b535ee56a0f0995f04674e676f6aa636ffad26aa) ) /* TC531000 */
5415
5416   NEO_BIOS_AUDIO_128K( "233-m1.m1", CRC(5beaf34e) SHA1(2905d26945932cddc2dd3a1dc5abba8aa3baee14) ) /* TC531001 */
5417
5418   ROM_REGION( 0x480000, "ymsnd", 0 )
5419   ROM_LOAD( "233-v1.v1", 0x000000, 0x400000, CRC(58839298) SHA1(18cae7bba997c52780761cbf119c4e4b34397a61) ) /* TC5332204 */
5420   ROM_LOAD( "233-v2.v2", 0x400000, 0x080000, CRC(d5e30df4) SHA1(bbbc0ff5b975471bd682f85976ac4a93f6d44f2e) ) /* TC534200 */
5421
5422   NO_DELTAT_REGION
5423
5424   ROM_REGION( 0x1000000, "sprites", 0 )
5425   ROM_LOAD16_BYTE( "233-c1.c1", 0x000000, 0x400000, CRC(65e3f4c4) SHA1(a6deb75d802225327f8f1c2733a7f2b47e722e59) ) /* Plane 0,1 */ /* TC5332205 */
5426   ROM_LOAD16_BYTE( "233-c2.c2", 0x000001, 0x400000, CRC(35dea6c9) SHA1(ea133bf947f950236f49d0ae0d1a9af3bc1a9a50) ) /* Plane 2,3 */ /* TC5332205 */
5427   ROM_LOAD16_BYTE( "233-c3.c3", 0x800000, 0x400000, CRC(0ba2c502) SHA1(8e0f1e553aef04758aaaa14d5115f0ecace4391e) ) /* Plane 0,1 */ /* TC5332205 */
5428   ROM_LOAD16_BYTE( "233-c4.c4", 0x800001, 0x400000, CRC(70dbbd6d) SHA1(32dd6a04c6329e89f4878e7a56f0d172a6388eea) ) /* Plane 2,3 */ /* TC5332205 */
5429ROM_END
5430
5431/****************************************
5432 ID-0234
5433 . NGM-2340
5434 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5435 . NGH-2340
5436 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5437****************************************/
5438
5439ROM_START( lastblad ) /* MVS VERSION */
5440   ROM_REGION( 0x500000, "maincpu", 0 )
5441   ROM_LOAD16_WORD_SWAP( "234-p1.p1",  0x000000, 0x100000, CRC(e123a5a3) SHA1(a3ddabc00feeb54272b145246612ad4632b0e413) ) /* TC538200 */
5442   ROM_LOAD16_WORD_SWAP( "234-p2.sp2", 0x100000, 0x400000, CRC(0fdc289e) SHA1(1ff31c0b0f4f9ddbedaf4bcf927faaae81892ec7) ) /* TC5332205 */
5443
5444   NEO_SFIX_128K( "234-s1.s1", CRC(95561412) SHA1(995de272f572fd08d909d3d0af4251b9957b3640) ) /* TC531000 */
5445
5446   NEO_BIOS_AUDIO_128K( "234-m1.m1", CRC(087628ea) SHA1(48dcf739bb16699af4ab8ed632b7dcb25e470e06) ) /* TC531001 */
5447
5448   ROM_REGION( 0x1000000, "ymsnd", 0 )
5449   ROM_LOAD( "234-v1.v1", 0x000000, 0x400000, CRC(ed66b76f) SHA1(8a05ff06d9b6f01c6c16b3026282eaabb0e25b44) ) /* TC5332204 */
5450   ROM_LOAD( "234-v2.v2", 0x400000, 0x400000, CRC(a0e7f6e2) SHA1(753ff74fa9294f695aae511ae01ead119b114a57) ) /* TC5332204 */
5451   ROM_LOAD( "234-v3.v3", 0x800000, 0x400000, CRC(a506e1e2) SHA1(b3e04ba1a5cb50b77c6fbe9fe353b9b64b6f3f74) ) /* TC5332204 */
5452   ROM_LOAD( "234-v4.v4", 0xc00000, 0x400000, CRC(0e34157f) SHA1(20A1F4833E5E29BA0073C1712D7A17AB7A2A035C) ) /* TC5332204 */
5453
5454   NO_DELTAT_REGION
5455
5456   ROM_REGION( 0x2800000, "sprites", 0 )
5457   ROM_LOAD16_BYTE( "234-c1.c1", 0x0000000, 0x800000, CRC(9f7e2bd3) SHA1(2828aca0c0f5802110f10453c1cf640f69736554) ) /* Plane 0,1 */ /* TC5364205 */
5458   ROM_LOAD16_BYTE( "234-c2.c2", 0x0000001, 0x800000, CRC(80623d3c) SHA1(ad460615115ec8fb25206f012da59ecfc8059b64) ) /* Plane 2,3 */ /* TC5364205 */
5459   ROM_LOAD16_BYTE( "234-c3.c3", 0x1000000, 0x800000, CRC(91ab1a30) SHA1(e3cf9133784bef2c8f1bfe45f277ccf82cc6f6a1) ) /* Plane 0,1 */ /* TC5364205 */
5460   ROM_LOAD16_BYTE( "234-c4.c4", 0x1000001, 0x800000, CRC(3d60b037) SHA1(78a50233bcd19e92c7b6f7ee1a53417d9db21f6a) ) /* Plane 2,3 */ /* TC5364205 */
5461   ROM_LOAD16_BYTE( "234-c5.c5", 0x2000000, 0x400000, CRC(1ba80cee) SHA1(0c59057183b5279b747e73213b4cd3c6d7ad9eb1) ) /* Plane 0,1 */ /* TC5332205 */
5462   ROM_LOAD16_BYTE( "234-c6.c6", 0x2000001, 0x400000, CRC(beafd091) SHA1(55df9cc128eb0f00856de3996c946e3efe8f09a5) ) /* Plane 2,3 */ /* TC5332205 */
5463ROM_END
5464
5465ROM_START( lastbladh ) /* AES VERSION */
5466   ROM_REGION( 0x500000, "maincpu", 0 )
5467   ROM_LOAD16_WORD_SWAP( "234-pg1.p1", 0x000000, 0x100000, CRC(cd01c06d) SHA1(d66142571afe07c6191b52f319f1bc8bc8541c14) ) /* TC538200 */
5468   ROM_LOAD16_WORD_SWAP( "234-p2.sp2", 0x100000, 0x400000, CRC(0fdc289e) SHA1(1ff31c0b0f4f9ddbedaf4bcf927faaae81892ec7) ) /* TC5332205 */
5469
5470   NEO_SFIX_128K( "234-s1.s1", CRC(95561412) SHA1(995de272f572fd08d909d3d0af4251b9957b3640) ) /* TC531000 */
5471
5472   NEO_BIOS_AUDIO_128K( "234-m1.m1", CRC(087628ea) SHA1(48dcf739bb16699af4ab8ed632b7dcb25e470e06) ) /* TC531001 */
5473
5474   ROM_REGION( 0x1000000, "ymsnd", 0 )
5475   ROM_LOAD( "234-v1.v1", 0x000000, 0x400000, CRC(ed66b76f) SHA1(8a05ff06d9b6f01c6c16b3026282eaabb0e25b44) ) /* TC5332204 */
5476   ROM_LOAD( "234-v2.v2", 0x400000, 0x400000, CRC(a0e7f6e2) SHA1(753ff74fa9294f695aae511ae01ead119b114a57) ) /* TC5332204 */
5477   ROM_LOAD( "234-v3.v3", 0x800000, 0x400000, CRC(a506e1e2) SHA1(b3e04ba1a5cb50b77c6fbe9fe353b9b64b6f3f74) ) /* TC5332204 */
5478   ROM_LOAD( "234-v4.v4", 0xc00000, 0x400000, CRC(0e34157f) SHA1(20A1F4833E5E29BA0073C1712D7A17AB7A2A035C) ) /* TC5332204 */
5479
5480   NO_DELTAT_REGION
5481
5482   ROM_REGION( 0x2800000, "sprites", 0 )
5483   ROM_LOAD16_BYTE( "234-c1.c1", 0x0000000, 0x800000, CRC(9f7e2bd3) SHA1(2828aca0c0f5802110f10453c1cf640f69736554) ) /* Plane 0,1 */ /* TC5364205 */
5484   ROM_LOAD16_BYTE( "234-c2.c2", 0x0000001, 0x800000, CRC(80623d3c) SHA1(ad460615115ec8fb25206f012da59ecfc8059b64) ) /* Plane 2,3 */ /* TC5364205 */
5485   ROM_LOAD16_BYTE( "234-c3.c3", 0x1000000, 0x800000, CRC(91ab1a30) SHA1(e3cf9133784bef2c8f1bfe45f277ccf82cc6f6a1) ) /* Plane 0,1 */ /* TC5364205 */
5486   ROM_LOAD16_BYTE( "234-c4.c4", 0x1000001, 0x800000, CRC(3d60b037) SHA1(78a50233bcd19e92c7b6f7ee1a53417d9db21f6a) ) /* Plane 2,3 */ /* TC5364205 */
5487   ROM_LOAD16_BYTE( "234-c5.c5", 0x2000000, 0x400000, CRC(1ba80cee) SHA1(0c59057183b5279b747e73213b4cd3c6d7ad9eb1) ) /* Plane 0,1 */ /* TC5332205 */
5488   ROM_LOAD16_BYTE( "234-c6.c6", 0x2000001, 0x400000, CRC(beafd091) SHA1(55df9cc128eb0f00856de3996c946e3efe8f09a5) ) /* Plane 2,3 */ /* TC5332205 */
5489ROM_END
5490
5491ROM_START( lastsold ) /* KOREAN VERSION */
5492   ROM_REGION( 0x500000, "maincpu", 0 )
5493   ROM_LOAD16_WORD_SWAP( "134-p1k.p1", 0x000000, 0x100000, CRC(906f3065) SHA1(25167665f1b8e82e13f7fcf4d0e3c54a925c2a58) ) /* TC538200 */
5494   ROM_LOAD16_WORD_SWAP( "234-p2.sp2", 0x100000, 0x400000, CRC(0fdc289e) SHA1(1ff31c0b0f4f9ddbedaf4bcf927faaae81892ec7) ) /* TC5332205 */
5495
5496   NEO_SFIX_128K( "234-s1.s1", CRC(95561412) SHA1(995de272f572fd08d909d3d0af4251b9957b3640) ) /* TC531000 */
5497
5498   NEO_BIOS_AUDIO_128K( "234-m1.m1", CRC(087628ea) SHA1(48dcf739bb16699af4ab8ed632b7dcb25e470e06) ) /* TC531001 */
5499
5500   ROM_REGION( 0x1000000, "ymsnd", 0 )
5501   ROM_LOAD( "234-v1.v1", 0x000000, 0x400000, CRC(ed66b76f) SHA1(8a05ff06d9b6f01c6c16b3026282eaabb0e25b44) ) /* TC5332204 */
5502   ROM_LOAD( "234-v2.v2", 0x400000, 0x400000, CRC(a0e7f6e2) SHA1(753ff74fa9294f695aae511ae01ead119b114a57) ) /* TC5332204 */
5503   ROM_LOAD( "234-v3.v3", 0x800000, 0x400000, CRC(a506e1e2) SHA1(b3e04ba1a5cb50b77c6fbe9fe353b9b64b6f3f74) ) /* TC5332204 */
5504   ROM_LOAD( "234-v4.v4", 0xc00000, 0x400000, CRC(0e34157f) SHA1(20A1F4833E5E29BA0073C1712D7A17AB7A2A035C) ) /* TC5332204 */
5505
5506   NO_DELTAT_REGION
5507
5508   ROM_REGION( 0x2800000, "sprites", 0 )
5509   ROM_LOAD16_BYTE( "234-c1.c1", 0x0000000, 0x800000, CRC(9f7e2bd3) SHA1(2828aca0c0f5802110f10453c1cf640f69736554) ) /* Plane 0,1 */ /* TC5364205 */
5510   ROM_LOAD16_BYTE( "234-c2.c2", 0x0000001, 0x800000, CRC(80623d3c) SHA1(ad460615115ec8fb25206f012da59ecfc8059b64) ) /* Plane 2,3 */ /* TC5364205 */
5511   ROM_LOAD16_BYTE( "234-c3.c3", 0x1000000, 0x800000, CRC(91ab1a30) SHA1(e3cf9133784bef2c8f1bfe45f277ccf82cc6f6a1) ) /* Plane 0,1 */ /* TC5364205 */
5512   ROM_LOAD16_BYTE( "234-c4.c4", 0x1000001, 0x800000, CRC(3d60b037) SHA1(78a50233bcd19e92c7b6f7ee1a53417d9db21f6a) ) /* Plane 2,3 */ /* TC5364205 */
5513   ROM_LOAD16_BYTE( "234-c5.c5", 0x2000000, 0x400000, CRC(1ba80cee) SHA1(0c59057183b5279b747e73213b4cd3c6d7ad9eb1) ) /* Plane 0,1 */ /* TC5332205 */
5514   ROM_LOAD16_BYTE( "234-c6.c6", 0x2000001, 0x400000, CRC(beafd091) SHA1(55df9cc128eb0f00856de3996c946e3efe8f09a5) ) /* Plane 2,3 */ /* TC5332205 */
5515ROM_END
5516
5517/****************************************
5518 ID-0235
5519 . ??M-2350
5520 NEO-MVS PROG 4096 / NEO-MVS CHA 42G-2
5521****************************************/
5522
5523ROM_START( puzzldpr ) /* MVS ONLY RELEASE */
5524   ROM_REGION( 0x100000, "maincpu", 0 )
5525   ROM_LOAD16_WORD_SWAP( "235-p1.p1", 0x000000, 0x080000, CRC(afed5de2) SHA1(a5d82c6dbe687505e8c8d7339908da45cd379a0b) )
5526
5527   NEO_SFIX_64K( "235-s1.s1", BAD_DUMP CRC(5a68d91e) SHA1(a8c58eb68fd7e6e2d9d1153a9da514430437f342) )
5528
5529   NEO_BIOS_AUDIO_128K( "202-m1.m1", CRC(9c0291ea) SHA1(3fa67c62acba79be6b3a98cc1601e45569fa11ae) ) /* TC531001 */
5530
5531   ROM_REGION( 0x080000, "ymsnd", 0 )
5532   ROM_LOAD( "202-v1.v1", 0x000000, 0x080000, CRC(debeb8fb) SHA1(49a3d3578c087f1a0050168571ef8d1b08c5dc05) ) /* TC534200 */
5533
5534   NO_DELTAT_REGION
5535
5536   ROM_REGION( 0x200000, "sprites", 0 )
5537   ROM_LOAD16_BYTE( "202-c1.c1", 0x000000, 0x100000, CRC(cc0095ef) SHA1(3d86f455e6db10a2449b775dc386f1826ba3b62e) ) /* Plane 0,1 */ /* TC538200 */
5538   ROM_LOAD16_BYTE( "202-c2.c2", 0x000001, 0x100000, CRC(42371307) SHA1(df794f989e2883634bf7ffeea48d6bc3854529af) ) /* Plane 2,3 */ /* TC538200 */
5539ROM_END
5540
5541/****************************************
5542 ID-0236
5543 . ??M-2360
5544 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5545****************************************/
5546
5547ROM_START( irrmaze ) /* MVS ONLY RELEASE */
5548   ROM_REGION( 0x200000, "maincpu", 0 )
5549   ROM_LOAD16_WORD_SWAP( "236-p1.p1", 0x100000, 0x100000, CRC(4c2ff660) SHA1(4a0cbd09044648ff9ec67723729f16d422c34bda) )
5550   ROM_CONTINUE( 0x000000, 0x100000 )
5551
5552   NEO_SFIX_128K( "236-s1.s1", CRC(5d1ca640) SHA1(40a9668a1742a44597a07ce72273d17119815637) )
5553
5554   ROM_REGION16_BE( 0x20000, "mainbios", 0 )
5555   /* special BIOS with trackball support, we only have one Irritating Maze bios and thats asia */
5556   ROM_LOAD16_WORD_SWAP("236-bios.sp1", 0x00000, 0x020000, CRC(853e6b96) SHA1(de369cb4a7df147b55168fa7aaf0b98c753b735e) )
5557
5558   ROM_REGION( 0x20000, "audiobios", 0 )
5559   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
5560
5561   ROM_REGION( 0x50000, "audiocpu", 0 )
5562   ROM_LOAD( "236-m1.m1", 0x00000, 0x20000, CRC(880a1abd) SHA1(905afa157aba700e798243b842792e50729b19a0) ) /* so overwrite it with the real thing */
5563   ROM_RELOAD( 0x10000, 0x20000 )
5564
5565   ROM_REGION( 0x200000, "ymsnd", 0 )
5566   ROM_LOAD( "236-v1.v1", 0x000000, 0x200000, CRC(5f89c3b4) SHA1(dc8fd561cf8dfdd41696dcf14ea8d2d0ac4eec4b) )
5567
5568   ROM_REGION( 0x100000, "ymsnd.deltat", 0 )
5569   ROM_LOAD( "236-v2.v2", 0x000000, 0x100000, CRC(1e843567) SHA1(30d63887b4900571025b3077b9e41099a59c3ad9) )
5570
5571   ROM_REGION( 0x0800000, "sprites", 0 )
5572   ROM_LOAD16_BYTE( "236-c1.c1", 0x000000, 0x400000, CRC(c1d47902) SHA1(727001c34f979226fc8f581113ce2aaac4fc0d42) ) /* Plane 0,1 */
5573   ROM_LOAD16_BYTE( "236-c2.c2", 0x000001, 0x400000, CRC(e15f972e) SHA1(6a329559c57a67be73a6733513b59e9e6c8d61cc) ) /* Plane 2,3 */
5574ROM_END
5575
5576/****************************************
5577 ID-0237
5578 . ??M-2370
5579 NEO-MVS PROG 4096 / NEO-MVS CHA42G-3B
5580****************************************/
5581
5582ROM_START( popbounc ) /* MVS ONLY RELEASE */
5583   ROM_REGION( 0x100000, "maincpu", 0 )
5584   ROM_LOAD16_WORD_SWAP( "237-p1.p1", 0x000000, 0x100000, CRC(be96e44f) SHA1(43679da8664fbb491103a1108040ddf94d59fc2b) ) /* TC538200 */
5585
5586   NEO_SFIX_128K( "237-s1.s1", CRC(b61cf595) SHA1(b14f8b78af7c634d41cf34d36b11b116e61f7342) ) /* TC531000 */
5587
5588   NEO_BIOS_AUDIO_128K( "237-m1.m1", CRC(d4c946dd) SHA1(6ca09040b5db8d89511d627954c783154d58ab01) ) /* TC531001 */
5589
5590   ROM_REGION( 0x200000, "ymsnd", 0 )
5591   ROM_LOAD( "237-v1.v1", 0x000000, 0x200000, CRC(edcb1beb) SHA1(62f086b9968b366b59276ee4ae3c32c4d76fc6ce) ) /* TC5316200 */
5592
5593   NO_DELTAT_REGION
5594
5595   ROM_REGION( 0x400000, "sprites", 0 )
5596   ROM_LOAD16_BYTE( "237-c1.c1", 0x000000, 0x200000, CRC(eda42d66) SHA1(2735538fcb9dc0c16e043a8728c8b642650189f4) ) /* Plane 0,1 */ /* TC5316200 */
5597   ROM_LOAD16_BYTE( "237-c2.c2", 0x000001, 0x200000, CRC(5e633c65) SHA1(9a82107caf027317c173c1c1ef676f0fdeea79b2) ) /* Plane 2,3 */ /* TC5316200 */
5598ROM_END
5599
5600/****************************************
5601 ID-0238
5602 . ??M-2380
5603 NEO-MVS PROGBK1 / NEO-MVS CHA256
5604****************************************/
5605
5606ROM_START( shocktro ) /* MVS ONLY RELEASE */
5607   ROM_REGION( 0x500000, "maincpu", 0 )
5608   ROM_LOAD16_WORD_SWAP( "238-p1.p1",  0x000000, 0x100000, CRC(5677456f) SHA1(f76169fa5c90871d65e2a16fd1bb036c90533ac8) )
5609   ROM_LOAD16_WORD_SWAP( "238-p2.sp2", 0x100000, 0x400000, CRC(5b4a09c5) SHA1(de04036cba2da4bb2da73d902d1822b82b4f67a9) ) /* TC5332205 */
5610
5611   NEO_SFIX_128K( "238-s1.s1", CRC(1f95cedb) SHA1(adfa74868147fd260481e4c387d254d3b6de83f4) ) /* TC531000 */
5612
5613   NEO_BIOS_AUDIO_128K( "238-m1.m1", CRC(075b9518) SHA1(ac21b88a860b9572bf24432b4cadcc96d108055d) ) /* TC531001 */
5614
5615   ROM_REGION( 0x600000, "ymsnd", 0 )
5616   ROM_LOAD( "238-v1.v1", 0x000000, 0x400000, CRC(260c0bef) SHA1(9c4f80ce4bb205afed11bb8b8926d20748eb5512) ) /* TC5332204 */
5617   ROM_LOAD( "238-v2.v2", 0x400000, 0x200000, CRC(4ad7d59e) SHA1(bfdf2684f7f38af4e75ad0068ff9463dc2601598) ) /* TC5316200 */
5618
5619   NO_DELTAT_REGION
5620
5621   ROM_REGION( 0x2000000, "sprites", 0 )
5622   ROM_LOAD16_BYTE( "238-c1.c1", 0x0000000, 0x400000, CRC(90c6a181) SHA1(a381bc8449718814ff12b3a4f7fc4d1bb7ea1631) ) /* Plane 0,1 */ /* TC5332205 */
5623   ROM_LOAD16_BYTE( "238-c2.c2", 0x0000001, 0x400000, CRC(888720f0) SHA1(cd4d65df8d3ef0dbcca2b7f3f803f45c457f5beb) ) /* Plane 2,3 */ /* TC5332205 */
5624   ROM_LOAD16_BYTE( "238-c3.c3", 0x0800000, 0x400000, CRC(2c393aa3) SHA1(1cd7cebe5861a2d65f1d6615dd7752162e573a02) ) /* Plane 0,1 */ /* TC5332205 */
5625   ROM_LOAD16_BYTE( "238-c4.c4", 0x0800001, 0x400000, CRC(b9e909eb) SHA1(33cc9b2d13e4ed2ab6040ff582a53dc9bca402e0) ) /* Plane 2,3 */ /* TC5332205 */
5626   ROM_LOAD16_BYTE( "238-c5.c5", 0x1000000, 0x400000, CRC(c22c68eb) SHA1(a4b04118b1b1909d3b76be8d9ee5d97db6120600) ) /* Plane 0,1 */ /* TC5332205 */
5627   ROM_LOAD16_BYTE( "238-c6.c6", 0x1000001, 0x400000, CRC(119323cd) SHA1(05a9d4b1fb4cc963b25452ff6f81e296e0c0b2a1) ) /* Plane 2,3 */ /* TC5332205 */
5628   ROM_LOAD16_BYTE( "238-c7.c7", 0x1800000, 0x400000, CRC(a72ce7ed) SHA1(05b151554bd7af09ccf554a17bc3c75a0512faaf) ) /* Plane 0,1 */ /* TC5332205 */
5629   ROM_LOAD16_BYTE( "238-c8.c8", 0x1800001, 0x400000, CRC(1c7c2efb) SHA1(b055ee43cbdaf9a3cb19e4e1f9dd2c40bde69d70) ) /* Plane 2,3 */ /* TC5332205 */
5630ROM_END
5631
5632ROM_START( shocktroa ) /* MVS ONLY RELEASE */
5633   ROM_REGION( 0x500000, "maincpu", 0 )
5634   ROM_LOAD16_WORD_SWAP( "238-pg1.p1", 0x000000, 0x100000, CRC(efedf8dc) SHA1(f638df9bf7aa7d514ee2bccfc7f2adbf39ca83fc) ) /* mask rom TC538200 */
5635   ROM_LOAD16_WORD_SWAP( "238-p2.sp2", 0x100000, 0x400000, CRC(5b4a09c5) SHA1(de04036cba2da4bb2da73d902d1822b82b4f67a9) ) /* TC5332205 */
5636
5637   NEO_SFIX_128K( "238-s1.s1", CRC(1f95cedb) SHA1(adfa74868147fd260481e4c387d254d3b6de83f4) ) /* TC531000 */
5638
5639   NEO_BIOS_AUDIO_128K( "238-m1.m1", CRC(075b9518) SHA1(ac21b88a860b9572bf24432b4cadcc96d108055d) ) /* TC531001 */
5640
5641   ROM_REGION( 0x600000, "ymsnd", 0 )
5642   ROM_LOAD( "238-v1.v1", 0x000000, 0x400000, CRC(260c0bef) SHA1(9c4f80ce4bb205afed11bb8b8926d20748eb5512) ) /* TC5332204 */
5643   ROM_LOAD( "238-v2.v2", 0x400000, 0x200000, CRC(4ad7d59e) SHA1(bfdf2684f7f38af4e75ad0068ff9463dc2601598) ) /* TC5316200 */
5644
5645   NO_DELTAT_REGION
5646
5647   ROM_REGION( 0x2000000, "sprites", 0 )
5648   ROM_LOAD16_BYTE( "238-c1.c1", 0x0000000, 0x400000, CRC(90c6a181) SHA1(a381bc8449718814ff12b3a4f7fc4d1bb7ea1631) ) /* Plane 0,1 */ /* TC5332205 */
5649   ROM_LOAD16_BYTE( "238-c2.c2", 0x0000001, 0x400000, CRC(888720f0) SHA1(cd4d65df8d3ef0dbcca2b7f3f803f45c457f5beb) ) /* Plane 2,3 */ /* TC5332205 */
5650   ROM_LOAD16_BYTE( "238-c3.c3", 0x0800000, 0x400000, CRC(2c393aa3) SHA1(1cd7cebe5861a2d65f1d6615dd7752162e573a02) ) /* Plane 0,1 */ /* TC5332205 */
5651   ROM_LOAD16_BYTE( "238-c4.c4", 0x0800001, 0x400000, CRC(b9e909eb) SHA1(33cc9b2d13e4ed2ab6040ff582a53dc9bca402e0) ) /* Plane 2,3 */ /* TC5332205 */
5652   ROM_LOAD16_BYTE( "238-c5.c5", 0x1000000, 0x400000, CRC(c22c68eb) SHA1(a4b04118b1b1909d3b76be8d9ee5d97db6120600) ) /* Plane 0,1 */ /* TC5332205 */
5653   ROM_LOAD16_BYTE( "238-c6.c6", 0x1000001, 0x400000, CRC(119323cd) SHA1(05a9d4b1fb4cc963b25452ff6f81e296e0c0b2a1) ) /* Plane 2,3 */ /* TC5332205 */
5654   ROM_LOAD16_BYTE( "238-c7.c7", 0x1800000, 0x400000, CRC(a72ce7ed) SHA1(05b151554bd7af09ccf554a17bc3c75a0512faaf) ) /* Plane 0,1 */ /* TC5332205 */
5655   ROM_LOAD16_BYTE( "238-c8.c8", 0x1800001, 0x400000, CRC(1c7c2efb) SHA1(b055ee43cbdaf9a3cb19e4e1f9dd2c40bde69d70) ) /* Plane 2,3 */ /* TC5332205 */
5656ROM_END
5657
5658/****************************************
5659 ID-0239
5660 . NGM-2390
5661 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5662 . NGH-2390
5663****************************************/
5664
5665ROM_START( blazstar )
5666   ROM_REGION( 0x300000, "maincpu", 0 )
5667   ROM_LOAD16_WORD_SWAP( "239-p1.p1",  0x000000, 0x100000, CRC(183682f8) SHA1(dcee1c2cf4a991ca1f9f2b40c4a738f21682807b) ) /* TC538200 */
5668   ROM_LOAD16_WORD_SWAP( "239-p2.sp2", 0x100000, 0x200000, CRC(9a9f4154) SHA1(f8805453d0995c8fa16cd9accfb7a990071ca630) ) /* TC5316200 */
5669
5670   NEO_SFIX_128K( "239-s1.s1", CRC(d56cb498) SHA1(420ce56431dc7f3f7de84fcbc8c0a17b5eab205e) ) /* TC531000 */
5671
5672   NEO_BIOS_AUDIO_128K( "239-m1.m1", CRC(d31a3aea) SHA1(e23abfeb23052f0358edcf2c83401025fe632511) ) /* TC531001 */
5673
5674   ROM_REGION( 0x800000, "ymsnd", 0 )
5675   ROM_LOAD( "239-v1.v1", 0x000000, 0x400000, CRC(1b8d5bf7) SHA1(67fc1f7e36e92a89cd1d415eb31a2892f57b0d04) ) /* TC5332204 */
5676   ROM_LOAD( "239-v2.v2", 0x400000, 0x400000, CRC(74cf0a70) SHA1(b00451a2a30de2517ae3eca35eb1fe985b950eb8) ) /* TC5332204 */
5677
5678   NO_DELTAT_REGION
5679
5680   ROM_REGION( 0x2000000, "sprites", 0 )
5681   ROM_LOAD16_BYTE( "239-c1.c1", 0x0000000, 0x400000, CRC(84f6d584) SHA1(ff36db8504611b0d8d942d1e24823ff71e4aeb37) ) /* Plane 0,1 */ /* TC5332205 */
5682   ROM_LOAD16_BYTE( "239-c2.c2", 0x0000001, 0x400000, CRC(05a0cb22) SHA1(4abe03e7f3a86f277131d413a3151c7b9c3646c8) ) /* Plane 2,3 */ /* TC5332205 */
5683   ROM_LOAD16_BYTE( "239-c3.c3", 0x0800000, 0x400000, CRC(5fb69c9e) SHA1(77b96518d8ad8ad120537e0f8ba65d69d1c33566) ) /* Plane 0,1 */ /* TC5332205 */
5684   ROM_LOAD16_BYTE( "239-c4.c4", 0x0800001, 0x400000, CRC(0be028c4) SHA1(d3f8b37786ca7838c3525895a7f2b49afc8530d4) ) /* Plane 2,3 */ /* TC5332205 */
5685   ROM_LOAD16_BYTE( "239-c5.c5", 0x1000000, 0x400000, CRC(74bae5f8) SHA1(812c9a31f0721c2971a316b084ce69337dbe3747) ) /* Plane 0,1 */ /* TC5332205 */
5686   ROM_LOAD16_BYTE( "239-c6.c6", 0x1000001, 0x400000, CRC(4e0700d2) SHA1(cd059fb713c403208923c17e1e8ef02fcfd2fe8d) ) /* Plane 2,3 */ /* TC5332205 */
5687   ROM_LOAD16_BYTE( "239-c7.c7", 0x1800000, 0x400000, CRC(010ff4fd) SHA1(2571d406442f007a7458d8ccb0939a9201c9c9bf) ) /* Plane 0,1 */ /* TC5332205 */
5688   ROM_LOAD16_BYTE( "239-c8.c8", 0x1800001, 0x400000, CRC(db60460e) SHA1(a5cb27c0983c8b400d96fd0828ef0639a66d4dba) ) /* Plane 2,3 */ /* TC5332205 */
5689ROM_END
5690
5691/****************************************
5692 ID-0240
5693 . NGM-2400
5694 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5695 . NGH-2400
5696 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5697****************************************/
5698
5699ROM_START( rbff2 ) /* MVS VERSION */
5700   ROM_REGION( 0x500000, "maincpu", 0 )
5701   ROM_LOAD16_WORD_SWAP( "240-p1.p1",  0x000000, 0x100000, CRC(80e41205) SHA1(8f83eb8ff54be4ec40f8a0dd2cbe56c54908d00a) ) /* TC538200 */
5702   ROM_LOAD16_WORD_SWAP( "240-p2.sp2", 0x100000, 0x400000, CRC(960aa88d) SHA1(3d9e785891871af90313f178dca2724633406674) ) /* TC5332205 */
5703
5704   NEO_SFIX_128K( "240-s1.s1", CRC(da3b40de) SHA1(e6bf74e057ac6fe1f249a7547f13ba7fbc694561) ) /* TC531000 */
5705
5706   NEO_BIOS_AUDIO_256K( "240-m1.m1", CRC(ed482791) SHA1(1f54a45967cb7842c33aa24be322c9f33ff75ac3) ) /* TC532000 */
5707
5708   ROM_REGION( 0x0e00000, "ymsnd", 0 )
5709   ROM_LOAD( "240-v1.v1", 0x000000, 0x400000, CRC(f796265a) SHA1(736dff37eb91fc856b4d189249fb0de9b6c0813a) ) /* TC5332204 */
5710   ROM_LOAD( "240-v2.v2", 0x400000, 0x400000, CRC(2cb3f3bb) SHA1(697e677890892f4b028c9a27c66809ca0a8a9b18) ) /* TC5332204 */
5711   ROM_LOAD( "240-v3.v3", 0x800000, 0x400000, CRC(8fe1367a) SHA1(093d7a4ac2b54ad7ffb2dc316fe29415f7a99535) ) /* TC5332204 */
5712   ROM_LOAD( "240-v4.v4", 0xc00000, 0x200000, CRC(996704d8) SHA1(0bf7a1d0660199dedf3c25be757eeab75cc6147e) ) /* TC5316200 */
5713
5714   NO_DELTAT_REGION
5715
5716   ROM_REGION( 0x3000000, "sprites", 0 )
5717   ROM_LOAD16_BYTE( "240-c1.c1", 0x0000000, 0x800000, CRC(effac504) SHA1(e36a96e7369b02c7e839b5abf3c6799453ba1927) ) /* Plane 0,1 */ /* TC5364205 */
5718   ROM_LOAD16_BYTE( "240-c2.c2", 0x0000001, 0x800000, CRC(ed182d44) SHA1(a9fc0a3a786bf067c129ec7220df65953dff804f) ) /* Plane 2,3 */ /* TC5364205 */
5719   ROM_LOAD16_BYTE( "240-c3.c3", 0x1000000, 0x800000, CRC(22e0330a) SHA1(0fe7f6a8aeba7f17dbb278e85003969ff10d3cd2) ) /* Plane 0,1 */ /* TC5364205 */
5720   ROM_LOAD16_BYTE( "240-c4.c4", 0x1000001, 0x800000, CRC(c19a07eb) SHA1(139eac8b51cadf328dd42d8109f4e2463f57230c) ) /* Plane 2,3 */ /* TC5364205 */
5721   ROM_LOAD16_BYTE( "240-c5.c5", 0x2000000, 0x800000, CRC(244dff5a) SHA1(156548156d3ceaa808d0053d0749af2526a3943e) ) /* Plane 0,1 */ /* TC5364205 */
5722   ROM_LOAD16_BYTE( "240-c6.c6", 0x2000001, 0x800000, CRC(4609e507) SHA1(bb17f50a377dddb77c1eeda5944a7bcbf0cca5f7) ) /* Plane 2,3 */ /* TC5364205 */
5723ROM_END
5724
5725ROM_START( rbff2h ) /* AES VERSION */
5726   ROM_REGION( 0x500000, "maincpu", 0 )
5727   ROM_LOAD16_WORD_SWAP( "240-pg1.p1", 0x000000, 0x100000, CRC(b6969780) SHA1(e3373d18e0f0724d69efb8024a27cca121f1b5b2) ) /* TC538200 */
5728   ROM_LOAD16_WORD_SWAP( "240-p2.sp2", 0x100000, 0x400000, CRC(960aa88d) SHA1(3d9e785891871af90313f178dca2724633406674) ) /* TC5332205 */
5729
5730   NEO_SFIX_128K( "240-s1.s1", CRC(da3b40de) SHA1(e6bf74e057ac6fe1f249a7547f13ba7fbc694561) ) /* TC531000 */
5731
5732   NEO_BIOS_AUDIO_256K( "240-m1.m1", CRC(ed482791) SHA1(1f54a45967cb7842c33aa24be322c9f33ff75ac3) ) /* TC532000 */
5733
5734   ROM_REGION( 0x0e00000, "ymsnd", 0 )
5735   ROM_LOAD( "240-v1.v1", 0x000000, 0x400000, CRC(f796265a) SHA1(736dff37eb91fc856b4d189249fb0de9b6c0813a) ) /* TC5332204 */
5736   ROM_LOAD( "240-v2.v2", 0x400000, 0x400000, CRC(2cb3f3bb) SHA1(697e677890892f4b028c9a27c66809ca0a8a9b18) ) /* TC5332204 */
5737   ROM_LOAD( "240-v3.v3", 0x800000, 0x400000, CRC(8fe1367a) SHA1(093d7a4ac2b54ad7ffb2dc316fe29415f7a99535) ) /* TC5332204 */
5738   ROM_LOAD( "240-v4.v4", 0xc00000, 0x200000, CRC(996704d8) SHA1(0bf7a1d0660199dedf3c25be757eeab75cc6147e) ) /* TC5316200 */
5739
5740   NO_DELTAT_REGION
5741
5742   ROM_REGION( 0x3000000, "sprites", 0 )
5743   ROM_LOAD16_BYTE( "240-c1.c1", 0x0000000, 0x800000, CRC(effac504) SHA1(e36a96e7369b02c7e839b5abf3c6799453ba1927) ) /* Plane 0,1 */ /* TC5364205 */
5744   ROM_LOAD16_BYTE( "240-c2.c2", 0x0000001, 0x800000, CRC(ed182d44) SHA1(a9fc0a3a786bf067c129ec7220df65953dff804f) ) /* Plane 2,3 */ /* TC5364205 */
5745   ROM_LOAD16_BYTE( "240-c3.c3", 0x1000000, 0x800000, CRC(22e0330a) SHA1(0fe7f6a8aeba7f17dbb278e85003969ff10d3cd2) ) /* Plane 0,1 */ /* TC5364205 */
5746   ROM_LOAD16_BYTE( "240-c4.c4", 0x1000001, 0x800000, CRC(c19a07eb) SHA1(139eac8b51cadf328dd42d8109f4e2463f57230c) ) /* Plane 2,3 */ /* TC5364205 */
5747   ROM_LOAD16_BYTE( "240-c5.c5", 0x2000000, 0x800000, CRC(244dff5a) SHA1(156548156d3ceaa808d0053d0749af2526a3943e) ) /* Plane 0,1 */ /* TC5364205 */
5748   ROM_LOAD16_BYTE( "240-c6.c6", 0x2000001, 0x800000, CRC(4609e507) SHA1(bb17f50a377dddb77c1eeda5944a7bcbf0cca5f7) ) /* Plane 2,3 */ /* TC5364205 */
5749ROM_END
5750
5751ROM_START( rbff2k ) /* KOREAN VERSION */
5752   ROM_REGION( 0x500000, "maincpu", 0 )
5753   ROM_LOAD16_WORD_SWAP( "140-p1k.p1", 0x000000, 0x100000, CRC(965edee1) SHA1(7f4b947b19ccfee32fc73e4fd89645eb313b5c77) ) /* mask rom TC538200 */
5754   ROM_LOAD16_WORD_SWAP( "240-p2.sp2", 0x100000, 0x400000, CRC(960aa88d) SHA1(3d9e785891871af90313f178dca2724633406674) ) /* TC5332205 */
5755
5756   NEO_SFIX_128K( "240-s1.s1", CRC(da3b40de) SHA1(e6bf74e057ac6fe1f249a7547f13ba7fbc694561) ) /* TC531000 */
5757
5758   NEO_BIOS_AUDIO_256K( "240-m1.m1", CRC(ed482791) SHA1(1f54a45967cb7842c33aa24be322c9f33ff75ac3) ) /* TC532000 */
5759
5760   ROM_REGION( 0x0e00000, "ymsnd", 0 )
5761   ROM_LOAD( "240-v1.v1", 0x000000, 0x400000, CRC(f796265a) SHA1(736dff37eb91fc856b4d189249fb0de9b6c0813a) ) /* TC5332204 */
5762   ROM_LOAD( "240-v2.v2", 0x400000, 0x400000, CRC(2cb3f3bb) SHA1(697e677890892f4b028c9a27c66809ca0a8a9b18) ) /* TC5332204 */
5763   ROM_LOAD( "240-v3.v3", 0x800000, 0x400000, CRC(8fe1367a) SHA1(093d7a4ac2b54ad7ffb2dc316fe29415f7a99535) ) /* TC5332204 */
5764   ROM_LOAD( "240-v4.v4", 0xc00000, 0x200000, CRC(996704d8) SHA1(0bf7a1d0660199dedf3c25be757eeab75cc6147e) ) /* TC5316200 */
5765
5766   NO_DELTAT_REGION
5767
5768   ROM_REGION( 0x3000000, "sprites", 0 )
5769   ROM_LOAD16_BYTE( "240-c1.c1", 0x0000000, 0x800000, CRC(effac504) SHA1(e36a96e7369b02c7e839b5abf3c6799453ba1927) ) /* Plane 0,1 */ /* TC5364205 */
5770   ROM_LOAD16_BYTE( "240-c2.c2", 0x0000001, 0x800000, CRC(ed182d44) SHA1(a9fc0a3a786bf067c129ec7220df65953dff804f) ) /* Plane 2,3 */ /* TC5364205 */
5771   ROM_LOAD16_BYTE( "240-c3.c3", 0x1000000, 0x800000, CRC(22e0330a) SHA1(0fe7f6a8aeba7f17dbb278e85003969ff10d3cd2) ) /* Plane 0,1 */ /* TC5364205 */
5772   ROM_LOAD16_BYTE( "240-c4.c4", 0x1000001, 0x800000, CRC(c19a07eb) SHA1(139eac8b51cadf328dd42d8109f4e2463f57230c) ) /* Plane 2,3 */ /* TC5364205 */
5773   ROM_LOAD16_BYTE( "240-c5.c5", 0x2000000, 0x800000, CRC(244dff5a) SHA1(156548156d3ceaa808d0053d0749af2526a3943e) ) /* Plane 0,1 */ /* TC5364205 */
5774   ROM_LOAD16_BYTE( "240-c6.c6", 0x2000001, 0x800000, CRC(4609e507) SHA1(bb17f50a377dddb77c1eeda5944a7bcbf0cca5f7) ) /* Plane 2,3 */ /* TC5364205 */
5775ROM_END
5776
5777/****************************************
5778 ID-0241
5779 . NGM-2410
5780 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5781 . NGH-2410
5782 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5783****************************************/
5784
5785ROM_START( mslug2 ) /* MVS AND AES VERSION */
5786   ROM_REGION( 0x300000, "maincpu", 0 )
5787   ROM_LOAD16_WORD_SWAP( "241-p1.p1",  0x000000, 0x100000, CRC(2a53c5da) SHA1(5a6aba482cac588a6c2c51179c95b487c6e11899) ) /* TC538200 */
5788   ROM_LOAD16_WORD_SWAP( "241-p2.sp2", 0x100000, 0x200000, CRC(38883f44) SHA1(fcf34b8c6e37774741542393b963635412484a27) ) /* TC5316200 */
5789
5790   NEO_SFIX_128K( "241-s1.s1", CRC(f3d32f0f) SHA1(2dc38b7dfd3ff14f64d5c0733c510b6bb8c692d0) ) /* TC531000 */
5791
5792   NEO_BIOS_AUDIO_128K( "241-m1.m1", CRC(94520ebd) SHA1(f8a1551cebcb91e416f30f50581feed7f72899e9) ) /* TC531001 */
5793
5794   ROM_REGION( 0x800000, "ymsnd", 0 )
5795   ROM_LOAD( "241-v1.v1", 0x000000, 0x400000, CRC(99ec20e8) SHA1(80597707f1fe115eed1941bb0701fc00790ad504) ) /* TC5332204 */
5796   ROM_LOAD( "241-v2.v2", 0x400000, 0x400000, CRC(ecb16799) SHA1(b4b4ddc680836ed55942c66d7dfe756314e02211) ) /* TC5332204 */
5797
5798   NO_DELTAT_REGION
5799
5800   ROM_REGION( 0x2000000, "sprites", 0 )
5801   ROM_LOAD16_BYTE( "241-c1.c1", 0x0000000, 0x800000, CRC(394b5e0d) SHA1(4549926f5054ee6aa7689cf920be0327e3908a50) ) /* Plane 0,1 */ /* TC5364205 */
5802   ROM_LOAD16_BYTE( "241-c2.c2", 0x0000001, 0x800000, CRC(e5806221) SHA1(1e5475cfab129c77acc610f09369ca42ba5aafa5) ) /* Plane 2,3 */ /* TC5364205 */
5803   ROM_LOAD16_BYTE( "241-c3.c3", 0x1000000, 0x800000, CRC(9f6bfa6f) SHA1(a4319b48004e723f81a980887678e3e296049a53) ) /* Plane 0,1 */ /* TC5364205 */
5804   ROM_LOAD16_BYTE( "241-c4.c4", 0x1000001, 0x800000, CRC(7d3e306f) SHA1(1499316fb381775218d897b81a6a0c3465d1a37c) ) /* Plane 2,3 */ /* TC5364205 */
5805ROM_END
5806
5807/****************************************
5808 ID-0242
5809 . NGM-2420
5810 NEO-MVS PROGSF1 (protected board) / NEO-MVS CHA512Y
5811 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5812 . NGH-2420
5813 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5814****************************************/
5815
5816ROM_START( kof98 ) /* encrypted code + protection */ /* MVS VERSION */
5817   ROM_REGION( 0x600000, "maincpu", 0 )
5818   ROM_LOAD16_WORD_SWAP( "242-p1.p1",  0x000000, 0x200000, CRC(8893df89) SHA1(0452828785110601c65f667209fc2d2926cd3751) ) /* mask rom 16mbit */
5819   ROM_LOAD16_WORD_SWAP( "242-p2.sp2", 0x200000, 0x400000, CRC(980aba4c) SHA1(5e735929ec6c3ca5b2efae3c7de47bcbb8ade2c5) ) /* TC5332205 */
5820
5821   NEO_SFIX_128K( "242-s1.s1", CRC(7f7b4805) SHA1(80ee6e5d0ece9c34ebca54b043a7cb33f9ff6b92) ) /* TC531000 */
5822
5823   NEO_BIOS_AUDIO_256K( "242-m1.m1", CRC(4ef7016b) SHA1(4182235e963bd70d398a79abeb54ab4d62887c48) ) /* TC532000 */
5824
5825   ROM_REGION( 0x1000000, "ymsnd", 0 )
5826   ROM_LOAD( "242-v1.v1", 0x000000, 0x400000, CRC(b9ea8051) SHA1(49606f64eb249263b3341b4f50cc1763c390b2af) ) /* TC5332204 */
5827   ROM_LOAD( "242-v2.v2", 0x400000, 0x400000, CRC(cc11106e) SHA1(d3108bc05c9bf041d4236b2fa0c66b013aa8db1b) ) /* TC5332204 */
5828   ROM_LOAD( "242-v3.v3", 0x800000, 0x400000, CRC(044ea4e1) SHA1(062a2f2e52098d73bc31c9ad66f5db8080395ce8) ) /* TC5332204 */
5829   ROM_LOAD( "242-v4.v4", 0xc00000, 0x400000, CRC(7985ea30) SHA1(54ed5f0324de6164ea81943ebccb3e8d298368ec) ) /* TC5332204 */
5830
5831   NO_DELTAT_REGION
5832
5833   ROM_REGION( 0x4000000, "sprites", 0 )
5834   ROM_LOAD16_BYTE( "242-c1.c1", 0x0000000, 0x800000, CRC(e564ecd6) SHA1(78f22787a204f26bae9b2b1c945ddbc27143352f) ) /* Plane 0,1 */ /* TC5364205 */
5835   ROM_LOAD16_BYTE( "242-c2.c2", 0x0000001, 0x800000, CRC(bd959b60) SHA1(2c97c59e77c9a3fe7d664e741d37944f3d56c10b) ) /* Plane 2,3 */ /* TC5364205 */
5836   ROM_LOAD16_BYTE( "242-c3.c3", 0x1000000, 0x800000, CRC(22127b4f) SHA1(bd0d00f889d9da7c6ac48f287d9ed8c605ae22cf) ) /* Plane 0,1 */ /* TC5364205 */
5837   ROM_LOAD16_BYTE( "242-c4.c4", 0x1000001, 0x800000, CRC(0b4fa044) SHA1(fa13c3764fae6b035a626601bc43629f1ebaaffd) ) /* Plane 2,3 */ /* TC5364205 */
5838   ROM_LOAD16_BYTE( "242-c5.c5", 0x2000000, 0x800000, CRC(9d10bed3) SHA1(4d44addc7c808649bfb03ec45fb9529da413adff) ) /* Plane 0,1 */ /* TC5364205 */
5839   ROM_LOAD16_BYTE( "242-c6.c6", 0x2000001, 0x800000, CRC(da07b6a2) SHA1(9c3f0da7cde1ffa8feca89efc88f07096e502acf) ) /* Plane 2,3 */ /* TC5364205 */
5840   ROM_LOAD16_BYTE( "242-c7.c7", 0x3000000, 0x800000, CRC(f6d7a38a) SHA1(dd295d974dd4a7e5cb26a3ef3febcd03f28d522b) ) /* Plane 0,1 */ /* TC5364205 */
5841   ROM_LOAD16_BYTE( "242-c8.c8", 0x3000001, 0x800000, CRC(c823e045) SHA1(886fbf64bcb58bc4eabb1fc9262f6ac9901a0f28) ) /* Plane 2,3 */ /* TC5364205 */
5842ROM_END
5843
5844ROM_START( kof98k ) /* encrypted code + protection, only z80 rom is different to kof98 */ /* KOREAN VERSION */
5845   ROM_REGION( 0x600000, "maincpu", 0 )
5846   ROM_LOAD16_WORD_SWAP( "242-p1.p1",  0x000000, 0x200000, CRC(8893df89) SHA1(0452828785110601c65f667209fc2d2926cd3751) ) /* mask rom 16mbit */
5847   ROM_LOAD16_WORD_SWAP( "242-p2.sp2", 0x200000, 0x400000, CRC(980aba4c) SHA1(5e735929ec6c3ca5b2efae3c7de47bcbb8ade2c5) ) /* TC5332205 */
5848
5849   NEO_SFIX_128K( "242-s1.s1", CRC(7f7b4805) SHA1(80ee6e5d0ece9c34ebca54b043a7cb33f9ff6b92) ) /* TC531000 */
5850
5851   /* Correct chip label */
5852   NEO_BIOS_AUDIO_256K( "242-m1k.m1", CRC(ce12da0c) SHA1(e7c01dae2852d543d1a58d55735239f6a5aa05a5) ) /* mask rom TC532000 */
5853
5854   ROM_REGION( 0x1000000, "ymsnd", 0 )
5855   ROM_LOAD( "242-v1.v1", 0x000000, 0x400000, CRC(b9ea8051) SHA1(49606f64eb249263b3341b4f50cc1763c390b2af) ) /* TC5332204 */
5856   ROM_LOAD( "242-v2.v2", 0x400000, 0x400000, CRC(cc11106e) SHA1(d3108bc05c9bf041d4236b2fa0c66b013aa8db1b) ) /* TC5332204 */
5857   ROM_LOAD( "242-v3.v3", 0x800000, 0x400000, CRC(044ea4e1) SHA1(062a2f2e52098d73bc31c9ad66f5db8080395ce8) ) /* TC5332204 */
5858   ROM_LOAD( "242-v4.v4", 0xc00000, 0x400000, CRC(7985ea30) SHA1(54ed5f0324de6164ea81943ebccb3e8d298368ec) ) /* TC5332204 */
5859
5860   NO_DELTAT_REGION
5861
5862   ROM_REGION( 0x4000000, "sprites", 0 )
5863   ROM_LOAD16_BYTE( "242-c1.c1", 0x0000000, 0x800000, CRC(e564ecd6) SHA1(78f22787a204f26bae9b2b1c945ddbc27143352f) ) /* Plane 0,1 */ /* TC5364205 */
5864   ROM_LOAD16_BYTE( "242-c2.c2", 0x0000001, 0x800000, CRC(bd959b60) SHA1(2c97c59e77c9a3fe7d664e741d37944f3d56c10b) ) /* Plane 2,3 */ /* TC5364205 */
5865   ROM_LOAD16_BYTE( "242-c3.c3", 0x1000000, 0x800000, CRC(22127b4f) SHA1(bd0d00f889d9da7c6ac48f287d9ed8c605ae22cf) ) /* Plane 0,1 */ /* TC5364205 */
5866   ROM_LOAD16_BYTE( "242-c4.c4", 0x1000001, 0x800000, CRC(0b4fa044) SHA1(fa13c3764fae6b035a626601bc43629f1ebaaffd) ) /* Plane 2,3 */ /* TC5364205 */
5867   ROM_LOAD16_BYTE( "242-c5.c5", 0x2000000, 0x800000, CRC(9d10bed3) SHA1(4d44addc7c808649bfb03ec45fb9529da413adff) ) /* Plane 0,1 */ /* TC5364205 */
5868   ROM_LOAD16_BYTE( "242-c6.c6", 0x2000001, 0x800000, CRC(da07b6a2) SHA1(9c3f0da7cde1ffa8feca89efc88f07096e502acf) ) /* Plane 2,3 */ /* TC5364205 */
5869   ROM_LOAD16_BYTE( "242-c7.c7", 0x3000000, 0x800000, CRC(f6d7a38a) SHA1(dd295d974dd4a7e5cb26a3ef3febcd03f28d522b) ) /* Plane 0,1 */ /* TC5364205 */
5870   ROM_LOAD16_BYTE( "242-c8.c8", 0x3000001, 0x800000, CRC(c823e045) SHA1(886fbf64bcb58bc4eabb1fc9262f6ac9901a0f28) ) /* Plane 2,3 */ /* TC5364205 */
5871ROM_END
5872
5873ROM_START( kof98ka ) /* encrypted code + protection, only z80 rom is different to kof98 */ /* KOREAN VERSION */
5874   ROM_REGION( 0x600000, "maincpu", 0 )
5875   ROM_LOAD16_WORD_SWAP( "242-p1.p1",  0x000000, 0x200000, CRC(8893df89) SHA1(0452828785110601c65f667209fc2d2926cd3751) ) /* mask rom 16mbit */
5876   ROM_LOAD16_WORD_SWAP( "242-p2.sp2", 0x200000, 0x400000, CRC(980aba4c) SHA1(5e735929ec6c3ca5b2efae3c7de47bcbb8ade2c5) ) /* TC5332205 */
5877
5878   NEO_SFIX_128K( "242-s1.s1", CRC(7f7b4805) SHA1(80ee6e5d0ece9c34ebca54b043a7cb33f9ff6b92) ) /* TC531000 */
5879
5880   /* Correct chip label */
5881   NEO_BIOS_AUDIO_256K( "242-mg1k.m1", CRC(ce9fb07c) SHA1(631d995f1291dd803fb069f3b25e7b9ed30d8649) ) /* 27C2000 */
5882
5883   ROM_REGION( 0x1000000, "ymsnd", 0 )
5884   ROM_LOAD( "242-v1.v1", 0x000000, 0x400000, CRC(b9ea8051) SHA1(49606f64eb249263b3341b4f50cc1763c390b2af) ) /* TC5332204 */
5885   ROM_LOAD( "242-v2.v2", 0x400000, 0x400000, CRC(cc11106e) SHA1(d3108bc05c9bf041d4236b2fa0c66b013aa8db1b) ) /* TC5332204 */
5886   ROM_LOAD( "242-v3.v3", 0x800000, 0x400000, CRC(044ea4e1) SHA1(062a2f2e52098d73bc31c9ad66f5db8080395ce8) ) /* TC5332204 */
5887   ROM_LOAD( "242-v4.v4", 0xc00000, 0x400000, CRC(7985ea30) SHA1(54ed5f0324de6164ea81943ebccb3e8d298368ec) ) /* TC5332204 */
5888
5889   NO_DELTAT_REGION
5890
5891   ROM_REGION( 0x4000000, "sprites", 0 )
5892   ROM_LOAD16_BYTE( "242-c1.c1", 0x0000000, 0x800000, CRC(e564ecd6) SHA1(78f22787a204f26bae9b2b1c945ddbc27143352f) ) /* Plane 0,1 */ /* TC5364205 */
5893   ROM_LOAD16_BYTE( "242-c2.c2", 0x0000001, 0x800000, CRC(bd959b60) SHA1(2c97c59e77c9a3fe7d664e741d37944f3d56c10b) ) /* Plane 2,3 */ /* TC5364205 */
5894   ROM_LOAD16_BYTE( "242-c3.c3", 0x1000000, 0x800000, CRC(22127b4f) SHA1(bd0d00f889d9da7c6ac48f287d9ed8c605ae22cf) ) /* Plane 0,1 */ /* TC5364205 */
5895   ROM_LOAD16_BYTE( "242-c4.c4", 0x1000001, 0x800000, CRC(0b4fa044) SHA1(fa13c3764fae6b035a626601bc43629f1ebaaffd) ) /* Plane 2,3 */ /* TC5364205 */
5896   ROM_LOAD16_BYTE( "242-c5.c5", 0x2000000, 0x800000, CRC(9d10bed3) SHA1(4d44addc7c808649bfb03ec45fb9529da413adff) ) /* Plane 0,1 */ /* TC5364205 */
5897   ROM_LOAD16_BYTE( "242-c6.c6", 0x2000001, 0x800000, CRC(da07b6a2) SHA1(9c3f0da7cde1ffa8feca89efc88f07096e502acf) ) /* Plane 2,3 */ /* TC5364205 */
5898   ROM_LOAD16_BYTE( "242-c7.c7", 0x3000000, 0x800000, CRC(f6d7a38a) SHA1(dd295d974dd4a7e5cb26a3ef3febcd03f28d522b) ) /* Plane 0,1 */ /* TC5364205 */
5899   ROM_LOAD16_BYTE( "242-c8.c8", 0x3000001, 0x800000, CRC(c823e045) SHA1(886fbf64bcb58bc4eabb1fc9262f6ac9901a0f28) ) /* Plane 2,3 */ /* TC5364205 */
5900ROM_END
5901
5902ROM_START( kof98h ) /* AES VERSION */
5903   ROM_REGION( 0x500000, "maincpu", 0 )
5904   ROM_LOAD16_WORD_SWAP( "242-pn1.p1", 0x000000, 0x100000, CRC(61ac868a) SHA1(26577264aa72d6af272952a876fcd3775f53e3fa) ) /* TC538200 */
5905   ROM_LOAD16_WORD_SWAP( "242-p2.sp2", 0x100000, 0x400000, CRC(980aba4c) SHA1(5e735929ec6c3ca5b2efae3c7de47bcbb8ade2c5) ) /* TC5332205 */
5906
5907   NEO_SFIX_128K( "242-s1.s1", CRC(7f7b4805) SHA1(80ee6e5d0ece9c34ebca54b043a7cb33f9ff6b92) ) /* TC531000 */
5908
5909   NEO_BIOS_AUDIO_256K( "242-mg1.m1", CRC(4e7a6b1b) SHA1(b54d08f88713ed0271aa06f9f7c9c572ef555b1a) ) /* TC532000 */
5910
5911   ROM_REGION( 0x1000000, "ymsnd", 0 )
5912   ROM_LOAD( "242-v1.v1", 0x000000, 0x400000, CRC(b9ea8051) SHA1(49606f64eb249263b3341b4f50cc1763c390b2af) ) /* TC5332204 */
5913   ROM_LOAD( "242-v2.v2", 0x400000, 0x400000, CRC(cc11106e) SHA1(d3108bc05c9bf041d4236b2fa0c66b013aa8db1b) ) /* TC5332204 */
5914   ROM_LOAD( "242-v3.v3", 0x800000, 0x400000, CRC(044ea4e1) SHA1(062a2f2e52098d73bc31c9ad66f5db8080395ce8) ) /* TC5332204 */
5915   ROM_LOAD( "242-v4.v4", 0xc00000, 0x400000, CRC(7985ea30) SHA1(54ed5f0324de6164ea81943ebccb3e8d298368ec) ) /* TC5332204 */
5916
5917   NO_DELTAT_REGION
5918
5919   ROM_REGION( 0x4000000, "sprites", 0 )
5920   ROM_LOAD16_BYTE( "242-c1.c1", 0x0000000, 0x800000, CRC(e564ecd6) SHA1(78f22787a204f26bae9b2b1c945ddbc27143352f) ) /* Plane 0,1 */ /* TC5364205 */
5921   ROM_LOAD16_BYTE( "242-c2.c2", 0x0000001, 0x800000, CRC(bd959b60) SHA1(2c97c59e77c9a3fe7d664e741d37944f3d56c10b) ) /* Plane 2,3 */ /* TC5364205 */
5922   ROM_LOAD16_BYTE( "242-c3.c3", 0x1000000, 0x800000, CRC(22127b4f) SHA1(bd0d00f889d9da7c6ac48f287d9ed8c605ae22cf) ) /* Plane 0,1 */ /* TC5364205 */
5923   ROM_LOAD16_BYTE( "242-c4.c4", 0x1000001, 0x800000, CRC(0b4fa044) SHA1(fa13c3764fae6b035a626601bc43629f1ebaaffd) ) /* Plane 2,3 */ /* TC5364205 */
5924   ROM_LOAD16_BYTE( "242-c5.c5", 0x2000000, 0x800000, CRC(9d10bed3) SHA1(4d44addc7c808649bfb03ec45fb9529da413adff) ) /* Plane 0,1 */ /* TC5364205 */
5925   ROM_LOAD16_BYTE( "242-c6.c6", 0x2000001, 0x800000, CRC(da07b6a2) SHA1(9c3f0da7cde1ffa8feca89efc88f07096e502acf) ) /* Plane 2,3 */ /* TC5364205 */
5926   ROM_LOAD16_BYTE( "242-c7.c7", 0x3000000, 0x800000, CRC(f6d7a38a) SHA1(dd295d974dd4a7e5cb26a3ef3febcd03f28d522b) ) /* Plane 0,1 */ /* TC5364205 */
5927   ROM_LOAD16_BYTE( "242-c8.c8", 0x3000001, 0x800000, CRC(c823e045) SHA1(886fbf64bcb58bc4eabb1fc9262f6ac9901a0f28) ) /* Plane 2,3 */ /* TC5364205 */
5928ROM_END
5929
5930/****************************************
5931 ID-0243
5932 . NGM-2430
5933 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5934 . NGH-2430
5935 NEO-AEG PROGBK1Y / NEO-AEG CHA512Y
5936****************************************/
5937
5938ROM_START( lastbld2 ) /* MVS AND AES VERSION */ /* later revision */
5939   ROM_REGION( 0x500000, "maincpu", 0 )
5940   ROM_LOAD16_WORD_SWAP( "243-pg1.p1",  0x000000, 0x100000, CRC(af1e6554) SHA1(bd8526f60c2472937728a5d933fbd19d899f2cba) ) /* TC538200 */
5941   ROM_LOAD16_WORD_SWAP( "243-pg2.sp2", 0x100000, 0x400000, CRC(add4a30b) SHA1(7db62564db49fe0218cbb35b119d62582a24d658) ) /* TC5332205 */
5942
5943   NEO_SFIX_128K( "243-s1.s1", CRC(c9cd2298) SHA1(a9a18b5347f9dbe29a2ccb63fd4c8fd19537bf8b) ) /* TC531000 */
5944
5945   NEO_BIOS_AUDIO_128K( "243-m1.m1", CRC(acf12d10) SHA1(6e6b98cc1fa44f24a5168877559b0055e6957b60) ) /* TC531001 */
5946
5947   ROM_REGION( 0x1000000, "ymsnd", 0 )
5948   ROM_LOAD( "243-v1.v1", 0x000000, 0x400000, CRC(f7ee6fbb) SHA1(55137bcabeeb590e40a9b8a7c07dd106e4d12a90) ) /* TC5332204 */
5949   ROM_LOAD( "243-v2.v2", 0x400000, 0x400000, CRC(aa9e4df6) SHA1(a0b91f63e2552a8ad9e0d1af00e2c38288637161) ) /* TC5332204 */
5950   ROM_LOAD( "243-v3.v3", 0x800000, 0x400000, CRC(4ac750b2) SHA1(585a154acc67bd84ea5b944686b78ed082b768d9) ) /* TC5332204 */
5951   ROM_LOAD( "243-v4.v4", 0xc00000, 0x400000, CRC(f5c64ba6) SHA1(2eac455def8c27090862cc042f65a3a8aad88283) ) /* TC5332204 */
5952
5953   NO_DELTAT_REGION
5954
5955   ROM_REGION( 0x3000000, "sprites", 0 )
5956   ROM_LOAD16_BYTE( "243-c1.c1", 0x0000000, 0x800000, CRC(5839444d) SHA1(0616921c4cce20422563578bd0e806d359508599) ) /* Plane 0,1 */ /* TC5364205 */
5957   ROM_LOAD16_BYTE( "243-c2.c2", 0x0000001, 0x800000, CRC(dd087428) SHA1(ca27fdb60425664956a18c021ea465f452fb1527) ) /* Plane 2,3 */ /* TC5364205 */
5958   ROM_LOAD16_BYTE( "243-c3.c3", 0x1000000, 0x800000, CRC(6054cbe0) SHA1(ec2f65e9c930250ee25fd064ee5ae76a7a9c61d9) ) /* Plane 0,1 */ /* TC5364205 */
5959   ROM_LOAD16_BYTE( "243-c4.c4", 0x1000001, 0x800000, CRC(8bd2a9d2) SHA1(0935df65cd2b0891a708bcc0f1c188148058d4b5) ) /* Plane 2,3 */ /* TC5364205 */
5960   ROM_LOAD16_BYTE( "243-c5.c5", 0x2000000, 0x800000, CRC(6a503dcf) SHA1(23241b16d7e20f923d41186b29487ab922c7f530) ) /* Plane 0,1 */ /* TC5364205 */
5961   ROM_LOAD16_BYTE( "243-c6.c6", 0x2000001, 0x800000, CRC(ec9c36d0) SHA1(e145e9e359000dda6e1dfe95a996bc6d29cfca21) ) /* Plane 2,3 */ /* TC5364205 */
5962ROM_END
5963
5964/****************************************
5965 ID-0244
5966 . ??M-2440
5967 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5968 . ??H-2440
5969****************************************/
5970
5971ROM_START( neocup98 )
5972   ROM_REGION( 0x200000, "maincpu", 0 )
5973   ROM_LOAD16_WORD_SWAP( "244-p1.p1", 0x100000, 0x100000, CRC(f8fdb7a5) SHA1(f34ee5d1c24e70427d05ef488f46906dbd9f9950) ) /* TC5316200 */
5974   ROM_CONTINUE( 0x000000, 0x100000 )
5975
5976   NEO_SFIX_128K( "244-s1.s1", CRC(9bddb697) SHA1(2f479bcd5a433201168792a578de3057252d649f) ) /* TC531000 */
5977
5978   NEO_BIOS_AUDIO_128K( "244-m1.m1", CRC(a701b276) SHA1(055550ebc650835bcf8ea4457b2c91bd73e21281) ) /* TC531001 */
5979
5980   ROM_REGION( 0x600000, "ymsnd", 0 )
5981   ROM_LOAD( "244-v1.v1", 0x000000, 0x400000, CRC(79def46d) SHA1(63414235de2e177654508f1c840040424f8993e6) ) /* TC5332204 */
5982   ROM_LOAD( "244-v2.v2", 0x400000, 0x200000, CRC(b231902f) SHA1(9209772e947a2c7ac31b49dd613bf2eab0cb3358) ) /* TC5316200 */
5983
5984   NO_DELTAT_REGION
5985
5986   ROM_REGION( 0x1000000, "sprites", 0 )
5987   ROM_LOAD16_BYTE( "244-c1.c1", 0x000000, 0x800000, CRC(c7a62b23) SHA1(4534ecc9ade69c543188c66229dcad89dbc48668) ) /* Plane 0,1 */ /* TC5364205 */
5988   ROM_LOAD16_BYTE( "244-c2.c2", 0x000001, 0x800000, CRC(33aa0f35) SHA1(3443c7765c6aa177003d42bbfcac9f31d1e12575) ) /* Plane 2,3 */ /* TC5364205 */
5989ROM_END
5990
5991/****************************************
5992 ID-0245
5993 . ??M-2450
5994 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
5995****************************************/
5996
5997ROM_START( breakrev ) /* MVS ONLY RELEASE */
5998   ROM_REGION( 0x200000, "maincpu", 0 )
5999   ROM_LOAD16_WORD_SWAP( "245-p1.p1", 0x100000, 0x100000, CRC(c828876d) SHA1(1dcba850e5cf8219d0945612cfded6d20ca8682a) ) /* mask rom TC5316200 */
6000   ROM_CONTINUE( 0x000000, 0x100000 )
6001
6002   NEO_SFIX_128K( "245-s1.s1", CRC(e7660a5d) SHA1(1cd54964ba60b245ea57d9daf0e27b572b815d21) ) /* mask rom TC531000 */
6003
6004   NEO_BIOS_AUDIO_128K( "245-m1.m1", CRC(00f31c66) SHA1(8488598415c9b74bce00e05b31d96e3d1625c20d) ) /* mask rom TC531001 */
6005
6006   ROM_REGION( 0x800000, "ymsnd", 0 )
6007   ROM_LOAD( "245-v1.v1", 0x000000, 0x400000, CRC(e255446c) SHA1(b3933340d49d4ba581f3bf1af7ad69d786205790) ) /* mask rom TC5332204 */
6008   ROM_LOAD( "245-v2.v2", 0x400000, 0x400000, CRC(9068198a) SHA1(71819b0475a5e173a2f9a6e4ff19a94655141c3c) ) /* mask rom TC5332204 */
6009
6010   NO_DELTAT_REGION
6011
6012   ROM_REGION( 0x1800000, "sprites", 0 )
6013   /* The chip labels and sizes are correct */
6014   ROM_LOAD16_BYTE( "245-c1.c1", 0x0000000, 0x400000, CRC(68d4ae76) SHA1(2e820067f6963669f104bebf19e865fe4127b4dd) ) /* Plane 0,1 */ /* mask rom TC5332205 */
6015   ROM_LOAD16_BYTE( "245-c2.c2", 0x0000001, 0x400000, CRC(fdee05cd) SHA1(efc4ffd790953ac7c25d5f045c64a9b49d24b096) ) /* Plane 2,3 */ /* mask rom TC5332205 */
6016   ROM_LOAD16_BYTE( "245-c3.c3", 0x0800000, 0x400000, CRC(645077f3) SHA1(0ae74f3b4b3b88f128c6d8c0f35ffa53f5d67ef2) ) /* Plane 0,1 */ /* mask rom TC5332205 */
6017   ROM_LOAD16_BYTE( "245-c4.c4", 0x0800001, 0x400000, CRC(63aeb74c) SHA1(9ff6930c0c3d79b46b86356e8565ce4fcd69ac38) ) /* Plane 2,3 */ /* mask rom TC5332205 */
6018   ROM_LOAD16_BYTE( "245-c5.c5", 0x1000000, 0x400000, CRC(b5f40e7f) SHA1(b332bac64dbb9a9dd66c5315f47ea08634d36f45) ) /* Plane 0,1 */ /* mask rom TC5332205 */
6019   ROM_LOAD16_BYTE( "245-c6.c6", 0x1000001, 0x400000, CRC(d0337328) SHA1(dff86b75dc283bd4512557a5c64f16e6be6c16e4) ) /* Plane 2,3 */ /* mask rom TC5332205 */
6020ROM_END
6021
6022/****************************************
6023 ID-0246
6024 . NGM-2460
6025 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
6026 . NGH-2460
6027****************************************/
6028
6029ROM_START( shocktr2 )
6030   ROM_REGION( 0x500000, "maincpu", 0 )
6031   ROM_LOAD16_WORD_SWAP( "246-p1.p1",  0x000000, 0x100000, CRC(6d4b7781) SHA1(3c9d53d5da9842bfd45037c919064dda3fb2e089) ) /* TC538200 */
6032   ROM_LOAD16_WORD_SWAP( "246-p2.sp2", 0x100000, 0x400000, CRC(72ea04c3) SHA1(4fb1d22c30f5f3db4637dd92a4d2705c88de399d) ) /* TC5332205 */
6033
6034   NEO_SFIX_128K( "246-s1.s1", CRC(2a360637) SHA1(431b43da5377dd189e51bd93d88d8a24d1b5090a) ) /* TC531000 */
6035
6036   NEO_BIOS_AUDIO_128K( "246-m1.m1", CRC(d0604ad1) SHA1(fae3cd52a177eadd5f5775ace957cc0f8301e65d) ) /* TC531001 */
6037
6038   ROM_REGION( 0x1000000, "ymsnd", 0 )
6039   ROM_LOAD( "246-v1.v1", 0x000000, 0x400000, CRC(16986fc6) SHA1(cff3103dadf2f4390460456a5bd3fb5f28e21f6a) ) /* TC5332204 */
6040   ROM_LOAD( "246-v2.v2", 0x400000, 0x400000, CRC(ada41e83) SHA1(78e37ffaaa5679c8775a3a71f6df7a0d15082bdc) ) /* TC5332204 */
6041   ROM_LOAD( "246-v3.v3", 0x800000, 0x200000, CRC(a05ba5db) SHA1(09d739cad323d918f4196f91b654627fcafd8f4d) ) /* TC5316200 */
6042
6043   NO_DELTAT_REGION
6044
6045   ROM_REGION( 0x3000000, "sprites", 0 )
6046   ROM_LOAD16_BYTE( "246-c1.c1", 0x0000000, 0x800000, CRC(47ac9ec5) SHA1(2d9eea11ba87baa23b18a1a3f607dc137846e807) ) /* Plane 0,1 */ /* TC5364205 */
6047   ROM_LOAD16_BYTE( "246-c2.c2", 0x0000001, 0x800000, CRC(7bcab64f) SHA1(08d0edddd14b53d606e9a7a46aa4fb4e7398e0d0) ) /* Plane 2,3 */ /* TC5364205 */
6048   ROM_LOAD16_BYTE( "246-c3.c3", 0x1000000, 0x800000, CRC(db2f73e8) SHA1(8d0c3473a8b2a4e28fed1b74beb2e025b7e61867) ) /* Plane 0,1 */ /* TC5364205 */
6049   ROM_LOAD16_BYTE( "246-c4.c4", 0x1000001, 0x800000, CRC(5503854e) SHA1(a0f2e7c609cbb2aa43493a39d7dcaeca3d511d26) ) /* Plane 2,3 */ /* TC5364205 */
6050   ROM_LOAD16_BYTE( "246-c5.c5", 0x2000000, 0x800000, CRC(055b3701) SHA1(97f5e92538d1f2e437dcb3f80e56e1230287e8d1) ) /* Plane 0,1 */ /* TC5364205 */
6051   ROM_LOAD16_BYTE( "246-c6.c6", 0x2000001, 0x800000, CRC(7e2caae1) SHA1(d9de14e3e323664a8c5b7f1df1ba9ec7dd0e6a46) ) /* Plane 2,3 */ /* TC5364205 */
6052ROM_END
6053
6054/****************************************
6055 ID-0247
6056 . ??M-2470
6057 NEO-MVS PROGBK1 / NEO-MVS CHA256
6058****************************************/
6059
6060ROM_START( flipshot ) /* MVS ONLY RELEASE */
6061   ROM_REGION( 0x100000, "maincpu", 0 )
6062   ROM_LOAD16_WORD_SWAP( "247-p1.p1", 0x000000, 0x100000, CRC(95779094) SHA1(a985e033bc6f137fa65855d3eed245d66d5b244a) ) /* mask rom TC538200 */
6063
6064   NEO_SFIX_128K( "247-s1.s1", CRC(6300185c) SHA1(cb2f1de085fde214f96a962b1c2fa285eb387d44) ) /* mask rom TC531000 */
6065
6066   NEO_BIOS_AUDIO_128K( "247-m1.m1", CRC(a9fe0144) SHA1(4cc076ecce9216a373f3dcd7ba28a03d6050e522) ) /* mask rom TC 531001 */
6067
6068   ROM_REGION( 0x200000, "ymsnd", 0 )
6069   ROM_LOAD( "247-v1.v1", 0x000000, 0x200000, CRC(42ec743d) SHA1(f45b5167ebcbd59300f4e5b05448cd421654102a) ) /* mask rom TC5316200 */
6070
6071   NO_DELTAT_REGION
6072
6073   ROM_REGION( 0x400000, "sprites", 0 )
6074   ROM_LOAD16_BYTE( "247-c1.c1", 0x000000, 0x200000, CRC(c9eedcb2) SHA1(7627f2810322c146511525eb70b573a6a5ede926) ) /* Plane 0,1 */ /* mask rom TC5316200 */
6075   ROM_LOAD16_BYTE( "247-c2.c2", 0x000001, 0x200000, CRC(7d6d6e87) SHA1(6475b58b9f91c20d1f465f3e892de0c68e12a92b) ) /* Plane 2,3 */ /* mask rom TC5316200 */
6076ROM_END
6077
6078/****************************************
6079 ID-0248
6080 . ??M-2480
6081 NEO-MVS PROGBK1 / NEO-MVS CHA256
6082****************************************/
6083
6084ROM_START( pbobbl2n ) /* MVS ONLY RELEASE */
6085   ROM_REGION( 0x100000, "maincpu", 0 )
6086   ROM_LOAD16_WORD_SWAP( "248-p1.p1", 0x000000, 0x100000, CRC(9d6c0754) SHA1(95c70c2d51fc4de01e768e03cc800a850aaad5dc) ) /* TC538200 */
6087
6088   NEO_SFIX_128K( "248-s1.s1", CRC(0a3fee41) SHA1(0ab2120e462086be942efcf6ffb37f58ea966ca3) ) /* TC531000DP */
6089
6090   NEO_BIOS_AUDIO_128K( "248-m1.m1", CRC(883097a9) SHA1(677bf9684c0c7977a9a3f0c1288e430040a53b49) ) /* TC531001 */
6091
6092   ROM_REGION( 0x800000, "ymsnd", 0 )
6093   ROM_LOAD( "248-v1.v1", 0x000000, 0x400000, CRC(57fde1fa) SHA1(af39bc141fc35b78dcacfd42b3abb29d7e5c2c89) ) /* TC5332204 */
6094   ROM_LOAD( "248-v2.v2", 0x400000, 0x400000, CRC(4b966ef3) SHA1(083c0e9fd7b8e506087648cdd8ec4206103984cd) ) /* TC5332204 */
6095
6096   NO_DELTAT_REGION
6097
6098   ROM_REGION( 0xa00000, "sprites", 0 )
6099   ROM_LOAD16_BYTE( "248-c1.c1", 0x000000, 0x400000, CRC(d9115327) SHA1(a49aa836a902326cfe785428e1699fefcf8566d4) ) /* Plane 0,1 */ /* TC5332205 */
6100   ROM_LOAD16_BYTE( "248-c2.c2", 0x000001, 0x400000, CRC(77f9fdac) SHA1(4642d71d32b6a05dc8bfa0f95c936a77c7cef05e) ) /* Plane 2,3 */ /* TC5332205 */
6101   ROM_LOAD16_BYTE( "248-c3.c3", 0x800000, 0x100000, CRC(8890bf7c) SHA1(a52f6bafd60e72003bfe38c80c1dde24b4983b2a) ) /* Plane 0,1 */ /* TC538200 */
6102   ROM_LOAD16_BYTE( "248-c4.c4", 0x800001, 0x100000, CRC(8efead3f) SHA1(f577d2f7c6f850b3d100c36947ad15e33dfa0bed) ) /* Plane 2,3 */ /* TC538200 */
6103ROM_END
6104
6105/****************************************
6106 ID-0249
6107 . ??M-2490
6108 NEO-MVS PROGBK1 / NEO-MVS CHA256
6109 NEO-MVS PROGBK1 / NEO-MVS CHA512Y
6110****************************************/
6111
6112ROM_START( ctomaday ) /* MVS ONLY RELEASE */
6113   ROM_REGION( 0x200000, "maincpu", 0 )
6114   ROM_LOAD16_WORD_SWAP( "249-p1.p1", 0x100000, 0x100000, CRC(c9386118) SHA1(5554662c7bc8605889cac4a67fee05bbb4eb786f) ) /* TC5316200 */
6115   ROM_CONTINUE( 0x000000, 0x100000 )
6116
6117   NEO_SFIX_128K( "249-s1.s1", CRC(dc9eb372) SHA1(b8aa142243ba303799554479bfc88eb49260f3b1) ) /* TC531000DP */
6118
6119   NEO_BIOS_AUDIO_128K( "249-m1.m1", CRC(80328a47) SHA1(34b6b1a81eab1cf38834b2eea55454ce1b6100e2) ) /* TC531001 */
6120
6121   ROM_REGION( 0x500000, "ymsnd", 0 )
6122   ROM_LOAD( "249-v1.v1", 0x000000, 0x400000, CRC(de7c8f27) SHA1(3681a68a702ab5da8f509b8301d6cada75959332) ) /* TC5332204 */
6123   ROM_LOAD( "249-v2.v2", 0x400000, 0x100000, CRC(c8e40119) SHA1(738f525c381ed68c0b8a89318a3e4d0089473c45) ) /* TC538200 */
6124
6125   NO_DELTAT_REGION
6126
6127   ROM_REGION( 0x800000, "sprites", 0 )
6128   ROM_LOAD16_BYTE( "249-c1.c1", 0x000000, 0x400000, CRC(041fb8ee) SHA1(dacc84d713d76818d89a26358374afaa22fa82a2) ) /* Plane 0,1 */ /* TC5332205 */
6129   ROM_LOAD16_BYTE( "249-c2.c2", 0x000001, 0x400000, CRC(74f3cdf4) SHA1(55ddabaf77f4d575f4deb24fe63e4bdc2c6f31e1) ) /* Plane 2,3 */ /* TC5332205 */
6130ROM_END
6131
6132/****************************************
6133 ID-0250
6134 . NGM-2500
6135 NEO-MVS PROGEOP (1999.2.2) / NEO-MVS CHA512Y
6136 . NGH-2500
6137 NEO-AEG PROGEOP (1999.4.2) / NEO-AEG CHA512Y
6138****************************************/
6139
6140ROM_START( mslugx ) /* MVS AND AES VERSION */
6141   ROM_REGION( 0x500000, "maincpu", 0 )
6142   ROM_LOAD16_WORD_SWAP( "250-p1.p1",  0x000000, 0x100000, CRC(81f1f60b) SHA1(4c19f2e9824e606178ac1c9d4b0516fbaa625035) ) /* TC538200 */
6143   ROM_LOAD16_WORD_SWAP( "250-p2.ep1", 0x100000, 0x400000, CRC(1fda2e12) SHA1(18aaa7a3ba8da99f78c430e9be69ccde04bc04d9) ) /* TC5332205 */
6144
6145   NEO_SFIX_128K( "250-s1.s1", CRC(fb6f441d) SHA1(2cc392ecde5d5afb28ddbaa1030552b48571dcfb) ) /* TC531000 */
6146
6147   NEO_BIOS_AUDIO_128K( "250-m1.m1", CRC(fd42a842) SHA1(55769bad4860f64ef53a333e0da9e073db483d6a) ) /* TC531001 */
6148
6149   ROM_REGION( 0xa00000, "ymsnd", 0 )
6150   ROM_LOAD( "250-v1.v1", 0x000000, 0x400000, CRC(c79ede73) SHA1(ebfcc67204ff9677cf7972fd5b6b7faabf07280c) ) /* TC5332204 */
6151   ROM_LOAD( "250-v2.v2", 0x400000, 0x400000, CRC(ea9aabe1) SHA1(526c42ca9a388f7435569400e2f132e2724c71ff) ) /* TC5332204 */
6152   ROM_LOAD( "250-v3.v3", 0x800000, 0x200000, CRC(2ca65102) SHA1(45979d1edb1fc774a415d9386f98d7cb252a2043) ) /* TC5316200 */
6153
6154   NO_DELTAT_REGION
6155
6156   ROM_REGION( 0x3000000, "sprites", 0 )
6157   ROM_LOAD16_BYTE( "250-c1.c1", 0x0000000, 0x800000, CRC(09a52c6f) SHA1(c3e8a8ccdac0f8bddc4c3413277626532405fae2) ) /* Plane 0,1 */ /* TC5364205 */
6158   ROM_LOAD16_BYTE( "250-c2.c2", 0x0000001, 0x800000, CRC(31679821) SHA1(554f600a3aa09c16c13c625299b087a79d0d15c5) ) /* Plane 2,3 */ /* TC5364205 */
6159   ROM_LOAD16_BYTE( "250-c3.c3", 0x1000000, 0x800000, CRC(fd602019) SHA1(c56646c62387bc1439d46610258c755beb8d7dd8) ) /* Plane 0,1 */ /* TC5364205 */
6160   ROM_LOAD16_BYTE( "250-c4.c4", 0x1000001, 0x800000, CRC(31354513) SHA1(31be8ea2498001f68ce4b06b8b90acbf2dcab6af) ) /* Plane 2,3 */ /* TC5364205 */
6161   ROM_LOAD16_BYTE( "250-c5.c5", 0x2000000, 0x800000, CRC(a4b56124) SHA1(d41069856df990a1a99d39fb263c8303389d5475) ) /* Plane 0,1 */ /* TC5364205 */
6162   ROM_LOAD16_BYTE( "250-c6.c6", 0x2000001, 0x800000, CRC(83e3e69d) SHA1(39be66287696829d243fb71b3fb8b7dc2bc3298f) ) /* Plane 0,1 */ /* TC5364205 */
6163ROM_END
6164
6165/****************************************
6166 ID-0251
6167 . NGM-2510
6168 SMA protected version found on:
6169 NEO-MVS PROGLBA (NEO-SMA) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6170 Non SMA protected version found on:
6171 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6172 . NGH-2510
6173 NEO-AEG PROGLBA / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7042)
6174****************************************/
6175
6176ROM_START( kof99 ) /* Original Version - Encrypted Code & GFX */ /* MVS VERSION */
6177   ROM_REGION( 0x900000, "maincpu", 0 )
6178   ROM_LOAD16_WORD_SWAP( "ka.neo-sma", 0x0c0000, 0x040000, CRC(7766d09e) SHA1(4e0a49d1ad669a62676cb30f527c6590cde80194) ) /* stored in the custom chip */
6179   ROM_LOAD16_WORD_SWAP( "251-p1.p1",  0x100000, 0x400000, CRC(006e4532) SHA1(47791ab4044ad55988b1d3412d95b65b91a163c8) ) /* mask rom TC5332205 */
6180   ROM_LOAD16_WORD_SWAP( "251-p2.p2",  0x500000, 0x400000, CRC(90175f15) SHA1(aa9e75810438a8b45808a8bf32cb04d91b5c0b3a) ) /* mask rom TC5332205 */
6181
6182   ROM_Y_ZOOM
6183
6184   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6185   ROM_REGION( 0x20000, "fixed", 0 )
6186   ROM_FILL( 0x000000, 0x20000, 0 )
6187   ROM_REGION( 0x20000, "fixedbios", 0 )
6188   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6189
6190   NEO_BIOS_AUDIO_128K( "251-m1.m1", CRC(5e74539c) SHA1(6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da) ) /* TC531001 */
6191
6192   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6193   ROM_LOAD( "251-v1.v1", 0x000000, 0x400000, CRC(ef2eecc8) SHA1(8ed13b9db92dba3124bc5ba66e3e275885ece24a) ) /* TC5332204 */
6194   ROM_LOAD( "251-v2.v2", 0x400000, 0x400000, CRC(73e211ca) SHA1(0e60fa64cab6255d9721e2b4bc22e3de64c874c5) ) /* TC5332204 */
6195   ROM_LOAD( "251-v3.v3", 0x800000, 0x400000, CRC(821901da) SHA1(c6d4975bfaa19a62ed59126cadf2578c0a5c257f) ) /* TC5332204 */
6196   ROM_LOAD( "251-v4.v4", 0xc00000, 0x200000, CRC(b49e6178) SHA1(dde6f76e958841e8c99b693e13ced9aa9ef316dc) ) /* TC5316200 */
6197
6198   NO_DELTAT_REGION
6199
6200   ROM_REGION( 0x4000000, "sprites", 0 )
6201   /* Encrypted */
6202   ROM_LOAD16_BYTE( "251-c1.c1", 0x0000000, 0x800000, CRC(0f9e93fe) SHA1(c7d77f0833c6f526f632e4f2dce59e302f6b9a15) ) /* Plane 0,1 */ /* TC5364205 */
6203   ROM_LOAD16_BYTE( "251-c2.c2", 0x0000001, 0x800000, CRC(e71e2ea3) SHA1(39c7a326fddbcca3b29c68cdc96aad4d62295c0f) ) /* Plane 2,3 */ /* TC5364205 */
6204   ROM_LOAD16_BYTE( "251-c3.c3", 0x1000000, 0x800000, CRC(238755d2) SHA1(01125b5c7a28e350f091280b041954fd1ac7c98f) ) /* Plane 0,1 */ /* TC5364205 */
6205   ROM_LOAD16_BYTE( "251-c4.c4", 0x1000001, 0x800000, CRC(438c8b22) SHA1(ffbc643f5b27dd00f2f95d4ef4c5f29ee814722b) ) /* Plane 2,3 */ /* TC5364205 */
6206   ROM_LOAD16_BYTE( "251-c5.c5", 0x2000000, 0x800000, CRC(0b0abd0a) SHA1(d5ad324fe523bdc6f09209d236cc4932524a48f1) ) /* Plane 0,1 */ /* TC5364205 */
6207   ROM_LOAD16_BYTE( "251-c6.c6", 0x2000001, 0x800000, CRC(65bbf281) SHA1(79ae174667a23dabcfe865b6cd6133c86098452e) ) /* Plane 2,3 */ /* TC5364205 */
6208   ROM_LOAD16_BYTE( "251-c7.c7", 0x3000000, 0x800000, CRC(ff65f62e) SHA1(7cd335fede05b56e15db90ce407c1183a78da4e9) ) /* Plane 0,1 */ /* TC5364205 */
6209   ROM_LOAD16_BYTE( "251-c8.c8", 0x3000001, 0x800000, CRC(8d921c68) SHA1(42acf1d27d52a8e3b6262eb7df50693c0b135565) ) /* Plane 2,3 */ /* TC5364205 */
6210ROM_END
6211
6212ROM_START( kof99h ) /* Original Version - Encrypted Code & GFX */ /* AES VERSION */
6213   ROM_REGION( 0x900000, "maincpu", 0 )
6214   ROM_LOAD16_WORD_SWAP( "kc.neo-sma",  0x0c0000, 0x040000, CRC(6c9d0647) SHA1(2a0ce62ca6c18007e8fbe1b60475c7874ab79389) ) /* stored in the custom chip */
6215   ROM_LOAD16_WORD_SWAP( "251-p1.p1",   0x100000, 0x400000, CRC(006e4532) SHA1(47791ab4044ad55988b1d3412d95b65b91a163c8) ) /* mask rom TC5332205 */
6216   ROM_LOAD16_WORD_SWAP( "251-pg2.p2",  0x500000, 0x400000, CRC(d9057f51) SHA1(8d365b4dd40351495df99d6c765df1434b0b0548) ) /* mask rom TC5332205 */
6217
6218   ROM_Y_ZOOM
6219
6220   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6221   ROM_REGION( 0x20000, "fixed", 0 )
6222   ROM_FILL( 0x000000, 0x20000, 0 )
6223   ROM_REGION( 0x20000, "fixedbios", 0 )
6224   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6225
6226   NEO_BIOS_AUDIO_128K( "251-m1.m1", CRC(5e74539c) SHA1(6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da) ) /* TC531001 */
6227
6228   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6229   ROM_LOAD( "251-v1.v1", 0x000000, 0x400000, CRC(ef2eecc8) SHA1(8ed13b9db92dba3124bc5ba66e3e275885ece24a) ) /* TC5332204 */
6230   ROM_LOAD( "251-v2.v2", 0x400000, 0x400000, CRC(73e211ca) SHA1(0e60fa64cab6255d9721e2b4bc22e3de64c874c5) ) /* TC5332204 */
6231   ROM_LOAD( "251-v3.v3", 0x800000, 0x400000, CRC(821901da) SHA1(c6d4975bfaa19a62ed59126cadf2578c0a5c257f) ) /* TC5332204 */
6232   ROM_LOAD( "251-v4.v4", 0xc00000, 0x200000, CRC(b49e6178) SHA1(dde6f76e958841e8c99b693e13ced9aa9ef316dc) ) /* TC5316200 */
6233
6234   NO_DELTAT_REGION
6235
6236   ROM_REGION( 0x4000000, "sprites", 0 )
6237   /* Encrypted */
6238   ROM_LOAD16_BYTE( "251-c1.c1", 0x0000000, 0x800000, CRC(0f9e93fe) SHA1(c7d77f0833c6f526f632e4f2dce59e302f6b9a15) ) /* Plane 0,1 */ /* TC5364205 */
6239   ROM_LOAD16_BYTE( "251-c2.c2", 0x0000001, 0x800000, CRC(e71e2ea3) SHA1(39c7a326fddbcca3b29c68cdc96aad4d62295c0f) ) /* Plane 2,3 */ /* TC5364205 */
6240   ROM_LOAD16_BYTE( "251-c3.c3", 0x1000000, 0x800000, CRC(238755d2) SHA1(01125b5c7a28e350f091280b041954fd1ac7c98f) ) /* Plane 0,1 */ /* TC5364205 */
6241   ROM_LOAD16_BYTE( "251-c4.c4", 0x1000001, 0x800000, CRC(438c8b22) SHA1(ffbc643f5b27dd00f2f95d4ef4c5f29ee814722b) ) /* Plane 2,3 */ /* TC5364205 */
6242   ROM_LOAD16_BYTE( "251-c5.c5", 0x2000000, 0x800000, CRC(0b0abd0a) SHA1(d5ad324fe523bdc6f09209d236cc4932524a48f1) ) /* Plane 0,1 */ /* TC5364205 */
6243   ROM_LOAD16_BYTE( "251-c6.c6", 0x2000001, 0x800000, CRC(65bbf281) SHA1(79ae174667a23dabcfe865b6cd6133c86098452e) ) /* Plane 2,3 */ /* TC5364205 */
6244   ROM_LOAD16_BYTE( "251-c7.c7", 0x3000000, 0x800000, CRC(ff65f62e) SHA1(7cd335fede05b56e15db90ce407c1183a78da4e9) ) /* Plane 0,1 */ /* TC5364205 */
6245   ROM_LOAD16_BYTE( "251-c8.c8", 0x3000001, 0x800000, CRC(8d921c68) SHA1(42acf1d27d52a8e3b6262eb7df50693c0b135565) ) /* Plane 2,3 */ /* TC5364205 */
6246ROM_END
6247
6248ROM_START( kof99e ) /* Original Version - Encrypted Code & GFX */
6249   ROM_REGION( 0x900000, "maincpu", 0 )
6250   ROM_LOAD16_WORD_SWAP( "ka.neo-sma", 0x0c0000, 0x040000, CRC(7766d09e) SHA1(4e0a49d1ad669a62676cb30f527c6590cde80194) )  /* stored in the custom chip */
6251   /* Is the SMA for this set correct? A set with this layout and a SMA.KB is known */
6252   ROM_LOAD16_WORD_SWAP( "251-ep1.p1", 0x100000, 0x200000, CRC(1e8d692d) SHA1(eea1aa8c0a17f089ac14831889c36535e559072c) )
6253   ROM_LOAD16_WORD_SWAP( "251-ep2.p2", 0x300000, 0x200000, CRC(d6206e5a) SHA1(0e1100d03c40c6d5cfa899d009e319ae73fce6b8) )
6254   ROM_LOAD16_WORD_SWAP( "251-ep3.p3", 0x500000, 0x200000, CRC(d58c3ef8) SHA1(f927d90d55b49944f448d6286e0cb913cc70ade1) )
6255   ROM_LOAD16_WORD_SWAP( "251-ep4.p4", 0x700000, 0x200000, CRC(52de02ae) SHA1(f16924ff8eef92da7716236a6a055e22e090a02b) )
6256
6257   ROM_Y_ZOOM
6258
6259   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6260   ROM_REGION( 0x20000, "fixed", 0 )
6261   ROM_FILL( 0x000000, 0x20000, 0 )
6262   ROM_REGION( 0x20000, "fixedbios", 0 )
6263   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6264
6265   NEO_BIOS_AUDIO_128K( "251-m1.m1", CRC(5e74539c) SHA1(6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da) ) /* TC531001 */
6266
6267   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6268   ROM_LOAD( "251-v1.v1", 0x000000, 0x400000, CRC(ef2eecc8) SHA1(8ed13b9db92dba3124bc5ba66e3e275885ece24a) ) /* TC5332204 */
6269   ROM_LOAD( "251-v2.v2", 0x400000, 0x400000, CRC(73e211ca) SHA1(0e60fa64cab6255d9721e2b4bc22e3de64c874c5) ) /* TC5332204 */
6270   ROM_LOAD( "251-v3.v3", 0x800000, 0x400000, CRC(821901da) SHA1(c6d4975bfaa19a62ed59126cadf2578c0a5c257f) ) /* TC5332204 */
6271   ROM_LOAD( "251-v4.v4", 0xc00000, 0x200000, CRC(b49e6178) SHA1(dde6f76e958841e8c99b693e13ced9aa9ef316dc) ) /* TC5316200 */
6272
6273   NO_DELTAT_REGION
6274
6275   ROM_REGION( 0x4000000, "sprites", 0 )
6276   /* Encrypted */
6277   ROM_LOAD16_BYTE( "251-c1.c1", 0x0000000, 0x800000, CRC(0f9e93fe) SHA1(c7d77f0833c6f526f632e4f2dce59e302f6b9a15) ) /* Plane 0,1 */ /* TC5364205 */
6278   ROM_LOAD16_BYTE( "251-c2.c2", 0x0000001, 0x800000, CRC(e71e2ea3) SHA1(39c7a326fddbcca3b29c68cdc96aad4d62295c0f) ) /* Plane 2,3 */ /* TC5364205 */
6279   ROM_LOAD16_BYTE( "251-c3.c3", 0x1000000, 0x800000, CRC(238755d2) SHA1(01125b5c7a28e350f091280b041954fd1ac7c98f) ) /* Plane 0,1 */ /* TC5364205 */
6280   ROM_LOAD16_BYTE( "251-c4.c4", 0x1000001, 0x800000, CRC(438c8b22) SHA1(ffbc643f5b27dd00f2f95d4ef4c5f29ee814722b) ) /* Plane 2,3 */ /* TC5364205 */
6281   ROM_LOAD16_BYTE( "251-c5.c5", 0x2000000, 0x800000, CRC(0b0abd0a) SHA1(d5ad324fe523bdc6f09209d236cc4932524a48f1) ) /* Plane 0,1 */ /* TC5364205 */
6282   ROM_LOAD16_BYTE( "251-c6.c6", 0x2000001, 0x800000, CRC(65bbf281) SHA1(79ae174667a23dabcfe865b6cd6133c86098452e) ) /* Plane 2,3 */ /* TC5364205 */
6283   ROM_LOAD16_BYTE( "251-c7.c7", 0x3000000, 0x800000, CRC(ff65f62e) SHA1(7cd335fede05b56e15db90ce407c1183a78da4e9) ) /* Plane 0,1 */ /* TC5364205 */
6284   ROM_LOAD16_BYTE( "251-c8.c8", 0x3000001, 0x800000, CRC(8d921c68) SHA1(42acf1d27d52a8e3b6262eb7df50693c0b135565) ) /* Plane 2,3 */ /* TC5364205 */
6285ROM_END
6286
6287ROM_START( kof99k ) /* Original Version - Encrypted GFX */ /* KOREAN VERSION */
6288   ROM_REGION( 0x500000, "maincpu", 0 )
6289   ROM_LOAD16_WORD_SWAP( "152-p1.p1",  0x000000, 0x100000, CRC(f2c7ddfa) SHA1(d592eecc53d442c55c2f26a6a721fdf2924d2a5b) )
6290   ROM_LOAD16_WORD_SWAP( "152-p2.sp2", 0x100000, 0x400000, CRC(274ef47a) SHA1(98654b68cc85c19d4a90b46f3110f551fa2e5357) )
6291
6292   ROM_Y_ZOOM
6293
6294   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6295   ROM_REGION( 0x20000, "fixed", 0 )
6296   ROM_FILL( 0x000000, 0x20000, 0 )
6297   ROM_REGION( 0x20000, "fixedbios", 0 )
6298   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6299
6300   NEO_BIOS_AUDIO_128K( "251-m1.m1", CRC(5e74539c) SHA1(6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da) ) /* TC531001 */
6301
6302   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6303   ROM_LOAD( "251-v1.v1", 0x000000, 0x400000, CRC(ef2eecc8) SHA1(8ed13b9db92dba3124bc5ba66e3e275885ece24a) ) /* TC5332204 */
6304   ROM_LOAD( "251-v2.v2", 0x400000, 0x400000, CRC(73e211ca) SHA1(0e60fa64cab6255d9721e2b4bc22e3de64c874c5) ) /* TC5332204 */
6305   ROM_LOAD( "251-v3.v3", 0x800000, 0x400000, CRC(821901da) SHA1(c6d4975bfaa19a62ed59126cadf2578c0a5c257f) ) /* TC5332204 */
6306   ROM_LOAD( "251-v4.v4", 0xc00000, 0x200000, CRC(b49e6178) SHA1(dde6f76e958841e8c99b693e13ced9aa9ef316dc) ) /* TC5316200 */
6307
6308   NO_DELTAT_REGION
6309
6310   ROM_REGION( 0x4000000, "sprites", 0 )
6311   /* Encrypted */
6312   ROM_LOAD16_BYTE( "251-c1.c1", 0x0000000, 0x800000, CRC(0f9e93fe) SHA1(c7d77f0833c6f526f632e4f2dce59e302f6b9a15) ) /* Plane 0,1 */ /* TC5364205 */
6313   ROM_LOAD16_BYTE( "251-c2.c2", 0x0000001, 0x800000, CRC(e71e2ea3) SHA1(39c7a326fddbcca3b29c68cdc96aad4d62295c0f) ) /* Plane 2,3 */ /* TC5364205 */
6314   ROM_LOAD16_BYTE( "251-c3.c3", 0x1000000, 0x800000, CRC(238755d2) SHA1(01125b5c7a28e350f091280b041954fd1ac7c98f) ) /* Plane 0,1 */ /* TC5364205 */
6315   ROM_LOAD16_BYTE( "251-c4.c4", 0x1000001, 0x800000, CRC(438c8b22) SHA1(ffbc643f5b27dd00f2f95d4ef4c5f29ee814722b) ) /* Plane 2,3 */ /* TC5364205 */
6316   ROM_LOAD16_BYTE( "251-c5.c5", 0x2000000, 0x800000, CRC(0b0abd0a) SHA1(d5ad324fe523bdc6f09209d236cc4932524a48f1) ) /* Plane 0,1 */ /* TC5364205 */
6317   ROM_LOAD16_BYTE( "251-c6.c6", 0x2000001, 0x800000, CRC(65bbf281) SHA1(79ae174667a23dabcfe865b6cd6133c86098452e) ) /* Plane 2,3 */ /* TC5364205 */
6318   ROM_LOAD16_BYTE( "251-c7.c7", 0x3000000, 0x800000, CRC(ff65f62e) SHA1(7cd335fede05b56e15db90ce407c1183a78da4e9) ) /* Plane 0,1 */ /* TC5364205 */
6319   ROM_LOAD16_BYTE( "251-c8.c8", 0x3000001, 0x800000, CRC(8d921c68) SHA1(42acf1d27d52a8e3b6262eb7df50693c0b135565) ) /* Plane 2,3 */ /* TC5364205 */
6320ROM_END
6321
6322ROM_START( kof99p ) /* Prototype Version - Possibly Hacked */
6323   ROM_REGION( 0x500000, "maincpu", 0 )
6324   ROM_LOAD16_WORD_SWAP( "proto_251-p1.p1", 0x000000, 0x100000, CRC(f37929c4) SHA1(226e7e3d629568399b88275e5bcd4e5b3839be95) )
6325   ROM_LOAD16_WORD_SWAP( "proto_251-p2.p2", 0x100000, 0x400000, CRC(739742ad) SHA1(31acaf05a9bf186305888d3db7e4e8a83f7bb0a4) )
6326
6327   /* This is the S1 from the prototype, the final is different */
6328   NEO_SFIX_128K( "proto_251-s1.s1", CRC(fb1498ed) SHA1(d40060b31b6f217a4abdf3b336439fcd7bd7aaef) )
6329
6330   /* Did the Prototype really use the same sound program / voice roms, sound isn't great .. */
6331   NEO_BIOS_AUDIO_128K( "251-m1.m1", CRC(5e74539c) SHA1(6f49a9343cbd026b2c6720ff3fa2e5b1f85e80da) ) /* TC531001 */
6332
6333   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6334   ROM_LOAD( "251-v1.v1", 0x000000, 0x400000, CRC(ef2eecc8) SHA1(8ed13b9db92dba3124bc5ba66e3e275885ece24a) ) /* TC5332204 */
6335   ROM_LOAD( "251-v2.v2", 0x400000, 0x400000, CRC(73e211ca) SHA1(0e60fa64cab6255d9721e2b4bc22e3de64c874c5) ) /* TC5332204 */
6336   ROM_LOAD( "251-v3.v3", 0x800000, 0x400000, CRC(821901da) SHA1(c6d4975bfaa19a62ed59126cadf2578c0a5c257f) ) /* TC5332204 */
6337   ROM_LOAD( "251-v4.v4", 0xc00000, 0x200000, CRC(b49e6178) SHA1(dde6f76e958841e8c99b693e13ced9aa9ef316dc) ) /* TC5316200 */
6338
6339   NO_DELTAT_REGION
6340
6341   ROM_REGION( 0x4000000, "sprites", 0 )
6342   /* these are probably decrypted versions of the roms found in the final */
6343   ROM_LOAD16_BYTE( "proto_251-c1.c1", 0x0000000, 0x800000, CRC(e5d8ffa4) SHA1(65f15f9f02424a7a9dd35916166594f283e8d424) ) /* Plane 0,1 */
6344   ROM_LOAD16_BYTE( "proto_251-c2.c2", 0x0000001, 0x800000, CRC(d822778f) SHA1(b590055e9bf1549bd6e1ecdabd65702202615712) ) /* Plane 2,3 */
6345   ROM_LOAD16_BYTE( "proto_251-c3.c3", 0x1000000, 0x800000, CRC(f20959e8) SHA1(38293043fa77ac51c5e3191118874c58f1ae4d30) ) /* Plane 0,1 */
6346   ROM_LOAD16_BYTE( "proto_251-c4.c4", 0x1000001, 0x800000, CRC(54ffbe9f) SHA1(8e62442923551f07a552621951b1accab2830e3b) ) /* Plane 2,3 */
6347   ROM_LOAD16_BYTE( "proto_251-c5.c5", 0x2000000, 0x800000, CRC(d87a3bbc) SHA1(430f6812088712e0eb5714dcc664d8bba75e921a) ) /* Plane 0,1 */
6348   ROM_LOAD16_BYTE( "proto_251-c6.c6", 0x2000001, 0x800000, CRC(4d40a691) SHA1(2b580d0678a5e6033ef16130671e860364d35e56) ) /* Plane 2,3 */
6349   ROM_LOAD16_BYTE( "proto_251-c7.c7", 0x3000000, 0x800000, CRC(a4479a58) SHA1(d50e6cc9ccfe1ddbc6d90d46b8ca2cb0304edd8c) ) /* Plane 0,1 */
6350   ROM_LOAD16_BYTE( "proto_251-c8.c8", 0x3000001, 0x800000, CRC(ead513ce) SHA1(e9b07a0b01fdeb3004755a479df059c81b4d0ed6) ) /* Plane 2,3 */
6351ROM_END
6352
6353/****************************************
6354 ID-0252
6355 . ??M-2520
6356 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6357****************************************/
6358
6359ROM_START( ganryu ) /* Original Version - Encrypted GFX */ /* MVS ONLY RELEASE */
6360   ROM_REGION( 0x200000, "maincpu", 0 )
6361   ROM_LOAD16_WORD_SWAP( "252-p1.p1", 0x100000, 0x100000, CRC(4b8ac4fb) SHA1(93d90271bff281862b03beba3809cf95a47a1e44) )
6362   ROM_CONTINUE( 0x000000, 0x100000 )
6363
6364   ROM_Y_ZOOM
6365
6366   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6367   ROM_REGION( 0x20000, "fixed", 0 )
6368   ROM_FILL( 0x000000, 0x20000, 0 )
6369   ROM_REGION( 0x20000, "fixedbios", 0 )
6370   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6371
6372   NEO_BIOS_AUDIO_128K( "252-m1.m1", CRC(30cc4099) SHA1(46453b7aac41855a92724a785372f8daf931d8d4) )
6373
6374   ROM_REGION( 0x0400000, "ymsnd", 0 )
6375   ROM_LOAD( "252-v1.v1", 0x000000, 0x400000, CRC(e5946733) SHA1(d5904a50465af03d6ff33399a98f3259721ca0b2) )
6376
6377   NO_DELTAT_REGION
6378
6379   ROM_REGION( 0x1000000, "sprites", 0 )
6380   /* Encrypted */
6381   ROM_LOAD16_BYTE( "252-c1.c1", 0x0000000, 0x800000, CRC(50ee7882) SHA1(ace0f95407c246d0456341cf2ad8a7668b81df8a) ) /* Plane 0,1 */
6382   ROM_LOAD16_BYTE( "252-c2.c2", 0x0000001, 0x800000, CRC(62585474) SHA1(b35461598087aa82886af0030c61b26cc064af5f) ) /* Plane 2,3 */
6383ROM_END
6384
6385/****************************************
6386 ID-0253
6387 . NGM-2530
6388 NEO-MVS PROGLBA (NEO-SMA) (LBA-SUB) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6389 . NGH-2530
6390 NEO-AEG PROGLBA (NEO-SMA) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7042)
6391****************************************/
6392
6393ROM_START( garou ) /* Original Version - Encrypted GFX */ /* MVS VERSION - later revision */
6394   ROM_REGION( 0x900000, "maincpu", 0 )
6395   ROM_LOAD16_WORD_SWAP( "kf.neo-sma", 0x0c0000, 0x040000, CRC(98bc93dc) SHA1(01fe3d18b50f770e131e8d8eeff4c630ba8c9551) )  /* stored in the custom chip */
6396   ROM_LOAD16_WORD_SWAP( "253-ep1.p1", 0x100000, 0x200000, CRC(ea3171a4) SHA1(bbda40f652baa0dc5fc6a006c001a1bdb0df43f6) ) /* M27C160 */
6397   ROM_LOAD16_WORD_SWAP( "253-ep2.p2", 0x300000, 0x200000, CRC(382f704b) SHA1(0ace9c84a8b8a0524fd9a503e7d872de1bf1bd52) ) /* M27C160 */
6398   ROM_LOAD16_WORD_SWAP( "253-ep3.p3", 0x500000, 0x200000, CRC(e395bfdd) SHA1(6b50f5ac15bf66b7e4e9bff57594fd3d7530c831) ) /* M27C160 */
6399   ROM_LOAD16_WORD_SWAP( "253-ep4.p4", 0x700000, 0x200000, CRC(da92c08e) SHA1(5556f983ebcebc33160e90a6a6cf589d54c8cedc) ) /* M27C160 */
6400
6401   ROM_Y_ZOOM
6402
6403   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6404   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
6405   ROM_FILL( 0x000000, 0x20000, 0 )
6406   ROM_REGION( 0x20000, "fixedbios", 0 )
6407   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6408
6409   NEO_BIOS_AUDIO_256K( "253-m1.m1", CRC(36a806be) SHA1(90fb44dc0c3fb57946a0f35716056abb84a0f191) ) /* TC532000 */
6410
6411   ROM_REGION( 0x1000000, "ymsnd", 0 )
6412   ROM_LOAD( "253-v1.v1", 0x000000, 0x400000, CRC(263e388c) SHA1(11f05feee170370c4bfc5053af79246a6e3de5dc) ) /* TC5332204 */
6413   ROM_LOAD( "253-v2.v2", 0x400000, 0x400000, CRC(2c6bc7be) SHA1(c9c61054ce1a47bf1bf77a31117726b499df24a4) ) /* TC5332204 */
6414   ROM_LOAD( "253-v3.v3", 0x800000, 0x400000, CRC(0425b27d) SHA1(986863c98fc3445487242dcf2ea75b075e7f33ee) ) /* TC5332204 */
6415   ROM_LOAD( "253-v4.v4", 0xc00000, 0x400000, CRC(a54be8a9) SHA1(d7123e79b43e8adfaa5ecadbfcbeb6be890ec311) ) /* TC5332204 */
6416
6417   NO_DELTAT_REGION
6418
6419   ROM_REGION( 0x4000000, "sprites", 0 )
6420   /* Encrypted */
6421   ROM_LOAD16_BYTE( "253-c1.c1", 0x0000000, 0x800000, CRC(0603e046) SHA1(5ef4557ce90ba65d36129de97be1fdc049c4a3d0) ) /* Plane 0,1 */ /* TC5364205 */
6422   ROM_LOAD16_BYTE( "253-c2.c2", 0x0000001, 0x800000, CRC(0917d2a4) SHA1(d4ed3a13ae22f880fb399671c1752f1a0283f316) ) /* Plane 2,3 */ /* TC5364205 */
6423   ROM_LOAD16_BYTE( "253-c3.c3", 0x1000000, 0x800000, CRC(6737c92d) SHA1(678f0c9cc1267bd131546981b9989bfb7289d8ba) ) /* Plane 0,1 */ /* TC5364205 */
6424   ROM_LOAD16_BYTE( "253-c4.c4", 0x1000001, 0x800000, CRC(5ba92ec6) SHA1(aae36b050a3a0321026a96eba06dd184c0e2acca) ) /* Plane 2,3 */ /* TC5364205 */
6425   ROM_LOAD16_BYTE( "253-c5.c5", 0x2000000, 0x800000, CRC(3eab5557) SHA1(47c433015aa81a0b0a1d3ee51382c4948b80c023) ) /* Plane 0,1 */ /* TC5364205 */
6426   ROM_LOAD16_BYTE( "253-c6.c6", 0x2000001, 0x800000, CRC(308d098b) SHA1(b052f1fa9fbc69606004c250e2505360eaa24949) ) /* Plane 2,3 */ /* TC5364205 */
6427   ROM_LOAD16_BYTE( "253-c7.c7", 0x3000000, 0x800000, CRC(c0e995ae) SHA1(8675ca787d28246174c313167f82557f021366fc) ) /* Plane 0,1 */ /* TC5364205 */
6428   ROM_LOAD16_BYTE( "253-c8.c8", 0x3000001, 0x800000, CRC(21a11303) SHA1(fd61221ad257c185ef5c1f9694bd6b840b591af3) ) /* Plane 2,3 */ /* TC5364205 */
6429ROM_END
6430
6431ROM_START( garouh ) /* Original Version - Encrypted GFX */ /* MVS AND AES VERSION - earlier revision */
6432   ROM_REGION( 0x900000, "maincpu", 0 )
6433   ROM_LOAD16_WORD_SWAP( "ke.neo-sma", 0x0c0000, 0x040000, CRC(96c72233) SHA1(29e19effd40fdf7e5144332396857f4ad0eff13e) )  /* stored in the custom chip */
6434   ROM_LOAD16_WORD_SWAP( "253-p1.p1",  0x100000, 0x400000, CRC(18ae5d7e) SHA1(bdb58ec9137d8653979b47132f2d10e1cc6aaa24) ) /* mask rom TC5332205 */
6435   ROM_LOAD16_WORD_SWAP( "253-p2.p2",  0x500000, 0x400000, CRC(afffa779) SHA1(ac017986f02277fbcd656b8c02492a3f4216a90e) ) /* mask rom TC5332205 */
6436
6437   ROM_Y_ZOOM
6438
6439   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6440   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
6441   ROM_FILL( 0x000000, 0x20000, 0 )
6442   ROM_REGION( 0x20000, "fixedbios", 0 )
6443   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6444
6445   NEO_BIOS_AUDIO_256K( "253-m1.m1", CRC(36a806be) SHA1(90fb44dc0c3fb57946a0f35716056abb84a0f191) ) /* TC532000 */
6446
6447   ROM_REGION( 0x1000000, "ymsnd", 0 )
6448   ROM_LOAD( "253-v1.v1", 0x000000, 0x400000, CRC(263e388c) SHA1(11f05feee170370c4bfc5053af79246a6e3de5dc) ) /* TC5332204 */
6449   ROM_LOAD( "253-v2.v2", 0x400000, 0x400000, CRC(2c6bc7be) SHA1(c9c61054ce1a47bf1bf77a31117726b499df24a4) ) /* TC5332204 */
6450   ROM_LOAD( "253-v3.v3", 0x800000, 0x400000, CRC(0425b27d) SHA1(986863c98fc3445487242dcf2ea75b075e7f33ee) ) /* TC5332204 */
6451   ROM_LOAD( "253-v4.v4", 0xc00000, 0x400000, CRC(a54be8a9) SHA1(d7123e79b43e8adfaa5ecadbfcbeb6be890ec311) ) /* TC5332204 */
6452
6453   NO_DELTAT_REGION
6454
6455   ROM_REGION( 0x4000000, "sprites", 0 )
6456   /* Encrypted */
6457   ROM_LOAD16_BYTE( "253-c1.c1", 0x0000000, 0x800000, CRC(0603e046) SHA1(5ef4557ce90ba65d36129de97be1fdc049c4a3d0) ) /* Plane 0,1 */ /* TC5364205 */
6458   ROM_LOAD16_BYTE( "253-c2.c2", 0x0000001, 0x800000, CRC(0917d2a4) SHA1(d4ed3a13ae22f880fb399671c1752f1a0283f316) ) /* Plane 2,3 */ /* TC5364205 */
6459   ROM_LOAD16_BYTE( "253-c3.c3", 0x1000000, 0x800000, CRC(6737c92d) SHA1(678f0c9cc1267bd131546981b9989bfb7289d8ba) ) /* Plane 0,1 */ /* TC5364205 */
6460   ROM_LOAD16_BYTE( "253-c4.c4", 0x1000001, 0x800000, CRC(5ba92ec6) SHA1(aae36b050a3a0321026a96eba06dd184c0e2acca) ) /* Plane 2,3 */ /* TC5364205 */
6461   ROM_LOAD16_BYTE( "253-c5.c5", 0x2000000, 0x800000, CRC(3eab5557) SHA1(47c433015aa81a0b0a1d3ee51382c4948b80c023) ) /* Plane 0,1 */ /* TC5364205 */
6462   ROM_LOAD16_BYTE( "253-c6.c6", 0x2000001, 0x800000, CRC(308d098b) SHA1(b052f1fa9fbc69606004c250e2505360eaa24949) ) /* Plane 2,3 */ /* TC5364205 */
6463   ROM_LOAD16_BYTE( "253-c7.c7", 0x3000000, 0x800000, CRC(c0e995ae) SHA1(8675ca787d28246174c313167f82557f021366fc) ) /* Plane 0,1 */ /* TC5364205 */
6464   ROM_LOAD16_BYTE( "253-c8.c8", 0x3000001, 0x800000, CRC(21a11303) SHA1(fd61221ad257c185ef5c1f9694bd6b840b591af3) ) /* Plane 2,3 */ /* TC5364205 */
6465ROM_END
6466
6467ROM_START( garoup ) /* Prototype Version, seems genuine */
6468   ROM_REGION( 0x500000, "maincpu", 0 )
6469   ROM_LOAD16_WORD_SWAP( "proto_253-p1.p1", 0x000000, 0x100000, CRC(c72f0c16) SHA1(1ff6bb651682f93bef9ff02622c3cf63fe594986) )
6470   ROM_LOAD16_WORD_SWAP( "proto_253-p2.p2", 0x100000, 0x400000, CRC(bf8de565) SHA1(0e24574168cd38138bed0aa4dca49849f6901ca2) )
6471
6472   NEO_SFIX_128K( "proto_253-s1.s1", CRC(779989de) SHA1(8bd550857b60f8a907f6d39a4225ceffdd330307) )
6473
6474   NEO_BIOS_AUDIO_256K( "proto_253-m1.m1", CRC(bbe464f7) SHA1(f5f8f3e48f5d453f45107085d6f4023bcd24c053) )
6475
6476   ROM_REGION( 0x1000000, "ymsnd", 0 )
6477   ROM_LOAD( "proto_253-v1.v1", 0x000000, 0x400000, CRC(274f3923) SHA1(4c7a8ad1cd0e3afc1f78de3c2929120ed434f104) )
6478   ROM_LOAD( "proto_253-v2.v2", 0x400000, 0x400000, CRC(8f86dabe) SHA1(b3d2d9f5c1d97a6e7aee2c674fb6627f41bbb240) )
6479   ROM_LOAD( "proto_253-v3.v3", 0x800000, 0x400000, CRC(05fd06cd) SHA1(6cd699719614bb87547632ea3d61d92d81fdf563) )
6480   ROM_LOAD( "proto_253-v4.v4", 0xc00000, 0x400000, CRC(14984063) SHA1(170d5638327ec0eb3590b80dc11590897367250c) )
6481
6482   NO_DELTAT_REGION
6483
6484   ROM_REGION( 0x4000000, "sprites", 0 )
6485   ROM_LOAD16_BYTE( "proto_253-c1.c1", 0x0000000, 0x800000, CRC(5bb5d137) SHA1(d648febd8e6a0bdd9bdbb6ce1f1f8b08567ec05a) ) /* Plane 0,1 */
6486   ROM_LOAD16_BYTE( "proto_253-c2.c2", 0x0000001, 0x800000, CRC(5c8d2960) SHA1(f7503502be0332adf408ee0ea5ee5161c8939fd8) ) /* Plane 2,3 */
6487   ROM_LOAD16_BYTE( "proto_253-c3.c3", 0x1000000, 0x800000, CRC(234d16fc) SHA1(7b9221f7ecc438150c8a10be72390329854ed21b) ) /* Plane 0,1 */
6488   ROM_LOAD16_BYTE( "proto_253-c4.c4", 0x1000001, 0x800000, CRC(b9b5b993) SHA1(6059793eaf6e58c172235fe64aa9d25a40c38ed6) ) /* Plane 2,3 */
6489   ROM_LOAD16_BYTE( "proto_253-c5.c5", 0x2000000, 0x800000, CRC(722615d2) SHA1(798832c535869f0e247c3db0d8253779b103e213) ) /* Plane 0,1 */
6490   ROM_LOAD16_BYTE( "proto_253-c6.c6", 0x2000001, 0x800000, CRC(0a6fab38) SHA1(eaee6f2f18af91f7959d84d4b991b3fc182d07c4) ) /* Plane 2,3 */
6491   ROM_LOAD16_BYTE( "proto_253-c7.c7", 0x3000000, 0x800000, CRC(d68e806f) SHA1(92bfd9839115bd590972ae4ecc45ad35dce22387) ) /* Plane 0,1 */
6492   ROM_LOAD16_BYTE( "proto_253-c8.c8", 0x3000001, 0x800000, CRC(f778fe99) SHA1(c963f6ba90a36d02991728b44ffcf174ca18268a) ) /* Plane 2,3 */
6493ROM_END
6494
6495/****************************************
6496 ID-0254
6497 . ??M-2540
6498 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6499****************************************/
6500
6501ROM_START( s1945p ) /* Original Version, Encrypted GFX Roms */ /* MVS ONLY RELEASE */
6502   ROM_REGION( 0x500000, "maincpu", 0 )
6503   ROM_LOAD16_WORD_SWAP( "254-p1.p1",  0x000000, 0x100000, CRC(ff8efcff) SHA1(dcaeaca573385c172ecc43ee6bee355359091893) )
6504   ROM_LOAD16_WORD_SWAP( "254-p2.sp2", 0x100000, 0x400000, CRC(efdfd4dd) SHA1(254f3e1b546eed788f7ae919be9d1bf9702148ce) )
6505
6506   ROM_Y_ZOOM
6507
6508   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6509   ROM_REGION( 0x20000, "fixed", 0 )
6510   ROM_FILL( 0x000000, 0x20000, 0 )
6511   ROM_REGION( 0x20000, "fixedbios", 0 )
6512   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6513
6514   NEO_BIOS_AUDIO_128K( "254-m1.m1", CRC(994b4487) SHA1(a4e645a3ababa48a8325980ff022e04a8b51b017) )
6515
6516   ROM_REGION( 0x1000000, "ymsnd", 0 )
6517   ROM_LOAD( "254-v1.v1", 0x000000, 0x400000, CRC(844f58fb) SHA1(e59544457be9f21481eac8b5a39b9cbb502f252d) )
6518   ROM_LOAD( "254-v2.v2", 0x400000, 0x400000, CRC(d9a248f0) SHA1(dd3e0974b753e6f94d0943a002de45668a1b072b) )
6519   ROM_LOAD( "254-v3.v3", 0x800000, 0x400000, CRC(0b0d2d33) SHA1(f8e76af42a997f36a40f66b39de00f68afe6a89c) )
6520   ROM_LOAD( "254-v4.v4", 0xc00000, 0x400000, CRC(6d13dc91) SHA1(8433513c0b5aea61939068a25ab90efbe3e44116) )
6521
6522   NO_DELTAT_REGION
6523
6524   ROM_REGION( 0x4000000, "sprites", 0 )
6525   ROM_LOAD16_BYTE( "254-c1.c1", 0x0000000, 0x800000, CRC(ae6fc8ef) SHA1(544ccdaee8a4a45cdce9483e30852811d2d5f3cc) ) /* Plane 0,1 */
6526   ROM_LOAD16_BYTE( "254-c2.c2", 0x0000001, 0x800000, CRC(436fa176) SHA1(d70141a91a360a1b1070753086f976608fec38af) ) /* Plane 2,3 */
6527   ROM_LOAD16_BYTE( "254-c3.c3", 0x1000000, 0x800000, CRC(e53ff2dc) SHA1(31f6aaffe28146d574aa72f14f90a9d968f36bc6) ) /* Plane 0,1 */
6528   ROM_LOAD16_BYTE( "254-c4.c4", 0x1000001, 0x800000, CRC(818672f0) SHA1(460c6738d0ee5ae440a23fc1434fab53bbb242b5) ) /* Plane 2,3 */
6529   ROM_LOAD16_BYTE( "254-c5.c5", 0x2000000, 0x800000, CRC(4580eacd) SHA1(feb96eb5e80c9125ddd7836e0939212cd3011c34) ) /* Plane 0,1 */
6530   ROM_LOAD16_BYTE( "254-c6.c6", 0x2000001, 0x800000, CRC(e34970fc) SHA1(6e43e15e27bc914357f977116ab1e2d98711bb21) ) /* Plane 2,3 */
6531   ROM_LOAD16_BYTE( "254-c7.c7", 0x3000000, 0x800000, CRC(f2323239) SHA1(5b3e8dd77474203be010ec7363858d806344a320) ) /* Plane 0,1 */
6532   ROM_LOAD16_BYTE( "254-c8.c8", 0x3000001, 0x800000, CRC(66848c7d) SHA1(24d4ed627940a4cf8129761c1da15556e52e199c) ) /* Plane 2,3 */
6533ROM_END
6534
6535/****************************************
6536 ID-0255
6537 . ??M-2550
6538 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6539****************************************/
6540
6541ROM_START( preisle2 ) /* Original Version, Encrypted GFX */ /* MVS ONLY RELEASE */
6542   ROM_REGION( 0x500000, "maincpu", 0 )
6543   ROM_LOAD16_WORD_SWAP( "255-p1.p1",  0x000000, 0x100000, CRC(dfa3c0f3) SHA1(793c6a46f3a794536dc0327a3f3fad20e25ab661) )
6544   ROM_LOAD16_WORD_SWAP( "255-p2.sp2", 0x100000, 0x400000, CRC(42050b80) SHA1(0981a8295d43b264c2b95e5d7568bdda4e64c976) )
6545
6546   ROM_Y_ZOOM
6547
6548   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6549   ROM_REGION( 0x20000, "fixed", 0 )
6550   ROM_FILL( 0x000000, 0x20000, 0 )
6551   ROM_REGION( 0x20000, "fixedbios", 0 )
6552   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6553
6554   NEO_BIOS_AUDIO_128K( "255-m1.m1", CRC(8efd4014) SHA1(5b73809b6e4e49264d281ef3e5004ac8a9de296d) )
6555
6556   ROM_REGION( 0x0600000, "ymsnd", 0 )
6557   ROM_LOAD( "255-v1.v1", 0x000000, 0x400000, CRC(5a14543d) SHA1(7146ac748f846c7e2d5b0bdcf953892e39b648fe) )
6558   ROM_LOAD( "255-v2.v2", 0x400000, 0x200000, CRC(6610d91a) SHA1(b2c6786920dc1712e88c3cc26d2c6c3ac2615bf4) )
6559
6560   NO_DELTAT_REGION
6561
6562   ROM_REGION( 0x3000000, "sprites", 0 )
6563   /* Encrypted */
6564   ROM_LOAD16_BYTE( "255-c1.c1", 0x0000000, 0x800000, CRC(ea06000b) SHA1(1539b12e461fa48301190eb8171bbffff9d984b7) ) /* Plane 0,1 */
6565   ROM_LOAD16_BYTE( "255-c2.c2", 0x0000001, 0x800000, CRC(04e67d79) SHA1(aadb6ee750da2c14c6eededa2218db95e051a32c) ) /* Plane 2,3 */
6566   ROM_LOAD16_BYTE( "255-c3.c3", 0x1000000, 0x800000, CRC(60e31e08) SHA1(bd5b81ad9d04cdc4e0df31ac40eca305f98277eb) ) /* Plane 0,1 */
6567   ROM_LOAD16_BYTE( "255-c4.c4", 0x1000001, 0x800000, CRC(40371d69) SHA1(90011ccc5672ff1b90737cf50c963e71b6217ce3) ) /* Plane 2,3 */
6568   ROM_LOAD16_BYTE( "255-c5.c5", 0x2000000, 0x800000, CRC(0b2e6adf) SHA1(15c7d9aa8b1ad9a071e6fd0ef0de8a057c23b02e) ) /* Plane 0,1 */
6569   ROM_LOAD16_BYTE( "255-c6.c6", 0x2000001, 0x800000, CRC(b001bdd3) SHA1(394ba8004644844ee97a120cfda48aeac685af8a) ) /* Plane 2,3 */
6570ROM_END
6571
6572/****************************************
6573 ID-0256
6574 . NGM-2560
6575 SMA protected version found on:
6576 NEO-MVS PROGLBA (NEO-SMA)(LBA-SUB) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6577 Non SMA protected version found on:
6578 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6579 . NGH-2560
6580****************************************/
6581
6582ROM_START( mslug3 ) /* Original Version - Encrypted Code & GFX */ /* revision 2000.4.1 */ /* MVS VERSION */
6583   ROM_REGION( 0x900000, "maincpu", 0 )
6584   ROM_LOAD16_WORD_SWAP( "neo-sma",    0x0c0000, 0x040000, CRC(9cd55736) SHA1(d6efb2b313127c2911d47d9324626b3f1e7c6ccb) )  /* stored in the custom chip */
6585   /* The SMA for this release has a green colour marking; the older revision has a white colour marking */
6586   ROM_LOAD16_WORD_SWAP( "256-pg1.p1", 0x100000, 0x400000, CRC(b07edfd5) SHA1(dcbd9e500bfae98d754e55cdbbbbf9401013f8ee) ) /* TC5332202 */
6587   ROM_LOAD16_WORD_SWAP( "256-pg2.p2", 0x500000, 0x400000, CRC(6097c26b) SHA1(248ec29d21216f29dc6f5f3f0e1ad1601b3501b6) ) /* TC5332202 */
6588
6589   ROM_Y_ZOOM
6590
6591   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6592   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
6593   ROM_FILL( 0x000000, 0x20000, 0 )
6594   ROM_REGION( 0x20000, "fixedbios", 0 )
6595   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6596
6597   NEO_BIOS_AUDIO_512K( "256-m1.m1", CRC(eaeec116) SHA1(54419dbb21edc8c4b37eaac2e7ad9496d2de037a) ) /* mask rom TC534000 */
6598
6599   ROM_REGION( 0x1000000, "ymsnd", 0 )
6600   ROM_LOAD( "256-v1.v1", 0x000000, 0x400000, CRC(f2690241) SHA1(fd56babc1934d10e0d27c32f032f9edda7ca8ce9) ) /* TC5332204 */
6601   ROM_LOAD( "256-v2.v2", 0x400000, 0x400000, CRC(7e2a10bd) SHA1(0d587fb9f64cba0315ce2d8a03e2b8fe34936dff) ) /* TC5332204 */
6602   ROM_LOAD( "256-v3.v3", 0x800000, 0x400000, CRC(0eaec17c) SHA1(c3ed613cc6993edd6fc0d62a90bcd85de8e21915) ) /* TC5332204 */
6603   ROM_LOAD( "256-v4.v4", 0xc00000, 0x400000, CRC(9b4b22d4) SHA1(9764fbf8453e52f80aa97a46fb9cf5937ef15a31) ) /* TC5332204 */
6604
6605   NO_DELTAT_REGION
6606
6607   ROM_REGION( 0x4000000, "sprites", 0 )
6608   /* Encrypted */
6609   ROM_LOAD16_BYTE( "256-c1.c1", 0x0000000, 0x800000, CRC(5a79c34e) SHA1(b8aa51fa50935cae62ab3d125b723ab888691e60) ) /* Plane 0,1 */ /* TC5364205 */
6610   ROM_LOAD16_BYTE( "256-c2.c2", 0x0000001, 0x800000, CRC(944c362c) SHA1(3843ab300f956280475469caee70135658f67089) ) /* Plane 2,3 */ /* TC5364205 */
6611   ROM_LOAD16_BYTE( "256-c3.c3", 0x1000000, 0x800000, CRC(6e69d36f) SHA1(94e8cf42e999114b4bd8b30e0aa2f365578c4c9a) ) /* Plane 0,1 */ /* TC5364205 */
6612   ROM_LOAD16_BYTE( "256-c4.c4", 0x1000001, 0x800000, CRC(b755b4eb) SHA1(804700a0966a48f130c434ede3f970792ea74fa5) ) /* Plane 2,3 */ /* TC5364205 */
6613   ROM_LOAD16_BYTE( "256-c5.c5", 0x2000000, 0x800000, CRC(7aacab47) SHA1(312c1c9846175fe1a3cad51d5ae230cf674fc93d) ) /* Plane 0,1 */ /* TC5364205 */
6614   ROM_LOAD16_BYTE( "256-c6.c6", 0x2000001, 0x800000, CRC(c698fd5d) SHA1(16818883b06849ba2f8d61bdd5e21aaf99bd8408) ) /* Plane 2,3 */ /* TC5364205 */
6615   ROM_LOAD16_BYTE( "256-c7.c7", 0x3000000, 0x800000, CRC(cfceddd2) SHA1(7def666adf8bd1703f40c61f182fc040b6362dc9) ) /* Plane 0,1 */ /* TC5364205 */
6616   ROM_LOAD16_BYTE( "256-c8.c8", 0x3000001, 0x800000, CRC(4d9be34c) SHA1(a737bdfa2b815aea7067e7af2636e83a9409c414) ) /* Plane 2,3 */ /* TC5364205 */
6617ROM_END
6618
6619ROM_START( mslug3h ) /* Original Version - Encrypted GFX */ /* revision 2000.3.17 */ /* AES VERSION */
6620   ROM_REGION( 0x500000, "maincpu", 0 )
6621   ROM_LOAD16_WORD_SWAP( "256-ph1.p1",  0x000000, 0x100000, CRC(9c42ca85) SHA1(7a8f77a89867b889295ae9b9dfd4ba28f02d234d) )
6622   ROM_LOAD16_WORD_SWAP( "256-ph2.sp2", 0x100000, 0x400000, CRC(1f3d8ce8) SHA1(08b05a8abfb86ec09a5e758d6273acf1489961f9) )
6623
6624   ROM_Y_ZOOM
6625
6626   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6627   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
6628   ROM_FILL( 0x000000, 0x20000, 0 )
6629   ROM_REGION( 0x20000, "fixedbios", 0 )
6630   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6631
6632   NEO_BIOS_AUDIO_512K( "256-m1.m1", CRC(eaeec116) SHA1(54419dbb21edc8c4b37eaac2e7ad9496d2de037a) ) /* mask rom TC534000 */
6633
6634   ROM_REGION( 0x1000000, "ymsnd", 0 )
6635   ROM_LOAD( "256-v1.v1", 0x000000, 0x400000, CRC(f2690241) SHA1(fd56babc1934d10e0d27c32f032f9edda7ca8ce9) ) /* TC5332204 */
6636   ROM_LOAD( "256-v2.v2", 0x400000, 0x400000, CRC(7e2a10bd) SHA1(0d587fb9f64cba0315ce2d8a03e2b8fe34936dff) ) /* TC5332204 */
6637   ROM_LOAD( "256-v3.v3", 0x800000, 0x400000, CRC(0eaec17c) SHA1(c3ed613cc6993edd6fc0d62a90bcd85de8e21915) ) /* TC5332204 */
6638   ROM_LOAD( "256-v4.v4", 0xc00000, 0x400000, CRC(9b4b22d4) SHA1(9764fbf8453e52f80aa97a46fb9cf5937ef15a31) ) /* TC5332204 */
6639
6640   NO_DELTAT_REGION
6641
6642   ROM_REGION( 0x4000000, "sprites", 0 )
6643   /* Encrypted */
6644   ROM_LOAD16_BYTE( "256-c1.c1", 0x0000000, 0x800000, CRC(5a79c34e) SHA1(b8aa51fa50935cae62ab3d125b723ab888691e60) ) /* Plane 0,1 */ /* TC5364205 */
6645   ROM_LOAD16_BYTE( "256-c2.c2", 0x0000001, 0x800000, CRC(944c362c) SHA1(3843ab300f956280475469caee70135658f67089) ) /* Plane 2,3 */ /* TC5364205 */
6646   ROM_LOAD16_BYTE( "256-c3.c3", 0x1000000, 0x800000, CRC(6e69d36f) SHA1(94e8cf42e999114b4bd8b30e0aa2f365578c4c9a) ) /* Plane 0,1 */ /* TC5364205 */
6647   ROM_LOAD16_BYTE( "256-c4.c4", 0x1000001, 0x800000, CRC(b755b4eb) SHA1(804700a0966a48f130c434ede3f970792ea74fa5) ) /* Plane 2,3 */ /* TC5364205 */
6648   ROM_LOAD16_BYTE( "256-c5.c5", 0x2000000, 0x800000, CRC(7aacab47) SHA1(312c1c9846175fe1a3cad51d5ae230cf674fc93d) ) /* Plane 0,1 */ /* TC5364205 */
6649   ROM_LOAD16_BYTE( "256-c6.c6", 0x2000001, 0x800000, CRC(c698fd5d) SHA1(16818883b06849ba2f8d61bdd5e21aaf99bd8408) ) /* Plane 2,3 */ /* TC5364205 */
6650   ROM_LOAD16_BYTE( "256-c7.c7", 0x3000000, 0x800000, CRC(cfceddd2) SHA1(7def666adf8bd1703f40c61f182fc040b6362dc9) ) /* Plane 0,1 */ /* TC5364205 */
6651   ROM_LOAD16_BYTE( "256-c8.c8", 0x3000001, 0x800000, CRC(4d9be34c) SHA1(a737bdfa2b815aea7067e7af2636e83a9409c414) ) /* Plane 2,3 */ /* TC5364205 */
6652ROM_END
6653
6654/****************************************
6655 ID-0257
6656 . NGM-2570
6657 SMA protected version found on:
6658 NEO-MVS PROGLBA (NEO-SMA)(LBA-SUB) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
6659 Non SMA protected version found on:
6660 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
6661 . NGH-2570
6662 NEO-AEG PROGLBA (NEO-SMA) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
6663****************************************/
6664
6665ROM_START( kof2000 ) /* Original Version, Encrypted Code + Sound + GFX Roms */ /* MVS AND AES VERSION */
6666   ROM_REGION( 0x900000, "maincpu", 0 )
6667   ROM_LOAD16_WORD_SWAP( "neo-sma",   0x0c0000, 0x040000, CRC(71c6e6bb) SHA1(1bd29ded4c6b29780db8e8b772c452189699ca89) ) /* stored in the custom chip */
6668   ROM_LOAD16_WORD_SWAP( "257-p1.p1", 0x100000, 0x400000, CRC(60947b4c) SHA1(5faa0a7ac7734d6c8e276589bd12dd574264647d) ) /* mask rom TC5332202 */
6669   ROM_LOAD16_WORD_SWAP( "257-p2.p2", 0x500000, 0x400000, CRC(1b7ec415) SHA1(f19fa44e9ee5b5a6eb4a051349d6bc4acc3bbbdb) ) /* mask rom TC5332202 */
6670
6671   ROM_Y_ZOOM
6672
6673   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6674   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
6675   ROM_FILL( 0x000000, 0x20000, 0 )
6676   ROM_REGION( 0x20000, "fixedbios", 0 )
6677   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6678
6679   /* Encrypted */
6680   NEO_BIOS_AUDIO_ENCRYPTED_256K( "257-m1.m1", CRC(4b749113) SHA1(2af2361146edd0ce3966614d90165a5c1afb8de4) ) /* mask rom TC532000 */
6681
6682   ROM_REGION( 0x1000000, "ymsnd", 0 )
6683   ROM_LOAD( "257-v1.v1", 0x000000, 0x400000, CRC(17cde847) SHA1(4bcc0205b70dc6d9216b29025450c9c5b08cb65d) ) /* TC5332204 */
6684   ROM_LOAD( "257-v2.v2", 0x400000, 0x400000, CRC(1afb20ff) SHA1(57dfd2de058139345ff2b744a225790baaecd5a2) ) /* TC5332204 */
6685   ROM_LOAD( "257-v3.v3", 0x800000, 0x400000, CRC(4605036a) SHA1(51b228a0600d38a6ec37aec4822879ec3b0ee106) ) /* TC5332204 */
6686   ROM_LOAD( "257-v4.v4", 0xc00000, 0x400000, CRC(764bbd6b) SHA1(df23c09ca6cf7d0ae5e11ff16e30c159725106b3) ) /* TC5332204 */
6687
6688   NO_DELTAT_REGION
6689
6690   ROM_REGION( 0x4000000, "sprites", 0 )
6691   ROM_LOAD16_BYTE( "257-c1.c1", 0x0000000, 0x800000, CRC(cef1cdfa) SHA1(6135080f3a6b4712b76cc217edcc58e72b55c2b9) ) /* Plane 0,1 */  /* TC5364205 */
6692   ROM_LOAD16_BYTE( "257-c2.c2", 0x0000001, 0x800000, CRC(f7bf0003) SHA1(9f7b19a2100cf7d12867e742f440dd5277b4f895) ) /* Plane 2,3 */  /* TC5364205 */
6693   ROM_LOAD16_BYTE( "257-c3.c3", 0x1000000, 0x800000, CRC(101e6560) SHA1(8073ae1139e215d1167f8d32c14079a46ce3ee1c) ) /* Plane 0,1 */  /* TC5364205 */
6694   ROM_LOAD16_BYTE( "257-c4.c4", 0x1000001, 0x800000, CRC(bd2fc1b1) SHA1(da0006761923ad49b404a08d7a151193ee307a69) ) /* Plane 2,3 */  /* TC5364205 */
6695   ROM_LOAD16_BYTE( "257-c5.c5", 0x2000000, 0x800000, CRC(89775412) SHA1(b221b30224bc4239f1b3c2d2fd1cd4fa84e3523c) ) /* Plane 0,1 */  /* TC5364205 */
6696   ROM_LOAD16_BYTE( "257-c6.c6", 0x2000001, 0x800000, CRC(fa7200d5) SHA1(6f2b0d38af34e280d56a58955400e5c679906871) ) /* Plane 2,3 */  /* TC5364205 */
6697   ROM_LOAD16_BYTE( "257-c7.c7", 0x3000000, 0x800000, CRC(7da11fe4) SHA1(065336cf166807acb6c8569d59d3bf37a19b0a42) ) /* Plane 0,1 */  /* TC5364205 */
6698   ROM_LOAD16_BYTE( "257-c8.c8", 0x3000001, 0x800000, CRC(b1afa60b) SHA1(b916184f5cfe4121752270f4f65abf35d8eb0519) ) /* Plane 2,3 */  /* TC5364205 */
6699ROM_END
6700
6701ROM_START( kof2000n ) /* Original Version, Encrypted Sound + GFX Roms */
6702   ROM_REGION( 0x500000, "maincpu", 0 )
6703   ROM_LOAD16_WORD_SWAP( "257-pg1.p1",  0x000000, 0x100000, CRC(5f809dbe) SHA1(2bc233dcff5622de86d01e3b74b840c7caf12982) ) /* mask rom TC538200 */
6704   ROM_LOAD16_WORD_SWAP( "257-pg2.sp2", 0x100000, 0x400000, CRC(693c2c5e) SHA1(dc9121b7369ef46596343cac055a00aec81704d4) ) /* mask rom TC5332205 */
6705
6706   ROM_Y_ZOOM
6707
6708   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6709   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
6710   ROM_FILL( 0x000000, 0x20000, 0 )
6711   ROM_REGION( 0x20000, "fixedbios", 0 )
6712   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6713
6714   /* Encrypted */
6715   NEO_BIOS_AUDIO_ENCRYPTED_256K( "257-m1.m1", CRC(4b749113) SHA1(2af2361146edd0ce3966614d90165a5c1afb8de4) ) /* mask rom TC532000 */
6716
6717   ROM_REGION( 0x1000000, "ymsnd", 0 )
6718   ROM_LOAD( "257-v1.v1", 0x000000, 0x400000, CRC(17cde847) SHA1(4bcc0205b70dc6d9216b29025450c9c5b08cb65d) ) /* TC5332204 */
6719   ROM_LOAD( "257-v2.v2", 0x400000, 0x400000, CRC(1afb20ff) SHA1(57dfd2de058139345ff2b744a225790baaecd5a2) ) /* TC5332204 */
6720   ROM_LOAD( "257-v3.v3", 0x800000, 0x400000, CRC(4605036a) SHA1(51b228a0600d38a6ec37aec4822879ec3b0ee106) ) /* TC5332204 */
6721   ROM_LOAD( "257-v4.v4", 0xc00000, 0x400000, CRC(764bbd6b) SHA1(df23c09ca6cf7d0ae5e11ff16e30c159725106b3) ) /* TC5332204 */
6722
6723   NO_DELTAT_REGION
6724
6725   ROM_REGION( 0x4000000, "sprites", 0 )
6726   ROM_LOAD16_BYTE( "257-c1.c1", 0x0000000, 0x800000, CRC(cef1cdfa) SHA1(6135080f3a6b4712b76cc217edcc58e72b55c2b9) ) /* Plane 0,1 */  /* TC5364205 */
6727   ROM_LOAD16_BYTE( "257-c2.c2", 0x0000001, 0x800000, CRC(f7bf0003) SHA1(9f7b19a2100cf7d12867e742f440dd5277b4f895) ) /* Plane 2,3 */  /* TC5364205 */
6728   ROM_LOAD16_BYTE( "257-c3.c3", 0x1000000, 0x800000, CRC(101e6560) SHA1(8073ae1139e215d1167f8d32c14079a46ce3ee1c) ) /* Plane 0,1 */  /* TC5364205 */
6729   ROM_LOAD16_BYTE( "257-c4.c4", 0x1000001, 0x800000, CRC(bd2fc1b1) SHA1(da0006761923ad49b404a08d7a151193ee307a69) ) /* Plane 2,3 */  /* TC5364205 */
6730   ROM_LOAD16_BYTE( "257-c5.c5", 0x2000000, 0x800000, CRC(89775412) SHA1(b221b30224bc4239f1b3c2d2fd1cd4fa84e3523c) ) /* Plane 0,1 */  /* TC5364205 */
6731   ROM_LOAD16_BYTE( "257-c6.c6", 0x2000001, 0x800000, CRC(fa7200d5) SHA1(6f2b0d38af34e280d56a58955400e5c679906871) ) /* Plane 2,3 */  /* TC5364205 */
6732   ROM_LOAD16_BYTE( "257-c7.c7", 0x3000000, 0x800000, CRC(7da11fe4) SHA1(065336cf166807acb6c8569d59d3bf37a19b0a42) ) /* Plane 0,1 */  /* TC5364205 */
6733   ROM_LOAD16_BYTE( "257-c8.c8", 0x3000001, 0x800000, CRC(b1afa60b) SHA1(b916184f5cfe4121752270f4f65abf35d8eb0519) ) /* Plane 2,3 */  /* TC5364205 */
6734ROM_END
6735
6736/****************************************
6737 ID-0258
6738 SNK vs. Capcom?
6739****************************************/
6740
6741/****************************************
6742 ID-0259
6743 . ??M-2590
6744 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6745****************************************/
6746
6747ROM_START( bangbead ) /* Original Version - Encrypted GFX */ /* MVS ONLY RELEASE */
6748   ROM_REGION( 0x200000, "maincpu", 0 )
6749   ROM_LOAD16_WORD_SWAP( "259-p1.p1", 0x100000, 0x100000, CRC(88a37f8b) SHA1(566db84850fad5e8fe822e8bba910a33e083b550) )
6750   ROM_CONTINUE( 0x000000, 0x100000 )
6751
6752   ROM_Y_ZOOM
6753
6754   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6755   ROM_REGION( 0x20000, "fixed", 0 )
6756   ROM_FILL( 0x000000, 0x20000, 0 )
6757   ROM_REGION( 0x20000, "fixedbios", 0 )
6758   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6759
6760   NEO_BIOS_AUDIO_128K( "259-m1.m1", CRC(85668ee9) SHA1(7d3f51710cf90c097cd3faaeeef10ceb85cbb3e8) )
6761
6762   ROM_REGION( 0x500000, "ymsnd", 0 )
6763   ROM_LOAD( "259-v1.v1", 0x000000, 0x400000, CRC(088eb8ab) SHA1(608306e35501dd7d382d9f96b28e7550aa896a03) )
6764   ROM_LOAD( "259-v2.v2", 0x400000, 0x100000, CRC(97528fe9) SHA1(8f5eddbb3a9a225492479d1a44801f3916c8e791) )
6765
6766   NO_DELTAT_REGION
6767
6768   ROM_REGION( 0x1000000, "sprites", 0 )
6769   /* Encrypted */
6770   ROM_LOAD16_BYTE( "259-c1.c1", 0x0000000, 0x800000, CRC(1f537f74) SHA1(b8ef691e92191c20a5ed4f20a75cca3c7383bca6) ) /* Plane 0,1 */
6771   ROM_LOAD16_BYTE( "259-c2.c2", 0x0000001, 0x800000, CRC(0efd98ff) SHA1(d350315d3c7f26d638458e5ccf2126069a4c7a5b) ) /* Plane 2,3 */
6772ROM_END
6773
6774/* same data, diff. format roms, not encrypted, it could be a bootleg, not a prototype, since its identical
6775   when decrypted i'm disabling it for now */
6776#if 0
6777ROM_START( bangbedp )
6778   ROM_REGION( 0x200000, "maincpu", 0 )
6779   ROM_LOAD16_WORD_SWAP( "259-p1.p1", 0x100000, 0x100000, CRC(88a37f8b) SHA1(566db84850fad5e8fe822e8bba910a33e083b550) )
6780   ROM_CONTINUE( 0x000000, 0x100000 )
6781
6782   NEO_SFIX_128K( "proto_259-s1.s1", CRC(bb50fb2d) SHA1(7372939f328fb5e7d09c16985e09ae8c34702b0c) )
6783
6784   NEO_BIOS_AUDIO_128K( "259-m1.m1", CRC(85668ee9) SHA1(7d3f51710cf90c097cd3faaeeef10ceb85cbb3e8) )
6785
6786   ROM_REGION( 0x500000, "ymsnd", 0 )
6787   ROM_LOAD( "proto_259-v1.v1", 0x000000, 0x200000, CRC(e97b9385) SHA1(d213cae6cf5732b8ab1f8a8cf04afee5dfd9a260) )
6788   ROM_LOAD( "proto_259-v2.v2", 0x200000, 0x200000, CRC(b0cbd70a) SHA1(fc7c8183f8ff9800e8aae7c8d44d962300058cfb) )
6789   ROM_LOAD( "proto_259-v3.v3", 0x400000, 0x100000, CRC(97528fe9) SHA1(8f5eddbb3a9a225492479d1a44801f3916c8e791) )
6790
6791   NO_DELTAT_REGION
6792
6793   ROM_REGION( 0x600000, "sprites", 0 )
6794   ROM_LOAD16_BYTE( "proto_259-c1.c1", 0x000000, 0x200000, CRC(e3919e44) SHA1(54c722414b5a7ad311dc8ddf6fdda88535e829d1) ) /* Plane 0,1 */
6795   ROM_LOAD16_BYTE( "proto_259-c2.c2", 0x000001, 0x200000, CRC(baf5a320) SHA1(ead3d81d9b4aeb45af4f9cb5c38157f2236b506c) ) /* Plane 2,3 */
6796   ROM_LOAD16_BYTE( "proto_259-c3.c3", 0x400000, 0x100000, CRC(c8e52157) SHA1(f10f58e905c4cbaf182b20e63abe5364462133c5) ) /* Plane 0,1 */
6797   ROM_LOAD16_BYTE( "proto_259-c4.c4", 0x400001, 0x100000, CRC(69fa8e60) SHA1(29c1fbdb79dedf1470683202e2cb3435732d9275) ) /* Plane 2,3 */
6798ROM_END
6799#endif
6800
6801/****************************************
6802 ID-0260
6803 . ??M-2600
6804 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6805****************************************/
6806
6807ROM_START( nitd ) /* Original Version - Encrypted GFX */ /* MVS ONLY RELEASE */
6808   ROM_REGION( 0x100000, "maincpu", 0 )
6809   ROM_LOAD16_WORD_SWAP( "260-p1.p1", 0x000000, 0x080000, CRC(61361082) SHA1(441f3f41c1aa752c0e0a9a0b1d92711d9e636b85) )
6810
6811   ROM_Y_ZOOM
6812
6813   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6814   ROM_REGION( 0x20000, "fixed", 0 )
6815   ROM_FILL( 0x000000, 0x20000, 0 )
6816   ROM_REGION( 0x20000, "fixedbios", 0 )
6817   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6818
6819   NEO_BIOS_AUDIO_512K( "260-m1.m1", CRC(6407c5e5) SHA1(d273e154cc905b63205a17a1a6d419cac3485a92) )
6820
6821   ROM_REGION( 0x0400000, "ymsnd", 0 )
6822   ROM_LOAD( "260-v1.v1", 0x000000, 0x400000, CRC(24b0480c) SHA1(d769e621be52a5cd2e2568891b5f95a48268e1e0) )
6823
6824   NO_DELTAT_REGION
6825
6826   ROM_REGION( 0x1000000, "sprites", 0 )
6827   /* Encrypted */
6828   ROM_LOAD16_BYTE( "260-c1.c1", 0x0000000, 0x800000, CRC(147b0c7f) SHA1(a647c3a2f6d146ff47521c1d39f58830601f5781) ) /* Plane 0,1 */
6829   ROM_LOAD16_BYTE( "260-c2.c2", 0x0000001, 0x800000, CRC(d2b04b0d) SHA1(ce4322e6cfacb627fe997efe81018861e21d3c27) ) /* Plane 2,3 */
6830ROM_END
6831
6832/****************************************
6833 ID-0261
6834 . NGM-2610
6835 NEO-MVS PROGBK1 / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7042)
6836 . NGH-2610
6837****************************************/
6838
6839ROM_START( sengoku3 ) /* Original Version - Encrypted GFX */
6840   ROM_REGION( 0x200000, "maincpu", 0 )
6841   ROM_LOAD16_WORD_SWAP( "261-ph1.p1", 0x100000, 0x100000, CRC(e0d4bc0a) SHA1(8df366097f224771ca6d1aa5c1691cd46776cd12) ) /* mask rom TC5316200 */
6842   ROM_CONTINUE( 0x000000, 0x100000 )
6843
6844   ROM_Y_ZOOM
6845
6846   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6847   ROM_REGION( 0x20000, "fixed", 0 )
6848   ROM_FILL( 0x000000, 0x20000, 0 )
6849   ROM_REGION( 0x20000, "fixedbios", 0 )
6850   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6851
6852   NEO_BIOS_AUDIO_512K( "261-m1.m1", CRC(7d501c39) SHA1(8e6bcc428f5ac7532d9c9be7e07ad0821461a080) ) /* mask rom TC534000 */
6853
6854   ROM_REGION( 0x0e00000, "ymsnd", 0 )
6855   ROM_LOAD( "261-v1.v1", 0x000000, 0x400000, CRC(64c30081) SHA1(f9ebd20cf59b72e864b7274c1bdb6d99ecaf4595) ) /* mask rom TC5332204 */
6856   ROM_LOAD( "261-v2.v2", 0x400000, 0x400000, CRC(392a9c47) SHA1(7ab90a54089236ca6c3ef1af8e566a8025d38159) ) /* mask rom TC5332204 */
6857   ROM_LOAD( "261-v3.v3", 0x800000, 0x400000, CRC(c1a7ebe3) SHA1(1d7bb481451f5ee0457e954bb5210300182c3c9c) ) /* mask rom TC5332204 */
6858   ROM_LOAD( "261-v4.v4", 0xc00000, 0x200000, CRC(9000d085) SHA1(11157b355ab4eb6627e9f322ed875332d3d77349) ) /* mask rom TC5316200 */
6859
6860   NO_DELTAT_REGION
6861
6862   ROM_REGION( 0x2000000, "sprites", 0 )
6863   ROM_LOAD16_BYTE( "261-c1.c1", 0x0000000, 0x800000, CRC(ded84d9c) SHA1(d960523b813d4fae06d716298d4e431a5c77a0c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6864   ROM_LOAD16_BYTE( "261-c2.c2", 0x0000001, 0x800000, CRC(b8eb4348) SHA1(619d24312549932959481fa58f43f11c048e1ca5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6865   ROM_LOAD16_BYTE( "261-c3.c3", 0x1000000, 0x800000, CRC(84e2034a) SHA1(38ec4ae4b86933a25c9a03799b8cade4b1346401) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6866   ROM_LOAD16_BYTE( "261-c4.c4", 0x1000001, 0x800000, CRC(0b45ae53) SHA1(a19fb21408ab633aee8bbf38bf43b5e26766b355) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6867ROM_END
6868
6869/****************************************
6870 ID-0262
6871 . NGM-262?
6872 MVS PROGBK2 REV1.0 (NEO-PCM2 SNK)/ MVS CHAFIO REV1.0 (NEO-CMC 7050)
6873 . NGH-2621
6874 NEO-AEG PROGBK1F / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
6875  - Distribution by BrezzaSoft
6876****************************************/
6877
6878ROM_START( kof2001 ) /* MVS VERSION */
6879   ROM_REGION( 0x500000, "maincpu", 0 )
6880   ROM_LOAD16_WORD_SWAP( "262-p1-08-e0.p1",  0x000000, 0x100000, CRC(9381750d) SHA1(dcfecd69e563ff52fe07d23c5372d0f748b07819) ) /* mask rom TC538200 */
6881   ROM_LOAD16_WORD_SWAP( "262-p2-08-e0.sp2", 0x100000, 0x400000, CRC(8e0d8329) SHA1(10dcc1baf0aaf1fc84c4d856bca6bcff85aed2bc) ) /* mask rom TC5332205 */
6882   /* The first/early production run sets have proms with above labels. Some later? sets found have eproms instead of proms */
6883
6884   ROM_Y_ZOOM
6885
6886   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6887   ROM_REGION( 0x20000, "fixed", 0 )
6888   ROM_FILL( 0x000000, 0x20000, 0 )
6889   ROM_REGION( 0x20000, "fixedbios", 0 )
6890   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6891
6892   /* Encrypted */
6893   NEO_BIOS_AUDIO_ENCRYPTED_256K( "265-262-m1.m1", CRC(a7f8119f) SHA1(71805b39b8b09c32425cf39f9de59b2f755976c2) ) /* mask rom TC532000 */
6894
6895   ROM_REGION( 0x1000000, "ymsnd", 0 )
6896   ROM_LOAD( "262-v1-08-e0.v1", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) ) /* mask rom TC5332204 */
6897   ROM_LOAD( "262-v2-08-e0.v2", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) ) /* mask rom TC5332204 */
6898   ROM_LOAD( "262-v3-08-e0.v3", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) ) /* mask rom TC5332204 */
6899   ROM_LOAD( "262-v4-08-e0.v4", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) ) /* mask rom TC5332204 */
6900
6901   NO_DELTAT_REGION
6902
6903   ROM_REGION( 0x4000000, "sprites", 0 )
6904   /* Encrypted */
6905   ROM_LOAD16_BYTE( "262-c1-08-e0.c1", 0x0000000, 0x800000, CRC(99cc785a) SHA1(374f0674871d0196fa274aa6c5956d7b3848d5da) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6906   ROM_LOAD16_BYTE( "262-c2-08-e0.c2", 0x0000001, 0x800000, CRC(50368cbf) SHA1(5d9e206e98e0b0c7735b72ea46b45058fdec2352) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6907   ROM_LOAD16_BYTE( "262-c3-08-e0.c3", 0x1000000, 0x800000, CRC(fb14ff87) SHA1(445a8db2fc69eff54a252700f2d3a89244c58e75) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6908   ROM_LOAD16_BYTE( "262-c4-08-e0.c4", 0x1000001, 0x800000, CRC(4397faf8) SHA1(6752b394f6647502a649a3e62bd3442f936b733e) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6909   ROM_LOAD16_BYTE( "262-c5-08-e0.c5", 0x2000000, 0x800000, CRC(91f24be4) SHA1(88190c41f7d4a0f4b1982149fc9acfc640af498d) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6910   ROM_LOAD16_BYTE( "262-c6-08-e0.c6", 0x2000001, 0x800000, CRC(a31e4403) SHA1(5cd1a14703aa58810e2377dfb7353c61e9dc9c1f) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6911   ROM_LOAD16_BYTE( "262-c7-08-e0.c7", 0x3000000, 0x800000, CRC(54d9d1ec) SHA1(80c3a8ec39130dd5d3da561f287709da6b8abcf4) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6912   ROM_LOAD16_BYTE( "262-c8-08-e0.c8", 0x3000001, 0x800000, CRC(59289a6b) SHA1(ddfce7c85b2a144975db5bb14b4b51aaf881880e) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6913ROM_END
6914
6915ROM_START( kof2001h ) /* AES VERSION */
6916   ROM_REGION( 0x500000, "maincpu", 0 )
6917   ROM_LOAD16_WORD_SWAP( "262-pg1.p1",  0x000000, 0x100000, CRC(2af7e741) SHA1(e41282d73ed6d521da056f1a16573bb61bfa3826) ) /* mask rom TC538200 */
6918   ROM_LOAD16_WORD_SWAP( "262-pg2.sp2", 0x100000, 0x400000, CRC(91eea062) SHA1(82bae42bbeedb9f3aa0c7c0b0a7a69be499cf98f) ) /* mask rom TC5332205 */
6919
6920   ROM_Y_ZOOM
6921
6922   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6923   ROM_REGION( 0x20000, "fixed", 0 )
6924   ROM_FILL( 0x000000, 0x20000, 0 )
6925   ROM_REGION( 0x20000, "fixedbios", 0 )
6926   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6927
6928   /* Encrypted */
6929   NEO_BIOS_AUDIO_ENCRYPTED_256K( "265-262-m1.m1", CRC(a7f8119f) SHA1(71805b39b8b09c32425cf39f9de59b2f755976c2) ) /* mask rom TC532000 */
6930
6931   ROM_REGION( 0x1000000, "ymsnd", 0 )
6932   ROM_LOAD( "262-v1-08-e0.v1", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) ) /* mask rom TC5332204 */
6933   ROM_LOAD( "262-v2-08-e0.v2", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) ) /* mask rom TC5332204 */
6934   ROM_LOAD( "262-v3-08-e0.v3", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) ) /* mask rom TC5332204 */
6935   ROM_LOAD( "262-v4-08-e0.v4", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) ) /* mask rom TC5332204 */
6936
6937   NO_DELTAT_REGION
6938
6939   ROM_REGION( 0x4000000, "sprites", 0 )
6940   /* Encrypted */
6941   ROM_LOAD16_BYTE( "262-c1-08-e0.c1", 0x0000000, 0x800000, CRC(99cc785a) SHA1(374f0674871d0196fa274aa6c5956d7b3848d5da) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6942   ROM_LOAD16_BYTE( "262-c2-08-e0.c2", 0x0000001, 0x800000, CRC(50368cbf) SHA1(5d9e206e98e0b0c7735b72ea46b45058fdec2352) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6943   ROM_LOAD16_BYTE( "262-c3-08-e0.c3", 0x1000000, 0x800000, CRC(fb14ff87) SHA1(445a8db2fc69eff54a252700f2d3a89244c58e75) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6944   ROM_LOAD16_BYTE( "262-c4-08-e0.c4", 0x1000001, 0x800000, CRC(4397faf8) SHA1(6752b394f6647502a649a3e62bd3442f936b733e) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6945   ROM_LOAD16_BYTE( "262-c5-08-e0.c5", 0x2000000, 0x800000, CRC(91f24be4) SHA1(88190c41f7d4a0f4b1982149fc9acfc640af498d) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6946   ROM_LOAD16_BYTE( "262-c6-08-e0.c6", 0x2000001, 0x800000, CRC(a31e4403) SHA1(5cd1a14703aa58810e2377dfb7353c61e9dc9c1f) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6947   ROM_LOAD16_BYTE( "262-c7-08-e0.c7", 0x3000000, 0x800000, CRC(54d9d1ec) SHA1(80c3a8ec39130dd5d3da561f287709da6b8abcf4) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6948   ROM_LOAD16_BYTE( "262-c8-08-e0.c8", 0x3000001, 0x800000, CRC(59289a6b) SHA1(ddfce7c85b2a144975db5bb14b4b51aaf881880e) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6949ROM_END
6950
6951/****************************************
6952 ID-0263
6953 . NGM-2630
6954 NEO-MVS PROGBK2 (NEO-PCM2 SNK)/ NEO-MVS CHAFIO (NEO-CMC 7050)
6955 . NGH-2630
6956 NEO-AEG PROGBK2 (NEO-PCM2 SNK) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
6957****************************************/
6958
6959ROM_START( mslug4 ) /* Original Version - Encrypted GFX */ /* MVS VERSION */
6960   /* There also exist carts where p1 label is pg1; the PG1 revision has a Japanese cart label, SN 02Jxxxxx
6961   The P1 revision has a US/EUR cart label, SN 02Txxxxx ; Rom data on both is identical.
6962   These carts were manufactured by Mega Enterprise, not SNK. */
6963   ROM_REGION( 0x500000, "maincpu", 0 )
6964   ROM_LOAD16_WORD_SWAP( "263-p1.p1",  0x000000, 0x100000, CRC(27e4def3) SHA1(a08785e8145981bb6b5332a3b2df7eb321253cca) ) /* mask rom TC538200 */
6965   ROM_LOAD16_WORD_SWAP( "263-p2.sp2", 0x100000, 0x400000, CRC(fdb7aed8) SHA1(dbeaec38f44e58ffedba99e70fa1439c2bf0dfa3) ) /* mask rom TC5332205 */
6966
6967   ROM_Y_ZOOM
6968
6969   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
6970   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
6971   ROM_FILL( 0x000000, 0x20000, 0 )
6972   ROM_REGION( 0x20000, "fixedbios", 0 )
6973   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
6974
6975   /* Encrypted */
6976   NEO_BIOS_AUDIO_ENCRYPTED_128K( "263-m1.m1", CRC(46ac8228) SHA1(5aeea221050c98e4bb0f16489ce772bf1c80f787) ) /* mask rom TC531001 */
6977
6978   ROM_REGION( 0x1000000, "ymsnd", 0 )
6979   /* Encrypted */
6980   ROM_LOAD( "263-v1.v1", 0x000000, 0x800000, CRC(01e9b9cd) SHA1(0b045c2999449f7dab5ae8a42e957d5b6650431e) ) /* mask rom TC5364205 */
6981   ROM_LOAD( "263-v2.v2", 0x800000, 0x800000, CRC(4ab2bf81) SHA1(77ccfa48f7e3daddef5fe5229a0093eb2f803742) ) /* mask rom TC5364205 */
6982
6983   NO_DELTAT_REGION
6984
6985   ROM_REGION( 0x3000000, "sprites", 0 )
6986   /* Encrypted */
6987   ROM_LOAD16_BYTE( "263-c1.c1", 0x0000000, 0x800000, CRC(84865f8a) SHA1(34467ada896eb7c7ca58658bf2a932936d8b632c) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6988   ROM_LOAD16_BYTE( "263-c2.c2", 0x0000001, 0x800000, CRC(81df97f2) SHA1(2b74493b8ec8fd49216a627aeb3db493f76124e3) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6989   ROM_LOAD16_BYTE( "263-c3.c3", 0x1000000, 0x800000, CRC(1a343323) SHA1(bbbb5232bba538c277ce2ee02e2956ca2243b787) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6990   ROM_LOAD16_BYTE( "263-c4.c4", 0x1000001, 0x800000, CRC(942cfb44) SHA1(d9b46c71726383c4581fb042e63897e5a3c92d1b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6991   ROM_LOAD16_BYTE( "263-c5.c5", 0x2000000, 0x800000, CRC(a748854f) SHA1(2611bbedf9b5d8e82c6b2c99b88f842c46434d41) ) /* Plane 0,1 */ /* mask rom TC5364205 */
6992   ROM_LOAD16_BYTE( "263-c6.c6", 0x2000001, 0x800000, CRC(5c8ba116) SHA1(6034db09c8706d4ddbcefc053efbc47a0953eb92) ) /* Plane 2,3 */ /* mask rom TC5364205 */
6993ROM_END
6994
6995ROM_START( mslug4h ) /* Original Version - Encrypted GFX */ /* AES VERSION */
6996   ROM_REGION( 0x500000, "maincpu", 0 )
6997   ROM_LOAD16_WORD_SWAP( "263-ph1.p1",  0x000000, 0x100000, CRC(c67f5c8d) SHA1(12af74964843f103520d9f0825069ea2f67eeb2f) ) /* mask rom TC538200 */
6998   ROM_LOAD16_WORD_SWAP( "263-ph2.sp2", 0x100000, 0x400000, CRC(bc3ec89e) SHA1(2cb0626bc4fa57e1d25f208e04532b570d87b3fb) ) /* mask rom TC5332205 */
6999
7000   ROM_Y_ZOOM
7001
7002   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7003   ROM_REGION( 0x80000, "fixed", 0 )   /* larger char set */
7004   ROM_FILL( 0x000000, 0x20000, 0 )
7005   ROM_REGION( 0x20000, "fixedbios", 0 )
7006   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7007
7008   /* Encrypted */
7009   NEO_BIOS_AUDIO_ENCRYPTED_128K( "263-m1.m1", CRC(46ac8228) SHA1(5aeea221050c98e4bb0f16489ce772bf1c80f787) ) /* mask rom TC531001 */
7010
7011   ROM_REGION( 0x1000000, "ymsnd", 0 )
7012   /* Encrypted */
7013   ROM_LOAD( "263-v1.v1", 0x000000, 0x800000, CRC(01e9b9cd) SHA1(0b045c2999449f7dab5ae8a42e957d5b6650431e) ) /* mask rom TC5364205 */
7014   ROM_LOAD( "263-v2.v2", 0x800000, 0x800000, CRC(4ab2bf81) SHA1(77ccfa48f7e3daddef5fe5229a0093eb2f803742) ) /* mask rom TC5364205 */
7015
7016   NO_DELTAT_REGION
7017
7018   ROM_REGION( 0x3000000, "sprites", 0 )
7019   /* Encrypted */
7020   ROM_LOAD16_BYTE( "263-c1.c1", 0x0000000, 0x800000, CRC(84865f8a) SHA1(34467ada896eb7c7ca58658bf2a932936d8b632c) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7021   ROM_LOAD16_BYTE( "263-c2.c2", 0x0000001, 0x800000, CRC(81df97f2) SHA1(2b74493b8ec8fd49216a627aeb3db493f76124e3) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7022   ROM_LOAD16_BYTE( "263-c3.c3", 0x1000000, 0x800000, CRC(1a343323) SHA1(bbbb5232bba538c277ce2ee02e2956ca2243b787) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7023   ROM_LOAD16_BYTE( "263-c4.c4", 0x1000001, 0x800000, CRC(942cfb44) SHA1(d9b46c71726383c4581fb042e63897e5a3c92d1b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7024   ROM_LOAD16_BYTE( "263-c5.c5", 0x2000000, 0x800000, CRC(a748854f) SHA1(2611bbedf9b5d8e82c6b2c99b88f842c46434d41) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7025   ROM_LOAD16_BYTE( "263-c6.c6", 0x2000001, 0x800000, CRC(5c8ba116) SHA1(6034db09c8706d4ddbcefc053efbc47a0953eb92) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7026ROM_END
7027
7028/****************************************
7029 ID-0264
7030 . NGM-264?
7031 NEO-MVS PROGBK2 (NEO-PCM2 SNK) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
7032 . NGH-2641
7033 NEO-AEG PROGBK2 (NEO-PCM2 SNK) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
7034  - Distribution by BrezzaSoft
7035****************************************/
7036
7037ROM_START( rotd ) /* Encrypted Set */ /* MVS VERSION */
7038   ROM_REGION( 0x800000, "maincpu", 0 )
7039   ROM_LOAD16_WORD_SWAP( "264-p1.p1", 0x000000, 0x800000, CRC(b8cc969d) SHA1(4f2205b4bdd32dd1522106ef4df10ac0eb1b852d) ) /* mask rom TC5364205 */
7040
7041   ROM_Y_ZOOM
7042
7043   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7044   ROM_REGION( 0x20000, "fixed", 0 )
7045   ROM_FILL( 0x000000, 0x20000, 0 )
7046   ROM_REGION( 0x20000, "fixedbios", 0 )
7047   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7048
7049   /* Encrypted */
7050   NEO_BIOS_AUDIO_ENCRYPTED_128K( "264-m1.m1", CRC(4dbd7b43) SHA1(6b63756b0d2d30bbf13fbd219833c81fd060ef96) ) /* mask rom 27c010 */
7051
7052   ROM_REGION( 0x1000000, "ymsnd", 0 )
7053   /* Encrypted */
7054   ROM_LOAD( "264-v1.v1", 0x000000, 0x800000, CRC(fa005812) SHA1(73723126dab5a640ac11955ed6da1bf7a91394f5) ) /* mask rom TC5364205 */
7055   ROM_LOAD( "264-v2.v2", 0x800000, 0x800000, CRC(c3dc8bf0) SHA1(a105e37262d9500a30fb8a5dac05aa4fab2562a3) ) /* mask rom TC5364205 */
7056
7057   NO_DELTAT_REGION
7058
7059   ROM_REGION( 0x4000000, "sprites", 0 )
7060   /* Encrypted */
7061   ROM_LOAD16_BYTE( "264-c1.c1", 0x0000000, 0x800000, CRC(4f148fee) SHA1(0821463765fad8fbd0dfbbabb7807337d0333719) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7062   ROM_LOAD16_BYTE( "264-c2.c2", 0x0000001, 0x800000, CRC(7cf5ff72) SHA1(ccb2f94bce943576d224cb326806942426d25584) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7063   ROM_LOAD16_BYTE( "264-c3.c3", 0x1000000, 0x800000, CRC(64d84c98) SHA1(8faf153f465ce6fb7770b27a7ce63caf11dd4086) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7064   ROM_LOAD16_BYTE( "264-c4.c4", 0x1000001, 0x800000, CRC(2f394a95) SHA1(82347e8f2b48b0522d7d91fd3f372d5768934ab2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7065   ROM_LOAD16_BYTE( "264-c5.c5", 0x2000000, 0x800000, CRC(6b99b978) SHA1(8fd0a60029b41668f9e1e3056edd3c90f62efa83) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7066   ROM_LOAD16_BYTE( "264-c6.c6", 0x2000001, 0x800000, CRC(847d5c7d) SHA1(a2ce03f6302edf81f2645de9ec61df1a281ddd78) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7067   ROM_LOAD16_BYTE( "264-c7.c7", 0x3000000, 0x800000, CRC(231d681e) SHA1(87836e64dc816f8bf1c834641535ea96baacc024) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7068   ROM_LOAD16_BYTE( "264-c8.c8", 0x3000001, 0x800000, CRC(c5edb5c4) SHA1(253378c8739daa5da4edb15eff7050820b2b3755) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7069ROM_END
7070
7071/****************************************
7072 ID-0265
7073 . NGM-2650
7074 NEO-MVS PROGBK2 (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
7075 . NGH-2650
7076 NEO-AEG PROGBK2 (NEO-PCM2 PLAYMORE) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
7077****************************************/
7078
7079ROM_START( kof2002 ) /* Encrypted Set */ /* MVS AND AES VERSION */
7080   ROM_REGION( 0x500000, "maincpu", 0 )
7081   ROM_LOAD16_WORD_SWAP( "265-p1.p1",  0x000000, 0x100000, CRC(9ede7323) SHA1(ad9d45498777fda9fa58e75781f48e09aee705a6) ) /* mask rom TC538200 */
7082   ROM_LOAD16_WORD_SWAP( "265-p2.sp2", 0x100000, 0x400000, CRC(327266b8) SHA1(98f445cc0a94f8744d74bca71cb420277622b034) ) /* mask rom TC5332205 */
7083
7084   ROM_Y_ZOOM
7085
7086   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7087   ROM_REGION( 0x20000, "fixed", 0 )
7088   ROM_FILL( 0x000000, 0x20000, 0 )
7089   ROM_REGION( 0x20000, "fixedbios", 0 )
7090   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7091
7092   /* Encrypted */
7093   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
7094
7095   ROM_REGION( 0x1000000, "ymsnd", 0 )
7096   /* Encrypted */
7097   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
7098   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
7099
7100   NO_DELTAT_REGION
7101
7102   ROM_REGION( 0x4000000, "sprites", 0 )
7103   /* Encrypted */
7104   ROM_LOAD16_BYTE( "265-c1.c1", 0x0000000, 0x800000, CRC(2b65a656) SHA1(9c46d8cf5b1ef322db442ac6a9b9406ab49206c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7105   ROM_LOAD16_BYTE( "265-c2.c2", 0x0000001, 0x800000, CRC(adf18983) SHA1(150cd4a5e51e9df88688469d2ea7675c2cf3658a) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7106   ROM_LOAD16_BYTE( "265-c3.c3", 0x1000000, 0x800000, CRC(875e9fd7) SHA1(28f52d56192d48bbc5dc3c97abf456bd34a58cbd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7107   ROM_LOAD16_BYTE( "265-c4.c4", 0x1000001, 0x800000, CRC(2da13947) SHA1(f8d79ec2c236aa3d3648a4f715676899602122c1) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7108   ROM_LOAD16_BYTE( "265-c5.c5", 0x2000000, 0x800000, CRC(61bd165d) SHA1(b3424db84bc683d858fb635bc42728f9cdd89caf) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7109   ROM_LOAD16_BYTE( "265-c6.c6", 0x2000001, 0x800000, CRC(03fdd1eb) SHA1(6155c7e802062f4eafa27e414c4e73ee59b868bf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7110   ROM_LOAD16_BYTE( "265-c7.c7", 0x3000000, 0x800000, CRC(1a2749d8) SHA1(af7d9ec1d576209826fa568f676bbff92f6d6ddd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7111   ROM_LOAD16_BYTE( "265-c8.c8", 0x3000001, 0x800000, CRC(ab0bb549) SHA1(d23afb60b7f831f7d4a98ad3c4a00ee19877a1ce) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7112ROM_END
7113
7114/****************************************
7115 ID-0266
7116 . NGM-2660
7117 NEO-MVS PROGBK2 (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
7118 . NGH-2660
7119 NEO-AEG PROGBK2 (NEO-PCM2 PLAYMORE) / NEO-AEG CHAFIO (1999.8.10) (NEO-CMC 7050)
7120****************************************/
7121
7122ROM_START( matrim ) /* Encrypted Set */ /* MVS AND AES VERSION */
7123   ROM_REGION( 0x500000, "maincpu", 0 )
7124   ROM_LOAD16_WORD_SWAP( "266-p1.p1",  0x000000, 0x100000, CRC(5d4c2dc7) SHA1(8d723b0d28ec344eef26009b361a2b97d300dd51) ) /* mask rom TC538200 */
7125   ROM_LOAD16_WORD_SWAP( "266-p2.sp2", 0x100000, 0x400000, CRC(a14b1906) SHA1(1daa14d73512f760ef569b06f9facb279437d1db) ) /* mask rom TC5332205 */
7126
7127   ROM_Y_ZOOM
7128
7129   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7130   ROM_REGION( 0x80000, "fixed", 0 )
7131   ROM_FILL( 0x000000, 0x80000, 0 )
7132   ROM_REGION( 0x20000, "fixedbios", 0 )
7133   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7134
7135   /* Encrypted */
7136   NEO_BIOS_AUDIO_ENCRYPTED_128K( "266-m1.m1", CRC(456c3e6c) SHA1(5a07d0186198a18d2dda1331093cf29b0b9b2984) ) /* mask rom TC531001 */
7137
7138   ROM_REGION( 0x1000000, "ymsnd", 0 )
7139   /* Encrypted */
7140   ROM_LOAD( "266-v1.v1", 0x000000, 0x800000, CRC(a4f83690) SHA1(200d683d8c30ebc6d0ed331aa5bbba39b4e07160) ) /* mask rom TC5364205 */
7141   ROM_LOAD( "266-v2.v2", 0x800000, 0x800000, CRC(d0f69eda) SHA1(9d7e98976ad433ed8a35d7afffa38130444ba7db) ) /* mask rom TC5364205 */
7142
7143   NO_DELTAT_REGION
7144
7145   ROM_REGION( 0x4000000, "sprites", 0 )
7146   /* Encrypted */
7147   ROM_LOAD16_BYTE( "266-c1.c1", 0x0000000, 0x800000, CRC(505f4e30) SHA1(f22b6f76fc0cad963555dc89d072967c8dc8b79a) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7148   ROM_LOAD16_BYTE( "266-c2.c2", 0x0000001, 0x800000, CRC(3cb57482) SHA1(dab15bc24391f9a5173de76af48b612fb9636ccf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7149   ROM_LOAD16_BYTE( "266-c3.c3", 0x1000000, 0x800000, CRC(f1cc6ad0) SHA1(66c1cccc0332ffd2d3064f06330c41f95ca09ced) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7150   ROM_LOAD16_BYTE( "266-c4.c4", 0x1000001, 0x800000, CRC(45b806b7) SHA1(c2bb866fded53d62fad0fc88d89d5e7d4cb1894f) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7151   ROM_LOAD16_BYTE( "266-c5.c5", 0x2000000, 0x800000, CRC(9a15dd6b) SHA1(194a6973a7a9e3847efe1bdbaeaeb16e74aff2dd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7152   ROM_LOAD16_BYTE( "266-c6.c6", 0x2000001, 0x800000, CRC(281cb939) SHA1(bdb7766cfde581ccfaee2be7fe48445f360a2301) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7153   ROM_LOAD16_BYTE( "266-c7.c7", 0x3000000, 0x800000, CRC(4b71f780) SHA1(d5611a6f6b730db58613b48f2b0174661ccfb7bb) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7154   ROM_LOAD16_BYTE( "266-c8.c8", 0x3000001, 0x800000, CRC(29873d33) SHA1(dc77f129ed49b8d40d0d4241feef3f6c2f19a987) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7155ROM_END
7156
7157/****************************************
7158 ID-0267
7159 . ??M-2670
7160 NEO-MVS PROGBK2 (NEO-PCM2 SNK) / NEO-MVS CHAFIO (1999.6.14) (NEO-CMC 7050)
7161****************************************/
7162
7163ROM_START( pnyaa ) /* Encrypted Set */ /* MVS ONLY RELEASE */
7164   ROM_REGION( 0x100000, "maincpu", 0 )
7165   ROM_LOAD16_WORD_SWAP( "267-p1.p1", 0x000000, 0x100000, CRC(112fe2c0) SHA1(01420e051f0bdbd4f68ce306a3738161b96f8ba8) ) /* mask rom TC538200 */
7166
7167   ROM_Y_ZOOM
7168
7169   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7170   ROM_REGION( 0x20000, "fixed", 0 )
7171   ROM_FILL( 0x000000, 0x20000, 0 )
7172   ROM_REGION( 0x20000, "fixedbios", 0 )
7173   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7174
7175   /* Encrypted */
7176   NEO_BIOS_AUDIO_ENCRYPTED_512K( "267-m1.m1", CRC(c7853ccd) SHA1(1b7a4c5093cf0fe3861ce44fd1d3b30c71ad0abe) ) /* mask rom TC534000 */
7177
7178   ROM_REGION( 0x400000, "ymsnd", 0 )
7179   /* Encrypted */
7180   ROM_LOAD( "267-v1.v1", 0x000000, 0x400000, CRC(e2e8e917) SHA1(7f412d55aebff3d38a225a88c632916295ab0584) ) /* mask rom TC5332204 */
7181
7182   NO_DELTAT_REGION
7183
7184   ROM_REGION( 0x1000000, "sprites", 0 )
7185   /* Encrypted */
7186   ROM_LOAD16_BYTE( "267-c1.c1", 0x0000000, 0x800000, CRC(5eebee65) SHA1(7eb3eefdeb24e19831d0f51d4ea07a0292c25ab6) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7187   ROM_LOAD16_BYTE( "267-c2.c2", 0x0000001, 0x800000, CRC(2b67187b) SHA1(149c3efd3c444fd0d35a97fa2268102bf76be3ed) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7188ROM_END
7189
7190/****************************************
7191 ID-0268
7192 . NGM-2680
7193 NEO-MVS PROGBK3S (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050)
7194 . NGH-2680
7195****************************************/
7196
7197ROM_START( mslug5 ) /* Encrypted Set */ /* MVS VERSION */
7198   ROM_REGION( 0x800000, "maincpu", 0 )
7199   ROM_LOAD32_WORD_SWAP( "268-p1cr.p1", 0x000000, 0x400000, CRC(d0466792) SHA1(880819933d997fab398f91061e9dbccb959ae8a1) ) /* mask rom TC5332205 */
7200   ROM_LOAD32_WORD_SWAP( "268-p2cr.p2", 0x000002, 0x400000, CRC(fbf6b61e) SHA1(9ec743d5988b5e3183f37f8edf45c72a8c0c893e) ) /* mask rom TC5332205 */
7201
7202   ROM_Y_ZOOM
7203
7204   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7205   ROM_REGION( 0x20000, "fixed", 0 )
7206   ROM_FILL( 0x000000, 0x20000, 0 )
7207   ROM_REGION( 0x20000, "fixedbios", 0 )
7208   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7209
7210   /* Encrypted */
7211   NEO_BIOS_AUDIO_ENCRYPTED_512K( "268-m1.m1", CRC(4a5a6e0e) SHA1(df0f660f2465e1db7be5adfcaf5e88ad61a74a42) ) /* mask rom TC534000 */
7212
7213   ROM_REGION( 0x1000000, "ymsnd", 0 )
7214   /* Encrypted */
7215   ROM_LOAD( "268-v1c.v1", 0x000000, 0x800000, CRC(ae31d60c) SHA1(c42285cf4e52fea74247860813e826df5aa7600a) ) /* mask rom TC5364205 */
7216   ROM_LOAD( "268-v2c.v2", 0x800000, 0x800000, CRC(c40613ed) SHA1(af889570304e2867d7dfea1e94e388c06249fb67) ) /* mask rom TC5364205 */
7217
7218   NO_DELTAT_REGION
7219
7220   ROM_REGION( 0x4000000, "sprites", 0 )
7221   /* Encrypted */
7222   ROM_LOAD16_BYTE( "268-c1c.c1", 0x0000000, 0x800000, CRC(ab7c389a) SHA1(025a188de589500bf7637fa8e7a37ab24bf4312e) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7223   ROM_LOAD16_BYTE( "268-c2c.c2", 0x0000001, 0x800000, CRC(3560881b) SHA1(493d218c92290b4770024d6ee2917c4022753b07) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7224   ROM_LOAD16_BYTE( "268-c3c.c3", 0x1000000, 0x800000, CRC(3af955ea) SHA1(cf36b6ae9b0d12744b17cb7a928399214de894be) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7225   ROM_LOAD16_BYTE( "268-c4c.c4", 0x1000001, 0x800000, CRC(c329c373) SHA1(5073d4079958a0ef5426885af2c9e3178f37d5e0) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7226   ROM_LOAD16_BYTE( "268-c5c.c5", 0x2000000, 0x800000, CRC(959c8177) SHA1(889bda7c65d71172e7d89194d1269561888fe789) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7227   ROM_LOAD16_BYTE( "268-c6c.c6", 0x2000001, 0x800000, CRC(010a831b) SHA1(aec140661e3ae35d264df416478ba15188544d91) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7228   ROM_LOAD16_BYTE( "268-c7c.c7", 0x3000000, 0x800000, CRC(6d72a969) SHA1(968dd9a4d1209b770b9b85ea6532fa24d262a262) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7229   ROM_LOAD16_BYTE( "268-c8c.c8", 0x3000001, 0x800000, CRC(551d720e) SHA1(ebf69e334fcaba0fda6fd432fd0970283a365d12) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7230ROM_END
7231
7232ROM_START( mslug5h ) /* Encrypted Set */ /* AES release of the game but is also found in later MVS carts */
7233   ROM_REGION( 0x800000, "maincpu", 0 )
7234   ROM_LOAD32_WORD_SWAP( "268-p1c.p1", 0x000000, 0x400000, CRC(3636690a) SHA1(e0da714b4bdc6efffe1250ded02ebddb3ab6d7b3) )
7235   ROM_LOAD32_WORD_SWAP( "268-p2c.p2", 0x000002, 0x400000, CRC(8dfc47a2) SHA1(27d618cfbd0107a4d2a836797e967b39d2eb4851) )
7236
7237   ROM_Y_ZOOM
7238
7239   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7240   ROM_REGION( 0x20000, "fixed", 0 )
7241   ROM_FILL( 0x000000, 0x20000, 0 )
7242   ROM_REGION( 0x20000, "fixedbios", 0 )
7243   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7244
7245   /* Encrypted */
7246   NEO_BIOS_AUDIO_ENCRYPTED_512K( "268-m1.m1", CRC(4a5a6e0e) SHA1(df0f660f2465e1db7be5adfcaf5e88ad61a74a42) ) /* mask rom TC534000 */
7247
7248   ROM_REGION( 0x1000000, "ymsnd", 0 )
7249   /* Encrypted */
7250   ROM_LOAD( "268-v1c.v1", 0x000000, 0x800000, CRC(ae31d60c) SHA1(c42285cf4e52fea74247860813e826df5aa7600a) ) /* mask rom TC5364205 */
7251   ROM_LOAD( "268-v2c.v2", 0x800000, 0x800000, CRC(c40613ed) SHA1(af889570304e2867d7dfea1e94e388c06249fb67) ) /* mask rom TC5364205 */
7252
7253   NO_DELTAT_REGION
7254
7255   ROM_REGION( 0x4000000, "sprites", 0 )
7256   /* Encrypted */
7257   ROM_LOAD16_BYTE( "268-c1c.c1", 0x0000000, 0x800000, CRC(ab7c389a) SHA1(025a188de589500bf7637fa8e7a37ab24bf4312e) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7258   ROM_LOAD16_BYTE( "268-c2c.c2", 0x0000001, 0x800000, CRC(3560881b) SHA1(493d218c92290b4770024d6ee2917c4022753b07) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7259   ROM_LOAD16_BYTE( "268-c3c.c3", 0x1000000, 0x800000, CRC(3af955ea) SHA1(cf36b6ae9b0d12744b17cb7a928399214de894be) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7260   ROM_LOAD16_BYTE( "268-c4c.c4", 0x1000001, 0x800000, CRC(c329c373) SHA1(5073d4079958a0ef5426885af2c9e3178f37d5e0) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7261   ROM_LOAD16_BYTE( "268-c5c.c5", 0x2000000, 0x800000, CRC(959c8177) SHA1(889bda7c65d71172e7d89194d1269561888fe789) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7262   ROM_LOAD16_BYTE( "268-c6c.c6", 0x2000001, 0x800000, CRC(010a831b) SHA1(aec140661e3ae35d264df416478ba15188544d91) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7263   ROM_LOAD16_BYTE( "268-c7c.c7", 0x3000000, 0x800000, CRC(6d72a969) SHA1(968dd9a4d1209b770b9b85ea6532fa24d262a262) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7264   ROM_LOAD16_BYTE( "268-c8c.c8", 0x3000001, 0x800000, CRC(551d720e) SHA1(ebf69e334fcaba0fda6fd432fd0970283a365d12) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7265ROM_END
7266
7267/****************************************
7268 ID-0269
7269 . NGM-2690
7270 NEO-MVS PROGBK3R (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050)
7271 . NGH-2690
7272 NEO-AEG PROGBK3R (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050)
7273****************************************/
7274
7275ROM_START( svc ) /* Encrypted Set */ /* MVS AND AES VERSION */
7276   ROM_REGION( 0x800000, "maincpu", 0 )
7277   ROM_LOAD32_WORD_SWAP( "269-p1.p1", 0x000000, 0x400000, CRC(38e2005e) SHA1(1b902905916a30969282f1399a756e32ff069097) ) /* mask rom TC5332205 */
7278   ROM_LOAD32_WORD_SWAP( "269-p2.p2", 0x000002, 0x400000, CRC(6d13797c) SHA1(3cb71a95cea6b006b44cac0f547df88aec0007b7) ) /* mask rom TC5332205 */
7279
7280   ROM_Y_ZOOM
7281
7282   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7283   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
7284   ROM_FILL( 0x000000, 0x80000, 0 )
7285   ROM_REGION( 0x20000, "fixedbios", 0 )
7286   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7287
7288   /* Encrypted */
7289   NEO_BIOS_AUDIO_ENCRYPTED_512K( "269-m1.m1", CRC(f6819d00) SHA1(d3bbe09df502464f104e53501708ac6e2c1832c6) ) /* mask rom TC534000 */
7290
7291   ROM_REGION( 0x1000000, "ymsnd", 0 )
7292   /* Encrypted */
7293   ROM_LOAD( "269-v1.v1", 0x000000, 0x800000, CRC(c659b34c) SHA1(1931e8111ef43946f68699f8707334c96f753a1e) ) /* mask rom TC5364205 */
7294   ROM_LOAD( "269-v2.v2", 0x800000, 0x800000, CRC(dd903835) SHA1(e58d38950a7a8697bb22a1cc7a371ae6664ae8f9) ) /* mask rom TC5364205 */
7295
7296   ROM_REGION( 0x4000000, "sprites", 0 )
7297   /* Encrypted */
7298   ROM_LOAD16_BYTE( "269-c1r.c1", 0x0000000, 0x800000, CRC(887b4068) SHA1(227cdcf7a10a415f1e3afe7ae97acc9afc2cc8e1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7299   ROM_LOAD16_BYTE( "269-c2r.c2", 0x0000001, 0x800000, CRC(4e8903e4) SHA1(31daaa4fd6c23e8f0a8428931c513d97d2eee1bd) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7300   ROM_LOAD16_BYTE( "269-c3r.c3", 0x1000000, 0x800000, CRC(7d9c55b0) SHA1(1f94a948b3e3c31b3ff05518ef525031a3cb2c62) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7301   ROM_LOAD16_BYTE( "269-c4r.c4", 0x1000001, 0x800000, CRC(8acb5bb6) SHA1(2c27d6e309646d7b84da85f78c06e4aaa74e844b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7302   ROM_LOAD16_BYTE( "269-c5r.c5", 0x2000000, 0x800000, CRC(097a4157) SHA1(54d839f55d27f68c704a94ea3c63c644ffc22ca4) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7303   ROM_LOAD16_BYTE( "269-c6r.c6", 0x2000001, 0x800000, CRC(e19df344) SHA1(20448add53ab25dd3a8f0b681131ad3b9c68acc9) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7304   ROM_LOAD16_BYTE( "269-c7r.c7", 0x3000000, 0x800000, CRC(d8f0340b) SHA1(43114af7557361a8903bb8cf8553f602946a9220) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7305   ROM_LOAD16_BYTE( "269-c8r.c8", 0x3000001, 0x800000, CRC(2570b71b) SHA1(99266e1c2ffcf324793fb5c55325fbc7e6265ac0) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7306ROM_END
7307
7308/****************************************
7309 ID-0270
7310 . NGM-2700
7311 NEO-MVS PROGBK2R (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050)
7312 . NGH-2700
7313 NEO-AEG PROGBK2S (NEO-PCM2 PLAYMORE) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050)
7314****************************************/
7315
7316ROM_START( samsho5 ) /* Encrypted Set */ /* MVS VERSION */
7317   ROM_REGION( 0x800000, "maincpu", 0 )
7318   ROM_LOAD16_WORD_SWAP( "270-p1.p1",  0x000000, 0x400000, CRC(4a2a09e6) SHA1(2644de02cdab8ccc605488a7c76b8c9cd1d5bcb9) ) /* mask rom TC5332205 */
7319   ROM_LOAD16_WORD_SWAP( "270-p2.sp2", 0x400000, 0x400000, CRC(e0c74c85) SHA1(df24a4ee76438e40c2f04a714175a7f85cacdfe0) ) /* mask rom TC5332205 */
7320
7321   ROM_Y_ZOOM
7322
7323   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7324   ROM_REGION( 0x20000, "fixed", 0 )
7325   ROM_FILL( 0x000000, 0x20000, 0 )
7326   ROM_REGION( 0x20000, "fixedbios", 0 )
7327   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7328
7329   /* Encrypted */
7330   NEO_BIOS_AUDIO_ENCRYPTED_512K( "270-m1.m1", CRC(49c9901a) SHA1(2623e9765a0eba58fee2de72851e9dc502344a3d) ) /* mask rom 27c040 */
7331
7332   ROM_REGION( 0x1000000, "ymsnd", 0 )
7333   /* Encrypted */
7334   ROM_LOAD( "270-v1.v1", 0x000000, 0x800000, CRC(62e434eb) SHA1(1985f5e88f8e866f9683b6cea901aa28c04b80bf) ) /* mask rom TC5364205 */
7335   ROM_LOAD( "270-v2.v2", 0x800000, 0x800000, CRC(180f3c9a) SHA1(6d7dc2605ead6e78704efa127e7e0dfe621e2c54) ) /* mask rom TC5364205 */
7336
7337   NO_DELTAT_REGION
7338
7339   ROM_REGION( 0x4000000, "sprites", 0 )
7340   /* Encrypted */
7341   ROM_LOAD16_BYTE( "270-c1.c1", 0x0000000, 0x800000, CRC(14ffffac) SHA1(2ccebfdd0c7907679ae95bf6eca85b8d322441e2) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7342   ROM_LOAD16_BYTE( "270-c2.c2", 0x0000001, 0x800000, CRC(401f7299) SHA1(94e48cdf1682b1250f53c59f3f71d995e928d17b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7343   ROM_LOAD16_BYTE( "270-c3.c3", 0x1000000, 0x800000, CRC(838f0260) SHA1(d5c8d3c6e7221d04e0b20882a847752e5ba95635) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7344   ROM_LOAD16_BYTE( "270-c4.c4", 0x1000001, 0x800000, CRC(041560a5) SHA1(d165e533699f15b1e079c82f97db3542b3a7dd66) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7345   ROM_LOAD16_BYTE( "270-c5.c5", 0x2000000, 0x800000, CRC(bd30b52d) SHA1(9f8282e684415b4045218cf764ef7d75a70e3240) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7346   ROM_LOAD16_BYTE( "270-c6.c6", 0x2000001, 0x800000, CRC(86a69c70) SHA1(526732cdb408cf680af9da39057bce6a4dfb5e13) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7347   ROM_LOAD16_BYTE( "270-c7.c7", 0x3000000, 0x800000, CRC(d28fbc3c) SHA1(a82a6ba6760fad14d9309f9147cb7d80bd6f70fc) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7348   ROM_LOAD16_BYTE( "270-c8.c8", 0x3000001, 0x800000, CRC(02c530a6) SHA1(7a3fafa6075506c6ef78cc4ec2cb72118ec83cb9) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7349ROM_END
7350
7351ROM_START( samsho5h ) /* Encrypted Set, Alternate Set */ /* AES VERSION */
7352   ROM_REGION( 0x800000, "maincpu", 0 )
7353   ROM_LOAD16_WORD_SWAP( "270-p1c.p1",  0x000000, 0x400000, CRC(bf956089) SHA1(c538289069bf338b9fa7ecc5c9143763dbb776a8) ) /* mask rom TC5332205 */
7354   ROM_LOAD16_WORD_SWAP( "270-p2c.sp2", 0x400000, 0x400000, CRC(943a6b1d) SHA1(12bd02fc197456da6ee86f066086094cef0f4bf9) ) /* mask rom TC5332205 */
7355
7356   ROM_Y_ZOOM
7357
7358   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7359   ROM_REGION( 0x20000, "fixed", 0 )
7360   ROM_FILL( 0x000000, 0x20000, 0 )
7361   ROM_REGION( 0x20000, "fixedbios", 0 )
7362   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7363
7364   /* Encrypted */
7365   NEO_BIOS_AUDIO_ENCRYPTED_512K( "270-m1.m1", CRC(49c9901a) SHA1(2623e9765a0eba58fee2de72851e9dc502344a3d) ) /* mask rom 27c040 */
7366
7367   ROM_REGION( 0x1000000, "ymsnd", 0 )
7368   /* Encrypted */
7369   ROM_LOAD( "270-v1.v1", 0x000000, 0x800000, CRC(62e434eb) SHA1(1985f5e88f8e866f9683b6cea901aa28c04b80bf) ) /* mask rom TC5364205 */
7370   ROM_LOAD( "270-v2.v2", 0x800000, 0x800000, CRC(180f3c9a) SHA1(6d7dc2605ead6e78704efa127e7e0dfe621e2c54) ) /* mask rom TC5364205 */
7371
7372   NO_DELTAT_REGION
7373
7374   ROM_REGION( 0x4000000, "sprites", 0 )
7375   /* Encrypted */
7376   ROM_LOAD16_BYTE( "270-c1.c1", 0x0000000, 0x800000, CRC(14ffffac) SHA1(2ccebfdd0c7907679ae95bf6eca85b8d322441e2) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7377   ROM_LOAD16_BYTE( "270-c2.c2", 0x0000001, 0x800000, CRC(401f7299) SHA1(94e48cdf1682b1250f53c59f3f71d995e928d17b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7378   ROM_LOAD16_BYTE( "270-c3.c3", 0x1000000, 0x800000, CRC(838f0260) SHA1(d5c8d3c6e7221d04e0b20882a847752e5ba95635) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7379   ROM_LOAD16_BYTE( "270-c4.c4", 0x1000001, 0x800000, CRC(041560a5) SHA1(d165e533699f15b1e079c82f97db3542b3a7dd66) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7380   ROM_LOAD16_BYTE( "270-c5.c5", 0x2000000, 0x800000, CRC(bd30b52d) SHA1(9f8282e684415b4045218cf764ef7d75a70e3240) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7381   ROM_LOAD16_BYTE( "270-c6.c6", 0x2000001, 0x800000, CRC(86a69c70) SHA1(526732cdb408cf680af9da39057bce6a4dfb5e13) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7382   ROM_LOAD16_BYTE( "270-c7.c7", 0x3000000, 0x800000, CRC(d28fbc3c) SHA1(a82a6ba6760fad14d9309f9147cb7d80bd6f70fc) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7383   ROM_LOAD16_BYTE( "270-c8.c8", 0x3000001, 0x800000, CRC(02c530a6) SHA1(7a3fafa6075506c6ef78cc4ec2cb72118ec83cb9) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7384ROM_END
7385
7386/****************************************
7387 ID-0271
7388 . NGM-2710
7389 NEO-MVS PROGBK3S (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050)
7390 . NGH-2710
7391 NEO-AEG PROGBK3S (NEO-PCM2 PLAYMORE) (NEO-PVC) / NEO-AEG CHAFIO (2003.7.24) (NEO-CMC 7050)
7392****************************************/
7393
7394ROM_START( kof2003 ) /* Encrypted Code + Sound + GFX Roms */ /* MVS VERSION */
7395   ROM_REGION( 0x900000, "maincpu", 0 )
7396   ROM_LOAD32_WORD_SWAP( "271-p1c.p1", 0x000000, 0x400000, CRC(530ecc14) SHA1(812cf7e9902af3f5e9e330b7c05c2171b139ad2b) ) /* mask rom TC5332205 */
7397   ROM_LOAD32_WORD_SWAP( "271-p2c.p2", 0x000002, 0x400000, CRC(fd568da9) SHA1(46364906a1e81dc251117e91a1a7b43af1373ada) ) /* mask rom TC5332205 */
7398   ROM_LOAD16_WORD_SWAP( "271-p3c.p3", 0x800000, 0x100000, CRC(aec5b4a9) SHA1(74087f785590eda5898ce146029818f86ced42b6) ) /* mask rom TC538200 */
7399
7400   ROM_Y_ZOOM
7401
7402   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7403   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
7404   ROM_FILL( 0x000000, 0x80000, 0 )
7405   ROM_REGION( 0x20000, "fixedbios", 0 )
7406   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7407
7408   /* Encrypted */
7409   NEO_BIOS_AUDIO_ENCRYPTED_512K( "271-m1c.m1", CRC(f5515629) SHA1(7516bf1b0207a3c8d41dc30c478f8d8b1f71304b) ) /* mask rom TC534000 */
7410
7411   ROM_REGION( 0x1000000, "ymsnd", 0 )
7412   /* Encrypted */
7413   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
7414   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
7415
7416   NO_DELTAT_REGION
7417
7418   ROM_REGION( 0x4000000, "sprites", 0 )
7419   /* Encrypted */
7420   ROM_LOAD16_BYTE( "271-c1c.c1", 0x0000000, 0x800000, CRC(b1dc25d0) SHA1(50adc3c60d5b4b3abd10a49db2267306c6dbd772) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7421   ROM_LOAD16_BYTE( "271-c2c.c2", 0x0000001, 0x800000, CRC(d5362437) SHA1(66db36522dc09106388c707252df9fe1c88b4856) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7422   ROM_LOAD16_BYTE( "271-c3c.c3", 0x1000000, 0x800000, CRC(0a1fbeab) SHA1(9fe30d36ba98d00fda010832ff2f27783dd577c1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7423   ROM_LOAD16_BYTE( "271-c4c.c4", 0x1000001, 0x800000, CRC(87b19a0c) SHA1(b72a8e7d9124ce859b5149bb4381ba481c161ea5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7424   ROM_LOAD16_BYTE( "271-c5c.c5", 0x2000000, 0x800000, CRC(704ea371) SHA1(e75b80422f0d72eac826f8ffadf79efeccaab124) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7425   ROM_LOAD16_BYTE( "271-c6c.c6", 0x2000001, 0x800000, CRC(20a1164c) SHA1(c9843b37612a16fc95f6851793b1cfb5d49d811d) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7426   ROM_LOAD16_BYTE( "271-c7c.c7", 0x3000000, 0x800000, CRC(189aba7f) SHA1(7152195a57ad36b28290810fe87ed8c206262ba9) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7427   ROM_LOAD16_BYTE( "271-c8c.c8", 0x3000001, 0x800000, CRC(20ec4fdc) SHA1(deb5f7ec5a090e419b9d1a6a74877bee081198e2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7428ROM_END
7429
7430ROM_START( kof2003h ) /* Encrypted Code + Sound + GFX Roms */ /* AES VERSION */
7431   /* All chip labels for this set are correct */
7432   ROM_REGION( 0x900000, "maincpu", 0 )
7433   ROM_LOAD32_WORD_SWAP( "271-p1k.p1", 0x000000, 0x400000, CRC(d0d0ae3e) SHA1(538d054ac50c91694fbbfefcce548b063713e14e) ) /* mask rom TC5332205 */
7434   ROM_LOAD32_WORD_SWAP( "271-p2k.p2", 0x000002, 0x400000, CRC(fb3f79d9) SHA1(f253d10e732d6e23ae82d74ac9269d21f69ddb4d) ) /* mask rom TC5332205 */
7435   ROM_LOAD16_WORD_SWAP( "271-p3k.p3", 0x800000, 0x100000, CRC(232702ad) SHA1(6045046027dac1cbd4cbd14b5c1ece522bc6197f) ) /* mask rom TC538200 */
7436
7437   ROM_Y_ZOOM
7438
7439   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7440   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
7441   ROM_FILL( 0x000000, 0x80000, 0 )
7442   ROM_REGION( 0x20000, "fixedbios", 0 )
7443   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7444
7445   /* Encrypted */
7446   NEO_BIOS_AUDIO_ENCRYPTED_512K( "271-m1k.m1", CRC(48d9affe) SHA1(68f01560b91bbada39001ce01bdeeed5c9bb29f2) ) /* mask rom TC534000 */
7447
7448   ROM_REGION( 0x1000000, "ymsnd", 0 )
7449   /* Encrypted */
7450   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
7451   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
7452
7453   NO_DELTAT_REGION
7454
7455   ROM_REGION( 0x4000000, "sprites", 0 )
7456   /* Encrypted */
7457   ROM_LOAD16_BYTE( "271-c1k.c1", 0x0000000, 0x800000, CRC(efb9dd24) SHA1(1c6fe10fdbfc3306c3b7321c731f28ffdbfb15b8) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7458   ROM_LOAD16_BYTE( "271-c2k.c2", 0x0000001, 0x800000, CRC(3fb90447) SHA1(04d196de7c54c77bc75eba56d3060d46efc2d406) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7459   ROM_LOAD16_BYTE( "271-c3k.c3", 0x1000000, 0x800000, CRC(27950f28) SHA1(924f4de61c86b9efde6f1104b986886f1117055d) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7460   ROM_LOAD16_BYTE( "271-c4k.c4", 0x1000001, 0x800000, CRC(735177f8) SHA1(c95da1bc256995a7f44c9cc3312879ab6cbc15d6) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7461   ROM_LOAD16_BYTE( "271-c5k.c5", 0x2000000, 0x800000, CRC(a51b7c0f) SHA1(53dcf692b35b8d32abe5962ac799b8d641f04710) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7462   ROM_LOAD16_BYTE( "271-c6k.c6", 0x2000001, 0x800000, CRC(d5cae4e0) SHA1(248cd9eaac7a04d6b5d80c7534de90b057d566d7) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7463   ROM_LOAD16_BYTE( "271-c7k.c7", 0x3000000, 0x800000, CRC(e65ae2d0) SHA1(39744e10697d7ac539ecfcfa597e75597f321955) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7464   ROM_LOAD16_BYTE( "271-c8k.c8", 0x3000001, 0x800000, CRC(312f528c) SHA1(b4ad75f54f730ada6cb00112b74022250f055725) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7465ROM_END
7466
7467/****************************************
7468 ID-0272
7469 . NGM-2720
7470 NEO-MVS PROGBK2S (NEO-PCM2 PLAYMORE) / NEO-MVS CHAFIO (2003.7.24) (NEO-CMC 7050)
7471 . NGH-2720
7472****************************************/
7473
7474ROM_START( samsh5sp ) /* Encrypted Set */ /* MVS VERSION */
7475   /* Uncensored */
7476   ROM_REGION( 0x800000, "maincpu", 0 )
7477   ROM_LOAD16_WORD_SWAP( "272-p1.p1",  0x000000, 0x400000, CRC(fb7a6bba) SHA1(f68c527208d8a55ca44b0caaa8ab66b3a0ffdfe5) )
7478   ROM_LOAD16_WORD_SWAP( "272-p2.sp2", 0x400000, 0x400000, CRC(63492ea6) SHA1(6ba946acb62c63ed61a42fe72b7fff3828883bcc) )
7479
7480   ROM_Y_ZOOM
7481
7482   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7483   ROM_REGION( 0x20000, "fixed", 0 )
7484   ROM_FILL( 0x000000, 0x20000, 0 )
7485   ROM_REGION( 0x20000, "fixedbios", 0 )
7486   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7487
7488   /* Encrypted */
7489   NEO_BIOS_AUDIO_ENCRYPTED_512K( "272-m1.m1", CRC(adeebf40) SHA1(8cbd63dda3fff4de38060405bf70cd9308c9e66e) )
7490
7491   ROM_REGION( 0x1000000, "ymsnd", 0 )
7492   /* Encrypted */
7493   ROM_LOAD( "272-v1.v1", 0x000000, 0x800000, CRC(76a94127) SHA1(c3affd7ff1eb02345cfb755962ec173a8ec34acd) )
7494   ROM_LOAD( "272-v2.v2", 0x800000, 0x800000, CRC(4ba507f1) SHA1(728d139da3fe8a391fd8be4d24bb7fdd4bf9548a) )
7495
7496   NO_DELTAT_REGION
7497
7498   ROM_REGION( 0x4000000, "sprites", 0 )
7499   /* Encrypted */
7500   ROM_LOAD16_BYTE( "272-c1.c1", 0x0000000, 0x800000, CRC(4f97661a) SHA1(87f1721bae5ef16bc23c06b05e64686c396413df) ) /* Plane 0,1 */
7501   ROM_LOAD16_BYTE( "272-c2.c2", 0x0000001, 0x800000, CRC(a3afda4f) SHA1(86b475fce0bc0aa04d34e31324e8c7c7c847df19) ) /* Plane 2,3 */
7502   ROM_LOAD16_BYTE( "272-c3.c3", 0x1000000, 0x800000, CRC(8c3c7502) SHA1(6639020a8860d2400308e110d7277cbaf6eccc2a) ) /* Plane 0,1 */
7503   ROM_LOAD16_BYTE( "272-c4.c4", 0x1000001, 0x800000, CRC(32d5e2e2) SHA1(2b5612017152afd7433aaf99951a084ef5ad6bf0) ) /* Plane 2,3 */
7504   ROM_LOAD16_BYTE( "272-c5.c5", 0x2000000, 0x800000, CRC(6ce085bc) SHA1(0432b04a2265c649bba1bbd934dfb425c5d80fb1) ) /* Plane 0,1 */
7505   ROM_LOAD16_BYTE( "272-c6.c6", 0x2000001, 0x800000, CRC(05c8dc8e) SHA1(da45c222893f25495a66bdb302f9b0b1de3c8ae0) ) /* Plane 2,3 */
7506   ROM_LOAD16_BYTE( "272-c7.c7", 0x3000000, 0x800000, CRC(1417b742) SHA1(dfe35eb4bcd022d2f2dc544ccbbb77078f08c0aa) ) /* Plane 0,1 */
7507   ROM_LOAD16_BYTE( "272-c8.c8", 0x3000001, 0x800000, CRC(d49773cd) SHA1(cd8cf3b762d381c1f8f12919579c84a7ef7efb3f) ) /* Plane 2,3 */
7508ROM_END
7509
7510
7511/*  Some info about the 2nd AES release of Samurai Shodown 5 Special (samsh5sph):
7512
7513    The fixed carts have a small round neogeo sticker applied to the front side of the cart (top right near cart sticker).
7514    SNK Playmore had authorized a recall of all Samurai Shodown V Special (Samurai Spirits 0 Special) home cartridges. This recall involved bug fixes
7515    and the addition of fatalities. (The fatalities were originally removed at the last minute due to the Nagasaki incident, a murder caused by a child killing her classmate by knife.)
7516    Bug fixes: Improvements on Voice, Back Ground Music, and Practice mode.
7517    Fatalities: SNK PLAYMORE modified the game program by including the removed "Zetumei Ougi" in a modified version.
7518    This new version does not show the complete fatalities, they are instead replaced by what SNK PLAYMORE refers to as "lessened fatalities".
7519*/
7520
7521
7522ROM_START( samsh5sph ) /* Encrypted Set */ /* AES VERSION, 2nd bugfix release */
7523   /* Less censored */
7524   ROM_REGION( 0x800000, "maincpu", 0 )
7525   ROM_LOAD16_WORD_SWAP( "272-p1ca.p1",  0x000000, 0x400000, CRC(c30a08dd) SHA1(66864954017c841d7ca8490112c3aa7a71a4da70) )
7526   ROM_LOAD16_WORD_SWAP( "272-p2ca.sp2", 0x400000, 0x400000, CRC(bd64a518) SHA1(aa259a168930f106377d680db444535411b3bce0) )
7527   /* Correct chip labels unknown */
7528
7529   ROM_Y_ZOOM
7530
7531   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7532   ROM_REGION( 0x20000, "fixed", 0 )
7533   ROM_FILL( 0x000000, 0x20000, 0 )
7534   ROM_REGION( 0x20000, "fixedbios", 0 )
7535   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7536
7537   /* Encrypted */
7538   NEO_BIOS_AUDIO_ENCRYPTED_512K( "272-m1.m1", CRC(adeebf40) SHA1(8cbd63dda3fff4de38060405bf70cd9308c9e66e) )
7539
7540   ROM_REGION( 0x1000000, "ymsnd", 0 )
7541   /* Encrypted */
7542   ROM_LOAD( "272-v1.v1", 0x000000, 0x800000, CRC(76a94127) SHA1(c3affd7ff1eb02345cfb755962ec173a8ec34acd) )
7543   ROM_LOAD( "272-v2.v2", 0x800000, 0x800000, CRC(4ba507f1) SHA1(728d139da3fe8a391fd8be4d24bb7fdd4bf9548a) )
7544
7545   NO_DELTAT_REGION
7546
7547   ROM_REGION( 0x4000000, "sprites", 0 )
7548   /* Encrypted */
7549   ROM_LOAD16_BYTE( "272-c1.c1", 0x0000000, 0x800000, CRC(4f97661a) SHA1(87f1721bae5ef16bc23c06b05e64686c396413df) ) /* Plane 0,1 */
7550   ROM_LOAD16_BYTE( "272-c2.c2", 0x0000001, 0x800000, CRC(a3afda4f) SHA1(86b475fce0bc0aa04d34e31324e8c7c7c847df19) ) /* Plane 2,3 */
7551   ROM_LOAD16_BYTE( "272-c3.c3", 0x1000000, 0x800000, CRC(8c3c7502) SHA1(6639020a8860d2400308e110d7277cbaf6eccc2a) ) /* Plane 0,1 */
7552   ROM_LOAD16_BYTE( "272-c4.c4", 0x1000001, 0x800000, CRC(32d5e2e2) SHA1(2b5612017152afd7433aaf99951a084ef5ad6bf0) ) /* Plane 2,3 */
7553   ROM_LOAD16_BYTE( "272-c5.c5", 0x2000000, 0x800000, CRC(6ce085bc) SHA1(0432b04a2265c649bba1bbd934dfb425c5d80fb1) ) /* Plane 0,1 */
7554   ROM_LOAD16_BYTE( "272-c6.c6", 0x2000001, 0x800000, CRC(05c8dc8e) SHA1(da45c222893f25495a66bdb302f9b0b1de3c8ae0) ) /* Plane 2,3 */
7555   ROM_LOAD16_BYTE( "272-c7.c7", 0x3000000, 0x800000, CRC(1417b742) SHA1(dfe35eb4bcd022d2f2dc544ccbbb77078f08c0aa) ) /* Plane 0,1 */
7556   ROM_LOAD16_BYTE( "272-c8.c8", 0x3000001, 0x800000, CRC(d49773cd) SHA1(cd8cf3b762d381c1f8f12919579c84a7ef7efb3f) ) /* Plane 2,3 */
7557ROM_END
7558
7559ROM_START( samsh5spho ) /* Encrypted Set */ /* AES VERSION, 1st release */
7560   /* Censored */
7561   ROM_REGION( 0x800000, "maincpu", 0 )
7562   ROM_LOAD16_WORD_SWAP( "272-p1c.p1",  0x000000, 0x400000, CRC(9291794d) SHA1(66588ff9b00ffad6508b03423548984e28a3209d) )
7563   ROM_LOAD16_WORD_SWAP( "272-p2c.sp2", 0x400000, 0x400000, CRC(fa1a7dd8) SHA1(62443dad76d6c1e18f515d7d4ef8e1295a4b7f1d) )
7564
7565   ROM_Y_ZOOM
7566
7567   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7568   ROM_REGION( 0x20000, "fixed", 0 )
7569   ROM_FILL( 0x000000, 0x20000, 0 )
7570   ROM_REGION( 0x20000, "fixedbios", 0 )
7571   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7572
7573   /* Encrypted */
7574   NEO_BIOS_AUDIO_ENCRYPTED_512K( "272-m1.m1", CRC(adeebf40) SHA1(8cbd63dda3fff4de38060405bf70cd9308c9e66e) )
7575
7576   ROM_REGION( 0x1000000, "ymsnd", 0 )
7577   /* Encrypted */
7578   ROM_LOAD( "272-v1.v1", 0x000000, 0x800000, CRC(76a94127) SHA1(c3affd7ff1eb02345cfb755962ec173a8ec34acd) )
7579   ROM_LOAD( "272-v2.v2", 0x800000, 0x800000, CRC(4ba507f1) SHA1(728d139da3fe8a391fd8be4d24bb7fdd4bf9548a) )
7580
7581   NO_DELTAT_REGION
7582
7583   ROM_REGION( 0x4000000, "sprites", 0 )
7584   /* Encrypted */
7585   ROM_LOAD16_BYTE( "272-c1.c1", 0x0000000, 0x800000, CRC(4f97661a) SHA1(87f1721bae5ef16bc23c06b05e64686c396413df) ) /* Plane 0,1 */
7586   ROM_LOAD16_BYTE( "272-c2.c2", 0x0000001, 0x800000, CRC(a3afda4f) SHA1(86b475fce0bc0aa04d34e31324e8c7c7c847df19) ) /* Plane 2,3 */
7587   ROM_LOAD16_BYTE( "272-c3.c3", 0x1000000, 0x800000, CRC(8c3c7502) SHA1(6639020a8860d2400308e110d7277cbaf6eccc2a) ) /* Plane 0,1 */
7588   ROM_LOAD16_BYTE( "272-c4.c4", 0x1000001, 0x800000, CRC(32d5e2e2) SHA1(2b5612017152afd7433aaf99951a084ef5ad6bf0) ) /* Plane 2,3 */
7589   ROM_LOAD16_BYTE( "272-c5.c5", 0x2000000, 0x800000, CRC(6ce085bc) SHA1(0432b04a2265c649bba1bbd934dfb425c5d80fb1) ) /* Plane 0,1 */
7590   ROM_LOAD16_BYTE( "272-c6.c6", 0x2000001, 0x800000, CRC(05c8dc8e) SHA1(da45c222893f25495a66bdb302f9b0b1de3c8ae0) ) /* Plane 2,3 */
7591   ROM_LOAD16_BYTE( "272-c7.c7", 0x3000000, 0x800000, CRC(1417b742) SHA1(dfe35eb4bcd022d2f2dc544ccbbb77078f08c0aa) ) /* Plane 0,1 */
7592   ROM_LOAD16_BYTE( "272-c8.c8", 0x3000001, 0x800000, CRC(d49773cd) SHA1(cd8cf3b762d381c1f8f12919579c84a7ef7efb3f) ) /* Plane 2,3 */
7593ROM_END
7594
7595
7596/****************************************************************************
7597
7598    BrezzaSoft games, licensed?
7599
7600****************************************************************************/
7601
7602
7603/****************************************
7604 B-J-02
7605 . ???-????
7606 MVS PROGV (2000.11.17) / NEO-MVS CHAFIO (1999.6.14)
7607****************************************/
7608
7609ROM_START( jockeygp ) /* MVS ONLY RELEASE */
7610   /* Officially licensed? Cart has a holographic 'SNK' sticker applied */
7611   ROM_REGION( 0x200000, "maincpu", 0 )
7612   ROM_LOAD16_WORD_SWAP( "008-epr.p1", 0x000000, 0x100000, CRC(2fb7f388) SHA1(e3c9b03944b4c10cf5081caaf9c8be1f08c06493) )
7613   /* P on eprom, correct chip label unknown */
7614   ROM_FILL( 0x100000, 0x100000, 0xff )
7615
7616   ROM_Y_ZOOM
7617
7618   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7619   ROM_REGION( 0x20000, "fixed", 0 )
7620   ROM_FILL( 0x000000, 0x20000, 0 )
7621   ROM_REGION( 0x20000, "fixedbios", 0 )
7622   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7623
7624   /* Encrypted */
7625   NEO_BIOS_AUDIO_ENCRYPTED_512K( "008-mg1.m1", CRC(d163c690) SHA1(1dfd04d20c5985037f07cd01000d0b04f3a8f4f4) ) /* M27C4001 */
7626
7627   ROM_REGION( 0x0200000, "ymsnd", 0 )
7628   ROM_LOAD( "008-v1.v1", 0x000000, 0x200000, CRC(443eadba) SHA1(3def3c22f0e276bc4c2fc7ff70ce473c08b0d2df) ) /* mask rom TC5316200 */
7629
7630   NO_DELTAT_REGION
7631
7632   ROM_REGION( 0x1000000, "sprites", 0 )
7633   /* Encrypted */
7634   ROM_LOAD16_BYTE( "008-c1.c1", 0x0000000, 0x800000, CRC(a9acbf18) SHA1(d55122c70cbe78c2679598dc07863e1d1d1a31df) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7635   ROM_LOAD16_BYTE( "008-c2.c2", 0x0000001, 0x800000, CRC(6289eef9) SHA1(a2ede77bb2468a2e1486d74745a22a5451026039) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7636ROM_END
7637
7638ROM_START( jockeygpa ) /* MVS ONLY RELEASE */
7639   /* Officially licensed? Cart has a holographic 'SNK' sticker applied */
7640   ROM_REGION( 0x100000, "maincpu", 0 )
7641   ROM_LOAD16_WORD_SWAP( "008-epr_a.p1", 0x000000, 0x100000, CRC(b8f35532) SHA1(b46c96677f1bfe324b678112e9c614a20c550d51) ) /* M27C800 */
7642   /* P on eprom, correct chip label unknown */
7643
7644   ROM_Y_ZOOM
7645
7646   /* The Encrypted Boards do not have an s1 rom, data for it comes from the Cx ROMs */
7647   ROM_REGION( 0x20000, "fixed", 0 )
7648   ROM_FILL( 0x000000, 0x20000, 0 )
7649   ROM_REGION( 0x20000, "fixedbios", 0 )
7650   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7651
7652   /* Encrypted */
7653   NEO_BIOS_AUDIO_ENCRYPTED_512K( "008-mg1.m1", CRC(d163c690) SHA1(1dfd04d20c5985037f07cd01000d0b04f3a8f4f4) ) /* M27C4001 */
7654
7655   ROM_REGION( 0x0200000, "ymsnd", 0 )
7656   ROM_LOAD( "008-v1.v1", 0x000000, 0x200000, CRC(443eadba) SHA1(3def3c22f0e276bc4c2fc7ff70ce473c08b0d2df) ) /* mask rom TC5316200 */
7657
7658   NO_DELTAT_REGION
7659
7660   ROM_REGION( 0x1000000, "sprites", 0 )
7661   /* Encrypted */
7662   ROM_LOAD16_BYTE( "008-c1.c1", 0x0000000, 0x800000, CRC(a9acbf18) SHA1(d55122c70cbe78c2679598dc07863e1d1d1a31df) ) /* Plane 0,1 */ /* mask rom TC5364205 */
7663   ROM_LOAD16_BYTE( "008-c2.c2", 0x0000001, 0x800000, CRC(6289eef9) SHA1(a2ede77bb2468a2e1486d74745a22a5451026039) ) /* Plane 2,3 */ /* mask rom TC5364205 */
7664ROM_END
7665
7666/****************************************
7667 B-V-01
7668 . ???-????
7669 MVS PROGV (2000.11.17) / MVS CHAV (2000.10.26)
7670****************************************/
7671
7672ROM_START( vliner ) /* MVS ONLY RELEASE */
7673   /* Officially licensed? Cart has a holographic 'SNK' sticker applied */
7674   ROM_REGION( 0x100000, "maincpu", 0 )
7675   ROM_LOAD16_WORD_SWAP( "epr.p1", 0x000000, 0x080000, CRC(72a2c043) SHA1(b34bcc10ff33e4465126a6865fe8bf6b6a3d6cee) )
7676   /* P on eprom, correct chip label unknown */
7677
7678   NEO_SFIX_128K( "s-1.s1", CRC(972d8c31) SHA1(41f09ef28a3791668ea304c74b8b06c117a50e9a) )
7679
7680   NEO_BIOS_AUDIO_64K( "m-1.m1", CRC(9b92b7d1) SHA1(2c9b777feb9a8e43fa1bd942aba5afe3b5427d94) )
7681
7682   ROM_REGION( 0x200000, "ymsnd", ROMREGION_ERASE00 )
7683
7684   NO_DELTAT_REGION
7685
7686   ROM_REGION( 0x400000, "sprites", 0 )
7687   ROM_LOAD16_BYTE( "c-1.c1", 0x000000, 0x80000, CRC(5118f7c0) SHA1(b6fb6e9cbb660580d98e00780ebf248c0995145a) ) /* Plane 0,1 */
7688   ROM_LOAD16_BYTE( "c-2.c2", 0x000001, 0x80000, CRC(efe9b33e) SHA1(910c651aadce9bf59e51c338ceef62287756d2e8) ) /* Plane 2,3 */
7689ROM_END
7690
7691ROM_START( vlinero ) /* MVS ONLY RELEASE */
7692   /* Officially licensed? Cart has a holographic 'SNK' sticker applied */
7693   ROM_REGION( 0x100000, "maincpu", 0 )
7694   ROM_LOAD16_WORD_SWAP( "epr_54.p1", 0x000000, 0x080000, CRC(172efc18) SHA1(8ca739f8780a9e6fa19ac2c3e931d75871603f58) )
7695   /* P on eprom, correct chip label unknown */
7696
7697   NEO_SFIX_128K( "s-1.s1", CRC(972d8c31) SHA1(41f09ef28a3791668ea304c74b8b06c117a50e9a) )
7698
7699   NEO_BIOS_AUDIO_64K( "m-1.m1", CRC(9b92b7d1) SHA1(2c9b777feb9a8e43fa1bd942aba5afe3b5427d94) )
7700
7701   ROM_REGION( 0x200000, "ymsnd", ROMREGION_ERASE00 )
7702
7703   NO_DELTAT_REGION
7704
7705   ROM_REGION( 0x400000, "sprites", 0 )
7706   ROM_LOAD16_BYTE( "c-1.c1", 0x000000, 0x80000, CRC(5118f7c0) SHA1(b6fb6e9cbb660580d98e00780ebf248c0995145a) ) /* Plane 0,1 */
7707   ROM_LOAD16_BYTE( "c-2.c2", 0x000001, 0x80000, CRC(efe9b33e) SHA1(910c651aadce9bf59e51c338ceef62287756d2e8) ) /* Plane 2,3 */
7708ROM_END
7709
7710
7711/****************************************************************************
7712
7713    Vektorlogic games, unlicensed
7714
7715****************************************************************************/
7716
7717
7718/****************************************
7719 NSBP ??
7720 PROGRAM CART REVISION 2.0 (C) VEKTORLOGIC 2004 / GRAPHICS CART REVISION 1.2 (C) VEKTORLOGIC 2004
7721****************************************/
7722
7723// this doesn't boot, protection like kof98?
7724// you can force it to boot with a simple debugger trick, but then it resets when starting a game
7725ROM_START( sbp ) /* Unlicensed, no official game ID # */ /* MVS ONLY VERSION */
7726   ROM_REGION( 0x100000, "maincpu", 0 )
7727   ROM_LOAD16_WORD_SWAP( "001-003-02a.u2", 0x000000, 0x080000, CRC(d054d264) SHA1(d1b4bc626d000e0679def0545940fa75035921ab) ) /* HN27C4096HG */
7728
7729   ROM_REGION( 0x20000, "fixed", 0 )
7730   ROM_LOAD( "001-003-02b.u2", 0x000000, 0x20000, CRC(2fd04b2a) SHA1(1acb446704ab56d0a33df7c48855aa8d00fd5a3c) ) /* M27C4001 */
7731   ROM_IGNORE(0x20000)
7732   ROM_IGNORE(0x20000)
7733   ROM_IGNORE(0x20000)
7734
7735   ROM_REGION( 0x20000, "fixedbios", 0 )
7736   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7737   ROM_Y_ZOOM
7738
7739   NEO_BIOS_AUDIO_512K( "001-003-01b.u1", CRC(7b1f86f7) SHA1(15b6af7f9fbd0f1f6a1ecd912200ca8d0af2da2a) ) /* M27C4001 */
7740
7741   ROM_REGION( 0x800000, "ymsnd", 0 )
7742   ROM_LOAD( "001-003-12a.u12", 0x000000, 0x400000, CRC(c96723b9) SHA1(52eec88550781d45f84efbf9b905d7e7912e96fa) ) /* M27C322 */
7743   ROM_LOAD( "001-003-13a.u13", 0x400000, 0x400000, CRC(08c339a5) SHA1(badc9510ae243ef2a7877977eb36efa81b1489fe) ) /* M27C322 */
7744
7745   NO_DELTAT_REGION
7746
7747   ROM_REGION( 0x400000, "sprites", 0 )
7748   ROM_LOAD16_BYTE( "001-003-03b.u3", 0x000000, 0x200000, CRC(44791317) SHA1(9e773eb9aae5ee767213bd17348ff8a312e9cb16) ) /* Plane 0,1 */ /* M27C160 */
7749   ROM_LOAD16_BYTE( "001-003-04b.u4", 0x000001, 0x200000, CRC(a3a1c0df) SHA1(3b1e5be673f7cbb04199a805b0e0de93dad8cb8c) ) /* Plane 2,3 */ /* M27C160 */
7750ROM_END
7751
7752
7753/****************************************************************************
7754
7755    Jamma PCB sets
7756
7757****************************************************************************/
7758
7759
7760/****************************************
7761 ID-2680
7762 . MV-0 ????
7763 NEO-MVH MVOBR 2003.8.4
7764****************************************/
7765
7766ROM_START( ms5pcb ) /* Encrypted Set */
7767   ROM_REGION( 0x800000, "maincpu", 0 )
7768   ROM_LOAD32_WORD_SWAP( "268-p1r.p1", 0x000000, 0x400000, CRC(d0466792) SHA1(880819933d997fab398f91061e9dbccb959ae8a1) )
7769   ROM_LOAD32_WORD_SWAP( "268-p2r.p2", 0x000002, 0x400000, CRC(fbf6b61e) SHA1(9ec743d5988b5e3183f37f8edf45c72a8c0c893e) )
7770
7771   ROM_REGION( 0x20000, "fixed", 0 )
7772   ROM_FILL( 0x000000, 0x20000, 0 )
7773   ROM_REGION( 0x20000, "fixedbios", 0 )
7774   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7775
7776   ROM_REGION16_BE( 0x80000, "mainbios", 0 )
7777   /* this contains both an ASIA and JAPAN bios, HARDDIP3 on the PCB selects which to use */
7778   ROM_LOAD16_WORD_SWAP( "sp-4x.sp1", 0x00000, 0x80000, CRC(b4590283) SHA1(47047ed5b6062babc0a0bebcc30e4b3f021e115a) )
7779
7780   /* Encrypted */
7781   ROM_REGION( 0x80000, "audiocrypt", 0 )
7782   ROM_LOAD( "268-m1.m1", 0x00000, 0x80000, CRC(4a5a6e0e) SHA1(df0f660f2465e1db7be5adfcaf5e88ad61a74a42) ) /* mask rom TC534000 */
7783   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF )
7784
7785   /* Encrypted */
7786
7787   ROM_Y_ZOOM
7788
7789   ROM_REGION( 0x1000000, "ymsnd", 0 )
7790   /* Encrypted */
7791   ROM_LOAD( "268-v1.v1", 0x000000, 0x1000000, CRC(8458afe5) SHA1(62b4c6e7db763e9ff2697bbcdb43dc5a56b48c68) )
7792
7793   NO_DELTAT_REGION
7794
7795   ROM_REGION( 0x4000000, "sprites", 0 )
7796   /* Encrypted */
7797   ROM_LOAD32_WORD( "268-c1.c1", 0x0000000, 0x1000000, BAD_DUMP CRC(802042e8) SHA1(ff028b65f60f0b51b255a380cc47ec19fdc0c0cf) ) /* Plane 0,1 */
7798   ROM_LOAD32_WORD( "268-c2.c2", 0x0000002, 0x1000000, BAD_DUMP CRC(3b89fb9f) SHA1(cbc0729aae961f683b105ec3e1cda58b3f985abc) ) /* Plane 2,3 */
7799   ROM_LOAD32_WORD( "268-c3.c3", 0x2000000, 0x1000000, BAD_DUMP CRC(0f3f59e3) SHA1(8cc751dc7d4e94864a9ce3346f23b8f011082fcc) ) /* Plane 0,1 */
7800   ROM_LOAD32_WORD( "268-c4.c4", 0x2000002, 0x1000000, BAD_DUMP CRC(3ad8435a) SHA1(b333c8993c9b4c4ea59450ad0a3560e0b28056bc) ) /* Plane 2,3 */
7801ROM_END
7802
7803/****************************************
7804 ID-2690
7805 . MV-0 ????
7806 NEO-MVH MVO 2003.6.5
7807****************************************/
7808
7809ROM_START( svcpcb ) /* Encrypted Set, JAMMA PCB */
7810   ROM_REGION( 0x2000000, "maincpu", 0 )
7811   ROM_LOAD16_WORD_SWAP( "269-p1.p1", 0x000000, 0x2000000, CRC(432cfdfc) SHA1(19b40d32188a8bace6d2d570c6cf3d2f1e31e379) )
7812
7813   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
7814   ROM_FILL( 0x000000, 0x80000, 0 )
7815   ROM_REGION( 0x20000, "fixedbios", 0 )
7816   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7817
7818   ROM_REGION16_BE( 0x80000, "mainbios", 0 )
7819   /* this contains both an ASIA and JAPAN bios, HARDDIP3 on the PCB selects which to use */
7820   ROM_LOAD16_WORD_SWAP( "sp-4x.sp1", 0x00000, 0x80000, CRC(b4590283) SHA1(47047ed5b6062babc0a0bebcc30e4b3f021e115a) )
7821
7822   /* Encrypted */
7823   ROM_REGION( 0x80000, "audiocrypt", 0 )
7824   ROM_LOAD( "269-m1.m1", 0x00000, 0x80000, CRC(f6819d00) SHA1(d3bbe09df502464f104e53501708ac6e2c1832c6) ) /* mask rom TC534000 */
7825   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF )
7826
7827   ROM_Y_ZOOM
7828
7829   ROM_REGION( 0x1000000, "ymsnd", 0 )
7830   /* Encrypted */
7831   ROM_LOAD( "269-v1.v1", 0x000000, 0x800000, CRC(c659b34c) SHA1(1931e8111ef43946f68699f8707334c96f753a1e) )
7832   ROM_LOAD( "269-v2.v1", 0x800000, 0x800000, CRC(dd903835) SHA1(e58d38950a7a8697bb22a1cc7a371ae6664ae8f9) )
7833
7834   ROM_REGION( 0x4000000, "sprites", 0 )
7835   /* Encrypted */
7836   ROM_LOAD( "269-c1.c1", 0x0000000, 0x2000000, CRC(1b608f9c) SHA1(4e70ad182da2ca18815bd3936efb04a06ebce01e) ) /* Plane 0,1 */
7837   ROM_LOAD( "269-c2.c1", 0x2000000, 0x2000000, CRC(5a95f294) SHA1(6123cc7b20b494076185d27c2ffea910e124b195) ) /* Plane 0,1 */
7838ROM_END
7839
7840/****************************************
7841 ID-2690
7842 . MV-0 ????
7843 NEO-MVH MVOB 2003.7.9
7844****************************************/
7845
7846ROM_START( svcpcba ) /* Encrypted Set, JAMMA PCB */
7847   /* alt PCB version, this one has the same program roms as the MVS set, and different GFX / Sound rom arrangements */
7848   ROM_REGION( 0x800000, "maincpu", 0 )
7849   ROM_LOAD32_WORD_SWAP( "269-p1a.p1", 0x000000, 0x400000, CRC(38e2005e) SHA1(1b902905916a30969282f1399a756e32ff069097)  )
7850   ROM_LOAD32_WORD_SWAP( "269-p2a.p1", 0x000002, 0x400000, CRC(6d13797c) SHA1(3cb71a95cea6b006b44cac0f547df88aec0007b7)  )
7851
7852   ROM_REGION( 0x80000, "fixed", 0 ) /* larger char set */
7853   ROM_FILL( 0x000000, 0x80000, 0 )
7854   ROM_REGION( 0x20000, "fixedbios", 0 )
7855   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7856
7857   ROM_REGION16_BE( 0x80000, "mainbios", 0 )
7858   /* this contains both an ASIA and JAPAN bios, HARDDIP3 on the PCB selects which to use */
7859   ROM_LOAD16_WORD_SWAP( "sp-4x.sp1", 0x00000, 0x80000, CRC(b4590283) SHA1(47047ed5b6062babc0a0bebcc30e4b3f021e115a) )
7860
7861   /* Encrypted */
7862   ROM_REGION( 0x80000, "audiocrypt", 0 )
7863   ROM_LOAD( "269-m1.m1", 0x00000, 0x80000, CRC(f6819d00) SHA1(d3bbe09df502464f104e53501708ac6e2c1832c6) )
7864   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF )
7865
7866   ROM_Y_ZOOM
7867
7868   ROM_REGION( 0x1000000, "ymsnd", 0 )
7869   /* Encrypted */
7870   ROM_LOAD( "269-v1a.v1", 0x000000, 0x1000000, CRC(a6af4753) SHA1(ec4f61a526b707a7faec4653b773beb3bf3a17ba) )
7871
7872   ROM_REGION( 0x4000000, "sprites", 0 )
7873   /* Encrypted */
7874   ROM_LOAD32_WORD( "269-c1a.c1", 0x0000000, 0x1000000, CRC(e64d2b0c) SHA1(0714198c400e5c273181e4c6f906b49e35fef75d) ) /* Plane 0,1 */
7875   ROM_LOAD32_WORD( "269-c2a.c2", 0x0000002, 0x1000000, CRC(249089c2) SHA1(1c0ca19e330efe1a74b2d35a1a9a8d61481e16a9) ) /* Plane 2,3 */
7876   ROM_LOAD32_WORD( "269-c3a.c3", 0x2000000, 0x1000000, CRC(d32f2fab) SHA1(273d58cb3c9075075b1ca39a3b247a2cd545fbe7) ) /* Plane 0,1 */
7877   ROM_LOAD32_WORD( "269-c4a.c4", 0x2000002, 0x1000000, CRC(bf77e878) SHA1(e6e76f8eed0d04ee9ad39bf38ce305930b10e2c1) ) /* Plane 2,3 */
7878ROM_END
7879
7880/****************************************
7881 ID-2710
7882 . MV-0 ????
7883 NEO-MVH MVOC 2003.11.3
7884****************************************/
7885
7886ROM_START( kf2k3pcb ) /* Encrypted Set, JAMMA PCB */
7887   ROM_REGION( 0x900000, "maincpu", 0 )
7888   ROM_LOAD32_WORD_SWAP( "271-p1.p1", 0x000000, 0x400000, CRC(b9da070c) SHA1(1a26325af142a4dd221c336061761468598c4634) )
7889   ROM_LOAD32_WORD_SWAP( "271-p2.p2", 0x000002, 0x400000, CRC(da3118c4) SHA1(582e4f44f03276adecb7b2848d3b96bf6da57f1e) )
7890   ROM_LOAD16_WORD_SWAP( "271-p3.p3", 0x800000, 0x100000, CRC(5cefd0d2) SHA1(cddc3164629fed4b6f715e12b109ad35d1009355) )
7891
7892   ROM_REGION( 0x100000, "fixed", 0 ) /* larger char set */
7893   ROM_FILL( 0x000000, 0x100000, 0 )
7894   ROM_REGION( 0x20000, "fixedbios", 0 )
7895   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
7896
7897   ROM_REGION16_BE( 0x80000, "mainbios", 0 )
7898   ROM_LOAD16_WORD_SWAP( "spj.sp1", 0x00000, 0x080000, CRC(148dd727) SHA1(2cf592a16c7157de02a989675d47965f2b3a44dd) ) // encrypted
7899
7900   /* Encrypted */
7901   ROM_REGION( 0x80000, "audiocrypt", 0 )
7902   ROM_LOAD( "271-m1.m1", 0x00000, 0x80000, CRC(d6bcf2bc) SHA1(df78bc95990eb8e8f3638dde6e1876354df7fe84) )
7903   ROM_REGION( 0x90000, "audiocpu", ROMREGION_ERASEFF )
7904
7905   ROM_Y_ZOOM
7906
7907   ROM_REGION( 0x1000000, "ymsnd", 0 )
7908   /* Encrypted */
7909   ROM_LOAD( "271-v1.v1", 0x000000, 0x1000000, CRC(1d96154b) SHA1(1d4e262b0d30cee79a4edc83bb9706023c736668) )
7910
7911   NO_DELTAT_REGION
7912
7913   ROM_REGION( 0x6000000, "sprites", 0 )
7914   /* Encrypted */
7915   ROM_LOAD32_WORD( "271-c1.c1", 0x0000000, 0x1000000, CRC(f5ebb327) SHA1(e4f799a54b09adcca13b1b0cf95971a1f4291b61) ) /* Plane 0,1 */
7916   ROM_LOAD32_WORD( "271-c2.c2", 0x0000002, 0x1000000, CRC(2be21620) SHA1(872c658f53bbc558e90f18d5db9cbaa82e748a6a) ) /* Plane 2,3 */
7917   ROM_LOAD32_WORD( "271-c3.c3", 0x2000000, 0x1000000, CRC(ddded4ff) SHA1(ff7b356125bc9e6637b164f5e81b13eabeb8d804) ) /* Plane 0,1 */
7918   ROM_LOAD32_WORD( "271-c4.c4", 0x2000002, 0x1000000, CRC(d85521e6) SHA1(62278fa8690972ed32aca07a4f7f97e7203d9f3a) ) /* Plane 2,3 */
7919   ROM_LOAD32_WORD( "271-c5.c5", 0x4000000, 0x1000000, CRC(18aa3540) SHA1(15e0a8c4e0927b1f7eb9bee8f532acea6818d5eb) ) /* Plane 0,1 */
7920   ROM_LOAD32_WORD( "271-c6.c6", 0x4000002, 0x1000000, CRC(1c40de87) SHA1(8d6425aed43ff6a96c88194e203df6a783286373) ) /* Plane 2,3 */
7921ROM_END
7922
7923
7924/****************************************************************************
7925
7926    Bootleg sets
7927
7928****************************************************************************/
7929
7930
7931/*
7932    About supported sets:
7933
7934    For many bootleg sets, only P's (program rom), M1 (sound driver) and S1 (text layer) roms were dumped.
7935    For these sets it is assumed that the original V's (sound data) and C's (gfx data) are used.
7936    This requires verification.
7937
7938*/
7939
7940
7941/* Zintrick bootleg */
7942
7943/* This Zintrick set appears to be a bootleg made from the CD version, not a genuine
7944   prototype the code is based on that of the NeoCD version with some minor patches,
7945   for example the ADK SAMPLE TEST text that appears on the screen is actually a hacked
7946   PROG LOAD ERROR message. The set is supported in order to distinguish the hacks from
7947   a real prototype should one turn up. */
7948
7949ROM_START( zintrckb )
7950   ROM_REGION( 0x100000, "maincpu", 0 )
7951   ROM_LOAD16_WORD_SWAP( "zin-p1.bin", 0x000000, 0x100000, CRC(06c8fca7) SHA1(b7bf38965c3d0db4d7a9684d14cac94a45b4a45b))
7952
7953   NEO_SFIX_128K( "zin-s1.bin", CRC(a7ab0e81) SHA1(f0649819b96cea79b05411e0b15c8edc677d79ba) )
7954
7955   NEO_BIOS_AUDIO_128K( "zin-m1.bin", CRC(fd9627ca) SHA1(b640c1f1ff466f734bb1cb5d7b589cb7e8a55346) )
7956
7957   ROM_REGION( 0x200000, "ymsnd", 0 )
7958   ROM_LOAD( "zin-v1.bin", 0x000000, 0x200000, CRC(c09f74f1) SHA1(d0b56a780a6eba85ff092240b1f1cc6718f17c21) )
7959
7960   NO_DELTAT_REGION
7961
7962   ROM_REGION( 0x400000, "sprites", 0 )
7963   ROM_LOAD16_BYTE( "zin-c1.bin", 0x000000, 0x200000, CRC(76aee189) SHA1(ad6929804c5b9a59aa609e6baebc6aa37e858a47) ) /* Plane 0,1 */
7964   ROM_LOAD16_BYTE( "zin-c2.bin", 0x000001, 0x200000, CRC(844ed4b3) SHA1(fb7cd057bdc6cbe8b78097dd124118bae7402256) ) /* Plane 2,3 */
7965ROM_END
7966
7967/* The King of Fighters '97 bootlegs */
7968
7969ROM_START( kof97pls )
7970   ROM_REGION( 0x500000, "maincpu", 0 )
7971   ROM_LOAD16_WORD_SWAP( "kf97-p1p.bin", 0x000000, 0x100000, CRC(c01fda46) SHA1(bc6402f5082efc80a8936364c657165f19b49415) )
7972   ROM_LOAD16_WORD_SWAP( "kf97-p2p.bin", 0x100000, 0x400000, CRC(5502b020) SHA1(37c48198d8b3798910a44075782cd1a20b687b4a) )
7973
7974   NEO_SFIX_128K( "kf97-s1p.bin", CRC(73254270) SHA1(8d06305f9d8890da1327356272b88bdd0dc089f5) )
7975
7976   NEO_BIOS_AUDIO_128K( "232-m1.m1", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) ) /* TC531001 */
7977
7978   ROM_REGION( 0xc00000, "ymsnd", 0 )
7979   ROM_LOAD( "232-v1.v1", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) ) /* TC5332204 */
7980   ROM_LOAD( "232-v2.v2", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) ) /* TC5332204 */
7981   ROM_LOAD( "232-v3.v3", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) ) /* TC5332204 */
7982
7983   NO_DELTAT_REGION
7984
7985   ROM_REGION( 0x2800000, "sprites", 0 )
7986   ROM_LOAD16_BYTE( "232-c1.c1", 0x0000000, 0x800000, CRC(5f8bf0a1) SHA1(e8b63bbc814de171fd18c5864a7fc639970c1ecf) ) /* Plane 0,1 */ /* TC5364205 */
7987   ROM_LOAD16_BYTE( "232-c2.c2", 0x0000001, 0x800000, CRC(e4d45c81) SHA1(fdb2b9326362e27b1c7a5beb977e0bc537488186) ) /* Plane 2,3 */ /* TC5364205 */
7988   ROM_LOAD16_BYTE( "232-c3.c3", 0x1000000, 0x800000, CRC(581d6618) SHA1(14d3124a08ded59f86932c6b28e1a4e48c564ccd) ) /* Plane 0,1 */ /* TC5364205 */
7989   ROM_LOAD16_BYTE( "232-c4.c4", 0x1000001, 0x800000, CRC(49bb1e68) SHA1(f769c1bd1b019521111ff3f0d22c63cb1f2640ef) ) /* Plane 2,3 */ /* TC5364205 */
7990   ROM_LOAD16_BYTE( "232-c5.c5", 0x2000000, 0x400000, CRC(34fc4e51) SHA1(b39c65f27873f71a6f5a5d1d04e5435f874472ee) ) /* Plane 0,1 */ /* TC5332205 */
7991   ROM_LOAD16_BYTE( "232-c6.c6", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */ /* TC5332205 */
7992ROM_END
7993
7994ROM_START( kof97oro )
7995   ROM_REGION( 0x500000, "maincpu", 0 )
7996   ROM_LOAD16_WORD_SWAP( "orochi-p1.bin",  0x0000000, 0x100000, CRC(6dcb2946) SHA1(3ccb3fdf3d32a75c7fcfefff5db1f3c75054731f) )
7997   ROM_LOAD16_WORD_SWAP( "orochi-p21.bin", 0x0200000, 0x100000, CRC(6e1c4d8c) SHA1(f514638a599a8a582c5f4df72f6a957bab776b7e) )
7998   ROM_CONTINUE( 0x100000, 0x100000 )
7999   ROM_LOAD16_WORD_SWAP( "orochi-p29.bin", 0x0400000, 0x100000, CRC(4c7c0221) SHA1(fdd05927743cb12210b74768155bb3f59bff01b5) )
8000   ROM_CONTINUE( 0x300000, 0x100000 )
8001
8002   NEO_SFIX_128K( "orochi-s1.bin", CRC(4ee2149a) SHA1(180a1a90021031eac1a643b769d9cdeda56518f5) )
8003
8004   NEO_BIOS_AUDIO_128K( "orochi-m1.bin", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) )
8005
8006   ROM_REGION( 0xc00000, "ymsnd", 0 )
8007   ROM_LOAD( "orochi-v1.bin", 0x000000, 0x0400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) )
8008   ROM_LOAD( "orochi-v2.bin", 0x400000, 0x0400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) )
8009   ROM_LOAD( "orochi-v3.bin", 0x800000, 0x0400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) )
8010
8011   NO_DELTAT_REGION
8012
8013   ROM_REGION( 0x2800000, "sprites", 0 )
8014   // The C1 and C2 here are reconstructed but very likely to be correct.
8015   ROM_LOAD16_BYTE( "orochi-c1.bin",  0x0000000, 0x1000000, BAD_DUMP CRC(f13e841c) SHA1(e24b3fb5f7e1c1f4752cad382c264f5f93e737a0) ) /* Plane 0,1 */
8016   ROM_LOAD16_BYTE( "orochi-c2.bin",  0x0000001, 0x1000000, BAD_DUMP CRC(2db1f6d3) SHA1(13d957c04bd69f0db140e4633c39db4a9e44eab8) ) /* Plane 2,3 */
8017   ROM_LOAD16_BYTE( "orochi-c51.bin", 0x2000000, 0x0200000, CRC(a90340cb) SHA1(97eaa89f0e860e2c591ca3a995fd910d8116347d) ) /* Plane 0,1 */
8018   ROM_LOAD16_BYTE( "orochi-c61.bin", 0x2000001, 0x0200000, CRC(188e351a) SHA1(ab724250bc07ace0873fc825b798ace934260988) ) /* Plane 2,3 */
8019   ROM_LOAD16_BYTE( "orochi-c52.bin", 0x2400000, 0x0200000, CRC(d4eec50a) SHA1(0930cce5346fbbd5c1524f9148d0577cbe634420) ) /* Plane 0,1 */
8020   ROM_LOAD16_BYTE( "orochi-c62.bin", 0x2400001, 0x0200000, CRC(031b1ad5) SHA1(d47b3452953b553348be0a55473b863ce2872f6e) ) /* Plane 2,3 */
8021ROM_END
8022
8023ROM_START( kog )
8024   ROM_REGION( 0x600000, "maincpu", 0 )
8025   ROM_LOAD16_WORD_SWAP( "5232-p1.bin", 0x000000, 0x200000, CRC(d2413ec6) SHA1(c0bf409d1e714cba5fdc6f79e4c2aec805316634) )
8026   ROM_LOAD16_WORD_SWAP( "232-p2.sp2",  0x200000, 0x400000, CRC(158b23f6) SHA1(9744620a70513490aaf9c5eda33e5ec31222be19) ) /* TC5332205 */
8027
8028   NEO_SFIX_128K( "5232-s1.bin", CRC(0bef69da) SHA1(80918586e694dce35c4dba796eb18abf6a070ebb) )
8029
8030   NEO_BIOS_AUDIO_128K( "232-m1.m1", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) ) /* TC531001 */
8031
8032   ROM_REGION( 0xc00000, "ymsnd", 0 )
8033   ROM_LOAD( "232-v1.v1", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) ) /* TC5332204 */
8034   ROM_LOAD( "232-v2.v2", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) ) /* TC5332204 */
8035   ROM_LOAD( "232-v3.v3", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) ) /* TC5332204 */
8036
8037   ROM_REGION( 0x2800000, "sprites", 0 )
8038   ROM_LOAD16_BYTE( "5232-c1a.bin", 0x0000000, 0x800000, CRC(4eab9b0a) SHA1(a6f6b755215a3f41474e0a76b5463303a522c2d3) ) /* Plane 0,1 */
8039   ROM_LOAD16_BYTE( "5232-c2a.bin", 0x0000001, 0x800000, CRC(697f8fd0) SHA1(5784464c2357ccef8e6e79b6298843fc3d13b39c) ) /* Plane 2,3 */
8040   ROM_LOAD16_BYTE( "5232-c1b.bin", 0x1000000, 0x800000, CRC(1143fdf3) SHA1(9dc5fe9a3b7599380db62095880e2d6f237a41bd) ) /* Plane 0,1 */
8041   ROM_LOAD16_BYTE( "5232-c2b.bin", 0x1000001, 0x800000, CRC(ea82cf8f) SHA1(3d9ab64b69cecd6b3950839ac2c6d151ad66dcf8) ) /* Plane 2,3 */
8042   ROM_LOAD16_BYTE( "5232-c3.bin",  0x2000000, 0x400000, CRC(abd1be07) SHA1(857eb68bbee4538770bbfa77aaa540d61ab0abcd) ) /* Plane 0,1 */
8043   ROM_LOAD16_BYTE( "5232-c4.bin",  0x2000001, 0x400000, CRC(d2bd967b) SHA1(c494e0a98e127d37ca360a28accc167fa50fb626) ) /* Plane 2,3 */
8044ROM_END
8045
8046/* Shock Troopers - 2nd Squad bootleg */
8047
8048ROM_START( lans2004 )
8049   ROM_REGION( 0x600000, "maincpu", 0 )
8050   ROM_LOAD16_WORD_SWAP( "lnsq-p1.bin",  0x000000, 0x200000, CRC(b40a879a) SHA1(379f3d44b0bae430b32157fd5f4018d77b243c58) )
8051   ROM_LOAD16_WORD_SWAP( "lnsq-p21.bin", 0x200000, 0x200000, CRC(ecdb2d42) SHA1(0d930cd369dfbcab7778b144355e5f70874aa324) )
8052   ROM_LOAD16_WORD_SWAP( "lnsq-p22.bin", 0x400000, 0x200000, CRC(fac5e2e7) SHA1(5cce7226c137da80c969df00e1cda41ef9c5082c) )
8053
8054   NEO_SFIX_128K( "lnsq-s1.bin", CRC(39e82897) SHA1(24a8c94dd7e70ecde8f90ea17f75b6b5d065704f) )
8055
8056   NEO_BIOS_AUDIO_128K( "246-m1.bin", CRC(d0604ad1) SHA1(fae3cd52a177eadd5f5775ace957cc0f8301e65d) )
8057
8058   ROM_REGION( 0xA00000, "ymsnd", 0 )
8059   ROM_LOAD( "lnsq-v1.bin", 0x000000, 0x400000, CRC(4408ebc3) SHA1(e3f4d8a7e243a8cf48e97d91bbfec7829c0d9404) )
8060   ROM_LOAD( "lnsq-v2.bin", 0x400000, 0x400000, CRC(3d953975) SHA1(6a4ab02ab3d4416a65343cf16815007cb273f19b) )
8061   ROM_LOAD( "lnsq-v3.bin", 0x800000, 0x200000, CRC(437d1d8e) SHA1(95e015c21707b53ed7223eaa19f6cdcfb4d94f0c) )
8062
8063   NO_DELTAT_REGION
8064
8065   ROM_REGION( 0x3000000, "sprites", 0 )
8066   ROM_LOAD16_BYTE( "lnsq-c1.bin", 0x0000000, 0x800000, CRC(b83de59f) SHA1(8cc060f9a57ab7d4238543b0bce5f5cd1d271d4f) ) /* Plane 0,1 */
8067   ROM_LOAD16_BYTE( "lnsq-c2.bin", 0x0000001, 0x800000, CRC(e08969fd) SHA1(c192639d023cdad64a8f53dbcda02aa8cfb4168e) ) /* Plane 2,3 */
8068   ROM_LOAD16_BYTE( "lnsq-c3.bin", 0x1000000, 0x800000, CRC(013f2cda) SHA1(6261111ce69dc23fbf97241131e5a6a49355d18c) ) /* Plane 0,1 */
8069   ROM_LOAD16_BYTE( "lnsq-c4.bin", 0x1000001, 0x800000, CRC(d8c3a758) SHA1(d19ca3be06f9fb0cb1933b1eb3da318524c3145d) ) /* Plane 2,3 */
8070   ROM_LOAD16_BYTE( "lnsq-c5.bin", 0x2000000, 0x800000, CRC(75500b82) SHA1(06d2afe94ea3eb3c4e523f593b8e709dd7c284a3) ) /* Plane 0,1 */
8071   ROM_LOAD16_BYTE( "lnsq-c6.bin", 0x2000001, 0x800000, CRC(670ac13b) SHA1(f448a144caae51b69ea19e1f43940db135d1164a) ) /* Plane 2,3 */
8072ROM_END
8073
8074/* Garou - Mark of the Wolves bootleg */
8075
8076ROM_START( garoubl ) /* bootleg of garoup */
8077   ROM_REGION( 0x500000, "maincpu", 0 )
8078   ROM_LOAD16_WORD_SWAP( "garou-p1.bin", 0x000000, 0x100000, CRC(fd446d59) SHA1(e37484673a935b2af76c84cd26977c751c0f8cff) )
8079   ROM_LOAD16_WORD_SWAP( "garou-p2.bin", 0x100000, 0x400000, CRC(3fb10a84) SHA1(4e4a4f4cd7f0ad2520c938c64c8910e6f8805eaf) )
8080
8081   NEO_SFIX_128K( "garou-s1.bin", CRC(df720e33) SHA1(58d05002d4851682bd626241fa7b70f78f6f3bc8) )
8082
8083   NEO_BIOS_AUDIO_512K( "garou-m1.bin", CRC(7c51d002) SHA1(01ffba6cbc8da07804f7b21d8c71c39d64a1a4e2) )
8084
8085   ROM_REGION( 0x1000000, "ymsnd", 0 )
8086   ROM_LOAD( "garou-v1.bin", 0x000000, 0x400000, CRC(98d736e4) SHA1(3edda9a1d45b0e38a85156d24fc8ff2f0011239b) )
8087   ROM_LOAD( "garou-v2.bin", 0x400000, 0x400000, CRC(eb43c03f) SHA1(83c9c168b154e60a64f1033004b2d33e218bbb8b) )
8088   ROM_LOAD( "garou-v3.bin", 0x800000, 0x400000, CRC(10a0f814) SHA1(e86def80d6fb2a38ebc9f3338d22f28c15ce85da) )
8089   ROM_LOAD( "garou-v4.bin", 0xc00000, 0x400000, CRC(8918fdd3) SHA1(60ea2104a0f993341124728d8fde0e8e937c55ef) )
8090
8091   NO_DELTAT_REGION
8092
8093   ROM_REGION( 0x4000000, "sprites", 0 )
8094   ROM_LOAD16_BYTE( "garou-c1.bin", 0x0000000, 0x1000000, CRC(e2ac83fa) SHA1(186f88a85d80efbb0371bd42cca152b6b59817fb) ) /* Plane 0,1 */
8095   ROM_LOAD16_BYTE( "garou-c2.bin", 0x0000001, 0x1000000, CRC(7c344b24) SHA1(f8af62a917e0ce2bf8ae4f17736fdd84d55d0788) ) /* Plane 2,3 */
8096   ROM_LOAD16_BYTE( "garou-c3.bin", 0x2000000, 0x1000000, CRC(d3aec5a6) SHA1(c1a584909a8a1519f676aa49351742b87c18276d) ) /* Plane 0,1 */
8097   ROM_LOAD16_BYTE( "garou-c4.bin", 0x2000001, 0x1000000, CRC(e02a242d) SHA1(8a73826d14880303a7bea2a903e842c733178aca) ) /* Plane 2,3 */
8098ROM_END
8099
8100/* Metal Slug 3 bootleg */
8101
8102ROM_START( mslug3b6 ) /* This "Metal Slug 6" is a hack/bootleg of Metal Slug 3, the real Metal Slug 6 is on Atomiswave Hardware */
8103   ROM_REGION( 0x500000, "maincpu", 0 )
8104   ROM_LOAD16_WORD_SWAP( "299-p1.bin", 0x000000, 0x200000, CRC(5f2fe228) SHA1(747775a2dfc0da87ad2ddd4f57ce5b2522f23fa5) )
8105   ROM_LOAD16_WORD_SWAP( "299-p2.bin", 0x100000, 0x400000, CRC(193fa835) SHA1(fb1f26db7998b0bb6b1c8b92500c1596ec5dfc71) )
8106
8107   NEO_SFIX_128K( "299-s1.bin", CRC(6f8b9635) SHA1(86b0c8c0ccac913c6192ed6a96c35d4e1a5e8061) )
8108
8109   NEO_BIOS_AUDIO_512K( "256-m1.m1", CRC(eaeec116) SHA1(54419dbb21edc8c4b37eaac2e7ad9496d2de037a) ) /* mask rom TC534000 */
8110
8111   ROM_REGION( 0x1000000, "ymsnd", 0 )
8112   ROM_LOAD( "256-v1.v1", 0x000000, 0x400000, CRC(f2690241) SHA1(fd56babc1934d10e0d27c32f032f9edda7ca8ce9) ) /* TC5332204 */
8113   ROM_LOAD( "256-v2.v2", 0x400000, 0x400000, CRC(7e2a10bd) SHA1(0d587fb9f64cba0315ce2d8a03e2b8fe34936dff) ) /* TC5332204 */
8114   ROM_LOAD( "256-v3.v3", 0x800000, 0x400000, CRC(0eaec17c) SHA1(c3ed613cc6993edd6fc0d62a90bcd85de8e21915) ) /* TC5332204 */
8115   ROM_LOAD( "256-v4.v4", 0xc00000, 0x400000, CRC(9b4b22d4) SHA1(9764fbf8453e52f80aa97a46fb9cf5937ef15a31) ) /* TC5332204 */
8116
8117   NO_DELTAT_REGION
8118
8119   ROM_REGION( 0x4000000, "sprites", 0 )
8120   /* Encrypted */
8121   ROM_LOAD16_BYTE( "256-c1.c1", 0x0000000, 0x800000, CRC(5a79c34e) SHA1(b8aa51fa50935cae62ab3d125b723ab888691e60) ) /* Plane 0,1 */ /* TC5364205 */
8122   ROM_LOAD16_BYTE( "256-c2.c2", 0x0000001, 0x800000, CRC(944c362c) SHA1(3843ab300f956280475469caee70135658f67089) ) /* Plane 2,3 */ /* TC5364205 */
8123   ROM_LOAD16_BYTE( "256-c3.c3", 0x1000000, 0x800000, CRC(6e69d36f) SHA1(94e8cf42e999114b4bd8b30e0aa2f365578c4c9a) ) /* Plane 0,1 */ /* TC5364205 */
8124   ROM_LOAD16_BYTE( "256-c4.c4", 0x1000001, 0x800000, CRC(b755b4eb) SHA1(804700a0966a48f130c434ede3f970792ea74fa5) ) /* Plane 2,3 */ /* TC5364205 */
8125   ROM_LOAD16_BYTE( "256-c5.c5", 0x2000000, 0x800000, CRC(7aacab47) SHA1(312c1c9846175fe1a3cad51d5ae230cf674fc93d) ) /* Plane 0,1 */ /* TC5364205 */
8126   ROM_LOAD16_BYTE( "256-c6.c6", 0x2000001, 0x800000, CRC(c698fd5d) SHA1(16818883b06849ba2f8d61bdd5e21aaf99bd8408) ) /* Plane 2,3 */ /* TC5364205 */
8127   ROM_LOAD16_BYTE( "256-c7.c7", 0x3000000, 0x800000, CRC(cfceddd2) SHA1(7def666adf8bd1703f40c61f182fc040b6362dc9) ) /* Plane 0,1 */ /* TC5364205 */
8128   ROM_LOAD16_BYTE( "256-c8.c8", 0x3000001, 0x800000, CRC(4d9be34c) SHA1(a737bdfa2b815aea7067e7af2636e83a9409c414) ) /* Plane 2,3 */ /* TC5364205 */
8129ROM_END
8130
8131/* Nightmare in the Dark bootleg */
8132
8133ROM_START( nitdbl )
8134   ROM_REGION( 0x100000, "maincpu", 0 )
8135   ROM_LOAD16_WORD_SWAP( "nitd-p1.bin", 0x000000, 0x080000, CRC(1a05bd1b) SHA1(7bbddef842d50b0778711063af695b168a76ff61) )
8136
8137   NEO_SFIX_128K( "nitd-s1.bin", CRC(dd3bf47c) SHA1(881271caee6508b8be51bf1b59c8f1e58e08e551) )
8138
8139   /* Bootleg m1 is 128k, data is identical */
8140   NEO_BIOS_AUDIO_512K( "260-m1.m1", CRC(6407c5e5) SHA1(d273e154cc905b63205a17a1a6d419cac3485a92) ) /* TC534000 */
8141
8142   ROM_REGION( 0x400000, "ymsnd", 0 )
8143   ROM_LOAD( "nitd-v1.bin", 0x000000, 0x200000, CRC(79008868) SHA1(90bd6aaefd37341297ab1f4ae7246e52facd87d0) )
8144   ROM_LOAD( "nitd-v2.bin", 0x200000, 0x200000, CRC(728558F9) SHA1(309aa7c933c199b2e540a601b363e7af8744fe00) )
8145
8146   NO_DELTAT_REGION
8147
8148   ROM_REGION( 0x800000, "sprites", 0 )
8149   ROM_LOAD16_BYTE( "nitd-c1.bin", 0x000000, 0x200000, CRC(b4353190) SHA1(90d5352e243a05f5c2be4fa7475667bb56e78016) ) /* Plane 0,1 */
8150   ROM_LOAD16_BYTE( "nitd-c2.bin", 0x000001, 0x200000, CRC(6e27511f) SHA1(1fc5cf7786ad0f0bc7b1623acabe605ad04af3c1) ) /* Plane 2,3 */
8151   ROM_LOAD16_BYTE( "nitd-c3.bin", 0x400000, 0x200000, CRC(472cf075) SHA1(7cdd25019e37a3d127e68a4179c051881df19afa) ) /* Plane 0,1 */
8152   ROM_LOAD16_BYTE( "nitd-c4.bin", 0x400001, 0x200000, CRC(4c3926e6) SHA1(7fc54a9886dbef911f7b226e3cd20081c535e989) ) /* Plane 2,3 */
8153ROM_END
8154
8155/* The King of Fighters 2001 bootlegs */
8156
8157ROM_START( cthd2003 ) /* Protected hack/bootleg of kof2001 Phenixsoft */
8158   ROM_REGION( 0x500000, "maincpu", 0 )
8159   ROM_LOAD16_WORD_SWAP( "5003-p1.bin", 0x000000, 0x100000, CRC(bb7602c1) SHA1(abf329a40f34c88f7325b255e3bc090db1edaca4) )
8160   ROM_LOAD16_WORD_SWAP( "5003-p2.bin", 0x100000, 0x400000, CRC(adc1c22b) SHA1(271e0629989257a0d21d280c05df53df259414b1) )
8161
8162   NEO_SFIX_128K( "5003-s1.bin", CRC(5ba29aab) SHA1(e7ea67268a10243693bff722e6fd2276ca540acf) )
8163
8164   NEO_BIOS_AUDIO_128K( "5003-m1.bin", CRC(1a8c274b) SHA1(5f6f9c533f4a296a18c741ce59a69cf6f5c836b9) )
8165
8166   /* sound roms are identical to kof2001 */
8167   ROM_REGION( 0x1000000, "ymsnd", 0 )
8168   ROM_LOAD( "262-v1-08-e0.v1", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) ) /* mask rom TC5332204 */
8169   ROM_LOAD( "262-v2-08-e0.v2", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) ) /* mask rom TC5332204 */
8170   ROM_LOAD( "262-v3-08-e0.v3", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) ) /* mask rom TC5332204 */
8171   ROM_LOAD( "262-v4-08-e0.v4", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) ) /* mask rom TC5332204 */
8172
8173   NO_DELTAT_REGION
8174
8175   ROM_REGION( 0x4000000, "sprites", 0 )
8176   /* Encrypted */
8177   ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) ) /* Plane 0,1 */
8178   ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) ) /* Plane 2,3 */
8179   ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) ) /* Plane 0,1 */
8180   ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) ) /* Plane 2,3 */
8181   ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) ) /* Plane 0,1 */
8182   ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) ) /* Plane 2,3 */
8183   ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) ) /* Plane 0,1 */
8184   ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) ) /* Plane 2,3 */
8185ROM_END
8186
8187ROM_START( ct2k3sp ) /* Protected hack/bootleg of kof2001 Phenixsoft */
8188   ROM_REGION( 0x500000, "maincpu", 0 )
8189   ROM_LOAD16_WORD_SWAP( "5003-p1sp.bin", 0x000000, 0x100000, CRC(ab5c4de0) SHA1(ca9a6bfd4c32d791ecabb34ccbf2cbf0e84f97d5) )
8190   ROM_LOAD16_WORD_SWAP( "5003-p2.bin",   0x100000, 0x400000, CRC(adc1c22b) SHA1(271e0629989257a0d21d280c05df53df259414b1) )
8191
8192   ROM_Y_ZOOM
8193
8194   ROM_REGION( 0x40000, "fixed", 0 )
8195   ROM_LOAD( "5003-s1sp.bin", 0x00000, 0x40000, CRC(6c355ab4) SHA1(71ac2bcd3dbda8402baecc56dabc2297b148a900) )
8196   ROM_REGION( 0x20000, "fixedbios", 0 )
8197   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8198
8199   NEO_BIOS_AUDIO_128K( "5003-m1.bin", CRC(1a8c274b) SHA1(5f6f9c533f4a296a18c741ce59a69cf6f5c836b9) )
8200
8201   /* sound roms are identical to kof2001 */
8202   ROM_REGION( 0x1000000, "ymsnd", 0 )
8203   ROM_LOAD( "262-v1-08-e0.v1", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) ) /* mask rom TC5332204 */
8204   ROM_LOAD( "262-v2-08-e0.v2", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) ) /* mask rom TC5332204 */
8205   ROM_LOAD( "262-v3-08-e0.v3", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) ) /* mask rom TC5332204 */
8206   ROM_LOAD( "262-v4-08-e0.v4", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) ) /* mask rom TC5332204 */
8207
8208   NO_DELTAT_REGION
8209
8210   ROM_REGION( 0x4000000, "sprites", 0 )
8211   /* Encrypted */
8212   ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) ) /* Plane 0,1 */
8213   ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) ) /* Plane 2,3 */
8214   ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) ) /* Plane 0,1 */
8215   ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) ) /* Plane 2,3 */
8216   ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) ) /* Plane 0,1 */
8217   ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) ) /* Plane 2,3 */
8218   ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) ) /* Plane 0,1 */
8219   ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) ) /* Plane 2,3 */
8220ROM_END
8221
8222ROM_START( ct2k3sa ) /* Protected hack/bootleg of kof2001 Phenixsoft, alternate version */
8223   ROM_REGION( 0x500000, "maincpu", 0 )
8224   ROM_LOAD16_WORD_SWAP( "5003-p1sa.bin", 0x000000, 0x100000, CRC(013a509d) SHA1(c61c9b777e6e062b5f4ad87cdb78e9ca05e9bfb9) )
8225   ROM_LOAD16_WORD_SWAP( "5003-p2.bin",   0x100000, 0x400000, CRC(adc1c22b) SHA1(271e0629989257a0d21d280c05df53df259414b1) )
8226
8227   ROM_Y_ZOOM
8228
8229   ROM_REGION( 0x20000, "fixed", 0 )
8230   ROM_LOAD( "5003-s1sa.bin", 0x00000, 0x20000, CRC(4e1f7eae) SHA1(3302ad290804272447ccd2e8edd3ce968f043db1) )
8231   /* S1 needs redump, correct? */
8232   ROM_REGION( 0x20000, "fixedbios", 0 )
8233   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8234
8235   NEO_BIOS_AUDIO_128K( "5003-m1.bin", CRC(1a8c274b) SHA1(5f6f9c533f4a296a18c741ce59a69cf6f5c836b9) )
8236
8237   /* Original set has 2x64 mbit sound roms */
8238   ROM_REGION( 0x1000000, "ymsnd", 0 )
8239   ROM_LOAD( "262-v1-08-e0.v1", 0x000000, 0x400000, CRC(83d49ecf) SHA1(2f2c116e45397652e77fcf5d951fa5f71b639572) ) /* mask rom TC5332204 */
8240   ROM_LOAD( "262-v2-08-e0.v2", 0x400000, 0x400000, CRC(003f1843) SHA1(bdd58837ad542548bd4053c262f558af88e3b989) ) /* mask rom TC5332204 */
8241   ROM_LOAD( "262-v3-08-e0.v3", 0x800000, 0x400000, CRC(2ae38dbe) SHA1(4e82b7dd3b899d61907620517a5a27bdaba0725d) ) /* mask rom TC5332204 */
8242   ROM_LOAD( "262-v4-08-e0.v4", 0xc00000, 0x400000, CRC(26ec4dd9) SHA1(8bd68d95a2d913be41a51f51e48dbe3bff5924fb) ) /* mask rom TC5332204 */
8243
8244   NO_DELTAT_REGION
8245
8246   ROM_REGION( 0x4000000, "sprites", 0 )
8247   /* Encrypted */
8248   ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, CRC(68f54b67) SHA1(e2869709b11ea2846799fe431211c83e928e103e) ) /* Plane 0,1 */
8249   ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, CRC(2f8849d5) SHA1(7ef74981aa056f5acab4ddabffd3e98b4cb970be) ) /* Plane 2,3 */
8250   ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, CRC(ac4aff71) SHA1(c983f642e68deaa40fee3e208f2dd55f3bacbdc1) ) /* Plane 0,1 */
8251   ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, CRC(afef5d66) SHA1(39fe785563fbea54bba88de60dcc62e2458bd74a) ) /* Plane 2,3 */
8252   ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, CRC(c7c1ae50) SHA1(f54f5be7513a5ce2f01ab107a2b26f6a9ee1f2a9) ) /* Plane 0,1 */
8253   ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, CRC(613197f9) SHA1(6d1fefa1be81b79e251e55a1352544c0298e4674) ) /* Plane 2,3 */
8254   ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, CRC(64ddfe0f) SHA1(361f3f4618009bf6419961266eb9ab5002bef53c) ) /* Plane 0,1 */
8255   ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, CRC(917a1439) SHA1(6f28d1d7c6edee1283f25e632c69204dbebe40af) ) /* Plane 2,3 */
8256ROM_END
8257
8258/* Metal Slug 4 bootleg */
8259
8260ROM_START( ms4plus )
8261   ROM_REGION( 0x500000, "maincpu", 0 )
8262   ROM_LOAD16_WORD_SWAP( "ms4-p1p.bin", 0x000000, 0x100000, CRC(806a6e04) SHA1(df503772d607271ea51285154c9fd68e18b143ce) )
8263   ROM_LOAD16_WORD_SWAP( "263-p2.sp2",  0x100000, 0x400000, CRC(fdb7aed8) SHA1(dbeaec38f44e58ffedba99e70fa1439c2bf0dfa3) ) /* mask rom TC5332205 */
8264
8265   NEO_SFIX_128K( "ms4-s1p.bin", CRC(07ff87ce) SHA1(96ddb439de2a26bf9869015d7fb19129d40f3fd9) )
8266
8267   /* Encrypted */
8268   NEO_BIOS_AUDIO_ENCRYPTED_128K( "263-m1.m1", CRC(46ac8228) SHA1(5aeea221050c98e4bb0f16489ce772bf1c80f787) ) /* mask rom TC531001 */
8269
8270   ROM_REGION( 0x1000000, "ymsnd", 0 )
8271   /* Encrypted */
8272   ROM_LOAD( "263-v1.v1", 0x000000, 0x800000, CRC(01e9b9cd) SHA1(0b045c2999449f7dab5ae8a42e957d5b6650431e) ) /* mask rom TC5364205 */
8273   ROM_LOAD( "263-v2.v2", 0x800000, 0x800000, CRC(4ab2bf81) SHA1(77ccfa48f7e3daddef5fe5229a0093eb2f803742) ) /* mask rom TC5364205 */
8274
8275   NO_DELTAT_REGION
8276
8277   ROM_REGION( 0x3000000, "sprites", 0 )
8278   /* Encrypted */
8279   ROM_LOAD16_BYTE( "263-c1.c1", 0x0000000, 0x800000, CRC(84865f8a) SHA1(34467ada896eb7c7ca58658bf2a932936d8b632c) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8280   ROM_LOAD16_BYTE( "263-c2.c2", 0x0000001, 0x800000, CRC(81df97f2) SHA1(2b74493b8ec8fd49216a627aeb3db493f76124e3) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8281   ROM_LOAD16_BYTE( "263-c3.c3", 0x1000000, 0x800000, CRC(1a343323) SHA1(bbbb5232bba538c277ce2ee02e2956ca2243b787) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8282   ROM_LOAD16_BYTE( "263-c4.c4", 0x1000001, 0x800000, CRC(942cfb44) SHA1(d9b46c71726383c4581fb042e63897e5a3c92d1b) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8283   ROM_LOAD16_BYTE( "263-c5.c5", 0x2000000, 0x800000, CRC(a748854f) SHA1(2611bbedf9b5d8e82c6b2c99b88f842c46434d41) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8284   ROM_LOAD16_BYTE( "263-c6.c6", 0x2000001, 0x800000, CRC(5c8ba116) SHA1(6034db09c8706d4ddbcefc053efbc47a0953eb92) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8285ROM_END
8286
8287/* The King of Fighters 2002 bootlegs */
8288
8289ROM_START( kof2002b )
8290   ROM_REGION( 0x500000, "maincpu", 0 )
8291   ROM_LOAD16_WORD_SWAP( "265-p1.p1",  0x000000, 0x100000, CRC(9ede7323) SHA1(ad9d45498777fda9fa58e75781f48e09aee705a6) ) /* mask rom TC538200 */
8292   ROM_LOAD16_WORD_SWAP( "2k2-p2.bin", 0x100000, 0x400000, CRC(6dbee4df) SHA1(9a9646c81b233b44213c624b898c19f83e9a07f8) )
8293
8294   NEO_SFIX_128K( "2k2-s1.bin", CRC(2255f5bf) SHA1(8a82b3e9717df30b580b9d0bac0b403f8102a002) )
8295
8296   /* Encrypted */
8297   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
8298
8299   ROM_REGION( 0x1000000, "ymsnd", 0 )
8300   /* Encrypted */
8301   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
8302   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
8303
8304   NO_DELTAT_REGION
8305
8306   ROM_REGION( 0x4000000, "sprites", 0 )
8307   ROM_LOAD16_BYTE( "2k2-c1.bin", 0x0000000, 0x800000, CRC(f25d3d66) SHA1(eb1da3e171c126d91e851ce141840709a2f62f8a) ) /* Plane 0,1 */
8308   ROM_LOAD16_BYTE( "2k2-c2.bin", 0x0000001, 0x800000, CRC(e3e66f1d) SHA1(af93e9e134816353d6187a53959c6e418b83ad8d) ) /* Plane 2,3 */
8309   ROM_LOAD16_BYTE( "2k2-c3.bin", 0x1000000, 0x800000, CRC(8732fa30) SHA1(81c482b375c04bcfbbc69e3e2a2e9ab567c9bb78) ) /* Plane 0,1 */
8310   ROM_LOAD16_BYTE( "2k2-c4.bin", 0x1000001, 0x800000, CRC(0989fd40) SHA1(355d6b2c528319e41ce89952c5cf5bcc47cd6de0) ) /* Plane 2,3 */
8311   ROM_LOAD16_BYTE( "2k2-c5.bin", 0x2000000, 0x800000, CRC(60635cd2) SHA1(0cf2c54e003edfcdbed64e0570e6b800e7ed3c1b) ) /* Plane 0,1 */
8312   ROM_LOAD16_BYTE( "2k2-c6.bin", 0x2000001, 0x800000, CRC(bd736824) SHA1(d897fc8248ace145fef57d8aa393eaebc4a1ccc4) ) /* Plane 2,3 */
8313   ROM_LOAD16_BYTE( "2k2-c7.bin", 0x3000000, 0x800000, CRC(2da8d8cf) SHA1(ab8aa88b8e1baba88e5fc01d0f3cb55503b6c81a) ) /* Plane 0,1 */
8314   ROM_LOAD16_BYTE( "2k2-c8.bin", 0x3000001, 0x800000, CRC(2048404a) SHA1(d6d0f049ffc196334825328e0472b04e04bf6695) ) /* Plane 2,3 */
8315ROM_END
8316
8317ROM_START( kf2k2pls )
8318   ROM_REGION( 0x500000, "maincpu", 0 )
8319   ROM_LOAD16_WORD_SWAP( "2k2-p1p.bin", 0x000000, 0x100000, CRC(3ab03781) SHA1(86946c19f1c4d9ab5cde86688d698bf63118a39d) )
8320   ROM_LOAD16_WORD_SWAP( "265-p2.sp2",  0x100000, 0x400000, CRC(327266b8) SHA1(98f445cc0a94f8744d74bca71cb420277622b034) ) /* mask rom TC5332205 */
8321
8322   NEO_SFIX_128K( "2k2-s1p.bin", CRC(595e0006) SHA1(ff086bdaa6f40e9ad963e1100a27f44618d684ed) )
8323
8324   /* Encrypted */
8325   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
8326
8327   ROM_REGION( 0x1000000, "ymsnd", 0 )
8328   /* Encrypted */
8329   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
8330   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
8331
8332   NO_DELTAT_REGION
8333
8334   ROM_REGION( 0x4000000, "sprites", 0 )
8335   /* Encrypted */
8336   ROM_LOAD16_BYTE( "265-c1.c1", 0x0000000, 0x800000, CRC(2b65a656) SHA1(9c46d8cf5b1ef322db442ac6a9b9406ab49206c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8337   ROM_LOAD16_BYTE( "265-c2.c2", 0x0000001, 0x800000, CRC(adf18983) SHA1(150cd4a5e51e9df88688469d2ea7675c2cf3658a) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8338   ROM_LOAD16_BYTE( "265-c3.c3", 0x1000000, 0x800000, CRC(875e9fd7) SHA1(28f52d56192d48bbc5dc3c97abf456bd34a58cbd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8339   ROM_LOAD16_BYTE( "265-c4.c4", 0x1000001, 0x800000, CRC(2da13947) SHA1(f8d79ec2c236aa3d3648a4f715676899602122c1) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8340   ROM_LOAD16_BYTE( "265-c5.c5", 0x2000000, 0x800000, CRC(61bd165d) SHA1(b3424db84bc683d858fb635bc42728f9cdd89caf) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8341   ROM_LOAD16_BYTE( "265-c6.c6", 0x2000001, 0x800000, CRC(03fdd1eb) SHA1(6155c7e802062f4eafa27e414c4e73ee59b868bf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8342   ROM_LOAD16_BYTE( "265-c7.c7", 0x3000000, 0x800000, CRC(1a2749d8) SHA1(af7d9ec1d576209826fa568f676bbff92f6d6ddd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8343   ROM_LOAD16_BYTE( "265-c8.c8", 0x3000001, 0x800000, CRC(ab0bb549) SHA1(d23afb60b7f831f7d4a98ad3c4a00ee19877a1ce) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8344ROM_END
8345
8346ROM_START( kf2k2pla )
8347   ROM_REGION( 0x500000, "maincpu", 0 )
8348   ROM_LOAD16_WORD_SWAP( "2k2-p1pa.bin", 0x000000, 0x100000, CRC(6a3a02f3) SHA1(c9973b64e9a87fa38dde233ee3e9a73ba085b013) )
8349   ROM_LOAD16_WORD_SWAP( "265-p2.sp2",   0x100000, 0x400000, CRC(327266b8) SHA1(98f445cc0a94f8744d74bca71cb420277622b034) ) /* mask rom TC5332205 */
8350
8351   NEO_SFIX_128K( "2k2-s1pa.bin", CRC(1a3ed064) SHA1(9749bb55c750e6b65d651998c2649c5fb68db68e))
8352
8353   /* Encrypted */
8354   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
8355
8356   ROM_REGION( 0x1000000, "ymsnd", 0 )
8357   /* Encrypted */
8358   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
8359   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
8360
8361   NO_DELTAT_REGION
8362
8363   ROM_REGION( 0x4000000, "sprites", 0 )
8364   /* Encrypted */
8365   ROM_LOAD16_BYTE( "265-c1.c1", 0x0000000, 0x800000, CRC(2b65a656) SHA1(9c46d8cf5b1ef322db442ac6a9b9406ab49206c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8366   ROM_LOAD16_BYTE( "265-c2.c2", 0x0000001, 0x800000, CRC(adf18983) SHA1(150cd4a5e51e9df88688469d2ea7675c2cf3658a) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8367   ROM_LOAD16_BYTE( "265-c3.c3", 0x1000000, 0x800000, CRC(875e9fd7) SHA1(28f52d56192d48bbc5dc3c97abf456bd34a58cbd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8368   ROM_LOAD16_BYTE( "265-c4.c4", 0x1000001, 0x800000, CRC(2da13947) SHA1(f8d79ec2c236aa3d3648a4f715676899602122c1) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8369   ROM_LOAD16_BYTE( "265-c5.c5", 0x2000000, 0x800000, CRC(61bd165d) SHA1(b3424db84bc683d858fb635bc42728f9cdd89caf) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8370   ROM_LOAD16_BYTE( "265-c6.c6", 0x2000001, 0x800000, CRC(03fdd1eb) SHA1(6155c7e802062f4eafa27e414c4e73ee59b868bf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8371   ROM_LOAD16_BYTE( "265-c7.c7", 0x3000000, 0x800000, CRC(1a2749d8) SHA1(af7d9ec1d576209826fa568f676bbff92f6d6ddd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8372   ROM_LOAD16_BYTE( "265-c8.c8", 0x3000001, 0x800000, CRC(ab0bb549) SHA1(d23afb60b7f831f7d4a98ad3c4a00ee19877a1ce) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8373ROM_END
8374
8375ROM_START( kf2k2mp )
8376   ROM_REGION( 0x800000, "maincpu", 0 )
8377   ROM_LOAD16_WORD_SWAP( "kf02m-p1.bin", 0x000000, 0x400000, CRC(ff7c6ec0) SHA1(704c14d671dcb4cfed44d9f978a289cb7dd9d065) )
8378   ROM_LOAD16_WORD_SWAP( "kf02m-p2.bin", 0x400000, 0x400000, CRC(91584716) SHA1(90da863037cf775957fa154cd42536e221df5740) )
8379
8380   NEO_SFIX_128K( "kf02m-s1.bin", CRC(348d6f2c) SHA1(586da8a936ebbb71af324339a4b60ec91dfa0990) )
8381
8382   /* Encrypted */
8383   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
8384
8385   ROM_REGION( 0x1000000, "ymsnd", 0 )
8386   /* Encrypted */
8387   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
8388   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
8389
8390   ROM_REGION( 0x4000000, "sprites", 0 )
8391   /* Encrypted */
8392   ROM_LOAD16_BYTE( "265-c1.c1", 0x0000000, 0x800000, CRC(2b65a656) SHA1(9c46d8cf5b1ef322db442ac6a9b9406ab49206c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8393   ROM_LOAD16_BYTE( "265-c2.c2", 0x0000001, 0x800000, CRC(adf18983) SHA1(150cd4a5e51e9df88688469d2ea7675c2cf3658a) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8394   ROM_LOAD16_BYTE( "265-c3.c3", 0x1000000, 0x800000, CRC(875e9fd7) SHA1(28f52d56192d48bbc5dc3c97abf456bd34a58cbd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8395   ROM_LOAD16_BYTE( "265-c4.c4", 0x1000001, 0x800000, CRC(2da13947) SHA1(f8d79ec2c236aa3d3648a4f715676899602122c1) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8396   ROM_LOAD16_BYTE( "265-c5.c5", 0x2000000, 0x800000, CRC(61bd165d) SHA1(b3424db84bc683d858fb635bc42728f9cdd89caf) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8397   ROM_LOAD16_BYTE( "265-c6.c6", 0x2000001, 0x800000, CRC(03fdd1eb) SHA1(6155c7e802062f4eafa27e414c4e73ee59b868bf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8398   ROM_LOAD16_BYTE( "265-c7.c7", 0x3000000, 0x800000, CRC(1a2749d8) SHA1(af7d9ec1d576209826fa568f676bbff92f6d6ddd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8399   ROM_LOAD16_BYTE( "265-c8.c8", 0x3000001, 0x800000, CRC(ab0bb549) SHA1(d23afb60b7f831f7d4a98ad3c4a00ee19877a1ce) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8400ROM_END
8401
8402ROM_START( kf2k2mp2 )
8403   ROM_REGION( 0x600000, "maincpu", 0 )
8404   ROM_LOAD16_WORD_SWAP( "k2k2m2p1.bin", 0x000000, 0x200000, CRC(1016806c) SHA1(a583b45e9c0d6f67b95c52e44444aabe88f68d97) )
8405   ROM_LOAD16_WORD_SWAP( "k2k2m2p2.bin", 0x200000, 0x400000, CRC(432fdf53) SHA1(d7e542cd84d948162c60768e40ee4ed33d8e7913) )
8406
8407   NEO_SFIX_128K( "k2k2m2s1.bin", CRC(446e74c5) SHA1(efc2afb26578bad9eb21659c70eb0f827d6d1ef6) )
8408
8409   /* Encrypted */
8410   NEO_BIOS_AUDIO_ENCRYPTED_128K( "265-m1.m1", CRC(85aaa632) SHA1(744fba4ca3bc3a5873838af886efb97a8a316104) ) /* mask rom TC531001 */
8411
8412   ROM_REGION( 0x1000000, "ymsnd", 0 )
8413   /* Encrypted */
8414   ROM_LOAD( "265-v1.v1", 0x000000, 0x800000, CRC(15e8f3f5) SHA1(7c9e6426b9fa6db0158baa17a6485ffce057d889) ) /* mask rom TC5364205 */
8415   ROM_LOAD( "265-v2.v2", 0x800000, 0x800000, CRC(da41d6f9) SHA1(a43021f1e58947dcbe3c8ca5283b20b649f0409d) ) /* mask rom TC5364205 */
8416
8417   ROM_REGION( 0x4000000, "sprites", 0 )
8418   /* Encrypted */
8419   ROM_LOAD16_BYTE( "265-c1.c1", 0x0000000, 0x800000, CRC(2b65a656) SHA1(9c46d8cf5b1ef322db442ac6a9b9406ab49206c5) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8420   ROM_LOAD16_BYTE( "265-c2.c2", 0x0000001, 0x800000, CRC(adf18983) SHA1(150cd4a5e51e9df88688469d2ea7675c2cf3658a) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8421   ROM_LOAD16_BYTE( "265-c3.c3", 0x1000000, 0x800000, CRC(875e9fd7) SHA1(28f52d56192d48bbc5dc3c97abf456bd34a58cbd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8422   ROM_LOAD16_BYTE( "265-c4.c4", 0x1000001, 0x800000, CRC(2da13947) SHA1(f8d79ec2c236aa3d3648a4f715676899602122c1) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8423   ROM_LOAD16_BYTE( "265-c5.c5", 0x2000000, 0x800000, CRC(61bd165d) SHA1(b3424db84bc683d858fb635bc42728f9cdd89caf) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8424   ROM_LOAD16_BYTE( "265-c6.c6", 0x2000001, 0x800000, CRC(03fdd1eb) SHA1(6155c7e802062f4eafa27e414c4e73ee59b868bf) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8425   ROM_LOAD16_BYTE( "265-c7.c7", 0x3000000, 0x800000, CRC(1a2749d8) SHA1(af7d9ec1d576209826fa568f676bbff92f6d6ddd) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8426   ROM_LOAD16_BYTE( "265-c8.c8", 0x3000001, 0x800000, CRC(ab0bb549) SHA1(d23afb60b7f831f7d4a98ad3c4a00ee19877a1ce) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8427ROM_END
8428
8429ROM_START( kof10th )
8430   ROM_REGION( 0x900000, "maincpu", 0 ) // Modified
8431   ROM_LOAD16_WORD_SWAP( "kf10-p1.bin", 0x000000, 0x800000, CRC(b1fd0c43) SHA1(5f842a8a27be2d957fd4140d6431ae47154997bb) )
8432
8433   ROM_Y_ZOOM
8434
8435   ROM_REGION( 0x40000, "fixed", 0 ) // modified
8436   ROM_FILL( 0x000000, 0x40000, 0 ) // modified
8437   ROM_REGION( 0x20000, "fixedbios", 0 )
8438   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8439
8440   NEO_BIOS_AUDIO_128K( "kf10-m1.bin", CRC(f6fab859) SHA1(0184aa1394b9f9946d610278b53b846020dd88dc) )
8441
8442   ROM_REGION( 0x1000000, "ymsnd", 0 )
8443   ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, CRC(0fc9a58d) SHA1(9d79ef00e2c2abd9f29af5521c2fbe5798bf336f) )
8444   ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, CRC(b8c475a4) SHA1(10caf9c69927a223445d2c4b147864c02ce520a8) )
8445
8446   NO_DELTAT_REGION
8447
8448   ROM_REGION( 0x4000000, "sprites", 0 )
8449   ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, CRC(3bbc0364) SHA1(e8aa7ff82f151ce1db56f259377b64cceef85af0) ) /* Plane 0,1 */
8450   ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, CRC(91230075) SHA1(d9098e05a7ba6008661147b6bf8bc2f494b8b72b) ) /* Plane 2,3 */
8451   ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, CRC(b5abfc28) SHA1(eabf60992bb3485c95330065294071ec155bfe7c) ) /* Plane 0,1 */
8452   ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, CRC(6cc4c6e1) SHA1(be824a944e745ee18efdc45c81fd496a4d624b9c) ) /* Plane 2,3 */
8453   ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, CRC(5b3d4a16) SHA1(93ac1cd7739100f8c32732644f81f2a19837b131) ) /* Plane 0,1 */
8454   ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, CRC(c6f3419b) SHA1(340c17a73aeb7bf8a6209f8459e6f00000075b50) ) /* Plane 2,3 */
8455   ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, CRC(9d2bba19) SHA1(5ebbd0af3f83a60e33c8ccb743e3d5f5a96f1273) ) /* Plane 0,1 */
8456   ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, CRC(5a4050cb) SHA1(8fd2291f349efa1ed5cd37ad4e273b60fe831a77) ) /* Plane 2,3 */
8457   ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, CRC(a289d1e1) SHA1(50c7d7ebde6e118a01036cc3e40827fcd9f0d3fd) ) /* Plane 0,1 */
8458   ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, CRC(e6494b5d) SHA1(18e064b9867ae0b0794065f8dbefd486620419db) ) /* Plane 2,3 */
8459   ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, CRC(404fff02) SHA1(56d1b32c87ea4885e49264e8b21846e465a20e1f) ) /* Plane 0,1 */
8460   ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, CRC(f2ccfc9e) SHA1(69db7fac7023785ab94ea711a72dbc2826cfe1a3) ) /* Plane 2,3 */
8461   ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, CRC(be79c5a8) SHA1(ded3c5eb3571647f50533eb682c2675372ace3fb) ) /* Plane 0,1 */
8462   ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, CRC(a5952ca4) SHA1(76dbb3cb45ce5a4beffa1ed29491204fc6617e42) ) /* Plane 2,3 */
8463   ROM_LOAD16_BYTE( "kf10-c7b.bin", 0x3800000, 0x400000, CRC(3fdb3542) SHA1(7d2050752a2064cd6729f483a0da93808e2c6033) ) /* Plane 0,1 */
8464   ROM_LOAD16_BYTE( "kf10-c8b.bin", 0x3800001, 0x400000, CRC(661b7a52) SHA1(0ae2ad2389134892f156337332b77adade3ddad1) ) /* Plane 2,3 */
8465ROM_END
8466
8467ROM_START( kf10thep ) /* this is a hack of kof2002 much like the various korean hacks / bootlegs of games */
8468   ROM_REGION( 0x800000, "maincpu", 0 )
8469   ROM_LOAD16_WORD_SWAP( "5008-p2.bin", 0x100000, 0x400000, CRC(a649ec38) SHA1(5c63ed5e5c848940f587c966da4908d04cf1293c) )
8470   ROM_LOAD16_WORD_SWAP( "5008-p3.bin", 0x500000, 0x200000, CRC(e629e13c) SHA1(6ebe080ce01c51064cb2f4d89315ba98a45ae727) )
8471
8472   ROM_REGION( 0x200000, "audiocrypt", 0 )
8473   ROM_LOAD( "5008-p1.bin", 0x000000, 0x200000, CRC(bf5469ba) SHA1(f05236d8fffab5836c0d27becdeeb80def32ee49) )
8474
8475   NEO_SFIX_128K( "5008-s1.bin", CRC(92410064) SHA1(1fb800b46341858207d3b6961a760289fbec7faa) )
8476
8477   NEO_BIOS_AUDIO_128K( "5008-m1.bin", CRC(5a47d9ad) SHA1(0197737934653acc6c97221660d789e9914f3578) )
8478   //NEO_BIOS_AUDIO_128K( "5004-m1.bin", CRC(f6fab859) SHA1(0184aa1394b9f9946d610278b53b846020dd88dc) )
8479
8480   ROM_REGION( 0x1000000, "ymsnd", 0 )
8481   ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, CRC(0fc9a58d) SHA1(9d79ef00e2c2abd9f29af5521c2fbe5798bf336f) )
8482   ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, CRC(b8c475a4) SHA1(10caf9c69927a223445d2c4b147864c02ce520a8) )
8483
8484   NO_DELTAT_REGION
8485
8486   ROM_REGION( 0x4000000, "sprites", 0 )
8487   ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, CRC(3bbc0364) SHA1(e8aa7ff82f151ce1db56f259377b64cceef85af0) ) /* Plane 0,1 */
8488   ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, CRC(91230075) SHA1(d9098e05a7ba6008661147b6bf8bc2f494b8b72b) ) /* Plane 2,3 */
8489   ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, CRC(b5abfc28) SHA1(eabf60992bb3485c95330065294071ec155bfe7c) ) /* Plane 0,1 */
8490   ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, CRC(6cc4c6e1) SHA1(be824a944e745ee18efdc45c81fd496a4d624b9c) ) /* Plane 2,3 */
8491   ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, CRC(5b3d4a16) SHA1(93ac1cd7739100f8c32732644f81f2a19837b131) ) /* Plane 0,1 */
8492   ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, CRC(c6f3419b) SHA1(340c17a73aeb7bf8a6209f8459e6f00000075b50) ) /* Plane 2,3 */
8493   ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, CRC(9d2bba19) SHA1(5ebbd0af3f83a60e33c8ccb743e3d5f5a96f1273) ) /* Plane 0,1 */
8494   ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, CRC(5a4050cb) SHA1(8fd2291f349efa1ed5cd37ad4e273b60fe831a77) ) /* Plane 2,3 */
8495   ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, CRC(a289d1e1) SHA1(50c7d7ebde6e118a01036cc3e40827fcd9f0d3fd) ) /* Plane 0,1 */
8496   ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, CRC(e6494b5d) SHA1(18e064b9867ae0b0794065f8dbefd486620419db) ) /* Plane 2,3 */
8497   ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, CRC(404fff02) SHA1(56d1b32c87ea4885e49264e8b21846e465a20e1f) ) /* Plane 0,1 */
8498   ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, CRC(f2ccfc9e) SHA1(69db7fac7023785ab94ea711a72dbc2826cfe1a3) ) /* Plane 2,3 */
8499   ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, CRC(be79c5a8) SHA1(ded3c5eb3571647f50533eb682c2675372ace3fb) ) /* Plane 0,1 */
8500   ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, CRC(a5952ca4) SHA1(76dbb3cb45ce5a4beffa1ed29491204fc6617e42) ) /* Plane 2,3 */
8501   ROM_LOAD16_BYTE( "5008-c7b.bin", 0x3800000, 0x400000, CRC(33604ef0) SHA1(57deec23c81d5d673ce5992cef1f2567f1a2148e) ) /* Plane 0,1 */
8502   ROM_LOAD16_BYTE( "5008-c8b.bin", 0x3800001, 0x400000, CRC(51f6a8f8) SHA1(9ef1cdbdd125a2b430346c22b59f36902312905f) ) /* Plane 2,3 */
8503ROM_END
8504
8505ROM_START( kf2k5uni )
8506   ROM_REGION( 0x800000, "maincpu", 0 )
8507   ROM_LOAD16_WORD_SWAP( "5006-p2a.bin", 0x000000, 0x400000, CRC(ced883a2) SHA1(f93db4d74ce0a73a3e9631966fee37be22470c89) )
8508   ROM_LOAD16_WORD_SWAP( "5006-p1.bin",  0x400000, 0x400000, CRC(72c39c46) SHA1(4ba0657de20319c0bc30c7c3bba7d7331d0ce9a7) )
8509
8510   NEO_SFIX_128K( "5006-s1.bin", CRC(91f8c544) SHA1(9d16cafb9ca4bc54f31f7fd82b1be06ec8b11c79) )
8511
8512   NEO_BIOS_AUDIO_128K( "5006-m1.bin", CRC(9050bfe7) SHA1(765bf3d954f775231b7ef2504bb844cd0b29e3f7) )
8513
8514   ROM_REGION( 0x1000000, "ymsnd", 0 )
8515   ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, CRC(0fc9a58d) SHA1(9d79ef00e2c2abd9f29af5521c2fbe5798bf336f) )
8516   ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, CRC(b8c475a4) SHA1(10caf9c69927a223445d2c4b147864c02ce520a8) )
8517
8518   ROM_REGION( 0x4000000, "sprites", 0 )
8519   ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, CRC(3bbc0364) SHA1(e8aa7ff82f151ce1db56f259377b64cceef85af0) ) /* Plane 0,1 */
8520   ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, CRC(91230075) SHA1(d9098e05a7ba6008661147b6bf8bc2f494b8b72b) ) /* Plane 2,3 */
8521   ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, CRC(b5abfc28) SHA1(eabf60992bb3485c95330065294071ec155bfe7c) ) /* Plane 0,1 */
8522   ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, CRC(6cc4c6e1) SHA1(be824a944e745ee18efdc45c81fd496a4d624b9c) ) /* Plane 2,3 */
8523   ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, CRC(5b3d4a16) SHA1(93ac1cd7739100f8c32732644f81f2a19837b131) ) /* Plane 0,1 */
8524   ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, CRC(c6f3419b) SHA1(340c17a73aeb7bf8a6209f8459e6f00000075b50) ) /* Plane 2,3 */
8525   ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, CRC(9d2bba19) SHA1(5ebbd0af3f83a60e33c8ccb743e3d5f5a96f1273) ) /* Plane 0,1 */
8526   ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, CRC(5a4050cb) SHA1(8fd2291f349efa1ed5cd37ad4e273b60fe831a77) ) /* Plane 2,3 */
8527   ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, CRC(a289d1e1) SHA1(50c7d7ebde6e118a01036cc3e40827fcd9f0d3fd) ) /* Plane 0,1 */
8528   ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, CRC(e6494b5d) SHA1(18e064b9867ae0b0794065f8dbefd486620419db) ) /* Plane 2,3 */
8529   ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, CRC(404fff02) SHA1(56d1b32c87ea4885e49264e8b21846e465a20e1f) ) /* Plane 0,1 */
8530   ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, CRC(f2ccfc9e) SHA1(69db7fac7023785ab94ea711a72dbc2826cfe1a3) ) /* Plane 2,3 */
8531   ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, CRC(be79c5a8) SHA1(ded3c5eb3571647f50533eb682c2675372ace3fb) ) /* Plane 0,1 */
8532   ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, CRC(a5952ca4) SHA1(76dbb3cb45ce5a4beffa1ed29491204fc6617e42) ) /* Plane 2,3 */
8533   ROM_LOAD16_BYTE( "kf10-c7b.bin", 0x3800000, 0x400000, CRC(3fdb3542) SHA1(7d2050752a2064cd6729f483a0da93808e2c6033) ) /* Plane 0,1 */
8534   ROM_LOAD16_BYTE( "kf10-c8b.bin", 0x3800001, 0x400000, CRC(661b7a52) SHA1(0ae2ad2389134892f156337332b77adade3ddad1) ) /* Plane 2,3 */
8535ROM_END
8536
8537ROM_START( kof2k4se )
8538   ROM_REGION( 0x500000, "maincpu", 0 )
8539   ROM_LOAD16_WORD_SWAP( "k2k4s-p2.bin", 0x000000, 0x080000, CRC(21a84084) SHA1(973e8a0bffa0e1f055803f663f81a8e03701802d) )
8540   ROM_LOAD16_WORD_SWAP( "k2k4s-p3.bin", 0x080000, 0x080000, CRC(febb484e) SHA1(4b1838795b84f22d578ad043641df0a7bf7d9774) )
8541   ROM_LOAD16_WORD_SWAP( "k2k4s-p1.bin", 0x100000, 0x400000, CRC(e6c50566) SHA1(cc6a3489a3bfeb4dcc65b6ddae0030f7e66fbabe) )
8542
8543   NEO_SFIX_128K( "k2k4s-s1.bin", CRC(a3c9b2d8) SHA1(1472d2cbd7bb73e84824ecf773924007e6117e77) )
8544
8545   NEO_BIOS_AUDIO_128K( "k2k4s-m1.bin", CRC(5a47d9ad) SHA1(0197737934653acc6c97221660d789e9914f3578) )
8546
8547   ROM_REGION( 0x1000000, "ymsnd", 0 )
8548   ROM_LOAD( "k2k4s-v2.bin", 0x000000, 0x800000, CRC(e4ddfb3f) SHA1(eb8220ab01c16cf9244b7f3f9912bec0db561b85) )
8549   ROM_LOAD( "k2k4s-v1.bin", 0x800000, 0x800000, CRC(b887d287) SHA1(f593a5722df6f6fac023d189a739a117e976bb2f) )
8550
8551   NO_DELTAT_REGION
8552
8553   ROM_REGION( 0x4000000, "sprites", 0 )
8554   ROM_LOAD16_BYTE( "k2k4s-c4.bin", 0x0000000, 0x800000, CRC(7a050288) SHA1(55a20c5b01e11a859f096af3f8e09986025d288f) ) /* Plane 0,1 */
8555   ROM_LOAD16_BYTE( "k2k4s-c8.bin", 0x0000001, 0x800000, CRC(e924afcf) SHA1(651e974f7339d2cdcfa58c5398013197a0525b77) ) /* Plane 2,3 */
8556   ROM_LOAD16_BYTE( "k2k4s-c3.bin", 0x1000000, 0x800000, CRC(959fad0b) SHA1(63ab83ddc5f688dc8165a7ff8d262df3fcd942a2) ) /* Plane 0,1 */
8557   ROM_LOAD16_BYTE( "k2k4s-c7.bin", 0x1000001, 0x800000, CRC(efe6a468) SHA1(2a414285e48aa948b5b0d4a9333bab083b5fb853) ) /* Plane 2,3 */
8558   ROM_LOAD16_BYTE( "k2k4s-c2.bin", 0x2000000, 0x800000, CRC(74bba7c6) SHA1(e01adc7a4633bc0951b9b4f09abc07d728e9a2d9) ) /* Plane 0,1 */
8559   ROM_LOAD16_BYTE( "k2k4s-c6.bin", 0x2000001, 0x800000, CRC(e20d2216) SHA1(5d28eea7b581e780b78f391a8179f1678ee0d9a5) ) /* Plane 2,3 */
8560   ROM_LOAD16_BYTE( "k2k4s-c1.bin", 0x3000000, 0x800000, CRC(fa705b2b) SHA1(f314c66876589601806352484dd8e45bc41be692) ) /* Plane 0,1 */
8561   ROM_LOAD16_BYTE( "k2k4s-c5.bin", 0x3000001, 0x800000, CRC(2c912ff9) SHA1(b624a625ea3e221808b7ea43fb0b1a51d8c1853e) ) /* Plane 2,3 */
8562ROM_END
8563
8564/* Matrimelee bootleg */
8565
8566ROM_START( matrimbl )
8567   ROM_REGION( 0x500000, "maincpu", 0 )
8568   ROM_LOAD16_WORD_SWAP( "266-p1.p1",  0x000000, 0x100000, CRC(5d4c2dc7) SHA1(8d723b0d28ec344eef26009b361a2b97d300dd51) ) /* mask rom TC538200 */
8569   ROM_LOAD16_WORD_SWAP( "266-p2.sp2", 0x100000, 0x400000, CRC(a14b1906) SHA1(1daa14d73512f760ef569b06f9facb279437d1db) ) /* mask rom TC5332205 */
8570
8571   ROM_Y_ZOOM
8572
8573   ROM_REGION( 0x80000, "fixed", 0 )
8574   ROM_FILL( 0x000000, 0x80000, 0 )
8575   ROM_REGION( 0x20000, "fixedbios", 0 )
8576   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8577
8578   NEO_BIOS_AUDIO_128K( "mart-m1.bin", CRC(3ea96ab1) SHA1(e5053c4312f658faed2a34e38325a22ef792d384) )
8579
8580   ROM_REGION( 0x1000000, "ymsnd", 0 )
8581   ROM_LOAD( "mart-v1.bin", 0x000000, 0x400000, CRC(352b0a07) SHA1(19f7cc12f3f6d0fda9c7449816c4c32367447897) )
8582   ROM_LOAD16_WORD_SWAP( "mart-v2.bin", 0x400000, 0x400000, CRC(1e9bd59e) SHA1(0f754e780d0ebb815a92a45ad55f85f6d0181b70) )
8583   ROM_LOAD( "mart-v3.bin", 0x800000, 0x400000, CRC(e8362fcc) SHA1(42d558fd80cabe22a1c09a1fa75741afbcf46b7c) )
8584   ROM_LOAD16_WORD_SWAP( "mart-v4.bin", 0xc00000, 0x400000, CRC(c8c79b19) SHA1(9c7a5e694d68f37a27209e1400b60b6241a04cc7) )
8585
8586   NO_DELTAT_REGION
8587
8588   ROM_REGION( 0x4000000, "sprites", 0 )
8589   ROM_LOAD16_BYTE( "mart-c1.bin", 0x0000000, 0x800000, CRC(a5595656) SHA1(d86281607f22e4f2001047eaeeda99cd673c508c) ) /* Plane 0,1 */
8590   ROM_LOAD16_BYTE( "mart-c2.bin", 0x0000001, 0x800000, CRC(c5f7c300) SHA1(9ff5ffb750bd2e925667d84389192f92183e8677) ) /* Plane 2,3 */
8591   ROM_LOAD16_BYTE( "mart-c3.bin", 0x1000000, 0x800000, CRC(574efd7d) SHA1(6cac303db705fe2800701ee51de9e9fca04e6e66) ) /* Plane 0,1 */
8592   ROM_LOAD16_BYTE( "mart-c4.bin", 0x1000001, 0x800000, CRC(109d54d9) SHA1(22cb748b3b14317b90d9d9951297ada2bfc3a3f1) ) /* Plane 2,3 */
8593   ROM_LOAD16_BYTE( "mart-c5.bin", 0x2000000, 0x800000, CRC(15c9e882) SHA1(1c9f1ccaed4fdd9d8f5cc9b6fcaca3c4e328e59e) ) /* Plane 0,1 */
8594   ROM_LOAD16_BYTE( "mart-c6.bin", 0x2000001, 0x800000, CRC(77497b97) SHA1(c6481bea5a36f8210971fdcb4bfbe7ed93c769de) ) /* Plane 2,3 */
8595   ROM_LOAD16_BYTE( "mart-c7.bin", 0x3000000, 0x800000, CRC(ab481bb6) SHA1(6b2d97c5505eeb28e300b075f37f0d69ef44463a) ) /* Plane 0,1 */
8596   ROM_LOAD16_BYTE( "mart-c8.bin", 0x3000001, 0x800000, CRC(906cf267) SHA1(b0f2cf8887794d715f208751ddd1ed26b2c3ffdf) ) /* Plane 2,3 */
8597ROM_END
8598
8599/* Metal Slug 5 bootleg */
8600
8601ROM_START( ms5plus )
8602   ROM_REGION( 0x500000, "maincpu", 0 )
8603   ROM_LOAD16_WORD_SWAP( "ms5-p1p.bin", 0x000000, 0x100000, CRC(106b276f) SHA1(0e840df95f3813145e5043573483c7610d2d3e68) )
8604   ROM_LOAD16_WORD_SWAP( "ms5-p2p.bin", 0x100000, 0x200000, CRC(d6a458e8) SHA1(c0a8bdae06d62859fb6734766ccc190eb2a809a4) )
8605   ROM_LOAD16_WORD_SWAP( "ms5-p3p.bin", 0x300000, 0x200000, CRC(439ec031) SHA1(f0ad8f9be7d26bc504593c1321bd23c286a221f0) )
8606
8607   ROM_Y_ZOOM
8608
8609   ROM_REGION( 0x20000, "fixed", 0 )
8610   ROM_LOAD("ms5-s1p.bin", 0x000000, 0x20000, CRC(21e04432) SHA1(10057a2aa487087f7143d1d69fdad978a6bef0f7) )
8611   ROM_REGION( 0x20000, "fixedbios", 0 )
8612   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8613
8614   /* Encrypted */
8615   NEO_BIOS_AUDIO_ENCRYPTED_512K( "268-m1.m1", CRC(4a5a6e0e) SHA1(df0f660f2465e1db7be5adfcaf5e88ad61a74a42) ) /* mask rom TC534000 */
8616
8617   ROM_REGION( 0x1000000, "ymsnd", 0 )
8618   /* Encrypted */
8619   ROM_LOAD( "268-v1c.v1", 0x000000, 0x800000, CRC(ae31d60c) SHA1(c42285cf4e52fea74247860813e826df5aa7600a) ) /* mask rom TC5364205 */
8620   ROM_LOAD( "268-v2c.v2", 0x800000, 0x800000, CRC(c40613ed) SHA1(af889570304e2867d7dfea1e94e388c06249fb67) ) /* mask rom TC5364205 */
8621
8622   NO_DELTAT_REGION
8623
8624   ROM_REGION( 0x4000000, "sprites", 0 )
8625   /* Encrypted */
8626   ROM_LOAD16_BYTE( "268-c1c.c1", 0x0000000, 0x800000, CRC(ab7c389a) SHA1(025a188de589500bf7637fa8e7a37ab24bf4312e) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8627   ROM_LOAD16_BYTE( "268-c2c.c2", 0x0000001, 0x800000, CRC(3560881b) SHA1(493d218c92290b4770024d6ee2917c4022753b07) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8628   ROM_LOAD16_BYTE( "268-c3c.c3", 0x1000000, 0x800000, CRC(3af955ea) SHA1(cf36b6ae9b0d12744b17cb7a928399214de894be) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8629   ROM_LOAD16_BYTE( "268-c4c.c4", 0x1000001, 0x800000, CRC(c329c373) SHA1(5073d4079958a0ef5426885af2c9e3178f37d5e0) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8630   ROM_LOAD16_BYTE( "268-c5c.c5", 0x2000000, 0x800000, CRC(959c8177) SHA1(889bda7c65d71172e7d89194d1269561888fe789) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8631   ROM_LOAD16_BYTE( "268-c6c.c6", 0x2000001, 0x800000, CRC(010a831b) SHA1(aec140661e3ae35d264df416478ba15188544d91) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8632   ROM_LOAD16_BYTE( "268-c7c.c7", 0x3000000, 0x800000, CRC(6d72a969) SHA1(968dd9a4d1209b770b9b85ea6532fa24d262a262) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8633   ROM_LOAD16_BYTE( "268-c8c.c8", 0x3000001, 0x800000, CRC(551d720e) SHA1(ebf69e334fcaba0fda6fd432fd0970283a365d12) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8634ROM_END
8635
8636/* Puzzle Bobble / Bust-A-Move (Neo-Geo) bootleg */
8637
8638ROM_START( pbobblenb )
8639   ROM_REGION( 0x100000, "maincpu", 0 )
8640   ROM_LOAD16_WORD_SWAP( "u7", 0x000000, 0x080000, CRC(ac1e9ef3) SHA1(a2b125ee70869667431ab125bc29e768500802ad) )
8641
8642   NEO_SFIX_128K( "us1", CRC(9caae538) SHA1 (cf2d90a7c1a42107c0bb8b9a61397634286dbe0a) )
8643
8644   NEO_BIOS_AUDIO_128K( "um1", CRC(f424368a) SHA1 (5e5bbcaeb82bed2ee17df08f005ca20ad1030723) )
8645
8646   ROM_REGION( 0x380000, "ymsnd", 0 )
8647   /* 0x000000-0x1fffff empty */
8648   ROM_LOAD( "u8", 0x200000, 0x100000, CRC(0840cbc4) SHA1 (1adbd7aef44fa80832f63dfb8efdf69fd7256a57) )
8649   ROM_LOAD( "u9", 0x300000, 0x080000, CRC(0a548948) SHA1 (e1e4afd17811cb60401c14fbcf0465035165f4fb) )
8650
8651   NO_DELTAT_REGION
8652
8653   ROM_REGION( 0x100000, "sprites", 0 )
8654   ROM_LOAD16_BYTE( "uc5", 0x000000, 0x80000, CRC(e89ad494) SHA1 (69c9ea415773af94ac44c48af05d55ada222b138) ) /* Plane 0,1 */
8655   ROM_LOAD16_BYTE( "uc6", 0x000001, 0x80000, CRC(4b42d7eb) SHA1 (042ae50a528cea21cf07771d3915c57aa16fd5af) ) /* Plane 2,3 */
8656ROM_END
8657
8658/* SNK vs. CAPCOM SVC CHAOS bootlegs */
8659
8660ROM_START( svcboot )
8661   ROM_REGION( 0x800000, "maincpu", 0 )
8662   ROM_LOAD16_WORD_SWAP( "svc-p1.bin", 0x000000, 0x800000, CRC(0348f162) SHA1(c313351d68effd92aeb80ed320e4f8c26a3bb53e) )
8663
8664   ROM_REGION( 0x20000, "fixed", 0 )
8665   ROM_LOAD( "svc-s1.bin", 0x10000, 0x10000, CRC(70b44df1) SHA1(52ae3f264d7b33e94e770e6b2d0cf35a64e7dda4) )
8666   ROM_CONTINUE( 0x00000, 0x10000 )
8667   ROM_REGION( 0x20000, "fixedbios", 0 )
8668   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8669
8670   NEOGEO_BIOS
8671
8672   ROM_REGION( 0x20000, "audiobios", 0 )
8673   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
8674
8675   ROM_REGION( 0x50000, "audiocpu", 0 )
8676   ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, CRC(804328c3) SHA1(f931636c563b0789d4812033a77b47bf663db43f) )
8677   ROM_CONTINUE( 0x00000, 0x10000 )
8678   ROM_COPY( "audiocpu", 0x00000, 0x10000, 0x10000 )
8679
8680   ROM_Y_ZOOM
8681
8682   ROM_REGION( 0x1000000, "ymsnd", 0 )
8683   ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, CRC(b5097287) SHA1(3ba3a9b5624879616382ed40337a3d9c50a0f314) )
8684   ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, CRC(bd3a391f) SHA1(972bf09b75e99a683ee965bec93b0da8f15d72d9) )
8685   ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, CRC(33fc0b37) SHA1(d61017d829f44c7df8795ba10c55c727d9972662) )
8686   ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, CRC(aa9849a0) SHA1(9539b3356a070a066a89f27c287f316e7367ce2a) )
8687
8688   NO_DELTAT_REGION
8689
8690   ROM_REGION( 0x4000000, "sprites", 0 )
8691   ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, CRC(a7826b89) SHA1(3bbe348ce54b80b56ef032ea532a18ef3cafeb11) ) /* Plane 0,1 */
8692   ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, CRC(ed3c2089) SHA1(b5d17692f15f5a678c273589fab2e3918711135e) ) /* Plane 2,3 */
8693   ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, CRC(71ed8063) SHA1(ea1df9e2e382a8560a06d447421844cc588f43dd) ) /* Plane 0,1 */
8694   ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, CRC(250bde2d) SHA1(8c72dcfceef6d022ab4b73ab37cf3ac0c3940c17) ) /* Plane 2,3 */
8695   ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, CRC(9817c082) SHA1(1bea9c7220c2b1524896c86841d6d8fd55f5d366) ) /* Plane 0,1 */
8696   ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, CRC(2bc0307f) SHA1(8090fa82c46eb503832359093c8cc3cee3141c90) ) /* Plane 2,3 */
8697   ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, CRC(4358d7b9) SHA1(9270b58c2abc072a046bedda72f1395df26d0714) ) /* Plane 0,1 */
8698   ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, CRC(366deee5) SHA1(d477ad7a5987fd6c7ef2c1680fbb7c884654590e) ) /* Plane 2,3 */
8699ROM_END
8700
8701ROM_START( svcplus )
8702   ROM_REGION( 0x600000, "maincpu", 0 )
8703   ROM_LOAD16_WORD_SWAP( "svc-p1p.bin", 0x000000, 0x200000, CRC(a194d842) SHA1(72b7bfa34a97632b1aa003488e074d766a6c2f08) )
8704   ROM_LOAD16_WORD_SWAP( "svc-p2p.bin", 0x200000, 0x200000, CRC(50c0e2b7) SHA1(97b396415ab0e692e43ddf371091e5a456712f0a) )
8705   ROM_LOAD16_WORD_SWAP( "svc-p3p.bin", 0x400000, 0x200000, CRC(58cdc293) SHA1(3c4f2418ec513bcc13ed33a727de11dfb98f7525) )
8706
8707   NEO_SFIX_128K( "svc-s1p.bin", CRC(73344711) SHA1(04d84c4fe241b9135cd210f8ed8c725f595d11d2) )
8708
8709   NEOGEO_BIOS
8710
8711   ROM_REGION( 0x20000, "audiobios", 0 )
8712   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
8713
8714   ROM_REGION( 0x50000, "audiocpu", 0 )
8715   ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, CRC(804328c3) SHA1(f931636c563b0789d4812033a77b47bf663db43f) )
8716   ROM_CONTINUE( 0x00000, 0x10000 )
8717   ROM_COPY( "audiocpu", 0x00000, 0x10000, 0x10000 )
8718
8719   ROM_REGION( 0x1000000, "ymsnd", 0 )
8720   ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, CRC(b5097287) SHA1(3ba3a9b5624879616382ed40337a3d9c50a0f314) )
8721   ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, CRC(bd3a391f) SHA1(972bf09b75e99a683ee965bec93b0da8f15d72d9) )
8722   ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, CRC(33fc0b37) SHA1(d61017d829f44c7df8795ba10c55c727d9972662) )
8723   ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, CRC(aa9849a0) SHA1(9539b3356a070a066a89f27c287f316e7367ce2a) )
8724
8725   NO_DELTAT_REGION
8726
8727   ROM_REGION( 0x4000000, "sprites", 0 )
8728   ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, CRC(a7826b89) SHA1(3bbe348ce54b80b56ef032ea532a18ef3cafeb11) ) /* Plane 0,1 */
8729   ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, CRC(ed3c2089) SHA1(b5d17692f15f5a678c273589fab2e3918711135e) ) /* Plane 2,3 */
8730   ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, CRC(71ed8063) SHA1(ea1df9e2e382a8560a06d447421844cc588f43dd) ) /* Plane 0,1 */
8731   ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, CRC(250bde2d) SHA1(8c72dcfceef6d022ab4b73ab37cf3ac0c3940c17) ) /* Plane 2,3 */
8732   ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, CRC(9817c082) SHA1(1bea9c7220c2b1524896c86841d6d8fd55f5d366) ) /* Plane 0,1 */
8733   ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, CRC(2bc0307f) SHA1(8090fa82c46eb503832359093c8cc3cee3141c90) ) /* Plane 2,3 */
8734   ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, CRC(4358d7b9) SHA1(9270b58c2abc072a046bedda72f1395df26d0714) ) /* Plane 0,1 */
8735   ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, CRC(366deee5) SHA1(d477ad7a5987fd6c7ef2c1680fbb7c884654590e) ) /* Plane 2,3 */
8736ROM_END
8737
8738ROM_START( svcplusa )
8739   ROM_REGION( 0x600000, "maincpu", 0 )
8740   ROM_LOAD16_WORD_SWAP( "svc-p1pl.bin", 0x000000, 0x200000, CRC(16b44144) SHA1(5eab530274b1b6f480a39a86c199da524cddfccc) )
8741   ROM_LOAD16_WORD_SWAP( "svc-p2pl.bin", 0x200000, 0x400000, CRC(7231ace2) SHA1(d2f13ddd5d3ee29b4b9824e8663f7ee0241f30cf) )
8742
8743   ROM_REGION( 0x20000, "fixed", 0 )
8744   ROM_LOAD( "svc-s1pl.bin", 0x10000, 0x10000, CRC(ca3c735e) SHA1(aebd15253c90432a2e0a4c40f37110c1e2176ee4) )
8745   ROM_CONTINUE( 0x00000, 0x10000 )
8746   ROM_REGION( 0x20000, "fixedbios", 0 )
8747   ROM_LOAD( "sfix.sfix", 0x000000, 0x20000, CRC(c2ea0cfd) SHA1(fd4a618cdcdbf849374f0a50dd8efe9dbab706c3) )
8748
8749   NEOGEO_BIOS
8750
8751   ROM_REGION( 0x20000, "audiobios", 0 )
8752   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
8753
8754   ROM_REGION( 0x50000, "audiocpu", 0 )
8755   ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, CRC(804328c3) SHA1(f931636c563b0789d4812033a77b47bf663db43f) )
8756   ROM_CONTINUE( 0x00000, 0x10000 )
8757   ROM_COPY( "audiocpu", 0x00000, 0x10000, 0x10000 )
8758
8759   ROM_Y_ZOOM
8760
8761   ROM_REGION( 0x1000000, "ymsnd", 0 )
8762   ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, CRC(b5097287) SHA1(3ba3a9b5624879616382ed40337a3d9c50a0f314) )
8763   ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, CRC(bd3a391f) SHA1(972bf09b75e99a683ee965bec93b0da8f15d72d9) )
8764   ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, CRC(33fc0b37) SHA1(d61017d829f44c7df8795ba10c55c727d9972662) )
8765   ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, CRC(aa9849a0) SHA1(9539b3356a070a066a89f27c287f316e7367ce2a) )
8766
8767   NO_DELTAT_REGION
8768
8769   ROM_REGION( 0x4000000, "sprites", 0 )
8770   ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, CRC(a7826b89) SHA1(3bbe348ce54b80b56ef032ea532a18ef3cafeb11) ) /* Plane 0,1 */
8771   ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, CRC(ed3c2089) SHA1(b5d17692f15f5a678c273589fab2e3918711135e) ) /* Plane 2,3 */
8772   ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, CRC(71ed8063) SHA1(ea1df9e2e382a8560a06d447421844cc588f43dd) ) /* Plane 0,1 */
8773   ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, CRC(250bde2d) SHA1(8c72dcfceef6d022ab4b73ab37cf3ac0c3940c17) ) /* Plane 2,3 */
8774   ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, CRC(9817c082) SHA1(1bea9c7220c2b1524896c86841d6d8fd55f5d366) ) /* Plane 0,1 */
8775   ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, CRC(2bc0307f) SHA1(8090fa82c46eb503832359093c8cc3cee3141c90) ) /* Plane 2,3 */
8776   ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, CRC(4358d7b9) SHA1(9270b58c2abc072a046bedda72f1395df26d0714) ) /* Plane 0,1 */
8777   ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, CRC(366deee5) SHA1(d477ad7a5987fd6c7ef2c1680fbb7c884654590e) ) /* Plane 2,3 */
8778ROM_END
8779
8780ROM_START( svcsplus )
8781   ROM_REGION( 0x800000, "maincpu", 0 )
8782   ROM_LOAD16_WORD_SWAP( "svc-p1sp.bin", 0x000000, 0x400000, CRC(2601902f) SHA1(202348a13c6480f7de37a3ee983823838822fc98) )
8783   ROM_LOAD16_WORD_SWAP( "svc-p2sp.bin", 0x400000, 0x400000, CRC(0ca13305) SHA1(ac8fbca71b754acbcdd11802161a62ae1cf32d88) )
8784
8785   NEO_SFIX_128K( "svc-s1sp.bin", CRC(233d6439) SHA1(369024c7a2405c3144c14ac016c07c3dc0f44187) )
8786
8787   NEOGEO_BIOS
8788
8789   ROM_REGION( 0x20000, "audiobios", 0 )
8790   ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(94416d67) SHA1(42f9d7ddd6c0931fd64226a60dc73602b2819dcf) )
8791
8792   ROM_REGION( 0x50000, "audiocpu", 0 )
8793   ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, CRC(804328c3) SHA1(f931636c563b0789d4812033a77b47bf663db43f) )
8794   ROM_CONTINUE( 0x00000, 0x10000 )
8795   ROM_COPY( "audiocpu", 0x00000, 0x10000, 0x10000 )
8796
8797   ROM_REGION( 0x1000000, "ymsnd", 0 )
8798   ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, CRC(b5097287) SHA1(3ba3a9b5624879616382ed40337a3d9c50a0f314) )
8799   ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, CRC(bd3a391f) SHA1(972bf09b75e99a683ee965bec93b0da8f15d72d9) )
8800   ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, CRC(33fc0b37) SHA1(d61017d829f44c7df8795ba10c55c727d9972662) )
8801   ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, CRC(aa9849a0) SHA1(9539b3356a070a066a89f27c287f316e7367ce2a) )
8802
8803   NO_DELTAT_REGION
8804
8805   ROM_REGION( 0x4000000, "sprites", 0 )
8806   ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, CRC(a7826b89) SHA1(3bbe348ce54b80b56ef032ea532a18ef3cafeb11) ) /* Plane 0,1 */
8807   ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, CRC(ed3c2089) SHA1(b5d17692f15f5a678c273589fab2e3918711135e) ) /* Plane 2,3 */
8808   ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, CRC(71ed8063) SHA1(ea1df9e2e382a8560a06d447421844cc588f43dd) ) /* Plane 0,1 */
8809   ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, CRC(250bde2d) SHA1(8c72dcfceef6d022ab4b73ab37cf3ac0c3940c17) ) /* Plane 2,3 */
8810   ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, CRC(9817c082) SHA1(1bea9c7220c2b1524896c86841d6d8fd55f5d366) ) /* Plane 0,1 */
8811   ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, CRC(2bc0307f) SHA1(8090fa82c46eb503832359093c8cc3cee3141c90) ) /* Plane 2,3 */
8812   ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, CRC(4358d7b9) SHA1(9270b58c2abc072a046bedda72f1395df26d0714) ) /* Plane 0,1 */
8813   ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, CRC(366deee5) SHA1(d477ad7a5987fd6c7ef2c1680fbb7c884654590e) ) /* Plane 2,3 */
8814ROM_END
8815
8816/* Samurai Shodown 5 bootleg */
8817
8818ROM_START( samsho5b )
8819   ROM_REGION( 0x800000, "maincpu", 0 )
8820   ROM_LOAD16_WORD_SWAP( "ssv-p2.bin", 0x000000, 0x400000, CRC(5023067f) SHA1(b1d682fa7d158f19664356a919da6572e8cfeee0) )
8821   ROM_LOAD16_WORD_SWAP( "ssv-p1.bin", 0x400000, 0x400000, CRC(b6cbe386) SHA1(99c2407361116c2b2c5fe72df53e05c5f99163c1) )
8822
8823   NEO_SFIX_128K( "ssv-s1.bin", CRC(70f667d0) SHA1(6d7ce62bb77eb215cc22d6c3c677accfd740aa83) )
8824
8825   NEO_BIOS_AUDIO_128K( "ssv-m1.bin", CRC(18114fb1) SHA1(016dc2f328340f3637a9bff373a20973df29f6b8) )
8826
8827   ROM_REGION( 0x1000000, "ymsnd", 0 )
8828   ROM_LOAD( "ssv-v1.bin", 0x000000, 0x400000, CRC(a3609761) SHA1(6dce1dbfd228c739b3716ae1cf08fd7f925d8650) )
8829   ROM_LOAD( "ssv-v2.bin", 0x400000, 0x400000, CRC(cbd6ebd5) SHA1(00211be3fa32035b0947ac65920ea8acae7bfae2) )
8830   ROM_LOAD( "ssv-v3.bin", 0x800000, 0x400000, CRC(6f1c2703) SHA1(8015df3d788cb7926ebbcda64a96964fe102ba27) )
8831   ROM_LOAD( "ssv-v4.bin", 0xc00000, 0x400000, CRC(5020c055) SHA1(bd1e68d1b0a47b0e2b365159e210048f8b22823a) )
8832
8833   NO_DELTAT_REGION
8834
8835   ROM_REGION( 0x4000000, "sprites", 0 )
8836   ROM_LOAD16_BYTE( "ssv-c1.bin", 0x0000000, 0x1000000, CRC(9c564a01) SHA1(99dc8900fd8f56ae04fff72b34ddcaa8abe4c1be) ) /* Plane 0,1 */
8837   ROM_LOAD16_BYTE( "ssv-c2.bin", 0x0000001, 0x1000000, CRC(4b73b8da) SHA1(a8b626de74cf57bbd8c222e8e24c953c9e8680f4) ) /* Plane 2,3 */
8838   ROM_LOAD16_BYTE( "ssv-c3.bin", 0x2000000, 0x1000000, CRC(029f9bb5) SHA1(6296c879aa0bbd22383ceeeac0326805cbc8b4ec) ) /* Plane 0,1 */
8839   ROM_LOAD16_BYTE( "ssv-c4.bin", 0x2000001, 0x1000000, CRC(75722430) SHA1(30594c30a167e75463670249df7744755e39e75b) ) /* Plane 2,3 */
8840ROM_END
8841
8842/* The King of Fighters 2003 bootlegs */
8843
8844ROM_START( kf2k3bl )
8845   ROM_REGION( 0x800000, "maincpu", 0 )
8846   ROM_LOAD16_WORD_SWAP( "2k3-p1.bin", 0x100000, 0x400000, CRC(92ed6ee3) SHA1(5e7e21eb40dfcc453ba73808760d5ddedd49c58a) )
8847   ROM_LOAD16_WORD_SWAP( "2k3-p2.bin", 0x500000, 0x200000, CRC(5d3d8bb3) SHA1(7f2341f14ca12ff5721eb038b3496228a1f34b60) )
8848   ROM_CONTINUE( 0x000000, 0x100000 )
8849   ROM_CONTINUE( 0x000000, 0x100000 )
8850
8851   NEO_SFIX_128K( "2k3-s1.bin", CRC(482c48a5) SHA1(27e2f5295a9a838e112be28dafc111893a388a16) )
8852
8853   NEO_BIOS_AUDIO_128K( "2k3-m1.bin", CRC(3a4969ff) SHA1(2fc107a023a82053a8df63025829bcf12cee9610) )
8854
8855   ROM_REGION( 0x1000000, "ymsnd", 0 )
8856   /* Encrypted */
8857   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
8858   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
8859
8860   NO_DELTAT_REGION
8861
8862   ROM_REGION( 0x4000000, "sprites", 0 )
8863   /* Encrypted */
8864   ROM_LOAD16_BYTE( "271-c1c.c1", 0x0000000, 0x800000, CRC(b1dc25d0) SHA1(50adc3c60d5b4b3abd10a49db2267306c6dbd772) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8865   ROM_LOAD16_BYTE( "271-c2c.c2", 0x0000001, 0x800000, CRC(d5362437) SHA1(66db36522dc09106388c707252df9fe1c88b4856) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8866   ROM_LOAD16_BYTE( "271-c3c.c3", 0x1000000, 0x800000, CRC(0a1fbeab) SHA1(9fe30d36ba98d00fda010832ff2f27783dd577c1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8867   ROM_LOAD16_BYTE( "271-c4c.c4", 0x1000001, 0x800000, CRC(87b19a0c) SHA1(b72a8e7d9124ce859b5149bb4381ba481c161ea5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8868   ROM_LOAD16_BYTE( "271-c5c.c5", 0x2000000, 0x800000, CRC(704ea371) SHA1(e75b80422f0d72eac826f8ffadf79efeccaab124) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8869   ROM_LOAD16_BYTE( "271-c6c.c6", 0x2000001, 0x800000, CRC(20a1164c) SHA1(c9843b37612a16fc95f6851793b1cfb5d49d811d) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8870   ROM_LOAD16_BYTE( "271-c7c.c7", 0x3000000, 0x800000, CRC(189aba7f) SHA1(7152195a57ad36b28290810fe87ed8c206262ba9) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8871   ROM_LOAD16_BYTE( "271-c8c.c8", 0x3000001, 0x800000, CRC(20ec4fdc) SHA1(deb5f7ec5a090e419b9d1a6a74877bee081198e2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8872ROM_END
8873
8874ROM_START( kf2k3bla )
8875   ROM_REGION( 0x700000, "maincpu", 0 )
8876   ROM_LOAD16_WORD_SWAP( "2k3-p1bl.bin", 0x000000, 0x100000, CRC(4ea414dd) SHA1(c242c9709c20a8cde3ad562adbe640a5dd5abcf1) )
8877   ROM_LOAD16_WORD_SWAP( "2k3-p3bl.bin", 0x100000, 0x400000, CRC(370acbff) SHA1(e72544de1c5e2e4f7478fc003caba9e33a306c19) )
8878   ROM_LOAD16_WORD_SWAP( "2k3-p2bl.bin", 0x500000, 0x200000, CRC(9c04fc52) SHA1(f41b53c79e4209373ec68276fa5941c91424bb15) )
8879
8880   NEO_SFIX_128K( "2k3-s1.bin", CRC(482c48a5) SHA1(27e2f5295a9a838e112be28dafc111893a388a16) )
8881
8882   NEO_BIOS_AUDIO_128K( "2k3-m1.bin", CRC(3a4969ff) SHA1(2fc107a023a82053a8df63025829bcf12cee9610) )
8883
8884   ROM_REGION( 0x1000000, "ymsnd", 0 )
8885   /* Encrypted */
8886   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
8887   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
8888
8889   NO_DELTAT_REGION
8890
8891   ROM_REGION( 0x4000000, "sprites", 0 )
8892   /* Encrypted */
8893   ROM_LOAD16_BYTE( "271-c1c.c1", 0x0000000, 0x800000, CRC(b1dc25d0) SHA1(50adc3c60d5b4b3abd10a49db2267306c6dbd772) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8894   ROM_LOAD16_BYTE( "271-c2c.c2", 0x0000001, 0x800000, CRC(d5362437) SHA1(66db36522dc09106388c707252df9fe1c88b4856) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8895   ROM_LOAD16_BYTE( "271-c3c.c3", 0x1000000, 0x800000, CRC(0a1fbeab) SHA1(9fe30d36ba98d00fda010832ff2f27783dd577c1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8896   ROM_LOAD16_BYTE( "271-c4c.c4", 0x1000001, 0x800000, CRC(87b19a0c) SHA1(b72a8e7d9124ce859b5149bb4381ba481c161ea5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8897   ROM_LOAD16_BYTE( "271-c5c.c5", 0x2000000, 0x800000, CRC(704ea371) SHA1(e75b80422f0d72eac826f8ffadf79efeccaab124) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8898   ROM_LOAD16_BYTE( "271-c6c.c6", 0x2000001, 0x800000, CRC(20a1164c) SHA1(c9843b37612a16fc95f6851793b1cfb5d49d811d) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8899   ROM_LOAD16_BYTE( "271-c7c.c7", 0x3000000, 0x800000, CRC(189aba7f) SHA1(7152195a57ad36b28290810fe87ed8c206262ba9) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8900   ROM_LOAD16_BYTE( "271-c8c.c8", 0x3000001, 0x800000, CRC(20ec4fdc) SHA1(deb5f7ec5a090e419b9d1a6a74877bee081198e2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8901ROM_END
8902
8903ROM_START( kf2k3pl )
8904   ROM_REGION( 0x700000, "maincpu", 0 )
8905   ROM_LOAD16_WORD_SWAP( "2k3-p1pl.bin", 0x000000, 0x100000, CRC(07b84112) SHA1(0b085a928a39ff9c0745a58bfa4ce6106b5f474a) )
8906   ROM_LOAD16_WORD_SWAP( "2k3-p3bl.bin", 0x100000, 0x400000, CRC(370acbff) SHA1(e72544de1c5e2e4f7478fc003caba9e33a306c19) )
8907   ROM_LOAD16_WORD_SWAP( "2k3-p2bl.bin", 0x500000, 0x200000, CRC(9c04fc52) SHA1(f41b53c79e4209373ec68276fa5941c91424bb15) )
8908
8909   NEO_SFIX_128K( "2k3-s1pl.bin", CRC(ad548a36) SHA1(7483dbe2d74a1bd1b4dc501e99e48a683416d08e) )
8910
8911   NEO_BIOS_AUDIO_128K( "2k3-m1.bin", CRC(3a4969ff) SHA1(2fc107a023a82053a8df63025829bcf12cee9610) )
8912
8913   ROM_REGION( 0x1000000, "ymsnd", 0 )
8914   /* Encrypted */
8915   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
8916   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
8917
8918   NO_DELTAT_REGION
8919
8920   ROM_REGION( 0x4000000, "sprites", 0 )
8921   /* Encrypted */
8922   ROM_LOAD16_BYTE( "271-c1c.c1", 0x0000000, 0x800000, CRC(b1dc25d0) SHA1(50adc3c60d5b4b3abd10a49db2267306c6dbd772) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8923   ROM_LOAD16_BYTE( "271-c2c.c2", 0x0000001, 0x800000, CRC(d5362437) SHA1(66db36522dc09106388c707252df9fe1c88b4856) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8924   ROM_LOAD16_BYTE( "271-c3c.c3", 0x1000000, 0x800000, CRC(0a1fbeab) SHA1(9fe30d36ba98d00fda010832ff2f27783dd577c1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8925   ROM_LOAD16_BYTE( "271-c4c.c4", 0x1000001, 0x800000, CRC(87b19a0c) SHA1(b72a8e7d9124ce859b5149bb4381ba481c161ea5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8926   ROM_LOAD16_BYTE( "271-c5c.c5", 0x2000000, 0x800000, CRC(704ea371) SHA1(e75b80422f0d72eac826f8ffadf79efeccaab124) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8927   ROM_LOAD16_BYTE( "271-c6c.c6", 0x2000001, 0x800000, CRC(20a1164c) SHA1(c9843b37612a16fc95f6851793b1cfb5d49d811d) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8928   ROM_LOAD16_BYTE( "271-c7c.c7", 0x3000000, 0x800000, CRC(189aba7f) SHA1(7152195a57ad36b28290810fe87ed8c206262ba9) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8929   ROM_LOAD16_BYTE( "271-c8c.c8", 0x3000001, 0x800000, CRC(20ec4fdc) SHA1(deb5f7ec5a090e419b9d1a6a74877bee081198e2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8930ROM_END
8931
8932ROM_START( kf2k3upl )
8933   ROM_REGION( 0x800000, "maincpu", 0 )
8934   ROM_LOAD16_WORD_SWAP( "2k3-p1up.bin", 0x000000, 0x800000, CRC(87294c01) SHA1(21420415a6b2ba1b43ecc1934270dc085d6bd7d9) )
8935
8936   NEO_SFIX_128K( "2k3-s1up.bin", CRC(e5708c0c) SHA1(5649446d3b0b1bd138b5a8b40b96a6d0f892f4d8) )
8937
8938   NEO_BIOS_AUDIO_128K( "2k3-m1.bin", CRC(3a4969ff) SHA1(2fc107a023a82053a8df63025829bcf12cee9610) )
8939
8940   ROM_REGION( 0x1000000, "ymsnd", 0 )
8941   /* Encrypted */
8942   ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) ) /* mask rom TC5364205 */
8943   ROM_LOAD( "271-v2c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) ) /* mask rom TC5364205 */
8944
8945   NO_DELTAT_REGION
8946
8947   ROM_REGION( 0x4000000, "sprites", 0 )
8948   /* Encrypted */
8949   ROM_LOAD16_BYTE( "271-c1c.c1", 0x0000000, 0x800000, CRC(b1dc25d0) SHA1(50adc3c60d5b4b3abd10a49db2267306c6dbd772) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8950   ROM_LOAD16_BYTE( "271-c2c.c2", 0x0000001, 0x800000, CRC(d5362437) SHA1(66db36522dc09106388c707252df9fe1c88b4856) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8951   ROM_LOAD16_BYTE( "271-c3c.c3", 0x1000000, 0x800000, CRC(0a1fbeab) SHA1(9fe30d36ba98d00fda010832ff2f27783dd577c1) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8952   ROM_LOAD16_BYTE( "271-c4c.c4", 0x1000001, 0x800000, CRC(87b19a0c) SHA1(b72a8e7d9124ce859b5149bb4381ba481c161ea5) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8953   ROM_LOAD16_BYTE( "271-c5c.c5", 0x2000000, 0x800000, CRC(704ea371) SHA1(e75b80422f0d72eac826f8ffadf79efeccaab124) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8954   ROM_LOAD16_BYTE( "271-c6c.c6", 0x2000001, 0x800000, CRC(20a1164c) SHA1(c9843b37612a16fc95f6851793b1cfb5d49d811d) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8955   ROM_LOAD16_BYTE( "271-c7c.c7", 0x3000000, 0x800000, CRC(189aba7f) SHA1(7152195a57ad36b28290810fe87ed8c206262ba9) ) /* Plane 0,1 */ /* mask rom TC5364205 */
8956   ROM_LOAD16_BYTE( "271-c8c.c8", 0x3000001, 0x800000, CRC(20ec4fdc) SHA1(deb5f7ec5a090e419b9d1a6a74877bee081198e2) ) /* Plane 2,3 */ /* mask rom TC5364205 */
8957ROM_END
8958
8959
8960   /* Unlicensed Prototype */
8961
8962
8963ROM_START( diggerma ) /* Unlicensed Prototype, no official game ID # */
8964   ROM_REGION( 0x100000, "maincpu", 0 )
8965   ROM_LOAD16_WORD_SWAP( "dig-p1.bin", 0x000000, 0x080000, CRC(eda433d7) SHA1(abb14c66777ab0fe4ac76a402e253a49df7178d8) )
8966
8967   NEO_SFIX_64K( "dig-s1.bin", CRC(75a88c1f) SHA1(295dd9225f1e3d2fc64a65b3c287c7f1765417b1) )
8968
8969   NEO_BIOS_AUDIO_64K( "dig-m1.bin", CRC(833cdf1b) SHA1(3a92c79adbe0d37956ea46a4746d6f1cbf7d2c14) )
8970
8971   ROM_REGION( 0x200000, "ymsnd", 0 )
8972   ROM_LOAD( "dig-v1.bin", 0x000000, 0x080000, CRC(ee15bda4) SHA1(fe2206728e6efd02d6302869a98b196eb19a17df) )
8973
8974   NO_DELTAT_REGION
8975
8976   ROM_REGION( 0x400000, "sprites", 0 )
8977   ROM_LOAD16_BYTE( "dig-c1.bin", 0x000000, 0x080000, CRC(3db0a4ed) SHA1(6214faa883d97ea05809b6af7e0c85a236a18a28) ) /* Plane 0,1 */
8978   ROM_LOAD16_BYTE( "dig-c2.bin", 0x000001, 0x080000, CRC(3e632161) SHA1(83711c4286fb1d9f3f91414ac6e5fed36618033e) ) /* Plane 2,3 */
8979ROM_END
8980
8981
8982/****************************************************************************
8983
8984    Game specific input definitions
8985
8986****************************************************************************/
8987
8988
8989static INPUT_PORTS_START( svcpcb )
8990   STANDARD_IN0
8991
8992   STANDARD_IN1
8993
8994   STANDARD_IN2
8995
8996   STANDARD_IN3
8997
8998   STANDARD_IN4
8999
9000   /* the rom banking is tied directly to the dipswitch?, or is there a bank write somewhere? */
9001   PORT_START("HARDDIP")
9002   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Region ) ) PORT_DIPLOCATION("HARDDIP:3")
9003   PORT_DIPSETTING(    0x00, DEF_STR( Asia ) )
9004   PORT_DIPSETTING(    0x01, DEF_STR( Japan ) )
9005INPUT_PORTS_END
9006
9007
9008static INPUT_PORTS_START( ms5pcb )
9009   STANDARD_IN0
9010
9011   STANDARD_IN1
9012
9013   STANDARD_IN2
9014
9015   STANDARD_IN3
9016
9017   STANDARD_IN4
9018
9019   /* the rom banking is tied directly to the dipswitch?, or is there a bank write somewhere? */
9020   PORT_START("HARDDIP")
9021   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Region ) ) PORT_DIPLOCATION("HARDDIP:3")
9022   PORT_DIPSETTING(    0x00, DEF_STR( Asia ) )
9023   PORT_DIPSETTING(    0x01, DEF_STR( Japan ) )
9024INPUT_PORTS_END
9025
9026
9027static INPUT_PORTS_START( kog )
9028   STANDARD_IN0
9029
9030   STANDARD_IN1
9031
9032   STANDARD_IN2
9033
9034   STANDARD_IN3
9035
9036   STANDARD_IN4
9037
9038   /* a jumper on the pcb overlays a ROM address, very strange but that's how it works. */
9039   PORT_START("JUMPER")
9040   PORT_DIPNAME( 0x0001, 0x0001, "Title Language" ) PORT_DIPLOCATION("CART-JUMPER:1")
9041   PORT_DIPSETTING(      0x0001, DEF_STR( English ) )
9042   PORT_DIPSETTING(      0x0000, "Non-English" )
9043   PORT_BIT( 0x00fe, IP_ACTIVE_HIGH, IPT_UNUSED )
9044   PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
9045INPUT_PORTS_END
9046
9047
9048static INPUT_PORTS_START( mjneogeo )
9049   PORT_START("IN0")
9050   PORT_DIPNAME( 0x0001, 0x0001, "Test Switch" ) PORT_DIPLOCATION("SW:1")
9051   PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
9052   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
9053   PORT_DIPNAME( 0x0002, 0x0002, "Coin Chutes?" ) PORT_DIPLOCATION("SW:2")
9054   PORT_DIPSETTING(      0x0000, "1?" )
9055   PORT_DIPSETTING(      0x0002, "2?" )
9056   PORT_DIPNAME( 0x0004, 0x0000, "Mahjong Control Panel" ) PORT_DIPLOCATION("SW:3")
9057   PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
9058   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
9059   PORT_DIPNAME( 0x0018, 0x0018, "COMM Setting (Cabinet No.)" ) PORT_DIPLOCATION("SW:4,5")
9060   PORT_DIPSETTING(      0x0018, "1" )
9061   PORT_DIPSETTING(      0x0008, "2" )
9062   PORT_DIPSETTING(      0x0010, "3" )
9063   PORT_DIPSETTING(      0x0000, "4" )
9064   PORT_DIPNAME( 0x0020, 0x0020, "COMM Setting (Link Enable)" ) PORT_DIPLOCATION("SW:6")
9065   PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
9066   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
9067   PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW:7")
9068   PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
9069   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
9070   PORT_DIPNAME( 0x0080, 0x0080, "Freeze" ) PORT_DIPLOCATION("SW:8")
9071   PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
9072   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
9073   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,mahjong_controller_r, NULL)
9074
9075   STANDARD_IN1
9076
9077   STANDARD_IN2
9078
9079   STANDARD_IN3
9080
9081   STANDARD_IN4
9082
9083   PORT_START("MAHJONG1")
9084   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_A )
9085   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_B )
9086   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_C )
9087   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_D )
9088   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_E )
9089   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_F )
9090   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_MAHJONG_G )
9091   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
9092   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
9093
9094   PORT_START("MAHJONG2")
9095   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_H )
9096   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_I )
9097   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_J )
9098   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_K )
9099   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_L )
9100   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_M )
9101   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_MAHJONG_N )
9102   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
9103   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
9104
9105   PORT_START("MAHJONG3")
9106   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
9107   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
9108   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
9109   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
9110   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
9111   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
9112   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 )
9113   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 )
9114   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
9115
9116   PORT_START("MAHJONG4")
9117   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_PON )
9118   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_CHI )
9119   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_KAN )
9120   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_RON )
9121   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_REACH )
9122   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
9123   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
9124   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
9125   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNUSED )
9126INPUT_PORTS_END
9127
9128
9129static INPUT_PORTS_START( irrmaze )
9130   PORT_START("IN0")
9131   STANDARD_DIPS
9132   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,multiplexed_controller_r, (void *)0)
9133
9134   PORT_START("IN1")
9135   PORT_BIT( 0x0fff, IP_ACTIVE_LOW, IPT_UNUSED )
9136   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
9137   PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
9138   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
9139   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
9140
9141   PORT_START("IN2")
9142   PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
9143   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
9144   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
9145   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START2 )
9146   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
9147   PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_memcard_status, NULL)
9148   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
9149
9150   STANDARD_IN3
9151
9152   PORT_START("IN4")
9153   PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9154   PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9155   PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9156   PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9157   PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9158   PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9159   PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN )  /* this bit is used.. */
9160   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Enter BIOS") PORT_CODE(KEYCODE_F2)
9161   PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
9162
9163   PORT_START("IN0-0")
9164   PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(10) PORT_KEYDELTA(20) PORT_REVERSE
9165
9166   PORT_START("IN0-1")
9167   PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(10) PORT_KEYDELTA(20) PORT_REVERSE
9168INPUT_PORTS_END
9169
9170
9171static INPUT_PORTS_START( popbounc )
9172   PORT_START("IN0")
9173   STANDARD_DIPS
9174   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,multiplexed_controller_r, (void *)0)
9175
9176   PORT_START("IN1")
9177   PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
9178   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,multiplexed_controller_r, (void *)1)
9179
9180   STANDARD_IN2
9181
9182   STANDARD_IN3
9183
9184   STANDARD_IN4
9185
9186   /* Fake inputs read by CUSTOM_INPUT handlers */
9187   PORT_START("IN0-0")
9188   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(20)
9189
9190   PORT_START("IN0-1")
9191   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
9192   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
9193   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
9194   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
9195   PORT_BIT( 0x90, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* note it needs it from 0x80 when using paddle */
9196   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
9197   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
9198
9199   PORT_START("IN1-0")
9200   PORT_BIT( 0xff, 0x00, IPT_DIAL  ) PORT_SENSITIVITY(25) PORT_KEYDELTA(20) PORT_PLAYER(2)
9201
9202   PORT_START("IN1-1")
9203   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
9204   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
9205   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
9206   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
9207   PORT_BIT( 0x90, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* note it needs it from 0x80 when using paddle */
9208   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
9209   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
9210INPUT_PORTS_END
9211
9212
9213static INPUT_PORTS_START( vliner )
9214   PORT_START("IN0")
9215   STANDARD_DIPS
9216   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
9217   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
9218   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
9219   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
9220   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("View Payout Table/Big")
9221   PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Bet/Small")
9222   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Stop/Double Up")
9223   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Start/Collect")
9224
9225   PORT_START("IN1")
9226   PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
9227
9228   PORT_START("IN2")
9229   PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
9230   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
9231   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* this bit is used.. */
9232   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
9233   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* this bit is used.. */
9234   PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_memcard_status, NULL)
9235   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
9236
9237   PORT_START("IN3")
9238   PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNUSED )
9239   PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_calendar_status, NULL)
9240   PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_audio_result, NULL)
9241
9242   STANDARD_IN4
9243
9244   PORT_START("IN5")
9245   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
9246   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
9247   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
9248   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
9249   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Operator Menu") PORT_CODE(KEYCODE_F1)
9250   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Clear Credit")
9251   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
9252   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Hopper Out")
9253   PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
9254
9255   /* not sure what any of these bits are */
9256   PORT_START("IN6")
9257   PORT_BIT( 0x0003, IP_ACTIVE_LOW, IPT_UNKNOWN )
9258   PORT_BIT( 0xffc0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
9259INPUT_PORTS_END
9260
9261
9262static INPUT_PORTS_START( jockeygp )
9263   STANDARD_IN0
9264
9265   STANDARD_IN1
9266
9267   PORT_START("IN2")
9268   PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
9269   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* game freezes with this bit enabled */
9270   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Next Game") PORT_CODE(KEYCODE_7)
9271   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* game freezes with this bit enabled */
9272   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Previous Game") PORT_CODE(KEYCODE_8)
9273   PORT_BIT( 0x7000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, neogeo_state,get_memcard_status, NULL)
9274   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
9275
9276   STANDARD_IN3
9277
9278   STANDARD_IN4
9279INPUT_PORTS_END
9280
9281
9282/****************************************************************************
9283
9284    Game specific inits
9285
9286****************************************************************************/
9287
9288
9289DRIVER_INIT_MEMBER(neogeo_state,fatfury2)
9290{
9291   DRIVER_INIT_CALL(neogeo);
9292   fatfury2_install_protection();
9293}
9294
9295DRIVER_INIT_MEMBER(neogeo_state,zupapa)
9296{
9297   DRIVER_INIT_CALL(neogeo);
9298   m_fixed_layer_bank_type = 1;
9299   kof99_neogeo_gfx_decrypt(0xbd);
9300}
9301
9302DRIVER_INIT_MEMBER(neogeo_state,kof98)
9303{
9304   DRIVER_INIT_CALL(neogeo);
9305   kof98_decrypt_68k();
9306   install_kof98_protection();
9307}
9308
9309DRIVER_INIT_MEMBER(neogeo_state,mslugx)
9310{
9311   DRIVER_INIT_CALL(neogeo);
9312   mslugx_install_protection();
9313}
9314
9315DRIVER_INIT_MEMBER(neogeo_state,kof99)
9316{
9317   DRIVER_INIT_CALL(neogeo);
9318   kof99_decrypt_68k();
9319   m_fixed_layer_bank_type = 1;
9320   kof99_neogeo_gfx_decrypt(0x00);
9321   kof99_install_protection();
9322}
9323
9324DRIVER_INIT_MEMBER(neogeo_state,kof99k)
9325{
9326   DRIVER_INIT_CALL(neogeo);
9327   m_fixed_layer_bank_type = 1;
9328   kof99_neogeo_gfx_decrypt(0x00);
9329}
9330
9331DRIVER_INIT_MEMBER(neogeo_state,garou)
9332{
9333   DRIVER_INIT_CALL(neogeo);
9334   garou_decrypt_68k();
9335   m_fixed_layer_bank_type = 1;
9336   kof99_neogeo_gfx_decrypt(0x06);
9337   garou_install_protection();
9338}
9339
9340DRIVER_INIT_MEMBER(neogeo_state,garouh)
9341{
9342   DRIVER_INIT_CALL(neogeo);
9343   garouh_decrypt_68k();
9344   m_fixed_layer_bank_type = 1;
9345   kof99_neogeo_gfx_decrypt(0x06);
9346   garouh_install_protection();
9347}
9348
9349DRIVER_INIT_MEMBER(neogeo_state,garoubl)
9350{
9351   DRIVER_INIT_CALL(neogeo);
9352   neogeo_bootleg_sx_decrypt(2);
9353   neogeo_bootleg_cx_decrypt();
9354}
9355
9356DRIVER_INIT_MEMBER(neogeo_state,mslug3)
9357{
9358   DRIVER_INIT_CALL(neogeo);
9359   mslug3_decrypt_68k();
9360   m_fixed_layer_bank_type = 1;
9361   kof99_neogeo_gfx_decrypt(0xad);
9362   mslug3_install_protection();
9363}
9364
9365DRIVER_INIT_MEMBER(neogeo_state,mslug3h)
9366{
9367   DRIVER_INIT_CALL(neogeo);
9368   m_fixed_layer_bank_type = 1;
9369   kof99_neogeo_gfx_decrypt(0xad);
9370}
9371
9372DRIVER_INIT_MEMBER(neogeo_state,mslug3b6)
9373{
9374   DRIVER_INIT_CALL(neogeo);
9375   neogeo_bootleg_sx_decrypt(2);
9376   cmc42_neogeo_gfx_decrypt(0xad);
9377}
9378
9379DRIVER_INIT_MEMBER(neogeo_state,kof2000)
9380{
9381   DRIVER_INIT_CALL(neogeo);
9382   kof2000_decrypt_68k();
9383   m_fixed_layer_bank_type = 2;
9384   neogeo_cmc50_m1_decrypt();
9385   kof2000_neogeo_gfx_decrypt(0x00);
9386   kof2000_install_protection();
9387}
9388
9389DRIVER_INIT_MEMBER(neogeo_state,kof2000n)
9390{
9391   DRIVER_INIT_CALL(neogeo);
9392   m_fixed_layer_bank_type = 2;
9393   neogeo_cmc50_m1_decrypt();
9394   kof2000_neogeo_gfx_decrypt(0x00);
9395}
9396
9397DRIVER_INIT_MEMBER(neogeo_state,kof2001)
9398{
9399   DRIVER_INIT_CALL(neogeo);
9400   m_fixed_layer_bank_type = 1;
9401   kof2000_neogeo_gfx_decrypt(0x1e);
9402   neogeo_cmc50_m1_decrypt();
9403}
9404
9405DRIVER_INIT_MEMBER(neogeo_state,cthd2003)
9406{
9407   DRIVER_INIT_CALL(neogeo);
9408   decrypt_cthd2003();
9409   patch_cthd2003();
9410}
9411
9412DRIVER_INIT_MEMBER(neogeo_state,ct2k3sp)
9413{
9414   DRIVER_INIT_CALL(neogeo);
9415   decrypt_ct2k3sp();
9416   patch_cthd2003();
9417}
9418
9419DRIVER_INIT_MEMBER(neogeo_state,ct2k3sa)
9420{
9421   DRIVER_INIT_CALL(neogeo);
9422   decrypt_ct2k3sa();
9423   patch_ct2k3sa();
9424}
9425
9426DRIVER_INIT_MEMBER(neogeo_state,mslug4)
9427{
9428   DRIVER_INIT_CALL(neogeo);
9429   m_fixed_layer_bank_type = 1; /* USA violent content screen is wrong -- not a bug, confirmed on real hardware! */
9430   neogeo_cmc50_m1_decrypt();
9431   kof2000_neogeo_gfx_decrypt(0x31);
9432   neo_pcm2_snk_1999(8);
9433}
9434
9435DRIVER_INIT_MEMBER(neogeo_state,ms4plus)
9436{
9437   DRIVER_INIT_CALL(neogeo);
9438   cmc50_neogeo_gfx_decrypt(0x31);
9439   neo_pcm2_snk_1999(8);
9440   neogeo_cmc50_m1_decrypt();
9441}
9442
9443DRIVER_INIT_MEMBER(neogeo_state,ganryu)
9444{
9445   DRIVER_INIT_CALL(neogeo);
9446   m_fixed_layer_bank_type = 1;
9447   kof99_neogeo_gfx_decrypt(0x07);
9448}
9449
9450DRIVER_INIT_MEMBER(neogeo_state,s1945p)
9451{
9452   DRIVER_INIT_CALL(neogeo);
9453   m_fixed_layer_bank_type = 1;
9454   kof99_neogeo_gfx_decrypt(0x05);
9455}
9456
9457DRIVER_INIT_MEMBER(neogeo_state,preisle2)
9458{
9459   DRIVER_INIT_CALL(neogeo);
9460   m_fixed_layer_bank_type = 1;
9461   kof99_neogeo_gfx_decrypt(0x9f);
9462}
9463
9464DRIVER_INIT_MEMBER(neogeo_state,bangbead)
9465{
9466   DRIVER_INIT_CALL(neogeo);
9467   m_fixed_layer_bank_type = 1;
9468   kof99_neogeo_gfx_decrypt(0xf8);
9469}
9470
9471DRIVER_INIT_MEMBER(neogeo_state,nitd)
9472{
9473   DRIVER_INIT_CALL(neogeo);
9474   m_fixed_layer_bank_type = 1;
9475   kof99_neogeo_gfx_decrypt(0xff);
9476}
9477
9478DRIVER_INIT_MEMBER(neogeo_state,sengoku3)
9479{
9480   DRIVER_INIT_CALL(neogeo);
9481   m_fixed_layer_bank_type = 1;
9482   kof99_neogeo_gfx_decrypt(0xfe);
9483}
9484
9485DRIVER_INIT_MEMBER(neogeo_state,rotd)
9486{
9487   DRIVER_INIT_CALL(neogeo);
9488   neo_pcm2_snk_1999(16);
9489   m_fixed_layer_bank_type = 1;
9490   neogeo_cmc50_m1_decrypt();
9491   kof2000_neogeo_gfx_decrypt(0x3f);
9492}
9493
9494DRIVER_INIT_MEMBER(neogeo_state,kof2002)
9495{
9496   DRIVER_INIT_CALL(neogeo);
9497   kof2002_decrypt_68k();
9498   neo_pcm2_swap(0);
9499   neogeo_cmc50_m1_decrypt();
9500   kof2000_neogeo_gfx_decrypt(0xec);
9501}
9502
9503DRIVER_INIT_MEMBER(neogeo_state,kof2002b)
9504{
9505   DRIVER_INIT_CALL(neogeo);
9506   kof2002_decrypt_68k();
9507   neo_pcm2_swap(0);
9508   neogeo_cmc50_m1_decrypt();
9509   kof2002b_gfx_decrypt(memregion("sprites")->base(),0x4000000);
9510   kof2002b_gfx_decrypt(memregion("fixed")->base(),0x20000);
9511}
9512
9513DRIVER_INIT_MEMBER(neogeo_state,kf2k2pls)
9514{
9515   DRIVER_INIT_CALL(neogeo);
9516   kof2002_decrypt_68k();
9517   neo_pcm2_swap(0);
9518   neogeo_cmc50_m1_decrypt();
9519   cmc50_neogeo_gfx_decrypt(0xec);
9520}
9521
9522DRIVER_INIT_MEMBER(neogeo_state,kf2k2mp)
9523{
9524   DRIVER_INIT_CALL(neogeo);
9525   kf2k2mp_decrypt();
9526   neo_pcm2_swap(0);
9527   neogeo_cmc50_m1_decrypt();
9528   neogeo_bootleg_sx_decrypt(2);
9529   cmc50_neogeo_gfx_decrypt(0xec);
9530}
9531
9532DRIVER_INIT_MEMBER(neogeo_state,kf2k2mp2)
9533{
9534   DRIVER_INIT_CALL(neogeo);
9535   kf2k2mp2_px_decrypt();
9536   neo_pcm2_swap(0);
9537   neogeo_cmc50_m1_decrypt();
9538   neogeo_bootleg_sx_decrypt(1);
9539   cmc50_neogeo_gfx_decrypt(0xec);
9540}
9541
9542DRIVER_INIT_MEMBER(neogeo_state,kof10th)
9543{
9544   DRIVER_INIT_CALL(neogeo);
9545   decrypt_kof10th();
9546   install_kof10th_protection();
9547}
9548
9549DRIVER_INIT_MEMBER(neogeo_state,kf10thep)
9550{
9551   DRIVER_INIT_CALL(neogeo);
9552   decrypt_kf10thep();
9553}
9554
9555DRIVER_INIT_MEMBER(neogeo_state,kf2k5uni)
9556{
9557   DRIVER_INIT_CALL(neogeo);
9558   decrypt_kf2k5uni();
9559}
9560
9561DRIVER_INIT_MEMBER(neogeo_state,kof2k4se)
9562{
9563   DRIVER_INIT_CALL(neogeo);
9564   decrypt_kof2k4se_68k();
9565}
9566
9567DRIVER_INIT_MEMBER(neogeo_state,matrim)
9568{
9569   DRIVER_INIT_CALL(neogeo);
9570   matrim_decrypt_68k();
9571   neo_pcm2_swap(1);
9572   m_fixed_layer_bank_type = 2;
9573   neogeo_cmc50_m1_decrypt();
9574   kof2000_neogeo_gfx_decrypt(0x6a);
9575}
9576
9577DRIVER_INIT_MEMBER(neogeo_state,matrimbl)
9578{
9579   DRIVER_INIT_CALL(neogeo);
9580   matrim_decrypt_68k();
9581   m_fixed_layer_bank_type = 2;
9582   matrimbl_decrypt();
9583   neogeo_sfix_decrypt(); /* required for text layer */
9584}
9585
9586DRIVER_INIT_MEMBER(neogeo_state,pnyaa)
9587{
9588   DRIVER_INIT_CALL(neogeo);
9589   neo_pcm2_snk_1999(4);
9590   m_fixed_layer_bank_type = 1;
9591   neogeo_cmc50_m1_decrypt();
9592   kof2000_neogeo_gfx_decrypt(0x2e);
9593}
9594
9595DRIVER_INIT_MEMBER(neogeo_state,mslug5)
9596{
9597   DRIVER_INIT_CALL(neogeo);
9598   mslug5_decrypt_68k();
9599   neo_pcm2_swap(2);
9600   m_fixed_layer_bank_type = 1;
9601   neogeo_cmc50_m1_decrypt();
9602   kof2000_neogeo_gfx_decrypt(0x19);
9603   install_pvc_protection();
9604}
9605
9606TIMER_CALLBACK_MEMBER(neogeo_state::ms5pcb_bios_timer_callback)
9607{
9608   int harddip3 = ioport("HARDDIP")->read() & 1;
9609   membank(NEOGEO_BANK_BIOS)->set_base(memregion("mainbios")->base() + 0x20000 + harddip3 * 0x20000);
9610}
9611
9612DRIVER_INIT_MEMBER(neogeo_state,ms5pcb)
9613{
9614   DRIVER_INIT_CALL(neogeo);
9615
9616   /* start a timer that will check the BIOS select DIP every second */
9617   machine().scheduler().timer_set(attotime::zero, timer_expired_delegate(FUNC(neogeo_state::ms5pcb_bios_timer_callback),this));
9618   machine().scheduler().timer_pulse(attotime::from_msec(1000), timer_expired_delegate(FUNC(neogeo_state::ms5pcb_bios_timer_callback),this));
9619
9620   mslug5_decrypt_68k();
9621   svcpcb_gfx_decrypt();
9622   neogeo_cmc50_m1_decrypt();
9623   kof2000_neogeo_gfx_decrypt(0x19);
9624   m_fixed_layer_bank_type = 2;
9625   svcpcb_s1data_decrypt();
9626   neo_pcm2_swap(2);
9627   install_pvc_protection();
9628}
9629
9630DRIVER_INIT_MEMBER(neogeo_state,ms5plus)
9631{
9632   DRIVER_INIT_CALL(neogeo);
9633   cmc50_neogeo_gfx_decrypt(0x19);
9634   neo_pcm2_swap(2);
9635   neogeo_bootleg_sx_decrypt(1);
9636   m_fixed_layer_bank_type = 1;
9637   neogeo_cmc50_m1_decrypt();
9638   install_ms5plus_protection();
9639}
9640
9641TIMER_CALLBACK_MEMBER(neogeo_state::svcpcb_bios_timer_callback)
9642{
9643   int harddip3 = ioport("HARDDIP")->read() & 1;
9644   membank(NEOGEO_BANK_BIOS)->set_base(memregion("mainbios")->base() + 0x20000 + harddip3 * 0x20000);
9645}
9646
9647DRIVER_INIT_MEMBER(neogeo_state,svcpcb)
9648{
9649   DRIVER_INIT_CALL(neogeo);
9650
9651   /* start a timer that will check the BIOS select DIP every second */
9652   machine().scheduler().timer_set(attotime::zero, timer_expired_delegate(FUNC(neogeo_state::svcpcb_bios_timer_callback),this));
9653   machine().scheduler().timer_pulse(attotime::from_msec(1000), timer_expired_delegate(FUNC(neogeo_state::svcpcb_bios_timer_callback),this));
9654
9655   svc_px_decrypt();
9656   svcpcb_gfx_decrypt();
9657   neogeo_cmc50_m1_decrypt();
9658   kof2000_neogeo_gfx_decrypt(0x57);
9659   svcpcb_s1data_decrypt();
9660   neo_pcm2_swap(3);
9661   m_fixed_layer_bank_type = 2;
9662   install_pvc_protection();
9663}
9664
9665DRIVER_INIT_MEMBER(neogeo_state,svc)
9666{
9667   DRIVER_INIT_CALL(neogeo);
9668   svc_px_decrypt();
9669   neo_pcm2_swap(3);
9670   m_fixed_layer_bank_type = 2;
9671   neogeo_cmc50_m1_decrypt();
9672   kof2000_neogeo_gfx_decrypt(0x57);
9673   install_pvc_protection();
9674}
9675
9676DRIVER_INIT_MEMBER(neogeo_state,svcboot)
9677{
9678   DRIVER_INIT_CALL(neogeo);
9679   svcboot_px_decrypt();
9680   svcboot_cx_decrypt();
9681   install_pvc_protection();
9682}
9683
9684DRIVER_INIT_MEMBER(neogeo_state,svcplus)
9685{
9686   DRIVER_INIT_CALL(neogeo);
9687   svcplus_px_decrypt();
9688   svcboot_cx_decrypt();
9689   neogeo_bootleg_sx_decrypt( 1);
9690   svcplus_px_hack();
9691}
9692
9693DRIVER_INIT_MEMBER(neogeo_state,svcplusa)
9694{
9695   DRIVER_INIT_CALL(neogeo);
9696   svcplusa_px_decrypt();
9697   svcboot_cx_decrypt();
9698   svcplus_px_hack();
9699}
9700
9701DRIVER_INIT_MEMBER(neogeo_state,svcsplus)
9702{
9703   DRIVER_INIT_CALL(neogeo);
9704   svcsplus_px_decrypt();
9705   neogeo_bootleg_sx_decrypt(2);
9706   svcboot_cx_decrypt();
9707   svcsplus_px_hack();
9708   install_pvc_protection();
9709}
9710
9711DRIVER_INIT_MEMBER(neogeo_state,samsho5)
9712{
9713   DRIVER_INIT_CALL(neogeo);
9714   samsho5_decrypt_68k();
9715   neo_pcm2_swap(4);
9716   m_fixed_layer_bank_type = 1;
9717   neogeo_cmc50_m1_decrypt();
9718   kof2000_neogeo_gfx_decrypt(0x0f);
9719}
9720
9721DRIVER_INIT_MEMBER(neogeo_state,samsho5b)
9722{
9723   DRIVER_INIT_CALL(neogeo);
9724   samsho5b_px_decrypt();
9725   samsho5b_vx_decrypt();
9726   neogeo_bootleg_sx_decrypt(1);
9727   neogeo_bootleg_cx_decrypt();
9728}
9729
9730DRIVER_INIT_MEMBER(neogeo_state,kf2k3pcb)
9731{
9732   DRIVER_INIT_CALL(neogeo);
9733   kf2k3pcb_decrypt_68k();
9734   kf2k3pcb_gfx_decrypt();
9735   kof2003biosdecode();
9736   neogeo_cmc50_m1_decrypt();
9737
9738   /* extra little swap on the m1 - this must be performed AFTER the m1 decrypt
9739      or the m1 checksum (used to generate the key) for decrypting the m1 is
9740      incorrect */
9741   {
9742      int i;
9743      UINT8* rom = memregion("audiocpu")->base();
9744      for (i = 0; i < 0x90000; i++)
9745      {
9746         rom[i] = BITSWAP8(rom[i], 5, 6, 1, 4, 3, 0, 7, 2);
9747      }
9748   }
9749
9750   kof2000_neogeo_gfx_decrypt(0x9d);
9751   kf2k3pcb_decrypt_s1data();
9752   neo_pcm2_swap(5);
9753   m_fixed_layer_bank_type = 2;
9754   install_pvc_protection();
9755   m_maincpu->space(AS_PROGRAM).install_read_bank(0xc00000, 0xc7ffff, "bios" );  // 512k bios
9756}
9757
9758DRIVER_INIT_MEMBER(neogeo_state,kof2003)
9759{
9760   DRIVER_INIT_CALL(neogeo);
9761   kof2003_decrypt_68k();
9762   neo_pcm2_swap(5);
9763   m_fixed_layer_bank_type = 2;
9764   neogeo_cmc50_m1_decrypt();
9765   kof2000_neogeo_gfx_decrypt(0x9d);
9766   install_pvc_protection();
9767}
9768
9769DRIVER_INIT_MEMBER(neogeo_state,kof2003h)
9770{
9771   DRIVER_INIT_CALL(neogeo);
9772   kof2003h_decrypt_68k();
9773   neo_pcm2_swap(5);
9774   m_fixed_layer_bank_type = 2;
9775   neogeo_cmc50_m1_decrypt();
9776   kof2000_neogeo_gfx_decrypt(0x9d);
9777   install_pvc_protection();
9778}
9779
9780DRIVER_INIT_MEMBER(neogeo_state,kf2k3bl)
9781{
9782   DRIVER_INIT_CALL(neogeo);
9783   cmc50_neogeo_gfx_decrypt(0x9d);
9784   neo_pcm2_swap(5);
9785   neogeo_bootleg_sx_decrypt(1);
9786   kf2k3bl_install_protection();
9787}
9788
9789DRIVER_INIT_MEMBER(neogeo_state,kf2k3pl)
9790{
9791   DRIVER_INIT_CALL(neogeo);
9792   cmc50_neogeo_gfx_decrypt(0x9d);
9793   neo_pcm2_swap(5);
9794   kf2k3pl_px_decrypt();
9795   neogeo_bootleg_sx_decrypt(1);
9796   kf2k3pl_install_protection();
9797}
9798
9799DRIVER_INIT_MEMBER(neogeo_state,kf2k3upl)
9800{
9801   DRIVER_INIT_CALL(neogeo);
9802   cmc50_neogeo_gfx_decrypt(0x9d);
9803   neo_pcm2_swap(5);
9804   kf2k3upl_px_decrypt();
9805   neogeo_bootleg_sx_decrypt(2);
9806   kf2k3upl_install_protection();
9807}
9808
9809DRIVER_INIT_MEMBER(neogeo_state,samsh5sp)
9810{
9811   DRIVER_INIT_CALL(neogeo);
9812   samsh5sp_decrypt_68k();
9813   neo_pcm2_swap(6);
9814   m_fixed_layer_bank_type = 1;
9815   neogeo_cmc50_m1_decrypt();
9816   kof2000_neogeo_gfx_decrypt(0x0d);
9817}
9818
9819DRIVER_INIT_MEMBER(neogeo_state,jockeygp)
9820{
9821   DRIVER_INIT_CALL(neogeo);
9822   m_fixed_layer_bank_type = 1;
9823   neogeo_cmc50_m1_decrypt();
9824   kof2000_neogeo_gfx_decrypt(0xac);
9825
9826   /* install some extra RAM */
9827   m_maincpu->space(AS_PROGRAM).install_ram(0x200000, 0x201fff);
9828
9829//  m_maincpu->space(AS_PROGRAM).install_read_port(0x280000, 0x280001, "IN5");
9830//  m_maincpu->space(AS_PROGRAM).install_read_port(0x2c0000, 0x2c0001, "IN6");
9831}
9832
9833DRIVER_INIT_MEMBER(neogeo_state,vliner)
9834{
9835   m_maincpu->space(AS_PROGRAM).install_ram(0x200000, 0x201fff);
9836
9837   m_maincpu->space(AS_PROGRAM).install_read_port(0x280000, 0x280001, "IN5");
9838   m_maincpu->space(AS_PROGRAM).install_read_port(0x2c0000, 0x2c0001, "IN6");
9839
9840   DRIVER_INIT_CALL(neogeo);
9841}
9842
9843DRIVER_INIT_MEMBER(neogeo_state,kof97oro)
9844{
9845   kof97oro_px_decode();
9846   neogeo_bootleg_sx_decrypt(1);
9847   neogeo_bootleg_cx_decrypt();
9848   DRIVER_INIT_CALL(neogeo);
9849}
9850
9851DRIVER_INIT_MEMBER(neogeo_state,kog)
9852{
9853   /* overlay cartridge ROM */
9854   m_maincpu->space(AS_PROGRAM).install_read_port(0x0ffffe, 0x0fffff, "JUMPER");
9855
9856   kog_px_decrypt();
9857   neogeo_bootleg_sx_decrypt(1);
9858   neogeo_bootleg_cx_decrypt();
9859   DRIVER_INIT_CALL(neogeo);
9860}
9861
9862DRIVER_INIT_MEMBER(neogeo_state,lans2004)
9863{
9864   lans2004_decrypt_68k();
9865   lans2004_vx_decrypt();
9866   neogeo_bootleg_sx_decrypt(1);
9867   neogeo_bootleg_cx_decrypt();
9868   DRIVER_INIT_CALL(neogeo);
9869}
9870
9871READ16_MEMBER( neogeo_state::sbp_lowerrom_r )
9872{
9873   UINT16* rom = (UINT16*)memregion("maincpu")->base();
9874   UINT16 origdata = rom[(offset+(0x200/2))];
9875   UINT16 data =  BITSWAP16(origdata, 11,10,9,8,15,14,13,12,3,2,1,0,7,6,5,4);
9876   int realoffset = 0x200+(offset*2);
9877   logerror("sbp_lowerrom_r offset %08x data %04x\n", realoffset, data );
9878
9879   // there is actually data in the rom here already, maybe we should just return it 'as is'
9880   if (realoffset==0xd5e) return origdata;
9881
9882   return data;
9883}
9884
9885WRITE16_MEMBER( neogeo_state::sbp_lowerrom_w )
9886{
9887   int realoffset = 0x200+(offset*2);
9888
9889   // the actual data written is just pulled from the end of the rom, and unused space
9890   // maybe this is just some kind of watchdog for the protection device and it doesn't
9891   // matter?
9892   if (realoffset == 0x1080)
9893   {
9894      if (data==0x4e75)
9895      {
9896         return;
9897      }
9898      else if (data==0xffff)
9899      {
9900         return;
9901      }
9902   }
9903
9904   printf("sbp_lowerrom_w offset %08x data %04x\n", realoffset, data );
9905}
9906
9907DRIVER_INIT_MEMBER(neogeo_state,sbp)
9908{
9909   // there seems to be a protection device living around here..
9910   // if you nibble swap the data in the rom the game will boot
9911   // there are also writes to 0x1080..
9912   //
9913   // other stuff going on as well tho, the main overlay is still missing, and p1 inputs don't work
9914   m_maincpu->space(AS_PROGRAM).install_read_handler(0x00200, 0x001fff, read16_delegate(FUNC(neogeo_state::sbp_lowerrom_r),this));
9915   m_maincpu->space(AS_PROGRAM).install_write_handler(0x00200, 0x001fff, write16_delegate(FUNC(neogeo_state::sbp_lowerrom_w),this));
9916
9917   /* the game code clears the text overlay used ingame immediately after writing it.. why? protection? sloppy code that the hw ignores? imperfect emulation? */
9918   {
9919      UINT16* rom = (UINT16*)memregion("maincpu")->base();
9920
9921      rom[0x2a6f8/2] = 0x4e71;
9922      rom[0x2a6fa/2] = 0x4e71;
9923      rom[0x2a6fc/2] = 0x4e71;
9924   }
9925
9926}
9927
9928
9929/****************************************************************************
9930
9931    Softlist stuff
9932
9933****************************************************************************/
9934
9935
9936DRIVER_INIT_MEMBER(neogeo_state,mvs)
9937{
9938   DRIVER_INIT_CALL(neogeo);
9939}
9940
9941
9942// handle protected carts
9943void neogeo_state::mvs_install_protection(device_image_interface& image)
9944{
9945   const char *crypt_feature = image.get_feature( "crypt" );
9946
9947   if(crypt_feature == NULL)
9948   {
9949      DRIVER_INIT_CALL(neogeo);
9950   }
9951   else
9952   {
9953      /* work out which Driver Init decryption function to call based on flag in softlist
9954       - note this is called AFTER the regular DRIVER_INIT */
9955
9956      if(strcmp(crypt_feature,"mslugx_prot") == 0)        { DRIVER_INIT_CALL(mslugx); }
9957      else if(strcmp(crypt_feature,"fatfury2_prot") == 0) { DRIVER_INIT_CALL(fatfury2); }
9958      else if(strcmp(crypt_feature,"kog_prot") == 0)      { DRIVER_INIT_CALL(kog); }
9959      else if(strcmp(crypt_feature,"kof97oro_prot") == 0) { DRIVER_INIT_CALL(kof97oro); }
9960      else if(strcmp(crypt_feature,"kof98_prot") == 0)    { DRIVER_INIT_CALL(kof98); }
9961      else if(strcmp(crypt_feature,"kof99_prot") == 0)    { DRIVER_INIT_CALL(kof99); }
9962      else if(strcmp(crypt_feature,"kof99k_prot") == 0)   { DRIVER_INIT_CALL(kof99k); }
9963      else if(strcmp(crypt_feature,"garou_prot") == 0)    { DRIVER_INIT_CALL(garou); }
9964      else if(strcmp(crypt_feature,"garouh_prot") == 0)   { DRIVER_INIT_CALL(garouh); }
9965      else if(strcmp(crypt_feature,"garoubl_prot") == 0)  { DRIVER_INIT_CALL(garoubl); }
9966      else if(strcmp(crypt_feature,"mslug3_prot") == 0)   { DRIVER_INIT_CALL(mslug3); }
9967      else if(strcmp(crypt_feature,"mslug3h_prot") == 0)  { DRIVER_INIT_CALL(mslug3h); }
9968      else if(strcmp(crypt_feature,"mslug3b6_prot") == 0) { DRIVER_INIT_CALL(mslug3b6); }
9969      else if(strcmp(crypt_feature,"kof2000_prot") == 0)  { DRIVER_INIT_CALL(kof2000); }
9970      else if(strcmp(crypt_feature,"kof2000n_prot") == 0) { DRIVER_INIT_CALL(kof2000n); }
9971      else if(strcmp(crypt_feature,"sengoku3_prot") == 0) { DRIVER_INIT_CALL(sengoku3); }
9972      else if(strcmp(crypt_feature,"zupapa_prot") == 0)   { DRIVER_INIT_CALL(zupapa); }
9973      else if(strcmp(crypt_feature,"kof2001_prot") == 0)  { DRIVER_INIT_CALL(kof2001); }
9974      else if(strcmp(crypt_feature,"cthd2003_prot") == 0) { DRIVER_INIT_CALL(cthd2003); }
9975      else if(strcmp(crypt_feature,"ct2k3sp_prot") == 0)  { DRIVER_INIT_CALL(ct2k3sp); }
9976      else if(strcmp(crypt_feature,"ct2k3sa_prot") == 0)  { DRIVER_INIT_CALL(ct2k3sa); }
9977      else if(strcmp(crypt_feature,"kof2002_prot") == 0)  { DRIVER_INIT_CALL(kof2002); }
9978      else if(strcmp(crypt_feature,"kof2002b_prot") == 0) { DRIVER_INIT_CALL(kof2002b); }
9979      else if(strcmp(crypt_feature,"kf2k2pls_prot") == 0) { DRIVER_INIT_CALL(kf2k2pls); }
9980      else if(strcmp(crypt_feature,"kf2k2mp_prot") == 0)  { DRIVER_INIT_CALL(kf2k2mp); }
9981      else if(strcmp(crypt_feature,"kf2k2mp2_prot") == 0) { DRIVER_INIT_CALL(kf2k2mp2); }
9982      else if(strcmp(crypt_feature,"kof10th_prot") == 0)  { DRIVER_INIT_CALL(kof10th); }
9983      else if(strcmp(crypt_feature,"kf10thep_prot") == 0) { DRIVER_INIT_CALL(kf10thep); }
9984      else if(strcmp(crypt_feature,"kf2k5uni_prot") == 0) { DRIVER_INIT_CALL(kf2k5uni); }
9985      else if(strcmp(crypt_feature,"kof2k4se_prot") == 0) { DRIVER_INIT_CALL(kof2k4se); }
9986      else if(strcmp(crypt_feature,"mslug5_prot") == 0)   { DRIVER_INIT_CALL(mslug5); }
9987      else if(strcmp(crypt_feature,"ms5plus_prot") == 0)  { DRIVER_INIT_CALL(ms5plus); }
9988      else if(strcmp(crypt_feature,"svc_prot") == 0)      { DRIVER_INIT_CALL(svc); }
9989      else if(strcmp(crypt_feature,"svcboot_prot") == 0)  { DRIVER_INIT_CALL(svcboot); }
9990      else if(strcmp(crypt_feature,"svcplus_prot") == 0)  { DRIVER_INIT_CALL(svcplus); }
9991      else if(strcmp(crypt_feature,"svcplusa_prot") == 0) { DRIVER_INIT_CALL(svcplusa); }
9992      else if(strcmp(crypt_feature,"svcsplus_prot") == 0) { DRIVER_INIT_CALL(svcsplus); }
9993      else if(strcmp(crypt_feature,"samsho5_prot") == 0)  { DRIVER_INIT_CALL(samsho5); }
9994      else if(strcmp(crypt_feature,"samsho5b_prot") == 0) { DRIVER_INIT_CALL(samsho5b); }
9995      else if(strcmp(crypt_feature,"kof2003_prot") == 0)  { DRIVER_INIT_CALL(kof2003); }
9996      else if(strcmp(crypt_feature,"kof2003h_prot") == 0) { DRIVER_INIT_CALL(kof2003h); }
9997      else if(strcmp(crypt_feature,"kf2k3bl_prot") == 0)  { DRIVER_INIT_CALL(kf2k3bl); }
9998      else if(strcmp(crypt_feature,"kf2k3pl_prot") == 0)  { DRIVER_INIT_CALL(kf2k3pl); }
9999      else if(strcmp(crypt_feature,"kf2k3upl_prot") == 0) { DRIVER_INIT_CALL(kf2k3upl); }
10000      else if(strcmp(crypt_feature,"samsh5sp_prot") == 0) { DRIVER_INIT_CALL(samsh5sp); }
10001      else if(strcmp(crypt_feature,"preisle2_prot") == 0) { DRIVER_INIT_CALL(preisle2); }
10002      else if(strcmp(crypt_feature,"nitd_prot") == 0)     { DRIVER_INIT_CALL(nitd); }
10003      else if(strcmp(crypt_feature,"s1945p_prot") == 0)   { DRIVER_INIT_CALL(s1945p); }
10004      else if(strcmp(crypt_feature,"lans2004_prot") == 0) { DRIVER_INIT_CALL(lans2004); }
10005      else if(strcmp(crypt_feature,"pnyaa_prot") == 0)    { DRIVER_INIT_CALL(pnyaa); }
10006      else if(strcmp(crypt_feature,"ganryu_prot") == 0)   { DRIVER_INIT_CALL(ganryu); }
10007      else if(strcmp(crypt_feature,"bangbead_prot") == 0) { DRIVER_INIT_CALL(bangbead); }
10008      else if(strcmp(crypt_feature,"mslug4_prot") == 0)   { DRIVER_INIT_CALL(mslug4); }
10009      else if(strcmp(crypt_feature,"ms4plus_prot") == 0)  { DRIVER_INIT_CALL(ms4plus); }
10010      else if(strcmp(crypt_feature,"rotd_prot") == 0)     { DRIVER_INIT_CALL(rotd); }
10011      else if(strcmp(crypt_feature,"matrim_prot") == 0)   { DRIVER_INIT_CALL(matrim); }
10012      else if(strcmp(crypt_feature,"matrimbl_prot") == 0) { DRIVER_INIT_CALL(matrimbl); }
10013      else { fatalerror("unknown crypt type\n"); }
10014   }
10015}
10016
10017
10018/****************************************************************************/
10019
10020
10021/*    YEAR  NAME        PARENT    COMPAT    MACHINE   INPUT     INIT    */
10022CONS( 1990, neogeo,     0,        0,        mvs,      neogeo,   neogeo_state, mvs,  "SNK", "Neo-Geo", GAME_IS_BIOS_ROOT | GAME_SUPPORTS_SAVE )
10023
10024/*    YEAR  NAME        PARENT    MACHINE   INPUT     INIT      MONITOR */
10025/* SNK */
10026GAME( 1990, nam1975,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "NAM-1975 (NGM-001)(NGH-001)", GAME_SUPPORTS_SAVE )
10027GAME( 1990, bstars,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Baseball Stars Professional (NGM-002)", GAME_SUPPORTS_SAVE )
10028GAME( 1990, bstarsh,    bstars,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Baseball Stars Professional (NGH-002)", GAME_SUPPORTS_SAVE )
10029GAME( 1990, tpgolf,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Top Player's Golf (NGM-003)(NGH-003)", GAME_SUPPORTS_SAVE )
10030GAME( 1990, mahretsu,   neogeo,   neogeo,   mjneogeo, neogeo_state, neogeo,   ROT0, "SNK", "Mahjong Kyo Retsuden (NGM-004)(NGH-004)", GAME_SUPPORTS_SAVE )
10031GAME( 1990, ridhero,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Riding Hero (NGM-006)(NGH-006)", GAME_SUPPORTS_SAVE )
10032GAME( 1990, ridheroh,   ridhero,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Riding Hero (set 2)", GAME_SUPPORTS_SAVE )
10033GAME( 1991, alpham2,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Alpha Mission II / ASO II - Last Guardian (NGM-007)(NGH-007)", GAME_SUPPORTS_SAVE )
10034GAME( 1991, alpham2p,   alpham2,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Alpha Mission II / ASO II - Last Guardian (prototype)", GAME_SUPPORTS_SAVE )
10035GAME( 1990, cyberlip,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Cyber-Lip (NGM-010)", GAME_SUPPORTS_SAVE )
10036GAME( 1990, superspy,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Super Spy (NGM-011)(NGH-011)", GAME_SUPPORTS_SAVE )
10037GAME( 1992, mutnat,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Mutation Nation (NGM-014)(NGH-014)", GAME_SUPPORTS_SAVE )
10038GAME( 1991, kotm,       neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "King of the Monsters (set 1)", GAME_SUPPORTS_SAVE )
10039GAME( 1991, kotmh,      kotm,     neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "King of the Monsters (set 2)", GAME_SUPPORTS_SAVE )
10040GAME( 1991, sengoku,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Sengoku / Sengoku Denshou (NGM-017)(NGH-017)", GAME_SUPPORTS_SAVE )
10041GAME( 1991, sengokuh,   sengoku,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Sengoku / Sengoku Denshou (NGH-017)(US)", GAME_SUPPORTS_SAVE )
10042GAME( 1991, burningf,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Burning Fight (NGM-018)(NGH-018)", GAME_SUPPORTS_SAVE )
10043GAME( 1991, burningfh,  burningf, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Burning Fight (NGH-018)(US)", GAME_SUPPORTS_SAVE )
10044GAME( 1991, burningfp,  burningf, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Burning Fight (prototype)", GAME_SUPPORTS_SAVE )
10045GAME( 1990, lbowling,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "League Bowling (NGM-019)(NGH-019)", GAME_SUPPORTS_SAVE )
10046GAME( 1991, gpilots,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Ghost Pilots (NGM-020)(NGH-020)", GAME_SUPPORTS_SAVE )
10047GAME( 1991, gpilotsh,   gpilots,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Ghost Pilots (NGH-020)(US)", GAME_SUPPORTS_SAVE )
10048GAME( 1990, joyjoy,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Puzzled / Joy Joy Kid (NGM-021)(NGH-021)", GAME_SUPPORTS_SAVE )
10049GAME( 1991, quizdais,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Quiz Daisousa Sen - The Last Count Down (NGM-023)(NGH-023)", GAME_SUPPORTS_SAVE )
10050GAME( 1991, quizdaisk,  quizdais, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Quiz Daisousa Sen - The Last Count Down (Korean release)", GAME_SUPPORTS_SAVE )
10051GAME( 1992, lresort,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Last Resort", GAME_SUPPORTS_SAVE )
10052GAME( 1991, eightman,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK / Pallas", "Eight Man (NGM-025)(NGH-025)", GAME_SUPPORTS_SAVE )
10053GAME( 1991, legendos,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Legend of Success Joe / Ashita no Joe Densetsu", GAME_SUPPORTS_SAVE )
10054GAME( 1991, 2020bb,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK / Pallas", "2020 Super Baseball (set 1)", GAME_SUPPORTS_SAVE )
10055GAME( 1991, 2020bba,    2020bb,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK / Pallas", "2020 Super Baseball (set 2)", GAME_SUPPORTS_SAVE )
10056GAME( 1991, 2020bbh,    2020bb,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK / Pallas", "2020 Super Baseball (set 3)", GAME_SUPPORTS_SAVE )
10057GAME( 1991, socbrawl,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Soccer Brawl (NGM-031)", GAME_SUPPORTS_SAVE )
10058GAME( 1991, socbrawlh,  socbrawl, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Soccer Brawl (NGH-031)", GAME_SUPPORTS_SAVE )
10059GAME( 1991, fatfury1,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Fatal Fury - King of Fighters / Garou Densetsu - shukumei no tatakai (NGM-033)(NGH-033)", GAME_SUPPORTS_SAVE )
10060GAME( 1991, roboarmy,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Robo Army", GAME_SUPPORTS_SAVE )
10061//GAME( 1991, roboarma,   roboarmy, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Robo Army (set 2)", GAME_SUPPORTS_SAVE )
10062GAME( 1992, fbfrenzy,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Football Frenzy (NGM-034)(NGH-034)", GAME_SUPPORTS_SAVE )
10063GAME( 1992, kotm2,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "King of the Monsters 2 - The Next Thing (NGM-039)(NGH-039)", GAME_SUPPORTS_SAVE )
10064GAME( 1992, kotm2p,     kotm2,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "King of the Monsters 2 - The Next Thing (prototype)", GAME_SUPPORTS_SAVE )
10065GAME( 1993, sengoku2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Sengoku 2 / Sengoku Denshou 2", GAME_SUPPORTS_SAVE )
10066GAME( 1992, bstars2,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Baseball Stars 2", GAME_SUPPORTS_SAVE )
10067GAME( 1992, quizdai2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Quiz Meitantei Neo & Geo - Quiz Daisousa Sen part 2 (NGM-042)(NGH-042)", GAME_SUPPORTS_SAVE )
10068GAME( 1993, 3countb,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "3 Count Bout / Fire Suplex (NGM-043)(NGH-043)", GAME_SUPPORTS_SAVE )
10069GAME( 1992, aof,        neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Art of Fighting / Ryuuko no Ken (NGM-044)(NGH-044)", GAME_SUPPORTS_SAVE )
10070GAME( 1993, samsho,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown / Samurai Spirits (NGM-045)", GAME_SUPPORTS_SAVE )
10071GAME( 1993, samshoh,    samsho,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown / Samurai Spirits (NGH-045)", GAME_SUPPORTS_SAVE )
10072GAME( 1994, tophuntr,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Top Hunter - Roddy & Cathy (NGM-046)", GAME_SUPPORTS_SAVE )
10073GAME( 1994, tophuntrh,  tophuntr, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Top Hunter - Roddy & Cathy (NGH-046)", GAME_SUPPORTS_SAVE )
10074GAME( 1992, fatfury2,   neogeo,   neogeo,   neogeo, neogeo_state,   fatfury2, ROT0, "SNK", "Fatal Fury 2 / Garou Densetsu 2 - arata-naru tatakai (NGM-047)(NGH-047)", GAME_SUPPORTS_SAVE )
10075GAME( 1992, ssideki,    neogeo,   neogeo,   neogeo, neogeo_state,   fatfury2, ROT0, "SNK", "Super Sidekicks / Tokuten Ou", GAME_SUPPORTS_SAVE )
10076GAME( 1994, kof94,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '94 (NGM-055)(NGH-055)", GAME_SUPPORTS_SAVE )
10077GAME( 1994, aof2,       neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Art of Fighting 2 / Ryuuko no Ken 2 (NGM-056)", GAME_SUPPORTS_SAVE )
10078GAME( 1994, aof2a,      aof2,     neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Art of Fighting 2 / Ryuuko no Ken 2 (NGH-056)", GAME_SUPPORTS_SAVE )
10079GAME( 1993, fatfursp,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Fatal Fury Special / Garou Densetsu Special (set 1)(NGM-058)(NGH-058)", GAME_SUPPORTS_SAVE )
10080GAME( 1993, fatfurspa,  fatfursp, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Fatal Fury Special / Garou Densetsu Special (set 2)(NGM-058)(NGH-058)", GAME_SUPPORTS_SAVE )
10081GAME( 1995, savagere,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Savage Reign / Fu'un Mokushiroku - kakutou sousei", GAME_SUPPORTS_SAVE )
10082GAME( 1994, ssideki2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Super Sidekicks 2 - The World Championship / Tokuten Ou 2 - real fight football (NGM-061)(NGH-061)", GAME_SUPPORTS_SAVE )
10083GAME( 1994, samsho2,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown II / Shin Samurai Spirits - Haohmaru jigokuhen (NGM-063)(NGH-063)", GAME_SUPPORTS_SAVE )
10084GAME( 1994, samsho2k,   samsho2,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Saulabi Spirits / Jin Saulabi Tu Hon (Korean release of Samurai Shodown II)", GAME_SUPPORTS_SAVE ) // official or hack?
10085GAME( 1995, fatfury3,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Fatal Fury 3 - Road to the Final Victory / Garou Densetsu 3 - haruka-naru tatakai (NGM-069)(NGH-069)", GAME_SUPPORTS_SAVE )
10086GAME( 1995, ssideki3,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Super Sidekicks 3 - The Next Glory / Tokuten Ou 3 - eikou e no michi", GAME_SUPPORTS_SAVE )
10087GAME( 1995, kof95,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '95 (NGM-084)", GAME_SUPPORTS_SAVE )
10088GAME( 1995, kof95h,     kof95,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '95 (NGH-084)", GAME_SUPPORTS_SAVE )
10089GAME( 1995, samsho3,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown III / Samurai Spirits - Zankurou Musouken (NGM-087)", GAME_SUPPORTS_SAVE )
10090GAME( 1995, samsho3h,   samsho3,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown III / Samurai Spirits - Zankurou Musouken (NGH-087)", GAME_SUPPORTS_SAVE )
10091GAME( 1995, fswords,    samsho3,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Fighters Swords (Korean release of Samurai Shodown III)", GAME_SUPPORTS_SAVE )
10092GAME( 1995, rbff1,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury / Real Bout Garou Densetsu (NGM-095)(NGH-095)", GAME_SUPPORTS_SAVE )
10093GAME( 1995, rbff1a,     rbff1,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury / Real Bout Garou Densetsu (bug fix revision)", GAME_SUPPORTS_SAVE )
10094GAME( 1996, aof3,       neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Art of Fighting 3 - The Path of the Warrior / Art of Fighting - Ryuuko no Ken Gaiden", GAME_SUPPORTS_SAVE )
10095GAME( 1996, aof3k,      aof3,     neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Art of Fighting 3 - The Path of the Warrior (Korean release)", GAME_SUPPORTS_SAVE ) // no Japanese title / mode
10096GAME( 1996, kof96,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '96 (NGM-214)", GAME_SUPPORTS_SAVE )
10097GAME( 1996, kof96h,     kof96,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '96 (NGH-214)", GAME_SUPPORTS_SAVE )
10098GAME( 1996, ssideki4,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Ultimate 11 - The SNK Football Championship / Tokuten Ou - Honoo no Libero", GAME_SUPPORTS_SAVE )
10099GAME( 1996, kizuna,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Kizuna Encounter - Super Tag Battle / Fu'un Super Tag Battle", GAME_SUPPORTS_SAVE )
10100GAME( 1996, samsho4,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Samurai Shodown IV - Amakusa's Revenge / Samurai Spirits - Amakusa Kourin (NGM-222)(NGH-222)", GAME_SUPPORTS_SAVE )
10101GAME( 1996, samsho4k,   samsho4,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Pae Wang Jeon Seol / Legend of a Warrior (Korean censored Samurai Shodown IV)", GAME_SUPPORTS_SAVE )
10102GAME( 1996, rbffspec,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special", GAME_SUPPORTS_SAVE )
10103GAME( 1996, rbffspeck,  rbffspec, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special (Korean release)", GAME_SUPPORTS_SAVE )
10104GAME( 1997, kof97,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '97 (NGM-2320)", GAME_SUPPORTS_SAVE )
10105GAME( 1997, kof97h,     kof97,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '97 (NGH-2320)", GAME_SUPPORTS_SAVE )
10106GAME( 1997, kof97k,     kof97,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '97 (Korean release)", GAME_SUPPORTS_SAVE )
10107GAME( 1997, kof97pls,   kof97,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "bootleg", "The King of Fighters '97 Plus (bootleg)", GAME_SUPPORTS_SAVE )
10108GAME( 1997, kof97oro,   kof97,    neogeo,   neogeo, neogeo_state,   kof97oro, ROT0, "bootleg", "The King of Fighters '97 Oroshi Plus 2003 (bootleg)", GAME_SUPPORTS_SAVE )
10109GAME( 1997, kog,        kof97,    neogeo,   kog,    neogeo_state,   kog,      ROT0, "bootleg", "King of Gladiator (The King of Fighters '97 bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // protected bootleg
10110GAME( 1997, lastblad,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Last Blade / Bakumatsu Roman - Gekka no Kenshi (NGM-2340)", GAME_SUPPORTS_SAVE )
10111GAME( 1997, lastbladh,  lastblad, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Last Blade / Bakumatsu Roman - Gekka no Kenshi (NGH-2340)", GAME_SUPPORTS_SAVE )
10112GAME( 1997, lastsold,   lastblad, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Last Soldier (Korean release of The Last Blade)", GAME_SUPPORTS_SAVE )
10113GAME( 1997, irrmaze,    neogeo,   neogeo,   irrmaze, neogeo_state,  neogeo,   ROT0, "SNK / Saurus", "The Irritating Maze / Ultra Denryu Iraira Bou", GAME_SUPPORTS_SAVE )
10114GAME( 1998, rbff2,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (NGM-2400)", GAME_SUPPORTS_SAVE )
10115GAME( 1998, rbff2h,     rbff2,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (NGH-2400)", GAME_SUPPORTS_SAVE )
10116GAME( 1998, rbff2k,     rbff2,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers (Korean release)", GAME_SUPPORTS_SAVE ) // no Japanese title / mode
10117GAME( 1998, mslug2,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Metal Slug 2 - Super Vehicle-001/II (NGM-2410)(NGH-2410)", GAME_SUPPORTS_SAVE )
10118GAME( 1998, kof98,      neogeo,   neogeo,   neogeo, neogeo_state,   kof98,    ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (NGM-2420)", GAME_SUPPORTS_SAVE )
10119GAME( 1998, kof98k,     kof98,    neogeo,   neogeo, neogeo_state,   kof98,    ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (Korean board)", GAME_SUPPORTS_SAVE )
10120GAME( 1998, kof98ka,    kof98,    neogeo,   neogeo, neogeo_state,   kof98,    ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (Korean board 2)", GAME_SUPPORTS_SAVE )
10121GAME( 1998, kof98h,     kof98,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (NGH-2420)", GAME_SUPPORTS_SAVE )
10122GAME( 1998, lastbld2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The Last Blade 2 / Bakumatsu Roman - Dai Ni Maku Gekka no Kenshi (NGM-2430)(NGH-2430)", GAME_SUPPORTS_SAVE )
10123GAME( 1998, neocup98,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Neo-Geo Cup '98 - The Road to the Victory", GAME_SUPPORTS_SAVE )
10124GAME( 1999, mslugx,     neogeo,   neogeo,   neogeo, neogeo_state,   mslugx,   ROT0, "SNK", "Metal Slug X - Super Vehicle-001 (NGM-2500)(NGH-2500)", GAME_SUPPORTS_SAVE )
10125GAME( 1999, kof99,      neogeo,   neogeo,   neogeo, neogeo_state,   kof99,    ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGM-2510)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10126GAME( 1999, kof99h,     kof99,    neogeo,   neogeo, neogeo_state,   kof99,    ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGH-2510)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX, crashes going into attract demo */
10127GAME( 1999, kof99e,     kof99,    neogeo,   neogeo, neogeo_state,   kof99,    ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (earlier)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10128GAME( 1999, kof99k,     kof99,    neogeo,   neogeo, neogeo_state,   kof99k,   ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (Korean release)" , GAME_SUPPORTS_SAVE )   /* Encrypted GFX */
10129GAME( 1999, kof99p,     kof99,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (prototype)", GAME_SUPPORTS_SAVE )
10130GAME( 1999, garou,      neogeo,   neogeo,   neogeo, neogeo_state,   garou,    ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10131GAME( 1999, garouh,     garou,    neogeo,   neogeo, neogeo_state,   garouh,   ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530)(NGH-2530)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10132GAME( 1999, garoup,     garou,    neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "SNK", "Garou - Mark of the Wolves (prototype)", GAME_SUPPORTS_SAVE )
10133GAME( 1999, garoubl,    garou,    neogeo,   neogeo, neogeo_state,   garoubl,  ROT0, "bootleg", "Garou - Mark of the Wolves (bootleg)", GAME_SUPPORTS_SAVE ) /* Bootleg of garoup */
10134GAME( 2000, mslug3,     neogeo,   neogeo,   neogeo, neogeo_state,   mslug3,   ROT0, "SNK", "Metal Slug 3 (NGM-2560)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10135GAME( 2000, mslug3h,    mslug3,   neogeo,   neogeo, neogeo_state,   mslug3h,  ROT0, "SNK", "Metal Slug 3 (NGH-2560)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10136GAME( 2000, mslug3b6,   mslug3,   neogeo,   neogeo, neogeo_state,   mslug3b6, ROT0, "bootleg", "Metal Slug 6 (Metal Slug 3 bootleg)", GAME_SUPPORTS_SAVE ) /* real Metal Slug 6 is an Atomiswave HW game, see naomi.c ;-) */
10137GAME( 2000, kof2000,    neogeo,   neogeo,   neogeo, neogeo_state,   kof2000,  ROT0, "SNK", "The King of Fighters 2000 (NGM-2570) (NGH-2570)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
10138GAME( 2000, kof2000n,   kof2000,  neogeo,   neogeo, neogeo_state,   kof2000n, ROT0, "SNK", "The King of Fighters 2000 (not encrypted)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10139GAME( 2001, zupapa,     neogeo,   neogeo,   neogeo, neogeo_state,   zupapa,   ROT0, "SNK", "Zupapa!" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10140GAME( 2001, sengoku3,   neogeo,   neogeo,   neogeo, neogeo_state,   sengoku3, ROT0, "Noise Factory / SNK", "Sengoku 3 / Sengoku Densho 2001" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10141GAME( 2001, kof2001,    neogeo,   neogeo,   neogeo, neogeo_state,   kof2001,  ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGM-262?)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10142GAME( 2001, kof2001h,   kof2001,  neogeo,   neogeo, neogeo_state,   kof2001,  ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGH-2621)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10143GAME( 2003, cthd2003,   kof2001,  neogeo,   neogeo, neogeo_state,   cthd2003, ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Protected Hack / Bootleg of kof2001 */
10144GAME( 2003, ct2k3sp,    kof2001,  neogeo,   neogeo, neogeo_state,   ct2k3sp,  ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 Super Plus (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Protected Hack / Bootleg of kof2001 */
10145GAME( 2003, ct2k3sa,    kof2001,  neogeo,   neogeo, neogeo_state,   ct2k3sa,  ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 Super Plus alternate (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Hack / Bootleg of kof2001 */
10146GAME( 2002, kof2002,    neogeo,   neogeo,   neogeo, neogeo_state,   kof2002,  ROT0, "Eolith / Playmore", "The King of Fighters 2002 (NGM-2650)(NGH-2650)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10147GAME( 2002, kof2002b,   kof2002,  neogeo,   neogeo, neogeo_state,   kof2002b, ROT0, "bootleg", "The King of Fighters 2002 (bootleg)", GAME_SUPPORTS_SAVE )
10148GAME( 2002, kf2k2pls,   kof2002,  neogeo,   neogeo, neogeo_state,   kf2k2pls, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 1)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10149GAME( 2002, kf2k2pla,   kof2002,  neogeo,   neogeo, neogeo_state,   kf2k2pls, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 2)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10150GAME( 2002, kf2k2mp,    kof2002,  neogeo,   neogeo, neogeo_state,   kf2k2mp,  ROT0, "bootleg", "The King of Fighters 2002 Magic Plus (bootleg)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10151GAME( 2002, kf2k2mp2,   kof2002,  neogeo,   neogeo, neogeo_state,   kf2k2mp2, ROT0, "bootleg", "The King of Fighters 2002 Magic Plus II (bootleg)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10152GAME( 2002, kof10th,    kof2002,  neogeo,   neogeo, neogeo_state,   kof10th,  ROT0, "bootleg", "The King of Fighters 10th Anniversary (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
10153GAME( 2005, kf10thep,   kof2002,  neogeo,   neogeo, neogeo_state,   kf10thep, ROT0, "bootleg", "The King of Fighters 10th Anniversary Extra Plus (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
10154GAME( 2004, kf2k5uni,   kof2002,  neogeo,   neogeo, neogeo_state,   kf2k5uni, ROT0, "bootleg", "The King of Fighters 10th Anniversary 2005 Unique (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
10155GAME( 2004, kof2k4se,   kof2002,  neogeo,   neogeo, neogeo_state,   kof2k4se, ROT0, "bootleg", "The King of Fighters Special Edition 2004 (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) /* Hack / Bootleg of kof2002 */
10156GAME( 2003, mslug5,     neogeo,   neogeo,   neogeo, neogeo_state,   mslug5,   ROT0, "SNK Playmore", "Metal Slug 5 (NGM-2680)", GAME_SUPPORTS_SAVE )
10157GAME( 2003, mslug5h,    mslug5,   neogeo,   neogeo, neogeo_state,   mslug5,   ROT0, "SNK Playmore", "Metal Slug 5 (NGH-2680)", GAME_SUPPORTS_SAVE ) /* Also found in later MVS carts */
10158GAME( 2003, ms5pcb,     0,        neogeo,   ms5pcb, neogeo_state,   ms5pcb,   ROT0, "SNK Playmore", "Metal Slug 5 (JAMMA PCB)", GAME_SUPPORTS_SAVE )
10159GAME( 2003, ms5plus,    mslug5,   neogeo,   neogeo, neogeo_state,   ms5plus,  ROT0, "bootleg", "Metal Slug 5 Plus (bootleg)", GAME_SUPPORTS_SAVE )
10160GAME( 2003, svcpcb,     0,        neogeo,   svcpcb, neogeo_state,   svcpcb,   ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (JAMMA PCB, set 1)", GAME_SUPPORTS_SAVE ) // not a clone of neogeo because it's NOT a neogeo cart.
10161GAME( 2003, svcpcba,    svcpcb,   neogeo,   svcpcb, neogeo_state,   svcpcb,   ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (JAMMA PCB, set 2)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code */
10162GAME( 2003, svc,        neogeo,   neogeo,   neogeo, neogeo_state,   svc,      ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (NGM-2690)(NGH-2690)", GAME_SUPPORTS_SAVE )
10163GAME( 2003, svcboot,    svc,      neogeo,   neogeo, neogeo_state,   svcboot,  ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos (bootleg)", GAME_SUPPORTS_SAVE )
10164GAME( 2003, svcplus,    svc,      neogeo,   neogeo, neogeo_state,   svcplus,  ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Plus (bootleg set 1)", GAME_SUPPORTS_SAVE )
10165GAME( 2003, svcplusa,   svc,      neogeo,   neogeo, neogeo_state,   svcplusa, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Plus (bootleg set 2)", GAME_SUPPORTS_SAVE )
10166GAME( 2003, svcsplus,   svc,      neogeo,   neogeo, neogeo_state,   svcsplus, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Super Plus (bootleg)", GAME_SUPPORTS_SAVE )
10167GAME( 2003, samsho5,    neogeo,   neogeo,   neogeo, neogeo_state,   samsho5,  ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (NGM-2700)", GAME_SUPPORTS_SAVE )
10168GAME( 2003, samsho5h,   samsho5,  neogeo,   neogeo, neogeo_state,   samsho5,  ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (NGH-2700)", GAME_SUPPORTS_SAVE )
10169GAME( 2003, samsho5b,   samsho5,  neogeo,   neogeo, neogeo_state,   samsho5b, ROT0, "bootleg", "Samurai Shodown V / Samurai Spirits Zero (bootleg)", GAME_SUPPORTS_SAVE ) // different program scrambling
10170GAME( 2003, kf2k3pcb,   0,        neogeo,   neogeo, neogeo_state,   kf2k3pcb, ROT0, "SNK Playmore", "The King of Fighters 2003 (Japan, JAMMA PCB)", GAME_SUPPORTS_SAVE ) // not a clone of neogeo because it's NOT a neogeo cart.
10171GAME( 2003, kof2003,    neogeo,   neogeo,   neogeo, neogeo_state,   kof2003,  ROT0, "SNK Playmore", "The King of Fighters 2003 (NGM-2710)", GAME_SUPPORTS_SAVE )
10172GAME( 2003, kof2003h,   kof2003,  neogeo,   neogeo, neogeo_state,   kof2003h, ROT0, "SNK Playmore", "The King of Fighters 2003 (NGH-2710)", GAME_SUPPORTS_SAVE )
10173GAME( 2003, kf2k3bl,    kof2003,  neogeo,   neogeo, neogeo_state,   kf2k3bl , ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 1)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart (unless it was a bootleg pcb with the new bios?)
10174GAME( 2003, kf2k3bla,   kof2003,  neogeo,   neogeo, neogeo_state,   kf2k3pl,  ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 2)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
10175GAME( 2003, kf2k3pl,    kof2003,  neogeo,   neogeo, neogeo_state,   kf2k3pl,  ROT0, "bootleg", "The King of Fighters 2004 Plus / Hero (The King of Fighters 2003 bootleg)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
10176GAME( 2003, kf2k3upl,   kof2003,  neogeo,   neogeo, neogeo_state,   kf2k3upl, ROT0, "bootleg", "The King of Fighters 2004 Ultra Plus (The King of Fighters 2003 bootleg)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
10177GAME( 2004, samsh5sp,   neogeo,   neogeo,   neogeo, neogeo_state,   samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGM-2720)", GAME_SUPPORTS_SAVE )
10178GAME( 2004, samsh5sph,  samsh5sp, neogeo,   neogeo, neogeo_state,   samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720) (2nd release, less censored)", GAME_SUPPORTS_SAVE )
10179GAME( 2004, samsh5spho, samsh5sp, neogeo,   neogeo, neogeo_state,   samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720) (1st release, censored)", GAME_SUPPORTS_SAVE )
10180
10181/* there are other bootlegs kof96ep, kf2k1pls etc.? -- work out which should be supported */
10182
10183/* Alpha Denshi Co. / ADK (changed name in 1993) */
10184GAME( 1990, maglord,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Magician Lord (NGM-005)", GAME_SUPPORTS_SAVE )
10185GAME( 1990, maglordh,   maglord,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Magician Lord (NGH-005)", GAME_SUPPORTS_SAVE )
10186GAME( 1990, ncombat,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Ninja Combat (NGM-009)", GAME_SUPPORTS_SAVE )
10187GAME( 1990, ncombath,   ncombat,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Ninja Combat (NGH-009)", GAME_SUPPORTS_SAVE )
10188GAME( 1990, bjourney,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Blue's Journey / Raguy (ALM-001)(ALH-001)", GAME_SUPPORTS_SAVE )
10189GAME( 1991, crsword,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Crossed Swords (ALM-002)(ALH-002)", GAME_SUPPORTS_SAVE )
10190GAME( 1991, trally,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Thrash Rally (ALM-003)(ALH-003)", GAME_SUPPORTS_SAVE )
10191GAME( 1992, ncommand,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "Ninja Commando", GAME_SUPPORTS_SAVE )
10192GAME( 1992, wh1,        neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "World Heroes (ALM-005)", GAME_SUPPORTS_SAVE )
10193GAME( 1992, wh1h,       wh1,      neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "World Heroes (ALH-005)", GAME_SUPPORTS_SAVE )
10194GAME( 1992, wh1ha,      wh1,      neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Alpha Denshi Co.", "World Heroes (set 3)", GAME_SUPPORTS_SAVE )
10195GAME( 1993, wh2,        neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK",              "World Heroes 2 (ALM-006)(ALH-006)", GAME_SUPPORTS_SAVE )
10196GAME( 1994, wh2j,       neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "World Heroes 2 Jet (ADM-007)(ADH-007)", GAME_SUPPORTS_SAVE )
10197GAME( 1994, aodk,       neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "Aggressors of Dark Kombat / Tsuukai GANGAN Koushinkyoku (ADM-008)(ADH-008)", GAME_SUPPORTS_SAVE )
10198GAME( 1995, whp,        neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "World Heroes Perfect", GAME_SUPPORTS_SAVE )
10199GAME( 1995, mosyougi,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "Syougi No Tatsujin - Master of Syougi", GAME_SUPPORTS_SAVE )
10200GAME( 1996, overtop,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK",              "Over Top", GAME_SUPPORTS_SAVE )
10201GAME( 1996, ninjamas,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "Ninja Master's - haoh-ninpo-cho", GAME_SUPPORTS_SAVE )
10202GAME( 1996, twinspri,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "ADK / SNK",        "Twinkle Star Sprites", GAME_SUPPORTS_SAVE )
10203GAME( 1996, zintrckb,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "hack",             "Zintrick / Oshidashi Zentrix (hack)", GAME_SUPPORTS_SAVE )
10204
10205/* Aicom (was a part of Sammy) / Yumekobo (changed name in 1996) */
10206GAME( 1992, viewpoin,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Sammy / Aicom", "Viewpoint", GAME_SUPPORTS_SAVE )
10207GAME( 1994, janshin,    neogeo,   neogeo,   mjneogeo, neogeo_state, neogeo,   ROT0, "Aicom", "Jyanshin Densetsu - Quest of Jongmaster", GAME_SUPPORTS_SAVE )
10208GAME( 1995, pulstar,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Aicom", "Pulstar", GAME_SUPPORTS_SAVE )
10209GAME( 1998, blazstar,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Yumekobo", "Blazing Star", GAME_SUPPORTS_SAVE )
10210GAME( 1999, preisle2,   neogeo,   neogeo,   neogeo, neogeo_state,   preisle2, ROT0, "Yumekobo", "Prehistoric Isle 2" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10211
10212/* Data East Corporation */
10213GAME( 1993, spinmast,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Spin Master / Miracle Adventure", GAME_SUPPORTS_SAVE )
10214GAME( 1994, wjammers,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Windjammers / Flying Power Disc", GAME_SUPPORTS_SAVE )
10215GAME( 1994, karnovr,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Karnov's Revenge / Fighter's History Dynamite", GAME_SUPPORTS_SAVE )
10216GAME( 1994, strhoop,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Street Hoop / Street Slam / Dunk Dream (DEM-004) (DEH-004)", GAME_SUPPORTS_SAVE )
10217GAME( 1996, ghostlop,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Ghostlop (prototype)", GAME_SUPPORTS_SAVE )
10218GAME( 1996, magdrop2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Magical Drop II", GAME_SUPPORTS_SAVE )
10219GAME( 1997, magdrop3,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Data East Corporation", "Magical Drop III", GAME_SUPPORTS_SAVE )
10220
10221/* Eleven */
10222GAME( 2000, nitd,       neogeo,   neogeo,   neogeo, neogeo_state,   nitd,     ROT0, "Eleven / Gavaking", "Nightmare in the Dark" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10223GAME( 2001, nitdbl,     nitd,     neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "bootleg", "Nightmare in the Dark (bootleg)" , GAME_SUPPORTS_SAVE )
10224
10225/* Face */
10226GAME( 1994, gururin,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Face", "Gururin", GAME_SUPPORTS_SAVE )
10227GAME( 1997, miexchng,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Face", "Money Puzzle Exchanger / Money Idol Exchanger", GAME_SUPPORTS_SAVE )
10228
10229/* Hudson Soft */
10230GAME( 1994, panicbom,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Eighting / Hudson", "Panic Bomber", GAME_SUPPORTS_SAVE )
10231GAME( 1995, kabukikl,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Hudson", "Far East of Eden - Kabuki Klash / Tengai Makyou - Shin Den", GAME_SUPPORTS_SAVE )
10232GAME( 1997, neobombe,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Hudson", "Neo Bomberman", GAME_SUPPORTS_SAVE )
10233
10234/* Monolith Corp. */
10235GAME( 1990, minasan,    neogeo,   neogeo,   mjneogeo, neogeo_state, neogeo,   ROT0, "Monolith Corp.", "Minasanno Okagesamadesu! Daisugorokutaikai (MOM-001)(MOH-001)", GAME_SUPPORTS_SAVE )
10236GAME( 1991, bakatono,   neogeo,   neogeo,   mjneogeo, neogeo_state, neogeo,   ROT0, "Monolith Corp.", "Bakatonosama Mahjong Manyuuki (MOM-002)(MOH-002)", GAME_SUPPORTS_SAVE )
10237
10238/* Nazca (later acquired by SNK) */
10239GAME( 1996, turfmast,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Nazca", "Neo Turf Masters / Big Tournament Golf", GAME_SUPPORTS_SAVE )
10240GAME( 1996, mslug,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Nazca", "Metal Slug - Super Vehicle-001", GAME_SUPPORTS_SAVE )
10241
10242/* NMK */
10243GAME( 1994, zedblade,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "NMK", "Zed Blade / Operation Ragnarok", GAME_SUPPORTS_SAVE )
10244
10245/* Psikyo */
10246GAME( 1999, s1945p,     neogeo,   neogeo,   neogeo, neogeo_state,   s1945p,   ROT0, "Psikyo", "Strikers 1945 Plus" , GAME_SUPPORTS_SAVE )   /* Encrypted GFX */
10247
10248/* Saurus */
10249GAME( 1995, quizkof,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Quiz King of Fighters (SAM-080)(SAH-080)", GAME_SUPPORTS_SAVE )
10250GAME( 1995, quizkofk,   quizkof,  neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Quiz King of Fighters (Korean release)", GAME_SUPPORTS_SAVE )
10251GAME( 1995, stakwin,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Stakes Winner / Stakes Winner - GI kinzen seiha e no michi", GAME_SUPPORTS_SAVE )
10252GAME( 1996, ragnagrd,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Ragnagard / Shin-Oh-Ken", GAME_SUPPORTS_SAVE )
10253GAME( 1996, pgoal,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Pleasure Goal / Futsal - 5 on 5 Mini Soccer (NGM-219)", GAME_SUPPORTS_SAVE )
10254GAME( 1996, ironclad,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Choutetsu Brikin'ger - Iron clad (Prototype)", GAME_SUPPORTS_SAVE )
10255GAME( 1996, ironclado,  ironclad, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "bootleg", "Choutetsu Brikin'ger - Iron clad (Prototype, bootleg)", GAME_SUPPORTS_SAVE )
10256GAME( 1996, stakwin2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Stakes Winner 2", GAME_SUPPORTS_SAVE )
10257GAME( 1997, shocktro,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Shock Troopers (set 1)", GAME_SUPPORTS_SAVE )
10258GAME( 1997, shocktroa,  shocktro, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Shock Troopers (set 2)", GAME_SUPPORTS_SAVE )
10259GAME( 1998, shocktr2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Saurus", "Shock Troopers - 2nd Squad", GAME_SUPPORTS_SAVE )
10260GAME( 1998, lans2004,   shocktr2, neogeo,   neogeo, neogeo_state,   lans2004, ROT0, "bootleg", "Lansquenet 2004 (Shock Troopers - 2nd Squad bootleg)", GAME_SUPPORTS_SAVE )
10261
10262/* Sunsoft */
10263GAME( 1995, galaxyfg,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Sunsoft", "Galaxy Fight - Universal Warriors", GAME_SUPPORTS_SAVE )
10264GAME( 1996, wakuwak7,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Sunsoft", "Waku Waku 7", GAME_SUPPORTS_SAVE )
10265
10266/* Taito */
10267GAME( 1994, pbobblen,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Taito", "Puzzle Bobble / Bust-A-Move (Neo-Geo) (NGM-083)", GAME_SUPPORTS_SAVE )
10268GAME( 1994, pbobblenb,  pbobblen, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "bootleg", "Puzzle Bobble / Bust-A-Move (Neo-Geo) (bootleg)", GAME_SUPPORTS_SAVE )
10269GAME( 1999, pbobbl2n,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Taito (SNK license)", "Puzzle Bobble 2 / Bust-A-Move Again (Neo-Geo)", GAME_SUPPORTS_SAVE )
10270GAME( 2003, pnyaa,      neogeo,   neogeo,   neogeo, neogeo_state,   pnyaa,    ROT0, "Aiky / Taito", "Pochi and Nyaa", GAME_SUPPORTS_SAVE )
10271
10272/* Takara */
10273GAME( 1995, marukodq,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Takara", "Chibi Marukochan Deluxe Quiz", GAME_SUPPORTS_SAVE )
10274
10275/* Technos Japan */
10276GAME( 1995, doubledr,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Technos Japan", "Double Dragon (Neo-Geo)", GAME_SUPPORTS_SAVE )
10277GAME( 1995, gowcaizr,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Technos Japan", "Voltage Fighter - Gowcaizer / Choujin Gakuen Gowcaizer", GAME_SUPPORTS_SAVE )
10278GAME( 1996, sdodgeb,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Technos Japan", "Super Dodge Ball / Kunio no Nekketsu Toukyuu Densetsu", GAME_SUPPORTS_SAVE )
10279
10280/* Tecmo */
10281GAME( 1996, tws96,      neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Tecmo", "Tecmo World Soccer '96", GAME_SUPPORTS_SAVE )
10282
10283/* Viccom */
10284GAME( 1994, fightfev,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Viccom", "Fight Fever (set 1)", GAME_SUPPORTS_SAVE )
10285GAME( 1994, fightfeva,  fightfev, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Viccom", "Fight Fever (set 2)", GAME_SUPPORTS_SAVE )
10286
10287/* Video System Co. */
10288GAME( 1994, pspikes2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Video System Co.", "Power Spikes II (NGM-068)", GAME_SUPPORTS_SAVE )
10289GAME( 1994, sonicwi2,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Video System Co.", "Aero Fighters 2 / Sonic Wings 2", GAME_SUPPORTS_SAVE )
10290GAME( 1995, sonicwi3,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Video System Co.", "Aero Fighters 3 / Sonic Wings 3", GAME_SUPPORTS_SAVE )
10291GAME( 1997, popbounc,   neogeo,   neogeo,   popbounc, neogeo_state, neogeo,   ROT0, "Video System Co.", "Pop 'n Bounce / Gapporin", GAME_SUPPORTS_SAVE )
10292
10293/* Visco */
10294GAME( 1992, androdun,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Andro Dunos (NGM-049)(NGH-049)", GAME_SUPPORTS_SAVE )
10295GAME( 1995, puzzledp,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Taito (Visco license)", "Puzzle De Pon!", GAME_SUPPORTS_SAVE )
10296GAME( 1996, neomrdo,    neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Neo Mr. Do!", GAME_SUPPORTS_SAVE )
10297GAME( 1995, goalx3,     neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Goal! Goal! Goal!", GAME_SUPPORTS_SAVE )
10298GAME( 1996, neodrift,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Neo Drift Out - New Technology", GAME_SUPPORTS_SAVE )
10299GAME( 1996, breakers,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Breakers", GAME_SUPPORTS_SAVE )
10300GAME( 1997, puzzldpr,   puzzledp, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Taito (Visco license)", "Puzzle De Pon! R!", GAME_SUPPORTS_SAVE )
10301GAME( 1998, breakrev,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Breakers Revenge", GAME_SUPPORTS_SAVE )
10302GAME( 1998, flipshot,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Battle Flip Shot", GAME_SUPPORTS_SAVE )
10303GAME( 1999, ctomaday,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Captain Tomaday", GAME_SUPPORTS_SAVE )
10304GAME( 1999, ganryu,     neogeo,   neogeo,   neogeo, neogeo_state,   ganryu,   ROT0, "Visco", "Ganryu / Musashi Ganryuki" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
10305GAME( 2000, bangbead,   neogeo,   neogeo,   neogeo, neogeo_state,   bangbead, ROT0, "Visco", "Bang Bead", GAME_SUPPORTS_SAVE )
10306//GAME( 2000, bangbedp,   bangbead, neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Visco", "Bang Bead (prototype)", GAME_SUPPORTS_SAVE )
10307
10308/* Mega Enterprise */
10309GAME( 2002, mslug4,     neogeo,   neogeo,   neogeo, neogeo_state,   mslug4,   ROT0, "Mega / Playmore", "Metal Slug 4 (NGM-2630)", GAME_SUPPORTS_SAVE )
10310GAME( 2002, mslug4h,    mslug4,   neogeo,   neogeo, neogeo_state,   mslug4,   ROT0, "Mega / Playmore", "Metal Slug 4 (NGH-2630)", GAME_SUPPORTS_SAVE )
10311GAME( 2002, ms4plus,    mslug4,   neogeo,   neogeo, neogeo_state,   ms4plus,  ROT0, "bootleg", "Metal Slug 4 Plus (bootleg)", GAME_SUPPORTS_SAVE )
10312
10313/* Evoga */
10314GAME( 2002, rotd,       neogeo,   neogeo,   neogeo, neogeo_state,   rotd,     ROT0, "Evoga / Playmore", "Rage of the Dragons (NGM-264?)", GAME_SUPPORTS_SAVE )
10315
10316/* Atlus */
10317GAME( 2002, matrim,     neogeo,   neogeo,   neogeo, neogeo_state,   matrim,   ROT0, "Noise Factory / Atlus", "Matrimelee / Shin Gouketsuji Ichizoku Toukon (NGM-2660) (NGH-2660)", GAME_SUPPORTS_SAVE )
10318GAME( 2002, matrimbl,   matrim,   neogeo,   neogeo, neogeo_state,   matrimbl, ROT0, "bootleg", "Matrimelee / Shin Gouketsuji Ichizoku Toukon (bootleg)", GAME_SUPPORTS_SAVE )
10319
10320/***** Unlicensed commercial releases *****/
10321
10322/* BrezzaSoft */
10323GAME( 2001, jockeygp,   neogeo,   neogeo,   jockeygp, neogeo_state, jockeygp, ROT0, "Sun Amusement / BrezzaSoft", "Jockey Grand Prix (set 1)", GAME_SUPPORTS_SAVE )
10324GAME( 2001, jockeygpa,  jockeygp, neogeo,   jockeygp, neogeo_state, jockeygp, ROT0, "Sun Amusement / BrezzaSoft", "Jockey Grand Prix (set 2)", GAME_SUPPORTS_SAVE )
10325GAME( 2001, vliner,     neogeo,   neogeo,   vliner, neogeo_state,   vliner,   ROT0, "Dyna / BrezzaSoft", "V-Liner (set 1)", GAME_SUPPORTS_SAVE )
10326GAME( 2001, vlinero,    vliner,   neogeo,   vliner, neogeo_state,   vliner,   ROT0, "Dyna / BrezzaSoft", "V-Liner (set 2)", GAME_SUPPORTS_SAVE )
10327
10328/* Kyle Hodgetts */
10329GAME( 2000, diggerma,   neogeo,   neogeo,   neogeo, neogeo_state,   neogeo,   ROT0, "Kyle Hodgetts", "Digger Man (prototype)", GAME_SUPPORTS_SAVE )
10330
10331/* Vektorlogic */
10332GAME( 2004, sbp,        neogeo,   neogeo,   neogeo, neogeo_state,   sbp,      ROT0, "Vektorlogic", "Super Bubble Pop", GAME_NOT_WORKING )
10333
10334/* NG:DEV.TEAM */
10335// Last Hope (c)2006 - AES / NEOCD (has no MVS mode)
10336// Last Hope Pink Bullets (c)2008 - MVS / AES
10337// Fast Striker (c)2010 - MVS/AES
10338// Fast Striker 1.5 (c)2010 - MVS/AES
10339// GunLord (c)2012 - MVS/AES
Property changes on: trunk/src/mame/drivers/neogeo.inc
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/mame/drivers/galaxian.inc
r0r23776
1   /*************************************
2   *
3   *  Input Ports
4   *  Galaxian-derived games
5   *
6   *************************************/
7
8static INPUT_PORTS_START( galaxian )
9   PORT_START("IN0")
10   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
11   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
12   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
13   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
14   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
15   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
16   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
17   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
18   PORT_SERVICE( 0x40, IP_ACTIVE_HIGH )
19   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 )
20
21   PORT_START("IN1")
22   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
23   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
24   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
25   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
26   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
27   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
28   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
29   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
30   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
31   PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
32   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
33
34   PORT_START("IN2")
35   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
36   PORT_DIPSETTING(    0x00, "7000" )
37   PORT_DIPSETTING(    0x01, "10000" )
38   PORT_DIPSETTING(    0x02, "12000" )
39   PORT_DIPSETTING(    0x03, "20000" )
40   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
41   PORT_DIPSETTING(    0x00, "2" )
42   PORT_DIPSETTING(    0x04, "3" )
43   PORT_DIPUNUSED( 0x08, 0x00 )
44   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
45INPUT_PORTS_END
46
47static INPUT_PORTS_START( galaxianbl )
48   PORT_INCLUDE(galaxian)
49
50   PORT_MODIFY("IN2")
51   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
52   PORT_DIPSETTING(    0x00, DEF_STR(None) )
53   PORT_DIPSETTING(    0x01, "10000" )
54   PORT_DIPSETTING(    0x02, "20000" )
55   PORT_DIPSETTING(    0x03, "30000" )
56INPUT_PORTS_END
57
58
59static INPUT_PORTS_START( galaxrf )
60   PORT_INCLUDE(galaxian)
61
62   PORT_MODIFY("IN2")
63   PORT_DIPNAME( 0x03, 0x01, "Bonus Life / Enemy Bullet Speed" ) // not verified this
64   PORT_DIPSETTING(    0x00, "None, Slow" )
65   PORT_DIPSETTING(    0x01, "12000, Medium" )
66   PORT_DIPSETTING(    0x02, "20000, Fast" )
67   PORT_DIPSETTING(    0x03, "30000, Fastest" )
68   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
69   PORT_DIPSETTING(    0x00, "2" )
70   PORT_DIPSETTING(    0x04, "3" )
71   PORT_DIPNAME( 0x08, 0x00, "Player Bullet Speed" )
72   PORT_DIPSETTING(    0x00, "Slow" )
73   PORT_DIPSETTING(    0x08, "Fast" )
74INPUT_PORTS_END
75
76static INPUT_PORTS_START( superg )
77   PORT_INCLUDE(galaxian)
78
79   PORT_MODIFY("IN2")
80   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
81   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
82   PORT_DIPSETTING(    0x01, "4000" )
83   PORT_DIPSETTING(    0x02, "5000" )
84   PORT_DIPSETTING(    0x03, "7000" )
85   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
86   PORT_DIPSETTING(    0x00, "3" )
87   PORT_DIPSETTING(    0x04, "5" )
88INPUT_PORTS_END
89
90
91static INPUT_PORTS_START( swarm )
92   PORT_INCLUDE(galaxian)
93
94   PORT_MODIFY("IN2")
95   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
96   PORT_DIPSETTING(    0x01, "10000" )
97   PORT_DIPSETTING(    0x02, "20000" )
98   PORT_DIPSETTING(    0x03, "40000" )
99   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
100   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
101   PORT_DIPSETTING(    0x00, "3" )
102   PORT_DIPSETTING(    0x04, "4" )
103   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) )   /* aliens "flying" simultaneously */
104   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )             /* less aliens */
105   PORT_DIPSETTING(    0x08, DEF_STR( Hard ) )             /* more aliens */
106INPUT_PORTS_END
107
108
109static INPUT_PORTS_START( zerotime )
110   PORT_INCLUDE(galaxian)
111
112   PORT_MODIFY("IN1")
113   PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) )
114   PORT_DIPSETTING(    0x40, "A 1C/1C 2C/2C  B 1C/2C" )
115   PORT_DIPSETTING(    0xc0, "A 1C/1C 2C/3C  B 1C/3C" )
116   PORT_DIPSETTING(    0x00, "A 1C/2C 2C/4C  B 1C/4C" )
117   PORT_DIPSETTING(    0x80, "A 1C/2C 2C/5C  B 1C/5C" )
118
119   PORT_MODIFY("IN2")
120   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
121   PORT_DIPSETTING(    0x03, "6000" )
122   PORT_DIPSETTING(    0x02, "7000" )
123   PORT_DIPSETTING(    0x01, "9000" )
124   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
125   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
126   PORT_DIPSETTING(    0x00, "3" )
127   PORT_DIPSETTING(    0x04, "5" )
128   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) )   /* player's bullet speed */
129   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )             /* gap of 6 pixels */
130   PORT_DIPSETTING(    0x08, DEF_STR( Hard ) )             /* gap of 8 pixels */
131INPUT_PORTS_END
132
133
134static INPUT_PORTS_START( blkhole )
135   PORT_INCLUDE(galaxian)
136
137   PORT_MODIFY("IN0")
138   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
139   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
140   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
141   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
142
143   PORT_MODIFY("IN1")
144   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
145   PORT_DIPSETTING(    0xc0, DEF_STR( 2C_1C ) )
146   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
147   PORT_DIPSETTING(    0x40, DEF_STR( 1C_2C ) )
148   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
149
150   PORT_MODIFY("IN2")
151   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
152   PORT_DIPSETTING(    0x00, "5000" )
153   PORT_DIPSETTING(    0x01, "10000" )
154   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) )
155   PORT_DIPSETTING(    0x02, DEF_STR( Upright ) )
156   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
157   PORT_DIPUNUSED( 0x04, 0x00 )
158   PORT_DIPUNUSED( 0x08, 0x00 )
159INPUT_PORTS_END
160
161
162static INPUT_PORTS_START( orbitron )
163   PORT_INCLUDE(galaxian)
164
165   PORT_MODIFY("IN0")
166   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
167   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
168   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
169   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
170   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
171
172   PORT_MODIFY("IN1")
173   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
174   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
175   PORT_DIPNAME( 0x60, 0x40, DEF_STR( Coinage ) )      /* Routine at 0x00e1 */
176   PORT_DIPSETTING(    0x00, "A 2C/1C  B 1C/3C" )
177   PORT_DIPSETTING(    0x20, "A 2C/1C  B 1C/3C (duplicate)" )
178   PORT_DIPSETTING(    0x40, "A 1C/1C  B 1C/6C" )
179   PORT_DIPSETTING(    0x60, "A 1C/1C  B 1C/6C (duplicate)" )
180   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
181
182   PORT_MODIFY("IN2")
183   PORT_DIPUNUSED( 0x01, 0x00 )
184   PORT_DIPUNUSED( 0x02, 0x00 )
185   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
186   PORT_DIPSETTING(    0x04, "2" )
187   PORT_DIPSETTING(    0x00, "3" )
188   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
189   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
190   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
191INPUT_PORTS_END
192
193
194/* These inputs are clearly wrong, they need a full test */
195static INPUT_PORTS_START( luctoday )
196   PORT_START("IN0")
197   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
198   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
199   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_NAME("Add Credit to Bet")
200   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_NAME("Remove Credit from Bet")
201   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
202   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
203   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
204   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BILL1 )
205
206   PORT_START("IN1")
207   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
208   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
209   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
210   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
211   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
212   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
213   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
214   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
215
216   PORT_START("IN2")
217   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
218   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
219   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
220   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
221INPUT_PORTS_END
222
223
224static INPUT_PORTS_START( catacomb )
225   PORT_INCLUDE(galaxian)
226
227   PORT_MODIFY("IN0")
228   PORT_DIPUNKNOWN( 0x40, 0x00 )
229   PORT_DIPUNKNOWN( 0x80, 0x00 )
230
231   PORT_MODIFY("IN1")
232   PORT_DIPUNKNOWN( 0x20, 0x00 )
233   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
234   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
235   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
236   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Coin_B ) )
237   PORT_DIPSETTING(    0x00, DEF_STR( 1C_3C ) )
238   PORT_DIPSETTING(    0x80, DEF_STR( 1C_5C ) )
239
240   PORT_MODIFY("IN2")
241   PORT_DIPUNKNOWN( 0x01, 0x00 )
242   PORT_DIPUNKNOWN( 0x02, 0x00 )
243   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
244   PORT_DIPSETTING(    0x04, "3" )
245   PORT_DIPSETTING(    0x00, "5" )
246   PORT_DIPUNKNOWN( 0x08, 0x00 )
247INPUT_PORTS_END
248
249
250static INPUT_PORTS_START( omega )
251   PORT_INCLUDE(galaxian)
252
253   PORT_MODIFY("IN0")
254   PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
255
256   PORT_MODIFY("IN1")
257   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
258   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
259   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
260   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
261   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
262   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
263   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
264
265   PORT_MODIFY("IN2")
266   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
267   PORT_DIPSETTING(    0x00, "10000" )
268   PORT_DIPSETTING(    0x01, "20000" )
269   PORT_DIPUNUSED( 0x02, 0x00 )
270   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
271   PORT_DIPSETTING(    0x00, "3" )
272   PORT_DIPSETTING(    0x04, "5" )
273   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
274   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
275   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
276INPUT_PORTS_END
277
278
279static INPUT_PORTS_START( warofbug )
280   PORT_INCLUDE(galaxian)
281
282   PORT_MODIFY("IN0")
283   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
284   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
285   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
286   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
287   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
288
289   PORT_MODIFY("IN1")
290   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
291   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
292   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
293   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
294   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
295   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
296//  PORT_DIPSETTING(    0x80, DEF_STR( 2C_1C ) )
297   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
298
299   PORT_MODIFY("IN2")
300   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
301   PORT_DIPSETTING(    0x00, "1" )
302   PORT_DIPSETTING(    0x01, "2" )
303   PORT_DIPSETTING(    0x02, "3" )
304   PORT_DIPSETTING(    0x03, "4" )
305   PORT_DIPUNUSED( 0x04, 0x00 )
306   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) )
307   PORT_DIPSETTING(    0x08, "500000" )
308   PORT_DIPSETTING(    0x00, "750000" )
309INPUT_PORTS_END
310
311
312static INPUT_PORTS_START( redufo )
313   PORT_INCLUDE(galaxian)
314
315   PORT_MODIFY("IN0")
316   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
317   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )        // Not tested due to code removed at 0x1901 and 0x191a
318
319   PORT_MODIFY("IN1")
320   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_B ) )
321   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
322   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
323   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_A ) )
324   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
325   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
326
327   PORT_MODIFY("IN2")
328   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
329   PORT_DIPSETTING(    0x00, "7000" )
330   PORT_DIPSETTING(    0x01, DEF_STR( None ) )
331   PORT_DIPUNUSED( 0x02, 0x00 )                        // Not read due to code at 0x012b
332   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
333   PORT_DIPSETTING(    0x00, "3" )
334   PORT_DIPSETTING(    0x04, "5" )
335   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
336   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
337   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
338INPUT_PORTS_END
339
340
341static INPUT_PORTS_START( redufob )
342   PORT_INCLUDE(galaxian)
343
344   PORT_MODIFY("IN1")
345   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
346   PORT_DIPSETTING(    0x40, "A 2C/1C  B 1C/3C" )
347   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/6C" )
348   PORT_DIPSETTING(    0x80, "A 1C/2C  B 1C/12C" )
349   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
350
351   PORT_MODIFY("IN2")
352   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
353   PORT_DIPSETTING(    0x01, "4000" )
354   PORT_DIPSETTING(    0x02, "5000" )
355   PORT_DIPSETTING(    0x03, "7000" )
356   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
357   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
358   PORT_DIPSETTING(    0x00, "3" )
359   PORT_DIPSETTING(    0x04, "5" )
360INPUT_PORTS_END
361
362
363static INPUT_PORTS_START( azurian )
364   PORT_START("IN0")
365   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
366   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
367   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
368   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
369   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
370   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
371   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
372   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
373
374   PORT_START("IN1")
375   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
376   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
377   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
378   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
379   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
380   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
381   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, azurian_port_r, (void *)0) /* "linked" with bit 2 of IN2 */
382   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) )
383   PORT_DIPSETTING(    0x00, "3" )
384   PORT_DIPSETTING(    0x80, "5" )
385
386   PORT_START("IN2")
387   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) )
388   PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
389   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
390   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Bonus_Life ) )
391   PORT_DIPSETTING(    0x00, "5000" )
392   PORT_DIPSETTING(    0x02, "7000" )
393   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, azurian_port_r, (void *)1) /* "linked" with bit 6 of IN1 */
394   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
395   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
396   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
397   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
398
399   PORT_START("FAKE")      /* fake port to handle routine at 0x05b3 that stores value at 0x40f4 */
400   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
401   PORT_DIPSETTING(    0x03, DEF_STR( Easy ) )
402   PORT_DIPSETTING(    0x01, DEF_STR( Normal ) )
403   PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
404   PORT_DIPSETTING(    0x00, DEF_STR( Very_Hard ) )
405INPUT_PORTS_END
406
407
408static INPUT_PORTS_START( pisces )
409   PORT_INCLUDE(galaxian)
410
411   PORT_MODIFY("IN0")
412   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
413   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
414   PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
415
416   PORT_MODIFY("IN1")
417   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Lives ) )
418   PORT_DIPSETTING(    0x00, "3" )
419   PORT_DIPSETTING(    0x40, "4" )
420   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
421   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
422   PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
423
424   PORT_MODIFY("IN2")
425   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
426   PORT_DIPSETTING(    0x00, "10000" )
427   PORT_DIPSETTING(    0x01, "20000" )
428   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
429   PORT_DIPSETTING(    0x02, "A 2C/1C  B 1C/3C" )
430   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/6C" )
431   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) )
432   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
433   PORT_DIPSETTING(    0x04, DEF_STR( Hard ) )
434INPUT_PORTS_END
435
436
437static INPUT_PORTS_START( piscesb )
438   PORT_INCLUDE(pisces)
439
440   PORT_MODIFY("IN2")
441   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
442   PORT_DIPSETTING(    0x02, "A 2C/1C  B 1C/2C 2C/5C" )
443   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/5C" )
444INPUT_PORTS_END
445
446
447static INPUT_PORTS_START( gteikokb )
448   PORT_INCLUDE(galaxian)
449
450   PORT_MODIFY("IN0")
451   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
452   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )        /* Not tested due to code removed at 0x00ab, 0x1b26 and 0x1c97*/
453   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )        /* Not tested due to code removed at 0x1901*/
454
455   PORT_MODIFY("IN1")
456   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
457   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
458   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
459   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
460   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
461   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
462
463   PORT_MODIFY("IN2")
464   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
465   PORT_DIPSETTING(    0x00, "7000" )
466   PORT_DIPSETTING(    0x01, DEF_STR( None ) )
467   PORT_DIPUNUSED( 0x02, 0x00 )                        // Not read due to code at 0x012b
468   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
469   PORT_DIPSETTING(    0x00, "3" )
470   PORT_DIPSETTING(    0x04, "5" )
471   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
472   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
473   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
474INPUT_PORTS_END
475
476
477static INPUT_PORTS_START( gteikob2 )
478   PORT_INCLUDE(gteikokb)
479
480   PORT_MODIFY("IN2")
481   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
482   PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
483   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
484INPUT_PORTS_END
485
486static INPUT_PORTS_START( asideral )
487   PORT_INCLUDE(galaxian)
488
489   PORT_MODIFY("IN1")
490   PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) )
491   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
492   PORT_DIPSETTING(    0x00, "1C/2C, 1C/1C" )
493   PORT_DIPSETTING(    0x80, "1C/4C, 1C/2C" )
494   PORT_DIPSETTING(    0xc0, "Free Play (corrupt text)" )
495
496   PORT_MODIFY("IN2")
497   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
498   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
499   PORT_DIPSETTING(    0x01, "4000" )
500   PORT_DIPSETTING(    0x02, "5000" )
501   PORT_DIPSETTING(    0x03, "7000" )
502   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
503   PORT_DIPSETTING(    0x00, "3" )
504   PORT_DIPSETTING(    0x04, "5" )
505INPUT_PORTS_END
506
507static INPUT_PORTS_START( spacbatt )
508   PORT_INCLUDE(galaxian)
509
510   PORT_MODIFY("IN1")
511   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
512   PORT_DIPSETTING(    0x40, "A 2C/1C  B 1C/3C" )
513   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/6C" )
514   PORT_DIPSETTING(    0x80, "A 1C/2C  B 1C/6C" )
515   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
516
517   PORT_MODIFY("IN2")
518   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
519   PORT_DIPSETTING(    0x01, "4000" )
520   PORT_DIPSETTING(    0x02, "5000" )
521   PORT_DIPSETTING(    0x03, "7000" )
522   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
523   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
524   PORT_DIPSETTING(    0x00, "3" )
525   PORT_DIPSETTING(    0x04, "5" )
526INPUT_PORTS_END
527
528
529static INPUT_PORTS_START( batman2 )
530   PORT_INCLUDE(galaxian)
531
532   PORT_MODIFY("IN0")
533   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
534   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
535   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 )
536
537   PORT_MODIFY("IN1")
538   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
539   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
540   PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) )
541   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
542   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
543   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
544
545   PORT_MODIFY("IN2")
546   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
547   PORT_DIPSETTING(    0x00, "30000" )
548   PORT_DIPSETTING(    0x01, "50000" )
549   PORT_DIPUNUSED( 0x02, 0x00 )
550   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
551   PORT_DIPSETTING(    0x00, "3" )
552   PORT_DIPSETTING(    0x04, "5" )
553   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
554   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
555   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
556INPUT_PORTS_END
557
558
559static INPUT_PORTS_START( streakng )
560   PORT_START("IN0")
561   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
562   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
563   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
564   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
565   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
566   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
567   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
568   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
569   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
570   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
571
572   PORT_START("IN1")
573   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
574   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
575   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
576   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
577   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
578   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
579   PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Bonus_Life ) )
580   PORT_DIPSETTING(    0x40, "10000" )
581   PORT_DIPSETTING(    0x80, "15000" )
582   PORT_DIPSETTING(    0xc0, "20000" )
583   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
584
585   PORT_START("IN2")
586   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) )
587   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
588   PORT_DIPSETTING(    0x02, DEF_STR( 1C_1C ) )
589   PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
590   PORT_DIPSETTING(    0x03, DEF_STR( Free_Play ) )
591   PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) )
592   PORT_DIPSETTING(    0x0c, "1" )
593   PORT_DIPSETTING(    0x08, "2" )
594   PORT_DIPSETTING(    0x04, "3" )
595   PORT_DIPSETTING(    0x00, "5" )
596   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
597INPUT_PORTS_END
598
599
600static INPUT_PORTS_START( articms )
601   PORT_START("IN0")
602   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
603   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
604   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
605   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
606   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
607   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
608   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
609   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
610
611   PORT_START("IN1")
612   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
613   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
614   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
615   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
616   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
617   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
618   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
619   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
620   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
621   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
622   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
623   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
624
625   PORT_START("IN2")
626   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) /* Likely Bonus Life */
627   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
628   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
629   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Difficulty ) )
630   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
631   PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
632   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
633   PORT_DIPSETTING(    0x00, "3" )
634   PORT_DIPSETTING(    0x04, "5" )
635   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
636   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
637   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
638   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
639   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
640   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
641   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
642   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
643   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
644   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
645   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
646   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
647   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
648   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
649   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
650INPUT_PORTS_END
651
652
653static INPUT_PORTS_START( pacmanbl )
654   PORT_INCLUDE(articms)
655
656   PORT_MODIFY("IN0")
657   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
658   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
659   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
660   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
661   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
662   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
663
664   PORT_MODIFY("IN1")
665   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
666   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
667   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
668   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
669
670   PORT_MODIFY("IN2")
671   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
672   PORT_DIPSETTING(    0x00, "15000" )
673   PORT_DIPSETTING(    0x01, "20000" )
674   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
675INPUT_PORTS_END
676
677static INPUT_PORTS_START( tenspot )
678   PORT_INCLUDE(articms)
679
680   PORT_START("SELECT") /* inputs? read by select CPU - unknown */
681   PORT_DIPUNKNOWN( 0x01, 0x01 )
682   PORT_DIPUNKNOWN( 0x02, 0x02 )
683   PORT_DIPUNKNOWN( 0x04, 0x04 )
684   PORT_DIPUNKNOWN( 0x08, 0x08 )
685   PORT_DIPUNKNOWN( 0x10, 0x10 )
686   PORT_DIPUNKNOWN( 0x20, 0x20 )
687   PORT_DIPUNKNOWN( 0x40, 0x40 )
688   PORT_DIPUNKNOWN( 0x80, 0x80 )
689
690   PORT_START("SELECT2") /* inputs? read by select CPU - unknown */
691   PORT_DIPUNKNOWN( 0x01, 0x01 )
692   PORT_DIPUNKNOWN( 0x02, 0x02 )
693   PORT_DIPUNKNOWN( 0x04, 0x04 )
694   PORT_DIPUNKNOWN( 0x08, 0x08 )
695   PORT_DIPUNKNOWN( 0x10, 0x10 )
696   PORT_DIPUNKNOWN( 0x20, 0x20 )
697   PORT_DIPUNKNOWN( 0x40, 0x40 )
698   PORT_DIPUNKNOWN( 0x80, 0x80 )
699
700   PORT_START("FAKE_SELECT") /* fake button to move onto next game - until select rom is understood! */
701   PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Next Game (Fake)") PORT_IMPULSE(1)
702
703   PORT_MODIFY("IN0")
704   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
705   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
706   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
707   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
708   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
709
710   PORT_MODIFY("IN1")
711   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
712   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
713   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
714
715
716   PORT_MODIFY("IN2") // ignored
717   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
718
719   // yes, the board has 10 banks of dipswitches...
720   PORT_START("IN2_GAME0")
721   PORT_DIPNAME( 0x01, 0x01, "Survivor DSW0" )
722   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
723   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
724   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
725   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
726   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
727   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
728   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
729   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
730   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
731   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
732   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
733   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
734   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
735   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
736   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
737   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
738   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
739   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
740   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
741   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
742   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
743   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
744   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
745
746   PORT_START("IN2_GAME1")
747   PORT_DIPNAME( 0x01, 0x01, "Moon Cresta DSW0" )
748   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
749   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
750   PORT_DIPUNKNOWN( 0x02, 0x02 )
751   PORT_DIPUNKNOWN( 0x04, 0x04 )
752   PORT_DIPUNKNOWN( 0x08, 0x08 )
753   PORT_DIPUNKNOWN( 0x10, 0x10 )
754   PORT_DIPUNKNOWN( 0x20, 0x20 )
755   PORT_DIPUNKNOWN( 0x40, 0x40 )
756   PORT_DIPUNKNOWN( 0x80, 0x80 )
757
758   PORT_START("IN2_GAME2")
759   PORT_DIPNAME( 0x01, 0x01, "Space Cruiser DSW0" )
760   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
761   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
762   PORT_DIPUNKNOWN( 0x02, 0x02 )
763   PORT_DIPUNKNOWN( 0x04, 0x04 )
764   PORT_DIPUNKNOWN( 0x08, 0x08 )
765   PORT_DIPUNKNOWN( 0x10, 0x10 )
766   PORT_DIPUNKNOWN( 0x20, 0x20 )
767   PORT_DIPUNKNOWN( 0x40, 0x40 )
768   PORT_DIPUNKNOWN( 0x80, 0x80 )
769
770   PORT_START("IN2_GAME3")
771   PORT_DIPNAME( 0x01, 0x01, "Mission Rescue DSW0" )
772   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
773   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
774   PORT_DIPUNKNOWN( 0x02, 0x02 )
775   PORT_DIPUNKNOWN( 0x04, 0x04 )
776   PORT_DIPUNKNOWN( 0x08, 0x08 )
777   PORT_DIPUNKNOWN( 0x10, 0x10 )
778   PORT_DIPUNKNOWN( 0x20, 0x20 )
779   PORT_DIPUNKNOWN( 0x40, 0x40 )
780   PORT_DIPUNKNOWN( 0x80, 0x80 )
781
782   PORT_START("IN2_GAME4")
783   PORT_DIPNAME( 0x01, 0x01, "Uniwars DSW0" )
784   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
785   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
786   PORT_DIPUNKNOWN( 0x02, 0x02 )
787   PORT_DIPUNKNOWN( 0x04, 0x04 )
788   PORT_DIPUNKNOWN( 0x08, 0x08 )
789   PORT_DIPUNKNOWN( 0x10, 0x10 )
790   PORT_DIPUNKNOWN( 0x20, 0x20 )
791   PORT_DIPUNKNOWN( 0x40, 0x40 )
792   PORT_DIPUNKNOWN( 0x80, 0x80 )
793
794   PORT_START("IN2_GAME5")
795   PORT_DIPNAME( 0x01, 0x01, "Batman Pt.2 DSW0" )
796   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
797   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
798   PORT_DIPUNKNOWN( 0x02, 0x02 )
799   PORT_DIPUNKNOWN( 0x04, 0x04 )
800   PORT_DIPUNKNOWN( 0x08, 0x08 )
801   PORT_DIPUNKNOWN( 0x10, 0x10 )
802   PORT_DIPUNKNOWN( 0x20, 0x20 )
803   PORT_DIPUNKNOWN( 0x40, 0x40 )
804   PORT_DIPUNKNOWN( 0x80, 0x80 )
805
806   PORT_START("IN2_GAME6")
807   PORT_DIPNAME( 0x01, 0x01, "Defend UFO DSW0" )
808   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
809   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
810   PORT_DIPUNKNOWN( 0x02, 0x02 )
811   PORT_DIPUNKNOWN( 0x04, 0x04 )
812   PORT_DIPUNKNOWN( 0x08, 0x08 )
813   PORT_DIPUNKNOWN( 0x10, 0x10 )
814   PORT_DIPUNKNOWN( 0x20, 0x20 )
815   PORT_DIPUNKNOWN( 0x40, 0x40 )
816   PORT_DIPUNKNOWN( 0x80, 0x80 )
817
818   PORT_START("IN2_GAME7")
819   PORT_DIPNAME( 0x01, 0x01, "King and Balloon DSW0" )
820   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
821   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
822   PORT_DIPUNKNOWN( 0x02, 0x02 )
823   PORT_DIPUNKNOWN( 0x04, 0x04 )
824   PORT_DIPUNKNOWN( 0x08, 0x08 )
825   PORT_DIPUNKNOWN( 0x10, 0x10 )
826   PORT_DIPUNKNOWN( 0x20, 0x20 )
827   PORT_DIPUNKNOWN( 0x40, 0x40 )
828   PORT_DIPUNKNOWN( 0x80, 0x80 )
829
830   PORT_START("IN2_GAME8")
831   PORT_DIPNAME( 0x01, 0x01, "Omega DSW0" )
832   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
833   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
834   PORT_DIPUNKNOWN( 0x02, 0x02 )
835   PORT_DIPUNKNOWN( 0x04, 0x04 )
836   PORT_DIPUNKNOWN( 0x08, 0x08 )
837   PORT_DIPUNKNOWN( 0x10, 0x10 )
838   PORT_DIPUNKNOWN( 0x20, 0x20 )
839   PORT_DIPUNKNOWN( 0x40, 0x40 )
840   PORT_DIPUNKNOWN( 0x80, 0x80 )
841
842   PORT_START("IN2_GAME9")
843   PORT_DIPNAME( 0x01, 0x01, "Battle of Atlantis DSW0" )
844   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
845   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
846   PORT_DIPUNKNOWN( 0x02, 0x02 )
847   PORT_DIPUNKNOWN( 0x04, 0x04 )
848   PORT_DIPUNKNOWN( 0x08, 0x08 )
849   PORT_DIPUNKNOWN( 0x10, 0x10 )
850   PORT_DIPUNKNOWN( 0x20, 0x20 )
851   PORT_DIPUNKNOWN( 0x40, 0x40 )
852   PORT_DIPUNKNOWN( 0x80, 0x80 )
853INPUT_PORTS_END
854
855static INPUT_PORTS_START( phoenxp2 )
856   PORT_INCLUDE(articms)
857INPUT_PORTS_END
858
859
860static INPUT_PORTS_START( atlantib )
861   PORT_INCLUDE(articms)
862
863   PORT_MODIFY("IN1")
864   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coin_A ) ) /* These are backwards compared to the other sets??? */
865   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
866   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
867
868   PORT_MODIFY("IN2")
869   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) /* These are backwards compared to the other sets??? */
870   PORT_DIPSETTING(    0x04, "3" )
871   PORT_DIPSETTING(    0x00, "5" )
872   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) ) /* These are backwards compared to the other sets??? */
873   PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
874   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
875INPUT_PORTS_END
876
877
878static INPUT_PORTS_START( devilfsg )
879   PORT_INCLUDE(pacmanbl)
880
881   PORT_MODIFY("IN0")
882   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
883
884   PORT_MODIFY("IN1")
885   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
886
887   PORT_MODIFY("IN2")
888   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
889   PORT_DIPSETTING(    0x00, "10000" )
890   PORT_DIPSETTING(    0x01, "15000" )
891   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
892   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
893   PORT_DIPSETTING(    0x00, "4" )
894   PORT_DIPSETTING(    0x04, "5" )
895INPUT_PORTS_END
896
897
898static INPUT_PORTS_START( zigzag )
899   PORT_START("IN0")
900   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
901   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
902   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
903   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
904   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
905   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
906   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
907   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
908
909   PORT_START("IN1")
910   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
911   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
912   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
913   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
914   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
915   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
916   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
917   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
918   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
919   PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
920   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
921
922   PORT_START("IN2")
923   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Lives ) )
924   PORT_DIPSETTING(    0x00, "3" )
925   PORT_DIPSETTING(    0x01, "4" )
926   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) )
927   PORT_DIPSETTING(    0x02, DEF_STR( Upright ) )
928   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
929   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
930   PORT_DIPSETTING(    0x00, "10000 60000" )
931   PORT_DIPSETTING(    0x04, "20000 60000" )
932   PORT_DIPSETTING(    0x08, "30000 60000" )
933   PORT_DIPSETTING(    0x0c, "40000 60000" )
934   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
935INPUT_PORTS_END
936
937
938static INPUT_PORTS_START( gmgalax )
939   PORT_START("IN0")
940   PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, gmgalax_port_r, "GMIN0\0GLIN0")
941
942   PORT_START("IN1")
943   PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, gmgalax_port_r, "GMIN1\0GLIN1")
944
945   PORT_START("IN2")
946   PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, gmgalax_port_r, "GMIN2\0GLIN2")
947
948   PORT_START("GMIN0")      /* Ghost Muncher - IN0 */
949   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )                                  PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
950   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP) PORT_4WAY PORT_COCKTAIL     PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
951   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY                PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
952   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY               PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
953   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )                                 PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
954   PORT_DIPNAME( 0x20, 0x00, "Ghost Muncher - Cabinet" )                        PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
955   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
956   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
957   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY                PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
958   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY                  PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
959
960   PORT_START("GMIN1")      /* Ghost Muncher - IN1 */
961   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )                                 PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
962   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )                                 PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
963   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL  PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
964   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
965   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )                                 PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
966   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL  PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
967   PORT_DIPNAME( 0xc0, 0x40, "Ghost Muncher - Bonus Life" )                     PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
968   PORT_DIPSETTING(    0x40, "10000" )
969   PORT_DIPSETTING(    0x80, "15000" )
970   PORT_DIPSETTING(    0xc0, "20000" )
971   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
972
973   PORT_START("GMIN2")      /* Ghost Muncher - IN2 */
974   PORT_DIPNAME( 0x03, 0x02, "Ghost Muncher - Coinage" )                        PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
975   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
976   PORT_DIPSETTING(    0x02, DEF_STR( 1C_1C ) )
977   PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
978   PORT_DIPSETTING(    0x03, DEF_STR( Free_Play ) )
979   PORT_DIPNAME( 0x0c, 0x04, "Ghost Muncher - Lives" )                          PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
980   PORT_DIPSETTING(    0x0c, "1" )
981   PORT_DIPSETTING(    0x08, "2" )
982   PORT_DIPSETTING(    0x04, "3" )
983   PORT_DIPSETTING(    0x00, "5" )
984   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
985
986   PORT_START("GLIN0")      /* Galaxian - IN0 */
987   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )                                  PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
988   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )                                  PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
989   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY                PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
990   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY               PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
991   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )                                PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
992   PORT_DIPNAME( 0x20, 0x00, "Galaxian - Cabinet" )                             PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
993   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
994   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
995   PORT_SERVICE( 0x40, IP_ACTIVE_HIGH )                                         PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
996   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 )                               PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
997
998   PORT_START("GLIN1")      /* Galaxian - IN1 */
999   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )                                 PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1000   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )                                 PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1001   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL  PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1002   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1003   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL                  PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1004   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )                                 PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1005   PORT_DIPNAME( 0xc0, 0x00, "Galaxian - Coinage" )                             PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1006   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
1007   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1008   PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
1009   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
1010
1011   PORT_START("GLIN2")      /* Galaxian - IN2 */
1012   PORT_DIPNAME( 0x03, 0x01, "Galaxian - Bonus Life" )                          PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1013   PORT_DIPSETTING(    0x01, "4000" )
1014   PORT_DIPSETTING(    0x02, "5000" )
1015   PORT_DIPSETTING(    0x03, "7000" )
1016   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
1017   PORT_DIPNAME( 0x04, 0x00, "Galaxian - Lives" )                               PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
1018   PORT_DIPSETTING(    0x00, "3" )
1019   PORT_DIPSETTING(    0x04, "5" )
1020   PORT_DIPUNUSED( 0x08, 0x00 )
1021   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
1022
1023   PORT_START("GAMESEL")      /* fake - game select */
1024   PORT_DIPNAME( 0x01, 0x00, "Game Select") PORT_CODE(KEYCODE_F1) PORT_TOGGLE PORT_CHANGED_MEMBER(DEVICE_SELF, galaxian_state, gmgalax_game_changed, NULL)
1025   PORT_DIPSETTING( 0x00, "Ghost Muncher" )
1026   PORT_DIPSETTING( 0x01, "Galaxian" )
1027INPUT_PORTS_END
1028
1029
1030
1031/*************************************
1032 *
1033 *  Input Ports
1034 *  Moon Cresta-derived games
1035 *
1036 *************************************/
1037
1038static INPUT_PORTS_START( mooncrst )
1039   PORT_START("IN0")
1040   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1041   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1042   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
1043   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
1044   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1045   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
1046   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1047   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
1048   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )   /* "reset" on schematics */
1049   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
1050
1051   PORT_START("IN1")
1052   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1053   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1054   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
1055   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
1056   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
1057   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
1058   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) )
1059   PORT_DIPSETTING(    0x00, "30000" )
1060   PORT_DIPSETTING(    0x40, "50000" )
1061   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) )
1062   PORT_DIPSETTING(    0x80, DEF_STR( English ) )
1063   PORT_DIPSETTING(    0x00, DEF_STR( Japanese ) )
1064
1065   PORT_START("IN2")
1066   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) )
1067   PORT_DIPSETTING(    0x03, DEF_STR( 4C_1C ) )
1068   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
1069   PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
1070   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1071   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) )
1072   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1073   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
1074   PORT_DIPSETTING(    0x08, DEF_STR( 1C_3C ) )
1075   PORT_DIPSETTING(    0x0c, DEF_STR( Free_Play ) )
1076   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
1077INPUT_PORTS_END
1078
1079
1080static INPUT_PORTS_START( mooncrsa )
1081   PORT_INCLUDE(mooncrst)
1082
1083   PORT_MODIFY("IN2")
1084   PORT_DIPUNUSED( 0x03, IP_ACTIVE_HIGH )      /* Not used due to code at 0x01c0 */
1085   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) )
1086   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1087   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
1088   PORT_DIPSETTING(    0x08, DEF_STR( 1C_3C ) )
1089   PORT_DIPSETTING(    0x0c, DEF_STR( Free_Play ) )
1090INPUT_PORTS_END
1091
1092
1093static INPUT_PORTS_START( mooncrsg )
1094   PORT_INCLUDE(mooncrst)
1095
1096   PORT_MODIFY("IN1")
1097   PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH )      /* Always non-Japanese due to code at 0x2f77 */
1098INPUT_PORTS_END
1099
1100
1101static INPUT_PORTS_START( fantazia )
1102   PORT_INCLUDE(mooncrst)
1103
1104   PORT_MODIFY("IN1")
1105   PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH )      /* Always non-Japanese due to code at 0x2f53 */
1106
1107   PORT_MODIFY("IN2")
1108   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_B ) )
1109   PORT_DIPSETTING(    0x03, DEF_STR( 4C_1C ) )
1110   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
1111   PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
1112   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1113   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_A ) )
1114   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1115   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
1116   PORT_DIPSETTING(    0x08, DEF_STR( 1C_3C ) )
1117   PORT_DIPSETTING(    0x0c, DEF_STR( Free_Play ) )
1118INPUT_PORTS_END
1119
1120
1121static INPUT_PORTS_START( eagle2 )
1122   PORT_INCLUDE(mooncrst)
1123
1124   PORT_MODIFY("IN2")
1125   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
1126   PORT_DIPSETTING(    0x03, DEF_STR( 4C_1C ) )
1127   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
1128   PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
1129   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1130   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Free_Play ) )        /* Not used due to code at 0x01c0, but "Free Play" is checked */
1131   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1132//  PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1133//  PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1134   PORT_DIPSETTING(    0x0c, DEF_STR( On ) )
1135INPUT_PORTS_END
1136
1137
1138static INPUT_PORTS_START( smooncrs )
1139   PORT_INCLUDE(mooncrst)
1140
1141   PORT_MODIFY("IN1")
1142   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )            /* Not read due to code at 0x2b1c and 0x3313 */
1143   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )            /* Not read due to code at 0x2b1c and 0x3313 */
1144   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )            /* Not read due to code at 0x2b1c and 0x3313 */
1145   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )       /* code at 0x2962 (0x2f68 in spcdrag) */
1146   PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
1147   PORT_DIPSETTING(    0x00, DEF_STR( Hard ) )
1148   PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" )     /* code at 0x0007 (0x2f53 in spcdrag) */
1149   PORT_DIPSETTING(    0x00, "Slow" )
1150   PORT_DIPSETTING(    0x80, "Fast" )
1151   /* Bonus life is always '50000' due to code at 0x2f68 */
1152   /* Language is always non-Japanese due to code at 0x2f53 */
1153INPUT_PORTS_END
1154
1155static INPUT_PORTS_START( mooncreg )
1156   PORT_INCLUDE(mooncrst)
1157
1158   PORT_MODIFY("IN1")
1159   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
1160   PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
1161   PORT_DIPSETTING(    0x00, DEF_STR( Hard ) )
1162   PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" )
1163   PORT_DIPSETTING(    0x00, "Slow" )
1164   PORT_DIPSETTING(    0x80, "Fast" )
1165
1166   PORT_MODIFY("IN2")
1167   PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coinage  ) )
1168   PORT_DIPSETTING(    0x00, "1C/1C, 1C/2C" )
1169   PORT_DIPSETTING(    0x01, "2C/1C, 2C/3C" )
1170   PORT_DIPSETTING(    0x02, "3C/1C, 3C/4C" )
1171   PORT_DIPSETTING(    0x03, "4C/1C, 4C/5C" )
1172   PORT_DIPSETTING(    0x04, "1C/1C, 1C/3C" )
1173   PORT_DIPSETTING(    0x05, "2C/1C, 2C/5C" )
1174   PORT_DIPSETTING(    0x06, "3C/1C, 3C/7C" )
1175   PORT_DIPSETTING(    0x07, "4C/1C, 4C/9C" )
1176   PORT_DIPSETTING(    0x08, "1C/1C, 1C/4C" )
1177   PORT_DIPSETTING(    0x09, "2C/1C, 2C/7C" )
1178   PORT_DIPSETTING(    0x0a, "3C/1C, 3C/10C" )
1179   PORT_DIPSETTING(    0x0b, "4C/1C, 4C/13C" )
1180   PORT_DIPSETTING(    0x0c, DEF_STR( Free_Play) ) // these all force 4 credits, although the credit inputs will temporarily add different amounts
1181   PORT_DIPSETTING(    0x0d, "Free Play (duplicate 1)" )
1182   PORT_DIPSETTING(    0x0e, "Free Play (duplicate 2)" )
1183   PORT_DIPSETTING(    0x0f, "Free Play (duplicate 3)" )
1184INPUT_PORTS_END
1185
1186static INPUT_PORTS_START( mooncrsl )
1187   PORT_INCLUDE(mooncrst)
1188
1189   PORT_MODIFY("IN1")
1190   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) /* the game will crash at round 3 otherwise, could be protection (or a bad rom / bad hack) the same code is mostly patched out in mooncreg */
1191   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
1192   PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
1193   PORT_DIPSETTING(    0x00, DEF_STR( Hard ) )
1194   PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" )
1195   PORT_DIPSETTING(    0x00, "Slow" )
1196   PORT_DIPSETTING(    0x80, "Fast" )
1197INPUT_PORTS_END
1198
1199
1200static INPUT_PORTS_START( mooncptc )
1201   PORT_INCLUDE(smooncrs)
1202
1203   PORT_MODIFY("IN2") // no 1c/1c ?
1204   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) )
1205   PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) )
1206   PORT_DIPSETTING(    0x01, DEF_STR( 2C_3C ) )
1207   PORT_DIPSETTING(    0x02, DEF_STR( 3C_4C ) )
1208   PORT_DIPSETTING(    0x03, DEF_STR( 4C_5C ) )
1209INPUT_PORTS_END
1210
1211
1212static INPUT_PORTS_START( mooncrgx )
1213   PORT_INCLUDE(mooncrst)
1214
1215   PORT_MODIFY("IN0")
1216   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
1217
1218   PORT_MODIFY("IN1")
1219   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
1220   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
1221   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
1222   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
1223   PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
1224   PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
1225
1226   PORT_MODIFY("IN2")
1227   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Bonus_Life ) )
1228   PORT_DIPSETTING(    0x01, "30000" )
1229   PORT_DIPSETTING(    0x00, "50000" )
1230   PORT_DIPUNUSED( 0x02, 0x00 )
1231   PORT_DIPUNUSED( 0x04, 0x00 )        /* Always non-Japanese due to code removed at 0x2f4b */
1232   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1233   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1234   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
1235INPUT_PORTS_END
1236
1237
1238static INPUT_PORTS_START( moonqsr )
1239   PORT_INCLUDE(mooncrst)
1240
1241   PORT_MODIFY("IN1")
1242   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) )
1243   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
1244   PORT_DIPSETTING(    0x40, DEF_STR( Medium ) )
1245   PORT_DIPSETTING(    0x80, DEF_STR( Hard ) )
1246   PORT_DIPSETTING(    0xc0, DEF_STR( Hardest ) )
1247INPUT_PORTS_END
1248
1249
1250static INPUT_PORTS_START( moonal2 )
1251   PORT_INCLUDE(galaxian)
1252
1253   PORT_MODIFY("IN2")
1254   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
1255   PORT_DIPSETTING(    0x01, "4000" )
1256   PORT_DIPSETTING(    0x02, "5000" )
1257   PORT_DIPSETTING(    0x03, "7000" )
1258   PORT_DIPSETTING(    0x00, DEF_STR( None ) )
1259   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
1260   PORT_DIPSETTING(    0x00, "3" )
1261   PORT_DIPSETTING(    0x04, "5" )
1262   PORT_DIPUNUSED( 0x08, 0x00 )
1263INPUT_PORTS_END
1264
1265
1266static INPUT_PORTS_START( fantastc )
1267   PORT_START("IN0")
1268   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
1269   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1270   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1271   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
1272   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
1273   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
1274   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1275   PORT_SERVICE( 0x20, IP_ACTIVE_HIGH )
1276   PORT_DIPNAME( 0x40, 0x40, "Extended Bonus Life" )
1277   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1278   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1279   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1280   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1281   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1282
1283   PORT_START("IN1")
1284   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1285   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1286   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
1287   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1288   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1289   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
1290   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1291   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1292   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1293   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1294   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1295   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
1296   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1297   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1298   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) ) // no effect?
1299   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1300   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
1301   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) )
1302   PORT_DIPSETTING(    0x00, "3" )
1303   PORT_DIPSETTING(    0x80, "5" )
1304
1305   PORT_START("IN2")
1306   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
1307   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
1308   PORT_DIPSETTING(    0x01, DEF_STR( Medium ) )
1309   PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
1310   PORT_DIPSETTING(    0x03, DEF_STR( Hardest ) )
1311   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
1312   PORT_DIPSETTING(    0x00, "20000 80000" )
1313   PORT_DIPSETTING(    0x04, "30000 80000" )
1314   PORT_DIPSETTING(    0x08, "20000 120000" )
1315   PORT_DIPSETTING(    0x0c, "30000 120000" )
1316   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1317   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1318   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1319   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
1320   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1321   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1322   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
1323   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1324   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1325   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1326   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1327   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1328INPUT_PORTS_END
1329
1330
1331static INPUT_PORTS_START( timefgtr )
1332   PORT_START("IN0")
1333   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1334   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
1335   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1336   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1337   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1338   PORT_DIPNAME( 0x20, 0x00, "255 Lives (Cheat)" )
1339   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1340   PORT_DIPSETTING(    0x20, DEF_STR( On ) )
1341   PORT_DIPNAME( 0x40, 0x40, "Extended Bonus Life" )
1342   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1343   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1344   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1345
1346   PORT_START("IN1")
1347   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1348   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1349   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // tilt? freeze?
1350   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1351   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1352   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1353   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) )
1354   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1355   PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
1356   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) )
1357   PORT_DIPSETTING(    0x00, "3" )
1358   PORT_DIPSETTING(    0x80, "5" )
1359
1360   PORT_START("IN2")
1361   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) // if 01 and 02 are both set, bonus life is 00
1362   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1363   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1364   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) // "
1365   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1366   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1367   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
1368   PORT_DIPSETTING(    0x00, "10000 50000" )
1369   PORT_DIPSETTING(    0x04, "20000 50000" )
1370   PORT_DIPSETTING(    0x08, "10000 60000" )
1371   PORT_DIPSETTING(    0x0c, "20000 60000" )
1372   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1373   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1374   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1375   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1376INPUT_PORTS_END
1377
1378
1379static INPUT_PORTS_START( kong )
1380   PORT_START("IN0")
1381   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
1382   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1383   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1384   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
1385   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1386   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1387   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1388   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1389   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1390   PORT_SERVICE( 0x20, IP_ACTIVE_HIGH )
1391   PORT_DIPNAME( 0x40, 0x00, "99 Men/Max Timer (Cheat)" )
1392   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1393   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1394   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1395
1396   PORT_START("IN1")
1397   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME ("One Player Start/Jump")
1398   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME ("Two Player Start/Jump")
1399   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
1400   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1401   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1402   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
1403   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1404   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1405   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1406   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1407   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1408   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1409   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Lives ) )
1410   PORT_DIPSETTING(    0x00, "3" )
1411   PORT_DIPSETTING(    0x40, "5" )
1412   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Coinage ) )
1413   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1414   PORT_DIPSETTING(    0x80, DEF_STR( 2C_1C ) )
1415
1416   PORT_START("IN2")
1417   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
1418   PORT_DIPSETTING(    0x00, "10000" )
1419   PORT_DIPSETTING(    0x01, "20000" )
1420   PORT_DIPSETTING(    0x02, "30000" )
1421   PORT_DIPSETTING(    0x03, DEF_STR( None ) )
1422   PORT_DIPNAME( 0x04, 0x00, "Mode" )
1423   PORT_DIPSETTING(    0x04, "Tournament (harder)" )
1424   PORT_DIPSETTING(    0x00, "Normal" )
1425   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
1426   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1427   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1428   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1429   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1430   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1431   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
1432   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1433   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1434   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
1435   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1436   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1437   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1438   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1439   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1440INPUT_PORTS_END
1441
1442
1443static INPUT_PORTS_START( tdpgal )
1444   PORT_START("IN0")
1445   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1446   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1447   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1448   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1449   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1450   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1451   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
1452   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1453   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1454   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1455
1456   PORT_START("IN1")
1457   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1458   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1459   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
1460   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1461   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1462   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
1463   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1464   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1465   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
1466   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1467   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1468   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
1469   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1470   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1471   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
1472   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1473   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1474   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
1475   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1476   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1477
1478   PORT_START("IN2")
1479   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
1480   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1481   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1482   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
1483   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1484   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1485   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
1486   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1487   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1488   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
1489   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1490   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1491   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
1492   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1493   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1494   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
1495   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1496   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1497   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
1498   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1499   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1500   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
1501   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1502   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1503INPUT_PORTS_END
1504
1505
1506static INPUT_PORTS_START( skybase )
1507   PORT_INCLUDE(mooncrst)
1508
1509   PORT_MODIFY("IN0")
1510   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
1511
1512   PORT_MODIFY("IN1")
1513   PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
1514   PORT_DIPSETTING(    0x80, "1C/1C (2 to start)" )
1515   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1516   PORT_DIPSETTING(    0x40, DEF_STR( 1C_2C ) )
1517   PORT_DIPSETTING(    0xc0, DEF_STR( Free_Play ) )
1518
1519   PORT_MODIFY("IN2")
1520   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1521   PORT_DIPSETTING(    0x00, "3" )
1522   PORT_DIPSETTING(    0x01, "4" )
1523   PORT_DIPSETTING(    0x02, "5" )
1524   PORT_DIPSETTING(    0x03, "Infinite (Cheat)")
1525   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
1526   PORT_DIPSETTING(    0x00, "10000" )
1527   PORT_DIPSETTING(    0x04, "15000" )
1528   PORT_DIPSETTING(    0x08, "20000" )
1529   PORT_DIPSETTING(    0x0c, DEF_STR( None ) )
1530   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
1531   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
1532   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 )
1533   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
1534INPUT_PORTS_END
1535
1536
1537static INPUT_PORTS_START( jumpbug )
1538   PORT_START("IN0")
1539   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1540   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
1541   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
1542   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
1543   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1544   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
1545   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1546   PORT_DIPSETTING(    0x20, DEF_STR( Cocktail ) )
1547   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
1548   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
1549
1550   PORT_START("IN1")
1551   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1552   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1553   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
1554   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
1555   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
1556   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
1557   PORT_DIPNAME( 0x40, 0x00, "Difficulty ?" )
1558   PORT_DIPSETTING(    0x00, DEF_STR( Hard ) )
1559   PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
1560   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
1561
1562   PORT_START("IN2")
1563   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
1564   PORT_DIPSETTING(    0x01, "3" )
1565   PORT_DIPSETTING(    0x02, "4" )
1566   PORT_DIPSETTING(    0x03, "5" )
1567   PORT_DIPSETTING(    0x00, "Infinite (Cheat)")
1568   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) )
1569   PORT_DIPSETTING(    0x04, "A 2C/1C  B 2C/1C" )
1570   PORT_DIPSETTING(    0x08, "A 2C/1C  B 1C/3C" )
1571   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/1C" )
1572   PORT_DIPSETTING(    0x0c, "A 1C/1C  B 1C/6C" )
1573   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
1574INPUT_PORTS_END
1575
1576
1577static INPUT_PORTS_START( levers )
1578   PORT_START("IN0")
1579   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1580   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
1581   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
1582   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
1583   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1584   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
1585   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
1586   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
1587
1588   PORT_START("IN1")
1589   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1590   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1591   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
1592   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
1593   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1594   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
1595   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1596   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
1597
1598   PORT_START("IN2")
1599   PORT_DIPUNKNOWN( 0x01, 0x01 )   /* probably unused */
1600   PORT_DIPUNKNOWN( 0x02, 0x02 )   /* probably unused */
1601   PORT_DIPNAME( 0x04, 0x00, "Leave On" )  /* used - MUST be ON */
1602   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1603   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1604   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Free_Play ) )
1605   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1606   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
1607   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
1608INPUT_PORTS_END
1609
1610
1611static INPUT_PORTS_START( checkman )
1612   PORT_START("IN0")
1613   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
1614   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
1615   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1616   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1617   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Tiles Right")
1618   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1619   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
1620   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1621
1622   PORT_START("IN1")
1623   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Tiles Left")/* also p1 tiles left */
1624   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Tiles Right")/* also p1 tiles right */
1625   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
1626   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
1627   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Tiles Left")/* p2 tiles left */
1628   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
1629   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) )
1630   PORT_DIPSETTING(    0x40, "A 2C/1C  B 1C/3C" )
1631   PORT_DIPSETTING(    0x00, "A 1C/1C  B 1C/6C" )
1632   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
1633   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1634   PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
1635
1636   PORT_START("IN2")
1637   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1638   PORT_DIPSETTING(    0x00, "3" )
1639   PORT_DIPSETTING(    0x01, "4" )
1640   PORT_DIPSETTING(    0x02, "5" )
1641   PORT_DIPSETTING(    0x03, "6" )
1642   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
1643   PORT_DIPSETTING(    0x00, "100000" )
1644   PORT_DIPSETTING(    0x04, "200000" )
1645   PORT_DIPNAME( 0x08, 0x00, "Difficulty Increases At Level" )
1646   PORT_DIPSETTING(    0x08, "3" )
1647   PORT_DIPSETTING(    0x00, "5" )
1648   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
1649INPUT_PORTS_END
1650
1651
1652static INPUT_PORTS_START( checkmaj )
1653   PORT_INCLUDE(checkman)
1654
1655   PORT_MODIFY("IN0")
1656   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1657   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1658   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1659   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1660   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1661   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_COCKTAIL PORT_NAME("P2 Tiles Right")
1662   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
1663   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1664
1665   PORT_MODIFY("IN1")
1666   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1667   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1668   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
1669   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
1670   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
1671   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_COCKTAIL PORT_NAME("P2 Tiles Left")
1672
1673   PORT_MODIFY("IN2")
1674   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Tiles Right")
1675   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Tiles Left")
1676   PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
1677INPUT_PORTS_END
1678
1679
1680static INPUT_PORTS_START( dingo )
1681   PORT_START("IN0")
1682   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1683   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1684   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1685   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1686   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1687   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL /* 1st Button 1 */
1688   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
1689   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1690
1691   PORT_START("IN1")
1692   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1693   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1694   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
1695   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
1696   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
1697   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL /* 2nd Button 1 */
1698   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) )
1699   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1700   PORT_DIPSETTING(    0x40, DEF_STR( Cocktail ) )
1701   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
1702   PORT_DIPSETTING(    0x80, "A 1C/1C  B 1C/5C" )
1703   PORT_DIPSETTING(    0x00, "A 2C/1C  B 1C/3C" )
1704
1705   PORT_START("IN2")
1706   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
1707   PORT_DIPSETTING(    0x00, DEF_STR( Easiest ) )
1708   PORT_DIPSETTING(    0x01, DEF_STR( Easy ) )
1709   PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
1710   PORT_DIPSETTING(    0x03, DEF_STR( Hardest ) )
1711   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
1712   PORT_DIPSETTING(    0x00, "3" )
1713   PORT_DIPSETTING(    0x04, "4" )
1714   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Bonus_Life ) )
1715   PORT_DIPSETTING(    0x00, "20000" )
1716   PORT_DIPSETTING(    0x08, "40000" )
1717   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )   /* Yes, the game reads both of these */
1718   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )   /* Check code at 0x22e1 */
1719INPUT_PORTS_END
1720
1721
1722static INPUT_PORTS_START( mshuttle )
1723   PORT_START("IN0")
1724   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1725   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1726   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1727   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1728   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1729   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1730   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1731   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1732
1733   PORT_START("IN1")
1734   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1735   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1736   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
1737   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
1738   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
1739   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
1740   PORT_SERVICE( 0x40, IP_ACTIVE_HIGH )
1741   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
1742   PORT_DIPSETTING(    0x80, DEF_STR( Upright ) )
1743   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
1744
1745   PORT_START("IN2")
1746   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1747   PORT_DIPSETTING(    0x00, "3" )
1748   PORT_DIPSETTING(    0x01, "4" )
1749   PORT_DIPSETTING(    0x02, "5" )
1750   PORT_DIPSETTING(    0x03, "6" )
1751   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
1752   PORT_DIPSETTING(    0x00, "20000" )
1753   PORT_DIPSETTING(    0x04, "30000" )
1754   PORT_DIPNAME( 0x18, 0x00, DEF_STR( Coin_A ) )
1755   PORT_DIPSETTING(    0x18, DEF_STR( 4C_1C ) )
1756   PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
1757   PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
1758   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1759   PORT_DIPNAME( 0x60, 0x00, DEF_STR( Coin_B ) )
1760   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1761   PORT_DIPSETTING(    0x20, DEF_STR( 1C_2C ) )
1762   PORT_DIPSETTING(    0x40, DEF_STR( 1C_3C ) )
1763   PORT_DIPSETTING(    0x60, DEF_STR( 1C_4C ) )
1764   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
1765   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1766   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
1767INPUT_PORTS_END
1768
1769
1770static INPUT_PORTS_START( kingball )
1771   PORT_INCLUDE(galaxian)
1772
1773   PORT_MODIFY("IN0")
1774   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, kingball_muxbit_r, NULL)
1775   /* Relating to above port:Hack? - possibly multiplexed via writes to $b003 */
1776   //PORT_DIPNAME( 0x40, 0x40, "Speech" )
1777   //PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1778   //PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1779
1780   PORT_MODIFY("IN1")
1781   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, kingball_noise_r, NULL)   /* NOISE line */
1782   PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) )
1783   PORT_DIPSETTING(    0xc0, DEF_STR( 2C_1C ) )
1784   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
1785   PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
1786   PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
1787
1788   PORT_MODIFY("IN2")
1789   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
1790   PORT_DIPSETTING(    0x00, "10000" )
1791   PORT_DIPSETTING(    0x01, "12000" )
1792   PORT_DIPSETTING(    0x02, "15000" )
1793   PORT_DIPSETTING(    0x03, DEF_STR( None ) )
1794
1795   PORT_START("FAKE")
1796   PORT_SERVICE( 0x01, IP_ACTIVE_HIGH )
1797   PORT_DIPNAME( 0x02, 0x02, "Speech" )
1798   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1799   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
1800INPUT_PORTS_END
1801
1802
1803static INPUT_PORTS_START( thepitm )
1804   PORT_START("IN0")
1805   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1806   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1807   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1808   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1809   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1810   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1811   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
1812   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1813
1814   PORT_START("IN1")
1815   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1816   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1817   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
1818   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
1819   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
1820   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
1821   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) // turning both of these on boots with 9 credits?
1822   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1823   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1824   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
1825   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1826   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
1827
1828   PORT_START("IN2")
1829   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
1830   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1831   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
1832   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
1833   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1834   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
1835   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Flip_Screen ) )
1836   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1837   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
1838   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1839   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1840   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
1841   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
1842   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1843   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
1844   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
1845   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1846   PORT_DIPSETTING(    0x20, DEF_STR( On ) )
1847   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
1848   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1849   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1850   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
1851   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1852   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
1853INPUT_PORTS_END
1854
1855/*************************************
1856 *
1857 *  Input Ports
1858 *  Konami games
1859 *
1860 *************************************/
1861
1862static INPUT_PORTS_START( frogger )
1863   PORT_START("IN0")
1864   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
1865   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot2 - unused */
1866   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1867   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot1 - unused */
1868   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
1869   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1870   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
1871   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
1872
1873   PORT_START("IN1")
1874   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1875   PORT_DIPSETTING(    0x00, "3" )
1876   PORT_DIPSETTING(    0x01, "5" )
1877   PORT_DIPSETTING(    0x02, "7" )
1878   PORT_DIPSETTING(    0x03, "256 (Cheat)")
1879   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot2 - unused */
1880   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot1 - unused */
1881   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
1882   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
1883   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
1884   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
1885
1886   PORT_START("IN2")
1887   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
1888   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
1889   PORT_DIPSETTING(    0x02, "A 2/1 B 2/1 C 2/1" )
1890   PORT_DIPSETTING(    0x04, "A 2/1 B 1/3 C 2/1" )
1891   PORT_DIPSETTING(    0x00, "A 1/1 B 1/1 C 1/1" )
1892   PORT_DIPSETTING(    0x06, "A 1/1 B 1/6 C 1/1" )
1893   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1894   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1895   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
1896   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
1897   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
1898   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
1899   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
1900
1901   PORT_START("IN3")   /* need for some PPI accesses */
1902   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
1903INPUT_PORTS_END
1904
1905
1906static INPUT_PORTS_START( froggrmc )
1907   PORT_START("IN0")
1908   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
1909   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
1910   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
1911   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
1912   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
1913   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
1914   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1915   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1916
1917   PORT_START("IN1")
1918   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1919   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
1920   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
1921   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
1922   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
1923   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
1924   PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
1925   PORT_DIPSETTING(    0xc0, "3" )
1926   PORT_DIPSETTING(    0x80, "5" )
1927   PORT_DIPSETTING(    0x40, "7" )
1928   PORT_DIPSETTING(    0x00, "256 (Cheat)")
1929
1930   PORT_START("IN2")
1931   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
1932   PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
1933   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
1934   PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coinage ) )
1935   PORT_DIPSETTING(    0x02, "A 2/1 B 2/1 C 2/1" )
1936   PORT_DIPSETTING(    0x04, "A 2/1 B 1/3 C 2/1" )
1937   PORT_DIPSETTING(    0x06, "A 1/1 B 1/1 C 1/1" )
1938   PORT_DIPSETTING(    0x00, "A 1/1 B 1/6 C 1/1" )
1939   PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1940
1941   PORT_START("IN3")   /* need for some PPI accesses */
1942   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
1943INPUT_PORTS_END
1944
1945
1946static INPUT_PORTS_START( frogg )
1947   PORT_INCLUDE(froggrmc)
1948
1949   PORT_MODIFY("IN0")
1950   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_SPECIAL )       // See notes
1951   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
1952   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
1953
1954   PORT_MODIFY("IN1")
1955   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_SPECIAL )       // See notes
1956
1957   PORT_MODIFY("IN2")
1958   PORT_DIPUNUSED( 0x02, 0x00 )                        // not tested due to code at 0x3084
1959   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Coinage ) )      // when "Cabinet" Dip Switch set to "Upright"
1960   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )        // "A 1/1 B 1/6" if "Cabinet" Dip Switch set to "Cocktail"
1961   PORT_DIPSETTING(    0x04, DEF_STR( 1C_1C ) )        // "A 2/1 B 1/3" if "Cabinet" Dip Switch set to "Cocktail"
1962   PORT_DIPUNUSED( 0x08, 0x00 )
1963INPUT_PORTS_END
1964
1965
1966static INPUT_PORTS_START( turtles )
1967   PORT_START("IN0")
1968   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
1969   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
1970   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1971   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
1972   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
1973   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1974   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
1975   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
1976
1977   PORT_START("IN1")
1978   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
1979   PORT_DIPSETTING(    0x00, "3" )
1980   PORT_DIPSETTING(    0x01, "4" )
1981   PORT_DIPSETTING(    0x02, "5" )
1982   PORT_DIPSETTING(    0x03, "126 (Cheat)")
1983   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
1984   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
1985   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
1986   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
1987   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
1988   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
1989
1990   PORT_START("IN2")
1991   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
1992   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
1993   PORT_DIPSETTING(    0x00, "A 1/1 B 2/1 C 1/1" )
1994   PORT_DIPSETTING(    0x02, "A 1/2 B 1/1 C 1/2" )
1995   PORT_DIPSETTING(    0x04, "A 1/3 B 3/1 C 1/3" )
1996   PORT_DIPSETTING(    0x06, "A 1/4 B 4/1 C 1/4" )
1997   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1998   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1999   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2000   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
2001   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
2002   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
2003   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
2004
2005   PORT_START("IN3")   /* need for some PPI accesses */
2006   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2007INPUT_PORTS_END
2008
2009
2010static INPUT_PORTS_START( turpin )
2011   PORT_INCLUDE(turtles)
2012
2013   PORT_MODIFY("IN1")
2014   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
2015   PORT_DIPSETTING(    0x00, "3" )
2016   PORT_DIPSETTING(    0x01, "5" )
2017   PORT_DIPSETTING(    0x02, "7" )
2018   PORT_DIPSETTING(    0x03, "126 (Cheat)")
2019
2020   PORT_MODIFY("IN2")
2021   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
2022   PORT_DIPSETTING(    0x06, DEF_STR( 4C_1C ) )
2023   PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
2024   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
2025   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
2026INPUT_PORTS_END
2027
2028
2029static INPUT_PORTS_START( amidar )
2030   PORT_INCLUDE(turtles)
2031
2032   PORT_MODIFY("IN1")
2033   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
2034   PORT_DIPSETTING(    0x03, "3" )
2035   PORT_DIPSETTING(    0x02, "4" )
2036   PORT_DIPSETTING(    0x01, "5" )
2037   PORT_DIPSETTING(    0x00, "255 (Cheat)")
2038
2039   PORT_MODIFY("IN2")
2040   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2041   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2042   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2043   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
2044   PORT_DIPSETTING(    0x00, "30000 50000" )
2045   PORT_DIPSETTING(    0x04, "50000 50000" )
2046
2047   PORT_MODIFY("IN3")
2048   PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
2049   PORT_DIPSETTING(    0x04, DEF_STR( 4C_1C ) )
2050   PORT_DIPSETTING(    0x0a, DEF_STR( 3C_1C ) )
2051   PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
2052   PORT_DIPSETTING(    0x02, DEF_STR( 3C_2C ) )
2053   PORT_DIPSETTING(    0x08, DEF_STR( 4C_3C ) )
2054   PORT_DIPSETTING(    0x0f, DEF_STR( 1C_1C ) )
2055   PORT_DIPSETTING(    0x0c, DEF_STR( 3C_4C ) )
2056   PORT_DIPSETTING(    0x0e, DEF_STR( 2C_3C ) )
2057   PORT_DIPSETTING(    0x07, DEF_STR( 1C_2C ) )
2058   PORT_DIPSETTING(    0x06, DEF_STR( 2C_5C ) )
2059   PORT_DIPSETTING(    0x0b, DEF_STR( 1C_3C ) )
2060   PORT_DIPSETTING(    0x03, DEF_STR( 1C_4C ) )
2061   PORT_DIPSETTING(    0x0d, DEF_STR( 1C_5C ) )
2062   PORT_DIPSETTING(    0x05, DEF_STR( 1C_6C ) )
2063   PORT_DIPSETTING(    0x09, DEF_STR( 1C_7C ) )
2064   PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
2065   PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )
2066   PORT_DIPSETTING(    0x40, DEF_STR( 4C_1C ) )
2067   PORT_DIPSETTING(    0xa0, DEF_STR( 3C_1C ) )
2068   PORT_DIPSETTING(    0x10, DEF_STR( 2C_1C ) )
2069   PORT_DIPSETTING(    0x20, DEF_STR( 3C_2C ) )
2070   PORT_DIPSETTING(    0x80, DEF_STR( 4C_3C ) )
2071   PORT_DIPSETTING(    0xf0, DEF_STR( 1C_1C ) )
2072   PORT_DIPSETTING(    0xc0, DEF_STR( 3C_4C ) )
2073   PORT_DIPSETTING(    0xe0, DEF_STR( 2C_3C ) )
2074   PORT_DIPSETTING(    0x70, DEF_STR( 1C_2C ) )
2075   PORT_DIPSETTING(    0x60, DEF_STR( 2C_5C ) )
2076   PORT_DIPSETTING(    0xb0, DEF_STR( 1C_3C ) )
2077   PORT_DIPSETTING(    0x30, DEF_STR( 1C_4C ) )
2078   PORT_DIPSETTING(    0xd0, DEF_STR( 1C_5C ) )
2079   PORT_DIPSETTING(    0x50, DEF_STR( 1C_6C ) )
2080   PORT_DIPSETTING(    0x90, DEF_STR( 1C_7C ) )
2081   PORT_DIPSETTING(    0x00, "Invalid" )
2082   /* Invalid = both coin slots disabled */
2083INPUT_PORTS_END
2084
2085
2086static INPUT_PORTS_START( amidaru )
2087   PORT_INCLUDE(amidar)
2088
2089   PORT_MODIFY("IN2")
2090   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
2091   PORT_DIPSETTING(    0x00, "30000 70000" )
2092   PORT_DIPSETTING(    0x04, "50000 80000" )
2093INPUT_PORTS_END
2094
2095
2096static INPUT_PORTS_START( amidaro )
2097   PORT_INCLUDE(amidar)
2098
2099   PORT_MODIFY("IN1")
2100   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
2101   PORT_DIPSETTING(    0x03, "1" )
2102   PORT_DIPSETTING(    0x02, "2" )
2103   PORT_DIPSETTING(    0x01, "3" )
2104   PORT_DIPSETTING(    0x00, "4" )
2105
2106   PORT_MODIFY("IN2")
2107   PORT_DIPNAME( 0x02, 0x00, "Level Progression" )
2108   PORT_DIPSETTING(    0x00, "Slow" )
2109   PORT_DIPSETTING(    0x02, "Fast" )
2110   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
2111   PORT_DIPSETTING(    0x00, "30000 70000" )
2112   PORT_DIPSETTING(    0x04, "50000 80000" )
2113INPUT_PORTS_END
2114
2115
2116static INPUT_PORTS_START( amidars )
2117   PORT_INCLUDE(turtles)
2118
2119   PORT_MODIFY("IN1")
2120   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
2121   PORT_DIPSETTING(    0x03, "2" )
2122   PORT_DIPSETTING(    0x02, "3" )
2123   PORT_DIPSETTING(    0x01, "4" )
2124   PORT_DIPSETTING(    0x00, "256 (Cheat)")
2125
2126   PORT_MODIFY("IN2")
2127   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
2128   PORT_DIPSETTING(    0x00, "A 1/1 B 1/6" )
2129   PORT_DIPSETTING(    0x02, "A 2/1 B 1/3" )
2130   PORT_DIPUNKNOWN( 0x04, 0x00 )
2131INPUT_PORTS_END
2132
2133
2134static INPUT_PORTS_START( theend )
2135   PORT_START("IN0")
2136   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2137   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2138   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2139   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2140   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2141   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
2142   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2143   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2144
2145   PORT_START("IN1")
2146   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
2147   PORT_DIPSETTING(    0x00, "3" )
2148   PORT_DIPSETTING(    0x01, "4" )
2149   PORT_DIPSETTING(    0x02, "5" )
2150   PORT_DIPSETTING(    0x03, "256 (Cheat)")
2151   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2152   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2153   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2154   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2155   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2156   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2157
2158   PORT_START("IN2")
2159   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2160   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
2161   PORT_DIPSETTING(    0x04, DEF_STR( 3C_1C ) )
2162   PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
2163   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
2164   PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
2165   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2166   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2167   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2168   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )     /* output bits */
2169
2170   PORT_START("IN3")   /* need for some PPI accesses */
2171   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2172INPUT_PORTS_END
2173
2174
2175static INPUT_PORTS_START( scramble )
2176   PORT_START("IN0")
2177   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
2178   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2179   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2180   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2181   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2182   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
2183   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2184   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2185
2186   PORT_START("IN1")
2187   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
2188   PORT_DIPSETTING(    0x00, "3" )
2189   PORT_DIPSETTING(    0x01, "4" )
2190   PORT_DIPSETTING(    0x02, "5" )
2191   PORT_DIPSETTING(    0x03, "255 (Cheat)")
2192   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2193   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2194   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2195   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2196   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2197   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2198
2199   PORT_START("IN2")
2200   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
2201   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
2202   PORT_DIPSETTING(    0x00, "A 1/1  B 2/1  C 1/1" )
2203   PORT_DIPSETTING(    0x02, "A 1/2  B 1/1  C 1/2" )
2204   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1  C 1/3" )
2205   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1  C 1/4" )
2206   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2207   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2208   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2209   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
2210   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, scramble_protection_alt_r, (void *)0)  /* protection bit */
2211   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
2212   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, scramble_protection_alt_r, (void *)1)  /* protection bit */
2213
2214   PORT_START("IN3")   /* need for some PPI accesses */
2215   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2216INPUT_PORTS_END
2217
2218
2219static INPUT_PORTS_START( strfbomb )
2220   PORT_INCLUDE(scramble)
2221
2222   PORT_MODIFY("IN2")
2223   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
2224   PORT_DIPSETTING(    0x00, "A 1/2  B 4/1  C 1/2" )
2225   PORT_DIPSETTING(    0x02, "A 1/3  B 2/1  C 1/3" )
2226   PORT_DIPSETTING(    0x04, "A 1/4  B 3/1  C 1/4" )
2227   PORT_DIPSETTING(    0x06, "A 1/5  B 1/1  C 1/5" )
2228INPUT_PORTS_END
2229
2230
2231static INPUT_PORTS_START( explorer )
2232   PORT_START("IN0")
2233   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
2234   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
2235   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
2236   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
2237   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2238   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
2239   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
2240   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 )
2241
2242   PORT_START("IN1")
2243   PORT_DIPUNKNOWN( 0x01, 0x00 )
2244   PORT_DIPUNKNOWN( 0x02, 0x00 )
2245   PORT_DIPUNKNOWN( 0x04, 0x00 )
2246   PORT_DIPUNKNOWN( 0x08, 0x00 )
2247   PORT_DIPUNKNOWN( 0x10, 0x00 )
2248   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* pressing this disables the coins */
2249   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
2250   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 )
2251
2252   PORT_START("IN2")
2253   PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coin_A ) )
2254   PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
2255   PORT_DIPSETTING(    0x09, DEF_STR( 2C_2C ) )
2256   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
2257   PORT_DIPSETTING(    0x0a, DEF_STR( 2C_3C ) )
2258   PORT_DIPSETTING(    0x0b, DEF_STR( 2C_4C ) )
2259   PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
2260   PORT_DIPSETTING(    0x0c, DEF_STR( 2C_5C ) )
2261   PORT_DIPSETTING(    0x0d, DEF_STR( 2C_6C ) )
2262   PORT_DIPSETTING(    0x02, DEF_STR( 1C_3C ) )
2263   PORT_DIPSETTING(    0x0e, DEF_STR( 2C_7C ) )
2264   PORT_DIPSETTING(    0x0f, DEF_STR( 2C_8C ) )
2265   PORT_DIPSETTING(    0x03, DEF_STR( 1C_4C ) )
2266   PORT_DIPSETTING(    0x04, DEF_STR( 1C_5C ) )
2267   PORT_DIPSETTING(    0x05, DEF_STR( 1C_6C ) )
2268   PORT_DIPSETTING(    0x06, DEF_STR( 1C_7C ) )
2269   PORT_DIPSETTING(    0x07, DEF_STR( 1C_8C ) )
2270   PORT_DIPNAME( 0xf0, 0x00, DEF_STR( Coin_B ) )
2271   PORT_DIPSETTING(    0x80, DEF_STR( 2C_1C ) )
2272   PORT_DIPSETTING(    0x90, DEF_STR( 2C_2C ) )
2273   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
2274   PORT_DIPSETTING(    0xa0, DEF_STR( 2C_3C ) )
2275   PORT_DIPSETTING(    0xb0, DEF_STR( 2C_4C ) )
2276   PORT_DIPSETTING(    0x10, DEF_STR( 1C_2C ) )
2277   PORT_DIPSETTING(    0xc0, DEF_STR( 2C_5C ) )
2278   PORT_DIPSETTING(    0xd0, DEF_STR( 2C_6C ) )
2279   PORT_DIPSETTING(    0x20, DEF_STR( 1C_3C ) )
2280   PORT_DIPSETTING(    0xe0, DEF_STR( 2C_7C ) )
2281   PORT_DIPSETTING(    0xf0, DEF_STR( 2C_8C ) )
2282   PORT_DIPSETTING(    0x30, DEF_STR( 1C_4C ) )
2283   PORT_DIPSETTING(    0x40, DEF_STR( 1C_5C ) )
2284   PORT_DIPSETTING(    0x50, DEF_STR( 1C_6C ) )
2285   PORT_DIPSETTING(    0x60, DEF_STR( 1C_7C ) )
2286   PORT_DIPSETTING(    0x70, DEF_STR( 1C_8C ) )
2287
2288   PORT_START("IN3")
2289   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
2290   PORT_DIPSETTING(    0x00, "2" )
2291   PORT_DIPSETTING(    0x01, "3" )
2292   PORT_DIPSETTING(    0x02, "4" )
2293   PORT_DIPSETTING(    0x03, "5" )
2294   PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Bonus_Life ) )
2295   PORT_DIPSETTING(    0x04, "10000" )
2296   PORT_DIPSETTING(    0x0c, "15000" )
2297   PORT_DIPSETTING(    0x14, "20000" )
2298   PORT_DIPSETTING(    0x1c, "25000" )
2299   PORT_DIPSETTING(    0x00, "30000" )
2300   PORT_DIPSETTING(    0x08, "50000" )
2301   PORT_DIPSETTING(    0x10, "70000" )
2302   PORT_DIPSETTING(    0x18, "90000" )
2303   PORT_DIPUNKNOWN( 0x20, 0x00 )
2304   PORT_DIPUNKNOWN( 0x40, 0x00 )
2305   PORT_SERVICE( 0x80, IP_ACTIVE_HIGH )
2306INPUT_PORTS_END
2307
2308
2309static INPUT_PORTS_START( atlantis )
2310   PORT_START("IN0")
2311   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
2312   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2313   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* probably unused */
2314   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2315   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2316   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
2317   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2318   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2319
2320   PORT_START("IN1")
2321   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
2322   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2323   PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
2324   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Lives ) )
2325   PORT_DIPSETTING(    0x02, "3" )
2326   PORT_DIPSETTING(    0x00, "5" )
2327   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2328   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2329   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2330   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2331   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2332   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2333
2334   PORT_START("IN2")
2335   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
2336   PORT_DIPNAME( 0x0e, 0x00, DEF_STR( Coinage ) )
2337   PORT_DIPSETTING(    0x02, "A 1/3  B 2/1" )
2338   PORT_DIPSETTING(    0x00, "A 1/6  B 1/1" )
2339   PORT_DIPSETTING(    0x04, "A 1/99 B 1/99")
2340   /* all the other combos give 99 credits */
2341   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
2342   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2343   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
2344   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2345
2346   PORT_START("IN3")   /* need for some PPI accesses */
2347   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2348INPUT_PORTS_END
2349
2350
2351static INPUT_PORTS_START( scorpion )
2352   PORT_START("IN0")
2353   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
2354   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2355   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2356   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2357   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2358   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
2359   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2360   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2361
2362   PORT_START("IN1")
2363   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
2364   PORT_DIPSETTING(    0x03, "3")
2365   PORT_DIPSETTING(    0x02, "4" )
2366   PORT_DIPSETTING(    0x01, "5" )
2367   PORT_DIPSETTING(    0x00, "255" )
2368   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2369   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2370   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2371   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2372   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2373   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2374
2375   PORT_START("IN2")
2376   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
2377   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2378   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2379   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2380   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
2381   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2382   PORT_DIPSETTING(    0x04, DEF_STR( Cocktail ) )
2383   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) )
2384   PORT_DIPSETTING(    0x08, "A 1/1  B 1/1" )
2385   PORT_DIPSETTING(    0x00, "A 1/1  B 1/3" )
2386   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
2387   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
2388   PORT_DIPNAME( 0xa0, 0xa0, DEF_STR( Difficulty ) )
2389   PORT_DIPSETTING(    0xa0, DEF_STR( Normal ) )
2390   PORT_DIPSETTING(    0x80, DEF_STR( Medium ) )
2391   PORT_DIPSETTING(    0x20, DEF_STR( Hard ) )
2392   PORT_DIPSETTING(    0x00, DEF_STR( Very_Hard ) )
2393
2394   PORT_START("IN3")   /* need for some PPI accesses */
2395   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2396INPUT_PORTS_END
2397
2398
2399static INPUT_PORTS_START( scorpnmc )
2400   PORT_START("IN0")      /* 0xa000 */
2401   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 )      // COIN2? (it ALWAYS adds 1 credit)
2402   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
2403   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
2404   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2405   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
2406   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
2407   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
2408   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
2409
2410   PORT_START("IN1")      /* 0xa800 */
2411   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Button 1")     /* also P1 Button 1 */
2412   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Button 2")     /* also P1 Button 2 */
2413   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2414   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2415   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
2416   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
2417   PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ) )   // Check code at 0x0118
2418   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
2419   PORT_DIPSETTING(    0x40, DEF_STR( Normal ) )
2420   PORT_DIPSETTING(    0x80, DEF_STR( Hard ) )
2421   PORT_DIPSETTING(    0xc0, DEF_STR( Hardest ) )
2422
2423   PORT_START("IN2")      /* 0xb001 */
2424   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
2425   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
2426   PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) )        // Check code at 0x00eb
2427   PORT_DIPSETTING(    0x00, "2" )
2428   PORT_DIPSETTING(    0x04, "3" )
2429   PORT_DIPSETTING(    0x08, "4" )
2430   PORT_DIPSETTING(    0x0c, "5" )
2431   PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
2432
2433   PORT_START("IN3")      /* 0xb002 */
2434   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )      // Check code at 0x00fe
2435   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2436   PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
2437   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2438   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
2439   PORT_DIPSETTING(    0x02, DEF_STR( 1C_1C ) )
2440   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
2441   PORT_DIPSETTING(    0x06, DEF_STR( 1C_3C ) )
2442   PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNUSED )
2443INPUT_PORTS_END
2444
2445
2446static INPUT_PORTS_START( aracnis )
2447   PORT_START("IN0")      /* 0xa000 */
2448   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 )      // COIN2? (it ALWAYS adds 1 credit)
2449   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
2450   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
2451   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2452   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_8WAY
2453   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2454   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2455   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2456   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 )
2457   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
2458
2459   PORT_START("IN1")      /* 0xa800 - needs verifying */
2460   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Button 1")     /* also P1 Button 1 */
2461   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Button 2")     /* also P1 Button 2 */
2462   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
2463   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2464   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
2465   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2466   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2467   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
2468   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2469   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2470   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2471   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2472   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2473   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
2474   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2475   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2476   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
2477   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2478
2479
2480   PORT_START("IN2")      /* 0xb001 */
2481   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) )
2482   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
2483   PORT_DIPSETTING(    0x01, DEF_STR( 1C_1C ) )
2484   PORT_DIPSETTING(    0x02, DEF_STR( 1C_2C ) )
2485   PORT_DIPSETTING(    0x03, DEF_STR( 1C_3C ) )
2486   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2487   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
2488   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2489   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2490   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
2491   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2492   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2493   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
2494   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2495   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2496   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2497   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2498   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2499   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
2500   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2501   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2502   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
2503   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2504
2505   PORT_START("IN3")      /* 0xb002 */
2506   PORT_DIPNAME( 0x01, 0x01, "0xb002" )
2507   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
2508   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2509   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2510   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2511   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2512   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2513   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
2514   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2515   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2516   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
2517   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2518   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2519   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
2520   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2521   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2522   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2523   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2524   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2525   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
2526   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2527   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2528   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
2529   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2530INPUT_PORTS_END
2531
2532
2533static INPUT_PORTS_START( sfx )
2534   PORT_START("IN0")
2535   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
2536   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) // "Fire" left
2537   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2538   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) // "Fire" right
2539   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
2540   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
2541   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2542   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2543
2544   PORT_START("IN1")
2545   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
2546   PORT_DIPSETTING(    0x02, "3" )
2547   PORT_DIPSETTING(    0x01, "4" )
2548   PORT_DIPSETTING(    0x00, "5" )
2549   PORT_DIPSETTING(    0x03, "Invulnerability (Cheat)")
2550   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) // "Fire" left
2551   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) // "Fire" right
2552   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
2553   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
2554   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2555   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2556
2557   PORT_START("IN2")
2558   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
2559   PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coinage ) )
2560   PORT_DIPSETTING(    0x00, DEF_STR( 3C_1C ) )
2561   PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
2562   PORT_DIPSETTING(    0x06, DEF_STR( 1C_1C ) )
2563   PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
2564   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2565   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2566   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2567   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
2568   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* unused */
2569   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
2570   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* unused */
2571
2572   PORT_START("IN3")   /* need for some PPI accesses */
2573   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2574INPUT_PORTS_END
2575
2576
2577/* verified from Z80 code */
2578static INPUT_PORTS_START( scobra )
2579   PORT_START("IN0")
2580   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY PORT_COCKTAIL
2581   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2582   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )                     /* see notes */
2583   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2584   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2585   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY
2586   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2587   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2588
2589   PORT_START("IN1")
2590   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("H2:2")
2591   PORT_DIPSETTING(    0x00, DEF_STR( No ) )
2592   PORT_DIPSETTING(    0x01, "4 Times" )
2593   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("H2:1")
2594   PORT_DIPSETTING(    0x00, "3" )
2595   PORT_DIPSETTING(    0x02, "4" )
2596   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2597   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2598   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2599   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY PORT_COCKTAIL
2600   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2601   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2602
2603   PORT_START("IN2")
2604   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY PORT_COCKTAIL
2605   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("H2:4,5") /* see notes */
2606   PORT_DIPSETTING(    0x04, DEF_STR( 2C_1C ) )
2607   PORT_DIPSETTING(    0x06, DEF_STR( 4C_3C ) )
2608   PORT_DIPSETTING(    0x02, DEF_STR( 1C_1C ) )
2609   PORT_DIPSETTING(    0x00, "99 Credits" )
2610   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("H2:3")
2611   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2612   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2613   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY
2614   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
2615   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY
2616   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
2617
2618   PORT_START("IN3")   /* need for some PPI accesses */
2619   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2620INPUT_PORTS_END
2621
2622/* verified from Z80 code */
2623static INPUT_PORTS_START( scobras )
2624   PORT_INCLUDE(scobra)
2625
2626   PORT_MODIFY("IN1")
2627   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("H2:2")
2628   PORT_DIPSETTING(    0x00, DEF_STR( No ) )
2629   PORT_DIPSETTING(    0x01, "255 Times" )
2630   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("H2:1")
2631   PORT_DIPSETTING(    0x00, "3" )
2632   PORT_DIPSETTING(    0x02, "5" )
2633INPUT_PORTS_END
2634
2635
2636CUSTOM_INPUT_MEMBER(galaxian_state::moonwar_dial_r)
2637{
2638   static const char *const dialname[2] = { "P1_DIAL", "P2_DIAL" };
2639   int p = (~m_moonwar_port_select >> 4) & 1;
2640
2641   // see http://www.cityofberwyn.com/schematics/stern/MoonWar_opto.tiff for schematic
2642   // I.e. a 74ls161 counts from 0 to 15 which is the absolute number of bars passed on the quadrature
2643
2644   signed char dialread = ioport(dialname[p])->read();
2645
2646   UINT8 ret;
2647
2648   if (dialread < 0) m_direction[p] = 0x00;
2649   else if (dialread > 0) m_direction[p] = 0x10;
2650
2651   m_counter_74ls161[p] += abs(dialread);
2652   m_counter_74ls161[p] &= 0xf;
2653
2654   ret = m_counter_74ls161[p] | m_direction[p];
2655   //fprintf(stderr, "dialread1: %02x, counter_74ls161: %02x, spinner ret is %02x\n", dialread, m_counter_74ls161[p], ret);
2656
2657   return ret;
2658}
2659
2660/* verified from Z80 code */
2661static INPUT_PORTS_START( moonwar )
2662   PORT_START("IN0")
2663   PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, galaxian_state, moonwar_dial_r, (void *)0)
2664   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL // cocktail: p2 shield
2665   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2666   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2667
2668   PORT_START("IN1")
2669   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
2670   PORT_DIPSETTING(    0x00, "3" )
2671   PORT_DIPSETTING(    0x01, "4" )
2672   PORT_DIPSETTING(    0x02, "5" )
2673   PORT_DIPSETTING(    0x03, DEF_STR( Free_Play ) )                  /* see notes */
2674   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
2675   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
2676   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_CONDITION("IN2", 0x08, EQUALS, 0x08) // cocktail: p2 thrust
2677   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CONDITION("IN2", 0x08, EQUALS, 0x00) // upright: p1&p2 hyperflip
2678   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) // both: p1(upright: &p2) shield
2679   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) // both: p1(upright: &p2) thrust
2680   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) // both: p1(upright: &p2) fire
2681
2682   PORT_START("IN2")
2683   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL // cocktail: p2 fire
2684   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2685   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
2686   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
2687   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
2688   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
2689   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2690   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2691   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
2692   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )                       /* output bits */
2693
2694   PORT_START("IN3")   /* need for some PPI accesses */
2695   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2696
2697   PORT_START("P1_DIAL")
2698   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_REVERSE PORT_RESET PORT_CONDITION("IN2", 0x08, EQUALS, 0x08) // cocktail: dial is reversed
2699   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET PORT_CONDITION("IN2", 0x08, EQUALS, 0x00) // upright: dial works normally
2700
2701   PORT_START("P2_DIAL")
2702   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET PORT_COCKTAIL PORT_REVERSE // cocktail: dial is reversed
2703INPUT_PORTS_END
2704
2705/* verified from Z80 code */
2706static INPUT_PORTS_START( moonwara )
2707   PORT_INCLUDE(moonwar)
2708
2709   PORT_MODIFY("IN2")
2710   PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
2711   PORT_DIPSETTING(    0x00, "A 1/1  B 4/1" )
2712   PORT_DIPSETTING(    0x02, "A 1/2  B 3/1" )
2713   PORT_DIPSETTING(    0x04, "A 1/3  B 1/1" )
2714   PORT_DIPSETTING(    0x06, "A 1/4  B 2/1" )
2715
2716   PORT_MODIFY("P1_DIAL")
2717   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET // both: p1 dial works normally, p2 dial is reversed, both share same port
2718
2719   PORT_MODIFY("P2_DIAL")       /* doesn't actually work due to bug in game code */
2720   PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET PORT_COCKTAIL
2721INPUT_PORTS_END
2722
2723
2724/* verified from Z80 code */
2725static INPUT_PORTS_START( armorcar )
2726   PORT_START("IN0")
2727   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_4WAY PORT_COCKTAIL
2728   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
2729   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
2730   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2731   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
2732   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_4WAY
2733   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2734   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2735
2736   PORT_START("IN1")
2737   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
2738   PORT_DIPSETTING(    0x01, "3" )
2739   PORT_DIPSETTING(    0x00, "5" )
2740   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2741   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2742   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2743   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2744   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2745   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
2746   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_4WAY PORT_COCKTAIL
2747   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2748   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2749
2750   PORT_START("IN2")
2751   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_4WAY PORT_COCKTAIL
2752   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2753   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
2754   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
2755   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
2756   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
2757   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
2758   PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
2759   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
2760   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_4WAY
2761   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
2762   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_4WAY
2763   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
2764
2765   PORT_START("IN3")   /* need for some PPI accesses */
2766   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2767INPUT_PORTS_END
2768
2769/* verified from Z80 code */
2770static INPUT_PORTS_START( armorcar2 )
2771   PORT_INCLUDE(armorcar)
2772
2773   PORT_MODIFY("IN0")
2774   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )                       /* see notes */
2775
2776   PORT_MODIFY("IN1")
2777   PORT_BIT( 0x3c, IP_ACTIVE_LOW, IPT_UNUSED )                       /* see notes */
2778
2779   PORT_MODIFY("IN2")
2780   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )                       /* see notes */
2781   PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )                             /* see notes */
2782INPUT_PORTS_END
2783
2784
2785/* verified from Z80 code */
2786static INPUT_PORTS_START( tazmania )
2787   PORT_START("IN0")
2788   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
2789   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
2790   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY
2791   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY
2792   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2793   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY
2794   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2795   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2796
2797   PORT_START("IN1")
2798   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
2799   PORT_DIPSETTING(    0x01, "3" )
2800   PORT_DIPSETTING(    0x00, "5" )
2801   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2802   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2803   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2804   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY PORT_COCKTAIL
2805   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY PORT_COCKTAIL
2806   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2807   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY PORT_COCKTAIL
2808   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
2809   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2810
2811   PORT_START("IN2")
2812   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
2813   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2814   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
2815   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
2816   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
2817   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
2818   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
2819   PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
2820   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
2821   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2822   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2823   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2824   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2825
2826   PORT_START("IN3")   /* need for some PPI accesses */
2827   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2828INPUT_PORTS_END
2829
2830
2831/* verified from Z80 code */
2832static INPUT_PORTS_START( anteater )
2833   PORT_START("IN0")
2834   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
2835   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
2836   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_4WAY
2837   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_4WAY
2838   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
2839   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_4WAY
2840   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2841   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2842
2843   PORT_START("IN1")
2844   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
2845   PORT_DIPSETTING(    0x01, "3" )
2846   PORT_DIPSETTING(    0x00, "5" )
2847   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2848   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2849   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2850//  PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_4WAY PORT_COCKTAIL
2851//  PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_4WAY PORT_COCKTAIL
2852//  PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
2853//  PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_4WAY PORT_COCKTAIL
2854//  PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2855   PORT_BIT( 0x7c, IP_ACTIVE_LOW, IPT_UNUSED )                       /* see notes */
2856   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
2857
2858   PORT_START("IN2")
2859   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
2860   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2861   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
2862   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
2863   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
2864   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
2865//  PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
2866//  PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
2867//  PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
2868   PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )                             /* see notes */
2869   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2870   PORT_BIT( 0xb0, IP_ACTIVE_LOW, IPT_UNUSED )
2871
2872   PORT_START("IN3")   /* need for some PPI accesses */
2873   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2874INPUT_PORTS_END
2875
2876
2877static INPUT_PORTS_START( anteateruk )
2878   PORT_START("IN0")
2879   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
2880   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2881   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2882   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2883   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2884   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
2885   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2886   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
2887   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
2888   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
2889   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2890   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2891
2892   PORT_START("IN1")
2893   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
2894   PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
2895   PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
2896   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2897   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2898   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2899   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2900   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
2901   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2902   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
2903   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
2904   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
2905   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
2906   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2907
2908   PORT_START("IN2")
2909   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
2910   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Coinage ) )
2911   PORT_DIPSETTING(    0x02, "A 1/1  B 1/5" )
2912   PORT_DIPSETTING(    0x00, "A 2/1  B 1/3" )
2913   PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
2914   PORT_DIPSETTING(    0x0c, "3" )
2915   PORT_DIPSETTING(    0x08, "4" )
2916   PORT_DIPSETTING(    0x04, "5" )
2917   PORT_DIPSETTING(    0x00, "6" )
2918   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
2919   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2920   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2921   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2922   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
2923   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2924   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
2925   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2926
2927   PORT_START("IN3")   /* need for some PPI accesses */
2928   PORT_BIT( 0xff, 0x00, IPT_UNUSED )
2929INPUT_PORTS_END
2930
2931
2932/* verified from Z80 code */
2933static INPUT_PORTS_START( calipso )
2934   PORT_START("IN0")
2935   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)      /* also START2 - see notes */
2936   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
2937   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY PORT_PLAYER(1)
2938   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY PORT_PLAYER(1)
2939   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
2940   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY PORT_PLAYER(1)
2941   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2942   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2943
2944   PORT_START("IN1")
2945   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
2946   PORT_DIPSETTING(    0x01, "3" )
2947   PORT_DIPSETTING(    0x00, "5" )
2948   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
2949   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2950   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2951   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY PORT_PLAYER(2)
2952   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY PORT_PLAYER(2)
2953   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
2954   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY PORT_PLAYER(2)
2955   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
2956   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
2957
2958   PORT_START("IN2")
2959   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )  PORT_PLAYER(1)      /* also START1 - see notes */
2960   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
2961   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
2962   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
2963   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
2964   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
2965//  PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
2966//  PORT_DIPSETTING(    0x08, DEF_STR( Upright ) )
2967//  PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
2968   PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW )                             /* see notes */
2969   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
2970
2971   PORT_START("IN3")   /* need for some PPI accesses */
2972   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2973INPUT_PORTS_END
2974
2975
2976/* verified from Z80 code */
2977static INPUT_PORTS_START( losttomb )
2978   PORT_START("IN0")
2979   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 )
2980   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
2981   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP )     PORT_8WAY
2982   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN )   PORT_8WAY
2983   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT )  PORT_8WAY
2984   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT )   PORT_8WAY
2985   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
2986   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
2987
2988   PORT_START("IN1")
2989   PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("H2:1,2")
2990   PORT_DIPSETTING(    0x01, "3" )
2991   PORT_DIPSETTING(    0x02, "5" )
2992   PORT_DIPSETTING(    0x03, DEF_STR( Free_Play ) )                  /* see notes */
2993   PORT_DIPSETTING(    0x00, "Invulnerability (Cheat)")
2994   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP )    PORT_8WAY
2995   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN )  PORT_8WAY
2996   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY
2997   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT )  PORT_8WAY
2998   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 )                      /* "WHIP" */
2999   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
3000
3001   PORT_START("IN2")
3002   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
3003   PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("H2:4,5")
3004   PORT_DIPSETTING(    0x02, "A 1/1  B 1/1" )
3005   PORT_DIPSETTING(    0x00, "A 1/2  B 2/1" )
3006   PORT_DIPSETTING(    0x04, "A 1/3  B 3/1" )
3007   PORT_DIPSETTING(    0x06, "A 1/4  B 4/1" )
3008   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("H2:3") /* see notes */
3009   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
3010   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
3011   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
3012
3013   PORT_START("IN3")   /* need for some PPI accesses */
3014   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
3015INPUT_PORTS_END
3016
3017
3018/* verified from Z80 code - IN2 bit 1 still needs to be understood */
3019static INPUT_PORTS_START( spdcoin )
3020   PORT_START("IN0")
3021   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
3022   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
3023   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
3024   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
3025   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
3026   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
3027   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
3028   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
3029
3030   PORT_START("IN1")
3031   PORT_DIPNAME( 0x01, 0x00, "Freeze" )                              /* Dip Sw #2 */
3032   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
3033   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
3034   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Free_Play ) )                  /* Dip Sw #1 */
3035   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
3036   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
3037   PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
3038
3039   PORT_START("IN2")
3040   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
3041   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )                    /* Dip Sw #5 - Check code at 0x0569 */
3042   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
3043   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
3044   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) )                 /* Dip Sw #4 */
3045   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
3046   PORT_DIPSETTING(    0x04, DEF_STR( Hard ) )
3047   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )                      /* Dip Sw #3 */
3048   PORT_DIPSETTING(    0x08, "3" )
3049   PORT_DIPSETTING(    0x00, "5" )
3050   PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
3051
3052   PORT_START("IN3")   /* need for some PPI accesses */
3053   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
3054INPUT_PORTS_END
3055
3056/* verified from Z80 code */
3057static INPUT_PORTS_START( superbon )
3058   PORT_INCLUDE(losttomb)
3059
3060   PORT_MODIFY("IN0")
3061   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_8WAY
3062   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_8WAY
3063   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
3064   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_8WAY
3065
3066   PORT_MODIFY("IN1")
3067   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 )                      /* "HOLD" */
3068   PORT_BIT( 0x34, IP_ACTIVE_LOW, IPT_UNUSED )
3069INPUT_PORTS_END
3070
3071
3072/*************************************
3073 *
3074 *  ROM definitions
3075 *  Galaxian-derived games
3076 *
3077 *************************************/
3078
3079ROM_START( galaxian )
3080   ROM_REGION( 0x4000, "maincpu", 0 )
3081   ROM_LOAD( "galmidw.u",    0x0000, 0x0800, CRC(745e2d61) SHA1(e65f74e35b1bfaccd407e168ea55678ae9b68edf) )
3082   ROM_LOAD( "galmidw.v",    0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) )
3083   ROM_LOAD( "galmidw.w",    0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) )
3084   ROM_LOAD( "galmidw.y",    0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) )
3085   ROM_LOAD( "7l",           0x2000, 0x0800, CRC(1b933207) SHA1(8b44b0f74420871454e27894d0f004859f9e59a9) )
3086
3087   ROM_REGION( 0x1000, "gfx1", 0 )
3088   ROM_LOAD( "1h.bin",       0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3089   ROM_LOAD( "1k.bin",       0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3090
3091   ROM_REGION( 0x0020, "proms", 0 )
3092   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3093ROM_END
3094
3095ROM_START( galaxiana )
3096   ROM_REGION( 0x4000, "maincpu", 0 )
3097   ROM_LOAD( "7f.bin",       0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) )
3098   ROM_LOAD( "7j.bin",       0x1000, 0x1000, CRC(4e6f66a1) SHA1(ee2a675ab34485c0f58c51be7630a51e27a7a8f3) )
3099   ROM_LOAD( "7l.bin",       0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) )
3100
3101   ROM_REGION( 0x1000, "gfx1", 0 )
3102   ROM_LOAD( "1h.bin",       0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3103   ROM_LOAD( "1k.bin",       0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3104
3105   ROM_REGION( 0x0020, "proms", 0 )
3106   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3107ROM_END
3108
3109ROM_START( galaxianm )
3110   ROM_REGION( 0x4000, "maincpu", 0 )
3111   ROM_LOAD( "galmidw.u",    0x0000, 0x0800, CRC(745e2d61) SHA1(e65f74e35b1bfaccd407e168ea55678ae9b68edf) )
3112   ROM_LOAD( "galmidw.v",    0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) )
3113   ROM_LOAD( "galmidw.w",    0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) )
3114   ROM_LOAD( "galmidw.y",    0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) )
3115   ROM_LOAD( "galmidw.z",    0x2000, 0x0800, CRC(cb24f797) SHA1(e6bb977ded0654c2c7388aad188059e1e0647908) )
3116
3117   ROM_REGION( 0x1000, "gfx1", 0 )
3118   ROM_LOAD( "galaxian.j1",  0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
3119   ROM_LOAD( "galaxian.l1",  0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
3120
3121   ROM_REGION( 0x0020, "proms", 0 )
3122   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3123ROM_END
3124
3125ROM_START( galaxianmo )
3126   ROM_REGION( 0x4000, "maincpu", 0 )
3127   ROM_LOAD( "galaxian.u",   0x0000, 0x0800, CRC(fac42d34) SHA1(0b96d9f1c6bf0e0b7f757dcbaeacfbfafefc54d1) )
3128   ROM_LOAD( "galaxian.v",   0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
3129   ROM_LOAD( "galaxian.w",   0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
3130   ROM_LOAD( "galaxian.y",   0x1800, 0x0800, CRC(96a7ac94) SHA1(c3c7a43117c8b9fd8621823c872889f8e31bf935) )
3131   ROM_LOAD( "7l.bin",       0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) )
3132
3133   ROM_REGION( 0x1000, "gfx1", 0 )
3134   ROM_LOAD( "galaxian.j1",  0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
3135   ROM_LOAD( "galaxian.l1",  0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
3136
3137   ROM_REGION( 0x0020, "proms", 0 )
3138   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3139ROM_END
3140
3141ROM_START( galaxiant )
3142   ROM_REGION( 0x4000, "maincpu", 0 )
3143   ROM_LOAD( "gl-03.8g",  0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) ) /* All eprom are HN462716 eproms */
3144   ROM_LOAD( "gl-04.8f",  0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
3145   ROM_LOAD( "gl-05.8e",  0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
3146   ROM_LOAD( "gl-06.8d",  0x1800, 0x0800, CRC(097d92a2) SHA1(63ef86657286a4e1fae4f795e0e6b410ca2ef06b) )
3147   ROM_LOAD( "gl-07.8c",  0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) )
3148
3149   ROM_REGION( 0x1000, "gfx1", 0 )
3150   ROM_LOAD( "gl-02.1k",  0x0000, 0x0800, CRC(d14f7510) SHA1(cd09e6ee0a3890d01b2415f5b8346c42c02d15a3) ) /* This arrangement produces the correct colors */
3151   ROM_LOAD( "gl-01.1j",  0x0800, 0x0800, CRC(968b6016) SHA1(f13e4a8d0fdeb121d39ca76120acdc6c7e7f377c) ) /* Are the PCB locations reversed for these two? */
3152
3153   ROM_REGION( 0x0020, "proms", 0 )
3154   ROM_LOAD( "6l.bpr",    0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3155ROM_END
3156
3157ROM_START( galaxrf )
3158   ROM_REGION( 0x4000, "maincpu", 0 )
3159   ROM_LOAD( "princip1.u",   0x0000, 0x0800, CRC(3d5d9bae) SHA1(36ef85b42c361e70cd6f31351d6f4b0ef3f3492f) )
3160   ROM_LOAD( "princip2.v",   0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) )
3161   ROM_LOAD( "princip3.w",   0x1000, 0x0800, CRC(aaf038d4) SHA1(2d070fe7c4e9b26092f0f12a9db3392f7d8a65f1) )
3162   ROM_LOAD( "princip4.y",   0x1800, 0x0800, CRC(d74bdd2a) SHA1(68917489b90e7fc3dd1fe9f18d7ef25e12c8d823) )
3163   ROM_LOAD( "princip5.z",   0x2000, 0x0800, CRC(7eeb9e63) SHA1(c05da0f8a3c06aff441f3f9bda891f3e173dc7b7) )
3164
3165   ROM_REGION( 0x1000, "gfx1", 0 )
3166   ROM_LOAD( "graphhj.j1",  0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3167   ROM_LOAD( "graphkl.l1",  0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3168
3169   ROM_REGION( 0x0020, "proms", 0 ) // assumed to be the same
3170   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3171ROM_END
3172
3173ROM_START( astrians )
3174   ROM_REGION( 0x10000, "maincpu", 0 )
3175   ROM_LOAD( "astrians.7h",  0x0000, 0x0800, CRC(21eba3d0) SHA1(d07f141d785c86faca8c40af034c26f2789e9346) )
3176   ROM_LOAD( "astrians.7j",  0x0800, 0x0800, CRC(f3a436cd) SHA1(8d64e61b823e22f17cb79bf9e0c7b3c80c76413f) )
3177   ROM_LOAD( "astrians.7k",  0x1000, 0x0800, CRC(2915e38b) SHA1(045d4cc2c363b9ba8d066f902f03b7eacbeb1f5e) )
3178   ROM_LOAD( "astrians.7l",  0x1800, 0x0800, CRC(2db56b2f) SHA1(b15ce010560f3692d4254a93bff234b409697bac) )
3179   ROM_LOAD( "astrians.7m",  0x2000, 0x0800, CRC(41075efb) SHA1(2839981d9aab87167a6c8c3e9854028e3e11daaa) )
3180
3181   ROM_REGION( 0x1000, "gfx1", 0 )
3182   ROM_LOAD( "astrians.1h",  0x0000, 0x0800, CRC(77c074b4) SHA1(a33f8826ffd593454b72b21cf6d7be084d095a87) )
3183   ROM_LOAD( "astrians.1k",  0x0800, 0x0800, CRC(c30fcc46) SHA1(e99998271c750ffa436d83277bea9f07b840c880) )
3184
3185   ROM_REGION( 0x0020, "proms", 0 )
3186   ROM_LOAD( "prom.6l",      0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3187ROM_END
3188
3189ROM_START( moonaln )
3190   ROM_REGION( 0x4000, "maincpu", 0 )
3191   ROM_LOAD( "galx.u",       0x0000, 0x0800, CRC(79e4007d) SHA1(d55050498a670d1c022ba3caad34f8fcaccf4a30) ) // prg1.bin
3192   ROM_LOAD( "prg2.bin",     0x0800, 0x0800, CRC(59580b30) SHA1(e659426ad8c4e5e10a7cdd07d8b4fea93f875026) )
3193   ROM_LOAD( "prg3.bin",     0x1000, 0x0800, CRC(b64e9d12) SHA1(3b07902ea61388f54c03d65082e78dfc0fa8d3d2) )
3194   ROM_LOAD( "superg.y",     0x1800, 0x0800, CRC(9463f753) SHA1(d9cb35c19aafec43d08b048bbe2337a790f6ba9d) ) // prg4.bin
3195   ROM_LOAD( "prg5.bin",     0x2000, 0x0800, CRC(8bb78987) SHA1(5f24dba0bb31fc8bda5bf570d568472befc4d740) )
3196
3197   ROM_REGION( 0x1000, "gfx1", 0 )
3198   ROM_LOAD( "ca1.bin",   0x0000, 0x0800, CRC(074271dd) SHA1(cd6a40b493bc51c5340d7083f83c51834b95b5fe) )
3199   ROM_LOAD( "ca2.bin",   0x0800, 0x0800, CRC(84d90397) SHA1(93e6ded079c9721d3f9c003e378e8121584671c9) )
3200
3201   ROM_REGION( 0x0020, "proms", 0 )
3202   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3203ROM_END
3204
3205ROM_START( superg )
3206   ROM_REGION( 0x4000, "maincpu", 0 )
3207   ROM_LOAD( "7f.bin",       0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) )
3208   ROM_LOAD( "superg.w",     0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) )
3209   ROM_LOAD( "superg.y",     0x1800, 0x0800, CRC(9463f753) SHA1(d9cb35c19aafec43d08b048bbe2337a790f6ba9d) )
3210   ROM_LOAD( "superg.z",     0x2000, 0x0800, CRC(e6312e35) SHA1(c4010459379d7fe00f605aaf288928b2deffb8b2) )
3211
3212   ROM_REGION( 0x1000, "gfx1", 0 )
3213   ROM_LOAD( "galmidw.1j",   0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
3214   ROM_LOAD( "galmidw.1k",   0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
3215
3216   ROM_REGION( 0x0020, "proms", 0 )
3217   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3218ROM_END
3219
3220ROM_START( galturbo )
3221   ROM_REGION( 0x4000, "maincpu", 0 )
3222   ROM_LOAD( "galturbo.u",   0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) )
3223   ROM_LOAD( "galx.v",       0x0800, 0x0800, CRC(bc16064e) SHA1(4e3220fd63c8184bf9581a89dffb6944d8fae3bb) )
3224   ROM_LOAD( "superg.w",     0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) )
3225   ROM_LOAD( "galturbo.y",   0x1800, 0x0800, CRC(a44f450f) SHA1(4009834afb45e9b23c7cf058bcd3378ef8601872) )
3226   ROM_LOAD( "galturbo.z",   0x2000, 0x0800, CRC(3247f3d4) SHA1(5754dedc2d06736629d85514b2e7c262ce27bf2d) )
3227
3228   ROM_REGION( 0x1000, "gfx1", 0 )
3229   ROM_LOAD( "galturbo.1h",  0x0000, 0x0800, CRC(a713fd1a) SHA1(abf86fe5cb7243a1a36d7ac0a868577a3360dcca) )
3230   ROM_LOAD( "galturbo.1k",  0x0800, 0x0800, CRC(28511790) SHA1(dec2e183a753295d033a56184c973bbc810abf55) )
3231
3232   ROM_REGION( 0x0020, "proms", 0 )
3233   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3234ROM_END
3235
3236ROM_START( galapx )
3237   ROM_REGION( 0x4000, "maincpu", 0 )
3238   ROM_LOAD( "galx.u",       0x0000, 0x0800, CRC(79e4007d) SHA1(d55050498a670d1c022ba3caad34f8fcaccf4a30) )
3239   ROM_LOAD( "galx.v",       0x0800, 0x0800, CRC(bc16064e) SHA1(4e3220fd63c8184bf9581a89dffb6944d8fae3bb) )
3240   ROM_LOAD( "galx.w",       0x1000, 0x0800, CRC(72d2d3ee) SHA1(96e0c5824e46d7398c7e58dd6b75a9f4ead6f3f5) )
3241   ROM_LOAD( "galx.y",       0x1800, 0x0800, CRC(afe397f3) SHA1(283c6f3b3f07581d88f7a6e11fc36947a9d90e2e) )
3242   ROM_LOAD( "galx.z",       0x2000, 0x0800, CRC(778c0d3c) SHA1(6a81875abfea515d379c6212cb57f8e54573e943) )
3243
3244   ROM_REGION( 0x1000, "gfx1", 0 )
3245   ROM_LOAD( "galx.1h",      0x0000, 0x0800, CRC(e8810654) SHA1(b6924c7ad765c32714e6abd5bb56b2732edd5855) )
3246   ROM_LOAD( "galx.1k",      0x0800, 0x0800, CRC(cbe84a76) SHA1(c6d72fb452e8213dd40a2eb5dcca726d7cdca658) )
3247
3248   ROM_REGION( 0x0020, "proms", 0 )
3249   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3250ROM_END
3251
3252ROM_START( galap1 )
3253   ROM_REGION( 0x4000, "maincpu", 0 )
3254   ROM_LOAD( "7f.bin",       0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) )
3255   ROM_LOAD( "galaxian.w",   0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
3256   ROM_LOAD( "galx_1_4.rom", 0x1800, 0x0800, CRC(e71e1d9e) SHA1(32bf22b06c84d36de7c1280740b9c11e8d6a12b6) )
3257   ROM_LOAD( "galx_1_5.rom", 0x2000, 0x0800, CRC(6e65a3b2) SHA1(c9f20645ad2882e937245a9e90504423bb492158) )
3258
3259   ROM_REGION( 0x1000, "gfx1", 0 )
3260   ROM_LOAD( "galmidw.1j",   0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
3261   ROM_LOAD( "galmidw.1k",   0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
3262
3263   ROM_REGION( 0x0020, "proms", 0 )
3264   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3265ROM_END
3266
3267ROM_START( galap4 )
3268   ROM_REGION( 0x4000, "maincpu", 0 )
3269   ROM_LOAD( "galnamco.u",   0x0000, 0x0800, CRC(acfde501) SHA1(4b72c1ffecaccadc541da2367f3ef70a2a9aed64) )
3270   ROM_LOAD( "galnamco.v",   0x0800, 0x0800, CRC(65cf3c77) SHA1(1c5249815816b395e1e04bf6a7dbb63e40faa0e3) )
3271   ROM_LOAD( "galnamco.w",   0x1000, 0x0800, CRC(9eef9ae6) SHA1(b2282e4edb8911e6aabfa936c3526f90381e1320) )
3272   ROM_LOAD( "galnamco.y",   0x1800, 0x0800, CRC(56a5ddd1) SHA1(1f87f647ebdffba28d5957f195448f6bce17f4d5) )
3273   ROM_LOAD( "galnamco.z",   0x2000, 0x0800, CRC(f4bc7262) SHA1(c4b70e474d49f45cec96f7c250bd77e01e18601a) )
3274
3275   ROM_REGION( 0x1000, "gfx1", 0 )
3276   ROM_LOAD( "galx_4c1.rom", 0x0000, 0x0800, CRC(d5e88ab4) SHA1(737a22e406fd0a97d10e93a2c91c3aa61aebbdef) )
3277   ROM_LOAD( "galx_4c2.rom", 0x0800, 0x0800, CRC(a57b83e4) SHA1(335d8674df1d237a4b83da00eb9aee346bc2e901) )
3278
3279   ROM_REGION( 0x0020, "proms", 0 )
3280   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3281ROM_END
3282
3283ROM_START( swarm )
3284   ROM_REGION( 0x4000, "maincpu", 0 )
3285   ROM_LOAD( "swarm1.bin",   0x0000, 0x0800, CRC(21eba3d0) SHA1(d07f141d785c86faca8c40af034c26f2789e9346) )
3286   ROM_LOAD( "swarm2.bin",   0x0800, 0x0800, CRC(f3a436cd) SHA1(8d64e61b823e22f17cb79bf9e0c7b3c80c76413f) )
3287   ROM_LOAD( "swarm3.bin",   0x1000, 0x0800, CRC(2915e38b) SHA1(045d4cc2c363b9ba8d066f902f03b7eacbeb1f5e) )
3288   ROM_LOAD( "swarm4.bin",   0x1800, 0x0800, CRC(8bbbf486) SHA1(84c975562c9c359069fb70f7f416420c74d40622) )
3289   ROM_LOAD( "swarm5.bin",   0x2000, 0x0800, CRC(f1b1987e) SHA1(0c8b57cb156fdd1a81a5e4535464cafab737185b) )
3290
3291   ROM_REGION( 0x1000, "gfx1", 0 )
3292   ROM_LOAD( "swarma.bin",   0x0000, 0x0800, CRC(ef8657bb) SHA1(c942db83231b04041e2794a08ce779331613edcf) )
3293   ROM_LOAD( "swarmb.bin",   0x0800, 0x0800, CRC(60c4bd31) SHA1(a8f22f8d7a9fca2c29091888e243dfa10211e138) )
3294
3295   ROM_REGION( 0x0020, "proms", 0 )
3296   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3297ROM_END
3298
3299ROM_START( zerotime )
3300   ROM_REGION( 0x4000, "maincpu", 0 )
3301   ROM_LOAD( "zt-p01c.016",  0x0000, 0x0800, CRC(90a2bc61) SHA1(9d23dfcf5310cf1d4aa1b473ec84279585e1a876) )
3302   ROM_LOAD( "zt-2.016",     0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) )
3303   ROM_LOAD( "zt-3.016",     0x1000, 0x0800, CRC(aaf038d4) SHA1(2d070fe7c4e9b26092f0f12a9db3392f7d8a65f1) )
3304   ROM_LOAD( "zt-4.016",     0x1800, 0x0800, CRC(786d690a) SHA1(50c5c07941006e3b71afbf057d27daa2f2274925) )
3305   ROM_LOAD( "zt-5.016",     0x2000, 0x0800, CRC(af9260d7) SHA1(955e466a8989993351dc69d73ca322c1c9af7b63) )
3306
3307   ROM_REGION( 0x1000, "gfx1", 0 )
3308   ROM_LOAD( "ztc-2.016",    0x0000, 0x0800, CRC(1b13ca05) SHA1(6999068771dacc6bf6c17eb858af593a929d09af) )
3309   ROM_LOAD( "ztc-1.016",    0x0800, 0x0800, CRC(5cd7df03) SHA1(77873408c89546a17b1da3f64b7e96e314fadb17) )
3310
3311   ROM_REGION( 0x0020, "proms", 0 )
3312   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3313ROM_END
3314
3315ROM_START( starfght )
3316   ROM_REGION( 0x4000, "maincpu", 0 )
3317   ROM_LOAD( "ja.1",         0x0000, 0x0400, CRC(c6ab558b) SHA1(2b707e332c57b9ec6a61220ab2b79ed5076d0628) )
3318   ROM_LOAD( "jb.2",         0x0400, 0x0400, CRC(34b99fed) SHA1(03d12b19c9aee75313cae6af602c93205d2fd4a8) )
3319   ROM_LOAD( "jc.3",         0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) )
3320   ROM_LOAD( "jd.4",         0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) )
3321   ROM_LOAD( "je.5",         0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) )
3322   ROM_LOAD( "jf.6",         0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) )
3323   ROM_LOAD( "jg.7",         0x1800, 0x0400, CRC(707c0f02) SHA1(4cfb18b8161ec6a74663b54120bdc6371ee9dbff) )
3324   ROM_LOAD( "jh.8",         0x1c00, 0x0400, CRC(5dd26461) SHA1(173b939287d0261ff069c277a1afd724133f4c88) )
3325   ROM_LOAD( "ji.9",         0x2000, 0x0400, CRC(6651fe93) SHA1(eb1d9466090ef723ae20003e5be27059f5bea57b) )
3326   ROM_LOAD( "jj.10",        0x2400, 0x0400, CRC(12c721b9) SHA1(1944cd5129115d245ced44da7f1eb4574561c457) )
3327
3328   ROM_REGION( 0x1000, "gfx1", 0 )
3329   ROM_LOAD( "k1.7a",        0x0000, 0x0800, CRC(977e37cf) SHA1(88ff1e4edadf5cfc83413a1fe999aecf4ba72232) )
3330   ROM_LOAD( "k2.9a",        0x0800, 0x0800, CRC(15e387ce) SHA1(d804b1391de5a15c336aa53c812b4a885f830191) )
3331
3332   ROM_REGION( 0x0020, "proms", 0 )
3333   ROM_LOAD( "mmi6331.7f",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* Compatible with 82s123 prom */
3334ROM_END
3335
3336/* was marked 'star fighter' but doesn't appear to be the above game */
3337ROM_START( galaxbsf )
3338   ROM_REGION( 0x4000, "maincpu", 0 )
3339   ROM_LOAD( "1.bn",         0x0000, 0x0400, CRC(cc37b774) SHA1(5b7d9e3c896a1f5b0353732806568d4ffead3ead) )
3340   ROM_LOAD( "2.bn",         0x0400, 0x0400, CRC(c6d21f03) SHA1(64784915bf988fd2a3eea5f219c95c8498175018) )
3341   ROM_LOAD( "3.bn",         0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) )
3342   ROM_LOAD( "4.bn",         0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) )
3343   ROM_LOAD( "5.bn",         0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) )
3344   ROM_LOAD( "6.bn",         0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) )
3345   ROM_LOAD( "7.bn",         0x1800, 0x0400, CRC(1237b9da) SHA1(00e11532c599fca452a816683b361a24476b7100) )
3346   ROM_LOAD( "8.bn",         0x1c00, 0x0400, CRC(78c53607) SHA1(780acff57b594185eb5f4b24ae7d8b4992d96611) )
3347   ROM_LOAD( "9.bn",         0x2000, 0x0400, CRC(901894cc) SHA1(a189a8ab0068e9acc3be7b8e87adc1eadfd6b708) )
3348   ROM_LOAD( "10.bn",        0x2400, 0x0400, CRC(5876f695) SHA1(e8c0d13066cfe4a409293b9e1380513099b35330) )
3349
3350   ROM_REGION( 0x1000, "gfx1", 0 )
3351   ROM_LOAD( "11.bn",       0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3352   ROM_LOAD( "12.bn",       0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3353
3354   ROM_REGION( 0x0020, "proms", 0 )
3355   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3356ROM_END
3357
3358ROM_START( galaxianbl ) // looks to be a fairly plain set with modified bonus lives etc.
3359   ROM_REGION( 0x4000, "maincpu", 0 )
3360   ROM_LOAD( "gal00eg.ic4",       0x0000, 0x0400, CRC(7c44510c) SHA1(76b0831cb42cae0d56176d549f223b75e8275308) )
3361   ROM_LOAD( "gal01eg.ic5",       0x0400, 0x0400, CRC(2a426500) SHA1(c6507a289833a751da7d6907c14bc6fcd4aafda6) )
3362   ROM_LOAD( "gal02.ic6",         0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) )
3363   ROM_LOAD( "gal03.ic7",         0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) )
3364   ROM_LOAD( "gal04.ic8",         0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) )
3365   ROM_LOAD( "gal05.ic9",         0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) )
3366   ROM_LOAD( "gal06.ic10",        0x1800, 0x0400, CRC(1237b9da) SHA1(00e11532c599fca452a816683b361a24476b7100) )
3367   ROM_LOAD( "gal07eg.ic11",      0x1c00, 0x0400, CRC(16144658) SHA1(2195814579d511c290b9d0cfe7386e2c24827627) )
3368   ROM_LOAD( "gal08.ic12",        0x2000, 0x0400, CRC(901894cc) SHA1(a189a8ab0068e9acc3be7b8e87adc1eadfd6b708) )
3369   ROM_LOAD( "gal09.ic13",        0x2400, 0x0400, CRC(5876f695) SHA1(e8c0d13066cfe4a409293b9e1380513099b35330) )
3370
3371   ROM_REGION( 0x1000, "gfx1", 0 )
3372   ROM_LOAD( "galaxian.1h",       0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3373   ROM_LOAD( "galaxian.1k",       0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3374
3375   ROM_REGION( 0x0020, "proms", 0 )
3376   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3377ROM_END
3378
3379ROM_START( kamakazi3 ) /* Hack of Video Games (UK) Ltd. version???? flyer spells it Kamakaze III, also no year or (c) */
3380   ROM_REGION( 0x4000, "maincpu", 0 )
3381   ROM_LOAD( "f_r_a.bin",    0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) )
3382   ROM_LOAD( "f_a.bin",      0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
3383   ROM_LOAD( "f_b.bin",      0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) )
3384   ROM_LOAD( "f_r_c.bin",    0x1800, 0x0800, CRC(c8530a88) SHA1(b8856af80cdae7430c05239875bffdc5d67aab98) )
3385   ROM_LOAD( "f_r_d.bin",    0x2000, 0x0800, CRC(da2d77e0) SHA1(aa96fb8c6401c443b7e767f6d08713bf9e1af103) )
3386
3387   ROM_REGION( 0x1000, "gfx1", 0 )
3388   ROM_LOAD( "r_b.bin",      0x0000, 0x0800, CRC(977e37cf) SHA1(88ff1e4edadf5cfc83413a1fe999aecf4ba72232) )
3389   ROM_LOAD( "r_a.bin",      0x0800, 0x0800, CRC(d0ba22c9) SHA1(678b22d10e1ae7dcea068da838bf6bd648e9ee28) )
3390
3391   ROM_REGION( 0x0020, "proms", 0 )
3392   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3393ROM_END
3394
3395ROM_START( supergx )
3396   ROM_REGION( 0x10000, "maincpu", 0 )
3397   ROM_LOAD( "sg1",          0x0000, 0x0800, CRC(b83f4578) SHA1(9a5d5fc291839f7f1e0a52cca7bea29e99c13315) )
3398   ROM_LOAD( "sg2",          0x0800, 0x0800, CRC(d12ca054) SHA1(8eb7f6904c3c650bfa80908a5988622d5e693bd1) )
3399   ROM_LOAD( "sg3",          0x1000, 0x0800, CRC(53714cb1) SHA1(7dffcd3ced1c3354339bb69477f8aa4c708708db) )
3400   ROM_LOAD( "sg4",          0x1800, 0x0800, CRC(2f36fc69) SHA1(d310dcb0a79b03ee26b0575db9cba6d920cb9273) )
3401   ROM_LOAD( "sg5",          0x2000, 0x0800, CRC(1e0ed4fd) SHA1(183d8990dbff1954921f8c5b67cec09f2d380794) )
3402   ROM_LOAD( "sg6",          0x2800, 0x0800, BAD_DUMP CRC(4f3d97a8) SHA1(b9fcab182ab57e8374fef93f7fd314a155a8d04d) )
3403
3404   ROM_REGION( 0x2000, "gfx1", 0 )
3405   ROM_LOAD( "sgg1",         0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) )
3406   ROM_RELOAD(               0x0800, 0x0800 )
3407   ROM_LOAD( "sgg2",         0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) )
3408   ROM_RELOAD(               0x1800, 0x0800 )
3409
3410   ROM_REGION( 0x0020, "proms", 0 )
3411   ROM_LOAD( "supergx.prm",  0x0000, 0x0020, NO_DUMP )
3412ROM_END
3413
3414ROM_START( tst_galx )
3415   ROM_REGION( 0x4000, "maincpu", 0 )
3416   ROM_LOAD( "test.u",       0x0000, 0x0800, CRC(0614cd7f) SHA1(12440678be8a27a6c3032b6e43c45e27905ffa83) )   /*  The Test ROM */
3417   ROM_LOAD( "galmidw.v",    0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) )
3418   ROM_LOAD( "galmidw.w",    0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) )
3419   ROM_LOAD( "galmidw.y",    0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) )
3420
3421   ROM_LOAD( "7l",           0x2000, 0x0800, CRC(1b933207) SHA1(8b44b0f74420871454e27894d0f004859f9e59a9) )
3422
3423   ROM_REGION( 0x1000, "gfx1", 0 )
3424   ROM_LOAD( "1h.bin",       0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
3425   ROM_LOAD( "1k.bin",       0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
3426
3427   ROM_REGION( 0x0020, "proms", 0 )
3428   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3429ROM_END
3430
3431
3432ROM_START( blkhole )
3433   ROM_REGION( 0x10000, "maincpu", 0 )
3434   ROM_LOAD( "bh1",          0x0000, 0x0800, CRC(64998819) SHA1(69fe5dfbe6cde18ef4cae62da12b5c692c2c72b9) )
3435   ROM_LOAD( "bh2",          0x0800, 0x0800, CRC(26f26ce4) SHA1(720ce7af05ef596fb9a109591534c74d282955e8) )
3436   ROM_LOAD( "bh3",          0x1000, 0x0800, CRC(3418bc45) SHA1(088bbbde66b7b5c36fa48cf14c22146e1444e67c) )
3437   ROM_LOAD( "bh4",          0x1800, 0x0800, CRC(735ff481) SHA1(d9b32db048a0e2a1195cd6f7326005e6622242a9) )
3438   ROM_LOAD( "bh5",          0x2000, 0x0800, CRC(3f657be9) SHA1(3ed1ee0bc199c1625156d2771eecd18a57a0e6ed) )
3439   ROM_LOAD( "bh6",          0x2800, 0x0800, CRC(a057ab35) SHA1(430261bafe20fc182e6e6659019cf42643e95d54) )
3440
3441   ROM_REGION( 0x1000, "gfx1", 0 )
3442   ROM_LOAD( "bh7",          0x0000, 0x0800, CRC(975ba821) SHA1(c50d55f6ab81b803d67f5e18c1243ef85a1a2df1) )
3443   ROM_LOAD( "bh8",          0x0800, 0x0800, CRC(03d11020) SHA1(5768b573fac9aac168db2723462cca76d4d80552) )
3444
3445   ROM_REGION( 0x0020, "proms", 0 )
3446   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3447ROM_END
3448
3449ROM_START( orbitron )
3450   ROM_REGION( 0x10000, "maincpu", 0 )
3451   ROM_LOAD( "orbitron.3",   0x0600, 0x0200, CRC(419f9c9b) SHA1(788a3920f4270b886b3a578f8c2df33e6314a1c3) )
3452   ROM_CONTINUE(             0x0400, 0x0200)
3453   ROM_CONTINUE(             0x0200, 0x0200)
3454   ROM_CONTINUE(             0x0000, 0x0200)
3455   ROM_LOAD( "orbitron.4",   0x0e00, 0x0200, CRC(44ad56ac) SHA1(3a8339cdee50912a16ac0fb448e6659e32542c0c) )
3456   ROM_CONTINUE(             0x0c00, 0x0200)
3457   ROM_CONTINUE(             0x0a00, 0x0200)
3458   ROM_CONTINUE(             0x0800, 0x0200)
3459   ROM_LOAD( "orbitron.1",   0x1600, 0x0200, CRC(da3f5168) SHA1(1927cc7cd3b9d15b629e09781557f4c75d684182) )
3460   ROM_CONTINUE(             0x1400, 0x0200)
3461   ROM_CONTINUE(             0x1200, 0x0200)
3462   ROM_CONTINUE(             0x1000, 0x0200)
3463   ROM_LOAD( "orbitron.2",   0x1e00, 0x0200, CRC(a3b813fc) SHA1(7f0f22667bee897b474fb485d65a74d74a36991a) )
3464   ROM_CONTINUE(             0x1c00, 0x0200)
3465   ROM_CONTINUE(             0x1a00, 0x0200)
3466   ROM_CONTINUE(             0x1800, 0x0200)
3467   ROM_LOAD( "orbitron.5",   0x2000, 0x0800, CRC(20cd8bb8) SHA1(a5309cb04a656c6e1e18bb19910474af8ef814a5) )
3468
3469   ROM_REGION( 0x1000, "gfx1", 0 )
3470   ROM_LOAD( "orbitron.6",   0x0000, 0x0800, CRC(2c91b83f) SHA1(29c73b7ad0dc5a3ba739492c902ad9201eae6ef2) )
3471   ROM_LOAD( "orbitron.7",   0x0800, 0x0800, CRC(46f4cca4) SHA1(e5fb616b1d17b5b5167f05f7840638840deb2d13) )
3472
3473   ROM_REGION( 0x0020, "proms", 0 )
3474   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3475ROM_END
3476
3477ROM_START( luctoday )
3478   ROM_REGION( 0x10000, "maincpu", 0 )
3479   ROM_LOAD( "ltprog1.bin", 0x0000, 0x0800, CRC(59c389b9) SHA1(1e158ced3b56db2c51e422fb4c0b8893565f1956))
3480   ROM_LOAD( "ltprog2.bin", 0x2000, 0x0800, CRC(ac3893b1) SHA1(f6b9cd8111b367ff7030cba52fe965959d92568f))
3481
3482   ROM_REGION( 0x1000, "gfx1", 0 )
3483   ROM_LOAD( "ltchar2.bin", 0x0000, 0x0800, CRC(8cd73bdc) SHA1(6174f7347d2c96f9c5074bc0da5a370c9b07461b))
3484   ROM_LOAD( "ltchar1.bin", 0x0800, 0x0800, CRC(b5ba9946) SHA1(7222cbe8c41ca74b214f4dd5439bf69d90f4644e))
3485
3486   ROM_REGION( 0x0020, "proms", 0 )//This may not be the correct prom
3487   ROM_LOAD( "74s288.ch", 0x0000, 0x0020, BAD_DUMP CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d))
3488ROM_END
3489
3490ROM_START( chewing )
3491   ROM_REGION( 0x10000, "maincpu", 0 )
3492   ROM_LOAD( "1.bin", 0x0000, 0x1000, CRC(7470b347) SHA1(315d2631b50a6e469b9538318d95452e8d2e1f69) )
3493   ROM_LOAD( "7l.bin", 0x2000, 0x0800, CRC(78ebed36) SHA1(e80185737c8ac448901cf0e60ca50d967c323b34) )
3494
3495   ROM_REGION( 0x1000, "gfx1", 0 )
3496   ROM_LOAD( "2.bin", 0x0000, 0x0800, CRC(88c605f3) SHA1(938a9fadfa0994a1d2fc9b3266ec4ccdb5ec6d3a) )
3497   ROM_LOAD( "3.bin", 0x0800, 0x0800, CRC(77ac016a) SHA1(fa5b1e79603ca8d2ee7b3d0a78f12d9ffeec3fd4) )
3498
3499   ROM_REGION( 0x0020, "proms", 0 )
3500   ROM_LOAD( "74s288.ch", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
3501ROM_END
3502
3503ROM_START( catacomb )
3504   ROM_REGION( 0x10000, "maincpu", 0 )
3505   ROM_LOAD( "catacomb.u",    0x0000, 0x0800, CRC(35cc28d2) SHA1(e1dbd75fc21ec88b8119bf9508c87d78e1d5c4f6) )
3506   ROM_LOAD( "catacomb.v",    0x0800, 0x0800, CRC(1d1ce133) SHA1(e22a169003a2238004bdf6c2558198216c2353b7) )
3507   ROM_LOAD( "catacomb.w",    0x1000, 0x0800, CRC(479bbde7) SHA1(9981662cb6351de7c1730de45f645fb0e26ea467) )
3508   /* no .x */
3509   ROM_LOAD( "catacomb.y",    0x2000, 0x0800, CRC(5e3da534) SHA1(a9b960ae96c8ef0b2d590bc58b711aad949025e2) )
3510
3511   ROM_REGION( 0x1000, "gfx1", 0 )
3512   ROM_LOAD( "cat-gfx1",       0x0000, 0x0800, CRC(e871e65c) SHA1(0b528dfab0f57153db9406798848cdedee0323a0) )
3513   ROM_LOAD( "cat-gfx2",       0x0800, 0x0800, CRC(b14dafaa) SHA1(592d5931a76563b3565f22ac4c0120b9a120193f) )
3514
3515   ROM_REGION( 0x0020, "proms", 0 )
3516   /* No color PROM came with the conversion - the Moon Cresta one seems more appropriate than Galaxian,
3517      (the game is unplayable with a Galaxian PROM) but which was intended for use with the kit is unclear */
3518   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, BAD_DUMP CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3519ROM_END
3520
3521ROM_START( omega )
3522   ROM_REGION( 0x10000, "maincpu", 0 )
3523   ROM_LOAD( "omega1.bin",   0x0000, 0x0800, CRC(fc2a096b) SHA1(071ff30060a1aa0a47ae6e88140b80caed00fc4e) )
3524   ROM_LOAD( "omega2.bin",   0x0800, 0x0800, CRC(ad100357) SHA1(7c5e82c25e65b4a390cf5607f15bf4df407f7f11) )
3525   ROM_LOAD( "omega3.bin",   0x1000, 0x0800, CRC(d7e3be79) SHA1(ffa228043c6c717bee8bbec16432dcfe2e348aef) )
3526   ROM_LOAD( "omega4.bin",   0x1800, 0x0800, CRC(42068171) SHA1(940ca30a5772940b8a437498d22c6121482b38e6) )
3527   ROM_LOAD( "omega5.bin",   0x2000, 0x0800, CRC(d8a93383) SHA1(5f60f127360b14206d4df638e528bf961049e37d) )
3528   ROM_LOAD( "omega6.bin",   0x2800, 0x0800, CRC(32a42f44) SHA1(94f458997ec279dce218a17b665fa8c46067e646) )
3529
3530   ROM_REGION( 0x1000, "gfx1", 0 )
3531   ROM_LOAD( "omega1h.bin",  0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) )
3532   ROM_LOAD( "omega1k.bin",  0x0800, 0x0800, CRC(36de42c6) SHA1(6fd93d439e3b8eab62049f925d9e8f8deeda2ae3) )
3533
3534   ROM_REGION( 0x0020, "proms", 0 )
3535   ROM_LOAD( "mmi6331-1j.86",   0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3536ROM_END
3537
3538
3539ROM_START( warofbug )  /* Shows 20c as the base of currency.  I know of no US games that used dimes - unless it's another country? */
3540   ROM_REGION( 0x4000, "maincpu", 0 )
3541   ROM_LOAD( "warofbug.u",   0x0000, 0x0800, CRC(b8dfb7e3) SHA1(c7c675b2638869a9cd7dbd554e6131d8c71b567a) )
3542   ROM_LOAD( "warofbug.v",   0x0800, 0x0800, CRC(fd8854e0) SHA1(b39ab41b834f18341968dd780f0a3cd07d70c16c) )
3543   ROM_LOAD( "warofbug.w",   0x1000, 0x0800, CRC(4495aa14) SHA1(f1be281db1d831770efa9cc41ea87eb348e70108) )
3544   ROM_LOAD( "warofbug.y",   0x1800, 0x0800, CRC(c14a541f) SHA1(d32e89fd18d9e1db2e4a545186eac728c0b02255) )
3545   ROM_LOAD( "warofbug.z",   0x2000, 0x0800, CRC(c167fe55) SHA1(d85c4d1bd7aa5e14eb2f11dfa14979e5dbc084a8) )
3546
3547   ROM_REGION( 0x1000, "gfx1", 0 )
3548   ROM_LOAD( "warofbug.1k",  0x0000, 0x0800, CRC(8100fa85) SHA1(06641c431cace36dec98b87555f62e72f3e53a31) )
3549   ROM_LOAD( "warofbug.1j",  0x0800, 0x0800, CRC(d1220ae9) SHA1(e892bc8b0b71d8b07503e474e9c30e6cab460682) )
3550
3551   ROM_REGION( 0x0020, "proms", 0 )
3552   ROM_LOAD( "warofbug.clr", 0x0000, 0x0020, CRC(8688e64b) SHA1(ed13414257f580b98b50c9892a14159c55e7838d) )
3553ROM_END
3554
3555
3556ROM_START( warofbugg )
3557   ROM_REGION( 0x4000, "maincpu", 0 )
3558   ROM_LOAD( "wotbg-u-1.bin",   0x0000, 0x0800, CRC(f43ff0a8) SHA1(b87abeb8af9105fa8fba78f9a68363bd89066e7f) )
3559   ROM_LOAD( "wotbg-v-2.bin",   0x0800, 0x0800, CRC(eb7a028b) SHA1(8c822ae11d3cc04f749a7cd639d15b9fc830ab35) )
3560   ROM_LOAD( "wotbg-w-3.bin",   0x1000, 0x0800, CRC(693e0e50) SHA1(00b19969cee0f95bfb8251c2df133ff2c9ae3b00) )
3561   ROM_LOAD( "wotbg-y-4.bin",   0x1800, 0x0800, CRC(885d4982) SHA1(4aeaf514a9413a9cb9a971fd258c6cf46ca66fc4) )
3562   ROM_LOAD( "wotbg-z-5.bin",   0x2000, 0x0800, CRC(60041ef2) SHA1(cced5837a037ac5cd8fa6260d69d8e33de5ecd48) )
3563
3564   ROM_REGION( 0x1000, "gfx1", 0 )
3565   ROM_LOAD( "warofbug.1k",  0x0000, 0x0800, CRC(8100fa85) SHA1(06641c431cace36dec98b87555f62e72f3e53a31) )
3566   ROM_LOAD( "warofbug.1j",  0x0800, 0x0800, CRC(d1220ae9) SHA1(e892bc8b0b71d8b07503e474e9c30e6cab460682) )
3567
3568   ROM_REGION( 0x0020, "proms", 0 )
3569   ROM_LOAD( "warofbug.clr", 0x0000, 0x0020, CRC(8688e64b) SHA1(ed13414257f580b98b50c9892a14159c55e7838d) )
3570ROM_END
3571
3572
3573/*  Galaxian hardware mods for War of the Bugs warofbug/warofbugg
3574
3575(WotB using daughterboard that plugs into Z80 socket - has a socketed PAL, two other 20-pin ICs,
3576a 16-pin IC (all with their markings sanded off) and five EPROMs)
3577
3578On the Galaxian board:
3579
35802B, 74LS366 - cut pin 15 OR pin 1 (this disables the stars)
35818E, 74LS139 - cut pin 11 only, join the stub left ON THE CHIP to pin 13 on the chip
3582
3583Cut the track on the bottom of the board going to pin 21 of IC 1K
3584(2716 eprom).
3585
3586Cut the track on the bottom of the board going to pin 21 of IC 1H
3587(2716 eprom).
3588
3589Join pins 21 of IC's 1H and 1K together and connect both to +5 volts
3590(although I've seen one set of docs saying to connect to pin 1 of
3591ic 2N (7408) instead)  */
3592
3593
3594ROM_START( warofbugu )
3595   ROM_REGION( 0x4000, "maincpu", 0 )
3596   ROM_LOAD( "wb-prog-1.7d",   0x0000, 0x0800, CRC(b8dfb7e3) SHA1(c7c675b2638869a9cd7dbd554e6131d8c71b567a) )
3597   ROM_LOAD( "wb-prog-2.7e",   0x0800, 0x0800, CRC(fd8854e0) SHA1(b39ab41b834f18341968dd780f0a3cd07d70c16c) )
3598   ROM_LOAD( "wb-prog-3.7j",   0x1000, 0x0800, CRC(4495aa14) SHA1(f1be281db1d831770efa9cc41ea87eb348e70108) )
3599   ROM_LOAD( "wb-prog-4.7n",   0x1800, 0x0800, CRC(e4bd257c) SHA1(e9a26a50cbc76bb339dfbf3d2817229fe9ff7fc4) )
3600   ROM_LOAD( "wb-prog-5.7p",   0x2000, 0x0800, CRC(71257bb4) SHA1(3624becfda4e080795a15428a51dcda261f91210) )
3601
3602   ROM_REGION( 0x1000, "gfx1", 0 )
3603   ROM_LOAD( "warofbug.1k",  0x0000, 0x0800, CRC(8100fa85) SHA1(06641c431cace36dec98b87555f62e72f3e53a31) ) // wb-vid-1.1j
3604   ROM_LOAD( "warofbug.1j",  0x0800, 0x0800, CRC(d1220ae9) SHA1(e892bc8b0b71d8b07503e474e9c30e6cab460682) ) // wb-vid-2.1l
3605
3606   ROM_REGION( 0x0020, "proms", 0 )
3607   ROM_LOAD( "warofbug.clr", 0x0000, 0x0020, CRC(8688e64b) SHA1(ed13414257f580b98b50c9892a14159c55e7838d) )
3608ROM_END
3609
3610
3611ROM_START( redufo ) /* Galaxian bootleg hardware known as Artic Multi-System */
3612   ROM_REGION( 0x4000, "maincpu", 0 )
3613   ROM_LOAD( "redufo.1",  0x0000, 0x0800, CRC(6a3b873c) SHA1(82f07921d8f1da3ed8b4f99b8052bd7e2cefcb6a) )
3614   ROM_LOAD( "redufo.2",  0x0800, 0x0800, CRC(202eda3b) SHA1(5ca7b50fc510950cd6cce6f27573b5c491171bf0) )
3615   ROM_LOAD( "redufo.3",  0x1000, 0x0800, CRC(bf7030e8) SHA1(59b0624dd91527a916ee6a27d61def82c3c14f49) )
3616   ROM_LOAD( "redufo.4",  0x1800, 0x0800, CRC(8c1c2ef9) SHA1(3beec82c67d8e26ecd988be77efb8599a4741d4d) )
3617   ROM_LOAD( "redufo.5",  0x2000, 0x0800, CRC(ef965b24) SHA1(2e2e0ef2b2940660092c27f46ae76c9320136f17) )
3618   ROM_LOAD( "redufo.6",  0x2800, 0x0800, CRC(58b3e39b) SHA1(9b081154c90f22c17315c8bc2a47993468367768) )
3619   ROM_LOAD( "redufo.7",  0x3000, 0x0800, CRC(fd07d811) SHA1(6b968a7ce452f76a8d26fe694aa4ea6b16e8b6fa) )
3620
3621   ROM_REGION( 0x1000, "gfx1", 0 )
3622   ROM_LOAD( "redufo.8",  0x0000, 0x0800, CRC(b34c7cb4) SHA1(146ed4a02d7540378f4a27a6643055216ad403f7) )
3623   ROM_LOAD( "redufo.9",  0x0800, 0x0800, CRC(50a2d447) SHA1(1f97d1096ad2a3a43a480cb1f040f4534fada3c3) )
3624
3625   ROM_REGION( 0x0020, "proms", 0 )
3626   ROM_LOAD( "tbp18s030n.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3627ROM_END
3628
3629ROM_START( redufob )
3630   ROM_REGION( 0x4000, "maincpu", 0 )
3631   ROM_LOAD( "ru1a",         0x0000, 0x0800, CRC(5a8e4f37) SHA1(c0957ede91e2dc3f80e4912b877843aed5d15779) )
3632   ROM_LOAD( "ru2a",         0x0800, 0x0800, CRC(c624f52d) SHA1(119a660513ad33e35c9bdaecd588219bf8026d82) )
3633   ROM_LOAD( "ru3a",         0x1000, 0x0800, CRC(e1030d1c) SHA1(80640fbbfa7f84c016366b1084e7f8a7acdcd440) )
3634   ROM_LOAD( "ru4a",         0x1800, 0x0800, CRC(7692069e) SHA1(5130d61c857c3b85eadabcf10f3a6771c72f0f56) )
3635   ROM_LOAD( "ru5a",         0x2000, 0x0800, CRC(cb648ff3) SHA1(e0042251ca7f4a31b5bd9f8cca35278a1e152899) )
3636   ROM_LOAD( "ru6a",         0x2800, 0x0800, CRC(e1a9f58e) SHA1(4fc7489fca057156a7cf5efcb01058ce4f0db69e) )
3637
3638   ROM_REGION( 0x1000, "gfx1", 0 )
3639   ROM_LOAD( "ruhja",        0x0000, 0x0800, CRC(8a422b0d) SHA1(b886157518f73e7115a225ba230e456179f6e18f) )
3640   ROM_LOAD( "rukla",        0x0800, 0x0800, CRC(1eb84cb1) SHA1(08f360802a90039c0499a1417d06b6eb5f89d67e) )
3641
3642   ROM_REGION( 0x0020, "proms", 0 )
3643   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
3644ROM_END
3645
3646ROM_START( exodus )
3647   ROM_REGION( 0x4000, "maincpu", 0 )
3648   ROM_LOAD( "exodus1.bin",  0x0000, 0x0800, CRC(5dfe65e1) SHA1(5f1ce289b3c98a89d61d4dea952b4b8888d92ed7) )
3649   ROM_LOAD( "exodus2.bin",  0x0800, 0x0800, CRC(6559222f) SHA1(520497f6fb2b0c76be8419702e8af894283ebf0b) )
3650   ROM_LOAD( "exodus3.bin",  0x1000, 0x0800, CRC(bf7030e8) SHA1(59b0624dd91527a916ee6a27d61def82c3c14f49) )
3651   ROM_LOAD( "exodus4.bin",  0x1800, 0x0800, CRC(3607909e) SHA1(93d074fe4b258d496a0998acb3fc47f0a762227a) )
3652   ROM_LOAD( "exodus9.bin",  0x2000, 0x0800, CRC(994a90c4) SHA1(a07e3ce8f69042c45ebe00ab1d40dbb85602a7a2) )
3653   ROM_LOAD( "exodus10.bin", 0x2800, 0x0800, CRC(fbd11187) SHA1(a3bd49c4a79e76b08e6b343b94689159dc239458) )
3654   ROM_LOAD( "exodus11.bin", 0x3000, 0x0800, CRC(fd07d811) SHA1(6b968a7ce452f76a8d26fe694aa4ea6b16e8b6fa) )
3655
3656   ROM_REGION( 0x1000, "gfx1", 0 )
3657   ROM_LOAD( "exodus5.bin",  0x0000, 0x0800, CRC(b34c7cb4) SHA1(146ed4a02d7540378f4a27a6643055216ad403f7) )
3658   ROM_LOAD( "exodus6.bin",  0x0800, 0x0800, CRC(50a2d447) SHA1(1f97d1096ad2a3a43a480cb1f040f4534fada3c3) )
3659
3660   ROM_REGION( 0x0020, "proms", 0 )
3661   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3662ROM_END
3663
3664ROM_START( tdpgal )
3665   ROM_REGION( 0x10000, "maincpu", 0 )
3666   ROM_LOAD( "1.bin",  0x0000, 0x0800, CRC(7be819fe) SHA1(ab5a332914546692f9976e243daf3040f0d9952e) )
3667   ROM_LOAD( "2.bin",  0x0800, 0x0800, CRC(70c83a5e) SHA1(7b781b027c73d6c3901c6d27901f97fae61a352d) )
3668   ROM_LOAD( "3.bin",  0x1000, 0x0800, CRC(475eb5a0) SHA1(b7436873fd74aff3577540474420a1abaa2babcb) )
3669   ROM_LOAD( "4.bin",  0x1800, 0x0800, CRC(20a71943) SHA1(e196eea20bd0518545dcde61f2697a1d6f61568b) )
3670   ROM_LOAD( "5.bin",  0x2000, 0x0800, CRC(72c4f2dc) SHA1(30a9c69afd2c4da4a14363fc0b17b1e0da188927) )
3671   ROM_LOAD( "6.bin",  0x2800, 0x0800, CRC(fa4e2be4) SHA1(a30d43189660f8a1437faf87064fce28c9c760ad) )
3672
3673   ROM_REGION( 0x1000, "gfx1", 0 )
3674   ROM_LOAD( "8.bin",         0x0000, 0x0800, CRC(d701b1d4) SHA1(8f23ba3c9f42fedd8b8f38d321118a86889f00dc) )
3675   ROM_LOAD( "7.bin",         0x0800, 0x0800, CRC(3113bcfd) SHA1(e2792e5fe7d7f27bb329e3104dee3ca29d72ef48) )
3676
3677   ROM_REGION( 0x0020, "proms", 0 )
3678   ROM_LOAD( "bprom.bin",       0x0000, 0x0020, CRC(2b4cf53f) SHA1(8d7eb0453173b9821eea32419b67559bfb4578d0) )
3679ROM_END
3680
3681
3682ROM_START( azurian )
3683   ROM_REGION( 0x10000, "maincpu", 0 )
3684   ROM_LOAD( "pgm.1",        0x0000, 0x1000, CRC(17a0fca7) SHA1(0ffb80d433fbaa0631d0d982a453f9e6cccab297) )
3685   ROM_LOAD( "pgm.2",        0x1000, 0x1000, CRC(14659848) SHA1(bb9d9c01b074bf7ed7a1c29379bbef41728dd27a) )
3686   ROM_LOAD( "pgm.3",        0x2000, 0x1000, CRC(8f60fb97) SHA1(d0f4d65e568ac1a5d41e550f2f626cbf72884959) )
3687
3688   ROM_REGION( 0x1000, "gfx1", 0 )
3689   ROM_LOAD( "gfx.1",        0x0000, 0x0800, CRC(f5afb803) SHA1(ffc8f86a35179d7715ef618004b79003e0236a93) )
3690   ROM_LOAD( "gfx.2",        0x0800, 0x0800, CRC(ae96e5d1) SHA1(df667fb96d7353ccf9ce0acf788371ef2221e97d) )
3691
3692   ROM_REGION( 0x0020, "proms", 0 )
3693   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3694ROM_END
3695
3696ROM_START( pisces )
3697   ROM_REGION( 0x4000, "maincpu", 0 )
3698   ROM_LOAD( "p1.bin",       0x0000, 0x0800, CRC(40c5b0e4) SHA1(6c18e6f4719eb0d7eb13b778d7ea58e4b87ac35c) )
3699   ROM_LOAD( "p2.bin",       0x0800, 0x0800, CRC(055f9762) SHA1(9d821874dd48a80651adc58a2f7fe5d2b3ed67bc) )
3700   ROM_LOAD( "p3.bin",       0x1000, 0x0800, CRC(3073dd04) SHA1(b93913a988f412d565abd19dc668976585cc8066) )
3701   ROM_LOAD( "p4.bin",       0x1800, 0x0800, CRC(44aaf525) SHA1(667bf4c3a36169c3ddddd22b2f1f90bcc9308548) )
3702   ROM_LOAD( "p5.bin",       0x2000, 0x0800, CRC(fade512b) SHA1(ccef2650f1d9dc3fdde2d441774246d47febc2cc) )
3703   ROM_LOAD( "p6.bin",       0x2800, 0x0800, CRC(5ab2822f) SHA1(bbcac3aab943dd9b173de11ddf02ff75d16b1582) )
3704
3705   ROM_REGION( 0x2000, "gfx1", 0 )
3706//  ROM_LOAD( "pisces.1j",    0x0000, 0x1000, CRC(2dba9e0e) )
3707//  ROM_LOAD( "pisces.1k",    0x1000, 0x1000, CRC(cdc5aa26) )
3708   ROM_LOAD( "g09.bin",      0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) )
3709   ROM_LOAD( "g11.bin",      0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) )
3710   ROM_LOAD( "g10.bin",      0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) )
3711   ROM_LOAD( "g12.bin",      0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) )
3712
3713   ROM_REGION( 0x0020, "proms", 0 )
3714   ROM_LOAD( "colour.bin",   0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )    // same as checkman.clr
3715ROM_END
3716
3717ROM_START( piscesb )
3718   ROM_REGION( 0x4000, "maincpu", 0 )
3719   ROM_LOAD( "pisces.a1",    0x0000, 0x0800, CRC(856b8e1f) SHA1(24d468b5f06f54c3fa1cb54ceec8a0c8e285430e) )
3720   ROM_LOAD( "p2.bin",       0x0800, 0x0800, CRC(055f9762) SHA1(9d821874dd48a80651adc58a2f7fe5d2b3ed67bc) )
3721   ROM_LOAD( "pisces.b2",    0x1000, 0x0800, CRC(5540f2e4) SHA1(b069a7e46fa2c1f732371ef056caaf8f343e11a8) )
3722   ROM_LOAD( "p4.bin",       0x1800, 0x0800, CRC(44aaf525) SHA1(667bf4c3a36169c3ddddd22b2f1f90bcc9308548) )
3723   ROM_LOAD( "p5.bin",       0x2000, 0x0800, CRC(fade512b) SHA1(ccef2650f1d9dc3fdde2d441774246d47febc2cc) )
3724   ROM_LOAD( "p6.bin",       0x2800, 0x0800, CRC(5ab2822f) SHA1(bbcac3aab943dd9b173de11ddf02ff75d16b1582) )
3725
3726   ROM_REGION( 0x2000, "gfx1", 0 )
3727//  ROM_LOAD( "pisces.1j",    0x0000, 0x1000, CRC(2dba9e0e) )
3728//  ROM_LOAD( "pisces.1k",    0x1000, 0x1000, CRC(cdc5aa26) )
3729   ROM_LOAD( "g09.bin",      0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) )
3730   ROM_LOAD( "g11.bin",      0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) )
3731   ROM_LOAD( "g10.bin",      0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) )
3732   ROM_LOAD( "g12.bin",      0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) )
3733
3734   ROM_REGION( 0x0020, "proms", 0 )
3735//  ROM_LOAD( "6331-1j.86",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* very close to Galaxian */
3736   ROM_LOAD( "colour.bin",   0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )    // same as checkman.clr
3737ROM_END
3738
3739ROM_START( omni )
3740   ROM_REGION( 0x4000, "maincpu", 0 )
3741   ROM_LOAD( "omni1.7f",     0x0000, 0x1000, CRC(a9b7acc6) SHA1(0c6319957b760fea3cfa6c29b37c25f5a89a6d77) )
3742   ROM_LOAD( "omni2.7j",     0x1000, 0x1000, CRC(6ade29b7) SHA1(64f1ce82c761db11d26c385299a7063f5971c99a) )
3743   ROM_LOAD( "omni3.7f",     0x2000, 0x1000, CRC(9e37bb24) SHA1(d90b2ff0297d87687561e1e9b29510b6c051760b) )
3744
3745   ROM_REGION( 0x2000, "gfx1", 0 )
3746   ROM_LOAD( "omni5b.l1",    0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) )
3747   ROM_LOAD( "omni6c.j22",   0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) )
3748   ROM_LOAD( "omni4a.j1",    0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) )
3749   ROM_LOAD( "omni7d.l2",    0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) )
3750
3751   ROM_REGION( 0x0020, "proms", 0 )
3752   ROM_LOAD( "colour.bin",   0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )
3753ROM_END
3754
3755ROM_START( uniwars )
3756   ROM_REGION( 0x4000, "maincpu", 0 )
3757   ROM_LOAD( "f07_1a.bin",   0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
3758   ROM_LOAD( "h07_2a.bin",   0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
3759   ROM_LOAD( "k07_3a.bin",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3760   ROM_LOAD( "m07_4a.bin",   0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) )
3761   ROM_LOAD( "d08p_5a.bin",  0x2000, 0x0800, CRC(62354351) SHA1(85bf18942f73023b8be0c3659a0dcd3dfcccfc2c) )
3762   ROM_LOAD( "gg6",          0x2800, 0x0800, CRC(270a3f4d) SHA1(20f5097033fca515d70fe47178cbd341a1d07443) )
3763   ROM_LOAD( "m08p_7a.bin",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3764   ROM_LOAD( "n08p_8a.bin",  0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
3765
3766   ROM_REGION( 0x2000, "gfx1", 0 )
3767   ROM_LOAD( "egg10",        0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) )
3768   ROM_LOAD( "h01_2.bin",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3769   ROM_LOAD( "egg9",         0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) )
3770   ROM_LOAD( "k01_2.bin",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3771
3772   ROM_REGION( 0x0020, "proms", 0 )
3773   ROM_LOAD( "uniwars.clr",  0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
3774ROM_END
3775
3776ROM_START( spacempr )
3777   ROM_REGION( 0x4000, "maincpu", 0 )
3778   ROM_LOAD( "uw01",   0x0000, 0x0800, CRC(7c64fb92) SHA1(69f0923870cb8cbb7ae7a2a056c67a1da9b5588d) )
3779   ROM_LOAD( "uw02",   0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
3780   ROM_LOAD( "uw03",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3781   ROM_LOAD( "uw04",   0x1800, 0x0800, CRC(84885060) SHA1(a6ea3e272b426e86ff87e95c765362b44506228e) )
3782   ROM_LOAD( "uw05",   0x2000, 0x0800, CRC(e342371d) SHA1(f53caf7793df5788237d5e2f35242c0dd7a3085b) )
3783   ROM_LOAD( "uw06",   0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
3784   ROM_LOAD( "uw07",   0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3785   ROM_LOAD( "uw08",   0x3800, 0x0800, CRC(a237c394) SHA1(66dfa2aa39bd19f1f6ddb267d8f8bdbdba750d46) )
3786
3787   ROM_REGION( 0x2000, "gfx1", 0 )
3788   ROM_LOAD( "uw10",   0x0000, 0x0800, CRC(af069cba) SHA1(12b7d0a57f43613c80afd51c417628090740aabe) )
3789   ROM_LOAD( "uw12",   0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3790   ROM_LOAD( "uw09",   0x1000, 0x0800, CRC(ff2c20d5) SHA1(48668dc4f008f44f5c15bdcc331cfe133da99cd4) )
3791   ROM_LOAD( "uw11",   0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3792
3793   ROM_REGION( 0x0020, "proms", 0 )
3794   ROM_LOAD( "mmi6331",  0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3795ROM_END
3796
3797ROM_START( gteikoku )
3798   ROM_REGION( 0x4000, "maincpu", 0 )
3799   ROM_LOAD( "f07_1a.bin",   0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
3800   ROM_LOAD( "h07_2a.bin",   0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
3801   ROM_LOAD( "k07_3a.bin",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3802   ROM_LOAD( "m07_4a.bin",   0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) )
3803   ROM_LOAD( "d08p_5a.bin",  0x2000, 0x0800, CRC(62354351) SHA1(85bf18942f73023b8be0c3659a0dcd3dfcccfc2c) )
3804   ROM_LOAD( "e08p_6a.bin",  0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
3805   ROM_LOAD( "m08p_7a.bin",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3806   ROM_LOAD( "n08p_8a.bin",  0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
3807
3808   ROM_REGION( 0x2000, "gfx1", 0 )
3809   ROM_LOAD( "h01_1.bin",    0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) )
3810   ROM_LOAD( "h01_2.bin",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3811   ROM_LOAD( "k01_1.bin",    0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) )
3812   ROM_LOAD( "k01_2.bin",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3813
3814   ROM_REGION( 0x0020, "proms", 0 )
3815   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3816ROM_END
3817
3818ROM_START( gteikokb )
3819   ROM_REGION( 0x4000, "maincpu", 0 )
3820   ROM_LOAD( "1.bin",        0x0000, 0x0800, CRC(bf00252f) SHA1(a4ec48c6b9468f52bcf8b01d1bdb908dcf81d42d) )
3821   ROM_LOAD( "2.bin",        0x0800, 0x0800, CRC(f712b7d5) SHA1(c269db2e9984a3fbd33888bd426c53d319cad36f) )
3822   ROM_LOAD( "k07_3a.bin",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3823   ROM_LOAD( "4.bin",        0x1800, 0x0800, CRC(808a39a8) SHA1(f3db5175d0c2d10e9e3ded400888f6541490597e) )
3824   ROM_LOAD( "5.bin",        0x2000, 0x0800, CRC(36fe6e67) SHA1(e54a19ad6611fefcdfcf74019a63cc6cea6cf433) )
3825   ROM_LOAD( "6.bin",        0x2800, 0x0800, CRC(c5ea67e8) SHA1(0157eb2ef5ab56cd00e5f4fafd618271d2d4862b) )
3826   ROM_LOAD( "m08p_7a.bin",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3827   ROM_LOAD( "8.bin",        0x3800, 0x0800, CRC(28df3229) SHA1(fd307c6a7de4fcddce1c2f36a957a31b9a6aaa21) )
3828
3829   ROM_REGION( 0x2000, "gfx1", 0 )
3830   ROM_LOAD( "h01_1.bin",    0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) )
3831   ROM_LOAD( "h01_2.bin",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3832   ROM_LOAD( "k01_1.bin",    0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) )
3833   ROM_LOAD( "k01_2.bin",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3834
3835   ROM_REGION( 0x0020, "proms", 0 )
3836   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3837ROM_END
3838
3839ROM_START( gteikob2 )
3840   ROM_REGION( 0x4000, "maincpu", 0 )
3841   ROM_LOAD( "94gnog.bin",   0x0000, 0x0800, CRC(67ec3235) SHA1(f250db867257f474f693012c11008bf92f038cc7) )
3842   ROM_LOAD( "92gnog.bin",   0x0800, 0x0800, CRC(813c41f2) SHA1(bd92e0b53e3c8874d63f3444bca02246cd74b1c6) )
3843   ROM_LOAD( "k07_3a.bin",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3844   ROM_LOAD( "1gnog.bin",    0x1800, 0x0800, CRC(49ff9658) SHA1(3b7f3dc40b3fbc7d4abe5f5d534951c70409148c) )
3845   ROM_LOAD( "5.bin",        0x2000, 0x0800, CRC(36fe6e67) SHA1(e54a19ad6611fefcdfcf74019a63cc6cea6cf433) )
3846   ROM_LOAD( "e08p_6a.bin",  0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
3847   ROM_LOAD( "m08p_7a.bin",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3848   ROM_LOAD( "98gnog.bin",   0x3800, 0x0800, CRC(e9d4ad3c) SHA1(b32b96bebbf59e23b06958f6b16790e9f9f334e2) )
3849
3850   ROM_REGION( 0x2000, "gfx1", 0 )
3851   ROM_LOAD( "h01_1.bin",    0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) )
3852   ROM_LOAD( "h01_2.bin",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3853   ROM_LOAD( "k01_1.bin",    0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) )
3854   ROM_LOAD( "k01_2.bin",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3855
3856   ROM_REGION( 0x0020, "proms", 0 )
3857   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3858ROM_END
3859
3860ROM_START( galemp )
3861   ROM_REGION( 0x4000, "maincpu", 0 )
3862   ROM_LOAD( "1",  0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
3863   ROM_LOAD( "2",  0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
3864   ROM_LOAD( "3",  0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3865   ROM_LOAD( "4",  0x1800, 0x0800, CRC(df7a13ea) SHA1(9d07cdfde84c9243719092234cfa362bf2878a95) )
3866   ROM_LOAD( "5",  0x2000, 0x0800, CRC(ff6128a2) SHA1(64cc17b6cab8d8fd8358840beb13baa76262c6aa) )
3867   ROM_LOAD( "6",  0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
3868   ROM_LOAD( "7",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3869   ROM_LOAD( "8",  0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
3870
3871   ROM_REGION( 0x2000, "gfx1", 0 )
3872   ROM_LOAD( "10",    0x0000, 0x0800, CRC(30177b93) SHA1(b91740b573eadb9a0df23f55594d22b10ea93555) )
3873   ROM_LOAD( "12",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3874   ROM_LOAD( "9",     0x1000, 0x0800, CRC(7e8dcc13) SHA1(56450cb3a9c77a578a12f664d07dbfbbcb82bc07) )
3875   ROM_LOAD( "11",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3876
3877   ROM_REGION( 0x0020, "proms", 0 )
3878   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3879ROM_END
3880
3881ROM_START( asideral )
3882   ROM_REGION( 0x4000, "maincpu", 0 )
3883   ROM_LOAD( "1401.7f",  0x0000, 0x0800, CRC(82a9da91) SHA1(864127f73b4a78435766ff70010663c4d789c472) )
3884   ROM_LOAD( "1302.7h",  0x0800, 0x0800, CRC(cc59b49c) SHA1(13f6cb3a979f1b9baa4fd07c3e36c17ad8e69b5f) )
3885   ROM_LOAD( "1203.7k",  0x1000, 0x0800, CRC(3bc5a165) SHA1(0ad0247f6499170a828bf343f7710c1036b241a7) )
3886   ROM_LOAD( "1104.7m",  0x1800, 0x0800, CRC(c50149d0) SHA1(4007d7c07fe2742d67d2041b4b3c2f3fcaedbc8b) )
3887   ROM_LOAD( "5.8f",     0x2000, 0x0800, CRC(17720c9e) SHA1(c2b59b95c3936e46202e5512a8d117ac86d1be2d) )
3888   ROM_LOAD( "6.8f",     0x2800, 0x0800, CRC(f157a8db) SHA1(75fa76d5dad149502c25d191053041a52dd1562e) )
3889   ROM_LOAD( "7.8f",     0x3000, 0x0800, CRC(75085cb6) SHA1(92c4f375352685ec670b0aa96becce064c5d9bce) )
3890   ROM_LOAD( "8.8f",     0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
3891
3892   ROM_REGION( 0x2000, "gfx1", 0 )
3893   ROM_LOAD( "u10.j2",    0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) )
3894   ROM_LOAD( "u12.j2",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3895   ROM_LOAD( "u9.l2",     0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) )
3896   ROM_LOAD( "u11.l2",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3897
3898   ROM_REGION( 0x0020, "proms", 0 )
3899   ROM_LOAD( "uniwars.clr",  0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
3900ROM_END
3901
3902ROM_START( pajaroes ) // VERY similar to the asideral set
3903   ROM_REGION( 0x4000, "maincpu", 0 )
3904   ROM_LOAD( "pea.rom",  0x0000, 0x0800, CRC(82a9da91) SHA1(864127f73b4a78435766ff70010663c4d789c472) )
3905   ROM_LOAD( "peb.rom",  0x0800, 0x0800, CRC(cc59b49c) SHA1(13f6cb3a979f1b9baa4fd07c3e36c17ad8e69b5f) )
3906   ROM_LOAD( "pec.rom",  0x1000, 0x0800, CRC(3bc5a165) SHA1(0ad0247f6499170a828bf343f7710c1036b241a7) )
3907   ROM_LOAD( "ped.rom",  0x1800, 0x0800, CRC(c50149d0) SHA1(4007d7c07fe2742d67d2041b4b3c2f3fcaedbc8b) )
3908   ROM_LOAD( "pe05.rom", 0x2000, 0x0800, CRC(cb461871) SHA1(3865f3b7f47f314a097dddfcc49929bb63afd4fc) )
3909   ROM_LOAD( "pe04.rom", 0x2800, 0x0800, CRC(f157a8db) SHA1(75fa76d5dad149502c25d191053041a52dd1562e) )
3910   ROM_LOAD( "pe03.rom", 0x3000, 0x0800, CRC(75085cb6) SHA1(92c4f375352685ec670b0aa96becce064c5d9bce) )
3911   ROM_LOAD( "pe02.rom", 0x3800, 0x0800, BAD_DUMP CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) ) // was missing, assuming it's the same as asideral for now
3912
3913   ROM_REGION( 0x2000, "gfx1", 0 )
3914   ROM_LOAD( "pe07.rom",    0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) )
3915   ROM_LOAD( "pe09.rom",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3916   ROM_LOAD( "pe06.rom",    0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) )
3917   ROM_LOAD( "pe08.rom",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3918
3919   ROM_REGION( 0x0020, "proms", 0 ) // wasn't in the set
3920   ROM_LOAD( "uniwars.clr",  0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
3921ROM_END
3922
3923
3924
3925ROM_START( spacbatt )
3926   ROM_REGION( 0x4000, "maincpu", 0 )
3927   ROM_LOAD( "sb1",    0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) /* Same as f07_1a.bin above */
3928   ROM_LOAD( "sb2",    0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) /* Same as h07_2a.bin above */
3929   ROM_LOAD( "sb3",    0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) /* Same as k07_3a.bin above */
3930   ROM_LOAD( "sb4",    0x1800, 0x0800, CRC(8229835c) SHA1(8cfd8f6cab6f80ca69645a184f7e841fc69f47f6) )
3931   ROM_LOAD( "sb5",    0x2000, 0x0800, CRC(f51ef930) SHA1(213e68571a0c7d5ba33a7170d5fa4aea898ea0b9) )
3932   ROM_LOAD( "sb6",    0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) /* Same as e08p_6a.bin above */
3933   ROM_LOAD( "sb7",    0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) /* Same as m08p_7a.bin above */
3934   ROM_LOAD( "sb8",    0x3800, 0x0800, CRC(e59ff1ae) SHA1(fef22885cbd3273882f8c7755dd04c28e843b9ea) )
3935
3936   ROM_REGION( 0x2000, "gfx1", 0 )
3937   ROM_LOAD( "sb12",   0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) /* Same as h01_1.bin above */
3938   ROM_LOAD( "sb14",   0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) /* Same as h01_2.bin above */
3939   ROM_LOAD( "sb11",   0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) /* Same as k01_1.bin above */
3940   ROM_LOAD( "sb13",   0x1800, 0x0800, CRC(92454380) SHA1(f0cd67b39c760c2b5ac549b27b0a5f83fbb3a86b) )
3941
3942   ROM_REGION( 0x0020, "proms", 0 )
3943   ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) /* MMI 6331 bp-prom, compatible with 82s123 */
3944ROM_END
3945
3946ROM_START( spacbat2 )
3947   ROM_REGION( 0x4000, "maincpu", 0 )
3948   ROM_LOAD( "sb1",    0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) /* Same as f07_1a.bin above */
3949   ROM_LOAD( "sb2",    0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) /* Same as h07_2a.bin above */
3950   ROM_LOAD( "sb.3",   0x1000, 0x0800, CRC(c25ce4c1) SHA1(d7a5d435df7868155523d2fb90f331d4b6d9eaa1) )
3951   ROM_LOAD( "sb4",    0x1800, 0x0800, CRC(8229835c) SHA1(8cfd8f6cab6f80ca69645a184f7e841fc69f47f6) )
3952   ROM_LOAD( "sb5",    0x2000, 0x0800, CRC(f51ef930) SHA1(213e68571a0c7d5ba33a7170d5fa4aea898ea0b9) )
3953   ROM_LOAD( "sb6",    0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) /* Same as e08p_6a.bin above */
3954   ROM_LOAD( "sb7",    0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) /* Same as m08p_7a.bin above */
3955   ROM_LOAD( "sb8",    0x3800, 0x0800, CRC(e59ff1ae) SHA1(fef22885cbd3273882f8c7755dd04c28e843b9ea) )
3956
3957   ROM_REGION( 0x2000, "gfx1", 0 )
3958   ROM_LOAD( "sb12",      0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) /* Same as h01_1.bin above */
3959   ROM_LOAD( "sb14",      0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) /* Same as h01_2.bin above */
3960   ROM_LOAD( "sb11",      0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) /* Same as k01_1.bin above */
3961   ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3962
3963   ROM_REGION( 0x0020, "proms", 0 )
3964   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
3965ROM_END
3966
3967ROM_START( skyraidr )
3968   ROM_REGION( 0x4000, "maincpu", 0 )
3969   ROM_LOAD( "f07_1a.bin",   0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
3970   ROM_LOAD( "h07_2a.bin",   0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
3971   ROM_LOAD( "k07_3a.bin",   0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
3972   ROM_LOAD( "sr.04",        0x1800, 0x0800, CRC(9f61d1f8) SHA1(389b0a0d1a577b302907b2ea4c119aa18a6120d9) )
3973   ROM_LOAD( "sr.05",        0x2000, 0x0800, CRC(4352af0a) SHA1(1b31846ea7025aaf3a79141dfa5a089b8d12d982) )
3974   ROM_LOAD( "sr.06",        0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
3975   ROM_LOAD( "m08p_7a.bin",  0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
3976   ROM_LOAD( "n08p_8a.bin",  0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
3977
3978   ROM_REGION( 0x2000, "gfx1", 0 )
3979   ROM_LOAD( "sr.10",        0x0000, 0x0800, CRC(af069cba) SHA1(12b7d0a57f43613c80afd51c417628090740aabe) )
3980   ROM_LOAD( "h01_2.bin",    0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
3981   ROM_LOAD( "sr.09",        0x1000, 0x0800, CRC(ff2c20d5) SHA1(48668dc4f008f44f5c15bdcc331cfe133da99cd4) )
3982   ROM_LOAD( "k01_2.bin",    0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
3983
3984   ROM_REGION( 0x0020, "proms", 0 )
3985   ROM_LOAD( "uniwars.clr",  0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
3986ROM_END
3987
3988
3989ROM_START( devilfsg )
3990   ROM_REGION( 0x10000, "maincpu", 0 )
3991   ROM_LOAD( "dfish1.7f",    0x2000, 0x0800, CRC(2ab19698) SHA1(8450981d3cf3fa8abf2fb5487aa98b03a4cf03a1) )
3992   ROM_CONTINUE(             0x0000, 0x0800 )
3993   ROM_LOAD( "dfish2.7h",    0x2800, 0x0800, CRC(4e77f097) SHA1(aeaa5ff210ccbbe77114edf5dee992d2720636ae) )
3994   ROM_CONTINUE(             0x0800, 0x0800 )
3995   ROM_LOAD( "dfish3.7k",    0x3000, 0x0800, CRC(3f16a4c6) SHA1(cc30b27070a12c250cdc2f7289bae7c7a4c05c2c) )
3996   ROM_CONTINUE(             0x1000, 0x0800 )
3997   ROM_LOAD( "dfish4.7m",    0x3800, 0x0800, CRC(11fc7e59) SHA1(2c0182a75bfca085e67483b421f40b3bc9b8ef24) )
3998   ROM_CONTINUE(             0x1800, 0x0800 )
3999
4000   ROM_REGION( 0x1000, "gfx1", 0 )
4001   ROM_LOAD( "dfish5.1h",    0x0000, 0x0800, CRC(ace6e31f) SHA1(23df890fdf8ef275af79e10c8e43ff3a617b28ac) )
4002   ROM_CONTINUE(             0x0000, 0x0800 )
4003   ROM_LOAD( "dfish6.1k",    0x0800, 0x0800, CRC(d7a6c4c4) SHA1(ec5f9182657edb11884ab93f868f1bb3569461ae) )
4004   ROM_CONTINUE(             0x0800, 0x0800 )
4005
4006   ROM_REGION( 0x1000, "gfx2", 0 )
4007   ROM_LOAD( "dfish5.1h",    0x0000, 0x0800, CRC(ace6e31f) SHA1(23df890fdf8ef275af79e10c8e43ff3a617b28ac) )
4008   ROM_IGNORE(                       0x0800 )
4009   ROM_LOAD( "dfish6.1k",    0x0800, 0x0800, CRC(d7a6c4c4) SHA1(ec5f9182657edb11884ab93f868f1bb3569461ae) )
4010   ROM_IGNORE(                       0x0800 )
4011
4012   ROM_REGION( 0x0020, "proms", 0 )
4013   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4014ROM_END
4015
4016
4017ROM_START( zigzag )
4018   ROM_REGION( 0x10000, "maincpu", 0 )
4019   ROM_LOAD( "zz_d1.7l",    0x0000, 0x1000, CRC(8cc08d81) SHA1(be671192ef06dc3ed6963dc39e6bdce3275300e9) )
4020   ROM_LOAD( "zz_d2.7k",    0x1000, 0x1000, CRC(326d8d45) SHA1(563b9fc64c34e36cfadffb107ce30d3a04d62d9c) )
4021   ROM_LOAD( "zz_d4.7f",    0x2000, 0x1000, CRC(a94ed92a) SHA1(d56f32fc2b3f0f7affe658b7726682c60d09bc16) )
4022   ROM_LOAD( "zz_d3.7h",    0x3000, 0x1000, CRC(ce5e7a00) SHA1(93c47d22698a016cb0f0b654ade9ccab0cd1c88b) )
4023
4024   ROM_REGION( 0x1000, "gfx1", 0 )
4025   ROM_LOAD( "zz_6.1h",     0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
4026   ROM_IGNORE(                      0x0800 )
4027   ROM_LOAD( "zz_5.1k",     0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
4028   ROM_IGNORE(                      0x0800 )
4029
4030   ROM_REGION( 0x1000, "gfx2", 0 )
4031   ROM_LOAD( "zz_6.1h",     0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
4032   ROM_CONTINUE(            0x0000, 0x0800 )
4033   ROM_LOAD( "zz_5.1k",     0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
4034   ROM_CONTINUE(            0x0800, 0x0800 )
4035
4036   ROM_REGION( 0x0020, "proms", 0 )
4037   ROM_LOAD( "zzbpr_e9.bin",0x0000, 0x0020, CRC(aa486dd0) SHA1(b845b52715bf6361ceee8c1ac541733963bd47af) )
4038ROM_END
4039
4040ROM_START( zigzag2 )
4041   ROM_REGION( 0x10000, "maincpu", 0 )
4042   ROM_LOAD( "z1.7l",       0x0000, 0x1000, CRC(4c28349a) SHA1(646134ce506deaee88cc2ec5a973f8fedaddb66b) )
4043   ROM_LOAD( "zz_d2.7k",    0x1000, 0x1000, CRC(326d8d45) SHA1(563b9fc64c34e36cfadffb107ce30d3a04d62d9c) )
4044   ROM_LOAD( "zz_d4.7f",    0x2000, 0x1000, CRC(a94ed92a) SHA1(d56f32fc2b3f0f7affe658b7726682c60d09bc16) )
4045   ROM_LOAD( "zz_d3.7h",    0x3000, 0x1000, CRC(ce5e7a00) SHA1(93c47d22698a016cb0f0b654ade9ccab0cd1c88b) )
4046
4047   ROM_REGION( 0x1000, "gfx1", 0 )
4048   ROM_LOAD( "zz_6.1h",     0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
4049   ROM_IGNORE(                      0x0800 )
4050   ROM_LOAD( "zz_5.1k",     0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
4051   ROM_IGNORE(                      0x0800 )
4052
4053   ROM_REGION( 0x1000, "gfx2", 0 )
4054   ROM_LOAD( "zz_6.1h",     0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
4055   ROM_CONTINUE(            0x0000, 0x0800 )
4056   ROM_LOAD( "zz_5.1k",     0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
4057   ROM_CONTINUE(            0x0800, 0x0800 )
4058
4059   ROM_REGION( 0x0020, "proms", 0 )
4060   ROM_LOAD( "zzbpr_e9.bin",0x0000, 0x0020, CRC(aa486dd0) SHA1(b845b52715bf6361ceee8c1ac541733963bd47af) )
4061ROM_END
4062
4063
4064ROM_START( gmgalax )
4065   ROM_REGION( 0x18000, "maincpu", 0 ) /* 64k for code + 32k for banked code */
4066   ROM_LOAD( "pcb1_pm1.bin", 0x10000, 0x1000, CRC(19338c70) SHA1(cc2665b7d534d324627d12025ee099ff415d4214) )
4067   ROM_LOAD( "pcb1_pm2.bin", 0x11000, 0x1000, CRC(18db074d) SHA1(a70ed18f632e947493e648e6fc057dfb7a2a3322) )
4068   ROM_LOAD( "pcb1_pm3.bin", 0x12000, 0x1000, CRC(abb98b1d) SHA1(bb0109d353359bb192a3e6856a857c2f842838cb) )
4069   ROM_LOAD( "pcb1_pm4.bin", 0x13000, 0x1000, CRC(2403c78e) SHA1(52d8c8a4efcf47871485080ab217098a019e6579) )
4070   ROM_LOAD( "pcb1_gx1.bin", 0x14000, 0x1000, CRC(2faa9f53) SHA1(1e7010d407601c5da1adc68bc9f4742c79d57286) )
4071   ROM_LOAD( "pcb1_gx2.bin", 0x15000, 0x1000, CRC(121c5f16) SHA1(cb1806fa984870133fd883969838dca85f992515) )
4072   ROM_LOAD( "pcb1_gx3.bin", 0x16000, 0x1000, CRC(02d81a21) SHA1(39209cfb7cf142a65e157544d93803ea542a8efb) )
4073
4074   ROM_REGION( 0x4000, "gfx1", 0 )
4075   ROM_LOAD( "pcb2gfx1.bin", 0x0000, 0x0800, CRC(7021bbc0) SHA1(52d2983d74e722fccb31eb02ca56255850c4f41c) )
4076   ROM_CONTINUE(             0x1000, 0x0800 )
4077   ROM_LOAD( "pcb2gfx3.bin", 0x0800, 0x0800, CRC(089c922b) SHA1(f1b81999f63677d4cd58cd547353170e348a1423) )
4078   ROM_CONTINUE(             0x1800, 0x0800 )
4079   ROM_LOAD( "pcb2gfx2.bin", 0x2000, 0x0800, CRC(51bf58ee) SHA1(3546ff03c76a6422b0515bd5c695674bfb032089) )
4080   ROM_CONTINUE(             0x3000, 0x0800 )
4081   ROM_LOAD( "pcb2gfx4.bin", 0x2800, 0x0800, CRC(908fd0dc) SHA1(ac278bd82730e92ff312793244340748b93fa9bb) )
4082   ROM_CONTINUE(             0x3800, 0x0800 )
4083
4084   ROM_REGION( 0x0040, "proms", 0 )
4085   ROM_LOAD( "gmgalax2.clr", 0x0000, 0x0020, CRC(499f4440) SHA1(66d6463a145087041934bdab8bfa6c3db6375317) )
4086   ROM_LOAD( "l06_prom.bin", 0x0020, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4087ROM_END
4088
4089
4090/*************************************
4091 *
4092 *  ROM definitions
4093 *  Artic Multi-System (Galaxian bootleg hardware)
4094 *  About 20 games were available on this system, some unique!
4095 *
4096 *************************************/
4097
4098ROM_START( streakng )
4099   ROM_REGION( 0x10000, "maincpu", 0 )
4100   ROM_LOAD( "sk1",          0x0000, 0x1000, CRC(c8866ccb) SHA1(1fc8bc643ecbfa86a50448d79b299f5a3dd586c5) )
4101   ROM_LOAD( "sk2",          0x1000, 0x1000, CRC(7caea29b) SHA1(5b3946ee914b1637db9046abf92d66ceaeb4fc5f) )
4102   ROM_LOAD( "sk3",          0x2000, 0x1000, CRC(7b4bfa76) SHA1(9223bec0c1cc39bc84670869b2a4fab0d0167c6e) )
4103   ROM_LOAD( "sk4",          0x3000, 0x1000, CRC(056fc921) SHA1(de8525571e5a82ddf74dd57b1a6c5bc9f2d2c0fe) )
4104
4105   ROM_REGION( 0x1000, "gfx1", 0 )
4106   ROM_LOAD( "sk5",          0x0000, 0x1000, CRC(d27f1e0c) SHA1(c3b4ae55a93516b034a16c9f943b360b24c933d6) )
4107
4108   ROM_REGION( 0x1000, "gfx2", 0 )
4109   ROM_LOAD( "sk6",          0x0000, 0x1000, CRC(a7089588) SHA1(e76242b043b1d8f060f669da3ddeee3d10122cdb) )
4110
4111   ROM_REGION( 0x0020, "proms", 0 )
4112   ROM_LOAD( "sk.bpr",       0x0000, 0x0020, CRC(bce79607) SHA1(49d60fde149240bcd025f721b0fbbbdbc549a42f) )
4113ROM_END
4114
4115/*
4116sk2          [1/2]      st3.BIN                 IDENTICAL
4117sk3          [1/2]      5st.BIN                 IDENTICAL
4118sk6          [1/2]      9.BIN                   IDENTICAL
4119sk5          [1/2]      11.BIN                  IDENTICAL
4120sk1          [2/2]      st2.BIN                 IDENTICAL
4121sk2          [2/2]      st4.BIN                 IDENTICAL
4122sk3          [2/2]      6st.BIN                 IDENTICAL
4123sk4          [2/2]      8st.BIN                 IDENTICAL
4124sk5          [2/2]      12.BIN                  IDENTICAL
4125sk6          [2/2]      10.BIN                  IDENTICAL
4126sk1          [1/2]      st1.BIN                 99.951172%
4127sk4          [1/2]      7st.BIN                 99.951172%
4128sk.bpr                                          NO MATCH
4129*/
4130
4131ROM_START( streaknga )
4132   ROM_REGION( 0x10000, "maincpu", 0 )
4133   ROM_LOAD( "st1.bin",  0x0000, 0x0800, CRC(c827e124) SHA1(85d84bb678cb80e7ca4a591b6c30a247e9aac213) )
4134   ROM_LOAD( "st2.bin",  0x0800, 0x0800, CRC(b01d4f8f) SHA1(1116374b5e90c7e525319c92d6dd9ba6641ca231) )
4135   ROM_LOAD( "st3.bin",  0x1000, 0x0800, CRC(c7a9c493) SHA1(58c25bdf68807ecfe6fcaf90137a5f8701696d1d) )
4136   ROM_LOAD( "st4.bin",  0x1800, 0x0800, CRC(12487c75) SHA1(12796dab558ab13b42ee87181d60c3fa290c64e4) )
4137   ROM_LOAD( "5st.bin",  0x2000, 0x0800, CRC(f9f9e2be) SHA1(3efa850361137f50a42de9dcd868519fbc4680b4) )
4138   ROM_LOAD( "6st.bin",  0x2800, 0x0800, CRC(c22fe6c2) SHA1(fb8bf579f6bd413ae5ef49facf1d21125da52833) )
4139   ROM_LOAD( "7st.bin",  0x3000, 0x0800, CRC(9cd7869a) SHA1(5edccf4a1dff184ebbec8748216353805abff29d) )
4140   ROM_LOAD( "8st.bin",  0x3800, 0x0800, CRC(5e750ad3) SHA1(55f77564a9bb07d66c2f13ee1a4ff39c8029a383) )
4141
4142   ROM_REGION( 0x1000, "gfx1", 0 )
4143   ROM_LOAD( "11.bin",   0x0000, 0x0800, CRC(cddd8924) SHA1(340ed1d4da62388d49838db25f09a569a0e17dee) )
4144   ROM_LOAD( "12.bin",   0x0800, 0x0800, CRC(10cda095) SHA1(488def62d52296c7482b349c1aeaeaa1d45bad77) )
4145
4146   ROM_REGION( 0x1000, "gfx2", 0 )
4147   ROM_LOAD( "9.bin",    0x0000, 0x0800, CRC(6a2a8a0f) SHA1(1822c2f4c48740fee2d4e048410db5e846c8a2db) )
4148   ROM_LOAD( "10.bin",   0x0800, 0x0800, CRC(3563dfbe) SHA1(9056b618e19a40cc96d90f393c1c40a573497ca7) )
4149
4150   ROM_REGION( 0x0020, "proms", 0 )    /* from parent set */
4151   ROM_LOAD( "sk.bpr",   0x0000, 0x0020, BAD_DUMP CRC(bce79607) SHA1(49d60fde149240bcd025f721b0fbbbdbc549a42f) )
4152ROM_END
4153
4154ROM_START( pacmanbl ) /* Artic Multi-System */
4155   ROM_REGION( 0x10000, "maincpu", 0 )
4156   ROM_LOAD( "1",  0x0000, 0x0800, CRC(6718df42) SHA1(ee15c3f583d381fba4878f824f83d04479a0cee5) )
4157   ROM_LOAD( "2",  0x0800, 0x0800, CRC(33be3648) SHA1(50175889cf37fe8a81c931e009b55d10f8d0444a) )
4158   ROM_LOAD( "3",  0x1000, 0x0800, CRC(f98c0ceb) SHA1(4faf8b2fb3f109d1196a9ea256328485074a31b9) )
4159   ROM_LOAD( "4",  0x1800, 0x0800, CRC(a9cd0082) SHA1(f44ff1ad15d5ee3096f8f44f9c605f32ae2737d9) )
4160   ROM_LOAD( "5",  0x2000, 0x0800, CRC(6d475afc) SHA1(4fe6bde352c7dd9572fefaae4b59640b4f4eb8ba) )
4161   ROM_LOAD( "6",  0x2800, 0x0800, CRC(cbe863d3) SHA1(97a2ffa6ab33e6061c664dcd1ee57c86a456782f) )
4162   ROM_LOAD( "7",  0x3000, 0x0800, CRC(7daef758) SHA1(4dc8ec0ea8fc04d5bffc1c1335407729309c17f0) )
4163   /*              0x3800, 0x0800 not populated */
4164
4165   /* note from f205v: on the PCB I have, 10b and 11b have been joined into one single 2732 EPROM labeled "pmc31"
4166   The same goes for 9b and 12b, joined into one single 2732 EPROM labeled "pmc42" */
4167   ROM_REGION( 0x1000, "gfx1", 0 )
4168   ROM_LOAD( "12",  0x0000, 0x0800, CRC(b2ed320b) SHA1(680a6fdcb65cc2d88d10bc85e0b2628f43375c5c) )
4169   ROM_LOAD( "11",  0x0800, 0x0800, CRC(ab88b2c4) SHA1(d0c829ea8021eae81a2b82d36c35ad8258b115e0) )
4170
4171   ROM_REGION( 0x1000, "gfx2", 0 )
4172   ROM_LOAD( "10",  0x0000, 0x0800, CRC(44a45b72) SHA1(8abd0684a01d6c23ef5cf5f0765458f982316acf) )
4173   ROM_LOAD( "9",   0x0800, 0x0800, CRC(fa84659f) SHA1(20c212723f9062f052539190dfe3fc41577543eb) )
4174
4175   ROM_REGION( 0x0020, "proms", 0 )
4176   ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* same as pisces */
4177ROM_END
4178
4179ROM_START( pacmanbla ) /* content is the same as the above bootleg, but arranged differently in the roms */
4180   ROM_REGION( 0x10000, "maincpu", 0 )
4181   ROM_LOAD( "rom1.bin",      0x0000, 0x0800, CRC(75e4f967) SHA1(8bdb5ab2b3f978c578f1498b64bb16d2cb292ef2) )
4182   ROM_CONTINUE(0x2000,0x800)
4183   ROM_LOAD( "rom2.bin",      0x0800, 0x0800, CRC(5b2e4293) SHA1(bb925491e315d2e6bb9e756bdf664d173f83cd58) )
4184   ROM_CONTINUE(0x2800,0x800)
4185   ROM_LOAD( "rom3.bin",      0x1000, 0x0800, CRC(c06e30a4) SHA1(00d8d114bd4e0b689e75e312c93f6c7b8492426e) )
4186   ROM_CONTINUE(0x3000,0x800)
4187   ROM_LOAD( "rom4.bin",      0x1800, 0x0800, CRC(592b4ba8) SHA1(52a559344f70cd8a3a87de71de2bae57c885641a) )
4188   ROM_CONTINUE(0x3800,0x800)
4189
4190   ROM_REGION( 0x2000, "tempgfx", 0 )
4191   ROM_LOAD( "rom5.bin",      0x0000, 0x1000, CRC(f2d8c01e) SHA1(d4a5789476fa7859bb936df10590775e97e87578) )
4192   ROM_LOAD( "rom6.bin",      0x1000, 0x1000, CRC(346a1720) SHA1(e152c9161f4e8ef53153b9c4a8ecef9fdbbe2463) )
4193
4194   ROM_REGION( 0x1000, "gfx1", 0 )
4195   ROM_COPY( "tempgfx", 0x0800, 0x0000, 0x0800 )
4196   ROM_COPY( "tempgfx", 0x1800, 0x0800, 0x0800 )
4197
4198   ROM_REGION( 0x1000, "gfx2", 0 )
4199   ROM_COPY( "tempgfx", 0x0000, 0x0000, 0x0800 )
4200   ROM_COPY( "tempgfx", 0x1000, 0x0800, 0x0800 )
4201
4202   ROM_REGION( 0x0020, "proms", 0 )
4203   ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* same as pisces */
4204ROM_END
4205
4206ROM_START( ghostmun )
4207   ROM_REGION( 0x10000, "maincpu", 0 )
4208   ROM_LOAD( "pac1.bin",     0x0000, 0x1000, CRC(19338c70) SHA1(cc2665b7d534d324627d12025ee099ff415d4214) )
4209   ROM_LOAD( "pac2.bin",     0x1000, 0x1000, CRC(18db074d) SHA1(a70ed18f632e947493e648e6fc057dfb7a2a3322) )
4210   ROM_LOAD( "pac3.bin",     0x2000, 0x1000, CRC(abb98b1d) SHA1(bb0109d353359bb192a3e6856a857c2f842838cb) )
4211   ROM_LOAD( "pac4.bin",     0x3000, 0x1000, CRC(2403c78e) SHA1(52d8c8a4efcf47871485080ab217098a019e6579) )
4212
4213   ROM_REGION( 0x1000, "gfx1", 0 )
4214   ROM_LOAD( "blpac12b",     0x0000, 0x0800, CRC(b2ed320b) SHA1(680a6fdcb65cc2d88d10bc85e0b2628f43375c5c) )
4215   ROM_LOAD( "blpac11b",     0x0800, 0x0800, CRC(ab88b2c4) SHA1(d0c829ea8021eae81a2b82d36c35ad8258b115e0) )
4216
4217   ROM_REGION( 0x1000, "gfx2", 0 )
4218   ROM_LOAD( "blpac10b",     0x0000, 0x0800, CRC(44a45b72) SHA1(8abd0684a01d6c23ef5cf5f0765458f982316acf) )
4219   ROM_LOAD( "blpac9b",      0x0800, 0x0800, CRC(fa84659f) SHA1(20c212723f9062f052539190dfe3fc41577543eb) )
4220
4221   ROM_REGION( 0x0020, "proms", 0 )
4222   ROM_LOAD( "ghostmun.clr", 0x0000, 0x0020, CRC(759647e3) SHA1(9e21e12f4be007265851a5a1676b7e9facf7109b) )
4223ROM_END
4224
4225ROM_START( phoenxp2 ) /* Artic Multi-System */
4226   ROM_REGION( 0x10000, "maincpu", 0 )
4227   ROM_LOAD( "1",  0x0000, 0x0800, CRC(f6dcfd51) SHA1(8475726dbbf0dd13581f457a5379956424dc2862) )
4228   ROM_LOAD( "2",  0x0800, 0x0800, CRC(de951936) SHA1(657d2c595a5864d8c9a51926ab7bfa0a7068e2b2) )
4229   ROM_LOAD( "3",  0x1000, 0x0800, CRC(7a3af2da) SHA1(49e9ad7115e71839d1d027552d08c7831a617b4a) )
4230   ROM_LOAD( "4",  0x1800, 0x0800, CRC(c820ad32) SHA1(b5286d49f6578dfeffdf429e7d52321f4813e03c) )
4231   ROM_LOAD( "5",  0x2000, 0x0800, CRC(08e83233) SHA1(44159e0f3fb717b726b6b5c77da32391c1cdd04d) )
4232   ROM_LOAD( "6",  0x2800, 0x0800, CRC(f31fb9d6) SHA1(bdfb5427869940ed6b8e2667a6c1f410a9a41b87) )
4233   ROM_LOAD( "7",  0x3000, 0x0800, CRC(d3a480c1) SHA1(d1e4fe83b49f918285009f09df38c6555a686823) )
4234   ROM_LOAD( "8",  0x3800, 0x0800, CRC(edf9779e) SHA1(c1e7307c59f15bebac3e29b41135fe9f18fc9a06) )
4235
4236   ROM_REGION( 0x2000, "gfx1", 0 )
4237   ROM_LOAD( "09",       0x0000, 0x0800, CRC(1a657b1f) SHA1(42149dafdde7d9104f0bddda2223bfc211d0154a) )
4238   ROM_LOAD( "11",       0x0800, 0x0800, CRC(7a2b48e5) SHA1(f559799c685dd2cb9de06a356bee95b7d6ffadfc) )
4239   ROM_LOAD( "10",       0x1000, 0x0800, CRC(9b570016) SHA1(44fd2b1caeecdc5200d63c35636f0a605943d30c) )
4240   ROM_LOAD( "12",       0x1800, 0x0800, CRC(73956244) SHA1(e464b587b5ed636816cc9688593f5b6005cb5216) )
4241
4242   ROM_REGION( 0x0020, "proms", 0 )
4243   ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* same as 'Omega' */
4244ROM_END
4245
4246ROM_START( batman2 ) /* wasn't marked as artic multi-system, but it's basically the same as the above phoenixp2 */
4247   ROM_REGION( 0x4000, "maincpu", 0 )
4248   ROM_LOAD( "01.bin",       0x0000, 0x0800, CRC(150fbca5) SHA1(a5dc104169eb3225c6200e7e07102f8a9bee6861) )
4249   ROM_LOAD( "02.bin",       0x0800, 0x0800, CRC(b1624fd0) SHA1(ca4678cf7a8b935be2f68d6e342c1f961bf6f1a2) )
4250   ROM_LOAD( "03.bin",       0x1000, 0x0800, CRC(93774188) SHA1(8bdd3290db43459c56b932b582f555d89df30bd1) )
4251   ROM_LOAD( "04.bin",       0x1800, 0x0800, CRC(8a94ec6c) SHA1(dacadab9a05ddee2de188b368f795d74213e020d) )
4252   ROM_LOAD( "05.bin",       0x2000, 0x0800, CRC(a3669461) SHA1(11ea7aa9b55f5790cc2451d80d0eb84388cf47eb) )
4253   ROM_LOAD( "06.bin",       0x2800, 0x0800, CRC(fa1efbfe) SHA1(f7222dd21e0810d0c8c32919ebb6e0e7bbb4c68e) )
4254   ROM_LOAD( "07.bin",       0x3000, 0x0800, CRC(9b77debd) SHA1(1f5521bc0f701d86e61219ad3b9516aaa71a68da) )
4255   ROM_LOAD( "08.bin",       0x3800, 0x0800, CRC(6466177e) SHA1(fc359eadee34586576c557ff7c1dd2c8d49bdf3f) )
4256
4257   ROM_REGION( 0x2000, "gfx1", 0 )
4258   ROM_LOAD( "09.bin",       0x0000, 0x0800, CRC(1a657b1f) SHA1(42149dafdde7d9104f0bddda2223bfc211d0154a) )
4259   ROM_LOAD( "11.bin",       0x0800, 0x0800, CRC(7a2b48e5) SHA1(f559799c685dd2cb9de06a356bee95b7d6ffadfc) )
4260   ROM_LOAD( "10.bin",       0x1000, 0x0800, CRC(9b570016) SHA1(44fd2b1caeecdc5200d63c35636f0a605943d30c) )
4261   ROM_LOAD( "12.bin",       0x1800, 0x0800, CRC(73956244) SHA1(e464b587b5ed636816cc9688593f5b6005cb5216) )
4262
4263   ROM_REGION( 0x0020, "proms", 0 )
4264   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4265ROM_END
4266
4267ROM_START( atlantisb ) /* Artic Multi-System */
4268   ROM_REGION( 0x10000, "maincpu", 0 )
4269   ROM_LOAD( "1",  0x0000, 0x0800, CRC(2b612351) SHA1(cfd244946190c062146716c0417c35be216943e4) ) /* aka "subfury" */
4270   ROM_LOAD( "2",  0x0800, 0x0800, CRC(b1c970e9) SHA1(1e12a1d34453b01ff5ef4d9530a90f476fc34631) )
4271   /*              0x1000, 0x0800 not populated */
4272   ROM_LOAD( "3",  0x1800, 0x0800, CRC(63c3783e) SHA1(e3a7a8bb2c108d3e1e1403017c72963afcd23813) )
4273   ROM_LOAD( "4",  0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) )
4274   ROM_LOAD( "5",  0x2800, 0x0800, CRC(f335b96b) SHA1(17daa6d9bc916081f3c6cbdfe5b4960177dc7c9b) )
4275   ROM_LOAD( "6",  0x3000, 0x0800, CRC(a50bf8d5) SHA1(5bca98e1c0838d27ec66bf4b906877977b212b6d) )
4276   /*              0x3800, 0x0800 not populated */
4277
4278   ROM_REGION( 0x1000, "gfx1", 0 )
4279   ROM_LOAD( "8",  0x0000, 0x0800, CRC(55cd5acd) SHA1(b3e2ce71d4e48255d44cd451ee015a7234a108c8) )
4280   ROM_LOAD( "7",  0x0800, 0x0800, CRC(72e773b8) SHA1(6ce178df3bd6a4177c68761572a13a56d222c48f) )
4281
4282   ROM_REGION( 0x1000, "gfx2", ROMREGION_ERASEFF )
4283   /* 0x000, 0x0800 not populated */
4284   /* 0x000, 0x0800 not populated */
4285
4286   ROM_REGION( 0x0020, "proms", 0 )
4287   ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4288ROM_END
4289
4290
4291ROM_START( tenspot )
4292   /* Game A - Survivor */
4293   ROM_REGION( 0x4000, "game_0_cpu", 0 )
4294   ROM_LOAD( "svt1-a.a1",    0x0000, 0x1000, CRC(5806d0e6) SHA1(887ff2985578faa9535387a5ce3953452e7a3171) )
4295   ROM_LOAD( "svt2-a.a2",    0x1000, 0x1000, CRC(847c16d0) SHA1(7ac65e5f47153f7e1e70c701b16d537774f60982) )
4296   ROM_LOAD( "svt3-a.a3",    0x2000, 0x1000, CRC(63a6990b) SHA1(901772e2ed8536c3031a66204889e1cac60011c5) )
4297
4298   ROM_REGION( 0x2000, "game_0_temp", 0 )
4299   ROM_LOAD( "syt5-a.a5",       0x0000, 0x1000, CRC(7f804605) SHA1(898f7de488ca79b5b29dbdb93233c63ed20df354) )
4300   ROM_LOAD( "svt5-a.a6",       0x1000, 0x1000, CRC(fff07c86) SHA1(a37034fb7fcf60ee5f098d405ee3277616c8aceb) )
4301
4302   ROM_REGION( 0x0020, "game_0_prom", 0 )
4303   ROM_LOAD( "clr3.a7",       0x0000, 0x0020, CRC(aefcf6b1) SHA1(10cde93e23fe8720f5af9039c4f68999f7cfce67) )
4304
4305   /* Game B - Moon Cresta */
4306   ROM_REGION( 0x4000, "game_1_cpu", 0 )
4307   ROM_LOAD( "mct1-a.b1",    0x0000, 0x1000, CRC(90a74a0b) SHA1(a1fb24aa621611c18bf6188f380640e5576ac248) )
4308   ROM_LOAD( "mct2-a.b2",    0x1000, 0x1000, CRC(9bb1e8e8) SHA1(0a8567c7efb6511360a786c18a09966966c253a2) )
4309   ROM_LOAD( "mct3-a.b3",    0x2000, 0x1000, CRC(6d19c439) SHA1(39a5d78c7d42981e1fa12bc6c794b915f738faf7) )
4310   ROM_LOAD( "mct4-a.b4",    0x3000, 0x1000, CRC(dd029a6e) SHA1(e6035a6981e22565a2af3a3ecac16676cb3b3500) )
4311
4312   ROM_REGION( 0x2000, "game_1_temp", 0 )
4313   ROM_LOAD( "mct5-a.b5",       0x0000, 0x1000, CRC(ac1a6a62) SHA1(febfcdbf1afe9a5352d8d96b454a6c8fc7818ef0) )
4314   ROM_LOAD( "mct6-a.b6",       0x1000, 0x1000, CRC(dc19ec73) SHA1(19a3295597a8eff2587ff838a3b8f7e3817f22f0) )
4315
4316   ROM_REGION( 0x0020, "game_1_prom", 0 )
4317   ROM_LOAD( "clr2.b7",       0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4318
4319   /* Game C - Space Cruiser */
4320   ROM_REGION( 0x4000, "game_2_cpu", 0 )
4321   ROM_LOAD( "sct1-a.c1",    0x0000, 0x1000, CRC(5068e89c) SHA1(539fe47ec846ec038ee6ffd2d3578d7cf25d4219) )
4322   ROM_LOAD( "sct2-a.c2",    0x1000, 0x1000, CRC(96013308) SHA1(756ad5592acbe68c923a810eba2ff4eda4a9a51c) )
4323   ROM_LOAD( "sct3-a.c3",    0x2000, 0x1000, CRC(3c6ef851) SHA1(a2c5dd8cca60b7340c9c3973137415621f5b1a11) )
4324
4325   ROM_REGION( 0x2000, "game_2_temp", 0 )
4326   ROM_LOAD( "sct5-a.c5",       0x0000, 0x1000, CRC(272a0037) SHA1(48dcb9da66db75721668c3708ed1a55a0ee65238) )
4327   ROM_LOAD( "sct6-a.c6",       0x1000, 0x1000, CRC(d6b35f01) SHA1(e16a7400901e2b0ad4ce70dce8092741d85b6a43) )
4328
4329   ROM_REGION( 0x0020, "game_2_prom", 0 )
4330   ROM_LOAD( "clr1.c7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4331
4332   /* Game D - Mission Rescue (Black Hole) */
4333   ROM_REGION( 0x4000, "game_3_cpu", 0 )
4334   ROM_LOAD( "mrt1-a.d1",    0x0000, 0x1000, CRC(eb63c4e0) SHA1(29a59fa8616e36dd098ff9f6e520128db3b66ed9) )
4335   ROM_LOAD( "mrt2-a.d2",    0x1000, 0x1000, CRC(e4ba463a) SHA1(b5370bc33275f6aa52c96304db4be086b5f6d18c) )
4336   ROM_LOAD( "mrt3-a.d3",    0x2000, 0x1000, CRC(62d7b1ce) SHA1(5243d053ea53dcfe4110fdf04077e818237121c8) )
4337
4338   ROM_REGION( 0x2000, "game_3_temp", 0 )
4339   ROM_LOAD( "mrt5-a.d5",       0x0000, 0x1000, CRC(cc6bb4bc) SHA1(f81f671d2865a43849f10a48c0cc9f6c5bbe0f9e) )
4340   ROM_LOAD( "mrt6-a.d6",       0x1000, 0x1000, CRC(4b4e6c62) SHA1(86ea8436d631a30461f0ba708c0b597f15ebdd47) )
4341
4342   ROM_REGION( 0x0020, "game_3_prom", 0 )
4343   ROM_LOAD( "clr1.d7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4344
4345   /* Game E - Uniwars */
4346   ROM_REGION( 0x4000, "game_4_cpu", 0 )
4347   ROM_LOAD( "uwt1-a.e1",    0x0000, 0x1000, CRC(1379be84) SHA1(e280e0402c7cfa52f2a04801634f8c3aa85bf02f) )
4348   ROM_LOAD( "uwt2-a.e2",    0x1000, 0x1000, CRC(ed8e5260) SHA1(a2ebc8aa9b5da6ff689847de8973a512f9d96128) )
4349   ROM_LOAD( "uwt3-a.e3",    0x2000, 0x1000, CRC(9abd1570) SHA1(74f82ac2c3a1822f1e5575e7e72c017d24c43dc1) )
4350   ROM_LOAD( "uwt4-b.e4",    0x3000, 0x1000, CRC(daea5232) SHA1(cdb2a1a14188e971e2c98c625e0b577f688a753a) )
4351
4352   ROM_REGION( 0x2000, "game_4_temp", 0 )
4353   ROM_LOAD( "uwt5-a.e5",       0x0000, 0x1000, CRC(49a1c892) SHA1(b6b1be0d8fa6909ed8e6f36d3f75dadd8f5cafbe) )
4354   ROM_LOAD( "uwt6-a.e6",       0x1000, 0x1000, CRC(9d27e53d) SHA1(ef41c8b586545207a0e2021c8634df4ffe4b7b8a) )
4355
4356   ROM_REGION( 0x0020, "game_4_prom", 0 )
4357   ROM_LOAD( "clr1.e7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4358
4359   /* Game F - Batman Pt.2 (Phoenix) - this needs custom video banking like the standalone version.... */
4360   ROM_REGION( 0x4000, "game_5_cpu", 0 )
4361   ROM_LOAD( "bmt1-a.f1",    0x0000, 0x1000, CRC(2aecaaa0) SHA1(07c35f34eebbe65247a412c828328a558936d03c) )
4362   ROM_LOAD( "bmt2-a.f2",    0x1000, 0x1000, CRC(1972ff4c) SHA1(262db6caba201fa1f2f7b04f36f4d6084283d841) )
4363   ROM_LOAD( "bmt3-a.f3",    0x2000, 0x1000, CRC(34c0728d) SHA1(54f76368a387b42010258fa549465a430dd6ecf7) )
4364   ROM_LOAD( "bmt4-a.f4",    0x3000, 0x1000, CRC(fc2e8de1) SHA1(683815035054669a845ce440d66c023cf54dbdcc) )
4365
4366   ROM_REGION( 0x2000, "game_5_temp", 0 )
4367   ROM_LOAD( "bmt5-a.f5",       0x0000, 0x1000, CRC(ee71a2de) SHA1(c41b8c705ec697ab2a37fbde0fc2bbcd3259ec98) )
4368   ROM_LOAD( "bmt6-a.f6",       0x1000, 0x1000, CRC(ea538ab9) SHA1(310052358fca96bba5b69366f7bd47c446287783) )
4369
4370   ROM_REGION( 0x0020, "game_5_prom", 0 )
4371   ROM_LOAD( "clr1.f7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4372
4373   /* Game H - Defend UFO */
4374   ROM_REGION( 0x4000, "game_6_cpu", 0 )
4375   ROM_LOAD( "rut1-a.h1",    0x0000, 0x1000, CRC(364b0689) SHA1(d39c1ca5774b21c9e045f2234c2256f56ff36a2a) )
4376   ROM_LOAD( "rut2-a.h2",    0x1000, 0x1000, CRC(ed448821) SHA1(33c983b8cfa17299728363870f906477bce14dbf) )
4377   ROM_LOAD( "rut3-a.h3",    0x2000, 0x1000, CRC(312d5d37) SHA1(772a5e7ea94dd6b9744f4eef7d7ac26cb58d58ab) )
4378   ROM_LOAD( "rut4-a.h4",    0x3000, 0x1000, CRC(2281b279) SHA1(c6cfb14b6656de185f38a5c73cf042f2f8b4cc6e) )
4379
4380   ROM_REGION( 0x2000, "game_6_temp", 0 )
4381   ROM_LOAD( "rut5-a.h5",       0x0000, 0x1000, CRC(6fb16866) SHA1(e1a1ac17ef9c08ac2f4c7b15a13932f542aed95d) )
4382   ROM_LOAD( "rut6-a.h6",       0x1000, 0x1000, CRC(5ae0dc50) SHA1(d4ec2179d5181b71171bac5098a6f7f1c96e63b3) )
4383
4384   ROM_REGION( 0x0020, "game_6_prom", 0 )
4385   ROM_LOAD( "clr1.h7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4386
4387   /* Game J - King and Balloon */
4388   ROM_REGION( 0x4000, "game_7_cpu", 0 )
4389   ROM_LOAD( "kbt1-a.j1",    0x0000, 0x1000, CRC(6bcdfaef) SHA1(5f3d57a91d57c8758f1fa39a44be6082fff52406) )
4390   ROM_LOAD( "kbt2-a.j2",    0x1000, 0x1000, CRC(3652c64b) SHA1(7cb2a51e1830d48d5d3a62d521dfef1779dd5222) )
4391   ROM_LOAD( "kbt3-a.j3",    0x2000, 0x1000, CRC(946447c6) SHA1(0759f7d8b538d5e489a85bc6551cde76e6b3ed71) )
4392
4393   ROM_REGION( 0x2000, "game_7_temp", 0 )
4394   ROM_LOAD( "kbt5-a.j5",       0x0000, 0x1000, CRC(ea36f825) SHA1(20e26c97d780fb1fd15ad4c33c097a5b3539d43d) )
4395   ROM_LOAD( "kbt6-a.j6",       0x1000, 0x1000, CRC(2b8b46bc) SHA1(48a7a65fc5c174d0cc654557b3a1166df7fea4da) )
4396
4397   ROM_REGION( 0x0020, "game_7_prom", 0 )
4398   ROM_LOAD( "clr1.j7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4399
4400   /* Game K - Omega (The End) */
4401   ROM_REGION( 0x4000, "game_8_cpu", 0 )
4402   ROM_LOAD( "omt1-a.k1",    0x0000, 0x1000, CRC(8fc41a53) SHA1(c1bb4018bad12b83954cf8da8eba49f23618139a) )
4403   ROM_LOAD( "omt2-a.k2",    0x1000, 0x1000, CRC(a3073430) SHA1(200b15c572d7cff9be39439a247c9be742f17a61) )
4404   ROM_LOAD( "omt3-a.k3",    0x2000, 0x1000, CRC(b0de1fa2) SHA1(71cf8303b7ddc5813d6b92a71bd53f83272f5f22) )
4405
4406   ROM_REGION( 0x2000, "game_8_temp", 0 )
4407   ROM_LOAD( "omt5-a.k5",       0x0000, 0x1000, CRC(5ab402c8) SHA1(c0640d9907d7dcd34cd7105d21b99fc15fcbac6e) )
4408   ROM_LOAD( "omt6-a.k6",       0x1000, 0x1000, CRC(2552e470) SHA1(ba5fba8047e4bb23442b0c2d45c858ec9da63945) )
4409
4410   ROM_REGION( 0x0020, "game_8_prom", 0 )
4411   ROM_LOAD( "clr1.k7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4412
4413   /* Game L - Battle of Atlantis */
4414   ROM_REGION( 0x4000, "game_9_cpu", 0 )
4415   ROM_LOAD( "bat1-a.l1",    0x0000, 0x1000, CRC(5849dd36) SHA1(c69bf6119ae63a3c855d58bbadb5b358f7b25ad0) )
4416   ROM_LOAD( "bat2-a.l2",    0x1000, 0x1000, CRC(adc2ce4b) SHA1(36f477a48b3df9cb2456460048b2fdd0d3e8b73e) )
4417   ROM_LOAD( "bat3-a.l3",    0x2000, 0x1000, CRC(81270ace) SHA1(0385fedacbbda4ed750c5a64d51a60ed98c3ed65) )
4418   ROM_LOAD( "bat4-a.l4",    0x3000, 0x1000, CRC(bd751ba9) SHA1(dbdc8972b0236755d5a8ea90e2de2d16585f5e02) )
4419
4420   ROM_REGION( 0x2000, "game_9_temp", 0 )
4421   ROM_LOAD( "bat5-a.l5",       0x0000, 0x1000, CRC(b9701513) SHA1(d8bc7b36a6d0b1e73aa7b6a5dab7b36ce111a04c) )
4422   ROM_LOAD( "bat6-a.l6",       0x1000, 0x1000, CRC(54b423b7) SHA1(31eec49b4e9c8b56668b9037dd47e66659ce64cb) )
4423
4424   ROM_REGION( 0x0020, "game_9_prom", 0 )
4425   ROM_LOAD( "clr1.l7",       0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
4426
4427
4428   ROM_REGION( 0x4000, "selectcpu", 0 ) // probably related to game selection
4429   ROM_LOAD( "tenu2-d.u2",    0x0000, 0x800, CRC(58c7fe3b) SHA1(a4faa8e669a81fe01696d6df9c8ebd5c17be0f00) )
4430
4431   ROM_REGION( 0x4000, "unknown", 0 ) // ?? no idea
4432   ROM_LOAD( "u1.u1",    0x0000, 0x100, CRC(f18006f7) SHA1(f9a3541cd7f2b75816227d8befc03d2e33eeebac) )
4433
4434
4435   /* temporary - replace game_x with the game number you want to test. */
4436   ROM_REGION( 0x4000, "maincpu", ROMREGION_ERASEFF )
4437   ROM_REGION( 0x2000, "gfx1", ROMREGION_ERASEFF )
4438   ROM_REGION( 0x2000, "gfx2", ROMREGION_ERASEFF )
4439   ROM_REGION( 0x0020, "proms", ROMREGION_ERASEFF )
4440   ROM_END
4441
4442/*************************************
4443 *
4444 *  ROM definitions
4445 *  Moon Cresta-derived games
4446 *
4447 *************************************/
4448
4449ROM_START( mooncrst )
4450   ROM_REGION( 0x8000, "maincpu", 0 )
4451   ROM_LOAD( "mc1",          0x0000, 0x0800, CRC(7d954a7a) SHA1(a93ee403cfd7887538ad12d33f6dd6c71bea2a32) )
4452   ROM_LOAD( "mc2",          0x0800, 0x0800, CRC(44bb7cfa) SHA1(349c2e23a9fce73f95bb8168d369082fa129fe3d) )
4453   ROM_LOAD( "mc3",          0x1000, 0x0800, CRC(9c412104) SHA1(1b40054ebb1ace965a8522119bb23f09797bc5f6) )
4454   ROM_LOAD( "mc4",          0x1800, 0x0800, CRC(7e9b1ab5) SHA1(435f603c0c3e788a509dd144a7916a34e791ae44) )
4455   ROM_LOAD( "mc5.7r",       0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) )
4456   ROM_LOAD( "mc6.8d",       0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) )
4457   ROM_LOAD( "mc7.8e",       0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) )
4458   ROM_LOAD( "mc8",          0x3800, 0x0800, CRC(18ca312b) SHA1(39219059003b949e38305553fea2d33071062c64) )
4459
4460   ROM_REGION( 0x2000, "gfx1", 0 )
4461   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
4462   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4463   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
4464   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4465
4466   ROM_REGION( 0x0020, "proms", 0 )
4467   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4468ROM_END
4469
4470ROM_START( mooncrstuk )
4471   ROM_REGION( 0x8000, "maincpu", 0 )
4472   ROM_LOAD( "mc1",          0x0000, 0x0800, CRC(7d954a7a) SHA1(a93ee403cfd7887538ad12d33f6dd6c71bea2a32) )
4473   ROM_LOAD( "mc2",          0x0800, 0x0800, CRC(44bb7cfa) SHA1(349c2e23a9fce73f95bb8168d369082fa129fe3d) )
4474   ROM_LOAD( "mc3",          0x1000, 0x0800, CRC(9c412104) SHA1(1b40054ebb1ace965a8522119bb23f09797bc5f6) )
4475   ROM_LOAD( "mc4",          0x1800, 0x0800, CRC(7e9b1ab5) SHA1(435f603c0c3e788a509dd144a7916a34e791ae44) )
4476   ROM_LOAD( "mc5.7r",       0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) )
4477   ROM_LOAD( "mc6.8d",       0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) )
4478   ROM_LOAD( "mc7.8e",       0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) )
4479   ROM_LOAD( "8_uk.bin",     0x3800, 0x0800, CRC(ce727ad4) SHA1(247fe0ea7dcc7cc50f19da0a54385b8545f03609) )
4480
4481   ROM_REGION( 0x2000, "gfx1", 0 )
4482   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
4483   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4484   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
4485   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4486
4487   ROM_REGION( 0x0020, "proms", 0 )
4488   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4489ROM_END
4490
4491ROM_START( mooncrstuku )
4492   ROM_REGION( 0x8000, "maincpu", 0 )
4493   ROM_LOAD( "smc1f",        0x0000, 0x0800, CRC(389ca0d6) SHA1(51cf6d190a0ebf23b70c2bcf1ccaa4705e29cd09) )
4494   ROM_LOAD( "smc2f",        0x0800, 0x0800, CRC(410ab430) SHA1(d89abff6ac4afbf69377a1d63043d629a634aab7) )
4495   ROM_LOAD( "smc3f",        0x1000, 0x0800, CRC(a6b4144b) SHA1(2b27ad54d716286c0dc9476d47df182ae01bcfd7) )
4496   ROM_LOAD( "smc4f",        0x1800, 0x0800, CRC(4cc046fe) SHA1(465eaacd50967d768babadd09ab9cad35380f6bf) )
4497   ROM_LOAD( "smc5f",        0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4498   ROM_LOAD( "smc6f",        0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
4499   ROM_LOAD( "smc7f",        0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4500   ROM_LOAD( "smc8f_uk",     0x3800, 0x0800, CRC(b968b2ff) SHA1(40105423f48d2260e85597c3c1e4d8fe947db793) )
4501
4502   ROM_REGION( 0x2000, "gfx1", 0 )
4503   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
4504   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4505   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
4506   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4507
4508   ROM_REGION( 0x0020, "proms", 0 )
4509   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4510ROM_END
4511
4512ROM_START( mooncrstu )
4513   ROM_REGION( 0x8000, "maincpu", 0 )
4514   ROM_LOAD( "smc1f",        0x0000, 0x0800, CRC(389ca0d6) SHA1(51cf6d190a0ebf23b70c2bcf1ccaa4705e29cd09) )
4515   ROM_LOAD( "smc2f",        0x0800, 0x0800, CRC(410ab430) SHA1(d89abff6ac4afbf69377a1d63043d629a634aab7) )
4516   ROM_LOAD( "smc3f",        0x1000, 0x0800, CRC(a6b4144b) SHA1(2b27ad54d716286c0dc9476d47df182ae01bcfd7) )
4517   ROM_LOAD( "smc4f",        0x1800, 0x0800, CRC(4cc046fe) SHA1(465eaacd50967d768babadd09ab9cad35380f6bf) )
4518   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4519   ROM_LOAD( "bepr199",      0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
4520   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4521   ROM_LOAD( "smc8f",        0x3800, 0x0800, CRC(f42164c5) SHA1(e0d1680f193889568edf005786e2767d4fb086f4) )
4522
4523   ROM_REGION( 0x2000, "gfx1", 0 )
4524   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
4525   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4526   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
4527   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4528
4529   ROM_REGION( 0x0020, "proms", 0 )
4530   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4531ROM_END
4532
4533ROM_START( mooncrsto )
4534   ROM_REGION( 0x8000, "maincpu", 0 )
4535   ROM_LOAD( "mc1.7d",       0x0000, 0x0800, CRC(92a86aac) SHA1(f5818ac97d8b779e1fb29bf903f74185d24afb0d) )
4536   ROM_LOAD( "mc2.7e",       0x0800, 0x0800, CRC(438c2b4b) SHA1(11f56b489b5489999952e91919c5e1f622c59c36) )
4537   ROM_LOAD( "mc3.7j",       0x1000, 0x0800, CRC(67e3d21d) SHA1(59579d19931ef11b30fdc3912d838200bef92c81) )
4538   ROM_LOAD( "mc4.7p",       0x1800, 0x0800, CRC(f4db39f6) SHA1(454931f80b35608793590b3843c69ba64cbf6772) )
4539   ROM_LOAD( "mc5.7r",       0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) )
4540   ROM_LOAD( "mc6.8d",       0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) )
4541   ROM_LOAD( "mc7.8e",       0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) )
4542   ROM_LOAD( "mc8.8h",       0x3800, 0x0800, CRC(7e2b1928) SHA1(4f0de8e80c2e2ec6df8612755caf93671ea965b0) )
4543
4544   ROM_REGION( 0x2000, "gfx1", 0 )
4545   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
4546   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4547   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
4548   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4549
4550   ROM_REGION( 0x0020, "proms", 0 )
4551   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4552ROM_END
4553
4554ROM_START( mooncrstg )
4555   ROM_REGION( 0x8000, "maincpu", 0 )
4556   ROM_LOAD( "epr194",       0x0000, 0x0800, CRC(0e5582b1) SHA1(946ad4aeb10c0b7b3f93fd24925cc9bcb49e443c) )
4557   ROM_LOAD( "epr195",       0x0800, 0x0800, CRC(12cb201b) SHA1(ebb01ec646b9e015cbcb93f70dfdaf448afefc12) )
4558   ROM_LOAD( "epr196",       0x1000, 0x0800, CRC(18255614) SHA1(b373e22d47c0f7facba13148ca9c462ec9a0d732) )
4559   ROM_LOAD( "epr197",       0x1800, 0x0800, CRC(05ac1466) SHA1(cbf93a8ce0925fa1c073c74f1274b190d9faefaf) )
4560   ROM_LOAD( "epr198",       0x2000, 0x0800, CRC(c28a2e8f) SHA1(9ff6bab1e1185597ba55cb0d6086091a1fce01a6) )
4561   ROM_LOAD( "epr199",       0x2800, 0x0800, CRC(5a4571de) SHA1(2a4170dee105922fc69c99b79f6f328098e81918) )
4562   ROM_LOAD( "epr200",       0x3000, 0x0800, CRC(b7c85bf1) SHA1(cc9f593658ea39c849d80c83ee0c2170cc29879e) )
4563   ROM_LOAD( "epr201",       0x3800, 0x0800, CRC(2caba07f) SHA1(8fec4904e12b4cfb6068784007278be986a3eede) )
4564
4565   ROM_REGION( 0x2000, "gfx1", 0 )
4566   ROM_LOAD( "epr203",       0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) )
4567   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4568   ROM_LOAD( "epr202",       0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) )
4569   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4570
4571   ROM_REGION( 0x0020, "proms", 0 )
4572   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4573ROM_END
4574
4575ROM_START( mooncrsb )
4576   ROM_REGION( 0x8000, "maincpu", 0 )
4577   ROM_LOAD( "bepr194",      0x0000, 0x0800, CRC(6a23ec6d) SHA1(df2214bdde26a71db59ffd39a745052076563f65) )
4578   ROM_LOAD( "bepr195",      0x0800, 0x0800, CRC(ee262ff2) SHA1(4e2202023ad53109ea58304071735d2425a617f3) )
4579   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4580   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4581   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4582   ROM_LOAD( "bepr199",      0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
4583   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4584   ROM_LOAD( "bepr201",      0x3800, 0x0800, CRC(66da55d5) SHA1(39e2f6107e77ee97860147f64b9673cd9a2ae612) )
4585
4586   ROM_REGION( 0x2000, "gfx1", 0 )
4587   ROM_LOAD( "epr203",       0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) )
4588   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4589   ROM_LOAD( "epr202",       0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) )
4590   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4591
4592   ROM_REGION( 0x0020, "proms", 0 )
4593   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4594ROM_END
4595
4596ROM_START( mooncrs2 )
4597   ROM_REGION( 0x8000, "maincpu", 0 )
4598   ROM_LOAD( "f8.bin",       0x0000, 0x0800, CRC(d36003e5) SHA1(562b27f1bccce6ae29de18b93fa51c508446cda9) )
4599   ROM_LOAD( "bepr195",      0x0800, 0x0800, CRC(ee262ff2) SHA1(4e2202023ad53109ea58304071735d2425a617f3) )
4600   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4601   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4602   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4603   ROM_LOAD( "bepr199",      0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
4604   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4605   ROM_LOAD( "m7.bin",       0x3800, 0x0800, CRC(957ee078) SHA1(472038dedfc01c995be889ea93d4df8bef2b874c) )
4606
4607   ROM_REGION( 0x2000, "gfx1", 0 )
4608   ROM_LOAD( "1h_1_10.bin",  0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
4609   ROM_LOAD( "12.chr",       0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
4610   ROM_CONTINUE(             0x0c00, 0x0200 )  /* this version of the gfx ROMs has two */
4611   ROM_CONTINUE(             0x0a00, 0x0200 )  /* groups of 16 sprites swapped */
4612   ROM_CONTINUE(             0x0e00, 0x0200 )
4613   ROM_LOAD( "1k_1_11.bin",  0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
4614   ROM_LOAD( "11.chr",       0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
4615   ROM_CONTINUE(             0x1c00, 0x0200 )
4616   ROM_CONTINUE(             0x1a00, 0x0200 )
4617   ROM_CONTINUE(             0x1e00, 0x0200 )
4618
4619   ROM_REGION( 0x0020, "proms", 0 )
4620   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4621ROM_END
4622
4623ROM_START( mooncrs3 ) /* Bootleg by Jeutel, very similar to Moon Cresta (bootleg set 2) */
4624   ROM_REGION( 0x8000, "maincpu", 0 )
4625   ROM_LOAD( "b1.7f",  0x0000, 0x0800, CRC(0b28cd8a) SHA1(a1aa0ec63e1dddf4263aa39f6a5fda93108b6e98) )
4626   ROM_CONTINUE(       0x2000, 0x0800 )
4627   ROM_LOAD( "b2.7h",  0x0800, 0x0800, CRC(74a6f0ca) SHA1(cc8e8193bb6bd62f6cb9ea924e4da5ddc44c4685) )
4628   ROM_CONTINUE(       0x2800, 0x0800 )
4629   ROM_LOAD( "b3.7j",  0x1000, 0x0800, CRC(eeb34cc9) SHA1(c5e7d5e1989211be949972e4281403b7b4866922) )
4630   ROM_CONTINUE(       0x3000, 0x0800 )
4631   ROM_LOAD( "b4.7k",  0x1800, 0x0800, CRC(714330e5) SHA1(c681752732c73a6c9bcc9acdcd5c978c455acba0) )
4632   ROM_CONTINUE(       0x3800, 0x0800 )
4633
4634   ROM_REGION( 0x2000, "gfx1", 0 )
4635   ROM_LOAD( "o.1h",  0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
4636   ROM_LOAD( "q.1h",  0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
4637   ROM_CONTINUE(      0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */
4638   ROM_CONTINUE(      0x0a00, 0x0200 ) /* groups of 16 sprites swapped */
4639   ROM_CONTINUE(      0x0e00, 0x0200 )
4640   ROM_LOAD( "p.1k",  0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
4641   ROM_LOAD( "r.1k",  0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
4642   ROM_CONTINUE(      0x1c00, 0x0200 )
4643   ROM_CONTINUE(      0x1a00, 0x0200 )
4644   ROM_CONTINUE(      0x1e00, 0x0200 )
4645
4646   ROM_REGION( 0x0020, "proms", 0 )
4647   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4648ROM_END
4649
4650ROM_START( mooncrs4 )
4651   ROM_REGION( 0x10000, "maincpu", 0 )
4652   ROM_LOAD( "mooncrs4.7k", 0x0000, 0x1000, CRC(5e201041) SHA1(2ab29e69b1cf9464e6a6a3574a3097cc2bd38432) )
4653   ROM_LOAD( "mooncrs4.7j", 0x1000, 0x1000, CRC(8de07c8e) SHA1(7f520a57acb8acedd7b4e29d8367fe2b190efa37) )
4654   ROM_LOAD( "mooncrs4.7h", 0x2000, 0x1000, CRC(888c6d61) SHA1(07404ac714aa1ff9e6bbffffa8afa76a5899ad75) )
4655   ROM_LOAD( "mooncrs4.7f", 0x3000, 0x1000, CRC(492f9b01) SHA1(a301ef05411e7f2cc2c2433faf0933299c43c49a) )
4656
4657   ROM_REGION( 0x2000, "gfx1", 0 )
4658   ROM_LOAD( "mooncrs4.1h", 0x0800, 0x0200, CRC(f508a7a5) SHA1(0867ef190a0543411fe8e394c8f99669f4050433) )
4659   ROM_CONTINUE(            0x0c00, 0x0200 )
4660   ROM_CONTINUE(            0x0a00, 0x0200 )
4661   ROM_CONTINUE(            0x0e00, 0x0200 )
4662   ROM_CONTINUE(            0x0000, 0x0800 )
4663   ROM_LOAD( "mooncrs4.1k", 0x1800, 0x0200, CRC(9b549313) SHA1(7f161b4de86bc64ada4bad84beab3585dde14944) )
4664   ROM_CONTINUE(            0x1c00, 0x0200 )
4665   ROM_CONTINUE(            0x1a00, 0x0200 )
4666   ROM_CONTINUE(            0x1e00, 0x0200 )
4667   ROM_CONTINUE(            0x1000, 0x0800 )
4668
4669   ROM_REGION( 0x0020, "proms", 0 )
4670   ROM_LOAD( "prom.6l",     0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4671ROM_END
4672
4673ROM_START( fantazia )
4674   ROM_REGION( 0x8000, "maincpu", 0 )
4675   ROM_LOAD( "f01.bin",      0x0000, 0x0800, CRC(d3e23863) SHA1(f0a6f7491fdf8aae214f40078b29b7aecdcf2f1e) )
4676   ROM_LOAD( "f02.bin",      0x0800, 0x0800, CRC(63fa4149) SHA1(603ee6d4d2952cc08b3f6e98b1a2053671875e44) )
4677   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4678   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4679   ROM_LOAD( "f09.bin",      0x2000, 0x0800, CRC(75fd5ca1) SHA1(45f2dd33f0e437cb95d9373f86490e5432338737) )
4680   ROM_LOAD( "f10.bin",      0x2800, 0x0800, CRC(e4da2dd4) SHA1(7a53efd5b583f656c87b7d7a5ba7c239ced7d87b) )
4681   ROM_LOAD( "f11.bin",      0x3000, 0x0800, CRC(42869646) SHA1(a3640b2ace31ce99c056bc14d1d96f3404698d6a) )
4682   ROM_LOAD( "f12.bin",      0x3800, 0x0800, CRC(a48d7fb0) SHA1(6206036a9d85e87fb7f8a88c17bfe090fc70caf4) )
4683
4684   ROM_REGION( 0x2000, "gfx1", 0 )
4685   ROM_LOAD( "1h_1_10.bin",  0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
4686   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4687   ROM_LOAD( "1k_1_11.bin",  0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
4688   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4689
4690   ROM_REGION( 0x0020, "proms", 0 )
4691   ROM_LOAD( "fantazia.clr", 0x0000, 0x0020, CRC(a84ff0af) SHA1(c300dc937c608d2d1c113ca7a53c649472c72379) )
4692ROM_END
4693
4694ROM_START( eagle )
4695   ROM_REGION( 0x8000, "maincpu", 0 )
4696   ROM_LOAD( "e1",           0x0000, 0x0800, CRC(224c9526) SHA1(4c014d60d4ee80de7f60b4609269461688c181d0) )
4697   ROM_LOAD( "e2",           0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) )
4698   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4699   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4700   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4701   ROM_LOAD( "e6",           0x2800, 0x0800, CRC(0dea20d5) SHA1(405b51d4e3b1065f78afd2297e075e977ae19196) )
4702   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4703   ROM_LOAD( "e8",           0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) )
4704
4705   ROM_REGION( 0x2000, "gfx1", 0 )
4706   ROM_LOAD( "e10",          0x0000, 0x0800, CRC(40ce58bf) SHA1(67ea99e1afe4fff3e17252b22d11d3c96a416041) )
4707   ROM_LOAD( "e12",          0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) )
4708   ROM_CONTINUE(             0x0c00, 0x0200 )  /* this version of the gfx ROMs has two */
4709   ROM_CONTINUE(             0x0a00, 0x0200 )  /* groups of 16 sprites swapped */
4710   ROM_CONTINUE(             0x0e00, 0x0200 )
4711   ROM_LOAD( "e9",           0x1000, 0x0800, CRC(ba664099) SHA1(9509123bed02a9d47f2c056e1562b80206da5579) )
4712   ROM_LOAD( "e11",          0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) )
4713   ROM_CONTINUE(             0x1c00, 0x0200 )
4714   ROM_CONTINUE(             0x1a00, 0x0200 )
4715   ROM_CONTINUE(             0x1e00, 0x0200 )
4716
4717   ROM_REGION( 0x0020, "proms", 0 )
4718   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4719ROM_END
4720
4721ROM_START( eagle2 )
4722   ROM_REGION( 0x8000, "maincpu", 0 )
4723   ROM_LOAD( "e1.7f",        0x0000, 0x0800, CRC(45aab7a3) SHA1(52ae0463f363dc0964b976faa2c0c428d85a4f12) )
4724   ROM_LOAD( "e2",           0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) )
4725   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4726   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4727   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4728   ROM_LOAD( "e6.6",         0x2800, 0x0800, CRC(9f09f8c6) SHA1(47c600629e02357389dd78c7fcaec862e0da4ef0) )
4729   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4730   ROM_LOAD( "e8",           0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) )
4731
4732   ROM_REGION( 0x2000, "gfx1", 0 )
4733   ROM_LOAD( "e10.2",        0x0000, 0x0800, CRC(25b38ebd) SHA1(f679c2f2cb5892680fec102fafbdfeae156ce373) )
4734   ROM_LOAD( "e12",          0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) )
4735   ROM_CONTINUE(             0x0c00, 0x0200 )  /* this version of the gfx ROMs has two */
4736   ROM_CONTINUE(             0x0a00, 0x0200 )  /* groups of 16 sprites swapped */
4737   ROM_CONTINUE(             0x0e00, 0x0200 )
4738   ROM_LOAD( "e9",           0x1000, 0x0800, CRC(ba664099) SHA1(9509123bed02a9d47f2c056e1562b80206da5579) )
4739   ROM_LOAD( "e11",          0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) )
4740   ROM_CONTINUE(             0x1c00, 0x0200 )
4741   ROM_CONTINUE(             0x1a00, 0x0200 )
4742   ROM_CONTINUE(             0x1e00, 0x0200 )
4743
4744   ROM_REGION( 0x0020, "proms", 0 )
4745   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4746ROM_END
4747
4748ROM_START( eagle3 )
4749   ROM_REGION( 0x8000, "maincpu", 0 )
4750   ROM_LOAD( "e1",           0x0000, 0x0800, CRC(224c9526) SHA1(4c014d60d4ee80de7f60b4609269461688c181d0) )
4751   ROM_LOAD( "e2",           0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) )
4752   ROM_LOAD( "f03.bin",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4753   ROM_LOAD( "f04.bin",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4754   ROM_LOAD( "e5",           0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4755   ROM_LOAD( "e6",           0x2800, 0x0800, CRC(0dea20d5) SHA1(405b51d4e3b1065f78afd2297e075e977ae19196) )
4756   ROM_LOAD( "e7",           0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4757   ROM_LOAD( "e8",           0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) )
4758
4759   ROM_REGION( 0x2000, "gfx1", 0 )
4760   ROM_LOAD( "e10a",         0x0000, 0x0800, CRC(e3c63d4c) SHA1(ad2b22e316da6bb819c58934d51cd4b2819b18f0) )
4761   ROM_LOAD( "e12",          0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) )
4762   ROM_CONTINUE(             0x0c00, 0x0200 )  /* this version of the gfx ROMs has two */
4763   ROM_CONTINUE(             0x0a00, 0x0200 )  /* groups of 16 sprites swapped */
4764   ROM_CONTINUE(             0x0e00, 0x0200 )
4765   ROM_LOAD( "e9a",          0x1000, 0x0800, CRC(59429e47) SHA1(b7629c81d122fd1e4d390aa7abba44df898387d3) )
4766   ROM_LOAD( "e11",          0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) )
4767   ROM_CONTINUE(             0x1c00, 0x0200 )
4768   ROM_CONTINUE(             0x1a00, 0x0200 )
4769   ROM_CONTINUE(             0x1e00, 0x0200 )
4770
4771   ROM_REGION( 0x0020, "proms", 0 )
4772   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4773ROM_END
4774
4775ROM_START( spctbird )
4776   ROM_REGION( 0x8000, "maincpu", 0 )
4777   ROM_LOAD( "tssa-7f",      0x0000, 0x0800, CRC(45aab7a3) SHA1(52ae0463f363dc0964b976faa2c0c428d85a4f12) )
4778   ROM_LOAD( "tssa-7h",      0x0800, 0x0800, CRC(8b328f48) SHA1(d4f549e90e0bf1f546e2c3dc5a5a16e0415e709e) )
4779   ROM_LOAD( "tssa-7k",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4780   ROM_LOAD( "tssa-7m",      0x1800, 0x0800, CRC(99c9166d) SHA1(c108d84330bc958ff2812dc807e68c246a5a5ad5) )
4781   ROM_LOAD( "tssa-5",       0x2000, 0x0800, CRC(797b6261) SHA1(9a60e504e2aa0201b7311485c0dd411bbe2dc70b) )
4782   ROM_LOAD( "tssa-6",       0x2800, 0x0800, CRC(4825692c) SHA1(41a7e305c3d93f2245fb0413398d951eab9d16c0) )
4783   ROM_LOAD( "tssa-7",       0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
4784   ROM_LOAD( "tssa-8",       0x3800, 0x0800, CRC(c9b77b85) SHA1(00797f126b4cdacd9ec2df7e747aa1892933b8b8) )
4785
4786   ROM_REGION( 0x2000, "gfx1", 0 )
4787   ROM_LOAD( "tssb-2",       0x0000, 0x0800, CRC(7d23e1f2) SHA1(6902e44ff6f805a8d589c57b236e471b7fb609f8) )
4788   ROM_LOAD( "tssb-4",       0x0800, 0x0200, CRC(e4977833) SHA1(85aca9bccc6c1a5a2d792a9c4a77ee1b114934c9) )
4789   ROM_CONTINUE(             0x0c00, 0x0200 )
4790   ROM_CONTINUE(             0x0a00, 0x0200 )
4791   ROM_CONTINUE(             0x0e00, 0x0200 )
4792   ROM_LOAD( "tssb-1",       0x1000, 0x0800, CRC(9b9267c3) SHA1(2bbbff7a8a2d3e4524634de5e1c5a2426612c18f) )
4793   ROM_LOAD( "tssb-3",       0x1800, 0x0200, CRC(5ca5e233) SHA1(2115faecd07940547d0ee09776da6fcb1a008287) )
4794   ROM_CONTINUE(             0x1c00, 0x0200 )
4795   ROM_CONTINUE(             0x1a00, 0x0200 )
4796   ROM_CONTINUE(             0x1e00, 0x0200 )
4797
4798   ROM_REGION( 0x0020, "proms", 0 )
4799   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
4800ROM_END
4801
4802ROM_START( smooncrs )
4803   ROM_REGION( 0x8000, "maincpu", 0 )
4804   ROM_LOAD( "927",          0x0000, 0x0800, CRC(55c5b994) SHA1(3451b121fa22361b2684385cf5d4455fa6963215) )
4805   ROM_LOAD( "928a",         0x0800, 0x0800, CRC(77ae26d3) SHA1(cbc16a024b73bedff76a6c47336d6ef098e92c53) )
4806   ROM_LOAD( "929",          0x1000, 0x0800, CRC(716eaa10) SHA1(780fc785e6651f19dc1a0ccf48cf9485d6562a71) )
4807   ROM_LOAD( "930",          0x1800, 0x0800, CRC(cea864f2) SHA1(aaaf9f8dd126dfb4a4f52f39863fee02a56a6485) )
4808   ROM_LOAD( "931",          0x2000, 0x0800, CRC(702c5f51) SHA1(5ba8d87c93c4810b8e7c2ad4ee376cd806e83686) )
4809   ROM_LOAD( "932a",         0x2800, 0x0800, CRC(e6a2039f) SHA1(f0f240dd8ac7cd2d9994cb7341b59d7a0a3eaf26) )
4810   ROM_LOAD( "933",          0x3000, 0x0800, CRC(73783cee) SHA1(69760e25ba22645572ec16b4f9136ee84ed0c766) )
4811   ROM_LOAD( "934",          0x3800, 0x0800, CRC(c1a14aa2) SHA1(99f6b01a0acd5e936d6ae61c13599db603b73191) )
4812
4813   ROM_REGION( 0x2000, "gfx1", 0 )
4814   ROM_LOAD( "epr203",       0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) )
4815   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
4816   ROM_LOAD( "epr202",       0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) )
4817   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
4818
4819   ROM_REGION( 0x0020, "proms", 0 )
4820   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4821ROM_END
4822
4823
4824
4825ROM_START( mooncptc )
4826   ROM_REGION( 0x8000, "maincpu", 0 )
4827   ROM_LOAD( "mc1.bin",          0x0000, 0x0800, CRC(16f17cd5) SHA1(b3bbea2d91a6deeda7e045fc694ea3afb2e88a29) )
4828   ROM_LOAD( "mc2.bin",          0x0800, 0x0800, CRC(e2128805) SHA1(98aba5fd27eb7a3fdd3006f47c1eb7a0ea9d9a6f) )
4829   ROM_LOAD( "mc3.bin",          0x1000, 0x0800, CRC(716eaa10) SHA1(780fc785e6651f19dc1a0ccf48cf9485d6562a71) ) //  = 929                   smooncrs   Super Moon Cresta
4830   ROM_LOAD( "mc4.bin",          0x1800, 0x0800, CRC(bd45cd8f) SHA1(045e8b56d46a11c6f974ea9455618d067ba0ef50) )
4831   ROM_LOAD( "mc5.bin",          0x2000, 0x0800, CRC(9a1e0528) SHA1(d77e7daa9fc79ea0503f93af8c714441c7fd9ca5) )
4832   ROM_LOAD( "mc6.bin",          0x2800, 0x0800, CRC(f0230048) SHA1(8a4363323530b21ee14dbe608aa0de5241d8bb39) )
4833   ROM_LOAD( "mc7.bin",          0x3000, 0x0800, CRC(eafd4d02) SHA1(b75ed5358646d8a377ccd1f282136e638aaa9d0c) )
4834   ROM_LOAD( "mc8.bin",          0x3800, 0x0800, CRC(ccee32f8) SHA1(a4abd8d66209a29f63a56dfc9b6f9f834886c747) )
4835
4836   ROM_REGION( 0x2000, "gfx1", 0 )
4837   ROM_LOAD( "mc12.bin",     0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) ) // == 1h_1_10.bin
4838   ROM_LOAD( "mc14.bin",     0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) ) // == 12.chr
4839   ROM_CONTINUE(             0x0c00, 0x0200 )  /* this version of the gfx ROMs has two */
4840   ROM_CONTINUE(             0x0a00, 0x0200 )  /* groups of 16 sprites swapped */
4841   ROM_CONTINUE(             0x0e00, 0x0200 )
4842   ROM_LOAD( "mc11.bin",     0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) ) // == 1k_1_11.bin
4843   ROM_LOAD( "mc13.bin",     0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) ) // == 11.chr
4844   ROM_CONTINUE(             0x1c00, 0x0200 )
4845   ROM_CONTINUE(             0x1a00, 0x0200 )
4846   ROM_CONTINUE(             0x1e00, 0x0200 )
4847
4848   ROM_REGION( 0x0020, "proms", 0 )
4849   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4850ROM_END
4851
4852
4853ROM_START( sstarcrs )
4854   ROM_REGION( 0x8000, "maincpu", 0 )
4855   ROM_LOAD( "ss1",          0x0000, 0x0800, CRC(2ff72897) SHA1(c34c149ee32dd3318a04eda8928f0cd5f997d184) )
4856   ROM_LOAD( "ss2",          0x0800, 0x0800, CRC(565e7880) SHA1(cd8d1154c2e970e863bd489856819cd34848570b) )
4857   ROM_LOAD( "ss3",          0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
4858   ROM_LOAD( "ss4",          0x1800, 0x0800, CRC(a332e012) SHA1(7b32001fe342dcae2bce1c39dd1e75c6b5806199) )
4859   ROM_LOAD( "ss5",          0x2000, 0x0800, CRC(b9e58453) SHA1(60890208a5dee6e5e52e4ffafcb3501de080adf8) )
4860   ROM_LOAD( "ss6",          0x2800, 0x0800, CRC(7cbb5bc8) SHA1(5158d798e9b4649636f9fecf29738f271a3edef2) )
4861   ROM_LOAD( "ss7",          0x3000, 0x0800, CRC(57713b91) SHA1(ba01ed3f047ebbd0f9e6956e649bec0e8b730a45) )
4862   ROM_LOAD( "ss8",          0x3800, 0x0800, CRC(c857e898) SHA1(a596abe4971e65785945a844a783be2dbca559bc) )
4863
4864   ROM_REGION( 0x2000, "gfx1", 0 )
4865   ROM_LOAD( "ss10",         0x0000, 0x0800, CRC(2a95b8ea) SHA1(b2f7f2d4aca55b8cbbb907c990b27c06b7b2d77b) )
4866   ROM_LOAD( "ss12",         0x0800, 0x0200, CRC(b92c4c30) SHA1(4abc4c759e401be4edcce4f3f2d7b2b3f1827a99) )
4867   ROM_CONTINUE(             0x0c00, 0x0200 )
4868   ROM_CONTINUE(             0x0a00, 0x0200 )
4869   ROM_CONTINUE(             0x0e00, 0x0200 )
4870   ROM_LOAD( "ss9",          0x1000, 0x0800, CRC(3661e084) SHA1(bb5b8b7c9c61a0379a3f1eec02d61bbb385cd3e9) )
4871   ROM_LOAD( "ss11",         0x1800, 0x0200, CRC(95613048) SHA1(b9ba1ca11ef3154a800a90adaa8c491bb944a3a2) )
4872   ROM_CONTINUE(             0x1c00, 0x0200 )
4873   ROM_CONTINUE(             0x1a00, 0x0200 )
4874   ROM_CONTINUE(             0x1e00, 0x0200 )
4875
4876   ROM_REGION( 0x0020, "proms", 0 )
4877   // not present in this set
4878   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4879ROM_END
4880
4881ROM_START( fantastc )
4882   ROM_REGION( 0x8000, "maincpu", 0 )
4883   ROM_LOAD( "f1",           0x0000, 0x1000, CRC(8019f0b7) SHA1(b0a611d1cbb92874a6534fd27c6ac57141668913) )
4884   ROM_LOAD( "f2",           0x1000, 0x1000, CRC(988a9bc6) SHA1(468d483f285ed587f3be81431f22fdbaa3c221cc) )
4885   ROM_LOAD( "f3",           0x2000, 0x1000, CRC(a3c0cc0b) SHA1(a1b12f1c4187d8db1b267a992db6cd297aeea1bc) )
4886   ROM_LOAD( "f4",           0x3000, 0x1000, CRC(c1361be8) SHA1(5c8512747927096dd75e6095deb12dfe637f9096) )
4887   ROM_LOAD( "f5",           0x4000, 0x1000, CRC(6787e93f) SHA1(4ed784ce600fc88efc4865a361f5427027d3419a) )
4888   ROM_LOAD( "f6",           0x5000, 0x1000, CRC(597029ae) SHA1(38ea1348ac35bd1e6190f395ccb22f16cc30133d) )
4889   ROM_LOAD( "f7",           0x6000, 0x1000, CRC(8de08d9a) SHA1(ba48a23236f2b26aa17b509daddc4b3e75424d06) )
4890   ROM_LOAD( "f8",           0x7000, 0x1000, CRC(489e2fb7) SHA1(f7f641c3c6874eae0c9bb3920aa916f8b99a9285) )
4891
4892   ROM_REGION( 0x2000, "gfx1", 0 )
4893   ROM_LOAD( "37",           0x0000, 0x1000, CRC(3a54f749) SHA1(41e3c479b268de21ae0fd4f7986eb666ee58ad83) )
4894   ROM_LOAD( "38",           0x1000, 0x1000, CRC(88b71264) SHA1(60c2eb49f16b94b27625045c78c864e299b60d6b) )
4895
4896   ROM_REGION( 0x0020, "proms", 0 )
4897   ROM_LOAD( "prom-74g138", 0x0000, 0x0020, CRC(800f5718) SHA1(5387b24934c8130726180159e207943211215ae2) )
4898ROM_END
4899
4900ROM_START( timefgtr )
4901   ROM_REGION( 0x8000, "maincpu", 0 )
4902   ROM_LOAD( "tp01",           0x0000, 0x1000, CRC(ba8b3e70) SHA1(cb930022e462319721013f343e513f4a4957b89e) )
4903   ROM_LOAD( "tp02",           0x1000, 0x1000, CRC(796158c0) SHA1(bc02131a9af1773839ae0aba0225b3160ae632c4) )
4904   ROM_LOAD( "tp03",           0x2000, 0x1000, CRC(fe6a1c98) SHA1(f4a4e61cc96d93cd21e79b0aa3ddc158a7a034a0) )
4905   ROM_LOAD( "tp04",           0x3000, 0x1000, CRC(eff73185) SHA1(8538f1b63b051d6d3892ebedc76f45c3cf02cbab) )
4906   ROM_LOAD( "tp05",           0x4000, 0x1000, CRC(85023e4a) SHA1(afc76ba15d6278c45bf50e9bafcb72a0beb69d4d) )
4907   ROM_LOAD( "tp06",           0x5000, 0x1000, CRC(b6b8aaf9) SHA1(e25e59ee653b13437c412f1aeb8d7c670e34b39f) )
4908
4909   ROM_REGION( 0x4000, "gfx1", 0 )
4910   ROM_LOAD( "tp07",           0x0000, 0x1000, CRC(5f57342c) SHA1(000985613d620cbcafbd24351bd4b02f037430a9) )
4911   ROM_LOAD( "tp09",           0x1000, 0x1000, CRC(636fd772) SHA1(6567992488f0125c082a164f1043c9384736c665) )
4912   ROM_LOAD( "tp08",           0x2000, 0x1000, CRC(2dc3c48b) SHA1(f4ddf5fce909a1de3efbcaf2ff2e4a8d1ea06516) )
4913   ROM_LOAD( "tp10",           0x3000, 0x1000, CRC(b27b450c) SHA1(16131583133fe33b61d4f51a860f41d43011bc50) )
4914
4915   ROM_REGION( 0x0020, "proms", 0 )
4916   ROM_LOAD( "prom", 0x0000, 0x0020, NO_DUMP )
4917ROM_END
4918
4919ROM_START( kong )
4920   ROM_REGION( 0x8000, "maincpu", 0 )
4921   ROM_LOAD( "1",   0x0000, 0x1000, CRC(a206beb5) SHA1(5fea9584b4e3ae076178f6965f0743b9b90b15fc) )
4922   ROM_LOAD( "2",   0x1000, 0x1000, CRC(d75597b6) SHA1(df9dc99e4f0e864a91ae170d993838db8677f70f) )
4923   ROM_LOAD( "3",   0x2000, 0x1000, CRC(54e0b87b) SHA1(cfcc64fce36bf8250966576a34768ed7e8857783) )
4924   ROM_LOAD( "4",   0x3000, 0x1000, CRC(356c4ca2) SHA1(e95d219b013a1b066653b566a84c03c035a03073) )
4925   ROM_LOAD( "5",   0x4000, 0x1000, CRC(2d295976) SHA1(79e26c55e06b894bab403de77d76260c2bb3baf0) )
4926   ROM_LOAD( "6",   0x5000, 0x1000, CRC(77131cca) SHA1(900948988f2f6de6b572e5e489a7954eca812278) )
4927   ROM_LOAD( "7",   0x6000, 0x1000, CRC(3d5ec3f1) SHA1(b382e4a2d2915db190a1578b0ad51ca9b94d521b) )
4928   ROM_LOAD( "8",   0x7000, 0x1000, CRC(015fe5e5) SHA1(d246d1c791eb4d85e59a826ed0accd9f1da483bb) )
4929
4930   ROM_REGION( 0x2000, "gfx1", 0 )
4931   ROM_LOAD( "9",   0x0000, 0x0800, CRC(fe42a052) SHA1(3f5893728c1aa73f28ff4841a388124b15bbf1b7) )
4932   ROM_LOAD( "10",   0x1000, 0x0800, CRC(91fa187e) SHA1(f32741a06a3d9ba4b7d3a5552f796a27d9fa1abf) )
4933   ROM_LOAD( "11",   0x0800, 0x0800, CRC(ad2b2cdd) SHA1(01a5db01c4fa07707823436a28d40cfd2b80be23) )
4934   ROM_LOAD( "12",   0x1800, 0x0800, CRC(b74724df) SHA1(d72d0831e3806f49a07ae3333d7a29fccaf6d65e) )
4935
4936   ROM_REGION( 0x2000, "unk", 0 ) // what is this?
4937   ROM_LOAD( "13",   0x0000, 0x1000, CRC(7d33ca0a) SHA1(8a65a4b913559e3fd17f6abb381db1ab813fc8f2) )
4938
4939   ROM_REGION( 0x0020, "proms", 0 )
4940   ROM_LOAD( "prom", 0x0000, 0x0020, NO_DUMP )
4941ROM_END
4942
4943ROM_START( mooncmw )
4944   ROM_REGION( 0x8000, "maincpu", 0 )
4945   ROM_LOAD( "60.1x",      0x0000, 0x0800, CRC(322859e6) SHA1(292dccb66c38c8de837ec3ac10928d092494958e) )
4946   ROM_LOAD( "61.2x",      0x0800, 0x0800, CRC(c249902d) SHA1(0015461173fb991fd99c824e0eab054c3c17d0f1) )
4947   ROM_LOAD( "62.3x",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
4948   ROM_LOAD( "63.4x",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
4949   ROM_LOAD( "64.5x",      0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
4950   ROM_LOAD( "65.6x",      0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
4951   ROM_LOAD( "66.7x",      0x3000, 0x0800, CRC(f23cd8ce) SHA1(a77e7eca239de6a72a8cabed6444ae8efb9e40bd) )
4952   ROM_LOAD( "67.8x",      0x3800, 0x0800, CRC(66da55d5) SHA1(39e2f6107e77ee97860147f64b9673cd9a2ae612) )
4953
4954   ROM_REGION( 0x2000, "gfx1", 0 )
4955   ROM_LOAD( "68.1h",      0x0000, 0x0800, CRC(78663d86) SHA1(8648a3e60259404a05ad58b1641190e5b33a24eb) )
4956   ROM_CONTINUE(           0x0800, 0x0200 )
4957   ROM_CONTINUE(           0x0c00, 0x0200 )
4958   ROM_CONTINUE(           0x0a00, 0x0200 )
4959   ROM_CONTINUE(           0x0e00, 0x0200 )
4960   ROM_LOAD( "69.1k",      0x1000, 0x0800, CRC(162c50d3) SHA1(67d9c87782cf29c443590d7ad687fbeaa6218346) )
4961   ROM_CONTINUE(           0x1800, 0x0200 )
4962   ROM_CONTINUE(           0x1c00, 0x0200 )
4963   ROM_CONTINUE(           0x1a00, 0x0200 )
4964   ROM_CONTINUE(           0x1e00, 0x0200 )
4965
4966   ROM_REGION( 0x0020, "proms", 0 )
4967   ROM_LOAD( "prom-sn74s288n-71.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4968ROM_END
4969
4970
4971ROM_START( starfgmc )
4972   ROM_REGION( 0x8000, "maincpu", 0 )
4973   ROM_LOAD( "sei-sf-a2.bin",      0x0000, 0x0800, CRC(322859e6) SHA1(292dccb66c38c8de837ec3ac10928d092494958e) )
4974   ROM_LOAD( "sei-sf-a1.bin",      0x0800, 0x0800, CRC(7fed0654) SHA1(5a0336a5fd2f34eb901da6cf703221bc2d3f954e) )
4975   ROM_LOAD( "sei-sf-b2.bin",      0x1000, 0x0800, CRC(935f7435) SHA1(433304c8c6f495c1098371770dca10e5ef5750c6) )
4976   ROM_LOAD( "sei-sf-c1.bin",      0x1800, 0x0800, CRC(29d54869) SHA1(71e0862f24c26a5262c76140a258388b56a9af19) )
4977   ROM_LOAD( "sei-sf-d1.bin",      0x2000, 0x0800, CRC(9126cca6) SHA1(ec8ae1d55010645cc4243a1bbf8343d10194136a) )
4978   ROM_LOAD( "sei-sf-e2.bin",      0x2800, 0x0800, CRC(9d394261) SHA1(e1e6d09ad0c01588d8e4b4665a62264163f80a3d) )
4979   ROM_LOAD( "sei-sf-f2.bin",      0x3000, 0x0800, CRC(94f161dd) SHA1(5e5e5a35e8a1478755b5569018ebf54c513d3c64) )
4980   ROM_LOAD( "sei-sf-f1.bin",      0x3800, 0x0800, CRC(6ced7f80) SHA1(4710d6a35ac38642893f2ceb27799f5caf24aa3b) )
4981
4982   ROM_REGION( 0x2000, "gfx1", 0 ) // check loading
4983   ROM_LOAD( "sei-sf-jh2.bin",  0x0000, 0x0800, CRC(8edba3cd) SHA1(296cf08ee388d1aec7388a9789ab18db54c64118) )
4984   ROM_LOAD( "sei-sf-jh3.bin",  0x0800, 0x0800, CRC(f5a871a9) SHA1(6afa971ffb15b7b97a6880db26a1f599d23f8655) )
4985   ROM_LOAD( "sei-sf-lk2.bin",  0x1000, 0x0800, CRC(44b0f06a) SHA1(26cb43239e9150dc867b19d3b48b5a766778ca0a) )
4986   ROM_LOAD( "sei-sf-lk3.bin",  0x1800, 0x0800, CRC(773b1ee6) SHA1(6d0ca6d0d01f408a2cb1ae40a4dab903eccea528) )
4987
4988
4989   ROM_REGION( 0x0020, "proms", 0 ) // no prom included so using the regular one
4990   ROM_LOAD( "prom-sn74s288n-71.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
4991ROM_END
4992
4993
4994ROM_START( spcdrag )
4995   ROM_REGION( 0x10000, "maincpu", 0 )
4996   ROM_LOAD( "a.bin",      0x0000, 0x0800, CRC(38cc9839) SHA1(71c5853fc14a9c0b93e3b7660b925021680a0fe1) )
4997   ROM_LOAD( "b.bin",      0x0800, 0x0800, CRC(419fa8d6) SHA1(709b096d43c15cbfb98745e1f5e7c1bc921e3241) )
4998   ROM_LOAD( "c.bin",      0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
4999   ROM_LOAD( "d.bin",      0x1800, 0x0800, CRC(cbcf17c5) SHA1(9aa3ca6dc30e4a19ed2bdb2be6ba90bde4cb7542) )
5000   ROM_LOAD( "em.bin",     0x2000, 0x0800, CRC(eb81c19c) SHA1(e5dd61704938c837b87a3155d54698482235c513) )
5001   ROM_LOAD( "fm.bin",     0x2800, 0x0800, CRC(757b7672) SHA1(d042e4bc17d2a8c9f1db55d57d5c235338cdb20c) )
5002   ROM_LOAD( "g.bin",      0x3000, 0x0800, CRC(57713b91) SHA1(ba01ed3f047ebbd0f9e6956e649bec0e8b730a45) )
5003   ROM_LOAD( "h.bin",      0x3800, 0x0800, CRC(159ad847) SHA1(9d46f380c868ac07964e571c54e800c683a6a679) )
5004
5005   ROM_REGION( 0x2000, "gfx1", 0 )
5006   ROM_LOAD( "203.bin",  0x0000, 0x0800, CRC(a2e82527) SHA1(5e9236ba102728213b4651db984b3a169b4a0410) )
5007   ROM_LOAD( "172.bin",  0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
5008   ROM_LOAD( "202.bin",  0x1000, 0x0800, CRC(80c3ad74) SHA1(0fd2269543d123bd427f5a648a17f8bee65b20a2) )
5009   ROM_LOAD( "171.bin",  0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
5010
5011   ROM_REGION( 0x0020, "proms", 0 )
5012   // not present in this set
5013   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
5014ROM_END
5015
5016ROM_START( spcdraga )
5017   ROM_REGION( 0x10000, "maincpu", 0 )
5018   ROM_LOAD( "1.7g",      0x0000, 0x0800, CRC(38cc9839) SHA1(71c5853fc14a9c0b93e3b7660b925021680a0fe1) )
5019   ROM_LOAD( "2.7g",      0x0800, 0x0800, CRC(29e00ae4) SHA1(574bdfb621e084485e6621229cd569486831e4ba) )
5020   ROM_LOAD( "3.7g",      0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
5021   ROM_LOAD( "4.7g",      0x1800, 0x0800, CRC(068f8830) SHA1(e12d590401878d9f2695e5c7aa38387ed9ccfb06) )
5022   ROM_LOAD( "5.10g",     0x2000, 0x0800, CRC(32cd9adc) SHA1(3143690712465d092d6c63f4826f220839d78958) )
5023   ROM_LOAD( "6.10g",     0x2800, 0x0800, CRC(50db67c5) SHA1(69ad219332ac0d9f4e328b314f7bdc34d5599393) )
5024   ROM_LOAD( "7.10g",     0x3000, 0x0800, CRC(22415271) SHA1(60b1ca2dc044c0863c6f38280a3bd0ff9397c869) )
5025   ROM_LOAD( "8.10g",     0x3800, 0x0800, CRC(159ad847) SHA1(9d46f380c868ac07964e571c54e800c683a6a679) )
5026
5027   ROM_REGION( 0x2000, "gfx1", 0 )
5028   ROM_LOAD( "a2.7a",  0x0000, 0x0800, CRC(38b042dd) SHA1(bd452dae4cbc22a900cf783f84d1f9d8cb1218f9) )
5029   ROM_LOAD( "a4.7a",  0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
5030   ROM_CONTINUE(       0x0c00, 0x0200 )
5031   ROM_CONTINUE(       0x0a00, 0x0200 )
5032   ROM_CONTINUE(       0x0e00, 0x0200 )
5033   ROM_LOAD( "a1.9a",  0x1000, 0x0800, CRC(24441ab3) SHA1(8c9d2bd062cb2360f3dd3df2d7d212e9485f91ad) )
5034   ROM_LOAD( "a3.9a",  0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
5035   ROM_CONTINUE(       0x1c00, 0x0200 )
5036   ROM_CONTINUE(       0x1a00, 0x0200 )
5037   ROM_CONTINUE(       0x1e00, 0x0200 )
5038
5039   ROM_REGION( 0x0020, "proms", 0 )
5040   // not present in this set
5041   ROM_LOAD( "prom_6331.10f", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
5042ROM_END
5043
5044ROM_START( mooncreg ) // similar to the spcdraga 'Space Dragon (set 2)' set but with original Moon Cresta gfx roms
5045   ROM_REGION( 0x10000, "maincpu", 0 )
5046   ROM_LOAD( "eg1",     0x0000, 0x0800, CRC(a67ca4af) SHA1(0422be6b3549418c19ece3de6dd165e690d40fdd) ) // unique to this set
5047   ROM_LOAD( "eg2",     0x0800, 0x0800, CRC(b57b140e) SHA1(f436586280e70dded199be52984fb22c0daf2d62) ) // unique to this set
5048   ROM_LOAD( "eg3",     0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) ) // == spcdrag/spcdraga
5049   ROM_LOAD( "eg4",     0x1800, 0x0800, CRC(068f8830) SHA1(e12d590401878d9f2695e5c7aa38387ed9ccfb06) ) // == spcdraga
5050   ROM_LOAD( "eg5",     0x2000, 0x0800, CRC(32cd9adc) SHA1(3143690712465d092d6c63f4826f220839d78958) ) // == spcdraga
5051   ROM_LOAD( "eg6",     0x2800, 0x0800, CRC(3a4b62d9) SHA1(955603f1ca7c8e7a488a6b33dabed0ac12aa8050) ) // unique to this set
5052   ROM_LOAD( "eg7",     0x3000, 0x0800, CRC(22415271) SHA1(60b1ca2dc044c0863c6f38280a3bd0ff9397c869) ) // == spcdraga
5053   ROM_LOAD( "eg8",     0x3800, 0x0800, CRC(7b9cc105) SHA1(d12bb1d86eddc08ab24c0e8f8b4cc6011fa70f5a) ) // unique to this set
5054
5055   ROM_REGION( 0x2000, "gfx1", 0 )
5056   ROM_LOAD( "eg_2b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
5057   ROM_LOAD( "eg_4b",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
5058   ROM_LOAD( "eg_1b",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
5059   ROM_LOAD( "eg_3b",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
5060
5061   ROM_REGION( 0x0020, "proms", 0 )
5062   // not present in this set
5063   ROM_LOAD( "prom_6331.10f", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
5064ROM_END
5065
5066
5067ROM_START( mooncrsl ) // similar to above
5068   ROM_REGION( 0x10000, "maincpu", 0 )
5069   ROM_LOAD( "01.bin",     0x0000, 0x0800, CRC(a67ca4af) SHA1(0422be6b3549418c19ece3de6dd165e690d40fdd) )
5070   ROM_LOAD( "02.bin",     0x0800, 0x0800, CRC(16edce3e) SHA1(59a21d69aba42be265fa3f9166a031ef510c59ed) )
5071   ROM_LOAD( "03.bin",     0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
5072   ROM_LOAD( "04.bin",     0x1800, 0x0800, CRC(068f8830) SHA1(e12d590401878d9f2695e5c7aa38387ed9ccfb06) )
5073   ROM_LOAD( "05.bin",     0x2000, 0x0800, CRC(28ae612d) SHA1(f1c224be95659e716f0d4f0dc2704503cfc46c07) )
5074   ROM_LOAD( "06.bin",     0x2800, 0x0800, CRC(803da987) SHA1(41ce0401a142f2fc41ea2db95d1067a2386e9e70) )
5075   ROM_LOAD( "07.bin",     0x3000, 0x0800, CRC(8e9ac0fc) SHA1(ddc11ad20ecbd954098becf7d7a1bbe6cddeda1b) )
5076   ROM_LOAD( "08.bin",     0x3800, 0x0800, CRC(020a8e2f) SHA1(b64438cb043252565d8a4f3f58f4a4f78a276ba2) )
5077
5078   ROM_REGION( 0x2000, "gfx1", 0 ) // not present in this set
5079   ROM_LOAD( "mcs_b",        0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
5080   ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
5081   ROM_LOAD( "mcs_a",        0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
5082   ROM_LOAD( "mcs_c",        0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
5083
5084   ROM_REGION( 0x0020, "proms", 0 ) // not present in this set
5085   ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
5086ROM_END
5087
5088
5089ROM_START( stera )
5090   ROM_REGION( 0x8000, "maincpu", 0 )
5091   ROM_LOAD( "stera.1",      0x0000, 0x0800, CRC(cd04fea8) SHA1(f3ba58f276c784f4ad4a53f9f961c269faa8fa87) )
5092   ROM_LOAD( "stera.2",      0x0800, 0x0800, CRC(ccd1878e) SHA1(cfa4913a3cd3e58998bd983c9078af58560cfbd6) )
5093   ROM_LOAD( "stera.3",      0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
5094   ROM_LOAD( "stera.4",      0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
5095   ROM_LOAD( "stera.5",      0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
5096   ROM_LOAD( "stera.6",      0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
5097   ROM_LOAD( "stera.7",      0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
5098   ROM_LOAD( "stera.8",      0x3800, 0x0800, CRC(37f19956) SHA1(cb59ae3bb06f56baa0898baeae8b3810263e046b) )
5099
5100   ROM_REGION( 0x2000, "gfx1", 0 )
5101   ROM_LOAD( "stera.10",  0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
5102   ROM_LOAD( "stera.12",  0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
5103   ROM_LOAD( "stera.11",  0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
5104   ROM_LOAD( "stera.9",   0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
5105
5106   ROM_REGION( 0x0020, "proms", 0 )
5107   ROM_LOAD( "stera.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
5108ROM_END
5109
5110ROM_START( mooncrgx )
5111   ROM_REGION( 0x8000, "maincpu", 0 )
5112   ROM_LOAD( "1",            0x0000, 0x0800, CRC(84cf420b) SHA1(82c979467c51df699337d5878340d05bee606480) )
5113   ROM_LOAD( "2",            0x0800, 0x0800, CRC(4c2a61a1) SHA1(a3759bd2c062f2843cd5b812529c798d5d12086c) )
5114   ROM_LOAD( "3",            0x1000, 0x0800, CRC(1962523a) SHA1(56ea003c3ff37c2bc33383207fccde0ba0ed781a) )
5115   ROM_LOAD( "4",            0x1800, 0x0800, CRC(75dca896) SHA1(017d04501d3d1305491ba843d92ebd74d47d2f9c) )
5116   ROM_LOAD( "5",            0x2000, 0x0800, CRC(32483039) SHA1(23baf136d5b7fc02f999dcb31b8daf68b6ffafd1) )
5117   ROM_LOAD( "6",            0x2800, 0x0800, CRC(43f2ab89) SHA1(f7f0802a12fd89d61f6f00044e077f34a9d3955f) )
5118   ROM_LOAD( "7",            0x3000, 0x0800, CRC(1e9c168c) SHA1(891dc159dfc343322c3241980a0ef76dee510ca9) )
5119   ROM_LOAD( "8",            0x3800, 0x0800, CRC(5e09da94) SHA1(677890912db12df6fa2cb515c198f8ac3f7187af) )
5120
5121   ROM_REGION( 0x2000, "gfx1", 0 )
5122   ROM_LOAD( "1h_1_10.bin",  0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
5123   ROM_LOAD( "12.chr",       0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
5124   ROM_CONTINUE(             0x0c00, 0x0200 )
5125   ROM_CONTINUE(             0x0a00, 0x0200 )
5126   ROM_CONTINUE(             0x0e00, 0x0200 )
5127   ROM_LOAD( "9.chr",        0x1000, 0x0800, CRC(70df525c) SHA1(f771293494a2234bf80f206ecf1e88773322e503) )
5128   ROM_LOAD( "11.chr",       0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
5129   ROM_CONTINUE(             0x1c00, 0x0200 )
5130   ROM_CONTINUE(             0x1a00, 0x0200 )
5131   ROM_CONTINUE(             0x1e00, 0x0200 )
5132
5133   ROM_REGION( 0x0020, "proms", 0 )
5134   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
5135ROM_END
5136
5137ROM_START( moonqsr )
5138   ROM_REGION( 0x10000, "maincpu", 0 )
5139   ROM_LOAD( "mq1",          0x0000, 0x0800, CRC(132c13ec) SHA1(d95166b025442f184e44a70312fb3b4f6366f324) )
5140   ROM_LOAD( "mq2",          0x0800, 0x0800, CRC(c8eb74f1) SHA1(4efa85c40349852da47a0f725ae06873efe4ce1c) )
5141   ROM_LOAD( "mq3",          0x1000, 0x0800, CRC(33965a89) SHA1(92912cea76a472d9b709c664d9818844a07fcc32) )
5142   ROM_LOAD( "mq4",          0x1800, 0x0800, CRC(a3861d17) SHA1(d7037d93b7838ccdd9a6a1a1476571cfa869fca1) )
5143   ROM_LOAD( "mq5",          0x2000, 0x0800, CRC(8bcf9c67) SHA1(7af0d9308d20c52675301acf5d1a5d62358352a6) )
5144   ROM_LOAD( "mq6",          0x2800, 0x0800, CRC(5750cda9) SHA1(17c2bc38037833fdb8923d4a2262264386ef916b) )
5145   ROM_LOAD( "mq7",          0x3000, 0x0800, CRC(78d7fe5b) SHA1(4085562a0af94c65dad2a3550409727e597c0d5b) )
5146   ROM_LOAD( "mq8",          0x3800, 0x0800, CRC(4919eed5) SHA1(526aaedd25e0f7c525eb7c66519218ae09b0407e) )
5147
5148   ROM_REGION( 0x2000, "gfx1", 0 )
5149   ROM_LOAD( "mqb",          0x0000, 0x0800, CRC(b55ec806) SHA1(fb52e53dfa3ae9dec162622d22de9cfdb0b5f9d6) )
5150   ROM_LOAD( "mqd",          0x0800, 0x0800, CRC(9e7d0e13) SHA1(18951080d307ac13344f89745f671595e26d282c) )
5151   ROM_LOAD( "mqa",          0x1000, 0x0800, CRC(66eee0db) SHA1(eeb08efd226e15e248999558240488ffd0e39688) )
5152   ROM_LOAD( "mqc",          0x1800, 0x0800, CRC(a6db5b0d) SHA1(476e197df047e991d2ea3c1fad92c799510f1647) )
5153
5154   ROM_REGION( 0x0020, "proms", 0 )
5155   ROM_LOAD( "vid_e6.bin",   0x0000, 0x0020, CRC(0b878b54) SHA1(3667aca564ebfef5b88d7f74fabbd16dd23183b4) )
5156ROM_END
5157
5158ROM_START( moonal2 )
5159   ROM_REGION( 0x10000, "maincpu", 0 )
5160   ROM_LOAD( "ali1",         0x0000, 0x0400, CRC(0dcecab4) SHA1(493628640de1a7e3bb9914ee3459b74cedc599fd) )
5161   ROM_LOAD( "ali2",         0x0400, 0x0400, CRC(c6ee75a7) SHA1(36503351380f7638069637c22bd06da06da54a1c) )
5162   ROM_LOAD( "ali3",         0x0800, 0x0400, CRC(cd1be7e9) SHA1(684f1923090f0d53338705f6972778712e27577f) )
5163   ROM_LOAD( "ali4",         0x0c00, 0x0400, CRC(83b03f08) SHA1(a1fd422051aa7f17f857188b503031cce3fdc275) )
5164   ROM_LOAD( "ali5",         0x1000, 0x0400, CRC(6f3cf61d) SHA1(e238ed6f9c0813f0177abe9090e29562529eeef8) )
5165   ROM_LOAD( "ali6",         0x1400, 0x0400, CRC(e169d432) SHA1(a5189d7322a240863afee7ac0ecf68599498cb87) )
5166   ROM_LOAD( "ali7",         0x1800, 0x0400, CRC(41f64b73) SHA1(dff786a74575da9fbaca3ac610ad2f367983c7fc) )
5167   ROM_LOAD( "ali8",         0x1c00, 0x0400, CRC(f72ee876) SHA1(8e50a516f10d77652ff3692bb85adb66bc128e26) )
5168   ROM_LOAD( "ali9",         0x2000, 0x0400, CRC(b7fb763c) SHA1(4e7c4995f52dec2ea61424c79d79797933dad604) )
5169   ROM_LOAD( "ali10",        0x2400, 0x0400, CRC(b1059179) SHA1(86de04c82a7604cb57958a52d5585837481f94a5) )
5170   ROM_LOAD( "ali11",        0x2800, 0x0400, CRC(9e79a1c6) SHA1(2f59e3a2a81a224b163b23bd2c184385f64e1565) )
5171
5172   ROM_REGION( 0x2000, "gfx1", 0 )
5173   ROM_LOAD( "ali13.1h",     0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) )
5174   ROM_RELOAD(               0x0800, 0x0800 )
5175   ROM_LOAD( "ali12.1k",     0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) )
5176   ROM_RELOAD(               0x1800, 0x0800 )
5177
5178   ROM_REGION( 0x0020, "proms", 0 )
5179   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
5180ROM_END
5181
5182ROM_START( moonal2b )
5183   ROM_REGION( 0x10000, "maincpu", 0 )
5184   ROM_LOAD( "ali1",         0x0000, 0x0400, CRC(0dcecab4) SHA1(493628640de1a7e3bb9914ee3459b74cedc599fd) )
5185   ROM_LOAD( "ali2",         0x0400, 0x0400, CRC(c6ee75a7) SHA1(36503351380f7638069637c22bd06da06da54a1c) )
5186   ROM_LOAD( "md-2",         0x0800, 0x0800, CRC(8318b187) SHA1(75bb113db1111cd2a335139fa6cb94d9522f5860) )
5187   ROM_LOAD( "ali5",         0x1000, 0x0400, CRC(6f3cf61d) SHA1(e238ed6f9c0813f0177abe9090e29562529eeef8) )
5188   ROM_LOAD( "ali6",         0x1400, 0x0400, CRC(e169d432) SHA1(a5189d7322a240863afee7ac0ecf68599498cb87) )
5189   ROM_LOAD( "ali7",         0x1800, 0x0400, CRC(41f64b73) SHA1(dff786a74575da9fbaca3ac610ad2f367983c7fc) )
5190   ROM_LOAD( "ali8",         0x1c00, 0x0400, CRC(f72ee876) SHA1(8e50a516f10d77652ff3692bb85adb66bc128e26) )
5191   ROM_LOAD( "ali9",         0x2000, 0x0400, CRC(b7fb763c) SHA1(4e7c4995f52dec2ea61424c79d79797933dad604) )
5192   ROM_LOAD( "ali10",        0x2400, 0x0400, CRC(b1059179) SHA1(86de04c82a7604cb57958a52d5585837481f94a5) )
5193   ROM_LOAD( "md-6",         0x2800, 0x0800, CRC(9cc973e0) SHA1(8d96448794e0869036a3fac7f7fbcad459149a98) )
5194
5195   ROM_REGION( 0x2000, "gfx1", 0 )
5196   ROM_LOAD( "ali13.1h",     0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) )
5197   ROM_RELOAD(               0x0800, 0x0800 )
5198   ROM_LOAD( "ali12.1k",     0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) )
5199   ROM_RELOAD(               0x1800, 0x0800 )
5200
5201   ROM_REGION( 0x0020, "proms", 0 )
5202   ROM_LOAD( "6l.bpr",       0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
5203ROM_END
5204
5205
5206/*
5207
5208The Pit (on Moon Quasar hardware)
5209^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5210
5211Dumped by Andrew Welburn
5212on the sunny morning of 2/03/10
5213
5214http://www.andys-arcade.com
5215
5216*************************************************
5217**Do not separate this text file from the roms.**
5218*************************************************
5219
5220Nichibutsu Moon Quasar pcb largely unhacked, but
5221with an odd looking set of roms. One gfx rom
5222identifies itself as 'The Pit' so that is my only
5223guess at what the game actually is.
5224
5225Roms 1 through 8 read well in-circuit in the right
5226places in the memory map for moon cresta,
5227(through the fluke 9100) but the game does not
5228currently run. Roms dumped adn verified with no
5229anomalies.
5230
5231Rom 9 was placed on the through-socket and has
5232pins 20 and 18 (/E and A11 respectively) tied to
5233pin 5 of 8E (A14/A15/MREQ demux). This demux has
5234some patches, the trace to pin 13 is cut, and is
5235instead wired to pin 3.
5236
5237*/
5238
5239ROM_START( thepitm )
5240   ROM_REGION( 0x10000, "maincpu", 0 )
5241   ROM_LOAD( "1.bin",          0x0000, 0x0800, CRC(0f78d6ea) SHA1(e224b2fb9b4a26295b03af720fa647d4488a1287) )
5242   ROM_LOAD( "2.bin",          0x0800, 0x0800, CRC(ebacc6eb) SHA1(8b73d96ebe8070fbbb16434aa6a30ec8985ddec6) )
5243   ROM_LOAD( "3.bin",          0x1000, 0x0800, CRC(14fd0706) SHA1(5d905d8272731c307dc9f96caf4973b28413198e) )
5244   ROM_LOAD( "4.bin",          0x1800, 0x0800, CRC(613e920f) SHA1(078c7f36ba0145fbbd24bdae4cb6b03c5c27c1cc) )
5245   ROM_LOAD( "5.bin",          0x2000, 0x0800, CRC(5a791f3f) SHA1(166f07f7fe260e53e611784976792638a25485c1) )
5246   ROM_LOAD( "6.bin",          0x2800, 0x0800, CRC(0bb37f51) SHA1(32e31678388bad048c829bd43a18dc4e24869840) )
5247   ROM_LOAD( "7.bin",          0x3000, 0x0800, CRC(4dfdec6f) SHA1(eb88a278860998c343f94e27c8c6c723cffb2dd9) )
5248   ROM_LOAD( "8.bin",          0x3800, 0x0800, CRC(a39a9189) SHA1(aacd54edca6bc7f7feacd651a0de57b3d9592aad) )
5249   ROM_LOAD( "9.bin",          0x4000, 0x0800, CRC(2eb90e07) SHA1(92678fc5cfeb7119ce27f042571daa831fa1dad5) )
5250
5251   ROM_REGION( 0x2000, "gfx1", 0 )
5252   ROM_LOAD( "1h.bin",      0x0000, 0x0800, CRC(00dce65f) SHA1(ba0cce484d1f8693a85b85e0689d107588df9043) )
5253   ROM_LOAD( "1k.bin",      0x1000, 0x0800, CRC(3ec0056e) SHA1(1dd19e7535ab9abd62b4b32663437f8e8acb91b5) )
5254
5255   ROM_REGION( 0x0020, "proms", 0 )
5256   ROM_LOAD( "6l.bin",   0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
5257ROM_END
5258
5259
5260ROM_START( skybase )
5261   ROM_REGION( 0x10000, "maincpu", 0 )
5262   ROM_LOAD( "skybase.9a",   0x0000, 0x1000, CRC(845b87a5) SHA1(8a249c1ec921532cb1bb85ed7fec11396634ca38) )
5263   ROM_LOAD( "skybase.8a",   0x1000, 0x1000, CRC(096785c2) SHA1(a0833bc1984e1f198587195e58b6fed6657922bd) )
5264   ROM_LOAD( "skybase.7a",   0x2000, 0x1000, CRC(d50c715b) SHA1(3d0fa15514b210bccd4aeed06540122a4f56fd7a) )
5265   ROM_LOAD( "skybase.6a",   0x3000, 0x1000, CRC(f57edb27) SHA1(4b5c376017700315345241fad96c00478a14fc8f) )
5266   ROM_LOAD( "skybase.5a",   0x4000, 0x1000, CRC(50365d95) SHA1(9b3d360c9d1df0ebf047bef1b30765ea9bb42b42) )
5267   ROM_LOAD( "skybase.4a",   0x5000, 0x1000, CRC(cbd6647f) SHA1(7a167c9df6b5f3346c37e5c45d0680b0b29852a6) )
5268
5269   ROM_REGION( 0x4000, "gfx1", 0 )
5270   ROM_LOAD( "skybase.7t",   0x0000, 0x1000, CRC(9b471686) SHA1(b35831daa8ce57e498c2c4f75763a74c340cfaf0) )
5271   ROM_LOAD( "skybase.8t",   0x1000, 0x1000, CRC(1cf723da) SHA1(f2e41ab89413298571626d13b2b5853eb35dcb96) )
5272   ROM_LOAD( "skybase.10t",  0x2000, 0x1000, CRC(fe02e72c) SHA1(bf7c078e984b13dcc12d529904f1096d65e41bec) )
5273   ROM_LOAD( "skybase.9t",   0x3000, 0x1000, CRC(0871291f) SHA1(2e4e802316b55711bcfeb48d84bacd11afff8cb3) )
5274
5275   ROM_REGION( 0x0020, "proms", 0 )
5276   ROM_LOAD( "82s123.bpr",  0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Color prom */
5277ROM_END
5278
5279
5280ROM_START( jumpbug )
5281   ROM_REGION( 0x10000, "maincpu", 0 )
5282   ROM_LOAD( "jb1",          0x0000, 0x1000, CRC(415aa1b7) SHA1(4f9edd7e9720acf085dd8910849c2f2fac5cb547) )
5283   ROM_LOAD( "jb2",          0x1000, 0x1000, CRC(b1c27510) SHA1(66fbe0b94b6c101cb50d7a3ff78160110415dff9) )
5284   ROM_LOAD( "jb3",          0x2000, 0x1000, CRC(97c24be2) SHA1(1beb9fbc3a52610b416af8b5fee156d8b6b3125a) )
5285   ROM_LOAD( "jb4",          0x3000, 0x1000, CRC(66751d12) SHA1(26c68cfb59596ae164ee9ae4a24ddf8dc7a923a7) )
5286   ROM_LOAD( "jb5",          0x8000, 0x1000, CRC(e2d66faf) SHA1(3dec0796642856359de57afb896cc668c0245b40) )
5287   ROM_LOAD( "jb6",          0x9000, 0x1000, CRC(49e0bdfd) SHA1(8d89d9cd7134b153264fdc49d2c68e8c14004b0d) )
5288   ROM_LOAD( "jb7",          0xa000, 0x0800, CRC(83d71302) SHA1(9292088d26ba29fbf8817df03461b8bb6bf27639) )
5289
5290   ROM_REGION( 0x3000, "gfx1", 0 )
5291   ROM_LOAD( "jbl",          0x0000, 0x0800, CRC(9a091b0a) SHA1(19b88f802ee80ff8901ef99e3688f2869f1a69c5) )
5292   ROM_LOAD( "jbm",          0x0800, 0x0800, CRC(8a0fc082) SHA1(58b72a3161950a2fb71cdab3f30bb3abb19c7978) )
5293   ROM_LOAD( "jbn",          0x1000, 0x0800, CRC(155186e0) SHA1(717ddaecc52a4ef03a01fcddb520acdbfb0d722a) )
5294   ROM_LOAD( "jbi",          0x1800, 0x0800, CRC(7749b111) SHA1(55071ce04708bd52177644298f76ae79d23f6ac9) )
5295   ROM_LOAD( "jbj",          0x2000, 0x0800, CRC(06e8d7df) SHA1(d04f1503d9fde5aae92652cb9d2eb16bd6a0fe9c) )
5296   ROM_LOAD( "jbk",          0x2800, 0x0800, CRC(b8dbddf3) SHA1(043de444890a93459789dc99c43ef88ff66b79e4) )
5297
5298   ROM_REGION( 0x0020, "proms", 0 )
5299   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
5300ROM_END
5301
5302ROM_START( jumpbugb )
5303   ROM_REGION( 0x10000, "maincpu", 0 )
5304   ROM_LOAD( "jb1",          0x0000, 0x1000, CRC(415aa1b7) SHA1(4f9edd7e9720acf085dd8910849c2f2fac5cb547) )
5305   ROM_LOAD( "jb2",          0x1000, 0x1000, CRC(b1c27510) SHA1(66fbe0b94b6c101cb50d7a3ff78160110415dff9) )
5306   ROM_LOAD( "jb3b",         0x2000, 0x1000, CRC(cb8b8a0f) SHA1(9e8591471dda2cb964ba2a866d4a5a3ef65d8707) )
5307   ROM_LOAD( "jb4",          0x3000, 0x1000, CRC(66751d12) SHA1(26c68cfb59596ae164ee9ae4a24ddf8dc7a923a7) )
5308   ROM_LOAD( "jb5b",         0x8000, 0x1000, CRC(7553b5e2) SHA1(6439585e713581dd36cea6324414f803d683216f) )
5309   ROM_LOAD( "jb6b",         0x9000, 0x1000, CRC(47be9843) SHA1(495d6fc732267bfd19a953b0b70df3f94b3c1e38) )
5310   ROM_LOAD( "jb7b",         0xa000, 0x0800, CRC(460aed61) SHA1(449ab1bb502f98da74c0955ce1364f8708fd3f81) )
5311
5312   ROM_REGION( 0x3000, "gfx1", 0 )
5313   ROM_LOAD( "jbl",          0x0000, 0x0800, CRC(9a091b0a) SHA1(19b88f802ee80ff8901ef99e3688f2869f1a69c5) )
5314   ROM_LOAD( "jbm",          0x0800, 0x0800, CRC(8a0fc082) SHA1(58b72a3161950a2fb71cdab3f30bb3abb19c7978) )
5315   ROM_LOAD( "jbn",          0x1000, 0x0800, CRC(155186e0) SHA1(717ddaecc52a4ef03a01fcddb520acdbfb0d722a) )
5316   ROM_LOAD( "jbi",          0x1800, 0x0800, CRC(7749b111) SHA1(55071ce04708bd52177644298f76ae79d23f6ac9) )
5317   ROM_LOAD( "jbj",          0x2000, 0x0800, CRC(06e8d7df) SHA1(d04f1503d9fde5aae92652cb9d2eb16bd6a0fe9c) )
5318   ROM_LOAD( "jbk",          0x2800, 0x0800, CRC(b8dbddf3) SHA1(043de444890a93459789dc99c43ef88ff66b79e4) )
5319
5320   ROM_REGION( 0x0020, "proms", 0 )
5321   ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
5322ROM_END
5323
5324ROM_START( levers )
5325   ROM_REGION( 0x10000, "maincpu", 0 )
5326   ROM_LOAD( "g96059.a8",    0x0000, 0x1000, CRC(9550627a) SHA1(3da9a614622d5b880852fe2bb2e8e4a60afb2d34) )
5327   ROM_LOAD( "g96060.d8",    0x2000, 0x1000, CRC(5ac64646) SHA1(459755932a033095eff72d78d1e916932964c5cc) )
5328   ROM_LOAD( "g96061.e8",    0x3000, 0x1000, CRC(9db8e520) SHA1(1ff10e221e45cc4afb77571a171937f8501aa509) )
5329   ROM_LOAD( "g96062.h8",    0x8000, 0x1000, CRC(7c8e8b3a) SHA1(ad281f801e818ea529be8ec43096212e834f69ef) )
5330   ROM_LOAD( "g96063.j8",    0x9000, 0x1000, CRC(fa61e793) SHA1(7aad77f3de05a7bd3dcb0c9c97a3cccd1136f352) )
5331   ROM_LOAD( "g96064.l8",    0xa000, 0x1000, CRC(f797f389) SHA1(b961f0506defa9884ac47b2316884318e1e90bff) )
5332
5333   ROM_REGION( 0x3000, "gfx1", 0 )
5334   ROM_LOAD( "g95948.n1",    0x0000, 0x0800, CRC(d8a0c692) SHA1(dd64623f4072bcb8c528b5b7b95a7bd858b79d6c) )
5335                     /*0x0800- 0x0fff empty */
5336   ROM_LOAD( "g95949.s1",    0x1000, 0x0800, CRC(3660a552) SHA1(bebfd30f90da55d6d42945717b9b38d5b0c9623a) )
5337   ROM_LOAD( "g95946.j1",    0x1800, 0x0800, CRC(73b61b2d) SHA1(fdb75eea1778daa6f9c48243361e418044b471f8) )
5338                     /*0x2000- 0x27ff empty */
5339   ROM_LOAD( "g95947.m1",    0x2800, 0x0800, CRC(72ff67e2) SHA1(dcc12f17a857271c253d06d5ac170b9d6bb6a2bd) )
5340
5341   ROM_REGION( 0x0020, "proms", 0 )
5342   ROM_LOAD( "g960lev.clr",  0x0000, 0x0020, CRC(01febbbe) SHA1(11b1dab7983ba29e830ccb7f14eb1a99465c9e81) )
5343ROM_END
5344
5345
5346ROM_START( checkman )
5347   ROM_REGION( 0x10000, "maincpu", 0 )
5348   ROM_LOAD( "cm1",          0x0000, 0x0800, CRC(e8cbdd28) SHA1(ba0b41e375b94bbfed6a2c949cc7958474c8ba6e) )
5349   ROM_LOAD( "cm2",          0x0800, 0x0800, CRC(b8432d4d) SHA1(d331476f1f88b7ef1426bed7442392f369e0650b) )
5350   ROM_LOAD( "cm3",          0x1000, 0x0800, CRC(15a97f61) SHA1(3c06c734cef1eed68b401d0d36f7ec9126986d73) )
5351   ROM_LOAD( "cm4",          0x1800, 0x0800, CRC(8c12ecc0) SHA1(1c2d61ef84404b6a524c453a3d339aaaadb38229) )
5352   ROM_LOAD( "cm5",          0x2000, 0x0800, CRC(2352cfd6) SHA1(77db5f925ee5f83c17a05a78af5191eefe70ca5a) )
5353
5354   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5355   ROM_LOAD( "cm13",         0x0000, 0x0800, CRC(0b09a3e8) SHA1(e4e65da306e22f61790f0a68d953cc017c3ce762) )
5356   ROM_LOAD( "cm14",         0x0800, 0x0800, CRC(47f043be) SHA1(44d8892d93849cbc989561387c0a05baead58446) )
5357
5358   ROM_REGION( 0x2000, "gfx1", 0 )
5359   ROM_LOAD( "cm11",         0x0000, 0x0800, CRC(8d1bcca0) SHA1(28fc7fb76180820e84d59e6836ed1f8136e8f138) )
5360   ROM_RELOAD(               0x0800, 0x0800 )
5361   ROM_LOAD( "cm9",          0x1000, 0x0800, CRC(3cd5c751) SHA1(a769fdd30752da8fb331aa0f7a0181a93f0b3378) )
5362   ROM_RELOAD(               0x1800, 0x0800 )
5363
5364   ROM_REGION( 0x0020, "proms", 0 )
5365   ROM_LOAD( "checkman.clr", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )
5366ROM_END
5367
5368ROM_START( checkmanj )
5369   ROM_REGION( 0x10000, "maincpu", 0 )
5370   ROM_LOAD( "cm_1.bin",     0x0000, 0x1000, CRC(456a118f) SHA1(7c2e8343360f446af4391012784a1ccfecae3299) )
5371   ROM_LOAD( "cm_2.bin",     0x1000, 0x1000, CRC(146b2c44) SHA1(80455396a9b1802fcefaec1340b76461c0601bf9) )
5372   ROM_LOAD( "cm_3.bin",     0x2000, 0x0800, CRC(73e1c945) SHA1(bcf2558958a30e5936f19ff53687f2316e0b822e) )
5373
5374   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5375   ROM_LOAD( "cm_4.bin",     0x0000, 0x1000, CRC(923cffa1) SHA1(132822d20de2ad1ecc561e811ca40c5642500631) )
5376
5377   ROM_REGION( 0x1000, "gfx1", 0 )
5378   ROM_LOAD( "cm_6.bin",     0x0000, 0x0800, CRC(476a7cc3) SHA1(3c343b0dcfb2f4cbec2f8b5854a303a1660fea22) )
5379   ROM_LOAD( "cm_5.bin",     0x0800, 0x0800, CRC(b3df2b5f) SHA1(519a0894d1794211659abeb6b2a2c610e6c2af25) )
5380
5381   ROM_REGION( 0x0020, "proms", 0 )
5382   ROM_LOAD( "checkman.clr", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )
5383ROM_END
5384
5385ROM_START( dingo )
5386   ROM_REGION( 0x10000, "maincpu", 0 )
5387   ROM_LOAD( "003.e7",       0x0000, 0x1000, CRC(d088550f) SHA1(13b87995881e484825c45ab4e558ac3d90bf162a) )
5388   ROM_LOAD( "004.h7",       0x1000, 0x1000, CRC(a228446a) SHA1(4b7e611edd6bce308cc7b17caa068445f5438f4f) )
5389   ROM_LOAD( "005.j7",       0x2000, 0x0800, CRC(14d680bb) SHA1(e9d84d1a62ed5300c390a7326c16cebd0aceae3b) )
5390
5391   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5392   ROM_LOAD( "6.7l",         0x0000, 0x1000, CRC(047092e0) SHA1(24014c999c904b4be571121b0f6808713d95add1) )
5393
5394   ROM_REGION( 0x1000, "gfx1", 0 )
5395   ROM_LOAD( "001.h1",       0x0000, 0x0800, CRC(1ab1dd4d) SHA1(74ef2226e1f1d2583b0c7718325da193f411a97d) )
5396   ROM_LOAD( "002.k1",       0x0800, 0x0800, CRC(4be375ee) SHA1(7379b037887baca0f932d910f8f94f7edf39bb26) )
5397
5398   ROM_REGION( 0x0020, "proms", 0 )
5399   ROM_LOAD( "18s030.l6",    0x0000, 0x0020, CRC(3061d0f9) SHA1(5af85499c6219137dc57d9fba79cb5afa3548ab1) )
5400ROM_END
5401
5402ROM_START( dingoe )
5403   ROM_REGION( 0x10000, "maincpu", 0 )
5404   ROM_LOAD( "unk.2b",       0x0000, 0x1000, CRC(0df7ac6d) SHA1(c1d45a7694848e66426c3510d0749c98e51571cb) )
5405   ROM_LOAD( "unk.2d",       0x1000, 0x1000, CRC(0881e204) SHA1(4ba59d73e04b5337cfbd68d6a708e7321cb629f1) )
5406   ROM_LOAD( "unk.3b",       0x2000, 0x1000, BAD_DUMP CRC(0b6aeab5) SHA1(ebfab3227dd23e3e1802b881a5662f634f86e382) ) // both halves identical (bad?)
5407
5408   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5409   ROM_LOAD( "unk.1c",       0x0000, 0x0800, CRC(8e354c38) SHA1(87608c1fa55e6fcf482f5d3bcc506a84673719cc) )
5410   ROM_LOAD( "unk.1d",       0x0800, 0x0800, CRC(092878d6) SHA1(8a3b25e27df5aee2023a7e1a193ab152df171ede) )
5411
5412   ROM_REGION( 0x1000, "gfx1", 0 )
5413   ROM_LOAD( "unk.4d",       0x0000, 0x0800, CRC(76a00a56) SHA1(2a696b9ce3e148529c731231852dc104729bb916) )
5414   ROM_LOAD( "unk.4b",       0x0800, 0x0800, CRC(5acf57aa) SHA1(bb05be53728e7867085dad5854fcadfa687ff5d7) )
5415
5416   ROM_REGION( 0x0020, "proms", 0 )
5417   ROM_LOAD( "82s123n.001",  0x0000, 0x0020, CRC(02b11865) SHA1(70053db9635a9194e4372835379a82f6ea64ef83) ) /* Unknown */
5418ROM_END
5419
5420
5421ROM_START( mshuttle )
5422   ROM_REGION( 2*0x10000, "maincpu", 0 )   /* 64k for code + 64k for decrypted opcodes */
5423   ROM_LOAD( "my05",         0x0000, 0x1000, CRC(83574af1) SHA1(d69c2a0538a49d6c72c3346ac4e3959d91da6c98) )
5424   ROM_LOAD( "my04",         0x1000, 0x1000, CRC(1cfae2c8) SHA1(6c7eeee70e91b8498c41525dcc60f8086cff8da7) )
5425   ROM_LOAD( "my03",         0x2000, 0x1000, CRC(c8b8a368) SHA1(140ba60f55285d1e9f7a262634f5ce5c3470ab71) )
5426   ROM_LOAD( "my02",         0x3000, 0x1000, CRC(b6aeee6e) SHA1(032af7000aebe9d34319231cdb3f2fe5de7158ba) )
5427   ROM_LOAD( "my01",         0x4000, 0x1000, CRC(def82adc) SHA1(2fb963299468c52d50b7460b55bf69c9659ee21d) )
5428
5429   ROM_REGION( 0x4000, "gfx1", 0 )
5430   ROM_LOAD( "my09",         0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
5431   ROM_LOAD( "my11",         0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) )
5432   ROM_LOAD( "my08",         0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
5433   ROM_LOAD( "my10",         0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
5434
5435   ROM_REGION( 0x0020, "proms", 0 )
5436   ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
5437
5438   ROM_REGION( 0x2000, "samples", 0 )  /* samples */
5439   ROM_LOAD( "my07",         0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
5440   ROM_LOAD( "my06(__eng)",        0x1000, 0x1000, CRC(466415f2) SHA1(a05f8238cdcebe926a564ef6268b3cd677987fa2) )
5441ROM_END
5442
5443ROM_START( mshuttle2 )
5444   ROM_REGION( 2*0x10000, "maincpu", 0 )   /* 64k for code + 64k for decrypted opcodes */
5445   ROM_LOAD( "my05",         0x0000, 0x1000, CRC(83574af1) SHA1(d69c2a0538a49d6c72c3346ac4e3959d91da6c98) )
5446   ROM_LOAD( "my04",         0x1000, 0x1000, CRC(1cfae2c8) SHA1(6c7eeee70e91b8498c41525dcc60f8086cff8da7) )
5447   ROM_LOAD( "my03",         0x2000, 0x1000, CRC(c8b8a368) SHA1(140ba60f55285d1e9f7a262634f5ce5c3470ab71) )
5448   ROM_LOAD( "my02(__mshuttle2)",         0x3000, 0x1000, CRC(9804061c) SHA1(d5147e827c5a851f6baadea4a0a3b1deb19dda16) )
5449   ROM_LOAD( "my01(__mshuttle2)",         0x4000, 0x1000, CRC(ca746a61) SHA1(259b1556b0646bf0108b1e3ffbd77bf7238350b0) )
5450
5451   ROM_REGION( 0x4000, "gfx1", 0 )
5452   ROM_LOAD( "my09",         0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
5453   ROM_LOAD( "my11(__mshuttle2)",         0x1000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
5454   ROM_LOAD( "my08",         0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
5455   ROM_LOAD( "my10",         0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
5456
5457   ROM_REGION( 0x0020, "proms", 0 )
5458   ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
5459
5460   ROM_REGION( 0x2000, "samples", 0 )  /* samples */
5461   ROM_LOAD( "my07",         0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
5462   ROM_LOAD( "my06",         0x1000, 0x1000, CRC(6d2dd711) SHA1(82e7c7b10258f651943173c968c7fa2bdf937ca9) )
5463ROM_END
5464
5465
5466
5467ROM_START( mshuttlej )
5468   ROM_REGION( 2*0x10000, "maincpu", 0 )   /* 64k for code + 64k for decrypted opcodes */
5469   ROM_LOAD( "mcs.5",        0x0000, 0x1000, CRC(a5a292b4) SHA1(b4e9d969c762f4114eba88051917df122fc7181f) )
5470   ROM_LOAD( "mcs.4",        0x1000, 0x1000, CRC(acdc0f9e) SHA1(8cd6d6566fe3f4090ccb625c3c1e5850a371826f) )
5471   ROM_LOAD( "mcs.3",        0x2000, 0x1000, CRC(c1e3f5d8) SHA1(d3af89d485b1ca21ac879dbe15490dcd1cd64f2a) )
5472   ROM_LOAD( "mcs.2",        0x3000, 0x1000, CRC(14577703) SHA1(51537982dd06ba44e95e4c7d1f7fa41ff186421d) )
5473
5474   ROM_LOAD( "mcs.1",        0x4000, 0x1000, CRC(27d46772) SHA1(848a47ba30823a55933bb55792991f0535078f0c) )
5475
5476   ROM_REGION( 0x4000, "gfx1", 0 )
5477   ROM_LOAD( "my09",         0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
5478   ROM_LOAD( "my11",         0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) )
5479   ROM_LOAD( "my08",         0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
5480   ROM_LOAD( "my10",         0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
5481
5482   ROM_REGION( 0x0020, "proms", 0 )
5483   ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
5484
5485   ROM_REGION( 0x2000, "samples", 0 )  /* samples */
5486   ROM_LOAD( "my07",         0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
5487   ROM_LOAD( "my06",         0x1000, 0x1000, CRC(6d2dd711) SHA1(82e7c7b10258f651943173c968c7fa2bdf937ca9) )
5488ROM_END
5489
5490ROM_START( mshuttlej2 )
5491   ROM_REGION( 2*0x10000, "maincpu", 0 )   /* 64k for code + 64k for decrypted opcodes */
5492   ROM_LOAD( "ali5.bin",     0x0000, 0x1000, CRC(320fe630) SHA1(df4fe25989783c8851f41c9b4b63dedfa365c1e9) )
5493   ROM_LOAD( "mcs.4",        0x1000, 0x1000, CRC(acdc0f9e) SHA1(8cd6d6566fe3f4090ccb625c3c1e5850a371826f) )
5494   ROM_LOAD( "mcs.3",        0x2000, 0x1000, CRC(c1e3f5d8) SHA1(d3af89d485b1ca21ac879dbe15490dcd1cd64f2a) )
5495   ROM_LOAD( "ali2.bin",     0x3000, 0x1000, CRC(9ed169e1) SHA1(75a24d0fcbdfc7c4e6fa0d8c7f8b4a3bccaa4439) )
5496
5497   ROM_LOAD( "ali1.bin",     0x4000, 0x1000, CRC(7f8a52d9) SHA1(4e62f6265289bae1a46e60cdd3230e188b2aec3c) )
5498
5499   ROM_REGION( 0x4000, "gfx1", 0 )
5500   ROM_LOAD( "my09",         0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
5501   ROM_LOAD( "my11",         0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) )
5502   ROM_LOAD( "my08",         0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
5503   ROM_LOAD( "my10",         0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
5504
5505   ROM_REGION( 0x0020, "proms", 0 )
5506   ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
5507
5508   ROM_REGION( 0x2000, "samples", 0 )  /* samples */
5509   ROM_LOAD( "my07",         0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
5510   ROM_LOAD( "my06.4r",      0x1000, 0x1000, CRC(4162be4d) SHA1(84fa8651796e498a37893ea90ef51b274c70e568) )
5511ROM_END
5512
5513
5514ROM_START( kingball )
5515   ROM_REGION( 0x10000, "maincpu", 0 )
5516   ROM_LOAD( "prg1.7f",      0x0000, 0x1000, CRC(6cb49046) SHA1(a0891605dff7f9ff51bc7ad85f831a749f2f61e9) )
5517   ROM_LOAD( "prg2.7j",      0x1000, 0x1000, CRC(c223b416) SHA1(ca2d9f6b8ef6db4f382089161f4147d9828c3554) )
5518   ROM_LOAD( "prg3.7l",      0x2000, 0x0800, CRC(453634c0) SHA1(0025ccd91e165692092a37541e730010e85e37f2) )
5519
5520   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5521   ROM_LOAD( "kbe1.ic4",     0x0000, 0x0800, CRC(5be2c80a) SHA1(f719a80357bed3d66bce40569690f419740148c5) )
5522   ROM_LOAD( "kbe2.ic5",     0x0800, 0x0800, CRC(bb59e965) SHA1(830e0c415f051e932d76df604025e4e33118a799) )
5523   ROM_LOAD( "kbe3.ic6",     0x1000, 0x0800, BAD_DUMP CRC(1c94dd31) SHA1(14ab59b8eee741eb1f10ae99ddb99bf7c2dab957) ) // 2nd half missing ("bye bye" voice cut off)
5524   ROM_LOAD( "kbe2.ic7",     0x1800, 0x0800, CRC(bb59e965) SHA1(830e0c415f051e932d76df604025e4e33118a799) )
5525
5526   ROM_REGION( 0x2000, "gfx1", 0 )
5527   ROM_LOAD( "chg1.1h",      0x0000, 0x0800, CRC(9cd550e7) SHA1(d2989e6b7a4d7b37a711ef1cfb536fe13e0c5482) )
5528   ROM_RELOAD(               0x0800, 0x0800 )
5529   ROM_LOAD( "chg2.1k",      0x1000, 0x0800, CRC(a206757d) SHA1(46b50005876b7f61ab4a118d0a4caaebce8ce3e1) )
5530   ROM_RELOAD(               0x1800, 0x0800 )
5531
5532   ROM_REGION( 0x0020, "proms", 0 )
5533   ROM_LOAD( "kb2-1",        0x0000, 0x0020, CRC(15dd5b16) SHA1(3d2ca2b42bf508a9e5198e970abcbbedf5729164) )
5534ROM_END
5535
5536ROM_START( kingballj )
5537   ROM_REGION( 0x10000, "maincpu", 0 )
5538   ROM_LOAD( "prg1.7f",      0x0000, 0x1000, CRC(6cb49046) SHA1(a0891605dff7f9ff51bc7ad85f831a749f2f61e9) )
5539   ROM_LOAD( "prg2.7j",      0x1000, 0x1000, CRC(c223b416) SHA1(ca2d9f6b8ef6db4f382089161f4147d9828c3554) )
5540   ROM_LOAD( "prg3.7l",      0x2000, 0x0800, CRC(453634c0) SHA1(0025ccd91e165692092a37541e730010e85e37f2) )
5541
5542   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
5543   ROM_LOAD( "kbj1.ic4",     0x0000, 0x0800, CRC(ba16beb7) SHA1(8c2c91a9e941d858a49edd6c0c8a912e1135653e) )
5544   ROM_LOAD( "kbj2.ic5",     0x0800, 0x0800, CRC(56686a63) SHA1(8e624df57a63a556941fdbebcd886488799fad17) )
5545   ROM_LOAD( "kbj3.ic6",     0x1000, 0x0800, CRC(fbc570a5) SHA1(d0dbaf86396bca65e067338a3b5b60b24990b8be) )
5546   ROM_LOAD( "kbj2.ic7",     0x1800, 0x0800, CRC(56686a63) SHA1(8e624df57a63a556941fdbebcd886488799fad17) )
5547
5548
5549   ROM_REGION( 0x2000, "gfx1", 0 )
5550   ROM_LOAD( "chg1.1h",      0x0000, 0x0800, CRC(9cd550e7) SHA1(d2989e6b7a4d7b37a711ef1cfb536fe13e0c5482) )
5551   ROM_RELOAD(               0x0800, 0x0800 )
5552   ROM_LOAD( "chg2.1k",      0x1000, 0x0800, CRC(a206757d) SHA1(46b50005876b7f61ab4a118d0a4caaebce8ce3e1) )
5553   ROM_RELOAD(               0x1800, 0x0800 )
5554
5555   ROM_REGION( 0x0020, "proms", 0 )
5556   ROM_LOAD( "kb2-1",        0x0000, 0x0020, CRC(15dd5b16) SHA1(3d2ca2b42bf508a9e5198e970abcbbedf5729164) )
5557ROM_END
5558
5559
5560/*************************************
5561 *
5562 *  ROM definitions
5563 *  Konami games
5564 *
5565 *************************************/
5566
5567ROM_START( frogger )
5568   ROM_REGION( 0x10000, "maincpu", 0 )
5569   ROM_LOAD( "frogger.26",   0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) )
5570   ROM_LOAD( "frogger.27",   0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) )
5571   ROM_LOAD( "frsm3.7",      0x2000, 0x1000, CRC(aca22ae0) SHA1(5a99060ea2506a3ac7d61ca5876ce5cb3e493565) )
5572
5573   ROM_REGION( 0x10000, "audiocpu", 0 )
5574   ROM_LOAD( "frogger.608",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5575   ROM_LOAD( "frogger.609",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5576   ROM_LOAD( "frogger.610",  0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
5577
5578   ROM_REGION( 0x1000, "gfx1", 0 )
5579   ROM_LOAD( "frogger.607",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5580   ROM_LOAD( "frogger.606",  0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
5581
5582   ROM_REGION( 0x0020, "proms", 0 )
5583   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5584ROM_END
5585
5586ROM_START( froggers1 )
5587   ROM_REGION( 0x10000, "maincpu", 0 )
5588   ROM_LOAD( "frogger.26",   0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) ) /* We need the correct Sega "EPR" labels for these 3 */
5589   ROM_LOAD( "frogger.27",   0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) )
5590   ROM_LOAD( "frogger.34",   0x2000, 0x1000, CRC(ed866bab) SHA1(24e1bbde44eb5480b7a0570fa0dc1de388cb95ba) )
5591
5592   ROM_REGION( 0x10000, "audiocpu", 0 )
5593   ROM_LOAD( "epr-608.ic32",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5594   ROM_LOAD( "epr-609.ic33",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5595   ROM_LOAD( "epr-610.ic34",  0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
5596
5597   ROM_REGION( 0x1000, "gfx1", 0 )
5598   ROM_LOAD( "epr-607.ic101",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5599   ROM_LOAD( "epr-606.ic102",  0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
5600
5601   ROM_REGION( 0x0020, "proms", 0 )
5602   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5603ROM_END
5604
5605ROM_START( froggers2 )
5606   ROM_REGION( 0x10000, "maincpu", 0 )
5607   ROM_LOAD( "epr-1012.ic5",  0x0000, 0x1000, CRC(efab0c79) SHA1(68c99b6cdcb9396bb473739a62ffc009b4bf57d5) )
5608   ROM_LOAD( "epr-1013a.ic6", 0x1000, 0x1000, CRC(aeca9c13) SHA1(cdf560adbd7f2813e86e378da7781cccf7928a44) )
5609   ROM_LOAD( "epr-1014.ic7",  0x2000, 0x1000, CRC(dd251066) SHA1(4612e1fe1ab7182a277140b1a1976cc17e0746a5) )
5610   ROM_LOAD( "epr-1015.ic8",  0x3000, 0x1000, CRC(bf293a02) SHA1(be94e9f5caa74c3de6fd95bd20928f4a9c514227) )
5611
5612   ROM_REGION( 0x10000, "audiocpu", 0 )
5613   ROM_LOAD( "epr-608.ic32",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5614   ROM_LOAD( "epr-609.ic33",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5615   ROM_LOAD( "epr-610.ic34",  0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
5616
5617   ROM_REGION( 0x1000, "gfx1", 0 )
5618   ROM_LOAD( "epr-607.ic101",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5619   ROM_LOAD( "epr-606.ic102",  0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
5620
5621   ROM_REGION( 0x0020, "proms", 0 )
5622   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5623ROM_END
5624
5625ROM_START( froggermc )
5626   ROM_REGION( 0x10000, "maincpu", 0 )
5627   ROM_LOAD( "epr-1031.15",  0x0000, 0x1000, CRC(4b7c8d11) SHA1(9200b33cac0ef5a6647c95ebd25237fa62fcdf30) )
5628   ROM_LOAD( "epr-1032.16",  0x1000, 0x1000, CRC(ac00b9d9) SHA1(6414d2aa2c0ccb8cb567ffde3acdb693cfd28dbb) )
5629   ROM_LOAD( "epr-1033.33",  0x2000, 0x1000, CRC(bc1d6fbc) SHA1(c9c040418f0bf7b7fce599592f806e7aaf448c3d) )
5630   ROM_LOAD( "epr-1034.34",  0x3000, 0x1000, CRC(9efe7399) SHA1(77355160169db256f45286e60ebf6a406527d346) )
5631
5632   ROM_REGION( 0x10000, "audiocpu", 0 )
5633   ROM_LOAD( "epr-1082.42",  0x0000, 0x1000, CRC(802843c2) SHA1(059b26ddf1cdc8076d160b872f9d50b97af7f316) )
5634   ROM_LOAD( "epr-1035.43",  0x1000, 0x0800, CRC(14e74148) SHA1(0023394e971f191c41ff20b47835f1dafb924d15) )
5635
5636   ROM_REGION( 0x1000, "gfx1", 0 )
5637   ROM_LOAD( "epr-1037.1h",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5638   ROM_LOAD( "epr-1036.1k",  0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
5639
5640   ROM_REGION( 0x0020, "proms", 0 )
5641   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5642ROM_END
5643
5644ROM_START( froggers )
5645   ROM_REGION( 0x10000, "maincpu", 0 )
5646   ROM_LOAD( "vid_d2.bin",   0x0000, 0x0800, CRC(c103066e) SHA1(8c2d4c825e9c4180fe70b0db18a547dc3ddc3c2c) )
5647   ROM_LOAD( "vid_e2.bin",   0x0800, 0x0800, CRC(f08bc094) SHA1(23ad1e57f244d6b63fd9640249dcb1eeafb8206e) )
5648   ROM_LOAD( "vid_f2.bin",   0x1000, 0x0800, CRC(637a2ff8) SHA1(e9b9fc692ca5d8deb9cd30d9d73ad25c8d8bafe1) )
5649   ROM_LOAD( "vid_h2.bin",   0x1800, 0x0800, CRC(04c027a5) SHA1(193550731513c02cad464661a1ceb230819ca70f) )
5650   ROM_LOAD( "vid_j2.bin",   0x2000, 0x0800, CRC(fbdfbe74) SHA1(48d5d1247d09eaea2a9a29f4ed6543d0411597aa) )
5651   ROM_LOAD( "vid_l2.bin",   0x2800, 0x0800, CRC(8a4389e1) SHA1(b2c74afb93927dac0d8bb24e02e0b2a069f2d3c8) )
5652
5653   ROM_REGION( 0x10000, "audiocpu", 0 )
5654   ROM_LOAD( "frogger.608",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5655   ROM_LOAD( "frogger.609",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5656   ROM_LOAD( "frogger.610",  0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
5657
5658   ROM_REGION( 0x1000, "gfx1", 0 )
5659   ROM_LOAD( "frogger.607",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5660   ROM_LOAD( "epr-1036.1k",  0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
5661
5662   ROM_REGION( 0x0020, "proms", 0 )
5663   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5664ROM_END
5665
5666ROM_START( frogf )
5667   ROM_REGION( 0x10000, "maincpu", 0 )
5668   ROM_LOAD( "6.bin",        0x0000, 0x1000, CRC(8ff0a973) SHA1(adb1c28617d915fbcfa9190bd8589a56a8858e25) )
5669   ROM_LOAD( "7.bin",        0x1000, 0x1000, CRC(3087bb4b) SHA1(3fe1f68a2ad12b1cadba89d99afe574cf5342d81) )
5670   ROM_LOAD( "8.bin",        0x2000, 0x1000, CRC(c3869d12) SHA1(7bd95c12fc1fe1a3cfc0140b64cf76fa57aa3fb4) )
5671
5672   ROM_REGION( 0x10000, "audiocpu", 0 )
5673   ROM_LOAD( "frogger.608",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5674   ROM_LOAD( "frogger.609",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5675   ROM_LOAD( "frogger.610",  0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
5676
5677   ROM_REGION( 0x1000, "gfx1", 0 )
5678   ROM_LOAD( "frogger.607",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5679   ROM_LOAD( "epr-1036.1k",  0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
5680
5681   ROM_REGION( 0x0020, "proms", 0 )
5682   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5683ROM_END
5684
5685ROM_START( frogg )
5686   ROM_REGION( 0x10000, "maincpu", 0 )
5687   ROM_LOAD( "p1.bin",       0x0000, 0x0800, CRC(1762b266) SHA1(2cf34dcfe00dc476b327f9d762a8d2aa268a2d25) )
5688   ROM_LOAD( "p2.bin",       0x0800, 0x0800, CRC(322f3916) SHA1(9236aaa260c4db4adbd92c8bba3674d07d7235a8) )
5689   ROM_LOAD( "p3.bin",       0x1000, 0x0800, CRC(28bd6151) SHA1(1a5bc540168fa5fef01bd7bc2cdbdb910c9a4ba4) )
5690   ROM_LOAD( "p4.bin",       0x1800, 0x0800, CRC(5a69ab18) SHA1(40b7bf200f87e0fb3fb54726ba79387889446052) )
5691   ROM_LOAD( "p5.bin",       0x2000, 0x0800, CRC(b4f17745) SHA1(2f237a667f6c95af213b787620142c1530d3cdd8) )
5692   ROM_LOAD( "p6.bin",       0x2800, 0x0800, CRC(34be71b5) SHA1(3088fc5817a397d0a87610d62845c7b8c4440f57) )
5693   ROM_LOAD( "p7.bin",       0x3000, 0x0800, CRC(de3edc8c) SHA1(634d54fb19b422b56576a196bdaf95733c52c7ee) )
5694
5695   ROM_REGION( 0x1000, "gfx1", 0 )
5696   ROM_LOAD( "k.bin",        0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5697   ROM_LOAD( "h.bin",        0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
5698
5699   ROM_REGION( 0x0020, "proms", 0 )
5700   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5701ROM_END
5702
5703ROM_START( froggrs )
5704   ROM_REGION( 0x10000, "maincpu", 0 ) /* 64k for code */
5705   ROM_LOAD( "frog4.bin",    0x0000, 0x1000, CRC(4d563992) SHA1(25a197f711498112e202fa88ca576b247d24e228) )
5706   ROM_LOAD( "frog5.bin",    0x1000, 0x1000, CRC(d8b8c06e) SHA1(51363deab935c3625a825499cb1f1c7a0c773b03) )
5707   ROM_LOAD( "frog6.bin",    0x2000, 0x1000, CRC(b55a1cb5) SHA1(4e751e561c179641bb7db1abf3a5272d81d434b0) )
5708
5709   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for the audio CPU */
5710   ROM_LOAD( "frogger.608",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
5711   ROM_LOAD( "frogger.609",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
5712   ROM_LOAD( "frog3.bin",    0x1000, 0x0800, CRC(837c16ab) SHA1(740780149563708163867c6412d3b2500192d7b1) )
5713
5714   ROM_REGION( 0x1000, "gfx1", 0 )
5715   ROM_LOAD( "frogger.607",  0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
5716   ROM_LOAD( "frogger.606",  0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
5717
5718   ROM_REGION( 0x0020, "proms", 0 )
5719   ROM_LOAD( "pr-91.6l",     0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
5720ROM_END
5721
5722ROM_START( turtles )
5723   ROM_REGION( 0x10000, "maincpu", 0 )
5724   ROM_LOAD( "turt_vid.2c",  0x0000, 0x1000, CRC(ec5e61fb) SHA1(3ca89800fda7a7e61f54d71d5302908be2706def) )
5725   ROM_LOAD( "turt_vid.2e",  0x1000, 0x1000, CRC(fd10821e) SHA1(af74602bf2454eb8f3b9bb5c425e2476feeecd69) )
5726   ROM_LOAD( "turt_vid.2f",  0x2000, 0x1000, CRC(ddcfc5fa) SHA1(2af9383e5a289c2d7fbe6cf5e5b1519c352afbab) )
5727   ROM_LOAD( "turt_vid.2h",  0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) )
5728   ROM_LOAD( "turt_vid.2j",  0x4000, 0x1000, CRC(fcd49fef) SHA1(bb1e91b2e6d4b5a861bf37907ef6b198328d8d83) )
5729
5730   ROM_REGION( 0x10000, "audiocpu", 0 )
5731   ROM_LOAD( "turt_snd.5c",  0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) )
5732   ROM_LOAD( "turt_snd.5d",  0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) )
5733
5734   ROM_REGION( 0x1000, "gfx1", 0 )
5735   ROM_LOAD( "turt_vid.5h",  0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) )
5736   ROM_LOAD( "turt_vid.5f",  0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) )
5737
5738   ROM_REGION( 0x0020, "proms", 0 )
5739   ROM_LOAD( "turtles.clr",  0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
5740ROM_END
5741
5742ROM_START( turpin )
5743   ROM_REGION( 0x10000, "maincpu", 0 )
5744   ROM_LOAD( "m1",           0x0000, 0x1000, CRC(89177473) SHA1(0717b1e7308ffe527edfc578ec4353809e7d9eea) )
5745   ROM_LOAD( "m2",           0x1000, 0x1000, CRC(4c6ca5c6) SHA1(dd4ca7adaa523a8e775cdfaa99bb3cc25da32c08) )
5746   ROM_LOAD( "m3",           0x2000, 0x1000, CRC(62291652) SHA1(82965d3e9608afde4ff06cba1d7a4b11cd904c11) )
5747   ROM_LOAD( "turt_vid.2h",  0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) )
5748   ROM_LOAD( "m5",           0x4000, 0x1000, CRC(7d2600f2) SHA1(1a9bdf63b50419c6e0d9c401c3dcf29d5b459fa6) )
5749
5750   ROM_REGION( 0x10000, "audiocpu", 0 )
5751   ROM_LOAD( "turt_snd.5c",  0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) )
5752   ROM_LOAD( "turt_snd.5d",  0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) )
5753
5754   ROM_REGION( 0x1000, "gfx1", 0 )
5755   ROM_LOAD( "turt_vid.5h",  0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) )
5756   ROM_LOAD( "turt_vid.5f",  0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) )
5757
5758   ROM_REGION( 0x0020, "proms", 0 )
5759   ROM_LOAD( "turtles.clr",  0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
5760ROM_END
5761
5762ROM_START( 600 )
5763   ROM_REGION( 0x10000, "maincpu", 0 )
5764   ROM_LOAD( "600_vid.2c",   0x0000, 0x1000, CRC(8ee090ae) SHA1(3d491313da6cccd6dbc15774569be0555fe2f73a) )
5765   ROM_LOAD( "600_vid.2e",   0x1000, 0x1000, CRC(45bfaff2) SHA1(ba4f7aa499f4993ec2191b8832b5604fd41964bc) )
5766   ROM_LOAD( "600_vid.2f",   0x2000, 0x1000, CRC(9f4c8ed7) SHA1(2564dae82019097227351a7ddc9c5156ca00297a) )
5767   ROM_LOAD( "600_vid.2h",   0x3000, 0x1000, CRC(a92ef056) SHA1(c319d41a3345b84670fe9110f78332c1cfe1e163) )
5768   ROM_LOAD( "600_vid.2j",   0x4000, 0x1000, CRC(6dadd72d) SHA1(5602b5ebb2c287f72a5ce873b4e3dfd19b8412a0) )
5769
5770   ROM_REGION( 0x10000, "audiocpu", 0 )
5771   ROM_LOAD( "600_snd.5c",   0x0000, 0x1000, CRC(1773c68e) SHA1(cc4aa3a98e85bc6300f8c1ee1a0448071d7c6dfa) )
5772   ROM_LOAD( "600_snd.5d",   0x1000, 0x1000, CRC(a311b998) SHA1(39af321b8c3f211ed6d083a2aba4fbc8af11c9e8) )
5773
5774   ROM_REGION( 0x1000, "gfx1", 0 )
5775   ROM_LOAD( "600_vid.5h",   0x0000, 0x0800, CRC(006c3d56) SHA1(0c773e0e84d0bf45be5a5a7cfff960c1ca2f0320) )
5776   ROM_LOAD( "600_vid.5f",   0x0800, 0x0800, CRC(7dbc0426) SHA1(29eeb3cdb5a3bcf7115d8099e4d04cf76216b003) )
5777
5778   ROM_REGION( 0x0020, "proms", 0 )
5779   ROM_LOAD( "turtles.clr",  0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
5780ROM_END
5781
5782/* Amidar (c) Konami 1982. Original Konami pcb.
5783   Soundboard silkscreened: Konami KT-4108-1B
5784   CPU Board Silkscreened: Konami KT4108-2 */
5785
5786ROM_START( amidar )
5787   ROM_REGION( 0x10000, "maincpu", 0 )
5788   ROM_LOAD( "1.2c",  0x0000, 0x1000, CRC(621b74de) SHA1(f064eccfb7da18119ed3088a5f939085eb446c90) )
5789   ROM_LOAD( "2.2e",  0x1000, 0x1000, CRC(38538b98) SHA1(12b2a0c09926d006781bee5d450bc0c391cc1fb5) )
5790   ROM_LOAD( "3.2f",  0x2000, 0x1000, CRC(099ecb24) SHA1(e83f049b25aba481e09606db3158726145ebd656) )
5791   ROM_LOAD( "4.2h",  0x3000, 0x1000, CRC(ba149a93) SHA1(9ef1d27f0780612be0ea2be94c3a2c781a4924c8) )
5792   ROM_LOAD( "5.2j",  0x4000, 0x1000, CRC(eecc1abf) SHA1(1530b374d15e0d05c8eb988cc1cbab48b0be211c) )
5793
5794   ROM_REGION( 0x10000, "audiocpu", 0 )
5795   ROM_LOAD( "s1.5c",  0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5796   ROM_LOAD( "s2.5d",  0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5797
5798   ROM_REGION( 0x1000, "gfx1", 0 )
5799   ROM_LOAD( "c2.5f",  0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) )
5800   ROM_LOAD( "c2.5d",  0x0800, 0x0800, CRC(57c4fd0d) SHA1(8764deec9fbff4220d61df621b12fc36c3702601) )
5801
5802   ROM_REGION( 0x0020, "proms", 0 )
5803   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5804ROM_END
5805
5806ROM_START( amidar1 )
5807   ROM_REGION( 0x10000, "maincpu", 0 )
5808   ROM_LOAD( "amidar.2c",    0x0000, 0x1000, CRC(c294bf27) SHA1(399325bf1559e8cdbddf7cfbf0dc739f9ed72ef0) )
5809   ROM_LOAD( "amidar.2e",    0x1000, 0x1000, CRC(e6e96826) SHA1(e9c4f8c594640424b456505e676352a98b758c03) )
5810   ROM_LOAD( "amidar.2f",    0x2000, 0x1000, CRC(3656be6f) SHA1(9d652f66bedcf17a6453c0e0ead30bfd7ea0bd0a) )
5811   ROM_LOAD( "amidar.2h",    0x3000, 0x1000, CRC(1be170bd) SHA1(c047bc393b297c0d47668a5f6f4870e3fac937ef) )
5812
5813   ROM_REGION( 0x10000, "audiocpu", 0 )
5814   ROM_LOAD( "amidar.5c",    0x0000, 0x1000, CRC(c4b66ae4) SHA1(9d09dbde4019f7be3abe0815b0e06d542c01c255) )
5815   ROM_LOAD( "amidar.5d",    0x1000, 0x1000, CRC(806785af) SHA1(c8c85e3a6a204feccd7859b4527bd649e96134b4) )
5816
5817   ROM_REGION( 0x1000, "gfx1", 0 )
5818   ROM_LOAD( "amidar.5f",    0x0000, 0x0800, CRC(5e51e84d) SHA1(dfe84db7e2b1a45a1d484fcf37291f536bc5324c) )
5819   ROM_LOAD( "amidar.5h",    0x0800, 0x0800, CRC(2f7f1c30) SHA1(83c330eca20dfcc6a4099001943b9ed7a7c3db5b) )
5820
5821   ROM_REGION( 0x0020, "proms", 0 )
5822   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5823ROM_END
5824
5825ROM_START( amidaru )
5826   ROM_REGION( 0x10000, "maincpu", 0 )
5827   ROM_LOAD( "amidarus.2c",  0x0000, 0x1000, CRC(951e0792) SHA1(3a68b829c9ffb465bd6582c9ea566e0e947c6c19) )
5828   ROM_LOAD( "amidarus.2e",  0x1000, 0x1000, CRC(a1a3a136) SHA1(330ec857fdf4c1b28e2560a5f63a2432f87f9b2f) )
5829   ROM_LOAD( "amidarus.2f",  0x2000, 0x1000, CRC(a5121bf5) SHA1(fe15b91724758ede43dd332327919f164772c592) )
5830   ROM_LOAD( "amidarus.2h",  0x3000, 0x1000, CRC(051d1c7f) SHA1(3cfa0f728a5c27da0a3fe2579ad226129ccde232) )
5831   ROM_LOAD( "amidarus.2j",  0x4000, 0x1000, CRC(351f00d5) SHA1(6659357f40f888b21be00826246200fd3a8a88ce) )
5832
5833   ROM_REGION( 0x10000, "audiocpu", 0 )
5834   ROM_LOAD( "amidarus.5c",  0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5835   ROM_LOAD( "amidarus.5d",  0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5836
5837   ROM_REGION( 0x1000, "gfx1", 0 )
5838   ROM_LOAD( "amidarus.5f",  0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) )
5839   ROM_LOAD( "amidarus.5h",  0x0800, 0x0800, CRC(57c4fd0d) SHA1(8764deec9fbff4220d61df621b12fc36c3702601) )
5840
5841   ROM_REGION( 0x0020, "proms", 0 )
5842   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5843ROM_END
5844
5845ROM_START( amidaro )
5846   ROM_REGION( 0x10000, "maincpu", 0 )
5847   ROM_LOAD( "107.2cd",      0x0000, 0x1000, CRC(c52536be) SHA1(3f64578214d2d9f0e4e7ee87e09b0aac33a73098) )
5848   ROM_LOAD( "108.2fg",      0x1000, 0x1000, CRC(38538b98) SHA1(12b2a0c09926d006781bee5d450bc0c391cc1fb5) )
5849   ROM_LOAD( "109.2fg",      0x2000, 0x1000, CRC(69907f0f) SHA1(f1d19a76ffc41ee8c5c574f10108cfdfe525b732) )
5850   ROM_LOAD( "110.2h",       0x3000, 0x1000, CRC(ba149a93) SHA1(9ef1d27f0780612be0ea2be94c3a2c781a4924c8) )
5851   ROM_LOAD( "111.2j",       0x4000, 0x1000, CRC(20d01c2e) SHA1(e09437ff440f04036d5ec74b355e97bbbbfefb95) )
5852
5853   ROM_REGION( 0x10000, "audiocpu", 0 )
5854   ROM_LOAD( "amidarus.5c",  0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5855   ROM_LOAD( "amidarus.5d",  0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5856
5857   ROM_REGION( 0x1000, "gfx1", 0 )
5858   ROM_LOAD( "amidarus.5f",  0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) )
5859   ROM_LOAD( "113.5h",       0x0800, 0x0800, CRC(bcdce168) SHA1(e593d03c460ef4607e3ba25019d9f01d4a717dd9) )  /* The letter 'S' is slightly different */
5860
5861   ROM_REGION( 0x0020, "proms", 0 )
5862   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5863ROM_END
5864
5865ROM_START( amidarb )
5866   ROM_REGION( 0x10000, "maincpu", 0 )
5867   ROM_LOAD( "ami2gor.2c", 0x0000, 0x1000, CRC(9ad2dcd2) SHA1(43ceb93d891c1ebf55e7c26de13e3db8e1d26f6d) )
5868   ROM_LOAD( "2.2f",       0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) )
5869   ROM_LOAD( "3.2j",       0x2000, 0x1000, CRC(b0860e31) SHA1(8fb92b0e71c826a509a8f712553de0f4a636286f) )
5870   ROM_LOAD( "4.2m",       0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) )
5871
5872   ROM_REGION( 0x10000, "audiocpu", 0 )
5873   ROM_LOAD( "8.11d",      0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5874   ROM_LOAD( "9.9d",       0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5875
5876   ROM_REGION( 0x1000, "gfx1", 0 )
5877   ROM_LOAD( "5.5f",      0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) )
5878   ROM_LOAD( "6.5h",      0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
5879
5880   ROM_REGION( 0x0020, "proms", 0 )
5881   ROM_LOAD( "n82s123n.6e",   0x0000, 0x0020, CRC(01004d3f) SHA1(e53cbc54ea96e846481a67bbcccf6b1726e70f9c) )
5882ROM_END
5883
5884ROM_START( amigo )
5885   ROM_REGION( 0x10000, "maincpu", 0 )
5886   ROM_LOAD( "2732.a1",      0x0000, 0x1000, CRC(930dc856) SHA1(7022f1f26830baccdc8b8f0b10fb1d1ccb080f22) )
5887   ROM_LOAD( "2732.a2",      0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) )
5888   ROM_LOAD( "2732.a3",      0x2000, 0x1000, CRC(e9d3dc76) SHA1(627c6068c65985175388aec43ac2a4248b004c97) )
5889   ROM_LOAD( "2732.a4",      0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) )
5890
5891   ROM_REGION( 0x10000, "audiocpu", 0 )
5892   ROM_LOAD( "amidarus.5c",  0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5893   ROM_LOAD( "amidarus.5d",  0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5894
5895   ROM_REGION( 0x1000, "gfx1", 0 )
5896   ROM_LOAD( "2716.a6",      0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) )
5897   ROM_LOAD( "2716.a5",      0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
5898
5899   ROM_REGION( 0x0020, "proms", 0 )
5900   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5901ROM_END
5902
5903ROM_START( amidars )
5904   ROM_REGION( 0x10000, "maincpu", 0 )
5905   ROM_LOAD( "am2d",         0x0000, 0x0800, CRC(24b79547) SHA1(eca735c6a35561a9a6ba8a20dca1e1c78ed073fc) )
5906   ROM_LOAD( "am2e",         0x0800, 0x0800, CRC(4c64161e) SHA1(5b2e49ff915295617671b13f15b566046a5dbc15) )
5907   ROM_LOAD( "am2f",         0x1000, 0x0800, CRC(b3987a72) SHA1(1d72e9ae3005029628c6f9beb6ca65afcb1f7893) )
5908   ROM_LOAD( "am2h",         0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) )
5909   ROM_LOAD( "am2j",         0x2000, 0x0800, CRC(0fdd54d8) SHA1(c32fdc8e292d91159e6c80c7033abea6404a4f2c) )
5910   ROM_LOAD( "am2l",         0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) )
5911   ROM_LOAD( "am2m",         0x3000, 0x0800, CRC(1d7109e9) SHA1(e0d24475547bbe5a94b45be6abefb84ad84d2534) )
5912   ROM_LOAD( "am2p",         0x3800, 0x0800, CRC(c9163ac6) SHA1(46d757180426b71c827d14a35824a248f2c787b6) )
5913
5914   ROM_REGION( 0x10000, "audiocpu", 0 )
5915   ROM_LOAD( "amidarus.5c",  0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
5916   ROM_LOAD( "amidarus.5d",  0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
5917
5918   ROM_REGION( 0x1000, "gfx1", 0 )
5919   ROM_LOAD( "2716.a6",      0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) )   /* Same graphics ROMs as Amigo */
5920   ROM_LOAD( "2716.a5",      0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
5921
5922   ROM_REGION( 0x0020, "proms", 0 )
5923   ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
5924ROM_END
5925
5926ROM_START( theend )
5927   ROM_REGION( 0x10000, "maincpu", 0 )
5928   ROM_LOAD( "ic13_1t.bin",  0x0000, 0x0800, CRC(93e555ba) SHA1(f684927cecabfbd7544f7549a6152c0a6a436019) )
5929   ROM_LOAD( "ic14_2t.bin",  0x0800, 0x0800, CRC(2de7ad27) SHA1(caf369fde632652a0a5fb11d3605f0d2386d297a) )
5930   ROM_LOAD( "ic15_3t.bin",  0x1000, 0x0800, CRC(035f750b) SHA1(5f70518e5dbfca0ba12ba4dc4f357ce8e6b27bc8) )
5931   ROM_LOAD( "ic16_4t.bin",  0x1800, 0x0800, CRC(61286b5c) SHA1(14464aa5284aecc9c6046e464ab3d13da89d8dda) )
5932   ROM_LOAD( "ic17_5t.bin",  0x2000, 0x0800, CRC(434a8f68) SHA1(3c8c099c7865997d475c096f1b1c93d88ab21543) )
5933   ROM_LOAD( "ic18_6t.bin",  0x2800, 0x0800, CRC(dc4cc786) SHA1(3311361a1eb29715aa41d61fbb3563014bd9eeb1) )
5934
5935   ROM_REGION( 0x10000, "audiocpu", 0 )
5936   ROM_LOAD( "ic56_1.bin",   0x0000, 0x0800, CRC(7a141f29) SHA1(ca483943971c8fc7f5775a8a7cc6ddd331d48170) )
5937   ROM_LOAD( "ic55_2.bin",   0x0800, 0x0800, CRC(218497c1) SHA1(3e080621f2e83909a6f304a2d960a080bccbbdc2) )
5938
5939   ROM_REGION( 0x1000, "gfx1", 0 )
5940   ROM_LOAD( "ic30_2c.bin",  0x0000, 0x0800, CRC(68ccf7bf) SHA1(a8ea784a2660f855757ae0b30cb2a33ab6f2cd59) )
5941   ROM_LOAD( "ic31_1c.bin",  0x0800, 0x0800, CRC(4a48c999) SHA1(f1abcbfc3146a18dc3ff865e3ba278377a42a875) )
5942
5943   ROM_REGION( 0x0020, "proms", 0 )
5944   ROM_LOAD( "6331-1j.86",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
5945ROM_END
5946
5947ROM_START( theends )
5948   ROM_REGION( 0x10000, "maincpu", 0 )
5949   ROM_LOAD( "ic13",         0x0000, 0x0800, CRC(90e5ab14) SHA1(b926801ab1cc1e2787a76ced6c7cffd6fce753d4) )
5950   ROM_LOAD( "ic14",         0x0800, 0x0800, CRC(950f0a07) SHA1(bde9f3c6cf060dc6f5b7652287b94e04bed7bcf7) )
5951   ROM_LOAD( "ic15",         0x1000, 0x0800, CRC(6786bcf5) SHA1(7556d3dc51d6a112b6357b8a36df05fd1a4d1cc9) )
5952   ROM_LOAD( "ic16",         0x1800, 0x0800, CRC(380a0017) SHA1(3354eb328a32537f722fe8a0949ddcab6cf21eb8) )
5953   ROM_LOAD( "ic17",         0x2000, 0x0800, CRC(af067b7f) SHA1(855c6ddf29fbfea004c7143fe29064abf53801ad) )
5954   ROM_LOAD( "ic18",         0x2800, 0x0800, CRC(a0411b93) SHA1(d644968758a1b73d13e09b24d24bfec82276e8f4) )
5955
5956   ROM_REGION( 0x10000, "audiocpu", 0 )
5957   ROM_LOAD( "ic56",         0x0000, 0x0800, CRC(3b2c2f70) SHA1(bcccdacacfc9a3b5f1412dfba6bb0046d283bccc) )
5958   ROM_LOAD( "ic55",         0x0800, 0x0800, CRC(e0429e50) SHA1(27678fc3172cbca3ae1eae96e9d8a62561d5ce40) )
5959
5960   ROM_REGION( 0x1000, "gfx1", 0 )
5961   ROM_LOAD( "ic30",         0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) )
5962   ROM_LOAD( "ic31",         0x0800, 0x0800, CRC(af6d09b6) SHA1(f3ad51dc88aa58fd39195ead978b039e0b0b585c) )
5963
5964   ROM_REGION( 0x0020, "proms", 0 )
5965   ROM_LOAD( "6331-1j.86",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
5966ROM_END
5967
5968ROM_START( theendb )
5969   ROM_REGION( 0x10000, "maincpu", 0 )
5970   ROM_LOAD( "0p.t.o.10l",   0x0000, 0x1000, CRC(46712d43) SHA1(e1b84494b530dd96d8a51a3f8bd7d7d3ba7560a9) )
5971   ROM_LOAD( "1p.t.o.9l",    0x1000, 0x1000, CRC(10256742) SHA1(3748bf82e410ba763cc10a546b566f1d9efb8307) )
5972   ROM_LOAD( "2p.t.o.8l",    0x2000, 0x1000, CRC(5ee6660a) SHA1(092d5da074c15743e619e3d9e0b5f5bd16ea7159) )
5973
5974   ROM_REGION( 0x10000, "audiocpu", 0 )
5975   ROM_LOAD( "0s.t.o.3b",    0x0000, 0x1000, CRC(cdc9da78) SHA1(b52d5b67b8e0dfb76216d7b3e6e51a027ef4b20e) )
5976
5977   ROM_REGION( 0x1000, "gfx1", 0 )
5978   ROM_LOAD( "ic30",         0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) ) // 0gc.t.o.5h
5979   ROM_LOAD( "ic31",         0x0800, 0x0800, CRC(af6d09b6) SHA1(f3ad51dc88aa58fd39195ead978b039e0b0b585c) ) // 1gc.t.o.3h
5980
5981   ROM_REGION( 0x0020, "proms", 0 )
5982   ROM_LOAD( "6331-1j.86",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
5983ROM_END
5984
5985
5986ROM_START( scramble )
5987   ROM_REGION( 0x10000, "maincpu", 0 )
5988   ROM_LOAD( "s1.2d",        0x0000, 0x0800, CRC(ea35ccaa) SHA1(1dcb375987fe21e0483c27d485c405de53848d61) )
5989   ROM_LOAD( "s2.2e",        0x0800, 0x0800, CRC(e7bba1b3) SHA1(240877576045fddcc9ff01d97dc78139454ac4f1) )
5990   ROM_LOAD( "s3.2f",        0x1000, 0x0800, CRC(12d7fc3e) SHA1(a84d191c7be8700f630a83ddad798be9e83b5d55) )
5991   ROM_LOAD( "s4.2h",        0x1800, 0x0800, CRC(b59360eb) SHA1(5d155808c19dcf2e14aa8e29c0ee41a6d3d3c43a) )
5992   ROM_LOAD( "s5.2j",        0x2000, 0x0800, CRC(4919a91c) SHA1(9cb5861c61e4783e5fbaa3869d51195f127b1129) )
5993   ROM_LOAD( "s6.2l",        0x2800, 0x0800, CRC(26a4547b) SHA1(67c0fa81729370631647b5d78bb5a61433facd7f) )
5994   ROM_LOAD( "s7.2m",        0x3000, 0x0800, CRC(0bb49470) SHA1(05a6fe3010c2136284ca76352dac147797c79778) )
5995   ROM_LOAD( "s8.2p",        0x3800, 0x0800, CRC(6a5740e5) SHA1(e3b09141cee26857d626412e9d1a0e759469b97a) )
5996
5997   ROM_REGION( 0x10000, "audiocpu", 0 )
5998   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
5999   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6000   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6001
6002   ROM_REGION( 0x1000, "gfx1", 0 )
6003   ROM_LOAD( "c2.5f",        0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6004   ROM_LOAD( "c1.5h",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6005
6006   ROM_REGION( 0x0020, "proms", 0 )
6007   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6008ROM_END
6009
6010ROM_START( scrambles )
6011   ROM_REGION( 0x10000, "maincpu", 0 )
6012   ROM_LOAD( "2d(__scrambles)",           0x0000, 0x0800, CRC(b89207a1) SHA1(5422df979e82bcc73df49f50515fe76c126c037b) )
6013   ROM_LOAD( "2e(__scrambles)",           0x0800, 0x0800, CRC(e9b4b9eb) SHA1(a8ee9ddfadf5e9accedfaf81da757a88a2e55a0a) )
6014   ROM_LOAD( "2f(__scrambles)",           0x1000, 0x0800, CRC(a1f14f4c) SHA1(3eae2b3e4596505a8afb5c5cfb108e823c2c4319) )
6015   ROM_LOAD( "2h(__scrambles)",           0x1800, 0x0800, CRC(591bc0d9) SHA1(170f9e92f0a3bee04407be27210b4fa825367688) )
6016   ROM_LOAD( "2j(__scrambles)",           0x2000, 0x0800, CRC(22f11b6b) SHA1(e426ef6a7444a39a34d59799973b07d11b89f372) )
6017   ROM_LOAD( "2l(__scrambles)",           0x2800, 0x0800, CRC(705ffe49) SHA1(174df3f281068c767344f751daace646360e26d6) )
6018   ROM_LOAD( "2m(__scrambles)",           0x3000, 0x0800, CRC(ea26c35c) SHA1(a2f3380982d93a022f46756f974fd16c4cd617de) )
6019   ROM_LOAD( "2p(__scrambles)",           0x3800, 0x0800, CRC(94d8f5e3) SHA1(f3a9c4d1d91836476fcad87ea0d243dde7171e0a) )
6020
6021   ROM_REGION( 0x10000, "audiocpu", 0 )
6022   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
6023   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6024   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6025
6026   ROM_REGION( 0x1000, "gfx1", 0 )
6027   ROM_LOAD( "5f",           0x0000, 0x0800, CRC(5f30311a) SHA1(d64134089bebd995b3a1a089411e180c8c29f32d) )
6028   ROM_LOAD( "5h",           0x0800, 0x0800, CRC(516e029e) SHA1(81b44eb1ce43cebde87f0a41ade2e7eb291af78d) )
6029
6030   ROM_REGION( 0x0020, "proms", 0 )
6031   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6032ROM_END
6033
6034ROM_START( scrambles2 )
6035   ROM_REGION( 0x10000, "maincpu", 0 )
6036   ROM_LOAD( "2d",           0x0000, 0x0800, CRC(defae436) SHA1(b32f709069d2484275c88482f865f2758865729e) )
6037   ROM_LOAD( "2e",           0x0800, 0x0800, CRC(136bf894) SHA1(ecb4c245bdceedd1151707b05c2036941302776b) )
6038   ROM_LOAD( "2f",           0x1000, 0x0800, CRC(539ff711) SHA1(21b8cdbeebedd9436e88037fb3a01ae9ef7cd4d1) )
6039   ROM_LOAD( "2h",           0x1800, 0x0800, CRC(b59360eb) SHA1(5d155808c19dcf2e14aa8e29c0ee41a6d3d3c43a) )
6040   ROM_LOAD( "2j",           0x2000, 0x0800, CRC(d5aefbd5) SHA1(9001d969334c5791a9157e2b3558ab5cbb27714d) )
6041   ROM_LOAD( "2l",           0x2800, 0x0800, CRC(d6f0dfc9) SHA1(5581ba9894ea9f0067466ef5c7ff99bff92581da) )
6042   ROM_LOAD( "2m",           0x3000, 0x0800, CRC(d69e0980) SHA1(b0983f39929183bafddaf5703fc613dcc9a31b63) )
6043   ROM_LOAD( "2p",           0x3800, 0x0800, CRC(4fc94e8c) SHA1(cc9ed40257a0f6001bb7e8722ce6ff909e1f0b4b) )
6044
6045   ROM_REGION( 0x10000, "audiocpu", 0 )
6046   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
6047   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6048   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6049
6050   ROM_REGION( 0x1000, "gfx1", 0 )
6051   ROM_LOAD( "5f",           0x0000, 0x0800, CRC(5f30311a) SHA1(d64134089bebd995b3a1a089411e180c8c29f32d) )
6052   ROM_LOAD( "5h",           0x0800, 0x0800, CRC(516e029e) SHA1(81b44eb1ce43cebde87f0a41ade2e7eb291af78d) )
6053
6054   ROM_REGION( 0x0020, "proms", 0 )
6055   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6056ROM_END
6057
6058ROM_START( scramblebf )
6059   ROM_REGION( 0x10000, "maincpu", 0 )
6060   ROM_LOAD( "scf1.2d",      0x0000, 0x0800, CRC(b126aa1f) SHA1(1e4db9ee891711e880273241e74e932b0f4e3a0b) )
6061   ROM_LOAD( "scf2.2e",      0x0800, 0x0800, CRC(ce25fb77) SHA1(faaa2e5735075090548217b80b736b2eebf21dff) )
6062   ROM_LOAD( "scns3.2f",     0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) )
6063   ROM_LOAD( "scns4.2h",     0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
6064   ROM_LOAD( "scns5.2j",     0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) )
6065   ROM_LOAD( "scns6.2l",     0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
6066   ROM_LOAD( "scns7.2m",     0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
6067   ROM_LOAD( "scns8.2p",     0x3800, 0x0800, CRC(75232e09) SHA1(b0da201bf05c63031cdbe9f7059e3c710557f33d) )
6068
6069   ROM_REGION( 0x10000, "audiocpu", 0 )
6070   ROM_LOAD( "ot1ns.5c",     0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
6071   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6072   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6073
6074   ROM_REGION( 0x1000, "gfx1", 0 )
6075   ROM_LOAD( "c2.5f",        0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6076   ROM_LOAD( "c1.5h",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6077
6078   ROM_REGION( 0x0020, "proms", 0 ) // should be different on this bootleg..
6079   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, BAD_DUMP CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6080ROM_END
6081
6082
6083
6084
6085ROM_START( scrambp )
6086   ROM_REGION( 0x10000, "maincpu", 0 )
6087   ROM_LOAD( "b1-2716.cpu",     0x0000, 0x0800, CRC(63420017) SHA1(82e7c448297bf789033ed03cbe8fc9ac4525a826) )
6088   ROM_LOAD( "b2-2716.cpu",     0x0800, 0x0800, CRC(66ebc070) SHA1(ada52d7880185d1ac3a39c94896d5127ea05b14a) )
6089   ROM_LOAD( "b3-2716.cpu",     0x1000, 0x0800, CRC(317548fd) SHA1(687c309d476cd5fc830d90e9e6293d1dcab96df7) )
6090   ROM_LOAD( "b4-2716.cpu",     0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
6091   ROM_LOAD( "b5-2716.cpu",     0x2000, 0x0800, CRC(fa4f1a70) SHA1(9d797eaab0f19a2ed003f782716719c9d752bd56) )
6092   ROM_LOAD( "b6-2716.cpu",     0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
6093   ROM_LOAD( "b7-2716.cpu",     0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
6094   ROM_LOAD( "b8-2716.cpu",     0x3800, 0x0800, CRC(d20088ee) SHA1(4b2deb64f1185780e5b6d1527ed5f691591b9ea0) )
6095
6096   ROM_REGION( 0x10000, "audiocpu", 0 )
6097   ROM_LOAD( "b11-2716.cpu",     0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
6098   ROM_LOAD( "b12-2716.cpu",     0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6099   ROM_LOAD( "b13-2716.cpu",     0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6100
6101   ROM_REGION( 0x1000, "gfx1", 0 )
6102   ROM_LOAD( "b9-2716.cpu",         0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6103   ROM_LOAD( "b10-2716.cpu",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6104
6105   ROM_REGION( 0x0020, "proms", 0 ) // not verified
6106   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6107ROM_END
6108
6109
6110ROM_START( scrampt )
6111   ROM_REGION( 0x10000, "maincpu", 0 )
6112   ROM_LOAD( "cx8-2716.cpu",     0x0000, 0x0800, CRC(12b97cc6) SHA1(edcd98fafe1001d033a73279d6dfb8336ce164de) )
6113   ROM_LOAD( "cx4-2716.cpu",     0x0800, 0x0800, CRC(66ebc070) SHA1(ada52d7880185d1ac3a39c94896d5127ea05b14a) )
6114   ROM_LOAD( "cx9-2716.cpu",     0x1000, 0x0800, CRC(317548fd) SHA1(687c309d476cd5fc830d90e9e6293d1dcab96df7) )
6115   ROM_LOAD( "cx5-2716.cpu",     0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
6116   ROM_LOAD( "cx10-2716.cpu",    0x2000, 0x0800, CRC(fa4f1a70) SHA1(9d797eaab0f19a2ed003f782716719c9d752bd56) )
6117   ROM_LOAD( "cx6-2716.cpu",     0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
6118   ROM_LOAD( "cx11-2716.cpu",    0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
6119   ROM_LOAD( "cx7-2716.cpu",     0x3800, 0x0800, CRC(c9a6c489) SHA1(01aa49c5c75f76affcd2057afc5f9b57098a3374) )
6120
6121   ROM_REGION( 0x10000, "audiocpu", 0 )
6122   ROM_LOAD( "cx3-2716.cpu",       0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
6123   ROM_LOAD( "cx2-2716.cpu",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6124   ROM_LOAD( "cx1-2716.cpu",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6125
6126   ROM_REGION( 0x1000, "gfx1", 0 )
6127   ROM_LOAD( "cx12-2716.cpu",        0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6128   ROM_LOAD( "cx13-2716.cpu",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6129
6130   ROM_REGION( 0x0020, "proms", 0 ) // not verified
6131   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6132ROM_END
6133
6134
6135ROM_START( scramblebb ) // no PCB, just eproms...
6136   ROM_REGION( 0x10000, "maincpu", 0 )
6137   ROM_LOAD( "1",      0x0000, 0x0800, CRC(8ba174c4) SHA1(9ff48669054e4f55a19cb2d317a9d7a5e400e86c) )
6138   ROM_LOAD( "2",      0x0800, 0x0800, CRC(43cb40a4) SHA1(4e500f63a06865a5fd9a7d920eb866ea610a4d92) )
6139   ROM_LOAD( "3",      0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) )
6140   ROM_LOAD( "4",      0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
6141   ROM_LOAD( "5",      0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) )
6142   ROM_LOAD( "6",      0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
6143   ROM_LOAD( "7",      0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
6144   ROM_LOAD( "8",      0x3800, 0x0800, CRC(75232e09) SHA1(b0da201bf05c63031cdbe9f7059e3c710557f33d) )
6145
6146   ROM_REGION( 0x10000, "audiocpu", 0 )
6147   ROM_LOAD( "ot1.5c",  0x0000, 0x0800, BAD_DUMP CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )    // need proper dump
6148   ROM_LOAD( "ot2.5d",  0x0800, 0x0800, BAD_DUMP CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )    // need proper dump
6149   ROM_LOAD( "ot3.5e",  0x1000, 0x0800, BAD_DUMP CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )    // need proper dump
6150
6151   ROM_REGION( 0x1000, "gfx1", 0 )
6152   ROM_LOAD( "9",      0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6153   ROM_LOAD( "10",     0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6154
6155   ROM_REGION( 0x0020, "proms", 0 ) // should be different on this bootleg..
6156   ROM_LOAD( "c01s.6e", 0x0000, 0x0020, BAD_DUMP CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )    // need proper dump
6157ROM_END
6158
6159ROM_START( strfbomb )
6160   ROM_REGION( 0x10000, "maincpu", 0 )
6161   ROM_LOAD( "1.2c",         0x0000, 0x0800, CRC(b102aaa0) SHA1(00560da7a2ded6afcdc1d46e12cc3c795654639a) )
6162   ROM_LOAD( "2.2e",         0x0800, 0x0800, CRC(d4155703) SHA1(defd37df55536890456c29812340e0d6b4292b78) )
6163   ROM_LOAD( "3.2f",         0x1000, 0x0800, CRC(a9568c89) SHA1(0d8e6b3af92e4933814700d54acfd43407f3ede1) )
6164   ROM_LOAD( "4.2h",         0x1800, 0x0800, CRC(663b6c35) SHA1(354fb2e92f4376b20aee412ed361d59b8a2c01e1) )
6165   ROM_LOAD( "5.2j",         0x2000, 0x0800, CRC(4919a91c) SHA1(9cb5861c61e4783e5fbaa3869d51195f127b1129) )
6166   ROM_LOAD( "6.2l",         0x2800, 0x0800, CRC(4ec66ae3) SHA1(a74827e161212e9b2eddd980321507a377f1e30b) )
6167   ROM_LOAD( "7.2m",         0x3000, 0x0800, CRC(0feb0192) SHA1(45a44bde3bf1483abf95fe1d1d5066bfcb1736df) )
6168   ROM_LOAD( "8.2p",         0x3800, 0x0800, CRC(280a6142) SHA1(f17625b91eaaffa36a433be32e4e80651d94b3b9) )
6169
6170   ROM_REGION( 0x10000, "audiocpu", 0 )
6171   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
6172   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6173   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6174
6175   ROM_REGION( 0x1000, "gfx1", 0 )
6176   ROM_LOAD( "9.5f",         0x0000, 0x0800, CRC(3abeff25) SHA1(ff6de0596c849ec877fb759c1ab9c7a8ffe2edac) )
6177   ROM_LOAD( "10.5h",        0x0800, 0x0800, CRC(79ecacbe) SHA1(285cb3ee0ff8d596877bb571ea8479566ab36eb9) )
6178
6179   ROM_REGION( 0x0020, "proms", 0 )
6180   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6181ROM_END
6182
6183ROM_START( explorer )
6184   ROM_REGION( 0x10000, "maincpu", 0 )
6185   ROM_LOAD( "10l.bin",      0x0000, 0x1000, CRC(d5adf626) SHA1(f362322f780c13cee73697f9158a8ca8aa943a2e) )
6186   ROM_LOAD( "9l.bin",       0x1000, 0x1000, CRC(48e32788) SHA1(7a98848d2ed8ba5b2da28c014226109af7cc9287) )
6187   ROM_LOAD( "8l.bin",       0x2000, 0x1000, CRC(c0dbdbde) SHA1(eac7444246bdf80f97962031bf900ce09b28c8b5) )
6188   ROM_LOAD( "7l.bin",       0x3000, 0x1000, CRC(9b30d227) SHA1(22764e0a2a5ce7abe862e42c84abaaf25949575f) )
6189
6190   ROM_REGION( 0x10000, "audiocpu", 0 )
6191   ROM_LOAD( "3f.bin",       0x0000, 0x1000, CRC(9faf18cf) SHA1(1b6c65472d639753cc39031750f85efe1d31ae5e) )
6192   ROM_LOAD( "4b.bin",       0x1000, 0x0800, CRC(e910b5c3) SHA1(228e8d36dd1ac8a00a396df74b80aa6616997028) )
6193
6194   ROM_REGION( 0x1000, "gfx1", 0 )
6195   ROM_LOAD( "c2.5f",        0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
6196   ROM_LOAD( "c1.5h",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
6197
6198   ROM_REGION( 0x0020, "proms", 0 )
6199   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6200ROM_END
6201
6202
6203ROM_START( atlantis )
6204   ROM_REGION( 0x10000, "maincpu", 0 )
6205   ROM_LOAD( "2c",           0x0000, 0x0800, CRC(0e485b9a) SHA1(976f1d6f4552fbee134359a776b5688588824cbb) )
6206   ROM_LOAD( "2e",           0x0800, 0x0800, CRC(c1640513) SHA1(a0dfb34f401330b16e9e4d66ec4b49d120499606) )
6207   ROM_LOAD( "2f",           0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) )
6208   ROM_LOAD( "2h",           0x1800, 0x0800, CRC(a5d2e442) SHA1(e535d1a501ebd861ad62da70b87215fb7c23de1d) )
6209   ROM_LOAD( "2j",           0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) )
6210   ROM_LOAD( "2l",           0x2800, 0x0800, CRC(f335b96b) SHA1(17daa6d9bc916081f3c6cbdfe5b4960177dc7c9b) )
6211
6212   ROM_REGION( 0x10000, "audiocpu", 0 )
6213   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
6214   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6215   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6216
6217   ROM_REGION( 0x1000, "gfx1", 0 )
6218   ROM_LOAD( "5f",           0x0000, 0x0800, CRC(57f9c6b9) SHA1(ad0d09a6611998d093d676a9c9fe9e32b10f643e) )
6219   ROM_LOAD( "5h",           0x0800, 0x0800, CRC(e989f325) SHA1(947aee915779687deae040aeef9e9aee680aaebf) )
6220
6221   ROM_REGION( 0x0020, "proms", 0 )
6222   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6223ROM_END
6224
6225ROM_START( atlantis2 )
6226   ROM_REGION( 0x10000, "maincpu", 0 )
6227   ROM_LOAD( "rom1",         0x0000, 0x0800, CRC(ad348089) SHA1(3548b94192c451c0126e7aaecefa7137ae074cd3) )
6228   ROM_LOAD( "rom2",         0x0800, 0x0800, CRC(caa705d1) SHA1(b4aefbea21fa9608e1dae2a09ae0d31270eb8c78) )
6229   ROM_LOAD( "rom3",         0x1000, 0x0800, CRC(e420641d) SHA1(103e7590f5acbac6991d665495f933c3a68da1c8) )
6230   ROM_LOAD( "rom4",         0x1800, 0x0800, CRC(04792d90) SHA1(cb477e4b8e4538def01c10b0348f8f8e3a2a9500) )
6231   ROM_LOAD( "2j",           0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) )
6232   ROM_LOAD( "rom6",         0x2800, 0x0800, CRC(b297bd4b) SHA1(0c48da41d9cf2a3456df5b1e8bf27fa641bc643b) )
6233   ROM_LOAD( "rom7",         0x3000, 0x0800, CRC(a50bf8d5) SHA1(5bca98e1c0838d27ec66bf4b906877977b212b6d) )
6234   ROM_LOAD( "rom8",         0x3800, 0x0800, CRC(d2c5c984) SHA1(a9432f9aff8a2f5ca1d347443efc008a177d8ae0) )
6235
6236   ROM_REGION( 0x10000, "audiocpu", 0 )
6237   ROM_LOAD( "ot1.5c",       0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
6238   ROM_LOAD( "ot2.5d",       0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
6239   ROM_LOAD( "ot3.5e",       0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
6240
6241   ROM_REGION( 0x1000, "gfx1", 0 )
6242   ROM_LOAD( "rom9",         0x0000, 0x0800, CRC(55cd5acd) SHA1(b3e2ce71d4e48255d44cd451ee015a7234a108c8) )
6243   ROM_LOAD( "rom10",        0x0800, 0x0800, CRC(72e773b8) SHA1(6ce178df3bd6a4177c68761572a13a56d222c48f) )
6244
6245   ROM_REGION( 0x0020, "proms", 0 )
6246   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
6247ROM_END
6248
6249ROM_START( bomber )
6250   /* Bootleg of scramble from Alca */
6251   ROM_REGION( 0x10000, "maincpu", 0 ) /* 64k for code */
6252   ROM_LOAD( "1.3l",         0x0000, 0x0800, CRC(8c30c7c3) SHA1(39e6244ac6b6c711ab83a6953d4b0585e035dfec) )
6253   ROM_LOAD( "2.3k",         0x0800, 0x0800, CRC(1fca370c) SHA1(b48b67afe226b13656a1585a1d7ad4b6322c58a1) )
6254   ROM_LOAD( "3.3h",         0x1000, 0x0800, CRC(8a714167) SHA1(34ed01fd9e9efa5cd9067284a2b66b72cafe3209) )
6255   ROM_LOAD( "4.3f",         0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
6256   ROM_LOAD( "5.3e",         0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) )
6257   ROM_LOAD( "6.3d",         0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
6258   ROM_LOAD( "7.3c",         0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
6259   ROM_LOAD( "8.3a",         0x3800, 0x0800, CRC(75232e09) SHA1(b0da201bf05c63031cdbe9f7059e3c710557f33d) )
6260
6261   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for the audio CPU */
6262   ROM_LOAD( "11.8k",        0x0000, 0x0800, CRC(97ba15e8) SHA1(2729ccb156540ace2360b03c485865f7f97f5368) )
6263   ROM_LOAD( "12.8l",        0x0800, 0x0800, CRC(6510761d) SHA1(0df92f9f123447d59a9106b2351d680cb04d1a9e) )
6264
6265   ROM_REGION( 0x1000, "gfx1", 0 )
6266   ROM_LOAD( "c2.5f",        0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) ) // 10.4k on pcb
6267   ROM_LOAD( "c1.5h",        0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) ) // 9.4l on pcb
6268
6269   ROM_REGION( 0x0020, "proms", 0 )
6270   ROM_LOAD( "c01s.6e",      0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // q.9c on pcb
6271ROM_END
6272
6273ROM_START( scorpion )
6274   ROM_REGION( 0x10000, "maincpu", 0 )
6275   ROM_LOAD( "1.2d",         0x0000, 0x1000, CRC(ba1219b4) SHA1(33c7843dba44152a8bc3223ea0c30b13609b80ba) )
6276   ROM_LOAD( "2.2f",         0x1000, 0x1000, CRC(c3909ab6) SHA1(0bec902ae4291fa0530f4c89ad45cc7aab888b7a) )
6277   ROM_LOAD( "3.2g",         0x2000, 0x1000, CRC(43261352) SHA1(49468cbed7e0286b260eef297bd5fad0ab9fd45b) )
6278   ROM_LOAD( "4.2h",         0x3000, 0x1000, CRC(aba2276a) SHA1(42b0378f06d2bdb4faaaa95274a6c0f965716877) )
6279   ROM_LOAD( "5.2k",         0x6000, 0x0800, CRC(952f78f2) SHA1(9562037b104fc1852c2d2650209a77ffce2cb90e) )
6280   ROM_CONTINUE(             0x5800, 0x0800 )
6281
6282   ROM_REGION( 0x10000, "audiocpu", 0 )
6283   ROM_LOAD( "igr_scorpion_32_a4.ic12", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) )
6284   ROM_LOAD( "igr_scorpion_32_a5.ic13", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) )
6285
6286   ROM_REGION( 0x2000, "gfx1", 0 )
6287   ROM_LOAD( "igr_scorpion_32_f5.ic72", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
6288   ROM_LOAD( "igr_scorpion_32_h5.ic73", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
6289
6290   ROM_REGION( 0x3000, "digitalker", 0 ) /* Digitalker speech samples */
6291   ROM_LOAD( "igr_scorpion_32_a3.ic25", 0x0000, 0x1000, CRC(04abf178) SHA1(2e7f231413d9ec461ca21840f31d1d6b8b17c4d5) )
6292   ROM_LOAD( "igr_scorpion_32_a2.ic24", 0x1000, 0x1000, CRC(90352dd4) SHA1(62c261a2f2fbd8eff31d5c72cf532d5e43d86dd3) )
6293   ROM_LOAD( "igr_scorpion_32_a1.ic23", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) )
6294
6295   ROM_REGION( 0x0020, "proms", 0 )
6296   ROM_LOAD( "mmi6331_6e.ic59", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) /* BPROM type MMI 6331 */
6297ROM_END
6298
6299ROM_START( scorpiona ) /* Scorpion was developed by I.G.R. and original labels have "I.G.R. SCORPION" printed them */
6300   ROM_REGION( 0x10000, "maincpu", 0 )
6301   ROM_LOAD( "igr_scorpion_32_d2.ic109",  0x0000, 0x1000, CRC(c5b9daeb) SHA1(faf7a22013dd5f063eb8f506f3722cfd5522539a) )
6302   ROM_LOAD( "igr_scorpion_32_e2.ic110",  0x1000, 0x1000, CRC(82308d05) SHA1(26bc7c8b3ea0020fd1b93f6aaa29d82d04ae64b2) )
6303   ROM_LOAD( "igr_scorpion_32_g2.ic111",  0x2000, 0x1000, CRC(756b09cd) SHA1(9aec34e063fe8c0d1392db09daea2875d06eec46) )
6304   ROM_LOAD( "igr_scorpion_32_h2.ic112",  0x3000, 0x1000, CRC(667ad8be) SHA1(2b2dcd32d52c0173a1fd93da9a8a1ccb669c7d55) )
6305   ROM_LOAD( "igr_scorpion_16_k2.ic113",  0x5800, 0x0800, CRC(42ec34d8) SHA1(b358d10a96490f325420b992e8e03bb3884e415a) )
6306   ROM_LOAD( "igr_scorpion_16_l2.ic114",  0x6000, 0x0800, CRC(6623da33) SHA1(99110005d00c80d674bde5d21608f50b85ee488c) )
6307
6308   ROM_REGION( 0x10000, "audiocpu", 0 )
6309   ROM_LOAD( "igr_scorpion_32_a4.ic12", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) )
6310   ROM_LOAD( "igr_scorpion_32_a5.ic13", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) )
6311
6312   ROM_REGION( 0x2000, "gfx1", 0 )
6313   ROM_LOAD( "igr_scorpion_32_f5.ic72", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
6314   ROM_LOAD( "igr_scorpion_32_h5.ic73", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
6315
6316   ROM_REGION( 0x3000, "digitalker", 0 ) /* Digitalker speech samples */
6317   ROM_LOAD( "igr_scorpion_32_a3.ic25", 0x0000, 0x1000, CRC(04abf178) SHA1(2e7f231413d9ec461ca21840f31d1d6b8b17c4d5) )
6318   ROM_LOAD( "igr_scorpion_32_a2.ic24", 0x1000, 0x1000, CRC(90352dd4) SHA1(62c261a2f2fbd8eff31d5c72cf532d5e43d86dd3) )
6319   ROM_LOAD( "igr_scorpion_32_a1.ic23", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) )
6320
6321   ROM_REGION( 0x0020, "proms", 0 )
6322   ROM_LOAD( "mmi6331_6e.ic59", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) /* BPROM type MMI 6331 */
6323ROM_END
6324
6325ROM_START( scorpionb )
6326   ROM_REGION( 0x10000, "maincpu", 0 )
6327   ROM_LOAD( "ic109.2d", 0x0000, 0x1000, CRC(f54688c9) SHA1(2881d5238733353b9c277a2829d157688a87601b) )
6328   ROM_LOAD( "ic110.2e", 0x1000, 0x1000, CRC(91aaaa12) SHA1(2a5e5eb5aeec5637ee4675930f67158a969e0d5d) )
6329   ROM_LOAD( "ic111.2g", 0x2000, 0x1000, CRC(4c3720da) SHA1(5b2758c8a91f9463bf98abf2b52af946c5e90cf0) )
6330   ROM_LOAD( "ic112.2h", 0x3000, 0x1000, CRC(53e2a983) SHA1(cfe272055a92793de76dd1cff617b13281815485) )
6331   ROM_LOAD( "ic113.2k", 0x6000, 0x0800, CRC(e4ad299a) SHA1(712cab86eadeba9e859f7bae98eb289f00d2e217) )
6332   ROM_CONTINUE(         0x5800, 0x0800 )
6333
6334   ROM_REGION( 0x10000, "audiocpu", 0 )
6335   ROM_LOAD( "igr_scorpion_32_a4.ic12", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) ) /* missing from this set */
6336   ROM_LOAD( "igr_scorpion_32_a5.ic13", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) )
6337
6338   ROM_REGION( 0x2000, "gfx1", 0 )
6339   ROM_LOAD( "igr_scorpion_32_f5.ic72", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
6340   ROM_LOAD( "igr_scorpion_32_h5.ic73", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
6341
6342   ROM_REGION( 0x3000, "digitalker", 0 ) /* Digitalker speech samples */
6343   ROM_LOAD( "igr_scorpion_32_a3.ic25", 0x0000, 0x1000, CRC(04abf178) SHA1(2e7f231413d9ec461ca21840f31d1d6b8b17c4d5) )
6344   ROM_LOAD( "igr_scorpion_32_a2.ic24", 0x1000, 0x1000, CRC(90352dd4) SHA1(62c261a2f2fbd8eff31d5c72cf532d5e43d86dd3) )
6345   ROM_LOAD( "igr_scorpion_32_a1.ic23", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) )
6346
6347   ROM_REGION( 0x0020, "proms", 0 )
6348   ROM_LOAD( "mmi6331_6e.ic59", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) /* BPROM type MMI 6331 */
6349ROM_END
6350
6351ROM_START( scorpionmc )
6352   ROM_REGION( 0x10000, "maincpu", 0 )
6353   ROM_LOAD( "p1.bin",       0x0000, 0x0800, CRC(58818d88) SHA1(d9fbfb6fff9ba1d078c3735889b8878ab0442ded) )
6354   ROM_LOAD( "p2.bin",       0x0800, 0x0800, CRC(8bec5f9f) SHA1(78642124edbf946140f62985bafe2dca314cb257) )
6355   ROM_LOAD( "p3.bin",       0x1000, 0x0800, CRC(24b7fdff) SHA1(1382199c85af3aa101b4ca01a0b096d801bc61a6) )
6356   ROM_LOAD( "p4.bin",       0x1800, 0x0800, CRC(9082e2f0) SHA1(8e3beebca33e73901cb8c4fa0af39a299b831d32) )
6357   ROM_LOAD( "p5.bin",       0x2000, 0x0800, CRC(20387fc0) SHA1(1aa2f16fb1630e65fd8aaedd21d8e4bac343678b) )
6358   ROM_LOAD( "p6.bin",       0x2800, 0x0800, CRC(f66c48e1) SHA1(bbfd68309d1f6b6bb3ec0879c8bde80b3f30fa02) )
6359   ROM_LOAD( "p7.bin",       0x3000, 0x0800, CRC(931e34c7) SHA1(8b6c1099634b5d693faab9edf5e29b3c476c7f52) )
6360   ROM_LOAD( "p8.bin",       0x3800, 0x0800, CRC(ab5ab61d) SHA1(eb78d7dc8d424f6ed4f7cbec02485cd769bac5c6) )
6361   ROM_LOAD( "p9.bin",       0x5000, 0x1000, CRC(b551b974) SHA1(c19e61dd8b6daf808ba42fa318dfd179a020d20e) )
6362   ROM_LOAD( "p10.bin",      0x6000, 0x0800, CRC(a7bd8d20) SHA1(c8131279de58298546c5af2c34ff18116c3a2d3b) )
6363
6364   ROM_REGION( 0x2000, "gfx1", 0 )
6365   ROM_LOAD( "h.bin",        0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
6366   ROM_LOAD( "k.bin",        0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
6367
6368   ROM_REGION( 0x0020, "proms", 0 )
6369   ROM_LOAD( "mmi6331.bpr",  0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
6370ROM_END
6371
6372ROM_START( aracnis )
6373   ROM_REGION( 0x10000, "maincpu", 0 )
6374   ROM_LOAD( "00sc.bin",       0x0000, 0x1000, CRC(c7e0d6b9) SHA1(3aac51d22939da8a595237ad26fe0f06a3acfb6a) )
6375   ROM_LOAD( "01sc.bin",       0x1000, 0x1000, CRC(03eb27dc) SHA1(8dae30006c9e81ab0d2b5c5faa7257813ea00a89) )
6376   ROM_LOAD( "02sc.bin",       0x2000, 0x1000, CRC(f3d49d4f) SHA1(19f603a2bda88e51608414f2748a33b4fb6e31c1) )
6377   ROM_LOAD( "03sc.bin",       0x3000, 0x1000, CRC(0e741984) SHA1(6e2c7820bbb1834c49f312664c786b50af0cff26) )
6378   ROM_LOAD( "05sc.bin",       0x5000, 0x1000, CRC(f27ee3e4) SHA1(e034507b99705492b6a8aa34764a1e3222ba31b2) )
6379   ROM_LOAD( "06sc.bin",       0x6000, 0x0800, CRC(fdfc2c82) SHA1(6b8914d6496c216de5bf160cd798b8f6facd44d2) )
6380
6381   ROM_REGION( 0x2000, "gfx1", 0 )
6382   ROM_LOAD( "08sc.1h",        0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
6383   ROM_LOAD( "07sc.1k",        0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
6384
6385   ROM_REGION( 0x0020, "proms", 0 )
6386   // colours are wrong, but this is the prom that was on the board
6387
6388   // note: pin 13 is marked with red paint, and is not connected
6389   //  ^ this is important for getting correct colours on real hw
6390   ROM_LOAD( "mmi6331-1.6l",  0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
6391ROM_END
6392
6393ROM_START( sfx )
6394   ROM_REGION( 0x10000, "maincpu", 0 )
6395   ROM_LOAD( "sfx_b-0.1j",   0x0000, 0x1000, CRC(e5bc6952) SHA1(7bfb772418d738d3c49fd59c0bfc04590945977a) )
6396   ROM_CONTINUE(             0xe000, 0x1000             )
6397   ROM_LOAD( "1.1c",         0x1000, 0x1000, CRC(1b3c48e7) SHA1(2f245aaf9b4bb5d949aae18ee89a0be639e7b2df) )
6398   ROM_LOAD( "22.1d",        0x2000, 0x1000, CRC(ed44950d) SHA1(f8c54ff89ac461171df951d703d5571be1b8da38) )
6399   ROM_LOAD( "23.1e",        0x3000, 0x1000, CRC(f44a3ca0) SHA1(3917ea960329a06d3d0c447cb6a4ba710fb7ca92) )
6400   ROM_LOAD( "27.1a",        0x7000, 0x1000, CRC(ed86839f) SHA1(a0d8c941a6e01058eab66d5da9b49b6b5695b981) )
6401   ROM_LOAD( "24.1g",        0xc000, 0x1000, CRC(e6d7dc74) SHA1(c1e6d9598fb837775ee6550fea3cd4910572615e) )
6402   ROM_LOAD( "5.1h",         0xd000, 0x1000, CRC(d1e8d390) SHA1(f8fe9f69e6500fbcf25f8151c1070d9a1a20a38c) )
6403
6404   ROM_REGION( 0x10000, "audiocpu", 0 )
6405   ROM_LOAD( "5.5j",         0x0000, 0x1000, CRC(59028fb6) SHA1(94105b5b03c81a948a409f7ea20312bb9c79c150) )
6406   ROM_LOAD( "6.6j",         0x1000, 0x1000, CRC(5427670f) SHA1(ffc3f7186d0319f0fd7ed25eb97bb0db7bc107c6) )
6407
6408   ROM_REGION( 0x10000, "audio2", 0 )
6409   ROM_LOAD( "1.1j",         0x0000, 0x1000, CRC(2f172c58) SHA1(4706d55fcfad4d5a87d96a0a0187f59997ef9720) )
6410   ROM_LOAD( "2.2j",         0x1000, 0x1000, CRC(a6ad2f6b) SHA1(14d1a93e507c349b14a1b26408cce23f089fa33c) )
6411   ROM_LOAD( "3.3j",         0x2000, 0x1000, CRC(fa1274fa) SHA1(e98cb602b265b209eaa4a9b3972e47c869ff863b) )
6412   ROM_LOAD( "4.4j",         0x3000, 0x1000, CRC(1cd33f3a) SHA1(cf9248fd6cb56ec81d354afe032a2dea810e834b) )
6413   ROM_LOAD( "10.3h",        0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) )
6414   ROM_LOAD( "11.4h",        0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) )
6415
6416   ROM_REGION( 0x2000, "gfx1", 0 )
6417   ROM_LOAD( "28.5a",        0x0000, 0x1000, CRC(d73a8252) SHA1(59d14f41f1a806f98ee33596b84fe5aefe606944) )
6418   ROM_LOAD( "29.5c",        0x1000, 0x1000, CRC(1401ccf2) SHA1(5762eafd9f402330e1d4ac677f46595087716c47) )
6419
6420   ROM_REGION( 0x0020, "proms", 0 )
6421   ROM_LOAD( "6331.9g",      0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) )
6422ROM_END
6423
6424ROM_START( skelagon )
6425   ROM_REGION( 0x10000, "maincpu", 0 )
6426   /* first half of 36.bin is missing */
6427   ROM_LOAD( "31.bin",       0x1000, 0x1000, CRC(ae6f8647) SHA1(801e88b91c204f2797e5ce45390ea6eec27a3f54) )
6428   ROM_LOAD( "32.bin",       0x2000, 0x1000, CRC(a28c5838) SHA1(0a37de7986c494d1522ce76635dd1fa6d03f05c7) )
6429   ROM_LOAD( "33.bin",       0x3000, 0x1000, CRC(32f7e99c) SHA1(2718063a77eeeb8067a9cad7ff3d9e0266b61566) )
6430   ROM_LOAD( "37.bin",       0x7000, 0x1000, CRC(47f68a31) SHA1(6e15024f67c88a733ede8702d2a80ddb1892b27e) )
6431   ROM_LOAD( "24.bin",       0xc000, 0x1000, CRC(e6d7dc74) SHA1(c1e6d9598fb837775ee6550fea3cd4910572615e) )
6432   ROM_LOAD( "35.bin",       0xd000, 0x1000, CRC(5b2a0158) SHA1(66d2fb05a8daaa86bb547b4860d5bf27b4359326) )
6433   ROM_LOAD( "36.bin",       0xe000, 0x1000, BAD_DUMP CRC(f53ead29) SHA1(f8957b0c0558acc005f418adbfeb66d1d562c9ac) )
6434
6435   ROM_REGION( 0x10000, "audiocpu", 0 )
6436   ROM_LOAD( "5.5j",         0x0000, 0x1000, CRC(59028fb6) SHA1(94105b5b03c81a948a409f7ea20312bb9c79c150) )
6437   ROM_LOAD( "6.6j",         0x1000, 0x1000, CRC(5427670f) SHA1(ffc3f7186d0319f0fd7ed25eb97bb0db7bc107c6) )
6438
6439   ROM_REGION( 0x10000, "audio2", 0 )
6440   ROM_LOAD( "1.1j",         0x0000, 0x1000, CRC(2f172c58) SHA1(4706d55fcfad4d5a87d96a0a0187f59997ef9720) )
6441   ROM_LOAD( "2.2j",         0x1000, 0x1000, CRC(a6ad2f6b) SHA1(14d1a93e507c349b14a1b26408cce23f089fa33c) )
6442   ROM_LOAD( "3.3j",         0x2000, 0x1000, CRC(fa1274fa) SHA1(e98cb602b265b209eaa4a9b3972e47c869ff863b) )
6443   ROM_LOAD( "4.4j",         0x3000, 0x1000, CRC(1cd33f3a) SHA1(cf9248fd6cb56ec81d354afe032a2dea810e834b) )
6444   ROM_LOAD( "10.bin",       0x4000, 0x1000, CRC(2c719de2) SHA1(0953e96f8be1cbab3f4a8e166457c74e986a87b1) )
6445   ROM_LOAD( "8.bin",        0x5000, 0x1000, CRC(350379dd) SHA1(e979251b11d6702170dd60ffd28fc15ea737588b) )
6446
6447   ROM_REGION( 0x2000, "gfx1", 0 )
6448   ROM_LOAD( "38.bin",       0x0000, 0x1000, CRC(2fffa8b1) SHA1(6a6032f55b9fe1da209e4ed4423042efec773d4d) )
6449   ROM_LOAD( "39.bin",       0x1000, 0x1000, CRC(a854b5de) SHA1(dd038f20ee366d439f09f0c82fd6432101b3781a) )
6450
6451   ROM_REGION( 0x0020, "proms", 0 )
6452   ROM_LOAD( "6331.9g",      0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) )
6453ROM_END
6454
6455/*
6456Monster Zero
6457
6458CPU: Z80 (x3)
6459Sound: AY-3-8910 (x2)
6460Other: 8255 (x3)
6461RAM: 2114 (x2), 2114 (x2), TMM2016P, TMM314A (x4), MPB8216 (x2), MPB8216 (x2), 2114 (x2), TMM314A (x2), D2125A (x5)
6462PAL: 16R8C (protected x2)
6463PROM: 82S123
6464X1: 1431818
6465X2: 16000
6466*/
6467
6468ROM_START( monsterz )
6469   ROM_REGION( 0x10000, "maincpu", 0 )
6470   ROM_LOAD( "b-1e.a1",      0x0000, 0x1000, CRC(97886542) SHA1(01f4f9bd55f9eae28162cbb22a26f7cda22cd3f3) )
6471   ROM_LOAD( "b-2e.c1",      0x1000, 0x1000, CRC(184ffcb4) SHA1(829d6ca13773aba7c3a81e122171befbe3666110) )
6472   ROM_LOAD( "b-3e.d1",      0x2000, 0x1000, CRC(b7b10ac7) SHA1(51d544d4db456df756a95d7f1853fffed9259647) )
6473   ROM_LOAD( "b-4e.e1",      0x3000, 0x1000, CRC(fb02c736) SHA1(24466116dd07b856b1afff62b8312c67ff466b95) )
6474   ROM_LOAD( "b-5e.g1",      0xc000, 0x1000, CRC(b2788ab9) SHA1(eb1a6b41f4c7a243481bfccf2b068ce1bc292366) )
6475   ROM_LOAD( "b-6e.h1",      0xd000, 0x1000, CRC(77d7aa8d) SHA1(62aaf582ba55f7b21f6cf13b4fb6c2c54bb729f5) )
6476
6477   ROM_REGION( 0x10000, "audiocpu", 0 )
6478   ROM_LOAD( "a-1e.k1",      0x0000, 0x1000, CRC(b88ba44e) SHA1(85c141fb411d541b1e20412f5fefd18395f635ae) )
6479   ROM_LOAD( "a-2.k2",       0x1000, 0x1000, CRC(8913c94e) SHA1(6c4fe065217a234d45761f8ad4d2c4e7078a0abd) )
6480   ROM_LOAD( "a-3e.k3",      0x2000, 0x1000, CRC(a8fa5095) SHA1(5cabe5497a79a0c43e78a84ae87c824af60a2a3f) )
6481   ROM_LOAD( "a-4.k4",       0x3000, 0x1000, CRC(93f81317) SHA1(167708be94cb9a47290067a20bc5ff6f018b93b6) )
6482
6483   ROM_REGION( 0x10000, "audio2", 0 )
6484   ROM_LOAD( "a-5e.k5",      0x0000, 0x1000, CRC(b5bcdb4e) SHA1(db0965e5636e0f4e9cd4f4a7d808c413ecf733db) )
6485   ROM_LOAD( "a-6.k6",       0x1000, 0x1000, CRC(24832b2e) SHA1(2a67888e86ce1a3182303e841513ba2a07977359) )
6486   ROM_LOAD( "a-7e.k7",      0x2000, 0x1000, CRC(20ebea81) SHA1(473c688365b256d8593663ff95768f4a5bb1289d) )
6487   // 0x3000 empty ?
6488   ROM_LOAD( "a-8.k8",       0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) )
6489   ROM_LOAD( "a-9.k9",       0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) )
6490
6491   ROM_REGION( 0x2000, "gfx1", 0 )
6492   ROM_LOAD( "b-7e.a5",      0x0000, 0x1000, CRC(ddd4158d) SHA1(9701e2d8a0226455dfbed650e58bb4be05918fe8) )
6493   ROM_LOAD( "b-8e.c5",      0x1000, 0x1000, CRC(b1331b4c) SHA1(fa1af406ecd6919b4846aea68d3edb70106f9273) )
6494
6495   ROM_REGION( 0x0020, "proms", 0 )
6496   ROM_LOAD( "prom.g9",      0x0000, 0x0020, CRC(b7ea00d7) SHA1(f658c6ac8123ae1e6b68ae513cc02c4d9d2b4e47) )
6497ROM_END
6498
6499
6500ROM_START( scobra )
6501   ROM_REGION( 0x10000, "maincpu", 0 )
6502   ROM_LOAD( "epr1265.2c",   0x0000, 0x1000, CRC(a0744b3f) SHA1(8949298a04f8ba8a82d5d84a7b012a0e7cff11df) )
6503   ROM_LOAD( "2e",           0x1000, 0x1000, CRC(8e7245cd) SHA1(281504ff364c3ddbf901c92729b139afd93b9785) )
6504   ROM_LOAD( "epr1267.2f",   0x2000, 0x1000, CRC(47a4e6fb) SHA1(01775ad11dc23469649539ee8fb8a5800df031c6) )
6505   ROM_LOAD( "2h",           0x3000, 0x1000, CRC(7244f21c) SHA1(f5fff565ed3f6c5f277a4db53c9f569813fcec1d) )
6506   ROM_LOAD( "epr1269.2j",   0x4000, 0x1000, CRC(e1f8a801) SHA1(2add8270352d6596052d3ff22c891ceccaa92071) )
6507   ROM_LOAD( "2l",           0x5000, 0x1000, CRC(d52affde) SHA1(5681771ed51d504bdcc2999fcbf926a30b137828) )
6508
6509   ROM_REGION( 0x10000, "audiocpu", 0 )
6510   ROM_LOAD( "5c",           0x0000, 0x0800, CRC(d4346959) SHA1(5eab4505beb69a5bdd88b23db60e1193371250cf) )
6511   ROM_LOAD( "5d",           0x0800, 0x0800, CRC(cc025d95) SHA1(2b0784c4d05c466e0b7648f16e14f34393d792c3) )
6512   ROM_LOAD( "5e",           0x1000, 0x0800, CRC(1628c53f) SHA1(ec79a73e4a2d7373454b227dd7eff255f1cc60cc) )
6513
6514   ROM_REGION( 0x1000, "gfx1", 0 )
6515   ROM_LOAD( "epr1274.5h",   0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
6516   ROM_LOAD( "epr1273.5f",   0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
6517
6518   ROM_REGION( 0x0020, "proms", 0 )
6519   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6520ROM_END
6521
6522ROM_START( scobrase )
6523   ROM_REGION( 0x10000, "maincpu", 0 )
6524   ROM_LOAD( "epr1265.2c",   0x0000, 0x1000, CRC(a0744b3f) SHA1(8949298a04f8ba8a82d5d84a7b012a0e7cff11df) )
6525   ROM_LOAD( "epr1266.2e",   0x1000, 0x1000, CRC(65306279) SHA1(f6e10d57c9b88e3fcd7333f76708e190a97b4faa) )
6526   ROM_LOAD( "epr1267.2f",   0x2000, 0x1000, CRC(47a4e6fb) SHA1(01775ad11dc23469649539ee8fb8a5800df031c6) )
6527   ROM_LOAD( "epr1268.2h",   0x3000, 0x1000, CRC(53eecaf2) SHA1(08ca34097f63af8ab69b1d836a12a8bd4d42e4a2) )
6528   ROM_LOAD( "epr1269.2j",   0x4000, 0x1000, CRC(e1f8a801) SHA1(2add8270352d6596052d3ff22c891ceccaa92071) )
6529   ROM_LOAD( "epr1270.2l",   0x5000, 0x1000, CRC(f7709710) SHA1(dff9ae72ba00a98d4f5acdd6d506e3d7add6b2c6) )
6530
6531   ROM_REGION( 0x10000, "audiocpu", 0 )
6532   ROM_LOAD( "epr1275.5c",   0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) )
6533   ROM_LOAD( "epr1276.5d",   0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) )
6534   ROM_LOAD( "epr1277.5e",   0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) )
6535
6536   ROM_REGION( 0x1000, "gfx1", 0 )
6537   ROM_LOAD( "epr1274.5h",   0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
6538   ROM_LOAD( "epr1273.5f",   0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
6539
6540   ROM_REGION( 0x0020, "proms", 0 )
6541   ROM_LOAD( "pr1278.6e",    0x0000, 0x0020, CRC(fd35c561) SHA1(590f60beb443dd689c890c37cc100e0b936bf8c9) )
6542ROM_END
6543
6544ROM_START( scobras )
6545   ROM_REGION( 0x10000, "maincpu", 0 )
6546   ROM_LOAD( "scobra2c.bin", 0x0000, 0x1000, CRC(e15ade38) SHA1(21cf26d1781d133fa336d275d8a61d3f95d10b77) )
6547   ROM_LOAD( "scobra2e.bin", 0x1000, 0x1000, CRC(a270e44d) SHA1(8b7307af458b9cd3c45bb72b35e682d6d109ed01) )
6548   ROM_LOAD( "scobra2f.bin", 0x2000, 0x1000, CRC(bdd70346) SHA1(bda0dc5777233a86a3a0aceb6eded45145057ba8) )
6549   ROM_LOAD( "scobra2h.bin", 0x3000, 0x1000, CRC(dca5ec31) SHA1(50073d44ccef76a3c36c73a6ed4479127f2c98ee) )
6550   ROM_LOAD( "scobra2j.bin", 0x4000, 0x1000, CRC(0d8f6b6e) SHA1(0ca0096cd55cdb87d14cb7f4c7c7b853ec1661c7) )
6551   ROM_LOAD( "scobra2l.bin", 0x5000, 0x1000, CRC(6f80f3a9) SHA1(817d212454c5eb16c5d7471d2ccefc4f8708d57f) )
6552
6553   ROM_REGION( 0x10000, "audiocpu", 0 )
6554   ROM_LOAD( "epr1275.5c",   0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) )
6555   ROM_LOAD( "epr1276.5d",   0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) )
6556   ROM_LOAD( "epr1277.5e",   0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) )
6557
6558   ROM_REGION( 0x1000, "gfx1", 0 )
6559   ROM_LOAD( "epr1274.5h",   0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
6560   ROM_LOAD( "epr1273.5f",   0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
6561
6562   ROM_REGION( 0x0020, "proms", 0 )
6563   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6564ROM_END
6565
6566ROM_START( scobrab )
6567   ROM_REGION( 0x10000, "maincpu", 0 )
6568   ROM_LOAD( "vid_2c.bin",   0x0000, 0x0800, CRC(aeddf391) SHA1(87632469e943cfe38a9676de5e8ed839a63c5da2) )
6569   ROM_LOAD( "vid_2e.bin",   0x0800, 0x0800, CRC(72b57eb7) SHA1(978d0acbfccb7c1edddb073ad9417d4cbd9b7e63) )
6570   ROM_LOAD( "scobra2e.bin", 0x1000, 0x1000, CRC(a270e44d) SHA1(8b7307af458b9cd3c45bb72b35e682d6d109ed01) )
6571   ROM_LOAD( "scobra2f.bin", 0x2000, 0x1000, CRC(bdd70346) SHA1(bda0dc5777233a86a3a0aceb6eded45145057ba8) )
6572   ROM_LOAD( "scobra2h.bin", 0x3000, 0x1000, CRC(dca5ec31) SHA1(50073d44ccef76a3c36c73a6ed4479127f2c98ee) )
6573   ROM_LOAD( "scobra2j.bin", 0x4000, 0x1000, CRC(0d8f6b6e) SHA1(0ca0096cd55cdb87d14cb7f4c7c7b853ec1661c7) )
6574   ROM_LOAD( "scobra2l.bin", 0x5000, 0x1000, CRC(6f80f3a9) SHA1(817d212454c5eb16c5d7471d2ccefc4f8708d57f) )
6575
6576   ROM_REGION( 0x10000, "audiocpu", 0 )
6577   ROM_LOAD( "epr1275.5c",   0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) ) /* snd_5c.bin */
6578   ROM_LOAD( "epr1276.5d",   0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) ) /* snd_5d.bin */
6579   ROM_LOAD( "epr1277.5e",   0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) ) /* snd_5e.bin */
6580
6581   ROM_REGION( 0x1000, "gfx1", 0 )
6582   ROM_LOAD( "epr1274.5h",   0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
6583   ROM_LOAD( "epr1273.5f",   0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
6584
6585   ROM_REGION( 0x0020, "proms", 0 )
6586   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6587ROM_END
6588
6589ROM_START( suprheli )
6590   /* this is a bootleg of Super Cobra */
6591   ROM_REGION( 0x10000, "maincpu", 0 )
6592   ROM_LOAD( "1.2c",         0x0000, 0x1000, CRC(b25141d8) SHA1(9df638ad2c482cc7d8b8c8b61c9f8872bfaff4d5) )
6593   ROM_LOAD( "scobra2e.bin", 0x1000, 0x1000, CRC(a270e44d) SHA1(8b7307af458b9cd3c45bb72b35e682d6d109ed01) ) /* labeled "2" */
6594   ROM_LOAD( "scobra2f.bin", 0x2000, 0x1000, CRC(bdd70346) SHA1(bda0dc5777233a86a3a0aceb6eded45145057ba8) ) /* labeled "3" */
6595   ROM_LOAD( "scobra2h.bin", 0x3000, 0x1000, CRC(dca5ec31) SHA1(50073d44ccef76a3c36c73a6ed4479127f2c98ee) ) /* labeled "4" */
6596   ROM_LOAD( "scobra2j.bin", 0x4000, 0x1000, CRC(0d8f6b6e) SHA1(0ca0096cd55cdb87d14cb7f4c7c7b853ec1661c7) ) /* labeled "5" */
6597   ROM_LOAD( "6.2l",         0x5000, 0x1000, CRC(10a474d9) SHA1(3ba7ea791ab7b97bb4276550591812134f891708) )
6598
6599   ROM_REGION( 0x10000, "audiocpu", 0 )
6600   ROM_LOAD( "epr1275.5c",   0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) ) /* all the rom stickers are reflective and have white printing, except this one has green and was labeled "10" and is at position 11D */
6601   ROM_LOAD( "epr1276.5d",   0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) ) /* also labeled "10" but in white and is at position 10D */
6602   ROM_LOAD( "9.9d",         0x1000, 0x0800, CRC(2b69b8f3) SHA1(89ed25e7295eff63b53046b78fcb7f6e78796873) )
6603
6604   ROM_REGION( 0x1000, "gfx1", 0 )
6605   ROM_LOAD( "epr1274.5h",   0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) ) /* labeled "7" and is at position 5F, not H */
6606   ROM_LOAD( "epr1273.5f",   0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) ) /* labeled "8" and is at position 5H, not F */
6607
6608   ROM_REGION( 0x0020, "proms", 0 )
6609   ROM_LOAD( "k.6e",         0x0000, 0x0020, CRC(fd35c561) SHA1(590f60beb443dd689c890c37cc100e0b936bf8c9) ) /* this dump matches the prom from scobrase, it was labeled "K" with a marker here at 6E */
6610ROM_END
6611
6612
6613ROM_START( moonwar )
6614   ROM_REGION( 0x10000, "maincpu", 0 )
6615   ROM_LOAD( "mw2.2c",       0x0000, 0x1000, CRC(7c11b4d9) SHA1(a27bdff6ce728647ec811df843ac235c32c293d6) )
6616   ROM_LOAD( "mw2.2e",       0x1000, 0x1000, CRC(1b6362be) SHA1(2fbd95869146adcc0c8be1df653251fda8849e8e) )
6617   ROM_LOAD( "mw2.2f",       0x2000, 0x1000, CRC(4fd8ba4b) SHA1(3da784267a96d05f66b00626a22cb3f06211d202) )
6618   ROM_LOAD( "mw2.2h",       0x3000, 0x1000, CRC(56879f0d) SHA1(d1e9932863aebc5761e71fca8d24f3c400e1250d) )
6619
6620   ROM_REGION( 0x10000, "audiocpu", 0 )
6621   ROM_LOAD( "mw2.5c",       0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) )
6622   ROM_LOAD( "mw2.5d",       0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) )
6623
6624   ROM_REGION( 0x1000, "gfx1", 0 )
6625   ROM_LOAD( "mw2.5f",       0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) )
6626   ROM_LOAD( "mw2.5h",       0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) )
6627
6628   ROM_REGION( 0x0020, "proms", 0 )
6629   ROM_LOAD( "mw2.clr",      0x0000, 0x0020, CRC(99614c6c) SHA1(f068985f3c5e0cd88551a02c32f9baeabfd50241) )
6630ROM_END
6631
6632ROM_START( moonwara )
6633   ROM_REGION( 0x10000, "maincpu", 0 )
6634   ROM_LOAD( "2c",           0x0000, 0x1000, CRC(bc20b734) SHA1(c6fe550987d0052979aad43c67aa1b9248049669) )
6635   ROM_LOAD( "2e",           0x1000, 0x1000, CRC(db6ffec2) SHA1(0fcd55b1e415e2e7041d10778052a235251f85fe) )
6636   ROM_LOAD( "2f",           0x2000, 0x1000, CRC(378931b8) SHA1(663f1eea9b0e8dc38de818df66c5211dac41c33b) )
6637   ROM_LOAD( "2h",           0x3000, 0x1000, CRC(031dbc2c) SHA1(5f2ca8b8763398bf161ee0c2c748a12d36cb40ec) )
6638
6639   ROM_REGION( 0x10000, "audiocpu", 0 )
6640   ROM_LOAD( "mw2.5c",       0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) )
6641   ROM_LOAD( "mw2.5d",       0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) )
6642
6643   ROM_REGION( 0x1000, "gfx1", 0 )
6644   ROM_LOAD( "mw2.5f",       0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) )
6645   ROM_LOAD( "mw2.5h",       0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) )
6646
6647   ROM_REGION( 0x0020, "proms", 0 )
6648   ROM_LOAD( "moonwara.clr", 0x0000, 0x0020, CRC(f58d4f58) SHA1(12a80d1edf3c80dafa0e1e3622d2a03224b62f14) )    /* olive, instead of white */
6649ROM_END
6650
6651
6652ROM_START( armorcar )
6653   ROM_REGION( 0x10000, "maincpu", 0 )
6654   ROM_LOAD( "cpu.2c",       0x0000, 0x1000, CRC(0d7bfdfb) SHA1(47791d4fc298c25d29584dfcddcd92618e3750c5) )
6655   ROM_LOAD( "cpu.2e",       0x1000, 0x1000, CRC(76463213) SHA1(86dbbed25325cc8855c1eb39bbb11b0473b7f4b5) )
6656   ROM_LOAD( "cpu.2f",       0x2000, 0x1000, CRC(2cc6d5f0) SHA1(94abb33760aed206f0f90f035fe2977c1f2e26cf) )
6657   ROM_LOAD( "cpu.2h",       0x3000, 0x1000, CRC(61278dbb) SHA1(e12cd6c499af75f77e549499093fe6d2e8eddb1d) )
6658   ROM_LOAD( "cpu.2j",       0x4000, 0x1000, CRC(fb158d8c) SHA1(efa70e92c56678d4a404a96c72cfee317b15648c) )
6659
6660   ROM_REGION( 0x10000, "audiocpu", 0 )
6661   ROM_LOAD( "sound.5c",     0x0000, 0x0800, CRC(54ee7753) SHA1(3ebfa2cadf33acb4d24aa50cfa4713355cc780a3) )
6662   ROM_LOAD( "sound.5d",     0x0800, 0x0800, CRC(5218fec0) SHA1(c8f84f1e6aafc544e5acf48b245e8b1edb63211e) )
6663
6664   ROM_REGION( 0x1000, "gfx1", 0 )
6665   ROM_LOAD( "cpu.5f",       0x0000, 0x0800, CRC(8a3da4d1) SHA1(4d2ef48aeb9099fdd145e11e2485e0bf8d87290d) )
6666   ROM_LOAD( "cpu.5h",       0x0800, 0x0800, CRC(85bdb113) SHA1(f62da0ea0c29feb10d8d1ce8de28fd750a53b40a) )
6667
6668   ROM_REGION( 0x0020, "proms", 0 )
6669   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6670ROM_END
6671
6672ROM_START( armorcar2 )
6673   ROM_REGION( 0x10000, "maincpu", 0 )
6674   ROM_LOAD( "2c",           0x0000, 0x1000, CRC(e393bd2f) SHA1(6a5079d1f5d724e5f643cbc5352fc43d0b652e05) )
6675   ROM_LOAD( "2e",           0x1000, 0x1000, CRC(b7d443af) SHA1(1ce41e11a7fcfd039fbff03c4382ae29b601ed50) )
6676   ROM_LOAD( "2g",           0x2000, 0x1000, CRC(e67380a4) SHA1(a9a87e769d1ef223ae26241e9211c97b3d469656) )
6677   ROM_LOAD( "2h",           0x3000, 0x1000, CRC(72af7b37) SHA1(c9cd0a0a3e34fc7b12822f75eb511f0850703f55) )
6678   ROM_LOAD( "2j",           0x4000, 0x1000, CRC(e6b0dd7f) SHA1(98292fea03bff028ba924a49f0bfa49377018860) )
6679
6680   ROM_REGION( 0x10000, "audiocpu", 0 )
6681   ROM_LOAD( "sound.5c",     0x0000, 0x0800, CRC(54ee7753) SHA1(3ebfa2cadf33acb4d24aa50cfa4713355cc780a3) )
6682   ROM_LOAD( "sound.5d",     0x0800, 0x0800, CRC(5218fec0) SHA1(c8f84f1e6aafc544e5acf48b245e8b1edb63211e) )
6683
6684   ROM_REGION( 0x1000, "gfx1", 0 )
6685   ROM_LOAD( "cpu.5f",       0x0000, 0x0800, CRC(8a3da4d1) SHA1(4d2ef48aeb9099fdd145e11e2485e0bf8d87290d) )
6686   ROM_LOAD( "cpu.5h",       0x0800, 0x0800, CRC(85bdb113) SHA1(f62da0ea0c29feb10d8d1ce8de28fd750a53b40a) )
6687
6688   ROM_REGION( 0x0020, "proms", 0 )
6689   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6690ROM_END
6691
6692
6693ROM_START( tazmania )
6694   ROM_REGION( 0x10000, "maincpu", 0 )
6695   ROM_LOAD( "2c.cpu",       0x0000, 0x1000, CRC(932c5a06) SHA1(f90040a12f579a05cb91eacbe49dae9b2c725592) )
6696   ROM_LOAD( "2e.cpu",       0x1000, 0x1000, CRC(ef17ce65) SHA1(e1372886a4a2ae58278772f49b4f3be35e0b65d1) )
6697   ROM_LOAD( "2f.cpu",       0x2000, 0x1000, CRC(43c7c39d) SHA1(3cfe97009e3c9236b118fa1beadc50f41584bd7e) )
6698   ROM_LOAD( "2h.cpu",       0x3000, 0x1000, CRC(be829694) SHA1(3885c95ae1704e7a472139740b87fc8dd9610e07) )
6699   ROM_LOAD( "2j.cpu",       0x4000, 0x1000, CRC(6e197271) SHA1(231141a95e4dcb54d8bbee346825702e52824c42) )
6700   ROM_LOAD( "2k.cpu",       0x5000, 0x1000, CRC(a1eb453b) SHA1(50ddfd1dd8cc8c2cde97e52d4ef90e6d10e27a53) )
6701
6702   ROM_REGION( 0x10000, "audiocpu", 0 )
6703   ROM_LOAD( "rom0.snd",     0x0000, 0x0800, CRC(b8d741f1) SHA1(a1bb8a1e0d6b34111f05c539c8e92fffacf5aa5c) )
6704
6705   ROM_REGION( 0x1000, "gfx1", 0 )
6706   ROM_LOAD( "5f.cpu",       0x0000, 0x0800, CRC(2c5b612b) SHA1(32e3a41a9a4a8b1285b6a195213ff0d98012360a) )
6707   ROM_LOAD( "5h.cpu",       0x0800, 0x0800, CRC(3f5ff3ac) SHA1(bc70eef54a45b52c14e35464e5f06b5eec554eb6) )
6708
6709   ROM_REGION( 0x0020, "proms", 0 )
6710   ROM_LOAD( "colr6f.cpu",   0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
6711ROM_END
6712
6713
6714ROM_START( anteater )
6715   ROM_REGION( 0x10000, "maincpu", 0 )
6716   ROM_LOAD( "ra1-2c",       0x0000, 0x1000, CRC(58bc9393) SHA1(7122782a69ef0d2196ec16833f229b6286802668) )
6717   ROM_LOAD( "ra1-2e",       0x1000, 0x1000, CRC(574fc6f6) SHA1(a1a213d215fe8502edf22383c3a6fb7c9b279d94) )
6718   ROM_LOAD( "ra1-2f",       0x2000, 0x1000, CRC(2f7c1fe5) SHA1(4cea7e66a85766a9cf9846bb5bc1ca4e6ee1f4e2) )
6719   ROM_LOAD( "ra1-2h",       0x3000, 0x1000, CRC(ae8a5da3) SHA1(1893d8293b25431d080b89f5b0874440d14e8d17) )
6720
6721   ROM_REGION( 0x10000, "audiocpu", 0 )
6722   ROM_LOAD( "ra4-5c",       0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
6723   ROM_LOAD( "ra4-5d",       0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
6724
6725   ROM_REGION( 0x1000, "gfx1", 0 )
6726   ROM_LOAD( "ra6-5f",       0x0000, 0x0800, CRC(4c3f8a08) SHA1(3152eef64903be1a82f09764821a3654f316197d) )
6727   ROM_LOAD( "ra6-5h",       0x0800, 0x0800, CRC(b30c7c9f) SHA1(d4ae040d1fd7e5a5d08c2f6968735c551119c207) )
6728
6729   ROM_REGION( 0x0020, "proms", 0 )
6730   ROM_LOAD( "colr6f.cpu",   0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
6731ROM_END
6732
6733
6734ROM_START( anteateruk )
6735   ROM_REGION( 0x10000, "maincpu", 0 )
6736   ROM_LOAD( "ant1.bin",     0x0000, 0x0400, CRC(69debc90) SHA1(2ad4c86a1cbaf86d0b76bb07b885f61bc6604009) )
6737   ROM_CONTINUE(             0x4600, 0x0a00 )
6738   ROM_CONTINUE(             0x6400, 0x1200 )
6739   ROM_LOAD( "ant2.bin",     0x7600, 0x0500, CRC(ab352805) SHA1(858928f2b57c324a7942c13e0e6a7717a36f6ffc) )
6740   ROM_CONTINUE(             0x8300, 0x1600 )
6741   ROM_CONTINUE(             0xa300, 0x0500 )
6742
6743   ROM_REGION( 0x10000, "audiocpu", 0 )
6744   ROM_LOAD( "ra4-5c",       0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
6745   ROM_LOAD( "ra4-5d",       0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
6746
6747   ROM_REGION( 0x1000, "gfx1", 0 )
6748   ROM_LOAD( "gfx_1.bin",    0x0000, 0x0800, CRC(1e2824b1) SHA1(9527937db618505181f4d5a22bc532977a767232) )
6749   ROM_LOAD( "gfx_2.bin",    0x0800, 0x0800, CRC(784319b3) SHA1(0c3612a428d0906b07b35782cc0f84fda13aab73) )
6750
6751   ROM_REGION( 0x0020, "proms", 0 )
6752   ROM_LOAD( "colr6f.cpu",   0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
6753ROM_END
6754
6755
6756ROM_START( anteaterg )
6757   ROM_REGION( 0x10000, "maincpu", 0 )
6758   ROM_LOAD( "prg_2.bin",    0x0000, 0x0400, CRC(2ba793a8) SHA1(a97c96dcd55804d3b41856ece6477ec1c1e45892) )
6759   ROM_CONTINUE(             0x4600, 0x0a00 )
6760   ROM_CONTINUE(             0x6400, 0x1200 )
6761   ROM_LOAD( "prg_1.bin",    0x7600, 0x0500, CRC(7a798af5) SHA1(b4c8672c92b207a7a334dd3b78e57537b7d99b71) )
6762   ROM_CONTINUE(             0x8300, 0x1600 )
6763   ROM_CONTINUE(             0xa300, 0x0500 )
6764
6765   ROM_REGION( 0x10000, "audiocpu", 0 )
6766   ROM_LOAD( "ra4-5c",       0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
6767   ROM_LOAD( "ra4-5d",       0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
6768
6769   ROM_REGION( 0x1000, "gfx1", 0 )
6770   ROM_LOAD( "gfx_1.bin",    0x0000, 0x0800, CRC(1e2824b1) SHA1(9527937db618505181f4d5a22bc532977a767232) )
6771   ROM_LOAD( "gfx_2.bin",    0x0800, 0x0800, CRC(784319b3) SHA1(0c3612a428d0906b07b35782cc0f84fda13aab73) )
6772
6773   ROM_REGION( 0x0020, "proms", 0 )
6774   ROM_LOAD( "colr6f.cpu",   0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
6775ROM_END
6776
6777
6778ROM_START( calipso )
6779   ROM_REGION( 0x10000, "maincpu", 0 )
6780   ROM_LOAD( "calipso.2c",   0x0000, 0x1000, CRC(0fcb703c) SHA1(2bb096f114911973afdf3088c860c9566df06f60) )
6781   ROM_LOAD( "calipso.2e",   0x1000, 0x1000, CRC(c6622f14) SHA1(475164aed703a97275ff285ecaec9d8fd4fe723b) )
6782   ROM_LOAD( "calipso.2f",   0x2000, 0x1000, CRC(7bacbaba) SHA1(d321d6d09c689123eb1e5d758d95ccecec225252) )
6783   ROM_LOAD( "calipso.2h",   0x3000, 0x1000, CRC(a3a8111b) SHA1(3d9500c676563ebfc27aebb07716e6a966f00c35) )
6784   ROM_LOAD( "calipso.2j",   0x4000, 0x1000, CRC(fcbd7b9e) SHA1(5cc1edcc8b9867bb7849c8d97d1096bb6464f562) )
6785   ROM_LOAD( "calipso.2l",   0x5000, 0x1000, CRC(f7630cab) SHA1(482ee91cccd8a7c5768a1d6a9772d797769fe2dc) )
6786
6787   ROM_REGION( 0x10000, "audiocpu", 0 )    /* 64k for sound code */
6788   ROM_LOAD( "calipso.5c",   0x0000, 0x0800, CRC(9cbc65ab) SHA1(b4ce04d18f9536c0ddd2f9c15edda75570e750e5) )
6789   ROM_LOAD( "calipso.5d",   0x0800, 0x0800, CRC(a225ee3b) SHA1(dba111f89851c69fb6fce16219cb2b0cb3294c15) )
6790
6791   ROM_REGION( 0x4000, "gfx1", 0 )
6792   ROM_LOAD( "calipso.5f",   0x0000, 0x2000, CRC(fd4252e9) SHA1(881b988cdc9b7913f577573f8a15af7a7c7cc67f) )
6793   ROM_LOAD( "calipso.5h",   0x2000, 0x2000, CRC(1663a73a) SHA1(95b6ed25b656afdfb70fac35efa2e005185e4343) )
6794
6795   ROM_REGION( 0x0020, "proms", 0 )
6796   ROM_LOAD( "calipso.clr",  0x0000, 0x0020, CRC(01165832) SHA1(bfef0459492dbd5febf3030916b6438eb6be71de) )
6797ROM_END
6798
6799
6800/*
6801    Lost Tomb
6802
6803    CPU/Sound Board: A969
6804    Video Board:     A2048
6805*/
6806
6807ROM_START( losttomb )
6808   ROM_REGION( 0x10000, "maincpu", 0 )
6809   ROM_LOAD( "2c",           0x0000, 0x1000, CRC(d6176d2c) SHA1(bc2bf63ee8d3e376f155d218704ceb5adcdf8e54) )
6810   ROM_LOAD( "2e",           0x1000, 0x1000, CRC(a5f55f4a) SHA1(3609fc2b15b6856e81738bbd370250735dba694d) )
6811   ROM_LOAD( "2f",           0x2000, 0x1000, CRC(0169fa3c) SHA1(2c06b1deca6c80d067032bfc2386da6ab0111e5f) )
6812   ROM_LOAD( "2h-easy",      0x3000, 0x1000, CRC(054481b6) SHA1(b0f5d19af0336883e4d9813e58a75c176a63a987) )
6813   ROM_LOAD( "2j",           0x4000, 0x1000, CRC(249ee040) SHA1(7297039e95e67220fa3e75fc50635f4df4c46a86) )
6814   ROM_LOAD( "2l",           0x5000, 0x1000, CRC(c7d2e608) SHA1(8aabecabd1dcd6833fb581e4571d71a680e6563a) )
6815   ROM_LOAD( "2m",           0x6000, 0x1000, CRC(bc4bc5b1) SHA1(95ffa72e57d1da10ddeda4d9333c9e0a2fb33e82) )
6816
6817   ROM_REGION( 0x10000, "audiocpu", 0 )
6818   ROM_LOAD( "5c",           0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
6819   ROM_LOAD( "5d",           0x0800, 0x0800, CRC(6907af31) SHA1(8496c8db5342129d81381eec196facbca45bca77) )
6820
6821   ROM_REGION( 0x1000, "gfx1", 0 )
6822   ROM_LOAD( "5f",           0x0000, 0x0800, CRC(61f137e7) SHA1(8bff09bc29fa829e21e6b36f7b3f67f19f6bbb26) )
6823   ROM_LOAD( "5h",           0x0800, 0x0800, CRC(5581de5f) SHA1(763dacb0d2183c159e7f1f04c7ecb1182da18abf) )
6824
6825   ROM_REGION( 0x0020, "proms", 0 )
6826   ROM_LOAD( "ltprom",       0x0000, 0x0020, CRC(1108b816) SHA1(49fdb08f8f31fefa2f3dca3d3455318cb21847a3) )
6827ROM_END
6828
6829ROM_START( losttombh )
6830   ROM_REGION( 0x10000, "maincpu", 0 )
6831   ROM_LOAD( "2c",           0x0000, 0x1000, CRC(d6176d2c) SHA1(bc2bf63ee8d3e376f155d218704ceb5adcdf8e54) )
6832   ROM_LOAD( "2e",           0x1000, 0x1000, CRC(a5f55f4a) SHA1(3609fc2b15b6856e81738bbd370250735dba694d) )
6833   ROM_LOAD( "2f",           0x2000, 0x1000, CRC(0169fa3c) SHA1(2c06b1deca6c80d067032bfc2386da6ab0111e5f) )
6834   ROM_LOAD( "lthard",       0x3000, 0x1000, CRC(e32cbf0e) SHA1(c4a63e01fad7bd450def5c4412690d4bb8d12691) )
6835   ROM_LOAD( "2j",           0x4000, 0x1000, CRC(249ee040) SHA1(7297039e95e67220fa3e75fc50635f4df4c46a86) )
6836   ROM_LOAD( "2l",           0x5000, 0x1000, CRC(c7d2e608) SHA1(8aabecabd1dcd6833fb581e4571d71a680e6563a) )
6837   ROM_LOAD( "2m",           0x6000, 0x1000, CRC(bc4bc5b1) SHA1(95ffa72e57d1da10ddeda4d9333c9e0a2fb33e82) )
6838
6839   ROM_REGION( 0x10000, "audiocpu", 0 )
6840   ROM_LOAD( "5c",           0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
6841   ROM_LOAD( "5d",           0x0800, 0x0800, CRC(6907af31) SHA1(8496c8db5342129d81381eec196facbca45bca77) )
6842
6843   ROM_REGION( 0x1000, "gfx1", 0 )
6844   ROM_LOAD( "5f",           0x0000, 0x0800, CRC(61f137e7) SHA1(8bff09bc29fa829e21e6b36f7b3f67f19f6bbb26) )
6845   ROM_LOAD( "5h",           0x0800, 0x0800, CRC(5581de5f) SHA1(763dacb0d2183c159e7f1f04c7ecb1182da18abf) )
6846
6847   ROM_REGION( 0x0020, "proms", 0 )
6848   ROM_LOAD( "ltprom",       0x0000, 0x0020, CRC(1108b816) SHA1(49fdb08f8f31fefa2f3dca3d3455318cb21847a3) )
6849ROM_END
6850
6851
6852ROM_START( spdcoin )
6853   ROM_REGION( 0x10000, "maincpu", 0 )
6854   ROM_LOAD( "spdcoin.2c",   0x0000, 0x1000, CRC(65cf1e49) SHA1(a4570f0d7868fcdd378de3fd9e5346780afcf427) )
6855   ROM_LOAD( "spdcoin.2e",   0x1000, 0x1000, CRC(1ee59232) SHA1(b58c1de69d33cf80432012b9b6d8b1e3d8b00662) )
6856
6857   ROM_REGION( 0x10000, "audiocpu", 0 )
6858   ROM_LOAD( "spdcoin.5c",   0x0000, 0x0800, CRC(b4cf64b7) SHA1(a95d94be2e374b78b4ba49b6931f0c214ff9d033) )
6859   ROM_LOAD( "spdcoin.5d",   0x0800, 0x0800, CRC(92304df0) SHA1(01471bf7cbea0090933a253b1b46f80c8f240df5) )
6860
6861   ROM_REGION( 0x1000, "gfx1", 0 )
6862   ROM_LOAD( "spdcoin.5f",   0x0000, 0x0800, CRC(dd5f1dbc) SHA1(e7c40972a7530cac19ce04de3272244959d337ab) )
6863   ROM_LOAD( "spdcoin.5h",   0x0800, 0x0800, CRC(ab1fe81b) SHA1(98057932cb5faad60d425b547590ab22bfc67ff6) )
6864
6865   ROM_REGION( 0x0020, "proms", 0 )
6866   ROM_LOAD( "spdcoin.clr",  0x0000, 0x0020, CRC(1a2ccc56) SHA1(58bedaa8b3e21e916295603b38529084b6c0099a) )
6867ROM_END
6868
6869
6870ROM_START( superbon )
6871   ROM_REGION( 0x10000, "maincpu", 0 )
6872   ROM_LOAD( "2d.cpu",       0x0000, 0x1000, CRC(60c0ba18) SHA1(6ad09e01dd3c86c8d9c465916227c9b00f38e025) )
6873   ROM_LOAD( "2e.cpu",       0x1000, 0x1000, CRC(ddcf44bf) SHA1(b862622f4aa8af6da568b4f82ef043359ece530f) )
6874   ROM_LOAD( "2f.cpu",       0x2000, 0x1000, CRC(bb66c2d5) SHA1(cbb7f4279ae48460790cb8abf976b978ae6a1a25) )
6875   ROM_LOAD( "2h.cpu",       0x3000, 0x1000, CRC(74f4f04d) SHA1(d51c5d2c21453ee0dab60253c3124b6112d1f859) )
6876   ROM_LOAD( "2j.cpu",       0x4000, 0x1000, CRC(78effb08) SHA1(64f211b34c2f37c25a36200b393f145b39ae67b5) )
6877   ROM_LOAD( "2l.cpu",       0x5000, 0x1000, CRC(e9dcecbd) SHA1(ec61cec2b66c041872a2ca29cf724a89c73fc9a3) )
6878   ROM_LOAD( "2m.cpu",       0x6000, 0x1000, CRC(3ed0337e) SHA1(975b93aee851867e335614419aa6db16fbf8063f) )
6879
6880   ROM_REGION( 0x10000, "audiocpu", 0 )
6881   ROM_LOAD( "5c",           0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
6882   ROM_LOAD( "5d.snd",       0x0800, 0x0800, CRC(80640a04) SHA1(83f2bafcfa5737441194d3058a76b2582317cfcb) )
6883
6884   ROM_REGION( 0x1000, "gfx1", 0 )
6885   ROM_LOAD( "5f.cpu",       0x0000, 0x0800, CRC(5b9d4686) SHA1(c7814aefaccab9c8a3a0b015447d366cd2e43c3a) )
6886   ROM_LOAD( "5h.cpu",       0x0800, 0x0800, CRC(58c29927) SHA1(b88515d9c3108d2ad59f30fed5d74877b1636280) )
6887
6888   /* The conversion instructions do not mention color proms:                   */
6889   /* http://www.arcadeflyers.com/?page=flyer&db=videodb&id=5353&image=2        */
6890   /* However, pages may be missing. In addition, it is mentioned that the      */
6891   /* conversion kit may be used for Scramble, Amidar and Frogger as well.      */
6892   /* They all have different color proms. We use the prom from Super Cobra     */
6893   /* for now and mark it as bad dump until we have more information.           */
6894   ROM_REGION( 0x0020, "proms", 0 )
6895   ROM_LOAD( "82s123.6e",    0x0000, 0x0020, BAD_DUMP CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
6896ROM_END
6897
6898
6899/*************************************
6900 *
6901 *  Game drivers
6902 *  Galaxian-derived games
6903 *
6904 *************************************/
6905
6906/* basic galaxian hardware */
6907GAME( 1979, galaxian,   0,        galaxian, galaxian, galaxian_state, galaxian, ROT90,  "Namco", "Galaxian (Namco set 1)", GAME_SUPPORTS_SAVE )
6908GAME( 1979, galaxiana,  galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "Namco", "Galaxian (Namco set 2)", GAME_SUPPORTS_SAVE )
6909GAME( 1979, galaxianm,  galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90,  "Namco (Midway license)", "Galaxian (Midway set 1)", GAME_SUPPORTS_SAVE )
6910GAME( 1979, galaxianmo, galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90,  "Namco (Midway license)", "Galaxian (Midway set 2)", GAME_SUPPORTS_SAVE )
6911GAME( 1979, galaxiant,  galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "Namco (Taito license)", "Galaxian (Taito)", GAME_SUPPORTS_SAVE )
6912
6913/* straight Galaxian ripoffs on basic galaxian hardware */
6914GAME( 1979, moonaln,  galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "Namco / Nichibutsu (Karateco license?)", "Moon Alien", GAME_SUPPORTS_SAVE ) // or bootleg?
6915GAME( 1979, superg,   galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "hack", "Super Galaxians (galaxiana hack)", GAME_SUPPORTS_SAVE )
6916GAME( 1979, galturbo, galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "hack", "Galaxian Turbo (superg hack)", GAME_SUPPORTS_SAVE )
6917GAME( 1979, galapx,   galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "hack", "Galaxian Part X (moonaln hack)", GAME_SUPPORTS_SAVE )
6918GAME( 1979, galap1,   galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "hack", "Space Invaders Galactica (galaxiana hack)", GAME_SUPPORTS_SAVE )
6919GAME( 1979, galap4,   galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "hack (G.G.I)", "Galaxian Part 4 (hack)", GAME_SUPPORTS_SAVE )
6920GAME( 1979, swarm,    galaxian, galaxian, swarm, galaxian_state,    galaxian, ROT90,  "bootleg? (Subelectro)", "Swarm (bootleg?)", GAME_SUPPORTS_SAVE )
6921GAME( 1980, astrians, galaxian, galaxian, swarm,  galaxian_state,   galaxian, ROT90,  "bootleg (BGV Ltd.)", "Astrians (clone of Swarm)", GAME_SUPPORTS_SAVE )
6922GAME( 1979, zerotime, galaxian, galaxian, zerotime, galaxian_state, galaxian, ROT90,  "bootleg? (Petaco S.A.)", "Zero Time", GAME_SUPPORTS_SAVE )
6923GAME( 1979, starfght, galaxian, galaxian, swarm, galaxian_state,    galaxian, ROT90,  "bootleg (Jeutel)", "Star Fighter", GAME_SUPPORTS_SAVE )
6924GAME( 1979, galaxbsf, galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90,  "bootleg", "Galaxian (bootleg, set 1)", GAME_SUPPORTS_SAVE )
6925GAME( 1979, galaxianbl,galaxian,galaxian, galaxianbl,galaxian_state,galaxian, ROT90,  "bootleg", "Galaxian (bootleg, set 2)", GAME_SUPPORTS_SAVE )
6926GAME( 1980, supergx,  galaxian, galaxian, superg, galaxian_state,   galaxian, ROT90,  "Namco / Nichibutsu", "Super GX", GAME_NOT_WORKING | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
6927GAME( 19??, tst_galx, galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90,  "<unknown>", "Galaxian Test ROM", GAME_SUPPORTS_SAVE )
6928GAME( 1980, galaxrf,  galaxian, galaxian, galaxrf, galaxian_state,  galaxian, ROT90,  "bootleg (Recreativos Franco S.A.)", "Galaxian (Recreativos Franco S.A. Spanish bootleg)", GAME_SUPPORTS_SAVE )
6929
6930/* other games on basic galaxian hardware */
6931GAME( 1981, blkhole,  0,        galaxian, blkhole, galaxian_state,  galaxian, ROT90,  "TDS & MINTS", "Black Hole", GAME_SUPPORTS_SAVE )
6932GAME( 1982, orbitron, 0,        galaxian, orbitron, galaxian_state, galaxian, ROT270, "Signatron USA", "Orbitron", GAME_SUPPORTS_SAVE )
6933GAME( 1980, luctoday, 0,        galaxian, luctoday, galaxian_state, galaxian, ROT270, "Sigma", "Lucky Today",GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
6934GAME( 19??, chewing,  luctoday, galaxian, luctoday, galaxian_state, galaxian, ROT90,  "<unknown>", "Chewing Gum", GAME_SUPPORTS_SAVE )
6935GAME( 1982, catacomb, 0,        galaxian, catacomb, galaxian_state, galaxian, ROT90,  "MTM Games", "Catacomb", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
6936GAME( 19??, omega,    theend,   galaxian, omega, galaxian_state,    galaxian, ROT270, "bootleg?", "Omega", GAME_SUPPORTS_SAVE )
6937
6938/* these games require the coin lockout mechanism to be disabled */
6939GAME( 1981, warofbug, 0,        galaxian, warofbug, galaxian_state, nolock,   ROT90,  "Armenia / Food and Fun Corp", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze", GAME_SUPPORTS_SAVE )
6940GAME( 1981, warofbugu,warofbug, galaxian, warofbug, galaxian_state, nolock,   ROT90,  "Armenia / Super Video Games", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze (US)", GAME_SUPPORTS_SAVE )
6941GAME( 1981, warofbugg,warofbug, galaxian, warofbug, galaxian_state, nolock,   ROT90,  "Armenia", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze (German)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
6942GAME( 1981, redufo,   0,        galaxian, redufo, galaxian_state,   nolock,   ROT270, "Artic", "Defend the Terra Attack on the Red UFO", GAME_SUPPORTS_SAVE ) // is this the original?
6943GAME( 1981, redufob,  redufo,   galaxian, redufob, galaxian_state,  nolock,   ROT90,  "bootleg", "Defend the Terra Attack on the Red UFO (bootleg)", GAME_SUPPORTS_SAVE ) // rev A?
6944GAME( 19??, exodus,   redufo,   galaxian, redufo, galaxian_state,   nolock,   ROT90,  "bootleg? (Subelectro)", "Exodus (bootleg?)", GAME_SUPPORTS_SAVE )
6945GAME( 1983, tdpgal,   0,        galaxian, tdpgal, galaxian_state,   nolock,   ROT90,  "Design Labs / Thomas Automatics", "Triple Draw Poker", GAME_SUPPORTS_SAVE )
6946GAME( 1979, kamakazi3,galaxian, galaxian, superg, galaxian_state,   nolock,   ROT90,  "hack", "Kamakazi III (superg hack)", GAME_SUPPORTS_SAVE )
6947
6948/* different bullet color */
6949GAME( 1982, azurian,  0,        galaxian, azurian, galaxian_state,  azurian,  ROT90,  "Rait Electronics Ltd", "Azurian Attack", GAME_SUPPORTS_SAVE )
6950
6951/* extra characters controlled via bank at $6002 */
6952GAME( 19??, pisces,   0,        galaxian, pisces, galaxian_state,   pisces,   ROT90,  "Subelectro", "Pisces", GAME_SUPPORTS_SAVE )
6953GAME( 19??, piscesb,  pisces,   galaxian, piscesb, galaxian_state,  pisces,   ROT90,  "bootleg", "Pisces (bootleg)", GAME_SUPPORTS_SAVE )
6954GAME( 19??, omni,     pisces,   galaxian, piscesb, galaxian_state,  pisces,   ROT90,  "bootleg", "Omni", GAME_SUPPORTS_SAVE )
6955GAME( 1980, uniwars,  0,        galaxian, superg, galaxian_state,   pisces,   ROT90,  "Irem", "UniWar S", GAME_SUPPORTS_SAVE )
6956GAME( 1980, gteikoku, uniwars,  galaxian, superg, galaxian_state,   pisces,   ROT90,  "Irem", "Gingateikoku No Gyakushu", GAME_SUPPORTS_SAVE )
6957GAME( 1980, gteikokb, uniwars,  galaxian, gteikokb, galaxian_state, pisces,   ROT270, "bootleg", "Gingateikoku No Gyakushu (bootleg set 1)", GAME_SUPPORTS_SAVE )
6958GAME( 1980, gteikob2, uniwars,  galaxian, gteikob2, galaxian_state, pisces,   ROT90,  "bootleg", "Gingateikoku No Gyakushu (bootleg set 2)", GAME_SUPPORTS_SAVE )
6959GAME( 1980, spacbatt, uniwars,  galaxian, spacbatt, galaxian_state, pisces,   ROT90,  "bootleg", "Space Battle (bootleg set 1)", GAME_SUPPORTS_SAVE )
6960GAME( 1980, spacbat2, uniwars,  galaxian, spacbatt, galaxian_state, pisces,   ROT90,  "bootleg", "Space Battle (bootleg set 2)", GAME_SUPPORTS_SAVE )
6961GAME( 1980, spacempr, uniwars,  galaxian, spacbatt, galaxian_state, pisces,   ROT90,  "bootleg", "Space Empire (bootleg)", GAME_SUPPORTS_SAVE )
6962GAME( 1980, skyraidr, uniwars,  galaxian, superg, galaxian_state,   pisces,   ROT90,  "bootleg", "Sky Raider (Uniwars bootleg)", GAME_SUPPORTS_SAVE )
6963GAME( 1980, galemp,   uniwars,  galaxian, superg, galaxian_state,   pisces,   ROT90,  "bootleg (Taito do Brasil)", "Galaxy Empire (bootleg?)", GAME_SUPPORTS_SAVE ) // clearly a hack, but was it licensed?
6964GAME( 1980, asideral, uniwars,  galaxian, asideral, galaxian_state, pisces,   ROT90,  "bootleg (Electrogame S.A.)", "Ataque Sideral (Spanish bootleg of UniWar S)", GAME_SUPPORTS_SAVE )
6965GAME( 1980, pajaroes, uniwars,  galaxian, asideral, galaxian_state, pisces,   ROT90,  "bootleg (PSV S.A.)", "Pajaro del Espacio (Spanish bootleg of UniWar S)", GAME_SUPPORTS_SAVE ) // very similar to above
6966
6967
6968/* Artic Multi-System games - separate tile/sprite ROMs */
6969GAME( 1980, streakng, 0,        pacmanbl, streakng, galaxian_state, galaxian, ROT90,  "Shoei", "Streaking (set 1)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
6970GAME( 1980, streaknga,streakng, pacmanbl, streakng, galaxian_state, galaxian, ROT90,  "Shoei", "Streaking (set 2)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
6971GAME( 1981, pacmanbl, puckman,  pacmanbl, pacmanbl, galaxian_state, pacmanbl, ROT270, "bootleg", "Pac-Man (Galaxian hardware, set 1)", GAME_SUPPORTS_SAVE )
6972GAME( 1981, pacmanbla,puckman,  pacmanbl, pacmanbl, galaxian_state, pacmanbl, ROT270, "bootleg", "Pac-Man (Galaxian hardware, set 2)", GAME_SUPPORTS_SAVE )
6973GAME( 1981, ghostmun, puckman,  pacmanbl, streakng, galaxian_state, ghostmun, ROT90,  "bootleg (Leisure and Allied)", "Ghost Muncher", GAME_SUPPORTS_SAVE )
6974GAME( 1981, phoenxp2, phoenix,  galaxian, phoenxp2, galaxian_state, batman2,  ROT270, "bootleg", "Phoenix Part 2", GAME_SUPPORTS_SAVE )
6975GAME( 1981, batman2,  phoenix,  galaxian, batman2, galaxian_state,  batman2,  ROT270, "bootleg", "Batman Part 2", GAME_SUPPORTS_SAVE ) /* similar to pisces, but with different video banking characteristics */
6976GAME( 1981, atlantisb,atlantis, galaxian, atlantib, galaxian_state, galaxian, ROT270, "bootleg", "Battle of Atlantis (bootleg)", GAME_SUPPORTS_SAVE ) // I don't know if this should have a starfield...
6977GAME( 1982, tenspot,  0,        tenspot,  tenspot, galaxian_state,  tenspot,  ROT270, "Thomas Automatics", "Ten Spot", GAME_NOT_WORKING ) // work out how menu works
6978
6979/* separate tile/sprite ROMs, plus INT instead of NMI */
6980GAME( 1984, devilfsg, devilfsh, pacmanbl, devilfsg, galaxian_state, devilfsg, ROT270, "Vision / Artic", "Devil Fish (Galaxian hardware, bootleg?)", GAME_SUPPORTS_SAVE )
6981
6982/* sound hardware replaced with AY8910 */
6983GAME( 1982, zigzag,   0,        zigzag,   zigzag, galaxian_state,   zigzag,   ROT90,  "bootleg (LAX)", "Zig Zag (Galaxian hardware, set 1)", GAME_SUPPORTS_SAVE ) // maybe by Taito do Brasil?
6984GAME( 1982, zigzag2,  zigzag,   zigzag,   zigzag, galaxian_state,   zigzag,   ROT90,  "bootleg (LAX)", "Zig Zag (Galaxian hardware, set 2)", GAME_SUPPORTS_SAVE ) // "
6985
6986/* multi-game select via external switch */
6987GAME( 1981, gmgalax,  0,        gmgalax,  gmgalax, galaxian_state,  gmgalax,  ROT90,  "bootleg", "Ghostmuncher Galaxian (bootleg)", GAME_SUPPORTS_SAVE )
6988
6989
6990
6991
6992
6993/*************************************
6994 *
6995 *  Game drivers
6996 *  Moon Cresta-derived games
6997 *
6998 *************************************/
6999
7000/* based on Galaxian, but with altered address map for more ROM */
7001GAME( 1980, mooncrst,   0,        mooncrst, mooncrst, galaxian_state, mooncrst, ROT90,  "Nichibutsu", "Moon Cresta (Nichibutsu)", GAME_SUPPORTS_SAVE )
7002GAME( 1980, mooncrstuk, mooncrst, mooncrst, mooncrst, galaxian_state, mooncrst, ROT90,  "Nichibutsu UK", "Moon Cresta (Nichibutsu UK)", GAME_SUPPORTS_SAVE )
7003GAME( 1980, mooncrstuku,mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90,  "Nichibutsu UK", "Moon Cresta (Nichibutsu UK, unencrypted)", GAME_SUPPORTS_SAVE )
7004GAME( 1980, mooncrstu,  mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90,  "Nichibutsu USA", "Moon Cresta (Nichibutsu USA, unencrypted)", GAME_SUPPORTS_SAVE )
7005GAME( 1980, mooncrsto,  mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrst, ROT90,  "Nichibutsu", "Moon Cresta (Nichibutsu, old rev)", GAME_SUPPORTS_SAVE )
7006GAME( 1980, mooncrstg,  mooncrst, mooncrst, mooncrsg, galaxian_state, mooncrsu, ROT90,  "Nichibutsu (Gremlin license)", "Moon Cresta (Gremlin)", GAME_SUPPORTS_SAVE )
7007
7008/* straight Moon Cresta ripoffs on basic mooncrst hardware */
7009GAME( 1980, mooncrsb, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "bootleg", "Moon Cresta (bootleg set 1)", GAME_SUPPORTS_SAVE )
7010GAME( 1980, mooncrs2, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "bootleg", "Moon Cresta (bootleg set 2)", GAME_SUPPORTS_SAVE )
7011GAME( 1980, mooncrs3, mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90,  "bootleg (Jeutel)", "Moon Cresta (bootleg set 3)", GAME_SUPPORTS_SAVE ) /* Jeutel bootleg, similar to bootleg set 2 */
7012GAME( 1980, mooncrs4, mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90,  "bootleg (SG-Florence)", "Moon Crest (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
7013GAME( 1980, fantazia, mooncrst, mooncrst, fantazia, galaxian_state, mooncrsu, ROT90,  "bootleg? (Subelectro)", "Fantazia (bootleg?)", GAME_SUPPORTS_SAVE )
7014GAME( 1980, eagle,    mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "Nichibutsu (Centuri license)", "Eagle (set 1)", GAME_SUPPORTS_SAVE ) // or bootleg?
7015GAME( 1980, eagle2,   mooncrst, mooncrst, eagle2, galaxian_state,   mooncrsu, ROT90,  "Nichibutsu (Centuri license)", "Eagle (set 2)", GAME_SUPPORTS_SAVE ) // "
7016GAME( 1980, eagle3,   mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "Nichibutsu (Centuri license)", "Eagle (set 3)", GAME_SUPPORTS_SAVE ) // "
7017GAME( 1981?,spctbird, mooncrst, mooncrst, eagle2, galaxian_state,   mooncrsu, ROT90,  "bootleg? (Fortrek)", "Space Thunderbird", GAME_SUPPORTS_SAVE )
7018GAME( 1980?,smooncrs, mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90,  "Nichibutsu (Gremlin license)", "Super Moon Cresta", GAME_SUPPORTS_SAVE )
7019GAME( 1980?,mooncptc, mooncrst, mooncrst, mooncptc, galaxian_state, mooncrsu, ROT90,  "bootleg (Petaco S.A.)", "Moon Cresta (Petaco S.A. Spanish bootleg)", GAME_SUPPORTS_SAVE )
7020GAME( 1980?,sstarcrs, mooncrst, mooncrst, mooncrsg, galaxian_state, mooncrsu, ROT90,  "Nichibutsu (Taito do Brasil license)", "Super Star Crest", GAME_SUPPORTS_SAVE )
7021GAME( 198?, mooncmw,  mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "bootleg", "Moon War (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
7022GAME( 198?, starfgmc, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90,  "bootleg (Samyra Engineering)", "Starfighter (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
7023// The boards were marked 'Space Dragon' although this doesn't appear in the games.
7024GAME( 1980, spcdrag,  mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90,  "bootleg", "Space Dragon (Moon Cresta bootleg, set 1)", GAME_SUPPORTS_SAVE )
7025GAME( 1980, spcdraga, mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90,  "bootleg", "Space Dragon (Moon Cresta bootleg, set 2)", GAME_SUPPORTS_SAVE )
7026GAME( 1980, mooncreg, mooncrst, mooncrst, mooncreg, galaxian_state, mooncrsu, ROT90,  "bootleg (Electrogame S.A.)", "Moon Cresta (Electrogame S.A. Spanish bootleg)", GAME_SUPPORTS_SAVE )
7027GAME( 1980, mooncrsl, mooncrst, mooncrst, mooncrsl, galaxian_state, mooncrsu, ROT90,  "bootleg (Laguna S.A.)", "Cresta Mundo (Laguna S.A. Spanish Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
7028GAME( 1980, stera,    mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90,  "bootleg", "Steraranger (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
7029GAME( 1980, mooncrgx, mooncrst, galaxian, mooncrgx, galaxian_state, mooncrgx, ROT270, "bootleg", "Moon Cresta (Galaxian hardware)", GAME_SUPPORTS_SAVE )
7030GAME( 1980, moonqsr,  0,        mooncrst, moonqsr, galaxian_state,  moonqsr,  ROT90,  "Nichibutsu", "Moon Quasar", GAME_SUPPORTS_SAVE )
7031GAME( 1980, moonal2,  galaxian, mooncrst, moonal2, galaxian_state,  galaxian, ROT90,  "Namco / Nichibutsu", "Moon Alien Part 2", GAME_SUPPORTS_SAVE )
7032GAME( 1980, moonal2b, galaxian, mooncrst, moonal2, galaxian_state,  galaxian, ROT90,  "Namco / Nichibutsu", "Moon Alien Part 2 (older version)", GAME_SUPPORTS_SAVE )
7033
7034/* larger romspace, interrupt enable moved */
7035GAME( 198?, thepitm,  thepit,   mooncrst, thepitm, galaxian_state,  thepitm,  ROT90,  "bootleg (KZH)", "The Pit (bootleg on Moon Quasar hardware)", GAME_SUPPORTS_SAVE ) // on an original MQ-2FJ pcb, even if the memory map appears closer to Moon Cresta
7036
7037
7038/* other games on basic mooncrst hardware */
7039GAME( 1982, skybase,  0,        mooncrst, skybase, galaxian_state,  skybase,  ROT90,  "Omori Electric Co., Ltd.", "Sky Base", GAME_SUPPORTS_SAVE )
7040GAME( 198?, kong,     0,        mooncrst, kong,    galaxian_state,  kong,     ROT90,  "Taito do Brasil", "Kong (Donkey Kong conversion on Galaxian hardware)", GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS ) // rewrite of Donkey Kong (!) not a clone
7041
7042/* larger romspace, 2*AY8910, based on Super Star Crest board? */
7043GAME( 198?, fantastc, 0,        fantastc, fantastc, galaxian_state, fantastc, ROT90,  "Taito do Brasil", "Fantastic (Galaga conversion on Galaxian hardware)", GAME_SUPPORTS_SAVE ) // rewrite of Galaga (!) not a clone
7044
7045/* like fantastc, plus larger spriteram, and maybe different bullet hw(?) */
7046GAME( 198?, timefgtr, 0,        timefgtr, timefgtr, galaxian_state, timefgtr, ROT90,  "Taito do Brasil", "Time Fighter (Time Pilot conversion on Galaxian hardware)", GAME_SUPPORTS_SAVE | GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS ) // rewrite of Time Pilot (!) not a clone
7047
7048/* extra ROMs, protection, and sound hardware replaced with AY8910 */
7049GAME( 1981, jumpbug,  0,        jumpbug,  jumpbug, galaxian_state,  jumpbug,  ROT90,  "Hoei (Rock-Ola license)", "Jump Bug", GAME_SUPPORTS_SAVE ) // or by Alpha Denshi Co. under contract from Hoei?
7050GAME( 1981, jumpbugb, jumpbug,  jumpbug,  jumpbug, galaxian_state,  jumpbug,  ROT90,  "bootleg", "Jump Bug (bootleg)", GAME_SUPPORTS_SAVE ) // bootleg of Sega license
7051GAME( 1983, levers,   0,        jumpbug,  levers, galaxian_state,   jumpbug,  ROT90,  "Rock-Ola", "Levers", GAME_SUPPORTS_SAVE )
7052
7053/* 2nd CPU driving AY8910 for sound */
7054GAME( 1982, checkman, 0,        checkman, checkman, galaxian_state, checkman, ROT90,  "Zilec-Zenitone", "Check Man", GAME_SUPPORTS_SAVE )
7055GAME( 1982, checkmanj,checkman, checkmaj, checkmaj, galaxian_state, checkmaj, ROT90,  "Zilec-Zenitone (Jaleco license)", "Check Man (Japan)", GAME_SUPPORTS_SAVE )
7056GAME( 1983, dingo,    0,        checkmaj, dingo, galaxian_state,    dingo,    ROT90,  "Ashby Computers and Graphics Ltd. (Jaleco license)", "Dingo", GAME_SUPPORTS_SAVE )
7057GAME( 1983, dingoe,   dingo,    checkman, dingo, galaxian_state,    dingoe,   ROT90,  "Ashby Computers and Graphics Ltd.", "Dingo (encrypted)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
7058
7059/* Crazy Climber sound plus AY8910 instead of galaxian sound, plus INT instead of NMI */
7060GAME( 1981, mshuttle,  0,        mshuttle, mshuttle, galaxian_state, mshuttle, ROT0,   "Nichibutsu", "Moon Shuttle (US? set 1)", GAME_SUPPORTS_SAVE )
7061GAME( 1981, mshuttle2, mshuttle, mshuttle, mshuttle, galaxian_state, mshuttle, ROT0,   "Nichibutsu", "Moon Shuttle (US? set 2)", GAME_SUPPORTS_SAVE )
7062GAME( 1981, mshuttlej, mshuttle, mshuttle, mshuttle, galaxian_state, mshuttlj, ROT0,   "Nichibutsu", "Moon Shuttle (Japan set 1)", GAME_SUPPORTS_SAVE )
7063GAME( 1981, mshuttlej2,mshuttle, mshuttle, mshuttle, galaxian_state, mshuttlj, ROT0,   "Nichibutsu", "Moon Shuttle (Japan set 2)", GAME_SUPPORTS_SAVE )
7064
7065/* 2nd CPU driving DAC for sound */
7066GAME( 1980, kingball, 0,        kingball, kingball, galaxian_state, kingball, ROT90,  "Namco", "King & Balloon (US)", GAME_SUPPORTS_SAVE )
7067GAME( 1980, kingballj,kingball, kingball, kingball, galaxian_state, kingball, ROT90,  "Namco", "King & Balloon (Japan)", GAME_SUPPORTS_SAVE )
7068
7069
7070
7071/*************************************
7072 *
7073 *  Game drivers
7074 *  Konami games
7075 *
7076 *************************************/
7077
7078/* Frogger based hardware: 2nd Z80, AY-8910A, 2 8255 PPI for I/O, custom background */
7079GAME( 1981, frogger,  0,        frogger,  frogger, galaxian_state,  frogger,  ROT90,  "Konami", "Frogger", GAME_SUPPORTS_SAVE )
7080GAME( 1981, froggers1,frogger,  frogger,  frogger, galaxian_state,  frogger,  ROT90,  "Konami (Sega license)", "Frogger (Sega set 1)", GAME_SUPPORTS_SAVE )
7081GAME( 1981, froggers2,frogger,  frogger,  frogger, galaxian_state,  frogger,  ROT90,  "Konami (Sega license)", "Frogger (Sega set 2)", GAME_SUPPORTS_SAVE )
7082GAME( 1981, froggermc,frogger,  froggrmc, froggrmc, galaxian_state, froggrmc, ROT90,  "Konami (Sega license)", "Frogger (Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
7083GAME( 1981, froggers, frogger,  froggers, frogger, galaxian_state,  froggers, ROT90,  "bootleg", "Frog", GAME_SUPPORTS_SAVE )
7084GAME( 1981, frogf,    frogger,  frogf,    frogger, galaxian_state,  froggers, ROT90,  "bootleg (Falcon)", "Frog (Falcon bootleg)", GAME_SUPPORTS_SAVE )
7085GAME( 1981, frogg,    frogger,  galaxian, frogg, galaxian_state,    frogg,    ROT90,  "bootleg", "Frog (Galaxian hardware)", GAME_SUPPORTS_SAVE )
7086GAME( 1981, froggrs,  frogger,  froggers, frogger,  galaxian_state, froggrs,  ROT90,  "bootleg (Coin Music)", "Frogger (Scramble hardware)", GAME_SUPPORTS_SAVE )
7087
7088
7089/*
7090    Turtles based hardware
7091
7092    CPU/Video Board: KT-4108-2
7093    Sound Board:     KT-4108-1
7094*/
7095GAME( 1981, turtles,  0,        turtles,  turtles, galaxian_state,  turtles,  ROT90,  "Konami (Stern Electronics license)", "Turtles", GAME_SUPPORTS_SAVE )
7096GAME( 1981, turpin,   turtles,  turtles,  turpin, galaxian_state,   turtles,  ROT90,  "Konami (Sega license)", "Turpin", GAME_SUPPORTS_SAVE )
7097GAME( 1981, 600,      turtles,  turtles,  turtles, galaxian_state,  turtles,  ROT90,  "Konami", "600", GAME_SUPPORTS_SAVE )
7098
7099GAME( 1982, amidar,   0,        turtles,  amidaru, galaxian_state,  turtles,  ROT90,  "Konami", "Amidar", GAME_SUPPORTS_SAVE )
7100GAME( 1981, amidar1,  amidar,   turtles,  amidar, galaxian_state,   turtles,  ROT90,  "Konami", "Amidar (older)", GAME_SUPPORTS_SAVE )
7101GAME( 1982, amidaru,  amidar,   turtles,  amidaru, galaxian_state,  turtles,  ROT90,  "Konami (Stern Electronics license)", "Amidar (Stern Electronics)", GAME_SUPPORTS_SAVE )
7102GAME( 1982, amidaro,  amidar,   turtles,  amidaro, galaxian_state,  turtles,  ROT90,  "Konami (Olympia license)", "Amidar (Olympia)", GAME_SUPPORTS_SAVE )
7103GAME( 1982, amidarb,  amidar,   turtles,  amidaru, galaxian_state,  turtles,  ROT90,  "bootleg", "Amidar (bootleg)", GAME_SUPPORTS_SAVE ) /* similar to Amigo bootleg */
7104GAME( 1982, amigo,    amidar,   turtles,  amidaru, galaxian_state,  turtles,  ROT90,  "bootleg", "Amigo", GAME_SUPPORTS_SAVE )
7105GAME( 1982, amidars,  amidar,   scramble, amidars, galaxian_state,  scramble, ROT90,  "Konami", "Amidar (Scramble hardware)", GAME_SUPPORTS_SAVE )
7106
7107
7108/* The End/Scramble based hardware */
7109GAME( 1980, theend,   0,        theend,   theend, galaxian_state,   theend,   ROT90,  "Konami", "The End", GAME_SUPPORTS_SAVE )
7110GAME( 1980, theends,  theend,   theend,   theend, galaxian_state,   theend,   ROT90,  "Konami (Stern Electronics license)", "The End (Stern Electronics)", GAME_SUPPORTS_SAVE )
7111GAME( 1980, theendb,  theend,   theend,   theend, galaxian_state,   theend,   ROT90,  "bootleg?", "The End (bootleg?)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
7112
7113GAME( 1981, scramble, 0,        scramble, scramble, galaxian_state, scramble, ROT90,  "Konami", "Scramble", GAME_SUPPORTS_SAVE )
7114GAME( 1981, scrambles,scramble, scramble, scramble, galaxian_state, scramble, ROT90,  "Konami (Stern Electronics license)", "Scramble (Stern Electronics set 1)", GAME_SUPPORTS_SAVE )
7115GAME( 1981, scrambles2,scramble,scramble, scramble, galaxian_state, scramble, ROT90,  "Konami (Stern Electronics license)", "Scramble (Stern Electronics set 2)", GAME_SUPPORTS_SAVE )
7116GAME( 1981, strfbomb, scramble, scramble, strfbomb, galaxian_state, scramble, ROT90,  "bootleg (Omni)",                     "Strafe Bomb (bootleg of Scramble)", GAME_SUPPORTS_SAVE )
7117GAME( 1981, explorer, scramble, explorer, explorer, galaxian_state, explorer, ROT90,  "bootleg",                            "Explorer (bootleg of Scramble)", GAME_SUPPORTS_SAVE )
7118GAME( 1981, scramblebf,scramble,scramble, scramble, galaxian_state, scramble, ROT90,  "bootleg (Karateko)",                 "Scramble (Karateko, French bootleg)", GAME_SUPPORTS_SAVE )
7119GAME( 1981, scrambp,   scramble,scramble, scramble, galaxian_state, scramble, ROT90,  "bootleg (Billport S.A.)",            "Impacto (Billport S.A., Spanish bootleg of Scramble)", GAME_SUPPORTS_SAVE ) // similar to the Karateko set above
7120GAME( 1981, scrampt,   scramble,scramble, scramble, galaxian_state, scramble, ROT90,  "bootleg (Petaco S.A.)",              "Scramble (Petaco S.A., Spanish bootleg)", GAME_SUPPORTS_SAVE ) // ^^
7121
7122
7123
7124GAME( 1981, scramblebb,scramble,scramble, scramble, galaxian_state, scramble, ROT90,  "bootleg?", "Scramble (bootleg?)", GAME_SUPPORTS_SAVE )
7125GAME( 198?, bomber,   scramble, scramble, scramble, galaxian_state, scramble, ROT90,  "bootleg (Alca)", "Bomber (bootleg of Scramble)", GAME_SUPPORTS_SAVE )
7126
7127GAME( 1981, atlantis, 0,        theend,   atlantis, galaxian_state, atlantis, ROT90,  "Comsoft", "Battle of Atlantis (set 1)", GAME_SUPPORTS_SAVE )
7128GAME( 1981, atlantis2,atlantis, theend,   atlantis, galaxian_state, atlantis, ROT90,  "Comsoft", "Battle of Atlantis (set 2)", GAME_SUPPORTS_SAVE )
7129
7130/* Scorpion hardware; based on Scramble but with a 3rd AY-8910 and a speech chip */
7131GAME( 1982, scorpion, 0,        scorpion, scorpion, galaxian_state, scorpion, ROT90,  "Zaccaria", "Scorpion (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
7132GAME( 1982, scorpiona,scorpion, scorpion, scorpion, galaxian_state, scorpion, ROT90,  "Zaccaria", "Scorpion (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
7133GAME( 1982, scorpionb,scorpion, scorpion, scorpion, galaxian_state, scorpion, ROT90,  "Zaccaria", "Scorpion (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
7134GAME( 19??, scorpionmc,scorpion,mooncrst, scorpnmc, galaxian_state, scorpnmc, ROT90,  "bootleg? (Dorneer)", "Scorpion (Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
7135GAME( 19??, aracnis,   scorpion,mooncrst, aracnis, galaxian_state,  scorpnmc, ROT90,  "bootleg",  "Aracnis (bootleg of Scorpion on Moon Cresta hardware)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
7136
7137/* SF-X hardware; based on Scramble with extra Z80 and 8255 driving a DAC-based sample player */
7138GAME( 1983, sfx,      0,        sfx,      sfx, galaxian_state,      sfx,      ORIENTATION_FLIP_X, "Nichibutsu", "SF-X", GAME_SUPPORTS_SAVE )
7139GAME( 1983, skelagon, sfx,      sfx,      sfx, galaxian_state,      sfx,      ORIENTATION_FLIP_X, "Nichibutsu USA", "Skelagon", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
7140GAME( 1982, monsterz, 0,        monsterz, sfx, galaxian_state,      sfx,      ORIENTATION_FLIP_X, "Nihon Game", "Monster Zero", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
7141
7142
7143/*
7144    Super Cobra
7145
7146    CPU/Video Board: A969
7147    Sound Board:     A970
7148*/
7149GAME( 1981, scobra,    0,        scobra,   scobra, galaxian_state,    scobra,   ROT90,  "Konami", "Super Cobra", GAME_SUPPORTS_SAVE )
7150GAME( 1981, scobrase,  scobra,   scobra,   scobra, galaxian_state,    scobra,   ROT90,  "Konami (Sega license)", "Super Cobra (Sega)", GAME_SUPPORTS_SAVE )
7151GAME( 1981, scobras,   scobra,   scobra,   scobras, galaxian_state,   scobra,   ROT90,  "Konami (Stern Electronics license)", "Super Cobra (Stern Electronics)", GAME_SUPPORTS_SAVE )
7152GAME( 1981, scobrab,   scobra,   scobra,   scobras, galaxian_state,   scobra,   ROT90,  "bootleg", "Super Cobra (bootleg)", GAME_SUPPORTS_SAVE )
7153GAME( 1981, suprheli,  scobra,   scobra,   scobras, galaxian_state,   scobra,   ROT90,  "bootleg", "Super Heli (Super Cobra bootleg)", GAME_SUPPORTS_SAVE )
7154
7155GAME( 1981, moonwar,   0,        moonwar,  moonwar, galaxian_state,   moonwar,  ROT90,  "Stern Electronics", "Moonwar", GAME_SUPPORTS_SAVE )
7156GAME( 1981, moonwara,  moonwar,  moonwar,  moonwara, galaxian_state,  moonwar,  ROT90,  "Stern Electronics", "Moonwar (older)", GAME_SUPPORTS_SAVE )
7157
7158GAME( 1981, armorcar,  0,        scobra,   armorcar, galaxian_state,  scobra,   ROT90,  "Stern Electronics", "Armored Car (set 1)", GAME_SUPPORTS_SAVE )
7159GAME( 1981, armorcar2, armorcar, scobra,   armorcar2, galaxian_state, scobra,   ROT90,  "Stern Electronics", "Armored Car (set 2)", GAME_SUPPORTS_SAVE )
7160
7161GAME( 1982, tazmania,  0,        scobra,   tazmania, galaxian_state,  scobra,   ROT90,  "Stern Electronics", "Tazz-Mania (set 1)", GAME_SUPPORTS_SAVE )
7162
7163/*
7164    Anteater (sold as conversion kit)
7165
7166    CPU/Video Board: A969 (Has various wire mods)
7167    Sound Board:     A970
7168*/
7169GAME( 1982, anteater,  0,        anteater,  anteater, galaxian_state,  anteater,  ROT90,  "Tago Electronics", "Anteater", GAME_SUPPORTS_SAVE )
7170GAME( 1982, anteateruk,anteater, anteateruk,anteateruk, galaxian_state,anteateruk,ROT90,  "Tago Electronics (Free Enterprise Games license", "The Anteater (UK)", GAME_SUPPORTS_SAVE ) // distributed in 1983
7171GAME( 1982, anteaterg, anteater, anteaterg, anteateruk, galaxian_state,anteateruk,ROT90,  "Tago Electronics (TV-Tuning license from Free Enterprise Games)", "Ameisenbaer (German)", GAME_SUPPORTS_SAVE )
7172
7173GAME( 1982, calipso,   0,        scobra,    calipso, galaxian_state,   calipso,   ROT90,  "Tago Electronics", "Calipso",  GAME_SUPPORTS_SAVE )
7174
7175/*
7176    Lost Tomb
7177
7178    CPU/Video Board: A969 (Has various wire mods)
7179    Sound Board:     A2048
7180*/
7181GAME( 1982, losttomb,  0,        scobra,   losttomb, galaxian_state,  losttomb, ROT90,  "Stern Electronics", "Lost Tomb (easy)", GAME_SUPPORTS_SAVE )
7182GAME( 1982, losttombh, losttomb, scobra,   losttomb, galaxian_state,  losttomb, ROT90,  "Stern Electronics", "Lost Tomb (hard)", GAME_SUPPORTS_SAVE )
7183
7184GAME( 1984, spdcoin,   0,        scobra,   spdcoin, galaxian_state,   scobra,   ROT90,  "Stern Electronics", "Speed Coin (prototype)", GAME_SUPPORTS_SAVE )
7185
7186GAME( 1985, superbon,  0,        scobra,   superbon, galaxian_state,  superbon, ROT90,  "Signatron USA", "Agent Super Bond (Super Cobra conversion)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
7187
7188
7189
7190/* currently in galaxold.c and should be moved here */
7191//GAME( 1981, 4in1,     0,        4in1,     4in1, galaxian_state,     4in1,     ROT90,  "Armenia / Food and Fun", "4 Fun in 1", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
7192//GAME( 1982, bagmanmc, bagman,   bagmanmc, bagmanmc, galaxian_state, galaxian, ROT90,  "bootleg", "Bagman (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
7193//GAME( 1982, dkongjrm, dkongjr,  dkongjrm, dkongjrm, galaxian_state, galaxian, ROT90,  "bootleg", "Donkey Kong Jr. (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
7194//GAME( 1981, rockclim, 0,        rockclim, rockclim, galaxian_state, galaxian, ROT180, "Taito", "Rock Climber", GAME_SUPPORTS_SAVE )
7195//GAME( 1983, ozon1,    0,        ozon1,    ozon1, galaxold_state,    galaxian, ROT90,  "Proma", "Ozon I", GAME_SUPPORTS_SAVE )
7196//GAME( 1983, ladybugg, ladybug,  galaxian/*batman2*/,  ladybugg, XXX_CLASS, ladybugg, ROT270, "bootleg", "Lady Bug (bootleg on Galaxian hardware)", GAME_SUPPORTS_SAVE )
7197//GAME( 1980, vpool,    hustler,  mooncrst, vpool, galaxian_state,    galaxian, ROT90,  "bootleg", "Video Pool (bootleg on Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
7198//GAME( 1984, drivfrcg, drivfrcp, drivfrcg, drivfrcg, galaxold_state, galaxian, ROT90,  "Shinkai Inc. (Magic Electronics USA license)", "Driving Force (Galaxian conversion)", GAME_SUPPORTS_SAVE )
7199//GAME( 1985, drivfrcb, drivfrcp, drivfrcg, drivfrcg, galaxold_state, galaxian, ROT90,  "bootleg", "Driving Force (Galaxian conversion bootleg)", GAME_SUPPORTS_SAVE )
7200//GAME( 1983, bongo,    0,        bongo,    bongo, galaxold_state,    galaxian, ROT90,  "Jetsoft", "Bongo", GAME_SUPPORTS_SAVE )
7201//GAME( 1983, hunchbkg, hunchbak,   hunchbkg, hunchbkg, galaxold_state, galaxian, ROT90,  "Century Electronics", "Hunchback (Galaxian hardware)", GAME_SUPPORTS_SAVE )
7202//GAME( 1983, harem,    0,        harem,    harem, galaxold_state,    galaxian, ROT90,  "I.G.R.", "Harem", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
7203//GAME( 1982, tazzmang, tazmania,   tazzmang, tazzmang, galaxian_state, galaxian, ROT90,  "bootleg", "Tazz-Mania (Galaxian Hardware)", GAME_SUPPORTS_SAVE )
7204//GAME( 1986, racknrol, 0,        racknrol, racknrol, galaxold_state, galaxian, ROT0,   "Status (Shinkai license)", "Rack + Roll", GAME_SUPPORTS_SAVE )
7205//GAME( 1986, hexpool,  racknrol, racknrol, racknrol, galaxold_state, galaxian, ROT90,  "Shinkai", "Hex Pool (Shinkai)", GAME_SUPPORTS_SAVE )
7206//GAME( 1985, hexpoola, racknrol, hexpoola, racknrol, galaxold_state, galaxian, ROT90,  "Senko", "Hex Pool (Senko)", GAME_SUPPORTS_SAVE )
7207//GAME( 1985, trvchlng, 0,        racknrol, trvchlng, galaxold_state, galaxian, ROT90,  "Joyland (Senko license)", "Trivia Challenge", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
7208//GAME( 1981, ckongg,   0,        ckongg  , ckongg, galaxian_state,   galaxian, ROT90,  "bootleg", "Crazy Kong (galaxian)", GAME_SUPPORTS_SAVE )
7209//GAME( 1981, kkgalax,  ckongg,   ckongg  , ckongg, galaxian_state,   galaxian, ROT90,  "bootleg", "Crazy Kong (bootleg on Galaxian hardware, set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // set was marked as 'King Kong on Galaxian'
7210//GAME( 19??, porter,   0,        mooncrst, porter, galaxian_state,   mooncrst, ROT90,  "bootleg", "Port Man (bootleg on Moon Cresta hardware)", GAME_IMPERFECT_GRAPHICS ) // missing GFX bank switch!
7211
7212/* currently in scramble.c and should be moved here */
7213//GAME( 1982, triplep,  0,        theend  /*triplep*/,  triplep, XXX_CLASS,  scramble_ppi, ROT90, "KKI", "Triple Punch", GAME_SUPPORTS_SAVE )
7214//GAME( 1982, knockout, triplep,  theend  /*triplep*/,  triplep, XXX_CLASS,  scramble_ppi, ROT90, "KKK", "Knock Out!!", GAME_SUPPORTS_SAVE )
7215//GAME( 1981, mariner,  0,        theend  /*mariner*/,  scramble, XXX_CLASS, mariner,      ROT90, "Amenip", "Mariner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
7216//GAME( 1981, 800fath,  mariner,  theend  /*mariner*/,  scramble, XXX_CLASS, mariner,      ROT90, "Amenip (US Billiards Inc. license)", "800 Fathoms", GAME_SUPPORTS_SAVE )
7217//GAME( 1981, ckongs,   ckong,    theend  /*ckongs*/,   ckongs, XXX_CLASS,   ckongs,       ROT90, "bootleg", "Crazy Kong (Scramble hardware)", GAME_SUPPORTS_SAVE )
7218//GAME( 1981, mars,     0,        theend  /*mars*/,     mars, XXX_CLASS,     mars,         ROT90, "Artic", "Mars", GAME_SUPPORTS_SAVE )
7219//GAME( 1982, devilfsh, 0,        theend  /*devilfsh*/, devilfsh, XXX_CLASS, devilfsh,     ROT90, "Artic", "Devil Fish", GAME_SUPPORTS_SAVE )
7220//GAME( 1983, newsin7,  0,        theend  /*newsin7*/,  newsin7, XXX_CLASS,  mars,         ROT90, "ATW USA, Inc.", "New Sinbad 7", GAME_SUPPORTS_SAVE )
7221//GAME( 1984, mrkougar, 0,        theend  /*mrkougar*/, mrkougar, XXX_CLASS, mrkougar,     ROT90, "ATW", "Mr. Kougar", GAME_SUPPORTS_SAVE )
7222//GAME( 1983, mrkougr2, mrkougar, theend  /*mrkougar*/, mrkougar, XXX_CLASS, mrkougar,     ROT90, "ATW", "Mr. Kougar (earlier)", GAME_SUPPORTS_SAVE )
7223//GAME( 1983, mrkougb,  mrkougar, theend  /*mrkougb*/,  mrkougar, XXX_CLASS, mrkougb,      ROT90, "bootleg", "Mr. Kougar (bootleg set 1)", GAME_SUPPORTS_SAVE )
7224//GAME( 1983, mrkougb2, mrkougar, theend  /*mrkougb*/,  mrkougar, XXX_CLASS, mrkougb,      ROT90, "bootleg", "Mr. Kougar (bootleg set 2)", GAME_SUPPORTS_SAVE )
7225//GAME( 1982, hotshock, 0,        theend  /*hotshock*/, hotshock, XXX_CLASS, hotshock,     ROT90, "E.G. Felaco", "Hot Shocker", GAME_SUPPORTS_SAVE )
7226//GAME( 1982, conquer,  0,        theend  /*hotshock*/, hotshock, driver_device, 0,            ROT90, "<unknown>", "Conquer", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
7227//GAME( 1983, hunchbks, hunchbak, theend  /*hunchbks*/, hunchbks, XXX_CLASS, scramble_ppi, ROT90, "Century Electronics", "Hunchback (Scramble hardware)", GAME_SUPPORTS_SAVE )
7228//GAME( 1984, hncholms, huncholy, theend  /*hncholms*/, hncholms, XXX_CLASS, scramble_ppi, ROT90, "Century Electronics", "Hunchback Olympic (Scramble hardware)", GAME_SUPPORTS_SAVE )
7229//GAME( 1983, cavelon,  0,        theend  /*cavelon*/,  cavelon, XXX_CLASS,  cavelon,      ROT90, "Jetsoft", "Cavelon", GAME_SUPPORTS_SAVE )
7230//GAME( 1982, mimonscr, mimonkey, theend  /*mimonscr*/, mimonscr, XXX_CLASS, mimonscr,     ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", GAME_SUPPORTS_SAVE )
7231//GAME( 1983, ad2083,   0,        theend  /*ad2083*/,   ad2083, XXX_CLASS,   ad2083,       ROT90, "Midcoin", "A. D. 2083", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
7232//GAME( 1981, turpins,  turtles,  turtles,  turpins, driver_device,  0,              ROT90, "bootleg", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet
7233
7234/* currently in scobra.c and should be moved here */
7235//GAME( 1981, stratgyx, 0,        scobra/*stratgyx*/, stratgyx, XXX_CLASS, stratgyx,     ROT0,   "Konami", "Strategy X", GAME_SUPPORTS_SAVE )
7236//GAME( 1981, stratgys, stratgyx, scobra/*stratgyx*/, stratgyx, XXX_CLASS, stratgyx,     ROT0,   "Konami (Stern Electronics license)", "Strategy X (Stern Electronics)", GAME_SUPPORTS_SAVE )
7237//GAME( 1982, darkplnt, 0,        scobra/*darkplnt*/, darkplnt, XXX_CLASS, darkplnt,     ROT180, "Stern Electronics", "Dark Planet", GAME_SUPPORTS_SAVE )
7238//GAME( 1982, tazmani2, tazmania, scobra/*type2*/,    tazmania, XXX_CLASS, tazmani2,     ROT90,  "Stern Electronics", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE )
7239//GAME( 1982, rescue,   0,        scobra/*rescue*/,   rescue, XXX_CLASS,   rescue,       ROT90,  "Stern Electronics", "Rescue", GAME_SUPPORTS_SAVE )
7240//GAME( 1982, aponow,   rescue,   scobra/*rescue*/,   rescue, XXX_CLASS,   rescue,       ROT90,  "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE )
7241//GAME( 1983, minefld,  0,        scobra/*minefld*/,  minefld, XXX_CLASS,  minefld,      ROT90,  "Stern Electronics", "Minefield", GAME_SUPPORTS_SAVE )
7242//GAME( 1981, hustler,  0,        scobra/*hustler*/,  hustler, XXX_CLASS,  hustler,      ROT90,  "Konami", "Video Hustler", GAME_SUPPORTS_SAVE )
7243//GAME( 1981, billiard, hustler,  scobra/*hustler*/,  hustler, XXX_CLASS,  billiard,     ROT90,  "bootleg", "The Billiards", GAME_SUPPORTS_SAVE )
7244//GAME( 1981, hustlerb, hustler,  scobra/*hustlerb*/, hustler, XXX_CLASS,  scramble_ppi, ROT90,  "bootleg", "Video Hustler (bootleg)", GAME_SUPPORTS_SAVE )
7245//GAME( 1982, mimonkey, 0,        scobra/*mimonkey*/, mimonkey, XXX_CLASS, mimonkey,     ROT90,  "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE )
7246//GAME( 1982, mimonsco, mimonkey, scobra/*mimonkey*/, mimonsco, XXX_CLASS, mimonsco,     ROT90,  "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE )
7247
7248/* currently in dambustr.c and should be moved here */
7249//GAME( 1981, dambustr,   0,        dambustr, dambustr, dambustr_state,   dambustr, ROT90, "South West Research", "Dambusters (US, set 1)", 0 )
7250//GAME( 1981, dambustra,  dambustr, dambustr, dambustr, dambustr_state,   dambustr, ROT90, "South West Research", "Dambusters (US, set 2)", 0 )
7251//GAME( 1981, dambustruk, dambustr, dambustr, dambustruk, dambustr_state, dambustr, ROT90, "South West Research", "Dambusters (UK)", 0 )
7252
7253/* misc stuff that should eventually be moved here */
7254//GAME( 1981, scramblb, scramble, scramblb, scramblb, galaxian_state, galaxian, ROT90,  "bootleg", "Scramble (Galaxian hardware)", GAME_SUPPORTS_SAVE )
7255//GAME( 1981, scramb2,  scramble, scramb2,  scramb2, driver_device,  0,        ROT90,  "bootleg", "Scramble (bootleg)", GAME_SUPPORTS_SAVE )
Property changes on: trunk/src/mame/drivers/galaxian.inc
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Previous 199869 Revisions Next


© 1997-2024 The MAME Team