Changeset 258 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/Serial/SerialCommand.asm
- Timestamp:
- Feb 22, 2012, 7:01:53 PM (13 years ago)
- google:author:
- gregli@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/Serial/SerialCommand.asm
r242 r258 56 56 ; Returns: 57 57 ; AH: INT 13h Error Code 58 ; CX: Number of successfully transferred sectors (for transfer commands) 58 59 ; CF: Cleared if success, Set if error 59 60 ; Corrupts registers: … … 309 310 dec al ; decrement sector count 310 311 push ax ; save 311 jz SerialCommand_OutputWithParameters_ReturnCodeInAL CF ; CF=0 from "cmp ax,bp" returning Zero above312 jz SerialCommand_OutputWithParameters_ReturnCodeInAL 312 313 313 314 cli ; interrupts back off for ACK byte to host … … 409 410 410 411 .clearBufferComplete: 411 stc 412 mov al,1 413 414 ALIGN JUMP_ALIGN 415 SerialCommand_OutputWithParameters_ReturnCodeInALCF: 412 mov al, 3 ; error return code and CF (low order bit) 413 414 ALIGN JUMP_ALIGN 415 SerialCommand_OutputWithParameters_ReturnCodeInAL: 416 416 %if 0 417 417 sti ; all paths here will already have interrupts turned back on 418 418 %endif 419 mov ah, al420 421 pop b p ; recover ax (command and count) from stack, throw away419 mov ah, al ; for success, AL will already be zero 420 421 pop bx ; recover "ax" (command and count) from stack 422 422 423 423 pop bp 424 424 pop di 425 425 pop si 426 427 mov ch, 0 428 mov cl,[bp+IDEPACK.bSectorCount] 429 sub cl, bl ; subtract off the number of sectors that remained 430 431 shr ah, 1 ; shift down return code and CF 426 432 427 433 ret … … 632 638 call FindDPT_ToDSDIforSerialDevice 633 639 pop si 640 %ifdef MODULE_SERIAL_FLOPPY 641 jc .founddpt 642 ; 643 ; If not found above with FindDPT_ToDSDIforSerialDevice, DI will point to the DPT after the last hard disk DPT 644 ; 645 cmp byte [RAMVARS.xlateVars+XLATEVARS.bFlopCntAndFirst], 0 646 jz .notfounddpt 647 .founddpt: 648 %else 634 649 jnc .notfounddpt 650 %endif 635 651 mov ax, [di+DPT_SERIAL.wSerialPortAndBaud] 636 652 .notfounddpt: … … 678 694 ; which is read by FinalizeDPT and DetectDrives 679 695 ; 680 mov [es:si+ATA6.w Vendor],dx696 mov [es:si+ATA6.wSerialPortAndBaud],dx 681 697 682 698 .notFound:
Note:
See TracChangeset
for help on using the changeset viewer.