16 Dec 2018 Below are some notes I have made on the different versions of ISIS II that I have decompiled. - Regards, Mark Ogden Check his github repository for his decompilations of ISIS and system tools. ISIS II Version 2.2 Written with the Fortan cross-compiler for PL/M, plus ASM. (V3.0 and above written with native PL/M and ASM.) Supports 2 SD controllers one at 78h and one at 88h each supporting 2 disks ISIS.T0 does not probe available hardware Supports syscalls 0-13 + undocumented 'D' command that provides direct disk I/O. Note version 2.2. does not support the PATH syscall(14) which is used by some of the intel tools. Devices F0 F1 F2 F3 TI TO VI VO I1 O1 TR HR R1 R2 TP HP P1 P2 LP L1 BB CI CO Version 3.4 ISIS.T0 probes disk types and copies the configuration into ISIS.BIN - only disk types are copied Disk types are 1->DD, 2->SD, 3->ISD Controller 1 @ 78h, drives 0-3 for DD or 0-1 for SD Controller 2 @ 88h, drives 2, 3 for SD or drives 4,5 when 0-3 is DD ISD @ 0c1h, drive 0 if system disk else drive 4 ISIS.BIN hdr block is as follows DD (track 2, sector 6) SD (track 2, sector 4) Adds syscall 14 PATH Devices F0 F1 F2 F3 F4 F5 TI TO VI VO I1 O1 TR HR R1 R2 TP HP P1 P2 LP L1 BB CI CO Version 4.0 ISIS.T0 probes disk types and copies configuration tables into ISIS.BIN, this provides information on up to 10 drives, specifically dk$cf$tb: Controller logic: 1->DD, 2->SD, 3->ISD, 4->HD dk$ct$tb: Disk controller: 1->controller 1 (78h), 2->controller 2 (88h), 3->ISD (0c1h), 4->HD (68h) unitmp: Bitmask to select drive rdymsk: Bitmask to determine if the drive is ready tracks: Last logical track on the drive (DD, SD, ISD) ->76, HD->199 sectors: Number of logical sectors per track (DD)->52, (SD, ISD)->26, HD->144 Drive numbering is as per version 3.4 unless a HD is present in which case the HD is allocated F0-F3 and all other drives are moved up 4 slots. Note the HD is used as 4 logical drives. ISIS.BIN hdr block is as follows DD (track 2, sector 6) SD (track 2, sector 4) HD (track 2, sector 31) Devices F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 TI TO VI VO I1 O1 TR HR R1 R2 TP HP P1 P2 LP L1 BB CI CO System calls including undocumented as per version 3.4 Supports boot from F4 Version 4.1 As for version 4.0 Added system call 'E' which sets error handler Version 4.2 As for version 4.1 Adds syscall GETAT (17) Adds ISIS.OV0 which supports GETD. Note ISIS.OV0 itself supports local and remote disks, but ISIS II does not have remote disk support. I assume this is for ISIS III Version 4.2w I haven't included ISIS II 4.2w as I haven't yet decompiled it, but I suspect it is similar to the 4.3w version Version 4.3 As for version 4.2 Adds syscall GETCLIBUF(28) get the internal buffer used to keep CLI information across applications runs and to support command line editing. Note real syscall name is unknown ISIS.CLI supports command line editing Version 4.3w As for Version 4.3 but supports Winchester Disk (type 9) rather than the standard HD WD is sized as 525 cylinders, 5 heads, 70 sectors per track, 128 byte sectors, 13 alternate cylinders The WD is used as 4 logical drives, controller logic (9), drive type (9), 211 last logical track, 210 sectors per track ISIS.BIN header block is located at track 2 sector 46 ISIS.T0 also initialises the WD and sets up the control blocks in memory starting at 0044h For the WD the directory name is hashed to spread the names across the ISIS.DIR and help to locate directory entries quicker. Files prefixed with ISIS are always in bucket 0 to support normal location of key ISIS files. ISIS IV Although I haven't decompiled ISIS IV, the file structure is similar to iRMX. OSIRIS I haven't included information on OSIRIS [but it] supports partitioning and a few other things that I have still to work out.