FSCK.CPM(1)
π FSCK.CPM(1) β the check-a-CP/M-file-system girlies' manual π
okay so bestie, welcome to fsck.cpm, a user command, and honestly? she's a little icon. let's get into it.
β¨ NAME β¨
fsck.cpm β check a CP/M file system π©Ί
β¨ SYNOPSIS β¨
fsck.cpm [-f format] [-n] [-u] image
β¨ DESCRIPTION β¨
fsck.cpm is literally here to check and repair a CP/M file system. no cap.
so here's the vibe: after she reads the directory, she does two passes. two. because one pass is not enough for a queen π
Pass one goes through the extent fields and checks them for range and format violations, specifically:
- bad status
- extent number
- last record byte count
- file name
- extension
- block number
- record count
- size of
.COMfiles - time stamp format
- invalid password characters
- invalid time stamp mode
Pass two checks extent connectivity, which means:
- multiple allocated blocks
- duplicate directory entries
π«Ά real talk: fsck.cpm can not yet repair all errors. she's doing her best, okay?? some things are simply beyond her.
β¨ OPTIONS β¨
-fformat β use the given CP/M disk format instead of the default format. your format, your rules π-Tlibdsk-type β libdsk driver type, e.g.telefor Teledisk images orrawfor raw images. β οΈ this one requires buildingcpmtoolswith support forlibdsk, so if you didn't do that, no dice.-nβ open the file system read-only and do not repair any errors. she's just looking respectfully π no touchy.-uβ show all CP/M file names in UPPER CASE. SCREAMING IS A VALID AESTHETIC.
β¨ RETURN VALUE β¨
upon successful completion, exit code 0 is returned. slay. β¨
β¨ ERRORS β¨
any errors are indicated by exit code 1. π
β¨ FILES β¨
/etc/cpmtools/diskdefsβ CP/M disk format definitions
β¨ ENVIRONMENT β¨
CPMTOOLSFMTβ default format
β¨ DIAGNOSTICS β¨
the output looks like this:
image: used/total files (n.n% non-contiguos), used/total blocks
and it means: no inconsistencies could be found. π
okay but let's unpack that, because it's giving "technically true but also kinda weird":
- the number of used files is actually the number of used extents. since a file may use more than one extent, this may be greater than the actual number of files. but a correct measure would not reflect how many files could still be created at most. so like⦠it's the useful number, not the literal number. iykyk.
- a file is considered fragmented if sequential data blocks pointed to by the same extent do not have sequential block numbers.
- the number of used blocks includes the blocks used for system tracks and the directory.
β¨ AUTHORS . β¨
this program is copyright 1997β2021 Michael Haardt <michael@moria.de>. π«Ά
the Windows port is copyright 2000, 2001, 2011 John Elliott <jce@seasip.demon.co.uk>.
this program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. see the GNU General Public License for more details. π«
you should have received a copy of the GNU General Public License along with this program. if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
β¨ SEE ALSO β¨
and that's the whole page, bestie!! this one's from CP/M tools, dated November 2, 2022 β literally iconic of her. go forth and check those file systems, mwah πβ¨π
π¦ where this page comes from
- debian bookworm: cpmtools 2.23-4
- debian trixie: cpmtools 2.23-7
- ubuntu noble: cpmtools 2.23-5build1
- ubuntu questing: cpmtools 2.23-7
- ubuntu resolute: cpmtools 2.23-7build1
- ubuntu stonking: cpmtools 2.23-7build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms