srcclean and cleanup

This commit is contained in:
Vas Crabb 2024-05-26 07:39:22 +10:00
parent d2d85d3951
commit 7e52678a2c
43 changed files with 308 additions and 304 deletions

View File

@ -11,7 +11,7 @@ license:CC0-1.0
<publisher>Telercas</publisher>
<info name="usage" value="W, RUN" />
<part name="quik" interface="tmc600_quik">
<part name="quik" interface="tmc600_quik">
<dataarea name="quik" size="4672">
<rom name="demo.tmc600" size="4672" crc="fce7ad03" sha1="fada958bb9648619eb5ce04dc4c829091e34b665"/>
</dataarea>
@ -24,7 +24,7 @@ license:CC0-1.0
<publisher>Telercas</publisher>
<info name="usage" value="W, RUN" />
<part name="quik" interface="tmc600_quik">
<part name="quik" interface="tmc600_quik">
<dataarea name="quik" size="2025">
<rom name="demo2.tmc600" size="2025" crc="592e97c7" sha1="8f92f0dd7aee3b3aae56a06a4117796ff4643811"/>
</dataarea>
@ -37,7 +37,7 @@ license:CC0-1.0
<publisher>Telercas</publisher>
<info name="usage" value="W, RUN" />
<part name="quik" interface="tmc600_quik">
<part name="quik" interface="tmc600_quik">
<dataarea name="quik" size="817">
<rom name="snoopy.tmc600" size="817" crc="884976b0" sha1="0c2dc1a0fef94ac359313414b43a281b909bc7f2"/>
</dataarea>

View File

@ -1631,7 +1631,7 @@ tests: $(REGTESTS)
cleansrc:
@echo Cleaning up tabs/spaces/end of lines....
ifeq (posix,$(SHELLTYPE))
$(SILENT) find src \( \
$(SILENT)- find src \( \
-name \*.c -o -name \*.cpp -o \
-name \*.h -o -name \*.hpp -o -name \*.hxx -o \
-name \*.ipp -o \
@ -1639,10 +1639,10 @@ ifeq (posix,$(SHELLTYPE))
-name \*.lay -o \
-name \*.lst \
\) -print0 | xargs -0 -n 20 ./srcclean >&2
$(SILENT) find hash \( -name \*.hsi -o -name \*.xml \) -print0 | xargs -0 -n 20 ./srcclean >&2
$(SILENT) find bgfx \( -name \*.json \) -print0 | xargs -0 -n 20 ./srcclean >&2
$(SILENT) find plugins \( -name \*.lua -o -name \*.json \) -print0 | xargs -0 -n 20 ./srcclean >&2
$(SILENT) find scripts \( -name \*.lua \) -print0 | xargs -0 -n 20 ./srcclean >&2
$(SILENT)- find hash \( -name \*.hsi -o -name \*.xml \) -print0 | xargs -0 -n 20 ./srcclean >&2
$(SILENT)- find bgfx \( -name \*.json \) -print0 | xargs -0 -n 20 ./srcclean >&2
$(SILENT)- find plugins \( -name \*.lua -o -name \*.json \) -print0 | xargs -0 -n 20 ./srcclean >&2
$(SILENT)- find scripts \( -name \*.lua \) -print0 | xargs -0 -n 20 ./srcclean >&2
else
$(shell for /r src %%i in (*.c, *.cpp, *.h, *.hpp, *.hxx, *.ipp, *.mm, *.lay, *.lst) do srcclean %%i >&2 )
$(shell for /r hash %%i in (*.hsi, *.xml) do srcclean %%i >&2 )

View File

@ -61,7 +61,7 @@ void msx_cart_franky_device::device_add_mconfig(machine_config &config)
m_vdp->set_is_pal(false);
m_vdp->n_int().set(*this, FUNC(msx_cart_franky_device::irq_out));
// There is no NMI signal on the cartridge slot, so no way to hook this up
// m_vdp->n_nmi().set_inputline(maincpu, INPUT_LINE_NMI);
//m_vdp->n_nmi().set_inputline(maincpu, INPUT_LINE_NMI);
m_vdp->add_route(ALL_OUTPUTS, "franky", 1.00);
}

View File

@ -14,18 +14,18 @@
namespace {
ROM_START( teletex800 )
ROM_REGION( 0x1000, "z80", 0 )
ROM_LOAD( "ix44_ver1.1.u57", 0x0000, 0x1000, CRC(5c11b89c) SHA1(4911332709a8dcda12e72bcdf7a0acd58d65cbfd) )
ROM_REGION( 0x1000, "z80", 0 )
ROM_LOAD( "ix44_ver1.1.u57", 0x0000, 0x1000, CRC(5c11b89c) SHA1(4911332709a8dcda12e72bcdf7a0acd58d65cbfd) )
ROM_END
static const z80_daisy_config z80_daisy_chain[] =
{
{ nullptr }
{ nullptr }
};
static void printer_devices(device_slot_interface &device)
{
device.option_add("printer", SERIAL_PRINTER);
device.option_add("printer", SERIAL_PRINTER);
}
static INPUT_PORTS_START( teletex800 )
@ -34,47 +34,47 @@ INPUT_PORTS_END
class teletex_800_device : public device_t, public device_rs232_port_interface
{
public:
teletex_800_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, TELETEX_800, tag, owner, clock),
teletex_800_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, TELETEX_800, tag, owner, clock),
device_rs232_port_interface(mconfig, *this),
m_maincpu(*this, "z80"),
m_ctc(*this, "ctc"),
m_sio(*this, "sio"),
m_acia(*this, "acia"),
m_pia(*this, "pia"),
m_pia_cp(*this, "pia_cp")
m_maincpu(*this, "z80"),
m_ctc(*this, "ctc"),
m_sio(*this, "sio"),
m_acia(*this, "acia"),
m_pia(*this, "pia"),
m_pia_cp(*this, "pia_cp")
{
}
protected:
virtual const tiny_rom_entry *device_rom_region() const override
{
return ROM_NAME( teletex800 );
}
{
return ROM_NAME( teletex800 );
}
virtual void device_add_mconfig(machine_config &config) override
{
// main board
Z80(config, m_maincpu, XTAL(4'915'200));
m_maincpu->set_daisy_config(z80_daisy_chain);
m_maincpu->set_addrmap(AS_PROGRAM, &teletex_800_device::program_map);
m_maincpu->set_addrmap(AS_IO, &teletex_800_device::io_map);
virtual void device_add_mconfig(machine_config &config) override
{
// main board
Z80(config, m_maincpu, XTAL(4'915'200));
m_maincpu->set_daisy_config(z80_daisy_chain);
m_maincpu->set_addrmap(AS_PROGRAM, &teletex_800_device::program_map);
m_maincpu->set_addrmap(AS_IO, &teletex_800_device::io_map);
Z80CTC(config, m_ctc, XTAL(4'915'200));
Z80SIO(config, m_sio, XTAL(4'915'200));
ACIA6850(config, m_acia);
PIA6821(config, m_pia);
Z80CTC(config, m_ctc, XTAL(4'915'200));
Z80SIO(config, m_sio, XTAL(4'915'200));
ACIA6850(config, m_acia);
PIA6821(config, m_pia);
RS232_PORT(config, "printer", printer_devices, "printer");
RS232_PORT(config, "printer", printer_devices, "printer");
// control panel
PIA6821(config, m_pia_cp);
}
// control panel
PIA6821(config, m_pia_cp);
}
virtual ioport_constructor device_input_ports() const override
{
return INPUT_PORTS_NAME( teletex800 );
}
{
return INPUT_PORTS_NAME( teletex800 );
}
virtual void device_start() override
{
@ -82,20 +82,20 @@ protected:
private:
required_device<z80_device> m_maincpu;
required_device<z80ctc_device> m_ctc;
required_device<z80sio_device> m_sio;
required_device<acia6850_device> m_acia;
required_device<z80ctc_device> m_ctc;
required_device<z80sio_device> m_sio;
required_device<acia6850_device> m_acia;
required_device<pia6821_device> m_pia;
required_device<pia6821_device> m_pia_cp;
void program_map(address_map &map)
{
map(0x0000, 0x0fff).rom().region("z80", 0);
}
void program_map(address_map &map)
{
map(0x0000, 0x0fff).rom().region("z80", 0);
}
void io_map(address_map &map)
{
}
void io_map(address_map &map)
{
}
};
} // anonymous namespace

View File

@ -297,7 +297,7 @@ u8 h8h_intc_device::isr_r()
void h8h_intc_device::isr_w(u8 data)
{
m_isr &= data; // edge/level
// logerror("isr = %02x / %02x\n", data, m_isr);
//logerror("isr = %02x / %02x\n", data, m_isr);
check_level_irqs(false);
update_irq_state();
}

View File

@ -64,7 +64,7 @@ int mipsx_disassembler::get_sh_amount(int shift)
}
static const char *regnames[32] = { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15"
"r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31" };
"r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31" };
const char *mipsx_disassembler::get_regname(u8 reg)
{

View File

@ -301,50 +301,50 @@ void sh7042_device::device_add_mconfig(machine_config &config)
SH_DMAC_CHANNEL(config, m_dmac3, *this, m_intc);
SH_MTU(config, m_mtu, *this, 5);
SH_MTU_CHANNEL(config, m_mtu0, *this, 4, 0x60, m_intc, 88,
sh_mtu_channel_device::DIV_1,
sh_mtu_channel_device::DIV_4,
sh_mtu_channel_device::DIV_16,
sh_mtu_channel_device::DIV_64,
sh_mtu_channel_device::INPUT_A,
sh_mtu_channel_device::INPUT_B,
sh_mtu_channel_device::INPUT_C,
sh_mtu_channel_device::INPUT_D);
sh_mtu_channel_device::DIV_1,
sh_mtu_channel_device::DIV_4,
sh_mtu_channel_device::DIV_16,
sh_mtu_channel_device::DIV_64,
sh_mtu_channel_device::INPUT_A,
sh_mtu_channel_device::INPUT_B,
sh_mtu_channel_device::INPUT_C,
sh_mtu_channel_device::INPUT_D);
SH_MTU_CHANNEL(config, m_mtu1, *this, 2, 0x4c, m_intc, 96,
sh_mtu_channel_device::DIV_1,
sh_mtu_channel_device::DIV_4,
sh_mtu_channel_device::DIV_16,
sh_mtu_channel_device::DIV_64,
sh_mtu_channel_device::INPUT_A,
sh_mtu_channel_device::INPUT_B,
sh_mtu_channel_device::DIV_256,
sh_mtu_channel_device::CHAIN).set_chain(m_mtu2);
sh_mtu_channel_device::DIV_1,
sh_mtu_channel_device::DIV_4,
sh_mtu_channel_device::DIV_16,
sh_mtu_channel_device::DIV_64,
sh_mtu_channel_device::INPUT_A,
sh_mtu_channel_device::INPUT_B,
sh_mtu_channel_device::DIV_256,
sh_mtu_channel_device::CHAIN).set_chain(m_mtu2);
SH_MTU_CHANNEL(config, m_mtu2, *this, 2, 0x4c, m_intc, 104,
sh_mtu_channel_device::DIV_1,
sh_mtu_channel_device::DIV_4,
sh_mtu_channel_device::DIV_16,
sh_mtu_channel_device::DIV_64,
sh_mtu_channel_device::INPUT_A,
sh_mtu_channel_device::INPUT_B,
sh_mtu_channel_device::INPUT_C,
sh_mtu_channel_device::DIV_1024);
sh_mtu_channel_device::DIV_1,
sh_mtu_channel_device::DIV_4,
sh_mtu_channel_device::DIV_16,
sh_mtu_channel_device::DIV_64,
sh_mtu_channel_device::INPUT_A,
sh_mtu_channel_device::INPUT_B,
sh_mtu_channel_device::INPUT_C,
sh_mtu_channel_device::DIV_1024);
SH_MTU_CHANNEL(config, m_mtu3, *this, 4, 0x60, m_intc, 112,
sh_mtu_channel_device::DIV_1,
sh_mtu_channel_device::DIV_4,
sh_mtu_channel_device::DIV_16,
sh_mtu_channel_device::DIV_64,
sh_mtu_channel_device::DIV_256,
sh_mtu_channel_device::DIV_1024,
sh_mtu_channel_device::INPUT_A,
sh_mtu_channel_device::INPUT_B);
sh_mtu_channel_device::DIV_1,
sh_mtu_channel_device::DIV_4,
sh_mtu_channel_device::DIV_16,
sh_mtu_channel_device::DIV_64,
sh_mtu_channel_device::DIV_256,
sh_mtu_channel_device::DIV_1024,
sh_mtu_channel_device::INPUT_A,
sh_mtu_channel_device::INPUT_B);
SH_MTU_CHANNEL(config, m_mtu4, *this, 4, 0x60, m_intc, 120,
sh_mtu_channel_device::DIV_1,
sh_mtu_channel_device::DIV_4,
sh_mtu_channel_device::DIV_16,
sh_mtu_channel_device::DIV_64,
sh_mtu_channel_device::DIV_256,
sh_mtu_channel_device::DIV_1024,
sh_mtu_channel_device::INPUT_A,
sh_mtu_channel_device::INPUT_B);
sh_mtu_channel_device::DIV_1,
sh_mtu_channel_device::DIV_4,
sh_mtu_channel_device::DIV_16,
sh_mtu_channel_device::DIV_64,
sh_mtu_channel_device::DIV_256,
sh_mtu_channel_device::DIV_1024,
sh_mtu_channel_device::INPUT_A,
sh_mtu_channel_device::INPUT_B);
SH_PORT32(config, m_porta, *this, 0, 0x00000000, 0xff000000);
SH_PORT16(config, m_portb, *this, 0, 0x0000, 0xfc00);
SH_PORT16(config, m_portc, *this, 1, 0x0000, 0x0000);

View File

@ -171,7 +171,7 @@ void sh_cmt_device::cor_w(int reg, u16 data, u16 mem_mask)
void sh_cmt_device::clock_start(int clk)
{
// logerror("start clock %d %dHz\n", clk, (m_cpu->clock() >> (3 + 2*BIT(m_csr[clk], 0, 2))) / (m_cor[clk] + 1));
//logerror("start clock %d %dHz\n", clk, (m_cpu->clock() >> (3 + 2*BIT(m_csr[clk], 0, 2))) / (m_cor[clk] + 1));
compute_next_event(clk);
}

View File

@ -21,7 +21,7 @@ DEFINE_DEVICE_TYPE(DIMM_SPD, dimm_spd_device, "dimm_spd", "DIMM Serial Presence
dimm_spd_device::dimm_spd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, DIMM_SPD, tag, owner, clock),
i2c_hle_interface(mconfig, *this, 0) // address will be overridden by set_address as before
i2c_hle_interface(mconfig, *this, 0) // address will be overridden by set_address as before
{
}

View File

@ -4,16 +4,16 @@
I2C HLE mix-in
by R. Belmont
A mix-in to allow devices to speak I2C without reimplementing
the protocol themselves.
A mix-in to allow devices to speak I2C without reimplementing
the protocol themselves.
If the device returns data over I2C, override read_data.
If the device is written data over I2C, override write_data.
If you want the mix-in's logging to show your device name, override
get_tag() with something that just returns your tag().
If the device returns data over I2C, override read_data.
If the device is written data over I2C, override write_data.
If you want the mix-in's logging to show your device name, override
get_tag() with something that just returns your tag().
This mix-in will auto-increment the address on repeated reads/writes,
it's up to your class that consumes this mix-in
This mix-in will auto-increment the address on repeated reads/writes,
it's up to your class that consumes this mix-in
*/
#include "emu.h"

View File

@ -368,11 +368,11 @@ u8 z80ctc_channel_device::read()
if(!m_timer->remaining().is_never())
return u8((m_timer->remaining().as_double() / period.as_double()) + 1.0);
else
{
// value read-back is required by x1turbo for YM internal board detection.
// cfr. x1turbo40 argus wpiset 0x704,1,rw
{
// value read-back is required by x1turbo for YM internal board detection.
// cfr. x1turbo40 argus wpiset 0x704,1,rw
return m_down;
}
}
}
}

View File

@ -664,7 +664,7 @@ void okim9810_device::okim_voice::generate_audio(device_rom_interface &rom,
if (m_phrase_count > 0)
{
offs_t startAddr, endAddr;
uint8_t startFlags = rom.read_byte(m_phrase_offset++);
uint8_t startFlags = rom.read_byte(m_phrase_offset++);
m_phrase_count--;
if (!BIT(startFlags, 7))
{

View File

@ -669,13 +669,13 @@ std::pair<err_t, std::vector<u8>> impl::file_read(const std::vector<std::string>
bool impl::is_valid_short_filename(std::string const &filename)
{
/*
Valid characters in DOS file names:
- Upper case letters A-Z
- Numbers 0-9
- Space (though there is no way to identify a trailing space)
- ! # $ % & ( ) - @ ^ _ ` { } ~
- Characters 128-255, except e5 (though the code page is indeterminate)
We currently do not check for characters 128-255.
Valid characters in DOS file names:
- Upper case letters A-Z
- Numbers 0-9
- Space (though there is no way to identify a trailing space)
- ! # $ % & ( ) - @ ^ _ ` { } ~
- Characters 128-255, except e5 (though the code page is indeterminate)
We currently do not check for characters 128-255.
*/
std::regex filename_regex("([A-Z0-9!#\\$%&\\(\\)\\-@^_`\\{\\}~]{0,8})(\\.([A-Z0-9!#\\$%&\\(\\)\\-@^_`\\{\\}~]{0,3}))?");
return std::regex_match(filename, filename_regex);

View File

@ -1,25 +1,25 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
/*
Apple "Valkyrie" - very low-cost video framebuffer
Emulation by R. Belmont
Apple "Valkyrie" - very low-cost video framebuffer
Emulation by R. Belmont
This was the bonus awfulness in the Quadra 630/LC 580 machines. While the
ROM software and MacOS don't support many monitor types, the Linux driver indicates
that's more of a software problem.
This was the bonus awfulness in the Quadra 630/LC 580 machines. While the
ROM software and MacOS don't support many monitor types, the Linux driver indicates
that's more of a software problem.
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/video/fbdev/valkyriefb.c?h=v6.2.10
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/video/fbdev/valkyriefb.c?h=v6.2.10
Also valkyrie.c in the Marathon Infinity open source release from Bungie. (They use Valkyrie's video upscaler
to only have to render 320x240!)
Also valkyrie.c in the Marathon Infinity open source release from Bungie. (They use Valkyrie's video upscaler
to only have to render 320x240!)
TODO:
- YUV video-in support
- Determine if the I2C clock is internal or external
TODO:
- YUV video-in support
- Determine if the I2C clock is internal or external
Video in buffer 0 is at 0xf9300000
Video in buffer 1 is at 0xf9340000
Both buffers are 320x240 with a stride of 1024 bytes, data is 16 bits per pixel (YUV?)
Video in buffer 0 is at 0xf9300000
Video in buffer 1 is at 0xf9340000
Both buffers are 320x240 with a stride of 1024 bytes, data is 16 bits per pixel (YUV?)
*/
@ -29,7 +29,7 @@
#define LOG_MODE (1U << 1)
#define LOG_MONSENSE (1U << 2)
#define LOG_RAMDAC (1U << 3)
#define LOG_CLOCKGEN (1U << 4)
#define LOG_CLOCKGEN (1U << 4)
#define VERBOSE (0)
#include "logmacro.h"
@ -128,7 +128,7 @@ static INPUT_PORTS_START(monitor_config)
PORT_CONFNAME(0x7f, 6, "Monitor type")
PORT_CONFSETTING(0x02, u8"Mac RGB Display (12\" 512\u00d7384)") // "Rubik" (modified IIgs AppleColor RGB)
PORT_CONFSETTING(0x06, u8"Mac Hi-Res Display (12-14\" 640\u00d7480)") // "High Res" 640x480 @ 67 Hz
PORT_CONFSETTING(ext(1, 1, 3), "640x480 VGA") // VGA 640x480 @ 60 Hz
PORT_CONFSETTING(ext(1, 1, 3), "640x480 VGA") // VGA 640x480 @ 60 Hz
PORT_CONFSETTING(ext(2, 3, 1), "832x624 16\" RGB") // "Goldfish" or "16 inch RGB"
INPUT_PORTS_END
@ -464,7 +464,7 @@ void valkyrie_device::recalc_mode()
switch (m_video_timing & 0x7f)
{
case 2: // Rubik 512x384
case 2: // Rubik 512x384
m_hres = 512;
m_vres = 384;
m_htotal = 640;

View File

@ -217,16 +217,16 @@ protected:
class atetris_m5205_state : public atetris_mcu_state
{
public:
atetris_m5205_state(const machine_config &mconfig, device_type type, const char *tag) :
atetris_mcu_state(mconfig, type, tag),
m_msm(*this, "msm")
{
}
atetris_m5205_state(const machine_config &mconfig, device_type type, const char *tag) :
atetris_mcu_state(mconfig, type, tag),
m_msm(*this, "msm")
{
}
void atetb5205(machine_config &config);
void atetb5205(machine_config &config);
private:
required_device<msm5205_device> m_msm;
required_device<msm5205_device> m_msm;
};

View File

@ -200,11 +200,11 @@ void m78_state::main_io_map(address_map &map)
map(0x8000, 0x8fff).ram().w(FUNC(m78_state::tileram_w<1>)).share(m_tileram[1]);
map(0x9000, 0x9fff).ram().w(FUNC(m78_state::attrram_w<1>)).share(m_attrram[1]);
map(0xa000, 0xafff).ram().w(FUNC(m78_state::colorram_w<1>)).share(m_colorram[1]);
// map(0xb000, 0xbfff).ram(); // vregs, $b000, $b400, $b800, $bc00
//map(0xb000, 0xbfff).ram(); // vregs, $b000, $b400, $b800, $bc00
map(0xc000, 0xcfff).ram().w(FUNC(m78_state::tileram_w<0>)).share(m_tileram[0]);
map(0xd000, 0xdfff).ram().w(FUNC(m78_state::attrram_w<0>)).share(m_attrram[0]);
map(0xe000, 0xefff).ram().w(FUNC(m78_state::colorram_w<0>)).share(m_colorram[0]);
// map(0xf000, 0xffff).ram(); // layer control at $f000?
//map(0xf000, 0xffff).ram(); // layer control at $f000?
}
void m78_state::audio_program_map(address_map &map)

View File

@ -258,12 +258,12 @@ static NETLIST_START(output_filter)
ANALOG_INPUT(GND, 0)
OPAMP(AMP, "OPAMP(TYPE=1 FPF=5 RI=1M RO=50 UGF=1M SLEW=1M VLH=0.5 VLL=0.03 DAB=0.0015)")
RES(R1, RES_K(9.1))
RES(R2, RES_K(91))
RES(R3, RES_K(27))
CAP(C1, CAP_U(0.0015))
CAP(C2, CAP_P(680))
CAP(C3, CAP_P(100))
RES(R1, RES_K(9.1))
RES(R2, RES_K(91))
RES(R3, RES_K(27))
CAP(C1, CAP_U(0.0015))
CAP(C2, CAP_P(680))
CAP(C3, CAP_P(100))
NET_C(VPLUS, AMP.VCC)
NET_C(VMINUS, AMP.GND)

View File

@ -37,21 +37,21 @@
RST6.5 8212 INT
RST7.5 DMA EOP
Models:
Models:
M1: 1x 160KB floppy
M2: 2x 160KB floppy
M3: 1x 320KB floppy (96 tpi, single sided)
M4: 2x 320KB floppy
M5: 1x 640KB floppy (96 tpi, double sided)
M6: 2x 640KB floppy
M7: 1x 640KB floppy + 5MB hard disk
M4G: 2x 320KB floppy + GDC
M6G: 2x 640KB floppy + GDC
M7G: 1x 640KB floppy + 5MB hard disk + GDC
M1: 1x 160KB floppy
M2: 2x 160KB floppy
M3: 1x 320KB floppy (96 tpi, single sided)
M4: 2x 320KB floppy
M5: 1x 640KB floppy (96 tpi, double sided)
M6: 2x 640KB floppy
M7: 1x 640KB floppy + 5MB hard disk
M4G: 2x 320KB floppy + GDC
M6G: 2x 640KB floppy + GDC
M7G: 1x 640KB floppy + 5MB hard disk + GDC
./chdman createhd -chs 306,2,32 -ss 256 -o st406.chd
./chdman createhd -chs 306,2,32 -ss 256 -o st406.chd
*/
@ -59,7 +59,7 @@
TODO:
- M7 boot floppy
- M7 boot floppy
- accurate video timing
- PCB layouts
- NEC uPD7201 MPSC

View File

@ -2,32 +2,32 @@
// copyright-holders:Curt Coder
/*
Models:
Models:
M13A: Floppy drive 5.25", 320 KB + memory 128 KB
M13B: Floppy drive 5.25", 320 KB + memory 256 KB
M13C: Floppy drive 5.25", 320 KB + memory 512 KB
M13D: Floppy drive 5.25", 320 KB + memory 768 KB
M14A: 2 floppy drives 5.25", 320 KB + memory 128 KB
M14B: 2 floppy drives 5.25", 320 KB + memory 256 KB
M14C: 2 floppy drives 5.25", 320 KB + memory 512 KB
M14D: 2 floppy drives 5.25", 320 KB + memory 768 KB
M15A: Floppy drive 5.25", 640 KB + memory 128 KB
M15B: Floppy drive 5.25", 640 KB + memory 256 KB
M15C: Floppy drive 5.25", 640 KB + memory 512 KB
M15D: Floppy drive 5.25", 640 KB + memory 768 KB
M16A: 2 floppy drives 5.25", 640 KB + memory 128 KB
M16B: 2 floppy drives 5.25", 640 KB + memory 256 KB
M16C: 2 floppy drives 5.25", 640 KB + memory 512 KB
M16D: 2 floppy drives 5.25", 640 KB + memory 768 KB
M25B: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 5 MB + memory 256 KB
M25C: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 5 MB + memory 512 KB
M25D: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 5 MB + memory 768 KB
M35B: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 15 MB + memory 256 KB
M35C: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 15 MB + memory 512 KB
M35D: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 15 MB + memory 768 KB
M13A: Floppy drive 5.25", 320 KB + memory 128 KB
M13B: Floppy drive 5.25", 320 KB + memory 256 KB
M13C: Floppy drive 5.25", 320 KB + memory 512 KB
M13D: Floppy drive 5.25", 320 KB + memory 768 KB
M14A: 2 floppy drives 5.25", 320 KB + memory 128 KB
M14B: 2 floppy drives 5.25", 320 KB + memory 256 KB
M14C: 2 floppy drives 5.25", 320 KB + memory 512 KB
M14D: 2 floppy drives 5.25", 320 KB + memory 768 KB
M15A: Floppy drive 5.25", 640 KB + memory 128 KB
M15B: Floppy drive 5.25", 640 KB + memory 256 KB
M15C: Floppy drive 5.25", 640 KB + memory 512 KB
M15D: Floppy drive 5.25", 640 KB + memory 768 KB
M16A: 2 floppy drives 5.25", 640 KB + memory 128 KB
M16B: 2 floppy drives 5.25", 640 KB + memory 256 KB
M16C: 2 floppy drives 5.25", 640 KB + memory 512 KB
M16D: 2 floppy drives 5.25", 640 KB + memory 768 KB
M25B: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 5 MB + memory 256 KB
M25C: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 5 MB + memory 512 KB
M25D: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 5 MB + memory 768 KB
M35B: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 15 MB + memory 256 KB
M35C: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 15 MB + memory 512 KB
M35D: Floppy drive 5.25", 640 KB + hard disk 5.25" Winchester, 15 MB + memory 768 KB
./chdman createhd -chs 306,2,32 -ss 256 -o st406.chd
./chdman createhd -chs 306,2,32 -ss 256 -o st406.chd
*/

View File

@ -25,7 +25,7 @@
#include "video/crt9212.h"
#define I80186_TAG "maincpu"
#define UPD765_TAG "upd765"
#define UPD765_TAG "upd765"
#define SCREEN_TAG "screen"
class mm2_state : public driver_device

View File

@ -7346,7 +7346,7 @@ ROM_START( theglobpa )
ROM_LOAD( "63s141.1m", 0x0000, 0x0100, CRC(a9cc86bf) SHA1(bbcec0570aeceb582ff8238a4bc8546a23430081) )
ROM_LOAD( "63s141.3m", 0x0100, 0x0100, CRC(2ee34ade) SHA1(7cd43283b9648feb9a15466212b7a480fad20a39) ) // Timing - not used
ROM_REGION( 0x0800, "extra", 0 )
ROM_REGION( 0x0800, "extra", 0 )
ROM_LOAD( "top-2716.bin", 0x0000, 0x0800, CRC(25e74cd5) SHA1(dcee1fda9abe7fdeac3a87ef7897afda946efcb2) ) // EPROM on a subboard configured to replace a BPROM
ROM_END

View File

@ -23,7 +23,7 @@
Known bugs:
* pdrift & clones lock up issues after m68k rewrite, TAS opcode?
Perfect quantum or changing IRQ2 timing won't fix it, see MT8783.
Perfect quantum or changing IRQ2 timing won't fix it, see MT8783.
* pdriftl's comms don't work
****************************************************************************

View File

@ -299,44 +299,44 @@ void st0016_cpu_device::vregs_w(offs_t offset, u8 data)
I/O ports:
$60 \
$61 - H sync start?
$62 \
$63 - H visible start?
$64 \
$65 - H visible end >> 1?
$66 \
$67 - H total
$68 \
$69 - V sync start?
$6a \
$6b - V visible start?
$6c \
$6d - V visible end?
$6e \
$6f - V total
$60 \
$61 - H sync start?
$62 \
$63 - H visible start?
$64 \
$65 - H visible end >> 1?
$66 \
$67 - H total
$68 \
$69 - V sync start?
$6a \
$6b - V visible start?
$6c \
$6d - V visible end?
$6e \
$6f - V total
$74 x--- ---- global flip screen
-xx- ---- individual flip screen x/y
i.e. Mayjinsen sets 0x80, other ST0016 games 0x60.
TODO: Might also be paired with $70 & $75 (setted up by Mayjinsen).
$74 x--- ---- global flip screen
-xx- ---- individual flip screen x/y
i.e. Mayjinsen sets 0x80, other ST0016 games 0x60.
TODO: Might also be paired with $70 & $75 (setted up by Mayjinsen).
$a0 \
$a1 - source address >> 1
$a2 /
$a0 \
$a1 - source address >> 1
$a2 /
$a3 \
$a4 - destination address >> 1 (inside character ram)
$a5 /
$a3 \
$a4 - destination address >> 1 (inside character ram)
$a5 /
$a6 \
&a7 - (length inbytes - 1 ) >> 1
$a6 \
&a7 - (length inbytes - 1 ) >> 1
$a8 - 76543210
??faaaaa
$a8 - 76543210
??faaaaa
a - most sign. bits of length
f - DMA start latch
a - most sign. bits of length
f - DMA start latch
*/

View File

@ -100,13 +100,13 @@ Notes:
TODO
- screen update is too fast
- cursor on text should blink as dark blue
- PRWNOISE and PRBEEP return wrong values
- CDP1869 white noise
- screen update is too fast
- cursor on text should blink as dark blue
- PRWNOISE and PRBEEP return wrong values
- CDP1869 white noise
- connect expansion bus
- series I ROMs
- DOS ROMs
- series I ROMs
- DOS ROMs
*/

View File

@ -16,20 +16,22 @@
#include "screen.h"
#include "speaker.h"
namespace {
class psr540_state : public driver_device {
public:
psr540_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_swx00(*this, "swx00"),
m_lcdc(*this, "ks0066"),
m_floppy(*this, "fdc:0"),
m_fdc(*this, "fdc"),
m_nvram(*this, "ram"),
m_inputs(*this, "B%u", 1U),
m_outputs(*this, "%02d.%x.%x", 0U, 0U, 0U),
m_sustain(*this, "SUSTAIN"),
m_pitch_bend(*this, "PITCH_BEND")
psr540_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_swx00(*this, "swx00"),
m_lcdc(*this, "ks0066"),
m_floppy(*this, "fdc:0"),
m_fdc(*this, "fdc"),
m_nvram(*this, "ram"),
m_inputs(*this, "B%u", 1U),
m_outputs(*this, "%02d.%x.%x", 0U, 0U, 0U),
m_sustain(*this, "SUSTAIN"),
m_pitch_bend(*this, "PITCH_BEND")
{ }
void psr540(machine_config &config);
@ -136,7 +138,7 @@ void psr540_state::psr540(machine_config &config)
m_lcdc->set_lcd_size(2, 40);
HD63266F(config, m_fdc, 16_MHz_XTAL);
// m_fdc->drq_wr_callback().set([this](int state){ fdc_drq = state; maincpu->set_input_line(Z180_INPUT_LINE_DREQ0, state); });
//m_fdc->drq_wr_callback().set([this](int state){ fdc_drq = state; maincpu->set_input_line(Z180_INPUT_LINE_DREQ0, state); });
m_fdc->set_ready_line_connected(false);
m_fdc->set_select_lines_connected(false);
m_fdc->inp_rd_callback().set([this](){ return m_floppy->get_device()->dskchg_r(); });
@ -194,7 +196,7 @@ u8 psr540_state::pf_r()
void psr540_state::pe_w(u16 data)
{
m_pe = data;
// logerror("pe lcd_rs=%x lcd_en=%x rdens=%d ldcic=%d fdcic=%d (%s)\n", BIT(m_pe, 11), BIT(m_pe, 9), BIT(m_pe, 8), BIT(m_pe, 4), BIT(m_pe, 3), machine().describe_context());
//logerror("pe lcd_rs=%x lcd_en=%x rdens=%d ldcic=%d fdcic=%d (%s)\n", BIT(m_pe, 11), BIT(m_pe, 9), BIT(m_pe, 8), BIT(m_pe, 4), BIT(m_pe, 3), machine().describe_context());
m_lcdc->rs_w(BIT(m_pe, 11));
m_lcdc->e_w(BIT(m_pe, 9));
m_fdc->rate_w(!BIT(m_pe, 8));
@ -360,4 +362,6 @@ ROM_START( psr540 )
ROM_LOAD("psr540-lcd.svg", 0, 634772, CRC(606d85ab) SHA1(6eff1f028c531cdcd070b21949e4624af0a586a1))
ROM_END
} // anonymous namespace
SYST( 1999, psr540, 0, 0, psr540, psr540, psr540_state, empty_init, "Yamaha", "PSR540", MACHINE_IS_SKELETON )