srcclean and cleanup (nw)

This commit is contained in:
Vas Crabb 2018-10-28 14:00:12 +11:00
parent 112bce124d
commit 82501770de
71 changed files with 732 additions and 718 deletions

View File

@ -1055,6 +1055,12 @@ The following views will be automatically generated:
play games that don't automatically rotate the display for the second player.
The screen will be displayed at its physical aspect ratio, with rotation
applied.
* If the system has exactly two emulated screens, MAME will generate a view
showing the second screen above the first screen with a small gap between
them. The second screen will be rotated by 180 degrees. This view can be
used to play a dual-screen two-player game on a "cocktail table" cabinet with
a single screen. The screens will be displayed at their physical aspect
ratios, with rotation applied.
* If the system has exactly two emulated screens and no view in the internal or
external layouts shows all screens, or if the system has more than two
emulated screens, MAME will generate views with the screens arranged

View File

@ -2,37 +2,37 @@
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="mac_hdflop" description="Macintosh High Density Disk images">
<!-- S/N: Z93350-001A -->
<software name="clarisw">
<description>ClarisWorks (Swedish)</description>
<year>1993</year>
<publisher>Claris</publisher>
<info name="version" value="2.0" />
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="1474560">
<rom name="clarisworks 2.0 (swe) (disk 1).img" size="1474560" crc="25da86b7" sha1="99e9fa57e0d7d03fb89611745bd04b4d7c4af998" offset="0" />
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<dataarea name="flop" size="1474560">
<rom name="clarisworks 2.0 (swe) (disk 2).img" size="1474560" crc="76e73be8" sha1="46921d446169d949b37879f6cbbdfb802323b7ef" offset="0" />
</dataarea>
</part>
<part name="flop3" interface="floppy_3_5">
<dataarea name="flop" size="1474560">
<rom name="clarisworks 2.0 (swe) (disk 3).img" size="1474560" crc="8e2dbabc" sha1="6b2b982348874be31899b6b2bace55518e5e9477" offset="0" />
</dataarea>
</part>
<part name="flop4" interface="floppy_3_5">
<dataarea name="flop" size="1474560">
<rom name="clarisworks 2.0 (swe) (disk 4).img" size="1474560" crc="9ad039ef" sha1="18777ffd48cb9a016b169e38cf867f81367271b0" offset="0" />
</dataarea>
</part>
<part name="flop4" interface="floppy_3_5">
<dataarea name="flop" size="1474560">
<rom name="clarisworks 2.0 (swe) (disk 5).img" size="1474560" crc="f74f6289" sha1="b60aae3606fec538dc60ba15bbec47e3da607a65" offset="0" />
</dataarea>
</part>
</software>
<!-- S/N: Z93350-001A -->
<software name="clarisw">
<description>ClarisWorks (Swedish)</description>
<year>1993</year>
<publisher>Claris</publisher>
<info name="version" value="2.0" />
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="1474560">
<rom name="clarisworks 2.0 (swe) (disk 1).img" size="1474560" crc="25da86b7" sha1="99e9fa57e0d7d03fb89611745bd04b4d7c4af998" offset="0" />
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<dataarea name="flop" size="1474560">
<rom name="clarisworks 2.0 (swe) (disk 2).img" size="1474560" crc="76e73be8" sha1="46921d446169d949b37879f6cbbdfb802323b7ef" offset="0" />
</dataarea>
</part>
<part name="flop3" interface="floppy_3_5">
<dataarea name="flop" size="1474560">
<rom name="clarisworks 2.0 (swe) (disk 3).img" size="1474560" crc="8e2dbabc" sha1="6b2b982348874be31899b6b2bace55518e5e9477" offset="0" />
</dataarea>
</part>
<part name="flop4" interface="floppy_3_5">
<dataarea name="flop" size="1474560">
<rom name="clarisworks 2.0 (swe) (disk 4).img" size="1474560" crc="9ad039ef" sha1="18777ffd48cb9a016b169e38cf867f81367271b0" offset="0" />
</dataarea>
</part>
<part name="flop4" interface="floppy_3_5">
<dataarea name="flop" size="1474560">
<rom name="clarisworks 2.0 (swe) (disk 5).img" size="1474560" crc="f74f6289" sha1="b60aae3606fec538dc60ba15bbec47e3da607a65" offset="0" />
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -4,7 +4,7 @@
Mertec Compact Companion
http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Mertec_CompactComp.html
http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Mertec_CompactComp.html
**********************************************************************/

View File

@ -18,13 +18,12 @@
DEFINE_DEVICE_TYPE_NS(HPDIO_98265A, bus::hp_dio, dio16_98265a_device, "hp98265a", "HP98265A SCSI S16 Interface")
namespace bus {
namespace hp_dio {
namespace bus { namespace hp_dio {
static void scsi_devices(device_slot_interface &device)
{
device.option_add("cdrom", NSCSI_CDROM);
device.option_add("harddisk", NSCSI_HARDDISK);
device.option_add("cdrom", NSCSI_CDROM);
device.option_add("harddisk", NSCSI_HARDDISK);
}
void dio16_98265a_device::mb87030_scsi_adapter(device_t *device)
@ -299,5 +298,4 @@ WRITE_LINE_MEMBER(dio16_98265a_device::dmar0_w)
}
}
}
} } // namespace bus::hp_dio

View File

@ -257,11 +257,11 @@ void dio16_device::install_memory(offs_t start, offs_t end,
switch (m_prgwidth) {
case 16:
m_prgspace->install_readwrite_handler(start, end, rhandler,
whandler);
whandler);
break;
case 32:
m_prgspace->install_readwrite_handler(start, end, rhandler,
whandler, 0xffffffff);
whandler, 0xffffffff);
break;
default:
fatalerror("DIO: Bus width %d not supported\n", m_prgwidth);

View File

@ -475,7 +475,7 @@ int hle_hp_ipc_device::hil_poll()
return frames;
m_hp_hil_mlc->hil_write(m_device_id16 | 0x40); // Keycode Set 1, no coordinate data
while (!m_fifo.empty()) {
while (!m_fifo.empty()) {
m_hp_hil_mlc->hil_write(m_device_id16 | m_fifo.dequeue());
frames++;
}
@ -490,7 +490,7 @@ int hle_hp_itf_device::hil_poll()
LOG("KBD HAVE DATA\n");
frames++;
m_hp_hil_mlc->hil_write(m_device_id16 | 0x40); // Keycode Set 1, no coordinate data
while (!m_fifo.empty()) {
while (!m_fifo.empty()) {
m_hp_hil_mlc->hil_write(m_device_id16 | m_fifo.dequeue());
frames++;
}

View File

@ -68,7 +68,7 @@ int hle_hp_46060b_device::hil_poll()
frames+=2;
}
while (!m_fifo.empty()) {
while (!m_fifo.empty()) {
m_hp_hil_mlc->hil_write(m_device_id16 | m_fifo.dequeue());
frames++;
}

View File

@ -64,7 +64,7 @@ brk_xav_imp
else
{
PC = read_arg(0xfffa);
PC = set_h(PC, read_arg(0xfffb));
PC = set_h(PC, read_arg(0xfffb));
}
}
@ -86,7 +86,7 @@ brk_xav_imp
else
{
PC = read_arg(0xfffe);
PC = set_h(PC, read_arg(0xffff));
PC = set_h(PC, read_arg(0xffff));
}
}
@ -122,4 +122,4 @@ xavlda_idy
}
A = read_special(TMP+Y);
set_nz(A);
prefetch();
prefetch();

View File

@ -141,7 +141,7 @@ adcl3_acc
read_pc_noinc();
do_adc((m_l & 0xff000000) >> 24);
prefetch();
stal0_acc
read_pc_noinc();
m_l = (m_l & 0xffffff00) | (A & 0xff); // TODO: flags
@ -241,7 +241,7 @@ lpa1_acc
read_pc_noinc();
A = (m_pa & 0x00ff00) >> 8; // TODO: Flags?
prefetch();
spa2_acc
read_pc_noinc();
m_pa = (m_pa & 0x00ffff) | (A << 16); // TODO: Flags?
@ -341,7 +341,7 @@ cmppa_imp
sbcpa_imp
do_sbc(read_full_data_sp(m_pa+Y));
prefetch();
orapb_imp
fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
read_pc_noinc();

View File

@ -92,11 +92,11 @@ protected:
virtual space_config_vector memory_space_config() const override;
address_space_config m_special_data_config;
address_space *m_special_data_space;
address_space *m_special_data_space;
address_space_config m_lowbus_config;
address_space_config m_extbus_config;
address_space *m_lowbus_space;
address_space *m_extbus_space;
address_space *m_lowbus_space;
address_space *m_extbus_space;
uint8_t read_special(uint16_t adr);

View File

@ -25,51 +25,51 @@
some of the documented but 'undocumented' opcodes on the 6502 to have additonal
meaning for one specific function on startup
this just seems to be some very buggy checksum code where the games don't even care about the result...
(actually it looks like some games might be using it as a PRNG seed?)
this just seems to be some very buggy checksum code where the games don't even care about the result...
(actually it looks like some games might be using it as a PRNG seed?)
a is 80 when entering here?
a is 80 when entering here?
01BC37: A0 3F ldy #$3f
01BC39: B2 clr a // clear acculuator
01BC3A: 1B spa0 a // store 'accumulator' into byte 0 of PA 'address' register
01BC3B: 9B spa2 a // store 'accumulator' into byte 2 of PA 'address' register
-- loop point 2
01BC3C: 98 tya // y -> a (3f on first run of loop)
01BC3D: 5B spa1 a // store 'accumulator' into byte 1 of PA 'address' register (003f00 on first loop?)
-- loop point 1
01BC3E: A3 ldal0 a // read byte 0 of 32-bit 'long' register into accumulator
01BC3F: 73 adcpa // adc ($Address PA), y
01BC40: 83 stal0 a // store accumulator back in byte 0 of 32-bit 'long' register (even byte checksum?)
01BC41: FB incpa // increase 'address' register PA
01BC42: A7 ldal1 a // read byte 1 of 32-bit 'long' register into accumulator
01BC43: 73 adcpa // adc ($Address PA), y
01BC44: 87 stal1 a // store accumulator back in byte 0 of 32-bit 'long' register (odd byte checksum?)
01BC45: FB incpa // increase 'address' register PA
01BC46: D0 F6 bne $1bc3e // (branch based on PA increase, so PA must set flags?, probably overflows after 0xffff if upper byte is 'bank'? or at 0xff if this really is a mirror of the function below
01BC37: A0 3F ldy #$3f
01BC39: B2 clr a // clear acculuator
01BC3A: 1B spa0 a // store 'accumulator' into byte 0 of PA 'address' register
01BC3B: 9B spa2 a // store 'accumulator' into byte 2 of PA 'address' register
01BC48: 88 dey // decrease y, which contained 3f at the start
01BC49: 10 F1 bpl $1bc3c // branch back to loop point 2 to reload counter
-- loop point 2
01BC3C: 98 tya // y -> a (3f on first run of loop)
01BC3D: 5B spa1 a // store 'accumulator' into byte 1 of PA 'address' register (003f00 on first loop?)
// contains the odd byte checksum once we drop out the loop
01BC4B: 8D FB 00 sta $00fb // store it in zero page memory
01BC4E: A3 ldal0 a // get the even byte checksum from byte 0 of 32-bit 'long' register
01BC4F: 8D FA 00 sta $00fa // store it in zero page memory
01BC52: 07 oral1 a // why do we want to do this? (routine below does it too)
01BC53: D0 03 bne $1bc58
01BC55: CE FA 00 dec $00fa
01BC58: 80 retf
-- loop point 1
01BC3E: A3 ldal0 a // read byte 0 of 32-bit 'long' register into accumulator
01BC3F: 73 adcpa // adc ($Address PA), y
01BC40: 83 stal0 a // store accumulator back in byte 0 of 32-bit 'long' register (even byte checksum?)
01BC41: FB incpa // increase 'address' register PA
01BC42: A7 ldal1 a // read byte 1 of 32-bit 'long' register into accumulator
01BC43: 73 adcpa // adc ($Address PA), y
01BC44: 87 stal1 a // store accumulator back in byte 0 of 32-bit 'long' register (odd byte checksum?)
01BC45: FB incpa // increase 'address' register PA
01BC46: D0 F6 bne $1bc3e // (branch based on PA increase, so PA must set flags?, probably overflows after 0xffff if upper byte is 'bank'? or at 0xff if this really is a mirror of the function below
01BC48: 88 dey // decrease y, which contained 3f at the start
01BC49: 10 F1 bpl $1bc3c // branch back to loop point 2 to reload counter
// contains the odd byte checksum once we drop out the loop
01BC4B: 8D FB 00 sta $00fb // store it in zero page memory
01BC4E: A3 ldal0 a // get the even byte checksum from byte 0 of 32-bit 'long' register
01BC4F: 8D FA 00 sta $00fa // store it in zero page memory
01BC52: 07 oral1 a // why do we want to do this? (routine below does it too)
01BC53: D0 03 bne $1bc58
01BC55: CE FA 00 dec $00fa
01BC58: 80 retf
this is presumably meant to be similar to the function found in Namco
Nostalgia 2
// A is 80 on entry
// A is 80 on entry
09FFD8: A9 3F lda #$3f
09FFDA: 85 01 sta $01 // set upper bit of pointer at 0x0000 to 3f (it completely fails to initialize the ram at 00, we currently init it to ff, but should probably be 0?)
09FFDC: A0 00 ldy #$00 // clear inner loop counter
-- loop point 1 and 2
-- loop point 1 and 2
09FFDE: AD FA 00 lda $00fa // read current even byte checksum value from zero page ram fa (game also completely fails to initialize this)
09FFE1: 71 00 adc ($00), y // so 3f00 + y first outer loop, 3e00 + y second outer loop with y increasing in inner loop (add byte read to even checksum byte?)
09FFE3: 8D FA 00 sta $00fa // store even checksum at 0xfa in zero page ram
@ -82,8 +82,8 @@
09FFF2: C6 01 dec $01 // decrease accumulator (started at 3f) (inner loop counter already 0 because it overflowed)
09FFF4: 10 E8 bpl $9ffde // branch back
// checksums are already in place after loop so no need to copy them like in above
09FFF6: 0D FA 00 ora $00fa // same weird 'or' call
// checksums are already in place after loop so no need to copy them like in above
09FFF6: 0D FA 00 ora $00fa // same weird 'or' call
--
09FFF9: D0 03 bne $9fffe
09FFFB: CE FA 00 dec $00fa

View File

@ -61,7 +61,7 @@ public:
O(adcl1_acc);
O(adcl2_acc);
O(adcl3_acc);
O(stal0_acc);
O(stal1_acc);
O(stal2_acc);

View File

@ -247,12 +247,12 @@ bool pmmu_atc_lookup(const uint32_t addr_in, const int fc, const int ptest, uint
for (int i = 0; i < MMU_ATC_ENTRIES; i++)
{
if (m_mmu_atc_tag[i] != atc_tag)
continue;
continue;
if (!m_mmu_tmp_rw && (m_mmu_atc_data[i] & M68K_MMU_ATC_WRITE_PR))
continue;
continue;
if (!m_mmu_tmp_rw && !(m_mmu_atc_data[i] & M68K_MMU_ATC_MODIFIED))
continue;
continue;
// read access or write access and not write protected
if (!ptest)

View File

@ -954,10 +954,10 @@ next;
if (rd != 0) then r[rd] <- result;
if (ANDcccc or ANDNcc or ORcc or ORNcc or XORcc or XNORcc) then (
N <- result<31>;
Z <- if (result = 0) then 1 else 0;
V <- 0
C <- 0
N <- result<31>;
Z <- if (result = 0) then 1 else 0;
V <- 0
C <- 0
);
*/
@ -2178,100 +2178,100 @@ void mb86901_device::execute_store(uint32_t op)
/* The SPARC Instruction Manual: Version 8, page 163, "Appendix C - ISP Descriptions - C.9. Instruction Defintions - Load Instructions" (SPARCv8.pdf, pg. 160)
if (LDD or LD or LDSH or LDUH or LDSB or LDUB or LDDF or LDF or LDFSR or LDDC or LDC or LDCSR) then (
address <- r[rs1] + (if (i = 0) then r[rs2] else sign_extend(simm13));
addr_space <- (if (S = 0) then 10 else 11)
address <- r[rs1] + (if (i = 0) then r[rs2] else sign_extend(simm13));
addr_space <- (if (S = 0) then 10 else 11)
) else if (LDDA or LDA or LDSHA or LDUHA or LDSBA or LDUBA) then (
if (S = 0) then (
trap <- 1;
privileged_instruction <- 1
) else if (i = 1) then (
trap <- 1;
illegal_instruction <- 1
) else (
address <- r[rs1] + r[rs2];
addr_space <- asi
)
if (S = 0) then (
trap <- 1;
privileged_instruction <- 1
) else if (i = 1) then (
trap <- 1;
illegal_instruction <- 1
) else (
address <- r[rs1] + r[rs2];
addr_space <- asi
)
)
next;
if (trap = 0) then (
if ( (LDF or LDDF or LDFSR) and ((EF = 0) or (bp_FPU_present = 0)) then (
trap <- 1;
fp_disabled <- 1
) else if ( (LDC or LDDC or LDCSR) and ((EC = 0) or (bp_CP_present = 0)) then (
trap <- 1;
cp_disabled <- 1
) else if ( ( (LDD or LDDA or LDDF or LDDC) and (address<2:0> != 0)) or
((LD or LDA or LDF or LDFSR or LDC or LDCSR) and (address<1:0> != 0)) or
((LDSH or LDSHA or LDUH or LDUHA) and address<0> != 0) ) then (
trap <- 1;
mem_address_not_aligned <- 1
) else if (LDDF and (rd<0> != 0)) then (
trap <- 1;
fp_exception <- 1;
ftt <- invalid_fpr_register
) else if ((LDF or LDDF or LDFSR) and (an FPU sequence error is detected)) then (
trap <- 1;
fp_exception <- 1;
ftt <- sequence_error
) else if ((LDC or LDDC or LDCSR) and (a CP sequence error is detected)) then (
trap <- 1;
cp_exception <- 1;
{ possibly additional implementation-dependent actions }
)
if ( (LDF or LDDF or LDFSR) and ((EF = 0) or (bp_FPU_present = 0)) then (
trap <- 1;
fp_disabled <- 1
) else if ( (LDC or LDDC or LDCSR) and ((EC = 0) or (bp_CP_present = 0)) then (
trap <- 1;
cp_disabled <- 1
) else if ( ( (LDD or LDDA or LDDF or LDDC) and (address<2:0> != 0)) or
((LD or LDA or LDF or LDFSR or LDC or LDCSR) and (address<1:0> != 0)) or
((LDSH or LDSHA or LDUH or LDUHA) and address<0> != 0) ) then (
trap <- 1;
mem_address_not_aligned <- 1
) else if (LDDF and (rd<0> != 0)) then (
trap <- 1;
fp_exception <- 1;
ftt <- invalid_fpr_register
) else if ((LDF or LDDF or LDFSR) and (an FPU sequence error is detected)) then (
trap <- 1;
fp_exception <- 1;
ftt <- sequence_error
) else if ((LDC or LDDC or LDCSR) and (a CP sequence error is detected)) then (
trap <- 1;
cp_exception <- 1;
{ possibly additional implementation-dependent actions }
)
);
next;
if (trap = 0) then {
(data, MAE) <- memory_read(addr_space, address);
next;
if (MAE = 1) then (
trap <- 1;
data_access_exception <- 1;
) else (
if (LDSB or LDSBA or LDUB or LDUBA) then (
if (address<1:0> = 0) then byte <- data<31:24>
else if (address<1:0> = 1) then byte <- data<23:16>
else if (address<1:0> = 2) then byte <- data<15: 8>
else if (address<1:0> = 3) then byte <- data< 7: 0>
next;
if (LDSB or LDSBA) then
word0 <- sign_extend_byte(byte)
else
word0 <- zero_extend_byte(byte)
) else if (LDSH or LDSHA or LDUH or LDUHA) then (
if (address<1:0> = 0) then halfword <- data<31:16>
else if (address<1:0> = 2) then halfword <- data<15: 0>
next;
if (LDSH or LDSHA) then
word0 <- sign_extend_halfword(halfword)
else
word0 <- zero_extend_halfword(halfword)
) else
word0 <- data
)
(data, MAE) <- memory_read(addr_space, address);
next;
if (MAE = 1) then (
trap <- 1;
data_access_exception <- 1;
) else (
if (LDSB or LDSBA or LDUB or LDUBA) then (
if (address<1:0> = 0) then byte <- data<31:24>
else if (address<1:0> = 1) then byte <- data<23:16>
else if (address<1:0> = 2) then byte <- data<15: 8>
else if (address<1:0> = 3) then byte <- data< 7: 0>
next;
if (LDSB or LDSBA) then
word0 <- sign_extend_byte(byte)
else
word0 <- zero_extend_byte(byte)
) else if (LDSH or LDSHA or LDUH or LDUHA) then (
if (address<1:0> = 0) then halfword <- data<31:16>
else if (address<1:0> = 2) then halfword <- data<15: 0>
next;
if (LDSH or LDSHA) then
word0 <- sign_extend_halfword(halfword)
else
word0 <- zero_extend_halfword(halfword)
) else
word0 <- data
)
);
next;
if (trap = 0) then (
if ( (rd != 0) and (LD or LDA or LDSH or LDSHA
or LDUHA or LDUH or LDSB or LDSBA or LDUB or LDUBA) ) then
r[rd] <- word0
else if (LDF) then f[rd] <- word0
else if (LDC) then { implementation-dependent actions }
else if (LDFSR) then FSR <- word0
else if (LDCSR) then CSR <- word0
else if (LDD or LDDA) then r[rd and 11110] <- word0
else if (LDDF) then f[rd and 11110] <- word0
else if (LDDC) then { implementation-dependent actions }
if ( (rd != 0) and (LD or LDA or LDSH or LDSHA
or LDUHA or LDUH or LDSB or LDSBA or LDUB or LDUBA) ) then
r[rd] <- word0
else if (LDF) then f[rd] <- word0
else if (LDC) then { implementation-dependent actions }
else if (LDFSR) then FSR <- word0
else if (LDCSR) then CSR <- word0
else if (LDD or LDDA) then r[rd and 11110] <- word0
else if (LDDF) then f[rd and 11110] <- word0
else if (LDDC) then { implementation-dependent actions }
);
next;
if (((trap = 0) and (LDD or LDDA or LDDF or LDDC)) then (
(word1, MAE) <- memory_read(addr_space, address + 4);
next;
if (MAE = 1) then ( { MAE = 1 only due to a "non-resumable machine-check error" }
trap <- 1;
data_access_exception <- 1 )
else if (LDD or LDDA) then r[rd or 1] <- word1
else if (LDDF) then f[rd or 1] <- word1
else if (LDDC) then { implementation-dependent actions }
(word1, MAE) <- memory_read(addr_space, address + 4);
next;
if (MAE = 1) then ( { MAE = 1 only due to a "non-resumable machine-check error" }
trap <- 1;
data_access_exception <- 1 )
else if (LDD or LDDA) then r[rd or 1] <- word1
else if (LDDF) then f[rd or 1] <- word1
else if (LDDC) then { implementation-dependent actions }
);
*/
@ -3389,16 +3389,16 @@ inline void mb86901_device::execute_group3(uint32_t op)
bool mb86901_device::evaluate_condition(uint32_t op)
{
// COND & 8
// 0 8
// bn ba
// bz bne
// ble bg
// bl bge
// bleu bgu
// bcs bcc
// bneg bpos
// bvs bvc
// COND & 8
// 0 8
// bn ba
// bz bne
// ble bg
// bl bge
// bleu bgu
// bcs bcc
// bneg bpos
// bvs bvc
switch(COND)
{

View File

@ -127,7 +127,7 @@
#define CMASK ((op >> 4) & 7)
#define RD ((op >> 25) & 31)
#define RDBITS (op & 0x3e000000)
#define RDBITS (op & 0x3e000000)
#define RS1 ((op >> 14) & 31)
#define RS2 (op & 31)

View File

@ -2,13 +2,13 @@
// copyright-holders:Segher Boessenkool,Ryan Holtz
/*****************************************************************************
SunPlus micro'nSP emulator
SunPlus micro'nSP emulator
Copyright 2008-2017 Segher Boessenkool <segher@kernel.crashing.org>
Licensed under the terms of the GNU GPL, version 2
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Copyright 2008-2017 Segher Boessenkool <segher@kernel.crashing.org>
Licensed under the terms of the GNU GPL, version 2
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Ported to MAME framework by Ryan Holtz
Ported to MAME framework by Ryan Holtz
*****************************************************************************/

View File

@ -2,13 +2,13 @@
// copyright-holders:Segher Boessenkool,Ryan Holtz
/*****************************************************************************
SunPlus micro'nSP emulator
SunPlus micro'nSP emulator
Copyright 2008-2017 Segher Boessenkool <segher@kernel.crashing.org>
Licensed under the terms of the GNU GPL, version 2
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Copyright 2008-2017 Segher Boessenkool <segher@kernel.crashing.org>
Licensed under the terms of the GNU GPL, version 2
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Ported to MAME framework by Ryan Holtz
Ported to MAME framework by Ryan Holtz
*****************************************************************************/
@ -17,7 +17,7 @@
#pragma once
#define UNSP_LOG_OPCODES (0)
#define UNSP_LOG_OPCODES (0)
enum
{

View File

@ -2,11 +2,11 @@
// copyright-holders:Segher Boessenkool
/*****************************************************************************
SunPlus micro'nSP disassembler
SunPlus micro'nSP disassembler
Copyright 2008-2017 Segher Boessenkool <segher@kernel.crashing.org>
Licensed under the terms of the GNU GPL, version 2
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Copyright 2008-2017 Segher Boessenkool <segher@kernel.crashing.org>
Licensed under the terms of the GNU GPL, version 2
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
*****************************************************************************/
@ -166,7 +166,7 @@ offs_t unsp_disassembler::disassemble(std::ostream &stream, offs_t pc, uint16_t
util::stream_format(stream, "reti");
else if (opA+1 < 8 && opA+opN < 8)
util::stream_format(stream, "pop %s, %s from [%s]",
regs[opA+1], regs[opA+opN], regs[opB]);
regs[opA+1], regs[opA+opN], regs[opB]);
else
util::stream_format(stream, "<BAD>");
return UNSP_DASM_OK;
@ -176,7 +176,7 @@ offs_t unsp_disassembler::disassemble(std::ostream &stream, offs_t pc, uint16_t
case 0x2d:
if (opA+1 >= opN && opA < opN+7)
util::stream_format(stream, "push %s, %s to [%s]",
regs[opA+1-opN], regs[opA], regs[opB]);
regs[opA+1-opN], regs[opA], regs[opB]);
else
util::stream_format(stream, "<BAD>");
return UNSP_DASM_OK;

View File

@ -2,11 +2,11 @@
// copyright-holders:Segher Boessenkool
/*****************************************************************************
SunPlus micro'nSP disassembler
SunPlus micro'nSP disassembler
Copyright 2008-2017 Segher Boessenkool <segher@kernel.crashing.org>
Licensed under the terms of the GNU GPL, version 2
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Copyright 2008-2017 Segher Boessenkool <segher@kernel.crashing.org>
Licensed under the terms of the GNU GPL, version 2
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
*****************************************************************************/

View File

@ -457,11 +457,11 @@ void mb87030_device::device_start()
save_item(NAME(m_hdb));
save_item(NAME(m_hdb_loaded));
save_item(NAME(m_send_atn_during_selection));
// save_item(NAME(m_fifo));
// save_item(NAME(m_fifo));
save_item(NAME(m_scsi_phase));
save_item(NAME(m_scsi_ctrl));
save_item(NAME(m_dma_transfer));
// save_item(NAME(m_state));
// save_item(NAME(m_state));
}
void mb87030_device::scsi_ctrl_changed()
@ -551,9 +551,9 @@ WRITE8_MEMBER(mb87030_device::scmd_w)
break;
case SCMD_CMD_RESET_ATN:
LOG("%s: Reset ATN\n", __FUNCTION__);
// if (m_state == State::Idle)
// if (m_state == State::Idle)
m_send_atn_during_selection = false;
// else
// else
scsi_set_ctrl(0, S_ATN);
break;
case SCMD_CMD_SET_ATN:

View File

@ -16,42 +16,42 @@
DEFINE_DEVICE_TYPE(SPG24X, spg24x_device, "spg24x", "SPG240-series System-on-a-Chip")
DEFINE_DEVICE_TYPE(SPG28X, spg28x_device, "spg28x", "SPG280-series System-on-a-Chip")
#define LOG_IO_READS (1U << 0)
#define LOG_IO_WRITES (1U << 1)
#define LOG_UNKNOWN_IO (1U << 2)
#define LOG_IRQS (1U << 3)
#define LOG_VLINES (1U << 4)
#define LOG_GPIO (1U << 5)
#define LOG_UART (1U << 6)
#define LOG_I2C (1U << 7)
#define LOG_DMA (1U << 8)
#define LOG_SEGMENT (1U << 9)
#define LOG_WATCHDOG (1U << 10)
#define LOG_TIMERS (1U << 11)
#define LOG_SPU_READS (1U << 12)
#define LOG_SPU_WRITES (1U << 13)
#define LOG_UNKNOWN_SPU (1U << 14)
#define LOG_CHANNEL_READS (1U << 15)
#define LOG_CHANNEL_WRITES (1U << 16)
#define LOG_ENVELOPES (1U << 17)
#define LOG_SAMPLES (1U << 18)
#define LOG_RAMPDOWN (1U << 19)
#define LOG_BEAT (1U << 20)
#define LOG_PPU_READS (1U << 21)
#define LOG_PPU_WRITES (1U << 22)
#define LOG_UNKNOWN_PPU (1U << 23)
#define LOG_IO (LOG_IO_READS | LOG_IO_WRITES | LOG_IRQS | LOG_GPIO | LOG_UART | LOG_I2C | LOG_DMA | LOG_TIMERS | LOG_UNKNOWN_IO)
#define LOG_CHANNELS (LOG_CHANNEL_READS | LOG_CHANNEL_WRITES)
#define LOG_SPU (LOG_SPU_READS | LOG_SPU_WRITES | LOG_UNKNOWN_SPU | LOG_CHANNEL_READS | LOG_CHANNEL_WRITES \
#define LOG_IO_READS (1U << 0)
#define LOG_IO_WRITES (1U << 1)
#define LOG_UNKNOWN_IO (1U << 2)
#define LOG_IRQS (1U << 3)
#define LOG_VLINES (1U << 4)
#define LOG_GPIO (1U << 5)
#define LOG_UART (1U << 6)
#define LOG_I2C (1U << 7)
#define LOG_DMA (1U << 8)
#define LOG_SEGMENT (1U << 9)
#define LOG_WATCHDOG (1U << 10)
#define LOG_TIMERS (1U << 11)
#define LOG_SPU_READS (1U << 12)
#define LOG_SPU_WRITES (1U << 13)
#define LOG_UNKNOWN_SPU (1U << 14)
#define LOG_CHANNEL_READS (1U << 15)
#define LOG_CHANNEL_WRITES (1U << 16)
#define LOG_ENVELOPES (1U << 17)
#define LOG_SAMPLES (1U << 18)
#define LOG_RAMPDOWN (1U << 19)
#define LOG_BEAT (1U << 20)
#define LOG_PPU_READS (1U << 21)
#define LOG_PPU_WRITES (1U << 22)
#define LOG_UNKNOWN_PPU (1U << 23)
#define LOG_IO (LOG_IO_READS | LOG_IO_WRITES | LOG_IRQS | LOG_GPIO | LOG_UART | LOG_I2C | LOG_DMA | LOG_TIMERS | LOG_UNKNOWN_IO)
#define LOG_CHANNELS (LOG_CHANNEL_READS | LOG_CHANNEL_WRITES)
#define LOG_SPU (LOG_SPU_READS | LOG_SPU_WRITES | LOG_UNKNOWN_SPU | LOG_CHANNEL_READS | LOG_CHANNEL_WRITES \
| LOG_ENVELOPES | LOG_SAMPLES | LOG_RAMPDOWN | LOG_BEAT)
#define LOG_PPU (LOG_PPU_READS | LOG_PPU_WRITES | LOG_UNKNOWN_PPU)
#define LOG_ALL (LOG_IO | LOG_SPU | LOG_PPU | LOG_VLINES | LOG_SEGMENT)
#define LOG_PPU (LOG_PPU_READS | LOG_PPU_WRITES | LOG_UNKNOWN_PPU)
#define LOG_ALL (LOG_IO | LOG_SPU | LOG_PPU | LOG_VLINES | LOG_SEGMENT)
#define VERBOSE (0)
#define VERBOSE (0)
#include "logmacro.h"
#define SPG_DEBUG_VIDEO (0)
#define SPG_DEBUG_AUDIO (0)
#define SPG_DEBUG_VIDEO (0)
#define SPG_DEBUG_AUDIO (0)
#if SPG2XX_VISUAL_AUDIO_DEBUG
static const uint32_t s_visual_debug_palette[8] = {
@ -70,8 +70,8 @@ static const uint32_t s_visual_debug_palette[8] = {
#define SPG_VDB_VOL 4
#endif
#define IO_IRQ_ENABLE m_io_regs[0x21]
#define IO_IRQ_STATUS m_io_regs[0x22]
#define IO_IRQ_ENABLE m_io_regs[0x21]
#define IO_IRQ_STATUS m_io_regs[0x22]
#define VIDEO_IRQ_ENABLE m_video_regs[0x62]
#define VIDEO_IRQ_STATUS m_video_regs[0x63]
@ -2751,4 +2751,4 @@ bool spg2xx_device::audio_envelope_tick(address_space &space, const uint32_t cha
}
LOGMASKED(LOG_ENVELOPES, "envelope %d post-tick, count is now %04x, register is %04x\n", channel, new_count, m_audio_regs[(channel << 4) | AUDIO_ENVELOPE_DATA]);
return edd_changed;
}
}

View File

@ -68,10 +68,10 @@ protected:
enum
{
PAGE_ENABLE_MASK = 0x0008,
PAGE_WALLPAPER_MASK = 0x0004,
PAGE_WALLPAPER_MASK = 0x0004,
SPRITE_ENABLE_MASK = 0x0001,
SPRITE_COORD_TL_MASK = 0x0002,
SPRITE_ENABLE_MASK = 0x0001,
SPRITE_COORD_TL_MASK = 0x0002,
PAGE_DEPTH_FLAG_MASK = 0x3000,
PAGE_DEPTH_FLAG_SHIFT = 12,
@ -161,205 +161,205 @@ protected:
enum
{
AUDIO_WAVE_ADDR = 0x000,
AUDIO_WAVE_ADDR = 0x000,
AUDIO_MODE = 0x001,
AUDIO_WADDR_HIGH_MASK = 0x003f,
AUDIO_LADDR_HIGH_MASK = 0x0fc0,
AUDIO_LADDR_HIGH_SHIFT = 6,
AUDIO_TONE_MODE_MASK = 0x3000,
AUDIO_TONE_MODE_SHIFT = 12,
AUDIO_TONE_MODE_SW = 0,
AUDIO_MODE = 0x001,
AUDIO_WADDR_HIGH_MASK = 0x003f,
AUDIO_LADDR_HIGH_MASK = 0x0fc0,
AUDIO_LADDR_HIGH_SHIFT = 6,
AUDIO_TONE_MODE_MASK = 0x3000,
AUDIO_TONE_MODE_SHIFT = 12,
AUDIO_TONE_MODE_SW = 0,
AUDIO_TONE_MODE_HW_ONESHOT = 1,
AUDIO_TONE_MODE_HW_LOOP = 2,
AUDIO_16M_MASK = 0x4000,
AUDIO_ADPCM_MASK = 0x8000,
AUDIO_TONE_MODE_HW_LOOP = 2,
AUDIO_16M_MASK = 0x4000,
AUDIO_ADPCM_MASK = 0x8000,
AUDIO_LOOP_ADDR = 0x002,
AUDIO_LOOP_ADDR = 0x002,
AUDIO_PAN_VOL = 0x003,
AUDIO_PAN_VOL_MASK = 0x7f7f,
AUDIO_VOLUME_MASK = 0x007f,
AUDIO_PAN_MASK = 0x7f00,
AUDIO_PAN_SHIFT = 8,
AUDIO_PAN_VOL = 0x003,
AUDIO_PAN_VOL_MASK = 0x7f7f,
AUDIO_VOLUME_MASK = 0x007f,
AUDIO_PAN_MASK = 0x7f00,
AUDIO_PAN_SHIFT = 8,
AUDIO_ENVELOPE0 = 0x004,
AUDIO_ENVELOPE_INC_MASK = 0x007f,
AUDIO_ENVELOPE_SIGN_MASK = 0x0080,
AUDIO_ENVELOPE_TARGET_MASK = 0x7f00,
AUDIO_ENVELOPE_TARGET_SHIFT = 8,
AUDIO_ENVELOPE0 = 0x004,
AUDIO_ENVELOPE_INC_MASK = 0x007f,
AUDIO_ENVELOPE_SIGN_MASK = 0x0080,
AUDIO_ENVELOPE_TARGET_MASK = 0x7f00,
AUDIO_ENVELOPE_TARGET_SHIFT = 8,
AUDIO_ENVELOPE_REPEAT_PERIOD_MASK = 0x8000,
AUDIO_ENVELOPE_DATA = 0x005,
AUDIO_ENVELOPE_DATA_MASK = 0xff7f,
AUDIO_EDD_MASK = 0x007f,
AUDIO_ENVELOPE_COUNT_MASK = 0xff00,
AUDIO_ENVELOPE_COUNT_SHIFT = 8,
AUDIO_ENVELOPE_DATA = 0x005,
AUDIO_ENVELOPE_DATA_MASK = 0xff7f,
AUDIO_EDD_MASK = 0x007f,
AUDIO_ENVELOPE_COUNT_MASK = 0xff00,
AUDIO_ENVELOPE_COUNT_SHIFT = 8,
AUDIO_ENVELOPE1 = 0x006,
AUDIO_ENVELOPE_LOAD_MASK = 0x00ff,
AUDIO_ENVELOPE_RPT_MASK = 0x0100,
AUDIO_ENVELOPE_RPCNT_MASK = 0xfe00,
AUDIO_ENVELOPE_RPCNT_SHIFT = 9,
AUDIO_ENVELOPE1 = 0x006,
AUDIO_ENVELOPE_LOAD_MASK = 0x00ff,
AUDIO_ENVELOPE_RPT_MASK = 0x0100,
AUDIO_ENVELOPE_RPCNT_MASK = 0xfe00,
AUDIO_ENVELOPE_RPCNT_SHIFT = 9,
AUDIO_ENVELOPE_ADDR_HIGH = 0x007,
AUDIO_EADDR_HIGH_MASK = 0x003f,
AUDIO_IRQ_EN_MASK = 0x0040,
AUDIO_IRQ_ADDR_MASK = 0xff80,
AUDIO_IRQ_ADDR_SHIFT = 7,
AUDIO_ENVELOPE_ADDR_HIGH = 0x007,
AUDIO_EADDR_HIGH_MASK = 0x003f,
AUDIO_IRQ_EN_MASK = 0x0040,
AUDIO_IRQ_ADDR_MASK = 0xff80,
AUDIO_IRQ_ADDR_SHIFT = 7,
AUDIO_ENVELOPE_ADDR = 0x008,
AUDIO_WAVE_DATA_PREV = 0x009,
AUDIO_ENVELOPE_ADDR = 0x008,
AUDIO_WAVE_DATA_PREV = 0x009,
AUDIO_ENVELOPE_LOOP_CTRL = 0x00a,
AUDIO_EAOFFSET_MASK = 0x01ff,
AUDIO_RAMPDOWN_OFFSET_MASK = 0xfe00,
AUDIO_RAMPDOWN_OFFSET_SHIFT = 9,
AUDIO_ENVELOPE_LOOP_CTRL = 0x00a,
AUDIO_EAOFFSET_MASK = 0x01ff,
AUDIO_RAMPDOWN_OFFSET_MASK = 0xfe00,
AUDIO_RAMPDOWN_OFFSET_SHIFT = 9,
AUDIO_WAVE_DATA = 0x00b,
AUDIO_WAVE_DATA = 0x00b,
AUDIO_ADPCM_SEL = 0x00d,
AUDIO_ADPCM_SEL_MASK = 0xfe00,
AUDIO_POINT_NUMBER_MASK = 0x7e00,
AUDIO_POINT_NUMBER_SHIFT = 9,
AUDIO_ADPCM36_MASK = 0x8000,
AUDIO_ADPCM_SEL = 0x00d,
AUDIO_ADPCM_SEL_MASK = 0xfe00,
AUDIO_POINT_NUMBER_MASK = 0x7e00,
AUDIO_POINT_NUMBER_SHIFT = 9,
AUDIO_ADPCM36_MASK = 0x8000,
AUDIO_PHASE_HIGH = 0x200,
AUDIO_PHASE_HIGH_MASK = 0x0007,
AUDIO_PHASE_HIGH = 0x200,
AUDIO_PHASE_HIGH_MASK = 0x0007,
AUDIO_PHASE_ACCUM_HIGH = 0x201,
AUDIO_PHASE_ACCUM_HIGH_MASK = 0x0007,
AUDIO_PHASE_ACCUM_HIGH = 0x201,
AUDIO_PHASE_ACCUM_HIGH_MASK = 0x0007,
AUDIO_TARGET_PHASE_HIGH = 0x202,
AUDIO_TARGET_PHASE_HIGH = 0x202,
AUDIO_TARGET_PHASE_HIGH_MASK= 0x0007,
AUDIO_RAMP_DOWN_CLOCK = 0x203,
AUDIO_RAMP_DOWN_CLOCK_MASK = 0x0007,
AUDIO_RAMP_DOWN_CLOCK = 0x203,
AUDIO_RAMP_DOWN_CLOCK_MASK = 0x0007,
AUDIO_PHASE = 0x204,
AUDIO_PHASE_ACCUM = 0x205,
AUDIO_TARGET_PHASE = 0x206,
AUDIO_PHASE = 0x204,
AUDIO_PHASE_ACCUM = 0x205,
AUDIO_TARGET_PHASE = 0x206,
AUDIO_PHASE_CTRL = 0x207,
AUDIO_PHASE_OFFSET_MASK = 0x0fff,
AUDIO_PHASE_SIGN_MASK = 0x1000,
AUDIO_PHASE_SIGN_SHIFT = 12,
AUDIO_PHASE_TIME_STEP_MASK = 0xe000,
AUDIO_PHASE_TIME_STEP_SHIFT = 13,
AUDIO_PHASE_CTRL = 0x207,
AUDIO_PHASE_OFFSET_MASK = 0x0fff,
AUDIO_PHASE_SIGN_MASK = 0x1000,
AUDIO_PHASE_SIGN_SHIFT = 12,
AUDIO_PHASE_TIME_STEP_MASK = 0xe000,
AUDIO_PHASE_TIME_STEP_SHIFT = 13,
AUDIO_CHAN_OFFSET_MASK = 0xf0f,
AUDIO_CHAN_OFFSET_MASK = 0xf0f,
AUDIO_CHANNEL_ENABLE = 0x400,
AUDIO_CHANNEL_ENABLE_MASK = 0xffff,
AUDIO_CHANNEL_ENABLE = 0x400,
AUDIO_CHANNEL_ENABLE_MASK = 0xffff,
AUDIO_MAIN_VOLUME = 0x401,
AUDIO_MAIN_VOLUME_MASK = 0x007f,
AUDIO_MAIN_VOLUME = 0x401,
AUDIO_MAIN_VOLUME_MASK = 0x007f,
AUDIO_CHANNEL_FIQ_ENABLE = 0x402,
AUDIO_CHANNEL_FIQ_ENABLE_MASK = 0xffff,
AUDIO_CHANNEL_FIQ_ENABLE = 0x402,
AUDIO_CHANNEL_FIQ_ENABLE_MASK = 0xffff,
AUDIO_CHANNEL_FIQ_STATUS = 0x403,
AUDIO_CHANNEL_FIQ_STATUS_MASK = 0xffff,
AUDIO_CHANNEL_FIQ_STATUS = 0x403,
AUDIO_CHANNEL_FIQ_STATUS_MASK = 0xffff,
AUDIO_BEAT_BASE_COUNT = 0x404,
AUDIO_BEAT_BASE_COUNT_MASK = 0x07ff,
AUDIO_BEAT_BASE_COUNT = 0x404,
AUDIO_BEAT_BASE_COUNT_MASK = 0x07ff,
AUDIO_BEAT_COUNT = 0x405,
AUDIO_BEAT_COUNT_MASK = 0x3fff,
AUDIO_BIS_MASK = 0x4000,
AUDIO_BIE_MASK = 0x8000,
AUDIO_BEAT_COUNT = 0x405,
AUDIO_BEAT_COUNT_MASK = 0x3fff,
AUDIO_BIS_MASK = 0x4000,
AUDIO_BIE_MASK = 0x8000,
AUDIO_ENVCLK0 = 0x406,
AUDIO_ENVCLK0 = 0x406,
AUDIO_ENVCLK0_HIGH = 0x407,
AUDIO_ENVCLK0_HIGH_MASK = 0xffff,
AUDIO_ENVCLK0_HIGH = 0x407,
AUDIO_ENVCLK0_HIGH_MASK = 0xffff,
AUDIO_ENVCLK1 = 0x408,
AUDIO_ENVCLK1 = 0x408,
AUDIO_ENVCLK1_HIGH = 0x409,
AUDIO_ENVCLK1_HIGH_MASK = 0xffff,
AUDIO_ENVCLK1_HIGH = 0x409,
AUDIO_ENVCLK1_HIGH_MASK = 0xffff,
AUDIO_ENV_RAMP_DOWN = 0x40a,
AUDIO_ENV_RAMP_DOWN_MASK = 0xffff,
AUDIO_ENV_RAMP_DOWN = 0x40a,
AUDIO_ENV_RAMP_DOWN_MASK = 0xffff,
AUDIO_CHANNEL_STOP = 0x40b,
AUDIO_CHANNEL_STOP_MASK = 0xffff,
AUDIO_CHANNEL_STOP = 0x40b,
AUDIO_CHANNEL_STOP_MASK = 0xffff,
AUDIO_CHANNEL_ZERO_CROSS = 0x40c,
AUDIO_CHANNEL_ZERO_CROSS_MASK = 0xffff,
AUDIO_CHANNEL_ZERO_CROSS = 0x40c,
AUDIO_CHANNEL_ZERO_CROSS_MASK = 0xffff,
AUDIO_CONTROL = 0x40d,
AUDIO_CONTROL_MASK = 0x9fe8,
AUDIO_CONTROL_SATURATE_MASK = 0x8000,
AUDIO_CONTROL_SOFTCH_MASK = 0x1000,
AUDIO_CONTROL_COMPEN_MASK = 0x0800,
AUDIO_CONTROL_NOHIGH_MASK = 0x0400,
AUDIO_CONTROL_NOINT_MASK = 0x0200,
AUDIO_CONTROL_EQEN_MASK = 0x0100,
AUDIO_CONTROL_VOLSEL_MASK = 0x00c0,
AUDIO_CONTROL_VOLSEL_SHIFT = 6,
AUDIO_CONTROL_FOF_MASK = 0x0020,
AUDIO_CONTROL_INIT_MASK = 0x0008,
AUDIO_CONTROL = 0x40d,
AUDIO_CONTROL_MASK = 0x9fe8,
AUDIO_CONTROL_SATURATE_MASK = 0x8000,
AUDIO_CONTROL_SOFTCH_MASK = 0x1000,
AUDIO_CONTROL_COMPEN_MASK = 0x0800,
AUDIO_CONTROL_NOHIGH_MASK = 0x0400,
AUDIO_CONTROL_NOINT_MASK = 0x0200,
AUDIO_CONTROL_EQEN_MASK = 0x0100,
AUDIO_CONTROL_VOLSEL_MASK = 0x00c0,
AUDIO_CONTROL_VOLSEL_SHIFT = 6,
AUDIO_CONTROL_FOF_MASK = 0x0020,
AUDIO_CONTROL_INIT_MASK = 0x0008,
AUDIO_COMPRESS_CTRL = 0x40e,
AUDIO_COMPRESS_CTRL_PEAK_MASK = 0x8000,
AUDIO_COMPRESS_CTRL_THRESHOLD_MASK = 0x7f00,
AUDIO_COMPRESS_CTRL_THRESHOLD_SHIFT = 8,
AUDIO_COMPRESS_CTRL_ATTSCALE_MASK = 0x00c0,
AUDIO_COMPRESS_CTRL_ATTSCALE_SHIFT = 6,
AUDIO_COMPRESS_CTRL_RELSCALE_MASK = 0x0030,
AUDIO_COMPRESS_CTRL_RELSCALE_SHIFT = 4,
AUDIO_COMPRESS_CTRL_DISZC_MASK = 0x0008,
AUDIO_COMPRESS_CTRL_RATIO_MASK = 0x0007,
AUDIO_COMPRESS_CTRL = 0x40e,
AUDIO_COMPRESS_CTRL_PEAK_MASK = 0x8000,
AUDIO_COMPRESS_CTRL_THRESHOLD_MASK = 0x7f00,
AUDIO_COMPRESS_CTRL_THRESHOLD_SHIFT = 8,
AUDIO_COMPRESS_CTRL_ATTSCALE_MASK = 0x00c0,
AUDIO_COMPRESS_CTRL_ATTSCALE_SHIFT = 6,
AUDIO_COMPRESS_CTRL_RELSCALE_MASK = 0x0030,
AUDIO_COMPRESS_CTRL_RELSCALE_SHIFT = 4,
AUDIO_COMPRESS_CTRL_DISZC_MASK = 0x0008,
AUDIO_COMPRESS_CTRL_RATIO_MASK = 0x0007,
AUDIO_CHANNEL_STATUS = 0x40f,
AUDIO_CHANNEL_STATUS_MASK = 0xffff,
AUDIO_CHANNEL_STATUS = 0x40f,
AUDIO_CHANNEL_STATUS_MASK = 0xffff,
AUDIO_WAVE_IN_L = 0x410,
AUDIO_WAVE_IN_L = 0x410,
AUDIO_WAVE_IN_R = 0x411,
AUDIO_SOFTIRQ_MASK = 0x8000,
AUDIO_SOFTIRQ_EN_MASK = 0x4000,
AUDIO_SOFT_PHASE_HIGH_MASK = 0x0070,
AUDIO_SOFT_PHASE_HIGH_SHIFT = 4,
AUDIO_FIFO_IRQ_THRESHOLD_MASK = 0x000f,
AUDIO_WAVE_IN_R = 0x411,
AUDIO_SOFTIRQ_MASK = 0x8000,
AUDIO_SOFTIRQ_EN_MASK = 0x4000,
AUDIO_SOFT_PHASE_HIGH_MASK = 0x0070,
AUDIO_SOFT_PHASE_HIGH_SHIFT = 4,
AUDIO_FIFO_IRQ_THRESHOLD_MASK = 0x000f,
AUDIO_WAVE_OUT_L = 0x412,
AUDIO_WAVE_OUT_R = 0x413,
AUDIO_WAVE_OUT_L = 0x412,
AUDIO_WAVE_OUT_R = 0x413,
AUDIO_CHANNEL_REPEAT = 0x414,
AUDIO_CHANNEL_REPEAT_MASK = 0xffff,
AUDIO_CHANNEL_REPEAT = 0x414,
AUDIO_CHANNEL_REPEAT_MASK = 0xffff,
AUDIO_CHANNEL_ENV_MODE = 0x415,
AUDIO_CHANNEL_ENV_MODE_MASK = 0xffff,
AUDIO_CHANNEL_ENV_MODE = 0x415,
AUDIO_CHANNEL_ENV_MODE_MASK = 0xffff,
AUDIO_CHANNEL_TONE_RELEASE = 0x416,
AUDIO_CHANNEL_TONE_RELEASE_MASK = 0xffff,
AUDIO_CHANNEL_TONE_RELEASE = 0x416,
AUDIO_CHANNEL_TONE_RELEASE_MASK = 0xffff,
AUDIO_CHANNEL_ENV_IRQ = 0x417,
AUDIO_CHANNEL_ENV_IRQ_MASK = 0xffff,
AUDIO_CHANNEL_ENV_IRQ = 0x417,
AUDIO_CHANNEL_ENV_IRQ_MASK = 0xffff,
AUDIO_CHANNEL_PITCH_BEND = 0x418,
AUDIO_CHANNEL_PITCH_BEND_MASK = 0xffff,
AUDIO_CHANNEL_PITCH_BEND = 0x418,
AUDIO_CHANNEL_PITCH_BEND_MASK = 0xffff,
AUDIO_SOFT_PHASE = 0x419,
AUDIO_SOFT_PHASE = 0x419,
AUDIO_ATTACK_RELEASE = 0x41a,
AUDIO_RELEASE_TIME_MASK = 0x00ff,
AUDIO_ATTACK_TIME_MASK = 0xff00,
AUDIO_ATTACK_TIME_SHIFT = 8,
AUDIO_ATTACK_RELEASE = 0x41a,
AUDIO_RELEASE_TIME_MASK = 0x00ff,
AUDIO_ATTACK_TIME_MASK = 0xff00,
AUDIO_ATTACK_TIME_SHIFT = 8,
AUDIO_EQ_CUTOFF10 = 0x41b,
AUDIO_EQ_CUTOFF10_MASK = 0x7f7f,
AUDIO_EQ_CUTOFF10 = 0x41b,
AUDIO_EQ_CUTOFF10_MASK = 0x7f7f,
AUDIO_EQ_CUTOFF32 = 0x41c,
AUDIO_EQ_CUTOFF32_MASK = 0x7f7f,
AUDIO_EQ_CUTOFF32 = 0x41c,
AUDIO_EQ_CUTOFF32_MASK = 0x7f7f,
AUDIO_EQ_GAIN10 = 0x41d,
AUDIO_EQ_GAIN10_MASK = 0x7f7f,
AUDIO_EQ_GAIN10 = 0x41d,
AUDIO_EQ_GAIN10_MASK = 0x7f7f,
AUDIO_EQ_GAIN32 = 0x41e,
AUDIO_EQ_GAIN32_MASK = 0x7f7f
AUDIO_EQ_GAIN32 = 0x41e,
AUDIO_EQ_GAIN32_MASK = 0x7f7f
};
DECLARE_READ16_MEMBER(video_r);

View File

@ -12,21 +12,21 @@
DEFINE_DEVICE_TYPE(SUN4C_MMU, sun4c_mmu_device, "sun4c_mmu", "Sun 4C MMU")
#define LOG_PAGE_MAP (1U << 0)
#define LOG_SEGMENT_MAP (1U << 1)
#define LOG_INVALID_PTE (1U << 2)
#define LOG_SYSTEM (1U << 3)
#define LOG_CONTEXT (1U << 4)
#define LOG_SYSTEM_ENABLE (1U << 5)
#define LOG_BUSERROR (1U << 6)
#define LOG_CACHE_TAGS (1U << 7)
#define LOG_CACHE_DATA (1U << 8)
#define LOG_UNKNOWN_SYSTEM (1U << 9)
#define LOG_UNKNOWN_SEGMENT (1U << 10)
#define LOG_TYPE0_TIMEOUT (1U << 11)
#define LOG_UNKNOWN_SPACE (1U << 12)
#define LOG_WRITE_PROTECT (1U << 13)
#define LOG_ALL_ASI (1U << 14) // WARNING: Heavy!
#define LOG_PAGE_MAP (1U << 0)
#define LOG_SEGMENT_MAP (1U << 1)
#define LOG_INVALID_PTE (1U << 2)
#define LOG_SYSTEM (1U << 3)
#define LOG_CONTEXT (1U << 4)
#define LOG_SYSTEM_ENABLE (1U << 5)
#define LOG_BUSERROR (1U << 6)
#define LOG_CACHE_TAGS (1U << 7)
#define LOG_CACHE_DATA (1U << 8)
#define LOG_UNKNOWN_SYSTEM (1U << 9)
#define LOG_UNKNOWN_SEGMENT (1U << 10)
#define LOG_TYPE0_TIMEOUT (1U << 11)
#define LOG_UNKNOWN_SPACE (1U << 12)
#define LOG_WRITE_PROTECT (1U << 13)
#define LOG_ALL_ASI (1U << 14) // WARNING: Heavy!
#define VERBOSE (0)
#include "logmacro.h"
@ -447,11 +447,11 @@ template uint32_t sun4c_mmu_device::insn_data_r<sun4c_mmu_device::SUPER_DATA>(co
template <sun4c_mmu_device::insn_data_mode MODE>
uint32_t sun4c_mmu_device::insn_data_r(const uint32_t offset, const uint32_t mem_mask)
{
// supervisor program fetches in boot state are special
if (MODE == SUPER_INSN && m_fetch_bootrom)
{
return m_rom_ptr[offset & 0x1ffff];
}
// supervisor program fetches in boot state are special
if (MODE == SUPER_INSN && m_fetch_bootrom)
{
return m_rom_ptr[offset & 0x1ffff];
}
// it's translation time
const uint32_t pmeg = m_curr_segmap_masked[(offset >> 16) & 0xfff];// & m_pmeg_mask;

View File

@ -143,8 +143,8 @@ protected:
bool m_page_valid[16384];
// Internal MAME device state
uint8_t m_ctx_mask; // SS2 is sun4c but has 16 contexts; most have 8
uint8_t m_pmeg_mask; // SS2 is sun4c but has 16384 PTEs; most have 8192
uint8_t m_ctx_mask; // SS2 is sun4c but has 16 contexts; most have 8
uint8_t m_pmeg_mask; // SS2 is sun4c but has 16384 PTEs; most have 8192
uint32_t m_ram_set_mask[4]; // Used for mirroring within 4 megabyte sets
uint32_t m_ram_set_base[4];
uint32_t m_populated_ram_words;

View File

@ -66,12 +66,12 @@ DEFINE_DEVICE_TYPE(DP8367, dp8367_device, "dp8367", "DP8367 CRTC")
//-------------------------------------------------
dp835x_device::dp835x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock,
int char_width, int char_height, int chars_per_row, int rows_per_frame,
int vsync_delay_f1, int vsync_width_f1, int vblank_interval_f1,
int vsync_delay_f0, int vsync_width_f0, int vblank_interval_f0,
int chars_per_line, int hsync_delay, int hsync_width, int vblank_stop,
bool cursor_on_all_lines, int lbc_0_width, int hsync_serration,
bool hsync_active, bool vsync_active, bool vblank_active)
int char_width, int char_height, int chars_per_row, int rows_per_frame,
int vsync_delay_f1, int vsync_width_f1, int vblank_interval_f1,
int vsync_delay_f0, int vsync_width_f0, int vblank_interval_f0,
int chars_per_line, int hsync_delay, int hsync_width, int vblank_stop,
bool cursor_on_all_lines, int lbc_0_width, int hsync_serration,
bool hsync_active, bool vsync_active, bool vblank_active)
: device_t(mconfig, type, tag, owner, clock)
, device_video_interface(mconfig, *this)
, m_char_width(char_width)
@ -124,12 +124,12 @@ dp835x_device::dp835x_device(const machine_config &mconfig, device_type type, co
dp8350_device::dp8350_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: dp835x_device(mconfig, DP8350, tag, owner, clock,
7, 10, 80, 24,
4, 10, 20,
30, 10, 72,
100, 0, 43, 1, // yes, the horizontal sync pulse is more than twice as long as the blanking period
true, 4, 0,
true, false, true)
7, 10, 80, 24,
4, 10, 20,
30, 10, 72,
100, 0, 43, 1, // yes, the horizontal sync pulse is more than twice as long as the blanking period
true, 4, 0,
true, false, true)
{
}
@ -140,12 +140,12 @@ dp8350_device::dp8350_device(const machine_config &mconfig, const char *tag, dev
dp8367_device::dp8367_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: dp835x_device(mconfig, DP8367, tag, owner, clock,
9, 15, 80, 26,
0, 19, 25,
38, 64, 108,
115, -16, 7, 1, // value of vblank_stop assumed
true, 5, 0, // values assumed
true, true, true)
9, 15, 80, 26,
0, 19, 25,
38, 64, 108,
115, -16, 7, 1, // value of vblank_stop assumed
true, 5, 0, // values assumed
true, true, true)
{
}

View File

@ -74,12 +74,12 @@ public:
protected:
// base type constructor
dp835x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock,
int char_width, int char_height, int chars_per_row, int rows_per_frame,
int vsync_delay_f1, int vsync_width_f1, int vblank_interval_f1,
int vsync_delay_f0, int vsync_width_f0, int vblank_interval_f0,
int chars_per_line, int hsync_delay, int hsync_width, int vblank_stop,
bool cursor_on_all_lines, int lbc_0_width, int hsync_serration,
bool hsync_active, bool vsync_active, bool vblank_active);
int char_width, int char_height, int chars_per_row, int rows_per_frame,
int vsync_delay_f1, int vsync_width_f1, int vblank_interval_f1,
int vsync_delay_f0, int vsync_width_f0, int vblank_interval_f0,
int chars_per_line, int hsync_delay, int hsync_width, int vblank_stop,
bool cursor_on_all_lines, int lbc_0_width, int hsync_serration,
bool hsync_active, bool vsync_active, bool vblank_active);
// device-specific overrides
virtual void device_config_complete() override;

View File

@ -690,7 +690,7 @@ ROM_END
// "FUCK SHIT CUNT PRICK PENUS BALLS PUTA JODER POLLA PUTO MAMON PICHA COJON TETA TETAS TITS CHULO CULO PENE PIJO LEFA LISTO"
ROM_START( zortonbr )
ALG_BIOS
ROM_REGION( 0x40000, "game_program", ROMREGION_ERASEFF )
ROM_LOAD16_BYTE( "zort_1-01_23-3-94_odd.u2", 0x000000, 0x10000, CRC(21e63949) SHA1(0a62ad108f8cfa00dc8f03dea2ff6f1b277e8d5d) )
ROM_LOAD16_BYTE( "zort_1-01_23-3-94_even.u3", 0x000001, 0x10000, CRC(6a051c6a) SHA1(f8daafab068fef57e47287bd72be860b84e2e75c) )

View File

@ -484,7 +484,7 @@ ROM_START( atetrisb2 )
ROM_LOAD( "b-gal16v8-b.bin", 0x117, 0x117, CRC(b1dfab0f) SHA1(e9e4db5459617a35a13df4b7a4586dd1b7be04ac) ) // sub PCB - Same content as "a"
ROM_LOAD( "c-gal16v8-b.bin", 0x22e, 0x117, CRC(e1a9db0b) SHA1(5bbac24e37a4d9b8a1387054722fa35478ca7941) ) // sub PCB
ROM_LOAD( "1-pal16l8-a.3g" , 0x345, 0x104, CRC(dcf0d2fe) SHA1(0496acaa605ec5008b110c387136bbc714441384) ) // main PCB - Found also as GAL16v8 on some PCBs
ROM_LOAD( "2-pal16r4-a.3r" , 0x449, 0x104, CRC(d71bdf27) SHA1(cc3503cb037de344fc353886f3492601638c9d45) ) // main PCB
ROM_LOAD( "2-pal16r4-a.3r" , 0x449, 0x104, CRC(d71bdf27) SHA1(cc3503cb037de344fc353886f3492601638c9d45) ) // main PCB
ROM_LOAD( "3-pal16r4-a.8p" , 0x54D, 0x104, CRC(e007edf2) SHA1(4f1bc31abd64e402edb4c900ddb21f258d6782c8) ) // main PCB - Found also as GAL16v8 on some PCBs
ROM_LOAD( "4-pal16l8-a.9n" , 0x651, 0x104, CRC(3630e734) SHA1(a29dc202ffc75ac48815115b85e984fc0c9d5b59) ) // main PCB - Found also as GAL16v8 on some PCBs
ROM_LOAD( "5-pal16l8-a.9m" , 0x755, 0x104, CRC(53b64be1) SHA1(2bf712b766541c90c38c0810ee16848e448c5205) ) // main PCB - Found also as GAL16v8 on some PCBs
@ -569,7 +569,7 @@ H |74LS04 PAL16R8 ___________ | | | UN |74LS161 |
I |74LS32 74LS373 |__________| 74LS32 | PU |PAL16L8 |
| __________ 74LS04 | LA | |
J |74LS374 74LS357 | X2804AP | 74LS257 74LS138 | TED |PAL16?? |
|____________ |_________| 74LS257 74LS257 | | |
|____________ |_________| 74LS257 74LS257 | | |
K ||D3 27PC256 | |_____|74LS161 |
||___________| 74LS245 74LS245 |
L |________________ _______________ 74LS257 74LS74 74LS161 |

View File

@ -553,7 +553,7 @@ ROM_START( brkthruj )
ROM_LOAD( "brkthru.5", 0x8000, 0x8000, CRC(c309435f) SHA1(82914004c2b169a7c31aa49af83a699ebbc7b33f) )
ROM_END
// Tecfri PCB with Data East license.
// Tecfri PCB with Data East license.
// Although only program ROM "8.bin" is marked as BAD_DUMP, it would be better to redump all program ROMs, to be 100% sure it's a good set.
ROM_START( brkthrut )
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for main CPU + 64k for banked ROMs */
@ -569,7 +569,7 @@ ROM_START( brkthrut )
/* background */
/* we do a lot of scatter loading here, to place the data in a format */
/* which can be decoded by MAME's standard functions */
ROM_LOAD( "2.bin", 0x00000, 0x4000, CRC(920cc56a) SHA1(c75806691073f1f3bd54dcaca4c14155ecf4471d) ) /* bitplanes 1,2 for bank 1,2 */ /* Same as parent */
ROM_LOAD( "2.bin", 0x00000, 0x4000, CRC(920cc56a) SHA1(c75806691073f1f3bd54dcaca4c14155ecf4471d) ) /* bitplanes 1,2 for bank 1,2 */ /* Same as parent */
ROM_CONTINUE( 0x08000, 0x4000 ) /* bitplanes 1,2 for bank 3,4 */
ROM_LOAD( "1.bin", 0x10000, 0x4000, CRC(6c47dc43) SHA1(3274fb8ddf0e0c91f5796677255ade78e3b3f9d6) ) /* bitplanes 1,2 for bank 5,6 */
ROM_CONTINUE( 0x18000, 0x4000 ) /* bitplanes 1,2 for bank 7,8 */

View File

@ -666,7 +666,7 @@ MACHINE_START_MEMBER(combatsc_state,combatsc)
save_pointer(NAME(m_page[0]),0x2000);
save_pointer(NAME(m_page[1]),0x2000);
save_pointer(NAME(m_scrollram0), 0x40);
save_pointer(NAME(m_scrollram1), 0x40);
save_pointer(NAME(m_scrollram1), 0x40);
}
MACHINE_START_MEMBER(combatsc_state,combatscb)

View File

@ -1050,8 +1050,8 @@ uint32_t cps3_state::screen_update_cps3(screen_device &screen, bitmap_rgb32 &bit
// decode_charram();
/* registers are normally 002a006f 01ef01c6
widescreen mode = 00230076 026501c6
only SFIII2 uses widescreen, I don't know exactly which register controls it */
widescreen mode = 00230076 026501c6
only SFIII2 uses widescreen, I don't know exactly which register controls it */
if (((m_fullscreenzoom[1] & 0xffff0000) >> 16) == 0x0265)
{
if (m_screenwidth != 496)
@ -1154,7 +1154,7 @@ uint32_t cps3_state::screen_update_cps3(screen_device &screen, bitmap_rgb32 &bit
int tilemapnum = ((value3 & 0x00000030) >> 4);
/* Urgh, the startline / endline seem to be direct screen co-ordinates regardless of fullscreen zoom
which probably means the fullscreen zoom is applied when rendering everything, not aftewards */
which probably means the fullscreen zoom is applied when rendering everything, not aftewards */
if (bg_drawn[tilemapnum] == 0)
{
@ -1288,10 +1288,10 @@ uint32_t cps3_state::screen_update_cps3(screen_device &screen, bitmap_rgb32 &bit
}
/*
SSRAM 0x0000 - 0x1fff tilemap layout bank 0
0x2000 - 0x3fff tilemap layout bank 1
0x4000 - 0x7fff rowscroll (banked?)
0x8000 - 0xffff tile character definitions
SSRAM 0x0000 - 0x1fff tilemap layout bank 0
0x2000 - 0x3fff tilemap layout bank 1
0x4000 - 0x7fff rowscroll (banked?)
0x8000 - 0xffff tile character definitions
*/

View File

@ -280,7 +280,7 @@ WRITE16_MEMBER(cps_state::knightsb_layer_w)
WRITE16_MEMBER(cps_state::mtwinsb_layer_w)
{
m_cps_a_regs[0x06 / 2] = 0x9100; // bit of a hack - the game never writes this, but does need it
switch (offset)
{
case 0x00:

View File

@ -21,6 +21,8 @@
#include "screen.h"
#include "speaker.h"
#include <algorithm>
#define VERBOSE_LEVEL ( 0 )
class hapyfish_state : public driver_device
@ -34,7 +36,7 @@ public:
m_nand2(*this, "nand2"),
m_ldac(*this, "ldac"),
m_rdac(*this, "rdac")
{ }
{ }
void hapyfish(machine_config &config);
@ -70,10 +72,10 @@ inline void hapyfish_state::verboselog(int n_level, const char *s_fmt, ...)
{
va_list v;
char buf[32768];
va_start( v, s_fmt);
vsprintf( buf, s_fmt, v);
va_end( v);
logerror( "%s: %s", machine().describe_context(), buf);
va_start(v, s_fmt);
vsprintf(buf, s_fmt, v);
va_end(v);
logerror("%s: %s", machine().describe_context(), buf);
}
}
@ -191,7 +193,7 @@ WRITE8_MEMBER(hapyfish_state::s3c2440_nand_data_w )
WRITE16_MEMBER(hapyfish_state::s3c2440_i2s_data_w )
{
if ( offset )
if (offset)
m_ldac->write(data);
else
m_rdac->write(data);
@ -217,7 +219,7 @@ void hapyfish_state::machine_start()
void hapyfish_state::machine_reset()
{
m_maincpu->reset();
memset( m_port, 0, sizeof( m_port));
std::fill(std::begin(m_port), std::end(m_port), 0);
m_port[8] = 0x1800; // select NAND #1
}

View File

@ -571,17 +571,17 @@ ROM_START( crzrallyrf )
ROM_LOAD( "crzrallyrf_8.1k", 0x4000, 0x2000, CRC(2a0d5bca) SHA1(8d7aedd63ea374a5809c24f957b0afa3cad437d0) )
ROM_LOAD( "crzrallyrf_9.1i", 0x6000, 0x2000, CRC(49c0c2b8) SHA1(30c4fe1dc2df499927f8fd4a041a707b81a04e1d) )
/* Not dumped on the Refreativos Franco PCB, taken from the parent set */
/* Not dumped on the Refreativos Franco PCB, taken from the parent set */
ROM_REGION( 0x0300, "proms", 0 )
ROM_LOAD( "82s129.9n", 0x0000, 0x0100, CRC(98ff725a) SHA1(553f033212a7c4785c0beb8156400cabcd53cf25) ) /* Red component */
ROM_LOAD( "82s129.9m", 0x0100, 0x0100, CRC(d41f5800) SHA1(446046f5694357da876e1307f49584d79c8d9a1a) ) /* Green component */
ROM_LOAD( "82s129.9l", 0x0200, 0x0100, CRC(9ed49cb4) SHA1(f54e66e2211d5fb0da9a81e11670367ee4d9b49a) ) /* Blue component */
/* Not dumped on the Refreativos Franco PCB, taken from the parent set */
/* Not dumped on the Refreativos Franco PCB, taken from the parent set */
ROM_REGION( 0x0200, "user1", 0 ) // unknown
ROM_LOAD( "82s147.1f", 0x0000, 0x0200, CRC(5261bc11) SHA1(1cc7a9a7376e65f4587b75ef9382049458656372) )
/* Not dumped on the Refreativos Franco PCB, taken from the parent set */
/* Not dumped on the Refreativos Franco PCB, taken from the parent set */
ROM_REGION( 0x0800, "plds", 0 )
ROM_LOAD( "pal16r6a.5k", 0x0000, 0x0104, CRC(3d12afba) SHA1(60245089947e4a4f7bfa94a8cc96d4d8eebe4afc) )
ROM_LOAD( "pal16r4a.5l", 0x0200, 0x0104, NO_DUMP ) /* PAL is read protected */

View File

@ -215,7 +215,7 @@ void hp9825_state::cpu_mem_map(address_map &map)
READ16_MEMBER(hp9825_state::kb_scancode_r)
{
// TODO:
// TODO:
uint8_t res = m_scancode;
if (m_shift_key->read()) {
BIT_SET(res , 7);
@ -788,7 +788,7 @@ static INPUT_PORTS_START(hp9825)
PORT_BIT(IOP_MASK(27) , IP_ACTIVE_HIGH , IPT_UNUSED) // 5,11: N/U
PORT_BIT(IOP_MASK(28) , IP_ACTIVE_HIGH , IPT_UNUSED) // 5,12: N/U
PORT_BIT(IOP_MASK(29) , IP_ACTIVE_HIGH , IPT_UNUSED) // 5,13: N/U
PORT_BIT(IOP_MASK(30) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_NAME("↑ √") // 5,14: ^
PORT_BIT(IOP_MASK(30) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_NAME(u8"\u2191 \u221A") // 5,14: ^ (↑ √)
PORT_BIT(IOP_MASK(31) , IP_ACTIVE_HIGH , IPT_UNUSED) // 5,15: N/U
PORT_START("KEY3")
@ -819,9 +819,9 @@ static INPUT_PORTS_START(hp9825)
PORT_BIT(IOP_MASK(24) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') // 7,8: X
PORT_BIT(IOP_MASK(25) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y') // 7,9: Y
PORT_BIT(IOP_MASK(26) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') // 7,10: Z
PORT_BIT(IOP_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("π |") // 7,11: Pi
PORT_BIT(IOP_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME(u8"π |") // 7,11: Pi
PORT_BIT(IOP_MASK(28) , IP_ACTIVE_HIGH , IPT_UNUSED) // 7,12: N/U
PORT_BIT(IOP_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_END) PORT_NAME("") // 7,13: Gazinta
PORT_BIT(IOP_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_END) PORT_NAME(u8"\u2192") // 7,13: Gazinta (→)
PORT_BIT(IOP_MASK(30) , IP_ACTIVE_HIGH , IPT_UNUSED) // 7,14: N/U
PORT_BIT(IOP_MASK(31) , IP_ACTIVE_HIGH , IPT_UNUSED) // 7,15: N/U

View File

@ -241,7 +241,7 @@ TIMER_CALLBACK_MEMBER(hp9k3xx_state::bus_error_timeout)
WRITE16_MEMBER(hp9k3xx_state::led_w)
{
if (!(mem_mask & 0xff))
return;
return;
LOG("LED: %02x\n", data & 0xff);
@ -290,7 +290,7 @@ void hp9k3xx_state::set_bus_error(uint32_t address, bool write, uint16_t mem_mas
m_bus_error = true;
m_maincpu->set_buserror_details(address, write, m_maincpu->get_fc());
m_maincpu->set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
m_maincpu->set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
m_bus_error_timer->adjust(m_maincpu->cycles_to_attotime(16)); // let rmw cycles complete
}

View File

@ -926,7 +926,7 @@ MACHINE_CONFIG_START(ibm6580_state::ibm6580)
UPD765A(config, m_fdc, false, false);
m_fdc->intrq_wr_callback().set(FUNC(ibm6580_state::floppy_intrq));
// m_fdc->intrq_wr_callback().append("pic8259", FUNC(pic8259_device::ir4_w));
// m_fdc->intrq_wr_callback().append("pic8259", FUNC(pic8259_device::ir4_w));
m_fdc->drq_wr_callback().set(m_dma8257, FUNC(i8257_device::dreq0_w));
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", dw_floppies, "8sssd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", dw_floppies, "8sssd", floppy_image_device::default_floppy_formats)

View File

@ -19,7 +19,7 @@
There are at least 4 variants for this hardware.
The first 3 share the same layout, the latest is a complete redesign.
---------
---------
The oldest revision (green) is marked "H83048" with the following hardware:
(note that @IC2 is unpopulated)
CPU:
@ -27,7 +27,7 @@ The oldest revision (green) is marked "H83048" with the following hardware:
(128KB ROM; 4KB RAM)
Sound:
1x OKI 6295 or clones @IC24
1x LM358N dual operational amplifier @IC27
1x LM358N dual operational amplifier @IC27
1x TDA2003 audio amplifier @IC26
PLDs:
1x ispLSI2064-80LJ @IC12
@ -89,14 +89,14 @@ A complete redesign (green) is marked "ND 2001 Rev 1.0" and uses smaller factor
(128KB ROM; 4KB RAM)
Sound:
1x OKI 6295 or clones @IC15
1x LM358N dual operational amplifier @IC13
1x LM358N dual operational amplifier @IC13
1x TDA2003 audio amplifier @IC8
PLDs:
1x ispLSI2064-80LJ @IC24
Clock:
1x Xtal 30.000 MHz @OSC1
1x Resonator ZTB1000J (1000 kHz) @X1
1x Xtal K0SoF @X2
1x Xtal K0SoF @X2
ROMs:
1x 27C010 (sound) @IC1
2x 27C040 (graphics) @IC7,8
@ -112,8 +112,8 @@ A complete redesign (green) is marked "ND 2001 Rev 1.0" and uses smaller factor
Known games on this hardware revision are:
2001.11 Bowling Road (Ver 1.4)
2001.12 World Cup (Ver 1.4)
*******************************************************************/
#include "emu.h"
@ -476,7 +476,7 @@ ROM_END
/* Pin Ups (Ver 1.0 Rev A)
PCB is marked: "CE H83048" on component side
PCB is marked: "H83048 bottom" on solder side
PCB is labeled: "PIN UPS VER.1.0 REV.A" on component side
PCB is labeled: "PIN UPS VER.1.0 REV.A" on component side
*/
ROM_START( pinups )
ROM_REGION( 0x1000000, "maincpu", 0 )

View File

@ -265,7 +265,7 @@ GAME_CUSTOM( 199?, m4rhrock__a, m4rhrock, "rhr_v300_1216_ce52_nlv.bin", 0x0
ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \
ROM_LOAD( "redhotwheelssnd.p1", 0x0000, 0x080000, CRC(7b274a71) SHA1(38ba69084819133253b41f2eb1d784104e5f10f7) ) \
ROM_LOAD( "redhotwheelssnd.p2", 0x0000, 0x080000, CRC(e36e19e2) SHA1(204554622c9020479b095acd4fbab1f21f829137) )
#undef GAME_CUSTOM
#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \
ROM_START( setname ) \
@ -325,11 +325,11 @@ GAME_CUSTOM( 199?, m4shoknr__a, m4shoknr, "snr_v300_1221_c8ff_nlv.bin", 0
GAME_CUSTOM( 199?, m4shoknr__b, m4shoknr, "snr_v200_1145_047f_lv.bin", 0x0000, 0x040000, CRC(73ef1e1a) SHA1(6ccaf64daa5acacfba4df576281bb5478f2fbd29), "Qps","Shock 'n' Roll (Qps) (MPU4) (set 3)" )
GAME_CUSTOM( 199?, m4shoknr__c, m4shoknr, "snr_v200_1655_5a69_nlv.bin", 0x0000, 0x040000, CRC(50ba0c6b) SHA1(767fd59858fc55ae95f096f00c54bd619369a56c), "Qps","Shock 'n' Roll (Qps) (MPU4) (set 4)" )
// 71000300.lo.hex and 71000300.hi.hex converted
// 71000300.lo.hex and 71000300.hi.hex converted
#define M4TORNAD_EXTRA_ROMS \
ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \
ROM_LOAD( "tornadosnd.p1", 0x000000, 0x080000, CRC(cac88f25) SHA1(6ccbf372d983a47a49caedb8a526fc7703b31ed4) ) \
ROM_LOAD( "tornadosnd.p2", 0x080000, 0x080000, CRC(ef4f563d) SHA1(1268061edd93474296e3454e0a2e706b90c0621c) )
ROM_LOAD( "tornadosnd.p2", 0x080000, 0x080000, CRC(ef4f563d) SHA1(1268061edd93474296e3454e0a2e706b90c0621c) )
#undef GAME_CUSTOM
#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \
@ -353,7 +353,7 @@ GAME_CUSTOM( 199?, m4tornad__g, m4tornad, "tornsp_v200_1626_ec93_lv.bin",
#define M4SHKWAV_EXTRA_ROMS \
ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \
ROM_LOAD( "shocksnd.p1", 0x000000, 0x080000, CRC(54bf0ddb) SHA1(693b855367972b5a45e9d2d6152849ab2cde38a7) ) \
ROM_LOAD( "shocksnd.p2", 0x080000, 0x080000, CRC(facebc55) SHA1(75367473646cfc735f4d1267e13a9c92ea19c4e3) )
ROM_LOAD( "shocksnd.p2", 0x080000, 0x080000, CRC(facebc55) SHA1(75367473646cfc735f4d1267e13a9c92ea19c4e3) )
#undef GAME_CUSTOM
#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \

View File

@ -271,7 +271,7 @@ GFXDECODE_END
* Video emulation
*
*************************************/
uint32_t mwarr_state::screen_update_mwarr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
return m_video->draw(screen, bitmap, cliprect);

View File

@ -13,11 +13,11 @@
- GFX rom banking is a mystery (bad ROMs? Encryption?)
- Where is the extra data ROM mapped?
gynotai TODOs:
- printer (disable it in service mode);
- ball sensors aren't understood;
- Seems to dislike our YGV608 row/colscroll handling;
gynotai TODOs:
- printer (disable it in service mode);
- ball sensors aren't understood;
- Seems to dislike our YGV608 row/colscroll handling;
To make abcheck run when the EEPROM is clear:
- F2 to enter service mode
- Player 3 A/B to navigate to GAME OPTIONS
@ -522,7 +522,7 @@ ROM_START( gynotai )
ROM_REGION( 0x800000, "ygv608", 0 ) /* 8MB character generator */
ROM_LOAD( "gy1cg0.10e", 0x000000, 0x400000, CRC(938c7912) SHA1(36278a945a00e1549ae55ec65a9b4001537023b0) )
ROM_LOAD( "gy1cg1.10f", 0x400000, 0x400000, CRC(5a518733) SHA1(b6ea91629bc6ddf67c47c4189084aa947f4e31ed) )
ROM_LOAD( "gy1cg1.10f", 0x400000, 0x400000, CRC(5a518733) SHA1(b6ea91629bc6ddf67c47c4189084aa947f4e31ed) )
ROM_REGION( 0x200000, "c352", 0 ) // Samples
ROM_LOAD( "gy1voic.7c", 0x000000, 0x200000, CRC(f135e79b) SHA1(01ce3e3b366d0b9045ad8599b60ca33c6d21f150) )
@ -539,9 +539,9 @@ ROM_START( abcheck )
ROM_REGION( 0x800000, "ygv608", 0 ) /* 4MB character generator */
// TODO: gynotai proves these might be underdumped, please check.
ROM_LOAD( "an1cg0.10e", 0x000000, 0x200000, BAD_DUMP CRC(6dae0531) SHA1(2f4a4a22d461eb9a5bb88bdfccc3aff44cd3faee) )
ROM_RELOAD( 0x200000, 0x200000 )
ROM_RELOAD( 0x200000, 0x200000 )
ROM_LOAD( "an1cg1.10f", 0x400000, 0x200000, BAD_DUMP CRC(8485607a) SHA1(1b9a1950c6db61a2b546fe2f5e56333593e93fb4) )
ROM_RELOAD( 0x600000, 0x200000 )
ROM_RELOAD( 0x600000, 0x200000 )
ROM_REGION( 0x1000000, "c352", 0 ) // Samples
ROM_LOAD( "an1voice.7c", 0x000000, 0x200000, CRC(d2bfa453) SHA1(6b7d6bb4d65290d8fd3df5d12b41ae7dce5f3f1c) )

View File

@ -1599,7 +1599,7 @@ private:
const uint32_t *m_ptrom;
uint32_t m_ptrom_limit;
uint8_t m_mcu_unk;
int m_vblank_count;
// It may only be 128
@ -2902,9 +2902,9 @@ READ16_MEMBER(namcos23_state::sub_comm_r)
// PC=0xbfc03838 bit 7 high => fail (data loaded must be parsed somehow)
return 1 | 2;
}
m_maincpu->set_input_line(MIPS3_IRQ4, CLEAR_LINE);
// data rx, TBD
// data rx, TBD
return m_mcu_unk; //machine().rand();
}

View File

@ -4197,24 +4197,24 @@ ROM_START( mspacmanbg )
ROM_END
ROM_START( mspacmanbg2 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "11-prg.bin", 0x0000, 0x4000, CRC(e11d4132) SHA1(9ab6b9e1ec8ad183ccdddb971e8be3eb3f59db01) )
ROM_CONTINUE(0x8000,0x4000) // blocks 5+6 are repeated twice in here
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "11-prg.bin", 0x0000, 0x4000, CRC(e11d4132) SHA1(9ab6b9e1ec8ad183ccdddb971e8be3eb3f59db01) )
ROM_CONTINUE(0x8000,0x4000) // blocks 5+6 are repeated twice in here
ROM_REGION( 0x8000, "gfx1", 0 )
ROM_LOAD( "13-chr.bin", 0x0000, 0x0800, CRC(8ee4a3b0) SHA1(01e3453c99f7a5d78ab083c49c650e898c0dd2ee) )
ROM_CONTINUE(0x1000,0x800)
ROM_CONTINUE(0x0800,0x800)
ROM_CONTINUE(0x1800,0x800)
ROM_IGNORE(0x2000)
ROM_REGION( 0x8000, "gfx1", 0 )
ROM_LOAD( "13-chr.bin", 0x0000, 0x0800, CRC(8ee4a3b0) SHA1(01e3453c99f7a5d78ab083c49c650e898c0dd2ee) )
ROM_CONTINUE(0x1000,0x800)
ROM_CONTINUE(0x0800,0x800)
ROM_CONTINUE(0x1800,0x800)
ROM_IGNORE(0x2000)
ROM_REGION( 0x0120, "proms", 0 ) // not dumped for this set
ROM_LOAD( "82s123.h7", 0x0000, 0x0020, BAD_DUMP CRC(3545e7e9) SHA1(b866b02579438afb11296e5c53a32c6425bd044d) )
ROM_LOAD( "82s129-3.d1", 0x0020, 0x0100, BAD_DUMP CRC(3eb3a8e4) SHA1(19097b5f60d1030f8b82d9f1d3a241f93e5c75d6) )
ROM_REGION( 0x0120, "proms", 0 ) // not dumped for this set
ROM_LOAD( "82s123.h7", 0x0000, 0x0020, BAD_DUMP CRC(3545e7e9) SHA1(b866b02579438afb11296e5c53a32c6425bd044d) )
ROM_LOAD( "82s129-3.d1", 0x0020, 0x0100, BAD_DUMP CRC(3eb3a8e4) SHA1(19097b5f60d1030f8b82d9f1d3a241f93e5c75d6) )
ROM_REGION( 0x0200, "namco", 0 ) /* sound PROMs, not dumped for this set */
ROM_LOAD( "82s129-1.a9", 0x0000, 0x0100, BAD_DUMP CRC(a9cc86bf) SHA1(bbcec0570aeceb582ff8238a4bc8546a23430081) )
ROM_LOAD( "82s129-2.c9", 0x0100, 0x0100, BAD_DUMP CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) )
ROM_REGION( 0x0200, "namco", 0 ) /* sound PROMs, not dumped for this set */
ROM_LOAD( "82s129-1.a9", 0x0000, 0x0100, BAD_DUMP CRC(a9cc86bf) SHA1(bbcec0570aeceb582ff8238a4bc8546a23430081) )
ROM_LOAD( "82s129-2.c9", 0x0100, 0x0100, BAD_DUMP CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) )
ROM_END
ROM_START( mspacmanbgd )
@ -4970,7 +4970,7 @@ ROM_START( titanpac ) /* GDP-01 main PCB with GDP-02 auxiliary card (same as Pir
ROM_LOAD( "82s126.3m", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* timing - not used */
ROM_END
/* Bootleg from Spanish company "FAMARE S.A.". Board labeled "FAMARESA 560-002"
/* Bootleg from Spanish company "FAMARE S.A.". Board labeled "FAMARESA 560-002"
It's mainly a hack to remove Namco logo, but it was on an original Famaresa bootleg hardware */
ROM_START( pacmanfm )
ROM_REGION( 0x10000, "maincpu", 0 )
@ -5299,17 +5299,17 @@ ROM_START( mspacmbmc )
ROM_LOAD( "misspacmanfalgas_4.bin", 0x8000, 0x1000, CRC(8c3e6de6) SHA1(fed6e9a2b210b07e7189a18574f6b8c4ec5bb49b) )
ROM_LOAD( "misspacmanfalgas_5.bin", 0x9000, 0x1000, CRC(206a9623) SHA1(20006f945c1b7b0e3c0415eecc0b148e5a6a1dfa) )
/* Undumped on the Marti Colls PCB, taken from the parent set */
/* Undumped on the Marti Colls PCB, taken from the parent set */
ROM_REGION( 0x2000, "gfx1", 0 )
ROM_LOAD( "5e", 0x0000, 0x1000, BAD_DUMP CRC(5c281d01) SHA1(5e8b472b615f12efca3fe792410c23619f067845) )
ROM_LOAD( "5f", 0x1000, 0x1000, BAD_DUMP CRC(615af909) SHA1(fd6a1dde780b39aea76bf1c4befa5882573c2ef4) )
/* Undumped on the Marti Colls PCB, taken from the parent set */
/* Undumped on the Marti Colls PCB, taken from the parent set */
ROM_REGION( 0x0120, "proms", 0 )
ROM_LOAD( "82s123.7f", 0x0000, 0x0020, BAD_DUMP CRC(2fc650bd) SHA1(8d0268dee78e47c712202b0ec4f1f51109b1f2a5) )
ROM_LOAD( "82s126.4a", 0x0020, 0x0100, BAD_DUMP CRC(3eb3a8e4) SHA1(19097b5f60d1030f8b82d9f1d3a241f93e5c75d6) )
/* Undumped on the Marti Colls PCB, taken from the parent set */
/* Undumped on the Marti Colls PCB, taken from the parent set */
ROM_REGION( 0x0200, "namco", 0 ) /* sound PROMs */
ROM_LOAD( "82s126.1m", 0x0000, 0x0100, BAD_DUMP CRC(a9cc86bf) SHA1(bbcec0570aeceb582ff8238a4bc8546a23430081) )
ROM_LOAD( "82s126.3m", 0x0100, 0x0100, BAD_DUMP CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* timing - not used */

View File

@ -113,7 +113,7 @@ private:
DECLARE_WRITE32_MEMBER(r9751_mmio_fff8_w);
DECLARE_READ8_MEMBER(pdc_dma_r);
DECLARE_WRITE8_MEMBER(pdc_dma_w);
DECLARE_WRITE8_MEMBER(pdc_dma_w);
DECLARE_READ8_MEMBER(smioc_dma_r);
DECLARE_WRITE8_MEMBER(smioc_dma_w);
@ -193,7 +193,7 @@ static const GenericCommandRecord GenericCommands[] = {
{ 0x2800, "DMA Busy" },
{ 0x3000, "Command Result" },
{ 0x4000, "Command" }, // Also a write length.
//{ 0x8000, "various" }, // Read address,
//{ 0x8000, "various" }, // Read address,
//{ 0xC000, "various" }, // Write address, Read length
};
@ -268,7 +268,7 @@ void r9751_state::trace_device(int address, int data, const char* direction)
// Device is not enabled for tracing.
return;
}
if ((address == m_trace_last_address[dev]) && (data == m_trace_last_data[dev]) && (direction == m_trace_last_direction[dev]))
{
m_trace_repeat_count[dev]++;
@ -699,7 +699,7 @@ WRITE32_MEMBER( r9751_state::r9751_mmio_5ff_w )
case 0x0198: // SMIOC soft reset?
// It's not clear what exactly this register write does.
// It isn't a soft reset of the SMIOC because the 68k does not wait long enough for the SMIOC to finish rebooting.
// Also the 68k does this twice in succession, with a status clear in between.
// Also the 68k does this twice in succession, with a status clear in between.
// The theory now is that a write to this register causes the status registers on the SMIOC to be
// set to the magic value 0x0100 (which is set after initialization is complete) - which serves as a trigger
// for the disktool software to reinitialize the SMIOC and proceed into a working state.

View File

@ -3288,7 +3288,7 @@ MACHINE_CONFIG_START(rainbow_state::rainbow)
// Always set seek complete and track 00 signal (not super clean, but does not affect operation):
m_hdc->in_sc_callback().set_constant(1); // SEEK COMPLETE (VCC = complete)
m_hdc->in_tk000_callback().set_constant(1); // TRACK 00 signal (= from drive)
m_hdc->in_tk000_callback().set_constant(1); // TRACK 00 signal (= from drive)
MCFG_HARDDISK_ADD("decharddisk1")
/// ******************************** / HARD DISK CONTROLLER ****************************************

View File

@ -1285,7 +1285,7 @@ ROM_START( tazmaniet )
ROM_LOAD( "prom.bin", 0x0000, 0x0020, CRC(aa1f7f5e) SHA1(311dd17aa11490a1173c76223e4ccccf8ea29850) ) // same as hustler?! Gives wrong colors
ROM_REGION( 0x200, "unused_proms", 0) // TODO: are these the correct color PROMs?
ROM_LOAD( "13209.prom", 0x0000, 0x0100, CRC(da1708c9) SHA1(b2633eba050866c6f555ed0fd9be369d69f13683) )
ROM_LOAD( "13209.prom", 0x0000, 0x0100, CRC(da1708c9) SHA1(b2633eba050866c6f555ed0fd9be369d69f13683) )
ROM_LOAD( "13210.prom", 0x0100, 0x0100, CRC(e54d042a) SHA1(e3259b5c178fc5ab43eda27f07107b65555512d3) )
ROM_END

View File

@ -1056,33 +1056,33 @@ void snesb_state::init_rushbeat()
uint8_t *dst = memregion("user3")->base();
static const uint8_t address_tab_high[32] = {
0x0b, 0x1d, 0x05, 0x15, 0x09, 0x19, 0x04, 0x13, 0x02, 0x1f, 0x07, 0x17, 0x0d, 0x11, 0x0a, 0x1a,
0x14, 0x0e, 0x18, 0x06, 0x1e, 0x01, 0x10, 0x0c, 0x1b, 0x0f, 0x16, 0x00, 0x12, 0x08, 0x1c, 0x03
0x0b, 0x1d, 0x05, 0x15, 0x09, 0x19, 0x04, 0x13, 0x02, 0x1f, 0x07, 0x17, 0x0d, 0x11, 0x0a, 0x1a,
0x14, 0x0e, 0x18, 0x06, 0x1e, 0x01, 0x10, 0x0c, 0x1b, 0x0f, 0x16, 0x00, 0x12, 0x08, 0x1c, 0x03
};
static const uint8_t address_tab_low[64] = {
0x14, 0x1d, 0x11, 0x3c, 0x0a, 0x29, 0x2d, 0x2e, 0x30, 0x32, 0x16, 0x36, 0x05, 0x25, 0x26, 0x37,
0x20, 0x21, 0x27, 0x28, 0x33, 0x34, 0x23, 0x12, 0x1e, 0x1f, 0x3b, 0x24, 0x2c, 0x35, 0x38, 0x39,
0x3d, 0x0c, 0x2a, 0x0d, 0x22, 0x18, 0x19, 0x1a, 0x03, 0x08, 0x04, 0x3a, 0x0b, 0x0f, 0x15, 0x17,
0x1b, 0x13, 0x00, 0x1c, 0x2b, 0x01, 0x06, 0x2f, 0x07, 0x09, 0x02, 0x31, 0x10, 0x0e, 0x3f, 0x3e
0x14, 0x1d, 0x11, 0x3c, 0x0a, 0x29, 0x2d, 0x2e, 0x30, 0x32, 0x16, 0x36, 0x05, 0x25, 0x26, 0x37,
0x20, 0x21, 0x27, 0x28, 0x33, 0x34, 0x23, 0x12, 0x1e, 0x1f, 0x3b, 0x24, 0x2c, 0x35, 0x38, 0x39,
0x3d, 0x0c, 0x2a, 0x0d, 0x22, 0x18, 0x19, 0x1a, 0x03, 0x08, 0x04, 0x3a, 0x0b, 0x0f, 0x15, 0x17,
0x1b, 0x13, 0x00, 0x1c, 0x2b, 0x01, 0x06, 0x2f, 0x07, 0x09, 0x02, 0x31, 0x10, 0x0e, 0x3f, 0x3e
};
static const uint8_t data_table[256] = {
0xac, 0x85, 0xe5, 0xa4, 0xe4, 0xed, 0xad, 0xa5, 0xcd, 0x84, 0x8c, 0xcc, 0xc5, 0xec, 0x8d, 0xc4,
0x38, 0x11, 0x71, 0x30, 0x70, 0x79, 0x39, 0x31, 0x59, 0x10, 0x18, 0x58, 0x51, 0x78, 0x19, 0x50,
0xba, 0x93, 0xf3, 0xb2, 0xf2, 0xfb, 0xbb, 0xb3, 0xdb, 0x92, 0x9a, 0xda, 0xd3, 0xfa, 0x9b, 0xd2,
0xa8, 0x81, 0xe1, 0xa0, 0xe0, 0xe9, 0xa9, 0xa1, 0xc9, 0x80, 0x88, 0xc8, 0xc1, 0xe8, 0x89, 0xc0,
0xaa, 0x83, 0xe3, 0xa2, 0xe2, 0xeb, 0xab, 0xa3, 0xcb, 0x82, 0x8a, 0xca, 0xc3, 0xea, 0x8b, 0xc2,
0xbe, 0x97, 0xf7, 0xb6, 0xf6, 0xff, 0xbf, 0xb7, 0xdf, 0x96, 0x9e, 0xde, 0xd7, 0xfe, 0x9f, 0xd6,
0xbc, 0x95, 0xf5, 0xb4, 0xf4, 0xfd, 0xbd, 0xb5, 0xdd, 0x94, 0x9c, 0xdc, 0xd5, 0xfc, 0x9d, 0xd4,
0xb8, 0x91, 0xf1, 0xb0, 0xf0, 0xf9, 0xb9, 0xb1, 0xd9, 0x90, 0x98, 0xd8, 0xd1, 0xf8, 0x99, 0xd0,
0x3e, 0x17, 0x77, 0x36, 0x76, 0x7f, 0x3f, 0x37, 0x5f, 0x16, 0x1e, 0x5e, 0x57, 0x7e, 0x1f, 0x56,
0x28, 0x01, 0x61, 0x20, 0x60, 0x69, 0x29, 0x21, 0x49, 0x00, 0x08, 0x48, 0x41, 0x68, 0x09, 0x40,
0x2c, 0x05, 0x65, 0x24, 0x64, 0x6d, 0x2d, 0x25, 0x4d, 0x04, 0x0c, 0x4c, 0x45, 0x6c, 0x0d, 0x44,
0x2e, 0x07, 0x67, 0x26, 0x66, 0x6f, 0x2f, 0x27, 0x4f, 0x06, 0x0e, 0x4e, 0x47, 0x6e, 0x0f, 0x46,
0x3a, 0x13, 0x73, 0x32, 0x72, 0x7b, 0x3b, 0x33, 0x5b, 0x12, 0x1a, 0x5a, 0x53, 0x7a, 0x1b, 0x52,
0xae, 0x87, 0xe7, 0xa6, 0xe6, 0xef, 0xaf, 0xa7, 0xcf, 0x86, 0x8e, 0xce, 0xc7, 0xee, 0x8f, 0xc6,
0x3c, 0x15, 0x75, 0x34, 0x74, 0x7d, 0x3d, 0x35, 0x5d, 0x14, 0x1c, 0x5c, 0x55, 0x7c, 0x1d, 0x54,
0xac, 0x85, 0xe5, 0xa4, 0xe4, 0xed, 0xad, 0xa5, 0xcd, 0x84, 0x8c, 0xcc, 0xc5, 0xec, 0x8d, 0xc4,
0x38, 0x11, 0x71, 0x30, 0x70, 0x79, 0x39, 0x31, 0x59, 0x10, 0x18, 0x58, 0x51, 0x78, 0x19, 0x50,
0xba, 0x93, 0xf3, 0xb2, 0xf2, 0xfb, 0xbb, 0xb3, 0xdb, 0x92, 0x9a, 0xda, 0xd3, 0xfa, 0x9b, 0xd2,
0xa8, 0x81, 0xe1, 0xa0, 0xe0, 0xe9, 0xa9, 0xa1, 0xc9, 0x80, 0x88, 0xc8, 0xc1, 0xe8, 0x89, 0xc0,
0xaa, 0x83, 0xe3, 0xa2, 0xe2, 0xeb, 0xab, 0xa3, 0xcb, 0x82, 0x8a, 0xca, 0xc3, 0xea, 0x8b, 0xc2,
0xbe, 0x97, 0xf7, 0xb6, 0xf6, 0xff, 0xbf, 0xb7, 0xdf, 0x96, 0x9e, 0xde, 0xd7, 0xfe, 0x9f, 0xd6,
0xbc, 0x95, 0xf5, 0xb4, 0xf4, 0xfd, 0xbd, 0xb5, 0xdd, 0x94, 0x9c, 0xdc, 0xd5, 0xfc, 0x9d, 0xd4,
0xb8, 0x91, 0xf1, 0xb0, 0xf0, 0xf9, 0xb9, 0xb1, 0xd9, 0x90, 0x98, 0xd8, 0xd1, 0xf8, 0x99, 0xd0,
0x3e, 0x17, 0x77, 0x36, 0x76, 0x7f, 0x3f, 0x37, 0x5f, 0x16, 0x1e, 0x5e, 0x57, 0x7e, 0x1f, 0x56,
0x28, 0x01, 0x61, 0x20, 0x60, 0x69, 0x29, 0x21, 0x49, 0x00, 0x08, 0x48, 0x41, 0x68, 0x09, 0x40,
0x2c, 0x05, 0x65, 0x24, 0x64, 0x6d, 0x2d, 0x25, 0x4d, 0x04, 0x0c, 0x4c, 0x45, 0x6c, 0x0d, 0x44,
0x2e, 0x07, 0x67, 0x26, 0x66, 0x6f, 0x2f, 0x27, 0x4f, 0x06, 0x0e, 0x4e, 0x47, 0x6e, 0x0f, 0x46,
0x3a, 0x13, 0x73, 0x32, 0x72, 0x7b, 0x3b, 0x33, 0x5b, 0x12, 0x1a, 0x5a, 0x53, 0x7a, 0x1b, 0x52,
0xae, 0x87, 0xe7, 0xa6, 0xe6, 0xef, 0xaf, 0xa7, 0xcf, 0x86, 0x8e, 0xce, 0xc7, 0xee, 0x8f, 0xc6,
0x3c, 0x15, 0x75, 0x34, 0x74, 0x7d, 0x3d, 0x35, 0x5d, 0x14, 0x1c, 0x5c, 0x55, 0x7c, 0x1d, 0x54,
0x2a, 0x03, 0x63, 0x22, 0x62, 0x6b, 0x2b, 0x23, 0x4b, 0x02, 0x0a, 0x4a, 0x43, 0x6a, 0x0b, 0x42
};

View File

@ -59,7 +59,7 @@ void tecmo16_state::fstarfrc_map(address_map &map)
map(0x150030, 0x150031).portr("DSW2").nopw(); /* ??? */
map(0x150040, 0x150041).portr("DSW1");
map(0x150050, 0x150051).portr("P1_P2");
// map(0x160000, 0x160001).nopr(); /* ??? Read at every scene changes */
// map(0x160000, 0x160001).nopr(); /* ??? Read at every scene changes */
map(0x160000, 0x160001).w(FUNC(tecmo16_state::scroll_char_x_w));
map(0x16000c, 0x16000d).w(FUNC(tecmo16_state::scroll_x_w));
map(0x160012, 0x160013).w(FUNC(tecmo16_state::scroll_y_w));

View File

@ -1007,7 +1007,7 @@ ROM_END
/* There are some dumps out there that only have the year hacked to 1986 and a little bunch of bytes
from the graphics zone. I think that not worth to support these hacks...
*/
GAME( 1985, tehkanwc, 0, tehkanwc, tehkanwc, tehkanwc_state, empty_init, ROT0, "Tehkan", "Tehkan World Cup (set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1985, tehkanwcb, tehkanwc, tehkanwcb,tehkanwc, tehkanwc_state, empty_init, ROT0, "Tehkan", "Tehkan World Cup (set 2, bootleg?)", MACHINE_SUPPORTS_SAVE )

View File

@ -445,7 +445,7 @@ MACHINE_CONFIG_START(twins_state::twinsed1)
MACHINE_CONFIG_END
/* The Ecogames set and the Electronic Devices second set has different palette hardware
/* The Ecogames set and the Electronic Devices second set has different palette hardware
and a different port map than Electronic Devices first set */
void twins_state::twins_io(address_map &map)

View File

@ -1524,8 +1524,8 @@ void vgmplay_device::execute_run()
}
//else if ((offset & 0x7f) == 0x15 && m_nes_apu_channel_hack[index] == -2 && (m_file->read_byte(m_pc + 2) & 0x1f) != 0)
//{
// osd_printf_error("bad rip false positive, late enabling nesapu.%d channels %x/%x\n", index, m_pc, m_io->read_dword(REG_SIZE));
// m_nes_apu_channel_hack[index] = -1;
// osd_printf_error("bad rip false positive, late enabling nesapu.%d channels %x/%x\n", index, m_pc, m_io->read_dword(REG_SIZE));
// m_nes_apu_channel_hack[index] = -1;
//}
if (offset & 0x80)

View File

@ -345,20 +345,20 @@ void vsmile_state::device_timer(emu_timer &timer, device_timer_id id, int param,
}
}
#define VSMILE_PORTB_CS1 0x0001
#define VSMILE_PORTB_CS2 0x0002
#define VSMILE_PORTB_CART 0x0004
#define VSMILE_PORTB_RESET 0x0008
#define VSMILE_PORTB_FRONT24 0x0010
#define VSMILE_PORTB_OFF 0x0020
#define VSMILE_PORTB_OFF_SW 0x0040
#define VSMILE_PORTB_ON_SW 0x0080
#define VSMILE_PORTB_CS1 0x0001
#define VSMILE_PORTB_CS2 0x0002
#define VSMILE_PORTB_CART 0x0004
#define VSMILE_PORTB_RESET 0x0008
#define VSMILE_PORTB_FRONT24 0x0010
#define VSMILE_PORTB_OFF 0x0020
#define VSMILE_PORTB_OFF_SW 0x0040
#define VSMILE_PORTB_ON_SW 0x0080
#define VSMILE_PORTC_VER 0x000f
#define VSMILE_PORTC_LOGO 0x0010
#define VSMILE_PORTC_TEST 0x0020
#define VSMILE_PORTC_AMP 0x0040
#define VSMILE_PORTC_SYSRESET 0x0080
#define VSMILE_PORTC_VER 0x000f
#define VSMILE_PORTC_LOGO 0x0010
#define VSMILE_PORTC_TEST 0x0020
#define VSMILE_PORTC_AMP 0x0040
#define VSMILE_PORTC_SYSRESET 0x0080
READ16_MEMBER(vsmile_state::bank0_r)
{

View File

@ -509,10 +509,10 @@ INPUT_PORTS_END
/*
static INPUT_PORTS_START( xavixp )
PORT_INCLUDE(xavix)
PORT_INCLUDE(xavix)
PORT_MODIFY("REGION") // PAL/NTSC flag
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_CUSTOM )
PORT_MODIFY("REGION") // PAL/NTSC flag
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_CUSTOM )
INPUT_PORTS_END
*/
@ -555,7 +555,7 @@ static INPUT_PORTS_START( rad_crdn )
PORT_MODIFY("IN0")
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_MODIFY("IN1")
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
@ -603,11 +603,11 @@ static INPUT_PORTS_START( rad_bass )
PORT_MODIFY("IN0")
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
PORT_MODIFY("IN1")
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_NAME("Power Switch") // pressing this will turn the game off.
INPUT_PORTS_END
@ -939,7 +939,7 @@ ROM_END
/*
The e-kara cartridges require the BIOS rom to map into 2nd external bus space as they fetch palette data from
it etc.
it etc.
*/
#define EKARA_BASE_ROM \

View File

@ -85,7 +85,7 @@ public:
, m_extube(*this, "extube")
, m_1mhzbus(*this, "1mhzbus")
, m_userport(*this, "userport")
// , m_internal(*this, "internal")
// , m_internal(*this, "internal")
, m_exp(*this, "exp")
, m_rtc(*this, "rtc")
, m_i2cmem(*this, "i2cmem")

View File

@ -202,7 +202,7 @@ void superxavix_lowbus_map(address_map &map);
required_device<xavix_device> m_maincpu;
required_device<screen_device> m_screen;
uint8_t m_vectorenable;
uint8_t m_nmi_vector_lo_data;
uint8_t m_nmi_vector_hi_data;
@ -235,7 +235,7 @@ void superxavix_lowbus_map(address_map &map);
uint8_t m_timer_baseval;
int16_t get_vectors(int which, int half);
// raster IRQ
TIMER_CALLBACK_MEMBER(interrupt_gen);
emu_timer *m_interrupt_timer;

View File

@ -1,34 +1,41 @@
<?xml version="1.0"?>
<!--
license:CC0
copyright-holders:Sven Schnelle
Hewlett-Packard 9000/3xx Layout
-->
<mamelayout version="2">
<element name="dotmatrix5dot">
<dotmatrix5dot>
<color red="1.0" green="0" blue="0" />
</dotmatrix5dot>
</element>
<element name="run_light" defstate="0">
<disk state="0">
<color red="0.25" green="0" blue="0" />
</disk>
<disk state="1">
<color red="1.0" green="0" blue="0" />
</disk>
</element>
<view name="32-char display">
<bounds x="-5" y="0" width="289" height="7"/>
<bezel name="run_light" element="run_light">
<bounds x="-5" y="2" width="2" height="2"/>
</bezel>
<!-- 32 5x7 characters -->
<repeat count="32">
<param name="digitidx" start="0" increment="1" />
<param name="digit_x" start="0.0" increment="9"/>
<!-- Each of the 7 rows in a character -->
<repeat count="7">
<param name="rowidx" start="0" increment="1" />
<bezel name="char_~digitidx~_~rowidx~" element="dotmatrix5dot" state="0">
<bounds x="~digit_x~" y="~rowidx~" width="5" height="1" />
</bezel>
</repeat>
</repeat>
</view>
<element name="dotmatrix5dot">
<dotmatrix5dot>
<color red="1.0" green="0" blue="0" />
</dotmatrix5dot>
</element>
<element name="run_light" defstate="0">
<disk state="0">
<color red="0.25" green="0" blue="0" />
</disk>
<disk state="1">
<color red="1.0" green="0" blue="0" />
</disk>
</element>
<view name="32-char display">
<bounds x="-5" y="0" width="289" height="7"/>
<bezel name="run_light" element="run_light">
<bounds x="-5" y="2" width="2" height="2"/>
</bezel>
<!-- 32 5x7 characters -->
<repeat count="32">
<param name="digitidx" start="0" increment="1" />
<param name="digit_x" start="0.0" increment="9"/>
<!-- Each of the 7 rows in a character -->
<repeat count="7">
<param name="rowidx" start="0" increment="1" />
<bezel name="char_~digitidx~_~rowidx~" element="dotmatrix5dot" state="0">
<bounds x="~digit_x~" y="~rowidx~" width="5" height="1" />
</bezel>
</repeat>
</repeat>
</view>
</mamelayout>

View File

@ -52,8 +52,8 @@ Hewlett-Packard 9000/3xx Layout
<screen index="0"><bounds x="0" y="0" width="1024" height="768"/></screen>
</view>
<view name="XGA Screen">
<screen index="0">
<bounds x="0" y="0" width="1024" height="768" />
</screen>
<screen index="0">
<bounds x="0" y="0" width="1024" height="768" />
</screen>
</view>
</mamelayout>

View File

@ -51,7 +51,7 @@
</rect>
</element>
<view name="Color_Overlay">
<view name="Color Overlay">
<screen index="0">
<bounds x="0" y="0" width="3" height="4" />
</screen>

View File

@ -623,7 +623,7 @@ WRITE8_MEMBER(bbc_state::via_system_porta_w)
/* Write enable to the sound generator */
//if (!m_latch->q0_r() && m_sn)
//{
// m_sn->write(m_via_system_porta);
// m_sn->write(m_via_system_porta);
//}
/* Keyboard write enable */
if (!m_latch->q3_r())
@ -1332,7 +1332,7 @@ void bbc_state::setup_banks(memory_bank *membank, uint32_t shift)
/* TODO: expansion devices currently use machine().root_device(), add method to slot interfaces to return pointer to memregion("rom") */
//if (m_fdc->rom_region[i])
//{
// membank->configure_entry(i, m_fdc->rom_region[i] + shift);
// membank->configure_entry(i, m_fdc->rom_region[i] + shift);
//}
/* romslots populated by user override expansion devices */
if (m_rom[i] && (rom_region = memregion(region_tag.assign(m_rom[i]->tag()).append(GENERIC_ROM_REGION_TAG).c_str())))

View File

@ -44,8 +44,8 @@ MACHINE_CONFIG_START(dw_fdc_device::device_add_mconfig)
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
UPD765A(config, "upd765", false, false);
// m_upd_fdc->intrq_wr_callback().set("pic8259", FUNC(pic8259_device::ir4_w));
// m_upd_fdc->drq_wr_callback().set("dma8257", FUNC(dma8257_device::XXX));
// m_upd_fdc->intrq_wr_callback().set("pic8259", FUNC(pic8259_device::ir4_w));
// m_upd_fdc->drq_wr_callback().set("dma8257", FUNC(dma8257_device::XXX));
// MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", wangpc_floppies, "525dd", wangpc_state::floppy_formats)
// MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", wangpc_floppies, "525dd", wangpc_state::floppy_formats)
MACHINE_CONFIG_END

View File

@ -37,7 +37,7 @@ INPUT_PORTS_START( poisk1_keyboard_v89 )
/*-2*/ PORT_BIT( 0x100, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("?-2 - .") /* PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>') */
/*-3*/ PORT_BIT( 0x200, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("?-3 - _") /* PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('_') */
PORT_BIT( 0x400, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
PORT_BIT( 0x800, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{') // scancode 0x54
PORT_BIT( 0x800, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{') // scancode 0x54
PORT_START("Y3")
PORT_BIT( 0x001, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')

View File

@ -104,54 +104,54 @@ bit sig XSn ????n
14 22 4 3
15 23 5 4
0xc9 KEY_LANGLE_RANGLE 'резервная клавиша'
0xbc KEY_DELETE ЗБ
0xbd KEY_RETURN ВК
0xbf KEY_TILDE '; +'
0xc4 - 'Ъ'
0xca - '/ ?'
0xed KEY_PERIOD 'Ю @'
0xf1 - '_'
0xc9 KEY_LANGLE_RANGLE 'резервная клавиша'
0xbc KEY_DELETE ЗБ
0xbd KEY_RETURN ВК
0xbf KEY_TILDE '; +'
0xc4 - 'Ъ'
0xca - '/ ?'
0xed KEY_PERIOD 'Ю @'
0xf1 - '_'
<...>
0x56 KEY_F1 СТОП КАДР
0x57 KEY_F2 ПЕЧАТЬ КАДРА
0x58 KEY_F3 ПАУЗА
0x59 KEY_F4 УСТ РЕЖИМА
0x5a KEY_F5 Ф5
0x56 KEY_F1 СТОП КАДР
0x57 KEY_F2 ПЕЧАТЬ КАДРА
0x58 KEY_F3 ПАУЗА
0x59 KEY_F4 УСТ РЕЖИМА
0x5a KEY_F5 Ф5
0x64 KEY_F6 ПРЕРЫВ
0x65 KEY_F7 ПРОДОЛЖ
0x66 KEY_F8 ОТМЕН
0x67 KEY_F9 ОСНОВН КАДР
0x69 KEY_F10 ВЫХОД
0x64 KEY_F6 ПРЕРЫВ
0x65 KEY_F7 ПРОДОЛЖ
0x66 KEY_F8 ОТМЕН
0x67 KEY_F9 ОСНОВН КАДР
0x69 KEY_F10 ВЫХОД
0x71 KEY_F11 Ф11 (АР2)
0x72 KEY_F12 Ф12 (ВШ)
0x73 KEY_F13 Ф13 (ПС)
0x74 KEY_F14 ДОП ВАРИАНТ
0x71 KEY_F11 Ф11 (АР2)
0x72 KEY_F12 Ф12 (ВШ)
0x73 KEY_F13 Ф13 (ПС)
0x74 KEY_F14 ДОП ВАРИАНТ
0x7c KEY_HELP ПМ
0x7d KEY_MENU ИСП
0x7c KEY_HELP ПМ
0x7d KEY_MENU ИСП
0x80 KEY_F17 Ф17
0x81 KEY_F18 Ф18
0x82 KEY_F19 Ф19
0x83 KEY_F20 Ф20
0x80 KEY_F17 Ф17
0x81 KEY_F18 Ф18
0x82 KEY_F19 Ф19
0x83 KEY_F20 Ф20
0xb0 KEY_LOCK ФКС
0xae KEY_SHIFT ВР
0xaf KEY_CTRL СУ
0xb0 KEY_LOCK ФКС
0xae KEY_SHIFT ВР
0xaf KEY_CTRL СУ
0xb1 KEY_META КМП
0xb2 - РУС/ЛАТ
0xb1 KEY_META КМП
0xb2 - РУС/ЛАТ
0x8a KEY_FIND НТ
0x8b KEY_INSERT_HERE ВСТ
0x8c KEY_REMOVE УДАЛ
0x8d KEY_SELECT ВЫБР
0x8e KEY_PREV_SCREEN ПРЕД КАДР
0x8f KEY_NEXT_SCREEN СЛЕД КАДР
0x8a KEY_FIND НТ
0x8b KEY_INSERT_HERE ВСТ
0x8c KEY_REMOVE УДАЛ
0x8d KEY_SELECT ВЫБР
0x8e KEY_PREV_SCREEN ПРЕД КАДР
0x8f KEY_NEXT_SCREEN СЛЕД КАДР
nothing sends '@' or '`'

View File

@ -85,7 +85,7 @@ void namcos2_state::machine_start()
void namcos2_state::machine_reset()
{
// address_space &space = m_maincpu->space(AS_PROGRAM);
// address_space &audio_space = m_audiocpu->space(AS_PROGRAM);
// address_space &audio_space = m_audiocpu->space(AS_PROGRAM);
/* Initialise the bank select in the sound CPU */
m_audiobank->set_entry(0); /* Page in bank 0 */

View File

@ -140,7 +140,7 @@ WRITE8_MEMBER(xavix_state::adc_7b81_w)
READ8_MEMBER(xavix_state::adc_7b81_r)
{
// has_wamg polls this if interrupt is enabled
// has_wamg polls this if interrupt is enabled
return machine().rand();
}
@ -207,7 +207,7 @@ WRITE8_MEMBER(xavix_state::dispctrl_6ff8_w)
}
m_video_ctrl = data & 0x3f;
// printf("%s: dispctrl_6ff8_w %02x\n", machine().describe_context(), data);
// printf("%s: dispctrl_6ff8_w %02x\n", machine().describe_context(), data);
}

View File

@ -1,16 +1,16 @@
// license:BSD-3-Clause
// copyright-holders:Pierpaolo Prazzoli, David Haywood
/*
Electronic Devices video system
Electronic Devices video system
used by
stlforce.cpp
mwarr.cpp
used by
stlforce.cpp
mwarr.cpp
TODO:
Check if the sprites are an obvious clone of anything else and split out if neccessary
Steel Force doesn't use the variable height sprites, does the hardware support them?
Verify offsets / visible areas / overscan etc. especially text layer as Steel Force ending does not quite fit on screen
TODO:
Check if the sprites are an obvious clone of anything else and split out if neccessary
Steel Force doesn't use the variable height sprites, does the hardware support them?
Verify offsets / visible areas / overscan etc. especially text layer as Steel Force ending does not quite fit on screen
*/
@ -247,15 +247,15 @@ void edevices_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,
}
}
/*
m_vidattrram
0 tx xscroll (or global x scroll?)
1 back yscroll
2 mlow yscroll
3 mhigh yscroll
4 tx yscroll
5 ---- ---- ---s tMmB layer enables (s = sprites, t = tx, M = highmid, m = lowmid, B = back)
6 ---- ---- ---M -m-B rowscroll enables (B = back, m = lowmid, M = highmid)
/*
m_vidattrram
0 tx xscroll (or global x scroll?)
1 back yscroll
2 mlow yscroll
3 mhigh yscroll
4 tx yscroll
5 ---- ---- ---s tMmB layer enables (s = sprites, t = tx, M = highmid, m = lowmid, B = back)
6 ---- ---- ---M -m-B rowscroll enables (B = back, m = lowmid, M = highmid)
*/

View File

@ -121,7 +121,7 @@ uint32_t flkatck_state::screen_update_flkatck(screen_device &screen, bitmap_ind1
const rectangle &visarea = screen.visible_area();
// TODO: reversed polarity? Hard to say, fwiw Combat School uses this in reverse ...
uint16_t sprite_buffer = (m_k007121->ctrlram_r(3) & 8) * 0x100;
if (m_flipscreen)
{
clip[0] = visarea;

View File

@ -244,7 +244,7 @@ void k007121_device::sprites_draw( bitmap_ind16 &bitmap, const rectangle &clipre
static const int x_offset[4] = {0x0,0x1,0x4,0x5};
static const int y_offset[4] = {0x0,0x2,0x8,0xa};
int x,y, ex, ey, flipx, flipy, destx, desty;
if (attr & 0x01) sx -= 256;
if (sy >= 240) sy -= 256;
@ -254,7 +254,7 @@ void k007121_device::sprites_draw( bitmap_ind16 &bitmap, const rectangle &clipre
/* Flak Attack doesn't use a lookup PROM, it maps the color code directly */
/* to a palette entry */
// TODO: check if it's true or callback-ize this one and remove the per-game hack.
// TODO: check if it's true or callback-ize this one and remove the per-game hack.
if (is_flakatck)
transparent_mask = 1 << 0;
else
@ -313,7 +313,7 @@ void k007121_device::sprites_draw( bitmap_ind16 &bitmap, const rectangle &clipre
transparent_mask);
}
}
source += inc;
}
}

View File

@ -76,7 +76,7 @@ void xavix_state::handle_palette(screen_device &screen, bitmap_ind16 &bitmap, co
uint16_t dat;
dat = ramsh[offs];
dat |= raml[offs] << 8;
offs++;
int l_raw = (dat & 0x1f00) >> 8;
@ -578,7 +578,7 @@ void xavix_state::draw_sprites_line(screen_device &screen, bitmap_ind16 &bitmap,
tile += gfxbase;
}
int bpp = 1;
@ -591,7 +591,7 @@ void xavix_state::draw_sprites_line(screen_device &screen, bitmap_ind16 &bitmap,
/*
if ((spr_ypos[i] != 0x81) && (spr_ypos[i] != 0x80) && (spr_ypos[i] != 0x00))
{
LOG("sprite with enable? %02x attr0 %02x attr1 %02x attr3 %02x attr5 %02x attr6 %02x attr7 %02x\n", spr_ypos[i], spr_attr0[i], spr_attr1[i], spr_xpos[i], spr_addr_lo[i], spr_addr_md[i], spr_addr_hi[i] );
LOG("sprite with enable? %02x attr0 %02x attr1 %02x attr3 %02x attr5 %02x attr6 %02x attr7 %02x\n", spr_ypos[i], spr_attr0[i], spr_attr1[i], spr_xpos[i], spr_addr_lo[i], spr_addr_md[i], spr_addr_hi[i] );
}
*/
}
@ -739,7 +739,7 @@ uint32_t xavix_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
//int count = 0;
set_data_address(base + base2, 0);
for (int y = 0; y < 256; y++)
{
for (int x = 0; x < 512; x++)
@ -831,33 +831,33 @@ WRITE8_MEMBER(xavix_state::tmap1_regs_w)
0x2 pointer to upper tile bits
0x3 Fftt bbb- Ff = flip Y,X
tt = tile/tilemap size
b = bpp
- = unused
tt = tile/tilemap size
b = bpp
- = unused
0x4 scroll
0x5 scroll
0x6 pppp zzzz p = palette
z = priority
z = priority
0x7 e--m mmmm e = enable
m = mode
m = mode
modes are
---0 0000 (00) 8-bit addressing (Tile Number)
---0 0001 (01) 16-bit addressing (Tile Number) (monster truck, ekara)
---0 0010 (02) 16-bit addressing (8-byte alignment Addressing Mode) (boxing)
---0 0011 (03) 16-bit addressing (Addressing Mode 2)
---0 0100 (04) 24-bit addressing (Addressing Mode 2) (epo_efdx)
---0 0000 (00) 8-bit addressing (Tile Number)
---0 0001 (01) 16-bit addressing (Tile Number) (monster truck, ekara)
---0 0010 (02) 16-bit addressing (8-byte alignment Addressing Mode) (boxing)
---0 0011 (03) 16-bit addressing (Addressing Mode 2)
---0 0100 (04) 24-bit addressing (Addressing Mode 2) (epo_efdx)
---0 1000 (08) 8-bit+8 addressing (Tile Number + 8-bit Attribute)
---0 1001 (09) 16-bit+8 addressing (Tile Number + 8-bit Attribute) (Taito Nostalgia 2)
---0 1010 (0a) 16-bit+8 addressing (8-byte alignment Addressing Mode + 8-bit Attribute) (boxing, Snowboard)
---0 1011 (0b) 16-bit+8 addressing (Addressing Mode 2 + 8-bit Attribute)
---0 1000 (08) 8-bit+8 addressing (Tile Number + 8-bit Attribute)
---0 1001 (09) 16-bit+8 addressing (Tile Number + 8-bit Attribute) (Taito Nostalgia 2)
---0 1010 (0a) 16-bit+8 addressing (8-byte alignment Addressing Mode + 8-bit Attribute) (boxing, Snowboard)
---0 1011 (0b) 16-bit+8 addressing (Addressing Mode 2 + 8-bit Attribute)
---1 0011 (13) 16-bit addressing (Addressing Mode 2 + Inline Header) (monster truck)
---1 0100 (14) 24-bit addressing (Addressing Mode 2 + Inline Header)
---1 0011 (13) 16-bit addressing (Addressing Mode 2 + Inline Header) (monster truck)
---1 0100 (14) 24-bit addressing (Addressing Mode 2 + Inline Header)
*/
@ -885,16 +885,16 @@ WRITE8_MEMBER(xavix_state::spriteregs_w)
{
LOG("%s: spriteregs_w data %02x\n", machine().describe_context(), data);
/*
This is similar to Tilemap reg 7 and is used to set the addressing mode for sprite data
This is similar to Tilemap reg 7 and is used to set the addressing mode for sprite data
---0 -000 (00) 8-bit addressing (Tile Number)
---0 -001 (01) 16-bit addressing (Tile Number)
---0 -010 (02) 16-bit addressing (8-byte alignment Addressing Mode)
---0 -011 (03) 16-bit addressing (Addressing Mode 2)
---0 -100 (04) 24-bit addressing (Addressing Mode 2)
---0 -000 (00) 8-bit addressing (Tile Number)
---0 -001 (01) 16-bit addressing (Tile Number)
---0 -010 (02) 16-bit addressing (8-byte alignment Addressing Mode)
---0 -011 (03) 16-bit addressing (Addressing Mode 2)
---0 -100 (04) 24-bit addressing (Addressing Mode 2)
---1 -011 (13) 16-bit addressing (Addressing Mode 2 + Inline Header)
---1 -100 (14) 24-bit addressing (Addressing Mode 2 + Inline Header)
---1 -011 (13) 16-bit addressing (Addressing Mode 2 + Inline Header)
---1 -100 (14) 24-bit addressing (Addressing Mode 2 + Inline Header)
*/
m_spritereg = data;
}

View File

@ -877,7 +877,7 @@ int shaders::create_resources()
focus_effect->add_uniform("Defocus", uniform::UT_VEC2, uniform::CU_FOCUS_SIZE);
post_effect->add_uniform("ShadowAlpha", uniform::UT_FLOAT, uniform::CU_POST_SHADOW_ALPHA);
post_effect->add_uniform("ShadowAlpha", uniform::UT_FLOAT, uniform::CU_POST_SHADOW_ALPHA);
post_effect->add_uniform("ShadowCount", uniform::UT_VEC2, uniform::CU_POST_SHADOW_COUNT);
post_effect->add_uniform("ShadowUV", uniform::UT_VEC2, uniform::CU_POST_SHADOW_UV);
post_effect->add_uniform("ShadowUVOffset", uniform::UT_VEC2, uniform::CU_POST_SHADOW_UV_OFFSET);
@ -1244,17 +1244,18 @@ int shaders::post_pass(d3d_render_target *rt, int source_index, poly_info *poly,
float screen_offset[2] = { xoffset, yoffset };
rgb_t back_color_rgb = screen->has_palette()
? screen->palette().palette()->entry_color(0)
: rgb_t(0, 0, 0);
? screen->palette().palette()->entry_color(0)
: rgb_t(0, 0, 0);
back_color_rgb = apply_color_convolution(back_color_rgb);
float back_color[3] = {
float(back_color_rgb.r()) / 255.0f,
float(back_color_rgb.g()) / 255.0f,
float(back_color_rgb.b()) / 255.0f };
float(back_color_rgb.r()) / 255.0f,
float(back_color_rgb.g()) / 255.0f,
float(back_color_rgb.b()) / 255.0f };
curr_effect = post_effect;
curr_effect->update_uniforms();
curr_effect->set_texture("ShadowTexture", shadow_texture == nullptr ? nullptr : shadow_texture->get_finaltex()); curr_effect->set_int("ShadowTileMode", options->shadow_mask_tile_mode);
curr_effect->set_texture("ShadowTexture", shadow_texture == nullptr ? nullptr : shadow_texture->get_finaltex());
curr_effect->set_int("ShadowTileMode", options->shadow_mask_tile_mode);
curr_effect->set_texture("DiffuseTexture", rt->target_texture[next_index]);
curr_effect->set_vector("BackColor", 3, back_color);
curr_effect->set_vector("ScreenScale", 2, screen_scale);
@ -1298,9 +1299,9 @@ int shaders::downsample_pass(d3d_render_target *rt, int source_index, poly_info
{
curr_effect->set_vector("TargetDims", 2, rt->bloom_dims[bloom_index]);
curr_effect->set_texture("DiffuseTexture",
bloom_index == 0
? rt->source_texture[next_index]
: rt->bloom_texture[bloom_index - 1]);
bloom_index == 0
? rt->source_texture[next_index]
: rt->bloom_texture[bloom_index - 1]);
blit(rt->bloom_surface[bloom_index], false, D3DPT_TRIANGLELIST, 0, 2);
}

View File

@ -325,7 +325,7 @@ win_window_info::win_window_info(
m_non_fullscreen_bounds.right = 0;
m_non_fullscreen_bounds.bottom = 0;
m_prescale = video_config.prescale;
m_index = index;
m_index = index;
}
POINT win_window_info::s_saved_cursor_pos = { -1, -1 };

View File

@ -220,7 +220,7 @@ struct s2650_unidasm_t : s2650_disassembler::config
virtual ~s2650_unidasm_t() override = default;
virtual bool get_z80_mnemonics_mode() const override { return z80_mnemonics; }
} s2650_unidasm;
// Configuration missing
struct saturn_unidasm_t : saturn_disassembler::config
{