;›;This program gets the Ultima IV›;cell-font. My programs expect a .UFN›;extension for an Ultima IV font.›;›BYTE DUNIT=769,Dsk,Cmd,DCOM=770,›Siostatus=771,IODIR=771›CARD SIZE=776,DSECTOR=778,SEC,›BUFADR=772,Tmt,TIMEOUT=774,SECSIZE=776›BYTE ARRAY SC,pd(8192)››PROC SIOCALL=2144();CALLS LSIO››PROC CIO=$E456(BYTE A,BYTE X)››CARD FUNC Burst(BYTE chan,mode,›CARD addr,buflen)›TYPE IOCB=[BYTE id,num,cmd,stat›CARD badr,padr,blen›BYTE a1,a2,a3,a4,a5,a6]›IOCB POINTER iptr›chan==&$07›iptr=$340+(chan LSH 4)›iptr.cmd=mode›iptr.blen=buflen›iptr.badr=addr›CIO(0,chan LSH 4)›RETURN(iptr.blen)››CARD FUNC BGet(BYTE chan CARD addr,len)›CARD temp›temp=Burst(chan,7,addr,len)›RETURN(temp)››PROC BPut(BYTE chan CARD addr,len)›Burst(chan,11,addr,len)›RETURN››PROC IO()›DUNIT=1 DCOM='R›IODIR=64›BUFADR=Sc TIMEOUT=10›SECSIZE=128›DSECTOR=SEC›Siocall()›RETURN››PROC ReadEm()›sc=pd›FOR Sec=369 TO 369+63 DO› Io()› sc==+128›OD›RETURN››PROC Write()›Close(1)›Open(1,"D:ULTIMA.UFN",8,0)›BPut(1,pd,8192)›Close(1)›RETURN››PROC InMAIN()›BYTE k›PrintE("Insert Boot Disk and press a key...")›k=GetD(7)›POKE(768,49)›Dsk=1 Tmt=4›Cmd='R›Poke(559,0)›ReadEm()›Poke(559,34)›PrintE("Insert Disk to hold 8K Font File...")›k=GetD(7)›Poke(559,0)›Write()›Poke(559,34)›PrintE("Done.")›RETURN››