summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/victor9k_dsk.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/victor9k_dsk.c')
-rw-r--r--src/lib/formats/victor9k_dsk.c120
1 files changed, 79 insertions, 41 deletions
diff --git a/src/lib/formats/victor9k_dsk.c b/src/lib/formats/victor9k_dsk.c
index 7f1b461596a..18fef02afea 100644
--- a/src/lib/formats/victor9k_dsk.c
+++ b/src/lib/formats/victor9k_dsk.c
@@ -2,39 +2,39 @@
// copyright-holders:Curt Coder
/*********************************************************************
- formats/victor9k_dsk.c
+ formats/victor9k_dsk.c
- Victor 9000 sector disk image format
+ Victor 9000 sector disk image format
*********************************************************************/
/*
- Sector format
- -------------
+ Sector format
+ -------------
- Header sync
- Sector header (header ID, track ID, sector ID, and checksum)
- Gap 1
- Data Sync
- Data field (data sync, data ID, data bytes, and checksum)
- Gap 2
+ Header sync
+ Sector header (header ID, track ID, sector ID, and checksum)
+ Gap 1
+ Data Sync
+ Data field (data sync, data ID, data bytes, and checksum)
+ Gap 2
- Track format
- ------------
+ Track format
+ ------------
- ZONE LOWER HEAD UPPER HEAD SECTORS ROTATIONAL
- NUMBER TRACKS TRACKS PER TRACK PERIOD (MS)
+ ZONE LOWER HEAD UPPER HEAD SECTORS ROTATIONAL RPM
+ NUMBER TRACKS TRACKS PER TRACK PERIOD (MS)
- 0 0-3 unused 19 237.9
- 1 4-15 0-7 18 224.5
- 2 16-26 8-18 17 212.2
- 3 27-37 19-29 16 199.9
- 4 38-48 30-40 15 187.6
- 5 49-59 41-51 14 175.3
- 6 60-70 52-62 13 163.0
- 7 71-79 63-74 12 149.6
- 8 unused 75-79 11 144.0
+ 0 0-3 unused 19 237.9 252
+ 1 4-15 0-7 18 224.5 267
+ 2 16-26 8-18 17 212.2 283
+ 3 27-37 19-29 16 199.9 300
+ 4 38-48 30-40 15 187.6 320
+ 5 49-59 41-51 14 175.3 342
+ 6 60-70 52-62 13 163.0 368
+ 7 71-79 63-74 12 149.6 401
+ 8 unused 75-79 11 144.0 417
*/
@@ -47,57 +47,95 @@ victor9k_format::victor9k_format()
const char *victor9k_format::name() const
{
- return "victor9k";
+ return "victor9k";
}
const char *victor9k_format::description() const
{
- return "Victor 9000 disk image";
+ return "Victor 9000 disk image";
}
const char *victor9k_format::extensions() const
{
- return "img";
+ return "img";
}
int victor9k_format::identify(io_generic *io, UINT32 form_factor)
{
- return 0;
+ return 0;
}
bool victor9k_format::load(io_generic *io, UINT32 form_factor, floppy_image *image)
{
- return false;
+ return false;
}
bool victor9k_format::supports_save() const
{
- return false;
+ return false;
}
const victor9k_format::format victor9k_format::formats[] = {
- { //
- floppy_image::FF_525, floppy_image::SSDD, 80, 1, 256
- },
- { //
- floppy_image::FF_525, floppy_image::DSDD, 80, 2, 256
- },
- {}
+ { //
+ floppy_image::FF_525, floppy_image::SSDD, 80, 1, 512
+ },
+ { //
+ floppy_image::FF_525, floppy_image::DSDD, 80, 2, 512
+ },
+ {}
};
const UINT32 victor9k_format::cell_size[] =
{
- 0
+ 0
};
-const int victor9k_format::sectors_per_track[] =
+const int victor9k_format::sectors_per_track[2][80] =
{
- 0
+ {
+ 19, 19, 19, 19,
+ 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
+ 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12
+ },
+ {
+ 18, 18, 18, 18, 18, 18, 18, 18,
+ 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 11, 11, 11, 11, 11
+ }
};
-const int victor9k_format::speed_zone[] =
+const int victor9k_format::speed_zone[2][80] =
{
- 0
+ {
+ 0, 0, 0, 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7
+ },
+ {
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 8, 8, 8, 8, 8
+ }
};
const floppy_format_type FLOPPY_VICTOR_9000_FORMAT = &floppy_image_format_creator<victor9k_format>;