c65.c: fixed missing memory allocations so that the driver does not crash anymore. system still not working, though. no whatsnew.

This commit is contained in:
Fabio Priuli 2012-12-28 09:27:53 +00:00
parent 4281522dfa
commit fd02bde484
3 changed files with 17 additions and 9 deletions

View File

@ -83,7 +83,7 @@ static ADDRESS_MAP_START( c65_mem , AS_PROGRAM, 8, c65_state )
AM_RANGE(0x20000, 0x23fff) AM_ROM /* &c65_dos, maps to 0x8000 */
AM_RANGE(0x24000, 0x28fff) AM_ROM /* reserved */
AM_RANGE(0x29000, 0x29fff) AM_ROM AM_SHARE("chargen")
AM_RANGE(0x29000, 0x29fff) AM_ROM AM_SHARE("c65_chargen")
AM_RANGE(0x2a000, 0x2bfff) AM_ROM AM_SHARE("basic")
AM_RANGE(0x2c000, 0x2cfff) AM_ROM AM_SHARE("interface")
AM_RANGE(0x2d000, 0x2dfff) AM_ROM AM_SHARE("chargen")

View File

@ -37,11 +37,20 @@ public:
legacy_c64_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_iec(*this, CBM_IEC_TAG),
m_colorram(*this, "colorram"),
m_basic(*this, "basic"),
m_chargen(*this, "chargen"),
m_kernal(*this, "kernal"),
m_roml_writable(0)
{ }
optional_device<cbm_iec_device> m_iec;
required_shared_ptr<UINT8> m_colorram;
required_shared_ptr<UINT8> m_basic;
required_shared_ptr<UINT8> m_chargen;
required_shared_ptr<UINT8> m_kernal;
DECLARE_READ8_MEMBER( c64_lightpen_x_cb );
DECLARE_READ8_MEMBER( c64_lightpen_y_cb );
DECLARE_READ8_MEMBER( c64_lightpen_button_cb );
@ -58,10 +67,6 @@ public:
UINT8 m_vicirq;
emu_timer *m_datasette_timer;
emu_timer *m_cartridge_timer;
UINT8 *m_colorram;
UINT8 *m_basic;
UINT8 *m_kernal;
UINT8 *m_chargen;
UINT8 *m_memory;
int m_pal;
int m_tape_on;

View File

@ -41,10 +41,13 @@ class c65_state : public legacy_c64_state
{
public:
c65_state(const machine_config &mconfig, device_type type, const char *tag)
: legacy_c64_state(mconfig, type, tag) { }
: legacy_c64_state(mconfig, type, tag),
m_c65_chargen(*this, "c65_chargen"),
m_interface(*this, "interface")
{ }
UINT8 *m_chargen;
UINT8 *m_interface;
required_shared_ptr<UINT8> m_c65_chargen;
required_shared_ptr<UINT8> m_interface;
int m_charset_select;
int m_c64mode;
UINT8 m_6511_port;