Changeset 242 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/Serial
- Timestamp:
- Feb 10, 2012, 3:12:40 AM (13 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Device/Serial
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/Serial/SerialCommand.asm
r234 r242 112 112 mov ch,dh 113 113 xor dh,dh 114 eSHL_IM dx, 2 ; shift from one byte to two 115 114 eSHL_IM dx, 2 ; shift from one byte to two 115 116 116 mov al,[bp+IDEPACK.bSectorCount] 117 117 … … 599 599 ; wSerialPortAndBaud Non-Zero: 600 600 ; previous serial drive not found: -> Error - Not Found (4) 601 ; previo suserial drive found: -> Continue with wSerialPackedAndBaud (5)601 ; previous serial drive found: -> Continue with wSerialPackedAndBaud (5) 602 602 ; wSerialPortAndBaud Zero: 603 603 ; previous serial drive not found: -> Error - Not Found (4) … … 608 608 ; And as with the int13h/25h case, we just go off and get the needed information using the user's setting. 609 609 ; (2) We are using the special .ideVarsSerialAuto structure. During drive detection, we would only be here 610 ; if we ha nd't already seen a serial drive (since we only scan if no explicit drives are set),610 ; if we hadn't already seen a serial drive (since we only scan if no explicit drives are set), 611 611 ; so we go off to scan. 612 612 ; (3) We are using the special .ideVarsSerialAuto structure. We won't get here during drive detection, but … … 633 633 pop si 634 634 jnc .notfounddpt 635 mov ax, [ds:di+DPT_SERIAL.wSerialPortAndBaud]636 .notfounddpt: 635 mov ax, [di+DPT_SERIAL.wSerialPortAndBaud] 636 .notfounddpt: 637 637 638 638 test bh, FLG_DRVNHEAD_DRV … … 647 647 jnz .identifyDeviceInDX 648 648 649 or dx,ax ; Since DX is zero, this effectively moves the previously found serial drive 649 or dx,ax ; Since DX is zero, this effectively moves the previously found serial drive 650 650 ; information to dx, as well as test for zero 651 651 jz .scanSerial … … 672 672 pop cx 673 673 pop dx 674 674 675 675 pop bp 676 676 ; 677 ; place port and baud word in to the return sector, in a vendor specific area, 677 ; place port and baud word in to the return sector, in a vendor specific area, 678 678 ; which is read by FinalizeDPT and DetectDrives 679 679 ; … … 732 732 ; Begin baud rate scan on this port... 733 733 ; 734 ; On a scan, we support 6 baud rates, starting here and going higher by a factor of two each step, with a 734 ; On a scan, we support 6 baud rates, starting here and going higher by a factor of two each step, with a 735 735 ; small jump between 9600 and 38800. These 6 were selected since we wanted to support 9600 baud and 115200, 736 ; *on the server side* if the client side had a 4x clock multiplier, a 2x clock multiplier, or no clock multiplier. 736 ; *on the server side* if the client side had a 4x clock multiplier, a 2x clock multiplier, or no clock multiplier. 737 737 ; 738 738 ; Starting with 30h, that means 30h (2400 baud), 18h (4800 baud), 0ch (9600 baud), and … … 747 747 shr dh,1 748 748 jz .nextPort 749 cmp dh,6 ; skip from 6 to 4, to move from the top of the 9600 baud range 749 cmp dh,6 ; skip from 6 to 4, to move from the top of the 9600 baud range 750 750 jnz .testBaud ; to the bottom of the 115200 baud range 751 751 mov dh,4 -
trunk/XTIDE_Universal_BIOS/Src/Device/Serial/SerialDPT.asm
r233 r242 13 13 ; Nothing 14 14 ; Corrupts registers: 15 ; AX , BX, CX, DX15 ; AX 16 16 ;-------------------------------------------------------------------- 17 17 SerialDPT_Finalize: 18 18 or byte [di+DPT.bFlagsHigh], FLGH_DPT_SERIAL_DEVICE 19 19 mov ax, [es:si+ATA6.wVendor] 20 mov word[di+DPT_SERIAL.wSerialPortAndBaud], ax20 mov [di+DPT_SERIAL.wSerialPortAndBaud], ax 21 21 ret 22 22
Note:
See TracChangeset
for help on using the changeset viewer.