Changeset 567 in xtideuniversalbios for trunk/Assembly_Library/Src/Serial


Ignore:
Timestamp:
May 26, 2014, 1:25:15 PM (11 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • Renamed MODULE_FEATURE_SETS to MODULE_POWER_MANAGEMENT.
  • Renamed MODULE_VERY_LATE_INITIALIZATION to MODULE_VERY_LATE_INIT and removed it from the official builds.
  • Removed the code that skips detection of slave drives on XT-CF controllers since slave drives can be used with Lo-tech ISA CompactFlash boards.
  • Added autodetection of the SVC ADP50L controller to XTIDECFG.
  • The autodetection of XT-CF controllers now requires MODULE_8BIT_IDE_ADVANCED in the loaded BIOS.
  • Fixed a bug in XTIDECFG from r502 where the "Base (cmd block) address" menu option would be displayed when a serial device was selected as the IDE controller.
  • XTIDECFG would display the "Enable interrupt" menu option for the XTIDE r1 but not for the XTIDE r2. It's now displayed for both controller types.
  • Disabled the "Internal Write Cache" menu option in the Master/Slave Drive menus for serial device type drives.
  • Optimizations and other fixes.
Location:
trunk/Assembly_Library/Src/Serial
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Assembly_Library/Src/Serial/SerialServer.asm

    r566 r567  
    2727; SerialServer_SendReceive:
    2828;   Parameters:
    29 ;       DX:     Packed I/O port and baud rate
     29;       DX:     Packed I/O port and baud rate
    3030;       ES:SI:  Ptr to buffer (for data transfer commands)
    3131;       SS:BP:  Ptr to SerialServer_Command structure
    3232;   Returns:
    3333;       AH:     INT 13h Error Code
    34 ;       CX:     Number of 512-byte blocks transferred
     34;       CX:     Number of 512-byte blocks transferred
    3535;       CF:     Cleared if success, Set if error
    3636;   Corrupts registers:
     
    334334;   Returns:
    335335;       BP/SI:  Checksum for written bytes, compared against ACK from server in .readLoop
    336 ;       CX:     Zero
     336;       CX:     Zero
    337337;       DL:     Receive/Transmit Register address
    338 ;       ES:DI:  Ptr to buffer
     338;       ES:DI:  Ptr to buffer
    339339;   Corrupts registers:
    340340;       AX
     
    401401;   Parameters:
    402402;       AH:     UART_LineStatus bit to test (20h for write, or 1h for read)
    403 ;               One entry point fills in AH with 20h for write
     403;               One entry point fills in AH with 20h for write
    404404;       DX:     Port address (OK if already incremented to UART_lineStatus)
    405 ;       BX:
    406 ;       Stack:  2 words on the stack below the command/count word
     405;       BX:
     406;       Stack:  2 words on the stack below the command/count word
    407407;   Returns:
    408 ;       Returns when desired UART_LineStatus bit is cleared
    409 ;       Jumps directly to error exit if timeout elapses (and cleans up stack)
     408;       Returns when desired UART_LineStatus bit is cleared
     409;       Jumps directly to error exit if timeout elapses (and cleans up stack)
    410410;   Corrupts registers:
    411 ;       AX
     411;       AX
    412412;--------------------------------------------------------------------
    413413
  • trunk/Assembly_Library/Src/Serial/SerialServerScan.asm

    r526 r567  
    3131; SerialServerScan_ScanForServer:
    3232;   Parameters:
    33 ;       BH:     Drive Select byte for Drive and Head Select Register
    34 ;               0xAx: Scan for drive, low nibble indicates drive
    35 ;               0x0:  Scan for Server, independent of drives
     33;       BH:     Drive Select byte for Drive and Head Select Register
     34;               0xAx: Scan for drive, low nibble indicates drive
     35;               0x0:  Scan for Server, independent of drives
    3636;       DX:     Port and Baud to Scan for
    3737;               0: Scan a known set of ports and bauds
     
    8989; Note: hardware baud multipliers (2x, 4x) will impact the final baud rate and are not known at this level
    9090;
    91         mov     dh,030h * 2     ; multiply by 2 since we are about to divide by 2
     91        mov     dh,030h * 2     ; multiply by 2 since we are about to divide by 2
    9292        mov     dl,[cs:di]      ; restore single byte port address for scan
    9393
     
    119119; SerialServer_CheckForServer_PortAndBaudInDX:
    120120;   Parameters:
    121 ;       BH:     Drive Select byte for Drive and Head Select Register
    122 ;               0xAx: Scan for drive, low nibble indicates drive
    123 ;               0x0:  Scan for Server, independent of drives
     121;       BH:     Drive Select byte for Drive and Head Select Register
     122;               0xAx: Scan for drive, low nibble indicates drive
     123;               0x0:  Scan for Server, independent of drives
    124124;       DX:     Baud and Port
    125125;       CH:     1: We are doing a scan for the serial server
    126 ;               0: We are working off a specific port given by the user
     126;               0: We are working off a specific port given by the user
    127127;       CL:     1, for one sector to read
    128128;       ES:SI:  Ptr to buffer for return
Note: See TracChangeset for help on using the changeset viewer.