www.pudn.com > pixit.zip > PIX320.ASM


 
comment # 
 
pix320.com displays the image that follows the code in the VGA 320x200 
by 256 color mode.  The image is made using gifdcd from an appropriate 
.gif file.  For example, this will make porsche.com from porsche.gif 
assuming porsche.gif is a 320x200 .gif image: 
 
        C>gifdcd/w porsche 
        porsche is 320x200x5 bits and 4 bits/color with a global color map 
         background color is 0 
         image: start 0/0 pixels from left/top, is 320x200 sequential 
          code size = 5 bits 
          decompressed image = 64000 pixels 
         file properly terminated (but extra data at end) 
 
        C>copy pix320.com/b+porsche.pix/b porsche.com 
 
# 
 
pix320 segment 
 assume cs:pix320,ds:pix320,es:pix320,ss:pix320 
  org 100h 
start: 
  mov sp,100h 
        ; select 320x200x8 VGA mode. 
  mov ax,13h 
  int 10h 
        ; write 256 color palette. 
  mov ax,1012h 
  mov bx,0 
  mov cx,256 
  mov dx,offset image+16 
  int 10h 
        ; turn off screen. 
  mov dx,03c4h 
  mov al,1 
  out dx,al 
  inc dx 
  in al,dx 
  or al,020h 
  out dx,al 
        ; copy image to screen. 
  cld 
  mov si,offset image+16+768 
  sub di,di 
  mov ax,0a000h 
  mov es,ax 
  assume es:nothing 
  mov cx,32000 
  rep movsw 
        ; turn on screen. 
  mov dx,03c4h 
  mov al,1 
  out dx,al 
  inc dx 
  in al,dx 
  and al,0dfh 
  out dx,al 
        ; wait for keystroke. 
  mov ah,0 
  int 16h 
        ; restore screen and return. 
  mov ax,3 
  int 10h 
  int 20h 
        ; image starts at even byte after code. 
  even 
image label byte 
pix320 ends 
end start