;------------------------------------------------------------ ; Sample assembly file. ;------------------------------------------------------------ ;--------------------------------------------------------------------------- ; Font is saved in the file named DEMO.ASM. To use the font, you must call ; interrupt 10h, function 11h, sub-function 10h to load up the font. ; ; The following are the parameters needed to call the function: ; ; AX = 1110H (ah = 11H, al = 10H) ; BH = bytes per character ; BL = block to load to. (use 0) ; CX = number of character defined by table ; DX = starting character value ; ES = segment of the table (use Seg()) ; BP = offset of the table (use Ofs()) ; ; Notice: The character should always be loaded immediately after setting ; the Video mode. If it is not called immediately after the video ; mode is set, some side effects may occur. We have experienced ; some palette errors when this function is called without setting ; the video mode. The appearance of this effect is intermittent and ; unpredictable, but it may be avoided by following the recommend- ; ation in this paragraph. ; ; FONT MANIA will supply you with the height of the font. It is defined ; by your label name with "_POINTS" added at the end of the string. For ; example, if your label reference is called DEMO, then DEMO_POINTS will ; represent the bytes-per-character of the font (the height of the font). ; ; Set the CX to 256 if you want to load the whole font. If you want to ; load only part of font, Set CX to the number of the character you want ; to load, and set DX to the first character you want to load. ; ; For example, suppose you want to load characters 65 to 88 (A to Z) and ; the label reference is DEMO. Here are the parameters needed: ; ; AX = 1110h ; BH = DEMO_POINTS ; BL = 0 ; CX = 24 ( 24 characters to load ) ; DX = 65 ( first character to load ) ; ES = SEGMENT DEMO ; BP = OFFSET DEMO ; ; See below for examples of how to set the registers. ;---------------------------------------------------------------------------- code segment para org 100h start: mov ax, 3 ; set the SCREEN MODE first int 10h mov ax, 1110h ; use USER's FONT load function mov bh, DEMO_POINTS ; get the bytes per character in bh ; FONT MANIA will provided the font ; height. LABEL_POINTS. xor bl, bl ; load to character block 0 mov cx, 256 ; load all 256 characters xor dx, dx ; begin with character 0 (ascii NULL) mov bp, offset DEMO ; address of the font. LABEL int 10h ; load it int 20h ; terminate the program include demo.asm ; the font data. code ends end start ; end of file / starting point