Steve Mastrianni Dec 2010 I have my CCS S-100 system running, with CCS 2422 floppy controller and CCS 2810 CPU. CCS or Central Data memory, and RS232 is Interfacer 1 and Cromemco TUART. I have several 8-inch drives, they are quite unreliable so I replaced them with TEAC 55FGR 5.25-inch drives. I modified my BIOS for the drive, it yields 772KB on a 5.25-inch drive. The changes I made were simply to the step rate and the disk parameter tables. I also modified [the MS-DOS disk transfer utility] 22DISK to read and write those floppies. Additionally, I modified PCPUT and PCGET to work with the Cromemco TUART [serial card] and CompuPro Interfacer 1 [I/O card], so I can ship data back and forth. I wanted to get more room on the 5.25-inch drives, so I modified the disk parameters in BIOS. I can read and write up to 1.5MB on the floppies, but I can’t make 22DISK work with that drive schema. What I’m looking for is help 1) understanding the DPB and 2) understanding 22DISK better, especially is there are limitations to it. [Sydex's old ANADISK and 22DISK are MS-DOS programs, to look at CP/M and other kinds of floppy formats. Steve had some difficulties in using those tools, results were "erratic". - Herb] For example, the DPB allows you to set the block size and number of blocks on the drive. I’m wondering when I would, for example, switch to an 8K block size instead of using a 4K block size. For 22DISK, the parameters I use are exactly the ones I use on my BIOS, but 22DISK can’t read the disk, CP/M reads and writes it just fine. I’m not asking you to answer, I just wanted to give you a flavor of the kind of hints I’m looking for. [I asked for copies of his files and a boot disk, especially for someone else who asked for sources for CCS's BIOS and BOOT. Steve then sent a ZIP file "CCSbackup.zip" with CCS sources, CCS executableB (renamed from .COM to .CPM as is typical for 22DISK), and some notes. It's about 166K bytes. I don't see any modifications to the BIOS sources as Steve discusses. In fact, another customer later verified that the BIOS code in the files matches the BIOS code in the manuals and in paper listings I have. - Herb ] Dec 30 Well, I managed to get a version of duf05 to work on CP/M. I dumped the sectors on the screen to see what the disk looks like. Strange, for sure. The first 3 tracks of CSS disks are written in single density to hold the boot loader code. The DPB for this looks like a standard set of values: DP5D2: DW 80 DB 5 DB 31 DB 3 DW 192 DW 127 DB 128 DB 0 DW 32 DW 3 Now when I look at the initialized floppy with one file copied to it, I see the directory records beginning as expected at track 3, sector 1 (the OS boot loader is on tracks 0, 1, and 2). The directory entry for the file has the correct number of blocks starting at block 1. I then scrolled through the sectors sequentially looking for the start of the data. I found the start of the data 96 sectors from the directory. At 128 bytes per sector, that's only 3072 bytes. Since my block size is 4096, the data should start 128 sectors away (128 directory entries * 32 bytes/entry = 4096 bytes, or one block). The allocation bytes AL0 specifies one block for the directory. I can't explain this yet. I will try later to increase the AL0 parameter to two blocks (C0) and see what effect it has. Another oddity is that the definition data in 22DISK for CCS systems has the OFS parameter set to 6. According to the 22DISK documentation, this should be the number of reserved tracks for the OS, in my case that would be 3. Yet 22DISK had it set to 6 for all CCS entries. I'm wondering if that was some kind of kludge to compensate for some wart in the CCS BIOS or formatting code. At least this gives me something to do in my spare time. 8-) Don't worry about [puzzling it out], I'm not asking you to look at it, just sort of documenting what I've been doing in case you see something easy that is one of those Doh! Moments...something really stupid I've done. I've slogged through code for most of my life, so sooner or later I'll come across the answer and let you know. --Steve Jan 22 2011 I've been working on the system as time permits. I finished up a Kermit for my CCS system using the Columbia [University Kermit archive] sources and the Interfacer 1 board, works great. [Kermit is a standard set of programs for file transfer between many systems, decades old. - Herb] I have been experimenting with the 5.25" drives but not having too much luck. I've modified the DPB to bring the drives up to 1.2MB but it seems somewhat unreliable. They are spinning at 300 RPM, I verified this with a strobe, perhaps I'll need to bring them up to 360 RPM to make it work. They seem reliable at 770K per diskette. [1.2MB operation requires 360 RPM and high-density diskettes. - Herb] I've been experimenting with the block size, trying to get the best performance and large capacity using 2K and 4K blocks. The 4K blocks give me acceptable storage, but seem to be unreliable when I get up to 308 or so total blocks per diskette. I tried to reserve 255 directory entries as well with the proper allocation but not having much luck. As an aside, I also seem to have trouble with DSDD disks using the Shugart 850 and Tandon 848. I can format them with CCSINIT but when I put the OS on them, it won't boot. I also have trouble doing a STAT in the DSDD disk. If I format them as single sided, things work OK but I only end up with 600K on the 8" disks. I'm not sure if I'm just being ignorant or if both drives are having trouble with the second side.