Changes between Version 1 and Version 2 of SerialDrives


Ignore:
Timestamp:
Jun 18, 2021, 2:30:58 AM (3 years ago)
Author:
Krister Nordvall
Comment:

Minor fix.

Legend:

Unmodified
Added
Removed
Modified
  • SerialDrives

    v1 v2  
    2727=== 2. Start the Server ===
    2828
    29 Open a command prompt, and run the SerDrive utility on the server.  Switches are described below. In its simplest form:
     29Open a command prompt, and run the SerDrive utility on the server. Switches are described below. In its simplest form:
    3030        {{{ C:\> SerDrive ImageFile.img }}}
    3131SerDrive will use the first available COM port by default, at a speed of 9600 baud (which is reliable, but relatively slow, you will likely want to increase this for continued use).
     
    3333=== 3. Boot the Client ===
    3434
    35 Boot the client computer. * During drive detection, hold down the Alt key, and at the end of drive detection, the BIOS will display "Master at COM Detect". * The BIOS will now scan the available COM ports on the client (COM 1-7), looking for a server.  If Hotkeys are enabled (MODULE_HOTKEYS), pressing F6 will do the same thing. And you can also configure the BIOS with XTIDECFG to always boot from the serial port (see below).
     35Boot the client computer. During drive detection, hold down the Alt key, and at the end of drive detection, the BIOS will display "Master at COM Detect". The BIOS will now scan the available COM ports on the client (COM 1-7), looking for a server. If Hotkeys are enabled (MODULE_HOTKEYS), pressing F6 will do the same thing. And you can also configure the BIOS with XTIDECFG to always boot from the serial port (see below).
    3636
    37 If a server is found, the floppy and/or hard disk emulated will appear in the boot menu for the BIOS.  You can now proceed as normal.
     37If a server is found, the floppy and/or hard disk emulated will appear in the boot menu for the BIOS. You can now proceed as normal.
    3838
    3939If you have problems, start by adding the {{{-v}}} switch to SerDrive and it will report on each connection request and sector transferred. If that still doesn't work, you may want to try a basic serial communications program to see if you can send and receive characters across the serial port. Depending on your version of Windows, it may include a serial communications program, or you could try a program such as [http://www.kermitproject.org/ Kermit].
     
    4141= Performance =
    4242
    43 Really, emulating a disk drive over a serial link?  That has to be pretty slow, right?
     43Really, emulating a disk drive over a serial link? That has to be pretty slow, right?
    4444
    4545It depends. Using high speed UARTs at a speed of 460K, performance is on par with floppy disk drives of the vintage era, without any of the seek time or interleave factors to slow it down (we're assuming the server PC is very fast and is caching heavily used sectors in memory). With this level of throughput, serial drives are slower than a vintage hard disk, but not by much, and the system is completely usable.
     
    157157= Disk Image Format =
    158158
    159 Disk image files, at this time, are flat hard disk images. Sectors are laid out on disk, starting with sector 0, and proceeding in LBA order (literally 512-byte sector 0, then 1, then 2, etc.). No meta-data about the size of the disk or disk geometry is stored in the file. Also no compression of unused sectors is done. SerDrive's "-n" switch can be used to create images of the proper size, with all sectors initialized to zeros.
     159Disk image files, at this time, are flat hard disk images. Sectors are laid out on disk, starting with sector 0, and proceeding in LBA order (literally 512-byte sector 0, then 1, then 2, etc.). No meta-data about the size of the disk or disk geometry is stored in the file. Also no compression of unused sectors is done. SerDrive's {{{-n}}} switch can be used to create images of the proper size, with all sectors initialized to zeros.
    160160
    161161In the future, support for additional disk image formats may be added.
     
    163163== Disk Image Utilities ==
    164164
    165 [http://www.winimage.com/winimage.htm WinImage] is a good tool that can manipulate image files - it can view, inject, and extract files from a file system stored on the image.   
     165[http://www.winimage.com/winimage.htm WinImage] is a good tool that can manipulate image files - it can view, inject, and extract files from a file system stored on the image.
    166166
    167167Other possible tools include [http://hp.vector.co.jp/authors/VA013937/editdisk/index_e.html DiskExplorer] and GNU has a set of tools called [http://www.gnu.org/software/mtools Mtools], although I have not seen a good port of those to Win32.
     
    171171Floppy and hard disk image files can be shared between the XTIDE Universal BIOS and other emulators, such as [http://bochs.sourceforge.net Bochs]. One nice feature of this is that bootable images can be created and tested in an emulated environment, complete with multiple floppy and CD-ROM drives, and then the resulting image can be used with physical hardware through the BIOS.
    172172
    173 Bochs was used in the development of the serial code, as its debugger offers control over the emulated system that is hard to accomplish on actual hardware.  You can run the XTIDE Universal BIOS in Bochs as an installed option ROM, and interface with Bochs' emulated IDE hard disks and serial ports. To support serial ports, SerDrive's {{{-p}}} switch can be used to run over a Win32 named pipe instead of a physical COM port, and Bochs can be set to emulate a COM port over a named pipe. In addition, it can be set to emulate a specific baud rate from the client (Bochs), using the standard {{{-b}}} switch. The {{{-t}}} switch is useful to prevent the server from timing out on operations, if a breakpoint is hit in the BIOS code.
     173Bochs was used in the development of the serial code, as its debugger offers control over the emulated system that is hard to accomplish on actual hardware. You can run the XTIDE Universal BIOS in Bochs as an installed option ROM, and interface with Bochs' emulated IDE hard disks and serial ports. To support serial ports, SerDrive's {{{-p}}} switch can be used to run over a Win32 named pipe instead of a physical COM port, and Bochs can be set to emulate a COM port over a named pipe. In addition, it can be set to emulate a specific baud rate from the client (Bochs), using the standard {{{-b}}} switch. The {{{-t}}} switch is useful to prevent the server from timing out on operations, if a breakpoint is hit in the BIOS code.