Previous 199869 Revisions Next

r26672 Friday 20th December, 2013 at 16:03:02 UTC by Curt Coder
diimage: Added load_software_region() function that loads a software list region into a shared_ptr. [Curt Coder]
[src/emu]devfind.h diimage.c diimage.h

trunk/src/emu/devfind.h
r26671r26672
258258
259259   // getter for explicit fetching
260260   UINT32 bytes() const { return m_bytes; }
261   UINT32 mask() const { return m_bytes - 1; }
261262
262263   // setter for setting the object
263264   void set_target(_PointerType *target, size_t bytes) { this->m_target = target; m_bytes = bytes; }
trunk/src/emu/diimage.c
r26671r26672
434434   return NULL;
435435}
436436
437
438//-------------------------------------------------
439//  load_software_region -
440//-------------------------------------------------
441
442bool device_image_interface::load_software_region(const char *tag, optional_shared_ptr<UINT8> &ptr)
443{
444   size_t size = get_software_region_length(tag);
445   
446   if (size)
447   {
448      ptr.allocate(size);
449
450      memcpy(ptr, get_software_region(tag), size);
451   }
452
453   return size > 0;
454}
455
437456/****************************************************************************
438457  Hash info loading
439458
trunk/src/emu/diimage.h
r26671r26672
176176   bool has_been_created() { return m_created; }
177177   void make_readonly() { m_readonly = true; }
178178   UINT32 fread(void *buffer, UINT32 length) { check_for_file(); return core_fread(m_file, buffer, length); }
179   UINT32 fread(optional_shared_ptr<UINT8> &ptr, UINT32 length) { ptr.allocate(length); return fread(ptr, length); }
180   UINT32 fread(optional_shared_ptr<UINT8> &ptr, UINT32 length, offs_t offset) { ptr.allocate(length); return fread(ptr + offset, length - offset); }
179181   UINT32 fwrite(const void *buffer, UINT32 length) { check_for_file(); return core_fwrite(m_file, buffer, length); }
180182   int fseek(INT64 offset, int whence) { check_for_file(); return core_fseek(m_file, offset, whence); }
181183   UINT64 ftell() { check_for_file(); return core_ftell(m_file); }
r26671r26672
201203   UINT8 *get_software_region(const char *tag);
202204   UINT32 get_software_region_length(const char *tag);
203205   const char *get_feature(const char *feature_name);
206   bool load_software_region(const char *tag, optional_shared_ptr<UINT8> &ptr);
204207
205208   UINT32 crc();
206209   hash_collection& hash() { return m_hash; }

Previous 199869 Revisions Next


© 1997-2024 The MAME Team