Changeset 239
- Timestamp:
- Jul 8, 2018, 7:40:35 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bootcode/special/charset.asm
r234 r239 152 152 153 153 ; ----------------------------------------------------------------------------- 154 ; Load the glyphs to the video-bios assuming 400 scanlines 154 ; Get the standard CP437 glyphs from the video-bios -- (400 scanlines version) 155 ; ----------------------------------------------------------------------------- 156 ; Returns ES:BP pointer to charset (in Video-ROM) 157 ; http://www.ctyme.com/intr/rb-0158.htm 155 158 ; ----------------------------------------------------------------------------- 156 159 CHARSET_GetRomGlyphs Proc … … 158 161 mov bh, 6 ; Get ROM VGA 25x80 charset 159 162 int 10h ; VIDEO BIOS: Get charset table pointer 160 mov bx, ds ; ES:BP point to charset (in Video-ROM)163 mov bx, ds 161 164 mov ax, es 162 mov es, bx 163 mov ds, ax 164 mov si, bp ; DS:SI - ROM Font 25x80 and ES==CS165 mov di, offset CharsetTempBuffer 165 mov es, bx ; ES now points to Data-Segment (dest) 166 mov ds, ax ; DS now points to Video-ROM (src) 167 mov si, bp ; SI now points to ROM Font 25x80 168 mov di, offset CharsetTempBuffer ; Located in BSS 166 169 mov cx, 2048 167 rep movsw ; Copy ROM-charset to Temp-Buffer 168 mov ds, bx ; DS==CS170 rep movsw ; Copy ROM-charset to Temp-Buffer in BSS 171 mov ds, bx ; Restore DS (DS==ES==CS) 169 172 ret 170 173 CHARSET_GetRomGlyphs EndP … … 173 176 174 177 ; ----------------------------------------------------------------------------- 175 ; Load the glyphs to the video-bios assuming 400 scanlines 178 ; Set the custom glyphs for the video-adapter assuming 400 scanlines 179 ; ----------------------------------------------------------------------------- 180 ; rousseau.comment.201807071938 :: Changed call from 0x1110 to 0x1100 181 ; On a HP Pavilion dv9000 laptop, when pressing TAB to switch to preboot-menu, 182 ; the text did not start at 0,0 anymore but was moved some 50 odd characters 183 ; to the right. However, the preboot-menu was displayed correctly during the 184 ; scanning phase, so the quirk occurred when the preboot-menu was moved to the 185 ; second video-page. Information from Ralph Brown does state that for 0x1110h 186 ; video-page 0 needs to be active, which might not be the case when the custom 187 ; glyphs are loaded. Switching to 0x1100 solves the problem on the Hp Pavilion 188 ; and the other test-laptop, which did not have this quirk, still works fine. 189 ; That leaves the question why 0x1110 was chosen by Martin in the first place. 190 ; http://www.ctyme.com/intr/rb-0136.htm <!-- 0x1100 --> 191 ; http://www.ctyme.com/intr/rb-0143.htm <!-- 0x1110 ~~ video page 0 remark --> 176 192 ; ----------------------------------------------------------------------------- 177 193 CHARSET_SetCutsomGlyphs Proc … … 179 195 call FX_WaitRetrace ; Wait for retrace to reduce flickering 180 196 ENDIF 181 mov ax, 1110h 197 ;~ mov ax, 1110h ; Works quirky on HP Pavilion dv9000 198 mov ax, 1100h ; Works OK on HP Pavilion dv9000 182 199 mov bh, 16 183 200 xor bl, bl
Note:
See TracChangeset
for help on using the changeset viewer.