cbmimage
Loading...
Searching...
No Matches
D71 specific functions

Functions

int cbmimage_i_d71_chdir_partition_init (cbmimage_image_settings *settings)
 
void cbmimage_i_d71_image_open (cbmimage_fileimage *image)
 

Variables

static const uint8_t sectors_in_track_d71 [70+1]
 
static const cbmimage_i_d40_d64_d71_image_settings i_d71
 

Detailed Description

Function Documentation

◆ cbmimage_i_d71_chdir_partition_init()

int cbmimage_i_d71_chdir_partition_init ( cbmimage_image_settings * settings)

create structures for a D71 image when chdir()ing to an image

Parameters
[in]settingspointer to the image settings
Returns
  • 0 on success
  • -1 on error

◆ cbmimage_i_d71_image_open()

void cbmimage_i_d71_image_open ( cbmimage_fileimage * image)

create structures for a D71 image

Parameters
[in]imagepointer to the image data

Variable Documentation

◆ i_d71

Initial value:
= {
CBMIMAGE_BAM_AND_BAM_COUNTER_CREATE(, 0, 1, 0x04, 4, 3, 18, 0),
.bam[1] = CBMIMAGE_BAM_SELECTOR_INIT( 36, 0x00, 3, 3, 18 + 35, 0),
.bam_counter[1] = CBMIMAGE_BAM_COUNTER_SELECTOR_INIT(36, 0xDD, 1, 18, 0)
}
#define CBMIMAGE_BAM_AND_BAM_COUNTER_CREATE(_basename, _index, _starttrack, _startoffset, _multiplier, _data_count, _track, _sector)
Definition internal.h:457
#define CBMIMAGE_BAM_COUNTER_SELECTOR_INIT(_starttrack, _startoffset, _multiplier, _track, _sector)
Definition internal.h:411
#define CBMIMAGE_BAM_SELECTOR_INIT(_starttrack, _startoffset, _multiplier, _data_count, _track, _sector)
Definition internal.h:310

create data structures for the BAM of a D71 image

◆ sectors_in_track_d71

const uint8_t sectors_in_track_d71[70+1]
static
Initial value:
= {
0,
21, 21, 21, 21, 21,
21, 21, 21, 21, 21,
21, 21, 21, 21, 21,
21, 21, 19, 19, 19,
19, 19, 19, 19, 18,
18, 18, 18, 18, 18,
17, 17, 17, 17, 17,
21, 21, 21, 21, 21,
21, 21, 21, 21, 21,
21, 21, 21, 21, 21,
21, 21, 19, 19, 19,
19, 19, 19, 19, 18,
18, 18, 18, 18, 18,
17, 17, 17, 17, 17
}

The number of the sectors on a track in a D71 image

Remarks
  • The track number is used as index into this array. As the tracks are based by 1, the element "0" is left out and kept as zero. Additionally, the array length is one more than the number of tracks in the image.
  • As the D64 image has differing settings for tracks 36 to 42, that array cannot be reused. That's why we need a separate array for D71.