home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / WINER.ZIP / CHAP6-14.BAS < prev    next >
BASIC Source File  |  1992-05-13  |  2KB  |  79 lines

  1. '********* CHAP6-14.BAS - shows how to save/load EGA and VGA graphics screens
  2.  
  3. 'Copyright (c) 1992 Ethan Winer
  4.  
  5. DEFINT A-Z
  6. DECLARE SUB EgaBSave (FileName$)
  7. DECLARE SUB EgaBLoad (FileName$)
  8.  
  9. SCREEN 9
  10. LOCATE 25, 1
  11. PRINT "Press a key to stop, and save the screen.";
  12.  
  13. '---- clever video effects by Brian Giedt
  14. WHILE LEN(INKEY$) = 0
  15.   T = (T MOD 150) + 1
  16.   C = (C + 1) MOD 16
  17.   LINE (T, T)-(300 - T, 300 - T), C, B
  18.   LINE (300 + T, T)-(600 - T, 300 - T), C, B
  19. WEND
  20.  
  21. LOCATE 25, 1
  22. PRINT "Thank You!"; TAB(75);
  23. CALL EgaBSave("SCREEN9")
  24.  
  25. CLS
  26. LOCATE 25, 1
  27. PRINT "Now press a key to read the screen.";
  28. WHILE LEN(INKEY$) = 0: WEND
  29. LOCATE 25, 1
  30. PRINT TAB(75);
  31.  
  32. CALL EgaBLoad("SCREEN9")
  33.  
  34. SUB EgaBLoad (FileName$) STATIC
  35.  
  36.     'UnREM the KILL statements to erase the saved
  37.     'images after they're loaded
  38.  
  39.     DEF SEG = &HA000
  40.     OUT &H3C4, 2: OUT &H3C5, 1
  41.     BLOAD FileName$ + ".BLU", 0
  42.     'KILL FileName$ + ".BLU"
  43.  
  44.     OUT &H3C4, 2: OUT &H3C5, 2
  45.     BLOAD FileName$ + ".GRN", 0
  46.     'KILL FileName$ + ".GRN"
  47.  
  48.     OUT &H3C4, 2: OUT &H3C5, 4
  49.     BLOAD FileName$ + ".RED", 0
  50.     'KILL FileName$ + ".RED"
  51.  
  52.     OUT &H3C4, 2: OUT &H3C5, 8
  53.     BLOAD FileName$ + ".INT", 0
  54.     'KILL FileName$ + ".INT"
  55.     OUT &H3C4, 2: OUT &H3C5, 15
  56.  
  57. END SUB
  58.  
  59. SUB EgaBSave (FileName$) STATIC
  60.  
  61.     DEF SEG = &HA000
  62.     Size& = 28000       'use 38400 for VGA SCREEN 12
  63.     
  64.     OUT &H3CE, 4: OUT &H3CF, 0
  65.     BSAVE FileName$ + ".BLU", 0, Size&
  66.  
  67.     OUT &H3CE, 4: OUT &H3CF, 1
  68.     BSAVE FileName$ + ".GRN", 0, Size&
  69.  
  70.     OUT &H3CE, 4: OUT &H3CF, 2
  71.     BSAVE FileName$ + ".RED", 0, Size&
  72.  
  73.     OUT &H3CE, 4: OUT &H3CF, 3
  74.     BSAVE FileName$ + ".INT", 0, Size&
  75.  
  76.     OUT &H3CE, 4: OUT &H3CF, 0
  77.  
  78. END SUB
  79.