home *** CD-ROM | disk | FTP | other *** search
/ Falcon 030 Power 2 / F030_POWER2.iso / ST_STE / MAGS / MAGGIE22.ARJ / magg22st.msa / GOODIES / ST_INTRO.ZIP / M21.ST / DATA / ADDERFNT.GFA (.txt) next >
GFA-BASIC Atari  |  1996-08-27  |  2KB  |  56 lines

  1. '
  2. '
  3. ' pi2 -> truecolour font file
  4. '
  5. '
  6. RESERVE 500000
  7. CLS
  8. PRINT "Select .pi2 picture:"
  9. FILESELECT "*.pi2","*.*",f$
  10. CLS
  11. PRINT "Select output font file:"
  12. FILESELECT "*.ftr","*.*",f2$
  13. '
  14. pi2%=MALLOC(32066+2048)
  15. font%=MALLOC(8*16*(256-32))
  16. PRINT pi2%,font%
  17. IF pi2%<=0
  18.   END
  19. ENDIF
  20. old%=XBIOS(2)
  21. ' --------------------------------------
  22. phys%=((pi2%+512) AND &HFFFF00)
  23. HIDEM
  24. ' --------------------------------------
  25. VOID XBIOS(5,L:phys%,L:phys%,1)
  26. BLOAD f$,phys%-34
  27. GOSUB convert_font
  28. BSAVE f2$,font%,p%-font%
  29. VOID MFREE(pi1%)
  30. VOID MFREE(newpi1%)
  31. VOID MFREE(font%)
  32. ' --------------------------------------
  33. VOID XBIOS(5,L:old%,L:old%,1)
  34. END
  35. '
  36. PROCEDURE convert_font
  37.   p%=font%
  38.   FOR y%=0 TO ((256-32)/16)-1
  39.     FOR x%=0 TO 15
  40.       IF (16*y%+x%)<&H80
  41.         qx%=x%*8
  42.         qy%=y%*8
  43.         '
  44.         FOR y1%=0 TO 7
  45.           FOR x1%=0 TO 7
  46.             DPOKE p%,PTST(qx%+x1%,qy%+y1%)*&H3FFF
  47.             ADD p%,2
  48.             PSET qx%+x1%,qy%+y1%,1
  49.           NEXT x1%
  50.         NEXT y1%
  51.       ELSE
  52.       ENDIF
  53.     NEXT x%
  54.   NEXT y%
  55. RETURN
  56.