home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 15 / CDACTUAL15.iso / cdactual / program / basic / PICULATE.ZIP / PICULATE.BAS (.txt) < prev    next >
Encoding:
QuickBASIC Tokenized Source  |  1992-08-27  |  25.3 KB  |  380 lines

  1. SCRN[
  2. CFACTOR
  3. MSEGMENT
  4. MOFFSET'
  5. 90000
  6. NLINER
  7. OLINE
  8. CONTROL?
  9.     END.MOUSE    
  10. MOUSE
  11. MOUSE.TOGGLEI
  12. MOUSE.STAT
  13.     END.CLEARy
  14.     END.GRAPH
  15. GTYPE
  16. SPOINTG
  17. EPOINT
  18. CBEGX
  19. END.CURSOR@
  20. CRSLIN
  21. EOL.LEN
  22. CLR.SCN
  23. ARG1H
  24. ARG2|
  25. ABSOLUTE
  26. ARG4:
  27. DONE^
  28. SBEGw
  29. SEND^
  30. DEND{
  31. SDUMP
  32. XSCRNT
  33. NMALLOC
  34. SHIFT
  35. NLINEINKEYX
  36. FLAGn
  37. BAUDRATEg
  38. 85002
  39. INSTALL
  40. SLINEC
  41. PLINEO
  42. DRATE
  43. FOUND
  44. END.LINE
  45. XLINE
  46. OLIN!
  47. FIRST
  48. CASEERRf
  49. TLINE    
  50. THENDONE
  51. ZLINE
  52. TODIM
  53.     END.ARRAYV
  54. XLEN"
  55.     RSP.FOUND:
  56. TOT.LENf
  57. STACK9
  58.     STACK.NUM
  59. SAVE.STACK
  60. STACK.CELL
  61.     STACK.POS
  62.     TEMP.CELL
  63. STACK.LOADP
  64. CLEAR
  65. CLEAR.STACK\
  66. CCNT?
  67. CS.NUM
  68. PTYPEf
  69.     PCNT.CELL6
  70. DEF.CELL*
  71. DEF.POS
  72. CELLS
  73. CELLS.USED
  74. TEMP.POS[
  75. DEFP.POS
  76. CASEBAUD
  77. TOGOTO(
  78. STACK.STATUS`    
  79. SACE'
  80. SACE.STACK
  81. PLAYR    
  82. PLAY.STACK
  83. ADDLINE
  84. RP.LINE>
  85. MOUSE.PRESENT@
  86. SEGBAUDX    
  87.     INTERRUPTO
  88. MSEGMENTCALL
  89. mouse.presets
  90. MFLAG}
  91. MOUSE.TEST
  92. MOUSE.RESET    
  93. RESET
  94. RESET.MOUSED
  95. CALL.MOUSE
  96. TEST.MOUSE
  97. DISABLE
  98. DISABLE.MOUSE
  99. THENONw
  100. ERROR
  101.     ERROR.SUB
  102. ERROR.ROUTINE
  103. DISPLAY
  104. DISPLAY.ERRORB    
  105. RESET.FLAG
  106. SEND.BREAK
  107. SEND.BREAKRESET.FLAG
  108. INSTALL.PICK
  109. COM.READ
  110. AUTOJ    @    AUTO.BAUD
  111. OPEN.COM
  112. ERND!
  113. COMCHAN,    
  114. EN.COM<
  115. ACOMCHAN
  116. PCOMCHAN
  117. CHANNEL
  118. NE0XT
  119.     END.POINTY
  120. GCNTe
  121.     CHAR.LOAD
  122. CHARS\
  123. NUMBER
  124. CLIST
  125. CLOOP
  126. CHAR.POS
  127. CHAR.ROW!
  128. CHAR.COLx
  129. INARY
  130. OTARY
  131. REGTYPE
  132. INT86OLDL
  133. LEN.SCREEN^
  134. WAITr
  135.     WAIT.LOOP
  136. THENFOR    
  137. XFOUND
  138. END.DATAA
  139.     SEND.DATA
  140. LEN.SENTv
  141. WAIT.STATEQ
  142. XWAIT
  143. DUP.LOOPq
  144. DUP.NUM
  145. NEXT*
  146. NEXT.NUM
  147. DUP.ON
  148.     THENXSCRNY
  149. DUP.NO
  150. END.AR!
  151. SAVE.NUMR
  152. CHECKA
  153.     CHECK.NUM
  154. DECOMP
  155. END.NUM3
  156. EZNDf
  157.     EZND.DATA
  158. DRAW.MOUSE
  159.     ESC.FOUND
  160. START
  161. SXPOS
  162. SYPOS
  163. EXPOSC
  164. EYPOSJ
  165. LAST(
  166. LAST.X
  167. LAST.Yf
  168. YSET;
  169. BPRESS
  170. SAVEX
  171. SAVEYS
  172. BGCOLOR
  173. BGTYPE
  174. XCOLOR
  175.     XCOLOREND
  176. MSTAT
  177. ERRDEV
  178. EINPUT
  179. CARRAY
  180. THENCOL
  181. MAX.ROW
  182.     VIEWPRINT
  183. XSENT
  184. RASEo
  185.     DATA.LINE
  186. XWEND
  187.     SEND.LINE
  188. XDONE
  189. DIMSCRN
  190. FIXEDJ
  191. CKSUM
  192. CKDIGj
  193. DEF.SEGD
  194. @    SEND.PICK
  195. XONE%
  196.     FILE.NAME
  197. MULTIPLE
  198. XRETURNz
  199. SXROW
  200. SXCOL
  201. MIN.ROW
  202. MIN.COL
  203. MAX.COL
  204. DEF.COL
  205. DEF.ROW
  206. LIMIT
  207. RFACTOR
  208. XCOLLOCATE
  209.        OLINE$ = MID$(OLIN
  210. *** PICK Emulation program with MOUSE and GRAPHICS support
  211. *** Declarations
  212. *** Variables Assigned
  213. ON ERROR GOTO 9
  214. *** Turn on COM and PEN
  215. *** Check for Pre-Assigned Baud Rate
  216. *** Check for Primary Com Port
  217. COM2:"
  218. *** Check for Auxiliary Com Port
  219. *** Open Statements1
  220. *** See if Host Programs Already Installed
  221. INSTALL"
  222. NOT INSTALLED"
  223. *** Load Graphics Character Set
  224. CALL CHAR.LOAD(CHARS&())
  225. *** Set up Port and Assign View Area
  226. Pickulator-Version 1.0-(c)1991-MULTISYSTEMS DEVELOPMENT INC.
  227. *** Keyboard Control
  228. *** Send Break Signal 
  229. *** ALT-D - DOS
  230. *** ALT-Q - QUIT
  231. PCONFIG.EXE"
  232. * Reset Baud Rate<
  233. IF ROW > MAX.ROW THEN ROW = MAX.ROW
  234. *** Screen Control
  235. *** Remove Extra Line Feeds
  236. *** Check for Baud Rate Testing
  237. *** Handle Backspace
  238. *** Get Order of Processing
  239. *** Handle Graphics Controle
  240. *** Handle Cursor Control
  241. *** Handle EOL Clear
  242. *** Handle EOS Clear
  243.  *END OF MAIN LOOP
  244. *** Determine Action on Mouse Button Pressed
  245. *** DRAW Command
  246. *** CIRCLE Command
  247. *** LINE Command
  248. *** COLOR Command
  249. *** PALETTE Command
  250. *** PAINT Commandn
  251. *** VIEW Command
  252. *** WINDOW Command
  253. *** VIEW PRINT Command
  254. *** VIEW PRINT Command
  255. *** SCREEN Command
  256. *** PUT PICK
  257. *** Attempt to Decompress Screen
  258. *** GET PICK
  259. CALL SEND.PICK(SEND.LINE$)
  260. *** Attempt to do Compress Screen Image
  261. DUP.NUM& = SCRN(CNT)
  262. FOR DUP.LOOP = CNT TO END.ARRAY
  263.   IF SCRN(CNT + 1) = DUP.NUM& THEN
  264.  CNT = CNT + 1
  265.  DUP.ON = DUP.ON + 1
  266.   ELSE
  267.  DUP.LOOP = END.ARRAY + 1M
  268.   END IF
  269. NEXT DUP.LOOP 
  270. IF DUP.ON > 1 THEN
  271.    SCRN$ = STR$(DUP.ON * .01)
  272. END IF
  273. *** PSET Command
  274. *** PCOPY Command
  275. *** PMAP Command
  276. *** POINT Command
  277. *** PALETTE USING Command    
  278. PALETTE USING CARRAY&(XC(DEF.POS, 1))
  279. *** WIDTH Command(
  280. *** DOS TO PICK, PICK TO DOS
  281. *DOS TO PICK
  282.  >PICKFLES.IDX
  283. *PICK TO DOS
  284. Moving "
  285.  to specified DOS path
  286. *** Shell to DOS Program
  287. PRINT.TESTe
  288. SHELL "MODE LPT1=COM1"
  289. SHELL "MODE LPT1"C
  290. *** PUT PC
  291. *** GET PC
  292. *** PLAY STACK PCS
  293. DEF.POS = XC(DEF.POS, 1)
  294. DEF.CELL = 0
  295. *** CLEAR STACKP
  296. CCNT = CCNT + 1
  297. *** Turn Stack ON/OFF
  298. *** Turn stack on
  299. *** Turn stack off
  300. *** GET.STACKK
  301. *** STACK.INFO
  302. *** Handle Overflow Problems
  303. *** Auxiliary Cursor Control Commandso
  304. *** Mouse Controln
  305. *** Clear Screen
  306. *** Cursor Control
  307. *** EOL Controlr
  308. *** EOS Controlr
  309. *** Print Text
  310. *** Mouse position and Status
  311. PRINT #1, USING "##_,"; MSTAT
  312. *** Reassign Segment
  313. *** PEEK Command
  314. *** POKE Command
  315. *** Reassign Cursor Coordinates
  316. *** Get More Datar
  317. *** AutoSelect Baud Rate
  318. *** Install Pick Softwarea
  319. *** Assign Stack
  320. Assignment Stack is Full!"
  321. *** Send Break Signal
  322. *** Handle Cursor Limitations
  323. *** Error Handling Routine
  324. ***PROGRAM TERMINATION
  325. RESET.MOUSE
  326.  MOUSE.STAT SHARED
  327. *** Reset and Enable Mouse
  328. CALL.MOUSE
  329.  INARY%() SHARED
  330.  OTARY%() SHARED
  331. *** Call MOUSE DRIVER program
  332. TEST.MOUSE
  333.  MOUSE.PRESENT SHARED
  334. *** Determine if Mouse Exists1
  335. Mouse Driver Not Installed, <CR> to Continue "
  336. DISABLE.MOUSE
  337.  MOUSE.STAT SHARED
  338. *** Disable Mouse Cursor and Pen Tracking 
  339. DISPLAY.ERROR
  340.  BAUD SHARED
  341.  RESET.FLAG SHARED
  342.  PCOMCHAN$ SHARED
  343.  GTYPE SHARED
  344. *** Error Handling
  345. Illegal Function
  346. Out of MEMORY!
  347. Communication Port Not Responding"
  348. Memovl
  349. Communications ERROR [P"
  350. INSTALL.PICK
  351. *** Install Pick Softwareo
  352. Attempting to Install Upload Software. Please Wait..."
  353. INSPICK"
  354. Upload Installation Complete."
  355. Uploading Programs. Press <CR> to continue and Please Wait..."
  356. DOSPICK"
  357. Pick Host Program Installation Complete.
  358. INSTALL"
  359. INSTALLED"
  360. COM.READ
  361.  OLINE$ SHARED
  362. AUTO.BAUD
  363.  BAUD SHARED
  364.  BAUDRATE$ SHARED
  365.  PCOMCHAN$ SHARED
  366. *** AutoSelect Baud Rate
  367. Auto-selecting Baud Rate, Hold Down <CR> to test."
  368. 19200"
  369. Baud rate incorrect or port not connected"
  370. Press any key to try again
  371. OPEN.COM
  372.  BAUDRATE$ SHARED
  373.  BAUD SHARED
  374.  PCOMCHAN$ SHARED
  375.  OLINE$ SHARED
  376. *** Open Com Ports
  377. ,N,8,1,CD0,CS0,DS0,RB32000
  378. SCRN:"d    
  379. SEND.PICK
  380.