home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / Geneve / mdos / 80column_funnelweb / scll.txt < prev    next >
Text File  |  2006-10-19  |  12KB  |  433 lines

  1.  
  2.  
  3. .LM 8;RM 72;CE 3
  4. FUNNELWEB Vn 4.40 LOADERS 
  5. ------------------------- 
  6. .FI
  7.  
  8. The FUNNELWEB system includes
  9. special auxiliary loader files LL,
  10. SL, and User List files UL and ML,
  11. which greatly enhance the normal
  12. E/A module functions.  
  13.  
  14.  
  15. LOW MEMORY LOADER LL 
  16. ~~~~~~~~~~~~~~~~~ ~~ 
  17.  
  18. Some well known utilities for the
  19. TI-99/4a, such as the Editor and
  20. Assembler occupy low memory and use
  21. high memory for extra code, but
  22. mostly as a single large data
  23. storage area.  The only way that TI
  24. provided for users to load such
  25. files in object format was the
  26. Minimem module, and now Low-loader
  27. provides this function for general
  28. use, with automatic recognition by
  29. the FSAVE program (see FWDOC/UTIL). 
  30.  
  31. When LOW-LOADER is selected from
  32. the Load Environment screen, the LL
  33. file is loaded from the boot
  34. disk/directory.  This provides an
  35. alternate set of E/A utilities just
  36. below the FUNNELWEB program in high
  37. memory.  Low memory is now used as
  38. the first block for loading
  39. relocatable object files (only 8K
  40. is available in this block and 17K
  41. in the high block).  All E/A REFs
  42. are recognized, but E/A program
  43. utilities REFed this way will not
  44. be available to program file loads
  45. of FSAVEd versions.  The predefined
  46. REF/DEF table starts at >E200 and
  47. ends at >E138, and new entries
  48. build down from there.  
  49.  
  50. If low memory is used from >2000 up
  51. then the normal E/A (>2002) or XB
  52. XML (>2000) target locations are no
  53. longer available, so LL sets PAD
  54. (>8300) as the XML address for GPL
  55. returns by selecting a >F0 XML in
  56. console GROM.  
  57.  
  58.  
  59. SCRIPT FILE MAKE/LOADER SL 
  60. ~~~~~~~~~~~~~~~~~~~~~~~ ~~ 
  61.  
  62. In Vn 4.40 of FUNNELWEB the
  63. functions of Script-Load have been
  64. extended to include a full
  65. Assembler MAKE facility as well as
  66. multi-file object loader scripting.
  67. SL recognizes a list of up to 15
  68. object files specified in a DV/80
  69. script file.  Just how it handles
  70. this list depends on how the
  71. auxiliary loader file SL is
  72. invoked. 
  73.  
  74. If Script-Load is called as an
  75. loader option as configured in the
  76. Central Menus or in User Lists, or
  77. else manually from the DiskReview
  78. file loader, it will fetch the
  79. nominated Script file, read the
  80. object files to be loaded, and
  81. proceed to load them.  Any set of
  82. relocatable object files loadable
  83. by E/A will load without
  84. restriction.  The normal caveats on
  85. absolute files still apply, but
  86. with an additional restriction that
  87. AORGed code may not be loaded into
  88. PAD or above >FFD7 (only silly
  89. protection schemes ever did this
  90. anyway).  The virtue of the
  91. Scripted load approach is that it
  92. removes the tedium of entering a
  93. whole set of object file names, and
  94. also allows the RUN link-name to be
  95. activated automatically.  
  96.  
  97. When SL is loaded as Option 5
  98. SCRIPTLOADER it will prompt for
  99. entry of a Script file name, but
  100. after this has been entered some
  101. further options are available. The
  102. first query is 
  103.  
  104.      MAKE Assembly ?  N      
  105.  
  106. with N as default for immediate
  107. <enter>.  If the default is chosen
  108. the object load function proceeds
  109. as from external access.  If
  110. however <Y> is pressed before
  111. <enter> the Assembly MAKE is
  112. invoked and a further query asks if
  113. the Loader should be automatically
  114. entered after successful assembly.
  115. The same Script file is used for
  116. both MAKE and LOAD functions.  The
  117. MAKE function is especially
  118. intended to reduce the tedium in
  119. SAVEing program files in complex
  120. assembler or c99 projects.  If an
  121. error occurs during assembly you
  122. are returned to the FUNNELWEB main
  123. menu.  
  124.  
  125. File SCRIPT included as an example
  126. in the FUNNELWEB Vn 4.40 package is
  127. the actual Script file used for
  128. complete re-assembly and program
  129. file preparation for the 80-col
  130. DiskReview.  A full discussion of
  131. the details of Script construction
  132. follows. 
  133.  
  134. A Script file is prepared as a
  135. normal Dis/Var 80 text file with
  136. the Programmer's Editor, or any
  137. other way.  The overall structure
  138. is reminiscent of an assembly
  139. source file, except that there are
  140. no labels.  Your instructions are
  141. carried by directives, which may be
  142. followed on the same line by data
  143. such as file names where
  144. appropriate.  Comment lines in a
  145. Script start with an asterisk in
  146. the first column and blank lines
  147. are ignored.  Comments may also
  148. follow entries except as noted.
  149. This largely follows TI Assembler
  150. conventions.  
  151.  
  152. Details of the MAKE and/or LOAD
  153. process are controlled by these
  154. directives, which are all
  155. pre-defined words of 4 upper-case
  156. characters.  These fall into
  157. several classes, some illustrated
  158. in SCRIPT.  All files specified
  159. must be Dis/Fix 80 object files.
  160. At present no control is provided
  161. in MAKE for LIST device entry or
  162. for assembly options other than the
  163. FUNNELWEB default of RC.  These can
  164. be added if demand is apparent. 
  165.  
  166. (a) File specification 
  167.  
  168. .LM +3;RM -3
  169. FILE "DSKn.xx" .. Followed by a
  170. filename complete with pathname (up
  171. to the maximum length allowed for a
  172. floppy disk name), all in quotes,
  173. single or double, FILE specifies
  174. one of the files to be loaded.  No
  175. spaces are allowed between the
  176. quotes. 
  177.  
  178. BOOT "filename" .. Followed by a
  179. file or child path name without any
  180. load pathname.  This instructs the
  181. ScriptLoader to supply the
  182. FUNNELWEB boot pathname and to
  183. append this file/path name.  If the
  184. Hard Disk path is OFF the drive
  185. number where SL was found is used
  186. as "x" in "DSKx.filename". 
  187.  
  188. UTIL "filename" .. As for BOOT
  189. except that the currently defined
  190. Utility pathname is used. 
  191.  
  192. .LM -3;RM +3
  193. (b) Loader control 
  194.  
  195. .LM +3;RM -3
  196. AUTO ..  If AUTOmatic running is
  197. specified the link name specified
  198. after the LAST directive will be
  199. used to autostart the programs.
  200. The default, with no AUTO or ALLM
  201. directive, stops for editing of the
  202. link name.
  203.  
  204. IAOF ..  I(nternal) A(utostart) OFf
  205. cancels internal autostarting of
  206. object files (like Option 8).
  207.  
  208. LWLD ..  LoWLoaDer sets up the load
  209. conditions as for Low-Loader
  210. (Option 6 of the Loaders screen).
  211. File LL is loaded from the boot
  212. disk after the Script file has been
  213. read but before object file loading
  214. begins.  It should be issued at the
  215. start of a Script and over-rides
  216. ALLM. 
  217.  
  218. LAST .. Indicates the end of the
  219. script to be parsed by SL.  If it
  220. is followed on its line by text,
  221. the first 6 characters will be read
  222. as a link name for RUNning the
  223. programs.  If the end of the script
  224. is reached before a LAST directive
  225. is found, an error is issued.  This
  226. allows a single DV/80 file to do
  227. double duty as a full document file
  228. and a ScriptLoad file.  
  229.  
  230. .LM -3;RM +3
  231.  
  232. (c) Memory Control 
  233. .LM +3;RM -3
  234.  
  235. ALLM .. ALL M(emory) sets the LFHM
  236. memory pointer to the standard E/A
  237. value >FFD7.  Once set it cannot be
  238. revoked.  It also sets AUTO and a
  239. link name must be specified on LAST
  240. or an error will be called.  This
  241. is because the FUNNELWEB object
  242. loader code can no longer be
  243. assumed to be uncorrupted.  Returns
  244. are adjusted to be to the title
  245. screen for this same reason.  
  246.  
  247. .LM -3;RM +3
  248.  
  249. (d) Assembler MAKE directives 
  250. .LM +3;RM -3
  251.  
  252. ASSM ..  Object file names
  253. following this directive are
  254. checked to see if they end with /O
  255. (or ;O for c99 users), in which
  256. case the last character is changed
  257. to S and the name displayed for
  258. passing to the Assembler in its
  259. source file version.  The Assembler
  260. will produce an object file in the
  261. form specified, following the
  262. normal FUNNELWEB convention.  If a
  263. object file name does not end this
  264. way, it will be displayed with a
  265. preceding asterisk but not
  266. re-assembled.  ASSM is the default
  267. condition for the MAKE pass. 
  268.  
  269. STOP ..  Object filenames following
  270. this directive are totally ignored
  271. by MAKE.  ASSM after STOP gets
  272. attention by MAKE again, and these
  273. directives give complete control
  274. over the files to be assembled.
  275. Loader and Memory control
  276. directives are ignored by MAKE, and
  277. the LOAD pass ignores ASSM and
  278. STOP. 
  279.  
  280. .LM -3;RM +3
  281.  
  282. Error handling in the Load process
  283. is now as complete as for the other
  284. object loaders, with additional
  285. features.  When an Undefined
  286. REFerence error occurs, up to 20
  287. undefined REFs are displayed.  Also
  288. <enter> from an error display will
  289. execute a cartridge ROM program if
  290. available - very convenient if you
  291. have DEBUG or SBUG II available
  292. there.
  293.  
  294.  
  295. USER LIST FILES UL 
  296. ~~~~~~~~~~~~~~~ ~~ 
  297.  
  298. User List files are a package of
  299. loader interface and filename data
  300. in a fully position independent
  301. executable program file.  User
  302. lists are configured as part of the
  303. system configuration CF/CG
  304. operation.  Unlike the XB user list
  305. which is part of the LOAD file and
  306. stored along with other data in
  307. SYSCON files, as many user list
  308. files as desired may exist in the
  309. system under different names and
  310. each is configured separately.  One
  311. user list may call others allowing
  312. a tree of choices as large as your
  313. disk system will permit.  Any type
  314. of file may be specified in a User
  315. List, including Script-Load files
  316. which allow object files to be
  317. fully automatic in loading and
  318. running. 
  319.  
  320. The configuration process using
  321. CF/CG allows a filename only to be
  322. specified on the Boot or Utility
  323. paths, or else a a full filename in
  324. form "DSKn.filename" or general
  325. path/file name to that length.  You
  326. may also call for a pause and
  327. reminder before loading.  Normally
  328. entry #8 on the Word Processor side
  329. of the Central Menu is reserved for
  330. a User List file named UL.  This
  331. will be a little "sticky" in that
  332. it will not always need to be
  333. reloaded from disk when reselected.
  334. User List files may be called from
  335. any Central Menu entry, and if so
  336. these should be configured as
  337. "Other" to avoid overwriting the
  338. main UL.  
  339.  
  340. User Lists should be loaded only
  341. from the boot disk path under a
  342. 2- character filename, and if a
  343. load from a UL fails, you should
  344. cancel immediate reload by <esc>
  345. from the central Menu Screen.  
  346.  
  347.  
  348. MULTI LIST FILES ML 
  349. ~~~~~~~~~~~~~~~~ ~~ 
  350.  
  351. FUNNELWEB Vn 4.40 takes advantage
  352. of the new FW program services to
  353. allow an expanded User List
  354. facility in the form of Multi-List
  355. files.  A Multi-List program file
  356. treats a nominated set of User
  357. Lists as data objects.  A ML file
  358. loads the nominated UL type files
  359. and presents their contents in
  360. vertical columns on the screen.
  361. The standard 40-column version
  362. allows 3 User Lists to be displayed
  363. at one time, and the 80-col version
  364. allows up to 6 User Lists to be
  365. displayed at once.  The primary
  366. restriction is that the User Lists
  367. read in as data by any Multi-List
  368. must all be locatable on the
  369. FUNNELWEB boot disk/path.  The
  370. programs called by these User Lists
  371. can be anywhere and can include new
  372. Multi-Lists, or User Lists.  Choice
  373. of the program to be loaded is by
  374. cursor driven selection and <enter>
  375. or <R>un, which then transfers
  376. control to the loader code in the
  377. particular User List to work on its
  378. own data.  
  379.  
  380. If <C>hange is pressed then the 2
  381. letter User List names may be
  382. edited and the new set will then be
  383. loaded.  In the 40-col version
  384. only, pressing <N>ext automatically
  385. swaps the current set of 3 User
  386. Lists for an alternative set of 3.
  387. If a name is blank, that column
  388. will be bypassed, and also if the
  389. nominated UL is not found.  At
  390. present there is no provision for
  391. saving edited data, and this must
  392. be set up with DiskReview's sector
  393. editor.  Call up the first sector
  394. of the Multi-List program for ASCII
  395. editing, and starting at byte >08
  396. (after the 3 word header and the
  397. initial JMP instruction), there are
  398. six 2-character filenames to be
  399. entered.  If you don't have six
  400. candidates, leave the remainder as
  401. spaces.  
  402.  
  403. Either of the 40- or 80-col
  404. Multi-Lists may be called UL and
  405. substituted for the User List of
  406. that name, and any call of a
  407. Multi-List will overwrite the
  408. current Central Menu User List.
  409. Remember then to rename the
  410. existing UL and to edit the load
  411. list in the Multi-List.  Unlike the
  412. User Lists, Multi-List files are
  413. not position independent and always
  414. reside at the system's UL reserved
  415. position at >E9B0 in >218 bytes or
  416. less.  The limited size also
  417. accounts for their fairly spartan
  418. appearance.  Multi-Lists may also
  419. be loaded from any path under any
  420. name, and always cancel automatic
  421. reload on 8 USER LIST when a loader
  422. selection is made.  Calling one
  423. Multi-List as a data object (as
  424. distinct from a program to be
  425. loaded from one of the ULs) from
  426. another will give an obvious
  427. nonsense display in that column.  
  428.  
  429.  
  430.  
  431.  
  432. ÇåÇ⌐åïÉòƒ╒╒╒╒╒╒╒╒╒╒╒Çïáááááááááááááááááááááá
  433.