mirror of
https://github.com/holub/mame
synced 2025-06-06 21:03:47 +03:00
Cleanups and version bump
This commit is contained in:
parent
03a5bfa56f
commit
d1583b9850
@ -2,42 +2,42 @@
|
||||
// copyright-holders:Dirk Best
|
||||
/***************************************************************************
|
||||
|
||||
ACT Apricot Expansion Slot
|
||||
ACT Apricot Expansion Slot
|
||||
|
||||
A B
|
||||
|
||||
-12V 32 +12V
|
||||
+5V 31 +5V
|
||||
DB0 30 DB1
|
||||
DB2 29 DB3
|
||||
DB4 28 DB5
|
||||
DB6 27 DB7
|
||||
AB10 26 AB9
|
||||
AB11 25 AB12
|
||||
/AMWC 24 /MRDC
|
||||
/DMA2 23 DT/R
|
||||
/DMA1 22 /IORC
|
||||
/MWTC 21 /RES
|
||||
/IOWC 20 /AIOWC
|
||||
GND 19 GND
|
||||
/CLK5 18 DEN
|
||||
/IRDY 17 /MRDY
|
||||
/EXT1 16 /EXT2
|
||||
/INT3 15 /ALE
|
||||
AB6 14 /INT2
|
||||
AB8 13 AB7
|
||||
DB9 12 DB8
|
||||
DB11 11 DB10
|
||||
DB13 10 DB12
|
||||
DB15 9 DB14
|
||||
AB2 8 AB1
|
||||
AB4 7 AB3
|
||||
AB0 6 AB5
|
||||
AB14 5 AB13
|
||||
AB15 4 AB16
|
||||
AB17 3 AB18
|
||||
AB19 2 /BHE
|
||||
NMI 1 CLK15
|
||||
-12V 32 +12V
|
||||
+5V 31 +5V
|
||||
DB0 30 DB1
|
||||
DB2 29 DB3
|
||||
DB4 28 DB5
|
||||
DB6 27 DB7
|
||||
AB10 26 AB9
|
||||
AB11 25 AB12
|
||||
/AMWC 24 /MRDC
|
||||
/DMA2 23 DT/R
|
||||
/DMA1 22 /IORC
|
||||
/MWTC 21 /RES
|
||||
/IOWC 20 /AIOWC
|
||||
GND 19 GND
|
||||
/CLK5 18 DEN
|
||||
/IRDY 17 /MRDY
|
||||
/EXT1 16 /EXT2
|
||||
/INT3 15 /ALE
|
||||
AB6 14 /INT2
|
||||
AB8 13 AB7
|
||||
DB9 12 DB8
|
||||
DB11 11 DB10
|
||||
DB13 10 DB12
|
||||
DB15 9 DB14
|
||||
AB2 8 AB1
|
||||
AB4 7 AB3
|
||||
AB0 6 AB5
|
||||
AB14 5 AB13
|
||||
AB15 4 AB16
|
||||
AB17 3 AB18
|
||||
AB19 2 /BHE
|
||||
NMI 1 CLK15
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*
|
||||
|
||||
Dobbertin HD20 hard disk
|
||||
Dobbertin HD20 hard disk
|
||||
|
||||
*/
|
||||
|
||||
@ -81,7 +81,7 @@ void cpc_hd20_device::device_reset()
|
||||
READ8_MEMBER(cpc_hd20_device::hdc_r)
|
||||
{
|
||||
UINT8 ret = 0xff;
|
||||
|
||||
|
||||
switch(offset)
|
||||
{
|
||||
case 0:
|
||||
@ -95,7 +95,7 @@ READ8_MEMBER(cpc_hd20_device::hdc_r)
|
||||
ret = 0x01;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -123,7 +123,6 @@ WRITE8_MEMBER(cpc_hd20_device::hdc_w)
|
||||
|
||||
WRITE_LINE_MEMBER(cpc_hd20_device::irq_w)
|
||||
{
|
||||
// if(state)
|
||||
// m_hdc->set_ready();
|
||||
// if(state)
|
||||
// m_hdc->set_ready();
|
||||
}
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*
|
||||
|
||||
Dobbertin HD20 hard disk
|
||||
Dobbertin HD20 hard disk
|
||||
|
||||
Fixed disk interface for the Amstrad CPC
|
||||
|
||||
Controller: Seagate ST11M XT HD Controller
|
||||
Disk: 3.5" 20MB Seagate, Kyocera, NEC or Miniscribe (Geometry: 615 cylinders/4 heads/17 sectors)
|
||||
|
||||
Fixed disk interface for the Amstrad CPC
|
||||
|
||||
Controller: Seagate ST11M XT HD Controller
|
||||
Disk: 3.5" 20MB Seagate, Kyocera, NEC or Miniscribe (Geometry: 615 cylinders/4 heads/17 sectors)
|
||||
|
||||
*/
|
||||
|
||||
#ifndef HD20_H_
|
||||
@ -32,7 +32,7 @@ public:
|
||||
DECLARE_READ8_MEMBER(hdc_r);
|
||||
DECLARE_WRITE8_MEMBER(hdc_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(irq_w);
|
||||
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
|
@ -163,7 +163,7 @@ const device_type ST11M_HDC = &device_creator<st11m_device>;
|
||||
|
||||
xt_hdc_device::xt_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
device_t(mconfig, XT_HDC, "Generic PC-XT Fixed Disk Controller", tag, owner, clock, "xt_hdc", __FILE__),
|
||||
m_irq_handler(*this),
|
||||
m_irq_handler(*this),
|
||||
m_drq_handler(*this)
|
||||
{
|
||||
m_type = STANDARD;
|
||||
@ -171,14 +171,14 @@ xt_hdc_device::xt_hdc_device(const machine_config &mconfig, const char *tag, dev
|
||||
|
||||
xt_hdc_device::xt_hdc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) :
|
||||
device_t(mconfig, type, name, tag, owner, clock, shortname, source),
|
||||
m_irq_handler(*this),
|
||||
m_irq_handler(*this),
|
||||
m_drq_handler(*this)
|
||||
{
|
||||
}
|
||||
|
||||
ec1841_device::ec1841_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
xt_hdc_device(mconfig, EC1841_HDC, "EC1841 Fixed Disk Controller", tag, owner, clock, "ec1481", __FILE__),
|
||||
m_irq_handler(*this),
|
||||
m_irq_handler(*this),
|
||||
m_drq_handler(*this)
|
||||
{
|
||||
m_type = EC1841;
|
||||
@ -186,7 +186,7 @@ ec1841_device::ec1841_device(const machine_config &mconfig, const char *tag, dev
|
||||
|
||||
st11m_device::st11m_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
xt_hdc_device(mconfig, EC1841_HDC, "Seagate ST11M Fixed Disk Controller", tag, owner, clock, "st11m", __FILE__),
|
||||
m_irq_handler(*this),
|
||||
m_irq_handler(*this),
|
||||
m_drq_handler(*this)
|
||||
{
|
||||
m_type = ST11M;
|
||||
@ -250,7 +250,7 @@ hard_disk_file *xt_hdc_device::pc_hdc_file(int id)
|
||||
|
||||
void xt_hdc_device::pc_hdc_result(int set_error_info)
|
||||
{
|
||||
if ( ( hdc_control & 0x02 ))
|
||||
if ( ( hdc_control & 0x02 ))
|
||||
{
|
||||
// dip switch selected IRQ 5 or 2
|
||||
m_irq_handler(1);
|
||||
@ -478,7 +478,7 @@ void xt_hdc_device::execute_write()
|
||||
hdcdma_dst = hdcdma_data;
|
||||
hdcdma_write = write_;
|
||||
hdcdma_size = size;
|
||||
|
||||
|
||||
if (!no_dma())
|
||||
{
|
||||
m_drq_handler(1);
|
||||
|
@ -1135,7 +1135,7 @@ void cheat_manager::reload()
|
||||
m_disabled = false;
|
||||
|
||||
// load the cheat file, if it's a system that has a software list then try softlist_name/shortname.xml first,
|
||||
// if it fails to load then try to load via crc32 - basename/crc32.xml ( eg. 01234567.xml )
|
||||
// if it fails to load then try to load via crc32 - basename/crc32.xml ( eg. 01234567.xml )
|
||||
image_interface_iterator iter(machine().root_device());
|
||||
for (device_image_interface *image = iter.first(); image != NULL; image = iter.next())
|
||||
if (image->exists())
|
||||
@ -1150,7 +1150,7 @@ void cheat_manager::reload()
|
||||
load_cheats(filename.c_str());
|
||||
break;
|
||||
}
|
||||
// else we are loading outside the software list, try to load machine_basename/crc32.xml
|
||||
// else we are loading outside the software list, try to load machine_basename/crc32.xml
|
||||
else
|
||||
{
|
||||
UINT32 crc = image->crc();
|
||||
|
@ -493,11 +493,11 @@ void hmcs40_cpu_device::execute_set_input(int line, int state)
|
||||
}
|
||||
else
|
||||
m_timer->adjust(m_timer_halted_remain);
|
||||
|
||||
|
||||
m_halt = state;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (line != 0 && line != 1)
|
||||
return;
|
||||
|
||||
@ -577,7 +577,7 @@ void hmcs40_cpu_device::execute_run()
|
||||
m_icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
while (m_icount > 0)
|
||||
{
|
||||
// LPU is handled 1 cycle later
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -24,7 +24,7 @@
|
||||
// Input lines
|
||||
#define HPHYBRID_IRH 0 // High-level interrupt
|
||||
#define HPHYBRID_IRL 1 // Low-level interrupt
|
||||
#define HPHYBRID_INT_LVLS 2 // Levels of interrupt
|
||||
#define HPHYBRID_INT_LVLS 2 // Levels of interrupt
|
||||
|
||||
#define HPHYBRID_DMAR 2 // DMA request
|
||||
#define HPHYBRID_HALT 3 // "Halt" input
|
||||
@ -66,76 +66,76 @@ class hp_hybrid_cpu_device : public cpu_device
|
||||
{
|
||||
public:
|
||||
protected:
|
||||
hp_hybrid_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
hp_hybrid_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname);
|
||||
|
||||
// device_execute_interface overrides
|
||||
virtual UINT32 execute_min_cycles() const { return 6; }
|
||||
virtual UINT32 execute_max_cycles() const { return 25; }
|
||||
virtual UINT32 execute_input_lines() const { return 2; }
|
||||
virtual UINT32 execute_default_irq_vector() const { return 0xffff; }
|
||||
virtual void execute_run();
|
||||
virtual void execute_set_input(int inputnum, int state);
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
UINT16 execute_one(UINT16 opcode);
|
||||
UINT16 execute_one_sub(UINT16 opcode);
|
||||
// device_execute_interface overrides
|
||||
virtual UINT32 execute_min_cycles() const { return 6; }
|
||||
virtual UINT32 execute_max_cycles() const { return 25; }
|
||||
virtual UINT32 execute_input_lines() const { return 2; }
|
||||
virtual UINT32 execute_default_irq_vector() const { return 0xffff; }
|
||||
virtual void execute_run();
|
||||
virtual void execute_set_input(int inputnum, int state);
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const { return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_IO) ? &m_io_config : NULL ); }
|
||||
UINT16 execute_one(UINT16 opcode);
|
||||
UINT16 execute_one_sub(UINT16 opcode);
|
||||
|
||||
// device_state_interface overrides
|
||||
void state_string_export(const device_state_entry &entry, std::string &str);
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual UINT32 disasm_min_opcode_bytes() const { return 2; }
|
||||
virtual UINT32 disasm_max_opcode_bytes() const { return 2; }
|
||||
virtual offs_t disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options);
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const { return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_IO) ? &m_io_config : NULL ); }
|
||||
|
||||
// device_state_interface overrides
|
||||
void state_string_export(const device_state_entry &entry, std::string &str);
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual UINT32 disasm_min_opcode_bytes() const { return 2; }
|
||||
virtual UINT32 disasm_max_opcode_bytes() const { return 2; }
|
||||
virtual offs_t disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options);
|
||||
|
||||
private:
|
||||
address_space_config m_program_config;
|
||||
address_space_config m_io_config;
|
||||
|
||||
address_space *m_program;
|
||||
direct_read_data *m_direct;
|
||||
address_space *m_io;
|
||||
int m_icount;
|
||||
|
||||
// State of processor
|
||||
UINT16 m_reg_A; // Register A
|
||||
UINT16 m_reg_B; // Register B
|
||||
UINT16 m_reg_P; // Register P
|
||||
UINT16 m_reg_R; // Register R
|
||||
UINT16 m_reg_C; // Register C
|
||||
UINT16 m_reg_D; // Register D
|
||||
UINT16 m_reg_IV; // Register IV
|
||||
UINT8 m_reg_PA[ HPHYBRID_INT_LVLS + 1 ]; // Stack of register PA (4 bit-long)
|
||||
UINT16 m_flags; // Flags (carry, overflow, cb, db, int en, dma en, dma dir)
|
||||
UINT8 m_dmapa; // DMA peripheral address (4 bits)
|
||||
UINT16 m_dmama; // DMA address
|
||||
UINT16 m_dmac; // DMA counter
|
||||
UINT16 m_reg_I; // Instruction register
|
||||
address_space_config m_program_config;
|
||||
address_space_config m_io_config;
|
||||
|
||||
UINT16 get_ea(UINT16 opcode);
|
||||
void do_add(UINT16& addend1 , UINT16 addend2);
|
||||
UINT16 get_skip_addr(UINT16 opcode , bool condition) const;
|
||||
UINT16 get_skip_addr_sc(UINT16 opcode , UINT16& v , unsigned n);
|
||||
void do_pw(UINT16 opcode);
|
||||
void check_for_interrupts(void);
|
||||
|
||||
UINT16 RM(UINT16 addr);
|
||||
void WM(UINT16 addr , UINT16 v);
|
||||
void WMB(UINT32 addr , UINT8 v);
|
||||
UINT16 RIO(UINT8 pa , UINT8 ic);
|
||||
void WIO(UINT8 pa , UINT8 ic , UINT16 v);
|
||||
address_space *m_program;
|
||||
direct_read_data *m_direct;
|
||||
address_space *m_io;
|
||||
int m_icount;
|
||||
|
||||
// State of processor
|
||||
UINT16 m_reg_A; // Register A
|
||||
UINT16 m_reg_B; // Register B
|
||||
UINT16 m_reg_P; // Register P
|
||||
UINT16 m_reg_R; // Register R
|
||||
UINT16 m_reg_C; // Register C
|
||||
UINT16 m_reg_D; // Register D
|
||||
UINT16 m_reg_IV; // Register IV
|
||||
UINT8 m_reg_PA[ HPHYBRID_INT_LVLS + 1 ]; // Stack of register PA (4 bit-long)
|
||||
UINT16 m_flags; // Flags (carry, overflow, cb, db, int en, dma en, dma dir)
|
||||
UINT8 m_dmapa; // DMA peripheral address (4 bits)
|
||||
UINT16 m_dmama; // DMA address
|
||||
UINT16 m_dmac; // DMA counter
|
||||
UINT16 m_reg_I; // Instruction register
|
||||
|
||||
UINT16 get_ea(UINT16 opcode);
|
||||
void do_add(UINT16& addend1 , UINT16 addend2);
|
||||
UINT16 get_skip_addr(UINT16 opcode , bool condition) const;
|
||||
UINT16 get_skip_addr_sc(UINT16 opcode , UINT16& v , unsigned n);
|
||||
void do_pw(UINT16 opcode);
|
||||
void check_for_interrupts(void);
|
||||
|
||||
UINT16 RM(UINT16 addr);
|
||||
void WM(UINT16 addr , UINT16 v);
|
||||
void WMB(UINT32 addr , UINT8 v);
|
||||
UINT16 RIO(UINT8 pa , UINT8 ic);
|
||||
void WIO(UINT8 pa , UINT8 ic , UINT16 v);
|
||||
};
|
||||
|
||||
class hp_5061_3011_cpu_device : public hp_hybrid_cpu_device
|
||||
{
|
||||
public:
|
||||
hp_5061_3011_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
hp_5061_3011_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
};
|
||||
|
||||
extern const device_type HP_5061_3011;
|
||||
|
@ -11,84 +11,84 @@
|
||||
typedef void (*fn_dis_param)(char *buffer , offs_t pc , UINT16 opcode);
|
||||
|
||||
typedef struct {
|
||||
UINT16 m_op_mask;
|
||||
UINT16 m_opcode;
|
||||
const char *m_mnemonic;
|
||||
fn_dis_param m_param_fn;
|
||||
UINT32 m_dasm_flags;
|
||||
UINT16 m_op_mask;
|
||||
UINT16 m_opcode;
|
||||
const char *m_mnemonic;
|
||||
fn_dis_param m_param_fn;
|
||||
UINT32 m_dasm_flags;
|
||||
} dis_entry_t;
|
||||
|
||||
static void addr_2_str(char *buffer , UINT16 addr , bool indirect)
|
||||
{
|
||||
char *s = buffer + strlen(buffer);
|
||||
char *s = buffer + strlen(buffer);
|
||||
|
||||
s += sprintf(s , "$%04x" , addr);
|
||||
s += sprintf(s , "$%04x" , addr);
|
||||
|
||||
switch (addr) {
|
||||
case HP_REG_A_ADDR:
|
||||
strcpy(s , "(A)");
|
||||
break;
|
||||
switch (addr) {
|
||||
case HP_REG_A_ADDR:
|
||||
strcpy(s , "(A)");
|
||||
break;
|
||||
|
||||
case HP_REG_B_ADDR:
|
||||
strcpy(s , "(B)");
|
||||
break;
|
||||
case HP_REG_B_ADDR:
|
||||
strcpy(s , "(B)");
|
||||
break;
|
||||
|
||||
case HP_REG_P_ADDR:
|
||||
strcpy(s , "(P)");
|
||||
break;
|
||||
case HP_REG_P_ADDR:
|
||||
strcpy(s , "(P)");
|
||||
break;
|
||||
|
||||
case HP_REG_R_ADDR:
|
||||
strcpy(s , "(R)");
|
||||
break;
|
||||
case HP_REG_R_ADDR:
|
||||
strcpy(s , "(R)");
|
||||
break;
|
||||
|
||||
case HP_REG_R4_ADDR:
|
||||
strcpy(s , "(R4)");
|
||||
break;
|
||||
case HP_REG_R4_ADDR:
|
||||
strcpy(s , "(R4)");
|
||||
break;
|
||||
|
||||
case HP_REG_R5_ADDR:
|
||||
strcpy(s , "(R5)");
|
||||
break;
|
||||
case HP_REG_R5_ADDR:
|
||||
strcpy(s , "(R5)");
|
||||
break;
|
||||
|
||||
case HP_REG_R6_ADDR:
|
||||
strcpy(s , "(R6)");
|
||||
break;
|
||||
case HP_REG_R6_ADDR:
|
||||
strcpy(s , "(R6)");
|
||||
break;
|
||||
|
||||
case HP_REG_R7_ADDR:
|
||||
strcpy(s , "(R7)");
|
||||
break;
|
||||
case HP_REG_R7_ADDR:
|
||||
strcpy(s , "(R7)");
|
||||
break;
|
||||
|
||||
case HP_REG_IV_ADDR:
|
||||
strcpy(s , "(IV)");
|
||||
break;
|
||||
case HP_REG_IV_ADDR:
|
||||
strcpy(s , "(IV)");
|
||||
break;
|
||||
|
||||
case HP_REG_PA_ADDR:
|
||||
strcpy(s , "(PA)");
|
||||
break;
|
||||
case HP_REG_PA_ADDR:
|
||||
strcpy(s , "(PA)");
|
||||
break;
|
||||
|
||||
case HP_REG_DMAPA_ADDR:
|
||||
strcpy(s , "(DMAPA)");
|
||||
break;
|
||||
case HP_REG_DMAPA_ADDR:
|
||||
strcpy(s , "(DMAPA)");
|
||||
break;
|
||||
|
||||
case HP_REG_DMAMA_ADDR:
|
||||
strcpy(s , "(DMAMA)");
|
||||
break;
|
||||
case HP_REG_DMAMA_ADDR:
|
||||
strcpy(s , "(DMAMA)");
|
||||
break;
|
||||
|
||||
case HP_REG_DMAC_ADDR:
|
||||
strcpy(s , "(DMAC)");
|
||||
break;
|
||||
case HP_REG_DMAC_ADDR:
|
||||
strcpy(s , "(DMAC)");
|
||||
break;
|
||||
|
||||
case HP_REG_C_ADDR:
|
||||
strcpy(s , "(C)");
|
||||
break;
|
||||
case HP_REG_C_ADDR:
|
||||
strcpy(s , "(C)");
|
||||
break;
|
||||
|
||||
case HP_REG_D_ADDR:
|
||||
strcpy(s , "(D)");
|
||||
break;
|
||||
}
|
||||
case HP_REG_D_ADDR:
|
||||
strcpy(s , "(D)");
|
||||
break;
|
||||
}
|
||||
|
||||
if (indirect) {
|
||||
strcat(s , ",I");
|
||||
}
|
||||
if (indirect) {
|
||||
strcat(s , ",I");
|
||||
}
|
||||
}
|
||||
|
||||
static void param_none(char *buffer , offs_t pc , UINT16 opcode)
|
||||
@ -97,185 +97,185 @@ static void param_none(char *buffer , offs_t pc , UINT16 opcode)
|
||||
|
||||
static void param_loc(char *buffer , offs_t pc , UINT16 opcode)
|
||||
{
|
||||
UINT16 base;
|
||||
UINT16 off;
|
||||
UINT16 base;
|
||||
UINT16 off;
|
||||
|
||||
if (opcode & 0x0400) {
|
||||
// Current page
|
||||
base = pc;
|
||||
} else {
|
||||
// Base page
|
||||
base = 0;
|
||||
}
|
||||
if (opcode & 0x0400) {
|
||||
// Current page
|
||||
base = pc;
|
||||
} else {
|
||||
// Base page
|
||||
base = 0;
|
||||
}
|
||||
|
||||
off = opcode & 0x3ff;
|
||||
if (off & 0x200) {
|
||||
off -= 0x400;
|
||||
}
|
||||
off = opcode & 0x3ff;
|
||||
if (off & 0x200) {
|
||||
off -= 0x400;
|
||||
}
|
||||
|
||||
addr_2_str(buffer , base + off , (opcode & 0x8000) != 0);
|
||||
addr_2_str(buffer , base + off , (opcode & 0x8000) != 0);
|
||||
}
|
||||
|
||||
static void param_addr32(char *buffer , offs_t pc , UINT16 opcode)
|
||||
{
|
||||
addr_2_str(buffer , opcode & 0x1f , (opcode & 0x8000) != 0);
|
||||
addr_2_str(buffer , opcode & 0x1f , (opcode & 0x8000) != 0);
|
||||
}
|
||||
|
||||
static void param_skip(char *buffer , offs_t pc , UINT16 opcode)
|
||||
{
|
||||
UINT16 off = opcode & 0x3f;
|
||||
if (off & 0x20) {
|
||||
off -= 0x40;
|
||||
}
|
||||
addr_2_str(buffer , pc + off , false);
|
||||
UINT16 off = opcode & 0x3f;
|
||||
if (off & 0x20) {
|
||||
off -= 0x40;
|
||||
}
|
||||
addr_2_str(buffer , pc + off , false);
|
||||
}
|
||||
|
||||
static void param_skip_sc(char *buffer , offs_t pc , UINT16 opcode)
|
||||
{
|
||||
param_skip(buffer, pc, opcode);
|
||||
param_skip(buffer, pc, opcode);
|
||||
|
||||
if (opcode & 0x80) {
|
||||
if (opcode & 0x40) {
|
||||
strcat(buffer , ",S");
|
||||
} else {
|
||||
strcat(buffer , ",C");
|
||||
}
|
||||
}
|
||||
if (opcode & 0x80) {
|
||||
if (opcode & 0x40) {
|
||||
strcat(buffer , ",S");
|
||||
} else {
|
||||
strcat(buffer , ",C");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void param_ret(char *buffer , offs_t pc , UINT16 opcode)
|
||||
{
|
||||
char *s = buffer + strlen(buffer);
|
||||
char *s = buffer + strlen(buffer);
|
||||
|
||||
int off = opcode & 0x3f;
|
||||
int off = opcode & 0x3f;
|
||||
|
||||
if (off & 0x20) {
|
||||
off -= 0x40;
|
||||
}
|
||||
if (off & 0x20) {
|
||||
off -= 0x40;
|
||||
}
|
||||
|
||||
s += sprintf(s , "%d" , off);
|
||||
if (opcode & 0x40) {
|
||||
strcpy(s , ",P");
|
||||
}
|
||||
s += sprintf(s , "%d" , off);
|
||||
if (opcode & 0x40) {
|
||||
strcpy(s , ",P");
|
||||
}
|
||||
}
|
||||
|
||||
static void param_n16(char *buffer , offs_t pc , UINT16 opcode)
|
||||
{
|
||||
char *s = buffer + strlen(buffer);
|
||||
char *s = buffer + strlen(buffer);
|
||||
|
||||
sprintf(s , "%u" , (opcode & 0xf) + 1);
|
||||
sprintf(s , "%u" , (opcode & 0xf) + 1);
|
||||
}
|
||||
|
||||
static void param_reg_id(char *buffer , offs_t pc , UINT16 opcode)
|
||||
{
|
||||
addr_2_str(buffer, opcode & 7, false);
|
||||
addr_2_str(buffer, opcode & 7, false);
|
||||
|
||||
if (opcode & 0x80) {
|
||||
strcat(buffer , ",D");
|
||||
} else {
|
||||
strcat(buffer , ",I");
|
||||
}
|
||||
if (opcode & 0x80) {
|
||||
strcat(buffer , ",D");
|
||||
} else {
|
||||
strcat(buffer , ",I");
|
||||
}
|
||||
}
|
||||
|
||||
static const dis_entry_t dis_table[] = {
|
||||
// *** BPC Instructions ***
|
||||
{0xffff , 0x0000 , "NOP" , param_none , 0 },
|
||||
{0x7800 , 0x0000 , "LDA" , param_loc , 0 },
|
||||
{0x7800 , 0x0800 , "LDB" , param_loc , 0 },
|
||||
{0x7800 , 0x1000 , "CPA" , param_loc , 0 },
|
||||
{0x7800 , 0x1800 , "CPB" , param_loc , 0 },
|
||||
{0x7800 , 0x2000 , "ADA" , param_loc , 0 },
|
||||
{0x7800 , 0x2800 , "ADB" , param_loc , 0 },
|
||||
{0x7800 , 0x3000 , "STA" , param_loc , 0 },
|
||||
{0x7800 , 0x3800 , "STB" , param_loc , 0 },
|
||||
{0x7800 , 0x4000 , "JSM" , param_loc , DASMFLAG_STEP_OVER },
|
||||
{0x7800 , 0x4800 , "ISZ" , param_loc , 0 },
|
||||
{0x7800 , 0x5000 , "AND" , param_loc , 0 },
|
||||
{0x7800 , 0x5800 , "DSZ" , param_loc , 0 },
|
||||
{0x7800 , 0x6000 , "IOR" , param_loc , 0 },
|
||||
{0x7800 , 0x6800 , "JMP" , param_loc , 0 },
|
||||
{0x7fe0 , 0x7000 , "EXE" , param_addr32 , 0 },
|
||||
{0xffc0 , 0x7400 , "RZA" , param_skip , 0 },
|
||||
{0xffc0 , 0x7C00 , "RZB" , param_skip , 0 },
|
||||
{0xffc0 , 0x7440 , "RIA" , param_skip , 0 },
|
||||
{0xffc0 , 0x7C40 , "RIB" , param_skip , 0 },
|
||||
{0xffc0 , 0x7500 , "SZA" , param_skip , 0 },
|
||||
{0xffc0 , 0x7D00 , "SZB" , param_skip , 0 },
|
||||
{0xffc0 , 0x7540 , "SIA" , param_skip , 0 },
|
||||
{0xffc0 , 0x7D40 , "SIB" , param_skip , 0 },
|
||||
{0xffc0 , 0x7480 , "SFS" , param_skip , 0 },
|
||||
{0xffc0 , 0x7580 , "SFC" , param_skip , 0 },
|
||||
{0xffc0 , 0x7c80 , "SSS" , param_skip , 0 },
|
||||
{0xffc0 , 0x7d80 , "SSC" , param_skip , 0 },
|
||||
{0xffc0 , 0x7cc0 , "SHS" , param_skip , 0 },
|
||||
{0xffc0 , 0x7dc0 , "SHC" , param_skip , 0 },
|
||||
{0xff00 , 0x7600 , "SLA" , param_skip_sc , 0 },
|
||||
{0xff00 , 0x7e00 , "SLB" , param_skip_sc , 0 },
|
||||
{0xff00 , 0x7700 , "RLA" , param_skip_sc , 0 },
|
||||
{0xff00 , 0x7f00 , "RLB" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xf400 , "SAP" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xfc00 , "SBP" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xf500 , "SAM" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xfd00 , "SBM" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xf600 , "SOC" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xf700 , "SOS" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xfe00 , "SEC" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xff00 , "SES" , param_skip_sc , 0 },
|
||||
{0xffff , 0xf020 , "TCA" , param_none , 0 },
|
||||
{0xffff , 0xf820 , "TCB" , param_none , 0 },
|
||||
{0xffff , 0xf060 , "CMA" , param_none , 0 },
|
||||
{0xffff , 0xf860 , "CMB" , param_none , 0 },
|
||||
{0xff80 , 0xf080 , "RET" , param_ret , DASMFLAG_STEP_OUT },
|
||||
{0xfff0 , 0xf100 , "AAR" , param_n16 , 0 },
|
||||
{0xfff0 , 0xf900 , "ABR" , param_n16 , 0 },
|
||||
{0xffff , 0xf14f , "CLA" , param_none , 0 },
|
||||
{0xfff0 , 0xf140 , "SAR" , param_n16 , 0 },
|
||||
{0xffff , 0xf94f , "CLB" , param_none , 0 },
|
||||
{0xfff0 , 0xf940 , "SBR" , param_n16 , 0 },
|
||||
{0xfff0 , 0xf180 , "SAL" , param_n16 , 0 },
|
||||
{0xfff0 , 0xf980 , "SBL" , param_n16 , 0 },
|
||||
{0xfff0 , 0xf1c0 , "RAR" , param_n16 , 0 },
|
||||
{0xfff0 , 0xf9c0 , "RBR" , param_n16 , 0 },
|
||||
// *** IOC Instructions ***
|
||||
{0xffff , 0x7100 , "SDO" , param_none , 0 },
|
||||
{0xffff , 0x7108 , "SDI" , param_none , 0 },
|
||||
{0xffff , 0x7110 , "EIR" , param_none , 0 },
|
||||
{0xffff , 0x7118 , "DIR" , param_none , 0 },
|
||||
{0xffff , 0x7120 , "DMA" , param_none , 0 },
|
||||
{0xffff , 0x7128 , "PCM" , param_none , 0 },
|
||||
{0xffff , 0x7138 , "DDR" , param_none , 0 },
|
||||
{0xffff , 0x7140 , "DBL" , param_none , 0 },
|
||||
{0xffff , 0x7148 , "CBL" , param_none , 0 },
|
||||
{0xffff , 0x7150 , "DBU" , param_none , 0 },
|
||||
{0xffff , 0x7158 , "CBU" , param_none , 0 },
|
||||
{0xff78 , 0x7160 , "PWC" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7168 , "PWD" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7960 , "PBC" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7968 , "PBD" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7170 , "WWC" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7178 , "WWD" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7970 , "WBC" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7978 , "WBD" , param_reg_id , 0 },
|
||||
// *** END ***
|
||||
{0 , 0 , NULL , NULL , 0 }
|
||||
// *** BPC Instructions ***
|
||||
{0xffff , 0x0000 , "NOP" , param_none , 0 },
|
||||
{0x7800 , 0x0000 , "LDA" , param_loc , 0 },
|
||||
{0x7800 , 0x0800 , "LDB" , param_loc , 0 },
|
||||
{0x7800 , 0x1000 , "CPA" , param_loc , 0 },
|
||||
{0x7800 , 0x1800 , "CPB" , param_loc , 0 },
|
||||
{0x7800 , 0x2000 , "ADA" , param_loc , 0 },
|
||||
{0x7800 , 0x2800 , "ADB" , param_loc , 0 },
|
||||
{0x7800 , 0x3000 , "STA" , param_loc , 0 },
|
||||
{0x7800 , 0x3800 , "STB" , param_loc , 0 },
|
||||
{0x7800 , 0x4000 , "JSM" , param_loc , DASMFLAG_STEP_OVER },
|
||||
{0x7800 , 0x4800 , "ISZ" , param_loc , 0 },
|
||||
{0x7800 , 0x5000 , "AND" , param_loc , 0 },
|
||||
{0x7800 , 0x5800 , "DSZ" , param_loc , 0 },
|
||||
{0x7800 , 0x6000 , "IOR" , param_loc , 0 },
|
||||
{0x7800 , 0x6800 , "JMP" , param_loc , 0 },
|
||||
{0x7fe0 , 0x7000 , "EXE" , param_addr32 , 0 },
|
||||
{0xffc0 , 0x7400 , "RZA" , param_skip , 0 },
|
||||
{0xffc0 , 0x7C00 , "RZB" , param_skip , 0 },
|
||||
{0xffc0 , 0x7440 , "RIA" , param_skip , 0 },
|
||||
{0xffc0 , 0x7C40 , "RIB" , param_skip , 0 },
|
||||
{0xffc0 , 0x7500 , "SZA" , param_skip , 0 },
|
||||
{0xffc0 , 0x7D00 , "SZB" , param_skip , 0 },
|
||||
{0xffc0 , 0x7540 , "SIA" , param_skip , 0 },
|
||||
{0xffc0 , 0x7D40 , "SIB" , param_skip , 0 },
|
||||
{0xffc0 , 0x7480 , "SFS" , param_skip , 0 },
|
||||
{0xffc0 , 0x7580 , "SFC" , param_skip , 0 },
|
||||
{0xffc0 , 0x7c80 , "SSS" , param_skip , 0 },
|
||||
{0xffc0 , 0x7d80 , "SSC" , param_skip , 0 },
|
||||
{0xffc0 , 0x7cc0 , "SHS" , param_skip , 0 },
|
||||
{0xffc0 , 0x7dc0 , "SHC" , param_skip , 0 },
|
||||
{0xff00 , 0x7600 , "SLA" , param_skip_sc , 0 },
|
||||
{0xff00 , 0x7e00 , "SLB" , param_skip_sc , 0 },
|
||||
{0xff00 , 0x7700 , "RLA" , param_skip_sc , 0 },
|
||||
{0xff00 , 0x7f00 , "RLB" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xf400 , "SAP" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xfc00 , "SBP" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xf500 , "SAM" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xfd00 , "SBM" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xf600 , "SOC" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xf700 , "SOS" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xfe00 , "SEC" , param_skip_sc , 0 },
|
||||
{0xff00 , 0xff00 , "SES" , param_skip_sc , 0 },
|
||||
{0xffff , 0xf020 , "TCA" , param_none , 0 },
|
||||
{0xffff , 0xf820 , "TCB" , param_none , 0 },
|
||||
{0xffff , 0xf060 , "CMA" , param_none , 0 },
|
||||
{0xffff , 0xf860 , "CMB" , param_none , 0 },
|
||||
{0xff80 , 0xf080 , "RET" , param_ret , DASMFLAG_STEP_OUT },
|
||||
{0xfff0 , 0xf100 , "AAR" , param_n16 , 0 },
|
||||
{0xfff0 , 0xf900 , "ABR" , param_n16 , 0 },
|
||||
{0xffff , 0xf14f , "CLA" , param_none , 0 },
|
||||
{0xfff0 , 0xf140 , "SAR" , param_n16 , 0 },
|
||||
{0xffff , 0xf94f , "CLB" , param_none , 0 },
|
||||
{0xfff0 , 0xf940 , "SBR" , param_n16 , 0 },
|
||||
{0xfff0 , 0xf180 , "SAL" , param_n16 , 0 },
|
||||
{0xfff0 , 0xf980 , "SBL" , param_n16 , 0 },
|
||||
{0xfff0 , 0xf1c0 , "RAR" , param_n16 , 0 },
|
||||
{0xfff0 , 0xf9c0 , "RBR" , param_n16 , 0 },
|
||||
// *** IOC Instructions ***
|
||||
{0xffff , 0x7100 , "SDO" , param_none , 0 },
|
||||
{0xffff , 0x7108 , "SDI" , param_none , 0 },
|
||||
{0xffff , 0x7110 , "EIR" , param_none , 0 },
|
||||
{0xffff , 0x7118 , "DIR" , param_none , 0 },
|
||||
{0xffff , 0x7120 , "DMA" , param_none , 0 },
|
||||
{0xffff , 0x7128 , "PCM" , param_none , 0 },
|
||||
{0xffff , 0x7138 , "DDR" , param_none , 0 },
|
||||
{0xffff , 0x7140 , "DBL" , param_none , 0 },
|
||||
{0xffff , 0x7148 , "CBL" , param_none , 0 },
|
||||
{0xffff , 0x7150 , "DBU" , param_none , 0 },
|
||||
{0xffff , 0x7158 , "CBU" , param_none , 0 },
|
||||
{0xff78 , 0x7160 , "PWC" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7168 , "PWD" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7960 , "PBC" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7968 , "PBD" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7170 , "WWC" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7178 , "WWD" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7970 , "WBC" , param_reg_id , 0 },
|
||||
{0xff78 , 0x7978 , "WBD" , param_reg_id , 0 },
|
||||
// *** END ***
|
||||
{0 , 0 , NULL , NULL , 0 }
|
||||
};
|
||||
|
||||
CPU_DISASSEMBLE(hp_hybrid)
|
||||
{
|
||||
UINT16 opcode = ((UINT16)oprom[ 0 ] << 8) | oprom[ 1 ];
|
||||
const dis_entry_t *p;
|
||||
UINT16 opcode = ((UINT16)oprom[ 0 ] << 8) | oprom[ 1 ];
|
||||
const dis_entry_t *p;
|
||||
|
||||
for (p = dis_table; p->m_op_mask; p++) {
|
||||
if ((opcode & p->m_op_mask) == p->m_opcode) {
|
||||
strcpy(buffer , p->m_mnemonic);
|
||||
strcat(buffer , " ");
|
||||
p->m_param_fn(buffer , pc , opcode);
|
||||
return 1 | p->m_dasm_flags | DASMFLAG_SUPPORTED;
|
||||
}
|
||||
}
|
||||
for (p = dis_table; p->m_op_mask; p++) {
|
||||
if ((opcode & p->m_op_mask) == p->m_opcode) {
|
||||
strcpy(buffer , p->m_mnemonic);
|
||||
strcat(buffer , " ");
|
||||
p->m_param_fn(buffer , pc , opcode);
|
||||
return 1 | p->m_dasm_flags | DASMFLAG_SUPPORTED;
|
||||
}
|
||||
}
|
||||
|
||||
// Unknown opcode
|
||||
strcpy(buffer , "???");
|
||||
// Unknown opcode
|
||||
strcpy(buffer , "???");
|
||||
|
||||
return 1 | DASMFLAG_SUPPORTED;
|
||||
return 1 | DASMFLAG_SUPPORTED;
|
||||
}
|
||||
|
@ -1915,9 +1915,9 @@ bool i8086_common_cpu_device::common_op(UINT8 op)
|
||||
break;
|
||||
|
||||
case 0xe4: // i_inal
|
||||
if (m_lock) m_lock_handler(1);
|
||||
if (m_lock) m_lock_handler(1);
|
||||
m_regs.b[AL] = read_port_byte( fetch() );
|
||||
if (m_lock) { m_lock_handler(0); m_lock = false; }
|
||||
if (m_lock) { m_lock_handler(0); m_lock = false; }
|
||||
CLK(IN_IMM8);
|
||||
break;
|
||||
|
||||
|
@ -76,7 +76,7 @@ void m58846_device::device_timer(emu_timer &timer, device_timer_id id, int param
|
||||
{
|
||||
if (id != 0)
|
||||
return;
|
||||
|
||||
|
||||
// timer 1: 7-bit fixed counter (manual specifically says 127)
|
||||
if (++m_tmr_count[0] == 127)
|
||||
{
|
||||
@ -84,7 +84,7 @@ void m58846_device::device_timer(emu_timer &timer, device_timer_id id, int param
|
||||
m_irqflag[1] = true;
|
||||
m_possible_irq = true;
|
||||
}
|
||||
|
||||
|
||||
// timer 2: 8-bit user defined counter with auto-reload
|
||||
if (m_v & 8 && ++m_tmr_count[1] == 0)
|
||||
{
|
||||
@ -107,7 +107,7 @@ void m58846_device::write_v(UINT8 data)
|
||||
// d3: timer 2 enable
|
||||
m_tmr_irq_enabled[0] = (data & 1) ? true : false;
|
||||
m_possible_irq = true;
|
||||
|
||||
|
||||
m_v = data;
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ protected:
|
||||
// timers
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
|
||||
virtual void write_v(UINT8 data);
|
||||
|
||||
|
||||
emu_timer *m_timer;
|
||||
void reset_timer();
|
||||
};
|
||||
|
@ -85,7 +85,7 @@ void melps4_cpu_device::device_start()
|
||||
m_prgmask = (1 << m_prgwidth) - 1;
|
||||
m_datamask = (1 << m_datawidth) - 1;
|
||||
m_d_mask = (1 << m_d_pins) - 1;
|
||||
|
||||
|
||||
// resolve callbacks
|
||||
m_read_k.resolve_safe(0);
|
||||
m_read_d.resolve_safe(0);
|
||||
@ -106,7 +106,7 @@ void melps4_cpu_device::device_start()
|
||||
m_op = 0;
|
||||
m_prev_op = 0;
|
||||
m_bitmask = 0;
|
||||
|
||||
|
||||
m_port_d = 0;
|
||||
m_port_s = 0;
|
||||
m_port_f = 0;
|
||||
@ -257,7 +257,7 @@ UINT8 melps4_cpu_device::read_gen_port(int port)
|
||||
return m_port_s | m_read_s(port, 0xff);
|
||||
case MELPS4_PORTF:
|
||||
return m_port_f | (m_read_f(port, 0xff) & 0xf);
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -284,7 +284,7 @@ void melps4_cpu_device::write_gen_port(int port, UINT8 data)
|
||||
case MELPS4_PORTU:
|
||||
m_write_u(port, data & 1, 0xff);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -306,7 +306,7 @@ void melps4_cpu_device::write_d_pin(int bit, int state)
|
||||
m_port_d = 0;
|
||||
m_write_d(bit, 0, 0xffff);
|
||||
}
|
||||
|
||||
|
||||
// set/reset one port D pin
|
||||
else
|
||||
{
|
||||
@ -325,7 +325,7 @@ void melps4_cpu_device::write_d_pin(int bit, int state)
|
||||
void melps4_cpu_device::execute_set_input(int line, int state)
|
||||
{
|
||||
state = (state) ? 1 : 0;
|
||||
|
||||
|
||||
switch (line)
|
||||
{
|
||||
// external interrupt
|
||||
@ -338,7 +338,7 @@ void melps4_cpu_device::execute_set_input(int line, int state)
|
||||
}
|
||||
m_int_state = state;
|
||||
break;
|
||||
|
||||
|
||||
// timer input pin
|
||||
case MELPS4_INPUT_LINE_T:
|
||||
write_t_in(state);
|
||||
@ -353,14 +353,14 @@ void melps4_cpu_device::do_interrupt(int which)
|
||||
{
|
||||
m_inte = 0;
|
||||
m_irqflag[which] = false;
|
||||
|
||||
|
||||
m_icount--;
|
||||
push_pc();
|
||||
m_sms = m_sm;
|
||||
m_sm = false;
|
||||
m_op = 0; // fake nop
|
||||
m_pc = m_int_page << 7 | (which * 2);
|
||||
|
||||
|
||||
standard_irq_callback(which);
|
||||
}
|
||||
|
||||
@ -370,7 +370,7 @@ void melps4_cpu_device::check_interrupt()
|
||||
return;
|
||||
|
||||
int which = 0;
|
||||
|
||||
|
||||
// assume that lower irq vectors have higher priority
|
||||
if (m_irqflag[0])
|
||||
which = 0;
|
||||
@ -380,7 +380,7 @@ void melps4_cpu_device::check_interrupt()
|
||||
which = 2;
|
||||
else
|
||||
return;
|
||||
|
||||
|
||||
do_interrupt(which);
|
||||
}
|
||||
|
||||
@ -408,7 +408,7 @@ void melps4_cpu_device::execute_run()
|
||||
// remember previous state
|
||||
m_prev_op = m_op;
|
||||
m_prev_pc = m_pc;
|
||||
|
||||
|
||||
// Interrupts are not accepted during skips or LXY, LA, EI, DI, RT/RTS/RTI or any branch.
|
||||
// Documentation is conflicting here: older docs say that it is allowed during skips,
|
||||
// newer docs specifically say when interrupts are prohibited.
|
||||
|
@ -191,7 +191,7 @@ protected:
|
||||
UINT16 m_op;
|
||||
UINT16 m_prev_op;
|
||||
UINT8 m_bitmask; // opcode bit argument
|
||||
|
||||
|
||||
UINT16 m_port_d; // last written port data
|
||||
UINT8 m_port_s; // "
|
||||
UINT8 m_port_f; // "
|
||||
@ -241,7 +241,7 @@ protected:
|
||||
devcb_write8 m_write_g;
|
||||
devcb_write8 m_write_u;
|
||||
devcb_write_line m_write_t;
|
||||
|
||||
|
||||
virtual void write_t_in(int state) { m_t_in_state = state; }
|
||||
virtual void write_v(UINT8 data) { m_v = data; }
|
||||
virtual void write_w(UINT8 data) { m_w = data; }
|
||||
|
@ -490,7 +490,7 @@ void melps4_cpu_device::op_b()
|
||||
{
|
||||
// B xy: branch
|
||||
m_prohibit_irq = true;
|
||||
|
||||
|
||||
// determine new page:
|
||||
// - short call: subroutine page
|
||||
// - short jump: current page, or sub. page + 1 when in sub. mode
|
||||
@ -503,9 +503,9 @@ void melps4_cpu_device::op_b()
|
||||
}
|
||||
else if (m_sm)
|
||||
page = m_sm_page | (m_op >> 7 & 1);
|
||||
|
||||
|
||||
m_pc = page << 7 | (m_op & 0x7f);
|
||||
|
||||
|
||||
// if BA opcode was executed, set PC low 4 bits to A
|
||||
if (m_ba_flag)
|
||||
{
|
||||
|
@ -539,7 +539,6 @@ void mn10200_device::execute_run()
|
||||
{
|
||||
while (m_cycles > 0)
|
||||
{
|
||||
|
||||
// internal peripheral, external pin, or prev instruction may have changed irq state
|
||||
while (m_possible_irq)
|
||||
{
|
||||
|
@ -421,16 +421,16 @@ void info_xml_creator::output_devices()
|
||||
if (shortnames.add(dev->shortname(), 0, FALSE) != TMERR_DUPLICATE)
|
||||
output_one_device(*dev, temptag.c_str());
|
||||
|
||||
// also, check for subdevices with ROMs (a few devices are missed otherwise, e.g. MPU401)
|
||||
device_iterator deviter2(*dev);
|
||||
for (device_t *device = deviter2.first(); device != NULL; device = deviter2.next())
|
||||
{
|
||||
if (device->owner() == dev && device->shortname()!= NULL && strlen(device->shortname())!=0)
|
||||
{
|
||||
if (shortnames.add(device->shortname(), 0, FALSE) != TMERR_DUPLICATE)
|
||||
output_one_device(*device, device->tag());
|
||||
}
|
||||
}
|
||||
// also, check for subdevices with ROMs (a few devices are missed otherwise, e.g. MPU401)
|
||||
device_iterator deviter2(*dev);
|
||||
for (device_t *device = deviter2.first(); device != NULL; device = deviter2.next())
|
||||
{
|
||||
if (device->owner() == dev && device->shortname()!= NULL && strlen(device->shortname())!=0)
|
||||
{
|
||||
if (shortnames.add(device->shortname(), 0, FALSE) != TMERR_DUPLICATE)
|
||||
output_one_device(*device, device->tag());
|
||||
}
|
||||
}
|
||||
|
||||
const_cast<machine_config &>(m_drivlist.config()).device_remove(&m_drivlist.config().root_device(), temptag.c_str());
|
||||
}
|
||||
|
@ -480,4 +480,4 @@ void riot6532_device::device_timer(emu_timer &timer, device_timer_id id, int par
|
||||
default:
|
||||
assert_always(FALSE, "Unknown id in riot6532_device::device_timer");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ private:
|
||||
UINT8 m_timershift;
|
||||
UINT8 m_timerstate;
|
||||
emu_timer * m_timer;
|
||||
|
||||
|
||||
enum
|
||||
{
|
||||
TIMER_END_CB
|
||||
|
@ -73,7 +73,7 @@ private:
|
||||
pstring m_name;
|
||||
};
|
||||
|
||||
#define MEMREGION_SOURCE(_name) \
|
||||
#define MEMREGION_SOURCE(_name) \
|
||||
setup.register_source(palloc(netlist_source_memregion_t, _name));
|
||||
|
||||
#define NETDEV_ANALOG_CALLBACK_MEMBER(_name) \
|
||||
|
@ -3,10 +3,10 @@
|
||||
/*
|
||||
|
||||
Texas Instruments TMS1024/TMS1025 I/O expander
|
||||
|
||||
|
||||
No documentation was available, just a pinout.
|
||||
Other than more port pins, TMS1025 is assumed to be same as TMS1024.
|
||||
|
||||
|
||||
TODO:
|
||||
- writes to port 0
|
||||
- what's the MS pin?
|
||||
@ -99,13 +99,13 @@ WRITE8_MEMBER(tms1024_device::write_s)
|
||||
WRITE_LINE_MEMBER(tms1024_device::write_std)
|
||||
{
|
||||
state = (state) ? 1 : 0;
|
||||
|
||||
|
||||
// output on rising edge
|
||||
if (state && !m_std)
|
||||
{
|
||||
if (m_s != 0)
|
||||
(*m_write_port[m_s-1])((offs_t)(m_s-1), m_h);
|
||||
}
|
||||
|
||||
|
||||
m_std = state;
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ protected:
|
||||
UINT8 m_h; // 4-bit data latch
|
||||
UINT8 m_s; // 3-bit port select
|
||||
UINT8 m_std; // strobe pin
|
||||
|
||||
|
||||
// callbacks
|
||||
devcb_write8 m_write_port1, m_write_port2, m_write_port3, m_write_port4, m_write_port5, m_write_port6, m_write_port7;
|
||||
devcb_write8 *m_write_port[7];
|
||||
|
@ -54,7 +54,7 @@ void initialize_factory(factory_list_t &factory)
|
||||
ENTRY(VCCS, VCCS, "-")
|
||||
ENTRY(CCCS, CCCS, "-")
|
||||
ENTRY(dummy_input, DUMMY_INPUT, "-")
|
||||
ENTRY(frontier, FRONTIER_DEV, "+I,G,Q") // not intended to be used directly
|
||||
ENTRY(frontier, FRONTIER_DEV, "+I,G,Q") // not intended to be used directly
|
||||
ENTRY(QBJT_EB, QBJT_EB, "model")
|
||||
ENTRY(QBJT_switch, QBJT_SW, "model")
|
||||
ENTRY(ttl_input, TTL_INPUT, "IN")
|
||||
|
@ -51,7 +51,7 @@
|
||||
NET_C(_G, _name.G) \
|
||||
NET_C(_OUT, _name.Q)
|
||||
|
||||
#define OPTIMIZE_FRONTIER(_attach, _r_in, _r_out) \
|
||||
#define OPTIMIZE_FRONTIER(_attach, _r_in, _r_out) \
|
||||
setup.register_frontier(# _attach, _r_in, _r_out);
|
||||
|
||||
#define RES_SWITCH(_name, _IN, _P1, _P2) \
|
||||
|
@ -238,11 +238,11 @@ void truthtable_desc_t::setup(const pstring_list_t &truthtable, UINT32 disabled_
|
||||
|
||||
}
|
||||
|
||||
#define ENTRYX(_n,_m,_h) case (_n * 1000 + _m * 10 + _h): \
|
||||
#define ENTRYX(_n,_m,_h) case (_n * 1000 + _m * 10 + _h): \
|
||||
{ typedef netlist_factory_truthtable_t<_n,_m,_h> xtype; \
|
||||
return palloc(xtype,name,classname,def_param); } break
|
||||
return palloc(xtype,name,classname,def_param); } break
|
||||
|
||||
#define ENTRYY(_n,_m) ENTRYX(_n,_m,0); ENTRYX(_n,_m,1)
|
||||
#define ENTRYY(_n,_m) ENTRYX(_n,_m,0); ENTRYX(_n,_m,1)
|
||||
|
||||
#define ENTRY(_n) ENTRYY(_n, 1); ENTRYY(_n, 2); ENTRYY(_n, 3); ENTRYY(_n, 4); ENTRYY(_n, 5); ENTRYY(_n, 6)
|
||||
|
||||
|
@ -99,7 +99,6 @@ public:
|
||||
|
||||
const logic_family_desc_t *logic_family_desc_t::from_model(const pstring &model)
|
||||
{
|
||||
|
||||
if (setup_t::model_value_str(model, "TYPE", "") == "TTL")
|
||||
return &netlist_family_TTL;
|
||||
if (setup_t::model_value_str(model, "TYPE", "") == "CD4000")
|
||||
|
@ -170,9 +170,8 @@ typedef UINT8 netlist_sig_t;
|
||||
// MACROS / netlist devices
|
||||
//============================================================
|
||||
|
||||
#define NETLIB_NAMESPACE_DEVICES_START() namespace netlist { namespace devices {
|
||||
|
||||
#define NETLIB_NAMESPACE_DEVICES_END() }}
|
||||
#define NETLIB_NAMESPACE_DEVICES_START() namespace netlist { namespace devices {
|
||||
#define NETLIB_NAMESPACE_DEVICES_END() }}
|
||||
|
||||
#define NETLIB_NAME(_chip) nld_ ## _chip
|
||||
|
||||
@ -292,7 +291,7 @@ namespace netlist
|
||||
fatalerror_e(const char *format, va_list ap);
|
||||
virtual ~fatalerror_e() throw() {}
|
||||
|
||||
const pstring &text() { return m_text; }
|
||||
const pstring &text() { return m_text; }
|
||||
private:
|
||||
pstring m_text;
|
||||
};
|
||||
@ -432,7 +431,7 @@ namespace netlist
|
||||
// -----------------------------------------------------------------------------
|
||||
// netlist_owned_object_t
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
class owned_object_t : public object_t
|
||||
{
|
||||
NETLIST_PREVENT_COPYING(owned_object_t)
|
||||
|
@ -17,42 +17,42 @@
|
||||
/*
|
||||
* The following options determine how object::update is called.
|
||||
* NL_PMF_TYPE_VIRTUAL
|
||||
* Use stock virtual call
|
||||
* Use stock virtual call
|
||||
*
|
||||
* NL_PMF_TYPE_GNUC_PMF
|
||||
* Use standard pointer to member function syntax
|
||||
* Use standard pointer to member function syntax
|
||||
*
|
||||
* NL_PMF_TYPE_GNUC_PMF_CONV
|
||||
* Use gnu extension and convert the pmf to a function pointer.
|
||||
* This is not standard compliant and needs
|
||||
* -Wno-pmf-conversions to compile.
|
||||
* NL_PMF_TYPE_GNUC_PMF_CONV
|
||||
* Use gnu extension and convert the pmf to a function pointer.
|
||||
* This is not standard compliant and needs
|
||||
* -Wno-pmf-conversions to compile.
|
||||
*
|
||||
* NL_PMF_TYPE_INTERNAL
|
||||
* Use the same approach as MAME for deriving the function pointer.
|
||||
* This is compiler-dependant as well
|
||||
* NL_PMF_TYPE_INTERNAL
|
||||
* Use the same approach as MAME for deriving the function pointer.
|
||||
* This is compiler-dependant as well
|
||||
*
|
||||
* Benchmarks for ./nltool -c run -f src/mame/drivers/nl_pong.c -t 10 -n pong_fast
|
||||
* Benchmarks for ./nltool -c run -f src/mame/drivers/nl_pong.c -t 10 -n pong_fast
|
||||
*
|
||||
* NL_PMF_TYPE_INTERNAL: 215%
|
||||
* NL_PMF_TYPE_GNUC_PMF: 163%
|
||||
* NL_PMF_TYPE_GNUC_PMF_CONV: 215%
|
||||
* NL_PMF_TYPE_VIRTUAL: 213%
|
||||
* NL_PMF_TYPE_INTERNAL: 215%
|
||||
* NL_PMF_TYPE_GNUC_PMF: 163%
|
||||
* NL_PMF_TYPE_GNUC_PMF_CONV: 215%
|
||||
* NL_PMF_TYPE_VIRTUAL: 213%
|
||||
*
|
||||
* The whole exercise was done to avoid virtual calls. In prior versions of
|
||||
* netlist, the INTERNAL and GNUC_PMF_CONV approach provided significant improvement.
|
||||
* Since than, ATTR_COLD was removed from functions declared as virtual.
|
||||
* This may explain that the recent benchmarks show no difference at all.
|
||||
* The whole exercise was done to avoid virtual calls. In prior versions of
|
||||
* netlist, the INTERNAL and GNUC_PMF_CONV approach provided significant improvement.
|
||||
* Since than, ATTR_COLD was removed from functions declared as virtual.
|
||||
* This may explain that the recent benchmarks show no difference at all.
|
||||
*
|
||||
* Disappointing is the GNUC_PMF performance.
|
||||
* Disappointing is the GNUC_PMF performance.
|
||||
*/
|
||||
|
||||
// This will be autodetected
|
||||
//#define NL_PMF_TYPE 3
|
||||
|
||||
#define NL_PMF_TYPE_VIRTUAL 0
|
||||
#define NL_PMF_TYPE_GNUC_PMF 1
|
||||
#define NL_PMF_TYPE_GNUC_PMF_CONV 2
|
||||
#define NL_PMF_TYPE_INTERNAL 3
|
||||
#define NL_PMF_TYPE_VIRTUAL 0
|
||||
#define NL_PMF_TYPE_GNUC_PMF 1
|
||||
#define NL_PMF_TYPE_GNUC_PMF_CONV 2
|
||||
#define NL_PMF_TYPE_INTERNAL 3
|
||||
|
||||
#ifndef NL_PMF_TYPE
|
||||
#if PHAS_PMF_INTERNAL
|
||||
|
@ -13,7 +13,6 @@
|
||||
|
||||
namespace netlist
|
||||
{
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
// net_device_t_base_factory
|
||||
// ----------------------------------------------------------------------------------------
|
||||
|
@ -16,7 +16,6 @@
|
||||
|
||||
namespace netlist
|
||||
{
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// net_dev class factory
|
||||
// -----------------------------------------------------------------------------
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
namespace netlist
|
||||
{
|
||||
|
||||
template <class _Element, class _Time>
|
||||
class timed_queue
|
||||
{
|
||||
|
@ -14,7 +14,6 @@
|
||||
|
||||
namespace netlist
|
||||
{
|
||||
|
||||
class parser_t : public ptokenizer
|
||||
{
|
||||
NETLIST_PREVENT_COPYING(parser_t)
|
||||
|
@ -39,7 +39,6 @@ NETLIST_END()
|
||||
|
||||
namespace netlist
|
||||
{
|
||||
|
||||
setup_t::setup_t(netlist_t *netlist)
|
||||
: m_netlist(netlist)
|
||||
, m_proxy_cnt(0)
|
||||
|
@ -55,10 +55,9 @@
|
||||
#define NETLIST_START(_name) \
|
||||
ATTR_COLD void NETLIST_NAME(_name)(netlist::setup_t &setup) \
|
||||
{
|
||||
|
||||
#define NETLIST_END() }
|
||||
|
||||
#define LOCAL_SOURCE(_name) \
|
||||
#define LOCAL_SOURCE(_name) \
|
||||
setup.register_source(palloc(netlist::source_proc_t, # _name, &NETLIST_NAME(_name)));
|
||||
|
||||
#define INCLUDE(_name) \
|
||||
@ -75,7 +74,6 @@ ATTR_COLD void NETLIST_NAME(_name)(netlist::setup_t &setup)
|
||||
|
||||
namespace netlist
|
||||
{
|
||||
|
||||
// Forward definition so we keep nl_factory.h out of the public
|
||||
class factory_list_t;
|
||||
|
||||
@ -282,8 +280,8 @@ namespace netlist
|
||||
public:
|
||||
source_proc_t(pstring name, void (*setup_func)(setup_t &))
|
||||
: setup_t::source_t(),
|
||||
m_setup_func(setup_func),
|
||||
m_setup_func_name(name)
|
||||
m_setup_func(setup_func),
|
||||
m_setup_func_name(name)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,6 @@
|
||||
|
||||
namespace netlist
|
||||
{
|
||||
|
||||
struct netlist_time
|
||||
{
|
||||
public:
|
||||
|
@ -145,10 +145,10 @@ public:
|
||||
// construct from any member function pointer
|
||||
class generic_class;
|
||||
typedef void (*generic_function)();
|
||||
|
||||
|
||||
#if (PSTANDALONE)
|
||||
typedef std::size_t FPTR;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
template<typename _MemberFunctionType>
|
||||
pmfp(_MemberFunctionType mfp)
|
||||
|
@ -97,7 +97,7 @@ public:
|
||||
plist_t() : std::vector<_ListClass>() {}
|
||||
plist_t(const int numElements) : std::vector<_ListClass>(numElements) {}
|
||||
|
||||
void add(const _ListClass &elem) { this->push_back(elem); }
|
||||
void add(const _ListClass &elem) { this->push_back(elem); }
|
||||
void clear_and_free()
|
||||
{
|
||||
for (_ListClass *i = this->data(); i < this->data() + this->size(); i++)
|
||||
@ -106,7 +106,7 @@ public:
|
||||
}
|
||||
this->clear();
|
||||
}
|
||||
bool contains(const _ListClass &elem) const
|
||||
bool contains(const _ListClass &elem) const
|
||||
{
|
||||
for (const _ListClass *i = this->data(); i < this->data() + this->size(); i++)
|
||||
{
|
||||
@ -116,7 +116,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
void remove(const _ListClass &elem)
|
||||
void remove(const _ListClass &elem)
|
||||
{
|
||||
for (int i = 0; i < this->size(); i++)
|
||||
{
|
||||
@ -127,12 +127,12 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
void remove_at(const int pos)
|
||||
void remove_at(const int pos)
|
||||
{
|
||||
this->erase(this->begin() + pos);
|
||||
}
|
||||
|
||||
int indexof(const _ListClass &elem) const
|
||||
int indexof(const _ListClass &elem) const
|
||||
{
|
||||
for (int i = 0; i < this->size(); i++)
|
||||
{
|
||||
@ -539,7 +539,6 @@ public:
|
||||
pstring_list_t(const pstring &str, const pstring &onstr, bool ignore_empty = false)
|
||||
: plist_t<pstring>()
|
||||
{
|
||||
|
||||
int p = 0;
|
||||
int pn;
|
||||
|
||||
@ -607,9 +606,9 @@ static inline void psort_list(Class &sl)
|
||||
{
|
||||
for(int i = 0; i < (int) sl.size() - 1; i++)
|
||||
{
|
||||
for(int j = i + 1; j < sl.size(); j++)
|
||||
if(sl[i] > sl[j])
|
||||
std::swap(sl[i], sl[j]);
|
||||
for(int j = i + 1; j < sl.size(); j++)
|
||||
if(sl[i] > sl[j])
|
||||
std::swap(sl[i], sl[j]);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ struct mat_cr_t
|
||||
unsigned nz_num;
|
||||
unsigned ia[_storage_N + 1];
|
||||
unsigned ja[_storage_N * _storage_N];
|
||||
unsigned diag[_storage_N]; /* n */
|
||||
unsigned diag[_storage_N]; /* n */
|
||||
|
||||
void mult_vec(const double * RESTRICT A, const double * RESTRICT x, double * RESTRICT res)
|
||||
{
|
||||
@ -85,14 +85,14 @@ struct mat_cr_t
|
||||
/*
|
||||
* Solve a linear equation Ax = r
|
||||
* where
|
||||
* A = L*U
|
||||
* A = L*U
|
||||
*
|
||||
* L unit lower triangular
|
||||
* U upper triangular
|
||||
* L unit lower triangular
|
||||
* U upper triangular
|
||||
*
|
||||
* ==> LUx = r
|
||||
*
|
||||
* ==> Ux = L⁻¹r = w
|
||||
* ==> Ux = L?????r = w
|
||||
*
|
||||
* ==> r = Lw
|
||||
*
|
||||
|
@ -250,7 +250,7 @@ ATTR_COLD void matrix_solver_direct_t<m_N, _storage_N>::vsetup(analog_net_t::lis
|
||||
}
|
||||
psort_list(t->m_nzrd);
|
||||
|
||||
t->m_nz.add(k); // add diagonal
|
||||
t->m_nz.add(k); // add diagonal
|
||||
psort_list(t->m_nz);
|
||||
}
|
||||
|
||||
@ -388,8 +388,8 @@ ATTR_HOT void matrix_solver_direct_t<m_N, _storage_N>::LE_solve()
|
||||
/* The code below is 30% faster than the original
|
||||
* implementation which is given here for reference.
|
||||
*
|
||||
* for (unsigned k = i + 1; k < kN; k++)
|
||||
* m_A[j][k] = m_A[j][k] + m_A[i][k] * f1;
|
||||
* for (unsigned k = i + 1; k < kN; k++)
|
||||
* m_A[j][k] = m_A[j][k] + m_A[i][k] * f1;
|
||||
*/
|
||||
double * RESTRICT d = &m_A[j][i+1];
|
||||
const double * RESTRICT s = &m_A[i][i+1];
|
||||
|
@ -78,10 +78,10 @@ private:
|
||||
|
||||
double m_c[_storage_N + 1]; /* mr + 1 */
|
||||
double m_g[_storage_N + 1]; /* mr + 1 */
|
||||
double * RESTRICT m_ht[_storage_N]; /* mr, (mr + 1) */
|
||||
double m_s[_storage_N]; /* mr + 1 */
|
||||
double * RESTRICT m_v[_storage_N + 1]; /*(mr + 1), n */
|
||||
//double m_y[_storage_N]; /* mr + 1 */
|
||||
double * RESTRICT m_ht[_storage_N]; /* mr, (mr + 1) */
|
||||
double m_s[_storage_N]; /* mr + 1 */
|
||||
double * RESTRICT m_v[_storage_N + 1]; /*(mr + 1), n */
|
||||
//double m_y[_storage_N]; /* mr + 1 */
|
||||
|
||||
double m_accuracy_mult;
|
||||
|
||||
@ -234,7 +234,7 @@ ATTR_HOT inline int matrix_solver_GMRES_t<m_N, _storage_N>::vsolve_non_dynamic(c
|
||||
if (gsl>=failed)
|
||||
{
|
||||
//for (int k = 0; k < iN; k++)
|
||||
// this->m_nets[k]->m_cur_Analog = new_V[k];
|
||||
// this->m_nets[k]->m_cur_Analog = new_V[k];
|
||||
// Fallback to direct solver ...
|
||||
this->m_gs_fail++;
|
||||
return matrix_solver_direct_t<m_N, _storage_N>::vsolve_non_dynamic(newton_raphson);
|
||||
@ -264,11 +264,11 @@ ATTR_HOT inline int matrix_solver_GMRES_t<m_N, _storage_N>::vsolve_non_dynamic(c
|
||||
|
||||
static inline void givens_mult( const double c, const double s, double * RESTRICT g0, double * RESTRICT g1 )
|
||||
{
|
||||
const double tg0 = c * *g0 - s * *g1;
|
||||
const double tg1 = s * *g0 + c * *g1;
|
||||
const double tg0 = c * *g0 - s * *g1;
|
||||
const double tg1 = s * *g0 + c * *g1;
|
||||
|
||||
*g0 = tg0;
|
||||
*g1 = tg1;
|
||||
*g0 = tg0;
|
||||
*g1 = tg1;
|
||||
}
|
||||
|
||||
template <unsigned m_N, unsigned _storage_N>
|
||||
@ -289,10 +289,10 @@ int matrix_solver_GMRES_t<m_N, _storage_N>::solve_ilu_gmres (double * RESTRICT x
|
||||
*
|
||||
* Yousef Saad,
|
||||
* Iterative Methods for Sparse Linear Systems,
|
||||
* Second Edition,
|
||||
* SIAM, 20003,
|
||||
* ISBN: 0898715342,
|
||||
* LC: QA188.S17.
|
||||
* Second Edition,
|
||||
* SIAM, 20003,
|
||||
* ISBN: 0898715342,
|
||||
* LC: QA188.S17.
|
||||
*
|
||||
*------------------------------------------------------------------------*/
|
||||
|
||||
|
@ -175,7 +175,7 @@ ATTR_HOT inline int matrix_solver_SOR_mat_t<m_N, _storage_N>::vsolve_non_dynamic
|
||||
s = s + nl_math::abs(this->m_A[k][i]);
|
||||
akk = s / akk - 1.0;
|
||||
if ( akk > lambdaN)
|
||||
lambdaN = akk;
|
||||
lambdaN = akk;
|
||||
if (akk < lambda1)
|
||||
lambda1 = akk;
|
||||
#endif
|
||||
|
@ -17,7 +17,6 @@
|
||||
template <unsigned _storage_N>
|
||||
struct pvector
|
||||
{
|
||||
|
||||
pvector(unsigned size)
|
||||
: m_N(size) { }
|
||||
|
||||
|
@ -17,15 +17,15 @@ static plist_t<int> bubble(const pnamedlist_t<Class *> &sl)
|
||||
ret[i] = i;
|
||||
|
||||
for(int i=0; i < sl.size()-1;i++)
|
||||
{
|
||||
for(int j=i+1; j < sl.size(); j++)
|
||||
{
|
||||
if(sl[ret[i]]->name() > sl[ret[j]]->name())
|
||||
{
|
||||
std::swap(ret[i], ret[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
for(int j=i+1; j < sl.size(); j++)
|
||||
{
|
||||
if(sl[ret[i]]->name() > sl[ret[j]]->name())
|
||||
{
|
||||
std::swap(ret[i], ret[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -179,7 +179,7 @@ nl_convert_base_t::unit_t nl_convert_base_t::m_units[] = {
|
||||
{"M", "CAP_M(%g)", 1.0e-3 },
|
||||
{"u", "CAP_U(%g)", 1.0e-6 }, /* eagle */
|
||||
{"U", "CAP_U(%g)", 1.0e-6 },
|
||||
{"µ", "CAP_U(%g)", 1.0e-6 },
|
||||
{"??", "CAP_U(%g)", 1.0e-6 },
|
||||
{"N", "CAP_N(%g)", 1.0e-9 },
|
||||
{"P", "CAP_P(%g)", 1.0e-12},
|
||||
{"F", "%ge-15", 1.0e-15},
|
||||
@ -444,7 +444,7 @@ void nl_convert_eagle_t::convert(const pstring &contents)
|
||||
pstring devname = token.str();
|
||||
pstring pin = tok.get_string();
|
||||
add_term(netname, devname + "." + pin);
|
||||
token = tok.get_token(); }
|
||||
token = tok.get_token(); }
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -454,5 +454,3 @@ void nl_convert_eagle_t::convert(const pstring &contents)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -164,7 +164,6 @@ public:
|
||||
|
||||
class eagle_tokenizer : public ptokenizer
|
||||
{
|
||||
|
||||
public:
|
||||
eagle_tokenizer(nl_convert_eagle_t &convert)
|
||||
: ptokenizer(), m_convert(convert)
|
||||
|
@ -557,13 +557,13 @@ void software_list_device::internal_validity_check(validity_checker &valid)
|
||||
break;
|
||||
}
|
||||
|
||||
// Did we lost the software parts?
|
||||
if (swinfo->num_parts() == 0)
|
||||
{
|
||||
osd_printf_error("%s: %s has no part\n", filename(), swinfo->shortname());
|
||||
break;
|
||||
}
|
||||
|
||||
// Did we lost the software parts?
|
||||
if (swinfo->num_parts() == 0)
|
||||
{
|
||||
osd_printf_error("%s: %s has no part\n", filename(), swinfo->shortname());
|
||||
break;
|
||||
}
|
||||
|
||||
// Second, since the xml is fine, run additional checks:
|
||||
|
||||
// check for duplicate names
|
||||
|
@ -489,7 +489,7 @@ void c352_device::device_start()
|
||||
divider=332;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
m_sample_rate_base = clock() / divider;
|
||||
|
||||
m_stream = machine().sound().stream_alloc(*this, 0, 4, m_sample_rate_base);
|
||||
|
@ -26,7 +26,7 @@ enum
|
||||
|
||||
#define MCFG_C352_DIVIDER(_setting) \
|
||||
c352_device::static_set_divider(*device, _setting);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
@ -43,7 +43,7 @@ public:
|
||||
|
||||
// inline configuration helpers
|
||||
static void static_set_divider(device_t &device, int setting);
|
||||
|
||||
|
||||
DECLARE_READ16_MEMBER(read);
|
||||
DECLARE_WRITE16_MEMBER(write);
|
||||
|
||||
@ -108,7 +108,7 @@ private:
|
||||
c352_ch_t m_c352_ch[32];
|
||||
int m_sample_rate_base;
|
||||
int m_divider;
|
||||
|
||||
|
||||
long m_channel_l[2048*2];
|
||||
long m_channel_r[2048*2];
|
||||
long m_channel_l2[2048*2];
|
||||
|
@ -47,7 +47,7 @@ namco_63701x_device::namco_63701x_device(const machine_config &mconfig, const ch
|
||||
void namco_63701x_device::device_start()
|
||||
{
|
||||
m_stream = stream_alloc(0, 2, clock()/1000);
|
||||
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
save_item(NAME(m_voices[i].select), i);
|
||||
|
@ -45,7 +45,7 @@ void st0016_device::device_start()
|
||||
{
|
||||
m_stream = stream_alloc(0, 2, 44100);
|
||||
m_ram_read_cb.resolve_safe(0);
|
||||
|
||||
|
||||
save_item(NAME(m_vpos));
|
||||
save_item(NAME(m_frac));
|
||||
save_item(NAME(m_lponce));
|
||||
|
@ -39,19 +39,19 @@
|
||||
*/
|
||||
|
||||
/* Chip types based on die marks from decap:
|
||||
chip type
|
||||
|||||| rom number
|
||||
|||||| |||||
|
||||
VVVVVV VVVVV
|
||||
T0280A 0281 = 1978 speak & spell, unknown difference to below, assumed same? uses old chirp
|
||||
T0280B 0281A = 1979 speak & spell, also == TMS5100, uses old chirp
|
||||
?????? ????? (no decap; likely 'T0280D 0281D') = 1980 speak & spell, 1981 speak & spell compact, changed energy table, otherwise same as above, uses old chirp
|
||||
T0280F 2801A = 1980 speak & math, 1980 speak and read, uses old chirp
|
||||
?????? ????? (no decap; likely 'T0280F 2802') = touch and tell, language translator; uses a unique chirp rom.
|
||||
?????? ????? = TMS5110
|
||||
T0280F 5110A = TMS5110AN2L
|
||||
|
||||
|
||||
chip type
|
||||
|||||| rom number
|
||||
|||||| |||||
|
||||
VVVVVV VVVVV
|
||||
T0280A 0281 = 1978 speak & spell, unknown difference to below, assumed same? uses old chirp
|
||||
T0280B 0281A = 1979 speak & spell, also == TMS5100, uses old chirp
|
||||
?????? ????? (no decap; likely 'T0280D 0281D') = 1980 speak & spell, 1981 speak & spell compact, changed energy table, otherwise same as above, uses old chirp
|
||||
T0280F 2801A = 1980 speak & math, 1980 speak and read, uses old chirp
|
||||
?????? ????? (no decap; likely 'T0280F 2802') = touch and tell, language translator; uses a unique chirp rom.
|
||||
?????? ????? = TMS5110
|
||||
T0280F 5110A = TMS5110AN2L
|
||||
|
||||
|
||||
*/
|
||||
|
||||
/* chip rom contents defines */
|
||||
@ -111,9 +111,9 @@ struct tms5100_coeffs
|
||||
#define TI_0280_2801_PATENT_PITCH \
|
||||
/* P */\
|
||||
{ 0, 41, 43, 45, 47, 49, 51, 53, \
|
||||
55, 58, 60, 63, 66, 70, 73, 76, \
|
||||
79, 83, 87, 90, 94, 99, 103, 107, \
|
||||
112, 118, 123, 129, 134, 140, 147, 153 },
|
||||
55, 58, 60, 63, 66, 70, 73, 76, \
|
||||
79, 83, 87, 90, 94, 99, 103, 107, \
|
||||
112, 118, 123, 129, 134, 140, 147, 153 },
|
||||
|
||||
#define TI_2802_PITCH \
|
||||
/* P */\
|
||||
@ -155,14 +155,14 @@ struct tms5100_coeffs
|
||||
#define TI_0280_PATENT_LPC \
|
||||
/* K1 */\
|
||||
{ -501, -497, -493, -488, -480, -471, -460, -446,\
|
||||
-427, -405, -378, -344, -305, -259, -206, -148,\
|
||||
-86, -21, 45, 110, 171, 227, 277, 320,\
|
||||
357, 388, 413, 434, 451, 464, 474, 498 },\
|
||||
-427, -405, -378, -344, -305, -259, -206, -148,\
|
||||
-86, -21, 45, 110, 171, 227, 277, 320,\
|
||||
357, 388, 413, 434, 451, 464, 474, 498 },\
|
||||
/* K2 */\
|
||||
{ -349, -328, -305, -280, -252, -223, -192, -158,\
|
||||
-124, -88, -51, -14, 23, 60, 97, 133,\
|
||||
167, 199, 230, 259, 286, 310, 333, 354,\
|
||||
372, 389, 404, 417, 429, 439, 449, 506 },\
|
||||
-124, -88, -51, -14, 23, 60, 97, 133,\
|
||||
167, 199, 230, 259, 286, 310, 333, 354,\
|
||||
372, 389, 404, 417, 429, 439, 449, 506 },\
|
||||
/* K3 */\
|
||||
{ -397, -365, -327, -282, -229, -170, -104, -36,\
|
||||
35, 104, 169, 228, 281, 326, 364, 396 },\
|
||||
@ -188,17 +188,17 @@ struct tms5100_coeffs
|
||||
#define TI_2801_2501E_LPC \
|
||||
/* K1 */\
|
||||
{ -501, -498, -495, -490, -485, -478, -469, -459,\
|
||||
-446, -431, -412, -389, -362, -331, -295, -253,\
|
||||
-207, -156, -102, -45, 13, 70, 126, 179,\
|
||||
228, 272, 311, 345, 374, 399, 420, 437 },\
|
||||
-446, -431, -412, -389, -362, -331, -295, -253,\
|
||||
-207, -156, -102, -45, 13, 70, 126, 179,\
|
||||
228, 272, 311, 345, 374, 399, 420, 437 },\
|
||||
/* K2 */\
|
||||
{ -376, -357, -335, -312, -286, -258, -227, -195,\
|
||||
-161, -124, -87, -49, -10, 29, 68, 106,\
|
||||
143, 178, 212, 243, 272, 299, 324, 346,\
|
||||
366, 384, 400, 414, 427, 438, 448, 506 },\
|
||||
-161, -124, -87, -49, -10, 29, 68, 106,\
|
||||
143, 178, 212, 243, 272, 299, 324, 346,\
|
||||
366, 384, 400, 414, 427, 438, 448, 506 },\
|
||||
/* K3 */\
|
||||
{ -407, -381, -349, -311, -268, -218, -162, -102,\
|
||||
-39, 25, 89, 149, 206, 257, 302, 341 },\
|
||||
-39, 25, 89, 149, 206, 257, 302, 341 },\
|
||||
/* K4 */\
|
||||
{ -290, -252, -209, -163, -114, -62, -9, 44,\
|
||||
97, 147, 194, 238, 278, 313, 344, 371 },\
|
||||
@ -207,7 +207,7 @@ struct tms5100_coeffs
|
||||
49, 101, 150, 196, 239, 278, 313, 344 },\
|
||||
/* K6 */\
|
||||
{ -193, -152, -109, -65, -20, 26, 71, 115,\
|
||||
158, 198, 235, 270, 301, 330, 355, 377 },\
|
||||
158, 198, 235, 270, 301, 330, 355, 377 },\
|
||||
/* K7 */\
|
||||
{ -254, -218, -180, -140, -97, -53, -8, 36,\
|
||||
81, 124, 165, 204, 240, 274, 304, 332 },\
|
||||
@ -222,26 +222,26 @@ struct tms5100_coeffs
|
||||
#define TI_2802_LPC \
|
||||
/* K1 */\
|
||||
{ -501, -498, -495, -490, -485, -478, -469, -459,\
|
||||
-446, -431, -412, -389, -362, -331, -295, -253,\
|
||||
-207, -156, -102, -45, 13, 70, 126, 179,\
|
||||
228, 272, 311, 345, 374, 399, 420, 437},\
|
||||
-446, -431, -412, -389, -362, -331, -295, -253,\
|
||||
-207, -156, -102, -45, 13, 70, 126, 179,\
|
||||
228, 272, 311, 345, 374, 399, 420, 437},\
|
||||
/* K2 */\
|
||||
{ -376, -357, -335, -312, -286, -258, -227, -195,\
|
||||
-161, -124, -87, -49, -10, 29, 68, 106,\
|
||||
143, 178, 212, 243, 272, 299, 324, 346,\
|
||||
366, 384, 400, 414, 427, 438, 448, 506},\
|
||||
-161, -124, -87, -49, -10, 29, 68, 106,\
|
||||
143, 178, 212, 243, 272, 299, 324, 346,\
|
||||
366, 384, 400, 414, 427, 438, 448, 506},\
|
||||
/* K3 */\
|
||||
{ -407, -381, -349, -311, -268, -218, -162, -102,\
|
||||
-39, 25, 89, 149, 206, 257, 302, 341},\
|
||||
-39, 25, 89, 149, 206, 257, 302, 341},\
|
||||
/* K4 */\
|
||||
{ -289, -248, -202, -152, -98, -43, 14, 71,\
|
||||
125, 177, 225, 269, 307, 341, 371, 506},\
|
||||
125, 177, 225, 269, 307, 341, 371, 506},\
|
||||
/* K5 */\
|
||||
{ -318, -283, -245, -202, -156, -107, -56, -3,\
|
||||
49, 101, 150, 196, 239, 278, 313, 344},\
|
||||
/* K6 */\
|
||||
{ -193, -152, -109, -65, -20, 26, 71, 115,\
|
||||
158, 198, 235, 270, 301, 330, 355, 377},\
|
||||
158, 198, 235, 270, 301, 330, 355, 377},\
|
||||
/* K7 */\
|
||||
{ -254, -218, -180, -140, -97, -53, -8, 36,\
|
||||
81, 124, 165, 204, 240, 274, 304, 332},\
|
||||
@ -255,20 +255,20 @@ struct tms5100_coeffs
|
||||
#define TI_5110_5220_LPC \
|
||||
/* K1 */\
|
||||
{ -501, -498, -497, -495, -493, -491, -488, -482,\
|
||||
-478, -474, -469, -464, -459, -452, -445, -437,\
|
||||
-412, -380, -339, -288, -227, -158, -81, -1,\
|
||||
-478, -474, -469, -464, -459, -452, -445, -437,\
|
||||
-412, -380, -339, -288, -227, -158, -81, -1,\
|
||||
80, 157, 226, 287, 337, 379, 411, 436 },\
|
||||
/* K2 */\
|
||||
{ -328, -303, -274, -244, -211, -175, -138, -99,\
|
||||
-59, -18, 24, 64, 105, 143, 180, 215,\
|
||||
248, 278, 306, 331, 354, 374, 392, 408,\
|
||||
422, 435, 445, 455, 463, 470, 476, 506 },\
|
||||
-59, -18, 24, 64, 105, 143, 180, 215,\
|
||||
248, 278, 306, 331, 354, 374, 392, 408,\
|
||||
422, 435, 445, 455, 463, 470, 476, 506 },\
|
||||
/* K3 */\
|
||||
{ -441, -387, -333, -279, -225, -171, -117, -63,\
|
||||
-9, 45, 98, 152, 206, 260, 314, 368 },\
|
||||
/* K4 */\
|
||||
{ -328, -273, -217, -161, -106, -50, 5, 61,\
|
||||
116, 172, 228, 283, 339, 394, 450, 506 },\
|
||||
116, 172, 228, 283, 339, 394, 450, 506 },\
|
||||
/* K5 */\
|
||||
{ -328, -282, -235, -189, -142, -96, -50, -3,\
|
||||
43, 90, 136, 182, 229, 275, 322, 368 },\
|
||||
@ -469,7 +469,7 @@ static const struct tms5100_coeffs T0280F_2802_coeff =
|
||||
/* interpolation coefficients */
|
||||
{ 3, 3, 3, 2, 2, 1, 1, 0 }
|
||||
};
|
||||
|
||||
|
||||
/* TMS5110A:
|
||||
(1984-90 era? early chips may be called TMS5110C; later chips past 1988 or so may be called TSP5110A)
|
||||
The TMS5110A LPC coefficients were originally read from an actual TMS5110A
|
||||
|
@ -22,7 +22,7 @@ Registers:
|
||||
Reg: Bits: Meaning:
|
||||
|
||||
0 7--- ---- Frequency divider flag (only downtown seems to set this)
|
||||
-654 3---
|
||||
-654 3---
|
||||
---- -2-- PCM/Waveform repeat flag (0:Ones 1:Repeat) (*1)
|
||||
---- --1- Sound out select (0:PCM 1:Waveform)
|
||||
---- ---0 Key on / off
|
||||
|
@ -296,7 +296,7 @@ void cirrus_gd5428_device::start_bitblt()
|
||||
else
|
||||
{
|
||||
UINT8 pixel = (vga.memory[m_blt_source_current % vga.svga_intf.vram_size] >> (7-(x % 8)) & 0x01) ? vga.gc.enable_set_reset : vga.gc.set_reset; // use GR0/1/10/11 background/foreground regs
|
||||
|
||||
|
||||
copy_pixel(pixel, vga.memory[m_blt_dest_current % vga.svga_intf.vram_size]);
|
||||
if((x % 8) == 7 && !(m_blt_mode & 0x40)) // don't increment if a pattern (it's only 8 bits)
|
||||
m_blt_source_current++;
|
||||
@ -1403,7 +1403,7 @@ WRITE8_MEMBER(cirrus_gd5428_device::mem_w)
|
||||
if(svga.rgb8_en)
|
||||
{
|
||||
if(data & (0x01 << (7-i)))
|
||||
vga.memory[((addr+offset)*8+i) % vga.svga_intf.vram_size] = vga.gc.enable_set_reset;
|
||||
vga.memory[((addr+offset)*8+i) % vga.svga_intf.vram_size] = vga.gc.enable_set_reset;
|
||||
}
|
||||
else if(svga.rgb15_en || svga.rgb16_en)
|
||||
{
|
||||
|
@ -23,10 +23,10 @@ extern const struct _rgbsse_statics
|
||||
{
|
||||
__m128 dummy_for_alignment;
|
||||
INT16 maxbyte[8];
|
||||
INT16 alpha_mask[8];
|
||||
INT16 red_mask[8];
|
||||
INT16 green_mask[8];
|
||||
INT16 blue_mask[8];
|
||||
INT16 alpha_mask[8];
|
||||
INT16 red_mask[8];
|
||||
INT16 green_mask[8];
|
||||
INT16 blue_mask[8];
|
||||
INT16 scale_table[256][8];
|
||||
} rgbsse_statics;
|
||||
|
||||
@ -434,7 +434,7 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
__m128i m_value;
|
||||
__m128i m_value;
|
||||
};
|
||||
|
||||
#endif /* __RGBSSE__ */
|
||||
|
@ -487,19 +487,19 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
typedef vector unsigned char VECU8;
|
||||
typedef vector signed short VECS16;
|
||||
typedef vector unsigned short VECU16;
|
||||
typedef vector signed int VECS32;
|
||||
typedef vector unsigned int VECU32;
|
||||
typedef vector unsigned char VECU8;
|
||||
typedef vector signed short VECS16;
|
||||
typedef vector unsigned short VECU16;
|
||||
typedef vector signed int VECS32;
|
||||
typedef vector unsigned int VECU32;
|
||||
|
||||
vector VECU32 m_value;
|
||||
vector VECU32 m_value;
|
||||
|
||||
static const VECU8 alpha_perm;
|
||||
static const VECU8 red_perm;
|
||||
static const VECU8 green_perm;
|
||||
static const VECU8 blue_perm;
|
||||
static const VECS16 scale_table[256];
|
||||
static const VECU8 alpha_perm;
|
||||
static const VECU8 red_perm;
|
||||
static const VECU8 green_perm;
|
||||
static const VECU8 blue_perm;
|
||||
static const VECS16 scale_table[256];
|
||||
};
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
// license:BSD-3-Clause
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Aaron Giles
|
||||
/***************************************************************************
|
||||
|
||||
@ -2212,13 +2212,13 @@ INLINE UINT32 clampARGB(INT32 iterr, INT32 iterg, INT32 iterb, INT32 itera, UINT
|
||||
//if (r == 0xfff)
|
||||
rgbaint_t temp(colorint);
|
||||
temp.cmpeq_imm(0xfff);
|
||||
// result.rgb.r = 0;
|
||||
// result.rgb.r = 0;
|
||||
temp.xor_imm(0xffffffff);
|
||||
colorint.and_reg(temp);
|
||||
//else if (r == 0x100)
|
||||
temp.set(colorint);
|
||||
temp.cmpeq_imm(0x100);
|
||||
// result.rgb.r = 0xff;
|
||||
// result.rgb.r = 0xff;
|
||||
colorint.or_reg(temp);
|
||||
return colorint.to_rgba();
|
||||
}
|
||||
@ -3842,15 +3842,15 @@ INLINE bool depthTest(UINT16 zaColorReg, stats_block *stats, INT32 destDepth, UI
|
||||
\
|
||||
/* perform alpha blending */ \
|
||||
APPLY_ALPHA_BLEND(FBZMODE, ALPHAMODE, XX, DITHER, r, g, b, a); \
|
||||
} else { \
|
||||
} else { \
|
||||
/* perform fogging */ \
|
||||
rgb_union preFog; \
|
||||
preFog.u = color.u; \
|
||||
applyFogging(VV, FOGMODE, FBZCOLORPATH, XX, DITHER4, fogdepth, color, ITERZ, ITERW, ITERAXXX); \
|
||||
/* perform alpha blending */ \
|
||||
alphaBlend(FBZMODE, ALPHAMODE, XX, DITHER, dest[XX], depth, preFog, color); \
|
||||
a = color.rgb.a; r = color.rgb.r; g = color.rgb.g; b = color.rgb.b; \
|
||||
} \
|
||||
a = color.rgb.a; r = color.rgb.r; g = color.rgb.g; b = color.rgb.b; \
|
||||
} \
|
||||
/* modify the pixel for debugging purposes */ \
|
||||
MODIFY_PIXEL(VV); \
|
||||
\
|
||||
@ -4589,7 +4589,7 @@ static void raster_##name(void *destbase, INT32 y, const poly_extent *extent, co
|
||||
} \
|
||||
\
|
||||
/* colorpath pipeline selects source colors and does blending */ \
|
||||
iterargb.u = clampARGB(iterr, iterg, iterb, itera, FBZCOLORPATH); \
|
||||
iterargb.u = clampARGB(iterr, iterg, iterb, itera, FBZCOLORPATH); \
|
||||
if (!combineColor(v, stats, FBZCOLORPATH, FBZMODE, ALPHAMODE, texel, iterz, iterw, iterargb, color)) \
|
||||
goto skipdrawdepth; \
|
||||
} \
|
||||
|
@ -2565,7 +2565,7 @@ void floppy_image_format_t::extract_sectors_from_bitstream_fm_pc(const UINT8 *bi
|
||||
}
|
||||
// f8, f9, fa, fb
|
||||
if(shift_reg == 0xf56a || shift_reg == 0xf56b ||
|
||||
shift_reg == 0xf56e || shift_reg == 0xf56f) { // data mark
|
||||
shift_reg == 0xf56e || shift_reg == 0xf56f) { // data mark
|
||||
if(dblk_count < 100)
|
||||
dblk[dblk_count++] = i+1;
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ bool jvc_format::parse_header(io_generic *io, int &header_size, int &tracks, int
|
||||
|
||||
switch (header_size)
|
||||
{
|
||||
case 5: emu_fatalerror("jvc_format: sector attribute flag unsupported\n");
|
||||
case 5: emu_fatalerror("jvc_format: sector attribute flag unsupported\n");
|
||||
break;
|
||||
case 4: base_sector_id = header[3];
|
||||
// no break
|
||||
|
@ -118,7 +118,7 @@ bool svi_format::save(io_generic *io, floppy_image *image)
|
||||
for (int head = 0; head < head_count; head++)
|
||||
{
|
||||
// skip track 0, head 0
|
||||
if (track == 0) { if (head_count == 1) break; else head++; }
|
||||
if (track == 0) { if (head_count == 1) break; else head++; }
|
||||
|
||||
generate_bitstream_from_track(track, head, 2000, bitstream, track_size, image);
|
||||
extract_sectors_from_bitstream_mfm_pc(bitstream, track_size, sectors, sector_data, sizeof(sector_data));
|
||||
@ -140,4 +140,3 @@ bool svi_format::supports_save() const
|
||||
}
|
||||
|
||||
const floppy_format_type FLOPPY_SVI_FORMAT = &floppy_image_format_creator<svi_format>;
|
||||
|
||||
|
@ -8,8 +8,8 @@
|
||||
|
||||
Used by Jeff Vavasour's TRS-80 Emulators
|
||||
|
||||
TODO:
|
||||
- Gap sizes unverified
|
||||
TODO:
|
||||
- Gap sizes unverified
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -102,7 +102,7 @@ bool vdk_format::save(io_generic *io, floppy_image *image)
|
||||
header[0] = 'd';
|
||||
header[1] = 'k';
|
||||
header[2] = sizeof(header) % 0x100;
|
||||
header[3] = sizeof(header) / 0x100;
|
||||
header[3] = sizeof(header) / 0x100;
|
||||
header[4] = 0x10;
|
||||
header[5] = 0x10;
|
||||
header[6] = 'M';
|
||||
|
@ -204,7 +204,6 @@ bool wd177x_format::load(io_generic *io, UINT32 form_factor, floppy_image *image
|
||||
|
||||
for(int track=0; track < f.track_count; track++)
|
||||
for(int head=0; head < f.head_count; head++) {
|
||||
|
||||
if (f.encoding == floppy_image::FM)
|
||||
desc[14].p1 = get_track_dam_fm(f, head, track);
|
||||
else
|
||||
|
@ -174,11 +174,11 @@ inline UINT32 avhuff_decoder::deltarle_decoder::decode_one(bitstream_in &bitbuf)
|
||||
//**************************************************************************
|
||||
|
||||
/**
|
||||
* @fn avhuff_encoder::avhuff_encoder()
|
||||
* @fn avhuff_encoder::avhuff_encoder()
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* avhuff_encoder - constructor
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* avhuff_encoder - constructor
|
||||
* -------------------------------------------------.
|
||||
*/
|
||||
|
||||
avhuff_encoder::avhuff_encoder()
|
||||
@ -189,17 +189,17 @@ m_flac_encoder.set_strip_metadata(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn avhuff_error avhuff_encoder::encode_data(const UINT8 *source, UINT8 *dest, UINT32 &complength)
|
||||
* @fn avhuff_error avhuff_encoder::encode_data(const UINT8 *source, UINT8 *dest, UINT32 &complength)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* encode_data - encode a block of data into a compressed data stream
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* encode_data - encode a block of data into a compressed data stream
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param source Source for the.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param [in,out] complength The complength.
|
||||
* @param source Source for the.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param [in,out] complength The complength.
|
||||
*
|
||||
* @return An avhuff_error.
|
||||
* @return An avhuff_error.
|
||||
*/
|
||||
|
||||
avhuff_error avhuff_encoder::encode_data(const UINT8 *source, UINT8 *dest, UINT32 &complength)
|
||||
@ -278,15 +278,15 @@ avhuff_error avhuff_encoder::encode_data(const UINT8 *source, UINT8 *dest, UINT3
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn UINT32 avhuff_encoder::raw_data_size(const UINT8 *data)
|
||||
* @fn UINT32 avhuff_encoder::raw_data_size(const UINT8 *data)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* raw_data_size - return the raw data size of a raw stream based on the header
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* raw_data_size - return the raw data size of a raw stream based on the header
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param data The data.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
UINT32 avhuff_encoder::raw_data_size(const UINT8 *data)
|
||||
@ -308,21 +308,21 @@ UINT32 avhuff_encoder::raw_data_size(const UINT8 *data)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn avhuff_error avhuff_encoder::assemble_data(dynamic_buffer &buffer, bitmap_yuy16 &bitmap, UINT8 channels, UINT32 numsamples, INT16 **samples, UINT8 *metadata, UINT32 metadatasize)
|
||||
* @fn avhuff_error avhuff_encoder::assemble_data(dynamic_buffer &buffer, bitmap_yuy16 &bitmap, UINT8 channels, UINT32 numsamples, INT16 **samples, UINT8 *metadata, UINT32 metadatasize)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* assemble_data - assemble a datastream from raw bits
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* assemble_data - assemble a datastream from raw bits
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param [in,out] buffer The buffer.
|
||||
* @param [in,out] bitmap The bitmap.
|
||||
* @param channels The channels.
|
||||
* @param numsamples The numsamples.
|
||||
* @param [in,out] samples If non-null, the samples.
|
||||
* @param [in,out] metadata If non-null, the metadata.
|
||||
* @param metadatasize The metadatasize.
|
||||
* @param [in,out] buffer The buffer.
|
||||
* @param [in,out] bitmap The bitmap.
|
||||
* @param channels The channels.
|
||||
* @param numsamples The numsamples.
|
||||
* @param [in,out] samples If non-null, the samples.
|
||||
* @param [in,out] metadata If non-null, the metadata.
|
||||
* @param metadatasize The metadatasize.
|
||||
*
|
||||
* @return An avhuff_error.
|
||||
* @return An avhuff_error.
|
||||
*/
|
||||
|
||||
avhuff_error avhuff_encoder::assemble_data(dynamic_buffer &buffer, bitmap_yuy16 &bitmap, UINT8 channels, UINT32 numsamples, INT16 **samples, UINT8 *metadata, UINT32 metadatasize)
|
||||
@ -378,19 +378,19 @@ avhuff_error avhuff_encoder::assemble_data(dynamic_buffer &buffer, bitmap_yuy16
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn avhuff_error avhuff_encoder::encode_audio(const UINT8 *source, int channels, int samples, UINT8 *dest, UINT8 *sizes)
|
||||
* @fn avhuff_error avhuff_encoder::encode_audio(const UINT8 *source, int channels, int samples, UINT8 *dest, UINT8 *sizes)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* encode_audio - encode raw audio data to the destination
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* encode_audio - encode raw audio data to the destination
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param source Source for the.
|
||||
* @param channels The channels.
|
||||
* @param samples The samples.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param [in,out] sizes If non-null, the sizes.
|
||||
* @param source Source for the.
|
||||
* @param channels The channels.
|
||||
* @param samples The samples.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param [in,out] sizes If non-null, the sizes.
|
||||
*
|
||||
* @return An avhuff_error.
|
||||
* @return An avhuff_error.
|
||||
*/
|
||||
|
||||
avhuff_error avhuff_encoder::encode_audio(const UINT8 *source, int channels, int samples, UINT8 *dest, UINT8 *sizes)
|
||||
@ -511,19 +511,19 @@ avhuff_error avhuff_encoder::encode_audio(const UINT8 *source, int channels, int
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn avhuff_error avhuff_encoder::encode_video(const UINT8 *source, int width, int height, UINT8 *dest, UINT32 &complength)
|
||||
* @fn avhuff_error avhuff_encoder::encode_video(const UINT8 *source, int width, int height, UINT8 *dest, UINT32 &complength)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* encode_video - encode raw video data to the destination
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* encode_video - encode raw video data to the destination
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param source Source for the.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param [in,out] complength The complength.
|
||||
* @param source Source for the.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param [in,out] complength The complength.
|
||||
*
|
||||
* @return An avhuff_error.
|
||||
* @return An avhuff_error.
|
||||
*/
|
||||
|
||||
avhuff_error avhuff_encoder::encode_video(const UINT8 *source, int width, int height, UINT8 *dest, UINT32 &complength)
|
||||
@ -533,20 +533,20 @@ avhuff_error avhuff_encoder::encode_video(const UINT8 *source, int width, int he
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn avhuff_error avhuff_encoder::encode_video_lossless(const UINT8 *source, int width, int height, UINT8 *dest, UINT32 &complength)
|
||||
* @fn avhuff_error avhuff_encoder::encode_video_lossless(const UINT8 *source, int width, int height, UINT8 *dest, UINT32 &complength)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* encode_video_lossless - do a lossless video encoding using deltas and huffman
|
||||
* encoding
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* encode_video_lossless - do a lossless video encoding using deltas and huffman
|
||||
* encoding
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param source Source for the.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param [in,out] complength The complength.
|
||||
* @param source Source for the.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param [in,out] complength The complength.
|
||||
*
|
||||
* @return An avhuff_error.
|
||||
* @return An avhuff_error.
|
||||
*/
|
||||
|
||||
avhuff_error avhuff_encoder::encode_video_lossless(const UINT8 *source, int width, int height, UINT8 *dest, UINT32 &complength)
|
||||
@ -601,18 +601,18 @@ avhuff_error avhuff_encoder::encode_video_lossless(const UINT8 *source, int widt
|
||||
//**************************************************************************
|
||||
|
||||
/**
|
||||
* @fn UINT16 *avhuff_encoder::deltarle_encoder::rle_and_histo_bitmap(const UINT8 *source, UINT32 items_per_row, UINT32 item_advance, UINT32 row_count)
|
||||
* @fn UINT16 *avhuff_encoder::deltarle_encoder::rle_and_histo_bitmap(const UINT8 *source, UINT32 items_per_row, UINT32 item_advance, UINT32 row_count)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* rle_and_histo_bitmap - RLE compress and histogram a bitmap's worth of data
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* rle_and_histo_bitmap - RLE compress and histogram a bitmap's worth of data
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param source Source for the.
|
||||
* @param items_per_row The items per row.
|
||||
* @param item_advance The item advance.
|
||||
* @param row_count Number of rows.
|
||||
* @param source Source for the.
|
||||
* @param items_per_row The items per row.
|
||||
* @param item_advance The item advance.
|
||||
* @param row_count Number of rows.
|
||||
*
|
||||
* @return null if it fails, else an UINT16*.
|
||||
* @return null if it fails, else an UINT16*.
|
||||
*/
|
||||
|
||||
UINT16 *avhuff_encoder::deltarle_encoder::rle_and_histo_bitmap(const UINT8 *source, UINT32 items_per_row, UINT32 item_advance, UINT32 row_count)
|
||||
@ -679,11 +679,11 @@ UINT16 *avhuff_encoder::deltarle_encoder::rle_and_histo_bitmap(const UINT8 *sour
|
||||
//**************************************************************************
|
||||
|
||||
/**
|
||||
* @fn avhuff_decoder::avhuff_decoder()
|
||||
* @fn avhuff_decoder::avhuff_decoder()
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* avhuff_decoder - constructor
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* avhuff_decoder - constructor
|
||||
* -------------------------------------------------.
|
||||
*/
|
||||
|
||||
avhuff_decoder::avhuff_decoder()
|
||||
@ -691,13 +691,13 @@ avhuff_decoder::avhuff_decoder()
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void avhuff_decoder::configure(const avhuff_decompress_config &config)
|
||||
* @fn void avhuff_decoder::configure(const avhuff_decompress_config &config)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* configure - configure decompression parameters
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* configure - configure decompression parameters
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param config The configuration.
|
||||
* @param config The configuration.
|
||||
*/
|
||||
|
||||
void avhuff_decoder::configure(const avhuff_decompress_config &config)
|
||||
@ -712,17 +712,17 @@ void avhuff_decoder::configure(const avhuff_decompress_config &config)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn avhuff_error avhuff_decoder::decode_data(const UINT8 *source, UINT32 complength, UINT8 *dest)
|
||||
* @fn avhuff_error avhuff_decoder::decode_data(const UINT8 *source, UINT32 complength, UINT8 *dest)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* decode_data - decode both audio and video from a raw data stream
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* decode_data - decode both audio and video from a raw data stream
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param source Source for the.
|
||||
* @param complength The complength.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param source Source for the.
|
||||
* @param complength The complength.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
*
|
||||
* @return An avhuff_error.
|
||||
* @return An avhuff_error.
|
||||
*/
|
||||
|
||||
avhuff_error avhuff_decoder::decode_data(const UINT8 *source, UINT32 complength, UINT8 *dest)
|
||||
@ -853,23 +853,23 @@ avhuff_error avhuff_decoder::decode_data(const UINT8 *source, UINT32 complength,
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn avhuff_error avhuff_decoder::decode_audio(int channels, int samples, const UINT8 *source, UINT8 **dest, UINT32 dxor, const UINT8 *sizes)
|
||||
* @fn avhuff_error avhuff_decoder::decode_audio(int channels, int samples, const UINT8 *source, UINT8 **dest, UINT32 dxor, const UINT8 *sizes)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* decode_audio - decode audio from a compressed data stream
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* decode_audio - decode audio from a compressed data stream
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @exception CHDERR_DECOMPRESSION_ERROR Thrown when a chderr decompression error error
|
||||
* condition occurs.
|
||||
* @exception CHDERR_DECOMPRESSION_ERROR Thrown when a chderr decompression error error
|
||||
* condition occurs.
|
||||
*
|
||||
* @param channels The channels.
|
||||
* @param samples The samples.
|
||||
* @param source Source for the.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param dxor The dxor.
|
||||
* @param sizes The sizes.
|
||||
* @param channels The channels.
|
||||
* @param samples The samples.
|
||||
* @param source Source for the.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param dxor The dxor.
|
||||
* @param sizes The sizes.
|
||||
*
|
||||
* @return An avhuff_error.
|
||||
* @return An avhuff_error.
|
||||
*/
|
||||
|
||||
avhuff_error avhuff_decoder::decode_audio(int channels, int samples, const UINT8 *source, UINT8 **dest, UINT32 dxor, const UINT8 *sizes)
|
||||
@ -991,21 +991,21 @@ avhuff_error avhuff_decoder::decode_audio(int channels, int samples, const UINT8
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn avhuff_error avhuff_decoder::decode_video(int width, int height, const UINT8 *source, UINT32 complength, UINT8 *dest, UINT32 dstride, UINT32 dxor)
|
||||
* @fn avhuff_error avhuff_decoder::decode_video(int width, int height, const UINT8 *source, UINT32 complength, UINT8 *dest, UINT32 dstride, UINT32 dxor)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* decode_video - decode video from a compressed data stream
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* decode_video - decode video from a compressed data stream
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param source Source for the.
|
||||
* @param complength The complength.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param dstride The dstride.
|
||||
* @param dxor The dxor.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param source Source for the.
|
||||
* @param complength The complength.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param dstride The dstride.
|
||||
* @param dxor The dxor.
|
||||
*
|
||||
* @return An avhuff_error.
|
||||
* @return An avhuff_error.
|
||||
*/
|
||||
|
||||
avhuff_error avhuff_decoder::decode_video(int width, int height, const UINT8 *source, UINT32 complength, UINT8 *dest, UINT32 dstride, UINT32 dxor)
|
||||
@ -1018,22 +1018,22 @@ avhuff_error avhuff_decoder::decode_video(int width, int height, const UINT8 *so
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn avhuff_error avhuff_decoder::decode_video_lossless(int width, int height, const UINT8 *source, UINT32 complength, UINT8 *dest, UINT32 dstride, UINT32 dxor)
|
||||
* @fn avhuff_error avhuff_decoder::decode_video_lossless(int width, int height, const UINT8 *source, UINT32 complength, UINT8 *dest, UINT32 dstride, UINT32 dxor)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* decode_video_lossless - do a lossless video decoding using deltas and huffman
|
||||
* encoding
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* decode_video_lossless - do a lossless video decoding using deltas and huffman
|
||||
* encoding
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param source Source for the.
|
||||
* @param complength The complength.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param dstride The dstride.
|
||||
* @param dxor The dxor.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param source Source for the.
|
||||
* @param complength The complength.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param dstride The dstride.
|
||||
* @param dxor The dxor.
|
||||
*
|
||||
* @return An avhuff_error.
|
||||
* @return An avhuff_error.
|
||||
*/
|
||||
|
||||
avhuff_error avhuff_decoder::decode_video_lossless(int width, int height, const UINT8 *source, UINT32 complength, UINT8 *dest, UINT32 dstride, UINT32 dxor)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -20,9 +20,9 @@
|
||||
// CONSTANTS
|
||||
//**************************************************************************
|
||||
|
||||
/** @brief alignment values; 128 bytes is the largest cache line on typical architectures today. */
|
||||
/** @brief alignment values; 128 bytes is the largest cache line on typical architectures today. */
|
||||
const UINT32 BITMAP_OVERALL_ALIGN = 128;
|
||||
/** @brief The bitmap rowbytes align. */
|
||||
/** @brief The bitmap rowbytes align. */
|
||||
const UINT32 BITMAP_ROWBYTES_ALIGN = 128;
|
||||
|
||||
|
||||
@ -62,18 +62,18 @@ inline void bitmap_t::compute_base(int xslop, int yslop)
|
||||
//**************************************************************************
|
||||
|
||||
/**
|
||||
* @fn bitmap_t::bitmap_t(bitmap_format format, int bpp, int width, int height, int xslop, int yslop)
|
||||
* @fn bitmap_t::bitmap_t(bitmap_format format, int bpp, int width, int height, int xslop, int yslop)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* bitmap_t - basic constructor
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* bitmap_t - basic constructor
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param format Describes the format to use.
|
||||
* @param bpp The bits per pixel.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param xslop The xslop.
|
||||
* @param yslop The yslop.
|
||||
* @param format Describes the format to use.
|
||||
* @param bpp The bits per pixel.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param xslop The xslop.
|
||||
* @param yslop The yslop.
|
||||
*/
|
||||
|
||||
bitmap_t::bitmap_t(bitmap_format format, int bpp, int width, int height, int xslop, int yslop)
|
||||
@ -88,16 +88,16 @@ bitmap_t::bitmap_t(bitmap_format format, int bpp, int width, int height, int xsl
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn bitmap_t::bitmap_t(bitmap_format format, int bpp, void *base, int width, int height, int rowpixels)
|
||||
* @fn bitmap_t::bitmap_t(bitmap_format format, int bpp, void *base, int width, int height, int rowpixels)
|
||||
*
|
||||
* @brief Constructor.
|
||||
* @brief Constructor.
|
||||
*
|
||||
* @param format Describes the format to use.
|
||||
* @param bpp The bits per pixel.
|
||||
* @param [in,out] base If non-null, the base.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param rowpixels The rowpixels.
|
||||
* @param format Describes the format to use.
|
||||
* @param bpp The bits per pixel.
|
||||
* @param [in,out] base If non-null, the base.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param rowpixels The rowpixels.
|
||||
*/
|
||||
|
||||
bitmap_t::bitmap_t(bitmap_format format, int bpp, void *base, int width, int height, int rowpixels)
|
||||
@ -115,14 +115,14 @@ bitmap_t::bitmap_t(bitmap_format format, int bpp, void *base, int width, int hei
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn bitmap_t::bitmap_t(bitmap_format format, int bpp, bitmap_t &source, const rectangle &subrect)
|
||||
* @fn bitmap_t::bitmap_t(bitmap_format format, int bpp, bitmap_t &source, const rectangle &subrect)
|
||||
*
|
||||
* @brief Constructor.
|
||||
* @brief Constructor.
|
||||
*
|
||||
* @param format Describes the format to use.
|
||||
* @param bpp The bits per pixel.
|
||||
* @param [in,out] source Source for the.
|
||||
* @param subrect The subrect.
|
||||
* @param format Describes the format to use.
|
||||
* @param bpp The bits per pixel.
|
||||
* @param [in,out] source Source for the.
|
||||
* @param subrect The subrect.
|
||||
*/
|
||||
|
||||
bitmap_t::bitmap_t(bitmap_format format, int bpp, bitmap_t &source, const rectangle &subrect)
|
||||
@ -143,11 +143,11 @@ bitmap_t::bitmap_t(bitmap_format format, int bpp, bitmap_t &source, const rectan
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn bitmap_t::~bitmap_t()
|
||||
* @fn bitmap_t::~bitmap_t()
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* ~bitmap_t - basic destructor
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* ~bitmap_t - basic destructor
|
||||
* -------------------------------------------------.
|
||||
*/
|
||||
|
||||
bitmap_t::~bitmap_t()
|
||||
@ -157,17 +157,17 @@ bitmap_t::~bitmap_t()
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void bitmap_t::allocate(int width, int height, int xslop, int yslop)
|
||||
* @fn void bitmap_t::allocate(int width, int height, int xslop, int yslop)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* allocate -- (re)allocate memory for the bitmap at the given size, destroying
|
||||
* anything that already exists
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* allocate -- (re)allocate memory for the bitmap at the given size, destroying
|
||||
* anything that already exists
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param xslop The xslop.
|
||||
* @param yslop The yslop.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param xslop The xslop.
|
||||
* @param yslop The yslop.
|
||||
*/
|
||||
|
||||
void bitmap_t::allocate(int width, int height, int xslop, int yslop)
|
||||
@ -201,17 +201,17 @@ void bitmap_t::allocate(int width, int height, int xslop, int yslop)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void bitmap_t::resize(int width, int height, int xslop, int yslop)
|
||||
* @fn void bitmap_t::resize(int width, int height, int xslop, int yslop)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* resize -- resize a bitmap, reusing existing memory if the new size is smaller than
|
||||
* the current size
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* resize -- resize a bitmap, reusing existing memory if the new size is smaller than
|
||||
* the current size
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param xslop The xslop.
|
||||
* @param yslop The yslop.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param xslop The xslop.
|
||||
* @param yslop The yslop.
|
||||
*/
|
||||
|
||||
void bitmap_t::resize(int width, int height, int xslop, int yslop)
|
||||
@ -248,11 +248,11 @@ void bitmap_t::resize(int width, int height, int xslop, int yslop)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void bitmap_t::reset()
|
||||
* @fn void bitmap_t::reset()
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* reset -- reset to an invalid bitmap, deleting all allocated stuff
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* reset -- reset to an invalid bitmap, deleting all allocated stuff
|
||||
* -------------------------------------------------.
|
||||
*/
|
||||
|
||||
void bitmap_t::reset()
|
||||
@ -271,16 +271,16 @@ void bitmap_t::reset()
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void bitmap_t::wrap(void *base, int width, int height, int rowpixels)
|
||||
* @fn void bitmap_t::wrap(void *base, int width, int height, int rowpixels)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* wrap -- wrap an array of memory; the target bitmap does not own the memory
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* wrap -- wrap an array of memory; the target bitmap does not own the memory
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param [in,out] base If non-null, the base.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param rowpixels The rowpixels.
|
||||
* @param [in,out] base If non-null, the base.
|
||||
* @param width The width.
|
||||
* @param height The height.
|
||||
* @param rowpixels The rowpixels.
|
||||
*/
|
||||
|
||||
void bitmap_t::wrap(void *base, int width, int height, int rowpixels)
|
||||
@ -297,15 +297,15 @@ void bitmap_t::wrap(void *base, int width, int height, int rowpixels)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void bitmap_t::wrap(const bitmap_t &source, const rectangle &subrect)
|
||||
* @fn void bitmap_t::wrap(const bitmap_t &source, const rectangle &subrect)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* wrap -- wrap a subrectangle of an existing bitmap by copying its fields; the target
|
||||
* bitmap does not own the memory
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* wrap -- wrap a subrectangle of an existing bitmap by copying its fields; the target
|
||||
* bitmap does not own the memory
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param source Source for the.
|
||||
* @param subrect The subrect.
|
||||
* @param source Source for the.
|
||||
* @param subrect The subrect.
|
||||
*/
|
||||
|
||||
void bitmap_t::wrap(const bitmap_t &source, const rectangle &subrect)
|
||||
@ -327,13 +327,13 @@ void bitmap_t::wrap(const bitmap_t &source, const rectangle &subrect)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void bitmap_t::set_palette(palette_t *palette)
|
||||
* @fn void bitmap_t::set_palette(palette_t *palette)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* set_palette -- associate a palette with a bitmap
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* set_palette -- associate a palette with a bitmap
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param [in,out] palette If non-null, the palette.
|
||||
* @param [in,out] palette If non-null, the palette.
|
||||
*/
|
||||
|
||||
void bitmap_t::set_palette(palette_t *palette)
|
||||
@ -354,14 +354,14 @@ void bitmap_t::set_palette(palette_t *palette)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void bitmap_t::fill(UINT32 color, const rectangle &cliprect)
|
||||
* @fn void bitmap_t::fill(UINT32 color, const rectangle &cliprect)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* fill -- fill a bitmap with a solid color
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* fill -- fill a bitmap with a solid color
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param color The color.
|
||||
* @param cliprect The cliprect.
|
||||
* @param color The color.
|
||||
* @param cliprect The cliprect.
|
||||
*/
|
||||
|
||||
void bitmap_t::fill(UINT32 color, const rectangle &cliprect)
|
||||
|
@ -28,39 +28,39 @@
|
||||
DEBUGGING
|
||||
***************************************************************************/
|
||||
|
||||
/** @brief The verbose. */
|
||||
/** @brief The verbose. */
|
||||
#define VERBOSE (0)
|
||||
#if VERBOSE
|
||||
|
||||
/**
|
||||
* @def LOG(x) do
|
||||
* @def LOG(x) do
|
||||
*
|
||||
* @brief A macro that defines log.
|
||||
* @brief A macro that defines log.
|
||||
*
|
||||
* @param x The void to process.
|
||||
* @param x The void to process.
|
||||
*/
|
||||
|
||||
#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
|
||||
/**
|
||||
* @fn void CLIB_DECL logerror(const char *text, ...) ATTR_PRINTF(1,2);
|
||||
* @fn void CLIB_DECL logerror(const char *text, ...) ATTR_PRINTF(1,2);
|
||||
*
|
||||
* @brief Logerrors the given text.
|
||||
* @brief Logerrors the given text.
|
||||
*
|
||||
* @param text The text.
|
||||
* @param text The text.
|
||||
*
|
||||
* @return A CLIB_DECL.
|
||||
* @return A CLIB_DECL.
|
||||
*/
|
||||
|
||||
void CLIB_DECL logerror(const char *text, ...) ATTR_PRINTF(1,2);
|
||||
#else
|
||||
|
||||
/**
|
||||
* @def LOG(x);
|
||||
* @def LOG(x);
|
||||
*
|
||||
* @brief A macro that defines log.
|
||||
* @brief A macro that defines log.
|
||||
*
|
||||
* @param x The void to process.
|
||||
* @param x The void to process.
|
||||
*/
|
||||
|
||||
#define LOG(x)
|
||||
@ -72,26 +72,26 @@ void CLIB_DECL logerror(const char *text, ...) ATTR_PRINTF(1,2);
|
||||
CONSTANTS
|
||||
***************************************************************************/
|
||||
|
||||
/** @brief offset within sector. */
|
||||
/** @brief offset within sector. */
|
||||
const int SYNC_OFFSET = 0x000;
|
||||
/** @brief 12 bytes. */
|
||||
/** @brief 12 bytes. */
|
||||
const int SYNC_NUM_BYTES = 12;
|
||||
|
||||
/** @brief offset within sector. */
|
||||
/** @brief offset within sector. */
|
||||
const int MODE_OFFSET = 0x00f;
|
||||
|
||||
/** @brief offset within sector. */
|
||||
/** @brief offset within sector. */
|
||||
const int ECC_P_OFFSET = 0x81c;
|
||||
/** @brief 2 lots of 86. */
|
||||
/** @brief 2 lots of 86. */
|
||||
const int ECC_P_NUM_BYTES = 86;
|
||||
/** @brief 24 bytes each. */
|
||||
/** @brief 24 bytes each. */
|
||||
const int ECC_P_COMP = 24;
|
||||
|
||||
/** @brief The ECC q offset. */
|
||||
/** @brief The ECC q offset. */
|
||||
const int ECC_Q_OFFSET = ECC_P_OFFSET + 2 * ECC_P_NUM_BYTES;
|
||||
/** @brief 2 lots of 52. */
|
||||
/** @brief 2 lots of 52. */
|
||||
const int ECC_Q_NUM_BYTES = 52;
|
||||
/** @brief 43 bytes each. */
|
||||
/** @brief 43 bytes each. */
|
||||
const int ECC_Q_COMP = 43;
|
||||
|
||||
|
||||
@ -101,20 +101,20 @@ const int ECC_Q_COMP = 43;
|
||||
***************************************************************************/
|
||||
|
||||
/**
|
||||
* @struct cdrom_file
|
||||
* @struct cdrom_file
|
||||
*
|
||||
* @brief A cdrom file.
|
||||
* @brief A cdrom file.
|
||||
*/
|
||||
|
||||
struct cdrom_file
|
||||
{
|
||||
/** @brief The chd. */
|
||||
/** @brief The chd. */
|
||||
chd_file * chd; /* CHD file */
|
||||
/** @brief The cdtoc. */
|
||||
/** @brief The cdtoc. */
|
||||
cdrom_toc cdtoc; /* TOC for the CD */
|
||||
/** @brief Information describing the track. */
|
||||
/** @brief Information describing the track. */
|
||||
chdcd_track_input_info track_info; /* track info */
|
||||
/** @brief The fhandle[ CD maximum tracks]. */
|
||||
/** @brief The fhandle[ CD maximum tracks]. */
|
||||
core_file * fhandle[CD_MAX_TRACKS];/* file handle */
|
||||
};
|
||||
|
||||
@ -130,15 +130,15 @@ struct cdrom_file
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn INLINE UINT32 physical_to_chd_lba(cdrom_file *file, UINT32 physlba, UINT32 &tracknum)
|
||||
* @fn INLINE UINT32 physical_to_chd_lba(cdrom_file *file, UINT32 physlba, UINT32 &tracknum)
|
||||
*
|
||||
* @brief Physical to chd lba.
|
||||
* @brief Physical to chd lba.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param physlba The physlba.
|
||||
* @param [in,out] tracknum The tracknum.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param physlba The physlba.
|
||||
* @param [in,out] tracknum The tracknum.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
INLINE UINT32 physical_to_chd_lba(cdrom_file *file, UINT32 physlba, UINT32 &tracknum)
|
||||
@ -164,15 +164,15 @@ INLINE UINT32 physical_to_chd_lba(cdrom_file *file, UINT32 physlba, UINT32 &trac
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn INLINE UINT32 logical_to_chd_lba(cdrom_file *file, UINT32 loglba, UINT32 &tracknum)
|
||||
* @fn INLINE UINT32 logical_to_chd_lba(cdrom_file *file, UINT32 loglba, UINT32 &tracknum)
|
||||
*
|
||||
* @brief Logical to chd lba.
|
||||
* @brief Logical to chd lba.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param loglba The loglba.
|
||||
* @param [in,out] tracknum The tracknum.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param loglba The loglba.
|
||||
* @param [in,out] tracknum The tracknum.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
INLINE UINT32 logical_to_chd_lba(cdrom_file *file, UINT32 loglba, UINT32 &tracknum)
|
||||
@ -208,13 +208,13 @@ INLINE UINT32 logical_to_chd_lba(cdrom_file *file, UINT32 loglba, UINT32 &trackn
|
||||
***************************************************************************/
|
||||
|
||||
/**
|
||||
* @fn cdrom_file *cdrom_open(const char *inputfile)
|
||||
* @fn cdrom_file *cdrom_open(const char *inputfile)
|
||||
*
|
||||
* @brief Queries if a given cdrom open.
|
||||
* @brief Queries if a given cdrom open.
|
||||
*
|
||||
* @param inputfile The inputfile.
|
||||
* @param inputfile The inputfile.
|
||||
*
|
||||
* @return null if it fails, else a cdrom_file*.
|
||||
* @return null if it fails, else a cdrom_file*.
|
||||
*/
|
||||
|
||||
cdrom_file *cdrom_open(const char *inputfile)
|
||||
@ -304,13 +304,13 @@ cdrom_file *cdrom_open(const char *inputfile)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn cdrom_file *cdrom_open(chd_file *chd)
|
||||
* @fn cdrom_file *cdrom_open(chd_file *chd)
|
||||
*
|
||||
* @brief Queries if a given cdrom open.
|
||||
* @brief Queries if a given cdrom open.
|
||||
*
|
||||
* @param [in,out] chd If non-null, the chd.
|
||||
* @param [in,out] chd If non-null, the chd.
|
||||
*
|
||||
* @return null if it fails, else a cdrom_file*.
|
||||
* @return null if it fails, else a cdrom_file*.
|
||||
*/
|
||||
|
||||
cdrom_file *cdrom_open(chd_file *chd)
|
||||
@ -402,11 +402,11 @@ cdrom_file *cdrom_open(chd_file *chd)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn void cdrom_close(cdrom_file *file)
|
||||
* @fn void cdrom_close(cdrom_file *file)
|
||||
*
|
||||
* @brief Cdrom close.
|
||||
* @brief Cdrom close.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
*/
|
||||
|
||||
void cdrom_close(cdrom_file *file)
|
||||
@ -432,19 +432,19 @@ void cdrom_close(cdrom_file *file)
|
||||
***************************************************************************/
|
||||
|
||||
/**
|
||||
* @fn chd_error read_partial_sector(cdrom_file *file, void *dest, UINT32 lbasector, UINT32 chdsector, UINT32 tracknum, UINT32 startoffs, UINT32 length)
|
||||
* @fn chd_error read_partial_sector(cdrom_file *file, void *dest, UINT32 lbasector, UINT32 chdsector, UINT32 tracknum, UINT32 startoffs, UINT32 length)
|
||||
*
|
||||
* @brief Reads partial sector.
|
||||
* @brief Reads partial sector.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param lbasector The lbasector.
|
||||
* @param chdsector The chdsector.
|
||||
* @param tracknum The tracknum.
|
||||
* @param startoffs The startoffs.
|
||||
* @param length The length.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param lbasector The lbasector.
|
||||
* @param chdsector The chdsector.
|
||||
* @param tracknum The tracknum.
|
||||
* @param startoffs The startoffs.
|
||||
* @param length The length.
|
||||
*
|
||||
* @return The partial sector.
|
||||
* @return The partial sector.
|
||||
*/
|
||||
|
||||
chd_error read_partial_sector(cdrom_file *file, void *dest, UINT32 lbasector, UINT32 chdsector, UINT32 tracknum, UINT32 startoffs, UINT32 length)
|
||||
@ -506,17 +506,17 @@ chd_error read_partial_sector(cdrom_file *file, void *dest, UINT32 lbasector, UI
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn UINT32 cdrom_read_data(cdrom_file *file, UINT32 lbasector, void *buffer, UINT32 datatype, bool phys)
|
||||
* @fn UINT32 cdrom_read_data(cdrom_file *file, UINT32 lbasector, void *buffer, UINT32 datatype, bool phys)
|
||||
*
|
||||
* @brief Cdrom read data.
|
||||
* @brief Cdrom read data.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param lbasector The lbasector.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
* @param datatype The datatype.
|
||||
* @param phys true to physical.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param lbasector The lbasector.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
* @param datatype The datatype.
|
||||
* @param phys true to physical.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
UINT32 cdrom_read_data(cdrom_file *file, UINT32 lbasector, void *buffer, UINT32 datatype, bool phys)
|
||||
@ -592,16 +592,16 @@ UINT32 cdrom_read_data(cdrom_file *file, UINT32 lbasector, void *buffer, UINT32
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn UINT32 cdrom_read_subcode(cdrom_file *file, UINT32 lbasector, void *buffer, bool phys)
|
||||
* @fn UINT32 cdrom_read_subcode(cdrom_file *file, UINT32 lbasector, void *buffer, bool phys)
|
||||
*
|
||||
* @brief Cdrom read subcode.
|
||||
* @brief Cdrom read subcode.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param lbasector The lbasector.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
* @param phys true to physical.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param lbasector The lbasector.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
* @param phys true to physical.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
UINT32 cdrom_read_subcode(cdrom_file *file, UINT32 lbasector, void *buffer, bool phys)
|
||||
@ -642,14 +642,14 @@ UINT32 cdrom_read_subcode(cdrom_file *file, UINT32 lbasector, void *buffer, bool
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn UINT32 cdrom_get_track(cdrom_file *file, UINT32 frame)
|
||||
* @fn UINT32 cdrom_get_track(cdrom_file *file, UINT32 frame)
|
||||
*
|
||||
* @brief Cdrom get track.
|
||||
* @brief Cdrom get track.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param frame The frame.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param frame The frame.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
UINT32 cdrom_get_track(cdrom_file *file, UINT32 frame)
|
||||
@ -672,14 +672,14 @@ UINT32 cdrom_get_track(cdrom_file *file, UINT32 frame)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn UINT32 cdrom_get_track_start(cdrom_file *file, UINT32 track)
|
||||
* @fn UINT32 cdrom_get_track_start(cdrom_file *file, UINT32 track)
|
||||
*
|
||||
* @brief Cdrom get track start.
|
||||
* @brief Cdrom get track start.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param track The track.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param track The track.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
UINT32 cdrom_get_track_start(cdrom_file *file, UINT32 track)
|
||||
@ -700,14 +700,14 @@ UINT32 cdrom_get_track_start(cdrom_file *file, UINT32 track)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn UINT32 cdrom_get_track_start_phys(cdrom_file *file, UINT32 track)
|
||||
* @fn UINT32 cdrom_get_track_start_phys(cdrom_file *file, UINT32 track)
|
||||
*
|
||||
* @brief Cdrom get track start physical.
|
||||
* @brief Cdrom get track start physical.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param track The track.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param track The track.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
UINT32 cdrom_get_track_start_phys(cdrom_file *file, UINT32 track)
|
||||
@ -732,13 +732,13 @@ UINT32 cdrom_get_track_start_phys(cdrom_file *file, UINT32 track)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn int cdrom_get_last_track(cdrom_file *file)
|
||||
* @fn int cdrom_get_last_track(cdrom_file *file)
|
||||
*
|
||||
* @brief Cdrom get last track.
|
||||
* @brief Cdrom get last track.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
int cdrom_get_last_track(cdrom_file *file)
|
||||
@ -756,14 +756,14 @@ int cdrom_get_last_track(cdrom_file *file)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn int cdrom_get_adr_control(cdrom_file *file, int track)
|
||||
* @fn int cdrom_get_adr_control(cdrom_file *file, int track)
|
||||
*
|
||||
* @brief Cdrom get address control.
|
||||
* @brief Cdrom get address control.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param track The track.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param track The track.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
int cdrom_get_adr_control(cdrom_file *file, int track)
|
||||
@ -785,14 +785,14 @@ int cdrom_get_adr_control(cdrom_file *file, int track)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn int cdrom_get_track_type(cdrom_file *file, int track)
|
||||
* @fn int cdrom_get_track_type(cdrom_file *file, int track)
|
||||
*
|
||||
* @brief Cdrom get track type.
|
||||
* @brief Cdrom get track type.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param track The track.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param track The track.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
int cdrom_get_track_type(cdrom_file *file, int track)
|
||||
@ -810,13 +810,13 @@ int cdrom_get_track_type(cdrom_file *file, int track)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn const cdrom_toc *cdrom_get_toc(cdrom_file *file)
|
||||
* @fn const cdrom_toc *cdrom_get_toc(cdrom_file *file)
|
||||
*
|
||||
* @brief Cdrom get TOC.
|
||||
* @brief Cdrom get TOC.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
*
|
||||
* @return null if it fails, else a cdrom_toc*.
|
||||
* @return null if it fails, else a cdrom_toc*.
|
||||
*/
|
||||
|
||||
const cdrom_toc *cdrom_get_toc(cdrom_file *file)
|
||||
@ -840,13 +840,13 @@ const cdrom_toc *cdrom_get_toc(cdrom_file *file)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static void cdrom_get_info_from_type_string(const char *typestring, UINT32 *trktype, UINT32 *datasize)
|
||||
* @fn static void cdrom_get_info_from_type_string(const char *typestring, UINT32 *trktype, UINT32 *datasize)
|
||||
*
|
||||
* @brief Cdrom get information from type string.
|
||||
* @brief Cdrom get information from type string.
|
||||
*
|
||||
* @param typestring The typestring.
|
||||
* @param [in,out] trktype If non-null, the trktype.
|
||||
* @param [in,out] datasize If non-null, the datasize.
|
||||
* @param typestring The typestring.
|
||||
* @param [in,out] trktype If non-null, the trktype.
|
||||
* @param [in,out] datasize If non-null, the datasize.
|
||||
*/
|
||||
|
||||
static void cdrom_get_info_from_type_string(const char *typestring, UINT32 *trktype, UINT32 *datasize)
|
||||
@ -935,12 +935,12 @@ static void cdrom_get_info_from_type_string(const char *typestring, UINT32 *trkt
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn void cdrom_convert_type_string_to_track_info(const char *typestring, cdrom_track_info *info)
|
||||
* @fn void cdrom_convert_type_string_to_track_info(const char *typestring, cdrom_track_info *info)
|
||||
*
|
||||
* @brief Cdrom convert type string to track information.
|
||||
* @brief Cdrom convert type string to track information.
|
||||
*
|
||||
* @param typestring The typestring.
|
||||
* @param [in,out] info If non-null, the information.
|
||||
* @param typestring The typestring.
|
||||
* @param [in,out] info If non-null, the information.
|
||||
*/
|
||||
|
||||
void cdrom_convert_type_string_to_track_info(const char *typestring, cdrom_track_info *info)
|
||||
@ -955,12 +955,12 @@ void cdrom_convert_type_string_to_track_info(const char *typestring, cdrom_track
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn void cdrom_convert_type_string_to_pregap_info(const char *typestring, cdrom_track_info *info)
|
||||
* @fn void cdrom_convert_type_string_to_pregap_info(const char *typestring, cdrom_track_info *info)
|
||||
*
|
||||
* @brief Cdrom convert type string to pregap information.
|
||||
* @brief Cdrom convert type string to pregap information.
|
||||
*
|
||||
* @param typestring The typestring.
|
||||
* @param [in,out] info If non-null, the information.
|
||||
* @param typestring The typestring.
|
||||
* @param [in,out] info If non-null, the information.
|
||||
*/
|
||||
|
||||
void cdrom_convert_type_string_to_pregap_info(const char *typestring, cdrom_track_info *info)
|
||||
@ -975,12 +975,12 @@ void cdrom_convert_type_string_to_pregap_info(const char *typestring, cdrom_trac
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn void cdrom_convert_subtype_string_to_track_info(const char *typestring, cdrom_track_info *info)
|
||||
* @fn void cdrom_convert_subtype_string_to_track_info(const char *typestring, cdrom_track_info *info)
|
||||
*
|
||||
* @brief Cdrom convert subtype string to track information.
|
||||
* @brief Cdrom convert subtype string to track information.
|
||||
*
|
||||
* @param typestring The typestring.
|
||||
* @param [in,out] info If non-null, the information.
|
||||
* @param typestring The typestring.
|
||||
* @param [in,out] info If non-null, the information.
|
||||
*/
|
||||
|
||||
void cdrom_convert_subtype_string_to_track_info(const char *typestring, cdrom_track_info *info)
|
||||
@ -1004,12 +1004,12 @@ void cdrom_convert_subtype_string_to_track_info(const char *typestring, cdrom_tr
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn void cdrom_convert_subtype_string_to_pregap_info(const char *typestring, cdrom_track_info *info)
|
||||
* @fn void cdrom_convert_subtype_string_to_pregap_info(const char *typestring, cdrom_track_info *info)
|
||||
*
|
||||
* @brief Cdrom convert subtype string to pregap information.
|
||||
* @brief Cdrom convert subtype string to pregap information.
|
||||
*
|
||||
* @param typestring The typestring.
|
||||
* @param [in,out] info If non-null, the information.
|
||||
* @param typestring The typestring.
|
||||
* @param [in,out] info If non-null, the information.
|
||||
*/
|
||||
|
||||
void cdrom_convert_subtype_string_to_pregap_info(const char *typestring, cdrom_track_info *info)
|
||||
@ -1032,13 +1032,13 @@ void cdrom_convert_subtype_string_to_pregap_info(const char *typestring, cdrom_t
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn const char *cdrom_get_type_string(UINT32 trktype)
|
||||
* @fn const char *cdrom_get_type_string(UINT32 trktype)
|
||||
*
|
||||
* @brief Cdrom get type string.
|
||||
* @brief Cdrom get type string.
|
||||
*
|
||||
* @param trktype The trktype.
|
||||
* @param trktype The trktype.
|
||||
*
|
||||
* @return null if it fails, else a char*.
|
||||
* @return null if it fails, else a char*.
|
||||
*/
|
||||
|
||||
const char *cdrom_get_type_string(UINT32 trktype)
|
||||
@ -1064,13 +1064,13 @@ const char *cdrom_get_type_string(UINT32 trktype)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn const char *cdrom_get_subtype_string(UINT32 subtype)
|
||||
* @fn const char *cdrom_get_subtype_string(UINT32 subtype)
|
||||
*
|
||||
* @brief Cdrom get subtype string.
|
||||
* @brief Cdrom get subtype string.
|
||||
*
|
||||
* @param subtype The subtype.
|
||||
* @param subtype The subtype.
|
||||
*
|
||||
* @return null if it fails, else a char*.
|
||||
* @return null if it fails, else a char*.
|
||||
*/
|
||||
|
||||
const char *cdrom_get_subtype_string(UINT32 subtype)
|
||||
@ -1095,14 +1095,14 @@ const char *cdrom_get_subtype_string(UINT32 subtype)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn chd_error cdrom_parse_metadata(chd_file *chd, cdrom_toc *toc)
|
||||
* @fn chd_error cdrom_parse_metadata(chd_file *chd, cdrom_toc *toc)
|
||||
*
|
||||
* @brief Cdrom parse metadata.
|
||||
* @brief Cdrom parse metadata.
|
||||
*
|
||||
* @param [in,out] chd If non-null, the chd.
|
||||
* @param [in,out] toc If non-null, the TOC.
|
||||
* @param [in,out] chd If non-null, the chd.
|
||||
* @param [in,out] toc If non-null, the TOC.
|
||||
*
|
||||
* @return A chd_error.
|
||||
* @return A chd_error.
|
||||
*/
|
||||
|
||||
chd_error cdrom_parse_metadata(chd_file *chd, cdrom_toc *toc)
|
||||
@ -1272,14 +1272,14 @@ chd_error cdrom_parse_metadata(chd_file *chd, cdrom_toc *toc)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn chd_error cdrom_write_metadata(chd_file *chd, const cdrom_toc *toc)
|
||||
* @fn chd_error cdrom_write_metadata(chd_file *chd, const cdrom_toc *toc)
|
||||
*
|
||||
* @brief Cdrom write metadata.
|
||||
* @brief Cdrom write metadata.
|
||||
*
|
||||
* @param [in,out] chd If non-null, the chd.
|
||||
* @param toc The TOC.
|
||||
* @param [in,out] chd If non-null, the chd.
|
||||
* @param toc The TOC.
|
||||
*
|
||||
* @return A chd_error.
|
||||
* @return A chd_error.
|
||||
*/
|
||||
|
||||
chd_error cdrom_write_metadata(chd_file *chd, const cdrom_toc *toc)
|
||||
@ -1327,9 +1327,9 @@ chd_error cdrom_write_metadata(chd_file *chd, const cdrom_toc *toc)
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief -------------------------------------------------
|
||||
* ECC lookup tables pre-calculated tables for ECC data calcs
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* ECC lookup tables pre-calculated tables for ECC data calcs
|
||||
* -------------------------------------------------.
|
||||
*/
|
||||
|
||||
static const UINT8 ecclow[256] =
|
||||
@ -1352,7 +1352,7 @@ static const UINT8 ecclow[256] =
|
||||
0xfd, 0xff, 0xf9, 0xfb, 0xf5, 0xf7, 0xf1, 0xf3, 0xed, 0xef, 0xe9, 0xeb, 0xe5, 0xe7, 0xe1, 0xe3
|
||||
};
|
||||
|
||||
/** @brief The ecchigh[ 256]. */
|
||||
/** @brief The ecchigh[ 256]. */
|
||||
static const UINT8 ecchigh[256] =
|
||||
{
|
||||
0x00, 0xf4, 0xf5, 0x01, 0xf7, 0x03, 0x02, 0xf6, 0xf3, 0x07, 0x06, 0xf2, 0x04, 0xf0, 0xf1, 0x05,
|
||||
@ -1374,10 +1374,10 @@ static const UINT8 ecchigh[256] =
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief -------------------------------------------------
|
||||
* poffsets - each row represents the addresses used to calculate a byte of the ECC P
|
||||
* data 86 (*2) ECC P bytes, 24 values represented by each
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* poffsets - each row represents the addresses used to calculate a byte of the ECC P
|
||||
* data 86 (*2) ECC P bytes, 24 values represented by each
|
||||
* -------------------------------------------------.
|
||||
*/
|
||||
|
||||
static const UINT16 poffsets[ECC_P_NUM_BYTES][ECC_P_COMP] =
|
||||
@ -1471,10 +1471,10 @@ static const UINT16 poffsets[ECC_P_NUM_BYTES][ECC_P_COMP] =
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief -------------------------------------------------
|
||||
* qoffsets - each row represents the addresses used to calculate a byte of the ECC Q
|
||||
* data 52 (*2) ECC Q bytes, 43 values represented by each
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* qoffsets - each row represents the addresses used to calculate a byte of the ECC Q
|
||||
* data 52 (*2) ECC Q bytes, 43 values represented by each
|
||||
* -------------------------------------------------.
|
||||
*/
|
||||
|
||||
static const UINT16 qoffsets[ECC_Q_NUM_BYTES][ECC_Q_COMP] =
|
||||
@ -1547,17 +1547,17 @@ inline UINT8 ecc_source_byte(const UINT8 *sector, UINT32 offset)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void ecc_compute_bytes(const UINT8 *sector, const UINT16 *row, int rowlen, UINT8 &val1, UINT8 &val2)
|
||||
* @fn void ecc_compute_bytes(const UINT8 *sector, const UINT16 *row, int rowlen, UINT8 &val1, UINT8 &val2)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* ecc_compute_bytes - calculate an ECC value (P or Q)
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* ecc_compute_bytes - calculate an ECC value (P or Q)
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param sector The sector.
|
||||
* @param row The row.
|
||||
* @param rowlen The rowlen.
|
||||
* @param [in,out] val1 The first value.
|
||||
* @param [in,out] val2 The second value.
|
||||
* @param sector The sector.
|
||||
* @param row The row.
|
||||
* @param rowlen The rowlen.
|
||||
* @param [in,out] val1 The first value.
|
||||
* @param [in,out] val2 The second value.
|
||||
*/
|
||||
|
||||
void ecc_compute_bytes(const UINT8 *sector, const UINT16 *row, int rowlen, UINT8 &val1, UINT8 &val2)
|
||||
@ -1574,15 +1574,15 @@ void ecc_compute_bytes(const UINT8 *sector, const UINT16 *row, int rowlen, UINT8
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn bool ecc_verify(const UINT8 *sector)
|
||||
* @fn bool ecc_verify(const UINT8 *sector)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* ecc_verify - verify the P and Q ECC codes in a sector
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* ecc_verify - verify the P and Q ECC codes in a sector
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param sector The sector.
|
||||
* @param sector The sector.
|
||||
*
|
||||
* @return true if it succeeds, false if it fails.
|
||||
* @return true if it succeeds, false if it fails.
|
||||
*/
|
||||
|
||||
bool ecc_verify(const UINT8 *sector)
|
||||
@ -1608,14 +1608,14 @@ bool ecc_verify(const UINT8 *sector)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void ecc_generate(UINT8 *sector)
|
||||
* @fn void ecc_generate(UINT8 *sector)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* ecc_generate - generate the P and Q ECC codes for a sector, overwriting any
|
||||
* existing codes
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* ecc_generate - generate the P and Q ECC codes for a sector, overwriting any
|
||||
* existing codes
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param [in,out] sector If non-null, the sector.
|
||||
* @param [in,out] sector If non-null, the sector.
|
||||
*/
|
||||
|
||||
void ecc_generate(UINT8 *sector)
|
||||
@ -1630,13 +1630,13 @@ void ecc_generate(UINT8 *sector)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void ecc_clear(UINT8 *sector)
|
||||
* @fn void ecc_clear(UINT8 *sector)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* ecc_clear - erase the ECC P and Q cods to 0 within a sector
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* ecc_clear - erase the ECC P and Q cods to 0 within a sector
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param [in,out] sector If non-null, the sector.
|
||||
* @param [in,out] sector If non-null, the sector.
|
||||
*/
|
||||
|
||||
void ecc_clear(UINT8 *sector)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -22,15 +22,15 @@
|
||||
***************************************************************************/
|
||||
|
||||
/**
|
||||
* @def TOKENIZE();
|
||||
* @def TOKENIZE();
|
||||
*
|
||||
* @brief A macro that defines tokenize.
|
||||
* @brief A macro that defines tokenize.
|
||||
*
|
||||
* @param linebuffer The linebuffer.
|
||||
* @param i Zero-based index of the.
|
||||
* @param sizeof(linebuffer) The sizeof(linebuffer)
|
||||
* @param token The token.
|
||||
* @param sizeof(token) The sizeof(token)
|
||||
* @param linebuffer The linebuffer.
|
||||
* @param i Zero-based index of the.
|
||||
* @param sizeof(linebuffer) The sizeof(linebuffer)
|
||||
* @param token The token.
|
||||
* @param sizeof(token) The sizeof(token)
|
||||
*/
|
||||
|
||||
#define TOKENIZE i = tokenize( linebuffer, i, sizeof(linebuffer), token, sizeof(token) );
|
||||
@ -41,7 +41,7 @@
|
||||
GLOBAL VARIABLES
|
||||
***************************************************************************/
|
||||
|
||||
/** @brief The linebuffer[ 512]. */
|
||||
/** @brief The linebuffer[ 512]. */
|
||||
static char linebuffer[512];
|
||||
|
||||
|
||||
@ -51,13 +51,13 @@ static char linebuffer[512];
|
||||
***************************************************************************/
|
||||
|
||||
/**
|
||||
* @fn static std::string get_file_path(std::string &path)
|
||||
* @fn static std::string get_file_path(std::string &path)
|
||||
*
|
||||
* @brief Gets file path.
|
||||
* @brief Gets file path.
|
||||
*
|
||||
* @param [in,out] path Full pathname of the file.
|
||||
* @param [in,out] path Full pathname of the file.
|
||||
*
|
||||
* @return The file path.
|
||||
* @return The file path.
|
||||
*/
|
||||
|
||||
static std::string get_file_path(std::string &path)
|
||||
@ -76,13 +76,13 @@ static std::string get_file_path(std::string &path)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static UINT64 get_file_size(const char *filename)
|
||||
* @fn static UINT64 get_file_size(const char *filename)
|
||||
*
|
||||
* @brief Gets file size.
|
||||
* @brief Gets file size.
|
||||
*
|
||||
* @param filename Filename of the file.
|
||||
* @param filename Filename of the file.
|
||||
*
|
||||
* @return The file size.
|
||||
* @return The file size.
|
||||
*/
|
||||
|
||||
static UINT64 get_file_size(const char *filename)
|
||||
@ -104,17 +104,17 @@ static UINT64 get_file_size(const char *filename)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static int tokenize( const char *linebuffer, int i, int linebuffersize, char *token, int tokensize )
|
||||
* @fn static int tokenize( const char *linebuffer, int i, int linebuffersize, char *token, int tokensize )
|
||||
*
|
||||
* @brief Tokenizes.
|
||||
* @brief Tokenizes.
|
||||
*
|
||||
* @param linebuffer The linebuffer.
|
||||
* @param i Zero-based index of the.
|
||||
* @param linebuffersize The linebuffersize.
|
||||
* @param [in,out] token If non-null, the token.
|
||||
* @param tokensize The tokensize.
|
||||
* @param linebuffer The linebuffer.
|
||||
* @param i Zero-based index of the.
|
||||
* @param linebuffersize The linebuffersize.
|
||||
* @param [in,out] token If non-null, the token.
|
||||
* @param tokensize The tokensize.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
static int tokenize( const char *linebuffer, int i, int linebuffersize, char *token, int tokensize )
|
||||
@ -162,13 +162,13 @@ static int tokenize( const char *linebuffer, int i, int linebuffersize, char *to
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static int msf_to_frames( char *token )
|
||||
* @fn static int msf_to_frames( char *token )
|
||||
*
|
||||
* @brief Msf to frames.
|
||||
* @brief Msf to frames.
|
||||
*
|
||||
* @param [in,out] token If non-null, the token.
|
||||
* @param [in,out] token If non-null, the token.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
static int msf_to_frames( char *token )
|
||||
@ -199,14 +199,14 @@ static int msf_to_frames( char *token )
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static UINT32 parse_wav_sample(const char *filename, UINT32 *dataoffs)
|
||||
* @fn static UINT32 parse_wav_sample(const char *filename, UINT32 *dataoffs)
|
||||
*
|
||||
* @brief Parse WAV sample.
|
||||
* @brief Parse WAV sample.
|
||||
*
|
||||
* @param filename Filename of the file.
|
||||
* @param [in,out] dataoffs If non-null, the dataoffs.
|
||||
* @param filename Filename of the file.
|
||||
* @param [in,out] dataoffs If non-null, the dataoffs.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
static UINT32 parse_wav_sample(const char *filename, UINT32 *dataoffs)
|
||||
@ -378,13 +378,13 @@ static UINT32 parse_wav_sample(const char *filename, UINT32 *dataoffs)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn UINT16 read_uint16(FILE *infile)
|
||||
* @fn UINT16 read_uint16(FILE *infile)
|
||||
*
|
||||
* @brief Reads uint 16.
|
||||
* @brief Reads uint 16.
|
||||
*
|
||||
* @param [in,out] infile If non-null, the infile.
|
||||
* @param [in,out] infile If non-null, the infile.
|
||||
*
|
||||
* @return The uint 16.
|
||||
* @return The uint 16.
|
||||
*/
|
||||
|
||||
UINT16 read_uint16(FILE *infile)
|
||||
@ -400,13 +400,13 @@ UINT16 read_uint16(FILE *infile)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn UINT32 read_uint32(FILE *infile)
|
||||
* @fn UINT32 read_uint32(FILE *infile)
|
||||
*
|
||||
* @brief Reads uint 32.
|
||||
* @brief Reads uint 32.
|
||||
*
|
||||
* @param [in,out] infile If non-null, the infile.
|
||||
* @param [in,out] infile If non-null, the infile.
|
||||
*
|
||||
* @return The uint 32.
|
||||
* @return The uint 32.
|
||||
*/
|
||||
|
||||
UINT32 read_uint32(FILE *infile)
|
||||
@ -422,13 +422,13 @@ UINT32 read_uint32(FILE *infile)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn UINT64 read_uint64(FILE *infile)
|
||||
* @fn UINT64 read_uint64(FILE *infile)
|
||||
*
|
||||
* @brief Reads uint 64.
|
||||
* @brief Reads uint 64.
|
||||
*
|
||||
* @param [in,out] infile If non-null, the infile.
|
||||
* @param [in,out] infile If non-null, the infile.
|
||||
*
|
||||
* @return The uint 64.
|
||||
* @return The uint 64.
|
||||
*/
|
||||
|
||||
UINT64 read_uint64(FILE *infile)
|
||||
@ -452,15 +452,15 @@ UINT64 read_uint64(FILE *infile)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn chd_error chdcd_parse_nero(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
* @fn chd_error chdcd_parse_nero(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
*
|
||||
* @brief Chdcd parse nero.
|
||||
* @brief Chdcd parse nero.
|
||||
*
|
||||
* @param tocfname The tocfname.
|
||||
* @param [in,out] outtoc The outtoc.
|
||||
* @param [in,out] outinfo The outinfo.
|
||||
* @param tocfname The tocfname.
|
||||
* @param [in,out] outtoc The outtoc.
|
||||
* @param [in,out] outinfo The outinfo.
|
||||
*
|
||||
* @return A chd_error.
|
||||
* @return A chd_error.
|
||||
*/
|
||||
|
||||
chd_error chdcd_parse_nero(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
@ -638,15 +638,15 @@ chd_error chdcd_parse_nero(const char *tocfname, cdrom_toc &outtoc, chdcd_track_
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn chd_error chdcd_parse_iso(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
* @fn chd_error chdcd_parse_iso(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
*
|
||||
* @brief Chdcd parse ISO.
|
||||
* @brief Chdcd parse ISO.
|
||||
*
|
||||
* @param tocfname The tocfname.
|
||||
* @param [in,out] outtoc The outtoc.
|
||||
* @param [in,out] outinfo The outinfo.
|
||||
* @param tocfname The tocfname.
|
||||
* @param [in,out] outtoc The outtoc.
|
||||
* @param [in,out] outinfo The outinfo.
|
||||
*
|
||||
* @return A chd_error.
|
||||
* @return A chd_error.
|
||||
*/
|
||||
|
||||
chd_error chdcd_parse_iso(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
@ -715,15 +715,15 @@ chd_error chdcd_parse_iso(const char *tocfname, cdrom_toc &outtoc, chdcd_track_i
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static chd_error chdcd_parse_gdi(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
* @fn static chd_error chdcd_parse_gdi(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
*
|
||||
* @brief Chdcd parse GDI.
|
||||
* @brief Chdcd parse GDI.
|
||||
*
|
||||
* @param tocfname The tocfname.
|
||||
* @param [in,out] outtoc The outtoc.
|
||||
* @param [in,out] outinfo The outinfo.
|
||||
* @param tocfname The tocfname.
|
||||
* @param [in,out] outtoc The outtoc.
|
||||
* @param [in,out] outinfo The outinfo.
|
||||
*
|
||||
* @return A chd_error.
|
||||
* @return A chd_error.
|
||||
*/
|
||||
|
||||
static chd_error chdcd_parse_gdi(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
@ -847,15 +847,15 @@ static chd_error chdcd_parse_gdi(const char *tocfname, cdrom_toc &outtoc, chdcd_
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn chd_error chdcd_parse_cue(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
* @fn chd_error chdcd_parse_cue(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
*
|
||||
* @brief Chdcd parse cue.
|
||||
* @brief Chdcd parse cue.
|
||||
*
|
||||
* @param tocfname The tocfname.
|
||||
* @param [in,out] outtoc The outtoc.
|
||||
* @param [in,out] outinfo The outinfo.
|
||||
* @param tocfname The tocfname.
|
||||
* @param [in,out] outtoc The outtoc.
|
||||
* @param [in,out] outinfo The outinfo.
|
||||
*
|
||||
* @return A chd_error.
|
||||
* @return A chd_error.
|
||||
*/
|
||||
|
||||
chd_error chdcd_parse_cue(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
@ -1142,15 +1142,15 @@ chd_error chdcd_parse_cue(const char *tocfname, cdrom_toc &outtoc, chdcd_track_i
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn chd_error chdcd_parse_toc(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
* @fn chd_error chdcd_parse_toc(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
*
|
||||
* @brief Chdcd parse TOC.
|
||||
* @brief Chdcd parse TOC.
|
||||
*
|
||||
* @param tocfname The tocfname.
|
||||
* @param [in,out] outtoc The outtoc.
|
||||
* @param [in,out] outinfo The outinfo.
|
||||
* @param tocfname The tocfname.
|
||||
* @param [in,out] outtoc The outtoc.
|
||||
* @param [in,out] outinfo The outinfo.
|
||||
*
|
||||
* @return A chd_error.
|
||||
* @return A chd_error.
|
||||
*/
|
||||
|
||||
chd_error chdcd_parse_toc(const char *tocfname, cdrom_toc &outtoc, chdcd_track_input_info &outinfo)
|
||||
|
@ -1454,15 +1454,15 @@ UINT32 chd_cd_flac_compressor::compress(const UINT8 *src, UINT32 srclen, UINT8 *
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn UINT32 chd_cd_flac_compressor::blocksize(UINT32 bytes)
|
||||
* @fn UINT32 chd_cd_flac_compressor::blocksize(UINT32 bytes)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* blocksize - return the optimal block size
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* blocksize - return the optimal block size
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param bytes The bytes.
|
||||
* @param bytes The bytes.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
UINT32 chd_cd_flac_compressor::blocksize(UINT32 bytes)
|
||||
@ -1481,17 +1481,17 @@ UINT32 chd_cd_flac_compressor::blocksize(UINT32 bytes)
|
||||
//**************************************************************************
|
||||
|
||||
/**
|
||||
* @fn chd_cd_flac_decompressor::chd_cd_flac_decompressor(chd_file &chd, UINT32 hunkbytes, bool lossy)
|
||||
* @fn chd_cd_flac_decompressor::chd_cd_flac_decompressor(chd_file &chd, UINT32 hunkbytes, bool lossy)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* chd_cd_flac_decompressor - constructor
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* chd_cd_flac_decompressor - constructor
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @exception CHDERR_CODEC_ERROR Thrown when a chderr codec error error condition occurs.
|
||||
* @exception CHDERR_CODEC_ERROR Thrown when a chderr codec error error condition occurs.
|
||||
*
|
||||
* @param [in,out] chd The chd.
|
||||
* @param hunkbytes The hunkbytes.
|
||||
* @param lossy true to lossy.
|
||||
* @param [in,out] chd The chd.
|
||||
* @param hunkbytes The hunkbytes.
|
||||
* @param lossy true to lossy.
|
||||
*/
|
||||
|
||||
chd_cd_flac_decompressor::chd_cd_flac_decompressor(chd_file &chd, UINT32 hunkbytes, bool lossy)
|
||||
@ -1521,11 +1521,11 @@ chd_cd_flac_decompressor::chd_cd_flac_decompressor(chd_file &chd, UINT32 hunkbyt
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn chd_cd_flac_decompressor::~chd_cd_flac_decompressor()
|
||||
* @fn chd_cd_flac_decompressor::~chd_cd_flac_decompressor()
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* ~chd_cd_flac_decompressor - destructor
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* ~chd_cd_flac_decompressor - destructor
|
||||
* -------------------------------------------------.
|
||||
*/
|
||||
|
||||
chd_cd_flac_decompressor::~chd_cd_flac_decompressor()
|
||||
@ -1534,19 +1534,19 @@ chd_cd_flac_decompressor::~chd_cd_flac_decompressor()
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void chd_cd_flac_decompressor::decompress(const UINT8 *src, UINT32 complen, UINT8 *dest, UINT32 destlen)
|
||||
* @fn void chd_cd_flac_decompressor::decompress(const UINT8 *src, UINT32 complen, UINT8 *dest, UINT32 destlen)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* decompress - decompress data using the FLAC codec
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* decompress - decompress data using the FLAC codec
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @exception CHDERR_DECOMPRESSION_ERROR Thrown when a chderr decompression error error
|
||||
* condition occurs.
|
||||
* @exception CHDERR_DECOMPRESSION_ERROR Thrown when a chderr decompression error error
|
||||
* condition occurs.
|
||||
*
|
||||
* @param src Source for the.
|
||||
* @param complen The complen.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param destlen The destlen.
|
||||
* @param src Source for the.
|
||||
* @param complen The complen.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param destlen The destlen.
|
||||
*/
|
||||
|
||||
void chd_cd_flac_decompressor::decompress(const UINT8 *src, UINT32 complen, UINT8 *dest, UINT32 destlen)
|
||||
@ -1593,15 +1593,15 @@ void chd_cd_flac_decompressor::decompress(const UINT8 *src, UINT32 complen, UINT
|
||||
//**************************************************************************
|
||||
|
||||
/**
|
||||
* @fn chd_avhuff_compressor::chd_avhuff_compressor(chd_file &chd, UINT32 hunkbytes, bool lossy)
|
||||
* @fn chd_avhuff_compressor::chd_avhuff_compressor(chd_file &chd, UINT32 hunkbytes, bool lossy)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* chd_avhuff_compressor - constructor
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* chd_avhuff_compressor - constructor
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param [in,out] chd The chd.
|
||||
* @param hunkbytes The hunkbytes.
|
||||
* @param lossy true to lossy.
|
||||
* @param [in,out] chd The chd.
|
||||
* @param hunkbytes The hunkbytes.
|
||||
* @param lossy true to lossy.
|
||||
*/
|
||||
|
||||
chd_avhuff_compressor::chd_avhuff_compressor(chd_file &chd, UINT32 hunkbytes, bool lossy)
|
||||
@ -1620,22 +1620,22 @@ chd_avhuff_compressor::chd_avhuff_compressor(chd_file &chd, UINT32 hunkbytes, bo
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn UINT32 chd_avhuff_compressor::compress(const UINT8 *src, UINT32 srclen, UINT8 *dest)
|
||||
* @fn UINT32 chd_avhuff_compressor::compress(const UINT8 *src, UINT32 srclen, UINT8 *dest)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* compress - compress data using the A/V codec
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* compress - compress data using the A/V codec
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @exception CHDERR_INVALID_DATA Thrown when a chderr invalid data error condition
|
||||
* occurs.
|
||||
* @exception CHDERR_COMPRESSION_ERROR Thrown when a chderr compression error error
|
||||
* condition occurs.
|
||||
* @exception CHDERR_INVALID_DATA Thrown when a chderr invalid data error condition
|
||||
* occurs.
|
||||
* @exception CHDERR_COMPRESSION_ERROR Thrown when a chderr compression error error
|
||||
* condition occurs.
|
||||
*
|
||||
* @param src Source for the.
|
||||
* @param srclen The srclen.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param src Source for the.
|
||||
* @param srclen The srclen.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
UINT32 chd_avhuff_compressor::compress(const UINT8 *src, UINT32 srclen, UINT8 *dest)
|
||||
@ -1662,16 +1662,16 @@ UINT32 chd_avhuff_compressor::compress(const UINT8 *src, UINT32 srclen, UINT8 *d
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void chd_avhuff_compressor::postinit()
|
||||
* @fn void chd_avhuff_compressor::postinit()
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* postinit - actual initialization of avhuff happens here, on the first attempt to
|
||||
* compress or decompress data
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* postinit - actual initialization of avhuff happens here, on the first attempt to
|
||||
* compress or decompress data
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @exception err Thrown when an error error condition occurs.
|
||||
* @exception CHDERR_INVALID_METADATA Thrown when a chderr invalid metadata error condition
|
||||
* occurs.
|
||||
* @exception err Thrown when an error error condition occurs.
|
||||
* @exception CHDERR_INVALID_METADATA Thrown when a chderr invalid metadata error condition
|
||||
* occurs.
|
||||
*/
|
||||
|
||||
void chd_avhuff_compressor::postinit()
|
||||
@ -1705,15 +1705,15 @@ void chd_avhuff_compressor::postinit()
|
||||
//**************************************************************************
|
||||
|
||||
/**
|
||||
* @fn chd_avhuff_decompressor::chd_avhuff_decompressor(chd_file &chd, UINT32 hunkbytes, bool lossy)
|
||||
* @fn chd_avhuff_decompressor::chd_avhuff_decompressor(chd_file &chd, UINT32 hunkbytes, bool lossy)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* chd_avhuff_decompressor - constructor
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* chd_avhuff_decompressor - constructor
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param [in,out] chd The chd.
|
||||
* @param hunkbytes The hunkbytes.
|
||||
* @param lossy true to lossy.
|
||||
* @param [in,out] chd The chd.
|
||||
* @param hunkbytes The hunkbytes.
|
||||
* @param lossy true to lossy.
|
||||
*/
|
||||
|
||||
chd_avhuff_decompressor::chd_avhuff_decompressor(chd_file &chd, UINT32 hunkbytes, bool lossy)
|
||||
@ -1722,19 +1722,19 @@ chd_avhuff_decompressor::chd_avhuff_decompressor(chd_file &chd, UINT32 hunkbytes
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void chd_avhuff_decompressor::decompress(const UINT8 *src, UINT32 complen, UINT8 *dest, UINT32 destlen)
|
||||
* @fn void chd_avhuff_decompressor::decompress(const UINT8 *src, UINT32 complen, UINT8 *dest, UINT32 destlen)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* decompress - decompress data using the A/V codec
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* decompress - decompress data using the A/V codec
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @exception CHDERR_DECOMPRESSION_ERROR Thrown when a chderr decompression error error
|
||||
* condition occurs.
|
||||
* @exception CHDERR_DECOMPRESSION_ERROR Thrown when a chderr decompression error error
|
||||
* condition occurs.
|
||||
*
|
||||
* @param src Source for the.
|
||||
* @param complen The complen.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param destlen The destlen.
|
||||
* @param src Source for the.
|
||||
* @param complen The complen.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param destlen The destlen.
|
||||
*/
|
||||
|
||||
void chd_avhuff_decompressor::decompress(const UINT8 *src, UINT32 complen, UINT8 *dest, UINT32 destlen)
|
||||
@ -1754,17 +1754,17 @@ void chd_avhuff_decompressor::decompress(const UINT8 *src, UINT32 complen, UINT8
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void chd_avhuff_decompressor::configure(int param, void *config)
|
||||
* @fn void chd_avhuff_decompressor::configure(int param, void *config)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* config - codec-specific configuration for the A/V codec
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* config - codec-specific configuration for the A/V codec
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @exception CHDERR_INVALID_PARAMETER Thrown when a chderr invalid parameter error
|
||||
* condition occurs.
|
||||
* @exception CHDERR_INVALID_PARAMETER Thrown when a chderr invalid parameter error
|
||||
* condition occurs.
|
||||
*
|
||||
* @param param The parameter.
|
||||
* @param [in,out] config If non-null, the configuration.
|
||||
* @param param The parameter.
|
||||
* @param [in,out] config If non-null, the configuration.
|
||||
*/
|
||||
|
||||
void chd_avhuff_decompressor::configure(int param, void *config)
|
||||
|
@ -395,13 +395,13 @@ void memory_entry::release(memory_entry *entry, const char *file, int line)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void memory_entry::report_unfreed(UINT64 start)
|
||||
* @fn void memory_entry::report_unfreed(UINT64 start)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* report_unfreed - print a list of unfreed memory to the target file
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* report_unfreed - print a list of unfreed memory to the target file
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param start The start.
|
||||
* @param start The start.
|
||||
*/
|
||||
|
||||
void memory_entry::report_unfreed(UINT64 start)
|
||||
|
@ -1029,17 +1029,17 @@ static file_error osd_or_zlib_read(core_file *file, void *buffer, UINT64 offset,
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static file_error osd_or_zlib_write(core_file *file, const void *buffer, UINT64 offset, UINT32 length, UINT32 *actual)
|
||||
* @fn static file_error osd_or_zlib_write(core_file *file, const void *buffer, UINT64 offset, UINT32 length, UINT32 *actual)
|
||||
*
|
||||
* @brief OSD or zlib write.
|
||||
* @brief OSD or zlib write.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param buffer The buffer.
|
||||
* @param offset The offset.
|
||||
* @param length The length.
|
||||
* @param [in,out] actual If non-null, the actual.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param buffer The buffer.
|
||||
* @param offset The offset.
|
||||
* @param length The length.
|
||||
* @param [in,out] actual If non-null, the actual.
|
||||
*
|
||||
* @return A file_error.
|
||||
* @return A file_error.
|
||||
*/
|
||||
|
||||
static file_error osd_or_zlib_write(core_file *file, const void *buffer, UINT64 offset, UINT32 length, UINT32 *actual)
|
||||
|
@ -295,13 +295,13 @@ std::string strmakeupper(std::string& str)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn std::string strmakelower(std::string& str)
|
||||
* @fn std::string strmakelower(std::string& str)
|
||||
*
|
||||
* @brief Strmakelowers the given string.
|
||||
* @brief Strmakelowers the given string.
|
||||
*
|
||||
* @param [in,out] str The string.
|
||||
* @param [in,out] str The string.
|
||||
*
|
||||
* @return A std::string.
|
||||
* @return A std::string.
|
||||
*/
|
||||
|
||||
std::string strmakelower(std::string& str)
|
||||
@ -311,15 +311,15 @@ std::string strmakelower(std::string& str)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn int strreplace(std::string &str, const std::string& search, const std::string& replace)
|
||||
* @fn int strreplace(std::string &str, const std::string& search, const std::string& replace)
|
||||
*
|
||||
* @brief Strreplaces.
|
||||
* @brief Strreplaces.
|
||||
*
|
||||
* @param [in,out] str The string.
|
||||
* @param search The search.
|
||||
* @param replace The replace.
|
||||
* @param [in,out] str The string.
|
||||
* @param search The search.
|
||||
* @param replace The replace.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
int strreplace(std::string &str, const std::string& search, const std::string& replace)
|
||||
|
@ -69,14 +69,14 @@ int gregorian_is_leap_year(int year)
|
||||
/* months are one counted */
|
||||
|
||||
/**
|
||||
* @fn int gregorian_days_in_month(int month, int year)
|
||||
* @fn int gregorian_days_in_month(int month, int year)
|
||||
*
|
||||
* @brief Gregorian days in month.
|
||||
* @brief Gregorian days in month.
|
||||
*
|
||||
* @param month The month.
|
||||
* @param year The year.
|
||||
* @param month The month.
|
||||
* @param year The year.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
int gregorian_days_in_month(int month, int year)
|
||||
@ -95,12 +95,12 @@ int gregorian_days_in_month(int month, int year)
|
||||
***************************************************************************/
|
||||
|
||||
/**
|
||||
* @fn void rand_memory(void *memory, size_t length)
|
||||
* @fn void rand_memory(void *memory, size_t length)
|
||||
*
|
||||
* @brief Random memory.
|
||||
* @brief Random memory.
|
||||
*
|
||||
* @param [in,out] memory If non-null, the memory.
|
||||
* @param length The length.
|
||||
* @param [in,out] memory If non-null, the memory.
|
||||
* @param length The length.
|
||||
*/
|
||||
|
||||
void rand_memory(void *memory, size_t length)
|
||||
|
@ -71,11 +71,11 @@ bool const_string_pool::contains(const char *string)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn const_string_pool::pool_chunk::pool_chunk()
|
||||
* @fn const_string_pool::pool_chunk::pool_chunk()
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* pool_chunk - constructor
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* pool_chunk - constructor
|
||||
* -------------------------------------------------.
|
||||
*/
|
||||
|
||||
const_string_pool::pool_chunk::pool_chunk()
|
||||
@ -85,15 +85,15 @@ const_string_pool::pool_chunk::pool_chunk()
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn const char *const_string_pool::pool_chunk::add(const char *string)
|
||||
* @fn const char *const_string_pool::pool_chunk::add(const char *string)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* add - add a string to this pool
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* add - add a string to this pool
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param string The string to add.
|
||||
* @param string The string to add.
|
||||
*
|
||||
* @return null if it fails, else a char*.
|
||||
* @return null if it fails, else a char*.
|
||||
*/
|
||||
|
||||
const char *const_string_pool::pool_chunk::add(const char *string)
|
||||
|
@ -33,16 +33,16 @@ delegate_mfp::raw_mfp_data delegate_mfp::s_null_mfp = { 0 };
|
||||
#if (USE_DELEGATE_TYPE == DELEGATE_TYPE_INTERNAL)
|
||||
|
||||
/**
|
||||
* @fn delegate_generic_function delegate_mfp::convert_to_generic(delegate_generic_class *&object) const
|
||||
* @fn delegate_generic_function delegate_mfp::convert_to_generic(delegate_generic_class *&object) const
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* delegate_convert_raw - given an object and an raw function, adjust the object base
|
||||
* and return the actual final code pointer
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* delegate_convert_raw - given an object and an raw function, adjust the object base
|
||||
* and return the actual final code pointer
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param [in,out] object [in,out] If non-null, the object.
|
||||
* @param [in,out] object [in,out] If non-null, the object.
|
||||
*
|
||||
* @return The given data converted to a generic.
|
||||
* @return The given data converted to a generic.
|
||||
*/
|
||||
|
||||
delegate_generic_function delegate_mfp::convert_to_generic(delegate_generic_class *&object) const
|
||||
|
@ -659,8 +659,7 @@ public:
|
||||
if (is_mfp() && (HAS_DIFFERENT_ABI)) \
|
||||
return (*reinterpret_cast<generic_member_func>(m_function)) x; \
|
||||
else \
|
||||
return (*m_function) x; \
|
||||
|
||||
return (*m_function) x;
|
||||
//return MEMBER_ABI (*reinpertret_cast<generic_member_func>(m_function)) x;
|
||||
|
||||
// call the function
|
||||
|
@ -609,15 +609,15 @@ FLAC__StreamDecoderWriteStatus flac_decoder::write_callback(const ::FLAC__Frame
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void flac_decoder::error_callback_static(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
|
||||
* @fn void flac_decoder::error_callback_static(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* error_callback - handle errors (ignore them)
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* error_callback - handle errors (ignore them)
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param decoder The decoder.
|
||||
* @param status The status.
|
||||
* @param [in,out] client_data If non-null, information describing the client.
|
||||
* @param decoder The decoder.
|
||||
* @param status The status.
|
||||
* @param [in,out] client_data If non-null, information describing the client.
|
||||
*/
|
||||
|
||||
void flac_decoder::error_callback_static(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
|
||||
|
@ -98,13 +98,13 @@ chd_file *hard_disk_get_chd(hard_disk_file *file)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn hard_disk_info *hard_disk_get_info(hard_disk_file *file)
|
||||
* @fn hard_disk_info *hard_disk_get_info(hard_disk_file *file)
|
||||
*
|
||||
* @brief Hard disk get information.
|
||||
* @brief Hard disk get information.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
*
|
||||
* @return null if it fails, else a hard_disk_info*.
|
||||
* @return null if it fails, else a hard_disk_info*.
|
||||
*/
|
||||
|
||||
hard_disk_info *hard_disk_get_info(hard_disk_file *file)
|
||||
@ -119,15 +119,15 @@ hard_disk_info *hard_disk_get_info(hard_disk_file *file)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn UINT32 hard_disk_read(hard_disk_file *file, UINT32 lbasector, void *buffer)
|
||||
* @fn UINT32 hard_disk_read(hard_disk_file *file, UINT32 lbasector, void *buffer)
|
||||
*
|
||||
* @brief Hard disk read.
|
||||
* @brief Hard disk read.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param lbasector The lbasector.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param lbasector The lbasector.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
UINT32 hard_disk_read(hard_disk_file *file, UINT32 lbasector, void *buffer)
|
||||
@ -143,15 +143,15 @@ UINT32 hard_disk_read(hard_disk_file *file, UINT32 lbasector, void *buffer)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn UINT32 hard_disk_write(hard_disk_file *file, UINT32 lbasector, const void *buffer)
|
||||
* @fn UINT32 hard_disk_write(hard_disk_file *file, UINT32 lbasector, const void *buffer)
|
||||
*
|
||||
* @brief Hard disk write.
|
||||
* @brief Hard disk write.
|
||||
*
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param lbasector The lbasector.
|
||||
* @param buffer The buffer.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param lbasector The lbasector.
|
||||
* @param buffer The buffer.
|
||||
*
|
||||
* @return An UINT32.
|
||||
* @return An UINT32.
|
||||
*/
|
||||
|
||||
UINT32 hard_disk_write(hard_disk_file *file, UINT32 lbasector, const void *buffer)
|
||||
|
@ -215,15 +215,15 @@ bool crc16_t::from_string(const char *string, int length)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn const char *crc16_t::as_string(std::string &buffer) const
|
||||
* @fn const char *crc16_t::as_string(std::string &buffer) const
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* as_string - convert to a string
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* as_string - convert to a string
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param [in,out] buffer The buffer.
|
||||
* @param [in,out] buffer The buffer.
|
||||
*
|
||||
* @return null if it fails, else a char*.
|
||||
* @return null if it fails, else a char*.
|
||||
*/
|
||||
|
||||
const char *crc16_t::as_string(std::string &buffer) const
|
||||
@ -233,14 +233,14 @@ const char *crc16_t::as_string(std::string &buffer) const
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void crc16_creator::append(const void *data, UINT32 length)
|
||||
* @fn void crc16_creator::append(const void *data, UINT32 length)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* append - hash a block of data, appending to the currently-accumulated value
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* append - hash a block of data, appending to the currently-accumulated value
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param length The length.
|
||||
* @param data The data.
|
||||
* @param length The length.
|
||||
*/
|
||||
|
||||
void crc16_creator::append(const void *data, UINT32 length)
|
||||
|
@ -731,18 +731,18 @@ huffman_8bit_decoder::huffman_8bit_decoder()
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn huffman_error huffman_8bit_decoder::decode(const UINT8 *source, UINT32 slength, UINT8 *dest, UINT32 dlength)
|
||||
* @fn huffman_error huffman_8bit_decoder::decode(const UINT8 *source, UINT32 slength, UINT8 *dest, UINT32 dlength)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* decode - decode a full buffer
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* decode - decode a full buffer
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param source Source for the.
|
||||
* @param slength The slength.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param dlength The dlength.
|
||||
* @param source Source for the.
|
||||
* @param slength The slength.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param dlength The dlength.
|
||||
*
|
||||
* @return A huffman_error.
|
||||
* @return A huffman_error.
|
||||
*/
|
||||
|
||||
huffman_error huffman_8bit_decoder::decode(const UINT8 *source, UINT32 slength, UINT8 *dest, UINT32 dlength)
|
||||
|
@ -411,15 +411,15 @@ int jedbin_parse(const void *data, size_t length, jed_data *result)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn size_t jedbin_output(const jed_data *data, void *result, size_t length)
|
||||
* @fn size_t jedbin_output(const jed_data *data, void *result, size_t length)
|
||||
*
|
||||
* @brief Jedbin output.
|
||||
* @brief Jedbin output.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param [out] result If non-null, the result.
|
||||
* @param length The length.
|
||||
* @param data The data.
|
||||
* @param [out] result If non-null, the result.
|
||||
* @param length The length.
|
||||
*
|
||||
* @return A size_t.
|
||||
* @return A size_t.
|
||||
*/
|
||||
|
||||
size_t jedbin_output(const jed_data *data, void *result, size_t length)
|
||||
|
@ -155,12 +155,12 @@ MD5Final(md5byte digest[16], struct MD5Context *ctx)
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fn void MD5Transform(UWORD32 buf[4], UWORD32 const in[16])
|
||||
* @fn void MD5Transform(UWORD32 buf[4], UWORD32 const in[16])
|
||||
*
|
||||
* @brief Md 5 transform.
|
||||
* @brief Md 5 transform.
|
||||
*
|
||||
* @param buf The buffer.
|
||||
* @param in The in.
|
||||
* @param buf The buffer.
|
||||
* @param in The in.
|
||||
*/
|
||||
|
||||
void
|
||||
|
@ -537,14 +537,14 @@ optreserr_t option_resolution_isvalidvalue(const char *specification, int option
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn int option_resolution_contains(const char *specification, int option_char)
|
||||
* @fn int option_resolution_contains(const char *specification, int option_char)
|
||||
*
|
||||
* @brief Option resolution contains.
|
||||
* @brief Option resolution contains.
|
||||
*
|
||||
* @param specification The specification.
|
||||
* @param option_char The option character.
|
||||
* @param specification The specification.
|
||||
* @param option_char The option character.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
int option_resolution_contains(const char *specification, int option_char)
|
||||
@ -553,13 +553,13 @@ int option_resolution_contains(const char *specification, int option_char)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn const char *option_resolution_error_string(optreserr_t err)
|
||||
* @fn const char *option_resolution_error_string(optreserr_t err)
|
||||
*
|
||||
* @brief Option resolution error string.
|
||||
* @brief Option resolution error string.
|
||||
*
|
||||
* @param err The error.
|
||||
* @param err The error.
|
||||
*
|
||||
* @return null if it fails, else a char*.
|
||||
* @return null if it fails, else a char*.
|
||||
*/
|
||||
|
||||
const char *option_resolution_error_string(optreserr_t err)
|
||||
|
@ -710,13 +710,13 @@ void core_options::remove_entry(core_options::entry &delentry)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void core_options::copyfrom(const core_options &src)
|
||||
* @fn void core_options::copyfrom(const core_options &src)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* copyfrom - copy options from another set
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* copyfrom - copy options from another set
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param src Source for the.
|
||||
* @param src Source for the.
|
||||
*/
|
||||
|
||||
void core_options::copyfrom(const core_options &src)
|
||||
@ -730,19 +730,19 @@ void core_options::copyfrom(const core_options &src)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn bool core_options::validate_and_set_data(core_options::entry &curentry, const char *newdata, int priority, std::string &error_string)
|
||||
* @fn bool core_options::validate_and_set_data(core_options::entry &curentry, const char *newdata, int priority, std::string &error_string)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* validate_and_set_data - make sure the data is of the appropriate type and within
|
||||
* range, then set it
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* validate_and_set_data - make sure the data is of the appropriate type and within
|
||||
* range, then set it
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param [in,out] curentry The curentry.
|
||||
* @param newdata The newdata.
|
||||
* @param priority The priority.
|
||||
* @param [in,out] error_string The error string.
|
||||
* @param [in,out] curentry The curentry.
|
||||
* @param newdata The newdata.
|
||||
* @param priority The priority.
|
||||
* @param [in,out] error_string The error string.
|
||||
*
|
||||
* @return true if it succeeds, false if it fails.
|
||||
* @return true if it succeeds, false if it fails.
|
||||
*/
|
||||
|
||||
bool core_options::validate_and_set_data(core_options::entry &curentry, const char *newdata, int priority, std::string &error_string)
|
||||
|
@ -468,14 +468,14 @@ void palette_t::normalize_range(UINT32 start, UINT32 end, int lum_min, int lum_m
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void palette_t::update_adjusted_color(UINT32 group, UINT32 index)
|
||||
* @fn void palette_t::update_adjusted_color(UINT32 group, UINT32 index)
|
||||
*
|
||||
* @brief -------------------------------------------------
|
||||
* update_adjusted_color - update a color index by group and index pair
|
||||
* -------------------------------------------------.
|
||||
* @brief -------------------------------------------------
|
||||
* update_adjusted_color - update a color index by group and index pair
|
||||
* -------------------------------------------------.
|
||||
*
|
||||
* @param group The group.
|
||||
* @param index Zero-based index of the.
|
||||
* @param group The group.
|
||||
* @param index Zero-based index of the.
|
||||
*/
|
||||
|
||||
void palette_t::update_adjusted_color(UINT32 group, UINT32 index)
|
||||
|
@ -295,15 +295,15 @@ static bool process_field(jed_data *data, const UINT8 **src, const UINT8 *srcend
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn int pla_parse(const void *data, size_t length, jed_data *result)
|
||||
* @fn int pla_parse(const void *data, size_t length, jed_data *result)
|
||||
*
|
||||
* @brief Pla parse.
|
||||
* @brief Pla parse.
|
||||
*
|
||||
* @param data The data.
|
||||
* @param length The length.
|
||||
* @param [out] result If non-null, the result.
|
||||
* @param data The data.
|
||||
* @param length The length.
|
||||
* @param [out] result If non-null, the result.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
int pla_parse(const void *data, size_t length, jed_data *result)
|
||||
|
@ -1097,15 +1097,15 @@ png_error png_write_bitmap(core_file *fp, png_info *info, bitmap_t &bitmap, int
|
||||
********************************************************************************/
|
||||
|
||||
/**
|
||||
* @fn png_error mng_capture_start(core_file *fp, bitmap_t &bitmap, double rate)
|
||||
* @fn png_error mng_capture_start(core_file *fp, bitmap_t &bitmap, double rate)
|
||||
*
|
||||
* @brief Mng capture start.
|
||||
* @brief Mng capture start.
|
||||
*
|
||||
* @param [in,out] fp If non-null, the fp.
|
||||
* @param [in,out] bitmap The bitmap.
|
||||
* @param rate The rate.
|
||||
* @param [in,out] fp If non-null, the fp.
|
||||
* @param [in,out] bitmap The bitmap.
|
||||
* @param rate The rate.
|
||||
*
|
||||
* @return A png_error.
|
||||
* @return A png_error.
|
||||
*/
|
||||
|
||||
png_error mng_capture_start(core_file *fp, bitmap_t &bitmap, double rate)
|
||||
@ -1131,17 +1131,17 @@ png_error mng_capture_start(core_file *fp, bitmap_t &bitmap, double rate)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn png_error mng_capture_frame(core_file *fp, png_info *info, bitmap_t &bitmap, int palette_length, const rgb_t *palette)
|
||||
* @fn png_error mng_capture_frame(core_file *fp, png_info *info, bitmap_t &bitmap, int palette_length, const rgb_t *palette)
|
||||
*
|
||||
* @brief Mng capture frame.
|
||||
* @brief Mng capture frame.
|
||||
*
|
||||
* @param [in,out] fp If non-null, the fp.
|
||||
* @param [in,out] info If non-null, the information.
|
||||
* @param [in,out] bitmap The bitmap.
|
||||
* @param palette_length Length of the palette.
|
||||
* @param palette The palette.
|
||||
* @param [in,out] fp If non-null, the fp.
|
||||
* @param [in,out] info If non-null, the information.
|
||||
* @param [in,out] bitmap The bitmap.
|
||||
* @param palette_length Length of the palette.
|
||||
* @param palette The palette.
|
||||
*
|
||||
* @return A png_error.
|
||||
* @return A png_error.
|
||||
*/
|
||||
|
||||
png_error mng_capture_frame(core_file *fp, png_info *info, bitmap_t &bitmap, int palette_length, const rgb_t *palette)
|
||||
@ -1150,13 +1150,13 @@ png_error mng_capture_frame(core_file *fp, png_info *info, bitmap_t &bitmap, int
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn png_error mng_capture_stop(core_file *fp)
|
||||
* @fn png_error mng_capture_stop(core_file *fp)
|
||||
*
|
||||
* @brief Mng capture stop.
|
||||
* @brief Mng capture stop.
|
||||
*
|
||||
* @param [in,out] fp If non-null, the fp.
|
||||
* @param [in,out] fp If non-null, the fp.
|
||||
*
|
||||
* @return A png_error.
|
||||
* @return A png_error.
|
||||
*/
|
||||
|
||||
png_error mng_capture_stop(core_file *fp)
|
||||
|
@ -571,11 +571,11 @@ static void memory_error(const char *message)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn int test_memory_pools(void)
|
||||
* @fn int test_memory_pools(void)
|
||||
*
|
||||
* @brief Tests memory pools.
|
||||
* @brief Tests memory pools.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
int test_memory_pools(void)
|
||||
|
@ -122,11 +122,11 @@ static void WRITE_UINT32(unsigned char* data, UINT32 val)
|
||||
/* Initialize the SHA values */
|
||||
|
||||
/**
|
||||
* @fn void sha1_init(struct sha1_ctx *ctx)
|
||||
* @fn void sha1_init(struct sha1_ctx *ctx)
|
||||
*
|
||||
* @brief Sha 1 initialise.
|
||||
* @brief Sha 1 initialise.
|
||||
*
|
||||
* @param [in,out] ctx If non-null, the context.
|
||||
* @param [in,out] ctx If non-null, the context.
|
||||
*/
|
||||
|
||||
void
|
||||
@ -154,12 +154,12 @@ sha1_init(struct sha1_ctx *ctx)
|
||||
Note that this function destroys the data area */
|
||||
|
||||
/**
|
||||
* @fn static void sha1_transform(UINT32 *state, UINT32 *data)
|
||||
* @fn static void sha1_transform(UINT32 *state, UINT32 *data)
|
||||
*
|
||||
* @brief Sha 1 transform.
|
||||
* @brief Sha 1 transform.
|
||||
*
|
||||
* @param [in,out] state If non-null, the state.
|
||||
* @param [in,out] data If non-null, the data.
|
||||
* @param [in,out] state If non-null, the state.
|
||||
* @param [in,out] data If non-null, the data.
|
||||
*/
|
||||
|
||||
static void
|
||||
@ -268,12 +268,12 @@ sha1_transform(UINT32 *state, UINT32 *data)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn static void sha1_block(struct sha1_ctx *ctx, const UINT8 *block)
|
||||
* @fn static void sha1_block(struct sha1_ctx *ctx, const UINT8 *block)
|
||||
*
|
||||
* @brief Sha 1 block.
|
||||
* @brief Sha 1 block.
|
||||
*
|
||||
* @param [in,out] ctx If non-null, the context.
|
||||
* @param block The block.
|
||||
* @param [in,out] ctx If non-null, the context.
|
||||
* @param block The block.
|
||||
*/
|
||||
|
||||
static void
|
||||
@ -294,13 +294,13 @@ sha1_block(struct sha1_ctx *ctx, const UINT8 *block)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void sha1_update(struct sha1_ctx *ctx, unsigned length, const UINT8 *buffer)
|
||||
* @fn void sha1_update(struct sha1_ctx *ctx, unsigned length, const UINT8 *buffer)
|
||||
*
|
||||
* @brief Sha 1 update.
|
||||
* @brief Sha 1 update.
|
||||
*
|
||||
* @param [in,out] ctx If non-null, the context.
|
||||
* @param length The length.
|
||||
* @param buffer The buffer.
|
||||
* @param [in,out] ctx If non-null, the context.
|
||||
* @param length The length.
|
||||
* @param buffer The buffer.
|
||||
*/
|
||||
|
||||
void
|
||||
@ -340,11 +340,11 @@ sha1_update(struct sha1_ctx *ctx,
|
||||
1 0* (64-bit count of bits processed, MSB-first) */
|
||||
|
||||
/**
|
||||
* @fn void sha1_final(struct sha1_ctx *ctx)
|
||||
* @fn void sha1_final(struct sha1_ctx *ctx)
|
||||
*
|
||||
* @brief Sha 1 final.
|
||||
* @brief Sha 1 final.
|
||||
*
|
||||
* @param [in,out] ctx If non-null, the context.
|
||||
* @param [in,out] ctx If non-null, the context.
|
||||
*/
|
||||
|
||||
void
|
||||
@ -391,13 +391,13 @@ sha1_final(struct sha1_ctx *ctx)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn void sha1_digest(const struct sha1_ctx *ctx, unsigned length, UINT8 *digest)
|
||||
* @fn void sha1_digest(const struct sha1_ctx *ctx, unsigned length, UINT8 *digest)
|
||||
*
|
||||
* @brief Sha 1 digest.
|
||||
* @brief Sha 1 digest.
|
||||
*
|
||||
* @param ctx The context.
|
||||
* @param length The length.
|
||||
* @param [in,out] digest If non-null, the digest.
|
||||
* @param ctx The context.
|
||||
* @param length The length.
|
||||
* @param [in,out] digest If non-null, the digest.
|
||||
*/
|
||||
|
||||
void
|
||||
|
@ -13,8 +13,8 @@
|
||||
#include "tagmap.h"
|
||||
|
||||
#ifdef MAME_DEBUG
|
||||
/** @brief The tagmap finds. */
|
||||
/** @brief The tagmap finds. */
|
||||
INT32 g_tagmap_finds = 0;
|
||||
/** @brief true to enable, false to disable the tagmap counter. */
|
||||
/** @brief true to enable, false to disable the tagmap counter. */
|
||||
bool g_tagmap_counter_enabled = false;
|
||||
#endif
|
||||
|
@ -468,11 +468,11 @@ _7z_error _7z_file_decompress(_7z_file *new_7z, void *buffer, UINT32 length)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static void free__7z_file(_7z_file *_7z)
|
||||
* @fn static void free__7z_file(_7z_file *_7z)
|
||||
*
|
||||
* @brief Free 7z file.
|
||||
* @brief Free 7z file.
|
||||
*
|
||||
* @param [in,out] _7z If non-null, the 7z.
|
||||
* @param [in,out] _7z If non-null, the 7z.
|
||||
*/
|
||||
|
||||
static void free__7z_file(_7z_file *_7z)
|
||||
|
@ -309,13 +309,13 @@ int utf16f_from_uchar(utf16_char *utf16string, size_t count, unicode_char uchar)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn const char *utf8_previous_char(const char *utf8string)
|
||||
* @fn const char *utf8_previous_char(const char *utf8string)
|
||||
*
|
||||
* @brief UTF 8 previous character.
|
||||
* @brief UTF 8 previous character.
|
||||
*
|
||||
* @param utf8string The UTF 8string.
|
||||
* @param utf8string The UTF 8string.
|
||||
*
|
||||
* @return null if it fails, else a char*.
|
||||
* @return null if it fails, else a char*.
|
||||
*/
|
||||
|
||||
const char *utf8_previous_char(const char *utf8string)
|
||||
@ -333,13 +333,13 @@ const char *utf8_previous_char(const char *utf8string)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn int utf8_is_valid_string(const char *utf8string)
|
||||
* @fn int utf8_is_valid_string(const char *utf8string)
|
||||
*
|
||||
* @brief UTF 8 is valid string.
|
||||
* @brief UTF 8 is valid string.
|
||||
*
|
||||
* @param utf8string The UTF 8string.
|
||||
* @param utf8string The UTF 8string.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
int utf8_is_valid_string(const char *utf8string)
|
||||
|
@ -69,25 +69,25 @@
|
||||
#define ZIPUNCMP 0x16
|
||||
|
||||
/**
|
||||
* @def ZIPFNLN
|
||||
* @def ZIPFNLN
|
||||
*
|
||||
* @brief A macro that defines zipfnln.
|
||||
* @brief A macro that defines zipfnln.
|
||||
*/
|
||||
|
||||
#define ZIPFNLN 0x1a
|
||||
|
||||
/**
|
||||
* @def ZIPXTRALN
|
||||
* @def ZIPXTRALN
|
||||
*
|
||||
* @brief A macro that defines zipxtraln.
|
||||
* @brief A macro that defines zipxtraln.
|
||||
*/
|
||||
|
||||
#define ZIPXTRALN 0x1c
|
||||
|
||||
/**
|
||||
* @def ZIPNAME
|
||||
* @def ZIPNAME
|
||||
*
|
||||
* @brief A macro that defines zipname.
|
||||
* @brief A macro that defines zipname.
|
||||
*/
|
||||
|
||||
#define ZIPNAME 0x1e
|
||||
@ -99,13 +99,13 @@
|
||||
***************************************************************************/
|
||||
|
||||
/**
|
||||
* @fn INLINE UINT16 read_word(UINT8 *buf)
|
||||
* @fn INLINE UINT16 read_word(UINT8 *buf)
|
||||
*
|
||||
* @brief Reads a word.
|
||||
* @brief Reads a word.
|
||||
*
|
||||
* @param [in,out] buf If non-null, the buffer.
|
||||
* @param [in,out] buf If non-null, the buffer.
|
||||
*
|
||||
* @return The word.
|
||||
* @return The word.
|
||||
*/
|
||||
|
||||
INLINE UINT16 read_word(UINT8 *buf)
|
||||
@ -114,13 +114,13 @@ INLINE UINT16 read_word(UINT8 *buf)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn INLINE UINT32 read_dword(UINT8 *buf)
|
||||
* @fn INLINE UINT32 read_dword(UINT8 *buf)
|
||||
*
|
||||
* @brief Reads a double word.
|
||||
* @brief Reads a double word.
|
||||
*
|
||||
* @param [in,out] buf If non-null, the buffer.
|
||||
* @param [in,out] buf If non-null, the buffer.
|
||||
*
|
||||
* @return The double word.
|
||||
* @return The double word.
|
||||
*/
|
||||
|
||||
INLINE UINT32 read_dword(UINT8 *buf)
|
||||
@ -134,7 +134,7 @@ INLINE UINT32 read_dword(UINT8 *buf)
|
||||
GLOBAL VARIABLES
|
||||
***************************************************************************/
|
||||
|
||||
/** @brief The zip cache[ zip cache size]. */
|
||||
/** @brief The zip cache[ zip cache size]. */
|
||||
static zip_file *zip_cache[ZIP_CACHE_SIZE];
|
||||
|
||||
|
||||
@ -165,14 +165,14 @@ static zip_error decompress_data_type_8(zip_file *zip, UINT64 offset, void *buff
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn zip_error zip_file_open(const char *filename, zip_file **zip)
|
||||
* @fn zip_error zip_file_open(const char *filename, zip_file **zip)
|
||||
*
|
||||
* @brief Queries if a given zip file open.
|
||||
* @brief Queries if a given zip file open.
|
||||
*
|
||||
* @param filename Filename of the file.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param filename Filename of the file.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
*
|
||||
* @return A zip_error.
|
||||
* @return A zip_error.
|
||||
*/
|
||||
|
||||
zip_error zip_file_open(const char *filename, zip_file **zip)
|
||||
@ -267,11 +267,11 @@ error:
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn void zip_file_close(zip_file *zip)
|
||||
* @fn void zip_file_close(zip_file *zip)
|
||||
*
|
||||
* @brief Zip file close.
|
||||
* @brief Zip file close.
|
||||
*
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
*/
|
||||
|
||||
void zip_file_close(zip_file *zip)
|
||||
@ -305,9 +305,9 @@ void zip_file_close(zip_file *zip)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn void zip_file_cache_clear(void)
|
||||
* @fn void zip_file_cache_clear(void)
|
||||
*
|
||||
* @brief Zip file cache clear.
|
||||
* @brief Zip file cache clear.
|
||||
*/
|
||||
|
||||
void zip_file_cache_clear(void)
|
||||
@ -335,13 +335,13 @@ void zip_file_cache_clear(void)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn const zip_file_header *zip_file_first_file(zip_file *zip)
|
||||
* @fn const zip_file_header *zip_file_first_file(zip_file *zip)
|
||||
*
|
||||
* @brief Zip file first file.
|
||||
* @brief Zip file first file.
|
||||
*
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
*
|
||||
* @return null if it fails, else a zip_file_header*.
|
||||
* @return null if it fails, else a zip_file_header*.
|
||||
*/
|
||||
|
||||
const zip_file_header *zip_file_first_file(zip_file *zip)
|
||||
@ -358,13 +358,13 @@ const zip_file_header *zip_file_first_file(zip_file *zip)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn const zip_file_header *zip_file_next_file(zip_file *zip)
|
||||
* @fn const zip_file_header *zip_file_next_file(zip_file *zip)
|
||||
*
|
||||
* @brief Zip file next file.
|
||||
* @brief Zip file next file.
|
||||
*
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
*
|
||||
* @return null if it fails, else a zip_file_header*.
|
||||
* @return null if it fails, else a zip_file_header*.
|
||||
*/
|
||||
|
||||
const zip_file_header *zip_file_next_file(zip_file *zip)
|
||||
@ -425,15 +425,15 @@ const zip_file_header *zip_file_next_file(zip_file *zip)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn zip_error zip_file_decompress(zip_file *zip, void *buffer, UINT32 length)
|
||||
* @fn zip_error zip_file_decompress(zip_file *zip, void *buffer, UINT32 length)
|
||||
*
|
||||
* @brief Zip file decompress.
|
||||
* @brief Zip file decompress.
|
||||
*
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
* @param length The length.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
* @param length The length.
|
||||
*
|
||||
* @return A zip_error.
|
||||
* @return A zip_error.
|
||||
*/
|
||||
|
||||
zip_error zip_file_decompress(zip_file *zip, void *buffer, UINT32 length)
|
||||
@ -484,11 +484,11 @@ zip_error zip_file_decompress(zip_file *zip, void *buffer, UINT32 length)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static void free_zip_file(zip_file *zip)
|
||||
* @fn static void free_zip_file(zip_file *zip)
|
||||
*
|
||||
* @brief Free zip file.
|
||||
* @brief Free zip file.
|
||||
*
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
*/
|
||||
|
||||
static void free_zip_file(zip_file *zip)
|
||||
@ -518,13 +518,13 @@ static void free_zip_file(zip_file *zip)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static zip_error read_ecd(zip_file *zip)
|
||||
* @fn static zip_error read_ecd(zip_file *zip)
|
||||
*
|
||||
* @brief Reads an ecd.
|
||||
* @brief Reads an ecd.
|
||||
*
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
*
|
||||
* @return The ecd.
|
||||
* @return The ecd.
|
||||
*/
|
||||
|
||||
static zip_error read_ecd(zip_file *zip)
|
||||
@ -602,14 +602,14 @@ static zip_error read_ecd(zip_file *zip)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static zip_error get_compressed_data_offset(zip_file *zip, UINT64 *offset)
|
||||
* @fn static zip_error get_compressed_data_offset(zip_file *zip, UINT64 *offset)
|
||||
*
|
||||
* @brief Gets compressed data offset.
|
||||
* @brief Gets compressed data offset.
|
||||
*
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param [in,out] offset If non-null, the offset.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param [in,out] offset If non-null, the offset.
|
||||
*
|
||||
* @return The compressed data offset.
|
||||
* @return The compressed data offset.
|
||||
*/
|
||||
|
||||
static zip_error get_compressed_data_offset(zip_file *zip, UINT64 *offset)
|
||||
@ -650,16 +650,16 @@ static zip_error get_compressed_data_offset(zip_file *zip, UINT64 *offset)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static zip_error decompress_data_type_0(zip_file *zip, UINT64 offset, void *buffer, UINT32 length)
|
||||
* @fn static zip_error decompress_data_type_0(zip_file *zip, UINT64 offset, void *buffer, UINT32 length)
|
||||
*
|
||||
* @brief Decompress the data type 0.
|
||||
* @brief Decompress the data type 0.
|
||||
*
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param offset The offset.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
* @param length The length.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param offset The offset.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
* @param length The length.
|
||||
*
|
||||
* @return A zip_error.
|
||||
* @return A zip_error.
|
||||
*/
|
||||
|
||||
static zip_error decompress_data_type_0(zip_file *zip, UINT64 offset, void *buffer, UINT32 length)
|
||||
@ -684,16 +684,16 @@ static zip_error decompress_data_type_0(zip_file *zip, UINT64 offset, void *buff
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static zip_error decompress_data_type_8(zip_file *zip, UINT64 offset, void *buffer, UINT32 length)
|
||||
* @fn static zip_error decompress_data_type_8(zip_file *zip, UINT64 offset, void *buffer, UINT32 length)
|
||||
*
|
||||
* @brief Decompress the data type 8.
|
||||
* @brief Decompress the data type 8.
|
||||
*
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param offset The offset.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
* @param length The length.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param offset The offset.
|
||||
* @param [in,out] buffer If non-null, the buffer.
|
||||
* @param length The length.
|
||||
*
|
||||
* @return A zip_error.
|
||||
* @return A zip_error.
|
||||
*/
|
||||
|
||||
static zip_error decompress_data_type_8(zip_file *zip, UINT64 offset, void *buffer, UINT32 length)
|
||||
|
@ -277,15 +277,15 @@ int vbi_parse_white_flag(const UINT16 *source, int sourcewidth, int sourceshift)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn void vbi_parse_all(const UINT16 *source, int sourcerowpixels, int sourcewidth, int sourceshift, vbi_metadata *vbi)
|
||||
* @fn void vbi_parse_all(const UINT16 *source, int sourcerowpixels, int sourcewidth, int sourceshift, vbi_metadata *vbi)
|
||||
*
|
||||
* @brief Vbi parse all.
|
||||
* @brief Vbi parse all.
|
||||
*
|
||||
* @param source Source for the.
|
||||
* @param sourcerowpixels The sourcerowpixels.
|
||||
* @param sourcewidth The sourcewidth.
|
||||
* @param sourceshift The sourceshift.
|
||||
* @param [in,out] vbi If non-null, the vbi.
|
||||
* @param source Source for the.
|
||||
* @param sourcerowpixels The sourcerowpixels.
|
||||
* @param sourcewidth The sourcewidth.
|
||||
* @param sourceshift The sourceshift.
|
||||
* @param [in,out] vbi If non-null, the vbi.
|
||||
*/
|
||||
|
||||
void vbi_parse_all(const UINT16 *source, int sourcerowpixels, int sourcewidth, int sourceshift, vbi_metadata *vbi)
|
||||
@ -351,13 +351,13 @@ void vbi_parse_all(const UINT16 *source, int sourcerowpixels, int sourcewidth, i
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn void vbi_metadata_pack(UINT8 *dest, UINT32 framenum, const vbi_metadata *vbi)
|
||||
* @fn void vbi_metadata_pack(UINT8 *dest, UINT32 framenum, const vbi_metadata *vbi)
|
||||
*
|
||||
* @brief Vbi metadata pack.
|
||||
* @brief Vbi metadata pack.
|
||||
*
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param framenum The framenum.
|
||||
* @param vbi The vbi.
|
||||
* @param [in,out] dest If non-null, destination for the.
|
||||
* @param framenum The framenum.
|
||||
* @param vbi The vbi.
|
||||
*/
|
||||
|
||||
void vbi_metadata_pack(UINT8 *dest, UINT32 framenum, const vbi_metadata *vbi)
|
||||
@ -387,13 +387,13 @@ void vbi_metadata_pack(UINT8 *dest, UINT32 framenum, const vbi_metadata *vbi)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn void vbi_metadata_unpack(vbi_metadata *vbi, UINT32 *framenum, const UINT8 *source)
|
||||
* @fn void vbi_metadata_unpack(vbi_metadata *vbi, UINT32 *framenum, const UINT8 *source)
|
||||
*
|
||||
* @brief Vbi metadata unpack.
|
||||
* @brief Vbi metadata unpack.
|
||||
*
|
||||
* @param [in,out] vbi If non-null, the vbi.
|
||||
* @param [in,out] framenum If non-null, the framenum.
|
||||
* @param source Source for the.
|
||||
* @param [in,out] vbi If non-null, the vbi.
|
||||
* @param [in,out] framenum If non-null, the framenum.
|
||||
* @param source Source for the.
|
||||
*/
|
||||
|
||||
void vbi_metadata_unpack(vbi_metadata *vbi, UINT32 *framenum, const UINT8 *source)
|
||||
|
@ -452,15 +452,15 @@ int xml_get_attribute_int_format(xml_data_node *node, const char *attribute)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn float xml_get_attribute_float(xml_data_node *node, const char *attribute, float defvalue)
|
||||
* @fn float xml_get_attribute_float(xml_data_node *node, const char *attribute, float defvalue)
|
||||
*
|
||||
* @brief XML get attribute float.
|
||||
* @brief XML get attribute float.
|
||||
*
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param attribute The attribute.
|
||||
* @param defvalue The defvalue.
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param attribute The attribute.
|
||||
* @param defvalue The defvalue.
|
||||
*
|
||||
* @return A float.
|
||||
* @return A float.
|
||||
*/
|
||||
|
||||
float xml_get_attribute_float(xml_data_node *node, const char *attribute, float defvalue)
|
||||
@ -480,15 +480,15 @@ float xml_get_attribute_float(xml_data_node *node, const char *attribute, float
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn xml_attribute_node *xml_set_attribute(xml_data_node *node, const char *name, const char *value)
|
||||
* @fn xml_attribute_node *xml_set_attribute(xml_data_node *node, const char *name, const char *value)
|
||||
*
|
||||
* @brief XML set attribute.
|
||||
* @brief XML set attribute.
|
||||
*
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param name The name.
|
||||
* @param value The value.
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param name The name.
|
||||
* @param value The value.
|
||||
*
|
||||
* @return null if it fails, else an xml_attribute_node*.
|
||||
* @return null if it fails, else an xml_attribute_node*.
|
||||
*/
|
||||
|
||||
xml_attribute_node *xml_set_attribute(xml_data_node *node, const char *name, const char *value)
|
||||
@ -520,15 +520,15 @@ xml_attribute_node *xml_set_attribute(xml_data_node *node, const char *name, con
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn xml_attribute_node *xml_set_attribute_int(xml_data_node *node, const char *name, int value)
|
||||
* @fn xml_attribute_node *xml_set_attribute_int(xml_data_node *node, const char *name, int value)
|
||||
*
|
||||
* @brief XML set attribute int.
|
||||
* @brief XML set attribute int.
|
||||
*
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param name The name.
|
||||
* @param value The value.
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param name The name.
|
||||
* @param value The value.
|
||||
*
|
||||
* @return null if it fails, else an xml_attribute_node*.
|
||||
* @return null if it fails, else an xml_attribute_node*.
|
||||
*/
|
||||
|
||||
xml_attribute_node *xml_set_attribute_int(xml_data_node *node, const char *name, int value)
|
||||
@ -545,15 +545,15 @@ xml_attribute_node *xml_set_attribute_int(xml_data_node *node, const char *name,
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn xml_attribute_node *xml_set_attribute_float(xml_data_node *node, const char *name, float value)
|
||||
* @fn xml_attribute_node *xml_set_attribute_float(xml_data_node *node, const char *name, float value)
|
||||
*
|
||||
* @brief XML set attribute float.
|
||||
* @brief XML set attribute float.
|
||||
*
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param name The name.
|
||||
* @param value The value.
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param name The name.
|
||||
* @param value The value.
|
||||
*
|
||||
* @return null if it fails, else an xml_attribute_node*.
|
||||
* @return null if it fails, else an xml_attribute_node*.
|
||||
*/
|
||||
|
||||
xml_attribute_node *xml_set_attribute_float(xml_data_node *node, const char *name, float value)
|
||||
@ -575,13 +575,13 @@ xml_attribute_node *xml_set_attribute_float(xml_data_node *node, const char *nam
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn const char *xml_normalize_string(const char *string)
|
||||
* @fn const char *xml_normalize_string(const char *string)
|
||||
*
|
||||
* @brief XML normalize string.
|
||||
* @brief XML normalize string.
|
||||
*
|
||||
* @param string The string.
|
||||
* @param string The string.
|
||||
*
|
||||
* @return null if it fails, else a char*.
|
||||
* @return null if it fails, else a char*.
|
||||
*/
|
||||
|
||||
const char *xml_normalize_string(const char *string)
|
||||
@ -623,13 +623,13 @@ const char *xml_normalize_string(const char *string)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static void *expat_malloc(size_t size)
|
||||
* @fn static void *expat_malloc(size_t size)
|
||||
*
|
||||
* @brief Expat malloc.
|
||||
* @brief Expat malloc.
|
||||
*
|
||||
* @param size The size.
|
||||
* @param size The size.
|
||||
*
|
||||
* @return null if it fails, else a void*.
|
||||
* @return null if it fails, else a void*.
|
||||
*/
|
||||
|
||||
static void *expat_malloc(size_t size)
|
||||
@ -640,11 +640,11 @@ static void *expat_malloc(size_t size)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn static void expat_free(void *ptr)
|
||||
* @fn static void expat_free(void *ptr)
|
||||
*
|
||||
* @brief Expat free.
|
||||
* @brief Expat free.
|
||||
*
|
||||
* @param [in,out] ptr If non-null, the pointer.
|
||||
* @param [in,out] ptr If non-null, the pointer.
|
||||
*/
|
||||
|
||||
static void expat_free(void *ptr)
|
||||
@ -654,14 +654,14 @@ static void expat_free(void *ptr)
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn static void *expat_realloc(void *ptr, size_t size)
|
||||
* @fn static void *expat_realloc(void *ptr, size_t size)
|
||||
*
|
||||
* @brief Expat realloc.
|
||||
* @brief Expat realloc.
|
||||
*
|
||||
* @param [in,out] ptr If non-null, the pointer.
|
||||
* @param size The size.
|
||||
* @param [in,out] ptr If non-null, the pointer.
|
||||
* @param size The size.
|
||||
*
|
||||
* @return null if it fails, else a void*.
|
||||
* @return null if it fails, else a void*.
|
||||
*/
|
||||
|
||||
static void *expat_realloc(void *ptr, size_t size)
|
||||
@ -684,14 +684,14 @@ static void *expat_realloc(void *ptr, size_t size)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static int expat_setup_parser(xml_parse_info *parse_info, xml_parse_options *opts)
|
||||
* @fn static int expat_setup_parser(xml_parse_info *parse_info, xml_parse_options *opts)
|
||||
*
|
||||
* @brief Expat setup parser.
|
||||
* @brief Expat setup parser.
|
||||
*
|
||||
* @param [in,out] parse_info If non-null, information describing the parse.
|
||||
* @param [in,out] opts If non-null, options for controlling the operation.
|
||||
* @param [in,out] parse_info If non-null, information describing the parse.
|
||||
* @param [in,out] opts If non-null, options for controlling the operation.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
static int expat_setup_parser(xml_parse_info *parse_info, xml_parse_options *opts)
|
||||
@ -746,13 +746,13 @@ static int expat_setup_parser(xml_parse_info *parse_info, xml_parse_options *opt
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static void expat_element_start(void *data, const XML_Char *name, const XML_Char **attributes)
|
||||
* @fn static void expat_element_start(void *data, const XML_Char *name, const XML_Char **attributes)
|
||||
*
|
||||
* @brief Expat element start.
|
||||
* @brief Expat element start.
|
||||
*
|
||||
* @param [in,out] data If non-null, the data.
|
||||
* @param name The name.
|
||||
* @param attributes The attributes.
|
||||
* @param [in,out] data If non-null, the data.
|
||||
* @param name The name.
|
||||
* @param attributes The attributes.
|
||||
*/
|
||||
|
||||
static void expat_element_start(void *data, const XML_Char *name, const XML_Char **attributes)
|
||||
@ -785,13 +785,13 @@ static void expat_element_start(void *data, const XML_Char *name, const XML_Char
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static void expat_data(void *data, const XML_Char *s, int len)
|
||||
* @fn static void expat_data(void *data, const XML_Char *s, int len)
|
||||
*
|
||||
* @brief Expat data.
|
||||
* @brief Expat data.
|
||||
*
|
||||
* @param [in,out] data If non-null, the data.
|
||||
* @param s The const XML_Char * to process.
|
||||
* @param len The length.
|
||||
* @param [in,out] data If non-null, the data.
|
||||
* @param s The const XML_Char * to process.
|
||||
* @param len The length.
|
||||
*/
|
||||
|
||||
static void expat_data(void *data, const XML_Char *s, int len)
|
||||
@ -833,12 +833,12 @@ static void expat_data(void *data, const XML_Char *s, int len)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static void expat_element_end(void *data, const XML_Char *name)
|
||||
* @fn static void expat_element_end(void *data, const XML_Char *name)
|
||||
*
|
||||
* @brief Expat element end.
|
||||
* @brief Expat element end.
|
||||
*
|
||||
* @param [in,out] data If non-null, the data.
|
||||
* @param name The name.
|
||||
* @param [in,out] data If non-null, the data.
|
||||
* @param name The name.
|
||||
*/
|
||||
|
||||
static void expat_element_end(void *data, const XML_Char *name)
|
||||
@ -892,15 +892,15 @@ static void expat_element_end(void *data, const XML_Char *name)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static xml_data_node *add_child(xml_data_node *parent, const char *name, const char *value)
|
||||
* @fn static xml_data_node *add_child(xml_data_node *parent, const char *name, const char *value)
|
||||
*
|
||||
* @brief Adds a child.
|
||||
* @brief Adds a child.
|
||||
*
|
||||
* @param [in,out] parent If non-null, the parent.
|
||||
* @param name The name.
|
||||
* @param value The value.
|
||||
* @param [in,out] parent If non-null, the parent.
|
||||
* @param name The name.
|
||||
* @param value The value.
|
||||
*
|
||||
* @return null if it fails, else an xml_data_node*.
|
||||
* @return null if it fails, else an xml_data_node*.
|
||||
*/
|
||||
|
||||
static xml_data_node *add_child(xml_data_node *parent, const char *name, const char *value)
|
||||
@ -946,15 +946,15 @@ static xml_data_node *add_child(xml_data_node *parent, const char *name, const c
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static xml_attribute_node *add_attribute(xml_data_node *node, const char *name, const char *value)
|
||||
* @fn static xml_attribute_node *add_attribute(xml_data_node *node, const char *name, const char *value)
|
||||
*
|
||||
* @brief Adds an attribute.
|
||||
* @brief Adds an attribute.
|
||||
*
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param name The name.
|
||||
* @param value The value.
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param name The name.
|
||||
* @param value The value.
|
||||
*
|
||||
* @return null if it fails, else an xml_attribute_node*.
|
||||
* @return null if it fails, else an xml_attribute_node*.
|
||||
*/
|
||||
|
||||
static xml_attribute_node *add_attribute(xml_data_node *node, const char *name, const char *value)
|
||||
@ -1001,13 +1001,13 @@ static xml_attribute_node *add_attribute(xml_data_node *node, const char *name,
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static void write_node_recursive(xml_data_node *node, int indent, core_file *file)
|
||||
* @fn static void write_node_recursive(xml_data_node *node, int indent, core_file *file)
|
||||
*
|
||||
* @brief Writes a node recursive.
|
||||
* @brief Writes a node recursive.
|
||||
*
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param indent The indent.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param indent The indent.
|
||||
* @param [in,out] file If non-null, the file.
|
||||
*/
|
||||
|
||||
static void write_node_recursive(xml_data_node *node, int indent, core_file *file)
|
||||
@ -1054,11 +1054,11 @@ static void write_node_recursive(xml_data_node *node, int indent, core_file *fil
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static void free_node_recursive(xml_data_node *node)
|
||||
* @fn static void free_node_recursive(xml_data_node *node)
|
||||
*
|
||||
* @brief Free node recursive.
|
||||
* @brief Free node recursive.
|
||||
*
|
||||
* @param [in,out] node If non-null, the node.
|
||||
* @param [in,out] node If non-null, the node.
|
||||
*/
|
||||
|
||||
static void free_node_recursive(xml_data_node *node)
|
||||
|
@ -23,23 +23,23 @@
|
||||
***************************************************************************/
|
||||
|
||||
/**
|
||||
* @struct zippath_returned_directory
|
||||
* @struct zippath_returned_directory
|
||||
*
|
||||
* @brief A zippath returned directory.
|
||||
* @brief A zippath returned directory.
|
||||
*/
|
||||
|
||||
struct zippath_returned_directory
|
||||
{
|
||||
/** @brief The next. */
|
||||
/** @brief The next. */
|
||||
zippath_returned_directory *next;
|
||||
/** @brief The name. */
|
||||
/** @brief The name. */
|
||||
std::string name;
|
||||
};
|
||||
|
||||
/**
|
||||
* @class zippath_directory
|
||||
* @class zippath_directory
|
||||
*
|
||||
* @brief A zippath directory.
|
||||
* @brief A zippath directory.
|
||||
*/
|
||||
|
||||
class zippath_directory
|
||||
@ -53,23 +53,23 @@ public:
|
||||
returned_dirlist(NULL) { }
|
||||
|
||||
/* common */
|
||||
/** @brief true to returned parent. */
|
||||
/** @brief true to returned parent. */
|
||||
bool returned_parent;
|
||||
/** @brief The returned entry. */
|
||||
/** @brief The returned entry. */
|
||||
osd_directory_entry returned_entry;
|
||||
|
||||
/* specific to normal directories */
|
||||
/** @brief Pathname of the directory. */
|
||||
/** @brief Pathname of the directory. */
|
||||
osd_directory *directory;
|
||||
|
||||
/* specific to ZIP directories */
|
||||
/** @brief true to called zip first. */
|
||||
/** @brief true to called zip first. */
|
||||
bool called_zip_first;
|
||||
/** @brief The zipfile. */
|
||||
/** @brief The zipfile. */
|
||||
zip_file *zipfile;
|
||||
/** @brief The zipprefix. */
|
||||
/** @brief The zipprefix. */
|
||||
std::string zipprefix;
|
||||
/** @brief The returned dirlist. */
|
||||
/** @brief The returned dirlist. */
|
||||
zippath_returned_directory *returned_dirlist;
|
||||
};
|
||||
|
||||
@ -89,15 +89,15 @@ static int is_7z_file(const char *path);
|
||||
***************************************************************************/
|
||||
|
||||
/**
|
||||
* @fn int is_path_separator(char c)
|
||||
* @fn int is_path_separator(char c)
|
||||
*
|
||||
* @brief ============================================================
|
||||
* is_path_separator
|
||||
* ============================================================.
|
||||
* @brief ============================================================
|
||||
* is_path_separator
|
||||
* ============================================================.
|
||||
*
|
||||
* @param c The character.
|
||||
* @param c The character.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
int is_path_separator(char c)
|
||||
@ -110,13 +110,13 @@ int is_path_separator(char c)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static void parse_parent_path(const char *path, int *beginpos, int *endpos)
|
||||
* @fn static void parse_parent_path(const char *path, int *beginpos, int *endpos)
|
||||
*
|
||||
* @brief Parse parent path.
|
||||
* @brief Parse parent path.
|
||||
*
|
||||
* @param path Full pathname of the file.
|
||||
* @param [in,out] beginpos If non-null, the beginpos.
|
||||
* @param [in,out] endpos If non-null, the endpos.
|
||||
* @param path Full pathname of the file.
|
||||
* @param [in,out] beginpos If non-null, the beginpos.
|
||||
* @param [in,out] endpos If non-null, the endpos.
|
||||
*/
|
||||
|
||||
static void parse_parent_path(const char *path, int *beginpos, int *endpos)
|
||||
@ -149,14 +149,14 @@ static void parse_parent_path(const char *path, int *beginpos, int *endpos)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn std::string &zippath_parent(std::string &dst, const char *path)
|
||||
* @fn std::string &zippath_parent(std::string &dst, const char *path)
|
||||
*
|
||||
* @brief Zippath parent.
|
||||
* @brief Zippath parent.
|
||||
*
|
||||
* @param [in,out] dst Destination for the.
|
||||
* @param path Full pathname of the file.
|
||||
* @param [in,out] dst Destination for the.
|
||||
* @param path Full pathname of the file.
|
||||
*
|
||||
* @return A std::string&
|
||||
* @return A std::string&
|
||||
*/
|
||||
|
||||
std::string &zippath_parent(std::string &dst, const char *path)
|
||||
@ -182,14 +182,14 @@ std::string &zippath_parent(std::string &dst, const char *path)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn std::string &zippath_parent_basename(std::string &dst, const char *path)
|
||||
* @fn std::string &zippath_parent_basename(std::string &dst, const char *path)
|
||||
*
|
||||
* @brief Zippath parent basename.
|
||||
* @brief Zippath parent basename.
|
||||
*
|
||||
* @param [in,out] dst Destination for the.
|
||||
* @param path Full pathname of the file.
|
||||
* @param [in,out] dst Destination for the.
|
||||
* @param path Full pathname of the file.
|
||||
*
|
||||
* @return A std::string&
|
||||
* @return A std::string&
|
||||
*/
|
||||
|
||||
std::string &zippath_parent_basename(std::string &dst, const char *path)
|
||||
@ -207,15 +207,15 @@ std::string &zippath_parent_basename(std::string &dst, const char *path)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn std::string &zippath_combine(std::string &dst, const char *path1, const char *path2)
|
||||
* @fn std::string &zippath_combine(std::string &dst, const char *path1, const char *path2)
|
||||
*
|
||||
* @brief Zippath combine.
|
||||
* @brief Zippath combine.
|
||||
*
|
||||
* @param [in,out] dst Destination for the.
|
||||
* @param path1 The first path.
|
||||
* @param path2 The second path.
|
||||
* @param [in,out] dst Destination for the.
|
||||
* @param path1 The first path.
|
||||
* @param path2 The second path.
|
||||
*
|
||||
* @return A std::string&
|
||||
* @return A std::string&
|
||||
*/
|
||||
|
||||
std::string &zippath_combine(std::string &dst, const char *path1, const char *path2)
|
||||
@ -255,13 +255,13 @@ std::string &zippath_combine(std::string &dst, const char *path1, const char *pa
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static file_error file_error_from_zip_error(zip_error ziperr)
|
||||
* @fn static file_error file_error_from_zip_error(zip_error ziperr)
|
||||
*
|
||||
* @brief File error from zip error.
|
||||
* @brief File error from zip error.
|
||||
*
|
||||
* @param ziperr The ziperr.
|
||||
* @param ziperr The ziperr.
|
||||
*
|
||||
* @return A file_error.
|
||||
* @return A file_error.
|
||||
*/
|
||||
|
||||
static file_error file_error_from_zip_error(zip_error ziperr)
|
||||
@ -298,15 +298,15 @@ static file_error file_error_from_zip_error(zip_error ziperr)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static file_error create_core_file_from_zip(zip_file *zip, const zip_file_header *header, core_file *&file)
|
||||
* @fn static file_error create_core_file_from_zip(zip_file *zip, const zip_file_header *header, core_file *&file)
|
||||
*
|
||||
* @brief Creates core file from zip.
|
||||
* @brief Creates core file from zip.
|
||||
*
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param header The header.
|
||||
* @param [in,out] file [in,out] If non-null, the file.
|
||||
* @param [in,out] zip If non-null, the zip.
|
||||
* @param header The header.
|
||||
* @param [in,out] file [in,out] If non-null, the file.
|
||||
*
|
||||
* @return The new core file from zip.
|
||||
* @return The new core file from zip.
|
||||
*/
|
||||
|
||||
static file_error create_core_file_from_zip(zip_file *zip, const zip_file_header *header, core_file *&file)
|
||||
@ -345,16 +345,16 @@ done:
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn file_error zippath_fopen(const char *filename, UINT32 openflags, core_file *&file, std::string &revised_path)
|
||||
* @fn file_error zippath_fopen(const char *filename, UINT32 openflags, core_file *&file, std::string &revised_path)
|
||||
*
|
||||
* @brief Zippath fopen.
|
||||
* @brief Zippath fopen.
|
||||
*
|
||||
* @param filename Filename of the file.
|
||||
* @param openflags The openflags.
|
||||
* @param [in,out] file [in,out] If non-null, the file.
|
||||
* @param [in,out] revised_path Full pathname of the revised file.
|
||||
* @param filename Filename of the file.
|
||||
* @param openflags The openflags.
|
||||
* @param [in,out] file [in,out] If non-null, the file.
|
||||
* @param [in,out] revised_path Full pathname of the revised file.
|
||||
*
|
||||
* @return A file_error.
|
||||
* @return A file_error.
|
||||
*/
|
||||
|
||||
file_error zippath_fopen(const char *filename, UINT32 openflags, core_file *&file, std::string &revised_path)
|
||||
@ -487,13 +487,13 @@ done:
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static int is_root(const char *path)
|
||||
* @fn static int is_root(const char *path)
|
||||
*
|
||||
* @brief Is root.
|
||||
* @brief Is root.
|
||||
*
|
||||
* @param path Full pathname of the file.
|
||||
* @param path Full pathname of the file.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
static int is_root(const char *path)
|
||||
@ -519,13 +519,13 @@ static int is_root(const char *path)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static int is_7z_file(const char *path)
|
||||
* @fn static int is_7z_file(const char *path)
|
||||
*
|
||||
* @brief Is 7z file.
|
||||
* @brief Is 7z file.
|
||||
*
|
||||
* @param path Full pathname of the file.
|
||||
* @param path Full pathname of the file.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
static int is_7z_file(const char *path)
|
||||
@ -541,13 +541,13 @@ static int is_7z_file(const char *path)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static int is_zip_file(const char *path)
|
||||
* @fn static int is_zip_file(const char *path)
|
||||
*
|
||||
* @brief Is zip file.
|
||||
* @brief Is zip file.
|
||||
*
|
||||
* @param path Full pathname of the file.
|
||||
* @param path Full pathname of the file.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
static int is_zip_file(const char *path)
|
||||
@ -564,13 +564,13 @@ static int is_zip_file(const char *path)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static int is_zip_file_separator(char c)
|
||||
* @fn static int is_zip_file_separator(char c)
|
||||
*
|
||||
* @brief Is zip file separator.
|
||||
* @brief Is zip file separator.
|
||||
*
|
||||
* @param c The character.
|
||||
* @param c The character.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
static int is_zip_file_separator(char c)
|
||||
@ -586,13 +586,13 @@ static int is_zip_file_separator(char c)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static int is_zip_path_separator(char c)
|
||||
* @fn static int is_zip_path_separator(char c)
|
||||
*
|
||||
* @brief Is zip path separator.
|
||||
* @brief Is zip path separator.
|
||||
*
|
||||
* @param c The character.
|
||||
* @param c The character.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
static int is_zip_path_separator(char c)
|
||||
@ -608,14 +608,14 @@ static int is_zip_path_separator(char c)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static char next_path_char(const char *s, int *pos)
|
||||
* @fn static char next_path_char(const char *s, int *pos)
|
||||
*
|
||||
* @brief Next path character.
|
||||
* @brief Next path character.
|
||||
*
|
||||
* @param s The const char * to process.
|
||||
* @param [in,out] pos If non-null, the position.
|
||||
* @param s The const char * to process.
|
||||
* @param [in,out] pos If non-null, the position.
|
||||
*
|
||||
* @return A char.
|
||||
* @return A char.
|
||||
*/
|
||||
|
||||
static char next_path_char(const char *s, int *pos)
|
||||
@ -661,15 +661,15 @@ static char next_path_char(const char *s, int *pos)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static const zip_file_header *zippath_find_sub_path(zip_file *zipfile, const char *subpath, osd_dir_entry_type *type)
|
||||
* @fn static const zip_file_header *zippath_find_sub_path(zip_file *zipfile, const char *subpath, osd_dir_entry_type *type)
|
||||
*
|
||||
* @brief Zippath find sub path.
|
||||
* @brief Zippath find sub path.
|
||||
*
|
||||
* @param [in,out] zipfile If non-null, the zipfile.
|
||||
* @param subpath The subpath.
|
||||
* @param [in,out] type If non-null, the type.
|
||||
* @param [in,out] zipfile If non-null, the zipfile.
|
||||
* @param subpath The subpath.
|
||||
* @param [in,out] type If non-null, the type.
|
||||
*
|
||||
* @return null if it fails, else a zip_file_header*.
|
||||
* @return null if it fails, else a zip_file_header*.
|
||||
*/
|
||||
|
||||
static const zip_file_header *zippath_find_sub_path(zip_file *zipfile, const char *subpath, osd_dir_entry_type *type)
|
||||
@ -726,16 +726,16 @@ static const zip_file_header *zippath_find_sub_path(zip_file *zipfile, const cha
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static file_error zippath_resolve(const char *path, osd_dir_entry_type &entry_type, zip_file *&zipfile, std::string &newpath)
|
||||
* @fn static file_error zippath_resolve(const char *path, osd_dir_entry_type &entry_type, zip_file *&zipfile, std::string &newpath)
|
||||
*
|
||||
* @brief Zippath resolve.
|
||||
* @brief Zippath resolve.
|
||||
*
|
||||
* @param path Full pathname of the file.
|
||||
* @param [in,out] entry_type Type of the entry.
|
||||
* @param [in,out] zipfile [in,out] If non-null, the zipfile.
|
||||
* @param [in,out] newpath The newpath.
|
||||
* @param path Full pathname of the file.
|
||||
* @param [in,out] entry_type Type of the entry.
|
||||
* @param [in,out] zipfile [in,out] If non-null, the zipfile.
|
||||
* @param [in,out] newpath The newpath.
|
||||
*
|
||||
* @return A file_error.
|
||||
* @return A file_error.
|
||||
*/
|
||||
|
||||
static file_error zippath_resolve(const char *path, osd_dir_entry_type &entry_type, zip_file *&zipfile, std::string &newpath)
|
||||
@ -834,14 +834,14 @@ done:
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn file_error zippath_opendir(const char *path, zippath_directory **directory)
|
||||
* @fn file_error zippath_opendir(const char *path, zippath_directory **directory)
|
||||
*
|
||||
* @brief Zippath opendir.
|
||||
* @brief Zippath opendir.
|
||||
*
|
||||
* @param path Full pathname of the file.
|
||||
* @param [in,out] directory If non-null, pathname of the directory.
|
||||
* @param path Full pathname of the file.
|
||||
* @param [in,out] directory If non-null, pathname of the directory.
|
||||
*
|
||||
* @return A file_error.
|
||||
* @return A file_error.
|
||||
*/
|
||||
|
||||
file_error zippath_opendir(const char *path, zippath_directory **directory)
|
||||
@ -905,11 +905,11 @@ done:
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn void zippath_closedir(zippath_directory *directory)
|
||||
* @fn void zippath_closedir(zippath_directory *directory)
|
||||
*
|
||||
* @brief Zippath closedir.
|
||||
* @brief Zippath closedir.
|
||||
*
|
||||
* @param [in,out] directory If non-null, pathname of the directory.
|
||||
* @param [in,out] directory If non-null, pathname of the directory.
|
||||
*/
|
||||
|
||||
void zippath_closedir(zippath_directory *directory)
|
||||
@ -938,14 +938,14 @@ void zippath_closedir(zippath_directory *directory)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn static const char *get_relative_path(zippath_directory *directory, const zip_file_header *header)
|
||||
* @fn static const char *get_relative_path(zippath_directory *directory, const zip_file_header *header)
|
||||
*
|
||||
* @brief Gets relative path.
|
||||
* @brief Gets relative path.
|
||||
*
|
||||
* @param [in,out] directory If non-null, pathname of the directory.
|
||||
* @param header The header.
|
||||
* @param [in,out] directory If non-null, pathname of the directory.
|
||||
* @param header The header.
|
||||
*
|
||||
* @return null if it fails, else the relative path.
|
||||
* @return null if it fails, else the relative path.
|
||||
*/
|
||||
|
||||
static const char *get_relative_path(zippath_directory *directory, const zip_file_header *header)
|
||||
@ -970,13 +970,13 @@ static const char *get_relative_path(zippath_directory *directory, const zip_fil
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn const osd_directory_entry *zippath_readdir(zippath_directory *directory)
|
||||
* @fn const osd_directory_entry *zippath_readdir(zippath_directory *directory)
|
||||
*
|
||||
* @brief Zippath readdir.
|
||||
* @brief Zippath readdir.
|
||||
*
|
||||
* @param [in,out] directory If non-null, pathname of the directory.
|
||||
* @param [in,out] directory If non-null, pathname of the directory.
|
||||
*
|
||||
* @return null if it fails, else an osd_directory_entry*.
|
||||
* @return null if it fails, else an osd_directory_entry*.
|
||||
*/
|
||||
|
||||
const osd_directory_entry *zippath_readdir(zippath_directory *directory)
|
||||
@ -1086,13 +1086,13 @@ const osd_directory_entry *zippath_readdir(zippath_directory *directory)
|
||||
-------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @fn int zippath_is_zip(zippath_directory *directory)
|
||||
* @fn int zippath_is_zip(zippath_directory *directory)
|
||||
*
|
||||
* @brief Zippath is zip.
|
||||
* @brief Zippath is zip.
|
||||
*
|
||||
* @param [in,out] directory If non-null, pathname of the directory.
|
||||
* @param [in,out] directory If non-null, pathname of the directory.
|
||||
*
|
||||
* @return An int.
|
||||
* @return An int.
|
||||
*/
|
||||
|
||||
int zippath_is_zip(zippath_directory *directory)
|
||||
|
@ -1901,7 +1901,7 @@ geostorm // (c) 1994 Irem (Japan)
|
||||
airass // (c) 1993 Irem (World)
|
||||
firebarr // (c) 1993 Irem (Japan)
|
||||
dsoccr94 // (c) 1994 Irem (Data East Corporation license)
|
||||
dsoccr94k //
|
||||
dsoccr94k //
|
||||
kftgoal // (c) 1994 Jaleco
|
||||
wpksoc // (c) 1995 Jaleco
|
||||
|
||||
@ -4845,7 +4845,7 @@ mahmajn2 // 1994.05 Tokorosan no Mahmahjong 2 (Japan)
|
||||
qgh // 1994.09 Quiz Ghost Hunter
|
||||
|
||||
// M1 board
|
||||
bingpty // ?
|
||||
bingpty // ?
|
||||
|
||||
// Sega System 32 games
|
||||
radm // 1991.?? Rad Mobile (World)
|
||||
@ -9123,7 +9123,7 @@ keroppi // (c) 1993 Sammy
|
||||
keroppij // (c) 1993 Sammy
|
||||
extdwnhl // (c) 1995 Sammy Japan
|
||||
gundhara // (c) 1995 Banpresto
|
||||
gundharac // (c) 1995 Banpresto (Chinese, bootleg?)
|
||||
gundharac // (c) 1995 Banpresto (Chinese, bootleg?)
|
||||
sokonuke // (c) 1995 Sammy Industries
|
||||
zombraid // (c) 1995 American Sammy
|
||||
zombraidp // (c) 1995 American Sammy
|
||||
|
@ -168,7 +168,7 @@ WRITE8_MEMBER( irem_audio_device::ay8910_45M_portb_w )
|
||||
WRITE8_MEMBER( irem_audio_device::ay8910_45L_porta_w )
|
||||
{
|
||||
/*
|
||||
* 45L 21 IOA0 ==> BD
|
||||
* 45L 21 IOA0 ==> BD
|
||||
* 45L 20 IOA1 ==> SD
|
||||
* 45L 19 IOA2 ==> OH
|
||||
* 45L 18 IOA3 ==> CH
|
||||
@ -465,7 +465,7 @@ NETLIST_START(kidniki_interface)
|
||||
TTL_INPUT(I_BD0, 1)
|
||||
//CLOCK(I_BD0, 5)
|
||||
TTL_INPUT(I_CH0, 1)
|
||||
//CLOCK(I_CH0, 2.2 )
|
||||
//CLOCK(I_CH0, 2.2 )
|
||||
TTL_INPUT(I_OH0, 1)
|
||||
//CLOCK(I_OH0, 1.0)
|
||||
ANALOG_INPUT(I_MSM2K0, 0)
|
||||
|
@ -312,68 +312,68 @@ NETLIST_END()
|
||||
|
||||
NETLIST_START(opamp)
|
||||
|
||||
/* Opamp model from
|
||||
*
|
||||
* http://www.ecircuitcenter.com/Circuits/opmodel1/opmodel1.htm
|
||||
*
|
||||
* Bandwidth 1Mhz
|
||||
*
|
||||
*/
|
||||
/* Opamp model from
|
||||
*
|
||||
* http://www.ecircuitcenter.com/Circuits/opmodel1/opmodel1.htm
|
||||
*
|
||||
* Bandwidth 1Mhz
|
||||
*
|
||||
*/
|
||||
|
||||
/* Terminal definitions for calling netlists */
|
||||
/* Terminal definitions for calling netlists */
|
||||
|
||||
ALIAS(PLUS, G1.IP) // Positive input
|
||||
ALIAS(MINUS, G1.IN) // Negative input
|
||||
ALIAS(OUT, EBUF.OP) // Opamp output ...
|
||||
ALIAS(PLUS, G1.IP) // Positive input
|
||||
ALIAS(MINUS, G1.IN) // Negative input
|
||||
ALIAS(OUT, EBUF.OP) // Opamp output ...
|
||||
|
||||
ALIAS(GND, EBUF.ON) // GND terminal
|
||||
ALIAS(VCC, DUMMY.I) // VCC terminal
|
||||
DUMMY_INPUT(DUMMY)
|
||||
ALIAS(GND, EBUF.ON) // GND terminal
|
||||
ALIAS(VCC, DUMMY.I) // VCC terminal
|
||||
DUMMY_INPUT(DUMMY)
|
||||
|
||||
/* The opamp model */
|
||||
/* The opamp model */
|
||||
|
||||
VCCS(G1)
|
||||
PARAM(G1.RI, RES_K(1000))
|
||||
VCCS(G1)
|
||||
PARAM(G1.RI, RES_K(1000))
|
||||
#if 1
|
||||
PARAM(G1.G, 100) // typical OP-AMP amplification 100 * 1000 = 100000
|
||||
RES(RP1, 1000)
|
||||
CAP(CP1, 1.59e-5) // <== change to 1.59e-3 for 10Khz bandwidth
|
||||
PARAM(G1.G, 100) // typical OP-AMP amplification 100 * 1000 = 100000
|
||||
RES(RP1, 1000)
|
||||
CAP(CP1, 1.59e-5) // <== change to 1.59e-3 for 10Khz bandwidth
|
||||
#else
|
||||
PARAM(G1.G, 1) // typical OP-AMP amplification 100 * 1000 = 100000
|
||||
RES(RP1, 100000)
|
||||
CAP(CP1, 1.59e-7) // <== change to 1.59e-3 for 10Khz bandwidth
|
||||
PARAM(G1.G, 1) // typical OP-AMP amplification 100 * 1000 = 100000
|
||||
RES(RP1, 100000)
|
||||
CAP(CP1, 1.59e-7) // <== change to 1.59e-3 for 10Khz bandwidth
|
||||
#endif
|
||||
VCVS(EBUF)
|
||||
PARAM(EBUF.RO, 50)
|
||||
PARAM(EBUF.G, 1)
|
||||
VCVS(EBUF)
|
||||
PARAM(EBUF.RO, 50)
|
||||
PARAM(EBUF.G, 1)
|
||||
|
||||
// PARAM(EBUF.RI, 1e20)
|
||||
// NET_C(EBUF.ON, GND)
|
||||
|
||||
NET_C(G1.ON, GND)
|
||||
NET_C(RP1.2, GND)
|
||||
NET_C(CP1.2, GND)
|
||||
NET_C(EBUF.IN, GND)
|
||||
NET_C(G1.ON, GND)
|
||||
NET_C(RP1.2, GND)
|
||||
NET_C(CP1.2, GND)
|
||||
NET_C(EBUF.IN, GND)
|
||||
|
||||
NET_C(RP1.1, G1.OP)
|
||||
NET_C(CP1.1, RP1.1)
|
||||
NET_C(RP1.1, G1.OP)
|
||||
NET_C(CP1.1, RP1.1)
|
||||
|
||||
DIODE(DP,"1N914")
|
||||
DIODE(DN,"1N914")
|
||||
DIODE(DP,"1N914")
|
||||
DIODE(DN,"1N914")
|
||||
|
||||
NET_C(DP.K, VCC)
|
||||
NET_C(DP.K, VCC)
|
||||
#if 1
|
||||
NET_C(DP.A, DN.K, RP1.1)
|
||||
NET_C(DP.A, DN.K, RP1.1)
|
||||
#else
|
||||
RES(RDP, 1000)
|
||||
RES(RDN, 1000)
|
||||
NET_C(RDP.1, DP.A)
|
||||
NET_C(RDN.1, DN.K)
|
||||
NET_C(RDP.2, RDN.2, RP1.1)
|
||||
RES(RDP, 1000)
|
||||
RES(RDN, 1000)
|
||||
NET_C(RDP.1, DP.A)
|
||||
NET_C(RDN.1, DN.K)
|
||||
NET_C(RDP.2, RDN.2, RP1.1)
|
||||
#endif
|
||||
NET_C(DN.A, GND)
|
||||
NET_C(DN.A, GND)
|
||||
|
||||
NET_C(EBUF.IP, RP1.1)
|
||||
NET_C(EBUF.IP, RP1.1)
|
||||
|
||||
NETLIST_END()
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
Chase (aka Chase1) (1976)
|
||||
Deluxe Soccer (1973)
|
||||
Fire Power (1975)
|
||||
Fütsball (1975)
|
||||
F??tsball (1975)
|
||||
Galaxy Raider (1974)
|
||||
Hesitation (1974) AL-6500?
|
||||
Hockey, Soccer, Tennis (1974)
|
||||
|
@ -569,26 +569,26 @@ ROM_END
|
||||
|
||||
ROM_START( bioniccbl )
|
||||
ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "02l.bin", 0x00000, 0x10000, CRC(b2fe1ddb) SHA1(892f19124993add96edabdba3aafeecc6668c5d9) )
|
||||
ROM_LOAD16_BYTE( "03l.bin", 0x00001, 0x10000, CRC(427a003d) SHA1(5a379fe2942e5565810939d5eb843003226222cc) )
|
||||
ROM_LOAD16_BYTE( "02u.bin", 0x20000, 0x10000, CRC(27f04bb6) SHA1(41d17b84b34dc8b2e5dfa67794a8df3e898b740b) )
|
||||
ROM_LOAD16_BYTE( "03u.bin", 0x20001, 0x10000, CRC(c01547b1) SHA1(563bf6be4f10f5e6eb5b562266accf168f62bf30) )
|
||||
ROM_LOAD16_BYTE( "02l.bin", 0x00000, 0x10000, CRC(b2fe1ddb) SHA1(892f19124993add96edabdba3aafeecc6668c5d9) )
|
||||
ROM_LOAD16_BYTE( "03l.bin", 0x00001, 0x10000, CRC(427a003d) SHA1(5a379fe2942e5565810939d5eb843003226222cc) )
|
||||
ROM_LOAD16_BYTE( "02u.bin", 0x20000, 0x10000, CRC(27f04bb6) SHA1(41d17b84b34dc8b2e5dfa67794a8df3e898b740b) )
|
||||
ROM_LOAD16_BYTE( "03u.bin", 0x20001, 0x10000, CRC(c01547b1) SHA1(563bf6be4f10f5e6eb5b562266accf168f62bf30) )
|
||||
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "01.bin", 0x00000, 0x8000, CRC(8ea07917) SHA1(e9ace70d89482fc3669860450a41aacacbee9083) )
|
||||
ROM_LOAD( "01.bin", 0x00000, 0x8000, CRC(8ea07917) SHA1(e9ace70d89482fc3669860450a41aacacbee9083) )
|
||||
|
||||
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
|
||||
ROM_LOAD( "c8751h-88", 0x0000, 0x1000, NO_DUMP ) // 19.bin (protected)
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", 0 )
|
||||
ROM_LOAD( "06.bin", 0x00000, 0x4000, CRC(4e6b81d9) SHA1(052784d789b0c9193edf218fa1883b6e3b7df988) )
|
||||
ROM_LOAD( "06.bin", 0x00000, 0x4000, CRC(4e6b81d9) SHA1(052784d789b0c9193edf218fa1883b6e3b7df988) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx2", 0 )
|
||||
ROM_LOAD( "05.bin", 0x00000, 0x8000, CRC(9bf8dc7f) SHA1(539a52087ed1f58839b6aa8c0b5ed249f4f4041e) )
|
||||
ROM_LOAD( "04.bin", 0x08000, 0x8000, CRC(1b43bf63) SHA1(b80d675a07cebd83daf202d1c3d3f7c2dedf5c30) )
|
||||
ROM_LOAD( "05.bin", 0x00000, 0x8000, CRC(9bf8dc7f) SHA1(539a52087ed1f58839b6aa8c0b5ed249f4f4041e) )
|
||||
ROM_LOAD( "04.bin", 0x08000, 0x8000, CRC(1b43bf63) SHA1(b80d675a07cebd83daf202d1c3d3f7c2dedf5c30) )
|
||||
|
||||
ROM_REGION( 0x40000, "gfx3", 0 )
|
||||
ROM_LOAD( "ts_12.17f", 0x00000, 0x8000, CRC(e4b4619e) SHA1(3bec8399ffb28fd50ce6ae88d90b091eadf8bda1) ) // 09.bin
|
||||
ROM_LOAD( "ts_12.17f", 0x00000, 0x8000, CRC(e4b4619e) SHA1(3bec8399ffb28fd50ce6ae88d90b091eadf8bda1) ) // 09.bin
|
||||
ROM_LOAD( "ts_11.15f", 0x08000, 0x8000, CRC(ab30237a) SHA1(ea6c07df992ba48f9eca7daa4ea775faa94358d2) ) // 08.bin
|
||||
ROM_LOAD( "ts_17.17g", 0x10000, 0x8000, CRC(deb657e4) SHA1(b36b468f9bbb7a4937286230d3f6caa14c61d4dd) ) // 13.bin
|
||||
ROM_LOAD( "ts_16.15g", 0x18000, 0x8000, CRC(d363b5f9) SHA1(1dd3991d99db2d6bcbdb12879ba50a01fef95004) ) // 12.bin
|
||||
@ -598,10 +598,10 @@ ROM_START( bioniccbl )
|
||||
ROM_LOAD( "ts_24.18k", 0x38000, 0x8000, CRC(f156e564) SHA1(a6cad05bcc6d9ded6294f9b5aa856d05641aed02) ) // 18.bin
|
||||
|
||||
ROM_REGION( 0x40000, "gfx4", 0 )
|
||||
ROM_LOAD( "07.bin", 0x00000, 0x10000, CRC(a0e78996) SHA1(810a54e657c0faaff6a8494acaf803d1d2151893) )
|
||||
ROM_LOAD( "11.bin", 0x10000, 0x10000, CRC(37cb11c2) SHA1(af8c2ae4bb6e6c13ea3e8b7c96e5b18f1eb1d5a5) )
|
||||
ROM_LOAD( "15.bin", 0x20000, 0x10000, CRC(4e0354ce) SHA1(d3256c891b44c6593b0b44c0d0a3e754ce78c1cb) )
|
||||
ROM_LOAD( "16.bin", 0x30000, 0x10000, CRC(ac89e5cc) SHA1(aa7e065ece6d25b7e83fadcd22c09e1f7dc0b86f) )
|
||||
ROM_LOAD( "07.bin", 0x00000, 0x10000, CRC(a0e78996) SHA1(810a54e657c0faaff6a8494acaf803d1d2151893) )
|
||||
ROM_LOAD( "11.bin", 0x10000, 0x10000, CRC(37cb11c2) SHA1(af8c2ae4bb6e6c13ea3e8b7c96e5b18f1eb1d5a5) )
|
||||
ROM_LOAD( "15.bin", 0x20000, 0x10000, CRC(4e0354ce) SHA1(d3256c891b44c6593b0b44c0d0a3e754ce78c1cb) )
|
||||
ROM_LOAD( "16.bin", 0x30000, 0x10000, CRC(ac89e5cc) SHA1(aa7e065ece6d25b7e83fadcd22c09e1f7dc0b86f) )
|
||||
|
||||
ROM_REGION( 0x0100, "proms", 0 )
|
||||
ROM_LOAD( "63s141.18f", 0x0000, 0x0100, CRC(b58d0023) SHA1(e8a4a2e2951bf73b3d9eed6957e9ee1e61c9c58a) ) /* priority (not used), Labeled "TSB" */
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user