ImageInfo is currently only a parser/validator for some emulator image files used by emulators of the Radio Shack TRS-80 model 1, 3, 4 line of computers.
The goal is one day to make it a complete image management tool, capable of directory listing, reading and writing files. When you have a large collection of images, it whould be nice to see what they contain by creating an archiving index.
There is no shortage is tools doing the same, see trs-80.com dsk-and-dmk-image-utilities. But it is fun to build this in c.
The image contains the source and a Windows executable, but development is done with Linux with NetBeans. Compilation on Windows XP with the MSYS environment.
Example output of version 0.7 (command was: imageInfo -f NewDos80v2_sddb.dmk -v2 -d):
JV1 check: Size of 261136 bytes does not match a standard JV1 image JV3 check: Image does not match a JV3 profile DMK check: Write Enabled Image is a DMK image Image has 40 tracks, 1 sides. Track 0: 10 sectors, Single density. Track 1: 10 sectors, Single density. Boot sector looks like TRSDOS 2.x or similar DOS GAT (# = used, _ = free): 0 (FF)## 1 (FF)## 2 (FF)## 3 (FF)## 4 (FF)## 5 (FF)## 6 (FF)## 7 (FF)## 8 (FF)## 9 (FF)## 10 (FF)## 11 (FF)## 12 (FF)## 13 (FF)## 14 (FF)## 15 (FF)## 16 (FF)## 17 (FF)## 18 (FF)## 19 (FF)## 20 (FF)## 21 (FF)## 22 (FF)## 23 (FF)## 24 (FF)## 25 (FF)## 26 (FF)## 27 (FF)## 28 (FF)## 29 (FF)## 30 (FF)## 31 (FF)## 32 (FF)## 33 (FF)## 34 (FF)## 35 (FF)## 36 (FF)## 37 (FF)## 38 (FC)__ 39 (FC)__ 40 (FF)## 41 (FF)## 42 (FF)## 43 (FF)## 44 (FF)## 45 (FF)## 46 (FF)## 47 (FF)## 48 (FF)## 49 (FF)## 50 (FF)## 51 (FF)## 52 (FF)## 53 (FF)## 54 (FF)## 55 (FF)## 56 (FF)## 57 (FF)## 58 (FF)## 59 (FF)## 60 (FF)## 61 (FF)## 62 (FF)## 63 (FF)## 64 (FF)## 65 (FF)## 66 (FF)## 67 (FF)## 68 (FF)## 69 (FF)## 70 (FF)## 71 (FF)## 72 (FF)## 73 (FF)## 74 (FF)## 75 (FF)## 76 (FF)## 77 (FF)## 78 (FF)## 79 (FF)## Free Disk space: 5120 bytes Granule lockout table (# = locked out, _ = usable): 0 (FC)__ 1 (FC)__ 2 (FC)__ 3 (FC)__ 4 (FC)__ 5 (FC)__ 6 (FC)__ 7 (FC)__ 8 (FC)__ 9 (FC)__ 10 (FC)__ 11 (FC)__ 12 (FC)__ 13 (FC)__ 14 (FC)__ 15 (FC)__ 16 (FC)__ 17 (FC)__ 18 (FC)__ 19 (FC)__ 20 (FC)__ 21 (FC)__ 22 (FC)__ 23 (FC)__ 24 (FC)__ 25 (FC)__ 26 (FC)__ 27 (FC)__ 28 (FC)__ 29 (FC)__ 30 (FC)__ 31 (FC)__ 32 (FC)__ 33 (FC)__ 34 (FC)__ 35 (FC)__ 36 (FC)__ 37 (FC)__ 38 (FC)__ 39 (FC)__ 40 (FF)## 41 (FF)## 42 (FF)## 43 (FF)## 44 (FF)## 45 (FF)## 46 (FF)## 47 (FF)## 48 (FF)## 49 (FF)## 50 (FF)## 51 (FF)## 52 (FF)## 53 (FF)## 54 (FF)## 55 (FF)## 56 (FF)## 57 (FF)## 58 (FF)## 59 (FF)## 60 (FF)## 61 (FF)## 62 (FF)## 63 (FF)## 64 (FF)## 65 (FF)## 66 (FF)## 67 (FF)## 68 (FF)## 69 (FF)## 70 (FF)## 71 (FF)## 72 (FF)## 73 (FF)## 74 (FF)## 75 (FF)## 76 (FF)## 77 (FF)## 78 (FF)## 79 (FF)## Disk label & date: MINNWDOS 04/24/87 HIT file hashes: 2 3 4 5 6 7 8 9 A2 C4 2E 2F 2C 2D 2A 2B 28 29 26 27 27 A7 26 A6 25 A5 24 A4 23 A3 24 A4 00 00 00 00 D4 00 26 00 F0 00 00 D3 00 00 00 1F 00 29 00 3B 00 00 46 00 00 00 2A 00 00 00 EE 00 00 00 A1 00 32 00 89 00 Ac Ov Ef Rl Filename/Ext Hash UpPw AcPw EOFs G1 G2 G3 G4 FXDE Sector 2: .sui -----X 00 00 00 BOOT /SYS (A2) 607F 1FB2 0005 0 0 .sui ------ 20 00 00 SYS6 /SYS (28) 5678 1234 0023 20 38 .sui ------ 20 00 00 SYS14 /SYS (25) 5678 1234 0005 12 32 ...i -----X 20 00 00 BASIC /CMD (F0) 5678 9642 0012 2 3 Sector 3: .sui ---R-X 00 00 00 DIR /SYS (C4) A71D F9E5 000A 17 1 .sui ------ 20 00 00 SYS7 /SYS (29) 5678 1234 0005 13 0 .sui ------ 20 00 00 SYS15 /SYS (A5) 5678 1234 0005 12 0 .... KCNRWX 20 36 00 NWD80V2 /XLF (29) 9642 9642 0003 4 0 Sector 4: .sui ------ 20 00 00 SYS0 /SYS (2E) 5678 1234 000F 0 34 .sui ------ 20 00 00 SYS8 /SYS (26) 5678 1234 0005 19 0 .sui ------ 20 00 00 SYS16 /SYS (24) 5678 1234 0005 11 0 .... KCNRWX 20 00 00 SPURGE1 /CMD (52) 9642 9642 0020 4 6 .... KCNRWX 20 32 00 CHAINTST/JCL (2A) 9642 9642 0002 7 32 .... KCNRWX 20 02 00 NWD80V2 /ILF (A1) 9642 9642 0003 4 32 Sector 5: .sui ------ 20 00 00 SYS1 /SYS (2F) 5678 1234 0005 16 0 .sui ------ 20 00 00 SYS9 /SYS (27) 5678 1234 0005 19 32 .sui ------ 20 00 00 SYS17 /SYS (A4) 5678 1234 0005 10 32 .... KCNRWX 20 00 00 ASPOOL /MAS (D3) 9642 9642 000A 5 1 .... KCNRWX 20 3F 00 CHAINBLD/BAS (3B) 9642 9642 0014 8 3 Sector 6: .sui ------ 20 00 00 SYS2 /SYS (2C) 5678 1234 0005 16 32 .sui ------ 20 00 00 SYS10 /SYS (27) 5678 1234 0005 15 0 .sui ------ 20 00 00 SYS18 /SYS (23) 5678 1234 0005 14 0 .... KCNRWX 20 A9 00 COMPARE /CMD (D4) 9642 9642 0007 6 1 .... KCNRWX 20 00 00 LMOFFSET/CMD (32) 9642 9642 000A 7 0 10 0 Sector 7: .sui ------ 20 00 00 SYS3 /SYS (2D) 5678 1234 0005 18 0 .sui ------ 20 00 00 SYS11 /SYS (A7) 5678 1234 0005 11 32 .sui ------ 20 00 00 SYS19 /SYS (A3) 5678 1234 0005 13 32 Sector 8: .sui ------ 20 00 00 SYS4 /SYS (2A) 5678 1234 0005 18 32 .sui ------ 20 00 00 SYS12 /SYS (26) 5678 1234 0005 24 0 .sui ------ 20 00 00 SYS20 /SYS (24) 5678 1234 0005 15 32 .... KCNRWX 20 00 00 HELP /CMD (26) 9642 9642 0019 25 4 .... KCNRWX 20 00 00 DISASSEM/CMD (46) 9642 9642 0019 27 36 .... KCNRWX 20 00 00 DIRCHECK/CMD (EE) 9642 9642 000F 30 2 .... KCNRWX 20 00 00 EDTASM /CMD (89) 9642 9642 0023 31 38 Sector 9: .sui ------ 20 00 00 SYS5 /SYS (2B) 5678 1234 0005 20 0 .sui ------ 20 00 00 SYS13 /SYS (A6) 5678 1234 0005 14 32 .sui ------ 20 00 00 SYS21 /SYS (A4) 5678 1234 0005 24 32 .... KCNRWX 20 00 00 SUPERZAP/CMD (1F) 9642 9642 001E 35 5
License is 3-clause BSD.
Last updated: 2014-04-04