Changeset 567 in xtideuniversalbios for trunk/Assembly_Library/Src/Serial
- Timestamp:
- May 26, 2014, 1:25:15 PM (11 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk/Assembly_Library/Src/Serial
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Src/Serial/SerialServer.asm
r566 r567 27 27 ; SerialServer_SendReceive: 28 28 ; Parameters: 29 ; 29 ; DX: Packed I/O port and baud rate 30 30 ; ES:SI: Ptr to buffer (for data transfer commands) 31 31 ; SS:BP: Ptr to SerialServer_Command structure 32 32 ; Returns: 33 33 ; AH: INT 13h Error Code 34 ; CX:Number of 512-byte blocks transferred34 ; CX: Number of 512-byte blocks transferred 35 35 ; CF: Cleared if success, Set if error 36 36 ; Corrupts registers: … … 334 334 ; Returns: 335 335 ; BP/SI: Checksum for written bytes, compared against ACK from server in .readLoop 336 ; CX: 336 ; CX: Zero 337 337 ; DL: Receive/Transmit Register address 338 ; ES:DI: 338 ; ES:DI: Ptr to buffer 339 339 ; Corrupts registers: 340 340 ; AX … … 401 401 ; Parameters: 402 402 ; AH: UART_LineStatus bit to test (20h for write, or 1h for read) 403 ; 403 ; One entry point fills in AH with 20h for write 404 404 ; DX: Port address (OK if already incremented to UART_lineStatus) 405 ; 406 ; 405 ; BX: 406 ; Stack: 2 words on the stack below the command/count word 407 407 ; Returns: 408 ; 409 ; 408 ; Returns when desired UART_LineStatus bit is cleared 409 ; Jumps directly to error exit if timeout elapses (and cleans up stack) 410 410 ; Corrupts registers: 411 ; 411 ; AX 412 412 ;-------------------------------------------------------------------- 413 413 -
trunk/Assembly_Library/Src/Serial/SerialServerScan.asm
r526 r567 31 31 ; SerialServerScan_ScanForServer: 32 32 ; Parameters: 33 ; 34 ; 35 ; 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 36 36 ; DX: Port and Baud to Scan for 37 37 ; 0: Scan a known set of ports and bauds … … 89 89 ; Note: hardware baud multipliers (2x, 4x) will impact the final baud rate and are not known at this level 90 90 ; 91 mov dh,030h * 2 91 mov dh,030h * 2 ; multiply by 2 since we are about to divide by 2 92 92 mov dl,[cs:di] ; restore single byte port address for scan 93 93 … … 119 119 ; SerialServer_CheckForServer_PortAndBaudInDX: 120 120 ; Parameters: 121 ; 122 ; 123 ; 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 124 124 ; DX: Baud and Port 125 125 ; CH: 1: We are doing a scan for the serial server 126 ; 126 ; 0: We are working off a specific port given by the user 127 127 ; CL: 1, for one sector to read 128 128 ; ES:SI: Ptr to buffer for return
Note:
See TracChangeset
for help on using the changeset viewer.