source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeIO.asm@ 157

Last change on this file since 157 was 150, checked in by Tomi Tilli, 14 years ago

Changes to XTIDE Universal BIOS:

  • Redesigned Disk Parameter Tables.
  • Code generalizations for supporting non-IDE devices in the future.
File size: 1.4 KB
Line 
1; Project name : XTIDE Universal BIOS
2; Description : IDE Register I/O functions.
3
4; Section containing code
5SECTION .text
6
7;--------------------------------------------------------------------
8; IdeIO_OutputALtoIdeRegisterInDX
9; Parameters:
10; AL: Byte to output
11; DX: IDE Register
12; CS:BX: Ptr to IDEVARS
13; Returns:
14; Nothing
15; Corrupts registers:
16; DX
17;--------------------------------------------------------------------
18ALIGN JUMP_ALIGN
19IdeIO_OutputALtoIdeRegisterInDX:
20 add dx, [cs:bx+IDEVARS.wPort]
21 out dx, al
22 ret
23
24
25;--------------------------------------------------------------------
26; IdeIO_OutputALtoIdeControlBlockRegisterInDX
27; Parameters:
28; AL: Byte to output
29; DX: IDE Control Block Register
30; CS:BX: Ptr to IDEVARS
31; Returns:
32; Nothing
33; Corrupts registers:
34; DX
35;--------------------------------------------------------------------
36ALIGN JUMP_ALIGN
37IdeIO_OutputALtoIdeControlBlockRegisterInDX:
38 add dx, [cs:bx+IDEVARS.wPortCtrl]
39 out dx, al
40 ret
41
42
43;--------------------------------------------------------------------
44; IdeIO_InputToALfromIdeRegisterInDX
45; Parameters:
46; DX: IDE Register
47; CS:BX: Ptr to IDEVARS
48; Returns:
49; AL: Inputted byte
50; Corrupts registers:
51; DX
52;--------------------------------------------------------------------
53ALIGN JUMP_ALIGN
54IdeIO_InputToALfromIdeRegisterInDX:
55 add dx, [cs:bx+IDEVARS.wPort]
56 in al, dx
57 ret
Note: See TracBrowser for help on using the repository browser.