mirror of
https://github.com/holub/mame
synced 2025-04-23 17:00:53 +03:00
Cleanups for 0.125u3.
This commit is contained in:
parent
7247ecbce2
commit
c852c42952
122
src/emu/cheat.c
122
src/emu/cheat.c
@ -120,7 +120,7 @@ enum
|
||||
DEFINE_BITFIELD_ENUM(RegionFlag, 7, 7), // 0 = cpu, 1 = non-cpu
|
||||
|
||||
/* old code */
|
||||
// DEFINE_BITFIELD_ENUM(OneShot, 0, 0),
|
||||
// DEFINE_BITFIELD_ENUM(OneShot, 0, 0),
|
||||
DEFINE_BITFIELD_ENUM(Type, 1, 2),
|
||||
DEFINE_BITFIELD_ENUM(Operation, 3, 4),
|
||||
DEFINE_BITFIELD_ENUM(TypeParameter, 5, 7),
|
||||
@ -393,7 +393,7 @@ enum // entry flags
|
||||
kCheatFlag_HasWrongCode = 1 << 12,
|
||||
|
||||
/* true if the cheat has been edited or is a new cheat
|
||||
checked at auto-save then save the code if true */
|
||||
checked at auto-save then save the code if true */
|
||||
kCheatFlag_Dirty = 1 << 13,
|
||||
|
||||
/* masks */
|
||||
@ -1039,16 +1039,16 @@ static const UINT32 kIncrementDecTable[] =
|
||||
|
||||
static const char *const kRegionNames[] = {
|
||||
"INVALID",
|
||||
"CPU1", "CPU2", "CPU3", "CPU4", "CPU5", "CPU6", "CPU7", "CPU8", // 01-08 [01-08] : CPU
|
||||
"GFX1", "GFX2", "GFX3", "GFX4", "GFX5", "GFX6", "GFX7", "GFX8", // 09-16 [08-10] : GFX
|
||||
"PROMS", // 17 [11] : PROMS
|
||||
"SOUND1", "SOUND2", "SOUND3", "SOUND4", "SOUND5", "SOUND6", "SOUND7", "SOUND8", // 18-25 [12-19] : SOUND
|
||||
"USER1", "USER2", "USER3", "USER4", "USER5", "USER6", "USER7", "USER8", // 26-45 [1A-2D] : USER
|
||||
"CPU1", "CPU2", "CPU3", "CPU4", "CPU5", "CPU6", "CPU7", "CPU8", // 01-08 [01-08] : CPU
|
||||
"GFX1", "GFX2", "GFX3", "GFX4", "GFX5", "GFX6", "GFX7", "GFX8", // 09-16 [08-10] : GFX
|
||||
"PROMS", // 17 [11] : PROMS
|
||||
"SOUND1", "SOUND2", "SOUND3", "SOUND4", "SOUND5", "SOUND6", "SOUND7", "SOUND8", // 18-25 [12-19] : SOUND
|
||||
"USER1", "USER2", "USER3", "USER4", "USER5", "USER6", "USER7", "USER8", // 26-45 [1A-2D] : USER
|
||||
/* USER9 - PLDS are undefined in old format */
|
||||
"USER9", "USER10", "USER11", "USER12", "USER13", "USER14", "USER15", "USER16",
|
||||
"USER17", "USER18", "USER19", "USER20",
|
||||
"DISKS", // 46 [2E] : DISKS
|
||||
"PLDS" }; // 47 [2F] : PLDS
|
||||
"DISKS", // 46 [2E] : DISKS
|
||||
"PLDS" }; // 47 [2F] : PLDS
|
||||
|
||||
static const char *const kNumbersTable[] = {
|
||||
"0", "1", "2", "3", "4", "5", "6", "7",
|
||||
@ -1437,12 +1437,12 @@ static int ShiftKeyPressed(void)
|
||||
{
|
||||
return (input_code_pressed(KEYCODE_LSHIFT) || input_code_pressed(KEYCODE_RSHIFT));
|
||||
}
|
||||
|
||||
|
||||
static int ControlKeyPressed(void)
|
||||
{
|
||||
return (input_code_pressed(KEYCODE_LCONTROL) || input_code_pressed(KEYCODE_RCONTROL));
|
||||
}
|
||||
|
||||
|
||||
static int AltKeyPressed(void)
|
||||
{
|
||||
return (input_code_pressed(KEYCODE_LALT) || input_code_pressed(KEYCODE_RALT));
|
||||
@ -4736,31 +4736,31 @@ static int edit_cheat_menu(running_machine *machine, cheat_menu_stack *menu)
|
||||
|
||||
switch(info->fieldType)
|
||||
{
|
||||
/* case kType_ActivationKey1:
|
||||
case kType_ActivationKey2:
|
||||
if(info->fieldType == kType_ActivationKey1)
|
||||
{
|
||||
entry->activationKey1--;
|
||||
/* case kType_ActivationKey1:
|
||||
case kType_ActivationKey2:
|
||||
if(info->fieldType == kType_ActivationKey1)
|
||||
{
|
||||
entry->activationKey1--;
|
||||
|
||||
if(entry->activationKey1 < 0)
|
||||
entry->activationKey1 = __code_max - 1;
|
||||
if(entry->activationKey1 >= __code_max)
|
||||
entry->activationKey1 = 0;
|
||||
if(entry->activationKey1 < 0)
|
||||
entry->activationKey1 = __code_max - 1;
|
||||
if(entry->activationKey1 >= __code_max)
|
||||
entry->activationKey1 = 0;
|
||||
|
||||
entry->flags |= kCheatFlag_HasActivationKey1;
|
||||
}
|
||||
else
|
||||
{
|
||||
entry->activationKey2--;
|
||||
entry->flags |= kCheatFlag_HasActivationKey1;
|
||||
}
|
||||
else
|
||||
{
|
||||
entry->activationKey2--;
|
||||
|
||||
if(entry->activationKey2 < 0)
|
||||
entry->activationKey2 = __code_max - 1;
|
||||
if(entry->activationKey2 >= __code_max)
|
||||
entry->activationKey2 = 0;
|
||||
if(entry->activationKey2 < 0)
|
||||
entry->activationKey2 = __code_max - 1;
|
||||
if(entry->activationKey2 >= __code_max)
|
||||
entry->activationKey2 = 0;
|
||||
|
||||
entry->flags |= kCheatFlag_HasActivationKey2;
|
||||
}
|
||||
break;
|
||||
entry->flags |= kCheatFlag_HasActivationKey2;
|
||||
}
|
||||
break;
|
||||
*/
|
||||
case kType_Link:
|
||||
TOGGLE_MASK_FIELD(action->type, LinkEnable);
|
||||
@ -5036,31 +5036,31 @@ static int edit_cheat_menu(running_machine *machine, cheat_menu_stack *menu)
|
||||
|
||||
switch(info->fieldType)
|
||||
{
|
||||
/* case kType_ActivationKey1:
|
||||
case kType_ActivationKey2:
|
||||
if(info->fieldType == kType_ActivationKey1)
|
||||
{
|
||||
entry->activationKey1++;
|
||||
/* case kType_ActivationKey1:
|
||||
case kType_ActivationKey2:
|
||||
if(info->fieldType == kType_ActivationKey1)
|
||||
{
|
||||
entry->activationKey1++;
|
||||
|
||||
if(entry->activationKey1 < 0)
|
||||
entry->activationKey1 = __code_max - 1;
|
||||
if(entry->activationKey1 >= __code_max)
|
||||
entry->activationKey1 = 0;
|
||||
if(entry->activationKey1 < 0)
|
||||
entry->activationKey1 = __code_max - 1;
|
||||
if(entry->activationKey1 >= __code_max)
|
||||
entry->activationKey1 = 0;
|
||||
|
||||
entry->flags |= kCheatFlag_HasActivationKey1;
|
||||
}
|
||||
else
|
||||
{
|
||||
entry->activationKey2++;
|
||||
entry->flags |= kCheatFlag_HasActivationKey1;
|
||||
}
|
||||
else
|
||||
{
|
||||
entry->activationKey2++;
|
||||
|
||||
if(entry->activationKey2 < 0)
|
||||
entry->activationKey2 = __code_max - 1;
|
||||
if(entry->activationKey2 >= __code_max)
|
||||
entry->activationKey2 = 0;
|
||||
if(entry->activationKey2 < 0)
|
||||
entry->activationKey2 = __code_max - 1;
|
||||
if(entry->activationKey2 >= __code_max)
|
||||
entry->activationKey2 = 0;
|
||||
|
||||
entry->flags |= kCheatFlag_HasActivationKey2;
|
||||
}
|
||||
break;
|
||||
entry->flags |= kCheatFlag_HasActivationKey2;
|
||||
}
|
||||
break;
|
||||
*/
|
||||
case kType_Link:
|
||||
TOGGLE_MASK_FIELD(action->type, LinkEnable);
|
||||
@ -6224,8 +6224,8 @@ static int search_minimum_menu(running_machine *machine, cheat_menu_stack *menu)
|
||||
const char * menuSubItem[kMenu_Max + 1] = { 0 };
|
||||
char flagBuf[kMenu_Max + 1] = { 0 };
|
||||
char cpuBuf[4];
|
||||
char valueBuf[32]; // "FFFFFFF[F] (4294967295)" 23 chars
|
||||
char timerBuf[32]; // "-FFFFFFF[F] (4294967295)" 24 chars
|
||||
char valueBuf[32]; // "FFFFFFF[F] (4294967295)" 23 chars
|
||||
char timerBuf[32]; // "-FFFFFFF[F] (4294967295)" 24 chars
|
||||
char numResultsBuf[16];
|
||||
char * stringsBuf;
|
||||
search_info *search = get_current_search();
|
||||
@ -7824,7 +7824,7 @@ static int select_search_region_menu(running_machine *machine, cheat_menu_stack
|
||||
}
|
||||
else
|
||||
{
|
||||
/* in case of no SearchRegion */
|
||||
/* in case of no SearchRegion */
|
||||
menuItem[total] = "No Search Region";
|
||||
menuSubItem[total++] = NULL;
|
||||
}
|
||||
@ -7903,7 +7903,7 @@ static int select_search_region_menu(running_machine *machine, cheat_menu_stack
|
||||
{
|
||||
/* SHIFT + CHEAT DELETE = invalidate selected region */
|
||||
invalidate_entire_region(search, region);
|
||||
// ui_popup_time(1, "region invalidated - %d results remain", search->num_results);
|
||||
// ui_popup_time(1, "region invalidated - %d results remain", search->num_results);
|
||||
}
|
||||
}
|
||||
else if(input_ui_pressed(machine, IPT_UI_RELOAD_CHEAT))
|
||||
@ -8328,7 +8328,7 @@ static int choose_watch_menu(running_machine *machine, cheat_menu_stack *menu)
|
||||
UINT8 total = 0;
|
||||
const char ** menuItem;
|
||||
char ** buf;
|
||||
char * stringsBuf; // "USER20 FFFFFFFF (99:32 Bit)" 27 chars
|
||||
char * stringsBuf; // "USER20 FFFFFFFF (99:32 Bit)" 27 chars
|
||||
WatchInfo * watch;
|
||||
|
||||
/* first setting : NONE */
|
||||
@ -10476,7 +10476,7 @@ static void ResizeCheatActionListNoDispose(CheatEntry * entry, UINT32 newLength)
|
||||
|
||||
/*----------------------------------------------------------------
|
||||
AddActionBefore - Insert empty Action
|
||||
This function is only called in EditCheat()
|
||||
This function is only called in EditCheat()
|
||||
----------------------------------------------------------------*/
|
||||
|
||||
static void AddActionBefore(CheatEntry * entry, UINT32 idx)
|
||||
@ -11025,7 +11025,7 @@ static UINT32 read_region_data(search_region *region, UINT32 offset, UINT8 size,
|
||||
UINT8 * buf = (UINT8 *)region->cached_pointer;
|
||||
|
||||
if(buf)
|
||||
/* return DoMemoryRead(region->cached_pointer, address, size, swap, &raw_cpu_info); */
|
||||
/* return DoMemoryRead(region->cached_pointer, address, size, swap, &raw_cpu_info); */
|
||||
return DoMemoryRead(buf, address, size, cpu_needs_swap(region->target_idx) ^ swap, get_cpu_info(region->target_idx));
|
||||
else
|
||||
return 0;
|
||||
@ -15011,7 +15011,7 @@ static void BuildLabelIndexTable(CheatEntry *entry)
|
||||
|
||||
//logerror("Cheat - Finish building index table for %s (length = %x)\n", entry->name, entry->labelIndexLength);
|
||||
//for(i = 0; i < entry->labelIndexLength; i++)
|
||||
// logerror("IndexTable[%x] = %x\n",i,entry->labelIndex[i]);
|
||||
// logerror("IndexTable[%x] = %x\n",i,entry->labelIndex[i]);
|
||||
|
||||
}
|
||||
|
||||
|
@ -60,11 +60,11 @@ static TIMER_CALLBACK(cop410_serial_tick)
|
||||
{
|
||||
/*
|
||||
|
||||
SIO is an asynchronous binary counter decrementing its value by one upon each low-going pulse ("1" to "0") occurring on the SI input.
|
||||
Each pulse must remain at each logic level at least two instruction cycles. SK outputs the value of the C upon the execution of an XAS
|
||||
and remains latched until the execution of another XAS instruction. The SO output is equal to the value of EN3.
|
||||
|
||||
*/
|
||||
SIO is an asynchronous binary counter decrementing its value by one upon each low-going pulse ("1" to "0") occurring on the SI input.
|
||||
Each pulse must remain at each logic level at least two instruction cycles. SK outputs the value of the C upon the execution of an XAS
|
||||
and remains latched until the execution of another XAS instruction. The SO output is equal to the value of EN3.
|
||||
|
||||
*/
|
||||
|
||||
// serial output
|
||||
|
||||
@ -87,17 +87,17 @@ static TIMER_CALLBACK(cop410_serial_tick)
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
|
||||
SIO is a serial shift register, shifting continuously left each instruction cycle time. The data present at SI goes into the least
|
||||
significant bit of SIO: SO can be enabled to output the most significant bit of SIO each cycle time. SK output becomes a logic-
|
||||
controlled clock, providing a SYNC signal each instruction time. It will start outputting a SYNC pulse upon the execution of an XAS
|
||||
instruction with C = "1," stopping upon the execution of a subsequent XAS with C = "0".
|
||||
/*
|
||||
|
||||
If EN0 is changed from "1" to "0" ("0" to "1") the SK output will change from "1" to SYNC (SYNC to "1") without the execution of
|
||||
an XAS instruction.
|
||||
SIO is a serial shift register, shifting continuously left each instruction cycle time. The data present at SI goes into the least
|
||||
significant bit of SIO: SO can be enabled to output the most significant bit of SIO each cycle time. SK output becomes a logic-
|
||||
controlled clock, providing a SYNC signal each instruction time. It will start outputting a SYNC pulse upon the execution of an XAS
|
||||
instruction with C = "1," stopping upon the execution of a subsequent XAS with C = "0".
|
||||
|
||||
*/
|
||||
If EN0 is changed from "1" to "0" ("0" to "1") the SK output will change from "1" to SYNC (SYNC to "1") without the execution of
|
||||
an XAS instruction.
|
||||
|
||||
*/
|
||||
|
||||
// serial output
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
TODO:
|
||||
|
||||
- remove LBIops
|
||||
- run all test suites
|
||||
- run all test suites
|
||||
|
||||
*/
|
||||
|
||||
|
@ -13,8 +13,8 @@
|
||||
|
||||
TODO:
|
||||
|
||||
- run interrupt test suite
|
||||
- run production test suite
|
||||
- run interrupt test suite
|
||||
- run production test suite
|
||||
- remove LBIops
|
||||
|
||||
*/
|
||||
|
@ -4845,14 +4845,14 @@ static x86code *op_setc(drcbe_state *drcbe, x86code *dst, const drcuml_instructi
|
||||
emit_clc(&dst);
|
||||
return dst;
|
||||
}
|
||||
|
||||
|
||||
/* load non-immediate bit numbers into a register */
|
||||
if (bitp.type != DRCUML_PTYPE_IMMEDIATE)
|
||||
{
|
||||
emit_mov_r32_p32(drcbe, &dst, REG_ECX, &bitp);
|
||||
emit_and_r32_imm(&dst, REG_ECX, inst->size * 8 - 1);
|
||||
}
|
||||
|
||||
|
||||
/* 32-bit form */
|
||||
if (inst->size == 4)
|
||||
{
|
||||
@ -4871,7 +4871,7 @@ static x86code *op_setc(drcbe_state *drcbe, x86code *dst, const drcuml_instructi
|
||||
emit_bt_r32_r32(&dst, srcp.value, REG_ECX); // bt srcp,ecx
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 64-bit form */
|
||||
else
|
||||
{
|
||||
|
@ -4906,14 +4906,14 @@ static x86code *op_setc(drcbe_state *drcbe, x86code *dst, const drcuml_instructi
|
||||
emit_clc(&dst);
|
||||
return dst;
|
||||
}
|
||||
|
||||
|
||||
/* load non-immediate bit numbers into a register */
|
||||
if (bitp.type != DRCUML_PTYPE_IMMEDIATE)
|
||||
{
|
||||
emit_mov_r32_p32(drcbe, &dst, REG_ECX, &bitp);
|
||||
emit_and_r32_imm(&dst, REG_ECX, inst->size * 8 - 1);
|
||||
}
|
||||
|
||||
|
||||
/* 32-bit form */
|
||||
if (inst->size == 4)
|
||||
{
|
||||
@ -4932,7 +4932,7 @@ static x86code *op_setc(drcbe_state *drcbe, x86code *dst, const drcuml_instructi
|
||||
emit_bt_r32_r32(&dst, srcp.value, REG_ECX); // bt [srcp],ecx
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 64-bit form */
|
||||
else
|
||||
{
|
||||
|
@ -12,14 +12,14 @@
|
||||
|
||||
Future improvements/changes:
|
||||
|
||||
* change from detecting live to detecting unnecessary
|
||||
- at the end of sequence: mustupdate.all = TRUE;
|
||||
- scan backwards:
|
||||
inst.mustupdate = inst.update & mustupdate;
|
||||
if (inst.modified.reg) mustupdate.reg = FALSE;
|
||||
if (inst.used.reg) mustupdate.reg = TRUE;
|
||||
* change from detecting live to detecting unnecessary
|
||||
- at the end of sequence: mustupdate.all = TRUE;
|
||||
- scan backwards:
|
||||
inst.mustupdate = inst.update & mustupdate;
|
||||
if (inst.modified.reg) mustupdate.reg = FALSE;
|
||||
if (inst.used.reg) mustupdate.reg = TRUE;
|
||||
|
||||
* rename UINT64 gpr, fpr to UINT32 reg[4]
|
||||
* rename UINT64 gpr, fpr to UINT32 reg[4]
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -17,16 +17,16 @@
|
||||
- checks behavior of all opcodes
|
||||
|
||||
* Extend registers to 16? Depends on if PPC can use them
|
||||
|
||||
|
||||
* Support for FPU exceptions
|
||||
|
||||
* New instructions?
|
||||
- FDRNDS dst,src
|
||||
round to single-precision
|
||||
- FDRNDS dst,src
|
||||
round to single-precision
|
||||
|
||||
- FCOPYI, ICOPYF
|
||||
copy raw between float and integer registers
|
||||
|
||||
- FCOPYI, ICOPYF
|
||||
copy raw between float and integer registers
|
||||
|
||||
- VALID opcode_desc,handle,param
|
||||
checksum/compare code referenced by opcode_desc; if not
|
||||
matching, generate exception with handle,param
|
||||
|
@ -209,7 +209,7 @@ struct _mips3_state
|
||||
/* MMU */
|
||||
mips3_tlb_entry tlb[MIPS3_TLB_ENTRIES];
|
||||
UINT32 * tlb_table;
|
||||
|
||||
|
||||
/* for use by specific implementations */
|
||||
mips3imp_state *impstate;
|
||||
};
|
||||
|
@ -11,7 +11,7 @@
|
||||
****************************************************************************
|
||||
|
||||
Future improvements/changes:
|
||||
|
||||
|
||||
* Add DRC option to flush PC before calling memory handlers
|
||||
|
||||
* Constant tracking? (hasn't bought us much in the past)
|
||||
@ -926,7 +926,7 @@ static void mips3_set_info(UINT32 state, cpuinfo *info)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
mips3_get_info - return information about a
|
||||
mips3_get_info - return information about a
|
||||
given CPU instance
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -1110,7 +1110,7 @@ static void code_compile_block(drcuml_state *drcuml, UINT8 mode, offs_t pc)
|
||||
UML_HASHJMP(block, MEM(&mips3->impstate->mode), IMM(nextpc), mips3->impstate->nocode);
|
||||
// hashjmp <mode>,nextpc,nocode
|
||||
else if (seqlast->next == NULL || seqlast->next->pc != nextpc)
|
||||
UML_HASHJMP(block, IMM(mips3->impstate->mode), IMM(nextpc), mips3->impstate->nocode);
|
||||
UML_HASHJMP(block, IMM(mips3->impstate->mode), IMM(nextpc), mips3->impstate->nocode);
|
||||
// hashjmp <mode>,nextpc,nocode
|
||||
}
|
||||
|
||||
@ -1964,7 +1964,7 @@ static void generate_delay_slot_and_branch(drcuml_block *block, compiler_state *
|
||||
{
|
||||
generate_update_cycles(block, &compiler_temp, R32(RSREG), TRUE);
|
||||
// <subtract cycles>
|
||||
UML_HASHJMP(block, IMM(mips3->impstate->mode), R32(RSREG), mips3->impstate->nocode);
|
||||
UML_HASHJMP(block, IMM(mips3->impstate->mode), R32(RSREG), mips3->impstate->nocode);
|
||||
// hashjmp <mode>,<rsreg>,nocode
|
||||
}
|
||||
|
||||
@ -2061,7 +2061,7 @@ static int generate_opcode(drcuml_block *block, compiler_state *compiler, const
|
||||
if (mips3->impstate->drcoptions & MIPS3DRC_CHECK_OVERFLOWS)
|
||||
{
|
||||
UML_ADDf(block, IREG(0), R32(RSREG), IMM(SIMMVAL), FLAGS_V); // add i0,<rsreg>,SIMMVAL,V
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
// exh overflow,0
|
||||
}
|
||||
else
|
||||
@ -2082,7 +2082,7 @@ static int generate_opcode(drcuml_block *block, compiler_state *compiler, const
|
||||
if (mips3->impstate->drcoptions & MIPS3DRC_CHECK_OVERFLOWS)
|
||||
{
|
||||
UML_DADDf(block, IREG(0), R64(RSREG), IMM(SIMMVAL), FLAGS_V); // dadd i0,<rsreg>,SIMMVAL,V
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
// exh overflow,0
|
||||
}
|
||||
else
|
||||
@ -2115,7 +2115,7 @@ static int generate_opcode(drcuml_block *block, compiler_state *compiler, const
|
||||
if (RTREG != 0)
|
||||
{
|
||||
UML_DCMP(block, R64(RSREG), IMM(SIMMVAL)); // dcmp <rsreg>,SIMMVAL
|
||||
UML_DFLAGS(block, R64(RTREG), (UINT64)~0, mips3->impstate->slt_table);
|
||||
UML_DFLAGS(block, R64(RTREG), (UINT64)~0, mips3->impstate->slt_table);
|
||||
// dflags <rtreg>,~0,slt_table
|
||||
}
|
||||
return TRUE;
|
||||
@ -2220,7 +2220,7 @@ static int generate_opcode(drcuml_block *block, compiler_state *compiler, const
|
||||
if (mips3->bigendian)
|
||||
UML_XOR(block, IREG(1), IREG(1), IMM(0x18)); // xor i1,i1,0x18
|
||||
UML_SHL(block, IREG(2), IMM(~0), IREG(1)); // shl i2,~0,i1
|
||||
UML_CALLH(block, mips3->impstate->read32mask[mips3->impstate->mode >> 1]);
|
||||
UML_CALLH(block, mips3->impstate->read32mask[mips3->impstate->mode >> 1]);
|
||||
// callh read32mask
|
||||
if (RTREG != 0)
|
||||
{
|
||||
@ -2240,7 +2240,7 @@ static int generate_opcode(drcuml_block *block, compiler_state *compiler, const
|
||||
if (!mips3->bigendian)
|
||||
UML_XOR(block, IREG(1), IREG(1), IMM(0x38)); // xor i1,i1,0x38
|
||||
UML_DSHR(block, IREG(2), IMM((UINT64)~0), IREG(1)); // dshr i2,~0,i1
|
||||
UML_CALLH(block, mips3->impstate->read64mask[mips3->impstate->mode >> 1]);
|
||||
UML_CALLH(block, mips3->impstate->read64mask[mips3->impstate->mode >> 1]);
|
||||
// callh read64mask
|
||||
if (RTREG != 0)
|
||||
{
|
||||
@ -2257,7 +2257,7 @@ static int generate_opcode(drcuml_block *block, compiler_state *compiler, const
|
||||
if (mips3->bigendian)
|
||||
UML_XOR(block, IREG(1), IREG(1), IMM(0x38)); // xor i1,i1,0x38
|
||||
UML_DSHL(block, IREG(2), IMM((UINT64)~0), IREG(1)); // dshl i2,~0,i1
|
||||
UML_CALLH(block, mips3->impstate->read64mask[mips3->impstate->mode >> 1]);
|
||||
UML_CALLH(block, mips3->impstate->read64mask[mips3->impstate->mode >> 1]);
|
||||
// callh read64mask
|
||||
if (RTREG != 0)
|
||||
{
|
||||
@ -2344,7 +2344,7 @@ static int generate_opcode(drcuml_block *block, compiler_state *compiler, const
|
||||
UML_XOR(block, IREG(3), IREG(3), IMM(0x18)); // xor i3,i3,0x18
|
||||
UML_SHR(block, IREG(2), IMM(~0), IREG(3)); // shr i2,~0,i3
|
||||
UML_SHR(block, IREG(1), IREG(1), IREG(3)); // shr i1,i1,i3
|
||||
UML_CALLH(block, mips3->impstate->write32mask[mips3->impstate->mode >> 1]);
|
||||
UML_CALLH(block, mips3->impstate->write32mask[mips3->impstate->mode >> 1]);
|
||||
// callh write32mask
|
||||
if (!in_delay_slot)
|
||||
generate_update_cycles(block, compiler, IMM(desc->pc + 4), TRUE);
|
||||
@ -2358,7 +2358,7 @@ static int generate_opcode(drcuml_block *block, compiler_state *compiler, const
|
||||
UML_XOR(block, IREG(3), IREG(3), IMM(0x18)); // xor i3,i3,0x18
|
||||
UML_SHL(block, IREG(2), IMM(~0), IREG(3)); // shl i2,~0,i3
|
||||
UML_SHL(block, IREG(1), IREG(1), IREG(3)); // shl i1,i1,i3
|
||||
UML_CALLH(block, mips3->impstate->write32mask[mips3->impstate->mode >> 1]);
|
||||
UML_CALLH(block, mips3->impstate->write32mask[mips3->impstate->mode >> 1]);
|
||||
// callh write32mask
|
||||
if (!in_delay_slot)
|
||||
generate_update_cycles(block, compiler, IMM(desc->pc + 4), TRUE);
|
||||
@ -2372,7 +2372,7 @@ static int generate_opcode(drcuml_block *block, compiler_state *compiler, const
|
||||
UML_XOR(block, IREG(3), IREG(3), IMM(0x38)); // xor i3,i3,0x38
|
||||
UML_DSHR(block, IREG(2), IMM((UINT64)~0), IREG(3)); // dshr i2,~0,i3
|
||||
UML_DSHR(block, IREG(1), IREG(1), IREG(3)); // dshr i1,i1,i3
|
||||
UML_CALLH(block, mips3->impstate->write64mask[mips3->impstate->mode >> 1]);
|
||||
UML_CALLH(block, mips3->impstate->write64mask[mips3->impstate->mode >> 1]);
|
||||
// callh write64mask
|
||||
if (!in_delay_slot)
|
||||
generate_update_cycles(block, compiler, IMM(desc->pc + 4), TRUE);
|
||||
@ -2386,7 +2386,7 @@ static int generate_opcode(drcuml_block *block, compiler_state *compiler, const
|
||||
UML_XOR(block, IREG(3), IREG(3), IMM(0x38)); // xor i3,i3,0x38
|
||||
UML_DSHL(block, IREG(2), IMM((UINT64)~0), IREG(3)); // dshl i2,~0,i3
|
||||
UML_DSHL(block, IREG(1), IREG(1), IREG(3)); // dshl i1,i1,i3
|
||||
UML_CALLH(block, mips3->impstate->write64mask[mips3->impstate->mode >> 1]);
|
||||
UML_CALLH(block, mips3->impstate->write64mask[mips3->impstate->mode >> 1]);
|
||||
// callh write64mask
|
||||
if (!in_delay_slot)
|
||||
generate_update_cycles(block, compiler, IMM(desc->pc + 4), TRUE);
|
||||
@ -2575,7 +2575,7 @@ static int generate_special(drcuml_block *block, compiler_state *compiler, const
|
||||
if (mips3->impstate->drcoptions & MIPS3DRC_CHECK_OVERFLOWS)
|
||||
{
|
||||
UML_ADDf(block, IREG(0), R32(RSREG), R32(RTREG), FLAGS_V); // add i0,<rsreg>,<rtreg>,V
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
// exh overflow,0,V
|
||||
if (RDREG != 0)
|
||||
UML_DSEXT4(block, R64(RDREG), IREG(0)); // dsext4 <rdreg>,i0
|
||||
@ -2599,7 +2599,7 @@ static int generate_special(drcuml_block *block, compiler_state *compiler, const
|
||||
if (mips3->impstate->drcoptions & MIPS3DRC_CHECK_OVERFLOWS)
|
||||
{
|
||||
UML_DADDf(block, IREG(0), R64(RSREG), R64(RTREG), FLAGS_V); // dadd i0,<rsreg>,<rtreg>,V
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
// exh overflow,0,V
|
||||
if (RDREG != 0)
|
||||
UML_DMOV(block, R64(RDREG), IREG(0)); // dmov <rdreg>,i0
|
||||
@ -2617,7 +2617,7 @@ static int generate_special(drcuml_block *block, compiler_state *compiler, const
|
||||
if (mips3->impstate->drcoptions & MIPS3DRC_CHECK_OVERFLOWS)
|
||||
{
|
||||
UML_SUBf(block, IREG(0), R32(RSREG), R32(RTREG), FLAGS_V); // sub i0,<rsreg>,<rtreg>,V
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
// exh overflow,0,V
|
||||
if (RDREG != 0)
|
||||
UML_DSEXT4(block, R64(RDREG), IREG(0)); // dsext4 <rdreg>,i0
|
||||
@ -2641,7 +2641,7 @@ static int generate_special(drcuml_block *block, compiler_state *compiler, const
|
||||
if (mips3->impstate->drcoptions & MIPS3DRC_CHECK_OVERFLOWS)
|
||||
{
|
||||
UML_DSUBf(block, IREG(0), R64(RSREG), R64(RTREG), FLAGS_V); // dsub i0,<rsreg>,<rtreg>,V
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
UML_EXHc(block, IF_V, mips3->impstate->exception[EXCEPTION_OVERFLOW], IMM(0));
|
||||
// exh overflow,0,V
|
||||
if (RDREG != 0)
|
||||
UML_DMOV(block, R64(RDREG), IREG(0)); // dmov <rdreg>,i0
|
||||
|
@ -613,7 +613,7 @@ INLINE const char *get_port_tag(const input_port_config *port, char *tempbuffer)
|
||||
for (curport = port->machine->portconfig; curport != NULL; curport = curport->next)
|
||||
{
|
||||
if (curport == port)
|
||||
break;
|
||||
break;
|
||||
index++;
|
||||
}
|
||||
sprintf(tempbuffer, "(PORT#%d)", index);
|
||||
@ -636,7 +636,7 @@ INLINE void *error_buf_append(char *errorbuf, int errorbuflen, const char *forma
|
||||
if (strlen(format) + 25 < bytesleft)
|
||||
vsprintf(&errorbuf[curlen], format, va);
|
||||
va_end(va);
|
||||
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -904,8 +904,8 @@ void input_field_set_user_settings(const input_field_config *field, const input_
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
input_field_select_previous_setting - select
|
||||
the previous item for a DIP switch or
|
||||
input_field_select_previous_setting - select
|
||||
the previous item for a DIP switch or
|
||||
configuration field
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -913,7 +913,7 @@ void input_field_select_previous_setting(const input_field_config *field)
|
||||
{
|
||||
const input_setting_config *setting, *prevsetting;
|
||||
int found_match = FALSE;
|
||||
|
||||
|
||||
/* only makes sense if we have settings */
|
||||
assert(field->settinglist != NULL);
|
||||
|
||||
@ -947,7 +947,7 @@ void input_field_select_previous_setting(const input_field_config *field)
|
||||
|
||||
/*-------------------------------------------------
|
||||
input_field_select_next_setting - select the
|
||||
next item for a DIP switch or
|
||||
next item for a DIP switch or
|
||||
configuration field
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -2945,7 +2945,7 @@ static input_port_config *port_config_detokenize(input_port_config *listhead, co
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* insert any pending fields */
|
||||
if (curfield != NULL)
|
||||
field_config_insert(curfield, &maskbits, errorbuf, errorbuflen);
|
||||
@ -3026,7 +3026,7 @@ static input_field_config *field_config_alloc(input_port_config *port, int type,
|
||||
{
|
||||
input_field_config *config;
|
||||
int seqtype;
|
||||
|
||||
|
||||
/* allocate memory */
|
||||
config = malloc_or_die(sizeof(*config));
|
||||
memset(config, 0, sizeof(*config));
|
||||
@ -3046,8 +3046,8 @@ static input_field_config *field_config_alloc(input_port_config *port, int type,
|
||||
|
||||
/*-------------------------------------------------
|
||||
field_config_insert - insert an allocated
|
||||
input port field config, replacing any
|
||||
intersecting fields already present and
|
||||
input port field config, replacing any
|
||||
intersecting fields already present and
|
||||
inserting at the correct sorted location
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -3741,7 +3741,7 @@ static void save_game_inputs(running_machine *machine, xml_data_node *parentnode
|
||||
if (portnode != NULL)
|
||||
{
|
||||
char tempbuffer[20];
|
||||
|
||||
|
||||
/* add the identifying information and attributes */
|
||||
xml_set_attribute(portnode, "tag", get_port_tag(port, tempbuffer));
|
||||
xml_set_attribute(portnode, "type", input_field_type_to_token(machine, field->type, field->player));
|
||||
|
@ -5,10 +5,10 @@
|
||||
For datasheet http://www.threedee.com/jcm/library/index.html
|
||||
|
||||
2008/05 Miodrag Milanovic
|
||||
|
||||
- added support for autoload mode
|
||||
- fixed bug in calculating count
|
||||
|
||||
|
||||
- added support for autoload mode
|
||||
- fixed bug in calculating count
|
||||
|
||||
2007/11 couriersud
|
||||
|
||||
- architecture copied from 8237 DMA
|
||||
@ -172,9 +172,9 @@ static int dma8257_do_operation(int which, int channel)
|
||||
{
|
||||
if ((channel==2) && DMA_MODE_AUTOLOAD(dma[which].mode)) {
|
||||
/* in case of autoload at the end channel 3 info is */
|
||||
/* copied to channel 2 info */
|
||||
/* copied to channel 2 info */
|
||||
dma[which].registers[4] = dma[which].registers[6];
|
||||
dma[which].registers[5] = dma[which].registers[7];
|
||||
dma[which].registers[5] = dma[which].registers[7];
|
||||
}
|
||||
if (dma[which].intf->out_tc_func[channel])
|
||||
dma[which].intf->out_tc_func[channel](CLEAR_LINE);
|
||||
@ -319,7 +319,7 @@ static void dma8257_write(int which, offs_t offset, UINT8 data)
|
||||
|
||||
if (DMA_MODE_AUTOLOAD(dma[which].mode)) {
|
||||
/* in case of autoload when inserting channel 2 info */
|
||||
/* it is automaticaly copied to channel 3 info */
|
||||
/* it is automaticaly copied to channel 3 info */
|
||||
switch(offset) {
|
||||
case 4:
|
||||
case 5:
|
||||
@ -329,7 +329,7 @@ static void dma8257_write(int which, offs_t offset, UINT8 data)
|
||||
dma[which].registers[offset+2] = data;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
prepare_msb_flip(which);
|
||||
break;
|
||||
|
||||
|
@ -2219,40 +2219,40 @@ static file_error mame_fopen_next(running_machine *machine, const char *pathopti
|
||||
astring *fname = astring_alloc();
|
||||
file_error filerr;
|
||||
int index;
|
||||
|
||||
|
||||
/* handle defaults */
|
||||
if (snapname == NULL || snapname[0] == 0)
|
||||
snapname = "%g/%i";
|
||||
astring_cpyc(snapstr, snapname);
|
||||
|
||||
|
||||
/* strip any extension in the provided name and add our own */
|
||||
index = astring_rchr(snapstr, 0, '.');
|
||||
if (index != -1)
|
||||
astring_substr(snapstr, 0, index);
|
||||
astring_catc(snapstr, ".");
|
||||
astring_catc(snapstr, extension);
|
||||
|
||||
|
||||
/* substitute path and gamename up front */
|
||||
astring_replacec(snapstr, 0, "/", PATH_SEPARATOR);
|
||||
astring_replacec(snapstr, 0, "%g", machine->basename);
|
||||
|
||||
|
||||
/* determine if the template has an index; if not, we always use the same name */
|
||||
if (astring_findc(snapstr, 0, "%i") == -1)
|
||||
astring_cpy(fname, snapstr);
|
||||
|
||||
|
||||
/* otherwise, we scan for the next available filename */
|
||||
else
|
||||
{
|
||||
int seq;
|
||||
|
||||
|
||||
/* try until we succeed */
|
||||
for (seq = 0; ; seq++)
|
||||
{
|
||||
char seqtext[10];
|
||||
|
||||
|
||||
/* make text for the sequence number */
|
||||
sprintf(seqtext, "%04d", seq);
|
||||
|
||||
|
||||
/* build up the filename */
|
||||
astring_cpy(fname, snapstr);
|
||||
astring_replacec(fname, 0, "%i", seqtext);
|
||||
|
@ -523,8 +523,8 @@ int astring_findc(const astring *str, int start, const char *search)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
astring_replace - search in an astring for
|
||||
another astring, replacing all instances with
|
||||
astring_replace - search in an astring for
|
||||
another astring, replacing all instances with
|
||||
a third and returning the number of matches
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -535,8 +535,8 @@ int astring_replace(astring *str, int start, const astring *search, const astrin
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
astring_replacec - search in an astring for a
|
||||
C string, replacing all instances with another
|
||||
astring_replacec - search in an astring for a
|
||||
C string, replacing all instances with another
|
||||
C string and returning the number of matches
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -546,7 +546,7 @@ int astring_replacec(astring *str, int start, const char *search, const char *re
|
||||
int replacelen = strlen(replace);
|
||||
int matches = 0;
|
||||
int curindex;
|
||||
|
||||
|
||||
for (curindex = astring_findc(str, start, search); curindex != -1; curindex = astring_findc(str, curindex + replacelen, search))
|
||||
{
|
||||
matches++;
|
||||
|
@ -229,7 +229,7 @@
|
||||
|
||||
|
||||
Resistor Network
|
||||
----------------
|
||||
----------------
|
||||
|
||||
The following diagram is related to taiwanese and argentine PCBs.
|
||||
|
||||
@ -532,11 +532,11 @@ static WRITE8_HANDLER( ampoker2_watchdog_reset_w )
|
||||
if (((data >> 3) & 0x01) == 0) /* check for refresh value (0x08) */
|
||||
{
|
||||
watchdog_reset(machine);
|
||||
// popmessage("%02x", data);
|
||||
// popmessage("%02x", data);
|
||||
}
|
||||
else
|
||||
{
|
||||
// popmessage("%02x", data);
|
||||
// popmessage("%02x", data);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -149,7 +149,7 @@ static CUSTOM_INPUT( tomahawk_controls_r )
|
||||
|
||||
/* on a cocktail cabinet, two sets of controls are
|
||||
multiplexed on a single set of inputs
|
||||
(not verified on pcb) */
|
||||
(not verified on pcb) */
|
||||
|
||||
if (flipscreen)
|
||||
ret = input_port_read(field->port->machine, "P2");
|
||||
|
@ -264,7 +264,7 @@ static INPUT_PORTS_START( bking )
|
||||
|
||||
/* continue inputs are labelled in schematics. */
|
||||
/* They are not connected though to any button */
|
||||
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
|
||||
|
@ -2,19 +2,19 @@
|
||||
Driver by Ville Linde
|
||||
|
||||
|
||||
Konami 'Hornet' Hardware
|
||||
Konami, 1997-1999
|
||||
Konami 'Hornet' Hardware
|
||||
Konami, 1997-1999
|
||||
|
||||
Known games on this hardware include....
|
||||
Known games on this hardware include....
|
||||
|
||||
Game (C) Year
|
||||
----------------------------------------------
|
||||
Gradius 4 : Fukkatsu Konami 1999
|
||||
NBA Play by Play Konami 1998
|
||||
Silent Scope Konami 1999
|
||||
Silent Scope 2 : Fatal Judgement Konami 2000
|
||||
Silent Scope 2 : Dark Silhouette Konami 2000
|
||||
Terraburst Konami 1998
|
||||
Game (C) Year
|
||||
----------------------------------------------
|
||||
Gradius 4 : Fukkatsu Konami 1999
|
||||
NBA Play by Play Konami 1998
|
||||
Silent Scope Konami 1999
|
||||
Silent Scope 2 : Fatal Judgement Konami 2000
|
||||
Silent Scope 2 : Dark Silhouette Konami 2000
|
||||
Terraburst Konami 1998
|
||||
|
||||
Hardware overview:
|
||||
|
||||
@ -42,185 +42,185 @@
|
||||
3DFX 500-0010-01 (Voodoo 2) TMU with 4MB RAM
|
||||
|
||||
|
||||
Hardware configurations:
|
||||
------------------------
|
||||
Hardware configurations:
|
||||
------------------------
|
||||
|
||||
Game KONAMI ID CPU PCB GFX Board(s) LAN PCB
|
||||
--------------------------------------------------------------
|
||||
Gradius 4 GX837 GN715(A) GN715(B)
|
||||
NBA Play By Play GX778 GN715(A) GN715(B)
|
||||
Silent Scope GQ830 GN715(A) 2x GN715(B)
|
||||
Silent Scope 2 GQ931 GN715(A) 2x GQ871(B) GQ931(H)
|
||||
Game KONAMI ID CPU PCB GFX Board(s) LAN PCB
|
||||
--------------------------------------------------------------
|
||||
Gradius 4 GX837 GN715(A) GN715(B)
|
||||
NBA Play By Play GX778 GN715(A) GN715(B)
|
||||
Silent Scope GQ830 GN715(A) 2x GN715(B)
|
||||
Silent Scope 2 GQ931 GN715(A) 2x GQ871(B) GQ931(H)
|
||||
|
||||
|
||||
PCB Layouts
|
||||
-----------
|
||||
PCB Layouts
|
||||
-----------
|
||||
|
||||
Top Board
|
||||
GN715 PWB(A)A
|
||||
|--------------------------------------------------------------|
|
||||
| SP485CS CN10 CN11 CN9 JP8 JP9 JP10 JP11|
|
||||
|CN19 PAL1 |
|
||||
|CN21 JP13 PAL2 68EC000 EPROM.7S |
|
||||
| NE5532 PAL3 CN12|
|
||||
| JP12 JP16 DRM1M4SJ8 CN13|
|
||||
| NE5532 MASKROM.9P MASKROM.9T |
|
||||
| SM5877 JP15 RF5C400 |
|
||||
|CN18 MASKROM.12P MASKROM.12T|
|
||||
| SM5877 16.9344MHz |
|
||||
|CN14 SRAM256K MASKROM.14P MASKROM.14T|
|
||||
| |
|
||||
|CN16 SRAM256K MASKROM.16P MASKROM.16T|
|
||||
| ADC12138 |
|
||||
| 056800 JP5 |
|
||||
| JP4 |
|
||||
| MACH111 JP3 |---------| |
|
||||
| TEST_SW EPROM.22P | | |
|
||||
|CN1 DRAM16X16 |PPC403GA | |
|
||||
| EPROM.25P | | |
|
||||
| | | |
|
||||
| DRAM16X16 EPROM.27P |---------| |
|
||||
| 4AK16 JP6|
|
||||
| |
|
||||
|CN3 |
|
||||
| 0038323 PAL4 7.3728MHz|
|
||||
| E9825 058232 CN2 |
|
||||
| 50.000MHz|
|
||||
| RESET_SW CN5 JP1 JP2 |
|
||||
|M48T58Y-70PC1 CN4 CN6 64.000MHz|
|
||||
|--------------------------------------------------------------|
|
||||
Notes:
|
||||
DRM1M4SJ8 - Fujitsu 81C4256 256Kx4 DRAM (SOJ24)
|
||||
SRAM256K - Cypress CY7C199 32kx8 SRAM (SOJ28)
|
||||
DRAM16X16 - Fujitsu 8118160A-60 16megx16 DRAM (SOJ42)
|
||||
0038323 E9825 - SOIC8 (Secured PIC?). I've seen a similar chip in the security cart of System573
|
||||
M48T58Y-70PC1 - ST Timekeeper RAM
|
||||
RF5C400 - Ricoh RF5C400 PCM 32Ch, 44.1 kHz Stereo, 3D Effect Spatializer, clock input 16.9344MHz
|
||||
056800 - Konami Custom (QFP80)
|
||||
058232 - Konami Custom Ceramic Package (SIL14)
|
||||
ADC12138 - National Semiconductor ADC12138 A/D Converter, 12-bit + Serial I/O With MUX (SOP28)
|
||||
MACH111 - AMD MACH111 CPLD (Stamped 'N676A1', PLCC44)
|
||||
68EC000 - Motorola MC68EC000, running at 16.0MHz (64/4)
|
||||
PPC403GA - IBM PowerPC 403GA CPU, clock input 32.0MHz (QFP160)
|
||||
SM5877AM - Nippon Precision Circuits 3rd Order 2-Channel D/A Converter (SOIC24)
|
||||
4AK16 - Hitachi 4AK16 Silicon N-Channel Power MOS FET Array (SIL10)
|
||||
NE5532AN - Philips, Dual Low-Noise High-Speed Audio OP Amp (DIP8)
|
||||
SP485CS - Sipex SP485CS Low Power Half Duplex RS485 Transceiver (DIP8)
|
||||
PAL1 - AMD PALCE16V8 (stamped 'N676A4', DIP20)
|
||||
PAL2 - AMD PALCE16V8 (stamped 'N676A2', DIP20)
|
||||
PAL3 - AMD PALCE16V8 (stamped 'N676A3', DIP20)
|
||||
PAL4 - AMD PALCE16V8 (stamped 'N676A5', DIP20)
|
||||
JP1 - 25M O O-O 32M
|
||||
JP2 - 25M O O-O 32M
|
||||
JP3 - RW O O O RO
|
||||
JP4 - PROG 32M O O-O 16M
|
||||
JP5 - DATA 32M O-O O 16M
|
||||
JP6 - BOOT 16 O-O O 32
|
||||
JP7 - SRC DOUT2 O O-O 0
|
||||
JP8 - 64M&32M O-O O 16M
|
||||
JP9 - 64M O O-O 32M&16M
|
||||
JP10 - 64M&32M O-O O 16M
|
||||
JP11 - 64M O O-O 32M&16M
|
||||
JP12 - THRU O-O O SP
|
||||
JP13 - THRU O-O O SP
|
||||
JP14 - WDT O O
|
||||
JP15 - MONO O-O O SURR
|
||||
JP16 - HIGH O O O MID (N/C LOW)
|
||||
CN1 THRU CN3 - Multi-pin Flat Cable Connector
|
||||
CN4 - Multi-pin Connector for Network PCB
|
||||
CN5 - Multi-pin Flat Cable Connector
|
||||
CN6 - 96-Pin To Lower PCB, Joining Connector
|
||||
CN7 THRU CN8 - Not used
|
||||
CN9 THRU CN11 - 6-Pin Power Connectors
|
||||
CN19 - USB Connector
|
||||
CN21 - 5-Pin Analog Controls Connector (Tied to USB Connector via the Filter Board)
|
||||
CN18 - RCA Mono Audio OUT
|
||||
CN14 & CN16 - RCA Stereo Audio OUT
|
||||
Top Board
|
||||
GN715 PWB(A)A
|
||||
|--------------------------------------------------------------|
|
||||
| SP485CS CN10 CN11 CN9 JP8 JP9 JP10 JP11|
|
||||
|CN19 PAL1 |
|
||||
|CN21 JP13 PAL2 68EC000 EPROM.7S |
|
||||
| NE5532 PAL3 CN12|
|
||||
| JP12 JP16 DRM1M4SJ8 CN13|
|
||||
| NE5532 MASKROM.9P MASKROM.9T |
|
||||
| SM5877 JP15 RF5C400 |
|
||||
|CN18 MASKROM.12P MASKROM.12T|
|
||||
| SM5877 16.9344MHz |
|
||||
|CN14 SRAM256K MASKROM.14P MASKROM.14T|
|
||||
| |
|
||||
|CN16 SRAM256K MASKROM.16P MASKROM.16T|
|
||||
| ADC12138 |
|
||||
| 056800 JP5 |
|
||||
| JP4 |
|
||||
| MACH111 JP3 |---------| |
|
||||
| TEST_SW EPROM.22P | | |
|
||||
|CN1 DRAM16X16 |PPC403GA | |
|
||||
| EPROM.25P | | |
|
||||
| | | |
|
||||
| DRAM16X16 EPROM.27P |---------| |
|
||||
| 4AK16 JP6|
|
||||
| |
|
||||
|CN3 |
|
||||
| 0038323 PAL4 7.3728MHz|
|
||||
| E9825 058232 CN2 |
|
||||
| 50.000MHz|
|
||||
| RESET_SW CN5 JP1 JP2 |
|
||||
|M48T58Y-70PC1 CN4 CN6 64.000MHz|
|
||||
|--------------------------------------------------------------|
|
||||
Notes:
|
||||
DRM1M4SJ8 - Fujitsu 81C4256 256Kx4 DRAM (SOJ24)
|
||||
SRAM256K - Cypress CY7C199 32kx8 SRAM (SOJ28)
|
||||
DRAM16X16 - Fujitsu 8118160A-60 16megx16 DRAM (SOJ42)
|
||||
0038323 E9825 - SOIC8 (Secured PIC?). I've seen a similar chip in the security cart of System573
|
||||
M48T58Y-70PC1 - ST Timekeeper RAM
|
||||
RF5C400 - Ricoh RF5C400 PCM 32Ch, 44.1 kHz Stereo, 3D Effect Spatializer, clock input 16.9344MHz
|
||||
056800 - Konami Custom (QFP80)
|
||||
058232 - Konami Custom Ceramic Package (SIL14)
|
||||
ADC12138 - National Semiconductor ADC12138 A/D Converter, 12-bit + Serial I/O With MUX (SOP28)
|
||||
MACH111 - AMD MACH111 CPLD (Stamped 'N676A1', PLCC44)
|
||||
68EC000 - Motorola MC68EC000, running at 16.0MHz (64/4)
|
||||
PPC403GA - IBM PowerPC 403GA CPU, clock input 32.0MHz (QFP160)
|
||||
SM5877AM - Nippon Precision Circuits 3rd Order 2-Channel D/A Converter (SOIC24)
|
||||
4AK16 - Hitachi 4AK16 Silicon N-Channel Power MOS FET Array (SIL10)
|
||||
NE5532AN - Philips, Dual Low-Noise High-Speed Audio OP Amp (DIP8)
|
||||
SP485CS - Sipex SP485CS Low Power Half Duplex RS485 Transceiver (DIP8)
|
||||
PAL1 - AMD PALCE16V8 (stamped 'N676A4', DIP20)
|
||||
PAL2 - AMD PALCE16V8 (stamped 'N676A2', DIP20)
|
||||
PAL3 - AMD PALCE16V8 (stamped 'N676A3', DIP20)
|
||||
PAL4 - AMD PALCE16V8 (stamped 'N676A5', DIP20)
|
||||
JP1 - 25M O O-O 32M
|
||||
JP2 - 25M O O-O 32M
|
||||
JP3 - RW O O O RO
|
||||
JP4 - PROG 32M O O-O 16M
|
||||
JP5 - DATA 32M O-O O 16M
|
||||
JP6 - BOOT 16 O-O O 32
|
||||
JP7 - SRC DOUT2 O O-O 0
|
||||
JP8 - 64M&32M O-O O 16M
|
||||
JP9 - 64M O O-O 32M&16M
|
||||
JP10 - 64M&32M O-O O 16M
|
||||
JP11 - 64M O O-O 32M&16M
|
||||
JP12 - THRU O-O O SP
|
||||
JP13 - THRU O-O O SP
|
||||
JP14 - WDT O O
|
||||
JP15 - MONO O-O O SURR
|
||||
JP16 - HIGH O O O MID (N/C LOW)
|
||||
CN1 THRU CN3 - Multi-pin Flat Cable Connector
|
||||
CN4 - Multi-pin Connector for Network PCB
|
||||
CN5 - Multi-pin Flat Cable Connector
|
||||
CN6 - 96-Pin To Lower PCB, Joining Connector
|
||||
CN7 THRU CN8 - Not used
|
||||
CN9 THRU CN11 - 6-Pin Power Connectors
|
||||
CN19 - USB Connector
|
||||
CN21 - 5-Pin Analog Controls Connector (Tied to USB Connector via the Filter Board)
|
||||
CN18 - RCA Mono Audio OUT
|
||||
CN14 & CN16 - RCA Stereo Audio OUT
|
||||
|
||||
|
||||
ROM Usage
|
||||
---------
|
||||
|------------------------------- ROM Locations ----------------------------------|
|
||||
Game 27P 25P 22P 16P 14P 12P 9P 16T 14T 12T 9T 7S
|
||||
-----------------------------------------------------------------------------------------------
|
||||
Gradius 4 837C01 - - 837A09 837A10 - 778A12 837A04 837A05 - - 837A08
|
||||
NBA P/Play 778A01 - - 778A09 778A10 778A11 778A12 778A04 778A05 - - 778A08
|
||||
S/Scope 830B01 - - 830A09 830A10 - - - - - - 830A08
|
||||
S/Scope 2 931D01 - - 931A09 931A10 931A11 - 931A04 - - - 931A08
|
||||
Terraburst
|
||||
ROM Usage
|
||||
---------
|
||||
|------------------------------- ROM Locations ----------------------------------|
|
||||
Game 27P 25P 22P 16P 14P 12P 9P 16T 14T 12T 9T 7S
|
||||
-----------------------------------------------------------------------------------------------
|
||||
Gradius 4 837C01 - - 837A09 837A10 - 778A12 837A04 837A05 - - 837A08
|
||||
NBA P/Play 778A01 - - 778A09 778A10 778A11 778A12 778A04 778A05 - - 778A08
|
||||
S/Scope 830B01 - - 830A09 830A10 - - - - - - 830A08
|
||||
S/Scope 2 931D01 - - 931A09 931A10 931A11 - 931A04 - - - 931A08
|
||||
Terraburst
|
||||
|
||||
|
||||
Bottom Board
|
||||
GN715 PWB(B)A
|
||||
|--------------------------------------------------------------|
|
||||
|CN4 CN2 CN8 CN6 CN5|
|
||||
|JP1 |---------| 4M_EDO 4M_EDO |
|
||||
| | | |----------| |
|
||||
| 4M_EDO 4M_EDO | TEXELFX | | | |
|
||||
| | | | PIXELFX | 4M_EDO |
|
||||
| 4M_EDO 4M_EDO | | | | 4M_EDO |
|
||||
| |---------| | | |--------| |
|
||||
| 4M_EDO 4M_EDO |----------| |KONAMI | |
|
||||
|CN3 50MHz JP7 |33906 | |
|
||||
| 4M_EDO 4M_EDO JP6 | | |
|
||||
| 256KSRAM 256KSRAM |--------| |
|
||||
|CN7 |
|
||||
| AV9170 1MSRAM 1MSRAM |
|
||||
| MC44200 |
|
||||
| 256KSRAM 256KSRAM |
|
||||
| 1MSRAM 1MSRAM |
|
||||
| |-------| MASKROM.24U |
|
||||
| |KONAMI | MACH111 |-------------| MASKROM.24V|
|
||||
| |37122 | |ANALOG | 1MSRAM 1MSRAM |
|
||||
| | | |DEVICES | |
|
||||
| |-------| JP5 |ADSP-21062 | 36.00MHz |
|
||||
|1MSRAM |SHARC | 1MSRAM 1MSRAM |
|
||||
| | | |
|
||||
|1MSRAM | | |
|
||||
| 256KSRAM |-------------| MASKROM.32U |
|
||||
|1MSRAM 256KSRAM MASKROM.32V|
|
||||
| 256KSRAM PAL1 PAL2 JP4 |
|
||||
|1MSRAM |
|
||||
| JP2 CN1 JP3 |
|
||||
|--------------------------------------------------------------|
|
||||
Notes:
|
||||
4M_EDO - Silicon Magic SM81C256K16CJ-35 EDO DRAM 66MHz (SOJ40)
|
||||
1MSRAM - Cypress CY7C109-25VC 1Meg SRAM (SOJ32)
|
||||
256KSRAM - Winbond W24257AJ-15 256K SRAM (SOJ28)
|
||||
TEXELFX - 3DFX 500-0004-02 BD0665.1 TMU (QFP208)
|
||||
PIXELFX - 3DFX 500-0003-03 F001701.1 FBI (QFP240)
|
||||
0000037122 - Konami Custom (QFP208)
|
||||
MC44200FT - Motorola MC44200FT 3 Channel Video D/A Converter (QFP44)
|
||||
MACH111 - AMD MACH111 CPLD (Stamped 'N715B1', PLCC44)
|
||||
AV9170 - Integrated Circuit Systems Inc. Clock Multiplier (SOIC8)
|
||||
PAL1 - AMD PALCE16V8 (stamped 'N676B4', DIP20)
|
||||
PAL2 - AMD PALCE16V8 (stamped 'N676B5', DIP20)
|
||||
JP1 - SCR O O-O TWN
|
||||
JP2 - MASTER O-O O SLAVE
|
||||
JP3 - 16M O O-O 32M
|
||||
JP4 - 32M O-O O 16M
|
||||
JP5 - ASYNC O O-O SYNC
|
||||
JP6 - DSP O O-O ADCK
|
||||
JP7 - MCK O-O O SCK
|
||||
CN1 - 96 Pin To Lower PCB, Joining Connector
|
||||
CN2 - 8-Pin RGB OUT
|
||||
CN3 - 15-Pin DSUB VGA Video MAIN OUT
|
||||
CN4 - 6-Pin Power Connector
|
||||
CN5 - 4-Pin Power Connector
|
||||
CN6 - 2-Pin Connector (Not Used)
|
||||
CN7 - 15-Pin DSUB VGA Video MAIN OUT
|
||||
CN8 - 6-Pin Connector (Not Used)
|
||||
Bottom Board
|
||||
GN715 PWB(B)A
|
||||
|--------------------------------------------------------------|
|
||||
|CN4 CN2 CN8 CN6 CN5|
|
||||
|JP1 |---------| 4M_EDO 4M_EDO |
|
||||
| | | |----------| |
|
||||
| 4M_EDO 4M_EDO | TEXELFX | | | |
|
||||
| | | | PIXELFX | 4M_EDO |
|
||||
| 4M_EDO 4M_EDO | | | | 4M_EDO |
|
||||
| |---------| | | |--------| |
|
||||
| 4M_EDO 4M_EDO |----------| |KONAMI | |
|
||||
|CN3 50MHz JP7 |33906 | |
|
||||
| 4M_EDO 4M_EDO JP6 | | |
|
||||
| 256KSRAM 256KSRAM |--------| |
|
||||
|CN7 |
|
||||
| AV9170 1MSRAM 1MSRAM |
|
||||
| MC44200 |
|
||||
| 256KSRAM 256KSRAM |
|
||||
| 1MSRAM 1MSRAM |
|
||||
| |-------| MASKROM.24U |
|
||||
| |KONAMI | MACH111 |-------------| MASKROM.24V|
|
||||
| |37122 | |ANALOG | 1MSRAM 1MSRAM |
|
||||
| | | |DEVICES | |
|
||||
| |-------| JP5 |ADSP-21062 | 36.00MHz |
|
||||
|1MSRAM |SHARC | 1MSRAM 1MSRAM |
|
||||
| | | |
|
||||
|1MSRAM | | |
|
||||
| 256KSRAM |-------------| MASKROM.32U |
|
||||
|1MSRAM 256KSRAM MASKROM.32V|
|
||||
| 256KSRAM PAL1 PAL2 JP4 |
|
||||
|1MSRAM |
|
||||
| JP2 CN1 JP3 |
|
||||
|--------------------------------------------------------------|
|
||||
Notes:
|
||||
4M_EDO - Silicon Magic SM81C256K16CJ-35 EDO DRAM 66MHz (SOJ40)
|
||||
1MSRAM - Cypress CY7C109-25VC 1Meg SRAM (SOJ32)
|
||||
256KSRAM - Winbond W24257AJ-15 256K SRAM (SOJ28)
|
||||
TEXELFX - 3DFX 500-0004-02 BD0665.1 TMU (QFP208)
|
||||
PIXELFX - 3DFX 500-0003-03 F001701.1 FBI (QFP240)
|
||||
0000037122 - Konami Custom (QFP208)
|
||||
MC44200FT - Motorola MC44200FT 3 Channel Video D/A Converter (QFP44)
|
||||
MACH111 - AMD MACH111 CPLD (Stamped 'N715B1', PLCC44)
|
||||
AV9170 - Integrated Circuit Systems Inc. Clock Multiplier (SOIC8)
|
||||
PAL1 - AMD PALCE16V8 (stamped 'N676B4', DIP20)
|
||||
PAL2 - AMD PALCE16V8 (stamped 'N676B5', DIP20)
|
||||
JP1 - SCR O O-O TWN
|
||||
JP2 - MASTER O-O O SLAVE
|
||||
JP3 - 16M O O-O 32M
|
||||
JP4 - 32M O-O O 16M
|
||||
JP5 - ASYNC O O-O SYNC
|
||||
JP6 - DSP O O-O ADCK
|
||||
JP7 - MCK O-O O SCK
|
||||
CN1 - 96 Pin To Lower PCB, Joining Connector
|
||||
CN2 - 8-Pin RGB OUT
|
||||
CN3 - 15-Pin DSUB VGA Video MAIN OUT
|
||||
CN4 - 6-Pin Power Connector
|
||||
CN5 - 4-Pin Power Connector
|
||||
CN6 - 2-Pin Connector (Not Used)
|
||||
CN7 - 15-Pin DSUB VGA Video MAIN OUT
|
||||
CN8 - 6-Pin Connector (Not Used)
|
||||
|
||||
ROM Usage
|
||||
---------
|
||||
|------ ROM Locations -------|
|
||||
Game 24U 24V 32U 32V
|
||||
-------------------------------------------
|
||||
Gradius 4 837A13 837A15 837A14 837A16
|
||||
NBA P/Play 778A13 778A15 778A14 778A16
|
||||
S/Scope - - - - (no ROMs, not used)
|
||||
S/Scope 2 - - - - (no ROMs, not used)
|
||||
Terraburst
|
||||
ROM Usage
|
||||
---------
|
||||
|------ ROM Locations -------|
|
||||
Game 24U 24V 32U 32V
|
||||
-------------------------------------------
|
||||
Gradius 4 837A13 837A15 837A14 837A16
|
||||
NBA P/Play 778A13 778A15 778A14 778A16
|
||||
S/Scope - - - - (no ROMs, not used)
|
||||
S/Scope 2 - - - - (no ROMs, not used)
|
||||
Terraburst
|
||||
|
||||
|
||||
|
||||
|
@ -10,11 +10,11 @@ This hardware is 3DO-based with two IBM Power PC CPUs.
|
||||
|
||||
There were only 5 known games on this hardware. They include....
|
||||
|
||||
Game Year CD Codes Konami Part#
|
||||
Game Year CD Codes Konami Part#
|
||||
--------------------------------------------------------------------------------------
|
||||
Battle Tryst 1998 636JAC02
|
||||
Evil Night 1998 810UBA02
|
||||
Hell Night ((alt. Region title, same as Evil Night) 1998 810EAA02
|
||||
Hell Night ((alt. Region title, same as Evil Night) 1998 810EAA02
|
||||
Heat Of Eleven '98 1998 703EAA02
|
||||
Polystars 1997 623JAA02 003894
|
||||
Total Vice 1997 639AAB01
|
||||
@ -153,7 +153,7 @@ Notes:
|
||||
This PCB is used on Total Vice only.
|
||||
639JAA02.xx - 8MBit Sound data ROM (DIP42)
|
||||
PAL - PAL16V8H stampd ' '
|
||||
|
||||
|
||||
|
||||
PWB0000047043 (C) 1998 KONAMI CO., LTD.
|
||||
|-----------------------------------------|
|
||||
|
@ -466,9 +466,9 @@ ROM_END
|
||||
/*
|
||||
|
||||
Super Pool
|
||||
|
||||
ABM (Nazionale Elettronica Giochi S.A.S.), 1998.
|
||||
9743 Rev.01
|
||||
|
||||
ABM (Nazionale Elettronica Giochi S.A.S.), 1998.
|
||||
9743 Rev.01
|
||||
|
||||
1x MC68HC000P10
|
||||
1x ACTEL A1020B-PL84C
|
||||
@ -478,13 +478,13 @@ ABM (Nazionale Elettronica Giochi S.A.S.), 1998.
|
||||
1x TDA2003 (sound)
|
||||
1x oscillator 20.000MHz
|
||||
1x oscillator 30.0000MHz
|
||||
1x blu resonator 1000J (close to sound)
|
||||
1x blu resonator 1000J (close to sound)
|
||||
|
||||
1x M27C2001 (1) (Sound)
|
||||
2x TMS27C010A (2,3) (main)
|
||||
4x TMS27C010A (4,5,6,7) (gfx)
|
||||
1x PALCE22V10H (not dumped)
|
||||
1x PALCE16V8H (not dumped)
|
||||
1x PALCE16V8H (not dumped)
|
||||
|
||||
1x 28x2 JAMMA edge connector
|
||||
1x 12 legs connector (J1)
|
||||
@ -492,7 +492,7 @@ ABM (Nazionale Elettronica Giochi S.A.S.), 1998.
|
||||
1x 8x2 switches dip
|
||||
1x lithium battery
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
ROM_START( suprpool )
|
||||
ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 68000 Code */
|
||||
|
@ -3156,7 +3156,7 @@ RAM : M5M44170CJ (x2), HM514270CJ7 (x1), HM538254BJ-7 (x4), N341256SJ-15 (x10)
|
||||
UM62256EM-70LL (x4), TC18128CFWL-80V (x12), TC55V328AJ-15 (x3)
|
||||
CY7C185-25VC (x7), CY7C188-25VC (x2), dt71256 (x4), BR6265BF-10SL (x2)
|
||||
65256BLFP-10T (x2), LH521002AK-20 (x16)
|
||||
|
||||
|
||||
CUSTOM: SEGA 315-5687 (128 QFP)
|
||||
FUJITSU MB86235 (x2, 208 QFP)
|
||||
SEGA 315-5673 (240 QFP)
|
||||
@ -3174,32 +3174,32 @@ OTHER : D71051GU-10
|
||||
|
||||
Note: All epr* ROMs are 27C1024
|
||||
All mpr* ROMs are 16M MASK
|
||||
|
||||
|
||||
[JUMPERS]
|
||||
JP1 2-3
|
||||
JP2 1-2
|
||||
JP3 2-3
|
||||
JP4 1-2
|
||||
JP5 1-2
|
||||
JP6 1-2
|
||||
JP7 1-2
|
||||
JP8 2-3
|
||||
JP9 2-3
|
||||
JP10 1-2
|
||||
JP11 1-2
|
||||
JP12 1-2
|
||||
JP13 1-2
|
||||
JP14 1-2
|
||||
JP15 2-3
|
||||
JP16 1-2
|
||||
JP17 1-2
|
||||
JP18 1-2
|
||||
JP19 1-2
|
||||
JP20 2-3
|
||||
JP21 2-3
|
||||
JP22 2-3
|
||||
JP23 2-3
|
||||
JP24 2-3
|
||||
JP1 2-3
|
||||
JP2 1-2
|
||||
JP3 2-3
|
||||
JP4 1-2
|
||||
JP5 1-2
|
||||
JP6 1-2
|
||||
JP7 1-2
|
||||
JP8 2-3
|
||||
JP9 2-3
|
||||
JP10 1-2
|
||||
JP11 1-2
|
||||
JP12 1-2
|
||||
JP13 1-2
|
||||
JP14 1-2
|
||||
JP15 2-3
|
||||
JP16 1-2
|
||||
JP17 1-2
|
||||
JP18 1-2
|
||||
JP19 1-2
|
||||
JP20 2-3
|
||||
JP21 2-3
|
||||
JP22 2-3
|
||||
JP23 2-3
|
||||
JP24 2-3
|
||||
*/
|
||||
ROM_START( bel )
|
||||
ROM_REGION( 0x200000, REGION_CPU1, 0 ) // i960 program
|
||||
|
@ -142,12 +142,12 @@
|
||||
*
|
||||
* RR1.GAM (for Ridge Racer 1/2, Rave Racer)
|
||||
**********************************************************************************************************
|
||||
*
|
||||
*
|
||||
* Namco Super System 22 Hardware Overview (last updated 22-01-2006 at 1:30am)
|
||||
* ---------------------------------------
|
||||
*
|
||||
*
|
||||
* Note! This document will be updated from time to time when more dumps are available.
|
||||
*
|
||||
*
|
||||
* This document covers all the known Namco Super System 22 games, including....
|
||||
* Air Combat 22 (C) Namco, 1995
|
||||
* Alpine Racer 1 (C) Namco, 1995
|
||||
@ -160,15 +160,15 @@
|
||||
* Prop Cycle (C) Namco, 1996
|
||||
* Time Crisis (C) Namco, 1995
|
||||
* !Tokyo Wars (C) Namco, 1996
|
||||
*
|
||||
*
|
||||
* ! - denotes secured but not dumped yet.
|
||||
* * - denotes not dumped yet. If you can help with the remaining undumped SS22 games,
|
||||
* please contact http://www.mameworld.net/gurudumps/
|
||||
*
|
||||
*
|
||||
* The Namco Super System 22 System comprises 4 PCB's plugged into a motherboard. The motherboard contains only
|
||||
* some slots and connectors. The 4 PCB's are housed in a metal box with a large fan on the side. The fan mostly cools
|
||||
* the video board as these are known to run hot and commonly fail, especially now the system is 10 years+ old.
|
||||
*
|
||||
*
|
||||
* CPU PCB - There are three known revisions of this PCB. Two of them have an extra connector for an
|
||||
* auxillary PCB. One of the others doesnt have that connector but they are otherwise identical.
|
||||
* All PCBs can be swapped to any game and it will work. However, ALL required IC's must be swapped.
|
||||
@ -187,7 +187,7 @@
|
||||
* The differences are very minor, just the amount of connectors on the PCB. The Mother PCB is swappable to
|
||||
* any game as long as the required connectors for that game are present on the PCB. (all dumped games tested
|
||||
* and worked fine)
|
||||
*
|
||||
*
|
||||
* Each game has a 2 or 3 digit letter code assigned to it. Then a number 1 or 2, Then a Rev. A/B/C/D which denotes the
|
||||
* software revision.
|
||||
* The 1 denotes a Japanese version. 2 denotes a World version. So far there are no other numbers used other than 1 or 2.
|
||||
@ -195,15 +195,15 @@
|
||||
* There is one exception so far. The World version of Alpine Racer 2, which uses a World version DATA ROM, and also one
|
||||
* of the WAVE ROMs is a World version, but one Japanese WAVE ROM is also used.
|
||||
* See the CPU PCB, Program ROM Daughterboard and MROM PCB texts below for more details on ROM usage.
|
||||
*
|
||||
*
|
||||
* CPU PCB
|
||||
* -------
|
||||
* 1st Revision
|
||||
* SYSTEM SUPER22 CPU PCB 8646960102 (8646970102)
|
||||
*
|
||||
*
|
||||
* 2nd Revision
|
||||
* SYSTEM SUPER22 CPU(B) PCB 8646962600 (8646972600)
|
||||
*
|
||||
*
|
||||
* 3rd Revision
|
||||
* SYSTEM SUPER22 CPU(B) PCB 8646962600 (8646972601) <-- very minor?
|
||||
* |--------------------------------------------------------------|
|
||||
@ -237,7 +237,7 @@
|
||||
* | WAVEB.1L LC78815M LC78815M |
|
||||
* |--------------------------------------------------------------|
|
||||
* (logic chips omitted from the PCB layout)
|
||||
*
|
||||
*
|
||||
* Notes:
|
||||
* J6 : Custom Namco connector for plug-in program ROM PCB
|
||||
* J11 : Custom Namco connector for optional plug-in WAVE ROM PCB (holds some SOP44 MASKROMs)
|
||||
@ -285,7 +285,7 @@
|
||||
* Prop Cycle = C428
|
||||
* Time Crisis = C419
|
||||
* Tokyo Wars =
|
||||
*
|
||||
*
|
||||
* *1 : Unpopulated position for PAL16V8 (PLCC20)
|
||||
* *2 : Unpopulated position for Fujitsu MB86601 (QFP100)
|
||||
* *3 : Unpopulated position for 32MHz OSC
|
||||
@ -303,7 +303,7 @@
|
||||
* Prop Cycle 'PR1 DATA'
|
||||
* Time Crisis 'TS1 DATA'
|
||||
* Tokyo Wars
|
||||
*
|
||||
*
|
||||
* WAVEA.2L \
|
||||
* WAVEB.1L / : 16M/32M WAVE MASKROMs. If 32MBit DIP42, they're programmed in BYTE mode (DIP42/SOP44)
|
||||
* Game Wave A Wave B Type
|
||||
@ -319,9 +319,9 @@
|
||||
* Prop Cycle 'PR1 WAVE A', 'PR1 WAVE B' , both DIP42 32M MASKROM
|
||||
* Time Crisis 'TS1 WAVE A', 'TS1 WAVE B' , WAVE A DIP42 32M MASKROM, WAVE B DIP42 16M MASKROM
|
||||
* Tokyo Wars
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* PROGRAM ROM Daughterboard PCB
|
||||
* -----------------------------
|
||||
* This PCB holds the main program ROMs. There is a small sticker on each PCB stating the game code and software revision.
|
||||
@ -329,7 +329,7 @@
|
||||
* There are 4 known types of program daughterboards used on SS22 games (so far). The most common is the first type.
|
||||
* The PCB is very small (approx 2" x 3") containing one custom connector and some FlashROMs, and a PAL (in some cases).
|
||||
* The ones that contain a PAL are approx 3" x 3".
|
||||
*
|
||||
*
|
||||
* Type 1
|
||||
* SYSTEM SUPER22 MPM(F) PCB 8646961600 (8646971600)
|
||||
* |-------------------------|
|
||||
@ -343,7 +343,7 @@
|
||||
* |-------------------------|
|
||||
* Notes:
|
||||
* ROMx: Intel E28F008SA 8MBit FlashROM (x4, TSOP40)
|
||||
*
|
||||
*
|
||||
* This PCB is used on:
|
||||
* Game Software revision
|
||||
* -------------------------------
|
||||
@ -353,7 +353,7 @@
|
||||
* Cyber Cycles 'CB2 Ver.C'
|
||||
* Prop Cycle 'PR2 Ver.A'
|
||||
* Time Crisis 'TS2 Ver.B'
|
||||
*
|
||||
*
|
||||
* Type 2
|
||||
* SYSTEM SUPER22 MPM(F16) PCB 8646962500 (8646972500)
|
||||
* |-------------------------|
|
||||
@ -368,12 +368,12 @@
|
||||
* |-------------------------|
|
||||
* Notes:
|
||||
* ROMx: Intel E28F016SA 16MBit FlashROMs (x2, TSOP56)
|
||||
*
|
||||
*
|
||||
* This PCB is used on:
|
||||
* Game Software revision
|
||||
* -------------------------------
|
||||
* Time Crisis 'TS2 Ver.A'
|
||||
*
|
||||
*
|
||||
* Type 3
|
||||
* SYSTEM SUPER22 MPM(F16X4) PCB 8646962901 (8646972901)
|
||||
* |-------------------------|
|
||||
@ -391,12 +391,12 @@
|
||||
* Notes:
|
||||
* ICx* : Intel E28F016SA 16MBit FlashROMs (x4, TSOP56)
|
||||
* SS22P1B: PALCE16V8H (PLCC20, labelled 'SS22P1B')
|
||||
*
|
||||
*
|
||||
* This PCB is used on:
|
||||
* Game Software revision
|
||||
* -------------------------------
|
||||
* Alpine Racer 2 'ARS2 Ver.B'
|
||||
*
|
||||
*
|
||||
* Type 4
|
||||
* SYSTEM SUPER22 MPM(F16X4F) PCB 8646963500 (8646973500)
|
||||
* |-------------------------|
|
||||
@ -421,15 +421,15 @@
|
||||
* That pin traces to pin 6 (OUTPUT Y) of a 74F08 at 15F on the CPU board
|
||||
* Pins 4 (INPUT A) & 5 (INPUT B) of the 74F08 at 15F trace to Namco custom
|
||||
* IC C383 pins 53 (A INPUT) & 52 (B INPUT)
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* This PCB is used on:
|
||||
* Game Software revision
|
||||
* -------------------------------
|
||||
* Alpine Surfer 'AF2 Ver.A'
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* Auxillary PCB (connector JC410 on the CPU PCB is used only on Time Crisis so far)
|
||||
* -------------
|
||||
* V159 GUN POINT PCB 244790102 (2447970102)
|
||||
@ -456,9 +456,9 @@
|
||||
* J1 : Connector joining Gun PCB to a connector on the metal box (which joins to the gun interface PCB in the
|
||||
* cab which supplies 24V for the soleniod in the guns)
|
||||
* J2 : Connector joining to the CPU PCB (to JC410)
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* DSP PCB
|
||||
* -------
|
||||
* SYSTEM SUPER22 DSP PCB 8646960302 (8646970302)
|
||||
@ -493,7 +493,7 @@
|
||||
* | |-----| |---------| |
|
||||
* |--------------------------------------------------------------|
|
||||
* (logic chips omitted from the PCB layout)
|
||||
*
|
||||
*
|
||||
* Notes:
|
||||
* JD3 : Custom Namco connector joining this PCB to the MROM PCB with a special flat cable known as a
|
||||
* 'DHD harness'
|
||||
@ -515,9 +515,9 @@
|
||||
* SS22D4B : PALCE 16V8H (PLCC20, labelled 'SS22D4B')
|
||||
* SS22D5 : PALCE 16V8H (PLCC20, labelled 'SS22D5')
|
||||
* LEDS : 8 red LEDs flash (in various pretty patterns) when the DSP PCB is active.
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* ROM PCB
|
||||
* -------
|
||||
* SYSTEM SUPER22 MROM PCB 8646960400 (8646970400)
|
||||
@ -552,11 +552,11 @@
|
||||
* | SCG6.1L SCG6.1F |
|
||||
* |--------------------------------------------------------------|
|
||||
* (logic chips omitted from the PCB layout)
|
||||
*
|
||||
*
|
||||
* Notes:
|
||||
* Namco SS22 MROM PCBs have 2 identical sets of CG*, SCG* and CCR-L/CCR-H ROMs on the PCB.
|
||||
* The Japanese region code '1' is appended to all game codes on all MROMs.
|
||||
*
|
||||
*
|
||||
* JR3, JR4 : Custom Namco connector joining this PCB to the VIDEO & DSP PCBs with a special flat cable known
|
||||
* as a 'DHD harness'
|
||||
* SS22M1 : PALCE 16V8H (PLCC20, labelled 'SS22M1')
|
||||
@ -568,7 +568,7 @@
|
||||
* JP7, JP8, JP9: Jumpers to configure SCG* ROMs. Hardwired to '16M' on the PCB. Alt. setting '32M'
|
||||
* JP10, JP11, JP12: Jumpers to configure SCG* ROMs. Hardwired to '16M' on the PCB. Alt. setting '32M'
|
||||
* JP13 : Jumper to configure PTR* ROMs. Hardwired to '4M' on the PCB. Alt. setting '8M'
|
||||
*
|
||||
*
|
||||
* Game ROMs populated
|
||||
* ---------------------------------------------------------
|
||||
* Air Combat 22 ACS1CCRH.5B, ACS1CCRH.1D 4M SOP32
|
||||
@ -595,7 +595,7 @@
|
||||
* ACS1PTRL1.16K "
|
||||
* ACS1PTRL2.15K "
|
||||
* ACS1PTRL3.14K "
|
||||
*
|
||||
*
|
||||
* Alpine Racer 1 AR1CCRH.5B, AR1CCRH.1D 4M SOP32
|
||||
* AR1CCRL.7B, AR1CCRL.3D 16M SOP44
|
||||
* AR1CG0.12B, AR1CG0.8D "
|
||||
@ -620,7 +620,7 @@
|
||||
* AR1PTRL1.16K "
|
||||
* AR1PTRL2.15K "
|
||||
* AR1PTRL3.14K "
|
||||
*
|
||||
*
|
||||
* Alpine Racer 2 ARS1CCRH.5B, ARS1CCRH.1D 4M SOP32
|
||||
* ARS1CCRL.7B, ARS1CCRL.3D 16M SOP44
|
||||
* ARS1CG0.12B, ARS1CG0.8D "
|
||||
@ -642,7 +642,7 @@
|
||||
* ARS1PTRL1.16K "
|
||||
* ARS1PTRL2.15K "
|
||||
* ARS1PTRL3.14K "
|
||||
*
|
||||
*
|
||||
* Alpine Surfer AF1CCRH.5B, AF1CCRH.1D 4M SOP32
|
||||
* AF1CCRL.7B, AF1CCRL.3D 16M SOP44
|
||||
* AF1CG0.12B, AF1CG0.8D "
|
||||
@ -657,11 +657,11 @@
|
||||
* AF1PTRM1.16J "
|
||||
* AF1PTRL0.18K "
|
||||
* AF1PTRL1.16K "
|
||||
*
|
||||
*
|
||||
* Aqua Jet N/A
|
||||
*
|
||||
*
|
||||
* Armidillo Racing N/A
|
||||
*
|
||||
*
|
||||
* Cyber Cycles CB1CCRH.5B, CB1CCRH.1D 4M SOP32
|
||||
* CB1CCRL.7B, CB1CCRL.3D 16M SOP44
|
||||
* CB1CG0.12B, CB1CG0.8D "
|
||||
@ -685,9 +685,9 @@
|
||||
* CB1PTRL1.16K "
|
||||
* CB1PTRL2.15K "
|
||||
* CB1PTRL3.14K "
|
||||
*
|
||||
*
|
||||
* Dirt Dash N/A
|
||||
*
|
||||
*
|
||||
* Prop Cycle PR1CCRH.5B, PR1CCRH.1D 4M SOP32
|
||||
* PR1CCRL.7B, PR1CCRL.3D 16M SOP44
|
||||
* PR1CG0.12B, PR1CG0.8D "
|
||||
@ -709,7 +709,7 @@
|
||||
* PR1PTRL0.18K "
|
||||
* PR1PTRL1.16K "
|
||||
* PR1PTRL2.15K "
|
||||
*
|
||||
*
|
||||
* Time Crisis TS1CCRH.5B, TS1CCRH.1D 4M SOP32
|
||||
* TS1CCRL.7B, TS1CCRL.3D 16M SOP44
|
||||
* TS1CG0.12B, TS1CG0.8D "
|
||||
@ -735,19 +735,19 @@
|
||||
* TS1PTRL0.18K "
|
||||
* TS1PTRL1.16K "
|
||||
* TS1PTRL2.15K "
|
||||
*
|
||||
*
|
||||
* Tokyo Wars N/A
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* VIDEO PCB
|
||||
* ---------
|
||||
* 1st Revision
|
||||
* SYSTEM SUPER22 VIDEO 8646960204 (8646970204)
|
||||
*
|
||||
*
|
||||
* 2nd Revision
|
||||
* SYSTEM SUPER22 VIDEO(B) 8646961200 (8646971200)
|
||||
*
|
||||
*
|
||||
* 3rd Revision (PCB layout shown below)
|
||||
* SYSTEM SUPER22 VIDEO(C) 8646962700 (8646972700)
|
||||
* |--------------------------------------------------------------|
|
||||
@ -781,7 +781,7 @@
|
||||
* | |---------| |---------| N341256 CXD1178Q |
|
||||
* |--------------------------------------------------------------|
|
||||
* (logic chips omitted from the PCB layout)
|
||||
*
|
||||
*
|
||||
* Notes:
|
||||
* JV3 : Custom Namco connector joining this PCB to the MROM PCB with a special flat cable known
|
||||
* as a 'DHD harness'
|
||||
@ -809,16 +809,16 @@
|
||||
* video faults on Namco Super System 22 PCBs.
|
||||
* (Second reasons for video faults are most likely attributed
|
||||
* to failure of RAM on this PCB)
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* Motherboard PCB
|
||||
* ---------------
|
||||
* 1st Revision
|
||||
* SYSTEM SUPER22 MOTHER PCB 8646960602 (8646970602)
|
||||
*
|
||||
*
|
||||
* 2nd Revision
|
||||
* SYSTEM SUPER22 MOTHER(B) PCB (number not known)
|
||||
*
|
||||
*
|
||||
* 3rd Revision
|
||||
* SYSTEM SUPER22 MOTHER(C) PCB 8646960602 (8646970602)
|
||||
* |------------------------------------------------------------------|
|
||||
@ -841,12 +841,12 @@
|
||||
* Notes:
|
||||
* IC1 : LB1233 (DIP8)
|
||||
* IC2, IC3: LB1235 (DIP8)
|
||||
*
|
||||
*
|
||||
* JC1, JC2: Connectors to plug in CPU PCB
|
||||
* JD1, JD2: Connectors to plug in DSP PCB
|
||||
* JR1 : Connector to plug in MROM PCB
|
||||
* JV1, JV2: Connectors to plug in VIDEO PCB
|
||||
*
|
||||
*
|
||||
* J1 : 9 pin power input socket Pin Use
|
||||
* -----------
|
||||
* 1 +5V
|
||||
@ -858,7 +858,7 @@
|
||||
* 7 Ground
|
||||
* 8 NC
|
||||
* 9 +12V
|
||||
*
|
||||
*
|
||||
* J2 : 9 pin link connector Pin Use
|
||||
* --------------
|
||||
* 1 Ring In+
|
||||
@ -870,7 +870,7 @@
|
||||
* 7 /TXD (NC)
|
||||
* 8 GND (NC)
|
||||
* 9 +5V (NC)
|
||||
*
|
||||
*
|
||||
* J3 : 9 pin socket Pin Use
|
||||
* -------------------
|
||||
* 1 Service Credit
|
||||
@ -882,7 +882,7 @@
|
||||
* 7 Ground
|
||||
* 8 Coin Sw
|
||||
* 9 NC
|
||||
*
|
||||
*
|
||||
* J4 : 8 pin connector Pin Use
|
||||
* -------------------------------------
|
||||
* 1 Start
|
||||
@ -893,7 +893,7 @@
|
||||
* 6 NC
|
||||
* 7 Ground
|
||||
* 8 Ground
|
||||
*
|
||||
*
|
||||
* J5 : 15 pin socket Pin Use
|
||||
* ---------------
|
||||
* 1 Relay1
|
||||
@ -911,7 +911,7 @@
|
||||
* 13 +12V
|
||||
* 14 +5V
|
||||
* 15 NC
|
||||
*
|
||||
*
|
||||
* J6 : 12 pin audio output connector Pin Use
|
||||
* ----------
|
||||
* 1 SPKL+
|
||||
@ -926,7 +926,7 @@
|
||||
* 10 NC
|
||||
* 11 NC
|
||||
* 12 NC
|
||||
*
|
||||
*
|
||||
* J7 : 12 pin analog controls socket Pin Use
|
||||
* ---------------------------
|
||||
* 1 +5V
|
||||
@ -941,9 +941,9 @@
|
||||
* 10 NC
|
||||
* 11 NC
|
||||
* 12 NC
|
||||
*
|
||||
*
|
||||
* J8 : 10 pin connector (not used?)
|
||||
*
|
||||
*
|
||||
* J9 : 6 pin video output socket Pin Use
|
||||
* ---------
|
||||
* 1 Red
|
||||
@ -952,11 +952,11 @@
|
||||
* 4 Composite Sync (VSync 15kHz interlaced)
|
||||
* 5 Ground
|
||||
* 6 NC
|
||||
*
|
||||
*
|
||||
* J10: 16 pin flat cable connector (only populated on Mother(C) PCB, use not known)
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* AMP PCB
|
||||
* -------
|
||||
* SYSTEM SUPER22 AMP(4) PCB 8647960100 (8647970100) (sticker 'AMP(2) PCB 8647961100')
|
||||
@ -971,14 +971,14 @@
|
||||
* 1 +12V
|
||||
* 2 Ground
|
||||
* 3 NC
|
||||
*
|
||||
*
|
||||
* J2 : 4 pin dual speaker output socket Pin Use
|
||||
* ---------
|
||||
* 1 SP1+
|
||||
* 2 SP1-
|
||||
* 3 SP2+
|
||||
* 4 SP2-
|
||||
*
|
||||
*
|
||||
* J3 : 8 pin sound data input connector from Mother PCB J6 Pin Use
|
||||
* ----------
|
||||
* 1 SPKL+
|
||||
@ -989,7 +989,7 @@
|
||||
* 6 NC
|
||||
* 7 NC
|
||||
* 8 NC
|
||||
*
|
||||
*
|
||||
* *1 : Unpopulated position for a 2nd LA4705 Power Amp
|
||||
* *2 : J4 - Unpopulated position for another 4 pin dual speaker output socket
|
||||
* J5 : 2 pin connector used for sound mute Pin Use
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
|
||||
Resistor Network
|
||||
----------------
|
||||
----------------
|
||||
|
||||
The following diagram is related to taiwanese and argentine PCBs.
|
||||
|
||||
|
@ -460,7 +460,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
|
||||
flipy = !flipy;
|
||||
sy += 48;
|
||||
}
|
||||
|
||||
|
||||
transmask = colortable_get_transpen_mask(machine->colortable, machine->gfx[bank], color, 0x80);
|
||||
|
||||
if (spriteram_3[offs] & 2) /* double height (?) */
|
||||
|
Loading…
Reference in New Issue
Block a user