You've already forked flashfloppy
mirror of
https://github.com/Team-Resurgent/flashfloppy.git
synced 2026-04-30 10:49:33 -07:00
5be461fe26
Specifies bytes occupied per sector in the IMG image file. Allows padding of short sectors for uniformly-indexed fiels. Refs #751
173 lines
5.8 KiB
INI
173 lines
5.8 KiB
INI
## IMG.CFG: Example FlashFloppy Geometry Configuration File for Raw IMG Images
|
|
|
|
# Supports tagged IMG/IMA raw image files with self-identifying geometry.
|
|
|
|
# If you wish to use this feature, your IMG.CFG must be placed in the
|
|
# root folder or FF/ subfolder of your USB drive.
|
|
# NOTE: If FF/ exists, IMG.CFG must reside there, not the root folder.
|
|
|
|
# A badly-defined section (eg. undefined mandatory parameters) may result in
|
|
# error 31 (Bad Image).
|
|
|
|
####################################################################
|
|
## TAG in square brackets.
|
|
## Format: [<tagname>][::<filesize>]
|
|
## Matching Rules:
|
|
## 1. <tagname> matches images of the form *.<tagname>.{img,ima,dsk}
|
|
## 2. Missing (empty) tagname matches any *.{img,ima,dsk} which is untagged
|
|
## or does not match any other defined tag.
|
|
## 3. Tagnames and their matches are NOT case sensitive.
|
|
## 4. <filesize>, if specified, must exactly match the image filesize.
|
|
## 5. If an image matches no tag, FlashFloppy uses normal geometry
|
|
## auto-detection based on the host= setting in FF.CFG.
|
|
|
|
# [dsdd80::737280] matches images with names of the form *.dsdd80.{img,ima,dsk}
|
|
# and with size exactly 720kB (737280 bytes).
|
|
[dsdd80::737280]
|
|
|
|
## DISK-SCOPE PARAMETERS
|
|
# Apply to the whole disk image. Cannot appear in a @tracks sub-section.
|
|
|
|
# Mandatory: Number of cylinders (1-255).
|
|
cyls = 80
|
|
|
|
# Mandatory: Number of heads (1-2).
|
|
heads = 2
|
|
|
|
# Number of drive-head steps between cylinders. Default is 1.
|
|
# step = 1
|
|
|
|
# Image file track layout. Default is "interleaved".
|
|
# Comma-separated values:
|
|
# sequential: Sequential cylinder ordering: all side 0, then side 1.
|
|
# interleaved: Interleaved cylinder ordering: c0s0, c0s1, c1s0, c1s1, ...
|
|
# reverse-sideN: Side-N cylinders are ordered from high to low (N=0,1).
|
|
# sides-swapped: Sides 0 and 1 ordering is swapped in the image file.
|
|
# eg. "sequential,reverse-side1"
|
|
# file-layout = interleaved
|
|
|
|
## TRACK-SCOPE PARAMETERS
|
|
# These can vary across tracks. By default they apply to all tracks unless
|
|
# preceded by a @tracks declaration.
|
|
|
|
# tracks = <track-list>
|
|
# Specify the tracks that the following track-scope parameters applies to.
|
|
# Format:
|
|
# track-list ::= <track-range>[,<track-list>]
|
|
# track-range ::= <cylinder>[.<head>] | <cylinder>-<cylinder>[.<head>]
|
|
# cylinder ::= [0-9][0-9]*
|
|
# head ::= 0|1
|
|
# If no head is specified in a track-range, then all heads are assumed.
|
|
# Examples:
|
|
# "0-23.1,45.0" specifies head 1 of cyls 0-23 and head 0 of cyl 45.
|
|
# "27-33" specifies all heads of cyls 27-33.
|
|
|
|
# Number of sectors per track (0-256). Default is 0.
|
|
secs = 9
|
|
|
|
# Bytes per sector (128, 256, 512, 1024, 2048, 4096, 8192).
|
|
# Mandatory if @secs is non-zero.
|
|
bps = 512
|
|
|
|
# Alternative form in which bytes per sector is specified per sector.
|
|
# The list is comma separated; no white space allowed.
|
|
# bps = 512,512,512,512,512,512,512,512,256
|
|
|
|
# Bytes per sector within the IMG file. Smaller sectors will be padded.
|
|
# The default is 0: Sectors occupy precisely their data size; No padding.
|
|
# Supported values: 0, 128, 256, 512, 1024, 2048, 4096, 8192.
|
|
# img_bps = 0
|
|
|
|
# ID of first sector on each track (0-255). Default is 1.
|
|
# Numbers may be expressed in hexadecimal with 0x prefix (eg. 0xab).
|
|
# id = 1
|
|
|
|
# Head number for all sectors on this track (auto|0|1). Default is auto.
|
|
# auto = use physical drive head number
|
|
# h = auto
|
|
|
|
# Recording mode (fm | mfm). Default is mfm.
|
|
# mode = mfm
|
|
|
|
# Sector interleave. Default is 1:1 (no interleave).
|
|
# interleave = 1
|
|
|
|
# Sector skew per cylinders. Default is 0 (no skew).
|
|
# cskew = 0
|
|
|
|
# Sector skew per head. Default is 0 (no skew).
|
|
# hskew = 0
|
|
|
|
# Rotational RPM. Default is 300.
|
|
# rpm = 300
|
|
|
|
# Post-ID Gap (auto|0-255). Default is auto.
|
|
# auto = based on recording mode and sector size.
|
|
# gap2 = auto
|
|
|
|
# Post-Data Gap (auto|0-255). Default is auto.
|
|
# auto = based on recording mode and sector size.
|
|
# gap3 = auto
|
|
|
|
# Post-Index Gap (auto|0-255). Default is auto.
|
|
# auto = based on recording mode and sector size.
|
|
# gap4a = auto
|
|
|
|
# Index Address Mark (yes | no). Default is yes.
|
|
# iam = yes
|
|
|
|
# Data rate in kHz (kbit/s) (eg. MFM DD = 250). Default is 0.
|
|
# 0 = based on recording mode and size of track.
|
|
# rate = 0
|
|
|
|
|
|
####################################################################
|
|
# An example definition for a Kaypro DS/DD 40-track image.
|
|
[kaypro-dsdd40]
|
|
cyls = 40
|
|
heads = 2
|
|
interleave = 3
|
|
secs = 10
|
|
bps = 512
|
|
tracks = 0-39.0
|
|
id = 0 # Side 0, sector IDs 0..9
|
|
tracks = 0-39.1
|
|
id = 10 # Side 1, sector IDs 10..19
|
|
|
|
|
|
####################################################################
|
|
# An example definition for TSC Flex.
|
|
#
|
|
# Flex format is double-density but with single-density (FM) cylinder 0.
|
|
# Sector numbering and interleave is continuous across drive heads. Since
|
|
# there is no direct way to flag this, we implement it here by explicitly
|
|
# specifying head 1 track formats: with sector @id following on from head 0,
|
|
# and with @hskew shifting the first sector of side 1 the correct amount to
|
|
# simulate cross-track interleave.
|
|
[flex::733184]
|
|
cyls = 80
|
|
heads = 2
|
|
bps = 256 # All tracks have 256-byte sectors. Number of sectors varies.
|
|
tracks = 0.0 ## Boot cylinder, head 0
|
|
secs = 10
|
|
mode = fm
|
|
interleave = 4
|
|
id = 1
|
|
tracks = 0.1 ## Boot cylinder, head 1
|
|
secs = 10
|
|
mode = fm
|
|
interleave = 4
|
|
hskew = 1 # Simulates correct inter-track interleave
|
|
id = 11 # Follows on from head 0 (1..10)
|
|
tracks = 1-79.0 ## All other cylinders, head 0
|
|
secs = 18
|
|
mode = mfm
|
|
interleave = 6
|
|
id = 1
|
|
tracks = 1-79.1 ## All other cylinders, head 1
|
|
secs = 18
|
|
mode = mfm
|
|
interleave = 6
|
|
hskew = 5 # Simulates correct inter-track interleave
|
|
id = 19 # Follows on from head 0 (1..18)
|