Home | Reviews | GUIpedia | Forum | Fun500


Dicksimple fast font
This is my personal font routine. It requires a small 1kb font file, which inlcudes the data as well as the machine code to display it: http://qbasic.orgfree.com/FONT.F It is for VGA mode and is very fast. Faster than the bios font and more flexible. But it is limited in some ways. DEFINT A-Z DECLARE SUB printf (x, y, s$) DIM SHARED font(282) AS LONG DEF SEG = VARSEG(font(0)) BLOAD "font.f", VARPTR(font(0)) 'push bp 'mov bp,sp 'push es 'mov ax,0a000h 'mov fs,ax 'les di,[bp+6] 'mov dx,[bp+12] ;y 'mov ax,80 'mul dx 'mov si,[bp+14] ;x 'shr si,3 'add si,ax 'mov bx,[bp+10] 'mov cx,[bx] 'mov bx,[bx+2] 'label: 'push di 'mov ax,[bx] 'sub ax,32 'mov dl,11 'mul dl 'add di,ax 'push cx 'push si 'mov cx,11 'label1: 'mov al,[es:di] 'mov [fs:si],al 'add si,80 'inc di 'loop label1 'pop si 'pop cx 'pop di 'inc bx 'inc si 'loop label 'pop es 'pop bp 'retf 10 SCREEN 12 '''the following is an example LINE (0, 0)-(100, 30), 15, BF printf 0, i, "hello world" FOR i = 33 TO 110 s$ = s$ + CHR$(i) NEXT FOR i = 10 TO 20 printf 0, i * 20, s$ NEXT ''' SUB printf (x, y, s$) DEF SEG = VARSEG(font(0)) CALL absolute(BYVAL x, BYVAL y, s$, SEG font(0), VARPTR(font(262))) END SUB
2011-04-152:29 AM

Code


2021 Brandon Cornell