• Please review our updated Terms and Rules here

Generating new floppy based system

8" is really cool, but I can only find SD/SD drives here locally and that's too little capacity.

I plan to use 5.25" drives, but for now as it saves much space on the desk I am using 3.5" drive. Meanwhile I have two blocking algorithms. First buggy one was non DRI. I found it in Spectrabios in BIOS boneyard. Last weekend I tried DRI's version. This version looks like it has no bugs (well I maybe found one), but is too much slow. So again I suspect bad implementation :) DRI version works just fine, I can copy erase, run assemble and all is fine. Only once when I tried to transfer huge file via XMODEM from and back to PC I found first 128bytes in the returned file were wrong. But bigger problem is speed. Every 256 byte physical sector is written twice and that takes two rotations of floppy and so lasts forever and no interleave can help here .. spectrabios version works out one sector after another with interleave factor of just 4.

Of course both implementations are interchangeable and can read floppies written with the other algorithm. If you were interested I could translate all comments to English and post it here.
 
Yes, you are probably fighting some error in the BIOS blocking/deblocking logic then.

I have written a a few BIOS's lately that blocked/deblocked hard disks and another that blocked/deblocked an entire floppy track whenever physical I/O was done in order to improve performance. I ignored the deblocking "hints" passed by the BDOS in register C since a number of CP/M programs "cheat" and call the BIOS entry points directly without properly setting register C. The blocking/deblocking can actually be done in a fairly straight-forward manner if you want to spin your own.

Mike
 
Hi Mike

I found one bug. Now it works like a charm - with DRI blocking algorithm. In the main file the ncb85bios21.asm down bellow the declaration of Track was DS.

It must be
Track: dw 0

Because of DS the utility subroutine for 16-bit compare SEKTRKCMP (in blocking_dri.asm) could not work properly and hence it always took two reads/writes for the 256 byte sector. Now it works properly, writes or reads each sector only once and it is FAST.

I still did not look into spectrabios algorithm much though .. but as I have fine floppy based CP/M now, maybe I will never look at it :)
 
Great job! I haven't had a chance to look at it other than right after you last posted. Glad you figured that out.

Mike
 
http://www.ebay.de/itm/8-034-Floppy-Disk-Laufwerk-034-Original-verpackt-und-neu
I bought one of these yesterday, so in the end, your vision was correct :) I only have a bunch of SD and DD floppy disks. To get full capacity I need HD floppies I guess?? I am not quite familiar with this stuff. I remember I had only one 8" floppy back then at the school for my work and capacity was something like ~80kB. We used them on some Czechoslovak clone of PDP11 computer. Since then I never used 8" floppies anymore.

EDIT: so if I understand it correctly, there were no HD diskettes at all for 8" drives. I can go for DD diskettes. I could be using MFM format 26x 256-byte sectors/77tracks, that is approx 1MB. GPL/GPL3 values 0E/36, data rate 500kBps. Right? Connection could be like this http://www.classiccmp.org/dunfield/img54306/cnct.htm I see one problem with pin 2 - low current. PC8477B does not seem to support low current write pin, head load is another tricky point.
 
Last edited:
case525.jpg
I made an acrylic backlit case for two 5.25" TEAC FD-55BR drives. BIOS supports two drives now. Of course it works :)
statdsk.jpg

Plan for the future:
1. add support for up to four drives
2. then make real PCB, instead of current prototype on universal board
3. and maybe add support for YD-180 8" drive
 
Hi again me. I just spotted 8" drive for sale. It is East Germany Robotron model MF3200
http://www.robotrontechnik.de/index.htm?/html/komponenten/fs.htm

It should be one side single density FM drive. I do not understand one thing. The page mentions there was also model MF6400 with double capacity and MFM encoding. To my understanding, the encoding is selected in controller (in my case separate board with PC8477B - SuperFDC chip) and is not so depending on the drive itself. It is the controller where I am choosing the encoding in my CPM BIOS by setting controllers registers. So my question is obvious: can I use this MF3200 drive with my PC8477B controller and MFM encoding and 256 byte sectors? Will it work and give me cca 500kB of storage?
 
Last edited:
Back
Top