Previous 199869 Revisions Next

r22644 Thursday 2nd May, 2013 at 16:27:24 UTC by O. Galibert
(mess) applix: The mirror is required for the system to size up the ram correctly [O. Galibert]
[src/mess/drivers]applix.c

trunk/src/mess/drivers/applix.c
r22643r22644
1818    - Keyboard is a standard pc keyboard
1919    - Sound is stereo dac-sound, plus an analog output. Details unknown.
2020
21    This system uses a number of unemulated opcodes (A0xx). Our M68000 core
22    mishandles this scenario, doing a random jump to nearby code. This
23    continues, filling up the stack, and eventually causes a total freeze.
24
2521****************************************************************************/
2622
2723#include "emu.h"
r22643r22644
3834      m_maincpu(*this, "maincpu"),
3935      m_crtc(*this, "crtc"),
4036      m_via(*this, "via6522"),
41      m_base(*this, "base"){ }
37      m_base(*this, "base"),
38      m_expansion(*this, "expansion"){ }
4239
4340   DECLARE_READ16_MEMBER(applix_inputs_r);
4441   DECLARE_WRITE16_MEMBER(applix_index_w);
r22643r22644
6562   required_device<mc6845_device> m_crtc;
6663   required_device<via6522_device> m_via;
6764   required_shared_ptr<UINT16> m_base;
65   required_shared_ptr<UINT16> m_expansion;
6866};
6967
7068// dac-latch seems to be:
r22643r22644
145143static ADDRESS_MAP_START(applix_mem, AS_PROGRAM, 16, applix_state)
146144   ADDRESS_MAP_UNMAP_HIGH
147145   ADDRESS_MAP_GLOBAL_MASK(0xffffff)
148   AM_RANGE(0x000000, 0x07ffff) AM_RAM AM_SHARE("base")
149   AM_RANGE(0x080000, 0x47ffff) AM_NOP //AM_RAM // expansion
150   AM_RANGE(0x500000, 0x5fffff) AM_ROM
146   AM_RANGE(0x000000, 0x3fffff) AM_RAM AM_SHARE("expansion") // Expansion
147   AM_RANGE(0x400000, 0x47ffff) AM_RAM AM_MIRROR(0x80000) AM_SHARE("base") // Main ram
148   AM_RANGE(0x500000, 0x51ffff) AM_ROM AM_REGION("maincpu", 0)
151149   AM_RANGE(0x600000, 0x60007f) AM_WRITE(palette_w)
152150   AM_RANGE(0x600080, 0x6000ff) AM_WRITE(dac_latch_w)
153151   AM_RANGE(0x600100, 0x60017f) AM_WRITE(video_latch_w) //video latch (=border colour, high nybble; video base, low nybble) (odd)
r22643r22644
189187
190188void applix_state::machine_reset()
191189{
192   UINT8* RAM = memregion("maincpu")->base();
193   memcpy(m_base, RAM+0x500000, 16);
190   UINT8* ROM = memregion("maincpu")->base();
191   memcpy(m_expansion, ROM, 8);
194192   m_maincpu->reset();
195193}
196194
r22643r22644
325323
326324/* ROM definition */
327325ROM_START( applix )
328   ROM_REGION(0x1000000, "maincpu", 0)
329   ROM_LOAD16_BYTE( "1616oshv.044", 0x500000, 0x10000, CRC(4a1a90d3) SHA1(4df504bbf6fc5dad76c29e9657bfa556500420a6) )
330   ROM_LOAD16_BYTE( "1616oslv.044", 0x500001, 0x10000, CRC(ef619994) SHA1(ff16fe9e2c99a1ffc855baf89278a97a2a2e881a) )
326   ROM_REGION(0x20000, "maincpu", 0)
327   ROM_LOAD16_BYTE( "1616oshv.044", 0x00000, 0x10000, CRC(4a1a90d3) SHA1(4df504bbf6fc5dad76c29e9657bfa556500420a6) )
328   ROM_LOAD16_BYTE( "1616oslv.044", 0x00001, 0x10000, CRC(ef619994) SHA1(ff16fe9e2c99a1ffc855baf89278a97a2a2e881a) )
331329
332330   ROM_REGION(0x50000, "user1", 0)
333331   ROM_LOAD16_BYTE( "1616oshv.045", 0x00000, 0x10000, CRC(9dfb3224) SHA1(5223833a357f90b147f25826c01713269fc1945f) )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team