mirror of
https://github.com/holub/mame
synced 2025-07-01 16:19:38 +03:00
Merge remote-tracking branch 'upstream/master' into mui
This commit is contained in:
commit
b3578a6ec8
1008
hash/pce_tourvision.xml
Normal file
1008
hash/pce_tourvision.xml
Normal file
File diff suppressed because it is too large
Load Diff
@ -773,6 +773,3 @@ WRITE8_MEMBER( a2bus_pcxporter_device::nmi_enable_w )
|
||||
m_nmi_enabled = BIT(data,7);
|
||||
m_isabus->set_nmi_state(m_nmi_enabled);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -92,4 +92,3 @@ UINT8 intv_control_port_device::read_ctrl()
|
||||
SLOT_INTERFACE_START( intv_control_port_devices )
|
||||
SLOT_INTERFACE("handctrl", INTV_HANDCTRL)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
@ -445,4 +445,3 @@ void intvecs_synth_device::write_portA(UINT8 data)
|
||||
{
|
||||
m_psg_portA = (~data) & 0xff;
|
||||
}
|
||||
|
||||
|
@ -176,4 +176,3 @@ UINT8 intv_handctrl_device::read_ctrl()
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -219,4 +219,3 @@ SLOT_INTERFACE_END
|
||||
SLOT_INTERFACE_START( neogeo_arc_pin15 )
|
||||
SLOT_INTERFACE("mahjong", NEOGEO_MJCTRL)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
@ -129,4 +129,3 @@ void neogeo_dial_device::write_ctrlsel(UINT8 data)
|
||||
{
|
||||
m_ctrl_sel = data;
|
||||
}
|
||||
|
||||
|
@ -111,4 +111,3 @@ void neogeo_irrmaze_device::write_ctrlsel(UINT8 data)
|
||||
{
|
||||
m_ctrl_sel = data;
|
||||
}
|
||||
|
||||
|
@ -203,4 +203,3 @@ READ8_MEMBER(neogeo_joy_ac_device::in1_r)
|
||||
{
|
||||
return m_joy2->read();
|
||||
}
|
||||
|
||||
|
@ -171,4 +171,3 @@ UINT8 neogeo_mjctrl_device::read_start_sel()
|
||||
{
|
||||
return m_ss->read();
|
||||
}
|
||||
|
||||
|
@ -120,4 +120,3 @@ UINT8 saturn_analog_device::read_ctrl(UINT8 offset)
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -140,4 +140,3 @@ SLOT_INTERFACE_END
|
||||
SLOT_INTERFACE_START( saturn_joys )
|
||||
SLOT_INTERFACE("joypad", SATURN_JOY)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
@ -108,4 +108,3 @@ UINT16 saturn_joy_device::read_direct()
|
||||
{
|
||||
return m_joy->read();
|
||||
}
|
||||
|
||||
|
@ -119,4 +119,3 @@ UINT8 saturn_joymd6b_device::read_ctrl(UINT8 offset)
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -329,4 +329,3 @@ UINT8 saturn_keybd_device::read_ctrl(UINT8 offset)
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -117,4 +117,3 @@ UINT8 saturn_mouse_device::read_ctrl(UINT8 offset)
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -117,4 +117,3 @@ UINT8 saturn_track_device::read_ctrl(UINT8 offset)
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -106,4 +106,3 @@ UINT8 saturn_wheel_device::read_ctrl(UINT8 offset)
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -6770,7 +6770,6 @@ void drcbe_x64::op_fcopyi(x86code *&dst, const instruction &inst)
|
||||
// 64-bit form
|
||||
else if (inst.size() == 8)
|
||||
{
|
||||
|
||||
if (srcp.is_memory())
|
||||
{
|
||||
emit_movq_r128_m64(dst, dstreg, MABS(srcp.memory())); // movq dstreg,[srcp]
|
||||
|
@ -92,4 +92,3 @@ void sm500_device::op_comcn()
|
||||
}
|
||||
|
||||
// Test instructions
|
||||
|
||||
|
@ -1337,4 +1337,3 @@ void pcxport_dmac_device::end_of_process()
|
||||
|
||||
m_state = STATE_SI;
|
||||
}
|
||||
|
||||
|
@ -171,5 +171,3 @@ void generic_latch_16_device::device_start()
|
||||
save_item(NAME(m_latched_value));
|
||||
save_item(NAME(m_latch_read));
|
||||
}
|
||||
|
||||
|
||||
|
@ -895,7 +895,6 @@ void info_xml_creator::output_input(const ioport_list &portlist)
|
||||
bool ctrl_analog = FALSE;
|
||||
for (ioport_field &field : port.fields())
|
||||
{
|
||||
|
||||
// track the highest player number
|
||||
if (nplayer < field.player() + 1)
|
||||
nplayer = field.player() + 1;
|
||||
|
@ -423,4 +423,3 @@ bool mame_options::parse_one_ini(emu_options &options, const char *basename, int
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -179,7 +179,6 @@ void ui_menu_file_manager::handle()
|
||||
selected_device = (device_image_interface *) event->itemref;
|
||||
if (selected_device != nullptr)
|
||||
{
|
||||
|
||||
m_curr_selected = TRUE;
|
||||
floppy_image_device *floppy_device = dynamic_cast<floppy_image_device *>(selected_device);
|
||||
if (floppy_device != nullptr)
|
||||
|
@ -88,4 +88,3 @@ void *pdynlib::getsym_p(const pstring name)
|
||||
return dlsym(m_lib, name.cstr());
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -13,9 +13,9 @@
|
||||
* In this specific implementation, u is a unit vector specifying the row which
|
||||
* changed. Thus v contains the changed column.
|
||||
*
|
||||
* Than z = A⁻¹ u , w = transpose(A⁻¹) v , lambda = v z
|
||||
* Than z = A^-1 u , w = transpose(A^-1) v , lambda = v z
|
||||
*
|
||||
* A⁻¹ <- 1.0 / (1.0 + lambda) * (z x w)
|
||||
* A^-1 <- 1.0 / (1.0 + lambda) * (z x w)
|
||||
*
|
||||
* The approach is iterative and applied for each row changed.
|
||||
*
|
||||
|
@ -23,7 +23,6 @@ NETLIB_NAMESPACE_DEVICES_START()
|
||||
template <unsigned m_N, unsigned _storage_N>
|
||||
class matrix_solver_SOR_mat_t: public matrix_solver_direct_t<m_N, _storage_N>
|
||||
{
|
||||
|
||||
friend class matrix_solver_t;
|
||||
|
||||
public:
|
||||
|
@ -15,7 +15,7 @@
|
||||
* Whilst the book proposes to invert the matrix R=(I+transpose(V)*Z) we define
|
||||
*
|
||||
* w = transpose(V)*y
|
||||
* a = R⁻¹ * w
|
||||
* a = R^-1 * w
|
||||
*
|
||||
* and consequently
|
||||
*
|
||||
|
@ -516,6 +516,7 @@ igspoker.cpp
|
||||
ikki.cpp
|
||||
imolagp.cpp
|
||||
inder.cpp
|
||||
instantm.cpp
|
||||
intrscti.cpp
|
||||
inufuku.cpp
|
||||
invqix.cpp
|
||||
|
@ -3427,6 +3427,3 @@ Sweet Hearts II
|
||||
Venetian Nights MK5 version is possibly rare
|
||||
Wicked Winnings Only seen a Cash Express Hyperlink version so far, not to be confused with the more common 'Wicked Winnings II - Power Pay'
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:Tomasz Slanina
|
||||
/***************************************************************************
|
||||
|
||||
"Attack UFO" © 1980 Ryoto Electric Co.
|
||||
"Attack UFO" (c) 1980 Ryoto Electric Co.
|
||||
|
||||
TODO:
|
||||
- Verify I/O chip
|
||||
|
@ -2402,4 +2402,3 @@ GAME( 1986, shrike, 0, shrike, shrike, balsente_state, shrike, RO
|
||||
GAME( 1987, rescraida,rescraid, balsente, rescraid, balsente_state, rescraid, ROT0, "Bally Midway", "Rescue Raider (stand-alone)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 198?, grudge, 0, balsente, grudge, balsente_state, grudge, ROT0, "Bally Midway", "Grudge Match (prototype)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1985, teamht, 0, balsente, teamht, balsente_state, teamht, ROT0, "Bally/Sente", "Team Hat Trick", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
|
@ -2468,8 +2468,6 @@ ROM_END
|
||||
|
||||
DRIVER_INIT_MEMBER(cclimber_state,yamato)
|
||||
{
|
||||
|
||||
|
||||
save_item(NAME(m_yamato_p0));
|
||||
save_item(NAME(m_yamato_p1));
|
||||
}
|
||||
|
@ -1134,7 +1134,7 @@ static MACHINE_CONFIG_DERIVED_CLASS(chihiro_base, xbox_base, chihiro_state)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED(chihirogd, chihiro_base)
|
||||
MCFG_NAOMI_GDROM_BOARD_ADD("rom_board", "gdrom", "pic", nullptr, NOOP)
|
||||
MCFG_NAOMI_GDROM_BOARD_ADD("rom_board", ":gdrom", "^pic", nullptr, NOOP)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
#define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \
|
||||
|
@ -12340,4 +12340,3 @@ CONS( 1995, sfach, sfzch, 0, cps1_12MHz, sfzch, cps_state, cps1, "Capc
|
||||
CONS( 1995, sfzbch, sfzch, 0, cps1_12MHz, sfzch, cps_state, cps1, "Capcom", "Street Fighter Zero (CPS Changer, Brazil 950727)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
// Ken Sei Mogura: Street Fighter II - see kenseim.c
|
||||
|
||||
|
@ -267,7 +267,6 @@ WRITE8_MEMBER(cshooter_state::cshooter_txram_w)
|
||||
|
||||
void cshooter_state::video_start()
|
||||
{
|
||||
|
||||
// there might actually be 4 banks of 2048 x 16 tilemaps in here as the upper scroll bits are with the rom banking.
|
||||
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cshooter_state::get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(cshooter_state::bg_scan),this),16,16,2048, 64);
|
||||
|
||||
@ -304,7 +303,6 @@ void cshooter_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
|
||||
|
||||
UINT32 cshooter_state::screen_update_airraid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
|
||||
UINT16 bgscrolly = DM_GETSCROLL(0x6);
|
||||
// this is more likely to be 'bank' than scroll, like NMK16
|
||||
bgscrolly += ((m_hw & 0xc0) >> 6) * 256;
|
||||
|
@ -557,7 +557,6 @@ ROM_END
|
||||
|
||||
DRIVER_INIT_MEMBER(jongkyo_state,jongkyo)
|
||||
{
|
||||
|
||||
UINT8 *rom = memregion("maincpu")->base();
|
||||
|
||||
/* first of all, do a simple bitswap */
|
||||
@ -595,5 +594,3 @@ DRIVER_INIT_MEMBER(jongkyo_state,jongkyo)
|
||||
*************************************/
|
||||
|
||||
GAME( 1985, jongkyo, 0, jongkyo, jongkyo, jongkyo_state, jongkyo, ROT0, "Kiwako", "Jongkyo", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
|
||||
|
@ -1746,5 +1746,3 @@ GAME( 1987, buraikenb, avengers, avengersb,avengers, lwings_state, avengersb, RO
|
||||
|
||||
// cloned lwings hardware
|
||||
GAME( 1992, fball, 0, fball, fball, driver_device, 0, ROT0, "FM Work", "Fire Ball (FM Work)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
|
||||
|
@ -1199,38 +1199,7 @@ ROMEO - Sammy AX0201A01 'ROMEO' 4111-00000501 0250 K13 custom ASIC (TQ
|
||||
315-6267 - SEGA 315-6267 custom ASIC (BGAxxx)
|
||||
TD62064 - Toshiba TD62064 NPN 50V 1.5A Quad Darlington Driver (SOIC16)
|
||||
SH4 - Hitachi SH-4 HD6417091RA CPU (BGA256)
|
||||
BIOS.IC23 - Macronix 29L001MC-10 3.3volt FlashROM (SOP44)
|
||||
This is a little strange, the ROM appears to be a standard SOP44 with reverse pinout but the
|
||||
address lines are shifted one pin out of position compared to industry-standard pinouts.
|
||||
The actual part number doesn't exist on the Macronix web site, even though they have datasheets for
|
||||
everything else! So it's probably a custom design for Sammy and top-secret!
|
||||
The size is assumed to be 1MBit and is 8-bit (D0-D7 only). The pinout appears to be this.....
|
||||
|
||||
+--\/--+
|
||||
tied to WE of BS62LV1023 VCC | 1 44| VCC - tied to a transistor, probably RESET
|
||||
NC | 2 43| NC
|
||||
A9 | 3 42| NC
|
||||
A10 | 4 41| A8
|
||||
A11 | 5 40| A7
|
||||
A12 | 6 39| A6
|
||||
A13 | 7 38| A5
|
||||
A14 | 8 37| A4
|
||||
A15 | 9 36| A3
|
||||
A16 |10 35| A2
|
||||
NC |11 34| A1
|
||||
NC |12 33| CE - tied to 315-6267
|
||||
GND |13 32| GND
|
||||
A0 |14 31| OE
|
||||
D7 |15 30| D0
|
||||
NC |16 29| NC
|
||||
D6 |17 28| D1
|
||||
NC |18 27| NC
|
||||
D5 |19 26| D2
|
||||
NC |20 25| NC
|
||||
D4 |21 24| D3
|
||||
VCC |22 23| NC
|
||||
+------+
|
||||
|
||||
BIOS.IC23 - Macronix 29L001MC-10 3.3volt (1MBit) FlashROM (SOP44, reverse pinout)
|
||||
W129AG - IC Works W129AG Programmable Clock Frequency Generator, clock input of 13.5MHz (SOIC16)
|
||||
SW1 - 2-position Dip Switch
|
||||
VGA - 15 pin VGA out connector @ 31.5kHz
|
||||
@ -2719,7 +2688,7 @@ MACHINE_CONFIG_END
|
||||
*/
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( naomigd, naomi_base )
|
||||
MCFG_NAOMI_GDROM_BOARD_ADD("rom_board", "gdrom", "pic", "naomibd_eeprom", WRITE8(dc_state, g1_irq))
|
||||
MCFG_NAOMI_GDROM_BOARD_ADD("rom_board", ":gdrom", ":pic", "naomibd_eeprom", WRITE8(dc_state, g1_irq))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/*
|
||||
@ -3088,11 +3057,16 @@ Region byte encoding is as follows:
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 8, "epr-23607b.ic27", 0x000000, 0x200000, CRC(f308c5e9) SHA1(5470ab1cee6afecbd8ca8cf40f8fbe4ec2cb1471) ) \
|
||||
ROM_SYSTEM_BIOS( 9, "bios9", "epr-23607 (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 9, "epr-23607.ic27", 0x000000, 0x200000, CRC(2b55add2) SHA1(547de5f97d3183c8cd069c4fa3c09f13d8b637d9) )
|
||||
/* First half is BIOS, second half is game settings and is blanked/reprogrammed by the BIOS as necessary */
|
||||
/*
|
||||
First half is BIOS, second half is game settings and is blanked/reprogrammed by the BIOS if game cartridge exchange was detected
|
||||
area 0x1A000-0x1BFFF is write protected and contain 12 bytes of unit-specific unique information (probably serial number, manufacture date, etc),
|
||||
2 dumps included for reference
|
||||
*/
|
||||
#define AW_BIOS \
|
||||
ROM_REGION( 0x200000, "awflash", 0) \
|
||||
ROM_SYSTEM_BIOS( 0, "bios0", "Atomiswave BIOS" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 0, "bios.ic23_l", 0x000000, 0x010000, BAD_DUMP CRC(e5693ce3) SHA1(1bde3ed87af64b0f675ebd47f12a53e1fc5709c1) ) /* Might be bad.. especially. bytes 0x0000, 0x6000, 0x8000 which gave different reads */
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 0, "bios0.ic23", 0x000000, 0x020000, CRC(719b2b0b) SHA1(b4c1a26bc8906d5275eb28c701dff2b9365bcdfa) ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 0, "bios1.ic23", 0x000000, 0x020000, CRC(d3e80a9f) SHA1(33024f9d51c04884c2b44ce146f340e7a857b959) )
|
||||
/* default EEPROM values, same works for all games */
|
||||
#define NAOMI_DEFAULT_EEPROM \
|
||||
ROM_REGION16_BE( 0x80, "main_eeprom", 0 ) \
|
||||
|
@ -1515,8 +1515,6 @@ DRIVER_INIT_MEMBER(segag80r_state,monsterb)
|
||||
|
||||
DRIVER_INIT_MEMBER(segag80r_state,monster2)
|
||||
{
|
||||
|
||||
|
||||
address_space &iospace = m_maincpu->space(AS_IO);
|
||||
address_space &pgmspace = m_maincpu->space(AS_PROGRAM);
|
||||
|
||||
@ -1565,8 +1563,6 @@ DRIVER_INIT_MEMBER(segag80r_state,pignewt)
|
||||
|
||||
DRIVER_INIT_MEMBER(segag80r_state,sindbadm)
|
||||
{
|
||||
|
||||
|
||||
address_space &iospace = m_maincpu->space(AS_IO);
|
||||
address_space &pgmspace = m_maincpu->space(AS_PROGRAM);
|
||||
|
||||
|
@ -917,16 +917,12 @@ DRIVER_INIT_MEMBER(senjyo_state,starforc)
|
||||
}
|
||||
DRIVER_INIT_MEMBER(senjyo_state,starfore)
|
||||
{
|
||||
|
||||
|
||||
m_is_senjyo = 0;
|
||||
m_scrollhack = 0;
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(senjyo_state,starfora)
|
||||
{
|
||||
|
||||
|
||||
m_is_senjyo = 0;
|
||||
m_scrollhack = 1;
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
See cat.c for the machine which the swyft later became.
|
||||
|
||||
This driver is dedicated in memory of Jef Raskin and Dave Boulton
|
||||
This driver is dedicated in memory of Jef Raskin, Dave Boulton, and John "Sandy" Bumgarner (1941-2016)
|
||||
|
||||
IAI detailed credits:
|
||||
Scott Kim - responsible for fonts on swyft and cat
|
||||
|
@ -253,13 +253,18 @@ I can't tell ATM if units are seconds (even if values in tables seem very relate
|
||||
#include "cpu/h6280/h6280.h"
|
||||
#include "sound/c6280.h"
|
||||
#include "machine/i8155.h"
|
||||
#include "softlist.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
|
||||
class tourvision_state : public pce_common_state
|
||||
{
|
||||
public:
|
||||
tourvision_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: pce_common_state(mconfig, type, tag),
|
||||
m_subcpu(*this, "subcpu") { }
|
||||
m_subcpu(*this, "subcpu"),
|
||||
m_cart(*this, "cartslot")
|
||||
{ }
|
||||
|
||||
DECLARE_WRITE8_MEMBER(tourvision_8085_d000_w);
|
||||
DECLARE_WRITE8_MEMBER(tourvision_i8155_a_w);
|
||||
@ -268,8 +273,58 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(tourvision_timer_out);
|
||||
DECLARE_WRITE_LINE_MEMBER(pce_irq_changed);
|
||||
required_device<cpu_device> m_subcpu;
|
||||
required_device<generic_slot_device> m_cart;
|
||||
UINT32 m_rom_size;
|
||||
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(tourvision_cart);
|
||||
};
|
||||
|
||||
DEVICE_IMAGE_LOAD_MEMBER( tourvision_state, tourvision_cart )
|
||||
{
|
||||
m_rom_size = m_cart->common_get_size("rom");
|
||||
m_cart->rom_alloc(m_rom_size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
|
||||
m_cart->common_load_rom(m_cart->get_rom_base(), m_rom_size, "rom");
|
||||
|
||||
UINT8* rgn = memregion("maincpu")->base();
|
||||
UINT8* base = m_cart->get_rom_base();
|
||||
|
||||
if (m_rom_size == 0x0c0000)
|
||||
{
|
||||
memcpy(rgn+0x000000, base+0x000000, 0x0c0000 );
|
||||
memcpy(rgn+0x0c0000, base+0x080000, 0x040000 );
|
||||
}
|
||||
else
|
||||
if (m_rom_size == 0x060000)
|
||||
{
|
||||
memcpy(rgn+0x000000, base+0x000000, 0x040000 );
|
||||
memcpy(rgn+0x040000, base+0x000000, 0x040000 );
|
||||
memcpy(rgn+0x080000, base+0x040000, 0x020000 );
|
||||
memcpy(rgn+0x0a0000, base+0x040000, 0x020000 );
|
||||
memcpy(rgn+0x0c0000, base+0x040000, 0x020000 );
|
||||
memcpy(rgn+0x0e0000, base+0x040000, 0x020000 );
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i=0;i<0x100000;i+=m_rom_size)
|
||||
memcpy(rgn+i, base+0x000000, m_rom_size );
|
||||
}
|
||||
|
||||
#if 0
|
||||
{
|
||||
FILE *fp;
|
||||
fp=fopen("tourvision.bin", "w+b");
|
||||
if (fp)
|
||||
{
|
||||
fwrite(rgn, 0x100000, 1, fp);
|
||||
fclose(fp);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return IMAGE_INIT_PASS;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( tourvision )
|
||||
PORT_START( "JOY" )
|
||||
@ -444,6 +499,14 @@ static MACHINE_CONFIG_START( tourvision, tourvision_state )
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
|
||||
|
||||
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "tourvision_cart")
|
||||
MCFG_GENERIC_EXTENSIONS("bin")
|
||||
MCFG_GENERIC_LOAD(tourvision_state, tourvision_cart)
|
||||
MCFG_GENERIC_MANDATORY
|
||||
|
||||
MCFG_SOFTWARE_LIST_ADD("tv_list","pce_tourvision")
|
||||
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
#define TOURVISION_BIOS \
|
||||
|
@ -282,7 +282,7 @@ WRITE8_MEMBER(namcos16_state::irq_disable_w)
|
||||
|
||||
WRITE8_MEMBER(namcos16_state::irq_ctrl_w)
|
||||
{
|
||||
m_master_irq_enable = (offset & 0x8000) ? false : true;
|
||||
m_master_irq_enable = (offset & 0x0800) ? false : true;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(namcos16_state::slave_halt_ctrl_w)
|
||||
|
@ -583,7 +583,7 @@ static MACHINE_CONFIG_START( triforce_base, triforce_state )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( triforcegd, triforce_base )
|
||||
MCFG_NAOMI_GDROM_BOARD_ADD("rom_board", "gdrom", "pic", nullptr, NOOP)
|
||||
MCFG_NAOMI_GDROM_BOARD_ADD("rom_board", ":gdrom", ":pic", nullptr, NOOP)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -218,4 +218,3 @@ public:
|
||||
DECLARE_READ16_MEMBER(tmss_r);
|
||||
DECLARE_WRITE16_MEMBER(tmss_swap_w);
|
||||
};
|
||||
|
||||
|
@ -284,6 +284,7 @@ private:
|
||||
UINT32 si_pif_addr_rd64b;
|
||||
UINT32 si_pif_addr_wr64b;
|
||||
UINT32 si_status;
|
||||
UINT32 si_dma_dir;
|
||||
UINT32 cic_status;
|
||||
int cic_type;
|
||||
|
||||
|
@ -148,5 +148,3 @@ public:
|
||||
TIMER_CALLBACK_MEMBER(gground_hack_timer_callback);
|
||||
emu_timer *m_gground_hack_timer;
|
||||
};
|
||||
|
||||
|
||||
|
@ -436,4 +436,3 @@ INTERRUPT_GEN_MEMBER(intv_state::intv_interrupt)
|
||||
|
||||
m_stic->screenrefresh();
|
||||
}
|
||||
|
||||
|
@ -212,6 +212,7 @@ void n64_periphs::device_reset()
|
||||
si_dram_addr = 0;
|
||||
si_pif_addr = 0;
|
||||
si_status = 0;
|
||||
si_dma_dir = 0;
|
||||
si_dma_timer->adjust(attotime::never);
|
||||
|
||||
//memset(m_save_data.eeprom, 0, 2048);
|
||||
@ -2082,6 +2083,7 @@ TIMER_CALLBACK_MEMBER(n64_periphs::si_dma_callback)
|
||||
void n64_periphs::si_dma_tick()
|
||||
{
|
||||
si_dma_timer->adjust(attotime::never);
|
||||
pif_dma(si_dma_dir);
|
||||
si_status = 0;
|
||||
si_status |= 0x1000;
|
||||
signal_rcp_interrupt(SI_INTERRUPT);
|
||||
@ -2089,11 +2091,6 @@ void n64_periphs::si_dma_tick()
|
||||
|
||||
void n64_periphs::pif_dma(int direction)
|
||||
{
|
||||
if(si_status & 1)
|
||||
{
|
||||
si_status |= 8; //DMA Error, overlapping request
|
||||
return; // SI Busy, ignore request
|
||||
}
|
||||
if (!DWORD_ALIGNED(si_dram_addr))
|
||||
{
|
||||
fatalerror("pif_dma: si_dram_addr unaligned: %08X\n", si_dram_addr);
|
||||
@ -2131,8 +2128,6 @@ void n64_periphs::pif_dma(int direction)
|
||||
*dst++ = d;
|
||||
}
|
||||
}
|
||||
si_status |= 1;
|
||||
si_dma_timer->adjust(attotime::from_hz(50000));
|
||||
}
|
||||
|
||||
READ32_MEMBER( n64_periphs::si_reg_r )
|
||||
@ -2160,16 +2155,29 @@ WRITE32_MEMBER( n64_periphs::si_reg_w )
|
||||
|
||||
case 0x04/4: // SI_PIF_ADDR_RD64B_REG
|
||||
// PIF RAM -> RDRAM
|
||||
if(si_status & 1)
|
||||
{
|
||||
si_status |= 8; //DMA Error, overlapping request
|
||||
return; // SI Busy, ignore request
|
||||
}
|
||||
si_pif_addr = data;
|
||||
si_pif_addr_rd64b = data;
|
||||
pif_dma(0);
|
||||
si_dma_dir = 0;
|
||||
si_status |= 1;
|
||||
si_dma_timer->adjust(attotime::from_hz(50000));
|
||||
break;
|
||||
|
||||
case 0x10/4: // SI_PIF_ADDR_WR64B_REG
|
||||
// RDRAM -> PIF RAM
|
||||
if(si_status & 1)
|
||||
{
|
||||
si_status |= 8; //DMA Error, overlapping request
|
||||
return; // SI Busy, ignore request
|
||||
}
|
||||
si_pif_addr = data;
|
||||
si_pif_addr_wr64b = data;
|
||||
pif_dma(1);
|
||||
si_dma_dir = 1;
|
||||
si_dma_timer->adjust(attotime::from_hz(50000));
|
||||
break;
|
||||
|
||||
case 0x18/4: // SI_STATUS_REG
|
||||
|
@ -397,7 +397,8 @@ void naomi_gdrom_board::device_start()
|
||||
UINT64 key;
|
||||
UINT8 netpic = 0;
|
||||
|
||||
const UINT8 *picdata = memregion(pic_tag)->base();
|
||||
memory_region *mr = memregion(pic_tag);
|
||||
const UINT8 *picdata = mr->base();
|
||||
|
||||
if(picdata) {
|
||||
if(memregion(pic_tag)->bytes() >= 0x4000) {
|
||||
|
@ -120,4 +120,3 @@ extern const device_type SEGA_317_0007;
|
||||
|
||||
|
||||
#endif /// __SEGACRP2_Z80__
|
||||
|
||||
|
@ -944,7 +944,6 @@ void sega_315_5061_device::decrypt()
|
||||
sega_315_5018_device::sega_315_5018_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : segacrpt_z80_device(mconfig, tag, owner, clock) {}
|
||||
void sega_315_5018_device::decrypt()
|
||||
{
|
||||
|
||||
static const UINT8 convtable[32][4] =
|
||||
{
|
||||
/* opcode data address */
|
||||
@ -975,7 +974,6 @@ void sega_315_5018_device::decrypt()
|
||||
sega_315_5010_device::sega_315_5010_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : segacrpt_z80_device(mconfig, tag, owner, clock) {}
|
||||
void sega_315_5010_device::decrypt()
|
||||
{
|
||||
|
||||
static const UINT8 convtable[32][4] =
|
||||
{
|
||||
/* opcode data address */
|
||||
@ -1065,7 +1063,6 @@ void sega_315_5028_device::decrypt()
|
||||
sega_315_5084_device::sega_315_5084_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : segacrpt_z80_device(mconfig, tag, owner, clock) {}
|
||||
void sega_315_5084_device::decrypt()
|
||||
{
|
||||
|
||||
static const UINT8 convtable[32][4] =
|
||||
{
|
||||
/* opcode data address */
|
||||
|
@ -293,4 +293,3 @@ extern const device_type SEGA_315_5084;
|
||||
|
||||
|
||||
#endif /// __SEGACRPT_Z80__
|
||||
|
||||
|
@ -35383,72 +35383,6 @@ tourtabl // 030170 1978/03 [6507]
|
||||
|
||||
@source:tourvis.cpp
|
||||
tourvis // (c) ???? Tourvision
|
||||
tv1943 // (c) 1991 Capcom / Nexat Soft (Tourvision bootleg)
|
||||
tvablast // (c) 1990 Hudson / Kaneko (Tourvision bootleg)
|
||||
tvaburn // (c) 1990 Sega / Nec Avenue (Tourvision bootleg)
|
||||
tvarmedf // (c) 1990 Nichibutsu / Big Don (Tourvision bootleg)
|
||||
tvbalstx // (c) 1991 Psygnosis / Coconuts Japan (Tourvision bootleg)
|
||||
tvbeball // (c) 1990 Hudson (Tourvision bootleg)
|
||||
tvbomber // (c) 1990 Hudson (Tourvision bootleg)
|
||||
tvbrabho // (c) 1990 Namco / Namcot (Tourvision bootleg)
|
||||
tvcolumn // (c) 1991 Telenet Japan (Tourvision bootleg)
|
||||
tvcoryon // (c) 1991 Naxat Soft (Tourvision bootleg)
|
||||
tvdensho // (c) 1989 Big Club / Wolf Team (Tourvision bootleg)
|
||||
tvdevilc // (c) 1990 Naxat / Red (Tourvision bootleg)
|
||||
tvdmoon // (c) 1991 T.S.S. (Tourvision bootleg)
|
||||
tvdodgeb // (c) 1990 Technos Japan Corp / Naxat Soft (Tourvision bootleg)
|
||||
tvdormon // (c) 1989 Hudson / Fujiko-Shogakukan-TV Asahi (Tourvision bootleg)
|
||||
tvdrgnst // (c) 1988 Namcot (Tourvision bootleg)
|
||||
tvdsenpu // (c) 1990 Toaplan / Nec Avenue (Tourvision bootleg)
|
||||
tvdunexp // (c) 1989 Hudson / Atlus (Tourvision bootleg)
|
||||
tveigues // (c) 1990 Victor Musical Industries, Inc. (Tourvision bootleg)
|
||||
tvfblast // (c) 1990 Namco / Namcot (Tourvision bootleg)
|
||||
tvflaptw // (c) 1989 Namco (Tourvision bootleg)
|
||||
tvfsoc90 // (c) 1990 Human (Tourvision bootleg)
|
||||
tvftenis // (c) 1991 Human (Tourvision bootleg)
|
||||
tvgomola // (c) 1990 Human (Tourvision bootleg)
|
||||
tvgunhed // (c) 1989 Hudson / Toho Sunrise (Tourvision bootleg)
|
||||
tvhtdaka // (c) 1991 Taito(Tourvision bootleg)
|
||||
tvjchan // (c) 1991 Hudson (Tourvision bootleg)
|
||||
tvkaikai // (c) 1990 Taito (Tourvision bootleg)
|
||||
tvlegaxe // (c) 1988 Victor Musical Industries, Inc. (Tourvision bootleg)
|
||||
tvlqkids // (c) 1992 Taito (Tourvision bootleg)
|
||||
tvmrheli // (c) 1989 IREM Corp (Tourvision bootleg)
|
||||
tvninjar // (c) 1992 Tecmo / Hudson Soft (Tourvision bootleg)
|
||||
tvninjas // (c) 1990 IREM Corp (Tourvision bootleg)
|
||||
tvopwolf // (c) 1990 Taito / Nec Avenue (Tourvision bootleg)
|
||||
tvovride // (c) 1990 Sting / Data East Corporation (Tourvision bootleg)
|
||||
tvpaclnd // (c) 1991 Namco / Namcot (Tourvision bootleg)
|
||||
tvpcgen2 // (c) 1991 Hudson Soft / Red (Tourvision bootleg)
|
||||
tvpchasr // (c) 1990 Naxat Soft (Tourvision bootleg)
|
||||
tvpcybrg // (c) 1992 Hudson Soft / Red (Tourvision bootleg)
|
||||
tvpdrift // (c) 1991 Sega / Asmik Corporation (Tourvision bootleg)
|
||||
tvpow11 // (c) 1991 Hudson (Tourvision bootleg)
|
||||
tvpros91 // (c) 1991 Namco / Namcot (Tourvision bootleg)
|
||||
tvpwlg4 // (c) 1991 Hudson (Tourvision bootleg)
|
||||
tvpzlboy // (c) 1991 Atlus / Telenet Japan (Tourvision bootleg)
|
||||
tvraiden // (c) 1991 Seibu Kaihatsu inc / Hudson Soft (Tourvision bootleg)
|
||||
tvrs2 // (c) 1990 Taito (Tourvision bootleg)
|
||||
tvrtype2 // (c) 1991 IREM (Tourvision bootleg)
|
||||
tvsci // (c) 1991 Taito (Tourvision bootleg)
|
||||
tvsdarms // (c) 1989 Capcom / Nec Avenue (Tourvision bootleg)
|
||||
tvshnobi // (c) 1989 Sega / Asmik Corporation (Tourvision bootleg)
|
||||
tvskweek // (c) 1991 Victor Musical Industries, Inc. (Tourvision bootleg)
|
||||
tvslmndr // (c) 1991 Konami (Tourvision bootleg)
|
||||
tvsson2 // (c) 1989 Capcom / Nec Avenue (Tourvision bootleg)
|
||||
tvsssold // (c) 1990 Hudson / Kaneko (Tourvision bootleg)
|
||||
tvsvball // (c) 1990 Video System (Tourvision bootleg)
|
||||
tvtaisen // (c) 1992 Taito (Tourvision bootleg)
|
||||
tvtcrst2 // (c) 1992 Nichibutsu / Nihon Bussan Co., Ltd (Tourvision bootleg)
|
||||
tvthbld // (c) 1990 Sega / NEC Avenue (Tourvision bootleg)
|
||||
tvtonma // (c) 1991 IREM Corp (Tourvision bootleg)
|
||||
tvtsboys // (c) 1990 Victor Musical Industries, Inc. (Tourvision bootleg)
|
||||
tvtsujin // (c) 1992 Toaplan Co Ltd / Taito Corporation (Tourvision bootleg)
|
||||
tvusapb // (c) 1989 Aicom (Tourvision bootleg)
|
||||
tvvolfd // (c) 1989 Taito (Tourvision bootleg)
|
||||
tvwnshot // (c) 1989 Data East Corp. (Tourvision bootleg)
|
||||
tvwring // (c) 1990 Naxat Soft (Tourvision bootleg)
|
||||
tvxvious // (c) 1990 Namco Ltd. / Namcot (Tourvision bootleg)
|
||||
|
||||
@source:toypop.cpp
|
||||
liblrabl // (c) 1983
|
||||
|
@ -53,4 +53,3 @@ spelunkr // (c) 1985 licensed from Broderbund
|
||||
spelunkrj // (c) 1985 licensed from Broderbund
|
||||
yanchamr // (c) 1986 (Japan)
|
||||
youjyudn // (c) 1986 (Japan)
|
||||
|
||||
|
@ -3024,6 +3024,8 @@ int nv2a_renderer::geforce_exec_method(address_space & space, UINT32 chanel, UIN
|
||||
wait();
|
||||
}
|
||||
}
|
||||
else if (primitive_type == NV2A_BEGIN_END::LINE_LOOP) {
|
||||
}
|
||||
else {
|
||||
machine().logerror("Unsupported primitive %d for method 0x1818\n", int(primitive_type));
|
||||
countlen = 0;
|
||||
|
@ -1083,4 +1083,3 @@ diagnostics_module * diagnostics_module::get_instance()
|
||||
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -276,7 +276,7 @@ private:
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Enum each PNP device using WMI and check each device ID to see if it contains
|
||||
// "IG_" (ex. "VID_045E&PID_028E&IG_00"). If it does, then it’s an XInput device
|
||||
// "IG_" (ex. "VID_045E&PID_028E&IG_00"). If it does, then it's an XInput device
|
||||
// Unfortunately this information can not be found by just using DirectInput.
|
||||
// Checking against a VID/PID of 0x028E/0x045E won't find 3rd party or future
|
||||
// XInput devices.
|
||||
@ -376,7 +376,7 @@ private:
|
||||
hr = pDevices[iDevice]->Get(bstrDeviceID.get(), 0L, &var, nullptr, nullptr);
|
||||
if (SUCCEEDED(hr) && var.vt == VT_BSTR && var.bstrVal != nullptr)
|
||||
{
|
||||
// Check if the device ID contains "IG_". If it does, then it’s an XInput device
|
||||
// Check if the device ID contains "IG_". If it does, then it's an XInput device
|
||||
// Unfortunately this information can not be found by just using DirectInput
|
||||
if (wcsstr(var.bstrVal, L"IG_"))
|
||||
{
|
||||
|
@ -21,7 +21,6 @@ class output_network_server :
|
||||
public raw_tcp_server::listener,
|
||||
public raw_tcp_connection::listener
|
||||
{
|
||||
|
||||
public:
|
||||
output_network_server(uv_loop_t* loop) { m_tcp_server = new raw_tcp_server(loop, "0.0.0.0", 8000, 256, this, this); }
|
||||
|
||||
|
@ -120,4 +120,3 @@ void texture_manager::remove_provider(std::string name, bool delete_provider)
|
||||
m_textures[name] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -94,6 +94,9 @@ renderer_bgfx::renderer_bgfx(std::shared_ptr<osd_window> w)
|
||||
|
||||
renderer_bgfx::~renderer_bgfx()
|
||||
{
|
||||
bgfx::reset(0, 0, BGFX_RESET_NONE);
|
||||
bgfx::touch(0);
|
||||
bgfx::frame();
|
||||
if (m_avi_writer != nullptr && m_avi_writer->recording())
|
||||
{
|
||||
m_avi_writer->stop();
|
||||
|
@ -194,4 +194,3 @@ void osd_sleep(osd_ticks_t duration)
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::high_resolution_clock::duration(duration));
|
||||
}
|
||||
|
||||
|
@ -149,7 +149,6 @@ struct osd_work_queue
|
||||
, spinloops(0)
|
||||
#endif
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
std::mutex lock; // lock for protecting the queue
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "emu.h"
|
||||
#include "emuopts.h"
|
||||
#include "ui/uimain.h"
|
||||
#include "ui/menu.h"
|
||||
|
||||
|
||||
// OSD headers
|
||||
@ -451,6 +452,9 @@ OSDWORK_CALLBACK( sdl_window_info::sdlwindow_toggle_full_screen_wt )
|
||||
window->m_windowed_dim = window->get_size();
|
||||
}
|
||||
|
||||
// reset UI to main menu
|
||||
ui_menu::stack_reset(window->machine());
|
||||
// kill off the drawers
|
||||
window->renderer_reset();
|
||||
window->set_platform_window(nullptr);
|
||||
bool is_osx = false;
|
||||
|
@ -23,6 +23,7 @@
|
||||
// MAME headers
|
||||
#include "emu.h"
|
||||
#include "uiinput.h"
|
||||
#include "ui/menu.h"
|
||||
|
||||
// MAMEOS headers
|
||||
#include "winmain.h"
|
||||
@ -1979,8 +1980,11 @@ void win_window_info::set_fullscreen(int fullscreen)
|
||||
return;
|
||||
m_fullscreen = fullscreen;
|
||||
|
||||
// reset UI to main menu
|
||||
ui_menu::stack_reset(machine());
|
||||
|
||||
// kill off the drawers
|
||||
m_renderer.reset();
|
||||
renderer_reset();
|
||||
|
||||
// hide ourself
|
||||
ShowWindow(platform_window<HWND>(), SW_HIDE);
|
||||
|
@ -25,6 +25,10 @@
|
||||
#include <ctype.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <cassert>
|
||||
#include <cstring>
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <new>
|
||||
#include <unordered_map>
|
||||
|
||||
@ -191,19 +195,52 @@ private:
|
||||
};
|
||||
|
||||
|
||||
// ======================> chd_zero_compressor
|
||||
|
||||
class chd_zero_compressor : public chd_file_compressor
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
chd_zero_compressor(std::uint64_t offset = 0, std::uint64_t maxoffset = 0)
|
||||
: m_offset(offset)
|
||||
, m_maxoffset(maxoffset)
|
||||
{
|
||||
}
|
||||
|
||||
// read interface
|
||||
virtual std::uint32_t read_data(void *dest, std::uint64_t offset, std::uint32_t length) override
|
||||
{
|
||||
offset += m_offset;
|
||||
if (offset >= m_maxoffset)
|
||||
return 0;
|
||||
if (offset + length > m_maxoffset)
|
||||
length = m_maxoffset - offset;
|
||||
std::memset(dest, 0, length);
|
||||
return length;
|
||||
}
|
||||
|
||||
private:
|
||||
// internal state
|
||||
std::uint64_t m_offset;
|
||||
std::uint64_t m_maxoffset;
|
||||
};
|
||||
|
||||
|
||||
// ======================> chd_rawfile_compressor
|
||||
|
||||
class chd_rawfile_compressor : public chd_file_compressor
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
chd_rawfile_compressor(util::core_file &file, UINT64 offset = 0, UINT64 maxoffset = ~0)
|
||||
: m_file(file),
|
||||
m_offset(offset),
|
||||
m_maxoffset((std::min)(maxoffset, file.size())) { }
|
||||
chd_rawfile_compressor(util::core_file &file, std::uint64_t offset = 0, std::uint64_t maxoffset = std::numeric_limits<std::uint64_t>::max())
|
||||
: m_file(file)
|
||||
, m_offset(offset)
|
||||
, m_maxoffset((std::min)(maxoffset, file.size()))
|
||||
{
|
||||
}
|
||||
|
||||
// read interface
|
||||
virtual UINT32 read_data(void *dest, UINT64 offset, UINT32 length)
|
||||
virtual std::uint32_t read_data(void *dest, std::uint64_t offset, std::uint32_t length) override
|
||||
{
|
||||
offset += m_offset;
|
||||
if (offset >= m_maxoffset)
|
||||
@ -217,8 +254,8 @@ public:
|
||||
private:
|
||||
// internal state
|
||||
util::core_file & m_file;
|
||||
UINT64 m_offset;
|
||||
UINT64 m_maxoffset;
|
||||
std::uint64_t m_offset;
|
||||
std::uint64_t m_maxoffset;
|
||||
};
|
||||
|
||||
|
||||
@ -1626,11 +1663,10 @@ static void do_create_raw(parameters_t ¶ms)
|
||||
printf("Logical size: %s\n", big_int_string(tempstr, input_end - input_start));
|
||||
|
||||
// catch errors so we can close & delete the output file
|
||||
chd_rawfile_compressor *chd = nullptr;
|
||||
try
|
||||
{
|
||||
// create the new CHD
|
||||
chd = new chd_rawfile_compressor(*input_file, input_start, input_end);
|
||||
std::unique_ptr<chd_file_compressor> chd(new chd_rawfile_compressor(*input_file, input_start, input_end));
|
||||
chd_error err;
|
||||
if (output_parent.opened())
|
||||
err = chd->create(output_chd_str->c_str(), input_end - input_start, hunk_size, compression, output_parent);
|
||||
@ -1645,11 +1681,9 @@ static void do_create_raw(parameters_t ¶ms)
|
||||
|
||||
// compress it generically
|
||||
compress_common(*chd);
|
||||
delete chd;
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
delete chd;
|
||||
// delete the output file
|
||||
auto output_chd_str = params.find(OPTION_OUTPUT);
|
||||
if (output_chd_str != params.end())
|
||||
@ -1804,11 +1838,12 @@ static void do_create_hd(parameters_t ¶ms)
|
||||
printf("Logical size: %s\n", big_int_string(tempstr, UINT64(totalsectors) * UINT64(sector_size)));
|
||||
|
||||
// catch errors so we can close & delete the output file
|
||||
chd_rawfile_compressor *chd = nullptr;
|
||||
try
|
||||
{
|
||||
// create the new hard drive
|
||||
chd = new chd_rawfile_compressor(*input_file, input_start, input_end);
|
||||
std::unique_ptr<chd_file_compressor> chd;
|
||||
if (input_file) chd.reset(new chd_rawfile_compressor(*input_file, input_start, input_end));
|
||||
else chd.reset(new chd_zero_compressor(input_start, input_end));
|
||||
chd_error err;
|
||||
if (output_parent.opened())
|
||||
err = chd->create(output_chd_str->c_str(), UINT64(totalsectors) * UINT64(sector_size), hunk_size, compression, output_parent);
|
||||
@ -1834,11 +1869,9 @@ static void do_create_hd(parameters_t ¶ms)
|
||||
// compress it generically
|
||||
if (input_file)
|
||||
compress_common(*chd);
|
||||
delete chd;
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
delete chd;
|
||||
// delete the output file
|
||||
auto output_chd_str = params.find(OPTION_OUTPUT);
|
||||
if (output_chd_str != params.end())
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#define BARE_BUILD_VERSION "0.172"
|
||||
#define BARE_BUILD_VERSION "0.173"
|
||||
|
||||
extern const char bare_build_version[];
|
||||
extern const char build_version[];
|
||||
|
Loading…
Reference in New Issue
Block a user