Changeset 258 in xtideuniversalbios for trunk/Serial_Server/win32/Win32.cpp


Ignore:
Timestamp:
Feb 22, 2012, 7:01:53 PM (12 years ago)
Author:
gregli@…
google:author:
gregli@hotmail.com
Message:

Added floppy drive emulation over the serial connection (MODULE_SERIAL_FLOPPY). Along the way, various optimizations were made to stay within the 8K ROM size target. Also, serial code now returns the number of sectors transferred.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Serial_Server/win32/Win32.cpp

    r233 r258  
    3030        "  -n [megabytes]      Create new disk with given size or use -g geometry",
    3131        "                      Maximum size is " USAGE_MAXSECTORS,
    32         "                      (default is a 32 MB disk, with CHS geometry 65:63:16)",
    33         "",
    34         "  -p                  Named Pipe mode for emulators (pipe is \"" PIPENAME "\")",
    35         "",
    36         "  -c COMPortNumber    COM Port to use (default is first found)",
     32        "                      (default is a 32 MB disk, with CHS geometry 65:16:63)",
     33        "",
     34        "  -p [pipename]       Named Pipe mode for emulators",
     35        "                      (must begin with \"\\\\\", default is \"" PIPENAME "\")",
     36        "",
     37        "  -c COMPortNumber    COM Port to use (default is first found)",
     38        "                      Available COM ports on this system are:",
     39     "COM                          ",
    3740        "",
    3841        "  -b BaudRate         Baud rate to use on the COM port, with client machine",
     
    5356        "with xtidecfg.com.  Or one can hold down the ALT key at the end of the normal",
    5457        "IDE hard disk scan and the XTIDE Universal BIOS will scan COM1-7, at each of",
    55         "the four speeds given above for BaudRate.  Note that hardware rate multipliers",
     58        "the six speeds given above for BaudRate.  Note that hardware rate multipliers",
    5659        "must be taken into account on the server end, but are invisible on the client.",
     60        "",
     61        "Floppy images may also be used.  Image size must be exactly the same size",
     62        "as a 2.88MB, 1.44MB, 1.2MB, 720KB, 360KB, 320KB, 180KB, or 160KB disk.",
     63        "Floppy images must be the last disks discovered by the BIOS, and only",
     64        "two floppy drives are supported by the BIOS at a time.",
    5765        NULL };
    5866
    5967    for( int t = 0; usageStrings[t]; t++ )
    60         fprintf( stderr, "%s\n", usageStrings[t] );
     68    {
     69        if( !strncmp( usageStrings[t], "COM", 3 ) )
     70        {
     71            char logbuff[ 1024 ];
     72
     73            SerialAccess::EnumerateCOMPorts( logbuff, 1024 );
     74            fprintf( stderr, "%s%s\n", usageStrings[t]+3, logbuff );
     75        }
     76        else
     77            fprintf( stderr, "%s\n", usageStrings[t] );
     78    }
    6179
    6280    exit( 1 );
     
    120138                break;
    121139            case 'p': case 'P':
    122                 ComPort = "PIPE";
     140                if( argv[t+1][0] == '\\' && argv[t+1][1] == '\\' )
     141                    ComPort = argv[++t];
     142                else
     143                    ComPort = PIPENAME;
    123144                if( !baudRate )
    124145                    baudRate = baudRateMatchString( "115200" );
Note: See TracChangeset for help on using the changeset viewer.