home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 November / Chip_1998-11_cd.bin / zkuste / pascal / RT / RT.ARJ / RTE05SRC.ZIP / GRABFNT.ASM < prev    next >
Assembly Source File  |  1997-04-13  |  2KB  |  84 lines

  1. ;font_grabber
  2. ;
  3. ;font/screen acces know-how by fox/no!future
  4. ;program & all other by paulsoft/no!future
  5. ;
  6. ;(c)1997 no!future
  7. ;
  8. dosseg
  9. .286
  10. .model small
  11. .stack 100h
  12. .code
  13.  
  14. fname  db 'fontik',0            ;jmeno souboru, kam se ma font zapsat
  15. handle dw 0                     ;handle na soubor
  16.  
  17. seqonx  dw 402h,704h
  18. gdcon   dw 005h,406h,204h
  19.  
  20. seqofx  dw 302h,304h
  21. gdcoff  dw 1005h,0e06h,004h
  22.  
  23.  
  24. facces  proc near              ;prepnuti videopameti na pristup k fontu
  25.         mov si,offset seqonx
  26.         mov dx,3c4h
  27.         outsw
  28.         outsw
  29.         mov dl,0ceh
  30.         outsw
  31.         outsw
  32.         outsw
  33.         ret
  34. facces endp
  35.  
  36. sacces  proc near               ;prepnuti videopameti na pristup k obrazu
  37.         mov si,offset seqofx
  38.         mov dx,3c4h
  39.         outsw
  40.         outsw
  41.         mov dl,0ceh
  42.         outsw
  43.         outsw
  44.         outsw
  45.         ret
  46. sacces endp
  47.  
  48. start:
  49.        mov ax,cs
  50.        mov ds,ax
  51.  
  52.        pusha
  53.        mov ax,seg fname          ;otevreni souboru
  54.        mov ds,ax
  55.        mov dx,offset fname
  56.        mov ah,3ch
  57.        xor cx,cx
  58.        int 21h
  59.        mov handle,ax
  60.        popa
  61.  
  62.        call facces              ;font_acces
  63.  
  64.        push ds
  65.        mov ax,0a000h            ;font je od adresy 0a000h
  66.        mov ds,ax
  67.        xor dx,dx
  68.        mov bx,handle
  69.        mov cx,8192              ;jeho delka je 8192=256*32
  70.        mov ah,40h               ;ulozeni fontu do souboru
  71.        int 21h
  72.        pop ds
  73.  
  74.        call sacces              ;screen_acces
  75.  
  76.        mov bx,handle            ;uzavreni souboru
  77.        mov ah,3eh
  78.        int 21h
  79.  
  80. konec:
  81.        mov ah,4ch               ;konec
  82.        int 21h
  83.  
  84. end start