mirror of
https://github.com/holub/mame
synced 2025-10-07 17:27:06 +03:00
Clean-ups and version bump
This commit is contained in:
parent
b46b9de8c8
commit
04145d0b62
@ -849,7 +849,7 @@ void cli_frontend::verifyroms(const char *gamename)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
slot_interface_iterator slotiter(config.root_device());
|
slot_interface_iterator slotiter(config.root_device());
|
||||||
for (const device_slot_interface *slot = slotiter.first(); slot != NULL; slot = slotiter.next())
|
for (const device_slot_interface *slot = slotiter.first(); slot != NULL; slot = slotiter.next())
|
||||||
{
|
{
|
||||||
@ -865,7 +865,7 @@ void cli_frontend::verifyroms(const char *gamename)
|
|||||||
for (device_t *device = subiter.first(); device != NULL; device = subiter.next())
|
for (device_t *device = subiter.first(); device != NULL; device = subiter.next())
|
||||||
if (!device->configured())
|
if (!device->configured())
|
||||||
device->config_complete();
|
device->config_complete();
|
||||||
|
|
||||||
if (device_map.add(dev->shortname(), 0, false) != TMERR_DUPLICATE) {
|
if (device_map.add(dev->shortname(), 0, false) != TMERR_DUPLICATE) {
|
||||||
if (mame_strwildcmp(gamename, dev->shortname()) == 0)
|
if (mame_strwildcmp(gamename, dev->shortname()) == 0)
|
||||||
{
|
{
|
||||||
@ -1243,7 +1243,7 @@ void cli_frontend::listsoftware(const char *gamename)
|
|||||||
driver_enumerator drivlist(m_options, gamename);
|
driver_enumerator drivlist(m_options, gamename);
|
||||||
if (drivlist.count() == 0)
|
if (drivlist.count() == 0)
|
||||||
throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
|
throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
|
||||||
|
|
||||||
while (drivlist.next())
|
while (drivlist.next())
|
||||||
{
|
{
|
||||||
software_list_device_iterator iter(drivlist.config().root_device());
|
software_list_device_iterator iter(drivlist.config().root_device());
|
||||||
@ -1257,7 +1257,7 @@ void cli_frontend::listsoftware(const char *gamename)
|
|||||||
{
|
{
|
||||||
/* Verify if we have encountered this list before */
|
/* Verify if we have encountered this list before */
|
||||||
if (list_map.add(swlist->list_name(), 0, false) != TMERR_DUPLICATE)
|
if (list_map.add(swlist->list_name(), 0, false) != TMERR_DUPLICATE)
|
||||||
{
|
{
|
||||||
if (isfirst) { fprintf( out, SOFTLIST_XML_BEGIN); isfirst = FALSE; }
|
if (isfirst) { fprintf( out, SOFTLIST_XML_BEGIN); isfirst = FALSE; }
|
||||||
output_single_softlist(out, list, swlist->list_name());
|
output_single_softlist(out, list, swlist->list_name());
|
||||||
}
|
}
|
||||||
@ -1284,7 +1284,7 @@ void cli_frontend::getsoftlist(const char *gamename)
|
|||||||
FILE *out = stdout;
|
FILE *out = stdout;
|
||||||
int_map list_map;
|
int_map list_map;
|
||||||
bool isfirst = TRUE;
|
bool isfirst = TRUE;
|
||||||
|
|
||||||
driver_enumerator drivlist(m_options);
|
driver_enumerator drivlist(m_options);
|
||||||
while (drivlist.next())
|
while (drivlist.next())
|
||||||
{
|
{
|
||||||
@ -1416,7 +1416,7 @@ void cli_frontend::execute_commands(const char *exename)
|
|||||||
{ CLICOMMAND_VERIFYROMS, &cli_frontend::verifyroms },
|
{ CLICOMMAND_VERIFYROMS, &cli_frontend::verifyroms },
|
||||||
{ CLICOMMAND_VERIFYSAMPLES, &cli_frontend::verifysamples },
|
{ CLICOMMAND_VERIFYSAMPLES, &cli_frontend::verifysamples },
|
||||||
{ CLICOMMAND_LISTMEDIA, &cli_frontend::listmedia },
|
{ CLICOMMAND_LISTMEDIA, &cli_frontend::listmedia },
|
||||||
{ CLICOMMAND_LISTSOFTWARE, &cli_frontend::listsoftware },
|
{ CLICOMMAND_LISTSOFTWARE, &cli_frontend::listsoftware },
|
||||||
{ CLICOMMAND_ROMIDENT, &cli_frontend::romident },
|
{ CLICOMMAND_ROMIDENT, &cli_frontend::romident },
|
||||||
{ CLICOMMAND_GETSOFTLIST, &cli_frontend::getsoftlist },
|
{ CLICOMMAND_GETSOFTLIST, &cli_frontend::getsoftlist },
|
||||||
};
|
};
|
||||||
|
@ -2097,7 +2097,7 @@ static void i386_protected_mode_retf(i386_state* cpustate, UINT8 count, UINT8 op
|
|||||||
logerror("RETF: EIP is past return CS segment limit.\n");
|
logerror("RETF: EIP is past return CS segment limit.\n");
|
||||||
FAULT(FAULT_GP,0)
|
FAULT(FAULT_GP,0)
|
||||||
}
|
}
|
||||||
|
|
||||||
if(operand32 == 0)
|
if(operand32 == 0)
|
||||||
{
|
{
|
||||||
ea += count+4;
|
ea += count+4;
|
||||||
@ -2110,7 +2110,7 @@ static void i386_protected_mode_retf(i386_state* cpustate, UINT8 count, UINT8 op
|
|||||||
newESP = READ32(cpustate, ea);
|
newESP = READ32(cpustate, ea);
|
||||||
newSS = READ32(cpustate, ea+4) & 0xffff;
|
newSS = READ32(cpustate, ea+4) & 0xffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check SS selector and descriptor */
|
/* Check SS selector and descriptor */
|
||||||
desc.selector = newSS;
|
desc.selector = newSS;
|
||||||
i386_load_protected_mode_segment(cpustate,&desc);
|
i386_load_protected_mode_segment(cpustate,&desc);
|
||||||
|
@ -646,7 +646,7 @@ INLINE UINT32 get_dt3_table_entry(m68ki_cpu_core *m68k, UINT32 tptr, UINT8 fc, U
|
|||||||
// is UDT valid on the pointer entry?
|
// is UDT valid on the pointer entry?
|
||||||
if (!(pointer_entry & 2) && !ptest)
|
if (!(pointer_entry & 2) && !ptest)
|
||||||
{
|
{
|
||||||
// fprintf(stderr, "Invalid pointer entry! PC=%x, addr=%x\n", m68k->ppc, addr_in);
|
// fprintf(stderr, "Invalid pointer entry! PC=%x, addr=%x\n", m68k->ppc, addr_in);
|
||||||
if (++m68k->mmu_tmp_buserror_occurred == 1)
|
if (++m68k->mmu_tmp_buserror_occurred == 1)
|
||||||
{
|
{
|
||||||
m68k->mmu_tmp_buserror_address = addr_in;
|
m68k->mmu_tmp_buserror_address = addr_in;
|
||||||
@ -661,7 +661,7 @@ INLINE UINT32 get_dt3_table_entry(m68ki_cpu_core *m68k, UINT32 tptr, UINT8 fc, U
|
|||||||
}
|
}
|
||||||
else // throw an error
|
else // throw an error
|
||||||
{
|
{
|
||||||
// fprintf(stderr, "Invalid root entry! PC=%x, addr=%x\n", m68k->ppc, addr_in);
|
// fprintf(stderr, "Invalid root entry! PC=%x, addr=%x\n", m68k->ppc, addr_in);
|
||||||
|
|
||||||
if (!ptest)
|
if (!ptest)
|
||||||
{
|
{
|
||||||
@ -721,7 +721,7 @@ INLINE UINT32 get_dt3_table_entry(m68ki_cpu_core *m68k, UINT32 tptr, UINT8 fc, U
|
|||||||
switch (page_entry & 3)
|
switch (page_entry & 3)
|
||||||
{
|
{
|
||||||
case 0: // invalid
|
case 0: // invalid
|
||||||
// fprintf(stderr, "Invalid page entry! PC=%x, addr=%x\n", m68k->ppc, addr_in);
|
// fprintf(stderr, "Invalid page entry! PC=%x, addr=%x\n", m68k->ppc, addr_in);
|
||||||
if (!ptest)
|
if (!ptest)
|
||||||
{
|
{
|
||||||
if (++m68k->mmu_tmp_buserror_occurred == 1)
|
if (++m68k->mmu_tmp_buserror_occurred == 1)
|
||||||
|
@ -977,7 +977,7 @@ bool device_image_interface::load(const char *path)
|
|||||||
bool device_image_interface::open_image_file(emu_options &options)
|
bool device_image_interface::open_image_file(emu_options &options)
|
||||||
{
|
{
|
||||||
const char* path = options.value(instance_name());
|
const char* path = options.value(instance_name());
|
||||||
if (strlen(path)>0)
|
if (strlen(path)>0)
|
||||||
{
|
{
|
||||||
set_init_phase();
|
set_init_phase();
|
||||||
if (load_internal(path, FALSE, 0, NULL, TRUE)==IMAGE_INIT_PASS)
|
if (load_internal(path, FALSE, 0, NULL, TRUE)==IMAGE_INIT_PASS)
|
||||||
|
@ -123,7 +123,7 @@ protected:
|
|||||||
virtual void rcv_callback() { receive_register_update_bit(m_rcv_line); }
|
virtual void rcv_callback() { receive_register_update_bit(m_rcv_line); }
|
||||||
virtual void tra_complete() { }
|
virtual void tra_complete() { }
|
||||||
virtual void rcv_complete() { }
|
virtual void rcv_complete() { }
|
||||||
|
|
||||||
// interface-level overrides
|
// interface-level overrides
|
||||||
virtual void interface_pre_start();
|
virtual void interface_pre_start();
|
||||||
private:
|
private:
|
||||||
|
@ -394,7 +394,7 @@ device_mixer_interface::~device_mixer_interface()
|
|||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// interface_pre_start - perform startup prior
|
// interface_pre_start - perform startup prior
|
||||||
// to the device startup
|
// to the device startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void device_mixer_interface::interface_pre_start()
|
void device_mixer_interface::interface_pre_start()
|
||||||
@ -415,15 +415,15 @@ void device_mixer_interface::interface_pre_start()
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// interface_post_load - after we load a save
|
// interface_post_load - after we load a save
|
||||||
// state be sure to update the mixer stream's
|
// state be sure to update the mixer stream's
|
||||||
// output sample rate
|
// output sample rate
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void device_mixer_interface::interface_post_load()
|
void device_mixer_interface::interface_post_load()
|
||||||
{
|
{
|
||||||
m_mixer_stream->set_sample_rate(device().machine().sample_rate());
|
m_mixer_stream->set_sample_rate(device().machine().sample_rate());
|
||||||
|
|
||||||
// call our parent
|
// call our parent
|
||||||
device_sound_interface::interface_post_load();
|
device_sound_interface::interface_post_load();
|
||||||
}
|
}
|
||||||
|
@ -403,7 +403,7 @@ void info_xml_creator::output_devices()
|
|||||||
{
|
{
|
||||||
// first, run through devices with roms which belongs to the default configuration
|
// first, run through devices with roms which belongs to the default configuration
|
||||||
device_iterator deviter(m_drivlist.config().root_device());
|
device_iterator deviter(m_drivlist.config().root_device());
|
||||||
for (device_t *device = deviter.first(); device != NULL; device = deviter.next())
|
for (device_t *device = deviter.first(); device != NULL; device = deviter.next())
|
||||||
{
|
{
|
||||||
if (device->owner() != NULL && device->rom_region() != NULL && device->shortname()!= NULL)
|
if (device->owner() != NULL && device->rom_region() != NULL && device->shortname()!= NULL)
|
||||||
{
|
{
|
||||||
|
@ -1083,7 +1083,7 @@ void driver_device::static_set_game(device_t &device, const game_driver &game)
|
|||||||
|
|
||||||
// set the short name to the game's name
|
// set the short name to the game's name
|
||||||
driver.m_shortname = game.name;
|
driver.m_shortname = game.name;
|
||||||
|
|
||||||
// set the full name to the game's description
|
// set the full name to the game's description
|
||||||
driver.m_name = game.description;
|
driver.m_name = game.description;
|
||||||
|
|
||||||
|
@ -395,7 +395,7 @@ void ins8250_uart_device::tra_complete()
|
|||||||
void ins8250_uart_device::tra_callback()
|
void ins8250_uart_device::tra_callback()
|
||||||
{
|
{
|
||||||
m_out_tx_func(transmit_register_get_data_bit());
|
m_out_tx_func(transmit_register_get_data_bit());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ins8250_uart_device::update_msr(int bit, UINT8 state)
|
void ins8250_uart_device::update_msr(int bit, UINT8 state)
|
||||||
{
|
{
|
||||||
|
@ -1102,7 +1102,7 @@ void validity_checker::validate_devices()
|
|||||||
// done with this device
|
// done with this device
|
||||||
m_current_device = NULL;
|
m_current_device = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if device is slot cart device, we must have a shortname
|
// if device is slot cart device, we must have a shortname
|
||||||
int_map slot_device_map;
|
int_map slot_device_map;
|
||||||
slot_interface_iterator slotiter(m_current_config->root_device());
|
slot_interface_iterator slotiter(m_current_config->root_device());
|
||||||
@ -1130,7 +1130,7 @@ void validity_checker::validate_devices()
|
|||||||
global_free(dev);
|
global_free(dev);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1133,7 +1133,7 @@ chd_flac_compressor::chd_flac_compressor(chd_file &chd, bool lossy)
|
|||||||
UINT16 native_endian = 0;
|
UINT16 native_endian = 0;
|
||||||
*reinterpret_cast<UINT8 *>(&native_endian) = 1;
|
*reinterpret_cast<UINT8 *>(&native_endian) = 1;
|
||||||
m_big_endian = (native_endian == 0x100);
|
m_big_endian = (native_endian == 0x100);
|
||||||
|
|
||||||
// configure the encoder
|
// configure the encoder
|
||||||
m_encoder.set_sample_rate(44100);
|
m_encoder.set_sample_rate(44100);
|
||||||
m_encoder.set_num_channels(2);
|
m_encoder.set_num_channels(2);
|
||||||
@ -1153,18 +1153,18 @@ UINT32 chd_flac_compressor::compress(const UINT8 *src, UINT32 srclen, UINT8 *des
|
|||||||
if (!m_encoder.encode_interleaved(reinterpret_cast<const INT16 *>(src), srclen / 4, !m_big_endian))
|
if (!m_encoder.encode_interleaved(reinterpret_cast<const INT16 *>(src), srclen / 4, !m_big_endian))
|
||||||
throw CHDERR_COMPRESSION_ERROR;
|
throw CHDERR_COMPRESSION_ERROR;
|
||||||
UINT32 complen_be = m_encoder.finish();
|
UINT32 complen_be = m_encoder.finish();
|
||||||
|
|
||||||
// reset and encode little-endian
|
// reset and encode little-endian
|
||||||
m_encoder.reset(dest + 1, chd().hunk_bytes() - 1);
|
m_encoder.reset(dest + 1, chd().hunk_bytes() - 1);
|
||||||
if (!m_encoder.encode_interleaved(reinterpret_cast<const INT16 *>(src), srclen / 4, m_big_endian))
|
if (!m_encoder.encode_interleaved(reinterpret_cast<const INT16 *>(src), srclen / 4, m_big_endian))
|
||||||
throw CHDERR_COMPRESSION_ERROR;
|
throw CHDERR_COMPRESSION_ERROR;
|
||||||
UINT32 complen_le = m_encoder.finish();
|
UINT32 complen_le = m_encoder.finish();
|
||||||
|
|
||||||
// pick the best one and add a byte
|
// pick the best one and add a byte
|
||||||
UINT32 complen = MIN(complen_le, complen_be);
|
UINT32 complen = MIN(complen_le, complen_be);
|
||||||
if (complen + 1 >= chd().hunk_bytes())
|
if (complen + 1 >= chd().hunk_bytes())
|
||||||
throw CHDERR_COMPRESSION_ERROR;
|
throw CHDERR_COMPRESSION_ERROR;
|
||||||
|
|
||||||
// if big-endian was better, re-do it
|
// if big-endian was better, re-do it
|
||||||
dest[0] = 'L';
|
dest[0] = 'L';
|
||||||
if (complen != complen_le)
|
if (complen != complen_le)
|
||||||
|
@ -163,7 +163,7 @@ public:
|
|||||||
|
|
||||||
required_device<h63484_device> m_h63484;
|
required_device<h63484_device> m_h63484;
|
||||||
required_device<microtouch_device> m_microtouch;
|
required_device<microtouch_device> m_microtouch;
|
||||||
|
|
||||||
DECLARE_WRITE8_MEMBER(microtouch_tx);
|
DECLARE_WRITE8_MEMBER(microtouch_tx);
|
||||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
|
|
||||||
|
@ -3297,7 +3297,7 @@ static DRIVER_INIT( dragngun )
|
|||||||
process_dvi_data(machine.region("dvi")->base(),0x800000, 0x1000000);
|
process_dvi_data(machine.region("dvi")->base(),0x800000, 0x1000000);
|
||||||
process_dvi_data(machine.region("dvi")->base(),0xB10000, 0x1000000);
|
process_dvi_data(machine.region("dvi")->base(),0xB10000, 0x1000000);
|
||||||
process_dvi_data(machine.region("dvi")->base(),0xB80000, 0x1000000);
|
process_dvi_data(machine.region("dvi")->base(),0xB80000, 0x1000000);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( fghthist )
|
static DRIVER_INIT( fghthist )
|
||||||
|
@ -276,7 +276,7 @@
|
|||||||
|
|
||||||
|
|
||||||
* Casino Poker
|
* Casino Poker
|
||||||
|
|
||||||
Bipolar PROM 24sa10 is filled with 0x09, so has at least
|
Bipolar PROM 24sa10 is filled with 0x09, so has at least
|
||||||
fixed bits 0 and 3 along the whole data. Needs a redump using a supported
|
fixed bits 0 and 3 along the whole data. Needs a redump using a supported
|
||||||
EEPROM programmer.
|
EEPROM programmer.
|
||||||
@ -797,7 +797,7 @@
|
|||||||
- Added Casino Poker (Ver PM86LO-35-5, German).
|
- Added Casino Poker (Ver PM86LO-35-5, German).
|
||||||
- Inputs from the scratch.
|
- Inputs from the scratch.
|
||||||
- Switched manufacturer 'Playman' to PM / Beck Elektronik, since
|
- Switched manufacturer 'Playman' to PM / Beck Elektronik, since
|
||||||
it's PM and Beck Elektronik/Computer/etc...
|
it's PM and Beck Elektronik/Computer/etc...
|
||||||
- Added technical and game notes.
|
- Added technical and game notes.
|
||||||
|
|
||||||
|
|
||||||
|
@ -202,7 +202,7 @@ static MACHINE_START( magtouch )
|
|||||||
memory_configure_bank(machine, "rombank", 0, 0x80, machine.region("game_prg")->base(), 0x8000 );
|
memory_configure_bank(machine, "rombank", 0, 0x80, machine.region("game_prg")->base(), 0x8000 );
|
||||||
memory_set_bank(machine, "rombank", 0);
|
memory_set_bank(machine, "rombank", 0);
|
||||||
|
|
||||||
// microtouch_init(machine, magtouch_microtouch_tx_callback, NULL);
|
// microtouch_init(machine, magtouch_microtouch_tx_callback, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( magtouch, magtouch_state )
|
static MACHINE_CONFIG_START( magtouch, magtouch_state )
|
||||||
|
@ -157,7 +157,7 @@ static ADDRESS_MAP_START( manohman_map, AS_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x300002, 0x300003) AM_DEVWRITE8("saa", saa1099_control_w, 0x00ff)
|
AM_RANGE(0x300002, 0x300003) AM_DEVWRITE8("saa", saa1099_control_w, 0x00ff)
|
||||||
AM_RANGE(0x500000, 0x503fff) AM_RAM
|
AM_RANGE(0x500000, 0x503fff) AM_RAM
|
||||||
AM_RANGE(0x600006, 0x600007) AM_RAM // write bitpatterns to compare with the 500000-503ff8 RAM testing.
|
AM_RANGE(0x600006, 0x600007) AM_RAM // write bitpatterns to compare with the 500000-503ff8 RAM testing.
|
||||||
// AM_RANGE(0xYYYYYY, 0xYYYYYY) AM_RAM
|
// AM_RANGE(0xYYYYYY, 0xYYYYYY) AM_RAM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -994,7 +994,7 @@ MACHINE_CONFIG_END
|
|||||||
ROM_LOAD( "delmonopolysound.bin", 0x0000, 0x040000, CRC(8742981e) SHA1(1ba33c59ec5f878ebab111a77551213aad4b0993) )\
|
ROM_LOAD( "delmonopolysound.bin", 0x0000, 0x040000, CRC(8742981e) SHA1(1ba33c59ec5f878ebab111a77551213aad4b0993) )\
|
||||||
|
|
||||||
#define m1_dkong_sound\
|
#define m1_dkong_sound\
|
||||||
ROM_REGION( 0x100000, "oki", ROMREGION_ERASE00 )\
|
ROM_REGION( 0x100000, "oki", ROMREGION_ERASE00 )\
|
||||||
ROM_LOAD( "donkeykong.p1", 0x0000, 0x080000, CRC(11019875) SHA1(b171b46a7a98967668793a7ea7b5931c7a76dd82) )\
|
ROM_LOAD( "donkeykong.p1", 0x0000, 0x080000, CRC(11019875) SHA1(b171b46a7a98967668793a7ea7b5931c7a76dd82) )\
|
||||||
ROM_LOAD( "donkeykong.p2", 0x0000, 0x080000, CRC(e28f406f) SHA1(42a58c0f5c4f25dec4c0c49eb8415971a515c5a6) )\
|
ROM_LOAD( "donkeykong.p2", 0x0000, 0x080000, CRC(e28f406f) SHA1(42a58c0f5c4f25dec4c0c49eb8415971a515c5a6) )\
|
||||||
|
|
||||||
@ -2181,7 +2181,7 @@ ROM_END_M1A_MCU
|
|||||||
|
|
||||||
ROM_START( m1cororri )
|
ROM_START( m1cororri )
|
||||||
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
|
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
|
||||||
ROM_LOAD( "sa5-354", 0x0000, 0x010000, CRC(132d0aec) SHA1(fd7febd1b7098a6a3b00fa5ed5f0323821fea9da) ) //3.1
|
ROM_LOAD( "sa5-354", 0x0000, 0x010000, CRC(132d0aec) SHA1(fd7febd1b7098a6a3b00fa5ed5f0323821fea9da) ) //3.1
|
||||||
|
|
||||||
m1_cororr_sound
|
m1_cororr_sound
|
||||||
ROM_END_M1A_MCU
|
ROM_END_M1A_MCU
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
it appears this is just the name of a series of machines with different
|
it appears this is just the name of a series of machines with different
|
||||||
software themes?
|
software themes?
|
||||||
|
|
||||||
board has the followng etched
|
board has the followng etched
|
||||||
|
|
||||||
US GAMES
|
US GAMES
|
||||||
MADE IN USA
|
MADE IN USA
|
||||||
P/N: 34010 REV C-1
|
P/N: 34010 REV C-1
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
|
|
||||||
required_device<microtouch_device> m_microtouch;
|
required_device<microtouch_device> m_microtouch;
|
||||||
|
|
||||||
DECLARE_WRITE8_MEMBER(microtouch_tx);
|
DECLARE_WRITE8_MEMBER(microtouch_tx);
|
||||||
UINT16 m_potgo_value;
|
UINT16 m_potgo_value;
|
||||||
int m_cd32_shifter[2];
|
int m_cd32_shifter[2];
|
||||||
|
@ -1959,7 +1959,7 @@ int n64_periphs::pif_channel_handle_command(int channel, int slength, UINT8 *sda
|
|||||||
void n64_periphs::handle_pif()
|
void n64_periphs::handle_pif()
|
||||||
{
|
{
|
||||||
/*printf("Before:\n"); fflush(stdout);
|
/*printf("Before:\n"); fflush(stdout);
|
||||||
for(int i = 0; i < 0x40; i++)
|
for(int i = 0; i < 0x40; i++)
|
||||||
{
|
{
|
||||||
printf("%02x ", pif_cmd[i]);
|
printf("%02x ", pif_cmd[i]);
|
||||||
if((i & 0xf) == 0xf)
|
if((i & 0xf) == 0xf)
|
||||||
|
@ -293,9 +293,9 @@ void process_dvi_data(UINT8* dvi_data, int baseoffset, int regionsize)
|
|||||||
// I believe in these can be either CIMG or AUDI blocks, but we don't have any of the latter
|
// I believe in these can be either CIMG or AUDI blocks, but we don't have any of the latter
|
||||||
CIMG_Header CIMG;
|
CIMG_Header CIMG;
|
||||||
|
|
||||||
|
|
||||||
CIMG.ci1 = R32(&subptr);
|
CIMG.ci1 = R32(&subptr);
|
||||||
CIMG.ci2 = R16(&subptr);
|
CIMG.ci2 = R16(&subptr);
|
||||||
CIMG.ci3 = R16(&subptr);
|
CIMG.ci3 = R16(&subptr);
|
||||||
for (int i=0;i<80;i++) { CIMG.ci4[i] = R8(&subptr); }
|
for (int i=0;i<80;i++) { CIMG.ci4[i] = R8(&subptr); }
|
||||||
CIMG.ci5 = R32(&subptr);
|
CIMG.ci5 = R32(&subptr);
|
||||||
@ -344,7 +344,7 @@ void process_dvi_data(UINT8* dvi_data, int baseoffset, int regionsize)
|
|||||||
dviprintf(" DCFID %08x\n", CIMG.ci23);
|
dviprintf(" DCFID %08x\n", CIMG.ci23);
|
||||||
dviprintf("\n");
|
dviprintf("\n");
|
||||||
|
|
||||||
subptr = dvi_data+CIMG.ci9+baseoffset;
|
subptr = dvi_data+CIMG.ci9+baseoffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -355,15 +355,15 @@ void process_dvi_data(UINT8* dvi_data, int baseoffset, int regionsize)
|
|||||||
dviprintf("Frame Dictionaries\n\n");
|
dviprintf("Frame Dictionaries\n\n");
|
||||||
|
|
||||||
UINT8* frameptr = dvi_data + AVSS.av26 + 2 + baseoffset; // +2 ??
|
UINT8* frameptr = dvi_data + AVSS.av26 + 2 + baseoffset; // +2 ??
|
||||||
// UINT8* frameptr = dvi_data + AVSS.av26 + baseoffset;
|
// UINT8* frameptr = dvi_data + AVSS.av26 + baseoffset;
|
||||||
|
|
||||||
for (int f=0;f<AVSS.av20;f++)
|
for (int f=0;f<AVSS.av20;f++)
|
||||||
{
|
{
|
||||||
FDICT_Header FDICT;
|
FDICT_Header FDICT;
|
||||||
FDICT.fd1 = R32(&frameptr);
|
FDICT.fd1 = R32(&frameptr);
|
||||||
|
|
||||||
FDICT.fd1 = ((FDICT.fd1 & 0xffff0000)>>16) | ((FDICT.fd1 & 0x0000ffff)<<16);
|
FDICT.fd1 = ((FDICT.fd1 & 0xffff0000)>>16) | ((FDICT.fd1 & 0x0000ffff)<<16);
|
||||||
|
|
||||||
dviprintf(" %04d Frame Offset %08x\n", f, FDICT.fd1);
|
dviprintf(" %04d Frame Offset %08x\n", f, FDICT.fd1);
|
||||||
|
|
||||||
UINT8* frameptr2 = dvi_data + ((FDICT.fd1 + baseoffset)&(regionsize-1)) ;
|
UINT8* frameptr2 = dvi_data + ((FDICT.fd1 + baseoffset)&(regionsize-1)) ;
|
||||||
@ -371,7 +371,7 @@ void process_dvi_data(UINT8* dvi_data, int baseoffset, int regionsize)
|
|||||||
FHEAD.fh1 = R32(&frameptr2);
|
FHEAD.fh1 = R32(&frameptr2);
|
||||||
FHEAD.fh2 = R32(&frameptr2);
|
FHEAD.fh2 = R32(&frameptr2);
|
||||||
FHEAD.fh3 = R32(&frameptr2);
|
FHEAD.fh3 = R32(&frameptr2);
|
||||||
|
|
||||||
dviprintf(" Frame Num %08x\n", FHEAD.fh1);
|
dviprintf(" Frame Num %08x\n", FHEAD.fh1);
|
||||||
dviprintf(" Previous Offset %08x\n", FHEAD.fh2);
|
dviprintf(" Previous Offset %08x\n", FHEAD.fh2);
|
||||||
dviprintf(" Frame Checksum %08x\n", FHEAD.fh3);
|
dviprintf(" Frame Checksum %08x\n", FHEAD.fh3);
|
||||||
|
@ -7,11 +7,11 @@
|
|||||||
#include "video/gticlub.h"
|
#include "video/gticlub.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
TODO:
|
TODO:
|
||||||
- Fog equation and parameters are probably not accurate.
|
- Fog equation and parameters are probably not accurate.
|
||||||
- Winding Heat (and maybe others) have slight Z-fighting problems.
|
- Winding Heat (and maybe others) have slight Z-fighting problems.
|
||||||
- 3D isn't always turned off properly (during title screens for example).
|
- 3D isn't always turned off properly (during title screens for example).
|
||||||
Figure out what controls this. Video mixer, layer priority or some 3D register?
|
Figure out what controls this. Video mixer, layer priority or some 3D register?
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -434,7 +434,7 @@ WRITE32_HANDLER( K001005_w )
|
|||||||
|
|
||||||
K001005_3d_fifo[K001005_3d_fifo_ptr++] = data;
|
K001005_3d_fifo[K001005_3d_fifo_ptr++] = data;
|
||||||
|
|
||||||
#if LOG_POLY_FIFO
|
#if LOG_POLY_FIFO
|
||||||
printf("0x%08X, ", data);
|
printf("0x%08X, ", data);
|
||||||
count++;
|
count++;
|
||||||
if (count >= 8)
|
if (count >= 8)
|
||||||
@ -595,7 +595,7 @@ static void draw_scanline_2d_tex(void *dest, INT32 scanline, const poly_extent *
|
|||||||
int *y_mirror_table = tex_mirror_table[texture_mirror_y][texture_height];
|
int *y_mirror_table = tex_mirror_table[texture_mirror_y][texture_height];
|
||||||
|
|
||||||
for (x = extent->startx; x < extent->stopx; x++)
|
for (x = extent->startx; x < extent->stopx; x++)
|
||||||
{
|
{
|
||||||
int iu = (int)(u);
|
int iu = (int)(u);
|
||||||
int iv = (int)(v);
|
int iv = (int)(v);
|
||||||
int iiv, iiu, texel;
|
int iiv, iiu, texel;
|
||||||
@ -774,7 +774,7 @@ static void draw_scanline_tex(void *dest, INT32 scanline, const poly_extent *ext
|
|||||||
static void render_polygons(running_machine &machine)
|
static void render_polygons(running_machine &machine)
|
||||||
{
|
{
|
||||||
const rectangle visarea = machine.primary_screen->visible_area();
|
const rectangle visarea = machine.primary_screen->visible_area();
|
||||||
poly_vertex v[4];
|
poly_vertex v[4];
|
||||||
int poly_type;
|
int poly_type;
|
||||||
int brightness;
|
int brightness;
|
||||||
|
|
||||||
@ -810,9 +810,9 @@ static void render_polygons(running_machine &machine)
|
|||||||
// 0x00: xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Command
|
// 0x00: xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Command
|
||||||
//
|
//
|
||||||
// 0x01: xxxx---- -------- -------- -------- Texture palette
|
// 0x01: xxxx---- -------- -------- -------- Texture palette
|
||||||
// 0x01: ----xx-- -------- -------- -------- Unknown flags, set by commands 0x7b...0x7e
|
// 0x01: ----xx-- -------- -------- -------- Unknown flags, set by commands 0x7b...0x7e
|
||||||
// 0x01: ------xx x------- -------- -------- Texture width / 8 - 1
|
// 0x01: ------xx x------- -------- -------- Texture width / 8 - 1
|
||||||
// 0x01: -------- -xxx---- -------- -------- Texture height / 8 - 1
|
// 0x01: -------- -xxx---- -------- -------- Texture height / 8 - 1
|
||||||
// 0x01: -------- -------x xxxx---- -------- Texture page
|
// 0x01: -------- -------x xxxx---- -------- Texture page
|
||||||
// 0x01: -------- -------- ----x-x- x-x-x-x- Texture X / 8
|
// 0x01: -------- -------- ----x-x- x-x-x-x- Texture X / 8
|
||||||
// 0x01: -------- -------- -----x-x -x-x-x-x Texture Y / 8
|
// 0x01: -------- -------- -----x-x -x-x-x-x Texture Y / 8
|
||||||
@ -981,7 +981,7 @@ static void render_polygons(running_machine &machine)
|
|||||||
last_vertex = 0;
|
last_vertex = 0;
|
||||||
vert_num = 2;
|
vert_num = 2;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
int x, y, z;
|
int x, y, z;
|
||||||
INT16 tu, tv;
|
INT16 tu, tv;
|
||||||
|
|
||||||
@ -997,7 +997,7 @@ static void render_polygons(running_machine &machine)
|
|||||||
z = fifo[index] & 0xffffff00;
|
z = fifo[index] & 0xffffff00;
|
||||||
brightness = fifo[index] & 0xff;
|
brightness = fifo[index] & 0xff;
|
||||||
index++;
|
index++;
|
||||||
|
|
||||||
if (last_vertex)
|
if (last_vertex)
|
||||||
{
|
{
|
||||||
color = fifo[index++];
|
color = fifo[index++];
|
||||||
@ -1050,7 +1050,7 @@ static void render_polygons(running_machine &machine)
|
|||||||
if (new_verts == 1)
|
if (new_verts == 1)
|
||||||
{
|
{
|
||||||
poly_render_triangle(poly, K001005_bitmap[K001005_bitmap_page], visarea, draw_scanline_tex, 6, &v[0], &v[1], &v[2]);
|
poly_render_triangle(poly, K001005_bitmap[K001005_bitmap_page], visarea, draw_scanline_tex, 6, &v[0], &v[1], &v[2]);
|
||||||
|
|
||||||
memcpy(&prev_v[1], &v[0], sizeof(poly_vertex));
|
memcpy(&prev_v[1], &v[0], sizeof(poly_vertex));
|
||||||
memcpy(&prev_v[2], &v[1], sizeof(poly_vertex));
|
memcpy(&prev_v[2], &v[1], sizeof(poly_vertex));
|
||||||
memcpy(&prev_v[3], &v[2], sizeof(poly_vertex));
|
memcpy(&prev_v[3], &v[2], sizeof(poly_vertex));
|
||||||
@ -1109,7 +1109,7 @@ static void render_polygons(running_machine &machine)
|
|||||||
r = (fifo[index] >> 0) & 0xff;
|
r = (fifo[index] >> 0) & 0xff;
|
||||||
g = (fifo[index] >> 8) & 0xff;
|
g = (fifo[index] >> 8) & 0xff;
|
||||||
b = (fifo[index] >> 16) & 0xff;
|
b = (fifo[index] >> 16) & 0xff;
|
||||||
a = (fifo[index] >> 24) & 0xff;
|
a = (fifo[index] >> 24) & 0xff;
|
||||||
color = (a << 24) | (r << 16) | (g << 8) | (b);
|
color = (a << 24) | (r << 16) | (g << 8) | (b);
|
||||||
index++;
|
index++;
|
||||||
|
|
||||||
@ -1183,7 +1183,7 @@ static void render_polygons(running_machine &machine)
|
|||||||
vertex4 = &v[3];
|
vertex4 = &v[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
poly_render_quad(poly, K001005_bitmap[K001005_bitmap_page], visarea, draw_scanline, 3, vertex1, vertex2, vertex3, vertex4);
|
poly_render_quad(poly, K001005_bitmap[K001005_bitmap_page], visarea, draw_scanline, 3, vertex1, vertex2, vertex3, vertex4);
|
||||||
|
|
||||||
memcpy(&prev_v[0], vertex1, sizeof(poly_vertex));
|
memcpy(&prev_v[0], vertex1, sizeof(poly_vertex));
|
||||||
memcpy(&prev_v[1], vertex2, sizeof(poly_vertex));
|
memcpy(&prev_v[1], vertex2, sizeof(poly_vertex));
|
||||||
@ -1253,7 +1253,7 @@ static void render_polygons(running_machine &machine)
|
|||||||
if (new_verts == 1)
|
if (new_verts == 1)
|
||||||
{
|
{
|
||||||
poly_render_triangle(poly, K001005_bitmap[K001005_bitmap_page], visarea, draw_scanline, 3, &v[0], &v[1], &v[2]);
|
poly_render_triangle(poly, K001005_bitmap[K001005_bitmap_page], visarea, draw_scanline, 3, &v[0], &v[1], &v[2]);
|
||||||
|
|
||||||
memcpy(&prev_v[1], &v[0], sizeof(poly_vertex));
|
memcpy(&prev_v[1], &v[0], sizeof(poly_vertex));
|
||||||
memcpy(&prev_v[2], &v[1], sizeof(poly_vertex));
|
memcpy(&prev_v[2], &v[1], sizeof(poly_vertex));
|
||||||
memcpy(&prev_v[3], &v[2], sizeof(poly_vertex));
|
memcpy(&prev_v[3], &v[2], sizeof(poly_vertex));
|
||||||
@ -1419,13 +1419,13 @@ static void render_polygons(running_machine &machine)
|
|||||||
else if ((cmd & 0xffffff00) == 0x80000000)
|
else if ((cmd & 0xffffff00) == 0x80000000)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
mame_printf_debug("Unknown polygon type %08X:\n", fifo[index-1]);
|
mame_printf_debug("Unknown polygon type %08X:\n", fifo[index-1]);
|
||||||
for (int i=0; i < 0x20; i++)
|
for (int i=0; i < 0x20; i++)
|
||||||
{
|
{
|
||||||
mame_printf_debug(" %02X: %08X\n", i, fifo[index+i]);
|
mame_printf_debug(" %02X: %08X\n", i, fifo[index+i]);
|
||||||
}
|
}
|
||||||
mame_printf_debug("\n");
|
mame_printf_debug("\n");
|
||||||
*/
|
*/
|
||||||
|
|
||||||
printf("Unknown polygon type %08X:\n", fifo[index-1]);
|
printf("Unknown polygon type %08X:\n", fifo[index-1]);
|
||||||
for (int i=0; i < 0x20; i++)
|
for (int i=0; i < 0x20; i++)
|
||||||
@ -1486,10 +1486,10 @@ VIDEO_START( gticlub )
|
|||||||
{
|
{
|
||||||
gticlub_led_reg[0] = gticlub_led_reg[1] = 0x7f;
|
gticlub_led_reg[0] = gticlub_led_reg[1] = 0x7f;
|
||||||
/*
|
/*
|
||||||
tick = 0;
|
tick = 0;
|
||||||
debug_tex_page = 0;
|
debug_tex_page = 0;
|
||||||
debug_tex_palette = 0;
|
debug_tex_palette = 0;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
K001006_init(machine);
|
K001006_init(machine);
|
||||||
K001005_init(machine);
|
K001005_init(machine);
|
||||||
|
@ -2619,18 +2619,18 @@ static void do_dump_metadata(parameters_t ¶ms)
|
|||||||
file_error filerr = core_fopen(*output_file_str, OPEN_FLAG_WRITE | OPEN_FLAG_CREATE, &output_file);
|
file_error filerr = core_fopen(*output_file_str, OPEN_FLAG_WRITE | OPEN_FLAG_CREATE, &output_file);
|
||||||
if (filerr != FILERR_NONE)
|
if (filerr != FILERR_NONE)
|
||||||
report_error(1, "Unable to open file (%s)", output_file_str->cstr());
|
report_error(1, "Unable to open file (%s)", output_file_str->cstr());
|
||||||
|
|
||||||
// output the metadata
|
// output the metadata
|
||||||
UINT32 count = core_fwrite(output_file, buffer, buffer.count());
|
UINT32 count = core_fwrite(output_file, buffer, buffer.count());
|
||||||
if (count != buffer.count())
|
if (count != buffer.count())
|
||||||
report_error(1, "Error writing file (%s)", output_file_str->cstr());
|
report_error(1, "Error writing file (%s)", output_file_str->cstr());
|
||||||
core_fclose(output_file);
|
core_fclose(output_file);
|
||||||
|
|
||||||
// provide some feedback
|
// provide some feedback
|
||||||
astring tempstr;
|
astring tempstr;
|
||||||
printf("File (%s) written, %s bytes\n", output_file_str->cstr(), big_int_string(tempstr, buffer.count()));
|
printf("File (%s) written, %s bytes\n", output_file_str->cstr(), big_int_string(tempstr, buffer.count()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// flush to stdout
|
// flush to stdout
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -82,7 +82,7 @@ struct movie_info
|
|||||||
int samplerate;
|
int samplerate;
|
||||||
int channels;
|
int channels;
|
||||||
int interlaced;
|
int interlaced;
|
||||||
bitmap_yuy16 bitmap;
|
bitmap_yuy16 bitmap;
|
||||||
dynamic_array<INT16> lsound;
|
dynamic_array<INT16> lsound;
|
||||||
dynamic_array<INT16> rsound;
|
dynamic_array<INT16> rsound;
|
||||||
UINT32 samples;
|
UINT32 samples;
|
||||||
@ -106,7 +106,7 @@ public:
|
|||||||
{
|
{
|
||||||
assert(offset % m_source.hunk_bytes() == 0);
|
assert(offset % m_source.hunk_bytes() == 0);
|
||||||
assert(length % m_source.hunk_bytes() == 0);
|
assert(length % m_source.hunk_bytes() == 0);
|
||||||
|
|
||||||
UINT32 startfield = offset / m_source.hunk_bytes();
|
UINT32 startfield = offset / m_source.hunk_bytes();
|
||||||
UINT32 endfield = startfield + length / m_source.hunk_bytes();
|
UINT32 endfield = startfield + length / m_source.hunk_bytes();
|
||||||
UINT8 *dest = reinterpret_cast<UINT8 *>(_dest);
|
UINT8 *dest = reinterpret_cast<UINT8 *>(_dest);
|
||||||
@ -451,7 +451,7 @@ void chd_resample_compressor::generate_one_frame(UINT8 *dest, UINT32 datasize, U
|
|||||||
dstbeginfield = -1 - sample_number_to_field(m_info, -dstbegin >> 24, dstbeginoffset);
|
dstbeginfield = -1 - sample_number_to_field(m_info, -dstbegin >> 24, dstbeginoffset);
|
||||||
dstbeginoffset = (field_to_sample_number(m_info, -dstbeginfield) - field_to_sample_number(m_info, -dstbeginfield - 1)) - dstbeginoffset;
|
dstbeginoffset = (field_to_sample_number(m_info, -dstbeginfield) - field_to_sample_number(m_info, -dstbeginfield - 1)) - dstbeginoffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
// determine the last field needed to cover this range of samples
|
// determine the last field needed to cover this range of samples
|
||||||
UINT32 srcend = field_to_sample_number(m_info, fieldnum + 1);
|
UINT32 srcend = field_to_sample_number(m_info, fieldnum + 1);
|
||||||
INT64 dstend = (INT64(srcend) << 24) + m_ioffset + m_islope * (fieldnum + 1);
|
INT64 dstend = (INT64(srcend) << 24) + m_ioffset + m_islope * (fieldnum + 1);
|
||||||
@ -498,7 +498,7 @@ printf("%5d: start=%10d (%5d.%03d) end=%10d (%5d.%03d)\n",
|
|||||||
|
|
||||||
// read the original frame, pointing the sound buffer past where we've calculated
|
// read the original frame, pointing the sound buffer past where we've calculated
|
||||||
read_chd(m_source, fieldnum, m_info, srcend - srcbegin);
|
read_chd(m_source, fieldnum, m_info, srcend - srcbegin);
|
||||||
|
|
||||||
// assemble the final frame
|
// assemble the final frame
|
||||||
dynamic_buffer buffer;
|
dynamic_buffer buffer;
|
||||||
INT16 *sampledata[2] = { m_info.lsound, m_info.rsound };
|
INT16 *sampledata[2] = { m_info.lsound, m_info.rsound };
|
||||||
|
@ -256,7 +256,7 @@ static void *open_chd(const char *filename, movie_info &info)
|
|||||||
static int read_chd(void *file, int frame, bitmap_yuy16 &bitmap, INT16 *lsound, INT16 *rsound, int &samples)
|
static int read_chd(void *file, int frame, bitmap_yuy16 &bitmap, INT16 *lsound, INT16 *rsound, int &samples)
|
||||||
{
|
{
|
||||||
chd_file *chdfile = reinterpret_cast<chd_file *>(file);
|
chd_file *chdfile = reinterpret_cast<chd_file *>(file);
|
||||||
|
|
||||||
// loop over fields
|
// loop over fields
|
||||||
int interlace_factor = chdinterlaced ? 2 : 1;
|
int interlace_factor = chdinterlaced ? 2 : 1;
|
||||||
samples = 0;
|
samples = 0;
|
||||||
|
@ -38,4 +38,4 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
extern const char build_version[];
|
extern const char build_version[];
|
||||||
const char build_version[] = "0.145u1 ("__DATE__")";
|
const char build_version[] = "0.145u2 ("__DATE__")";
|
||||||
|
Loading…
Reference in New Issue
Block a user