mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
alto2: Properly internalize address maps, likely fixing regression (nw)
This commit is contained in:
parent
e1bda20205
commit
1792ac0b9f
@ -128,9 +128,9 @@ void alto2_cpu_device::iomem_map(address_map &map)
|
||||
alto2_cpu_device::alto2_cpu_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) :
|
||||
cpu_device(mconfig, ALTO2, tag, owner, clock),
|
||||
m_kb_read_callback(*this),
|
||||
m_ucode_config("ucode", ENDIANNESS_BIG, 32, 12, -2 ),
|
||||
m_const_config("const", ENDIANNESS_BIG, 16, 8, -1 ),
|
||||
m_iomem_config("iomem", ENDIANNESS_BIG, 16, 17, -1 ),
|
||||
m_ucode_config("ucode", ENDIANNESS_BIG, 32, 12, -2, address_map_constructor(FUNC(alto2_cpu_device::ucode_map), this)),
|
||||
m_const_config("const", ENDIANNESS_BIG, 16, 8, -1, address_map_constructor(FUNC(alto2_cpu_device::const_map), this)),
|
||||
m_iomem_config("iomem", ENDIANNESS_BIG, 16, 17, -1, address_map_constructor(FUNC(alto2_cpu_device::iomem_map), this)),
|
||||
m_cram_config(2),
|
||||
m_ucode_rom_pages(1),
|
||||
m_ucode_ram_pages(2),
|
||||
|
@ -28,9 +28,6 @@ public:
|
||||
DECLARE_MACHINE_RESET(alto2);
|
||||
|
||||
void alto2(machine_config &config);
|
||||
void alto2_const_map(address_map &map);
|
||||
void alto2_iomem_map(address_map &map);
|
||||
void alto2_ucode_map(address_map &map);
|
||||
|
||||
protected:
|
||||
u16 kb_r(offs_t offset);
|
||||
@ -259,30 +256,12 @@ ROM_END
|
||||
// ADDRESS MAPS
|
||||
//**************************************************************************
|
||||
|
||||
void alto2_state::alto2_ucode_map(address_map &map)
|
||||
{
|
||||
map(0, 4*ALTO2_UCODE_PAGE_SIZE-1).m(m_maincpu, FUNC(alto2_cpu_device::ucode_map));
|
||||
}
|
||||
|
||||
void alto2_state::alto2_const_map(address_map &map)
|
||||
{
|
||||
map(0, ALTO2_CONST_SIZE-1).m(m_maincpu, FUNC(alto2_cpu_device::const_map));
|
||||
}
|
||||
|
||||
void alto2_state::alto2_iomem_map(address_map &map)
|
||||
{
|
||||
map(0, 2*ALTO2_RAM_SIZE-1).m(m_maincpu, FUNC(alto2_cpu_device::iomem_map));
|
||||
}
|
||||
|
||||
void alto2_state::alto2(machine_config &config)
|
||||
{
|
||||
// Basic machine hardware
|
||||
// SYSCLK is Display Control part A51 (tagged 29.4MHz) divided by 5(?)
|
||||
// 5.8MHz according to de.wikipedia.org/wiki/Xerox_Alto
|
||||
ALTO2(config, m_maincpu, XTAL(29'491'200)/5);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &alto2_state::alto2_ucode_map);
|
||||
m_maincpu->set_addrmap(AS_DATA, &alto2_state::alto2_const_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &alto2_state::alto2_iomem_map);
|
||||
m_maincpu->kb_read_callback().set(FUNC(alto2_state::kb_r));
|
||||
|
||||
// Video hardware
|
||||
|
Loading…
Reference in New Issue
Block a user