home *** CD-ROM | disk | FTP | other *** search
/ Complete Bookshop / CompleteWorkshop.iso / jokes / magic / magic.bas next >
Encoding:
BASIC Source File  |  1988-01-12  |  2.5 KB  |  84 lines

  1. DECLARE SUB box ()
  2. DEFINT A-Z
  3. COMMON SHARED y, x, drive$
  4.  
  5. '$INCLUDE: 'qb.bi'
  6. DIM a$(20)
  7. DIM InRegs AS RegType, OutRegs AS RegType
  8.  
  9. y = 9
  10. x = 27
  11.  
  12. IF LEN(drive$) < 2 THEN drive$ = "C:"
  13.  
  14.  
  15. box
  16. FOR i = 0 TO 49
  17.  
  18. LOCATE y + 4, x + 5
  19. PRINT STRING$(INT(i / 2), 219); MID$(" ▌", (i MOD 2) + 1, 1);
  20.  
  21. IF i < 3 THEN
  22.   LOCATE y + 7, x + 7
  23.   PRINT "Removing DOS Partition"
  24.   InRegs.ax = &H1100                   ' Recailbrate drive
  25.   InRegs.dx = &H80                     ' Drive C:
  26.   CALL INTERRUPT(&H13, InRegs, OutRegs)
  27. ELSEIF i < 5 THEN
  28.   LOCATE y + 7, x + 7
  29.   PRINT "     Erasing FAT      "
  30.   InRegs.ax = &H401                       ' Verify track i
  31.   InRegs.cx = i * &HFF + &H0              ' to make it look like the drive
  32.   InRegs.dx = &H80                        ' is being formatted.
  33.   CALL INTERRUPT(&H13, InRegs, OutRegs)
  34. ELSE
  35.   LOCATE y + 7, x + 7
  36.   PRINT "   Erasing Data Area  "
  37.   InRegs.ax = &H401                       ' Verify track i
  38.   InRegs.cx = i * &HFF + &H0              ' to make it look like the drive
  39.   InRegs.dx = &H80                        ' is being formatted.
  40.   CALL INTERRUPT(&H13, InRegs, OutRegs)
  41. END IF
  42.  
  43. z! = TIMER
  44. WHILE TIMER - z! < .1
  45.   LOCATE y + 6, x + 1
  46.   PRINT USING "###"; i * 2 + (TIMER - z!) * 5:
  47. WEND
  48. SOUND 100, .1
  49. NEXT i
  50. LOCATE y + 6, x + 1: PRINT USING "###"; 100
  51.  
  52. COLOR 15: LOCATE y + 6, x + 1: PRINT "        Format is complete!      "
  53. COLOR 15: LOCATE y + 7, x + 1: PRINT "                                 "
  54.  
  55. note$ = "                                                                              Courtesy of the Black Knight...               "
  56. FOR i = 1 TO LEN(note$)
  57. LOCATE 25, 1: PRINT LEFT$(note$, 79);
  58. z! = TIMER
  59. WHILE TIMER - z! < .1: WEND
  60. note$ = MID$(note$, 2) + LEFT$(note$, 1)
  61. NEXT i
  62.  
  63. SUB box
  64.   CLS
  65.   COLOR 15, 1
  66.   LOCATE y + 0, x: PRINT "┌─────────────────────────────────┐"
  67.   LOCATE y + 1, x: PRINT "│       Fast Drive Formatter      │"
  68.   LOCATE y + 2, x: PRINT "│         Now on Drive            │"
  69.   LOCATE y + 2, x + 23: PRINT drive$
  70.   LOCATE y + 3, x: PRINT "│                                 │"
  71.   LOCATE y + 4, x: PRINT "│                                 │"
  72.   LOCATE y + 5, x: PRINT "│                                 │"
  73.   LOCATE y + 6, x: PRINT "│    % Complete                   │"
  74.   LOCATE y + 7, x: PRINT "│                                 │"
  75.   LOCATE y + 8, x: PRINT "└─────────────────────────────────┘"
  76.   COLOR 16 + 4, 1: LOCATE y + 6, x + 16: PRINT "DO NOT INTERRUPT!"
  77.   COLOR 8, 1
  78. END SUB
  79.  
  80. SUB text
  81.  
  82. END SUB
  83.  
  84.