Image Map Image Map
Page 3 of 6 FirstFirst 123456 LastLast
Results 21 to 30 of 60

Thread: DOS File Level access to Secondary (370H) FDC - Driver

  1. #21
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    34,138
    Blog Entries
    18

    Default

    Depends on the platform, but the most straighforward way, IMOHO, is to hook Interrupt 1ch This is a dummy routine called by the INT 8 servicer and normally contains only an IRET instruction.

    Why do this rather than 08h? Because there are some utilities and games that run the 8254 with a shorter interval to get better granularity. The usual way is to get the 8254 to interrupt, say, 4X more often, then program in a divide by 4 routine in the INT 8 servicer before passing the interrupt on to the regular time-of-day routines. 1Ch occurs down the chain, so no matter what you're running, the tick rate should be constant.

    Besides, this is why interrupt 1Ch is part of the BIOS.

  2. #22
    Join Date
    Feb 2017
    Location
    Guildford, U.K.
    Posts
    390

    Default

    Quote Originally Posted by pcdosretro View Post
    You would really need a device driver which accessed the secondary floppy controller (370h-377h) for DOS to see the drives since PC BIOSes only access the primary controller for INT 13h access which is what the DOS builtin disk driver uses. Even then DOS may not recognize the disks since they aren't in a standard floppy format (160KB, 180KB, 320KB, 360KB, 720KB, 1.2MB, 1.44MB, 2.88MB). I don't recall a specific media descriptor byte code for 8" floppy drives though there were two old unused codes (FAh and FBh).

    Would it be possible to use a null modem serial cable to transfer over whatever data you have from whatever computer used the 8" floppy drives to a PC ? Seems like that would be easier than trying to get an anachronistic device from the 70s to work with a PC from the 80s.
    I remembered my first "Personal Computer", the S-100 bus Morrow Designs Decision I, had a floppy controller that supported 4 diskette drives and provided both a 34-pin 5.25" FD header and, IIRC a 50-pin 8" FD header. I never thought about the differences at the time, but all 3 diskette drives (I had by that time installed the 5.25" FH 5MB HD in place of one 5.25" FD) worked in perfect co-operation. The 5.25" diskettes were 10spt, hard-sectored, but that's a minor issue in retrospect. I remembered the 8" (Tandon TM800?) drives were capable of 800KB double-sided , maximum.

    Media Descriptors:
    http://stanislavs.org/helppc/media_descriptor_byte.html

    HTTH,
    Tim
    Last edited by WBST; January 22nd, 2020 at 12:07 AM.

  3. #23

    Default

    I hope to have the motor off timer implemented this weekend. The roadmap after that is:
    1) correct crashing in the error handler
    2) get formatting working
    3) make build with DSDD 8" parameters
    4) abstract driver to allow choosing between drive types with command line switch at loading

    Got a set of 10 NIB DSDD 8" disks for testing on ebay for $15 shipped, so that's nice

  4. #24

    Default

    I was able to get the driver to read and write to SCP 8" SSSD DOS disks. Both 86-DOS 1.00 and MS-DOS 1.25

    Figuring out why the driver crashes on any error (only when using the secondary controller) is still vexing me.

  5. #25

    Default

    been trying to get DD SCP floppies working, but when I set the logical sector size to 1024B in the BPB DOS actually generates a "sector size too large" error when I try to load the driver

    I thought DOS supported 1024 byte sectors? Is there some other parameter I need to change to trick it into allowing that? (media byte, DOS drive type - I'm using '4') ?

  6. #26
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    34,138
    Blog Entries
    18

    Default

    Japanese NEC PC98 MS-DOS supports 8x1024 byte tracks, but that's a different matter--you can't run NEC MS-DOS on a standard PC (hardware and BIOS incompatible). 512 byte sectors are pretty firmly embedded in stock MS-DOS. I can't recall if a DOS patch was needed for the DOS 3 dodges to get around the 16-bit maximum sector number for hard drives, or if it was simply handled with a special driver. I suppose you could try hacking the table pointed to by interrupt 0x1E

    When I wrote drivers for the Apricot and PC98 disks, I used blocking/deblocking routines to provide a 512-byte sector interface. Simple enough and doesn't require any particular version of DOS or patches.

    Windows NT... handles 1024 byte sectors just fine.

  7. #27

    Default

    Quote Originally Posted by Chuck(G) View Post
    When I wrote drivers for the Apricot and PC98 disks, I used blocking/deblocking routines to provide a 512-byte sector interface. Simple enough and doesn't require any particular version of DOS or patches.
    I suspected this would be the approach I would need to take. Just thought it was strange though as I have seen multiple sources saying DOS supports 1024B sectors, including a post from pcdosretro in this very thread.

  8. #28

    Default

    Progress is being made.

    1) correct crashing in the error handler
    2) get formatting working
    3) make build with DSDD 8" parameters
    4) abstract driver to allow choosing between drive types with command line switch at loading

    Also the secondary motor timer is done. Got to get that crashing fixed on disk errors. Then to implement a blocking/deblocking routine for the 1024 byte sectors

    As of right now the driver is totally functional, if bugged with all standard drive types and 8" SSSD disks, on either the primary or secondary FDC.

    Going to implement a command line switch to choose the original 86-DOS parameters for the 8" disks vs the DOS 1.25/2.0 ones as well. The only difference is the size of the root directory, and the 86-D SSSD disk has 2 reserved tracks.

  9. #29

    Default

    86-DOS 8" mode is done

    I've got to say, having direct access to an 86-DOS 1.00 8" disk in Windows 3.11 and over the network via FTP puts a goofy grin on my face.

  10. #30

    Default

    Quote Originally Posted by maxtherabbit View Post
    86-DOS 8" mode is done

    I've got to say, having direct access to an 86-DOS 1.00 8" disk in Windows 3.11 and over the network via FTP puts a goofy grin on my face.
    Excellent work man! So when is the public BETA?
    Current Wish List: 1. IBM 7531 Industrial Series PC 2. NEC MultiSync XL (JC-2001) Monitor 3. MicroSolutions MatchPoint AND/OR UniDOS card 4. Compaq 14" VGA CRT Monitor (the one that came with the SystemPro). 5. Stacker HW CoProcessor Board MCA BUS. If you have any of the above for sale please PM me. Thank you!

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •