flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Hayden 18 Apr 2007, 04:18
The character maps are located on the video bios. Font functions are on INT 10h with AH = 11h and AL set to the subfunction number.
This link is a reference to all the video bios routines, note ~1909kB www.versalogic.com/support/downloads/pdf/69030bg.pdf You may also want to download ralf brown's interrupt list from here www.cs.cmu.edu/~ralf/files.html note character font cells are stored in msb -> lsb, here is a code snippet I wrote in the euphoria programming language that dementrates fow fonts are stored Code: -- legacy bios -> get 8x8 doulbe-dot font pointer... dpmi[REG_AX] = #1130 dpmi[REG_BX] = #0300 -- get pointer to 1st 128 chars dpmi = dos_interrupt(#10,dpmi) pointer = dpmi[REG_ES] * 16 + dpmi[REG_BP] bytes = peek({pointer,((1*8)*128)}) -- ((1 bbp * 8 lines) * 128) -- note: the value returned in cx will be the bytes per character for the active font (typicly 8x16), NOT the actual font requested. dpmi[REG_AX] = #1130 -- get pointer to 2nd 128 chars dpmi[REG_BX] = #0400 dpmi = dos_interrupt(#10,dpmi) pointer = dpmi[REG_ES] * 16 + dpmi[REG_BP] bytes &=peek({ponter,((1*8)*128)}) -- character bytes are stored in MSB format ( quite dumb ) to we need -- to transform each byte to LSB format.... for i = 1 to length(bytes) by 1 do bits = int_to_bits(bytes[i],8) bits = reverse(bits) bytes[i] = bits_to_int(bits) end for -- groups the bytes into characters so we can display the chars in eu's -- graphics modes with 'display_image()' chars = {} for i = 1 to length(bytes) by 8 do chars = append(chars,bytes[i..(7+i)]) end for _________________ New User.. Hayden McKay. Last edited by Hayden on 29 Apr 2007, 17:16; edited 3 times in total |
|||
![]() |
|
fafastrungen 19 Apr 2007, 11:47
Thank you very much dude.
|
|||
![]() |
|
m 28 Apr 2007, 19:08
fafastrungen wrote: Thank you very much dude. _________________ Attitude! |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.