mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
srcclean (nw)
This commit is contained in:
parent
decf1fd1fa
commit
c15531dddc
970
hash/dc.xml
970
hash/dc.xml
File diff suppressed because it is too large
Load Diff
@ -3113,7 +3113,7 @@
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<!--
|
||||
ID-0058
|
||||
. NGM-058
|
||||
@ -8523,7 +8523,7 @@
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<!--
|
||||
ID-0262
|
||||
. NGM-262?
|
||||
|
@ -2738,8 +2738,8 @@
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Needs the mouse driver loaded, otherwise displays everything at double size. Doesn't happen on real hardware.
|
||||
<!--
|
||||
Needs the mouse driver loaded, otherwise displays everything at double size. Doesn't happen on real hardware.
|
||||
Also, CDDA playback is a bit spotty. Sometimes tracks restart when they shouldn't.
|
||||
-->
|
||||
<software name="msquadro" supported="partial">
|
||||
|
@ -82,7 +82,7 @@ lstfile:close()
|
||||
|
||||
local sorted = {}
|
||||
local sindex = {}
|
||||
local comments = ""
|
||||
local comments = ""
|
||||
|
||||
for num, entry in pairs(entries) do
|
||||
if not entry.name then
|
||||
|
@ -1031,7 +1031,7 @@ end
|
||||
buildoptions {
|
||||
"-Wno-format-overflow", -- try machine/bfm_sc45_helper.cpp in GCC 8.0.1, among others
|
||||
"-Wno-stringop-truncation", -- ImGui again
|
||||
"-Wno-stringop-overflow", -- formats/victor9k_dsk.cpp bugs the compiler
|
||||
"-Wno-stringop-overflow", -- formats/victor9k_dsk.cpp bugs the compiler
|
||||
}
|
||||
buildoptions_cpp {
|
||||
"-Wno-class-memaccess", -- many instances in ImGui and BGFX
|
||||
|
@ -39,7 +39,7 @@ ROM_END
|
||||
|
||||
ROM_START( diskiing13 )
|
||||
ROM_REGION(0x100, DISKII_ROM_REGION, 0)
|
||||
ROM_LOAD( "341-0009.bin", 0x000000, 0x000100, CRC(d34eb2ff) SHA1(afd060e6f35faf3bb0146fa889fc787adf56330a) )
|
||||
ROM_LOAD( "341-0009.bin", 0x000000, 0x000100, CRC(d34eb2ff) SHA1(afd060e6f35faf3bb0146fa889fc787adf56330a) )
|
||||
ROM_END
|
||||
|
||||
FLOPPY_FORMATS_MEMBER( diskiing_device::floppy_formats )
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
TODO:
|
||||
- preliminary, presumably needs CS-4231 too
|
||||
- verify sound irq;
|
||||
- verify sound irq;
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -7,8 +7,8 @@
|
||||
Legacy sound card for PC-98xx family, composed by a single YM2203
|
||||
|
||||
TODO:
|
||||
- verify sound irq;
|
||||
|
||||
- verify sound irq;
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
@ -3,24 +3,24 @@
|
||||
/***************************************************************************
|
||||
|
||||
NEC PC-9801-86 sound card
|
||||
NEC PC-9801-SpeakBoard sound card
|
||||
NEC PC-9801-SpeakBoard sound card
|
||||
|
||||
Similar to PC-9801-26, this one has YM2608 instead of YM2203 and an
|
||||
additional DAC port
|
||||
SpeakBoard sound card seems to be derived design from -86, with an additional
|
||||
OPNA mapped at 0x58*
|
||||
SpeakBoard sound card seems to be derived design from -86, with an additional
|
||||
OPNA mapped at 0x58*
|
||||
|
||||
TODO:
|
||||
- joystick code should be shared between -26, -86 and -118
|
||||
- Test all pcm modes
|
||||
- Make volume work
|
||||
- Recording
|
||||
- actual stereo sound routing (currently routes to ALL_OUTPUTS)
|
||||
- SpeakBoard: no idea about software that uses this, also board shows a single YM2608B?
|
||||
"-86 only supports ADPCM instead of PCM, while SpeakBoard has OPNA + 256 Kbit RAM"
|
||||
Sounds like a sound core flaw since OPNA requires a rom region in any case;
|
||||
- SpeakBoard: sounds horrible, due of the MAME mixing (same as Sega 32X, needs user to lower individual channel volumes);
|
||||
- verify sound irq;
|
||||
- actual stereo sound routing (currently routes to ALL_OUTPUTS)
|
||||
- SpeakBoard: no idea about software that uses this, also board shows a single YM2608B?
|
||||
"-86 only supports ADPCM instead of PCM, while SpeakBoard has OPNA + 256 Kbit RAM"
|
||||
Sounds like a sound core flaw since OPNA requires a rom region in any case;
|
||||
- SpeakBoard: sounds horrible, due of the MAME mixing (same as Sega 32X, needs user to lower individual channel volumes);
|
||||
- verify sound irq;
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -136,7 +136,7 @@ pc9801_86_device::pc9801_86_device(const machine_config &mconfig, device_type ty
|
||||
pc9801_86_device::pc9801_86_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: pc9801_86_device(mconfig, PC9801_86, tag, owner, clock)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -399,7 +399,7 @@ MACHINE_CONFIG_END
|
||||
void pc9801_speakboard_device::device_start()
|
||||
{
|
||||
pc9801_86_device::device_start();
|
||||
|
||||
|
||||
m_bus->install_io(0x0588, 0x058f, read8_delegate(FUNC(pc9801_speakboard_device::opna_slave_r), this), write8_delegate(FUNC(pc9801_speakboard_device::opna_slave_w), this) );
|
||||
}
|
||||
|
||||
|
@ -51,7 +51,7 @@ protected:
|
||||
void pc9801_86_config(machine_config &config);
|
||||
|
||||
required_device<pc9801_slot_device> m_bus;
|
||||
|
||||
|
||||
private:
|
||||
int queue_count();
|
||||
uint8_t queue_pop();
|
||||
@ -81,7 +81,7 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
||||
|
||||
private:
|
||||
required_device<ym2608_device> m_opna_slave;
|
||||
};
|
||||
|
@ -2,8 +2,8 @@
|
||||
// copyright-holders:Angelo Salese
|
||||
/***************************************************************************
|
||||
|
||||
NEC PC-9801
|
||||
common functions for CBUS sound boards -26, -86, -118
|
||||
NEC PC-9801
|
||||
common functions for CBUS sound boards -26, -86, -118
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -2,8 +2,8 @@
|
||||
// copyright-holders:Angelo Salese
|
||||
/***************************************************************************
|
||||
|
||||
NEC PC-9801
|
||||
common functions for CBUS sound boards -26, -86, -118
|
||||
NEC PC-9801
|
||||
common functions for CBUS sound boards -26, -86, -118
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
#pragma once
|
||||
|
||||
class pc9801_snd_device : public device_t
|
||||
{
|
||||
{
|
||||
public:
|
||||
pc9801_snd_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
|
@ -253,7 +253,7 @@ void edge1_device_base::map_dynamic(address_map &map)
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_vram->write((offset >> 2) | (offset & 0x3), data); });
|
||||
|
||||
//map(0x02028200, 0x0202827f).lr32("idprom",
|
||||
// [this](address_space &space, offs_t offset, u8 mem_mask) { return memregion("idprom")->as_u32(offset); });
|
||||
// [this](address_space &space, offs_t offset, u8 mem_mask) { return memregion("idprom")->as_u32(offset); });
|
||||
|
||||
map(0x02410000, 0x0241000f).m("ramdac", FUNC(bt458_device::map)).umask32(0x000000ff);
|
||||
|
||||
@ -321,7 +321,7 @@ void edge2plus_framebuffer_device_base::map_dynamic(address_map &map)
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) { return m_sram->read(offset); },
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_sram->write(offset, data); });
|
||||
|
||||
map(0x01000000, 0x01ffffff).lrw8("vram",
|
||||
map(0x01000000, 0x01ffffff).lrw8("vram",
|
||||
[this](address_space &space, offs_t offset, u8 mem_mask) { return m_vram->read(offset); },
|
||||
[this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_vram->write(offset, data); });
|
||||
|
||||
@ -383,7 +383,7 @@ ROM_END
|
||||
* "9 planes (1 for highlights) of double-buffered graphics, 256 colours from 16.7 million"
|
||||
* 1024x1024x10x2 == 2621440 bytes == 2560KiB == 2.5MiB
|
||||
* FIXME: diag reports 128KiB static ram, 1MiB video ram, 4 screens, 1 user, z-buffer absent
|
||||
*
|
||||
*
|
||||
*/
|
||||
MACHINE_CONFIG_START(mpcb828_device::device_add_mconfig)
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
@ -45,10 +45,10 @@ enum attention_mask
|
||||
enum reg0_mask
|
||||
{
|
||||
/*
|
||||
0x08,
|
||||
0x10, // mouse button interrupt?
|
||||
0x20,
|
||||
0x40,
|
||||
0x08,
|
||||
0x10, // mouse button interrupt?
|
||||
0x20,
|
||||
0x40,
|
||||
*/
|
||||
SCC_INT = 0x80, // serial controller
|
||||
VBLANK = 0x1000, // vertical blank?
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
***********************************************************************
|
||||
|
||||
Generic BIOS extension card. Adds 28 bit LBA mode to any pre-1994
|
||||
Generic BIOS extension card. Adds 28 bit LBA mode to any pre-1994
|
||||
board with an empty ISA slot.
|
||||
|
||||
Supports 1 to 4 large hard disks. Bios boot remains possible.
|
||||
@ -18,13 +18,13 @@
|
||||
See: ftp://ami.com/archive/utility/LBA.TXT
|
||||
|
||||
Usage:
|
||||
select type 47 for each LBA drive and set C,H,S (params) to '8',
|
||||
select type 47 for each LBA drive and set C,H,S (params) to '8',
|
||||
then repartition and reformat (Fdisk and Format). Data is lost.
|
||||
|
||||
Other notes: ROM bank should be excluded in EMM386.
|
||||
C8000 - CBFFF is sometimes occupied (by graphics).
|
||||
C8000 - CBFFF is sometimes occupied (by graphics).
|
||||
Changes to the ROM location require a hard reset!
|
||||
|
||||
|
||||
Requirements:
|
||||
Compatible OS (DOS >= 6.22) and LBA capable drive(s).
|
||||
***********************************************************************
|
||||
@ -48,7 +48,7 @@ Notes:
|
||||
|
||||
J3, J2, J1 set BIOS (start) address to C800, CC00, D000, D400, D800 or DC00
|
||||
|
||||
- one CD74LS245
|
||||
- one CD74LS245
|
||||
- one PALCE16V8H-25
|
||||
- one 32 K EPROM : 27C256 (STM) (mirrored after 16 K)
|
||||
|
||||
@ -85,23 +85,23 @@ const tiny_rom_entry *lba_enhancer_device::device_rom_region() const
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
MACHINE_CONFIG_START( lba_enhancer_device::device_add_mconfig )
|
||||
// MCFG_DEVICE_ADD("lba_enhancer", lba_enhancer, 0)
|
||||
// MCFG_DEVICE_ADD("lba_enhancer", lba_enhancer, 0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// jumpers
|
||||
// jumpers
|
||||
//-------------------------------------------------
|
||||
static INPUT_PORTS_START( lba_enhancer_dsw )
|
||||
|
||||
PORT_START("ROM_ADDRESS")
|
||||
PORT_CONFNAME( 0x07, 0x00, "16 K ROM bank")
|
||||
PORT_CONFSETTING( 0, "C8000 - CBFFF" )
|
||||
PORT_CONFSETTING( 1, "CC000 - CFFFF" )
|
||||
PORT_CONFSETTING( 2, "D0000 - D3FFF" )
|
||||
PORT_CONFSETTING( 3, "D4000 - D7FFF" )
|
||||
PORT_CONFSETTING( 4, "D8000 - DBFFF" )
|
||||
PORT_CONFSETTING( 5, "DC000 - DFFFF" )
|
||||
PORT_CONFSETTING( 1, "CC000 - CFFFF" )
|
||||
PORT_CONFSETTING( 2, "D0000 - D3FFF" )
|
||||
PORT_CONFSETTING( 3, "D4000 - D7FFF" )
|
||||
PORT_CONFSETTING( 4, "D8000 - DBFFF" )
|
||||
PORT_CONFSETTING( 5, "DC000 - DFFFF" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -133,7 +133,7 @@ void lba_enhancer_device::device_reset()
|
||||
uint32_t current_rom_end = m_current_rom_start + 0x04000 - 1;
|
||||
|
||||
m_isa->install_rom(this, m_current_rom_start, current_rom_end, "lbabios", "lbabios");
|
||||
|
||||
|
||||
logerror("LBA enhancer (for 28 bit LBA) located at BIOS address %x - %x\n", m_current_rom_start, current_rom_end);
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@
|
||||
//**************************************************************************
|
||||
|
||||
class lba_enhancer_device : public device_t,
|
||||
public device_isa8_card_interface
|
||||
public device_isa8_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
|
@ -468,7 +468,7 @@ void i8086_common_cpu_device::device_start()
|
||||
{
|
||||
m_program = &space(AS_PROGRAM);
|
||||
m_opcodes = has_space(AS_OPCODES) ? &space(AS_OPCODES) : m_program;
|
||||
|
||||
|
||||
if(m_opcodes->data_width() == 8) {
|
||||
auto cache = m_opcodes->cache<0, 0, ENDIANNESS_LITTLE>();
|
||||
m_or8 = [cache](offs_t address) -> u8 { return cache->read_byte(address); };
|
||||
|
@ -4,11 +4,11 @@
|
||||
|
||||
xavix.cpp
|
||||
|
||||
The dies for these are marked
|
||||
|
||||
SSD 97 PA7270-107 (only seen on Ping Pong)
|
||||
SSD 98 PA7351-107
|
||||
SSD 98 PL7351-181
|
||||
The dies for these are marked
|
||||
|
||||
SSD 97 PA7270-107 (only seen on Ping Pong)
|
||||
SSD 98 PA7351-107
|
||||
SSD 98 PL7351-181
|
||||
|
||||
6502 with custom opcodes
|
||||
integrated gfx / sound
|
||||
@ -21,7 +21,7 @@
|
||||
0x00ff contains the DATA bank, set manually in code
|
||||
0x00fe appears to be the current CODE bank, set with either the
|
||||
custom opcodes, or manually (if running from lowbus only?)
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
@ -4,12 +4,12 @@
|
||||
|
||||
xavix2000.cpp
|
||||
|
||||
The dies for these are marked
|
||||
|
||||
SSD 2000 NEC 85605-621
|
||||
and possibly
|
||||
SSD 2002 NEC 85054-611 (although this might use even more opcodes and need it's own file)
|
||||
|
||||
The dies for these are marked
|
||||
|
||||
SSD 2000 NEC 85605-621
|
||||
and possibly
|
||||
SSD 2002 NEC 85054-611 (although this might use even more opcodes and need it's own file)
|
||||
|
||||
6502 with custom opcodes
|
||||
integrated gfx / sound
|
||||
|
||||
@ -17,64 +17,64 @@
|
||||
|
||||
see xavix.cpp for basic notes
|
||||
|
||||
the machines using the '2000' series chips seem to have more extra
|
||||
opcodes, so presumably these were only available in those models.
|
||||
of note, push x / push y and pull x / pull y
|
||||
the machines using the '2000' series chips seem to have more extra
|
||||
opcodes, so presumably these were only available in those models.
|
||||
of note, push x / push y and pull x / pull y
|
||||
|
||||
Dirt Rebel MX, which is confirmed as 2000 type however seems to require
|
||||
some of the documented but 'undocumented' opcodes on the 6502 to have additonal
|
||||
meaning for one specific function on startup
|
||||
Dirt Rebel MX, which is confirmed as 2000 type however seems to require
|
||||
some of the documented but 'undocumented' opcodes on the 6502 to have additonal
|
||||
meaning for one specific function on startup
|
||||
|
||||
01BC37: A0 3F ldy #$3f
|
||||
01BC39: B2 ??
|
||||
01BC3A: 1B ??
|
||||
9B ??
|
||||
-- outer loop
|
||||
01BC3C: 98 tya
|
||||
01BC3D: 5B (has to be 1 byte?)
|
||||
-- inner loop
|
||||
01BC3E: A3 (has to be 1 byte)
|
||||
73 (could be 3 byte?)
|
||||
01BC40: 83 FB presumably fb is the address
|
||||
01BC42: A7 (presumably 1 byte)
|
||||
73 (could be 3 byte?)
|
||||
01BC44: 87 FB presumably fb is the address
|
||||
01BC46: D0 F6 bne $1bc3e
|
||||
01BC48: 88 dey
|
||||
01BC49: 10 F1 bpl $1bc3c
|
||||
01BC4B: 8D FB 00 sta $00fb
|
||||
01BC4E: A3 ??
|
||||
01BC4F: 8D FA 00 sta $00fa
|
||||
01BC52: 07 ??
|
||||
--
|
||||
01BC53: D0 03 bne $1bc58
|
||||
01BC55: CE fa 00 dec $00fa
|
||||
01BC58: 80 retf
|
||||
01BC37: A0 3F ldy #$3f
|
||||
01BC39: B2 ??
|
||||
01BC3A: 1B ??
|
||||
9B ??
|
||||
-- outer loop
|
||||
01BC3C: 98 tya
|
||||
01BC3D: 5B (has to be 1 byte?)
|
||||
-- inner loop
|
||||
01BC3E: A3 (has to be 1 byte)
|
||||
73 (could be 3 byte?)
|
||||
01BC40: 83 FB presumably fb is the address
|
||||
01BC42: A7 (presumably 1 byte)
|
||||
73 (could be 3 byte?)
|
||||
01BC44: 87 FB presumably fb is the address
|
||||
01BC46: D0 F6 bne $1bc3e
|
||||
01BC48: 88 dey
|
||||
01BC49: 10 F1 bpl $1bc3c
|
||||
01BC4B: 8D FB 00 sta $00fb
|
||||
01BC4E: A3 ??
|
||||
01BC4F: 8D FA 00 sta $00fa
|
||||
01BC52: 07 ??
|
||||
--
|
||||
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
|
||||
|
||||
09FFD8: A9 3F lda #$3f
|
||||
09FFDA: 85 01 sta $01
|
||||
09FFDC: A0 00 ldy #$00
|
||||
09FFDE: AD FA 00 lda $00fa
|
||||
09FFE1: 71 00 adc ($00), y
|
||||
09FFE3: 8D FA 00 sta $00fa
|
||||
09FFE6: C8 iny
|
||||
09FFE7: AD FB 00 lda $00fb
|
||||
09FFEA: 71 00 adc ($00), y
|
||||
09FFEC: 8D FB 00 sta $00fb
|
||||
09FFEF: C8 iny
|
||||
09FFF0: D0 EC bne $c
|
||||
09FFF2: C6 01 dec $01
|
||||
09FFF4: 10 E8 bpl $9ffde
|
||||
09FFF6: 0D FA 00 ora $00fa
|
||||
--
|
||||
09FFF9: D0 03 bne $9fffe
|
||||
09FFFB: CE FA 00 dec $00fa
|
||||
09FFFE: 80 retf
|
||||
|
||||
this is presumably meant to be similar to the function found in Namco
|
||||
Nostalgia 2
|
||||
|
||||
09FFD8: A9 3F lda #$3f
|
||||
09FFDA: 85 01 sta $01
|
||||
09FFDC: A0 00 ldy #$00
|
||||
09FFDE: AD FA 00 lda $00fa
|
||||
09FFE1: 71 00 adc ($00), y
|
||||
09FFE3: 8D FA 00 sta $00fa
|
||||
09FFE6: C8 iny
|
||||
09FFE7: AD FB 00 lda $00fb
|
||||
09FFEA: 71 00 adc ($00), y
|
||||
09FFEC: 8D FB 00 sta $00fb
|
||||
09FFEF: C8 iny
|
||||
09FFF0: D0 EC bne $c
|
||||
09FFF2: C6 01 dec $01
|
||||
09FFF4: 10 E8 bpl $9ffde
|
||||
09FFF6: 0D FA 00 ora $00fa
|
||||
--
|
||||
09FFF9: D0 03 bne $9fffe
|
||||
09FFFB: CE FA 00 dec $00fa
|
||||
09FFFE: 80 retf
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
@ -1300,7 +1300,7 @@ void m68000_base_device::init32mmu(address_space &space, address_space &ospace)
|
||||
u16 result = m_space->read_byte(address0) << 8;
|
||||
return result | m_space->read_byte(address1);
|
||||
}
|
||||
|
||||
|
||||
if (WORD_ALIGNED(address))
|
||||
return m_space->read_word(address);
|
||||
u16 result = m_space->read_byte(address) << 8;
|
||||
|
@ -64,7 +64,7 @@
|
||||
#define SH_FLAGS (SH_M|SH_Q|SH_I|SH_S|SH_T)
|
||||
|
||||
/* SR shift values */
|
||||
#define T_SHIFT 0
|
||||
#define T_SHIFT 0
|
||||
#define S_SHIFT 1
|
||||
#define I_SHIFT 4
|
||||
#define Q_SHIFT 8
|
||||
|
@ -442,7 +442,7 @@ void amiga_fdc_device::setup_leds()
|
||||
machine().output().set_value("drive_2_led", drive == 2);
|
||||
machine().output().set_value("drive_3_led", drive == 3);
|
||||
|
||||
m_leds[0] = drive == 0 ? 1 : 0; // update internal drive led
|
||||
m_leds[0] = drive == 0 ? 1 : 0; // update internal drive led
|
||||
m_leds[1] = drive == 1 ? 1 : 0; // update external drive led
|
||||
}
|
||||
}
|
||||
|
@ -182,4 +182,4 @@ DECLARE_DEVICE_TYPE(FDC37C93X, fdc37c93x_device);
|
||||
#define MCFG_FDC37C93X_IRQ9_CB(_devcb) \
|
||||
devcb = &downcast<fdc37c93x_device &>(*device).set_irq9_callback(DEVCB_##_devcb);
|
||||
|
||||
#endif // MAME_MACHINE_FDC37C93X_H
|
||||
#endif // MAME_MACHINE_FDC37C93X_H
|
||||
|
@ -786,7 +786,7 @@ WRITE8_MEMBER(at_keyboard_device::write)
|
||||
/* bits: 0 scroll lock, 1 num lock, 2 capslock */
|
||||
|
||||
/* led's in same order as my keyboard leds. */
|
||||
/* num lock, caps lock, scroll lock */
|
||||
/* num lock, caps lock, scroll lock */
|
||||
m_leds[2] = BIT(data, 0);
|
||||
m_leds[0] = BIT(data, 1);
|
||||
m_leds[1] = BIT(data, 2);
|
||||
|
@ -1213,7 +1213,7 @@ int32_t aica_device::UpdateSlot(AICA_SLOT *slot)
|
||||
}
|
||||
break;
|
||||
// TODO: causes an hang in Border Down/Metal Slug 6/Karous etc.
|
||||
// for mslug6 culprit RAM address is 0x13880 ARM side (a flag that should be zeroed somehow)
|
||||
// for mslug6 culprit RAM address is 0x13880 ARM side (a flag that should be zeroed somehow)
|
||||
case 1: //normal loop
|
||||
if(*addr[addr_select]>=chanlea)
|
||||
{
|
||||
|
@ -1115,7 +1115,7 @@ void saturn_state::stv_vdp1_set_drawpixel( void )
|
||||
drawpixel = &saturn_state::drawpixel_generic;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// polygon / polyline / line with replace case
|
||||
if (sprite_type & 4 && ((stv2_current_sprite.CMDPMOD & 0x7) == 0))
|
||||
{
|
||||
|
@ -2251,7 +2251,7 @@ uint8_t saturn_state::stv_vdp2_is_rotation_applied(void)
|
||||
RP.dx == _FIXED_1 &&
|
||||
RP.dy == _FIXED_0 &&
|
||||
RP.kx == _FIXED_1 &&
|
||||
RP.ky == _FIXED_1 &&
|
||||
RP.ky == _FIXED_1 &&
|
||||
STV_VDP2_RPMD < 2) // disable optimizations if roz mode is 2 or 3
|
||||
{
|
||||
return 0;
|
||||
@ -4449,7 +4449,7 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
|
||||
|
||||
if ( stv2_current_tilemap.linescroll_enable ||
|
||||
stv2_current_tilemap.vertical_linescroll_enable ||
|
||||
stv2_current_tilemap.linezoom_enable ||
|
||||
stv2_current_tilemap.linezoom_enable ||
|
||||
stv2_current_tilemap.vertical_cell_scroll_enable)
|
||||
{
|
||||
// check for vertical cell scroll enable (Sonic Jam)
|
||||
@ -4462,11 +4462,11 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
|
||||
int16_t base_scrollx, base_scrolly;
|
||||
//uint32_t base_incx, base_incy;
|
||||
int cur_char = 0;
|
||||
|
||||
|
||||
base_mask = STV_VDP2_VRAMSZ ? 0x7ffff : 0x3ffff;
|
||||
vcsc_address = (((STV_VDP2_VCSTAU << 16) | STV_VDP2_VCSTAL) & base_mask) * 2;
|
||||
vcsc_address >>= 2;
|
||||
|
||||
|
||||
base_offset = 0;
|
||||
base_multiplier = 1;
|
||||
// offset for both enabled
|
||||
@ -4475,26 +4475,26 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
|
||||
// NBG1
|
||||
if(stv2_current_tilemap.layer_name & 1)
|
||||
base_offset = 1;
|
||||
|
||||
|
||||
base_multiplier = 2;
|
||||
}
|
||||
|
||||
|
||||
base_scrollx = stv2_current_tilemap.scrollx;
|
||||
base_scrolly = stv2_current_tilemap.scrolly;
|
||||
//base_incx = stv2_current_tilemap.incx;
|
||||
//base_incy = stv2_current_tilemap.incy;
|
||||
|
||||
|
||||
while(cur_char <= cliprect.max_x)
|
||||
{
|
||||
mycliprect.min_x = cur_char;
|
||||
mycliprect.max_x = cur_char + 8 - 1;
|
||||
|
||||
|
||||
uint32_t cur_address;
|
||||
int16_t char_scroll;
|
||||
|
||||
|
||||
cur_address = vcsc_address;
|
||||
cur_address += ((cur_char >> 3) * base_multiplier) + base_offset;
|
||||
|
||||
|
||||
char_scroll = m_vdp2_vram[ cur_address ] >> 16;
|
||||
char_scroll &= 0x07ff;
|
||||
if ( char_scroll & 0x0400 ) char_scroll |= 0xf800;
|
||||
@ -4504,7 +4504,7 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
|
||||
//stv2_current_tilemap.incy = base_incy;
|
||||
|
||||
stv_vdp2_check_tilemap_with_linescroll(bitmap, mycliprect);
|
||||
|
||||
|
||||
// TODO: + 16 for tilemap and char size = 16?
|
||||
cur_char += 8;
|
||||
|
||||
@ -4512,10 +4512,10 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
|
||||
}
|
||||
else
|
||||
stv_vdp2_check_tilemap_with_linescroll(bitmap, cliprect);
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (stv2_current_tilemap.bitmap_enable) // this layer is a bitmap
|
||||
{
|
||||
stv_vdp2_draw_basic_bitmap(bitmap, mycliprect);
|
||||
@ -5047,7 +5047,7 @@ inline bool saturn_state::stv_vdp2_roz_mode3_window(int x, int y, int rot_parame
|
||||
uint8_t w1_enable = STV_VDP2_RPW1E;
|
||||
uint8_t w0_area = STV_VDP2_RPW0A;
|
||||
uint8_t w1_area = STV_VDP2_RPW1A;
|
||||
|
||||
|
||||
if (w0_enable == 0 &&
|
||||
w1_enable == 0)
|
||||
return rot_parameter ^ 1;
|
||||
@ -6508,7 +6508,7 @@ void saturn_state::stv_vdp2_get_window0_coordinates(int *s_x, int *e_x, int *s_y
|
||||
// double density makes the line window to fetch data every two lines
|
||||
uint8_t interlace = (STV_VDP2_LSMD == 3);
|
||||
uint32_t vram_data = m_vdp2_vram[(address >> 2)+(y >> interlace)];
|
||||
|
||||
|
||||
*s_x = (vram_data >> 16) & 0x3ff;
|
||||
*e_x = (vram_data & 0x3ff);
|
||||
}
|
||||
@ -6568,7 +6568,7 @@ void saturn_state::stv_vdp2_get_window1_coordinates(int *s_x, int *e_x, int *s_y
|
||||
// double density makes the line window to fetch data every two lines
|
||||
uint8_t interlace = (STV_VDP2_LSMD == 3);
|
||||
uint32_t vram_data = m_vdp2_vram[(address >> 2)+(y >> interlace)];
|
||||
|
||||
|
||||
*s_x = (vram_data >> 16) & 0x3ff;
|
||||
*e_x = (vram_data & 0x3ff);
|
||||
}
|
||||
@ -6865,7 +6865,7 @@ void saturn_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect,
|
||||
pix &= 0x7ff;
|
||||
pix += color_offset_pal;
|
||||
bitmap_line[x] = m_palette->pen( pix );
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1483,8 +1483,8 @@ public:
|
||||
uint8_t m_fbmem;
|
||||
uint8_t m_tmumem0;
|
||||
uint8_t m_tmumem1;
|
||||
devcb_write_line m_vblank;
|
||||
devcb_write_line m_stall;
|
||||
devcb_write_line m_vblank;
|
||||
devcb_write_line m_stall;
|
||||
// This is for internally generated PCI interrupts in Voodoo3
|
||||
devcb_write_line m_pciint;
|
||||
|
||||
@ -1881,7 +1881,7 @@ public:
|
||||
uint8_t index; // index of board
|
||||
screen_device * m_screen; // the screen we are acting on
|
||||
cpu_device * m_cpu; // the CPU we interact with
|
||||
const uint8_t vd_type; // type of system
|
||||
const uint8_t vd_type; // type of system
|
||||
uint8_t chipmask; // mask for which chips are available
|
||||
uint32_t freq; // operating frequency
|
||||
attoseconds_t attoseconds_per_cycle; // attoseconds per cycle
|
||||
@ -1889,8 +1889,8 @@ public:
|
||||
int trigger; // trigger used for stalling
|
||||
|
||||
voodoo_reg reg[0x400]; // raw registers
|
||||
const uint8_t * regaccess; // register access array
|
||||
const char *const * regnames; // register names array
|
||||
const uint8_t * regaccess; // register access array
|
||||
const char *const * regnames; // register names array
|
||||
uint8_t alt_regmap; // enable alternate register map?
|
||||
|
||||
pci_state pci; // PCI state
|
||||
|
@ -11,7 +11,7 @@ MACHINE_CONFIG_START(voodoo_1_pci_device::device_add_mconfig)
|
||||
MCFG_VOODOO_FBMEM(4)
|
||||
MCFG_VOODOO_TMUMEM(1, 0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(voodoo_2_pci_device::device_add_mconfig)
|
||||
MCFG_DEVICE_ADD("voodoo", VOODOO_2, STD_VOODOO_2_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(4)
|
||||
|
@ -256,7 +256,7 @@ protected:
|
||||
};
|
||||
|
||||
// configuration
|
||||
device_t & m_owner; // reference to our owning device
|
||||
device_t & m_owner; // reference to our owning device
|
||||
std::reference_wrapper<device_t> m_base; // device to resolve relative to
|
||||
callback_type m_type; // type of callback registered
|
||||
const char * m_target_tag; // tag of target object
|
||||
|
@ -175,7 +175,7 @@ extern game_driver const GAME_NAME(NAME) \
|
||||
COMPANY, \
|
||||
[] (machine_config &config, device_t &owner) { downcast<CLASS &>(owner).MACHINE(config); }, \
|
||||
INPUT_PORTS_NAME(INPUT), \
|
||||
[] (device_t &owner) { downcast<CLASS &>(owner).INIT(); }, \
|
||||
[] (device_t &owner) { downcast<CLASS &>(owner).INIT(); }, \
|
||||
ROM_NAME(NAME), \
|
||||
nullptr, \
|
||||
nullptr, \
|
||||
@ -194,7 +194,7 @@ extern game_driver const GAME_NAME(NAME) \
|
||||
COMPANY, \
|
||||
[] (machine_config &config, device_t &owner) { downcast<CLASS &>(owner).MACHINE(config); }, \
|
||||
INPUT_PORTS_NAME(INPUT), \
|
||||
[] (device_t &owner) { downcast<CLASS &>(owner).INIT(); }, \
|
||||
[] (device_t &owner) { downcast<CLASS &>(owner).INIT(); }, \
|
||||
ROM_NAME(NAME), \
|
||||
nullptr, \
|
||||
&LAYOUT, \
|
||||
@ -214,7 +214,7 @@ extern game_driver const GAME_NAME(NAME) \
|
||||
COMPANY, \
|
||||
[] (machine_config &config, device_t &owner) { downcast<CLASS &>(owner).MACHINE(config); }, \
|
||||
INPUT_PORTS_NAME(INPUT), \
|
||||
[] (device_t &owner) { downcast<CLASS &>(owner).INIT(); }, \
|
||||
[] (device_t &owner) { downcast<CLASS &>(owner).INIT(); }, \
|
||||
ROM_NAME(NAME), \
|
||||
#COMPAT, \
|
||||
nullptr, \
|
||||
@ -233,7 +233,7 @@ extern game_driver const GAME_NAME(NAME) \
|
||||
COMPANY, \
|
||||
[] (machine_config &config, device_t &owner) { downcast<CLASS &>(owner).MACHINE(config); }, \
|
||||
INPUT_PORTS_NAME(INPUT), \
|
||||
[] (device_t &owner) { downcast<CLASS &>(owner).INIT(); }, \
|
||||
[] (device_t &owner) { downcast<CLASS &>(owner).INIT(); }, \
|
||||
ROM_NAME(NAME), \
|
||||
#COMPAT, \
|
||||
nullptr, \
|
||||
@ -252,7 +252,7 @@ extern game_driver const GAME_NAME(NAME) \
|
||||
COMPANY, \
|
||||
[] (machine_config &config, device_t &owner) { downcast<CLASS &>(owner).MACHINE(config); }, \
|
||||
INPUT_PORTS_NAME(INPUT), \
|
||||
[] (device_t &owner) { downcast<CLASS &>(owner).INIT(); }, \
|
||||
[] (device_t &owner) { downcast<CLASS &>(owner).INIT(); }, \
|
||||
ROM_NAME(NAME), \
|
||||
#COMPAT, \
|
||||
nullptr, \
|
||||
|
@ -665,7 +665,7 @@ bool a2_16sect_format::load(io_generic *io, uint32_t form_factor, floppy_image *
|
||||
else if (!memcmp(cpm22_block1, §or_data[0x100], 8))
|
||||
{
|
||||
m_prodos_order = true;
|
||||
} // check for subnodule disk
|
||||
} // check for subnodule disk
|
||||
else if (!memcmp(subnod_block1, §or_data[0x100], 8))
|
||||
{
|
||||
m_prodos_order = true;
|
||||
|
@ -386,8 +386,8 @@ protected:
|
||||
@param trackbuf track input buffer.
|
||||
@param track_size in cells, not bytes.
|
||||
@param image
|
||||
@param subtrack subtrack index, 0-3
|
||||
@param splice write splice position
|
||||
@param subtrack subtrack index, 0-3
|
||||
@param splice write splice position
|
||||
*/
|
||||
void generate_track_from_bitstream(int track, int head, const uint8_t *trackbuf, int track_size, floppy_image *image, int subtrack = 0, int splice = 0);
|
||||
|
||||
|
@ -130,7 +130,7 @@ namespace netlist
|
||||
unsigned long pati[32];
|
||||
for (int pI = 0; pI < 32; pI++)
|
||||
{
|
||||
pati[pI] = 0;
|
||||
pati[pI] = 0;
|
||||
}
|
||||
m_size = static_cast<std::uint8_t>(pat.size());
|
||||
unsigned long total = 0;
|
||||
|
@ -141,8 +141,8 @@ Notes:
|
||||
|
||||
TODO:
|
||||
|
||||
- abc802 video is all black
|
||||
- abc850 is broken
|
||||
- abc802 video is all black
|
||||
- abc850 is broken
|
||||
- cassette
|
||||
|
||||
*/
|
||||
@ -266,13 +266,13 @@ void abc806_state::read_pal_p4(offs_t offset, bool m1l, bool xml, offs_t &m, boo
|
||||
vr = 1;
|
||||
}
|
||||
/*
|
||||
if (!m1l && (offset < 0x7800)
|
||||
{
|
||||
TODO 0..30k read from videoram if fetch opcode from 7800-7fff
|
||||
romd = 1;
|
||||
hre = 1;
|
||||
mux = 0;
|
||||
}
|
||||
if (!m1l && (offset < 0x7800)
|
||||
{
|
||||
TODO 0..30k read from videoram if fetch opcode from 7800-7fff
|
||||
romd = 1;
|
||||
hre = 1;
|
||||
mux = 0;
|
||||
}
|
||||
*/
|
||||
size_t videoram_mask = m_ram->size() - 0x8001;
|
||||
|
||||
|
@ -1141,7 +1141,7 @@ ROM_END
|
||||
|
||||
Description: 4096 bit read/write nonvolatile memory partitioned
|
||||
into sixteen pages of 256 bits each and a real time
|
||||
clock/calendar in binary format.
|
||||
clock/calendar in binary format.
|
||||
|
||||
SCRATCHPAD:
|
||||
Page0 (0H)
|
||||
|
@ -2126,14 +2126,14 @@ void arkanoid_state::init_block2()
|
||||
{
|
||||
// combine these into a single swap..
|
||||
int srctile = bitswap<16>(tile,15,14,13,12,
|
||||
11,10, 9, 8,
|
||||
7, 5, 6, 3,
|
||||
1, 2, 4, 0);
|
||||
11,10, 9, 8,
|
||||
7, 5, 6, 3,
|
||||
1, 2, 4, 0);
|
||||
|
||||
srctile = bitswap<16>(srctile,15,14,13,12,
|
||||
11, 9,10, 5,
|
||||
7, 6, 8, 4,
|
||||
3, 2, 1, 0);
|
||||
11, 9,10, 5,
|
||||
7, 6, 8, 4,
|
||||
3, 2, 1, 0);
|
||||
|
||||
srctile = srctile ^ 0xd4;
|
||||
|
||||
|
@ -53,8 +53,8 @@ WRITE8_MEMBER(battlane_state::battlane_cpu_command_w)
|
||||
/*
|
||||
if (~m_cpu_control & 0x08)
|
||||
{
|
||||
m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
|
||||
m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
|
||||
m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
|
||||
m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
|
||||
}
|
||||
*/
|
||||
|
||||
|
@ -18,7 +18,7 @@ To Do:
|
||||
|
||||
Blomby Car is said to be a bootleg of Gaelco's World Rally and uses many
|
||||
of the same fonts
|
||||
(Update: it actually is a bootleg of World Rally by looking how much
|
||||
(Update: it actually is a bootleg of World Rally by looking how much
|
||||
similar the two HWs are, down to the dipswitches!)
|
||||
|
||||
Waterball
|
||||
@ -213,10 +213,10 @@ static INPUT_PORTS_START( blmbycar )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
|
||||
PORT_START("P1_P2") /* $700002.w */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
|
||||
PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW", 0x18, NOTEQUALS, 0x18)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Gear Shift") PORT_TOGGLE PORT_CONDITION("DSW", 0x18, NOTEQUALS, 0x18)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
|
||||
@ -235,7 +235,7 @@ static INPUT_PORTS_START( blmbycar )
|
||||
|
||||
PORT_START("OPT_WHEEL") /* $700004.w */
|
||||
PORT_BIT ( 0x00ff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(1) PORT_REVERSE PORT_CONDITION("DSW", 0x18, EQUALS, 0x08) PORT_NAME("P1 Opt Wheel")
|
||||
|
||||
|
||||
PORT_START("POT_WHEEL")
|
||||
PORT_BIT ( 0x00ff, 0x0080, IPT_AD_STICK_X ) PORT_SENSITIVITY(30) PORT_KEYDELTA(1) PORT_REVERSE PORT_CONDITION("DSW", 0x18, EQUALS, 0x10) PORT_NAME("P1 Pot Wheel")
|
||||
|
||||
|
@ -8219,10 +8219,10 @@ ROM_END
|
||||
/* B-Board 90629B-3 */
|
||||
ROM_START( kodr2 )
|
||||
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "kde_30.11e", 0x00000, 0x20000, CRC(f8dc4ce3) SHA1(3efc4ffd61b399235f27c97ffb6d556000d59b33) ) /* different CRC from kodr1, pcb verified */
|
||||
ROM_LOAD16_BYTE( "kde_37.11f", 0x00001, 0x20000, CRC(d1276c1c) SHA1(1f70972eb5b854ef58c6d0eaccda6e12611cf763) ) /* different CRC from kodr1, pcb verified */
|
||||
ROM_LOAD16_BYTE( "kde_31.12e", 0x40000, 0x20000, CRC(309debd8) SHA1(96aa498fe04c1b8f76dab1c0ab074eedd48053fa) ) /* different CRC from kodr1, pcb verified */
|
||||
ROM_LOAD16_BYTE( "kde_38.12f", 0x40001, 0x20000, CRC(76cd5738) SHA1(cb81f8db8400c9972f05ace38530f040fb66f93e) ) /* different CRC from kodr1, pcb verified */
|
||||
ROM_LOAD16_BYTE( "kde_30.11e", 0x00000, 0x20000, CRC(f8dc4ce3) SHA1(3efc4ffd61b399235f27c97ffb6d556000d59b33) ) /* different CRC from kodr1, pcb verified */
|
||||
ROM_LOAD16_BYTE( "kde_37.11f", 0x00001, 0x20000, CRC(d1276c1c) SHA1(1f70972eb5b854ef58c6d0eaccda6e12611cf763) ) /* different CRC from kodr1, pcb verified */
|
||||
ROM_LOAD16_BYTE( "kde_31.12e", 0x40000, 0x20000, CRC(309debd8) SHA1(96aa498fe04c1b8f76dab1c0ab074eedd48053fa) ) /* different CRC from kodr1, pcb verified */
|
||||
ROM_LOAD16_BYTE( "kde_38.12f", 0x40001, 0x20000, CRC(76cd5738) SHA1(cb81f8db8400c9972f05ace38530f040fb66f93e) ) /* different CRC from kodr1, pcb verified */
|
||||
ROM_LOAD16_BYTE( "kd_28.9e", 0x80000, 0x20000, CRC(9367bcd9) SHA1(8243b4b9bb9756f3fa726717e19a166cb2f5b50a) )
|
||||
ROM_LOAD16_BYTE( "kd_35.9f", 0x80001, 0x20000, CRC(4ca6a48a) SHA1(9d440ecd8d2d0e293fecf64ca3915252b94e7aef) )
|
||||
ROM_LOAD16_BYTE( "kd_29.10e", 0xc0000, 0x20000, CRC(0360fa72) SHA1(274769c8717a874397cf37369e3ef80a682d9ef2) )
|
||||
|
@ -921,9 +921,9 @@ ROM_END
|
||||
***************************************************************************/
|
||||
|
||||
// 1995
|
||||
GAME( 1995, csplayh1, 0, csplayh5, csplayh5, csplayh5_state, init_csplayh1, ROT0, "Sphinx/AV Japan/Astro System Japan", "Super CD Dai8dan Mahjong Hanafuda Cosplay Tengoku (Japan)", MACHINE_NOT_WORKING )
|
||||
GAME( 1995, csplayh1, 0, csplayh5, csplayh5, csplayh5_state, init_csplayh1, ROT0, "Sphinx/AV Japan/Astro System Japan", "Super CD Dai8dan Mahjong Hanafuda Cosplay Tengoku (Japan)", MACHINE_NOT_WORKING )
|
||||
|
||||
GAME( 1998, nichidvd, 0, csplayh5, csplayh5, csplayh5_state, empty_init, ROT0, "Nichibutsu", "Nichibutsu High Rate DVD BIOS", MACHINE_IS_BIOS_ROOT )
|
||||
GAME( 1998, nichidvd, 0, csplayh5, csplayh5, csplayh5_state, empty_init, ROT0, "Nichibutsu", "Nichibutsu High Rate DVD BIOS", MACHINE_IS_BIOS_ROOT )
|
||||
|
||||
// 1998
|
||||
/* 01 */ GAME( 1998, mjgalpri, nichidvd, csplayh5, csplayh5, csplayh5_state, init_mjgalpri, ROT0, "Nichibutsu/Just&Just", "Mahjong Gal-pri - World Gal-con Grandprix (Japan)", MACHINE_NOT_WORKING )
|
||||
|
@ -443,19 +443,19 @@ MACHINE_CONFIG_END
|
||||
/* ROMs */
|
||||
ROM_START( popnrun )
|
||||
ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_BYTE( "popnrun-27512-1-6e.bin", 0xe0001, 0x010000, CRC(cf800494) SHA1(eaed51212c91ebb16e326f8133b60a0ecf0055e5) )
|
||||
ROM_LOAD16_BYTE( "popnrun-27512-2-6h.bin", 0xe0000, 0x010000, CRC(bad47dc4) SHA1(279236cfe5102b4724f9fb4405f514dba011ae3d) )
|
||||
ROM_LOAD16_BYTE( "popnrun-27512-1-6e.bin", 0xe0001, 0x010000, CRC(cf800494) SHA1(eaed51212c91ebb16e326f8133b60a0ecf0055e5) )
|
||||
ROM_LOAD16_BYTE( "popnrun-27512-2-6h.bin", 0xe0000, 0x010000, CRC(bad47dc4) SHA1(279236cfe5102b4724f9fb4405f514dba011ae3d) )
|
||||
|
||||
ROM_REGION( 0x100000, "sub", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_BYTE( "popnrun-27256-3-17e.bin", 0xf0001, 0x008000, CRC(93f811aa) SHA1(75998375081d3cc5faa7533d39dd2d29a4ef3e7d) )
|
||||
ROM_LOAD16_BYTE( "popnrun-27256-4-17h.bin", 0xf0000, 0x008000, CRC(8fe0c064) SHA1(2a854238b8335a85cbe75c901480b51d479273a0) )
|
||||
ROM_LOAD16_BYTE( "popnrun-27256-4-17h.bin", 0xf0000, 0x008000, CRC(8fe0c064) SHA1(2a854238b8335a85cbe75c901480b51d479273a0) )
|
||||
|
||||
ROM_REGION( 0x20000, "audiocpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "popnrun-2764-5-22c.bin", 0x000000, 0x002000, CRC(768a2ec7) SHA1(abc02ec6c6a495e612e8708377d9e7ca98981de4) )
|
||||
ROM_LOAD( "popnrun-27512-6-20c.bin", 0x010000, 0x010000, CRC(47d168ce) SHA1(36c16a400408834fcf0561c3f097e84a287560bd) )
|
||||
ROM_LOAD( "popnrun-2764-5-22c.bin", 0x000000, 0x002000, CRC(768a2ec7) SHA1(abc02ec6c6a495e612e8708377d9e7ca98981de4) )
|
||||
ROM_LOAD( "popnrun-27512-6-20c.bin", 0x010000, 0x010000, CRC(47d168ce) SHA1(36c16a400408834fcf0561c3f097e84a287560bd) )
|
||||
|
||||
ROM_REGION( 0x2000, "gfx1", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "popnrun-2764-7-1a.bin", 0x000000, 0x002000, CRC(5e508b8e) SHA1(3e49e8d25a3db83178965382295e7c437441b5fe) )
|
||||
ROM_LOAD( "popnrun-2764-7-1a.bin", 0x000000, 0x002000, CRC(5e508b8e) SHA1(3e49e8d25a3db83178965382295e7c437441b5fe) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx2", ROMREGION_ERASEFF ) /* Sprites */
|
||||
ROM_LOAD( "gfx2.bin", 0x0000, 0x80000, NO_DUMP )
|
||||
@ -482,24 +482,24 @@ ROM_START( popnrun )
|
||||
ROM_REGION( 0x10000, "adpcm2", ROMREGION_ERASE00 )
|
||||
|
||||
ROM_REGION( 0x0100, "prom", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "popnrun-63s281-9b.bin", 0x000000, 0x000100, CRC(208d17ca) SHA1(a77d56337bcac8d9a7bc3411239dfb3045e069ec) )
|
||||
ROM_LOAD( "popnrun-63s281-9b.bin", 0x000000, 0x000100, CRC(208d17ca) SHA1(a77d56337bcac8d9a7bc3411239dfb3045e069ec) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( popnruna )
|
||||
ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_BYTE( "1.e5.27512", 0xe0001, 0x010000, CRC(fe45b6c4) SHA1(efa0d4ce6c5963f25ca1195cd2d5745e730b3b95) )
|
||||
ROM_LOAD16_BYTE( "2.h5.27512", 0xe0000, 0x010000, CRC(1e325398) SHA1(ca481c1447de4bffdea695deb9bb46c269272c68) )
|
||||
ROM_LOAD16_BYTE( "1.e5.27512", 0xe0001, 0x010000, CRC(fe45b6c4) SHA1(efa0d4ce6c5963f25ca1195cd2d5745e730b3b95) )
|
||||
ROM_LOAD16_BYTE( "2.h5.27512", 0xe0000, 0x010000, CRC(1e325398) SHA1(ca481c1447de4bffdea695deb9bb46c269272c68) )
|
||||
|
||||
ROM_REGION( 0x100000, "sub", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_BYTE( "popnrun-27256-3-17e.bin", 0xf0001, 0x008000, CRC(93f811aa) SHA1(75998375081d3cc5faa7533d39dd2d29a4ef3e7d) )
|
||||
ROM_LOAD16_BYTE( "popnrun-27256-4-17h.bin", 0xf0000, 0x008000, CRC(8fe0c064) SHA1(2a854238b8335a85cbe75c901480b51d479273a0) )
|
||||
ROM_LOAD16_BYTE( "popnrun-27256-4-17h.bin", 0xf0000, 0x008000, CRC(8fe0c064) SHA1(2a854238b8335a85cbe75c901480b51d479273a0) )
|
||||
|
||||
ROM_REGION( 0x20000, "audiocpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "popnrun-2764-5-22c.bin", 0x000000, 0x002000, CRC(768a2ec7) SHA1(abc02ec6c6a495e612e8708377d9e7ca98981de4) )
|
||||
ROM_LOAD( "popnrun-27512-6-20c.bin", 0x010000, 0x010000, CRC(47d168ce) SHA1(36c16a400408834fcf0561c3f097e84a287560bd) )
|
||||
ROM_LOAD( "popnrun-2764-5-22c.bin", 0x000000, 0x002000, CRC(768a2ec7) SHA1(abc02ec6c6a495e612e8708377d9e7ca98981de4) )
|
||||
ROM_LOAD( "popnrun-27512-6-20c.bin", 0x010000, 0x010000, CRC(47d168ce) SHA1(36c16a400408834fcf0561c3f097e84a287560bd) )
|
||||
|
||||
ROM_REGION( 0x2000, "gfx1", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "popnrun-2764-7-1a.bin", 0x000000, 0x002000, CRC(5e508b8e) SHA1(3e49e8d25a3db83178965382295e7c437441b5fe) )
|
||||
ROM_LOAD( "popnrun-2764-7-1a.bin", 0x000000, 0x002000, CRC(5e508b8e) SHA1(3e49e8d25a3db83178965382295e7c437441b5fe) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx2", ROMREGION_ERASEFF ) /* Sprites */
|
||||
ROM_LOAD( "gfx2.bin", 0x0000, 0x80000, NO_DUMP )
|
||||
@ -522,7 +522,7 @@ ROM_START( popnruna )
|
||||
ROM_LOAD( "gfx7.bin", 0x0000, 0x10000, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x0100, "prom", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "popnrun-63s281-9b.bin", 0x000000, 0x000100, CRC(208d17ca) SHA1(a77d56337bcac8d9a7bc3411239dfb3045e069ec) )
|
||||
ROM_LOAD( "popnrun-63s281-9b.bin", 0x000000, 0x000100, CRC(208d17ca) SHA1(a77d56337bcac8d9a7bc3411239dfb3045e069ec) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( deadang )
|
||||
@ -723,8 +723,8 @@ void deadang_state::init_deadang()
|
||||
|
||||
void popnrun_state::init_popnrun()
|
||||
{
|
||||
// m_adpcm1->decrypt();
|
||||
// m_adpcm2->decrypt();
|
||||
// m_adpcm1->decrypt();
|
||||
// m_adpcm2->decrypt();
|
||||
}
|
||||
|
||||
void deadang_state::init_ghunter()
|
||||
|
@ -556,9 +556,9 @@ void exerion_state::init_exerion()
|
||||
for (uint32_t oldaddr = 0; oldaddr < length; oldaddr++)
|
||||
{
|
||||
uint32_t newaddr = ((oldaddr ) & 0x1f00) | /* keep n8-n4 */
|
||||
((oldaddr << 3) & 0x00f0) | /* move n3-n0 */
|
||||
((oldaddr >> 4) & 0x000e) | /* move v2-v0 */
|
||||
((oldaddr ) & 0x0001); /* keep h2 */
|
||||
((oldaddr << 3) & 0x00f0) | /* move n3-n0 */
|
||||
((oldaddr >> 4) & 0x000e) | /* move v2-v0 */
|
||||
((oldaddr ) & 0x0001); /* keep h2 */
|
||||
dst[newaddr] = src[oldaddr];
|
||||
}
|
||||
|
||||
@ -574,10 +574,10 @@ void exerion_state::init_exerion()
|
||||
for (uint32_t oldaddr = 0; oldaddr < length; oldaddr++)
|
||||
{
|
||||
uint32_t newaddr = ((oldaddr << 1) & 0x3c00) | /* move n7-n4 */
|
||||
((oldaddr >> 4) & 0x0200) | /* move n3 */
|
||||
((oldaddr << 4) & 0x01c0) | /* move n2-n0 */
|
||||
((oldaddr >> 3) & 0x003c) | /* move v3-v0 */
|
||||
((oldaddr ) & 0xc003); /* keep n9-n8 h3-h2 */
|
||||
((oldaddr >> 4) & 0x0200) | /* move n3 */
|
||||
((oldaddr << 4) & 0x01c0) | /* move n2-n0 */
|
||||
((oldaddr >> 3) & 0x003c) | /* move v3-v0 */
|
||||
((oldaddr ) & 0xc003); /* keep n9-n8 h3-h2 */
|
||||
dst[newaddr] = src[oldaddr];
|
||||
}
|
||||
}
|
||||
|
@ -196,7 +196,7 @@ void f1gp_state::f1gpb_cpu2_map(address_map &map)
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( f1gp )
|
||||
PORT_START("INPUTS")
|
||||
PORT_START("INPUTS")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_CONDITION("JOY_TYPE", 0x01, NOTEQUALS, 0x01)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_CONDITION("JOY_TYPE", 0x01, NOTEQUALS, 0x01)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_CONDITION("JOY_TYPE", 0x01, NOTEQUALS, 0x01)
|
||||
@ -220,7 +220,7 @@ static INPUT_PORTS_START( f1gp )
|
||||
|
||||
PORT_START("WHEEL")
|
||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(10) PORT_KEYDELTA(5)
|
||||
|
||||
|
||||
PORT_START("DSW1")
|
||||
// listed as "unused" in manual, actually enables free play
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:1")
|
||||
@ -282,7 +282,7 @@ static INPUT_PORTS_START( f1gp )
|
||||
// listed as "Unused" in manual, it selects between joystick or steering wheel
|
||||
PORT_DIPNAME( 0x8000, 0x8000, "Input Method" ) PORT_DIPLOCATION("SW3:8")
|
||||
PORT_DIPSETTING( 0x8000, "Joystick" )
|
||||
// TODO: doesn't work in-game, reads from $fff002 ingame too but doesn't have an effect,
|
||||
// TODO: doesn't work in-game, reads from $fff002 ingame too but doesn't have an effect,
|
||||
// maybe outputs threshold to $fff000 or it's not supposed to be enabled like the manual claims.
|
||||
PORT_DIPSETTING( 0x0000, "Steering Wheel" )
|
||||
|
||||
@ -295,7 +295,7 @@ static INPUT_PORTS_START( f1gp )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Hong_Kong ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( Taiwan ) )
|
||||
/* all other values are invalid */
|
||||
|
||||
|
||||
PORT_START("JOY_TYPE")
|
||||
PORT_CONFNAME( 0x01, 0x01, "Joystick Type" )
|
||||
PORT_CONFSETTING( 0x01, "2-Way" )
|
||||
|
@ -347,9 +347,9 @@ void fcombat_state::init_fcombat()
|
||||
for (uint32_t oldaddr = 0; oldaddr < length; oldaddr++)
|
||||
{
|
||||
uint32_t newaddr = ((oldaddr ) & 0x1f00) | /* keep n8-n4 */
|
||||
((oldaddr << 3) & 0x00f0) | /* move n3-n0 */
|
||||
((oldaddr >> 4) & 0x000e) | /* move v2-v0 */
|
||||
((oldaddr ) & 0x0001); /* keep h2 */
|
||||
((oldaddr << 3) & 0x00f0) | /* move n3-n0 */
|
||||
((oldaddr >> 4) & 0x000e) | /* move v2-v0 */
|
||||
((oldaddr ) & 0x0001); /* keep h2 */
|
||||
dst[newaddr] = src[oldaddr];
|
||||
}
|
||||
|
||||
@ -366,10 +366,10 @@ void fcombat_state::init_fcombat()
|
||||
for (uint32_t oldaddr = 0; oldaddr < length; oldaddr++)
|
||||
{
|
||||
uint32_t newaddr = ((oldaddr << 1) & 0x3c00) | /* move n7-n4 */
|
||||
((oldaddr >> 4) & 0x0200) | /* move n3 */
|
||||
((oldaddr << 4) & 0x01c0) | /* move n2-n0 */
|
||||
((oldaddr >> 3) & 0x003c) | /* move v3-v0 */
|
||||
((oldaddr ) & 0xc003); /* keep n9-n8 h3-h2 */
|
||||
((oldaddr >> 4) & 0x0200) | /* move n3 */
|
||||
((oldaddr << 4) & 0x01c0) | /* move n2-n0 */
|
||||
((oldaddr >> 3) & 0x003c) | /* move v3-v0 */
|
||||
((oldaddr ) & 0xc003); /* keep n9-n8 h3-h2 */
|
||||
|
||||
dst[newaddr] = src[oldaddr];
|
||||
}
|
||||
@ -387,10 +387,10 @@ void fcombat_state::init_fcombat()
|
||||
for (uint32_t oldaddr = 0; oldaddr < length; oldaddr++)
|
||||
{
|
||||
uint32_t newaddr = ((oldaddr << 1) & 0x3c00) | /* move n7-n4 */
|
||||
((oldaddr >> 4) & 0x0200) | /* move n3 */
|
||||
((oldaddr << 4) & 0x01c0) | /* move n2-n0 */
|
||||
((oldaddr >> 3) & 0x003c) | /* move v3-v0 */
|
||||
((oldaddr ) & 0xc003); /* keep n9-n8 h3-h2 */
|
||||
((oldaddr >> 4) & 0x0200) | /* move n3 */
|
||||
((oldaddr << 4) & 0x01c0) | /* move n2-n0 */
|
||||
((oldaddr >> 3) & 0x003c) | /* move v3-v0 */
|
||||
((oldaddr ) & 0xc003); /* keep n9-n8 h3-h2 */
|
||||
dst[newaddr] = src[oldaddr];
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
the addressbus at read or write accesses.
|
||||
- granits gives error beeps at start, need to press clear to play
|
||||
- finish fphantom emulation
|
||||
- PC has 14KB RAM. 0000-0fff and 8000-9fff is certain, where does the remaining map to?
|
||||
- PC has 14KB RAM. 0000-0fff and 8000-9fff is certain, where does the remaining map to?
|
||||
|
||||
******************************************************************************
|
||||
|
||||
|
@ -456,7 +456,7 @@ WRITE8_MEMBER(igs_incdec_device::dec_w)
|
||||
|
||||
READ8_MEMBER(igs_incdec_device::val_r)
|
||||
{
|
||||
uint8_t res = (BIT(m_val, 0) << 7) |
|
||||
uint8_t res = (BIT(m_val, 0) << 7) |
|
||||
(BIT(m_val, 3) << 5) |
|
||||
(BIT(m_val, 2) << 4) |
|
||||
(BIT(m_val, 1) << 2) ;
|
||||
|
@ -406,7 +406,7 @@ void cojag_devices(device_slot_interface &device)
|
||||
* Machine init
|
||||
*
|
||||
*************************************/
|
||||
|
||||
|
||||
void jaguar_state::machine_start()
|
||||
{
|
||||
/* configure banks for gfx/sound ROMs */
|
||||
@ -446,7 +446,7 @@ void jaguar_state::machine_reset()
|
||||
m_butch_cmd_size = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* reset banks for gfx/sound ROMs */
|
||||
if (m_romboard_region != nullptr)
|
||||
{
|
||||
@ -1341,7 +1341,7 @@ void jaguar_state::jaguarcd_map(address_map &map)
|
||||
* Main CPU memory handlers
|
||||
*
|
||||
*************************************/
|
||||
|
||||
|
||||
void jaguar_state::r3000_map(address_map &map)
|
||||
{
|
||||
map(0x04000000, 0x047fffff).ram().share("sharedram");
|
||||
|
@ -1311,7 +1311,7 @@ WRITE8_MEMBER(mappy_state::out_lamps)
|
||||
void mappy_state::machine_start()
|
||||
{
|
||||
m_leds.resolve();
|
||||
|
||||
|
||||
save_item(NAME(m_main_irq_mask));
|
||||
save_item(NAME(m_sub_irq_mask));
|
||||
save_item(NAME(m_sub2_irq_mask));
|
||||
|
@ -202,11 +202,11 @@ void markham_state::strnskil_master_map(address_map &map)
|
||||
|
||||
// void markham_state::banbam_master_map(address_map &map)
|
||||
// {
|
||||
// /* TODO: uncomment when ready */
|
||||
// strnskil_master_map(map);
|
||||
// map(0xd806, 0xd806).r(this, FUNC(markham_state::mcu_r)); /* mcu data read */
|
||||
// map(0xd80d, 0xd80d).w(this, FUNC(markham_state::mcu_w)); /* mcu data write */
|
||||
// map(0xd80c, 0xd80c).w(this, FUNC(markham_state::mcu_reset)); /* mcu reset? */
|
||||
// /* TODO: uncomment when ready */
|
||||
// strnskil_master_map(map);
|
||||
// map(0xd806, 0xd806).r(this, FUNC(markham_state::mcu_r)); /* mcu data read */
|
||||
// map(0xd80d, 0xd80d).w(this, FUNC(markham_state::mcu_w)); /* mcu data write */
|
||||
// map(0xd80c, 0xd80c).w(this, FUNC(markham_state::mcu_reset)); /* mcu reset? */
|
||||
// }
|
||||
|
||||
void markham_state::markham_slave_map(address_map &map)
|
||||
|
@ -91,7 +91,7 @@ public:
|
||||
protected:
|
||||
virtual void machine_start() override
|
||||
{
|
||||
MACHINE_START_CALL_MEMBER(midzeus);
|
||||
MACHINE_START_CALL_MEMBER(midzeus);
|
||||
m_led.resolve();
|
||||
m_lamp.resolve();
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
output_finder<7> m_lamps;
|
||||
|
||||
|
||||
tilemap_t *m_sc0_tilemap;
|
||||
tilemap_t *m_sc1_tilemap;
|
||||
tilemap_t *m_sc2_tilemap;
|
||||
|
@ -2565,11 +2565,11 @@ static INPUT_PORTS_START( naomi_kb )
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LCONTROL) PORT_NAME("P1 Left Control") PORT_PLAYER(1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LSHIFT) PORT_NAME("P1 Left Shift") PORT_PLAYER(1)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LALT) PORT_NAME("P1 Left Alt") PORT_PLAYER(1)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LWIN) PORT_NAME("P1 S1") PORT_PLAYER(1)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LWIN) PORT_NAME("P1 S1") PORT_PLAYER(1)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RCONTROL) PORT_NAME("P1 Right Control") PORT_PLAYER(1)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RSHIFT) PORT_NAME("P1 Right Shift") PORT_PLAYER(1)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RALT) PORT_NAME("P1 Right Alt") PORT_PLAYER(1)
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RWIN) PORT_NAME("P1 S2") PORT_PLAYER(1)
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RWIN) PORT_NAME("P1 S2") PORT_PLAYER(1)
|
||||
|
||||
PORT_START("P1.LD")
|
||||
// TODO: LED information
|
||||
@ -2580,13 +2580,13 @@ static INPUT_PORTS_START( naomi_kb )
|
||||
// ---- -x-- scroll lock
|
||||
// ---- --x- caps lock
|
||||
// ---- ---x num lock
|
||||
|
||||
|
||||
PORT_START("P1.KC1")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(DEVICE_SELF, naomi_state, naomi_kb_r, 0)
|
||||
|
||||
PORT_START("P1.KC2")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
|
||||
PORT_START("P1.KC3")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
@ -2631,14 +2631,14 @@ static INPUT_PORTS_START( naomi_kb )
|
||||
PORT_BIT(0x10000000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_Y) PORT_NAME("P1 y / Y")
|
||||
PORT_BIT(0x20000000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_Z) PORT_NAME("P1 z / Z")
|
||||
PORT_BIT(0x40000000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_1) PORT_NAME("P1 1 / !")
|
||||
PORT_BIT(0x80000000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_2) PORT_NAME("P1 2 / “")
|
||||
PORT_BIT(0x80000000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_2) PORT_NAME("P1 2 / \"")
|
||||
|
||||
PORT_START("P1.ROW1")
|
||||
PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_3) PORT_NAME("P1 3 / #")
|
||||
PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_4) PORT_NAME("P1 4 / $")
|
||||
PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_5) PORT_NAME("P1 5 / %")
|
||||
PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_6) PORT_NAME("P1 6 / &")
|
||||
PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_7) PORT_NAME("P1 7 / ‘")
|
||||
PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_7) PORT_NAME("P1 7 / '")
|
||||
PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_8) PORT_NAME("P1 8 / (")
|
||||
PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_9) PORT_NAME("P1 9 / )")
|
||||
PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_0) PORT_NAME("P1 0 / ~")
|
||||
@ -2687,7 +2687,7 @@ static INPUT_PORTS_START( naomi_kb )
|
||||
PORT_BIT(0x00010000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_LEFT) PORT_NAME("P1 Left")
|
||||
PORT_BIT(0x00020000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_DOWN) PORT_NAME("P1 Down")
|
||||
PORT_BIT(0x00040000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) PORT_CODE(KEYCODE_UP) PORT_NAME("P1 Up")
|
||||
PORT_BIT(0xfff80000, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT(0xfff80000, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("P1.ROW3")
|
||||
PORT_BIT(0x0000001f, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
@ -2702,7 +2702,7 @@ static INPUT_PORTS_START( naomi_kb )
|
||||
PORT_BIT(0x00000400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) /*PORT_CODE(KEYCODE_?)*/ PORT_NAME("P1 Kanji Henkan")
|
||||
PORT_BIT(0x00000800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_PLAYER(1) /*PORT_CODE(KEYCODE_?)*/ PORT_NAME("P1 Kanji Muhenkan")
|
||||
PORT_BIT(0xfffff000, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
|
||||
// TODO: keyboard for player 2
|
||||
PORT_START("P2.M")
|
||||
PORT_DIPNAME( 0x01, 0x00, "P2.ROW0" )
|
||||
@ -2732,7 +2732,7 @@ static INPUT_PORTS_START( naomi_kb )
|
||||
|
||||
PORT_START("P2.LD")
|
||||
// TODO: same as above
|
||||
|
||||
|
||||
PORT_START("P2.KC1")
|
||||
PORT_DIPNAME( 0x01, 0x00, "P2.ROW2" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
@ -3022,7 +3022,7 @@ MACHINE_CONFIG_START(naomi_state::naomigd_kb)
|
||||
MCFG_DC_KEYBOARD_ADD("dcctrl0", "maple_dc", 1, ":P1.M", ":P1.LD", ":P1.KC1", ":P1.KC2", ":P1.KC3", ":P1.KC4", ":P1.KC5", ":P1.KC6")
|
||||
MCFG_DC_KEYBOARD_ADD("dcctrl1", "maple_dc", 2, ":P2.M", ":P2.LD", ":P2.KC1", ":P2.KC2", ":P2.KC3", ":P2.KC4", ":P2.KC5", ":P2.KC6")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/*
|
||||
* Naomi 2
|
||||
*/
|
||||
|
@ -7054,7 +7054,7 @@ ROM_START( tomagic )
|
||||
ROM_LOAD( "9.bin", 0x000000, 0x20000, CRC(fcceb24b) SHA1(49e3162c34dfa2ef54ffe190ba91bff73cebe12b) )
|
||||
|
||||
ROM_REGION( 0x80000, "bgtile", 0 )
|
||||
ROM_LOAD( "10.bin", 0x000000, 0x80000, CRC(14ef466c) SHA1(02711bd44e146dc30d68cd199023834a63170b0f) )
|
||||
ROM_LOAD( "10.bin", 0x000000, 0x80000, CRC(14ef466c) SHA1(02711bd44e146dc30d68cd199023834a63170b0f) )
|
||||
|
||||
ROM_REGION( 0x200000, "sprites", 0 ) /* 16x16 sprite tiles */
|
||||
ROM_LOAD16_BYTE( "7.bin", 0x100001, 0x80000, CRC(0a297c78) SHA1(effe1ee2ab64cb9fbeae0d168346168245942034) )
|
||||
|
@ -7,7 +7,7 @@
|
||||
driver by Angelo Salese
|
||||
|
||||
TODO:
|
||||
- move sound bios ROMs into pc9801_26 / pc9801_86 devices
|
||||
- move sound bios ROMs into pc9801_26 / pc9801_86 devices
|
||||
- proper 8251 uart hook-up on keyboard
|
||||
- SASI/SCSI support;
|
||||
- Write a PC80S31K device (also used on PC-8801 and PC-88VA, it's the FDC + Z80 sub-system);
|
||||
@ -649,7 +649,7 @@ void pc9801_state::pc9801_map(address_map &map)
|
||||
{
|
||||
map(0xa0000, 0xa3fff).rw(this, FUNC(pc9801_state::tvram_r), FUNC(pc9801_state::tvram_w)); //TVRAM
|
||||
map(0xa8000, 0xbffff).rw(this, FUNC(pc9801_state::gvram_r), FUNC(pc9801_state::gvram_w)); //bitmap VRAM
|
||||
// map(0xcc000, 0xcffff).rom().region("sound_bios", 0); //sound BIOS
|
||||
// map(0xcc000, 0xcffff).rom().region("sound_bios", 0); //sound BIOS
|
||||
map(0xd6000, 0xd6fff).rom().region("fdc_bios_2dd", 0); //floppy BIOS 2dd
|
||||
map(0xd7000, 0xd7fff).rom().region("fdc_bios_2hd", 0); //floppy BIOS 2hd
|
||||
map(0xe8000, 0xfffff).rom().region("ipl", 0);
|
||||
@ -1405,8 +1405,8 @@ void pc9801_state::pc9821_map(address_map &map)
|
||||
map(0x000a0000, 0x000a3fff).rw(this, FUNC(pc9801_state::tvram_r), FUNC(pc9801_state::tvram_w));
|
||||
map(0x000a4000, 0x000a4fff).rw(this, FUNC(pc9801_state::pc9801rs_knjram_r), FUNC(pc9801_state::pc9801rs_knjram_w));
|
||||
map(0x000a8000, 0x000bffff).rw(this, FUNC(pc9801_state::pc9821_grcg_gvram_r), FUNC(pc9801_state::pc9821_grcg_gvram_w));
|
||||
// map(0x000cc000, 0x000cffff).rom().region("sound_bios", 0); //sound BIOS
|
||||
// map(0x000d8000, 0x000d9fff).rom().region("ide",0)
|
||||
// map(0x000cc000, 0x000cffff).rom().region("sound_bios", 0); //sound BIOS
|
||||
// map(0x000d8000, 0x000d9fff).rom().region("ide",0)
|
||||
map(0x000da000, 0x000dbfff).ram(); // ide ram
|
||||
map(0x000e0000, 0x000e7fff).rw(this, FUNC(pc9801_state::pc9821_grcg_gvram0_r), FUNC(pc9801_state::pc9821_grcg_gvram0_w));
|
||||
map(0x000e8000, 0x000fffff).m(m_ipl, FUNC(address_map_bank_device::amap16));
|
||||
@ -2680,21 +2680,21 @@ TODO: doesn't boot, missing roms?
|
||||
|
||||
ROM_START( pc9801vm )
|
||||
ROM_REGION( 0x30000, "ipl", ROMREGION_ERASEFF )
|
||||
// ROM_LOAD( "itf_ux.rom", 0x10000, 0x08000, BAD_DUMP CRC(c7942563) SHA1(61bb210d64c7264be939b11df1e9cd14ffeee3c9) )
|
||||
// ROM_LOAD( "bios_vm.rom", 0x18000, 0x18000, CRC(2e2d7cee) SHA1(159549f845dc70bf61955f9469d2281a0131b47f) )
|
||||
// ROM_LOAD( "itf_ux.rom", 0x10000, 0x08000, BAD_DUMP CRC(c7942563) SHA1(61bb210d64c7264be939b11df1e9cd14ffeee3c9) )
|
||||
// ROM_LOAD( "bios_vm.rom", 0x18000, 0x18000, CRC(2e2d7cee) SHA1(159549f845dc70bf61955f9469d2281a0131b47f) )
|
||||
// bios
|
||||
ROM_LOAD16_BYTE( "cpu_board_1a_23128e.bin", 0x10001, 0x4000, CRC(9965c914) SHA1(1ed318b774340bd532ef02ac02f39a012354dbf8) )
|
||||
ROM_LOAD16_BYTE( "cpu_board_4a_d23128ec.bin", 0x10000, 0x4000, CRC(e7c24a70) SHA1(cc9584b8e56b391f103e9d559d397d0bc6d00b35) )
|
||||
ROM_LOAD16_BYTE( "cpu_board_1a_23128e.bin", 0x10001, 0x4000, CRC(9965c914) SHA1(1ed318b774340bd532ef02ac02f39a012354dbf8) )
|
||||
ROM_LOAD16_BYTE( "cpu_board_4a_d23128ec.bin", 0x10000, 0x4000, CRC(e7c24a70) SHA1(cc9584b8e56b391f103e9d559d397d0bc6d00b35) )
|
||||
// itf
|
||||
ROM_LOAD16_BYTE( "cpu_board_2a_d23c256ec.bin", 0x18001, 0x8000, CRC(3874970d) SHA1(e50ec5ae38f00dbfd156288dd42c7f2a2bf8bc35) )
|
||||
ROM_LOAD16_BYTE( "cpu_board_3a_23c256e.bin", 0x18000, 0x8000, CRC(4128276e) SHA1(32acb7eee779a31838a17ce51b05a9a987af4099) )
|
||||
ROM_LOAD16_BYTE( "cpu_board_2a_d23c256ec.bin", 0x18001, 0x8000, CRC(3874970d) SHA1(e50ec5ae38f00dbfd156288dd42c7f2a2bf8bc35) )
|
||||
ROM_LOAD16_BYTE( "cpu_board_3a_23c256e.bin", 0x18000, 0x8000, CRC(4128276e) SHA1(32acb7eee779a31838a17ce51b05a9a987af4099) )
|
||||
|
||||
ROM_REGION( 0x80000, "chargen", 0 )
|
||||
// ROM_LOAD( "font_vm.rom", 0x000000, 0x046800, BAD_DUMP CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff) )
|
||||
// ROM_LOAD( "font_vm.rom", 0x000000, 0x046800, BAD_DUMP CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff) )
|
||||
// TODO: it invertes X pixel order and loads 8x8 charset bank in interleaved form, needs mods in own driver_init
|
||||
ROM_LOAD( "main_board_12f_d2364ec.bin", 0x000000, 0x002000, CRC(11197271) SHA1(8dbd2f25daeed545ea2c74d849f0a209ceaf4dd7) )
|
||||
ROM_LOAD( "main_board_12f_d2364ec.bin", 0x000000, 0x002000, CRC(11197271) SHA1(8dbd2f25daeed545ea2c74d849f0a209ceaf4dd7) )
|
||||
// contains some 8x16 chars
|
||||
ROM_LOAD( "main_board_8h_d23256ac.bin", 0x002000, 0x008000, CRC(62a32ba6) SHA1(cdab480ae0dad9d128e52afb15e6c0b2b122cc3f) )
|
||||
ROM_LOAD( "main_board_8h_d23256ac.bin", 0x002000, 0x008000, CRC(62a32ba6) SHA1(cdab480ae0dad9d128e52afb15e6c0b2b122cc3f) )
|
||||
|
||||
ROM_REGION( 0x80000, "raw_kanji", ROMREGION_ERASEFF )
|
||||
// on main board, uPD23100 type roms
|
||||
@ -2705,7 +2705,7 @@ ROM_START( pc9801vm )
|
||||
ROM_REGION( 0x100000, "kanji", ROMREGION_ERASEFF )
|
||||
ROM_REGION( 0x80000, "new_chargen", ROMREGION_ERASEFF )
|
||||
|
||||
// LOAD_KANJI_ROMS
|
||||
// LOAD_KANJI_ROMS
|
||||
// LOAD_IDE_ROM
|
||||
ROM_END
|
||||
|
||||
|
@ -4960,6 +4960,6 @@ GAME( 2008, kovshxas, kovshp, pgm_arm_type1, kovsh, pgm_arm_ty
|
||||
//乱世拳皇/Luànshì quánhuáng
|
||||
GAME( 200?, kovlsqh, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovlsqh2, ROT0, "bootleg", "Luanshi Quanhuang (bootleg of Knights of Valour Super Heroes Plus, ver. 200CN)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
|
||||
GAME( 200?, kovlsqh2, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovlsqh2, ROT0, "bootleg", "Luanshi Quanhuang 2 (bootleg of Knights of Valour Super Heroes Plus, ver. 200CN)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
|
||||
//ה¹±ה¸–ט¡—י<EFBFBD>¸/Luֳ nshֳ¬ jiִ“ bֳ
|
||||
//乱世街霸/Luànshì jiē bà
|
||||
GAME( 200?, kovlsjb, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovlsqh2, ROT0, "bootleg", "Luanshi Jie Ba (bootleg of Knights of Valour Super Heroes Plus, ver. 200CN, set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
|
||||
GAME( 200?, kovlsjba, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovlsqh2, ROT0, "bootleg", "Luanshi Jie Ba (bootleg of Knights of Valour Super Heroes Plus, ver. 200CN, set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
|
||||
|
@ -180,14 +180,14 @@ static void pk8020_floppies(device_slot_interface &device)
|
||||
/*
|
||||
* interrupts
|
||||
*
|
||||
* 0 external devices
|
||||
* 1 uart rx ready
|
||||
* 2 uart tx ready
|
||||
* 3 lan
|
||||
* 4 vblank
|
||||
* 5 timer ch2
|
||||
* 6 printer
|
||||
* 7 floppy
|
||||
* 0 external devices
|
||||
* 1 uart rx ready
|
||||
* 2 uart tx ready
|
||||
* 3 lan
|
||||
* 4 vblank
|
||||
* 5 timer ch2
|
||||
* 6 printer
|
||||
* 7 floppy
|
||||
*/
|
||||
/* Machine driver */
|
||||
MACHINE_CONFIG_START(pk8020_state::pk8020)
|
||||
|
@ -15,7 +15,7 @@ Chips: P8251, D8253C, MK3880N-4 (Z80). 3x 6-sw dips. Unmarked crystal.
|
||||
A blue jumper marked 4M and 2M (between U11 and U12) selects the CPU clock.
|
||||
|
||||
The RS232 port uses a 26-pin header (J1) rather than the conventional DB25
|
||||
connector. The second 26-pin header (J2) is for the parallel port.
|
||||
connector. The second 26-pin header (J2) is for the parallel port.
|
||||
|
||||
Feature list from QT ad:
|
||||
- 1K RAM (which can be located at any 1K boundary) plus one each
|
||||
|
@ -109,7 +109,7 @@ WRITE16_MEMBER(rungun_state::sysregs_w)
|
||||
membank("spriteram_bank")->set_entry((data & 0x80) >> 7);
|
||||
m_video_mux_bank = ((data & 0x80) >> 7) ^ 1;
|
||||
ioport("EEPROMOUT")->write(data, 0xff);
|
||||
|
||||
|
||||
machine().bookkeeping().coin_counter_w(0, data & 0x08);
|
||||
machine().bookkeeping().coin_counter_w(1, data & 0x10);
|
||||
}
|
||||
@ -383,7 +383,7 @@ void rungun_state::machine_start()
|
||||
save_item(NAME(m_sound_status));
|
||||
save_item(NAME(m_sound_nmi_clk));
|
||||
//save_item(NAME(m_ttl_vram));
|
||||
|
||||
|
||||
}
|
||||
|
||||
void rungun_state::machine_reset()
|
||||
|
@ -163,18 +163,18 @@ void seicupbl_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co
|
||||
switch (cur_pri)
|
||||
{
|
||||
// gumdam swamp monster l2
|
||||
case 0: pri_mask = -256; break;
|
||||
case 0: pri_mask = -256; break;
|
||||
// (players and football goal, should go above sidelines but behind portraits when there's a goal)
|
||||
case 1: pri_mask = 0xfff0; break;
|
||||
// masking effect for gundam l2 monster
|
||||
case 2: pri_mask = -4; break;
|
||||
case 2: pri_mask = -4; break;
|
||||
// cupsoc (radar dots)
|
||||
case 3: pri_mask = 0x0000; break;
|
||||
case 3: pri_mask = 0x0000; break;
|
||||
// gundam level 2/3 player
|
||||
case 4: pri_mask = -32; break;
|
||||
//case 5: pri_mask = 0; break;
|
||||
// insert coin in gundam
|
||||
case 6: pri_mask = 0; break;
|
||||
case 6: pri_mask = 0; break;
|
||||
//case 7: pri_mask = 0; break;
|
||||
|
||||
default: printf("unhandled pri %d\n",cur_pri); pri_mask=0;
|
||||
@ -292,16 +292,16 @@ uint32_t seicupbl_state::screen_update( screen_device &screen, bitmap_ind16 &bit
|
||||
m_sc_layer[i]->set_scrolly(0, m_vregs[i*2+1]);
|
||||
}
|
||||
|
||||
if (!(m_layer_disable&0x0001))
|
||||
if (!(m_layer_disable&0x0001))
|
||||
m_sc_layer[0]->draw(screen, bitmap, cliprect, 0, 1);
|
||||
|
||||
if (!(m_layer_disable&0x0002))
|
||||
|
||||
if (!(m_layer_disable&0x0002))
|
||||
m_sc_layer[1]->draw(screen, bitmap, cliprect, 0, 2);
|
||||
|
||||
if (!(m_layer_disable&0x0004))
|
||||
|
||||
if (!(m_layer_disable&0x0004))
|
||||
m_sc_layer[2]->draw(screen, bitmap, cliprect, 0, 4);
|
||||
|
||||
if (!(m_layer_disable&0x0008))
|
||||
|
||||
if (!(m_layer_disable&0x0008))
|
||||
m_sc_layer[3]->draw(screen, bitmap, cliprect, 0, 8);
|
||||
|
||||
if (!(m_layer_disable&0x0010))
|
||||
|
@ -4258,7 +4258,7 @@ ROM_START( trophyh ) /* Version 1.00 - v: Thu Mar 28 12:35:50 2002 JST-9 - on a
|
||||
|
||||
ROM_REGION( 0x500000, "x1snd", 0 ) // Samples
|
||||
// Leave 1MB empty (addressable by the chip)
|
||||
ROM_LOAD( "as1105m01.u18", 0x100000, 0x400000, CRC(633d0df8) SHA1(3401c424f5c207ef438a9269e0c0e7d482771fed) )
|
||||
ROM_LOAD( "as1105m01.u18", 0x100000, 0x400000, CRC(633d0df8) SHA1(3401c424f5c207ef438a9269e0c0e7d482771fed) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( trophyht ) /* V1.00 Location Test - v: Tue Feb 26 18:18:43 2002 JST-9 - on a P0-145-1 main PCB with a P1-115A flash ROM board */
|
||||
|
@ -1056,8 +1056,8 @@ void simpl156_state::init_simpl156()
|
||||
for (uint32_t x = 0; x < length; x++)
|
||||
{
|
||||
uint32_t addr = bitswap<24> (x,23,
|
||||
22,21, 0,20,
|
||||
19,18,17,16,
|
||||
22,21, 0,20,
|
||||
19,18,17,16,
|
||||
15,14,13,12,
|
||||
11,10, 9, 8,
|
||||
7, 6, 5, 4,
|
||||
|
@ -964,7 +964,7 @@ WRITE8_MEMBER(subsino_state::out_c_w)
|
||||
|
||||
for (uint8_t reel = 0; reel < 3; reel++)
|
||||
m_reel_tilemap[reel]->mark_all_dirty();
|
||||
// popmessage("data %02x\n",data);
|
||||
// popmessage("data %02x\n",data);
|
||||
}
|
||||
|
||||
void subsino_state::tisub_map(address_map &map)
|
||||
|
@ -592,7 +592,7 @@ READ32_MEMBER(taitogn_state::zsg2_ext_r)
|
||||
switch (offset & 0x300000)
|
||||
{
|
||||
case 0x000000:
|
||||
case 0x100000:
|
||||
case 0x100000:
|
||||
case 0x200000: return m_sndflash[offset >> 20]->read(offset & 0xfffff) | m_sndflash[offset >> 20]->read((offset & 0xfffff) | 1) << 16;
|
||||
|
||||
default:
|
||||
|
@ -27,7 +27,7 @@
|
||||
changes the size at runtime.
|
||||
Big Fight/Cyclewarriors - misc graphics problems.
|
||||
Cyclewarriors - test mode text does not appear as it needs a -256 Y scroll offset from somewhere.
|
||||
|
||||
|
||||
reference of bigfight : https://youtu.be/aUUoUCr6yhk
|
||||
|
||||
Emulation by Bryan McPhail, mish@tendril.co.uk
|
||||
@ -1028,7 +1028,7 @@ MACHINE_CONFIG_START(cyclwarr_state::cyclwarr)
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
|
||||
// MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
// MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
|
||||
MCFG_DEVICE_ADD("ymsnd", YM2151, CLOCK_1 / 4)
|
||||
MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_IRQ0))
|
||||
@ -1088,7 +1088,7 @@ MACHINE_CONFIG_START(cyclwarr_state::bigfight)
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
|
||||
// MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
// MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
|
||||
MCFG_DEVICE_ADD("ymsnd", YM2151, CLOCK_1 / 4)
|
||||
MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_IRQ0))
|
||||
|
@ -138,7 +138,7 @@ public:
|
||||
DECLARE_WRITE32_MEMBER(eeprom32_w);
|
||||
DECLARE_WRITE16_MEMBER(flipscreen_w);
|
||||
DECLARE_WRITE32_MEMBER(flipscreen32_w);
|
||||
|
||||
|
||||
void banked_oki(int chip);
|
||||
|
||||
void common_map(address_map &map);
|
||||
@ -2845,7 +2845,7 @@ ROMs:
|
||||
VROM1/VROM2 - ST M27C4001 4MBit DIP32 EPROM
|
||||
ROM0/ROM1 - ST M27C4001 4MBit DIP32 EPROM
|
||||
* ROM2/ROM3 - Unpopulated space for DIP32 EPROM (up to 4MBit)
|
||||
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( boonggab )
|
||||
|
@ -1289,7 +1289,7 @@ void spg2xx_cart_state::machine_start()
|
||||
|
||||
void spg2xx_game_state::machine_start()
|
||||
{
|
||||
memset(m_video_regs, 0, 0x100 * sizeof(m_video_regs[0]));
|
||||
memset(m_video_regs, 0, 0x100 * sizeof(m_video_regs[0]));
|
||||
memset(m_io_regs, 0, 0x200 * sizeof(m_io_regs[0]));
|
||||
m_current_bank = 0;
|
||||
|
||||
|
@ -217,7 +217,7 @@ Interesting memory locations
|
||||
TODO :
|
||||
- Figure out the ports for the "PayOut" stuff (a006/a00c?);
|
||||
- Hook up the OKI M5202;
|
||||
- lagging sprites on witch (especially noticeable when game scrolls up/down)
|
||||
- lagging sprites on witch (especially noticeable when game scrolls up/down)
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
@ -461,7 +461,7 @@ WRITE8_MEMBER(keirinou_state::write_keirinou_a002)
|
||||
m_bg_bank = new_bg_bank;
|
||||
m_gfx1_tilemap->mark_all_dirty();
|
||||
}
|
||||
// m_mainbank->set_entry((data >> 6) & 3);
|
||||
// m_mainbank->set_entry((data >> 6) & 3);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(witch_state::write_a006)
|
||||
@ -849,8 +849,8 @@ static INPUT_PORTS_START( keirinou )
|
||||
PORT_DIPSETTING( 0x05, "90%" )
|
||||
PORT_DIPSETTING( 0x04, "95%" )
|
||||
PORT_DIPSETTING( 0x03, "100%" )
|
||||
// PORT_DIPSETTING( 0x01, "80%" )
|
||||
// PORT_DIPSETTING( 0x00, "90%" )
|
||||
// PORT_DIPSETTING( 0x01, "80%" )
|
||||
// PORT_DIPSETTING( 0x00, "90%" )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Double-Up Rate" )
|
||||
PORT_DIPSETTING( 0x08, "90%" )
|
||||
PORT_DIPSETTING( 0x00, "100%" )
|
||||
@ -1026,7 +1026,7 @@ MACHINE_CONFIG_START(keirinou_state::keirinou)
|
||||
MCFG_PALETTE_ADD("palette", 0x200+0x80)
|
||||
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_keirinou)
|
||||
|
||||
// MCFG_PALETTE_FORMAT(IIBBGGRR)
|
||||
// MCFG_PALETTE_FORMAT(IIBBGGRR)
|
||||
|
||||
MCFG_DEVICE_MODIFY("ppi1") // Keirin Ou does have two individual PPIs (NEC D8255AC-2)
|
||||
MCFG_I8255_OUT_PORTC_CB(WRITE8(*this, keirinou_state, write_keirinou_a002))
|
||||
@ -1137,20 +1137,20 @@ ROM_END
|
||||
|
||||
ROM_START( keirinou ) /* ES8611 PCB */
|
||||
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "y5-03.y5", 0x000000, 0x008000, CRC(df2acc37) SHA1(9ad953843ba7859a55888fb87591cc8d322136ad) )
|
||||
ROM_LOAD( "y5-03.y5", 0x000000, 0x008000, CRC(df2acc37) SHA1(9ad953843ba7859a55888fb87591cc8d322136ad) )
|
||||
|
||||
ROM_REGION( 0x10000, "sub", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "y8.y8", 0x000000, 0x008000, CRC(b34111ac) SHA1(4ed7229846adbb27695bf3dd532247b1f8f6e83e) )
|
||||
ROM_LOAD( "y8.y8", 0x000000, 0x008000, CRC(b34111ac) SHA1(4ed7229846adbb27695bf3dd532247b1f8f6e83e) )
|
||||
|
||||
// rearranged so that it fits available gfx decode
|
||||
ROM_REGION( 0x10000, "gfx1", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "a6.a6", 0x0000, 0x4000, CRC(6d59a5e4) SHA1(4580756ee7db4a088ad02cd56f78fd55fef6ec0a) )
|
||||
ROM_CONTINUE( 0x8000, 0x4000 )
|
||||
ROM_LOAD( "c6-02.c6", 0x4000, 0x4000, CRC(c3ecc620) SHA1(9d5e18acef2ad48b8f1c4ed5bb002bb48ab6e7a7) )
|
||||
ROM_LOAD( "c6-02.c6", 0x4000, 0x4000, CRC(c3ecc620) SHA1(9d5e18acef2ad48b8f1c4ed5bb002bb48ab6e7a7) )
|
||||
ROM_CONTINUE( 0xc000, 0x4000 )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx2", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "k5.k5", 0x0000, 0x04000, CRC(1ba6d1c0) SHA1(95203af518c52d731969086e326c9335dee8c465) )
|
||||
ROM_LOAD( "k5.k5", 0x0000, 0x04000, CRC(1ba6d1c0) SHA1(95203af518c52d731969086e326c9335dee8c465) )
|
||||
ROM_CONTINUE( 0x8000, 0x04000 )
|
||||
ROM_CONTINUE( 0x4000, 0x04000 )
|
||||
ROM_CONTINUE( 0xc000, 0x04000 )
|
||||
|
@ -59,11 +59,11 @@
|
||||
#define Z80SIO_TAG "z80sio"
|
||||
#define Z80DART_TAG "z80dart"
|
||||
#define DISCRETE_TAG "discrete"
|
||||
#define CASSETTE_TAG "cassette"
|
||||
#define CASSETTE_TAG "cassette"
|
||||
#define RS232_A_TAG "rs232a"
|
||||
#define RS232_B_TAG "rs232b"
|
||||
#define ABC_KEYBOARD_PORT_TAG "kb"
|
||||
#define TIMER_CTC_TAG "timer_ctc"
|
||||
#define TIMER_CTC_TAG "timer_ctc"
|
||||
#define TIMER_CASSETTE_TAG "timer_cass"
|
||||
|
||||
|
||||
|
@ -26,7 +26,7 @@ public:
|
||||
m_master_videoram(*this, "master_videoram"),
|
||||
m_slave_videoram(*this, "slave_videoram"),
|
||||
m_dial(*this, "DIAL%u", 0U),
|
||||
m_input(*this, "P%u", 1U) { }
|
||||
m_input(*this, "P%u", 1U) { }
|
||||
|
||||
void exterm(machine_config &config);
|
||||
|
||||
|
@ -147,7 +147,7 @@ class towns_state : public driver_device
|
||||
required_device<rs232_port_device> m_rs232;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<msm58321_device> m_rtc;
|
||||
|
||||
|
||||
required_memory_bank m_bank_cb000_r;
|
||||
required_memory_bank m_bank_cb000_w;
|
||||
required_memory_bank m_bank_f8000_r;
|
||||
|
@ -48,7 +48,7 @@ public:
|
||||
required_shared_ptr<uint16_t> m_vregs;
|
||||
required_shared_ptr<uint16_t> m_unknown;
|
||||
required_shared_ptr<uint16_t> m_priority;
|
||||
|
||||
|
||||
required_memory_bank m_soundbank;
|
||||
|
||||
/* video-related */
|
||||
|
@ -95,7 +95,7 @@ public:
|
||||
optional_memory_region m_romboard_region;
|
||||
optional_shared_ptr<uint32_t> m_mainram;
|
||||
optional_shared_ptr<uint32_t> m_mainram2;
|
||||
|
||||
|
||||
optional_memory_bank m_maingfxbank;
|
||||
optional_memory_bank m_gpugfxbank;
|
||||
optional_memory_bank m_mainsndbank;
|
||||
|
@ -115,4 +115,4 @@ private:
|
||||
uint8_t m_coin2_lock_cnt;
|
||||
};
|
||||
|
||||
#endif // MAME_INCLUDES_MARKHAM_H
|
||||
#endif // MAME_INCLUDES_MARKHAM_H
|
||||
|
@ -66,7 +66,7 @@ public:
|
||||
, m_adlc(*this, "mc6854")
|
||||
, m_ptm(*this, "ptm")
|
||||
, m_irqs(*this, "irqs")
|
||||
// , m_kr2376(*this, "kr2376")
|
||||
// , m_kr2376(*this, "kr2376")
|
||||
, m_kbd(*this, "X%u", 0)
|
||||
, m_modifiers(*this, "MODIFIERS")
|
||||
, m_speaker(*this, "speaker")
|
||||
|
@ -56,14 +56,14 @@ public:
|
||||
void subm_map(address_map &map);
|
||||
void subm_sound_io(address_map &map);
|
||||
void subm_sound_map(address_map &map);
|
||||
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
|
||||
private:
|
||||
tilemap_t *m_tilemap;
|
||||
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_soundcpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
@ -75,7 +75,7 @@ private:
|
||||
required_shared_ptr<uint8_t> m_spriteram;
|
||||
required_shared_ptr<uint8_t> m_spriteram2;
|
||||
required_shared_ptr<uint8_t> m_scrolly;
|
||||
|
||||
|
||||
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
};
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders: Bryan McPhail, David Haywood, Dirk Best
|
||||
/***************************************************************************
|
||||
|
||||
Super Burger Time
|
||||
Super Burger Time
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -213,7 +213,7 @@ private:
|
||||
required_shared_ptr<uint16_t> m_cyclwarr_cpub_ram;
|
||||
required_shared_ptr_array<uint16_t, 2> m_cyclwarr_videoram;
|
||||
required_region_ptr<uint8_t> m_cyclwarr_tileclut;
|
||||
|
||||
|
||||
std::vector<uint8_t> m_mask;
|
||||
tilemap_t *m_layer[4];
|
||||
|
||||
|
@ -80,4 +80,4 @@ public:
|
||||
void tp84b_cpu1_map(address_map &map);
|
||||
};
|
||||
|
||||
#endif // MAME_INCLUDES_TP84
|
||||
#endif // MAME_INCLUDES_TP84
|
||||
|
@ -25,7 +25,7 @@ copyright-holders:Vas Crabb
|
||||
<rect state="0"><color red="0.4" green="0.4" blue="0.4" /></rect>
|
||||
<rect state="1"><color red="1" green="0.3" blue="0.2" /></rect>
|
||||
</element>
|
||||
|
||||
|
||||
<element name="timerlamp">
|
||||
<disk state="0"><color red="0.3" green="0" blue="0" /></disk>
|
||||
<disk state="1"><color red="1" green="0.3" blue="0.1" /></disk>
|
||||
@ -70,7 +70,7 @@ copyright-holders:Vas Crabb
|
||||
|
||||
<bezel element="marquee"><bounds x="0" y="0" width="23" height="2.5" /></bezel>
|
||||
<bezel element="colorlamp" name="sit13"><bounds x="0" y="0" width="11.5" height="1" /></bezel>
|
||||
<bezel element="colorlamp" name="sit12"><bounds x="11.5" y="0" width="11.5" height="1" /></bezel>
|
||||
<bezel element="colorlamp" name="sit12"><bounds x="11.5" y="0" width="11.5" height="1" /></bezel>
|
||||
<bezel element="timerlamp" name="sit9"><bounds x="2" y="1.25" width="1" height="1" /></bezel>
|
||||
<bezel element="timerlamp" name="sit8"><bounds x="4" y="1.25" width="1" height="1" /></bezel>
|
||||
<bezel element="timerlamp" name="sit7"><bounds x="6" y="1.25" width="1" height="1" /></bezel>
|
||||
|
@ -55,7 +55,7 @@ void dc_common_device::maple_w(const uint32_t *data, uint32_t in_size)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
*
|
||||
* Dreamcast Controller
|
||||
@ -140,7 +140,7 @@ void dc_keyboard_device::fixed_status(uint32_t *dest)
|
||||
dest[1] = 0x00201000; // 1st function
|
||||
dest[2] = 0x00000008; // No 2nd function (doc returns 8 here tho?)
|
||||
dest[3] = 0x00000000; // No 3rd function
|
||||
dest[4] = region;
|
||||
dest[4] = region;
|
||||
copy_with_spaces(((uint8_t *)dest) + 18, model, 30);
|
||||
copy_with_spaces(((uint8_t *)dest) + 48, license, 60);
|
||||
dest[27] = electric_current;
|
||||
|
@ -50,14 +50,14 @@ protected:
|
||||
uint32_t id;
|
||||
uint32_t electric_current;
|
||||
uint32_t region;
|
||||
|
||||
|
||||
ioport_port *port[8];
|
||||
|
||||
|
||||
virtual void fixed_status(uint32_t *dest) = 0;
|
||||
virtual void free_status(uint32_t *dest) = 0;
|
||||
virtual void read(uint32_t *dest) = 0;
|
||||
};
|
||||
|
||||
|
||||
class dc_controller_device : public dc_common_device
|
||||
{
|
||||
public:
|
||||
|
@ -63,4 +63,4 @@ protected:
|
||||
|
||||
DECLARE_DEVICE_TYPE(SGI_HAL2, hal2_device)
|
||||
|
||||
#endif // MAME_MACHINE_HAL2_H
|
||||
#endif // MAME_MACHINE_HAL2_H
|
||||
|
@ -915,7 +915,7 @@ WRITE32_MEMBER(interpro_ioga_device::timer0_w)
|
||||
|
||||
// restart the timer
|
||||
//if (m_prescaler & 0xffff)
|
||||
// m_timer0->adjust(attotime::zero, 0, attotime::from_ticks(m_prescaler & 0xffff, 60_Hz_XTAL));
|
||||
// m_timer0->adjust(attotime::zero, 0, attotime::from_ticks(m_prescaler & 0xffff, 60_Hz_XTAL));
|
||||
//else
|
||||
m_timer0->adjust(attotime::zero, 0, attotime::from_hz(60_Hz_XTAL));
|
||||
}
|
||||
|
@ -129,8 +129,8 @@ WRITE32_MEMBER( konppc_device::cgboard_dsp_comm_w_ppc )
|
||||
|
||||
if (cgboard_id < MAX_CG_BOARDS)
|
||||
{
|
||||
cpu_device &dsp = *m_dsp[cgboard_id];
|
||||
if (offset == 0)
|
||||
cpu_device &dsp = *m_dsp[cgboard_id];
|
||||
if (offset == 0)
|
||||
{
|
||||
if (ACCESSING_BITS_24_31)
|
||||
{
|
||||
|
@ -4,45 +4,45 @@
|
||||
|
||||
Sega Model 1 I/O Board (Advanced)
|
||||
|
||||
Used by:
|
||||
- Wing War (R360) (837-10859)
|
||||
- NetMerc (837-11659)
|
||||
- Virtua Cop (837-11130 with 837-11131)
|
||||
Used by:
|
||||
- Wing War (R360) (837-10859)
|
||||
- NetMerc (837-11659)
|
||||
- Virtua Cop (837-11130 with 837-11131)
|
||||
|
||||
Diagnostic LCD:
|
||||
Diagnostic LCD:
|
||||
|
||||
It's possible to attach a small LCD to the board and enable a
|
||||
diagnostic mode. To try this in MAME, enable the 'Diagnostic'
|
||||
view, then map keys to I/O board buttons. Hold button 0 and
|
||||
press F3 to reset. The main screen will display 'I/O board error'
|
||||
but the LCD at the bottom is now active. Control it with board
|
||||
buttons 0 (up), 1 (down) and 2 (select).
|
||||
It's possible to attach a small LCD to the board and enable a
|
||||
diagnostic mode. To try this in MAME, enable the 'Diagnostic'
|
||||
view, then map keys to I/O board buttons. Hold button 0 and
|
||||
press F3 to reset. The main screen will display 'I/O board error'
|
||||
but the LCD at the bottom is now active. Control it with board
|
||||
buttons 0 (up), 1 (down) and 2 (select).
|
||||
|
||||
It's also possible to show some debug values while the game is
|
||||
running. To do this, hold board button '1' and push reset. Use
|
||||
buttons 0 and 1 to scroll the screen.
|
||||
It's also possible to show some debug values while the game is
|
||||
running. To do this, hold board button '1' and push reset. Use
|
||||
buttons 0 and 1 to scroll the screen.
|
||||
|
||||
Debug mode:
|
||||
Debug mode:
|
||||
|
||||
You can attach a terminal to SIO channel B. Attach it to the
|
||||
MAME slot option 'ioboard:cn8'. You need to enable both JP3
|
||||
and JP4 jumpers and hold board button 0 at startup.
|
||||
You can attach a terminal to SIO channel B. Attach it to the
|
||||
MAME slot option 'ioboard:cn8'. You need to enable both JP3
|
||||
and JP4 jumpers and hold board button 0 at startup.
|
||||
|
||||
Default settings are 9600-8-N-1. It will output "RS".
|
||||
You can then enter the following commands:
|
||||
Default settings are 9600-8-N-1. It will output "RS".
|
||||
You can then enter the following commands:
|
||||
|
||||
- DT[word1][word2]: Returns word2 bytes from location word1
|
||||
- GO: ?
|
||||
- IN[byte1]: Return value from I/O port byte1
|
||||
- LH: ?
|
||||
- OP[byte1][byte2]: Write value byte2 to I/O port byte1
|
||||
- T: Nothing
|
||||
- XR: Return 26 bytes starting at location ff07
|
||||
- XM[26 bytes]: Write 26 bytes to location starting at ff07
|
||||
- ZP[word1][word2]: ff03=word1, ff05=word2
|
||||
- VR: Return id string
|
||||
- DT[word1][word2]: Returns word2 bytes from location word1
|
||||
- GO: ?
|
||||
- IN[byte1]: Return value from I/O port byte1
|
||||
- LH: ?
|
||||
- OP[byte1][byte2]: Write value byte2 to I/O port byte1
|
||||
- T: Nothing
|
||||
- XR: Return 26 bytes starting at location ff07
|
||||
- XM[26 bytes]: Write 26 bytes to location starting at ff07
|
||||
- ZP[word1][word2]: ff03=word1, ff05=word2
|
||||
- VR: Return id string
|
||||
|
||||
NMI is related to the debug mode, not hooked up.
|
||||
NMI is related to the debug mode, not hooked up.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -72,10 +72,10 @@ void model1io2_device::mem_map(address_map &map)
|
||||
map(0x8040, 0x8040).portr("board");
|
||||
map(0x8080, 0x8080).portr("dsw1");
|
||||
map(0x8100, 0x810f).rw(this, FUNC(model1io2_device::fpga_r), FUNC(model1io2_device::fpga_w));
|
||||
// map(0x8180, 0x8183).nopr(); // displayed as 4 byte values in the diagnostic screen
|
||||
// map(0x81a0, 0x81af).nopw(); // the (reserved) test in the diagnostic screen sets these
|
||||
// map(0x8180, 0x8183).nopr(); // displayed as 4 byte values in the diagnostic screen
|
||||
// map(0x81a0, 0x81af).nopw(); // the (reserved) test in the diagnostic screen sets these
|
||||
map(0x8200, 0x8203).mirror(0x04).rw("adc", FUNC(msm6253_device::d0_r), FUNC(msm6253_device::address_w));
|
||||
// map(0x8400, 0x8400) // jumps here when debug mode is set and board button 0 is not active on reset
|
||||
// map(0x8400, 0x8400) // jumps here when debug mode is set and board button 0 is not active on reset
|
||||
map(0xe000, 0xefff).ram(); // backup ram
|
||||
map(0xf000, 0xffff).ram();
|
||||
}
|
||||
|
@ -251,7 +251,7 @@ CUSTOM_INPUT_MEMBER(naomi_state::naomi_mp_r)
|
||||
CUSTOM_INPUT_MEMBER(naomi_state::naomi_kb_r)
|
||||
{
|
||||
// TODO: player 2 input reading
|
||||
// const int *tagptr = (const int *)param;
|
||||
// const int *tagptr = (const int *)param;
|
||||
uint8_t retval = 0;
|
||||
static const char *const keynames[] =
|
||||
{
|
||||
@ -261,10 +261,10 @@ CUSTOM_INPUT_MEMBER(naomi_state::naomi_kb_r)
|
||||
for(int i=0;i<5;i++)
|
||||
{
|
||||
uint32_t row;
|
||||
|
||||
|
||||
// read the current row
|
||||
row = ioport(keynames[i])->read();
|
||||
|
||||
|
||||
// if anything is pressed, convert the 32-bit raw value to keycode
|
||||
if(row != 0)
|
||||
{
|
||||
|
@ -7,50 +7,50 @@ Nichibutsu 1412M2 device emulation
|
||||
Written by Angelo Salese
|
||||
|
||||
Fancy data decrypter + timer + ?
|
||||
Most creative usage is hooked up in Mighty Guy sound CPU,
|
||||
other games just uses it as a much simpler protection chip providing code
|
||||
Most creative usage is hooked up in Mighty Guy sound CPU,
|
||||
other games just uses it as a much simpler protection chip providing code
|
||||
snippets.
|
||||
It is unknown at current stage if inside the chip there's a MCU
|
||||
It is unknown at current stage if inside the chip there's a MCU
|
||||
(with internal ROM).
|
||||
|
||||
TODO:
|
||||
- main sound timer is "jumpy" (like BGM tempo gets screwy then fixes itself somehow),
|
||||
- main sound timer is "jumpy" (like BGM tempo gets screwy then fixes itself somehow),
|
||||
fiddling with port 0x90 seems to improve things, why?
|
||||
- DAC timer is guessworked;
|
||||
|
||||
Legacy notes from drivers:
|
||||
- m_mAmazonProtReg[4] bit 0 used on hiscore data (clear on code),
|
||||
0x29f vs 0x29e (not an offset?)
|
||||
- m_mAmazonProtReg[4] bit 0 used on hiscore data (clear on code),
|
||||
0x29f vs 0x29e (not an offset?)
|
||||
- static const uint16_t mAmazonProtData[] =
|
||||
{
|
||||
0x0000,0x5000,0x5341,0x4b45,0x5349,0x4755,0x5245, <- default high scores (0x40db4) - wrong data ?
|
||||
0x0000,0x4000,0x0e4b,0x4154,0x5544,0x4f4e,0x0e0e,
|
||||
0x0000,0x3000,0x414e,0x4b41,0x4b45,0x5544,0x4f4e,
|
||||
0x0000,0x2000,0x0e0e,0x4b49,0x5455,0x4e45,0x0e0e,
|
||||
0x0000,0x1000,0x0e4b,0x414b,0x4553,0x4f42,0x410e,
|
||||
0x0000,0x5000,0x5341,0x4b45,0x5349,0x4755,0x5245, <- default high scores (0x40db4) - wrong data ?
|
||||
0x0000,0x4000,0x0e4b,0x4154,0x5544,0x4f4e,0x0e0e,
|
||||
0x0000,0x3000,0x414e,0x4b41,0x4b45,0x5544,0x4f4e,
|
||||
0x0000,0x2000,0x0e0e,0x4b49,0x5455,0x4e45,0x0e0e,
|
||||
0x0000,0x1000,0x0e4b,0x414b,0x4553,0x4f42,0x410e,
|
||||
|
||||
0x4ef9,0x0000,0x62fa,0x0000,0x4ef9,0x0000,0x805E,0x0000, <- code (0x40d92)
|
||||
0xc800 <- checksum
|
||||
0x4ef9,0x0000,0x62fa,0x0000,0x4ef9,0x0000,0x805E,0x0000, <- code (0x40d92)
|
||||
0xc800 <- checksum
|
||||
};
|
||||
- static const uint16_t mAmatelasProtData[] =
|
||||
{
|
||||
0x0000,0x5000,0x5341,0x4b45,0x5349,0x4755,0x5245, <- default high scores (0x40db4)
|
||||
0x0000,0x4000,0x0e4b,0x4154,0x5544,0x4f4e,0x0e0e,
|
||||
0x0000,0x3000,0x414e,0x4b41,0x4b45,0x5544,0x4f4e,
|
||||
0x0000,0x2000,0x0e0e,0x4b49,0x5455,0x4e45,0x0e0e,
|
||||
0x0000,0x1000,0x0e4b,0x414b,0x4553,0x4f42,0x410e,
|
||||
0x4ef9,0x0000,0x632e,0x0000,0x4ef9,0x0000,0x80C2,0x0000, <- code (0x40d92)
|
||||
0x6100 <- checksum
|
||||
0x0000,0x5000,0x5341,0x4b45,0x5349,0x4755,0x5245, <- default high scores (0x40db4)
|
||||
0x0000,0x4000,0x0e4b,0x4154,0x5544,0x4f4e,0x0e0e,
|
||||
0x0000,0x3000,0x414e,0x4b41,0x4b45,0x5544,0x4f4e,
|
||||
0x0000,0x2000,0x0e0e,0x4b49,0x5455,0x4e45,0x0e0e,
|
||||
0x0000,0x1000,0x0e4b,0x414b,0x4553,0x4f42,0x410e,
|
||||
0x4ef9,0x0000,0x632e,0x0000,0x4ef9,0x0000,0x80C2,0x0000, <- code (0x40d92)
|
||||
0x6100 <- checksum
|
||||
};
|
||||
- static const uint16_t mHoreKidProtData[] =
|
||||
{
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, <- N/A
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x4e75,0x4e75,0x4e75,0x4e75,0x4e75,0x4e75,0x4e75,0x4e75, <- code (0x40dba) It actually never jumps there?
|
||||
0x1800 <- checksum
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, <- N/A
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
|
||||
0x4e75,0x4e75,0x4e75,0x4e75,0x4e75,0x4e75,0x4e75,0x4e75, <- code (0x40dba) It actually never jumps there?
|
||||
0x1800 <- checksum
|
||||
};
|
||||
|
||||
- mightguy:
|
||||
@ -70,7 +70,7 @@ Legacy notes from drivers:
|
||||
*
|
||||
* 0x92: data in/out (for dac?)
|
||||
* 0x94: test register? (W 0xaa, checks if R 0xaa)
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
@ -97,23 +97,23 @@ void nb1412m2_device::nb1412m2_map(address_map &map)
|
||||
map(0x33, 0x34).w(this, FUNC(nb1412m2_device::rom_address_w));
|
||||
map(0x35, 0x36).w(this, FUNC(nb1412m2_device::rom_adjust_w));
|
||||
map(0x37, 0x37).r(this, FUNC(nb1412m2_device::rom_decrypt_r));
|
||||
|
||||
|
||||
// timer
|
||||
map(0x40, 0x40).w(this, FUNC(nb1412m2_device::timer_w));
|
||||
map(0x41, 0x41).rw(this, FUNC(nb1412m2_device::timer_r), FUNC(nb1412m2_device::timer_ack_w));
|
||||
map(0x42, 0x43).nopw(); // always 0x03
|
||||
|
||||
|
||||
// DAC control
|
||||
map(0x11, 0x11).nopw(); // - unknown (volume/channel control?)
|
||||
map(0x18, 0x18).w(this, FUNC(nb1412m2_device::dac_timer_w)); // timer frequency
|
||||
map(0x19, 0x19).nopw(); // 2 written at POST
|
||||
map(0x51, 0x52).w(this, FUNC(nb1412m2_device::dac_address_w)); // start address
|
||||
|
||||
|
||||
// latches?
|
||||
map(0x90, 0x90).rw(this, FUNC(nb1412m2_device::const90_r),FUNC(nb1412m2_device::const90_w)); //ram();
|
||||
map(0x92, 0x92).ram();
|
||||
map(0x94, 0x94).ram(); //rw(this,FUNC(nb1412m2_device::xor_r),FUNC(nb1412m2_device::xor_w));
|
||||
|
||||
|
||||
// 16-bit registers (1=upper address), more latches?
|
||||
map(0xa0, 0xa1).ram();
|
||||
map(0xa2, 0xa3).ram();
|
||||
@ -155,11 +155,11 @@ void nb1412m2_device::device_start()
|
||||
save_item(NAME(m_dac_playback));
|
||||
save_item(NAME(m_dac_frequency));
|
||||
save_item(NAME(m_const90));
|
||||
|
||||
|
||||
m_timer = timer_alloc(TIMER_MAIN);
|
||||
m_timer->adjust(attotime::never);
|
||||
m_dac_timer = timer_alloc(TIMER_DAC);
|
||||
|
||||
|
||||
m_dac_cb.resolve_safe();
|
||||
}
|
||||
|
||||
@ -199,9 +199,9 @@ void nb1412m2_device::device_timer(emu_timer &timer, device_timer_id id, int par
|
||||
m_dac_current_address++;
|
||||
m_dac_current_address&= m_data.mask();
|
||||
if(dac_value == 0x80)
|
||||
m_dac_playback = false;
|
||||
m_dac_playback = false;
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
default:
|
||||
assert_always(false, "Unknown id in nb1412m2_device::device_timer");
|
||||
@ -214,7 +214,7 @@ void nb1412m2_device::device_timer(emu_timer &timer, device_timer_id id, int par
|
||||
|
||||
WRITE8_MEMBER( nb1412m2_device::rom_op_w )
|
||||
{
|
||||
// data == 2 starts DAC playback
|
||||
// data == 2 starts DAC playback
|
||||
if(data == 2)
|
||||
{
|
||||
m_dac_current_address = m_dac_start_address;
|
||||
@ -223,9 +223,9 @@ WRITE8_MEMBER( nb1412m2_device::rom_op_w )
|
||||
m_dac_playback = true;
|
||||
}
|
||||
// TODO: data == 5 probably loads the result into 0x37
|
||||
// if(data != 5)
|
||||
// printf("%02x rom_op\n",data);
|
||||
|
||||
// if(data != 5)
|
||||
// printf("%02x rom_op\n",data);
|
||||
|
||||
m_rom_op = data;
|
||||
}
|
||||
|
||||
@ -271,22 +271,22 @@ READ8_MEMBER( nb1412m2_device::rom_decrypt_r )
|
||||
// summing adjust entry and actual value needed always make 0x143 therefore:
|
||||
prot_adj = (0x43 - m_data[m_adj_address]) & 0xff;
|
||||
|
||||
// printf("%02x %04x %04x %02x\n",m_data[m_adj_address],m_rom_address,m_adj_address,m_rom_op);
|
||||
|
||||
return m_data[m_rom_address & 0x1fff] - prot_adj;
|
||||
// printf("%02x %04x %04x %02x\n",m_data[m_adj_address],m_rom_address,m_adj_address,m_rom_op);
|
||||
|
||||
return m_data[m_rom_address & 0x1fff] - prot_adj;
|
||||
}
|
||||
|
||||
// Mighty Guy specifics
|
||||
READ8_MEMBER( nb1412m2_device::timer_r )
|
||||
{
|
||||
return m_timer_reg == true;
|
||||
return m_timer_reg == true;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( nb1412m2_device::timer_w )
|
||||
{
|
||||
if(data != 1)
|
||||
logerror("nb1412m2: timer_w with data == %02x\n",data);
|
||||
|
||||
|
||||
// TODO: timing of this, related to m_const90?
|
||||
m_timer->adjust(attotime::from_hz(960));
|
||||
}
|
||||
@ -315,8 +315,8 @@ WRITE8_MEMBER( nb1412m2_device::dac_address_w )
|
||||
// 0xd0 - 0xe0 - 0xf0 are the settings used
|
||||
WRITE8_MEMBER( nb1412m2_device::dac_timer_w )
|
||||
{
|
||||
// popmessage("%02x",data);
|
||||
// TODO: unknown algo, 0xe0*18 gives 4032 Hz which seems close enough for sample 36
|
||||
// popmessage("%02x",data);
|
||||
// TODO: unknown algo, 0xe0*18 gives 4032 Hz which seems close enough for sample 36
|
||||
m_dac_frequency = data*18;
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( command_w );
|
||||
DECLARE_WRITE8_MEMBER( data_w );
|
||||
DECLARE_READ8_MEMBER( data_r );
|
||||
|
||||
|
||||
DECLARE_WRITE8_MEMBER( rom_address_w );
|
||||
DECLARE_READ8_MEMBER( rom_decrypt_r );
|
||||
DECLARE_WRITE8_MEMBER( rom_op_w );
|
||||
@ -60,8 +60,8 @@ public:
|
||||
void nb1412m2_map(address_map &map);
|
||||
protected:
|
||||
// device-level overrides
|
||||
// virtual void device_validity_check(validity_checker &valid) const override;
|
||||
// virtual void device_add_mconfig(machine_config &config) override;
|
||||
// virtual void device_validity_check(validity_checker &valid) const override;
|
||||
// virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
@ -66,4 +66,4 @@ INPUT_PORTS_EXTERN(theglad);
|
||||
INPUT_PORTS_EXTERN(happy6);
|
||||
INPUT_PORTS_EXTERN(svg);
|
||||
INPUT_PORTS_EXTERN(svgtw);
|
||||
INPUT_PORTS_EXTERN(svgpcb);
|
||||
INPUT_PORTS_EXTERN(svgpcb);
|
||||
|
@ -223,28 +223,28 @@ WRITE8_MEMBER(polydev_state::fdc_inv_w)
|
||||
uint32_t poly_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
/*
|
||||
PA0 Not used. Connected to CA2.
|
||||
PA1 ( Mix colour 0) Blue 1) Green 0) Red 1) No
|
||||
PA2 ( Graphics 1 0) 0) 1) 1) Mix
|
||||
PA3 1 = Enable Teletext 1 screen
|
||||
PA4 1 = 480 Graphics mode. 0 = 240 Graphics mode.
|
||||
PA5 1 = Enable Graphics 1 screen or 480 Graphics screen.
|
||||
PA6 1 = Mix Mode 0 = Priority mode
|
||||
PA7 Must be 0. Connected to PA7 and timer G3.
|
||||
PA0 Not used. Connected to CA2.
|
||||
PA1 ( Mix colour 0) Blue 1) Green 0) Red 1) No
|
||||
PA2 ( Graphics 1 0) 0) 1) 1) Mix
|
||||
PA3 1 = Enable Teletext 1 screen
|
||||
PA4 1 = 480 Graphics mode. 0 = 240 Graphics mode.
|
||||
PA5 1 = Enable Graphics 1 screen or 480 Graphics screen.
|
||||
PA6 1 = Mix Mode 0 = Priority mode
|
||||
PA7 Must be 0. Connected to PA7 and timer G3.
|
||||
|
||||
PB0 1 = Enable Teletext 2 screen.
|
||||
PB1 1 = Enable Graphics 2 (must be 0 for 480 Graphics)
|
||||
PB2 ( Mix colour 0) Blue 1) Green 0) Red 1) No
|
||||
PB3 ( Graphics 2 0) 0) 1) 1) Mix
|
||||
PB4 1 = Enable Red Background
|
||||
PB5 1 = Enable Green Background
|
||||
PB6 1 = Enable Blue Background
|
||||
PB7 Not used.
|
||||
PB0 1 = Enable Teletext 2 screen.
|
||||
PB1 1 = Enable Graphics 2 (must be 0 for 480 Graphics)
|
||||
PB2 ( Mix colour 0) Blue 1) Green 0) Red 1) No
|
||||
PB3 ( Graphics 2 0) 0) 1) 1) Mix
|
||||
PB4 1 = Enable Red Background
|
||||
PB5 1 = Enable Green Background
|
||||
PB6 1 = Enable Blue Background
|
||||
PB7 Not used.
|
||||
|
||||
CA1 Connected to PA7 and timer G3. Must be 0.
|
||||
CA2 Not used. Connected to PA0.
|
||||
CB1 Not used.
|
||||
CB2 Not used.
|
||||
CA1 Connected to PA7 and timer G3. Must be 0.
|
||||
CA2 Not used. Connected to PA0.
|
||||
CB1 Not used.
|
||||
CB2 Not used.
|
||||
*/
|
||||
|
||||
/* Enable Teletext 1 screen */
|
||||
|
@ -36,10 +36,10 @@
|
||||
- (fixed) several if not all enemies definitely wants some sort of "axis aligned bounding box" in order to stop from going out of range
|
||||
(when i.e. first boss goes to bottom of the screen and become unreachable)
|
||||
- (btanb) Throw is made by quickly double jumping (!)
|
||||
- (btanb) seldomly enemies thrown animates weirdly (bounces to the left when thrown to the right).
|
||||
Culprit is with command 0x905 param +0x28, but it looks like this parameter is coming
|
||||
from program ROM itself. Also a PCB recording video shows the same phenomenon, it's just sloppy
|
||||
programming basically.
|
||||
- (btanb) seldomly enemies thrown animates weirdly (bounces to the left when thrown to the right).
|
||||
Culprit is with command 0x905 param +0x28, but it looks like this parameter is coming
|
||||
from program ROM itself. Also a PCB recording video shows the same phenomenon, it's just sloppy
|
||||
programming basically.
|
||||
Heated Barrel
|
||||
- (btanb) if player moves in diagonal a bogus projectile is fired.
|
||||
- gives random value to hi-score if you continue (only the first time, not a bug?);
|
||||
@ -49,9 +49,9 @@
|
||||
- (fixed) level 3+ boss movements looks wrong;
|
||||
- stage 3 "homing" missiles doesn't seem to like our 6200 hookup here, except it's NOT 6200!?
|
||||
- (fixed) barrels seen in later levels seems to fail an axis aligned bounding box, not unlike Legionnaire.
|
||||
Godzilla
|
||||
- few elements doesn't collide properly (i.e. Super X missiles, Tokyo's tower in stage 1),
|
||||
Z axis check makes no sense whatsoever. Kludged to work in per-game driver_init.
|
||||
Godzilla
|
||||
- few elements doesn't collide properly (i.e. Super X missiles, Tokyo's tower in stage 1),
|
||||
Z axis check makes no sense whatsoever. Kludged to work in per-game driver_init.
|
||||
SD Gundam
|
||||
- stage 3: mid-boss still has the sprite garbage bug;
|
||||
- stage 4: has sprite stuck on bottom-left of screen;
|
||||
@ -537,7 +537,7 @@ int raiden2cop_device::find_trigger_match(uint16_t triggerval, uint16_t mask)
|
||||
|
||||
if (triggerval == 0xa180 || triggerval == 0xa980 || triggerval == 0xb100 || triggerval == 0xb900) /* collisions */
|
||||
otherlog = 0;
|
||||
|
||||
|
||||
// TODO: disable Z axis in driver code.
|
||||
if (triggerval == 0xb000 || triggerval == 0xb800)
|
||||
otherlog = 0;
|
||||
|
@ -69,13 +69,13 @@ WRITE16_MEMBER(seibu_cop_bootleg_device::cmd_trigger_w)
|
||||
m_host_space->write_word((m_reg[6] + offs + 4), ((m_host_space->read_word(m_reg[5] + offs + 4) + dir_offset) / div));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
read32 10(r0)
|
||||
add32 4(r0)
|
||||
addmem32 4(r0)
|
||||
addmem16 1c(r0)
|
||||
write16h 1c(r0)
|
||||
read32 10(r0)
|
||||
add32 4(r0)
|
||||
addmem32 4(r0)
|
||||
addmem16 1c(r0)
|
||||
write16h 1c(r0)
|
||||
*/
|
||||
// 0x0204 variant used from time to time (goal post collision)
|
||||
case 0x0204:
|
||||
@ -89,51 +89,51 @@ WRITE16_MEMBER(seibu_cop_bootleg_device::cmd_trigger_w)
|
||||
m_host_space->write_word(m_reg[0] + 0x1c + offs, m_host_space->read_word(m_reg[0] + 0x1c + offs) + delta);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// jumping is done with this
|
||||
case 0x0905:
|
||||
{
|
||||
//printf("%08x %08x\n",m_reg[0],offs);
|
||||
|
||||
|
||||
int val = m_host_space->read_dword(m_reg[0] + 16 + offs);
|
||||
int delta = m_host_space->read_dword(m_reg[0] + 0x28 + offs);
|
||||
|
||||
|
||||
//printf("%08x + %08x = ",val,delta);
|
||||
val += delta;
|
||||
//printf("%08x\n",val);
|
||||
|
||||
|
||||
m_host_space->write_dword(m_reg[0] + 16 + offs, val);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
0x138e
|
||||
write16h 8(r0)
|
||||
sub32 8(r1)
|
||||
? 4(r0)
|
||||
sub32 4(r1)
|
||||
? 36(r0)
|
||||
addmem16 34(r0)
|
||||
addmem16 34(r0)
|
||||
sub32 34(r0)
|
||||
0xe38e
|
||||
write16h 8(r0)
|
||||
sub32 8(r2)
|
||||
? 4(r0)
|
||||
sub32 4(r2)
|
||||
? 36(r0)
|
||||
addmem16 34(r0)
|
||||
addmem16 34(r0)
|
||||
sub32 34(r0)
|
||||
0x138e
|
||||
write16h 8(r0)
|
||||
sub32 8(r1)
|
||||
? 4(r0)
|
||||
sub32 4(r1)
|
||||
? 36(r0)
|
||||
addmem16 34(r0)
|
||||
addmem16 34(r0)
|
||||
sub32 34(r0)
|
||||
0xe38e
|
||||
write16h 8(r0)
|
||||
sub32 8(r2)
|
||||
? 4(r0)
|
||||
sub32 4(r2)
|
||||
? 36(r0)
|
||||
addmem16 34(r0)
|
||||
addmem16 34(r0)
|
||||
sub32 34(r0)
|
||||
|
||||
*/
|
||||
// normal tackle
|
||||
case 0x118e:
|
||||
case 0x118e:
|
||||
case 0x130e:
|
||||
case 0x138e:
|
||||
// tackling ball hit?
|
||||
case 0x330e:
|
||||
case 0x330e:
|
||||
case 0xe30e:
|
||||
case 0xe18e:
|
||||
{
|
||||
@ -142,7 +142,7 @@ WRITE16_MEMBER(seibu_cop_bootleg_device::cmd_trigger_w)
|
||||
int sx = (m_host_space->read_dword(m_reg[0]+8) >> 16);
|
||||
int dy = (m_host_space->read_dword(m_reg[target_reg]+4) >> 16);
|
||||
int dx = (m_host_space->read_dword(m_reg[target_reg]+8) >> 16);
|
||||
|
||||
|
||||
#if 0
|
||||
if(data == 0xe30e)
|
||||
{
|
||||
@ -152,7 +152,7 @@ WRITE16_MEMBER(seibu_cop_bootleg_device::cmd_trigger_w)
|
||||
#endif
|
||||
dy -= sy;
|
||||
dx -= sx;
|
||||
|
||||
|
||||
#if 0
|
||||
if(data == 0xe30e)
|
||||
{
|
||||
@ -162,25 +162,25 @@ WRITE16_MEMBER(seibu_cop_bootleg_device::cmd_trigger_w)
|
||||
#endif
|
||||
|
||||
//m_status = 7;
|
||||
if(!dx)
|
||||
if(!dx)
|
||||
{
|
||||
m_status = 0x8000;
|
||||
m_angle = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_status = 0;
|
||||
|
||||
m_angle = atan(double(dy)/double(dx)) * 128.0 / M_PI;
|
||||
|
||||
|
||||
//printf("%f\n",atan(double(dy)/double(dx)));
|
||||
|
||||
|
||||
if(dx<0)
|
||||
{
|
||||
m_angle += 0x80;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
m_dy = dy;
|
||||
m_dx = dx;
|
||||
|
||||
@ -190,7 +190,7 @@ WRITE16_MEMBER(seibu_cop_bootleg_device::cmd_trigger_w)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if(data & 0x80)
|
||||
m_host_space->write_byte(m_reg[0]+(0x37), m_angle & 0xff);
|
||||
|
||||
@ -213,7 +213,7 @@ WRITE16_MEMBER(seibu_cop_bootleg_device::cmd_trigger_w)
|
||||
case 0x42c2:
|
||||
{
|
||||
int div = m_host_space->read_word(m_reg[0] + (0x34));
|
||||
|
||||
|
||||
if (!div)
|
||||
{
|
||||
m_status |= 0x8000;
|
||||
@ -229,11 +229,11 @@ WRITE16_MEMBER(seibu_cop_bootleg_device::cmd_trigger_w)
|
||||
|
||||
// shoot/pass is done with this
|
||||
/*
|
||||
0x5105
|
||||
sub32 (r0)
|
||||
write16h 8(r0)
|
||||
addmem32 4(r0)
|
||||
outputs to 0x046/0x047 (d104_move_offset ?)
|
||||
0x5105
|
||||
sub32 (r0)
|
||||
write16h 8(r0)
|
||||
addmem32 4(r0)
|
||||
outputs to 0x046/0x047 (d104_move_offset ?)
|
||||
*/
|
||||
case 0x5105:
|
||||
{
|
||||
@ -243,10 +243,10 @@ WRITE16_MEMBER(seibu_cop_bootleg_device::cmd_trigger_w)
|
||||
break;
|
||||
}
|
||||
/*
|
||||
0x5905
|
||||
write16h 10(r2)
|
||||
sub32 8(r0)
|
||||
addmem32 4(r1)
|
||||
0x5905
|
||||
write16h 10(r2)
|
||||
sub32 8(r0)
|
||||
addmem32 4(r1)
|
||||
*/
|
||||
case 0x5905:
|
||||
{
|
||||
@ -255,7 +255,7 @@ WRITE16_MEMBER(seibu_cop_bootleg_device::cmd_trigger_w)
|
||||
m_host_space->write_dword(m_reg[1] + 4 + offs,val);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
00000-0ffff:
|
||||
amp = x/256
|
||||
@ -308,10 +308,10 @@ WRITE16_MEMBER(seibu_cop_bootleg_device::cmd_trigger_w)
|
||||
}
|
||||
|
||||
/*
|
||||
sub32 4(r2)
|
||||
write16h (r3)
|
||||
addmem32 4(r1)
|
||||
outputs to 0x046/0x047 (d104_move_offset ?)
|
||||
sub32 4(r2)
|
||||
write16h (r3)
|
||||
addmem32 4(r1)
|
||||
outputs to 0x046/0x047 (d104_move_offset ?)
|
||||
*/
|
||||
case 0xd104:
|
||||
{
|
||||
|
@ -30,7 +30,7 @@ public:
|
||||
DECLARE_READ16_MEMBER( prng_r );
|
||||
DECLARE_READ16_MEMBER( scale_r );
|
||||
DECLARE_WRITE16_MEMBER( scale_w );
|
||||
|
||||
|
||||
void seibucopbl_map(address_map &map);
|
||||
protected:
|
||||
// device-level overrides
|
||||
|
@ -11158,8 +11158,8 @@ deadang // (c) 1988 Seibu Kaihatsu
|
||||
ghunter // (c) 1988 Seibu Kaihatsu
|
||||
ghunters // (c) 1988 Seibu Kaihatsu + Segasa/Sonic license
|
||||
leadang // (c) 1988 Seibu Kaihatsu
|
||||
popnrun // (c) 1987 Seibu Kaihatsu + Yukai Tsukai
|
||||
popnruna // (c) 1987 Seibu Kaihatsu + Yukai Tsukai
|
||||
popnrun // (c) 1987 Seibu Kaihatsu + Yukai Tsukai
|
||||
popnruna // (c) 1987 Seibu Kaihatsu + Yukai Tsukai
|
||||
|
||||
@source:dec0.cpp
|
||||
automat // bootleg
|
||||
|
@ -99,10 +99,10 @@ TILE_GET_INFO_MEMBER(popnrun_state::get_popnrun_text_tile_info)
|
||||
// TODO: not entirely correct (title screen/ranking colors)
|
||||
// might be down to bitplanes too
|
||||
int color = (attr & 3) ^ 1;
|
||||
|
||||
|
||||
if(attr & 0x40)
|
||||
tile |= 1;
|
||||
|
||||
|
||||
SET_TILE_INFO_MEMBER(0,tile,color,0);
|
||||
}
|
||||
|
||||
@ -227,7 +227,7 @@ void popnrun_state::popnrun_draw_sprites(screen_device &screen, bitmap_ind16 &bi
|
||||
if (fy) fy=0; else fy=1;
|
||||
if (m_spriteram[offs+2]&0x100) x=0-(0xff-x);
|
||||
#endif
|
||||
|
||||
|
||||
color = (m_spriteram[offs+0]>>12)&0x7;
|
||||
sprite = m_spriteram[offs+0]&0xfff;
|
||||
|
||||
@ -239,7 +239,7 @@ void popnrun_state::popnrun_draw_sprites(screen_device &screen, bitmap_ind16 &bi
|
||||
if (fy) fy=0; else fy=1;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
|
||||
sprite,
|
||||
color,fx,fy,x,y,
|
||||
@ -252,23 +252,23 @@ uint32_t popnrun_state::popnrun_screen_update(screen_device &screen, bitmap_ind1
|
||||
// TODO: different scroll RAM hookup
|
||||
// 0x18 seems to enable the various layers
|
||||
/* Setup the tilemaps */
|
||||
// m_pf3_layer->set_scrolly(0, ((m_scroll_ram[0x01]&0xf0)<<4)+((m_scroll_ram[0x02]&0x7f)<<1)+((m_scroll_ram[0x02]&0x80)>>7) );
|
||||
// m_pf3_layer->set_scrollx(0, ((m_scroll_ram[0x09]&0xf0)<<4)+((m_scroll_ram[0x0a]&0x7f)<<1)+((m_scroll_ram[0x0a]&0x80)>>7) );
|
||||
// m_pf1_layer->set_scrolly(0, ((m_scroll_ram[0x11]&0x10)<<4)+((m_scroll_ram[0x12]&0x7f)<<1)+((m_scroll_ram[0x12]&0x80)>>7) );
|
||||
// m_pf1_layer->set_scrollx(0, ((m_scroll_ram[0x19]&0x10)<<4)+((m_scroll_ram[0x1a]&0x7f)<<1)+((m_scroll_ram[0x1a]&0x80)>>7) );
|
||||
// m_pf2_layer->set_scrolly(0, ((m_scroll_ram[0x21]&0xf0)<<4)+((m_scroll_ram[0x22]&0x7f)<<1)+((m_scroll_ram[0x22]&0x80)>>7) );
|
||||
// m_pf2_layer->set_scrollx(0, ((m_scroll_ram[0x29]&0xf0)<<4)+((m_scroll_ram[0x2a]&0x7f)<<1)+((m_scroll_ram[0x2a]&0x80)>>7) );
|
||||
// m_pf3_layer->set_scrolly(0, ((m_scroll_ram[0x01]&0xf0)<<4)+((m_scroll_ram[0x02]&0x7f)<<1)+((m_scroll_ram[0x02]&0x80)>>7) );
|
||||
// m_pf3_layer->set_scrollx(0, ((m_scroll_ram[0x09]&0xf0)<<4)+((m_scroll_ram[0x0a]&0x7f)<<1)+((m_scroll_ram[0x0a]&0x80)>>7) );
|
||||
// m_pf1_layer->set_scrolly(0, ((m_scroll_ram[0x11]&0x10)<<4)+((m_scroll_ram[0x12]&0x7f)<<1)+((m_scroll_ram[0x12]&0x80)>>7) );
|
||||
// m_pf1_layer->set_scrollx(0, ((m_scroll_ram[0x19]&0x10)<<4)+((m_scroll_ram[0x1a]&0x7f)<<1)+((m_scroll_ram[0x1a]&0x80)>>7) );
|
||||
// m_pf2_layer->set_scrolly(0, ((m_scroll_ram[0x21]&0xf0)<<4)+((m_scroll_ram[0x22]&0x7f)<<1)+((m_scroll_ram[0x22]&0x80)>>7) );
|
||||
// m_pf2_layer->set_scrollx(0, ((m_scroll_ram[0x29]&0xf0)<<4)+((m_scroll_ram[0x2a]&0x7f)<<1)+((m_scroll_ram[0x2a]&0x80)>>7) );
|
||||
|
||||
m_pf3_layer->enable(!(m_scroll_ram[0x34]&1));
|
||||
m_pf1_layer->enable(!(m_scroll_ram[0x34]&2));
|
||||
m_pf2_layer->enable(!(m_scroll_ram[0x34]&4));
|
||||
// flip_screen_set(m_scroll_ram[0x34]&0x40 );
|
||||
// flip_screen_set(m_scroll_ram[0x34]&0x40 );
|
||||
|
||||
bitmap.fill(1, cliprect);
|
||||
screen.priority().fill(0, cliprect);
|
||||
// 32 pixels?
|
||||
// int scrollx = (m_scroll_ram[0x4/2] & 0x0f);
|
||||
|
||||
// int scrollx = (m_scroll_ram[0x4/2] & 0x0f);
|
||||
|
||||
// debug tilemap code
|
||||
// this is likely to be collision data
|
||||
for(int x=0;x<16;x++)
|
||||
@ -277,7 +277,7 @@ uint32_t popnrun_state::popnrun_screen_update(screen_device &screen, bitmap_ind1
|
||||
{
|
||||
int tile = m_video_data[y+x*8+0xc0] & 0xff;
|
||||
int res_x, res_y;
|
||||
|
||||
|
||||
if(tile != 0)
|
||||
{
|
||||
res_x = (x*16) & 0xff;
|
||||
@ -287,7 +287,7 @@ uint32_t popnrun_state::popnrun_screen_update(screen_device &screen, bitmap_ind1
|
||||
}
|
||||
|
||||
tile = m_video_data[y+x*8+0xc0] >> 8;
|
||||
|
||||
|
||||
if(tile != 0)
|
||||
{
|
||||
res_x = (x*16) & 0xff;
|
||||
@ -297,7 +297,7 @@ uint32_t popnrun_state::popnrun_screen_update(screen_device &screen, bitmap_ind1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//m_pf3_layer->draw(screen, bitmap, cliprect, 0,1);
|
||||
//m_pf1_layer->draw(screen, bitmap, cliprect, 0,2);
|
||||
//m_pf2_layer->draw(screen, bitmap, cliprect, 0,4);
|
||||
|
@ -40,7 +40,7 @@ PALETTE_INIT_MEMBER(sub_state, sub)
|
||||
TILE_GET_INFO_MEMBER(sub_state::get_tile_info)
|
||||
{
|
||||
int code = m_vram[tile_index] | ((m_attr[tile_index]&0xe0)<<3);
|
||||
int color = (m_attr[tile_index]&0x1f)+0x40;
|
||||
int color = (m_attr[tile_index]&0x1f)+0x40;
|
||||
|
||||
SET_TILE_INFO_MEMBER(0, code, color, 0);
|
||||
}
|
||||
@ -107,10 +107,10 @@ void sub_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
|
||||
if(dx)
|
||||
x = 0xe0 - x;
|
||||
|
||||
|
||||
|
||||
gfx->transpen(bitmap,cliprect,spr_offs,col,fx,fy,x,y,0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -2,10 +2,10 @@
|
||||
// copyright-holders: Bryan McPhail, David Haywood, Dirk Best
|
||||
/***************************************************************************
|
||||
|
||||
Super Burger Time
|
||||
|
||||
Video mixing
|
||||
|
||||
Super Burger Time
|
||||
|
||||
Video mixing
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
@ -1029,14 +1029,14 @@ uint32_t cyclwarr_state::screen_update_cyclwarr(screen_device &screen, bitmap_rg
|
||||
}
|
||||
|
||||
bitmap.fill(m_palette->pen(0), cliprect);
|
||||
|
||||
|
||||
draw_bg(screen, bitmap, cliprect, m_layer[3], &m_cyclwarr_videoram[1][0x000], &m_cyclwarr_videoram[1][0x100], 8, -0x80,false);
|
||||
draw_bg(screen, bitmap, cliprect, m_layer[2], &m_cyclwarr_videoram[1][0x200], &m_cyclwarr_videoram[1][0x300], 8, -0x80,false);
|
||||
draw_bg(screen, bitmap, cliprect, m_layer[1], &m_cyclwarr_videoram[0][0x000], &m_cyclwarr_videoram[0][0x100], 8, -0x40,true);
|
||||
update_cluts(8192, 4096, 8192);
|
||||
draw_sprites(bitmap,cliprect,0,(m_sprite_control_ram[0xe0]&0x1000) ? 0x1000 : 0);
|
||||
draw_bg(screen, bitmap, cliprect, m_layer[0], &m_cyclwarr_videoram[0][0x200], &m_cyclwarr_videoram[0][0x300], 0x10, -0x80,false);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -63,7 +63,7 @@ private:
|
||||
char *msg_value = strtok(NULL, equals_delimiter);
|
||||
|
||||
//printf("handle_message: msg_name [%s] msg_value [%s]\n", msg_name, msg_value);
|
||||
|
||||
|
||||
if (std::strcmp(msg_name, "mame_message") == 0)
|
||||
{
|
||||
const char *comma_delimiter = ",";
|
||||
@ -71,7 +71,7 @@ private:
|
||||
msg_value = strtok(NULL, comma_delimiter);
|
||||
int id = atoi(msg_name);
|
||||
int value = atoi(msg_value);
|
||||
|
||||
|
||||
switch(id)
|
||||
{
|
||||
case IM_MAME_PAUSE:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user