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")
|
createMESSProjects(_target, _subtarget, "homelab")
|
||||||
files {
|
files {
|
||||||
|
MAME_DIR .. "src/mame/drivers/braiplus.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/homelab.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
|
The bios never talks to it. Official port numbers
|
||||||
are 3C-3F.
|
are 3C-3F.
|
||||||
- Brailab4 - Same as homelab3.
|
- 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,
|
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_LOAD_OPTIONAL( "brlcpm.rom", 0x5000, 0x0020, CRC(b936d568) SHA1(150330eccbc4b664eba4103f051d6e932038e9e8) )
|
||||||
ROM_END
|
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 */
|
/* Driver */
|
||||||
|
|
||||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
/* 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( 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, 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( 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
|
@source:br8641.cpp
|
||||||
br8641 //
|
br8641 //
|
||||||
|
|
||||||
|
@source:braiplus.cpp
|
||||||
|
braiplus //
|
||||||
|
|
||||||
@source:brkthru.cpp
|
@source:brkthru.cpp
|
||||||
brkthru // (c) 1986 Data East USA (US)
|
brkthru // (c) 1986 Data East USA (US)
|
||||||
brkthruj // (c) 1986 Data East Corporation (Japan)
|
brkthruj // (c) 1986 Data East Corporation (Japan)
|
||||||
@ -16240,7 +16243,6 @@ vitaminc // (c) 1989 Home Data
|
|||||||
|
|
||||||
@source:homelab.cpp
|
@source:homelab.cpp
|
||||||
brailab4 //
|
brailab4 //
|
||||||
braiplus //
|
|
||||||
homelab2 //
|
homelab2 //
|
||||||
homelab3 //
|
homelab3 //
|
||||||
homelab4 //
|
homelab4 //
|
||||||
|
@ -125,6 +125,7 @@ boss_se70.cpp
|
|||||||
boss_sx700.cpp
|
boss_sx700.cpp
|
||||||
bpmmicro.cpp
|
bpmmicro.cpp
|
||||||
br8641.cpp
|
br8641.cpp
|
||||||
|
braiplus.cpp
|
||||||
bullet.cpp
|
bullet.cpp
|
||||||
busicom.cpp
|
busicom.cpp
|
||||||
bw12.cpp
|
bw12.cpp
|
||||||
|
Loading…
Reference in New Issue
Block a user