Bits:30001200
Spring til navigation
Spring til søgning
Download Link
Metadata
BitStore.Metadata_version: 1.0 BitStore.Access: public BitStore.Filename: CBM900_HD_EMU.BIN BitStore.Size: 51369720 BitStore.Format: BINARY BitStore.Ident: 30001200:1 BitStore.Digest: sha256:d591176c405d582f73211a0d928e489e498cfc00eb0ec111ce49997608bb0caa BitStore.Last_edit: 20200222 phk DDHF.Keyword: CBM900 Media.Summary: Commodore 900 hard "bit transition" disk image Media.Type: ST506 Disk Media.Model: MiniScribe 3425 Media.Serial: MS III 280042 Media.Description: This object is a "bit transition file" from David Gessweins "MFM-emulator" device. For more information see: http://www.pdp8.net/mfm/mfm.shtml This is a non-standardized file format, but given the CMB900's uniqueness, we judge this to be the best format for preserving a "forever" reproducible image of the hard-disk. This file can either be used to emulate a hard-disk in the CBM900 with Davids hardware (we have tried this, it works) or to format/write a harddisk which the CBM900 can use (this we have not tried yet). The MFM emulator auto-detects the following information about the CBM900 harddisk: --format Intel_iSBC_214_512B \ --sectors 17,0 --heads 4 --cylinders 616 \ --header_crc 0xffff,0x1021,16,0 \ --data_crc 0xffffffff,0x140a0445,32,5 \ --sector_length 512 --retries 50,4 --drive 1 The "Intel_iSBC_214_512B" format may, or may not, be at odds with the fact that the harddisk controller uses a WD1003 chip. The MFM-emulator software can be found at: https://github.com/dgesswein/mfm The format of "transition files" is documented in the source file emu_tran_file.c as follows: // Transition file header format. See code for which fields are present // in which file version. // uint8_t[8] File id string 0xee 0x4d 0x46 0x4d 0x0a 0x1a 0x0a 0x0d // uint32_t File type and version. Current 0x01020200 // uint32_t Offset to start of first track header in bytes. // uint32_t Size of the header portion of each track in bytes. // uint32_t Number of cylinders of track data in file. // uint32_t Number of heads/tracks of data per cylinder. // uint32_t Transition count rate in Hz. Only 200 MHz currently supported. // uint32_t Length of command line used when capturing. // uint8_t Command line used when capturing. Zero terminated. // uint32_t Length of note option. // uint8_t Note option text. Zero terminated. // uint32_t Start time of data from index in nanoseconds. // uint32_t Checksum of header. Calculated over bytes using crc64 in // this program suite. Polynomial 0x140a0445 length 32 initial value // 0xffffffff. // // Transition file track header format // int32_t Cylinder number of track // int32_t Head number of track // uint32_t Number of bytes of transition data // uint32_t Checksum of header and track data. Calculated over bytes // using crc64 in this program suite. Polynomial 0x140a0445 length // 32 initial value 0xffffffff. // Cylinder and head of -1 indicate no more data. // // Transitions are count of clocks between one bits stored as bytes. // A transition of 255 indicates the next 3 bytes are a 24 bit transition // value. A transition value of 254 indicates the next 2 bytes are a 16 // bit transition value. Otherwise the transition count is a single byte. // Clock transition count clock frequency is in file header. For 200 MHz // a count of 40 indicates 5 MHz pulse spacing. *END*