示例#1
0
文件: c1551.c 项目: cdenix/psmame
static void read_current_track(c1551_t *c1551)
{
	c1551->track_len = G64_BUFFER_SIZE;
	c1551->buffer_pos = 0;
	c1551->bit_pos = 7;
	c1551->bit_count = 0;

	/* read track data */
	floppy_drive_read_track_data_info_buffer(c1551->image, 0, c1551->track_buffer, &c1551->track_len);

	/* extract track length */
	c1551->track_len = floppy_drive_get_current_track_size(c1551->image, 0);
}
示例#2
0
inline void c2040_device::read_current_track(int unit)
{
	m_unit[unit].m_track_len = G64_BUFFER_SIZE;
	m_unit[unit].m_buffer_pos = 0;
	m_unit[unit].m_bit_pos = 7;
	m_bit_count = 0;

	// read track data
	floppy_drive_read_track_data_info_buffer(m_unit[unit].m_image, m_side, m_unit[unit].m_track_buffer, &m_unit[unit].m_track_len);

	// extract track length
	m_unit[unit].m_track_len = floppy_drive_get_current_track_size(m_unit[unit].m_image, m_side);
}
示例#3
0
文件: 64h156.c 项目: Ilgrim/MAMEHub
inline void c64h156_device::read_current_track()
{
	int track_length = G64_BUFFER_SIZE;

	// read track data
	floppy_drive_read_track_data_info_buffer(m_floppy, m_side, m_track_buffer, &track_length);

	// extract track length
	m_track_len = floppy_drive_get_current_track_size(m_floppy, m_side);

	// set bit pointer to track start
	m_buffer_pos = 0;
	m_bit_pos = 7;
	m_bit_count = 0;
	m_zero_count = 0;

	if (m_track_len)
	{
		memcpy(m_speed_buffer, m_track_buffer + m_track_len, G64_SPEED_BLOCK_SIZE);

		update_cycles_until_next_bit();
	}
}