Previous 15994 Revisions Next

r15115 Monday 7th May, 2012 at 12:07:45 UTC by Barry Rodewald
Added device image type for individual ROM images (as used with some Amstrad
CPC applications)

amstrad: fixed ROM board regressions (no whatsnew)
[src/emu]diimage.c diimage.h
[src/mess/machine]cpc_rom.c cpc_rom.h

src/emu/diimage.c
r15114r15115
5050//**************************************************************************
5151const image_device_type_info device_image_interface::m_device_info_array[] =
5252   {
53      { IO_UNKNOWN,   "unknown",      "unkn" },
5354      { IO_CARTSLOT,   "cartridge",   "cart" }, /*  0 */
5455      { IO_FLOPPY,   "floppydisk",   "flop" }, /*  1 */
5556      { IO_HARDDISK,   "harddisk",      "hard" }, /*  2 */
r15114r15115
6566      { IO_MEMCARD,   "memcard",      "memc" }, /* 12 */
6667      { IO_CDROM,     "cdrom",        "cdrm" }, /* 13 */
6768      { IO_MAGTAPE,   "magtape",      "magt" }, /* 14 */
69      { IO_ROM,      "romimage",      "rom"  }, /* 15 */
6870   };
6971
7072
src/emu/diimage.h
r15114r15115
6969    IO_MEMCARD,     /* 13 - Memory card */
7070    IO_CDROM,       /* 14 - optical CD-ROM disc */
7171   IO_MAGTAPE,     /* 15 - Magentic tape */
72    IO_COUNT        /* 16 - Total Number of IO_devices for searching */
72   IO_ROM,         /* 16 - Individual ROM image - the Amstrad CPC has a few applications that were sold on 16kB ROMs */
73    IO_COUNT        /* 17 - Total Number of IO_devices for searching */
7374};
7475
7576enum image_error_t
src/mess/machine/cpc_rom.c
r15114r15115
135135   free(m_base);
136136   m_base = NULL;
137137}
138
139void rom_image_device::update_names()
140{
141   image_interface_iterator iter(device().mconfig().root_device());
142   int count = iter.count();
143   int index = iter.indexof(*this);
144   if (count > 1) {
145      m_instance_name.printf("romimage%d", index + 1);
146      m_brief_instance_name.printf("rom%d", index + 1);
147   }
148   else
149   {
150      m_instance_name = "romimage";
151      m_brief_instance_name = "rom";
152   }
153}
src/mess/machine/cpc_rom.h
r15114r15115
2626   virtual bool call_load();
2727   virtual void call_unload();
2828
29   virtual iodevice_t image_type() const { return IO_UNKNOWN; }
29   virtual iodevice_t image_type() const { return IO_ROM; }
3030
3131   virtual bool is_readable()  const { return 1; }
3232   virtual bool is_writeable() const { return 0; }
r15114r15115
4343   // device-level overrides
4444    virtual void device_config_complete() { update_names(); }
4545   virtual void device_start();
46   void update_names();
4746
4847private:
4948   UINT8* m_base;

Previous 15994 Revisions Next


© 1998-2018 The MESS Team