Annotation of /trunk/mkinitrd-magellan/isolinux/rawcon.inc
Parent Directory | Revision Log
Revision 532 -
(hide annotations)
(download)
Sat Sep 1 22:45:15 2007 UTC (17 years ago) by niro
File size: 1331 byte(s)
Sat Sep 1 22:45:15 2007 UTC (17 years ago) by niro
File size: 1331 byte(s)
-import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd
1 | niro | 532 | ; |
2 | ; writechr: Write a single character in AL to the console without | ||
3 | ; mangling any registers. This does raw console writes, | ||
4 | ; since some PXE BIOSes seem to interfere regular console I/O. | ||
5 | ; | ||
6 | %if IS_ISOLINUX | ||
7 | writechr_full: | ||
8 | %else | ||
9 | writechr: | ||
10 | %endif | ||
11 | push ds | ||
12 | push cs | ||
13 | pop ds | ||
14 | call write_serial ; write to serial port if needed | ||
15 | pushfd | ||
16 | test byte [DisplayCon],01h ; Write to screen? | ||
17 | jz .nothing | ||
18 | |||
19 | pushad | ||
20 | mov bh,[BIOS_page] | ||
21 | push ax | ||
22 | mov ah,03h ; Read cursor position | ||
23 | int 10h | ||
24 | pop ax | ||
25 | cmp al,8 | ||
26 | je .bs | ||
27 | cmp al,13 | ||
28 | je .cr | ||
29 | cmp al,10 | ||
30 | je .lf | ||
31 | push dx | ||
32 | mov bh,[BIOS_page] | ||
33 | mov bl,07h ; White on black | ||
34 | mov cx,1 ; One only | ||
35 | mov ah,09h ; Write char and attribute | ||
36 | int 10h | ||
37 | pop dx | ||
38 | inc dl | ||
39 | cmp dl,[VidCols] | ||
40 | jna .curxyok | ||
41 | xor dl,dl | ||
42 | .lf: inc dh | ||
43 | cmp dh,[VidRows] | ||
44 | ja .scroll | ||
45 | .curxyok: mov bh,[BIOS_page] | ||
46 | mov ah,02h ; Set cursor position | ||
47 | int 10h | ||
48 | .ret: popad | ||
49 | .nothing: | ||
50 | popfd | ||
51 | pop ds | ||
52 | ret | ||
53 | .scroll: dec dh | ||
54 | mov bh,[BIOS_page] | ||
55 | mov ah,02h | ||
56 | int 10h | ||
57 | mov ax,0601h ; Scroll up one line | ||
58 | mov bh,[ScrollAttribute] | ||
59 | xor cx,cx | ||
60 | mov dx,[ScreenSize] ; The whole screen | ||
61 | int 10h | ||
62 | jmp short .ret | ||
63 | .cr: xor dl,dl | ||
64 | jmp short .curxyok | ||
65 | .bs: sub dl,1 | ||
66 | jnc .curxyok | ||
67 | mov dl,[VidCols] | ||
68 | sub dh,1 | ||
69 | jnc .curxyok | ||
70 | xor dh,dh | ||
71 | jmp short .curxyok | ||
72 |