mirror of
https://github.com/holub/mame
synced 2025-04-17 05:53:36 +03:00
braiplus: Separate driver (nw)
This commit is contained in:
parent
627b2d6192
commit
036927b005
@ -2503,6 +2503,7 @@ files {
|
||||
|
||||
createMESSProjects(_target, _subtarget, "homelab")
|
||||
files {
|
||||
MAME_DIR .. "src/mame/drivers/braiplus.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/homelab.cpp",
|
||||
}
|
||||
|
||||
|
87
src/mame/drivers/braiplus.cpp
Normal file
87
src/mame/drivers/braiplus.cpp
Normal file
@ -0,0 +1,87 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:AJR
|
||||
/***************************************************************************
|
||||
|
||||
Skeleton driver for BraiLab Plus talking computer.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/i8251.h"
|
||||
#include "machine/z80pio.h"
|
||||
|
||||
class braiplus_state : public driver_device
|
||||
{
|
||||
public:
|
||||
braiplus_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_pio(*this, "pio%u", 1U)
|
||||
{
|
||||
}
|
||||
|
||||
void braiplus(machine_config &config);
|
||||
|
||||
private:
|
||||
void mem_map(address_map &map);
|
||||
void io_map(address_map &map);
|
||||
|
||||
required_device<z80_device> m_maincpu;
|
||||
required_device_array<z80pio_device, 2> m_pio;
|
||||
};
|
||||
|
||||
|
||||
void braiplus_state::mem_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x3fff).rom().region("maincpu", 0);
|
||||
map(0xa000, 0xbfff).ram();
|
||||
map(0xf200, 0xf2ff).ram(); // non-volatile memory???
|
||||
map(0xf800, 0xffff).ram();
|
||||
}
|
||||
|
||||
void braiplus_state::io_map(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0x04, 0x07).rw(m_pio[0], FUNC(z80pio_device::read), FUNC(z80pio_device::write));
|
||||
map(0x08, 0x0b).rw(m_pio[1], FUNC(z80pio_device::read), FUNC(z80pio_device::write));
|
||||
map(0x0c, 0x0d).rw("usart", FUNC(i8251_device::read), FUNC(i8251_device::write));
|
||||
map(0x14, 0x14).nopw();
|
||||
}
|
||||
|
||||
|
||||
static INPUT_PORTS_START(braiplus)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const z80_daisy_config daisy_chain[] =
|
||||
{
|
||||
{ "pio1" },
|
||||
{ "pio2" },
|
||||
{ nullptr }
|
||||
};
|
||||
|
||||
void braiplus_state::braiplus(machine_config &config)
|
||||
{
|
||||
Z80(config, m_maincpu, 4'000'000);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &braiplus_state::mem_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &braiplus_state::io_map);
|
||||
m_maincpu->set_daisy_config(daisy_chain);
|
||||
|
||||
Z80PIO(config, m_pio[0], 4'000'000);
|
||||
m_pio[0]->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
|
||||
Z80PIO(config, m_pio[1], 4'000'000);
|
||||
m_pio[1]->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
|
||||
I8251(config, "usart", 2'000'000);
|
||||
}
|
||||
|
||||
ROM_START( braiplus )
|
||||
ROM_REGION( 0x4000, "maincpu", 0 )
|
||||
ROM_LOAD( "brailabplus.bin", 0x0000, 0x4000, CRC(521d6952) SHA1(f7405520d86fc7abd2dec51d1d016658472f6fe8) )
|
||||
|
||||
ROM_REGION( 0x0800, "chargen", 0 ) // no idea what chargen it uses, using the one from homelab4 for now
|
||||
ROM_LOAD( "hl4.chr", 0x0000, 0x0800, BAD_DUMP CRC(f58ee39b) SHA1(49399c42d60a11b218a225856da86a9f3975a78a))
|
||||
ROM_END
|
||||
|
||||
COMP( 1988, braiplus, 0, 0, braiplus, braiplus, braiplus_state, empty_init, "Jozsef and Endre Lukacs", "BraiLab Plus", MACHINE_IS_SKELETON )
|
@ -24,9 +24,6 @@
|
||||
The bios never talks to it. Official port numbers
|
||||
are 3C-3F.
|
||||
- Brailab4 - Same as homelab3.
|
||||
- Braiplus - No work has been done. Needs to be developed from scratch.
|
||||
Since it is a CP/M machine, it probably should have its own
|
||||
source, once information can be found.
|
||||
|
||||
|
||||
TM188 is (it seems) equivalent to 27S19, TBP18S030N, 6331-1, 74S288, 82S123,
|
||||
@ -890,14 +887,6 @@ ROM_START( brailab4 )
|
||||
ROM_LOAD_OPTIONAL( "brlcpm.rom", 0x5000, 0x0020, CRC(b936d568) SHA1(150330eccbc4b664eba4103f051d6e932038e9e8) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( braiplus )
|
||||
ROM_REGION( 0x5000, "maincpu", 0 )
|
||||
ROM_LOAD( "brailabplus.bin", 0x0000, 0x4000, CRC(521d6952) SHA1(f7405520d86fc7abd2dec51d1d016658472f6fe8) )
|
||||
|
||||
ROM_REGION( 0x0800, "chargen", 0 ) // no idea what chargen it uses, using the one from homelab4 for now
|
||||
ROM_LOAD( "hl4.chr", 0x0000, 0x0800, BAD_DUMP CRC(f58ee39b) SHA1(49399c42d60a11b218a225856da86a9f3975a78a))
|
||||
ROM_END
|
||||
|
||||
/* Driver */
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
@ -905,4 +894,3 @@ COMP( 1982, homelab2, 0, 0, homelab2, homelab2, homelab2_state, emp
|
||||
COMP( 1983, homelab3, homelab2, 0, homelab3, homelab3, homelab3_state, empty_init, "Jozsef and Endre Lukacs", "Homelab 3", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
COMP( 1984, homelab4, homelab2, 0, homelab3, homelab3, homelab3_state, empty_init, "Jozsef and Endre Lukacs", "Homelab 4", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
COMP( 1984, brailab4, homelab2, 0, brailab4, brailab4, brailab4_state, empty_init, "Jozsef and Endre Lukacs", "Brailab 4", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
COMP( 1988, braiplus, homelab2, 0, brailab4, brailab4, brailab4_state, empty_init, "Jozsef and Endre Lukacs", "Brailab Plus", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -9428,6 +9428,9 @@ bp1200 // (c) 1991 BP Microsystems
|
||||
@source:br8641.cpp
|
||||
br8641 //
|
||||
|
||||
@source:braiplus.cpp
|
||||
braiplus //
|
||||
|
||||
@source:brkthru.cpp
|
||||
brkthru // (c) 1986 Data East USA (US)
|
||||
brkthruj // (c) 1986 Data East Corporation (Japan)
|
||||
@ -16240,7 +16243,6 @@ vitaminc // (c) 1989 Home Data
|
||||
|
||||
@source:homelab.cpp
|
||||
brailab4 //
|
||||
braiplus //
|
||||
homelab2 //
|
||||
homelab3 //
|
||||
homelab4 //
|
||||
|
@ -125,6 +125,7 @@ boss_se70.cpp
|
||||
boss_sx700.cpp
|
||||
bpmmicro.cpp
|
||||
br8641.cpp
|
||||
braiplus.cpp
|
||||
bullet.cpp
|
||||
busicom.cpp
|
||||
bw12.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user