summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu
diff options
context:
space:
mode:
author Oliver Stöneberg <firewave@users.noreply.github.com>2014-05-16 12:06:02 +0000
committer Oliver Stöneberg <firewave@users.noreply.github.com>2014-05-16 12:06:02 +0000
commitbf158b642f286fb9a516acc5023d407d3606bc04 (patch)
tree3649b2ef374622381b02cf373e0174ea64d30f26 /src/emu
parent4a2c6f727dd6631755da35a3259daa4e94d6028e (diff)
converted some more global_alloc_array() usage to dynamic_buffer/dynamic_array (nw)
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/machine/smc92x4.c14
-rw-r--r--src/emu/sound/discrete.h1
2 files changed, 6 insertions, 9 deletions
diff --git a/src/emu/machine/smc92x4.c b/src/emu/machine/smc92x4.c
index 7de574d68b7..c5e4698d6c0 100644
--- a/src/emu/machine/smc92x4.c
+++ b/src/emu/machine/smc92x4.c
@@ -1602,7 +1602,7 @@ void smc92x4_device::read_floppy_track(bool transfer_only_ids)
/* Determine the track size. We cannot allow different sizes in this design. */
int data_count = 0;
int i;
- UINT8 *buffer;
+ dynamic_buffer buffer;
sync_latches_out();
@@ -1620,9 +1620,9 @@ void smc92x4_device::read_floppy_track(bool transfer_only_ids)
data_count = TRKSIZE_DD;
}
- buffer = global_alloc_array(UINT8, data_count);
+ buffer.resize(data_count);
- m_drive->floppy_drive_read_track_data_info_buffer(m_register_w[DESIRED_HEAD]&0x0f, (char *)buffer, &data_count);
+ m_drive->floppy_drive_read_track_data_info_buffer(m_register_w[DESIRED_HEAD]&0x0f, (char *)(UINT8 *)buffer, &data_count);
sync_status_in();
// Transfer the buffer to the external memory. We assume the memory
@@ -1640,20 +1640,18 @@ void smc92x4_device::read_floppy_track(bool transfer_only_ids)
m_out_dma((offs_t)0, buffer[i]);
}
m_out_dip(CLEAR_LINE);
-
- global_free_array(buffer);
}
void smc92x4_device::read_harddisk_track(bool transfer_only_ids)
{
/* Determine the track size. We cannot allow different sizes in this design. */
int i;
- UINT8 *buffer;
+ dynamic_buffer buffer;
int data_count=0;
sync_latches_out();
data_count = m_harddisk->get_track_length();
- buffer = global_alloc_array(UINT8, data_count);
+ buffer.resize(data_count);
/* buffer and data_count are allocated and set by the function. */
m_harddisk->read_track(m_register_w[DESIRED_HEAD]&0x0f, buffer);
@@ -1679,8 +1677,6 @@ void smc92x4_device::read_harddisk_track(bool transfer_only_ids)
m_out_dma((offs_t)0, buffer[i]);
}
m_out_dip(CLEAR_LINE);
-
- global_free_array(buffer);
}
diff --git a/src/emu/sound/discrete.h b/src/emu/sound/discrete.h
index 5585fade2cb..427a91e4a5e 100644
--- a/src/emu/sound/discrete.h
+++ b/src/emu/sound/discrete.h
@@ -3751,6 +3751,7 @@ enum
* add and delete may be slow - the focus is on access!
*/
+ // TODO: replace with dynamic_array from utils
template<class _ElementType> struct dynamic_array_t
{
public: