home *** CD-ROM | disk | FTP | other *** search
/ PC-X 1998 March / pcx19_9803.iso / PC-XUSER / PC-XUSER.14 / DEMO / PROGRAM / GRAPH.ASM < prev    next >
Encoding:
Assembly Source File  |  1997-11-26  |  1.9 KB  |  121 lines

  1. ;╓───────────────────────────────────────────────────────────────────────────╖
  2. ;║                        -<Kumm video engine  V -0.00>-                     ║
  3. ;║                   32-bit protected mode assembly for WATCOM C             ║
  4. ;║                      Copyright 1997, Kimmel Computer Inc.                 ║
  5. ;╙───────────────────────────────────────────────────────────────────────────╜
  6. .386p
  7. .MODEL FLAT,C
  8. LOCALS
  9. .CODE
  10. PUBLIC init320X200,init640X400,init640X480,disp640X400,disp640X480,disp320X200,closegraph,setpal
  11.  
  12. init320X200 proc
  13.  push ax
  14.  mov  ax,0013h
  15.  int  10h
  16.  pop ax
  17.  ret
  18. init320X200 endp
  19.  
  20. init640X400 proc
  21.  pushad
  22.  mov bx,100h
  23.  mov ax,4f02h
  24.  int 10h
  25.  popad
  26.  ret
  27. init640X400 endp
  28.  
  29. init640X480 proc
  30.  pushad
  31.  mov bx,101h
  32.  mov ax,4f02h
  33.  int 10h
  34.  popad
  35.  ret
  36. init640X480 endp
  37.  
  38. closegraph proc
  39.  push ax
  40.  mov ax,03h
  41.  int 10h
  42.  pop ax
  43.  ret
  44. closegraph endp
  45.  
  46. disp320X200 proc  screen : dword
  47.  pushad
  48.  mov esi,screen
  49.  mov edi,0a0000h
  50.  mov ecx,320*200/4
  51.  rep movsd
  52.  popad
  53.  ret
  54. disp320X200 endp
  55.  
  56. disp640X400 proc  screen : dword ;needs vesa 1.2
  57.  pushad
  58.  mov esi,screen
  59.  mov ebp,3
  60.  xor ebx,ebx
  61.  xor edx,edx
  62.  
  63.  @@disploop:
  64.   mov ax,4f05h
  65.   int 10h
  66.   mov edi,0a0000h
  67.   mov ecx,16384
  68.   rep movsd
  69.   inc edx
  70.   dec ebp
  71.  jnz @@disploop
  72.  mov ax,4f05h
  73.  int 10h
  74.  mov edi,0a0000h
  75.  mov ecx,14848
  76.  rep movsd
  77.  
  78.  popad
  79.  ret
  80. disp640X400 endp
  81.  
  82. disp640X480 proc  screen : dword ;needs vesa 1.2
  83.  pushad
  84.  mov esi,screen
  85.  mov ebp,4
  86.  xor ebx,ebx
  87.  xor edx,edx
  88.  
  89.  @@disploop:
  90.   mov ax,4f05h
  91.   int 10h
  92.   mov edi,0a0000h
  93.   mov ecx,16384
  94.   rep movsd
  95.   inc edx
  96.   dec ebp
  97.   jnz @@disploop
  98.  mov ax,4f05h
  99.  int 10h
  100.  mov edi,0a0000h
  101.  mov ecx,11264
  102.  rep movsd
  103.  
  104.  popad
  105.  ret
  106. disp640X480 endp
  107.  
  108. setpal proc pal:dword
  109.  pushad
  110.  mov dx,03c8h
  111.  xor al,al
  112.  out dx,al
  113.  inc dx
  114.  mov ecx,768
  115.  mov esi,pal
  116.  rep outsb
  117.  popad
  118.  ret
  119. setpal endp
  120.  
  121. END