Changeset 181 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/Device.asm


Ignore:
Timestamp:
Nov 13, 2011, 3:38:40 PM (12 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes to all parts of the project:

  • Size optimizations.
  • Added a define (EXCLUDE_FROM_XTIDECFG) to exclude unused library code from XTIDECFG.
  • Tried to minimize time spent with interrupts disabled.
  • Some minor attempts to improve speed (reordering instructions etc).
  • Tried to improve readability, did some cleanup and fixed some errors in comments.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Device/Device.asm

    r175 r181  
    1616;       AX, BX, CX, DX
    1717;--------------------------------------------------------------------
     18%ifdef MODULE_SERIAL
    1819Device_FinalizeDPT:
    19 %ifdef MODULE_SERIAL
    2020    test    BYTE [di+DPT.bFlagsHigh], FLGH_DPT_SERIAL_DEVICE
    2121    jnz     SHORT .FinalizeDptForSerialPortDevice
     22    jmp     IdeDPT_Finalize
     23
     24.FinalizeDptForSerialPortDevice:
     25    jmp     SerialDPT_Finalize
     26%else
     27    Device_FinalizeDPT EQU IdeDPT_Finalize
    2228%endif
    23     jmp     IdeDPT_Finalize
    24 %ifdef MODULE_SERIAL
    25 .FinalizeDptForSerialPortDevice:
    26     jmp     SerialDPT_Finalize     
    27 %endif
     29
    2830
    2931;--------------------------------------------------------------------
     
    3739;       AL, BX, CX, DX
    3840;--------------------------------------------------------------------
     41%ifdef MODULE_SERIAL
    3942Device_ResetMasterAndSlaveController:
    40 %ifdef MODULE_SERIAL
    4143    test    BYTE [di+DPT.bFlagsHigh], FLGH_DPT_SERIAL_DEVICE
    4244    jnz     SHORT ReturnSuccessForSerialPort
     45    jmp     IdeCommand_ResetMasterAndSlaveController
     46%else
     47    Device_ResetMasterAndSlaveController EQU IdeCommand_ResetMasterAndSlaveController
    4348%endif
    44     jmp     IdeCommand_ResetMasterAndSlaveController
    4549
    4650
     
    5862;       AL, BL, CX, DX, SI, DI, ES
    5963;--------------------------------------------------------------------
     64%ifdef MODULE_SERIAL
    6065Device_IdentifyToBufferInESSIwithDriveSelectByteInBH:
    61 %ifdef MODULE_SERIAL
    6266    cmp     BYTE [cs:bp+IDEVARS.bDevice], DEVICE_SERIAL_PORT
    6367    je      SHORT .IdentifyDriveFromSerialPort
    64 %endif
    6568    jmp     IdeCommand_IdentifyDeviceToBufferInESSIwithDriveSelectByteInBH
    66 %ifdef MODULE_SERIAL
     69
    6770.IdentifyDriveFromSerialPort:
    6871    jmp     SerialCommand_IdentifyDeviceToBufferInESSIwithDriveSelectByteInBH
     72%else
     73    Device_IdentifyToBufferInESSIwithDriveSelectByteInBH EQU IdeCommand_IdentifyDeviceToBufferInESSIwithDriveSelectByteInBH
    6974%endif
     75
    7076
    7177;--------------------------------------------------------------------
     
    8389;       AL, BX, CX, DX, (ES:SI for data transfer commands)
    8490;--------------------------------------------------------------------
     91%ifdef MODULE_SERIAL
    8592ALIGN JUMP_ALIGN
    8693Device_OutputCommandWithParameters:
    87 %ifdef MODULE_SERIAL
    8894    test    BYTE [di+DPT.bFlagsHigh], FLGH_DPT_SERIAL_DEVICE
    8995    jnz     SHORT .OutputCommandToSerialPort
    90 %endif
    9196    jmp     IdeCommand_OutputWithParameters
    92 %ifdef MODULE_SERIAL
     97
    9398ALIGN JUMP_ALIGN
    9499.OutputCommandToSerialPort:
    95100    jmp     SerialCommand_OutputWithParameters
     101%else
     102    Device_OutputCommandWithParameters EQU IdeCommand_OutputWithParameters
    96103%endif
     104
    97105
    98106;--------------------------------------------------------------------
     
    107115;       AL, BX, CX, DX
    108116;--------------------------------------------------------------------
     117%ifdef MODULE_SERIAL
    109118ALIGN JUMP_ALIGN
    110119Device_SelectDrive:
    111 %ifdef MODULE_SERIAL
    112120    test    BYTE [di+DPT.bFlagsHigh], FLGH_DPT_SERIAL_DEVICE
    113121    jnz     SHORT ReturnSuccessForSerialPort
    114 %endif
    115122    jmp     IdeCommand_SelectDrive
    116 %ifdef MODULE_SERIAL
     123
    117124ReturnSuccessForSerialPort:
    118125    xor     ax, ax
    119126    ret
     127%else
     128    Device_SelectDrive EQU IdeCommand_SelectDrive
    120129%endif
     130
Note: See TracChangeset for help on using the changeset viewer.