Home » Archimedes archive » Acorn User » AU 1995-02.adf » !Q_Q » BackFont

BackFont

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1995-02.adf » !Q_Q
Filename: BackFont
Read OK:
File size: 026E bytes
Load address: 0000
Exec address: 0000
File contents
    1REM >BAckFont
    2REM Install fonts in the background (otherwise it hogs the machine for 
    3REM ages if there are stacks of fonts!
    4:
    5DIM blk% 255:ptr%=0
    6SYS"Wimp_Initialise",200,&4B534154,"Font Install"
    7REPEAT
    8 SYS"OS_ReadMonotonicTime" TO time%
    9 SYS"Wimp_PollIdle",0,blk%,time%+10 TO reason%
   10 IF reason%=0 THEN
   11  SYS "OS_GBPB",10,"<Fonts$Dir>",blk%,1,ptr%,256 TO ,,,,ptr%
   12  IF ptr%>=0 IF blk%!16=2 OR blk%!16=3 IF blk%?20>64 OSCLI"FontInstall 
   13<Fonts$Dir>."+FNstr(blk%+20)+"."
   14 ENDIF
   15 quit%=ptr%<0
   16UNTIL quit%
   17SYS"Wimp_CloseDown"
   18*Unset Font$Dir
   19END
   20:
   21DEF FNstr(A%):LOCAL A$
   22WHILE ?A%>31 A$+=CHR$?A%:A%+=1:ENDWHILE
   23=A$
� >BAckFont
I� Install fonts in the background (otherwise it hogs the machine for 
(� ages if there are stacks of fonts!
:
� blk% 255:ptr%=0
4ș"Wimp_Initialise",200,&4B534154,"Font Install"
�
% ș"OS_ReadMonotonicTime" � time%
	0 ș"Wimp_PollIdle",0,blk%,time%+10 � reason%

 � reason%=0 �
>  ș "OS_GBPB",10,"<Fonts$Dir>",blk%,1,ptr%,256 � ,,,,ptr%
C  � ptr%>=0 � blk%!16=2 � blk%!16=3 � blk%?20>64 �"FontInstall 

$<Fonts$Dir>."+FNstr(blk%+20)+"."
 �
 quit%=ptr%<0
� quit%
ș"Wimp_CloseDown"
*Unset Font$Dir
�
:
� �str(A%):� A$
ȕ ?A%>31 A$+=�?A%:A%+=1:�
=A$
�
00000000  0d 00 01 0f f4 20 3e 42  41 63 6b 46 6f 6e 74 0d  |..... >BAckFont.|
00000010  00 02 49 f4 20 49 6e 73  74 61 6c 6c 20 66 6f 6e  |..I. Install fon|
00000020  74 73 20 69 6e 20 74 68  65 20 62 61 63 6b 67 72  |ts in the backgr|
00000030  6f 75 6e 64 20 28 6f 74  68 65 72 77 69 73 65 20  |ound (otherwise |
00000040  69 74 20 68 6f 67 73 20  74 68 65 20 6d 61 63 68  |it hogs the mach|
00000050  69 6e 65 20 66 6f 72 20  0d 00 03 28 f4 20 61 67  |ine for ...(. ag|
00000060  65 73 20 69 66 20 74 68  65 72 65 20 61 72 65 20  |es if there are |
00000070  73 74 61 63 6b 73 20 6f  66 20 66 6f 6e 74 73 21  |stacks of fonts!|
00000080  0d 00 04 05 3a 0d 00 05  15 de 20 62 6c 6b 25 20  |....:..... blk% |
00000090  32 35 35 3a 70 74 72 25  3d 30 0d 00 06 34 c8 99  |255:ptr%=0...4..|
000000a0  22 57 69 6d 70 5f 49 6e  69 74 69 61 6c 69 73 65  |"Wimp_Initialise|
000000b0  22 2c 32 30 30 2c 26 34  42 35 33 34 31 35 34 2c  |",200,&4B534154,|
000000c0  22 46 6f 6e 74 20 49 6e  73 74 61 6c 6c 22 0d 00  |"Font Install"..|
000000d0  07 05 f5 0d 00 08 25 20  c8 99 22 4f 53 5f 52 65  |......% .."OS_Re|
000000e0  61 64 4d 6f 6e 6f 74 6f  6e 69 63 54 69 6d 65 22  |adMonotonicTime"|
000000f0  20 b8 20 74 69 6d 65 25  0d 00 09 30 20 c8 99 22  | . time%...0 .."|
00000100  57 69 6d 70 5f 50 6f 6c  6c 49 64 6c 65 22 2c 30  |Wimp_PollIdle",0|
00000110  2c 62 6c 6b 25 2c 74 69  6d 65 25 2b 31 30 20 b8  |,blk%,time%+10 .|
00000120  20 72 65 61 73 6f 6e 25  0d 00 0a 12 20 e7 20 72  | reason%.... . r|
00000130  65 61 73 6f 6e 25 3d 30  20 8c 0d 00 0b 3e 20 20  |eason%=0 ....>  |
00000140  c8 99 20 22 4f 53 5f 47  42 50 42 22 2c 31 30 2c  |.. "OS_GBPB",10,|
00000150  22 3c 46 6f 6e 74 73 24  44 69 72 3e 22 2c 62 6c  |"<Fonts$Dir>",bl|
00000160  6b 25 2c 31 2c 70 74 72  25 2c 32 35 36 20 b8 20  |k%,1,ptr%,256 . |
00000170  2c 2c 2c 2c 70 74 72 25  0d 00 0c 43 20 20 e7 20  |,,,,ptr%...C  . |
00000180  70 74 72 25 3e 3d 30 20  e7 20 62 6c 6b 25 21 31  |ptr%>=0 . blk%!1|
00000190  36 3d 32 20 84 20 62 6c  6b 25 21 31 36 3d 33 20  |6=2 . blk%!16=3 |
000001a0  e7 20 62 6c 6b 25 3f 32  30 3e 36 34 20 ff 22 46  |. blk%?20>64 ."F|
000001b0  6f 6e 74 49 6e 73 74 61  6c 6c 20 0d 00 0d 24 3c  |ontInstall ...$<|
000001c0  46 6f 6e 74 73 24 44 69  72 3e 2e 22 2b 46 4e 73  |Fonts$Dir>."+FNs|
000001d0  74 72 28 62 6c 6b 25 2b  32 30 29 2b 22 2e 22 0d  |tr(blk%+20)+".".|
000001e0  00 0e 06 20 cd 0d 00 0f  11 20 71 75 69 74 25 3d  |... ..... quit%=|
000001f0  70 74 72 25 3c 30 0d 00  10 0b fd 20 71 75 69 74  |ptr%<0..... quit|
00000200  25 0d 00 11 16 c8 99 22  57 69 6d 70 5f 43 6c 6f  |%......"Wimp_Clo|
00000210  73 65 44 6f 77 6e 22 0d  00 12 13 2a 55 6e 73 65  |seDown"....*Unse|
00000220  74 20 46 6f 6e 74 24 44  69 72 0d 00 13 05 e0 0d  |t Font$Dir......|
00000230  00 14 05 3a 0d 00 15 13  dd 20 a4 73 74 72 28 41  |...:..... .str(A|
00000240  25 29 3a ea 20 41 24 0d  00 16 1e c8 95 20 3f 41  |%):. A$...... ?A|
00000250  25 3e 33 31 20 41 24 2b  3d bd 3f 41 25 3a 41 25  |%>31 A$+=.?A%:A%|
00000260  2b 3d 31 3a ce 0d 00 17  07 3d 41 24 0d ff        |+=1:.....=A$..|
0000026e