BBS: Inland Empire Archive Date: 07-06-92 (08:03) Number: 174 From: MIKE KELLY Refer#: NONE To: RICK PEDLEY Recvd: NO Subj: SMLFNT.BAS (Was: Re: Text Conf: (2) Quik_Bas
Rick: The code is a quick and dirty demo. The next message creates the font used here. ----------------SMLFNT.BAS ' Public Domain by Michael J. Kelly, 7/6/92 ' Load with /L command line option TYPE regtypeX ax AS INTEGER bx AS INTEGER cx AS INTEGER dx AS INTEGER bp AS INTEGER si AS INTEGER di AS INTEGER flags AS INTEGER ds AS INTEGER es AS INTEGER END TYPE DECLARE SUB InterruptX (i AS INTEGER, a AS regtypeX, b AS regtypeX) DECLARE SUB Loadfont () CONST MonitorType$ = "VGA" ' substitute your favorite function ' to determine monitor type CLS SELECT CASE MonitorType$ CASE "VGA", "MCGA" Lines% = 50 CASE "EGA" Lines% = 43 CASE ELSE SYSTEM END SELECT DEF SEG = 0 POKE &H484, Lines% - 1 ' Reset video adapter for # lines POKE &H485, 8 ' 8 bytes/char (low bit) POKE &H486, 0 ' make sure high bit is clear DEF SEG Loadfont ' Load the 8x8 font ' Display something OPEN "smlfnt.bas" FOR INPUT AS #1 FOR x% = 1 TO 49 LINE INPUT #1, t$ PRINT t$ NEXT CLOSE q$ = INPUT$(1) SUB Loadfont DIM reg AS regtypeX ' Standard DIM Font1% = FREEFILE OPEN "SMLFONT.FNT" FOR BINARY AS #Font1% t$ = STRING$(LOF(Font1%), 0) ' Define as string for the font GET #Font1%, , t$ ' Read the font CLOSE #Font1% reg.ax = &H1100 ' AH = &H11 ' AL = 0 - load user font reg.cx = &HFF ' Number of chars to load (256) reg.bx = &H800 ' BH = bytes/char, BL = block to load reg.dx = &H0 ' DX = Offset into map 2 block (0) reg.es = VARSEG(t$) ' Pointer to user table reg.bp = SADD(t$) ' Pointer to user table InterruptX &H10, reg, reg ' CALL Interrupt 10 reg.ax = &H1103 ' AH = &H11 ' AL = 3- Set block specifier reg.bx = 0 ' BL = Block to load InterruptX &H10, reg, reg ' CALL Interrupt 10 t$ = "" ' Free up some memory END SUB ------------ Mike --- QM v1.00 * Origin: Russian House, Portland, OR, USA (1:105/23.48)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET