home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / clarion / tktools.zip / TKTOOLS.CLA < prev    next >
Text File  |  1990-02-26  |  13KB  |  368 lines

  1.          PROGRAM
  2.  
  3. !░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  4. !░                                           ░
  5. !░                TkTools.BIN LEM Test Demo                   ░
  6. !░                 Anthony M. Kirk                   ░
  7. !░                February 26, 1990                   ░
  8. !░                                           ░
  9. !░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  10. !░                                           ░
  11. !░              See TkTools.ASM for docs/info.               ░
  12. !░                                           ░
  13. !░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  14.  
  15.   MAP
  16.     MODULE('TKTools'),BINARY
  17.       PROC(Interrupt)
  18.       FUNC(DosVer),STRING             ! Get DOS version
  19.       FUNC(GetDriveChar),STRING             ! Get cur drive char
  20.       FUNC(GetDriveNmbr),LONG             ! Get cur drive nmbr (A=0,B=1)
  21.       FUNC(GetDriveCap),LONG             ! Get cur drive capacity
  22.       FUNC(GetDriveFree),LONG             ! Get cur drive capacity
  23.       FUNC(SetDriveChar),LONG             ! Set cur drive char
  24.       FUNC(SetDriveNmbr),LONG             ! Set cur drive nmbr (A=0,B=1)
  25.       FUNC(GetActivFlop),LONG             ! Get active floppy (A=0,B=1)
  26.       FUNC(SetActivFlop),LONG             ! Get active floppy (A=0,B=1)
  27.       FUNC(FloppyCount),LONG             ! How many floppy drives?
  28.       PROC(SetBlkToHigh)             ! Set EGA/VGA to high backgrd
  29.       PROC(SetHighToBlk)             ! Set EGA/VGA to blinking
  30.     .
  31.   .
  32.  
  33. ! Register Group for Interrupt Procedure 
  34. Registers    GROUP,PRE(Reg)             ! Register group
  35. AX           GROUP                 !   Register AX
  36. AL         BYTE                 !        AH
  37. AH         BYTE                 !        AL
  38.            . ! End AX             !          .
  39. BX           GROUP                 !   Register BX
  40. BL         BYTE                 !        BH
  41. BH         BYTE                 !        BL
  42.            . ! End BX             !          .
  43. CX           GROUP                 !   Register CX
  44. CL         BYTE                 !        CH
  45. CH         BYTE                 !        CL
  46.            . ! End CX             !          .
  47. DX           GROUP                 !   Register DX
  48. DL         BYTE                 !        DH
  49. DH         BYTE                 !        DL
  50.            . ! End DX             !          .
  51. SI           SHORT                 !   REG
  52. DI           SHORT                 !   REG
  53. DS           SHORT                 !   REG
  54. ES           SHORT                 !   REG
  55. INT           BYTE
  56. FLAGS           SHORT                 !   Flags
  57.          . ! End GROUP Registers         ! End GROUP
  58. ! End Register Group 
  59.  
  60. ! Begin Screen 
  61. Screen         SCREEN      HUE(11,1)
  62.            ROW(1,1)      STRING('┌─{78}┐'),HUE(15,1)
  63.            ROW(2,1)      STRING('│<0{78}>│'),HUE(15,1)
  64.            ROW(3,1)      REPEAT(2),EVERY(8);STRING('├─{78}┤'),HUE(15,1) .
  65.            ROW(4,1)      REPEAT(7);STRING('│<0{78}>│'),HUE(15,1) .
  66.            ROW(12,1)  REPEAT(13);STRING('│<0{78}>│'),HUE(15,1) .
  67.            ROW(25,1)  STRING('└─{78}┘'),HUE(15,1)
  68.            ROW(13,5)  STRING('┌─{12}<0{8}>─{14}┐<0,0>┌──<0{28}>──┐')
  69.            ROW(14,5)  REPEAT(8);STRING('│<0{34}>│<0,0>│<0{32}>│') .
  70.            ROW(22,5)  STRING('└─{34}┘<0,0>└─{32}┘')
  71.            ROW(2,30)  STRING('TkTools LEM Module Demo')
  72.            ROW(4,27)  STRING('Current DOS Version ..:')
  73.            ROW(5,27)  STRING('Current Drive Char ...:')
  74.            ROW(6,27)  STRING('Current Drive Number .:')
  75.            ROW(7,27)  STRING('Current Drive Capacity:')
  76.            ROW(8,27)  STRING('Current Drive Free ...:')
  77.            ROW(9,27)  STRING('Count of Floppy Drives:')
  78.            ROW(10,27) STRING('Current Active Floppy :')
  79.            ROW(13,19) STRING('Normal')
  80.          COL(47)  STRING('Blinking/Bright Background')
  81.            ROW(14,7)  STRING('**'),HUE(0,0)
  82.          COL(9)      STRING('**'),HUE(1,0)
  83.          COL(11)  STRING('**'),HUE(2,0)
  84.          COL(13)  STRING('**'),HUE(3,0)
  85.          COL(15)  STRING('**'),HUE(4,0)
  86.          COL(17)  STRING('**'),HUE(5,0)
  87.          COL(19)  STRING('**'),HUE(6,0)
  88.          COL(21)  STRING('**'),HUE(7,0)
  89.          COL(23)  STRING('**'),HUE(8,0)
  90.          COL(25)  STRING('**'),HUE(9,0)
  91.          COL(27)  STRING('**'),HUE(10,0)
  92.          COL(29)  STRING('**'),HUE(11,0)
  93.          COL(31)  STRING('**'),HUE(12,0)
  94.          COL(33)  STRING('**'),HUE(13,0)
  95.          COL(35)  STRING('**'),HUE(14,0)
  96.          COL(37)  STRING('**'),HUE(15,0)
  97.          COL(45)  STRING('**'),HUE(16,0)
  98.          COL(47)  STRING('**'),HUE(18,0)
  99.          COL(49)  STRING('**'),HUE(19,0)
  100.          COL(51)  STRING('**'),HUE(20,0)
  101.          COL(53)  STRING('**'),HUE(21,0)
  102.          COL(55)  STRING('**'),HUE(22,0)
  103.          COL(57)  STRING('**'),HUE(23,0)
  104.          COL(59)  STRING('**'),HUE(24,0)
  105.          COL(61)  STRING('**'),HUE(25,0)
  106.          COL(63)  STRING('**'),HUE(26,0)
  107.          COL(65)  STRING('**'),HUE(27,0)
  108.          COL(67)  STRING('**'),HUE(28,0)
  109.          COL(69)  STRING('**'),HUE(29,0)
  110.          COL(71)  STRING('**'),HUE(30,0)
  111.          COL(73)  STRING('**'),HUE(31,0)
  112.            ROW(15,7)  STRING('**'),HUE(0,1)
  113.          COL(9)      STRING('**'),HUE(1,1)
  114.          COL(11)  STRING('**'),HUE(2,1)
  115.          COL(13)  STRING('**'),HUE(3,1)
  116.          COL(15)  STRING('**'),HUE(4,1)
  117.          COL(17)  STRING('**'),HUE(5,1)
  118.          COL(19)  STRING('**'),HUE(6,1)
  119.          COL(21)  STRING('**'),HUE(7,1)
  120.          COL(23)  STRING('**'),HUE(8,1)
  121.          COL(25)  STRING('**'),HUE(9,1)
  122.          COL(27)  STRING('**'),HUE(10,1)
  123.          COL(29)  STRING('**'),HUE(11,1)
  124.          COL(31)  STRING('**'),HUE(12,1)
  125.          COL(33)  STRING('**'),HUE(13,1)
  126.          COL(35)  STRING('**'),HUE(14,1)
  127.          COL(37)  STRING('**'),HUE(15,1)
  128.          COL(45)  STRING('**'),HUE(16,1)
  129.          COL(47)  STRING('**'),HUE(18,1)
  130.          COL(49)  STRING('**'),HUE(19,1)
  131.          COL(51)  STRING('**'),HUE(20,1)
  132.          COL(53)  STRING('**'),HUE(21,1)
  133.          COL(55)  STRING('**'),HUE(22,1)
  134.          COL(57)  STRING('**'),HUE(23,1)
  135.          COL(59)  STRING('**'),HUE(24,1)
  136.          COL(61)  STRING('**'),HUE(25,1)
  137.          COL(63)  STRING('**'),HUE(26,1)
  138.          COL(65)  STRING('**'),HUE(27,1)
  139.          COL(67)  STRING('**'),HUE(28,1)
  140.          COL(69)  STRING('**'),HUE(29,1)
  141.          COL(71)  STRING('**'),HUE(30,1)
  142.          COL(73)  STRING('**'),HUE(31,1)
  143.            ROW(16,7)  STRING('**'),HUE(0,2)
  144.          COL(9)      STRING('**'),HUE(1,2)
  145.          COL(11)  STRING('**'),HUE(2,2)
  146.          COL(13)  STRING('**'),HUE(3,2)
  147.          COL(15)  STRING('**'),HUE(4,2)
  148.          COL(17)  STRING('**'),HUE(5,2)
  149.          COL(19)  STRING('**'),HUE(6,2)
  150.          COL(21)  STRING('**'),HUE(7,2)
  151.          COL(23)  STRING('**'),HUE(8,2)
  152.          COL(25)  STRING('**'),HUE(9,2)
  153.          COL(27)  STRING('**'),HUE(10,2)
  154.          COL(29)  STRING('**'),HUE(11,2)
  155.          COL(31)  STRING('**'),HUE(12,2)
  156.          COL(33)  STRING('**'),HUE(13,2)
  157.          COL(35)  STRING('**'),HUE(14,2)
  158.          COL(37)  STRING('**'),HUE(15,2)
  159.          COL(45)  STRING('**'),HUE(16,2)
  160.          COL(47)  STRING('**'),HUE(18,2)
  161.          COL(49)  STRING('**'),HUE(19,2)
  162.          COL(51)  STRING('**'),HUE(20,2)
  163.          COL(53)  STRING('**'),HUE(21,2)
  164.          COL(55)  STRING('**'),HUE(22,2)
  165.          COL(57)  STRING('**'),HUE(23,2)
  166.          COL(59)  STRING('**'),HUE(24,2)
  167.          COL(61)  STRING('**'),HUE(25,2)
  168.          COL(63)  STRING('**'),HUE(26,2)
  169.          COL(65)  STRING('**'),HUE(27,2)
  170.          COL(67)  STRING('**'),HUE(28,2)
  171.          COL(69)  STRING('**'),HUE(29,2)
  172.          COL(71)  STRING('**'),HUE(30,2)
  173.          COL(73)  STRING('**'),HUE(31,2)
  174.            ROW(17,7)  STRING('**'),HUE(0,3)
  175.          COL(9)      STRING('**'),HUE(1,3)
  176.          COL(11)  STRING('**'),HUE(2,3)
  177.          COL(13)  STRING('**'),HUE(3,3)
  178.          COL(15)  STRING('**'),HUE(4,3)
  179.          COL(17)  STRING('**'),HUE(5,3)
  180.          COL(19)  STRING('**'),HUE(6,3)
  181.          COL(21)  STRING('**'),HUE(7,3)
  182.          COL(23)  STRING('**'),HUE(8,3)
  183.          COL(25)  STRING('**'),HUE(9,3)
  184.          COL(27)  STRING('**'),HUE(10,3)
  185.          COL(29)  STRING('**'),HUE(11,3)
  186.          COL(31)  STRING('**'),HUE(12,3)
  187.          COL(33)  STRING('**'),HUE(13,3)
  188.          COL(35)  STRING('**'),HUE(14,3)
  189.          COL(37)  STRING('**'),HUE(15,3)
  190.          COL(45)  STRING('**'),HUE(16,3)
  191.          COL(47)  STRING('**'),HUE(18,3)
  192.          COL(49)  STRING('**'),HUE(19,3)
  193.          COL(51)  STRING('**'),HUE(20,3)
  194.          COL(53)  STRING('**'),HUE(21,3)
  195.          COL(55)  STRING('**'),HUE(22,3)
  196.          COL(57)  STRING('**'),HUE(23,3)
  197.          COL(59)  STRING('**'),HUE(24,3)
  198.          COL(61)  STRING('**'),HUE(25,3)
  199.          COL(63)  STRING('**'),HUE(26,3)
  200.          COL(65)  STRING('**'),HUE(27,3)
  201.          COL(67)  STRING('**'),HUE(28,3)
  202.          COL(69)  STRING('**'),HUE(29,3)
  203.          COL(71)  STRING('**'),HUE(30,3)
  204.          COL(73)  STRING('**'),HUE(31,3)
  205.            ROW(18,7)  STRING('**'),HUE(0,4)
  206.          COL(9)      STRING('**'),HUE(1,4)
  207.          COL(11)  STRING('**'),HUE(2,4)
  208.          COL(13)  STRING('**'),HUE(3,4)
  209.          COL(15)  STRING('**'),HUE(4,4)
  210.          COL(17)  STRING('**'),HUE(5,4)
  211.          COL(19)  STRING('**'),HUE(6,4)
  212.          COL(21)  STRING('**'),HUE(7,4)
  213.          COL(23)  STRING('**'),HUE(8,4)
  214.          COL(25)  STRING('**'),HUE(9,4)
  215.          COL(27)  STRING('**'),HUE(10,4)
  216.          COL(29)  STRING('**'),HUE(11,4)
  217.          COL(31)  STRING('**'),HUE(12,4)
  218.          COL(33)  STRING('**'),HUE(13,4)
  219.          COL(35)  STRING('**'),HUE(14,4)
  220.          COL(37)  STRING('**'),HUE(15,4)
  221.          COL(45)  STRING('**'),HUE(16,4)
  222.          COL(47)  STRING('**'),HUE(18,4)
  223.          COL(49)  STRING('**'),HUE(19,4)
  224.          COL(51)  STRING('**'),HUE(20,4)
  225.          COL(53)  STRING('**'),HUE(21,4)
  226.          COL(55)  STRING('**'),HUE(22,4)
  227.          COL(57)  STRING('**'),HUE(23,4)
  228.          COL(59)  STRING('**'),HUE(24,4)
  229.          COL(61)  STRING('**'),HUE(25,4)
  230.          COL(63)  STRING('**'),HUE(26,4)
  231.          COL(65)  STRING('**'),HUE(27,4)
  232.          COL(67)  STRING('**'),HUE(28,4)
  233.          COL(69)  STRING('**'),HUE(29,4)
  234.          COL(71)  STRING('**'),HUE(30,4)
  235.          COL(73)  STRING('**'),HUE(31,4)
  236.            ROW(19,7)  STRING('**'),HUE(0,5)
  237.          COL(9)      STRING('**'),HUE(1,5)
  238.          COL(11)  STRING('**'),HUE(2,5)
  239.          COL(13)  STRING('**'),HUE(3,5)
  240.          COL(15)  STRING('**'),HUE(4,5)
  241.          COL(17)  STRING('**'),HUE(5,5)
  242.          COL(19)  STRING('**'),HUE(6,5)
  243.          COL(21)  STRING('**'),HUE(7,5)
  244.          COL(23)  STRING('**'),HUE(8,5)
  245.          COL(25)  STRING('**'),HUE(9,5)
  246.          COL(27)  STRING('**'),HUE(10,5)
  247.          COL(29)  STRING('**'),HUE(11,5)
  248.          COL(31)  STRING('**'),HUE(12,5)
  249.          COL(33)  STRING('**'),HUE(13,5)
  250.          COL(35)  STRING('**'),HUE(14,5)
  251.          COL(37)  STRING('**'),HUE(15,5)
  252.          COL(45)  STRING('**'),HUE(16,5)
  253.          COL(47)  STRING('**'),HUE(18,5)
  254.          COL(49)  STRING('**'),HUE(19,5)
  255.          COL(51)  STRING('**'),HUE(20,5)
  256.          COL(53)  STRING('**'),HUE(21,5)
  257.          COL(55)  STRING('**'),HUE(22,5)
  258.          COL(57)  STRING('**'),HUE(23,5)
  259.          COL(59)  STRING('**'),HUE(24,5)
  260.          COL(61)  STRING('**'),HUE(25,5)
  261.          COL(63)  STRING('**'),HUE(26,5)
  262.          COL(65)  STRING('**'),HUE(27,5)
  263.          COL(67)  STRING('**'),HUE(28,5)
  264.          COL(69)  STRING('**'),HUE(29,5)
  265.          COL(71)  STRING('**'),HUE(30,5)
  266.          COL(73)  STRING('**'),HUE(31,5)
  267.            ROW(20,7)  STRING('**'),HUE(0,6)
  268.          COL(9)      STRING('**'),HUE(1,6)
  269.          COL(11)  STRING('**'),HUE(2,6)
  270.          COL(13)  STRING('**'),HUE(3,6)
  271.          COL(15)  STRING('**'),HUE(4,6)
  272.          COL(17)  STRING('**'),HUE(5,6)
  273.          COL(19)  STRING('**'),HUE(6,6)
  274.          COL(21)  STRING('**'),HUE(7,6)
  275.          COL(23)  STRING('**'),HUE(8,6)
  276.          COL(25)  STRING('**'),HUE(9,6)
  277.          COL(27)  STRING('**'),HUE(10,6)
  278.          COL(29)  STRING('**'),HUE(11,6)
  279.          COL(31)  STRING('**'),HUE(12,6)
  280.          COL(33)  STRING('**'),HUE(13,6)
  281.          COL(35)  STRING('**'),HUE(14,6)
  282.          COL(37)  STRING('**'),HUE(15,6)
  283.          COL(45)  STRING('**'),HUE(16,6)
  284.          COL(47)  STRING('**'),HUE(18,6)
  285.          COL(49)  STRING('**'),HUE(19,6)
  286.          COL(51)  STRING('**'),HUE(20,6)
  287.          COL(53)  STRING('**'),HUE(21,6)
  288.          COL(55)  STRING('**'),HUE(22,6)
  289.          COL(57)  STRING('**'),HUE(23,6)
  290.          COL(59)  STRING('**'),HUE(24,6)
  291.          COL(61)  STRING('**'),HUE(25,6)
  292.          COL(63)  STRING('**'),HUE(26,6)
  293.          COL(65)  STRING('**'),HUE(27,6)
  294.          COL(67)  STRING('**'),HUE(28,6)
  295.          COL(69)  STRING('**'),HUE(29,6)
  296.          COL(71)  STRING('**'),HUE(30,6)
  297.          COL(73)  STRING('**'),HUE(31,6)
  298.            ROW(21,7)  STRING('**'),HUE(0,7)
  299.          COL(9)      STRING('**'),HUE(1,7)
  300.          COL(11)  STRING('**'),HUE(2,7)
  301.          COL(13)  STRING('**'),HUE(3,7)
  302.          COL(15)  STRING('**'),HUE(4,7)
  303.          COL(17)  STRING('**'),HUE(5,7)
  304.          COL(19)  STRING('**'),HUE(6,7)
  305.          COL(21)  STRING('**'),HUE(7,7)
  306.          COL(23)  STRING('**'),HUE(8,7)
  307.          COL(25)  STRING('**'),HUE(9,7)
  308.          COL(27)  STRING('**'),HUE(10,7)
  309.          COL(29)  STRING('**'),HUE(11,7)
  310.          COL(31)  STRING('**'),HUE(12,7)
  311.          COL(33)  STRING('**'),HUE(13,7)
  312.          COL(35)  STRING('**'),HUE(14,7)
  313.          COL(37)  STRING('**'),HUE(15,7)
  314.          COL(45)  STRING('**'),HUE(16,7)
  315.          COL(47)  STRING('**'),HUE(18,7)
  316.          COL(49)  STRING('**'),HUE(19,7)
  317.          COL(51)  STRING('**'),HUE(20,7)
  318.          COL(53)  STRING('**'),HUE(21,7)
  319.          COL(55)  STRING('**'),HUE(22,7)
  320.          COL(57)  STRING('**'),HUE(23,7)
  321.          COL(59)  STRING('**'),HUE(24,7)
  322.          COL(61)  STRING('**'),HUE(25,7)
  323.          COL(63)  STRING('**'),HUE(26,7)
  324.          COL(65)  STRING('**'),HUE(27,7)
  325.          COL(67)  STRING('**'),HUE(28,7)
  326.          COL(69)  STRING('**'),HUE(29,7)
  327.          COL(71)  STRING('**'),HUE(30,7)
  328.          COL(73)  STRING('**'),HUE(31,7)
  329.            ROW(24,5)  STRING('F2'),HUE(14,1)
  330.          COL(7)      STRING(': Bright')
  331.          COL(20)  STRING('F3'),HUE(14,1)
  332.          COL(22)  STRING(': Blinking')
  333.          COL(67)  STRING('Esc'),HUE(14,1)
  334.          COL(70)  STRING(': Exits')
  335. DosVersion     ROW(4,51)  STRING(4),HUE(15,1)
  336. DriveChar      ROW(5,51)  STRING(1),HUE(15,1)
  337. DriveNumber    ROW(6,51)  STRING(@N1),HUE(15,1)
  338. DriveCap       ROW(7,51)  STRING(@N11),HUE(15,1)
  339. DriveFree      ROW(8,51)  STRING(@N11),HUE(15,1)
  340. FloppyCnt      ROW(9,51)  STRING(@N1),HUE(15,1)
  341. ActiveFloppy   ROW(10,51) STRING(@N1),HUE(15,1)
  342.          .
  343. ! End Screen 
  344.  
  345. ! Begin Code Section 
  346.     CODE
  347.     OPEN(Screen)
  348.     DosVersion    = DosVer()
  349.     DriveChar    = GetDriveChar()
  350.     DriveNumber = GetDriveNmbr()
  351.     DriveCap    = GetDriveCap(0)
  352.     DriveFree    = GetDriveFree(0)
  353.     FloppyCnt    = FloppyCount()
  354.     ActiveFloppy= GetActivFlop()
  355.     LOOP
  356.      ASK
  357.      IF KEYCODE() = 2050             ! F2 key
  358.       SetBlkToHigh
  359.      .
  360.      IF KEYCODE() = 2051             ! F3 key
  361.       SetHighToBlk
  362.      .
  363.      IF KEYCODE() = 256                 ! Esc key
  364.       BREAK
  365.      .
  366.     .
  367.  
  368.