home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / MRFiles / GS3DVPAK.ARC / GSAPPENDIX1 (.txt) < prev    next >
Encoding:
GEOS ConVerT  |  2019-04-13  |  24.9 KB  |  484 lines

  1. "gsappendix1
  2. PRG formatted GEOS file V1.0
  3. CONVERTED WITH GEOSHELL V2.2
  4. Write Image V2.1
  5. geoWrite    V2.1
  6. @APPENDIX A
  7. @MEMORY USAGE
  8. geoSHELL uses a fair amount of memory in it's operation and does not leave a great deal for you to use with your command. However with some thought and making use of geoSHELL resources, you will find that you do not need much memory to do even complex tasks. The smaller your command, the faster you will create it anyway. And perhaps, the more commands you will be able to create, also.
  9. Even still, there is almost 6K of programming space that you are free to use for your command. This is sufficient for all but the largest of commands. The command 'fcopy' works well with this amount of memory and even includes it's transfer buffer in this space. The 'type' command works just fine in this space also, including the area it uses for it's text buffer. Usually when a command needs more room than this, it will be because it needs a larger area for a buffer, rather than for program code. The 'dcopy' command likes a big buffer. The bigger, the better. For this reason, it will use the area from $a000 to $a000+8000, the area occupied by the 40 column foreground screen. If you've ever used the dcopy command in 40 column mode, you've noticed that it blanks the screen all except for enough room at the bottom to display a message to the user. With both the foreground and background colors being the same, the user is unaware of all the activity going on with the screen memory.
  10. Your command is always loaded in at $6800 and is jumped to at that address. Obviously, if you make use of a GEOS printer driver, you will have to limit yourself to the area from $6800-$78ff, since the printer driver will load in at $7900. Otherwise, your program code may extend on up to $7f3f. You are free to use the area up to $7fff but geoSHELL won't allow your command to load if it is large enough to fill the area between $7f40 and $7fff. This should have been changed as geoSHELL was being developed, but it never was, and this oversight wasn't discovered until this manual was being put together. Normally, this shouldn't be a problem, since most commands need some free space just for variable storage.
  11. In looking through this listing of memory that geoSHELL uses, you might find a byte here and a byte there that you can use. You might even find a whole page of memory here or there. And there will be locations outside of your command that you will be using anyway.
  12. Here is a simplified memory map of geoSHELL:
  13. $0400 - $10ff    Variable Storage Area
  14. $1100 - $16ff    Startup Buffer
  15. $1700 - $1846    Jump Table
  16. $1847 - $66ff    The geoSHELL main code. Do not attempt to alte
  17. Here is a simplified memory map of geoSHELL:
  18. $0400 - $10ff    Variable Storage Area
  19. $1100 - $16ff    Startup Buffer
  20. $1700 - $1846    Jump Table
  21. $1847 - $66ff    The geoSHELL main code. Do not attempt to alter any of this area.
  22. $6700 - $67ff    EnOfShell - Routines that read a drive's error channel use this area. Free for use at any other time.
  23. $6800 - $7fff    Transient Command Area
  24. It is not really necessary to know the actual location of any variable or routine since everything available in geoSHELL can be accessed with a label. All of the labels are listed in this document with explanations of their uses and are available when you link the file GSVariables.rel with your source code. The variables are also defined for you in this appendix. You might also wish to study the file ShellEquates to discover some of the equates that are available to you when creating your source code. Some of these equates and the available variables are discussed throughout the descriptions of the geoSHELL routines. You should become familiar with these equates and variables and use them to your advantage.
  25. On the 128, geoSHELL uses only front ram (bank 1) so that you are free to use whatever back ram is not being used by the GEOS kernal as needed.
  26. geoSHELL doesn't care if your command uses any of the zero page locations, r0-r15. You will just have to keep track of what routines in geoSHELL and the GEOS kernal might trash any of these that you are using. If necessary, use PushStuff and PopStuff to preserve these when needed.
  27. Also, some of the registers from a0 through a9 are available. Two of them are used heavily by geoSHELL and your command, a2 and a4. Normally, you will let geoSHELL manage a4 for you. a4 is the command pointer. It is always pointing at the current parameter that is being used or the next command that will be used. a2 is the universal filename pointer. Here is the list of the a0-a9 registers:
  28. a0    geoSHELL's user input buffer pointer. (not a good idea to mess with this one)
  29. a1    not used.
  30. a2    universal filename pointer.
  31. a3    not used.
  32. a4    command pointer. (use this properly)
  33. a5    used by time and directory routines.
  34. a6    used by time and directory routines.
  35. a7    not used.
  36. a8    used by directory routines.
  37. a9    not used.
  38. As you can see, there are plenty of free zero page registers that you can use as needed.
  39. One of the geoSHELL variables that you should remember about 
  40. is called 'PRESDRIVE'. 
  41. is called 'PRESDRIVE'. This variable holds the device number of 
  42. the currently active drive that the user thinks he is working from. In other words, if the drive letter on the screen looks like this...
  43. ...then PRESDRIVE will contain the value 9. None of the routines that geoSHELL uses for searching the different drives will alter PRESDRIVE. This way, any drive can be accessed by your routine and the user will still keep the same drive as his current one. geoSHELL let's the user control which drive is the currently active one. He can change it by entering a letter followed by a colon. If do have a need to change the currently active drive, then simply change the value in PRESDRIVE. Just make sure that the drive is online before doing so.
  44. This is a listing of all the variables that will always be available, even in future versions of geoSHELL. They begin at StOfRamsect ($0400) and e
  45. This is a listing of all the variables that will always be available, even in future versions of geoSHELL. They begin at StOfRamsect ($0400) and end at EnOfRamsect ($16ff). Actually, the last $0600 bytes of this area is the startup buffer.
  46. StOfRamsect:        ;used as a reference point for 
  47.             ;initializing this area.
  48. screenmode:    .block 1    ;current mode of the machine
  49.         ;that is being used.
  50.         ;#%10000000 =80 column 128
  51.         ;#%00000000 =40 column 128
  52.         ;#%01000000 =64
  53. PRESDRIVE:    .block 1    ;device number of the currently
  54.         ;active drive as seen by
  55.         ;the user.
  56. goodflag:    .block 1    ;universal success/error flag.
  57. DRVFOUNDON:    .block 1    ;drive a file is found on.
  58. STUPMODE:    .block 1    ;bit7 set =startup or exec mode.
  59. FKEYMODE:    .block 1    ;bit7 set =function key mode.
  60. NUM_IN_NAME:    .block 1    ;number of characters in a
  61.         ;filename.
  62. ParamTable:    .block 44    ;table that holds the parameter
  63.         ;for a command.
  64. comchars:    .block 1
  65. cur_Y_pos:    .block 1    ;current vertical pixel position
  66.         ;of cursor.
  67. cur_X_pos:    .block 2    ;current horizontal pixel
  68.         ;position of cursor.
  69. cur_line:    .block 1    ;current line (0-11) of cursor.
  70. cur_char:    .block 1    ;current character (0-39 or 0-79)
  71.         ;position of cursor.
  72. tempFileName:    .block 17    ;temporary storage.
  73. curTransName:    .block 17    ;transient command that is
  74.         ;currently in memory.
  75. scrnwidth:    .block 1    ;40 or 80.
  76. domessages:    .block 1        ;a zero here will prevent
  77.         ;messages from being displayed.
  78.         ;bit 7 set will allow messages.
  79. cur_keyData:    .block 1
  80. CMD_POINTER:    .block 1    ;normally zero during execution
  81.         ;of a command. Leave this alone.
  82. tempDrive:    .block 1    ;temporary storage used for
  83.         ;status and directory displays.
  84. typeset:    .block 1    ;used by DispText.
  85. cmpwidth:    .block 1    ;used by DispText.
  86. paramsize:    .block 1    ;holds the size of the parameter
  87.         ;that is loaded in ParamTable.
  88. pathload:    .block 1    ;this is set to 128 when a
  89.         ;file is found on the
  90.         ;specified path partition.
  91. Asc_String:    .block 6    ;ascii decimal strings are
  92.         ;built here.
  93. endecho:    .block 1    ;used by DispText.
  94. sourceType:    .block 1    ;used by copy commands.
  95. destType:    .block 1    ;used by copy commands.
  96. sourceDrive:    .block 1    ;used by copy commands.
  97. destDrive:    .block 1    ;used by copy commands.
  98. sourcePartition:    .block 1    ;used by copy commands.
  99. destP
  100. destType:    .block 1    ;used by copy commands.
  101. sourceDrive:    .block 1    ;used by copy commands.
  102. destDrive:    .block 1    ;used by copy commands.
  103. sourcePartition:    .block 1    ;used by copy commands.
  104. destPartition:    .block 1    ;used by copy commands.
  105. ;the custom command saves the following locations from StOfDefs
  106. ;to EnOfDefs to the geoSHELL file on disk.
  107. StOfDefs:
  108. videomode:    .block 1    ;used only for 80 columns.
  109.             ;0 = monochrome
  110.             ;128 = color
  111. distype:    .block 1    ;used by 'ddate' and 'dtype'.
  112. fastdirectory:    .block 1    ;used by 'fast' and 'slow'.
  113. defStName:    .block 17    ;"Startup",0,0,0,0,0,0,0,0,0,0
  114. coltable:        ;80 column color table.
  115. backcolor:    .block 1    ;screen background color.
  116. shellcolor:    .block 1    ;shell color.
  117. textcolor:    .block 1    ;text color.
  118. padcolor:    .block 1    ;pad background color.
  119. brdrcolor:    .block 1    ;screen border color.
  120. back40pattern:    .block 1    ;default background pattern for
  121.         ;40 column.
  122. back80pattern:    .block 1    ;default background pattern for
  123.         ;80 column.
  124. clr80pattern:    .block 1    ;default background pattern for
  125.         ;80 column RGB mode.
  126.     .block 3    ;these bytes are unused.
  127. curPrinter:    .block 1    ;printer device number 4 or 5.
  128. curSecond:    .block 1    ;printer secondary address.
  129. crtextstring:    .block 3
  130. curCharSet:    .block 1    ;character set to send to
  131.         ;printer when @p or @g is used.
  132.         ;  0 = Ascii
  133.             ;128 = PetAscii
  134.     .block 10    ;reserved for future use...
  135. EnOfDefs:
  136. TrRtnLAddr:    .block 16    ;do not mess with this!
  137. TrRtnHAddr:    .block 16    ;do not mess with this!
  138.     .block 4    ;reserved for future use.
  139. RAMLINK:    .block 1    ;the real device number for
  140.         ;RamLink or RamDrive is set
  141.         ;here after a call to
  142.         ;FindRamlink. This is
  143.         ;normally only needed if there
  144.         ;is a RAM1581 used.
  145. cmdtype:    .block 3    ;contains FD,HD,RD, or RL.
  146. cmdtype:    .block 3    ;contains FD,HD,RD, or RL.
  147.             ;cmdtype+2 can be from 1-4
  148.             ;1=FD drive
  149.             ;2=HD
  150.             ;3=RD
  151.             ;4=RL
  152. KeyBuffStart:
  153. Key1Buff:    .block 81    ;buff_size =81
  154. Key2Buff:    .block 81    ;each buffer here holds
  155. Key3Buff:    .block 81    ;a function key definition.
  156. Key4Buff:    .block 81
  157. Key5Buff:    .block 81
  158. Key6Buff:    .block 81
  159. Key7Buff:    .block 81
  160. Key8Buff:    .block 81
  161. restartbyte:    .block 1
  162. CmdNumber:    .block 1
  163. zeroflag:    .block 1
  164. hotkeycommand:    .block 2
  165. top_rectangle:    .block 1
  166. bot_rectangle:    .block 1
  167. left_rectangle:    .block 2
  168. right_rectangle:    .block 2
  169. temp_line:    .block 1
  170. temp_check:    .block 1    ;used for temporary storage of 
  171.             ;a, x, or y registers.
  172. ck_year:    .block 1
  173. ck_month:    .block 1
  174. ck_day:    .block 1
  175. ck_hour:    .block 1
  176. ck_minute:    .block 1
  177. CMD_COUNT:    .block 1
  178. lastblock:    .block 2
  179. filesiz:    .block 2
  180. lstbyte:    .block 2
  181. headlocation:    .block 6
  182. FIRSTDRIVE:    .block 1
  183. DRIVECHECK:    .block 1
  184. foundtrans:    .block 1
  185. inserty:    .block 1
  186. stparsize:    .block 1
  187. scancheck:    .block 1
  188. check_key:    .block 1
  189. nosearchmessage:    .block 1
  190. saver0:    .block 2
  191. numfillbytes:    .block 1
  192. numfillcopies:    .block 1
  193. numfillstrings:    .block 1
  194. stringlocation:    .block 2
  195. dublclickspot:    .block 1
  196. drivesChecked:    .block 4
  197. PRNTMODE:    .block 1    ;bit 7 set =send output to the
  198.         ;serial printer in addition to
  199.         ;the screen.
  200.         ;bit 6 set =send output to the
  201.         ;geoCable.
  202. strtoprint:    .block 2    ;temporarily save r0 here until
  203.         ;ready to send the string that
  204.         ;it points at to the printer.
  205. savex:    .block 1    ;temp storage for x.
  206. line_count:    .block 1
  207. cursorStatus:    .block 1    ;bit 7 set means cursor is
  208.         ;inverted.
  209.             ;cleared means cursor is normal.
  210. cursorOn:    .block 1    ;high bit set means cursor is
  211.         ;active.
  212.             ;clear means cursor is inactive.
  213. st_keyData:    .block 1
  214. reg24:    .block 1
  215. gs_stack:    .block 256
  216. stackpointer:    .block 1
  217. stupsequence:    .block 1
  218. ActHWide:    .block 1
  219. ActLeft:    .block 1
  220. svkeyVector:    .block 2
  221. Dir_Entry:    .block 2
  222. Dir_Type:    .block 1
  223. StripZFlag:    .block 1
  224. ParentName:    .block 17
  225. PermName:    .block 17
  226. DiskName:    .block 17
  227. filetoload:    .block 17
  228. WILDCARD:    .block 1
  229. DRV_CKD:    .block 1
  230. FILECOUNTER:    .block 1
  231. NxtBlock:    .block 2
  232. X_PARAM:    .block 2
  233. Y_PARAM:    .block 1
  234. MoveXTable:    .block 2
  235. MoveYTable:    .block 2
  236. NOSPACE:    .block 1
  237. stackReturn:    .block 2
  238. stripStack:    .block 1
  239. NMCreturn:    .block 2
  240. DISPBUFFER:    .block 84
  241. WrModeFlag:    .block 1
  242. test1string:    .block 17
  243. test2string:    .block 17
  244. clrlineflag:    .block 1
  245. clearcount:    .block 1
  246. messflag:    .block 1
  247. msgchars:    .block 1
  248. messlocation:    .block 2
  249. horizcount:    .block 1
  250. kboardoff:    .block 1
  251. tempr0:    .block 2
  252. gstructype:    .block 1
  253. gfiletype:    .block 1
  254. cfiletype:    .block 1
  255. texttrsc:    .block 2
  256. nozero:    .block 1
  257. gscolcount:    .block 1
  258. headcolor:    .block 1
  259. colbyte:    .block 1
  260. staddress:    .block 2
  261. clickspot:    .block 1
  262. tempy:
  263. gfiletype:    .block 1
  264. cfiletype:    .block 1
  265. texttrsc:    .block 2
  266. nozero:    .block 1
  267. gscolcount:    .block 1
  268. headcolor:    .block 1
  269. colbyte:    .block 1
  270. staddress:    .block 2
  271. clickspot:    .block 1
  272. tempy:    .block 1        ;temp storage of y register.
  273.     .block 16    ;currently unused.
  274. TrRtnNum:    .block 1
  275. tcomnum:    .block 1
  276. pathcheck:    .block 1
  277. REALDRIVE:    .block 1
  278. cmdlength:    .block 1
  279. curparnum:    .block 1
  280. curpartype:    .block 1
  281. curdrvtype:    .block 1
  282. errorck:    .block 1
  283. partdir:    .block 1
  284. syscount:    .block 1
  285. cmdtosend:    .block 1
  286. lastck:    .block 1
  287. runorprint:    .block 1
  288. textpointer:    .block 1
  289. interpret:    .block 1
  290. endoftext:    .block 2    ;this contains the byte past
  291.         ;the last byte read in.
  292. txttype:    .block 1    ;0=SEQfile     (CBM or GEOS)
  293.             ;1=SCRAPfile (Text Scrap)
  294.             ;2=WRITEfile (GeoWrite file)
  295.             ;3=VLIRfile (but not GeoWrite)
  296.             ;4=ALBUMfile (text album)
  297. nextbatch:    .block 2
  298. ovrflbyte:    .block 1
  299. curpage:    .block 1
  300. scrcode:    .block 2
  301. asciicode:    .block 2
  302. petcode:    .block 2
  303. cur_table:            ;variables defining the
  304.         ;location and size of the
  305.         ;geoSHELL window.
  306. lft_shell:    .block 2        ;left position word
  307.         ;(0-319 or 0-639).
  308. rht_shell:    .block 2        ;right position word
  309.         ;(0-319 or 0-639).
  310. left_shell:    .block 1        ;left position of window on
  311.         ;screen in bytes.
  312. wid_shell:    .block 1        ;width of the bitmap in bytes.
  313. lft_window:    .block 2
  314. rht_window:    .block 2
  315. col0:    .block 2
  316. rht_column:    .block 2
  317. en_cur_table:
  318. ;the internal memory buffers holding a copy of the text
  319. ;that appears on the screen for each line in the geoSHE
  320. rht_window:    .block 2
  321. col0:    .block 2
  322. rht_column:    .block 2
  323. en_cur_table:
  324. ;the internal memory buffers holding a copy of the text
  325. ;that appears on the screen for each line in the geoSHELL
  326. ;window, lines 0-11.
  327. buff_0:    .block 81
  328. buff_1:    .block 81
  329. buff_2:    .block 81
  330. buff_3:    .block 81
  331. buff_4:    .block 81
  332. buff_5:    .block 81
  333. buff_6:    .block 81
  334. buff_7:    .block 81
  335. buff_8:    .block 81
  336. buff_9:    .block 81
  337. buff_10:    .block 81
  338. buff_11:    .block 81
  339.     .block 3    ;extra added here to
  340.         ;protect bufmem10.
  341. ;copies of the ten most recent command line strings.
  342. bufmem10:    .block 80
  343. bufmem9:    .block 80
  344. bufmem8:    .block 80
  345. bufmem7:    .block 80
  346. bufmem6:    .block 80
  347. bufmem5:    .block 80
  348. bufmem4:    .block 80
  349. bufmem3:    .block 80
  350. bufmem2:    .block 80
  351. bufmem1:    .block 80
  352. CmdBuffer:    .block 82
  353.     .block 10    ;currently unused.
  354. StUpBuffer:    .block $0600    ;buffer for startup
  355.         ;and exec files.
  356. EnOfStUpBuffer:
  357. EnOfRamsect:
  358. staddress:    .block 2
  359. clickspot:    .block 1
  360. tempy:    .block 1        ;temp storage of y register.
  361.     'ddate' and 'dtype
  362. @THE JUMP TABLE
  363. Here is a list of all the available routines that are easily accessible in geoSHELL through it's jump table. The jump table begins at $1700. These routines are listed in the order as they appear in the jump table. For a complete description of each routine, refer to section 2 of this manual.
  364. $1700    InitgeoSHELL    Start geoSHELL (Initial jump address).
  365. $1703    Only128    Inform the user when a 128 command is being used on a 64 and exit.
  366. $1706    OpenGS    Locate and open geoSHELL to gain access to it's VLIR records
  367. $1709    NoMoreCmds    Exit from just about anything and return complete control back to geoSHELL.
  368. $170c    ResetScreen    Display a fresh geoSHELL screen in the correct mode.
  369. $170f    ClearScreen    Clear the entire screen.
  370. $1712    ClearWindow    Clear the geoSHELL window.
  371. $1715    EraseWindow    Clear only the geoSHELL window.
  372. $1718    Asc_3_Byte    Convert an ascii number (0-255) to a single byte.
  373. $171b    ReDoWindow    Redraw the geoSHELL window and any text that was already contained in it.
  374. $171e    R_Icons    Restore the default geoSHELL icon.
  375. $1721    OpenWrFile    Load a file's VLIR index into memory.
  376. $1724    PushStuff    Save certain zero page locations to a built-in stack.
  377. $1727    PopStuff    Restore certain variables after a call to PushStuff.
  378. $172a    ResetFromPath    Reset a CMD device back from the path partition to the current partition the user is operating in.
  379. $172d    CkForDisk    Check for a disk in any desired drive.
  380. $1730    ParamName    Point r6 and a2 to the filename that the user entered.
  381. $1733    DoRun    Load and run a file.
  382. $1736    IncCmdPointer    Position the command pointer past your command's parameter.
  383. $1739    CkPath    Check to see if a file is on the path partition.
  384. $173c    DriveLetter    Display the drive letter of the active drive and turn the cursor on.
  385. $173f    DispLetter    Display the drive letter of the currently active drive.
  386. $1742    OpenPathPartition    Open the path partition.
  387. $1745    Switch    Switch 40/80 column modes on a 128.
  388. $1748    (reserved)
  389. $174b    ClrKeyData    Eliminate any detected keypresses.
  390. $174e    YesKeypress    Wait for the user to press a key.
  391. $1751    NoKeypress    Wait for the user to release the keyboard.
  392. $1754    nogood    Usually identifies a failure in a routine.
  393. $1757    yesgood    Usually identifies a successful routine
  394. $1751    NoKeypress    Wait for the user to release the keyboard.
  395. $1754    nogood    Usually identifies a failure in a routine.
  396. $1757    yesgood    Usually identifies a successful routine.
  397. $175a    DsplyLine    Display a line of text to the geoSHELL window beginning at the left side of the current line.
  398. $175d    DsplyString    Display a string at the current cursor position.
  399. $1760    CarrReturn    Perform a carriage return.
  400. $1763    set_XY_pos    Load r1H and r11 with the pixel values of the current cursor position.
  401. $1766    save_XY_pos    Save the current values of r1H and r11 into two variables.
  402. $1769    ClearLine    Clear the current line in the geoSHELL window.
  403. $176c    ClearBoth    Clear the current line on the screen and in the memory buffer.
  404. $176f    ClearRemainder    Clear the window below the current cursor position.
  405. $1772    StripRulers    Strip the GeoWrite rulers, escapes and any other unwanted characters from a GeoWrite page loaded into memory.
  406. $1775    AdjTxtPointer    Used with DispText to advance r0 within a text buffer.
  407. $1778    ReDisplayWindow    Clear each line in the geoSHELL window and redisplay the text contained in it from the internal buffers.
  408. $177b    Message    Display an internal geoSHELL message.
  409. $177e    OtherMessage    Display a message.
  410. $1781    GetMessage    Point at one of geoSHELL's built-in messages.
  411. $1784    Asc_Byte    Convert a two digit ascii number to a one byte value.
  412. $1787    ByteWZ_Ascii    Convert a 16 bit number to an ascii representation of the number with no leading zeros.
  413. $178a    ByteNZ_Ascii    Convert a 16 bit number to a 5 digit ascii representation of the number with leading zeros.
  414. $178d    ConvertK    Convert a 16-bit number to an ascii string rounded off to the nearest kilobyte.
  415. $1790    Asc_BCD    Convert a two digit ascii number to one byte in binary coded decimal (BCD) format.
  416. $1793    CkESC_RULER    Used for advancing a pointer past bytes used with ruler escapes in a GeoWrite document.
  417. $1796    DispText    Display ascii text to the geoSHELL window up to a maximum of the width of the window.
  418. $1799    GetMess    Set a pointer t
  419. $1796    DispText    Display ascii text to the geoSHELL window up to a maximum of the width of the window.
  420. $1799    GetMess    Set a pointer to a message.
  421. $179c    execStartup    Execute a string of commands located beginning at StUpBuffer.
  422. $179f    CkPathOrder    Search a path partition for a file, but first check all available ramdisks, then the path partition, and then all remaining drives.
  423. $17a2    FindParName    Search the current drive for a desired file from a parameter the user entered.
  424. $17a5    Wait    Wait for the user to press a key.
  425. $17a8    ExitCommand    Exit a transient command cleanly.
  426. $17ab    unsetPrompt    Turn the blinking cursor off.
  427. $17ae    ColorScreen    Color an area of the 80 column screen.
  428. $17b1    SetBrdrColor    Change the color of the 80 column screen's border.
  429. $17b4    SetThisDevice    A substitute for the GEOS routine 'SetDevice'.
  430. $17b7    SetDrName    Display drive letter, drive type, and disk name.
  431. $17ba    FileNotAvail    Display a 'Filename Not Available!' message and return control to the user.
  432. $17bd    Searching    Display the 'Searching For Filename' message.
  433. $17c0    MissgFilename    Display the message 'Bad Parameter!' without returning.
  434. $17c3    NotFound    Display a 'FILENAME Not Found!" message.
  435. $17c6    Dir    Display the directory of the current drive.
  436. $17c9    CkTerminators    Check if the value is one of the geoSHELL text terminators.
  437. $17cc    CkTermNoSpace    Check if the value is one of the geoSHELL text terminators except for a space.
  438. $17cf    MissDisk    Display the message 'Missing Disk?!'.
  439. $17d2    CkAllDrives    Check all drives for a file.
  440. $17d5    (reserved)
  441. $17d8    CkKeyboard    Check for CONTROL, STOP and other keys and process accordingly.
  442. $17db    CkPresdrive    Check the currently active drive for a file.
  443. $17de    CkThisDrive    Check a drive for a file.
  444. $17e1    PurgeAllTurbos    Purge the turbo code from all the drives that are being used in order to perform low-level DOS routines.
  445. $17e4    CkOtherDrives    Search all drives for a file that have not yet been searched.
  446. $17e7    DateDisplay    Display the current date.
  447. $17ea    Byte_Time    C
  448. $17ea    Byte_Time    Convert the time as contained in directory entries to ascii format. (this routine should not be used)
  449. $17ed    (reserved)
  450. $17f0    FixColors    Restore the default colors to the 40 column screen.
  451. $17f3    MskCtrlCodes    Remove control codes (any non-ASCII characters) from a text buffer.
  452. $17f6    ConvToAscii    Convert PetASCII text to ASCII text.
  453. $17f9    GetHeader    Load the header block of a file into fileHeader.
  454. $17fc    LoadProblem        Display an error message and return control to the user.
  455. $17ff    OpenGSIndex    Load geoSHELL's VLIR index block into fileHeader.
  456. $1802    RdFnKeyDefs    Load the default function key definitions from the current drive.
  457. $1805    Open_GC_Channel    Check the user port via a geoCable for the presence of a printer.
  458. $1808    Send_GC_Byte    Send a byte to a printer via a geoCable connected to the user port.
  459. $180b    SaveToREU    Copies geoSHELL and Input driver info to REU.
  460. $180e    ClrTrnsName    Clear a transient command's name from memory.
  461. $1811    CkDrvLetter    Tests if the accumulator is holding a value from 97 to 100 ('a', 'b', 'c', 'd') and converts it to a device number.
  462. $1814    Status    Display information for each of the connected drives.
  463. $1817    SendCmd    Send a string of bytes to the drive's command channel.
  464. $181a    ReadChannel    Read a drive's error channel.
  465. $181d    SendListen    Get a drive's attention and send it a command.
  466. $1820    SendTalk    Get a drive's attention and send it a command to prepare it for talking.
  467. $1823    FindRamLink    Find a RamLink or RamDrive if one is currently being used.
  468. $1826    GetCMDType    Check if a device is a CMD device and if so, what type.
  469. $1829    FindCMDType    Find the location of a CMD device.
  470. $182c    OpenPartition    Open a partition on a CMD device.
  471. $182f    SetPartParams    Set up some internal variables for the current partition.
  472. $1832    InitCurPartition        Open the currently active partition after changing to a different one.
  473. $1835    OpenCurPartition    Open the currently active partition after changing to a different one.
  474. $1838    CkModeFlag    Test if a file is compatible with the current mode.
  475. $183b    GetRealDriveNum    Get the 'real' device number of a drive.
  476. @-- NOTES --
  477. The geoSHELL Programmer's Development Package    A-PAGE
  478. s    Remove control codes (any non-ASCII characters) f
  479. @-- NOTES --
  480. The geoSHELL Programmer's Development Package    A-PAGE
  481. s    Remove control codes (any non-ASCII characters) from a text buffer.
  482. $17f6    ConvToAscii    Convert PetASCII text to ASC
  483. The geoSHELL Programmer's Development Package    A-PAGE
  484.