.\" -*- nroff -*- .\" $Id: create_disk.1 1237 2022-05-15 07:51:47Z mueller $ .\" SPDX-License-Identifier: GPL-3.0-or-later .\" Copyright 2013-2022 by Walter F.J. Mueller .\" .\" ------------------------------------------------------------------ . .TH CREATE_DISK 1 2015-06-04 "Retro Project" "Retro Project Manual" .\" ------------------------------------------------------------------ .SH NAME create_disk \- create disk container file for ti_w11 .\" ------------------------------------------------------------------ .SH SYNOPSIS . .SY create_disk .BI \-\-typ "\fR=\fPtyp" .OP \-\-ini=\fIpat\fP .OP \-\-bad .OP \-\-boot .I FILE . .SY create_disk .B \-\-help .YS . .\" ------------------------------------------------------------------ .SH DESCRIPTION Creates a disk container file \fIFILE\fP with the proper size for a disk of type \fItyp\fP. . .\" ------------------------------------------------------------------ .SH OPTIONS . .\" ---------------------------------------------- .IP \fB\-\-typ=\fItyp\fR determines disk type, must be specified. The list of supported disk types can be obtained with the \fB\-\-help\fP option. . .\" ---------------------------------------------- .IP \fB\-\-ini=\fIpat\fR determines whether the container file will be initialized with a specific data pattern. Note that the \fB\-\-bad\fP and \fB\-\-boot\fP options will overwrite the last track or the first sector(s) respectively. The default without \fB\-\-ini\fR is to create a container with all zero data. It is implemented by writing a single zero byte after positioning with \fBlseek\fR(2) to the desired end. This creates a file with 'holes' and defers the actual allocation of disk space to the point when sectors are written. Allowed values for \fIpat\fP are .RS .IP \fBzero\fP creates a disk with all sectors zero'ed. In this case, zero's are explicitly written. The explicit allocation of disk space is the main effect of this option. .IP \fBones\fP creates a disk with all data bytes set to 0xff. .IP \fBdead\fP creates a disk with an alternating 0xdead 0xbeaf pattern. Can be helpful to diagnose whether an operating system accesses uninitialized parts of a disk. .IP \fBtest\fP creates a disk with a unique test pattern in each sector. The whole disk is initialized with groups of 8 16bit words (in PDP-11 little-endian) with .RS .RS 3 .PD 0 .IP 0: 4 absolute disk byte address, lower word .IP 1: 4 absolute disk byte address, upper word .IP 2: 4 current cylinder number (0 based) .IP 3: 4 current track/head number (0 based) .IP 4: 4 current sector number (0 based) .IP 5: 4 number of cylinders for disk type .IP 6: 4 number of tracks/heads for disk type .IP 7: 4 number of sectors for disk type .RE .PD .PP A \fBhexdump\fP(1) of an RP06 disk image initialized with \fB\-\-ini\fP=\fItest\fP will look like .EX 0000000 0000 0000 0000 0000 0000 032f 0013 0016 0000010 0010 0000 0000 0000 0000 032f 0013 0016 ... 00001f0 01f0 0000 0000 0000 0000 032f 0013 0016 0000200 0200 0000 0000 0000 0001 032f 0013 0016 ... a657be0 7be0 0a65 032e 0012 0015 032f 0013 0016 a657bf0 7bf0 0a65 032e 0012 0015 032f 0013 0016 .EE . .RE .RE . .\" ---------------------------------------------- .IP \fB\-\-bad\fP creates a DEC standard 044 compliant bad block table on the last track of the disk container file. . .\" ---------------------------------------------- .IP \fB\-\-boot\fP creates a PDP-11 dummy boot block. When such a disk is attached and booted with \fBti_w11\fP(1) or a simh pdp11 a message like .EX ++======================================++ || This is not a hardware bootable disk || ++======================================++ Disk image created with 'create_disk --typ=RK05': number of cylinders: 203 tracks per cylinder: 2 sectors per track: 12 block size: 512 total number of sectors: 4872 capacity in kByte: 2436 CPU WILL HALT .EE will be printed on the system console and the CPU HALTed. . .\" ---------------------------------------------- .IP \fB\-\-help\fP print full help, with list \fB\-\-typ\fP and \fB\-\-ini\fP options. . .\" ------------------------------------------------------------------ .SH EXIT STATUS If the file \fIFILE\fP can not be created an exit status 1 is returned. .\" ------------------------------------------------------------------ .SH EXAMPLES .IP "\fBcreate_disk -typ=rk05 rk05.dsk\fR" 4 This will create a zero'ed disk contained sized for an RK05 disk. In most cases, it is sufficient to create such plain zero'ed disk images. . .IP "\fBcreate_disk -typ=rl02 -bad rl02.dsk\fR" Creates an RL02-sized disk with a 'factory bad block table'. When using RLxx, RPxx, or RMxx type disks, especially in conjunction with DEC operating systems, it is advisable to create disks with \fB\-\-bad\fP. . .IP "\fBcreate_disk -typ=rk05 -ini=test rk05_test.dsk\fR" Creates an RK05-sized disk with a test pattern. . .\" ------------------------------------------------------------------ .SH "SEE ALSO" .BR ti_w11 (1) .\" ------------------------------------------------------------------ .SH AUTHOR Walter F.J. Mueller