; SIFEINC.ACT›; Super-IRG Font Editor›; INCLUDE››; By Bill Kendrick›; kendrick@zippy.sonoma.edu››; New Breed Software›; http://zippy.sonoma.edu/kendrick/nbs/››; November 21, 1997 - November 26, 1997›››Proc VBLANKD()› FLIP=4-FLIP› CHBAS=CHPage+FLIP› PMCOL0=FLASH› PMCOL1=FLASH› FLASH=FLASH+1›[$6C OLDVBI]›››Proc DLI()›[$48 $98 $48 $8A $48]› WSYNC=VCOUNT›› CHBASE=CHBAS+8›[$68 $AA $68 $A8 $68 $40]›››Proc SETVBV(Byte Which,Card Addr)› Card Pointer Temp› Byte V›› Temp=$216+(Which LSH 1)› V=RTCLOCK+1› While V<>RTCLOCK Do oD› Temp^=Addr›› FLIP=0›Return›››Proc StartDLI(Card Addr)› NMIEN=$40›› OLDDLI=VDSLST› VDSLST=Addr›› Poke(SDLST+22,$84)›› NMIEN=$C0›Return›››Proc StopDLI()› NMIEN=$40› › Poke(SDLST+22,$04)›› VDSLST=OLDDLI›Return›››Proc DrawColorArrow()› Zero(SC+32,32)› Poke(SC+32+6+Colr*2,12)› Poke(SC+32+6+Colr*2+1,13)›Return›››Proc ClearChar()› Byte A,B›› For A=2 To 17 Do› Zero(SC+A*32+8,16)› Od›› For A=2 To 1+Size*2 Do› For B=0 To Size-1 Do› Poke(SC+A*32+8+B*2,10)› Poke(SC+A*32+8+B*2+1,11)› Od› Od›› Zero(CH+8*14,32)› Zero(CH+1024+8*14,32)›Return›››Proc DoDrawChar(Char TheChr, Byte X, Y)› Byte A,B,C,C1,C2,C3,Z,CSet›› For A=0 To 7 Do› For B=0 To 3 Do› C1=0› C2=0› C3=0›› For CSet=0 To 1 Do› C=Peek(CH+2048+CSet*1024+TheChr*8+A)›› If (C&Blue(B))=Blue(B) Then› C3=C3+1› ElseIf (C&Red(B))=Red(B) Then› C1=C1+1› ElseIf (C&Green(B))=Green(B) Then› C2=C2+1› Fi› Od›› Z=ColorChar(C1+C2*3+C3*9)›› If Z<>0 Then› Poke(SC+64+A*32+8+B*2+X+Y*32,Z)› Poke(SC+64+A*32+8+B*2+X+Y*32+1,Z)› Fi› Od› Od›Return›››Proc DrawChar()› Byte Z›› ClearChar()›› Z=8› DoDrawChar(Chr,0,0)›› If Size=8 Then› DoDrawChar(Chr+1,8,0)› DoDrawChar(Chr+2,0,8)› DoDrawChar(Chr+3,8,8)› Z=32› Fi›› MoveBlock(CH+8*14,CH+2048+Chr*8,Z)› MoveBlock(CH+1024+8*14,CH+3072+Chr*8,Z)›Return›››Proc DoSaveChar(Char TheChr, Byte X, Y)› Byte A,B,C,Z,CSet,Togl›› Togl=0›› For CSet=0 To 1 Do› Togl=1-Togl›› For A=0 To 7 Do› C=0›› For B=0 To 3 Do› Z=Peek(SC+64+A*32+8+B*2+Y*32+X)›› If Z=10 Then› Z=0› Fi›› Togl=1-Togl›› Z=Z+Togl*10›› If RedChar(Z)<>0 Then› C=C%Red(B)› Fi› If BlueChar(Z)<>0 Then› C=C%Blue(B)› Fi› If GreenChar(Z)<>0 Then› C=C%Green(B)› Fi›› Poke(CH+2048+CSet*1024+TheChr*8+A,C)› Od› Togl=1-Togl› Od› Od›Return›››Proc SaveChar()› DoSaveChar(OChr,0,0)›› If Size=8 Then› DoSaveChar(OChr+1,8,0)› DoSaveChar(OChr+2,0,8)› DoSaveChar(OChr+3,8,8)› Fi›Return›››Proc MyError()› Byte Z,B›› Z=Peek(712)› For B=0 To 150 Do› Sound(0,B,0,15-B/15)› Poke(712,B)› Od› Poke(712,Z)› Sound(0,0,0,0)›Return›››Proc SetUp()› Byte A,B,C› Card I› Card VVBLKD=$224›› Graphics(0) ›› OldError=Error› Error=MyError›› Poke(559,45)›› Ch=((Buffer/1024)+1)*1024› ChPage=Ch/256› PMG=Ch+4096› Poke(54279,PMG/256)›› Zero(Ch,2048)› MoveBlock(Ch+2048,57344,1024)› MoveBlock(Ch+3072,57344,1024)›› Zero(PMG,1024)› Poke(53277,3)› Poke(53256,0)› Poke(53257,0)› Poke(53248,0)› Poke(53249,0)›› MoveBlock(Ch+0+1*8,"DDDD"+1,8)› MoveBlock(Ch+0+2*8,"UUUUUUUU"+1,8)› MoveBlock(Ch+0+3*8,"ˆˆˆˆ"+1,8)› For A=0 To 3 Do› Poke(Ch+0+3*8+(A*2),34)› Od› MoveBlock(Ch+0+4*8,"ªªªªªªªª"+1,8)› MoveBlock(Ch+0+5*8,"3Ì3Ì3Ì3Ì"+1,8)› MoveBlock(Ch+0+6*8,"ÿÿÿÿÿÿÿÿ"+1,8)› MoveBlock(Ch+0+7*8,"f™f™f™f™"+1,8)› MoveBlock(Ch+0+8*8,"»î»î»î»î"+1,8)› MoveBlock(Ch+0+9*8,"wÝwÝwÝwÝ"+1,8)› MoveBlock(Ch+0+10*8,"Ì€€€3"+1,8)› MoveBlock(Ch+0+11*8,"Ì3"+1,8)› MoveBlock(Ch+0+12*8," 0À"+1,8)› MoveBlock(Ch+0+13*8,"À0 "+1,8)›› MoveBlock(Ch+1024+1*8,"DDDD"+1,8)› MoveBlock(Ch+1024+2*8,"UUUUUUUU"+1,8)› MoveBlock(Ch+1024+3*8,"ˆˆˆˆ"+1,8)› For A=0 To 3 Do› Poke(Ch+1024+3*8+(A*2)+1,34)› Od› MoveBlock(Ch+1024+4*8,"ªªªªªªªª"+1,8)› MoveBlock(Ch+1024+5*8,"Ì3Ì3Ì3Ì3"+1,8)› MoveBlock(Ch+1024+6*8,"ÿÿÿÿÿÿÿÿ"+1,8)› MoveBlock(Ch+1024+7*8,"™f™f™f™f"+1,8)› MoveBlock(Ch+1024+8*8,"î»î»î»î»"+1,8)› MoveBlock(Ch+1024+9*8,"ÝwÝwÝwÝw"+1,8)› MoveBlock(Ch+1024+10*8,"3€€€Ì"+1,8)› MoveBlock(Ch+1024+11*8,"3Ì"+1,8)› MoveBlock(Ch+1024+12*8," 0À"+1,8)› MoveBlock(Ch+1024+13*8,"À0 "+1,8)›› DL=PeekC(560)+4› For A=2 To 24 Do› Poke(DL+A,4)› Od› Poke(DL-1,68)›› Poke(708,76)› Poke(709,204)› Poke(710,140)› Poke(711,28)›› For A=0 To 9 Do› Poke(SC+6+A*2,A)› Poke(SC+6+A*2+1,A)› Od›› Poke(SC+3*32+30,14)› Poke(SC+3*32+31,15)› Poke(SC+4*32+30,16)› Poke(SC+4*32+31,17)›› Poke(SC+6*32+30,18)› Poke(SC+6*32+31,19)› Poke(SC+7*32+30,20)› Poke(SC+7*32+31,21)›› Zero(CH+18*8,32)› Zero(CH+1024+18*8,32)›› For A=0 To 127 Do› Poke(SC+18*32+A,A)› Od›› Colr=1› X=0› Y=0› Chr=1› Editing=0› Size=4›› Red(0)=64› Red(1)=16› Red(2)=4 › Red(3)=1›› Green(0)=128› Green(1)=32› Green(2)=8 › Green(3)=2›› Blue(0)=192› Blue(1)=48› Blue(2)=12› Blue(3)=3›› ;0123456789› ;BrRgGbBYCP›› ColorChar(0+3*0+9*0)=0;BLACK› ColorChar(0+3*0+9*1)=5;DARKBLUE› ColorChar(0+3*0+9*2)=6;LIGHTBLUE› ColorChar(0+3*1+9*0)=3;DARKGREEN› ColorChar(0+3*1+9*1)=8;CYAN› ColorChar(0+3*1+9*2)=8;CYAN› ColorChar(0+3*2+9*0)=4;LIGHTGREEN› ColorChar(0+3*2+9*1)=8;CYAN› ColorChar(0+3*2+9*2)=8;CYAN› ColorChar(1+3*0+9*0)=1;DARKRED› ColorChar(1+3*0+9*1)=9;PURPLE› ColorChar(1+3*0+9*2)=9;PURPLE› ColorChar(1+3*1+9*0)=7;YELLOW› ColorChar(1+3*1+9*1)=10› ColorChar(1+3*1+9*2)=10› ColorChar(1+3*2+9*0)=7;YELLOW› ColorChar(1+3*2+9*1)=10› ColorChar(1+3*2+9*2)=10› ColorChar(2+3*0+9*0)=2;LIGHTRED› ColorChar(2+3*0+9*1)=9;PURPLE› ColorChar(2+3*0+9*2)=9;PURPLE› ColorChar(2+3*1+9*0)=7;YELLOW› ColorChar(2+3*1+9*1)=10› ColorChar(2+3*1+9*2)=10› ColorChar(2+3*2+9*0)=7;YELLOW› ColorChar(2+3*2+9*1)=10› ColorChar(2+3*2+9*2)=10›› ;0123456789› ;BrRgGbBYCP›› RedChar(00)=0› RedChar(01)=1› RedChar(02)=1› RedChar(03)=0› RedChar(04)=0› RedChar(05)=0› RedChar(06)=0› RedChar(07)=1› RedChar(08)=0› RedChar(09)=1›› RedChar(10)=0› RedChar(11)=0› RedChar(12)=1› RedChar(13)=0› RedChar(14)=0› RedChar(15)=0› RedChar(16)=0› RedChar(17)=0› RedChar(18)=0› RedChar(19)=0›› GreenChar(00)=0› GreenChar(01)=0› GreenChar(02)=0› GreenChar(03)=1› GreenChar(04)=1› GreenChar(05)=0› GreenChar(06)=0› GreenChar(07)=0› GreenChar(08)=1› GreenChar(09)=0›› GreenChar(10)=0› GreenChar(11)=0› GreenChar(12)=0› GreenChar(13)=0› GreenChar(14)=1› GreenChar(15)=0› GreenChar(16)=0› GreenChar(17)=1› GreenChar(18)=0› GreenChar(19)=0›› BlueChar(00)=0› BlueChar(01)=0› BlueChar(02)=0› BlueChar(03)=0› BlueChar(04)=0› BlueChar(05)=1› BlueChar(06)=1› BlueChar(07)=0› BlueChar(08)=0› BlueChar(09)=0›› BlueChar(10)=0› BlueChar(11)=0› BlueChar(12)=0› BlueChar(13)=0› BlueChar(14)=0› BlueChar(15)=0› BlueChar(16)=1› BlueChar(17)=0› BlueChar(18)=1› BlueChar(19)=1›› DrawColorArrow()› ClearChar()›› CHBAS=CHPAGE+8›› OLDVBI=VVBLKD› SETVBV(7,VBLANKD)› StartDLI(DLI)›Return›››Proc ShutDown()› SETVBV(7,OLDVBI)› StopDLI()› Poke(53248,0)› Poke(53249,0)› Graphics(0)› Error=OldError›Return›››