# Sector size in bytes
# Number of tracks ( * heads)
# Number of sectors
# Block size
# Number of directory entries
# Logical sector skew
# Number of reserved system tracks ( * heads)
# system (2.2, 3, p2dos)

#udo munk z80pack
diskdef ibm-3740
  seclen 128
  tracks 77
  sectrk 26
  blocksize 1024
  maxdir 64
  skew 6
  boottrk 2
  os p2dos
end

#udo munk z80pack
diskdef 4mb-hd
  seclen 128
  tracks 1024
  sectrk 32
  blocksize 2048
  maxdir 256
  skew 1
  boottrk 0
  os p2dos
end

diskdef pcw
  seclen 512
  tracks 40
  sectrk 9
  blocksize 1024
  maxdir 64
  skew 1
  boottrk 1
  os 3
end

diskdef pc1.2m
  seclen 512
  tracks 80
  # this format uses 15 sectors per track, but 30 per cylinder
  sectrk 30
  blocksize 4096
  maxdir 256
  skew 1
  boottrk 0
  os 3
end

# CP/M 86 on 1.44MB floppies
diskdef cpm86-144feat
  seclen 512
  tracks 160
  sectrk 18
  blocksize 4096
  maxdir 256
  skew 1
  boottrk 2
  os 3
end

diskdef cf2dd
  seclen 512
  tracks 160
  sectrk 9
  blocksize 2048
  maxdir 256
  skew 1
  boottrk 1
  os 3
end

#amstrad: values are read from super block (special name hardcoded)

# Royal alphatronic
# setfdprm /dev/fd1 dd ssize=256 cyl=40 sect=16 head=2
diskdef alpha
  seclen 256
  tracks 40
  sectrk 32
  blocksize 2048
  maxdir 128
  skew 1
  boottrk 2
  os 2.2
end

# Apple II CP/M skew o Apple II DOS 3.3 skew
diskdef apple-do
  seclen 256
  tracks 35
  sectrk 16
  blocksize 1024
  maxdir 64
  skewtab 0,6,12,3,9,15,14,5,11,2,8,7,13,4,10,1
  boottrk 3
  os 2.2
end

# Apple II CP/M skew o Apple II PRODOS skew
diskdef apple-po
  seclen 256
  tracks 35
  sectrk 16
  blocksize 1024
  maxdir 64
  skewtab 0,9,3,12,6,15,1,10,4,13,7,8,2,11,5,14
  boottrk 3
  os 2.2
end

# MYZ80 hard drive (only works with libdsk, because it has a 256-byte header)
diskdef myz80
  seclen 1024
  tracks 64
  sectrk 128
  blocksize 4096
  maxdir 1024
  skew 1
  boottrk 0
  os 3
end

# Despite being Amstrad formats, CPC System and CPC Data don't have an Amstrad
# superblock. You'll need to use libdsk to access them because the Linux
# and Windows kernel drivers won't touch them.
diskdef cpcsys
  seclen 512
  tracks 40
  sectrk 9
  blocksize 1024
  maxdir 64
  skew 1
  boottrk 2
  os 3
end
diskdef cpcdata
  seclen 512
  tracks 40
  sectrk 9
  blocksize 1024
  maxdir 64
  skew 1
  boottrk 0
  os 3
end

# after being read in with no sector skew.
diskdef nigdos
  seclen 512
  # NigDos double sided disk format, 42 tracks * 2 sides
  tracks 84
  sectrk 10
  blocksize 2048
  maxdir 128
  skew 1
  boottrk 0
  # this format wastes half of the directory entry
  logicalextents 1
  os 3
end

diskdef epsqx10
  seclen 512
  tracks 40
  sectrk 20
  blocksize 2048
  maxdir 128
  skew 0
  boottrk 2
  os 2.2
end

diskdef ibm-8ss
  seclen 512
  tracks 40
  sectrk 8
  blocksize 1024
  maxdir 64
  skew 0
  boottrk 1
  os 2.2
end

diskdef ibm-8ds
  seclen 512
  tracks 40
  sectrk 8
  blocksize 1024
  maxdir 64
  skew 0
  boottrk 1
  os 2.2
end

diskdef electroglas
  seclen 512
  tracks 80
  sectrk 10
  blocksize 2048
  maxdir 256
  skew 0
  boottrk 1
  os 3
end

# IBM CP/M-86
# setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 head=1
diskdef ibmpc-514ss
   seclen 512
   tracks 40
   sectrk 8
   blocksize 1024
   maxdir 64
   skew 1
   boottrk 1
   os 2.2
end

# IBM CP/M-86
# setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48
diskdef ibmpc-514ds
   seclen 512
   tracks 80
   sectrk 8
   blocksize 2048
   maxdir 64
   skew 0
   boottrk 2
   os 2.2
end

diskdef p112
  seclen 512
  tracks 160
  sectrk 18
  blocksize 2048
  maxdir 256
  skew 1
  boottrk 2
  os 3
end

diskdef p112-old
  seclen 512
  tracks 160
  sectrk 18
  blocksize 2048
  maxdir 128
  skew 1
  boottrk 1
  os 3
end

diskdef kpii
  seclen 512
  tracks 40
  sectrk 10
  blocksize 1024
  maxdir 32
  skew 0
  boottrk 1
  os 2.2
end

# setfdprm /dev/fd0 dd sect=10
diskdef interak
  seclen 512
  tracks 80
  sectrk 20
  blocksize 4096
  maxdir 256
  skew 1
  boottrk 2
  os 2.2
end

# Timex FDD3000 3"
diskdef fdd3000
  seclen 256
  tracks 40
  sectrk 16
  blocksize 1024
  maxdir 128
  boottrk 4
  os 2.2
  skew 7
end

# Timex FDD3000 3"
diskdef fdd3000_2
  seclen 256
  tracks 40
  sectrk 16
  blocksize 1024
  maxdir 128
  boottrk 2
  os 2.2
  skew 5
end

# Robotron 1715
diskdef 1715
  seclen 1024
  tracks 40
  sectrk 5
  blocksize 1024
  maxdir 64
  skew 0
  boottrk 3
  os 2.2
end

# Robotron 1715 with SCP3
diskdef 17153
  seclen 1024
  tracks 160
  sectrk 5
  blocksize 2048
  maxdir 128
  skew 0
  boottrk 4
  os 3
end

# Visual Technology Visual 1050 computer
diskdef v1050
  seclen 512
  tracks 80
  sectrk 10
  blocksize 2048
  maxdir 128
  skew 0
  boottrk 2
  os 3
end

# Microbee 40 track 5.25" disks
diskdef microbee40
  seclen 512
  tracks 80
  sectrk 10
  blocksize 2048
  maxdir 128
  skewtab 1,4,7,0,3,6,9,2,5,8
  boottrk 2
  os 2.2
end

diskdef dreamdisk40
  seclen 512
  tracks 80
  sectrk 10
  blocksize 2048
  maxdir 128
  skewtab 1,4,7,0,3,6,9,2,5,8
  boottrk 2
  os 2.2
end

diskdef dreamdisk80
  seclen 512
  tracks 160
  sectrk 10
  blocksize 2048
  maxdir 256
  skewtab 1,4,7,0,3,6,9,2,5,8
  boottrk 2
  os 2.2
end

diskdef rc759
  seclen 1024
  tracks 160
  sectrk 8
  blocksize 2048
  maxdir 512
  boottrk 4
  os 3
end


#### V. Pohlers #####

#### DDR ####

#624K (16x256x80x2), mit Systemspur, 128 DIR-Eintrge
diskdef scp624
  seclen 256
  tracks 160
  sectrk 16
  blocksize 2048
  maxdir 128
  skew 0
  boottrk 4
  os 2.2
end

#640K (16x256x80x2), ohne Systemspur, 128 DIR-Eintrge
diskdef scp640
  seclen 256
  tracks 160
  sectrk 16
  blocksize 2048
  maxdir 128
  skew 0
  boottrk 0
  os 2.2
end

# 800K (5x1024x80x2), mit Systemspur, 128 DIR-Eintrge
# KC85-Hausformat
diskdef scp780
  seclen 1024
  tracks 160
  sectrk 5
  blocksize 2048
  maxdir 128
  skew 0
  boottrk 4
  os 2.2
end

# 800K (5x1024x80x2), ohne Systemspur, 128 DIR-Eintrge
diskdef scp800
  seclen 1024
  tracks 160
  sectrk 5
  blocksize 2048
  maxdir 128
  skew 0
  boottrk 0
  os 2.2
end

# 800K (5x1024x80x2), ohne Systemspur, 192 DIR-Eintrge
# Z9001-Hausformat
diskdef scp800_192
  seclen 1024
  tracks 160
  sectrk 5
  blocksize 2048
  maxdir 192
  skew 0
  boottrk 0
  os 2.2
end

# 720K MSDOS-Format, Z9001
diskdef scp720
  seclen 512
  tracks 160
  sectrk 9
  blocksize 2048
  maxdir 128
  skew 0
  boottrk 0
  os 2.2
end

# NDR-Computer R.-D.K.
diskdef ndk
  seclen 1024
  tracks 160
  sectrk 10
  blocksize 2048
  maxdir 256
  skew 0
  boottrk 2
  os 3
end

# YAZE BOOT_UTILS.ydsk
diskdef yazehd
  seclen 2048
  tracks 256
  sectrk 8
  blocksize 2048
  maxdir 1024
  skew 0
  boottrk 0
  os 2.2
end

# YAZE testdsk.ydsk
diskdef yazefd
  seclen 128
  tracks 80
  sectrk 26
  blocksize 2048
  maxdir 1024
  skew 0
  boottrk 0
  os 2.2
end

# YAZE CPM3_SYSdsk.ydsk
diskdef yazefd3
  seclen 2048
  tracks 64
  sectrk 8
  blocksize 2048
  maxdir 512
  skew 0
  boottrk 0
  os 3
end

# the default format
# (for me scp800b = z9001)
diskdef default
  seclen 1024
  tracks 160
  sectrk 5
  blocksize 2048
  maxdir 192
  skew 0
  boottrk 0
  os 2.2
end
