Skip to content

Commit

Permalink
Cleanups and version bump
Browse files Browse the repository at this point in the history
  • Loading branch information
mmicko committed Jan 27, 2016
1 parent 9425c14 commit b1d6f6d
Show file tree
Hide file tree
Showing 129 changed files with 1,993 additions and 2,012 deletions.
8 changes: 4 additions & 4 deletions hash/casloopy.xml
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,13 @@
<software name="loopytwn">
<description>Loopy Town no Oheya ga Hoshii!</description>
<year>1996</year>
<publisher>Casio</publisher>
<info name="serial" value="XK-504"/>
<info name="alt_name" value="ルーピータウンのおへやがほしい!"/>
<publisher>Casio</publisher>
<info name="serial" value="XK-504"/>
<info name="alt_name" value="ルーピータウンのおへやがほしい!"/>
<part name="cart" interface="loopy_cart">
<dataarea name="rom" size="0x300000">
<rom name="CHIP1.IC104" size="0x200000" crc="bae71d45" sha1="79628715ccedd9bc3fd72d21fa9ea6513b88cf51" offset="0x000000" />
<rom name="CHIP2.IC105" size="0x100000" crc="e0514d03" sha1="4dd02faa1ebf6754da0ade417e488512f3502620" offset="0x200000" />
<rom name="CHIP2.IC105" size="0x100000" crc="e0514d03" sha1="4dd02faa1ebf6754da0ade417e488512f3502620" offset="0x200000" />
</dataarea>
</part>
</software>
Expand Down
4 changes: 2 additions & 2 deletions hash/database.xml
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,6 @@
<rom name="leapfrog.bin" size="4096" crc="105eb530" sha1="7211b0b1c6e8798399f4f6d2a942db4e8379c691" offset="0" />
</dataarea>
</part>
</software>
</software>

</softwarelist>
8 changes: 4 additions & 4 deletions hash/dim68k.xml
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ CP/M-68K Release 1.04: Disks: All (maybe others)
<description>Dimension 68000 Burnin Test</description>
<year>1984</year>
<publisher>Micro Craft Corporation</publisher>

<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="181726">
Expand All @@ -184,20 +184,20 @@ CP/M-68K Release 1.04: Disks: All (maybe others)
<description>Fortran 68K</description>
<year>1983</year>
<publisher>Silicon Valley Software</publisher>

<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk 1"/>
<dataarea name="flop" size="391735">
<rom name="d68fort1.imd" size="391735" crc="db27dc48" sha1="b912b91ed49e828c91863d3f71d3a7d673ac08b1" offset="0"/>
</dataarea>
</part>

<part name="flop2" interface="floppy_5_25">
<feature name="part_id" value="Disk 2"/>
<dataarea name="flop" size="386625">
<rom name="d68fort2.imd" size="386625" crc="cdd04f0c" sha1="db9028aad6d757cf5dc316142d06398d7e27abab" offset="0"/>
</dataarea>
</part>
</software>

</softwarelist>
4 changes: 2 additions & 2 deletions hash/pc1000.xml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@
</part>
</software>

<software name="cgen2"> <!-- cart for Ordisavant -->
<software name="cgen2"> <!-- cart for Ordisavant -->
<description>Connaissances Generales II</description>
<year>1988</year>
<publisher>VTech</publisher>
Expand All @@ -127,7 +127,7 @@
</part>
</software>

<software name="encyclop"> <!-- cart for Ordisavant -->
<software name="encyclop"> <!-- cart for Ordisavant -->
<description>Encyclopedie</description>
<year>1988</year>
<publisher>VTech</publisher>
Expand Down
4 changes: 2 additions & 2 deletions hash/tutor.xml
Original file line number Diff line number Diff line change
Expand Up @@ -205,8 +205,8 @@ Battlefighter (Original) (Unreleased - Prototype Stage)
<rom name="tron.bin" size="8192" crc="280f191d" sha1="0d8b5c43db89a438f6036794be7628793643818b" offset="0" />
</dataarea>
</part>
</software>
</software>

<software name="jungler"> <!-- US and Japan confirmed to be the same -->
<!-- Stock No: 8202, (Japanese 015E)-->
<description>Jungler</description>
Expand Down
4 changes: 2 additions & 2 deletions src/devices/bus/cbm2/hrg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ static MACHINE_CONFIG_FRAGMENT( cbm2_hrg_a )
MCFG_SCREEN_SIZE(512, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 512-1)
MCFG_SCREEN_REFRESH_RATE(25)
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")

MCFG_DEVICE_ADD(EF9365_TAG, EF9365, 1750000)
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
Expand All @@ -111,7 +111,7 @@ static MACHINE_CONFIG_FRAGMENT( cbm2_hrg_b )
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")

MCFG_DEVICE_ADD(EF9366_TAG, EF9365, 1750000)
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
Expand Down
2 changes: 1 addition & 1 deletion src/devices/bus/cbm2/hrg.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
// ======================> cbm2_hrg_t

class cbm2_hrg_t : public device_t,
public device_cbm2_expansion_card_interface
public device_cbm2_expansion_card_interface
{
public:
// construction/destruction
Expand Down
4 changes: 2 additions & 2 deletions src/devices/bus/pet/hsg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ static MACHINE_CONFIG_FRAGMENT( cbm8000_hsg_a )
MCFG_SCREEN_SIZE(512, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 512-1)
MCFG_SCREEN_REFRESH_RATE(25)
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")

MCFG_DEVICE_ADD(EF9365_TAG, EF9365, 1750000)
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
Expand All @@ -113,7 +113,7 @@ static MACHINE_CONFIG_FRAGMENT( cbm8000_hsg_b )
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")
MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette")

MCFG_DEVICE_ADD(EF9366_TAG, EF9365, 1750000)
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
Expand Down
2 changes: 1 addition & 1 deletion src/devices/bus/pet/hsg.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
// ======================> cbm8000_hsg_t

class cbm8000_hsg_t : public device_t,
public device_pet_expansion_card_interface
public device_pet_expansion_card_interface
{
public:
// construction/destruction
Expand Down
28 changes: 14 additions & 14 deletions src/devices/cpu/hphybrid/hphybrid.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1485,20 +1485,20 @@ UINT32 hp_5061_3001_cpu_device::add_mae(aec_cases_t aec_case , UINT16 addr)
bsc_reg = HP_REG_R37_ADDR;
break;

case AEC_CASE_I:
// Behaviour of AEC during interrupt vector fetch is undocumented but it can be guessed from 9845B firmware.
// Basically in this case the integrated AEC seems to do what the discrete implementation in 9845A does:
// top half of memory is mapped to block 0 (fixed) and bottom half is mapped according to content of R35
// (see pg 334 of patent).
bsc_reg = top_half ? 0 : HP_REG_R35_ADDR;
break;

default:
logerror("hphybrid: aec_case=%d\n" , aec_case);
return 0;
}

UINT16 aec_reg = (bsc_reg != 0) ? (m_reg_aec[ bsc_reg - HP_REG_R32_ADDR ] & BSC_REG_MASK) : 0;
case AEC_CASE_I:
// Behaviour of AEC during interrupt vector fetch is undocumented but it can be guessed from 9845B firmware.
// Basically in this case the integrated AEC seems to do what the discrete implementation in 9845A does:
// top half of memory is mapped to block 0 (fixed) and bottom half is mapped according to content of R35
// (see pg 334 of patent).
bsc_reg = top_half ? 0 : HP_REG_R35_ADDR;
break;

default:
logerror("hphybrid: aec_case=%d\n" , aec_case);
return 0;
}

UINT16 aec_reg = (bsc_reg != 0) ? (m_reg_aec[ bsc_reg - HP_REG_R32_ADDR ] & BSC_REG_MASK) : 0;

if (m_forced_bsc_25) {
aec_reg = (aec_reg & 0xf) | 0x20;
Expand Down
154 changes: 77 additions & 77 deletions src/devices/cpu/hphybrid/hphybrid.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,83 +90,83 @@ class hp_hybrid_cpu_device : public cpu_device
template<class _Object> static devcb_base &set_pa_changed_func(device_t &device, _Object object) { return downcast<hp_hybrid_cpu_device &>(device).m_pa_changed_func.set_callback(object); }

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 , UINT8 addrwidth);

// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;

// device_execute_interface overrides
virtual UINT32 execute_min_cycles() const override { return 6; }
virtual UINT32 execute_input_lines() const override { return 2; }
virtual UINT32 execute_default_irq_vector() const override { return 0xffff; }
virtual void execute_run() override;
virtual void execute_set_input(int inputnum, int state) override;

UINT16 execute_one(UINT16 opcode);
UINT16 execute_one_sub(UINT16 opcode);
// Execute an instruction that doesn't belong to either BPC or IOC
virtual UINT16 execute_no_bpc_ioc(UINT16 opcode) = 0;

// device_memory_interface overrides
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { 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) const override;

// device_disasm_interface overrides
virtual UINT32 disasm_min_opcode_bytes() const override { return 2; }
virtual UINT32 disasm_max_opcode_bytes() const override { return 2; }
virtual offs_t disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options) override;

// Different cases of memory access
// See patent @ pg 361
typedef enum {
AEC_CASE_A, // Instr. fetches, non-base page fetches of link pointers, BPC direct non-base page accesses
AEC_CASE_B, // Base page fetches of link pointers, BPC direct base page accesses
AEC_CASE_C, // IOC, EMC & BPC indirect final destination accesses
AEC_CASE_D, // DMA accesses
AEC_CASE_I // Interrupt vector fetches
} aec_cases_t;

// do memory address extension
virtual UINT32 add_mae(aec_cases_t aec_case , UINT16 addr) = 0;

UINT16 remove_mae(UINT32 addr);

UINT16 RM(aec_cases_t aec_case , UINT16 addr);
UINT16 RM(UINT32 addr);
virtual UINT16 read_non_common_reg(UINT16 addr) = 0;

void WM(aec_cases_t aec_case , UINT16 addr , UINT16 v);
void WM(UINT32 addr , UINT16 v);
virtual void write_non_common_reg(UINT16 addr , UINT16 v) = 0;

UINT16 fetch(void);

UINT16 get_skip_addr(UINT16 opcode , bool condition) const;

devcb_write8 m_pa_changed_func;

int m_icount;
bool m_forced_bsc_25;

// 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
UINT16 m_reg_W; // Register W
UINT8 m_reg_PA[ HPHYBRID_INT_LVLS + 1 ]; // Stack of register PA (4 bit-long)
UINT16 m_flags; // Flags
UINT8 m_dmapa; // DMA peripheral address (4 bits)
UINT16 m_dmama; // DMA address
UINT16 m_dmac; // DMA counter
UINT16 m_reg_I; // Instruction register
UINT32 m_genpc; // Full PC
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 , UINT8 addrwidth);

// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;

// device_execute_interface overrides
virtual UINT32 execute_min_cycles() const override { return 6; }
virtual UINT32 execute_input_lines() const override { return 2; }
virtual UINT32 execute_default_irq_vector() const override { return 0xffff; }
virtual void execute_run() override;
virtual void execute_set_input(int inputnum, int state) override;

UINT16 execute_one(UINT16 opcode);
UINT16 execute_one_sub(UINT16 opcode);
// Execute an instruction that doesn't belong to either BPC or IOC
virtual UINT16 execute_no_bpc_ioc(UINT16 opcode) = 0;

// device_memory_interface overrides
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { 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) const override;

// device_disasm_interface overrides
virtual UINT32 disasm_min_opcode_bytes() const override { return 2; }
virtual UINT32 disasm_max_opcode_bytes() const override { return 2; }
virtual offs_t disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options) override;

// Different cases of memory access
// See patent @ pg 361
typedef enum {
AEC_CASE_A, // Instr. fetches, non-base page fetches of link pointers, BPC direct non-base page accesses
AEC_CASE_B, // Base page fetches of link pointers, BPC direct base page accesses
AEC_CASE_C, // IOC, EMC & BPC indirect final destination accesses
AEC_CASE_D, // DMA accesses
AEC_CASE_I // Interrupt vector fetches
} aec_cases_t;

// do memory address extension
virtual UINT32 add_mae(aec_cases_t aec_case , UINT16 addr) = 0;

UINT16 remove_mae(UINT32 addr);

UINT16 RM(aec_cases_t aec_case , UINT16 addr);
UINT16 RM(UINT32 addr);
virtual UINT16 read_non_common_reg(UINT16 addr) = 0;

void WM(aec_cases_t aec_case , UINT16 addr , UINT16 v);
void WM(UINT32 addr , UINT16 v);
virtual void write_non_common_reg(UINT16 addr , UINT16 v) = 0;

UINT16 fetch(void);

UINT16 get_skip_addr(UINT16 opcode , bool condition) const;

devcb_write8 m_pa_changed_func;

int m_icount;
bool m_forced_bsc_25;

// 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
UINT16 m_reg_W; // Register W
UINT8 m_reg_PA[ HPHYBRID_INT_LVLS + 1 ]; // Stack of register PA (4 bit-long)
UINT16 m_flags; // Flags
UINT8 m_dmapa; // DMA peripheral address (4 bits)
UINT16 m_dmama; // DMA address
UINT16 m_dmac; // DMA counter
UINT16 m_reg_I; // Instruction register
UINT32 m_genpc; // Full PC

private:
address_space_config m_program_config;
Expand Down
6 changes: 3 additions & 3 deletions src/devices/cpu/i86/i86.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -159,15 +159,15 @@ void i8086_cpu_device::execute_run()
}
}

/* Trap should allow one instruction to be executed.
/* Trap should allow one instruction to be executed.
CPUID.ASM (by Bob Smith, 1985) suggests that in situations where m_no_interrupt is 1,
(directly after POP SS / MOV_SREG), single step IRQs don't fire.
*/
if (m_fire_trap )
{
if ( (m_fire_trap >= 2) && (m_no_interrupt == 0) )
{
m_fire_trap = 0; // reset trap flag upon entry
m_fire_trap = 0; // reset trap flag upon entry
interrupt(1);
}
else
Expand Down Expand Up @@ -1408,7 +1408,7 @@ bool i8086_common_cpu_device::common_op(UINT8 op)
m_src = GetRMWord();
m_sregs[(m_modrm & 0x18) >> 3] = m_src; // confirmed on hw: modrm bit 5 ignored
CLKM(MOV_SR,MOV_SM);
m_no_interrupt = 1; // Disable IRQ after load segment register.
m_no_interrupt = 1; // Disable IRQ after load segment register.
break;

case 0x8f: // i_popw
Expand Down
2 changes: 0 additions & 2 deletions src/devices/cpu/m68000/m68kops.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34872,5 +34872,3 @@ void m68ki_build_opcode_table(void)
/* ======================================================================== */
/* ============================== END OF FILE ============================= */
/* ======================================================================== */


Loading

0 comments on commit b1d6f6d

Please sign in to comment.