home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume11 / pc-xbd / part02 / graph.asm < prev    next >
Assembly Source File  |  1990-12-17  |  1KB  |  132 lines

  1.     TITLE    SOUND.ASM
  2.  
  3.  
  4.     PAGE   ,132
  5.  
  6.  
  7.  
  8.  
  9.     .MODEL    SMALL
  10.  
  11.  
  12.     .CODE
  13.  
  14.  
  15. ;
  16. ;    void drawPgm(int x, int y, char *pgm, char mode)
  17. ;
  18.  
  19.     PUBLIC    _drawPgm
  20.  
  21. _drawPgm    PROC
  22.  
  23.     push    bp
  24.     mov    bp, sp
  25.  
  26.     push    si
  27.     push    di
  28.     push    es
  29.  
  30.  
  31.     mov    ax, 0A000h
  32.     mov    es, ax
  33.  
  34.     mov    ax, word ptr [BP+06h]    ; y
  35.     mov    bx, 80
  36.     mul    bx
  37.     add    ax, word ptr [BP+04h]    ; x
  38.     mov    di, ax
  39.  
  40.     mov    si, word ptr [BP+08h]    ; pgm
  41.     add    si, 4
  42.  
  43.  
  44.     cld
  45.  
  46.     mov    dx, 03CEh
  47.  
  48.     mov    ax, 0FF08h        ; All bits are writen
  49.     out    dx, ax
  50.  
  51.  
  52.     mov    ax, 0005h        ; Write Mode 0
  53.     out    dx, ax
  54.  
  55.     mov    ax, 0003h        ; Mode Register SETed
  56.     out    dx, ax
  57.  
  58.  
  59.     mov    dx, 03C4h
  60.     mov    bx, 78
  61.  
  62.  
  63.     push    di
  64.     mov    cx, 16    
  65.     mov    ax, 0102h        ; Enable PLAN 0
  66.     out    dx, ax
  67. l1:
  68.     movsw
  69.     add    di, bx
  70.     loop    l1
  71.     pop    di
  72.  
  73.  
  74.     push    di
  75.     mov    cx, 16
  76.     shl    ah, 1            ; Enable PLAN 1
  77.     out    dx, ax
  78. l2:
  79.     movsw
  80.     add    di, bx
  81.     loop    l2
  82.     pop    di
  83.  
  84.  
  85.     push    di
  86.     mov    cx, 16
  87.     shl    ah, 1            ; Enable PLAN 2
  88.     out    dx, ax
  89. l3:
  90.     movsw
  91.     add    di, bx
  92.     loop    l3
  93.     pop    di
  94.  
  95.  
  96.     mov    cx, 16
  97.     shl    ah, 1            ; Enable PLAN 3
  98.     out    dx, ax
  99. l4:
  100.     movsw
  101.     add    di, bx
  102.     loop    l4
  103.  
  104.     
  105.     mov    ax, 0F02h
  106.     out    dx, ax
  107.  
  108.     mov    dx, 03CEh
  109.     
  110.     mov    ax, 0000h
  111.     out    dx, ax
  112.     mov    ax, 0001h
  113.     out    dx, ax
  114.     mov    ax, 0FF08h
  115.     out    dx, ax
  116.  
  117.  
  118.     pop    es
  119.     pop    di
  120.     pop    si
  121.  
  122.     mov    sp, bp
  123.     pop    bp
  124.  
  125.     ret
  126.  
  127.  
  128. _drawPgm    ENDP
  129.  
  130.  
  131.     END
  132.