Even more tabs to spaces

This commit is contained in:
Jasmine Iwanek
2023-01-06 15:36:05 -05:00
parent 95cf08611c
commit a40630ba63
311 changed files with 6218 additions and 6062 deletions

View File

@@ -363,7 +363,7 @@ zxx(FDI *fdi)
#if 0
static void zyy (FDI *fdi)
{
fdi2raw_log("track %d: unsupported track type 0x%02.2X\n", fdi->current_track, fdi->track_type);
fdi2raw_log("track %d: unsupported track type 0x%02.2X\n", fdi->current_track, fdi->track_type);
}
#endif
/* empty track */
@@ -676,157 +676,157 @@ s0d(FDI *fdi)
#if 0
static int amiga_check_track (FDI *fdi)
{
int i, j, secwritten = 0;
int fwlen = fdi->out / 8;
int length = 2 * fwlen;
int drvsec = 11;
uae_u32 odd, even, chksum, id, dlong;
uae_u8 *secdata;
uae_u8 secbuf[544];
uae_u8 bigmfmbuf[60000];
uae_u8 *mbuf, *mbuf2, *mend;
char sectable[22];
uae_u8 *raw = fdi->track_dst_buffer;
int slabel, off;
int ok = 1;
int i, j, secwritten = 0;
int fwlen = fdi->out / 8;
int length = 2 * fwlen;
int drvsec = 11;
uae_u32 odd, even, chksum, id, dlong;
uae_u8 *secdata;
uae_u8 secbuf[544];
uae_u8 bigmfmbuf[60000];
uae_u8 *mbuf, *mbuf2, *mend;
char sectable[22];
uae_u8 *raw = fdi->track_dst_buffer;
int slabel, off;
int ok = 1;
memset (bigmfmbuf, 0, sizeof (bigmfmbuf));
mbuf = bigmfmbuf;
check_offset = 0;
for (i = 0; i < (fdi->out + 7) / 8; i++)
*mbuf++ = raw[i];
off = fdi->out & 7;
memset (bigmfmbuf, 0, sizeof (bigmfmbuf));
mbuf = bigmfmbuf;
check_offset = 0;
for (i = 0; i < (fdi->out + 7) / 8; i++)
*mbuf++ = raw[i];
off = fdi->out & 7;
# if 1
if (off > 0) {
mbuf--;
*mbuf &= ~((1 << (8 - off)) - 1);
}
j = 0;
while (i < (fdi->out + 7) / 8 + 600) {
*mbuf++ |= (raw[j] >> off) | ((raw[j + 1]) << (8 - off));
j++;
i++;
}
if (off > 0) {
mbuf--;
*mbuf &= ~((1 << (8 - off)) - 1);
}
j = 0;
while (i < (fdi->out + 7) / 8 + 600) {
*mbuf++ |= (raw[j] >> off) | ((raw[j + 1]) << (8 - off));
j++;
i++;
}
# endif
mbuf = bigmfmbuf;
mbuf = bigmfmbuf;
memset (sectable, 0, sizeof (sectable));
mend = bigmfmbuf + length;
mend -= (4 + 16 + 8 + 512);
memset (sectable, 0, sizeof (sectable));
mend = bigmfmbuf + length;
mend -= (4 + 16 + 8 + 512);
while (secwritten < drvsec) {
int trackoffs;
while (secwritten < drvsec) {
int trackoffs;
for (;;) {
rotateonebit (bigmfmbuf, mend, 1);
if (getmfmword (mbuf) == 0)
break;
if (secwritten == 10) {
mbuf[0] = 0x44;
mbuf[1] = 0x89;
}
if (check_offset > 7) {
check_offset = 0;
mbuf++;
if (mbuf >= mend || *mbuf == 0)
break;
}
if (getmfmword (mbuf) == 0x4489)
break;
}
if (mbuf >= mend || *mbuf == 0)
break;
for (;;) {
rotateonebit (bigmfmbuf, mend, 1);
if (getmfmword (mbuf) == 0)
break;
if (secwritten == 10) {
mbuf[0] = 0x44;
mbuf[1] = 0x89;
}
if (check_offset > 7) {
check_offset = 0;
mbuf++;
if (mbuf >= mend || *mbuf == 0)
break;
}
if (getmfmword (mbuf) == 0x4489)
break;
}
if (mbuf >= mend || *mbuf == 0)
break;
rotateonebit (bigmfmbuf, mend, check_offset);
check_offset = 0;
rotateonebit (bigmfmbuf, mend, check_offset);
check_offset = 0;
while (getmfmword (mbuf) == 0x4489)
mbuf+= 1 * 2;
mbuf2 = mbuf + 8;
while (getmfmword (mbuf) == 0x4489)
mbuf+= 1 * 2;
mbuf2 = mbuf + 8;
odd = getmfmlong (mbuf);
even = getmfmlong (mbuf + 2 * 2);
mbuf += 4 * 2;
id = (odd << 1) | even;
odd = getmfmlong (mbuf);
even = getmfmlong (mbuf + 2 * 2);
mbuf += 4 * 2;
id = (odd << 1) | even;
trackoffs = (id & 0xff00) >> 8;
if (trackoffs + 1 > drvsec) {
fdi2raw_log("illegal sector offset %d\n",trackoffs);
ok = 0;
mbuf = mbuf2;
continue;
}
if ((id >> 24) != 0xff) {
fdi2raw_log("sector %d format type %02.2X?\n", trackoffs, id >> 24);
ok = 0;
}
chksum = odd ^ even;
slabel = 0;
for (i = 0; i < 4; i++) {
odd = getmfmlong (mbuf);
even = getmfmlong (mbuf + 8 * 2);
mbuf += 2* 2;
trackoffs = (id & 0xff00) >> 8;
if (trackoffs + 1 > drvsec) {
fdi2raw_log("illegal sector offset %d\n",trackoffs);
ok = 0;
mbuf = mbuf2;
continue;
}
if ((id >> 24) != 0xff) {
fdi2raw_log("sector %d format type %02.2X?\n", trackoffs, id >> 24);
ok = 0;
}
chksum = odd ^ even;
slabel = 0;
for (i = 0; i < 4; i++) {
odd = getmfmlong (mbuf);
even = getmfmlong (mbuf + 8 * 2);
mbuf += 2* 2;
dlong = (odd << 1) | even;
if (dlong) slabel = 1;
chksum ^= odd ^ even;
}
mbuf += 8 * 2;
odd = getmfmlong (mbuf);
even = getmfmlong (mbuf + 2 * 2);
mbuf += 4 * 2;
if (((odd << 1) | even) != chksum) {
fdi2raw_log("sector %d header crc error\n", trackoffs);
ok = 0;
mbuf = mbuf2;
continue;
}
fdi2raw_log("sector %d header crc ok\n", trackoffs);
if (((id & 0x00ff0000) >> 16) != (uae_u32)fdi->current_track) {
fdi2raw_log("illegal track number %d <> %d\n",fdi->current_track,(id & 0x00ff0000) >> 16);
ok++;
mbuf = mbuf2;
continue;
}
odd = getmfmlong (mbuf);
even = getmfmlong (mbuf + 2 * 2);
mbuf += 4 * 2;
chksum = (odd << 1) | even;
secdata = secbuf + 32;
for (i = 0; i < 128; i++) {
odd = getmfmlong (mbuf);
even = getmfmlong (mbuf + 256 * 2);
mbuf += 2 * 2;
dlong = (odd << 1) | even;
*secdata++ = (uae_u8) (dlong >> 24);
*secdata++ = (uae_u8) (dlong >> 16);
*secdata++ = (uae_u8) (dlong >> 8);
*secdata++ = (uae_u8) dlong;
chksum ^= odd ^ even;
}
mbuf += 256 * 2;
if (chksum) {
fdi2raw_log("sector %d data checksum error\n",trackoffs);
ok = 0;
} else if (sectable[trackoffs]) {
fdi2raw_log("sector %d already found?\n", trackoffs);
mbuf = mbuf2;
} else {
fdi2raw_log("sector %d ok\n",trackoffs);
if (slabel) fdi2raw_log("(non-empty sector header)\n");
sectable[trackoffs] = 1;
secwritten++;
if (trackoffs == 9)
mbuf += 0x228;
}
}
for (i = 0; i < drvsec; i++) {
if (!sectable[i]) {
fdi2raw_log("sector %d missing\n", i);
ok = 0;
}
}
return ok;
dlong = (odd << 1) | even;
if (dlong) slabel = 1;
chksum ^= odd ^ even;
}
mbuf += 8 * 2;
odd = getmfmlong (mbuf);
even = getmfmlong (mbuf + 2 * 2);
mbuf += 4 * 2;
if (((odd << 1) | even) != chksum) {
fdi2raw_log("sector %d header crc error\n", trackoffs);
ok = 0;
mbuf = mbuf2;
continue;
}
fdi2raw_log("sector %d header crc ok\n", trackoffs);
if (((id & 0x00ff0000) >> 16) != (uae_u32)fdi->current_track) {
fdi2raw_log("illegal track number %d <> %d\n",fdi->current_track,(id & 0x00ff0000) >> 16);
ok++;
mbuf = mbuf2;
continue;
}
odd = getmfmlong (mbuf);
even = getmfmlong (mbuf + 2 * 2);
mbuf += 4 * 2;
chksum = (odd << 1) | even;
secdata = secbuf + 32;
for (i = 0; i < 128; i++) {
odd = getmfmlong (mbuf);
even = getmfmlong (mbuf + 256 * 2);
mbuf += 2 * 2;
dlong = (odd << 1) | even;
*secdata++ = (uae_u8) (dlong >> 24);
*secdata++ = (uae_u8) (dlong >> 16);
*secdata++ = (uae_u8) (dlong >> 8);
*secdata++ = (uae_u8) dlong;
chksum ^= odd ^ even;
}
mbuf += 256 * 2;
if (chksum) {
fdi2raw_log("sector %d data checksum error\n",trackoffs);
ok = 0;
} else if (sectable[trackoffs]) {
fdi2raw_log("sector %d already found?\n", trackoffs);
mbuf = mbuf2;
} else {
fdi2raw_log("sector %d ok\n",trackoffs);
if (slabel) fdi2raw_log("(non-empty sector header)\n");
sectable[trackoffs] = 1;
secwritten++;
if (trackoffs == 9)
mbuf += 0x228;
}
}
for (i = 0; i < drvsec; i++) {
if (!sectable[i]) {
fdi2raw_log("sector %d missing\n", i);
ok = 0;
}
}
return ok;
}
#endif
@@ -1538,126 +1538,126 @@ init_array(uint32_t standard_MFM_2_bit_cell_size, int nb_of_bits)
static void fdi2_decode (FDI *fdi, uint32_t totalavg, uae_u32 *avgp, uae_u32 *minp, uae_u32 *maxp, uae_u8 *idx, int maxidx, int *indexoffsetp, int pulses, int mfm)
{
uint32_t adjust;
uint32_t adjusted_pulse;
uint32_t standard_MFM_2_bit_cell_size = totalavg / 50000;
uint32_t standard_MFM_8_bit_cell_size = totalavg / 12500;
int real_size, i, j, eodat, outstep;
int indexoffset = *indexoffsetp;
uae_u8 *d = fdi->track_dst_buffer;
uae_u16 *pt = fdi->track_dst_buffer_timing;
uae_u32 ref_pulse, pulse;
uint32_t adjust;
uint32_t adjusted_pulse;
uint32_t standard_MFM_2_bit_cell_size = totalavg / 50000;
uint32_t standard_MFM_8_bit_cell_size = totalavg / 12500;
int real_size, i, j, eodat, outstep;
int indexoffset = *indexoffsetp;
uae_u8 *d = fdi->track_dst_buffer;
uae_u16 *pt = fdi->track_dst_buffer_timing;
uae_u32 ref_pulse, pulse;
/* detects a long-enough stable pulse coming just after another stable pulse */
i = 1;
while ( (i < pulses) && ( (idx[i] < maxidx)
|| (idx[i - 1] < maxidx)
|| (avgp[i] < (standard_MFM_2_bit_cell_size - (standard_MFM_2_bit_cell_size / 4))) ) )
i++;
if (i == pulses) {
fdi2raw_log("No stable and long-enough pulse in track.\n");
return;
}
i--;
eodat = i;
adjust = 0;
total = 0;
totaldiv = 0;
init_array(standard_MFM_2_bit_cell_size, 2);
bitoffset = 0;
ref_pulse = 0;
outstep = 0;
while (outstep < 2) {
/* detects a long-enough stable pulse coming just after another stable pulse */
i = 1;
while ( (i < pulses) && ( (idx[i] < maxidx)
|| (idx[i - 1] < maxidx)
|| (avgp[i] < (standard_MFM_2_bit_cell_size - (standard_MFM_2_bit_cell_size / 4))) ) )
i++;
if (i == pulses) {
fdi2raw_log("No stable and long-enough pulse in track.\n");
return;
}
i--;
eodat = i;
adjust = 0;
total = 0;
totaldiv = 0;
init_array(standard_MFM_2_bit_cell_size, 2);
bitoffset = 0;
ref_pulse = 0;
outstep = 0;
while (outstep < 2) {
/* calculates the current average bitrate from previous decoded data */
uae_u32 avg_size = (total << 3) / totaldiv; /* this is the new average size for one MFM bit */
/* uae_u32 avg_size = (uae_u32)((((float)total)*8.0) / ((float)totaldiv)); */
/* you can try tighter ranges than 25%, or wider ranges. I would probably go for tighter... */
if ((avg_size < (standard_MFM_8_bit_cell_size - (pulse_limitval * standard_MFM_8_bit_cell_size / 100))) ||
(avg_size > (standard_MFM_8_bit_cell_size + (pulse_limitval * standard_MFM_8_bit_cell_size / 100)))) {
avg_size = standard_MFM_8_bit_cell_size;
}
/* this is to prevent the average value from going too far
* from the theoretical value, otherwise it could progressively go to (2 *
* real value), or (real value / 2), etc. */
/* calculates the current average bitrate from previous decoded data */
uae_u32 avg_size = (total << 3) / totaldiv; /* this is the new average size for one MFM bit */
/* uae_u32 avg_size = (uae_u32)((((float)total)*8.0) / ((float)totaldiv)); */
/* you can try tighter ranges than 25%, or wider ranges. I would probably go for tighter... */
if ((avg_size < (standard_MFM_8_bit_cell_size - (pulse_limitval * standard_MFM_8_bit_cell_size / 100))) ||
(avg_size > (standard_MFM_8_bit_cell_size + (pulse_limitval * standard_MFM_8_bit_cell_size / 100)))) {
avg_size = standard_MFM_8_bit_cell_size;
}
/* this is to prevent the average value from going too far
* from the theoretical value, otherwise it could progressively go to (2 *
* real value), or (real value / 2), etc. */
/* gets the next long-enough pulse (this may require more than one pulse) */
pulse = 0;
while (pulse < ((avg_size / 4) - (avg_size / 16))) {
int indx;
i++;
if (i >= pulses)
i = 0;
indx = idx[i];
if (rand() <= (indx * RAND_MAX) / maxidx) {
pulse += avgp[i] - ref_pulse;
if (indx >= maxidx)
ref_pulse = 0;
else
ref_pulse = avgp[i];
}
if (i == eodat)
outstep++;
if (outstep == 1 && indexoffset == i)
*indexoffsetp = bitoffset;
}
/* gets the next long-enough pulse (this may require more than one pulse) */
pulse = 0;
while (pulse < ((avg_size / 4) - (avg_size / 16))) {
int indx;
i++;
if (i >= pulses)
i = 0;
indx = idx[i];
if (rand() <= (indx * RAND_MAX) / maxidx) {
pulse += avgp[i] - ref_pulse;
if (indx >= maxidx)
ref_pulse = 0;
else
ref_pulse = avgp[i];
}
if (i == eodat)
outstep++;
if (outstep == 1 && indexoffset == i)
*indexoffsetp = bitoffset;
}
/* gets the size in bits from the pulse width, considering the current average bitrate */
adjusted_pulse = pulse;
real_size = 0;
while (adjusted_pulse >= avg_size) {
real_size += 4;
adjusted_pulse -= avg_size / 2;
}
adjusted_pulse <<= 3;
while (adjusted_pulse >= ((avg_size * 4) + (avg_size / 4))) {
real_size += 2;
adjusted_pulse -= avg_size * 2;
}
if (adjusted_pulse >= ((avg_size * 3) + (avg_size / 4))) {
if (adjusted_pulse <= ((avg_size * 4) - (avg_size / 4))) {
if ((2 * ((adjusted_pulse >> 2) - adjust)) <= ((2 * avg_size) - (avg_size / 4)))
real_size += 3;
else
real_size += 4;
} else
real_size += 4;
} else {
if (adjusted_pulse > ((avg_size * 3) - (avg_size / 4))) {
real_size += 3;
} else {
if (adjusted_pulse >= ((avg_size * 2) + (avg_size / 4))) {
if ((2 * ((adjusted_pulse >> 2) - adjust)) < (avg_size + (avg_size / 4)))
real_size += 2;
else
real_size += 3;
} else
real_size += 2;
}
}
/* gets the size in bits from the pulse width, considering the current average bitrate */
adjusted_pulse = pulse;
real_size = 0;
while (adjusted_pulse >= avg_size) {
real_size += 4;
adjusted_pulse -= avg_size / 2;
}
adjusted_pulse <<= 3;
while (adjusted_pulse >= ((avg_size * 4) + (avg_size / 4))) {
real_size += 2;
adjusted_pulse -= avg_size * 2;
}
if (adjusted_pulse >= ((avg_size * 3) + (avg_size / 4))) {
if (adjusted_pulse <= ((avg_size * 4) - (avg_size / 4))) {
if ((2 * ((adjusted_pulse >> 2) - adjust)) <= ((2 * avg_size) - (avg_size / 4)))
real_size += 3;
else
real_size += 4;
} else
real_size += 4;
} else {
if (adjusted_pulse > ((avg_size * 3) - (avg_size / 4))) {
real_size += 3;
} else {
if (adjusted_pulse >= ((avg_size * 2) + (avg_size / 4))) {
if ((2 * ((adjusted_pulse >> 2) - adjust)) < (avg_size + (avg_size / 4)))
real_size += 2;
else
real_size += 3;
} else
real_size += 2;
}
}
if (outstep == 1) {
for (j = real_size; j > 1; j--)
addbit (d, 0);
addbit (d, 1);
for (j = 0; j < real_size; j++)
*pt++ = (uae_u16)(pulse / real_size);
}
if (outstep == 1) {
for (j = real_size; j > 1; j--)
addbit (d, 0);
addbit (d, 1);
for (j = 0; j < real_size; j++)
*pt++ = (uae_u16)(pulse / real_size);
}
/* prepares for the next pulse */
adjust = ((real_size * avg_size)/8) - pulse;
total -= psarray[array_index].size;
totaldiv -= psarray[array_index].number_of_bits;
psarray[array_index].size = pulse;
psarray[array_index].number_of_bits = real_size;
total += pulse;
totaldiv += real_size;
array_index++;
if (array_index >= FDI_MAX_ARRAY)
array_index = 0;
}
/* prepares for the next pulse */
adjust = ((real_size * avg_size)/8) - pulse;
total -= psarray[array_index].size;
totaldiv -= psarray[array_index].number_of_bits;
psarray[array_index].size = pulse;
psarray[array_index].number_of_bits = real_size;
total += pulse;
totaldiv += real_size;
array_index++;
if (array_index >= FDI_MAX_ARRAY)
array_index = 0;
}
fdi->out = bitoffset;
fdi->out = bitoffset;
}
#else
@@ -1704,7 +1704,7 @@ fdi2_decode(FDI *fdi, uint32_t totalavg, uae_u32 *avgp, uae_u32 *minp, uae_u32 *
if ((avg_size < (standard_MFM_8_bit_cell_size - (pulse_limitval * standard_MFM_8_bit_cell_size / 100))) || (avg_size > (standard_MFM_8_bit_cell_size + (pulse_limitval * standard_MFM_8_bit_cell_size / 100)))) {
avg_size = standard_MFM_8_bit_cell_size;
}
/* this is to prevent the average value from going too far
/* this is to prevent the average value from going too far
* from the theoretical value, otherwise it could progressively go to (2 *
* real value), or (real value / 2), etc. */