apple2js/test/js/formats/testdata/16sector.ts
Ian Flanigan 72ecce113a
DOS 3.3 image format tests and fixes (#49)
* Adds an initial test for DOS format (.do) files

* Fix physical sector order when nibblizing DOS 3.3 ordered images

Before, when `.dsk` or `.do` images were nibblized, the resulting
track had the sectors in the wrong physical layout.

Now the nibblized track has the correct physical layout (all sectors
in order) which results in the correct DOS 3.3 layout as well.

There is also a test that verifies the order.

* Add another test for a non-zero sector

The new test checks that the values in physical sector 1 are those for
DOS sector 7.

* Add test for all physical sectors on all tracks

This change also removes a few stray console.log calls in the test.
2020-12-29 06:40:40 -08:00

56 lines
1.4 KiB
TypeScript

import { byte } from '../../../../js/types';
function generateBytesInOrder() {
const data: byte[][][] = [];
for (let t = 0; t < 35; t++) {
const track: byte[][] = [];
for (let s = 0; s < 16; s++) {
const sector: byte[] = [];
for (let b = 0; b < 256; b++) {
sector[b] = b;
}
track[s] = sector;
}
data[t] = track;
}
return data;
}
export const BYTES_IN_ORDER: byte[][][] = generateBytesInOrder();
function generateBytesBySector() {
const data: byte[][][] = [];
for (let t = 0; t < 35; t++) {
const track: byte[][] = [];
for (let s = 0; s < 16; s++) {
const sector: byte[] = [];
for (let b = 0; b < 256; b++) {
sector[b] = s;
}
track[s] = sector;
}
data[t] = track;
}
return data;
}
export const BYTES_BY_SECTOR: byte[][][] = generateBytesBySector();
function generateBytesByTrack() {
const data: byte[][][] = [];
for (let t = 0; t < 35; t++) {
const track: byte[][] = [];
for (let s = 0; s < 16; s++) {
const sector: byte[] = [];
for (let b = 0; b < 256; b++) {
sector[b] = t;
}
track[s] = sector;
}
data[t] = track;
}
return data;
}
export const BYTES_BY_TRACK: byte[][][] = generateBytesByTrack();