mirror of
https://github.com/holub/mame
synced 2025-04-09 18:17:44 +03:00
srcclean in preparation for release
This commit is contained in:
parent
ece46894f8
commit
bcddfc2523
@ -6,7 +6,7 @@ license:CC0-1.0
|
||||
<softwarelist name="abc80_rom" description="Luxor ABC 80 memory card ROMs">
|
||||
|
||||
<software name="abcdos">
|
||||
<!-- Scandia Metric FD2 -->
|
||||
<!-- Scandia Metric FD2 -->
|
||||
<description>ABC-DOS</description>
|
||||
<year>19??</year>
|
||||
<publisher>unknown</publisher>
|
||||
@ -19,7 +19,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="dosdd80">
|
||||
<!-- ABC 830 -->
|
||||
<!-- ABC 830 -->
|
||||
<description>ABC-DOS DD</description>
|
||||
<year>19??</year>
|
||||
<publisher>unknown</publisher>
|
||||
@ -32,7 +32,7 @@ license:CC0-1.0
|
||||
</software>
|
||||
|
||||
<software name="ufd20">
|
||||
<!-- ABC 830 -->
|
||||
<!-- ABC 830 -->
|
||||
<description>UFD-DOS v.20</description>
|
||||
<year>19??</year>
|
||||
<publisher>unknown</publisher>
|
||||
|
@ -21520,8 +21520,8 @@ User/save disks that can be created from the game itself are not included.
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Bundled with the book of the same title (ISBN 978-4756106001). Disc 4 contains software for X68000, FM Towns and UNIX-based systems.
|
||||
The other discs (currently not dumped) contain DOS/Windows software for IBM compatibles.
|
||||
Bundled with the book of the same title (ISBN 978-4756106001). Disc 4 contains software for X68000, FM Towns and UNIX-based systems.
|
||||
The other discs (currently not dumped) contain DOS/Windows software for IBM compatibles.
|
||||
-->
|
||||
<software name="pack13k">
|
||||
<!--
|
||||
|
@ -8,8 +8,8 @@ license:CC0-1.0
|
||||
<!-- This list is ordered by game description -->
|
||||
|
||||
<!-- Dummy carts (just a jumper PCB, without ROM) that enable internal games in the BIOS:
|
||||
80-250700 - Touch & Learn - Game Pack (US)
|
||||
80-250704 - MobiGo 2 (GE) -->
|
||||
80-250700 - Touch & Learn - Game Pack (US)
|
||||
80-250704 - MobiGo 2 (GE) -->
|
||||
|
||||
<software name="ben10g" supported="no">
|
||||
<description>Ben 10 - UltimateAlien - Mine der Gedanken (Germany)</description>
|
||||
|
@ -5022,7 +5022,7 @@ editor.prg hangs when creating a folder, [FDC] write
|
||||
<description>Trash Heap (Europe)</description>
|
||||
<year>1987</year>
|
||||
<publisher>Robtek</publisher>
|
||||
<notes><![CDATA[
|
||||
<notes><![CDATA[
|
||||
First two copy protection codes are always W/16 - A/5 (verify)
|
||||
]]></notes>
|
||||
<info name="usage" value="Sports code wheel copy protection" />
|
||||
@ -5048,7 +5048,7 @@ First two copy protection codes are always W/16 - A/5 (verify)
|
||||
<description>Trauma (Europe)</description>
|
||||
<year>1989</year>
|
||||
<publisher>Infogrames</publisher>
|
||||
<notes><![CDATA[
|
||||
<notes><![CDATA[
|
||||
Fails [disk swap] after title screen
|
||||
]]></notes>
|
||||
<sharedfeat name="compatibility" value="PAL"/>
|
||||
@ -5208,7 +5208,7 @@ White screen, [68k] stalls on bootstrap with invalid opcode PC=13eba
|
||||
<description>Universe 3 (Euro, v1.0)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Impressions</publisher>
|
||||
<notes><![CDATA[
|
||||
<notes><![CDATA[
|
||||
Fails [disk swap] when launching univers3.prg
|
||||
]]></notes>
|
||||
<sharedfeat name="compatibility" value="PAL"/>
|
||||
@ -5262,7 +5262,7 @@ Fails [disk swap] when launching univers3.prg
|
||||
<description>Vectorball (Europe)</description>
|
||||
<year>1988</year>
|
||||
<publisher>MAD</publisher>
|
||||
<notes><![CDATA[
|
||||
<notes><![CDATA[
|
||||
2 or 3 [bombs] bus error by pressing fire on title screen
|
||||
]]></notes>
|
||||
<sharedfeat name="compatibility" value="PAL"/>
|
||||
@ -5316,7 +5316,7 @@ Fails [disk swap] when launching univers3.prg
|
||||
<description>Wanderer 3D (Euro, Budget)</description>
|
||||
<year>1988</year>
|
||||
<publisher>Encore</publisher>
|
||||
<notes><![CDATA[
|
||||
<notes><![CDATA[
|
||||
Unsupported optional 3d glasses
|
||||
]]></notes>
|
||||
<sharedfeat name="compatibility" value="PAL"/>
|
||||
@ -5430,7 +5430,7 @@ Fails to recognize [disk swap] after title screen
|
||||
<description>Where Time Stood Still (Europe)</description>
|
||||
<year>1988</year>
|
||||
<publisher>Ocean</publisher>
|
||||
<notes><![CDATA[
|
||||
<notes><![CDATA[
|
||||
Randomly hangs after few seconds in gameplay or doesn't recognize fire button on title screen, likely [GPIO4] irq
|
||||
]]></notes>
|
||||
<sharedfeat name="compatibility" value="PAL"/>
|
||||
@ -5479,7 +5479,7 @@ Randomly hangs after few seconds in gameplay or doesn't recognize fire button on
|
||||
<description>World Championship Boxing Manager (Europe)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Krisalis</publisher>
|
||||
<notes><![CDATA[
|
||||
<notes><![CDATA[
|
||||
Prompts user to insert the "other" disk, fails [disk swap]
|
||||
]]></notes>
|
||||
<sharedfeat name="compatibility" value="PAL"/>
|
||||
@ -5504,7 +5504,7 @@ Prompts user to insert the "other" disk, fails [disk swap]
|
||||
<description>World Class Leader Board (Euro, Budget)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Klassix</publisher>
|
||||
<notes><![CDATA[
|
||||
<notes><![CDATA[
|
||||
Randomly hangs on main menu, [joystick] or [keyboard] becomes unresponsive, likely [GPIO4] irq
|
||||
]]></notes>
|
||||
<sharedfeat name="compatibility" value="PAL"/>
|
||||
|
@ -2845,7 +2845,7 @@ void newport_base_device::do_fline(uint32_t color)
|
||||
dy = temp_d;
|
||||
break;
|
||||
}
|
||||
case 0: // Pseudo 7
|
||||
case 0: // Pseudo 7
|
||||
{
|
||||
const int16_t temp_fract = 0x10 - y1_fract;
|
||||
y1_fract = x1_fract;
|
||||
|
@ -59,7 +59,7 @@ public:
|
||||
void set_view(memory_view &view);
|
||||
virtual void map_io(address_space_installer &space) = 0;
|
||||
virtual void map_rom() = 0;
|
||||
|
||||
|
||||
protected:
|
||||
device_oricext_interface(const machine_config &mconfig, device_t &device);
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:Andrei I. Holub
|
||||
/*******************************************************************************************
|
||||
|
||||
Sound card NeoGS appropriate for playing trackers (MOD) and compressed (MP3) music on
|
||||
Sound card NeoGS appropriate for playing trackers (MOD) and compressed (MP3) music on
|
||||
Spectrum-compatible computers with ZXBUS slot.
|
||||
|
||||
Hardware:
|
||||
@ -19,9 +19,9 @@ Hardware:
|
||||
- Parallel working (NeoGS play music independently from ZX).
|
||||
|
||||
Refs:
|
||||
http://nedopc.com/gs/ngs_eng.php
|
||||
https://github.com/psbhlw/gs-firmware
|
||||
https://8bit.yarek.pl/interface/zx.generalsound/index.html
|
||||
http://nedopc.com/gs/ngs_eng.php
|
||||
https://github.com/psbhlw/gs-firmware
|
||||
https://8bit.yarek.pl/interface/zx.generalsound/index.html
|
||||
|
||||
TODO:
|
||||
- SPI
|
||||
@ -235,7 +235,7 @@ void neogs_device::neogsmap(address_map &map)
|
||||
void neogs_device::device_start()
|
||||
{
|
||||
if (!m_ram->started())
|
||||
throw device_missing_dependencies();
|
||||
throw device_missing_dependencies();
|
||||
|
||||
m_bank_rom->configure_entries(0, m_rom.bytes() / 0x8000, &m_rom[0], 0x8000);
|
||||
m_bank_ram->configure_entries(0, m_ram->size() / 0x8000, m_ram->pointer(), 0x8000);
|
||||
|
@ -12,8 +12,10 @@
|
||||
#include "gew12.h"
|
||||
|
||||
#include "m6502mcu.ipp"
|
||||
|
||||
#include "bus/generic/slot.h"
|
||||
|
||||
|
||||
DEFINE_DEVICE_TYPE(GEW12, gew12_device, "gew12", "Yamaha YMW728-F (GEW12)")
|
||||
|
||||
gew12_device::gew12_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
@ -40,12 +42,12 @@ void gew12_device::device_start()
|
||||
m_out_cb.resolve_all_safe();
|
||||
|
||||
m_bank_mask = device_generic_cart_interface::map_non_power_of_two(
|
||||
unsigned(m_rom->bytes() >> 14),
|
||||
[this, base = &m_rom->as_u8()](unsigned entry, unsigned page)
|
||||
{
|
||||
m_bank[0]->configure_entry(entry, &base[page << 14]);
|
||||
m_bank[1]->configure_entry(entry, &base[page << 14]);
|
||||
});
|
||||
unsigned(m_rom->bytes() >> 14),
|
||||
[this, base = &m_rom->as_u8()] (unsigned entry, unsigned page)
|
||||
{
|
||||
m_bank[0]->configure_entry(entry, &base[page << 14]);
|
||||
m_bank[1]->configure_entry(entry, &base[page << 14]);
|
||||
});
|
||||
|
||||
m_timer_base[0] = m_timer_base[1] = 0;
|
||||
|
||||
|
@ -12,8 +12,10 @@
|
||||
#include "gew7.h"
|
||||
|
||||
#include "m6502mcu.ipp"
|
||||
|
||||
#include "bus/generic/slot.h"
|
||||
|
||||
|
||||
DEFINE_DEVICE_TYPE(GEW7, gew7_device, "gew7", "Yamaha YMW270-F (GEW7)")
|
||||
|
||||
gew7_device::gew7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
@ -47,12 +49,12 @@ void gew7_device::device_start()
|
||||
m_out_cb.resolve_all_safe();
|
||||
|
||||
m_bank_mask = device_generic_cart_interface::map_non_power_of_two(
|
||||
unsigned(m_rom->bytes() >> 14),
|
||||
[this, base = &m_rom->as_u8()](unsigned entry, unsigned page)
|
||||
{
|
||||
m_bank[0]->configure_entry(entry, &base[page << 14]);
|
||||
m_bank[1]->configure_entry(entry, &base[page << 14]);
|
||||
});
|
||||
unsigned(m_rom->bytes() >> 14),
|
||||
[this, base = &m_rom->as_u8()] (unsigned entry, unsigned page)
|
||||
{
|
||||
m_bank[0]->configure_entry(entry, &base[page << 14]);
|
||||
m_bank[1]->configure_entry(entry, &base[page << 14]);
|
||||
});
|
||||
|
||||
m_timer_base[0] = m_timer_base[1] = 0;
|
||||
|
||||
|
@ -492,22 +492,22 @@ void m68000_mcu_device::execute_run()
|
||||
for(;;) {
|
||||
if(m_icount > m_bcount && m_inst_substate)
|
||||
(this->*(m_handlers_p[m_inst_state]))();
|
||||
|
||||
|
||||
while(m_icount > m_bcount) {
|
||||
if(m_inst_state >= S_first_instruction) {
|
||||
m_ipc = m_pc - 2;
|
||||
m_irdi = m_ird;
|
||||
|
||||
|
||||
if(machine().debug_flags & DEBUG_FLAG_ENABLED)
|
||||
debugger_instruction_hook(m_ipc);
|
||||
}
|
||||
(this->*(m_handlers_f[m_inst_state]))();
|
||||
}
|
||||
|
||||
|
||||
if(m_post_run)
|
||||
do_post_run();
|
||||
else
|
||||
break;
|
||||
break;
|
||||
}
|
||||
if(m_icount > 0)
|
||||
while(m_bcount && m_icount <= m_bcount)
|
||||
|
@ -57,7 +57,7 @@ void tmp68301_device::internal_update(uint64_t current_time)
|
||||
event_time = m_timer_next_event[i];
|
||||
}
|
||||
|
||||
recompute_bcount(event_time);
|
||||
recompute_bcount(event_time);
|
||||
}
|
||||
|
||||
void tmp68301_device::device_start()
|
||||
@ -68,7 +68,7 @@ void tmp68301_device::device_start()
|
||||
|
||||
for(auto &tx : m_tx_cb)
|
||||
tx.resolve_safe();
|
||||
|
||||
|
||||
save_item(NAME(m_external_interrupt_state));
|
||||
|
||||
save_item(NAME(m_amar));
|
||||
@ -379,7 +379,7 @@ const int tmp68301_device::interrupt_vector_to_slot[32] = {
|
||||
-1, -1, -1, -1, -1, -1, -1, -1
|
||||
};
|
||||
|
||||
u8 tmp68301_device::icr_r(offs_t reg) { return m_icr[reg]; }
|
||||
u8 tmp68301_device::icr_r(offs_t reg) { return m_icr[reg]; }
|
||||
u16 tmp68301_device::imr_r() { return m_imr; }
|
||||
u16 tmp68301_device::ipr_r() { return m_ipr; }
|
||||
u16 tmp68301_device::iisr_r() { return m_iisr; }
|
||||
@ -578,12 +578,12 @@ void tmp68301_device::interrupt_update()
|
||||
{
|
||||
auto [level, vector, slot] = interrupt_get_current();
|
||||
set_current_interrupt_level(level);
|
||||
// logerror("interrupt update ipr=%03x imr=%03x state=%08x (%x, %02x, %2d)\n", m_ipr, m_imr, m_interrupt_state, level, vector, slot);
|
||||
// logerror("interrupt update ipr=%03x imr=%03x state=%08x (%x, %02x, %2d)\n", m_ipr, m_imr, m_interrupt_state, level, vector, slot);
|
||||
}
|
||||
|
||||
void tmp68301_device::interrupt_internal_trigger(int vector)
|
||||
{
|
||||
// logerror("interrupt internal trigger %02x\n", vector);
|
||||
// logerror("interrupt internal trigger %02x\n", vector);
|
||||
m_interrupt_state |= 1 << vector;
|
||||
m_ipr |= 1 << interrupt_vector_to_slot[vector];
|
||||
interrupt_update();
|
||||
@ -592,7 +592,7 @@ void tmp68301_device::interrupt_internal_trigger(int vector)
|
||||
u8 tmp68301_device::interrupt_callback()
|
||||
{
|
||||
auto [level, vector, slot] = interrupt_get_current();
|
||||
// logerror("interrupt callback ipr=%03x imr=%03x (%x, %02x, %d)\n", m_ipr, m_imr, level, vector, slot);
|
||||
// logerror("interrupt callback ipr=%03x imr=%03x (%x, %02x, %d)\n", m_ipr, m_imr, level, vector, slot);
|
||||
if(slot < 3)
|
||||
standard_irq_callback(slot, m_pc);
|
||||
if(vector != 0x1f) {
|
||||
@ -681,7 +681,7 @@ void tmp68301_device::pmr_w(u8 data)
|
||||
m_pmr & 0x04 ? "auto" : "manual",
|
||||
m_pmr & 0x02 ? "ack" : "-",
|
||||
m_pmr & 0x01 ? "external" : "internal");
|
||||
|
||||
|
||||
}
|
||||
|
||||
u16 tmp68301_device::pdr_r()
|
||||
@ -701,7 +701,7 @@ void tmp68301_device::pdr_w(offs_t, u16 data, u16 mem_mask)
|
||||
COMBINE_DATA(&m_pdr);
|
||||
if(m_pdr == old)
|
||||
return;
|
||||
// logerror("parallel data %04x\n", m_pdr);
|
||||
// logerror("parallel data %04x\n", m_pdr);
|
||||
if(m_parallel_mode == 0) {
|
||||
if(m_pdir == 0x0000)
|
||||
return;
|
||||
@ -775,10 +775,10 @@ void tmp68301_device::serial_check_interrupt(int ch)
|
||||
intr |= 1 << SR_INT_ERR;
|
||||
}
|
||||
if(intr != old_interrupt) {
|
||||
// logerror("serial intr mask %x\n", intr);
|
||||
// logerror("serial intr mask %x\n", intr);
|
||||
for(int i=0; i != 3; i++)
|
||||
if((intr & (1 << i)) && !(m_sr_intr[ch] & (1 << i)))
|
||||
interrupt_internal_trigger(8 + 4*ch + i);
|
||||
interrupt_internal_trigger(8 + 4*ch + i);
|
||||
}
|
||||
m_sr_intr[ch] = intr;
|
||||
}
|
||||
@ -965,7 +965,7 @@ void tmp68301_device::serial_rx_w(int ch, int state)
|
||||
|
||||
void tmp68301_device::serial_rx_update(int ch)
|
||||
{
|
||||
// logerror("rx update channel %d state %d\n", ch, m_serial_rx_state[ch]);
|
||||
// logerror("rx update channel %d state %d\n", ch, m_serial_rx_state[ch]);
|
||||
u64 next = m_serial_rx_next_event[ch] + 8*m_serial_gclk[ch];
|
||||
u8 nstate = m_serial_rx_state[ch] + 1;
|
||||
u8 line = m_serial_rx_line[ch];
|
||||
@ -1042,12 +1042,12 @@ void tmp68301_device::serial_rx_update(int ch)
|
||||
}
|
||||
|
||||
m_serial_rx_next_event[ch] = next;
|
||||
m_serial_rx_state[ch] = nstate;
|
||||
m_serial_rx_state[ch] = nstate;
|
||||
}
|
||||
|
||||
void tmp68301_device::serial_tx_update(int ch)
|
||||
{
|
||||
// logerror("tx update channel %d state %d\n", ch, m_serial_tx_state[ch]);
|
||||
// logerror("tx update channel %d state %d\n", ch, m_serial_tx_state[ch]);
|
||||
u64 next = m_serial_tx_next_event[ch] + 8*m_serial_gclk[ch];
|
||||
u8 nstate = m_serial_tx_state[ch] + 1;
|
||||
switch(m_serial_tx_state[ch]) {
|
||||
@ -1115,7 +1115,7 @@ void tmp68301_device::serial_tx_update(int ch)
|
||||
}
|
||||
|
||||
m_serial_tx_next_event[ch] = next;
|
||||
m_serial_tx_state[ch] = nstate;
|
||||
m_serial_tx_state[ch] = nstate;
|
||||
machine().scheduler().synchronize();
|
||||
}
|
||||
|
||||
@ -1251,7 +1251,7 @@ void tmp68301_device::timer_sync(int ch)
|
||||
u64 ctime = total_cycles();
|
||||
// Don't fold the shifts, the computation would be incorrect
|
||||
u32 ntctr = m_tctr[ch] + ((ctime >> div) - (m_timer_last_sync[ch] >> div));
|
||||
|
||||
|
||||
u32 maxmode = (m_tcr[ch] >> TCR_MR) & 3;
|
||||
if(maxmode == 1 || maxmode == 2) {
|
||||
u32 max = (maxmode == 1) ? m_tmcr1[ch] : m_tmcr2[ch];
|
||||
@ -1294,7 +1294,7 @@ void tmp68301_device::timer_predict(int ch)
|
||||
logerror("timer %d alternating max mode unsupported\n", ch);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if((m_tcr[ch] & TCR_N1) == 0) {
|
||||
// Need to add a flag to say "counter done" to make it work, reset on mode change.
|
||||
logerror("timer %d single-shot mode unsupported\n");
|
||||
|
@ -82,7 +82,7 @@ protected:
|
||||
static const int interrupt_vector_to_slot[32];
|
||||
static const int interrupt_slot_to_priority[11];
|
||||
|
||||
u16 m_external_interrupt_state;
|
||||
u16 m_external_interrupt_state;
|
||||
u32 m_interrupt_state;
|
||||
u8 m_icr[10];
|
||||
u16 m_imr, m_ipr, m_iisr;
|
||||
@ -266,7 +266,7 @@ protected:
|
||||
void timer_update(int ch);
|
||||
void timer_sync(int ch);
|
||||
void timer_predict(int ch);
|
||||
|
||||
|
||||
void tcr_w(int ch, u16 data, u16 mem_mask);
|
||||
void tmcr1_w(int ch, u16 data, u16 mem_mask);
|
||||
void tmcr2_w(int ch, u16 data, u16 mem_mask);
|
||||
|
@ -23,8 +23,8 @@
|
||||
History:
|
||||
|
||||
January 2023 tlindner:
|
||||
Add 6809 undocumented opcodes as described here:
|
||||
https://github.com/hoglet67/6809Decoder/wiki/Undocumented-6809-Behaviours
|
||||
Add 6809 undocumented opcodes as described here:
|
||||
https://github.com/hoglet67/6809Decoder/wiki/Undocumented-6809-Behaviours
|
||||
|
||||
July 2016 ErikGav:
|
||||
Unify with 6309 pairs and quads (A+B=D, E+F=W, D+W=Q)
|
||||
|
@ -1122,7 +1122,7 @@ uint32_t v810_device::opFpoint(uint32_t op)
|
||||
//case 0xa: REV (*)
|
||||
case 0xb: op_cycles = opTRNC(op);break;
|
||||
case 0xc: op_cycles = opMPYHW(op); break; // (*)
|
||||
default:
|
||||
default:
|
||||
throw emu_fatalerror("Floating point unknown type %02x\n", op_type);
|
||||
break;
|
||||
}
|
||||
|
@ -2047,7 +2047,7 @@ void wd_fdc_device_base::live_run(attotime limit)
|
||||
//FM Prefix match
|
||||
if(cur_live.shift_reg_low<17>() == 0xabd5) { // 17-bit match
|
||||
cur_live.data_separator_phase = false;
|
||||
cur_live.bit_counter = 5*2; // prefix is 5 of 8 bits
|
||||
cur_live.bit_counter = 5*2; // prefix is 5 of 8 bits
|
||||
cur_live.data_reg = 0xff;
|
||||
break;
|
||||
} else if(cur_live.bit_counter == 16) {
|
||||
|
@ -366,7 +366,7 @@ inline u16 calculate_vram_accesses(u16 start_x, u16 start_y, u16 dimx, u16 dimy)
|
||||
{
|
||||
num_vram_rows += x_rows;
|
||||
if (((start_y & 31) + std::min(32, y_pixels)) > 32)
|
||||
num_vram_rows += x_rows; // Drawing across multiple vertical VRAM row boundaries.
|
||||
num_vram_rows += x_rows; // Drawing across multiple vertical VRAM row boundaries.
|
||||
}
|
||||
return num_vram_rows;
|
||||
}
|
||||
@ -412,7 +412,7 @@ inline void epic12_device::gfx_draw_shadow_copy(address_space &space, offs_t *ad
|
||||
COPY_NEXT_WORD(space, addr);
|
||||
u16 src_x_start = COPY_NEXT_WORD(space, addr);
|
||||
u16 src_y_start = COPY_NEXT_WORD(space, addr);
|
||||
u16 dst_x_start = COPY_NEXT_WORD(space, addr);
|
||||
u16 dst_x_start = COPY_NEXT_WORD(space, addr);
|
||||
u16 dst_y_start = COPY_NEXT_WORD(space, addr);
|
||||
u16 src_dimx = (COPY_NEXT_WORD(space, addr) & 0x1fff) + 1;
|
||||
u16 src_dimy = (COPY_NEXT_WORD(space, addr) & 0x0fff) + 1;
|
||||
@ -424,7 +424,7 @@ inline void epic12_device::gfx_draw_shadow_copy(address_space &space, offs_t *ad
|
||||
// by asserting BREQ on the SH3 and then reading from Main RAM.
|
||||
// Since the reads are done concurrently to executions of operations, its
|
||||
// ok to estimate the delay all at once instead for emulation purposes.
|
||||
|
||||
|
||||
u16 dst_x_end = dst_x_start + src_dimx - 1;
|
||||
u16 dst_y_end = dst_y_start + src_dimy - 1;
|
||||
|
||||
@ -436,14 +436,14 @@ inline void epic12_device::gfx_draw_shadow_copy(address_space &space, offs_t *ad
|
||||
}
|
||||
|
||||
m_blit_idle_op_bytes = 0; // Blitter no longer idle.
|
||||
|
||||
// VRAM data is laid out in 32x32 pixel rows. Calculate amount of rows accessed.
|
||||
|
||||
// VRAM data is laid out in 32x32 pixel rows. Calculate amount of rows accessed.
|
||||
int src_num_vram_rows = calculate_vram_accesses(src_x_start, src_y_start, src_dimx, src_dimy);
|
||||
int dst_num_vram_rows = calculate_vram_accesses(dst_x_start, dst_y_start, src_dimx, src_dimy);
|
||||
|
||||
// Since draws are done 4 pixels at the time, extend the draw area to coordinates aligned for this.
|
||||
// Doing this after VRAM calculations simplify things a bit, and these extensions will never make the
|
||||
// destination area span additional VRAM rows.
|
||||
// destination area span additional VRAM rows.
|
||||
dst_x_start -= dst_x_start & 3;
|
||||
dst_x_end += (4 - ((dst_x_end + 1) & 3)) & 3;
|
||||
u16 dst_dimx = dst_x_end - dst_x_start + 1;
|
||||
@ -459,7 +459,7 @@ inline void epic12_device::gfx_draw_shadow_copy(address_space &space, offs_t *ad
|
||||
// - 11 CLK of overhead after each write to a destination VRAM row.
|
||||
// - 12 CLK of additional overhead per sprite at the end of writing.
|
||||
// Note: Details are from https://buffis.com/docs/CV1000_Blitter_Research_by_buffi.pdf
|
||||
// There may be mistakes.
|
||||
// There may be mistakes.
|
||||
u32 num_vram_clk = src_dimx * src_dimy / 4 + dst_dimx * dst_dimy / 2 + src_num_vram_rows * 6 + dst_num_vram_rows * (20 + 11) + 12;
|
||||
m_blit_delay_ns += num_vram_clk * EP1C_VRAM_CLK_NANOSEC;
|
||||
}
|
||||
@ -797,7 +797,7 @@ void epic12_device::gfx_exec_w(address_space &space, offs_t offset, u32 data, u3
|
||||
// Create a copy of the blit list so we can safely thread it.
|
||||
// Copying the Blitter operations will also estimate the delay needed for processing.
|
||||
m_blit_delay_ns = 0;
|
||||
gfx_create_shadow_copy(space);
|
||||
gfx_create_shadow_copy(space);
|
||||
|
||||
// Every EP1C_VRAM_H_LINE_PERIOD_NANOSEC, the Blitter will block other operations, due
|
||||
// to fetching a horizontal line from VRAM for output.
|
||||
|
@ -827,7 +827,7 @@ protected:
|
||||
// actually performing any work.
|
||||
// This will still be visible from the CPU as Blitter being busy, until the
|
||||
// operation list has exited.
|
||||
//
|
||||
//
|
||||
// TODO: Having 64 bytes of non-drawing operations in a row will only cause the Blitter
|
||||
// to idle if the operations are read from the same 64 byte chunk (and not split between two).
|
||||
// More proper handling of this would be to change the reads from SRAM to be done 64 bytes at the time
|
||||
|
@ -536,8 +536,8 @@ WRITE_LINE_MEMBER( huc6270_device::hsync_changed )
|
||||
m_byr_latched += 1;
|
||||
m_raster_count += 1;
|
||||
// raster count VSW latch happens one line earlier (cfr. +2 on assignment)
|
||||
// This has been confirmed on real HW, where the last possible RCR with
|
||||
// 240 VDW is 0x130 (i.e. 64 + 240). m_vert_to_go == 1 will also
|
||||
// This has been confirmed on real HW, where the last possible RCR with
|
||||
// 240 VDW is 0x130 (i.e. 64 + 240). m_vert_to_go == 1 will also
|
||||
// cause several side effects, namely:
|
||||
// - draculax Stage 4' "all blue" Richter;
|
||||
// - faussete Stage 2 excessive slowdown;
|
||||
|
@ -110,7 +110,7 @@ sn74s262_device::sn74s262_device(const machine_config &mconfig, const char *tag,
|
||||
}
|
||||
|
||||
sn74s263_device::sn74s263_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
sn74s262_device(mconfig, SN74S263, tag, owner, clock)
|
||||
sn74s262_device(mconfig, SN74S263, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
@ -121,10 +121,10 @@ sn74s263_device::sn74s263_device(const machine_config &mconfig, const char *tag,
|
||||
|
||||
u8 sn74s262_device::read(u8 character, u8 row)
|
||||
{
|
||||
if ((row & 0xf) > 8)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if ((row & 0xf) > 8)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return m_char_rom[((character & 0x7f) * 10) + (row & 0xf)];
|
||||
return m_char_rom[((character & 0x7f) * 10) + (row & 0xf)];
|
||||
}
|
||||
|
@ -32,13 +32,13 @@
|
||||
// ======================> sn74s262_device
|
||||
|
||||
class sn74s262_device : public device_t,
|
||||
public device_gfx_interface
|
||||
public device_gfx_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
sn74s262_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
u8 read(u8 character, u8 row);
|
||||
u8 read(u8 character, u8 row);
|
||||
|
||||
protected:
|
||||
sn74s262_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
@ -5418,7 +5418,7 @@ void blktouch_state::init_blktouch()
|
||||
{
|
||||
// fearsome encryption ;-)
|
||||
uint8_t *src;
|
||||
|
||||
|
||||
src = (uint8_t *)memregion("maincpu")->base();
|
||||
for (int i = 0; i < 0x90000; i++)
|
||||
src[i] = bitswap<8>(src[i], 7, 6, 5, 3, 4, 2, 1, 0);
|
||||
|
@ -25,7 +25,7 @@
|
||||
To boot into the game...
|
||||
|
||||
1) Let the initial test ends.
|
||||
2) Turn ON Service Key (key 9). The screen will show "Elektronik Defekt 5".
|
||||
2) Turn ON Service Key (key 9). The screen will show "Elektronik Defekt 5".
|
||||
3) Turn ON Personal A key (key 0).
|
||||
4) Turn OFF Personal A key.
|
||||
|
||||
@ -429,8 +429,8 @@ static INPUT_PORTS_START( supercrd )
|
||||
|
||||
PORT_START("SW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Personal A Settings" )
|
||||
PORT_DIPSETTING( 0x01, "Brief" ) // Remote A, Abgeschrieben A.
|
||||
PORT_DIPSETTING( 0x00, "Complete" ) // Remote A, Gewechselt A, Abgeschrieben A, Nachgefuellt A.
|
||||
PORT_DIPSETTING( 0x01, "Brief" ) // Remote A, Abgeschrieben A.
|
||||
PORT_DIPSETTING( 0x00, "Complete" ) // Remote A, Gewechselt A, Abgeschrieben A, Nachgefuellt A.
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
@ -497,7 +497,7 @@ void supercrd_state::supercrd(machine_config &config)
|
||||
m_maincpu->set_addrmap(AS_IO, &supercrd_state::io_map);
|
||||
m_maincpu->set_addrmap(AS_OPCODES, &supercrd_state::decrypted_opcodes_map);
|
||||
|
||||
// NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
// NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
i8255_device &ppi0(I8255A(config, "ppi8255_0"));
|
||||
ppi0.in_pa_callback().set_ioport("IN0");
|
||||
|
@ -57,7 +57,7 @@ license:CC0-1.0
|
||||
<rect state="0"><bounds x="2" y="2" width="86" height="28" /><color red="1.0" green="0.14" blue="0.14" /></rect>
|
||||
<rect state="1"><bounds x="2" y="2" width="86" height="28" /><color red="0.8" green="0.11" blue="0.11" /></rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- keyboard primitives -->
|
||||
<element name="keyfill"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
|
||||
<element name="whitekey" defstate="0">
|
||||
@ -109,7 +109,7 @@ license:CC0-1.0
|
||||
<disk state="2"><bounds xc="-0.4" yc="0" width="0.1" height="0.1" /><color red="1.0" green="1.0" blue="1.0" /></disk>
|
||||
<disk state="4"><bounds xc="-0.27" yc="-0.3" width="0.1" height="0.1" /><color red="1.0" green="1.0" blue="1.0" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- button group -->
|
||||
<group name="keypad">
|
||||
<element ref="border"><bounds x="-30" y="12" width="204" height="136"/></element>
|
||||
@ -123,7 +123,7 @@ license:CC0-1.0
|
||||
<element ref="kp2"><bounds xc="96" yc="36" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY7" inputmask="0x200"><bounds xc="144" y="20" width="32" height="32" /></element>
|
||||
<element ref="kp3"><bounds xc="144" yc="36" width="24" height="18"/></element>
|
||||
|
||||
|
||||
<element ref="button-rect-num" inputtag="KEY8" inputmask="0x040"><bounds xc="0" y="64" width="32" height="32" /></element>
|
||||
<element ref="plus"><bounds xc="0" yc="80" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY8" inputmask="0x080"><bounds xc="48" y="64" width="32" height="32" /></element>
|
||||
@ -132,7 +132,7 @@ license:CC0-1.0
|
||||
<element ref="kp5"><bounds xc="96" yc="80" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY6" inputmask="0x040"><bounds xc="144" y="64" width="32" height="32" /></element>
|
||||
<element ref="kp6"><bounds xc="144" yc="80" width="24" height="18"/></element>
|
||||
|
||||
|
||||
<element ref="button-rect-num" inputtag="KEY9" inputmask="0x040"><bounds xc="0" y="108" width="32" height="32" /></element>
|
||||
<element ref="minus"><bounds xc="0" yc="124" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY8" inputmask="0x100"><bounds xc="48" y="108" width="32" height="32" /></element>
|
||||
@ -159,15 +159,15 @@ license:CC0-1.0
|
||||
<element ref="greyback" inputtag="SWITCH" inputmask="0x02"><bounds xc="2185" yc="142" width="180" height="60" /></element>
|
||||
<element ref="greyback" inputtag="SWITCH" inputmask="0x01"><bounds xc="2185" yc="202" width="180" height="60" /></element>
|
||||
<element ref="dial" name="switch_pos"><bounds xc="2185" yc="142" width="144" height="144" /></element>
|
||||
|
||||
|
||||
<group ref="keypad"><bounds xc="2380" y="70" width="204" height="136"/></group>
|
||||
|
||||
|
||||
<element ref="demo"><bounds xc="2148" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-demo" inputtag="KEY6" inputmask="0x400"><bounds xc="2148" y="250" width="32" height="32" /></element>
|
||||
|
||||
|
||||
<element ref="start_stop"><bounds xc="2232" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-start-stop" inputtag="KEY6" inputmask="0x200"><bounds xc="2228" y="250" width="90" height="32" /></element>
|
||||
|
||||
|
||||
<element ref="tempo"><bounds xc="2330" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY9" inputmask="0x200"><bounds xc="2306" y="250" width="32" height="32" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY9" inputmask="0x100"><bounds xc="2354" y="250" width="32" height="32" /></element>
|
||||
@ -222,7 +222,7 @@ license:CC0-1.0
|
||||
<!-- final key -->
|
||||
<element ref="whitekey" inputtag="KEY0" inputmask="0x01"><bounds x="2378" y="108" width="79" height="424" /></element>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- speaker grill -->
|
||||
<element name="speaker">
|
||||
<rect><bounds x="0" y="0" width="346" height="346" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
|
@ -42,7 +42,7 @@ license:CC0-1.0
|
||||
<element name="vari1"><text string="VARI 1" /></element>
|
||||
<element name="vari2"><text string="VARI 2" /></element>
|
||||
<element name="vari3"><text string="VARI 3" /></element>
|
||||
|
||||
|
||||
<element name="voice1"><text string="PIANO" align="1" /></element>
|
||||
<element name="voice2"><text string="E PIANO" align="1" /></element>
|
||||
<element name="voice3"><text string="PIANO ENS" align="1" /></element>
|
||||
@ -133,7 +133,7 @@ license:CC0-1.0
|
||||
<rect state="0"><bounds x="4" y="4" width="112" height="22" /><color red="0.93" green="0.11" blue="0.14" /></rect>
|
||||
<rect state="1"><bounds x="4" y="4" width="112" height="22" /><color red="0.8" green="0.09" blue="0.13" /></rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- LED primitives -->
|
||||
<element name="ledr" defstate="0">
|
||||
<disk><color red="0.05" green="0.05" blue="0.05" /></disk>
|
||||
@ -145,7 +145,7 @@ license:CC0-1.0
|
||||
<disk state="0"><bounds xc="0.5" yc="0.5" width="0.6" height="0.6" /><color red="0.1" green="0.2" blue="0.1" /></disk>
|
||||
<disk state="1"><bounds xc="0.5" yc="0.5" width="0.6" height="0.6" /><color red="0.1" green="1.0" blue="0.1" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
<element name="bullets">
|
||||
<disk><bounds x="0" y="0" width="10" height="10" /><color red="0.1" green="0.1" blue="0.1" /></disk>
|
||||
<disk><bounds x="0" y="25" width="10" height="10" /><color red="0.1" green="0.1" blue="0.1" /></disk>
|
||||
@ -153,12 +153,12 @@ license:CC0-1.0
|
||||
<disk><bounds x="0" y="75" width="10" height="10" /><color red="0.1" green="0.1" blue="0.1" /></disk>
|
||||
<disk><bounds x="0" y="100" width="10" height="10" /><color red="0.1" green="0.1" blue="0.1" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
<element name="button-back">
|
||||
<rect><bounds x="0" y="0" width="2000" height="500" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<rect><bounds x="0" y="0" width="980" height="166" /><color red="0.0" green="0.5" blue="0.5" /></rect>
|
||||
<rect><bounds x="0" y="174" width="980" height="166" /><color red="0.87" green="0.17" blue="0.17" /></rect>
|
||||
|
||||
|
||||
<!-- dividers -->
|
||||
<rect><bounds xc="140" y="0" width="8" height="350" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<rect><bounds xc="285" y="0" width="8" height="350" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
@ -166,7 +166,7 @@ license:CC0-1.0
|
||||
<rect><bounds xc="575" y="0" width="8" height="350" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<rect><bounds xc="720" y="0" width="8" height="350" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<rect><bounds xc="865" y="0" width="8" height="350" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
|
||||
|
||||
<!-- variation box -->
|
||||
<rect><bounds x="723" y="20" width="145" height="8" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<disk><bounds xc="792.5" yc="90" width="80" height="80" /></disk>
|
||||
@ -179,24 +179,24 @@ license:CC0-1.0
|
||||
<rect><bounds xc="760" yc="105" width="50" height="18" /></rect>
|
||||
<rect><bounds xc="810" yc="130" width="55" height="25" /><color red="0.0" green="0.5" blue="0.5" /></rect>
|
||||
<rect><bounds xc="810" yc="130" width="50" height="18" /></rect>
|
||||
|
||||
|
||||
<!-- song/jamtrack labels -->
|
||||
<rect><bounds x="0" y="342" width="350" height="2" /></rect>
|
||||
<rect><bounds x="435" y="342" width="350" height="2" /></rect>
|
||||
<rect><bounds x="350" y="325" width="83" height="15" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<rect><bounds x="785" y="325" width="83" height="15" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
|
||||
|
||||
<!-- white lines around buttons & song/jamtrack LED -->
|
||||
<rect><bounds xc="930" yc="260" width="70" height="2" /></rect>
|
||||
<rect><bounds x="1200" yc="133" width="120" height="2" /></rect>
|
||||
<rect><bounds x="1365" yc="133" width="80" height="2" /></rect>
|
||||
<rect><bounds x="1470" yc="133" width="80" height="2" /></rect>
|
||||
|
||||
|
||||
<!-- bars underneath OTS/minus one buttons -->
|
||||
<rect><bounds x="1050" y="177" width="50" height="8" /><color red="0.0" green="0.5" blue="0.5" /></rect>
|
||||
<rect><bounds x="1120" y="177" width="200" height="8" /><color red="0.87" green="0.17" blue="0.17" /></rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- keyboard primitives -->
|
||||
<element name="keyfill"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
|
||||
<element name="whitekey" defstate="0">
|
||||
@ -242,18 +242,18 @@ license:CC0-1.0
|
||||
|
||||
<group name="buttons">
|
||||
<bounds x="-5" y="0" width="2608" height="300" />
|
||||
|
||||
|
||||
<element ref="button-back"><bounds x="0" y="0" width="2000" height="500" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="-5" yc="80" width="10" height="110" /></element>
|
||||
<element ref="voice1"><bounds x="10" yc="30" width="300" height="18"></bounds></element>
|
||||
<element ref="voice2"><bounds x="10" yc="55" width="300" height="18"></bounds></element>
|
||||
<element ref="voice3"><bounds x="10" yc="80" width="300" height="18"></bounds></element>
|
||||
<element ref="voice4"><bounds x="10" yc="105" width="300" height="18"></bounds></element>
|
||||
<element ref="voice5"><bounds x="10" yc="130" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY6" inputmask="0x040"><bounds xc="67.5" yc="170" width="130" height="30" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="-5" yc="260" width="10" height="110" /></element>
|
||||
<element ref="song1"><bounds x="10" yc="210" width="300" height="18"></bounds></element>
|
||||
<element ref="song2"><bounds x="10" yc="235" width="300" height="18"></bounds></element>
|
||||
@ -261,16 +261,16 @@ license:CC0-1.0
|
||||
<element ref="song4"><bounds x="10" yc="285" width="300" height="18"></bounds></element>
|
||||
<element ref="song5a"><bounds x="10" yc="303" width="300" height="18"></bounds></element>
|
||||
<element ref="song5b"><bounds x="60" yc="317" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="140" yc="80" width="10" height="110" /></element>
|
||||
<element ref="voice6"><bounds x="155" yc="30" width="300" height="18"></bounds></element>
|
||||
<element ref="voice7"><bounds x="155" yc="55" width="300" height="18"></bounds></element>
|
||||
<element ref="voice8"><bounds x="155" yc="80" width="300" height="18"></bounds></element>
|
||||
<element ref="voice9"><bounds x="155" yc="105" width="300" height="18"></bounds></element>
|
||||
<element ref="voice10"><bounds x="155" yc="130" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY7" inputmask="0x040"><bounds xc="212.5" yc="170" width="130" height="30" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="140" yc="260" width="10" height="110" /></element>
|
||||
<element ref="song6"><bounds x="155" yc="210" width="300" height="18"></bounds></element>
|
||||
<element ref="song7"><bounds x="155" yc="235" width="300" height="18"></bounds></element>
|
||||
@ -278,89 +278,89 @@ license:CC0-1.0
|
||||
<element ref="song9"><bounds x="155" yc="285" width="300" height="18"></bounds></element>
|
||||
<element ref="song10a"><bounds x="155" yc="303" width="300" height="18"></bounds></element>
|
||||
<element ref="song10b"><bounds x="175" yc="317" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="285" yc="80" width="10" height="110" /></element>
|
||||
<element ref="voice11"><bounds x="300" yc="30" width="300" height="18"></bounds></element>
|
||||
<element ref="voice12"><bounds x="300" yc="55" width="300" height="18"></bounds></element>
|
||||
<element ref="voice13"><bounds x="300" yc="80" width="300" height="18"></bounds></element>
|
||||
<element ref="voice14"><bounds x="300" yc="105" width="300" height="18"></bounds></element>
|
||||
<element ref="voice15"><bounds x="300" yc="130" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY8" inputmask="0x040"><bounds xc="357.5" yc="170" width="130" height="30" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="285" yc="260" width="10" height="110" /></element>
|
||||
<element ref="song11"><bounds x="300" yc="210" width="300" height="18"></bounds></element>
|
||||
<element ref="song12"><bounds x="300" yc="235" width="300" height="18"></bounds></element>
|
||||
<element ref="song13"><bounds x="300" yc="260" width="300" height="18"></bounds></element>
|
||||
<element ref="song14"><bounds x="300" yc="285" width="300" height="18"></bounds></element>
|
||||
<element ref="song15"><bounds x="300" yc="310" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="430" yc="80" width="10" height="110" /></element>
|
||||
<element ref="voice16"><bounds x="445" yc="30" width="300" height="18"></bounds></element>
|
||||
<element ref="voice17"><bounds x="445" yc="55" width="300" height="18"></bounds></element>
|
||||
<element ref="voice18"><bounds x="445" yc="80" width="300" height="18"></bounds></element>
|
||||
<element ref="voice19"><bounds x="445" yc="105" width="300" height="18"></bounds></element>
|
||||
<element ref="voice20"><bounds x="445" yc="130" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY9" inputmask="0x040"><bounds xc="502.5" yc="170" width="130" height="30" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="430" yc="260" width="10" height="110" /></element>
|
||||
<element ref="song16"><bounds x="445" yc="210" width="300" height="18"></bounds></element>
|
||||
<element ref="song17"><bounds x="445" yc="235" width="300" height="18"></bounds></element>
|
||||
<element ref="song18"><bounds x="445" yc="260" width="300" height="18"></bounds></element>
|
||||
<element ref="song19"><bounds x="445" yc="285" width="300" height="18"></bounds></element>
|
||||
<element ref="song20"><bounds x="445" yc="310" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="575" yc="80" width="10" height="110" /></element>
|
||||
<element ref="voice21"><bounds x="590" yc="30" width="300" height="18"></bounds></element>
|
||||
<element ref="voice22"><bounds x="590" yc="55" width="300" height="18"></bounds></element>
|
||||
<element ref="voice23"><bounds x="590" yc="80" width="300" height="18"></bounds></element>
|
||||
<element ref="voice24"><bounds x="590" yc="105" width="300" height="18"></bounds></element>
|
||||
<element ref="voice25"><bounds x="590" yc="130" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY10" inputmask="0x040"><bounds xc="647.5" yc="170" width="130" height="30" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="575" yc="260" width="10" height="110" /></element>
|
||||
<element ref="song21"><bounds x="590" yc="210" width="300" height="18"></bounds></element>
|
||||
<element ref="song22"><bounds x="590" yc="235" width="300" height="18"></bounds></element>
|
||||
<element ref="song23"><bounds x="590" yc="260" width="300" height="18"></bounds></element>
|
||||
<element ref="song24"><bounds x="590" yc="285" width="300" height="18"></bounds></element>
|
||||
<element ref="song25"><bounds x="590" yc="310" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY10" inputmask="0x080"><bounds xc="792.5" yc="170" width="130" height="30" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="720" yc="260" width="10" height="110" /></element>
|
||||
<element ref="song26"><bounds x="735" yc="210" width="300" height="18"></bounds></element>
|
||||
<element ref="song27"><bounds x="735" yc="235" width="300" height="18"></bounds></element>
|
||||
<element ref="song28"><bounds x="735" yc="260" width="300" height="18"></bounds></element>
|
||||
<element ref="song29"><bounds x="735" yc="285" width="300" height="18"></bounds></element>
|
||||
<element ref="song30"><bounds x="735" yc="310" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="song_sm"><bounds x="345" y="328" width="83" height="18" /><color red="1.0" green="1.0" blue="1.0" /></element>
|
||||
<element ref="jamtrack_sm"><bounds x="780" y="328" width="83" height="17" /><color red="1.0" green="1.0" blue="1.0" /></element>
|
||||
|
||||
|
||||
<element ref="variation"><bounds xc="792.5" yc="10" width="200" height="18" /></element>
|
||||
<element ref="normal"><bounds xc="765" yc="55" width="200" height="17" /><color red="0.16" green="0.6" blue="0.56" /></element>
|
||||
<element ref="vari3"><bounds xc="825" yc="80" width="200" height="17" /><color red="0.16" green="0.6" blue="0.56" /></element>
|
||||
<element ref="vari1"><bounds xc="760" yc="105" width="200" height="17" /><color red="0.16" green="0.6" blue="0.56" /></element>
|
||||
<element ref="vari2"><bounds xc="810" yc="130" width="200" height="17" /><color red="0.16" green="0.6" blue="0.56" /></element>
|
||||
|
||||
|
||||
<element ref="button-yellow-big" inputtag="KEY8" inputmask="0x080"><bounds xc="965" yc="170" width="60" height="60" /></element>
|
||||
|
||||
|
||||
<element ref="voice"><bounds xc="930" yc="80" width="200" height="32" /></element>
|
||||
<element ref="song"><bounds xc="930" yc="245" width="200" height="32" /></element>
|
||||
<element ref="jam"><bounds xc="930" yc="270" width="200" height="18" /></element>
|
||||
<element ref="track"><bounds xc="930" yc="285" width="200" height="18" /></element>
|
||||
|
||||
|
||||
<element ref="ledg" name="led1"><bounds xc="880" yc="80" width="20" height="20" /></element>
|
||||
<element ref="ledr" name="led0"><bounds xc="880" yc="260" width="20" height="20" /></element>
|
||||
|
||||
|
||||
<element ref="ledr" name="led2"><bounds xc="1036" yc="90" width="20" height="20" /></element>
|
||||
<element ref="one"><bounds x="1050" y="90" width="300" height="18" /></element>
|
||||
<element ref="touch"><bounds x="1050" y="105" width="300" height="18" /></element>
|
||||
<element ref="setting"><bounds x="1050" y="120" width="300" height="18" /></element>
|
||||
<element ref="button-orange" inputtag="KEY6" inputmask="0x080"><bounds x="1050" yc="155" width="50" height="30" /></element>
|
||||
|
||||
|
||||
<element ref="ledr" name="led3"><bounds xc="1106" yc="90" width="20" height="20" /></element>
|
||||
<element ref="minus"><bounds x="1120" y="90" width="300" height="18" /></element>
|
||||
<element ref="one2"><bounds x="1120" y="105" width="300" height="18" /></element>
|
||||
@ -368,14 +368,14 @@ license:CC0-1.0
|
||||
<element ref="start_stop"><bounds xc="1260" y="90" width="300" height="18" /></element>
|
||||
<element ref="button-start-stop" inputtag="KEY9" inputmask="0x080"><bounds x="1200" yc="155" width="120" height="30" /></element>
|
||||
<element ref="song_jamtrack"><bounds xc="1260" y="188" width="200" height="18" /></element>
|
||||
|
||||
|
||||
<element ref="tempo"><bounds xc="1405" y="90" width="300" height="18" /></element>
|
||||
<element ref="button-purple-big" inputtag="KEY6" inputmask="0x100"><bounds x="1365" yc="155" width="80" height="30" /></element>
|
||||
<element ref="button-purple" inputtag="KEY8" inputmask="0x100"><bounds x="1375" yc="205" width="60" height="30" /></element>
|
||||
<element ref="volume"><bounds xc="1510" y="90" width="300" height="18" /></element>
|
||||
<element ref="button-purple-big" inputtag="KEY7" inputmask="0x100"><bounds x="1470" yc="155" width="80" height="30" /></element>
|
||||
<element ref="button-purple" inputtag="KEY9" inputmask="0x100"><bounds x="1480" yc="205" width="60" height="30" /></element>
|
||||
|
||||
|
||||
<element ref="uparrow"><bounds xc="1458" yc="160" width="100" height="18" /></element>
|
||||
<element ref="downarrow"><bounds xc="1458" yc="200" width="100" height="18" /></element>
|
||||
</group>
|
||||
|
@ -63,7 +63,7 @@ license:CC0-1.0
|
||||
<rect state="0"><bounds x="2" y="2" width="96" height="28" /><color red="1.0" green="0.14" blue="0.14" /></rect>
|
||||
<rect state="1"><bounds x="2" y="2" width="96" height="28" /><color red="0.8" green="0.11" blue="0.11" /></rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- keyboard primitives -->
|
||||
<element name="keyfill"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
|
||||
<element name="whitekey" defstate="0">
|
||||
@ -115,7 +115,7 @@ license:CC0-1.0
|
||||
<disk state="2"><bounds xc="-0.4" yc="0" width="0.1" height="0.1" /><color red="1.0" green="1.0" blue="1.0" /></disk>
|
||||
<disk state="1"><bounds xc="-0.27" yc="-0.3" width="0.1" height="0.1" /><color red="1.0" green="1.0" blue="1.0" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- button group -->
|
||||
<group name="keypad">
|
||||
<element ref="border"><bounds x="-30" y="8" width="216" height="144"/></element>
|
||||
@ -129,7 +129,7 @@ license:CC0-1.0
|
||||
<element ref="kp2"><bounds xc="104" yc="36" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY11" inputmask="0x080"><bounds xc="156" y="20" width="32" height="32" /></element>
|
||||
<element ref="kp3"><bounds xc="156" yc="36" width="24" height="18"/></element>
|
||||
|
||||
|
||||
<element ref="button-rect-num" inputtag="KEY10" inputmask="0x400"><bounds xc="0" y="64" width="32" height="32" /></element>
|
||||
<element ref="plus"><bounds xc="0" yc="80" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY10" inputmask="0x200"><bounds xc="52" y="64" width="32" height="32" /></element>
|
||||
@ -138,7 +138,7 @@ license:CC0-1.0
|
||||
<element ref="kp5"><bounds xc="104" yc="80" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY12" inputmask="0x400"><bounds xc="156" y="64" width="32" height="32" /></element>
|
||||
<element ref="kp6"><bounds xc="156" yc="80" width="24" height="18"/></element>
|
||||
|
||||
|
||||
<element ref="button-rect-num" inputtag="KEY9" inputmask="0x400"><bounds xc="0" y="108" width="32" height="32" /></element>
|
||||
<element ref="minus"><bounds xc="0" yc="124" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY10" inputmask="0x100"><bounds xc="52" y="108" width="32" height="32" /></element>
|
||||
@ -165,27 +165,27 @@ license:CC0-1.0
|
||||
<element ref="greyback" inputtag="SWITCH" inputmask="0x02"><bounds xc="2185" yc="142" width="180" height="60" /></element>
|
||||
<element ref="greyback" inputtag="SWITCH" inputmask="0x04"><bounds xc="2185" yc="202" width="180" height="60" /></element>
|
||||
<element ref="dial" name="switch_pos"><bounds xc="2185" yc="142" width="144" height="144" /></element>
|
||||
|
||||
|
||||
<group ref="keypad"><bounds xc="2392" y="70" width="216" height="144"/></group>
|
||||
|
||||
|
||||
<element ref="demo"><bounds xc="2148" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-demo" inputtag="KEY12" inputmask="0x40"><bounds xc="2148" y="250" width="32" height="32" /></element>
|
||||
|
||||
|
||||
<element ref="start_stop"><bounds xc="2232" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-start-stop" inputtag="KEY12" inputmask="0x80"><bounds xc="2232" y="250" width="100" height="32" /></element>
|
||||
|
||||
|
||||
<element ref="tempo"><bounds xc="2340" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY9" inputmask="0x080"><bounds xc="2314" y="250" width="32" height="32" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY9" inputmask="0x100"><bounds xc="2366" y="250" width="32" height="32" /></element>
|
||||
<element ref="volume"><bounds xc="2444" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY9" inputmask="0x200"><bounds xc="2418" y="250" width="32" height="32" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY12" inputmask="0x100"><bounds xc="2470" y="250" width="32" height="32" /></element>
|
||||
|
||||
|
||||
<element ref="button-pad" inputtag="KEY14" inputmask="0x100"><bounds xc="1372" y="250" width="140" height="32" /></element>
|
||||
<element ref="button-pad" inputtag="KEY14" inputmask="0x080"><bounds xc="1532" y="250" width="140" height="32" /></element>
|
||||
<element ref="button-pad" inputtag="KEY14" inputmask="0x040"><bounds xc="1692" y="250" width="140" height="32" /></element>
|
||||
<element ref="button-pad" inputtag="KEY13" inputmask="0x100"><bounds xc="1852" y="250" width="140" height="32" /></element>
|
||||
|
||||
|
||||
<element ref="select"><bounds xc="1984" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY13" inputmask="0x80"><bounds xc="1958" y="250" width="32" height="32" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY13" inputmask="0x40"><bounds xc="2010" y="250" width="32" height="32" /></element>
|
||||
|
@ -63,7 +63,7 @@ license:CC0-1.0
|
||||
<rect state="0"><bounds x="2" y="2" width="96" height="28" /><color red="1.0" green="0.14" blue="0.14" /></rect>
|
||||
<rect state="1"><bounds x="2" y="2" width="96" height="28" /><color red="0.8" green="0.11" blue="0.11" /></rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- keyboard primitives -->
|
||||
<element name="keyfill"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
|
||||
<element name="whitekey" defstate="0">
|
||||
@ -115,7 +115,7 @@ license:CC0-1.0
|
||||
<disk state="2"><bounds xc="-0.4" yc="0" width="0.1" height="0.1" /><color red="1.0" green="1.0" blue="1.0" /></disk>
|
||||
<disk state="1"><bounds xc="-0.27" yc="-0.3" width="0.1" height="0.1" /><color red="1.0" green="1.0" blue="1.0" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- button group -->
|
||||
<group name="keypad">
|
||||
<element ref="border"><bounds x="-30" y="8" width="216" height="144"/></element>
|
||||
@ -129,7 +129,7 @@ license:CC0-1.0
|
||||
<element ref="kp2"><bounds xc="104" yc="36" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY11" inputmask="0x080"><bounds xc="156" y="20" width="32" height="32" /></element>
|
||||
<element ref="kp3"><bounds xc="156" yc="36" width="24" height="18"/></element>
|
||||
|
||||
|
||||
<element ref="button-rect-num" inputtag="KEY10" inputmask="0x400"><bounds xc="0" y="64" width="32" height="32" /></element>
|
||||
<element ref="plus"><bounds xc="0" yc="80" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY10" inputmask="0x200"><bounds xc="52" y="64" width="32" height="32" /></element>
|
||||
@ -138,7 +138,7 @@ license:CC0-1.0
|
||||
<element ref="kp5"><bounds xc="104" yc="80" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY12" inputmask="0x400"><bounds xc="156" y="64" width="32" height="32" /></element>
|
||||
<element ref="kp6"><bounds xc="156" yc="80" width="24" height="18"/></element>
|
||||
|
||||
|
||||
<element ref="button-rect-num" inputtag="KEY9" inputmask="0x400"><bounds xc="0" y="108" width="32" height="32" /></element>
|
||||
<element ref="minus"><bounds xc="0" yc="124" width="24" height="18"/></element>
|
||||
<element ref="button-rect-num" inputtag="KEY10" inputmask="0x100"><bounds xc="52" y="108" width="32" height="32" /></element>
|
||||
@ -165,27 +165,27 @@ license:CC0-1.0
|
||||
<element ref="greyback" inputtag="SWITCH" inputmask="0x02"><bounds xc="2185" yc="142" width="180" height="60" /></element>
|
||||
<element ref="greyback" inputtag="SWITCH" inputmask="0x04"><bounds xc="2185" yc="202" width="180" height="60" /></element>
|
||||
<element ref="dial" name="switch_pos"><bounds xc="2185" yc="142" width="144" height="144" /></element>
|
||||
|
||||
|
||||
<group ref="keypad"><bounds xc="2392" y="70" width="216" height="144"/></group>
|
||||
|
||||
|
||||
<element ref="demo"><bounds xc="2148" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-demo" inputtag="KEY12" inputmask="0x40"><bounds xc="2148" y="250" width="32" height="32" /></element>
|
||||
|
||||
|
||||
<element ref="start_stop"><bounds xc="2232" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-start-stop" inputtag="KEY12" inputmask="0x80"><bounds xc="2232" y="250" width="100" height="32" /></element>
|
||||
|
||||
|
||||
<element ref="tempo"><bounds xc="2340" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY9" inputmask="0x080"><bounds xc="2314" y="250" width="32" height="32" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY9" inputmask="0x100"><bounds xc="2366" y="250" width="32" height="32" /></element>
|
||||
<element ref="volume"><bounds xc="2444" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY9" inputmask="0x200"><bounds xc="2418" y="250" width="32" height="32" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY12" inputmask="0x100"><bounds xc="2470" y="250" width="32" height="32" /></element>
|
||||
|
||||
|
||||
<element ref="button-pad" inputtag="KEY14" inputmask="0x100"><bounds xc="1212" y="250" width="140" height="32" /></element>
|
||||
<element ref="button-pad" inputtag="KEY14" inputmask="0x080"><bounds xc="1382" y="250" width="140" height="32" /></element>
|
||||
<element ref="button-pad" inputtag="KEY14" inputmask="0x040"><bounds xc="1552" y="250" width="140" height="32" /></element>
|
||||
<element ref="button-pad" inputtag="KEY13" inputmask="0x100"><bounds xc="1722" y="250" width="140" height="32" /></element>
|
||||
|
||||
|
||||
<element ref="select"><bounds xc="1864" y="228" width="200" height="15" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY13" inputmask="0x80"><bounds xc="1838" y="250" width="32" height="32" /></element>
|
||||
<element ref="button-rect-num" inputtag="KEY13" inputmask="0x40"><bounds xc="1890" y="250" width="32" height="32" /></element>
|
||||
|
@ -38,7 +38,7 @@ license:CC0-1.0
|
||||
<element name="vari1"><text string="VARI 1" /></element>
|
||||
<element name="vari2"><text string="VARI 2" /></element>
|
||||
<element name="vari3"><text string="VARI 3" /></element>
|
||||
|
||||
|
||||
<element name="voice1"><text string="PIANO" align="1" /></element>
|
||||
<element name="voice2"><text string="E PIANO" align="1" /></element>
|
||||
<element name="voice3"><text string="HARPSICHORD" align="1" /></element>
|
||||
@ -114,7 +114,7 @@ license:CC0-1.0
|
||||
<rect state="0"><bounds x="5" y="5" width="50" height="10" /><color red="0.93" green="0.11" blue="0.14" /></rect>
|
||||
<rect state="1"><bounds x="5" y="5" width="50" height="10" /><color red="0.8" green="0.09" blue="0.13" /></rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- LED primitives -->
|
||||
<element name="ledr" defstate="0">
|
||||
<disk><color red="0.05" green="0.05" blue="0.05" /></disk>
|
||||
@ -126,7 +126,7 @@ license:CC0-1.0
|
||||
<disk state="0"><bounds xc="0.5" yc="0.5" width="0.6" height="0.6" /><color red="0.1" green="0.2" blue="0.1" /></disk>
|
||||
<disk state="1"><bounds xc="0.5" yc="0.5" width="0.6" height="0.6" /><color red="0.1" green="1.0" blue="0.1" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
<element name="bullets">
|
||||
<disk><bounds x="0" y="0" width="10" height="10" /><color red="0.1" green="0.1" blue="0.1" /></disk>
|
||||
<disk><bounds x="0" y="25" width="10" height="10" /><color red="0.1" green="0.1" blue="0.1" /></disk>
|
||||
@ -134,12 +134,12 @@ license:CC0-1.0
|
||||
<disk><bounds x="0" y="75" width="10" height="10" /><color red="0.1" green="0.1" blue="0.1" /></disk>
|
||||
<disk><bounds x="0" y="100" width="10" height="10" /><color red="0.1" green="0.1" blue="0.1" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
<element name="button-back">
|
||||
<rect><bounds x="0" y="0" width="1045" height="300" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<rect><bounds x="0" y="0" width="1025" height="140" /><color red="0.29" green="0.38" blue="0.82" /></rect>
|
||||
<rect><bounds x="0" y="150" width="1025" height="140" /><color red="0.93" green="0.11" blue="0.14" /></rect>
|
||||
|
||||
|
||||
<!-- dividers -->
|
||||
<rect><bounds xc="140" y="0" width="8" height="300" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<rect><bounds xc="285" y="0" width="8" height="300" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
@ -147,7 +147,7 @@ license:CC0-1.0
|
||||
<rect><bounds xc="575" y="0" width="8" height="300" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<rect><bounds xc="720" y="0" width="8" height="300" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<rect><bounds xc="865" y="0" width="8" height="300" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
|
||||
|
||||
<!-- variation box -->
|
||||
<rect><bounds x="723" y="20" width="145" height="8" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<disk><bounds xc="792.5" yc="80" width="80" height="80" /></disk>
|
||||
@ -160,18 +160,18 @@ license:CC0-1.0
|
||||
<rect><bounds xc="760" yc="95" width="50" height="18" /></rect>
|
||||
<rect><bounds xc="810" yc="120" width="55" height="25" /><color red="0.29" green="0.38" blue="0.82" /></rect>
|
||||
<rect><bounds xc="810" yc="120" width="50" height="18" /></rect>
|
||||
|
||||
|
||||
<!-- song/jamtrack labels -->
|
||||
<rect><bounds x="0" y="292" width="365" height="2" /></rect>
|
||||
<rect><bounds x="435" y="292" width="365" height="2" /></rect>
|
||||
<rect><bounds x="365" y="270" width="68" height="20" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
<rect><bounds x="800" y="270" width="68" height="20" /><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
|
||||
|
||||
<!-- white lines around buttons & song/jamtrack LED -->
|
||||
<rect><bounds xc="925" yc="236" width="90" height="2" /></rect>
|
||||
<rect><bounds x="1050" yc="160" width="140" height="2" /></rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- keyboard primitives -->
|
||||
<element name="keyfill"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
|
||||
<element name="whitekey" defstate="0">
|
||||
@ -217,18 +217,18 @@ license:CC0-1.0
|
||||
|
||||
<group name="buttons">
|
||||
<bounds x="-5" y="0" width="2608" height="300" />
|
||||
|
||||
|
||||
<element ref="button-back"><bounds x="0" y="0" width="1190" height="300" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="-5" yc="70" width="10" height="110" /></element>
|
||||
<element ref="voice1"><bounds x="10" yc="20" width="300" height="18"></bounds></element>
|
||||
<element ref="voice2"><bounds x="10" yc="45" width="300" height="18"></bounds></element>
|
||||
<element ref="voice3"><bounds x="10" yc="70" width="300" height="18"></bounds></element>
|
||||
<element ref="voice4"><bounds x="10" yc="95" width="300" height="18"></bounds></element>
|
||||
<element ref="voice5"><bounds x="10" yc="120" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY7" inputmask="0x08"><bounds xc="67.5" yc="145" width="60" height="20" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="-5" yc="220" width="10" height="110" /></element>
|
||||
<element ref="song1"><bounds x="10" yc="170" width="300" height="18"></bounds></element>
|
||||
<element ref="song2"><bounds x="10" yc="195" width="300" height="18"></bounds></element>
|
||||
@ -236,16 +236,16 @@ license:CC0-1.0
|
||||
<element ref="song4"><bounds x="10" yc="245" width="300" height="18"></bounds></element>
|
||||
<element ref="song5a"><bounds x="10" yc="263" width="300" height="18"></bounds></element>
|
||||
<element ref="song5b"><bounds x="60" yc="277" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="140" yc="70" width="10" height="110" /></element>
|
||||
<element ref="voice6"><bounds x="155" yc="20" width="300" height="18"></bounds></element>
|
||||
<element ref="voice7"><bounds x="155" yc="45" width="300" height="18"></bounds></element>
|
||||
<element ref="voice8"><bounds x="155" yc="70" width="300" height="18"></bounds></element>
|
||||
<element ref="voice9"><bounds x="155" yc="95" width="300" height="18"></bounds></element>
|
||||
<element ref="voice10"><bounds x="155" yc="120" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY5" inputmask="0x08"><bounds xc="212.5" yc="145" width="60" height="20" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="140" yc="220" width="10" height="110" /></element>
|
||||
<element ref="song6"><bounds x="155" yc="170" width="300" height="18"></bounds></element>
|
||||
<element ref="song7"><bounds x="155" yc="195" width="300" height="18"></bounds></element>
|
||||
@ -253,83 +253,83 @@ license:CC0-1.0
|
||||
<element ref="song9"><bounds x="155" yc="245" width="300" height="18"></bounds></element>
|
||||
<element ref="song10a"><bounds x="155" yc="263" width="300" height="18"></bounds></element>
|
||||
<element ref="song10b"><bounds x="175" yc="277" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="285" yc="70" width="10" height="110" /></element>
|
||||
<element ref="voice11"><bounds x="300" yc="20" width="300" height="18"></bounds></element>
|
||||
<element ref="voice12"><bounds x="300" yc="45" width="300" height="18"></bounds></element>
|
||||
<element ref="voice13"><bounds x="300" yc="70" width="300" height="18"></bounds></element>
|
||||
<element ref="voice14"><bounds x="300" yc="95" width="300" height="18"></bounds></element>
|
||||
<element ref="voice15"><bounds x="300" yc="120" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY6" inputmask="0x08"><bounds xc="357.5" yc="145" width="60" height="20" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="285" yc="220" width="10" height="110" /></element>
|
||||
<element ref="song11"><bounds x="300" yc="170" width="300" height="18"></bounds></element>
|
||||
<element ref="song12"><bounds x="300" yc="195" width="300" height="18"></bounds></element>
|
||||
<element ref="song13"><bounds x="300" yc="220" width="300" height="18"></bounds></element>
|
||||
<element ref="song14"><bounds x="300" yc="245" width="300" height="18"></bounds></element>
|
||||
<element ref="song15"><bounds x="300" yc="270" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="430" yc="70" width="10" height="110" /></element>
|
||||
<element ref="voice16"><bounds x="445" yc="20" width="300" height="18"></bounds></element>
|
||||
<element ref="voice17"><bounds x="445" yc="45" width="300" height="18"></bounds></element>
|
||||
<element ref="voice18"><bounds x="445" yc="70" width="300" height="18"></bounds></element>
|
||||
<element ref="voice19"><bounds x="445" yc="95" width="300" height="18"></bounds></element>
|
||||
<element ref="voice20"><bounds x="445" yc="120" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY7" inputmask="0x04"><bounds xc="502.5" yc="145" width="60" height="20" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="430" yc="220" width="10" height="110" /></element>
|
||||
<element ref="song16"><bounds x="445" yc="170" width="300" height="18"></bounds></element>
|
||||
<element ref="song17"><bounds x="445" yc="195" width="300" height="18"></bounds></element>
|
||||
<element ref="song18"><bounds x="445" yc="220" width="300" height="18"></bounds></element>
|
||||
<element ref="song19"><bounds x="445" yc="245" width="300" height="18"></bounds></element>
|
||||
<element ref="song20"><bounds x="445" yc="270" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="575" yc="70" width="10" height="110" /></element>
|
||||
<element ref="voice21"><bounds x="590" yc="20" width="300" height="18"></bounds></element>
|
||||
<element ref="voice22"><bounds x="590" yc="45" width="300" height="18"></bounds></element>
|
||||
<element ref="voice23"><bounds x="590" yc="70" width="300" height="18"></bounds></element>
|
||||
<element ref="voice24"><bounds x="590" yc="95" width="300" height="18"></bounds></element>
|
||||
<element ref="voice25"><bounds x="590" yc="120" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY6" inputmask="0x04"><bounds xc="647.5" yc="145" width="60" height="20" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="575" yc="220" width="10" height="110" /></element>
|
||||
<element ref="song21"><bounds x="590" yc="170" width="300" height="18"></bounds></element>
|
||||
<element ref="song22"><bounds x="590" yc="195" width="300" height="18"></bounds></element>
|
||||
<element ref="song23"><bounds x="590" yc="220" width="300" height="18"></bounds></element>
|
||||
<element ref="song24"><bounds x="590" yc="245" width="300" height="18"></bounds></element>
|
||||
<element ref="song25"><bounds x="590" yc="270" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY5" inputmask="0x04"><bounds xc="792.5" yc="145" width="60" height="20" /></element>
|
||||
|
||||
|
||||
<element ref="bullets"><bounds x="720" yc="220" width="10" height="110" /></element>
|
||||
<element ref="song26"><bounds x="735" yc="170" width="300" height="18"></bounds></element>
|
||||
<element ref="song27"><bounds x="735" yc="195" width="300" height="18"></bounds></element>
|
||||
<element ref="song28"><bounds x="735" yc="220" width="300" height="18"></bounds></element>
|
||||
<element ref="song29"><bounds x="735" yc="245" width="300" height="18"></bounds></element>
|
||||
<element ref="song30"><bounds x="735" yc="270" width="300" height="18"></bounds></element>
|
||||
|
||||
|
||||
<element ref="song_sm"><bounds x="365" y="278" width="60" height="18" /><color red="1.0" green="1.0" blue="1.0" /></element>
|
||||
<element ref="jam_sm"><bounds x="800" y="270" width="60" height="15" /><color red="1.0" green="1.0" blue="1.0" /></element>
|
||||
<element ref="track_sm"><bounds x="800" y="280" width="60" height="15" /><color red="1.0" green="1.0" blue="1.0" /></element>
|
||||
|
||||
|
||||
<element ref="variation"><bounds xc="792.5" yc="10" width="200" height="18" /></element>
|
||||
<element ref="normal"><bounds xc="765" yc="45" width="200" height="17" /><color red="0.29" green="0.38" blue="0.82" /></element>
|
||||
<element ref="vari3"><bounds xc="825" yc="70" width="200" height="17" /><color red="0.29" green="0.38" blue="0.82" /></element>
|
||||
<element ref="vari1"><bounds xc="760" yc="95" width="200" height="17" /><color red="0.29" green="0.38" blue="0.82" /></element>
|
||||
<element ref="vari2"><bounds xc="810" yc="120" width="200" height="17" /><color red="0.29" green="0.38" blue="0.82" /></element>
|
||||
|
||||
|
||||
<element ref="button-yellow" inputtag="KEY6" inputmask="0x10"><bounds xc="1000" yc="145" width="60" height="20" /></element>
|
||||
|
||||
|
||||
<element ref="voice"><bounds xc="925" yc="70" width="200" height="32" /></element>
|
||||
<element ref="song"><bounds xc="925" yc="220" width="200" height="32" /></element>
|
||||
<element ref="jamtrack"><bounds xc="925" yc="248" width="200" height="22" /></element>
|
||||
|
||||
|
||||
<element ref="ledg" name="led1"><bounds xc="900" yc="115" width="20" height="20" /></element>
|
||||
<element ref="ledr" name="led0"><bounds xc="900" yc="175" width="20" height="20" /></element>
|
||||
|
||||
|
||||
<element ref="minus"><bounds x="1052" y="98" width="300" height="18" /></element>
|
||||
<element ref="one"><bounds x="1052" y="113" width="300" height="18" /></element>
|
||||
<element ref="button-purple" inputtag="KEY7" inputmask="0x10"><bounds xc="1080" yc="145" width="60" height="20" /></element>
|
||||
@ -337,7 +337,7 @@ license:CC0-1.0
|
||||
<element ref="stop"><bounds xc="1160" y="113" width="300" height="18" /></element>
|
||||
<element ref="button-start-stop" inputtag="KEY5" inputmask="0x10"><bounds xc="1160" yc="145" width="60" height="20" /></element>
|
||||
<element ref="song_jamtrack"><bounds xc="1120" y="165" width="300" height="18" /></element>
|
||||
|
||||
|
||||
<element ref="tempo"><bounds xc="1240" y="98" width="300" height="18" /></element>
|
||||
<element ref="button-purple" inputtag="KEY5" inputmask="0x20"><bounds xc="1240" yc="145" width="60" height="20" /></element>
|
||||
<element ref="volume"><bounds xc="1320" y="98" width="300" height="18" /></element>
|
||||
|
@ -56,8 +56,8 @@ Notes:
|
||||
CN5 - cassette connector
|
||||
CN6 - keyboard connector
|
||||
SW1 - reset switch
|
||||
SB1 - solder bridge for A11/CS1 to ROM1/ROM3
|
||||
SB2 - solder bridge for A11/CS1 to ROM0/ROM2
|
||||
SB1 - solder bridge for A11/CS1 to ROM1/ROM3
|
||||
SB2 - solder bridge for A11/CS1 to ROM0/ROM2
|
||||
|
||||
|
||||
Calculate ROM checksum:
|
||||
@ -111,8 +111,8 @@ PCB Layout
|
||||
Notes:
|
||||
All IC's shown.
|
||||
|
||||
PROM0 - MMI 63S141N 512x4 TTL Bipolar PROM
|
||||
ROM4 - 4Kx8 EPROM "TKN80-III"
|
||||
PROM0 - MMI 63S141N 512x4 TTL Bipolar PROM
|
||||
ROM4 - 4Kx8 EPROM "TKN80-III"
|
||||
6116 - Hitachi HM6116P-4 2Kx8 Static RAM
|
||||
|
||||
|
||||
@ -133,9 +133,9 @@ Switch to 80 column mode:
|
||||
- PWM sound in ABC-klubben/abc80/grafik/flagga.bac
|
||||
- proper keyboard controller emulation
|
||||
- GeJo 80-column card
|
||||
- 64K RAM expansions
|
||||
- Mikrodatorn
|
||||
- MYAB UNI-80
|
||||
- 64K RAM expansions
|
||||
- Mikrodatorn
|
||||
- MYAB UNI-80
|
||||
- Metric ABC CAD 1000
|
||||
|
||||
*/
|
||||
@ -192,10 +192,10 @@ u8 tkn80_state::read(offs_t offset)
|
||||
{
|
||||
/*
|
||||
|
||||
TKN 000-3ff -> ZA3506 000-3ff (9913/10042)
|
||||
TKN 400-7ff -> ZA3507 000-3ff (9913/10042)
|
||||
TKN 800-cff -> ZA3506 000-3ff (11273)
|
||||
TKN c00-FFF -> ZA3507 000-3ff (11273)
|
||||
TKN 000-3ff -> ZA3506 000-3ff (9913/10042)
|
||||
TKN 400-7ff -> ZA3507 000-3ff (9913/10042)
|
||||
TKN 800-cff -> ZA3506 000-3ff (11273)
|
||||
TKN c00-FFF -> ZA3507 000-3ff (11273)
|
||||
|
||||
*/
|
||||
|
||||
@ -766,7 +766,7 @@ void abc80_state::abc80(machine_config &config)
|
||||
void tkn80_state::tkn80(machine_config &config)
|
||||
{
|
||||
abc80_state::abc80_common(config);
|
||||
|
||||
|
||||
// basic machine hardware
|
||||
m_maincpu->set_addrmap(AS_IO, &tkn80_state::tkn80_io);
|
||||
|
||||
|
@ -16,7 +16,7 @@ void tkn80_state::set_screen_params(void)
|
||||
{
|
||||
m_screen->set_raw(XTAL(11'980'800), ABC80_HTOTAL*2, ABC80_HBEND*2, ABC80_HBSTART*2, ABC80_VTOTAL, ABC80_VBEND, ABC80_VBSTART);
|
||||
m_scanline_timer->adjust(m_screen->time_until_pos(0, ABC80_HBEND*2), 0, m_screen->scan_period());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_screen->set_raw(XTAL(11'980'800)/2, ABC80_HTOTAL, ABC80_HBEND, ABC80_HBSTART, ABC80_VTOTAL, ABC80_VBEND, ABC80_VBSTART);
|
||||
@ -33,7 +33,7 @@ uint8_t tkn80_state::in3_r()
|
||||
set_screen_params();
|
||||
}
|
||||
|
||||
return 0xff;
|
||||
return 0xff;
|
||||
};
|
||||
|
||||
uint8_t tkn80_state::in4_r()
|
||||
@ -196,12 +196,12 @@ offs_t abc80_state::get_videoram_addr()
|
||||
{
|
||||
/*
|
||||
|
||||
Video RAM Addressing Scheme
|
||||
Video RAM Addressing Scheme
|
||||
|
||||
A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
|
||||
R2 R1 R0 xx xx xx xx C2 C1 C0
|
||||
A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
|
||||
R2 R1 R0 xx xx xx xx C2 C1 C0
|
||||
|
||||
A6 A5 A4 A3 = 00 C5 C4 C3 + R4 R3 R4 R3
|
||||
A6 A5 A4 A3 = 00 C5 C4 C3 + R4 R3 R4 R3
|
||||
|
||||
*/
|
||||
|
||||
@ -218,15 +218,15 @@ offs_t tkn80_state::get_videoram_addr()
|
||||
{
|
||||
/*
|
||||
|
||||
Video RAM Addressing Scheme
|
||||
Video RAM Addressing Scheme
|
||||
|
||||
A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
|
||||
R2 R1 R0 xx xx xx xx C3 C2 C1 C0
|
||||
A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
|
||||
R2 R1 R0 xx xx xx xx C3 C2 C1 C0
|
||||
|
||||
A7 A6 A5 A4 = 00 C6 C5 C4 + R4 R3 R4 R3
|
||||
A7 A6 A5 A4 = 00 C6 C5 C4 + R4 R3 R4 R3
|
||||
|
||||
*/
|
||||
|
||||
|
||||
int a = (m_c >> 4) & 0x07;
|
||||
int b = ((m_r >> 1) & 0x0c) | ((m_r >> 3) & 0x03);
|
||||
int s = (a + b) & 0x1f;
|
||||
@ -237,12 +237,12 @@ offs_t tkn80_state::get_videoram_addr()
|
||||
{
|
||||
/*
|
||||
|
||||
Video RAM Addressing Scheme
|
||||
Video RAM Addressing Scheme
|
||||
|
||||
A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
|
||||
1 R2 R1 R0 xx xx xx xx C2 C1 C0
|
||||
A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
|
||||
1 R2 R1 R0 xx xx xx xx C2 C1 C0
|
||||
|
||||
A6 A5 A4 A3 = 00 C5 C4 C3 + R4 R3 R4 R3
|
||||
A6 A5 A4 A3 = 00 C5 C4 C3 + R4 R3 R4 R3
|
||||
|
||||
*/
|
||||
|
||||
|
@ -256,8 +256,8 @@ void csplayh5_state::csplayh5_sub_io_map(address_map &map)
|
||||
{
|
||||
map(h8_device::PORT_A, h8_device::PORT_A).w (FUNC(csplayh5_state::pa_w));
|
||||
map(h8_device::PORT_B, h8_device::PORT_B).rw(FUNC(csplayh5_state::pb_r), FUNC(csplayh5_state::pb_w));
|
||||
// map(h8_device::PORT_6, h8_device::PORT_6).noprw();
|
||||
// map(h8_device::PORT_A, h8_device::PORT_A).nopw();
|
||||
// map(h8_device::PORT_6, h8_device::PORT_6).noprw();
|
||||
// map(h8_device::PORT_A, h8_device::PORT_A).nopw();
|
||||
}
|
||||
|
||||
|
||||
@ -412,17 +412,17 @@ void csplayh5_state::machine_reset()
|
||||
{
|
||||
m_p5 = 0;
|
||||
m_pa = 0;
|
||||
m_pb = 0;
|
||||
m_pb = 0;
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(csplayh5_state::ata_irq)
|
||||
{
|
||||
// logerror("ata irq %d\n", state);
|
||||
// logerror("ata irq %d\n", state);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(csplayh5_state::ata_drq)
|
||||
{
|
||||
// logerror("ata drq %d\n", state);
|
||||
// logerror("ata drq %d\n", state);
|
||||
m_pb = (m_pb & 0x7f) | (state ? 0x00 : 0x80);
|
||||
}
|
||||
|
||||
@ -459,7 +459,7 @@ void csplayh5_state::csplayh5(machine_config &config)
|
||||
m_ata->irq_handler().set(FUNC(csplayh5_state::ata_irq));
|
||||
m_ata->dmarq_handler().set(FUNC(csplayh5_state::ata_drq));
|
||||
|
||||
// NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
// NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
/* video hardware */
|
||||
v9958_device &v9958(V9958(config, "v9958", XTAL(21'477'272))); // typical 9958 clock, not verified
|
||||
@ -585,7 +585,7 @@ ROM_START( junai )
|
||||
|
||||
DISK_REGION( "ata:0:cdrom" )
|
||||
DISK_IMAGE_READONLY( "junai", 0, SHA1(0491533e0ce3e4d2af608ea0b9d9646316b512bd) )
|
||||
// DISK_IMAGE_READONLY( "junai", 0, SHA1(282cc528ff175ac55f1545481ca1c40377cf9347) )
|
||||
// DISK_IMAGE_READONLY( "junai", 0, SHA1(282cc528ff175ac55f1545481ca1c40377cf9347) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( csplayh5 )
|
||||
|
@ -220,7 +220,7 @@ void telestrat_state::telestrat_mem(address_map &map)
|
||||
map(0x0318, 0x0318).r(FUNC(telestrat_state::port_318_r));
|
||||
map(0x031c, 0x031f).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write));
|
||||
map(0x0320, 0x032f).m(m_via2, FUNC(via6522_device::map));
|
||||
|
||||
|
||||
// Theorically, these are cartridges. There's no real point to
|
||||
// making them configurable, when only 4 existed and there are 7
|
||||
// slots.
|
||||
|
Loading…
Reference in New Issue
Block a user