mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
intellec4: implememnt PROM memory module
This commit is contained in:
parent
17790b2f5f
commit
641d0ac7a3
@ -869,6 +869,8 @@ if (BUSES["INTELLEC4"]~=null) then
|
||||
files {
|
||||
MAME_DIR .. "src/devices/bus/intellec4/intellec4.cpp",
|
||||
MAME_DIR .. "src/devices/bus/intellec4/intellec4.h",
|
||||
MAME_DIR .. "src/devices/bus/intellec4/prommemory.cpp",
|
||||
MAME_DIR .. "src/devices/bus/intellec4/prommemory.h",
|
||||
MAME_DIR .. "src/devices/bus/intellec4/tapereader.cpp",
|
||||
MAME_DIR .. "src/devices/bus/intellec4/tapereader.h",
|
||||
}
|
||||
|
@ -248,8 +248,10 @@ void device_univ_card_interface::set_bus(univ_bus_device &bus)
|
||||
|
||||
|
||||
|
||||
#include "prommemory.h"
|
||||
#include "tapereader.h"
|
||||
|
||||
SLOT_INTERFACE_START(intellec4_univ_cards)
|
||||
SLOT_INTERFACE("imm4_90", INTELLEC4_TAPE_READER)
|
||||
SLOT_INTERFACE("imm6_26", INTELLEC4_PROM_MEMORY)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -5,7 +5,7 @@
|
||||
#include "tapereader.h"
|
||||
|
||||
|
||||
DEFINE_DEVICE_TYPE_NS(INTELLEC4_TAPE_READER, bus::intellec4, imm4_90_device, "imm4_90", "Intel imm4-90 High-Speed Paper Tape Reader")
|
||||
DEFINE_DEVICE_TYPE_NS(INTELLEC4_TAPE_READER, bus::intellec4, imm4_90_device, "intlc4_imm4_90", "Intel imm4-90 High-Speed Paper Tape Reader")
|
||||
|
||||
|
||||
namespace bus { namespace intellec4 {
|
||||
@ -50,10 +50,10 @@ void imm4_90_device::device_start()
|
||||
save_item(NAME(m_advance));
|
||||
save_item(NAME(m_stepping));
|
||||
|
||||
rom_ports_space().install_read_handler(0x0040U, 0x004fU, read8_delegate(FUNC(imm4_90_device::rom4_in), this));
|
||||
rom_ports_space().install_read_handler(0x0060U, 0x006fU, read8_delegate(FUNC(imm4_90_device::rom6_in), this));
|
||||
rom_ports_space().install_read_handler(0x0070U, 0x007fU, read8_delegate(FUNC(imm4_90_device::rom7_in), this));
|
||||
rom_ports_space().install_write_handler(0x0040U, 0x004fU, write8_delegate(FUNC(imm4_90_device::rom4_out), this));
|
||||
rom_ports_space().install_read_handler(0x0040U, 0x004fU, 0x0000U, 0x1f00U, 0x0000, read8_delegate(FUNC(imm4_90_device::rom4_in), this));
|
||||
rom_ports_space().install_read_handler(0x0060U, 0x006fU, 0x0000U, 0x1f00U, 0x0000, read8_delegate(FUNC(imm4_90_device::rom6_in), this));
|
||||
rom_ports_space().install_read_handler(0x0070U, 0x007fU, 0x0000U, 0x1f00U, 0x0000, read8_delegate(FUNC(imm4_90_device::rom7_in), this));
|
||||
rom_ports_space().install_write_handler(0x0040U, 0x004fU, 0x0000U, 0x1f00U, 0x0000, write8_delegate(FUNC(imm4_90_device::rom4_out), this));
|
||||
}
|
||||
|
||||
|
||||
|
@ -7,6 +7,10 @@ The monitor PROM has support for loading BNPF or Intel HEX from this
|
||||
device (use J command to select it), but it doesn't appear in any
|
||||
catalogues or manuals I've seen. Apparently it was announced in
|
||||
Computerworld.
|
||||
|
||||
In practice you needed a GPIO card (e.g. an imm4-60) to talk to the
|
||||
paper taper reader. To simplify configuration we emulate the I/O
|
||||
interface and paper tape reader as a single device.
|
||||
*/
|
||||
#ifndef MAME_BUS_INTELLEC4_TAPEREADER_H
|
||||
#define MAME_BUS_INTELLEC4_TAPEREADER_H
|
||||
|
@ -328,7 +328,7 @@ MACHINE_CONFIG_START(intellec4)
|
||||
MCFG_INTELLEC4_UNIV_BUS_RESET_4002_CB(WRITELINE(intellec4_state, bus_reset_4002))
|
||||
MCFG_INTELLEC4_UNIV_BUS_USER_RESET_CB(WRITELINE(intellec4_state, bus_user_reset))
|
||||
MCFG_INTELLEC4_UNIV_SLOT_ADD("bus", "j7", 518000. / 7, intellec4_univ_cards, "imm4_90")
|
||||
MCFG_INTELLEC4_UNIV_SLOT_ADD("bus", "j8", 518000. / 7, intellec4_univ_cards, nullptr)
|
||||
MCFG_INTELLEC4_UNIV_SLOT_ADD("bus", "j8", 518000. / 7, intellec4_univ_cards, "imm6_26")
|
||||
MCFG_INTELLEC4_UNIV_SLOT_ADD("bus", "j9", 518000. / 7, intellec4_univ_cards, nullptr)
|
||||
MCFG_INTELLEC4_UNIV_SLOT_ADD("bus", "j10", 518000. / 7, intellec4_univ_cards, nullptr)
|
||||
MCFG_INTELLEC4_UNIV_SLOT_ADD("bus", "j11", 518000. / 7, intellec4_univ_cards, nullptr)
|
||||
|
Loading…
Reference in New Issue
Block a user