srcclean in preparation for release

This commit is contained in:
Vas Crabb 2023-04-23 02:01:48 +10:00
parent ece46894f8
commit bcddfc2523
31 changed files with 223 additions and 219 deletions

View File

@ -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>

View File

@ -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">
<!--

View File

@ -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>

View File

@ -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"/>

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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)

View File

@ -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");

View File

@ -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);

View File

@ -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)

View File

@ -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;
}

View File

@ -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) {

View File

@ -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.

View File

@ -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

View File

@ -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;

View File

@ -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)];
}

View File

@ -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);

View File

@ -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);

View File

@ -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");

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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);

View File

@ -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
*/

View File

@ -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 )

View File

@ -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.